12012-05-22  Vitaly Buka  <vitalybuka@chromium.org>
2
3        Fix iframe printing.
4        https://bugs.webkit.org/show_bug.cgi?id=85118
5
6        Reviewed by Darin Adler, Eric Seidel.
7
8        Patch fixed two issues by disabling special handling of subframes for printing.
9        1. Regression. Division by zero when forceLayoutForPagination called for subframes
10        and page sizes set to zero.
11        2. Old issue. RendererView adjusted layout of subframes for printing and set invalid
12        dimensions. Sometimes it caused missing iframe when printed.
13
14        Test: printing/iframe-print.html
15
16        * page/Frame.cpp:
17        (WebCore::Frame::setPrinting): Calls forceLayoutForPagination for root frames only.
18        (WebCore::Frame::resizePageRectsKeepingRatio): Added ASSERTs to catch division by zero.
19        * rendering/RenderView.cpp: Replaced printing() with shouldUsePrintingLayout() for most calls.
20        (WebCore::RenderView::computeLogicalHeight):
21        (WebCore::RenderView::computeLogicalWidth):
22        (WebCore::RenderView::layout):
23        (WebCore::RenderView::shouldUsePrintingLayout): Returns true only if printing enabled and it's a root frame.
24        (WebCore::RenderView::viewRect):
25        (WebCore::RenderView::viewHeight):
26        (WebCore::RenderView::viewWidth):
27        * rendering/RenderView.h:
28
292012-05-22  Rafael Brandao  <rafael.lobo@openbossa.org>
30
31        [Qt] canvas/philip/tests/2d.path.stroke.overlap.html fails with Qt-4.6.2 or higher
32        https://bugs.webkit.org/show_bug.cgi?id=40362
33
34        Reviewed by Noam Rosenthal.
35
36        Before drawing the stroke from a certain path, it should make the union of the stroke areas.
37        The previous implementation didn't consider that so the intersection was painted twice.
38        By using QPainterPathStroker, we create a QPainterPath on top of the platform path, and
39        then we fill it with the expected brush. This way we avoid repainting areas.
40
41        * platform/graphics/qt/GraphicsContextQt.cpp:
42        (WebCore::fillPathStroke):
43        (WebCore):
44        (WebCore::GraphicsContext::strokePath):
45
462012-05-21  Gavin Barraclough  <barraclough@apple.com>
47
48        Disable private names by default in WebCore
49        https://bugs.webkit.org/show_bug.cgi?id=87088
50
51        Reviewed by Geoff Garen.
52
53        r117859 introduced a preliminary implementation of ES6-like private name objects to JSC.
54        These are probably not yet ready to be web-facing, so disabling by default in WebCore.
55        Opting-in for JSC & DumpRenderTree so that we can still run the fast/js/names.html test.
56
57        * WebCore.exp.in:
58            - Added export.
59        * bindings/js/JSDOMWindowBase.cpp:
60        (WebCore):
61        (WebCore::JSDOMWindowBase::javaScriptExperimentsEnabled):
62            - Override default from JSC, enable based on corresponding Setting.
63        * bindings/js/JSDOMWindowBase.h:
64        (JSDOMWindowBase):
65            - Added declaration for javaScriptExperimentsEnabled. 
66        * page/Settings.cpp:
67        (WebCore::Settings::Settings):
68        (WebCore::Settings::setJavaScriptExperimentsEnabled):
69        (WebCore):
70        * page/Settings.h:
71        (Settings):
72        (WebCore::Settings::javaScriptExperimentsEnabled):
73            - Added Setting, reflecting WebPreference.
74
752012-05-22  Adam Barth  <abarth@webkit.org>
76
77        !HAVE(ACCESSIBILITY) depends on AccessibilityObject::actionVerb in the Chromium Android build
78        https://bugs.webkit.org/show_bug.cgi?id=87141
79
80        Reviewed by Eric Seidel.
81
82        In the Chromium Android build there is still one remaining dependency
83        on object files in the accessibility directory:
84        AccessibilityObject::actionVerb. I missed this function in my previous
85        patch, but this patch changes it to be an inline stub.
86
87        * accessibility/AccessibilityObject.cpp:
88        (WebCore):
89        * accessibility/AccessibilityObject.h:
90        (WebCore):
91        (WebCore::actionVerb):
92        (WebCore::AccessibilityObject::lineForPosition):
93        (WebCore::AccessibilityObject::updateBackingStore):
94
952012-05-22  Joshua Bell  <jsbell@chromium.org>
96
97        IndexedDB: Support Array-type key paths
98        https://bugs.webkit.org/show_bug.cgi?id=84207
99
100        Reviewed by Tony Chang.
101
102        Implement IDB spec behavior that key paths can be arrays of strings; when 
103        evaluated, these yield arrays of keys, providing compound key support. Also
104        changes exception types to match the spec.
105
106        Test: storage/indexeddb/keypath-arrays.html
107        Test: storage/indexeddb/keypath-basics.html
108
109        * Modules/indexeddb/IDBDatabase.cpp:
110        (WebCore::IDBDatabase::createObjectStore): Look for both string and array in option dict,
111        throw exceptions for forbidden combinations of key generator and key paths.
112        * Modules/indexeddb/IDBObjectStore.cpp:
113        (WebCore::IDBObjectStore::createIndex): Handle special cases (accepted and forbidden).
114        (WebCore):
115        * Modules/indexeddb/IDBObjectStore.h:
116        (IDBObjectStore):
117        (WebCore::IDBObjectStore::createIndex): Overloads to satisfy IDL overloads and optional dicts.
118        * Modules/indexeddb/IDBObjectStore.idl: Add DOMString array overload.
119        * bindings/v8/IDBBindingUtilities.cpp: Implement spec logic for evaluating array key paths.
120        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
121        (WebCore):
122
1232012-05-22  Martin Robinson  <mrobinson@igalia.com>
124
125        [GTK] REGRESSION(r116135): Keys that confirm composition trigger a default action
126        https://bugs.webkit.org/show_bug.cgi?id=86925
127
128        Reviewed by Gustavo Noronha Silva.
129
130        No new tests. Creating tests for GTK+ input methods is quite difficult, as they
131        can differ from machine to machine. It's also hard to simulate composition
132        sequences.
133
134        * platform/gtk/CompositionResults.h: Instead of holding composition results, just
135        keep a flag describing whether or not this event had results.
136        (CompositionResults):
137
1382012-05-22  Abhishek Arya  <inferno@chromium.org>
139
140        Assertion failure (toRenderBox() called on a RenderInline) beneath RenderBlock::blockBeforeWithinSelectionRoot()
141        https://bugs.webkit.org/show_bug.cgi?id=86500
142
143        Reviewed by Ojan Vafai.
144
145        Patch by Dan Bernstein<mitz@apple.com>. I just added the test.
146
147        Test: fast/block/line-layout/selection-highlight-crash.html
148
149        * rendering/RenderBlock.cpp:
150        (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Demoted the object local variable to
151        RenderObject, changed use of parentBox() to parent(), and added toRenderBlock() in two places.
152
1532012-05-22  Rob Buis  <rbuis@rim.com>
154
155        ASSERTs in RenderInline::layout()
156        https://bugs.webkit.org/show_bug.cgi?id=63365
157
158        Reviewed by Nikolas Zimmermann.
159
160        Do not allow creation of renderers for text content children in elements by default.
161        Subclasses like SVGTextElement override this behavior.
162        This also fixes the <a><textPath</a> case because the <a> parent decides to allow <textPath> or not:
163        http://www.w3.org/2003/01/REC-SVG11-20030114-errata#linking-text-environment
164
165        Test: svg/custom/disallowed-text-content-rendering.svg
166
167        * svg/SVGElement.cpp:
168        (WebCore::SVGElement::childShouldCreateRenderer):
169        * svg/SVGElement.h:
170        (SVGElement):
171
1722012-05-22  Takashi Sakamoto  <tasak@google.com>
173
174        Implement DOM_KEY_LOCATION_LEFT and RIGHT of KeyboardEvent's location property
175        https://bugs.webkit.org/show_bug.cgi?id=86694
176
177        As KeyboardEvent for left/right location key, e.g. left-control,
178        right-control, provides DOM_KEY_LOCATION_STANDARD as keyLocation property,
179        modified KeyCodeConversion to make PlatformKeyboardEvent
180        provide virtual keycodes with location information, e.g. VK_LCONTROL or
181        VK_RCONTROL, and modified KeyboardEvent to generate location information
182        from the virtual keycodes, e.g. genrating DOM_KEY_LOCATION_LEFT for
183        VK_LCONTROL. KeyboardEvent also removes location information from
184        the virtual keycodes, e.g. genrating VK_CONTROL for VK_LCONTROL.
185        The location property is defined in the W3C DOM3 specification:
186        http://www.w3.org/TR/DOM-Level-3-Events/#events-keyboardevents
187
188        Reviewed by Alexey Proskuryakov.
189
190        Test: fast/events/keydown-leftright-keys.html
191
192        * dom/KeyboardEvent.cpp:
193        (WebCore::windowsVirtualKeyCodeWithoutLocation):
194        Added a function which removes location information from a given
195        keycode. For example, when VK_LCONTROL is given, returns VK_CONTROL.
196        (WebCore::keyLocationCode):
197        Added a function which provides location information from a given
198        keycode. For example, when VK_LCONTROL is given,
199        returns DOM_KEY_LOCATION_LEFT.
200        (WebCore::KeyboardEvent::KeyboardEvent):
201        Initialized m_keyLocation by using the above keyLocationCode.
202        (WebCore::KeyboardEvent::keyCode):
203        Modified to use the above two functions to initialize keycode property
204        and keylocation property.
205        * platform/chromium/KeyCodeConversionAndroid.cpp:
206        (WebCore::windowsKeyCodeForKeyEvent):
207        * platform/chromium/KeyCodeConversionGtk.cpp:
208        (WebCore::windowsKeyCodeForKeyEvent):
209        * platform/cocoa/KeyEventCocoa.mm:
210        (WebCore::windowsKeyCodeForKeyCode):
211        Modified these keycode conversions to return keycodes with location
212        information, e.g. modified keycode conversions returns VK_LCONTROL
213        for left control.
214
2152012-05-22  Pavel Feldman  <pfeldman@chromium.org>
216
217        Web Inspector: provide content-related actions on the sources panel.
218        https://bugs.webkit.org/show_bug.cgi?id=87144
219
220        Reviewed by Vsevolod Vlasov.
221
222        Now that the authoring focus moved to the Source panel, context menu actions should follow:
223        - refactored context menu actions to be provider-based
224        - edited call sites to add applicable actions.
225
226        * English.lproj/localizedStrings.js:
227        * inspector/front-end/ContextMenu.js:
228        (WebInspector.ContextMenu.prototype.appendApplicableItems):
229        * inspector/front-end/HandlerRegistry.js:
230        (WebInspector.HandlerRegistry.prototype.unregisterHandler):
231        (WebInspector.HandlerRegistry.prototype.appendApplicableItems.doSave):
232        (WebInspector.HandlerRegistry.prototype.appendApplicableItems.save):
233        (WebInspector.HandlerRegistry.prototype.appendApplicableItems):
234        * inspector/front-end/JavaScriptSourceFrame.js:
235        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
236        * inspector/front-end/NavigatorView.js:
237        (WebInspector.NavigatorView.prototype.handleContextMenu):
238        (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
239        * inspector/front-end/NetworkPanel.js:
240        (WebInspector.NetworkPanel):
241        (WebInspector.NetworkPanel.prototype.searchCanceled):
242        (WebInspector.NetworkPanel.prototype.appendApplicableItems.reveal):
243        (WebInspector.NetworkPanel.prototype.appendApplicableItems):
244        * inspector/front-end/ResourceView.js:
245        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
246        (WebInspector.ResourceSourceFrame.prototype.populateTextAreaContextMenu):
247        * inspector/front-end/ResourcesPanel.js:
248        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
249        * inspector/front-end/ScriptsPanel.js:
250        (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
251        * inspector/front-end/SourceFrame.js:
252        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
253        * inspector/front-end/TextViewer.js:
254        (WebInspector.TextViewer.prototype._contextMenu):
255        * inspector/front-end/UIUtils.js:
256        * inspector/front-end/externs.js:
257        * inspector/front-end/inspector.js:
258        (WebInspector._doLoadedDoneWithCapabilities.get if):
259
2602012-05-22  Nico Weber  <thakis@chromium.org>
261
262        Give FileInputType a setFiles() method, let Drag-n-Drop call it.
263        https://bugs.webkit.org/show_bug.cgi?id=87139
264
265        Reviewed by Ojan Vafai.
266
267        filesChosen(), the FileChooserClient callback, used to modify
268        m_fileList directly. Instead, convert the FileChooserClient
269        data to a FileList and pass that to a factored-out setFiles()
270        method. This is in preparation to making the files property
271        writable.
272
273        Pure refactoring, no functionality change.
274
275        * html/FileInputType.cpp:
276        (WebCore::FileInputType::toFileList):
277        (WebCore::FileInputType::setFiles):
278        (WebCore::FileInputType::filesChosen):
279        (WebCore):
280        * html/FileInputType.h:
281        (FileInputType):
282
2832012-05-22  Vsevolod Vlasov  <vsevik@chromium.org>
284
285        Web Inspector: JavaScriptSourceFrame should be based on JavaScriptSource not UISourceCode.
286        https://bugs.webkit.org/show_bug.cgi?id=87135
287
288        Reviewed by Pavel Feldman.
289
290        Renamed _uiSourceCode to _javaScriptSource in JavaScriptSourceFrame.
291        Removed unused uiSourceCode getter from JavaScriptSourceFrame.
292
293        * inspector/front-end/JavaScriptSourceFrame.js:
294        (WebInspector.JavaScriptSourceFrame):
295        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
296        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
297        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
298        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
299        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
300        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
301        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
302        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
303        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
304        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
305        (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
306        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
307        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
308        * inspector/front-end/ScriptsPanel.js:
309        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
310
3112012-05-22  Lu Guanqun  <guanqun.lu@intel.com>
312
313        add OVERRIDE annotations to classes derived from CCAnimationCurve
314        https://bugs.webkit.org/show_bug.cgi?id=87073
315
316        Reviewed by James Robinson.
317
318        No new tests required.
319
320        * platform/graphics/chromium/cc/CCAnimationCurve.h:
321
3222012-05-22  Lu Guanqun  <guanqun.lu@intel.com>
323
324        add OVERRIDE annotations to CCThreadTask
325        https://bugs.webkit.org/show_bug.cgi?id=87074
326
327        Reviewed by James Robinson.
328
329        No new tests required.
330
331        * platform/graphics/chromium/cc/CCThreadTask.h:
332
3332012-05-22  Julien Chaffraix  <jchaffraix@webkit.org>
334
335        Centralize and clean-up table column iteration
336        https://bugs.webkit.org/show_bug.cgi?id=87051
337
338        Reviewed by Eric Seidel.
339
340        Tests: fast/table/caption-between-column-and-column-group.html
341               fast/table/caption-between-column-group-and-column.html
342               fast/table/caption-between-columns.html
343
344        The existing code had duplications between different classes and some
345        of the iterating functions could use a better place. That's what this
346        change solves, along with several renamings.
347
348        * rendering/RenderTableCol.h:
349        (WebCore::RenderTableCol::isTableColumnGroupWithColumnChildren):
350        Renamed isTableColGroup to this to better reflect what it checks.
351        Also added a new function: nextColumn.
352
353        * rendering/FixedTableLayout.cpp:
354        (WebCore::FixedTableLayout::calcWidthArray):
355        Updated after isTableColGroup renaming.
356
357        * rendering/RenderTable.cpp:
358        (WebCore::RenderTable::firstColumn):
359        Added this new function to get the first column (or column group).
360
361        (WebCore::RenderTable::colElement):
362        Cleaned up this function: switched the loop to a 'for' now that the
363        helper functions make it easy. Cleaned up the ordering and the naming.
364
365        * rendering/RenderTable.h:
366        Added firstColumn.
367
368        * rendering/RenderTableCell.cpp:
369        (WebCore::RenderTableCell::styleOrColLogicalWidth):
370        Updated to use nextColumn().
371
372        * rendering/RenderTableCol.cpp:
373        (WebCore::RenderTableCol::nextColumn):
374        Added this new helper function to centralize the code to iterate over columns.
375
3762012-05-22  Hao Zheng  <zhenghao@chromium.org>
377
378        [chromium] Make color of spelling check marker cross-platform.
379        https://bugs.webkit.org/show_bug.cgi?id=87095
380
381        Reviewed by Adam Barth.
382
383        Pixel layout is RGBA on Android, while it is BGRA on other platforms.
384
385        No new tests. To run tests on Android.
386
387        * platform/graphics/skia/GraphicsContextSkia.cpp:
388        (WebCore::GraphicsContext::drawLineForDocumentMarker):
389
3902012-05-22  Dana Jansens  <danakj@chromium.org>
391
392        [chromium] Expand damage from the background-blurred layer to ensure readback is only including pixels below that layer
393        https://bugs.webkit.org/show_bug.cgi?id=86884
394
395        Reviewed by Adrienne Walker.
396
397        Consider layers in back-to-front order A, B, and C, where layer B has
398        a blur background filter applied, and C exactly covers A. When B does
399        its readback to perform its blur, it should include the pixels of A
400        not C. With partial swap, if B is damaged, that damaged area will read
401        pixels from outside of the damage rect. Those pixels should use the
402        contents of A, not C, so we must expand the damage to ensure we redraw
403        all pixels that are going to be included in the blur for the current
404        frame.
405
406        Also, when a layer below B has damage outside the contentBounds of B
407        but within its blur radius, then that damage will be blurred inside B,
408        so expand all damage within B's blurred contentBounds.
409
410        Unit test: CCDamageTrackerTest.verifyDamageForBackgroundBlurredChild
411
412        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
413        (WebCore::expandRectWithFilters):
414        (WebCore::expandDamageRectInsideRectWithFilters):
415        (WebCore::CCDamageTracker::updateDamageTrackingState):
416        (WebCore::CCDamageTracker::extendDamageForRenderSurface):
417
4182012-05-22  Mihnea Ovidenie  <mihnea@adobe.com>
419
420        [CSSRegions] Add region styling support for color property
421        https://bugs.webkit.org/show_bug.cgi?id=85633
422
423        Reviewed by David Hyatt.
424
425        Test: fast/regions/region-style-color.html
426
427        This patch extends the region styling support. In addition to background-color, it adds
428        the possibility of styling color in regions.
429
430        * css/StyleResolver.cpp:
431        (WebCore::StyleResolver::collectMatchingRulesForList):
432        * rendering/RenderFlowThread.cpp:
433        (WebCore::RenderFlowThread::removeFlowChildInfo):
434        (WebCore::RenderFlowThread::addRegionToThread):
435        (WebCore::RenderFlowThread::removeRegionFromThread):
436        (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
437        (WebCore::RenderFlowThread::setRegionRangeForBox):
438        (WebCore):
439        (WebCore::RenderFlowThread::checkRegionsWithStyling):
440        * rendering/RenderFlowThread.h:
441        * rendering/RenderInline.cpp:
442        (WebCore::RenderInline::updateAlwaysCreateLineBoxes):
443        * rendering/RenderObjectChildList.cpp:
444        (WebCore::RenderObjectChildList::removeChildNode):
445        * rendering/RenderRegion.cpp:
446        (WebCore::RenderRegion::paintReplaced):
447        (WebCore::RenderRegion::styleDidChange):
448        (WebCore::RenderRegion::setRegionObjectsRegionStyle):
449        (WebCore::RenderRegion::restoreRegionObjectsOriginalStyle):
450        (WebCore::RenderRegion::computeStyleInRegion):
451        (WebCore):
452        (WebCore::RenderRegion::computeChildrenStyleInRegion):
453        (WebCore::RenderRegion::setObjectStyleInRegion):
454        (WebCore::RenderRegion::clearObjectStyleInRegion):
455        * rendering/RenderRegion.h:
456        (RenderRegion):
457        (ObjectRegionStyleInfo):
458
4592012-05-22  Kentaro Hara  <haraken@chromium.org>
460
461        [V8] Remove GenerateSetDOMException() from CodeGeneratorV8.pm
462        https://bugs.webkit.org/show_bug.cgi?id=87114
463
464        Reviewed by Nate Chapin.
465
466        GenerateSetDOMException() is used by only one place. This patch removes it.
467
468        No tests. No change in behavior.
469
470        * bindings/scripts/CodeGeneratorV8.pm:
471        (GenerateNormalAttrGetter):
472
4732012-05-22  David Grogan  <dgrogan@chromium.org>
474
475        IndexedDB: Fire error when there are problems opening a DB
476        https://bugs.webkit.org/show_bug.cgi?id=85579
477
478        We used to either fire success or get into an infinite loop.
479
480        Reviewed by Tony Chang.
481
482        New unit test in
483        Source/WebKit/chromium/tests/IDBAbortOnCorruptTest.cpp
484
485        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
486        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
487        (WebCore::IDBDatabaseBackendImpl::openInternal):
488        (WebCore::IDBDatabaseBackendImpl::openConnection):
489        * Modules/indexeddb/IDBDatabaseBackendImpl.h:
490        (WebCore::IDBDatabaseBackendImpl::create):
491        (IDBDatabaseBackendImpl):
492        * Modules/indexeddb/IDBFactoryBackendImpl.cpp:
493        (WebCore::IDBFactoryBackendImpl::deleteDatabase):
494        (WebCore::IDBFactoryBackendImpl::openInternal):
495        * Modules/indexeddb/IDBFactoryBackendImpl.h:
496        (IDBFactoryBackendImpl):
497        * Modules/indexeddb/IDBLevelDBBackingStore.h:
498        (IDBLevelDBBackingStore):
499
5002012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>
501
502        Not reviewed.
503
504        Follow-up patch after r117975, as the strict approach fires assertions.
505        CSS generated content can violate the ASSERT(child->isSVGInline() || child->isSVGInlineText()) logic.
506
507        * rendering/svg/RenderSVGText.cpp:
508        (WebCore::RenderSVGText::subtreeChildWasAdded):
509        (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
510
5112012-05-22  Dominic Mazzoni  <dmazzoni@google.com>
512
513        Chromium AX: Crash when menulist adds selected option via document.write
514        https://bugs.webkit.org/show_bug.cgi?id=87028
515
516        Reviewed by Chris Fleizach.
517
518        Test: platform/chromium/accessibility/add-to-menu-list-crashes.html
519
520        * rendering/RenderMenuList.cpp:
521        (WebCore::RenderMenuList::addChild):
522
5232012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>
524
525        Crash in WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap
526        https://bugs.webkit.org/show_bug.cgi?id=86781
527
528        Reviewed by Rob Buis.
529
530        Always invalidate the text positioning element cache if the <text> render subtree mutates.
531        Currently only RenderSVGInlineText renderers are tracked correctly, RenderSVGInline
532        renderers like RenderSVGTSpan didn't cause text positioning element cache mutations
533        so far. Fix that.
534
535        Test: svg/custom/bug86781.html
536
537        * rendering/svg/RenderSVGInline.cpp:
538        (WebCore::RenderSVGInline::removeChild):
539        * rendering/svg/RenderSVGText.cpp:
540        (WebCore::RenderSVGText::subtreeChildWasAdded):
541        (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
542        (WebCore::RenderSVGText::removeChild):
543        * rendering/svg/RenderSVGText.h:
544        (RenderSVGText):
545
5462012-05-22  Pavel Feldman  <pfeldman@chromium.org>
547
548        Web Inspector: make "Go to source" shortcut accessible from all panels.
549        https://bugs.webkit.org/show_bug.cgi?id=87132
550
551        Reviewed by Vsevolod Vlasov.
552
553        * English.lproj/localizedStrings.js:
554        * inspector/front-end/AdvancedSearchController.js:
555        (WebInspector.AdvancedSearchController.prototype.handleShortcut):
556        * inspector/front-end/FilteredItemSelectionDialog.js:
557        (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
558        (WebInspector.OpenResourceDialog.compareFunction):
559        (WebInspector.OpenResourceDialog):
560        (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
561        (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
562        (WebInspector.OpenResourceDialog.prototype.itemsCount):
563        (WebInspector.OpenResourceDialog.prototype.requestItems):
564        (WebInspector.OpenResourceDialog.prototype.selectItem):
565        (WebInspector.OpenResourceDialog.show):
566        * inspector/front-end/ScriptsPanel.js:
567        (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
568        (WebInspector.ScriptsPanel.prototype.showGoToSourceDialog):
569        * inspector/front-end/SearchController.js:
570        (WebInspector.SearchController.prototype.handleShortcut):
571        * inspector/front-end/inspector.js:
572        (WebInspector._registerShortcuts):
573        (WebInspector.documentKeyDown):
574
5752012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
576
577        Web Inspector: HeapSnapshot: speedUp buildAggregates.
578        https://bugs.webkit.org/show_bug.cgi?id=87131
579
580        Engine can't inline getters and use fast-case if the function has for(i in object) loops.
581
582        Reviewed by Yury Semikhatsky.
583
584        No logic changes.
585
586        * inspector/front-end/HeapSnapshot.js:
587        (WebInspector.HeapSnapshotNode.prototype.classIndex):
588        (WebInspector.HeapSnapshot.prototype._buildAggregates):
589        (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
590
5912012-05-22  Nikolas Zimmermann  <nzimmermann@rim.com>
592
593        Crash in WebCore::RenderSVGContainer::paint
594        https://bugs.webkit.org/show_bug.cgi?id=86392
595
596        Reviewed by Rob Buis.
597
598        Modernize the <marker> code, switch to the same design pattern used for handling zero-length subpaths.
599        Decouple the generation of the marker start/mid/end positions from the actual usage of these information.
600        Only generate those marker positions if the underlying Path changes, and never else.
601
602        When figuring out the bounds for a shape, access to current set of RenderSVGResourceMarker start/mid/end resources
603        and ask the marker resources for their bounds using the previously figured out marker positions on the Path.
604        Drawing markers is handled in the same way.
605
606        Remove SVGMarkerLayoutInfo alltogether which stored raw pointers to the RenderSVGResourceMarkers.
607        We assumed that those objects would stay alive from layout() to paint(), but that assumption is wrong.
608
609        Tests: svg/custom/bug86392.html
610               svg/custom/marker-zero-length-linecaps-expected.svg
611               svg/custom/marker-zero-length-linecaps.svg
612
613        * CMakeLists.txt: Remove SVGMarkerLayoutInfo.*.
614        * GNUmakefile.list.am: Ditto.
615        * Target.pri: Ditto.
616        * WebCore.gypi: Ditto.
617        * WebCore.order: Ditto.
618        * WebCore.vcproj/WebCore.vcproj: Ditto.
619        * WebCore.xcodeproj/project.pbxproj: Ditto.
620        * rendering/svg/RenderSVGAllInOne.cpp: Ditto.
621        * rendering/svg/RenderSVGShape.cpp: Handle markers just like the existing zero leng subpath code, which is superior.
622        (WebCore::RenderSVGShape::createShape):
623        (WebCore::RenderSVGShape::layout):
624        (WebCore::RenderSVGShape::shouldGenerateMarkerPositions):
625        (WebCore::RenderSVGShape::paint):
626        (WebCore::markerForType):
627        (WebCore::RenderSVGShape::markerRect):
628        (WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds):
629        (WebCore::RenderSVGShape::drawMarkers):
630        (WebCore::RenderSVGShape::processMarkerPositions):
631        * rendering/svg/RenderSVGShape.h:
632        (RenderSVGShape):
633        * rendering/svg/SVGMarkerData.h:
634        (WebCore::MarkerPosition::MarkerPosition):
635        (MarkerPosition):
636        (WebCore::SVGMarkerData::SVGMarkerData):
637        (WebCore::SVGMarkerData::updateFromPathElement):
638        (WebCore::SVGMarkerData::pathIsDone):
639        (SVGMarkerData):
640        (WebCore::SVGMarkerData::currentAngle):
641        * rendering/svg/SVGMarkerLayoutInfo.cpp: Removed.
642        * rendering/svg/SVGMarkerLayoutInfo.h: Removed.
643        * rendering/svg/SVGResourcesCache.cpp:
644        (WebCore::resourcesCacheFromRenderObject):
645        (WebCore::SVGResourcesCache::cachedResourcesForRenderObject):
646        * rendering/svg/SVGResourcesCache.h:
647        (SVGResourcesCache):
648
6492012-05-22  Alexander Pavlov  <apavlov@chromium.org>
650
651        [Chromium] Implement the ContextMenuItem SubMenu type
652        https://bugs.webkit.org/show_bug.cgi?id=86625
653
654        Reviewed by Pavel Feldman.
655
656        This change is the WebKit part of a two-sided patch that adds subMenuItems to ContextMenuItem
657        and introduces code needed to handle it properly.
658
659        * platform/ContextMenuItem.h:
660        (PlatformMenuItemDescription): Add a Vector for subMenuItems.
661        * platform/PlatformMenuDescription.h:
662        (WebCore): Introduce a meaningful typedef for PlatformMenuDescription in Chromium.
663        * platform/chromium/ContextMenuChromium.cpp:
664        (WebCore::ContextMenu::itemWithAction): Search submenus when looking up a requested action id.
665        (WebCore::ContextMenu::platformDescription): Return a real PlatformMenuDescription rather than 0.
666        * platform/chromium/ContextMenuItemChromium.cpp:
667        (WebCore::ContextMenuItem::ContextMenuItem): Set submenu if one has been passed in.
668        (WebCore::ContextMenuItem::platformSubMenu): Return real subMenuItems instead of an empty PlatformMenuDescription.
669        (WebCore::ContextMenuItem::setSubMenu): Implemented.
670        (WebCore):
671
6722012-05-22  Andrey Kosyakov  <caseq@chromium.org>
673
674        Web Inspector: use canvas to render timeline category strips in overview pane
675        https://bugs.webkit.org/show_bug.cgi?id=87109
676
677        Reviewed by Pavel Feldman.
678
679        - use canvas, not DOM to represent timeline category strips in the default overview mode
680
681        * inspector/front-end/TimelineOverviewPane.js:
682        (WebInspector.TimelineOverviewPane):
683        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview): propagate to TimelineCategoryStrips;
684        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged): force update of category strips;
685        (WebInspector.TimelineOverviewPane.prototype._update):
686        (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
687        (WebInspector.TimelineCategoryStrips):
688        (WebInspector.TimelineCategoryStrips.prototype.update.appendRecord): process one record;
689        (WebInspector.TimelineCategoryStrips.prototype.update): re-draw everything;
690        (WebInspector.TimelineCategoryStrips.prototype.setShowShortEvents):
691        (WebInspector.TimelineCategoryStrips.prototype._renderBar): render single bar;
692        (WebInspector.TimelineVerticalOverview):
693        (WebInspector.TimelineVerticalOverview.prototype._renderBar):
694        * inspector/front-end/TimelinePresentationModel.js:
695        (WebInspector.TimelinePresentationModel.categories):
696        (WebInspector.TimelinePresentationModel.createFillStyle): utility methods to create gradients for category bars;
697        (WebInspector.TimelinePresentationModel.createFillStyleForCategory):
698        (WebInspector.TimelineCategory):
699
7002012-05-22  Pavel Feldman  <pfeldman@chromium.org>
701
702        Web Inspector: [regression] dynamically created script tab is bound to the document resource.
703        https://bugs.webkit.org/show_bug.cgi?id=87119
704
705        Reviewed by Vsevolod Vlasov.
706
707        Test: inspector/debugger/dynamic-script-tag.html
708
709        * inspector/front-end/BreakpointManager.js:
710        (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger.didSetBreakpoint):
711        (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger):
712        * inspector/front-end/DebuggerModel.js:
713        (WebInspector.DebuggerModel.prototype.rawLocationToUILocation):
714        * inspector/front-end/ResourceScriptMapping.js:
715        (WebInspector.ResourceScriptMapping.prototype.addScript):
716        (WebInspector.ResourceScriptMapping.prototype._shouldBindScriptToContentProvider):
717        * inspector/front-end/Script.js:
718        (WebInspector.Script.prototype.rawLocationToUILocation):
719        (WebInspector.Script.Location.prototype.update):
720
7212012-05-22  Vsevolod Vlasov  <vsevik@chromium.org>
722
723        Web Inspector: JavaScript breakpoints disappear when Ctrl+S is pressed for the script without changes.
724        https://bugs.webkit.org/show_bug.cgi?id=87121
725
726        Reviewed by Pavel Feldman.
727
728        JavaScriptSourceFrame and StylesSourceFrame should not commit working copy unless UISourceCode is dirty.
729
730        * inspector/front-end/JavaScriptSourceFrame.js:
731        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
732        * inspector/front-end/StylesPanel.js:
733        (WebInspector.StyleSourceFrame.prototype.commitEditing):
734        * inspector/front-end/UISourceCode.js:
735        (WebInspector.UISourceCode.prototype.commitWorkingCopy):
736
7372012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
738
739        Web Inspector: HeapSnapshot: speed-up calculateRetainedSize functon.
740        https://bugs.webkit.org/show_bug.cgi?id=87124
741
742        I found that in all dominators related functions we use nodeOrdinals.
743        At the moment we divide nodeIndex to nodeFieldCount and this operation too expensive for these simple algorithms.
744
745        Reviewed by Yury Semikhatsky.
746
747        Covered by existing tests.
748
749        * inspector/front-end/HeapSnapshot.js:
750        (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
751        (WebInspector.HeapSnapshot.prototype._init):
752        (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
753        (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
754        (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
755        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
756
7572012-05-22  Yury Semikhatsky  <yurys@chromium.org>
758
759        Web Inspector: annotate InjectedScriptSource.js for closure compiler
760        https://bugs.webkit.org/show_bug.cgi?id=87120
761
762        Reviewed by Pavel Feldman.
763
764        Annotated InjectedScriptSource.js for closure compiler. Replaced call of undefined
765        _isPrimitiveValue function with isPrimitiveValue.
766
767        * inspector/InjectedScriptExterns.js: Added. External APIs used in InjectedScriptSource.js
768        (console.log):
769        (InjectedScriptHost.prototype.storageId):
770        (InjectedScriptHost.prototype.functionDetails):
771        (InjectedScriptHost.prototype.isHTMLAllCollection):
772        (InjectedScriptHost.prototype.internalConstructorName):
773        (InjectedScriptHost.prototype.copyText):
774        (InjectedScriptHost.prototype.clearConsoleMessages):
775        (InjectedScriptHost.prototype.inspectedObject):
776        (InjectedScriptHost.prototype.databaseId):
777        (InjectedScriptHost.prototype.inspect):
778        (InjectedScriptHost.prototype.type):
779        (InjectedScriptHost.prototype.getEventListeners):
780        (JavaScriptCallFrame.prototype.scopeType):
781        * inspector/InjectedScriptSource.js:
782
7832012-05-22  Ian Vollick  <vollick@chromium.org>
784
785        [chromium] Speed up CCLayerTreeHostTestTickAnimationWhileBackgrounded
786        https://bugs.webkit.org/show_bug.cgi?id=86871
787
788        Reviewed by James Robinson.
789
790        With this patch, the background animation timer is lazily created,
791        allowing for different time intervals to be used. In particular, a
792        very short interval for unit tests.
793
794        Unit tests: CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThread
795                    CCLayerTreeHostTestTickAnimationWhileBackgrounded.runMultiThread
796
797        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
798        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
799        (WebCore::CCLayerTreeHostImpl::setBackgroundTickingEnabled):
800        (WebCore):
801        (WebCore::CCLayerTreeHostImpl::setVisible):
802        (WebCore::CCLayerTreeHostImpl::animateLayers):
803        (WebCore::CCLayerTreeHostImpl::lowFrequencyAnimationInterval):
804        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
805        (CCLayerTreeHostImpl):
806        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
807        (WebCore::CCSingleThreadProxy::setVisible):
808
8092012-05-22  Alexander Pavlov  <apavlov@chromium.org>
810
811        Web Inspector: [Styles] Odd synthetic shorthands may appear in the style
812        https://bugs.webkit.org/show_bug.cgi?id=87081
813
814        Reviewed by Vsevolod Vlasov.
815
816        * inspector/front-end/StylesSidebarPane.js:
817        (WebInspector.StylePropertiesSection.prototype.onpopulate):
818
8192012-05-22  Hayato Ito  <hayato@chromium.org>
820
821        Fix crashes when a mouse points a <svg> element in shadow DOM subtree.
822        https://bugs.webkit.org/show_bug.cgi?id=86795
823
824        Reviewed by Nikolas Zimmermann.
825
826        <svg> elements in shadow dom subtree are still not supported.
827        This fixes only crashes.
828
829        Test: fast/dom/shadow/shadow-dom-event-dispatching.html
830
831        * dom/EventDispatcher.cpp:
832        (WebCore::eventTargetRespectingSVGTargetRules):
833        * page/EventHandler.cpp:
834        (WebCore::instanceAssociatedWithShadowTreeElement):
835
8362012-05-22  Andreas Kling  <kling@webkit.org>
837
838        DOM Attr objects pointing to "style" attribute should force reification when read.
839        <http://webkit.org/b/87076>
840
841        Reviewed by Antti Koivisto.
842
843        Make sure that the "style" attribute is reserialized as needed when it gets retrieved
844        through an Attr object. This fixes a bug where updating an element's inline style
845        through the CSSOM API, and then retrieving the style attribute through an Attr node
846        that was previously created by element.getAttributeNode() would return the old style
847        attribute value.
848
849        Test: fast/dom/attr-style-too-lazy.html
850
851        * dom/Attr.cpp:
852        (WebCore::Attr::value):
853
8542012-05-22  Ilya Tikhonovsky  <loislo@chromium.org>
855
856        Web Inspector: HeapProfiler: upstream retainedSize calculation.
857        https://bugs.webkit.org/show_bug.cgi?id=87107
858
859        This patch upstreams V8::HeapSnapshotGenerator::CalculateRetainedSizes function to front-end.
860        After that we will be able to drop retainedSize field from the snapshot serialized data.
861        See meta-bug https://bugs.webkit.org/show_bug.cgi?id=87089
862
863        Reviewed by Yury Semikhatsky.
864
865        * inspector/front-end/HeapSnapshot.js:
866        (WebInspector.HeapSnapshotNode.prototype.get retainedSize):
867        (WebInspector.HeapSnapshot.prototype._init):
868        (WebInspector.HeapSnapshot.prototype._calculateRetainedSizes):
869
8702012-05-22  Emil A Eklund  <eae@chromium.org>
871
872        Change RenderBlock to user RenderBox/RenderInline writing mode logic
873        https://bugs.webkit.org/show_bug.cgi?id=87040
874
875        Reviewed by Eric Seidel.
876
877        Remove unnecessary writing mode logic in RenderBlock and use the
878        implementation in RenderBox and RenderInline instead.
879
880        No new tests, no change in functionality.
881
882        * rendering/RenderBlock.cpp:
883        (WebCore):
884        * rendering/RenderBlock.h:
885        (WebCore::RenderBlock::marginBeforeForChild):
886        (WebCore::RenderBlock::marginAfterForChild):
887        (WebCore::RenderBlock::marginStartForChild):
888        (WebCore::RenderBlock::marginEndForChild):
889        (WebCore::RenderBlock::setMarginStartForChild):
890        (WebCore::RenderBlock::setMarginEndForChild):
891        (WebCore::RenderBlock::setMarginBeforeForChild):
892        (WebCore::RenderBlock::setMarginAfterForChild):
893        * rendering/RenderBox.cpp:
894        (WebCore::RenderBox::marginBefore):
895        (WebCore::RenderBox::marginAfter):
896        (WebCore::RenderBox::marginStart):
897        (WebCore::RenderBox::marginEnd):
898        (WebCore::RenderBox::setMarginStart):
899        (WebCore::RenderBox::setMarginEnd):
900        (WebCore::RenderBox::setMarginBefore):
901        (WebCore::RenderBox::setMarginAfter):
902        * rendering/RenderBox.h:
903        (RenderBox):
904        * rendering/RenderBoxModelObject.h:
905        (RenderBoxModelObject):
906        * rendering/RenderInline.cpp:
907        (WebCore::RenderInline::marginStart):
908        (WebCore::RenderInline::marginEnd):
909        (WebCore::RenderInline::marginBefore):
910        (WebCore::RenderInline::marginAfter):
911        * rendering/RenderInline.h:
912        (RenderInline):
913
9142012-05-22  Li Yin  <li.yin@intel.com>
915
916        [WebSocket] WebSocket object should fire a simple event named error when it is required to fail the websocket connection.
917        https://bugs.webkit.org/show_bug.cgi?id=86958
918
919        Reviewed by Kent Tamura.
920
921        Spec:http://dev.w3.org/html5/websockets/#feedback-from-the-protocol
922        If the user agent was required to fail the websocket connection or the 
923        WebSocket connection is closed with prejudice, fire a simple event 
924        named error at the WebSocket object.
925
926        Tests: http/tests/websocket/tests/hybi/close.html
927
928        * Modules/websockets/WebSocket.cpp:
929        (WebCore::WebSocket::didReceiveMessageError):
930        * Modules/websockets/WebSocketChannel.cpp:
931        (WebCore::WebSocketChannel::fail):
932
9332012-05-22  Yury Semikhatsky  <yurys@chromium.org>
934
935        Web Inspector: allow showing selected object in another heap profiler view
936        https://bugs.webkit.org/show_bug.cgi?id=87098
937
938        Reviewed by Vsevolod Vlasov.
939
940        Added 2 context menu actions: 1) to jump from a node in the heap snapshot summary
941        view to the same node in the dominators view; 2) to jump from a node in the dominators
942        view to the same node in the summary view.
943
944        * inspector/front-end/HeapSnapshotDataGrids.js:
945        (WebInspector.HeapSnapshotSortableDataGrid): "sorting complete" event is only dispatched on
946        when the data grid is populated. If we switch to already populated data grid the event is not
947        dispatched. However when switching between different views of a heap snapshot we want to track
948        the moment when the data grid is shown and populated. I added
949        WebInspector.HeapSnapshotSortableDataGrid.Events.ContentShown for such cases. The event will always
950        be dispatched after the data grid is shown and its content is populated.
951        (WebInspector.HeapSnapshotSortableDataGrid.prototype.wasShown):
952        (WebInspector.HeapSnapshotSortableDataGrid.prototype._sortingComplete):
953        (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.revealInDominatorsView):
954        (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu.else.revealInSummaryView):
955        (WebInspector.HeapSnapshotSortableDataGrid.prototype.populateContextMenu):
956        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
957        * inspector/front-end/HeapSnapshotGridNodes.js:
958        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
959        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
960        * inspector/front-end/HeapSnapshotView.js:
961        (WebInspector.HeapSnapshotView.prototype.populateContextMenu):
962        (WebInspector.HeapSnapshotView.prototype.changeView.dataGridContentShown):
963        (WebInspector.HeapSnapshotView.prototype.changeView):
964        (WebInspector.HeapSnapshotView.prototype._onSelectedViewChanged):
965        (WebInspector.HeapSnapshotView.prototype._changeView):
966        * inspector/front-end/ProfilesPanel.js:
967        (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
968
9692012-05-22  Yury Semikhatsky  <yurys@chromium.org>
970
971        Web Inspector: show more button node should have height multiple of row height
972        https://bugs.webkit.org/show_bug.cgi?id=87104
973
974        Reviewed by Vsevolod Vlasov.
975
976        Made "show more" button height multiple of the data grid row height.
977
978        * inspector/front-end/ShowMoreDataGridNode.js:
979        (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):
980        * inspector/front-end/dataGrid.css:
981        (.data-grid button):
982
9832012-05-22  Kentaro Hara  <haraken@chromium.org>
984
985        [V8] Add an optional 'isolate' argument to throwTypeError()
986        https://bugs.webkit.org/show_bug.cgi?id=87070
987
988        Reviewed by Adam Barth.
989
990        The objective is to pass Isolate around in V8 bindings.
991        This patch adds an optional 'isolate' argument to throwTypeError(),
992        and passes Isolate to throwTypeError()s. In a following patch,
993        I'll pass Isolate to all throwTypeError("message")s.
994
995        No tests. No change in behavior.
996
997        * bindings/scripts/CodeGeneratorV8.pm:
998        (GenerateNormalAttrSetter):
999        (GenerateOverloadedFunctionCallback):
1000        (GenerateParametersCheck):
1001        * bindings/scripts/test/V8/V8TestObj.cpp:
1002        (WebCore::TestObjV8Internal::overloadedMethodCallback):
1003        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
1004        * bindings/v8/V8Proxy.cpp:
1005        (WebCore::V8Proxy::throwTypeError):
1006        * bindings/v8/V8Proxy.h:
1007        (V8Proxy):
1008        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1009        (WebCore::constructWebGLArray):
1010        * bindings/v8/custom/V8DataViewCustom.cpp:
1011        (WebCore::V8DataView::constructorCallback):
1012        * bindings/v8/custom/V8SVGLengthCustom.cpp:
1013        (WebCore::V8SVGLength::valueAccessorSetter):
1014        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1015        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1016        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1017        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1018        (WebCore::V8WebGLRenderingContext::getUniformCallback):
1019        (WebCore::vertexAttribAndUniformHelperf):
1020        (WebCore::uniformHelperi):
1021        (WebCore::uniformMatrixHelper):
1022
10232012-05-22  Yoshifumi Inoue  <yosin@chromium.org>
1024
1025        [Forms][Meter][Progress] Change function signature of parseToDoubleForNumberType
1026        https://bugs.webkit.org/show_bug.cgi?id=87077
1027
1028        Reviewed by Hajime Morita.
1029
1030        This patch changes function signature of parseToDoubleForNumberType and
1031        parseToDoubleForNumberTypeWithDecimalPlaces to return double value instead
1032        of bool for reducing code in call sites for ease of maintenance. This patch
1033        also allows to use functional style of using these functions.
1034
1035        No new tests. This patch doesn't change behavior.
1036
1037        * html/HTMLMeterElement.cpp:
1038        (WebCore::HTMLMeterElement::min): Changed for using double return value.
1039        (WebCore::HTMLMeterElement::max): Changed for using double return value.
1040        (WebCore::HTMLMeterElement::value): Changed for using double return value.
1041        (WebCore::HTMLMeterElement::low): Changed for using double return value.
1042        (WebCore::HTMLMeterElement::high): Changed for using double return value.
1043        (WebCore::HTMLMeterElement::optimum): Changed for using double return value.
1044        * html/HTMLProgressElement.cpp:
1045        (WebCore::HTMLProgressElement::value): Changed for using double return value.
1046        (WebCore::HTMLProgressElement::max): Changed for using double return value.
1047        * html/NumberInputType.cpp:
1048        (WebCore::NumberInputType::typeMismatchFor): Changed for using double return value.
1049        (WebCore::NumberInputType::sizeShouldIncludeDecoration): Changed for using double return value.
1050        (WebCore::NumberInputType::parseToDouble): Changed for using double return value.
1051        (WebCore::NumberInputType::parseToDoubleWithDecimalPlaces): Changed for using double return value.
1052        (WebCore::NumberInputType::visibleValue): Changed for using double return value.
1053        (WebCore::NumberInputType::sanitizeValue): Changed for using double return value.
1054        * html/RangeInputType.cpp:
1055        (WebCore::RangeInputType::parseToDouble): Changed for using double return value.
1056        * html/StepRange.cpp:
1057        (WebCore::StepRange::parseStep): Changed for using double return value.
1058        * html/StepRange.h:
1059        (WebCore::StepRange::defaultValue): Added "const" attribute
1060        (WebCore::StepRange::proportionFromValue): Added "const" attribute
1061        (WebCore::StepRange::valueFromProportion): Added "const" attribute
1062        * html/parser/HTMLParserIdioms.cpp:
1063        (WebCore::parseToDoubleForNumberType): Changed for using double return value. Added one parameter function.
1064        (WebCore::parseToDoubleForNumberTypeWithDecimalPlaces): Changed for using double return value. Added function for providing default fallback value.
1065        * html/parser/HTMLParserIdioms.h: Changed function prototype and added one parameter prototypes.
1066        * html/shadow/SliderThumbElement.cpp:
1067        (WebCore::sliderPosition): Changed for using double return value.
1068
10692012-05-22  Kentaro Hara  <haraken@chromium.org>
1070
1071        REGRESSION r110315: Event handler throws TypeError for an input element with name="arguments"
1072        https://bugs.webkit.org/show_bug.cgi?id=86991
1073
1074        Reviewed by Ojan Vafai.
1075
1076        Original Chromium bug: http://code.google.com/p/chromium/issues/detail?id=128723
1077
1078        Consider the following html:
1079
1080        <html><body><form>
1081        <input type="hidden" name="arguments"></input>
1082        <div onclick="onclicked()" id="divInsideForm">Click here</div>
1083        </form></body>
1084        <script>
1085        function onclicked() {
1086          alert("onclicked");
1087        }
1088        </script>
1089        </html>
1090
1091        If we click "Click here", JavaScript throws "Uncaught TypeError: undefined has no properties".
1092
1093        This is a regression caused by r110315. V8LazyEventListener should not use
1094        'arguments' to retrieve the execution contexts, since 'arguments' can be
1095        shadowed by JavaScript.
1096
1097        This patch changes V8LazyEventListener so that it retrieves contexts
1098        by this[2], this[1] and this[0].
1099
1100        Test: fast/forms/form-input-named-arguments.html
1101
1102        * bindings/v8/V8LazyEventListener.cpp:
1103        (WebCore::V8LazyEventListener::prepareListenerObject):
1104
11052012-05-22  Kentaro Hara  <haraken@chromium.org>
1106
1107        [V8] setDOMException() should return v8::Handle<v8::Value>()
1108        https://bugs.webkit.org/show_bug.cgi?id=87083
1109
1110        Reviewed by Adam Barth.
1111
1112        The following patterns are used here and there in V8 bindings:
1113
1114            setDOMException();
1115            return v8::Handle<v8::Value>();
1116
1117        and
1118
1119            setDOMException();
1120            return v8::Undefined();
1121
1122        By returning v8::Handle<v8::Value>() from setDOMException(), we can simplify the above patterns into this:
1123
1124            return setDOMException();
1125
1126        This patch just replaces the code in CodeGeneratorV8.pm. I'll replace
1127        all other custom bindings in a follow-up patch.
1128
1129        No tests. No change in behavior.
1130
1131        * bindings/scripts/CodeGeneratorV8.pm:
1132        (GenerateSetDOMException):
1133        (GenerateFunctionCallback):
1134        (GenerateFunctionCallString):
1135        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1136        (WebCore::TestEventTargetV8Internal::itemCallback):
1137        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
1138        * bindings/scripts/test/V8/V8TestInterface.cpp:
1139        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
1140        * bindings/scripts/test/V8/V8TestObj.cpp:
1141        (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
1142        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
1143        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
1144        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
1145        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
1146        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
1147        (WebCore::TestObjV8Internal::methodWithExceptionCallback):
1148        (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
1149        (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
1150        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
1151        (WebCore::TestObjV8Internal::getSVGDocumentCallback):
1152        (WebCore::TestObjV8Internal::strictFunctionCallback):
1153        * bindings/v8/V8Proxy.cpp:
1154        (WebCore::V8Proxy::setDOMException):
1155        * bindings/v8/V8Proxy.h:
1156        (V8Proxy):
1157
11582012-05-22  MORITA Hajime  <morrita@google.com>
1159
1160        Unreviewed expectations update against r117989.
1161
1162        * bindings/scripts/test/V8/V8Float64Array.cpp:
1163        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
1164        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
1165        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
1166        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
1167        * bindings/scripts/test/V8/V8TestException.cpp:
1168        * bindings/scripts/test/V8/V8TestInterface.cpp:
1169        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
1170        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
1171        * bindings/scripts/test/V8/V8TestNode.cpp:
1172        * bindings/scripts/test/V8/V8TestObj.cpp:
1173        (WebCore::V8TestObj::installPerContextProperties):
1174        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
1175
11762012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>
1177
1178        Web Inspector: migrate dominatorIndex code to the front-end calculated dominatorsTree.
1179        https://bugs.webkit.org/show_bug.cgi?id=87024
1180
1181        Reviewed by Yury Semikhatsky.
1182
1183        * inspector/front-end/HeapSnapshot.js:
1184        (WebInspector.HeapSnapshotNode.prototype.get dominatorIndex):
1185        (WebInspector.HeapSnapshot.prototype._init):
1186
11872012-05-22  Kentaro Hara  <haraken@chromium.org>
1188
1189        [V8] Replace 'throwError(); return Undefined();' with 'return throwError()'
1190        https://bugs.webkit.org/show_bug.cgi?id=87079
1191
1192        Reviewed by Adam Barth.
1193
1194        This patch replaces
1195
1196            throwError();
1197            return v8::Undefined();
1198
1199        with
1200
1201            return throwError();
1202
1203        No tests. No change in behavior.
1204
1205        * bindings/v8/DateExtension.cpp:
1206        (WebCore::DateExtension::OnSleepDetected):
1207        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
1208        (WebCore::V8HTMLDocument::openCallback):
1209        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
1210        (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
1211        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
1212        (WebCore::V8SQLResultSetRowList::itemCallback):
1213        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1214        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1215        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1216        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1217        (WebCore::V8WebGLRenderingContext::getUniformCallback):
1218        (WebCore::vertexAttribAndUniformHelperf):
1219        (WebCore::uniformHelperi):
1220        (WebCore::uniformMatrixHelper):
1221
12222012-05-22  Kenneth Russell  <kbr@google.com>
1223
1224        Must set/reset pixel unpack alignment to 1 during texSubImage2D
1225        https://bugs.webkit.org/show_bug.cgi?id=86877
1226
1227        Reviewed by James Robinson.
1228
1229        Set pixel unpack alignment to 1 during upload, resetting afterward.
1230
1231        Tests: fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html
1232               fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
1233               fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
1234               fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html
1235               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html
1236               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html
1237               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html
1238               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html
1239               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html
1240               fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html
1241
1242        * html/canvas/WebGLRenderingContext.cpp:
1243        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
1244        (WebCore::WebGLRenderingContext::texSubImage2D):
1245            Set pixel unpack alignment to 1 during upload; reset afterward.
1246
12472012-05-21  Sam D  <dsam2912@gmail.com>
1248
1249        Web Inspector: "Deactivate All Breakpoints" should visually get reflected in Breakpoints pane.
1250        https://bugs.webkit.org/show_bug.cgi?id=86844
1251
1252        Reviewed by Pavel Feldman.
1253
1254        Added an option for activate/deactivate breakpoints into Breakpoints
1255        pane section. Style properties has been attached with
1256        breakpoint list to reflect active state of breakpoints.
1257
1258        No new tests. UI Change.
1259
1260        * English.lproj/localizedStrings.js:
1261        * inspector/front-end/BreakpointsSidebarPane.js:
1262        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
1263        * inspector/front-end/ScriptsPanel.js:
1264        (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
1265        * inspector/front-end/inspector.css:
1266        (.breakpoints-list-deactivated):
1267
12682012-05-21  Alexis Menard  <alexis.menard@openbossa.org>
1269
1270        Web Inspector: Remove some dead code in CSSStyleModel.js.
1271        https://bugs.webkit.org/show_bug.cgi?id=87048
1272
1273        Reviewed by Pavel Feldman.
1274
1275        Remove dead and unused code in CSSStyleModel.js.
1276
1277        No new tests : the code is supposedly dead so we should not have
1278        any regressions.
1279
1280        * inspector/front-end/CSSStyleModel.js:
1281
12822012-05-21  Adam Barth  <abarth@webkit.org>
1283
1284        !HAVE(ACCESSIBILITY) should be able to build without linking in any code from WebCore/accessibility
1285        https://bugs.webkit.org/show_bug.cgi?id=87035
1286
1287        Reviewed by Chris Fleizach.
1288
1289        The OS(ANDROID) already builds with !HAVE(ACCESSIBILITY), but because
1290        there are a few straggling references to objects in the
1291        WebCore/accessibility directory, we end up pulling in a bunch of code
1292        into the binary that we don't need.
1293
1294        This patch stubs out a few more functions for !HAVE(ACCESSIBILITY) so
1295        we can link without any objects from WebCore/accessibility. This patch
1296        also locks in that property by actually excluding the
1297        WebCore/accessibility directory from the build on OS(ANDROID).
1298
1299        * WebCore.gyp/WebCore.gyp:
1300        * accessibility/AXObjectCache.h:
1301        (AXObjectCache):
1302        (WebCore::AXObjectCache::enableAccessibility):
1303        (WebCore::AXObjectCache::setEnhancedUserInterfaceAccessibility):
1304        (WebCore::AXObjectCache::accessibilityEnabled):
1305        (WebCore::AXObjectCache::accessibilityEnhancedUserInterfaceEnabled):
1306        (WebCore::AXObjectCache::AXObjectCache):
1307        (WebCore::AXObjectCache::~AXObjectCache):
1308        (WebCore::AXObjectCache::get):
1309        (WebCore::AXObjectCache::getOrCreate):
1310        (WebCore::AXObjectCache::rootObject):
1311        (WebCore::AXObjectCache::rootObjectForFrame):
1312        (WebCore::AXObjectCache::rootAXEditableElement):
1313        (WebCore::AXObjectCache::childrenChanged):
1314        (WebCore::AXObjectCache::contentChanged):
1315        (WebCore::AXObjectCache::detachWrapper):
1316        (WebCore::AXObjectCache::handleActiveDescendantChanged):
1317        (WebCore::AXObjectCache::handleAriaRoleChanged):
1318        (WebCore::AXObjectCache::handleFocusedUIElementChanged):
1319        (WebCore::AXObjectCache::handleScrolledToAnchor):
1320        (WebCore::AXObjectCache::nodeTextChangeNotification):
1321        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
1322        (WebCore::AXObjectCache::postNotification):
1323        (WebCore::AXObjectCache::postPlatformNotification):
1324        (WebCore::AXObjectCache::remove):
1325        (WebCore::AXObjectCache::selectedChildrenChanged):
1326        * accessibility/AccessibilityObject.h:
1327        (WebCore):
1328        (WebCore::AccessibilityObject::updateBackingStore):
1329        (WebCore::AccessibilityObject::lineForPosition):
1330        (WebCore::AccessibilityObject::children):
1331
13322012-05-21  Andreas Kling  <kling@webkit.org>
1333
1334        Use stack-allocated BitArray in StylePropertySet serialization.
1335        <http://webkit.org/b/87071>
1336
1337        Reviewed by Anders Carlsson.
1338
1339        Use BitArray instead of BitVector to track seen properties in StylePropertySet::asText().
1340        This removes two heap allocations from this path.
1341
1342        * css/StylePropertySet.cpp:
1343        (WebCore::StylePropertySet::asText):
1344
13452012-05-21  Hajime Morrita  <morrita@chromium.org>
1346
1347        Unreviewed Qt build fix against r117898.
1348
1349        * Target.pri:
1350
13512012-05-21  Hajime Morrita  <morrita@chromium.org>
1352
1353        [V8] Shadow DOM should be per-window-configurable.
1354        https://bugs.webkit.org/show_bug.cgi?id=86555
1355
1356        Reviewed by Kentaro Hara.
1357
1358        This change introduces an IDL attribute named "V8EnabledAtContext"
1359        which allows DOMWindow properties to be turned on or off per
1360        windows basis. RuntimeEnabledFeatures::xxxAllowed() method decides the availability.
1361
1362        - CodeGeneratorV8.pm now accepts V8EnabledAtContext and allows such properties
1363          to be configured per-Object basis, instead of per-ObjectTemplate basis.
1364          The script generates V8Window::installPerContextProperties(), which injects such
1365          per-object-turnable properties to newly created DOMWindow wrapper.
1366        - Added RuntimeEnabledFeatures::shadowDOMAllowed(DOMWindow*) which is used to
1367          decide the shadow dom availability of Shadow DOM feature.
1368          It delegates the call to FrameLoaderClient::shadowDOMAllowed() to make the decision.
1369        - The new IDL attribute is applied to DOMWindow.WebKitShadowRoot.
1370        - Updated existing shadowDOMEnabled() call sites with shadowDOMAllowed().
1371
1372        No new tests except run-bindings-test. This isn't testable from
1373        DRT and this change itself doesn't chagne the behaviour.  It needs
1374        a client implementation.
1375
1376        * CMakeLists.txt:
1377        * GNUmakefile.list.am:
1378        * Target.pri:
1379        * WebCore.gypi:
1380        * WebCore.vcproj/WebCore.vcproj:
1381        * WebCore.xcodeproj/project.pbxproj:
1382        * bindings/generic/ContextEnabledFeatures.cpp: Added.
1383        (WebCore):
1384        (WebCore::ContextEnabledFeatures::shadowDOMEnabled):
1385        * bindings/generic/ContextEnabledFeatures.h: Added.
1386        (WebCore):
1387        (ContextEnabledFeatures):
1388        * bindings/scripts/CodeGeneratorV8.pm:
1389        (GenerateHeader):
1390        (GenerateImplementation):
1391        (GetContextEnableFunction):
1392        * bindings/scripts/IDLAttributes.txt:
1393        * bindings/scripts/test/TestObj.idl:
1394        * bindings/scripts/test/V8/V8TestObj.cpp:
1395        (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrGetter):
1396        (TestObjV8Internal):
1397        (WebCore::TestObjV8Internal::enabledAtContextAttr1AttrSetter):
1398        (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrGetter):
1399        (WebCore::TestObjV8Internal::enabledAtContextAttr2AttrSetter):
1400        (WebCore::V8TestObj::installPerContextProperties):
1401        * bindings/scripts/test/V8/V8TestObj.h:
1402        (V8TestObj):
1403        * bindings/v8/V8DOMWindowShell.cpp:
1404        (WebCore::V8DOMWindowShell::installDOMWindow): Adopted installPerContextProperties()
1405        * bindings/v8/V8Proxy.h:
1406        (WebCore):
1407        (WebCore::configureAttribute): Generalized to accept both ObjectTemplate and Object.
1408        * dom/Position.cpp: Adopted ContextEnabledFeatures
1409        (WebCore::Position::Position):
1410        (WebCore::Position::findParent):
1411        * dom/ShadowRoot.idl:
1412        * dom/TreeScope.cpp:
1413        (WebCore::TreeScope::getSelection):
1414        * html/shadow/HTMLContentElement.cpp: Adopted ContextEnabledFeatures
1415        (WebCore::contentTagName):
1416        (WebCore::HTMLContentElement::create):
1417        * loader/FrameLoaderClient.h:
1418        (FrameLoaderClient):
1419        (WebCore::FrameLoaderClient::shadowDOMAllowed): Added with a default behavior.
1420        * page/DOMWindow.cpp:
1421        * page/DOMWindow.idl:
1422
1423
14242012-05-21  Tony Chang  <tony@chromium.org>
1425
1426        auto margins on flexbox should allocate space in the flex direction
1427        https://bugs.webkit.org/show_bug.cgi?id=83086
1428
1429        Reviewed by Ojan Vafai.
1430
1431        Test: css3/flexbox/flex-flow-auto-margins.html
1432
1433        * rendering/RenderFlexibleBox.cpp:
1434        (WebCore::RenderFlexibleBox::autoMarginOffsetInMainAxis):
1435        (WebCore):
1436        (WebCore::RenderFlexibleBox::updateAutoMarginsInMainAxis):
1437        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Update the margins on the RenderBox *after* we do the final child layout.
1438        * rendering/RenderFlexibleBox.h:
1439
14402012-05-21  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
1441
1442        [EFL] Add inital mediaControlsEflfullscreen.css for fullscreen control UI
1443        https://bugs.webkit.org/show_bug.cgi?id=86988
1444
1445        Reviewed by Eric Carlson.
1446
1447        In order to support fullscreen feature, EFL port needs to have new css file for fullscreen media control UI.
1448
1449        No new tests because this patch is covered by existing tests.
1450
1451        * PlatformEfl.cmake:
1452        * css/mediaControlsEflFullscreen.css: Added.
1453        (video::-webkit-media-controls-panel):
1454        (video:-webkit-full-page-media::-webkit-media-controls-panel):
1455        (video::-webkit-media-controls-mute-button):
1456        (video::-webkit-media-controls-play-button):
1457        (video::-webkit-media-controls-timeline-container):
1458        (video::-webkit-media-controls-current-time-display):
1459        (video::-webkit-media-controls-time-remaining-display):
1460        (video::-webkit-media-controls-timeline):
1461        (video::-webkit-media-controls-volume-slider-container):
1462        (video::-webkit-media-controls-volume-slider):
1463        (video::-webkit-media-controls-seek-back-button):
1464        (video::-webkit-media-controls-seek-forward-button):
1465        (video::-webkit-media-controls-fullscreen-button):
1466        (video::-webkit-media-controls-rewind-button):
1467        (video::-webkit-media-controls-return-to-realtime-button):
1468        (video::-webkit-media-controls-toggle-closed-captions-button):
1469        * platform/efl/RenderThemeEfl.cpp:
1470        (WebCore):
1471        (WebCore::RenderThemeEfl::extraFullScreenStyleSheet):
1472        * platform/efl/RenderThemeEfl.h:
1473        (RenderThemeEfl):
1474
14752012-05-21  Kentaro Hara  <haraken@chromium.org>
1476
1477        [V8] Remove V8Proxy::notHandledByInterceptor()
1478        https://bugs.webkit.org/show_bug.cgi?id=86831
1479
1480        Reviewed by Adam Barth.
1481
1482        This patch replaces 'return V8Proxy::notHandledByInterceptor()'
1483        with 'return v8::Handle<v8::Value>()'. See the discussion in
1484        https://bugs.webkit.org/show_bug.cgi?id=85330 for more details.
1485
1486        No tests. No change in behavior.
1487
1488        * bindings/scripts/CodeGeneratorV8.pm:
1489        (GenerateOverloadedFunctionCallback):
1490        (GenerateParametersCheck):
1491        * bindings/scripts/test/V8/V8TestObj.cpp:
1492        (WebCore::TestObjV8Internal::overloadedMethodCallback):
1493        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
1494        * bindings/v8/V8Collection.h:
1495        (WebCore::collectionNamedPropertyGetter):
1496        * bindings/v8/V8DOMWrapper.cpp:
1497        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
1498        * bindings/v8/V8NPObject.cpp:
1499        (WebCore::npObjectSetProperty):
1500        * bindings/v8/V8Proxy.cpp:
1501        (WebCore::V8Proxy::runScript):
1502        (WebCore::V8Proxy::throwError):
1503        * bindings/v8/V8Proxy.h:
1504        (WebCore):
1505        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
1506        (WebCore::constructWebGLArrayWithArrayBufferArgument):
1507        (WebCore::setWebGLArrayHelper):
1508        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
1509        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
1510        (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
1511        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
1512        (WebCore::V8DOMStringMap::namedPropertyGetter):
1513        * bindings/v8/custom/V8DOMWindowCustom.cpp:
1514        (WebCore::V8DOMWindow::indexedPropertyGetter):
1515        (WebCore::V8DOMWindow::namedPropertyGetter):
1516        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
1517        (WebCore::V8HTMLAllCollection::namedPropertyGetter):
1518        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
1519        (WebCore::V8HTMLCollection::namedPropertyGetter):
1520        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
1521        (WebCore::V8HTMLFormElement::indexedPropertyGetter):
1522        (WebCore::V8HTMLFormElement::namedPropertyGetter):
1523        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
1524        (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
1525        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
1526        (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
1527        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
1528        (WebCore::npObjectNamedGetter):
1529        (WebCore::npObjectNamedSetter):
1530        (WebCore::npObjectIndexedGetter):
1531        (WebCore::npObjectIndexedSetter):
1532        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
1533        (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
1534        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
1535        (WebCore::V8NamedNodeMap::indexedPropertyGetter):
1536        (WebCore::V8NamedNodeMap::namedPropertyGetter):
1537        * bindings/v8/custom/V8NodeListCustom.cpp:
1538        (WebCore::V8NodeList::namedPropertyGetter):
1539        * bindings/v8/custom/V8StorageCustom.cpp:
1540        (WebCore::storageGetter):
1541        (WebCore::V8Storage::namedPropertyGetter):
1542        (WebCore::storageSetter):
1543        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
1544        (WebCore::V8StyleSheetList::namedPropertyGetter):
1545        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
1546        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
1547        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
1548        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
1549        (WebCore::V8WebGLRenderingContext::getUniformCallback):
1550        (WebCore::vertexAttribAndUniformHelperf):
1551        (WebCore::uniformHelperi):
1552        (WebCore::uniformMatrixHelper):
1553
15542012-05-21  Rob Buis  <rbuis@rim.com>
1555
1556        Shrink FontDescription object size
1557        https://bugs.webkit.org/show_bug.cgi?id=86950
1558
1559        Reviewed by Alexey Proskuryakov.
1560
1561        Reduce object size of FontDescription by 8 bytes on 64-bit, 4 bytes on 32-bit systems.
1562        Note that this means Font, StyleInheritedData and RenderSVGInlineText shrink too.
1563
1564        * platform/graphics/FontDescription.cpp:
1565        * platform/graphics/FontDescription.h:
1566        (WebCore::FontDescription::script):
1567        (FontDescription):
1568
15692012-05-21  Abhishek Arya  <inferno@chromium.org>
1570
1571        Regression(r117482): Run-in crashes relating to generated content and inline line box clearing.
1572        https://bugs.webkit.org/show_bug.cgi?id=86879
1573
1574        Reviewed by Julien Chaffraix.
1575
1576        Tests: fast/runin/generated-content-crash.html
1577               fast/runin/move-run-in-original-position-crash.html
1578
1579        * rendering/RenderBlock.cpp:
1580        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use the new helper
1581        placeRunInIfNeeded. Do not place the run-in if it is a generated container since
1582        the caller such as updateBeforeAfterContent might be keeping a reference to it
1583        and adding children to it later.
1584        (WebCore::destroyRunIn): Add ability to clear line box tree for inlines.
1585        (WebCore::RenderBlock::placeRunInIfNeeded): Helper to place run-in. Add an
1586        argument to not modify generated content during addChild, it should be moved
1587        only at end of updateBeforeAfterContent.
1588        (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): 
1589        (WebCore::RenderBlock::runInIsPlacedIntoSiblingBlock): helper to tell if this run-in
1590        is actually placed into the next sibling block.
1591        (WebCore::RenderBlock::moveRunInToOriginalPosition):
1592        * rendering/RenderInline.cpp:
1593        (WebCore::RenderInline::deleteLineBoxTree): like RenderBlock, add a helper
1594        for deleteLineBoxTree. Virtualizing this might not be good, since this is
1595        the only call site for inline line box tree clearing and RenderBlock::deleteLineBoxTree
1596        is called a lot.
1597        * rendering/RenderObjectChildList.cpp:
1598        (WebCore::createRendererForBeforeAfterContent): fix a typo.
1599        (WebCore::RenderObjectChildList::updateBeforeAfterContent): If insertBefore is equal
1600        to the intruded run-in, then set it to next sibling so that new child will come after it. At
1601        the end, place the generatedContainer if it is a run-in.
1602
16032012-05-21  James Robinson  <jamesr@chromium.org>
1604
1605        [chromium] Port chromium compositor to use WebFilterOperation(s)
1606        https://bugs.webkit.org/show_bug.cgi?id=87046
1607
1608        Reviewed by Adrienne Walker.
1609
1610        This converts all compositor implementation logic to use WebFilterOperation(s) directly instead of the WebCore
1611        types. GraphicsLayerChromium bridges between a WebCore::FilterOperations to WebFilterOperations, doing the
1612        necessary type conversions and checking for filters that our compositor implementation supports. This cleans up
1613        the chromium compositor's dependencies and removes any thread constraints from WebCore::FilterOperation /
1614        WebCore::FilterOperations.
1615
1616        Covered by existing layout tests and unit tests in FilterOperationsTest.cpp
1617
1618        * WebCore.gyp/WebCore.gyp:
1619        * WebCore.gypi:
1620        * platform/chromium/support/WebFilterOperations.cpp: Moved to Source/Platform/chromium/src/
1621        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
1622        (WebCore::copyWebCoreFilterOperationsToWebFilterOperations):
1623        (WebCore):
1624        (WebCore::GraphicsLayerChromium::setFilters):
1625        (WebCore::GraphicsLayerChromium::setBackgroundFilters):
1626        (WebCore::GraphicsLayerChromium::updateTransform):
1627        (WebCore::GraphicsLayerChromium::updateChildrenTransform):
1628        * platform/graphics/chromium/GraphicsLayerChromium.h:
1629        (GraphicsLayerChromium):
1630        * platform/graphics/chromium/LayerChromium.cpp:
1631        (WebCore::LayerChromium::setFilters):
1632        (WebCore::LayerChromium::setBackgroundFilters):
1633        (WebCore::LayerChromium::pushPropertiesTo):
1634        * platform/graphics/chromium/LayerChromium.h:
1635        (LayerChromium):
1636        (WebCore::LayerChromium::filters):
1637        (WebCore::LayerChromium::backgroundFilters):
1638        * platform/graphics/chromium/RenderSurfaceChromium.h:
1639        (WebCore::RenderSurfaceChromium::setFilters):
1640        (WebCore::RenderSurfaceChromium::filters):
1641        (WebCore::RenderSurfaceChromium::setBackgroundFilters):
1642        (WebCore::RenderSurfaceChromium::backgroundFilters):
1643        (RenderSurfaceChromium):
1644        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
1645        (WebCore::expandDamageRectWithFilters):
1646        (WebCore::expandDamageRectInsideRectWithFilters):
1647        (WebCore::CCDamageTracker::updateDamageTrackingState):
1648        * platform/graphics/chromium/cc/CCDamageTracker.h:
1649        (WebKit):
1650        (WebCore):
1651        (CCDamageTracker):
1652        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
1653        (WebCore::CCLayerImpl::setFilters):
1654        (WebCore::CCLayerImpl::setBackgroundFilters):
1655        * platform/graphics/chromium/cc/CCLayerImpl.h:
1656        (CCLayerImpl):
1657        (WebCore::CCLayerImpl::filters):
1658        (WebCore::CCLayerImpl::backgroundFilters):
1659        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
1660        (WebCore::CCRenderSurface::applyFilters):
1661        * platform/graphics/chromium/cc/CCRenderSurface.h:
1662        (WebCore::CCRenderSurface::setFilters):
1663        (WebCore::CCRenderSurface::filters):
1664        (CCRenderSurface):
1665        (WebCore::CCRenderSurface::setBackgroundFilters):
1666        (WebCore::CCRenderSurface::backgroundFilters):
1667        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
1668        (WebCore::CCRenderSurfaceFilters::apply):
1669        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h:
1670        (WebKit):
1671        (CCRenderSurfaceFilters):
1672        * testing/Internals.cpp:
1673        (WebCore::Internals::setBackgroundBlurOnNode):
1674
16752012-05-15  Gavin Barraclough  <barraclough@apple.com>
1676
1677        Add support for private names
1678        https://bugs.webkit.org/show_bug.cgi?id=86509
1679
1680        Reviewed by Oliver Hunt.
1681
1682        The spec isn't final, but we can start adding support to allow property maps
1683        to contain keys that aren't identifiers.
1684
1685        Test: fast/js/names.html
1686
1687        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
1688        (WebCore::cssPropertyIDForJSCSSPropertyName):
1689        * bindings/js/JSDOMBinding.cpp:
1690        (WebCore::findAtomicString):
1691        (WebCore::objectToStringFunctionGetter):
1692        * bindings/js/JSDOMBinding.h:
1693        (WebCore::propertyNameToString):
1694        (WebCore::propertyNameToAtomicString):
1695        * bindings/js/JSDOMWindowCustom.cpp:
1696        (WebCore::nonCachingStaticFunctionGetter):
1697        * bindings/js/JSHistoryCustom.cpp:
1698        (WebCore::nonCachingStaticBackFunctionGetter):
1699        (WebCore::nonCachingStaticForwardFunctionGetter):
1700        (WebCore::nonCachingStaticGoFunctionGetter):
1701        * bindings/js/JSLocationCustom.cpp:
1702        (WebCore::nonCachingStaticReplaceFunctionGetter):
1703        (WebCore::nonCachingStaticReloadFunctionGetter):
1704        (WebCore::nonCachingStaticAssignFunctionGetter):
1705        * bridge/c/c_class.cpp:
1706        (JSC::Bindings::CClass::methodsNamed):
1707        (JSC::Bindings::CClass::fieldNamed):
1708        * bridge/c/c_instance.cpp:
1709        (JSC::Bindings::CInstance::getMethod):
1710        * bridge/jni/jsc/JavaClassJSC.cpp:
1711        (JavaClass::methodsNamed):
1712        (JavaClass::fieldNamed):
1713        * bridge/jni/jsc/JavaInstanceJSC.cpp:
1714        * bridge/objc/objc_class.mm:
1715        (JSC::Bindings::ObjcClass::methodsNamed):
1716        (JSC::Bindings::ObjcClass::fieldNamed):
1717        (JSC::Bindings::ObjcClass::fallbackObject):
1718        * bridge/objc/objc_instance.mm:
1719        (ObjcInstance::setValueOfUndefinedField):
1720        (ObjcInstance::getValueOfUndefinedField):
1721            - Removed PropertyName::impl(), call publicName() to get the string associated with a name.
1722
17232012-05-21  Tim Horton  <timothy_horton@apple.com>
1724
1725        GeneratorGeneratedImage should cache intermediate images
1726        https://bugs.webkit.org/show_bug.cgi?id=86906
1727        <rdar://problem/11484852>
1728
1729        Reviewed by Dean Jackson.
1730
1731        Cache generated images in GeneratorGeneratedImage. The cache is invalidated:
1732            a) if the Generator's hash changes.
1733            b) if the rendered size changes.
1734            c) if the cached image is incompatible with the destination context (acceleration state or CTM scale).
1735            d) after one second of disuse.
1736
1737        Add a hash() function to Generator, which should be implemented in subclasses
1738        to provide a straightforward way to determine if Generators have been mutated
1739        in a way that will affect the resultant rendering.
1740
1741        No new tests, performance optimization. Correctness is covered by the multitude of existing gradient tests.
1742
1743        * platform/graphics/Generator.h:
1744        (Generator):
1745        * platform/graphics/GeneratorGeneratedImage.cpp:
1746        (WebCore::GeneratorGeneratedImage::drawPattern):
1747        * platform/graphics/GeneratorGeneratedImage.h:
1748        (WebCore):
1749        (GeneratorGeneratedImage):
1750        (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
1751        (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
1752        (GeneratedImageCacheTimer):
1753        (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::GeneratedImageCacheTimer):
1754        (WebCore::GeneratorGeneratedImage::GeneratedImageCacheTimer::restart):
1755        * platform/graphics/Gradient.cpp:
1756        (WebCore::Gradient::Gradient):
1757        (WebCore::Gradient::addColorStop):
1758        (WebCore::Gradient::sortStopsIfNecessary):
1759        (WebCore::Gradient::setSpreadMethod):
1760        (WebCore::Gradient::setGradientSpaceTransform):
1761        (WebCore::Gradient::hash):
1762        * platform/graphics/Gradient.h:
1763        (WebCore::Gradient::setP0):
1764        (WebCore::Gradient::setP1):
1765        (WebCore::Gradient::setStartRadius):
1766        (WebCore::Gradient::setEndRadius):
1767        (Gradient):
1768        (WebCore::Gradient::clearHashCache):
1769        * platform/graphics/GraphicsContext.cpp:
1770        (WebCore::GraphicsContext::isCompatibleWithBuffer):
1771        (WebCore):
1772        * platform/graphics/GraphicsContext.h:
1773        (GraphicsContext):
1774
17752012-05-21  Emil A Eklund  <eae@chromium.org>
1776
1777        Fix bug in paintNinePieceImage exposed by subpixel change
1778        https://bugs.webkit.org/show_bug.cgi?id=87060
1779
1780        Reviewed by Levi Weintraub.
1781
1782        Fix rounding in paintNinePieceImage where the left/right images where
1783        drawn on subpixel bounds.
1784
1785        Covered by existing tests.
1786
1787        * rendering/RenderBoxModelObject.cpp:
1788        (WebCore::RenderBoxModelObject::paintNinePieceImage):
1789
17902012-05-21  Emil A Eklund  <eae@chromium.org>
1791
1792        Move padding/margin/offset writing mode logic from RenderStyle to LengthBox
1793        https://bugs.webkit.org/show_bug.cgi?id=86970
1794
1795        Reviewed by Eric Seidel.
1796
1797        Move writing mode and bidi logic for paddings, margins and offsets from
1798        RenderStyle to LengthBox. This way the same logic can be used for all
1799        three removing unnecessary code duplication.
1800
1801        No new tests, no change in functionality.
1802
1803        * CMakeLists.txt:
1804        * GNUmakefile.list.am:
1805        * Target.pri:
1806        * WebCore.gypi:
1807        * WebCore.vcproj/WebCore.vcproj:
1808        * WebCore.xcodeproj/project.pbxproj:
1809        * platform/LengthBox.cpp: Added.
1810        * platform/LengthBox.h:
1811        * rendering/style/RenderStyle.cpp:
1812        * rendering/style/RenderStyle.h:
1813
18142012-05-21  Mike West  <mkwst@chromium.org>
1815
1816        Improving console error for CSP-blocked  `setTimeout` and `setInterval` evaluation.
1817        https://bugs.webkit.org/show_bug.cgi?id=86943
1818
1819        Reviewed by Adam Barth.
1820
1821        If the inspector is open, a stack trace is generated before calling
1822        ContentSecurityPolicy::allowEval, and passed through to
1823        ContentSecurityPolicy::reportViolation for use in the console message.
1824
1825        Test: http/tests/inspector-enabled/contentSecurityPolicy-blocks-setInterval.html
1826              http/tests/inspector-enabled/contentSecurityPolicy-blocks-setTimeout.html
1827
1828        * bindings/js/ScheduledAction.cpp:
1829        (WebCore::ScheduledAction::create):
1830        * bindings/v8/custom/V8DOMWindowCustom.cpp:
1831        (WebCore::WindowSetTimeoutImpl):
1832        * page/ContentSecurityPolicy.cpp:
1833        (CSPDirectiveList):
1834        (WebCore::CSPDirectiveList::reportViolation):
1835        (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
1836        (WebCore::CSPDirectiveList::allowEval):
1837        (WebCore):
1838        (WebCore::isAllowedByAllWithCallStack):
1839        (WebCore::isAllowedByAllWithURL):
1840        (WebCore::ContentSecurityPolicy::allowEval):
1841        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
1842        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
1843        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
1844        (WebCore::ContentSecurityPolicy::allowImageFromSource):
1845        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
1846        (WebCore::ContentSecurityPolicy::allowFontFromSource):
1847        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
1848        (WebCore::ContentSecurityPolicy::allowConnectToSource):
1849        * page/ContentSecurityPolicy.h:
1850        (WebCore):
1851
18522012-05-21  Antoine Labour  <piman@chromium.org>
1853
1854        Don't force rendering in finishAllRendering
1855        https://bugs.webkit.org/show_bug.cgi?id=86919
1856
1857        Reviewed by James Robinson.
1858
1859        After we acquire the texture layers on the main thread, we can't draw.
1860        In particular if we destroyed the texture ids used previously by
1861        TextureLayerChromium, drawing before a commit would cause a
1862        bind-after-destroy.
1863
1864        Tested by CCLayerTreeHostTestFinishAllRendering.
1865
1866        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
1867        (WebCore::CCThreadProxy::CCThreadProxy):
1868        (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
1869        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
1870
18712012-05-21  Joshua Bell  <jsbell@chromium.org>
1872
1873        IndexedDB: Store key paths in IDBKeyPath type instead of String
1874        https://bugs.webkit.org/show_bug.cgi?id=85298
1875
1876        Reviewed by Tony Chang, Kentaro Hara and James Robinson.
1877
1878        Migrate from storing key paths as (nullable) Strings to a dedicated IDBKeyPath
1879        type. Prep work for supporting array-type key paths: http://webkit.org/b/84207
1880
1881        Only functional change is handling of null/undefined parameters for key paths,
1882        to align with IDB spec, covered by layout test.
1883
1884        Test: storage/indexeddb/keypath-basics.html
1885        Test: WebKit/chromium/IDBLevelDBCodingTest.cpp
1886
1887        * Modules/indexeddb/IDBAny.cpp: Allow IDBAny to yield DOMStrings.
1888        (WebCore::IDBAny::createString):
1889        (WebCore):
1890        (WebCore::IDBAny::string):
1891        (WebCore::IDBAny::set):
1892        * Modules/indexeddb/IDBAny.h:
1893        (IDBAny):
1894        * Modules/indexeddb/IDBBackingStore.h: Switch from String to IDBKeyPath.
1895        (IDBBackingStore):
1896        * Modules/indexeddb/IDBDatabase.cpp: Switch from String to IDBKeyPath.
1897        (WebCore::IDBDatabase::createObjectStore):
1898        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Switch from String to IDBKeyPath.
1899        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
1900        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
1901        * Modules/indexeddb/IDBDatabaseBackendImpl.h: Switch from String to IDBKeyPath.
1902        (IDBDatabaseBackendImpl):
1903        * Modules/indexeddb/IDBDatabaseBackendInterface.h: Switch from String to IDBKeyPath.
1904        (WebCore):
1905        (IDBDatabaseBackendInterface):
1906        * Modules/indexeddb/IDBIndex.h: Switch from String to IDBAny (via IDBKeyPath).
1907        (WebCore::IDBIndex::keyPath):
1908        * Modules/indexeddb/IDBIndex.idl: Switch from DOMString? to IDBAny.
1909        * Modules/indexeddb/IDBIndexBackendImpl.cpp: Switch from String to IDBKeyPath.
1910        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
1911        * Modules/indexeddb/IDBIndexBackendImpl.h: Switch from String to IDBKeyPath.
1912        (WebCore::IDBIndexBackendImpl::create):
1913        (WebCore::IDBIndexBackendImpl::keyPath):
1914        (IDBIndexBackendImpl):
1915        * Modules/indexeddb/IDBIndexBackendInterface.h: Switch from String to IDBKeyPath.
1916        (WebCore):
1917        (IDBIndexBackendInterface):
1918        * Modules/indexeddb/IDBKeyPath.cpp: Non-trivial method implementations.
1919        (WebCore::IDBKeyPath::isValid):
1920        (WebCore):
1921        (WebCore::IDBKeyPath::operator PassRefPtr<IDBAny>):
1922        * Modules/indexeddb/IDBKeyPath.h: Introduce IDBKeyPath type.
1923        (IDBKeyPath):
1924        (WebCore::IDBKeyPath::IDBKeyPath):
1925        (WebCore::IDBKeyPath::type):
1926        (WebCore::IDBKeyPath::array):
1927        (WebCore::IDBKeyPath::string):
1928        (WebCore::IDBKeyPath::isNull):
1929        (WebCore):
1930        * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
1931        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1932        (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
1933        * Modules/indexeddb/IDBKeyPathBackendImpl.h: Switch from String to IDBKeyPath.
1934        (WebCore):
1935        (IDBKeyPathBackendImpl):
1936        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Switch from String to IDBKeyPath, with back-compat.
1937        (WebCore):
1938        (WebCore::putIDBKeyPath):
1939        (WebCore::IDBLevelDBBackingStore::getObjectStores):
1940        (WebCore::IDBLevelDBBackingStore::createObjectStore):
1941        (WebCore::IDBLevelDBBackingStore::getIndexes):
1942        (WebCore::IDBLevelDBBackingStore::createIndex):
1943        * Modules/indexeddb/IDBLevelDBBackingStore.h:
1944        (IDBLevelDBBackingStore):
1945        * Modules/indexeddb/IDBLevelDBCoding.cpp: New coding scheme for key paths (with back-compat).
1946        (IDBLevelDBCoding):
1947        (WebCore::IDBLevelDBCoding::encodeIDBKeyPath):
1948        (WebCore::IDBLevelDBCoding::decodeIDBKeyPath):
1949        * Modules/indexeddb/IDBLevelDBCoding.h: Add key-path-specific methods.
1950        (WebCore):
1951        (IDBLevelDBCoding):
1952        * Modules/indexeddb/IDBObjectStore.cpp: Switch from String to IDBKeyPath.
1953        (WebCore::IDBObjectStore::keyPath):
1954        (WebCore::IDBObjectStore::createIndex):
1955        (WebCore):
1956        * Modules/indexeddb/IDBObjectStore.h: Switch from String to IDBAny (via IDBKeyPath).
1957        (IDBObjectStore):
1958        * Modules/indexeddb/IDBObjectStore.idl: Switch from DOMString? to IDBAny.
1959        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Switch from String to IDBKeyPath.
1960        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
1961        (WebCore::fetchKeyFromKeyPath):
1962        (WebCore::injectKeyIntoKeyPath):
1963        (WebCore::IDBObjectStoreBackendImpl::createIndex):
1964        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
1965        * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Switch from String to IDBKeyPath.
1966        (WebCore::IDBObjectStoreBackendImpl::create):
1967        (WebCore::IDBObjectStoreBackendImpl::keyPath):
1968        (IDBObjectStoreBackendImpl):
1969        * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Switch from String to IDBKeyPath.
1970        (WebCore):
1971        (IDBObjectStoreBackendInterface):
1972        * bindings/v8/Dictionary.cpp: Add getter for DOMString[] (i.e. Vector<String>)
1973        (WebCore):
1974        (WebCore::Dictionary::get):
1975        * bindings/v8/Dictionary.h:
1976        (Dictionary):
1977        * bindings/v8/IDBBindingUtilities.cpp: Switch from String to IDBKeyPath.
1978        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
1979        (WebCore::injectIDBKeyIntoSerializedValue):
1980        * bindings/v8/IDBBindingUtilities.h: Switch from String to IDBKeyPath.
1981        (WebCore):
1982        * bindings/v8/custom/V8IDBAnyCustom.cpp: Support String/DOMString.
1983        (WebCore::toV8):
1984        * dom/DOMStringList.h: Allow easy (const) access to strings.
1985        (WebCore::DOMStringList::operator const Vector<String>&):
1986        (DOMStringList):
1987        * inspector/InspectorIndexedDBAgent.cpp: Temporary shim for non-strings: see http://webkit.org/b/84303
1988        (WebCore):
1989        * platform/chromium/PlatformSupport.h: Switch from String to IDBKeyPath.
1990        (WebCore):
1991        (PlatformSupport):
1992        * storage/chromium/IDBKeyPathBackendImpl.cpp: Switch from String to IDBKeyPath.
1993        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
1994        (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
1995
19962012-05-21  Zhenyao Mo  <zmo@google.com>
1997
1998        Restore WebGL's framebuffer binding after DrawingBuffer's prepareBackBuffer()
1999        https://bugs.webkit.org/show_bug.cgi?id=87032
2000
2001        Reviewed by James Robinson.
2002
2003        * platform/graphics/chromium/DrawingBufferChromium.cpp:
2004        (WebCore::DrawingBuffer::prepareBackBuffer): restore the user's framebuffer binding if there is one.
2005
20062012-05-21  Ryosuke Niwa  <rniwa@webkit.org>
2007
2008        isStartOfDocument and isEndOfDocument are poorly named
2009        https://bugs.webkit.org/show_bug.cgi?id=86649
2010
2011        Reviewed by Levi Weintraub.
2012
2013        Renamed isEndOfDocument to isEndOfEditableOrNonEditableContent because that's what this function checks.
2014
2015        Also added new versions of isStartOfDocument and isEndOfDocument that correctly cross editing boundaries
2016        to be used in selectFrameElementInParentIfFullySelected.
2017
2018        * editing/CompositeEditCommand.cpp:
2019        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
2020        * editing/Editor.cpp:
2021        (WebCore::Editor::insertLineBreak):
2022        (WebCore::Editor::insertParagraphSeparator):
2023        * editing/ReplaceSelectionCommand.cpp:
2024        (WebCore::ReplaceSelectionCommand::doApply):
2025        * editing/VisibleSelection.cpp:
2026        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
2027        * editing/visible_units.cpp:
2028        (WebCore::isEndOfEditableOrNonEditableContent):
2029        * editing/visible_units.h:
2030
20312012-05-21 Anna Cavender  <annacc@chromium.org>
2032
2033        Only render text track cues if kind=captions or kind=subtitles.
2034        https://bugs.webkit.org/show_bug.cgi?id=83321
2035
2036        Reviewed by Eric Carlson.
2037
2038        No new tests. Modification to media/track/track-kind.html
2039
2040        * html/HTMLMediaElement.cpp:
2041        (WebCore::HTMLMediaElement::textTrackKindChanged):
2042           If the kind changes from a 'visible' kind to a 'non-visible' kind,
2043           update the track's mode to HIDDEN.
2044
2045        * html/shadow/MediaControlElements.cpp:
2046        (WebCore::MediaControlTextTrackContainerElement::updateDisplay):
2047            Do not render cues from tracks that are not captions or subtitles.
2048
2049        * html/track/TextTrack.cpp:
2050        (WebCore::TextTrack::setMode):
2051            If the track's mode changes from SHOWING to HIDDEN or DISABLED,
2052            ensure any currently visible cues will no longer be rendered.
2053
2054        * html/track/TextTrackCue.cpp:
2055        (WebCore::TextTrackCue::removeDisplayTree): New method.
2056        * html/track/TextTrackCue.h:
2057        (TextTrackCue):
2058 
20592012-05-21  Andreas Kling  <kling@webkit.org>
2060
2061        CSS: Move duplicate property elimination to parser.
2062        <http://webkit.org/b/86948>
2063
2064        Reviewed by Antti Koivisto.
2065
2066        Remove the StylePropertySet constructor that handled elimination of duplicate
2067        properties and move that to a new parser method, CSSParser::filteredProperties().
2068        Call sites are converted to using StylePropertySet(const Vector<CSSProperty>&).
2069
2070        Instead of building a hashmap of seen properties, use the new WTF::BitArray class
2071        to track whether a given property ID has been seen, and whether we have an
2072        !important entry for a given ID.
2073
2074        * css/CSSParser.cpp:
2075        (WebCore::CSSParser::parseValue):
2076        (WebCore::CSSParser::parseDeclaration):
2077        (WebCore::CSSParser::filteredProperties):
2078        (WebCore::CSSParser::createStyleRule):
2079        (WebCore::CSSParser::createFontFaceRule):
2080        (WebCore::CSSParser::createPageRule):
2081        (WebCore::CSSParser::createKeyframe):
2082        * css/CSSParser.h:
2083        * css/StylePropertySet.cpp:
2084        (WebCore::StylePropertySet::StylePropertySet):
2085        (WebCore::StylePropertySet::addParsedProperties):
2086        * css/StylePropertySet.h:
2087        (WebCore::StylePropertySet::create):
2088        (StylePropertySet):
2089        * svg/SVGFontFaceElement.cpp:
2090        (WebCore::SVGFontFaceElement::rebuildFontFace):
2091
20922012-05-21  Joshua Bell  <jsbell@chromium.org>
2093
2094        IndexedDB: Index key paths that yield invalid keys should not fail an add/put
2095        https://bugs.webkit.org/show_bug.cgi?id=86122
2096
2097        Reviewed by Tony Chang.
2098
2099        A clause was removed from the IDB spec. Previously, on add/put, if evaluating an
2100        index's key path yielded a value that was not a valid key, an exception would be
2101        raised. Now, it is treated the same as if no value was yielded.
2102
2103        Test: storage/indexeddb/index-basics.html
2104        Test: storage/indexeddb/index-basics-workers.html
2105        Test: storage/indexeddb/objectstore-basics.html
2106        Test: storage/indexeddb/objectstore-basics-workers.html
2107
2108        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
2109        (WebCore::IDBObjectStoreBackendImpl::put): Preconditions removed
2110        (WebCore::IDBObjectStoreBackendImpl::putInternal): Treat invalid keys the same as missing keys.
2111
21122012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2113
2114        Web Inspector: refactor revision history to not include resource itself.
2115        https://bugs.webkit.org/show_bug.cgi?id=87026
2116
2117        Reviewed by Vsevolod Vlasov.
2118
2119        This change makes resource contain pure revisions, it stops updating Resources upon free flow editing.
2120
2121        * inspector/front-end/JavaScriptSource.js:
2122        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
2123        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
2124        (WebInspector.JavaScriptSource.prototype.setFormatted):
2125        * inspector/front-end/JavaScriptSourceFrame.js:
2126        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
2127        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
2128        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
2129        * inspector/front-end/Resource.js:
2130        (WebInspector.Resource.prototype.addRevision):
2131        (WebInspector.Resource.prototype._innerRequestContent.callback):
2132        (WebInspector.Resource.prototype._innerRequestContent):
2133        (WebInspector.Resource.prototype.revertToOriginal):
2134        (WebInspector.ResourceRevision.prototype.revertToThis):
2135        (WebInspector.ResourceRevision.prototype.requestContent):
2136        (WebInspector.ResourceRevision.prototype.searchInContent):
2137        (WebInspector.ResourceRevision.prototype._persistRevision):
2138        * inspector/front-end/RevisionHistoryView.js:
2139        (WebInspector.RevisionHistoryView):
2140        (WebInspector.RevisionHistoryView.prototype._revisionAdded):
2141        (WebInspector.RevisionHistoryTreeElement):
2142        * inspector/front-end/ScriptSnippetModel.js:
2143        (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
2144        * inspector/front-end/StylesPanel.js:
2145        (WebInspector.StyleSourceFrame.prototype.commitEditing):
2146        (WebInspector.StyleSourceFrame.prototype._didEditContent):
2147        (WebInspector.StyleSourceFrame.prototype._onContentChanged):
2148        * inspector/front-end/UISourceCode.js:
2149        (WebInspector.UISourceCode.prototype._revisionAdded):
2150        (WebInspector.UISourceCode.prototype.contentChanged):
2151        (WebInspector.UISourceCode.prototype.commitWorkingCopy):
2152        * inspector/front-end/inspector.js:
2153        (WebInspector._doLoadedDoneWithCapabilities.get if):
2154
21552012-05-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
2156
2157        GCC 4.7 and C++11
2158        https://bugs.webkit.org/show_bug.cgi?id=86465
2159
2160        Reviewed by Darin Adler.
2161
2162        Avoid triggering C++11 string literals and use nullptr for correct type casting.
2163
2164        * bindings/js/JSNodeFilterCondition.cpp:
2165        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
2166        * platform/sql/SQLiteFileSystem.cpp:
2167        (WebCore::SQLiteFileSystem::getFileNameForNewDatabase):
2168
21692012-05-18  Michael Nordman  <michaeln@google.com>
2170
2171        [chromium] DomStorage events handling needs TLC (2)
2172        https://bugs.webkit.org/show_bug.cgi?id=85221
2173        Alter the StorageArea virtual interface such that the mutators no longer
2174        return old values. This is to allow implementations of the interface to operate
2175        more asynchronously.
2176
2177        Reviewed by Adam Barth.
2178
2179        No new tests. Existing tests cover this.
2180
2181        * storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
2182        * storage/StorageAreaImpl.cpp:
2183        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
2184        (WebCore::StorageAreaImpl::setItem): no longer return the old value
2185        (WebCore::StorageAreaImpl::removeItem): no longer return the old value
2186        (WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
2187        * storage/StorageAreaImpl.h: match StorageArea's virtual interface
2188
2189
21902012-05-21  MORITA Hajime  <morrita@google.com>
2191
2192        [Refactoring] Node should have youngestShadowRoot.
2193        https://bugs.webkit.org/show_bug.cgi?id=86427
2194
2195        Reviewed by Dimitri Glazkov.
2196
2197        This change adds Node::youngestShadowRoot() and replaced
2198        ElementShadow::youngestShadowRoot() with it if appropriate.
2199
2200        By introducing this, traversal across node and its shadow tree can
2201        look more fluent and idiomatic. There are a few non-trivial traversal
2202        remaining like ElementShadow::recalcStyle() and attach().
2203        But they should be flattened out eventually.
2204
2205        No new tests. Refactoring.
2206
2207        * dom/ContainerNodeAlgorithms.cpp:
2208        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
2209        * dom/Document.cpp:
2210        (WebCore::Document::buildAccessKeyMap):
2211        * dom/ElementShadow.cpp:
2212        * dom/ElementShadow.h:
2213        (ElementShadow):
2214        (WebCore::Node::youngestShadowRoot):
2215        (WebCore):
2216        * dom/Node.h:
2217        (Node):
2218        * dom/TreeScopeAdopter.cpp:
2219        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
2220        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
2221        * dom/TreeScopeAdopter.h:
2222        (TreeScopeAdopter):
2223        * html/shadow/TextFieldDecorationElement.cpp:
2224        (WebCore::getDecorationRootAndDecoratedRoot):
2225
22262012-05-21  Christophe Dumez  <christophe.dumez@intel.com>
2227
2228        Add support for MessagePortArray type to JSC
2229        https://bugs.webkit.org/show_bug.cgi?id=84093
2230
2231        Reviewed by Adam Barth.
2232
2233        Add support for MessagePortArray type to JSC code generator similarly
2234        to what was done for the V8 generator in r114319.
2235
2236        Update bindings test results to reflect to change to the bindings
2237        generator.
2238
2239        * CMakeLists.txt: Add new DeliveredIntent files to CMake.
2240        * bindings/js/JSDOMBinding.h:
2241        (WebCore):
2242        (WebCore::jsArray): Tweak jsArray() so that it accepts MessagePortArray as argument.
2243        * bindings/scripts/CodeGeneratorJS.pm:
2244        (JSValueToNative):
2245        (NativeToJSValue):
2246        * bindings/scripts/test/JS/JSTestObj.cpp:
2247        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
2248        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
2249        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
2250        (WebCore::jsTestSerializedScriptValueInterfacePorts):
2251        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
2252        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
2253        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
2254        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
2255
22562012-05-21  Alexander Pavlov  <apavlov@chromium.org>
2257
2258        Web Inspector: [Styles] Cannot tab from selector of inherited rule, which in turn has leading inherited properties
2259        https://bugs.webkit.org/show_bug.cgi?id=87014
2260
2261        Reviewed by Yury Semikhatsky.
2262
2263        * inspector/front-end/StylesSidebarPane.js:
2264        (WebInspector.StylePropertiesSection.prototype._moveEditorFromSelector):
2265
22662012-05-21  Greg Billock  <gbillock@google.com>
2267
2268        Add suggestions field to web intents API.
2269        https://bugs.webkit.org/show_bug.cgi?id=86791
2270
2271        Reviewed by Adam Barth.
2272
2273        The |suggestions| field is used by the client to avoid an empty
2274        web intents selection window (picker). The UA can add the given
2275        suggestions to the picker if it would otherwise be empty. See
2276        http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html#intent-parameters-dictionary
2277
2278        * Modules/intents/DeliveredIntent.cpp:
2279        (WebCore::DeliveredIntent::DeliveredIntent):
2280        * Modules/intents/Intent.cpp:
2281        (WebCore::Intent::create):
2282        (WebCore::Intent::Intent):
2283        * Modules/intents/Intent.h:
2284        (WebCore::Intent::suggestions):
2285        (Intent):
2286
22872012-05-21  Stephen Chenney  <schenney@chromium.org>
2288
2289        SVGAnimatedPropertyTearOff does not clear a self pointer on deletion
2290        https://bugs.webkit.org/show_bug.cgi?id=86119
2291
2292        Reviewed by Nikolas Zimmermann.
2293
2294        SVGAnimatedPropertyTearOff contains two SVGPropertyTearOff objects
2295        that have a pointer back to the SVGAnimatedPropertyTearOff. JS may
2296        also have a reference to these SVGPropertyTearOff objects. When the
2297        SVGAnimatedPropertyTearOff is deleted, the SVGPropertyTearOff objects
2298        may live on, but the pointer back to the deleted animated property
2299        tear off is left invalid. This patch clears the pointers on destruction
2300        of the SVGAnimatedPropertyTearOff.
2301
2302        Test: svg/custom/bug86119.html
2303
2304        * svg/properties/SVGAnimatedPropertyTearOff.h:
2305        (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff):
2306        (SVGAnimatedPropertyTearOff):
2307
23082012-05-21  Stephen Chenney  <schenney@chromium.org>
2309
2310        [Chromium] REGRESSION: Assertion failure on svg/custom/acid3-test-77.html
2311        https://bugs.webkit.org/show_bug.cgi?id=86715
2312
2313        Reviewed by Nikolas Zimmermann.
2314
2315        Calls to clear the text positioning elements in RenderSVGText must be
2316        protected with a FontCachePurgeProtector so that fonts are not removed
2317        before the SVG metrics are rebuilt. The protection must cover both the
2318        cache clearing and the reconstruction calls.
2319
2320        Patch fixes existing tests.
2321
2322        * rendering/svg/RenderSVGText.cpp:
2323        (WebCore::RenderSVGText::subtreeChildWasAdded):
2324        (WebCore::RenderSVGText::subtreeChildWasRemoved):
2325        (WebCore::RenderSVGText::subtreeTextDidChange):
2326        (WebCore::RenderSVGText::removeChild):
2327
23282012-05-21  Stephen Chenney  <schenney@chromium.org>
2329
2330        SVGTextRunRenderingContext can return null font, calling code asserts not null
2331        https://bugs.webkit.org/show_bug.cgi?id=86738
2332
2333        Reviewed by Nikolas Zimmermann.
2334
2335        SVGTextRunRenderingContext::glyphDataForCharacter was returning a glyph with
2336        null font data for numerous code paths. It seems that it was doing so
2337        whenever it detected null fontData, rather than try to continue.
2338        Calling code would then immediately assert on this null fontData.
2339
2340        This patch refactors SVGTextRunRenderingContext::glyphDataForCharacter
2341        so that it never returns null font data, adding an assertion to that
2342        effect. In particular, when the font data is null the code will reach
2343        the fallback glyph calculations.
2344
2345        Refactoring covered by existing tests. A previously crashing test, svg/custom/acid3-test-77.html, no longer crashes.
2346
2347        * rendering/svg/SVGTextRunRenderingContext.cpp:
2348        (WebCore::SVGTextRunRenderingContext::glyphDataForCharacter):
2349
23502012-05-21  Ilya Tikhonovsky  <loislo@chromium.org>
2351
2352        Web Inspector: switch buildDominatedNodes function to front-end calculated _dominatorsTree
2353        https://bugs.webkit.org/show_bug.cgi?id=87022
2354
2355        The new version is using _dominatorsTree array that was build at front-end.
2356
2357        Reviewed by Yury Semikhatsky.
2358
2359        * inspector/front-end/HeapSnapshot.js:
2360        (WebInspector.HeapSnapshot.prototype._init):
2361        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
2362
23632012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2364
2365        Web Inspector: change WebCore/English.lproj/locallizedStrings encoding from UTF-16 to UTF-8.
2366        https://bugs.webkit.org/show_bug.cgi?id=86822
2367
2368        Reviewed by Yury Semikhatsky.
2369
2370        * English.lproj/localizedStrings.js:
2371
23722012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>
2373
2374        Web Inspector: Move working copy support to UISourceCode and use it for both styles and scripts.
2375        https://bugs.webkit.org/show_bug.cgi?id=87021
2376
2377        Reviewed by Pavel Feldman.
2378
2379        UISourceCode now listens for RevisionAdded event.
2380        Virtual methods workingCopyChanged and workingCopyCommitted added to UISourceCode and implemented in descendants.
2381        DebuggerResourceBinding does not call contentChanged on UISourceCode explicitly anymore.
2382
2383        * inspector/front-end/DebuggerResourceBinding.js:
2384        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
2385        (WebInspector.DebuggerResourceBinding.setScriptSource):
2386        * inspector/front-end/JavaScriptSource.js:
2387        (WebInspector.JavaScriptSource.prototype.workingCopyCommitted):
2388        * inspector/front-end/JavaScriptSourceFrame.js:
2389        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
2390        * inspector/front-end/ScriptSnippetModel.js:
2391        (WebInspector.SnippetJavaScriptSource.prototype.workingCopyCommitted):
2392        * inspector/front-end/StylesPanel.js:
2393        (WebInspector.StyleSource.prototype.workingCopyCommitted):
2394        (WebInspector.StyleSource.prototype.workingCopyChanged):
2395        (WebInspector.StyleSourceFrame):
2396        (WebInspector.StyleSourceFrame.prototype.commitEditing):
2397        (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
2398        (WebInspector.StyleSourceFrame.prototype._didEditContent):
2399        (WebInspector.StyleSourceFrame.prototype._onContentChanged):
2400        * inspector/front-end/UISourceCode.js:
2401        (WebInspector.UISourceCode):
2402        (WebInspector.UISourceCode.prototype._revisionAdded):
2403        (WebInspector.UISourceCode.prototype.contentChanged):
2404        (WebInspector.UISourceCode.prototype.workingCopy):
2405        (WebInspector.UISourceCode.prototype.setWorkingCopy):
2406        (WebInspector.UISourceCode.prototype.workingCopyChanged):
2407        (WebInspector.UISourceCode.prototype.commitWorkingCopy):
2408        (WebInspector.UISourceCode.prototype.workingCopyCommitted):
2409
24102012-05-21  Andrey Kosyakov  <caseq@chromium.org>
2411
2412        Web Inspector: [refactoring] promote fill/border colors used by timeline's frame overview to TimelineCategory
2413        https://bugs.webkit.org/show_bug.cgi?id=87016
2414
2415        Reviewed by Pavel Feldman.
2416
2417        - drop unused 'color' field from TimelineCategory;
2418        - add borderColor and fillColorStop[0-1] to TimelineCategory;
2419        - fix style in a handful of places.
2420
2421        Note we store textual values for color stops, not premade gradients so we can build gradients with different
2422        orientations rather than transforming a gradient.
2423
2424        * inspector/front-end/TimelineOverviewPane.js:
2425        (WebInspector.HeapGraph):
2426        (WebInspector.HeapGraph.prototype.get element):
2427        (WebInspector.HeapGraph.prototype.get visible):
2428        (WebInspector.HeapGraph.prototype.show):
2429        (WebInspector.HeapGraph.prototype.hide):
2430        (WebInspector.HeapGraph.prototype._clear):
2431        (WebInspector.TimelineCategoryStrips):
2432        (WebInspector.TimelineVerticalOverview):
2433        (WebInspector.TimelineVerticalOverview.prototype._renderBar):
2434        * inspector/front-end/TimelinePresentationModel.js:
2435        (WebInspector.TimelinePresentationModel.categories):
2436        (WebInspector.TimelinePresentationModel.recordStyle):
2437        (WebInspector.TimelineCategory):
2438
24392012-05-21  'Pavel Feldman'  <pfeldman@chromium.org>
2440
2441        Web Inspector: declare setFormatted on UISourceCode (otherwise fails for styles).
2442
2443        Not reviewed: front-end fix as a follow up to r117751.
2444
2445        * inspector/front-end/UISourceCode.js:
2446        (WebInspector.UISourceCode.prototype.consoleMessagesCleared):
2447        (WebInspector.UISourceCode.prototype.setFormatted):
2448
24492012-05-21  Yury Semikhatsky  <yurys@chromium.org>
2450
2451        Unreviewed. Fix Closure compiler error after r117753.
2452
2453        * inspector/front-end/HeapSnapshotGridNodes.js:
2454        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
2455
24562012-05-21  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
2457
2458        Move setEditingBehavior() from layoutTestController to window.internals
2459        https://bugs.webkit.org/show_bug.cgi?id=42689
2460
2461        Reviewed by Hajime Morita and Kenneth Rohde Christiansen.
2462
2463        Add setEditingBehavior() to window.internals.settings. No new tests, but this
2464        change will allow more tests to run in WebKitTestRunner.
2465
2466        * testing/InternalSettings.cpp:
2467        (WebCore::InternalSettings::InternalSettings):
2468        (WebCore::InternalSettings::restoreTo):
2469        (WebCore::InternalSettings::setEditingBehavior):
2470        (WebCore):
2471        * testing/InternalSettings.h:
2472        (InternalSettings):
2473        * testing/InternalSettings.idl:
2474
24752012-05-21  Vsevolod Vlasov  <vsevik@chromium.org>
2476
2477        Web Inspector: Temporary UISourceCode should be replaced each time another inline script is added in RawSourceCode with pending request.
2478        https://bugs.webkit.org/show_bug.cgi?id=87003
2479
2480        Reviewed by Pavel Feldman.
2481
2482        This is needed to correctly show document content when debugger stops on several breakpoints in different scripts during page load.
2483
2484        * inspector/front-end/RawSourceCode.js:
2485        (WebInspector.RawSourceCode.prototype.addScript):
2486        (WebInspector.RawSourceCode.prototype._finishedLoading):
2487
24882012-05-20  Kinuko Yasuda  <kinuko@chromium.org>
2489
2490        Cleanup: Remove WebCore::revealFolderInOS() which is no longer used anywhere
2491        https://bugs.webkit.org/show_bug.cgi?id=86993
2492
2493        Reviewed by Adam Barth.
2494
2495        No new tests as this must be just removing dead code.
2496
2497        * platform/FileSystem.h:
2498        * platform/chromium/FileSystemChromium.cpp:
2499        * platform/chromium/PlatformSupport.h:
2500        (PlatformSupport):
2501
25022012-05-21  Alexander Pavlov  <apavlov@chromium.org>
2503
2504        Web Inspector: Annotate CSSStyleModel.js for the closure compiler
2505        https://bugs.webkit.org/show_bug.cgi?id=86858
2506
2507        Reviewed by Yury Semikhatsky.
2508
2509        * inspector/front-end/CSSStyleModel.js:
2510        (WebInspector.CSSStyleDeclaration.parseComputedStylePayload):
2511        (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
2512        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
2513        (WebInspector.CSSProperty.parsePayload):
2514        (WebInspector.CSSProperty.prototype.setText):
2515        (WebInspector.CSSProperty.prototype.setDisabled):
2516        (WebInspector.CSSStyleSheet.prototype.setText):
2517        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
2518        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
2519        (WebInspector.CSSStyleModelResourceBinding.prototype._loadStyleSheetHeaders):
2520
25212012-05-21  Rakesh KN  <rakesh.kn@motorola.com>
2522
2523        [Forms] Refactor HTMLFormCollection
2524        https://bugs.webkit.org/show_bug.cgi?id=86602
2525
2526        Reviewed by Kent Tamura.
2527
2528        Modify HTMLFormCollection to be independent of HTMLFormElement which is needed
2529        for implementing HTMLFieldSetElement's element attribute.
2530
2531        Covered by existing tests.
2532
2533        * html/HTMLFormCollection.cpp:
2534        (WebCore::HTMLFormCollection::HTMLFormCollection):
2535        Modified to take more generic HTMLElement* instead of HTMLFormElement* so that
2536        HTMLFormCollection for HTMLFieldSetElement can also be created.
2537        (WebCore::HTMLFormCollection::create): Ditto.
2538        (WebCore::HTMLFormCollection::formControlElements):
2539        Helper function for getting the array of FormAssociatedElements for this form.
2540        (WebCore::HTMLFormCollection::formImageElements):
2541        Helper function for getting the array of image elements for this form.
2542        (WebCore::HTMLFormCollection::numberOfFormControlElements):
2543        Helper function for getting the number of elements in this form.
2544        (WebCore::HTMLFormCollection::calcLength):
2545        Modified to use new helper functions defined for getting the FormAssociatedElements
2546        and image elements array instead of static_cast to HTMLFormElement.
2547        (WebCore::HTMLFormCollection::item): Ditto.
2548        (WebCore::HTMLFormCollection::getNamedFormItem): Ditto.
2549        (WebCore::HTMLFormCollection::updateNameCache): Ditto.
2550        * html/HTMLFormCollection.h:
2551        (WebCore):
2552        (HTMLFormCollection):
2553        * html/HTMLFormElement.h:
2554        (WebCore::HTMLFormElement::imageElements):
2555        New accessor for image elements array of form element.
2556        Also HTMLFormCollection is not needed to be friend of HTMLFormElement as collection
2557        does not access the form element memebers directly now.
2558
25592012-05-21  Yury Semikhatsky  <yurys@chromium.org>
2560
2561        Web Inspector: expand only neighbors of the highlighted node when revealing it in heap snapshot
2562        https://bugs.webkit.org/show_bug.cgi?id=86998
2563
2564        Reviewed by Pavel Feldman.
2565
2566        Only nearest nodes are expanded when a node is revealed in heap snapshot
2567        summary view.
2568
2569        * inspector/front-end/HeapSnapshotDataGrids.js:
2570        (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightNode):
2571        (WebInspector.HeapSnapshotViewportDataGrid.prototype.highlightNode):
2572        (WebInspector.HeapSnapshotViewportDataGrid.prototype._isScrolledIntoView):
2573        * inspector/front-end/HeapSnapshotGridNodes.js:
2574        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
2575        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didGetNodePosition):
2576        * inspector/front-end/ProfilesPanel.js:
2577        (WebInspector.ProfilesPanel.prototype.showProfile):
2578
25792012-05-21  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
2580
2581        [EFL] PlatformKeyboardEventEfl is missing ESC key handling.
2582        https://bugs.webkit.org/show_bug.cgi?id=86837
2583
2584        Reviewed by Kenneth Rohde Christiansen.
2585
2586        Added ESC key handling.
2587
2588        * platform/efl/EflKeyboardUtilities.cpp:
2589        (WebCore::createKeyMap):
2590        (WebCore::singleCharacterString):
2591
25922012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2593
2594        Web Inspector: move sources panel out of experimental.
2595        https://bugs.webkit.org/show_bug.cgi?id=86997
2596
2597        Reviewed by Yury Semikhatsky.
2598
2599        This change moves sources panel out of experimental, removes revision support from the resources panel.
2600
2601        * English.lproj/localizedStrings.js:
2602        * inspector/front-end/JavaScriptSourceFrame.js:
2603        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
2604        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
2605        * inspector/front-end/ResourceView.js:
2606        * inspector/front-end/ResourcesPanel.js:
2607        (WebInspector.ResourcesPanel.prototype._showResourceView):
2608        (WebInspector.FrameTreeElement.prototype.appendResource):
2609        (WebInspector.FrameResourceTreeElement):
2610        (WebInspector.FrameResourceTreeElement.prototype.sourceView):
2611        * inspector/front-end/ScriptsNavigator.js:
2612        (WebInspector.ScriptsNavigator):
2613        * inspector/front-end/ScriptsPanel.js:
2614        (WebInspector.ScriptsPanel.prototype.get toolbarItemLabel):
2615        (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
2616        * inspector/front-end/Settings.js:
2617        (WebInspector.ExperimentsSettings):
2618        * inspector/front-end/SourceFrame.js:
2619        (WebInspector.SourceFrame.prototype._setTextViewerDecorations):
2620        * inspector/front-end/textViewer.css:
2621        * inspector/front-end/utilities.js:
2622
26232012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2624
2625        Web Inspector: implement revision history view.
2626        https://bugs.webkit.org/show_bug.cgi?id=86966
2627
2628        Reviewed by Yury Semikhatsky.
2629
2630        Added revision view into the drawer. It now lists all the revisions
2631        along with the inline diffs. Once source panel is enabled by default,
2632        this view will completely substitute the one in the resources panel.
2633        See the screenshot attached. View is updated when revisions are added
2634        and when editor view is switched.
2635
2636        * English.lproj/localizedStrings.js:
2637        * WebCore.gypi:
2638        * WebCore.vcproj/WebCore.vcproj:
2639        * inspector/compile-front-end.py:
2640        * inspector/front-end/AdvancedSearchController.js:
2641        (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
2642        * inspector/front-end/ContextMenu.js:
2643        (WebInspector.ContextMenu.prototype._itemSelected):
2644        (WebInspector.ContextMenu.prototype.appendApplicableItems):
2645        (WebInspector.ContextMenu.Provider.prototype.appendApplicableItems):
2646        (WebInspector.ContextMenu.registerProvider):
2647        * inspector/front-end/JavaScriptSourceFrame.js:
2648        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
2649        * inspector/front-end/Resource.js:
2650        (WebInspector.ResourceRevision.prototype.revertToThis):
2651        * inspector/front-end/RevisionHistoryView.js: Added.
2652        (WebInspector.RevisionHistoryView):
2653        (WebInspector.RevisionHistoryView.showHistory):
2654        (WebInspector.RevisionHistoryView.uiSourceCodeSelected):
2655        (WebInspector.RevisionHistoryView.prototype._revisionAdded):
2656        (WebInspector.RevisionHistoryView.prototype._onclose):
2657        (WebInspector.RevisionHistoryTreeElement.else.revert):
2658        (WebInspector.RevisionHistoryTreeElement):
2659        (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step1):
2660        (WebInspector.RevisionHistoryTreeElement.prototype.onexpand.step2):
2661        (WebInspector.RevisionHistoryTreeElement.prototype.onexpand):
2662        (WebInspector.RevisionHistoryTreeElement.prototype._createLine):
2663        (WebInspector.RevisionHistoryTreeElement.prototype._diff.popsym):
2664        (WebInspector.RevisionHistoryTreeElement.prototype._diff):
2665        * inspector/front-end/ScriptsPanel.js:
2666        (WebInspector.ScriptsPanel.prototype._editorSelected):
2667        (WebInspector.ScriptsPanel.prototype.registerUISourceCodeProvider):
2668        (WebInspector.ScriptsPanel.prototype._showLocalHistory):
2669        (WebInspector.ScriptsPanel.prototype.appendApplicableItems):
2670        * inspector/front-end/StylesPanel.js:
2671        (WebInspector.StyleSourceFrame.prototype._contentChanged):
2672        (WebInspector.StyleSourceFrame.prototype.populateTextAreaContextMenu):
2673        * inspector/front-end/WebKit.qrc:
2674        * inspector/front-end/inspector.css:
2675        (#search-results-pane-file-based .search-result):
2676        (#search-results-pane-file-based .search-result:hover):
2677        (#search-results-pane-file-based .search-match:hover):
2678        (#search-results-pane-file-based .search-match .search-match-content):
2679        * inspector/front-end/inspector.html:
2680        * inspector/front-end/scriptsPanel.css:
2681        (.outline-disclosure.revision-history-drawer):
2682        (.outline-disclosure.revision-history-drawer ol):
2683        (.outline-disclosure.revision-history-drawer > ol):
2684        (.outline-disclosure.revision-history-drawer li):
2685        (.outline-disclosure.revision-history-drawer li.parent):
2686        (.revision-history-link):
2687        (.outline-disclosure.revision-history-drawer .revision-history-line):
2688        (.revision-history-drawer .webkit-line-number):
2689        (.revision-history-line-added):
2690        (.revision-history-line-removed):
2691        * inspector/front-end/textViewer.css:
2692        (.webkit-added-line.webkit-line-number):
2693        (.webkit-removed-line.webkit-line-number):
2694        (.webkit-changed-line.webkit-line-number):
2695
26962012-05-18  Ilya Tikhonovsky  <loislo@chromium.org>
2697
2698        Web Inspector: upstream build dominators tree procedure from v8.
2699        https://bugs.webkit.org/show_bug.cgi?id=86640
2700
2701        The idea is to reduce transfer size and move all the post-processing steps to the front-end.
2702        The JS implementation is ~1.5 times slower.
2703
2704        Reviewed by Yury Semikhatsky.
2705
2706        Covered by existing tests and performance tests.
2707
2708        * inspector/front-end/HeapSnapshot.js:
2709        (WebInspector.HeapSnapshot.prototype._init):
2710        (WebInspector.HeapSnapshot.prototype._buildAggregates):
2711        (WebInspector.HeapSnapshot.prototype._buildPostOrderIndex):
2712        (WebInspector.HeapSnapshot.prototype._buildDominatorTree):
2713        (WebInspector.HeapSnapshot.prototype._markPageOwnedNodes):
2714        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
2715        (WebInspector.HeapSnapshot.prototype._calculateFlags):
2716
27172012-05-21  Mike Lawther  <mikelawther@chromium.org>
2718
2719        Crash in -webkit-calc
2720        https://bugs.webkit.org/show_bug.cgi?id=86954
2721
2722        Reviewed by Abhishek Arya.
2723
2724        Ensure that both ends of a blend are checked for being Calculated. The current
2725        check did not cover the case where the 'from' end was Calculated and nonzero,
2726        and the 'to' end was zero and not Calculated. 
2727
2728        Blending doesn't work with calculated expressions and is being tracked in
2729        bug http://webkit.org/b/86160
2730
2731        Tests: css3/calc/transition-crash3.html
2732               css3/calc/transition-crash4.html
2733
2734        * platform/Length.h:
2735        (WebCore::Length::blend):
2736
27372012-05-21  Pavel Feldman  <pfeldman@chromium.org>
2738
2739        Web Inspector: make search results view more dense
2740        https://bugs.webkit.org/show_bug.cgi?id=86937
2741
2742        Reviewed by Yury Semikhatsky.
2743
2744        - moved search field to the 'drawer status bar'
2745        - search view is now shown on scripts panel only
2746        - switching from the scripts panel closes the search view
2747        - beautified the looks (see the screenshot)
2748
2749        * English.lproj/localizedStrings.js:
2750        * inspector/front-end/AdvancedSearchController.js:
2751        (WebInspector.AdvancedSearchController.prototype.handleShortcut):
2752        (WebInspector.AdvancedSearchController.prototype.show):
2753        (WebInspector.AdvancedSearchController.prototype.close):
2754        (WebInspector.SearchView):
2755        (WebInspector.FileBasedSearchResultsPane):
2756        * inspector/front-end/ScriptsPanel.js:
2757        (WebInspector.ScriptsPanel.prototype.willHide):
2758        * inspector/front-end/externs.js:
2759        (WebInspector.showViewInDrawer):
2760        (WebInspector.closeViewInDrawer):
2761        * inspector/front-end/inspector.css:
2762        (.search-drawer-header input[type="search"].search-config-search):
2763        (.search-drawer-header label.search-config-label):
2764        (.search-drawer-header input[type="checkbox"].search-config-checkbox):
2765        (body:not(.platform-mac) .search-drawer-header input[type="checkbox"].search-config-checkbox):
2766        (body.platform-mac .search-drawer-header input[type="checkbox"].search-config-checkbox):
2767        (.drawer-header):
2768        (.drawer-header-close-button):
2769        (.drawer-header-close-button:hover):
2770        (.drawer-header-close-button:active):
2771        (.search-view .search-results):
2772        (#search-results-pane-file-based li):
2773        (#search-results-pane-file-based ol):
2774        (#search-results-pane-file-based ol.children):
2775        (#search-results-pane-file-based ol.children.expanded):
2776        (#search-results-pane-file-based li.parent::before):
2777        (#search-results-pane-file-based li.parent.expanded::before):
2778        (#search-results-pane-file-based .search-result):
2779        (#search-results-pane-file-based .show-more-matches):
2780        * inspector/front-end/inspector.js:
2781        (WebInspector.showViewInDrawer.closeButtonPressed):
2782        (WebInspector.showViewInDrawer):
2783        (WebInspector.closeViewInDrawer):
2784        (WebInspector.postDocumentKeyDown):
2785
27862012-05-18  Andreas Kling  <kling@webkit.org>
2787
2788        REGRESSION(r117501): IconDatabase asserts on startup in synchronousIconForPageURL().
2789        <http://webkit.org/b/86935>
2790        <rdar://problem/11480012>
2791
2792        Reviewed by Anders Carlsson.
2793
2794        - Correctly set m_retainOrReleaseIconRequested to true in retainIconForPageURL().
2795          This was causing the assertions, as we would end up doing nothing until the first
2796          icon release request came in.
2797
2798        - Require that m_urlsToRetainOrReleaseLock be held when accessing m_retainOrReleaseIconRequested.
2799          This removes a possible race condition in double checked locking.
2800
2801        - Swap over the retain/release work queues while holding m_urlsToRetainOrReleaseLock
2802          and release it right away to avoid sitting on the lock while updating the database.
2803
2804        * loader/icon/IconDatabase.cpp:
2805        (WebCore::IconDatabase::synchronousIconForPageURL):
2806        (WebCore::IconDatabase::retainIconForPageURL):
2807        (WebCore::IconDatabase::releaseIconForPageURL):
2808        (WebCore::IconDatabase::retainedPageURLCount):
2809        (WebCore::IconDatabase::performURLImport):
2810        (WebCore::IconDatabase::syncThreadMainLoop):
2811        (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
2812        * loader/icon/IconDatabase.h:
2813        (IconDatabase):
2814
28152012-05-21  Kent Tamura  <tkent@chromium.org>
2816
2817        Unreviewed, build fix.
2818
2819        * html/StepRange.cpp:
2820        (WebCore::StepRange::parseStep): Remove bogus asssetions.
2821
28222012-05-21  Kent Tamura  <tkent@chromium.org>
2823
2824        Unreviewed, build fix.
2825
2826        * html/StepRange.cpp:
2827        (WebCore::StepRange::StepRange): Remove another ASSERT_NOT_REACHED.
2828
28292012-05-21  Kent Tamura  <tkent@chromium.org>
2830
2831        Unreviewed, build fix.
2832
2833        * html/StepRange.h:
2834        (WebCore::StepRange::StepDescription::StepDescription):
2835        Remove ASSERT_NOT_REACHED.
2836
28372012-05-21  Yoshifumi Inoue  <yosin@chromium.org>
2838
2839        [Forms] Move numeric related methods in HTMLInputElement class to another place
2840        https://bugs.webkit.org/show_bug.cgi?id=82034
2841
2842        Reviewed by Kent Tamura.
2843
2844        This patch moves step and range related methods into StepRange class
2845        for ease of using step calculation other than double floating point
2846        number arithmetic, e.g. decimal, long double, and so on.
2847
2848        New class StepRange::StepDescription holds values for calculating
2849        stepped value, defaultStep, defaultStepBase, integer rounding flags,
2850        step scale factor instead of virtual methods in InputType class.
2851
2852        No new tests because of this patch doesn't change behavior.
2853
2854        * WebCore.xcodeproj/project.pbxproj: Set attribute of StepRange.h to "Private" for including it in HTMLInputElement.cpp.
2855        * html/BaseDateAndTimeInputType.cpp:
2856        (WebCore::InputType::rangeOverflow): Moved to use InputType class.
2857        (WebCore::InputType::rangeUnderflow): Moved to use InputType class.
2858        (WebCore::BaseDateAndTimeInputType::stepMismatch): Moved to use stepRange.
2859        * html/BaseDateAndTimeInputType.h:
2860        (BaseDateAndTimeInputType): Removed method declaration for stepBase.
2861        * html/DateInputType.cpp:
2862        (WebCore::DateInputType::setupStepRange): Added.
2863        * html/DateInputType.h:
2864        (DateInputType): Removed method declarations.
2865        * html/DateTimeInputType.cpp:
2866        (WebCore::DateTimeInputType::defaultStep): Removed.
2867        (WebCore::DateTimeInputType::maximum): Removed.
2868        (WebCore::DateTimeInputType::minimum): Removed.
2869        (WebCore::DateTimeInputType::setupStepRange): Added
2870        (WebCore::DateTimeInputType::stepScaleFactor): Removed.
2871        * html/DateTimeInputType.h:
2872        (DateTimeInputType): Removed deprecated method declarations.
2873        * html/DateTimeLocalInputType.cpp:
2874        (WebCore::DateTimeLocalInputType::defaultStep): Removed.
2875        (WebCore::DateTimeLocalInputType::maximum): Removed.
2876        (WebCore::DateTimeLocalInputType::minimum): Removed.
2877        (WebCore::DateTimeLocalInputType::setupStepRange): Added.
2878        (WebCore::DateTimeLocalInputType::stepScaleFactor): Removed.
2879        * html/DateTimeLocalInputType.h:
2880        (DateTimeLocalInputType):
2881        * html/HTMLInputElement.cpp:
2882        (WebCore::HTMLInputElement::isInRange): Changed to call InputType::isInRange.
2883        (WebCore::HTMLInputElement::isOutOfRange): Changed to call InputType::isOutOfRange.
2884        (WebCore::HTMLInputElement::setupStepRange): Added.
2885        * html/HTMLInputElement.h:
2886        (HTMLInputElement):
2887        * html/InputType.cpp:
2888        (WebCore::InputType::acceptableError): Moved to StepRange class.
2889        (WebCore::InputType::alignValueForStep): Moved to StepRange class.
2890        (WebCore::InputType::minimum): Changed to use StepRange class.
2891        (WebCore::InputType::maximum): Changed to use StepRange class.
2892        (WebCore::InputType::parseToDouble): Changed to have ASSERT_NOT_REACHED.
2893        (WebCore::InputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
2894        (WebCore::InputType::validationMessage):  Changed to use StepRange class.
2895        (WebCore::InputType::applyStep):  Changed to use StepRange class.
2896        (WebCore::InputType::getAllowedValueStep):  Changed to use StepRange class.
2897        (WebCore::InputType::isInRange): Added.
2898        (WebCore::InputType::isOutOfRange): Added.
2899        (WebCore::InputType::rangeOverflow): Changed to use StepRange class.
2900        (WebCore::InputType::rangeUnderflow): Changed to use StepRange class.
2901        (WebCore::InputType::setupStepRange): Added.
2902        (WebCore::InputType::stepUpFromRenderer):  Changed to use StepRange class.
2903        (WebCore::InputType::stepMismatch): Changed to use StepRange class.
2904        * html/InputType.h:
2905        (InputType):
2906        * html/MonthInputType.cpp:
2907        (WebCore::MonthInputType::defaultStep): Removed.
2908        (WebCore::MonthInputType::maximum): Removed.
2909        (WebCore::MonthInputType::minimum): Removed.
2910        (WebCore::MonthInputType::setupStepRange): Added.
2911        (WebCore::MonthInputType::stepScaleFactor): Removed.
2912        * html/MonthInputType.h:
2913        (MonthInputType):
2914        * html/NumberInputType.cpp:
2915        (WebCore):
2916        (WebCore::NumberInputType::defaultStep): Removed.
2917        (WebCore::NumberInputType::maximum): Removed.
2918        (WebCore::NumberInputType::minimum): Removed.
2919        (WebCore::NumberInputType::rangeOverflow): Moved to InputType class.
2920        (WebCore::NumberInputType::rangeUnderflow): Moved to InputType class.
2921        (WebCore::NumberInputType::setupStepRange): Added.
2922        (WebCore::NumberInputType::stepMismatch): Moved to InputType class.
2923        (WebCore::NumberInputType::stepBaseWithDecimalPlaces): Changed to use StepRange class.
2924        (WebCore::NumberInputType::stepScaleFactor): Removed.
2925        * html/NumberInputType.h:
2926        (NumberInputType):
2927        * html/RangeInputType.cpp:
2928        (WebCore::RangeInputType::defaultStep): Removed.
2929        (WebCore::RangeInputType::maximum): Removed.
2930        (WebCore::RangeInputType::minimum): Removed.
2931        (WebCore::RangeInputType::setupStepRange): Added.
2932        (WebCore::RangeInputType::stepScaleFactor): Removed.
2933        (WebCore::RangeInputType::handleKeydownEvent): Changed to use StepRange class.
2934        (WebCore::RangeInputType::fallbackValue): Changed to use StepRange class.
2935        (WebCore::RangeInputType::sanitizeValue): Changed to use StepRange class.
2936        * html/RangeInputType.h:
2937        (RangeInputType):
2938        * html/StepRange.cpp:
2939        (WebCore::StepRange::StepRange): Added.
2940        (WebCore::StepRange::clampValue): Changed for member variable name changes.
2941        (WebCore::StepRange::hasStep): Added.
2942        (WebCore::StepRange::maximum): Added.
2943        (WebCore::StepRange::minimum): Added.
2944        (WebCore::StepRange::step): Added.
2945        (WebCore::StepRange::stepBase): Added.
2946        (WebCore::StepRange::stepDecimalPlaces): Added.
2947        (WebCore::StepRange::stepScaleFactor): Added.
2948        (WebCore::StepRange::setHasStep): Added.
2949        (WebCore::StepRange::setup): Added.
2950        (WebCore::StepRange::parse): Added.
2951        * html/StepRange.h:
2952        (StepDescription): Added
2953        (WebCore::StepRange::StepDescription::StepDescription):
2954        (WebCore::StepRange::acceptableError): Moved from InputType class.
2955        (WebCore::StepRange::alignValueForStep): Moved from InputType class.
2956        (WebCore::StepRange::defaultValue): Changed for member variable name changes.
2957        (WebCore::StepRange::proportionFromValue): Changed for member variable name changes.
2958        (WebCore::StepRange::valueFromProportion): Changed for member variable name changes.
2959        * html/TimeInputType.cpp:
2960        (WebCore::TimeInputType::defaultStep): Removed.
2961        (WebCore::TimeInputType::maximum): Removed.
2962        (WebCore::TimeInputType::minimum): Removed.
2963        (WebCore::TimeInputType::setupStepRange): Added.
2964        (WebCore::TimeInputType::stepScaleFactor): Removed.
2965        * html/TimeInputType.h:
2966        (TimeInputType):
2967        * html/WeekInputType.cpp:
2968        (WebCore):
2969        (WebCore::WeekInputType::defaultStep): Removed.
2970        (WebCore::WeekInputType::maximum): Removed.
2971        (WebCore::WeekInputType::minimum): Removed.
2972        (WebCore::WeekInputType::setupStepRange): Added.
2973        (WebCore::WeekInputType::stepScaleFactor): Removed.
2974        * html/WeekInputType.h:
2975        (WeekInputType):
2976        * html/shadow/SliderThumbElement.cpp:
2977        (WebCore::sliderPosition): Changed to use StepRange class.
2978        (WebCore::SliderThumbElement::setPositionFromPoint): Changed to use StepRange class.
2979
29802012-05-21  Kentaro Hara  <haraken@chromium.org>
2981
2982        [V8] Pass Isolate to throwNotEnoughArgumentsError()
2983        https://bugs.webkit.org/show_bug.cgi?id=86983
2984
2985        Reviewed by Adam Barth.
2986
2987        The objective is to pass Isolate around in V8 bindings.
2988        This patch passes Isolate to throwNotEnoughArgumentsError().
2989
2990        No tests. No change in behavior.
2991
2992        * bindings/scripts/CodeGeneratorV8.pm:
2993        (GenerateArgumentsCountCheck):
2994        (GenerateEventConstructorCallback):
2995        * bindings/scripts/test/V8/V8Float64Array.cpp:
2996        (WebCore::Float64ArrayV8Internal::fooCallback):
2997        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
2998        (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
2999        (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
3000        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
3001        (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
3002        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
3003        (WebCore::V8TestEventConstructor::constructorCallback):
3004        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
3005        (WebCore::TestEventTargetV8Internal::itemCallback):
3006        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
3007        * bindings/scripts/test/V8/V8TestInterface.cpp:
3008        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
3009        (WebCore::V8TestInterface::constructorCallback):
3010        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
3011        (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
3012        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3013        (WebCore::V8TestNamedConstructorConstructorCallback):
3014        * bindings/scripts/test/V8/V8TestObj.cpp:
3015        (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
3016        (WebCore::TestObjV8Internal::intMethodWithArgsCallback):
3017        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
3018        (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
3019        (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
3020        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
3021        (WebCore::TestObjV8Internal::serializedValueCallback):
3022        (WebCore::TestObjV8Internal::idbKeyCallback):
3023        (WebCore::TestObjV8Internal::optionsObjectCallback):
3024        (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
3025        (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
3026        (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
3027        (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
3028        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
3029        (WebCore::TestObjV8Internal::overloadedMethod2Callback):
3030        (WebCore::TestObjV8Internal::overloadedMethod3Callback):
3031        (WebCore::TestObjV8Internal::overloadedMethod4Callback):
3032        (WebCore::TestObjV8Internal::overloadedMethod5Callback):
3033        (WebCore::TestObjV8Internal::overloadedMethod6Callback):
3034        (WebCore::TestObjV8Internal::overloadedMethod7Callback):
3035        (WebCore::TestObjV8Internal::overloadedMethod11Callback):
3036        (WebCore::TestObjV8Internal::overloadedMethod12Callback):
3037        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
3038        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
3039        (WebCore::TestObjV8Internal::convert1Callback):
3040        (WebCore::TestObjV8Internal::convert2Callback):
3041        (WebCore::TestObjV8Internal::convert3Callback):
3042        (WebCore::TestObjV8Internal::convert4Callback):
3043        (WebCore::TestObjV8Internal::convert5Callback):
3044        (WebCore::TestObjV8Internal::strictFunctionCallback):
3045        (WebCore::V8TestObj::constructorCallback):
3046        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
3047        (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
3048        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
3049        * bindings/v8/ScriptController.cpp:
3050        (WebCore::setValueAndClosePopupCallback):
3051        * bindings/v8/V8Proxy.cpp:
3052        (WebCore::V8Proxy::throwNotEnoughArgumentsError):
3053        * bindings/v8/V8Proxy.h:
3054        (V8Proxy):
3055        * bindings/v8/custom/V8AudioContextCustom.cpp:
3056        (WebCore::V8AudioContext::constructorCallback):
3057        * bindings/v8/custom/V8DataViewCustom.cpp:
3058        (WebCore::V8DataView::getInt8Callback):
3059        (WebCore::V8DataView::getUint8Callback):
3060        (WebCore::V8DataView::setInt8Callback):
3061        (WebCore::V8DataView::setUint8Callback):
3062        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
3063        (WebCore::V8DirectoryEntry::getDirectoryCallback):
3064        (WebCore::V8DirectoryEntry::getFileCallback):
3065        * bindings/v8/custom/V8IntentConstructor.cpp:
3066        (WebCore::V8Intent::constructorCallback):
3067        * bindings/v8/custom/V8SVGLengthCustom.cpp:
3068        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
3069        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
3070        (WebCore::getObjectParameter):
3071        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
3072        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
3073        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
3074        (WebCore::V8WebGLRenderingContext::getParameterCallback):
3075        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
3076        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
3077        (WebCore::V8WebGLRenderingContext::getUniformCallback):
3078        (WebCore::vertexAttribAndUniformHelperf):
3079        (WebCore::uniformHelperi):
3080        (WebCore::uniformMatrixHelper):
3081        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
3082        (WebCore::V8WebKitMutationObserver::constructorCallback):
3083        (WebCore::V8WebKitMutationObserver::observeCallback):
3084        * bindings/v8/custom/V8WebSocketCustom.cpp:
3085        (WebCore::V8WebSocket::constructorCallback):
3086        (WebCore::V8WebSocket::sendCallback):
3087        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3088        (WebCore::V8XMLHttpRequest::openCallback):
3089
30902012-05-20  Kentaro Hara  <haraken@chromium.org>
3091
3092        [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 2)
3093        https://bugs.webkit.org/show_bug.cgi?id=86981
3094
3095        Reviewed by Adam Barth.
3096
3097        The objective is to pass Isolate around in V8 bindings.
3098        This patch passes Isolate to throwError()s in V8 custom bindings.
3099
3100        No tests. No change in behavior.
3101
3102        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
3103        (WebCore::v8HTMLImageElementConstructorCallback):
3104        * bindings/v8/custom/V8HistoryCustom.cpp:
3105        (WebCore::V8History::pushStateCallback):
3106        (WebCore::V8History::replaceStateCallback):
3107        * bindings/v8/custom/V8IntentConstructor.cpp:
3108        (WebCore::V8Intent::constructorCallback):
3109        * bindings/v8/custom/V8MessagePortCustom.cpp:
3110        (WebCore::handlePostMessageCallback):
3111        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
3112        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
3113        (WebCore::V8NotificationCenter::createNotificationCallback):
3114        (WebCore::V8NotificationCenter::requestPermissionCallback):
3115        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
3116        (WebCore::V8SQLResultSetRowList::itemCallback):
3117        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
3118        (WebCore::V8SQLTransaction::executeSqlCallback):
3119        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
3120        (WebCore::V8SQLTransactionSync::executeSqlCallback):
3121        * bindings/v8/custom/V8StorageCustom.cpp:
3122        (WebCore::storageSetter):
3123        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
3124        (WebCore::V8WebKitMutationObserver::constructorCallback):
3125        (WebCore::V8WebKitMutationObserver::observeCallback):
3126        * bindings/v8/custom/V8WebSocketCustom.cpp:
3127        (WebCore::V8WebSocket::constructorCallback):
3128        (WebCore::V8WebSocket::sendCallback):
3129        (WebCore::V8WebSocket::closeCallback):
3130        * bindings/v8/custom/V8WorkerContextCustom.cpp:
3131        (WebCore::V8WorkerContext::importScriptsCallback):
3132        * bindings/v8/custom/V8WorkerCustom.cpp:
3133        (WebCore::handlePostMessageCallback):
3134        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
3135        (WebCore::V8XMLHttpRequest::constructorCallback):
3136        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
3137        (WebCore::V8XMLHttpRequest::responseTextAccessorGetter):
3138        (WebCore::V8XMLHttpRequest::openCallback):
3139        (WebCore::V8XMLHttpRequest::sendCallback):
3140
31412012-05-20  Kentaro Hara  <haraken@chromium.org>
3142
3143        [V8] Pass Isolate to throwError()s in V8 custom bindings (Part 1)
3144        https://bugs.webkit.org/show_bug.cgi?id=86980
3145
3146        Reviewed by Adam Barth.
3147
3148        The objective is to pass Isolate around in V8 bindings.
3149        This patch passes Isolate to throwError()s in V8 custom bindings.
3150
3151        No tests. No change in behavior.
3152
3153        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
3154        (WebCore::V8ArrayBuffer::constructorCallback):
3155        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
3156        (WebCore::constructWebGLArrayWithArrayBufferArgument):
3157        (WebCore::constructWebGLArray):
3158        * bindings/v8/custom/V8AudioContextCustom.cpp:
3159        (WebCore::V8AudioContext::constructorCallback):
3160        * bindings/v8/custom/V8BlobCustom.cpp:
3161        (WebCore::V8Blob::constructorCallback):
3162        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
3163        (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
3164        * bindings/v8/custom/V8ClipboardCustom.cpp:
3165        (WebCore::V8Clipboard::clearDataCallback):
3166        (WebCore::V8Clipboard::setDragImageCallback):
3167        * bindings/v8/custom/V8DOMFormDataCustom.cpp:
3168        (WebCore::V8DOMFormData::appendCallback):
3169        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
3170        (WebCore::V8DOMStringMap::namedPropertySetter):
3171        * bindings/v8/custom/V8DOMWindowCustom.cpp:
3172        (WebCore::handlePostMessageCallback):
3173        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
3174        (WebCore::handlePostMessageCallback):
3175        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
3176        (WebCore::V8DirectoryEntry::getDirectoryCallback):
3177        (WebCore::V8DirectoryEntry::getFileCallback):
3178        * bindings/v8/custom/V8DocumentCustom.cpp:
3179        (WebCore::V8Document::evaluateCallback):
3180
31812012-05-20  Kentaro Hara  <haraken@chromium.org>
3182
3183        [V8] Pass Isolate to V8NPObject::npObjectGetProperty() and V8NPObject::npObjectSetProperty()
3184        https://bugs.webkit.org/show_bug.cgi?id=86979
3185
3186        Reviewed by Adam Barth.
3187
3188        The objective is to pass Isolate around in V8 bindings.
3189        This patch passes Isolate to V8NPObject::npObjectGetProperty()
3190        and V8NPObject::npObjectSetProperty().
3191
3192        No tests. No change in behavior.
3193
3194        * bindings/v8/V8NPObject.cpp:
3195        (WebCore::npObjectGetProperty):
3196        (WebCore::npObjectNamedPropertyGetter):
3197        (WebCore::npObjectIndexedPropertyGetter):
3198        (WebCore::npObjectGetNamedProperty):
3199        (WebCore::npObjectGetIndexedProperty):
3200        (WebCore::npObjectQueryProperty):
3201        (WebCore::npObjectSetProperty):
3202        (WebCore::npObjectNamedPropertySetter):
3203        (WebCore::npObjectIndexedPropertySetter):
3204        (WebCore::npObjectSetNamedProperty):
3205        (WebCore::npObjectSetIndexedProperty):
3206        * bindings/v8/V8NPObject.h:
3207        (WebCore):
3208        * bindings/v8/custom/V8HTMLPlugInElementCustom.cpp:
3209        (WebCore::npObjectNamedGetter):
3210        (WebCore::npObjectNamedSetter):
3211        (WebCore::npObjectIndexedGetter):
3212        (WebCore::npObjectIndexedSetter):
3213
32142012-05-20  Ryosuke Niwa  <rniwa@webkit.org>
3215
3216        Using createContextualFragment to insert a <script> does not cause the script to execute
3217        https://bugs.webkit.org/show_bug.cgi?id=12234
3218
3219        Reviewed by Adam Barth.
3220
3221        Renamed FragmentScriptingAllowed and FragmentScriptingNotAllowed to DisallowScriptingContent
3222        and AllowScriptingContent as these two flags are used in code for non-fragment cases and they
3223        indicate whether attributes and elements that can invoke scripting should be removed or not.
3224
3225        To fix the bug, added a new value AllowScriptingContentAndDoNotMarkAlreadyStarted unset
3226        already-started and parser-inserted flags [1] on script elements in addition to allowing
3227        scripting contents.
3228
3229        While the HTML5 specification and the DOM Parsing and Serialization specification [2] state that
3230        we should set these flags in the parser and later unset them, doing so would require traversing
3231        the parsed fragment to find relevant script elements. We short circuit this logic by simply not
3232        setting parser-inserted and already-started flags in createContextualFragment.
3233
3234        [1] http://www.whatwg.org/specs/web-apps/current-work/multipage/scripting-1.html#already-started
3235        [2] http://html5.org/specs/dom-parsing.html#dom-range-createcontextualfragment
3236
3237        Tests: fast/dom/Range/create-contextual-fragment-script-not-ran.html
3238               fast/dom/Range/create-contextual-fragment-script-unmark-already-started.html
3239
3240        * dom/DocumentFragment.h:
3241        (DocumentFragment):
3242        * dom/Element.cpp:
3243        (WebCore::Element::parserSetAttributes):
3244        (WebCore::Element::setAttributeNS):
3245        * dom/Element.h:
3246        (Element):
3247        * dom/FragmentScriptingPermission.h:
3248        * dom/Range.cpp:
3249        (WebCore::Range::createContextualFragment): Removed FragmentScriptingPermission from the argument
3250        list since no one uses it. Always use AllowScriptingContentAndDoNotMarkAlreadyStarted instead.
3251        * dom/Range.h:
3252        * editing/markup.h:
3253        * html/parser/HTMLConstructionSite.cpp:
3254        (WebCore::HTMLConstructionSite::HTMLConstructionSite):
3255        (WebCore::HTMLConstructionSite::insertScriptElement): Pass false to both parserInserted and
3256        alreadyStarted when the scripting permission is AllowScriptingContentAndDoNotMarkAlreadyStarted.
3257        Also call parserSetAttributes when the scripting permission is either AllowScriptingContent or
3258        AllowScriptingContentAndDoNotMarkAlreadyStarted.
3259        * html/parser/HTMLDocumentParser.h:
3260        (HTMLDocumentParser):
3261        * html/parser/HTMLTreeBuilder.cpp:
3262        (WebCore::HTMLTreeBuilder::FragmentParsingContext::FragmentParsingContext):
3263        (WebCore::HTMLTreeBuilder::processEndTag):
3264        * html/parser/HTMLTreeBuilder.h:
3265        (FragmentParsingContext):
3266        * platform/blackberry/PasteboardBlackBerry.cpp:
3267        (WebCore::Pasteboard::documentFragment):
3268        * platform/chromium/DragDataChromium.cpp:
3269        (WebCore::DragData::asFragment):
3270        * platform/chromium/PasteboardChromium.cpp:
3271        (WebCore::Pasteboard::documentFragment):
3272        * platform/gtk/PasteboardGtk.cpp:
3273        (WebCore::Pasteboard::documentFragment):
3274        * platform/mac/PasteboardMac.mm:
3275        (WebCore::Pasteboard::documentFragment):
3276        * platform/qt/DragDataQt.cpp:
3277        (WebCore::DragData::asFragment):
3278        * platform/qt/PasteboardQt.cpp:
3279        (WebCore::Pasteboard::documentFragment):
3280        * platform/win/ClipboardUtilitiesWin.cpp:
3281        (WebCore::fragmentFromCFHTML):
3282        (WebCore::fragmentFromHTML):
3283        * xml/XMLErrors.cpp:
3284        (WebCore::createXHTMLParserErrorHeader):
3285        (WebCore::XMLErrors::insertErrorMessageBlock):
3286        * xml/parser/NewXMLDocumentParser.h:
3287        (NewXMLDocumentParser):
3288        * xml/parser/XMLDocumentParser.h:
3289        (XMLDocumentParser):
3290        * xml/parser/XMLDocumentParserLibxml2.cpp:
3291        (WebCore::XMLDocumentParser::XMLDocumentParser):
3292        (WebCore::XMLDocumentParser::endElementNs):
3293        * xml/parser/XMLDocumentParserQt.cpp:
3294        (WebCore::XMLDocumentParser::XMLDocumentParser):
3295        (WebCore::XMLDocumentParser::parseEndElement):
3296
32972012-05-20  Kentaro Hara  <haraken@chromium.org>
3298
3299        [V8] Pass Isolate to V8Utilities::createFunctionCallback()
3300        https://bugs.webkit.org/show_bug.cgi?id=86978
3301
3302        Reviewed by Adam Barth.
3303
3304        The objective is to pass Isolate around in V8 bindings.
3305        This patch passes Isolate to V8Utilities::createFunctionCallback().
3306
3307        No tests. No change in behavior.
3308
3309        * bindings/v8/V8Utilities.cpp:
3310        (WebCore::throwTypeMismatchException):
3311        * bindings/v8/V8Utilities.h:
3312        (WebCore):
3313        (WebCore::createFunctionOnlyCallback):
3314        * bindings/v8/custom/V8GeolocationCustom.cpp:
3315        (WebCore::V8Geolocation::getCurrentPositionCallback):
3316        (WebCore::V8Geolocation::watchPositionCallback):
3317        * bindings/v8/custom/V8NotificationCustom.cpp:
3318        (WebCore::V8Notification::requestPermissionCallback):
3319
33202012-05-20  Kentaro Hara  <haraken@chromium.org>
3321
3322        [V8] Pass Isolate to throwError()s in bindings/v8/*.{h,cpp}
3323        https://bugs.webkit.org/show_bug.cgi?id=86977
3324
3325        Reviewed by Adam Barth.
3326
3327        The objective is to pass Isolate around in V8 bindings.
3328        This patch passes Isolate to throwError()s in bindings/v8/*.{h,cpp}
3329        except for a couple of non-trivial cases. I'll upload a follow-up patch
3330        for the non-trivial cases.
3331
3332        No tests. No change in behavior.
3333
3334        * bindings/v8/DateExtension.cpp:
3335        (WebCore::DateExtension::OnSleepDetected):
3336        * bindings/v8/SerializedScriptValue.cpp:
3337        (WebCore::SerializedScriptValue::transferArrayBuffers):
3338        (WebCore::SerializedScriptValue::SerializedScriptValue):
3339        * bindings/v8/SerializedScriptValue.h:
3340        * bindings/v8/V8NPObject.cpp:
3341        (WebCore::npObjectInvokeImpl):
3342        (WebCore::npObjectPropertyEnumerator):
3343        * bindings/v8/V8Proxy.cpp:
3344        (WebCore::V8Proxy::checkNewLegal):
3345
33462012-05-20  Keishi Hattori  <keishi@webkit.org>
3347
3348        [Chromium] Enable datalist for input type email
3349        https://bugs.webkit.org/show_bug.cgi?id=85356
3350
3351        Reviewed by Kent Tamura.
3352
3353        No new tests. Covered in fast/forms/datalist/input-list.html
3354
3355        * rendering/RenderThemeChromiumCommon.cpp:
3356        (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
3357
33582012-05-20  Kentaro Hara  <haraken@chromium.org>
3359
3360        [V8] Pass Isolate to throwError()s in CodeGeneratorV8.pm
3361        https://bugs.webkit.org/show_bug.cgi?id=86976
3362
3363        Reviewed by Adam Barth.
3364
3365        The objective is to pass Isolate around in V8 bindings.
3366        This patch passes Isolate to throwError()s in CodeGeneratorV8.pm.
3367
3368        No tests. No change in behavior.
3369
3370        * bindings/scripts/CodeGeneratorV8.pm:
3371        (GenerateNormalAttrGetter):
3372        (GenerateNormalAttrSetter):
3373        (GenerateParametersCheck):
3374        (GenerateConstructorCallback):
3375        (GenerateNamedConstructorCallback):
3376        (GenerateFunctionCallString):
3377        * bindings/scripts/test/V8/V8TestInterface.cpp:
3378        (WebCore::V8TestInterface::constructorCallback):
3379        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
3380        (WebCore::V8TestNamedConstructorConstructorCallback):
3381        * bindings/scripts/test/V8/V8TestObj.cpp:
3382        (WebCore::TestObjV8Internal::withScriptStateAttributeAttrSetter):
3383        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
3384        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
3385        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
3386        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
3387        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
3388        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
3389        (WebCore::TestObjV8Internal::withScriptStateVoidCallback):
3390        (WebCore::TestObjV8Internal::withScriptStateObjCallback):
3391        (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
3392        (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
3393        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateCallback):
3394        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
3395        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
3396        (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
3397        (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
3398        (WebCore::TestObjV8Internal::methodWithCallbackAndOptionalArgCallback):
3399        (WebCore::TestObjV8Internal::overloadedMethod5Callback):
3400        (WebCore::V8TestObj::constructorCallback):
3401
34022012-05-20  George Staikos  <staikos@webkit.org>
3403
3404        [BlackBerry] Implement the Screen functions to get DPI.
3405        https://bugs.webkit.org/show_bug.cgi?id=86967
3406
3407        Reviewed by Antonio Gomes.
3408
3409        * platform/blackberry/PlatformScreenBlackBerry.cpp:
3410        (WebCore::screenHorizontalDPI):
3411        (WebCore::screenVerticalDPI):
3412
34132012-05-20  Shinya Kawanaka  <shinyak@chromium.org>
3414
3415        [Refactoring] Node::shadowHost() and Node::setShadowHost() can be moved to ShadowRoot.
3416        https://bugs.webkit.org/show_bug.cgi?id=86585
3417
3418        Reviewed by Hajime Morita.
3419
3420        Since Node::shadowHost() and Node::setShadowHost() are valid only if Node is ShadowRoot,
3421        they should be moved to ShadowRoot.
3422
3423        However, Node::setParent cannot be called from ShadowRoot, we add Node::setParentOrHostNode
3424        to call it as Node::parentOrHostNode() calls Node::parent(). Node::setParent() is now private.
3425        We also add SVGElementInstance::setParentOrHostNode() to share ContainerNodeAlgorithm.
3426
3427        No new tests, no change in behavior.
3428
3429        * dom/Attr.cpp:
3430        (WebCore::Attr::createTextChild):
3431        * dom/ContainerNode.cpp:
3432        (WebCore::ContainerNode::insertBeforeCommon):
3433        (WebCore::ContainerNode::removeBetween):
3434        (WebCore::ContainerNode::removeChildren):
3435        * dom/ContainerNodeAlgorithms.h:
3436        (WebCore::appendChildToContainer):
3437        (WebCore::Private::addChildNodesToDeletionQueue):
3438        * dom/ElementShadow.cpp:
3439        (WebCore::validateShadowRoot):
3440        (WebCore::ElementShadow::addShadowRoot):
3441        (WebCore::ElementShadow::removeAllShadowRoots):
3442        * dom/EventDispatcher.cpp:
3443        (WebCore::eventTargetRespectingSVGTargetRules):
3444        (WebCore::EventDispatcher::ensureEventAncestors):
3445        (WebCore::EventDispatcher::determineDispatchBehavior):
3446        * dom/EventDispatcher.h:
3447        (WebCore):
3448        (EventDispatcher):
3449        * dom/Node.cpp:
3450        (WebCore::Node::parentOrHostElement):
3451        * dom/Node.h:
3452        (Node):
3453        (WebCore::Node::setParentOrHostNode):
3454        (WebCore):
3455        * dom/NodeRenderingContext.cpp:
3456        (WebCore::NodeRenderingContext::NodeRenderingContext):
3457        * dom/ShadowRoot.h:
3458        (WebCore::ShadowRoot::host):
3459        (WebCore):
3460        (WebCore::ShadowRoot::setHost):
3461        * dom/TreeScope.cpp:
3462        (WebCore::TreeScope::focusedNode):
3463        * html/shadow/ContentSelectorQuery.cpp:
3464        (WebCore::ContentSelectorQuery::matches):
3465        * page/DragController.cpp:
3466        (WebCore::asFileInput):
3467        * page/EventHandler.cpp:
3468        (WebCore::EventHandler::handleMousePressEvent):
3469        (WebCore::instanceAssociatedWithShadowTreeElement):
3470        (WebCore::EventHandler::dispatchMouseEvent):
3471        * page/FocusController.cpp:
3472        (WebCore::FocusScope::owner):
3473        * rendering/RenderBlock.cpp:
3474        (WebCore::RenderBlock::hasLineIfEmpty):
3475        * svg/SVGElementInstance.h:
3476        (WebCore::SVGElementInstance::setParentOrHostNode):
3477        (SVGElementInstance):
3478        * svg/SVGStyledElement.cpp:
3479        (WebCore::SVGStyledElement::title):
3480        * svg/SVGTRefElement.cpp:
3481        (WebCore::SVGShadowText::willRecalcTextStyle):
3482
34832012-05-20  Joe Thomas  <joethomas@motorola.com>
3484
3485        Unsupported commands should have queryCommandValue() = "", not false
3486        https://bugs.webkit.org/show_bug.cgi?id=86964
3487
3488        Reviewed by Ryosuke Niwa.
3489
3490        queryCommandValue for unsupported commands should return empty string.
3491        The specification related to this can be located at http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#methods-to-query-and-execute-commands
3492
3493        Test: editing/execCommand/queryCommandValue-unsupported-commands.html
3494
3495        * dom/Document.idl:
3496
34972012-05-20  Kentaro Hara  <haraken@chromium.org>
3498
3499        Unreviewed. Rebaselined run-bindings-tests results.
3500
3501        * bindings/scripts/test/JS/JSTestInterface.cpp:
3502        (WebCore::setJSTestInterfaceSupplementalStr2):
3503        (WebCore::setJSTestInterfaceSupplementalStr3):
3504        (WebCore::setJSTestInterfaceSupplementalNode):
3505        * bindings/scripts/test/JS/JSTestObj.cpp:
3506        (WebCore::setJSTestObjShortAttr):
3507        (WebCore::setJSTestObjUnsignedShortAttr):
3508        (WebCore::setJSTestObjIntAttr):
3509        (WebCore::setJSTestObjLongLongAttr):
3510        (WebCore::setJSTestObjUnsignedLongLongAttr):
3511        (WebCore::setJSTestObjStringAttr):
3512        (WebCore::setJSTestObjTestObjAttr):
3513        (WebCore::setJSTestObjSequenceAttr):
3514        (WebCore::setJSTestObjIntSequenceAttr):
3515        (WebCore::setJSTestObjShortSequenceAttr):
3516        (WebCore::setJSTestObjLongSequenceAttr):
3517        (WebCore::setJSTestObjLongLongSequenceAttr):
3518        (WebCore::setJSTestObjUnsignedIntSequenceAttr):
3519        (WebCore::setJSTestObjUnsignedShortSequenceAttr):
3520        (WebCore::setJSTestObjUnsignedLongSequenceAttr):
3521        (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
3522        (WebCore::setJSTestObjFloatSequenceAttr):
3523        (WebCore::setJSTestObjDoubleSequenceAttr):
3524        (WebCore::setJSTestObjBooleanSequenceAttr):
3525        (WebCore::setJSTestObjVoidSequenceAttr):
3526        (WebCore::setJSTestObjDateSequenceAttr):
3527        (WebCore::setJSTestObjXMLObjAttr):
3528        (WebCore::setJSTestObjCreate):
3529        (WebCore::setJSTestObjReflectedStringAttr):
3530        (WebCore::setJSTestObjReflectedIntegralAttr):
3531        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
3532        (WebCore::setJSTestObjReflectedBooleanAttr):
3533        (WebCore::setJSTestObjReflectedURLAttr):
3534        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
3535        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
3536        (WebCore::setJSTestObjReflectedCustomURLAttr):
3537        (WebCore::setJSTestObjAttrWithGetterException):
3538        (WebCore::setJSTestObjAttrWithSetterException):
3539        (WebCore::setJSTestObjStringAttrWithGetterException):
3540        (WebCore::setJSTestObjStringAttrWithSetterException):
3541        (WebCore::setJSTestObjCustomAttr):
3542        (WebCore::setJSTestObjWithScriptStateAttribute):
3543        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
3544        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
3545        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
3546        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
3547        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
3548        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
3549        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
3550        (WebCore::setJSTestObjConditionalAttr1):
3551        (WebCore::setJSTestObjConditionalAttr2):
3552        (WebCore::setJSTestObjConditionalAttr3):
3553        (WebCore::setJSTestObjConditionalAttr4Constructor):
3554        (WebCore::setJSTestObjConditionalAttr5Constructor):
3555        (WebCore::setJSTestObjConditionalAttr6Constructor):
3556        (WebCore::setJSTestObjMutablePoint):
3557        (WebCore::setJSTestObjImmutablePoint):
3558        (WebCore::setJSTestObjStrawberry):
3559        (WebCore::setJSTestObjStrictFloat):
3560        (WebCore::setJSTestObjId):
3561        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
3562        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
3563        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
3564
35652012-05-20  George Staikos  <staikos@webkit.org>
3566
3567        Use reinterpret_cast_ptr<> to fix an alignment warning.
3568        https://bugs.webkit.org/show_bug.cgi?id=80790
3569
3570        Reviewed by Rob Buis.
3571
3572        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
3573        (WebCore::error_exit):
3574
35752012-05-20  Takashi Sakamoto  <tasak@google.com>
3576
3577        Needs style recalculation by changing applyAuthorStyles dynamically
3578        https://bugs.webkit.org/show_bug.cgi?id=84251
3579
3580        Modifying setApplyAuthorStyles to invoke owner()'s
3581        setNeedsRedistributing if applyAuthorStyles changes.
3582
3583        Reviewed by Hajime Morita.
3584
3585        No new tests. Adding new tests to existing
3586        fast/dom/shadow/shadow-root-applyAuthorStyles.html to test this
3587        feature.
3588
3589        * dom/ShadowRoot.cpp:
3590        (WebCore::ShadowRoot::setApplyAuthorStyles):
3591        If applyAuthorStyles changes, invoke owner's setNeedsRedistributing to
3592        recalculate styles of the shadow root's child elements.
3593
35942012-05-20  Philip Rogers  <pdr@google.com>
3595
3596        Accumulate SVG animations into first contributing element
3597        https://bugs.webkit.org/show_bug.cgi?id=86385
3598
3599        Reviewed by Nikolas Zimmermann.
3600
3601        Previously we were accumulating animations into the first animation element when
3602        there were multiple animations for a single element. This crashed if the first
3603        animation ended first because the first animation was prematurely cleaned up.
3604        This change accumulates animations into the first _contributing_ animation element.
3605
3606        Tests: svg/animations/multiple-animations-ending.html
3607               svg/animations/svg-two-animate-elements-crash-expected.svg
3608               svg/animations/svg-two-animate-elements-crash.svg
3609
3610        * svg/animation/SMILTimeContainer.cpp:
3611        (WebCore::SMILTimeContainer::updateAnimations):
3612        * svg/animation/SVGSMILElement.cpp:
3613        (WebCore::SVGSMILElement::progress):
3614
36152012-05-20  Philip Rogers  <pdr@google.com>
3616
3617        Fix hit testing on non-scaling strokes
3618        https://bugs.webkit.org/show_bug.cgi?id=82628
3619
3620        Reviewed by Nikolas Zimmermann.
3621
3622        This change fixes hit testing on non-scaling strokes. It contains fixes for 3 bugs:
3623        1) RenderSVGRect::shapeDependentStrokeContains was not falling back to shape-based hit testing.
3624        2) m_strokeAndMarkerBoundingBox did not account for non-scaling strokes.
3625        3) RenderSVGShape::shapeDependentStrokeContains did not have any support for non-scaling strokes.
3626
3627        This change also contains some refactoring/cleanup of the non-scale-stroke codepaths.
3628
3629        Test: svg/hittest/svg-shapes-non-scale-stroke.html
3630
3631        * rendering/svg/RenderSVGEllipse.cpp:
3632        (WebCore::RenderSVGEllipse::createShape):
3633        * rendering/svg/RenderSVGRect.cpp:
3634        (WebCore::RenderSVGRect::createShape):
3635        (WebCore::RenderSVGRect::shapeDependentStrokeContains):
3636        * rendering/svg/RenderSVGShape.cpp:
3637        (WebCore::RenderSVGShape::shapeDependentStrokeContains):
3638        (WebCore::RenderSVGShape::shapeDependentFillContains):
3639        (WebCore::RenderSVGShape::nonScalingStrokePath):
3640        (WebCore):
3641        (WebCore::RenderSVGShape::setupNonScalingStrokeContext):
3642        (WebCore::RenderSVGShape::nonScalingStrokeTransform):
3643        (WebCore::RenderSVGShape::strokePath):
3644        (WebCore::RenderSVGShape::fillAndStrokePath):
3645        (WebCore::RenderSVGShape::updateCachedBoundaries):
3646        (WebCore::RenderSVGShape::inflateWithStrokeAndMarkerBounds):
3647        * rendering/svg/RenderSVGShape.h:
3648        (WebCore::RenderSVGShape::hasNonScalingStroke):
3649        (RenderSVGShape):
3650
36512012-05-19  Emil A Eklund  <eae@chromium.org>
3652
3653        Simplify RenderOverflow by using Rects
3654        https://bugs.webkit.org/show_bug.cgi?id=86894
3655
3656        Reviewed by Eric Seidel.
3657
3658        Simplify the RenderOverflow class and the uses of it by storing the
3659        overflow values in rects and using the rects instead of the individual
3660        values where it makes sense.
3661
3662        No new tests, no change in functionality.
3663
3664        * page/FrameView.cpp:
3665        (WebCore::FrameView::adjustPageHeightDeprecated):
3666        Change to use layoutOverflowRect().maxX() and replace C style casts with
3667        C++ style to comply with style guide.
3668        
3669        * rendering/InlineFlowBox.h:
3670        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow):
3671        (WebCore::InlineFlowBox::logicalRightLayoutOverflow):
3672        (WebCore::InlineFlowBox::logicalTopLayoutOverflow):
3673        (WebCore::InlineFlowBox::logicalBottomLayoutOverflow):
3674        (WebCore::InlineFlowBox::logicalLeftVisualOverflow):
3675        (WebCore::InlineFlowBox::logicalRightVisualOverflow):
3676        (WebCore::InlineFlowBox::logicalTopVisualOverflow):
3677        (WebCore::InlineFlowBox::logicalBottomVisualOverflow):
3678        Change methods to use layoutOverflowRect() and visualOverflowRect().
3679        
3680        * rendering/RenderBox.cpp:
3681        (WebCore::RenderBox::scrollWidth):
3682        (WebCore::RenderBox::scrollHeight):
3683        Change methods to use visualOverflowRect().
3684        
3685        (WebCore::RenderBox::clearLayoutOverflow):
3686        Use setLayoutOverflow instead of resetLayoutOverflow (which has been
3687        removed as it did exactly the same thing as the set method).
3688        
3689        * rendering/RenderBox.h:
3690        (WebCore::RenderBox::maxLayoutOverflow):
3691        (WebCore::RenderBox::logicalLeftLayoutOverflow):
3692        (WebCore::RenderBox::logicalRightLayoutOverflow):
3693        (WebCore::RenderBox::logicalLeftVisualOverflow):
3694        (WebCore::RenderBox::logicalRightVisualOverflow):
3695        Remove minYLayoutOverflow, maxYLayoutOverflow, minXLayoutOverflow and
3696        maxXLayoutOverflow and update the remaining methods to use
3697        layoutOverflowRect().
3698        
3699        * rendering/RenderMarquee.cpp:
3700        (WebCore::RenderMarquee::computePosition):
3701        Change to use layoutOverflowRect().
3702        
3703        * rendering/RenderOverflow.h:
3704        (WebCore::RenderOverflow::RenderOverflow):
3705        (WebCore::RenderOverflow::layoutOverflowRect):
3706        (WebCore::RenderOverflow::visualOverflowRect):
3707        (RenderOverflow):
3708        (WebCore::RenderOverflow::setMinYLayoutOverflow):
3709        (WebCore::RenderOverflow::setMaxYLayoutOverflow):
3710        (WebCore::RenderOverflow::setMinXLayoutOverflow):
3711        (WebCore::RenderOverflow::setMaxXLayoutOverflow):
3712        (WebCore::RenderOverflow::setMinYVisualOverflow):
3713        (WebCore::RenderOverflow::setMaxYVisualOverflow):
3714        (WebCore::RenderOverflow::setMinXVisualOverflow):
3715        (WebCore::RenderOverflow::setMaxXVisualOverflow):
3716        (WebCore):
3717        (WebCore::RenderOverflow::move):
3718        (WebCore::RenderOverflow::addLayoutOverflow):
3719        (WebCore::RenderOverflow::addVisualOverflow):
3720        (WebCore::RenderOverflow::setLayoutOverflow):
3721        (WebCore::RenderOverflow::setVisualOverflow):
3722        Change RenderOverflow to use two rects instead of two sets of four
3723        values. Remove [min|max][Layout|Visual]Overflow getters and change the
3724        layoutOverflowRect and visualOverflowRect methods to return the rects.
3725        
3726        * rendering/RenderReplaced.cpp:
3727        (WebCore::RenderReplaced::shouldPaint):
3728        Change to use visualOverflowRect().
3729        
3730        * rendering/RenderTable.cpp:
3731        (WebCore::RenderTable::layout):
3732        Change to use visualOverflowRect().
3733        
3734        * rendering/RenderTableCell.cpp:
3735        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
3736        Change to use visualOverflowRect().
3737        
3738        * rendering/RenderTreeAsText.cpp:
3739        (WebCore::writeLayers):
3740        Change to use layoutOverflowRect().
3741
37422012-05-19  Rob Buis  <rbuis@rim.com>
3743
3744        Remove bbox caching from SVGPathElement
3745        https://bugs.webkit.org/show_bug.cgi?id=86233
3746
3747        Reviewed by Nikolas Zimmermann.
3748
3749        Remove caching of path bounding box, since SVGLocatable::getBBox is not used much at all.
3750        This saves 200k of memory for worldcup.svg on 64-bit machine.
3751
3752        * svg/SVGPathElement.cpp:
3753        (WebCore::SVGPathElement::SVGPathElement):
3754        (WebCore::SVGPathElement::svgAttributeChanged):
3755        (WebCore::SVGPathElement::pathSegListChanged):
3756        (WebCore::SVGPathElement::getBBox):
3757        * svg/SVGPathElement.h:
3758        (SVGPathElement):
3759
37602012-05-19  Andy Estes  <aestes@apple.com>
3761
3762        Fix build errors found when disabling ENABLE_DRAG_SUPPORT
3763        https://bugs.webkit.org/show_bug.cgi?id=86947
3764
3765        Reviewed by Jon Honeycutt.
3766
3767        * page/mac/EventHandlerMac.mm:
3768        (WebCore::EventHandler::passMouseMoveEventToSubframe):
3769        * platform/mac/ClipboardMac.mm:
3770        (WebCore):
3771
37722012-05-19  Joe Thomas  <joethomas@motorola.com>
3773
3774        The order of CSS properties is wrong in background shorthand
3775        https://bugs.webkit.org/show_bug.cgi?id=86152
3776
3777        Reviewed by Ryosuke Niwa.
3778
3779        Corrected the order of properties returned in StylePropertySet::getPropertyValue for background shorthand property to match the specification  
3780        http://www.w3.org/TR/css3-background/#background.
3781
3782        * css/StylePropertyShorthand.cpp:
3783        (WebCore::backgroundShorthand):
3784
37852012-05-19  Ryosuke Niwa  <rniwa@webkit.org>
3786
3787        Touch Internals.* in an attempt to fix Windows builds after r117646.
3788
3789        * testing/Internals.cpp:
3790        * testing/Internals.h:
3791        * testing/Internals.idl:
3792
37932012-05-18  Ryosuke Niwa  <rniwa@webkit.org>
3794
3795        WebKit erroneously add 1px padding in input elements
3796        https://bugs.webkit.org/show_bug.cgi?id=86784
3797
3798        Reviewed by Kent Tamura.
3799
3800        Fixed the bug by removing the code that added left and right paddings in input elements.
3801        The code was added in r13567 to match a very old version of Internet Explorer but this quirk
3802        does not seem to exists in IE9 (both in quirks and standard modes).
3803
3804        A lot of tests need to be rebaselined due to 1px difference inside input elements, and 2px
3805        differences for the width of input elements. (In some extreme cases, line breaking changed
3806        due to the width change).
3807
3808        Test: fast/forms/input-textarea-padding-match.html
3809
3810        * css/html.css:
3811        (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
3812        * rendering/RenderTextControlSingleLine.cpp:
3813        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
3814
38152012-05-18  Adrienne Walker  <enne@google.com>
3816
3817        [chromium] Add diagnostic CRASH calls for tiler crashes
3818        https://bugs.webkit.org/show_bug.cgi?id=86930
3819
3820        Reviewed by James Robinson.
3821
3822        These lines would normally crash on their own due to null pointers,
3823        but having an explicit CRASH call will help us differentiate what the
3824        real problem might be in the crash report.
3825
3826        * platform/graphics/chromium/TiledLayerChromium.cpp:
3827        (WebCore::TiledLayerChromium::createTile):
3828        (WebCore::TiledLayerChromium::updateTiles):
3829
38302012-05-18  Aaron Colwell  <acolwell@chromium.org>
3831
3832        Update Media Source implementation to reflect changes in 0.5 spec.
3833        https://bugs.webkit.org/show_bug.cgi?id=83607
3834
3835        Reviewed by Darin Fisher.
3836
3837        Tests: http/tests/media/media-source/video-media-source-event-attributes.html
3838               http/tests/media/media-source/webm/video-media-source-abort.html
3839               http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html
3840
3841        * html/HTMLAttributeNames.in: Add onwebkitsourcexxx event attribute names.
3842        * html/HTMLMediaElement.cpp: 
3843        (WebCore::HTMLMediaElement::parseAttribute): Add code to register event listeners for the onwebkitsourcexxx attributes.
3844        (WebCore::HTMLMediaElement::pauseInternal):
3845        (WebCore):
3846        (WebCore::HTMLMediaElement::webkitSourceAddId): Changed code to pass the parsed type & codecs to m_player instead of the whole MIME-type string. This was done to allow some simple parsing & validation code to be shared in WebKit instead of reimplemented in every port.
3847        (WebCore::HTMLMediaElement::webkitSourceBuffered): New method in the v0.5 spec. It validates the parameters & that it is being called in the correct state. If so it forwards the call to m_player.
3848        (WebCore::HTMLMediaElement::webkitSourceAppend): Adds id parameter to match v0.5 signature. Minor logic changes that avoid calling m_player for 0 byte arrays and fixes exceptions reported for a null array and a parse error so they match the spec text.
3849        (WebCore::HTMLMediaElement::webkitSourceAbort): New method in the v0.5 spec. It validates the parameter & that it is being called in athe correct state. If so it forwards the call to m_player.
3850        * html/HTMLMediaElement.h:
3851        (HTMLMediaElement): Added new methods, signature updates, and onwebitsourcexxx event listener attributes.
3852        * html/HTMLMediaElement.idl: Added new methods, signature updates, and onwebitsourcexxx event listener attributes.
3853        * platform/ContentType.cpp:
3854        (WebCore::ContentType::codecs): A new method that parses the codecs parameter into a vector of codec strings.
3855        (WebCore):
3856        * platform/ContentType.h: 
3857        (ContentType):
3858        * platform/graphics/MediaPlayer.cpp:
3859        (WebCore::NullMediaPlayerPrivate::sourceAddId): Update the signature to take the parsed type and codecs vector.
3860        (WebCore::NullMediaPlayerPrivate::sourceBuffered): Add default implementation for this new method.
3861        (WebCore::NullMediaPlayerPrivate::sourceRemoveId): Remove id parameter name to match other methods.
3862        (WebCore::NullMediaPlayerPrivate::sourceAppend): Updated signature to include id parameter.
3863        (WebCore::NullMediaPlayerPrivate::sourceAbort): Add default implementation for this new method.
3864        (WebCore::NullMediaPlayerPrivate::sourceEndOfStream): Remove parameter name to match other methods.
3865        (WebCore::MediaPlayer::sourceAddId): Update the signature to take the parsed type and codecs vector.
3866        (WebCore):
3867        (WebCore::MediaPlayer::sourceBuffered): Add implementation for new method that forwards the call to the MediaPlayerPrivate interface.
3868        (WebCore::MediaPlayer::sourceAppend): Update method to forward the new id parameter in the signature.
3869        (WebCore::MediaPlayer::sourceAbort): Add implementation for new method that forwards the call to the MediaPlayerPrivate interface.
3870        * platform/graphics/MediaPlayer.h: Update interface to include new methods and updated signatures.
3871        * platform/graphics/MediaPlayerPrivate.h:
3872        (WebCore::MediaPlayerPrivateInterface::sourceAddId): Update the signature to take the parsed type and codecs vector.
3873        (WebCore::MediaPlayerPrivateInterface::sourceBuffered): Add default implementation for new method.
3874        (WebCore::MediaPlayerPrivateInterface::sourceAppend): Update method to forward the new id parameter in the signature.
3875        (WebCore::MediaPlayerPrivateInterface::sourceAbort): Add default implementation for new method.
3876
38772012-05-18  Levi Weintraub  <leviw@chromium.org>
3878
3879        Revert to float method of selection rect alignment for line box tree
3880        https://bugs.webkit.org/show_bug.cgi?id=86904
3881
3882        Reviewed by Eric Seidel.
3883
3884        In r117491, we introduced a new method of alignment for the selection rect in the sub-pixel case.
3885        It turns out there is at least one case on Mac where this leaves a gap when painting selection rects
3886        originating in the line box tree. This patch reverts us to the float method for the line box tree,
3887        but retains the LayoutRect snapping for gap rects.
3888
3889        No new tests. Covered by existing tests with sub-pixel layout enabled.
3890
3891        * rendering/EllipsisBox.cpp:
3892        (WebCore::EllipsisBox::paintSelection): Re-enabling the FloatRect flavor of
3893        alignSelectionRectToDevicePixels for the line box tree.
3894        * rendering/InlineTextBox.cpp:
3895        (WebCore::alignSelectionRectToDevicePixels): Moving LayoutRect flavor to RenderBlock.
3896        (WebCore::InlineTextBox::paintSelection): Happily clearing up the bifurcation of algorithms for
3897        sub-pixel layout.
3898        * rendering/InlineTextBox.h: Re-enabling the FloatRect flavor of alignSelectionRectToDevicePixels
3899        for the line box tree.
3900        * rendering/RenderBlock.cpp:
3901        (WebCore::alignSelectionRectToDevicePixels): Re-seating the LayoutRect version of
3902        alignSelectionRectToDevicePixels for use with GapRects.
3903
39042012-05-18  Eric Seidel  <eric@webkit.org>
3905
3906        Assertion failure in BidiResolver::commitExplicitEmbedding() (!inIsolate() || m_currentExplicitEmbeddingSequence.isEmpty()) at wikipedia.org
3907        https://bugs.webkit.org/show_bug.cgi?id=76574
3908
3909        Reviewed by Levi Weintraub.
3910
3911        Consider this example:
3912        <span style="unicode-bidi: embed"><span style="unicode-bidi: isolate">a</span></span>
3913        Before this patch, we would ASSERT when computing the text runs, as we would have encountered
3914        the "embed LTR" directive from the outer span, but not try to "commit" this embedding until
3915        we encountered the first charater (an optimization to avoid creating unnecessary bidi embedding contexts).
3916        The ASSERT we were hitting was to ensure that embedding directives inside an isolated span
3917        did not bleed out and effect the surrounding text.
3918
3919        bidi "isolate" support uses a multi-pass Unicode Bidi Algorithm (UBA), which when encountering
3920        "isolated" sections of text ignores them in the first pass, and then goes back and runs
3921        a separate instance of the UBA on those isolated sections.
3922
3923        Once we scan into an "isolate" section (during an outer UBA application) we should not respect
3924        any embedding directives inside that "isolate" section.
3925
3926        However, in the above example, our "don't commit embeddings until we need them" and
3927        "assert we don't respect embeddings inside isolated spans" were conflicting.
3928        The fix is to make sure we always commit any pending embedding directives *before*
3929        we enter an isolate section.
3930
3931        Luckly there was no functional bug here as we were still respecting
3932        the embedding directives we were belatedly committing. After this change we're commiting
3933        those directives at a more appropriate time, thus avoiding the ASSERT.
3934
3935        Test: fast/text/bidi-isolate-embedding-crash.html
3936
3937        * platform/text/BidiResolver.h:
3938        (WebCore::::commitExplicitEmbedding):
3939        * rendering/InlineIterator.h:
3940        (WebCore::notifyObserverEnteredObject):
3941        (WebCore::IsolateTracker::commitExplicitEmbedding):
3942
39432012-05-18  Pratik Solanki  <psolanki@apple.com>
3944
3945        BitmapImage::BitmapImage(CGImageRef, ImageObserver*) needs to set m_sizeRespectingOrientation
3946        https://bugs.webkit.org/show_bug.cgi?id=86915
3947
3948        Reviewed by Oliver Hunt.
3949
3950        Set m_sizeRespectingOrientation to be the same as m_size. Otherwise it stays at 0x0 since
3951        this constructor also sets m_haveSize to true for the BitmapImage.
3952
3953        * platform/graphics/cg/ImageCG.cpp:
3954        (WebCore::BitmapImage::BitmapImage):
3955
39562012-05-18  Dan Bernstein  <mitz@apple.com>
3957
3958        Build fix after r117607.
3959
3960        * platform/mac/WebCoreNSCellExtras.m:
3961
39622012-05-18  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
3963
3964        Fix remaining uses of JSValue::toBoolean()
3965        https://bugs.webkit.org/show_bug.cgi?id=86912
3966
3967        Reviewed by Filip Pizlo.
3968
3969        And unbreak Qt build.
3970
3971        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
3972        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
3973        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
3974        * bindings/scripts/test/JS/JSTestObj.cpp:
3975        (WebCore::setJSTestObjCreate):
3976        (WebCore::setJSTestObjReflectedBooleanAttr):
3977        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
3978        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
3979        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
3980        * bridge/qt/qt_runtime.cpp:
3981        (JSC::Bindings::convertValueToQVariant):
3982        * bridge/qt/qt_runtime_qt4.cpp:
3983        (JSC::Bindings::convertValueToQVariant):
3984
39852012-04-27  Filip Pizlo  <fpizlo@apple.com>
3986
3987        DFG should have control flow graph simplification
3988        https://bugs.webkit.org/show_bug.cgi?id=84553
3989
3990        Reviewed by Oliver Hunt.
3991
3992        Merged r115512 from dfgopt.
3993
3994        JSValue::toBoolean(ExecState*) -> JSValue::toBoolean()
3995        
3996        No new tests, because no new behavior.
3997
3998        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
3999        (WebCore::JSSQLStatementErrorCallback::handleEvent):
4000        * bindings/js/JSDOMWindowCustom.cpp:
4001        (WebCore::JSDOMWindow::addEventListener):
4002        (WebCore::JSDOMWindow::removeEventListener):
4003        * bindings/js/JSDataViewCustom.cpp:
4004        (WebCore::getDataViewMember):
4005        * bindings/js/JSDeviceMotionEventCustom.cpp:
4006        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
4007        * bindings/js/JSDeviceOrientationEventCustom.cpp:
4008        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
4009        * bindings/js/JSDictionary.cpp:
4010        (WebCore::JSDictionary::convertValue):
4011        * bindings/js/JSDirectoryEntryCustom.cpp:
4012        (WebCore::JSDirectoryEntry::getFile):
4013        (WebCore::JSDirectoryEntry::getDirectory):
4014        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
4015        (WebCore::getFlags):
4016        * bindings/js/JSHTMLCanvasElementCustom.cpp:
4017        (WebCore::JSHTMLCanvasElement::getContext):
4018        * bindings/js/JSInspectorFrontendHostCustom.cpp:
4019        (WebCore::JSInspectorFrontendHost::showContextMenu):
4020        * bindings/js/JSMessageEventCustom.cpp:
4021        (WebCore::handleInitMessageEvent):
4022        * bindings/js/JSWebGLRenderingContextCustom.cpp:
4023        (WebCore::dataFunctionMatrix):
4024        * bindings/js/JSXMLHttpRequestCustom.cpp:
4025        (WebCore::JSXMLHttpRequest::open):
4026        * bindings/js/ScriptDebugServer.cpp:
4027        (WebCore::ScriptDebugServer::hasBreakpoint):
4028        * bindings/scripts/CodeGeneratorJS.pm:
4029        (GenerateEventListenerCall):
4030        (GenerateImplementation):
4031        (JSValueToNative):
4032        * bridge/c/c_utility.cpp:
4033        (JSC::Bindings::convertValueToNPVariant):
4034        * bridge/jni/jni_jsobject.mm:
4035        (JavaJSObject::convertValueToJObject):
4036
40372012-05-18  Shawn Singh  <shawnsingh@chromium.org>
4038
4039        [chromium] add back-face visibility check for renderSurfaces
4040        https://bugs.webkit.org/show_bug.cgi?id=86870
4041
4042        Reviewed by Adrienne Walker.
4043
4044        Test added CCLayerTreeHostCommonTest::verifyBackFaceCullingWithPreserves3dForFlatteningSurface
4045
4046        Chromium was not checking back-face visibility for renderSurfaces
4047        that needed it. This patch adds that check and the appropriate
4048        unit test.
4049
4050        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
4051        (WebCore::layerIsInExisting3DRenderingContext):
4052        (WebCore):
4053        (WebCore::subtreeShouldRenderToSeparateSurface):
4054        (WebCore::calculateDrawTransformsAndVisibilityInternal):
4055
40562012-05-18  Levi Weintraub  <leviw@chromium.org>
4057
4058        Standalone table-columns should be wrapped in anonymous tables
4059        https://bugs.webkit.org/show_bug.cgi?id=86671
4060
4061        Reviewed by Julien Chaffraix.
4062
4063        The CSS2 spec specifies that table-columns misparented outside of a table or
4064        table-column-group should be wrapped in an anonymous table. Updating 
4065        RenderObject::addChild to follow the spec.
4066        see http://www.w3.org/TR/CSS2/tables.html#anonymous-boxes for details.
4067
4068        Tests: fast/table/table-column-generates-anonymous-table.html
4069               fast/table/table-column-group-generates-anonymous-table.html
4070
4071        * rendering/RenderObject.cpp:
4072        (WebCore::RenderObject::addChild):
4073
40742012-05-18  Keyar Hood  <keyar@chromium.org>
4075
4076        Support imageSmoothingEnabled
4077        https://bugs.webkit.org/show_bug.cgi?id=82804
4078
4079        Reviewed by Stephen White.
4080
4081        Test: fast/canvas/canvas-imageSmoothingEnabled.html
4082
4083        Added the imageSmoothingEnabled parameter to the
4084        CanvasRenderingContext2D object. When it is set to false, it sets
4085        InterpolationQuality to InterpolationNone. When set to true, it sets
4086        the InterpolationQuality to DefaultInterpolationQuality (as that is the
4087        only other value used).
4088
4089        * html/canvas/CanvasRenderingContext2D.cpp:
4090        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
4091        (WebCore::CanvasRenderingContext2D::webkitImageSmoothingEnabled):
4092        (WebCore):
4093        (WebCore::CanvasRenderingContext2D::setWebkitImageSmoothingEnabled):
4094        * html/canvas/CanvasRenderingContext2D.h:
4095        (CanvasRenderingContext2D):
4096        * html/canvas/CanvasRenderingContext2D.idl:
4097
40982012-05-18  Terry Anderson  <tdanderson@chromium.org>
4099
4100        Percentage height replaced elements sometimes cause overflow of table contents
4101        https://bugs.webkit.org/show_bug.cgi?id=85581
4102
4103        Reviewed by Eric Seidel.
4104
4105        Test: fast/replaced/table-replaced-element.html
4106
4107        * rendering/RenderBox.cpp:
4108        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
4109        This change guarantees that the containing block of a replaced element with percentage
4110        height will be marked as having a percentage height descendant.
4111
41122012-05-18  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
4113
4114        [Qt] REGRESSION(r117501): It made almost all tests assert in debug mode
4115        https://bugs.webkit.org/show_bug.cgi?id=86854
4116
4117        Reviewed by Andreas Kling.
4118
4119        Initialize boolean flag in constructor and recheck the flag which can be 
4120        modified by another thread under mutex.
4121
4122        No new tests, fixes regression that caused layout test crash.
4123
4124        * loader/icon/IconDatabase.cpp:
4125        (WebCore::IconDatabase::IconDatabase):
4126        (WebCore::IconDatabase::syncThreadMainLoop):
4127
41282012-05-18  Christophe Dumez  <christophe.dumez@intel.com>
4129
4130        [EFL] Web Intents code is not compiling
4131        https://bugs.webkit.org/show_bug.cgi?id=85364
4132
4133        Reviewed by Adam Barth.
4134
4135        Add missing implementation for
4136        JSIntentConstructor::constructJSIntent() in JS bindings.
4137
4138        * CMakeLists.txt:
4139        * UseJSC.cmake:
4140        * bindings/js/JSIntentConstructor.cpp: Added.
4141        (WebCore):
4142        (WebCore::JSIntentConstructor::constructJSIntent):
4143
41442012-05-18  Joe Thomas  <joethomas@motorola.com>
4145
4146        background-size specified by a single value in background shorthand fails to parse.
4147        https://bugs.webkit.org/show_bug.cgi?id=86739
4148
4149        Reviewed by Tony Chang.
4150
4151        While parsing the background shorthand property, if the second parsedValue is not a valid unit,
4152        parseFillSize should return the first parsedValue instead of failing.
4153
4154        * css/CSSParser.cpp:
4155        (WebCore::CSSParser::parseFillSize):
4156
41572012-05-18  Tony Chang  <tony@chromium.org>
4158
4159        remove the CSS_GRID_LAYOUT compiler define, but default grid layout to off
4160        https://bugs.webkit.org/show_bug.cgi?id=86767
4161
4162        Reviewed by Ojan Vafai.
4163
4164        We disable grid by ignoring the display type at CSS parse time.
4165
4166        Test: fast/css-grid-layout/grid-disabled-by-default.html
4167
4168        * Configurations/FeatureDefines.xcconfig:
4169        * css/CSSComputedStyleDeclaration.cpp: Remove compile checks.
4170        (WebCore):
4171        (WebCore::valueForGridPosition):
4172        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
4173        * css/CSSParser.cpp:
4174        (WebCore::CSSParserContext::CSSParserContext):
4175        (WebCore::operator==):
4176        (WebCore::isValidKeywordPropertyAndValue): Move display into parseValue.
4177        (WebCore::isKeywordPropertyID):
4178        (WebCore::CSSParser::parseValue): Ignore while parsing if not enabled.
4179        (WebCore::CSSParser::parseGridTrackList):
4180        (WebCore::CSSParser::cssGridLayoutEnabled):
4181        (WebCore):
4182        * css/CSSParser.h:
4183        * css/CSSParserMode.h:
4184        (CSSParserContext):
4185        * css/CSSPrimitiveValueMappings.h:
4186        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
4187        * css/CSSProperty.cpp:
4188        (WebCore::CSSProperty::isInheritedProperty):
4189        * css/CSSPropertyNames.in:
4190        * css/CSSValueKeywords.in:
4191        * css/StyleResolver.cpp:
4192        (WebCore::StyleResolver::collectMatchingRulesForList):
4193        * dom/Document.cpp:
4194        (WebCore::Document::cssGridLayoutEnabled): Added to keep track of whether grid is enabled or not.
4195        (WebCore):
4196        * dom/Document.h:
4197        * page/Settings.cpp:
4198        (WebCore::Settings::Settings):
4199        * page/Settings.h:
4200        (WebCore::Settings::setCSSGridLayoutEnabled): Added.
4201        (WebCore::Settings::cssGridLayoutEnabled): Added.
4202        (Settings):
4203        * rendering/RenderObject.cpp:
4204        (WebCore::RenderObject::createObject):
4205        * rendering/style/RenderStyle.cpp:
4206        (WebCore::RenderStyle::RenderStyle):
4207        (WebCore::RenderStyle::diff):
4208        * rendering/style/RenderStyle.h:
4209        * rendering/style/RenderStyleConstants.h:
4210        * rendering/style/StyleGridData.cpp:
4211        * rendering/style/StyleGridData.h:
4212        * rendering/style/StyleGridItemData.cpp:
4213        * rendering/style/StyleGridItemData.h:
4214        * rendering/style/StyleRareNonInheritedData.cpp:
4215        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
4216        (WebCore::StyleRareNonInheritedData::operator==):
4217        * rendering/style/StyleRareNonInheritedData.h:
4218        (WebCore):
4219        (StyleRareNonInheritedData):
4220
42212012-05-18  Martin Robinson  <mrobinson@igalia.com>
4222
4223        OOM running webgl/sdk/tests/conformance/context/context-creation-and-destruction.html
4224        https://bugs.webkit.org/show_bug.cgi?id=80509
4225
4226        Reviewed by Alejandro G. Castro.
4227
4228        No new tests. This is covered by by context-creation-and-destruction.html
4229        Khronos conformance test which will be part of the WebKit repository once
4230        bug 44310 is closed.
4231
4232        Rework the ownership of GLContexts. Instead of having them managed by the
4233        state of window mapping or removed by calling a static method, always have
4234        them owned by the callers. This makes all GLContext creators factory methods
4235        that return PassOwnPtr.
4236
4237        This change also switches the sharing context for a WebView from the window
4238        context to a global shared context. This simplifies things greatly, allowing
4239        the removal of GLContextGtk and makes the factory change easier.
4240
4241        * GNUmakefile.list.am: Remove GLContextGtk.cpp from the source list.
4242        * platform/graphics/cairo/GLContext.cpp:
4243        (WebCore::GLContext::sharingContext): Added, getter for the global sharing context.
4244        (WebCore::GLContext::createContextForWindow): Added, a factory method for creating
4245        window contexts.
4246        (WebCore::GLContext::createOffscreenContext): Allow passing a sharing context here.
4247        (WebCore::GLContext::makeContextCurrent): Assert that this is the main thread, to
4248        increase the guarantee that we are only using these contexts on the main thread.
4249        (WebCore::GLContext::getCurrent): Ditto.
4250        * platform/graphics/cairo/GLContext.h: Update the above method signatures and remove
4251        createOffscreenContext, which has just been subsumed into the other factory methods.
4252        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: The HostWindow is no longer needed
4253        to get the sharing context, so we can simplify things quite a bit and make a platform
4254        independent implementation here.
4255        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Ditto.
4256        * platform/graphics/glx/GLContextGLX.cpp: Modify all the factory methods to return PassOwnPtr.
4257        * platform/graphics/glx/GLContextGLX.h: Ditto.
4258        * platform/graphics/gtk/GLContextGtk.cpp: Removed.
4259
42602012-05-18  Pablo Flouret  <pablof@motorola.com>
4261
4262        Script elements inserted while fragment parsing should have their "already started" flag set.
4263        https://bugs.webkit.org/show_bug.cgi?id=86376
4264
4265        Reviewed by Ryosuke Niwa.
4266
4267        Step 3 of:
4268        http://www.whatwg.org/specs/web-apps/current-work/multipage/tree-construction.html#scriptTag
4269
4270        Test: fast/parser/script-already-started-flag-in-fragment-parsing-mode.html
4271
4272        * html/HTMLScriptElement.cpp:
4273        (WebCore::HTMLScriptElement::create):
4274        * html/HTMLScriptElement.h:
4275        (HTMLScriptElement):
4276        * html/parser/HTMLConstructionSite.cpp:
4277        (WebCore::HTMLConstructionSite::insertScriptElement):
4278
42792012-05-18  Shezan Baig  <shezbaig.wk@gmail.com>
4280
4281        Expose FrameSelection::absoluteCaretBounds via window.internals
4282        https://bugs.webkit.org/show_bug.cgi?id=86390
4283
4284        Reviewed by Ryosuke Niwa.
4285
4286        Add 'absoluteCaretBounds' method to Internals, which returns the
4287        FrameSelection::absoluteCaretBounds.
4288
4289        Test: editing/selection/internal-caret-rect.html
4290
4291        * WebCore.exp.in: Export the necessary symbols.
4292        * testing/Internals.cpp:
4293        (WebCore::Internals::absoluteCaretBounds): Implementation of new method.
4294        (WebCore):
4295        * testing/Internals.h: Declare the new method.
4296        (Internals):
4297        * testing/Internals.idl: Declare the new method.
4298
42992012-05-18  Dan Bernstein  <mitz@apple.com>
4300
4301        <rdar://problem/11467250> No focus ring around popup buttons
4302
4303        Reviewed by Anders Carlsson.
4304
4305        The exact same issue was fixed for buttons drawn in ThemeMac.mm in <rdar://problem/10542095>.
4306        This change extends the fix to also cover buttons drawn in RenderThemeMac.mm.
4307
4308        * WebCore.xcodeproj/project.pbxproj: Added WebCoreNSCellExtras.{h.m}.
4309        * platform/mac/ThemeMac.mm: Removed the definitions of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING
4310        and -[NSCell _web_drawFocusRingWithFrame:inView:] from here. They are now in WebCoreNSCellExtras.
4311        * platform/mac/WebCoreNSCellExtras.h: Added.
4312        * platform/mac/WebCoreNSCellExtras.m: Added.
4313        (-[NSCell _web_drawFocusRingWithFrame:inView:]): Moved from ThemeMac.mm here.
4314        * rendering/RenderThemeMac.mm:
4315        (WebCore::RenderThemeMac::paintMenuList): Changed to use -_web_drawFocusRingWithFrame:inView:.
4316        (WebCore::RenderThemeMac::setPopupButtonCellState): Removed call to updateFocusedState() when
4317        the focus ring is drawn separately.
4318
43192012-05-18  Philippe Normand  <pnormand@igalia.com>
4320
4321        [GStreamer] Fix early return of the mimeTypeCache function after r117207.
4322
4323        Rubber-stamped by Martin Robinson.
4324
4325        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Set
4326        typeListInitialized to true after the cache has been filled so
4327        that next call to the function goes through the early return path.
4328
43292012-05-18  Martin Robinson  <mrobinson@igalia.com>
4330
4331        Get IndexedDB closer to building for GTK+.
4332
4333        Reviewed by Philippe Normand.
4334
4335        No new tests. This is only a build fix.
4336
4337        * GNUmakefile.am: Add the appropriate option to enable LevelDB support.
4338        * GNUmakefile.list.am: Add missing indexed database files to the source list.
4339
43402012-05-18  Dan Bernstein  <mitz@apple.com>
4341
4342        Removed stale references in the Xcode project after r117369.
4343
4344        * WebCore.xcodeproj/project.pbxproj: Removed references to CSSStyleDeclaration.cpp.
4345
43462012-05-18  Vsevolod Vlasov  <vsevik@chromium.org>
4347
4348        Web Inspector: Add resource to UISourceCode constructor.
4349        https://bugs.webkit.org/show_bug.cgi?id=86853
4350
4351        Reviewed by Pavel Feldman.
4352
4353        This is a first step of merging resource revision support into UISourceCode.
4354
4355        * inspector/front-end/CompilerScriptMapping.js:
4356        * inspector/front-end/DebuggerResourceBinding.js:
4357        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
4358        (WebInspector.DebuggerResourceBinding.setScriptSource):
4359        * inspector/front-end/DebuggerScriptMapping.js:
4360        (WebInspector.DebuggerScriptMapping.prototype._debuggerReset):
4361        * inspector/front-end/JavaScriptSource.js:
4362        * inspector/front-end/RawSourceCode.js:
4363        (WebInspector.RawSourceCode.prototype._createUISourceCode):
4364        * inspector/front-end/ResourceScriptMapping.js:
4365        (WebInspector.ResourceScriptMapping.prototype.addScript):
4366        * inspector/front-end/Script.js:
4367        (WebInspector.Script.prototype.isAnonymousScript):
4368        * inspector/front-end/ScriptSnippetModel.js:
4369        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
4370        (WebInspector.SnippetJavaScriptSource):
4371        * inspector/front-end/StylesPanel.js:
4372        (WebInspector.StyleSource):
4373        (WebInspector.StyleSourceFrame):
4374        (WebInspector.StyleSourceFrame.prototype.commitEditing):
4375        (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
4376        (WebInspector.StyleSourceFrame.prototype._contentChanged):
4377        * inspector/front-end/UISourceCode.js:
4378        (WebInspector.UISourceCode):
4379        (WebInspector.UISourceCode.prototype.resource):
4380
43812012-05-18  Yury Semikhatsky  <yurys@chromium.org>
4382
4383        Web Inspector: error when expanding an HTMLAllCollection object in the console
4384        https://bugs.webkit.org/show_bug.cgi?id=86741
4385
4386        Reviewed by Pavel Feldman.
4387
4388        RuntimeAgent.callFunctionOn should work correcly with arguments of type HTMLAllCollection.
4389
4390        * inspector/InjectedScriptSource.js:
4391
43922012-05-18  Pavel Feldman  <pfeldman@chromium.org>
4393
4394        Web Inspector: resource revision content is not rendered properly. Resource content is shown instead.
4395        https://bugs.webkit.org/show_bug.cgi?id=86856
4396
4397        Reviewed by Vsevolod Vlasov.
4398
4399        * inspector/front-end/ResourceView.js:
4400        (WebInspector.ResourceRevisionSourceFrame):
4401        (WebInspector.ResourceRevisionSourceFrame.prototype.get resource):
4402
44032012-05-18  Yi Shen  <yi.4.shen@nokia.com>
4404
4405        REGRESSION (r102553): Smart links do not work
4406        https://bugs.webkit.org/show_bug.cgi?id=85463
4407
4408        Reviewed by NOBODY Ryosuke Niwa.
4409
4410        To fix the regression of smart links, we need to check TextCheckingTypeLink option in
4411        Editor::markAndReplaceFor().
4412
4413        Test: editing/inserting/typing-space-to-trigger-smart-link.html
4414
4415        * editing/Editor.cpp:
4416        (WebCore::Editor::markAndReplaceFor):
4417
44182012-05-18  Alexander Pavlov  <apavlov@chromium.org>
4419
4420        Web Inspector: empty CSS Declaration is generated by clicking the left space of 'user agent stylesheet' on Styles sidebar of Elements panel
4421        https://bugs.webkit.org/show_bug.cgi?id=86850
4422
4423        Reviewed by Yury Semikhatsky.
4424
4425        * inspector/front-end/StylesSidebarPane.js:
4426        (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
4427
44282012-05-18  Yury Semikhatsky  <yurys@chromium.org>
4429
4430        Unreviewed. Remove console.error() call committed by mistake.
4431
4432        * inspector/front-end/View.js:
4433        (WebInspector.View._assert):
4434
44352012-05-18  Pavel Feldman  <pfeldman@chromium.org>
4436
4437        Web Inspector: live edit resets cursor to 0,0
4438        https://bugs.webkit.org/show_bug.cgi?id=86851
4439
4440        Reviewed by Vsevolod Vlasov.
4441
4442        * inspector/front-end/DebuggerResourceBinding.js:
4443        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
4444        (WebInspector.DebuggerResourceBinding.setScriptSource):
4445
44462012-05-18  Yury Semikhatsky  <yurys@chromium.org>
4447
4448        Web Inspector: exception in console when pressing % button in CPU profile view
4449        https://bugs.webkit.org/show_bug.cgi?id=86849
4450
4451        Reviewed by Pavel Feldman.
4452
4453        Use root node to get children, not DataGrid object.
4454
4455        * inspector/front-end/CPUProfileView.js:
4456        (WebInspector.CPUProfileView.prototype.refreshVisibleData):
4457
44582012-05-18  Yury Semikhatsky  <yurys@chromium.org>
4459
4460        Web Inspector: remove unnecessary indirection from profile types
4461        https://bugs.webkit.org/show_bug.cgi?id=86845
4462
4463        Reviewed by Pavel Feldman.
4464
4465        Introduced CSSProfileHeader and CPUProfileHeader, moved view creation from
4466        the type to corresponding profile headers. Removed some inderection and
4467        private fields assigned in random places. Added type annotations.
4468
4469        * inspector/front-end/CPUProfileView.js:
4470        (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
4471        (WebInspector.CPUProfileType.prototype.createProfile):
4472        (WebInspector.CPUProfileHeader):
4473        (WebInspector.CPUProfileHeader.prototype.createSidebarTreeElement):
4474        (WebInspector.CPUProfileHeader.prototype.createView):
4475        * inspector/front-end/CSSSelectorProfileView.js:
4476        (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile):
4477        (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
4478        (WebInspector.CSSSelectorProfileType.prototype.createProfile):
4479        (WebInspector.CSSProfileHeader):
4480        (WebInspector.CSSProfileHeader.prototype.createSidebarTreeElement):
4481        (WebInspector.CSSProfileHeader.prototype.createView):
4482        * inspector/front-end/HeapSnapshotView.js:
4483        (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile):
4484        (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
4485        (WebInspector.HeapProfileHeader):
4486        (WebInspector.HeapProfileHeader.prototype.createSidebarTreeElement):
4487        (WebInspector.HeapProfileHeader.prototype.createView):
4488        (WebInspector.HeapProfileHeader.prototype.load):
4489        (WebInspector.HeapProfileHeader.prototype.saveToFile):
4490        * inspector/front-end/ProfileLauncherView.js:
4491        (WebInspector.ProfileLauncherView):
4492        (WebInspector.ProfileLauncherView.prototype.addProfileType):
4493        (WebInspector.ProfileLauncherView.prototype._profileTypeChanged):
4494        * inspector/front-end/ProfilesPanel.js:
4495        (WebInspector.ProfileType):
4496        (WebInspector.ProfileHeader):
4497        (WebInspector.ProfileHeader.prototype.profileType):
4498        (WebInspector.ProfileHeader.prototype.createSidebarTreeElement):
4499        (WebInspector.ProfileHeader.prototype.existingView):
4500        (WebInspector.ProfileHeader.prototype.view):
4501        (WebInspector.ProfileHeader.prototype.createView):
4502        (WebInspector.ProfilesPanel.prototype._reset):
4503        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
4504        (WebInspector.ProfilesPanel.prototype._removeProfileHeader):
4505        (WebInspector.ProfilesPanel.prototype.showProfile):
4506        (WebInspector.ProfilesPanel.prototype.getProfiles):
4507        (WebInspector.ProfilesPanel.prototype.findTemporaryProfile):
4508        (WebInspector.ProfilesPanel.prototype._searchableViews):
4509        * inspector/front-end/View.js:
4510        (WebInspector.View._assert):
4511
45122012-05-18  Kentaro Hara  <haraken@chromium.org>
4513
4514        [V8][Refactoring] Remove V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0)
4515        https://bugs.webkit.org/show_bug.cgi?id=86802
4516
4517        Reviewed by Adam Barth.
4518
4519        As commented here (https://bugs.webkit.org/show_bug.cgi?id=84074#c5),
4520        I am refactoring a series of confusing throwError()s. This would be
4521        the final patch for the refactoring.
4522
4523        This patch removes V8Proxy::throwError(const char*, ErrorType, v8::Isolate*=0).
4524        Also this patch refactors up a couple of throwError()s that I've forgot to
4525        refactor in the previous patches.
4526
4527        No tests. No change in behavior.
4528
4529        * bindings/v8/V8NodeFilterCondition.cpp:
4530        (WebCore::V8NodeFilterCondition::acceptNode):
4531        * bindings/v8/V8Proxy.h:
4532        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
4533        (WebCore::V8ArrayBuffer::constructorCallback):
4534        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
4535        (WebCore::constructWebGLArray):
4536        * bindings/v8/custom/V8SQLResultSetRowListCustom.cpp:
4537        (WebCore::V8SQLResultSetRowList::itemCallback):
4538
45392012-05-18  MORITA Hajime <morrita@google.com>
4540
4541        Unreviewed attempt to fix build breakage on r117572
4542
4543        * editing/Editor.cpp:
4544        (WebCore::Editor::willDetachPage):
4545
45462012-05-18  MORITA Hajime  <morrita@google.com>
4547
4548        https://bugs.webkit.org/show_bug.cgi?id=85515
4549        Stale frame in WebCore::SpellChecker::didCheckSucceeded
4550
4551        Reviewed by Ryosuke Niwa.
4552
4553        Added EditorClient::frameWillDetachPage() notification to give a
4554        change to invalidate pending spellcheck requests on the client.
4555
4556        Test: editing/spelling/spellcheck-async-remove-frame.html
4557
4558        * editing/Editor.cpp:
4559        (WebCore::Editor::Editor):
4560        * editing/Editor.h:
4561        (Editor):
4562        * loader/EmptyClients.h:
4563        (WebCore::EmptyEditorClient::frameWillDetachPage):
4564        * page/EditorClient.h:
4565        (EditorClient):
4566
45672012-05-18  Pavel Feldman  <pfeldman@chromium.org>
4568
4569        Web Inspector: add ContentProvider::contentType and use it when rendering navigator tree.
4570        https://bugs.webkit.org/show_bug.cgi?id=86833
4571
4572        Reviewed by Vsevolod Vlasov.
4573
4574        Added ContentProvider::contentType, regactored NavigatorView to use the icon defined by the content type.
4575
4576        * inspector/front-end/CompilerScriptMapping.js:
4577        * inspector/front-end/ContentProvider.js:
4578        (WebInspector.ContentProvider.prototype.contentType):
4579        * inspector/front-end/ContentProviders.js:
4580        (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentType):
4581        (WebInspector.CompilerSourceMappingContentProvider):
4582        (WebInspector.CompilerSourceMappingContentProvider.prototype.contentType):
4583        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
4584        (WebInspector.StaticContentProvider):
4585        (WebInspector.StaticContentProvider.prototype.contentType):
4586        (WebInspector.StaticContentProvider.prototype.requestContent):
4587        * inspector/front-end/NavigatorView.js:
4588        (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
4589        (WebInspector.NavigatorSourceTreeElement):
4590        * inspector/front-end/NetworkRequest.js:
4591        (WebInspector.NetworkRequest.prototype.contentType):
4592        * inspector/front-end/Resource.js:
4593        (WebInspector.Resource.prototype.contentType):
4594        (WebInspector.Resource.prototype.canonicalMimeType):
4595        (WebInspector.ResourceRevision.prototype.contentType):
4596        * inspector/front-end/ResourceType.js:
4597        (WebInspector.ResourceType.prototype.toString):
4598        (WebInspector.ResourceType.prototype.canonicalMimeType):
4599        * inspector/front-end/Script.js:
4600        (WebInspector.Script.prototype.contentType):
4601        * inspector/front-end/ScriptSnippetModel.js:
4602        (WebInspector.SnippetContentProvider):
4603        * inspector/front-end/StylesPanel.js:
4604        * inspector/front-end/UISourceCode.js:
4605        (WebInspector.UISourceCode.prototype.contentType):
4606        * inspector/front-end/navigatorView.css:
4607        (.navigator-stylesheet-tree-item .icon):
4608        (.navigator-document-tree-item .icon):
4609
46102012-05-18  Sheriff Bot  <webkit.review.bot@gmail.com>
4611
4612        Unreviewed, rolling out r117556.
4613        http://trac.webkit.org/changeset/117556
4614        https://bugs.webkit.org/show_bug.cgi?id=86825
4615
4616        Wrong fix. IE still adds 1px padding. We're missing that in
4617        textarea (Requested by rniwa on #webkit).
4618
4619        * css/html.css:
4620        (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
4621        * rendering/RenderTextControlSingleLine.cpp:
4622        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
4623
46242012-05-17  Pavel Feldman  <pfeldman@chromium.org>
4625
4626        Web Inspector: remove File abstraction from the AdvancedSearchController, migrate it to UISourceCode.
4627        https://bugs.webkit.org/show_bug.cgi?id=86809
4628
4629        Reviewed by Yury Semikhatsky.
4630
4631        This change migrates AdvancedSearchController from "Object" to "UISourceCode".
4632        I don't see why we need this abstraction and as a side effect, it makes search
4633        across scripts work for styles.
4634
4635        * English.lproj/localizedStrings.js:
4636        * inspector/front-end/AdvancedSearchController.js:
4637        (WebInspector.SearchResult):
4638        (WebInspector.FileBasedSearchResultsPane.prototype._createAnchor):
4639        (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
4640        (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
4641        (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
4642        (WebInspector.FileBasedSearchResultsPane.SearchResult):
4643        * inspector/front-end/ScriptsSearchScope.js:
4644        (WebInspector.ScriptsSearchScope.prototype.createSearchResultsPane):
4645        * inspector/front-end/inspector.js:
4646        (WebInspector._registerShortcuts):
4647
46482012-05-17  Yury Semikhatsky  <yurys@chromium.org>
4649
4650        Web Inspector: add an option to show last N hidden children of node in heap profiler
4651        https://bugs.webkit.org/show_bug.cgi?id=86757
4652
4653        Reviewed by Pavel Feldman.
4654
4655        Renamed "Show next N" to "Show N before" and added "Show N after" button. Also
4656        when all 3 buttons would have equal effect there is now only "Show all N" button.
4657
4658        * English.lproj/localizedStrings.js:
4659        * inspector/front-end/ShowMoreDataGridNode.js:
4660        (WebInspector.ShowMoreDataGridNode):
4661        (WebInspector.ShowMoreDataGridNode.prototype._showLastChunk):
4662        (WebInspector.ShowMoreDataGridNode.prototype._updateLabels):
4663        (WebInspector.ShowMoreDataGridNode.prototype.createCells):
4664
46652012-05-17  Ryosuke Niwa  <rniwa@webkit.org>
4666
4667        WebKit erroneously add 1px padding in input elements
4668        https://bugs.webkit.org/show_bug.cgi?id=86784
4669
4670        Reviewed by Kent Tamura.
4671
4672        Fixed the bug by removing the code that added left and right paddings in input elements.
4673        The code was added in r13567 to match a very old version of Internet Explorer but this quirk
4674        does not seem to exists in IE9 (both in quirks and standard modes).
4675
4676        A lot of tests need to be rebaselined due to 1px difference inside input elements, and 2px
4677        differences for the width of input elements. (In some extreme cases, line breaking changed
4678        due to the width change).
4679
4680        Test: fast/forms/input-textarea-padding-match.html
4681
4682        * css/html.css:
4683        (input::-webkit-input-placeholder, isindex::-webkit-input-placeholder):
4684        * rendering/RenderTextControlSingleLine.cpp:
4685        (WebCore::RenderTextControlSingleLine::createInnerTextStyle):
4686
46872012-05-18  Zalan Bujtas  <zbujtas@gmail.com>
4688
4689        [Qt] Gesture tap highlighter needs to take overflow clip into account.
4690        https://bugs.webkit.org/show_bug.cgi?id=84989
4691
4692        Reviewed by Kenneth Rohde Christiansen.
4693
4694        Apply overflow clip on the focus ring if needed.
4695
4696        Follow up patches are needed to address the following cases.
4697
4698        [Qt] Gesture tap highlighter should take parent iframe's transform into account.
4699        https://bugs.webkit.org/show_bug.cgi?id=86645
4700
4701        [Qt] Gesture tap highlighter needs to take frame clipping into account.
4702        https://bugs.webkit.org/show_bug.cgi?id=86646
4703
4704        [Qt] Gesture tap highlighter's overflow clip is not always correct when
4705        nested enclosing containers have transforms.
4706        https://bugs.webkit.org/show_bug.cgi?id=86641
4707
4708        Manual test: ManualTests/qt/tap-highlighting-overflow-hidden.html
4709
4710        * page/GestureTapHighlighter.cpp:
4711        (WebCore::GestureTapHighlighter::pathForNodeHighlight):
4712
47132012-05-17  Carlos Garcia Campos  <cgarcia@igalia.com>
4714
4715        [GTK] KURL::fileSystemPath() should strip the query of the uri
4716        https://bugs.webkit.org/show_bug.cgi?id=86721
4717
4718        Reviewed by Martin Robinson.
4719
4720        * platform/gtk/KURLGtk.cpp:
4721        (WebCore::KURL::fileSystemPath): Use the already parsed path to
4722        create the GFile instead of the whole URL string. The parsed path
4723        doesn't include neither the fragment (#) nor the query (?) parts.
4724
47252012-05-17  Kentaro Hara  <haraken@chromium.org>
4726
4727        [V8][Refactoring] Remove V8Proxy::deletionNotHandledByInterceptor()
4728        https://bugs.webkit.org/show_bug.cgi?id=86803
4729
4730        Reviewed by Dimitri Glazkov.
4731
4732        V8Proxy::deletionNotHandledByInterceptor() is used by V8StorageCustom.cpp
4733        only, just in order to return v8::Handle<v8::Boolean>(). In such cases,
4734        other custom bindings are hard-coding 'return v8::Handle<v8::Boolean>()'.
4735        Thus we can hard-code 'return v8::Handle<v8::Boolean>()' in V8StorageCustom.cpp
4736        too, and remove V8Proxy::deletionNotHandledByInterceptor().
4737
4738        No tests. No change in behavior.
4739
4740        * bindings/v8/V8Proxy.h:
4741        * bindings/v8/custom/V8StorageCustom.cpp:
4742        (WebCore::storageDeleter):
4743
47442012-05-17  Ilya Tikhonovsky  <loislo@chromium.org>
4745
4746        Web Inspector: speed-up markQueriableHeapObjects function.
4747        https://bugs.webkit.org/show_bug.cgi?id=86732
4748
4749        Reviewed by Yury Semikhatsky.
4750
4751        * inspector/front-end/HeapSnapshot.js:
4752        (WebInspector.HeapSnapshot.prototype._flagsOfNode):
4753        (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
4754        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
4755        (WebInspector.HeapSnapshot.prototype._calculateFlags):
4756
47572012-05-15  Kinuko Yasuda  <kinuko@chromium.org>
4758
4759        Some Spelling Mistakes Result in Compile Errors with ENABLE(FILE_SYSTEM) in LocalFileSystem.cpp
4760        https://bugs.webkit.org/show_bug.cgi?id=86103
4761
4762        Reviewed by Rob Buis.
4763
4764        Added build fixes and some (limited) common implementation for non-chromium ports.
4765
4766        No new tests as this should have no functionality changes.
4767
4768        * Modules/filesystem/DOMFileSystemBase.cpp:
4769        (WebCore::DOMFileSystemBase::isValidType): Added common implementation for non-chromium ports.
4770        (WebCore::DOMFileSystemBase::crackFileSystemURL): Ditto.
4771        (WebCore::DOMFileSystemBase::supportsToURL): Ditto.
4772        (WebCore::DOMFileSystemBase::createFileSystemURL): Ditto.
4773        * Modules/filesystem/LocalFileSystem.cpp:
4774        (WebCore::LocalFileSystem::readFileSystem): Fixed.
4775        (WebCore::LocalFileSystem::requestFileSystem): Fixed.
4776        * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
4777        (WebCore::AsyncFileSystem::openFileSystem): Fixed.
4778        * platform/gtk/AsyncFileSystemGtk.cpp:
4779        (WebCore::AsyncFileSystem::openFileSystem): Fixed.
4780
47812012-05-17  Wei James  <james.wei@intel.com>
4782
4783        AudioBufferSourceNode and MediaElementAudioSourceNode should support multi-channel > stereo
4784        https://bugs.webkit.org/show_bug.cgi?id=75119
4785
4786        Reviewed by Chris Rogers.
4787
4788        As multiple channel support in AudioBus and other places is already
4789        implemented, the check can be removed here.  
4790
4791        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
4792        (WebCore::MediaElementAudioSourceNode::setFormat):
4793
47942012-05-17  Dan Bernstein  <mitz@apple.com>
4795
4796        <rdar://problem/11419933> Problems with flipped writing modes and compositing
4797        https://bugs.webkit.org/show_bug.cgi?id=86032
4798
4799        Reviewed by Anders Carlsson.
4800
4801        Test: compositing/bounds-in-flipped-writing-mode.html
4802
4803        * rendering/RenderLayer.cpp:
4804        (WebCore::RenderLayer::calculateLayerBounds): Apply a writing-mode flip to the bounding box
4805        if needed.
4806
48072012-05-17  Kentaro Hara  <haraken@chromium.org>
4808
4809        [V8][Refactoring] Remove V8Proxy::throwError(const char*, v8::Isolate* = 0)
4810        https://bugs.webkit.org/show_bug.cgi?id=86794
4811
4812        Reviewed by Adam Barth.
4813
4814        As commented here (https://bugs.webkit.org/show_bug.cgi?id=84074#c5),
4815        I am refactoring a series of confusing throwError()s.
4816        This patch removes V8Proxy::throwError(const char*, v8::Isolate* = 0).
4817
4818        No tests. No change in behavior.
4819
4820        * bindings/v8/V8Utilities.cpp:
4821        (WebCore::extractTransferables):
4822        (WebCore::getMessagePortArray):
4823        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
4824        (WebCore::constructWebGLArrayWithArrayBufferArgument):
4825        (WebCore::constructWebGLArray):
4826        * bindings/v8/custom/V8AudioBufferSourceNodeCustom.cpp:
4827        (WebCore::V8AudioBufferSourceNode::bufferAccessorSetter):
4828        * bindings/v8/custom/V8ClipboardCustom.cpp:
4829        (WebCore::V8Clipboard::setDragImageCallback):
4830        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
4831        (WebCore::V8HTMLDocument::openCallback):
4832        * bindings/v8/custom/V8HTMLInputElementCustom.cpp:
4833        (WebCore::V8HTMLInputElement::selectionStartAccessorGetter):
4834        (WebCore::V8HTMLInputElement::selectionStartAccessorSetter):
4835        (WebCore::V8HTMLInputElement::selectionEndAccessorGetter):
4836        (WebCore::V8HTMLInputElement::selectionEndAccessorSetter):
4837        (WebCore::V8HTMLInputElement::selectionDirectionAccessorGetter):
4838        (WebCore::V8HTMLInputElement::selectionDirectionAccessorSetter):
4839        (WebCore::V8HTMLInputElement::setSelectionRangeCallback):
4840        * bindings/v8/custom/V8HTMLMediaElementCustom.cpp:
4841        (WebCore::V8HTMLMediaElement::controllerAccessorSetter):
4842        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
4843        (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
4844
48452012-05-17  Dana Jansens  <danakj@chromium.org>
4846
4847        [chromium] Scale all compositor output by the defaultDeviceScaleFactor
4848        https://bugs.webkit.org/show_bug.cgi?id=86051
4849
4850        Reviewed by James Robinson.
4851
4852        On initialization, give the defaultDeviceScaleFactor to the compositor
4853        to have it scale all output from WebCore's layout size to physical
4854        pixels. This allows us to scale up to high-dpi devices without using
4855        fixed-layout, so we can leave the WebCore frame size in layout pixels,
4856        while drawing the frame into a larger physical pixel size.
4857
4858        CCLayerTreeHost becomes aware of the deviceScaleFactor and scales all
4859        output by this factor by scaling the viewport and all drawing
4860        transforms.
4861
4862        Anything that works in physical pixels (content space), uses the
4863        deviceViewportSize() in place of the viewportSize(), since when
4864        deviceScaleFactor != 1 in CCLayerTreeHost, the WebCore viewport
4865        is no longer physical pixels.
4866
4867        Scroll positions are in layout pixels, and must be scaled to/from
4868        content space within the compositor.
4869
4870        Unit tests: CCLayerTreeHostTestDeviceScaleFactorScalesViewportAndLayers
4871
4872        * platform/graphics/chromium/LayerRendererChromium.h:
4873        (LayerRendererChromiumClient):
4874        (WebCore::LayerRendererChromium::viewportSize):
4875        (WebCore::LayerRendererChromium::viewportWidth):
4876        (WebCore::LayerRendererChromium::viewportHeight):
4877        (LayerRendererChromium):
4878        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
4879        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
4880        (WebCore::CCLayerTreeHost::setViewportSize):
4881        (WebCore::CCLayerTreeHost::updateLayers):
4882        (WebCore::CCLayerTreeHost::paintLayerContents):
4883        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
4884        (WebCore::CCSettings::CCSettings):
4885        (CCSettings):
4886        (CCLayerTreeHost):
4887        (WebCore::CCLayerTreeHost::deviceViewportSize):
4888        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
4889        (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
4890        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
4891        (WebCore::CCLayerTreeHostImpl::setViewportSize):
4892        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
4893        (WebCore::CCLayerTreeHostImpl::scrollBegin):
4894        (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
4895        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
4896        (WebCore::CCLayerTreeHostImpl::viewportSize):
4897        (CCLayerTreeHostImpl):
4898
48992012-05-17  Hayato Ito  <hayato@chromium.org>
4900
4901        [Shadow DOM] Add an assertion to make sure a visited node is not an active insertion point.
4902        https://bugs.webkit.org/show_bug.cgi?id=86708
4903
4904        Reviewed by Eric Seidel.
4905
4906        Since InsertionPoint now has isActive() member function,
4907        we can add an assertion to ComposedShadowTreeWalker::assertPrecondition()
4908        using that function.
4909
4910        No new tests, no change in behavior.
4911
4912        * dom/ComposedShadowTreeWalker.h:
4913        (WebCore::ComposedShadowTreeWalker::assertPrecondition):
4914
49152012-05-17  Ami Fischman  <fischman@chromium.org>
4916
4917        [Chromium] Store HTTP version in WebURLResponse
4918        https://bugs.webkit.org/show_bug.cgi?id=86522
4919
4920        Reviewed by Adam Barth.
4921
4922        No new tests; this isn't exposed to the web platform.
4923
4924        * platform/chromium/support/WebURLResponse.cpp:
4925        (WebKit::WebURLResponse::httpVersion):
4926        (WebKit):
4927        (WebKit::WebURLResponse::setHTTPVersion):
4928        * platform/network/chromium/ResourceResponse.h:
4929        (ResourceResponse):
4930        (WebCore::ResourceResponse::ResourceResponse):
4931        (WebCore::ResourceResponse::httpVersion):
4932        (WebCore::ResourceResponse::setHTTPVersion):
4933
49342012-05-17  Levi Weintraub  <leviw@chromium.org>
4935
4936        Floor y coordinate in Chromium's GraphicsContext::drawLineForText to avoid anti-aliasing
4937        https://bugs.webkit.org/show_bug.cgi?id=86775
4938
4939        Reviewed by Eric Seidel.
4940
4941        Despite operating in floats, we always want to draw lines for text aligned to pixel boundaries.
4942        There are similar functions to do this in other platforms, but to get proper results, we only
4943        need to floor the y value, as we always draw these lines horizontally.
4944
4945        No tests. No change in behavior prior to sub-pixel change.
4946
4947        * platform/graphics/skia/GraphicsContextSkia.cpp:
4948        (WebCore::GraphicsContext::drawLineForText):
4949
49502012-05-17  Michael Moss  <mmoss@chromium.org>
4951
4952        Linux amd64 platform reported as i686
4953        https://bugs.webkit.org/show_bug.cgi?id=86778
4954        http://code.google.com/p/chromium/issues/detail?id=128167
4955
4956        Remove the old hard-coded gyp define and allow the more recent (but
4957        still quite old) code in Source/WebCore/page/NavigatorBase.cpp to take
4958        precedence and detect this at runtime.
4959
4960        Reviewed by Tony Chang.
4961
4962        No new tests because it's hardware dependent.
4963
4964        * WebCore.gyp/WebCore.gyp:
4965
49662012-05-17  Vangelis Kokkevis  <vangelis@chromium.org>
4967
4968        [chromium] Expose layer tiling size options to WebSettings.
4969        https://bugs.webkit.org/show_bug.cgi?id=86425
4970
4971        Removing hardcoded tile size and max untiled layer size from TiledLayerChromium
4972        and instead have the values passed in via the LTH CCSettings. This will allow
4973        different compositor instances to adjust tiling parameters as needed and makes
4974        it possible to set the values via command line arguments.
4975
4976        Reviewed by Adrienne Walker.
4977
4978        * platform/graphics/chromium/TiledLayerChromium.cpp:
4979        (WebCore::TiledLayerChromium::TiledLayerChromium):
4980        (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
4981        Made some additional adjustments to the single-tile heuristic
4982        to make it work better with arbitrary sizes while still avoiding
4983        to create unreasonably large layers.
4984        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
4985        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
4986        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
4987        (WebCore::CCSettings::CCSettings):
4988        (CCSettings):
4989
49902012-05-17  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
4991
4992        Memory leak in NetworkInfoClient
4993        https://bugs.webkit.org/show_bug.cgi?id=86603
4994
4995        Reviewed by Adam Barth.
4996
4997        Fix a memory leak in NetworkInfoClient by using OwnPtr and
4998        change the class not to inherite from RefCounted.
4999
5000        * Modules/networkinfo/NetworkInfoClient.h:
5001
50022012-05-17  Joshua Bell  <jsbell@chromium.org>
5003
5004        IndexedDB: Remove IDBIndex.storeName
5005        https://bugs.webkit.org/show_bug.cgi?id=86676
5006
5007        Reviewed by Tony Chang.
5008
5009        Older versions of the IDB spec exposed IDBIndex.storeName. While it's been removed
5010        from the IDL, the additional storage/plumbing are unnecessary clutter. Nuke it!
5011
5012        No new tests - no functional changes.
5013
5014        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
5015        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl): Remove storeName parameter, and
5016        const declaration on object store param. The former was used to get a non-const pointer
5017        via indirection in openCursorInternal.
5018        (WebCore::IDBIndexBackendImpl::openCursorInternal): Use store pointer directly, don't
5019        look it up by name in the transaction.
5020        * Modules/indexeddb/IDBIndexBackendImpl.h:
5021        (WebCore::IDBIndexBackendImpl::create): Remove storeName parameters.
5022        (IDBIndexBackendImpl): Remove storeName() method.
5023        * Modules/indexeddb/IDBIndexBackendInterface.h:
5024        (IDBIndexBackendInterface): Remove storeName parameter.
5025        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
5026        (WebCore::IDBObjectStoreBackendImpl::createIndex): Remove storeName parameter.
5027        (WebCore::IDBObjectStoreBackendImpl::loadIndexes): Remove storeName parameter.
5028
50292012-05-17  Joshua Bell  <jsbell@chromium.org>
5030
5031        IndexedDB: Implement IDBObjectStore.autoIncrement
5032        https://bugs.webkit.org/show_bug.cgi?id=86662
5033
5034        Reviewed by Dimitri Glazkov.
5035
5036        Simple boolean accessor defined in the IDB spec, which reflects the
5037        object store's internal autoIncrement flag.
5038
5039        Test: storage/indexeddb/objectstore-basics.html
5040
5041        * Modules/indexeddb/IDBObjectStore.cpp:
5042        (WebCore::IDBObjectStore::autoIncrement): Forward call to back end.
5043        (WebCore):
5044        * Modules/indexeddb/IDBObjectStore.h: Expose attribute as method.
5045        (IDBObjectStore):
5046        * Modules/indexeddb/IDBObjectStore.idl: Define the attribute.
5047        * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Expose in interface.
5048        (IDBObjectStoreBackendInterface):
5049
50502012-05-17  Kentaro Hara  <haraken@chromium.org>
5051
5052        [V8][Refactoring] Remove throwError("message", XXXError) from CodeGeneratorV8.pm
5053        https://bugs.webkit.org/show_bug.cgi?id=86744
5054
5055        Reviewed by Adam Barth.
5056
5057        As commented in https://bugs.webkit.org/show_bug.cgi?id=84074#c5,
5058        I am refactoring a series of confusing throwError()s.
5059
5060        This patch removes throwError("message", XXXError) in CodeGeneratorV8.pm
5061        and replaces it with throwTypeError("message") or throwError(XXXError, "message").
5062
5063        No tests. No change in behavior.
5064
5065        * bindings/scripts/CodeGeneratorV8.pm:
5066        (GenerateParametersCheck):
5067        (GenerateConstructorCallback):
5068        (GenerateEventConstructorCallback):
5069        (GenerateNamedConstructorCallback):
5070        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
5071        (WebCore::V8TestEventConstructor::constructorCallback):
5072        * bindings/scripts/test/V8/V8TestInterface.cpp:
5073        (WebCore::V8TestInterface::constructorCallback):
5074        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
5075        (WebCore::V8TestNamedConstructorConstructorCallback):
5076        * bindings/scripts/test/V8/V8TestNode.cpp:
5077        (WebCore::V8TestNode::constructorCallback):
5078        * bindings/scripts/test/V8/V8TestObj.cpp:
5079        (WebCore::TestObjV8Internal::optionsObjectCallback):
5080        (WebCore::V8TestObj::constructorCallback):
5081        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
5082        (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
5083        (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
5084        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
5085
50862012-05-17  Gregg Tavares  <gman@google.com>
5087
5088        Add more descriptive warnings for framebuffer incomplete conditions
5089        https://bugs.webkit.org/show_bug.cgi?id=86774
5090
5091        Reviewed by Kenneth Russell.
5092
5093        No new tests as there is no new functionality
5094
5095        * html/canvas/WebGLFramebuffer.cpp:
5096        (WebCore::WebGLFramebuffer::checkStatus):
5097        (WebCore::WebGLFramebuffer::onAccess):
5098        (WebCore::WebGLFramebuffer::initializeRenderbuffers):
5099        * html/canvas/WebGLFramebuffer.h:
5100        (WebGLFramebuffer):
5101        * html/canvas/WebGLRenderingContext.cpp:
5102        (WebCore):
5103        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
5104        (WebCore::WebGLRenderingContext::clear):
5105        (WebCore::WebGLRenderingContext::copyTexImage2D):
5106        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
5107        (WebCore::WebGLRenderingContext::drawArrays):
5108        (WebCore::WebGLRenderingContext::drawElements):
5109        (WebCore::WebGLRenderingContext::readPixels):
5110        (WebCore::WebGLRenderingContext::printGLWarningToConsole):
5111        * html/canvas/WebGLRenderingContext.h:
5112
51132012-05-17  Oliver Hunt  <oliver@apple.com>
5114
5115        Endeavour to make the windows test bot actually able to run tests.
5116        https://bugs.webkit.org/show_bug.cgi?id=86772
5117
5118        Reviewed by Sam Weinig.
5119
5120        Use WEBKIT_EXPORT to get correct export behaviour on windows, rather than
5121        relying on the .def files.
5122
5123        * bindings/js/JSDOMGlobalObject.h:
5124        (JSDOMGlobalObject):
5125        * bindings/scripts/CodeGeneratorJS.pm:
5126        (GenerateHeader):
5127
51282012-05-17  Beth Dakin  <bdakin@apple.com>
5129
5130        https://bugs.webkit.org/show_bug.cgi?id=86266
5131        r112643/r116697 break Webview form input fields
5132        -and corresponding-
5133        <rdar://problem/11400430>
5134
5135        Reviewed by Dan Bernstein.
5136
5137        There is a recent history of changes in this are that seem worth documenting. 
5138        First was the change to switch to using NSTextFieldCell to draw text fields: 
5139        http://trac.webkit.org/changeset/104240
5140
5141        That led to problems because of the clear background that I thought at the time 
5142        were specific to MountainLion. To fix that, I made this change:
5143        http://trac.webkit.org/changeset/110480
5144
5145        But that change resulted in styled text fields getting an un-themed border, which 
5146        led to this change on the branch: http://trac.webkit.org/changeset/112643 and a 
5147        change on TOT that was identical for Lion and SnowLeopard but introduced new 
5148        behavior for MountainLion: http://trac.webkit.org/changeset/116697
5149
5150        And that brings us to this bug, where it turns out the clear background is a 
5151        problem on Lion and SnowLeopard too. This patch fixes the bug by using the 
5152        original WebCoreSystemInterface function to paint all text fields on Lion and 
5153        SnowLeopard that are styled. This is what we used to paint all text fields before 
5154        r104240, which is the first change listed above. Un-styled text fields will still 
5155        use NSTextFieldCell on these platforms, but with a hardcoded white background. 
5156        * rendering/RenderThemeMac.h:
5157        (RenderThemeMac):
5158        * rendering/RenderThemeMac.mm:
5159        (WebCore::RenderThemeMac::paintTextField):
5160        (WebCore::RenderThemeMac::textField):
5161
51622012-05-15  Andreas Kling  <kling@webkit.org>
5163
5164        IconDatabase: Move icon retain/release off of the main thread.
5165        <http://webkit.org/b/85799>
5166        <rdar://problem/9507113>
5167
5168        Reviewed by Brady Eidson.
5169
5170        Batch up the retain/release operations and execute them as part of the sync thread loop.
5171        The batch execution is guarded by a new mutex (m_urlsToRetainOrReleaseLock.)
5172        This avoids blocking the main thread on m_urlAndIconLock for basic retain/release.
5173
5174        There is one exception; if there are pending retain/release operations in synchronousIconForPageURL,
5175        it will acquire the lock and flush the operations.
5176
5177        There should be no behavior change, this is only meant to reduce lock contention.
5178
5179        * loader/icon/PageURLRecord.h:
5180        (WebCore::PageURLRecord::retain):
5181        (WebCore::PageURLRecord::release):
5182
5183            Added a 'count' argument to these so we can batch up the operations in IconDatabase.
5184
5185        * loader/icon/IconDatabase.h:
5186        * loader/icon/IconDatabase.cpp:
5187        (WebCore::IconDatabase::performScheduleOrDeferSyncTimer):
5188        (WebCore::IconDatabase::performScheduleOrDeferSyncTimerOnMainThread):
5189        (WebCore::IconDatabase::scheduleOrDeferSyncTimer):
5190
5191            Perform the the timer scheduling on the main thread as it can be done on a different
5192            thread by way of retainIconForPageURL or releaseIconForPageURL.
5193
5194        (WebCore::IconDatabase::synchronousIconForPageURL):
5195        (WebCore::IconDatabase::retainIconForPageURL):
5196        (WebCore::IconDatabase::performRetainIconForPageURL):
5197        (WebCore::IconDatabase::releaseIconForPageURL):
5198        (WebCore::IconDatabase::performReleaseIconForPageURL):
5199        (WebCore::IconDatabase::retainedPageURLCount):
5200        (WebCore::IconDatabase::IconDatabase):
5201        (WebCore::IconDatabase::performURLImport):
5202        (WebCore::IconDatabase::syncThreadMainLoop):
5203        (WebCore::IconDatabase::performPendingRetainAndReleaseOperations):
5204
52052012-05-17  Julien Chaffraix  <jchaffraix@webkit.org>
5206
5207        Kill RenderLayer::relativePositionOffset(LayoutUnit& relX, LayoutUnit& relY) and cleanup RenderInline::clippedOverflowRectForRepaint
5208        https://bugs.webkit.org/show_bug.cgi?id=86551
5209
5210        Reviewed by Abhishek Arya.
5211
5212        No test since there is no expected change in behavior.
5213
5214        * rendering/RenderInline.cpp:
5215        (WebCore::RenderInline::clippedOverflowRectForRepaint):
5216        Changed the function to use LayoutRect arithmetics instead of calculating
5217        top / left manually. While at it, improved the naming, removed some local
5218        variables and removed an unneeded style() NULL-check.
5219
5220        * rendering/RenderLayer.h: Removed the function.
5221
52222012-05-17  Rob Buis  <rwlbuis@webkit.org>
5223
5224        [BlackBerry] Fix linking errors
5225        https://bugs.webkit.org/show_bug.cgi?id=86768
5226
5227        Reviewed by Antonio Gomes.
5228
5229        Add some missing stubs so we can link again.
5230
5231        * platform/blackberry/ContextMenuBlackBerry.cpp:
5232        (WebCore::ContextMenu::itemCount):
5233        (WebCore):
5234        * platform/blackberry/PlatformScreenBlackBerry.cpp:
5235        (WebCore::screenHorizontalDPI):
5236        (WebCore):
5237        (WebCore::screenVerticalDPI):
5238
52392012-05-17  Emil A Eklund  <eae@chromium.org>
5240
5241        Fix rounding in paintSelection
5242        https://bugs.webkit.org/show_bug.cgi?id=86693
5243
5244        Reviewed by Eric Seidel.
5245
5246        Break out rounding logic from InlineTextBox::paintSelection into separate
5247        function and use it for all the EllipsisBox paintSelection implementation
5248        and selection gap calculation. This ensures that selections are painted
5249        without gaps and overlaps once we turn on subpixel layout.
5250
5251        No new tests, covered by existing tests in editing/selection and
5252        editing/style.
5253
5254        * rendering/EllipsisBox.cpp:
5255        (WebCore::EllipsisBox::paintSelection):
5256        * rendering/InlineTextBox.cpp:
5257        (WebCore::alignSelectionRectToDevicePixels):
5258        (WebCore):
5259        (WebCore::InlineTextBox::paintSelection):
5260        * rendering/InlineTextBox.h:
5261        (WebCore):
5262        * rendering/RenderBlock.cpp:
5263        (WebCore::RenderBlock::logicalLeftSelectionGap):
5264        (WebCore::RenderBlock::logicalRightSelectionGap):
5265
52662012-05-17  Michal Mocny  <mmocny@google.com>
5267
5268        [chromium] Limiting render surface texture manager memory to 0 when contentsMemoryUseBytes is large.
5269        https://bugs.webkit.org/show_bug.cgi?id=86764
5270
5271        Reviewed by Adrienne Walker.
5272
5273        * platform/graphics/chromium/LayerRendererChromium.cpp:
5274        (WebCore::LayerRendererChromium::beginDrawingFrame):
5275
52762012-05-17  Dan Bernstein  <mitz@apple.com>
5277
5278        In vertical writing modes, pagination may split a line after a block shifts
5279        https://bugs.webkit.org/show_bug.cgi?id=86763
5280
5281        Reviewed by Sam Weinig.
5282
5283        Test: fast/multicol/pageLogicalOffset-vertical.html
5284
5285        LayoutState::pageLogicalOffset() was returning bogus results in vertical writing modes,
5286        because it was always using physical heights. Changed it to take a RenderBox and use its
5287        writing mode to choose between heights and widths.
5288
5289        * rendering/LayoutState.cpp:
5290        (WebCore::LayoutState::pageLogicalOffset):
5291        (WebCore::LayoutState::addForcedColumnBreak):
5292        * rendering/LayoutState.h:
5293        (LayoutState):
5294        * rendering/RenderBlock.cpp:
5295        (WebCore::RenderBlock::layoutBlock):
5296        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
5297        (WebCore::RenderBlock::layoutColumns):
5298        (WebCore::RenderBlock::applyBeforeBreak):
5299        (WebCore::RenderBlock::applyAfterBreak):
5300        * rendering/RenderDeprecatedFlexibleBox.cpp:
5301        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
5302        * rendering/RenderTable.cpp:
5303        (WebCore::RenderTable::layout):
5304        * rendering/RenderTableRow.cpp:
5305        (WebCore::RenderTableRow::layout):
5306        * rendering/RenderTableSection.cpp:
5307        (WebCore::RenderTableSection::layoutRows):
5308
53092012-05-17  Abhishek Arya  <inferno@chromium.org>
5310
5311        Move run-in handling to addChild, instead of in layout.
5312        https://bugs.webkit.org/show_bug.cgi?id=86387
5313
5314        Reviewed by Julien Chaffraix.
5315
5316        Tests: fast/runin/insert-before-run-in.html
5317               fast/runin/run-in-after-run-in.html
5318               fast/runin/run-in-parent-add-child.html
5319               fast/runin/run-in-parent-block-child-add-and-intrude.html
5320               fast/runin/run-in-parent-block-child-add.html
5321
5322        * rendering/RenderBlock.cpp:
5323        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): handle run-ins here
5324        instead of layout. We do run-in handling when we see a new child with run-in display
5325        or add a new block whose previous sibling is run-in.
5326        (WebCore::RenderBlock::makeChildrenNonInline): if we will have block children, need
5327        to move run-in back to its original position.
5328        (WebCore::RenderBlock::handleSpecialChild): no longer need to handle run-ins during layout.
5329        (WebCore::destroyRunIn): helper to destroy a block or inline run-in.
5330        (WebCore):
5331        (WebCore::RenderBlock::createReplacementRunIn): helper to create the new replacement run-in.
5332        For moveRunInUnderSiblingBlockIfNeeded, it will be used to create a new inline run-in
5333        that goes into the next sibling block. For moveRunInToOriginalPosition, it creates a new
5334        block run-in that goes back to where it came from.
5335        (WebCore::RenderBlock::moveRunInUnderSiblingBlockIfNeeded): almost same as previous
5336        handleRunInChild function, but with the return type removed. Also, we don't allow
5337        a run-in to intrude into a block that already has a run-in.
5338        (WebCore::RenderBlock::moveRunInToOriginalPosition): moves run-in back to where it came from.
5339        * rendering/RenderBlock.h:
5340        (RenderBlock):
5341        * rendering/RenderBox.cpp:
5342        * rendering/RenderBox.h:
5343        (RenderBox):
5344        * rendering/RenderBoxModelObject.cpp: move all moveChild* functions from RenderBox, since
5345        they can now be used to move children of inlines.
5346        (WebCore::RenderBoxModelObject::moveChildTo): same.
5347        (WebCore):
5348        (WebCore::RenderBoxModelObject::moveChildrenTo): same.
5349        * rendering/RenderBoxModelObject.h:
5350        (RenderBoxModelObject):
5351        (WebCore::RenderBoxModelObject::moveChildTo): same.
5352        (WebCore::RenderBoxModelObject::moveAllChildrenTo): same.
5353        (WebCore::RenderBoxModelObject::moveChildrenTo): same.
5354
53552012-05-17  Mikhail Naganov  <mnaganov@chromium.org>
5356
5357        Support Copy ... actions for the Web Inspector remote debugging mode.
5358        https://bugs.webkit.org/show_bug.cgi?id=86621
5359
5360        Reviewed by Pavel Feldman.
5361
5362        * English.lproj/localizedStrings.js:
5363        * inspector/front-end/InspectorFrontendHostStub.js:
5364        (.WebInspector.InspectorFrontendHostStub):
5365        (.WebInspector.InspectorFrontendHostStub.prototype.documentCopy):
5366        (.WebInspector.InspectorFrontendHostStub.prototype.copyText):
5367        (.WebInspector.clipboardAccessDeniedMessage):
5368        (.WebInspector.ClipboardAccessDeniedScreen):
5369        * inspector/front-end/inspector.html:
5370        * inspector/front-end/inspector.js:
5371        (WebInspector.documentCopy):
5372        (WebInspector.documentCopyEventFired):
5373
53742012-05-02  Robert Hogan  <robert@webkit.org>
5375
5376        CSS 2.1 failure: table-height-algorithm-023 and -024 fail
5377        https://bugs.webkit.org/show_bug.cgi?id=85405
5378
5379        Reviewed by Eric Seidel.
5380
5381        Treat vertical-align: [length] the same as vertical-align: baseline.
5382
5383        Tests: css2.1/20110323/table-height-algorithm-023.htm
5384               css2.1/20110323/table-height-algorithm-024.htm
5385               fast/table/mozilla-bug10296-vertical-align-1.html
5386               fast/table/mozilla-bug10296-vertical-align-2.html
5387
5388        * rendering/RenderTableSection.cpp:
5389        (WebCore::RenderTableSection::calcRowLogicalHeight):
5390        (WebCore::RenderTableSection::layoutRows):
5391
53922012-05-17  Emil A Eklund  <eae@chromium.org>
5393
5394        Fix rounding in RenderFlowThread::paintIntoRegion
5395        https://bugs.webkit.org/show_bug.cgi?id=86695
5396
5397        Reviewed by Eric Seidel.
5398
5399        Fix rounding of offset in paintIntoRegion to ensure that we paint on
5400        device pixel boundaries.
5401
5402        Covered by existing tests in fast/regions.
5403
5404        * platform/graphics/FractionalLayoutPoint.h:
5405        (WebCore::roundedIntPoint):
5406        Add roundedIntPoint(FractionalLayoutSize) function.
5407        (WebCore):
5408        * rendering/RenderFlowThread.cpp:
5409        (WebCore::RenderFlowThread::paintIntoRegion):
5410
54112012-05-17  Andreas Kling  <kling@webkit.org>
5412
5413        Parser: Avoid unnecessary ref count churn in token constructors.
5414        <http://webkit.org/b/86667>
5415
5416        Reviewed by Antti Koivisto.
5417
5418        Pass AtomicString by const reference to avoid useless ref count churn
5419        in AtomicHTMLToken() and AtomicXMLToken().
5420
5421        * html/parser/HTMLToken.h:
5422        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
5423        * xml/parser/MarkupTokenBase.h:
5424        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
5425        * xml/parser/XMLToken.h:
5426        (WebCore::AtomicXMLToken::AtomicXMLToken):
5427
54282012-05-16  Andreas Kling  <kling@webkit.org>
5429
5430        Make PluginInfoStore properly thread-safe.
5431        <http://webkit.org/b/86648>
5432        <rdar://problem/11451178>
5433
5434        Reviewed by Darin Adler.
5435
5436        * plugins/PluginData.h:
5437        (WebCore::MimeClassInfo::isolatedCopy):
5438        (WebCore::PluginInfo::isolatedCopy):
5439
54402012-05-17  Hironori Bono  <hbono@chromium.org>
5441
5442        [Refactoring] Move platform-specific code in Editor::respondToChangedSelection to the WebKit layer
5443        https://bugs.webkit.org/show_bug.cgi?id=86591
5444
5445        Reviewed by Ryosuke Niwa.
5446
5447        This change adds a TextCheckerClient::shouldEraseMarkersAfterChangeSelection
5448        function to remove platform-specific code from Editor::respondToChangedSelection
5449        function.
5450
5451        No new tests, no change in behavior.
5452
5453        * editing/Editor.cpp:
5454        (WebCore::Editor::respondToChangedSelection):
5455        * loader/EmptyClients.h:
5456        (WebCore::EmptyTextCheckerClient::shouldEraseMarkersAfterChangeSelection):
5457        * platform/text/TextCheckerClient.h:
5458        (TextCheckerClient):
5459
54602012-05-11  James Robinson  <jamesr@chromium.org>
5461
5462        [chromium] Convert GraphicsLayerChromium to use WebLayer types
5463        https://bugs.webkit.org/show_bug.cgi?id=86269
5464
5465        Reviewed by Adrienne Walker.
5466
5467        This converts GraphicsLayerChromium over to use WebLayer and WebContentLayer. The conversion is not completely
5468        as the Web*Layer APIs are not yet quite complete enough to use everywhere, and the PlatformLayer typedef is not
5469        changed in this patch. The places where we have to punch out through API layer are marked by
5470        unwrap<*LayerChromium>() calls and FIXME's in the Web*Layer.h files.  There aren't many.
5471
5472        Refactor only, existing tests apply.
5473
5474        * platform/chromium/support/WebTransformationMatrix.cpp:
5475        (WebKit):
5476        (WebKit::WebTransformationMatrix::reset):
5477        (WebKit::WebTransformationMatrix::projectPoint):
5478        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
5479        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
5480        (WebCore::GraphicsLayerChromium::willBeDestroyed):
5481        (WebCore::GraphicsLayerChromium::setName):
5482        (WebCore::GraphicsLayerChromium::updateNames):
5483        (WebCore::GraphicsLayerChromium::removeFromParent):
5484        (WebCore::GraphicsLayerChromium::setSize):
5485        (WebCore::GraphicsLayerChromium::setTransform):
5486        (WebCore::GraphicsLayerChromium::setBackgroundColor):
5487        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
5488        (WebCore::GraphicsLayerChromium::setContentsOpaque):
5489        (WebCore::GraphicsLayerChromium::setFilters):
5490        (WebCore::GraphicsLayerChromium::setMaskLayer):
5491        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
5492        (WebCore::GraphicsLayerChromium::setOpacity):
5493        (WebCore::GraphicsLayerChromium::setReplicatedByLayer):
5494        (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
5495        (WebCore::GraphicsLayerChromium::setNeedsDisplay):
5496        (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
5497        (WebCore::GraphicsLayerChromium::setContentsToImage):
5498        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
5499        (WebCore::GraphicsLayerChromium::addAnimation):
5500        (WebCore::GraphicsLayerChromium::pauseAnimation):
5501        (WebCore::GraphicsLayerChromium::removeAnimation):
5502        (WebCore::GraphicsLayerChromium::suspendAnimations):
5503        (WebCore::GraphicsLayerChromium::resumeAnimations):
5504        (WebCore::GraphicsLayerChromium::setContentsToMedia):
5505        (WebCore::GraphicsLayerChromium::hostLayerForChildren):
5506        (WebCore::GraphicsLayerChromium::layerForParent):
5507        (WebCore::GraphicsLayerChromium::platformLayer):
5508        (WebCore::GraphicsLayerChromium::setDebugBackgroundColor):
5509        (WebCore::GraphicsLayerChromium::setDebugBorder):
5510        (WebCore::GraphicsLayerChromium::updateChildList):
5511        (WebCore::GraphicsLayerChromium::updateLayerPosition):
5512        (WebCore::GraphicsLayerChromium::updateLayerSize):
5513        (WebCore::GraphicsLayerChromium::updateAnchorPoint):
5514        (WebCore::GraphicsLayerChromium::updateTransform):
5515        (WebCore::GraphicsLayerChromium::updateChildrenTransform):
5516        (WebCore::GraphicsLayerChromium::updateMasksToBounds):
5517        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
5518        (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
5519        (WebCore::GraphicsLayerChromium::updateLayerBackgroundColor):
5520        (WebCore::GraphicsLayerChromium::updateContentsRect):
5521        (WebCore::GraphicsLayerChromium::updateContentsScale):
5522        (WebCore::GraphicsLayerChromium::setupContentsLayer):
5523        * platform/graphics/chromium/GraphicsLayerChromium.h:
5524        (WebCore::GraphicsLayerChromium::hasContentsLayer):
5525        (WebCore::GraphicsLayerChromium::contentsLayer):
5526        (WebCore::GraphicsLayerChromium::primaryLayer):
5527        (GraphicsLayerChromium):
5528        * platform/graphics/chromium/LayerChromium.h:
5529        (LayerChromium):
5530
55312012-05-17  Tony Chang  <tony@chromium.org>
5532
5533        remove bit rotted comment about css properties
5534        https://bugs.webkit.org/show_bug.cgi?id=86750
5535
5536        Reviewed by Alexis Menard.
5537
5538        It's not clear to me what the first block was even referring to.
5539        Aural doesn't seem to exist anymore. It might be worth keeping,
5540        "All the CSS properties are not supported by the renderer at the
5541        moment.", but it seems obvious to me.
5542
5543        No new tests, just removing a comment.
5544
5545        * css/CSSParser.cpp:
5546        (WebCore::CSSParser::parseValue):
5547
55482012-05-17  Adrienne Walker  <enne@google.com>
5549
5550        Insert source file and line number for v8 function calls into tracing
5551        https://bugs.webkit.org/show_bug.cgi?id=84613
5552
5553        Reviewed by Kentaro Hara.
5554
5555        The trace for v8 function calls doesn't include any information about
5556        what function is being called. Pass this information along so it can
5557        be less opaque.
5558
5559        * bindings/v8/V8Proxy.cpp:
5560        (WebCore::resourceInfo):
5561        (WebCore):
5562        (WebCore::resourceString):
5563        (WebCore::V8Proxy::instrumentedCallFunction):
5564        * platform/chromium/TraceEvent.h:
5565        (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
5566
55672012-05-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
5568
5569        [Qt] REGRESSION(101967): It made editing/style/iframe-onload-crash-mac.html timeout
5570        https://bugs.webkit.org/show_bug.cgi?id=73802
5571
5572        Reviewed by Ryosuke Niwa.
5573
5574        Timeout was caused by an infinite in the outer loop of
5575        pushDownInlineStyleAroundNode(). The outer loop variable 'current' should point at the
5576        node containing 'targetNode'. The inner loop traverse the children of 'current'
5577        and discover the children that contains 'targetNode'.
5578
5579        However, before the inner loop, we call removeInlineStyleFromElement() that can
5580        potentially remove the 'current' node from the tree, moving its children to
5581        'current' former parent. For that reason 'child' and 'lastChild' are collected
5582        before this call.
5583
5584        The tricky part is that changing the 'current' children parent, we might trigger
5585        further side-effects, that can remove either 'child' or 'lastChild' from the tree
5586        too. The infinite loop was due to 'child' being off the document, so it's
5587        nextSibling() is 0, and we go another run of outer loop without changing
5588        'current' because the 'targetNode' wasn't in the first child that inner loop
5589        couldn't reach.
5590
5591        When testing Qt on Mac, there was also a crash in RenderTextControl when the font
5592        family was empty, this patch fixes it as well.
5593
5594        * editing/ApplyStyleCommand.cpp:
5595        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode): Use NodeVector
5596        instead of relying on first/last child being valid after
5597        removeInlineStyleFromElement() is called. Skip the child if it has no parent,
5598        this is an indication that it was removed from the tree.
5599
5600        * rendering/RenderTextControl.cpp:
5601        (WebCore::RenderTextControl::hasValidAvgCharWidth): Empty AtomicStrings aren't
5602        supported by HashSet, so we have to early return in this case.
5603
56042012-05-17  Pavel Feldman  <pfeldman@chromium.org>
5605
5606        Web Inspector: implement Go To selector for stylesheet files.
5607        https://bugs.webkit.org/show_bug.cgi?id=86751
5608
5609        Reviewed by Yury Semikhatsky.
5610
5611        StyleSheetOutlineDialog is introduced.
5612
5613        * English.lproj/localizedStrings.js:
5614        * inspector/front-end/FilteredItemSelectionDialog.js:
5615        * inspector/front-end/ScriptsPanel.js:
5616        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
5617        (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):
5618        (WebInspector.ScriptsPanel.prototype._showOutlineDialog):
5619        * inspector/front-end/StylesPanel.js:
5620        (WebInspector.StyleSheetOutlineDialog):
5621        (WebInspector.StyleSheetOutlineDialog.show):
5622        (WebInspector.StyleSheetOutlineDialog.prototype.itemTitleAt):
5623        (WebInspector.StyleSheetOutlineDialog.prototype.itemKeyAt):
5624        (WebInspector.StyleSheetOutlineDialog.prototype.itemsCount):
5625        (WebInspector.StyleSheetOutlineDialog.prototype.requestItems):
5626        (WebInspector.StyleSheetOutlineDialog.prototype.requestItems.didGetStyleSheet):
5627        (WebInspector.StyleSheetOutlineDialog.prototype.selectItem):
5628        * inspector/front-end/TabbedEditorContainer.js:
5629        (WebInspector.TabbedEditorContainer.prototype._generateTabId):
5630        (WebInspector.TabbedEditorContainer.prototype.currentFile):
5631
56322012-05-17  Dan Bernstein  <mitz@apple.com>
5633
5634        REGRESSION (r117428): WebKit API/SPI was removed
5635        https://bugs.webkit.org/show_bug.cgi?id=86748
5636
5637        Reverted r117428.
5638
5639        * testing/InternalSettings.cpp:
5640        (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture):
5641        * testing/InternalSettings.h:
5642        (InternalSettings):
5643        * testing/InternalSettings.idl:
5644
56452012-05-17  Pavel Feldman  <pfeldman@chromium.org>
5646
5647        Web Inspector: create SourceFrames with content providers.
5648        https://bugs.webkit.org/show_bug.cgi?id=86742
5649
5650        Reviewed by Vsevolod Vlasov.
5651
5652        Simple refactoring.
5653
5654        * inspector/front-end/JavaScriptSourceFrame.js:
5655        (WebInspector.JavaScriptSourceFrame):
5656        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
5657        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
5658        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
5659        * inspector/front-end/ResourceView.js:
5660        (WebInspector.ResourceSourceFrame):
5661        (WebInspector.ResourceSourceFrame.prototype.get resource):
5662        * inspector/front-end/ScriptsPanel.js:
5663        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
5664        * inspector/front-end/SourceFrame.js:
5665        (WebInspector.SourceFrame):
5666        (WebInspector.SourceFrame.prototype._ensureContentLoaded):
5667        * inspector/front-end/StylesPanel.js:
5668        (WebInspector.StyleSourceFrame):
5669        * inspector/front-end/UISourceCode.js:
5670        (WebInspector.UISourceCode.prototype.contentURL):
5671
56722012-05-17  Yury Semikhatsky  <yurys@chromium.org>
5673
5674        Web Inspector: error when expanding an HTMLAllCollection object in the console
5675        https://bugs.webkit.org/show_bug.cgi?id=86741
5676
5677        Reviewed by Pavel Feldman.
5678
5679        Test: inspector/console/inspect-html-all-collection.html
5680
5681        * inspector/InjectedScriptSource.js: take into account that typeof HTMLAllCollection is "undefined"
5682        when checking if object resolved by id is valid.
5683
56842012-05-17  Kinuko Yasuda  <kinuko@chromium.org>
5685
5686        Unreviewed build fix attempt. Changing class to struct in forward declaration.
5687
5688        * fileapi/File.h:
5689        (WebCore):
5690
56912012-05-17  Pavel Feldman  <pfeldman@chromium.org>
5692
5693        Web Inspector: convert styles panel into UISourceCodeProvider in the scripts panel.
5694        https://bugs.webkit.org/show_bug.cgi?id=86734
5695
5696        Reviewed by Vsevolod Vlasov.
5697
5698        This change also makes Scripts render ans Source Code under that experiment.
5699
5700        * English.lproj/localizedStrings.js:
5701        * inspector/front-end/ScriptsNavigator.js:
5702        (WebInspector.ScriptsNavigator):
5703        * inspector/front-end/ScriptsPanel.js:
5704        (WebInspector.ScriptsPanel.prototype.get toolbarItemLabel):
5705        (WebInspector.ScriptsPanel.prototype.canShowAnchorLocation):
5706        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
5707        * inspector/front-end/Settings.js:
5708        (WebInspector.ExperimentsSettings):
5709        * inspector/front-end/StylesPanel.js:
5710        (WebInspector.StylesUISourceCodeProvider):
5711        (WebInspector.StylesUISourceCodeProvider.prototype.uiSourceCodes):
5712        (WebInspector.StylesUISourceCodeProvider.prototype._initialize):
5713        (WebInspector.StylesUISourceCodeProvider.prototype._resourceAdded):
5714        (WebInspector.StylesUISourceCodeProvider.prototype._reset):
5715        (WebInspector.StyleSource):
5716        (WebInspector.StyleSourceFrame):
5717        (WebInspector.StyleSourceFrame.prototype.canEditSource):
5718        (WebInspector.StyleSourceFrame.prototype.requestContent):
5719        (WebInspector.StyleSourceFrame.prototype.commitEditing):
5720        (WebInspector.StyleSourceFrame.prototype.afterTextChanged):
5721        (WebInspector.StyleSourceFrame.prototype._clearIncrementalUpdateTimer):
5722        (WebInspector.StyleSourceFrame.prototype._contentChanged):
5723        * inspector/front-end/StylesSidebarPane.js:
5724        (WebInspector.StylePropertiesSection):
5725        (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
5726        * inspector/front-end/UISourceCode.js:
5727        * inspector/front-end/inspector.js:
5728        (WebInspector._createPanels):
5729
57302012-05-17  Antti Koivisto  <antti@apple.com>
5731
5732        Frame flattening should not expand tiny frames
5733        https://bugs.webkit.org/show_bug.cgi?id=86736
5734
5735        Reviewed by Kenneth Rohde Christiansen.
5736        
5737        If a frame has so small fixed size that it is not usefully scrollable on desktop it is probably
5738        not meant to be scrolled. Displaying any otherwise invisible content by expanding the frame
5739        may end up looking like a rendering error.
5740
5741        The patch prevents expansion of frames that have fixed width or height less than 8px.
5742
5743        Test: fast/frames/flattening/iframe-tiny.html
5744
5745        * rendering/RenderFrameBase.cpp:
5746        (WebCore::shouldExpandFrame):
5747        (WebCore):
5748        (WebCore::RenderFrameBase::layoutWithFlattening):
5749
57502012-05-17  Yury Semikhatsky  <yurys@chromium.org>
5751
5752        [Chromium] Web Inspector: assertion failure when inspecting a shared worker in debug mode
5753        https://bugs.webkit.org/show_bug.cgi?id=86726
5754
5755        Reviewed by Pavel Feldman.
5756
5757        No need to keep RefPtr to WorkerThread in a task that will be executed on
5758        that thread, raw pointer can be used instead.
5759
5760        * inspector/WorkerDebuggerAgent.cpp:
5761
57622012-05-17  Kentaro Hara  <haraken@chromium.org>
5763
5764        [V8][Refactoring] Support an optional 'message' argument for throwTypeError()
5765        https://bugs.webkit.org/show_bug.cgi?id=86576
5766
5767        Reviewed by Adam Barth.
5768
5769        As commented in https://bugs.webkit.org/show_bug.cgi?id=84074#c5,
5770        I am planning to refactor a series of confusing throwError()s into
5771        throwError() and throwTypeError().
5772
5773        This patch supports an optional 'message' argument for V8Proxy::throwTypeError().
5774        Also this patch replaces throwError("message", V8Proxy::TypeError) in custom bindings
5775        with V8Proxy::throwTypeError("message").
5776
5777        No tests. No change in behavior.
5778
5779        * bindings/v8/V8Proxy.cpp:
5780        (WebCore::V8Proxy::throwTypeError):
5781        * bindings/v8/V8Proxy.h:
5782        (V8Proxy):
5783        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
5784        (WebCore::constructWebGLArray):
5785        * bindings/v8/custom/V8AudioContextCustom.cpp:
5786        (WebCore::V8AudioContext::constructorCallback):
5787        * bindings/v8/custom/V8BlobCustom.cpp:
5788        (WebCore::V8Blob::constructorCallback):
5789        * bindings/v8/custom/V8DOMFormDataCustom.cpp:
5790        (WebCore::V8DOMFormData::constructorCallback):
5791        * bindings/v8/custom/V8DataViewCustom.cpp:
5792        (WebCore::V8DataView::constructorCallback):
5793        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
5794        (WebCore::v8HTMLImageElementConstructorCallback):
5795        * bindings/v8/custom/V8IntentConstructor.cpp:
5796        (WebCore::V8Intent::constructorCallback):
5797        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
5798        (WebCore::V8MessageChannel::constructorCallback):
5799        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
5800        (WebCore::V8NotificationCenter::requestPermissionCallback):
5801        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
5802        (WebCore::V8WebKitMutationObserver::constructorCallback):
5803        * bindings/v8/custom/V8WebKitPointConstructor.cpp:
5804        (WebCore::V8WebKitPoint::constructorCallback):
5805        * bindings/v8/custom/V8WebSocketCustom.cpp:
5806        (WebCore::V8WebSocket::constructorCallback):
5807        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
5808        (WebCore::V8XMLHttpRequest::constructorCallback):
5809
58102012-05-16  Andrey Kosyakov  <caseq@chromium.org>
5811
5812        Web Inspector: [Extensions API] pages shown in sidebar are limited in height to 150px
5813        https://bugs.webkit.org/show_bug.cgi?id=86659
5814
5815        Reviewed by Vsevolod Vlasov.
5816
5817        * inspector/front-end/ExtensionPanel.js:
5818        (WebInspector.ExtensionView):
5819        (WebInspector.ExtensionSidebarPane.prototype.setPage): set default iframe height to 150px, unless already set by user.
5820        * inspector/front-end/inspector.css: set extension view and iframe elements to "fill", iframe to 100% height.
5821        (iframe.extension):
5822
58232012-05-17  Sam D  <dsam2912@gmail.com>
5824
5825        Web Inspector: Hover on a breakpoint in breakpoint-pane does not get differentiated.
5826        https://bugs.webkit.org/show_bug.cgi?id=86711
5827
5828        Changed color values with background on hover over breakpoints.
5829
5830        Reviewed by Yury Semikhatsky.
5831
5832        UI change, No new tests.
5833
5834        * inspector/front-end/inspector.css:
5835        (.breakpoint-list li:hover):
5836
58372012-05-17  Vivek Galatage  <vivekgalatage@gmail.com>
5838
5839        Web Inspector: DOM Breakpoints Pane should allow to Remove All the breakpoints
5840        https://bugs.webkit.org/show_bug.cgi?id=86716
5841
5842        Reviewed by Yury Semikhatsky.
5843
5844        Added a new context menu to provide Remove All DOM breakpoint option.
5845
5846        UI Feature. Tests not required.
5847
5848        * English.lproj/localizedStrings.js:
5849        * inspector/front-end/DOMBreakpointsSidebarPane.js:
5850        (WebInspector.DOMBreakpointsSidebarPane.prototype._removeAllBreakpoints):
5851        (WebInspector.DOMBreakpointsSidebarPane.prototype._contextMenu):
5852
58532012-05-17  Ilya Tikhonovsky  <loislo@chromium.org>
5854
5855        Web Inspector: HeapSnapshot: speed-up calculateObjectToWindowDistance
5856        https://bugs.webkit.org/show_bug.cgi?id=86718
5857
5858        The idea is to switch from nodeIndex2distance array to nodeOrdinal2distance external array.
5859        Due to nature of nodeIndex values the original array was sparsed.
5860
5861        Reviewed by Yury Semikhatsky.
5862
5863        * inspector/front-end/HeapSnapshot.js:
5864        (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
5865        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
5866        (WebInspector.HeapSnapshot.prototype._bfs):
5867        (WebInspector.HeapSnapshot.prototype._buildAggregates):
5868
58692012-05-11  Kinuko Yasuda  <kinuko@chromium.org>
5870
5871        Allow FileSystem API implementation to pass snapshot metadata at File creation time
5872        https://bugs.webkit.org/show_bug.cgi?id=78879
5873
5874        Reviewed by Jian Li.
5875
5876        We query File metadata (e.g. size and modifiedTime) when File.size,
5877        lastModifiedTime or webkitSlice() is accessed / called, but in some
5878        platform-specific filesystems it may not be feasible since synchronous
5879        metadata query could take very long time.
5880
5881        This patch adds new File constructor which takes metadata argument
5882        to allow each FileSystem API implementation to pass snapshot metadata
5883        so that File object could cache the given metadata not to make
5884        synchronous query.
5885
5886        We only call this constructor if the filesystem type is neither
5887        Temporary nor Persistent, therefore this patch should not affect
5888        existing code behavior.
5889
5890        Test: fast/filesystem/file-read-after-write.html
5891
5892        * Modules/filesystem/DOMFileSystem.cpp:
5893        (WebCore::DOMFileSystem::createFile):
5894        * Modules/filesystem/DOMFileSystemSync.cpp:
5895        * fileapi/Blob.cpp:
5896        (WebCore::Blob::webkitSlice): Updated implementation.
5897        * fileapi/Blob.h:
5898        * fileapi/File.cpp:
5899        (WebCore::File::File): Added new constructor.
5900        (WebCore::File::lastModifiedDate): Updated implementation.
5901        (WebCore::File::size): Updated implementation.
5902        (WebCore::File::captureSnapshot): Updated implementation.
5903        * fileapi/File.h:
5904        (WebCore::File::createForFileSystemFile): Added.
5905        * platform/AsyncFileSystem.h:
5906        (AsyncFileSystem): Updated comment.
5907
59082012-05-17  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
5909
5910        Convert setDomainRelaxationForbiddenForURLScheme to use InternalSettings interface
5911        https://bugs.webkit.org/show_bug.cgi?id=86704
5912
5913        Reviewed by Eric Seidel.
5914
5915        Add setDomainRelaxationForbiddenForURLScheme functions, because it is able to work in the
5916        cross-port way by means of the InternalSettings interface.
5917
5918        No new tests, since we are improving here the infra-structure for testing
5919        a specific method.
5920
5921        * testing/InternalSettings.cpp:
5922        (WebCore):
5923        (WebCore::InternalSettings::setDomainRelaxationForbiddenForURLScheme):
5924        * testing/InternalSettings.h:
5925        (InternalSettings):
5926        * testing/InternalSettings.idl:
5927
59282012-05-17  Shinya Kawanaka  <shinyak@chromium.org>
5929
5930        ShadowRoot.selection should be ShadowRoot.getSelection()
5931        https://bugs.webkit.org/show_bug.cgi?id=86598
5932
5933        Reviewed by Hajime Morita.
5934
5935        In the latest spec, ShadowRoot.selection is changed to ShadowRoot.getSelection().
5936        So update the implementation.
5937
5938        * dom/ShadowRoot.cpp:
5939        * dom/ShadowRoot.h:
5940        (ShadowRoot):
5941        * dom/ShadowRoot.idl:
5942
59432012-05-17  Shinya Kawanaka  <shinyak@chromium.org>
5944
5945        [Refactoring] Remove TreeScopeAdjuster
5946        https://bugs.webkit.org/show_bug.cgi?id=86599
5947
5948        Reviewed by Hajime Morita.
5949
5950        It seems the right place of the method of TreeScopeAdjuster are in VisibleSelection
5951        and TreeScope. So we can remove TreeScopeAdjuster.
5952
5953        No new tests, no change in behavior.
5954
5955        * CMakeLists.txt:
5956        * GNUmakefile.list.am:
5957        * Target.pri:
5958        * WebCore.gypi:
5959        * WebCore.vcproj/WebCore.vcproj:
5960        * WebCore.xcodeproj/project.pbxproj:
5961        * dom/DOMAllInOne.cpp:
5962        * dom/TreeScope.cpp:
5963        (WebCore::TreeScope::ancestorInThisScope):
5964        (WebCore):
5965        * dom/TreeScope.h:
5966        (TreeScope):
5967        * dom/TreeScopeAdjuster.cpp: Removed.
5968        * dom/TreeScopeAdjuster.h: Removed.
5969        * editing/VisibleSelection.cpp:
5970        (WebCore::VisibleSelection::adjustPositionBefore):
5971        (WebCore):
5972        (WebCore::VisibleSelection::adjustPositionAfter):
5973        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
5974        * editing/VisibleSelection.h:
5975        (VisibleSelection):
5976        * page/DOMSelection.cpp:
5977        (WebCore::DOMSelection::shadowAdjustedNode):
5978        (WebCore::DOMSelection::shadowAdjustedOffset):
5979
59802012-05-17  Zoltan Herczeg  <zherczeg@webkit.org>
5981
5982        NEON intrinsic should be used with arithmetic mode of composite filter
5983        https://bugs.webkit.org/show_bug.cgi?id=86622
5984
5985        Reviewed by Nikolas Zimmermann.
5986
5987        Rewrite hand written assembly code to increase portability and readibility
5988        of the code. Remove the unnecessary FECompositeArithmeticNEON.cpp from the
5989        project
5990
5991        Existing tests cover this issue.
5992
5993        * CMakeLists.txt:
5994        * GNUmakefile.list.am:
5995        * Target.pri:
5996        * WebCore.gypi:
5997        * WebCore.vcproj/WebCore.vcproj:
5998        * WebCore.xcodeproj/project.pbxproj:
5999        * platform/graphics/filters/FEComposite.cpp:
6000        (WebCore):
6001        (WebCore::computeArithmeticPixels):
6002        (WebCore::arithmeticSoftware):
6003        (WebCore::FEComposite::platformArithmeticSoftware):
6004        * platform/graphics/filters/FEComposite.h:
6005        * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Removed.
6006        * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
6007        (WebCore):
6008        (WebCore::FEComposite::computeArithmeticPixelsNeon):
6009        (WebCore::FEComposite::platformArithmeticNeon):
6010
60112012-05-17  Takashi Sakamoto  <tasak@google.com>
6012
6013        showNodePath will be useful for debugging purpose.
6014        https://bugs.webkit.org/show_bug.cgi?id=86450
6015
6016        This patch implements showNodePath, which outputs node information in
6017        a xpath-like format, e.g. /HTML/BODY/DIV[@id="test" and position()=0]/P[0]
6018
6019        Reviewed by Hajime Morita.
6020
6021        No new tests, just adding debugging interface.
6022
6023        * dom/Node.cpp:
6024        (WebCore::Node::showNodePathForThis):
6025        (WebCore):
6026        (showNodePath):
6027        * dom/Node.h:
6028        (Node):
6029
60302012-05-17  Pravin D  <pravind.2k4@gmail.com>
6031
6032        REGRESSION (r116331): RSS Headlines/links are missing (-webkit-box-flex broken?)
6033        https://bugs.webkit.org/show_bug.cgi?id=85991
6034
6035        Fix for regression failures on deprecated flex box test cases. 
6036
6037        Reviewed by Eric Seidel.
6038
6039        Test: fast/css/deprecated-flex-box-zero-width-intrinsic-max-width.html
6040
6041        * rendering/RenderBlock.cpp:
6042        (WebCore::RenderBlock::computePreferredLogicalWidths):
6043        Fix to use intrinsic width when the fixed width:0 , for deprecated flex boxes.
6044
60452012-05-17  Uday Kiran  <udaykiran@motorola.com>
6046
6047        CSS3 Multicolumn: Content in normal flow extending into column gaps should be clipped at middle of column-gap
6048        https://bugs.webkit.org/show_bug.cgi?id=86441
6049
6050        Reviewed by Eric Seidel.
6051
6052        Content in the normal flow that extends into column gaps (e.g., long words or images)
6053        is clipped in the middle of the column gap.
6054        http://www.w3.org/TR/css3-multicol/#overflow-inside-multicol-elements
6055
6056        Test: fast/multicol/overflow-into-columngap.html
6057
6058        * rendering/RenderBlock.cpp:
6059        (WebCore::RenderBlock::paintColumnContents):
6060
60612012-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>
6062
6063        Unreviewed, rolling out r117372.
6064        http://trac.webkit.org/changeset/117372
6065        https://bugs.webkit.org/show_bug.cgi?id=86710
6066
6067        "triggerring crashes" (Requested by morrita on #webkit).
6068
6069        * Modules/webaudio/AudioParam.cpp:
6070        (WebCore::AudioParam::calculateSampleAccurateValues):
6071        (WebCore::AudioParam::calculateAudioRateSignalValues):
6072        (WebCore::AudioParam::connect):
6073        (WebCore::AudioParam::disconnect):
6074        * Modules/webaudio/AudioParam.h:
6075        (WebCore::AudioParam::context):
6076        (WebCore::AudioParam::hasSampleAccurateValues):
6077        (WebCore::AudioParam::AudioParam):
6078        (AudioParam):
6079
60802012-05-16  Hayato Ito  <hayato@chromium.org>
6081
6082        Implement a Shadow DOM spec's section 6 'Events'.
6083        https://bugs.webkit.org/show_bug.cgi?id=78586
6084
6085        Reviewed by Dimitri Glazkov.
6086
6087        This implements a Shadow DOM spec's section 6 'Events', introducing a new
6088        algorithm so that event dispatching use a composed shadow DOM tree,
6089        instead of normal DOM tree, in dispatching events to each node.
6090
6091        The spec is here: http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#events
6092
6093        Summary of changes:
6094        - Attaching shadow DOM does not affect an event dispatching
6095        behavior of enclosing DOM tree. This applies even if some nodes
6096        are distributed to insertion points. We keep a compatibility of
6097        existing event dispatching mechanism so that we won't break Web.
6098        - Event ancestors, which are used in dispatching events in capture (or
6099        bubble) phase, are now the result of traversing ancestors in composed
6100        shadow DOM tree order, instead of normal DOM tree order.
6101        - Event's target and related-target are correctly adjusted so that
6102        we don't leak any node which is inaccessible from the event's
6103        current-target node. We enforce both upper and lower boundary
6104        encapsulation of Shadow DOM in event dispatching
6105
6106        Here is an example of event dispatching. Suppose we have the following DOM tree, which
6107        includes some nested shadow hosts and insertion points
6108        A
6109        `--B-----[SR-B]
6110           |-C     `--G--------------[SR-G]
6111           | `-D      |-<H select=C>    |--J---------------[SR-J]
6112           `-E        `-<I select=E>    |  `-<K select=H>    `-<N select=K>
6113             `-F                        |
6114                                        `--L---------------[SR-L]
6115                                           `-<M select=I>    `-<O select=M>
6116
6117          Notation: [SR-X]: Shadow Root
6118                    <X select=Y>: Insertion Point, called X, which selects Y.
6119
6120        If a mouse moves from node '#F' to node '#D', the following
6121        'mouseover' events are dispatched in each ancestor node:
6122
6123        [currentTarget] [target] [related-target]
6124          #D             #D       #F
6125          #C             #D       #F
6126          #H             #H       #I
6127          #K             #K       #M
6128          #N             #N       #M
6129          #SR-J          #N       #M
6130          #J             #K       #M
6131          #SR-G          #K       #M
6132          #G             #H       #I
6133          #SR-B          #H       #I
6134          #B             #D       #F
6135          #A             #D       #F
6136
6137        Details are:
6138        - Insertion points, such as <content> or <shadow>, are resolved correctly
6139        in calculating event ancestors. That means if a node is distributed to
6140        an insertion point, the insertion point is now an ancestor of the node in
6141        bubbling (or capturing) events.
6142        - Both insertion points and shadow roots now can receive events. We can add
6143        event listeners to insertion points and shadow roots.
6144        - Dispatched event's target is now adjusted correctly using the re-targeting
6145        algorithm. The algorithm is now fully aware of insertion points.
6146        - Dispatched event's related-target can now differ in each tree scope of
6147        event ancestors. We choose the most appropriate related-target using the
6148        related target resolution algorithm for each node.
6149
6150        Performance consideration:
6151        This patch can achieve the competitive performance. The results of
6152        ./Tools/Scripts/run-perf-tests PerformanceTests/DOM/Events.html for
6153        before/after this patch are:
6154
6155        Before applying this patch:
6156            Running DOM/Events.html (1 of 1)
6157            RESULT DOM: Events= 270.310714286 ms
6158            median= 269.75 ms, stdev= 2.0042397663 ms, min= 267.357142857 ms, max= 276.5 ms
6159
6160        After applying this patch:
6161            Running DOM/Events.html (1 of 1)
6162            RESULT DOM: Events= 268.108333333 ms
6163            median= 267.5 ms, stdev= 2.41883157195 ms, min= 263.625 ms, max= 273.142857143 ms
6164
6165        I've also conducted a micro benchmark using both
6166        Shadow-Free-DOM-Tree and DOM-Tree-With-Shadow-Host.
6167        See https://bugs.webkit.org/show_bug.cgi?id=78586#c40 for the results.
6168        It seems that the new implementation has more capabilities, but
6169        doesn't sacrifice a performance of event dispatching in either cases.
6170
6171        Test: fast/dom/shadow/shadow-dom-event-dispatching.html
6172
6173        * dom/ComposedShadowTreeWalker.cpp:
6174        (WebCore::ComposedShadowTreeWalker::parentIncludingInsertionPointAndShadowRoot):
6175        (WebCore):
6176        (WebCore::ComposedShadowTreeWalker::traverseParentIncludingInsertionPointAndShadowRoot):
6177        * dom/ComposedShadowTreeWalker.h:
6178        (ComposedShadowTreeWalker):
6179        * dom/EventContext.cpp:
6180        (WebCore::EventContext::EventContext):
6181        (WebCore::EventContext::handleLocalEvents):
6182        * dom/EventContext.h:
6183        (EventContext):
6184        (WebCore::EventContext::relatedTarget):
6185        (WebCore):
6186        (WebCore::EventContext::setRelatedTarget):
6187        * dom/EventDispatcher.cpp:
6188        (WebCore::EventRelatedTargetAdjuster::EventRelatedTargetAdjuster):
6189        (WebCore):
6190        (WebCore::EventRelatedTargetAdjuster::adjust):
6191        (WebCore::EventRelatedTargetAdjuster::findRelatedTarget):
6192        (WebCore::EventDispatcher::adjustRelatedTarget):
6193        (WebCore::EventDispatcher::ensureEventAncestors):
6194        (WebCore::EventDispatcher::dispatchEvent):
6195        (WebCore::EventDispatcher::determineDispatchBehavior):
6196        * dom/EventDispatcher.h:
6197        (WebCore):
6198        (EventRelatedTargetAdjuster):
6199        (EventDispatcher):
6200        * dom/MouseEvent.cpp:
6201        (WebCore::MouseEventDispatchMediator::dispatchEvent):
6202        * dom/MouseEvent.h:
6203        (WebCore::toMouseEvent):
6204        (WebCore):
6205
62062012-05-16  Ryosuke Niwa  <rniwa@webkit.org>
6207
6208        Moving caret up or down skips lines when there's a non-editable line
6209        https://bugs.webkit.org/show_bug.cgi?id=81490
6210
6211        Reviewed by Eric Seidel.
6212
6213        The bug was caused by previousRootInlineBoxCandidatePosition and nextRootInlineBoxCandidatePosition
6214        skipping leaf nodes that constitute a new line and belong to the same editable region because block elements
6215        that separate lines are not editable so it looked as if all editable lines belong to a single line as far as
6216        those two functions are concerned.
6217
6218        Fixed the bug by using the first leaf node that belongs to the same editable region but does not belong in
6219        the same as the start node.
6220
6221        This patch is based on a patch authored by Yi Shen (Nokia).
6222
6223        Test: editing/selection/move-between-lines-of-different-editabilities.html
6224
6225        * editing/visible_units.cpp:
6226        (WebCore::previousRootInlineBoxCandidatePosition):
6227        (WebCore::nextRootInlineBoxCandidatePosition):
6228
62292012-05-16  MORITA Hajime <morrita@google.com>
6230
6231        Unreviewed attempt to fix Mac SL build.
6232
6233        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
6234
62352012-05-16  Levi Weintraub  <leviw@chromium.org>
6236
6237        Use pixelSnappedLogicalHeight for TableSection layout
6238        https://bugs.webkit.org/show_bug.cgi?id=86665
6239
6240        Reviewed by Eric Seidel.
6241
6242        We do table layout using integers to ensure we follow the spec (see
6243        https://trac.webkit.org/wiki/LayoutUnit for details), but were previously
6244        flooring the logical height used in layoutRows. This caused us to mis-
6245        calculate the intrinsic padding and grow cells beyond their proper height.
6246
6247        No new tests. Fully covered by existing tests with sub-pixel enabled.
6248
6249        * rendering/RenderBox.h:
6250        (WebCore::RenderBox::pixelSnappedLogicalHeight): Added these convenience
6251        methods.
6252        (WebCore::RenderBox::pixelSnappedLogicalWidth):
6253        * rendering/RenderTableSection.cpp:
6254        (WebCore::RenderTableSection::layoutRows):
6255
62562012-05-16  Tony Chang  <tony@chromium.org>
6257
6258        rename display:-webkit-flexbox to display:-webkit-flex
6259        https://bugs.webkit.org/show_bug.cgi?id=86529
6260
6261        Reviewed by Eric Seidel.
6262
6263        Also renames -webkit-inline-flexbox to -webkit-inline-flex.
6264
6265        No new tests. Covered by existing tests.
6266
6267        * css/CSSParser.cpp:
6268        (WebCore::isValidKeywordPropertyAndValue):
6269        * css/CSSPrimitiveValueMappings.h:
6270        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
6271        * css/CSSValueKeywords.in: Update keyword values.
6272        * css/StyleResolver.cpp:
6273        (WebCore::StyleResolver::collectMatchingRulesForList):
6274        * rendering/RenderObject.cpp:
6275        (WebCore::RenderObject::createObject):
6276        * rendering/RenderObject.h:
6277        (RenderObject):
6278        * rendering/style/RenderStyleConstants.h: Rename const values.
6279
62802012-05-16  Greg Billock  <gbillock@google.com>
6281
6282        IDL and implementation for Web Intents delivery
6283        https://bugs.webkit.org/show_bug.cgi?id=83634
6284
6285        Reviewed by Adam Barth.
6286
6287        The delivered intent has some extra fields and methods (extras,
6288        postResult, postFailure) from the invocation intent. It is implemented
6289        as a subclass. Responses from the service JS are passed to an embedder
6290        client object provided when the intent is delivered.
6291        See http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
6292        Test: webintents/web-intents-delivery.html
6293
6294        * Modules/intents/DOMWindowIntents.cpp: Copied from Source/WebCore/Modules/intents/DOMWindowIntents.idl.
6295        (WebCore):
6296        (WebCore::DOMWindowIntents::DOMWindowIntents):
6297        (WebCore::DOMWindowIntents::~DOMWindowIntents):
6298        (WebCore::DOMWindowIntents::from):
6299        (WebCore::DOMWindowIntents::webkitIntent):
6300        (WebCore::DOMWindowIntents::deliver):
6301        * Modules/intents/DOMWindowIntents.h: Copied from Source/WebCore/Modules/intents/DOMWindowIntents.idl.
6302        (WebCore):
6303        (DOMWindowIntents):
6304        * Modules/intents/DOMWindowIntents.idl:
6305        * Modules/intents/DeliveredIntent.cpp: Copied from Source/WebCore/Modules/intents/Intent.h.
6306        (WebCore):
6307        (WebCore::DeliveredIntent::create):
6308        (WebCore::DeliveredIntent::DeliveredIntent):
6309        (WebCore::DeliveredIntent::ports):
6310        (WebCore::DeliveredIntent::getExtra):
6311        (WebCore::DeliveredIntent::postResult):
6312        (WebCore::DeliveredIntent::postFailure):
6313        * Modules/intents/DeliveredIntent.h: Copied from Source/WebCore/Modules/intents/Intent.h.
6314        (WebCore):
6315        (DeliveredIntent):
6316        (WebCore::DeliveredIntent::~DeliveredIntent):
6317        * Modules/intents/DeliveredIntent.idl: Copied from Source/WebCore/Modules/intents/Intent.h.
6318        * Modules/intents/Intent.h:
6319        (WebCore::Intent::~Intent):
6320        (Intent):
6321        * WebCore.gyp/WebCore.gyp:
6322        * WebCore.gypi:
6323        * bindings/v8/custom/V8DeliveredIntentCustom.cpp: Copied from Source/WebCore/Modules/intents/Intent.h.
6324        (WebCore):
6325        (WebCore::V8DeliveredIntent::portsAccessorGetter):
6326
63272012-05-16  Kentaro Hara  <haraken@chromium.org>
6328
6329        [V8][Refactoring] Replace throwError("message", XXXError)
6330        with throwError(XXXError, "message")
6331        https://bugs.webkit.org/show_bug.cgi?id=86579
6332
6333        Reviewed by Adam Barth.
6334
6335        This is one of a series of refactoring commented in
6336        https://bugs.webkit.org/show_bug.cgi?id=84074#c5
6337
6338        Currently there are two equivalent throwError()s; i.e. throwError("message", XXXError)
6339        and throwError(XXXError, "message"). In this bug we replace
6340        throwError("message", XXXError) with throwError(XXXError, "message")
6341        (except for the case where XXXError == TypeError. This is because
6342        throwError("message", TypeError) will be replaced with throwTypeError("message")
6343        in a follow-up patch).
6344
6345        No tests. No change in behavior.
6346
6347        * bindings/v8/V8NPObject.cpp:
6348        (WebCore::npObjectInvokeImpl):
6349        (WebCore::npObjectGetProperty):
6350        (WebCore::npObjectSetProperty):
6351        (WebCore::npObjectPropertyEnumerator):
6352        * bindings/v8/V8Proxy.cpp:
6353        (WebCore::handleMaxRecursionDepthExceeded):
6354        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
6355        (WebCore::V8ArrayBuffer::constructorCallback):
6356        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
6357        (WebCore::constructWebGLArrayWithArrayBufferArgument):
6358        (WebCore::constructWebGLArray):
6359        * bindings/v8/custom/V8AudioContextCustom.cpp:
6360        (WebCore::V8AudioContext::constructorCallback):
6361        * bindings/v8/custom/V8BlobCustom.cpp:
6362        (WebCore::V8Blob::constructorCallback):
6363        * bindings/v8/custom/V8ClipboardCustom.cpp:
6364        (WebCore::V8Clipboard::clearDataCallback):
6365        (WebCore::V8Clipboard::setDragImageCallback):
6366        * bindings/v8/custom/V8DOMFormDataCustom.cpp:
6367        (WebCore::V8DOMFormData::appendCallback):
6368        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
6369        (WebCore::v8HTMLImageElementConstructorCallback):
6370        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
6371        (WebCore::V8WebKitMutationObserver::constructorCallback):
6372        * bindings/v8/custom/V8WebSocketCustom.cpp:
6373        (WebCore::V8WebSocket::constructorCallback):
6374        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
6375        (WebCore::V8XMLHttpRequest::constructorCallback):
6376
63772012-05-16  Kentaro Hara  <haraken@chromium.org>
6378
6379        [V8] Pass Isolate to remaining toV8()
6380        https://bugs.webkit.org/show_bug.cgi?id=86570
6381
6382        Reviewed by Nate Chapin.
6383
6384        The objective is to pass Isolate around in V8 bindings.
6385        This patch passes Isolate to toV8(). I've landed a bunch of
6386        patches to pass Isolate to toV8(), and this would be the last
6387        patch for passing Isolate to toV8().
6388
6389        No tests. No change in behavior.
6390
6391        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
6392        (WebCore::getNamedItems):
6393        * bindings/v8/custom/V8IDBAnyCustom.cpp:
6394        (WebCore::toV8):
6395
63962012-05-16  James Robinson  <jamesr@chromium.org>
6397
6398        GraphicsContext3D interface should not be aware of CanvasRenderingContext
6399        https://bugs.webkit.org/show_bug.cgi?id=86550
6400
6401        Reviewed by Darin Adler.
6402
6403        GraphicsContext3D is a WebCore/platform API construct. CanvasRenderingContext is a WebCore/html concept. Thus,
6404        the former shouldn't depend on the latter.  In turns out that all everyone ever wants from a
6405        CanvasRenderingContext in GraphicsContext3D is its underlying ImageBuffer, which is a WebCore/platform concept,
6406        so this just updates the APIs and implementations to use that instead.
6407
6408        Refactor only, no new tests.
6409
6410        * html/canvas/WebGLRenderingContext.cpp:
6411        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
6412        * platform/graphics/GraphicsContext3D.h:
6413        * platform/graphics/cairo/DrawingBufferCairo.cpp:
6414        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
6415        * platform/graphics/chromium/DrawingBufferChromium.cpp:
6416        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
6417        * platform/graphics/clutter/DrawingBufferClutter.cpp:
6418        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
6419        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
6420        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
6421        (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
6422        * platform/graphics/gpu/DrawingBuffer.h:
6423        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
6424        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
6425        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
6426        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
6427        (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
6428
64292012-05-16  Joshua Bell  <jsbell@chromium.org>
6430
6431        SerializedScriptValue: lazy initialization of static nullValue not threadsafe
6432        https://bugs.webkit.org/show_bug.cgi?id=70833
6433
6434        Reviewed by Kentaro Hara.
6435
6436        Remove unsafe lazy initialization of static |null| SSV. None of the callers
6437        appeared to be in performance-critical areas - most were preparing an event to
6438        be dispatched to script - so no per-call-site caching was added.
6439
6440        No new tests - no functional changes.
6441
6442        * bindings/js/SerializedScriptValue.cpp: Mint a new one each time.
6443        (WebCore::SerializedScriptValue::nullValue):
6444        * bindings/js/SerializedScriptValue.h: Return via PassRefPtr.
6445        * bindings/v8/SerializedScriptValue.cpp: Mint a new one each time.
6446        (WebCore::SerializedScriptValue::nullValue):
6447        * bindings/v8/SerializedScriptValue.h: Return via PassRefPtr.
6448        (SerializedScriptValue):
6449        * dom/Document.cpp:
6450        (WebCore::Document::statePopped): Change to PassRefPtr to maintain refcount.
6451        * dom/Document.h:
6452        (Document):
6453
64542012-05-16  James Robinson  <jamesr@chromium.org>
6455
6456        CachedImage does not clear the ImageObserver pointer when dropping its Image ref
6457        https://bugs.webkit.org/show_bug.cgi?id=86689
6458
6459        Reviewed by Eric Seidel.
6460
6461        Image instances keep a weak pointer to their ImageObserver, which may be null. CachedImage is an ImageObserver
6462        and holds a RefPtr<Image> m_image. When CachedImage initializes its m_image to either an SVGImage or BitmapImage,
6463        it sets itself as that Image's ImageObserver. However, CachedImage never clears the ImageObserver pointer, even
6464        when dropping its reference to the Image. This means if other code holds a RefPtr<Image> there is no promise
6465        that calls on that Image will be valid. This patch clears the CachedImage::m_image's ImageObserver pointer
6466        whenever the CachedImage drops its reference. Image already has null checks for its m_imageObserver so this is
6467        always a safe operation.
6468
6469        * loader/cache/CachedImage.cpp:
6470        (WebCore::CachedImage::~CachedImage):
6471        (WebCore::CachedImage::clear):
6472
64732012-05-16  Kentaro Hara  <haraken@chromium.org>
6474
6475        [V8] Fix a broken copyright of V8SVGElementCustom.cpp
6476        https://bugs.webkit.org/show_bug.cgi?id=86569
6477
6478        Reviewed by Nate Chapin.
6479
6480        This patch just fixes a broken copyright of V8SVGElementCustom.cpp.
6481
6482        Blame changeset: r54153
6483
6484        No tests. No change in behavior.
6485
6486        * bindings/v8/custom/V8SVGElementCustom.cpp:
6487
64882012-05-16  Kentaro Hara  <haraken@chromium.org>
6489
6490        [V8] Pass Isolate to convertEventTargetToV8Object()
6491        https://bugs.webkit.org/show_bug.cgi?id=86566
6492
6493        Reviewed by Nate Chapin.
6494
6495        The objective is to pass Isolate around in V8 bindings.
6496        This patch passes Isolate to convertEventTargetToV8Object().
6497        I made the 'isolate' argument optional, since
6498        convertEventTargetToV8Object() can be called from the WebCore context.
6499
6500        No tests. No change in behavior.
6501
6502        * bindings/scripts/CodeGeneratorV8.pm:
6503        (NativeToJSValue):
6504        * bindings/v8/V8DOMWrapper.cpp:
6505        (WebCore):
6506        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
6507        * bindings/v8/V8DOMWrapper.h:
6508        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
6509        (V8DOMWrapper):
6510
65112012-05-16  Peter Kasting  <pkasting@google.com>
6512
6513        Correctly display malformed GIFs which specify bogus extension block
6514        sizes.
6515        https://bugs.webkit.org/show_bug.cgi?id=86531
6516
6517        Reviewed by James Robinson.
6518        
6519        This was broken by r117333, which was an attempt to avoid memory errors
6520        on GIFs that were malformed in a similar way.  It turns out some GIFs
6521        in the wild (i.e. "our LayoutTests directory") relied on some of the
6522        effects of the old code.  This refixes in a way that doesn't break
6523        these.
6524
6525        No new tests, covered by existing tests.
6526
6527        * platform/image-decoders/gif/GIFImageReader.cpp:
6528        (GIFImageReader::read):
6529
65302012-05-16  Chris Rogers  <crogers@google.com>
6531
6532        AudioParam must support fan-in (multiple audio connections)
6533        https://bugs.webkit.org/show_bug.cgi?id=83610
6534
6535        Reviewed by Kenneth Russell.
6536
6537        Test: webaudio/audioparam-summingjunction.html
6538
6539        * Modules/webaudio/AudioParam.cpp:
6540        * Modules/webaudio/AudioParam.h:
6541        (WebCore::AudioParam::calculateSampleAccurateValues):
6542        (WebCore::AudioParam::calculateAudioRateSignalValues):
6543        Sums intrinsic parameter value with all audio-rate connections.
6544
6545        (WebCore::AudioParam::connect):
6546        (WebCore::AudioParam::disconnect):
6547        Support multiple connections.
6548
6549        (WebCore::AudioParam::hasSampleAccurateValues):
6550        If we have one or more audio-rate connections.
6551
6552        (WebCore::AudioParam::AudioParam):
6553        AudioParam now sub-classes AudioSummingJunction.
6554
65552012-05-16  Kentaro Hara  <haraken@chromium.org>
6556
6557        [V8] Pass Isolate to createV8HTMLWrapper() and createV8SVGWrapper()
6558        https://bugs.webkit.org/show_bug.cgi?id=86558
6559
6560        Reviewed by Nate Chapin.
6561
6562        The objective is to pass Isolate around in V8 bindings.
6563        This patch passes Isolate to createV8HTMLWrapper() and createV8SVGWrapper().
6564
6565        Basically 'isolate' has been implemented as the last argument
6566        but before 'forceNewObject' argument, because 'forceNewObject' is an optional
6567        argument and omitted in most cases. Due to the convention,
6568        this patch puts 'isolate' before 'forceNewObject'.
6569
6570        No tests. No change in behavior.
6571
6572        * bindings/v8/custom/V8HTMLElementCustom.cpp:
6573        (WebCore::toV8):
6574        * bindings/v8/custom/V8SVGElementCustom.cpp:
6575        (WebCore::toV8):
6576        * dom/make_names.pl:
6577        (printWrapperFunctions):
6578        (printWrapperFactoryCppFile):
6579        (printWrapperFactoryHeaderFile):
6580
65812012-05-16  Ryosuke Niwa  <rniwa@webkit.org>
6582
6583        Move showStyle from CSSStyleDeclaration to StylePropertySet
6584        https://bugs.webkit.org/show_bug.cgi?id=86675
6585
6586        Reviewed by Andreas Kling.
6587
6588        Moved the function. Also deleted CSSStyleDeclaration.cpp since it's no longer needed.
6589
6590        * CMakeLists.txt:
6591        * GNUmakefile.list.am:
6592        * Target.pri:
6593        * WebCore.gypi:
6594        * WebCore.vcproj/WebCore.vcproj:
6595        * WebCore.xcodeproj/project.pbxproj:
6596        * css/CSSAllInOne.cpp:
6597        * css/CSSStyleDeclaration.cpp:
6598        (WebCore):
6599        * css/CSSStyleDeclaration.h:
6600        (CSSStyleDeclaration):
6601        * css/StylePropertySet.cpp:
6602        (WebCore):
6603        (WebCore::StylePropertySet::showStyle):
6604        * css/StylePropertySet.h:
6605        (StylePropertySet):
6606
66072012-05-16  Martin Robinson  <mrobinson@igalia.com>
6608
6609        Fix the indexed database build for GTK+.
6610
6611        * GNUmakefile.list.am: Add missing files to the build.
6612        * bindings/gobject/GNUmakefile.am: Be smarter about filtering out deactivating indexed database.
6613        * bindings/scripts/CodeGeneratorGObject.pm:
6614        (SkipAttribute): Always skip attributes that return indexed database types.
6615
66162012-05-16  Jon Lee  <jonlee@apple.com>
6617
6618        Animated GIFs in page cache get updated
6619        https://bugs.webkit.org/show_bug.cgi?id=86668
6620        <rdar://problem/11395549>
6621
6622        Reviewed by Brady Eidson.
6623
6624        Test: fast/loader/image-in-page-cache.html
6625
6626        * rendering/RenderImage.cpp:
6627        (WebCore::RenderImage::imageChanged): When we are notified by the CachedImage that the image has
6628        changed, we check to see if the document is in the page cache. If so, we should not be updating,
6629        so we bail out early.
6630
66312012-05-16  Tim Horton  <timothy_horton@apple.com>
6632
6633        Crash if SVG gradient stop has display: none set
6634        https://bugs.webkit.org/show_bug.cgi?id=86686
6635        <rdar://problem/10751905>
6636
6637        Reviewed by Dean Jackson.
6638
6639        Create a renderer for SVGStopElement regardless of the "display" property.
6640        This matches the behavior of Opera and the SVG specification.
6641
6642        Test: svg/custom/gradient-stop-display-none-crash.svg
6643
6644        * svg/SVGStopElement.cpp:
6645        (WebCore::SVGStopElement::rendererIsNeeded):
6646        (WebCore):
6647        * svg/SVGStopElement.h:
6648        (SVGStopElement):
6649
66502012-05-16  Dana Jansens  <danakj@chromium.org>
6651
6652        [chromium] Clear the m_private pointer when destroying WebFilterOperations to avoid assert in WebPrivateOwnPtr
6653        https://bugs.webkit.org/show_bug.cgi?id=86654
6654
6655        Reviewed by James Robinson.
6656
6657        * platform/chromium/support/WebFilterOperations.cpp:
6658        (WebKit::WebFilterOperations::reset):
6659        (WebKit::WebFilterOperations::destroy):
6660        (WebKit):
6661
66622012-05-16  Ryosuke Niwa  <rniwa@webkit.org>
6663
6664        REGRESSION(r92823): WebKit strips font-weight: normal from b element when copying
6665        https://bugs.webkit.org/show_bug.cgi?id=86663
6666
6667        Reviewed by Tony Chang.
6668
6669        The bug was caused by removeStyleFromRulesAndContext incorrectly stripping font-weight property
6670        even when the context had no font-weight property because of a property name mismatch in getPropertiesNotIn.
6671
6672        Fixed the mismatch.
6673
6674        Test: editing/pasteboard/paste-text-with-style-5.html
6675
6676        * editing/EditingStyle.cpp:
6677        (WebCore::getPropertiesNotIn):
6678
66792012-05-16  Ryosuke Niwa  <rniwa@webkit.org>
6680
6681        Merge nextRootInlineBox with nextLinePosition
6682        https://bugs.webkit.org/show_bug.cgi?id=81593
6683
6684        Reviewed by Enrica Casucci.
6685
6686        Call previousRootInlineBox and nextRootInlineBox in previousLinePosition and nextLinePosition respectively
6687        to share the code. Moved out the nullity check of startBox and extracted the renderer's node from the former
6688        two, and added editableType to their argument lists to match the interface in both use cases.
6689
6690        Also moved out the code to extract root inline box using RenderedPosition from those two functions and
6691        expanded in call sites since previousLinePosition and nextLinePosition need to return the candidate position
6692        even when the root inline box doesn't exist. To this end, renamed previousRootInlineBox and nextRootInlineBox
6693        to previousRootInlineBoxCandidatePosition and nextRootInlineBoxCandidatePosition respectively.
6694
6695        In addition, got rid of one version of nextLeafWithSameEditability that adjusted node with respect to offset
6696        This variant did:
6697
6698        Node* child = node->childNode(offset);
6699        node = child ? child->nextLeafNode() : node->lastDescendant()->nextLeafNode();
6700
6701        instead of:
6702
6703        node = node->nextLeafNode();
6704
6705        at the beginning of the function. Observe that the former code is logically equivalent to:
6706
6707        Node* child = node->childNode(offset);
6708        node = child ? child : node->lastDescendant();
6709        node = node->nextLeafNode();
6710
6711        Thus, the first two lines of this logically equivalent code is added in nextLinePosition wherein we used to
6712        call the removed variant.
6713
6714        This refactoring with no behavioral change would help us resolving the bug 81490.
6715
6716        * editing/visible_units.cpp:
6717        (WebCore::previousRootInlineBoxCandidatePosition): Renamed from previousRootInlineBox.
6718        (WebCore::nextRootInlineBoxCandidatePosition): Renamed from nextRootInlineBox.
6719        (WebCore::logicallyPreviousBox): Checks the nullity of startBox's renderer and node. Also extracts the root
6720        inline box out of the position per the interface change.
6721        (WebCore::logicallyNextBox): Ditto.
6722        (WebCore::previousLinePosition): Calls previousRootInlineBoxCandidatePosition.
6723        (WebCore::nextLinePosition): Calls nextRootInlineBoxCandidatePosition.
6724
67252012-05-16  Noel Gordon  <noel.gordon@gmail.com>
6726
6727        [chromium] Remove ImageDecoderCG.cpp from platform/image-decoders
6728        https://bugs.webkit.org/show_bug.cgi?id=86346
6729
6730        Reviewed by Adam Barth.
6731
6732        ImageDecoderCG.cpp was added for use in the Chromium port in r70846. Remove the
6733        implementation now that Chromium uses Skia on Mac OSX by default.
6734
6735        No new tests. No change in behavior.
6736        
6737        * WebCore.gypi: Remove ImageDecoderCG.cpp from the gyp project.
6738        * platform/graphics/ImageSource.h: Revert the r70846 changes.
6739        * platform/image-decoders/ImageDecoder.cpp: Remove copyReferenceToBitmapData().
6740        (WebCore::ImageFrame::operator=): Return to using copyBitmapData() (as it was)
6741        given the removal of copyReferenceToBitmapData() above.
6742        * platform/image-decoders/ImageDecoder.h:
6743        (ImageFrame): Remove copyReferenceToBitmapData() declaration.
6744        * platform/image-decoders/cg/ImageDecoderCG.cpp: Removed, and it was the only
6745        decoder with a port-specific implementation of copyReferenceToBitmapData().
6746
67472012-05-16  Raymond Toy  <rtoy@google.com>
6748
6749        Simplify AudioNode ref-counting by removing RefTypeDisabled
6750        https://bugs.webkit.org/show_bug.cgi?id=85681
6751
6752        Reviewed by Chris Rogers.
6753
6754        Existing tests should cover these changes.
6755
6756        * Modules/webaudio/AudioNode.cpp: Remove RefTypeDiabled and m_disabledRefCount.
6757        (WebCore::AudioNode::AudioNode):
6758        (WebCore::AudioNode::~AudioNode):
6759        (WebCore::AudioNode::enableOutputsIfNecessary): New
6760        (WebCore::AudioNode::ref): 
6761        (WebCore::AudioNode::disableOutputsIfNecessary): New
6762        (WebCore::AudioNode::finishDeref):
6763        * Modules/webaudio/AudioNode.h: Remove RefTypeDisabled and m_disabledRefCount.
6764        * Modules/webaudio/AudioNodeInput.cpp: Removed uses of RefTypeDisbled.
6765        (WebCore::AudioNodeInput::disconnect):
6766        (WebCore::AudioNodeInput::disable):
6767        (WebCore::AudioNodeInput::enable):
6768
67692012-05-16  Ojan Vafai  <ojan@chromium.org>
6770
6771        Fix perf regression from r116487
6772        https://bugs.webkit.org/show_bug.cgi?id=86680
6773
6774        Reviewed by Ryosuke Niwa.
6775
6776        http://trac.webkit.org/changeset/116487 caused a 6% regression on
6777        Dromaeo's dom-attr test. The issue is that we invalidated NodeList
6778        caches whenever an id/checked/type attribute changed.
6779
6780        First, we don't need to invalidate on checked/type since that only
6781        affects the values return by NodeList items, not the list of items.
6782        Second, we only need to invalidate NodeList caches when an id attribute
6783        changes on a FormControlElement.
6784
6785        Incidentally, we also don't need to invalidate caches for changes
6786        to attributes that don't have an ownerElement.
6787
6788        No new tests. This is strictly a performance improvement.
6789
6790        * dom/Attr.cpp:
6791        (WebCore::Attr::setValue):
6792        (WebCore::Attr::childrenChanged):
6793        * dom/Element.cpp:
6794        (WebCore::Element::attributeChanged):
6795        * dom/Node.cpp:
6796        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
6797        * dom/Node.h:
6798        (Node):
6799
68002012-04-22  Robert Hogan  <robert@webkit.org>
6801
6802        CSS 2.1 failure: inline-table-001 fails
6803        https://bugs.webkit.org/show_bug.cgi?id=84167
6804
6805        Reviewed by Julien Chaffraix.
6806
6807        Override lastLineBoxBaseline() in RenderTable so that it picks up the baseline
6808        of the text in the first row of the table. This allows inline tables to find the
6809        correct baseline to align to.
6810
6811        Tests:
6812                css2.1/20110323/inline-table-001.htm
6813                css2.1/20110323/inline-table-002a.htm
6814                css2.1/20110323/inline-table-003.htm
6815                fast/css/empty-cell-baseline.html
6816
6817        * rendering/RenderTable.cpp:
6818        (WebCore::getLineBoxBaseline):
6819        (WebCore):
6820        (WebCore::RenderTable::lastLineBoxBaseline):
6821        (WebCore::RenderTable::firstLineBoxBaseline):
6822        * rendering/RenderTable.h:
6823        (RenderTable):
6824        * rendering/RenderTableSection.cpp:
6825        (WebCore::RenderTableSection::firstLineBoxBaseline): if a cell is empty it cannot provide a 
6826          baseline. Tested by fast/css/empty-cell-baseline.html
6827
68282012-05-16  Joshua Bell  <jsbell@chromium.org>
6829
6830        IndexedDB: Rename valid/finished methods to isValid/isFinished to match coding standard
6831        https://bugs.webkit.org/show_bug.cgi?id=86655
6832
6833        Reviewed by Tony Chang.
6834
6835        No new tests - no functional changes.
6836
6837        * Modules/indexeddb/IDBKey.h:
6838        (WebCore::IDBKey::isValid): valid() => isValid()
6839        * Modules/indexeddb/IDBObjectStore.cpp:
6840        (WebCore::IDBObjectStore::deleteFunction):
6841        (WebCore::IDBObjectStore::index):
6842        (WebCore::IDBObjectStore::transactionFinished):
6843        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
6844        (WebCore::IDBObjectStoreBackendImpl::put):
6845        (WebCore::IDBObjectStoreBackendImpl::putInternal):
6846        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
6847        * Modules/indexeddb/IDBRequest.cpp:
6848        (WebCore::IDBRequest::onSuccess):
6849        * Modules/indexeddb/IDBTransaction.cpp:
6850        (WebCore::IDBTransaction::isFinished): finished() => isFinished()
6851        * Modules/indexeddb/IDBTransaction.h:
6852        * inspector/InspectorIndexedDBAgent.cpp:
6853        (WebCore):
6854
68552012-05-16  Jeffrey Pfau  <jpfau@apple.com>
6856
6857        ImageLoader can still dispatch beforeload events for ImageDocuments
6858        https://bugs.webkit.org/show_bug.cgi?id=86658
6859        <rdar://problem/11465863>
6860
6861        Reviewed by Brady Eidson.
6862
6863        Prevent flags regarding sending beforeload events from being set on ImageDocuments.
6864
6865        No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript.
6866
6867        * loader/ImageLoader.cpp:
6868        (WebCore::ImageLoader::updateFromElement):
6869
68702012-05-16  Julien Chaffraix  <jchaffraix@webkit.org>
6871
6872        layerX/layerY warning should be removed
6873        https://bugs.webkit.org/show_bug.cgi?id=86264
6874
6875        Reviewed by James Robinson.
6876
6877        Covered by: fast/dom/Window/window-xy-properties.html
6878                    fast/events/init-events.html
6879                    fast/events/mouse-relative-position.html
6880                    fast/events/mouseclick-target-and-positioning.html
6881                    fast/events/simulated-click-coords.html
6882                    jquery/event.html
6883
6884        This change just removes the warning pending proper investigation.
6885
6886        Longer explanation: The layerX/layerY warning was added prematurely
6887        as we didn't assess the web-compatibility potential breakage vs the
6888        maintenance cost. There is also not readily available replacement.
6889
6890        * dom/MouseRelatedEvent.cpp:
6891        (WebCore::MouseRelatedEvent::layerX):
6892        (WebCore::MouseRelatedEvent::layerY):
6893        * dom/UIEvent.cpp:
6894        (WebCore::UIEvent::layerX):
6895        (WebCore::UIEvent::layerY):
6896        * dom/UIEvent.h:
6897        Removed warnDeprecatedLayerXYUsage and all the associated calls.
6898
68992012-05-16  Joshua Bell  <jsbell@chromium.org>
6900
6901        IndexedDB: Use accessors for backing store / database id in store/index backends
6902        https://bugs.webkit.org/show_bug.cgi?id=86652
6903
6904        Reviewed by Tony Chang.
6905
6906        Hide the private members m_backingStore and m_databaseId of IDBObjectStoreBackendImpl
6907        and IDBIndexBackendImpl behind accessors. This is preparation for removing these
6908        members and only holding references to the IDBDatabaseBackendImpl: webkit.org/b/83074
6909
6910        No new tests - no functional changes.
6911
6912        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
6913        (WebCore::IDBIndexBackendImpl::openCursorInternal):
6914        (WebCore::IDBIndexBackendImpl::countInternal):
6915        (WebCore::IDBIndexBackendImpl::getInternal):
6916        (WebCore::IDBIndexBackendImpl::getByRangeInternal):
6917        (WebCore::IDBIndexBackendImpl::getKeyInternal):
6918        (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal):
6919        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
6920        * Modules/indexeddb/IDBIndexBackendImpl.h:
6921        (WebCore::IDBIndexBackendImpl::backingStore): Added.
6922        (WebCore::IDBIndexBackendImpl::databaseId): Added.
6923        (IDBIndexBackendImpl):
6924        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
6925        (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
6926        (WebCore::IDBObjectStoreBackendImpl::getInternal):
6927        (WebCore::IDBObjectStoreBackendImpl::putInternal):
6928        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
6929        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
6930        (WebCore):
6931        (WebCore::IDBObjectStoreBackendImpl::createIndex):
6932        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
6933        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
6934        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
6935        (WebCore::IDBObjectStoreBackendImpl::countInternal):
6936        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
6937        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
6938        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
6939        (WebCore::IDBObjectStoreBackendImpl::backingStore): Added.
6940        (WebCore::IDBObjectStoreBackendImpl::databaseId): Added.
6941        (IDBObjectStoreBackendImpl):
6942
69432012-05-15  Peter Kasting  <pkasting@google.com>
6944
6945        Malformed GIF can cause decoder to read off end of heap buffer
6946        https://bugs.webkit.org/show_bug.cgi?id=86531
6947
6948        Reviewed by Adam Barth.
6949
6950        Test: fast/images/read-past-end-of-buffer.html
6951        This test is only expected to catch problems if run under Address
6952        Sanitizer or a similar memory-checking utility.
6953
6954        * platform/image-decoders/gif/GIFImageReader.cpp:
6955        (GIFImageReader::read):
6956
69572012-05-16  Varun Jain  <varunjain@google.com>
6958
6959        [chromium] No modifier flags (shift/ctrl/alt) in drag&drop events on chromium linux
6960        https://bugs.webkit.org/show_bug.cgi?id=86236
6961
6962        Reviewed by Tony Chang.
6963
6964        ManualTests: ManualTests/chromium/modifiers-during-drag-and-drop.html
6965
6966        * page/DragController.cpp:
6967        (WebCore::createMouseEvent):
6968        * platform/DragData.cpp:
6969        (WebCore):
6970        (WebCore::DragData::modifierKeyState):
6971        * platform/DragData.h:
6972        (DragData):
6973        * platform/chromium/ChromiumDataObject.cpp:
6974        (WebCore::ChromiumDataObject::ChromiumDataObject):
6975        * platform/chromium/ChromiumDataObject.h:
6976        (WebCore::ChromiumDataObject::modifierKeyState):
6977        (WebCore::ChromiumDataObject::setModifierKeyState):
6978        (ChromiumDataObject):
6979        * platform/chromium/DragDataChromium.cpp:
6980        (WebCore::DragData::modifierKeyState):
6981        (WebCore):
6982
69832012-05-16  Jer Noble  <jer.noble@apple.com>
6984
6985        <video> elements with no video tracks report false for webkitSupportsFullscreen.
6986        https://bugs.webkit.org/show_bug.cgi?id=86650
6987
6988        Reviewed by Eric Carlson.
6989
6990        No new tests; updated media/media-fullscreen-inline.html.
6991
6992        With the new Full Screen API, the restriction that only video elements with
6993        video tracks can enter full screen seems arbitrary. Some media types will
6994        occasionally determine they have video tracks long after loadedmetadata, which
6995        breaks websites who check for webkitSupportsFullscreen(). Relax the restriction
6996        on webkitSupportsFullscreen() for ports where the Full Screen API is enabled and
6997        supported so as to no longer require hasVideo().
6998
6999        * html/HTMLVideoElement.cpp:
7000        (WebCore::HTMLVideoElement::supportsFullscreen):
7001
70022012-05-16  Andreas Kling  <kling@webkit.org>
7003
7004        Avoid reparsing the style attribute when cloning elements.
7005        <http://webkit.org/b/86574>
7006
7007        Reviewed by Antti Koivisto.
7008
7009        Refactor cloning of attributes a bit to dodge the styleAttr reparse previously
7010        caused by ElementAttributeData::setAttributes().
7011
7012        Introduced Element::cloneDataFromElement() which takes care of cloning the
7013        ElementAttributeData as well as "non-attribute properties" (which is currently
7014        specific to HTMLInputElement.)
7015
7016        Also includes some additional dodging of attribute vector traversal to find
7017        old/new 'id' and 'name' attributes.
7018
7019        I'm seeing a ~10% improvement on PerformanceTests/DOM/CloneNodes locally.
7020
7021        * dom/Document.cpp:
7022        (WebCore::Document::importNode):
7023        * dom/Element.cpp:
7024        (WebCore::Element::cloneElementWithoutChildren):
7025        (WebCore::Element::cloneAttributesFromElement):
7026        (WebCore::Element::cloneDataFromElement):
7027        * dom/Element.h:
7028        (WebCore::Element::copyNonAttributePropertiesFromElement):
7029        * dom/ElementAttributeData.cpp:
7030        (WebCore::ElementAttributeData::cloneDataFrom):
7031        * dom/ElementAttributeData.h:
7032        (ElementAttributeData):
7033        * dom/Node.h:
7034        * dom/StyledElement.cpp:
7035        (WebCore::StyledElement::styleAttributeChanged):
7036        (WebCore::StyledElement::parseAttribute):
7037        * dom/StyledElement.h:
7038        * editing/ReplaceNodeWithSpanCommand.cpp:
7039        (WebCore::swapInNodePreservingAttributesAndChildren):
7040        * html/HTMLElement.cpp:
7041        * html/HTMLInputElement.cpp:
7042        (WebCore::HTMLInputElement::copyNonAttributePropertiesFromElement):
7043        * html/HTMLInputElement.h:
7044        * inspector/DOMPatchSupport.cpp:
7045        (WebCore::DOMPatchSupport::innerPatchNode):
7046        * inspector/InspectorDOMAgent.cpp:
7047        (WebCore::InspectorDOMAgent::setNodeName):
7048        * svg/SVGUseElement.cpp:
7049        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
7050        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
7051
70522012-05-16  Brent Fulgham  <bfulgham@webkit.org>
7053
7054        [WinCairo] Unreviewed build change after r115385.  Several Cairo
7055        image routines were modified to use new wrapper classes, but the
7056        relevant WinCairo sources were not updated to match.
7057
7058        * WebCore.vcproj/WebCore.vcproj:
7059        * platform/graphics/win/ImageCairoWin.cpp:
7060        (WebCore::BitmapImage::create):
7061        (WebCore::BitmapImage::drawFrameMatchingSourceSize):
7062        * platform/win/DragImageCairoWin.cpp:
7063        (WebCore::createDragImageFromImage):
7064
70652012-05-16  Tim Horton  <timothy_horton@apple.com>
7066
7067        Scrollbar layers should respect accelerated drawing setting
7068        https://bugs.webkit.org/show_bug.cgi?id=86644
7069        <rdar://problem/11462038>
7070
7071        Reviewed by Simon Fraser.
7072
7073        When creating scrollbar layers, pass through the accelerated drawing setting.
7074
7075        No new tests.
7076
7077        * rendering/RenderLayerCompositor.cpp:
7078        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
7079
70802012-05-16  Tim Horton  <timothy_horton@apple.com>
7081
7082        FrameView::scrollContentsFastPath should use painted area to determine whether to drop out of the fast path
7083        https://bugs.webkit.org/show_bug.cgi?id=86651
7084        <rdar://problem/11459243>
7085
7086        Reviewed by Simon Fraser.
7087
7088        Previously, we decided to fall out of the fast scrolling path by the number of fixed-position elements
7089        on the page. This was less than ideal if a single fixed position element took up a significant portion
7090        of the page, or if there were many small, cheap-to-paint fixed elements.
7091
7092        Instead, we should use the fast path if less than 50% of the page will be repainted by fixed-position
7093        elements, and otherwise fall back to the slow path.
7094
7095        I've tested a few different thresholds with an internal test; 50% seems to work relatively well,
7096        but the ideal value is hard to determine and likely depends on hardware.
7097
7098        No new tests, performance improvement with few large fixed-position objects or many small ones.
7099
7100        * page/FrameView.cpp:
7101        (WebCore::FrameView::scrollContentsFastPath):
7102
71032012-05-16  David Reveman  <reveman@chromium.org>
7104
7105        [Chromium] Use ThrottledTextureUploader with threaded compositing.
7106        https://bugs.webkit.org/show_bug.cgi?id=85848
7107
7108        Reviewed by Adrienne Walker.
7109
7110        Switch to ThrottledUploader in CCThreadProxy.
7111
7112        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
7113
71142012-05-15  Emil A Eklund  <eae@chromium.org>
7115
7116        Change ascents and descent back to ints for now
7117        https://bugs.webkit.org/show_bug.cgi?id=86518
7118
7119        Reviewed by Eric Seidel.
7120
7121        Change ascents and descent calculation back to integers for now as it
7122        looks like we'll need to support both the 1/60 and 1/1 implementations of
7123        FractionalLayoutUnit for the immediate future to ensure that text is
7124        rendered at the same offset and with the height regardless of the
7125        ENABLE_SUBPIXEL_LAYOUT flag.
7126
7127        This ensures that most websites will look the same at 100% zoom
7128        regardless of the flag and also allows us to the same test expectations
7129        for the vast majority of layout tests.
7130
7131        Eventually we want to move those back to FractionalLayoutUnits as that
7132        will result in more correct rendering.
7133
7134        No new tests, no change in functionality.
7135
7136        * rendering/InlineFlowBox.cpp:
7137        (WebCore::InlineFlowBox::computeLogicalBoxHeights):
7138        * rendering/RootInlineBox.cpp:
7139        (WebCore::setAscentAndDescent):
7140        (WebCore::RootInlineBox::ascentAndDescentForBox):
7141        * rendering/RootInlineBox.h:
7142        (RootInlineBox):
7143
71442012-05-16  Ken Buchanan  <kenrb@chromium.org>
7145
7146        Crash due to first-letter not getting computed on RenderTableCell
7147        https://bugs.webkit.org/show_bug.cgi?id=86133
7148
7149        Reviewed by Abhishek Arya.
7150
7151        RenderTableCell overrides RenderBlock::layout() but doesn't call
7152        updateFirstLetter() in it. This is normally not a problem because
7153        updateFirstLetter() gets called during preferred logical width
7154        computation, but there exist rare occasions when layout of the table
7155        cell happens without preferred logical widths being dirty, in which
7156        case the first-letter update can be skipped.
7157
7158        This patch adds a call to updateFirstLetter() to
7159        RenderTableCell::layout(). This ensures that the first-letter is up
7160        to date before commencing block layout.
7161
7162        * rendering/RenderTableCell.cpp:
7163        (WebCore::RenderTableCell::layout)
7164
71652012-05-16  Mikhail Naganov  <mnaganov@chromium.org>
7166
7167        Avoid jumpscroll when entering new text in a multi-line editor.
7168        https://bugs.webkit.org/show_bug.cgi?id=82875
7169
7170        Reviewed by Ryosuke Niwa.
7171
7172        Scroll caret to the edge of the viewport in case if a line break or a paragraph
7173        separator is inserted at the end of a multi-line editor.  This avoids
7174        undesirable jumpscroll in cases when there is content under the editor.
7175
7176        Tests: editing/input/scroll-to-edge-if-line-break-at-end-of-document-contenteditable.html
7177               editing/input/scroll-to-edge-if-line-break-at-end-of-document-textarea.html
7178               editing/input/scroll-to-edge-if-paragraph-separator-at-end-of-document-contenteditable.html
7179
7180        * editing/Editor.cpp:
7181        (WebCore::Editor::insertLineBreak):
7182        (WebCore::Editor::insertParagraphSeparator):
7183        (WebCore::Editor::revealSelectionAfterEditingOperation):
7184        * editing/Editor.h:
7185        (Editor):
7186
71872012-05-16  Vsevolod Vlasov  <vsevik@chromium.org>
7188
7189        Web Inspector: Pressing esc after requesting snippet creation should remove snippet.
7190        https://bugs.webkit.org/show_bug.cgi?id=86639
7191
7192        Reviewed by Pavel Feldman.
7193
7194        Added committed parameter to NavigatorView.rename() callback.
7195
7196        * inspector/front-end/NavigatorView.js:
7197        (WebInspector.NavigatorView.prototype.rename.commitHandler):
7198        (WebInspector.NavigatorView.prototype.rename.cancelHandler):
7199        (WebInspector.NavigatorView.prototype.rename.afterEditing):
7200        * inspector/front-end/ScriptsNavigator.js:
7201        * inspector/front-end/ScriptsPanel.js:
7202        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
7203        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
7204
72052012-05-16  Abhishek Arya  <inferno@chromium.org>
7206
7207        Missing RenderApplet cast check in HTMLAppletElement::renderWidgetForJSBindings.
7208        https://bugs.webkit.org/show_bug.cgi?id=86627
7209
7210        Reviewed by Andreas Kling.
7211
7212        Test: java/inline-applet-crash.html
7213
7214        * html/HTMLAppletElement.cpp:
7215        (WebCore::HTMLAppletElement::renderWidgetForJSBindings):
7216
72172012-05-16  Pavel Feldman  <pfeldman@chromium.org>
7218
7219        Web Inspector: extract CompositeUISourceCodeProvider from DebuggerScriptMapping.
7220        https://bugs.webkit.org/show_bug.cgi?id=86634
7221
7222        Reviewed by Vsevolod Vlasov.
7223
7224        Extract refactoring.
7225
7226        * inspector/front-end/DebuggerScriptMapping.js:
7227        (WebInspector.DebuggerScriptMapping):
7228        (WebInspector.DebuggerScriptMapping.prototype.uiSourceCodeProviders):
7229        (WebInspector.DebuggerScriptMapping.prototype._parsedScriptSource):
7230        * inspector/front-end/ScriptsPanel.js:
7231        (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
7232        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
7233        (WebInspector.CompositeUISourceCodeProvider):
7234        (WebInspector.CompositeUISourceCodeProvider.prototype._registerUISourceCodeProvider):
7235        (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeAdded):
7236        (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeReplaced):
7237        (WebInspector.CompositeUISourceCodeProvider.prototype._handleUISourceCodeRemoved):
7238        (WebInspector.CompositeUISourceCodeProvider.prototype.uiSourceCodes):
7239        * inspector/front-end/UISourceCode.js:
7240        (WebInspector.UISourceCodeProvider.prototype.uiSourceCodes):
7241        (WebInspector.UISourceCodeProvider.prototype.addEventListener):
7242        (WebInspector.UISourceCodeProvider.prototype.removeEventListener):
7243
72442012-05-16  Alexander Pavlov  <apavlov@chromium.org>
7245
7246        Web Inspector: Double Clicking on "No watch expressions" should add an expression
7247        https://bugs.webkit.org/show_bug.cgi?id=86631
7248
7249        Reviewed by Vsevolod Vlasov.
7250
7251        A double-click listener for the section element adds a new watch expression if the correct element
7252        has been clicked.
7253        Drive-by: do not persist deleted (null) watch expressions.
7254
7255        * inspector/front-end/WatchExpressionsSidebarPane.js:
7256        (WebInspector.WatchExpressionsSection.prototype._sectionDoubleClick):
7257        (WebInspector.WatchExpressionsSection.prototype.updateExpression):
7258
72592012-05-16  Vsevolod Vlasov  <vsevik@chromium.org>
7260
7261        Web Inspector: Support script snippets saving.
7262        https://bugs.webkit.org/show_bug.cgi?id=86632
7263
7264        Reviewed by Pavel Feldman.
7265
7266        Added SnippetJavaScriptSource extending JavaScriptSource and overriding isEditable() and commitWorkingCopy() methods.
7267        ScriptSnippetModel now creates instances of this new class for snippets.
7268        Also maps in ScriptSnippetModel simplified.
7269
7270        * inspector/front-end/JavaScriptSource.js:
7271        (WebInspector.JavaScriptSource.prototype.commitWorkingCopy):
7272        (WebInspector):
7273        * inspector/front-end/JavaScriptSourceFrame.js:
7274        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
7275        * inspector/front-end/ScriptSnippetModel.js:
7276        (WebInspector.ScriptSnippetModel):
7277        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
7278        (WebInspector.ScriptSnippetModel.prototype.deleteScriptSnippet):
7279        (WebInspector.ScriptSnippetModel.prototype.renameScriptSnippet):
7280        (WebInspector.ScriptSnippetModel.prototype.setScriptSnippetContent):
7281        (WebInspector.ScriptSnippetModel.prototype._uiSourceCodeList):
7282        (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes):
7283        (WebInspector.SnippetJavaScriptSource):
7284        (WebInspector.SnippetJavaScriptSource.prototype.isEditable):
7285        (WebInspector.SnippetJavaScriptSource.prototype.commitWorkingCopy):
7286        (WebInspector.SnippetJavaScriptSource.prototype.get snippetId):
7287        * inspector/front-end/ScriptsPanel.js:
7288        (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
7289        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
7290        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
7291
72922012-05-16  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
7293
7294        [EFL] Memory leak in RenderThemeEfl
7295        https://bugs.webkit.org/show_bug.cgi?id=86609
7296
7297        Reviewed by Martin Robinson.
7298
7299        Fix a memory leak by freeing the cairo surface with
7300        cairo_surface_destroy.
7301
7302        * platform/efl/RenderThemeEfl.cpp:
7303        (WebCore::RenderThemeEfl::cacheThemePartFlush):
7304
73052012-05-16  Alexei Filippov  <alexeif@chromium.org>
7306
7307        Web Inspector: Speedup heap snapshot postprocessing
7308        https://bugs.webkit.org/show_bug.cgi?id=86635
7309
7310        Reviewed by Yury Semikhatsky.
7311
7312        * inspector/front-end/HeapSnapshot.js:
7313        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
7314
73152012-05-16  Alexander Pavlov  <apavlov@chromium.org>
7316
7317        Unreviewed, followup for r117273 that fixes the Web Inspector's Computed Style pane layout.
7318
7319        * inspector/front-end/elementsPanel.css:
7320        (.styles-section.computed-style.expanded .properties > li):
7321        (.styles-section.computed-style.expanded .properties > li .webkit-css-property):
7322
73232012-05-16  Andrey Kosyakov  <caseq@chromium.org>
7324
7325        Web Inspector: [Extensions API] expose evaluateOptions in audit formatters
7326        https://bugs.webkit.org/show_bug.cgi?id=86617
7327
7328        Reviewed by Pavel Feldman.
7329
7330        Test: inspector/extensions/extensions-audits-content-script.html
7331
7332        - apply extension-specific audit formatters earlier (in ExtensionAduitCategory, not along with the rest in AuditFormatters);
7333        - use ExtensionServer.evaluate() to handle evaluateOptions instead of PageAgent.evaluate();
7334
7335        * inspector/front-end/AuditFormatters.js: Move node and object formatters to ExtensionAuditCategory.
7336        (WebInspector.partiallyApplyFormatters): Added a method to traverse formatters tree and apply formatters that are passed as input.
7337        * inspector/front-end/ExtensionAuditCategory.js:
7338        (WebInspector.ExtensionAuditCategory): Pass extensionOrigin.
7339        (WebInspector.ExtensionAuditCategoryResults.prototype._addNode): Apply extensions formatters before adding the result.
7340        (WebInspector.ExtensionAuditCategoryResults.prototype._addResult):
7341        (WebInspector.ExtensionAuditCategoryResults.prototype.evaluate): moved from AuditFormatters.
7342        (WebInspector.ExtensionAuditFormatters.object.onEvaluate):
7343        (WebInspector.ExtensionAuditFormatters.object):
7344        (WebInspector.ExtensionAuditFormatters.node.onNodeAvailable):
7345        (WebInspector.ExtensionAuditFormatters.node.onEvaluate):
7346        (WebInspector.ExtensionAuditFormatters.node):
7347        * inspector/front-end/ExtensionServer.js:
7348        (WebInspector.ExtensionServer.prototype._onAddAuditCategory): Plumb extensionOrigin through to audit category.
7349
73502012-05-16  Donald Carr  <donald.carr@nokia.com>
7351
7352        Fixes the build with Qt 5 HEAD
7353
7354        Reviewed by Csaba Osztrogonác.
7355
7356        * WebCore.pri:
7357        * platform/graphics/texmap/TextureMapperGL.cpp:
7358        * plugins/qt/PluginViewQt.cpp:
7359
73602012-05-16  Rob Buis  <rbuis@rim.com>
7361
7362        SVGSVGElement checkIntersection and checkEnclosure Mem corruption
7363        https://bugs.webkit.org/show_bug.cgi?id=67923
7364
7365        Reviewed by Nikolas Zimmermann.
7366
7367        Only call checkIntersection/checkEnclosure when we have a valid renderer.
7368
7369        Test: svg/custom/intersection-list-null.svg
7370
7371        * svg/SVGSVGElement.cpp:
7372        (WebCore::SVGSVGElement::checkIntersection):
7373        (WebCore::SVGSVGElement::checkEnclosure):
7374
73752012-05-16  Simon Hausmann  <simon.hausmann@nokia.com>
7376
7377        Unreviewed, rolling out r110699.
7378        http://trac.webkit.org/changeset/110699
7379        https://bugs.webkit.org/show_bug.cgi?id=80982
7380
7381        Not needed anymore and broke modal event loops
7382
7383        * platform/qt/RunLoopQt.cpp:
7384        (WebCore::RunLoop::TimerObject::TimerObject):
7385        (WebCore::RunLoop::TimerObject::performWork):
7386        (RunLoop::TimerObject):
7387
73882012-05-16  Pavel Feldman  <pfeldman@chromium.org>
7389
7390        Web Inspector: split ScriptMapping into UISourceCodeProvider and SourceMapping.
7391        https://bugs.webkit.org/show_bug.cgi?id=86616
7392
7393        Reviewed by Vsevolod Vlasov.
7394
7395        This change simply splits the interface.
7396
7397        * WebCore.gypi:
7398        * WebCore.vcproj/WebCore.vcproj:
7399        * inspector/compile-front-end.py:
7400        * inspector/front-end/CompilerScriptMapping.js:
7401        (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodes):
7402        (WebInspector.CompilerScriptMapping.prototype.reset):
7403        * inspector/front-end/DebuggerModel.js:
7404        * inspector/front-end/DebuggerResourceBinding.js:
7405        (WebInspector.DebuggerResourceBinding):
7406        (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
7407        * inspector/front-end/DebuggerScriptMapping.js:
7408        (WebInspector.DebuggerScriptMapping):
7409        (WebInspector.DebuggerScriptMapping.prototype.uiSourceCodes):
7410        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeAdded):
7411        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeReplaced):
7412        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeRemoved):
7413        * inspector/front-end/FilteredItemSelectionDialog.js:
7414        (WebInspector.OpenScriptDialog):
7415        (WebInspector.OpenScriptDialog.install):
7416        (WebInspector.OpenScriptDialog._show):
7417        * inspector/front-end/PresentationConsoleMessageHelper.js:
7418        (WebInspector.PresentationConsoleMessageHelper):
7419        (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
7420        * inspector/front-end/ResourceScriptMapping.js:
7421        (WebInspector.ResourceScriptMapping.prototype.uiSourceCodes):
7422        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
7423        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
7424        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
7425        * inspector/front-end/Script.js:
7426        * inspector/front-end/ScriptSnippetModel.js:
7427        (WebInspector.ScriptSnippetModel.prototype._uiSourceCodes):
7428        (WebInspector.SnippetScriptMapping.prototype.uiSourceCodes):
7429        (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeAdded):
7430        (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeRemoved):
7431        * inspector/front-end/ScriptsPanel.js:
7432        * inspector/front-end/ScriptsSearchScope.js:
7433        (WebInspector.ScriptsSearchScope):
7434        (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
7435        * inspector/front-end/SourceMapping.js: Renamed from Source/WebCore/inspector/front-end/ScriptMapping.js.
7436        * inspector/front-end/UISourceCode.js:
7437        (WebInspector.UISourceCodeProvider):
7438        (WebInspector.UISourceCodeProvider.prototype.uiSourceCodes):
7439        (WebInspector.UILocation):
7440        (WebInspector.UILocation.prototype.uiLocationToRawLocation):
7441        * inspector/front-end/WebKit.qrc:
7442        * inspector/front-end/inspector.html:
7443
74442012-05-16  Vsevolod Vlasov  <vsevik@chromium.org>
7445
7446        Web Inspector: Implement snippet creation/renaming in ScriptsNavigator.
7447        https://bugs.webkit.org/show_bug.cgi?id=82622
7448
7449        Reviewed by Pavel Feldman.
7450
7451        Implemented snippet creation and renaming.
7452        Added TitleChanged event to UISourceCode.
7453
7454        * inspector/front-end/NavigatorOverlayController.js:
7455        (WebInspector.NavigatorOverlayController.prototype._containingElementFocused):
7456        (WebInspector.NavigatorOverlayController.prototype.isNavigatorPinned):
7457        (WebInspector.NavigatorOverlayController.prototype.isNavigatorHidden):
7458        * inspector/front-end/NavigatorView.js:
7459        (WebInspector.NavigatorView.prototype._uiSourceCodeTitleChanged):
7460        (WebInspector.NavigatorView.prototype._updateScriptTitle):
7461        (WebInspector.NavigatorView.prototype._addUISourceCodeListeners):
7462        (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners):
7463        (WebInspector.NavigatorView.prototype._fileRenamed):
7464        (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
7465        * inspector/front-end/ScriptSnippetModel.js:
7466        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
7467        * inspector/front-end/ScriptsNavigator.js:
7468        (WebInspector.ScriptsNavigator):
7469        (WebInspector.ScriptsNavigator.prototype._snippetsNavigatorViewForUISourceCode):
7470        (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
7471        (WebInspector.ScriptsNavigator.prototype.isScriptSourceAdded):
7472        (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
7473        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCode):
7474        (WebInspector.ScriptsNavigator.prototype.rename):
7475        (WebInspector.ScriptsNavigator.prototype._fileRenamed):
7476        (WebInspector.ScriptsNavigator.prototype._snippetCreationRequested):
7477        (WebInspector.SnippetsNavigatorView.prototype._handleCreateSnippet):
7478        (WebInspector.SnippetsNavigatorView.prototype._snippetCreationRequested):
7479        * inspector/front-end/ScriptsPanel.js:
7480        (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
7481        (WebInspector.ScriptsPanel.prototype.set _fileRenamed):
7482        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested.callback):
7483        (WebInspector.ScriptsPanel.prototype._snippetCreationRequested):
7484        * inspector/front-end/TabbedEditorContainer.js:
7485        (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
7486        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
7487        (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeTitleChanged):
7488        * inspector/front-end/UISourceCode.js:
7489        (WebInspector.UISourceCode.prototype.urlChanged):
7490
74912012-05-16  Alexander Pavlov  <apavlov@chromium.org>
7492
7493        Web Inspector: gradient properties are painful to inspect / author.
7494        https://bugs.webkit.org/show_bug.cgi?id=86379
7495
7496        Reviewed by Pavel Feldman.
7497
7498        The CSS styles layout has been changed to allow property values to wrap onto subsequent lines
7499        to let the users see the entire value text.
7500
7501        * inspector/front-end/StylesSidebarPane.js:
7502        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.): Avoid line breaks between the color swatch and value.
7503        * inspector/front-end/elementsPanel.css:
7504        (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
7505        (.styles-section .properties li):
7506        (.styles-section .properties li .webkit-css-property):
7507        (.styles-section.expanded .properties > li):
7508        (.styles-section .properties > li .webkit-css-property):
7509        (.styles-section .properties > li.child-editing):
7510        (.styles-section .properties > li.child-editing .webkit-css-property):
7511        (.styles-section .properties .enabled-button):
7512
75132012-05-16  Yury Semikhatsky  <yurys@chromium.org>
7514
7515        Web Inspector: rename ProfileView.js to CPUProfileView.js
7516        https://bugs.webkit.org/show_bug.cgi?id=86612
7517
7518        Reviewed by Pavel Feldman.
7519
7520        Renamed ProfileView.js to CPUProfileView.js to match the file content.
7521
7522        * WebCore.gypi:
7523        * WebCore.vcproj/WebCore.vcproj:
7524        * inspector/compile-front-end.py:
7525        * inspector/front-end/CPUProfileView.js: Renamed from Source/WebCore/inspector/front-end/ProfileView.js.
7526        (WebInspector.CPUProfileView.profileCallback):
7527        (WebInspector.CPUProfileView.prototype.get statusBarItems):
7528        (WebInspector.CPUProfileView.prototype.get profile):
7529        (WebInspector.CPUProfileView.prototype.set profile):
7530        (WebInspector.CPUProfileView.prototype.get bottomUpProfileDataGridTree):
7531        (WebInspector.CPUProfileView.prototype.get topDownProfileDataGridTree):
7532        (WebInspector.CPUProfileView.prototype.get currentTree):
7533        (WebInspector.CPUProfileView.prototype.set currentTree):
7534        (WebInspector.CPUProfileView.prototype.willHide):
7535        (WebInspector.CPUProfileView.prototype.refresh):
7536        (WebInspector.CPUProfileView.prototype.refreshVisibleData):
7537        (WebInspector.CPUProfileView.prototype.refreshShowAsPercents):
7538        (WebInspector.CPUProfileView.prototype.searchCanceled):
7539        (WebInspector.CPUProfileView.prototype.performSearch.matchesQuery):
7540        (WebInspector.CPUProfileView.prototype.performSearch):
7541        (WebInspector.CPUProfileView.prototype.jumpToFirstSearchResult):
7542        (WebInspector.CPUProfileView.prototype.jumpToLastSearchResult):
7543        (WebInspector.CPUProfileView.prototype.jumpToNextSearchResult):
7544        (WebInspector.CPUProfileView.prototype.jumpToPreviousSearchResult):
7545        (WebInspector.CPUProfileView.prototype.showingFirstSearchResult):
7546        (WebInspector.CPUProfileView.prototype.showingLastSearchResult):
7547        (WebInspector.CPUProfileView.prototype._jumpToSearchResult):
7548        (WebInspector.CPUProfileView.prototype._changeView.set else):
7549        (WebInspector.CPUProfileView.prototype._focusClicked):
7550        (WebInspector.CPUProfileView.prototype._excludeClicked):
7551        (WebInspector.CPUProfileView.prototype._resetClicked):
7552        (WebInspector.CPUProfileView.prototype._dataGridNodeSelected):
7553        (WebInspector.CPUProfileView.prototype._dataGridNodeDeselected):
7554        (WebInspector.CPUProfileView.prototype._sortProfile):
7555        (WebInspector.CPUProfileView.prototype._assignParentsInProfile):
7556        (WebInspector.CPUProfileType):
7557        (WebInspector.CPUProfileType.prototype.get buttonTooltip):
7558        (WebInspector.CPUProfileType.prototype.buttonClicked):
7559        (WebInspector.CPUProfileType.prototype.get treeItemTitle):
7560        (WebInspector.CPUProfileType.prototype.get description):
7561        (WebInspector.CPUProfileType.prototype.isRecordingProfile):
7562        (WebInspector.CPUProfileType.prototype.startRecordingProfile):
7563        (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
7564        (WebInspector.CPUProfileType.prototype.setRecordingProfile):
7565        (WebInspector.CPUProfileType.prototype.createSidebarTreeElementForProfile):
7566        (WebInspector.CPUProfileType.prototype.createView):
7567        (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
7568        (WebInspector.CPUProfileType.prototype.createProfile):
7569        * inspector/front-end/HeapSnapshotView.js:
7570        (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
7571        * inspector/front-end/WebKit.qrc:
7572        * inspector/front-end/inspector.html:
7573
75742012-05-16  Arpita Bahuguna  <arpitabahuguna@gmail.com>
7575
7576        "border: collapse" + "display: none" rows in the tbody while having thead or tfoot doesn't render the opposite border
7577        https://bugs.webkit.org/show_bug.cgi?id=67877
7578
7579        Reviewed by Antti Koivisto.
7580
7581        Test: fast/css/table-collapsed-borders.html
7582
7583        * rendering/RenderTableCell.cpp:
7584        (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
7585        When getting the previous row group's after border, pass SkipEmptySections as the second param
7586        to the RenderTable::sectionAbove() call. Thus if the currSection is the top most section of the
7587        table passing SkipEmptySections to sectionAbove() would return null which should be the expected
7588        behavior.
7589
7590        (WebCore::RenderTableCell::computeCollapsedAfterBorder):
7591        When getting the following row group's before border, pass SkipEmptySections as the second param
7592        to the RenderTable::sectionBelow() call. Thus if the currSection is the bottom most section of the
7593        table passing SkipEmptySections to sectionBelow() would return null which should be the expected
7594        behavior.
7595
75962012-05-16  Pavel Feldman  <pfeldman@chromium.org>
7597
7598        Web Inspector: follow up to r117267 - fixing typo and removing unnecessary dispatch.
7599        https://bugs.webkit.org/show_bug.cgi?id=86613
7600
7601        Reviewed by Vsevolod Vlasov.
7602
7603        * inspector/front-end/ResourceScriptMapping.js:
7604        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
7605        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
7606
76072012-05-16  Vsevolod Vlasov  <vsevik@chromium.org>
7608
7609        Web Inspector: Move edit/save script source logic to JavaScriptSource.
7610        https://bugs.webkit.org/show_bug.cgi?id=86604
7611
7612        Reviewed by Pavel Feldman.
7613
7614        Added working copy notion to UISourceCode.
7615        Moved DebuggerResourceBinding content edit calls to JavaScriptSource.
7616        Added WorkingCopyChanged event to UISourceCode.
7617
7618        * inspector/front-end/CompilerScriptMapping.js:
7619        * inspector/front-end/DebuggerResourceBinding.js:
7620        (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
7621        * inspector/front-end/JavaScriptSource.js:
7622        (WebInspector.JavaScriptSource):
7623        (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
7624        (WebInspector.JavaScriptSource.prototype.isEditable):
7625        (WebInspector.JavaScriptSource.prototype.commitWorkingCopy):
7626        (WebInspector):
7627        * inspector/front-end/JavaScriptSourceFrame.js:
7628        (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
7629        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
7630        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
7631        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
7632        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
7633        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
7634        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
7635        * inspector/front-end/NavigatorView.js:
7636        (WebInspector.NavigatorView.prototype._uiSourceCodeWorkingCopyChanged):
7637        (WebInspector.NavigatorView.prototype._uiSourceCodeContentChanged):
7638        (WebInspector.NavigatorView.prototype._updateScriptTitle):
7639        (WebInspector.NavigatorView.prototype._removeUISourceCode):
7640        (WebInspector.NavigatorView.prototype._addUISourceCodeListeners):
7641        (WebInspector.NavigatorView.prototype._removeUISourceCodeListeners):
7642        (WebInspector.NavigatorView.prototype.reset):
7643        * inspector/front-end/RawSourceCode.js:
7644        (WebInspector.RawSourceCode.prototype._createUISourceCode):
7645        * inspector/front-end/ScriptSnippetModel.js:
7646        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
7647        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
7648        * inspector/front-end/ScriptsPanel.js:
7649        * inspector/front-end/TabbedEditorContainer.js:
7650        (WebInspector.TabbedEditorContainer):
7651        (WebInspector.TabbedEditorContainer.prototype._titleForFile):
7652        (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
7653        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
7654        (WebInspector.TabbedEditorContainer.prototype._updateFileTitle.get if):
7655        (WebInspector.TabbedEditorContainer.prototype._updateFileTitle):
7656        (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeWorkingCopyChanged):
7657        (WebInspector.TabbedEditorContainer.prototype._uiSourceCodeContentChanged):
7658        * inspector/front-end/UISourceCode.js:
7659        (WebInspector.UISourceCode):
7660        (WebInspector.UISourceCode.prototype.contentChanged):
7661        (WebInspector.UISourceCode.prototype.isEditable):
7662        (WebInspector.UISourceCode.prototype.workingCopy):
7663        (WebInspector.UISourceCode.prototype.setWorkingCopy):
7664        (WebInspector.UISourceCode.prototype.isDirty):
7665        (WebInspector.UISourceCode.prototype.commitWorkingCopy):
7666
76672012-05-16  Pavel Feldman  <pfeldman@chromium.org>
7668
7669        Web Inspector: get rid of UISourceCodeListChanged event.
7670        https://bugs.webkit.org/show_bug.cgi?id=86601
7671
7672        Reviewed by Vsevolod Vlasov.
7673
7674        There was unnecessary conversion between this event and UISourceCodeAdded/Removed/Replaced.
7675
7676        * inspector/front-end/CompilerScriptMapping.js:
7677        (WebInspector.CompilerScriptMapping.prototype.reset):
7678        * inspector/front-end/DebuggerScriptMapping.js:
7679        (WebInspector.DebuggerScriptMapping):
7680        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeAdded):
7681        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeReplaced):
7682        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeRemoved):
7683        * inspector/front-end/NavigatorView.js:
7684        * inspector/front-end/ResourceScriptMapping.js:
7685        (WebInspector.ResourceScriptMapping.prototype.addScript):
7686        (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
7687        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeAdded):
7688        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeReplaced):
7689        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeRemoved):
7690        (WebInspector.ResourceScriptMapping.prototype.reset):
7691        * inspector/front-end/ScriptMapping.js:
7692        * inspector/front-end/ScriptSnippetModel.js:
7693        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
7694        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
7695        (WebInspector.ScriptSnippetModel.prototype._reset):
7696        (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeAdded):
7697        (WebInspector.SnippetScriptMapping.prototype._fireUISourceCodeRemoved):
7698        * inspector/front-end/ScriptsNavigator.js:
7699        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCode):
7700        * inspector/front-end/ScriptsPanel.js:
7701        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
7702        * inspector/front-end/TabbedEditorContainer.js:
7703
77042012-05-16  Keishi Hattori  <keishi@webkit.org>
7705
7706        [chromium] Add WebKit API to access inner text value of input element
7707        https://bugs.webkit.org/show_bug.cgi?id=85353
7708
7709        Reviewed by Kent Tamura.
7710
7711        Test: fast/forms/editing-value.html
7712
7713        We need this to implement the datalist UI for  <input type=email multiple>.
7714        HTMLInputElement.value gives you the sanitized value so the whitespace between values are trimmed.
7715        We need to append the selected suggestion to the end without modifying the rest of the text.
7716
7717        * WebCore.exp.in: Added HTMLInputElement::setEditingValue
7718        * html/HTMLInputElement.cpp:
7719        (WebCore::HTMLInputElement::setEditingValue):
7720        (WebCore):
7721        * html/HTMLInputElement.h:
7722        (HTMLInputElement):
7723        * testing/Internals.cpp:
7724        (WebCore::Internals::setEditingValue):
7725        (WebCore):
7726        * testing/Internals.h:
7727        (Internals):
7728        * testing/Internals.idl:
7729
77302012-05-16  Jason Liu  <jason.liu@torchmobile.com.cn>
7731
7732        [BlackBerry] Cookies should be checked during parsing to improve performance.
7733        https://bugs.webkit.org/show_bug.cgi?id=85028
7734
7735        Reviewed by George Staikos.
7736
7737        We shouldn't waste time and memery on invalid cookies. It is better to drop them during parsing.
7738        We shouldn't check the default domain since it is set with host. So we only check domains which are parsed
7739        from response headers.
7740
7741        No new tests. No functionality change.
7742
7743        * platform/blackberry/CookieManager.cpp:
7744        (WebCore::CookieManager::setCookies):
7745        * platform/blackberry/CookieManager.h:
7746        * platform/blackberry/CookieParser.cpp:
7747        (WebCore::CookieParser::parseOneCookie):
7748
77492012-05-15  Pierre Rossi  <pierre.rossi@gmail.com>
7750
7751        [Qt] Enable SVG Fonts by default
7752        https://bugs.webkit.org/show_bug.cgi?id=86463
7753
7754        Reviewed by Nikolas Zimmermann.
7755
7756        Another feature we can get for free after switching to using
7757        the font fast path with QRawFont.
7758        It will get disabled in features.prf if either SVG support is
7759        disabled or if we are not using QRawFont (e.g. for Qt 4).
7760
7761        Covered by a series of tests that were skipped for the
7762        Qt port up until now.
7763
7764        * platform/graphics/qt/FontPlatformData.h:
7765        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
7766        Initialize the platform data used as fallback in conjunction with SVG
7767        fonts so it will honor size, weight and oblique-ness.
7768        * rendering/svg/SVGTextMetricsBuilder.cpp: Avoid forcing the complex path.
7769        (WebCore::SVGTextMetricsBuilder::advance):
7770        (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
7771        (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
7772        * svg/SVGFontElement.cpp:
7773        (WebCore::SVGFontElement::ensureGlyphCache): avoid ambiguity with String(const QString&)
7774
77752012-05-16  Kenichi Ishibashi  <bashi@chromium.org>
7776
7777        [Chromium] WebTransformationMatrixTest.verifyDefaultConstructorCreatesIdentityMatrix is failing
7778        https://bugs.webkit.org/show_bug.cgi?id=86589
7779
7780        Reviewed by Kent Tamura.
7781
7782        Need to call m_private.reset(0) before destructing WebTransformationMatrix objects.
7783
7784        No new tests. WebTransformationMatrixTest should pass on debug build.
7785
7786        * platform/chromium/support/WebTransformationMatrix.cpp:
7787        (WebKit::WebTransformationMatrix::~WebTransformationMatrix):
7788        (WebKit):
7789
77902012-05-16  Shinya Kawanaka  <shinyak@chromium.org>
7791
7792        ShadowRoot.selection should return the seleciton whose range is in a shadow tree.
7793        https://bugs.webkit.org/show_bug.cgi?id=82698
7794
7795        Reviewed by Ryosuke Niwa.
7796
7797        The selection object returned from shadowRoot.selection should be able to see
7798        the inner object of the shadowRoot.
7799
7800        In the previous code, the node out of the shadow subtree was returned for
7801        anchorNode, focusNode, baseNode, and extentNode. This patch enables us to get
7802        the corresponding shadow ancestor in the specified TreeScope (m_treeScope).
7803
7804        Tests: editing/shadow/selection-of-orphan-shadowroot.html
7805               editing/shadow/selection-of-shadowroot.html
7806
7807        * dom/ShadowRoot.cpp:
7808        (WebCore::ShadowRoot::selection):
7809        * dom/ShadowRoot.h:
7810        (ShadowRoot):
7811        * dom/TreeScope.cpp:
7812        (WebCore::TreeScope::getSelection): When shadow DOM feature is not enabled, we want to use the same
7813        instance of DOMSelection among Document and ShadowRoot.
7814        * dom/TreeScopeAdjuster.cpp:
7815        (WebCore::TreeScopeAdjuster::TreeScopeAdjuster):
7816        (WebCore::TreeScopeAdjuster::ancestorInThisScope): Since node could be null, I've added a node check code.
7817        * dom/TreeScopeAdjuster.h:
7818        (TreeScopeAdjuster):
7819        (WebCore::TreeScopeAdjuster::treeScope):
7820        * page/DOMSelection.cpp:
7821        (WebCore::DOMSelection::anchorNode):
7822        (WebCore::DOMSelection::anchorOffset):
7823        (WebCore::DOMSelection::focusNode):
7824        (WebCore::DOMSelection::focusOffset):
7825        (WebCore::DOMSelection::baseNode):
7826        (WebCore::DOMSelection::baseOffset):
7827        (WebCore::DOMSelection::extentNode):
7828        (WebCore::DOMSelection::extentOffset):
7829        (WebCore::DOMSelection::shadowAdjustedNode): Gets the corresponding node in the m_treeScope from the Position.
7830        (WebCore):
7831        (WebCore::DOMSelection::shadowAdjustedOffset): Gets the corresponding node offset in the m_treeScope from the Position.
7832        * page/DOMSelection.h:
7833        (WebCore):
7834        (DOMSelection):
7835
78362012-05-16  Jason Liu  <jason.liu@torchmobile.com.cn>
7837
7838        [BlackBerry] xhr request to non existent file response is 0 and not 404.
7839        https://bugs.webkit.org/show_bug.cgi?id=86344
7840
7841        Reviewed by George Staikos.
7842
7843        NetworkJob receives 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
7844        There are no data received because its method is HEAD.
7845        This case should not be treated as a failure.
7846
7847        Add shouldNotifyClientFailed() to treat XMLHttpRequest as a special case.
7848        XMLHttpRequest will fail when status code is smaller than zero.
7849
7850        If we use "GET" and receive 404 without body, NetworkJob won't go through failing code path, too.
7851        So add http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
7852        to check this case.
7853
7854        Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
7855              http/tests/xmlhttprequest/xmlhttprequest-check-get-readystate-for-404-without-body.html
7856        * platform/network/blackberry/NetworkJob.cpp:
7857        (WebCore::NetworkJob::sendResponseIfNeeded):
7858
78592012-05-16  MORITA Hajime  <morrita@google.com>
7860
7861        HasCustomWillOrDidRecalcStyleFlag and family should live in a bit.
7862        https://bugs.webkit.org/show_bug.cgi?id=86175
7863
7864        Reviewed by Ryosuke Niwa.
7865
7866        This change unifies following flags into one HasCustomCallbacksFlag.
7867        - HasCustomWillOrDidRecalcStyleFlag
7868        - HasCustomStyleForRendererFlag
7869        - IsFrameOwnerElementFlag
7870
7871        By this change, some callbacks can be called even if there are no override.
7872        So all custom callbacks should just pass these invocations.
7873
7874        No new tests. No behavior change.
7875
7876        * dom/ContainerNodeAlgorithms.h:
7877        (WebCore::ChildFrameDisconnector::collectDescendant):
7878        * dom/Element.cpp:
7879        (WebCore::Element::styleForRenderer):
7880        (WebCore::Element::recalcStyle):
7881        (WebCore::Element::willRecalcStyle):
7882        (WebCore):
7883        (WebCore::Element::didRecalcStyle):
7884        (WebCore::Element::customStyleForRenderer):
7885        * dom/Element.h:
7886        (Element):
7887        * dom/Node.h:
7888        (WebCore::Node::isFrameOwnerElement):
7889        (WebCore::Node::hasCustomCallbacks):
7890        (WebCore::Node::setHasCustomCallbacks):
7891        * dom/Text.cpp:
7892        (WebCore::Text::recalcTextStyle):
7893        (WebCore::Text::willRecalcTextStyle):
7894        (WebCore):
7895        * dom/Text.h:
7896        (Text):
7897        * html/HTMLFormControlElement.cpp:
7898        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
7899        * html/HTMLFrameOwnerElement.cpp:
7900        (WebCore::HTMLFrameOwnerElement::disconnectContentFrame):
7901        * html/HTMLFrameOwnerElement.h:
7902        * html/HTMLFrameSetElement.cpp:
7903        (WebCore::HTMLFrameSetElement::HTMLFrameSetElement):
7904        * html/HTMLIFrameElement.cpp:
7905        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
7906        * html/HTMLMediaElement.cpp:
7907        (WebCore::HTMLMediaElement::HTMLMediaElement):
7908        * html/HTMLPlugInImageElement.cpp:
7909        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
7910        (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
7911        (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
7912        (WebCore::HTMLPlugInImageElement::customStyleForRenderer):
7913        * html/HTMLPlugInImageElement.h:
7914        (HTMLPlugInImageElement):
7915        * html/shadow/TextControlInnerElements.cpp:
7916        (WebCore::TextControlInnerElement::TextControlInnerElement):
7917        (WebCore::TextControlInnerElement::customStyleForRenderer):
7918        (WebCore::TextControlInnerTextElement::TextControlInnerTextElement):
7919        (WebCore::TextControlInnerTextElement::customStyleForRenderer):
7920        * html/shadow/TextControlInnerElements.h:
7921        (TextControlInnerElement):
7922        (TextControlInnerTextElement):
7923        * html/shadow/TextFieldDecorationElement.cpp:
7924        (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
7925        (WebCore::TextFieldDecorationElement::customStyleForRenderer):
7926        * html/shadow/TextFieldDecorationElement.h:
7927        (TextFieldDecorationElement):
7928        * svg/SVGElement.cpp:
7929        (WebCore::SVGElement::SVGElement):
7930        (WebCore::SVGElement::customStyleForRenderer):
7931        * svg/SVGElement.h:
7932        (SVGElement):
7933        * svg/SVGTRefElement.cpp:
7934        (WebCore::SVGShadowText::SVGShadowText):
7935        * svg/SVGUseElement.cpp:
7936        (WebCore::SVGUseElement::SVGUseElement):
7937
79382012-05-16  Yury Semikhatsky  <yurys@chromium.org>
7939
7940        Web Inspector: exception when switching to heap profiler comparison view
7941        https://bugs.webkit.org/show_bug.cgi?id=86224
7942
7943        Reviewed by Pavel Feldman.
7944
7945        Make sure the messages are dispatched in the same order as they are sent in
7946        case a fake worker is used for heap snapshot processing.
7947
7948        * inspector/front-end/HeapSnapshotProxy.js:
7949        (WebInspector.AsyncTaskQueue):
7950        (WebInspector.AsyncTaskQueue.prototype.addTask):
7951        (WebInspector.AsyncTaskQueue.prototype._onTimeout):
7952        (WebInspector.AsyncTaskQueue.prototype._scheduleTimer):
7953        (WebInspector.HeapSnapshotFakeWorker):
7954        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
7955        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
7956
79572012-05-16  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
7958
7959        [EFL] PlatformKeyboardEvent: figures, letters and printscreen key handling
7960        https://bugs.webkit.org/show_bug.cgi?id=85503
7961
7962        Reviewed by Gustavo Noronha Silva.
7963
7964        * platform/efl/EflKeyboardUtilities.cpp:
7965        (WebCore::addCharactersToKeyMap): aux function
7966        (WebCore):
7967        (WebCore::createKeyMap): Figures and letters keys are added to the keyMap
7968        (WebCore::addCharactersToWinKeyMap): aux function
7969        (WebCore::createWindowsKeyMap): Capital letters keys are added to the windowsKeyMap. Corrected value for printscreen key.
7970        (WebCore::singleCharacterString): Return empty text for printscreen key.
7971
79722012-05-16  Pavel Feldman  <pfeldman@chromium.org>
7973
7974        Web Inspector: rename DebuggerPresentationModel to DebuggerScriptMapping, make it private to ScriptsPanel.
7975        https://bugs.webkit.org/show_bug.cgi?id=86594
7976
7977        Reviewed by Vsevolod Vlasov.
7978
7979        This change completes the elimination of the presentation model.
7980
7981        * WebCore.gypi:
7982        * WebCore.vcproj/WebCore.vcproj:
7983        * inspector/compile-front-end.py:
7984        * inspector/front-end/AuditFormatters.js:
7985        (WebInspector.AuditFormatters.resourceLink):
7986        * inspector/front-end/DebuggerResourceBinding.js:
7987        (WebInspector.DebuggerResourceBinding):
7988        (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
7989        * inspector/front-end/DebuggerScriptMapping.js: Renamed from Source/WebCore/inspector/front-end/DebuggerPresentationModel.js.
7990        (WebInspector.DebuggerScriptMapping):
7991        (WebInspector.DebuggerScriptMapping.prototype._handleUISourceCodeListChanged):
7992        * inspector/front-end/FilteredItemSelectionDialog.js:
7993        (WebInspector.OpenScriptDialog):
7994        (WebInspector.OpenScriptDialog.install):
7995        (WebInspector.OpenScriptDialog._show):
7996        * inspector/front-end/JavaScriptSourceFrame.js:
7997        (WebInspector.JavaScriptSourceFrame):
7998        * inspector/front-end/PresentationConsoleMessageHelper.js:
7999        (WebInspector.PresentationConsoleMessageHelper):
8000        (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
8001        * inspector/front-end/ScriptsPanel.js:
8002        (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
8003        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
8004        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
8005        * inspector/front-end/ScriptsSearchScope.js:
8006        (WebInspector.ScriptsSearchScope):
8007        (WebInspector.ScriptsSearchScope.prototype._sortedUISourceCodes):
8008        * inspector/front-end/UISourceCode.js:
8009        (WebInspector.UISourceCodeProject):
8010        (WebInspector.UISourceCodeProject.prototype.uiSourceCodes):
8011        * inspector/front-end/WebKit.qrc:
8012        * inspector/front-end/inspector.html:
8013        * inspector/front-end/inspector.js:
8014        (WebInspector._createPanels):
8015
80162012-05-15  Yury Semikhatsky  <yurys@chromium.org>
8017
8018        Web Inspector: use separate fields for storing HeapSnapshotLoaderProxy and HeapSnapshotProxy
8019        https://bugs.webkit.org/show_bug.cgi?id=86488
8020
8021        Reviewed by Pavel Feldman.
8022
8023        Simplified heap profiler snapshot loading code. Introduced dedicated fields for
8024        snapshot loader proxy and for snapshot proxy.
8025
8026        * inspector/front-end/HeapSnapshotProxy.js:
8027        (WebInspector.HeapSnapshotWorker):
8028        (WebInspector.HeapSnapshotLoaderProxy):
8029        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
8030        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.callLoadCallbacks):
8031        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
8032        (WebInspector.HeapSnapshotLoaderProxy.prototype.get loaded):
8033        (WebInspector.HeapSnapshotLoaderProxy.prototype.startLoading):
8034        (WebInspector.HeapSnapshotLoaderProxy.prototype.pushJSONChunk):
8035        * inspector/front-end/HeapSnapshotView.js:
8036        (WebInspector.HeapSnapshotView.profileCallback):
8037        (WebInspector.HeapSnapshotView):
8038        (WebInspector.HeapSnapshotView.prototype.dispose):
8039        (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
8040        (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
8041        (WebInspector.HeapSnapshotView.prototype._changeView):
8042        (WebInspector.HeapProfileHeader): split _proxy field into _loaderProxy and _snapshotProxy
8043        (WebInspector.HeapProfileHeader.prototype.snapshotProxy):
8044        (WebInspector.HeapProfileHeader.prototype.load):
8045        (WebInspector.HeapProfileHeader.prototype._setupWorker):
8046        (WebInspector.HeapProfileHeader.prototype.dispose):
8047        (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
8048        (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
8049        (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
8050        (WebInspector.HeapProfileHeader.prototype.canSaveToFile):
8051        (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
8052        (WebInspector.HeapProfileHeader.prototype.loadFromFile):
8053
80542012-05-16  Eugene Klyuchnikov  <eustas.bug@gmail.com>
8055
8056        Web Inspector: Use CSS columns feature for HelpScreen contents.
8057        https://bugs.webkit.org/show_bug.cgi?id=86367
8058
8059        Reviewed by Yury Semikhatsky.
8060
8061        Right-docked inspector should show shortcuts/settings in one column.
8062        Bottom-docked inspector should use horizontal space more effectively
8063        (more than 2 columns in shortcuts/settings).
8064
8065        Please see attached screenshots.
8066
8067        UI adjustments, no new tests.
8068
8069        * inspector/front-end/SettingsScreen.js:
8070        (WebInspector.SettingsScreen): Turned table to div.
8071        (WebInspector.SettingsScreen.prototype._appendSection): Removed.
8072        * inspector/front-end/ShortcutsScreen.js:
8073        (WebInspector.ShortcutsScreen.prototype._buildTable): Removed "balancing" algorithm.
8074        (WebInspector.ShortcutsSection.prototype.renderSection): Turned table to div.
8075        (WebInspector.ShortcutsSection.prototype._renderHeader): Ditto.
8076        * inspector/front-end/helpScreen.css: Use CSS columns feature.
8077        (.help-container): Added columns container.
8078        (.help-block): Added "section".
8079        (.help-line): Added key shortcut line.
8080        (.help-key-cell): Added key shortcut cell.
8081        (.help-cell): Ditto
8082        (.help-section-title): Combined title classes
8083        (.help-content p): Adjusted spacing.
8084
80852012-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>
8086
8087        Unreviewed, rolling out r117050.
8088        http://trac.webkit.org/changeset/117050
8089        https://bugs.webkit.org/show_bug.cgi?id=86587
8090
8091        "Some heap profiler tests started timing out" (Requested by
8092        yurys on #webkit).
8093
8094        * inspector/front-end/HeapSnapshotProxy.js:
8095        (WebInspector.HeapSnapshotFakeWorker):
8096        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
8097        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
8098
80992012-05-16  Sheriff Bot  <webkit.review.bot@gmail.com>
8100
8101        Unreviewed, rolling out r117206.
8102        http://trac.webkit.org/changeset/117206
8103        https://bugs.webkit.org/show_bug.cgi?id=86583
8104
8105        breaks chromium browser_tests (Requested by bashi1 on
8106        #webkit).
8107
8108        * loader/MainResourceLoader.cpp:
8109        (WebCore::MainResourceLoader::continueAfterContentPolicy):
8110        * loader/archive/mhtml/MHTMLArchive.cpp:
8111        (WebCore::MHTMLArchive::create):
8112
81132012-05-16  Nikolas Zimmermann  <nzimmermann@rim.com>
8114
8115        REGRESSION(r105057): Infinite loop inside SVGTextLayoutEngine::currentLogicalCharacterMetrics
8116        https://bugs.webkit.org/show_bug.cgi?id=83405
8117
8118        Reviewed by Darin Adler.
8119
8120        Dynamically adding tspans carrying position information in the x/y/dx/dy/rotate lists is broken.
8121        To avoid mistakes like this in future, simplify the calling code in RenderSVGInlineText and centralize
8122        the management of all caches (text positioning element cache / metrics map / layout attributes) in
8123        RenderSVGText. This avoids the hack in SVGRootInlineBox::computePerCharacterLayoutInformation() which
8124        called textRoot->rebuildLayoutAttributes(), which was used to fix previous security issues with this code.
8125        Instead correctly handle destruction of RenderSVGInlineText in RenderSVGText, keeping the m_layoutAttributes
8126        synchronized with the current state of the render tree. Fixes highcharts problems.
8127
8128        Tests: svg/text/add-tspan-position-bug.html
8129               svg/text/highcharts-assertion.html
8130               svg/text/modify-tspan-position-bug.html
8131
8132        * rendering/svg/RenderSVGBlock.h:
8133        (RenderSVGBlock):
8134        * rendering/svg/RenderSVGInline.cpp:
8135        (WebCore::RenderSVGInline::addChild):
8136        (WebCore::RenderSVGInline::removeChild):
8137        * rendering/svg/RenderSVGInline.h:
8138        (RenderSVGInline):
8139        * rendering/svg/RenderSVGInlineText.cpp:
8140        (WebCore::RenderSVGInlineText::setTextInternal):
8141        (WebCore::RenderSVGInlineText::styleDidChange):
8142        * rendering/svg/RenderSVGInlineText.h:
8143        * rendering/svg/RenderSVGText.cpp:
8144        (WebCore::RenderSVGText::RenderSVGText):
8145        (WebCore::RenderSVGText::~RenderSVGText):
8146        (WebCore::collectLayoutAttributes):
8147        (WebCore::RenderSVGText::subtreeChildWasAdded):
8148        (WebCore::findPreviousAndNextAttributes):
8149        (WebCore::checkLayoutAttributesConsistency):
8150        (WebCore::RenderSVGText::willBeDestroyed):
8151        (WebCore::RenderSVGText::subtreeChildWillBeRemoved):
8152        (WebCore::RenderSVGText::subtreeChildWasRemoved):
8153        (WebCore::RenderSVGText::subtreeStyleDidChange):
8154        (WebCore::RenderSVGText::subtreeTextDidChange):
8155        (WebCore::updateFontInAllDescendants):
8156        (WebCore::RenderSVGText::layout):
8157        (WebCore::RenderSVGText::addChild):
8158        (WebCore::RenderSVGText::removeChild):
8159        * rendering/svg/RenderSVGText.h:
8160        (RenderSVGText):
8161        * rendering/svg/SVGRenderSupport.cpp:
8162        (WebCore::SVGRenderSupport::layoutChildren):
8163        * rendering/svg/SVGRootInlineBox.cpp:
8164        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
8165        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
8166        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
8167        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForWholeTree):
8168        (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
8169        (WebCore::SVGTextLayoutAttributesBuilder::buildCharacterDataMap):
8170        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
8171        (SVGTextLayoutAttributesBuilder):
8172        (WebCore::SVGTextLayoutAttributesBuilder::numberOfTextPositioningElements):
8173        * svg/SVGAElement.cpp:
8174        * svg/SVGAElement.h:
8175        (SVGAElement):
8176        * svg/SVGTextContentElement.cpp:
8177        * svg/SVGTextContentElement.h:
8178        (SVGTextContentElement):
8179
81802012-05-15  Abhishek Arya  <inferno@chromium.org>
8181
8182        Crash in Document::nodeChildrenWillBeRemoved.
8183        https://bugs.webkit.org/show_bug.cgi?id=85247
8184
8185        Reviewed by Hajime Morita.
8186
8187        Reverse ordering of commands to ref ptr the children set
8188        first before calling nodeChildrenWillBeRemoved, since it
8189        can fire mutation events.
8190
8191        Test: fast/dom/HTMLObjectElement/beforeload-set-text-crash.xhtml
8192
8193        * dom/ContainerNode.cpp:
8194        (WebCore::willRemoveChildren):
8195
81962012-05-15  Igor Oliveira  <igor.o@sisa.samsung.com>
8197
8198        regression(111639): Issue with simultaneous CSS animations
8199        https://bugs.webkit.org/show_bug.cgi?id=85929
8200
8201        Currently, previousTimeToNextService is just saving the previous CompositeAnimation::timeToNextService
8202        for AnimationControllerPrivate::updateAnimationTimerForRenderer, however CompositeAnimation::timeToNextService
8203        is also called and used by updateAnimationTimer. Make sure we save the existing timeToNextService from
8204        both places, updateAnimationTimerForRenderer and updateAnimationTimer.
8205
8206        Reviewed by Dean Jackson.
8207
8208        Test: animations/fill-mode-forwards.html
8209
8210        * page/animation/AnimationController.cpp:
8211        (WebCore::AnimationControllerPrivate::AnimationControllerPrivate):
8212        (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
8213        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
8214        * page/animation/AnimationControllerPrivate.h:
8215        (AnimationControllerPrivate):
8216
82172012-05-15  Tien-Ren Chen  <trchen@chromium.org>
8218
8219        [Chromium] CCTimer::isActive() is incorrect inside tick callback
8220        https://bugs.webkit.org/show_bug.cgi?id=86513
8221
8222        This patch implements CCTimer::isActive() by clearing the task pointer
8223        when the timer fires.
8224
8225        Reviewed by James Robinson.
8226
8227        No new tests. Existing tests updated accordingly.
8228
8229        * platform/graphics/chromium/cc/CCTimer.cpp:
8230        (WebCore::CCTimerTask::performTask):
8231        * rendering/RenderLayerBacking.cpp:
8232
82332012-05-15  Kentaro Hara  <haraken@chromium.org>
8234
8235        Unreviewed. Rebaselined run-bindings-tests results.
8236
8237        * bindings/scripts/test/JS/JSFloat64Array.cpp:
8238        (WebCore::JSFloat64Array::getOwnPropertySlot):
8239        (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
8240        (WebCore::JSFloat64Array::put):
8241        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
8242        (WebCore::JSTestEventTarget::getOwnPropertySlot):
8243        (WebCore::JSTestEventTarget::getOwnPropertyDescriptor):
8244
82452012-05-15  Shinya Kawanaka  <shinyak@chromium.org>
8246
8247        Rename Node::shadowTreeRootNode() to Node::shadowRoot()
8248        https://bugs.webkit.org/show_bug.cgi?id=86449
8249
8250        Reviewed by Darin Adler.
8251
8252        Since Node::shadowTreeRootNode() returns always a ShadowRoot now, shadowRoot() is
8253        mure suitable than shadowTreeRootNode().
8254
8255        This patch changes the method name.
8256
8257        No new tests, no change in behavior.
8258
8259        * WebCore.order:
8260        * dom/Node.cpp:
8261        (WebCore::Node::rendererIsEditable):
8262        (WebCore::Node::shadowAncestorNode):
8263        (WebCore::Node::shadowRoot):
8264        * dom/Node.h:
8265        (Node):
8266        * dom/NodeRenderingContext.cpp:
8267        (WebCore::NodeRenderingContext::NodeRenderingContext):
8268        * dom/Range.cpp:
8269        (WebCore::Range::shadowRoot):
8270        * dom/Range.h:
8271        (Range):
8272        * editing/Editor.cpp:
8273        (WebCore::Editor::nextVisibleRange):
8274        (WebCore::Editor::countMatchesForText):
8275        * editing/TextIterator.cpp:
8276        (WebCore::TextIterator::handleReplacedElement):
8277        * editing/htmlediting.cpp:
8278        (WebCore::indexForVisiblePosition):
8279        * html/shadow/ContentSelectorQuery.cpp:
8280        (WebCore::ContentSelectorQuery::matches):
8281        * html/shadow/HTMLContentElement.cpp:
8282        (WebCore::HTMLContentElement::parseAttribute):
8283        * html/shadow/InsertionPoint.cpp:
8284        (WebCore::InsertionPoint::detach):
8285        * page/EventHandler.cpp:
8286        (WebCore::instanceAssociatedWithShadowTreeElement):
8287        * svg/SVGElement.cpp:
8288        (WebCore::SVGElement::correspondingElement):
8289        (WebCore::collectInstancesForSVGElement):
8290
82912012-05-15  Nico Weber  <thakis@chromium.org>
8292
8293        [chromium] Remove some unused gyp lines
8294        https://bugs.webkit.org/show_bug.cgi?id=86545
8295
8296        Reviewed by Dirk Pranke.
8297
8298        mac_framework_dirs adds directories to search for frameworks
8299        (similar to -I for includes), it doesn't add any frameworks.
8300        Having something that ends in .framewok in mac_framework_dirs
8301        doesn't make sense.
8302
8303        No intended functionality change.
8304
8305        * WebCore.gyp/WebCore.gyp:
8306
83072012-05-13  Philippe Normand  <pnormand@igalia.com>
8308
8309        [GStreamer] build a static list of mime-types
8310        https://bugs.webkit.org/show_bug.cgi?id=86331
8311
8312        Reviewed by Martin Robinson.
8313
8314        Don't bother parsing the gstreamer typefind factories and doing
8315        ugly hacks around this. Instead build a static list and let our
8316        ::supportsType() method return MediaPlayer::MayBeSupported or
8317        MediaPlayer::IsSupported for them. Playback will still fail if a
8318        demuxer or decoder is missing for one of these mime-types but we
8319        will handle that case more properly soon by fixing bug 34085 and
8320        bug 34318.
8321
8322        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
8323
83242012-05-15  Greg Spencer  <gspencer@chromium.org>
8325
8326        MHTML files should be loadable from all schemes considered local,
8327        not just file:
8328
8329        https://bugs.webkit.org/show_bug.cgi?id=86540
8330
8331        Reviewed by Adam Barth.
8332
8333        Current tests should assure that loading is still allowed locally.
8334
8335        * loader/MainResourceLoader.cpp:
8336        (WebCore::MainResourceLoader::continueAfterContentPolicy):
8337        * loader/archive/mhtml/MHTMLArchive.cpp:
8338        (WebCore::MHTMLArchive::create):
8339
83402012-05-15  Fady Samuel  <fsamuel@chromium.org>
8341
8342        [Chromium] Reset ScriptInstance in HTMLPlugInElement on WebPluginContainerImpl::setPlugin
8343        https://bugs.webkit.org/show_bug.cgi?id=86535
8344
8345        Reviewed by Darin Fisher.
8346        
8347        When we swap out WebPluginImpls for the Browser Plugin, the HTMLPlugInElement continues
8348        to use a now invalid ScriptInstance, so we reset the ScriptInstance on WebPluginContainerImpl::setPlugin
8349
8350        * html/HTMLPlugInElement.cpp:
8351        (WebCore::HTMLPlugInElement::resetInstance):
8352        (WebCore):
8353        * html/HTMLPlugInElement.h:
8354        (HTMLPlugInElement):
8355
83562012-05-15  Robert Hogan  <robert@webkit.org>
8357
8358        Heap-use-after-free in WebCore::RenderBlock::layoutRunsAndFloats
8359        https://bugs.webkit.org/show_bug.cgi?id=86206
8360
8361        Reviewed by Abhishek Arya.
8362
8363        Revert https://trac.webkit.org/changeset/116438/. It caused three different regressions on 
8364        ClusterFuzz.
8365
8366        * rendering/RenderBlock.cpp:
8367        (WebCore::RenderBlock::updateFirstLetter):
8368        * rendering/RenderBlock.h:
8369        (RenderBlock):
8370
83712012-05-15  Beth Dakin  <bdakin@apple.com>
8372
8373        https://bugs.webkit.org/show_bug.cgi?id=86549
8374        Page Scale + Tiled Drawing: Twitter sign in page content disappears 
8375        after typing into name and enabling password field
8376        -and corresponding-
8377        <rdar://problem/11415352>
8378
8379        Reviewed by Oliver Hunt.
8380
8381        The enormous rect we used to use would overflow in CA and do nothing 
8382        when there was any scale > 1 on the context. Instead, just call 
8383        setNeedsDisplay on each tile.
8384        * platform/graphics/ca/mac/TileCache.mm:
8385        (WebCore::TileCache::setNeedsDisplay):
8386
83872012-05-15  Andreas Kling  <kling@webkit.org>
8388
8389        Pass Attribute by const reference as much as possible.
8390        <http://webkit.org/b/86487>
8391
8392        Reviewed by Darin Adler.
8393
8394        Switch to passing around "const Attribute&" instead of "Attribute*" wherever possible.
8395        This helps enforce the constness and non-nullity of these arguments at compile time.
8396
8397        Also renamed 'attr' to 'attribute' in the touched code. Attr and Attribute are two
8398        different classes, so having "Attribute attr" just looks wrong.
8399
8400        * bindings/js/ScriptEventListener.cpp:
8401        (WebCore::createAttributeEventListener):
8402        * bindings/js/ScriptEventListener.h:
8403        * bindings/v8/ScriptEventListener.cpp:
8404        (WebCore::createAttributeEventListener):
8405        * bindings/v8/ScriptEventListener.h:
8406        * dom/Attr.cpp:
8407        (WebCore::Attr::setPrefix):
8408        (WebCore::Attr::setValue):
8409        (WebCore::Attr::childrenChanged):
8410        (WebCore::Attr::style):
8411        (WebCore::Attr::elementAttribute):
8412        * dom/Attr.h:
8413        * dom/Element.cpp:
8414        (WebCore::Element::setAttributeInternal):
8415        (WebCore::Element::attributeChanged):
8416        (WebCore::Element::parserSetAttributes):
8417        (WebCore::Element::didAddAttribute):
8418        (WebCore::Element::didModifyAttribute):
8419        (WebCore::Element::didRemoveAttribute):
8420        * dom/Element.h:
8421        * dom/ElementAttributeData.cpp:
8422        (WebCore::ElementAttributeData::addAttribute):
8423        (WebCore::ElementAttributeData::setAttributes):
8424        (WebCore::ElementAttributeData::replaceAttribute):
8425        * dom/StyledElement.cpp:
8426        (WebCore::StyledElement::attributeChanged):
8427        (WebCore::StyledElement::parseAttribute):
8428        (WebCore::StyledElement::updateAttributeStyle):
8429        * dom/StyledElement.h:
8430        (WebCore::StyledElement::collectStyleForAttribute):
8431        * html/HTMLAnchorElement.cpp:
8432        (WebCore::HTMLAnchorElement::parseAttribute):
8433        * html/HTMLAnchorElement.h:
8434        * html/HTMLAppletElement.cpp:
8435        (WebCore::HTMLAppletElement::parseAttribute):
8436        * html/HTMLAppletElement.h:
8437        * html/HTMLAreaElement.cpp:
8438        (WebCore::HTMLAreaElement::parseAttribute):
8439        * html/HTMLAreaElement.h:
8440        * html/HTMLBRElement.cpp:
8441        (WebCore::HTMLBRElement::collectStyleForAttribute):
8442        * html/HTMLBRElement.h:
8443        * html/HTMLBaseElement.cpp:
8444        (WebCore::HTMLBaseElement::parseAttribute):
8445        * html/HTMLBaseElement.h:
8446        * html/HTMLBodyElement.cpp:
8447        (WebCore::HTMLBodyElement::collectStyleForAttribute):
8448        (WebCore::HTMLBodyElement::parseAttribute):
8449        * html/HTMLBodyElement.h:
8450        * html/HTMLButtonElement.cpp:
8451        (WebCore::HTMLButtonElement::parseAttribute):
8452        * html/HTMLButtonElement.h:
8453        * html/HTMLCanvasElement.cpp:
8454        (WebCore::HTMLCanvasElement::parseAttribute):
8455        * html/HTMLCanvasElement.h:
8456        * html/HTMLDetailsElement.cpp:
8457        (WebCore::HTMLDetailsElement::parseAttribute):
8458        * html/HTMLDetailsElement.h:
8459        * html/HTMLDivElement.cpp:
8460        (WebCore::HTMLDivElement::collectStyleForAttribute):
8461        * html/HTMLDivElement.h:
8462        * html/HTMLElement.cpp:
8463        (WebCore::parseBorderWidthAttribute):
8464        (WebCore::HTMLElement::applyBorderAttributeToStyle):
8465        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
8466        (WebCore::HTMLElement::collectStyleForAttribute):
8467        (WebCore::HTMLElement::parseAttribute):
8468        (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
8469        (WebCore::HTMLElement::dirAttributeChanged):
8470        * html/HTMLElement.h:
8471        * html/HTMLEmbedElement.cpp:
8472        (WebCore::HTMLEmbedElement::collectStyleForAttribute):
8473        (WebCore::HTMLEmbedElement::parseAttribute):
8474        * html/HTMLEmbedElement.h:
8475        * html/HTMLFontElement.cpp:
8476        (WebCore::HTMLFontElement::collectStyleForAttribute):
8477        * html/HTMLFontElement.h:
8478        * html/HTMLFormControlElement.cpp:
8479        (WebCore::HTMLFormControlElement::parseAttribute):
8480        * html/HTMLFormControlElement.h:
8481        * html/HTMLFormElement.cpp:
8482        (WebCore::HTMLFormElement::parseAttribute):
8483        * html/HTMLFormElement.h:
8484        * html/HTMLFrameElement.cpp:
8485        (WebCore::HTMLFrameElement::parseAttribute):
8486        * html/HTMLFrameElement.h:
8487        * html/HTMLFrameElementBase.cpp:
8488        (WebCore::HTMLFrameElementBase::parseAttribute):
8489        * html/HTMLFrameElementBase.h:
8490        (HTMLFrameElementBase):
8491        * html/HTMLFrameSetElement.cpp:
8492        (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
8493        (WebCore::HTMLFrameSetElement::parseAttribute):
8494        * html/HTMLFrameSetElement.h:
8495        * html/HTMLHRElement.cpp:
8496        (WebCore::HTMLHRElement::collectStyleForAttribute):
8497        * html/HTMLHRElement.h:
8498        * html/HTMLIFrameElement.cpp:
8499        (WebCore::HTMLIFrameElement::collectStyleForAttribute):
8500        (WebCore::HTMLIFrameElement::parseAttribute):
8501        * html/HTMLIFrameElement.h:
8502        * html/HTMLImageElement.cpp:
8503        (WebCore::HTMLImageElement::collectStyleForAttribute):
8504        (WebCore::HTMLImageElement::parseAttribute):
8505        * html/HTMLImageElement.h:
8506        * html/HTMLInputElement.cpp:
8507        (WebCore::HTMLInputElement::updateType):
8508        (WebCore::HTMLInputElement::collectStyleForAttribute):
8509        (WebCore::HTMLInputElement::parseAttribute):
8510        (WebCore::HTMLInputElement::parseMaxLengthAttribute):
8511        * html/HTMLInputElement.h:
8512        * html/HTMLKeygenElement.cpp:
8513        (WebCore::HTMLKeygenElement::parseAttribute):
8514        * html/HTMLKeygenElement.h:
8515        * html/HTMLLIElement.cpp:
8516        (WebCore::HTMLLIElement::collectStyleForAttribute):
8517        (WebCore::HTMLLIElement::parseAttribute):
8518        * html/HTMLLIElement.h:
8519        * html/HTMLLinkElement.cpp:
8520        (WebCore::HTMLLinkElement::parseAttribute):
8521        * html/HTMLLinkElement.h:
8522        * html/HTMLMapElement.cpp:
8523        (WebCore::HTMLMapElement::parseAttribute):
8524        * html/HTMLMapElement.h:
8525        * html/HTMLMarqueeElement.cpp:
8526        (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
8527        * html/HTMLMarqueeElement.h:
8528        * html/HTMLMediaElement.cpp:
8529        (WebCore::HTMLMediaElement::parseAttribute):
8530        * html/HTMLMediaElement.h:
8531        * html/HTMLMetaElement.cpp:
8532        (WebCore::HTMLMetaElement::parseAttribute):
8533        * html/HTMLMetaElement.h:
8534        * html/HTMLMeterElement.cpp:
8535        (WebCore::HTMLMeterElement::parseAttribute):
8536        * html/HTMLMeterElement.h:
8537        * html/HTMLOListElement.cpp:
8538        (WebCore::HTMLOListElement::collectStyleForAttribute):
8539        (WebCore::HTMLOListElement::parseAttribute):
8540        * html/HTMLOListElement.h:
8541        * html/HTMLObjectElement.cpp:
8542        (WebCore::HTMLObjectElement::collectStyleForAttribute):
8543        (WebCore::HTMLObjectElement::parseAttribute):
8544        * html/HTMLObjectElement.h:
8545        * html/HTMLOptGroupElement.cpp:
8546        (WebCore::HTMLOptGroupElement::parseAttribute):
8547        * html/HTMLOptGroupElement.h:
8548        * html/HTMLOptionElement.cpp:
8549        (WebCore::HTMLOptionElement::parseAttribute):
8550        * html/HTMLOptionElement.h:
8551        * html/HTMLOutputElement.cpp:
8552        (WebCore::HTMLOutputElement::parseAttribute):
8553        * html/HTMLOutputElement.h:
8554        * html/HTMLParagraphElement.cpp:
8555        (WebCore::HTMLParagraphElement::collectStyleForAttribute):
8556        * html/HTMLParagraphElement.h:
8557        * html/HTMLPlugInElement.cpp:
8558        (WebCore::HTMLPlugInElement::collectStyleForAttribute):
8559        * html/HTMLPlugInElement.h:
8560        * html/HTMLPreElement.cpp:
8561        (WebCore::HTMLPreElement::collectStyleForAttribute):
8562        * html/HTMLPreElement.h:
8563        * html/HTMLProgressElement.cpp:
8564        (WebCore::HTMLProgressElement::parseAttribute):
8565        * html/HTMLProgressElement.h:
8566        * html/HTMLScriptElement.cpp:
8567        (WebCore::HTMLScriptElement::parseAttribute):
8568        * html/HTMLScriptElement.h:
8569        * html/HTMLSelectElement.cpp:
8570        (WebCore::HTMLSelectElement::parseAttribute):
8571        (WebCore::HTMLSelectElement::parseMultipleAttribute):
8572        * html/HTMLSelectElement.h:
8573        * html/HTMLStyleElement.cpp:
8574        (WebCore::HTMLStyleElement::parseAttribute):
8575        * html/HTMLStyleElement.h:
8576        * html/HTMLTableCaptionElement.cpp:
8577        (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
8578        * html/HTMLTableCaptionElement.h:
8579        * html/HTMLTableCellElement.cpp:
8580        (WebCore::HTMLTableCellElement::collectStyleForAttribute):
8581        (WebCore::HTMLTableCellElement::parseAttribute):
8582        * html/HTMLTableCellElement.h:
8583        * html/HTMLTableColElement.cpp:
8584        (WebCore::HTMLTableColElement::collectStyleForAttribute):
8585        (WebCore::HTMLTableColElement::parseAttribute):
8586        * html/HTMLTableColElement.h:
8587        * html/HTMLTableElement.cpp:
8588        (WebCore::HTMLTableElement::collectStyleForAttribute):
8589        (WebCore::HTMLTableElement::parseAttribute):
8590        * html/HTMLTableElement.h:
8591        * html/HTMLTablePartElement.cpp:
8592        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
8593        * html/HTMLTablePartElement.h:
8594        * html/HTMLTextAreaElement.cpp:
8595        (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
8596        (WebCore::HTMLTextAreaElement::parseAttribute):
8597        * html/HTMLTextAreaElement.h:
8598        * html/HTMLTextFormControlElement.cpp:
8599        (WebCore::HTMLTextFormControlElement::parseAttribute):
8600        * html/HTMLTextFormControlElement.h:
8601        * html/HTMLTrackElement.cpp:
8602        (WebCore::HTMLTrackElement::parseAttribute):
8603        * html/HTMLTrackElement.h:
8604        * html/HTMLUListElement.cpp:
8605        (WebCore::HTMLUListElement::collectStyleForAttribute):
8606        * html/HTMLUListElement.h:
8607        * html/HTMLVideoElement.cpp:
8608        (WebCore::HTMLVideoElement::collectStyleForAttribute):
8609        (WebCore::HTMLVideoElement::parseAttribute):
8610        * html/HTMLVideoElement.h:
8611        * html/shadow/HTMLContentElement.cpp:
8612        (WebCore::HTMLContentElement::parseAttribute):
8613        * html/shadow/HTMLContentElement.h:
8614        * mathml/MathMLElement.cpp:
8615        (WebCore::MathMLElement::collectStyleForAttribute):
8616        * mathml/MathMLElement.h:
8617        * svg/SVGAElement.cpp:
8618        (WebCore::SVGAElement::parseAttribute):
8619        * svg/SVGAElement.h:
8620        * svg/SVGAnimateMotionElement.cpp:
8621        (WebCore::SVGAnimateMotionElement::parseAttribute):
8622        * svg/SVGAnimateMotionElement.h:
8623        * svg/SVGAnimateTransformElement.cpp:
8624        (WebCore::SVGAnimateTransformElement::parseAttribute):
8625        * svg/SVGAnimateTransformElement.h:
8626        * svg/SVGAnimationElement.cpp:
8627        (WebCore::SVGAnimationElement::parseAttribute):
8628        * svg/SVGAnimationElement.h:
8629        * svg/SVGCircleElement.cpp:
8630        (WebCore::SVGCircleElement::parseAttribute):
8631        * svg/SVGCircleElement.h:
8632        * svg/SVGClipPathElement.cpp:
8633        (WebCore::SVGClipPathElement::parseAttribute):
8634        * svg/SVGClipPathElement.h:
8635        * svg/SVGComponentTransferFunctionElement.cpp:
8636        (WebCore::SVGComponentTransferFunctionElement::parseAttribute):
8637        * svg/SVGComponentTransferFunctionElement.h:
8638        * svg/SVGCursorElement.cpp:
8639        (WebCore::SVGCursorElement::parseAttribute):
8640        * svg/SVGCursorElement.h:
8641        * svg/SVGElement.cpp:
8642        (WebCore::SVGElement::reportAttributeParsingError):
8643        (WebCore::SVGElement::parseAttribute):
8644        (WebCore::SVGElement::attributeChanged):
8645        * svg/SVGElement.h:
8646        * svg/SVGEllipseElement.cpp:
8647        (WebCore::SVGEllipseElement::parseAttribute):
8648        * svg/SVGEllipseElement.h:
8649        * svg/SVGExternalResourcesRequired.cpp:
8650        (WebCore::SVGExternalResourcesRequired::parseAttribute):
8651        * svg/SVGExternalResourcesRequired.h:
8652        (SVGExternalResourcesRequired):
8653        * svg/SVGFEBlendElement.cpp:
8654        (WebCore::SVGFEBlendElement::parseAttribute):
8655        * svg/SVGFEBlendElement.h:
8656        * svg/SVGFEColorMatrixElement.cpp:
8657        (WebCore::SVGFEColorMatrixElement::parseAttribute):
8658        * svg/SVGFEColorMatrixElement.h:
8659        * svg/SVGFEComponentTransferElement.cpp:
8660        (WebCore::SVGFEComponentTransferElement::parseAttribute):
8661        * svg/SVGFEComponentTransferElement.h:
8662        * svg/SVGFECompositeElement.cpp:
8663        (WebCore::SVGFECompositeElement::parseAttribute):
8664        * svg/SVGFECompositeElement.h:
8665        * svg/SVGFEConvolveMatrixElement.cpp:
8666        (WebCore::SVGFEConvolveMatrixElement::parseAttribute):
8667        * svg/SVGFEConvolveMatrixElement.h:
8668        * svg/SVGFEDiffuseLightingElement.cpp:
8669        (WebCore::SVGFEDiffuseLightingElement::parseAttribute):
8670        * svg/SVGFEDiffuseLightingElement.h:
8671        * svg/SVGFEDisplacementMapElement.cpp:
8672        (WebCore::SVGFEDisplacementMapElement::parseAttribute):
8673        * svg/SVGFEDisplacementMapElement.h:
8674        * svg/SVGFEDropShadowElement.cpp:
8675        (WebCore::SVGFEDropShadowElement::parseAttribute):
8676        * svg/SVGFEDropShadowElement.h:
8677        * svg/SVGFEGaussianBlurElement.cpp:
8678        (WebCore::SVGFEGaussianBlurElement::parseAttribute):
8679        * svg/SVGFEGaussianBlurElement.h:
8680        * svg/SVGFEImageElement.cpp:
8681        (WebCore::SVGFEImageElement::parseAttribute):
8682        * svg/SVGFEImageElement.h:
8683        * svg/SVGFELightElement.cpp:
8684        (WebCore::SVGFELightElement::parseAttribute):
8685        * svg/SVGFELightElement.h:
8686        * svg/SVGFEMergeNodeElement.cpp:
8687        (WebCore::SVGFEMergeNodeElement::parseAttribute):
8688        * svg/SVGFEMergeNodeElement.h:
8689        * svg/SVGFEMorphologyElement.cpp:
8690        (WebCore::SVGFEMorphologyElement::parseAttribute):
8691        * svg/SVGFEMorphologyElement.h:
8692        * svg/SVGFEOffsetElement.cpp:
8693        (WebCore::SVGFEOffsetElement::parseAttribute):
8694        * svg/SVGFEOffsetElement.h:
8695        * svg/SVGFESpecularLightingElement.cpp:
8696        (WebCore::SVGFESpecularLightingElement::parseAttribute):
8697        * svg/SVGFESpecularLightingElement.h:
8698        * svg/SVGFETileElement.cpp:
8699        (WebCore::SVGFETileElement::parseAttribute):
8700        * svg/SVGFETileElement.h:
8701        * svg/SVGFETurbulenceElement.cpp:
8702        (WebCore::SVGFETurbulenceElement::parseAttribute):
8703        * svg/SVGFETurbulenceElement.h:
8704        * svg/SVGFilterElement.cpp:
8705        (WebCore::SVGFilterElement::parseAttribute):
8706        * svg/SVGFilterElement.h:
8707        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
8708        (WebCore::SVGFilterPrimitiveStandardAttributes::parseAttribute):
8709        * svg/SVGFilterPrimitiveStandardAttributes.h:
8710        (SVGFilterPrimitiveStandardAttributes):
8711        * svg/SVGFitToViewBox.cpp:
8712        (WebCore::SVGFitToViewBox::parseAttribute):
8713        * svg/SVGFitToViewBox.h:
8714        (SVGFitToViewBox):
8715        * svg/SVGFontFaceElement.cpp:
8716        (WebCore::SVGFontFaceElement::parseAttribute):
8717        * svg/SVGFontFaceElement.h:
8718        * svg/SVGFontFaceUriElement.cpp:
8719        (WebCore::SVGFontFaceUriElement::parseAttribute):
8720        * svg/SVGFontFaceUriElement.h:
8721        * svg/SVGForeignObjectElement.cpp:
8722        (WebCore::SVGForeignObjectElement::parseAttribute):
8723        * svg/SVGForeignObjectElement.h:
8724        * svg/SVGGElement.cpp:
8725        (WebCore::SVGGElement::parseAttribute):
8726        * svg/SVGGElement.h:
8727        * svg/SVGGlyphElement.cpp:
8728        (WebCore::SVGGlyphElement::parseAttribute):
8729        * svg/SVGGlyphElement.h:
8730        * svg/SVGGlyphRefElement.cpp:
8731        (WebCore::SVGGlyphRefElement::parseAttribute):
8732        * svg/SVGGlyphRefElement.h:
8733        * svg/SVGGradientElement.cpp:
8734        (WebCore::SVGGradientElement::parseAttribute):
8735        * svg/SVGGradientElement.h:
8736        * svg/SVGImageElement.cpp:
8737        (WebCore::SVGImageElement::collectStyleForAttribute):
8738        (WebCore::SVGImageElement::parseAttribute):
8739        * svg/SVGImageElement.h:
8740        * svg/SVGImageLoader.cpp:
8741        (WebCore::SVGImageLoader::sourceURI):
8742        * svg/SVGLangSpace.cpp:
8743        (WebCore::SVGLangSpace::parseAttribute):
8744        * svg/SVGLangSpace.h:
8745        (SVGLangSpace):
8746        * svg/SVGLineElement.cpp:
8747        (WebCore::SVGLineElement::parseAttribute):
8748        * svg/SVGLineElement.h:
8749        * svg/SVGLinearGradientElement.cpp:
8750        (WebCore::SVGLinearGradientElement::parseAttribute):
8751        * svg/SVGLinearGradientElement.h:
8752        * svg/SVGMPathElement.cpp:
8753        (WebCore::SVGMPathElement::parseAttribute):
8754        * svg/SVGMPathElement.h:
8755        * svg/SVGMarkerElement.cpp:
8756        (WebCore::SVGMarkerElement::parseAttribute):
8757        * svg/SVGMarkerElement.h:
8758        * svg/SVGMaskElement.cpp:
8759        (WebCore::SVGMaskElement::parseAttribute):
8760        * svg/SVGMaskElement.h:
8761        * svg/SVGPathElement.cpp:
8762        (WebCore::SVGPathElement::parseAttribute):
8763        * svg/SVGPathElement.h:
8764        * svg/SVGPatternElement.cpp:
8765        (WebCore::SVGPatternElement::parseAttribute):
8766        * svg/SVGPatternElement.h:
8767        * svg/SVGPolyElement.cpp:
8768        (WebCore::SVGPolyElement::parseAttribute):
8769        * svg/SVGPolyElement.h:
8770        * svg/SVGRadialGradientElement.cpp:
8771        (WebCore::SVGRadialGradientElement::parseAttribute):
8772        * svg/SVGRadialGradientElement.h:
8773        * svg/SVGRectElement.cpp:
8774        (WebCore::SVGRectElement::parseAttribute):
8775        * svg/SVGRectElement.h:
8776        * svg/SVGSVGElement.cpp:
8777        (WebCore::SVGSVGElement::parseAttribute):
8778        * svg/SVGSVGElement.h:
8779        * svg/SVGScriptElement.cpp:
8780        (WebCore::SVGScriptElement::parseAttribute):
8781        * svg/SVGScriptElement.h:
8782        * svg/SVGStopElement.cpp:
8783        (WebCore::SVGStopElement::parseAttribute):
8784        * svg/SVGStopElement.h:
8785        * svg/SVGStyleElement.cpp:
8786        (WebCore::SVGStyleElement::parseAttribute):
8787        * svg/SVGStyleElement.h:
8788        * svg/SVGStyledElement.cpp:
8789        (WebCore::SVGStyledElement::collectStyleForAttribute):
8790        (WebCore::SVGStyledElement::parseAttribute):
8791        * svg/SVGStyledElement.h:
8792        * svg/SVGStyledTransformableElement.cpp:
8793        (WebCore::SVGStyledTransformableElement::parseAttribute):
8794        * svg/SVGStyledTransformableElement.h:
8795        * svg/SVGSymbolElement.cpp:
8796        (WebCore::SVGSymbolElement::parseAttribute):
8797        * svg/SVGSymbolElement.h:
8798        * svg/SVGTRefElement.cpp:
8799        (WebCore::SVGTRefElement::parseAttribute):
8800        * svg/SVGTRefElement.h:
8801        * svg/SVGTests.cpp:
8802        (WebCore::SVGTests::parseAttribute):
8803        * svg/SVGTests.h:
8804        (SVGTests):
8805        * svg/SVGTextContentElement.cpp:
8806        (WebCore::SVGTextContentElement::collectStyleForAttribute):
8807        (WebCore::SVGTextContentElement::parseAttribute):
8808        * svg/SVGTextContentElement.h:
8809        * svg/SVGTextElement.cpp:
8810        (WebCore::SVGTextElement::parseAttribute):
8811        * svg/SVGTextElement.h:
8812        * svg/SVGTextPathElement.cpp:
8813        (WebCore::SVGTextPathElement::parseAttribute):
8814        * svg/SVGTextPathElement.h:
8815        * svg/SVGTextPositioningElement.cpp:
8816        (WebCore::SVGTextPositioningElement::parseAttribute):
8817        * svg/SVGTextPositioningElement.h:
8818        * svg/SVGURIReference.cpp:
8819        (WebCore::SVGURIReference::parseAttribute):
8820        * svg/SVGURIReference.h:
8821        (SVGURIReference):
8822        * svg/SVGUseElement.cpp:
8823        (WebCore::SVGUseElement::parseAttribute):
8824        * svg/SVGUseElement.h:
8825        * svg/SVGViewElement.cpp:
8826        (WebCore::SVGViewElement::parseAttribute):
8827        * svg/SVGViewElement.h:
8828        * svg/SVGZoomAndPan.cpp:
8829        (WebCore::SVGZoomAndPan::parseAttribute):
8830        * svg/SVGZoomAndPan.h:
8831        (SVGZoomAndPan):
8832        * svg/animation/SVGSMILElement.cpp:
8833        (WebCore::SVGSMILElement::parseAttribute):
8834        * svg/animation/SVGSMILElement.h:
8835
88362012-05-15  Kenneth Russell  <kbr@google.com>
8837
8838        Assertion failure running Mozilla's WebGL performance regression tests
8839        https://bugs.webkit.org/show_bug.cgi?id=85942
8840
8841        Reviewed by Stephen White.
8842
8843        Fixed incorrect assumptions about source formats and buffer sizes
8844        when uploading to floating-point textures. Added code paths
8845        supporting the necessary conversions.
8846
8847        Tests have been added to the WebGL conformance suite which cover
8848        these new code paths; they verify uploads of HTMLCanvasElement,
8849        HTMLImageElement, HTMLVideoElement, and ImageData to
8850        floating-point textures. However, because floating-point texture
8851        support is optional, and generally only supported on bots which
8852        run with real GPUs and not in virtual machines, it isn't feasible
8853        to incorporate these tests as layout tests.
8854
8855        Ran the new WebGL conformance tests in Chromium on Linux; all
8856        pass.
8857
8858        * platform/graphics/GraphicsContext3D.cpp:
8859        (WebCore::GraphicsContext3D::extractImageData):
8860        Properly compute size of destination buffer.
8861
8862        (WebCore):
8863        Add pack/unpack routines for converting RGBA8/BGRA8 to floating point.
8864
8865        (WebCore::doFloatingPointPacking):
8866        Support RGBA8 and BGRA8 source formats.
8867
8868        (WebCore::isFloatingPointSource):
8869        Factored out logic for assertions.
8870
8871        (WebCore::GraphicsContext3D::packPixels):
8872        Generalized assertions and logic.
8873
8874        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
8875        (WebCore::GraphicsContext3D::getImageData):
8876        Properly compute size of destination buffer.
8877
8878        * platform/graphics/cg/GraphicsContext3DCG.cpp:
8879        (WebCore::GraphicsContext3D::getImageData):
8880        Properly compute size of destination buffer.
8881
8882        * platform/graphics/qt/GraphicsContext3DQt.cpp:
8883        (WebCore::GraphicsContext3D::getImageData):
8884        Properly compute size of destination buffer.
8885
8886        * platform/graphics/skia/GraphicsContext3DSkia.cpp:
8887        (WebCore::GraphicsContext3D::getImageData):
8888        Properly compute size of destination buffer.
8889
88902012-05-15  James Robinson  <jamesr@chromium.org>
8891
8892        [chromium] Chromium port never sets USE(CG) so code behind it is dead
8893        https://bugs.webkit.org/show_bug.cgi?id=86537
8894
8895        Reviewed by Adrienne Walker.
8896
8897        Deletes code behind USE(CG) in chromium-specific code and removes unneeded USE(SKIA) guards.
8898
8899        * platform/chromium/DragImageRef.h:
8900        (WebCore):
8901        * platform/chromium/MIMETypeRegistryChromium.cpp:
8902        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
8903        * platform/chromium/ScrollbarThemeChromiumMac.mm:
8904        (WebCore::ScrollbarThemeChromiumMac::paint):
8905        * platform/chromium/ThemeChromiumMac.mm:
8906        (WebCore::paintStepper):
8907        * platform/graphics/chromium/PlatformImage.cpp:
8908        (WebCore::PlatformImage::updateFromImage):
8909
89102012-05-15  Keyar Hood  <keyar@chromium.org>
8911
8912        Skia does not respect a specified InterpolationQuality
8913        https://bugs.webkit.org/show_bug.cgi?id=86249
8914
8915        Reviewed by Stephen White.
8916
8917        The added functionality is not exposed to higher layers of webkit.
8918        Tests will be added that will exercise these changes when bug 82804 is 
8919        fixed.
8920
8921        * platform/graphics/GraphicsContext.cpp:
8922        (WebCore::GraphicsContext::drawImage):
8923        (WebCore::GraphicsContext::drawImageBuffer):
8924        Code to have the useLowQualityScale cause the InterpolationQuality be
8925        be set to low for Chromium but remain as none for other platforms.
8926        * platform/graphics/skia/ImageSkia.cpp:
8927        (WebCore::limitResamplingMode): Added
8928        (WebCore):
8929        (WebCore::paintSkBitmap):
8930        (WebCore::Image::drawPattern):
8931        We now limit the resampling choice based on what InterpolationQuality
8932        is set as. InterpolationNone restricts resampling to RESAMPLE_NONE,
8933        InterpolationLow and InterpolationMedium restricts resampling to
8934        RESAMPLE_LINEAR. InterpolationHigh and InterpolationDefault do not
8935        change the resampling.
8936        
8937        Furthermore, the choice on how to set the filter bitmap flag in
8938        paintSkBitmap was made to be consistent with that in
8939        Image::drawPattern.
8940
8941
89422012-05-15  Jeffrey Pfau  <jpfau@apple.com>
8943
8944        ImageDocuments erroneously trigger beforeload events for the main resource
8945        https://bugs.webkit.org/show_bug.cgi?id=86543
8946        <rdar://problem/11309013>
8947
8948        Reviewed by Brady Eidson.
8949
8950        No new tests; testing framework doesn't allow for testing ImageDocuments with injected JavaScript.
8951
8952        * loader/ImageLoader.cpp:
8953        (WebCore::ImageLoader::updateFromElement):
8954
89552012-05-15  Dirk Pranke  <dpranke@chromium.org>
8956
8957        [chromium] ScrollElasticityController.mm doesn't compile with the 10.6 SDK on mac
8958        https://bugs.webkit.org/show_bug.cgi?id=86544
8959
8960        Reviewed by Anders Carlsson.
8961
8962        This is a build fix for now until we can figure out what a
8963        better way to approach this is.
8964
8965        * platform/mac/ScrollElasticityController.mm:
8966        (WebCore):
8967
89682012-05-15  Nate Chapin  <japhet@chromium.org>
8969
8970        MainResourceLoader::load() always returns true, so make it return
8971        void and delete the related dead code.
8972        https://bugs.webkit.org/show_bug.cgi?id=86413
8973
8974        Reviewed by Alexey Proskuryakov.
8975
8976        No new tests, cleanup only.
8977
8978        * loader/DocumentLoader.cpp:
8979        (WebCore::DocumentLoader::startLoadingMainResource):
8980        * loader/MainResourceLoader.cpp:
8981        (WebCore::MainResourceLoader::load):
8982        * loader/MainResourceLoader.h:
8983        (MainResourceLoader):
8984
89852012-05-15  Ian Vollick  <vollick@chromium.org>
8986
8987        [chromium] Ensure animations get ticked at least once when added.
8988        https://bugs.webkit.org/show_bug.cgi?id=86013
8989
8990        Reviewed by James Robinson.
8991
8992        Tested in
8993          CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThreaded
8994          CCLayerTreeHostTestAddAnimationWithTimingFunction.runSingleThreaded
8995          CCLayerTreeHostTestSynchronizeAnimationStartTimes.runSingleThreaded
8996          CCLayerTreeHostTestAnimationFinishedEvents.runSingleThreaded
8997
8998        * platform/graphics/chromium/LayerChromium.cpp:
8999        (WebCore::LayerChromium::addAnimation):
9000        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
9001        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
9002        (WebCore::CCLayerTreeHost::didAddAnimation):
9003        (WebCore):
9004        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
9005        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
9006        (CCLayerTreeHost):
9007        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
9008        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
9009        * platform/graphics/chromium/cc/CCProxy.h:
9010        (CCProxy):
9011        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
9012        (CCSingleThreadProxyAnimationTimer):
9013        (WebCore::CCSingleThreadProxyAnimationTimer::create):
9014        (WebCore::CCSingleThreadProxyAnimationTimer::CCSingleThreadProxyAnimationTimer):
9015        (WebCore):
9016        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
9017        (WebCore::CCSingleThreadProxy::didAddAnimation):
9018        (WebCore::CCSingleThreadProxy::doComposite):
9019        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
9020        (WebCore):
9021        * platform/graphics/chromium/cc/CCThreadProxy.h:
9022
90232012-05-15  Alexandre Elias  <aelias@google.com>
9024
9025        [chromium] Fix unsafe viewport tag dispatch
9026        https://bugs.webkit.org/show_bug.cgi?id=80554
9027
9028        Reviewed by Adam Barth.
9029
9030        In some uncommon situations (such as window.open() new tab on
9031        Android), dispatchViewportPropertiesDidChange may early-return without
9032        setting the page scale because the window size is not yet
9033        available from the embedder.  At that point, the previous behavior was
9034        to call it again in layoutUpdated(), but this is unsafe since it
9035        leaves a pending needsLayout.
9036
9037        I moved the dispatch call into WebViewImpl::didChangeContentsSize and
9038        WebViewImpl::resize() instead -- these represent more explicitly the
9039        situations where the inputs to the viewport tag calculation change.  I
9040        removed the other dispatch call from setFrameRect as it's now
9041        redundant.
9042
9043        Covered by FixedLayoutInitializeAtMinimumPageScale test introduced
9044        in http://webk.it/82949 (an assertion will fire there without
9045        this fix).
9046
9047        * page/FrameView.cpp:
9048        (WebCore::FrameView::setFrameRect):
9049
90502012-05-15  Jer Noble  <jer.noble@apple.com>
9051
9052        r117147 causes a null-deref crash in DOMImplementation::createDocument()
9053        https://bugs.webkit.org/show_bug.cgi?id=86532
9054
9055        Reviewed by James Robinson.
9056
9057        No new tests, but fixes many crashing tests.
9058
9059        Protect against the possibility of being passed a NULL frame in
9060        DOMImplementation::createDocument().
9061
9062        * dom/DOMImplementation.cpp:
9063        (WebCore::DOMImplementation::createDocument):
9064
90652012-05-15  Julien Chaffraix  <jchaffraix@webkit.org>
9066
9067        Use posZOrderList() / negZOrderList() everywhere to avoid querying dirtied lists
9068        https://bugs.webkit.org/show_bug.cgi?id=86416
9069
9070        Reviewed by Simon Fraser.
9071
9072        Covered by existing tests that are not ASSERTing after this change.
9073
9074        * rendering/RenderLayerBacking.cpp:
9075        (WebCore::RenderLayerBacking::updateGraphicsLayerConfiguration):
9076        * rendering/RenderLayer.cpp:
9077        (WebCore::RenderLayer::update3DTransformedDescendantStatus):
9078        Added a call to updateZOrderLists() to the previous sites as nothing guarantees
9079        that we have recomputed our z-order lists.
9080
9081        (WebCore::RenderLayer::paintLayerContents):
9082        (WebCore::RenderLayer::hitTestLayer):
9083        * rendering/RenderLayerCompositor.cpp:
9084        (WebCore::RenderLayerCompositor::needsContentsCompositingLayer):
9085        Converted those functions to use the safe getters.
9086
9087        * rendering/RenderLayer.h:
9088        (WebCore::RenderLayer::hasNegativeZOrderList):
9089        Newly added funtion to return if we have a negative z-order list.
9090
90912012-05-15  Abhishek Arya  <inferno@chromium.org>
9092
9093        Crash due shadow tree parent confusion in SVG.
9094        https://bugs.webkit.org/show_bug.cgi?id=84248
9095
9096        Reviewed by Nikolas Zimmermann.
9097
9098        Test: svg/foreignObject/viewport-foreignobject-crash.html
9099
9100        When we try to make a decision on whether we need an outer
9101        SVGRoot container, we detect if we are in shadow tree or not.
9102        We also need to make sure that our parentOrHostElement is also
9103        an svg element. 
9104
9105        * svg/SVGElement.cpp:
9106        (WebCore::SVGElement::isOutermostSVGSVGElement):
9107
91082012-05-15  Lauro Neto  <lauro.neto@openbossa.org>
9109
9110        [File API] URL methods handling null arguments
9111        https://bugs.webkit.org/show_bug.cgi?id=69693
9112
9113        Reviewed by Adam Barth.
9114
9115        Per the latest editor's draft of the File API:
9116        http://dev.w3.org/2006/webapi/FileAPI/#dfn-createObjectURL
9117
9118        Use null instead of undefined as return value when a
9119        null blob is given to URL.createObjectURL.
9120
9121        Test: fast/files/url-null.html
9122
9123        * html/DOMURL.idl:
9124
91252012-05-15  Jer Noble  <jer.noble@apple.com>
9126
9127        Unreviewed build fix [Qt].
9128
9129        Protect the definition of DOMImplementationSupportsTypeClient class with
9130        #if ENABLE(VIDEO) so as not to cause compilation errors on ports with
9131        VIDEO disabled.
9132
9133        * dom/DOMImplementation.cpp:
9134
91352012-05-14  Jer Noble  <jer.noble@apple.com>
9136
9137        Site-specific hack: Disclaim WebM as a supported type on Mac for YouTube.
9138        https://bugs.webkit.org/show_bug.cgi?id=86409
9139
9140        Reviewed by Darin Adler.
9141
9142        No new tests; site specific hack.
9143
9144        Add a Mac-only site-specific hack which disclaims both video/webm and video/x-flv
9145        as supported types when the media element's document has a host of youtube.com.
9146
9147        Add a new, pure-virtual prototype class for use by MediaPlayer::supportsType:
9148        * platform/graphics/MediaPlayer.h:
9149        (MediaPlayerSupportsTypeClient):
9150        (WebCore::MediaPlayerSupportsTypeClient::~MediaPlayerSupportsTypeClient):
9151        (WebCore::MediaPlayerSupportsTypeClient::mediaPlayerNeedsSiteSpecificHacks):
9152        (WebCore::MediaPlayerSupportsTypeClient::mediaPlayerDocumentHost):
9153
9154        Use these new client calls to determine whether to apply the site-specific
9155        hack:
9156        * platform/graphics/MediaPlayer.cpp:
9157        (WebCore::MediaPlayer::supportsType):
9158
9159        Add this prototype class as a superclass of HTMLMediaElement.  Pass in the
9160        HTMLMediaElement's this pointer when calling MediaPlayer::supportsType():
9161        * html/HTMLMediaElement.cpp:
9162        (WebCore::HTMLMediaElement::canPlayType):
9163        (WebCore::HTMLMediaElement::selectNextSourceChild):
9164        (WebCore::HTMLMediaElement::mediaPlayerNeedsSiteSpecificHacks):
9165        (WebCore::HTMLMediaElement::mediaPlayerDocumentHost):
9166        * html/HTMLMediaElement.h:
9167
9168        As is HTMLMediaElement, a MediaPlayerSupportsTypeClient class is needed. Add a
9169        new class DOMImplementationSupportsTypeClient, an instance of which will be 
9170        passed to MediaPlayer::supportsType():
9171        * dom/DOMImplementation.cpp:
9172        (DOMImplementationSupportsTypeClient):
9173        (WebCore::DOMImplementationSupportsTypeClient::DOMImplementationSupportsTypeClient):
9174        (WebCore::DOMImplementation::createDocument):
9175        (WebCore::DOMImplementation::mediaPlayerNeedsSiteSpecificHacks):
9176        (WebCore::DOMImplementation::mediaPlayerDocumentHost):
9177        * dom/DOMImplementation.h:
9178
91792012-05-15  Anders Carlsson  <andersca@apple.com>
9180
9181        Use unaccelerated scrolling deltas when rubber-banding
9182        https://bugs.webkit.org/show_bug.cgi?id=86503
9183        <rdar://problem/11378742>
9184
9185        Reviewed by Sam Weinig.
9186
9187        * WebCore.exp.in:
9188        * platform/PlatformWheelEvent.h:
9189        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
9190        (PlatformWheelEvent):
9191        (WebCore::PlatformWheelEvent::scrollCount):
9192        (WebCore::PlatformWheelEvent::unacceleratedScrollingDeltaX):
9193        (WebCore::PlatformWheelEvent::unacceleratedScrollingDeltaY):
9194        Add scroll count and unaccelerated scrolling deltas.
9195
9196        * platform/mac/ScrollElasticityController.mm:
9197        (WebCore::elasticDeltaForTimeDelta):
9198        (WebCore::elasticDeltaForReboundDelta):
9199        (WebCore::reboundDeltaForElasticDelta):
9200        Call the new WKSI functions.
9201
9202        (WebCore::ScrollElasticityController::handleWheelEvent):
9203        Use the unaccelerated scrolling deltas when needed.
9204
9205        * platform/mac/WebCoreSystemInterface.h:
9206        * platform/mac/WebCoreSystemInterface.mm:
9207        Add new WKSI functions.
9208
92092012-05-15  Terry Anderson  <tdanderson@chromium.org>
9210
9211        [chromium] Compute the best target node on a GestureTap event
9212        https://bugs.webkit.org/show_bug.cgi?id=85101
9213
9214        Reviewed by Adam Barth.
9215
9216        Using the tests in the touchadjustment/ directory.
9217
9218        * WebCore.gypi:
9219        Include TouchAdjustment.* files.
9220        * page/TouchAdjustment.cpp:
9221        (WebCore::TouchAdjustment::zoomableIntersectionQuotient):
9222        (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
9223        No longer using the INFINITY constant due to problems with compiling
9224        on chromium win.
9225
92262012-05-15  Chris Rogers  <crogers@google.com>
9227
9228        Add AudioSummingJunction class to handle fan-in (abstracted from AudioNodeInput)
9229        https://bugs.webkit.org/show_bug.cgi?id=86396
9230
9231        Reviewed by Kenneth Russell.
9232
9233        No new tests.  Existing layout tests already extensively test summing.
9234
9235        * CMakeLists.txt:
9236        * GNUmakefile.list.am:
9237        Add AudioSummingJunction files to makefiles.
9238
9239        * Modules/webaudio/AudioContext.cpp:
9240        * Modules/webaudio/AudioContext.h:
9241        (WebCore::AudioContext::handlePreRenderTasks):
9242        (WebCore::AudioContext::handlePostRenderTasks):
9243        (WebCore::AudioContext::deleteMarkedNodes):
9244        (WebCore::AudioContext::markSummingJunctionDirty):
9245        (WebCore::AudioContext::removeMarkedSummingJunction):
9246        (WebCore::AudioContext::handleDirtyAudioSummingJunctions):
9247        Simple munge from AudioNodeInput -> AudioSummingJunction
9248
9249        * Modules/webaudio/AudioNodeInput.cpp:
9250        * Modules/webaudio/AudioNodeInput.h:
9251        (WebCore::AudioNodeInput::AudioNodeInput):
9252        (WebCore::AudioNodeInput::didUpdate):
9253        Remove logic from AudioNodeInput which now is being moved to AudioSummingJunction.
9254
9255        * Modules/webaudio/AudioSummingJunction.cpp: Added.
9256        * Modules/webaudio/AudioSummingJunction.h: Added.
9257        (WebCore::AudioSummingJunction::AudioSummingJunction):
9258        (WebCore::AudioSummingJunction::~AudioSummingJunction):
9259        (WebCore::AudioSummingJunction::changedOutputs):
9260        (WebCore::AudioSummingJunction::updateRenderingState):
9261        (WebCore::AudioSummingJunction::context):
9262        (WebCore::AudioSummingJunction::numberOfRenderingConnections):
9263        (WebCore::AudioSummingJunction::renderingOutput):
9264        (WebCore::AudioSummingJunction::isConnected):
9265        (WebCore::AudioSummingJunction::numberOfConnections):
9266        Add AudioSummingJunction which is an abstraction to manage/track the connections from AudioNodeOutputs
9267        representing the fan-in points for unity gain summing junctions.
9268
9269        * WebCore.gypi:
9270        * WebCore.xcodeproj/project.pbxproj:
9271        Add AudioSummingJunction files to makefiles.
9272
92732012-05-15  Dan Bernstein  <mitz@apple.com>
9274
9275        Ruby annotation is incorrectly identified as a paragraph boundary
9276        https://bugs.webkit.org/show_bug.cgi?id=86507
9277
9278        Reviewed by Darin Adler.
9279
9280        Test: editing/selection/paragraph-with-ruby.html
9281
9282        * editing/htmlediting.cpp:
9283        (WebCore::isBlock): Changed to return false for ruby text.
9284
92852012-05-15  Philippe Normand  <pnormand@igalia.com>
9286
9287        [GTK] Un-used GStreamer linker options
9288        https://bugs.webkit.org/show_bug.cgi?id=86407
9289
9290        Reviewed by Martin Robinson.
9291
9292        * GNUmakefile.am: Remove no-longer used webcore_libadd variable.
9293
92942012-05-15  Beth Dakin  <bdakin@apple.com>
9295
9296        https://bugs.webkit.org/show_bug.cgi?id=86506
9297        REGRESSION (tiled drawing): No scrollbar while page is loading
9298        -and corresponding
9299        <rdar://problem/11444589>
9300
9301        Reviewed by Anders Carlsson.
9302
9303        We have always had a mechanism in place to suppress painting overlay 
9304        scrollbars while the page is loading. However, that mechaism is 
9305        overriden if the page has been scrolled. It should be, anyway. It was 
9306        not being overriden when the scrolling was handled as a wheel event by 
9307        the scrolling tree. This patch takes advantage of the fact that 
9308        ScrollingTree::handleWheelEvent() already calls back to the main 
9309        thread for handleWheelEventPhase() and just patches 
9310        handleWheelEventPhase to mark m_haveScrolledSincePageLoad as true.
9311        * platform/mac/ScrollAnimatorMac.mm:
9312        (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
9313
93142012-05-15  Jessie Berlin  <jberlin@apple.com>
9315
9316        WKContextSetCacheModel(contextref, kWKCacheModelDocumentViewer) doesn't prevent pages from
9317        going into the PageCache.
9318        https://bugs.webkit.org/show_bug.cgi?id=85891
9319
9320        Reviewed by Brady Eidson.
9321
9322        Do not claim that it is possible to cache a page when the page cache has a capacity of 0.
9323
9324        Covered by the modified DOMWindowExtensionNoCache WK2 API test.
9325
9326        * history/PageCache.cpp:
9327        (WebCore::PageCache::canCache):
9328        Check m_capacity.
9329        * history/PageCache.h:
9330
9331        * loader/FrameLoader.cpp:
9332        (WebCore::FrameLoader::commitProvisionalLoad):
9333        canCache is no longer static on PageCache.
9334
93352012-05-15  James Robinson  <jamesr@chromium.org>
9336
9337        Unreviewed, rolling out r116811.
9338        http://trac.webkit.org/changeset/116811
9339        https://bugs.webkit.org/show_bug.cgi?id=86257
9340
9341        Introduced layering violation
9342
9343        * WebCore.gypi:
9344
93452012-05-15  Darin Adler  <darin@apple.com>
9346
9347        Font copy constructor unnecessarily recalculates transcoding
9348        https://bugs.webkit.org/show_bug.cgi?id=86490
9349
9350        Reviewed by Dan Bernstein.
9351
9352        * platform/graphics/Font.cpp:
9353        (WebCore::Font::Font): Copy m_needsTranscoding instead of recomputing it.
9354
93552012-05-15  Andreas Kling  <kling@webkit.org>
9356
9357        Deep copy PluginModuleInfo before passing across thread boundary.
9358        <http://webkit.org/b/86491>
9359        <rdar://problem/11451178>
9360
9361        Reviewed by Anders Carlsson.
9362
9363        * plugins/PluginData.h:
9364        (MimeClassInfo):
9365        (WebCore::MimeClassInfo::isolatedCopy):
9366        (PluginInfo):
9367        (WebCore::PluginInfo::isolatedCopy):
9368
93692012-05-15  Sheriff Bot  <webkit.review.bot@gmail.com>
9370
9371        Unreviewed, rolling out r116712.
9372        http://trac.webkit.org/changeset/116712
9373        https://bugs.webkit.org/show_bug.cgi?id=86484
9374
9375        This patch is causing crashes in Chromium Canary builds
9376        (Requested by pilgrim_google__ on #webkit).
9377
9378        * storage/StorageArea.h:
9379        (StorageArea):
9380        * storage/StorageAreaImpl.cpp:
9381        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
9382        (WebCore::StorageAreaImpl::setItem):
9383        (WebCore::StorageAreaImpl::removeItem):
9384        (WebCore::StorageAreaImpl::clear):
9385        * storage/StorageAreaImpl.h:
9386        (StorageAreaImpl):
9387
93882012-05-15  Darin Adler  <darin@apple.com>
9389
9390        Optimize save/restore with no drawing operations between them (shows up on some canvas benchmarks)
9391        https://bugs.webkit.org/show_bug.cgi?id=86448
9392
9393        Reviewed by Simon Fraser.
9394
9395        Since canvas programmers sometimes end up doing extra save/restore pairs with no actual drawing
9396        in between, optimize that case by not realizing saves until we have to. This is doubly important
9397        because saves are costly.
9398
9399        * html/canvas/CanvasRenderingContext2D.cpp:
9400        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Initialize m_unrealizedSaveCount.
9401        (WebCore::CanvasRenderingContext2D::isAccelerated): Improve performance by calling the
9402        drawingContext function only once.
9403        (WebCore::CanvasRenderingContext2D::reset): Set m_unrealizedSaveCount to 0.
9404        (WebCore::CanvasRenderingContext2D::realizeSavesLoop): Added. Replaces the save function as the
9405        function that actually pushes context onto the state stack.
9406        (WebCore::CanvasRenderingContext2D::restore): Added code to do an early return if we can do the
9407        restore just by decrementing the unrealized save count.
9408        (WebCore::CanvasRenderingContext2D::setStrokeStyle): Added calls to realizeSaves and replaced
9409        calls to state with calls to modifiableState.
9410        (WebCore::CanvasRenderingContext2D::setFillStyle): Ditto.
9411        (WebCore::CanvasRenderingContext2D::setLineWidth): Ditto. Also added an early out for cases where
9412        the line width is not changing.
9413        (WebCore::CanvasRenderingContext2D::setLineCap): Ditto.
9414        (WebCore::CanvasRenderingContext2D::setLineJoin): Ditto.
9415        (WebCore::CanvasRenderingContext2D::setMiterLimit): Ditto.
9416        (WebCore::CanvasRenderingContext2D::setShadowOffsetX): Ditto.
9417        (WebCore::CanvasRenderingContext2D::setShadowOffsetY): Ditto.
9418        (WebCore::CanvasRenderingContext2D::setShadowBlur): Ditto.
9419        (WebCore::CanvasRenderingContext2D::setShadowColor): Ditto.
9420        (WebCore::CanvasRenderingContext2D::setWebkitLineDash): Ditto.
9421        (WebCore::CanvasRenderingContext2D::setWebkitLineDashOffset): Ditto.
9422        (WebCore::CanvasRenderingContext2D::setGlobalAlpha): Ditto.
9423        (WebCore::CanvasRenderingContext2D::setGlobalCompositeOperation): Ditto.
9424        (WebCore::CanvasRenderingContext2D::scale): Ditto.
9425        (WebCore::CanvasRenderingContext2D::rotate): Ditto.
9426        (WebCore::CanvasRenderingContext2D::translate): Ditto.
9427        (WebCore::CanvasRenderingContext2D::transform): Ditto.
9428        (WebCore::CanvasRenderingContext2D::setTransform): Ditto.
9429        (WebCore::CanvasRenderingContext2D::setStrokeColor): Ditto.
9430        (WebCore::CanvasRenderingContext2D::setFillColor): Ditto.
9431        (WebCore::CanvasRenderingContext2D::clip): Ditto.
9432        (WebCore::CanvasRenderingContext2D::clearRect): Changed implementation so it does not save
9433        the graphics context in the common case where shadows, global alpha, and global compositing
9434        operators do not interfer with the function's operation. This allowed us to get rid of the
9435        setAllAttributesToDefault function, which was used nowhere else.
9436        (WebCore::CanvasRenderingContext2D::setShadow): Added a new common bottleneck and made all
9437        the setShadow functions call it.
9438        (WebCore::CanvasRenderingContext2D::clearShadow): Changed to call the new setShadow.
9439        (WebCore::CanvasRenderingContext2D::setFont): Renamed tempDecl to the more friendly
9440        parsedStyle. Changed code structure so the CSS parser is deleted right after parsing is
9441        done. Used string concatenation instead of more expensive string append. Added calls to
9442        realizeSaves and modifiableState.
9443        (WebCore::CanvasRenderingContext2D::setTextAlign): Added calls to realizeSaves and replaced
9444        calls to state with calls to modifiableState. Also added an early out for cases where the
9445        alignment is not changing.
9446        (WebCore::CanvasRenderingContext2D::setTextBaseline): Ditto.
9447
9448        * html/canvas/CanvasRenderingContext2D.h: Made save an inline function that bumps
9449        m_unrealizedSaveCount. Removed setAllAttributesToDefault. Added OVERRIDE for all the
9450        virtual function overrides, and made them all private. Moved m_path down with the other data
9451        members. Renamed the non-const state function to modifiableState. Added a realizeSaves
9452        function and the realizeSavesLoop for the unusual case where there is work to do.
9453        Added m_unrealizedSaveCount.
9454
94552012-05-15  Tommy Widenflycht  <tommyw@google.com>
9456
9457        MediaStream API: Setting onended on a LocalMediaStream triggers an assertion in V8
9458        https://bugs.webkit.org/show_bug.cgi?id=86459
9459
9460        Reviewed by Adam Barth.
9461
9462        LocalMediaStream inherits from MediaStream, but only MediaStream have the
9463        EventTarget idl attribute. Adding the attribute to LocalMediaStream as well fixes the issue.
9464
9465        Test: fast/mediastream/LocalMediaStream-onended.html
9466
9467        * Modules/mediastream/LocalMediaStream.idl:
9468
94692012-05-15  Terry Anderson  <tdanderson@chromium.org>
9470
9471        [chromium] Remove unused code for tap target fuzzing
9472        https://bugs.webkit.org/show_bug.cgi?id=86252
9473
9474        Reviewed by Adam Barth.
9475
9476        No tests required since this is a cleanup of unused code.
9477
9478        * page/EventHandler.cpp:
9479        (WebCore::EventHandler::handleGestureTap):
9480        * page/EventHandler.h:
9481        (EventHandler):
9482        The touch adjustment code will be used to determine the best target
9483        for a GestureTap event instead of passing in a pre-targeted node.
9484        * platform/PlatformGestureEvent.h:
9485        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
9486        (PlatformGestureEvent):
9487        A rectangular touch region is defined by the touch center and the
9488        delta values only, so gammaX and gammaY are not needed.
9489
94902012-05-15  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
9491
9492        [Qt] WebKit with Qt5 hangs on Mac
9493        https://bugs.webkit.org/show_bug.cgi?id=79785
9494
9495        Reviewed by Tor Arne Vestbø.
9496
9497        Delay the initialization of our QNetworkConfigurationManager used in
9498        NetworkStateNotifierPrivate. On Mac it was causing a race condition because it
9499        spawns a thread that triggers a static initializer in Qt, while in the main
9500        thread NetworkStateNotifier is being static initialized. On Mac the lock for
9501        static initializers is shared between all of them, causing a deadlock.
9502
9503        The issue was also reported in http://openradar.appspot.com/11217150.
9504
9505        * platform/network/qt/NetworkStateNotifierPrivate.h:
9506        (NetworkStateNotifierPrivate):
9507        (WebCore::NetworkStateNotifierPrivate::effectivelyOnline):
9508        * platform/network/qt/NetworkStateNotifierQt.cpp:
9509        (WebCore::NetworkStateNotifierPrivate::NetworkStateNotifierPrivate):
9510        (WebCore::NetworkStateNotifierPrivate::setNetworkAccessAllowed):
9511        (WebCore::NetworkStateNotifierPrivate::setOnlineState):
9512        (WebCore::NetworkStateNotifierPrivate::initialize):
9513        (WebCore):
9514        (WebCore::NetworkStateNotifierPrivate::~NetworkStateNotifierPrivate):
9515        (WebCore::NetworkStateNotifier::updateState):
9516        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
9517        (WebCore::NetworkStateNotifier::setNetworkAccessAllowed):
9518
95192012-05-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
9520
9521        Factor HitTestPoint out of HitTestResult.
9522        https://bugs.webkit.org/show_bug.cgi?id=85965
9523
9524        Reviewed by Simon Fraser.
9525
9526        In preparation for handling transformations on area-based hit-testing, 
9527        we need to factor test-point and test-area out of HitTestResult so that
9528        it can be transformed independently.
9529
9530        To maintain the current API as closely as possible HitTestResult now
9531        inherit from HitTestPoint, representing the original untransformed
9532        hitTestPoint.
9533
9534        No change in functionality. No new tests. 
9535
9536        * rendering/HitTestResult.cpp:
9537        (WebCore::HitTestPoint::HitTestPoint):
9538        (WebCore::HitTestPoint::~HitTestPoint):
9539        (WebCore::HitTestPoint::operator=):
9540        (WebCore::HitTestPoint::rectForPoint):
9541        (WebCore::HitTestResult::HitTestResult):
9542        (WebCore::HitTestResult::operator=):
9543        (WebCore::HitTestResult::isSelected):
9544        (WebCore::HitTestResult::spellingToolTip):
9545        (WebCore::HitTestResult::replacedString):
9546        * rendering/HitTestResult.h:
9547        (HitTestPoint):
9548        (WebCore::HitTestPoint::point):
9549        (WebCore::HitTestPoint::roundedPoint):
9550        (WebCore::HitTestPoint::setPoint):
9551        (WebCore::HitTestPoint::isRectBasedTest):
9552        (WebCore::HitTestPoint::topPadding):
9553        (WebCore::HitTestPoint::rightPadding):
9554        (WebCore::HitTestPoint::bottomPadding):
9555        (WebCore::HitTestPoint::leftPadding):
9556        (HitTestResult):
9557        (WebCore::HitTestResult::hitTestPoint):
9558        (WebCore::HitTestPoint::rectForPoint):
9559        * rendering/RenderLayer.cpp:
9560        (WebCore::RenderLayer::hitTestLayer):
9561        (WebCore::RenderLayer::hitTestList):
9562
95632012-05-15  Rob Buis  <rbuis@rim.com>
9564
9565        Refactor SVG parts of Node::addEventListener/removeEventListener
9566        https://bugs.webkit.org/show_bug.cgi?id=86426
9567
9568        Reviewed by Nikolas Zimmermann.
9569
9570        Move SVG parts of Node::addEventListener/removeEventListener into svg/. Now we do not
9571        have to check in Node::addEventListener/removeEventListener if we are dealing with an SVG
9572        element. Make tryAddEventListener/tryRemoveEventListener protected methods on Node to be able to use
9573        it in SVGElement.
9574
9575        No new tests, since no change in behavior, just refactoring.
9576
9577        * dom/Node.cpp:
9578        (WebCore::tryAddEventListener):
9579        (WebCore::Node::addEventListener):
9580        (WebCore::tryRemoveEventListener):
9581        (WebCore::Node::removeEventListener):
9582        * svg/SVGElement.cpp:
9583        (WebCore::collectInstancesForSVGElement):
9584        (WebCore):
9585        (WebCore::SVGElement::addEventListener):
9586        (WebCore::SVGElement::removeEventListener):
9587        * svg/SVGElement.h:
9588        (SVGElement):
9589
95902012-05-15  Andreas Kling  <kling@webkit.org>
9591
9592        RuleSet::addToRuleSet wastes a bit of Vector capacity.
9593        <http://webkit.org/b/86434>
9594
9595        Reviewed by Antti Koivisto.
9596
9597        Have makeRuleSet call shrinkToFit() on the vectors before returning them.
9598        This avoids wasting space for the rulesets constructed in collectFeatures().
9599
9600        * css/StyleResolver.cpp:
9601        (WebCore::makeRuleSet):
9602
96032012-05-15  Darin Adler  <darin@apple.com>
9604
9605        [CG] CGImageCreateWithImageInRect is too slow, but for now we still need to use it
9606        https://bugs.webkit.org/show_bug.cgi?id=86340
9607
9608        Reviewed by Geoffrey Garen.
9609
9610        This patch adds a subimage cache to defray the cost of CGImageCreateWithImageInRect.
9611        Later, we will restructure the code so it doesn't use that function, but at the
9612        moment there are CG issues blocking that change.
9613
9614        * platform/graphics/cg/GraphicsContextCG.cpp:
9615        (SubimageCacheEntry): Added. An entry in the cache.
9616        (SubimageCacheEntryTraits): Added. Traits for the cache.
9617        (SubimageCacheHash): Added. Hash function for the cache.
9618        (SubimageCacheTimer): Added. Timer that clears the cache after a second
9619        of inactivity.
9620        (SubimageCacheWithTimer): Added. Cache and its timer.
9621        (WebCore::subimageCache): Added. Function returning the single global timer.
9622        (WebCore::SubimageCacheTimer::restart): Added. Start the timer.
9623        (WebCore::SubimageCacheTimer::fired): Added. Clear the cache when the timer fires.
9624        (SubimageRequest): Added. A key to look up in the cache.
9625        (SubimageCacheAdder): Added. Translator to add to the cache.
9626        (WebCore::subimage): Added. Puts an entry in the cache.
9627        (WebCore::GraphicsContext::drawNativeImage): Changed to call the subimage function.
9628
96292012-05-15  Eugene Klyuchnikov  <eustas.bug@gmail.com>
9630
9631        Web Inspector: AdvancedSearchController is not stopped then view is hidden.
9632        https://bugs.webkit.org/show_bug.cgi?id=86466
9633
9634        Reviewed by Vsevolod Vlasov.
9635
9636        AdvancedSearchController overrides "wasHidden" method instead of "willHide".
9637
9638        UI event-flow, not tested.
9639
9640        * inspector/front-end/AdvancedSearchController.js:
9641        (WebInspector.SearchView.prototype.willHide): Renamed function.
9642
96432012-05-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
9644
9645        [Qt] http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html times out
9646        https://bugs.webkit.org/show_bug.cgi?id=84016
9647
9648        Reviewed by Simon Hausmann.
9649
9650        Calling didFail abort the connection and doesn't activate the HEADERS_RECEIVED state.
9651        Since the goal of HEAD is to test then the request should be marked as finished
9652        also in cases of HTTP errors.
9653        This matches other ports behavior.
9654
9655        * platform/network/qt/QNetworkReplyHandler.cpp:
9656        (WebCore::shouldIgnoreHttpError):
9657
96582012-05-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
9659
9660        [Qt][WK2] Fix scrolling in touch mode
9661        https://bugs.webkit.org/show_bug.cgi?id=75006
9662
9663        Reviewed by Kenneth Rohde Christiansen.
9664
9665        * page/FrameView.cpp:
9666        (WebCore::FrameView::setFixedVisibleContentRect):
9667            On changes to fixedVisibleContentRect update scroll-animators position, and
9668            recalculate page-step sizes in scrollbars.
9669        * platform/ScrollView.cpp:
9670        (WebCore::ScrollView::scrollTo):
9671            Forward scrolling-request to the host window.
9672        (WebCore::ScrollView::updateScrollbars):
9673            Allow ScrollViews to have invisible scrollbars when scrolling is delegated.
9674        * platform/ScrollView.h:
9675        (ScrollView):
9676
96772012-05-15  Vsevolod Vlasov  <vsevik@chromium.org>
9678
9679        Web Inspector: Refactor SnippetsModel: extract SnippetStorage, make SnippetScriptMapping delegate calls to ScriptSnippetModel and provide public interface on ScriptSnippetModel in terms of uiSourceCodes
9680        https://bugs.webkit.org/show_bug.cgi?id=86477
9681
9682        Reviewed by Pavel Feldman.
9683
9684        Extracted SnippetStorage to be reused for other snippet types.
9685        Made SnippetScriptMapping delegate all calls to ScriptSnippetModel and injected it in DebuggerPresentationModel.
9686        ScriptSnippetModel now provides public interface for ScriptsPanel in terms of uiSourceCodes.
9687
9688        Tests: inspector/debugger/script-snippet-model.html
9689               inspector/snippet-storage.html
9690
9691        * WebCore.gypi:
9692        * WebCore.vcproj/WebCore.vcproj:
9693        * inspector/compile-front-end.py:
9694        * inspector/front-end/DebuggerPresentationModel.js:
9695        (WebInspector.DebuggerPresentationModel):
9696        * inspector/front-end/ScriptSnippetModel.js: Added.
9697        (WebInspector.ScriptSnippetModel):
9698        (WebInspector.ScriptSnippetModel.prototype.get scriptMapping):
9699        (WebInspector.ScriptSnippetModel.prototype.createScriptSnippet):
9700        (WebInspector.ScriptSnippetModel.prototype._addScriptSnippet):
9701        (WebInspector.ScriptSnippetModel.prototype._rawLocationToUILocation):
9702        (WebInspector.ScriptSnippetModel.prototype._uiLocationToRawLocation.get if):
9703        (WebInspector.ScriptSnippetModel.prototype._uiLocationToRawLocation):
9704        (WebInspector.ScriptSnippetModel.prototype._uiSourceCodeList):
9705        (WebInspector.ScriptSnippetModel.prototype._releasedUISourceCodes):
9706        (WebInspector.ScriptSnippetModel.prototype._createUISourceCodeForScript):
9707        (WebInspector.ScriptSnippetModel.prototype._sourceURLForSnippet):
9708        (WebInspector.ScriptSnippetModel.prototype._snippetIdForSourceURL):
9709        (WebInspector.ScriptSnippetModel.prototype._snippetForSourceURL):
9710        (WebInspector.ScriptSnippetModel.prototype._reset):
9711        (WebInspector.SnippetScriptMapping):
9712        (WebInspector.SnippetScriptMapping.prototype.rawLocationToUILocation):
9713        (WebInspector.SnippetScriptMapping.prototype.uiLocationToRawLocation):
9714        (WebInspector.SnippetScriptMapping.prototype.uiSourceCodeList):
9715        (WebInspector.SnippetScriptMapping.prototype.snippetIdForSourceURL):
9716        (WebInspector.SnippetScriptMapping.prototype.addScript):
9717        (WebInspector.SnippetScriptMapping.prototype._uiSourceCodesAdded):
9718        (WebInspector.SnippetScriptMapping.prototype._uiSourceCodesRemoved):
9719        (WebInspector.SnippetScriptMapping.prototype.reset):
9720        (WebInspector.SnippetContentProvider):
9721        * inspector/front-end/SnippetStorage.js: Added.
9722        (WebInspector.SnippetStorage):
9723        (WebInspector.SnippetStorage.prototype.get namePrefix):
9724        (WebInspector.SnippetStorage.prototype._saveSettings):
9725        (WebInspector.SnippetStorage.prototype.set snippets):
9726        (WebInspector.SnippetStorage.prototype.snippetForId):
9727        (WebInspector.SnippetStorage.prototype.deleteSnippet):
9728        (WebInspector.SnippetStorage.prototype._snippetAdded):
9729        (WebInspector.SnippetStorage.prototype.reset.set this):
9730        (WebInspector.Snippet):
9731        (WebInspector.Snippet.fromObject):
9732        (WebInspector.Snippet.prototype.get id):
9733        (WebInspector.Snippet.prototype.get name):
9734        (WebInspector.Snippet.prototype.set name):
9735        (WebInspector.Snippet.prototype.get content):
9736        (WebInspector.Snippet.prototype.set content):
9737        (WebInspector.Snippet.prototype.serializeToObject):
9738        * inspector/front-end/SnippetsModel.js: Removed.
9739        * inspector/front-end/WebKit.qrc:
9740        * inspector/front-end/inspector.html:
9741        * inspector/front-end/inspector.js:
9742
97432012-05-15  Pavel Feldman  <pfeldman@chromium.org>
9744
9745        Web Inspector: add show/hide debugger sidebar button.
9746        https://bugs.webkit.org/show_bug.cgi?id=86478
9747
9748        Reviewed by Vsevolod Vlasov.
9749
9750        As with the navigator, but with no overlay. See the screenshot.
9751
9752        * English.lproj/localizedStrings.js:
9753        * inspector/front-end/NavigatorOverlayController.js:
9754        (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
9755        * inspector/front-end/ScriptsPanel.js:
9756        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
9757        (WebInspector.ScriptsPanel.prototype._debuggerResumed):
9758        (WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):
9759        (WebInspector.ScriptsPanel.prototype._installDebuggerSidebarController.clickHandler):
9760        (WebInspector.ScriptsPanel.prototype._showDebuggerSidebar):
9761        (WebInspector.ScriptsPanel.prototype.set _hideDebuggerSidebar):
9762        * inspector/front-end/scriptsPanel.css:
9763        (#scripts-editor-container-tabbed-pane .tabbed-pane-header-contents):
9764        (button.status-bar-item.scripts-debugger-show-hide-button):
9765        (.status-bar-item.scripts-debugger-show-hide-button > .glyph):
9766        (.status-bar-item.scripts-debugger-show-hide-button.toggled-shown > .glyph):
9767        (.status-bar-item.scripts-debugger-show-hide-button.toggled-hidden > .glyph):
9768
97692012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>
9770
9771        NEONizing forceValidPreMultipliedPixels
9772        https://bugs.webkit.org/show_bug.cgi?id=86468
9773
9774        Reviewed by Nikolas Zimmermann.
9775
9776        Optimize forceValidPreMultipliedPixels with ARM-NEON intrinsics.
9777
9778        Existing tests cover this feature.
9779
9780        * platform/graphics/filters/FilterEffect.cpp:
9781        (WebCore::FilterEffect::forceValidPreMultipliedPixels):
9782
97832012-05-15  Yury Semikhatsky  <yurys@chromium.org>
9784
9785        Web Inspector: remove unnecessary setTimeout in HeapSnapshotGridNodes.js
9786        https://bugs.webkit.org/show_bug.cgi?id=86464
9787
9788        Reviewed by Pavel Feldman.
9789
9790        * inspector/front-end/HeapSnapshotGridNodes.js:
9791        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved): Posting
9792        a message to worker is already asynchronous, no need to postpone the call via setTimeout.
9793        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
9794
97952012-05-15  Florin Malita  <fmalita@chromium.org>
9796
9797        Mask deformations when masked content is rotated
9798        https://bugs.webkit.org/show_bug.cgi?id=76527
9799
9800        Reviewed by Nikolas Zimmermann.
9801
9802        Test: svg/repaint/mask-clip-target-transform.svg
9803
9804        RenderSVGResource::markForLayoutAndParentResourceInvalidation() needs to also
9805        invalidate parent mask and clip resources, not just filters.
9806
9807        * rendering/svg/RenderSVGResource.cpp:
9808        (WebCore::removeFromCacheAndInvalidateDependencies):
9809        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
9810
98112012-05-15  Pavel Feldman  <pfeldman@chromium.org>
9812
9813        Web Inspector: merge show navigator with pin navigator buttons.
9814        https://bugs.webkit.org/show_bug.cgi?id=86469
9815
9816        Reviewed by Vsevolod Vlasov.
9817
9818        See screenshots attached to the bug.
9819
9820        * English.lproj/localizedStrings.js:
9821        * inspector/front-end/Images/navigatorPinButton.png: Removed.
9822        * inspector/front-end/Images/navigatorShowHideButton.png:
9823        * inspector/front-end/NavigatorOverlayController.js:
9824        (WebInspector.NavigatorOverlayController.prototype._toggleNavigator):
9825        (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
9826        (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
9827        (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
9828        (WebInspector.NavigatorOverlayController.prototype._containingElementFocused):
9829        * inspector/front-end/SidebarOverlay.js:
9830        (WebInspector.SidebarOverlay):
9831        (WebInspector.SidebarOverlay.prototype.show):
9832        (WebInspector.SidebarOverlay.prototype.hide):
9833        * inspector/front-end/navigatorView.css:
9834        (.navigator-tabbed-pane .tabbed-pane-header-contents):
9835        * inspector/front-end/scriptsPanel.css:
9836        (.status-bar-item.scripts-navigator-show-hide-button > .glyph):
9837        (.status-bar-item.scripts-navigator-show-hide-button.toggled-shown > .glyph):
9838        (.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay > .glyph):
9839        (button.status-bar-item.scripts-navigator-show-hide-button):
9840        (button.status-bar-item.scripts-navigator-show-hide-button.toggled-overlay):
9841
98422012-05-15  Yury Semikhatsky  <yurys@chromium.org>
9843
9844        Web Inspector: implement "Reveal in Dominators view" context menu action
9845        https://bugs.webkit.org/show_bug.cgi?id=86455
9846
9847        Reviewed by Pavel Feldman.
9848
9849        Implemented "Reveal in Dominators view" context menu action for objects
9850        in the console.
9851
9852        Test: inspector/profiler/heap-snapshot-reveal-in-dominators-view.html
9853
9854        * English.lproj/localizedStrings.js:
9855        * inspector/front-end/HeapSnapshot.js:
9856        (WebInspector.HeapSnapshot.prototype._nodeForSnapshotObjectId):
9857        (WebInspector.HeapSnapshot.prototype.nodeClassName):
9858        (WebInspector.HeapSnapshot.prototype.dominatorIdsForNode):
9859        * inspector/front-end/HeapSnapshotDataGrids.js:
9860        (WebInspector.HeapSnapshotDominatorsDataGrid):
9861        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.setDataSource):
9862        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
9863        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId.didGetDominators):
9864        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId.expandNextDominator):
9865        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
9866        * inspector/front-end/HeapSnapshotGridNodes.js:
9867        (WebInspector.HeapSnapshotGridNode.prototype.childForPosition):
9868        (WebInspector.HeapSnapshotGridNode.prototype.expandWithoutPopulate):
9869        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved):
9870        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
9871        (WebInspector.HeapSnapshotGridNode.prototype.sort):
9872        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId):
9873        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId.didGetNodePosition):
9874        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.retrieveChildBySnapshotObjectId.didPopulateChildren):
9875        * inspector/front-end/HeapSnapshotProxy.js:
9876        (WebInspector.HeapSnapshotProxy.prototype.dominatorIdsForNode):
9877        * inspector/front-end/ProfilesPanel.js:
9878        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.revealInSummaryView):
9879        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
9880        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
9881
98822012-05-15  Yury Semikhatsky  <yurys@chromium.org>
9883
9884        Web Inspector: exception when switching to heap profiler comparison view
9885        https://bugs.webkit.org/show_bug.cgi?id=86224
9886
9887        Reviewed by Pavel Feldman.
9888
9889        Make sure the messages are dispatched in the same order as they are sent in
9890        case a fake worker is used for heap snapshot processing.
9891
9892        * inspector/front-end/HeapSnapshotProxy.js:
9893        (WebInspector.TimerQueue):
9894        (WebInspector.TimerQueue.prototype.addTask):
9895        (WebInspector.TimerQueue.prototype._onTimeout):
9896        (WebInspector.TimerQueue.prototype._scheduleTimer):
9897        (WebInspector.HeapSnapshotFakeWorker):
9898        (WebInspector.HeapSnapshotFakeWorker.prototype.postMessage):
9899        (WebInspector.HeapSnapshotFakeWorker.prototype._postMessageFromWorker):
9900
99012012-05-15  Zoltan Herczeg  <zherczeg@webkit.org>
9902
9903        The ARM NEON optimized filters does not compile on THUMB2
9904        https://bugs.webkit.org/show_bug.cgi?id=86457
9905
9906        Reviewed by Csaba Osztrogonác.
9907
9908        We should disable the compilation on Thumb2 until we fix the code.
9909
9910        * platform/graphics/filters/FEComposite.cpp:
9911        (WebCore::FEComposite::platformArithmeticSoftware):
9912        * platform/graphics/filters/FEGaussianBlur.cpp:
9913        (WebCore::FEGaussianBlur::platformApplyWorker):
9914        (WebCore::FEGaussianBlur::platformApply):
9915        * platform/graphics/filters/FELighting.cpp:
9916        (WebCore::FELighting::platformApply):
9917        * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
9918        * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
9919        * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:
9920        * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
9921        * platform/graphics/filters/arm/FELightingNEON.cpp:
9922        * platform/graphics/filters/arm/FELightingNEON.h:
9923
99242012-05-15  MORITA Hajime  <morrita@google.com>
9925
9926        Kill unnecessary RuntimeEnabledFeatures.h inclusion
9927        https://bugs.webkit.org/show_bug.cgi?id=86451
9928
9929        Reviewed by Kentaro Hara.
9930
9931        No new tests. No behavior change.
9932
9933        * dom/Element.cpp:
9934        * dom/ElementShadow.cpp:
9935        * dom/TreeScope.cpp:
9936
99372012-05-14  Shinya Kawanaka  <shinyak@chromium.org> 
9938
9939        document.execCommand('Indent') in the direct child of ShadowRoot causes a crash.
9940        https://bugs.webkit.org/show_bug.cgi?id=86341
9941
9942        Reviewed by Ryosuke Niwa.
9943
9944        When document.execCommand('Indent') is executed in the direct child of ShadowRoot,
9945        the scope variable of TextIterator becomes ShadowRoot. However, an element is assumed for it,
9946        so a crash happended.
9947
9948        This patch enables TextIterator to have ShadowRoot as a scope variable.
9949
9950        Test: editing/shadow/execcommand-indent-in-shadow.html
9951
9952        * WebCore.exp.in:
9953        * editing/ApplyBlockElementCommand.cpp:
9954        (WebCore::ApplyBlockElementCommand::doApply):
9955        * editing/InsertListCommand.cpp:
9956        (WebCore::InsertListCommand::doApply):
9957        * editing/TextIterator.cpp:
9958        (WebCore::TextIterator::rangeFromLocationAndLength):
9959        * editing/TextIterator.h:
9960        (TextIterator):
9961        * editing/htmlediting.cpp:
9962        (WebCore::indexForVisiblePosition):
9963        (WebCore::visiblePositionForIndex):
9964        * editing/htmlediting.h:
9965        (WebCore):
9966
99672012-05-14  Shinya Kawanaka  <shinyak@chromium.org>
9968
9969        Node::shadowTreeRootNode() should return ShadowRoot instead of Node.
9970        https://bugs.webkit.org/show_bug.cgi?id=86428
9971
9972        Reviewed by Hajime Morita.
9973
9974        Since Node::shadowTreeRootNode() returns only ShadowRoot or 0 now, its return type should be ShadowRoot.
9975        This patch changes the return type and adds include directive to build.
9976
9977        No new tests, no change in behavior.
9978
9979        * dom/Node.cpp:
9980        (WebCore::Node::shadowAncestorNode):
9981        (WebCore::Node::shadowTreeRootNode):
9982        * dom/Node.h:
9983        (WebCore):
9984        (Node):
9985        * dom/NodeRenderingContext.cpp:
9986        (WebCore::NodeRenderingContext::NodeRenderingContext):
9987        * dom/Range.cpp:
9988        (WebCore::Range::shadowTreeRootNode):
9989        * dom/Range.h:
9990        (Range):
9991        * editing/Editor.cpp:
9992        * editing/TextIterator.cpp:
9993        * editing/htmlediting.cpp:
9994        * html/shadow/ContentSelectorQuery.cpp:
9995        * html/shadow/HTMLContentElement.cpp:
9996        (WebCore::HTMLContentElement::parseAttribute):
9997        * html/shadow/InsertionPoint.cpp:
9998        (WebCore::InsertionPoint::detach):
9999        * page/EventHandler.cpp:
10000
100012012-05-14  Luke Macpherson  <macpherson@chromium.org>
10002
10003        Make StyleResolver::applyMatchedProperties and ::applyProperties use enum template parameter instead of bool.
10004        https://bugs.webkit.org/show_bug.cgi?id=86424
10005
10006        Reviewed by Dimitri Glazkov.
10007
10008        This patch changes from using a boolean template parameter for StyleResolver::applyMatchedProperties and
10009        StyleResolver::applyProperties functions. The motivation for this change is that it paves the way for
10010        CSS Variables to make the value tri-state, which is a requirement because variable definitions must occur
10011        before high priority CSS properties such that they can be referenced by the latter. This change affects
10012        only the type signatures of those functions, and not their behavior.
10013
10014        * css/StyleResolver.cpp:
10015        (WebCore::StyleResolver::collectMatchingRulesForList):
10016        * css/StyleResolver.h:
10017
100182012-05-14  MORITA Hajime  <morrita@google.com>
10019
10020        [Refactoring] Get rid of ContentDistribution::Item
10021        https://bugs.webkit.org/show_bug.cgi?id=86350
10022
10023        This change replaces the linked list on ContentDistribution with a Vector.
10024        We no longer link item class ContentDistribution::Item.
10025        This simplification also allows ContentDistribution to go.
10026        ContentDistribution is now just a typedef of Vector<RefPtr<Node> >.
10027
10028        Reviewed by Dimitri Glazkov.
10029
10030        No new tests. Covered by existing tests.
10031
10032        * dom/ComposedShadowTreeWalker.cpp:
10033        (WebCore::ComposedShadowTreeWalker::traverseNode):
10034        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
10035        * dom/ElementShadow.cpp:
10036        * dom/ElementShadow.h:
10037        (ElementShadow):
10038        * dom/NodeRenderingContext.cpp:
10039        (WebCore::nextRendererOfInsertionPoint):
10040        (WebCore::previousRendererOfInsertionPoint):
10041        (WebCore::firstRendererOfInsertionPoint):
10042        (WebCore::lastRendererOfInsertionPoint):
10043        * html/shadow/ContentDistributor.cpp:
10044        (WebCore::ContentDistributor::distribute):
10045        (WebCore::ContentDistributor::clearDistribution):
10046        (WebCore::ContentDistributor::findInsertionPointFor):
10047        * html/shadow/ContentDistributor.h:
10048        (WebCore):
10049        (ContentDistributor):
10050        * html/shadow/InsertionPoint.cpp:
10051        (WebCore::InsertionPoint::InsertionPoint):
10052        (WebCore::InsertionPoint::attachDistributedNode):
10053        (WebCore::InsertionPoint::assignShadowRoot):
10054        (WebCore::InsertionPoint::nextTo):
10055        (WebCore):
10056        (WebCore::InsertionPoint::previousTo):
10057        * html/shadow/InsertionPoint.h: Added a set of delegate method to m_distribution.
10058        (WebCore::InsertionPoint::hasDistribution):
10059        (WebCore::InsertionPoint::indexOf):
10060        (WebCore::InsertionPoint::size):
10061        (WebCore::InsertionPoint::at):
10062        (WebCore::InsertionPoint::first):
10063        (WebCore::InsertionPoint::last):
10064        (InsertionPoint):
10065
100662012-05-14  Tim Horton  <timothy_horton@apple.com>
10067
10068        RenderLayer::repaintRectIncludingDescendants shouldn't include repaint rects of composited descendants
10069        https://bugs.webkit.org/show_bug.cgi?id=86429
10070        <rdar://problem/11445132>
10071
10072        Reviewed by Simon Fraser.
10073
10074        Change repaintRectIncludingDescendants to not include repaint rects for composited child layers,
10075        and rename the function to make it more clear that that's what it does now.
10076
10077        No new tests, scrolling performance optimization.
10078
10079        * page/FrameView.cpp:
10080        (WebCore::FrameView::scrollContentsFastPath):
10081        * rendering/RenderLayer.cpp:
10082        (WebCore::RenderLayer::repaintRectIncludingNonCompositingDescendants):
10083        * rendering/RenderLayer.h:
10084        (RenderLayer):
10085
100862012-05-14  Gavin Peters  <gavinp@chromium.org>
10087
10088        Add Prerenderer, PrerenderHandle and a chromium interface for Prerendering.
10089        https://bugs.webkit.org/show_bug.cgi?id=85005
10090
10091        Reviewed by Adam Barth.
10092
10093        The prerender case isn't quite a resource load, and using resource loading to
10094        retrieve them has constrained the API, and unnecessarily complicated the loader.
10095
10096        The new Prerenderer and PrerenderHandle let <link rel=prerender...> elements signal
10097        removal and unload to their platform.
10098
10099        No new tests, as this interface requires a full platform to work, and doesn't affect layout.  Test
10100        it with your platform when implemented for it.
10101
10102        * GNUmakefile.list.am:
10103        * Target.pri:
10104        * WebCore.gypi:
10105        * WebCore.vcproj/WebCore.vcproj:
10106        * WebCore.xcodeproj/project.pbxproj:
10107        * dom/Document.cpp:
10108        (WebCore::Document::Document):
10109        * dom/Document.h:
10110        (WebCore):
10111        (Document):
10112        (WebCore::Document::prerenderer):
10113        * html/HTMLLinkElement.cpp:
10114        (WebCore::HTMLLinkElement::removedFrom):
10115        * html/LinkRelAttribute.cpp:
10116        (WebCore::LinkRelAttribute::LinkRelAttribute):
10117        * html/LinkRelAttribute.h:
10118        (LinkRelAttribute):
10119        * loader/LinkLoader.cpp:
10120        (WebCore::LinkLoader::loadLink):
10121        (WebCore::LinkLoader::released):
10122        * loader/LinkLoader.h:
10123        (WebCore):
10124        (LinkLoader):
10125        * loader/Prerenderer.cpp: Added.
10126        (WebCore):
10127        (WebCore::Prerenderer::create):
10128        (WebCore::Prerenderer::Prerenderer):
10129        (WebCore::Prerenderer::~Prerenderer):
10130        (WebCore::Prerenderer::render):
10131        (WebCore::Prerenderer::stop):
10132        (WebCore::Prerenderer::suspend):
10133        (WebCore::Prerenderer::resume):
10134        (WebCore::Prerenderer::document):
10135        (WebCore::Prerenderer::client):
10136        * loader/Prerenderer.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
10137        (WebCore):
10138        (Prerenderer):
10139        * loader/PrerendererClient.cpp: Copied from Source/WebCore/html/LinkRelAttribute.h.
10140        (WebCore):
10141        (WebCore::PrerendererClient::supplementName):
10142        (WebCore::PrerendererClient::from):
10143        (WebCore::providePrerendererClientTo):
10144        * loader/PrerendererClient.h: Copied from Source/WebCore/html/LinkRelAttribute.h.
10145        (WebCore):
10146        (PrerendererClient):
10147        (WebCore::PrerendererClient::~PrerendererClient):
10148        (WebCore::PrerendererClient::PrerendererClient):
10149        * loader/cache/CachedResource.cpp:
10150        (WebCore::defaultPriorityForResourceType):
10151        (WebCore::cachedResourceTypeToTargetType):
10152        (WebCore::CachedResource::load):
10153        * loader/cache/CachedResource.h:
10154        (WebCore::CachedResource::ignoreForRequestCount):
10155        * loader/cache/CachedResourceLoader.cpp:
10156        (WebCore::createResource):
10157        (WebCore::CachedResourceLoader::requestLinkResource):
10158        (WebCore::CachedResourceLoader::checkInsecureContent):
10159        (WebCore::CachedResourceLoader::canRequest):
10160        * platform/PrerenderHandle.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
10161        (WebCore):
10162        (PrerenderHandle):
10163        * platform/chromium/Prerender.cpp: Added.
10164        (WebCore):
10165        (WebCore::Prerender::Prerender):
10166        (WebCore::Prerender::~Prerender):
10167        (WebCore::Prerender::setState):
10168        (WebCore::Prerender::add):
10169        (WebCore::Prerender::cancel):
10170        (WebCore::Prerender::abandon):
10171        (WebCore::Prerender::suspend):
10172        (WebCore::Prerender::resume):
10173        * platform/chromium/Prerender.h: Copied from Source/Platform/chromium/public/WebPrerender.h.
10174        (WebCore):
10175        (Prerender):
10176        (ExtraData):
10177        (WebCore::Prerender::ExtraData::~ExtraData):
10178        (WebCore::Prerender::url):
10179        (WebCore::Prerender::referrer):
10180        (WebCore::Prerender::referrerPolicy):
10181        (WebCore::Prerender::setExtraData):
10182        (WebCore::Prerender::extraData):
10183        * platform/chromium/PrerenderHandle.cpp: Copied from Source/Platform/chromium/public/WebPrerender.h.
10184        (WebCore):
10185        (WebCore::PrerenderHandle::create):
10186        (WebCore::PrerenderHandle::PrerenderHandle):
10187        (WebCore::PrerenderHandle::~PrerenderHandle):
10188        (WebCore::PrerenderHandle::prerender):
10189        (WebCore::PrerenderHandle::add):
10190        (WebCore::PrerenderHandle::cancel):
10191        (WebCore::PrerenderHandle::abandon):
10192        (WebCore::PrerenderHandle::suspend):
10193        (WebCore::PrerenderHandle::resume):
10194        (WebCore::PrerenderHandle::url):
10195        (WebCore::PrerenderHandle::referrer):
10196        (WebCore::PrerenderHandle::referrerPolicy):
10197        * platform/chromium/support/WebPrerender.cpp: Copied from Source/Platform/chromium/public/WebPrerender.h.
10198        (WebKit::WebPrerender::WebPrerender):
10199        (WebKit):
10200        (WebKit::WebPrerender::~WebPrerender):
10201        (WebKit::WebPrerender::url):
10202        (WebKit::WebPrerender::referrer):
10203        (WebKit::WebPrerender::referrerPolicy):
10204        (WebKit::WebPrerender::setExtraData):
10205        (WebKit::WebPrerender::extraData):
10206        * platform/network/blackberry/ResourceRequest.h:
10207        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
10208        (WebCore::platformTargetTypeForRequest):
10209        * platform/network/chromium/ResourceRequest.h:
10210
102112012-05-14  Luke Macpherson  <macpherson@chromium.org>
10212
10213        Introduce ENABLE_CSS_VARIABLES compile flag.
10214        https://bugs.webkit.org/show_bug.cgi?id=86338
10215
10216        Reviewed by Dimitri Glazkov.
10217
10218        Add a configuration option for CSS Variables support, disabling it by default.
10219
10220        No new tests. This patch only introduces an unused build flag.
10221
10222        * Configurations/FeatureDefines.xcconfig:
10223
102242012-05-14  Eric Seidel  <eric@webkit.org>
10225
10226        Styles are not recalculated when the seamless attribute is dynamically added/removed
10227        https://bugs.webkit.org/show_bug.cgi?id=86315
10228
10229        Reviewed by Andreas Kling.
10230
10231        Covered by fast/frames/seamless/seamless-css-cascade.html.
10232
10233        * html/HTMLIFrameElement.cpp:
10234        (WebCore::HTMLIFrameElement::isPresentationAttribute):
10235         - Make seamless a presentational attribute, which means style on the <iframe> will
10236           be forced to recalculate when it changes.  This is correct, but not observable
10237           until the layout changes are landed (as then the iframe should correctly revert to not
10238           being sized to fit its content if seamless is removed).
10239        (WebCore::HTMLIFrameElement::parseAttribute):
10240         - When the seamless attribute is added or remove, force the content document to recalc
10241           its style resolver, which will refresh the list of inherited stylesheets from the
10242           parent.  This doesn't need to happen synchronously.  When the layout changes land
10243           the content document will actually cause that recalc to redirect to the parent document
10244           in the seamless case anyway, but it's more correct to ask the content document directly.
10245
102462012-05-14  Alexandre Elias  <aelias@google.com>
10247
10248        [chromium] Prevent KeyCodeConversionAndroid from breaking on next NDK roll
10249        https://bugs.webkit.org/show_bug.cgi?id=86415
10250
10251        Reviewed by Adam Barth.
10252
10253        The new enum values added in this file have been added in recent
10254        versions of the NDK, so this file will fail to compile with duplicate
10255        enum error when we roll NDK to r7c or higher.  A workaround is
10256        to move our enum values to the WebCore namespace.  When the NDK
10257        upgrade is complete, we can delete them.
10258
10259        No new tests. (No-op change.)
10260
10261        * platform/chromium/KeyCodeConversionAndroid.cpp:
10262        (WebCore):
10263
102642012-05-14  Beth Dakin  <bdakin@apple.com>
10265
10266        https://bugs.webkit.org/show_bug.cgi?id=86420
10267        ScrollbarPainter should support expansionTransitionProgress
10268
10269        Reviewed by Sam Weinig.
10270
10271        expansionTransitionProgress works the same as 
10272        uiStateTransitionProgress. This code just echoes that code, but for 
10273        expansion instead of uiState.
10274        * platform/mac/NSScrollerImpDetails.h:
10275        * platform/mac/ScrollAnimatorMac.mm:
10276        (supportsExpansionTransitionProgress):
10277        (-[WebScrollbarPartAnimation setCurrentProgress:]):
10278        (-[WebScrollbarPainterDelegate cancelAnimations]):
10279        (-[WebScrollbarPainterDelegate scrollerImp:animateExpansionTransitionWithDuration:]):
10280        (-[WebScrollbarPainterDelegate invalidate]):
10281
102822012-05-14  Andy Estes  <aestes@apple.com>
10283
10284        Fix RunLoopCF.cpp's copyright string.
10285
10286        * platform/cf/RunLoopCF.cpp:
10287
102882012-05-14  Andy Estes  <aestes@apple.com>
10289
10290        Move the parts of RunLoopMac.mm that aren't Mac-specific into RunLoopCF.cpp
10291        https://bugs.webkit.org/show_bug.cgi?id=86411
10292
10293        Reviewed by Anders Carlsson.
10294
10295        Most of RunLoopMac.mm was written in terms of CF API. Move these bits
10296        to a new file called RunLoopCF.cpp, leaving only the bits dealing with
10297        NSApplication.
10298
10299        * WebCore.xcodeproj/project.pbxproj: Xcode decided to give
10300        VisitedLinks.* new UUIDs. I'll allow it.
10301        * platform/cf/RunLoopCF.cpp: Copied from Source/WebCore/platform/mac/RunLoopMac.mm.
10302        * platform/mac/RunLoopMac.mm:
10303
103042012-05-14  Erik Arvidsson  <arv@chromium.org>
10305
10306        [V8] Add "stack" property to DOMException
10307        https://bugs.webkit.org/show_bug.cgi?id=85057
10308
10309        Reviewed by Kentaro Hara.
10310
10311        When we create a DOM exception we define a V8 accessor for the stack property. This
10312        accessor uses a new Error object to get the underlying stack string.
10313
10314        Test: fast/dom/DOMException/stack-trace.html
10315
10316        * bindings/v8/V8Proxy.cpp:
10317        (WebCore::DOMExceptionStackGetter):
10318        (WebCore):
10319        (WebCore::DOMExceptionStackSetter):
10320        (WebCore::V8Proxy::setDOMException):
10321
103222012-05-14  Michael Saboff  <msaboff@apple.com>
10323
10324        Enh: Add the Ability to Disable / Enable JavaScript GC Timer
10325        https://bugs.webkit.org/show_bug.cgi?id=86382
10326
10327        Reviewed by Darin Adler.
10328
10329        Plumbing to set / clear JS GC activity timer enable flag.
10330
10331        * WebCore.exp.in:
10332        * bindings/js/GCController.cpp:
10333        (WebCore::GCController::setJavaScriptGarbageCollectorTimerEnabled):
10334        * bindings/js/GCController.h:
10335
103362012-05-14  Nate Chapin  <japhet@chromium.org>
10337
10338        [V8] Crash in npObjectGetProperty() in V8NPObject.cpp
10339        https://bugs.webkit.org/show_bug.cgi?id=86131
10340
10341        Reviewed by Adam Barth.
10342
10343        Tests: plugins/npruntime/delete-plugin-within-getProperty.html
10344               plugins/npruntime/delete-plugin-within-hasProperty-return-false.html
10345               plugins/npruntime/delete-plugin-within-hasProperty-return-true.html
10346               plugins/npruntime/delete-plugin-within-invoke.html
10347               plugins/npruntime/delete-plugin-within-setProperty.html
10348
10349        * bindings/v8/NPV8Object.cpp:
10350        (_NPN_EvaluateHelper):
10351        * bindings/v8/V8NPObject.cpp: Check NPN_IsAlive in a bunch of places we're not currently.
10352        (WebCore::npObjectInvokeImpl):
10353        (WebCore::npObjectGetProperty):
10354        (WebCore::npObjectSetProperty):
10355
103562012-05-14  Brent Fulgham  <bfulgham@webkit.org>
10357
10358        [WinCairo] Unreviewed build correction.
10359
10360        * platform/win/DragImageCairoWin.cpp: Add missing include for
10361        new NativeImageCairo.h type.
10362
103632012-05-14  Takashi Sakamoto  <tasak@google.com>
10364
10365        Crash in WebCore::RenderObject::repaint
10366        https://bugs.webkit.org/show_bug.cgi?id=86162
10367
10368        Reviewed by Abhishek Arya.
10369
10370        As RenderScrollbarPart has no parent renderer, we crash in
10371        WebCore::RenderBoxModelObject::paddingLeft when paddingLeft has
10372        percent value, e.g. 5%. However if we set the scrollbar's parent
10373        renderer to a renderer owning the scrollbar by using setParent method,
10374        RenderScrollbarPart::styleWillChange will invoke parent renderer's
10375        repaint. This causes crash in WebCore::RenderObject::repaint if the
10376        owning renderer is already destroyed.
10377        To fix the first crash without the second crash, modify
10378        RenderObject::containingBlock() to check isRenderScrollbarPart or not,
10379        if parent() is 0.
10380        If so, use scrollbar's owningRenderer from RenderScrollbarPart.
10381
10382        Test: scrollbars/scrollbar-percent-padding-crash.html
10383              scrollbars/scrollbar-scrollbarparts-repaint-crash.html
10384
10385        * rendering/RenderObject.cpp:
10386        (WebCore::RenderObject::containingBlock):
10387        Modifying containingBlock. If parent() is 0 and isRenderScrollbarPart()
10388        is true, use RenderScrollbarPart's m_scrollbar->owningRenderer()
10389        instead of parent().
10390        * rendering/RenderObject.h:
10391        (WebCore::RenderObject::isRenderScrollbarPart):
10392        (RenderObject):
10393        Adding a new method, isRenderScrollbarPart.
10394        * rendering/RenderScrollbarPart.cpp:
10395        (WebCore::RenderScrollbarPart::rendererOwningScrollbar):
10396        (WebCore):
10397        Adding a new method, scrollbarOwningRenderer to obtain m_scrollar's
10398        owningRenderer.
10399        * rendering/RenderScrollbarPart.h:
10400        (RenderScrollbarPart):
10401        Removing "friend class RenderScrollbar".
10402        (WebCore::RenderScrollbarPart::isRenderScrollbarPart):
10403        (WebCore::toRenderScrollbarPart):
10404        (WebCore):
10405        Implementing isRenderScrollbarPart and toRenderScrollbarPart.
10406
104072012-05-14  Mike West  <mike@mikewest.org>
10408
10409        Content Security Policy console errors include violated directive.
10410        https://bugs.webkit.org/show_bug.cgi?id=86323
10411
10412        Reviewed by Adam Barth.
10413
10414        Console errors generated when resources, inline script/style, or eval
10415        are blocked by Content Security Policy directives should include the
10416        text of the directive that's been violated. This gives developers more
10417        of the information they need to resolve the issue.
10418
10419        Test: http/tests/security/contentSecurityPolicy/*
10420
10421        * page/ContentSecurityPolicy.cpp:
10422        (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
10423        (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
10424        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
10425        (WebCore::CSPDirectiveList::allowJavaScriptURLs):
10426        (WebCore::CSPDirectiveList::allowInlineEventHandlers):
10427        (WebCore::CSPDirectiveList::allowInlineScript):
10428        (WebCore::CSPDirectiveList::allowInlineStyle):
10429        (WebCore::CSPDirectiveList::allowEval):
10430
104312012-05-14  Julien Chaffraix  <jchaffraix@webkit.org>
10432
10433        Crash in FrameView::windowClipRectForFrameOwner after r116371
10434        https://bugs.webkit.org/show_bug.cgi?id=86035
10435
10436        Reviewed by David Hyatt.
10437
10438        Added a NULL-check for |parentView| as nothing guarantees it to be
10439        non-NULL. Unfortunately no test as this is a crasher I couldn't
10440        reproduce on my machine and the user logs were not helpful.
10441
10442        * page/FrameView.cpp:
10443        (WebCore::FrameView::windowClipRect):
10444
104452012-05-14  Beth Dakin  <bdakin@apple.com>
10446
10447        https://bugs.webkit.org/show_bug.cgi?id=86403
10448        ASSERTION FAILED: m_verticalScrollbarPainterDelegate on recent builds
10449        -and corresponding-
10450        <rdar://problem/11448841>
10451
10452        Reviewed by Simon Fraser.
10453
10454        http://trac.webkit.org/changeset/116476 accidentally started calling 
10455        these functions for custom scrollbars. This change replaces that 
10456        guard.
10457        * rendering/RenderLayer.cpp:
10458        (WebCore::RenderLayer::destroyScrollbar):
10459
104602012-05-14  Simon Fraser  <simon.fraser@apple.com>
10461
10462        Remove redundant pixel snapping in calculateCompositedBounds()
10463        https://bugs.webkit.org/show_bug.cgi?id=86400
10464
10465        Reviewed by Sam Weinig.
10466
10467        RenderLayer::calculateLayerBounds() returns a pixel-snapped rect,
10468        so we don't need to pixel-snap it again.
10469
10470        * rendering/RenderLayerCompositor.cpp:
10471        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
10472
104732012-05-14  Simon Fraser  <simon.fraser@apple.com>
10474
10475        Avoid logging related to setting shadow-related properties on a transform-only layer
10476        https://bugs.webkit.org/show_bug.cgi?id=86398
10477
10478        Reviewed by Dan Bernstein.
10479
10480        When making a CATransformLayer to support transform-style: preserve-3d, avoid trying
10481        to set filters on the transform layer. We should never have this combination,
10482        because filters force flattening to occur.
10483
10484        * platform/graphics/ca/GraphicsLayerCA.cpp:
10485        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
10486
104872012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>
10488
10489        Unreviewed, rolling out r116983.
10490        http://trac.webkit.org/changeset/116983
10491        https://bugs.webkit.org/show_bug.cgi?id=86397
10492
10493        Does not compile on chromium-win (Requested by abarth on
10494        #webkit).
10495
10496        * WebCore.gypi:
10497        * page/TouchAdjustment.cpp:
10498
104992012-05-14  Dan Bernstein  <mitz@apple.com>
10500
10501        Pagination splits lines that could fit on a single page if it were not for their top leading
10502        https://bugs.webkit.org/show_bug.cgi?id=86388
10503
10504        Reviewed by Darin Adler.
10505
10506        Test: fast/multicol/split-in-top-margin.html
10507
10508        When a line’s visible content fits on a page, but adding the top leading makes it taller than
10509        a page, instead of giving up and splitting the line in an arbitrary position, add a strut
10510        to push it downwards so that the split occurs in the top leading, and the visible content is
10511        fully contained on a single page.
10512
10513        * rendering/RenderBlock.cpp:
10514        (WebCore::RenderBlock::adjustLinePositionForPagination):
10515
105162012-05-14  Terry Anderson  <tdanderson@chromium.org>
10517
10518        [chromium] Compute the best target node on a GestureTap event
10519        https://bugs.webkit.org/show_bug.cgi?id=85101
10520
10521        Reviewed by Adam Barth.
10522
10523        Using tests in the touchadjustment/ directory.
10524
10525        * WebCore.gypi:
10526        Include TouchAdjustment.* files.
10527        * page/TouchAdjustment.cpp:
10528        Included math.h because of an 'Undeclared identifier: INFINITY' when
10529        this patch was landed before.
10530
105312012-05-14  Adrienne Walker  <enne@google.com>
10532
10533        [chromium] Add compositor debug asserts for blocked main thread
10534        https://bugs.webkit.org/show_bug.cgi?id=86384
10535
10536        Reviewed by James Robinson.
10537
10538        Where we depend for thread-safety that the main thread is blocked,
10539        assert that this is actually the case.
10540
10541        * platform/graphics/chromium/cc/CCProxy.cpp:
10542        (WebCore):
10543        (WebCore::CCProxy::isMainThreadBlocked):
10544        (WebCore::CCProxy::setMainThreadBlocked):
10545        * platform/graphics/chromium/cc/CCProxy.h:
10546        (CCProxy):
10547        (WebCore):
10548        (DebugScopedSetMainThreadBlocked):
10549        (WebCore::DebugScopedSetMainThreadBlocked::DebugScopedSetMainThreadBlocked):
10550        (WebCore::DebugScopedSetMainThreadBlocked::~DebugScopedSetMainThreadBlocked):
10551        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
10552        (WebCore::CCSingleThreadProxy::doCommit):
10553        (WebCore::CCSingleThreadProxy::stop):
10554        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
10555        (WebCore::CCThreadProxy::stop):
10556        (WebCore::CCThreadProxy::beginFrame):
10557        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
10558        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
10559        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
10560
105612012-05-14  Swapna P  <spottabathini@innominds.com>
10562
10563        Reviewed by Eric Seidel.
10564
10565        Bug: Cannot resize frames because frameborder=0
10566        https://bugs.webkit.org/show_bug.cgi?id=23750
10567
10568        Removed check for frameborder, in order to allow resize of frames even in case of frameborder=0.
10569
10570        Test: fast/frames/frames-with-frameborder-zero-can-be-resized.html
10571
10572        * rendering/RenderFrameSet.cpp:
10573        (WebCore::RenderFrameSet::startResizing):
10574        (WebCore::RenderFrameSet::canResizeRow):
10575        (WebCore::RenderFrameSet::canResizeColumn):
10576
105772012-05-14  David Barton  <dbarton@mathscribe.com>
10578
10579        Unify RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
10580        https://bugs.webkit.org/show_bug.cgi?id=86319
10581
10582        Reviewed by Darin Adler.
10583
10584        Most of RenderMathMLSquareRoot.cpp is duplicated in RenderMathMLRoot.cpp and can be
10585        eliminated. We also define RenderMathMLRoot::computePreferredLogicalWidths().
10586
10587        Test: mathml/presentation/mroot-pref-width.html
10588
10589        * rendering/mathml/RenderMathMLRoot.cpp:
10590        (WebCore::RenderMathMLRoot::computePreferredLogicalWidths):
10591        (WebCore::RenderMathMLRoot::layout):
10592        (WebCore::RenderMathMLRoot::paint):
10593        * rendering/mathml/RenderMathMLRoot.h:
10594        * rendering/mathml/RenderMathMLSquareRoot.cpp:
10595        (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
10596        (WebCore::RenderMathMLSquareRoot::addChild):
10597        * rendering/mathml/RenderMathMLSquareRoot.h:
10598
105992012-05-14  MORITA Hajime  <morrita@google.com>
10600
10601        [Shadow DOM][Refactoring] HTMLContentSelector family should have better name
10602        https://bugs.webkit.org/show_bug.cgi?id=86064
10603
10604        Reviewed by Dimitri Glazkov.
10605
10606        This change renames classes around shadow content distribution.
10607        - Renamed HTMLContentSelector to ContentDistributor
10608        - Renamed HTMLContentSelectionList to ContentDistribution
10609        - Renamed HTMLContentSelection to ContentDistribution::Item
10610        - Inlined HTMLContentSelectionSet into ContentDistributor
10611
10612        Associated rename and inlining are also happening for method names.
10613
10614        No new tests. No behavior change.
10615
10616        * CMakeLists.txt:
10617        * GNUmakefile.list.am:
10618        * Target.pri:
10619        * WebCore.gypi:
10620        * WebCore.vcproj/WebCore.vcproj:
10621        * WebCore.xcodeproj/project.pbxproj:
10622        * dom/ComposedShadowTreeWalker.cpp:
10623        (WebCore::ComposedShadowTreeWalker::traverseNode):
10624        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
10625        (WebCore::ComposedShadowTreeWalker::traverseParent):
10626        * dom/ElementShadow.cpp:
10627        (WebCore::ElementShadow::ElementShadow):
10628        (WebCore::ElementShadow::attach):
10629        (WebCore::ElementShadow::insertionPointFor):
10630        (WebCore::ElementShadow::distributionItemFor):
10631        (WebCore::ElementShadow::recalcStyle):
10632        (WebCore::ElementShadow::needsRedistributing):
10633        (WebCore::ElementShadow::hostChildrenChanged):
10634        (WebCore::ElementShadow::setNeedsRedistributing):
10635        * dom/ElementShadow.h:
10636        (WebCore):
10637        (ElementShadow):
10638        (WebCore::ElementShadow::distributor):
10639        (WebCore::ElementShadow::clearNeedsRedistributing):
10640        * dom/NodeRenderingContext.cpp:
10641        (WebCore::NodeRenderingContext::NodeRenderingContext):
10642        (WebCore::nextRendererOfInsertionPoint):
10643        (WebCore::previousRendererOfInsertionPoint):
10644        (WebCore::firstRendererOfInsertionPoint):
10645        (WebCore::lastRendererOfInsertionPoint):
10646        * dom/ShadowRoot.cpp:
10647        * dom/ShadowRoot.h:
10648        (WebCore):
10649        * html/shadow/ContentDistributor.cpp: Renamed from Source/WebCore/html/shadow/HTMLContentSelector.cpp.
10650        (WebCore):
10651        (WebCore::ContentDistribution::ContentDistribution):
10652        (WebCore::ContentDistribution::~ContentDistribution):
10653        (WebCore::ContentDistribution::find):
10654        (WebCore::ContentDistribution::clear):
10655        (WebCore::ContentDistribution::append):
10656        (WebCore::ContentDistributor::ContentDistributor):
10657        (WebCore::ContentDistributor::~ContentDistributor):
10658        (WebCore::ContentDistributor::distribute):
10659        (WebCore::ContentDistributor::clearDistribution):
10660        (WebCore::ContentDistributor::findFor):
10661        (WebCore::ContentDistributor::findInsertionPointFor):
10662        (WebCore::ContentDistributor::willDistribute):
10663        (WebCore::ContentDistributor::didDistribute):
10664        (WebCore::ContentDistributor::preparePoolFor):
10665        * html/shadow/ContentDistributor.h: Added.
10666        (WebCore):
10667        (ContentDistribution):
10668        (Item):
10669        (WebCore::ContentDistribution::Item::insertionPoint):
10670        (WebCore::ContentDistribution::Item::node):
10671        (WebCore::ContentDistribution::Item::next):
10672        (WebCore::ContentDistribution::Item::previous):
10673        (WebCore::ContentDistribution::Item::create):
10674        (WebCore::ContentDistribution::Item::Item):
10675        (WebCore::ContentDistribution::first):
10676        (WebCore::ContentDistribution::last):
10677        (WebCore::ContentDistribution::firstNode):
10678        (WebCore::ContentDistribution::lastNode):
10679        (WebCore::ContentDistribution::isEmpty):
10680        (ContentDistributor):
10681        (Translator):
10682        (WebCore::ContentDistributor::Translator::hash):
10683        (WebCore::ContentDistributor::Translator::equal):
10684        (WebCore::ContentDistributor::Hash::hash):
10685        (WebCore::ContentDistributor::Hash::equal):
10686        (Hash):
10687        (WebCore::ContentDistributor::inDistribution):
10688        (WebCore::ContentDistributor::poolIsReady):
10689        * html/shadow/HTMLContentElement.cpp:
10690        (WebCore::HTMLContentElement::parseAttribute):
10691        * html/shadow/HTMLContentSelector.h: Removed.
10692        * html/shadow/InsertionPoint.cpp:
10693        (WebCore::InsertionPoint::InsertionPoint):
10694        (WebCore::InsertionPoint::detach):
10695        (WebCore::InsertionPoint::distributeHostChildren):
10696        (WebCore::InsertionPoint::clearDistribution):
10697        (WebCore::InsertionPoint::attachDistributedNode):
10698        (WebCore::InsertionPoint::assignShadowRoot):
10699        (WebCore::InsertionPoint::clearAssignment):
10700        * html/shadow/InsertionPoint.h:
10701        (WebCore::InsertionPoint::distribution):
10702        (WebCore::InsertionPoint::hasDistribution):
10703
107042012-05-14  Sheriff Bot  <webkit.review.bot@gmail.com>
10705
10706        Unreviewed, rolling out r116969.
10707        http://trac.webkit.org/changeset/116969
10708        https://bugs.webkit.org/show_bug.cgi?id=86386
10709
10710        i accidentally the icondatabase (Requested by kling on
10711        #webkit).
10712
10713        * loader/icon/IconDatabase.cpp:
10714        (WebCore::IconDatabase::synchronousIconForPageURL):
10715        (WebCore::IconDatabase::retainIconForPageURL):
10716        (WebCore::IconDatabase::releaseIconForPageURL):
10717        (WebCore::IconDatabase::retainedPageURLCount):
10718        (WebCore::IconDatabase::performURLImport):
10719        (WebCore::IconDatabase::syncThreadMainLoop):
10720        * loader/icon/IconDatabase.h:
10721        (IconDatabase):
10722
107232012-05-14  Kevin Ollivier  <kevino@theolliviers.com>
10724
10725        [wx] Unreviewed build fix. Fix for wxMSW windows.h load order bug.
10726        
10727        * platform/graphics/wx/ImageBufferDataWx.h:
10728
107292012-05-14  Eric Carlson  <eric.carlson@apple.com>
10730
10731        <video> won't load when URL ends with .php
10732        https://bugs.webkit.org/show_bug.cgi?id=86308
10733
10734        Reviewed by Darin Adler.
10735
10736        Test: http/tests/media/video-query-url.html
10737
10738        * platform/graphics/MediaPlayer.cpp:
10739        (WebCore::MediaPlayer::MediaPlayer): Initialize m_typeInferredFromExtension.
10740        (WebCore::MediaPlayer::load): Set m_typeInferredFromExtension appropriately.
10741        (WebCore::MediaPlayer::loadWithNextMediaEngine): If we don't find a media engine registered
10742            for a MIME type, and the type was inferred from the extension, give the first registered
10743            media engine a chance anwyay just as we do when there is no MIME type at all.
10744        * platform/graphics/MediaPlayer.h: Add m_typeInferredFromExtension.
10745
107462012-05-14  Ilya Tikhonovsky  <loislo@chromium.org>
10747
10748        Web Inspector: do not update $0-$4 console variables for the objects from loaded from file heap snapshot.
10749        https://bugs.webkit.org/show_bug.cgi?id=86371
10750
10751        When the user selects an object in HeapSnapshot we are updating $0 variable in console API.
10752        But if the snapshot was loaded from file then we can't map object id for the selected obect
10753        from the snapshot to the live objects in the inspected page.
10754
10755        Reviewed by Yury Semikhatsky.
10756
10757        * inspector/front-end/HeapSnapshotView.js:
10758        (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
10759        (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
10760        (WebInspector.HeapProfileHeader):
10761        (WebInspector.HeapProfileHeader.prototype.canSaveToFile):
10762        (WebInspector.HeapProfileHeader.prototype.saveToFile):
10763        * inspector/front-end/ProfilesPanel.js:
10764        (WebInspector.ProfileHeader):
10765        (WebInspector.ProfileHeader.prototype.loadFromFile):
10766        (WebInspector.ProfileHeader.prototype.fromFile):
10767        (WebInspector.ProfilesPanel.prototype._loadFromFile):
10768
107692012-05-14  Andrey Kosyakov  <caseq@chromium.org>
10770
10771        Web Inspector: [Extensions API] allow extensions to evaluate in the context of their content scripts
10772        https://bugs.webkit.org/show_bug.cgi?id=86361
10773
10774        Reviewed by Yury Semikhatsky.
10775
10776        Test: inspector/extensions/extensions-eval-content-script.html
10777
10778        * inspector/front-end/ExtensionAPI.js: 
10779        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression): Added evaluateOptions optional parameter.
10780        (injectedExtensionAPI.InspectedWindow.prototype.eval):
10781        (injectedExtensionAPI.extractCallbackArgument): A helper to extract callback function from last argument.
10782        * inspector/front-end/ExtensionPanel.js:
10783        (WebInspector.ExtensionSidebarPane.prototype.setExpression): Added evaluateOptions optional parameter.
10784        * inspector/front-end/ExtensionServer.js:
10785        (WebInspector.ExtensionServer.prototype._onSetSidebarContent): Use ExtensionServer.evaluate() wrapper.
10786        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage): Ditto.
10787        (WebInspector.ExtensionServer.prototype._normalizePath):
10788        (WebInspector.ExtensionServer.prototype.evaluate): A wrapper for PageAgent.evaluate() that handles evaluateOptions.
10789        * inspector/front-end/JavaScriptContextManager.js:
10790        (WebInspector.JavaScriptContextManager.prototype.contextByFrameAndSecurityOrigin): Expose interface to locate context id by frame and content script security origin.
10791        (WebInspector.FrameEvaluationContext.prototype._addExecutionContext): Maintain contexts sorted by name.
10792        (WebInspector.FrameEvaluationContext.prototype.isolatedContexts): ditto (skip sorting when returning contexts)
10793        (WebInspector.FrameEvaluationContext.prototype.contextBySecurityOrigin):
10794        * inspector/front-end/inspector.js: Hold/expose javaScriptContextManager.
10795
107962012-05-14  Pavel Feldman  <pfeldman@chromium.org>
10797
10798        Web Inspector: preserve tab index while widening / shrinking tabbed pane area.
10799        https://bugs.webkit.org/show_bug.cgi?id=86359
10800
10801        Reviewed by Vsevolod Vlasov.
10802
10803        After the drag'n'drop reorder, we should preserve tab index while widening /
10804        shrinking the tabbed pane area.
10805
10806        * inspector/front-end/TabbedPane.js:
10807        (WebInspector.TabbedPane.prototype._innerCloseTab):
10808        (WebInspector.TabbedPane.prototype._showTabElement):
10809        (WebInspector.TabbedPane.prototype._hideTabElement):
10810        (WebInspector.TabbedPane.prototype._updateTabsDropDown):
10811        (WebInspector.TabbedPane.prototype.elementsToRestoreScrollPositionsFor):
10812        (WebInspector.TabbedPane.prototype._insertBefore):
10813        (WebInspector.TabbedPaneTab):
10814        (WebInspector.TabbedPaneTab.prototype._createTabElement):
10815        (WebInspector.TabbedPaneTab.prototype._tabDragging):
10816
108172012-05-14  Vsevolod Vlasov  <vsevik@chromium.org>
10818
10819        Web Inspector: Request / response headers should be stored in name-value pairs array, not a map on front-end.
10820        https://bugs.webkit.org/show_bug.cgi?id=86357
10821
10822        Reviewed by Pavel Feldman.
10823
10824        Storing headers as name-value pairs array information more accurate and allows
10825        to treat Set-Cookie headers (which become not parseable when joined by comma) correctly.
10826
10827        * inspector/front-end/AuditRules.js:
10828        (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
10829        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
10830        (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
10831        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
10832        * inspector/front-end/HAREntry.js:
10833        (WebInspector.HAREntry.prototype._buildRequest):
10834        (WebInspector.HAREntry.prototype._buildResponse):
10835        * inspector/front-end/NetworkManager.js:
10836        (WebInspector.NetworkDispatcher.prototype._headersMapToHeadersArray):
10837        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithRequest):
10838        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
10839        (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
10840        (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
10841        * inspector/front-end/NetworkRequest.js:
10842        (WebInspector.NetworkRequest.prototype.get transferSize):
10843        (WebInspector.NetworkRequest.prototype.get requestHeaders):
10844        (WebInspector.NetworkRequest.prototype.get requestHeadersText):
10845        (WebInspector.NetworkRequest.prototype.get responseHeaders):
10846        (WebInspector.NetworkRequest.prototype.get responseHeadersText):
10847        (WebInspector.NetworkRequest.prototype._headerValue):
10848        * inspector/front-end/RequestHeadersView.js:
10849        (WebInspector.RequestHeadersView.prototype._refreshRequestHeaders):
10850        (WebInspector.RequestHeadersView.prototype._refreshResponseHeaders):
10851        (WebInspector.RequestHeadersView.prototype._refreshHeaders):
10852        * platform/chromium/support/WebHTTPLoadInfo.cpp:
10853        (WebKit::addHeader):
10854
108552012-05-14  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
10856
10857        [Gtk][DOM Bindings] Feature-protected interface usage in set/get property must be under condition guards
10858        https://bugs.webkit.org/show_bug.cgi?id=86060
10859
10860        Reviewed by Martin Robinson.
10861
10862        Property set/get functions generated was referencing WebCore::interface without any condition guard.
10863        This issue was triggered usually when an interface gets disabled; For instance; --disable-video, disables WebCore::HTMLMediaElement.
10864        Also updated the GObject binding reference tests
10865
10866        No new tests - covered by existing bindings tests
10867
10868        * bindings/scripts/CodeGeneratorGObject.pm:
10869        (GenerateProperties):
10870        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
10871        (webkit_dom_test_active_dom_object_get_property):
10872        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
10873        (webkit_dom_test_event_constructor_get_property):
10874        * bindings/scripts/test/GObject/WebKitDOMTestException.cpp:
10875        (webkit_dom_test_exception_get_property):
10876        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
10877        (webkit_dom_test_interface_set_property):
10878        (webkit_dom_test_interface_get_property):
10879        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
10880        (webkit_dom_test_obj_set_property):
10881        (webkit_dom_test_obj_get_property):
10882        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
10883        (webkit_dom_test_serialized_script_value_interface_get_property):
10884
108852012-05-14  Alexander Pavlov  <apavlov@chromium.org>
10886
10887        Web Inspector: [Styles] css properties copied into clipboard contain extra line breaks before color values
10888        https://bugs.webkit.org/show_bug.cgi?id=86372
10889
10890        Reviewed by Vsevolod Vlasov.
10891
10892        The "display: block" property found in the ".swatch-inner" CSS class was causing the issue
10893        (an additional \n was rendered in the plain text value).
10894
10895        * inspector/front-end/inspector.css:
10896        (.swatch-inner):
10897
108982012-05-14  Pavel Feldman  <pfeldman@chromium.org>
10899
10900        [Qt] REGRESSION (r116789): inspector/debugger/script-formatter-console.html fails
10901        https://bugs.webkit.org/show_bug.cgi?id=86336
10902
10903        Reviewed by Yury Semikhatsky.
10904
10905        * inspector/front-end/ConsoleMessage.js:
10906        (WebInspector.ConsoleMessageImpl.prototype.location):
10907
109082012-05-14  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
10909
10910        TiledBackingStore: Prevent partial tile updates when they intersect the keep rect.
10911        https://bugs.webkit.org/show_bug.cgi?id=85488
10912
10913        Reviewed by Kenneth Rohde Christiansen.
10914
10915        Right now an invalidate can cause problems for tiles on the boundary of the keep
10916        rect. Intersecting the dirty rect causes only part of the tile to be updated,
10917        and the glitch becomes visible if the user scrolls this tile back into the viewport.
10918
10919        * platform/graphics/TiledBackingStore.cpp:
10920        (WebCore::TiledBackingStore::invalidate):
10921
109222012-05-14  Alexander Pavlov  <apavlov@chromium.org>
10923
10924        Web Inspector: Esc should revert the colorpicker-modifed color to the original
10925        https://bugs.webkit.org/show_bug.cgi?id=86349
10926
10927        Reviewed by Vsevolod Vlasov.
10928
10929        A boolean parameter has been added to the Spectrum's hide() method to denote the picker cancellation,
10930        which gets passed into the "Hidden" event listeners. StylesSidebarPane is made to remember the original property value
10931        when the picker is opened, and restore it if the color picker is cancelled.
10932
10933        * inspector/front-end/Spectrum.js:
10934        (WebInspector.Spectrum):
10935        (WebInspector.Spectrum.prototype.toggle):
10936        (WebInspector.Spectrum.prototype.show):
10937        (WebInspector.Spectrum.prototype.hide):
10938        (WebInspector.Spectrum.prototype._onKeyDown):
10939        * inspector/front-end/StylesSidebarPane.js:
10940        (WebInspector.StylesSidebarPane.prototype.update):
10941        (WebInspector.StylesSidebarPane.prototype.willHide):
10942        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
10943
109442012-05-14  Zeno Albisser  <zeno@webkit.org>
10945
10946        [Qt] TextureMapperGL::drawTexture marked OVERRIDE but does not override any member function.
10947        https://bugs.webkit.org/show_bug.cgi?id=86347
10948
10949        This bug was introduced by r116834.
10950        TextureMapperGL implements two drawTexture functions.
10951        The first one takes a BitmapTexture as an argument and does override TextureMapper::drawTexture().
10952        The second one takes a texture id as an argument and does not override any member function.
10953
10954        * platform/graphics/texmap/TextureMapperGL.h:
10955
109562012-05-12  Pavel Feldman  <pfeldman@chromium.org>
10957
10958        Web Inspector: implement tabs reordering via drag'n'drop.
10959        https://bugs.webkit.org/show_bug.cgi?id=86294
10960
10961        Reviewed by Yury Semikhatsky.
10962
10963        * inspector/front-end/TabbedPane.js:
10964        (WebInspector.TabbedPaneTab.prototype._createTabElement):
10965        (WebInspector.TabbedPaneTab.prototype._tabClicked):
10966        (WebInspector.TabbedPaneTab.prototype._tabMouseDown):
10967        (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
10968        (WebInspector.TabbedPaneTab.prototype._tabMouseMove):
10969        (WebInspector.TabbedPaneTab.prototype._tabDragging):
10970        (WebInspector.TabbedPaneTab.prototype._endTabDragging):
10971
109722012-05-14  MORITA Hajime  <morrita@google.com>
10973
10974        Should have Node::inDetach() for assertion purposes.
10975        https://bugs.webkit.org/show_bug.cgi?id=86157
10976
10977        Reviewed by Darin Adler.
10978
10979        Implemented Node::inDetach() and added an assertio in Document::setFocusedNode().
10980        This is a follow up of r116644 which removes inDetach() checking.
10981
10982        No new tests. Just adding an asssertion.
10983
10984        * dom/Document.cpp:
10985        (WebCore::Document::setFocusedNode):
10986        * dom/Node.cpp:
10987        (WebCore):
10988        (WebCore::Node::inDetach):
10989        (WebCore::Node::detach):
10990        * dom/Node.h:
10991        (Node):
10992
109932012-05-13  Noel Gordon  <noel.gordon@gmail.com>
10994
10995        [chromium] Remove platform/image-decoders/xbm from WebCore.gyp
10996        https://bugs.webkit.org/show_bug.cgi?id=86333
10997
10998        Reviewed by Adam Barth.
10999
11000        No new tests. No change in behavior.
11001
11002        * WebCore.gyp/WebCore.gyp: Remove reference to platform/image-decoders/xbm
11003        since that directory was removed from the repository long ago.
11004
110052012-05-13  Darin Adler  <darin@apple.com>
11006
11007        [CG] Unneeded CFRetain/Release of CGImageRef in BitmapImage::draw
11008        https://bugs.webkit.org/show_bug.cgi?id=86332
11009
11010        Reviewed by Dan Bernstein.
11011
11012        * platform/graphics/cg/ImageCG.cpp:
11013        (WebCore::BitmapImage::draw): Don't use RetainPtr since the result of
11014        the function is used before anything could call CFRelease on it.
11015
110162012-05-13  Darin Adler  <darin@apple.com>
11017
11018        Listeners map uses raw pointers, but should use OwnPtr
11019        https://bugs.webkit.org/show_bug.cgi?id=86298
11020
11021        Reviewed by Dan Bernstein.
11022
11023        * bindings/js/PageScriptDebugServer.cpp:
11024        (WebCore::PageScriptDebugServer::~PageScriptDebugServer): Removed call
11025        to deleteAllValues since the destructor now takes care of this
11026        (WebCore::PageScriptDebugServer::addListener): Changed idiom of the add
11027        function call here to use adoptPtr.
11028        (WebCore::PageScriptDebugServer::removeListener): Added a now-needed
11029        call to get and removed a now-uneeeded call to delete.
11030        * bindings/js/PageScriptDebugServer.h: Changed the key type of
11031        PageListenersMap to OwnPtr.
11032
11033        * bindings/js/ScriptDebugServer.cpp:
11034        (WebCore::ScriptDebugServer::~ScriptDebugServer): Removed code to delete
11035        the values in m_pageListenersMap. This map was never used and so I have
11036        removed it.
11037        * bindings/js/ScriptDebugServer.h: Removed the type PageListenersMap
11038        and the unused data member, m_pageListenersMap.
11039
110402012-05-13  Yoshifumi Inoue  <yosin@chromium.org>
11041
11042        [Forms] Move ValidityState methods implementation to another place
11043        https://bugs.webkit.org/show_bug.cgi?id=86058
11044
11045        Reviewed by Kent Tamura.
11046
11047        This patch changes ValidityState class for limiting scope of
11048        number/range input type related methods for introducing decimal
11049        arithmetic.
11050
11051        Methods related to validation are moved from ValidateState to
11052        input, select and textarea elements with virtual method based
11053        dispatching via FormAssociateElement instead of tag name
11054        dispatching so far for code simplification.
11055
11056        No new tests. This patch doesn't change behavior.
11057
11058        * html/FormAssociatedElement.cpp:
11059        (WebCore::FormAssociatedElement::customError): Added. Called from ValidateState. Returns custom error mssage in member variable.
11060        (WebCore::FormAssociatedElement::patternMismatch): Added.  Called from ValidateState. This is default implementation.
11061        (WebCore::FormAssociatedElement::rangeOverflow): Added.  Called from ValidateState. This is default implementation.
11062        (WebCore::FormAssociatedElement::rangeUnderflow): Added.  Called from ValidateState. This is default implementation.
11063        (WebCore::FormAssociatedElement::stepMismatch): Added.  Called from ValidateState. This is default implementation.
11064        (WebCore::FormAssociatedElement::tooLong): Added.  Called from ValidateState. This is default implementation.
11065        (WebCore::FormAssociatedElement::typeMismatch): Added.  Called from ValidateState. This is default implementation.
11066        (WebCore::FormAssociatedElement::valid): Added.  Called from ValidateState. This is default implementation.
11067        (WebCore::FormAssociatedElement::valueMissing): Added.  Called from ValidateState. This is default implementation.
11068        (WebCore::FormAssociatedElement::customValidationMessage): Added.  Called from ValidateState. This is default implementation.
11069        (WebCore::FormAssociatedElement::validationMessage): Added.  Called from ValidateState. This is default implementation.
11070        (WebCore::FormAssociatedElement::setCustomValidity): Added.  set custom error message.
11071        * html/FormAssociatedElement.h:
11072        (FormAssociatedElement): Added new instance value m_customValidationMessage.
11073        * html/HTMLFormControlElement.cpp:
11074        (WebCore::HTMLFormControlElement::validationMessage): Removed. Note: HTMLInputElement, HTMLSelectElement, and HTMLTextAreaElement implement this method.
11075        (WebCore::HTMLFormControlElement::setCustomValidity): Changed. Calls base class setCustomValidity.
11076        * html/HTMLFormControlElement.h:
11077        (HTMLFormControlElement):
11078        * html/HTMLInputElement.cpp:
11079        (WebCore::HTMLInputElement::isValidValue): Call m_inputType methods instead of HTMLInputElement's.
11080        (WebCore::HTMLInputElement::tooLong): Call m_inputType methods instead of HTMLInputElement's.
11081        (WebCore):
11082        (WebCore::HTMLInputElement::typeMismatch): Move implementation to InputType.
11083        (WebCore::HTMLInputElement::valueMissing):  Move implementation to InputType.
11084        (WebCore::HTMLInputElement::patternMismatch): Move implementation to InputType.
11085        (WebCore::HTMLInputElement::rangeUnderflow): Move implementation to InputType.
11086        (WebCore::HTMLInputElement::rangeOverflow): Move implementation to InputType.
11087        (WebCore::HTMLInputElement::validationMessage): Move implementation to InputType.
11088        (WebCore::HTMLInputElement::stepMismatch): Move implementation to InputType.
11089        (WebCore::HTMLInputElement::isInRange): Call m_inputType methods instead of HTMLInputElement's.
11090        (WebCore::HTMLInputElement::isOutOfRange): Call m_inputType methods instead of HTMLInputElement's.
11091        * html/HTMLInputElement.h:
11092        (HTMLInputElement): Make tooLong method private.
11093        * html/HTMLObjectElement.h: Add "virtual" and "OVERRIDE".
11094        * html/HTMLSelectElement.cpp:
11095        (WebCore::HTMLSelectElement::validationMessage): Added. Implementation for HTMLSelectElement.
11096        (WebCore::HTMLSelectElement::valueMissing): Added. Implementation for HTMLSelectElement.
11097        * html/HTMLSelectElement.h:
11098        (HTMLSelectElement):  Added entries for newly added methods.
11099        * html/HTMLTextAreaElement.cpp:
11100        (WebCore::HTMLTextAreaElement::validationMessage): Added. Implementation for HTMLTextAreaElement.
11101        (WebCore::HTMLTextAreaElement::valueMissing): Added. Implementation for HTMLTextAreaElement.
11102        (WebCore::HTMLTextAreaElement::tooLong): Added. Implementation for HTMLTextAreaElement.
11103        * html/HTMLTextAreaElement.h:
11104        (HTMLTextAreaElement): Added entries for newly added methods. Change tooLong and valueMissing private.
11105        * html/InputType.cpp:
11106        (WebCore::InputType::stepMismatch): Change method signature.
11107        (WebCore::InputType::alignValueForStep):  Changed for calling InputClass instead of HTMLINputElement.
11108        (WebCore::InputType::stepUpFromRenderer):  Added. Moved from HTMLInputElement.
11109        (WebCore::InputType::validationMessage): Added.  Moved from HTMLInputElement.
11110        * html/InputType.h:
11111        (InputType): Added entries for newly added methods and update methods signature.
11112        * html/ValidityState.cpp: Move actual implementation to FormAssociatedElement and derived classes for localizing implementation change of elements and input types.
11113        (WebCore::ValidityState::validationMessage): Changed to call FormAssociatedElement's method.
11114        (WebCore::ValidityState::valueMissing): Changed to call FormAssociatedElement's method.
11115        (WebCore::ValidityState::typeMismatch): Changed to call FormAssociatedElement's method.
11116        (WebCore::ValidityState::patternMismatch): Changed to call FormAssociatedElement's method.
11117        (WebCore::ValidityState::tooLong): Changed to call FormAssociatedElement's method.
11118        (WebCore::ValidityState::rangeUnderflow): Changed to call FormAssociatedElement's method.
11119        (WebCore::ValidityState::rangeOverflow): Changed to call FormAssociatedElement's method.
11120        (WebCore::ValidityState::stepMismatch): Changed to call FormAssociatedElement's method.
11121        (WebCore::ValidityState::customError): Changed to call FormAssociatedElement's method.
11122        (WebCore::ValidityState::valid):
11123        * html/ValidityState.h:
11124        (ValidityState): Remove custom validation message related things.
11125
111262012-05-13  Mike Lawther  <mikelawther@chromium.org>
11127
11128        Heap-use-after-free in WTF::HashMap<int, WTF::RefPtr<WebCore::CalculationValue>, WTF::IntHash<unsigned int>, WTF::HashTrait
11129        https://bugs.webkit.org/show_bug.cgi?id=85195
11130
11131        This bug was caused by Length not understanding that calc expressions shouldn't be 
11132        blended - a Length with a calc expression handle was created without incrementing
11133        the ref count of the expression. Length no longer attempts to blend calc expressions,
11134        http://webkit.org/b/86160 has been filed to track expression blending. Fixing this fixed
11135        the crash.
11136
11137        Once this was fixed, the RenderStyle diff checker thought the style was changing,
11138        as Length didn't know how to compare calc expressions, resulting in an infinite
11139        loop of style recalcs. Expressions can now compare themselves.
11140
11141        Reviewed by Darin Adler.
11142
11143        Tests: css3/calc/transition-crash.html
11144               css3/calc/transition-crash2.html
11145
11146        * platform/CalculationValue.h:
11147        (WebCore::CalcExpressionNode::CalcExpressionNode):
11148        (CalcExpressionNode):
11149        (WebCore::CalcExpressionNode::type):
11150        (CalculationValue):
11151        (WebCore::CalculationValue::operator==):
11152        (WebCore::CalcExpressionNumber::CalcExpressionNumber):
11153        (WebCore::CalcExpressionNumber::operator==):
11154        (CalcExpressionNumber):
11155        (WebCore::CalcExpressionLength::CalcExpressionLength):
11156        (WebCore::CalcExpressionLength::operator==):
11157        (CalcExpressionLength):
11158        (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
11159        (WebCore::CalcExpressionBinaryOperation::operator==):
11160        (CalcExpressionBinaryOperation):
11161        * platform/Length.cpp:
11162        (WebCore::Length::isCalculatedEqual):
11163        (WebCore):
11164        * platform/Length.h:
11165        (WebCore::Length::operator==):
11166        (Length):
11167        (WebCore::Length::blend):
11168
111692012-05-13  Darin Adler  <darin@apple.com>
11170
11171        Roll out local changes accidentally landed in r116905.
11172
11173        * platform/graphics/GraphicsContext.h:
11174        * platform/graphics/cg/GraphicsContextCG.cpp:
11175        * platform/graphics/cg/ImageCG.cpp:
11176
111772012-05-13  Rob Buis  <rbuis@rim.com>
11178
11179        Use emptyString instead of String("")
11180        https://bugs.webkit.org/show_bug.cgi?id=86305
11181
11182        Reviewed by Darin Adler.
11183
11184        Use emptyString() instead of String("") because it is better style and faster.
11185
11186        No new tests. No change in behavior.
11187
11188        * Modules/webdatabase/AbstractDatabase.cpp:
11189        (WebCore::AbstractDatabase::performOpenAndVerify):
11190        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
11191        (WebCore::ThreadableWebSocketChannelClientWrapper::subprotocol):
11192        (WebCore::ThreadableWebSocketChannelClientWrapper::extensions):
11193        * html/HTMLInputElement.cpp:
11194        (WebCore::HTMLInputElement::setValueFromRenderer):
11195        * platform/SharedBufferChunkReader.cpp:
11196        (WebCore::SharedBufferChunkReader::nextChunkAsUTF8StringWithLatin1Fallback):
11197        * platform/network/curl/ResourceHandleManager.cpp:
11198        (WebCore::ResourceHandleManager::setProxyInfo):
11199        * platform/text/LocaleICU.cpp:
11200        (WebCore::LocaleICU::initializeLocalizedDateFormatText):
11201        * rendering/RenderQuote.cpp:
11202        (WebCore::RenderQuote::originalText):
11203        * storage/StorageNamespaceImpl.cpp:
11204        (WebCore::StorageNamespaceImpl::localStorageNamespace):
11205        * svg/SVGStringList.cpp:
11206        (WebCore::SVGStringList::reset):
11207
112082012-05-13  Darin Adler  <darin@apple.com>
11209
11210        Image::initPlatformData is always an empty function so we can remove it
11211        https://bugs.webkit.org/show_bug.cgi?id=86297
11212
11213        Reviewed by Dan Bernstein.
11214
11215        * platform/graphics/BitmapImage.h: Removed declaration of initPlatformData.
11216
11217        * platform/graphics/BitmapImage.cpp:
11218        (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
11219        * platform/graphics/cairo/BitmapImageCairo.cpp:
11220        (WebCore::BitmapImage::BitmapImage): Ditto.
11221        * platform/graphics/cg/ImageCG.cpp:
11222        (WebCore::BitmapImage::BitmapImage): Ditto.
11223        * platform/graphics/chromium/ImageChromiumMac.mm: Removed empty
11224        initPlatformData function.
11225        * platform/graphics/efl/ImageEfl.cpp: Ditto.
11226        * platform/graphics/gtk/ImageGtk.cpp:
11227        * platform/graphics/mac/ImageMac.mm:
11228        * platform/graphics/openvg/ImageOpenVG.cpp:
11229        (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
11230        Removed empty initPlatformData function.
11231        * platform/graphics/qt/ImageQt.cpp:
11232        (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
11233        Removed empty initPlatformData function.
11234        * platform/graphics/skia/ImageSkia.cpp: Removed empty initPlatformData function.
11235        * platform/graphics/win/ImageWin.cpp: Ditto.
11236        * platform/graphics/wx/ImageWx.cpp: Ditto.
11237        (WebCore::BitmapImage::BitmapImage): Removed call to initPlatformData.
11238
112392012-05-13  Darin Adler  <darin@apple.com>
11240
11241        RenderView::selectionBounds and RenderView::setSelection use maps with raw pointers that should be OwnPtr
11242        https://bugs.webkit.org/show_bug.cgi?id=86300
11243
11244        Reviewed by Eric Seidel.
11245
11246        * rendering/RenderView.cpp:
11247        (WebCore::RenderView::selectionBounds): Changed SelectionMap type to use OwnPtr.
11248        Added code to do adoptPtr as needed and removed explicit delete code.
11249        (WebCore::RenderView::setSelection): Changed SelectedBlockMap type to use OwnPtr.
11250        Added code to do adoptPtr as needed and removed explicit delete code.
11251
112522012-05-13  Darin Adler  <darin@apple.com>
11253
11254        FractionalLayoutUnit class has unneeded redundant uses of "inline" keyword
11255        https://bugs.webkit.org/show_bug.cgi?id=86301
11256
11257        Reviewed by Andreas Kling.
11258
11259        * platform/FractionalLayoutUnit.h: Removed uses of inline for functions
11260        defined inside a class definition. The C++ language defines that all such
11261        functions are treated as if specified with inline, and explicitly stating
11262        inline in addition does not add anything or change behavior.
11263
112642012-05-13  Darin Adler  <darin@apple.com>
11265
11266        Dangling node to ID maps vector uses raw pointers, but should use OwnPtr
11267        https://bugs.webkit.org/show_bug.cgi?id=86299
11268
11269        Reviewed by Pavel Feldman.
11270
11271        * inspector/InspectorDOMAgent.cpp:
11272        (WebCore::InspectorDOMAgent::releaseDanglingNodes): Removed now-unneeded call
11273        to deleteAllValues since the clear function now takes care of that.
11274        (WebCore::InspectorDOMAgent::pushNodePathToFrontend): Added code that uses
11275        adoptPtr and release as neeed to deal with a Vector<OwnPtr>.
11276        * inspector/InspectorDOMAgent.h: Changed m_danglingNodeToIdMaps to be
11277        Vector<OwnPtr> instead of a vector of raw pointers.
11278
112792012-05-13  Victor Carbune  <vcarbune@adobe.com>
11280
11281        Volume slider needs to be displayed below the mute button
11282        https://bugs.webkit.org/show_bug.cgi?id=85990
11283
11284        Reviewed by Dimitri Glazkov.
11285
11286        Added back code for rendering offset, but used only when the volume slider
11287        needs to be displayed below the controls.
11288
11289        Test: media/media-volume-slider-rendered-below.html
11290
11291        * css/mediaControlsChromium.css:
11292        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
11293        Changed positioning of the slider to absolute, otherwise it is not possible to position it from the layout() method.
11294        * css/mediaControlsQuickTime.css:
11295        Added back the double mute-button and changed the z-index of the original button. When the slider is displayed
11296        the second mute button is actually there.
11297        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
11298        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
11299        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
11300        Added copy.
11301        * html/shadow/MediaControlElements.cpp:
11302        (WebCore::MediaControlPanelElement::makeTransparent): Disabled the possible of hiding controls. WebVTT rendering
11303        in the place of controls when these are visible is not possible with the current code.
11304        (RenderMediaVolumeSliderContainer):
11305        (WebCore):
11306        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
11307        (WebCore::RenderMediaVolumeSliderContainer::layout):
11308        Checked if the absolute coordinates of the corner of the slider would be rendered outside the page. This part of the
11309        code is faulty if display:none is toggled on the controls.
11310        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
11311        * html/shadow/MediaControlElements.h:
11312        (MediaControlVolumeSliderContainerElement):
11313        * html/shadow/MediaControlRootElement.cpp:
11314        (WebCore::MediaControlRootElement::create):
11315
113162012-05-13  Igor Oliveira  <igor.o@sisa.samsung.com>
11317
11318        [Texmap] TextureMapperAnimations does not support keyframe with multiple animations
11319        https://bugs.webkit.org/show_bug.cgi?id=86303
11320
11321        Qt and GTK, in WebKit1, use TextureMapper to store AC animations using
11322        TextureMapperAnimations::add(keyframeName, TextureMapperAnimation). And when a 
11323        CSS animation animates several CSS properties, TextureMapperAnimations::add is
11324        called more than once with the same keyframeName value. However, currently,
11325        TextureMapperAnimations can not store more than one animated property in the keyframe
11326        because it is using HashMap<String, TextureMapperAnimation>, and WebKit HashMap 
11327        does not support add the same key twice.
11328
11329        Reviewed by Noam Rosenthal.
11330
11331        * platform/graphics/texmap/TextureMapperAnimation.cpp:
11332        (WebCore::TextureMapperAnimations::hasActiveAnimationsOfType):
11333        (WebCore::TextureMapperAnimations::hasRunningAnimations):
11334        (WebCore::TextureMapperAnimations::add):
11335        (WebCore):
11336        (WebCore::TextureMapperAnimations::pause):
11337        (WebCore::TextureMapperAnimations::apply):
11338        * platform/graphics/texmap/TextureMapperAnimation.h:
11339        (TextureMapperAnimations): Use HashMap<String, Vector<TextureMapperAnimation> >,
11340        so we can support an keyframe with multiple animations.
11341
113422012-05-12  Abhishek Arya  <inferno@chromium.org>
11343
11344        Crash in HTMLSelectElement::setOption
11345        https://bugs.webkit.org/show_bug.cgi?id=85420
11346
11347        Reviewed by Eric Seidel
11348        
11349        RefPtr before option in HTMLSelectElement::setOption since it
11350        can get destroyed due to mutation events.
11351
11352        Test: fast/dom/HTMLSelectElement/option-add-crash.html
11353
11354        * html/HTMLSelectElement.cpp:
11355        (WebCore::HTMLSelectElement::setOption):
11356
113572012-05-12  Robin Dunn  <robin@alldunn.com>
11358
11359        [wx] Restore text paste implementation.
11360        https://bugs.webkit.org/show_bug.cgi?id=86311
11361
11362        Reviewed by Kevin Ollivier.
11363
11364        * platform/wx/PasteboardWx.cpp:
11365        (WebCore::Pasteboard::plainText):
11366
113672012-05-12  Philip Rogers  <pdr@google.com>
11368
11369        Cleanup before changing attributeName in SVG <animate>
11370        https://bugs.webkit.org/show_bug.cgi?id=86100
11371
11372        Reviewed by Nikolas Zimmermann.
11373
11374        Changing attributeName caused a crash because references were not removed from the old target.
11375        This change simply cleans up before changing attributeName in SVG animation elements.
11376
11377        Test: svg/animations/dynamic-modify-attributename-crash.svg
11378
11379        * svg/animation/SVGSMILElement.cpp:
11380        (WebCore::SVGSMILElement::svgAttributeChanged):
11381
113822012-05-12  Max Feil  <mfeil@rim.com>
11383
11384        [BlackBerry] Allow the platform media player to determine the media element's paused/playing status
11385        https://bugs.webkit.org/show_bug.cgi?id=86235
11386
11387        Reviewed by George Staikos.
11388
11389        The platform media player needs to know when the HTMLMediaElement
11390        is not paused. This is to address problems when switching
11391        source element, which causes the destruction of the old
11392        MediaPlayerPrivate object and construction of a new one. The
11393        new one must resume playing ASAP if the old one was playing.
11394
11395        Test: media/media-continues-playing-after-replace-source.html
11396
11397        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
11398        (WebCore::MediaPlayerPrivate::isElementPaused):
11399        (WebCore):
11400        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
11401        (MediaPlayerPrivate):
11402
114032012-05-12  Yury Semikhatsky  <yurys@chromium.org>
11404
11405        Web Inspector: heap profiler should allow revealing an element which is logged to the console
11406        https://bugs.webkit.org/show_bug.cgi?id=86204
11407
11408        Reviewed by Pavel Feldman.
11409
11410        JS objects in the console have context menu item that allows to reveal them in a heap snapshot view.
11411
11412        * English.lproj/localizedStrings.js:
11413        * inspector/front-end/ConsoleMessage.js:
11414        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsObject):
11415        * inspector/front-end/ContextMenu.js:
11416        (WebInspector.ContextMenu.prototype.isEmpty):
11417        * inspector/front-end/DataGrid.js:
11418        (WebInspector.DataGridNode.prototype._detach):
11419        (WebInspector.DataGridNode.prototype.wasDetached):
11420        * inspector/front-end/HeapSnapshot.js:
11421        (WebInspector.HeapSnapshot.prototype.nodeClassName):
11422        (WebInspector.HeapSnapshotNodesProvider.prototype.nodePosition):
11423        * inspector/front-end/HeapSnapshotDataGrids.js:
11424        (WebInspector.HeapSnapshotSortableDataGrid):
11425        (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightObjectByHeapSnapshotId):
11426        (WebInspector.HeapSnapshotSortableDataGrid.prototype.highlightNode):
11427        (WebInspector.HeapSnapshotSortableDataGrid.prototype.nodeWasDetached):
11428        (WebInspector.HeapSnapshotSortableDataGrid.prototype._clearCurrentHighlight):
11429        (WebInspector.HeapSnapshotViewportDataGrid):
11430        (WebInspector.HeapSnapshotViewportDataGrid.prototype.highlightNode):
11431        (WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
11432        (WebInspector.HeapSnapshotConstructorsDataGrid):
11433        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.highlightObjectByHeapSnapshotId.didGetClassName):
11434        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.highlightObjectByHeapSnapshotId):
11435        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
11436        * inspector/front-end/HeapSnapshotGridNodes.js:
11437        (WebInspector.HeapSnapshotGridNode.prototype.wasDetached):
11438        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId):
11439        (WebInspector.HeapSnapshotConstructorNode.prototype.revealNodeBySnapshotObjectId.didPopulateChildren):
11440        * inspector/front-end/HeapSnapshotProxy.js:
11441        (WebInspector.HeapSnapshotProxy.prototype.nodeClassName):
11442        (WebInspector.HeapSnapshotProviderProxy.prototype.nodePosition):
11443        * inspector/front-end/ObjectPropertiesSection.js:
11444        (WebInspector.ObjectPropertiesSection.ContextMenuProvider):
11445        (WebInspector.ObjectPropertiesSection.ContextMenuProvider.prototype.populateContextMenu):
11446        (WebInspector.ObjectPropertiesSection.addContextMenuProvider):
11447        (WebInspector.ObjectPropertiesSection.prototype.enableContextMenu):
11448        (WebInspector.ObjectPropertiesSection.prototype._contextMenuEventFired):
11449        * inspector/front-end/ProfilesPanel.js:
11450        (WebInspector.ProfilesPanel.prototype.showObject):
11451        (WebInspector.RevealInHeapSnapshotContextMenuProvider):
11452        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.revealInSummaryView):
11453        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu.didReceiveHeapObjectId):
11454        (WebInspector.RevealInHeapSnapshotContextMenuProvider.prototype.populateContextMenu):
11455        * inspector/front-end/profilesPanel.css:
11456        (.highlighted-row):
11457        (@-webkit-keyframes row_highlight):
11458        (to):
11459
114602012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>
11461
11462        Web Inspector: move recording button state control out of addProfileHeader.
11463        https://bugs.webkit.org/show_bug.cgi?id=86293
11464
11465        Reviewed by Yury Semikhatsky.
11466
11467        * inspector/front-end/CSSSelectorProfileView.js:
11468        (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
11469        * inspector/front-end/HeapSnapshotView.js:
11470        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
11471        * inspector/front-end/ProfileView.js:
11472        (WebInspector.CPUProfileType.prototype.buttonClicked):
11473        * inspector/front-end/ProfilesPanel.js:
11474        (WebInspector.ProfileType.prototype.buttonClicked):
11475        (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
11476        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
11477        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
11478        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot.done):
11479        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
11480
114812012-05-12  Eugene Klyuchnikov  <eustas.bug@gmail.com>
11482
11483        Web Inspector: Turn HelpScreen to be View.
11484        https://bugs.webkit.org/show_bug.cgi?id=85711
11485
11486        Reviewed by Yury Semikhatsky.
11487
11488        Motivation: for further UI changes, HelpSceen needs to be View.
11489        It is planned to combine Settings Screen and Shortcuts Screen in one
11490        tabbed screen.
11491        Bonus: "helpScreen.css" will be lazy-loaded.
11492        Additional changes: move settingsScreen logic out of inspector.js
11493
11494        UI change, no test required.
11495
11496        * WebCore.gypi: Change "helpScreen.css" file group.
11497        * inspector/front-end/HelpScreen.js: 
11498        (WebInspector.HelpScreen): Turned to View subclass.
11499        (WebInspector.HelpScreen.prototype.showModal): Remove "onHide" param
11500        (WebInspector.HelpScreen.prototype.hide): Ditto.
11501        (WebInspector.HelpScreen.prototype._onKeyDown): Adopt View members.
11502        (WebInspector.HelpScreen.prototype._onBlur): Ditto.
11503        * inspector/front-end/SettingsScreen.js: Adopt new workflow.
11504        (WebInspector.SettingsScreen): Put onHide function to member
11505        (WebInspector.SettingsScreen.prototype.willHide): Invoke onHide
11506        (WebInspector.SettingsController): Mediator pattern - this class
11507        takes care of status bar button - settings screen relationship.
11508        (WebInspector.SettingsController.prototype.get statusBarItem):
11509        Getter fot representative element.
11510        (WebInspector.SettingsController.prototype._buttonClicked):
11511        Classifies user action.
11512        (WebInspector.SettingsController.prototype._onHideSettingsScreen):
11513        Cleanup after settings screen is hidden.
11514        (WebInspector.SettingsController.prototype._showSettingsScreen):
11515        Presents settings screen.
11516        (WebInspector.SettingsController.prototype._hideSettingsScreen):
11517        Hides settings screen.
11518        * inspector/front-end/ShortcutsScreen.js: Adopt new workflow.
11519        (WebInspector.ShortcutsScreen.prototype.wasShown): Lazy initialization.
11520        * inspector/front-end/WorkerManager.js: Adopt new workflow.
11521        (WebInspector.WorkerManager.prototype._disconnectedFromWorker): Ditto.
11522        (WebInspector.WorkerTerminatedScreen.prototype.willHide): Ditto.
11523        * inspector/front-end/helpScreen.css: Fix spacing.
11524        (.help-window-outer): Ditto.
11525        (body.compact .help-window-outer): Ditto.
11526        (body.compact .help-window-main): Ditto.
11527        (body.compact .help-window-caption): Ditto.
11528        (.help-content): Ditto.
11529        (body.compact .help-content): Ditto.
11530        (.help-content select): Ditto.
11531        * inspector/front-end/inspector.html: Ditto.
11532        * inspector/front-end/inspector.js: Ditto.
11533        (WebInspector._createGlobalStatusBarItems): Create SettingsController.
11534        (WebInspector.documentKeyDown): Adopt new workflow.
11535
115362012-05-12  Pavel Feldman  <pfeldman@chromium.org>
11537
11538        Web Inspector: add tab context menu
11539        https://bugs.webkit.org/show_bug.cgi?id=86292
11540
11541        Reviewed by Yury Semikhatsky.
11542
11543        This tab context menu will have "Close", "Close Others" and "Close All".
11544
11545        * English.lproj/localizedStrings.js:
11546        * inspector/front-end/TabbedPane.js:
11547        (WebInspector.TabbedPane.prototype.closeOtherTabs):
11548        (WebInspector.TabbedPaneTab.prototype._createTabElement):
11549        (WebInspector.TabbedPaneTab.prototype._tabClicked):
11550        (WebInspector.TabbedPaneTab.prototype._tabContextMenu):
11551        (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeOthers):
11552        (WebInspector.TabbedPaneTab.prototype._tabContextMenu.closeAll):
11553
115542012-05-12  Pavel Feldman  <pfeldman@chromium.org>
11555
11556        Web Inspector: make call frame selector pane focusable, allow Up / Down to select current call frame.
11557        https://bugs.webkit.org/show_bug.cgi?id=86291
11558
11559        Reviewed by Yury Semikhatsky.
11560
11561        This change makes sidebar section focusable, introduces key listeners for Up and Down.
11562
11563        * inspector/front-end/CallStackSidebarPane.js:
11564        (WebInspector.CallStackSidebarPane):
11565        (WebInspector.CallStackSidebarPane.prototype.setStatus):
11566        (WebInspector.CallStackSidebarPane.prototype._treeKeyDown):
11567        * inspector/front-end/UISourceCode.js:
11568        * inspector/front-end/scriptsPanel.css:
11569        (#scripts-debug-toolbar img):
11570
115712012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>
11572
11573        Web Inspector: unreviewed one line fix.
11574
11575        * inspector/front-end/HeapSnapshotProxy.js:
11576        (WebInspector.HeapSnapshotWorker):
11577
115782012-05-12  Ilya Tikhonovsky  <loislo@chromium.org>
11579
11580        Web Inspector: Load context menu item has to be shown for all Profiles panel.
11581        https://bugs.webkit.org/show_bug.cgi?id=86290
11582
11583        Reviewed by Pavel Feldman.
11584
11585        * inspector/front-end/ProfilesPanel.js:
11586        (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
11587
115882012-05-12  Pavel Feldman  <pfeldman@chromium.org>
11589
11590        Web Inspector: shrink SourceFrame editing API to two methods (was 4).
11591        https://bugs.webkit.org/show_bug.cgi?id=86288
11592
11593        Reviewed by Yury Semikhatsky.
11594
11595        Used specific workflow in two SourceFrame implementations.
11596
11597        * inspector/front-end/JavaScriptSourceFrame.js:
11598        (WebInspector.JavaScriptSourceFrame.prototype.commitEditing):
11599        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
11600        (WebInspector.JavaScriptSourceFrame.prototype._didEditContent):
11601        * inspector/front-end/ResourceView.js:
11602        (WebInspector.EditableResourceSourceFrame.prototype.commitEditing.callbackWrapper):
11603        (WebInspector.EditableResourceSourceFrame.prototype.commitEditing):
11604        * inspector/front-end/SourceFrame.js:
11605        (WebInspector.SourceFrame.prototype.commitEditing):
11606        (WebInspector.TextViewerDelegateForSourceFrame.prototype.commitEditing):
11607
116082012-05-11  Yury Semikhatsky  <yurys@chromium.org>
11609
11610        Web Inspector: allow showing arbitrary range of nodes in heap snapshot view
11611        https://bugs.webkit.org/show_bug.cgi?id=86230
11612
11613        Reviewed by Pavel Feldman.
11614
11615        Test: inspector/profiler/heap-snapshot-summary-show-ranges.html
11616
11617        It was only possible to expand heap snapshot node children sequentially starting
11618        from the first child and then pressing either "Show next X items" or "Show all X items".
11619        This change makes it possible to show any range of children.
11620
11621        * inspector/front-end/HeapSnapshot.js:
11622        (WebInspector.HeapSnapshotFilteredOrderedIterator):
11623        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.serializeItemsRange):
11624        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAll):
11625        (WebInspector.HeapSnapshotFilteredOrderedIterator.prototype.sortAndRewind):
11626        (WebInspector.HeapSnapshotEdgesProvider.prototype.serializeItem):
11627        (WebInspector.HeapSnapshotNodesProvider.prototype.serializeItem):
11628        * inspector/front-end/HeapSnapshotGridNodes.js:
11629        (WebInspector.HeapSnapshotGridNode):
11630        (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
11631        (WebInspector.HeapSnapshotGridNode.prototype._populate):
11632        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.serializeNextChunk):
11633        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.insertRetrievedChild):
11634        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.insertShowMoreButton):
11635        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren.childrenRetrieved):
11636        (WebInspector.HeapSnapshotGridNode.prototype._populateChildren):
11637        (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
11638        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
11639        (WebInspector.HeapSnapshotGridNode.prototype.sort):
11640        (WebInspector.HeapSnapshotDiffNodesProvider):
11641        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange):
11642        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange.didReceiveDeletedItems):
11643        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeItemsRange.didReceiveAddedItems):
11644        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind):
11645        * inspector/front-end/HeapSnapshotProxy.js:
11646        (WebInspector.HeapSnapshotWorker):
11647        (WebInspector.HeapSnapshotProviderProxy.prototype.serializeItemsRange):
11648        * inspector/front-end/ShowMoreDataGridNode.js:
11649        (WebInspector.ShowMoreDataGridNode):
11650        (WebInspector.ShowMoreDataGridNode.prototype._showNextChunk):
11651        (WebInspector.ShowMoreDataGridNode.prototype._showAll):
11652        (WebInspector.ShowMoreDataGridNode.prototype._updateLabels):
11653        (WebInspector.ShowMoreDataGridNode.prototype.setStartPosition):
11654        (WebInspector.ShowMoreDataGridNode.prototype.setEndPosition):
11655        * inspector/front-end/utilities.js:
11656
116572012-05-12  Pavel Feldman  <pfeldman@chromium.org>
11658
11659        Web Inspector: remove UISourceCode.id since it is no longer used.
11660        https://bugs.webkit.org/show_bug.cgi?id=86286
11661
11662        Reviewed by Vsevolod Vlasov.
11663
11664        We are now using breakpointStorageId property for breakpoint persistence.
11665
11666        * inspector/front-end/BreakpointManager.js:
11667        (WebInspector.BreakpointManager):
11668        (WebInspector.BreakpointManager.prototype._debuggerReset):
11669        (WebInspector.BreakpointManager.prototype._uiLocationAdded.get if):
11670        (WebInspector.BreakpointManager.prototype._uiLocationAdded):
11671        (WebInspector.BreakpointManager.prototype._uiLocationRemoved.get if):
11672        (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
11673        * inspector/front-end/CompilerScriptMapping.js:
11674        * inspector/front-end/JavaScriptSource.js:
11675        (WebInspector.JavaScriptSource):
11676        * inspector/front-end/RawSourceCode.js:
11677        (WebInspector.RawSourceCode):
11678        (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
11679        (WebInspector.RawSourceCode.prototype._createUISourceCode):
11680        (WebInspector.RawSourceCode.prototype._finishedLoading):
11681        * inspector/front-end/SnippetsModel.js:
11682        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
11683        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
11684        * inspector/front-end/UISourceCode.js:
11685        (WebInspector.UISourceCode):
11686
116872012-05-12  Pavel Feldman  <pfeldman@chromium.org>
11688
11689        Web Inspector: merge MainScriptMapping into DebuggerPresentationModel; move other classes into their own files.
11690        https://bugs.webkit.org/show_bug.cgi?id=86285
11691
11692        Reviewed by Yury Semikhatsky.
11693
11694        The only purpose of the debugger presentation model now is to manage mappings. Merging main script mapping back into it.
11695        Other classes defined in that class are moved out into their own files.
11696
11697        * WebCore.gypi:
11698        * WebCore.vcproj/WebCore.vcproj:
11699        * inspector/compile-front-end.py:
11700        * inspector/front-end/DebuggerPresentationModel.js:
11701        (WebInspector.DebuggerPresentationModel):
11702        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
11703        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
11704        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
11705        * inspector/front-end/DebuggerResourceBinding.js: Added.
11706        (WebInspector.DebuggerResourceBinding):
11707        (WebInspector.DebuggerResourceBinding.canEditScriptSource):
11708        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
11709        (WebInspector.DebuggerResourceBinding.setScriptSource):
11710        (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
11711        (WebInspector.DebuggerResourceBinding.prototype.setContent):
11712        (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
11713        (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
11714        * inspector/front-end/PresentationConsoleMessageHelper.js: Added.
11715        (WebInspector.PresentationConsoleMessageHelper):
11716        (WebInspector.PresentationConsoleMessageHelper.prototype._consoleMessageAdded):
11717        (WebInspector.PresentationConsoleMessageHelper.prototype._addConsoleMessageToScript):
11718        (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
11719        (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
11720        (WebInspector.PresentationConsoleMessageHelper.prototype._consoleCleared):
11721        (WebInspector.PresentationConsoleMessageHelper.prototype._debuggerReset):
11722        (WebInspector.PresentationConsoleMessage):
11723        (WebInspector.PresentationConsoleMessage.prototype._updateLocation):
11724        (WebInspector.PresentationConsoleMessage.prototype.get lineNumber):
11725        (WebInspector.PresentationConsoleMessage.prototype.dispose):
11726        * inspector/front-end/ScriptMapping.js:
11727        * inspector/front-end/ScriptsPanel.js:
11728        * inspector/front-end/WebKit.qrc:
11729        * inspector/front-end/inspector.html:
11730        * inspector/front-end/inspector.js:
11731
117322012-05-12  Mike West  <mkwst@chromium.org>
11733
11734        Cleanup ContentSecurityPolicy naming conventions.
11735        https://bugs.webkit.org/show_bug.cgi?id=86282
11736
11737        Reviewed by Adam Barth.
11738
11739        Two tiny changes:
11740        
11741        1. `reportURI` and `reportURL` are both used within the CSP
11742           implementation. We should standardize on `reportURI` to match the
11743           spec.
11744        
11745        2. Renames `ContentSecurityPolicy::allowConnectFromSource` to
11746           `ContentSecurityPolicy::allowConnectToSource` for clarity.
11747
11748        No new tests, as there's no user-visible change.
11749
11750        * Modules/websockets/WebSocket.cpp:
11751        (WebCore::WebSocket::connect):
11752        * page/ContentSecurityPolicy.cpp:
11753        (CSPDirectiveList):
11754        (WebCore::CSPDirectiveList::reportViolation):
11755        (WebCore::CSPDirectiveList::allowConnectToSource):
11756        (WebCore::CSPDirectiveList::parseReportURI):
11757        (WebCore::CSPDirectiveList::addDirective):
11758        (WebCore::ContentSecurityPolicy::allowConnectToSource):
11759        * page/ContentSecurityPolicy.h:
11760        * page/EventSource.cpp:
11761        (WebCore::EventSource::create):
11762        * xml/XMLHttpRequest.cpp:
11763        (WebCore::XMLHttpRequest::open):
11764
117652012-05-11  Mark Pilgrim  <pilgrim@chromium.org>
11766
11767        [Chromium] Call isLinkVisited directly
11768        https://bugs.webkit.org/show_bug.cgi?id=85412
11769
11770        Reviewed by Adam Barth.
11771
11772        Part of a refactoring series. See tracking bug 82948.
11773
11774        * CMakeLists.txt:
11775        * GNUmakefile.list.am:
11776        * Target.pri:
11777        * WebCore.gypi:
11778        * WebCore.vcproj/WebCore.vcproj:
11779        * WebCore.xcodeproj/project.pbxproj:
11780        * page/PageGroup.cpp:
11781        (WebCore::PageGroup::isLinkVisited):
11782        * platform/VisitedLinks.cpp: Added.
11783        (WebCore):
11784        (WebCore::VisitedLinks::isLinkVisited):
11785        * platform/VisitedLinks.h: Added.
11786        (WebCore):
11787        (VisitedLinks):
11788        * platform/chromium/PlatformSupport.h:
11789        * platform/chromium/VisitedLinksChromium.cpp: Added.
11790        (WebCore):
11791        (WebCore::VisitedLinks::isLinkVisited):
11792
117932012-05-11  Martin Robinson  <mrobinson@igalia.com>
11794
11795        [TextureMapper] Tiles are not created for large textures
11796        https://bugs.webkit.org/show_bug.cgi?id=86245
11797
11798        Reviewed by Noam Rosenthal.
11799
11800        No new tests. This will not produce any observable behavior changes,
11801        unless run on a machine with a small texture size limit.
11802
11803        The maxTextureSize() method on TextureMapperGL was missing a "const"
11804        keyword, meaning that it was not properly overriding the version in
11805        the abstract base class (TextureMapper). This patch adds the const
11806        modifier and cleans up the list of override methods in the two 
11807        TextureMapper sublcasses, adding the OVERRIDE macro for compilers that
11808        support it and removing a couple unused methods.
11809
11810        * platform/graphics/texmap/TextureMapperGL.cpp:
11811        * platform/graphics/texmap/TextureMapperGL.h:
11812        (WebCore::TextureMapperGL::create):
11813        * platform/graphics/texmap/TextureMapperImageBuffer.h:
11814        (TextureMapperImageBuffer):
11815
118162012-05-11  Adrienne Walker  <enne@google.com>
11817
11818        [chromium] Prevent deadlock on CCVideoLayerImpl destruction
11819        https://bugs.webkit.org/show_bug.cgi?id=86258
11820
11821        Reviewed by James Robinson.
11822
11823        ~CCVideoLayerImpl had a common deadlock issue where if it got
11824        destroyed before WebMediaPlayerClientImpl, it would take a lock,
11825        call WebMediaPlayerClientImpl::setVideoFrameProviderClient(0),
11826        which in turn would call CCVideoLayerImpl::stopUsingProvider(),
11827        which would try to take the same lock and would deadlock.
11828
11829        CCVideoLayerImpl is only created and destroyed during tree
11830        synchronization in a commit or during synchronous compositor thread
11831        destruction. In either case, the main thread is blocked, and so no
11832        lock needs to be taken at all.
11833
11834        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
11835        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
11836        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
11837        (WebCore::CCVideoLayerImpl::stopUsingProvider):
11838
118392012-05-11  Jeffrey Pfau  <jpfau@apple.com>
11840
11841        REGRESSION (r114170): Scroll areas in nested frames improperly placed when tiled drawing is enabled
11842        https://bugs.webkit.org/show_bug.cgi?id=86239
11843
11844        Reviewed by Anders Carlsson.
11845
11846        Fixes a regression introduced in r114170 by recursively adding positions of parent frames to placement of nested frame scroll areas.
11847
11848        Manual tests: ManualTests/scrollable-positioned-frame.html
11849                      ManualTests/scrollable-positioned-nested-frame.html
11850
11851        * page/scrolling/ScrollingCoordinator.cpp:
11852        (WebCore::computeNonFastScrollableRegion):
11853        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
11854
118552012-05-11  Beth Dakin  <bdakin@apple.com>
11856
11857        https://bugs.webkit.org/show_bug.cgi?id=86278
11858        Composited layers should only run the overlay scrollbars painting pass 
11859        if necessary
11860
11861        Reviewed by Dan Bernstein.
11862
11863        It's not enough that the rootLayer has dirty scrollbars; we also have 
11864        to actually be doing the overlay scrollbars painting pass to skip the 
11865        early return.
11866        * rendering/RenderLayer.cpp:
11867        (WebCore::RenderLayer::paintLayer):
11868
118692012-05-11  Anders Carlsson  <andersca@apple.com>
11870
11871        Comcast website displays bottom of page when loaded
11872        https://bugs.webkit.org/show_bug.cgi?id=86277
11873        <rdar://problem/11426887>
11874
11875        Reviewed by Beth Dakin.
11876
11877        There were two bugs here. The first bug was that FrameView::setScrollPosition didn't end up calling into the scrolling coordinator
11878        to update the scroll position. The second bug was that ScrollingTreeNodeMac::setScrollPosition didn't constrain the scroll position
11879        to the edge of the page.
11880
11881        * page/FrameView.cpp:
11882        (WebCore::FrameView::setScrollPosition):
11883        Call requestScrollPositionUpdate.
11884
11885        * page/scrolling/ScrollingTree.cpp:
11886        * page/scrolling/ScrollingTree.h:
11887        Remove setMainFrameScrollPosition, it is not called by anyone.
11888
11889        * page/scrolling/mac/ScrollingTreeNodeMac.h:
11890        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
11891        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
11892        Clamp to the page size and call setScrollPositionWithoutContentEdgeConstraints.
11893
11894        (WebCore::ScrollingTreeNodeMac::setScrollPositionWithoutContentEdgeConstraints):
11895        Update the scroll layer position and call back to the main thread.
11896
11897        (WebCore::ScrollingTreeNodeMac::scrollBy):
11898        Call setScrollPosition.
11899
11900        (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
11901        Call setScrollPositionWithoutContentEdgeConstraints.
11902
119032012-05-11  Gavin Barraclough  <barraclough@apple.com>
11904
11905        Introduce PropertyName class
11906        https://bugs.webkit.org/show_bug.cgi?id=86241
11907
11908        Reviewed by Geoff Garen.
11909
11910        Replace 'const Identifier&' arguments to functions accessing object properties with a new 'PropertyName' type.
11911        This change paves the way to allow for properties keyed by values that are not Identifiers.
11912
11913        This change is largely a mechanical find & replace.
11914        It also changes JSFunction's constructor to take a UString& instead of an Identifier&
11915        (since in some cases we can no longer guarantee that we'lll have an Identifier), and
11916        unifies Identifier's methods to obtain array indices onto PropertyName.
11917
11918        The new PropertyName class retains the ability to support .impl() and .ustring(), but
11919        in a future patch we may need to rework this, since not all PropertyNames should be
11920        equal based on their string representation.
11921
11922        * WebCore.exp.in:
11923        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
11924        (WebCore::cssPropertyIDForJSCSSPropertyName):
11925        (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
11926        (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
11927        (WebCore::JSCSSStyleDeclaration::putDelegate):
11928        * bindings/js/JSDOMBinding.cpp:
11929        (WebCore::findAtomicString):
11930        (WebCore::objectToStringFunctionGetter):
11931        * bindings/js/JSDOMBinding.h:
11932        (WebCore):
11933        (WebCore::propertyNameToString):
11934        (WebCore::propertyNameToAtomicString):
11935        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
11936        (WebCore::JSDOMMimeTypeArray::canGetItemsForName):
11937        (WebCore::JSDOMMimeTypeArray::nameGetter):
11938        * bindings/js/JSDOMPluginArrayCustom.cpp:
11939        (WebCore::JSDOMPluginArray::canGetItemsForName):
11940        (WebCore::JSDOMPluginArray::nameGetter):
11941        * bindings/js/JSDOMPluginCustom.cpp:
11942        (WebCore::JSDOMPlugin::canGetItemsForName):
11943        (WebCore::JSDOMPlugin::nameGetter):
11944        * bindings/js/JSDOMStringMapCustom.cpp:
11945        (WebCore::JSDOMStringMap::canGetItemsForName):
11946        (WebCore::JSDOMStringMap::nameGetter):
11947        (WebCore::JSDOMStringMap::deleteProperty):
11948        (WebCore::JSDOMStringMap::putDelegate):
11949        * bindings/js/JSDOMWindowCustom.cpp:
11950        (WebCore::nonCachingStaticFunctionGetter):
11951        (WebCore::childFrameGetter):
11952        (WebCore::namedItemGetter):
11953        (WebCore::JSDOMWindow::getOwnPropertySlot):
11954        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
11955        (WebCore::JSDOMWindow::put):
11956        (WebCore::JSDOMWindow::deleteProperty):
11957        (WebCore::JSDOMWindow::defineOwnProperty):
11958        * bindings/js/JSDOMWindowShell.cpp:
11959        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
11960        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
11961        (WebCore::JSDOMWindowShell::put):
11962        (WebCore::JSDOMWindowShell::putDirectVirtual):
11963        (WebCore::JSDOMWindowShell::defineOwnProperty):
11964        (WebCore::JSDOMWindowShell::deleteProperty):
11965        * bindings/js/JSDOMWindowShell.h:
11966        (JSDOMWindowShell):
11967        * bindings/js/JSHTMLAllCollectionCustom.cpp:
11968        (WebCore::getNamedItems):
11969        (WebCore::callHTMLAllCollection):
11970        (WebCore::JSHTMLAllCollection::canGetItemsForName):
11971        (WebCore::JSHTMLAllCollection::nameGetter):
11972        (WebCore::JSHTMLAllCollection::item):
11973        * bindings/js/JSHTMLAppletElementCustom.cpp:
11974        (WebCore::JSHTMLAppletElement::getOwnPropertySlotDelegate):
11975        (WebCore::JSHTMLAppletElement::getOwnPropertyDescriptorDelegate):
11976        (WebCore::JSHTMLAppletElement::putDelegate):
11977        * bindings/js/JSHTMLCollectionCustom.cpp:
11978        (WebCore::getNamedItems):
11979        (WebCore::JSHTMLCollection::canGetItemsForName):
11980        (WebCore::JSHTMLCollection::nameGetter):
11981        * bindings/js/JSHTMLDocumentCustom.cpp:
11982        (WebCore::JSHTMLDocument::canGetItemsForName):
11983        (WebCore::JSHTMLDocument::nameGetter):
11984        * bindings/js/JSHTMLEmbedElementCustom.cpp:
11985        (WebCore::JSHTMLEmbedElement::getOwnPropertySlotDelegate):
11986        (WebCore::JSHTMLEmbedElement::getOwnPropertyDescriptorDelegate):
11987        (WebCore::JSHTMLEmbedElement::putDelegate):
11988        * bindings/js/JSHTMLFormElementCustom.cpp:
11989        (WebCore::JSHTMLFormElement::canGetItemsForName):
11990        (WebCore::JSHTMLFormElement::nameGetter):
11991        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
11992        (WebCore::JSHTMLFrameSetElement::canGetItemsForName):
11993        (WebCore::JSHTMLFrameSetElement::nameGetter):
11994        * bindings/js/JSHTMLObjectElementCustom.cpp:
11995        (WebCore::JSHTMLObjectElement::getOwnPropertySlotDelegate):
11996        (WebCore::JSHTMLObjectElement::getOwnPropertyDescriptorDelegate):
11997        (WebCore::JSHTMLObjectElement::putDelegate):
11998        * bindings/js/JSHistoryCustom.cpp:
11999        (WebCore::nonCachingStaticBackFunctionGetter):
12000        (WebCore::nonCachingStaticForwardFunctionGetter):
12001        (WebCore::nonCachingStaticGoFunctionGetter):
12002        (WebCore::JSHistory::getOwnPropertySlotDelegate):
12003        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
12004        (WebCore::JSHistory::putDelegate):
12005        (WebCore::JSHistory::deleteProperty):
12006        * bindings/js/JSLocationCustom.cpp:
12007        (WebCore::nonCachingStaticReplaceFunctionGetter):
12008        (WebCore::nonCachingStaticReloadFunctionGetter):
12009        (WebCore::nonCachingStaticAssignFunctionGetter):
12010        (WebCore::JSLocation::getOwnPropertySlotDelegate):
12011        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
12012        (WebCore::JSLocation::putDelegate):
12013        (WebCore::JSLocation::deleteProperty):
12014        (WebCore::JSLocation::defineOwnProperty):
12015        (WebCore::JSLocationPrototype::putDelegate):
12016        (WebCore::JSLocationPrototype::defineOwnProperty):
12017        * bindings/js/JSNamedNodeMapCustom.cpp:
12018        (WebCore::JSNamedNodeMap::canGetItemsForName):
12019        (WebCore::JSNamedNodeMap::nameGetter):
12020        * bindings/js/JSNodeListCustom.cpp:
12021        (WebCore::JSNodeList::canGetItemsForName):
12022        (WebCore::JSNodeList::nameGetter):
12023        * bindings/js/JSPluginElementFunctions.cpp:
12024        (WebCore::runtimeObjectPropertyGetter):
12025        (WebCore::runtimeObjectCustomGetOwnPropertySlot):
12026        (WebCore::runtimeObjectCustomGetOwnPropertyDescriptor):
12027        (WebCore::runtimeObjectCustomPut):
12028        * bindings/js/JSPluginElementFunctions.h:
12029        (WebCore):
12030        * bindings/js/JSStorageCustom.cpp:
12031        (WebCore::JSStorage::canGetItemsForName):
12032        (WebCore::JSStorage::nameGetter):
12033        (WebCore::JSStorage::deleteProperty):
12034        (WebCore::JSStorage::putDelegate):
12035        * bindings/js/JSStyleSheetListCustom.cpp:
12036        (WebCore::JSStyleSheetList::canGetItemsForName):
12037        (WebCore::JSStyleSheetList::nameGetter):
12038        * bindings/js/JSWorkerContextCustom.cpp:
12039        (WebCore::JSWorkerContext::getOwnPropertySlotDelegate):
12040        (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
12041        * bindings/scripts/CodeGeneratorJS.pm:
12042        (GenerateGetOwnPropertySlotBody):
12043        (GenerateGetOwnPropertyDescriptorBody):
12044        (GenerateHeader):
12045        (GenerateImplementation):
12046        (GenerateConstructorDeclaration):
12047        (GenerateConstructorDefinition):
12048        * bridge/c/c_class.cpp:
12049        (JSC::Bindings::CClass::methodsNamed):
12050        (JSC::Bindings::CClass::fieldNamed):
12051        * bridge/c/c_class.h:
12052        (CClass):
12053        * bridge/c/c_instance.cpp:
12054        (JSC::Bindings::CRuntimeMethod::create):
12055        (JSC::Bindings::CRuntimeMethod::finishCreation):
12056        (JSC::Bindings::CInstance::getMethod):
12057        * bridge/c/c_instance.h:
12058        (CInstance):
12059        * bridge/jni/jsc/JavaClassJSC.cpp:
12060        (JavaClass::methodsNamed):
12061        (JavaClass::fieldNamed):
12062        * bridge/jni/jsc/JavaClassJSC.h:
12063        (JavaClass):
12064        * bridge/jni/jsc/JavaInstanceJSC.cpp:
12065        (JavaRuntimeMethod::create):
12066        (JavaRuntimeMethod::finishCreation):
12067        * bridge/jni/jsc/JavaInstanceJSC.h:
12068        (JavaInstance):
12069        * bridge/jsc/BridgeJSC.h:
12070        (Class):
12071        (JSC::Bindings::Class::fallbackObject):
12072        (JSC::Bindings::Instance::setValueOfUndefinedField):
12073        (Instance):
12074        (JSC::Bindings::Instance::getOwnPropertySlot):
12075        (JSC::Bindings::Instance::getOwnPropertyDescriptor):
12076        (JSC::Bindings::Instance::put):
12077        * bridge/objc/objc_class.h:
12078        (ObjcClass):
12079        * bridge/objc/objc_class.mm:
12080        (JSC::Bindings::ObjcClass::methodsNamed):
12081        (JSC::Bindings::ObjcClass::fieldNamed):
12082        (JSC::Bindings::ObjcClass::fallbackObject):
12083        * bridge/objc/objc_instance.h:
12084        (ObjcInstance):
12085        * bridge/objc/objc_instance.mm:
12086        (ObjCRuntimeMethod::create):
12087        (ObjCRuntimeMethod::finishCreation):
12088        (ObjcInstance::setValueOfUndefinedField):
12089        (ObjcInstance::getValueOfUndefinedField):
12090        * bridge/objc/objc_runtime.h:
12091        (JSC::Bindings::ObjcFallbackObjectImp::create):
12092        (JSC::Bindings::ObjcFallbackObjectImp::propertyName):
12093        (ObjcFallbackObjectImp):
12094        * bridge/objc/objc_runtime.mm:
12095        (JSC::Bindings::ObjcFallbackObjectImp::ObjcFallbackObjectImp):
12096        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertySlot):
12097        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
12098        (JSC::Bindings::ObjcFallbackObjectImp::put):
12099        (JSC::Bindings::callObjCFallbackObject):
12100        (JSC::Bindings::ObjcFallbackObjectImp::deleteProperty):
12101        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
12102        * bridge/runtime_array.cpp:
12103        (JSC::RuntimeArray::lengthGetter):
12104        (JSC::RuntimeArray::getOwnPropertySlot):
12105        (JSC::RuntimeArray::getOwnPropertyDescriptor):
12106        (JSC::RuntimeArray::put):
12107        (JSC::RuntimeArray::deleteProperty):
12108        * bridge/runtime_array.h:
12109        (RuntimeArray):
12110        * bridge/runtime_method.cpp:
12111        (JSC::RuntimeMethod::finishCreation):
12112        (JSC::RuntimeMethod::lengthGetter):
12113        (JSC::RuntimeMethod::getOwnPropertySlot):
12114        (JSC::RuntimeMethod::getOwnPropertyDescriptor):
12115        * bridge/runtime_method.h:
12116        (JSC::RuntimeMethod::create):
12117        (RuntimeMethod):
12118        * bridge/runtime_object.cpp:
12119        (JSC::Bindings::RuntimeObject::fallbackObjectGetter):
12120        (JSC::Bindings::RuntimeObject::fieldGetter):
12121        (JSC::Bindings::RuntimeObject::methodGetter):
12122        (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
12123        (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
12124        (JSC::Bindings::RuntimeObject::put):
12125        (JSC::Bindings::RuntimeObject::deleteProperty):
12126        * bridge/runtime_object.h:
12127        (RuntimeObject):
12128
121292012-05-11  David Barton  <dbarton@mathscribe.com>
12130
12131        use after free in WebCore::RenderObject::document
12132        https://bugs.webkit.org/show_bug.cgi?id=84891
12133
12134        Reviewed by Julien Chaffraix.
12135
12136        Change RenderMathMLFenced::addChild() to use the beforeChild parameter. When beforeChild
12137        is 0, insert child renderers before the closing fence, which might not be the same as
12138        this->lastChild(), e.g. possibly due to anonymous blocks or generated content.
12139
12140        Tests: mathml/presentation/mfenced-add-child1-expected.html
12141               mathml/presentation/mfenced-add-child1.html
12142               mathml/presentation/mfenced-add-child2-expected.html
12143               mathml/presentation/mfenced-add-child2.html
12144
12145        * rendering/mathml/RenderMathMLFenced.cpp:
12146        (WebCore::RenderMathMLFenced::RenderMathMLFenced):
12147        (WebCore::RenderMathMLFenced::makeFences):
12148        (WebCore::RenderMathMLFenced::addChild):
12149        * rendering/mathml/RenderMathMLFenced.h:
12150        (RenderMathMLFenced):
12151
121522012-05-11  Anders Carlsson  <andersca@apple.com>
12153
12154        Can't scroll on webpage after following links from Blogger
12155        https://bugs.webkit.org/show_bug.cgi?id=86274
12156        <rdar://problem/11431352>
12157
12158        Reviewed by Beth Dakin.
12159
12160        When committing a new scroll layer, make sure to reset the scroll position.
12161
12162        * page/scrolling/ScrollingTree.cpp:
12163        (WebCore::ScrollingTree::commitNewTreeState):
12164
121652012-05-11  Martin Robinson  <mrobinson@igalia.com>
12166
12167        [TextureMapper] Support drawing debug borders
12168        https://bugs.webkit.org/show_bug.cgi?id=86237
12169
12170        Reviewed by Noam Rosenthal.
12171
12172        No new tests. This is the implementation of an interactive debugging
12173        feature.
12174
12175        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
12176        (WebCore::GraphicsLayer::create): Moved this to the top of the file to
12177        reduce contention for the coveted last spot in the file. This also
12178        follows the pattern used in many WebCore files of having the factories
12179        at the top.
12180        (WebCore::GraphicsLayerTextureMapper::setDebugBorder): Added this
12181        plumbing.
12182        * platform/graphics/texmap/GraphicsLayerTextureMapper.h: Added
12183        plumbing.
12184        * platform/graphics/texmap/TextureMapper.h: Ditto.
12185        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
12186        (WebCore::TextureMapperTiledBackingStore::TextureMapperTiledBackingStore):
12187        Initialize the new member.
12188        (WebCore::TextureMapperTiledBackingStore::paintToTextureMapper): When
12189        debug borders are enabled call the new drawBorder method on the TM.
12190        (WebCore::TextureMapperTiledBackingStore::setDebugBorder): Added this
12191        plumbing.
12192        * platform/graphics/texmap/TextureMapperBackingStore.h: Added plumbing
12193        and members to store debug border states. This is necessary because of
12194        the when painting there is no handle on the GraphicsLayers.
12195        * platform/graphics/texmap/TextureMapperGL.cpp:
12196        (WebCore::TextureMapperGL::drawRect): Factored out the common bits of
12197        drawTexture and drawBorder into this helper.
12198        (WebCore::TextureMapperGL::drawBorder): Added this method, which works
12199        very similarly to drawTexture, but uses a different shader program and
12200        must also set the line width and color.
12201        (WebCore::TextureMapperGL::drawTexture): Factored out the bits that
12202        are shared with drawRect.
12203        * platform/graphics/texmap/TextureMapperGL.h:
12204        (TextureMapperGL): Added the new method declarations.
12205        * platform/graphics/texmap/TextureMapperImageBuffer.h:
12206        (WebCore::TextureMapperImageBuffer::drawBorder): Added an empty
12207        implementation. Later we can add an implementation for the ImageBuffer
12208        TM.
12209        * platform/graphics/texmap/TextureMapperLayer.cpp:
12210        (WebCore::TextureMapperLayer::updateBackingStore): When updating the
12211        backing store send the debug border information through.
12212        (WebCore::TextureMapperLayer::syncCompositingStateSelf): When updating
12213        the layer state, also update the debug indicators. This is required to
12214        initialize the debug border values for the layer.
12215        (WebCore::TextureMapperLayer::setDebugBorder): Added this plumbing.
12216        * platform/graphics/texmap/TextureMapperLayer.h: Ditto.
12217        * platform/graphics/texmap/TextureMapperShaderManager.cpp: Added a
12218        solid color shader that doesn't care about texture coordinates or
12219        opacity values.
12220        (WebCore::TextureMapperShaderManager::solidColorProgram): Added. This
12221        is a shorter getter for the solid color program that doesn't require
12222        casting from the caller.
12223        (WebCore::TextureMapperShaderManager::getShaderProgram): Added support
12224        for the solid color program.
12225        (WebCore::TextureMapperShaderProgramSolidColor::create): Added.
12226        (WebCore::TextureMapperShaderProgramSolidColor::TextureMapperShaderProgramSolidColor):
12227        Ditto.
12228        (WebCore::TextureMapperShaderProgramSolidColor::vertexShaderSource):
12229        Ditto.
12230        (WebCore::TextureMapperShaderProgramSolidColor::fragmentShaderSource):
12231        Ditto.
12232        * platform/graphics/texmap/TextureMapperShaderManager.h:
12233        (TextureMapperShaderProgramSolidColor): Added.
12234        (WebCore::TextureMapperShaderProgramSolidColor::colorVariable): Added.
12235
122362012-05-10  Timothy Hatcher  <timothy@apple.com>
12237
12238        Instrument timer function calls so they show up in the Web Inspector Timeline.
12239
12240        https://webkit.org/b/86173
12241
12242        Reviewed by Pavel Feldman.
12243
12244        Test: inspector/timeline/timeline-timer.html
12245
12246        * bindings/js/ScheduledAction.cpp:
12247        (WebCore::ScheduledAction::executeFunctionInContext): Wrap the call with JSMainThreadExecState::instrumentFunctionCall
12248        and InspectorInstrumentation::didCallFunction.
12249
122502012-05-11  Nico Weber  <thakis@chromium.org>
12251
12252        [chromium/mac] Let libwebkit.dylib link in Debug/components build
12253        https://bugs.webkit.org/show_bug.cgi?id=86244
12254
12255        Reviewed by James Robinson.
12256
12257        In static builds, this was not needed because the targets depending on
12258        'webkit' already link in QuartzCore. In Release components builds, it wasn't
12259        needed because they are built with -dead_strip, which stripped the referencing
12260        code.
12261
12262        * WebCore.gyp/WebCore.gyp:
12263
122642012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
12265
12266        Unreviewed, rolling out r116802.
12267        http://trac.webkit.org/changeset/116802
12268        https://bugs.webkit.org/show_bug.cgi?id=86260
12269
12270        This patch causes compiling error to chromium builds
12271        (Requested by jianli_ on #webkit).
12272
12273        * WebCore.gypi:
12274
122752012-05-11  Ryosuke Niwa  <rniwa@webkit.org>
12276
12277        Regression fix after r116798.
12278
12279        We need to return true for the html element in the design mode
12280        in which case parentNode() is editable and is not a body element.
12281
12282        * dom/Node.cpp:
12283        (WebCore::Node::isRootEditableElement):
12284
122852012-05-11  James Robinson  <jamesr@chromium.org>
12286
12287        [chromium] Move implementation of WebCore::GraphicsContext3D and related from WebKit/chromium/src to WebCore/platform/chromium/support
12288        https://bugs.webkit.org/show_bug.cgi?id=86257
12289
12290        Reviewed by Adam Barth.
12291
12292        The WebCore platform interfaces GraphicsContext3D and Extensions3DChromium are implemented in chromium on top of
12293        the Platform interface WebGraphicsContext3D. This moves the implementation support code from WebKit/chromium/src
12294        to WebCore/platform/chromium/support, which avoids having code in WebKit/ implementing WebCore interfaces and
12295        allows code in WebCore/platform to use this support code directly where appropriate.
12296
12297        Refactor only, no new functionality or tests.
12298
12299        * WebCore.gypi:
12300        * platform/chromium/support/Extensions3DChromium.cpp: Renamed from Source/WebKit/chromium/src/Extensions3DChromium.cpp.
12301        (WebCore):
12302        (WebCore::Extensions3DChromium::Extensions3DChromium):
12303        (WebCore::Extensions3DChromium::~Extensions3DChromium):
12304        (WebCore::Extensions3DChromium::supports):
12305        (WebCore::Extensions3DChromium::ensureEnabled):
12306        (WebCore::Extensions3DChromium::isEnabled):
12307        (WebCore::Extensions3DChromium::getGraphicsResetStatusARB):
12308        (WebCore::Extensions3DChromium::blitFramebuffer):
12309        (WebCore::Extensions3DChromium::renderbufferStorageMultisample):
12310        (WebCore::Extensions3DChromium::postSubBufferCHROMIUM):
12311        (WebCore::Extensions3DChromium::mapBufferSubDataCHROMIUM):
12312        (WebCore::Extensions3DChromium::unmapBufferSubDataCHROMIUM):
12313        (WebCore::Extensions3DChromium::mapTexSubImage2DCHROMIUM):
12314        (WebCore::Extensions3DChromium::unmapTexSubImage2DCHROMIUM):
12315        (WebCore::Extensions3DChromium::setVisibilityCHROMIUM):
12316        (WebCore::Extensions3DChromium::discardFramebufferEXT):
12317        (WebCore::Extensions3DChromium::ensureFramebufferCHROMIUM):
12318        (WebCore::Extensions3DChromium::setGpuMemoryAllocationChangedCallbackCHROMIUM):
12319        (WebCore::Extensions3DChromium::createVertexArrayOES):
12320        (WebCore::Extensions3DChromium::deleteVertexArrayOES):
12321        (WebCore::Extensions3DChromium::isVertexArrayOES):
12322        (WebCore::Extensions3DChromium::bindVertexArrayOES):
12323        (WebCore::Extensions3DChromium::getTranslatedShaderSourceANGLE):
12324        (WebCore::Extensions3DChromium::setSwapBuffersCompleteCallbackCHROMIUM):
12325        (WebCore::Extensions3DChromium::rateLimitOffscreenContextCHROMIUM):
12326        (WebCore::Extensions3DChromium::paintFramebufferToCanvas):
12327        (WebCore::Extensions3DChromium::texImageIOSurface2DCHROMIUM):
12328        (WebCore::Extensions3DChromium::texStorage2DEXT):
12329        (WebCore::Extensions3DChromium::createQueryEXT):
12330        (WebCore::Extensions3DChromium::deleteQueryEXT):
12331        (WebCore::Extensions3DChromium::isQueryEXT):
12332        (WebCore::Extensions3DChromium::beginQueryEXT):
12333        (WebCore::Extensions3DChromium::endQueryEXT):
12334        (WebCore::Extensions3DChromium::getQueryivEXT):
12335        (WebCore::Extensions3DChromium::getQueryObjectuivEXT):
12336        * platform/chromium/support/GraphicsContext3DChromium.cpp: Renamed from Source/WebKit/chromium/src/GraphicsContext3DChromium.cpp.
12337        (WebCore):
12338        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
12339        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
12340        (WebCore::GraphicsContext3DPrivate::createGraphicsContextFromWebContext):
12341        (WebCore::GraphicsContext3DPrivate::extractWebGraphicsContext3D):
12342        (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
12343        (WebCore::GraphicsContext3DPrivate::platformTexture):
12344        (GrMemoryAllocationChangedCallback):
12345        (WebCore::GrMemoryAllocationChangedCallback::GrMemoryAllocationChangedCallback):
12346        (WebCore::GrMemoryAllocationChangedCallback::onGpuMemoryAllocationChanged):
12347        (WebCore::GraphicsContext3DPrivate::grContext):
12348        (WebCore::GraphicsContext3DPrivate::prepareTexture):
12349        (WebCore::GraphicsContext3DPrivate::markContextChanged):
12350        (WebCore::GraphicsContext3DPrivate::markLayerComposited):
12351        (WebCore::GraphicsContext3DPrivate::layerComposited):
12352        (WebCore::GraphicsContext3DPrivate::paintFramebufferToCanvas):
12353        (WebCore::GraphicsContext3DPrivate::paintRenderingResultsToCanvas):
12354        (WebCore::GraphicsContext3DPrivate::paintCompositedResultsToCanvas):
12355        (WebCore::GraphicsContext3DPrivate::paintRenderingResultsToImageData):
12356        (WebCore::GraphicsContext3DPrivate::reshape):
12357        (WebCore::GraphicsContext3DPrivate::getInternalFramebufferSize):
12358        (WebCore::GraphicsContext3DPrivate::isContextLost):
12359        (WebCore::GraphicsContext3DPrivate::isGLES2Compliant):
12360        (WebCore::GraphicsContext3DPrivate::bindAttribLocation):
12361        (WebCore::GraphicsContext3DPrivate::bufferData):
12362        (WebCore::GraphicsContext3DPrivate::bufferSubData):
12363        (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
12364        (WebCore::GraphicsContext3DPrivate::getActiveUniform):
12365        (WebCore::GraphicsContext3DPrivate::getAttribLocation):
12366        (WebCore::GraphicsContext3DPrivate::getContextAttributes):
12367        (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
12368        (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
12369        (WebCore::GraphicsContext3DPrivate::getShaderSource):
12370        (WebCore::GraphicsContext3DPrivate::getString):
12371        (WebCore::GraphicsContext3DPrivate::getUniformLocation):
12372        (WebCore::GraphicsContext3DPrivate::shaderSource):
12373        (WebCore::GraphicsContext3DPrivate::texImage2D):
12374        (WebCore::GraphicsContext3DPrivate::texSubImage2D):
12375        (WebCore::GraphicsContext3DPrivate::uniform1fv):
12376        (WebCore::GraphicsContext3DPrivate::uniform1iv):
12377        (WebCore::GraphicsContext3DPrivate::uniform2fv):
12378        (WebCore::GraphicsContext3DPrivate::uniform2iv):
12379        (WebCore::GraphicsContext3DPrivate::uniform3fv):
12380        (WebCore::GraphicsContext3DPrivate::uniform3iv):
12381        (WebCore::GraphicsContext3DPrivate::uniform4fv):
12382        (WebCore::GraphicsContext3DPrivate::uniform4iv):
12383        (WebCore::GraphicsContext3DPrivate::uniformMatrix2fv):
12384        (WebCore::GraphicsContext3DPrivate::uniformMatrix3fv):
12385        (WebCore::GraphicsContext3DPrivate::uniformMatrix4fv):
12386        (WebCore::GraphicsContext3DPrivate::getExtensions):
12387        (WebCore::GraphicsContext3DPrivate::isResourceSafe):
12388        (WebCore::GraphicsContext3DPrivate::initializeExtensions):
12389        (WebCore::GraphicsContext3DPrivate::supportsExtension):
12390        (WebCore::GraphicsContext3DPrivate::ensureExtensionEnabled):
12391        (WebCore::GraphicsContext3DPrivate::isExtensionEnabled):
12392        (WebCore::GraphicsContext3D::GraphicsContext3D):
12393        (WebCore::GraphicsContext3D::~GraphicsContext3D):
12394        (WebCore::GraphicsContext3D::create):
12395        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
12396        (WebCore::GraphicsContext3D::platformTexture):
12397        (WebCore::GraphicsContext3D::grContext):
12398        (WebCore::GraphicsContext3D::prepareTexture):
12399        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
12400        (WebCore::GraphicsContext3D::isResourceSafe):
12401        (WebCore::GraphicsContext3D::platformLayer):
12402        (WebCore::GraphicsContext3D::layerComposited):
12403        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
12404        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
12405        (GraphicsContextLostCallbackAdapter):
12406        (WebCore::GraphicsContextLostCallbackAdapter::~GraphicsContextLostCallbackAdapter):
12407        (WebCore::GraphicsContextLostCallbackAdapter::GraphicsContextLostCallbackAdapter):
12408        (WebCore::GraphicsContextLostCallbackAdapter::onContextLost):
12409        (WebCore::GraphicsContextLostCallbackAdapter::create):
12410        (WebCore::GraphicsContext3DPrivate::setContextLostCallback):
12411        (GraphicsErrorMessageCallbackAdapter):
12412        (WebCore::GraphicsErrorMessageCallbackAdapter::~GraphicsErrorMessageCallbackAdapter):
12413        (WebCore::GraphicsErrorMessageCallbackAdapter::GraphicsErrorMessageCallbackAdapter):
12414        (WebCore::GraphicsErrorMessageCallbackAdapter::onErrorMessage):
12415        (WebCore::GraphicsErrorMessageCallbackAdapter::create):
12416        (WebCore::GraphicsContext3DPrivate::setErrorMessageCallback):
12417        (WebCore::GraphicsContext3D::isGLES2Compliant):
12418        (GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
12419        (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::~GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
12420        (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::GraphicsContext3DSwapBuffersCompleteCallbackAdapter):
12421        (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
12422        (WebCore::GraphicsContext3DSwapBuffersCompleteCallbackAdapter::create):
12423        (WebCore::GraphicsContext3DPrivate::setSwapBuffersCompleteCallbackCHROMIUM):
12424        (GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
12425        (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
12426        (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::~GraphicsContext3DMemoryAllocationChangedCallbackAdapter):
12427        (WebCore::GraphicsContext3DMemoryAllocationChangedCallbackAdapter::onMemoryAllocationChanged):
12428        (WebCore::GraphicsContext3DPrivate::setGpuMemoryAllocationChangedCallbackCHROMIUM):
12429        * platform/chromium/support/GraphicsContext3DPrivate.h: Renamed from Source/WebKit/chromium/src/GraphicsContext3DPrivate.h.
12430        (WebKit):
12431        (WebCore):
12432        (GraphicsContext3DPrivate):
12433
124342012-05-11  Keyar Hood  <keyar@chromium.org>
12435
12436        ImageSkia.cpp does not conform to style guidelines
12437        https://bugs.webkit.org/show_bug.cgi?id=86219
12438
12439        Reviewed by Stephen White.
12440
12441        No tests as this is purely style changees.
12442
12443        * platform/graphics/skia/ImageSkia.cpp:
12444        (WebCore::TransformDimensions):
12445        (WebCore::BitmapImage::draw):
12446        (WebCore::BitmapImageSingleFrameSkia::draw):
12447
124482012-05-11  Tim Horton  <timothy_horton@apple.com>
12449
12450        Unreviewed Chromium build fix after http://trac.webkit.org/changeset/116799.
12451
12452        * rendering/RenderLayerBacking.cpp:
12453
124542012-05-11  Terry Anderson  <tdanderson@chromium.org>
12455
12456        [chromium] Compute the best target node on a GestureTap event
12457        https://bugs.webkit.org/show_bug.cgi?id=85101
12458
12459        Reviewed by Adam Barth.
12460
12461        Will be using the tests in the touchadjustment/ directory.
12462
12463        * WebCore.gypi:
12464        Include TouchAdjustment.* files.
12465
124662012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
12467
12468        Unreviewed, rolling out r116498.
12469        http://trac.webkit.org/changeset/116498
12470        https://bugs.webkit.org/show_bug.cgi?id=86251
12471
12472        Causes crashes in major sites and security issues (Requested
12473        by schenney on #webkit).
12474
12475        * rendering/svg/RenderSVGInline.cpp:
12476        (WebCore::RenderSVGInline::addChild):
12477        * rendering/svg/RenderSVGInlineText.cpp:
12478        (WebCore::RenderSVGInlineText::willBeDestroyed):
12479        (WebCore::RenderSVGInlineText::setTextInternal):
12480        (WebCore::RenderSVGInlineText::styleDidChange):
12481        * rendering/svg/RenderSVGText.cpp:
12482        (WebCore::recursiveUpdateLayoutAttributes):
12483        (WebCore::RenderSVGText::layoutAttributesChanged):
12484        (WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
12485        (WebCore::RenderSVGText::invalidateTextPositioningElements):
12486        (WebCore::recursiveUpdateScaledFont):
12487        (WebCore::RenderSVGText::layout):
12488        (WebCore::RenderSVGText::addChild):
12489        (WebCore::recursiveCollectLayoutAttributes):
12490        (WebCore::RenderSVGText::rebuildLayoutAttributes):
12491        (WebCore):
12492        * rendering/svg/RenderSVGText.h:
12493        (RenderSVGText):
12494        (WebCore::RenderSVGText::layoutAttributes):
12495        * rendering/svg/SVGRootInlineBox.cpp:
12496        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
12497        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
12498        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):
12499
125002012-05-11  Tim Horton  <timothy_horton@apple.com>
12501
12502        FrameView->m_lastPaintTime is not updated in the tiled drawing case
12503        https://bugs.webkit.org/show_bug.cgi?id=86246
12504        <rdar://problem/11248475>
12505
12506        Reviewed by Simon Fraser.
12507
12508        Update FrameView's m_lastPaintTime from RenderLayerBacking::paintContents
12509        if the RenderLayerBacking is backing a tiled drawing layer.
12510
12511        In the future we might want to consider updating m_lastPaintTime when any
12512        compositing layer is painted into, but this change gets us on par with the
12513        non-tiled-drawing case as it stands now.
12514
12515        No new tests.
12516
12517        * page/FrameView.h:
12518        (WebCore::FrameView::setLastPaintTime):
12519        * rendering/RenderLayerBacking.cpp:
12520        (WebCore::RenderLayerBacking::paintContents):
12521
125222012-05-11  Shezan Baig  <shezbaig.wk@gmail.com>
12523
12524        Add helper function for node()->rootEditableElement() == node()
12525        https://bugs.webkit.org/show_bug.cgi?id=86217
12526
12527        Reviewed by Ryosuke Niwa.
12528
12529        Added Node::isRootEditableElement and updated existing code that did
12530        (node->rootEditableElement() == node) to use isRootEditableElement
12531        instead.
12532
12533        No new tests. No change in behavior.
12534
12535        * dom/Node.cpp:
12536        (WebCore::Node::isRootEditableElement):
12537        (WebCore):
12538        * dom/Node.h:
12539        (Node):
12540        Added new helper function.
12541
12542        * dom/Document.cpp:
12543        (WebCore::Document::setFocusedNode):
12544        * dom/Element.cpp:
12545        (WebCore::Element::updateFocusAppearance):
12546        * editing/CompositeEditCommand.cpp:
12547        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
12548        * editing/DeleteSelectionCommand.cpp:
12549        (WebCore::DeleteSelectionCommand::removeNode):
12550        * editing/InsertParagraphSeparatorCommand.cpp:
12551        (WebCore::InsertParagraphSeparatorCommand::doApply):
12552        * page/FocusController.cpp:
12553        (WebCore::FocusController::setFocusedNode):
12554        * rendering/RenderBlock.cpp:
12555        (WebCore::RenderBlock::hasLineIfEmpty):
12556        * rendering/RenderBlockLineLayout.cpp:
12557        (WebCore::RenderBlock::addOverflowFromInlineChildren):
12558        Updates to existing code to use the new helper function.
12559
125602012-05-11  Shawn Singh  <shawnsingh@chromium.org>
12561
12562        [chromium] Create WebTransformationMatrix interface for chromium platform
12563        https://bugs.webkit.org/show_bug.cgi?id=86049
12564
12565        Reviewed by James Robinson.
12566
12567        This patch creates a WebTransformationMatrix interface. It will
12568        remain unused at the moment, until (a) unit tests are created
12569        and (b) when we are ready to make a brief transition of all other
12570        chromium code to use it.
12571
12572        * WebCore.gypi:
12573        * platform/chromium/support/WebTransformationMatrix.cpp: Added.
12574        (WebKit):
12575        (WebKit::WebTransformationMatrix::WebTransformationMatrix):
12576        (WebKit::WebTransformationMatrix::operator=):
12577        (WebKit::WebTransformationMatrix::operator==):
12578        (WebKit::WebTransformationMatrix::operator*):
12579        (WebKit::WebTransformationMatrix::inverse):
12580        (WebKit::WebTransformationMatrix::to2dTransform):
12581        (WebKit::WebTransformationMatrix::multiply):
12582        (WebKit::WebTransformationMatrix::makeIdentity):
12583        (WebKit::WebTransformationMatrix::translate):
12584        (WebKit::WebTransformationMatrix::translate3d):
12585        (WebKit::WebTransformationMatrix::translateRight3d):
12586        (WebKit::WebTransformationMatrix::scale):
12587        (WebKit::WebTransformationMatrix::scaleNonUniform):
12588        (WebKit::WebTransformationMatrix::scale3d):
12589        (WebKit::WebTransformationMatrix::rotate):
12590        (WebKit::WebTransformationMatrix::rotate3d):
12591        (WebKit::WebTransformationMatrix::skewX):
12592        (WebKit::WebTransformationMatrix::skewY):
12593        (WebKit::WebTransformationMatrix::applyPerspective):
12594        (WebKit::WebTransformationMatrix::blend):
12595        (WebKit::WebTransformationMatrix::hasPerspective):
12596        (WebKit::WebTransformationMatrix::isInvertible):
12597        (WebKit::WebTransformationMatrix::isBackFaceVisible):
12598        (WebKit::WebTransformationMatrix::isIdentity):
12599        (WebKit::WebTransformationMatrix::isIdentityOrTranslation):
12600        (WebKit::WebTransformationMatrix::isIntegerTranslation):
12601        (WebKit::WebTransformationMatrix::m11):
12602        (WebKit::WebTransformationMatrix::setM11):
12603        (WebKit::WebTransformationMatrix::m12):
12604        (WebKit::WebTransformationMatrix::setM12):
12605        (WebKit::WebTransformationMatrix::m13):
12606        (WebKit::WebTransformationMatrix::setM13):
12607        (WebKit::WebTransformationMatrix::m14):
12608        (WebKit::WebTransformationMatrix::setM14):
12609        (WebKit::WebTransformationMatrix::m21):
12610        (WebKit::WebTransformationMatrix::setM21):
12611        (WebKit::WebTransformationMatrix::m22):
12612        (WebKit::WebTransformationMatrix::setM22):
12613        (WebKit::WebTransformationMatrix::m23):
12614        (WebKit::WebTransformationMatrix::setM23):
12615        (WebKit::WebTransformationMatrix::m24):
12616        (WebKit::WebTransformationMatrix::setM24):
12617        (WebKit::WebTransformationMatrix::m31):
12618        (WebKit::WebTransformationMatrix::setM31):
12619        (WebKit::WebTransformationMatrix::m32):
12620        (WebKit::WebTransformationMatrix::setM32):
12621        (WebKit::WebTransformationMatrix::m33):
12622        (WebKit::WebTransformationMatrix::setM33):
12623        (WebKit::WebTransformationMatrix::m34):
12624        (WebKit::WebTransformationMatrix::setM34):
12625        (WebKit::WebTransformationMatrix::m41):
12626        (WebKit::WebTransformationMatrix::setM41):
12627        (WebKit::WebTransformationMatrix::m42):
12628        (WebKit::WebTransformationMatrix::setM42):
12629        (WebKit::WebTransformationMatrix::m43):
12630        (WebKit::WebTransformationMatrix::setM43):
12631        (WebKit::WebTransformationMatrix::m44):
12632        (WebKit::WebTransformationMatrix::setM44):
12633        (WebKit::WebTransformationMatrix::a):
12634        (WebKit::WebTransformationMatrix::setA):
12635        (WebKit::WebTransformationMatrix::b):
12636        (WebKit::WebTransformationMatrix::setB):
12637        (WebKit::WebTransformationMatrix::c):
12638        (WebKit::WebTransformationMatrix::setC):
12639        (WebKit::WebTransformationMatrix::d):
12640        (WebKit::WebTransformationMatrix::setD):
12641        (WebKit::WebTransformationMatrix::e):
12642        (WebKit::WebTransformationMatrix::setE):
12643        (WebKit::WebTransformationMatrix::f):
12644        (WebKit::WebTransformationMatrix::setF):
12645        (WebKit::WebTransformationMatrix::toWebCoreTransform):
12646        (WebKit::WebTransformationMatrix::mapRect):
12647        (WebKit::WebTransformationMatrix::mapPoint):
12648        (WebKit::WebTransformationMatrix::mapQuad):
12649        (WebKit::WebTransformationMatrix::projectPoint):
12650
126512012-05-11  Alexandru Chiculita  <achicu@adobe.com>
12652
12653        [CSS Shaders] Make CSS Shaders render to texture framebuffers
12654        https://bugs.webkit.org/show_bug.cgi?id=85113
12655
12656        Reviewed by Dean Jackson.
12657
12658        Added the required members to store the framebuffer, the texture and the depth buffer. Also removed the m_drawingBuffer
12659        because context->readPixels doesn't require one anymore.
12660
12661        ReadPixels is not flipping the result, so I've also removed the flipping projection matrix that was specific only to Chromium.
12662
12663        Added a test to check that colors are not switched and the resulting image is not mirrored.
12664
12665        Test: css3/filters/custom/effect-color-check.html
12666
12667        * platform/graphics/filters/FECustomFilter.cpp:
12668        (WebCore::FECustomFilter::FECustomFilter):
12669        (WebCore::FECustomFilter::~FECustomFilter):
12670        (WebCore):
12671        (WebCore::FECustomFilter::deleteRenderBuffers):
12672        (WebCore::FECustomFilter::platformApplySoftware):
12673        (WebCore::FECustomFilter::initializeContext):
12674        (WebCore::FECustomFilter::resizeContext):
12675        (WebCore::FECustomFilter::bindProgramAndBuffers):
12676        * platform/graphics/filters/FECustomFilter.h:
12677        (FECustomFilter):
12678
126792012-05-11  Anders Carlsson  <andersca@apple.com>
12680
12681        REGRESSION(r116687): [Chromium] plugins/embed-attributes-style.html shows a garbled string
12682        https://bugs.webkit.org/show_bug.cgi?id=86170
12683
12684        Reviewed by Andreas Kling.
12685
12686        The string we are passing to the TextRun constructor needs to stay alive for longer so revert back to the old
12687        behavior where we store it as a member variable.
12688
12689        * rendering/RenderEmbeddedObject.cpp:
12690        (WebCore::unavailablePluginReplacementText):
12691        (WebCore):
12692        (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
12693        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
12694        * rendering/RenderEmbeddedObject.h:
12695        (RenderEmbeddedObject):
12696
126972012-05-11  Simon Fraser  <simon.fraser@apple.com>
12698
12699        CVDisplayLink keeps running after a single requestAnimationFrame
12700        https://bugs.webkit.org/show_bug.cgi?id=86174
12701        
12702        Reviewed by Sam Weinig.
12703        
12704        A DisplayRefreshMonitor would keep its CVDisplayLink alive for as long
12705        as it had clients, and the client is the ScriptedAnimationController, which
12706        lives on the document. So a single requestAnimationFrame call would kick
12707        off a CVDisplayLink which lived until the document was destroyed.
12708        
12709        Fix by having the DisplayRefreshMonitor kill itself if the CVDisplayLink
12710        fires for 10 times with no scheduled callbacks (to avoid creation/deletion
12711        thrash on pages that call requestAnimationFrames with short setTimeouts,
12712        as some do).
12713        
12714        Use a HashMap in DisplayRefreshMonitorManager for the set of DisplayRefreshMonitor,
12715        with the displayID as the key (using UnsignedWithZeroKeyHashTraits<uint64_t> since
12716        we want to allow for 0 to be a valid displayID).
12717        
12718        Use a HashSet in DisplayRefreshMonitor for the client set, so that we don't have to
12719        worry about adding clients twice.
12720        
12721        Also fix a possible crash when the only client of a DisplayRefreshMonitor
12722        was removed from inside the callback by making DisplayRefreshMonitor ref-counted,
12723        with a protector.
12724
12725        Test: fast/animation/request-animation-frame-detach-element2.html
12726
12727        * platform/graphics/DisplayRefreshMonitor.cpp:
12728        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor): Initialize m_unscheduledFireCount
12729        (WebCore::DisplayRefreshMonitor::handleDisplayRefreshedNotificationOnMainThread): Renamed
12730        from refreshDisplayOnMainThread, since it doesn't just refresh the display.
12731        (WebCore::DisplayRefreshMonitor::addClient): No longer inline.
12732        (WebCore::DisplayRefreshMonitor::removeClient): No longer inline.
12733        (WebCore::DisplayRefreshMonitor::displayDidRefresh): Keep track of m_unscheduledFireCount,
12734        which we used to kill this monitor if it has been idle for a while.
12735        Use a RefPtr<DisplayRefreshMonitor> to prevent deletion while running the callback.
12736        Copy the clients to a vector to protect against mutating the set while enumerating it.
12737        Notify the DisplayRefreshMonitorManager when we're done, so that it can decide
12738        to delete inactive monitors.
12739        
12740        (WebCore::DisplayRefreshMonitorManager::ensureMonitorForClient): find or allocate
12741        a DisplayRefreshMonitor for a given client.
12742        (WebCore::DisplayRefreshMonitorManager::registerClient): Simplified by use of HashMap.
12743        (WebCore::DisplayRefreshMonitorManager::unregisterClient): Ditto.
12744        (WebCore::DisplayRefreshMonitorManager::scheduleAnimation): Ditto. Uses
12745        ensureMonitorForClient() since an earlier inactive monitor may have been removed.
12746        (WebCore::DisplayRefreshMonitorManager::displayDidRefresh): Remove inactive
12747        monitors.
12748        * platform/graphics/DisplayRefreshMonitor.h: Make DisplayRefreshMonitor
12749        ref-counted, to make it easier to avoid deletion while it's on the stack.
12750        (WebCore::DisplayRefreshMonitor::create):
12751        (DisplayRefreshMonitor):
12752        (WebCore::DisplayRefreshMonitor::shouldBeTerminated):
12753        (DisplayRefreshMonitorManager):
12754        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Attempt to
12755        keep things building.
12756        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
12757        (WebCore::DisplayRefreshMonitor::displayLinkFired):
12758        to give the manager a chance to kill this monitor.
12759        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
12760        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
12761        (WebCore::DisplayRefreshMonitor::displayLinkFired): Don't bail early
12762        if not scheduled; we want to call handleDisplayRefreshedNotificationOnMainThread(),
12763
127642012-05-11  Pavel Feldman  <pfeldman@chromium.org>
12765
12766        Web Inspector: move canEditScriptSource and setScriptSource from DebuggerPresentationModel into ResourceBinding
12767        https://bugs.webkit.org/show_bug.cgi?id=86234
12768
12769        Reviewed by Vsevolod Vlasov.
12770
12771        Simple move refactoring.
12772
12773        * inspector/front-end/DebuggerPresentationModel.js:
12774        (WebInspector.DebuggerPresentationModel):
12775        (WebInspector.DebuggerResourceBinding):
12776        (WebInspector.DebuggerResourceBinding.canEditScriptSource):
12777        (WebInspector.DebuggerResourceBinding.setScriptSource.didEditScriptSource):
12778        (WebInspector.DebuggerResourceBinding.setScriptSource):
12779        (WebInspector.DebuggerResourceBinding.prototype.canSetContent):
12780        (WebInspector.DebuggerResourceBinding.prototype._uiSourceCodeForResource):
12781        (WebInspector.DebuggerResourceBinding.prototype._setContentWithInitialContent):
12782        * inspector/front-end/JavaScriptSourceFrame.js:
12783        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
12784        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
12785
127862012-05-11  Julien Chaffraix  <jchaffraix@webkit.org>
12787
12788        Remove RenderLayer::m_scrollOverflow
12789        https://bugs.webkit.org/show_bug.cgi?id=86226
12790
12791        Reviewed by Simon Fraser.
12792
12793        No expected change in behavior.
12794
12795        * rendering/RenderLayer.cpp:
12796        (WebCore::RenderLayer::computeScrollDimensions):
12797        Added 2 local variables to compute the left / top scrollable overflows.
12798
12799        * rendering/RenderLayer.h:
12800        (WebCore::RenderLayer::scrolledContentOffset):
12801        Returned m_scrollOffset directly as this is what the old code was doing by adding
12802        m_scrollOrigin then adding m_scrollOverflow (which was set to -m_scrollOrigin in
12803        computeScrollDimensions).
12804
12805        (RenderLayer::m_scrollOffset): Improved the comment about what m_scrollOffset is.
12806
128072012-05-11  Pavel Feldman  <pfeldman@chromium.org>
12808
12809        Web Inspector: extract PresentationConsoleMessageHelper from DebuggerPresentationModel.
12810        https://bugs.webkit.org/show_bug.cgi?id=86229
12811
12812        Reviewed by Vsevolod Vlasov.
12813
12814        This change also starts tracking messages along with the live location changes.
12815
12816        Tested with script-formatter-console.html.
12817
12818        * inspector/front-end/BreakpointManager.js:
12819        * inspector/front-end/DebuggerPresentationModel.js:
12820        (WebInspector.DebuggerPresentationModel):
12821        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
12822        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
12823        (WebInspector.PresentationConsoleMessageHelper):
12824        (WebInspector.PresentationConsoleMessageHelper.prototype._addPendingConsoleMessage):
12825        (WebInspector.PresentationConsoleMessageHelper.prototype._parsedScriptSource):
12826        (WebInspector.PresentationConsoleMessageHelper.prototype._debuggerReset):
12827        (WebInspector.PresentationConsoleMessage):
12828        * inspector/front-end/JavaScriptSourceFrame.js:
12829        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
12830        (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
12831        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
12832
128332012-05-11  Emil A Eklund  <eae@chromium.org>
12834
12835        Simplify FloatingObject by removing unnecessary convenience methods.
12836        https://bugs.webkit.org/show_bug.cgi?id=86163
12837
12838        Reviewed by Eric Seidel.
12839
12840        Simplify the pixel snapping in FloatingObject by getting rid of a bunch
12841        of convenience methods.
12842
12843        No new tests, no change in functionality.
12844
12845        * rendering/RenderBlock.cpp:
12846        (WebCore::RenderBlock::addOverhangingFloats):
12847        (WebCore::RenderBlock::addIntrudingFloats):
12848        (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject):
12849        (WebCore::::string):
12850        * rendering/RenderBlock.h:
12851        (FloatingObject):
12852        (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
12853        (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
12854        (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
12855        (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
12856
128572012-05-11  Ian Vollick  <vollick@chromium.org>
12858
12859        [chromium] Ensure that animations continue to run when transform-style is changed
12860        https://bugs.webkit.org/show_bug.cgi?id=83283
12861
12862        Make sure that we transfer animations when changing layers due to a transform-style change.
12863        Unit tested in GraphicsLayerChromiumTest.updateLayerPreserves3DWithAnimations
12864
12865        Reviewed by James Robinson.
12866
12867        Test: animations/change-transform-style-during-animation.html
12868
12869        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
12870        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
12871        * platform/graphics/chromium/LayerChromium.cpp:
12872        (WebCore::LayerChromium::setLayerAnimationController):
12873        (WebCore::LayerChromium::releaseLayerAnimationController):
12874        (WebCore):
12875        (WebCore::LayerChromium::notifyAnimationStarted):
12876        * platform/graphics/chromium/LayerChromium.h:
12877        (LayerChromium):
12878        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
12879        (WebCore::CCLayerAnimationController::CCLayerAnimationController):
12880        (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
12881        (WebCore::CCLayerAnimationController::notifyAnimationStarted):
12882        (WebCore::CCLayerAnimationController::setClient):
12883        (WebCore):
12884        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
12885        (WebCore::CCLayerAnimationController::replaceImplThreadAnimations):
12886        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
12887        (CCLayerAnimationController):
12888        (WebCore::CCLayerAnimationController::setForceSync):
12889
128902012-05-11  Tommy Widenflycht  <tommyw@google.com>
12891
12892        MediaStream API: Fix a reference counting issue in UserMediaRequest
12893        https://bugs.webkit.org/show_bug.cgi?id=86210
12894
12895        Reviewed by Abhishek Arya.
12896
12897        When contextDestroyed() is called on UserMediaRequest it does a callback to the
12898        page client. If the receiving code clears their stored copy the UserMediaRequest
12899        object is destroyed in the middle of the call.
12900
12901        Currently only testable manually against chrome, preferably with asan turned on.
12902        I have added a manual test that verifies the fix, but I have started work
12903        to make DumpRenderTree able to test this and many other things. The first patch is here:
12904        https://bugs.webkit.org/show_bug.cgi?id=86215
12905
12906        * Modules/mediastream/UserMediaRequest.cpp:
12907        (WebCore::UserMediaRequest::contextDestroyed):
12908
129092012-05-11  Min Qin  <qinmin@google.com>
12910
12911        split MediaPlayer::enterFullscreen into 2 seperate functions
12912        https://bugs.webkit.org/show_bug.cgi?id=86052
12913
12914        Reviewed by Adam Barth.
12915
12916        It is confusing that enterFullscreen returns a boolean while exitFullscreen does
12917        not do the same. And ios does not need the return value.
12918        So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
12919        function for android.
12920        No tests as there are no behavior change, just refactoring.
12921
12922        * platform/graphics/MediaPlayer.cpp:
12923        (WebCore::MediaPlayer::enterFullscreen):
12924        (WebCore):
12925        (WebCore::MediaPlayer::canEnterFullscreen):
12926        * platform/graphics/MediaPlayer.h:
12927        (MediaPlayer):
12928        * platform/graphics/MediaPlayerPrivate.h:
12929        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
12930        (MediaPlayerPrivateInterface):
12931        (WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):
12932
129332012-05-11  Pavel Feldman  <pfeldman@chromium.org>
12934
12935        Web Inspector: move breakpoint manager from debuggerPresentationModel to WebInspector.
12936        https://bugs.webkit.org/show_bug.cgi?id=86220
12937
12938        Reviewed by Yury Semikhatsky.
12939
12940        Now that breakpoint manager does not depend on the source mapping instance from the
12941        debugger presentation model, it can be moved out.
12942
12943        * inspector/front-end/DebuggerPresentationModel.js:
12944        (WebInspector.DebuggerPresentationModel):
12945        * inspector/front-end/JavaScriptSource.js:
12946        (WebInspector.JavaScriptSource):
12947        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
12948        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
12949        (WebInspector.JavaScriptSource.prototype.setFormatted):
12950        * inspector/front-end/JavaScriptSourceFrame.js:
12951        (WebInspector.JavaScriptSourceFrame):
12952        * inspector/front-end/ScriptsPanel.js:
12953        * inspector/front-end/inspector.js:
12954
129552012-05-11  David Reveman  <reveman@chromium.org>
12956
12957        [Chromium] Move instantiation of texture uploader to LayerRendererChromium.
12958        https://bugs.webkit.org/show_bug.cgi?id=85893
12959
12960        Reviewed by Adrienne Walker.
12961
12962        Move instantiation of texture uploader to LayerRendererChromium and
12963        allow CCProxy to decide between a throttled or unthrottled uploader
12964        using a flag passed to the LayerRendererChromium constructor.
12965
12966        * platform/graphics/chromium/LayerRendererChromium.cpp:
12967        (WebCore::LayerRendererChromium::create):
12968        (WebCore::LayerRendererChromium::LayerRendererChromium):
12969        (WebCore::LayerRendererChromium::initializeSharedObjects):
12970        * platform/graphics/chromium/LayerRendererChromium.h:
12971        (LayerRendererChromium):
12972        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
12973        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
12974        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
12975        (CCLayerTreeHostImpl):
12976        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
12977        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
12978        (WebCore::CCSingleThreadProxy::recreateContext):
12979        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
12980        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
12981        (WebCore::CCThreadProxy::recreateContextOnImplThread):
12982
129832012-05-10  Pavel Feldman  <pfeldman@chromium.org>
12984
12985        Web Inspector: pass source mapping into UISourceCode's constructor; move formatting outside mapping.
12986        https://bugs.webkit.org/show_bug.cgi?id=86099
12987
12988        Reviewed by Vsevolod Vlasov.
12989
12990        This changes moves formatting out of the source mapping machinery.
12991        As a result, it removes most of the DebuggerPresentation's mapping-related code as well
12992        as most of the raw source code's code.
12993
12994        * inspector/front-end/BreakpointManager.js:
12995        (WebInspector.BreakpointManager):
12996        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
12997        (WebInspector.BreakpointManager.Breakpoint):
12998        * inspector/front-end/CallStackSidebarPane.js:
12999        (WebInspector.CallStackSidebarPane.prototype.setStatus):
13000        * inspector/front-end/CompilerScriptMapping.js:
13001        * inspector/front-end/DebuggerPresentationModel.js:
13002        (WebInspector.DebuggerPresentationModel):
13003        (WebInspector.DebuggerPresentationModel.prototype._callFrameSelected):
13004        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
13005        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
13006        * inspector/front-end/JavaScriptSource.js:
13007        (WebInspector.JavaScriptSource):
13008        (WebInspector.JavaScriptSource.prototype.fireContentAvailable):
13009        (WebInspector.JavaScriptSource.prototype.setFormatted.if):
13010        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent.didFormatContent):
13011        (WebInspector.JavaScriptSource.prototype.setFormatted.didGetContent):
13012        (WebInspector.JavaScriptSource.prototype.setFormatted):
13013        (WebInspector.JavaScriptSource.prototype.togglingFormatter):
13014        (WebInspector.JavaScriptSource.prototype.uiLocationToRawLocation):
13015        (WebInspector.JavaScriptSource.prototype.overrideLocation):
13016        (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
13017        (WebInspector):
13018        * inspector/front-end/JavaScriptSourceFrame.js:
13019        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
13020        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
13021        * inspector/front-end/RawSourceCode.js:
13022        (WebInspector.RawSourceCode):
13023        (WebInspector.RawSourceCode.prototype.addScript):
13024        (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
13025        (WebInspector.RawSourceCode.prototype._createUISourceCode):
13026        (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
13027        (WebInspector.RawSourceCode.prototype.uiSourceCode):
13028        (WebInspector.RawSourceCode.prototype._finishedLoading):
13029        * inspector/front-end/ResourceScriptMapping.js:
13030        (WebInspector.ResourceScriptMapping):
13031        (WebInspector.ResourceScriptMapping.prototype.addScript):
13032        (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
13033        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
13034        * inspector/front-end/Script.js:
13035        (WebInspector.Script.prototype.rawLocationToUILocation):
13036        * inspector/front-end/ScriptFormatter.js:
13037        (WebInspector.ScriptFormatter.prototype._didFormatContent):
13038        (WebInspector.FormatterSourceMapping):
13039        (WebInspector.FormatterSourceMapping.prototype.originalToFormatted):
13040        (WebInspector.FormatterSourceMapping.prototype.formattedToOriginal):
13041        (WebInspector.IdentityFormatterSourceMapping):
13042        (WebInspector.IdentityFormatterSourceMapping.prototype.originalToFormatted):
13043        (WebInspector.IdentityFormatterSourceMapping.prototype.formattedToOriginal):
13044        (WebInspector.FormatterSourceMappingImpl):
13045        (WebInspector.FormatterSourceMappingImpl.prototype.originalToFormatted):
13046        (WebInspector.FormatterSourceMappingImpl.prototype.formattedToOriginal):
13047        * inspector/front-end/ScriptMapping.js:
13048        (WebInspector.MainScriptMapping):
13049        (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
13050        (WebInspector.MainScriptMapping.prototype.reset):
13051        * inspector/front-end/ScriptsPanel.js:
13052        (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
13053        (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
13054        (WebInspector.ScriptsPanel.prototype._showFile):
13055        (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
13056        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
13057        * inspector/front-end/ScriptsSearchScope.js:
13058        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
13059        * inspector/front-end/SnippetsModel.js:
13060        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
13061        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
13062        * inspector/front-end/UISourceCode.js:
13063        (WebInspector.UISourceCode):
13064        (WebInspector.UISourceCode.prototype.requestContent):
13065        (WebInspector.UISourceCode.prototype.mimeType):
13066        (WebInspector.UISourceCode.prototype.content):
13067        (WebInspector.UISourceCode.prototype.fireContentAvailable):
13068        (WebInspector.UISourceCode.prototype.contentLoaded):
13069        (WebInspector.UISourceCode.prototype.uiLocationToRawLocation):
13070
130712012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
13072
13073        [EFL][DRT] Input Attribute Placeholder RefTests failing
13074        https://bugs.webkit.org/show_bug.cgi?id=85603
13075
13076        Unreviewed, build fix for EFL.
13077
13078        * platform/efl/RenderThemeEfl.cpp:
13079
130802012-05-11  Alexei Filippov  <alexeif@chromium.org>
13081
13082        Web Inspector: Remove support of combined nodes and edges serialization schema.
13083        https://bugs.webkit.org/show_bug.cgi?id=86209
13084
13085        Reviewed by Yury Semikhatsky.
13086
13087        * inspector/front-end/HeapSnapshot.js:
13088        (WebInspector.HeapSnapshotNode.prototype.get _nodes):
13089        (WebInspector.HeapSnapshotNode.prototype._edgeIndexesStart):
13090        (WebInspector.HeapSnapshotNode.prototype._edgeIndexesEnd):
13091        (WebInspector.HeapSnapshot):
13092        (WebInspector.HeapSnapshot.prototype._init):
13093        (WebInspector.HeapSnapshot.prototype._buildRetainers):
13094        (WebInspector.HeapSnapshot.prototype._bfs):
13095        (WebInspector.HeapSnapshot.prototype._buildAggregates):
13096        (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize):
13097        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
13098        * inspector/front-end/HeapSnapshotLoader.js:
13099        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
13100
131012012-05-11  Yury Semikhatsky  <yurys@chromium.org>
13102
13103        Web Inspector: add Profiler.getHeapObjectId command
13104        https://bugs.webkit.org/show_bug.cgi?id=86211
13105
13106        Reviewed by Pavel Feldman.
13107
13108        Added Profiler.getHeapObjectId command to the protocol which allows to convert remote
13109        object id to heap snapshot object id.
13110
13111        * bindings/js/ScriptProfiler.cpp:
13112        (WebCore::ScriptProfiler::getHeapObjectId):
13113        (WebCore):
13114        * bindings/js/ScriptProfiler.h:
13115        (WebCore):
13116        (ScriptProfiler):
13117        * bindings/v8/ScriptProfiler.cpp:
13118        (WebCore::ScriptProfiler::getHeapObjectId):
13119        (WebCore):
13120        * bindings/v8/ScriptProfiler.h:
13121        (WebCore):
13122        (ScriptProfiler):
13123        * inspector/InjectedScript.cpp:
13124        (WebCore::InjectedScript::findObjectById):
13125        (WebCore):
13126        * inspector/InjectedScript.h:
13127        (InjectedScript):
13128        * inspector/InjectedScriptSource.js:
13129        (.):
13130        * inspector/Inspector.json:
13131        * inspector/InspectorProfilerAgent.cpp:
13132        (WebCore::InspectorProfilerAgent::getHeapObjectId):
13133        (WebCore):
13134        * inspector/InspectorProfilerAgent.h:
13135        (InspectorProfilerAgent):
13136
131372012-05-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
13138
13139        Qt support for new layout types.
13140        https://bugs.webkit.org/show_bug.cgi?id=85607
13141
13142        Reviewed by Simon Hausmann.
13143
13144        Adds similar Qt support to FractionalLayout classes as Qt has for
13145        FloatSomething and IntSomething classes. This means Qt code can stay
13146        unchanged from after the redefinition of Layout classes.
13147
13148        No new functionality. No new tests.
13149
13150        * Target.pri:
13151        * platform/FractionalLayoutUnit.h:
13152        (WebCore::operator<<):
13153        (WebCore::operator>>):
13154        * platform/graphics/FractionalLayoutPoint.h:
13155        (FractionalLayoutPoint):
13156        * platform/graphics/FractionalLayoutRect.h:
13157        (FractionalLayoutRect):
13158        * platform/graphics/FractionalLayoutSize.h:
13159        (FractionalLayoutSize):
13160        * platform/graphics/qt/FractionalLayoutPointQt.cpp: Added.
13161        (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
13162        (WebCore::FractionalLayoutPoint::operator QPointF):
13163        * platform/graphics/qt/FractionalLayoutRectQt.cpp: Added.
13164        (WebCore::FractionalLayoutRect::FractionalLayoutRect):
13165        (WebCore::FractionalLayoutRect::operator QRectF):
13166        * platform/graphics/qt/FractionalLayoutSizeQt.cpp: Added.
13167        (WebCore::FractionalLayoutSize::FractionalLayoutSize):
13168        (WebCore::FractionalLayoutSize::operator QSizeF):
13169
131702012-05-11  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
13171
13172        Internals::touchPositionAdjustedToBestClickableNode adjust twice for scroll-offset
13173        https://bugs.webkit.org/show_bug.cgi?id=86205
13174
13175        Reviewed by Simon Hausmann.
13176
13177        Remove the redundant conversion from document to window coords.
13178
13179        Test: touchadjustment/scroll-offset.html
13180
13181        * testing/Internals.cpp:
13182        (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
13183        (WebCore::Internals::bestZoomableAreaForTouchPoint):
13184
131852012-05-11  Ilya Tikhonovsky  <loislo@chromium.org>
13186
13187        Web Inspector: load heap snapshot implementation.
13188        https://bugs.webkit.org/show_bug.cgi?id=86097
13189
13190        The idea is to have a hidden file selector control.
13191        When the user select a context menu item or click a button
13192        we redirect this user-action to file selector.
13193        As result we see the standard file selector dialog.
13194        When the user selects a file we load it's chunks and push the chunks to the worker.
13195        The loaded snapshot can be completely unrelated to the current page.
13196        Thats why we have to skip range selection options in Summary tab.
13197
13198        Reviewed by Yury Semikhatsky.
13199
13200        * English.lproj/localizedStrings.js:
13201        * inspector/front-end/CSSSelectorProfileView.js:
13202        (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
13203        * inspector/front-end/HeapSnapshotView.js:
13204        (WebInspector.HeapSnapshotView.prototype._updateFilterOptions): we have to skip the profiles loaded from file because there is no guaranty t
13205        (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
13206        (WebInspector.HeapSnapshotProfileType.prototype.createProfile): cosmetic changes.
13207        (WebInspector.HeapProfileHeader):
13208        (WebInspector.HeapProfileHeader.prototype._setupWorker): a common part was extracted from load method and reused in loadFromFile.
13209        (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate): cosmetic changes.
13210        (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
13211        (WebInspector.HeapProfileHeader.prototype.canSaveToFile): cosmetic rename for better consistency with 'load' part.
13212        (WebInspector.HeapProfileHeader.prototype.saveToFile): cosmetic rename for better consistency with 'load' part.
13213        (WebInspector.HeapProfileHeader.prototype.canLoadFromFile): cosmetic rename for better consistency with 'load' part.
13214        (WebInspector.HeapProfileHeader.prototype.loadFromFile): chunk based file loader.
13215        (WebInspector.HeapProfileHeader.prototype.loadFromFile.loadNextChunk):
13216        (WebInspector.HeapProfileHeader.prototype.loadFromFile.onLoad):
13217        * inspector/front-end/ProfileView.js:
13218        (WebInspector.CPUProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
13219        * inspector/front-end/ProfilesPanel.js:
13220        (WebInspector.ProfileType.prototype.createTemporaryProfile): now it accepts a custom title.
13221        (WebInspector.ProfileHeader.prototype.canSaveToFile): cosmetic rename for better consistency with 'load' part.
13222        (WebInspector.ProfileHeader.prototype.saveToFile): cosmetic rename for better consistency with 'load' part.
13223        (WebInspector.ProfileHeader.prototype.canLoadFromFile): default implementation for 'load' part.
13224        (WebInspector.ProfileHeader.prototype.loadFromFile): default implementation for 'load' part.
13225        (WebInspector.ProfilesPanel.prototype._createFileSelectorElement):
13226        (WebInspector.ProfilesPanel.prototype._loadFromFile):
13227        (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
13228
132292012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
13230
13231        [EFL][DRT] Input Attribute Placeholder RefTests failing
13232        https://bugs.webkit.org/show_bug.cgi?id=85603
13233
13234        Reviewed by Hajime Morita.
13235
13236        Refrain from overriding style coloring by theme coloring.
13237        RenderThemeEfl was always overriding colors and whitespace
13238        handling leading to failures in reftests that verify placeholder styling
13239        which expect the user agent stylesheet to be applied correctly
13240        without any color overrides. Also, leave whitespace handling untouched.
13241
13242        No new tests, covered by existing tests. See also
13243        the LayoutTests/ChangeLog in this commit for the required
13244        rebaselining.
13245
13246        * platform/efl/RenderThemeEfl.cpp:
13247        (WebCore::RenderThemeEfl::createEdje):
13248        (WebCore::RenderThemeEfl::applyEdjeColors):
13249        (WebCore::RenderThemeEfl::RenderThemeEfl):
13250        (WebCore::RenderThemeEfl::adjustButtonStyle):
13251        (WebCore::RenderThemeEfl::adjustMenuListStyle):
13252        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
13253        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
13254        * platform/efl/RenderThemeEfl.h:
13255        (RenderThemeEfl):
13256
132572012-05-11  Christophe Dumez  <christophe.dumez@intel.com>
13258
13259        Web Intents code only supports V8
13260        https://bugs.webkit.org/show_bug.cgi?id=85954
13261
13262        Reviewed by Adam Barth.
13263
13264        Add necessary abstraction for js Dictionary and ScriptValue so that
13265        the Web Intents code in WebCore compiles with JSC, not just V8.
13266
13267        This required changes in the JSC bindings generator to pass
13268        callback arguments of type SerializedScriptValue as raw pointers
13269        instead of RefPtr. This matches the change made to the V8 bindings
13270        generator in r104531.
13271
13272        * CMakeLists.txt:
13273        * Modules/intents/Intent.cpp:
13274        * Modules/intents/Intent.h:
13275        * bindings/js/Dictionary.cpp:
13276        (WebCore::Dictionary::Dictionary):
13277        (WebCore):
13278        (WebCore::Dictionary::getOwnPropertiesAsStringHashMap):
13279        * bindings/js/Dictionary.h:
13280        (Dictionary):
13281        * bindings/js/JSBindingsAllInOne.cpp:
13282        * bindings/js/JSDictionary.cpp:
13283        (WebCore::JSDictionary::convertValue):
13284        (WebCore):
13285        * bindings/js/JSDictionary.h:
13286        (WebCore):
13287        (WebCore::JSDictionary::initializerObject):
13288        * bindings/js/ScriptValue.cpp:
13289        (WebCore::ScriptValue::serialize):
13290        (WebCore):
13291        * bindings/js/ScriptValue.h:
13292        (ScriptValue):
13293        * bindings/scripts/CodeGeneratorJS.pm:
13294        (AddIncludesForType):
13295        (GenerateCallbackHeader):
13296        (GenerateCallbackImplementation):
13297        (GetNativeTypeForCallbacks):
13298
132992012-05-11  Alexander Pavlov  <apavlov@chromium.org>
13300
13301        Web Inspector: Can't type spaces in "Override User Agent" field
13302        https://bugs.webkit.org/show_bug.cgi?id=86202
13303
13304        Reviewed by Yury Semikhatsky.
13305
13306        * inspector/front-end/HelpScreen.js:
13307        (WebInspector.HelpScreen.prototype.isClosingKey):
13308        (WebInspector.HelpScreen.prototype._onKeyDown):
13309        * inspector/front-end/SettingsScreen.js:
13310        (WebInspector.SettingsScreen.prototype.isClosingKey):
13311
133122012-05-11  Dominik Röttsches  <dominik.rottsches@intel.com>
13313
13314        [EFL][DRT] Input Attribute Placeholder RefTests failing
13315        https://bugs.webkit.org/show_bug.cgi?id=85603
13316
13317        Reviewed by Hajime Morita.
13318
13319        Refrain from overriding style coloring by theme coloring.
13320        RenderThemeEfl was always overriding colors and whitespace
13321        handling leading to failures in reftests that verify placeholder styling
13322        which expect the user agent stylesheet to be applied correctly
13323        without any color overrides. Also, leave whitespace handling untouched.
13324
13325        No new tests, covered by existing tests. See also
13326        the LayoutTests/ChangeLog in this commit for the required
13327        rebaselining.
13328
13329        * platform/efl/RenderThemeEfl.cpp:
13330        (WebCore::RenderThemeEfl::createEdje):
13331        (WebCore::RenderThemeEfl::applyEdjeColors):
13332        (WebCore::RenderThemeEfl::RenderThemeEfl):
13333        (WebCore::RenderThemeEfl::adjustButtonStyle):
13334        (WebCore::RenderThemeEfl::adjustMenuListStyle):
13335        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
13336        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
13337        * platform/efl/RenderThemeEfl.h:
13338        (RenderThemeEfl):
13339
133402012-05-11  Gustavo Noronha Silva  <gns@gnome.org>
13341
13342        REGRESSION(r116205): [GTK]: build no longer supports thin archives
13343        https://bugs.webkit.org/show_bug.cgi?id=86207
13344
13345        * GNUmakefile.am: go back to not linking libWebCoreModules into
13346        libWebCore; when linking 2 convenience libraries libtools tries to
13347        extract the object files from one of them to add to the other, breaking
13348        thin archive builds
13349
133502012-05-11  Keishi Hattori  <keishi@webkit.org>
13351
13352        Sanitization algorithm for input type=email should strip whitespaces
13353        https://bugs.webkit.org/show_bug.cgi?id=86177
13354
13355        Reviewed by Kent Tamura.
13356
13357        No new tests. Covered by: fast/forms/ValidityState-typeMismatch-email.html
13358
13359        The spec says that the value sanitization algorithm should
13360        > Strip line breaks from the value, then strip leading and trailing whitespace from the value.
13361
13362        * html/EmailInputType.cpp:
13363        (WebCore::EmailInputType::sanitizeValue):
13364
133652012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
13366
13367        Unreviewed, rolling out r116752.
13368        http://trac.webkit.org/changeset/116752
13369        https://bugs.webkit.org/show_bug.cgi?id=86201
13370
13371        Build failure on Chromium-mac (Requested by tkent on #webkit).
13372
13373        * html/FormAssociatedElement.cpp:
13374        * html/FormAssociatedElement.h:
13375        (FormAssociatedElement):
13376        * html/HTMLFormControlElement.cpp:
13377        (WebCore::HTMLFormControlElement::setCustomValidity):
13378        * html/HTMLFormControlElement.h:
13379        (HTMLFormControlElement):
13380        * html/HTMLInputElement.cpp:
13381        (WebCore::HTMLInputElement::isValidValue):
13382        (WebCore::HTMLInputElement::typeMismatch):
13383        (WebCore::HTMLInputElement::valueMissing):
13384        (WebCore::HTMLInputElement::patternMismatch):
13385        (WebCore::HTMLInputElement::rangeUnderflow):
13386        (WebCore::HTMLInputElement::rangeOverflow):
13387        (WebCore::HTMLInputElement::minimum):
13388        (WebCore::HTMLInputElement::maximum):
13389        (WebCore::HTMLInputElement::stepMismatch):
13390        (WebCore::HTMLInputElement::minimumString):
13391        (WebCore::HTMLInputElement::maximumString):
13392        (WebCore):
13393        (WebCore::HTMLInputElement::stepBaseString):
13394        (WebCore::HTMLInputElement::stepString):
13395        (WebCore::HTMLInputElement::typeMismatchText):
13396        (WebCore::HTMLInputElement::valueMissingText):
13397        (WebCore::HTMLInputElement::isInRange):
13398        (WebCore::HTMLInputElement::isOutOfRange):
13399        * html/HTMLInputElement.h:
13400        (HTMLInputElement):
13401        * html/HTMLObjectElement.h:
13402        (WebCore::HTMLObjectElement::setCustomValidity):
13403        * html/HTMLSelectElement.cpp:
13404        (WebCore::HTMLSelectElement::valueMissing):
13405        * html/HTMLSelectElement.h:
13406        (HTMLSelectElement):
13407        * html/HTMLTextAreaElement.cpp:
13408        * html/HTMLTextAreaElement.h:
13409        (WebCore::HTMLTextAreaElement::valueMissing):
13410        (HTMLTextAreaElement):
13411        * html/InputType.cpp:
13412        (WebCore::InputType::alignValueForStep):
13413        (WebCore::InputType::stepUpFromRenderer):
13414        * html/InputType.h:
13415        (InputType):
13416        * html/ValidityState.cpp:
13417        (WebCore::ValidityState::validationMessage):
13418        (WebCore):
13419        (WebCore::ValidityState::setCustomErrorMessage):
13420        (WebCore::ValidityState::valueMissing):
13421        (WebCore::ValidityState::typeMismatch):
13422        (WebCore::ValidityState::patternMismatch):
13423        (WebCore::ValidityState::tooLong):
13424        (WebCore::ValidityState::rangeUnderflow):
13425        (WebCore::ValidityState::rangeOverflow):
13426        (WebCore::ValidityState::stepMismatch):
13427        (WebCore::ValidityState::customError):
13428        (WebCore::ValidityState::valid):
13429        * html/ValidityState.h:
13430        (ValidityState):
13431
134322012-05-11  Alexander Pavlov  <apavlov@chromium.org>
13433
13434        Web Inspector: Search box doesn't allow CSS selectors anymore
13435        https://bugs.webkit.org/show_bug.cgi?id=86196
13436
13437        Reviewed by Pavel Feldman.
13438
13439        Refactoring in http://trac.webkit.org/changeset/99983 inadvertently removed the selector matching during
13440        node search in the InspectorDOMAgent. This change re-introduces the Document::querySelectorAll() evaluation
13441        for the user query.
13442
13443        * inspector/InspectorDOMAgent.cpp:
13444        (WebCore::InspectorDOMAgent::performSearch):
13445
134462012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
13447
13448        Unreviewed, rolling out r116527.
13449        http://trac.webkit.org/changeset/116527
13450        https://bugs.webkit.org/show_bug.cgi?id=86199
13451
13452        Causing crashes on ClusterFuzz (Requested by inferno-sec on
13453        #webkit).
13454
13455        * rendering/RenderScrollbar.cpp:
13456        (WebCore::RenderScrollbar::updateScrollbarPart):
13457        * rendering/RenderScrollbarPart.h:
13458
134592012-05-11  Yoshifumi Inoue  <yosin@chromium.org>
13460
13461        [Forms] Move ValidityState methods implementation to another place
13462        https://bugs.webkit.org/show_bug.cgi?id=86058
13463
13464        Reviewed by Kent Tamura.
13465
13466        This patch changes ValidityState class for limiting scope of
13467        number/range input type related methods for introducing decimal
13468        arithmetic.
13469
13470        Methods related to validation are moved from ValidateState to
13471        input, select and textarea elements with virtual method based
13472        dispatching via FormAssociateElement instead of tag name
13473        dispatching so far for code simplification.
13474
13475        No new tests. This patch doesn't change behavior.
13476
13477        * html/FormAssociatedElement.cpp:
13478        (WebCore::FormAssociatedElement::customError): Added. Called from ValidateState. Returns custom error mssage in member variable.
13479        (WebCore::FormAssociatedElement::patternMismatch): Added.  Called from ValidateState. This is default implementation.
13480        (WebCore::FormAssociatedElement::rangeOverflow): Added.  Called from ValidateState. This is default implementation.
13481        (WebCore::FormAssociatedElement::rangeUnderflow): Added.  Called from ValidateState. This is default implementation.
13482        (WebCore::FormAssociatedElement::stepMismatch): Added.  Called from ValidateState. This is default implementation.
13483        (WebCore::FormAssociatedElement::tooLong): Added.  Called from ValidateState. This is default implementation.
13484        (WebCore::FormAssociatedElement::typeMismatch): Added.  Called from ValidateState. This is default implementation.
13485        (WebCore::FormAssociatedElement::valid): Added.  Called from ValidateState. This is default implementation.
13486        (WebCore::FormAssociatedElement::valueMissing): Added.  Called from ValidateState. This is default implementation.
13487        (WebCore::FormAssociatedElement::customValidationMessage): Added.  Called from ValidateState. This is default implementation.
13488        (WebCore::FormAssociatedElement::validationMessage): Added.  Called from ValidateState. This is default implementation.
13489        (WebCore::FormAssociatedElement::setCustomValidity): Added.  set custom error message.
13490        * html/FormAssociatedElement.h:
13491        (FormAssociatedElement): Added new instance value m_customValidationMessage.
13492        * html/HTMLFormControlElement.cpp:
13493        (WebCore::HTMLFormControlElement::setCustomValidity): Changed. Calls base class setCustomValidity.
13494        * html/HTMLFormControlElement.h:
13495        (HTMLFormControlElement):
13496        * html/HTMLInputElement.cpp:
13497        (WebCore::HTMLInputElement::isValidValue): Call m_inputType methods instead of HTMLInputElement's.
13498        (WebCore::HTMLInputElement::tooLong): Call m_inputType methods instead of HTMLInputElement's.
13499        (WebCore):
13500        (WebCore::HTMLInputElement::typeMismatch): Move implementation to InputType.
13501        (WebCore::HTMLInputElement::valueMissing):  Move implementation to InputType.
13502        (WebCore::HTMLInputElement::patternMismatch): Move implementation to InputType.
13503        (WebCore::HTMLInputElement::rangeUnderflow): Move implementation to InputType.
13504        (WebCore::HTMLInputElement::rangeOverflow): Move implementation to InputType.
13505        (WebCore::HTMLInputElement::validationMessage): Move implementation to InputType.
13506        (WebCore::HTMLInputElement::stepMismatch): Move implementation to InputType.
13507        (WebCore::HTMLInputElement::isInRange): Call m_inputType methods instead of HTMLInputElement's.
13508        (WebCore::HTMLInputElement::isOutOfRange): Call m_inputType methods instead of HTMLInputElement's.
13509        * html/HTMLInputElement.h:
13510        (HTMLInputElement): Make tooLong method private.
13511        * html/HTMLObjectElement.h: Add "virtual" and "OVERRIDE".
13512        * html/HTMLSelectElement.cpp:
13513        (WebCore::HTMLSelectElement::validationMessage): Added. Implementation for HTMLSelectElement.
13514        (WebCore::HTMLSelectElement::valueMissing): Added. Implementation for HTMLSelectElement.
13515        * html/HTMLSelectElement.h:
13516        (HTMLSelectElement):  Added entries for newly added methods.
13517        * html/HTMLTextAreaElement.cpp:
13518        (WebCore::HTMLTextAreaElement::validationMessage): Added. Implementation for HTMLTextAreaElement.
13519        (WebCore::HTMLTextAreaElement::valueMissing): Added. Implementation for HTMLTextAreaElement.
13520        (WebCore::HTMLTextAreaElement::tooLong): Added. Implementation for HTMLTextAreaElement.
13521        * html/HTMLTextAreaElement.h:
13522        (HTMLTextAreaElement): Added entries for newly added methods. Change tooLong and valueMissing private.
13523        * html/InputType.cpp:
13524        (WebCore::InputType::stepMismatch): Change method signature.
13525        (WebCore::InputType::alignValueForStep):  Changed for calling InputClass instead of HTMLINputElement.
13526        (WebCore::InputType::stepUpFromRenderer):  Added. Moved from HTMLInputElement.
13527        (WebCore::InputType::validationMessage): Added.  Moved from HTMLInputElement.
13528        * html/InputType.h:
13529        (InputType): Added entries for newly added methods and update methods signature.
13530        * html/ValidityState.cpp: Move actual implementation to FormAssociatedElement and derived classes for localizing implementation change of elements and input types.
13531        (WebCore::ValidityState::validationMessage): Changed to call FormAssociatedElement's method.
13532        (WebCore::ValidityState::valueMissing): Changed to call FormAssociatedElement's method.
13533        (WebCore::ValidityState::typeMismatch): Changed to call FormAssociatedElement's method.
13534        (WebCore::ValidityState::patternMismatch): Changed to call FormAssociatedElement's method.
13535        (WebCore::ValidityState::tooLong): Changed to call FormAssociatedElement's method.
13536        (WebCore::ValidityState::rangeUnderflow): Changed to call FormAssociatedElement's method.
13537        (WebCore::ValidityState::rangeOverflow): Changed to call FormAssociatedElement's method.
13538        (WebCore::ValidityState::stepMismatch): Changed to call FormAssociatedElement's method.
13539        (WebCore::ValidityState::customError): Changed to call FormAssociatedElement's method.
13540        (WebCore::ValidityState::valid):
13541        * html/ValidityState.h:
13542        (ValidityState): Remove custom validation message related things.
13543
135442012-05-11  Kent Tamura  <tkent@chromium.org>
13545
13546        Fix a build error without SVG, introduced by tab-size support.
13547
13548        * css/StyleResolver.cpp:
13549        (WebCore::StyleResolver::collectMatchingRulesForList):
13550
135512012-05-11  Shinya Kawanaka  <shinyak@chromium.org>
13552
13553        [Refactoring] Move Selection from DOMWindow to TreeScope.
13554        https://bugs.webkit.org/show_bug.cgi?id=82699
13555
13556        Reviewed by Ryosuke Niwa.
13557
13558        Since ShadowRoot will also manage its own version of DOMSelection, we would like to
13559        share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
13560        so that ShadowRoot can also use it.
13561
13562        No new tests, should covered by existing tests.
13563
13564        * dom/Document.cpp:
13565        (WebCore::Document::updateFocusAppearanceTimerFired):
13566        * dom/Document.h:
13567        (Document):
13568        * dom/ShadowRoot.cpp:
13569        (WebCore::ShadowRoot::selection):
13570        * dom/TreeScope.cpp:
13571        (WebCore::TreeScope::~TreeScope):
13572        (WebCore::TreeScope::getSelection):
13573        (WebCore):
13574        * dom/TreeScope.h:
13575        (WebCore):
13576        (TreeScope):
13577        * page/DOMSelection.cpp:
13578        (WebCore::DOMSelection::DOMSelection):
13579        (WebCore::DOMSelection::clearTreeScope):
13580        (WebCore):
13581        * page/DOMSelection.h:
13582        (WebCore):
13583        (WebCore::DOMSelection::create):
13584        (DOMSelection):
13585        * page/DOMWindow.cpp:
13586        (WebCore::DOMWindow::~DOMWindow):
13587        (WebCore::DOMWindow::clearDOMWindowProperties):
13588        (WebCore::DOMWindow::getSelection):
13589        * page/DOMWindow.h:
13590        (DOMWindow):
13591
135922012-05-04  Yury Semikhatsky  <yurys@chromium.org>
13593
13594        Web Inspector: console should allow JS execution in the context of an isolated world
13595        https://bugs.webkit.org/show_bug.cgi?id=85612
13596
13597        Reviewed by Pavel Feldman.
13598
13599        Added an option to select not only a frame but also isolated world in which
13600        to perform evaluation of the code typed into the console.
13601
13602        Each execution context can be identified using it injected script id. We call it
13603        execution context id in the protocol. Runtime agent is extended with an event that
13604        is sent when new ExecutionContext is created. The event tracking can be enabled/disabled
13605        using setReportExecutionContextCreation command.
13606
13607        * bindings/js/ScriptController.cpp:
13608        (WebCore):
13609        (WebCore::isolatedWorldToSecurityOriginMap):
13610        * bindings/js/ScriptController.h:
13611        (ScriptController):
13612        * bindings/js/ScriptState.cpp:
13613        (WebCore::isolatedWorldScriptState):
13614        (WebCore):
13615        * bindings/js/ScriptState.h:
13616        (WebCore):
13617        * bindings/v8/ScriptController.cpp:
13618        (WebCore):
13619        (WebCore::ScriptController::isolatedWorldToSecurityOriginMap):
13620        * bindings/v8/ScriptController.h:
13621        (ScriptController):
13622        * bindings/v8/ScriptState.cpp:
13623        (WebCore::isolatedWorldScriptState):
13624        (WebCore):
13625        * bindings/v8/ScriptState.h:
13626        (WebCore):
13627        * bindings/v8/V8IsolatedContext.cpp:
13628        (WebCore::V8IsolatedContext::setSecurityOrigin):
13629        * bindings/v8/V8Proxy.cpp:
13630        (WebCore::V8Proxy::setIsolatedWorldSecurityOrigin):
13631        (WebCore::V8Proxy::isolatedWorldContext):
13632        (WebCore):
13633        (WebCore::V8Proxy::isolatedWorldToSecurityOriginMap):
13634        * bindings/v8/V8Proxy.h:
13635        (V8Proxy):
13636        * inspector/CodeGeneratorInspector.py:
13637        (DomainNameFixes):
13638        * inspector/Inspector.json:
13639        * inspector/InspectorInstrumentation.cpp:
13640        (WebCore::InspectorInstrumentation::didCreateIsolatedContextImpl):
13641        (WebCore):
13642        * inspector/InspectorInstrumentation.h:
13643        (WebCore):
13644        (InspectorInstrumentation):
13645        (WebCore::InspectorInstrumentation::didCreateIsolatedContext):
13646        * inspector/InspectorRuntimeAgent.cpp:
13647        (WebCore::InspectorRuntimeAgent::evaluate):
13648        * inspector/InspectorRuntimeAgent.h:
13649        (InspectorRuntimeAgent):
13650        * inspector/InstrumentingAgents.h:
13651        (WebCore):
13652        (WebCore::InstrumentingAgents::InstrumentingAgents):
13653        (WebCore::InstrumentingAgents::pageRuntimeAgent):
13654        (WebCore::InstrumentingAgents::setPageRuntimeAgent):
13655        (InstrumentingAgents):
13656        * inspector/PageRuntimeAgent.cpp:
13657        (PageRuntimeAgentState):
13658        (WebCore):
13659        (WebCore::PageRuntimeAgent::PageRuntimeAgent):
13660        (WebCore::PageRuntimeAgent::setFrontend):
13661        (WebCore::PageRuntimeAgent::clearFrontend):
13662        (WebCore::PageRuntimeAgent::restore):
13663        (WebCore::PageRuntimeAgent::setReportExecutionContextCreation):
13664        (WebCore::PageRuntimeAgent::didCreateExecutionContext):
13665        (WebCore::PageRuntimeAgent::getScriptStateForEval):
13666        * inspector/PageRuntimeAgent.h:
13667        (WebCore):
13668        (PageRuntimeAgent):
13669        * inspector/WorkerRuntimeAgent.cpp:
13670        (WebCore::WorkerRuntimeAgent::setReportExecutionContextCreation):
13671        (WebCore::WorkerRuntimeAgent::getScriptStateForEval):
13672        * inspector/WorkerRuntimeAgent.h:
13673        (WorkerRuntimeAgent):
13674        * inspector/front-end/ConsoleView.js:
13675        (WebInspector.ConsoleView.prototype.get statusBarItems):
13676        (WebInspector.ConsoleView.prototype.addContext):
13677        (WebInspector.ConsoleView.prototype.removeContext):
13678        (WebInspector.ConsoleView.prototype._updateIsolatedWorldSelector):
13679        (WebInspector.ConsoleView.prototype._contextUpdated):
13680        (WebInspector.ConsoleView.prototype._addedExecutionContext):
13681        (WebInspector.ConsoleView.prototype._currentEvaluationContextId):
13682        (WebInspector.ConsoleView.prototype._currentEvaluationContext):
13683        (WebInspector.ConsoleView.prototype._currentIsolatedWorldId):
13684        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
13685        * inspector/front-end/ExtensionPanel.js:
13686        (WebInspector.ExtensionSidebarPane.prototype.setExpression):
13687        * inspector/front-end/ExtensionServer.js:
13688        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
13689        * inspector/front-end/JavaScriptContextManager.js:
13690        (WebInspector.JavaScriptContextManager):
13691        (WebInspector.JavaScriptContextManager.prototype._didLoadCachedResources):
13692        (WebInspector.JavaScriptContextManager.prototype.isolatedContextCreated):
13693        (WebInspector.RuntimeDispatcher):
13694        (WebInspector.RuntimeDispatcher.prototype.isolatedContextCreated):
13695        (WebInspector.ExecutionContext):
13696        (WebInspector.ExecutionContext.comparator):
13697        (WebInspector.FrameEvaluationContext):
13698        (WebInspector.FrameEvaluationContext.prototype._frameNavigated):
13699        (WebInspector.FrameEvaluationContext.prototype._addExecutionContext):
13700        (WebInspector.FrameEvaluationContext.prototype._ensureMainWorldContextAdded):
13701        (WebInspector.FrameEvaluationContext.prototype.isolatedContexts):
13702
137032012-05-11  Andrey Kosyakov  <caseq@chromium.org>
13704
13705        Web Inspector: use div, not span as a parent element for ElementsTreeOutline in Audits panel
13706        https://bugs.webkit.org/show_bug.cgi?id=86188
13707
13708        Reviewed by Yury Semikhatsky.
13709
13710        We need to use <div>, not <span> as a container for ElementsTreeOutline, as latter accesses its parent offsetWidth
13711        within _treeElementFromEvent(), which returns 0 for inline elements.
13712
13713        * inspector/front-end/AuditFormatters.js:
13714        (WebInspector.AuditFormatters.node.onNodeAvailable):
13715        (WebInspector.AuditFormatters.node):
13716
137172012-05-11  Antti Koivisto  <antti@apple.com>
13718
13719        Inline Node::traverseNextNode
13720        https://bugs.webkit.org/show_bug.cgi?id=85844
13721
13722        Reviewed by Ryosuke Niwa.
13723        
13724        Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
13725        for many hot loops.
13726
13727        In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.
13728        
13729        Performance bots will tell if this was worthwhile.
13730
13731        * dom/ContainerNode.h:
13732        (WebCore::Node::traverseNextNode):
13733        (WebCore):
13734        (WebCore::Node::traverseNextSibling):
13735        * dom/Node.cpp:
13736        (WebCore::Node::traverseNextAncestorSibling):
13737        * dom/Node.h:
13738        (Node):
13739        * bindings/v8/RetainedDOMInfo.cpp:
13740
137412012-05-07  Yury Semikhatsky  <yurys@chromium.org>
13742
13743        Web Inspector: get rid of InspectorAgent::emitCommitLoadIfNeeded method
13744        https://bugs.webkit.org/show_bug.cgi?id=85708
13745
13746        Reviewed by Pavel Feldman.
13747
13748        Instead of calling emitCommitLoadIfNeeded after all agents are restored
13749        required actions are performed directly in the restore() methods.
13750
13751        * inspector/InspectorAgent.cpp:
13752        * inspector/InspectorAgent.h:
13753        (WebCore::InspectorAgent::didCommitLoadFired):
13754        * inspector/InspectorController.cpp:
13755        (WebCore::InspectorController::InspectorController):
13756        (WebCore::InspectorController::restoreInspectorStateFromCookie):
13757        * inspector/InspectorDatabaseAgent.cpp:
13758        (WebCore::InspectorDatabaseAgent::restore):
13759        * inspector/InspectorPageAgent.cpp:
13760        (WebCore::InspectorPageAgent::create):
13761        (WebCore::InspectorPageAgent::InspectorPageAgent):
13762        (WebCore::InspectorPageAgent::restore):
13763        * inspector/InspectorPageAgent.h:
13764        (WebCore):
13765        * inspector/InspectorResourceAgent.cpp:
13766        (WebCore::InspectorResourceAgent::restore):
13767
137682012-05-10  Andrey Kosyakov  <caseq@chromium.org>
13769
13770        Web Inspector: [Extensions API] add audit formatters for remote objects and DOM elements
13771        https://bugs.webkit.org/show_bug.cgi?id=86108
13772
13773        Reviewed by Pavel Feldman.
13774
13775       - added two new formatters to AuditResults object of webInspector.audits API;
13776
13777        * inspector/front-end/AuditFormatters.js:
13778        (WebInspector.AuditFormatters.resourceLink):
13779        (WebInspector.AuditFormatters.object.onEvaluate):
13780        (WebInspector.AuditFormatters.object): format as a remote object property list;
13781        (WebInspector.AuditFormatters.node.onNodeAvailable):
13782        (WebInspector.AuditFormatters.node.onEvaluate):
13783        (WebInspector.AuditFormatters.node): format as a DOM elements sub-tree;
13784        (WebInspector.AuditFormatters.Utilities.evaluate): common expression evaluation logic for both new formatters;
13785        * inspector/front-end/ExtensionAPI.js:
13786        (injectedExtensionAPI.AuditResultImpl):
13787        * inspector/front-end/auditsPanel.css:
13788        (.audit-result-tree ol.outline-disclosure):
13789        (.audit-result-tree .section .header):
13790        (.audit-result-tree .section .header::before):
13791
137922012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
13793
13794        Unreviewed, rolling out r116727.
13795        http://trac.webkit.org/changeset/116727
13796        https://bugs.webkit.org/show_bug.cgi?id=86181
13797
13798        Build error on Chromium-Android (Requested by tkent on
13799        #webkit).
13800
13801        * platform/graphics/MediaPlayer.cpp:
13802        (WebCore::MediaPlayer::enterFullscreen):
13803        (WebCore):
13804        * platform/graphics/MediaPlayer.h:
13805        (MediaPlayer):
13806        * platform/graphics/MediaPlayerPrivate.h:
13807        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
13808        (MediaPlayerPrivateInterface):
13809
138102012-05-11  Sheriff Bot  <webkit.review.bot@gmail.com>
13811
13812        Unreviewed, rolling out r116731.
13813        http://trac.webkit.org/changeset/116731
13814        https://bugs.webkit.org/show_bug.cgi?id=86178
13815
13816        Build failure on Chromium-mac (Requested by tkent on #webkit).
13817
13818        * platform/graphics/chromium/LayerRendererChromium.cpp:
13819        (WebCore::LayerRendererChromium::create):
13820        (WebCore::LayerRendererChromium::LayerRendererChromium):
13821        (WebCore::LayerRendererChromium::initializeSharedObjects):
13822        * platform/graphics/chromium/LayerRendererChromium.h:
13823        (LayerRendererChromium):
13824        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
13825        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
13826        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
13827        (CCLayerTreeHostImpl):
13828        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
13829        (UnthrottledTextureUploader):
13830        (WebCore::UnthrottledTextureUploader::create):
13831        (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
13832        (WebCore::UnthrottledTextureUploader::isBusy):
13833        (WebCore::UnthrottledTextureUploader::beginUploads):
13834        (WebCore::UnthrottledTextureUploader::endUploads):
13835        (WebCore::UnthrottledTextureUploader::uploadTexture):
13836        (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
13837        (WebCore):
13838        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
13839        (WebCore::CCSingleThreadProxy::recreateContext):
13840        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
13841        (WebCore):
13842        (UnthrottledTextureUploader):
13843        (WebCore::UnthrottledTextureUploader::create):
13844        (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
13845        (WebCore::UnthrottledTextureUploader::isBusy):
13846        (WebCore::UnthrottledTextureUploader::beginUploads):
13847        (WebCore::UnthrottledTextureUploader::endUploads):
13848        (WebCore::UnthrottledTextureUploader::uploadTexture):
13849        (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
13850        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
13851        (WebCore::CCThreadProxy::recreateContextOnImplThread):
13852
138532012-05-10  David Reveman  <reveman@chromium.org>
13854
13855        [Chromium] Move instantiation of texture uploader to LayerRendererChromium.
13856        https://bugs.webkit.org/show_bug.cgi?id=85893
13857
13858        Reviewed by Adrienne Walker.
13859
13860        Move instantiation of texture uploader to LayerRendererChromium and
13861        allow CCProxy to decide between a throttled or unthrottled uploader
13862        using a flag passed to the LayerRendererChromium constructor.
13863
13864        * platform/graphics/chromium/LayerRendererChromium.cpp:
13865        (WebCore::LayerRendererChromium::create):
13866        (WebCore::LayerRendererChromium::LayerRendererChromium):
13867        (WebCore::LayerRendererChromium::initializeSharedObjects):
13868        * platform/graphics/chromium/LayerRendererChromium.h:
13869        (LayerRendererChromium):
13870        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
13871        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
13872        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
13873        (CCLayerTreeHostImpl):
13874        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
13875        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
13876        (WebCore::CCSingleThreadProxy::recreateContext):
13877        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
13878        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
13879        (WebCore::CCThreadProxy::recreateContextOnImplThread):
13880
138812012-05-10  MORITA Hajime  <morrita@google.com>
13882
13883        ElementShadow should minimize the usage of "ShadowRoot" name
13884        https://bugs.webkit.org/show_bug.cgi?id=85970
13885
13886        Reviewed by Dimitri Glazkov.
13887
13888        This change cleans two out dated assumptions which brought in at
13889        early stage of Shadow DOM implementation.
13890
13891        - Removed Element::hasShadowRoot(): shadow existence can be checked by Element::shadow().
13892        - Made ElementShadow::removeAllShadowRoots() private: we no longer allow ShadowRoot removal.
13893          It can only happens at the ElementShadow destruction.
13894
13895        Most of changes in element implementations are basically simple
13896        replacement from hasShadowRoot() to shadow().
13897
13898        No new tests. Covered by existing tests.
13899
13900        * WebCore.exp.in:
13901        * dom/ContainerNodeAlgorithms.h:
13902        (WebCore::ChildFrameDisconnector::collectDescendant):
13903        * dom/ComposedShadowTreeWalker.cpp:
13904        (WebCore::ComposedShadowTreeWalker::traverseChild):
13905        * dom/Document.cpp:
13906        (WebCore::Document::buildAccessKeyMap):
13907        * dom/Element.cpp:
13908        (WebCore::Element::recalcStyle):
13909        (WebCore::Element::ensureShadowRoot):
13910        (WebCore::Element::childrenChanged):
13911        * dom/Element.h:
13912        (Element):
13913        (WebCore::isShadowHost):
13914        (WebCore):
13915        * dom/ElementShadow.cpp:
13916        (WebCore::ElementShadow::~ElementShadow):
13917        (WebCore::ElementShadow::removeAllShadowRoots):
13918        * dom/ElementShadow.h:
13919        (ElementShadow):
13920        (WebCore::ElementShadow::host):
13921        * dom/EventDispatcher.cpp:
13922        * dom/Node.cpp:
13923        (WebCore::oldestShadowRootFor):
13924        * dom/NodeRenderingContext.cpp:
13925        (WebCore::NodeRenderingContext::NodeRenderingContext):
13926        * dom/ShadowRoot.cpp:
13927        (WebCore::ShadowRoot::create):
13928        * html/ColorInputType.cpp:
13929        (WebCore::ColorInputType::createShadowSubtree):
13930        * html/FileInputType.cpp:
13931        (WebCore::FileInputType::createShadowSubtree):
13932        (WebCore::FileInputType::multipleAttributeChanged):
13933        * html/HTMLDetailsElement.cpp:
13934        (WebCore::HTMLDetailsElement::createShadowSubtree):
13935        * html/HTMLInputElement.cpp:
13936        (WebCore::HTMLInputElement::createShadowSubtree):
13937        * html/HTMLKeygenElement.cpp:
13938        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
13939        (WebCore::HTMLKeygenElement::shadowSelect):
13940        * html/HTMLMediaElement.cpp:
13941        (WebCore::HTMLMediaElement::hasMediaControls):
13942        * html/HTMLMeterElement.cpp:
13943        (WebCore::HTMLMeterElement::createShadowSubtree):
13944        * html/HTMLProgressElement.cpp:
13945        (WebCore::HTMLProgressElement::createShadowSubtree):
13946        * html/HTMLSummaryElement.cpp:
13947        (WebCore::HTMLSummaryElement::createShadowSubtree):
13948        * html/HTMLTextAreaElement.cpp:
13949        (WebCore::HTMLTextAreaElement::createShadowSubtree):
13950        * html/InputType.cpp:
13951        (WebCore::InputType::destroyShadowSubtree):
13952        * html/RangeInputType.cpp:
13953        (WebCore::RangeInputType::handleMouseDownEvent):
13954        (WebCore::RangeInputType::createShadowSubtree):
13955        * html/TextFieldInputType.cpp:
13956        (WebCore::TextFieldInputType::createShadowSubtree):
13957        * html/shadow/SliderThumbElement.cpp:
13958        (WebCore::trackLimiterElementOf):
13959        * inspector/InspectorDOMAgent.cpp:
13960        (WebCore::InspectorDOMAgent::unbind):
13961        (WebCore::InspectorDOMAgent::buildObjectForNode):
13962        * page/FocusController.cpp:
13963        (WebCore):
13964        * rendering/RenderFileUploadControl.cpp:
13965        (WebCore::RenderFileUploadControl::uploadButton):
13966        * svg/SVGTRefElement.cpp:
13967        (WebCore::SVGTRefElement::updateReferencedText):
13968        (WebCore::SVGTRefElement::detachTarget):
13969        * testing/Internals.cpp:
13970        (WebCore::Internals::ensureShadowRoot):
13971        (WebCore::Internals::youngestShadowRoot):
13972        (WebCore::Internals::oldestShadowRoot):
13973        * testing/Internals.h:
13974        (Internals):
13975        * testing/Internals.idl:
13976
139772012-05-10  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
13978
13979        Move resumeAnimations to use Internals interface
13980        https://bugs.webkit.org/show_bug.cgi?id=86063
13981
13982        Reviewed by Alexey Proskuryakov.
13983
13984        Add resumeAnimations functions, because it is able to work in the
13985        cross-port way through the Internals interface.
13986
13987        No new tests, since we are improving here the infra-structure for testing
13988        a specific method.
13989
13990        * testing/Internals.cpp:
13991        (WebCore::Internals::resumeAnimations):
13992        (WebCore):
13993        * testing/Internals.h:
13994        (Internals):
13995        * testing/Internals.idl:
13996
139972012-05-10  Min Qin  <qinmin@google.com>
13998
13999        split MediaPlayer::enterFullscreen into 2 seperate functions
14000        https://bugs.webkit.org/show_bug.cgi?id=86052
14001
14002        Reviewed by Benjamin Poulain.
14003
14004        It is confusing that enterFullscreen returns a boolean while exitFullscreen does
14005        not do the same. And ios does not need the return value.
14006        So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
14007        function for android.
14008        No tests as there are no behavior change, just refactoring.
14009
14010        * platform/graphics/MediaPlayer.cpp:
14011        (WebCore::MediaPlayer::enterFullscreen):
14012        (WebCore):
14013        (WebCore::MediaPlayer::canEnterFullscreen):
14014        * platform/graphics/MediaPlayer.h:
14015        (MediaPlayer):
14016        * platform/graphics/MediaPlayerPrivate.h:
14017        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
14018        (MediaPlayerPrivateInterface):
14019        (WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):
14020
140212012-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>
14022
14023        Unreviewed, rolling out r116715.
14024        http://trac.webkit.org/changeset/116715
14025        https://bugs.webkit.org/show_bug.cgi?id=86172
14026
14027        Broke http/tests/security/cross-frame-access-selection.html
14028        (Requested by tkent on #webkit).
14029
14030        * dom/Document.cpp:
14031        (WebCore):
14032        (WebCore::Document::getSelection):
14033        * dom/Document.h:
14034        (Document):
14035        * dom/ShadowRoot.cpp:
14036        (WebCore::ShadowRoot::selection):
14037        * dom/TreeScope.cpp:
14038        (WebCore::TreeScope::~TreeScope):
14039        * dom/TreeScope.h:
14040        (WebCore):
14041        (TreeScope):
14042        * page/DOMSelection.cpp:
14043        (WebCore::DOMSelection::DOMSelection):
14044        * page/DOMSelection.h:
14045        (WebCore):
14046        (WebCore::DOMSelection::create):
14047        (DOMSelection):
14048        * page/DOMWindow.cpp:
14049        (WebCore::DOMWindow::~DOMWindow):
14050        (WebCore::DOMWindow::clearDOMWindowProperties):
14051        (WebCore::DOMWindow::getSelection):
14052        * page/DOMWindow.h:
14053        (DOMWindow):
14054
140552012-05-10  Hajime Morrita  <morrita@google.com>
14056
14057        WebKit should support tab-size.
14058        https://bugs.webkit.org/show_bug.cgi?id=52994
14059
14060        - Added boilerplate for "tab-size" CSS property.
14061        - Added RenderStye::tabSize() as a RareInheritedData.
14062        - Replaced TextRun::m_allowTabs into TextRun::m_tabSize.
14063
14064        Reviewed by Simon Fraser.
14065
14066        Tests: fast/css/tab-size-expected.html
14067               fast/css/tab-size.html
14068
14069        * css/CSSComputedStyleDeclaration.cpp:
14070        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
14071        * css/CSSParser.cpp:
14072        (WebCore::CSSParser::parseValue):
14073        * css/CSSProperty.cpp:
14074        (WebCore::CSSProperty::isInheritedProperty):
14075        * css/CSSPropertyNames.in:
14076        * css/CSSStyleSelector.cpp:
14077        (WebCore::CSSStyleSelector::applyProperty):
14078        * html/canvas/CanvasRenderingContext2D.cpp:
14079        (WebCore::CanvasRenderingContext2D::drawTextInternal):
14080        * platform/chromium/PopupListBox.cpp:
14081        (WebCore::PopupListBox::paintRow):
14082        * platform/graphics/Font.h:
14083        (WebCore::Font::tabWidth):
14084        * platform/graphics/TextRun.h:
14085        (WebCore::TextRun::TextRun):
14086        (WebCore::TextRun::allowTabs):
14087        (WebCore::TextRun::tabSize):
14088        (WebCore::TextRun::setTabSize):
14089        * platform/graphics/WidthIterator.cpp:
14090        (WebCore::WidthIterator::advance):
14091        * platform/graphics/mac/ComplexTextController.cpp:
14092        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
14093        * platform/win/PopupMenuWin.cpp:
14094        (WebCore::PopupMenuWin::paint):
14095        * rendering/InlineTextBox.cpp:
14096        (WebCore::InlineTextBox::constructTextRun):
14097        * rendering/RenderBlock.cpp:
14098        (WebCore::RenderBlock::constructTextRun):
14099        * rendering/RenderBlockLineLayout.cpp:
14100        (WebCore::textWidth):
14101        (WebCore::tryHyphenating):
14102        * rendering/RenderText.cpp:
14103        (WebCore::RenderText::widthFromCache):
14104        (WebCore::RenderText::computePreferredLogicalWidths):
14105        (WebCore::RenderText::width):
14106        * rendering/RenderText.h:
14107        * rendering/style/RenderStyle.cpp:
14108        (WebCore::RenderStyle::diff):
14109        * rendering/style/RenderStyle.h:
14110        (WebCore::RenderStyleBitfields::tabSize):
14111        (WebCore::RenderStyleBitfields::collapsedTabSize):
14112        (WebCore::RenderStyleBitfields::setTabSize):
14113        (WebCore::RenderStyleBitfields::initialTabSize):
14114        * rendering/style/StyleRareInheritedData.cpp:
14115        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
14116        (WebCore::StyleRareInheritedData::operator==):
14117        * rendering/style/StyleRareInheritedData.h:
14118        * rendering/svg/SVGInlineTextBox.cpp:
14119        (WebCore::SVGInlineTextBox::constructTextRun):
14120        * rendering/svg/SVGTextMetrics.cpp:
14121        (WebCore::constructTextRun):
14122
141232012-05-10  Antoine Labour  <piman@chromium.org>
14124
14125        Sync with impl thread when removing references to external textures
14126        https://bugs.webkit.org/show_bug.cgi?id=86054
14127
14128        We want to ensure the client side is safe to release textures, so we
14129        sync with the impl thread when:
14130        - we change the texture (and we had one)
14131        - the layer is removed from the tree (and we had a texture)
14132        - the layer is destroyed (and we had a texture)
14133
14134        Reviewed by James Robinson.
14135
14136        Test: TextureLayerChromiumTest.
14137
14138        * platform/graphics/chromium/TextureLayerChromium.cpp:
14139        (WebCore::TextureLayerChromium::~TextureLayerChromium):
14140        (WebCore::TextureLayerChromium::setTextureId):
14141        (WebCore::TextureLayerChromium::setLayerTreeHost):
14142        (WebCore):
14143        * platform/graphics/chromium/TextureLayerChromium.h:
14144        (TextureLayerChromium):
14145
141462012-05-10  Kent Tamura  <tkent@chromium.org>
14147
14148        [Chromium] attempt to build fix for Chromium-mac.
14149        r116697 introduced an override of a system function. It's intentional
14150        and WebCoreTextFieldCell should be in the whitelist.
14151
14152        * WebCore.gyp/WebCore.gyp:
14153
141542012-05-10  Anders Carlsson  <andersca@apple.com>
14155
14156        PDF files won't scroll in Safari when using Adobe plug-in
14157        https://bugs.webkit.org/show_bug.cgi?id=86167
14158        <rdar://problem/11389719>
14159
14160        Reviewed by Sam Weinig.
14161
14162        * page/scrolling/ScrollingCoordinator.cpp:
14163        (WebCore::computeNonFastScrollableRegion):
14164        Loop over the frame view children looking for plug-in views that want wheel events
14165        and add them to the non-fast scrollable region. Ideally, the plug-ins should be added
14166        to the set of scrollable areas, but PluginView in WebKit2 is not a ScrollableArea yet.
14167
14168        * plugins/PluginViewBase.h:
14169        (PluginViewBase):
14170        (WebCore::PluginViewBase::wantsWheelEvents):
14171
141722012-05-10  Alexey Proskuryakov  <ap@apple.com>
14173
14174        Crash in 3rd party WebKit apps that disable cache at a wrong time
14175        https://bugs.webkit.org/show_bug.cgi?id=86027
14176        <rdar://problem/10615880>
14177
14178        Reviewed by Antti Koivisto.
14179
14180        Added an API test.
14181
14182        The fix is to use CachedResourceHandle throughout MemoryCache, which will certainly
14183        keep the resource alive. Also removed earlier fixes.
14184
14185        * css/CSSImageSetValue.cpp: (WebCore::CSSImageSetValue::cachedImageSet):
14186        * css/CSSImageValue.cpp: (WebCore::CSSImageValue::cachedImage):
14187        * css/WebKitCSSShaderValue.cpp: (WebCore::WebKitCSSShaderValue::cachedShader):
14188        * history/PageCache.cpp: (WebCore::PageCache::releaseAutoreleasedPagesNow):
14189        * loader/ImageLoader.cpp: (WebCore::ImageLoader::updateFromElement):
14190        * loader/TextTrackLoader.cpp: (WebCore::TextTrackLoader::load):
14191        * loader/cache/CachedResourceLoader.cpp:
14192        (WebCore::CachedResourceLoader::requestImage):
14193        (WebCore::CachedResourceLoader::requestFont):
14194        (WebCore::CachedResourceLoader::requestTextTrack):
14195        (WebCore::CachedResourceLoader::requestShader):
14196        (WebCore::CachedResourceLoader::requestCSSStyleSheet):
14197        (WebCore::CachedResourceLoader::requestUserCSSStyleSheet):
14198        (WebCore::CachedResourceLoader::requestScript):
14199        (WebCore::CachedResourceLoader::requestXSLStyleSheet):
14200        (WebCore::CachedResourceLoader::requestSVGDocument):
14201        (WebCore::CachedResourceLoader::requestLinkResource):
14202        (WebCore::CachedResourceLoader::requestRawResource):
14203        (WebCore::CachedResourceLoader::requestResource):
14204        (WebCore::CachedResourceLoader::revalidateResource):
14205        (WebCore::CachedResourceLoader::loadResource):
14206        (WebCore::CachedResourceLoader::requestPreload):
14207        * loader/cache/CachedResourceLoader.h: (CachedResourceLoader):
14208        * loader/cache/MemoryCache.h: (WebCore::MemoryCache::setPruneEnabled):
14209
14210        * loader/cache/CachedResourceHandle.h:
14211        (WebCore::CachedResourceHandle::CachedResourceHandle):
14212        (WebCore::CachedResourceHandle::operator=):
14213        Teach CachedResourceHandle how to make CachedResourceHandle<CachedResource> from
14214        a handle to subclass.
14215
142162012-05-10  Tien-Ren Chen  <trchen@chromium.org>
14217
14218        Eliminate duplicated code for culled line box in RenderInline
14219        https://bugs.webkit.org/show_bug.cgi?id=85725
14220
14221        This patch extracts the common part of culledInlineBoundingBox() /
14222        culledInlineAbsoluteRects() / culledInlineAbsoluteQuads() to become a
14223        template function generateCulledLineBoxRects(). The template function
14224        accepts a new parameter, GeneratorContext functor, which will be
14225        invoked everytime a new line box rect has been generated. The generated
14226        rect will be in local coordinate. The functor will be responsible for
14227        appropriate transformation, then appending to vector or union with
14228        existing bounding box.
14229
14230        Reviewed by Eric Seidel.
14231
14232        No new tests. No change in behavior.
14233
14234        * rendering/RenderInline.cpp:
14235        (WebCore):
14236        (WebCore::RenderInline::generateLineBoxRects):
14237        (WebCore::RenderInline::generateCulledLineBoxRects):
14238        (WebCore::RenderInline::absoluteRects):
14239        (WebCore::RenderInline::absoluteQuads):
14240        (WebCore::RenderInline::linesBoundingBox):
14241        (WebCore::RenderInline::culledInlineVisualOverflowBoundingBox):
14242        (WebCore::RenderInline::addFocusRingRects):
14243        * rendering/RenderInline.h:
14244        (RenderInline):
14245
142462012-05-10  Abhishek Arya  <inferno@chromium.org>
14247
14248        Crash in swapInNodePreservingAttributesAndChildren.
14249        https://bugs.webkit.org/show_bug.cgi?id=85197
14250 
14251        Reviewed by Ryosuke Niwa.
14252 
14253        Keep the children in a ref vector before adding them to newNode.
14254        They can get destroyed due to mutation events.
14255
14256        No new tests because we don't have a reduction.
14257
14258        * editing/ReplaceNodeWithSpanCommand.cpp:
14259        (WebCore::swapInNodePreservingAttributesAndChildren):
14260
142612012-05-10  Shinya Kawanaka  <shinyak@chromium.org>
14262
14263        [Refactoring] Move Selection from DOMWindow to TreeScope.
14264        https://bugs.webkit.org/show_bug.cgi?id=82699
14265
14266        Reviewed by Ryosuke Niwa.
14267
14268        Since ShadowRoot will also manage its own version of DOMSelection, we would like to
14269        share the code among Document and DOMSelection. This patch moves DOMSelection from DOMWindow to TreeScope
14270        so that ShadowRoot can also use it.
14271
14272        No new tests, should covered by existing tests.
14273
14274        * dom/Document.cpp:
14275        (WebCore::Document::updateFocusAppearanceTimerFired):
14276        * dom/Document.h:
14277        (Document):
14278        * dom/ShadowRoot.cpp:
14279        (WebCore::ShadowRoot::selection):
14280        * do/mTreeScope.cpp:
14281        (WebCore::TreeScope::~TreeScope):
14282        (WebCore::TreeScope::getSelection):
14283        (WebCore):
14284        * dom/TreeScope.h:
14285        (WebCore):
14286        (TreeScope):
14287        * page/DOMSelection.cpp:
14288        (WebCore::DOMSelection::DOMSelection):
14289        (WebCore::DOMSelection::clearTreeScope):
14290        (WebCore):
14291        * page/DOMSelection.h:
14292        (WebCore):
14293        (WebCore::DOMSelection::create):
14294        (DOMSelection):
14295        (WebCore::DOMSelection::frame):
14296        * page/DOMWindow.cpp:
14297        (WebCore::DOMWindow::~DOMWindow):
14298        (WebCore::DOMWindow::clearDOMWindowProperties):
14299        (WebCore::DOMWindow::getSelection):
14300        * page/DOMWindow.h:
14301        (DOMWindow):
14302
143032012-05-10  Kent Tamura  <tkent@chromium.org>
14304
14305        Unreviewed, rolling out r116594.
14306        http://trac.webkit.org/changeset/116594
14307        https://bugs.webkit.org/show_bug.cgi?id=86013
14308
14309        r116594 might have made some composition tests flaky.
14310
14311        * platform/graphics/chromium/LayerChromium.cpp:
14312        (WebCore::LayerChromium::addAnimation):
14313        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
14314        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
14315        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
14316        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
14317        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
14318        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
14319        (CCLayerTreeHost):
14320        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
14321        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
14322        * platform/graphics/chromium/cc/CCProxy.h:
14323        (CCProxy):
14324        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
14325        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
14326        (WebCore::CCSingleThreadProxy::doComposite):
14327        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
14328        (WebCore):
14329        * platform/graphics/chromium/cc/CCThreadProxy.h:
14330        (CCThreadProxy):
14331
143322012-05-10  Michael Nordman  <michaeln@google.com>
14333
14334        [chromium] DomStorage events handling needs TLC (2)
14335        https://bugs.webkit.org/show_bug.cgi?id=85221
14336        Alter the StorageArea virtual interface such that the mutators no longer
14337        return old values. This is to allow implementations of the interface to operate
14338        more asynchronously.
14339
14340        Reviewed by Adam Barth.
14341
14342        No new tests. Existing tests cover this.
14343
14344        * storage/StorageArea.h: Alter the interface so the mutators no longer return previous values
14345        * storage/StorageAreaImpl.cpp:
14346        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):  removed an unneeded PLATFORM(CHROMIUM) guard
14347        (WebCore::StorageAreaImpl::setItem): no longer return the old value
14348        (WebCore::StorageAreaImpl::removeItem): no longer return the old value
14349        (WebCore::StorageAreaImpl::clear): no longer return whether something was cleared
14350        * storage/StorageAreaImpl.h: match StorageArea's virtual interface
14351
143522012-05-10  Beth Dakin  <bdakin@apple.com>
14353
14354        https://bugs.webkit.org/show_bug.cgi?id=86158
14355        Overlay scrollbars without layers never paint in overflow regions in 
14356        tiled drawing mode
14357        -and corresponding-
14358        <rdar://problem/11289546>
14359
14360        Reviewed by Darin Adler.
14361
14362        RenderLayers paint scrollbars that do not have their own layers by 
14363        running a second pass through the layer tree after the layer tree has 
14364        painted. This ensures that the scrollbars always paint on top of 
14365        content. However, this mechanism was relying on 
14366        FrameView::paintContents() as a choke-point for all painting to 
14367        trigger the second painting pass. That is not a reasonable choke-point 
14368        in tiled drawing, so this patch adds similar code to 
14369        RenderLayerBacking.
14370
14371        Only opt into the second painting pass for scrollbars that do not have 
14372        their own layers.
14373        * rendering/RenderLayer.cpp:
14374        (WebCore::RenderLayer::paintOverflowControls):
14375        
14376        A layer that paints into its backing cannot return early here if it 
14377        has overlay scrollbars to paint.
14378        (WebCore::RenderLayer::paintLayer):
14379        
14380        This replicates code in FrameView::paintContents(). After painting the 
14381        owning layer, do a second pass if there are overlay scrollbars to 
14382        paint.
14383        * rendering/RenderLayerBacking.cpp:
14384        (WebCore::RenderLayerBacking::paintIntoLayer):
14385
143862012-05-10  Anders Carlsson  <andersca@apple.com>
14387
14388        Well, at least fixing the GTK+ build is something!
14389
14390        * platform/gtk/LocalizedStringsGtk.cpp:
14391        (WebCore::insecurePluginVersionText):
14392        (WebCore):
14393
143942012-05-10  Anders Carlsson  <andersca@apple.com>
14395
14396        Add insecurePluginVersionText stubs.
14397
14398        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
14399        (WebCore::insecurePluginVersionText):
14400        (WebCore):
14401        * platform/efl/LocalizedStringsEfl.cpp:
14402        (WebCore::insecurePluginVersionText):
14403        (WebCore):
14404        * platform/qt/LocalizedStringsQt.cpp:
14405        (WebCore::insecurePluginVersionText):
14406        (WebCore):
14407
144082012-05-10  Sheriff Bot  <webkit.review.bot@gmail.com>
14409
14410        Unreviewed, rolling out r116677.
14411        http://trac.webkit.org/changeset/116677
14412        https://bugs.webkit.org/show_bug.cgi?id=86159
14413
14414        This patch causes linker error to some mac bots (Requested by
14415        jianli_ on #webkit).
14416
14417        * WebCore.exp.in:
14418        * dom/ContainerNode.h:
14419        * dom/Node.cpp:
14420        (WebCore::Node::traverseNextNode):
14421        (WebCore::Node::traverseNextSibling):
14422        * dom/Node.h:
14423        (Node):
14424
144252012-05-10  Abhishek Arya  <inferno@chromium.org>
14426
14427        Crash in FontCache::releaseFontData due to infinite float size.
14428        https://bugs.webkit.org/show_bug.cgi?id=86110
14429
14430        Reviewed by Andreas Kling.
14431
14432        New callers always forget to clamp the font size, which overflows
14433        to infinity on multiplication. It is best to clamp it at the end
14434        to avoid getting greater than std::numeric_limits<float>::max().
14435
14436        Test: fast/css/large-font-size-crash.html
14437
14438        * platform/graphics/FontDescription.h:
14439        (WebCore::FontDescription::setComputedSize):
14440        (WebCore::FontDescription::setSpecifiedSize):
14441
144422012-05-10  Beth Dakin  <bdakin@apple.com>
14443
14444        https://bugs.webkit.org/show_bug.cgi?id=82131
14445        [Mac] REGRESSION (r110480): Text field that specifies background-color 
14446        (or is auto-filled) gets un-themed border
14447        -and corresponding-
14448        <rdar://problem/11115221>
14449
14450        Reviewed by Maciej Stachowiak.
14451
14452        This change rolls out r110480 which is what caused styled text fields 
14453        to get the un-themed border, and it does a bunch of work to make sure 
14454        we get the pretty, new version of the NSTextField art whenever 
14455        possible. We do this differently for post-Lion OS's since there is now 
14456        a way to opt into it all the time. Lion and SnowLeopard can only use 
14457        the new art in HiDPI mode when the background color of the text field 
14458        is just white.
14459
14460        RenderThemeMac::textField() takes a boolean paramter used to determine 
14461        if the new gradient will be used.
14462        * rendering/RenderThemeMac.h:
14463        (RenderThemeMac):
14464        
14465        This is the post-Lion workaround. This code has no effect on Lion and 
14466        SnowLeopard. This allows up to opt into a version of [NSTextField drawWithFrame:] that will only draw the frame of the text field; without this, it will draw the frame and the background, which creates a number of problems with styled text fields and text fields in HiDPI. There is a less comprehesive workaround for Lion and SnowLeopard in place in RenderThemeMac::textField().
14467        * rendering/RenderThemeMac.mm:
14468        (-[WebCoreTextFieldCell _coreUIDrawOptionsWithFrame:inView:includeFocus:]):
14469        
14470        This is the roll-out of r110480.
14471        (WebCore::RenderThemeMac::isControlStyled):
14472        
14473        See the comments for a full explanation, but this is mostly code for 
14474        Lion and SnowLeopard to determine if we can opt into the new artwork.
14475        (WebCore::RenderThemeMac::paintTextField):
14476        (WebCore::RenderThemeMac::textField):
14477
144782012-05-10  Anders Carlsson  <andersca@apple.com>
14479
14480        WebKit1: Add a way to blacklist specific plug-ins/plug-in versions
14481        https://bugs.webkit.org/show_bug.cgi?id=86150
14482        <rdar://problem/9551196>
14483
14484        Reviewed by Sam Weinig.
14485
14486        * English.lproj/Localizable.strings:
14487        Update.
14488
14489        * loader/SubframeLoader.cpp:
14490        (WebCore::SubframeLoader::loadPlugin):
14491        It is possible that the client has already set the unavailability reason so don't try to set it twice.
14492
14493        * platform/LocalizedStrings.cpp:
14494        (WebCore::insecurePluginVersionText):
14495        * platform/LocalizedStrings.h:
14496        Add insecure plug-in version text.
14497
14498        * rendering/RenderEmbeddedObject.cpp:
14499        (WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
14500        * rendering/RenderEmbeddedObject.h:
14501        Add InsecurePluginVersion unavailability reason.
14502
145032012-05-10  Eric Seidel  <eric@webkit.org>
14504
14505        Make IFRAME_SEAMLESS child documents inherit styles from their parent iframe element
14506        https://bugs.webkit.org/show_bug.cgi?id=85940
14507
14508        Reviewed by Ojan Vafai.
14509
14510        The HTML5 <iframe seamless> spec says:
14511        In a CSS-supporting user agent: the user agent must, for the purpose of CSS property
14512        inheritance only, treat the root element of the active document of the iframe
14513        element's nested browsing context as being a child of the iframe element.
14514        (Thus inherited properties on the root element of the document in the
14515        iframe will inherit the computed values of those properties on the iframe
14516        element instead of taking their initial values.)
14517
14518        Initially I implemented this support to the letter of the spec. However, doing so I learned
14519        that WebKit has a RenderStyle for the Document Node, not just the root element of the document.
14520        In this RenderStyle on the Document, we add a bunch of per-document styles from settings
14521        including designMode.
14522
14523        This change makes StyleResolver::styleForDocument inherit style from the parent iframe's
14524        style, before applying any of these per-document styles.  This may or may not be correct
14525        depending on what behavior we want for rtl-ordering, page-zoom, locale, design mode, etc.
14526        For now, we continue to treat the iframe's document as independent in these regards, and
14527        the settings on that document override those inherited from the iframe.
14528
14529        Also, intially when making this work, I added redirects in recalcStyle and scheduleStyleRecalc
14530        from the child document to the parent document in the case of seamless (since the parent
14531        document effectively manages the style resolve and layout of the child in seamless mode).
14532        However, I was not able to find a test which depended on this code change, so in this final patch
14533        I have removed both of these modifications and replaced them with FIXMEs.  Based on discussions
14534        with Ojan and James Robinson, I believe both of those changes may eventually be wanted.
14535
14536        This change basically does 3 things:
14537        1.  Makes StyleResolver::styleForDocument inherit from the parent iframe.
14538        2.  Makes any recalcStyle calls on the iframe propogate down into the child document (HTMLIFrameElement::didRecalcStyle).
14539        3.  Makes Document::recalcStyle aware of the fact that the Document's style *can* change
14540            for reasons other than recalcStyle(Force).
14541
14542        I'm open to more testing suggestions, if reviewers have settings on the Document's style
14543        that you want to make sure we inherit from the parent iframe, or don't inherit, etc.
14544        I view this as a complete solution to this aspect of the current <iframe seamless> spec,
14545        but likely not the last code we will write for this aspect of the seamless feature. :)
14546
14547        Tested by fast/frames/seamlesss/seamless-css-cascade.html and seamless-designMode.html
14548
14549        * css/StyleResolver.cpp:
14550        (WebCore::StyleResolver::collectMatchingRulesForList):
14551        * dom/Document.cpp:
14552        (WebCore::Document::scheduleStyleRecalc):
14553        (WebCore::Document::recalcStyle):
14554        * html/HTMLIFrameElement.cpp:
14555        (WebCore::HTMLIFrameElement::HTMLIFrameElement):
14556        (WebCore::HTMLIFrameElement::didRecalcStyle):
14557        (WebCore):
14558        * html/HTMLIFrameElement.h:
14559        (HTMLIFrameElement):
14560
145612012-05-10  Julien Chaffraix  <jchaffraix@webkit.org>
14562
14563        Crash in computedCSSPadding* functions due to RenderImage::imageDimensionsChanged called during attachment
14564        https://bugs.webkit.org/show_bug.cgi?id=85912
14565
14566        Reviewed by Eric Seidel.
14567
14568        Tests: fast/images/link-body-content-imageDimensionChanged-crash.html
14569               fast/images/script-counter-imageDimensionChanged-crash.html
14570
14571        The bug comes from CSS generated images that could end up calling imageDimensionsChanged during attachment. As the
14572        rest of the code (e.g. computedCSSPadding*) would assumes that we are already inserted in the tree, we would crash.
14573
14574        The solution is to bail out in this case as newly inserted RenderObject will trigger layout later on and properly
14575        handle what we would be doing as part of imageDimensionChanged (the only exception being updating our intrinsic
14576        size which should be done as part of imageDimensionsChanged).
14577
14578        * rendering/RenderImage.cpp:
14579        (WebCore::RenderImage::imageDimensionsChanged):
14580
145812012-05-10  Adam Barth  <abarth@webkit.org>
14582
14583        ASSERT in BidiResolver<Iterator, Run>::commitExplicitEmbedding makes running debug builds annoying
14584        https://bugs.webkit.org/show_bug.cgi?id=86140
14585
14586        Reviewed by Eric Seidel.
14587
14588        The correct fix here is to resolve
14589        https://bugs.webkit.org/show_bug.cgi?id=76574, but in the mean time,
14590        this ASSERT is annoying.
14591
14592        * platform/text/BidiResolver.h:
14593        (WebCore::::commitExplicitEmbedding):
14594
145952012-05-10  Mark Pilgrim  <pilgrim@chromium.org>
14596
14597        [Chromium] Call addTraceEvent and getTraceCategoryEnabledFlag directly
14598        https://bugs.webkit.org/show_bug.cgi?id=85399
14599
14600        Reviewed by Adam Barth.
14601
14602        Part of a refactoring series. See tracking bug 82948.
14603
14604        * CMakeLists.txt:
14605        * GNUmakefile.list.am:
14606        * Target.pri:
14607        * WebCore.gypi:
14608        * WebCore.vcproj/WebCore.vcproj:
14609        * WebCore.xcodeproj/project.pbxproj:
14610        * platform/EventTracer.cpp: Added.
14611        (WebCore):
14612        (WebCore::EventTracer::getTraceCategoryEnabledFlag):
14613        (WebCore::EventTracer::addTraceEvent):
14614        * platform/EventTracer.h: Added.
14615        (WebCore):
14616        (EventTracer):
14617        * platform/chromium/EventTracerChromium.cpp: Added.
14618        (WebCore):
14619        (WebCore::EventTracer::getTraceCategoryEnabledFlag):
14620        (WebCore::EventTracer::addTraceEvent):
14621        * platform/chromium/PlatformSupport.h:
14622        * platform/chromium/TraceEvent.h:
14623
146242012-05-10  Adam Barth  <abarth@webkit.org>
14625
14626        ScrollView::fixedVisibleContentRect should be public
14627        https://bugs.webkit.org/show_bug.cgi?id=86147
14628
14629        Reviewed by Eric Seidel.
14630
14631        Some code in the WebKit layer of OS(ANDROID) uses this function. That
14632        could will be upstreamed in a later patch. For now, this patch just
14633        makes this function public so that we remove the diff to this file.
14634
14635        * platform/ScrollView.h:
14636        (WebCore::ScrollView::fixedVisibleContentRect):
14637        (WebCore::ScrollView::delegatesScrollingDidChange):
14638
146392012-05-10  Anders Carlsson  <andersca@apple.com>
14640
14641        Rename the missing plug-in indicator to the unavailable plug-in indicator
14642        https://bugs.webkit.org/show_bug.cgi?id=86136
14643
14644        Reviewed by Sam Weinig.
14645
14646        Since the indicator is shown for more than just missing plug-ins, generalize it and use a plug-in unavailability
14647        reason enum to make it easier to extend. Also, pass the unavailability reason to the ChromeClient member functions.
14648
14649        * WebCore.exp.in:
14650        * html/HTMLEmbedElement.cpp:
14651        (WebCore::HTMLEmbedElement::updateWidget):
14652        * html/HTMLObjectElement.cpp:
14653        (WebCore::HTMLObjectElement::updateWidget):
14654        * html/HTMLPlugInElement.cpp:
14655        (WebCore::HTMLPlugInElement::defaultEventHandler):
14656        * html/HTMLPlugInImageElement.cpp:
14657        (WebCore::HTMLPlugInImageElement::updateWidgetIfNecessary):
14658        * loader/SubframeLoader.cpp:
14659        (WebCore::SubframeLoader::loadPlugin):
14660        * page/ChromeClient.h:
14661        (WebCore::ChromeClient::shouldUnavailablePluginMessageBeButton):
14662        (WebCore::ChromeClient::unavailablePluginButtonClicked):
14663        * page/FrameView.cpp:
14664        (WebCore::FrameView::updateWidget):
14665        * rendering/RenderEmbeddedObject.cpp:
14666        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
14667        (WebCore::RenderEmbeddedObject::setPluginUnavailabilityReason):
14668        (WebCore::RenderEmbeddedObject::showsUnavailablePluginIndicator):
14669        (WebCore::RenderEmbeddedObject::setUnavailablePluginIndicatorIsPressed):
14670        (WebCore::RenderEmbeddedObject::paint):
14671        (WebCore::RenderEmbeddedObject::paintReplaced):
14672        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
14673        (WebCore::RenderEmbeddedObject::unavailablePluginReplacementText):
14674        (WebCore):
14675        (WebCore::RenderEmbeddedObject::isInUnavailablePluginIndicator):
14676        (WebCore::shouldUnavailablePluginMessageBeButton):
14677        (WebCore::RenderEmbeddedObject::handleUnavailablePluginIndicatorEvent):
14678        (WebCore::RenderEmbeddedObject::getCursor):
14679        * rendering/RenderEmbeddedObject.h:
14680        (RenderEmbeddedObject):
14681
146822012-05-10  Brady Eidson  <beidson@apple.com>
14683
14684        <rdar://problem/10972577> and https://bugs.webkit.org/show_bug.cgi?id=80170
14685        Contents of noscript elements turned into strings in WebArchives
14686
14687        Reviewed by Andy Estes.
14688
14689        There's a much deeper question about how innerHTML of <noscript> is expected to work in 
14690        both a scripting and non-scripting environment that we should pursue separately.
14691
14692        But for webarchives, we can solve this by filtering out the <noscript> elements completely 
14693        if scripting is enabled.
14694
14695        Test: webarchive/ignore-noscript-if-scripting-enabled.html
14696
14697        * WebCore.exp.in:
14698
14699        Add arguments to createMarkup and MarkupAccumulator methods to pass a Vector of QualifiedNames
14700        that should be filtered from the resulting markup:
14701        * editing/MarkupAccumulator.cpp:
14702        (WebCore::MarkupAccumulator::serializeNodes):
14703        (WebCore::MarkupAccumulator::serializeNodesWithNamespaces):
14704        * editing/MarkupAccumulator.h:
14705        * editing/markup.cpp:
14706        (WebCore::createMarkup):
14707        * editing/markup.h:
14708
14709        If scripting is enabled, add the noscriptTag to the tag names to filter:
14710        * loader/archive/cf/LegacyWebArchive.cpp:
14711        (WebCore::LegacyWebArchive::create):
14712
147132012-05-10  Abhishek Arya  <inferno@chromium.org>
14714
14715        Crash due to floats not removed from first-letter element.
14716        https://bugs.webkit.org/show_bug.cgi?id=86019
14717
14718        Reviewed by Julien Chaffraix.
14719
14720        Move clearing logic of a floating/positioned object from removeChild
14721        to removeChildNode. There are lot of places which use removeChildNode
14722        directly and hence the object is not removed from the floating or
14723        positioned objects list.
14724
14725        Test: fast/block/float/float-not-removed-from-first-letter.html
14726
14727        * rendering/RenderObject.cpp:
14728        (WebCore::RenderObject::removeChild):
14729        * rendering/RenderObjectChildList.cpp:
14730        (WebCore::RenderObjectChildList::removeChildNode):
14731
147322012-05-10  Andreas Kling  <kling@webkit.org>
14733
14734        Remove empty ElementAttributeData destructor.
14735        <http://webkit.org/b/86126>
14736
14737        Reviewed by Antti Koivisto.
14738
14739        * dom/ElementAttributeData.cpp:
14740        * dom/ElementAttributeData.h:
14741
147422012-05-10  Yury Semikhatsky  <yurys@chromium.org>
14743
14744        Web Inspector: heap snapshot comparison view is broken
14745        https://bugs.webkit.org/show_bug.cgi?id=86102
14746
14747        Reviewed by Pavel Feldman.
14748
14749        Pass HeapSnapshotProxy instead of undefined to the profile load callback. Added
14750        compiler annotations to avoid such errors in the future.
14751
14752        * inspector/front-end/HeapSnapshotView.js:
14753
147542012-05-10  Zan Dobersek  <zandobersek@gmail.com>
14755
14756        [GTK] ENABLE_IFRAME_SEAMLESS support
14757        https://bugs.webkit.org/show_bug.cgi?id=85843
14758
14759        Reviewed by Eric Seidel.
14760
14761        Export the ENABLE_IFRAME_SEAMLESS feature define when the feature is
14762        enabled.
14763
14764        No new tests - all the related tests should now be passing.
14765
14766        * GNUmakefile.am:
14767
147682012-05-10  Antti Koivisto  <antti@apple.com>
14769
14770        Inline Node::traverseNextNode
14771        https://bugs.webkit.org/show_bug.cgi?id=85844
14772
14773        Reviewed by Ryosuke Niwa.
14774        
14775        Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
14776        for many hot loops.
14777
14778        In this version only the firstChild()/nextSibling() tests are inlined and the ancestor traversal is not.
14779        
14780        Performance bots will tell if this was worthwhile.
14781
14782        * dom/ContainerNode.h:
14783        (WebCore::Node::traverseNextNode):
14784        (WebCore):
14785        (WebCore::Node::traverseNextSibling):
14786        * dom/Node.cpp:
14787        (WebCore::Node::traverseNextAncestorSibling):
14788        * dom/Node.h:
14789        (Node):
14790
147912012-05-10  Tommy Widenflycht  <tommyw@google.com>
14792
14793        MediaStream API: Fix MediaHints parsing
14794        https://bugs.webkit.org/show_bug.cgi?id=86098
14795
14796        Reviewed by Adam Barth.
14797
14798        Not currently testable. Working on a series of patches that will fix that.
14799
14800        * Modules/mediastream/PeerConnection00.cpp:
14801        (WebCore::PeerConnection00::createMediaHints):
14802
148032012-05-10  Tommy Widenflycht  <tommyw@google.com>
14804
14805        [chromium] MediaStream API: Fix the ExtraData functionality in WebMediaStreamDescriptor
14806        https://bugs.webkit.org/show_bug.cgi?id=86087
14807
14808        Reviewed by Adam Barth.
14809
14810        Not easy to test but I have added code that excercises this to WebUserMediaClientMock (in DumpRenderTree).
14811
14812        * platform/chromium/support/WebMediaStreamDescriptor.cpp:
14813        (WebKit::WebMediaStreamDescriptor::setExtraData):
14814
148152012-05-10  Pavel Feldman  <pfeldman@chromium.org>
14816
14817        Web Inspector: search title is shown beside the search field (not under) in the vertical mode.
14818        https://bugs.webkit.org/show_bug.cgi?id=86120
14819
14820        Reviewed by Yury Semikhatsky.
14821
14822        This change makes search title render as placeholder at all times.
14823        It also adjusts the size of the search field when navigation arrows appear.
14824
14825        * inspector/front-end/SearchController.js:
14826        (WebInspector.SearchController):
14827        (WebInspector.SearchController.prototype.updateSearchLabel):
14828        (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
14829        (WebInspector.SearchController.prototype._createSearchNavigationButton):
14830        * inspector/front-end/inspector.css:
14831        (#toolbar-search-item):
14832        (.with-navigation-buttons #search):
14833        (.toolbar-search-navigation-label):
14834        (.with-navigation-buttons .toolbar-search-navigation-label):
14835        * inspector/front-end/inspector.html:
14836
148372012-05-10  Varun Jain  <varunjain@google.com>
14838
14839        [chromium] Trigger context menu for long press gesture
14840        https://bugs.webkit.org/show_bug.cgi?id=85919
14841
14842        Reviewed by Adam Barth.
14843
14844        Test: fast/events/touch/gesture/context-menu-on-long-press.html
14845
14846        * page/EventHandler.cpp:
14847        (WebCore):
14848        (WebCore::EventHandler::sendContextMenuEventForGesture):
14849        * page/EventHandler.h:
14850        (EventHandler):
14851
148522012-05-10  Abhishek Arya  <inferno@chromium.org>
14853
14854        Crash in ApplyStyleCommand::joinChildTextNodes.
14855        https://bugs.webkit.org/show_bug.cgi?id=85939
14856
14857        Reviewed by Ryosuke Niwa.
14858
14859        Test: editing/style/apply-style-join-child-text-nodes-crash.html
14860
14861        * editing/ApplyStyleCommand.cpp:
14862        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange): add conditions
14863        to bail out if our start and end position nodes are removed due to 
14864        mutation events in joinChildTextNodes.
14865        (WebCore::ApplyStyleCommand::applyInlineStyle): this executes after
14866        applyRelativeFontStyleChange in ApplyStyleCommand::doApply. So, need
14867        to bail out if our start and end position nodes are removed due to
14868        mutation events.
14869        (WebCore::ApplyStyleCommand::joinChildTextNodes): hold all the children
14870        in a ref vector to prevent them from getting destroyed due to mutation events.
14871
148722012-05-10  Erik Arvidsson  <arv@chromium.org>
14873
14874        Unreviewed, rebaselined run-bindings-tests results.
14875
14876        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
14877        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
14878        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
14879        * bindings/scripts/test/JS/JSTestObj.cpp:
14880        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
14881        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
14882        * bindings/scripts/test/V8/V8TestException.cpp:
14883        (WebCore::V8TestException::wrapSlow):
14884        * bindings/scripts/test/V8/V8TestException.h:
14885        (WebCore::V8TestException::wrap):
14886
148872012-05-10  Abhishek Arya  <inferno@chromium.org>
14888
14889        Crash in InsertParagraphSeparatorCommand::doApply.
14890        https://bugs.webkit.org/show_bug.cgi?id=84995
14891
14892        Reviewed by Ryosuke Niwa.
14893
14894        Test: editing/inserting/insert-paragraph-seperator-crash.html
14895
14896        * editing/DeleteSelectionCommand.cpp:
14897        (WebCore::DeleteSelectionCommand::mergeParagraphs): no need of static cast, since
14898        type of enclosingBlock returned is already Element*.
14899        * editing/IndentOutdentCommand.cpp:
14900        (WebCore::IndentOutdentCommand::tryIndentingAsListItem): no need of static cast, since
14901        type of enclosingBlock returned is already Element*.
14902        * editing/InsertParagraphSeparatorCommand.cpp:
14903        (WebCore::InsertParagraphSeparatorCommand::doApply): RefPtr startBlock to guard against
14904        mutation events.
14905        * editing/htmlediting.cpp:
14906        (WebCore::enclosingBlock): make sure type of enclosingNode is an element before doing
14907        the static cast. This was already failing in a couple of layout tests. Also, isBlock
14908        check already exists in the function call to enclosingNodeOfType, so don't need it
14909        again on enclosingNode's renderer.
14910        * editing/htmlediting.h: 
14911        (WebCore):
14912
149132012-05-10  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
14914
14915        TouchAdjustment doesn't correct for scroll-offsets.
14916        https://bugs.webkit.org/show_bug.cgi?id=86083
14917
14918        Reviewed by Kenneth Rohde Christiansen.
14919
14920        Already tested by: touchadjustment/scroll-delegation
14921
14922        * page/EventHandler.cpp:
14923        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
14924        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
14925        * page/TouchAdjustment.cpp:
14926        (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
14927        * testing/Internals.cpp:
14928        (WebCore::Internals::bestZoomableAreaForTouchPoint):
14929
149302012-05-10  Konrad Piascik  <kpiascik@rim.com>
14931
14932        Fix typo in filename
14933        https://bugs.webkit.org/show_bug.cgi?id=86095
14934
14935        Reviewed by Andreas Kling.
14936
14937        * UseJSC.cmake:
14938
149392012-05-10  Stephen Chenney  <schenney@chromium.org>
14940
14941        SVG Filters allow invalid elements as children
14942        https://bugs.webkit.org/show_bug.cgi?id=83979
14943
14944        Reviewed by Nikolas Zimmermann.
14945
14946        According to the SVG spec, there are numerous restrictions on the
14947        content of nodes (that is, their children). Specific to this problem,
14948        SVGFilter elements may only contain SVGFilterPrimitive elements, and
14949        those may only contain animation related elements. This patch enforces
14950        the restriction on filters in the render tree, thus preventing us from
14951        having (for instance) content that is inside a filter yet filtered by
14952        the filter.
14953
14954        Manual test: ManualTests/bugzilla-83979.svg
14955
14956        * svg/SVGFilterElement.cpp:
14957        (WebCore::SVGFilterElement::childShouldCreateRenderer): Added to only allow renderers for fe* children
14958        (WebCore):
14959        * svg/SVGFilterElement.h:
14960        (SVGFilterElement):
14961        * svg/SVGFilterPrimitiveStandardAttributes.h: Do not allow any children at all for fe* elements.
14962        (SVGFilterPrimitiveStandardAttributes):
14963
149642012-05-10  Joe Thomas  <joethomas@motorola.com>
14965
14966        [CSS3 Backgrounds and Borders] Add background-size to the background shorthand
14967        https://bugs.webkit.org/show_bug.cgi?id=27577
14968
14969        Reviewed by Alexis Menard.
14970
14971        Added CSSPropertyBackgroundSize to the background shorthand propery. Added the logic for parsing background-size.
14972        bakground-size appears after background-position followed by a '/'.
14973        The specification related to this change is http://www.w3.org/TR/css3-background/#the-background
14974
14975        Tests: fast/backgrounds/background-shorthand-with-backgroundSize-style.html
14976               fast/backgrounds/size/backgroundSize-in-background-shorthand.html
14977
14978        * css/CSSComputedStyleDeclaration.cpp:
14979        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
14980        (WebCore::CSSComputedStyleDeclaration::getBackgroundShorthandValue):
14981        (WebCore):
14982        * css/CSSComputedStyleDeclaration.h:
14983        (CSSComputedStyleDeclaration):
14984        * css/CSSParser.cpp:
14985        (WebCore::CSSParser::parseValue):
14986        (WebCore::CSSParser::parseFillShorthand):
14987        * css/StylePropertySet.cpp:
14988        (WebCore::StylePropertySet::getLayeredShorthandValue):
14989        * css/StylePropertyShorthand.cpp:
14990        (WebCore):
14991        (WebCore::backgroundShorthand):
14992
149932012-05-10  MORITA Hajime <morrita@google.com>
14994
14995        Node::InDetachFlag could be removed.
14996        https://bugs.webkit.org/show_bug.cgi?id=85963
14997
14998        Reviewed by Antti Koivisto.
14999
15000        Removed Node::inDetach() since it can never true
15001        on the only call site setFocusedNode().
15002
15003        No new test. Covered by existing tests.
15004
15005        * dom/Document.cpp:
15006        (WebCore::Document::setFocusedNode):
15007        * dom/Node.cpp:
15008        (WebCore::Node::detach):
15009        * dom/Node.h:
15010        (WebCore):
15011        (Node):
15012
150132012-05-10  Keishi Hattori  <keishi@webkit.org>
15014
15015        Crash in HTMLFormControlElement::m_fieldSetAncestor
15016        https://bugs.webkit.org/show_bug.cgi?id=86070
15017
15018        Reviewed by Kent Tamura.
15019
15020        No new tests.
15021
15022        The previous patch r115990 didn't completely resolve the crash (Bug 85453)
15023        We don't have a reproducible test case, so we are reverting to the old code for setting m_fieldSetAncestor.
15024
15025        * html/HTMLFormControlElement.cpp:
15026        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
15027        (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
15028        (WebCore::HTMLFormControlElement::insertedInto): Set m_dataListAncestorState to Unknown because ancestor has changed. Call setNeedsWillValidateCheck because style might need to be updated.
15029        (WebCore::HTMLFormControlElement::removedFrom):
15030        (WebCore::HTMLFormControlElement::disabled):
15031        (WebCore::HTMLFormControlElement::recalcWillValidate):
15032        (WebCore::HTMLFormControlElement::willValidate):
15033        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
15034        * html/HTMLFormControlElement.h:
15035        (HTMLFormControlElement): Added m_dataListAncestorState.
15036
150372012-05-10  Sam D  <dsam2912@gmail.com>
15038
15039        Web Inspector: rename InspectorBackendStub.js to InspectorBackendCommands.js
15040        https://bugs.webkit.org/show_bug.cgi?id=72306
15041
15042        Changed name for InspectorBackendStub.js to
15043        InspectorBackendCommands.js
15044
15045        Reviewed by Yury Semikhatsky.
15046
15047        No new tests required. File name is changed.
15048
15049        * DerivedSources.pri:
15050        * GNUmakefile.am:
15051        * Target.pri:
15052        * WebCore.gyp/WebCore.gyp:
15053        * WebCore.gypi:
15054        * WebCore.vcproj/copyWebCoreResourceFiles.cmd:
15055        * WebCore.xcodeproj/project.pbxproj:
15056        * gyp/copy-inspector-resources.sh:
15057        * inspector/CodeGeneratorInspector.py:
15058        * inspector/front-end/InspectorBackendCommands.qrc: Added.
15059        * inspector/front-end/InspectorBackendStub.qrc: Removed.
15060        * inspector/front-end/inspector.html:
15061
150622012-05-10  Alexis Menard  <alexis.menard@openbossa.org>
15063
15064        [Qt] Avoid string conversions to construct a QUrl when using Qt5.
15065        https://bugs.webkit.org/show_bug.cgi?id=86006
15066
15067        Reviewed by Kenneth Rohde Christiansen.
15068
15069        In Qt5, the QUrl constructor can handle the string directly, even in UTF-16 because the
15070        constructor QUrl(QString) has been fixed. Unfortunately we still need to use the old
15071        code path when building with Qt4.
15072
15073        No new tests : it's a performance improvement which should be covered by tests.
15074
15075        * platform/qt/KURLQt.cpp:
15076        (WebCore::KURL::operator QUrl):
15077
150782012-05-10  Noel Gordon  <noel.gordon@gmail.com>
15079
15080        [chromium] REGRESSION(r107389) Visible line artifacts on some JPEG images
15081        https://bugs.webkit.org/show_bug.cgi?id=85772
15082
15083        Reviewed by Kent Tamura.
15084
15085        On some JPEG images, vertical and horizontal lines artifacts might appear in image
15086        regions with very high frequency color variation when using DCT_IFAST decodes. Use
15087        DCT_IFAST on small screen devices only (Chromium Android).
15088
15089        No new tests. Covered by existing tests.
15090
15091        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
15092        (dctMethod): Permit DCT_IFAST decoding for Chromium Android only.
15093
150942012-05-10  Kenneth Rohde Christiansen  <kenneth@webkit.org>
15095
15096        [Qt] Implement fit-to-width behaviour
15097        https://bugs.webkit.org/show_bug.cgi?id=86085
15098
15099        Reviewed by Simon Hausmann.
15100
15101        Add a method to get the minimum scale factor that contains the content
15102        without showing any chrome background.
15103
15104        * dom/ViewportArguments.cpp:
15105        (WebCore::computeMinimumScaleFactorForContentContained):
15106        (WebCore):
15107        * dom/ViewportArguments.h:
15108        (WebCore):
15109
151102012-05-10  MORITA Hajime  <morrita@google.com>
15111
15112        Remove support for Node::willRemove()
15113        https://bugs.webkit.org/show_bug.cgi?id=55209
15114
15115        Reviewed by Ryosuke Niwa.
15116
15117        This change de-virtualizes Node::willRemove(), gains
15118        5% speedup on Dromaeo dom-modify.
15119
15120        Originally there were 5 willRemove() overrides:
15121        - Element
15122        - HTMLStyleElement
15123        - HTMLSourceElement
15124        - HTMLTrackElement
15125        - HTMLFrameOwnerElement
15126
15127        For first 4 items, this change moves their implementations to
15128        Node::removedFrom() overrides.
15129
15130        Then HTMLFrameOwnerElement is the only class which needs the
15131        notification.  Because it emits the "unload" event, it needs some
15132        notification _before_ its removal. To handle that, this change
15133        introduces ChildFrameDisconnector which collects
15134        corresponding decendant elements and disconnect their content frame.
15135
15136        Even though this approach doesn't kill pre-removal tree traversal
15137        completely, it's a bit more efficient due to the de-virtualization.
15138
15139        No new tests. Covered by existing test.
15140
15141        * dom/ContainerNode.cpp:
15142        (WebCore::willRemoveChild): Replaced willRemove() call with ChildFrameDisconnector.
15143        (WebCore::willRemoveChildren): Ditto.
15144        (WebCore::ContainerNode::disconnectDescendantFrames): Added. Used from FrameLoader to replace Document::willRemove() call.
15145        (WebCore):
15146        * dom/ContainerNode.h:
15147        (ContainerNode):
15148        * dom/ContainerNodeAlgorithms.cpp:
15149        (WebCore::ChildFrameDisconnector::collectDescendant):
15150        (WebCore):
15151        (WebCore::ChildFrameDisconnector::Target::disconnect):
15152        * dom/ContainerNodeAlgorithms.h:
15153        (ChildFrameDisconnector):
15154        (Target):
15155        (WebCore::ChildFrameDisconnector::Target::Target):
15156        (WebCore::ChildFrameDisconnector::Target::isValid):
15157        (WebCore):
15158        (WebCore::ChildFrameDisconnector::ChildFrameDisconnector):
15159        (WebCore::ChildFrameDisconnector::collectDescendant):
15160        (WebCore::ChildFrameDisconnector::disconnect):
15161        * dom/Element.cpp:
15162        (WebCore::Element::removedFrom):
15163        * dom/Element.h:
15164        * dom/ElementShadow.cpp:
15165        * dom/ElementShadow.h:
15166        (ElementShadow):
15167        * dom/Node.cpp:
15168        * dom/Node.h: Added IsFrameOwnerElement flag to de-virtualize IsFrameOwnerElement().
15169        (WebCore::Node::isFrameOwnerElement): De-virtualized.
15170        (Node):
15171        * html/HTMLElement.h:
15172        (HTMLElement):
15173        (WebCore::HTMLElement::HTMLElement):
15174        * html/HTMLFrameOwnerElement.cpp:
15175        (WebCore::HTMLFrameOwnerElement::HTMLFrameOwnerElement):
15176        (WebCore::HTMLFrameOwnerElement::disconnectContentFrame): Extracted from original willRemove().
15177        * html/HTMLFrameOwnerElement.h:
15178        (HTMLFrameOwnerElement):
15179        (WebCore::toFrameOwnerElement):
15180        (WebCore):
15181        * html/HTMLMediaElement.cpp:
15182        (WebCore::HTMLMediaElement::sourceWasRemoved): Renamed from sourceWillBeRemoved(), dealing with the timing change.
15183        * html/HTMLMediaElement.h:
15184        (HTMLMediaElement):
15185        (WebCore::isMediaElement):
15186        (WebCore):
15187        (WebCore::toMediaElement):
15188        * html/HTMLSourceElement.cpp:
15189        (WebCore::HTMLSourceElement::removedFrom): Moved some code from willRemove().
15190        * html/HTMLSourceElement.h:
15191        (HTMLSourceElement):
15192        * html/HTMLStyleElement.cpp:
15193        (WebCore::HTMLStyleElement::removedFrom):
15194        (WebCore):
15195        * html/HTMLStyleElement.h:
15196        (HTMLStyleElement):
15197        * html/HTMLTrackElement.cpp:
15198        (WebCore::HTMLTrackElement::removedFrom): Moved some code from willRemove().
15199        * html/HTMLTrackElement.h:
15200        (HTMLTrackElement):
15201        * loader/FrameLoader.cpp:
15202        (WebCore::FrameLoader::clear):
15203
152042012-05-10  Kinuko Yasuda  <kinuko@chromium.org>
15205
15206        Change the return type of Entry.toURL() back to String from KURL
15207        https://bugs.webkit.org/show_bug.cgi?id=85858
15208
15209        Reviewed by Ryosuke Niwa.
15210
15211        I once changed it from String to KURL in r116273 but it turned out that
15212        it involves implicit conversion and may incur extra overhead.
15213        This partly reverts r116273 while keeping some internal functions
15214        returning KURL as it's what we initially create as and is more
15215        convenient to operate on.
15216
15217        No new tests; no functional or visible changes.
15218
15219        * Modules/filesystem/EntryBase.cpp:
15220        (WebCore::EntryBase::toURL):
15221        * Modules/filesystem/EntryBase.h:
15222        (EntryBase):
15223
152242012-05-10  Alexander Pavlov  <apavlov@chromium.org>
15225
15226        Web Inspector: Autocomplete for CSS property values in the Styles pane behaving incorrectly
15227        https://bugs.webkit.org/show_bug.cgi?id=85784
15228
15229        Reviewed by Vsevolod Vlasov.
15230
15231        Before executing the number increment/decrement within CSS property value, the current word is checked
15232        for being a valid suggestion for the current property, and if it is, the numeric change is skipped
15233        in favor of the suggested property value switch by a suggest box.
15234
15235        * inspector/front-end/StylesSidebarPane.js:
15236
152372012-05-10  Abhishek Arya  <inferno@chromium.org>
15238
15239        Make DOMCharacterDataModified a scoped event (similar to r73690).
15240        https://bugs.webkit.org/show_bug.cgi?id=85920
15241
15242        Reviewed by Ryosuke Niwa.
15243
15244        DOMCharacterDataModified was missing in the list of already scoped
15245        DOM mutation events like DOMSubtreeModified, DOMNodeInserted, etc.
15246        It helps to delay event dispatches until the completion of each call
15247        of EditCommand::doApply. This has been useful in the past and helped to 
15248        prevent unexpected DOM tree mutations while the editing command is executing.
15249
15250        * dom/CharacterData.cpp:
15251        (WebCore::CharacterData::dispatchModifiedEvent):
15252
152532012-05-10  Alexandre Elias  <aelias@google.com>
15254
15255        Default to null value for HistoryItem::m_pageScaleFactor
15256        https://bugs.webkit.org/show_bug.cgi?id=84385
15257
15258        Reviewed by Adam Barth.
15259
15260        Previously, HistoryItem::m_pageScaleFactor defaulted to a value
15261        of 1, making it impossible to determine whether this value was never
15262        set, or intentionally set to 1.  This patch introduces a default value
15263        of 0 and makes restoreScrollPositionAndViewState not touch the page
15264        scale factor if this value is still present at time of reload.
15265
15266        This is a no-op change for common navigation scenarios.  The
15267        motivation for this change is the corner case of syncing history items
15268        from a desktop browser to a mobile device.  In that case, we need a
15269        way to specify that the history item does not contain a
15270        pageScaleFactor so that the mobile device does not display the page
15271        overly zoomed in.
15272
15273        No new tests.
15274
15275        * history/HistoryItem.cpp:
15276        (WebCore::HistoryItem::HistoryItem):
15277        * loader/HistoryController.cpp:
15278        (WebCore::HistoryController::restoreScrollPositionAndViewState):
15279
152802012-05-10  Csaba Osztrogonác  <ossy@webkit.org>
15281
15282        Use suitable viewport values when a Mobile DTD is used.
15283        https://bugs.webkit.org/show_bug.cgi?id=85425
15284
15285        Unreviewed debug buildfix after r116571.
15286
15287        * dom/Document.cpp:
15288        (WebCore::Document::setDocType):
15289
152902012-05-10  Yoshifumi Inoue  <yosin@chromium.org>
15291
15292        [Forms] Move step related methods to InputType class from HTMLInputElement class
15293        https://bugs.webkit.org/show_bug.cgi?id=85978
15294
15295        Reviewed by Kent Tamura.
15296
15297        This patch is part of re-factoring of HTMLInputElement.cpp for numeric input type.
15298        In this patch, we move implementation of getAllowedValueStep and stepUp/stepUpFromRenderer
15299        to InputType class because of these are for DateTime/Number/Range.
15300
15301        Following patches will change implementation of getAllowedValueStep to use StepRange and
15302        remove step related methods, defaultStep, stepScaleFactor, and so on.
15303
15304        No new tests. This patch should not change behavior.
15305
15306        * html/HTMLInputElement.cpp:
15307        (WebCore):
15308        (WebCore::HTMLInputElement::getAllowedValueStep):
15309        (WebCore::HTMLInputElement::stepUp):
15310        (WebCore::HTMLInputElement::stepDown):
15311        (WebCore::HTMLInputElement::stepUpFromRenderer):
15312        * html/HTMLInputElement.h:
15313        (HTMLInputElement):
15314        * html/InputType.cpp:
15315        (WebCore::InputType::applyStep):
15316        (WebCore):
15317        (WebCore::InputType::alignValueForStep):
15318        (WebCore::InputType::getAllowedValueStep):
15319        (WebCore::InputType::getAllowedValueStepWithDecimalPlaces):
15320        (WebCore::InputType::stepUp):
15321        (WebCore::InputType::stepUpFromRenderer):
15322        * html/InputType.h:
15323        (InputType):
15324
153252012-05-09  Kent Tamura  <tkent@chromium.org>
15326
15327        Calendar Picker: Fix a crash by changing input type.
15328        https://bugs.webkit.org/show_bug.cgi?id=86007
15329
15330        Reviewed by Hajime Morita.
15331
15332        Manual test: forms/calendar-picker-crash-by-type-change.html
15333
15334        * html/shadow/CalendarPickerElement.cpp:
15335        (WebCore::CalendarPickerElement::~CalendarPickerElement):
15336        Added. Make sure the popup is closed.
15337        * html/shadow/CalendarPickerElement.h:
15338        (CalendarPickerElement): Add declaration of the destructor.
15339
153402012-05-09  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
15341
15342        Move suspendAnimations to use Internals interface.
15343        https://bugs.webkit.org/show_bug.cgi?id=85986
15344
15345        Reviewed by Ryosuke Niwa.
15346
15347        Add suspendAnimations functions, because it is able to work in the
15348        cross-port way through the Internals interface.
15349
15350        No new tests, since we are improving here the infra-structure for testing
15351        a specific method.
15352
15353        * testing/Internals.cpp:
15354        (WebCore::Internals::suspendAnimations):
15355        (WebCore):
15356        * testing/Internals.h:
15357        (Internals):
15358        * testing/Internals.idl:
15359
153602012-05-09  Charlie Reis  <creis@chromium.org>
15361
15362        Add dispatchMessageEventWithOriginCheck to DOMWindow
15363        https://bugs.webkit.org/show_bug.cgi?id=85815
15364
15365        Reviewed by Adam Barth.
15366
15367        Useful for ports that support cross-process postMessage.
15368        No new tests, since covered by existing postMessage tests.
15369
15370        * page/DOMWindow.cpp:
15371        (WebCore::DOMWindow::postMessageTimerFired):
15372        (WebCore):
15373        (WebCore::DOMWindow::dispatchMessageEventWithOriginCheck):
15374        * page/DOMWindow.h:
15375        (WebCore):
15376        (DOMWindow):
15377
153782012-05-09  Jason Liu  <jason.liu@torchmobile.com.cn>
15379
15380        [BlackBerry] Cookie parsing issue. If the cookie value provided was (") then the browser creates a session cookie instead.
15381        https://bugs.webkit.org/show_bug.cgi?id=85775
15382
15383        Reviewed by Rob Buis.
15384
15385        Make CookieParser::parseOneCookie handle (cookiename="cookievalue;expires=xxxx) correctly.
15386        This cookie's value is "cookievalue not "cookievalue;expires=xxxx.
15387
15388        Test: http/tests/cookies/single-quoted-value.html
15389
15390        * platform/blackberry/CookieParser.cpp:
15391        (WebCore::CookieParser::parseOneCookie):
15392
153932012-05-09  Raymond Liu  <raymond.liu@intel.com>
15394
15395        Add multi-channels support for CopyWithGainFrom in AudioBus
15396        https://bugs.webkit.org/show_bug.cgi?id=80675
15397
15398        Reviewed by Chris Rogers.
15399
15400        * platform/audio/AudioBus.cpp:
15401        (WebCore):
15402        (WebCore::AudioBus::AudioBus):
15403        (WebCore::AudioBus::copyWithGainFrom):
15404        * platform/audio/AudioBus.h:
15405        (AudioBus):
15406
154072012-05-09  Jessie Berlin  <jberlin@apple.com>
15408
15409        Crash using the new WKBundleDOMWindowExtensions APIs.
15410        https://bugs.webkit.org/show_bug.cgi?id=85888
15411
15412        Reviewed by Brady Eidson.
15413
15414        WKBundlePageWillDestroyGlobalObjectForDOMWindowExtensionCallback was only being invoked when
15415        the WKPage was destroyed, and then only for the child frames. In addition, the
15416        DOMWindowExtension was holding onto a destroyed DOMWindow and attempting to unregister from
15417        when the WK2 wrapper object was attempting to destroy the DOMWindowExtension.
15418
15419        The underlying issue here was that the DOMWindowProperties were getting disconnectFrame
15420        and willDetachPage called on them at the wrong times.
15421
15422        Rename DOMWindowProperty::disconnectFrame and reconnectFrame to disconnectFrameForPageCache
15423        and reconnectFrameFromPageCache for clarity.
15424
15425        Only invoke DOMWindowProperty::disconnectFrameForPageCache when the frame is going into the
15426        page cache.
15427
15428        In the cases where the DOMWindow is getting destroyed, the frame is being destroyed, or the
15429        DOMWindow is getting cleared because the frame is being navigated, invoke
15430        DOMWindowProperty::willDestroyGlobalObjectInFrame instead of disconnectFrame.
15431
15432        Invoke DOMWindowProperty::willDetachGlobalObjectFromFrame when a document is being detached
15433        because the frame has been detached (e.g. fast/storage/storage-detached-iframe.html) and
15434        won't be immediately destroyed.
15435
15436        Invoke DOMWindowProperty::willDestroyGlobalObjectInCachedFrame when a cached frame is
15437        being destroyed.
15438
15439        New WK2 API Test: DOMWindowExtensionNoCache.
15440
15441        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
15442        (WebCore::DOMWindowIndexedDatabase::disconnectFrameForPageCache):
15443        Updated for disconnectFrame rename.
15444        (WebCore::DOMWindowIndexedDatabase::reconnectFrameFromPageCache):
15445        Updated for reconnectFrame rename.
15446        (WebCore::DOMWindowIndexedDatabase::willDestroyGlobalObjectInCachedFrame):
15447        Get rid of the suspended IDBFactory.
15448        (WebCore::DOMWindowIndexedDatabase::willDestroyGlobalObjectInFrame):
15449        Get rid of the IDBFactory.
15450        (WebCore::DOMWindowIndexedDatabase::willDetachGlobalObjectFromFrame):
15451        Ditto.
15452        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
15453
15454        * dom/Document.cpp:
15455        (WebCore::Document::prepareForDestruction):
15456        Tell the DOMWindow before detaching the Document.
15457        * dom/Document.h:
15458
15459        * history/CachedFrame.cpp:
15460        (WebCore::CachedFrame::destroy):
15461        Tell the DOMWindow.
15462
15463        * loader/FrameLoader.cpp:
15464        (WebCore::FrameLoader::clear):
15465        Use Document::prepareForDestruction so that the DOMWindow is told about the main frame
15466        navigation before detaching the Document.
15467
15468        * loader/appcache/DOMApplicationCache.cpp:
15469        (WebCore::DOMApplicationCache::disconnectFrameForPageCache):
15470        Updated for the disconnectFrame rename.
15471        (WebCore::DOMApplicationCache::reconnectFrameFromPageCache):
15472        Updated for the reconnectFrame rename.
15473        (WebCore::DOMApplicationCache::willDestroyGlobalObjectInFrame):
15474        Cover the cases formerly covered by disconnectFrame (which was sometimes being called when
15475        called when the frame was destroyed).
15476        * loader/appcache/DOMApplicationCache.h:
15477
15478        * notifications/DOMWindowNotifications.cpp:
15479        (WebCore::DOMWindowNotifications::disconnectFrameForPageCache):
15480        Updated for the disconnectFrame rename.
15481        (WebCore::DOMWindowNotifications::reconnectFrameFromPageCache):
15482        Updated for the reconnectFrame rename.
15483        (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInCachedFrame):
15484        Get rid of the suspended notification center.
15485        (WebCore::DOMWindowNotifications::willDestroyGlobalObjectInFrame):
15486        Get rid of the notification center.
15487        (WebCore::DOMWindowNotifications::willDetachGlobalObjectFromFrame):
15488        Do not allow use of the notification center by detached frames.
15489        * notifications/DOMWindowNotifications.h:
15490
15491        * page/DOMWindow.cpp:
15492        (WebCore::DOMWindow::clearDOMWindowProperties):
15493        Do not call disconnectDOMWindowProperties. It is now the responsibility of the callers to
15494        tell the DOMWindowProperties the correct cause of being cleared.
15495        (WebCore::DOMWindow::~DOMWindow):
15496        Make sure the DOMWindowProperties still know that the DOMWindow is going away.
15497        (WebCore::DOMWindow::frameDestroyed):
15498        Invoke willDestroyGlobalObjectInFrame on the DOMWindowProperties.
15499        (WebCore::DOMWindow::willDetachPage):
15500        It is no longer necessary to tell the DOMWindowProperties anything here.
15501        (WebCore::DOMWindow::willDestroyCachedFrame):
15502        Tell the DOMWindowProperties.
15503        (WebCore::DOMWindow::willDestroyDocumentInFrame):
15504        Ditto.
15505        (WebCore::DOMWindow::willDetachDocumentFromFrame):
15506        Ditto.
15507        (WebCore::DOMWindow::clear):
15508        Ditto.
15509        (WebCore::DOMWindow::disconnectDOMWindowProperties):
15510        Updated for the disconnectFrame rename.
15511        (WebCore::DOMWindow::reconnectDOMWindowProperties):
15512        Ditto.
15513        * page/DOMWindow.h:
15514
15515        * page/DOMWindowExtension.cpp:
15516        (WebCore::DOMWindowExtension::DOMWindowExtension):
15517        Move the responsibility for tracking the disconnected DOMWindow to DOMWindowProperty, since
15518        DOMWindowProperty will need it to unregister the property when a cached frame is destroyed.
15519        (WebCore::DOMWindowExtension::disconnectFrameForPageCache):
15520        Remove the code to check for disconnectFrame being called twice - it is now only called when
15521        a frame goes into the page cache.
15522        Let the DOMWindowProperty keep track of the disconnected DOMWindow.
15523        (WebCore::DOMWindowExtension::reconnectFrameFromPageCache):
15524        Let the DOMWindowProperty keep track of the disconnected DOMWindow.
15525        (WebCore::DOMWindowExtension::willDestroyGlobalObjectInCachedFrame):
15526        Dispatch the willDestroyGlobalObjectForDOMWindowExtension callback.
15527        (WebCore::DOMWindowExtension::willDestroyGlobalObjectInFrame):
15528        Ditto, but only if the callback hasn't already been sent because the frame has been detached.
15529        (WebCore::DOMWindowExtension::willDetachGlobalObjectFromFrame):
15530        Send the callback because nothing interesting can be done in the frame once it has been
15531        detached.
15532        * page/DOMWindowExtension.h:
15533
15534        * page/DOMWindowProperty.cpp:
15535        (WebCore::DOMWindowProperty::DOMWindowProperty):
15536        Keep track of the disconnected DOMWindow so it can be used to unregister the property when a
15537        cached frame is destroyed.
15538        (WebCore::DOMWindowProperty::~DOMWindowProperty):
15539        Also unregister the property when a DOMWindowProperty for a cached frame is destroyed.
15540        (WebCore::DOMWindowProperty::disconnectFrameForPageCache):
15541        Keep track of the disconnected DOMWindow.
15542        (WebCore::DOMWindowProperty::reconnectFrameFromPageCache):
15543        Ditto.
15544        (WebCore::DOMWindowProperty::willDestroyGlobalObjectInCachedFrame):
15545        Unregister the property from the disconnected DOMWindow.
15546        (WebCore::DOMWindowProperty::willDestroyGlobalObjectInFrame):
15547        Unregister the property from the DOMWindow and stop keeping track of the frame.
15548        (WebCore::DOMWindowProperty::willDetachGlobalObjectFromFrame):
15549        Do not set m_frame to 0 because detached frames still have access to the DOMWindow, even if
15550        they can't do anything meaningful with it.
15551        * page/DOMWindowProperty.h:
15552
15553        * page/Frame.cpp:
15554        (WebCore::Frame::setView):
15555        Tell the DOMWindow that the Document is being detached so it can tell the
15556        DOMWindowProperties.
15557
15558        * page/PointerLock.cpp:
15559        (WebCore::PointerLock::disconnectFrameForPageCache):
15560        Updated for disconnectFrame rename.
15561        (WebCore::PointerLock::willDestroyGlobalObjectInFrame):
15562        Cover the cases formerly covered by disconnectFrame (which was sometimes being called when
15563        called when the frame was destroyed).
15564        * page/PointerLock.h:
15565
155662012-05-09  Ian Vollick  <vollick@chromium.org>
15567
15568        [chromium] Ensure animations get ticked at least once when added.
15569        https://bugs.webkit.org/show_bug.cgi?id=86013
15570
15571        Reviewed by James Robinson.
15572
15573        Tested in
15574          CCLayerTreeHostTestTickAnimationWhileBackgrounded.runSingleThreaded
15575          CCLayerTreeHostTestAddAnimationWithTimingFunction.runSingleThreaded
15576          CCLayerTreeHostTestSynchronizeAnimationStartTimes.runSingleThreaded
15577          CCLayerTreeHostTestAnimationFinishedEvents.runSingleThreaded
15578
15579        * platform/graphics/chromium/LayerChromium.cpp:
15580        (WebCore::LayerChromium::addAnimation):
15581        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
15582        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
15583        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
15584        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
15585        (WebCore::CCLayerTreeHost::didAddAnimation):
15586        (WebCore):
15587        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
15588        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
15589        (CCLayerTreeHost):
15590        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
15591        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
15592        * platform/graphics/chromium/cc/CCProxy.h:
15593        (CCProxy):
15594        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
15595        (CCSingleThreadProxyAnimationTimer):
15596        (WebCore::CCSingleThreadProxyAnimationTimer::create):
15597        (WebCore::CCSingleThreadProxyAnimationTimer::CCSingleThreadProxyAnimationTimer):
15598        (WebCore):
15599        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
15600        (WebCore::CCSingleThreadProxy::didAddAnimation):
15601        (WebCore::CCSingleThreadProxy::doComposite):
15602        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
15603        (WebCore):
15604        * platform/graphics/chromium/cc/CCThreadProxy.h:
15605
156062012-05-09  Adam Barth  <abarth@webkit.org>
15607
15608        Implement HTML Media Capture
15609        https://bugs.webkit.org/show_bug.cgi?id=85958
15610
15611        Reviewed by Eric Seidel.
15612
15613        This patch begins the implementation of
15614        http://www.w3.org/TR/html-media-capture/ by adding the capture
15615        attribute to HTMLInputElement.
15616
15617        Test: fast/forms/file/file-input-capture.html
15618
15619        * html/FileInputType.cpp:
15620        (WebCore::FileInputType::handleDOMActivateEvent):
15621        * html/HTMLAttributeNames.in:
15622        * html/HTMLInputElement.cpp:
15623        (WebCore):
15624        (WebCore::HTMLInputElement::capture):
15625        (WebCore::HTMLInputElement::setCapture):
15626        * html/HTMLInputElement.h:
15627        (HTMLInputElement):
15628        * html/HTMLInputElement.idl:
15629        * platform/FileChooser.h:
15630        (FileChooserSettings):
15631
156322012-05-09  Charles Wei  <charles.wei@torchmobile.com.cn>
15633
15634        [BlackBerry]  Refactor data scheme support
15635        https://bugs.webkit.org/show_bug.cgi?id=85938
15636
15637        Reviewed by Rob Buis.
15638
15639        We will create a DataStream in our platform repository,
15640        so that can be wrapped up by NetworkJob for webkit rendering,
15641        and by DownloadStream for downloading.
15642
15643        Refactor, no new tests.
15644
15645        * platform/network/blackberry/NetworkJob.cpp:
15646        (WebCore::NetworkJob::NetworkJob):
15647        (WebCore::NetworkJob::initialize):
15648        (WebCore::NetworkJob::cancelJob):
15649        (WebCore::NetworkJob::sendResponseIfNeeded):
15650        * platform/network/blackberry/NetworkJob.h:
15651        (NetworkJob):
15652        * platform/network/blackberry/NetworkManager.cpp:
15653        (WebCore::NetworkManager::startJob):
15654
156552012-05-09  Dana Jansens  <danakj@chromium.org>
15656
15657        [chromium] Don't draw when canDraw() is false
15658        https://bugs.webkit.org/show_bug.cgi?id=85829
15659
15660        Reviewed by Adrienne Walker.
15661
15662        This is based on the work of Daniel Sievers in bug
15663        https://bugs.webkit.org/show_bug.cgi?id=82680. When canDraw() is false,
15664        we should not call drawLayers() or prepareToDraw() in both Single- and
15665        Multi-Threaded mode.
15666
15667        drawLayers() is crashing in single threaded mode, and this attempts to
15668        prevent it from being called with invalid state. While making it behave
15669        properly in single-threaded mode, it seems appropriate to unrevert the
15670        parts of 82680 that made threaded mode behave similarly appropriately.
15671
15672        A single-threaded test is not included since LTHTests is unable to run
15673        in single-threaded mode at this time (pending work from Ian Vollick). So
15674        we test in threaded mode only with a note to include a single thread
15675        version.
15676
15677        Tests: CCLayerTreeHostTestCanDrawBlocksDrawing.runMultiThread
15678
15679        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
15680        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
15681        (WebCore::CCLayerTreeHostImpl::drawLayers):
15682        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
15683        (WebCore::CCSingleThreadProxy::doComposite):
15684        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
15685        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
15686
156872012-05-09  Martin Robinson  <mrobinson@igalia.com>
15688
15689        [Cairo] GLContextGLX releases the context with an uninitialized display
15690        https://bugs.webkit.org/show_bug.cgi?id=86039
15691
15692        Reviewed by Philippe Normand.
15693
15694        No new tests. This does not change behavior on most machines, but has
15695        the potential to prevent a pretty nasty crash on others.
15696
15697        Use the shared display to release GLX contexts instead of the uninitialized
15698        m_display member.
15699
15700        * platform/graphics/glx/GLContextGLX.cpp:
15701        (WebCore::GLContextGLX::~GLContextGLX): Release the display with the shared
15702        display.
15703        * platform/graphics/glx/GLContextGLX.h:
15704        (GLContextGLX): Remove the m_display member.
15705
157062012-05-09  Tony Gentilcore  <tonyg@chromium.org>
15707
15708        Subresources loaded after a reload completes shouldn't be revalidated.
15709        https://bugs.webkit.org/show_bug.cgi?id=84614
15710
15711        Based on patch by Darin Fisher.
15712
15713        Reviewed by Darin Fisher.
15714
15715        Tests: http/tests/cache/loaded-from-cache-after-reload-within-iframe.html
15716               http/tests/cache/loaded-from-cache-after-reload.html
15717
15718        * loader/FrameLoader.cpp:
15719        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Reset m_loadType after the load completes.
15720
157212012-05-09  Erik Arvidsson  <arv@chromium.org>
15722
15723        [V8] Fix issue where V8BindingPerContextData could keep the context object alive
15724        https://bugs.webkit.org/show_bug.cgi?id=86036
15725
15726        Reviewed by Kentaro Hara.
15727
15728        This is a partial revert of http://trac.webkit.org/changeset/114320/. This keeps
15729        the layout tests that were introduced since it turns out that
15730        http://trac.webkit.org/changeset/114989 fixes the tests too.
15731
15732        Covered by: http/tests/security/isolatedWorld/context-destroy.html
15733
15734        * bindings/v8/V8IsolatedContext.cpp:
15735        (WebCore::V8IsolatedContext::destroy):
15736
157372012-05-09  Anders Carlsson  <andersca@apple.com>
15738
15739        Speed up some parts of TileCache drawing
15740        https://bugs.webkit.org/show_bug.cgi?id=86033
15741        <rdar://problem/10919373>
15742
15743        Reviewed by Sam Weinig.
15744
15745        * platform/graphics/ca/mac/TileCache.mm:
15746        (WebCore::TileCache::tileCoverageRect):
15747        If we can't have scrollbars, there's not much need to extend the tile coverage rect outside of the visible rect, since it's
15748        unlikely that we'll do any form of scrolling here.
15749
15750        (WebCore::TileCache::revalidateTiles):
15751        Don't update the tile layer frame if it's big enough to contain the tile size. Also, if there are no new tiles created,
15752        don't call platformCALayerDidCreateTiles since that will trigger an extra layer flush.
15753
157542012-05-09  Alexandre Elias  <aelias@google.com>
15755
15756        setPageScaleFactor should setScrollPosition if scale is unchanged
15757        https://bugs.webkit.org/show_bug.cgi?id=84400
15758
15759        Reviewed by Adam Barth.
15760
15761        Previously, setPageScaleFactor forgot about its "origin" argument if
15762        the page scale factor is unchanged.  This has proven undesirable in
15763        practice because, for example, a single pinch gesture may zoom in and
15764        back out to the original page scale factor, but at a different scroll
15765        offset.
15766
15767        New test case added to scale-and-scroll-body-expected.txt
15768
15769        * page/Page.cpp:
15770        (WebCore::Page::setPageScaleFactor):
15771
157722012-05-09  Hugo Parente Lima  <hugo.lima@openbossa.org>
15773
15774        Use suitable viewport values on XHTML-MP pages.
15775        https://bugs.webkit.org/show_bug.cgi?id=85425
15776
15777        Reviewed by Kenneth Rohde Christiansen.
15778
15779        Tests: fast/viewport/viewport-legacy-xhtmlmp-misplaced-doctype.html
15780               fast/viewport/viewport-legacy-xhtmlmp-ordering.html
15781               fast/viewport/viewport-legacy-xhtmlmp.html
15782
15783        Use device-width and device-height as viewport size on
15784        XHTML-MP pages if the use feature LEGACY_VIEWPORT_ADAPTION
15785        is set according as the non normative section of
15786        http://www.w3.org/TR/css-device-adapt/
15787
15788        * dom/Document.cpp:
15789        (WebCore::Document::setDocType):
15790
157912012-05-09  Beth Dakin  <bdakin@apple.com>
15792
15793        https://bugs.webkit.org/show_bug.cgi?id=86025
15794        RTL and vertical text documents do no scroll properly with the new 
15795        tiled scrolling model
15796        -and corresponding-
15797        <rdar://problem/11077589>
15798
15799        Reviewed by Dan Bernstein.
15800        
15801        Most of the fix here is just to teach the scrolling tree about the 
15802        scroll origin.
15803        * page/scrolling/ScrollingCoordinator.cpp:
15804        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
15805        (WebCore::ScrollingCoordinator::setScrollParameters):
15806        * page/scrolling/ScrollingCoordinator.h:
15807        (ScrollParameters):
15808        * page/scrolling/ScrollingTreeNode.cpp:
15809        (WebCore::ScrollingTreeNode::update):
15810        * page/scrolling/ScrollingTreeNode.h:
15811        (WebCore::ScrollingTreeNode::scrollOrigin):
15812        (ScrollingTreeNode):
15813        * page/scrolling/ScrollingTreeState.cpp:
15814        (WebCore::ScrollingTreeState::setScrollOrigin):
15815        (WebCore):
15816        * page/scrolling/ScrollingTreeState.h:
15817        (WebCore::ScrollingTreeState::scrollOrigin):
15818        (ScrollingTreeState):
15819        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
15820        (WebCore::ScrollingTreeNodeMac::scrollPosition):
15821        (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
15822        (WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
15823        (WebCore::ScrollingTreeNodeMac::maximumScrollPosition):
15824        * rendering/RenderLayerCompositor.cpp:
15825        (WebCore::RenderLayerCompositor::frameViewDidScroll):
15826
15827        Teaching the scrolling tree about the scroll origin revealed this pre-
15828        existing bug. layoutOverflowRect() is not the right rect to use since 
15829        it is not writing-mode savvy. unscaledDocumentRect() is the right rect 
15830        for the view's bounds.
15831        * rendering/RenderLayerBacking.cpp:
15832        (WebCore::RenderLayerBacking::updateCompositedBounds):
15833
158342012-05-09  Rob Buis  <rwlbuis@webkit.org>
15835
15836        Cleanup SVGElement.cpp
15837        https://bugs.webkit.org/show_bug.cgi?id=86004
15838
15839        Reviewed by Eric Seidel.
15840
15841        Remove unneeded includes. We do not need to check attr in SVGElement::attributeChanged,
15842        lower layers assume it is non-null and we do not call attributeChanged in SVG.
15843
15844        * svg/SVGElement.cpp:
15845        (WebCore::SVGElement::attributeChanged):
15846        (WebCore::SVGElement::isAnimatableAttribute):
15847
158482012-05-09  Jochen Eisinger  <jochen@chromium.org>
15849
15850        When creating a new page during a navigation, prime the initial document with the correct referrer policy
15851        https://bugs.webkit.org/show_bug.cgi?id=86001
15852
15853        Reviewed by Adam Barth.
15854
15855        Test: http/tests/security/referrer-policy-redirect-link.html
15856
15857        * dom/Document.h:
15858        (WebCore::Document::setReferrerPolicy):
15859        * loader/FrameLoader.cpp:
15860        (WebCore::FrameLoader::continueLoadAfterNewWindowPolicy):
15861
158622012-05-09  Alec Flett  <alecflett@chromium.org>
15863
15864        IndexedDB: call abort handler when there are problems committing
15865        https://bugs.webkit.org/show_bug.cgi?id=85841
15866
15867        Reviewed by Ojan Vafai.
15868
15869        No new tests. Every existing test that calls commit() is testing
15870        the success side of this, and this only throws when there are
15871        LevelDB errors, which is exactly what we're trying to diagnose
15872        with this patch.
15873
15874        * Modules/indexeddb/IDBBackingStore.h:
15875        (Transaction):
15876        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
15877        (WebCore::IDBLevelDBBackingStore::deleteDatabase):
15878        (WebCore::IDBLevelDBBackingStore::Transaction::commit):
15879        * Modules/indexeddb/IDBLevelDBBackingStore.h:
15880        (Transaction):
15881        * Modules/indexeddb/IDBTransactionBackendImpl.cpp:
15882        (WebCore::IDBTransactionBackendImpl::commit):
15883
158842012-05-09  Mark Pilgrim  <pilgrim@chromium.org>
15885
15886        [Chromium] Remove PlatformSupport::loadPlatformImageResource, call loadResource directly
15887        https://bugs.webkit.org/show_bug.cgi?id=84417
15888
15889        Reviewed by Adam Barth.
15890
15891        Part of a refactoring series. See tracking bug 82948.
15892
15893        * WebCore.gyp/WebCore.gyp:
15894        * WebCore.gypi:
15895        * platform/chromium/PlatformSupport.h:
15896        (PlatformSupport):
15897        * platform/graphics/chromium/ImageChromium.cpp:
15898        (WebCore::Image::loadPlatformResource):
15899        * platform/graphics/chromium/ImageChromiumMac.mm: Removed.
15900
159012012-05-09  Rob Buis  <rbuis@rim.com>
15902
15903        Remove some isSVGFoo methods
15904        https://bugs.webkit.org/show_bug.cgi?id=86009
15905
15906        Reviewed by Eric Seidel.
15907
15908        These are not used at the moment and were probably just copy and pasted from
15909        isSVGFoo methods in RenderObject.h.
15910
15911        * rendering/RenderObject.h:
15912        * rendering/svg/RenderSVGEllipse.h:
15913        (RenderSVGEllipse):
15914        * rendering/svg/RenderSVGRect.h:
15915        (RenderSVGRect):
15916        * rendering/svg/RenderSVGShape.h:
15917
159182012-05-09  Ian Vollick  <vollick@chromium.org>
15919
15920        [chromium] Add impl-thread support for fill-mode and direction css animation properties
15921        https://bugs.webkit.org/show_bug.cgi?id=77662
15922
15923        Reviewed by James Robinson.
15924
15925        Adds support for accelerating css animations with -webkit-animation-fill-mode,
15926        and -webkit-animation-direction properties.
15927
15928        Tested in:
15929          CCActiveAnimationTest.TrimTimeAlternating
15930          CCLayerAnimationControllerTest.createReversedAnimation
15931          CCLayerAnimationControllerTest.createAlternatingAnimation
15932          CCLayerAnimationControllerTest.createReversedAlternatingAnimation
15933
15934        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
15935        (WebCore::CCActiveAnimation::CCActiveAnimation):
15936        (WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
15937        (WebCore::CCActiveAnimation::cloneForImplThread):
15938        * platform/graphics/chromium/cc/CCActiveAnimation.h:
15939        (CCActiveAnimation):
15940        (WebCore::CCActiveAnimation::alternatesDirection):
15941        (WebCore::CCActiveAnimation::setAlternatesDirection):
15942        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
15943
159442012-05-09  Ken Buchanan  <kenrb@chromium.org>
15945
15946        Crash from removal of a line break object
15947        https://bugs.webkit.org/show_bug.cgi?id=85997
15948
15949        Reviewed by David Hyatt.
15950
15951        Regression from r115343. That replaced a call to setNeedsLayout()
15952        with a separate call that used a different bit during linebox
15953        invalidation after renderer child removal. There are special cases
15954        where layout isn't marked on parent nodes just from the removal, so
15955        line dirtying needs to explicitly mark ancestors for layout.
15956
15957        * rendering/RenderObject.h:
15958        (WebCore::RenderObject::setAncestorLineBoxDirty):
15959
159602012-05-09  Levi Weintraub  <leviw@chromium.org>
15961
15962        Fix performance regression for floats caused by LayoutUnit change
15963        https://bugs.webkit.org/show_bug.cgi?id=85834
15964
15965        Reviewed by Ojan Vafai.
15966
15967        Refactoring FractionalLayout types to alleviate performance issues. Explicitly
15968        inlining constructor and operator functions in FractionalLayoutUnit, as well as
15969        pixelSnappedIntSize and pixelSnappedIntRect (particularly hot code paths). Also
15970        further simplifying round and ceil functions when sub-pixel layout is not enabled.
15971
15972        pixelSnappedIntSize was the only function defined in FractionalLayoutSize.cpp,
15973        so it is removed.
15974
15975        No new tests. No change in functionality.
15976
15977        * CMakeLists.txt:
15978        * GNUmakefile.list.am:
15979        * Target.pri:
15980        * WebCore.gypi:
15981        * WebCore.vcproj/WebCore.vcproj:
15982        * WebCore.xcodeproj/project.pbxproj:
15983        * platform/FractionalLayoutUnit.h:
15984        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
15985        (FractionalLayoutUnit):
15986        (WebCore::FractionalLayoutUnit::toInt):
15987        (WebCore::FractionalLayoutUnit::toFloat):
15988        (WebCore::FractionalLayoutUnit::toDouble):
15989        (WebCore::FractionalLayoutUnit::toUnsigned):
15990        (WebCore::FractionalLayoutUnit::operator int):
15991        (WebCore::FractionalLayoutUnit::operator unsigned):
15992        (WebCore::FractionalLayoutUnit::operator float):
15993        (WebCore::FractionalLayoutUnit::operator double):
15994        (WebCore::FractionalLayoutUnit::operator bool):
15995        (WebCore::FractionalLayoutUnit::ceil):
15996        (WebCore::FractionalLayoutUnit::round):
15997        * platform/graphics/FractionalLayoutRect.cpp:
15998        (WebCore):
15999        * platform/graphics/FractionalLayoutRect.h:
16000        (WebCore::FractionalLayoutRect::pixelSnappedSize):
16001        (WebCore::pixelSnappedIntRect):
16002        (WebCore):
16003        * platform/graphics/FractionalLayoutSize.cpp: Removed.
16004        * platform/graphics/FractionalLayoutSize.h:
16005        (WebCore):
16006        * rendering/LayoutTypes.h:
16007        (WebCore::pixelSnappedIntSize):
16008        (WebCore):
16009
160102012-05-09  Abhishek Arya  <inferno@chromium.org>
16011
16012        Crash in ReplaceSelectionCommand::performTrivialReplace
16013        https://bugs.webkit.org/show_bug.cgi?id=85943
16014
16015        Reviewed by Ryosuke Niwa.
16016
16017        RefPtr nodeAfterInsertionPos to guard against mutation events.
16018
16019        Test: editing/inserting/insert-html-crash.html
16020
16021        * editing/ReplaceSelectionCommand.cpp:
16022        (WebCore::ReplaceSelectionCommand::performTrivialReplace):
16023
160242012-05-03  Shawn Singh  <shawnsingh@chromium.org>
16025
16026        Hit testing is incorrect in some cases with perspective transforms
16027        https://bugs.webkit.org/show_bug.cgi?id=79136
16028
16029        Reviewed by Simon Fraser.
16030
16031        Tests: transforms/3d/hit-testing/coplanar-with-camera.html
16032               transforms/3d/hit-testing/perspective-clipped.html
16033
16034        * platform/graphics/transforms/TransformationMatrix.cpp:
16035        (WebCore::TransformationMatrix::projectPoint): Fix a
16036        divide-by-zero error so that values do not become Inf or Nan. Also
16037        fix an overflow error by using a large, but not-too-large constant
16038        to represent infinity.
16039
16040        (WebCore::TransformationMatrix::projectQuad): Fix an error where
16041        incorrect quads were being returned. Incorrect quads can occur
16042        when projectPoint clamped==true after returning.
16043
160442012-05-09  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
16045
16046        Simplify CSSParser::parseSimpleLengthValue()
16047        https://bugs.webkit.org/show_bug.cgi?id=85910
16048
16049        Reviewed by Alexis Menard.
16050
16051        Various small improvements to this function, mainly:
16052        - Move the check if the property ID accepts a simple length as early as possible;
16053        - Remove the check for the characters{8,16} pointers since they'll be valid (we ASSERT that);
16054        - Use a template to avoid duplicate code for 8 and 16 bit characters.
16055
16056        * css/CSSParser.cpp:
16057        (WebCore):
16058        (WebCore::parseSimpleLength):
16059        (WebCore::parseSimpleLengthValue):
16060
160612012-05-09  Ami Fischman  <fischman@chromium.org>
16062
16063        [chromium] Support multiple buffered time ranges
16064        https://bugs.webkit.org/show_bug.cgi?id=85926
16065
16066        Reviewed by Eric Carlson.
16067
16068        Preserve existing rendering of a single rect even in the presence of multiple buffered regions.
16069
16070        No new tests as this change has no functional effects.
16071
16072        * rendering/RenderMediaControlsChromium.cpp:
16073        (WebCore::paintMediaSlider):
16074
160752012-05-09  Dana Jansens  <danakj@chromium.org>
16076
16077        Early-out and avoid any copying when possible for Region operations
16078        https://bugs.webkit.org/show_bug.cgi?id=85260
16079
16080        Reviewed by Anders Carlsson.
16081
16082        For an empty region, any intersection or subtraction will not modify
16083        the region, so we can simply return instead of creating a new Shape
16084        and replacing the current empty Shape.
16085
16086        When a region is united with a region it contains, the orignal
16087        containing region is the result. So, if A.unite(B) and A.contains(B)
16088        then A does not need to change at all and we can return without making
16089        a copy of A's shape. When A is a rect, we can do this test even more
16090        simply.
16091
16092        We also remove redundant checks from trySimpleOperation() methods, where
16093        the test is already done in the Region calling site.
16094
16095        This change improves the performance of the Region overlap testing for
16096        composited layers, and allows us to avoid unnecessary copies of the
16097        Region during unite. With a layout test (attached to bug #81087), that
16098        creates a Region from the union of 225 composited layers, as well as
16099        600 overlapping layers above them, this change decreases the running
16100        time of the test by 3.2% by avoiding a copy of the entire Region for
16101        each insertion that does not change the resulting Region.
16102
16103        Unit tests: RegionTest.unite
16104
16105        * platform/graphics/Region.cpp:
16106        (WebCore::Region::Shape::UnionOperation::trySimpleOperation):
16107        (WebCore::Region::Shape::IntersectOperation::trySimpleOperation):
16108        (WebCore::Region::Shape::SubtractOperation::trySimpleOperation):
16109        (WebCore::Region::intersect):
16110        (WebCore::Region::unite):
16111        (WebCore::Region::subtract):
16112        * platform/graphics/Region.h:
16113        (WebCore::Region::isRect):
16114        (WebCore::Region::Shape::isRect):
16115
161162012-05-09  Tommy Widenflycht  <tommyw@google.com>
16117
16118        MediaStream API: SessionDescription::addCandidate should not crash for malformed input
16119        https://bugs.webkit.org/show_bug.cgi?id=85988
16120
16121        Reviewed by Adam Barth.
16122
16123        Sending null would crash the browser. Added safeguards in both the bindings and the native code.
16124
16125        Test: fast/mediastream/SessionDescription.html
16126
16127        * Modules/mediastream/SessionDescription.cpp:
16128        (WebCore::SessionDescription::addCandidate):
16129        * Modules/mediastream/SessionDescription.h:
16130        (SessionDescription):
16131        * Modules/mediastream/SessionDescription.idl:
16132
161332012-05-09  Tommy Widenflycht  <tommyw@google.com>
16134
16135        MediaStream API: Adding the possibility of port specific information in MediaStreamDescriptor
16136        https://bugs.webkit.org/show_bug.cgi?id=85794
16137
16138        Reviewed by Adam Barth.
16139
16140        To facilitate for ports I have added an ExtraData field that can be used for whatever purpose is needed.
16141
16142        No behavioral changes.
16143
16144        * platform/chromium/support/WebMediaStreamDescriptor.cpp:
16145        (ExtraDataContainer):
16146        (WebKit::ExtraDataContainer::ExtraDataContainer):
16147        (WebKit::ExtraDataContainer::extraData):
16148        (WebKit):
16149        (WebKit::WebMediaStreamDescriptor::extraData):
16150        (WebKit::WebMediaStreamDescriptor::setExtraData):
16151        * platform/mediastream/MediaStreamDescriptor.h:
16152        (ExtraData):
16153        (WebCore::MediaStreamDescriptor::ExtraData::~ExtraData):
16154        (MediaStreamDescriptor):
16155        (WebCore::MediaStreamDescriptor::extraData):
16156        (WebCore::MediaStreamDescriptor::setExtraData):
16157
161582012-05-09  Takashi Sakamoto  <tasak@google.com>
16159
16160        Crash in WebCore::RenderBoxModelObject::paddingLeft
16161        https://bugs.webkit.org/show_bug.cgi?id=83889
16162
16163        Reviewed by Abhishek Arya.
16164
16165        RenderScrollbar creates RenderScrollbarPart without any parent
16166        renderers. However, if the scrollbar has percent padding styles,
16167        non-null parent renderer is required. So after creating/destroying
16168        RenderScrollbarPart instances, set owningRenderer(creating)/0
16169        (destroying) as its parent renderer.
16170
16171        Test: scrollbars/scrollbar-percent-padding-crash.html
16172              scrollbars/scrollbar-percent-padding-crash-expected.txt
16173
16174        * rendering/RenderScrollbar.cpp:
16175        (WebCore::RenderScrollbar::updateScrollbarPart):
16176        Added setParent after creating/destroying RenderScrollbarPart.
16177        * rendering/RenderScrollbarPart.cpp:
16178        Made RenderScollbar friend, because setParent is protected and
16179        RenderScrollbar is not inherited from class RenderObject.
16180
161812012-05-09  Takashi Sakamoto  <tasak@google.com>
16182
16183        ShadowRoot needs applyAuthorStyles
16184        https://bugs.webkit.org/show_bug.cgi?id=78472
16185
16186        Reviewed by Hajime Morita.
16187
16188        Implemented applyAuthorStyles attribute defined in the following spec:
16189        http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#shadow-root-attributes
16190        Since applyAuthorSheets attribute has been already implemented,
16191        renamed all applyAuthorSheets to applyAuthorStyles and
16192        added applyAuthorStyles to ShadowRoot.idl.
16193        Currently, changing dynamically applyAuthorStyles doesn't work. I will fix this isse in bugs:84215: https://bugs.webkit.org/show_bug.cgi?id=84251
16194
16195        Test: fast/dom/shadow/shadow-root-applyAuthorStyles.html
16196              fast/dom/shadow/shadow-root-applyAuthorStyles-expected.html
16197
16198        * css/StyleResolver.cpp:
16199        (WebCore::StyleResolver::collectMatchingRulesForList):
16200        * dom/ShadowRoot.cpp:
16201        (WebCore::ShadowRoot::ShadowRoot):
16202        (WebCore::ShadowRoot::applyAuthorStyles):
16203        (WebCore::ShadowRoot::setApplyAuthorStyles):
16204        * dom/ShadowRoot.h:
16205        * dom/TreeScope.cpp:
16206        (WebCore::TreeScope::applyAuthorStyles):
16207        * dom/TreeScope.h:
16208        (TreeScope):
16209        Changed all applyAuthorSheets to applyAuthorSytles.
16210        (ShadowRoot):
16211        * dom/ShadowRoot.idl:
16212        Added a new attribute, boolean applyAuthorStyles.
16213
162142012-05-09  Yoshifumi Inoue  <yosin@chromium.org>
16215
16216        [Chromium][Forms] HTMLOptionsCollection doesn't have indexed properties on property enumeration
16217        https://bugs.webkit.org/show_bug.cgi?id=85937
16218
16219        Reviewed by Kentaro Hara.
16220
16221        This patch adds numeric indices to properties in enumeration to HTMLOptionsCollection V8 binding
16222        to changes Objects.keys in ECMAScript5 and for-in statement behavior for compatibility with
16223        Firefox 12, IE9, Opera 11, and Safari 5.
16224
16225        Test: fast/forms/select/options-indexed-properties.html
16226
16227        * bindings/scripts/CodeGeneratorV8.pm:
16228        (GenerateImplementationIndexer): Set $hasEnumerator true for interface HTMLOptionsCollection
16229
162302012-05-09  Shinya Kawanaka  <shinyak@chromium.org>
16231
16232        Position should be able to have ShadowRoot as a container.
16233        https://bugs.webkit.org/show_bug.cgi?id=82021
16234
16235        Reviewed by Ryosuke Niwa.
16236
16237        Since Position could not take a shadow root as a container node, pointing the direct children
16238        of a shadow root was difficult.
16239
16240        This patch makes it enabled, and fixes a lot of crashes caused by that limitation.
16241        Also, we confirm that ShadowRoot is not exposed to JavaScript layer.
16242
16243        Currently this change is only enabled if shadow dom flag is enabled, since we cannot
16244        prove this change does not destroy the existing behavior. However, this change is really required
16245        to fix other editing bugs in Shadow DOM. A bunch of patches and tests will be added to
16246        fix other editing bugs and they will check this patch does not break editing.
16247        We will also add a fuzzer to check the stability of editing in Shadow DOM later, and it will
16248        also help to confirm the patch will not break the editing.
16249
16250        Tests: editing/shadow/doubleclick-on-meter-in-shadow-crash.html
16251               editing/shadow/rightclick-on-meter-in-shadow-crash.html
16252               editing/shadow/shadow-selection-not-exported.html
16253
16254        * dom/Position.cpp:
16255        (WebCore::Position::Position):
16256        (WebCore::Position::containerNode):
16257        (WebCore::Position::parentAnchoredEquivalent):
16258        (WebCore::Position::previous):
16259        (WebCore::Position::next):
16260        (WebCore::Position::atStartOfTree):
16261        (WebCore::Position::atEndOfTree):
16262        (WebCore::Position::findParent):
16263        * dom/Position.h:
16264        (WebCore):
16265        (WebCore::positionInParentBeforeNode):
16266        (WebCore::positionInParentAfterNode):
16267
162682012-05-09  Zoltan Horvath  <zoltan@webkit.org>
16269
16270        [Qt] Build fix when using libpng version != 1.2
16271        https://bugs.webkit.org/show_bug.cgi?id=85614
16272
16273        Reviewed by Eric Seidel.
16274
16275        Don't enforce the version of libpng when passing the option to the linker.
16276
16277        No new tests, no intended functionality change.
16278
16279        * WebCore.pri:
16280
162812012-05-09  Oli Lan  <olilan@chromium.org>
16282
16283        Add identifying methods for date/time input types.
16284
16285        This patch adds methods isDateField(), isDateTimeField(), isDateTimeLocalField(),
16286        isMonthField(), isTimeField() and isWeekField() to InputType and the appropriate
16287        HTMLInputElement classes, to allow date/time input types to be identified.
16288
16289        The new methods match the existing methods for types such as email, search and number.
16290
16291        https://bugs.webkit.org/show_bug.cgi?id=78746
16292
16293        Reviewed by Kent Tamura.
16294
16295        A new test WebViewTest.TextInputType has been added in WebKit/chromium/tests that calls
16296        through to these methods via WebViewImpl.textInputType().
16297
16298        * html/DateInputType.cpp:
16299        (WebCore::DateInputType::isDateField):
16300        (WebCore):
16301        * html/DateInputType.h:
16302        (DateInputType):
16303        * html/DateTimeInputType.cpp:
16304        (WebCore::DateTimeInputType::isDateTimeField):
16305        (WebCore):
16306        * html/DateTimeInputType.h:
16307        (DateTimeInputType):
16308        * html/DateTimeLocalInputType.cpp:
16309        (WebCore::DateTimeLocalInputType::isDateTimeLocalField):
16310        (WebCore):
16311        * html/DateTimeLocalInputType.h:
16312        (DateTimeLocalInputType):
16313        * html/HTMLInputElement.cpp:
16314        (WebCore::HTMLInputElement::isDateField):
16315        (WebCore):
16316        (WebCore::HTMLInputElement::isDateTimeField):
16317        (WebCore::HTMLInputElement::isDateTimeLocalField):
16318        (WebCore::HTMLInputElement::isMonthField):
16319        (WebCore::HTMLInputElement::isTimeField):
16320        (WebCore::HTMLInputElement::isWeekField):
16321        * html/HTMLInputElement.h:
16322        (HTMLInputElement):
16323        * html/InputType.cpp:
16324        (WebCore::InputType::isDateField):
16325        (WebCore):
16326        (WebCore::InputType::isDateTimeField):
16327        (WebCore::InputType::isDateTimeLocalField):
16328        (WebCore::InputType::isMonthField):
16329        (WebCore::InputType::isTimeField):
16330        (WebCore::InputType::isWeekField):
16331        * html/InputType.h:
16332        (InputType):
16333        * html/MonthInputType.cpp:
16334        (WebCore::MonthInputType::isMonthField):
16335        (WebCore):
16336        * html/MonthInputType.h:
16337        (MonthInputType):
16338        * html/TimeInputType.cpp:
16339        (WebCore::TimeInputType::isTimeField):
16340        (WebCore):
16341        * html/TimeInputType.h:
16342        (TimeInputType):
16343        * html/WeekInputType.cpp:
16344        (WebCore::WeekInputType::isWeekField):
16345        (WebCore):
16346        * html/WeekInputType.h:
16347        (WeekInputType):
16348
163492012-05-09  Nikolas Zimmermann  <nzimmermann@rim.com>
16350
16351        REGRESSION(r105057): Infinite loop inside SVGTextLayoutEngine::currentLogicalCharacterMetrics
16352        https://bugs.webkit.org/show_bug.cgi?id=83405
16353
16354        Reviewed by Darin Adler.
16355
16356        Dynamically adding tspans carrying position information in the x/y/dx/dy/rotate lists is broken.
16357        To avoid mistakes like this in future, simplify the calling code in RenderSVGInlineText and centralize
16358        the managment of all caches (text positioning element cache / metrics map / layout attributes) in
16359        RenderSVGText. This avoids the hack in SVGRootInlineBox::computePerCharacterLayoutInformation() which
16360        called textRoot->rebuildLayoutAttributes(), which was used to fix previous security issues with this code.
16361        Instead correctly handle destruction of RenderSVGInlineText in RenderSVGText, keeping the m_layoutAttributes
16362        synchronized with the current state of the render tree. Fixes highcharts problems.
16363
16364        Tests: svg/text/add-tspan-position-bug.html
16365               svg/text/modify-tspan-position-bug.html
16366
16367        * rendering/svg/RenderSVGInline.cpp:
16368        (WebCore::RenderSVGInline::addChild):
16369        * rendering/svg/RenderSVGInlineText.cpp:
16370        (WebCore::RenderSVGInlineText::willBeDestroyed):
16371        (WebCore::RenderSVGInlineText::setTextInternal):
16372        (WebCore::RenderSVGInlineText::styleDidChange):
16373        * rendering/svg/RenderSVGText.cpp:
16374        (WebCore::recursiveUpdateMetrics):
16375        (WebCore::RenderSVGText::subtreeChildAdded):
16376        (WebCore::RenderSVGText::subtreeChildWillBeDestroyed):
16377        (WebCore::recursiveCollectLayoutAttributes):
16378        (WebCore::checkLayoutAttributesConsistency):
16379        (WebCore::RenderSVGText::subtreeChildWasDestroyed):
16380        (WebCore::RenderSVGText::subtreeStyleChanged):
16381        (WebCore::RenderSVGText::subtreeTextChanged):
16382        (WebCore::RenderSVGText::layout):
16383        (WebCore::RenderSVGText::addChild):
16384        (WebCore::RenderSVGText::rebuildAllLayoutAttributes):
16385        (WebCore::RenderSVGText::rebuildLayoutAttributes):
16386        * rendering/svg/RenderSVGText.h:
16387        (WebCore::RenderSVGText::layoutAttributes):
16388        * rendering/svg/SVGRootInlineBox.cpp:
16389        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
16390        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
16391        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):
16392
163932012-05-08  Dongwoo Im  <dw.im@samsung.com>
16394
16395        NavigatorRegisterProtocolHandler can call ChromeClient directly.
16396        https://bugs.webkit.org/show_bug.cgi?id=85944
16397
16398        Reviewed by Adam Barth.
16399
16400        Covered by fast/dom/register-protocol-handler.html
16401
16402        * page/Chrome.cpp: Remove registerProtocolHandler function.
16403        * page/Chrome.h: Remove registerProtocolHandler prototype.
16404        (Chrome):
16405        * page/NavigatorRegisterProtocolHandler.cpp: Call ChromeClient::registerProtocolHandler directly.
16406        (WebCore::NavigatorRegisterProtocolHandler::registerProtocolHandler):
16407
164082012-05-08  Mario Sanchez Prada  <msanchez@igalia.com>
16409
16410        Coding style issues present in RenderFrameSet.cpp
16411        https://bugs.webkit.org/show_bug.cgi?id=85955
16412
16413        Reviewed by Eric Seidel.
16414
16415        Just fixed those coding style issues.
16416
16417        * rendering/RenderFrameSet.cpp:
16418        (WebCore::RenderFrameSet::GridAxis::resize):
16419        (WebCore::RenderFrameSet::layOutAxis):
16420        (WebCore::RenderFrameSet::continueResizing):
16421
164222012-05-08  Jon Lee  <jonlee@apple.com>
16423
16424        Unreviewed build fix.
16425
16426        * platform/mac/WebCoreSystemInterface.h:
16427
164282012-05-08  Jason Liu  <jason.liu@torchmobile.com.cn>
16429
16430        [BlackBerry] Auth credentials set in private mode are reused in public mode.
16431        https://bugs.webkit.org/show_bug.cgi?id=84697
16432
16433        Reviewed by Rob Buis.
16434
16435        Add setPrivateMode function for CredentialStorage.
16436
16437        Now, we only save credentials in memory and CredentialBackingStore isn't enabled.
16438        When we set private mode from on to off, we clear all these temporary credentials.
16439
16440        We have to change Private Browsing to test, so have to write a manual test case.
16441        Test: ManualTests/blackberry/http-auth-private-mode-changed.html
16442
16443        * network/CredentialStorage.cpp:
16444        (WebCore::CredentialStorage::setPrivateMode):
16445        (WebCore):
16446        * platform/network/CredentialStorage.h:
16447        (CredentialStorage):
16448
164492012-05-08  Rakesh KN  <rakesh.kn@motorola.com>
16450
16451        RadioNodeList support in HTMLFormElement::elements
16452        https://bugs.webkit.org/show_bug.cgi?id=81854
16453
16454        Reviewed by Ryosuke Niwa.
16455
16456        Implement RadioNodeList support spec'ed at
16457        http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#radionodelist
16458
16459        Test: fast/forms/form-collection-radio-node-list.html
16460
16461        * CMakeLists.txt:
16462        Added entries for new files.
16463        * DerivedSources.cpp: Ditto.
16464        * DerivedSources.make: Ditto.
16465        * DerivedSources.pri: Ditto.
16466        * GNUmakefile.list.am: Ditto.
16467        * Target.pri: Ditto.
16468        * WebCore.gypi: Ditto.
16469        * WebCore.vcproj/WebCore.vcproj: Ditto.
16470        * WebCore.xcodeproj/project.pbxproj: Ditto.
16471        * bindings/js/JSHTMLCollectionCustom.cpp:
16472        (WebCore::getNamedItems):
16473        Modified to create RadioNodeList object when FormControlCollection has more than
16474        one element of same name/id.
16475        * bindings/scripts/CodeGeneratorJS.pm:
16476        (GenerateImplementation):
16477        Added code to include Node.h and JSNode.h in JSRadioNodeElement.cpp.
16478        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
16479        (WebCore::getNamedItems):
16480        Modified to create RadioNodeList object when FormControlCollection has more than
16481        one element of same name/id.
16482        * dom/Node.cpp:
16483        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
16484        Invalidate lists even for change in id, type, checked attributes.
16485        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
16486        Invalidate radioNodeList cache.
16487        (WebCore::NodeListsNodeData::isEmpty):
16488        Changes for radioNodeList.
16489        (WebCore::Node::radioNodeList):
16490        Creates if needed a RadioNodeList and adds it to the cache.
16491        (WebCore::Node::removeCachedRadioNodeList):
16492        Removes a cached radioNodeList.
16493        * dom/Node.h: Ditto
16494        * dom/NodeRareData.h:
16495        (WebCore):
16496        (NodeListsNodeData):
16497        Added radioNodeList list.
16498        * html/CollectionType.h:
16499        Added new FormControls type.
16500        * html/HTMLCollection.cpp:
16501        (WebCore::HTMLCollection::shouldIncludeChildren):
16502        (WebCore::HTMLCollection::isAcceptableElement):
16503        Handle FormControls collection type.
16504        * html/HTMLFormCollection.cpp:
16505        (WebCore::HTMLFormCollection::HTMLFormCollection):
16506        Contruct collection of FormControls type.
16507        * html/RadioNodeList.cpp: Added.
16508        (WebCore):
16509        (WebCore::RadioNodeList::RadioNodeList):
16510        (WebCore::RadioNodeList::~RadioNodeList):
16511        (WebCore::toRadioButtonInputElement):
16512        (WebCore::RadioNodeList::value):
16513        (WebCore::RadioNodeList::setValue):
16514        (WebCore::RadioNodeList::nodeMatches):
16515        * html/RadioNodeList.h: Added.
16516        (WebCore):
16517        (RadioNodeList):
16518        (WebCore::RadioNodeList::create):
16519        RadioNodeList implementation.
16520        * html/RadioNodeList.idl: Added.
16521        Idl for generating RadioNodeList JS/V8 bindings.
16522
165232012-05-08  Benjamin Poulain  <bpoulain@apple.com>
16524
16525        [JSC] Regression: addEventListener() and removeEventListener() raise an exception on missing args
16526        https://bugs.webkit.org/show_bug.cgi?id=85928
16527
16528        Reviewed by Geoffrey Garen.
16529
16530        The functions addEventListener() and removeEventListener() raise an exception if there are missin arguments.
16531        This behavior breaks existing content.
16532
16533        This patch change the code generator of JavaScript core to have an exception for addEventListener() and removeEventListener().
16534        For those function, we do not raise an exception on missin argument.
16535
16536        This patch does not modify the V8 code generator because such exceptions are already in place there.
16537
16538        Tests: fast/dom/Window/window-legacy-event-listener.html
16539               fast/dom/XMLHttpRequest-legacy-event-listener.html
16540               fast/dom/node-legacy-event-listener.html
16541
16542        * bindings/scripts/CodeGeneratorJS.pm:
16543        (GenerateImplementation):
16544
165452012-05-08  Chris Rogers  <crogers@google.com>
16546
16547        AudioParam should directly be given context in create() method
16548        https://bugs.webkit.org/show_bug.cgi?id=85905
16549
16550        Reviewed by James Robinson.
16551
16552        No new tests.  This is a low-level re-factoring and is covered by existing tests.
16553
16554        * Modules/webaudio/AudioBufferSourceNode.cpp:
16555        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
16556        * Modules/webaudio/AudioGain.h:
16557        (WebCore::AudioGain::create):
16558        (WebCore::AudioGain::AudioGain):
16559        * Modules/webaudio/AudioGainNode.cpp:
16560        (WebCore::AudioGainNode::AudioGainNode):
16561        * Modules/webaudio/AudioPannerNode.cpp:
16562        (WebCore::AudioPannerNode::AudioPannerNode):
16563        * Modules/webaudio/AudioParam.h:
16564        (WebCore::AudioParam::create):
16565        (AudioParam):
16566        (WebCore::AudioParam::AudioParam):
16567        * Modules/webaudio/BiquadFilterNode.cpp:
16568        (WebCore::BiquadFilterNode::BiquadFilterNode):
16569        * Modules/webaudio/BiquadProcessor.cpp:
16570        (WebCore::BiquadProcessor::BiquadProcessor):
16571        * Modules/webaudio/BiquadProcessor.h:
16572        * Modules/webaudio/DelayNode.cpp:
16573        (WebCore::DelayNode::DelayNode):
16574        * Modules/webaudio/DelayProcessor.cpp:
16575        (WebCore::DelayProcessor::DelayProcessor):
16576        * Modules/webaudio/DelayProcessor.h:
16577        (DelayProcessor):
16578        * Modules/webaudio/DynamicsCompressorNode.cpp:
16579        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
16580        * Modules/webaudio/Oscillator.cpp:
16581        (WebCore::Oscillator::Oscillator):
16582
165832012-05-08  Dana Jansens  <danakj@chromium.org>
16584
16585        [chromium] Show borders for partial-draw-culled quads to visualize culling behaviour
16586        https://bugs.webkit.org/show_bug.cgi?id=85414
16587
16588        Reviewed by Adrienne Walker.
16589
16590        The borders are brown, and are only shown when the quad's visible rect
16591        is non-empty and is different from the quad's original rect.
16592
16593        Adds a flag to CCQuadCuller constructor, to enable showing debug borders
16594        around what it leaves after culling (when it culls anything in a quad
16595        at all).
16596
16597        * platform/graphics/chromium/cc/CCDrawQuad.h:
16598        (WebCore::CCDrawQuad::isDebugQuad):
16599        (WebCore::CCDrawQuad::sharedQuadState):
16600        (CCDrawQuad):
16601        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
16602        (WebCore):
16603        (WebCore::CCQuadCuller::CCQuadCuller):
16604        (WebCore::appendQuadInternal):
16605        (WebCore::CCQuadCuller::append):
16606        (WebCore::CCQuadCuller::appendSurface):
16607        (WebCore::CCQuadCuller::appendReplica):
16608        * platform/graphics/chromium/cc/CCQuadCuller.h:
16609        (CCQuadCuller):
16610        * platform/graphics/chromium/cc/CCRenderPass.cpp:
16611        (WebCore::CCRenderPass::appendQuadsForLayer):
16612        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
16613
166142012-05-08  Julien Chaffraix  <jchaffraix@webkit.org>
16615
16616        Move RenderLayers z-index lists dirtying to post style change
16617        https://bugs.webkit.org/show_bug.cgi?id=85437
16618
16619        Reviewed by Darin Adler.
16620
16621        No expected change in behavior.
16622
16623        This change moves the z-order lists to RenderLayer::styleChanged. As part of this
16624        change, also added proper handling of stacking context transition. This enabled
16625        us to tighten more of the dirtyZOrderLists / clearZOrderLists code.
16626
16627        * rendering/RenderBoxModelObject.cpp:
16628        (WebCore::RenderBoxModelObject::styleWillChange):
16629        Removed this code, moved to updateStackingContextsAfterStyleChange.
16630
16631        * rendering/RenderLayer.cpp:
16632        (WebCore::RenderLayer::RenderLayer):
16633        Only stacking contexts start with dirty z-order lists.
16634
16635        (WebCore::RenderLayer::dirtyZOrderLists):
16636        Added an ASSERT.
16637
16638        (WebCore::RenderLayer::updateStackingContextsAfterStyleChange):
16639        Refactored the code to handle the transition between stacking context status.
16640
16641        (WebCore::RenderLayer::styleChanged):
16642        Added a call to updateStackingContextsAfterStyleChange.
16643
16644        * rendering/RenderLayer.h:
16645        (WebCore::RenderLayer::isStackingContext):
16646        Added a call to the next function.
16647
16648        (WebCore::RenderLayer::layerWithStyleIsStackingContext):
16649        Factored the isStackingContext logic here so that we can reuse it inside
16650        updateStackingContextsAfterStyleChange.
16651
16652        (WebCore::RenderLayer::clearZOrderLists):
16653        Added an ASSERT.
16654
166552012-05-08  Abhishek Arya  <inferno@chromium.org>
16656
16657        Crash due to owning renderer not removed from custom scrollbar.
16658        https://bugs.webkit.org/show_bug.cgi?id=80610
16659
16660        Reviewed by Eric Seidel.
16661
16662        Test: scrollbars/scrollbar-owning-renderer-crash.html
16663
16664        Changed RenderScrollbar to keep pointer to owning node, instead of the
16665        renderer. Renderer can get destroyed without informing the scrollbar, causing
16666        crashes later. Remove code from r94107 since it is not needed anymore and saves
16667        times when RenderBox is getting destroyed.
16668
16669        * page/FrameView.cpp:
16670        (WebCore::FrameView::createScrollbar): pass renderer's node.
16671        * page/FrameView.h:
16672        * rendering/RenderBox.cpp:
16673        (WebCore::RenderBox::willBeDestroyed): no longer need this. came originally from r94107.
16674        * rendering/RenderLayer.cpp:
16675        (WebCore::RenderLayer::createScrollbar): pass renderer's node.
16676        (WebCore::RenderLayer::destroyScrollbar): no longer need to clear owning renderer.
16677        * rendering/RenderListBox.cpp:
16678        (WebCore::RenderListBox::createScrollbar): pass renderer's node.
16679        * rendering/RenderMenuList.cpp:
16680        (WebCore::RenderMenuList::createScrollbar): pass renderer's node.
16681        * rendering/RenderScrollbar.cpp:
16682        (WebCore::RenderScrollbar::createCustomScrollbar): Store owner node instead of renderer.
16683        (WebCore::RenderScrollbar::RenderScrollbar): Store owner node instead of renderer.
16684        (WebCore::RenderScrollbar::owningRenderer): calculate owning renderer from owner node.
16685        * rendering/RenderScrollbar.h:
16686        (RenderScrollbar):
16687        * rendering/RenderTextControlSingleLine.cpp:
16688        (WebCore::RenderTextControlSingleLine::createScrollbar): pass renderer's node.
16689
166902012-05-08  Jon Lee  <jonlee@apple.com>
16691
16692        Safari warns that it needs to resend the form in an iFrame when going back
16693        https://bugs.webkit.org/show_bug.cgi?id=82658
16694        <rdar://problem/11292558>
16695
16696        Reviewed by Darin Adler.
16697
16698        Test: http/tests/loading/post-in-iframe-with-back-navigation.html
16699
16700        * WebCore.exp.in: Add _wkCFURLRequestAllowAllPostCaching.
16701        * platform/mac/WebCoreSystemInterface.h: Add wkCFURLRequestAllowAllPostCaching.
16702        * platform/mac/WebCoreSystemInterface.mm: Add wkCFURLRequestAllowAllPostCaching.
16703        * platform/network/cf/ResourceRequestCFNet.cpp:
16704        (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the bit to cache all POST responses.
16705        * platform/network/mac/ResourceRequestMac.mm:
16706        (WebCore::ResourceRequest::doUpdatePlatformRequest): Set the bit to cache all POST responses.
16707
167082012-05-08  Dana Jansens  <danakj@chromium.org>
16709
16710        [chromium] Reflections with masks should not occlude
16711        https://bugs.webkit.org/show_bug.cgi?id=85927
16712
16713        Reviewed by James Robinson.
16714
16715        When a surface does not have a mask, we make both it and its reflection
16716        occlude the things below them. However, if the reflection has a mask
16717        applied to it, then we should not consider it as occluding.
16718
16719        Adds replicaHasMask() to the render surface classes so we can test if
16720        the mask is present.
16721
16722        Unit Tests: CCOcclusionTrackerTestReplicaWithMask
16723
16724        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
16725        (WebCore::RenderSurfaceChromium::hasMask):
16726        This is unusued right now, but will allow us to remove a FIXME from
16727        CCOcclusionTracker::finishedTargetRenderSurface().
16728        (WebCore):
16729        (WebCore::RenderSurfaceChromium::replicaHasMask):
16730        * platform/graphics/chromium/RenderSurfaceChromium.h:
16731        (RenderSurfaceChromium):
16732        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
16733        (WebCore::::leaveToTargetRenderSurface):
16734        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
16735        (WebCore::CCRenderSurface::hasMask):
16736        This is unusued right now, but will allow us to remove a FIXME from
16737        CCOcclusionTracker::finishedTargetRenderSurface().
16738        (WebCore):
16739        (WebCore::CCRenderSurface::replicaHasMask):
16740        * platform/graphics/chromium/cc/CCRenderSurface.h:
16741        (CCRenderSurface):
16742
167432012-05-08  Eric Seidel  <eric@webkit.org>
16744
16745        Add stylesheet inheritance support to IFRAME_SEAMLESS
16746        https://bugs.webkit.org/show_bug.cgi?id=85914
16747
16748        Reviewed by Ojan Vafai.
16749
16750        This work is already guarded by IFRAME_SEAMLESS, as
16751        Document::shouldDisplaySeamlesslyWithParent always returns false
16752        when IFRAME_SEAMLESS is off.
16753
16754        This makes the child document use all author stylesheets from all parent documents,
16755        per the seamless spec:
16756        http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-seamless
16757
16758        This support is slightly inefficient as every time a sheet is added
16759        to a parent document, the child document must do a full style selector recalc.
16760        Normally author sheet additions have a fast-path which avoids the full selector recalc,
16761        but such is not possible in the seamless case as we're inserting the parents sheets
16762        earlier in the child's cascade (instead of just appending them to the end of the list).
16763
16764        The test covers both the static inheritance as well as addition of a stylesheet
16765        to the parent and testing that it caused a recalc of the child.
16766
16767        Covered by fast/frames/seamless/seamless-css-cascade.html
16768
16769        * css/StyleResolver.cpp:
16770        (WebCore::StyleResolver::StyleResolver):
16771        (WebCore::StyleResolver::addStylesheetsFromSeamlessParents):
16772        (WebCore):
16773        * css/StyleResolver.h:
16774        (StyleResolver):
16775        * dom/Document.cpp:
16776        (WebCore::Document::seamlessParentUpdatedStylesheets):
16777        (WebCore):
16778        (WebCore::Document::notifySeamlessChildDocumentsOfStylesheetUpdate):
16779        (WebCore::Document::updateActiveStylesheets):
16780        * dom/Document.h:
16781        (Document):
16782
167832012-05-08  Raphael Kubo da Costa  <rakuco@webkit.org>
16784
16785        [CMake] FindGStreamer: Fix the build with static WebCore.
16786        https://bugs.webkit.org/show_bug.cgi?id=85930
16787
16788        Reviewed by Daniel Bates.
16789
16790        No new tests, build fix.
16791
16792        Building WebCore statically was failing because files in
16793        WebCore/platform/gstreamer when ENABLE_VIDEO was set required
16794        gstreamer-base, which was not being linked to after r116453.
16795
16796        Fix that by looking for gstreamer-base, requiring and linking
16797        against it if GStreamer is used.
16798
16799        * PlatformEfl.cmake: Link to GSTREAMER_LIBRARIES and
16800        GSTREAMER_BASE_LIBRARIES, and include GSTREAMER_INCLUDE_DIRS and
16801        GSTREAMER_BASE_INCLUDE_DIRS.
16802
168032012-05-08  Raymond Toy  <rtoy@google.com>
16804
16805        JavaScriptAudioNode should not ASSERT if number of input channels is 0
16806        https://bugs.webkit.org/show_bug.cgi?id=85818
16807
16808        Reviewed by Eric Seidel.
16809
16810        Test: webaudio/javascriptaudionode-zero-input-channels.html
16811
16812        * Modules/webaudio/JavaScriptAudioNode.cpp:
16813        (WebCore::JavaScriptAudioNode::process): Update buffersAreGood.
16814        (WebCore::JavaScriptAudioNode::fireProcessEvent): Remove ASSERT.
16815
168162012-05-08  Dana Jansens  <danakj@chromium.org>
16817
16818        Region reads past end of spans
16819        https://bugs.webkit.org/show_bug.cgi?id=85909
16820
16821        Reviewed by Anders Carlsson.
16822
16823        Region currently checks aSpan == aSpanEnd as the indicator that
16824        we passed all the spans. When aSpan < aSpanEnd, it uses aSpan+1
16825        to find the height of the span.
16826
16827        If aSpan == aSpanEnd - 1, then aSpan+1 == aSpanEnd. This does not
16828        represent a valid span, since aSpanEnd is past the end of the
16829        array, not the last element in the array. The loop should terminate
16830        in this case.
16831
16832        Checking aSegment != aSegmentEnd is acceptable in the inner loop since
16833        it increments by two each time (segments come in pairs, while spans
16834        come in singles).
16835
16836        Test: RegionTest.ReadPastFullSpanVectorInIntersectsTest
16837
16838        * platform/graphics/Region.cpp:
16839        (WebCore::Region::Shape::compareShapes):
16840
168412012-05-08  Philip Rogers  <pdr@google.com>
16842
16843        Prevent crash in animated lists
16844        https://bugs.webkit.org/show_bug.cgi?id=85382
16845
16846        Reviewed by Nikolas Zimmermann.
16847
16848        Animated lists blindly assign the last list value to m_toAtEndOfDurationType
16849        in SVGAnimationElement::startedActiveInterval. If the last list value's length
16850        is larger or smaller than the animated "to" length, we crash.
16851
16852        This change prevents accessing values off the end of toAtEndOfDuration by adding
16853        a check for this case. It may seem inefficient to perform this check on every
16854        animation update but the "to" value can change (in cardinality) while animating.
16855
16856        I checked each of the other animation types (e.g., SVGAnimatedAngle,
16857        SVGAnimatedBoolean, etc.) and was only able to hit this style of crash
16858        in the three types modified in this change:
16859        SVGAnimatedLengthList, SVGAnimatedNumberList, and SVGAnimatedPointList.
16860
16861        Tests: svg/animations/animate-linear-discrete-additive-b-expected.svg
16862               svg/animations/animate-linear-discrete-additive-b.svg
16863               svg/animations/animate-linear-discrete-additive-c-expected.svg
16864               svg/animations/animate-linear-discrete-additive-c.svg
16865               svg/animations/animate-linear-discrete-additive-expected.svg
16866               svg/animations/animate-linear-discrete-additive.svg
16867               svg/animations/animate-list-crash.svg
16868
16869        * svg/SVGAnimatedLengthList.cpp:
16870        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
16871        * svg/SVGAnimatedNumberList.cpp:
16872        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
16873        * svg/SVGAnimatedPointList.cpp:
16874        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
16875
168762012-05-08  Rafael Weinstein  <rafaelw@chromium.org>
16877
16878        HTMLElementStack::hasOnlyHTMLElementsInScope is no longer called
16879        https://bugs.webkit.org/show_bug.cgi?id=85908
16880
16881        Reviewed by Eric Seidel.
16882
16883        This patch just removes the dead code.
16884
16885        No tests needed. Cleanup only.
16886
16887        * html/parser/HTMLElementStack.cpp:
16888        * html/parser/HTMLElementStack.h:
16889        (HTMLElementStack):
16890
168912012-05-08  W. James MacLean  <wjmaclean@chromium.org>
16892
16893        [chromium] Create LinkHighlightLayerChromium class to provide link-highlight preview animations for GraphicsLayerChromium.
16894        https://bugs.webkit.org/show_bug.cgi?id=85084
16895
16896        Reviewed by James Robinson.
16897
16898        Unit test provided.
16899
16900        Creates a layer delegate class to provide link highlight animations for link-preview feature.
16901        These are added to a GraphicsLayerChromium via provided methods. Moves dispensing of animation
16902        ids into a separate class.
16903
16904        * WebCore.gypi:
16905        * platform/graphics/chromium/AnimationIdVendor.cpp: Added.
16906        (WebCore):
16907        (WebCore::AnimationIdVendor::getNextAnimationId):
16908        (WebCore::AnimationIdVendor::getNextGroupId):
16909        * platform/graphics/chromium/AnimationIdVendor.h: Added.
16910        (WebCore):
16911        (AnimationIdVendor):
16912        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
16913        (WebCore::GraphicsLayerChromium::willBeDestroyed):
16914        (WebCore::GraphicsLayerChromium::updateNames):
16915        (WebCore::GraphicsLayerChromium::addAnimation):
16916        (WebCore::GraphicsLayerChromium::addLinkHighlight):
16917        (WebCore):
16918        (WebCore::GraphicsLayerChromium::didFinishLinkHighlight):
16919        (WebCore::GraphicsLayerChromium::updateChildList):
16920        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
16921        * platform/graphics/chromium/GraphicsLayerChromium.h:
16922        (WebCore):
16923        (GraphicsLayerChromium):
16924        * platform/graphics/chromium/LinkHighlight.cpp: Added.
16925        (WebCore):
16926        (WebCore::LinkHighlight::create):
16927        (WebCore::LinkHighlight::LinkHighlight):
16928        (WebCore::LinkHighlight::~LinkHighlight):
16929        (WebCore::LinkHighlight::contentLayer):
16930        (WebCore::LinkHighlight::paintContents):
16931        (WebCore::LinkHighlight::notifyAnimationStarted):
16932        (WebCore::LinkHighlight::notifyAnimationFinished):
16933        * platform/graphics/chromium/LinkHighlight.h: Added.
16934        (WebCore):
16935        (LinkHighlight):
16936
169372012-05-08  Raphael Kubo da Costa  <rakuco@webkit.org>
16938
16939        [CMake] Rewrite FindGStreamer.cmake.
16940        https://bugs.webkit.org/show_bug.cgi?id=85857
16941
16942        Reviewed by Daniel Bates.
16943
16944        No new tests, build system change.
16945
16946        We are currently kind of duplicating the same
16947        FindGStreamer-Foo.cmake file whenever a new GStreamer plugin needs
16948        to be found. Besides this approach not scaling very well, it
16949        relies on pkg-config for version checking, uses the LibFindMacros
16950        package that we should deprecate and all the find files could be
16951        merged into one, with users using the COMPONENTS feature of the
16952        FIND_PACKAGE() call to find the desired plugins.
16953
16954        FindGStreamer.cmake has then been rewritten to take all that into
16955        account:
16956        - The LibFindMacros.cmake package is not used anymore.
16957        - Version check is performed in the CMake file itself by parsing
16958        the gstversion.h header.
16959        - All GStreamer plugins are searched and the COMPONENTS keyword
16960        used in the FIND_PACKAGE() call is used to check which plugins are
16961        required.
16962        - The plugins-base and base GStreamer plugins are not searched, as
16963        they were not used anywhere in the build system.
16964
16965        * PlatformEfl.cmake: Update GStreamer-related variable names.
16966
169672012-05-08  Mikhail Pozdnyakov  <mikhail.pozdnyakov@intel.com>
16968
16969        [EFL] Handling of numeric-pad keys in EFL's PlatformKeyboardEvent
16970        https://bugs.webkit.org/show_bug.cgi?id=85479
16971
16972        Reviewed by Gustavo Noronha Silva.
16973
16974        EFL's PlatformKeyboardEvent::isKeypad() now returns meaningful value.
16975        Added numeric-pad keys to the Key Map and Windows Key Map.
16976
16977        No new tests.
16978
16979        * platform/efl/EflKeyboardUtilities.cpp:
16980        (WebCore::createKeyMap):
16981        (WebCore::createWindowsKeyMap):
16982        * platform/efl/PlatformKeyboardEventEfl.cpp:
16983        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
16984
169852012-05-04  Nikolas Zimmermann  <nzimmermann@rim.com>
16986
16987        Tie lifetime of SVGAnimateElement::m_animatedType to the duration of the animation
16988        https://bugs.webkit.org/show_bug.cgi?id=85627
16989
16990        Reviewed by Antti Koivisto.
16991
16992        Example:
16993        <rect width="10" height="100">
16994            <animate attributeName="width" from="10" to="100" begin="2s" dur="4s" fill="remove"/>
16995        </rect>
16996
16997        At t=0s the <animate> element receives its first interval: begin=2s, end=6s.
16998        At this point we've created the 'OwnPtr<SVGAnimatedType> m_animatedType' in
16999        SVGAnimateElement, which holds the current animated value of the target type.
17000        In this example it contains a SVGLength with '10' as value at t=0s.
17001
17002        Calling "rect.width.animVal.value" will return the value currently contained in the
17003        m_animatedType from the SVGAnimateElement, even though the animation didn't begin
17004        yet. This is fine, as the animVal equals to the baseVal, as long as no animation is
17005        running.
17006
17007        At t=6s you'd expect that the whole 'animVal' object is destructed again, as it's no
17008        longer needed, as animVal will be equal to baseVal again, but the current code keeps
17009        the animVal alive, and just resets it to the baseVal. The animVals will be destructed
17010        once the animate element leaves the tree.
17011
17012        CSS animations suffer from the same problem, we never remove the animated SMIL properties
17013        but we only reset them to the base value. This makes integration with CSS Animations and
17014        CSS Transitions harder, so this needs to be changed.
17015
17016        This patch starts tracking the start/end of an animation chain properly, to destruct
17017        the animation effect for non-frozen animations at the end of their duration. This has to
17018        work properly together with seeking (SVGSVGElement.setCurrentTime), as our testing relies
17019        on the ability to drive the SMIL timeline from script.
17020
17021        Tests: svg/animations/list-wrapper-assertion-expected.svg
17022               svg/animations/list-wrapper-assertion.svg
17023
17024        * svg/SVGAnimateElement.cpp:
17025        (WebCore::SVGAnimateElement::resetAnimatedType):
17026        (WebCore::applyCSSPropertyToTarget):
17027        (WebCore::removeCSSPropertyFromTarget):
17028        (WebCore::applyCSSPropertyToTargetAndInstances):
17029        (WebCore::removeCSSPropertyFromTargetAndInstances):
17030        (WebCore::notifyTargetAboutAnimValChange):
17031        (WebCore::notifyTargetAndInstancesAboutAnimValChange):
17032        (WebCore::SVGAnimateElement::clearAnimatedType):
17033        (WebCore::SVGAnimateElement::applyResultsToTarget):
17034        (WebCore::SVGAnimateElement::targetElementWillChange):
17035        * svg/SVGAnimateElement.h:
17036        (SVGAnimateElement):
17037        * svg/SVGAnimateMotionElement.cpp:
17038        (WebCore::SVGAnimateMotionElement::resetAnimatedType):
17039        (WebCore::SVGAnimateMotionElement::clearAnimatedType):
17040        * svg/SVGAnimateMotionElement.h:
17041        (SVGAnimateMotionElement):
17042        * svg/SVGAnimationElement.cpp:
17043        * svg/SVGAnimationElement.h:
17044        * svg/animation/SMILTimeContainer.cpp:
17045        (WebCore::SMILTimeContainer::updateAnimations):
17046        * svg/animation/SVGSMILElement.cpp:
17047        (WebCore::SVGSMILElement::reset):
17048        (WebCore::SVGSMILElement::targetElementWillChange):
17049        (WebCore::SVGSMILElement::determineActiveState):
17050        (WebCore::SVGSMILElement::progress):
17051        * svg/animation/SVGSMILElement.h:
17052        (SVGSMILElement):
17053        * svg/properties/SVGAnimatedListPropertyTearOff.h:
17054            Remove svgAttributeChanged() calls from animationEnded/animValDidChange.
17055            Callers are now required to notify the target about changes. There are cases
17056            where we want to call animValDidChange without invoking svgAttributeChanged().
17057            That is supported now.
17058        (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
17059        (WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):
17060        * svg/properties/SVGAnimatedProperty.h: Ditto.
17061        (WebCore::SVGAnimatedProperty::commitChange): Add safety guard.
17062        * svg/properties/SVGAnimatedPropertyTearOff.h: Ditto.
17063        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
17064        (WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
17065        * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
17066        (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
17067        (WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):
17068
170692012-05-08  Ryuan Choi  <ryuan.choi@samsung.com>
17070
17071        [EFL][DRT]Do not create ScrollbarEfl when mockScrollbar is enabled.
17072        https://bugs.webkit.org/show_bug.cgi?id=81315
17073
17074        Reviewed by Chang Shu.
17075
17076        ScrollbarEfl creates custom scrollbars as separated layer and they are
17077        not related to ScrollbarTheme.
17078        So, DRT/Efl creates custom scrollbars on webview which paints mockScrollbar.
17079
17080        This patch prevents creating custom scrollbars when mockScrollbar is enabled.
17081
17082        Because DRT/Efl only renders the webview now, expected results are same
17083        until Bug 79853 is landed.
17084
17085        * platform/efl/ScrollbarEfl.cpp:
17086        (Scrollbar::createNativeScrollbar):
17087
170882012-05-08  Timothy Hatcher  <timothy@apple.com>
17089
17090        Fix the SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL macro so it passes the full path to dlopen.
17091
17092        dyld only considers libraries in the versioned framework path if their install name
17093        matches the library that it is attempting to load. The path we were passing to
17094        dlopen lacked the Versions/A component of the path so dyld did not recognize that
17095        we wanted it to use the staged version if it is newer.
17096
17097        <rdar://problem/11406517>
17098
17099        Reviewed by Mark Rowe.
17100
17101        * platform/mac/SoftLinking.h: Have SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL take the
17102        framework version as an argument and use it when constructing the path to dlopen.
17103
171042012-05-08  Rafael Brandao  <rafael.lobo@openbossa.org>
17105
17106        Build fix for Qt Snowleopard Release
17107        https://bugs.webkit.org/show_bug.cgi?id=85895
17108
17109        Reviewed by Alexis Menard.
17110
17111        The enum value JSUint8ClampedArray conflicted with the JSUint8ClampedArray class.
17112        I've added the 'Type' suffix to the enum value to make their names different.
17113
17114        No new tests needed.
17115
17116        * bridge/qt/qt_runtime_qt4.cpp:
17117        (JSC::Bindings::valueRealType):
17118        (JSC::Bindings::convertValueToQVariant):
17119
171202012-05-08  Shezan Baig  <shezbaig.wk@gmail.com>
17121
17122        offsetLeft broken within CSS3 columns
17123        https://bugs.webkit.org/show_bug.cgi?id=34875
17124
17125        Reviewed by Julien Chaffraix.
17126
17127        Reimplement offsetLeft and offsetTop in terms of a new method called
17128        'offsetTopLeft'. The new method starts from a reference point (the
17129        top-left coordinate of a box or inline) and adjusts this reference
17130        point for columns as we traverse each parent. Note that the reference
17131        point needs to be adjusted in both dimensions, even though offsetLeft
17132        and offsetTop return only one of them.
17133
17134        A new method called 'offsetForColumns' was added to RenderObject. This
17135        method is similar to adjustForColumns, except that it returns the
17136        offset instead of modifying a reference. This method is necessary to
17137        simplify the implementation of offsetTopLeft.
17138
17139        Tests: fast/block/positioning/offsetLeft-offsetTop-multicolumn-expected.txt
17140               fast/block/positioning/offsetLeft-offsetTop-multicolumn.html
17141
17142        * rendering/RenderBox.h:
17143        (RenderBox):
17144        Override offsetLeft and offsetTop.
17145        * rendering/RenderBox.cpp:
17146        (WebCore::RenderBox::offsetLeft):
17147        Implemented in terms of RenderBoxModelObject::offsetTopLeft, using
17148        topLeftLocation as startPoint.
17149        (WebCore::RenderBox::offsetTop):
17150        Implemented in terms of RenderBoxModelObject::offsetTopLeft, using
17151        topLeftLocation as startPoint.
17152        * rendering/RenderBoxModelObject.cpp:
17153        (WebCore::RenderBoxModelObject::offsetTopLeft):
17154        New method to compute offsetLeft and offsetTop simultaneously, and
17155        adjusting for columns at each parent.
17156        (WebCore::RenderBoxModelObject::offsetLeft):
17157        Reimplemented in terms of offsetTopLeft.
17158        (WebCore::RenderBoxModelObject::offsetTop):
17159        Reimplemented in terms of offsetTopLeft.
17160        * rendering/RenderBoxModelObject.h:
17161        (RenderBoxModelObject):
17162        Declare new offsetTopLeft method.
17163        * rendering/RenderInline.cpp:
17164        (WebCore::RenderInline::offsetLeft):
17165        Reimplemented in terms of RenderBoxModelObject::offsetTopLeft.
17166        (WebCore::RenderInline::offsetTop):
17167        Reimplemented in terms of RenderBoxModelObject::offsetTopLeft.
17168        * rendering/RenderObject.h:
17169        (RenderObject):
17170        (WebCore::RenderObject::offsetForColumns):
17171        New helper method to simplify implementation of offsetTopLeft.
17172
171732012-03-31  Robert Hogan  <robert@webkit.org>
17174
17175        CSS 2.1 failure: first-letter-nested-004.htm fails
17176        https://bugs.webkit.org/show_bug.cgi?id=72987
17177
17178        Reviewed by Eric Seidel.
17179
17180        When styling first-letter check each sibling and drill into its inlines until we find either (i) a text node 
17181        that is not all whitespace, or (ii) a line break.
17182
17183        This makes our rendering of the following tests compatible with FF and Opera. Our current behaviour is also conformant
17184        since the spec allows UAs to style just one element:
17185            css2.1/20110323/first-letter-quote-002.htm
17186            css2.1/20110323/first-letter-quote-003.htm
17187            css2.1/20110323/first-letter-quote-004.htm
17188            css2.1/20110323/first-letter-quote-005.htm
17189
17190        This fixes the following two tests. We now drill into the descendants of an element styled with :first-letter looking
17191        for text to style:
17192            css2.1/20110323/first-letter-nested-004.htm
17193            css2.1/20110323/first-letter-nested-006.htm
17194
17195        This patch changes our rendering of first-letter-dynamic-001.htm as we now render adjacent quotes in the second line as 
17196        green. This is consistent with the spec, which allows this behaviour but does not require it. It's the 'right' behaviour
17197        since it is consistent with the rendering of such quotes in a single element with :first-letter style.
17198
17199        * rendering/RenderBlock.cpp:
17200        (WebCore::RenderBlock::findLastObjectWithFirstLetterText): Iterate through the child's siblings looking for the last
17201          object to be styled :first-letter.
17202        (WebCore::RenderBlock::findLastObjectAfterFirstLetterPunctuation): Style any leading punctuation as first-letter, drill
17203          down into the child's descendants looking for text if necessary.
17204        (WebCore::RenderBlock::updateFirstLetter): Refactor to drill into sibling's children looking for inlines
17205         that should be styled as first-letter.
17206        (WebCore::RenderBlock::addFirstLetter): Split out from updateFirstLetter so that it can be used when a
17207         descendant node inside a sibling is found in findLastObjectWithFirstLetterText() needs to be styled as first-letter.
17208        * rendering/RenderBlock.h:
17209
172102012-05-08  Sheriff Bot  <webkit.review.bot@gmail.com>
17211
17212        Unreviewed, rolling out r116402.
17213        http://trac.webkit.org/changeset/116402
17214        https://bugs.webkit.org/show_bug.cgi?id=85898
17215
17216        Caused a 3% regression on Chromium's bloat-http test on Linux
17217        (Requested by ojan_gardening on #webkit).
17218
17219        * WebCore.exp.in:
17220        * bindings/v8/RetainedDOMInfo.cpp:
17221        * dom/ContainerNode.h:
17222        * dom/Node.cpp:
17223        (WebCore::Node::traverseNextNode):
17224        (WebCore):
17225        (WebCore::Node::traverseNextSibling):
17226        * dom/Node.h:
17227        (Node):
17228
172292012-05-08  Hironori Bono  <hbono@chromium.org>
17230
17231        [Chromium] Fix the position of an RTL resizer
17232        https://bugs.webkit.org/show_bug.cgi?id=80640
17233
17234        Reviewed by Tony Chang.
17235
17236        When rendering an RTL resizer, my r110073 renders it at the same position as the
17237        one used for rendering a LTR resizer. Unfortunately, this code renders the RTL
17238        resizer image at an incorrect position on Mac and Linux. This change uses the
17239        correct formula to calculate the position of an RTL resizer.
17240
17241        Test: platform/chromium/scrollbars/rtl-resizer-position.html
17242
17243        * rendering/RenderLayer.cpp:
17244        (WebCore::RenderLayer::drawPlatformResizerImage):
17245
172462012-05-08  Andreas Kling  <kling@webkit.org>
17247
17248        Element: isURLAttribute() should take a const Attribute&.
17249        <http://webkit.org/b/85890>
17250
17251        Reviewed by Anders Carlsson.
17252
17253        Change isURLAttribute(Attribute*) to isURLAttribute(const Attribute&) to enforce
17254        the fact that the Attribute can't be null, and shouldn't be mutated, at compile-time.
17255        Also sprinkle OVERRIDE while we're at it.
17256
17257        * dom/Element.cpp:
17258        (WebCore::Element::getURLAttribute):
17259        (WebCore::Element::getNonEmptyURLAttribute):
17260        * dom/Element.h:
17261        (WebCore::Element::isURLAttribute):
17262        * editing/MarkupAccumulator.cpp:
17263        (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
17264        (WebCore::MarkupAccumulator::appendAttribute):
17265        * editing/markup.cpp:
17266        (WebCore::completeURLs):
17267        * html/HTMLAnchorElement.cpp:
17268        (WebCore::HTMLAnchorElement::isURLAttribute):
17269        * html/HTMLAnchorElement.h:
17270        * html/HTMLBaseElement.cpp:
17271        (WebCore::HTMLBaseElement::isURLAttribute):
17272        * html/HTMLBaseElement.h:
17273        * html/HTMLBodyElement.cpp:
17274        (WebCore::HTMLBodyElement::isURLAttribute):
17275        * html/HTMLBodyElement.h:
17276        * html/HTMLButtonElement.cpp:
17277        (WebCore::HTMLButtonElement::isURLAttribute):
17278        * html/HTMLButtonElement.h:
17279        * html/HTMLElement.cpp:
17280        (WebCore::HTMLElement::isURLAttribute):
17281        * html/HTMLElement.h:
17282        * html/HTMLEmbedElement.cpp:
17283        (WebCore::HTMLEmbedElement::isURLAttribute):
17284        * html/HTMLEmbedElement.h:
17285        * html/HTMLFormElement.cpp:
17286        (WebCore::HTMLFormElement::isURLAttribute):
17287        * html/HTMLFormElement.h:
17288        * html/HTMLFrameElementBase.cpp:
17289        (WebCore::HTMLFrameElementBase::isURLAttribute):
17290        * html/HTMLFrameElementBase.h:
17291        (HTMLFrameElementBase):
17292        * html/HTMLHtmlElement.cpp:
17293        (WebCore::HTMLHtmlElement::isURLAttribute):
17294        * html/HTMLHtmlElement.h:
17295        * html/HTMLImageElement.cpp:
17296        (WebCore::HTMLImageElement::isURLAttribute):
17297        * html/HTMLImageElement.h:
17298        * html/HTMLInputElement.cpp:
17299        (WebCore::HTMLInputElement::isURLAttribute):
17300        * html/HTMLInputElement.h:
17301        * html/HTMLLinkElement.cpp:
17302        (WebCore::HTMLLinkElement::isURLAttribute):
17303        * html/HTMLLinkElement.h:
17304        * html/HTMLMediaElement.cpp:
17305        (WebCore::HTMLMediaElement::isURLAttribute):
17306        * html/HTMLMediaElement.h:
17307        * html/HTMLModElement.cpp:
17308        (WebCore::HTMLModElement::isURLAttribute):
17309        * html/HTMLModElement.h:
17310        * html/HTMLObjectElement.cpp:
17311        (WebCore::HTMLObjectElement::isURLAttribute):
17312        * html/HTMLObjectElement.h:
17313        * html/HTMLParamElement.cpp:
17314        (WebCore::HTMLParamElement::isURLAttribute):
17315        * html/HTMLParamElement.h:
17316        * html/HTMLQuoteElement.cpp:
17317        (WebCore::HTMLQuoteElement::isURLAttribute):
17318        * html/HTMLQuoteElement.h:
17319        * html/HTMLScriptElement.cpp:
17320        (WebCore::HTMLScriptElement::isURLAttribute):
17321        * html/HTMLScriptElement.h:
17322        * html/HTMLSourceElement.cpp:
17323        (WebCore::HTMLSourceElement::isURLAttribute):
17324        * html/HTMLSourceElement.h:
17325        * html/HTMLTableCellElement.cpp:
17326        (WebCore::HTMLTableCellElement::isURLAttribute):
17327        * html/HTMLTableCellElement.h:
17328        * html/HTMLTableElement.cpp:
17329        (WebCore::HTMLTableElement::isURLAttribute):
17330        * html/HTMLTableElement.h:
17331        * html/HTMLTrackElement.cpp:
17332        (WebCore::HTMLTrackElement::isURLAttribute):
17333        * html/HTMLTrackElement.h:
17334        * html/HTMLVideoElement.cpp:
17335        (WebCore::HTMLVideoElement::isURLAttribute):
17336        * html/HTMLVideoElement.h:
17337        * svg/SVGScriptElement.cpp:
17338        (WebCore::SVGScriptElement::isURLAttribute):
17339        * svg/SVGScriptElement.h:
17340
173412012-05-08  Stephen Chenney  <schenney@chromium.org>
17342
17343        Shrink ElementAttributeData by factoring out Attr object count.
17344        https://bugs.webkit.org/show_bug.cgi?id=85825
17345
17346        Unreviewed build fix.
17347
17348        * dom/ElementAttributeData.cpp:
17349        (WebCore::attrListForElement): Was returning false instead of 0 for a pointer value. Now returns 0.
17350
173512012-05-08  Andreas Kling  <kling@webkit.org>
17352
17353        Element: Merge idAttributeChanged() into attributeChanged().
17354        <http://webkit.org/b/85885>
17355
17356        Reviewed by Antti Koivisto.
17357
17358        No new tests, code churn only.
17359
17360        * dom/Element.h:
17361        * dom/Element.cpp:
17362        (WebCore::Element::attributeChanged): There's no need for this to be a standalone function anymore.
17363
173642012-05-08  Andreas Kling  <kling@webkit.org>
17365
17366        Shrink ElementAttributeData by factoring out Attr object count.
17367        <http://webkit.org/b/85825>
17368
17369        Reviewed by Antti Koivisto.
17370
17371        Stop tracking the number of Attr objects that point to a given Element on the
17372        Element itself and manage this by having a global hashmap of Element => AttrList,
17373        where AttrList is a vector of (pointers to) the associated Attr objects.
17374
17375        This shrinks ElementAttributeData by one integer, effectively reducing memory
17376        consumption by ~530kB when viewing the full HTML5 spec at <http://whatwg.org/c>.
17377
17378        * dom/ElementAttributeData.h:
17379        (ElementAttributeData):
17380
17381            Remove m_attrCount...
17382
17383        * dom/Node.h:
17384        (WebCore::Node::hasAttrList):
17385        (WebCore::Node::setHasAttrList):
17386        (WebCore::Node::clearHasAttrList):
17387
17388            ...replacing it with a Node flag that tells us whether there's an Attr
17389            object map for this Node (only applies to Elements.)
17390
17391        * dom/ElementAttributeData.cpp:
17392        (WebCore::attrListMap):
17393        (WebCore::attrListForElement):
17394        (WebCore::ensureAttrListForElement):
17395        (WebCore::removeAttrListForElement):
17396        (WebCore::ElementAttributeData::attrIfExists):
17397        (WebCore::ElementAttributeData::ensureAttr):
17398        (WebCore::ElementAttributeData::setAttr):
17399        (WebCore::ElementAttributeData::removeAttr):
17400        (WebCore::ElementAttributeData::detachAttributesFromElement):
17401
17402            Map Element => per-Element AttrList in a global hash.
17403
174042012-05-08  Chris Guan  <chris.guan@torchmobile.com.cn>
17405
17406        [Blackberry] remove m_isRequestedByPlugin in ResourceRequest
17407        https://bugs.webkit.org/show_bug.cgi?id=84559
17408
17409        Reviewed by Antonio Gomes.
17410
17411        ResourceRequest is a network level abstraction, and it should
17412        not know anything about web concepts such as plug-ins, and Blackberry
17413        does not need m_isRequestedByPlugin any longer, So clean up all related
17414        code.
17415
17416        Tested on a website of http://edition.cnn.com, a new window should be
17417        opened only when user has a singe tap gesture on a plugin element.
17418
17419        * platform/network/blackberry/ResourceRequest.h:
17420        (WebCore::ResourceRequest::ResourceRequest):
17421        (ResourceRequest):
17422        (CrossThreadResourceRequestData):
17423        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
17424        (WebCore::ResourceRequest::doPlatformCopyData):
17425        (WebCore::ResourceRequest::doPlatformAdopt):
17426
174272012-05-03  Alexander Pavlov  <apavlov@chromium.org>
17428
17429        Extra line-breaks added when copying from source.
17430        https://bugs.webkit.org/show_bug.cgi?id=85282
17431
17432        Reviewed by Ryosuke Niwa.
17433
17434        The code used to replace any \n by \r\n, even the one that had a preceding \r, resulting in \r\r\n.
17435        This change introduces a check for the preceding \r when replacing \n's.
17436
17437        Test: platform/win/editing/pasteboard/pasting-crlf-isnt-translated-to-crcrlf-win.html
17438
17439        * platform/chromium/ClipboardUtilitiesChromium.cpp:
17440        (WebCore::replaceNewlinesWithWindowsStyleNewlines):
17441        * platform/win/ClipboardUtilitiesWin.cpp:
17442        (WebCore::replaceNewlinesWithWindowsStyleNewlines):
17443
174442012-05-08  Adam Barth  <abarth@webkit.org>
17445
17446        OS(ANDROID) JNI AttachCurrentThread take JNIEnv** as a parameter, not void**
17447        https://bugs.webkit.org/show_bug.cgi?id=85869
17448
17449        Reviewed by Eric Seidel.
17450
17451        According to
17452        http://docs.oracle.com/javase/1.5.0/docs/guide/jni/spec/invocation.html,
17453        AttachCurrentThread takes a JNIEnv** rather than a void**.  Apparently,
17454        most implementations actually take a void**.  The OS(ANDROID)
17455        implementation, however, actually takes an JNIEnv**.  This patch
17456        introduces a typedef to give each implementation what it desires.
17457
17458        * bridge/jni/JNIUtility.cpp:
17459        (JSC::Bindings::getJNIEnv):
17460
174612012-05-08  Balazs Kelemen  <kbalazs@webkit.org>
17462
17463        [Qt] X11 plugins need to be reworked for Qt5+WK1
17464        https://bugs.webkit.org/show_bug.cgi?id=80691
17465
17466        Reviewed by Simon Hausmann.
17467
17468        Implement basic windowless plugin support with Qt5.
17469        The solution is the same that has been chosen for
17470        WebKit2. We get the content drawed by the plugin
17471        from the X server as an image, create a QImage
17472        from it and paint it to the window surface with QPainter.
17473        Performance is sufficient for basic video playback.
17474
17475        No new tests, covered by existing plugin tests.
17476
17477        * Target.pri:
17478        * WebCore.pri:
17479        * platform/qt/QWebPageClient.h:
17480        (QWebPageClient):
17481        * plugins/PluginView.h:
17482        (PluginView):
17483        * plugins/qt/PluginPackageQt.cpp:
17484        (WebCore::PluginPackage::isPluginBlacklisted):
17485        Blacklist plugins that are incompatible with Qt5.
17486        The only one I know about currently is skypebuttons
17487        but the list can be extended in the future.
17488        (WebCore):
17489        (WebCore::PluginPackage::load):
17490        * plugins/qt/PluginViewQt.cpp:
17491        (X11Environment):
17492        (WebCore):
17493        (WebCore::x11Display):
17494        (WebCore::x11Screen):
17495        (WebCore::rootWindowID):
17496        (WebCore::displayDepth):
17497        (WebCore::syncX):
17498        (WebCore::PluginView::platformPageClient): Added a safe
17499        convenience getter for the QWebpageClient.
17500        (WebCore::PluginView::updatePluginWidget):
17501        (WebCore::PluginView::setFocus):
17502        (WebCore::setupGraphicsExposeEvent):
17503        (WebCore::PluginView::paintUsingXPixmap):
17504        (WebCore::setSharedXEventFields):
17505        (WebCore::PluginView::initXEvent):
17506        (WebCore::PluginView::setXKeyEventSpecificFields):
17507        (WebCore::setXButtonEventSpecificFields):
17508        (WebCore::setXMotionEventSpecificFields):
17509        (WebCore::setXCrossingEventSpecificFields):
17510        (WebCore::PluginView::setNPWindowIfNeeded):
17511        (WebCore::PluginView::setParentVisible):
17512        (WebCore::PluginView::platformGetValue):
17513        (WebCore::PluginView::invalidateRect):
17514        (WebCore::getVisualAndColormap):
17515        Refactored this function to make it more clear
17516        what does it actually do.
17517        (WebCore::PluginView::platformStart):
17518        (WebCore::PluginView::platformDestroy):
17519
175202012-05-07  Antti Koivisto  <antti@apple.com>
17521
17522        Inline Node::traverseNextNode
17523        https://bugs.webkit.org/show_bug.cgi?id=85844
17524
17525        Reviewed by Ryosuke Niwa.
17526
17527        Inline traverseNextNode and traverseNextSibling to reduce entry/exit overhead and allow better code generation
17528        for many hot loops. Also added separate versions of stayWithin and unscoped cases (the function is
17529        so simple that this seemed like the cleanest way to do it, the most reliable too) and used UNLIKELY for the 
17530        end-of-traversal conditions.
17531        
17532        The traversal function can show up to ~1% in normal page loading profiles.
17533        
17534        run-perf-tests seems to think this is a progression in some subtests though bots will tell for certain.
17535
17536        * WebCore.exp.in:
17537        * dom/ContainerNode.h:
17538        
17539            Following the existing pattern, function bodies go to ContainerNode.h so they can call parentNode().
17540            (which returns ContainerNode, not Node).
17541
17542        (WebCore::Node::traverseNextNode):
17543        (WebCore):
17544        (WebCore::Node::traverseNextSibling):
17545        * dom/Node.cpp:
17546        (WebCore):
17547        * dom/Node.h:
17548        (Node):
17549
175502012-05-05  Pavel Feldman  <pfeldman@chromium.org>
17551
17552        Web Inspector: make JavaScriptSourceFrame use breakpoint manager's breakpoints store.
17553        https://bugs.webkit.org/show_bug.cgi?id=85714
17554
17555        Reviewed by Yury Semikhatsky.
17556
17557        It is currently using its own copy of breakpoints which is not necessary.
17558
17559        * inspector/front-end/BreakpointManager.js:
17560        (WebInspector.BreakpointManager):
17561        (WebInspector.BreakpointManager.prototype.restoreBreakpoints):
17562        (WebInspector.BreakpointManager.prototype.setBreakpoint):
17563        (WebInspector.BreakpointManager.prototype._innerSetBreakpoint):
17564        (WebInspector.BreakpointManager.prototype.findBreakpoint):
17565        (WebInspector.BreakpointManager.prototype.reset):
17566        (WebInspector.BreakpointManager.prototype._debuggerReset):
17567        (WebInspector.BreakpointManager.prototype._breakpointResolved):
17568        (WebInspector.BreakpointManager.prototype._uiLocationAdded):
17569        (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
17570        (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
17571        (WebInspector.BreakpointManager.Storage.prototype._restoreBreakpoints):
17572        (set WebInspector.BreakpointManager.Storage.Item):
17573        * inspector/front-end/JavaScriptSource.js:
17574        (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
17575        (WebInspector.JavaScriptSource.prototype.breakpointStorageId):
17576        * inspector/front-end/JavaScriptSourceFrame.js:
17577        (WebInspector.JavaScriptSourceFrame):
17578        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
17579        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
17580        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
17581        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
17582        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
17583        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
17584        (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
17585        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
17586        (WebInspector.JavaScriptSourceFrame.prototype._updateBreakpointsAfterLiveEdit):
17587
175882012-05-07  Pavel Feldman  <pfeldman@chromium.org>
17589
17590        Web Inspector: do not create locations for resolved provisional breakpoints
17591        https://bugs.webkit.org/show_bug.cgi?id=85716
17592
17593        Reviewed by Yury Semikhatsky.
17594
17595        Marked provisional breakpoints as such.
17596
17597        * inspector/front-end/BreakpointManager.js:
17598        (WebInspector.BreakpointManager.prototype._debuggerReset):
17599        (WebInspector.BreakpointManager.prototype._breakpointResolved):
17600
176012012-05-07  Simon Fraser  <simon.fraser@apple.com>
17602
17603        Compositing layers with transformed children not large enough to show contents
17604        https://bugs.webkit.org/show_bug.cgi?id=85855
17605
17606        Reviewed by Dan Bernstein.
17607        
17608        r114518 added a code path to RenderLayer::calculateLayerBounds() which
17609        does an early return if the layer has clipping. However, this code
17610        path omitted to take local transforms into account.
17611        
17612        Fix is to handle transforms as we do in the non-clipped case.
17613
17614        Test: compositing/geometry/bounds-clipped-composited-child.html
17615
17616        * rendering/RenderLayer.cpp:
17617        (WebCore::RenderLayer::calculateLayerBounds):
17618
176192012-05-07  Scott Graham  <scottmg@chromium.org>
17620
17621        Fix signed/unsigned mismatch
17622        https://bugs.webkit.org/show_bug.cgi?id=85845
17623
17624        Make literal in assert be unsigned to match comparison on LHS. Avoids
17625        warning on Windows.
17626
17627        Reviewed by Eric Seidel.
17628
17629        No new tests. No intended functionality change.
17630
17631        * rendering/RenderTableSection.cpp:
17632        (WebCore::RenderTableSection::splitColumn):
17633
176342012-05-07  Emil A Eklund  <eae@chromium.org>
17635
17636        Fix performance regression for floats caused by LayoutUnit change
17637        https://bugs.webkit.org/show_bug.cgi?id=85834
17638
17639        Reviewed by Eric Seidel.
17640
17641        Fix performance regression caused by r116009 by disabling the use of
17642        64bit math in FractionalLayoutUnit, simplifying the pixelSnappedMaxX/Y
17643        math, inlining a couple of methods and replacing the literal 0 (zero)
17644        with ZERO_LAYOUT_UNIT.
17645
17646        No new tests, no change in functionality.
17647
17648        * platform/FractionalLayoutUnit.h:
17649        (WebCore::boundedMultiply):
17650        (WebCore::operator*):
17651        (WebCore::operator/):
17652        Disable the use of 64bit (long long) math in the case where the fraction
17653        is set to 1.
17654        
17655        * platform/graphics/FractionalLayoutRect.h:
17656        (WebCore::FractionalLayoutRect::pixelSnappedMaxX):
17657        (WebCore::FractionalLayoutRect::pixelSnappedMaxY):
17658        Simplify the pixel snapping logic for maxX/maxY.
17659        
17660        * rendering/RenderBlock.cpp:
17661        (WebCore::RenderBlock::isSelfCollapsingBlock):
17662        (WebCore::RenderBlock::layoutBlock):
17663        (WebCore::RenderBlock::computeOverflow):
17664        (WebCore::RenderBlock::clearFloatsIfNeeded):
17665        (WebCore::RenderBlock::paintChildren):
17666        (WebCore::RenderBlock::blockSelectionGap):
17667        (WebCore::RenderBlock::logicalLeftSelectionGap):
17668        (WebCore::RenderBlock::logicalRightSelectionGap):
17669        (WebCore::RenderBlock::computeLogicalLocationForFloat):
17670        (WebCore::RenderBlock::lowestFloatLogicalBottom):
17671        (WebCore::RenderBlock::getClearDelta):
17672        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
17673        (WebCore::RenderBlock::addFocusRingRects):
17674        (WebCore::RenderBlock::adjustLinePositionForPagination):
17675        * rendering/RenderBlock.h:
17676        (WebCore::RenderBlock::availableLogicalWidthForLine):
17677        (WebCore::RenderBlock::availableLogicalWidthForContent):
17678        (WebCore::RenderBlock::FloatingObject::x):
17679        (WebCore::RenderBlock::FloatingObject::maxX):
17680        (WebCore::RenderBlock::FloatingObject::y):
17681        (WebCore::RenderBlock::FloatingObject::maxY):
17682        (WebCore::RenderBlock::FloatingObject::width):
17683        (WebCore::RenderBlock::FloatingObject::height):
17684        (FloatingObject):
17685        (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
17686        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
17687        (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
17688        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
17689        (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
17690        (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
17691        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
17692        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
17693        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
17694        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
17695        * rendering/RenderBoxModelObject.cpp:
17696        (WebCore::accumulateRelativePositionOffsets):
17697        (WebCore::RenderBoxModelObject::offsetLeft):
17698        (WebCore::RenderBoxModelObject::offsetTop):
17699        (WebCore::RenderBoxModelObject::computedCSSPaddingTop):
17700        (WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
17701        (WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
17702        (WebCore::RenderBoxModelObject::computedCSSPaddingRight):
17703        (WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
17704        (WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
17705        (WebCore::RenderBoxModelObject::computedCSSPaddingStart):
17706        (WebCore::RenderBoxModelObject::computedCSSPaddingEnd):
17707
177082012-05-07  Dongwoo Im  <dw.im@samsung.com>
17709
17710        width/height attributes of input element cannot be accessed by JavaScript.
17711        https://bugs.webkit.org/show_bug.cgi?id=70304
17712
17713        Reviewed by Darin Adler.
17714
17715        If the type of input element is image button, width/height attributes should be supported.
17716        These attributes are defined in HTML5 spec.
17717        http://www.w3.org/TR/html5/the-map-element.html#attr-dim-width
17718
17719        Tests: fast/forms/input-width-height-attributes-without-renderer-loaded-image.html
17720               fast/forms/input-width-height-attributes-without-renderer-not-loaded-image.html
17721               fast/forms/input-width-height-attributes-without-renderer.html
17722               fast/forms/input-width-height-attributes.html
17723
17724        * html/HTMLInputElement.cpp: Add setter/getter functions to query/set width/height of input element.
17725        (WebCore):
17726        (WebCore::HTMLInputElement::height): Gets height of input element.
17727        (WebCore::HTMLInputElement::width): Gets width of input element.
17728        (WebCore::HTMLInputElement::setHeight): Sets height of input element.
17729        (WebCore::HTMLInputElement::setWidth): Sets width of input element.
17730        * html/HTMLInputElement.h: Add public prototype.
17731        (HTMLInputElement):
17732        * html/HTMLInputElement.idl: Add width/height attributes.
17733        * html/ImageInputType.cpp: Add getter functions if the element is an image button.
17734        (WebCore):
17735        (WebCore::ImageInputType::height): Gets height of input element.
17736        (WebCore::ImageInputType::width): Gets width of input element.
17737        * html/ImageInputType.h: Add prototype.
17738        (ImageInputType):
17739        * html/InputType.cpp: Add getter functions.
17740        (WebCore::InputType::height): Returns zero.
17741        (WebCore):
17742        (WebCore::InputType::width): Returns zero.
17743        * html/InputType.h: Add prototype.
17744        (InputType):
17745
177462012-05-07  Kinuko Yasuda  <kinuko@chromium.org>
17747
17748        Support cross-filesystem operations in FileSystem API
17749        https://bugs.webkit.org/show_bug.cgi?id=84135
17750
17751        Reviewed by David Levin.
17752
17753        Currently we pass Entry's fullPath to AsyncFileSystem layer where
17754        we convert the given path to filesystem URL which includes origin and
17755        filesystem type information, but in that way we cannot handle
17756        cross-filesystem operations (e.g. cross-filesystem copy and move)
17757        well since we end up with always attaching the source filesystem's
17758        origin and type information for argument paths.
17759
17760        This patch does:
17761        - change AsyncFileSystem's operation methods not to take entry paths
17762          but complete filesystem URLs.
17763        - move type and rootURL information from AsyncFileSystem instance into
17764          DOMFileSystemBase instance (platform layer to Modules/filesystem layer)
17765        - move filesystem-type related code in AsyncFileSystemChromium.cpp into
17766          DOMFileSystemChromium.cpp, which implements chromioum-specific
17767          DOMFileSystem code.
17768        - move platform/FileSystemType.h into Modules/filesystem/FileSystemType.h.
17769        - adding FileSystemType.h entry to build files (e.g. WebCore.gypi, WebCore.xcodeproj etc)
17770
17771        Test: fast/filesystem/cross-filesystem-op.html
17772
17773        * Modules/filesystem/DOMFileSystem.cpp:
17774        (WebCore::DOMFileSystem::create):
17775        (WebCore::DOMFileSystem::DOMFileSystem):
17776        (WebCore::DOMFileSystem::createWriter):
17777        (WebCore::DOMFileSystem::createFile):
17778        * Modules/filesystem/DOMFileSystem.h:
17779        * Modules/filesystem/DOMFileSystemBase.cpp:
17780        (WebCore::DOMFileSystemBase::DOMFileSystemBase):
17781        (WebCore::DOMFileSystemBase::createFileSystemURL): Added as an internal
17782        implementation of Entry.toURL().
17783        (WebCore::DOMFileSystemBase::getMetadata):
17784        (WebCore::verifyAndGetDestinationPathForCopyOrMove):
17785        (WebCore::DOMFileSystemBase::move):
17786        (WebCore::DOMFileSystemBase::copy):
17787        (WebCore::DOMFileSystemBase::remove):
17788        (WebCore::DOMFileSystemBase::removeRecursively):
17789        (WebCore::DOMFileSystemBase::getParent):
17790        (WebCore::DOMFileSystemBase::getFile):
17791        (WebCore::DOMFileSystemBase::getDirectory):
17792        (WebCore::DOMFileSystemBase::readDirectory):
17793        * Modules/filesystem/DOMFileSystemBase.h: Changed to make each
17794        DOMFileSystemBase instance have filesystem type and rootURL (they were
17795        held by AsyncFileSystem previously)
17796        (WebCore::DOMFileSystemBase::create): Changed to take additional parameters.
17797        (WebCore::DOMFileSystemBase::type): Added.(Moved from AsyncFileSystem::type)
17798        (WebCore::DOMFileSystemBase::rootURL): Added.(Moved from AsyncFileSystem::rootURL).
17799        * Modules/filesystem/DOMFileSystemSync.cpp:
17800        (WebCore::DOMFileSystemSync::create):
17801        (WebCore::DOMFileSystemSync::DOMFileSystemSync):
17802        (WebCore::DOMFileSystemSync::createFile):
17803        (WebCore::DOMFileSystemSync::createWriter):
17804        * Modules/filesystem/DOMFileSystemSync.h:
17805        (WebCore::DOMFileSystemSync::create):
17806        * Modules/filesystem/DOMWindowFileSystem.cpp:
17807        (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
17808        (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
17809        * Modules/filesystem/EntryBase.cpp:
17810        (WebCore::EntryBase::toURL):
17811        * Modules/filesystem/FileSystemCallbacks.cpp:
17812        (WebCore::FileSystemCallbacks::create):
17813        (WebCore::FileSystemCallbacks::FileSystemCallbacks):
17814        (WebCore::FileSystemCallbacks::didOpenFileSystem):
17815        (WebCore::ResolveURICallbacks::create):
17816        (WebCore::ResolveURICallbacks::ResolveURICallbacks):
17817        (WebCore::ResolveURICallbacks::didOpenFileSystem):
17818        * Modules/filesystem/FileSystemCallbacks.h:
17819        (FileSystemCallbacks):
17820        (ResolveURICallbacks):
17821        * Modules/filesystem/FileSystemType.h: Renamed from Source/WebCore/platform/FileSystemType.h.
17822        * Modules/filesystem/LocalFileSystem.cpp:
17823        (WebCore::openFileSystem):
17824        (WebCore::LocalFileSystem::readFileSystem):
17825        (WebCore::LocalFileSystem::requestFileSystem):
17826        * Modules/filesystem/LocalFileSystem.h:
17827        * Modules/filesystem/WorkerContextFileSystem.cpp:
17828        (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
17829        (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
17830        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
17831        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
17832        * Modules/filesystem/chromium/DOMFileSystemChromium.cpp: Added for chromium-specific
17833        implementation. Almost all of the code is moved from AsyncFileSystemChromium.
17834        (WebCore::DOMFileSystemBase::isValidType):
17835        (WebCore::DOMFileSystemBase::crackFileSystemURL):
17836        (WebCore::DOMFileSystemBase::supportsToURL):
17837        (WebCore::DOMFileSystemBase::createFileSystemURL):
17838        (WebCore::DOMFileSystemChromium::createIsolatedFileSystem):
17839        * Modules/filesystem/chromium/DOMFileSystemChromium.h: Added.
17840        * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp:
17841        (WebCore::DataTransferItemFileSystem::webkitGetAsEntry):
17842        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp:
17843        (WebCore::DraggedIsolatedFileSystem::getDOMFileSystem):
17844        * WebCore.gypi:
17845        * platform/AsyncFileSystem.cpp:
17846        (WebCore::AsyncFileSystem::openFileSystem):
17847        * platform/AsyncFileSystem.h:
17848        (AsyncFileSystem):
17849        (WebCore::AsyncFileSystem::AsyncFileSystem):
17850        * platform/AsyncFileSystemCallbacks.h:
17851        (WebCore::AsyncFileSystemCallbacks::didOpenFileSystem):
17852        * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
17853        (WebCore::AsyncFileSystem::create):
17854        (WebCore::AsyncFileSystem::openFileSystem):
17855        (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
17856        (WebCore::AsyncFileSystemBlackBerry::move):
17857        (WebCore::AsyncFileSystemBlackBerry::copy):
17858        (WebCore::AsyncFileSystemBlackBerry::remove):
17859        (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
17860        (WebCore::AsyncFileSystemBlackBerry::readMetadata):
17861        (WebCore::AsyncFileSystemBlackBerry::createFile):
17862        (WebCore::AsyncFileSystemBlackBerry::createDirectory):
17863        (WebCore::AsyncFileSystemBlackBerry::fileExists):
17864        (WebCore::AsyncFileSystemBlackBerry::directoryExists):
17865        (WebCore::AsyncFileSystemBlackBerry::readDirectory):
17866        (WebCore::AsyncFileSystemBlackBerry::createWriter):
17867        (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
17868        * platform/blackberry/AsyncFileSystemBlackBerry.h:
17869        * platform/chromium/PlatformSupport.h:
17870        * platform/gtk/AsyncFileSystemGtk.cpp:
17871        (WebCore::AsyncFileSystem::create):
17872        (WebCore::AsyncFileSystem::openFileSystem):
17873        (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
17874        (WebCore::AsyncFileSystemGtk::move):
17875        (WebCore::AsyncFileSystemGtk::copy):
17876        (WebCore::AsyncFileSystemGtk::remove):
17877        (WebCore::AsyncFileSystemGtk::removeRecursively):
17878        (WebCore::AsyncFileSystemGtk::readMetadata):
17879        (WebCore::AsyncFileSystemGtk::createFile):
17880        (WebCore::AsyncFileSystemGtk::createDirectory):
17881        (WebCore::AsyncFileSystemGtk::fileExists):
17882        (WebCore::AsyncFileSystemGtk::directoryExists):
17883        (WebCore::AsyncFileSystemGtk::readDirectory):
17884        (WebCore::AsyncFileSystemGtk::createWriter):
17885        * platform/gtk/AsyncFileSystemGtk.h:
17886
17887        * GNUmakefile.list.am: Added FileSystemType.h.
17888        * WebCore.gypi: Added FileSystemType.h.
17889        * WebCore.vcproj/WebCore.vcproj: Added FileSystemType.h.
17890        * WebCore.xcodeproj/project.pbxproj: Added FileSystemType.h.
17891
178922012-05-07  Adam Barth  <abarth@webkit.org>
17893
17894        [Chromium] Android wishes to use an empty implementation if AXObjectCache
17895        https://bugs.webkit.org/show_bug.cgi?id=85842
17896
17897        Reviewed by Eric Seidel.
17898
17899        Add proper HAVE(ACCESSIBILITY) ifdefs so that Chromium builds without
17900        accessibility.
17901
17902        * accessibility/chromium/AXObjectCacheChromium.cpp:
17903        * accessibility/chromium/AccessibilityObjectChromium.cpp:
17904
179052012-05-07  Greg Billock  <gbillock@google.com>
17906
17907        [Web Intents] Flagged-off implementation of an intent tag for registration.
17908        https://bugs.webkit.org/show_bug.cgi?id=73039
17909
17910        Reviewed by Adam Barth.
17911
17912        The intent tag is a declarative way for pages to register that they
17913        accept delivery of web intent invocations of particular types. See the
17914        spec at http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
17915
17916        After discussion on the WhatWG list (see thread at
17917        http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-April/035301.html)
17918        the current plan is to combine declarative registration of Web
17919        Intents and protocol/content handlers with this tag. Alternatives
17920        considered were the meta and link tags.
17921
17922        * WebCore.gypi:
17923        * html/HTMLAttributeNames.in:
17924        * html/HTMLElementsAllInOne.cpp:
17925        * html/HTMLIntentElement.cpp: Added.
17926        (WebCore::HTMLIntentElement::HTMLIntentElement):
17927        (WebCore::HTMLIntentElement::create):
17928        (WebCore::HTMLIntentElement::insertedIntoDocument):
17929        * html/HTMLIntentElement.h: Added.
17930        * html/HTMLIntentElement.idl: Added.
17931        * html/HTMLTagNames.in:
17932        * loader/FrameLoaderClient.h:
17933        (WebCore::FrameLoaderClient::registerIntentService):
17934        * page/DOMWindow.idl:
17935
179362012-05-07  Dana Jansens  <danakj@chromium.org>
17937
17938        Region::intersects() and Region::contains() are slow due to copy overhead
17939        https://bugs.webkit.org/show_bug.cgi?id=81076
17940
17941        Reviewed by Anders Carlsson.
17942
17943        Testing contains() and intersects() requires a copy which ends up
17944        invoking a malloc on sufficiently complicated web pages, and slows down
17945        the test unnecessarily. These methods can be done by iterating over the
17946        Region::Shape values rather than making a copy of the entire region and
17947        manipulating it.
17948
17949        This uses Region::Shape::compareShapes() to walk the query regions and
17950        compute the result of the intersects or contains tests without making a
17951        copy.
17952
17953        This change improves the performance of the Region overlap testing for
17954        composited layers, and allows for testing contains() before unite() to
17955        avoid unnecessary copies of the Region when inserting into complex
17956        Regions. With a layout test that has 225 composited layers, and tests
17957        Region.intersects() for 1000 layers above them, this change decreases
17958        the running time of the test by 1.2% by avoiding a copy of the 225
17959        rects each time.
17960
17961        Unit test: RegionTest.intersectsRegion
17962                   RegionTest.containsRegion
17963
17964        * platform/graphics/Region.cpp:
17965        (WebCore::Region::contains):
17966        (WebCore::Region::intersects):
17967        (WebCore):
17968        (WebCore::Region::Shape::compareShapes):
17969        (Region::Shape::CompareContainsOperation):
17970        (WebCore::Region::Shape::CompareContainsOperation::aOutsideB):
17971        (WebCore::Region::Shape::CompareContainsOperation::bOutsideA):
17972        (WebCore::Region::Shape::CompareContainsOperation::aOverlapsB):
17973        (Region::Shape::CompareIntersectsOperation):
17974        (WebCore::Region::Shape::CompareIntersectsOperation::aOutsideB):
17975        (WebCore::Region::Shape::CompareIntersectsOperation::bOutsideA):
17976        (WebCore::Region::Shape::CompareIntersectsOperation::aOverlapsB):
17977        * platform/graphics/Region.h:
17978        (Shape):
17979
179802012-05-07  David Tseng  <dtseng@google.com>
17981
17982        Correct logical error in accessibilityIsIgnored.
17983        https://bugs.webkit.org/show_bug.cgi?id=85828
17984
17985        Reviewed by Chris Fleizach.
17986
17987        Covered by existing tests.
17988
17989        * accessibility/AccessibilityMenuListOption.cpp:
17990        (WebCore::AccessibilityMenuListOption::accessibilityIsIgnored):
17991        * accessibility/AccessibilityMenuListPopup.cpp:
17992        (WebCore::AccessibilityMenuListPopup::accessibilityIsIgnored):
17993
179942012-05-04  Zhenyao Mo  <zmo@google.com>
17995
17996        vertexAttribPointer needs to reject large negative offsets
17997        https://bugs.webkit.org/show_bug.cgi?id=85117
17998
17999        Reviewed by Kenneth Russell.
18000
18001        * html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr
18002        (WebCore):
18003        (WebCore::WebGLRenderingContext::bufferData):
18004        (WebCore::WebGLRenderingContext::bufferSubData):
18005        (WebCore::WebGLRenderingContext::drawElements):
18006        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
18007        (WebCore::WebGLRenderingContext::vertexAttribPointer):
18008        * html/canvas/WebGLRenderingContext.h: Ditto
18009        (WebGLRenderingContext):
18010        * html/canvas/WebGLRenderingContext.idl: Ditto
18011
180122012-05-07  Pravin D  <pravind.2k4@gmail.com>
18013
18014        :first-line text-decorations are not rendered
18015        https://bugs.webkit.org/show_bug.cgi?id=6047
18016
18017        Text-decorations are applied during paint phase. The style was not being properly selected in case of
18018        first line box. The patch fixes this. 
18019
18020        Reviewed by Eric Seidel.
18021
18022        Tests: fast/css/first-line-text-decoration-inherited-from-parent.html
18023               fast/css/first-line-text-decoration.html
18024
18025        * rendering/InlineTextBox.cpp:
18026        (WebCore::InlineTextBox::paintDecoration):
18027        Inform the decoration color retriever if this box is part of the first line box or not.
18028
18029        * rendering/RenderObject.cpp:
18030        (WebCore::decorationColor):
18031        Changed the argument from RenderObject* to RenderStyle*. As this function is just a helper to getTextDecorationColors
18032        as used RenderObject solely to retrieve the corresponding RenderStyle, which(RenderStyle*) was already available with the latter function. 
18033
18034        (WebCore::RenderObject::getTextDecorationColors):
18035        Take a new variable to check if first line style or the regular style has to be used.
18036        Sends RenderStyle* as an argument to decorationColor(). 
18037
18038        * rendering/RenderObject.h:
18039        (RenderObject):
18040
180412012-05-07  Julien Chaffraix  <jchaffraix@webkit.org>
18042
18043        Refactor windowClipRectForLayer to remove the explicit RenderLayer dependency
18044        https://bugs.webkit.org/show_bug.cgi?id=84090
18045
18046        Reviewed by David Hyatt.
18047
18048        No observable change in behavior.
18049
18050        The function name was ambiguous as it was not a general purpose function but was
18051        working directly on HTMLFrameOwnerElement. The rename makes this more obvious as
18052        well as removes the explicit dependency on RenderLayer.
18053
18054        One of the slight change of this refactoring is that we now always null-check the
18055        HTMLFrameOwnerElement's renderer as part windowClipRectForFrameOwner as I don't see
18056        any evidence for the other code paths not to hit that. Also we may recur more on our
18057        frame tree if we have no layer as we now call windowClipRect() in this case.
18058
18059        * page/FrameView.h:
18060        (FrameView):
18061        * plugins/PluginView.cpp:
18062        (WebCore::PluginView::windowClipRect):
18063        * WebCore.exp.in:
18064        * WebCore.order:
18065        * page/FrameView.cpp:
18066        (WebCore::FrameView::windowClipRect):
18067        Updated after windowClipRectForLayer name and signature change.
18068
18069        (WebCore::FrameView::windowClipRectForFrameOwner):
18070        This function now takes the HTMLFrameOwnerElement directly.
18071
18072        * plugins/PluginView.cpp:
18073        (WebCore::PluginView::PluginView):
18074        (WebCore::PluginView::create):
18075        * plugins/PluginView.h:
18076        (PluginView):
18077        Updated |m_element| to be an HTMLPlugInElement as this was what was
18078        passed by every caller. This makes the conversion to HTMLFrameOwnerElement
18079        possible.
18080
180812012-05-07  Enrica Casucci  <enrica@apple.com>
18082
18083        REGRESSION (r101575): Chinese input is broken when composing mail in iCloud using Safari.
18084        https://bugs.webkit.org/show_bug.cgi?id=85840
18085        <rdar://problem/11115520> 
18086        
18087        Reviewed by Alexey Proskuryakov.
18088
18089        The revision that broke this, introduced a way to sanitize the markup when deleting a range selection.
18090        iCloud listens for DOM modification events and clears the selection, altering the input method state.
18091        The fix consists in adding a paramenter to DeleteSelectionCommand to control when we sanitize the
18092        markup.
18093        
18094        * editing/CompositeEditCommand.cpp:
18095        (WebCore::CompositeEditCommand::deleteSelection):
18096        * editing/CompositeEditCommand.h:
18097        * editing/DeleteSelectionCommand.cpp:
18098        (WebCore::DeleteSelectionCommand::DeleteSelectionCommand):
18099        (WebCore::DeleteSelectionCommand::doApply):
18100        * editing/DeleteSelectionCommand.h:
18101        (WebCore::DeleteSelectionCommand::create):
18102        * editing/InsertTextCommand.cpp:
18103        (WebCore::InsertTextCommand::doApply):
18104
181052012-05-07  Andy Estes  <aestes@apple.com>
18106
18107        ENABLE_IFRAME_SEAMLESS should be part of FEATURE_DEFINES.
18108
18109        * Configurations/FeatureDefines.xcconfig:
18110
181112012-05-06  Martin Robinson  <mrobinson@igalia.com>
18112
18113        [Cairo] Implement ImageBuffer::copyImage for BackingStoreCopy == DontCopyBackingStore
18114        https://bugs.webkit.org/show_bug.cgi?id=85728
18115
18116        Reviewed by Alejandro G. Castro.
18117
18118        No new tests. This should not change functionality, only increase performance.
18119
18120        * platform/graphics/cairo/ImageBufferCairo.cpp:
18121        (WebCore::ImageBuffer::copyImage): Add an implementation that knows how to avoid copying the backing store.
18122        (WebCore::ImageBuffer::draw): Use the copyImage constructor now that it knows how to
18123        avoid copying the backing store.
18124        (WebCore::ImageBuffer::drawPattern): Ditto.
18125        * platform/graphics/texmap/TextureMapperLayer.cpp:
18126        (WebCore::TextureMapperLayer::updateBackingStore): Use DontCopyBackingStore for Cairo
18127        as well.
18128
181292012-05-07  Noel Gordon  <noel.gordon@gmail.com>
18130
18131        [CG] Separate image encoding from dataURL construction
18132        https://bugs.webkit.org/show_bug.cgi?id=85782
18133
18134        Reviewed by Kenneth Russell.
18135
18136        Remove the implicit assumption that a dataURL is the only desired output format
18137        of the image encoding phase.
18138
18139        No new tests. No behavioral change. Covered by canvas 2d and 3d tests:
18140            canvas/philip/tests/*toDataURL*.html
18141            fast/canvas/webgl/premultiplyalpha-test.html
18142
18143        * platform/graphics/cg/ImageBufferCG.cpp:
18144        (WebCore::CGImageEncodeToData): Image encoding helper: encode the image using the
18145        uti-defined encoder (PNG/JPEG/etc) and output to the given CFMutableDataRef data.
18146        (WebCore):
18147        (WebCore::CGImageToDataURL): Refactor to use CGImageEncodeToData().
18148
181492012-05-07  Scott Graham  <scottmg@chromium.org>
18150
18151        [Chromium] Suppress switch-without-cases warning
18152        https://bugs.webkit.org/show_bug.cgi?id=85830
18153
18154        Warnings like 
18155        ...\webkit\CSSGrammar.cpp(2075) : warning C4065: switch statement contains 'default' but no 'case' labels
18156        are generated. These are bogus, so just suppress them in the build
18157        settings.
18158
18159        Reviewed by Dirk Pranke
18160
18161        No new tests, no intended functionlity change. Just changing compiler
18162        settings.
18163
18164        * WebCore.gyp/WebCore.gyp:
18165
181662012-05-07  Adrienne Walker  <enne@google.com>
18167
18168        [chromium] Allow for asymmetric tile sizes on composited tiled layers
18169        https://bugs.webkit.org/show_bug.cgi?id=85687
18170
18171        Reviewed by James Robinson.
18172
18173        Update TiledLayerChromium/CCLayerTilingData/TilingData to allow for a
18174        the width and height of tile sizes to differ. Modify TilingData to use
18175        IntSize everywhere for these width/height pairs.
18176
18177        Also, remove some unused functions from TilingData.
18178
18179        Test: TilingDataTest.*
18180
18181        * platform/graphics/chromium/TiledLayerChromium.cpp:
18182        (WebCore::TiledLayerChromium::TiledLayerChromium):
18183        (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
18184        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
18185        (WebCore::CCLayerTilingData::CCLayerTilingData):
18186        (WebCore::CCLayerTilingData::setTileSize):
18187        (WebCore):
18188        (WebCore::CCLayerTilingData::tileSize):
18189        (WebCore::CCLayerTilingData::operator=):
18190        (WebCore::CCLayerTilingData::tileRect):
18191        (WebCore::CCLayerTilingData::setBounds):
18192        (WebCore::CCLayerTilingData::bounds):
18193        * platform/graphics/chromium/cc/CCLayerTilingData.h:
18194        (CCLayerTilingData):
18195        * platform/graphics/gpu/Texture.cpp:
18196        (WebCore::Texture::Texture):
18197        (WebCore::Texture::create):
18198        (WebCore::Texture::load):
18199        (WebCore::Texture::updateSubRect):
18200        * platform/graphics/gpu/TilingData.cpp:
18201        (WebCore::TilingData::TilingData):
18202        (WebCore::TilingData::setTotalSize):
18203        (WebCore::TilingData::setMaxTextureSize):
18204        (WebCore::TilingData::tileXIndexFromSrcCoord):
18205        (WebCore::TilingData::tileYIndexFromSrcCoord):
18206        (WebCore::TilingData::tileBounds):
18207        (WebCore::TilingData::tileSizeX):
18208        (WebCore::TilingData::tileSizeY):
18209        (WebCore::TilingData::recomputeNumTiles):
18210        * platform/graphics/gpu/TilingData.h:
18211        (TilingData):
18212        (WebCore::TilingData::totalSize):
18213        (WebCore::TilingData::maxTextureSize):
18214        (WebCore::TilingData::TilingData):
18215
182162012-05-07  Raymond Toy  <rtoy@google.com>
18217
18218        ConvolverNode setBuffer() should not ASSERT on null buffer
18219        https://bugs.webkit.org/show_bug.cgi?id=85653
18220
18221        Reviewed by Chris Rogers.
18222
18223        Test: webaudio/convolver-setBuffer-null.html
18224
18225        * Modules/webaudio/ConvolverNode.cpp:
18226        (WebCore::ConvolverNode::setBuffer):  Don't ASSERT on null buffer.
18227
182282012-05-07  Ken Buchanan  <kenrb@chromium.org>
18229
18230        Crash due to positioned object list not being cleared during block flow split
18231        https://bugs.webkit.org/show_bug.cgi?id=85074
18232
18233        Reviewed by Abhishek Arya.
18234
18235        When an element is being split due to a column span element being
18236        inserted, any of its ancestors that are underneath the column
18237        containing block also get split. If an ancestor has an object in
18238        its positioned object list from a previous layout, then the list
18239        will have to be cleared because the positioned object could have moved
18240        to be under the continuation. This patch causes the list to be
18241        cleared.
18242
18243        * rendering/RenderBlock.cpp:
18244        (WebCore::RenderBlock::splitBlocks):
18245
182462012-05-07  Eric Seidel  <eric@webkit.org>
18247
18248        Add ENABLE_IFRAME_SEAMLESS so Apple can turn off SEAMLESS if needed
18249        https://bugs.webkit.org/show_bug.cgi?id=85822
18250
18251        Reviewed by Adam Barth.
18252
18253        * Configurations/FeatureDefines.xcconfig:
18254        * dom/Document.cpp:
18255        (WebCore::Document::shouldDisplaySeamlesslyWithParent):
18256
182572012-05-07  Shezan Baig  <shezbaig.wk@gmail.com>
18258
18259        Selection Background Color Error
18260        https://bugs.webkit.org/show_bug.cgi?id=80382
18261
18262        Reviewed by David Hyatt.
18263
18264        Determine the text colors and selection colors before painting the
18265        background behind the text.  This is because when determining whether
18266        to invert the selection background, the selection text color should be
18267        used instead of the regular text color.  With this patch, the selection
18268        text color is passed to 'paintSelection' so that the selection
18269        background can be compared against it, instead of comparing against the
18270        CSSPropertyColor value.
18271
18272        Test: fast/backgrounds/selection-background-color.html
18273
18274        * rendering/InlineTextBox.cpp:
18275        (WebCore::InlineTextBox::paint):
18276            Pass selection text color to paintSelection
18277
18278        (WebCore::InlineTextBox::paintSelection):
18279            Use the selection text color instead of CSSPropertyColor
18280
18281        * rendering/InlineTextBox.h:
18282        (InlineTextBox):
18283            Adjust signature of paintSelection to accept text color
18284
182852012-05-07  David Reveman  <reveman@chromium.org>
18286
18287        [Chromium] Use GL_CHROMIUM_command_buffer_query to throttle texture uploads.
18288        https://bugs.webkit.org/show_bug.cgi?id=81004
18289
18290        Reviewed by Adrienne Walker.
18291
18292        Add ThrottledTextureUploader class that uses GL_CHROMIUM_command_buffer_query
18293        to throttle texture uploads based on number of currently pending queries.
18294
18295        Unit test: ThrottledTextureUploaderTest.IsBusy
18296
18297        * WebCore.gypi:
18298        * platform/graphics/chromium/LayerRendererChromium.cpp:
18299        (WebCore::LayerRendererChromium::create):
18300        (WebCore::LayerRendererChromium::LayerRendererChromium):
18301        (WebCore::LayerRendererChromium::initializeSharedObjects):
18302        * platform/graphics/chromium/LayerRendererChromium.h:
18303        (LayerRendererChromium):
18304        * platform/graphics/chromium/TextureUploader.cpp: Removed.
18305        * platform/graphics/chromium/TextureUploader.h:
18306        (TextureUploader):
18307        * platform/graphics/chromium/ThrottledTextureUploader.cpp: Added.
18308        (WebCore):
18309        (WebCore::ThrottledTextureUploader::Query::Query):
18310        (WebCore::ThrottledTextureUploader::Query::~Query):
18311        (WebCore::ThrottledTextureUploader::Query::begin):
18312        (WebCore::ThrottledTextureUploader::Query::end):
18313        (WebCore::ThrottledTextureUploader::Query::isPending):
18314        (WebCore::ThrottledTextureUploader::Query::wait):
18315        (WebCore::ThrottledTextureUploader::ThrottledTextureUploader):
18316        (WebCore::ThrottledTextureUploader::~ThrottledTextureUploader):
18317        (WebCore::ThrottledTextureUploader::isBusy):
18318        (WebCore::ThrottledTextureUploader::beginUploads):
18319        (WebCore::ThrottledTextureUploader::endUploads):
18320        (WebCore::ThrottledTextureUploader::uploadTexture):
18321        (WebCore::ThrottledTextureUploader::processQueries):
18322        * platform/graphics/chromium/ThrottledTextureUploader.h: Copied from Source/WebCore/platform/graphics/chromium/TextureUploader.h.
18323        (WebCore):
18324        (ThrottledTextureUploader):
18325        (WebCore::ThrottledTextureUploader::create):
18326        (Query):
18327        (WebCore::ThrottledTextureUploader::Query::create):
18328        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
18329        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
18330        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
18331        (CCLayerTreeHostImpl):
18332        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
18333        (UnthrottledTextureUploader):
18334        (WebCore::UnthrottledTextureUploader::create):
18335        (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
18336        (WebCore::UnthrottledTextureUploader::isBusy):
18337        (WebCore::UnthrottledTextureUploader::beginUploads):
18338        (WebCore::UnthrottledTextureUploader::endUploads):
18339        (WebCore::UnthrottledTextureUploader::uploadTexture):
18340        (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
18341        (WebCore):
18342        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
18343        (WebCore::CCSingleThreadProxy::recreateContext):
18344        (WebCore::CCSingleThreadProxy::doCommit):
18345        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
18346        (WebCore::CCTextureUpdater::update):
18347        * platform/graphics/chromium/cc/CCTextureUpdater.h:
18348        (CCTextureUpdater):
18349        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
18350        (WebCore):
18351        (UnthrottledTextureUploader):
18352        (WebCore::UnthrottledTextureUploader::create):
18353        (WebCore::UnthrottledTextureUploader::~UnthrottledTextureUploader):
18354        (WebCore::UnthrottledTextureUploader::isBusy):
18355        (WebCore::UnthrottledTextureUploader::beginUploads):
18356        (WebCore::UnthrottledTextureUploader::endUploads):
18357        (WebCore::UnthrottledTextureUploader::uploadTexture):
18358        (WebCore::UnthrottledTextureUploader::UnthrottledTextureUploader):
18359        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
18360        (WebCore::CCThreadProxy::recreateContextOnImplThread):
18361
183622012-05-07  Rob Buis  <rbuis@rim.com>
18363
18364        Shrink SVGInlineTextBox object size
18365        https://bugs.webkit.org/show_bug.cgi?id=85805
18366
18367        Reviewed by Darin Adler.
18368
18369        Reduce the object size of SVGInlineTextBox by using bitfields. This
18370        should be 4 bytes on 32-bits and 8 bytes on 64-bits systems.
18371
18372        * rendering/svg/RenderSVGResource.h:
18373        * rendering/svg/SVGInlineTextBox.cpp:
18374        (ExpectedSVGInlineTextBoxSize):
18375        (WebCore):
18376        * rendering/svg/SVGInlineTextBox.h:
18377        (SVGInlineTextBox):
18378
183792012-05-07  Sheriff Bot  <webkit.review.bot@gmail.com>
18380
18381        Unreviewed, rolling out r116334.
18382        http://trac.webkit.org/changeset/116334
18383        https://bugs.webkit.org/show_bug.cgi?id=85816
18384
18385        Broke the Chromium Win/Mac compile (Requested by
18386        ojan_gardening on #webkit).
18387
18388        * WebCore.gypi:
18389        * platform/graphics/chromium/AnimationIdVendor.cpp: Removed.
18390        * platform/graphics/chromium/AnimationIdVendor.h: Removed.
18391        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
18392        (std):
18393        (WebCore::GraphicsLayerChromium::updateNames):
18394        (WebCore::GraphicsLayerChromium::addAnimation):
18395        (WebCore::GraphicsLayerChromium::updateChildList):
18396        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
18397        * platform/graphics/chromium/GraphicsLayerChromium.h:
18398        (WebCore):
18399        (GraphicsLayerChromium):
18400        * platform/graphics/chromium/LinkHighlightLayerDelegate.cpp: Removed.
18401        * platform/graphics/chromium/LinkHighlightLayerDelegate.h: Removed.
18402
184032012-05-07  Adrienne Walker  <enne@google.com>
18404
18405        Fix containerForRepaint() assumption about non-null enclosingLayer()
18406        https://bugs.webkit.org/show_bug.cgi?id=85807
18407
18408        Reviewed by Simon Fraser.
18409
18410        * rendering/RenderObject.cpp:
18411        (WebCore::RenderObject::containerForRepaint):
18412
184132012-05-07  Alec Flett  <alecflett@chromium.org>
18414
18415        IndexedDB: Replace numeric constants with strings
18416        https://bugs.webkit.org/show_bug.cgi?id=84894
18417
18418        Reviewed by Tony Chang.
18419
18420        Test: storage/indexeddb/legacy-constants.html
18421
18422        Update IDBObjectStore.openCursor, IDBIndex.openCursor,
18423        IDBIndex.openKeyCursor, IDBDatabase.transaction,
18424        IDBCursor.direction, IDBTransaction.mode, and
18425        IDBRequest.readyState to meet the latest spec. All of these APIs
18426        now support string-based values in addition to the
18427        legacy/deprecated enum-based values.
18428
18429        * Modules/indexeddb/IDBCursor.cpp:
18430        (WebCore):
18431        (WebCore::IDBCursor::direction):
18432        (WebCore::IDBCursor::stringToDirection):
18433        (WebCore::IDBCursor::directionToString):
18434        * Modules/indexeddb/IDBCursor.h:
18435        (IDBCursor):
18436        * Modules/indexeddb/IDBCursor.idl:
18437        * Modules/indexeddb/IDBDatabase.cpp:
18438        (WebCore::IDBDatabase::transaction):
18439        (WebCore):
18440        * Modules/indexeddb/IDBDatabase.h:
18441        (IDBDatabase):
18442        * Modules/indexeddb/IDBDatabase.idl:
18443        * Modules/indexeddb/IDBIndex.cpp:
18444        (WebCore::IDBIndex::openCursor):
18445        (WebCore):
18446        (WebCore::IDBIndex::openKeyCursor):
18447        * Modules/indexeddb/IDBIndex.h:
18448        (WebCore::IDBIndex::openCursor):
18449        (IDBIndex):
18450        (WebCore::IDBIndex::openKeyCursor):
18451        * Modules/indexeddb/IDBIndex.idl:
18452        * Modules/indexeddb/IDBObjectStore.cpp:
18453        (WebCore::IDBObjectStore::openCursor):
18454        (WebCore):
18455        * Modules/indexeddb/IDBObjectStore.h:
18456        (WebCore::IDBObjectStore::openCursor):
18457        (IDBObjectStore):
18458        * Modules/indexeddb/IDBObjectStore.idl:
18459        * Modules/indexeddb/IDBRequest.cpp:
18460        (WebCore::IDBRequest::IDBRequest):
18461        (WebCore::IDBRequest::readyState):
18462        (WebCore::IDBRequest::markEarlyDeath):
18463        (WebCore::IDBRequest::resetReadyState):
18464        (WebCore::IDBRequest::abort):
18465        (WebCore::IDBRequest::finishCursor):
18466        (WebCore::IDBRequest::onSuccess):
18467        (WebCore::IDBRequest::stop):
18468        * Modules/indexeddb/IDBRequest.h:
18469        * Modules/indexeddb/IDBRequest.idl:
18470        * Modules/indexeddb/IDBTransaction.cpp:
18471        (WebCore):
18472        (WebCore::IDBTransaction::mode):
18473        (WebCore::IDBTransaction::stringToMode):
18474        (WebCore::IDBTransaction::modeToString):
18475        * Modules/indexeddb/IDBTransaction.h:
18476        (IDBTransaction):
18477        * Modules/indexeddb/IDBTransaction.idl:
18478
184792012-05-07  W. James MacLean  <wjmaclean@chromium.org>
18480
18481        [chromium] Create LinkHighlightLayerChromium class to provide link-highlight preview animations for GraphicsLayerChromium.
18482        https://bugs.webkit.org/show_bug.cgi?id=85084
18483
18484        Reviewed by Adrienne Walker.
18485
18486        Unit test provided.
18487
18488        Creates a layer delegate class to provide link highlight animations for link-preview feature.
18489        These are added to a GraphicsLayerChromium via provided methods. Moves dispensing of animation
18490        ids into a separate class.
18491
18492        * WebCore.gypi:
18493        * platform/graphics/chromium/AnimationIdVendor.cpp: Added.
18494        (WebCore):
18495        (WebCore::AnimationIdVendor::getNextAnimationId):
18496        (WebCore::AnimationIdVendor::getNextGroupId):
18497        * platform/graphics/chromium/AnimationIdVendor.h: Added.
18498        (WebCore):
18499        (AnimationIdVendor):
18500        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
18501        (WebCore::GraphicsLayerChromium::updateNames):
18502        (WebCore::GraphicsLayerChromium::addAnimation):
18503        (WebCore::GraphicsLayerChromium::addLinkHighlightLayer):
18504        (WebCore):
18505        (WebCore::GraphicsLayerChromium::didFinishLinkHighlightLayer):
18506        (WebCore::GraphicsLayerChromium::updateChildList):
18507        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
18508        * platform/graphics/chromium/GraphicsLayerChromium.h:
18509        (WebCore):
18510        (GraphicsLayerChromium):
18511        * platform/graphics/chromium/LinkHighlightLayerDelegate.cpp: Added.
18512        (WebCore):
18513        (WebCore::LinkHighlightLayerDelegate::create):
18514        (WebCore::LinkHighlightLayerDelegate::LinkHighlightLayerDelegate):
18515        (WebCore::LinkHighlightLayerDelegate::~LinkHighlightLayerDelegate):
18516        (WebCore::LinkHighlightLayerDelegate::getContentLayer):
18517        (WebCore::LinkHighlightLayerDelegate::paintContents):
18518        (WebCore::LinkHighlightLayerDelegate::didScroll):
18519        (WebCore::LinkHighlightLayerDelegate::notifyAnimationStarted):
18520        (WebCore::LinkHighlightLayerDelegate::notifyAnimationFinished):
18521        * platform/graphics/chromium/LinkHighlightLayerDelegate.h: Added.
18522        (WebCore):
18523        (LinkHighlightLayerDelegate):
18524
185252012-05-07  Joshua Bell  <jsbell@chromium.org>
18526
18527        IndexedDB: LevelDB coding for bools is broken
18528        https://bugs.webkit.org/show_bug.cgi?id=85810
18529
18530        Reviewed by Tony Chang.
18531
18532        Code was appending to a pre-sized Vector, rather than using an
18533        index setter. This caused uninitialized data to be written out.
18534        Issue was detected on the Chromium side in http://crbug.com/126388
18535
18536        Tests: webkit_unit_tests --gtest_filter='IDBLevelDBCodingTest.*codeBool'
18537
18538        * Modules/indexeddb/IDBLevelDBCoding.cpp:
18539        (WebCore::IDBLevelDBCoding::encodeBool):
18540
185412012-05-07  Shawn Singh  <shawnsingh@chromium.org>
18542
18543        [chromium] CCMathUtil projectPoint needs to avoid divide-by-zero
18544        https://bugs.webkit.org/show_bug.cgi?id=85560
18545
18546        Reviewed by Adrienne Walker.
18547
18548        Unit test added: CCMathUtilTest.cpp - verifyProjectionOfPerpendicularPlane
18549        Unit test updated/renamed: CCLayerTreeHostCommonTest.cpp - verifyVisibleRectFor3dPerspectiveWhenClippedByW
18550
18551        The divide-by-zero occurs in an innocuous case where the layers
18552        are probably invisible anyway. However, producing Infs and NaNs
18553        could cause values to be used when un-intended, so its appropriate
18554        to handle the divide-by-zero correctly.
18555
18556        * platform/graphics/chromium/cc/CCMathUtil.cpp:
18557        (WebCore::projectPoint):
18558
185592012-05-07  Pravin D  <pravind.2k4@gmail.com>
18560
18561        Wrong positioning due to wrong width calculation wrt width:0
18562        https://bugs.webkit.org/show_bug.cgi?id=50135
18563
18564        Reviewed by Eric Seidel.
18565
18566        Test: fast/block/block-parent-with-zero-width-child.html
18567
18568        * rendering/RenderBlock.cpp:
18569        (WebCore::RenderBlock::computePreferredLogicalWidths):
18570        When width is fixed, the specified width must be taken, provided the value is positive.
18571        Width=0 case was being ignored.
18572
185732012-05-07  Noel Gordon  <noel.gordon@gmail.com>
18574
18575        [CG] ImageBuffer::ImageDataToDataURL: Remove alpha stuffing when encoding to JPEG
18576        https://bugs.webkit.org/show_bug.cgi?id=85779
18577
18578        Reviewed by Eric Seidel.
18579
18580        No change in behavior. Covered by fast/canvas/webgl/premultiplyalpha-test.html
18581
18582        * platform/graphics/cg/ImageBufferCG.cpp:
18583        (WebCore::ImageDataToDataURL): Remove the need to stuff the alpha channel with 255.
18584        Rename dataVector to premultipliedData and verify that its resize() worked. Rewrite
18585        the premultiplication loop without the alpha channel = 255 part and ask the CG JPEG
18586        encoder to ignore the alpha channel (kCGImageAlphaNoneSkipLast) instead.
18587
185882012-05-07  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
18589
18590        [GTK] media/video-seek-past-end-playing.html times out
18591        https://bugs.webkit.org/show_bug.cgi?id=84858
18592
18593        Reviewed by Philippe Normand.
18594
18595        Removing the intentional state change to PAUSED on didEnd().
18596        My understanding is that the fix works because the additional
18597        state transition to PAUSED was resetting the internal m_seeking state to early,
18598        so that updatePlayState() in HTMLMediaElement was not able to
18599        correctly figure out/recover playstate after seeking.
18600
18601        No new tests, covered by existing media tests, and fixing
18602        video-seek-past-end-playing.html flakiness on GTK, failure on EFL.
18603
18604        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
18605
186062012-05-07  Abhishek Arya  <inferno@chromium.org>
18607
18608        Crash in RenderBlock::updateFirstLetterStyle.
18609        https://bugs.webkit.org/show_bug.cgi?id=85759
18610
18611        Reviewed by Julien Chaffraix.
18612
18613        Test: fast/css-generated-content/first-letter-next-sibling-crash.html
18614
18615        RenderBlock::removeChild can bring up the children from last single anonymous block,
18616        causing |nextSibling| in RenderBlock::updateFirstLetterStyle to go stale. We prevent
18617        this by removing the child safely using removeChildNode before destroying it.
18618
18619        * rendering/RenderBlock.cpp:
18620        (WebCore::RenderBlock::updateFirstLetterStyle):
18621
186222012-05-07  Tommy Widenflycht  <tommyw@google.com>
18623
18624        MediaStream API: Rename MediaStreamCenter::didConstructMediaStream
18625        https://bugs.webkit.org/show_bug.cgi?id=85796
18626
18627        Reviewed by Adam Barth.
18628
18629        Renamed MediaStreamCenter::didConstructMediaStream to didCreateMediaStream,
18630        and change so that it is only called for MediaStreams created from JS.
18631
18632        Not really testable.
18633
18634        * Modules/mediastream/MediaStream.cpp:
18635        (WebCore::MediaStream::create):
18636        * platform/mediastream/MediaStreamCenter.h:
18637        (MediaStreamCenter):
18638        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
18639        (WebCore::MediaStreamCenterChromium::didCreateMediaStream):
18640        * platform/mediastream/chromium/MediaStreamCenterChromium.h:
18641        (MediaStreamCenterChromium):
18642        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp:
18643        (WebCore::MediaStreamCenterGStreamer::didCreateMediaStream):
18644        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h:
18645        (MediaStreamCenterGStreamer):
18646
186472012-05-07  Nat Duca  <nduca@chromium.org>
18648
18649        Unreviewed, rolling out r115525.
18650        http://trac.webkit.org/changeset/115525
18651        https://bugs.webkit.org/show_bug.cgi?id=66683
18652
18653        Too many pages rely on DOMTimeStamp as first argument.
18654        Reverting while we consider next steps.
18655
18656        * WebCore.exp.in:
18657        * bindings/js/JSRequestAnimationFrameCallbackCustom.cpp:
18658        (WebCore::JSRequestAnimationFrameCallback::handleEvent):
18659        * dom/Document.cpp:
18660        (WebCore::Document::serviceScriptedAnimations):
18661        * dom/Document.h:
18662        (Document):
18663        * dom/RequestAnimationFrameCallback.h:
18664        (RequestAnimationFrameCallback):
18665        * dom/RequestAnimationFrameCallback.idl:
18666        * dom/ScriptedAnimationController.cpp:
18667        (WebCore::ScriptedAnimationController::ScriptedAnimationController):
18668        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
18669        (WebCore):
18670        (WebCore::ScriptedAnimationController::windowScreenDidChange):
18671        (WebCore::ScriptedAnimationController::scheduleAnimation):
18672        (WebCore::ScriptedAnimationController::animationTimerFired):
18673        * dom/ScriptedAnimationController.h:
18674        (ScriptedAnimationController):
18675        (WebCore::ScriptedAnimationController::displayRefreshFired):
18676        * page/FrameView.cpp:
18677        (WebCore::FrameView::serviceScriptedAnimations):
18678        * page/FrameView.h:
18679        (FrameView):
18680        * platform/graphics/DisplayRefreshMonitor.cpp:
18681        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
18682        (WebCore::DisplayRefreshMonitor::notifyClients):
18683        * platform/graphics/DisplayRefreshMonitor.h:
18684        (DisplayRefreshMonitor):
18685        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
18686        (WebCore::DisplayRefreshMonitor::displayLinkFired):
18687        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
18688        (WebCore):
18689        (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
18690        (WebCore::DisplayRefreshMonitor::displayLinkFired):
18691
186922012-05-07  Tommy Widenflycht  <tommyw@google.com>
18693
18694        MediaStream API: Allow UserMediaRequest::succeed to take an MediaStreamDescriptor
18695        https://bugs.webkit.org/show_bug.cgi?id=85798
18696
18697        Reviewed by Adam Barth.
18698
18699        Adding another UserMediaRequest::succeed function that takes an MediaStreamDescriptor
18700        instead of the two MediaStreamSource arrays.
18701
18702        Not currently testable.
18703
18704        * Modules/mediastream/LocalMediaStream.cpp:
18705        (WebCore::LocalMediaStream::create):
18706        (WebCore):
18707        (WebCore::LocalMediaStream::LocalMediaStream):
18708        * Modules/mediastream/LocalMediaStream.h:
18709        (LocalMediaStream):
18710        * Modules/mediastream/UserMediaRequest.cpp:
18711        (WebCore::UserMediaRequest::succeed):
18712        (WebCore):
18713        * Modules/mediastream/UserMediaRequest.h:
18714        (WebCore):
18715        (UserMediaRequest):
18716
187172012-05-07  Michal Mocny  <mmocny@google.com>
18718
18719        [chromium] setContentsMemoryAllocationLimitBytes needs to setNeedsCommit.
18720        https://bugs.webkit.org/show_bug.cgi?id=85801
18721
18722        Reviewed by Adrienne Walker.
18723
18724        CCLayerTreeHost::setContentsMemoryAllocationLimitBytes needs to call setNeedsCommit after adjusting memory
18725        limits, so that we push a new frame.  In particular, when returning from non visibile state, we adjust
18726        memory allocation from 0 to non 0, and we need to push a non blank frame.
18727
18728        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
18729        (WebCore::CCLayerTreeHost::setVisible):
18730        (WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):
18731
187322012-05-07  Christophe Dumez  <christophe.dumez@intel.com>
18733
18734        [EFL] media/track/track-cue-rendering-snap-to-lines-not-set.html fails
18735        https://bugs.webkit.org/show_bug.cgi?id=85602
18736
18737        Reviewed by Eric Carlson.
18738
18739        Fix positioning of the controls panel back to relative, as it is
18740        in the parent CSS.
18741
18742        * css/mediaControlsEfl.css:
18743        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
18744
187452012-05-07  Adam Bergkvist  <adam.bergkvist@ericsson.com>
18746
18747        MediaStream should not be an ActiveDOMObject
18748        https://bugs.webkit.org/show_bug.cgi?id=85191
18749
18750        Reviewed by Adam Barth.
18751
18752        The model with MediaStreamDescriptor and MediaStream (and LocalMediaStream)
18753        allows the JavaScript objects (MediaStream and LocalMediaStream) to be
18754        cleaned up while the MediaStreamDescriptor lives on to manage the stream in
18755        the platform. This happens for example when a URL is created to represent
18756        a MediaStream (using createObjectURL()). In that case, the MediaStreamDescriptor
18757        is put into the MediaStreamRegistry and even though the MediaStream object is
18758        lost, the URL still works since the descriptor is kept in the registry.
18759
18760        The changes introduced in r113460 (http://webkit.org/b/83143) turned
18761        MediaStream and LocalMediaStream into ActiveDOMObjects. For example on page
18762        reload, LocalMediaStream calls MediaStreamCenter::didStopLocalMediaStream()
18763        via its ActiveDOMObject::stop() method. However, when a page reload occurs,
18764        the LocalMediaStream object may have been cleaned up already and
18765        MediaStreamCenter::didStopLocalMediaStream() will not be called.
18766
18767        One way to make the behavior consistent would be to call
18768        MediaStreamCenter::didStopLocalMediaStream() when the descriptor is cleaned up,
18769        cause then we wouldn't be dependent on the LocalMediaStream object being alive.
18770        However, calling MediaStreamCenter::didStopLocalMediaStream() might not be the
18771        correct thing to do when all references to the descriptor are lost since there
18772        can be MediaStream objects constructed from the tracks of the LocalMediaStream
18773        that should continue to work. MediaStreamCenter::didStopLocalMediaStream() was
18774        intended for LocalMediaStream.stop() which is used to revoke access to devices;
18775        that should not necessarily happen when the descriptor of a LocalMediaStream is
18776        cleaned up. If it's necessary for some ports to signal to the platform that a
18777        MediaStreamDescriptor is cleaned up, then I would suggest adding a new function,
18778        willDestroyMediaStreamDescriptor(), to the MediaStreamCenter interface.
18779
18780        The current resolution is to make MediaStream a ContextDestructionObserver
18781        instead of an ActiveDOMObject.
18782
18783        Currently not testable.
18784
18785        * Modules/mediastream/LocalMediaStream.cpp:
18786        (WebCore::LocalMediaStream::create):
18787        * Modules/mediastream/LocalMediaStream.h:
18788        (LocalMediaStream):
18789        * Modules/mediastream/LocalMediaStream.idl:
18790        * Modules/mediastream/MediaStream.cpp:
18791        (WebCore::MediaStream::create):
18792        (WebCore::MediaStream::MediaStream):
18793        (WebCore::MediaStream::scriptExecutionContext):
18794        * Modules/mediastream/MediaStream.h:
18795
187962012-05-07  Liam Quinn  <lquinn@rim.com>
18797
18798        [BlackBerry] WWW-Authenticate header on 200 response pops up authentication dialog
18799        https://bugs.webkit.org/show_bug.cgi?id=85643
18800
18801        Reviewed by George Staikos.
18802
18803        RIM PR: 151992
18804        Ignore WWW-Authenticate header if the response code is not 401.
18805        Ignore Proxy-Authenticate header if the response code is not 407.
18806
18807        Manual test added to observe whether the authentication dialog appears on a 200 response with WWW-Authenticate.
18808
18809        * platform/network/blackberry/NetworkJob.cpp:
18810        (WebCore::NetworkJob::handleNotifyHeaderReceived):
18811
188122012-05-07  Alexander Pavlov  <apavlov@chromium.org>
18813
18814        Web Inspector: [TextPrompt] Event listeners and CSS style are not removed on detachment
18815        https://bugs.webkit.org/show_bug.cgi?id=85789
18816
18817        Reviewed by Yury Semikhatsky.
18818
18819        * inspector/front-end/TextPrompt.js:
18820        (WebInspector.TextPrompt.prototype._attachInternal):
18821        (WebInspector.TextPrompt.prototype.detach):
18822
188232012-05-07  Csaba Osztrogonác  <ossy@webkit.org>
18824
18825        Buildfix for buggy GCC
18826        https://bugs.webkit.org/show_bug.cgi?id=85781
18827
18828        Reviewed by Zoltan Herczeg.
18829
18830        * rendering/RenderBlock.h:
18831        (WebCore::RenderBlock::MarginInfo::clearMargin):
18832
188332012-05-07  Alexander Pavlov  <apavlov@chromium.org>
18834
18835        Web Inspector: [REGRESSION] Context menu for the left Script view gutter is broken
18836        https://bugs.webkit.org/show_bug.cgi?id=85785
18837
18838        Reviewed by Pavel Feldman.
18839
18840        Fixed remaining usages of WebInspector.save to be WebInspector.fileManager.save.
18841
18842        * inspector/front-end/NetworkPanel.js:
18843        (WebInspector.NetworkLogView.prototype._exportAll):
18844        (WebInspector.NetworkLogView.prototype._exportRequest):
18845        * inspector/front-end/ResourcesPanel.js:
18846        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
18847        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
18848        * inspector/front-end/TextViewer.js:
18849        (WebInspector.TextViewer.prototype._contextMenu):
18850
18851
188522012-05-07  Antti Koivisto  <antti@apple.com>
18853
18854        Share stylesheet data structures between documents
18855        https://bugs.webkit.org/show_bug.cgi?id=85598
18856
18857        Reviewed by Darin Adler.
18858
18859        We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
18860        the data until someone uses a mutating CSSOM API to modify the sheet.
18861        
18862        The patch implements copy-on-write for the internal style sheet data structures. If any mutating CSSOM API is
18863        invoked, we check if the mutation is safe (there is only one client, the sheet is not cached). If not then the
18864        internal structures are copied and any existing CSSOM objects are re-attached to the new style tree. The copied
18865        tree is mutated while the other clients stay attached to the original tree.
18866        
18867        Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
18868        multiple articles open on wsj.com this saves ~2.6MB per tab.
18869        
18870        Test: http/tests/css/shared-stylesheet-mutation.html
18871              http/tests/css/shared-stylesheet-mutation-preconstruct.html
18872
18873        * css/CSSFontFaceRule.cpp:
18874        (WebCore::CSSFontFaceRule::reattach):
18875        (WebCore):
18876        * css/CSSFontFaceRule.h:
18877        (CSSFontFaceRule):
18878        * css/CSSMediaRule.cpp:
18879        (WebCore::CSSMediaRule::insertRule):
18880        (WebCore::CSSMediaRule::deleteRule):
18881        (WebCore::CSSMediaRule::reattach):
18882        (WebCore):
18883        * css/CSSMediaRule.h:
18884        (CSSMediaRule):
18885        * css/CSSPageRule.cpp:
18886        (WebCore::CSSPageRule::setSelectorText):
18887        (WebCore::CSSPageRule::reattach):
18888        (WebCore):
18889        * css/CSSPageRule.h:
18890        (CSSPageRule):
18891        * css/CSSRule.cpp:
18892        (WebCore::CSSRule::reattach):
18893        
18894            After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.
18895
18896        * css/CSSRule.h:
18897        (WebCore):
18898        (CSSRule):
18899        * css/CSSStyleRule.cpp:
18900        (WebCore::CSSStyleRule::setSelectorText):
18901        (WebCore::CSSStyleRule::reattach):
18902        (WebCore):
18903        * css/CSSStyleRule.h:
18904        (CSSStyleRule):
18905        * css/CSSStyleSheet.cpp:
18906        (WebCore::StyleSheetInternal::StyleSheetInternal):
18907        (WebCore::StyleSheetInternal::isCacheable):
18908        (WebCore::StyleSheetInternal::ruleAt):
18909        
18910            Add ruleAt(), use it for both wrapper creation and reattaching.  Remove createChildRuleCSSOMWrapper .
18911
18912        (WebCore):
18913        (WebCore::StyleSheetInternal::wrapperInsertRule):
18914        (WebCore::StyleSheetInternal::wrapperDeleteRule):
18915        
18916            Invalidation moves to the calling wrapper.
18917
18918        (WebCore::StyleSheetInternal::addedToMemoryCache):
18919        (WebCore::StyleSheetInternal::removedFromMemoryCache):
18920        (WebCore::CSSStyleSheet::willMutateRules):
18921        
18922            This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.
18923            
18924            Usually invoked by CSSStyleSheet::RuleMutation RAII type.
18925
18926        (WebCore::CSSStyleSheet::didMutateRules):
18927        
18928            This is called after the mutation is complete and will trigger the style recalc in the document.
18929
18930        (WebCore::CSSStyleSheet::didMutate):
18931        
18932            This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.
18933
18934        (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
18935        (WebCore::CSSStyleSheet::setDisabled):
18936        (WebCore::CSSStyleSheet::insertRule):
18937        (WebCore::CSSStyleSheet::deleteRule):
18938        * css/CSSStyleSheet.h:
18939        (StyleSheetInternal):
18940        (WebCore::StyleSheetInternal::hasOneClient):
18941        (WebCore::StyleSheetInternal::isMutable):
18942        (WebCore::StyleSheetInternal::setMutable):
18943        
18944            Track mutability. Mutation is allowed only after willMutate call.
18945
18946        (WebCore::StyleSheetInternal::isInMemoryCache):
18947        
18948            Track if the object is in memory cache.
18949
18950        (WebCore::CSSStyleSheet::clearOwnerRule):
18951        (CSSStyleSheet):
18952        * css/MediaList.cpp:
18953        (WebCore::MediaList::setMediaText):
18954        (WebCore::MediaList::deleteMedium):
18955        (WebCore::MediaList::appendMedium):
18956        (WebCore::MediaList::didMutate):
18957        (WebCore):
18958        (WebCore::MediaList::reattach):
18959        * css/MediaList.h:
18960        (MediaList):
18961        * css/PropertySetCSSStyleDeclaration.cpp:
18962        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
18963        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
18964        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
18965        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
18966        (WebCore):
18967        (WebCore::StyleRuleCSSStyleDeclaration::willMutate):
18968        (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
18969        (WebCore::StyleRuleCSSStyleDeclaration::reattach):
18970        (WebCore::InlineCSSStyleDeclaration::didMutate):
18971        * css/PropertySetCSSStyleDeclaration.h:
18972        (WebCore::PropertySetCSSStyleDeclaration::willMutate):
18973        (WebCore::PropertySetCSSStyleDeclaration::didMutate):
18974        (StyleRuleCSSStyleDeclaration):
18975        * css/WebKitCSSKeyframesRule.cpp:
18976        (WebCore::WebKitCSSKeyframesRule::setName):
18977        (WebCore::WebKitCSSKeyframesRule::insertRule):
18978        (WebCore::WebKitCSSKeyframesRule::deleteRule):
18979        (WebCore::WebKitCSSKeyframesRule::reattach):
18980        (WebCore):
18981        * css/WebKitCSSKeyframesRule.h:
18982        (WebKitCSSKeyframesRule):
18983        * css/WebKitCSSRegionRule.cpp:
18984        (WebCore::WebKitCSSRegionRule::reattach):
18985        * css/WebKitCSSRegionRule.h:
18986        (WebKitCSSRegionRule):
18987        * inspector/InspectorStyleSheet.cpp:
18988        (WebCore::InspectorStyleSheet::reparseStyleSheet):
18989        * loader/cache/CachedCSSStyleSheet.cpp:
18990        (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
18991        (WebCore::CachedCSSStyleSheet::destroyDecodedData):
18992        (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
18993        
18994            Don't copy when restoring. It is no longer necessary.
18995            Set the cache bit on the stylesheet.
18996
18997        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
18998
189992012-05-06  Kinuko Yasuda  <kinuko@chromium.org>
19000
19001        Cleanup: Change boolean synchronous flag argument into enum in FileSystem API code
19002        https://bugs.webkit.org/show_bug.cgi?id=85741
19003
19004        Reviewed by David Levin.
19005
19006        No new tests as this change has no functional effects.
19007
19008        * Modules/filesystem/DOMWindowFileSystem.cpp:
19009        (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
19010        * Modules/filesystem/LocalFileSystem.cpp:
19011        (WebCore::LocalFileSystem::requestFileSystem):
19012        * Modules/filesystem/LocalFileSystem.h:
19013        (LocalFileSystem):
19014        * Modules/filesystem/WorkerContextFileSystem.cpp:
19015        (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
19016        (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
19017        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
19018        * platform/FileSystemType.h: Added FileSystemSynchronousType enum.
19019
190202012-05-07  Antti Koivisto  <antti@apple.com>
19021
19022        Revert the previous.
19023
19024        Not reviewed.
19025        
19026        Apparently r116235 was already rolled out.
19027
19028        * css/StyleResolver.cpp:
19029        (WebCore::StyleResolver::determineScope):
19030
190312012-05-07  Antti Koivisto  <antti@apple.com>
19032
19033        REGRESSION(r116235): broke a lot of tests on all chromium debug bots
19034        https://bugs.webkit.org/show_bug.cgi?id=85773
19035
19036        Not reviewed.
19037
19038        Try to fix assert when scoped stylesheets are enabled.
19039
19040        * css/StyleResolver.cpp:
19041        (WebCore::StyleResolver::determineScope):
19042
190432012-05-06  Kinuko Yasuda  <kinuko@chromium.org>
19044
19045        Cleanup: Move FileSystem API type definitions into a separate header file
19046        https://bugs.webkit.org/show_bug.cgi?id=85738
19047
19048        Reviewed by David Levin.
19049
19050        Move FileSystem API type definitions from AsyncFileSystem.h and
19051        AsyncFileSystemChromium.cpp for chromium port into a single separate
19052        header file: FileSystemType.h
19053
19054        By doing this we make it clearer that every filesystem type can be
19055        found in the header file and also can save including entire
19056        AsyncFileSystem definition just for referring type enum value.
19057
19058        No new tests as this change has no visible or functional changes.
19059
19060        * Modules/filesystem/DOMFileSystemBase.cpp:
19061        (WebCore::pathToAbsolutePath):
19062        * Modules/filesystem/DOMWindowFileSystem.cpp:
19063        (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
19064        (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
19065        (WebCore):
19066        * Modules/filesystem/DOMWindowFileSystem.h:
19067        * Modules/filesystem/LocalFileSystem.h:
19068        (LocalFileSystem):
19069        * Modules/filesystem/WorkerContextFileSystem.cpp:
19070        (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
19071        (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
19072        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
19073        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
19074        (WebCore):
19075        * Modules/filesystem/WorkerContextFileSystem.h:
19076        * platform/AsyncFileSystem.cpp:
19077        (WebCore::AsyncFileSystem::isValidType):
19078        (WebCore::AsyncFileSystem::create):
19079        (WebCore::AsyncFileSystem::openFileSystem):
19080        * platform/AsyncFileSystem.h:
19081        (AsyncFileSystem):
19082        (WebCore::AsyncFileSystem::type):
19083        (WebCore::AsyncFileSystem::AsyncFileSystem):
19084        * platform/FileSystemType.h: Added.
19085        (WebCore):
19086        * platform/blackberry/AsyncFileSystemBlackBerry.cpp:
19087        (WebCore::AsyncFileSystem::isValidType):
19088        (WebCore::AsyncFileSystem::create):
19089        (WebCore::AsyncFileSystem::openFileSystem):
19090        (WebCore::AsyncFileSystem::crackFileSystemURL):
19091        (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
19092        * platform/blackberry/AsyncFileSystemBlackBerry.h:
19093        (AsyncFileSystemBlackBerry):
19094        * platform/gtk/AsyncFileSystemGtk.cpp:
19095        (WebCore::AsyncFileSystem::isValidType):
19096        (WebCore::AsyncFileSystem::create):
19097        (WebCore::AsyncFileSystem::openFileSystem):
19098        (WebCore::AsyncFileSystem::crackFileSystemURL):
19099        (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
19100        * platform/gtk/AsyncFileSystemGtk.h:
19101        (AsyncFileSystemGtk):
19102
191032012-05-06  MORITA Hajime  <morrita@google.com>
19104
19105        https://bugs.webkit.org/show_bug.cgi?id=85265
19106        [Shadow DOM] ShadowTree needs a better name
19107
19108        Reviewed by Dimitri Glazkov.
19109
19110        Renamed ShadowTree to ElementShadow, The ElementShadow class is
19111        going to be a facade of Shadow related APIs.
19112
19113        Following renames follow:
19114        - Element::shadowTree() to Element::shadow()
19115        - ShadowRoot::tree() to ShadowRoot::owner()
19116        - ShadowTree::recalcShadowTreeStyle() to ElementShadow::recalcStyle()
19117
19118        No new tests. Just renames.
19119
19120        * CMakeLists.txt:
19121        * GNUmakefile.list.am:
19122        * Target.pri:
19123        * WebCore.exp.in:
19124        * WebCore.gypi:
19125        * WebCore.xcodeproj/project.pbxproj:
19126        * dom/ComposedShadowTreeWalker.cpp:
19127        (WebCore::shadowFor):
19128        (WebCore::shadowOfParent):
19129        (WebCore::ComposedShadowTreeWalker::traverseChild):
19130        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
19131        (WebCore::ComposedShadowTreeWalker::traverseParent):
19132        * dom/ContainerNodeAlgorithms.cpp:
19133        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
19134        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
19135        (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
19136        (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
19137        * dom/DOMAllInOne.cpp:
19138        * dom/Document.cpp:
19139        (WebCore::Document::buildAccessKeyMap):
19140        * dom/Element.cpp:
19141        (WebCore::Element::~Element):
19142        (WebCore::Element::willRemove):
19143        (WebCore::Element::attach):
19144        (WebCore::Element::detach):
19145        (WebCore::Element::recalcStyle):
19146        (WebCore::Element::hasShadowRoot):
19147        (WebCore::Element::shadow):
19148        (WebCore::Element::ensureShadow):
19149        (WebCore::Element::ensureShadowRoot):
19150        (WebCore::Element::childrenChanged):
19151        * dom/Element.h:
19152        (WebCore):
19153        (Element):
19154        * dom/ElementRareData.h:
19155        (ElementRareData):
19156        (WebCore::ElementRareData::~ElementRareData):
19157        * dom/ElementShadow.cpp: Renamed from Source/WebCore/dom/ShadowTree.cpp.
19158        (WebCore):
19159        (WebCore::ElementShadow::ElementShadow):
19160        (WebCore::ElementShadow::~ElementShadow):
19161        (WebCore::validateShadowRoot):
19162        (WebCore::ElementShadow::addShadowRoot):
19163        (WebCore::ElementShadow::removeAllShadowRoots):
19164        (WebCore::ElementShadow::willRemove):
19165        (WebCore::ElementShadow::setParentTreeScope):
19166        (WebCore::ElementShadow::attach):
19167        (WebCore::ElementShadow::attachHost):
19168        (WebCore::ElementShadow::detach):
19169        (WebCore::ElementShadow::detachHost):
19170        (WebCore::ElementShadow::insertionPointFor):
19171        (WebCore::ElementShadow::selectionFor):
19172        (WebCore::ElementShadow::reattach):
19173        (WebCore::ElementShadow::childNeedsStyleRecalc):
19174        (WebCore::ElementShadow::needsStyleRecalc):
19175        (WebCore::ElementShadow::recalcStyle):
19176        (WebCore::ElementShadow::needsReattachHostChildrenAndShadow):
19177        (WebCore::ElementShadow::hostChildrenChanged):
19178        (WebCore::ElementShadow::setNeedsReattachHostChildrenAndShadow):
19179        (WebCore::ElementShadow::reattachHostChildrenAndShadow):
19180        * dom/ElementShadow.h: Renamed from Source/WebCore/dom/ShadowTree.h.
19181        (WebCore):
19182        (ElementShadow):
19183        (WebCore::ElementShadow::hasShadowRoot):
19184        (WebCore::ElementShadow::youngestShadowRoot):
19185        (WebCore::ElementShadow::oldestShadowRoot):
19186        (WebCore::ElementShadow::selector):
19187        (WebCore::ElementShadow::clearNeedsReattachHostChildrenAndShadow):
19188        (WebCore::ElementShadow::host):
19189        (ShadowRootVector):
19190        (WebCore::ShadowRootVector::ShadowRootVector):
19191        * dom/Node.cpp:
19192        (WebCore::oldestShadowRootFor):
19193        * dom/NodeRenderingContext.cpp:
19194        (WebCore::NodeRenderingContext::NodeRenderingContext):
19195        (WebCore::NodeRenderingContext::hostChildrenChanged):
19196        * dom/NodeRenderingContext.h:
19197        (WebCore):
19198        * dom/ShadowRoot.cpp:
19199        (WebCore::ShadowRoot::create):
19200        (WebCore::ShadowRoot::owner):
19201        * dom/ShadowRoot.h:
19202        (WebCore):
19203        (ShadowRoot):
19204        * dom/TreeScopeAdopter.cpp:
19205        (WebCore::shadowFor):
19206        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
19207        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
19208        (WebCore::TreeScopeAdopter::moveShadowToNewDocument):
19209        * dom/TreeScopeAdopter.h:
19210        (TreeScopeAdopter):
19211        * html/ColorInputType.cpp:
19212        (WebCore::ColorInputType::createShadowSubtree):
19213        (WebCore::ColorInputType::shadowColorSwatch):
19214        * html/FileInputType.cpp:
19215        (WebCore::FileInputType::createShadowSubtree):
19216        (WebCore::FileInputType::multipleAttributeChanged):
19217        * html/HTMLDetailsElement.cpp:
19218        (WebCore::HTMLDetailsElement::findMainSummary):
19219        * html/HTMLKeygenElement.cpp:
19220        (WebCore::HTMLKeygenElement::shadowSelect):
19221        * html/HTMLMediaElement.cpp:
19222        (WebCore::HTMLMediaElement::mediaControls):
19223        (WebCore::HTMLMediaElement::hasMediaControls):
19224        * html/HTMLSummaryElement.cpp:
19225        * html/HTMLTextAreaElement.cpp:
19226        (WebCore::HTMLTextAreaElement::innerTextElement):
19227        (WebCore::HTMLTextAreaElement::updatePlaceholderText):
19228        * html/InputType.cpp:
19229        (WebCore::InputType::destroyShadowSubtree):
19230        * html/RangeInputType.cpp:
19231        (WebCore::RangeInputType::handleMouseDownEvent):
19232        (WebCore::RangeInputType::createShadowSubtree):
19233        * html/TextFieldInputType.cpp:
19234        (WebCore::TextFieldInputType::createShadowSubtree):
19235        (WebCore::TextFieldInputType::updatePlaceholderText):
19236        * html/ValidationMessage.cpp:
19237        (WebCore::ValidationMessage::deleteBubbleTree):
19238        * html/shadow/HTMLContentElement.cpp:
19239        (WebCore::HTMLContentElement::parseAttribute):
19240        * html/shadow/InsertionPoint.cpp:
19241        (WebCore::InsertionPoint::attach):
19242        (WebCore::InsertionPoint::detach):
19243        (WebCore::InsertionPoint::distributeHostChildren):
19244        (WebCore::InsertionPoint::clearDistribution):
19245        * html/shadow/InsertionPoint.h:
19246        * html/shadow/SliderThumbElement.cpp:
19247        (WebCore::sliderThumbElementOf):
19248        (WebCore::RenderSliderContainer::layout):
19249        (WebCore::trackLimiterElementOf):
19250        * html/shadow/TextFieldDecorationElement.cpp:
19251        (WebCore::getDecorationRootAndDecoratedRoot):
19252        * inspector/InspectorDOMAgent.cpp:
19253        (WebCore::InspectorDOMAgent::unbind):
19254        (WebCore::InspectorDOMAgent::buildObjectForNode):
19255        * page/FocusController.cpp:
19256        (WebCore::FocusScope::focusScopeOf):
19257        (WebCore::FocusScope::focusScopeOwnedByShadowHost):
19258        * rendering/RenderFileUploadControl.cpp:
19259        (WebCore::RenderFileUploadControl::uploadButton):
19260        * svg/SVGTRefElement.cpp:
19261        (WebCore::SVGTRefElement::updateReferencedText):
19262        (WebCore::SVGTRefElement::detachTarget):
19263        * svg/SVGUseElement.cpp:
19264        (WebCore::SVGUseElement::clearResourceReferences):
19265        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
19266        (WebCore::SVGUseElement::buildShadowTree):
19267        * testing/Internals.cpp:
19268        (WebCore::Internals::ensureShadowRoot):
19269        (WebCore::Internals::youngestShadowRoot):
19270        (WebCore::Internals::oldestShadowRoot):
19271        (WebCore::Internals::removeShadowRoot):
19272
192732012-05-06  Sheriff Bot  <webkit.review.bot@gmail.com>
19274
19275        Unreviewed, rolling out r116235.
19276        http://trac.webkit.org/changeset/116235
19277        https://bugs.webkit.org/show_bug.cgi?id=85773
19278
19279        broke a lot of tests on all chromium debug bots (Requested by
19280        caseq_ on #webkit).
19281
19282        * bindings/objc/DOMCSS.mm:
19283        * css/CSSFontFaceRule.cpp:
19284        * css/CSSFontFaceRule.h:
19285        (CSSFontFaceRule):
19286        * css/CSSImportRule.cpp:
19287        * css/CSSMediaRule.cpp:
19288        (WebCore::CSSMediaRule::insertRule):
19289        (WebCore::CSSMediaRule::deleteRule):
19290        * css/CSSMediaRule.h:
19291        (CSSMediaRule):
19292        * css/CSSPageRule.cpp:
19293        (WebCore::CSSPageRule::setSelectorText):
19294        * css/CSSPageRule.h:
19295        (CSSPageRule):
19296        * css/CSSRule.cpp:
19297        * css/CSSRule.h:
19298        (CSSRule):
19299        (WebCore::CSSRule::parserContext):
19300        * css/CSSStyleRule.cpp:
19301        (WebCore::CSSStyleRule::setSelectorText):
19302        * css/CSSStyleRule.h:
19303        * css/CSSStyleSheet.cpp:
19304        (WebCore::StyleSheetInternal::StyleSheetInternal):
19305        (WebCore::StyleSheetInternal::isCacheable):
19306        (WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
19307        (WebCore::StyleSheetInternal::wrapperInsertRule):
19308        (WebCore::StyleSheetInternal::wrapperDeleteRule):
19309        (WebCore::StyleSheetInternal::styleSheetChanged):
19310        (WebCore):
19311        (WebCore::CSSStyleSheet::setDisabled):
19312        (WebCore::CSSStyleSheet::item):
19313        (WebCore::CSSStyleSheet::insertRule):
19314        (WebCore::CSSStyleSheet::deleteRule):
19315        * css/CSSStyleSheet.h:
19316        (StyleSheetInternal):
19317        (WebCore::StyleSheetInternal::hasCharsetRule):
19318        (WebCore::CSSStyleSheet::styleSheetChanged):
19319        (CSSStyleSheet):
19320        * css/MediaList.cpp:
19321        (WebCore::MediaList::setMediaText):
19322        (WebCore::MediaList::deleteMedium):
19323        (WebCore::MediaList::appendMedium):
19324        (WebCore::MediaList::notifyChanged):
19325        * css/MediaList.h:
19326        (MediaList):
19327        * css/PropertySetCSSStyleDeclaration.cpp:
19328        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
19329        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
19330        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
19331        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
19332        (WebCore::PropertySetCSSStyleDeclaration::didMutate):
19333        (WebCore):
19334        (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
19335        (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):
19336        * css/PropertySetCSSStyleDeclaration.h:
19337        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
19338        (PropertySetCSSStyleDeclaration):
19339        (StyleRuleCSSStyleDeclaration):
19340        * css/StylePropertySet.cpp:
19341        * css/WebKitCSSKeyframesRule.cpp:
19342        (WebCore::WebKitCSSKeyframesRule::setName):
19343        (WebCore::WebKitCSSKeyframesRule::insertRule):
19344        (WebCore::WebKitCSSKeyframesRule::deleteRule):
19345        * css/WebKitCSSKeyframesRule.h:
19346        (WebKitCSSKeyframesRule):
19347        * css/WebKitCSSRegionRule.cpp:
19348        * css/WebKitCSSRegionRule.h:
19349        (WebKitCSSRegionRule):
19350        * inspector/InspectorStyleSheet.cpp:
19351        (WebCore::InspectorStyleSheet::reparseStyleSheet):
19352        * loader/cache/CachedCSSStyleSheet.cpp:
19353        (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
19354        (WebCore::CachedCSSStyleSheet::destroyDecodedData):
19355        (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
19356        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
19357
193582012-05-06  Adam Barth  <abarth@webkit.org>
19359
19360        Attempt to fix the !ENABLE(INSPECTOR) build by making InspectorValues
19361        available unconditionally.  We should probably rename these classes to
19362        JSONValues and move them into WebCore/platform.
19363
19364        * inspector/InspectorValues.cpp:
19365        * inspector/InspectorValues.h:
19366
193672012-05-06  Adam Barth  <abarth@webkit.org>
19368
19369        CSP violation reports should have all the fields required by the spec
19370        https://bugs.webkit.org/show_bug.cgi?id=85682
19371
19372        Reviewed by Darin Adler.
19373
19374        This patch updates our CSP violation reports to include all the fields
19375        in the spec.  We've discussed all these fields in the working group,
19376        and we have fairly high confidence that these are safe to expose.
19377
19378        Tests: http/tests/security/contentSecurityPolicy/report-and-enforce.html
19379               http/tests/security/contentSecurityPolicy/report-blocked-uri-cross-origin.html
19380               http/tests/security/contentSecurityPolicy/report-blocked-uri.html
19381               http/tests/security/contentSecurityPolicy/report-only-from-header.html
19382               http/tests/security/contentSecurityPolicy/report-only.html
19383               http/tests/security/contentSecurityPolicy/report-uri-from-child-frame.html
19384               http/tests/security/contentSecurityPolicy/report-uri.html
19385
19386        * page/ContentSecurityPolicy.cpp:
19387        (CSPDirectiveList):
19388        (WebCore::CSPDirectiveList::reportViolation):
19389        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
19390
193912012-05-06  Kinuko Yasuda  <kinuko@chromium.org>
19392
19393        Cleanup: FileSystem API's Entry.toURL() impl should return KURL instead of String
19394        https://bugs.webkit.org/show_bug.cgi?id=85736
19395
19396        Change the return type of Entry::toURL() from String to KURL.
19397
19398        Reviewed by David Levin.
19399
19400        No new tests as this change should not have any visible impact in the javascript layer.
19401
19402        * Modules/filesystem/EntryBase.cpp:
19403        (WebCore::EntryBase::toURL):
19404        * Modules/filesystem/EntryBase.h:
19405        * platform/AsyncFileSystem.h:
19406        * platform/blackberry/AsyncFileSystemBlackberry.cpp:
19407        (AsyncFileSystemBlackberry::toURL):
19408        * platform/blackberry/AsyncFileSystemBlackberry.h:
19409        * platform/gtk/AsyncFileSystemGtk.cpp:
19410        (AsyncFileSystemGtk::toURL):
19411        * platform/gtk/AsyncFileSystemGtk.h:
19412
194132012-05-06  Kentaro Hara  <haraken@chromium.org>
19414
19415        [V8][Performance] Remove Isolate lookup from the call path
19416        to get a cached JS wrapper object by getDOMXXXXMap().
19417        https://bugs.webkit.org/show_bug.cgi?id=85205
19418
19419        Reviewed by Adam Barth.
19420
19421        The patch improves the performance of getting a cached JS wrapper
19422        by getDOMXXXXMap(). For example, it improves the performance
19423        of toV8(NodeList*) in getElementsByTagName(), getElementsByName(),
19424        getElementsByClassName() by 7 ~ 9%.
19425
19426        Performance tests: https://bugs.webkit.org/attachment.cgi?id=139468
19427
19428        The performance test results in my Linux desktop:
19429
19430        getElementsByTagName :   40.76 ms => 37.52ms (+8.6%)
19431        getElementsByName :      41.02 ms => 37.42ms (+9.6%)
19432        getElementsByClassName : 40.32 ms => 37.68ms (+7.0%)
19433
19434        Unfortunately we cannot observe performance improvement in
19435        Dromaeo/dom-query.html, which are testing getElementsByTagName(),
19436        getElementsByName(), getElementsByClassName(). This is because
19437        the bottleneck of these Dromaeo tests is not toV8(NodeList*) but
19438        .length and .nodeType accesses. The patch for optimizing them
19439        will be coming soon.
19440
19441        No tests. No change in behavior.
19442
19443        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
19444        (GenerateHeader):
19445        (GenerateNormalAttrGetter):
19446        (GetDomMapFunction):
19447        (NativeToJSValue):
19448        * bindings/v8/DOMData.cpp:
19449        (WebCore::DOMData::getCurrentStore):
19450
19451        * bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.
19452        (WebCore::V8Float64Array::wrap):
19453        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
19454        (WebCore::V8TestActiveDOMObject::wrap):
19455        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
19456        (WebCore::V8TestCustomNamedGetter::wrap):
19457        * bindings/scripts/test/V8/V8TestEventConstructor.h:
19458        (WebCore::V8TestEventConstructor::wrap):
19459        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
19460        (WebCore::TestEventTargetV8Internal::itemCallback):
19461        * bindings/scripts/test/V8/V8TestEventTarget.h:
19462        (WebCore::V8TestEventTarget::wrap):
19463        * bindings/scripts/test/V8/V8TestInterface.cpp:
19464        (WebCore::TestInterfaceV8Internal::supplementalNodeAttrGetter):
19465        * bindings/scripts/test/V8/V8TestInterface.h:
19466        (WebCore::V8TestInterface::wrap):
19467        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
19468        (WebCore::V8TestMediaQueryListListener::wrap):
19469        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
19470        (WebCore::V8TestNamedConstructor::wrap):
19471        * bindings/scripts/test/V8/V8TestObj.cpp:
19472        (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
19473        (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
19474        (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
19475        (WebCore::TestObjV8Internal::contentDocumentAttrGetter):
19476        (WebCore::TestObjV8Internal::getSVGDocumentCallback):
19477        * bindings/scripts/test/V8/V8TestObj.h:
19478        (WebCore::V8TestObj::wrap):
19479        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
19480        (WebCore::V8TestSerializedScriptValueInterface::wrap):
19481
194822012-05-06  Adam Barth  <abarth@webkit.org>
19483
19484        Content Security Policy reports should be reported with content-type application/json, should contain all required fields
19485        https://bugs.webkit.org/show_bug.cgi?id=61360
19486
19487        Reviewed by Eric Seidel.
19488
19489        This patch changes ContentSecurityPolicy to use JSON format for sending
19490        violation reports rather than wwwform-encoding.  This patch aligns our
19491        behavior with the specification and with Mozilla.  A follow up patch
19492        will update the list of fields in the report to match the spec.
19493
19494        * loader/PingLoader.cpp:
19495        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
19496        * page/ContentSecurityPolicy.cpp:
19497        (WebCore::CSPDirectiveList::reportViolation):
19498
194992012-05-06  Mary Wu  <mary.wu@torchmobile.com.cn>
19500
19501        [BlackBerry] Support html5 download attribute.
19502        https://bugs.webkit.org/show_bug.cgi?id=85044
19503
19504        Reviewed by Antonio Gomes.
19505
19506        Pass download attribute filename to networkJob and it could be
19507        overridden by the Content-Disposition HTTP header's filename parameter.
19508
19509        * platform/network/blackberry/NetworkJob.cpp:
19510        (WebCore::NetworkJob::initialize):
19511        * platform/network/blackberry/ResourceRequest.h:
19512        (WebCore::ResourceRequest::setSuggestSaveName):
19513        (WebCore::ResourceRequest::suggestSaveName):
19514        (ResourceRequest):
19515        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
19516        (WebCore::ResourceRequest::initializePlatformRequest):
19517
195182012-05-06  Kenichi Ishibashi  <bashi@chromium.org>
19519
19520        Disallow unquoted -webkit-font-feature-settings tags
19521        https://bugs.webkit.org/show_bug.cgi?id=85362
19522
19523        Reviewed by Kent Tamura.
19524
19525        Disallow unquoted tags to follow the current draft.
19526        http://dev.w3.org/csswg/css3-fonts/#font-feature-settings-prop
19527
19528        No new tests. css3/font-feature-settings-parsing.html was updated.
19529
19530        * css/CSSParser.cpp:
19531        (WebCore::CSSParser::parseFontFeatureTag): Accepts only 4-characters string.
19532
195332012-05-06  Raphael Kubo da Costa  <rakuco@webkit.org>
19534
19535        Unreviewed build fix for r116260.
19536
19537        COMPILE_ASSERT() does not expect a string in its second parameter.
19538
19539        * platform/graphics/TextRun.cpp:
19540        (WebCore):
19541
195422012-05-06  Rob Buis  <rbuis@rim.com>
19543
19544        Shrink TextRun object size
19545        https://bugs.webkit.org/show_bug.cgi?id=85751
19546
19547        Reviewed by Darin Adler.
19548
19549        Reorder the member variables in TextRun so it shrinks from 56 to 40 bytes on my 64-bit build. This is important
19550        for SVG, since RenderSVGText shrinks because of this.
19551
19552        Also add a compile assert for the expected object size.
19553
19554        * platform/graphics/TextRun.cpp:
19555        (ExpectedTextRunSize):
19556        (WebCore):
19557        * platform/graphics/TextRun.h:
19558        (WebCore::TextRun::TextRun):
19559        (WebCore::TextRun::direction):
19560        (TextRun):
19561
195622012-05-06  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
19563
19564        [BlackBerry] Autofill backing store implementation upstream
19565        https://bugs.webkit.org/show_bug.cgi?id=85575
19566
19567        Reviewed by Rob Buis.
19568
19569        Implemented class AutofillBackingStore which is responsible
19570        for handling interaction with autofill database.
19571
19572        Replaced static function
19573        CredentialBackingStore* CredentialBackingStore::instance()
19574        with a helper function
19575        CredentialBackingStore& credentialBackingStore(),
19576        and used DEFINE_STATIC_LOCAL to construct the singleton
19577        object.
19578        Also removed unnecessary function close() and combined with
19579        the destructor of class CredentialBackingStore.
19580
19581        Initial upstream, No new tests.
19582
19583        * PlatformBlackBerry.cmake:
19584        * platform/network/blackberry/AutofillBackingStore.cpp: Added.
19585        (WebCore):
19586        (WebCore::autofillBackingStore):
19587        (WebCore::AutofillBackingStore::AutofillBackingStore):
19588        (WebCore::AutofillBackingStore::~AutofillBackingStore):
19589        (WebCore::AutofillBackingStore::open):
19590        (WebCore::AutofillBackingStore::add):
19591        (WebCore::AutofillBackingStore::update):
19592        (WebCore::AutofillBackingStore::contains):
19593        (WebCore::AutofillBackingStore::get):
19594        (WebCore::AutofillBackingStore::clear):
19595        * platform/network/blackberry/AutofillBackingStore.h: Added.
19596        (WebCore):
19597        (AutofillBackingStore):
19598        * platform/network/blackberry/CredentialBackingStore.cpp:
19599        (WebCore::credentialBackingStore):
19600        (WebCore::CredentialBackingStore::~CredentialBackingStore):
19601        * platform/network/blackberry/CredentialBackingStore.h:
19602        (CredentialBackingStore):
19603        (WebCore):
19604        * platform/network/blackberry/CredentialStorageBlackBerry.cpp:
19605        (WebCore::CredentialStorage::getFromPersistentStorage):
19606
196072012-05-06  MORITA Hajime  <morrita@google.com>
19608
19609        [Shadow DOM] Node distribution should be refreshed before style recalc.
19610        https://bugs.webkit.org/show_bug.cgi?id=85259
19611
19612        Reviewed by Dimitri Glazkov.
19613
19614        Element::recalcStyle() calls child element's recalcStyle()
19615        recursively, following ShadowTree::recalcShadowTreeStyle(). But
19616        recalcShadowTreeStyle() should be called before such recursion if
19617        necessary.
19618
19619        This is because style calculation and following renderer attachment
19620        of each child element depends on up-to-date node distribution result
19621        which is computed during the recalcShadowTreeStyle().
19622
19623        Test: fast/dom/shadow/shadow-dynamic-style-change-via-mutation-and-selector.html
19624
19625        * dom/Element.cpp: Moved recalcShadowTreeStyle() before child traversals.
19626        (WebCore::Element::recalcStyle):
19627
196282012-05-06  Adam Barth  <abarth@webkit.org>
19629
19630        CSP should let sites both enforce one policy and monitor another
19631        https://bugs.webkit.org/show_bug.cgi?id=85561
19632
19633        Reviewed by Eric Seidel.
19634
19635        This patch lets us enforce and/or monitor multiple CSP policies.
19636        Rather than having a single directive list, we now have a vector of
19637        directive lists.
19638
19639        Tests: http/tests/security/contentSecurityPolicy/combine-multiple-policies.html
19640               http/tests/security/contentSecurityPolicy/report-and-enforce.html
19641
19642        * page/ContentSecurityPolicy.cpp:
19643        (WebCore::ContentSecurityPolicy::copyStateFrom):
19644        (WebCore::ContentSecurityPolicy::didReceiveHeader):
19645        (WebCore::ContentSecurityPolicy::deprecatedHeader):
19646        (WebCore::ContentSecurityPolicy::deprecatedHeaderType):
19647            - Even after this patch, workers aren't smart enough to enforce
19648              multiple policies.  They just use the first header, like they did
19649              before.  We'll need to teach workers how to enforce multiple
19650              policies in a future patch.
19651        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
19652        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
19653        (WebCore::ContentSecurityPolicy::allowInlineScript):
19654        (WebCore::ContentSecurityPolicy::allowInlineStyle):
19655        (WebCore::ContentSecurityPolicy::allowEval):
19656        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
19657        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
19658        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
19659        (WebCore::ContentSecurityPolicy::allowImageFromSource):
19660        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
19661        (WebCore::ContentSecurityPolicy::allowFontFromSource):
19662        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
19663        (WebCore::ContentSecurityPolicy::allowConnectFromSource):
19664        * page/ContentSecurityPolicy.h:
19665        * workers/DefaultSharedWorkerRepository.cpp:
19666        (WebCore::SharedWorkerScriptLoader::notifyFinished):
19667        * workers/WorkerMessagingProxy.cpp:
19668        (WebCore::WorkerMessagingProxy::startWorkerContext):
19669
196702012-05-06  Rob Buis  <rbuis@rim.com>
19671
19672        InlineBox::setHasBadParent should be debug only
19673        https://bugs.webkit.org/show_bug.cgi?id=85748
19674
19675        Reviewed by Eric Seidel.
19676
19677        Do not provide InlineBox::setHasBadParent in release builds.
19678
19679        * rendering/InlineBox.h:
19680        (InlineBox):
19681        (WebCore):
19682        (WebCore::InlineBox::setHasBadParent):
19683
196842012-05-06  Mike West  <mkwst@chromium.org>
19685
19686        KURL::isBlankURL would be a nicer idiom than KURL::protocolIs("about")
19687        https://bugs.webkit.org/show_bug.cgi?id=85641
19688
19689        Reviewed by Adam Barth.
19690
19691        * dom/Document.cpp:
19692        (WebCore::shouldInheritSecurityOriginFromOwner):
19693        * page/ContentSecurityPolicy.cpp:
19694        (WebCore::CSPDirectiveList::allowObjectFromSource):
19695        (WebCore::CSPDirectiveList::allowChildFrameFromSource):
19696        * page/PageSerializer.cpp:
19697        (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
19698        (WebCore::PageSerializer::serializeFrame):
19699        * platform/KURL.cpp:
19700        (WebCore::KURL::isBlankURL):
19701        (WebCore):
19702        * platform/KURL.h:
19703        (KURL):
19704        (WebCore):
19705
197062012-05-06  Martin Robinson  <mrobinson@igalia.com>
19707
19708        [TextureMapper] Layer images is uploaded to the GPU for each sync
19709        https://bugs.webkit.org/show_bug.cgi?id=85727
19710
19711        Reviewed by Noam Rosenthal.
19712
19713        No new tests. This does not change functionality,
19714        it only improves performance.
19715
19716        * platform/graphics/texmap/TextureMapperLayer.cpp:
19717        (WebCore::TextureMapperLayer::updateBackingStore): Reset the needsDisplay
19718        and needsDisplayRect variables after uploading the layer image.
19719
197202012-05-06  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
19721
19722        Convert isPageBoxVisible to use Internals interface.
19723        https://bugs.webkit.org/show_bug.cgi?id=85692
19724
19725        Reviewed by Darin Adler.
19726
19727        Add isPageBoxVisible functions, because it is able to work in the
19728        cross-port way through the Internals interface.
19729
19730        No new tests, since we are improving here the infra-structure for testing
19731        a specific method.
19732
19733        * testing/Internals.cpp:
19734        (WebCore):
19735        (WebCore::Internals::isPageBoxVisible):
19736        * testing/Internals.h:
19737        (Internals):
19738        * testing/Internals.idl:
19739
197402012-05-06  Eugene Klyuchnikov  <eustas.bug@gmail.com>
19741
19742        Web Inspector: "Goto Function" filtering should be less restrictive.
19743        https://bugs.webkit.org/show_bug.cgi?id=85586
19744
19745        Reviewed by Pavel Feldman.
19746
19747        Added tests for generated regex.
19748
19749        Changes:
19750        1) Avoid asterisks in filtering queue.
19751        2) Optimization: do not create regexp for each item.
19752
19753        * inspector/front-end/FilteredItemSelectionDialog.js: 
19754        (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
19755        Applied new filtering workflow.
19756        (WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
19757        Removed.
19758        (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
19759        Removed unused "suffix" logic; changed the way regexp is composed from query.
19760        (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
19761        Applied new filtering workflow.
19762        (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
19763        Removed unused var.
19764
197652012-05-06  Kent Tamura  <tkent@chromium.org>
19766
19767        Rename ICULocale to LocaleICU, part 2
19768        https://bugs.webkit.org/show_bug.cgi?id=85695
19769
19770        Reviewed by Kentaro Hara.
19771
19772        No behavior change
19773
19774        * platform/text/LocaleICU.cpp: Rename ICULocale to LocaleICU.
19775        * platform/text/LocaleICU.h: ditto.
19776        Also, update obsolete comments.
19777        * platform/text/LocalizedDateICU.cpp: Rename ICULocale to LocaleICU.
19778        (WebCore::parseLocalizedDate):
19779        (WebCore::formatLocalizedDate):
19780        (WebCore::localizedDateFormatText):
19781        (WebCore::monthLabels):
19782        (WebCore::weekDayShortLabels):
19783        (WebCore::firstDayOfWeek):
19784        * platform/text/LocalizedNumberICU.cpp: ditto.
19785        (WebCore::convertToLocalizedNumber):
19786        (WebCore::convertFromLocalizedNumber):
19787
197882012-05-06  Kevin Ollivier  <kevino@theolliviers.com>
19789
19790        [wx] Unreviewed. Build fixes for recent trunk changes.
19791
19792        * platform/graphics/SimpleFontData.h:
19793        (SimpleFontData):
19794        * platform/graphics/wx/FontPlatformData.h:
19795        (FontPlatformData):
19796        (WebCore::FontPlatformData::isCompositeFontReference):
19797        * platform/graphics/wx/SimpleFontDataWx.cpp:
19798        (WebCore):
19799        (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
19800        * plugins/mac/PluginViewMac.mm:
19801        * rendering/RenderObject.h:
19802
198032012-05-06  Andrey Kosyakov  <caseq@chromium.org>
19804
19805        Web Inspector: take timeline frame mode out of experimental
19806        https://bugs.webkit.org/show_bug.cgi?id=85707
19807
19808        Reviewed by Pavel Feldman.
19809
19810        - remove "Vertical timeline overview" experiment;
19811        - add supportsFrameInstrumentation capability to InspectorTimelineAgent;
19812        - show frame mode selector conditionally on supportsFrameInstrumentation capability.
19813
19814        * inspector/Inspector.json: Add Timeline.supportsFrameInstrumentation capability;
19815        * inspector/InspectorClient.h: Add supportsFrameInstrumentation();
19816        (InspectorClient):
19817        (WebCore::InspectorClient::supportsFrameInstrumentation):
19818        * inspector/InspectorController.cpp:
19819        (WebCore::InspectorController::InspectorController):
19820        * inspector/InspectorTimelineAgent.cpp:
19821        (WebCore::InspectorTimelineAgent::supportsFrameInstrumentation):
19822        (WebCore):
19823        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent): Added FrameInstrumentationSupport parameter.
19824        * inspector/InspectorTimelineAgent.h:
19825        (WebCore):
19826        (WebCore::InspectorTimelineAgent::create): ditto.
19827        (InspectorTimelineAgent):
19828        * inspector/WorkerInspectorController.cpp: Updated call site for InspectorTimelineAgent::create() to indicate frame instrumentation not supported.
19829        (WebCore::WorkerInspectorController::WorkerInspectorController):
19830        * inspector/front-end/Settings.js:
19831        (WebInspector.ExperimentsSettings): Removed "Vertical Overview" experiment.
19832        * inspector/front-end/TimelineOverviewPane.js: Expose frame mode conditionally on capability, not the experiment.
19833        (WebInspector.TimelineOverviewPane):
19834        * inspector/front-end/inspector.js: Added initialization for Capabilities.timelineSupportsFrameInstrumentation;
19835        (WebInspector.doLoadedDone):
19836
198372012-05-06  Antti Koivisto  <antti@apple.com>
19838
19839        Build fix.
19840
19841        Not reviewed.
19842
19843        * css/PropertySetCSSStyleDeclaration.cpp:
19844
198452012-05-04  Antti Koivisto  <antti@apple.com>
19846
19847        Share stylesheet data structures between documents
19848        https://bugs.webkit.org/show_bug.cgi?id=85598
19849
19850        Reviewed by Darin Adler.
19851
19852        We currently make a copy of the data structures when restoring a cached stylesheet. This patch lets us share
19853        the data until someone uses CSSOM to modify the sheet.
19854        
19855        The patch implements copy-on-write for the internal style sheet data structures. If any mutation CSSOM API is
19856        invoked, we check if the stylesheet can be safely mutated (we are the only client, it is not cached). If not
19857        then the internal structures are copied and any existing CSSOM objects are re-attached to the new tree.
19858        
19859        Sharing can save significant amount of memory on sites with large stylesheets. For example if you have
19860        multiple articles open on wsj.com this saves ~2.6MB per tab.
19861        
19862        Test: http/tests/css/shared-stylesheet-mutation.html
19863              http/tests/css/shared-stylesheet-mutation-preconstruct.html
19864
19865        * css/CSSFontFaceRule.cpp:
19866        (WebCore::CSSFontFaceRule::reattach):
19867        (WebCore):
19868        * css/CSSFontFaceRule.h:
19869        (CSSFontFaceRule):
19870        * css/CSSMediaRule.cpp:
19871        (WebCore::CSSMediaRule::insertRule):
19872        (WebCore::CSSMediaRule::deleteRule):
19873        (WebCore::CSSMediaRule::reattach):
19874        (WebCore):
19875        * css/CSSMediaRule.h:
19876        (CSSMediaRule):
19877        * css/CSSPageRule.cpp:
19878        (WebCore::CSSPageRule::setSelectorText):
19879        (WebCore::CSSPageRule::reattach):
19880        (WebCore):
19881        * css/CSSPageRule.h:
19882        (CSSPageRule):
19883        * css/CSSRule.cpp:
19884        (WebCore::CSSRule::reattach):
19885        
19886            After the internal stylerule tree has been copied, the existing wrappers are re-attached using recursive reattach() function.
19887
19888        * css/CSSRule.h:
19889        (WebCore):
19890        (CSSRule):
19891        * css/CSSStyleRule.cpp:
19892        (WebCore::CSSStyleRule::setSelectorText):
19893        (WebCore::CSSStyleRule::reattach):
19894        (WebCore):
19895        * css/CSSStyleRule.h:
19896        (CSSStyleRule):
19897        * css/CSSStyleSheet.cpp:
19898        (WebCore::StyleSheetInternal::StyleSheetInternal):
19899        (WebCore::StyleSheetInternal::isCacheable):
19900        (WebCore::StyleSheetInternal::ruleAt):
19901        
19902            Add ruleAt(), use it for both wrapper creation and reattaching.  Remove createChildRuleCSSOMWrapper .
19903
19904        (WebCore):
19905        (WebCore::StyleSheetInternal::wrapperInsertRule):
19906        (WebCore::StyleSheetInternal::wrapperDeleteRule):
19907        
19908            Invalidation moves to the calling wrapper.
19909
19910        (WebCore::StyleSheetInternal::addedToMemoryCache):
19911        (WebCore::StyleSheetInternal::removedFromMemoryCache):
19912        (WebCore::CSSStyleSheet::willMutateRules):
19913        
19914            This is called whenever StyleSheetInternal is going to be mutated. It will do copy-on-write if needed.
19915            
19916            Usually invoked by CSSStyleSheet::RuleMutation RAII type.
19917
19918        (WebCore::CSSStyleSheet::didMutateRules):
19919        
19920            This is called after the mutation is complete and will trigger the style recalc in the document.
19921
19922        (WebCore::CSSStyleSheet::didMutate):
19923        
19924            This is called directly after mutations that don't change StyleSheetInternal so don't require copy-on-write.
19925
19926        (WebCore::CSSStyleSheet::reattachChildRuleCSSOMWrappers):
19927        (WebCore::CSSStyleSheet::setDisabled):
19928        (WebCore::CSSStyleSheet::insertRule):
19929        (WebCore::CSSStyleSheet::deleteRule):
19930        * css/CSSStyleSheet.h:
19931        (StyleSheetInternal):
19932        (WebCore::StyleSheetInternal::hasOneClient):
19933        (WebCore::StyleSheetInternal::isMutable):
19934        (WebCore::StyleSheetInternal::setMutable):
19935        
19936            Track mutability. Mutation is allowed only after willMutate call.
19937
19938        (WebCore::StyleSheetInternal::isInMemoryCache):
19939        
19940            Track if the object is in memory cache.
19941
19942        (WebCore::CSSStyleSheet::clearOwnerRule):
19943        (CSSStyleSheet):
19944        * css/MediaList.cpp:
19945        (WebCore::MediaList::setMediaText):
19946        (WebCore::MediaList::deleteMedium):
19947        (WebCore::MediaList::appendMedium):
19948        (WebCore::MediaList::didMutate):
19949        (WebCore):
19950        (WebCore::MediaList::reattach):
19951        * css/MediaList.h:
19952        (MediaList):
19953        * css/PropertySetCSSStyleDeclaration.cpp:
19954        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
19955        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
19956        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
19957        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
19958        (WebCore):
19959        (WebCore::StyleRuleCSSStyleDeclaration::willMutate):
19960        (WebCore::StyleRuleCSSStyleDeclaration::didMutate):
19961        (WebCore::StyleRuleCSSStyleDeclaration::reattach):
19962        (WebCore::InlineCSSStyleDeclaration::didMutate):
19963        * css/PropertySetCSSStyleDeclaration.h:
19964        (WebCore::PropertySetCSSStyleDeclaration::willMutate):
19965        (WebCore::PropertySetCSSStyleDeclaration::didMutate):
19966        (StyleRuleCSSStyleDeclaration):
19967        * css/WebKitCSSKeyframesRule.cpp:
19968        (WebCore::WebKitCSSKeyframesRule::setName):
19969        (WebCore::WebKitCSSKeyframesRule::insertRule):
19970        (WebCore::WebKitCSSKeyframesRule::deleteRule):
19971        (WebCore::WebKitCSSKeyframesRule::reattach):
19972        (WebCore):
19973        * css/WebKitCSSKeyframesRule.h:
19974        (WebKitCSSKeyframesRule):
19975        * css/WebKitCSSRegionRule.cpp:
19976        (WebCore::WebKitCSSRegionRule::reattach):
19977        * css/WebKitCSSRegionRule.h:
19978        (WebKitCSSRegionRule):
19979        * inspector/InspectorStyleSheet.cpp:
19980        (WebCore::InspectorStyleSheet::reparseStyleSheet):
19981        * loader/cache/CachedCSSStyleSheet.cpp:
19982        (WebCore::CachedCSSStyleSheet::~CachedCSSStyleSheet):
19983        (WebCore::CachedCSSStyleSheet::destroyDecodedData):
19984        (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
19985        
19986            Don't copy when restoring. It is no longer necessary.
19987            Set the cache bit on the stylesheet.
19988
19989        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
19990
199912012-05-05  Sheriff Bot  <webkit.review.bot@gmail.com>
19992
19993        Unreviewed, rolling out r116221.
19994        http://trac.webkit.org/changeset/116221
19995        https://bugs.webkit.org/show_bug.cgi?id=85722
19996
19997        broke builds that use -Wshorten-64-to-32 (Requested by pizlo
19998        on #webkit).
19999
20000        * html/canvas/WebGLRenderingContext.cpp:
20001        (WebCore):
20002        (WebCore::WebGLRenderingContext::bufferData):
20003        (WebCore::WebGLRenderingContext::bufferSubData):
20004        (WebCore::WebGLRenderingContext::drawElements):
20005        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
20006        (WebCore::WebGLRenderingContext::vertexAttribPointer):
20007        * html/canvas/WebGLRenderingContext.h:
20008        (WebGLRenderingContext):
20009        * html/canvas/WebGLRenderingContext.idl:
20010
200112012-05-05  Martin Robinson  <mrobinson@igalia.com>
20012
20013        [GTK] WebKit should properly set the input method context window location
20014        https://bugs.webkit.org/show_bug.cgi?id=84981
20015
20016        Reviewed by Gustavo Noronha Silva.
20017
20018        * platform/gtk/GtkInputMethodFilter.cpp:
20019        (WebCore::GtkInputMethodFilter::setCursorRect): Add this method to plumb the
20020        cursor rect through to the input method.
20021        * platform/gtk/GtkInputMethodFilter.h: Add the new method declaration.
20022
200232012-05-05  Dean Jackson  <dino@apple.com>
20024
20025        Add new Setting/Preference to disable requestAnimationFrame
20026        https://bugs.webkit.org/show_bug.cgi?id=85693
20027
20028        Reviewed by Simon Fraser.
20029
20030        Hook up the new WebPreference for disabling requestAnimationFrame
20031        to Settings. This isn't disabling the feature in the typical
20032        WebKit ENABLE() way - it's still available in the DOM, it's
20033        just that the animations will never be serviced. This allows a client
20034        to disable the machinery without breaking content (other than the
20035        animations).
20036
20037        The new test is currently skipped on all platforms because toggling
20038        the preference interferes with the other tests that are running
20039        at the same time (and expect a working requestAnimationFrame).
20040        https://bugs.webkit.org/show_bug.cgi?id=85689
20041
20042        Test: fast/animation/request-animation-frame-disabled.html
20043
20044        * dom/ScriptedAnimationController.cpp:
20045        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
20046        (WebCore::ScriptedAnimationController::windowScreenDidChange):
20047        (WebCore::ScriptedAnimationController::scheduleAnimation):
20048        Check the setting before deciding to act.
20049        * page/Settings.cpp:
20050        (WebCore::Settings::Settings):
20051        * page/Settings.h:
20052        (WebCore::Settings::setRequestAnimationFrameEnabled):
20053        (WebCore::Settings::requestAnimationFrameEnabled):
20054        (Settings):
20055
200562012-05-05  Gustavo Noronha Silva  <gns@gnome.org>
20057
20058        Unreviewed, make distcheck fix.
20059
20060        * GNUmakefile.list.am: Add missing headers to the sources list.
20061
200622012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
20063
20064        Web Inspector: convert standalone functions save/append/savedURL/appendedToURL into WebInspector.FileManager object.
20065        https://bugs.webkit.org/show_bug.cgi?id=85710
20066
20067        The idea is to have an object and be able to add/remove event listeners from it.
20068
20069        Reviewed by Yury Semikhatsky.
20070
20071        * English.lproj/localizedStrings.js:
20072        * WebCore.gypi:
20073        * WebCore.vcproj/WebCore.vcproj:
20074        * inspector/compile-front-end.py:
20075        * inspector/front-end/FileManager.js: Copied from Source/WebCore/inspector/front-end/InspectorFrontendHostStub.js.
20076        (WebInspector.FileManager):
20077        (WebInspector.FileManager.prototype.canSave):
20078        (WebInspector.FileManager.prototype.canAppend):
20079        (WebInspector.FileManager.prototype.append):
20080        (WebInspector.FileManager.prototype.appendedToURL):
20081        * inspector/front-end/HeapSnapshotView.js:
20082        (WebInspector.HeapProfileHeader.prototype.canSave):
20083        (WebInspector.HeapProfileHeader.prototype.save):
20084        * inspector/front-end/InspectorFrontendHostStub.js:
20085        * inspector/front-end/WebKit.qrc:
20086        * inspector/front-end/inspector.html:
20087
200882012-05-05  Zhenyao Mo  <zmo@google.com>
20089
20090        vertexAttribPointer needs to reject large negative offsets
20091        https://bugs.webkit.org/show_bug.cgi?id=85117
20092
20093        Reviewed by Kenneth Russell.
20094
20095        * html/canvas/WebGLRenderingContext.cpp: Use long long for GLsizeiptr and GLintptr
20096        (WebCore):
20097        (WebCore::WebGLRenderingContext::bufferData):
20098        (WebCore::WebGLRenderingContext::bufferSubData):
20099        (WebCore::WebGLRenderingContext::drawElements):
20100        (WebCore::WebGLRenderingContext::getVertexAttribOffset):
20101        (WebCore::WebGLRenderingContext::vertexAttribPointer):
20102        * html/canvas/WebGLRenderingContext.h: Ditto
20103        (WebGLRenderingContext):
20104        * html/canvas/WebGLRenderingContext.idl: Ditto
20105
201062012-05-05  Andrey Kosyakov  <caseq@chromium.org>
20107
20108        Web Inspector: add separate timeline overview item for the frame mode
20109        https://bugs.webkit.org/show_bug.cgi?id=85706
20110
20111        - remove two-buttons horizontal/vertical mode switch from Timelines item of the timeline overview menu;
20112        - rename "Timeline" into "Events";
20113        - add "Frames" item;
20114        - replace overview sidebar icons with smaller, monochrome ones.
20115
20116        * English.lproj/localizedStrings.js: Added "Frames" and "Events".
20117        * inspector/front-end/Images/statusbarButtonGlyphs.png: Added icon for "Memory".
20118        * inspector/front-end/TimelineOverviewPane.js:
20119        (WebInspector.TimelineOverviewPane):
20120        (WebInspector.TimelineOverviewPane.prototype._showEvents):
20121        (WebInspector.TimelineOverviewPane.prototype._showFrames):
20122        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
20123        (WebInspector.TimelineOverviewPane.prototype._setMode):
20124        * inspector/front-end/timelinePanel.css:
20125        (#timeline-overview-sidebar .sidebar-tree-item):
20126        (#timeline-overview-sidebar .sidebar-tree-item .titles.no-subtitle):
20127        (#timeline-overview-sidebar .icon):
20128        (.timeline-overview-sidebar-events .icon):
20129        (.timeline-overview-sidebar-frames .icon):
20130        (.timeline-overview-sidebar-memory .icon):
20131
201322012-05-05  Ilya Tikhonovsky  <loislo@chromium.org>
20133
20134        Web Inspector: save HeapSnapshot implementation.
20135        https://bugs.webkit.org/show_bug.cgi?id=85595
20136
20137        HeapSnapshot specific implementation for loading was moved
20138        from ProfilesPanel to HeapProfileHeader class.
20139
20140        Reviewed by Yury Semikhatsky.
20141
20142        * inspector/front-end/HeapSnapshotView.js:
20143        (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
20144        (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
20145        (WebInspector.HeapProfileHeader):
20146        (WebInspector.HeapProfileHeader.prototype.load.setProfileWait):
20147        (WebInspector.HeapProfileHeader.prototype.load.done):
20148        (WebInspector.HeapProfileHeader.prototype.load):
20149        (WebInspector.HeapProfileHeader.prototype._saveStatusUpdate):
20150        (WebInspector.HeapProfileHeader.prototype.pushJSONChunk):
20151        (WebInspector.HeapProfileHeader.prototype.finishHeapSnapshot):
20152        (WebInspector.HeapProfileHeader.prototype.canSave):
20153        (WebInspector.HeapProfileHeader.prototype.save):
20154        * inspector/front-end/InspectorFrontendAPI.js:
20155        (InspectorFrontendAPI.appendedToURL):
20156        * inspector/front-end/ProfilesPanel.js:
20157        (WebInspector.ProfilesPanel.prototype._registerProfileType):
20158        (WebInspector.ProfilesPanel.prototype._handleContextMenuEvent):
20159        (WebInspector.ProfilesPanel.prototype.loadHeapSnapshot):
20160        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
20161        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
20162        (WebInspector.ProfileSidebarTreeElement.prototype.set searchMatches):
20163        (WebInspector.ProfileSidebarTreeElement.prototype.handleContextMenuEvent):
20164        * inspector/front-end/inspector.js:
20165        (WebInspector.append):
20166        (WebInspector.appendedToURL):
20167
201682012-05-05  Pavel Feldman  <pfeldman@chromium.org>
20169
20170        Web Inspector: allow overriding the script mapping on the UI level
20171        https://bugs.webkit.org/show_bug.cgi?id=85702
20172
20173        Reviewed by Yury Semikhatsky.
20174
20175        This allows formatting update live locations all over the place automatically.
20176
20177        * inspector/front-end/Script.js:
20178        (WebInspector.Script.prototype.rawLocationToUILocation):
20179        (WebInspector.Script.Location):
20180        (WebInspector.Script.Location.prototype.update):
20181        (WebInspector.Script.Location.prototype.dispose):
20182        * inspector/front-end/UISourceCode.js:
20183        (WebInspector.UISourceCode):
20184        (WebInspector.UISourceCode.prototype.addLiveLocation):
20185        (WebInspector.UISourceCode.prototype.removeLiveLocation):
20186        (WebInspector.UISourceCode.prototype.updateLiveLocations):
20187        (WebInspector.UISourceCode.prototype.overrideLocation):
20188
201892012-05-05  Pavel Feldman  <pfeldman@chromium.org>
20190
20191        Web Inspector: simplify the JavaScriptOutline dialog interaction.
20192        https://bugs.webkit.org/show_bug.cgi?id=85701
20193
20194        Reviewed by Yury Semikhatsky.
20195
20196        Removed bidirectional dependency between scripts panel and outline dialog.
20197
20198        * inspector/front-end/FilteredItemSelectionDialog.js:
20199        (WebInspector.JavaScriptOutlineDialog):
20200        (WebInspector.JavaScriptOutlineDialog.show):
20201        (WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
20202        (WebInspector.JavaScriptOutlineDialog.prototype._didBuildOutlineChunk):
20203        (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
20204        * inspector/front-end/ScriptFormatterWorker.js:
20205        * inspector/front-end/ScriptsPanel.js:
20206        (WebInspector.ScriptsPanel.prototype.addToWatch):
20207        (WebInspector.ScriptsPanel.prototype._showJavaScriptOutlineDialog):
20208
202092012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>
20210
20211        Web Inspector: annotate ProfilerAgent.
20212        https://bugs.webkit.org/show_bug.cgi?id=85630
20213
20214        Reviewed by Pavel Feldman.
20215
20216        * inspector/Inspector.json:
20217        * inspector/InspectorProfilerAgent.cpp:
20218        (WebCore::InspectorProfilerAgent::createProfileHeader):
20219        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
20220        (WebCore::InspectorProfilerAgent::getProfileHeaders):
20221        (WebCore):
20222        (WebCore::InspectorProfilerAgent::getProfile):
20223        * inspector/InspectorProfilerAgent.h:
20224        (InspectorProfilerAgent):
20225        * inspector/front-end/CSSSelectorProfileView.js:
20226        * inspector/front-end/HeapSnapshotView.js:
20227        (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
20228        * inspector/front-end/ProfileView.js:
20229        * inspector/front-end/ProfilesPanel.js:
20230        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
20231        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
20232        (WebInspector.ProfilerDispatcher.prototype.resetProfiles):
20233
202342012-05-04  Gustavo Noronha Silva  <gns@gnome.org>
20235
20236        [GTK] Simplify how libWebCoreModules is linked in, and fix WebKit2 build
20237        https://bugs.webkit.org/show_bug.cgi?id=85691
20238
20239        * GNUmakefile.am: link libWebCoreModules into libWebCore.
20240
202412012-05-04  Kent Tamura  <tkent@chromium.org>
20242
20243        Rename ICULocale to LocaleICU, part 1
20244        https://bugs.webkit.org/show_bug.cgi?id=85688
20245
20246        Reviewed by Kentaro Hara.
20247
20248        Rename it for consistency. Our convention is Foo<Platform>.{cpp,h}.
20249        This patch changes only file names. We'll rename ICULocale class
20250        by a following patch.
20251
20252        No behavior changes.
20253
20254        * WebCore.gypi:
20255        * platform/text/LocaleICU.cpp: Renamed from Source/WebCore/platform/text/ICULocale.cpp.
20256        * platform/text/LocaleICU.h: Renamed from Source/WebCore/platform/text/ICULocale.h.
20257        * platform/text/LocalizedDateICU.cpp: Rename ICULocale.h to LocaleICU.h.
20258        * platform/text/LocalizedNumberICU.cpp: ditto.
20259
202602012-05-04  Julien Chaffraix  <jchaffraix@webkit.org>
20261
20262        Leaf non self-painting layers should bail out early in RenderLayer::paintLayer
20263        https://bugs.webkit.org/show_bug.cgi?id=85678
20264
20265        Reviewed by Darin Adler.
20266
20267        Performance optimization, no expected change in behavior.
20268
20269        The gist of the change is that leaf non self-painting layers don't need to be painted as their
20270        associated RenderBoxModelObject should properly paint itself without any help.
20271
20272        For RenderLayer trees that have a large number of leafs nodes (like a table with a leaf RenderLayer for
20273        each cells), not bailing out is a big overhead as it ends up doing a lot of computation for no real
20274        painting. See http://dglazkov.github.com/performance-tests/biggrid.html for a benchmark for that. On
20275        my machine, it reduces the paint time when scrolling to 70ms from 120ms (45% speedup).
20276
20277        * rendering/RenderLayer.cpp:
20278        (WebCore::RenderLayer::paintLayer):
20279
202802012-05-04  Rob Buis  <rbuis@rim.com>
20281
20282        Remove InlineBox::next()
20283        https://bugs.webkit.org/show_bug.cgi?id=85668
20284
20285        Reviewed by Nikolas Zimmermann.
20286
20287        InlineBox::next() not needed since nextOnLine() does the same.
20288
20289        * rendering/InlineBox.h:
20290        (InlineBox):
20291        * rendering/InlineFlowBox.h:
20292        (WebCore::InlineFlowBox::setConstructed):
20293
202942012-05-04  Chris Rogers  <crogers@google.com>
20295
20296        Oscillator must implement noteOn() and noteOff()
20297        https://bugs.webkit.org/show_bug.cgi?id=85236
20298
20299        Reviewed by Kenneth Russell.
20300
20301        Test: webaudio/oscillator-scheduling.html
20302        to be landed separately to get proper platform baselines
20303
20304        * Modules/webaudio/AudioBufferSourceNode.cpp:
20305        (WebCore::AudioBufferSourceNode::process):
20306        Simplify/remove zeroing-out silence at end of buffer, since it's now handled in the base-class AudioScheduledSourceNode::updateSchedulingInfo().
20307
20308        * Modules/webaudio/AudioContext.cpp:
20309        (WebCore::AudioContext::createBufferSource):
20310        Improve comment about ownership and dynamic-lifetime of AudioBufferSourceNode.
20311
20312        (WebCore::AudioContext::createOscillator):
20313        AudioContext keeps a reference to the Oscillator and that reference is released in AudioScheduledSourceNode,
20314        when it has finished playing.
20315
20316        * Modules/webaudio/AudioScheduledSourceNode.h:
20317        * Modules/webaudio/AudioScheduledSourceNode.cpp:
20318        (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
20319        updateSchedulingInfo() is now responsible for zeroing out the very start (before a note starts)
20320        and the very end (after note ends) of the output AudioBus.  We've also simplified the number
20321        of arguments passed to this method, because of this. It now handles playbackState transition to FINISHED_STATE.
20322
20323        * Modules/webaudio/Oscillator.cpp:
20324        (WebCore::Oscillator::Oscillator):
20325        (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
20326        The frequency value needs to snap immediately to its correct value the very first time.
20327        This bug needs to be fixed here so that the Oscillator layout scheduling test works correctly.
20328
20329        (WebCore::Oscillator::process):
20330        Since Oscillator in now changing to be a AudioScheduledSourceNode, we need to call AudioScheduledSourceNode::updateSchedulingInfo()
20331        to handle playbackState for us.
20332
20333        (WebCore::Oscillator::propagatesSilence):
20334        Add scheduling logic for propagatesSilence().
20335
20336        (Oscillator):
20337        * Modules/webaudio/Oscillator.idl:
20338        Add noteOn(), noteOff() methods and playbackState according to specification.
20339
203402012-05-04  Andy Estes  <aestes@apple.com>
20341
20342        Remove uses of ASSERT(false)
20343        https://bugs.webkit.org/show_bug.cgi?id=85686
20344
20345        Reviewed by Dean Jackson.
20346
20347        Replace uses of ASSERT(false) with ASSERT_NOT_REACHED(). Also, in two places, there was code structured like:
20348
20349        if (expr) {
20350            // do something
20351        } else {
20352            ASSERT(false);
20353        }
20354
20355        Replace this with:
20356
20357        ASSERT(expr);
20358        if (!expr)
20359            return;
20360
20361        // do something
20362
20363        * Modules/webdatabase/DatabaseTracker.cpp:
20364        (WebCore::DatabaseTracker::deleteOrigin):
20365        (WebCore::DatabaseTracker::doneCreatingDatabase):
20366        (WebCore::DatabaseTracker::doneDeletingDatabase):
20367        (WebCore::DatabaseTracker::deleteDatabase):
20368        * bridge/objc/objc_instance.mm:
20369        (ObjcInstance::invokeObjcMethod):
20370        * bridge/objc/objc_utility.mm:
20371        (JSC::Bindings::convertObjcValueToValue):
20372        (JSC::Bindings::objcValueTypeForType):
20373        * dom/Node.cpp:
20374        (WebCore::Node::createRenderer):
20375        * loader/icon/IconDatabase.cpp:
20376        (WebCore::IconDatabase::setIconURLForPageURLInSQLDatabase):
20377        (WebCore::IconDatabase::setIconIDForPageURLInSQLDatabase):
20378        * platform/graphics/GraphicsContext3D.cpp:
20379        (WebCore::doPacking):
20380        * platform/text/BidiResolver.h:
20381        (WebCore::::createBidiRunsForLine):
20382
203832012-05-04  Noel Gordon  <noel.gordon@gmail.com>
20384
20385        [CG] Minor refactor of ImageBuffer::CGImageToDataURL and its callers
20386        https://bugs.webkit.org/show_bug.cgi?id=85280
20387
20388        Reviewed by Kenneth Russell.
20389
20390        This patch means to simplify the diff of an upcoming patch. Refactoring
20391        here in preparation for that patch.
20392
20393        No new tests. No behavioral change. Covered by canvas 2d and 3d tests:
20394          canvas/philip/tests/*toDataURL*.html
20395          fast/canvas/webgl/premultiplyalpha-test.html
20396
20397        * platform/graphics/cg/ImageBufferCG.cpp:
20398        (WebCore::CGImageToDataURL): Move the invalid image (!image) test here.
20399        The comments are about JPEG images; say that. Rename out to base64Data.
20400        (WebCore::ImageBuffer::toDataURL): Remove the !image test.
20401        (WebCore::ImageDataToDataURL): Move and define variables where used and
20402        make the code flow read similarly to toDataURL. Remove the !image test.
20403
204042012-05-04  Shawn Singh  <shawnsingh@chromium.org>
20405
20406        [chromium] Changes to layer tree structure need to be tracked properly
20407        https://bugs.webkit.org/show_bug.cgi?id=85421
20408
20409        Reviewed by Adrienne Walker.
20410
20411        Unit test added: TreeSynchronizerTest.syncSimpleTreeAndTrackStackingOrderChange
20412
20413        Earlier, we were relying on WebCore behavior that always called
20414        setNeedsDisplay whenever the layer tree structure changed.
20415        However, in general it is more correct to consider layer tree
20416        changes even when things don't need repainting; for example Aura
20417        code is encountring this bug now. This patch corrects the
20418        compositor so that layer tree structural changes are considered
20419        property changes, without requiring that layers needed to be
20420        repainted.
20421
20422        * platform/graphics/chromium/LayerChromium.cpp:
20423        (WebCore::LayerChromium::LayerChromium):
20424        (WebCore::LayerChromium::insertChild):
20425        (WebCore::LayerChromium::pushPropertiesTo):
20426        * platform/graphics/chromium/LayerChromium.h:
20427        (LayerChromium):
20428        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
20429        (WebCore::CCLayerImpl::setStackingOrderChanged):
20430        (WebCore):
20431        * platform/graphics/chromium/cc/CCLayerImpl.h:
20432        (CCLayerImpl):
20433
204342012-05-04  Jeffrey Pfau  <jpfau@apple.com>
20435
20436        Unreviewed; build fix after r116191.
20437
20438        * bindings/js/JSEventListener.h:
20439
204402012-05-04  Enrica Casucci  <enrica@apple.com>
20441
20442        REGRESSION: Cursor jumps to the first line after deleting the last word.
20443        https://bugs.webkit.org/show_bug.cgi?id=85334
20444        <rdar://problem/11210059>
20445
20446        Reviewed by Ryosuke Niwa.
20447
20448        This regression was introduced with the work to remove redundant divs.
20449        When we decide to remove a DIV, we need to adjust the selection, if it is
20450        expressed in terms of the node being removed. The new position was computed
20451        using updatePositionForNodeRemoval that was not designed for the case where we
20452        remove preserving children.
20453        This patch adds a new method to CompositeEditCommand to do this properly.
20454        
20455        Test: editing/deleting/delete-word-from-unstyled-div.html
20456
20457        * editing/CompositeEditCommand.cpp:
20458        (WebCore::CompositeEditCommand::isRemovableBlock): Code clenup.
20459        (WebCore::CompositeEditCommand::updatePositionForNodeRemovalPreservingChildren): Added.
20460         * editing/CompositeEditCommand.h:
20461        * editing/DeleteSelectionCommand.cpp:
20462        (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Uses updatePositionForNodeRemovalPreservingChildren.
20463
204642012-05-04  Jeffrey Pfau  <jpfau@apple.com>
20465
20466        Prevent early EventListener deletion
20467        https://bugs.webkit.org/show_bug.cgi?id=73970
20468
20469        Reviewed by Oliver Hunt.
20470
20471        Test: fast/events/attribute-listener-deletion-crash.html
20472
20473        * bindings/js/JSEventListener.h:
20474        (WebCore::JSEventListener::jsFunction):
20475
204762012-05-04  Yongjun Zhang  <yongjun_zhang@apple.com>
20477
20478        Add "combining short stroke overlay character (u0335)" to lookalike characters blacklist.
20479        https://bugs.webkit.org/show_bug.cgi?id=85440
20480
20481        Reviewed by David Kilzer.
20482
20483        We should add u0335 to the characters blacklist.
20484
20485        * platform/mac/WebCoreNSURLExtras.mm:
20486        (WebCore::isLookalikeCharacter):
20487
204882012-05-04  Satoru Takabayashi  <satorux@chromium.org>
20489
20490        [chromium] Add plumbing for file display names for drag and drop
20491        https://bugs.webkit.org/show_bug.cgi?id=85673
20492
20493        Reviewed by Darin Fisher.
20494
20495        No new tests: this change itself shouldn't change existing behavior.
20496
20497        * platform/chromium/ChromiumDataObject.cpp:
20498        (WebCore::ChromiumDataObject::addFilename):
20499        * platform/chromium/ChromiumDataObject.h:
20500        (ChromiumDataObject):
20501
205022012-05-04  Levi Weintraub  <leviw@chromium.org>
20503
20504        Correct pixel snapping in RenderSVGRoot::paintReplaced
20505        https://bugs.webkit.org/show_bug.cgi?id=85671
20506
20507        Reviewed by Eric Seidel.
20508
20509        SVG root elements are still painted on pixel boundaries, so their children should
20510        apply transforms based on their actual painted location, not their sub-pixel
20511        one. This corrects a clipping and painting issue where these sub-pixel units are
20512        incorrectly applied to the graphics context.
20513
20514        Covered by existing tests when sub-pixel layout is enabled.
20515
20516        * rendering/svg/RenderSVGRoot.cpp:
20517        (WebCore::RenderSVGRoot::paintReplaced):
20518
205192012-05-04  Adam Barth  <abarth@webkit.org>
20520
20521        Refactor CSP state to prepare for having both a ReportOnly and an Enforced policy
20522        https://bugs.webkit.org/show_bug.cgi?id=85662
20523
20524        Reviewed by Eric Seidel.
20525
20526        This patch refactors the ContentSecurityPolicy state into a separate
20527        DirectiveList class to prepare for
20528        https://bugs.webkit.org/show_bug.cgi?id=85561, which will cause us to
20529        need two directive lists: one for enforcement and one for monitoring.
20530
20531        This patch shouldn't cause any change in behavior.
20532
20533        * page/ContentSecurityPolicy.cpp:
20534        (CSPDirectiveList):
20535        (WebCore::CSPDirectiveList::header):
20536        (WebCore::CSPDirectiveList::headerType):
20537        (WebCore::CSPDirectiveList::denyIfEnforcingPolicy):
20538        (WebCore):
20539        (WebCore::CSPDirectiveList::CSPDirectiveList):
20540        (WebCore::CSPDirectiveList::create):
20541        (WebCore::CSPDirectiveList::reportViolation):
20542        (WebCore::CSPDirectiveList::logUnrecognizedDirective):
20543        (WebCore::CSPDirectiveList::checkEval):
20544        (WebCore::CSPDirectiveList::operativeDirective):
20545        (WebCore::CSPDirectiveList::checkInlineAndReportViolation):
20546        (WebCore::CSPDirectiveList::checkEvalAndReportViolation):
20547        (WebCore::CSPDirectiveList::checkSourceAndReportViolation):
20548        (WebCore::CSPDirectiveList::allowJavaScriptURLs):
20549        (WebCore::CSPDirectiveList::allowInlineEventHandlers):
20550        (WebCore::CSPDirectiveList::allowInlineScript):
20551        (WebCore::CSPDirectiveList::allowInlineStyle):
20552        (WebCore::CSPDirectiveList::allowEval):
20553        (WebCore::CSPDirectiveList::allowScriptFromSource):
20554        (WebCore::CSPDirectiveList::allowObjectFromSource):
20555        (WebCore::CSPDirectiveList::allowChildFrameFromSource):
20556        (WebCore::CSPDirectiveList::allowImageFromSource):
20557        (WebCore::CSPDirectiveList::allowStyleFromSource):
20558        (WebCore::CSPDirectiveList::allowFontFromSource):
20559        (WebCore::CSPDirectiveList::allowMediaFromSource):
20560        (WebCore::CSPDirectiveList::allowConnectFromSource):
20561        (WebCore::CSPDirectiveList::parse):
20562        (WebCore::CSPDirectiveList::parseDirective):
20563        (WebCore::CSPDirectiveList::parseReportURI):
20564        (WebCore::CSPDirectiveList::createCSPDirective):
20565        (WebCore::CSPDirectiveList::applySandboxPolicy):
20566        (WebCore::CSPDirectiveList::addDirective):
20567        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
20568        (WebCore::ContentSecurityPolicy::~ContentSecurityPolicy):
20569        (WebCore::ContentSecurityPolicy::copyStateFrom):
20570        (WebCore::ContentSecurityPolicy::didReceiveHeader):
20571        (WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
20572        (WebCore::ContentSecurityPolicy::header):
20573        (WebCore::ContentSecurityPolicy::headerType):
20574        (WebCore::ContentSecurityPolicy::allowJavaScriptURLs):
20575        (WebCore::ContentSecurityPolicy::allowInlineEventHandlers):
20576        (WebCore::ContentSecurityPolicy::allowInlineScript):
20577        (WebCore::ContentSecurityPolicy::allowInlineStyle):
20578        (WebCore::ContentSecurityPolicy::allowEval):
20579        (WebCore::ContentSecurityPolicy::allowScriptFromSource):
20580        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
20581        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
20582        (WebCore::ContentSecurityPolicy::allowImageFromSource):
20583        (WebCore::ContentSecurityPolicy::allowStyleFromSource):
20584        (WebCore::ContentSecurityPolicy::allowFontFromSource):
20585        (WebCore::ContentSecurityPolicy::allowMediaFromSource):
20586        (WebCore::ContentSecurityPolicy::allowConnectFromSource):
20587        * page/ContentSecurityPolicy.h:
20588        (WebCore):
20589        * workers/WorkerMessagingProxy.cpp:
20590        (WebCore::WorkerMessagingProxy::startWorkerContext):
20591
205922012-05-04  Abhishek Arya  <inferno@chromium.org>
20593
20594        ASSERT(beforeChildAnonymousContainer->isTable()); fails in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
20595        https://bugs.webkit.org/show_bug.cgi?id=84606
20596
20597        Reviewed by Julien Chaffraix.
20598
20599        RenderBlock::removeChild forgot to set display on the anonymous block, causing it
20600        to display as INLINE. To prevent this kind of failure in future, we replace
20601        createAnonymousStyle with createAnonymousStyleWithDisplay to make everyone explictly
20602        pass display as the argument.
20603
20604        Test: fast/block/block-add-child-crash.html
20605
20606        * rendering/RenderBlock.cpp:
20607        (WebCore::RenderBlock::removeChild): 
20608        (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
20609        (WebCore::RenderBlock::createAnonymousColumnsWithParentRenderer):
20610        (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRenderer):
20611        * rendering/RenderInline.cpp:
20612        (WebCore::updateStyleOfAnonymousBlockContinuations):
20613        (WebCore::RenderInline::addChildIgnoringContinuation):
20614        * rendering/RenderObject.cpp:
20615        (WebCore::RenderObject::propagateStyleToAnonymousChildren):
20616        * rendering/RenderRuby.cpp:
20617        (WebCore::createAnonymousRubyInlineBlock):
20618        * rendering/RenderRubyRun.cpp:
20619        (WebCore::RenderRubyRun::createRubyBase):
20620        (WebCore::RenderRubyRun::staticCreateRubyRun):
20621        * rendering/RenderTable.cpp:
20622        (WebCore::RenderTable::createAnonymousWithParentRenderer):
20623        * rendering/RenderTableCell.cpp:
20624        (WebCore::RenderTableCell::createAnonymousWithParentRenderer):
20625        * rendering/RenderTableRow.cpp:
20626        (WebCore::RenderTableRow::createAnonymousWithParentRenderer):
20627        * rendering/RenderTableSection.cpp:
20628        (WebCore::RenderTableSection::createAnonymousWithParentRenderer):
20629        * rendering/mathml/RenderMathMLBlock.cpp:
20630        (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
20631        * rendering/mathml/RenderMathMLRow.cpp:
20632        (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
20633        * rendering/mathml/RenderMathMLSubSup.cpp:
20634        (WebCore::RenderMathMLSubSup::addChild):
20635        * rendering/style/RenderStyle.cpp:
20636        (WebCore::RenderStyle::createAnonymousStyleWithDisplay):
20637        * rendering/style/RenderStyle.h:
20638
206392012-04-27  Erik Arvidsson  <arv@chromium.org>
20640
20641        WebKit IDL does not use exception syntax
20642        https://bugs.webkit.org/show_bug.cgi?id=85100
20643
20644        Reviewed by Dimitri Glazkov.
20645
20646        This adds support for exception ExceptionName { ... } which currently sets a flag
20647        on the domClass.
20648
20649        Binding tests updated.
20650
20651        * Modules/indexeddb/IDBDatabaseException.idl:
20652        * Modules/webdatabase/SQLException.idl:
20653        * bindings/scripts/IDLParser.pm:
20654        (ParseInterface):
20655        (DetermineParseMode):
20656        (ProcessSection):
20657        * bindings/scripts/IDLStructure.pm:
20658        * bindings/scripts/test/CPP/WebDOMTestException.cpp: Added.
20659        (WebDOMTestException::WebDOMTestExceptionPrivate::WebDOMTestExceptionPrivate):
20660        (WebDOMTestException::WebDOMTestExceptionPrivate):
20661        (WebDOMTestException::WebDOMTestException):
20662        (WebDOMTestException::operator=):
20663        (WebDOMTestException::impl):
20664        (WebDOMTestException::~WebDOMTestException):
20665        (WebDOMTestException::name):
20666        (toWebCore):
20667        (toWebKit):
20668        * bindings/scripts/test/CPP/WebDOMTestException.h: Added.
20669        (WebCore):
20670        (WebDOMTestException):
20671        * bindings/scripts/test/GObject/WebKitDOMTestException.cpp: Added.
20672        (WebKit):
20673        (WebKit::kit):
20674        (WebKit::core):
20675        (WebKit::wrapTestException):
20676        (webkit_dom_test_exception_finalize):
20677        (webkit_dom_test_exception_set_property):
20678        (webkit_dom_test_exception_get_property):
20679        (webkit_dom_test_exception_constructed):
20680        (webkit_dom_test_exception_class_init):
20681        (webkit_dom_test_exception_init):
20682        (webkit_dom_test_exception_get_name):
20683        * bindings/scripts/test/GObject/WebKitDOMTestException.h: Added.
20684        (_WebKitDOMTestException):
20685        (_WebKitDOMTestExceptionClass):
20686        * bindings/scripts/test/GObject/WebKitDOMTestExceptionPrivate.h: Added.
20687        (WebKit):
20688        * bindings/scripts/test/JS/JSTestException.cpp: Added.
20689        (WebCore):
20690        (WebCore::JSTestExceptionConstructor::JSTestExceptionConstructor):
20691        (WebCore::JSTestExceptionConstructor::finishCreation):
20692        (WebCore::JSTestExceptionConstructor::getOwnPropertySlot):
20693        (WebCore::JSTestExceptionConstructor::getOwnPropertyDescriptor):
20694        (WebCore::JSTestExceptionPrototype::self):
20695        (WebCore::JSTestException::JSTestException):
20696        (WebCore::JSTestException::finishCreation):
20697        (WebCore::JSTestException::createPrototype):
20698        (WebCore::JSTestException::destroy):
20699        (WebCore::JSTestException::~JSTestException):
20700        (WebCore::JSTestException::getOwnPropertySlot):
20701        (WebCore::JSTestException::getOwnPropertyDescriptor):
20702        (WebCore::jsTestExceptionName):
20703        (WebCore::jsTestExceptionConstructor):
20704        (WebCore::JSTestException::getConstructor):
20705        (WebCore::isObservable):
20706        (WebCore::JSTestExceptionOwner::isReachableFromOpaqueRoots):
20707        (WebCore::JSTestExceptionOwner::finalize):
20708        (WebCore::toJS):
20709        (WebCore::toTestException):
20710        * bindings/scripts/test/JS/JSTestException.h: Added.
20711        (WebCore):
20712        (JSTestException):
20713        (WebCore::JSTestException::create):
20714        (WebCore::JSTestException::createStructure):
20715        (WebCore::JSTestException::impl):
20716        (WebCore::JSTestException::releaseImpl):
20717        (WebCore::JSTestException::releaseImplIfNotNull):
20718        (JSTestExceptionOwner):
20719        (WebCore::wrapperOwner):
20720        (WebCore::wrapperContext):
20721        (JSTestExceptionPrototype):
20722        (WebCore::JSTestExceptionPrototype::create):
20723        (WebCore::JSTestExceptionPrototype::createStructure):
20724        (WebCore::JSTestExceptionPrototype::JSTestExceptionPrototype):
20725        (JSTestExceptionConstructor):
20726        (WebCore::JSTestExceptionConstructor::create):
20727        (WebCore::JSTestExceptionConstructor::createStructure):
20728        * bindings/scripts/test/ObjC/DOMTestException.h: Added.
20729        * bindings/scripts/test/ObjC/DOMTestException.mm: Added.
20730        (-[DOMTestException dealloc]):
20731        (-[DOMTestException finalize]):
20732        (-[DOMTestException name]):
20733        (core):
20734        (kit):
20735        * bindings/scripts/test/ObjC/DOMTestExceptionInternal.h: Added.
20736        (WebCore):
20737        * bindings/scripts/test/TestException.idl: Copied from Source/WebCore/xml/XPathException.idl.
20738        * bindings/scripts/test/V8/V8TestException.cpp: Added.
20739        (WebCore):
20740        (TestExceptionV8Internal):
20741        (WebCore::TestExceptionV8Internal::V8_USE):
20742        (WebCore::TestExceptionV8Internal::nameAttrGetter):
20743        (WebCore::ConfigureV8TestExceptionTemplate):
20744        (WebCore::V8TestException::GetRawTemplate):
20745        (WebCore::V8TestException::GetTemplate):
20746        (WebCore::V8TestException::HasInstance):
20747        (WebCore::V8TestException::wrapSlow):
20748        (WebCore::V8TestException::derefObject):
20749        * bindings/scripts/test/V8/V8TestException.h: Added.
20750        (WebCore):
20751        (V8TestException):
20752        (WebCore::V8TestException::toNative):
20753        (WebCore::V8TestException::wrap):
20754        (WebCore::toV8):
20755        * dom/DOMCoreException.idl:
20756        * dom/EventException.idl:
20757        * dom/RangeException.idl:
20758        * fileapi/FileException.idl:
20759        * fileapi/OperationNotAllowedException.idl:
20760        * svg/SVGException.idl:
20761        * xml/XMLHttpRequestException.idl:
20762        * xml/XPathException.idl:
20763
207642012-05-04  Rafael Weinstein  <rafaelw@chromium.org>
20765
20766        V8RecursionScope not declared in V8Proxy::newInstance which causes ASSERT() failure from NPAPI
20767        https://bugs.webkit.org/show_bug.cgi?id=85659
20768
20769        Reviewed by Ojan Vafai.
20770
20771        Added a stack-allocted V8RecursionScope to the newInstance call.
20772
20773        No new tests. No change in observable behavior.
20774
20775        * bindings/v8/V8Proxy.cpp:
20776        (WebCore::V8Proxy::newInstance):
20777
207782012-05-04  Joshua Bell  <jsbell@chromium.org>
20779
20780        IndexedDB: Remove all index metadata records when deleting an index
20781        https://bugs.webkit.org/show_bug.cgi?id=85557
20782
20783        Reviewed by Tony Chang.
20784
20785        An assert is hit when re-loading database from backing store due to stale index
20786        metadata entry. Do a range delete to clear all metadata entries when deleting an
20787        index. Define metadata entries as enum and limits as consts instead of hardcoded ints.
20788
20789        No new tests - issue does not repro as layout test. Will land test in Chromium.
20790
20791        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
20792        (WebCore::getBool): Helper functions; replaces pattern of putInt()/read only lead byte.
20793        (WebCore):
20794        (WebCore::putBool):
20795        (WebCore::IDBLevelDBBackingStore::getObjectStores): Skip stale data. Use enums, helpers.
20796        (WebCore::IDBLevelDBBackingStore::createObjectStore): Use enums.
20797        (WebCore::IDBLevelDBBackingStore::deleteObjectStore): Use enums.
20798        (WebCore::getNewVersionNumber): Use enums.
20799        (WebCore::IDBLevelDBBackingStore::getIndexes): Skip stale data. Use enums, helpers.
20800        (WebCore::getNewIndexId): Use enums.
20801        (WebCore::IDBLevelDBBackingStore::createIndex): Use enums.
20802        (WebCore::IDBLevelDBBackingStore::deleteIndex): Delete metadata by range.
20803        * Modules/indexeddb/IDBLevelDBCoding.cpp:
20804        (IDBLevelDBCoding): Add constants for metadata maximum values.
20805        (WebCore::IDBLevelDBCoding::encodeBool):
20806        (WebCore::IDBLevelDBCoding::decodeBool):
20807        (WebCore::IDBLevelDBCoding::ObjectStoreMetaDataKey::encodeMaxKey): Use consts.
20808        (WebCore::IDBLevelDBCoding::IndexMetaDataKey::encodeMaxKey): Use consts.
20809        * Modules/indexeddb/IDBLevelDBCoding.h:
20810        (IDBLevelDBCoding): Expose enums for metadata types.
20811
208122012-05-04  Anders Carlsson  <andersca@apple.com>
20813
20814        Move markPagesForFullStyleRecalc to PageCache
20815        https://bugs.webkit.org/show_bug.cgi?id=85664
20816
20817        Reviewed by Dan Bernstein.
20818
20819        Instead of going through all the history items in the back/forward list looking for cached pages, just iterate over the cached pages in the page.
20820
20821        * history/BackForwardController.cpp:
20822        * history/BackForwardController.h:
20823        * history/HistoryItem.cpp:
20824        * history/HistoryItem.h:
20825        * history/PageCache.cpp:
20826        (WebCore::PageCache::markPagesForFullStyleRecalc):
20827        (WebCore):
20828        * history/PageCache.h:
20829        (PageCache):
20830        * page/Frame.cpp:
20831        (WebCore::Frame::setPageAndTextZoomFactors):
20832        * page/Page.cpp:
20833        (WebCore::Page::setDeviceScaleFactor):
20834        (WebCore::Page::setPagination):
20835
208362012-05-04  Tony Chang  <tony@chromium.org>
20837
20838        The computed style of flex-item-align should never be auto.
20839        https://bugs.webkit.org/show_bug.cgi?id=85656
20840
20841        Reviewed by Ojan Vafai.
20842
20843        If the node lacks a parent and flex-item-align is auto, we should
20844        return stretch. This was recently clarified in the spec.
20845
20846        New testcase in css3/flexbox/css-properties.html.
20847
20848        * css/CSSComputedStyleDeclaration.cpp:
20849        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
20850
208512012-05-04  Christophe Dumez  <christophe.dumez@intel.com>
20852
20853        [soup] URL of the ResourceResponse passed to willSendRequest is incorrect
20854        https://bugs.webkit.org/show_bug.cgi?id=85072
20855
20856        Reviewed by Gustavo Noronha Silva.
20857
20858        Store the response message by catching the "got-headers" signal so
20859        that it can be passed later to willSendRequest() in case of
20860        redirection. This is required because the SoupMessage headers and URL
20861        have already been updated once restartedCallback() is called.
20862
20863        * platform/network/soup/ResourceHandleSoup.cpp:
20864        (WebCore):
20865        (WebCore::gotHeadersCallback):
20866        (WebCore::restartedCallback):
20867        (WebCore::sendRequestCallback):
20868        (WebCore::startHTTPRequest):
20869
208702012-05-04  Ian Vollick  <vollick@chromium.org>
20871
20872        [chromium] CCProxy's shouldn't try to draw if there is no layer renderer
20873        https://bugs.webkit.org/show_bug.cgi?id=85218
20874
20875        Reviewed by Adrienne Walker.
20876
20877        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
20878        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
20879
208802012-05-04  Rob Buis  <rbuis@rim.com>
20881
20882        [BlackBerry] Rendering bmp file as text file when Content-Type:image/x-ms-bmp from apache web server.
20883        https://bugs.webkit.org/show_bug.cgi?id=85036
20884
20885        Reviewed by Antonio Gomes.
20886
20887        Move getNormalizedMIMEType from WebKit into MIMETypeRegistry. This way we support uncommon mime types like image/pjpeg
20888        and image/x-ms-bmp out of the box since we map to the more common image/jpeg and image/bmp respectively.
20889
20890        * platform/MIMETypeRegistry.cpp:
20891        (WebCore::initializeSupportedImageMIMETypes):
20892        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
20893        (WebCore::MIMETypeRegistry::isSupportedImageResourceMIMEType):
20894        (WebCore):
20895        (WebCore::mimeTypeAssociationMap):
20896        (WebCore::MIMETypeRegistry::getNormalizedMIMEType):
20897        * platform/MIMETypeRegistry.h:
20898        (MIMETypeRegistry):
20899
209002012-05-04  Sami Kyostila  <skyostil@chromium.org>
20901
20902        [chromium] Revert compositor layer scrolling
20903        https://bugs.webkit.org/show_bug.cgi?id=85644
20904
20905        Reviewed by Steve Block.
20906
20907        This patch reverts the following commits because they were found to
20908        trigger crashes. See discussion at http://code.google.com/p/chromium/issues/detail?id=124393.
20909
20910            [chromium] Allow scrolling non-root layers in the compositor thread
20911            http://trac.webkit.org/changeset/114651
20912
20913            [chromium] Don't crash when scrolling empty layer tree
20914            http://trac.webkit.org/changeset/114761
20915
20916            [chromium] Don't keep pointers to released layer tree
20917            http://trac.webkit.org/changeset/115080
20918
20919        * platform/graphics/chromium/ContentLayerChromium.cpp:
20920        * platform/graphics/chromium/ContentLayerChromium.h:
20921        (ContentLayerChromium):
20922        * platform/graphics/chromium/GraphicsLayerChromium.h:
20923        (GraphicsLayerChromium):
20924        * platform/graphics/chromium/LayerChromium.cpp:
20925        (WebCore::LayerChromium::pushPropertiesTo):
20926        * platform/graphics/chromium/LayerChromium.h:
20927        (LayerChromium):
20928        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
20929        * platform/graphics/chromium/cc/CCLayerImpl.h:
20930        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
20931        (WebCore::CCLayerTreeHost::applyScrollAndScale):
20932        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
20933        (CCLayerTreeHostCommon):
20934        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
20935        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
20936        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
20937        (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
20938        (WebCore::CCLayerTreeHostImpl::contentSize):
20939        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
20940        (WebCore::findScrollLayer):
20941        (WebCore::CCLayerTreeHostImpl::setRootLayer):
20942        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
20943        (WebCore):
20944        (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
20945        (WebCore::CCLayerTreeHostImpl::setPageScaleDelta):
20946        (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
20947        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
20948        (WebCore::CCLayerTreeHostImpl::scrollBegin):
20949        (WebCore::CCLayerTreeHostImpl::scrollBy):
20950        (WebCore::CCLayerTreeHostImpl::scrollEnd):
20951        (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
20952        (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
20953        (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
20954        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
20955        (WebCore::CCLayerTreeHostImpl::animatePageScale):
20956        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
20957        (WebCore::CCLayerTreeHostImpl::releaseRootLayer):
20958        (WebCore::CCLayerTreeHostImpl::scrollLayer):
20959        (CCLayerTreeHostImpl):
20960
209612012-05-04  Ojan Vafai  <ojan@chromium.org>
20962
20963        Remove file that was deleted in http://trac.webkit.org/changeset/116085/.
20964        For some reason, this was breaking the chromium build (probably a gyp bug
20965        since chromium shouldn't be pulling in this file).
20966
20967        * WebCore.gypi:
20968
209692012-05-04  Tony Chang  <tony@chromium.org>
20970
20971        fix bit packing in FillLayer on Windows
20972        https://bugs.webkit.org/show_bug.cgi?id=85636
20973
20974        Reviewed by Ryosuke Niwa.
20975
20976        Use unsigned for all bit packed types. I manually verified that
20977        the current uses of these member variables always assign true or false.
20978
20979        No new tests, adding a compile assert to verify bit packing.
20980
20981        * rendering/style/FillLayer.cpp:
20982        (SameSizeAsFillLayer): Added compile assert.
20983        (WebCore):
20984        (WebCore::FillLayer::FillLayer): Reorder m_sizeLength so bit packed fields are adjacent.
20985        (WebCore::FillLayer::operator=): Ditto.
20986        * rendering/style/FillLayer.h:
20987        (FillLayer): Convert bools to unsigned to match other bit packed fields.
20988
209892012-05-04  Tommy Widenflycht  <tommyw@google.com>
20990
20991        MediaStream API: Make PeerConnection00's API fully compliant with the draft
20992        https://bugs.webkit.org/show_bug.cgi?id=85491
20993
20994        Reviewed by Adam Barth.
20995
20996        Mainly making the relevant API's use objects (aka Dictionaries) instead of the temporary strings,
20997        but also making a few API's exception aware and changing the name of a flag.
20998
20999        Test: fast/mediastream/peerconnection-iceoptions.html
21000
21001        * Modules/mediastream/PeerConnection00.cpp:
21002        (WebCore::PeerConnection00::createMediaHints):
21003        (WebCore::PeerConnection00::createOffer):
21004        (WebCore):
21005        (WebCore::PeerConnection00::createAnswer):
21006        (WebCore::PeerConnection00::createIceOptions):
21007        (WebCore::PeerConnection00::createDefaultIceOptions):
21008        (WebCore::PeerConnection00::startIce):
21009        (WebCore::PeerConnection00::addStream):
21010        (WebCore::PeerConnection00::changeReadyState):
21011        * Modules/mediastream/PeerConnection00.h:
21012        (WebCore):
21013        (PeerConnection00):
21014        * Modules/mediastream/PeerConnection00.idl:
21015        * platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp:
21016        (WebCore::PeerConnection00HandlerInternal::startIce):
21017
210182012-05-04  David Tseng  <dtseng@google.com>
21019
21020        Chromium should include MenuListPopups' and MenuListOptions' within the ax tree.
21021        https://bugs.webkit.org/show_bug.cgi?id=85541
21022
21023        Reviewed by Chris Fleizach.
21024
21025        Covered by existing tests. 
21026        LayoutTests/accessibility/menu-list-sends-change-notification.html
21027
21028        * accessibility/AccessibilityMockObject.h:
21029        (WebCore::AccessibilityMockObject::accessibilityIsIgnored):
21030        * accessibility/chromium/AccessibilityObjectChromium.cpp:
21031        (WebCore::AccessibilityObject::accessibilityPlatformIncludesObject):
21032
210332012-05-04  Levi Weintraub <leviw@chromium.org>
21034
21035        Unreviewed. Fixing ChangeLog conflict markers after 116009.
21036
210372012-05-04  Dan Winship  <danw@gnome.org>
21038
21039        [GTK] ASSERTION FAILED: shouldLoadAsEmptyDocument(r.url()) ||
21040        !defersLoading() in MainResourceLoader.cpp:382
21041
21042        Remove a soup_session_pause_message() call that got left behind,
21043        update the defersLoading stuff to handle this case.
21044
21045        https://bugs.webkit.org/show_bug.cgi?id=85159
21046
21047        Reviewed by Martin Robinson.
21048
21049        No new tests. Now passes loader/load-defer-resume-crash.html under
21050        debug build.
21051
21052        * platform/network/soup/ResourceHandleSoup.cpp:
21053        (WebCore::sendRequestCallback):
21054        (WebCore::ResourceHandle::platformSetDefersLoading):
21055
210562012-05-03  Martin Robinson  <mrobinson@igalia.com>
21057
21058        [GTK] Rework IME handling to fix bugs and prepare for WebKit2
21059        https://bugs.webkit.org/show_bug.cgi?id=84556
21060
21061        Reviewed by Gustavo Noronha Silva.
21062
21063        No new tests. This change is already covered by a suite of keyboard
21064        handling unit tests in WebKitGTK+. There are some changes in behavior,
21065        but they are difficult to test without mocking out an entire GtkIMContext.
21066
21067        Add a struct, CompositionResults, which is used by PlatformKeyboardEvent
21068        to package composition information with a keyboard event. Also add some logic
21069        to PlatformKeyboardEvent to give the right information when it has composition
21070        results.
21071
21072        * GNUmakefile.list.am: Added new sources to the list.
21073        * platform/PlatformKeyboardEvent.h:  Added a new CompositionResults member,
21074        getter, and argument to the constructor.
21075        * platform/gtk/CompositionResults.h: Added.
21076        * platform/gtk/GtkInputMethodFilter.cpp: Added.
21077        * platform/gtk/GtkInputMethodFilter.h: Added.
21078        * platform/gtk/PlatformKeyboardEventGtk.cpp:
21079        (WebCore::PlatformKeyboardEvent::windowsKeyCodeForGdkKeyCode): When
21080        the key value is void return the VK_PROCESS keycode, which is the keycode
21081        that web content expects with keystrokes that trigger composition events.
21082        (WebCore::eventTypeForGdkKeyEvent): Abstract out this helper.
21083        (WebCore::modifiersForGdkKeyEvent): Abstract out this helper.
21084        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent): When a PlatformKeyEvent
21085        has composition results, use VK_PROCESS as the keycode for this event.
21086        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent): When this event is
21087        transformed into a Char event, the PlatformKeyboardEvent used for DOM keypress
21088        events, and it has composition results clear the text members. This forces the
21089        EventHandler code to drop the keypress event. Platform events that change the
21090        composition states do not have corresponding keypress DOM events (only keydown
21091        and keyup events), so this is necessary to ensure web compatibility.
21092
210932012-05-04  Jochen Eisinger  <jochen@chromium.org>
21094
21095        Correctly update the outgoing referrer when navigating back from an history item created by pushState/replaceState
21096        https://bugs.webkit.org/show_bug.cgi?id=85374
21097
21098        Reviewed by Nate Chapin.
21099
21100        Test: http/tests/history/history-navigations-set-referrer.html
21101
21102        * loader/FrameLoader.cpp:
21103        (WebCore::FrameLoader::loadInSameDocument):
21104
211052012-05-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
21106
21107        [Qt] Clean up and split features.prf into a static list of defaults
21108
21109        The static list of feature defaults is used as a fallback for any
21110        feature that's not dynamically detected or overriden on the command
21111        line (though build-webkit or passing DEFINES+= to qmake).
21112
21113        The static list is complete, which allows for auto-generation based
21114        on Features.py (see bug https://bugs.webkit.org/show_bug.cgi?id=85456)
21115
21116        https://bugs.webkit.org/show_bug.cgi?id=85611
21117
21118        Reviewed by Simon Hausmann.
21119
21120        * Target.pri:
21121
211222012-05-04  Sheriff Bot  <webkit.review.bot@gmail.com>
21123
21124        Unreviewed, rolling out r116085, r116091, and r116095.
21125        http://trac.webkit.org/changeset/116085
21126        http://trac.webkit.org/changeset/116091
21127        http://trac.webkit.org/changeset/116095
21128        https://bugs.webkit.org/show_bug.cgi?id=85628
21129
21130        We are not ready with dependencies on all platform yet (mac) +
21131        problems with debug builds. (Requested by Zoltan on #webkit).
21132
21133        * Target.pri:
21134        * WebCore.pri:
21135        * platform/MIMETypeRegistry.cpp:
21136        (WebCore::initializeSupportedImageMIMETypes):
21137        (WebCore::initializeSupportedImageMIMETypesForEncoding):
21138        * platform/graphics/ImageSource.cpp:
21139        * platform/graphics/ImageSource.h:
21140        (WebCore):
21141        * platform/graphics/qt/ImageDecoderQt.cpp:
21142        (WebCore::ImageDecoder::create):
21143        (WebCore):
21144        (WebCore::ImageDecoderQt::filenameExtension):
21145        (WebCore::ImageDecoderQt::internalHandleCurrentImage):
21146        (WebCore::ImageDecoderQt::clearPointers):
21147        * platform/image-decoders/ImageDecoder.cpp:
21148        (WebCore::ImageDecoder::create):
21149        * platform/image-decoders/ImageDecoder.h:
21150        (WebCore::ImageFrame::getAddr):
21151        (ImageFrame):
21152        * platform/image-decoders/qt/ImageFrameQt.cpp: Added.
21153        (WebCore):
21154        (WebCore::ImageFrame::ImageFrame):
21155        (WebCore::ImageFrame::operator=):
21156        (WebCore::ImageFrame::clearPixelData):
21157        (WebCore::ImageFrame::zeroFillPixelData):
21158        (WebCore::ImageFrame::copyBitmapData):
21159        (WebCore::ImageFrame::setSize):
21160        (WebCore::ImageFrame::asNewNativeImage):
21161        (WebCore::ImageFrame::hasAlpha):
21162        (WebCore::ImageFrame::setHasAlpha):
21163        (WebCore::ImageFrame::setColorProfile):
21164        (WebCore::ImageFrame::setStatus):
21165        (WebCore::ImageFrame::setPixmap):
21166        (WebCore::ImageFrame::width):
21167        (WebCore::ImageFrame::height):
21168
211692012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>
21170
21171        Web Inspector: eliminate temporaryProfile property from ProfilesPanel.
21172        https://bugs.webkit.org/show_bug.cgi?id=85623
21173
21174        We can run different profilers at the same time therefore we have to keep temorary profile per profiler type.
21175
21176        Reviewed by Yury Semikhatsky.
21177
21178        * inspector/front-end/CSSSelectorProfileView.js:
21179        (WebInspector.CSSSelectorProfileType.prototype.createView):
21180        (WebInspector.CSSSelectorProfileType.prototype.createTemporaryProfile):
21181        (WebInspector.CSSSelectorProfileType.prototype.createProfile):
21182        * inspector/front-end/HeapSnapshotView.js:
21183        (WebInspector.HeapSnapshotProfileType.prototype.createView):
21184        (WebInspector.HeapSnapshotProfileType.prototype.createTemporaryProfile):
21185        (WebInspector.HeapSnapshotProfileType.prototype.createProfile):
21186        * inspector/front-end/ProfileView.js:
21187        (WebInspector.CPUProfileType.prototype.startRecordingProfile):
21188        (WebInspector.CPUProfileType.prototype.createView):
21189        (WebInspector.CPUProfileType.prototype.createTemporaryProfile):
21190        (WebInspector.CPUProfileType.prototype.createProfile):
21191        * inspector/front-end/ProfilesPanel.js:
21192        (WebInspector.ProfileType.prototype.createSidebarTreeElementForProfile):
21193        (WebInspector.ProfileType.prototype.createTemporaryProfile):
21194        (WebInspector.ProfileType.prototype.createProfile):
21195        (WebInspector.ProfileHeader):
21196        (WebInspector.HeapProfileHeader):
21197        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
21198        (WebInspector.ProfilesPanel.prototype.findTemporaryProfile):
21199        (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
21200        (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback.var):
21201        (WebInspector.ProfilesPanel.prototype._populateProfiles.populateCallback):
21202        (WebInspector.ProfilesPanel.prototype._populateProfiles):
21203        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
21204        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
21205        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
21206        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
21207
212082012-05-04  Ilya Tikhonovsky  <loislo@chromium.org>
21209
21210        Web Inspector: [chromium] ScriptGCEvent should not be static.
21211        https://bugs.webkit.org/show_bug.cgi?id=80788
21212
21213        The static members of ScriptGCEvent were moved into per isolate data structure.
21214        Drive by fix: Sometimes the used heap size after a GC is slightly more than it was before.
21215
21216        Reviewed by Yury Semikhatsky.
21217
21218        * bindings/v8/ScriptGCEvent.cpp:
21219        (WebCore::ScriptGCEvent::gcPrologueCallback):
21220        (WebCore::ScriptGCEvent::gcEpilogueCallback):
21221        * bindings/v8/V8Binding.h:
21222        (WebCore::GCEventData::GCEventData):
21223        (WebCore::GCEventData::clear):
21224        (GCEventData):
21225        (WebCore):
21226        (WebCore::V8BindingPerIsolateData::gcEventData):
21227        (V8BindingPerIsolateData):
21228
212292012-05-04  Kent Hansen <kent.hansen@nokia.com>
21230
21231        [Qt] Update Qt bridge after changes to QMetaMethod
21232        https://bugs.webkit.org/show_bug.cgi?id=85478
21233
21234        Reviewed by Tor Arne Vestbø.
21235
21236        QMetaMethod::signature() has been renamed to methodSignature() and
21237        returns a QByteArray.
21238
21239        The new function QMetaMethod::name() gives direct access to a
21240        method's name. returnType(), parameterCount(), and parameterType()
21241        give direct access to type information.
21242
21243        Ported the custom QtConnectionObject meta-object to revision 7;
21244        revision 6 and below aren't supported (and don't compile) with Qt5.
21245
21246        * Target.pri:
21247        * bridge/qt/qt_class.cpp:
21248        (JSC::Bindings::QtClass::fallbackObject):
21249        * bridge/qt/qt_instance.cpp:
21250        (JSC::Bindings::QtInstance::getPropertyNames):
21251        * bridge/qt/qt_runtime.cpp:
21252        (JSC::Bindings::findMethodIndex):
21253        (Bindings):
21254        (qt_meta_stringdata_QtConnectionObject_t):
21255        (JSC::Bindings::QtConnectionObject::qt_static_metacall):
21256        (JSC::Bindings::QtConnectionObject::qt_metacast):
21257        (JSC::Bindings::QtConnectionObject::qt_metacall):
21258        (JSC::Bindings::QtConnectionObject::execute):
21259        * bridge/qt/qt_runtime.h:
21260        (QtConnectionObject):
21261        * bridge/qt/qt_runtime_qt4.cpp: Copied from Source/WebCore/bridge/qt/qt_runtime.cpp.
21262        (Bindings):
21263        (QWKNoDebug):
21264        (JSC::Bindings::QWKNoDebug::QWKNoDebug):
21265        (JSC::Bindings::QWKNoDebug::~QWKNoDebug):
21266        (JSC::Bindings::QWKNoDebug::operator<<):
21267        (JSC::Bindings::operator<<):
21268        (RuntimeConversion):
21269        (JSC::Bindings::registerCustomType):
21270        (JSC::Bindings::isJSUint8ClampedArray):
21271        (JSC::Bindings::valueRealType):
21272        (JSC::Bindings::convertValueToQVariantMap):
21273        (JSC::Bindings::convertValueToQVariant):
21274        (JSC::Bindings::convertQVariantToValue):
21275        (JSC::Bindings::QtRuntimeMethod::QtRuntimeMethod):
21276        (JSC::Bindings::QtRuntimeMethod::finishCreation):
21277        (JSC::Bindings::QtRuntimeMethod::~QtRuntimeMethod):
21278        (JSC::Bindings::QtRuntimeMethod::destroy):
21279        (JSC::Bindings::QtRuntimeMethodData::~QtRuntimeMethodData):
21280        (JSC::Bindings::QtRuntimeMethodData::finalize):
21281        (JSC::Bindings::QtRuntimeMetaMethodData::~QtRuntimeMetaMethodData):
21282        (JSC::Bindings::QtRuntimeConnectionMethodData::~QtRuntimeConnectionMethodData):
21283        (QtMethodMatchType):
21284        (JSC::Bindings::QtMethodMatchType::QtMethodMatchType):
21285        (JSC::Bindings::QtMethodMatchType::kind):
21286        (JSC::Bindings::QtMethodMatchType::isValid):
21287        (JSC::Bindings::QtMethodMatchType::isVariant):
21288        (JSC::Bindings::QtMethodMatchType::isMetaType):
21289        (JSC::Bindings::QtMethodMatchType::isUnresolved):
21290        (JSC::Bindings::QtMethodMatchType::isMetaEnum):
21291        (JSC::Bindings::QtMethodMatchType::enumeratorIndex):
21292        (JSC::Bindings::QtMethodMatchType::variant):
21293        (JSC::Bindings::QtMethodMatchType::metaType):
21294        (JSC::Bindings::QtMethodMatchType::metaEnum):
21295        (JSC::Bindings::QtMethodMatchType::unresolved):
21296        (JSC::Bindings::QtMethodMatchType::typeId):
21297        (JSC::Bindings::QtMethodMatchType::name):
21298        (QtMethodMatchData):
21299        (JSC::Bindings::QtMethodMatchData::QtMethodMatchData):
21300        (JSC::Bindings::QtMethodMatchData::isValid):
21301        (JSC::Bindings::QtMethodMatchData::firstUnresolvedIndex):
21302        (JSC::Bindings::indexOfMetaEnum):
21303        (JSC::Bindings::findMethodIndex):
21304        (JSC::Bindings::findSignalIndex):
21305        (JSC::Bindings::QtRuntimeMetaMethod::QtRuntimeMetaMethod):
21306        (JSC::Bindings::QtRuntimeMetaMethod::finishCreation):
21307        (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
21308        (JSC::Bindings::QtRuntimeMetaMethod::call):
21309        (JSC::Bindings::QtRuntimeMetaMethod::getCallData):
21310        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
21311        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
21312        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
21313        (JSC::Bindings::QtRuntimeMetaMethod::lengthGetter):
21314        (JSC::Bindings::QtRuntimeMetaMethod::connectGetter):
21315        (JSC::Bindings::QtRuntimeMetaMethod::disconnectGetter):
21316        (JSC::Bindings::QtRuntimeConnectionMethod::QtRuntimeConnectionMethod):
21317        (JSC::Bindings::QtRuntimeConnectionMethod::finishCreation):
21318        (JSC::Bindings::QtRuntimeConnectionMethod::call):
21319        (JSC::Bindings::QtRuntimeConnectionMethod::getCallData):
21320        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
21321        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
21322        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
21323        (JSC::Bindings::QtRuntimeConnectionMethod::lengthGetter):
21324        (JSC::Bindings::QtConnectionObject::QtConnectionObject):
21325        (JSC::Bindings::QtConnectionObject::~QtConnectionObject):
21326        (JSC::Bindings::QtConnectionObject::metaObject):
21327        (JSC::Bindings::QtConnectionObject::qt_metacast):
21328        (JSC::Bindings::QtConnectionObject::qt_metacall):
21329        (JSC::Bindings::isJavaScriptFunction):
21330        (JSC::Bindings::QtConnectionObject::execute):
21331        (JSC::Bindings::QtConnectionObject::match):
21332        (JSC::Bindings::QtConnectionObject::createWithInternalJSC):
21333        (JSC::Bindings::::QtArray):
21334        (JSC::Bindings::::~QtArray):
21335        (JSC::Bindings::::rootObject):
21336        (JSC::Bindings::::setValueAt):
21337        (JSC::Bindings::::valueAt):
21338
213392012-05-04  Yury Semikhatsky  <yurys@chromium.org>
21340
21341        Web Inspector: use single method for retrieving evaluation context in the runtime agent
21342        https://bugs.webkit.org/show_bug.cgi?id=85621
21343
21344        Reviewed by Pavel Feldman.
21345
21346        Merged two script state retrieval methods into one. Moved Page specific logic
21347        into PageRuntimeAgent.
21348
21349        * inspector/InspectorRuntimeAgent.cpp:
21350        (WebCore::InspectorRuntimeAgent::evaluate):
21351        * inspector/InspectorRuntimeAgent.h:
21352        (InspectorRuntimeAgent):
21353        * inspector/PageRuntimeAgent.cpp:
21354        (WebCore::PageRuntimeAgent::scriptStateForEval):
21355        * inspector/PageRuntimeAgent.h:
21356        (PageRuntimeAgent):
21357        * inspector/WorkerRuntimeAgent.cpp:
21358        (WebCore::WorkerRuntimeAgent::scriptStateForEval):
21359        * inspector/WorkerRuntimeAgent.h:
21360        (WorkerRuntimeAgent):
21361
213622012-05-04  Jochen Eisinger  <jochen@chromium.org>
21363
21364        Unreviewed, rolling out r115549.
21365        http://trac.webkit.org/changeset/115549
21366        https://bugs.webkit.org/show_bug.cgi?id=83894
21367
21368        The newly added CRASH() statements are triggered too often
21369
21370        * loader/FrameLoader.cpp:
21371        (WebCore::FrameLoader::init):
21372        (WebCore::FrameLoader::setupForReplace):
21373        (WebCore::FrameLoader::stopAllLoaders):
21374        (WebCore::FrameLoader::clearProvisionalLoad):
21375        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
21376        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
21377
213782012-05-04  Zoltan Horvath  <zoltan@webkit.org>
21379
21380        [Qt] Error message fix after r116091
21381        https://bugs.webkit.org/show_bug.cgi?id=85614
21382
21383        Reviewed by Alexis Menard.
21384
21385        No new tests : error message fix.
21386
21387        * WebCore.pri:
21388
213892012-05-04  Alexis Menard  <alexis.menard@openbossa.org>
21390
21391        [Qt] Build fix when using libpng version > 1.2.
21392        https://bugs.webkit.org/show_bug.cgi?id=85614
21393
21394        Reviewed by Tor Arne Vestbø.
21395
21396        Don't enforce the version of libpng when passing the option to the linker.
21397
21398        No new tests : build fix.
21399
21400        * WebCore.pri:
21401
214022012-05-04  Simon Hausmann  <simon.hausmann@nokia.com>
21403
21404        [Qt] Images are scaled badly in WebKit2
21405        https://bugs.webkit.org/show_bug.cgi?id=85610
21406
21407        Reviewed by Jocelyn Turcotte.
21408
21409        Enable smooth pixmap transforms when rendering into the GraphicsSurface image.
21410        This class is only used in WK2.
21411
21412        * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp:
21413        (WebCore::GraphicsSurface::platformBeginPaint):
21414
214152012-05-04  Zoltan Horvath  <zoltan@webkit.org>
21416
21417        [Qt] Remove unnecessary executeable bits after r116085
21418
21419        No new tests.
21420
21421        * Target.pri:
21422        * WebCore.pri:
21423        * platform/graphics/ImageSource.cpp:
21424        * platform/graphics/ImageSource.h:
21425        * platform/graphics/qt/ImageDecoderQt.cpp:
21426        * platform/graphics/qt/ImageDecoderQt.h:
21427        * platform/image-decoders/ImageDecoder.cpp:
21428        * platform/image-decoders/ImageDecoder.h:
21429
214302012-05-04  Zoltan Horvath  <zoltan@webkit.org>
21431
21432        [Qt] Set WebCore imagedecoders as default and add fallback to QImageDecoder
21433        https://bugs.webkit.org/show_bug.cgi?id=80400
21434
21435        This change modifies the default ImageDecoder for Qt-port from QImageDecoder to WebCore ImageDecoder.
21436        The new behavior is to use QImageDecoder only if WebCoreImageDecoder doesn't support the requested
21437        image type.
21438        The WTF_USE_QT_IMAGE_DECODER macro has been removed, since it is no longer needed.
21439
21440        This change adds build depedency for libpng-dev and libjpeg-dev packages, becuase PNG and JPEG imagedecoders
21441        need not only these libraries, but their headers also. Qmake-config tests for these libraries were
21442        introduced in r110045.
21443
21444        Reviewed by Simon Hausmann.
21445
21446        No new tests needed.
21447
21448        * Target.pri: Move WebCore ImageDecoder files out of guards. Remove ImageFrameQt.cpp from sources.
21449        * WebCore.pri: Move WebCore ImageDecoder include paths out of guards.
21450        * platform/MIMETypeRegistry.cpp:
21451        (WebCore::initializeSupportedImageMIMETypes): Add WebCore supported and Qt supported MIME types.
21452        (WebCore::initializeSupportedImageMIMETypesForEncoding): Use Qt supported MIME types.
21453        * platform/graphics/ImageSource.cpp: Remove unnecessary includes.
21454        * platform/graphics/ImageSource.h: Remove unnecessary typedefs.
21455        (WebCore):
21456        * platform/graphics/qt/ImageDecoderQt.cpp:
21457        (WebCore::ImageDecoderQt::filenameExtension): Remove unnecessary semicolon.
21458        (WebCore::ImageDecoderQt::internalHandleCurrentImage): Use QImage and ImageFrame instead of QPixmap.
21459        (WebCore):
21460        (WebCore::ImageFrame::asNewNativeImage): Moved here from removed ImageFrameQt.cpp.
21461        * platform/image-decoders/ImageDecoder.cpp: Reorganize the includes of the header.
21462        (WebCore::ImageDecoder::create): Add platform macro guarded fallback case for QImageDecoder.
21463        * platform/image-decoders/ImageDecoder.h: Remove Qt-specific codes.
21464        (WebCore::ImageFrame::getAddr): Remove Qt-specific case, since it is no longer needed.
21465        (ImageFrame):
21466        * platform/image-decoders/qt/ImageFrameQt.cpp: Removed. Dead code, other code has been moved to
21467        ImageDecoderQt.cpp.
21468
214692012-05-03  Ilya Tikhonovsky  <loislo@chromium.org>
21470
21471        Web Inspector: createRawLocationByURL is too slow if a big number of evals happen.
21472        https://bugs.webkit.org/show_bug.cgi?id=85477
21473
21474        It iterates through all the _scripts even they have no url.
21475        We can keep a separate map of scripts with url.
21476
21477        Reviewed by Yury Semikhatsky.
21478
21479        * inspector/front-end/DebuggerModel.js:
21480        (WebInspector.DebuggerModel):
21481        (WebInspector.DebuggerModel.prototype._globalObjectCleared):
21482        (WebInspector.DebuggerModel.prototype._resetScriptsMap):
21483        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
21484        (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
21485
214862012-05-03  David Barr  <davidbarr@chromium.org>
21487
21488        Antialias single-edge solid borders
21489        https://bugs.webkit.org/show_bug.cgi?id=85031
21490
21491        Reviewed by Simon Fraser.
21492
21493        Antialiasing is avoided for adjacent edges due to artifacts at the seam.
21494        There are no such artifacts for single-edge borders so enable antialiasing.
21495
21496        Test: fast/css/border-solid-single-edge-antialias.html
21497
21498        * rendering/RenderBoxModelObject.cpp:
21499        (WebCore::RenderBoxModelObject::paintBorder):
21500
215012012-05-03  Adam Barth  <abarth@webkit.org>
21502
21503        CSP: Eval isn't blocked in about:blank subframes
21504        https://bugs.webkit.org/show_bug.cgi?id=85553
21505
21506        Reviewed by Eric Seidel.
21507
21508        ContentSecurityPolicy has a back pointer to ScriptExecutionContext.
21509        That means we shouldn't share a single ContentSecurityPolicy object
21510        between multiple ScriptExecutionContexts.  This patch copies the state
21511        from one ScriptExecutionContext to another rather than sharing the
21512        ContentSecurityPolicy object itself.
21513
21514        This resulted in a subtle but w.r.t. blocking eval.  Because we block
21515        eval by setting a bit in the JavaScript engine when enforcing the
21516        policy, that bit wasn't copied along with the rest of the state when we
21517        were sharing the ContentSecurityPolicy object.  Now that we use the
21518        more robust ContentSecurityPolicy::copyStateFrom function, we don't
21519        have that bug.
21520
21521        Test: http/tests/security/contentSecurityPolicy/eval-blocked-in-about-blank-iframe.html
21522
21523        * dom/Document.cpp:
21524        (WebCore::Document::initSecurityContext):
21525        (WebCore):
21526        (WebCore::Document::initContentSecurityPolicy):
21527        * dom/Document.h:
21528        (Document):
21529        * dom/SecurityContext.cpp:
21530        (WebCore::SecurityContext::setContentSecurityPolicy):
21531        * dom/SecurityContext.h:
21532        (SecurityContext):
21533        * loader/FrameLoader.cpp:
21534        (WebCore::FrameLoader::didBeginDocument):
21535        * page/ContentSecurityPolicy.h:
21536        (WebCore::ContentSecurityPolicy::create):
21537
215382012-05-03  Abhishek Arya  <inferno@chromium.org>
21539
21540        Regression(r113769): Crash in AudioNodeOutput::disconnectAllParams.
21541        https://bugs.webkit.org/show_bug.cgi?id=85196
21542
21543        Reviewed by Chris Rogers.
21544
21545        RefPtr the AudioParam hashset in AudioNodeOutput to prevent accessing
21546        destroyed entries.
21547
21548        No new tests. Unable to reproduce it in DRT.
21549
21550        * Modules/webaudio/AudioNodeOutput.cpp:
21551        (WebCore::AudioNodeOutput::disconnectAllParams):
21552        * Modules/webaudio/AudioNodeOutput.h:
21553        (AudioNodeOutput):
21554
215552012-05-03  Noel Gordon  <noel.gordon@gmail.com>
21556
21557        PNGImageDecoder: Clean up rowAvailable() some more
21558        https://bugs.webkit.org/show_bug.cgi?id=85464
21559
21560        Reviewed by Eric Seidel.
21561
21562        No new tests. Covered by existing tests: fast/images/png-extra-row-crash.html in
21563        particular.
21564
21565        * platform/image-decoders/png/PNGImageDecoder.cpp:
21566        (WebCore::PNGImageDecoder::rowAvailable): Use colorChannels consistently. Split
21567        the useful libpng comments in two, then place the early-out code and conditions
21568        inbetween. The png variable is only used in one place so move it there.
21569
215702012-05-03  Ojan Vafai  <ojan@chromium.org>
21571
21572        Histogram total allocated bytes in the arena in addition to the render tree size
21573        https://bugs.webkit.org/show_bug.cgi?id=85537
21574
21575        Reviewed by Eric Seidel.
21576
21577        We only free bytes allocated to a RenderArena when destroying the Document.
21578        Histogram both the render tree size and the total bytes allocated. This
21579        gives a better sense of the overhead of RenderArena as well as giving a more
21580        accurate number for the amount of actual memory used by the render tree.
21581
21582        No new tests. This is not webfacing, so this can't be tested without adding
21583        API to layout test controller, which doesn't seem worth it for this code.
21584
21585        * page/Page.cpp:
21586        (WebCore::Page::renderTreeSize):
21587        (WebCore::Page::setVisibilityState):
21588        * page/Page.h:
21589        (Page):
21590        * platform/Arena.cpp:
21591        (WebCore::ArenaAllocate):
21592        * platform/Arena.h:
21593        (WebCore):
21594        * rendering/RenderArena.cpp:
21595        (WebCore::RenderArena::allocate):
21596        * rendering/RenderArena.h:
21597        (WebCore::RenderArena::totalRenderArenaAllocatedBytes):
21598        (RenderArena):
21599
216002012-05-03  Mary Wu  <mary.wu@torchmobile.com.cn>
21601
21602        [BlackBerry] Add missed member in CrossThreadResourceRequestData
21603        https://bugs.webkit.org/show_bug.cgi?id=85448
21604
21605        Reviewed by Antonio Gomes.
21606
21607        * platform/network/blackberry/ResourceRequest.h:
21608        (CrossThreadResourceRequestData):
21609        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
21610        (WebCore::ResourceRequest::doPlatformCopyData):
21611        (WebCore::ResourceRequest::doPlatformAdopt):
21612
216132012-05-03  Adam Barth  <abarth@webkit.org>
21614
21615        CSP shouldn't block about:blank for iframes
21616        https://bugs.webkit.org/show_bug.cgi?id=85233
21617
21618        Reviewed by Eric Seidel.
21619
21620        As discussed at the W3C WebAppSec face-to-face meeting, there's no
21621        point in blocking about:blank iframes or objects because blocking a
21622        frame or object just results in displaying about:blank anyway.  This
21623        patch just removes the spurious console message and violation report.
21624
21625        Test: http/tests/security/contentSecurityPolicy/frame-src-about-blank-allowed-by-default.html
21626
21627        * page/ContentSecurityPolicy.cpp:
21628        (WebCore::ContentSecurityPolicy::allowObjectFromSource):
21629        (WebCore::ContentSecurityPolicy::allowChildFrameFromSource):
21630
216312012-05-03  Sheriff Bot  <webkit.review.bot@gmail.com>
21632
21633        Unreviewed, rolling out r116040.
21634        http://trac.webkit.org/changeset/116040
21635        https://bugs.webkit.org/show_bug.cgi?id=85559
21636
21637        Broke a few IndexedDB browsertests (Requested by zhenyao on
21638        #webkit).
21639
21640        * Modules/indexeddb/IDBCursor.cpp:
21641        (WebCore::IDBCursor::direction):
21642        * Modules/indexeddb/IDBCursor.h:
21643        (IDBCursor):
21644        * Modules/indexeddb/IDBCursor.idl:
21645        * Modules/indexeddb/IDBDatabase.cpp:
21646        (WebCore::IDBDatabase::transaction):
21647        (WebCore):
21648        * Modules/indexeddb/IDBDatabase.h:
21649        * Modules/indexeddb/IDBDatabase.idl:
21650        * Modules/indexeddb/IDBIndex.cpp:
21651        (WebCore::IDBIndex::openCursor):
21652        (WebCore::IDBIndex::openKeyCursor):
21653        * Modules/indexeddb/IDBIndex.h:
21654        (WebCore::IDBIndex::openCursor):
21655        (WebCore::IDBIndex::openKeyCursor):
21656        * Modules/indexeddb/IDBIndex.idl:
21657        * Modules/indexeddb/IDBObjectStore.cpp:
21658        (WebCore::IDBObjectStore::openCursor):
21659        * Modules/indexeddb/IDBObjectStore.h:
21660        (WebCore::IDBObjectStore::openCursor):
21661        (IDBObjectStore):
21662        * Modules/indexeddb/IDBObjectStore.idl:
21663        * Modules/indexeddb/IDBRequest.cpp:
21664        (WebCore::IDBRequest::IDBRequest):
21665        (WebCore::IDBRequest::readyState):
21666        (WebCore::IDBRequest::markEarlyDeath):
21667        (WebCore::IDBRequest::resetReadyState):
21668        (WebCore::IDBRequest::abort):
21669        (WebCore::IDBRequest::finishCursor):
21670        (WebCore::IDBRequest::onSuccess):
21671        (WebCore::IDBRequest::stop):
21672        * Modules/indexeddb/IDBRequest.h:
21673        * Modules/indexeddb/IDBRequest.idl:
21674        * Modules/indexeddb/IDBTransaction.cpp:
21675        (WebCore::IDBTransaction::mode):
21676        * Modules/indexeddb/IDBTransaction.h:
21677        (IDBTransaction):
21678        * Modules/indexeddb/IDBTransaction.idl:
21679
216802012-05-03  Raphael Kubo da Costa  <rakuco@webkit.org>
21681
21682        [CMake] Rewrite FindCairo.cmake.
21683        https://bugs.webkit.org/show_bug.cgi?id=84895
21684
21685        Reviewed by Daniel Bates.
21686
21687        The old approach relied on pkg-config for finding Cairo (which
21688        introduced a dependency on pkg-config that could be avoided), used
21689        the LibFindMacros code that we should probably remove in the
21690        future and did not use the FindPackageHandleStandardArguments
21691        module.
21692
21693        Change all that by rewriting the module.
21694        - Use the pkg-config output optionally instead of requiring it
21695        like LibFindMacros did.
21696        - Remove the implicit dependency on FreeType which often found it
21697        the wrong way via pkg-config and without considering
21698        CMAKE_PREFIX_PATH.
21699        - Retrieve the Cairo version by looking at cairo-version.h instead
21700        of relying on pkg-config. It requires some additional code for
21701        checking if the desired version has been found, but that will not
21702        be needed once we start depending on CMake 2.8.3 or later.
21703
21704        The only downside is that FPHSA sets <UPPERCASED_NAME>_FOUND
21705        instead of <Name>_FOUND, and to keep things consistent
21706        Cairo_LIBRARIES and Cairo_INCLUDE_DIRS have become CAIRO_LIBRARIES
21707        and CAIRO_INCLUDE_DIRS.
21708
21709        No new tests, build system change.
21710
21711        * PlatformEfl.cmake: Use CAIRO_FOO instead of Cairo_FOO.
21712
217132012-05-03  Anders Carlsson  <andersca@apple.com>
21714
21715        Focus ring only appears in top-left tile
21716        https://bugs.webkit.org/show_bug.cgi?id=85556
21717        <rdar://problem/11359656>
21718
21719        Reviewed by Simon Fraser.
21720
21721        It is sufficient to just apply the current CTM to the clip rect and set that as the focus ring clip rect.
21722
21723        * platform/graphics/mac/WebLayer.mm:
21724        (drawLayerContents):
21725
217262012-05-03  Alec Flett  <alecflett@chromium.org>
21727
21728        IndexedDB: Replace numeric constants with strings
21729        https://bugs.webkit.org/show_bug.cgi?id=84894
21730
21731        Reviewed by Tony Chang.
21732
21733        Test: storage/indexeddb/legacy-constants.html
21734
21735        Update IDBObjectStore.openCursor, IDBIndex.openCursor,
21736        IDBIndex.openKeyCursor, IDBDatabase.transaction,
21737        IDBCursor.direction, IDBTransaction.mode, and
21738        IDBRequest.readyState to meet the latest spec. All of these APIs
21739        now support string-based values in addition to the
21740        legacy/deprecated enum-based values.
21741
21742        * Modules/indexeddb/IDBCursor.cpp:
21743        (WebCore):
21744        (WebCore::IDBCursor::direction):
21745        (WebCore::IDBCursor::stringToDirection):
21746        (WebCore::IDBCursor::directionToString):
21747        * Modules/indexeddb/IDBCursor.h:
21748        (IDBCursor):
21749        * Modules/indexeddb/IDBCursor.idl:
21750        * Modules/indexeddb/IDBDatabase.cpp:
21751        (WebCore::IDBDatabase::transaction):
21752        (WebCore):
21753        * Modules/indexeddb/IDBDatabase.h:
21754        (IDBDatabase):
21755        * Modules/indexeddb/IDBDatabase.idl:
21756        * Modules/indexeddb/IDBIndex.cpp:
21757        (WebCore::IDBIndex::openCursor):
21758        (WebCore):
21759        (WebCore::IDBIndex::openKeyCursor):
21760        * Modules/indexeddb/IDBIndex.h:
21761        (WebCore::IDBIndex::openCursor):
21762        (IDBIndex):
21763        (WebCore::IDBIndex::openKeyCursor):
21764        * Modules/indexeddb/IDBIndex.idl:
21765        * Modules/indexeddb/IDBObjectStore.cpp:
21766        (WebCore::IDBObjectStore::openCursor):
21767        (WebCore):
21768        * Modules/indexeddb/IDBObjectStore.h:
21769        (WebCore::IDBObjectStore::openCursor):
21770        (IDBObjectStore):
21771        * Modules/indexeddb/IDBObjectStore.idl:
21772        * Modules/indexeddb/IDBRequest.cpp:
21773        (WebCore::IDBRequest::IDBRequest):
21774        (WebCore::IDBRequest::readyState):
21775        (WebCore::IDBRequest::markEarlyDeath):
21776        (WebCore::IDBRequest::resetReadyState):
21777        (WebCore::IDBRequest::abort):
21778        (WebCore::IDBRequest::finishCursor):
21779        (WebCore::IDBRequest::onSuccess):
21780        (WebCore::IDBRequest::stop):
21781        * Modules/indexeddb/IDBRequest.h:
21782        * Modules/indexeddb/IDBRequest.idl:
21783        * Modules/indexeddb/IDBTransaction.cpp:
21784        (WebCore):
21785        (WebCore::IDBTransaction::mode):
21786        (WebCore::IDBTransaction::stringToMode):
21787        (WebCore::IDBTransaction::modeToString):
21788        * Modules/indexeddb/IDBTransaction.h:
21789        (IDBTransaction):
21790        * Modules/indexeddb/IDBTransaction.idl:
21791
217922012-05-03  Sam Weinig  <sam@webkit.org>
21793
21794        Add an eventPhase NONE constant
21795        https://bugs.webkit.org/show_bug.cgi?id=85397
21796
21797        Reviewed by Anders Carlsson.
21798
21799        Updates existing tests.
21800
21801        * dom/Event.h:
21802        * dom/Event.idl:
21803        Add NONE constant.
21804
218052012-05-03  Tony Chang  <tony@chromium.org>
21806
21807        Height overflow when nesting multiple new Flexbox'es.
21808        https://bugs.webkit.org/show_bug.cgi?id=83572
21809
21810        Reviewed by Ojan Vafai.
21811
21812        Test: css3/flexbox/nested-stretch.html
21813
21814        * rendering/RenderFlexibleBox.cpp:
21815        (WebCore::RenderFlexibleBox::computeAvailableFreeSpace):
21816
218172012-05-03  Julien Chaffraix  <jchaffraix@webkit.org>
21818
21819        ASSERT(!m_zOrderListsDirty) is triggering in Safari
21820        https://bugs.webkit.org/show_bug.cgi?id=85512
21821
21822        Reviewed by Simon Fraser.
21823
21824        Unfortunately no test as I don't think the 2 cases are testable reliably.
21825
21826        A better fix would be to introduce some iterator that handle updating the
21827        lists for you. For now, just adding the missing updateLayerListsIfNeeded()
21828        calls.
21829
21830        * rendering/RenderLayerBacking.cpp:
21831        (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
21832        * rendering/RenderLayerCompositor.cpp:
21833        (WebCore::RenderLayerCompositor::layerHas3DContent):
21834
218352012-05-03  Philip Rogers  <pdr@google.com>
21836
21837        Fix numeric precision issue in SVG animations
21838        https://bugs.webkit.org/show_bug.cgi?id=85502
21839
21840        Reviewed by Dirk Schulze.
21841
21842        r93938 had a bug where floating point numbers where compared exactly,
21843        exposing a bug when floating point precision was not sufficient. This
21844        change compares against an epsilon value to get around these precision
21845        issues.
21846
21847        Test: svg/animations/animate-end-attribute-numeric-precision.html
21848
21849        * svg/animation/SVGSMILElement.cpp:
21850        (WebCore::SVGSMILElement::calculateAnimationPercentAndRepeat):
21851
218522012-05-03  Joshua Bell  <jsbell@chromium.org>
21853
21854        Fix coding style issues in IDBLevelDBCoding.cpp
21855        https://bugs.webkit.org/show_bug.cgi?id=85536
21856
21857        Reviewed by Tony Chang.
21858
21859        No tests - just code formatting changes.
21860
21861        * Modules/indexeddb/IDBLevelDBCoding.cpp:
21862        (WebCore::IDBLevelDBCoding::encodeIDBKey):
21863        (WebCore::IDBLevelDBCoding::decodeIDBKey):
21864        (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
21865        (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
21866
218672012-04-30  Filip Pizlo  <fpizlo@apple.com>
21868
21869        PageCache autorelease should not wait until 3 seconds and 42 pages
21870        https://bugs.webkit.org/show_bug.cgi?id=85254
21871        <rdar://problem/11349613>
21872
21873        Reviewed by Geoffrey Garen.
21874
21875        No new tests, since there is no change in behavior.
21876
21877        * history/PageCache.cpp:
21878        (WebCore):
21879        (WebCore::PageCache::PageCache):
21880        (WebCore::PageCache::releaseAutoreleasedPagesNowDueToTimer):
21881        * history/PageCache.h:
21882        (PageCache):
21883
218842012-05-03  Levi Weintraub  <leviw@chromium.org>
21885
21886        Unreviewed build fix for Mac WK2. Adding a mistakenly removed symbol back to WebCore.exp.in.
21887
21888        * WebCore.exp.in:
21889
218902012-05-03  Levi Weintraub  <leviw@chromium.org>
21891
21892        Unreviewed build fix for Qt after 116009. No changes in behavior.
21893
21894        * rendering/RenderTreeAsText.cpp:
21895        (WebCore::RenderTreeAsText::writeRenderObject):
21896
218972012-05-03  W. James MacLean  <wjmaclean@chromium.org>
21898
21899        [chromium] Revise touchpad fling curve to use exponential curve, to improve feel and small fling performance.
21900        https://bugs.webkit.org/show_bug.cgi?id=85530
21901
21902        Reviewed by Kenneth Russell.
21903
21904        Existing unit tests updated for new curve.
21905
21906        Modifies TouchpadFLingGestureCurve to use an exponential, rather than polynomial, curve.
21907        This change appears to improve the overall feel of touchpad fling, and substantially
21908        improves small-fling performance.
21909
21910        * platform/TouchpadFlingPlatformGestureCurve.cpp:
21911        (WebCore::TouchpadFlingPlatformGestureCurve::create):
21912        (WebCore):
21913        (WebCore::position):
21914        (WebCore::velocity):
21915        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
21916
219172012-04-23  Levi Weintraub  <leviw@chromium.org> and Emil A Eklund <eae@chromium.org>
21918
21919        [meta] Switch away from integers representing pixels for layout/event handling/rendering
21920        https://bugs.webkit.org/show_bug.cgi?id=60318
21921
21922        Reviewed by Eric Seidel.
21923
21924        Swapping the LayoutUnit backend to FractionalLayoutUnit from int.
21925        
21926        FractionalLayoutUnit is a new type that uses an integer to represent a fraction of a pixel.
21927        We're also adding a feature flag -- ENABLE_SUBPIXEL_LAYOUT -- that toggles this fraction
21928        between 1/1 and 1/60. Initially, all platforms will default to subpixel layout being off,
21929        so FractionalLayoutUnits will effectively continue to act as integers.
21930        
21931        With ENABLE_SUBPIXEL_LAYOUT turned on, FractionalLayoutUnits accumulate error from sub-pixel
21932        CSS values and applied zooming, and painting uses pixel-snapping to align these values
21933        to pixels. See http://trac.webkit.org/wiki/LayoutUnit for details.
21934
21935        In a number of previous patches, LayoutUnits were plumbed throughout the rendering tree
21936        to prepare for this change. This included a number of functions in LayoutTypes.h and
21937        the IntRect/Point/Size classes that were effectively no-ops while LayoutUnits were
21938        integers. Subsequent patches will remove unnecessary versions of these functions; see
21939        http://webkit.org/b/84616 for tracking these changes.
21940
21941        Tests: fast/sub-pixel/client-width-height-snapping.html
21942               fast/sub-pixel/layout-boxes-with-zoom.html
21943               fast/sub-pixel/size-of-box-with-zoom.html
21944
21945        * WebCore.exp.in: Updating function signatures that expose FractionalLayoutUnits.
21946        * WebCore.xcodeproj/project.pbxproj: Adding missing FractionalLayoutPoint.h header.
21947        * css/CSSComputedStyleDeclaration.cpp:
21948        (WebCore::zoomAdjustedPixelValue): Using adjustFloatForAbsoluteZoom instead of int
21949        to make use of extra precision before returning the pixel value.
21950        * css/CSSPrimitiveValue.cpp:
21951        (WebCore::CSSPrimitiveValue::computeLength): No longer rounds for imprecise conversion
21952        when sub-pixel layout is enabled.
21953        (WebCore::CSSPrimitiveValue::customCssText): Returning integer values for pixels.
21954        * dom/Element.cpp:
21955        (WebCore::adjustForLocalZoom): Using rounding instead of incrementing the value before
21956        adjusting to account for truncation when sub-pixel layout is enabled.
21957        * page/SpatialNavigation.cpp:
21958        (WebCore::distanceDataForNode): Using FractionalLayoutUnit::abs instead of std::abs.
21959        * platform/FractionalLayoutUnit.h: Adding some missing operators and a flag around the
21960        constant denominator to switch it between 1/1 and 1/60 depending on the feature flag.
21961        * platform/Length.h: Changing the default type for value to float, and adding intValue
21962        since this more closely matches usage in a sub-pixel layout world.
21963        * platform/win/PopupMenuWin.cpp:
21964        (WebCore::PopupMenuWin::paint): Using minimumIntValueForLength in this platform code
21965        instead of LayoutUnits.
21966        * rendering/InlineFlowBox.cpp:
21967        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
21968        * rendering/LayoutTypes.h: This file contains the actual switch for changing LayoutUnits
21969        to be FractionalLayoutUnits. Also updating stub methods with their proper implementations.
21970        * rendering/PaintInfo.h:
21971        (WebCore::PaintInfo::infiniteRect): Ensuring the infiniteRect doesn't overflow the
21972        FractionalLayoutUnit bounds.
21973        * rendering/RenderBlockLineLayout.cpp:
21974        (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine): Switch to
21975        FractionalLayoutUnit's abs function instead of std::abs.
21976        * rendering/RenderBoxModelObject.cpp:
21977        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Add rounding for
21978        setting the phase of the background geometry before applying modulo from the tile size.
21979        * rendering/RenderDeprecatedFlexibleBox.cpp:
21980        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): Stop applying flex when
21981        we have less than a pixel to distribute.
21982        * rendering/RenderLayer.cpp:
21983        (WebCore::RenderLayer::backgroundClipRect): Replace PaintInfo::infiniteRect with the
21984        LayoutRect equivalent.
21985        * rendering/RenderLineBoxList.cpp:
21986        (WebCore::RenderLineBoxList::rangeIntersectsRect): Using FractionalLayoutUnit::abs
21987        instead of std::abs.
21988        * rendering/RenderObject.cpp:
21989        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Ditto.
21990        * rendering/RenderObject.h:
21991        (WebCore): Removing unnecessary adjustForAbsoluteZoom function.
21992        (WebCore::RenderObject::outlineSize): Outlines remain ints.
21993        * rendering/RenderTableCell.cpp:
21994        (WebCore::RenderTableCell::styleOrColLogicalWidth): Build fix. Using floats because
21995        colWidthSum is a Length which uses floats.
21996        * rendering/RenderThemeChromiumSkia.cpp:
21997        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton): Explicit templatization
21998        for max.
21999        * rendering/RenderTreeAsText.cpp: Adding code to minimize test expectation churn. It
22000        may be worth outputting float values in test expectations, but this isn't done with
22001        the inline box tree yet, either.
22002        * rendering/RenderTreeAsText.h:
22003        (WebCore): Adding a FractionalLayoutPoint operator.
22004        * rendering/RenderWidget.cpp:
22005        (WebCore::RenderWidget::updateWidgetGeometry): Adding missing pixel snapping, and switching
22006        absoluteContentBox to an IntRect, as this is what boundingBox returns.
22007        * rendering/svg/SVGRenderTreeAsText.cpp:
22008        (WebCore::writePositionAndStyle): Adding an enclosingIntRect for consistency with old results.
22009
220102012-05-03  Levi Weintraub  <leviw@chromium.org> and Emil A Eklund <eae@chromium.org>
22011
22012        [meta] Switch away from integers representing pixels for layout/event handling/rendering
22013        https://bugs.webkit.org/show_bug.cgi?id=60318
22014
22015        Reviewed by Eric Seidel.
22016
22017        Swapping the LayoutUnit backend to FractionalLayoutUnit from int.
22018        
22019        FractionalLayoutUnit is a new type that uses an integer that can represent a fraction of a
22020        pixel. The ENABLE_SUBPIXEL_LAYOUT feature flags toggles this fraction between 1/1 and 1/60.
22021        Initially, all platforms will default to subpixel layout being off, so FractionalLayoutUnits
22022        will effectively continue to act as integers.
22023        
22024        With ENABLE_SUBPIXEL_LAYOUT turned on, FractionalLayoutUnits accumulate error from sub-pixel
22025        CSS values and applied zooming, and painting uses pixel-snapping to align these values
22026        to pixels and prevent unwanted anti-aliasing. See http://trac.webkit.org/wiki/LayoutUnit for
22027        details.
22028
22029        In a number of previous patches, LayoutUnits were plumbed throughout the rendering tree to
22030        prepare for this change. This included a number of functions in LayoutTypes.h and the
22031        IntRect/Point/Size classes that were effectively no-ops while LayoutUnits were integers. See
22032        http://webkit.org/b/60318 for the exhaustive list of changes that were done in preparation
22033        for this. Subsequent patches will remove unnecessary versions of these functions.
22034        http://webkit.org/b/84616 tracks these changes.
22035
22036        Tests: fast/sub-pixel/client-width-height-snapping.html
22037               fast/sub-pixel/layout-boxes-with-zoom.html
22038               fast/sub-pixel/size-of-box-with-zoom.html
22039
22040        * WebCore.exp.in: Updating function signatures that expose FractionalLayoutUnits.
22041        * WebCore.order: Ditto.
22042        * WebCore.xcodeproj/project.pbxproj: Adding missing FractionalLayoutPoint.h header.
22043        * css/CSSPrimitiveValue.cpp:
22044        (WebCore::CSSPrimitiveValue::computeLength): No longer rounds for imprecise conversion
22045        when sub-pixel layout is enabled.
22046        * dom/Element.cpp:
22047        (WebCore::adjustForLocalZoom): Using rounding instead of incrementing the value before
22048        adjusting to account for truncation when sub-pixel layout is enabled.
22049        * rendering/mathml/RenderMathMLBlock.cpp:
22050        (WebCore): Fixing a static initializer build error by moving an integer constant to be
22051        an int.
22052        * rendering/LayoutTypes.h: This file contains the actual switch for changing LayoutUnits
22053        to be FractionalLayoutUnits. Also updating stub methods with their proper implementations.
22054        * rendering/PaintInfo.h:
22055        (WebCore::PaintInfo::infiniteRect): Ensuring the infiniteRect doesn't overflow the
22056        FractionalLayoutUnit bounds. LayoutRect::infiniteRect() is the largest rectangle that can
22057        be represented using LayoutUnits.
22058        * rendering/RenderLayer.h:
22059        (WebCore::ClipRect::operator!=): Add overload of != to fix complaining compilers when
22060        * rendering/RenderTreeAsText.cpp: Adding code to minimize test expectation churn. It
22061        may be worth outputting float values in test expectations, but this isn't done with
22062        the inline box tree yet, either.
22063        * rendering/RenderTreeAsText.h:
22064        (WebCore): Adding a FractionalLayoutPoint operator.
22065        * rendering/svg/SVGRenderTreeAsText.cpp:
22066        (WebCore::writePositionAndStyle):
22067        (WebCore): Adding a FractionalLayoutPoint operator.
22068
220692012-05-03  Anders Carlsson  <andersca@apple.com>
22070
22071        Move repaint counter drawing code out into a separate function
22072        https://bugs.webkit.org/show_bug.cgi?id=85539
22073
22074        Reviewed by Simon Fraser.
22075
22076        The majority of code in TileCache::drawLayer deals with drawing the repaint counter. Move this code out
22077        into a separate function to make it more clear what drawLayer does.
22078
22079        * platform/graphics/ca/mac/TileCache.h:
22080        (TileCache):
22081        * platform/graphics/ca/mac/TileCache.mm:
22082        (WebCore::TileCache::drawLayer):
22083        (WebCore::TileCache::drawRepaintCounter):
22084        (WebCore):
22085
220862012-05-03  Simon Fraser  <simon.fraser@apple.com>
22087
22088        Compositing 'requiresOwnBackingStore' logic caused new clip rect assertions
22089        https://bugs.webkit.org/show_bug.cgi?id=85455
22090
22091        Reviewed by Dean Jackson.
22092        
22093        r114283 added logic that allows compositing layers to avoid allocating their own
22094        backing store and to paint into an ancestor instead. However, that caused
22095        assertions in RenderLayer::updateClipRects() about m_clipRectsRoot being
22096        incorrect, because clip rect code assumed that compositing layers
22097        always painted themselves.
22098        
22099        Fixed by calling paintsIntoCompositedAncestor() in RenderLayer::clippingRoot(),
22100        so that clip rect computation matches painting.
22101
22102        I wasn't able to easily make a test that reproduces the assertion in DRT.
22103
22104        * rendering/RenderLayer.cpp:
22105        (WebCore::RenderLayer::clippingRoot):
22106
221072012-05-03  Tim Horton  <timothy_horton@apple.com>
22108
22109        REGRESSION(99539): SVG <img> disregards page scale and device scale
22110        https://bugs.webkit.org/show_bug.cgi?id=77237
22111        <rdar://problem/10767413>
22112
22113        Reviewed by Simon Fraser.
22114
22115        Rename SVGImageCache::SizeAndZoom to SVGImageCache::SizeAndScales, as it carries more than just zoom now.
22116
22117        Pass the product of the device and page scales through everything that takes a SVGImageCache::SizeAndScales,
22118        using it to inflate the size of the buffer created in lookupOrCreateBitmapImageForRenderer,
22119        and to inflate the destination rectangle passed to SVGImage::draw, which will cause a transformation
22120        on the context being drawn into.
22121
22122        Invalidate the SVGImageCache entry on device/page scale changes in addition to zoom changes.
22123
22124        This patch does not cause SVGImageCache to take into account scale caused by CSS transforms; that is tracked
22125        separately by https://bugs.webkit.org/show_bug.cgi?id=85335.
22126
22127        Tests: svg/as-image/image-respects-deviceScaleFactor.html
22128               svg/as-image/image-respects-pageScaleFactor.html
22129
22130        * loader/cache/CachedImage.cpp:
22131        (WebCore::CachedImage::setContainerSizeForRenderer):
22132        (WebCore::CachedImage::imageSizeForRenderer):
22133        * svg/graphics/SVGImage.cpp:
22134        (WebCore::SVGImage::drawSVGToImageBuffer):
22135        * svg/graphics/SVGImage.h:
22136        * svg/graphics/SVGImageCache.cpp:
22137        (WebCore::SVGImageCache::~SVGImageCache):
22138        (WebCore::SVGImageCache::removeRendererFromCache):
22139        (WebCore::SVGImageCache::setRequestedSizeAndScales):
22140        (WebCore::SVGImageCache::requestedSizeAndScales):
22141        (WebCore::SVGImageCache::redraw):
22142        (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
22143        * svg/graphics/SVGImageCache.h:
22144        (WebCore::SVGImageCache::SizeAndScales::SizeAndScales):
22145        (SizeAndScales):
22146        (SVGImageCache):
22147        (WebCore::SVGImageCache::ImageData::ImageData):
22148        (ImageData):
22149
221502012-05-03  Fady Samuel  <fsamuel@chromium.org>
22151
22152        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
22153        https://bugs.webkit.org/show_bug.cgi?id=70609
22154
22155        Reviewed by Kenneth Rohde Christiansen.
22156
22157        Make Viewport Attributes' layoutSize be a FloatRect to avoid rounding
22158        too early, and the occasional off by one fixed layout dimensions.
22159
22160        * dom/ViewportArguments.cpp:
22161        (WebCore::computeViewportAttributes):
22162        * dom/ViewportArguments.h:
22163        (ViewportAttributes):
22164
221652012-05-03  Joshua Bell  <jsbell@chromium.org>
22166
22167        IndexedDB: Handle generated keys up to 2^53
22168        https://bugs.webkit.org/show_bug.cgi?id=85114
22169
22170        The spec defines the behavior for generated keys up to 2^53
22171        (the maximum integer storable as an ECMAScript number) and
22172        the error case when going beyond that. Ensure that we can
22173        handle values up to that point and generate errors beyond.
22174
22175        Reviewed by Tony Chang.
22176
22177        Test: storage/indexeddb/key-generator.html
22178
22179        * Modules/indexeddb/IDBBackingStore.h:
22180        (IDBBackingStore):
22181        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
22182        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
22183        * Modules/indexeddb/IDBLevelDBBackingStore.h:
22184        (IDBLevelDBBackingStore):
22185        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
22186        (WebCore::IDBObjectStoreBackendImpl::putInternal):
22187        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
22188        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
22189        (IDBObjectStoreBackendImpl):
22190
221912012-05-03  Simon Fraser  <simon.fraser@apple.com>
22192
22193        Remove RenderLayerCompositor::didStartAcceleratedAnimation()
22194        https://bugs.webkit.org/show_bug.cgi?id=85514
22195
22196        Reviewed by Antti Koivisto.
22197        
22198        Remove RenderLayerCompositor::didStartAcceleratedAnimation(), which is no longer
22199        needed.
22200
22201        Code removal, no new tests.
22202
22203        * rendering/RenderLayerBacking.cpp:
22204        (WebCore::RenderLayerBacking::startAnimation):
22205        (WebCore::RenderLayerBacking::startTransition):
22206        * rendering/RenderLayerCompositor.cpp:
22207        * rendering/RenderLayerCompositor.h:
22208
222092012-05-03  Andreas Kling  <kling@webkit.org>
22210
22211        REGRESSION(r111387): CSSOM representation of 'background-image' values should be CSSPrimitiveValue.
22212        <http://webkit.org/b/85500>
22213
22214        Reviewed by Antti Koivisto.
22215
22216        Use the cloneForCSSOM() mechanism in CSSValue to expose CSSImageValue to bindings as a URI
22217        primitive value. This matches the specced behavior of computed image values, and restores our
22218        previous behavior without having CSSImageValue subclass CSSPrimitiveValue.
22219
22220        Also added a failsafe return after the isCSSOMSafe() assertion in the JSC bindings, since it's
22221        better to expose an incorrect return value than an insecurely shared one, should we have or add
22222        bugs in this code.
22223
22224        * bindings/js/JSCSSValueCustom.cpp:
22225        (WebCore::toJS):
22226        * css/CSSImageValue.cpp:
22227        (WebCore::CSSImageValue::cloneForCSSOM):
22228        * css/CSSImageValue.h:
22229        * css/CSSValue.cpp:
22230        (WebCore::CSSValue::cloneForCSSOM):
22231
222322012-05-03  Keishi Hattori  <keishi@webkit.org>
22233
22234        Crash in HTMLFormControlElement::m_fieldSetAncestor
22235        https://bugs.webkit.org/show_bug.cgi?id=85453
22236
22237        Reviewed by Kent Tamura.
22238
22239        Modified tests: fast/forms/datalist/datalist-child-validation.html
22240                        fast/forms/form-control-element-crash.html
22241
22242        * html/HTMLFormControlElement.cpp:
22243        (WebCore::HTMLFormControlElement::removedFrom): Only set the invalid ancestor flag.
22244        The element will be detached from the document so there is no need to update the style.
22245        And the validation message will be hidden by the blur event.
22246        (WebCore::HTMLFormControlElement::willValidate): Because of the change to removedFrom,
22247        m_ancestorsValid may be false.
22248
222492012-05-03  Simon Fraser  <simon.fraser@apple.com>
22250
22251        Keep overlap testing for compositing on pages with 3d transforms when possible
22252        https://bugs.webkit.org/show_bug.cgi?id=62487
22253
22254        Reviewed by Antti Koivisto.
22255        
22256        Change RenderLayerCompositor to always use overlap testing when possible.
22257
22258        Rather than turn off overlap testing wholesale when encountering a non-affine
22259        transform, or starting an accelerated transform animation, we constrain
22260        the disabling of overlap testing to within overflow:hidden areas when possible.
22261
22262        Tests: compositing/layer-creation/overlap-animation.html
22263               compositing/layer-creation/overlap-transforms.html
22264
22265        * rendering/RenderLayerBacking.cpp:
22266        (WebCore::RenderLayerBacking::setCompositedBounds): Whitespace fix.
22267        * rendering/RenderLayerCompositor.cpp:
22268        (WebCore::CompositingState::CompositingState):
22269        (CompositingState): Add a member boolean to track whether we're testing overlap. Add a copy
22270        constructor.
22271        (WebCore::RenderLayerCompositor::updateCompositingLayers): Initialize the 'testing overlap'
22272        setting based on m_compositingConsultsOverlap (though this will always be true until removed
22273        in a future commit).
22274        (WebCore::RenderLayerCompositor::updateBacking): No longer turn off overlap testing
22275        when we see a non-affine transform.
22276        (WebCore::RenderLayerCompositor::computeCompositingRequirements): No need for the 'struct'
22277        in the arguments.
22278        Consult compositingState.m_testingOverlap to see if we want to test overlap.
22279        Use the new CompositingState copy ctor for childState, but set m_subtreeIsCompositing to false
22280        as before.
22281        If this layer is composited, look to see if need to disable over lap testing based on
22282        the transform or an animation.
22283        Just as we propagate m_subtreeIsCompositing, we have to propagate m_testingOverlap=false
22284        for the rest of the traverse.
22285        If we've just processed a layer which clips compositing descendants, we can go back
22286        to testing for overlap.
22287        (WebCore::RenderLayerCompositor::didStartAcceleratedAnimation): No need to do anything
22288        here now. It will be removed in future.
22289        (WebCore::RenderLayerCompositor::hasNonAffineTransform): No longer check
22290        perspective here, since that doesn't affect whether _this_ layer should disable
22291        overlap testing. Checking for a non-affine transform is sufficient.
22292        (WebCore::RenderLayerCompositor::isRunningAcceleratedTransformAnimation):
22293        New method to check if AnimationController is running a transform animation.
22294        * rendering/RenderLayerCompositor.h:
22295        (RenderLayerCompositor):
22296
222972012-05-03  Chris Fleizach  <cfleizach@apple.com>
22298
22299        accessibility/misspelled-attributed-string.html test sometimes throws exceptions
22300        https://bugs.webkit.org/show_bug.cgi?id=85081
22301
22302        Reviewed by Darin Adler.
22303
22304        Add in more range checking in case we get back ranges from spell checking that are wrong.
22305
22306        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
22307        (AXAttributeStringSetFont):
22308        (AXAttributeStringSetColor):
22309        (AXAttributeStringSetNumber):
22310        (AXAttributeStringSetBlockquoteLevel):
22311        (AXAttributeStringSetHeadingLevel):
22312        (AXAttributeStringSetElement):
22313
223142012-05-03  Pavel Feldman  <pfeldman@chromium.org>
22315
22316        Web Inspector: move canonical mime type calculation to Resource
22317        https://bugs.webkit.org/show_bug.cgi?id=85507
22318
22319        Reviewed by Yury Semikhatsky.
22320
22321        Drive-by: small refactoring that prepares code for formatter extraction.
22322
22323        * inspector/front-end/BreakpointsSidebarPane.js:
22324        * inspector/front-end/DebuggerModel.js:
22325        (WebInspector.DebuggerModel.prototype.createLiveLocation):
22326        (WebInspector.DebuggerModel.prototype.rawLocationToUILocation):
22327        * inspector/front-end/DebuggerPresentationModel.js:
22328        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
22329        * inspector/front-end/NetworkManager.js:
22330        (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
22331        (get WebInspector):
22332        * inspector/front-end/Resource.js:
22333        (WebInspector.Resource.prototype.requestContent):
22334        (WebInspector.Resource.prototype.canonicalMimeType):
22335        (WebInspector.Resource.prototype._innerRequestContent.callback):
22336        (WebInspector.Resource.prototype._innerRequestContent):
22337        * inspector/front-end/ResourceView.js:
22338        (WebInspector.ResourceSourceFrame.prototype.requestContent):
22339        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
22340
223412012-05-03  Yury Semikhatsky  <yurys@chromium.org>
22342
22343        Web Inspector: 'expires' value is incorrect for cookies
22344        https://bugs.webkit.org/show_bug.cgi?id=85489
22345
22346        Reviewed by Pavel Feldman.
22347
22348        Fixed cookie 'expires' property type from integer to number so that
22349        we don't lose precision when assembling Cookie parameter in InspectorResourceAgent.
22350
22351        * inspector/Inspector.json:
22352
223532012-05-03  Dan Bernstein  <mitz@apple.com>
22354
22355        highlight for Ruby text is mispositioned in the Web Inspector
22356        https://bugs.webkit.org/show_bug.cgi?id=82684
22357
22358        Reviewed by Simon Fraser.
22359
22360        Tests: fast/writing-mode/flipped-blocks-inline-map-local-to-container-expected.html
22361               fast/writing-mode/flipped-blocks-inline-map-local-to-container.html
22362
22363        In flipped blocks writing modes, flipping was being applied twice to box descendants of
22364        inline children of the flipped block, once during RenderBox::mapLocalToContainer, and then
22365        again by RenderInline::mapLocalToContainer. The fix is to make the latter only apply the
22366        flip to local coordinates originating in the inline or a descendant inline. This is done
22367        by adding a parameter of type ApplyContainerFlipOrNot, which defaults to ApplyContainerFlip
22368        but is reset to DoNotApplyContainerFlip in recursive calls into mapLocalToContainer().
22369
22370        * rendering/RenderBox.cpp:
22371        (WebCore::RenderBox::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter, passing
22372        DoNotApplyContainerFlip when recursing into the container.
22373        * rendering/RenderBox.h:
22374
22375        * rendering/RenderInline.cpp:
22376        (WebCore::RenderInline::mapLocalToContainer): Added ApplyContainerFlipOrNot paramerer, and
22377        made the flipping conditional on its value.
22378
22379        * rendering/RenderInline.h:
22380
22381        * rendering/RenderObject.cpp:
22382        (WebCore::RenderObject::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter,
22383        passing DoNotApplyContainerFlip when recursing into the container.
22384        (WebCore::RenderObject::localToContainerQuad): Pass ApplyContainerFlip.
22385        (WebCore::RenderObject::localToContainerPoint): Ditto.
22386        * rendering/RenderObject.h:
22387
22388        * rendering/RenderView.cpp:
22389        (WebCore::RenderView::mapLocalToContainer): Added ApplyContainerFlipOrNot parameter.
22390        * rendering/RenderView.h:
22391
22392        * rendering/svg/RenderSVGForeignObject.cpp:
22393        (WebCore::RenderSVGForeignObject::mapLocalToContainer): Ditto.
22394        * rendering/svg/RenderSVGForeignObject.h:
22395
22396        * rendering/svg/RenderSVGInline.cpp:
22397        (WebCore::RenderSVGInline::mapLocalToContainer): Ditto.
22398        * rendering/svg/RenderSVGInline.h:
22399
22400        * rendering/svg/RenderSVGModelObject.cpp:
22401        (WebCore::RenderSVGModelObject::mapLocalToContainer): Ditto.
22402        * rendering/svg/RenderSVGModelObject.h:
22403
22404        * rendering/svg/RenderSVGRoot.cpp:
22405        (WebCore::RenderSVGRoot::mapLocalToContainer): Ditto.
22406        * rendering/svg/RenderSVGRoot.h:
22407
22408        * rendering/svg/RenderSVGText.cpp:
22409        (WebCore::RenderSVGText::mapLocalToContainer): Ditto.
22410        * rendering/svg/RenderSVGText.h:
22411
22412        * rendering/svg/SVGRenderSupport.cpp:
22413        (WebCore::SVGRenderSupport::mapLocalToContainer): Pass DoNotApplyContainerFlip when
22414        recursing into the parent.
22415
224162012-05-03  Pavel Feldman  <pfeldman@chromium.org>
22417
22418        Web Inspector: make Script a ContentProvider.
22419        https://bugs.webkit.org/show_bug.cgi?id=85486
22420
22421        Reviewed by Yury Semikhatsky.
22422
22423        This allows us to get rid of the corresponding content provider wrapper.
22424
22425        * inspector/front-end/ContentProviders.js:
22426        * inspector/front-end/RawSourceCode.js:
22427        (WebInspector.RawSourceCode.prototype._createContentProvider):
22428        * inspector/front-end/Script.js:
22429        (WebInspector.Script.prototype.contentURL):
22430        (WebInspector.Script.prototype.requestContent.didGetScriptSource):
22431        (WebInspector.Script.prototype.requestContent):
22432        * inspector/front-end/SnippetsModel.js:
22433        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
22434
224352012-05-03  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
22436
22437        Remove extra checks for empty string when parsing CSS value
22438        https://bugs.webkit.org/show_bug.cgi?id=85480
22439
22440        Reviewed by Alexis Menard.
22441
22442        Each parse value helper function was checking whether the value string was empty. For the
22443        common case this check is already done by StylePropertySet::setProperty(). So this patch
22444        make CSSParser::parseValue() assume the value string is not empty, and fix the other two
22445        clients.
22446
22447        Test: fast/html/font-face-empty-should-not-crash.html
22448
22449        * css/CSSParser.cpp:
22450        (WebCore::parseColorValue): Replace the string empty check by an ASSERT() to document
22451        function's expectations.
22452        (WebCore::parseSimpleLengthValue): Ditto.
22453        (WebCore::parseKeywordValue): Ditto.
22454        (WebCore::CSSParser::parseFontFaceValue): This will be covered by the added test.
22455        (WebCore::CSSParser::parseValue):
22456        * css/WebKitCSSMatrix.cpp:
22457        (WebCore::WebKitCSSMatrix::setMatrixValue): This is already covered by
22458        transforms/cssmatrix-2d-interface.xhtml.
22459
224602012-05-03  Arpita Bahuguna  <arpitabahuguna@gmail.com>
22461
22462        Broken handling of pseudo-elements in selectors API
22463        https://bugs.webkit.org/show_bug.cgi?id=83446
22464
22465        Reviewed by Antti Koivisto.
22466
22467        Test: fast/dom/Window/querySelectorAll-with-pseudo-elements.html
22468
22469        * css/SelectorChecker.cpp:
22470        (WebCore::SelectorChecker::SelectorChecker):
22471        Setting the default value for the enum member m_mode to ResolvingStyle.
22472
22473        (WebCore::SelectorChecker::checkSelector):
22474        Instead of verifying against the bool m_isCollectingRulesOnly, we now check whether or not
22475        m_mode is set to ResolvingStyle.
22476
22477        (WebCore::SelectorChecker::checkOneSelector):
22478        Instead of verifying against the bool m_isCollectingRulesOnly, we now check whether or not
22479        m_mode is set to ResolvingStyle. Also, for the pseudo-elements case we check if its
22480        value is set to QueryingRules in which case we return false.
22481
22482        * css/SelectorChecker.h:
22483        (WebCore::SelectorChecker::mode):
22484        Returns the mode (m_mode) value.
22485
22486        (WebCore::SelectorChecker::setMode):
22487        Sets the mode (m_mode) to the passed enum value.
22488
22489        * css/StyleResolver.cpp:
22490        (WebCore::StyleResolver::sortAndTransferMatchedRules):
22491        (WebCore::StyleResolver::collectMatchingRulesForList):
22492        Retrieves SelectorChecker's mode value.
22493
22494        * dom/SelectorQuery.cpp:
22495        (WebCore::SelectorQuery::SelectorQuery):
22496        Sets SelectorChecker's mode to QueryingRules.
22497
22498        * html/shadow/ContentSelectorQuery.cpp:
22499        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
22500        Sets SelectorChecker's mode to CollectingRules.
22501
225022012-05-03  Pavel Feldman  <pfeldman@chromium.org>
22503
22504        Web Inspector: EXC_BAD_ACCESS in DOM breakpoint processing code.
22505        https://bugs.webkit.org/show_bug.cgi?id=85482
22506
22507        Reviewed by Yury Semikhatsky.
22508
22509        0 check added since we are guaranteed to get immediate parent, but not the whole ancestor tree.
22510
22511        * inspector/InspectorDOMDebuggerAgent.cpp:
22512        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
22513
225142012-05-03  Ilya Tikhonovsky  <loislo@chromium.org>
22515
22516        Web Inspector: compile time ambiguity happens when I try to assign a TypeBuilder object to an out argument.
22517        https://bugs.webkit.org/show_bug.cgi?id=85462
22518
22519        It happens because we have type casting operators for both types RefPtr<*Type*> and PassRefPtr<*Type*>.
22520        I think we can drop PassRefPtr type casting operator and use a named function 'release'.
22521
22522        Reviewed by Yury Semikhatsky.
22523
22524        * inspector/CodeGeneratorInspector.py:
22525        * inspector/ContentSearchUtils.cpp:
22526        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
22527        * inspector/InspectorApplicationCacheAgent.cpp:
22528        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
22529        * inspector/InspectorPageAgent.cpp:
22530        (WebCore::buildObjectForCookie):
22531        (WebCore::buildObjectForSearchResult):
22532        * inspector/InspectorResourceAgent.cpp:
22533        (WebCore::buildObjectForTiming):
22534        (WebCore::InspectorResourceAgent::buildInitiatorObject):
22535        * inspector/ScriptCallFrame.cpp:
22536        (WebCore::ScriptCallFrame::buildInspectorObject):
22537
225382012-05-03  Yury Semikhatsky  <yurys@chromium.org>
22539
22540        Web Inspector: crash in InspectorResourceAgent::didReceiveWebSocketFrame
22541        https://bugs.webkit.org/show_bug.cgi?id=85394
22542
22543        Reviewed by Pavel Feldman.
22544
22545        Pass string length explicitely when creating String object from non-null-terminated
22546        char* strings.
22547
22548        * inspector/InspectorResourceAgent.cpp:
22549        (WebCore):
22550        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
22551        (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
22552
225532012-05-03  'Pavel Feldman'  <pfeldman@chromium.org>
22554
22555        Not reviewed: never surround InspectorInstrumentation:: with ENABLED(INSPECTOR)
22556
22557        * dom/ContainerNode.cpp:
22558        (WebCore::ContainerNode::insertBefore):
22559        (WebCore::ContainerNode::replaceChild):
22560        (WebCore::ContainerNode::appendChild):
22561        (WebCore::dispatchChildRemovalEvents):
22562
225632012-04-30  Pavel Feldman  <pfeldman@chromium.org>
22564
22565        Web Inspector: migrate breakpoint manager to live locations.
22566        https://bugs.webkit.org/show_bug.cgi?id=85136
22567
22568        Reviewed by Yury Semikhatsky.
22569
22570        - Merges Breakpoint and UIBreakpoint to have single instance
22571        - Extracts storage from the breakpoint manager
22572        - Makes breakpoint manager use source mapping from the script, not the presentation model
22573        - Removes breakpoints collection from the UISourceCode
22574        Unfortunately, there are too many inter-dependencies that require that these changes are done simultaneously.
22575
22576        * inspector/front-end/BreakpointManager.js:
22577        (WebInspector.BreakpointManager):
22578        (WebInspector.BreakpointManager.prototype.setBreakpoint):
22579        (WebInspector.BreakpointManager.prototype.breakpoint):
22580        (WebInspector.BreakpointManager.prototype.breakpointLocationsForUISourceCode):
22581        (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
22582        (WebInspector.BreakpointManager.prototype.reset):
22583        (WebInspector.BreakpointManager.prototype.debuggerReset):
22584        (WebInspector.BreakpointManager.prototype._breakpointResolved):
22585        (WebInspector.BreakpointManager.prototype._removeBreakpoint):
22586        (WebInspector.BreakpointManager.prototype._uiLocationAdded):
22587        (WebInspector.BreakpointManager.prototype._uiLocationRemoved):
22588        (WebInspector.BreakpointManager.prototype.storage):
22589        (WebInspector.BreakpointManager.Breakpoint):
22590        (WebInspector.BreakpointManager.Breakpoint.prototype.primaryUILocation):
22591        (WebInspector.BreakpointManager.Breakpoint.prototype._addResolvedLocation):
22592        (WebInspector.BreakpointManager.Breakpoint.prototype.enabled):
22593        (WebInspector.BreakpointManager.Breakpoint.prototype.setEnabled):
22594        (WebInspector.BreakpointManager.Breakpoint.prototype.condition):
22595        (WebInspector.BreakpointManager.Breakpoint.prototype.setCondition):
22596        (WebInspector.BreakpointManager.Breakpoint.prototype._updateBreakpoint):
22597        (WebInspector.BreakpointManager.Breakpoint.prototype.remove):
22598        (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger.didSetBreakpoint):
22599        (WebInspector.BreakpointManager.Breakpoint.prototype._setInDebugger):
22600        (WebInspector.BreakpointManager.Breakpoint.prototype._removeFromDebugger):
22601        (WebInspector.BreakpointManager.Breakpoint.prototype._resetLocations):
22602        (WebInspector.BreakpointManager.Breakpoint.prototype._breakpointStorageId):
22603        (WebInspector.BreakpointManager.Breakpoint.prototype._fakeBreakpointAtPrimaryLocation):
22604        (WebInspector.BreakpointManager.Storage.get this):
22605        (WebInspector.BreakpointManager.Storage):
22606        (WebInspector.BreakpointManager.Storage.prototype.restoreBreakpoints):
22607        (WebInspector.BreakpointManager.Storage.prototype._updateBreakpoint):
22608        (WebInspector.BreakpointManager.Storage.prototype._removeBreakpoint):
22609        (WebInspector.BreakpointManager.Storage.prototype._save):
22610        (set WebInspector.BreakpointManager.Storage.Item):
22611        * inspector/front-end/BreakpointsSidebarPane.js:
22612        (WebInspector.JavaScriptBreakpointsSidebarPane):
22613        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded.didRequestContent):
22614        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointAdded):
22615        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointRemoved):
22616        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.highlightBreakpoint):
22617        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._createBreakpointItemId):
22618        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointClicked):
22619        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
22620        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
22621        * inspector/front-end/DebuggerModel.js:
22622        (WebInspector.DebuggerModel):
22623        (WebInspector.DebuggerModel.prototype.breakpointsActive):
22624        (WebInspector.DebuggerModel.prototype.createLiveLocation):
22625        * inspector/front-end/DebuggerPresentationModel.js:
22626        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
22627        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
22628        * inspector/front-end/JavaScriptSource.js:
22629        (WebInspector.JavaScriptSource):
22630        (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
22631        * inspector/front-end/JavaScriptSourceFrame.js:
22632        (WebInspector.JavaScriptSourceFrame):
22633        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
22634        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
22635        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
22636        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
22637        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
22638        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
22639        (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
22640        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
22641        (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
22642        (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
22643        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
22644        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
22645        (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
22646        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
22647        (WebInspector.JavaScriptSourceFrame.prototype._continueToLine):
22648        (WebInspector.JavaScriptSourceFrame.prototype._updateBreakpointsAfterLiveEdit):
22649        * inspector/front-end/Script.js:
22650        (WebInspector.Script.prototype.rawLocationToUILocation):
22651        * inspector/front-end/ScriptsPanel.js:
22652        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
22653        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
22654        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
22655        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
22656        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
22657        * inspector/front-end/UISourceCode.js:
22658        (WebInspector.UISourceCode.prototype.contentChanged):
22659
226602012-05-03  Andrey Kosyakov  <caseq@chromium.org>
22661
22662        Unreviewed attemp to fix chromium win build broken at r115943.
22663
22664        * notifications/NotificationClient.h:
22665        (WebCore):
22666
226672012-05-03  Vivek Galatage  <vivekgalatage@gmail.com>
22668
22669        Linker warnings due to duplicate symbols for SimplifyMarkupCommand.cpp on Windows
22670        https://bugs.webkit.org/show_bug.cgi?id=85467
22671
22672        Reviewed by Ryosuke Niwa.
22673
22674        Removed the multiple inclusion of the file SimplifyMarkupCommand.cpp 
22675
22676        No new tests required.
22677
22678        * WebCore.vcproj/WebCore.vcproj:
22679
226802012-05-03  Uday Kiran  <udaykiran@motorola.com>
22681
22682        CSS clip: auto clips to box borders instead of removing clipping
22683        https://bugs.webkit.org/show_bug.cgi?id=36772
22684
22685        Reviewed by Andreas Kling.
22686
22687        According to CSS 2.1 spec, http://www.w3.org/TR/CSS2/visufx.html#propdef-clip,
22688        clip property with value 'auto' the element does not clip.
22689        Also getPropertyValue for clip when auto is specified should return "auto"
22690        and not "rect(0px 0px 0px 0px)".
22691
22692        Tests: css2.1/20110323/clip-001-expected.html
22693               css2.1/20110323/clip-001.html
22694
22695        * css/StyleBuilder.cpp:
22696        (WebCore::ApplyPropertyClip::applyValue):
22697
226982012-05-02  Antti Koivisto  <antti@apple.com>
22699
22700        Add temporary feature define for parsed stylesheet caching
22701        https://bugs.webkit.org/show_bug.cgi?id=85413
22702
22703        Rubber-stamped by Nikolas Zimmermann.
22704
22705        While not an externally visible feature this is still a significant internal change.
22706        It is good to have define in case someone has an urgent need to turn it off.
22707        
22708        Caching is enabled by default on all platforms. The define should be removed after some bake time.
22709
22710        * html/HTMLLinkElement.cpp:
22711        (WebCore::HTMLLinkElement::setCSSStyleSheet):
22712
227132012-05-03  Nikolas Zimmermann  <nzimmermann@rim.com>
22714
22715        Accumulation for values-animation is broken
22716        https://bugs.webkit.org/show_bug.cgi?id=85158
22717
22718        Reviewed by Zoltan Herczeg.
22719
22720        Follow-up patch: Add const Foo& foo() const accessors to SVGAnimatedType,
22721        to avoid the "Foo& foo = animated->foo()" idiom in all cases where we
22722        don't need to mutate 'foo'. Use "const Foo& foo = animated->foo()" instead.
22723        Inline all of these methods to avoid the function call overhead.
22724
22725        For to-animations we actually mutated the from value before, but it wasn't a
22726        problem in practive, as we did that on every animation step. Fully avoid these
22727        inconsitencies by never mutating the from/to types stored in SVGAnimateElement.
22728
22729        Cache toAtEndOfDurationType just like m_toType/m_fromType in SVGAnimateElement,
22730        to avoid reconstructing it on every animation step.
22731
22732        No new tests, only design/performance fixes.
22733
22734        * svg/SVGAnimateElement.cpp:
22735        (WebCore::SVGAnimateElement::calculateAnimatedValue):
22736        (WebCore::SVGAnimateElement::calculateToAtEndOfDurationValue):
22737        (WebCore::SVGAnimateElement::targetElementWillChange):
22738        * svg/SVGAnimateElement.h:
22739        (SVGAnimateElement):
22740        * svg/SVGAnimateMotionElement.cpp:
22741        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
22742        (WebCore::SVGAnimateMotionElement::calculateToAtEndOfDurationValue):
22743        (WebCore::SVGAnimateMotionElement::calculateFromAndToValues):
22744        (WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
22745        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
22746        * svg/SVGAnimateMotionElement.h:
22747        (SVGAnimateMotionElement):
22748        * svg/SVGAnimatedAngle.cpp:
22749        (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
22750        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
22751        * svg/SVGAnimatedBoolean.cpp:
22752        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
22753        * svg/SVGAnimatedColor.cpp:
22754        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
22755        * svg/SVGAnimatedEnumeration.cpp:
22756        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
22757        * svg/SVGAnimatedInteger.cpp:
22758        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
22759        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
22760        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
22761        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
22762        * svg/SVGAnimatedLength.cpp:
22763        (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
22764        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
22765        * svg/SVGAnimatedLengthList.cpp:
22766        (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
22767        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
22768        * svg/SVGAnimatedNumber.cpp:
22769        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
22770        * svg/SVGAnimatedNumberList.cpp:
22771        (WebCore::SVGAnimatedNumberListAnimator::addAnimatedTypes):
22772        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
22773        * svg/SVGAnimatedNumberOptionalNumber.cpp:
22774        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
22775        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
22776        * svg/SVGAnimatedPath.cpp:
22777        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
22778        * svg/SVGAnimatedPointList.cpp:
22779        (WebCore::SVGAnimatedPointListAnimator::addAnimatedTypes):
22780        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
22781        * svg/SVGAnimatedPreserveAspectRatio.cpp:
22782        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
22783        * svg/SVGAnimatedRect.cpp:
22784        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
22785        * svg/SVGAnimatedString.cpp:
22786        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
22787        * svg/SVGAnimatedTransformList.cpp:
22788        (WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
22789        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
22790        * svg/SVGAnimatedType.cpp:
22791        * svg/SVGAnimatedType.h:
22792        (WebCore::SVGAnimatedType::angleAndEnumeration):
22793        (SVGAnimatedType):
22794        (WebCore::SVGAnimatedType::boolean):
22795        (WebCore::SVGAnimatedType::color):
22796        (WebCore::SVGAnimatedType::enumeration):
22797        (WebCore::SVGAnimatedType::integer):
22798        (WebCore::SVGAnimatedType::integerOptionalInteger):
22799        (WebCore::SVGAnimatedType::length):
22800        (WebCore::SVGAnimatedType::lengthList):
22801        (WebCore::SVGAnimatedType::number):
22802        (WebCore::SVGAnimatedType::numberList):
22803        (WebCore::SVGAnimatedType::numberOptionalNumber):
22804        (WebCore::SVGAnimatedType::path):
22805        (WebCore::SVGAnimatedType::pointList):
22806        (WebCore::SVGAnimatedType::preserveAspectRatio):
22807        (WebCore::SVGAnimatedType::rect):
22808        (WebCore::SVGAnimatedType::string):
22809        (WebCore::SVGAnimatedType::transformList):
22810        * svg/SVGAnimationElement.cpp:
22811        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
22812        (WebCore::SVGAnimationElement::startedActiveInterval):
22813        (WebCore::SVGAnimationElement::updateAnimation):
22814        * svg/SVGAnimationElement.h:
22815        (WebCore::SVGAnimationElement::adjustFromToListValues):
22816        (WebCore::SVGAnimationElement::animateDiscreteType):
22817        (SVGAnimationElement):
22818
228192012-05-02  Alexander Færøy  <ahf@0x90.dk>
22820
22821        Rename deviceDPI to devicePixelRatio
22822        https://bugs.webkit.org/show_bug.cgi?id=85049
22823
22824        Reviewed by Kenneth Rohde Christiansen.
22825
22826        No new tests added since this is a minor refactoring with no changes
22827        that should affect tests.
22828
22829        * page/Settings.cpp:
22830        (WebCore::Settings::Settings):
22831        * page/Settings.h:
22832        (WebCore::Settings::setDevicePixelRatio):
22833        (WebCore::Settings::devicePixelRatio):
22834        (Settings):
22835
228362012-05-03  Nikolas Zimmermann  <nzimmermann@rim.com>
22837
22838        Fix multiple begin values support - especially with seeking through setCurrentTime
22839        https://bugs.webkit.org/show_bug.cgi?id=85372
22840
22841        Reviewed by Zoltan Herczeg.
22842
22843        Multiple begin values aka. begin="0s; 2s" aren't correctly handled - resulting in broken & unexpected behavior.
22844        Supporting seeking properly on documents containing such animations is very important, otherwise we can't reliable
22845        test animations using either reftests or the SVG JS animation test framework.
22846
22847        Testcase:
22848        <rect height="100" fill="green">
22849            <animate attributeName="width" begin="0s; 2s" dur="8s" from="0" to="100" fill="freeze"/>
22850        </rect>
22851
22852        What's expected?
22853        Two times should be contained in the 'begin' times list in SVGSMILElement: m_beginTimes = { 0s, 2s }.
22854        The initial first resolved interval is: m_intervalBegin=0.0s, m_intervalEnd=8.0s.
22855
22856        During t=0s..1.9999s the m_intervalBegin/m_intervalEnd are correct.
22857        At t=2s, a new interval can be started. m_intervalEnd should be set to nextBeginTime, where nextBeginTime=2s.
22858        The current interval should get cropped to: m_intervalBegin=0s, m_intervalEnd=2s. The following call to
22859        resolveNextInterval() sees that elapsed >= m_intervalEnd, and thus moves on to the next interval.
22860        m_intervalBegin should be 2s and m_intervalEnd=10s after that.
22861
22862        In trunk this behavior is only partly implemented and broken. Especially broken together with seeking via SVGSVGElement.setCurrentTime.
22863        That's because we don't correctly seek to the right interval in case of multiple begin values, eg. if we sample an animation with
22864        begin="0s; 3s" dur="6s" we always remain in the first interval and don't move on.
22865
22866        Fix all of these issues, making lots more tests work in Dr. Olaf Hofmanns SVG Animation test suite.
22867
22868        Tests: svg/animations/multiple-begin-additive-animation.html
22869               svg/animations/multiple-begin-animation-discrete-expected.svg
22870               svg/animations/multiple-begin-animation-discrete.svg
22871               svg/animations/multiple-begin-animation-expected.svg
22872               svg/animations/multiple-begin-animation.svg
22873
22874        * svg/animation/SMILTimeContainer.cpp:
22875        (WebCore::SMILTimeContainer::begin):
22876        (WebCore::SMILTimeContainer::setElapsed):
22877        (WebCore::SMILTimeContainer::updateAnimations):
22878        * svg/animation/SMILTimeContainer.h:
22879        (SMILTimeContainer):
22880        * svg/animation/SVGSMILElement.cpp:
22881        (WebCore::SVGSMILElement::findInstanceTime):
22882        (WebCore::SVGSMILElement::resolveInterval):
22883        (WebCore::SVGSMILElement::resolveNextInterval):
22884        (WebCore):
22885        (WebCore::SVGSMILElement::checkRestart):
22886        (WebCore::SVGSMILElement::seekToIntervalCorrespondingToTime):
22887        (WebCore::SVGSMILElement::progress):
22888        * svg/animation/SVGSMILElement.h:
22889        (SVGSMILElement):
22890
228912012-05-03  Dana Jansens  <danakj@chromium.org>
22892
22893        [chromium] Don't add small opaque areas to the occlusion tracker's Region
22894        https://bugs.webkit.org/show_bug.cgi?id=85297
22895
22896        Reviewed by Adrienne Walker.
22897
22898        Don't add small opaque areas (smaller than 160x160) to the occlusion
22899        tracker's Region objects to avoid high Region::unite() costs.
22900
22901        We would like Region to just be fast enough that this isn't a concern,
22902        and there are patches in flight to do this, but at the moment, small
22903        opaque areas add significant cost if there is many of them, for
22904        potentially small gains since they do not cover entire tiles.
22905
22906        Comments in http://code.google.com/p/chromium/issues/detail?id=124687
22907        motivate this approach for now, and point to around 160x160 being
22908        a reasonable threshold.
22909
22910        Removes the opaque paint tracking flag while we're here. The flag is
22911        no longer used, and was broken when we moved the "paint vs opaque
22912        flag" distinction out to the layers.
22913
22914        Unit test: CCOcclusionTrackerTestMinimumTrackingSize
22915
22916        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
22917        (WebCore::CCLayerTreeHost::paintLayerContents):
22918        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
22919        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
22920        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
22921        (WebCore::::CCOcclusionTrackerBase):
22922        (WebCore::addOcclusionBehindLayer):
22923        (WebCore::::markOccludedBehindLayer):
22924        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
22925        (WebCore::CCOcclusionTrackerBase::setMinimumTrackingSize):
22926        (CCOcclusionTrackerBase):
22927        (WebCore::CCOcclusionTrackerBase::preferredMinimumTrackingSize):
22928
229292012-05-02  Jon Lee  <jonlee@apple.com>
22930
22931        Migrate permission functions to Notification from NotificationCenter
22932        https://bugs.webkit.org/show_bug.cgi?id=80485
22933        <rdar://problem/10965458>
22934
22935        Reviewed by Jian Li.
22936
22937        * notifications/Notification.idl: Add permission functions.
22938        * notifications/DOMWindowNotifications.idl: Wrap webkitNotifications as part of legacy API.
22939
22940        * notifications/Notification.cpp: New permission functions are wrapped with ENABLE(NOTIFICATIONS)
22941        (WebCore::Notification::taskTimerFired): Use the new permission functions to determine whether we can show the
22942        notification.
22943        (WebCore::Notification::permissionLevel):
22944        (WebCore::Notification::permissionString): Declare three static locals for each of the values, and return
22945        based on the permission enum.
22946        (WebCore::Notification::requestPermission): Forward request to client.
22947        * notifications/Notification.h:
22948
22949        * notifications/NotificationPermissionCallback.h: Added.
22950        (NotificationPermissionCallback):
22951        (WebCore::NotificationPermissionCallback::~NotificationPermissionCallback):
22952        * notifications/NotificationPermissionCallback.idl: Added.
22953
22954        * notifications/NotificationCenter.cpp: Wrap permission functions in ENABLE(LEGACY_NOTIFICATIONS)
22955        * notifications/NotificationCenter.h: Wrap permission functions in ENABLE(LEGACY_NOTIFICATIONS)
22956        * notifications/NotificationCenter.idl: Refactor conditionals to make the center available only when
22957        ENABLE(LEGACY_NOTIFICATIONS) is on.
22958        * notifications/NotificationPresenter.h:
22959        (WebCore::NotificationPresenter::requestPermission): Add new requestPermission() function for new
22960        NotificationPermissionCallback type. Make it a stub implementation until all ports have adopted.
22961
22962        * notifications/NotificationClient.h: Add another requestPermission() client call, wrapped in
22963        ENABLE(NOTIFICATIONS) that accepts the NotificationPermissionCallback. Wrap the original one in
22964        ENABLE(LEGACY_NOTIFICATIONS).
22965
22966        * bindings/js/JSDesktopNotificationsCustom.cpp: Change to include the implementation only in
22967        ENABLE(LEGACY_NOTIFICATIONS).
22968        * bindings/js/JSNotificationsCustom.cpp: Custom implementation of requestPermission().
22969        * bindings/v8/custom/V8NotificationCustom.cpp: Custom implementation of requestPermission().
22970
22971        * notifications/WorkerContextNotifications.idl: Make webktNotifications available only in legacy API.
22972        * CMakeLists.txt: Add new callback idl.
22973        * DerivedSources.make: Add new callback idl.
22974        * DerivedSources.pri: Add new callback idl.
22975        * GNUmakefile.list.am: Add NotificationPermissionCallback files.
22976        * Target.pri: Include JSNotificationCustom.cpp, V8NotificationCustom.cpp
22977        * UseJSC.cmake: Include JSNotificationCustom.cpp
22978        * UseV8.cmake: Include V8NotificationCustom.cpp
22979        * WebCore.gypi: Include JSNotificationCustom.cpp, V8NotificationCustom.cpp, JSNotificationPermissionCallback.{h,cpp}
22980        * WebCore.vcproj/WebCore.vcproj: Include JSNotificationCustom.cpp, JSNotificationPermissionCallback.{h,cpp}
22981        * WebCore.exp.in: Export permissionString().
22982        * WebCore.xcodeproj/project.pbxproj: Add callback idl, h, and cpp files.
22983
229842012-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
22985
22986        Unreviewed, rolling out r115907.
22987        http://trac.webkit.org/changeset/115907
22988        https://bugs.webkit.org/show_bug.cgi?id=85458
22989
22990        It broke all viewport tests on Qt and on GTK (Requested by
22991        Ossy on #webkit).
22992
22993        * dom/ViewportArguments.cpp:
22994        (WebCore::computeViewportAttributes):
22995        * dom/ViewportArguments.h:
22996        (ViewportAttributes):
22997
229982012-05-02  Gustavo Noronha Silva  <gns@gnome.org>
22999
23000        [GTK] Finish moving modules into libWebCoreModules.la
23001        https://bugs.webkit.org/show_bug.cgi?id=85449
23002
23003        Unreviewed build fix.
23004
23005        * GNUmakefile.list.am: move remaining modules source files into the
23006        libWebCoreModules library, this should fix the problems people had
23007        building the 1.9.1 tarball with unpatched make.
23008
230092012-05-02  Dongwoo Im  <dw.im@samsung.com>
23010
23011        [EFL] Unreviewed, Fix build break when WEB_AUDIO is enabled.
23012        https://bugs.webkit.org/show_bug.cgi?id=85443
23013
23014        Unreviewed build fix.
23015
23016        Three new files were added in the Modules/webaudio directory.
23017        These files should be included into the CMakeLists.txt file.
23018
23019        * CMakeLists.txt: Add the newly created files into the CMakeLists.txt
23020
230212012-05-02  Eric Seidel  <eric@webkit.org>
23022
23023        Sort ENABLE_ defines in FeatureDefines.xcconfig files to make them easier to compare with one another (and easier to autogenerate)
23024        https://bugs.webkit.org/show_bug.cgi?id=85433
23025
23026        Reviewed by Adam Barth.
23027
23028        I have a script which can autogenerate these xcconfig files as well as the
23029        vsprops files (and soon the Chromium, cmake, gnumake and qmake) feature lists
23030        from a central feature list file.
23031        In preparation for posting such a tool, I'm re-sorting these xcconfig files to be
23032        alphabetically ordered (currently they're close, but not quite).
23033        There is also at least one inconsistency between these files (CSS_LEGACY_PREFIXES) which
23034        I will fix in a second pass.  I will also sort the FEATURE_DEFINES = line in a follow-up patch.
23035
23036        * Configurations/FeatureDefines.xcconfig:
23037
230382012-05-02  Dana Jansens  <danakj@chromium.org>
23039
23040        [chromium] Don't occlude pixels in a surface that are needed for a background filter blur
23041        https://bugs.webkit.org/show_bug.cgi?id=84317
23042
23043        Reviewed by Adrienne Walker.
23044
23045        Blur filters move pixels around, so a pixel can influence the value of
23046        pixels at some distance away. If a pixel is not occluded, then all
23047        pixels within the radius of the blur may influence the value of that
23048        pixel, so they should also stay unoccluded.
23049
23050        For background filters, the pixels are read from the filter's target
23051        surface, so we remove occlusion from that target surface from pixels
23052        that will blur into visible pixels.
23053
23054        Unit test: CCOcclusionTrackerTestDontOccludePixelsNeededForBackgroundFilter
23055                   CCOcclusionTrackerTestTwoBackgroundFiltersReduceOcclusionTwice
23056                   CCOcclusionTrackerTestDontOccludePixelsNeededForBackgroundFilterWithClip
23057                   CCOcclusionTrackerTestDontReduceOcclusionBelowBackgroundFilter
23058                   CCOcclusionTrackerTestDontReduceOcclusionIfBackgroundFilterIsOccluded
23059                   CCOcclusionTrackerTestReduceOcclusionWhenBackgroundFilterIsPartiallyOccluded
23060
23061        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
23062        (WebCore::reduceOcclusion):
23063        (WebCore):
23064        (WebCore::reduceOcclusionBelowSurface):
23065        (WebCore::::leaveToTargetRenderSurface):
23066        (WebCore::::unoccludedContributingSurfaceContentRect):
23067        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
23068        (CCOcclusionTrackerBase):
23069        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
23070        (WebCore::CCQuadCuller::appendSurface):
23071        (WebCore::CCQuadCuller::appendReplica):
23072
230732012-05-02  Levi Weintraub  <leviw@chromium.org>
23074
23075        Convert FractionalLayoutUnit overflow assertions to stderr warnings
23076        https://bugs.webkit.org/show_bug.cgi?id=85393
23077
23078        Reviewed by Eric Seidel.
23079
23080        Writing warnings to stderr when FractionalLayoutUnits overflow on debug builds instead of asserting
23081        and crashing. It can be very useful to WebKit developers know when overflow is occurring, but it's
23082        not always a programming error, so assert wasn't the right action.
23083
23084        No new tests. No change in behavior.
23085
23086        * platform/FractionalLayoutUnit.h:
23087        (WebCore):
23088        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
23089        (WebCore::FractionalLayoutUnit::toUnsigned):
23090        (WebCore::FractionalLayoutUnit::setRawValue):
23091
230922012-04-18  Jon Honeycutt  <jhoneycutt@apple.com>
23093
23094        FrameLoaderClient::dispatchWillSendSubmitEvent() should be given more
23095        information about the form being submitted
23096        https://bugs.webkit.org/show_bug.cgi?id=84297
23097
23098        Reviewed by Andy Estes.
23099
23100        * html/HTMLFormElement.cpp:
23101        (WebCore::HTMLFormElement::prepareForSubmission):
23102        Get the form field names and values, and use them to create a FormState
23103        object. Pass this object when calling dispatchWillSendSubmitEvent().
23104        (WebCore::HTMLFormElement::getTextFieldValues):
23105        Loop over the associated elements, looking for <input> elements.
23106        Collect their names and values.
23107
23108        * html/HTMLFormElement.h:
23109        Declare getTextFieldData().
23110
23111        * loader/EmptyClients.h:
23112        (WebCore::EmptyFrameLoaderClient::dispatchWillSendSubmitEvent):
23113        Updated declaration for new parameter type.
23114
23115        * loader/FrameLoaderClient.h:
23116        Updated declaration of dispatchWillSendSubmitEvent() for new param
23117        type.
23118
231192012-04-13  Jon Honeycutt  <jhoneycutt@apple.com>
23120
23121        Make Page::setDefersLoading() have a call count so that each time
23122        loading is deferred, it must be balanced with a call to resume.
23123        https://bugs.webkit.org/show_bug.cgi?id=84522
23124
23125        Reviewed by Andy Estes.
23126
23127        * page/Page.cpp:
23128        (WebCore::Page::Page):
23129        Initialize new call count member.
23130        (WebCore::Page::setDefersLoading):
23131        Check whether the callers wants balanced defer/resume loading behavior.
23132        If the call count is not changing from 0 to 1 or 1 to 0, return early.
23133        Otherwise, defer or resume loading for frames in this page.
23134
23135        * page/Page.h:
23136        (WebCore::Page::defersLoading):
23137        Added a member to hold the call count.
23138
23139        * page/Settings.cpp:
23140        (WebCore::Settings::Settings):
23141        Initialized new member m_wantsBalancedSetDefersLoadingBehavior.
23142
23143        * page/Settings.h:
23144        (Settings):
23145        Added new member m_wantsBalancedSetDefersLoadingBehavior.
23146        (WebCore::Settings::setWantsBalancedSetDefersLoadingBehavior):
23147        Setter.
23148        (WebCore::Settings::wantsBalancedSetDefersLoadingBehavior):
23149        Getter.
23150
231512012-05-02  Ojan Vafai  <ojan@chromium.org>
23152
23153        Add a histogram for rendertree size
23154        https://bugs.webkit.org/show_bug.cgi?id=85226
23155
23156        Reviewed by Eric Seidel.
23157
23158        We record it when the page gets hidden, since this is a point
23159        at which, in theory, we could kill the rendertree.
23160
23161        No new tests. This isn't web visible, so there's no way to test it.
23162
23163        * loader/FrameLoader.cpp:
23164        (WebCore::FrameLoader::clear):
23165        * page/Page.cpp:
23166        (WebCore::Page::renderTreeSize):
23167        (WebCore):
23168        (WebCore::Page::setVisibilityState):
23169        * page/Page.h:
23170        (Page):
23171        * platform/HistogramSupport.cpp:
23172        (WebCore::HistogramSupport::histogramCustomCounts):
23173        (WebCore):
23174        * platform/HistogramSupport.h:
23175        (HistogramSupport):
23176        * platform/chromium/HistogramSupportChromium.cpp:
23177        (WebCore::HistogramSupport::histogramCustomCounts):
23178        (WebCore):
23179
231802012-05-02  Sheriff Bot  <webkit.review.bot@gmail.com>
23181
23182        Unreviewed, rolling out r115902.
23183        http://trac.webkit.org/changeset/115902
23184        https://bugs.webkit.org/show_bug.cgi?id=85441
23185
23186        Compile failure on linux 32 (Requested by zhenyao on #webkit).
23187
23188        * Modules/indexeddb/IDBBackingStore.h:
23189        (IDBBackingStore):
23190        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
23191        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
23192        * Modules/indexeddb/IDBLevelDBBackingStore.h:
23193        (IDBLevelDBBackingStore):
23194        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
23195        (WebCore::IDBObjectStoreBackendImpl::putInternal):
23196        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
23197        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
23198        (IDBObjectStoreBackendImpl):
23199
232002012-05-02  Julien Chaffraix  <jchaffraix@webkit.org>
23201
23202        Add ASSERTs to avoid querying dirtied z-index or normal flow lists on RenderLayer
23203        https://bugs.webkit.org/show_bug.cgi?id=84920
23204
23205        Reviewed by Simon Fraser.
23206
23207        Covered by existing tests in Debug (at least several time!).
23208
23209        This change adds some ASSERTs on RenderLayer that prevent any use of its lists if they
23210        are dirtied.
23211
23212        On top of this change, we added an invariant that non-stacking contexts should have their
23213        z-index lists NULL (instead of empty or NULL previously). This is enforced at
23214        updateZOrderLists time as we now ensure that it is called in a timely manner.
23215
23216        * rendering/RenderLayer.cpp:
23217        (WebCore::RenderLayer::calculateLayerBounds):
23218        Added call to updateLayersIfNeeded as we will query them later and there is no guarantee
23219        that they are not dirty (we recurse in our children as part of calculateLayerBounds).
23220        This was causing the new ASSERTs to trigger on css3/filter/ tests.
23221
23222        (WebCore::RenderLayer::dirtyZOrderLists):
23223        Added a comment as to why we can't ASSERT that we are in a stacking context here.
23224
23225        (WebCore::RenderLayer::rebuildZOrderLists):
23226        Added an ASSERT that we only rebuild z-index lists for dirtied stacking context.
23227
23228        (WebCore::RenderLayer::updateLayerListsIfNeeded):
23229        Updated to ensure that the reflection layer has its layers updated too. This was triggering
23230        the new ASSERTs on fast/runins/run-in-layer-not-removed-crash.html.
23231
23232        (WebCore::RenderLayer::updateCompositingAndLayerListsIfNeeded):
23233        Updated to use the new isDirtyStackingContext function.
23234
23235        * rendering/RenderLayer.h:
23236        (WebCore::RenderLayer::isDirtyStackingContext):
23237        New helper function. Also made updateLayerListsIfNeeded() the only way
23238        to update layer. That should prevent any misuse.
23239
23240        (WebCore::RenderLayer::posZOrderList):
23241        (WebCore::RenderLayer::negZOrderList):
23242        (WebCore::RenderLayer::normalFlowList):
23243        ASSERT that we don't query any of the previous lists if they are dirty. Also
23244        enforce the invariant that non-stacking contexts should have NULL z-index lists.
23245
23246        (WebCore::RenderLayer::clearZOrderLists):
23247        New function to clearZOrderLists so that we can enfore the previous invariant.
23248
23249        (WebCore::RenderLayer::updateZOrderLists):
23250        Updated to clear the dirty flag and the z-index lists for non-stacking context.
23251
23252        * rendering/RenderLayerCompositor.cpp:
23253        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
23254        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
23255        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
23256        Removed the explicit ASSERTs.
23257
23258        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
23259        (WebCore::RenderLayerCompositor::canBeComposited):
23260        Disabled compositing on RenderLayer in flow thread. Because flow thread's
23261        RenderLayer are not collected as part of RenderLayer's lists and could be composited,
23262        this was causing the new ASSERTs to trigger (e.g. on fast/regions/webkit-flow-renderer-layer.html).
23263
23264        * rendering/RenderTreeAsText.cpp:
23265        (WebCore::writeLayers):
23266        Updated to use updateLayerListsIfNeeded().
23267
232682012-05-02  Levi Weintraub  <leviw@chromium.org>
23269
23270        Remove unused adjustForAbsoluteZoom method in RenderObject.h
23271        https://bugs.webkit.org/show_bug.cgi?id=85396
23272
23273        Reviewed by Eric Seidel.
23274
23275        We only want to use the integer adjustForAbsoluteZoom method, so this remnant is both unused
23276        and potentially confusing.
23277
23278        No new tests. Removing unused code.
23279
23280        * rendering/RenderObject.h:
23281        (WebCore):
23282
232832012-05-02  Fady Samuel  <fsamuel@chromium.org>
23284
23285        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
23286        https://bugs.webkit.org/show_bug.cgi?id=70609
23287
23288        Reviewed by Kenneth Rohde Christiansen.
23289
23290        Make ViewportAttributes' layoutSize be a FloatRect to avoid rounding
23291        too early, and the occasional off by one fixed layout dimensions.
23292
23293        * dom/ViewportArguments.cpp:
23294        (WebCore::computeViewportAttributes):
23295        * dom/ViewportArguments.h:
23296        (ViewportAttributes):
23297
232982012-05-02  Joshua Bell  <jsbell@chromium.org>
23299
23300        IndexedDB: Handle generated keys up to 2^53
23301        https://bugs.webkit.org/show_bug.cgi?id=85114
23302
23303        The spec defines the behavior for generated keys up to 2^53
23304        (the maximum integer storable as an ECMAScript number) and
23305        the error case when going beyond that. Ensure that we can
23306        handle values up to that point and generate errors beyond.
23307
23308        Reviewed by Tony Chang.
23309
23310        Test: storage/indexeddb/key-generator.html
23311
23312        * Modules/indexeddb/IDBBackingStore.h:
23313        (IDBBackingStore):
23314        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
23315        (WebCore::IDBLevelDBBackingStore::nextAutoIncrementNumber):
23316        * Modules/indexeddb/IDBLevelDBBackingStore.h:
23317        (IDBLevelDBBackingStore):
23318        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
23319        (WebCore::IDBObjectStoreBackendImpl::putInternal):
23320        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
23321        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
23322        (IDBObjectStoreBackendImpl):
23323
233242012-05-02  Adam Klein  <adamk@chromium.org>
23325
23326        Childlist mutations in shadow DOM should be observable with MutationObservers
23327        https://bugs.webkit.org/show_bug.cgi?id=85402
23328
23329        Reviewed by Ojan Vafai.
23330
23331        Though Mutation Events are not supported in Shadow DOM,
23332        MutationObservers are supposed to be. Due to a misplacement of the
23333        ChildListMutationScope, they were erroneously getting skipped.
23334
23335        This patch moves code around to properly notify when childlist are
23336        mutated in shadow DOM and covers that change with a new test.
23337
23338        Test: fast/mutation/shadow-dom.html
23339
23340        * dom/ContainerNode.cpp:
23341        (WebCore::willRemoveChild): Handle notification of removal directly.
23342        (WebCore::willRemoveChildren): ditto.
23343        (WebCore::dispatchChildInsertionEvents): Remove notification of insertion.
23344        (WebCore::dispatchChildRemovalEvents): Remove notification of removal.
23345        (WebCore::updateTreeAfterInsertion): Handle notification of insertion directly.
23346
233472012-05-02  Eric Carlson  <eric.carlson@apple.com>
23348
23349        Crash in WebCore::TextTrackList::remove
23350        https://bugs.webkit.org/show_bug.cgi?id=85095
23351
23352        Reviewed by Maciej Stachowiak.
23353
23354        Test: media/track/track-remove-quickly.html
23355
23356        * html/HTMLMediaElement.cpp:
23357        (WebCore::HTMLMediaElement::willRemoveTrack): Return immediately if the tracks collection
23358            has not been allocated yet.
23359
233602012-05-02  David Barton  <dbarton@mathscribe.com>
23361
23362        After appending MathML with jquery the table renders with overlaps
23363        https://bugs.webkit.org/show_bug.cgi?id=52444
23364
23365        Reviewed by Julien Chaffraix.
23366
23367        This patch also fixes bugs 72834 and 47781. The main problem is that correct preferred
23368        logical widths are affected by operator stretching. Thus we add a call to
23369        setNeedsLayoutAndPrefWidthsRecalc() after the stretching code in
23370        RenderMathMLOperator.cpp, and change RenderMathMLBlock and RenderMathMLRow to make sure
23371        that stretching of children is done before an <mrow>'s preferred logical widths are
23372        computed.
23373        
23374        Test: Added a test to mathml/presentation/mo-stretch.html
23375
23376        * rendering/mathml/RenderMathMLBlock.cpp:
23377        (WebCore::RenderMathMLBlock::RenderMathMLBlock):
23378        (WebCore::RenderMathMLBlock::computePreferredLogicalWidths):
23379        (WebCore::RenderMathMLBlock::computeChildrenPreferredLogicalHeights):
23380        (WebCore::RenderMathMLBlock::preferredLogicalHeightAfterSizing):
23381        * rendering/mathml/RenderMathMLBlock.h:
23382        (WebCore::RenderMathMLBlock::unembellishedOperator):
23383        (WebCore::RenderMathMLBlock::isPreferredLogicalHeightDirty):
23384        (WebCore::RenderMathMLBlock::preferredLogicalHeight):
23385        (WebCore::RenderMathMLBlock::setPreferredLogicalHeight):
23386            - Add m_preferredLogicalHeight and methods to compute and return it.
23387            - Remove stretchToHeight() from most classes as it no longer needs to be done
23388              recursively. We just call it on the base of an embellished operator, and that
23389              calls setNeedsLayoutAndPrefWidthsRecalc() to mark itself and its container
23390              chain.
23391        
23392        * rendering/mathml/RenderMathMLOperator.cpp:
23393        (WebCore::RenderMathMLOperator::stretchToHeight):
23394            - Don't compare an unexpanded height to an expanded one.
23395        (WebCore::RenderMathMLOperator::computePreferredLogicalWidths):
23396        (WebCore::RenderMathMLOperator::updateFromElement):
23397            - After stretching, call setNeedsLayoutAndPrefWidthsRecalc().
23398        * rendering/mathml/RenderMathMLOperator.h:
23399        (RenderMathMLOperator):
23400        
23401        * rendering/mathml/RenderMathMLRow.cpp:
23402        (WebCore::RenderMathMLRow::computePreferredLogicalWidths):
23403        (WebCore::RenderMathMLRow::layout):
23404        * rendering/mathml/RenderMathMLRow.h:
23405        (RenderMathMLRow):
23406            - Add computePreferredLogicalWidths(), using computeChildrenPreferredLogicalHeights()
23407              to compute our children's preferred logical heights if necessary, followed by
23408              operator stretching.
23409        
23410        * rendering/mathml/RenderMathMLSubSup.cpp:
23411        * rendering/mathml/RenderMathMLSubSup.h:
23412        (RenderMathMLSubSup):
23413        * rendering/mathml/RenderMathMLUnderOver.cpp:
23414        * rendering/mathml/RenderMathMLUnderOver.h:
23415        (RenderMathMLUnderOver):
23416
234172012-05-02  Dana Jansens  <danakj@chromium.org>
23418
23419        [chromium] Avoid extra Region copies in CCOcclusionTracker
23420        https://bugs.webkit.org/show_bug.cgi?id=85257
23421
23422        Reviewed by Adrienne Walker.
23423
23424        Instead of making a Region for each layer and then uniting the region
23425        with the current occlusion, directly add the rects for the given layer
23426        to the current occlusion.
23427
23428        When subtracting a region from a rect, just subtract the region
23429        directly instead of computing the intersecting region.
23430
23431        Covered by existing tests.
23432
23433        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
23434        (WebCore::addOcclusionBehindLayer):
23435        (WebCore::::markOccludedBehindLayer):
23436        (WebCore::rectSubtractRegion):
23437
234382012-05-02  Keith Rosenblatt  <keith.rosenblatt@nokia.com>
23439
23440        [Qt] ASSERT in FontCustomPlatformDataQt.cpp with invalid font in data URI
23441        https://bugs.webkit.org/show_bug.cgi?id=85089
23442
23443        Reviewed by Simon Hausmann.
23444
23445        Do not return data referencing an invalid QRawFont from createFontCustomPlatformData().  Instead
23446        return null.
23447
23448        Test: fast/css/font-face-data-uri-invalid.html
23449
23450        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
23451        (WebCore::createFontCustomPlatformData):
23452
234532012-05-02  Michal Mocny  <mmocny@google.com>
23454
23455        [chromium] Set contents texture manager preferred memory limit based on GpuMemoryManager suggestion.
23456        https://bugs.webkit.org/show_bug.cgi?id=84270
23457
23458        Reviewed by Kenneth Russell.
23459
23460        Updates the content texture manager memory limits based on GpuMemoryManager memory allocation suggestions.
23461
23462        The memory allocation size (in bytes) is fed from LayerRendererChromium memory allocation changed callback
23463        handler to CCLayerTreeHost.  At that point we adjust the limits, using the existing notions of preferred and
23464        max limits.
23465
23466        On android, the preferred limit is half the maximum (as it has always been), but on all other platforms the
23467        preferred limit is now equal to max, in order to allow more agressive prepainting.
23468
23469        Finally, android has memory constraints dependant on viewportSize, but that logic has been pushed into
23470        the GpuMemoryManager.
23471
23472        * platform/graphics/chromium/LayerRendererChromium.cpp:
23473        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
23474        (WebCore::LayerRendererChromium::beginDrawingFrame):
23475        * platform/graphics/chromium/LayerRendererChromium.h:
23476        (LayerRendererChromiumClient):
23477        * platform/graphics/chromium/TextureManager.cpp:
23478        (WebCore::TextureManager::setMemoryAllocationLimitBytes):
23479        (WebCore):
23480        * platform/graphics/chromium/TextureManager.h:
23481        (TextureManager):
23482        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
23483        (WebCore::CCLayerTreeHost::setViewportSize):
23484        (WebCore::CCLayerTreeHost::setContentsMemoryAllocationLimitBytes):
23485        (WebCore):
23486        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
23487        (CCLayerTreeHost):
23488        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
23489        (WebCore::CCLayerTreeHostImpl::setContentsMemoryAllocationLimitBytes):
23490        (WebCore):
23491        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
23492        (CCLayerTreeHostImplClient):
23493        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
23494        (WebCore::CCSingleThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
23495        (WebCore):
23496        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
23497        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
23498        (WebCore::CCThreadProxy::postSetContentsMemoryAllocationLimitBytesToMainThreadOnImplThread):
23499        (WebCore):
23500        (WebCore::CCThreadProxy::setContentsMemoryAllocationLimitBytes):
23501        * platform/graphics/chromium/cc/CCThreadProxy.h:
23502        (CCThreadProxy):
23503
235042012-05-02  Emil A Eklund  <eae@chromium.org>
23505
23506        Fix usage of layout types in platform code
23507        https://bugs.webkit.org/show_bug.cgi?id=85392
23508
23509        Reviewed by Eric Seidel.
23510
23511        No new tests, no change in functionality.
23512
23513        * page/EventHandler.cpp:
23514        (WebCore::EventHandler::handleGestureTap):
23515        Use rounded point for gestures as event handling is still mostly int based.
23516
235172012-05-02  Kenneth Russell  <kbr@google.com>
23518
23519        Don't allocate stencil buffer if stencil flag is false in context creation attributes
23520        https://bugs.webkit.org/show_bug.cgi?id=85317
23521
23522        Reviewed by Dimitri Glazkov.
23523
23524        Make it appear to WebGL application that there is no stencil
23525        buffer even if the underlying GraphicsContext3D allocated one.
23526        Verified intended behavior with test case from Mozilla's bug report.
23527
23528        Updated context-attributes-alpha-depth-stencil-antialias.html test
23529        from Khronos repository. Ran WebGL layout tests on Linux in
23530        Chrome's DRT and on Mac OS in Safari's.
23531
23532        * html/canvas/WebGLFramebuffer.cpp:
23533        (WebCore::WebGLFramebuffer::hasStencilBuffer): Added query method.
23534        (WebCore): Changed desired semantics of isValidRenderbuffer.
23535        * html/canvas/WebGLFramebuffer.h:
23536        (WebGLFramebuffer): Added hasStencilBuffer.
23537        * html/canvas/WebGLRenderingContext.cpp:
23538        (WebCore):
23539        (WebCore::WebGLRenderingContext::initializeNewContext):
23540            Clear new flag.
23541        (WebCore::WebGLRenderingContext::bindFramebuffer):
23542            Reset stencil test upon framebuffer change.
23543        (WebCore::WebGLRenderingContext::disable):
23544            Cache flag; reset stencil test.
23545        (WebCore::WebGLRenderingContext::enable):
23546            Cache flag; reset stencil test.
23547        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
23548            Reset stencil test upon renderbuffer change.
23549        (WebCore::WebGLRenderingContext::getContextAttributes):
23550            Force depth and stencil to false if false was requested.
23551        (WebCore::WebGLRenderingContext::isEnabled):
23552            Return cached flag.
23553        (WebCore::WebGLRenderingContext::renderbufferStorage):
23554            Reset stencil test upon renderbuffer reallocation.
23555        (WebCore::WebGLRenderingContext::applyStencilTest):
23556            Enable or disable stencil test based on request and availability.
23557        (WebCore::WebGLRenderingContext::enableOrDisable):
23558            Helper function.
23559        * html/canvas/WebGLRenderingContext.h:
23560        (WebGLRenderingContext):
23561            Added cache of STENCIL_TEST flag. Deleted unused m_stencilBits.
23562
235632012-05-02  Ryosuke Niwa  <rniwa@webkit.org>
23564
23565        Drag and drop text into table is pasting the text in the next <td> element
23566        https://bugs.webkit.org/show_bug.cgi?id=75004
23567
23568        Reviewed by Darin Adler.
23569
23570        The bug was caused by ReplaceSelectionCommand adjusting the insertion position to be before
23571        of the block element containing the insertion position even when the block element is a table cell.
23572
23573        Fixed the bug by not moving the insertion position before the table cell in this case.
23574
23575        Test: editing/pasteboard/paste-into-table-cell.html
23576
23577        * editing/ReplaceSelectionCommand.cpp:
23578        (WebCore::ReplaceSelectionCommand::doApply):
23579
235802012-05-02  Beth Dakin  <bdakin@apple.com>
23581
23582        https://bugs.webkit.org/show_bug.cgi?id=85309
23583        supportsExpandedScrollbars() should check for the method we actually call rather 
23584        than a related method
23585
23586        Reviewed by Anders Carlsson.
23587
23588        Missing colon.
23589        * platform/mac/ScrollbarThemeMac.mm:
23590        (WebCore::supportsExpandedScrollbars):
23591
235922012-05-02  Antti Koivisto  <antti@apple.com>
23593
23594        Move title and media queries from StyleSheetInternal to CSSStyleSheet
23595        https://bugs.webkit.org/show_bug.cgi?id=85387
23596
23597        Reviewed by Anders Carlsson.
23598
23599        Stylesheet title and media queries are determined by the owner, not by the stylesheet itself.
23600        The fields belong to CSSStyleSheet.
23601        
23602        This will make it easier to share StyleSheetInternal instances between documents.
23603
23604        * css/CSSStyleSheet.cpp:
23605        (WebCore::StyleSheetInternal::StyleSheetInternal):
23606        (WebCore::StyleSheetInternal::isCacheable):
23607        (WebCore):
23608        (WebCore::CSSStyleSheet::setDisabled):
23609        
23610            Invalidate the document style directly instead of ping-ponging through StyleSheetInternal.
23611
23612        (WebCore::CSSStyleSheet::setMediaQueries):
23613        (WebCore::CSSStyleSheet::media):
23614        * css/CSSStyleSheet.h:
23615        (StyleSheetInternal):
23616        (WebCore::StyleSheetInternal::originalURL):
23617        (WebCore::StyleSheetInternal::hasCharsetRule):
23618        (WebCore::CSSStyleSheet::mediaQueries):
23619        (CSSStyleSheet):
23620        (WebCore::CSSStyleSheet::setTitle):
23621        * css/StyleResolver.cpp:
23622        (WebCore::StyleResolver::appendAuthorStylesheets):
23623        (WebCore::StyleResolver::collectMatchingRulesForList):
23624        * dom/DOMImplementation.cpp:
23625        (WebCore::DOMImplementation::createCSSStyleSheet):
23626        * dom/ProcessingInstruction.cpp:
23627        (WebCore::ProcessingInstruction::setCSSStyleSheet):
23628        * dom/StyleElement.cpp:
23629        (WebCore::StyleElement::createSheet):
23630        * html/HTMLLinkElement.cpp:
23631        (WebCore::HTMLLinkElement::parseAttribute):
23632        (WebCore::HTMLLinkElement::setCSSStyleSheet):
23633        * html/HTMLStyleElement.cpp:
23634        (WebCore::HTMLStyleElement::parseAttribute):
23635        * svg/SVGStyleElement.cpp:
23636        (WebCore::SVGStyleElement::parseAttribute):
23637
236382012-05-02  Alexis Menard  <alexis.menard@openbossa.org>
23639
23640        Unreviewed Qt build fix with GCC 4.7.0.
23641
23642        * platform/qt/DeviceMotionProviderQt.h:
23643        (DeviceMotionProviderQt):
23644        * platform/qt/DeviceOrientationProviderQt.cpp:
23645        (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
23646        (WebCore):
23647        * platform/qt/DeviceOrientationProviderQt.h:
23648        (DeviceOrientationProviderQt):
23649
236502012-05-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
23651
23652        [Texmap] Enable css filters in TextureMapperGL
23653        https://bugs.webkit.org/show_bug.cgi?id=75778
23654
23655        Unreviewed build fix to greenify the Qt Minimal bot.
23656
23657        * platform/graphics/texmap/TextureMapperShaderManager.h:
23658
236592012-05-02  Philippe Normand  <pnormand@igalia.com>
23660
23661        [GTK] Compilation warnings in RenderTheme
23662        https://bugs.webkit.org/show_bug.cgi?id=85286
23663
23664        Reviewed by Martin Robinson.
23665
23666        Removed un-needed code and refactored fileListNameForWidth
23667        accordingly to avoid un-used variable warnings during compilation.
23668
23669        * platform/gtk/RenderThemeGtk.cpp:
23670        (WebCore):
23671        (WebCore::RenderThemeGtk::fileListNameForWidth):
23672
236732012-05-02  Ryosuke Niwa  <rniwa@webkit.org>
23674
23675        NULL ptr in WebCore::AppendNodeCommand::AppendNodeCommand
23676        https://bugs.webkit.org/show_bug.cgi?id=75843
23677
23678        Reviewed by Tony Chang.
23679
23680        The crash was caused by indentIntoBlockquote's passing a bad outerBlock to moveParagraphsWithClone.
23681
23682        When the position is created after blockquote in the following DOM:
23683        BODY
23684        * BLOCKQUOTE style=margin: 0 0 0 40px; border: none; padding: 0px;
23685            E
23686                #text "\nx\n"
23687        VisiblePosition's constructor (of startOfContents) turns the position into a legacy position (blockquote, 0).
23688        The crash occurs because this position doesn't belong in the same paragraph as E, which is the paragraph
23689        we're trying to move into the blockquote.
23690
23691        Fixed bug by calling positionInParentAfterNode instead of positionAfterNode for now. We should eventually be
23692        able to use positionAfterNode here once VisiblePosition's constructor starts handling before/after positions
23693        properly.
23694
23695        Test: editing/execCommand/indent-with-after-content-crash.html
23696
23697        * editing/IndentOutdentCommand.cpp:
23698        (WebCore::IndentOutdentCommand::indentIntoBlockquote):
23699
237002012-05-02  Jer Noble  <jer.noble@apple.com>
23701
23702        WebWindowFadeAnimation ignores "duration" parameter.
23703        https://bugs.webkit.org/show_bug.cgi?id=85386
23704
23705        Reviewed by Brady Eidson.
23706
23707        Ignoring the "duration" parameter causes the full screen fade and scale animations
23708        to get out of sync.
23709
23710        * platform/mac/WebWindowAnimation.mm:
23711        (-[WebWindowFadeAnimation initWithDuration:window:initialAlpha:finalAlpha:]):
23712
237132012-05-02  Julien Chaffraix  <jchaffraix@webkit.org>
23714
23715        REGRESSION(110072): Clipping is not applied on layers that are animated using platform code
23716        https://bugs.webkit.org/show_bug.cgi?id=83954
23717
23718        Reviewed by Simon Fraser.
23719
23720        Tests: fast/layers/no-clipping-overflow-hidden-added-after-transform-expected.html
23721               fast/layers/no-clipping-overflow-hidden-added-after-transform.html
23722               fast/layers/no-clipping-overflow-hidden-added-after-transition-expected.html
23723               fast/layers/no-clipping-overflow-hidden-added-after-transition.html
23724               fast/layers/no-clipping-overflow-hidden-hardware-acceleration-expected.html
23725               fast/layers/no-clipping-overflow-hidden-hardware-acceleration.html
23726               (and all the tests that will need to be rebaselined)
23727
23728        r110072 changed the way we create layers to lazily allocate overflow: hidden ones
23729        based on layout overflow. However with hardware acceleration, certain operations
23730        do cause overflow without actually calling layout (the test cases added as part
23731        of this change are using transition / animation). This means that those cases
23732        wouldn't properly clip.
23733
23734        Due to the above issue and the other regressions from r110072, the easiest fix is
23735        to just to roll it out.
23736
23737        * rendering/RenderBox.h:
23738        Changed to allocate a layer whenever we have an overflow clip.
23739
23740        * rendering/RenderBox.cpp:
23741        (WebCore::RenderBox::scrolledContentOffset):
23742        (WebCore::RenderBox::cachedSizeForOverflowClip):
23743        Reverted those 2 to avoid using the cached size logic.
23744
23745        * rendering/RenderBlock.cpp:
23746        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
23747        (WebCore::RenderBlock::layoutBlock):
23748        (WebCore::RenderBlock::paint):
23749        (WebCore::RenderBlock::isPointInOverflowControl):
23750        * rendering/RenderBlock.h:
23751        * rendering/RenderBox.cpp:
23752        (WebCore::RenderBox::willBeDestroyed):
23753        (WebCore::RenderBox::styleDidChange):
23754        (WebCore::RenderBox::layout):
23755        (WebCore::RenderBox::scrollWidth):
23756        (WebCore::RenderBox::scrollHeight):
23757        (WebCore::RenderBox::scrollLeft):
23758        (WebCore::RenderBox::scrollTop):
23759        (WebCore::RenderBox::setScrollLeft):
23760        (WebCore::RenderBox::setScrollTop):
23761        (WebCore::RenderBox::includeVerticalScrollbarSize):
23762        (WebCore::RenderBox::includeHorizontalScrollbarSize):
23763        (WebCore::RenderBox::pushContentsClip):
23764        (WebCore::RenderBox::popContentsClip):
23765        (WebCore::RenderBox::addLayoutOverflow):
23766        * rendering/RenderBoxModelObject.cpp:
23767        (WebCore::RenderBoxModelObject::styleDidChange):
23768        * rendering/RenderBoxModelObject.h:
23769        (RenderBoxModelObject):
23770        * rendering/RenderDeprecatedFlexibleBox.cpp:
23771        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
23772        * rendering/RenderFlexibleBox.cpp:
23773        (WebCore::RenderFlexibleBox::layoutBlock):
23774        * rendering/RenderTable.cpp:
23775        (WebCore::RenderTable::layout):
23776        * rendering/RenderTableRow.h:
23777        (RenderTableRow):
23778        * rendering/RenderTableSection.cpp:
23779        (WebCore::RenderTableSection::layout):
23780        Removed the previous scaffolding code and reverted some functions to
23781        being private (as they were prior to r110072).
23782
237832012-05-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
23784
23785        [Texmap] Enable css filters in TextureMapperGL
23786        https://bugs.webkit.org/show_bug.cgi?id=75778
23787
23788        Reviewed by Jocelyn Turcotte.
23789
23790        Added support for color filters in TextureMapperGL. Blur and shadow would be done in a
23791        different patch.
23792
23793        Modified BitmapTexture::applyFilters to return a texture, since GL cannot paint a texture
23794        into itself.
23795        Created a shader map for standard filters, since all of them work more or less the same way
23796        with a single uniform. Added the colorization shaders based on the W3C filter spec, as
23797        already implemented in FEFilterRenderer.cpp and FEColorMatrix.cpp.
23798        We use two swapping textures to render the filters.
23799
23800        Covered by tests in css3/filters.
23801
23802        * platform/graphics/texmap/TextureMapper.cpp:
23803        (WebCore::TextureMapper::acquireTextureFromPool):
23804        * platform/graphics/texmap/TextureMapper.h:
23805        (WebCore::BitmapTexture::applyFilters):
23806        * platform/graphics/texmap/TextureMapperGL.cpp:
23807        (WebCore::BitmapTextureGL::updateContents):
23808        (WebCore):
23809        (WebCore::TextureMapperGL::drawFiltered):
23810        (WebCore::BitmapTextureGL::applyFilters):
23811        (WebCore::BitmapTextureGL::bind):
23812        * platform/graphics/texmap/TextureMapperGL.h:
23813        (TextureMapperGL):
23814        (BitmapTextureGL):
23815        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
23816        (WebCore::BitmapTextureImageBuffer::applyFilters):
23817        * platform/graphics/texmap/TextureMapperImageBuffer.h:
23818        (BitmapTextureImageBuffer):
23819        * platform/graphics/texmap/TextureMapperLayer.cpp:
23820        (WebCore::applyFilters):
23821        (WebCore::TextureMapperLayer::syncCompositingStateSelf):
23822        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
23823        (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
23824        (WebCore):
23825        (WebCore::StandardFilterProgram::~StandardFilterProgram):
23826        (WebCore::StandardFilterProgram::StandardFilterProgram):
23827        (WebCore::StandardFilterProgram::create):
23828        (WebCore::StandardFilterProgram::prepare):
23829        (WebCore::TextureMapperShaderManager::getShaderForFilter):
23830        * platform/graphics/texmap/TextureMapperShaderManager.h:
23831        (WebCore):
23832        (StandardFilterProgram):
23833        (WebCore::StandardFilterProgram::vertexAttrib):
23834        (WebCore::StandardFilterProgram::texCoordAttrib):
23835        (WebCore::StandardFilterProgram::textureUniform):
23836        (TextureMapperShaderManager):
23837
238382012-05-02  Philippe Normand  <pnormand@igalia.com>
23839
23840        [GTK] media/track/track-cue-rendering-snap-to-lines-not-set.html fails
23841        https://bugs.webkit.org/show_bug.cgi?id=84378
23842
23843        Reviewed by Eric Carlson.
23844
23845        Fix positioning of the controls panel back to relative, as it is
23846        in the parent CSS. Also remove some duplicate CSS attributes.
23847
23848        * css/mediaControlsGtk.css:
23849        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
23850
238512012-05-02  Beth Dakin  <bdakin@apple.com>
23852
23853        https://bugs.webkit.org/show_bug.cgi?id=85309
23854        supportsExpandedScrollbars() should check for the method we actually call rather 
23855        than a related method
23856        -and corresponding-
23857        <rdar://problem/11065691>
23858
23859        Reviewed by Anders Carlsson.
23860
23861        * platform/mac/ScrollbarThemeMac.mm:
23862        (WebCore::supportsExpandedScrollbars):
23863
238642012-05-02  Zalan Bujtas  <zbujtas@gmail.com>
23865
23866        [Qt] Remove redundant updateViewportArguments() call from HTMLBodyElement::didNotifyDescendantInseretions()
23867        https://bugs.webkit.org/show_bug.cgi?id=84241
23868
23869        Reviewed by Kenneth Rohde Christiansen.
23870
23871        No need to update viewport arguments when the body element is inserted into the Document.
23872        Viewport arguments are updated first when the Document is set on the Frame, and later
23873        on any subsequent occurence of the viewport meta tag in the document.
23874        It is sufficient to dispatch viewport update once per main frame, if no viewport meta tag is present.
23875
23876        Also add a flag to be able to track viewport argument update dispatch.
23877
23878        No tests. Currrent viewport tests cover this behaviour.
23879
23880        * dom/Document.cpp:
23881        (WebCore::Document::Document):
23882        (WebCore::Document::updateViewportArguments):
23883        (WebCore::Document::documentWillSuspendForPageCache):
23884        * dom/Document.h:
23885        (Document):
23886        (WebCore::Document::didDispatchViewportPropertiesChanged):
23887        * html/HTMLBodyElement.cpp:
23888        (WebCore::HTMLBodyElement::didNotifyDescendantInseretions):
23889
238902012-05-02  Pavel Feldman  <pfeldman@chromium.org>
23891
23892        Web Inspector: Cannot read property 'length' of undefined TextEditorModel.js:467
23893        https://bugs.webkit.org/show_bug.cgi?id=85360
23894
23895        Reviewed by Yury Semikhatsky.
23896
23897        Added the undo/redo stack length checks.
23898
23899        * inspector/front-end/TextEditorModel.js:
23900        (WebInspector.TextEditorModel.endsWithBracketRegex.):
23901
239022012-05-02  Pavel Feldman  <pfeldman@chromium.org>
23903
23904        WebInspector: Scripts panel editor dirty state is cleared when the tab with editor is closed.
23905        https://bugs.webkit.org/show_bug.cgi?id=85361
23906
23907        Reviewed by Yury Semikhatsky.
23908
23909        Added content validation upon script show.
23910
23911        * inspector/front-end/JavaScriptSourceFrame.js:
23912        (WebInspector.JavaScriptSourceFrame.prototype.wasShown):
23913
239142012-05-02  Pavel Feldman  <pfeldman@chromium.org>
23915
23916        Web Inspector: breakpoints are de-activated only upon the second click.
23917        https://bugs.webkit.org/show_bug.cgi?id=85359
23918
23919        Reviewed by Yury Semikhatsky.
23920
23921        Initial value for activated state is set.
23922
23923        * inspector/front-end/DebuggerModel.js:
23924        (WebInspector.DebuggerModel):
23925
239262012-05-02  Pavel Feldman  <pfeldman@chromium.org>
23927
23928        Web Inspector: live edit fails to report error
23929        https://bugs.webkit.org/show_bug.cgi?id=85357
23930
23931        Reviewed by Yury Semikhatsky.
23932
23933        ProtocolError is now a string, not an error object.
23934
23935        * inspector/front-end/DatabaseQueryView.js:
23936        (WebInspector.DatabaseQueryView.prototype._queryError):
23937        * inspector/front-end/SourceFrame.js:
23938        (WebInspector.SourceFrame.prototype.didEditContent):
23939
239402012-05-02  Lars Knudsen  <lars.knudsen@nokia.com>
23941
23942        [Qt] Make DeviceMotion and DeviceOrientation work with WebKit2
23943        https://bugs.webkit.org/show_bug.cgi?id=64595
23944
23945        Reviewed by Kenneth Rohde Christiansen.
23946
23947        No new tests added.  This change adds support for WK2
23948        what was in WK1.
23949
23950        Also moving DeviceMotion and DeviceOrientation clients and
23951        providers to WebCore.  This is done to allow clean dependencies
23952        when statically linking WK2.
23953
23954        * Target.pri:
23955        * WebCore.pri:
23956        * platform/qt/DeviceMotionClientQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionClientQt.cpp.
23957        (WebCore):
23958        (WebCore::DeviceMotionClientQt::~DeviceMotionClientQt):
23959        (WebCore::DeviceMotionClientQt::deviceMotionControllerDestroyed):
23960        (WebCore::DeviceMotionClientQt::setController):
23961        (WebCore::DeviceMotionClientQt::startUpdating):
23962        (WebCore::DeviceMotionClientQt::stopUpdating):
23963        (WebCore::DeviceMotionClientQt::currentDeviceMotion):
23964        * platform/qt/DeviceMotionClientQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionClientQt.h.
23965        (WebCore):
23966        (DeviceMotionClientQt):
23967        (WebCore::DeviceMotionClientQt::DeviceMotionClientQt):
23968        * platform/qt/DeviceMotionProviderQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.cpp.
23969        (WebCore):
23970        (WebCore::DeviceMotionProviderQt::DeviceMotionProviderQt):
23971        (WebCore::DeviceMotionProviderQt::~DeviceMotionProviderQt):
23972        (WebCore::DeviceMotionProviderQt::setController):
23973        (WebCore::DeviceMotionProviderQt::start):
23974        (WebCore::DeviceMotionProviderQt::stop):
23975        (WebCore::DeviceMotionProviderQt::filter):
23976        * platform/qt/DeviceMotionProviderQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceMotionProviderQt.h.
23977        (WebCore):
23978        (DeviceMotionProviderQt):
23979        (WebCore::DeviceMotionProviderQt::currentDeviceMotion):
23980        * platform/qt/DeviceOrientationClientQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.cpp.
23981        (WebCore):
23982        (WebCore::DeviceOrientationClientQt::deviceOrientationControllerDestroyed):
23983        (WebCore::DeviceOrientationClientQt::setController):
23984        (WebCore::DeviceOrientationClientQt::startUpdating):
23985        (WebCore::DeviceOrientationClientQt::stopUpdating):
23986        (WebCore::DeviceOrientationClientQt::lastOrientation):
23987        * platform/qt/DeviceOrientationClientQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationClientQt.h.
23988        (WebCore):
23989        (DeviceOrientationClientQt):
23990        * platform/qt/DeviceOrientationProviderQt.cpp: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.cpp.
23991        (WebCore):
23992        (WebCore::DeviceOrientationProviderQt::DeviceOrientationProviderQt):
23993        (WebCore::DeviceOrientationProviderQt::~DeviceOrientationProviderQt):
23994        (WebCore::DeviceOrientationProviderQt::setController):
23995        (WebCore::DeviceOrientationProviderQt::start):
23996        (WebCore::DeviceOrientationProviderQt::stop):
23997        (WebCore::DeviceOrientationProviderQt::filter):
23998        * platform/qt/DeviceOrientationProviderQt.h: Renamed from Source/WebKit/qt/WebCoreSupport/DeviceOrientationProviderQt.h.
23999        (WebCore):
24000        (DeviceOrientationProviderQt):
24001        (WebCore::DeviceOrientationProviderQt::isActive):
24002        (WebCore::DeviceOrientationProviderQt::lastOrientation):
24003        (WebCore::DeviceOrientationProviderQt::hasAlpha):
24004
240052012-05-02  Yury Semikhatsky  <yurys@chromium.org>
24006
24007        Web Inspector: exception in console when there are watch expressions
24008        https://bugs.webkit.org/show_bug.cgi?id=85351
24009
24010        Check if script execution is still paused before trying to resolve an
24011        object for script popover because execution may be resumed after popover
24012        showing is scheduled but before we start resolving the object under
24013        the cursor in which case there is no selected call frame any more and
24014        we should hide the popover.
24015
24016        Reviewed by Pavel Feldman.
24017
24018        * inspector/front-end/JavaScriptSourceFrame.js:
24019        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
24020
240212012-05-02  Tommy Widenflycht  <tommyw@google.com>
24022
24023        MediaStream API: Changing webkitGetUserMedia to take an object instead of a string
24024        https://bugs.webkit.org/show_bug.cgi?id=84850
24025
24026        Reviewed by Dimitri Glazkov.
24027
24028        The standard changed a while back to use an object as a dictionary but since JSC
24029        didn't support the Dictionary class until just recently we have not updated the API until now.
24030
24031        Change covered by existing, and edited, tests.
24032
24033        * Modules/mediastream/NavigatorMediaStream.cpp:
24034        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
24035        * Modules/mediastream/NavigatorMediaStream.h:
24036        (WebCore):
24037        (NavigatorMediaStream):
24038        * Modules/mediastream/NavigatorMediaStream.idl:
24039        * Modules/mediastream/UserMediaRequest.cpp:
24040        (WebCore::UserMediaRequest::create):
24041        (WebCore::UserMediaRequest::UserMediaRequest):
24042        * Modules/mediastream/UserMediaRequest.h:
24043        (WebCore):
24044        (UserMediaRequest):
24045        * platform/mediastream/MediaStreamSourcesQueryClient.h:
24046        (MediaStreamSourcesQueryClient):
24047
240482012-05-02  Antti Koivisto  <antti@apple.com>
24049
24050        StyleSheetInternal::parseUserStyleSheet() should be called parseAuthorStyleSheet().
24051
24052        Rubber-stamped by Nikolas Zimmermann.
24053
24054        * css/CSSImportRule.cpp:
24055        (WebCore::StyleRuleImport::setCSSStyleSheet):
24056        * css/CSSStyleSheet.cpp:
24057        (WebCore::StyleSheetInternal::parseAuthorStyleSheet):
24058        * css/CSSStyleSheet.h:
24059        (StyleSheetInternal):
24060        * html/HTMLLinkElement.cpp:
24061        (WebCore::HTMLLinkElement::setCSSStyleSheet):
24062
240632012-05-02  Yury Semikhatsky  <yurys@chromium.org>
24064
24065        REGRESSION: Web Inspector doesn't show cookies anymore
24066        https://bugs.webkit.org/show_bug.cgi?id=85349
24067
24068        Pass root node instead of DataGrid object to the "populateNode" method.
24069        Added compiler annotations so that closure compiler catches such errors.
24070
24071        Reviewed by Pavel Feldman.
24072
24073        * inspector/front-end/CookiesTable.js:
24074        (WebInspector.CookiesTable.prototype._rebuildTable):
24075        * inspector/front-end/NetworkRequest.js:
24076        (WebInspector.NetworkRequest.prototype.addFrameError):
24077
240782012-05-02  Dongwoo Im  <dw.im@samsung.com>
24079
24080        [EFL] Implement the Web Audio API feature.
24081        https://bugs.webkit.org/show_bug.cgi?id=78688
24082
24083        Reviewed by Philippe Normand.
24084
24085        Implement the Web Audio API feature on the EFL port.
24086        https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html
24087
24088        * CMakeLists.txt: Add the list of the files which are needed for the Web Audio APi.
24089        * PlatformEfl.cmake: Add the list of the files which are needed for the Web Audio APi.
24090        * UseJSC.cmake: Add the list of the files which are needed for the Web Audio APi.
24091        * platform/audio/HRTFElevation.cpp: Enable the USE_CONCATENATED_IMPULSE_RESPONSES macro.
24092        (WebCore):
24093        * platform/audio/efl/AudioBusEfl.cpp: Added.
24094        (WebCore):
24095        (WebCore::AudioBus::loadPlatformResource): Create the absolute path of the audio resource.
24096
240972012-05-01  Kentaro Hara  <haraken@chromium.org>
24098
24099        [V8] Add an Isolate parameter to setJSWrapperForXXX()
24100        https://bugs.webkit.org/show_bug.cgi?id=85329
24101
24102        Reviewed by Adam Barth.
24103
24104        The objective is to pass Isolate around in V8 bindings.
24105        This patch adds an Isolate parameter to setJSWrapperForXXX()
24106        and passes Isolate to setJSWrapperForXXX() in CodeGeneratorV8.pm.
24107        I'll pass Isolate to setJSWrapperForXXX() in custom bindings
24108        in a follow-up patch.
24109
24110        No tests. No change in behavior.
24111
24112        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
24113        (GenerateConstructorCallback):
24114        (GenerateEventConstructorCallback):
24115        (GenerateNamedConstructorCallback):
24116        (GenerateToV8Converters):
24117        * bindings/v8/V8DOMWrapper.cpp:
24118        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
24119        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode):
24120        * bindings/v8/V8DOMWrapper.h:
24121        (V8DOMWrapper):
24122        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
24123        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
24124
24125        * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
24126        (WebCore::V8Float64Array::wrapSlow):
24127        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
24128        (WebCore::V8TestActiveDOMObject::wrapSlow):
24129        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
24130        (WebCore::V8TestCustomNamedGetter::wrapSlow):
24131        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
24132        (WebCore::V8TestEventConstructor::constructorCallback):
24133        (WebCore::V8TestEventConstructor::wrapSlow):
24134        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
24135        (WebCore::V8TestEventTarget::wrapSlow):
24136        * bindings/scripts/test/V8/V8TestInterface.cpp:
24137        (WebCore::V8TestInterface::constructorCallback):
24138        (WebCore::V8TestInterface::wrapSlow):
24139        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
24140        (WebCore::V8TestMediaQueryListListener::wrapSlow):
24141        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
24142        (WebCore::V8TestNamedConstructorConstructorCallback):
24143        (WebCore::V8TestNamedConstructor::wrapSlow):
24144        * bindings/scripts/test/V8/V8TestNode.cpp:
24145        (WebCore::V8TestNode::constructorCallback):
24146        (WebCore::V8TestNode::wrapSlow):
24147        * bindings/scripts/test/V8/V8TestObj.cpp:
24148        (WebCore::V8TestObj::constructorCallback):
24149        (WebCore::V8TestObj::wrapSlow):
24150        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
24151        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
24152        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
24153
241542012-05-01  Eric Seidel  <eric@webkit.org>
24155
24156        Add <iframe seamless> navigation code (and pass all the navigation tests)
24157        https://bugs.webkit.org/show_bug.cgi?id=85340
24158
24159        Reviewed by Adam Barth.
24160
24161        This code was primarily written by Adam Barth and then submitted to my
24162        GitHub branch via a pull request:
24163        https://github.com/eseidel/webkit/compare/master...seamless
24164        https://github.com/eseidel/webkit/pull/2
24165        https://github.com/eseidel/webkit/pull/3
24166
24167        I rewrote parts of it to use Docment::shouldDisplaySeamlesslyWithParent.
24168
24169        Other parts of the original change have already been committed to WebKit by Adam
24170        as part of prep-work for making the loader seamless-ready.
24171
24172        * loader/FrameLoader.cpp:
24173        (WebCore::FrameLoader::findFrameForNavigation):
24174
241752012-05-01  Vincent Scheib  <scheib@chromium.org>
24176
24177        Fullscreen pop-up logic restored to using processingUserGesture.
24178        https://bugs.webkit.org/show_bug.cgi?id=85105
24179
24180        WebKit was recently updated to the new Fullscreen API:
24181        http://dvcs.w3.org/hg/fullscreen/raw-file/tip/Overview.html#api
24182        http://trac.webkit.org/changeset/111028
24183
24184        This change reverts back to using processingUserGesture() instead
24185        of DOMWindow::allowPopUp(). This fixes incorrect behavior in
24186        at least the Chromium port and is consistent with the cited
24187        definition of "allowed to show a pop-up":
24188          An algorithm is allowed to show a pop-up if, in the task in which the algorithm is running, either:
24189          - an activation behavior is currently being processed whose click event was trusted, or
24190          - the event listener for a trusted click event is being handled.
24191
24192        Reviewed by Dimitri Glazkov.
24193
24194        No new tests.
24195
24196        * dom/Document.cpp:
24197        (WebCore::Document::requestFullScreenForElement):
24198
241992012-05-01  Xiaomei Ji  <xji@chromium.org>
24200
24201        enable ctrl-arrow move by word visually in non-Windows platforms.
24202        https://bugs.webkit.org/show_bug.cgi?id=85017
24203
24204        Reviewed by Ryosuke Niwa.
24205
24206        Enable ctrl-arrow moves caret by word in visual order in non-Windows platforms that use ICU word
24207        break iterator (it is not enabled for WinCE and Qt where ICU is not used). For those platforms, ctrl-arrow
24208        moves caret to word break position before spaces. For example, given a logical text "abc def hij", the word
24209        break positions using ctrl-left-arrow from rightmost position are "|abc |def |hij".
24210        The word break positions using ctrl-right-arrow from leftmost position are "abc| def| hij|".
24211
24212        Test: editing/selection/move-by-word-visually-mac.html
24213
24214        * editing/EditingBehavior.h:
24215        (EditingBehavior):
24216        (WebCore::EditingBehavior::shouldEatSpaceToNextWord): To control different word break positions
24217        (regards to space) for different platforms.
24218        * editing/FrameSelection.cpp:
24219        (WebCore::FrameSelection::modifyMovingRight): Enable visual word movement for all platforms that use ICU.
24220        (WebCore::FrameSelection::modifyMovingLeft):
24221        * editing/visible_units.cpp:
24222        (WebCore::visualWordPosition): Determine the right word break position (regards to space) based on EditingBehavior.
24223        (WebCore::leftWordPosition):
24224        (WebCore::rightWordPosition):
24225        * editing/visible_units.h:
24226
242272012-05-01  Raymond Liu  <raymond.liu@intel.com>
24228
24229        Modify RealtimeAnalyserNode pull mechanism
24230        https://bugs.webkit.org/show_bug.cgi?id=77515
24231
24232        Reviewed by Chris Rogers.
24233
24234        Test: webaudio/automatic-pull-node.html
24235
24236        * GNUmakefile.list.am:
24237        * Modules/webaudio/AudioBasicInspectorNode.cpp: Added.
24238        (WebCore):
24239        (WebCore::AudioBasicInspectorNode::AudioBasicInspectorNode):
24240        (WebCore::AudioBasicInspectorNode::pullInputs):
24241        (WebCore::AudioBasicInspectorNode::connect):
24242        (WebCore::AudioBasicInspectorNode::disconnect):
24243        (WebCore::AudioBasicInspectorNode::checkNumberOfChannelsForInput):
24244        (WebCore::AudioBasicInspectorNode::updatePullStatus):
24245        * Modules/webaudio/AudioBasicInspectorNode.h: Added.
24246        (WebCore):
24247        (AudioBasicInspectorNode):
24248        * Modules/webaudio/AudioContext.cpp:
24249        (WebCore::AudioContext::AudioContext):
24250        (WebCore::AudioContext::~AudioContext):
24251        (WebCore::AudioContext::handlePreRenderTasks):
24252        (WebCore::AudioContext::handlePostRenderTasks):
24253        (WebCore::AudioContext::markForDeletion):
24254        (WebCore):
24255        (WebCore::AudioContext::addAutomaticPullNode):
24256        (WebCore::AudioContext::removeAutomaticPullNode):
24257        (WebCore::AudioContext::updateAutomaticPullNodes):
24258        (WebCore::AudioContext::processAutomaticPullNodes):
24259        * Modules/webaudio/AudioContext.h:
24260        (AudioContext):
24261        * Modules/webaudio/AudioDestinationNode.cpp:
24262        (WebCore::AudioDestinationNode::provideInput):
24263        * Modules/webaudio/AudioNode.h:
24264        (AudioNode):
24265        * Modules/webaudio/AudioNodeOutput.h:
24266        (WebCore::AudioNodeOutput::isConnected):
24267        (AudioNodeOutput):
24268        * Modules/webaudio/RealtimeAnalyserNode.cpp:
24269        (WebCore::RealtimeAnalyserNode::RealtimeAnalyserNode):
24270        * Modules/webaudio/RealtimeAnalyserNode.h:
24271        (RealtimeAnalyserNode):
24272        * WebCore.gypi:
24273        * WebCore.xcodeproj/project.pbxproj:
24274
242752012-05-01  Keishi Hattori  <keishi@webkit.org>
24276
24277        datalist: Form control in a <datalist> should be barred from constraint validation
24278        https://bugs.webkit.org/show_bug.cgi?id=84359
24279
24280        Reviewed by Kent Tamura.
24281
24282        Tests: fast/forms/datalist/datalist-child-validation.html
24283               fast/forms/form-control-element-crash.html
24284
24285        * html/HTMLFormControlElement.cpp:
24286        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
24287        (WebCore::HTMLFormControlElement::updateAncestors): Updates the ancestor information.
24288        (WebCore::HTMLFormControlElement::insertedInto): Invalidate the ancestor information and call setNeedsWillValidateCheck because willValidate might have changed.
24289        (WebCore::HTMLFormControlElement::removedFrom): Ditto.
24290        (WebCore::HTMLFormControlElement::disabled):
24291        (WebCore::HTMLFormControlElement::recalcWillValidate): Returns false if element has a datalist ancestor.
24292        (WebCore::HTMLFormControlElement::willValidate): Check if ancestor information is valid too.
24293        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
24294        * html/HTMLFormControlElement.h:
24295        (HTMLFormControlElement):
24296
242972012-05-01  Kent Tamura  <tkent@chromium.org>
24298
24299        Calendar Picker: Close the picker by ESC key
24300        https://bugs.webkit.org/show_bug.cgi?id=85337
24301
24302        Reviewed by Kentaro Hara.
24303
24304        No new tests. Calendar picker is not testable in DRT yet.
24305
24306        * Resources/calendarPicker.js:
24307        (handleGlobalKey): Close the popup by ESC key.
24308
243092012-05-01  Noel Gordon  <noel.gordon@gmail.com>
24310
24311        PNGImageDecoder: Handle interlace buffer allocation failure
24312        https://bugs.webkit.org/show_bug.cgi?id=85276
24313
24314        Reviewed by Eric Seidel.
24315
24316        No new tests. Not something we can easily test (malloc failure).
24317
24318        * platform/image-decoders/png/PNGImageDecoder.cpp:
24319        (WebCore::PNGImageDecoder::rowAvailable): Check interlace buffer allocations
24320        and bail via longjmp on failure. Note PNG_INTERLACE_ADAM7 is the only libpng
24321        supported interlace type so test for it explicitly.
24322
243232012-05-01  Kent Tamura  <tkent@chromium.org>
24324
24325        Calendar Picker: Too wide in Japanese locale
24326        https://bugs.webkit.org/show_bug.cgi?id=85331
24327
24328        Reviewed by Kentaro Hara.
24329
24330        No new tests. This is a locale-specific behavior.
24331
24332        * Resources/calendarPicker.js:
24333        (formatJapaneseImperialEra):
24334        Do not show an imperial era later than 平成99年 to avoid very long
24335        year string like "275760年(平成273772年)."
24336        (YearMonthController.prototype.attachTo):
24337        - Respect the maximum year specfied by <input max=...>
24338          If <input max="9999-12-31"> is specified, we don't need to
24339          secure space for the year 275,760.
24340        - Check the width for 平成99年 as well as the maximum year because
24341          "2087年(平成99年)" is usually wider than "275760年".
24342
243432012-05-01  Noel Gordon  <noel.gordon@gmail.com>
24344
24345        PNGImageDecoder: Add ENABLE(IMAGE_DECODER_DOWN_SAMPLING) guards to rowAvailable
24346        https://bugs.webkit.org/show_bug.cgi?id=85268
24347
24348        Reviewed by Eric Seidel.
24349
24350        PNGImageDecoder supports image downsampling. Add ENABLE guards to show where
24351        downsampling is applied when outputting decoded rows to the frame buffer. Most
24352        ports don't enable the flag: don't penalize them in terms speed in this tight
24353        row pixel write loop. s/y/destY/ to match setRGBA() and amend some comments.
24354
24355        No new tests. No change in behavior.
24356
24357        * platform/image-decoders/png/PNGImageDecoder.cpp:
24358        (WebCore::PNGImageDecoder::rowAvailable):
24359
243602012-05-01  Eric Seidel  <eric@webkit.org>
24361
24362        Remove uneeded min/max pref width assignment from RenderView
24363        https://bugs.webkit.org/show_bug.cgi?id=85325
24364
24365        Reviewed by Julien Chaffraix.
24366
24367        This code has been with us since the original import from KDE:
24368        http://trac.webkit.org/browser/trunk/WebCore/khtml/rendering/render_root.cpp?annotate=blame&rev=4#L93
24369        It's never been documented, or explained.  Removing it showed no
24370        effect on my local layout tests run.
24371        However this code blocks proper implementation of <iframe seamless>
24372        as we have to do proper min/max width negotiation across the iframe boundary.
24373
24374        I would remove the whole function, but doing so opens a whole can of worms
24375        as this override is public, yet normally this function is *private* (well protected on RenderBox).
24376        It seems plausible that frame flattening code needs this override since it doesn't always
24377        call the min/maxPreferredWidth() calls which normally automatically call this compute*
24378        function if the pref-widths are dirty.
24379        Instead of trying to track that all down, I'm just removing this line, and we'll go
24380        back and remove the whole function at a later date if possible.
24381
24382        * rendering/RenderView.cpp:
24383        (WebCore::RenderView::computePreferredLogicalWidths):
24384
243852012-05-01  Nate Chapin  <japhet@chromium.org>
24386
24387        REGRESSION(r115654): PDFs come up blank
24388        https://bugs.webkit.org/show_bug.cgi?id=85275
24389
24390        Reviewed by Alexey Proskuryakov.
24391
24392        Test: http/tests/loading/pdf-commit-load-callbacks.html
24393
24394        * loader/DocumentLoader.cpp:
24395        (WebCore::DocumentLoader::finishedLoading): The load needs to be
24396            committed before we call finishedLoading on the
24397            FrameLoaderClient.
24398        * loader/FrameLoader.cpp:
24399        (WebCore::FrameLoader::transitionToCommitted): We're guaranteeing
24400            that receivedFirstData() will be called other ways (namely,
24401            DocumentLoader won't finish without doing so). This call now
24402            causes custom representations to double-commit, which is bad.
24403
244042012-05-01  Eric Seidel  <eric@webkit.org>
24405
24406        Add support for seamless attribute as well as seamless sandbox flag and default CSS styling
24407        https://bugs.webkit.org/show_bug.cgi?id=85302
24408
24409        Reviewed by Ojan Vafai.
24410
24411        This also adds support for the seamless sandbox flag from HTML 5.
24412        The sandbox flag is not speficially overridable in the current HTML5,
24413        but it is set (like all sandbox flags) by default when sandbox is specified.
24414        Unfortunately this support is not yet observable in this patch, as
24415        this patch adds not observable features of seamless.
24416
24417        This patch also adds the html.css additions for seamless, as specified:
24418        http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#replaced-elements
24419
24420        I noticed that my previous testing did not confirm that iframes marked
24421        for seamless (but not possible to display as seamless due to sandbox, etc.)
24422        were still to have this seamless styling.  I've added additional testing for this case.
24423
24424        I also added another test for the about:blank FIXME added as part of this change.
24425
24426        In order to support srcdoc w/ seamless, we needed to move the srcdoc determination
24427        sooner in the initSecurityContext function (before the should-inherit early return).
24428
24429        The next patch will make seamless actually observable from JS/DOM, this one
24430        just lays down all the plumbing, and separates the security aspects for
24431        easy review.
24432
24433        Test: fast/frames/seamless/seamless-inherited-origin.html
24434
24435        * css/html.css:
24436        (iframe:not([seamless])):
24437        (iframe[seamless]):
24438        * dom/Document.cpp:
24439        (WebCore::isEligibleForSeamless):
24440        (WebCore):
24441        (WebCore::Document::initSecurityContext):
24442        (WebCore::Document::seamlessParentIFrame):
24443        (WebCore::Document::shouldDisplaySeamlesslyWithParent):
24444        * dom/Document.h:
24445        (WebCore):
24446        (Document):
24447        * dom/SecurityContext.cpp:
24448        (WebCore::SecurityContext::SecurityContext):
24449        * dom/SecurityContext.h:
24450        (WebCore::SecurityContext::mayDisplaySeamlessWithParent):
24451        (SecurityContext):
24452        * html/HTMLAttributeNames.in:
24453        * html/HTMLIFrameElement.cpp:
24454        (WebCore::HTMLIFrameElement::shouldDisplaySeamlessly):
24455        (WebCore):
24456        * html/HTMLIFrameElement.h:
24457        (HTMLIFrameElement):
24458        * html/HTMLIFrameElement.idl:
24459
244602012-05-01  Min Qin  <qinmin@google.com>
24461
24462        use USE(NATIVE_FULLSCREEN_VIDEO) instead of ENABLE(NATIVE_FULLSCREEN_VIDEO)
24463        https://bugs.webkit.org/show_bug.cgi?id=85316
24464
24465        Reviewed by Kent Tamura.
24466
24467        NATIVE_FULLSCREEN_VIDEO means the fullscreen video is implemented by native
24468        system view instead of webkit.
24469        So it is more appropriate to use USE(NATIVE_FULLSCREEN_VIDEO).
24470        This chagne also disabled the rendering of the fullscreen video element in webkit
24471        when that flag is set.
24472        Just renaming the variable, no new tests.
24473
24474        * dom/Document.cpp:
24475        (WebCore::Document::webkitWillEnterFullScreenForElement):
24476        (WebCore):
24477        * platform/graphics/MediaPlayer.cpp:
24478        (WebCore):
24479        * platform/graphics/MediaPlayer.h:
24480        (MediaPlayer):
24481        * platform/graphics/MediaPlayerPrivate.h:
24482        (MediaPlayerPrivateInterface):
24483
244842012-05-01  Jeffrey Pfau  <jpfau@apple.com>
24485
24486        <rdar://problem/10422318> Support for web content filter delegate for filtering https content
24487        https://bugs.webkit.org/show_bug.cgi?id=85300
24488
24489        Reviewed by Alexey Proskuryakov.
24490
24491        No new tests.
24492
24493        * WebCore.exp.in:
24494        * loader/MainResourceLoader.cpp:
24495        (WebCore::MainResourceLoader::MainResourceLoader):
24496        (WebCore::MainResourceLoader::~MainResourceLoader):
24497        (WebCore::MainResourceLoader::didCancel):
24498        (WebCore::MainResourceLoader::didReceiveResponse):
24499        (WebCore::MainResourceLoader::didReceiveData):
24500        (WebCore::MainResourceLoader::didFinishLoading):
24501        (WebCore::MainResourceLoader::didFail):
24502        * loader/MainResourceLoader.h:
24503        (MainResourceLoader):
24504        * platform/mac/WebCoreSystemInterface.h:
24505        * platform/mac/WebCoreSystemInterface.mm:
24506
245072012-05-01  Kent Tamura  <tkent@chromium.org>
24508
24509        Calendar Picker: Add capability to add platform-specific style sheet
24510        https://bugs.webkit.org/show_bug.cgi?id=85272
24511
24512        Reviewed by Kentaro Hara.
24513
24514        Add RenderTheme::extraCalendarPickerStyleSheet(). The resultant string
24515        of the function is inserted into the calendar picker page.
24516
24517        No new tests. Calendar picker apperance is not testable yet.
24518
24519        * Resources/calendarPicker.css: Removed styles for year-month buttons.
24520        * Resources/calendarPickerMac.css:
24521        Moved from calendarPicker.css, and adjust styles so that they look
24522        standard Lion buttons.
24523        (.year-month-button):
24524        (.year-month-button:active):
24525        (.year-month-button:disabled):
24526        * WebCore.gyp/WebCore.gyp: Add a rule to produce CalendarPickerMac.{cpp,h}.
24527        * html/shadow/CalendarPickerElement.cpp:
24528        (WebCore::CalendarPickerElement::writeDocument):
24529        Add extraCalendarPickerStyleSheet() result to the document.
24530        * rendering/RenderTheme.cpp:
24531        (WebCore::RenderTheme::extraCalendarPickerStyleSheet):
24532        Added. Returns an empty CString by default.
24533        * rendering/RenderTheme.h:
24534        (RenderTheme): Added extraCalendarPickerStyleSheet().
24535        * rendering/RenderThemeChromiumMac.h: Added extraCalendarPickerStyleSheet().
24536        * rendering/RenderThemeChromiumMac.mm:
24537        (WebCore::RenderThemeChromiumMac::extraCalendarPickerStyleSheet):
24538        Added. Returns the content of Resources/calendarPickerMac.css.
24539
245402012-05-01  James Simonsen  <simonjam@chromium.org>
24541
24542        Ensure HTMLElementStack fails gracefully if it has a non-Element.
24543        https://bugs.webkit.org/show_bug.cgi?id=85167
24544
24545        Reviewed by Adam Barth.
24546
24547        Test: Added to html5lib/resources/webkit02.dat
24548
24549        * html/parser/HTMLElementStack.cpp:
24550        (WebCore::HTMLElementStack::oneBelowTop):
24551        * html/parser/HTMLTreeBuilder.cpp:
24552        (WebCore::HTMLTreeBuilder::processEndTag):
24553
245542012-05-01  Ryosuke Niwa  <rniwa@webkit.org>
24555
24556        *Command.h files shouldn't be exported to WebKit layer
24557        https://bugs.webkit.org/show_bug.cgi?id=74778
24558
24559        Reviewed by Eric Seidel.
24560
24561        Remove the dependency on *Command.h files from Mac port's WebKit layer.
24562        Also wrapped the call to TypingCommand::insertParagraphSeparatorInQuotedContent in the Editor class
24563        so that we can just expose Editor's method instead of directly exposing the said static method.
24564
24565        * WebCore.exp.in:
24566        * WebCore.xcodeproj/project.pbxproj:
24567        * editing/Editor.h:
24568        (Editor):
24569        * editing/mac/EditorMac.mm:
24570        (WebCore::Editor::insertParagraphSeparatorInQuotedContent):
24571        (WebCore):
24572
245732012-05-01  Julien Chaffraix  <jchaffraix@webkit.org>
24574
24575        Remove one bit from m_column to pack RenderTableCell bits more
24576        https://bugs.webkit.org/show_bug.cgi?id=85291
24577
24578        Reviewed by Ojan Vafai.
24579
24580        Memory improvement, covered by the existing unit tests.
24581
24582        * rendering/RenderTableCell.cpp:
24583        * rendering/RenderTableCell.h:
24584        Remove one bit from m_column (which should be fine as I wouldn't expect tables above 1 millions
24585        columns to render at all anyway) to pack the bitfields in 32 bits. Re-arranged the bits to have the bigger
24586        bitfield first.
24587
245882012-05-01  Anders Carlsson  <andersca@apple.com>
24589
24590        Slow scrolling on www.sholby.net
24591        https://bugs.webkit.org/show_bug.cgi?id=85304
24592        <rdar://problem/11138952>
24593
24594        Reviewed by Beth Dakin.
24595
24596        Fix two performance issues that showed up on the profiles.
24597
24598        * loader/FrameLoader.cpp:
24599        (WebCore::FrameLoader::checkLoadCompleteForThisFrame):
24600        Reset the relevant painted object counter; it's only interesting when loading.
24601
24602        * page/Page.cpp:
24603        (WebCore::Page::startCountingRelevantRepaintedObjects):
24604        Set m_isCountingRelevantRepaintedObjects to true after calling reset, since reset now sets it to false.
24605
24606        (WebCore::Page::resetRelevantPaintedObjectCounter):
24607        Set m_isCountingRelevantRepaintedObjects to false.
24608
24609        (WebCore::Page::addRelevantRepaintedObject):
24610        Use HashSet::find to avoid an extra hash lookup.
24611
24612        * page/scrolling/ScrollingCoordinator.cpp:
24613        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
24614        Remove the call to FrameView::updateCompositingLayersAfterLayout now, since FrameView::notifyScrollPositionChanged
24615        already calls this and was making us to a lot of work twice.
24616
246172012-05-01  Silvia Pfeiffer  <silviapf@chromium.org>
24618
24619        Audio controls have a 1px surplus outline coming from RenderImage::paintReplaced base class,
24620        which needs overwriting.
24621        https://bugs.webkit.org/show_bug.cgi?id=84570
24622
24623        Reviewed by Eric Carlson.
24624
24625        No new tests - covered by existing audio rendering tests.
24626
24627        * rendering/RenderMedia.cpp:
24628        (WebCore::RenderMedia::paintReplaced): Overwrite inherited function.
24629        (WebCore):
24630        * rendering/RenderMedia.h:
24631        (RenderMedia):
24632
246332012-05-01  Terry Anderson  <tdanderson@chromium.org>
24634
24635        Allow a pre-targeted node to be specified when dispatching a GestureTap event
24636        https://bugs.webkit.org/show_bug.cgi?id=85296
24637
24638        Reviewed by Adam Barth.
24639
24640        https://bugs.webkit.org/show_bug.cgi?id=85101
24641            The new parameter will be used and tested in this patch.
24642
24643        * page/EventHandler.cpp:
24644        (WebCore::EventHandler::handleGestureTap):
24645            The new preTargetedNode parameter can be used to pass in the Node that is
24646            the target of the GestureTap event. If this parameter is used, adjustedPoint
24647            is changed to be the center of the Node's bounding rectangle.
24648        * page/EventHandler.h:
24649        (EventHandler):
24650
246512012-05-01  Jessie Berlin  <jberlin@apple.com>
24652
24653        Crash calling disconnectFrame on a DOMWindowExtension a second time.
24654        https://bugs.webkit.org/show_bug.cgi?id=85301
24655
24656        Reviewed by Darin Adler.
24657
24658        DOMWindowExtension::disconnectFrame assumed it would only be called when there was a frame
24659        to disconnect. However, DOMWindow's destructor invokes disconnectFrame on all its
24660        DOMWindowProperties, even if it already did so when it entered the page cache.
24661
24662        * page/DOMWindowExtension.cpp:
24663        (WebCore::DOMWindowExtension::disconnectFrame):
24664        Don't do anything if the frame has already been disconnected.
24665
246662012-05-01  Aaron Colwell  <acolwell@chromium.org>
24667
24668        Temporarily remove webkitSourceAddId() & webkitSourceRemoveId() from DOM
24669        until the rest of the Media Source v0.5 methods are implemented. This is
24670        to prevent ambiguity about whether v0.5 is fully supported or not.
24671        https://bugs.webkit.org/show_bug.cgi?id=85295
24672
24673        Reviewed by Eric Carlson.
24674
24675        No new tests. Removing methods from DOM so relevant tests are removed.
24676
24677        * html/HTMLMediaElement.idl:
24678
246792012-05-01  Douglas Stockwell  <dstockwell@chromium.org>
24680
24681        IndexedDB: stale index entries may not be removed in some cases
24682        https://bugs.webkit.org/show_bug.cgi?id=85224
24683
24684        Reviewed by Ojan Vafai.
24685
24686        Ensure that stale index entries are removed when the corresponding
24687        object store entry no longer exists.
24688
24689        No new tests. Addresses a performance / storage leak that is
24690        not amenable to verification in a layout test.
24691
24692        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
24693        (WebCore):
24694
246952012-05-01  Igor Oliveira  <igor.o@sisa.samsung.com>
24696
24697        Use HashMap<OwnPtr> for CounterMap in RenderCounter
24698        https://bugs.webkit.org/show_bug.cgi?id=85294
24699
24700        Reviewed by Eric Seidel.
24701
24702        * rendering/RenderCounter.cpp:
24703        (WebCore):
24704        (WebCore::makeCounterNode):
24705        (WebCore::RenderCounter::destroyCounterNodes):
24706
247072012-05-01  Philip Rogers  <pdr@google.com>
24708
24709        Skip building instance tree for disallowed target
24710        https://bugs.webkit.org/show_bug.cgi?id=85202
24711
24712        Reviewed by Nikolas Zimmermann.
24713
24714        When the target of a use is disallowed (e.g., a mask element) we can
24715        skip building the instance tree because the shadow tree will be
24716        skipped as well.
24717
24718        Test: svg/custom/animate-disallowed-mask-element.svg
24719
24720        * svg/SVGUseElement.cpp:
24721        (WebCore::SVGUseElement::buildInstanceTree):
24722
247232012-04-29  Nikolas Zimmermann  <nzimmermann@rim.com>
24724
24725        Accumulation for values-animation is broken
24726        https://bugs.webkit.org/show_bug.cgi?id=85158
24727
24728        Reviewed by Darin Adler.
24729
24730        Example:
24731        <rect width="999" height="100" fill="green"/>
24732            <animate begin="0s" values="0; 30; 20" accumulate="sum" repeatCount="5" dur="2s"/>
24733        </rect>
24734
24735        The rect should animate like this:
24736        0.000s -> 0
24737        0.500s -> 15
24738        1.000s -> 30
24739        1.500s -> 25
24740        1.999s -> 20
24741        2.000s -> 20 (first accumulation, starts accumulating from the last set value, here '20').
24742        2.500s -> 45
24743        3.000s -> 50
24744        3.500s -> 45
24745        3.999s -> 40
24746        4.000s -> 40 (second accumulation)
24747        etc.
24748
24749        This is currently broken for values-animation. The accumulation should happen after a full cycle of the values animation ran (aka. at the end of the duration).
24750        A values animation works like this: iterate over the list of values, and calculate a 'from' and 'to' value for a given time. Example for values="0; 30; 20" dur="2s":
24751            - 0.0s .. 1.0s -> from=0, to=30
24752            - 1.0s .. 2.0s -> from=30, to=20
24753
24754        Accumulation currently is taken into account at each interval for a values-animation instead of the end of the cycle. Fix that
24755        by passing an additional 'toAtEndOfDuration' type to calculateAnimatedValue() which is used for accumulation instead of the
24756        current 'to' value.
24757
24758        Test: svg/animations/accumulate-values-width-animation.html
24759
24760        * svg/SVGAnimateElement.cpp:
24761        (WebCore::SVGAnimateElement::calculateAnimatedValue):
24762        * svg/SVGAnimateElement.h:
24763        (SVGAnimateElement):
24764        * svg/SVGAnimateMotionElement.cpp:
24765        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
24766        * svg/SVGAnimateMotionElement.h:
24767        (SVGAnimateMotionElement):
24768        * svg/SVGAnimatedAngle.cpp:
24769        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
24770        * svg/SVGAnimatedAngle.h:
24771        (SVGAnimatedAngleAnimator):
24772        * svg/SVGAnimatedBoolean.cpp:
24773        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
24774        * svg/SVGAnimatedBoolean.h:
24775        (SVGAnimatedBooleanAnimator):
24776        * svg/SVGAnimatedColor.cpp:
24777        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
24778        * svg/SVGAnimatedColor.h:
24779        (SVGAnimatedColorAnimator):
24780        * svg/SVGAnimatedEnumeration.cpp:
24781        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
24782        * svg/SVGAnimatedEnumeration.h:
24783        (SVGAnimatedEnumerationAnimator):
24784        * svg/SVGAnimatedInteger.cpp:
24785        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
24786        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
24787        * svg/SVGAnimatedInteger.h:
24788        (SVGAnimatedIntegerAnimator):
24789        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
24790        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
24791        * svg/SVGAnimatedIntegerOptionalInteger.h:
24792        (SVGAnimatedIntegerOptionalIntegerAnimator):
24793        * svg/SVGAnimatedLength.cpp:
24794        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
24795        * svg/SVGAnimatedLength.h:
24796        (SVGAnimatedLengthAnimator):
24797        * svg/SVGAnimatedLengthList.cpp:
24798        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
24799        * svg/SVGAnimatedLengthList.h:
24800        (SVGAnimatedLengthListAnimator):
24801        * svg/SVGAnimatedNumber.cpp:
24802        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
24803        * svg/SVGAnimatedNumber.h:
24804        (SVGAnimatedNumberAnimator):
24805        * svg/SVGAnimatedNumberList.cpp:
24806        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
24807        * svg/SVGAnimatedNumberList.h:
24808        (SVGAnimatedNumberListAnimator):
24809        * svg/SVGAnimatedNumberOptionalNumber.cpp:
24810        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
24811        * svg/SVGAnimatedNumberOptionalNumber.h:
24812        (SVGAnimatedNumberOptionalNumberAnimator):
24813        * svg/SVGAnimatedPath.cpp:
24814        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
24815        * svg/SVGAnimatedPath.h:
24816        (SVGAnimatedPathAnimator):
24817        * svg/SVGAnimatedPointList.cpp:
24818        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
24819        * svg/SVGAnimatedPointList.h:
24820        (SVGAnimatedPointListAnimator):
24821        * svg/SVGAnimatedPreserveAspectRatio.cpp:
24822        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
24823        * svg/SVGAnimatedPreserveAspectRatio.h:
24824        (SVGAnimatedPreserveAspectRatioAnimator):
24825        * svg/SVGAnimatedRect.cpp:
24826        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
24827        * svg/SVGAnimatedRect.h:
24828        (SVGAnimatedRectAnimator):
24829        * svg/SVGAnimatedString.cpp:
24830        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
24831        * svg/SVGAnimatedString.h:
24832        (SVGAnimatedStringAnimator):
24833        * svg/SVGAnimatedTransformList.cpp:
24834        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
24835        * svg/SVGAnimatedTransformList.h:
24836        (SVGAnimatedTransformListAnimator):
24837        * svg/SVGAnimatedTypeAnimator.h:
24838        (SVGAnimatedTypeAnimator):
24839        * svg/SVGAnimationElement.cpp:
24840        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
24841        (WebCore::SVGAnimationElement::updateAnimation):
24842        * svg/SVGAnimationElement.h:
24843        (WebCore::SVGAnimationElement::animateAdditiveNumber):
24844        (SVGAnimationElement):
24845
248462012-05-01  Beth Dakin  <bdakin@apple.com>
24847
24848        https://bugs.webkit.org/show_bug.cgi?id=85231
24849        Fixed position objects that are removed from the DOM don't kick off 
24850        fixed position recalculation
24851        -and corresponding-
24852        <rdar://problem/11297916>
24853
24854        Reviewed by Darin Adler.
24855
24856        * rendering/RenderBox.cpp:
24857        (WebCore::RenderBox::willBeDestroyed):
24858
248592012-05-01  Dana Jansens  <danakj@chromium.org>
24860
24861        Early-out for subtracting a non-intersecting region
24862        https://bugs.webkit.org/show_bug.cgi?id=85258
24863
24864        Reviewed by Hajime Morita.
24865
24866        Given regions A and B, if the bounds of the regions do not intersect,
24867        then the regions themselves do not intersect. If the intersection of
24868        A and B is empty, then A subtract B == A.
24869
24870        * platform/graphics/Region.cpp:
24871        (WebCore::Region::subtract):
24872
248732012-04-30  Kent Tamura  <tkent@chromium.org>
24874
24875        [Chromium/Windows] Add LocalizedDateWin
24876        https://bugs.webkit.org/show_bug.cgi?id=84935
24877
24878        Reviewed by Kentaro Hara.
24879
24880        LocalizedDateICU.cpp doesn't reflect system settings. So there were some
24881        problems such as <input type=date> doesn't use system's date format.
24882
24883        We need to use Windows API to get a date format and calendar parameters.
24884
24885        We obtain a date format like "MM/dd/yy" via Windows API, and
24886        format/parse dates for the format by our own code because Windows API
24887        can't handle years older than 1601 and doesn't have date parsing API.
24888
24889        Unit test: Source/WebKit/chromium/tests/LocaleWinTest.cpp
24890
24891        * WebCore.gypi: Add LocalizedDateWin.cpp.
24892        * WebCore.gyp/WebCore.gyp:
24893        For Windows, remove LocalizedDateICU.cpp and add LocalizedDateWin.cpp.
24894        All of *Win.cpp files are excluded by default.
24895
24896        * platform/text/LocaleWin.cpp: Added.
24897        (WebCore::LocaleWin::LocaleWin):
24898        (WebCore::LocaleWin::create):
24899        (WebCore::LocaleWin::currentLocale):
24900        (WebCore::LocaleWin::~LocaleWin):
24901        (WebCore::LocaleWin::getLocaleInfoString):
24902        A helper function to obtain a string by GetLocaleInfo().
24903        (WebCore::LocaleWin::initializeShortMonthLabels):
24904        Obtain short month names from Windows.
24905
24906        (WebCore::DateFormatToken): A struct to represent a token in a date format.
24907        e.g. A format string "MM/dd/yy" generates five DateFormatToken:
24908         Month2, Literal, Day2, Literal, Year2.
24909        (isEraSymbol): A readability helper function.
24910        (isYearSymbol): ditto.
24911        (isMonthSymbol): ditto.
24912        (isDaySymbol): ditto.
24913        (countContinuousLetters):
24914        (commitLiteralToken): A helper for parseDateFormat().
24915        (parseDateFormat):
24916        Parse a format string, and generate a list of DateFormatToken.
24917
24918        (WebCore::parseNumber): A helper for parseDate().
24919        (WebCore::LocaleWin::parseNumberOrMonth): ditto.
24920        (WebCore::LocaleWin::parseDate):
24921        Parse a user-provided date string by matching with a DateFormatToken list.
24922
24923        (WebCore::appendNumber): A helper for formatDate().
24924        (WebCore::appendTwoDigitsNumber): ditto. Write at least two digits.
24925        (WebCore::appendFourDigitsNumber): ditto. Write at least four digits.
24926        (WebCore::LocaleWin::formatDate):
24927        Format a DateComponents by iterating a DateFormatToken list.
24928
24929        (WebCore::LocaleWin::initializeShortDateTokens):
24930        (WebCore::substituteLabelsIntoFormat):
24931        Creates a user-visible format string by iterating a DateFormatToken list.
24932        (WebCore::LocaleWin::dateFormatText):
24933        (WebCore::LocaleWin::initializeMonthLabels):
24934        Creates month names by Windows API.
24935        (WebCore::LocaleWin::initializeWeekDayShortLabels):
24936         Creates day names by Windows API.
24937        (WebCore::LocaleWin::monthLabels):
24938        Public accessor function for month names.
24939        (WebCore::LocaleWin::weekDayShortLabels):
24940        Public accessor function for day names.
24941        * platform/text/LocaleWin.h: Added.
24942
24943        * platform/text/LocalizedDateWin.cpp:
24944        Added. The following functions simply delegate to LocaleWin::currentLocale().
24945        (WebCore::parseLocalizedDate):
24946        (WebCore::formatLocalizedDate):
24947        (WebCore::localizedDateFormatText):
24948        (WebCore::monthLabels):
24949        (WebCore::weekDayShortLabels):
24950        (WebCore::firstDayOfWeek):
24951
249522012-04-30  Kent Tamura  <tkent@chromium.org>
24953
24954        REGRESSION(r115600): parseLocalizedDate() should fail for invalid inputs
24955        https://bugs.webkit.org/show_bug.cgi?id=85176
24956
24957        Reviewed by Kentaro Hara.
24958
24959        Test: fast/forms/date/input-date-commit-valid-only.html
24960
24961        * platform/text/mac/LocalizedDateMac.mm:
24962        (WebCore::parseLocalizedDate):
24963        We should check nil for the result of NSDateFormtter::dateFromString.
24964
249652012-04-30  Mark Rowe  <mrowe@apple.com>
24966
24967        Fix another leak due to misuse of createCFString.
24968
24969        Reviewed by Darin Adler.
24970
24971        * plugins/mac/PluginPackageMac.cpp:
24972        (WebCore::PluginPackage::fetchInfo): Adopt the result of createCFString.
24973
249742012-04-30  Mark Rowe  <mrowe@apple.com>
24975
24976        <rdar://problem/11312198> Many leaks during fast/events/dropzone-002.html
24977
24978        Reviewed by Darin Adler.
24979
24980        * platform/mac/ClipboardMac.mm:
24981        (WebCore::utiTypeFromCocoaType): Adopt the result of createCFString.
24982
249832012-04-30  Mark Rowe  <mrowe@apple.com>
24984
24985        <rdar://problem/11352575> Many CGImageRefs leaked during media layout tests
24986
24987        Reviewed by Brian Weinstein.
24988
24989        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
24990        (WebCore::MediaPlayerPrivateAVFoundationObjC::createImageForTimeInRect): Adopt the CGImageRef.
24991
249922012-04-30  Emil A Eklund  <eae@chromium.org>
24993
24994        Change RenderBoxModelObject::calculateBackgroundImageGeometry to use roundToInt
24995        https://bugs.webkit.org/show_bug.cgi?id=85249
24996
24997        Reviewed by Eric Seidel.
24998
24999        Prepare RenderBoxModelObject for FractionalLayoutUnits by adding rounding
25000        logic to calculateBackgroundImageGeometry. Background images, as all
25001        images, needs to be layed out on pixel boundaries thus we need to convert
25002        it to a integer value.
25003
25004        No new tests, no change in functionality.
25005
25006        * rendering/RenderBoxModelObject.cpp:
25007        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
25008
250092012-04-30  Ilya Sherman  <isherman@chromium.org>
25010
25011        Unreviewed, rolling out r113511.
25012        http://trac.webkit.org/changeset/113511
25013        https://bugs.webkit.org/show_bug.cgi?id=66032
25014        https://bugs.webkit.org/show_bug.cgi?id=85150
25015
25016        Regression: Many autofilled form fields lack the default
25017        autofill background even when authors don’t override the
25018        autofill colors
25019
25020        * css/html.css:
25021        (input:-webkit-autofill): Restore !important modifiers
25022
250232012-04-30  Julien Chaffraix  <jchaffraix@webkit.org>
25024
25025        Move RenderTableCell's row index to RenderTableRow
25026        https://bugs.webkit.org/show_bug.cgi?id=85229
25027
25028        Reviewed by Ojan Vafai.
25029
25030        Covered by the existing table tests.
25031
25032        Row index is a RenderTableRow concept and as such this change moves
25033        the relevant logic into the class.
25034
25035        While touching the code, renamed row() -> rowIndex() as now RenderTableCell
25036        can return its parent RenderTableRow and we were returning an index, not the row
25037        itself.
25038
25039        * accessibility/AccessibilityTable.cpp:
25040        (WebCore::AccessibilityTable::cellForColumnAndRow):
25041        * accessibility/AccessibilityTableCell.cpp:
25042        (WebCore::AccessibilityTableCell::rowIndexRange):
25043        (WebCore::AccessibilityTableCell::titleUIElement):
25044        * rendering/RenderTable.cpp:
25045        (WebCore::RenderTable::cellAbove):
25046        (WebCore::RenderTable::cellBelow):
25047        (WebCore::RenderTable::cellBefore):
25048        (WebCore::RenderTable::cellAfter):
25049        * rendering/RenderTreeAsText.cpp:
25050        (WebCore::RenderTreeAsText::writeRenderObject):
25051        Updated after the renaming RenderTableCell::row() -> rowIndex().
25052
25053        * rendering/RenderTableCell.cpp:
25054        (WebCore::RenderTableCell::RenderTableCell):
25055        (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
25056        (WebCore::RenderTableCell::computeCollapsedAfterBorder):
25057        Updated after m_rowIndex removal and row() -> rowIndex() renaming.
25058
25059        (WebCore::RenderTableCell::styleDidChange):
25060        Switched the rowWasSet check to an ASSERT. The new logic guarantees that
25061        row index was set straight when we insert the row. The previous logic was
25062        opened to some race conditions as we could wait for a recalcCells call before
25063        setting the index on the rows which made this check necessary.
25064
25065        * rendering/RenderTableCell.h:
25066        (WebCore::RenderTableCell::row):
25067        Added this RenderTableRow getter.
25068
25069        (WebCore::RenderTableCell::rowIndex):
25070        Renamed from row().
25071
25072        * rendering/RenderTableRow.cpp:
25073        (WebCore::RenderTableRow::RenderTableRow):
25074        (WebCore::RenderTableRow::styleDidChange):
25075        Updated after adding m_rowIndex / rowIndex().
25076
25077        * rendering/RenderTableRow.h:
25078        (WebCore::RenderTableRow::setRowIndex):
25079        (WebCore::RenderTableRow::rowIndex):
25080        Added those getter / setter. Also kept m_rowIndex's smaller size
25081        for future optimization and for symmetry with the column index on
25082        RenderTableCell.
25083
25084        * rendering/RenderTableSection.cpp:
25085        (WebCore::RenderTableSection::addChild):
25086        (WebCore::RenderTableSection::recalcCells):
25087        Made sure that whenever we insert or update our row index
25088        we do call setRowIndex().
25089
25090        (WebCore::RenderTableSection::addCell):
25091        This logic now doesn't need to query insertionRow as the cell's
25092        should have the index of the row in which it is inserted.
25093
25094        (WebCore::RenderTableSection::calcRowLogicalHeight):
25095        (WebCore::RenderTableSection::layoutRows):
25096        (WebCore::compareCellPositionsWithOverflowingCells):
25097        More updates after row() -> rowIndex() renaming.
25098
25099        * rendering/RenderTableSection.h:
25100        Removed rowIndexForRenderer now that the row caches this informatin.
25101
251022012-04-30  Keishi Hattori  <keishi@webkit.org>
25103
25104        datalist: Inconsistent behavior of HTMLInputElement::list
25105        https://bugs.webkit.org/show_bug.cgi?id=84351
25106
25107        Each platform will have a different set of input types that support the datalist UI.
25108        This patch makes shouldRespectListAttribute ask the RenderTheme if it supports datalist UI for that input type.
25109        Thus making it possible to do feature detection with JS.
25110
25111        Reviewed by Kent Tamura.
25112
25113        * WebCore.gypi: Added RenderThemeChromiumCommon.{cpp,h}
25114        * html/ColorInputType.cpp:
25115        (WebCore::ColorInputType::shouldRespectListAttribute):
25116        (WebCore):
25117        * html/ColorInputType.h:
25118        (ColorInputType):
25119        * html/InputType.cpp:
25120        (WebCore::InputType::themeSupportsDataListUI): Static method used by TextFieldInputType, RangeInputType, and ColorInputType.
25121        (WebCore):
25122        * html/InputType.h:
25123        (InputType):
25124        * html/RangeInputType.cpp:
25125        (WebCore::RangeInputType::shouldRespectListAttribute):
25126        * html/TextFieldInputType.cpp:
25127        (WebCore::TextFieldInputType::shouldRespectListAttribute):
25128        * rendering/RenderTheme.h:
25129        (RenderTheme):
25130        (WebCore::RenderTheme::supportsDataListUI): Returns true if the platform can show the datalist suggestions for a given input type.
25131        * rendering/RenderThemeChromiumCommon.cpp: Added.
25132        (WebCore):
25133        (WebCore::RenderThemeChromiumCommon::supportsDataListUI):
25134        * rendering/RenderThemeChromiumCommon.h: Added.
25135        (WebCore):
25136        (RenderThemeChromiumCommon):
25137        * rendering/RenderThemeChromiumMac.h:
25138        (RenderThemeChromiumMac):
25139        * rendering/RenderThemeChromiumMac.mm:
25140        (WebCore::RenderThemeChromiumMac::supportsDataListUI):
25141        (WebCore):
25142        * rendering/RenderThemeChromiumSkia.cpp:
25143        (WebCore::RenderThemeChromiumMac::supportsDataListUI):
25144        (WebCore):
25145        * rendering/RenderThemeChromiumSkia.h:
25146        (RenderThemeChromiumSkia):
25147
251482012-04-30  Levi Weintraub  <leviw@chromium.org>
25149
25150        RenderObject incorrectly lists maximalOutlineSize as a LayoutUnit
25151        https://bugs.webkit.org/show_bug.cgi?id=85248
25152
25153        Reviewed by Eric Seidel.
25154
25155        Reverting RenderObject::maximalOutlineSize to int. This is a slop value for repaint
25156        rects that doesn't affect layout. It also derives its value from RenderView's function
25157        of the same name, which is already an integer.
25158
25159        No new tests. No change in behavior.
25160
25161        * rendering/RenderObject.cpp:
25162        (WebCore::RenderObject::maximalOutlineSize):
25163        * rendering/RenderObject.h:
25164        (RenderObject):
25165
251662012-04-30  Xingnan Wang  <xingnan.wang@intel.com>
25167
25168        Add multichannel support for input of JavaScriptAudioNode
25169        https://bugs.webkit.org/show_bug.cgi?id=84687
25170
25171        Reviewed by Chris Rogers.
25172
25173        Tests: webaudio/javascriptaudionode-downmix8-2channel-input.html
25174               webaudio/javascriptaudionode-upmix2-8channel-input.html
25175
25176        * Modules/webaudio/JavaScriptAudioNode.cpp:
25177        (WebCore::JavaScriptAudioNode::create):
25178        (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
25179        (WebCore::JavaScriptAudioNode::initialize):
25180        (WebCore::JavaScriptAudioNode::process):
25181        * Modules/webaudio/JavaScriptAudioNode.h:
25182        (JavaScriptAudioNode):
25183
251842012-04-30  Oliver Hunt  <oliver@apple.com>
25185
25186        Harden arithmetic in ImageBufferDataCG
25187        https://bugs.webkit.org/show_bug.cgi?id=61373
25188
25189        Reviewed by Gavin Barraclough.
25190
25191        We have a checked type that allows us to automate many of the
25192        bounds checks we want here, so let's replace the floating point
25193        math, and just use Checked<> throughout.  We use a non-recording
25194        Checked<> as no overflows should reach this point, so we'll take
25195        a hard early failure, over the cost of many branches when
25196        accessing the raw values in loops.
25197
25198        * platform/graphics/cg/ImageBufferDataCG.cpp:
25199        (WebCore::ImageBufferData::getData):
25200        (WebCore::ImageBufferData::putData):
25201
252022012-04-30  Levi Weintraub  <leviw@chromium.org>
25203
25204        Add absoluteValue method for LayoutUnits to allow overloading abs()
25205        https://bugs.webkit.org/show_bug.cgi?id=85214
25206
25207        Reviewed by Eric Seidel.
25208
25209        Adding an absoluteValue free inline function that operates on LayoutUnits, which
25210        allows us to have one function signature for ints or FractionalLayoutUnits. We
25211        can't simply add a FractionalLayoutUnit flavor of abs because it confuses
25212        some compilers due to the implicit FractionalLayoutUnit constructors that take
25213        ints and floats.
25214
25215        No new tests. No change in behavior.
25216
25217        * page/SpatialNavigation.cpp:
25218        (WebCore::distanceDataForNode):
25219        * rendering/LayoutTypes.h:
25220        (WebCore::absoluteValue):
25221        (WebCore):
25222        * rendering/RenderBlockLineLayout.cpp:
25223        (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
25224        * rendering/RenderLineBoxList.cpp:
25225        (WebCore::RenderLineBoxList::rangeIntersectsRect):
25226        * rendering/RenderObject.cpp:
25227        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
25228
252292012-04-30  Levi Weintraub  <leviw@chromium.org>
25230
25231        Update LayoutUnit usage in InlineFlowBox and RenderWidget
25232        https://bugs.webkit.org/show_bug.cgi?id=85239
25233
25234        Reviewed by Eric Seidel.
25235
25236        Updating LayoutUnit usage in a pair of remaining functions to minimize the remaining work to switching
25237        to FractionalLayoutUnits for layout instead of integers.
25238
25239        No new tests. No change in behavior.
25240
25241        * rendering/InlineFlowBox.cpp:
25242        (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Though stored as a float, the top is always
25243        set to an integer value. When we move to sub-pixel, we need to preserve this. Not preserving this
25244        behavior affects text decorations, most notably underlines.
25245        * rendering/RenderWidget.cpp:
25246        (WebCore::RenderWidget::updateWidgetGeometry): Adding pixel snapping for the content box if it's
25247        not transformed (absoluteContentBox includes pixel snapping), and properly treating the boundingBox
25248        as an IntRect.
25249
252502012-04-30  Levi Weintraub  <leviw@chromium.org>
25251
25252        Prepare RenderDeprecatedFlexibleBox for sub-pixel layout
25253        https://bugs.webkit.org/show_bug.cgi?id=85217
25254
25255        Reviewed by Eric Seidel.
25256
25257        Bailing from the space distribution loop in layoutHorizontal/VerticalBox when
25258        the remaining space falls below one pixel. This has no effect in whole-pixel
25259        layout, but avoids unnecessary work/infinite loops in the sub-pixel case.
25260
25261        No new tests. No change in behavior.
25262
25263        * rendering/RenderDeprecatedFlexibleBox.cpp:
25264        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
25265        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
25266
252672012-04-30  Ryosuke Niwa  <rniwa@webkit.org>
25268
25269        NULL ptr in WebCore::Range::getBorderAndTextQuads
25270        https://bugs.webkit.org/show_bug.cgi?id=77218
25271
25272        Reviewed by Eric Seidel.
25273
25274        The crash was caused by a malformed range obtained within an event handler of mutation events
25275        (DOMNodeRemovedFromDocument). Because this range wasn't updated per node removal, range functions
25276        end up not behaving well.
25277
25278        Fixed the bug by changing the order of the notifications in ContainerNode::willRemoveChild.
25279        We now fire mutation events first before updating ranges so that any range created inside those
25280        event handlers can also be updated prior to the actual node removal.
25281
25282        Test: fast/dom/Range/range-created-in-mutation-event-crash.xhtml
25283
25284        * dom/ContainerNode.cpp:
25285        (WebCore::willRemoveChild):
25286
252872012-04-30  Anders Carlsson  <andersca@apple.com>
25288
25289        ScrollingCoordinator::requestScrollPositionUpdate should not update the main frame scroll position
25290        https://bugs.webkit.org/show_bug.cgi?id=85240
25291        <rdar://problem/11286609>
25292
25293        Reviewed by Sam Weinig.
25294
25295        The call to updateMainFrameScrollPosition was added to make the WebKit2 find overlay work, since it relies
25296        on scroll position updates being synchronous. Change the find code in WebKit2 to handle asynchronous scroll
25297        position updates and remove the call to updateMainFrameScrollPosition.
25298
25299        * page/scrolling/ScrollingCoordinator.cpp:
25300        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
25301
253022012-04-30  Anders Carlsson  <andersca@apple.com>
25303
25304        Add a way to asynchronously call a function once the scroll position of a page has been updated
25305        https://bugs.webkit.org/show_bug.cgi?id=85237
25306
25307        Reviewed by Sam Weinig.
25308
25309        * WebCore.exp.in:
25310        Export functions needed by WebKit2.
25311
25312        * page/scrolling/ScrollingCoordinator.h:
25313        Make commitTreeStateIfNeeded public.
25314
253152012-04-30  Kentaro Hara  <haraken@chromium.org>
25316
25317        WebGLRenderingContext methods should throw TypeError for not enough arguments
25318        https://bugs.webkit.org/show_bug.cgi?id=84787
25319
25320        Reviewed by Kenneth Russell.
25321
25322        Currently, WebGLRenderingcontext methods implement
25323        "Not enough arguments" error as SyntaxError. The Web IDL
25324        spec requires that it should be TypeError:
25325        http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm
25326
25327        This patch changes SyntaxError to TypeError.
25328
25329        I wanted to confirm the behavior of Firefox and Opera,
25330        but they do not implement WebGL yet.
25331
25332        Test: fast/canvas/webgl/webgl-exceptions.html
25333
25334        * bindings/js/JSWebGLRenderingContextCustom.cpp:
25335        (WebCore::getObjectParameter):
25336        (WebCore::JSWebGLRenderingContext::getAttachedShaders):
25337        (WebCore::JSWebGLRenderingContext::getExtension):
25338        (WebCore::JSWebGLRenderingContext::getFramebufferAttachmentParameter):
25339        (WebCore::JSWebGLRenderingContext::getParameter):
25340        (WebCore::JSWebGLRenderingContext::getProgramParameter):
25341        (WebCore::JSWebGLRenderingContext::getShaderParameter):
25342        (WebCore::JSWebGLRenderingContext::getUniform):
25343        (WebCore::dataFunctionf):
25344        (WebCore::dataFunctioni):
25345        (WebCore::dataFunctionMatrix):
25346        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
25347        (WebCore::getObjectParameter):
25348        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
25349        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
25350        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
25351        (WebCore::V8WebGLRenderingContext::getParameterCallback):
25352        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
25353        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
25354        (WebCore::V8WebGLRenderingContext::getUniformCallback):
25355        (WebCore::vertexAttribAndUniformHelperf):
25356        (WebCore::uniformHelperi):
25357        (WebCore::uniformMatrixHelper):
25358
253592012-04-30  Emil A Eklund  <eae@chromium.org>
25360
25361        [gtk, qt, chromium, win] Fix usage of LayoutUnits and rounding in platform code
25362        https://bugs.webkit.org/show_bug.cgi?id=85222
25363
25364        Reviewed by Eric Seidel.
25365
25366        Update platform code to use the pixel snapped values for painting rects
25367        to line up with device pixels and change platform specific hit testing
25368        code to use roundedPoint as hit testing is still mostly done on integer
25369        bounds.
25370
25371        No new tests, no change in functionality.
25372
25373        * platform/qt/RenderThemeQt.cpp:
25374        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
25375        * platform/win/PopupMenuWin.cpp:
25376        (WebCore::PopupMenuWin::paint):
25377        * rendering/RenderThemeChromiumSkia.cpp:
25378        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
25379        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
25380        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
25381
253822012-04-30  Kentaro Hara  <haraken@chromium.org>
25383
25384        [V8][JSC] Remove hard-coded "Not enough arguments" errors
25385        https://bugs.webkit.org/show_bug.cgi?id=85207
25386
25387        Reviewed by Sam Weinig.
25388
25389        In bug 85022 and bug 85097, we implemented
25390        createNotEnoughArgumentsError() in JSC and
25391        V8Proxy::throwNotEnoughArgumentsError() in V8 and partially
25392        removed hard-coded "Not enough arguments" errors.
25393        This patch removes hard-coded "Not enough arguments"
25394        errors by using the helper methods.
25395
25396        No tests. No change in behavior.
25397
25398        * bindings/js/JSAudioContextCustom.cpp:
25399        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
25400        * bindings/js/JSSVGLengthCustom.cpp:
25401        (WebCore::JSSVGLength::convertToSpecifiedUnits):
25402        * bindings/js/JSWebSocketCustom.cpp:
25403        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
25404        (WebCore::JSWebSocket::send):
25405        * bindings/js/JSXMLHttpRequestCustom.cpp:
25406        (WebCore::JSXMLHttpRequest::open):
25407        * bindings/v8/ScriptController.cpp:
25408        (WebCore::setValueAndClosePopupCallback):
25409        * bindings/v8/custom/V8AudioContextCustom.cpp:
25410        (WebCore::V8AudioContext::constructorCallback):
25411        * bindings/v8/custom/V8SVGLengthCustom.cpp:
25412        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
25413        * bindings/v8/custom/V8WebSocketCustom.cpp:
25414        (WebCore::V8WebSocket::constructorCallback):
25415        (WebCore::V8WebSocket::sendCallback):
25416        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
25417        (WebCore::V8XMLHttpRequest::openCallback):
25418
254192012-04-30  Benjamin Poulain  <benjamin@webkit.org>
25420
25421        Add String::startsWith() and endsWith() for string literals
25422        https://bugs.webkit.org/show_bug.cgi?id=85154
25423
25424        Reviewed by Darin Adler.
25425
25426        Update WebCore to use the simpler startsWith() and endsWith() taking
25427        a UChar.
25428
25429        * css/CSSParser.cpp:
25430        (WebCore::CSSParser::markPropertyEnd):
25431        * css/WebKitCSSKeyframeRule.cpp:
25432        (WebCore::StyleKeyframe::parseKeyString):
25433        * editing/markup.cpp:
25434        (WebCore::createFragmentFromText):
25435        * html/HTMLObjectElement.cpp:
25436        (WebCore::HTMLObjectElement::addSubresourceAttributeURLs):
25437        * html/HTMLTextFormControlElement.cpp:
25438        (WebCore::HTMLTextFormControlElement::setInnerTextValue):
25439        * inspector/ContentSearchUtils.cpp:
25440        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
25441        * inspector/InspectorCSSAgent.cpp:
25442        (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
25443        * loader/MainResourceLoader.cpp:
25444        (WebCore::MainResourceLoader::substituteMIMETypeFromPluginDatabase):
25445        * loader/appcache/ManifestParser.cpp:
25446        (WebCore::parseManifest):
25447        * platform/blackberry/CookieManager.cpp:
25448        (WebCore::CookieManager::shouldRejectForSecurityReason):
25449        * platform/posix/FileSystemPOSIX.cpp:
25450        (WebCore::pathByAppendingComponent):
25451        * plugins/PluginDatabase.cpp:
25452        (WebCore::PluginDatabase::findPlugin):
25453        * svg/SVGStopElement.cpp:
25454        (WebCore::SVGStopElement::parseAttribute):
25455        * svg/animation/SVGSMILElement.cpp:
25456        (WebCore::SVGSMILElement::parseOffsetValue):
25457        (WebCore::SVGSMILElement::parseCondition):
25458
254592012-04-30  Abhishek Arya  <inferno@chromium.org>
25460
25461        Remove positioned float code.
25462        https://bugs.webkit.org/show_bug.cgi?id=84795
25463
25464        Reviewed by Dan Bernstein.
25465
25466        Backout r92004 and some pieces from r91702.
25467
25468        Test: fast/block/float/positioned-float-crash.html
25469
25470        * css/CSSParser.cpp:
25471        (WebCore::isValidKeywordPropertyAndValue):
25472        * css/CSSPrimitiveValueMappings.h:
25473        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
25474        (WebCore::CSSPrimitiveValue::operator EFloat):
25475        * css/CSSValueKeywords.in:
25476        * rendering/RenderBlock.cpp:
25477        (WebCore::RenderBlock::RenderBlock):
25478        (WebCore::RenderBlock::layoutBlock):
25479        (WebCore::RenderBlock::addOverflowFromFloats):
25480        (WebCore::RenderBlock::layoutBlockChild):
25481        (WebCore::RenderBlock::simplifiedLayout):
25482        (WebCore::RenderBlock::layoutPositionedObjects):
25483        (WebCore::RenderBlock::insertFloatingObject):
25484        (WebCore::RenderBlock::positionNewFloats):
25485        (WebCore::RenderBlock::clearFloats):
25486        (WebCore::RenderBlock::FloatingObjects::clear):
25487        (WebCore::RenderBlock::FloatingObjects::increaseObjectsCount):
25488        (WebCore::RenderBlock::FloatingObjects::decreaseObjectsCount):
25489        * rendering/RenderBlock.h:
25490        (RenderBlock):
25491        (WebCore::RenderBlock::forceLayoutInlineChildren):
25492        (FloatingObject):
25493        (WebCore::RenderBlock::FloatingObject::FloatingObject):
25494        (WebCore::RenderBlock::hasOverhangingFloats):
25495        (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
25496        (FloatingObjects):
25497        * rendering/RenderBox.cpp:
25498        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
25499        * rendering/RenderDeprecatedFlexibleBox.cpp:
25500        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
25501        * rendering/RenderDeprecatedFlexibleBox.h:
25502        (RenderDeprecatedFlexibleBox):
25503        * rendering/RenderFlexibleBox.cpp:
25504        (WebCore::RenderFlexibleBox::layoutBlock):
25505        * rendering/RenderFlexibleBox.h:
25506        (RenderFlexibleBox):
25507        * rendering/RenderLayer.cpp:
25508        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
25509        * rendering/style/RenderStyleConstants.h:
25510
255112012-04-29  Sam Weinig  <sam@webkit.org>
25512
25513        Remove BlobBuilder
25514        https://bugs.webkit.org/show_bug.cgi?id=84036
25515
25516        Reviewed by Anders Carlsson.
25517
25518        * GNUmakefile.am:
25519        * fileapi/WebKitBlobBuilder.idl:
25520        * page/DOMWindow.idl:
25521        * workers/WorkerContext.idl:
25522        Make exposing the WebKitBlobBuilder JS object conditional on a new
25523        ENABLE_LEGACY_WEBKIT_BLOB_BUILDER flag. Don't enable this for the Mac,
25524        but do for everyone else.
25525
255262012-04-30  Anders Carlsson  <andersca@apple.com>
25527
25528        Add a barrier-style dispatch member function to ScrollingThread
25529        https://bugs.webkit.org/show_bug.cgi?id=85228
25530
25531        Reviewed by Sam Weinig.
25532
25533        Add a ScrollingThread::dispatchBarrier function which takes a WTF::Function and dispatches it to the main thread
25534        once all the currently scheduled scrolling thread functions have run. This is to be used for synchronization between the
25535        scrolling thread and the main thread.
25536
25537        * page/scrolling/ScrollingThread.cpp:
25538        (WebCore::callFunctionOnMainThread):
25539        (WebCore):
25540        (WebCore::ScrollingThread::dispatchBarrier):
25541        * page/scrolling/ScrollingThread.h:
25542        (ScrollingThread):
25543
255442012-04-30  Min Qin  <qinmin@google.com>
25545
25546        Expose a flag so that fullscreen video on android can work with FULLSCREEN_API
25547        https://bugs.webkit.org/show_bug.cgi?id=84414
25548
25549        Reviewed by Darin Fisher.
25550
25551        No tests, just exposing the flag, and will be used by android later.
25552        Sorry, there is a merge error during the previous commit, resolved now
25553
25554        * platform/graphics/MediaPlayer.cpp:
25555        (WebCore::MediaPlayer::setControls):
25556        (WebCore):
25557        (WebCore::MediaPlayer::enterFullscreen):
25558        (WebCore::MediaPlayer::exitFullscreen):
25559        * platform/graphics/MediaPlayer.h:
25560        (MediaPlayer):
25561        * platform/graphics/MediaPlayerPrivate.h:
25562        (MediaPlayerPrivateInterface):
25563        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
25564
255652012-04-30  Nate Chapin  <japhet@chromium.org>
25566
25567        Move more of committing and starting to write a Document
25568        to DocumentLoader.
25569        https://bugs.webkit.org/show_bug.cgi?id=83908
25570
25571        Reviewed by Adam Barth.
25572
25573        No new tests, refactor only.
25574
25575        * loader/DocumentLoader.cpp:
25576        (WebCore::DocumentLoader::commitIfReady): Ignore m_gotFirstByte here, since
25577            it was always true here anyway.
25578        (WebCore::DocumentLoader::finishedLoading): If we are finishing an empty
25579            document, create the document now, so that FrameLoaderClient doesn't
25580            have to do it later (FrameLoaderClient code will be removed in a later
25581            patch).
25582        (WebCore::DocumentLoader::commitData): Call receivedFirstData() directly and
25583            do some work receivedFirstData() used to do, setEncoding() only once per
25584            load.
25585        (WebCore::DocumentLoader::receivedData):
25586        (WebCore::DocumentLoader::maybeCreateArchive):
25587        * loader/DocumentLoader.h:
25588        * loader/DocumentWriter.cpp:
25589        (WebCore::DocumentWriter::setEncoding):
25590        * loader/FrameLoader.cpp:
25591        (WebCore::FrameLoader::receivedFirstData): Move DocumentLoader calls
25592            to DocumentLoader.
25593        * loader/FrameLoader.h: Remove m_hasReceivedFirstData and willSetEncoding(),
25594            allow hasReceivedData() to be called directly.
25595        (FrameLoader):
25596
255972012-04-30  Kentaro Hara  <haraken@chromium.org>
25598
25599        Unreviewed. Fix test crashes in Win/Linux debug builds.
25600
25601        * bindings/v8/V8LazyEventListener.cpp:
25602        (WebCore::V8LazyEventListener::V8LazyEventListener):
25603        (WebCore::V8LazyEventListener::prepareListenerObject):
25604        * bindings/v8/V8LazyEventListener.h:
25605        (V8LazyEventListener):
25606
256072012-04-30  Tommy Widenflycht  <tommyw@google.com>
25608
25609        MediaStream API: Change LocalMediaStream::stop to be synchronous
25610        https://bugs.webkit.org/show_bug.cgi?id=84942
25611
25612        Reviewed by Dimitri Glazkov.
25613
25614        Since I changed LocalMediaStream to be a ActiveDOMObject recently the stop()
25615        behaviour needs to change since it is no longer a good idea to start a timer when called.
25616
25617        Not possible to write a test for this.
25618
25619        * Modules/mediastream/LocalMediaStream.cpp:
25620        (WebCore::LocalMediaStream::LocalMediaStream):
25621        (WebCore::LocalMediaStream::stop):
25622        * Modules/mediastream/LocalMediaStream.h:
25623        (LocalMediaStream):
25624
256252012-04-28  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
25626
25627        Add ENABLE_SUBPIXEL_LAYOUT controlling FractionalLayoutUnit denominator
25628        https://bugs.webkit.org/show_bug.cgi?id=85146
25629
25630        Reviewed by Eric Seidel.
25631
25632        Add a new flag for controlling the fixed point denominator in
25633        FractionalLayoutUnit. Controls whether the denominator is set to 60 or 1.
25634        Until we change the LayoutUnit typedef this change will have no effect.
25635
25636        No new tests, no change in functionality.
25637
25638        * platform/FractionalLayoutUnit.h:
25639        (WebCore):
25640        (WebCore::FractionalLayoutUnit::operator++):
25641        (WebCore::operator/):
25642        (WebCore::operator+):
25643        Add ++, / double and and + double operators. These are needed when
25644        ENABLE_SUBPIXEL_LAYOUT is not enabled.
25645        
25646        * platform/graphics/FractionalLayoutRect.cpp:
25647        (WebCore::enclosingFractionalLayoutRect):
25648
256492012-04-30  Justin Schuh  <jschuh@chromium.org>
25650
25651        loadOrRedirectSubframe should return the owner element's frame
25652        https://bugs.webkit.org/show_bug.cgi?id=84780
25653
25654        Reviewed by Nate Chapin.
25655
25656        Test: fast/loader/javascript-url-iframe-remove-on-navigate.html
25657
25658        * loader/SubframeLoader.cpp:
25659        (WebCore::SubframeLoader::loadOrRedirectSubframe):
25660
256612012-04-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
25662
25663        Use Vector<Attribute> directly instead of encapsulating it in AttributeVector
25664        https://bugs.webkit.org/show_bug.cgi?id=84413
25665
25666        Reviewed by Andreas Kling.
25667
25668        As commented in https://bugs.webkit.org/show_bug.cgi?id=79963#c16 we do not
25669        usually subclass basic types like Vector. This patch changes code to use
25670        Vector<Attribute> directly and move around the functionality of the former
25671        methods to more specific helper functions or inline code at the callers.
25672
25673        * dom/Element.cpp:
25674        (WebCore::Element::parserSetAttributes):
25675        (WebCore::Element::normalizeAttributes):
25676        * dom/Element.h:
25677        (Element):
25678        * dom/ElementAttributeData.cpp:
25679        * dom/ElementAttributeData.h:
25680        (WebCore::findAttributeInVector):
25681        (WebCore::ElementAttributeData::getAttributeItem):
25682        (ElementAttributeData):
25683        (WebCore::ElementAttributeData::attributeVector):
25684        (WebCore::ElementAttributeData::clonedAttributeVector):
25685        (WebCore::ElementAttributeData::getAttributeItemIndex):
25686        (WebCore):
25687        * html/parser/HTMLConstructionSite.cpp:
25688        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
25689        * html/parser/HTMLToken.h:
25690        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
25691        * html/parser/HTMLTreeBuilder.cpp:
25692        (WebCore::HTMLTreeBuilder::processFakeStartTag):
25693        (WebCore::HTMLTreeBuilder::attributesForIsindexInput): Loop through the attributes
25694        backwards so we can remove items without affecting the rest of the loop run.
25695        * html/parser/HTMLTreeBuilder.h:
25696        * html/parser/TextDocumentParser.cpp:
25697        (WebCore::TextDocumentParser::insertFakePreElement):
25698        * xml/XMLErrors.cpp:
25699        (WebCore::createXHTMLParserErrorHeader):
25700        (WebCore::XMLErrors::insertErrorMessageBlock):
25701        * xml/parser/MarkupTokenBase.h:
25702        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
25703        (WebCore::AtomicMarkupTokenBase::getAttributeItem):
25704        (WebCore::AtomicMarkupTokenBase::attributes):
25705        (AtomicMarkupTokenBase):
25706        (WebCore::::initializeAttributes):
25707        * xml/parser/XMLToken.h:
25708        (WebCore::AtomicXMLToken::AtomicXMLToken):
25709
257102012-04-30  Mark Pilgrim  <pilgrim@chromium.org>
25711
25712        [Chromium] Remove PlatformSupport::loadPlatformAudioResource, call loadResource directly
25713        https://bugs.webkit.org/show_bug.cgi?id=85193
25714
25715        Reviewed by Kentaro Hara.
25716
25717        Part of a refactoring series. See tracking bug 82948.
25718
25719        * platform/audio/chromium/AudioBusChromium.cpp:
25720        (WebCore::AudioBus::loadPlatformResource):
25721        * platform/chromium/PlatformSupport.h:
25722        (PlatformSupport):
25723
257242012-04-30  Mark Pilgrim  <pilgrim@chromium.org>
25725
25726        [Chromium] Call defaultLocale directly
25727        https://bugs.webkit.org/show_bug.cgi?id=85192
25728
25729        Reviewed by Kentaro Hara.
25730
25731        Part of a refactoring series. See tracking bug 82948.
25732
25733        * platform/chromium/LanguageChromium.cpp:
25734        (WebCore::platformLanguage):
25735        * platform/chromium/PlatformSupport.h:
25736        (PlatformSupport):
25737
257382012-04-30  Beth Dakin  <bdakin@apple.com>
25739
25740        https://bugs.webkit.org/show_bug.cgi?id=82922
25741        border-image with image-set does not render correctly when viewed at 
25742        2x
25743        -and corresponding-
25744        <rdar://problem/11167820>
25745
25746        Reviewed by Dan Bernstein.
25747
25748        StyleImage::computeIntrinsicDimensions() is only called from one 
25749        place: RenderBoxModelObject::calculateIntrinsicDimensions(), and that 
25750        is only used for background images and border images. In my original 
25751        image-set work, I decided that 
25752        StyleCachedImageSet::computeIntrinsicDimensions() would compute 
25753        "intrinsic" dimensions, meaning that they would compute the dimensions 
25754        that the image resource was pretending to be rather than the actual 
25755        dimensions of the resource. I chose to do this because it made 
25756        background images work great without changing the call-site. But border 
25757        images need to know the actual intrinsic dimensions, so this design 
25758        decision (which was admittedly questionable from the start) won't 
25759        stick.
25760        
25761        This patch makes StyleImage::computeIntrinsicDimensions() return 
25762        actual intrinsic dimensions. Then the border-image and background-
25763        image code is very lightly patched to account for the image's scale 
25764        factor.
25765
25766        These functions no longer need the scale factor parameter.
25767        * loader/cache/CachedImage.cpp:
25768        (WebCore::CachedImage::computeIntrinsicDimensions):
25769        * loader/cache/CachedImage.h:
25770        (CachedImage):
25771        * platform/graphics/GeneratedImage.h:
25772        (GeneratedImage):
25773        * platform/graphics/GeneratorGeneratedImage.cpp:
25774        (WebCore::GeneratedImage::computeIntrinsicDimensions):
25775        * platform/graphics/Image.cpp:
25776        (WebCore::Image::computeIntrinsicDimensions):
25777        * platform/graphics/Image.h:
25778        (Image):
25779        * platform/graphics/cg/PDFDocumentImage.cpp:
25780        (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
25781        * platform/graphics/cg/PDFDocumentImage.h:
25782        (PDFDocumentImage):
25783        * svg/graphics/SVGImage.cpp:
25784        (WebCore::SVGImage::computeIntrinsicDimensions):
25785        * svg/graphics/SVGImage.h:
25786        (SVGImage):
25787        * rendering/style/StyleCachedImageSet.cpp:
25788        (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
25789        
25790        New function on StyleImage returns the image's scale factor. 
25791        * rendering/style/StyleCachedImageSet.h:
25792        (WebCore::StyleCachedImageSet::imageScaleFactor):
25793        * rendering/style/StyleImage.h:
25794        (WebCore::StyleImage::imageScaleFactor):
25795
25796        Scale the intrinsic size of the background image down by the scale 
25797        factor.
25798        * rendering/RenderBoxModelObject.cpp:
25799        (WebCore::RenderBoxModelObject::calculateFillTileSize):
25800        
25801        Slices should be multiplied by the image's scale factor since they are 
25802        always expected to the specified in the 1x image's coordinate space.
25803        (WebCore::RenderBoxModelObject::paintNinePieceImage):
25804
258052012-04-30  Arko Saha  <arko@motorola.com>
25806
25807        Remove custom bindings code in JSHTMLCollectionCustom.cpp for HTMLPropertiesCollection.
25808        https://bugs.webkit.org/show_bug.cgi?id=85172
25809
25810        Reviewed by Kentaro Hara.
25811
25812        Use [JSGenerateToJSObject] in HTMLPropertiesCollection.idl, so that it can generate toJS()
25813        in JSHTMLPropertiesCollection.cpp automatically.
25814
25815        * bindings/js/JSHTMLCollectionCustom.cpp:
25816        (WebCore::toJS):
25817        * html/HTMLPropertiesCollection.idl:
25818
258192012-04-30  No'am Rosenthal  <noam.rosenthal@nokia.com>
25820
25821        [Texmap] TextureMapperLayer uses intermediate surfaces too eagerly
25822        https://bugs.webkit.org/show_bug.cgi?id=85103
25823
25824        Reviewed by Kenneth Rohde Christiansen.
25825
25826        Instead of automatically using an intermediate surface for layers with opacity and
25827        children, we limit surface usage for layers with more than one child and for layers with
25828        one child and contents of its own.
25829
25830        This prevents us from using intermediate surfaces in cases where a single layer with
25831        opacity has a single descendant with content, in which case normal blending can be used.
25832
25833        Covered by existing compositing layout tests.
25834
25835        * platform/graphics/texmap/TextureMapperLayer.cpp:
25836        (WebCore):
25837        * platform/graphics/texmap/TextureMapperLayer.h:
25838
258392012-04-30  Yi Shen  <yi.4.shen@nokia.com>
25840
25841        Inserting a paragraph between quoted lines in editing/deleting/delete-4038408-fix.html doesn't work
25842        https://bugs.webkit.org/show_bug.cgi?id=78193
25843
25844        Reviewed by Ryosuke Niwa.
25845
25846        When pasting a copied portion of a blockquote with a newline at the end into an unquoted area,
25847        the newline is inserted after the blockquote since we don't want it also to be quoted. However,
25848        this behavior has also applied when we insert a paragraph between quoted lines, which is incorrect.
25849        To figure out the right place to insert a paragraph, we need providing more information to the
25850        InsertParagraphSeparatorCommand by introducing a boolean parameter "pasteBlockqutoeIntoUnquotedArea".
25851
25852        Tests: editing/inserting/insert-paragraph-separator-in-blockquote.html
25853               editing/pasteboard/paste-wrapped-blockquote-into-nonblockquote.html
25854
25855        * editing/CompositeEditCommand.cpp:
25856        (WebCore::CompositeEditCommand::insertParagraphSeparator):
25857        * editing/CompositeEditCommand.h:
25858        (CompositeEditCommand):
25859        * editing/InsertParagraphSeparatorCommand.cpp:
25860        (WebCore::InsertParagraphSeparatorCommand::InsertParagraphSeparatorCommand):
25861        (WebCore::InsertParagraphSeparatorCommand::doApply):
25862        * editing/InsertParagraphSeparatorCommand.h:
25863        (WebCore::InsertParagraphSeparatorCommand::create):
25864        (InsertParagraphSeparatorCommand):
25865        * editing/ReplaceSelectionCommand.cpp:
25866        (WebCore::ReplaceSelectionCommand::doApply):
25867
258682012-04-30  Antti Koivisto  <antti@apple.com>
25869
25870        Protect current element in HTMLLinkElement::setCSSStyleSheet
25871        https://bugs.webkit.org/show_bug.cgi?id=85166
25872
25873        Reviewed by Andreas Kling.
25874        
25875        Stylesheet loading can trigger script execution.
25876        
25877        Test: fast/css/cached-sheet-restore-crash.html
25878
25879        * html/HTMLLinkElement.cpp:
25880        (WebCore::HTMLLinkElement::setCSSStyleSheet):
25881
258822012-04-29  Keishi Hattori  <keishi@webkit.org>
25883
25884        Build fix for LocalizedDateMac.mm
25885        https://bugs.webkit.org/show_bug.cgi?id=85164
25886
25887        Reviewed by Kent Tamura.
25888
25889        * platform/text/mac/LocalizedDateMac.mm:
25890        (WebCore::monthLabels):
25891
258922012-04-29  Luke Macpherson  <macpherson@chromium.org>
25893
25894        Initialize member variables in CSSParser's constructor.
25895        https://bugs.webkit.org/show_bug.cgi?id=84377
25896
25897        Reviewed by Kentaro Hara.
25898
25899        It is good practice not to leave member variables uninitialized. They make debugging more difficult by reducing
25900        repeatability, and in some cases lead to the possibility of information leakage occuring. This patch simply adds
25901        initialization of m_numParsedPropertiesBeforeMarginBox to CSSParser's constructor to INVALID_NUM_PARSED_PROPERTIES
25902        so that the initial state is the same as the state after the properties are cleared.
25903
25904        No tests added because this is a code style fix, not an actual bug so long as the bison generated code calls
25905        startDeclarationsForMarginBox() and endDeclarationsForMarginBox() symmetrically. The lack of initialization was
25906        originally detected by coverity.
25907
25908        * css/CSSParser.cpp:
25909        (WebCore::CSSParser::CSSParser):
25910
259112012-04-29  Kent Tamura  <tkent@chromium.org>
25912
25913        [Mac] Add LocalizedDateMac
25914        https://bugs.webkit.org/show_bug.cgi?id=85039
25915
25916        Reviewed by Kentaro Hara.
25917
25918        A date shown <input type=date> should be formatted for user's OS
25919        settings. Chromium-Mac used LocalizedDateICU.cpp to format/parse visible
25920        date strings and it didn't reflect user-settings.
25921
25922        Test: covered by fast/forms/date/date-appearance.html
25923
25924        * WebCore.gyp/WebCore.gyp:
25925        Use LocalizedDateMac.mm for OS X instead of LocalizedDateICU.cpp.
25926        * WebCore.gypi: Add LocalizedDateMac.mm
25927        * platform/text/mac/LocalizedDateMac.mm: Added.
25928        (WebCore::createShortDateFormatter):
25929        Creates a NSDateFormatter with desired settings.
25930        (WebCore::parseLocalizedDate): Impelment for tyep=date.
25931        (WebCore::formatLocalizedDate): ditto.
25932        (WebCore::isYearSymbol): A readability helper for format string parsing.
25933        (WebCore::isMonthSymbol): ditto.
25934        (WebCore::isDaySymbol): ditto.
25935        (WebCore::localizeDateFormat):
25936        Parse a format string, and replace symbols with user-friendly labels.
25937        (WebCore::localizedDateFormatText):
25938        Gets a format string, and apply localizeDateFormat().
25939        (WebCore::monthLabels): Obtain month names from the system.
25940        (WebCore::weekDayShortLabels): Obtain week day symbols from the system.
25941        (WebCore::firstDayOfWeek): Obtain first day of week from the system.
25942        * platform/text/ICULocale.cpp:
25943        (WebCore::createFallbackMonthLabels): Uses WTF::monthFullName.
25944
259452012-04-29  Sam Weinig  <sam@webkit.org>
25946
25947        Add support for the Blob constructor (Part 2)
25948        https://bugs.webkit.org/show_bug.cgi?id=84555
25949
25950        Address additional feedback on Blob construction.
25951        - Add exception when the dictionary is not an object.
25952        - Ensure the proper ordering of dictionary access. Tested via
25953          throwing exceptions in toString, and ensuring correct one is
25954          fired first.
25955        - Changed type of exception throw for invalid enumeration to a
25956          TypeError.
25957
25958        Reviewed by Kentaro Hara.
25959
25960        Updated fast/files/blob-constructor.html to be more comprehensive.
25961
25962        * bindings/js/JSBlobCustom.cpp:
25963        (WebCore::JSBlobConstructor::constructJSBlob):
25964        * bindings/v8/custom/V8BlobCustom.cpp:
25965        (WebCore::V8Blob::constructorCallback):
25966
259672012-04-29  No'am Rosenthal  <noam.rosenthal@nokia.com>
25968
25969        [Texmap] Leaves demo: wrong geometry when opacity animation kicks in
25970        https://bugs.webkit.org/show_bug.cgi?id=85096
25971
25972        Reviewed by Kenneth Rohde Christiansen.
25973
25974        We should use combined() instead of combinedForChildren() since we don't allow
25975        intermediate surfaces for preserves-3d. Also, we should apply the offset before
25976        multiplying the transforms, otherwise the transform-origin is incorrect.
25977
25978        Covered by existing compositing tests.
25979
25980        * platform/graphics/texmap/TextureMapperLayer.cpp:
25981        (WebCore::TextureMapperLayer::paintSelf):
25982        (WebCore::TextureMapperLayer::paintRecursive):
25983
259842012-04-29  Mark Pilgrim  <pilgrim@chromium.org>
25985
25986        [Chromium] Call highUsageDeltaMB directly
25987        https://bugs.webkit.org/show_bug.cgi?id=84844
25988
25989        Reviewed by Kentaro Hara.
25990
25991        Part of a refactoring series. See tracking bug 82948.
25992
25993        * bindings/v8/V8GCController.cpp:
25994        (WebCore::V8GCController::checkMemoryUsage):
25995        * platform/MemoryUsageSupport.cpp:
25996        (WebCore):
25997        (WebCore::MemoryUsageSupport::highUsageDeltaMB):
25998        * platform/MemoryUsageSupport.h:
25999        (MemoryUsageSupport):
26000        * platform/chromium/MemoryUsageSupportChromium.cpp:
26001        (WebCore::MemoryUsageSupport::highUsageDeltaMB):
26002        (WebCore):
26003        * platform/chromium/PlatformSupport.h:
26004        (PlatformSupport):
26005
260062012-04-29  Kentaro Hara  <haraken@chromium.org>
26007
26008        REGRESSION(r113086): onresize event handler can be deleted in popup window
26009        https://bugs.webkit.org/show_bug.cgi?id=84908
26010
26011        Reviewed by Ojan Vafai.
26012
26013        In a nutshell, an onresize event handler in the popup window
26014        can be non-deterministically deleted. For more details, please
26015        look at Chromium issue 123642:
26016        http://code.google.com/p/chromium/issues/detail?id=123642
26017
26018        I confirmed that this bug is the regression caused by r113086.
26019
26020        r113086 introduced the following code:
26021
26022        void V8LazyEventListener::prepareListenerObject(...) {
26023            if (hasExistingListenerObject())
26024                return;
26025            ...;
26026            // Since we only parse once, there's no need to keep data
26027            // used for parsing around anymore.
26028            m_functionName = String();
26029            m_code = String();
26030            m_eventParameterName = String();
26031            m_sourceURL = String();
26032
26033            setListenerObject(wrappedFunction);
26034        }
26035
26036        This is not correct. The parsing can be done more than once,
26037        and thus we cannot clear data. This patch removes the above code.
26038
26039        Consider the following situation:
26040
26041        (1) Assume '<body onresize="f()"></body>'.
26042        (2) prepareListenerObject() runs.
26043        (3) Since this is the first parsing, hasExistingListenerObject()
26044        returns false. After the parsing, the listener object is set
26045        by setListenerObject().
26046        (4) GC runs. Since there is no strong reference to the listener
26047        object, weakEventListenerCallback() is called back, and the listener
26048        object is disposed.
26049        (5) A resize event is triggered.
26050        (6) prepareListenerObject() is called again. Since the listener object
26051        is already disposed, hasExistingListenerObject() returns false,
26052        and the second parsing starts.
26053
26054        In my investigation, the above situation is happening in the reported
26055        Chromium bug. Anyway, I am sure that potentially the parsing can be
26056        done more than once, and thus we must keep m_xxxx data.
26057
26058        However, this is just a temporary fix. We should fix the code so that
26059        an alive event listener object is never reclaimed.
26060        See https://bugs.webkit.org/show_bug.cgi?id=85152 for more details.
26061
26062        No tests: I tried hard to create a DRT test, but could not.
26063        The bug depends on the behavior of GC, and thus the reported bug is
26064        non-deterministic. For example, (as explained in the Chromium issue,)
26065        the bug does not happen if we load an HTML from network because
26066        the network latency hides the bug. Also the bug happens in the
26067        popup window only. If we open the reported HTML in the main window,
26068        we cannot reproduce the bug.
26069
26070        * bindings/v8/V8LazyEventListener.cpp:
26071        (WebCore::V8LazyEventListener::prepareListenerObject):
26072
260732012-04-28  Sam Weinig  <sam@webkit.org>
26074
26075        Smooth scrolling needs a new key
26076        <rdar://problem/11331632>
26077
26078        Reviewed by Geoffrey Garen.
26079
26080        * platform/mac/ScrollAnimatorMac.mm:
26081        (WebCore::scrollAnimationEnabledForSystem):
26082        (WebCore::ScrollAnimatorMac::scroll):
26083        Update for new key.
26084
260852012-04-28  Li Yin  <li.yin@intel.com>
26086
26087        MessagePort must set m_closed to be true at the end of MessagePort::close function
26088        https://bugs.webkit.org/show_bug.cgi?id=85139
26089
26090        In the function MessagePort::close, the "m_closed = true" must be executed at the end, not at the beginning.
26091        Or, the m_entangledChannel->close() will not be executed.
26092        And it resulted in the failure of MS bench mark messagechannel_close.htm.
26093        http://samples.msdn.microsoft.com/ietestcenter/WebWorkers/messagechannel_close.htm
26094
26095        Reviewed by Kentaro Hara.
26096
26097        Test: fast/events/message-port-close.html
26098
26099        * dom/MessagePort.cpp:
26100        (WebCore::MessagePort::close):
26101
261022012-04-28  Sam Weinig  <sam@webkit.org>
26103
26104        And again.
26105
26106        * bindings/v8/custom/V8BlobCustom.cpp:
26107        (WebCore::V8Blob::constructorCallback):
26108
261092012-04-28  Sam Weinig  <sam@webkit.org>
26110
26111        Once again, try to make these puppies work.
26112
26113        * bindings/v8/custom/V8BlobCustom.cpp:
26114
261152012-04-28  Sam Weinig  <sam@webkit.org>
26116
26117        Fix the Chromium build.
26118
26119        * bindings/v8/custom/V8BlobCustom.cpp:
26120        (WebCore::V8Blob::constructorCallback):
26121
261222012-04-27  Sam Weinig  <sam@webkit.org>
26123
26124        Add support for the Blob constructor
26125        https://bugs.webkit.org/show_bug.cgi?id=84555
26126
26127        Reviewed by Maciej Stachowiak.
26128
26129        Test: fast/files/blob-constructor.html
26130
26131        This adds an implementation of the Blob constructor that willfully
26132        violates the W3C Editor’s Draft 29 February 2012 in the following ways:
26133        - Elements in the parts array are coerced to DOMStrings https://www.w3.org/Bugs/Public/show_bug.cgi?id=16721 
26134        - Don't throw for invalid key in the dictionary https://www.w3.org/Bugs/Public/show_bug.cgi?id=16727
26135        - Values for the endings property are treated as enums https://www.w3.org/Bugs/Public/show_bug.cgi?id=16729 
26136
26137        * bindings/js/JSBlobCustom.cpp:
26138        (WebCore::JSBlobConstructor::constructJSBlob):
26139        Implement blob constructor.
26140
26141        * bindings/v8/custom/V8BlobCustom.cpp:
26142        (WebCore::V8Blob::constructorCallback):
26143        Implement blob constructor.
26144
26145        * fileapi/Blob.idl:
26146        Add constructor to IDL.
26147
26148        * workers/WorkerContext.idl:
26149        Add Blob constructor to the worker global object.
26150
261512012-04-28  Igor Oliveira  <igor.o@sisa.samsung.com>
26152
26153        Move PropertyWrapper out of the  AnimationBase
26154        https://bugs.webkit.org/show_bug.cgi?id=84978
26155
26156        Reviewed by Dean Jackson.
26157
26158        AnimationBase is a complex class. It has a state machine and a bunch of
26159        property handlers. This patch moves the property handlers to a separate
26160        class making AnimationBase simpler.
26161
26162        * CMakeLists.txt:
26163        * GNUmakefile.list.am:
26164        * Target.pri:
26165        * WebCore.gypi:
26166        * WebCore.vcproj/WebCore.vcproj:
26167        * WebCore.xcodeproj/project.pbxproj:
26168        * page/animation/AnimationBase.cpp:
26169        * page/animation/AnimationBase.h:
26170        (AnimationBase):
26171        * page/animation/AnimationController.cpp:
26172        (WebCore::AnimationController::supportsAcceleratedAnimationOfProperty):
26173        * page/animation/CSSPropertyAnimation.cpp: Added.
26174        (WebCore):
26175        (WebCore::blendFunc):
26176        (WebCore::crossfadeBlend):
26177        (AnimationPropertyWrapperBase):
26178        (WebCore::AnimationPropertyWrapperBase::AnimationPropertyWrapperBase):
26179        (WebCore::AnimationPropertyWrapperBase::~AnimationPropertyWrapperBase):
26180        (WebCore::AnimationPropertyWrapperBase::isShorthandWrapper):
26181        (WebCore::AnimationPropertyWrapperBase::property):
26182        (WebCore::AnimationPropertyWrapperBase::animationIsAccelerated):
26183        (WebCore::addPropertyWrapper):
26184        (WebCore::wrapperForProperty):
26185        (PropertyWrapperGetter):
26186        (WebCore::PropertyWrapperGetter::PropertyWrapperGetter):
26187        (WebCore::PropertyWrapperGetter::equals):
26188        (PropertyWrapper):
26189        (WebCore::PropertyWrapper::PropertyWrapper):
26190        (WebCore::PropertyWrapper::blend):
26191        (RefCountedPropertyWrapper):
26192        (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
26193        (WebCore::RefCountedPropertyWrapper::blend):
26194        (StyleImagePropertyWrapper):
26195        (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
26196        (WebCore::StyleImagePropertyWrapper::equals):
26197        (PropertyWrapperColor):
26198        (WebCore::PropertyWrapperColor::PropertyWrapperColor):
26199        (WebCore::PropertyWrapperColor::blend):
26200        (PropertyWrapperAcceleratedOpacity):
26201        (WebCore::PropertyWrapperAcceleratedOpacity::PropertyWrapperAcceleratedOpacity):
26202        (WebCore::PropertyWrapperAcceleratedOpacity::animationIsAccelerated):
26203        (WebCore::PropertyWrapperAcceleratedOpacity::blend):
26204        (PropertyWrapperAcceleratedTransform):
26205        (WebCore::PropertyWrapperAcceleratedTransform::PropertyWrapperAcceleratedTransform):
26206        (WebCore::PropertyWrapperAcceleratedTransform::animationIsAccelerated):
26207        (WebCore::PropertyWrapperAcceleratedTransform::blend):
26208        (PropertyWrapperAcceleratedFilter):
26209        (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
26210        (WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
26211        (WebCore::PropertyWrapperAcceleratedFilter::blend):
26212        (WebCore::shadowListLength):
26213        (WebCore::shadowForBlending):
26214        (PropertyWrapperShadow):
26215        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
26216        (WebCore::PropertyWrapperShadow::equals):
26217        (WebCore::PropertyWrapperShadow::blend):
26218        (WebCore::PropertyWrapperShadow::blendSimpleOrMatchedShadowLists):
26219        (WebCore::PropertyWrapperShadow::blendMismatchedShadowLists):
26220        (PropertyWrapperMaybeInvalidColor):
26221        (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
26222        (WebCore::PropertyWrapperMaybeInvalidColor::equals):
26223        (WebCore::PropertyWrapperMaybeInvalidColor::blend):
26224        (PropertyWrapperVisitedAffectedColor):
26225        (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
26226        (WebCore::PropertyWrapperVisitedAffectedColor::equals):
26227        (WebCore::PropertyWrapperVisitedAffectedColor::blend):
26228        (FillLayerAnimationPropertyWrapperBase):
26229        (WebCore::FillLayerAnimationPropertyWrapperBase::FillLayerAnimationPropertyWrapperBase):
26230        (WebCore::FillLayerAnimationPropertyWrapperBase::~FillLayerAnimationPropertyWrapperBase):
26231        (FillLayerPropertyWrapperGetter):
26232        (WebCore::FillLayerPropertyWrapperGetter::FillLayerPropertyWrapperGetter):
26233        (WebCore::FillLayerPropertyWrapperGetter::equals):
26234        (FillLayerPropertyWrapper):
26235        (WebCore::FillLayerPropertyWrapper::FillLayerPropertyWrapper):
26236        (WebCore::FillLayerPropertyWrapper::blend):
26237        (FillLayerRefCountedPropertyWrapper):
26238        (WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper):
26239        (WebCore::FillLayerRefCountedPropertyWrapper::blend):
26240        (FillLayerStyleImagePropertyWrapper):
26241        (WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
26242        (WebCore::FillLayerStyleImagePropertyWrapper::equals):
26243        (FillLayersPropertyWrapper):
26244        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
26245        (WebCore::FillLayersPropertyWrapper::equals):
26246        (WebCore::FillLayersPropertyWrapper::blend):
26247        (ShorthandPropertyWrapper):
26248        (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
26249        (WebCore::ShorthandPropertyWrapper::isShorthandWrapper):
26250        (WebCore::ShorthandPropertyWrapper::equals):
26251        (WebCore::ShorthandPropertyWrapper::blend):
26252        (WebCore::ShorthandPropertyWrapper::propertyWrappers):
26253        (PropertyWrapperFlex):
26254        (WebCore::PropertyWrapperFlex::PropertyWrapperFlex):
26255        (WebCore::PropertyWrapperFlex::equals):
26256        (WebCore::PropertyWrapperFlex::blend):
26257        (PropertyWrapperSVGPaint):
26258        (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
26259        (WebCore::PropertyWrapperSVGPaint::equals):
26260        (WebCore::PropertyWrapperSVGPaint::blend):
26261        (WebCore::addShorthandProperties):
26262        (WebCore::CSSPropertyAnimation::ensurePropertyMap):
26263        (WebCore::gatherEnclosingShorthandProperties):
26264        (WebCore::CSSPropertyAnimation::blendProperties):
26265        (WebCore::CSSPropertyAnimation::animationOfPropertyIsAccelerated):
26266        (WebCore::CSSPropertyAnimation::animatableShorthandsAffectingProperty):
26267        (WebCore::CSSPropertyAnimation::propertiesEqual):
26268        (WebCore::CSSPropertyAnimation::getPropertyAtIndex):
26269        (WebCore::CSSPropertyAnimation::getNumProperties):
26270        * page/animation/CSSPropertyAnimation.h: Added.
26271        (WebCore):
26272        (CSSPropertyAnimation):
26273        * page/animation/CompositeAnimation.cpp:
26274        (WebCore::CompositeAnimation::updateTransitions):
26275        (WebCore::CompositeAnimation::pauseTransitionAtTime):
26276        * page/animation/ImplicitAnimation.cpp:
26277        (WebCore::ImplicitAnimation::animate):
26278        (WebCore::ImplicitAnimation::getAnimatedStyle):
26279        (WebCore::ImplicitAnimation::isTargetPropertyEqual):
26280        (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
26281        (WebCore::ImplicitAnimation::timeToNextService):
26282        * page/animation/KeyframeAnimation.cpp:
26283        (WebCore::KeyframeAnimation::animate):
26284        (WebCore::KeyframeAnimation::getAnimatedStyle):
26285        (WebCore::KeyframeAnimation::timeToNextService):
26286        * rendering/style/RenderStyle.h:
26287
262882012-04-28  Geoffrey Garen  <ggaren@apple.com>
26289
26290        Clarified JSGlobalData (JavaScript VM) lifetime
26291        https://bugs.webkit.org/show_bug.cgi?id=85142
26292
26293        Reviewed by Anders Carlsson.
26294
26295        * bindings/js/WorkerScriptController.cpp:
26296        (WebCore::WorkerScriptController::~WorkerScriptController): Slightly 
26297        simpler than before. We can't just rely on our default destructor 
26298        because we need to hold the JSLock when we tear down the VM.
26299
26300        * bridge/NP_jsobject.cpp:
26301        (_NPN_InvokeDefault):
26302        (_NPN_Invoke):
26303        (_NPN_Evaluate):
26304        (_NPN_Construct): Don't RefPtr<> the JSGlobalData because it makes it 
26305        seem like you know something the rest of our code doesn't know. The 
26306        plugin JSGlobalData is immortal, anyway.
26307
26308        I also removed some timeout checker related code because that feature 
26309        doesn't work anymore, so it was effectively dead code.
26310
263112012-04-28  Ilya Tikhonovsky  <loislo@chromium.org>
26312
26313        Web Inspector: InspectorFrontendHost.append has to be implemented for saving heap snapshots.
26314        https://bugs.webkit.org/show_bug.cgi?id=85137
26315
26316        We can save a file with help of InspectorFrontendHost.save method,
26317        but it is suitable only for relatively small portions of data and
26318        can't process the 6Gb heap snapshot.
26319        These methods just pass the url and content into embedder.
26320
26321        Reviewed by Yury Semikhatsky.
26322
26323        * inspector/InspectorFrontendClient.h:
26324        (InspectorFrontendClient):
26325        * inspector/InspectorFrontendClientLocal.h:
26326        (WebCore::InspectorFrontendClientLocal::append):
26327        * inspector/InspectorFrontendHost.cpp:
26328        (WebCore::InspectorFrontendHost::append):
26329        (WebCore):
26330        * inspector/InspectorFrontendHost.h:
26331        (InspectorFrontendHost):
26332        * inspector/InspectorFrontendHost.idl:
26333
263342012-04-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
26335
26336        [Qt][Texmap] Error of cross-compiling webkit with Qt 4.8.1
26337        https://bugs.webkit.org/show_bug.cgi?id=84321
26338
26339        Speculative build-fix for Qt 4.8.
26340        Use QGLContext for Qt 4.x instead of the platform-specific context.
26341
26342        Reviewed by Simon Hausmann.
26343
26344        No new tests, build fix.
26345
26346        * platform/graphics/texmap/TextureMapperGL.cpp:
26347        (SharedGLData):
26348        (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
26349
263502012-04-28  No'am Rosenthal  <noam.rosenthal@nokia.com>
26351
26352        [Texmap] Falling leaves demo missing opacity fade out animation
26353        https://bugs.webkit.org/show_bug.cgi?id=83691
26354
26355        Reviewed by Martin Robinson.
26356
26357        The bug originated from clearing an intermediate surface with glClear while the scissor
26358        state was wrong.
26359        When using intermediate surfaces, maintain a clip-stack for each surface, rather than
26360        a single clip-stack for the whole scene. When a surface is bound, its clip stack should
26361        be applied.
26362
26363        Covered by existing compositing tests.
26364
26365        * platform/graphics/texmap/TextureMapperGL.cpp:
26366        (SharedGLData):
26367        (WebCore::TextureMapperGL::ClipStack::push):
26368        (WebCore):
26369        (WebCore::TextureMapperGL::ClipStack::pop):
26370        (WebCore::scissorClip):
26371        (WebCore::TextureMapperGL::ClipStack::apply):
26372        (WebCore::TextureMapperGL::clipStack):
26373        (WebCore::TextureMapperGL::beginPainting):
26374        (WebCore::TextureMapperGL::drawTexture):
26375        (WebCore::BitmapTextureGL::didReset):
26376        (WebCore::BitmapTextureGL::clearIfNeeded):
26377        (WebCore::BitmapTextureGL::createFboIfNeeded):
26378        (WebCore::BitmapTextureGL::bind):
26379        (WebCore::TextureMapperGL::bindDefaultSurface):
26380        (WebCore::TextureMapperGL::bindSurface):
26381        (WebCore::TextureMapperGL::beginScissorClip):
26382        (WebCore::TextureMapperGL::beginClip):
26383        (WebCore::TextureMapperGL::endClip):
26384        * platform/graphics/texmap/TextureMapperGL.h:
26385        (TextureMapperGL):
26386        (ClipState):
26387        (WebCore::TextureMapperGL::ClipState::ClipState):
26388        (ClipStack):
26389        (WebCore::TextureMapperGL::ClipStack::current):
26390        (WebCore::TextureMapperGL::ClipStack::clear):
26391        (BitmapTextureGL):
26392        (WebCore::BitmapTextureGL::BitmapTextureGL):
26393
263942012-04-26  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
26395
26396        Move Length and CSS length computation to float
26397        https://bugs.webkit.org/show_bug.cgi?id=84801
26398
26399        Reviewed by Eric Seidel.
26400
26401        Change Length and CSS length computation to floating point. This gets us
26402        closer to the goal of supporting subpixel layout and improves precision
26403        for SVG which already uses floating point for its layout.
26404
26405        This change makes computedStyle return fractional values for pixel values
26406        if a fraction is specified. It also changes the result of computations
26407        where two or more values with fractional precision. Prior to this change
26408        the result of Length(2.9) + Length(2.9) would be 4 as each value would be
26409        floored. With this change the result is 5 as the addition is done with
26410        floating point precision and then the result will be floored. Once we
26411        enable subpixel layout the resulting value in this example would be 5.8.
26412
26413        Updated existing layout tests.
26414
26415        * css/CSSComputedStyleDeclaration.cpp:
26416        (WebCore::zoomAdjustedPixelValue):
26417        * css/CSSPrimitiveValue.cpp:
26418        (WebCore::CSSPrimitiveValue::computeLength):
26419        * css/CSSPrimitiveValue.h:
26420        (WebCore):
26421        (WebCore::roundForImpreciseConversion):
26422        Add specialized float version of roundForImpreciseConversion that matches
26423        the int versions rounding logic.
26424        
26425        If a value is sufficiently close to the next integer round it up to
26426        ensure that a style rule such as "width: 4.999px" evaluates to 5px
26427        instead of 4px. This is needed as, although Lengths are using floating
26428        point, the layout system still uses integer precision and floors the
26429        Length values.
26430        This will change once we move to FractionalLayoutUnits but for now this
26431        is needed to ensure compatibility with the existing system and tests.
26432        
26433        Without this specialized rounding logic we fail a handful of tests
26434        including acid3.
26435        
26436        * platform/Length.h:
26437        (WebCore::Length::value):
26438        (Length):
26439        (WebCore::Length::intValue):
26440        * rendering/RenderTableCell.cpp:
26441        (WebCore::RenderTableCell::styleOrColLogicalWidth):
26442
264432012-04-28  Alexander Pavlov  <apavlov@chromium.org>
26444
26445        Web Inspector: Enable touch events feature fails touch feature detection
26446        https://bugs.webkit.org/show_bug.cgi?id=84397
26447
26448        Whenever the touch emulation is enabled, Inspector adds a script to evaluate on load,
26449        that adds ontouch(start|end|move|cancel) properties to window.__proto__ and document.__proto__.
26450
26451        Reviewed by Pavel Feldman.
26452
26453        * inspector/front-end/DOMAgent.js:
26454        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.get if):
26455        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged.scriptAddedCallback):
26456        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
26457        * inspector/front-end/inspector.js:
26458
264592012-04-28  Eugene Klyuchnikov  <eustas.bug@gmail.com>
26460
26461        Web Inspector: Shortcuts screen UI polish
26462        https://bugs.webkit.org/show_bug.cgi?id=84708
26463
26464          1) remove inconsistent shadow;
26465          2) reduce border radius;
26466          3) vertically center the “X” button;
26467          4) replace unreadable symbolic shortcuts with text;
26468          5) gaps / colors / opacity adjustments;
26469          6) section-to-column distribution algorithm is replaced with a fair one.
26470
26471        Reviewed by Pavel Feldman.
26472
26473        This is a UI polising patch, so no new tests added.
26474
26475        * English.lproj/localizedStrings.js: added keyboars arrow keys items
26476        * inspector/front-end/KeyboardShortcut.js: replace unreadable symbolic shortcuts with text
26477        * inspector/front-end/ShortcutsScreen.js:
26478        (WebInspector.ShortcutsScreen):
26479        (WebInspector.ShortcutsScreen.prototype.show): remove redundant parameter
26480        (WebInspector.ShortcutsScreen.prototype._buildTable): change section distributing algorithm
26481        (WebInspector.ShortcutsSection.prototype.renderSection): render colon with margins
26482        (WebInspector.ShortcutsSection.prototype._renderHeader): apply classname to th elements
26483        * inspector/front-end/helpScreen.css:
26484        (.help-window-main): reduce radius, remove shadow; tune color and opacity
26485        (.help-window-caption): fix spacing; add ruler
26486        (.help-window-title): fix spacing; remove ruler
26487        (.help-content): fix spacing
26488        (.help-close-button): fix spacing; adjust background color
26489        (.help-column-table): fix spacing
26490        (.help-table > tr > th): fix color
26491        (.help-key): fix color
26492        (.help-combine-keys, .help-key-delimiter): extract common style
26493        (.help-combine-keys): remove dupe
26494        (.help-section-title): add space between sections
26495
264962012-04-28  Noel Gordon  <noel.gordon@gmail.com>
26497
26498        Remove PlatformTouchPointQt.cpp PlatformTouchEventQt.cpp from the gyp projects
26499        https://bugs.webkit.org/show_bug.cgi?id=85132
26500
26501        Unreviewed VS2010 gyp project generation fix.
26502
26503        PlatformTouchPointQt.cpp and PlatformTouchEventQt.cpp were removed in r115312,
26504        so remove them from the gyp projects.
26505
26506        * WebCore.gypi:
26507
265082012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
26509
26510        <animateTransform type="scale"> should use '0' as effective from value not '1', if no base value is specified and from is not given
26511        https://bugs.webkit.org/show_bug.cgi?id=85133
26512
26513        It should start from scale=0. I had that fixed before, but it got lost during merging. Restore the fix.
26514        See bug 85051, for more context why this is correct.
26515
26516        Tests: svg/animations/animateTransform-by-scale-1-expected.svg
26517               svg/animations/animateTransform-by-scale-1.svg
26518
26519        * svg/SVGAnimatedTransformList.cpp:
26520        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
26521
265222012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
26523
26524        SVGAnimateColorElement doesn't support by/to animations properly
26525        https://bugs.webkit.org/show_bug.cgi?id=36704
26526
26527        Reviewed by Antti Koivisto.
26528
26529        Switch AnimatedColorAnimator to use the standard animateAdditiveNumber() method, taking progress & repeatCount into account.
26530        This gives us accumulation/repeatCount support for free.
26531
26532        We just animate the four color components on their own now and clamp once at the end after addition/accumulation finished.
26533        Import <animateColor> tests from Dr. Olaf Hoffmanns SVG Animation test suite, which all pass now.
26534
26535        While I was at it, remove the includeSMILProperties boolean from computeCSSPropertyValue - we always use the computed style
26536        without SMIL effects included, whenever we want to retrieve the "base value", or handle "inherit/currentColor".
26537
26538        Tests: svg/animations/animateColor-additive-2a-expected.svg
26539               svg/animations/animateColor-additive-2a.svg
26540               svg/animations/animateColor-additive-2b-expected.svg
26541               svg/animations/animateColor-additive-2b.svg
26542               svg/animations/animateColor-additive-2c-expected.svg
26543               svg/animations/animateColor-additive-2c.svg
26544               svg/animations/animateColor-additive-2d-expected.svg
26545               svg/animations/animateColor-additive-2d.svg
26546
26547        * svg/ColorDistance.cpp:
26548        (WebCore::ColorDistance::clampColor):
26549        (WebCore::ColorDistance::addColors):
26550        (WebCore::ColorDistance::addToColor):
26551        * svg/ColorDistance.h:
26552        (ColorDistance):
26553        * svg/SVGAnimateElement.cpp:
26554        (WebCore::SVGAnimateElement::resetToBaseValue):
26555        * svg/SVGAnimatedColor.cpp:
26556        (WebCore::SVGAnimatedColorAnimator::addAnimatedTypes):
26557        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
26558        * svg/SVGAnimationElement.cpp:
26559        (WebCore::SVGAnimationElement::computeCSSPropertyValue):
26560        (WebCore::SVGAnimationElement::adjustForInheritance):
26561        * svg/SVGAnimationElement.h:
26562        (SVGAnimationElement):
26563
265642012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
26565
26566        Not reviewed. Fix Qt build -- I was too quick.
26567
26568        * rendering/svg/SVGPathData.cpp: Add back Path.h include.
26569
265702012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
26571
26572        Rename SVGPathParserFactory to SVGPathUtilities and remove the obsolete singleton
26573        https://bugs.webkit.org/show_bug.cgi?id=85129
26574
26575        SVGPathParserFactory implements the singleton pattern, but stores no members.
26576        Remove the singleton and move all functions to free-functions into SVGPathUtilities.h.
26577
26578        Makes the code easier to read - doesn't affect any tests.
26579
26580        * CMakeLists.txt:
26581        * GNUmakefile.list.am:
26582        * Target.pri:
26583        * WebCore.gypi:
26584        * WebCore.vcproj/WebCore.vcproj:
26585        * WebCore.xcodeproj/project.pbxproj:
26586        * rendering/svg/SVGPathData.cpp:
26587        (WebCore::updatePathFromPathElement):
26588        * rendering/svg/SVGRenderTreeAsText.cpp:
26589        (WebCore::operator<<):
26590        * svg/SVGAllInOne.cpp:
26591        * svg/SVGAnimateMotionElement.cpp:
26592        (WebCore::SVGAnimateMotionElement::parseAttribute):
26593        * svg/SVGAnimatedPath.cpp:
26594        (WebCore::SVGAnimatedPathAnimator::constructFromString):
26595        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
26596        (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
26597        (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
26598        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
26599        * svg/SVGAnimatedType.cpp:
26600        * svg/SVGGlyphElement.cpp:
26601        (WebCore::SVGGlyphElement::buildGenericGlyphIdentifier):
26602        * svg/SVGPathBlender.cpp: Fix typo s/;;/;/
26603        * svg/SVGPathElement.cpp:
26604        (WebCore::SVGPathElement::getTotalLength):
26605        (WebCore::SVGPathElement::getPointAtLength):
26606        (WebCore::SVGPathElement::getPathSegAtLength):
26607        (WebCore::SVGPathElement::parseAttribute):
26608        (WebCore::SVGPathElement::svgAttributeChanged):
26609        (WebCore::SVGPathElement::lookupOrCreateDWrapper):
26610        (WebCore::SVGPathElement::pathSegListChanged):
26611        * svg/SVGPathParserFactory.h: Removed.
26612        * svg/SVGPathSegList.cpp:
26613        (WebCore::SVGPathSegList::valueAsString):
26614        * svg/SVGPathUtilities.cpp: Renamed from Source/WebCore/svg/SVGPathParserFactory.cpp.
26615        (WebCore):
26616        (WebCore::globalSVGPathBuilder):
26617        (WebCore::globalSVGPathSegListBuilder):
26618        (WebCore::globalSVGPathByteStreamBuilder):
26619        (WebCore::globalSVGPathStringBuilder):
26620        (WebCore::globalSVGPathTraversalStateBuilder):
26621        (WebCore::globalSVGPathParser):
26622        (WebCore::globalSVGPathBlender):
26623        (WebCore::buildPathFromString):
26624        (WebCore::buildSVGPathByteStreamFromSVGPathSegList):
26625        (WebCore::buildPathFromByteStream):
26626        (WebCore::buildSVGPathSegListFromByteStream):
26627        (WebCore::buildStringFromByteStream):
26628        (WebCore::buildStringFromSVGPathSegList):
26629        (WebCore::buildSVGPathByteStreamFromString):
26630        (WebCore::buildAnimatedSVGPathByteStream):
26631        (WebCore::addToSVGPathByteStream):
26632        (WebCore::getSVGPathSegAtLengthFromSVGPathByteStream):
26633        (WebCore::getTotalLengthOfSVGPathByteStream):
26634        (WebCore::getPointAtLengthOfSVGPathByteStream):
26635        * svg/SVGPathUtilities.h: Added.
26636        (WebCore):
26637        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
26638        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
26639
266402012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
26641
26642        Fix repetitions & by animation support for path animations
26643        https://bugs.webkit.org/show_bug.cgi?id=85071
26644
26645        Rubber-stamped by Antti Koivisto.
26646
26647        Cleanup SVGPathBlender, to make it more readable.
26648
26649        * svg/SVGPathBlender.cpp:
26650        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
26651        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
26652        (WebCore::SVGPathBlender::blendArcToSegment):
26653        (WebCore::SVGPathBlender::blendAnimatedPath):
26654
266552012-04-28  Yury Semikhatsky  <yurys@chromium.org>
26656
26657        Unreviewed. Qt build fix: added new exported symbols.
26658
26659        * WebCore.exp.in:
26660
266612012-04-28  Yury Semikhatsky  <yurys@chromium.org>
26662
26663        Unreviewed. Fix Qt minimal build after r115553.
26664
26665        * inspector/InspectorConsoleAgent.h:
26666
266672012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
26668
26669        Fix repetitions & by animation support for path animations
26670        https://bugs.webkit.org/show_bug.cgi?id=85071
26671
26672        Reviewed by Antti Koivisto.
26673
26674        Implement additive="sum" / by-animation support for path animations, eg.
26675        <path d="M 10 10 L 10 100 Z">
26676            <animate attributeName="d" begin="0s" dur="4s" by="M 0 0 L 90 0 Z"/>
26677        <path>
26678
26679        animates the d attribute to "M 10 10 L 100 100 0 Z".
26680
26681        Now only <animateColor> and <animateMotion> are left to be fixed, all other types are working as expected now in all additive/accumulate/from-by/by/from-to animations.
26682
26683        Tests: svg/animations/path-animation-expected.svg
26684               svg/animations/repeating-path-animation-expected.svg
26685               svg/animations/repeating-path-animation.svg
26686
26687        * svg/SVGAnimatedPath.cpp:
26688        (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes): Implemented, to support by-animations, instead of falling back to to-animations.
26689        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue): Handle repetitions, accumulation & addition.
26690        * svg/SVGPathBlender.cpp: Allow empty from source everywhere, use default values if no from value is specified, needed for by-animations.
26691        (WebCore::SVGPathBlender::SVGPathBlender):
26692        (WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
26693        (WebCore::SVGPathBlender::blendAnimatedFloatPoint):
26694        (WebCore::SVGPathBlender::blendMoveToSegment):
26695        (WebCore::SVGPathBlender::blendLineToSegment):
26696        (WebCore::SVGPathBlender::blendLineToHorizontalSegment):
26697        (WebCore::SVGPathBlender::blendLineToVerticalSegment):
26698        (WebCore::SVGPathBlender::blendCurveToCubicSegment):
26699        (WebCore::SVGPathBlender::blendCurveToCubicSmoothSegment):
26700        (WebCore::SVGPathBlender::blendCurveToQuadraticSegment):
26701        (WebCore::SVGPathBlender::blendCurveToQuadraticSmoothSegment):
26702        (WebCore::SVGPathBlender::blendArcToSegment):
26703        (WebCore::SVGPathBlender::addAnimatedPath):
26704        (WebCore::SVGPathBlender::blendAnimatedPath):
26705        * svg/SVGPathBlender.h: Add new addAnimatedPath function.
26706        (SVGPathBlender):
26707        * svg/SVGPathByteStream.h:
26708        (SVGPathByteStream): Make SVGPathByteStreams copyable, needed for SVGAnimatedPathAnimator.
26709        (WebCore::SVGPathByteStream::size): Returns size of the SVGPathByteStream.
26710        * svg/SVGPathParserFactory.cpp:
26711        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream): Allow empty from streams, needed for by animations. 
26712        (WebCore::SVGPathParserFactory::addToSVGPathByteStream): Add 'byStream' 'repeatCount' times to 'toStream'. Both streams must match in size.
26713        * svg/SVGPathParserFactory.h: Add new addToSVGPathByteStream function.
26714        * svg/SVGPointList.cpp: Remove dead code.
26715        * svg/SVGPointList.h: Ditto.
26716        (SVGPointList):
26717
267182012-04-28  Nikolas Zimmermann  <nzimmermann@rim.com>
26719
26720        SVGAnimateMotion does not handle accumulation
26721        https://bugs.webkit.org/show_bug.cgi?id=18564
26722
26723        Reviewed by Antti Koivisto.
26724
26725        Implement accumulation for <animateMotion>. Add lots of new
26726        reftests, verifying additive/accumulate behavior is correct.
26727
26728        Tests: svg/animations/animateMotion-additive-1-expected.svg
26729               svg/animations/animateMotion-additive-1.svg
26730               svg/animations/animateMotion-additive-2a-expected.svg
26731               svg/animations/animateMotion-additive-2a.svg
26732               svg/animations/animateMotion-additive-2b-expected.svg
26733               svg/animations/animateMotion-additive-2b.svg
26734               svg/animations/animateMotion-additive-2c-expected.svg
26735               svg/animations/animateMotion-additive-2c.svg
26736               svg/animations/animateMotion-additive-2d-expected.svg
26737               svg/animations/animateMotion-additive-2d.svg
26738               svg/animations/mozilla/animateMotion-by-1-expected.svg
26739               svg/animations/mozilla/animateMotion-by-1.svg
26740               svg/animations/mozilla/animateMotion-from-to-1-expected.svg
26741               svg/animations/mozilla/animateMotion-from-to-1.svg
26742               svg/animations/mozilla/animateMotion-indefinite-to-1-expected.svg
26743               svg/animations/mozilla/animateMotion-indefinite-to-1.svg
26744               svg/animations/mozilla/animateMotion-indefinite-to-2-expected.svg
26745               svg/animations/mozilla/animateMotion-indefinite-to-2.svg
26746               svg/animations/mozilla/animateMotion-mpath-pathLength-1-expected.svg
26747               svg/animations/mozilla/animateMotion-mpath-pathLength-1.svg
26748               svg/animations/mozilla/animateMotion-mpath-targetChange-1-expected.svg
26749               svg/animations/mozilla/animateMotion-mpath-targetChange-1.svg
26750               svg/animations/mozilla/animateMotion-to-overridden-1-expected.svg
26751               svg/animations/mozilla/animateMotion-to-overridden-1.svg
26752
26753        * svg/SVGAnimateMotionElement.cpp:
26754        (WebCore::SVGAnimateMotionElement::SVGAnimateMotionElement):
26755        (WebCore::SVGAnimateMotionElement::buildTransformForProgress):
26756        (WebCore::SVGAnimateMotionElement::calculateAnimatedValue):
26757        * svg/SVGAnimateMotionElement.h:
26758
267592012-04-27  Yury Semikhatsky  <yurys@chromium.org>
26760
26761        ScriptStateProtectedPtr should not keep a strong reference to the context
26762        https://bugs.webkit.org/show_bug.cgi?id=85009
26763
26764        Delete console message arguments when DOMWindow where the messages were created
26765        is reset on its frame.
26766
26767        Reviewed by Pavel Feldman.
26768
26769        Test: http/tests/inspector-enabled/console-clear-arguments-on-frame-navigation.html
26770
26771        * inspector/ConsoleMessage.cpp:
26772        (WebCore::ConsoleMessage::addToFrontend):
26773        (WebCore::ConsoleMessage::windowCleared):
26774        (WebCore::ConsoleMessage::argumentCount):
26775        (WebCore):
26776        * inspector/ConsoleMessage.h:
26777        (ConsoleMessage):
26778        * inspector/InspectorConsoleAgent.cpp:
26779        (WebCore::InspectorConsoleAgent::consoleMessageArgumentCounts):
26780        (WebCore):
26781        * inspector/InspectorConsoleAgent.h:
26782        (InspectorConsoleAgent):
26783        * page/Frame.cpp:
26784        (WebCore::Frame::clearDOMWindow):
26785        (WebCore::Frame::setDOMWindow):
26786        * testing/Internals.cpp:
26787        (WebCore):
26788        (WebCore::Internals::consoleMessageArgumentCounts):
26789        * testing/Internals.h:
26790        (Internals):
26791        * testing/Internals.idl:
26792
267932012-04-27  Jochen Eisinger  <jochen@chromium.org>
26794
26795        Ensure that there's always a provisional document loader if the frame loader is in provisional state
26796        https://bugs.webkit.org/show_bug.cgi?id=83894
26797
26798        Reviewed by Nate Chapin.
26799
26800        We're still seeing crashes in the FrameLoader where the FrameLoader's
26801        state is "provisional" but there is no provisional document loader. I
26802        added code to update the FrameLoader's state everytime the provisional
26803        document loader is cleared, and added checks that the FrameLoader's
26804        state can't be set to provisional without a provisional loader.
26805
26806        If the crashes go away, or the newly added checks reveal the culprit,
26807        we should relex the checks to use ASSERT() instead of CRASH().
26808
26809        * loader/FrameLoader.cpp:
26810        (WebCore::FrameLoader::init):
26811        (WebCore::FrameLoader::setupForReplace):
26812        (WebCore::FrameLoader::stopAllLoaders):
26813        (WebCore::FrameLoader::clearProvisionalLoad):
26814        (WebCore::FrameLoader::continueFragmentScrollAfterNavigationPolicy):
26815        (WebCore::FrameLoader::continueLoadAfterNavigationPolicy):
26816
268172012-04-27  Geoffrey Garen  <ggaren@apple.com>
26818
26819        Try to fix the Qt build.
26820
26821        * bridge/qt/qt_runtime.cpp:
26822        (JSC::Bindings::QtRuntimeMethod::finishCreation):
26823
268242012-04-27  Geoffrey Garen  <ggaren@apple.com>
26825
26826        Made WeakSet::allocate() static and removed its JSGlobalData argument
26827        https://bugs.webkit.org/show_bug.cgi?id=85128
26828
26829        Reviewed by Anders Carlsson.
26830
26831        Mechanically removed JSGlobalData arguments from PassWeak<T> and Weak<T> allocation.
26832
26833        * bindings/js/JSDOMBinding.cpp:
26834        (WebCore::jsStringSlowCase):
26835        * bindings/js/JSEventListener.h:
26836        (WebCore::JSEventListener::setWrapper):
26837        * bindings/js/JSNodeFilterCondition.cpp:
26838        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition):
26839        * bindings/js/ScriptWrappable.h:
26840        (WebCore::ScriptWrappable::setWrapper):
26841        * bridge/jsc/BridgeJSC.cpp:
26842        (JSC::Bindings::Instance::createRuntimeObject):
26843        * bridge/qt/qt_runtime.cpp:
26844        (JSC::Bindings::QtRuntimeMethod::finishCreation):
26845        * bridge/runtime_root.cpp:
26846        (JSC::Bindings::RootObject::addRuntimeObject):
26847
268482012-04-27  Mark Rowe  <mrowe@apple.com>
26849
26850        <rdar://problem/11313710> Leaks under WebCore::CSSImageSetValue::cachedImageSet when running tests
26851
26852        There was a reference cycle between CSSImageSetValue and StyleCachedImageSet via
26853        CSSImageSetValue::m_imageSet / StyleCachedImageSet::m_imageSetValue. Break the cycle
26854        by having StyleCachedImageSet hold a weak reference to the CSSImageSetValue rather
26855        than a strong reference.
26856
26857        Reviewed by Geoff Garen.
26858
26859        * rendering/style/StyleCachedImageSet.cpp:
26860        (WebCore::StyleCachedImageSet::StyleCachedImageSet):
26861        * rendering/style/StyleCachedImageSet.h:
26862        (StyleCachedImageSet):
26863
268642012-04-27  Mark Rowe  <mrowe@apple.com>
26865
26866        <rdar://problem/10346980> REGRESSION: Cannot enter text in Dashboard widget fields that have placeholder attribute
26867
26868        Remove a dashboard backwards compatibility quirk that was in place to support an old version
26869        of the Stocks widget. It prevented the pointer-events property from being applied in Dashboard
26870        widgets, which caused -webkit-input-placeholder elements to eat mouse clicks rather than giving
26871        focus to the containing input elements. The offending widget has long since been fixed.
26872
26873        Reviewed by Dan Bernstein.
26874
26875        * css/StyleResolver.cpp:
26876        (WebCore::StyleResolver::collectMatchingRulesForList):
26877
268782012-04-27  Dean Jackson  <dino@apple.com>
26879
26880        Support reverse and alternate-reverse in CA animations
26881        https://bugs.webkit.org/show_bug.cgi?id=78041
26882
26883        Reviewed by Beth Dakin.
26884
26885        CoreAnimation does not natively support reverse and alternate-reverse
26886        animation directions so we need to flip the animation values (keyframe
26887        keys and timing functions) that we send to GraphicsLayerCA. Unfortunately
26888        this code adds a lot of conditionals because it isn't as simple as
26889        reversing the order of keys. You also now have a different alignment of
26890        timing functions to the reversed list.
26891
26892        New tests to cover the two new directions, making sure the timing
26893        functions are correctly inverted, and exercising fill modes.
26894
26895        Tests: animations/animation-direction-reverse-fill-mode-hardware.html
26896               animations/animation-direction-reverse-fill-mode.html
26897               animations/animation-direction-reverse-hardware-opacity.html
26898               animations/animation-direction-reverse-hardware.html
26899               animations/animation-direction-reverse-non-hardware.html
26900               animations/animation-direction-reverse-timing-functions-hardware.html
26901               animations/animation-direction-reverse-timing-functions.html
26902
26903        * platform/graphics/ca/GraphicsLayerCA.cpp:
26904          Handle the previously unsupported animation directions, reversing
26905          the list of values and keytimes that would be used to create
26906          the CA Animation.
26907        (WebCore::GraphicsLayerCA::addAnimation):
26908          Do not create an animation if on Windows and using a reverse
26909          direction.
26910        (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
26911        (WebCore::GraphicsLayerCA::setupAnimation):
26912        (WebCore::GraphicsLayerCA::setAnimationEndpoints):
26913        (WebCore::GraphicsLayerCA::setAnimationKeyframes):
26914        (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
26915        (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
26916        (WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
26917        (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
26918        * platform/graphics/ca/PlatformCAAnimation.h:
26919        (PlatformCAAnimation): Pass through a flag that tells the CA Animation
26920        that it should invert the timing functions.
26921        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
26922        (toCAMediaTimingFunction): Add a parameter that will invert the timing
26923        function coefficients if necessary.
26924        (PlatformCAAnimation::setTimingFunction):
26925        (PlatformCAAnimation::setTimingFunctions):
26926        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
26927        (toCACFTimingFunction):
26928          New unused parameter.
26929
269302012-04-27  Sheriff Bot  <webkit.review.bot@gmail.com>
26931
26932        Unreviewed, rolling out r115407.
26933        http://trac.webkit.org/changeset/115407
26934        https://bugs.webkit.org/show_bug.cgi?id=85126
26935
26936        Caused heap use after free (Requested by keishi_ on #webkit).
26937
26938        * html/HTMLFormControlElement.cpp:
26939        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
26940        (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
26941        (WebCore::HTMLFormControlElement::insertedInto):
26942        (WebCore::HTMLFormControlElement::removedFrom):
26943        (WebCore::HTMLFormControlElement::disabled):
26944        (WebCore::HTMLFormControlElement::recalcWillValidate):
26945        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck):
26946        * html/HTMLFormControlElement.h:
26947        (HTMLFormControlElement):
26948
269492012-04-27  Kentaro Hara  <haraken@chromium.org>
26950
26951        [JSC] Implement a helper method createNotEnoughArgumentsError()
26952        https://bugs.webkit.org/show_bug.cgi?id=85102
26953
26954        Reviewed by Geoffrey Garen.
26955
26956        In bug 84787, kbr@ requested to avoid hard-coding
26957        createTypeError(exec, "Not enough arguments") here and there.
26958        This patch implements createNotEnoughArgumentsError(exec)
26959        and uses it in JSC bindings.
26960
26961        c.f. a corresponding bug for V8 bindings is bug 85097.
26962
26963        Test: bindings/scripts/test/TestObj.idl
26964
26965        * bindings/scripts/CodeGeneratorJS.pm: Modified as described above.
26966        (GenerateArgumentsCountCheck):
26967
26968        * bindings/js/JSDataViewCustom.cpp: Ditto.
26969        (WebCore::getDataViewMember):
26970        (WebCore::setDataViewMember):
26971        * bindings/js/JSDeprecatedPeerConnectionCustom.cpp:
26972        (WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
26973        * bindings/js/JSDirectoryEntryCustom.cpp:
26974        (WebCore::JSDirectoryEntry::getFile):
26975        (WebCore::JSDirectoryEntry::getDirectory):
26976        * bindings/js/JSSharedWorkerCustom.cpp:
26977        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
26978        * bindings/js/JSWebKitMutationObserverCustom.cpp:
26979        (WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
26980        (WebCore::JSWebKitMutationObserver::observe):
26981        * bindings/js/JSWorkerCustom.cpp:
26982        (WebCore::JSWorkerConstructor::constructJSWorker):
26983
26984        * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests.
26985        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
26986        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
26987        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
26988        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
26989        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
26990        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
26991        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
26992        (WebCore::jsTestEventTargetPrototypeFunctionItem):
26993        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
26994        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
26995        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
26996        * bindings/scripts/test/JS/JSTestInterface.cpp:
26997        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
26998        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
26999        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
27000        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
27001        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
27002        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
27003        * bindings/scripts/test/JS/JSTestObj.cpp:
27004        (WebCore::JSTestObjConstructor::constructJSTestObj):
27005        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
27006        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
27007        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
27008        (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
27009        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
27010        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
27011        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
27012        (WebCore::jsTestObjPrototypeFunctionIdbKey):
27013        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
27014        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
27015        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
27016        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
27017        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
27018        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
27019        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
27020        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
27021        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
27022        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
27023        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
27024        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
27025        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
27026        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
27027        (WebCore::jsTestObjConstructorFunctionClassMethod2):
27028        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
27029        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
27030        (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
27031        (WebCore::jsTestObjPrototypeFunctionConvert1):
27032        (WebCore::jsTestObjPrototypeFunctionConvert2):
27033        (WebCore::jsTestObjPrototypeFunctionConvert3):
27034        (WebCore::jsTestObjPrototypeFunctionConvert4):
27035        (WebCore::jsTestObjPrototypeFunctionConvert5):
27036        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
27037        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
27038        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
27039        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
27040
270412012-04-27  Mark Pilgrim  <pilgrim@chromium.org>
27042
27043        [Chromium] Call highMemoryUsageMB directly
27044        https://bugs.webkit.org/show_bug.cgi?id=84841
27045
27046        Reviewed by Kentaro Hara.
27047
27048        Part of a refactoring series. See tracking bug 82948.
27049
27050        * bindings/v8/V8GCController.cpp:
27051        (WebCore::V8GCController::checkMemoryUsage):
27052        * platform/MemoryUsageSupport.cpp:
27053        (WebCore::MemoryUsageSupport::highMemoryUsageMB):
27054        (WebCore):
27055        * platform/MemoryUsageSupport.h:
27056        (MemoryUsageSupport):
27057        * platform/chromium/MemoryUsageSupportChromium.cpp:
27058        (WebCore::MemoryUsageSupport::highMemoryUsageMB):
27059        (WebCore):
27060        * platform/chromium/PlatformSupport.h:
27061        (PlatformSupport):
27062
270632012-04-27  Geoffrey Garen  <ggaren@apple.com>
27064
27065        Only allow non-null pointers in the WeakSet
27066        https://bugs.webkit.org/show_bug.cgi?id=85119
27067
27068        Reviewed by Darin Adler.
27069
27070        * bridge/jsc/BridgeJSC.cpp:
27071        (JSC::Bindings::Instance::Instance): Don't allocate a WeakImpl just to
27072        store null. This was needless, and is now a compile error. Instead,
27073        rely on the default constructor, which will produce a cheap null.
27074
270752012-04-27  Kentaro Hara  <haraken@chromium.org>
27076
27077        "Not enough arguments" error should be TypeError
27078        https://bugs.webkit.org/show_bug.cgi?id=84628
27079
27080        Reviewed by Darin Adler.
27081
27082        Currently, some custom bindings implement "Not enough arguments"
27083        error as SyntaxError. The Web IDL spec requires that it should be
27084        TypeError: http://www.w3.org/TR/WebIDL/#dfn-overload-resolution-algorithm
27085        Thus, this patch changes SyntaxError to TypeError.
27086
27087        Tests: http/tests/websocket/tests/hixie76/url-parsing.html:
27088               http/tests/websocket/tests/hybi/url-parsing.html:
27089               http/tests/xmlhttprequest/exceptions.html:
27090               svg/dom/SVGLength.html:
27091               webaudio/audionode.html:
27092
27093        * bindings/js/JSAudioContextCustom.cpp:
27094        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
27095        * bindings/js/JSSVGLengthCustom.cpp:
27096        (WebCore::JSSVGLength::convertToSpecifiedUnits):
27097        * bindings/js/JSWebSocketCustom.cpp:
27098        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
27099        (WebCore::JSWebSocket::send):
27100        * bindings/js/JSXMLHttpRequestCustom.cpp:
27101        (WebCore::JSXMLHttpRequest::open):
27102        * bindings/v8/custom/V8AudioContextCustom.cpp:
27103        (WebCore::V8AudioContext::constructorCallback):
27104        * bindings/v8/custom/V8SVGLengthCustom.cpp:
27105        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
27106        * bindings/v8/custom/V8WebSocketCustom.cpp:
27107        (WebCore::V8WebSocket::constructorCallback):
27108        (WebCore::V8WebSocket::sendCallback):
27109        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
27110        (WebCore::V8XMLHttpRequest::openCallback):
27111
271122012-04-27  Kenneth Russell  <kbr@google.com>
27113
27114        Remove SHADER_COMPILER constant
27115        https://bugs.webkit.org/show_bug.cgi?id=85115
27116
27117        Reviewed by Darin Adler.
27118
27119        Removed constant which was previously removed from spec. Updated
27120        layout test and expected results.
27121
27122        * html/canvas/WebGLRenderingContext.idl:
27123
271242012-04-27  Arvid Nilsson  <anilsson@rim.com>
27125
27126        [BlackBerry] Fixed background is scrolling in http://www.nieuwecode.nl
27127        https://bugs.webkit.org/show_bug.cgi?id=85109
27128
27129        Reviewed by Antonio Gomes.
27130
27131        Since the BlackBerry port uses very similar fixed position acceleration
27132        as the Qt WebKit2 port, the same fix that worked for them in bug 83980
27133        works for us.
27134
27135        Fixed by opting in to the FIXED_POSITION_CREATES_STACKING_CONTEXT
27136        mechanism.
27137
27138        Covered by existing manual test fixed-position-no-z-index.html.
27139
27140        * css/StyleResolver.cpp:
27141
271422012-04-27  Nat Duca  <nduca@chromium.org>
27143
27144        Expose high-resolution on requestAnimationFrame callback
27145        https://bugs.webkit.org/show_bug.cgi?id=66683
27146
27147        This changes requestAnimationFrame's animationStartTime argument
27148        to be a high resolution DOM timestamp, per disucssion here:
27149        http://lists.w3.org/Archives/Public/public-web-perf/2012Apr/0004.html
27150
27151        Reviewed by James Robinson.
27152
27153        Covered by existing requestAnimationFrame tests.
27154
27155        * dom/Document.cpp:
27156        (WebCore::Document::serviceScriptedAnimations):
27157        * dom/Document.h:
27158        (Document):
27159        * dom/ScriptedAnimationController.cpp:
27160        (WebCore::ScriptedAnimationController::ScriptedAnimationController):
27161        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
27162        (WebCore):
27163        (WebCore::ScriptedAnimationController::windowScreenDidChange):
27164        (WebCore::ScriptedAnimationController::scheduleAnimation):
27165        (WebCore::ScriptedAnimationController::animationTimerFired):
27166        (WebCore::ScriptedAnimationController::displayRefreshFired):
27167        * dom/ScriptedAnimationController.h:
27168        (ScriptedAnimationController):
27169        * page/FrameView.cpp:
27170        (WebCore::FrameView::serviceScriptedAnimations):
27171        * page/FrameView.h:
27172        (FrameView):
27173        * platform/graphics/DisplayRefreshMonitor.cpp:
27174        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
27175        (WebCore::DisplayRefreshMonitor::notifyClients):
27176        * platform/graphics/DisplayRefreshMonitor.h:
27177        (DisplayRefreshMonitor):
27178        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
27179        (WebCore::DisplayRefreshMonitor::displayLinkFired):
27180        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
27181        (WebCore):
27182        (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
27183        (WebCore::DisplayRefreshMonitor::displayLinkFired):
27184
271852012-04-27  Kentaro Hara  <haraken@chromium.org>
27186
27187        [V8] Implement a helper method V8Proxy::throwNotEnoughArgumentsError()
27188        https://bugs.webkit.org/show_bug.cgi?id=85097
27189
27190        Reviewed by Kenneth Russell.
27191
27192        In bug 84787, kbr requested to avoid hard-coding
27193        throwError("Not enough arguments", V8Proxy::TypeError) here and there.
27194        This patch implements V8Proxy::throwNotEnoughArgumentsError()
27195        and uses it in V8 bindings.
27196
27197        No tests. No change in behavior.
27198
27199        * bindings/scripts/CodeGeneratorV8.pm:
27200        (GenerateArgumentsCountCheck):
27201        (GenerateEventConstructorCallback):
27202        * bindings/v8/V8Proxy.cpp:
27203        (WebCore::V8Proxy::throwNotEnoughArgmentsError):
27204        (WebCore):
27205        * bindings/v8/V8Proxy.h:
27206        (V8Proxy):
27207        * bindings/v8/custom/V8DataViewCustom.cpp:
27208        (WebCore::V8DataView::getInt8Callback):
27209        (WebCore::V8DataView::getUint8Callback):
27210        (WebCore::V8DataView::setInt8Callback):
27211        (WebCore::V8DataView::setUint8Callback):
27212        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
27213        (WebCore::V8DirectoryEntry::getDirectoryCallback):
27214        (WebCore::V8DirectoryEntry::getFileCallback):
27215        * bindings/v8/custom/V8IntentConstructor.cpp:
27216        (WebCore::V8Intent::constructorCallback):
27217        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
27218        (WebCore::V8WebKitMutationObserver::constructorCallback):
27219        (WebCore::V8WebKitMutationObserver::observeCallback):
27220
27221        Test: bindings/scripts/test/TestObj.idl
27222
27223        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
27224        (GenerateArgumentsCountCheck):
27225        (GenerateEventConstructorCallback):
27226
27227        * bindings/v8/V8Proxy.cpp: Ditto.
27228        (WebCore::V8Proxy::throwNotEnoughArgumentsError):
27229        (WebCore):
27230        * bindings/v8/V8Proxy.h:
27231        (V8Proxy):
27232        * bindings/v8/custom/V8DataViewCustom.cpp:
27233        (WebCore::V8DataView::getInt8Callback):
27234        (WebCore::V8DataView::getUint8Callback):
27235        (WebCore::V8DataView::setInt8Callback):
27236        (WebCore::V8DataView::setUint8Callback):
27237        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
27238        (WebCore::V8DirectoryEntry::getDirectoryCallback):
27239        (WebCore::V8DirectoryEntry::getFileCallback):
27240        * bindings/v8/custom/V8IntentConstructor.cpp:
27241        (WebCore::V8Intent::constructorCallback):
27242        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
27243        (WebCore::V8WebKitMutationObserver::constructorCallback):
27244        (WebCore::V8WebKitMutationObserver::observeCallback):
27245
27246        * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests.
27247        (WebCore::Float64ArrayV8Internal::fooCallback):
27248        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
27249        (WebCore::TestActiveDOMObjectV8Internal::excitingFunctionCallback):
27250        (WebCore::TestActiveDOMObjectV8Internal::postMessageCallback):
27251        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
27252        (WebCore::TestCustomNamedGetterV8Internal::anotherFunctionCallback):
27253        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
27254        (WebCore::V8TestEventConstructor::constructorCallback):
27255        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
27256        (WebCore::TestEventTargetV8Internal::itemCallback):
27257        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
27258        * bindings/scripts/test/V8/V8TestInterface.cpp:
27259        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
27260        (WebCore::V8TestInterface::constructorCallback):
27261        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
27262        (WebCore::TestMediaQueryListListenerV8Internal::methodCallback):
27263        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
27264        (WebCore::V8TestNamedConstructorConstructorCallback):
27265        * bindings/scripts/test/V8/V8TestObj.cpp:
27266        (WebCore::TestObjV8Internal::voidMethodWithArgsCallback):
27267        (WebCore::TestObjV8Internal::intMethodWithArgsCallback):
27268        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
27269        (WebCore::TestObjV8Internal::methodWithSequenceArgCallback):
27270        (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
27271        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
27272        (WebCore::TestObjV8Internal::serializedValueCallback):
27273        (WebCore::TestObjV8Internal::idbKeyCallback):
27274        (WebCore::TestObjV8Internal::optionsObjectCallback):
27275        (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndOptionalArgCallback):
27276        (WebCore::TestObjV8Internal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
27277        (WebCore::TestObjV8Internal::methodWithCallbackArgCallback):
27278        (WebCore::TestObjV8Internal::methodWithNonCallbackArgAndCallbackArgCallback):
27279        (WebCore::TestObjV8Internal::overloadedMethod1Callback):
27280        (WebCore::TestObjV8Internal::overloadedMethod2Callback):
27281        (WebCore::TestObjV8Internal::overloadedMethod3Callback):
27282        (WebCore::TestObjV8Internal::overloadedMethod4Callback):
27283        (WebCore::TestObjV8Internal::overloadedMethod5Callback):
27284        (WebCore::TestObjV8Internal::overloadedMethod6Callback):
27285        (WebCore::TestObjV8Internal::overloadedMethod7Callback):
27286        (WebCore::TestObjV8Internal::overloadedMethod11Callback):
27287        (WebCore::TestObjV8Internal::overloadedMethod12Callback):
27288        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod1Callback):
27289        (WebCore::TestObjV8Internal::enabledAtRuntimeMethod2Callback):
27290        (WebCore::TestObjV8Internal::convert1Callback):
27291        (WebCore::TestObjV8Internal::convert2Callback):
27292        (WebCore::TestObjV8Internal::convert3Callback):
27293        (WebCore::TestObjV8Internal::convert4Callback):
27294        (WebCore::TestObjV8Internal::convert5Callback):
27295        (WebCore::TestObjV8Internal::strictFunctionCallback):
27296        (WebCore::V8TestObj::constructorCallback):
27297        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
27298        (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
27299        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
27300
273012012-04-27  Mark Pilgrim  <pilgrim@chromium.org>
27302
27303        [Chromium] Call lowMemoryUsageMB directly
27304        https://bugs.webkit.org/show_bug.cgi?id=84840
27305
27306        Reviewed by Kentaro Hara.
27307
27308        Part of a refactoring series. See tracking bug 82948.
27309
27310        * bindings/v8/V8GCController.cpp:
27311        (WebCore::V8GCController::checkMemoryUsage):
27312        * platform/MemoryUsageSupport.cpp:
27313        (WebCore::MemoryUsageSupport::lowMemoryUsageMB):
27314        (WebCore):
27315        * platform/MemoryUsageSupport.h:
27316        (MemoryUsageSupport):
27317        * platform/chromium/MemoryUsageSupportChromium.cpp:
27318        (WebCore::MemoryUsageSupport::lowMemoryUsageMB):
27319        (WebCore):
27320        * platform/chromium/PlatformSupport.h:
27321        (PlatformSupport):
27322
273232012-04-27  Yi Shen  <yi.4.shen@nokia.com>
27324
27325        REGRESSION(113723): Pressing enter in this list example deletes the whole list
27326        https://bugs.webkit.org/show_bug.cgi?id=85016
27327
27328        Reviewed by Enrica Casucci.
27329
27330        The bug was caused by CompositeEditCommand::breakOutOfEmptyListItem, which calls isListItem
27331        on the empty list's siblings to decide which part of the list should get removed. However,
27332        the check fails when the empty list's sibling is a text node, or a list element (e.g. ul, ol).
27333        Fixed it by skipping empty list's non-element sibling and calling isListElement to do further
27334        check.
27335
27336        Test: added new test cases in the existing test (break-out-of-empty-list-item.html)
27337
27338        * editing/CompositeEditCommand.cpp:
27339        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
27340
273412012-04-27  Ian Vollick  <vollick@chromium.org>
27342
27343        [chromium] Add pause and resume support for accelerated css animations.
27344        https://bugs.webkit.org/show_bug.cgi?id=84601
27345
27346        Reviewed by James Robinson.
27347
27348        Tested in:
27349        CCLayerAnimationControllerTest.syncPauseResume
27350        CCActiveAnimationTest.TrimTimeTimeOffset
27351        CCActiveAnimationTest.TrimTimeSuspendResume
27352        CCActiveAnimationTest.IsFinishedNeedsSynchronizedStartTime
27353        CCActiveAnimationTest.RunStateChangesIgnoredWhileSuspended
27354
27355        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
27356        (WebCore::GraphicsLayerChromium::suspendAnimations):
27357        (WebCore::GraphicsLayerChromium::resumeAnimations):
27358        * platform/graphics/chromium/GraphicsLayerChromium.h:
27359        (GraphicsLayerChromium):
27360        * platform/graphics/chromium/LayerChromium.cpp:
27361        (WebCore::LayerChromium::suspendAnimations):
27362        (WebCore::LayerChromium::resumeAnimations):
27363        * platform/graphics/chromium/LayerChromium.h:
27364        (LayerChromium):
27365        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
27366        (WebCore::CCActiveAnimation::CCActiveAnimation):
27367        (WebCore::CCActiveAnimation::setRunState):
27368        (WebCore::CCActiveAnimation::suspend):
27369        (WebCore::CCActiveAnimation::resume):
27370        (WebCore::CCActiveAnimation::isFinishedAt):
27371        (WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
27372        (WebCore::CCActiveAnimation::cloneForImplThread):
27373        (WebCore::CCActiveAnimation::pushPropertiesTo):
27374        * platform/graphics/chromium/cc/CCActiveAnimation.h:
27375        (CCActiveAnimation):
27376        (WebCore::CCActiveAnimation::setStartTime):
27377        (WebCore::CCActiveAnimation::timeOffset):
27378        (WebCore::CCActiveAnimation::setTimeOffset):
27379        (WebCore::CCActiveAnimation::isFinished):
27380        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
27381        (WebCore::CCLayerAnimationController::addAnimation):
27382        (WebCore::CCLayerAnimationController::pauseAnimation):
27383        (WebCore::CCLayerAnimationController::suspendAnimations):
27384        (WebCore::CCLayerAnimationController::resumeAnimations):
27385        (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
27386        (WebCore::CCLayerAnimationController::getActiveAnimation):
27387        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
27388        (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
27389        (WebCore::CCLayerAnimationController::pushPropertiesToImplThread):
27390        (WebCore):
27391        (WebCore::CCLayerAnimationController::tickAnimations):
27392        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
27393        (CCLayerAnimationController):
27394
273952012-04-27  Tim Horton  <timothy_horton@apple.com>
27396
27397        SMIL animation causes leak of the related Document (and many elements)
27398        https://bugs.webkit.org/show_bug.cgi?id=83856
27399        <rdar://problem/11216047>
27400
27401        Reviewed by Dean Jackson.
27402
27403        The SVGAnimatedProperty cache was previously holding a reference to the properties it contained;
27404        said references were cleared in the SVGAnimatedProperty destructor (which was never called because
27405        there was always one remaining reference from the cache).
27406
27407        The SVGAnimatedProperty cache now holds raw pointers instead of RefPtrs; the SVGAnimateElement now
27408        owns its own SVGAnimatedProperties, both for itself and for any <use/> instances of itself. They're
27409        cleared and destroyed within SVGAnimateElement::targetElementWillChange, at which time they're removed
27410        from the cache.
27411
27412        SVGPropertyTearOffs now keep a reference to their SVGElement (m_contextElement) instead of their SVGAnimatedProperty;
27413        this way, there is no reference cycle, but the animated property (owned by the element) and the element itself are
27414        kept alive until the TearOff is garbage collected.
27415
27416        Tests: svg/animations/smil-leak-dynamically-added-element-instances.svg
27417               svg/animations/smil-leak-elements.svg
27418               svg/animations/smil-leak-element-instances-noBaseValRef.svg
27419               svg/animations/smil-leak-element-instances.svg
27420               svg/animations/svglength-element-removed-crash.svg
27421
27422        * svg/SVGAnimateElement.cpp:
27423        (WebCore::SVGAnimateElement::calculateAnimatedValue):
27424        (WebCore::propertyTypesAreConsistent):
27425        (WebCore::SVGAnimateElement::resetToBaseValue):
27426        (WebCore::SVGAnimateElement::applyResultsToTarget):
27427        (WebCore::SVGAnimateElement::targetElementWillChange):
27428        * svg/SVGAnimateElement.h:
27429        (SVGAnimateElement):
27430        * svg/SVGAnimatedAngle.cpp:
27431        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
27432        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
27433        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
27434        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
27435        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
27436        * svg/SVGAnimatedAngle.h:
27437        (SVGAnimatedAngleAnimator):
27438        * svg/SVGAnimatedBoolean.cpp:
27439        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
27440        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
27441        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
27442        (WebCore::SVGAnimatedBooleanAnimator::animValWillChange):
27443        (WebCore::SVGAnimatedBooleanAnimator::animValDidChange):
27444        * svg/SVGAnimatedBoolean.h:
27445        (SVGAnimatedBooleanAnimator):
27446        * svg/SVGAnimatedColor.h:
27447        (WebCore::SVGAnimatedColorAnimator::startAnimValAnimation):
27448        (WebCore::SVGAnimatedColorAnimator::stopAnimValAnimation):
27449        (WebCore::SVGAnimatedColorAnimator::resetAnimValToBaseVal):
27450        (WebCore::SVGAnimatedColorAnimator::animValWillChange):
27451        (WebCore::SVGAnimatedColorAnimator::animValDidChange):
27452        * svg/SVGAnimatedEnumeration.cpp:
27453        (WebCore::SVGAnimatedEnumerationAnimator::startAnimValAnimation):
27454        (WebCore::SVGAnimatedEnumerationAnimator::stopAnimValAnimation):
27455        (WebCore::SVGAnimatedEnumerationAnimator::resetAnimValToBaseVal):
27456        (WebCore::SVGAnimatedEnumerationAnimator::animValWillChange):
27457        (WebCore::SVGAnimatedEnumerationAnimator::animValDidChange):
27458        * svg/SVGAnimatedEnumeration.h:
27459        (SVGAnimatedEnumerationAnimator):
27460        * svg/SVGAnimatedInteger.cpp:
27461        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
27462        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
27463        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
27464        (WebCore::SVGAnimatedIntegerAnimator::animValWillChange):
27465        (WebCore::SVGAnimatedIntegerAnimator::animValDidChange):
27466        * svg/SVGAnimatedInteger.h:
27467        (SVGAnimatedIntegerAnimator):
27468        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
27469        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
27470        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
27471        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
27472        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
27473        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
27474        * svg/SVGAnimatedIntegerOptionalInteger.h:
27475        (SVGAnimatedIntegerOptionalIntegerAnimator):
27476        * svg/SVGAnimatedLength.cpp:
27477        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
27478        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
27479        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
27480        (WebCore::SVGAnimatedLengthAnimator::animValWillChange):
27481        (WebCore::SVGAnimatedLengthAnimator::animValDidChange):
27482        * svg/SVGAnimatedLength.h:
27483        (SVGAnimatedLengthAnimator):
27484        * svg/SVGAnimatedLengthList.cpp:
27485        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
27486        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
27487        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
27488        (WebCore::SVGAnimatedLengthListAnimator::animValWillChange):
27489        (WebCore::SVGAnimatedLengthListAnimator::animValDidChange):
27490        * svg/SVGAnimatedLengthList.h:
27491        (SVGAnimatedLengthListAnimator):
27492        * svg/SVGAnimatedNumber.cpp:
27493        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
27494        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
27495        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
27496        (WebCore::SVGAnimatedNumberAnimator::animValWillChange):
27497        (WebCore::SVGAnimatedNumberAnimator::animValDidChange):
27498        * svg/SVGAnimatedNumber.h:
27499        (SVGAnimatedNumberAnimator):
27500        * svg/SVGAnimatedNumberList.cpp:
27501        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
27502        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
27503        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
27504        (WebCore::SVGAnimatedNumberListAnimator::animValWillChange):
27505        (WebCore::SVGAnimatedNumberListAnimator::animValDidChange):
27506        * svg/SVGAnimatedNumberList.h:
27507        (SVGAnimatedNumberListAnimator):
27508        * svg/SVGAnimatedNumberOptionalNumber.cpp:
27509        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
27510        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
27511        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
27512        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
27513        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
27514        * svg/SVGAnimatedNumberOptionalNumber.h:
27515        (SVGAnimatedNumberOptionalNumberAnimator):
27516        * svg/SVGAnimatedPath.cpp:
27517        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
27518        (WebCore::SVGAnimatedPathAnimator::stopAnimValAnimation):
27519        (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
27520        (WebCore::SVGAnimatedPathAnimator::animValWillChange):
27521        (WebCore::SVGAnimatedPathAnimator::animValDidChange):
27522        * svg/SVGAnimatedPath.h:
27523        (SVGAnimatedPathAnimator):
27524        * svg/SVGAnimatedPointList.cpp:
27525        (WebCore::SVGAnimatedPointListAnimator::startAnimValAnimation):
27526        (WebCore::SVGAnimatedPointListAnimator::stopAnimValAnimation):
27527        (WebCore::SVGAnimatedPointListAnimator::resetAnimValToBaseVal):
27528        (WebCore::SVGAnimatedPointListAnimator::animValWillChange):
27529        (WebCore::SVGAnimatedPointListAnimator::animValDidChange):
27530        * svg/SVGAnimatedPointList.h:
27531        (SVGAnimatedPointListAnimator):
27532        * svg/SVGAnimatedPreserveAspectRatio.cpp:
27533        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
27534        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
27535        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
27536        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange):
27537        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange):
27538        * svg/SVGAnimatedPreserveAspectRatio.h:
27539        (SVGAnimatedPreserveAspectRatioAnimator):
27540        * svg/SVGAnimatedRect.cpp:
27541        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
27542        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
27543        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
27544        (WebCore::SVGAnimatedRectAnimator::animValWillChange):
27545        (WebCore::SVGAnimatedRectAnimator::animValDidChange):
27546        * svg/SVGAnimatedRect.h:
27547        (SVGAnimatedRectAnimator):
27548        * svg/SVGAnimatedString.cpp:
27549        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
27550        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
27551        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
27552        (WebCore::SVGAnimatedStringAnimator::animValWillChange):
27553        (WebCore::SVGAnimatedStringAnimator::animValDidChange):
27554        * svg/SVGAnimatedString.h:
27555        (SVGAnimatedStringAnimator):
27556        * svg/SVGAnimatedTransformList.cpp:
27557        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
27558        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
27559        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
27560        (WebCore::SVGAnimatedTransformListAnimator::animValWillChange):
27561        (WebCore::SVGAnimatedTransformListAnimator::animValDidChange):
27562        * svg/SVGAnimatedTransformList.h:
27563        (SVGAnimatedTransformListAnimator):
27564        * svg/SVGAnimatedTypeAnimator.h:
27565        (SVGAnimatedTypeAnimator):
27566        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
27567        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesFromInstancesForAttributeName):
27568        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
27569        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
27570        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
27571        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
27572        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
27573        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
27574        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
27575        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForTypes):
27576        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForTypes):
27577        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForTypes):
27578        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
27579        (WebCore::SVGAnimatedTypeAnimator::executeAction):
27580        * svg/properties/SVGAnimatedProperty.h:
27581        (SVGAnimatedProperty):
27582        * svg/properties/SVGPropertyTearOff.h:
27583        (WebCore::SVGPropertyTearOff::animatedProperty):
27584        (SVGPropertyTearOff):
27585
275862012-04-27  Adam Klein  <adamk@chromium.org>
27587
27588        Remove misspelled, unused, unimplemented method from V8Proxy
27589        https://bugs.webkit.org/show_bug.cgi?id=85091
27590
27591        Reviewed by Dimitri Glazkov.
27592
27593        * bindings/v8/V8Proxy.h:
27594        (V8Proxy):
27595
275962012-04-24  Jeffrey Pfau  <jpfau@apple.com>
27597
27598        Disable RTF in JavaScript drag-and-drop
27599        https://bugs.webkit.org/show_bug.cgi?id=76597
27600
27601        Reviewed by Maciej Stachowiak.
27602
27603        Test: fast/events/drag-and-drop-subframe-dataTransfer.html
27604
27605        * platform/mac/ClipboardMac.mm:
27606        (WebCore::cocoaTypeFromHTMLClipboardType):
27607
276082012-04-26  James Robinson  <jamesr@chromium.org>
27609
27610        [chromium] Separate IOSurface layer type from texture layers
27611        https://bugs.webkit.org/show_bug.cgi?id=85030
27612
27613        Reviewed by Adrienne Walker.
27614
27615        Adds a new layer type for IOSurface layers and pipes through a separate path through to rendering. IOSurface
27616        layers are very simple - they have an IOSurface id and size, nothing else. All IOSurface layers are "flipped" in
27617        our terminology.
27618
27619        * WebCore.gypi:
27620        * platform/graphics/chromium/IOSurfaceLayerChromium.cpp:
27621        (WebCore):
27622        (WebCore::IOSurfaceLayerChromium::create):
27623        (WebCore::IOSurfaceLayerChromium::IOSurfaceLayerChromium):
27624        (WebCore::IOSurfaceLayerChromium::~IOSurfaceLayerChromium):
27625        (WebCore::IOSurfaceLayerChromium::setIOSurfaceProperties):
27626        (WebCore::IOSurfaceLayerChromium::createCCLayerImpl):
27627        (WebCore::IOSurfaceLayerChromium::drawsContent):
27628        (WebCore::IOSurfaceLayerChromium::pushPropertiesTo):
27629        * platform/graphics/chromium/IOSurfaceLayerChromium.h:
27630        (WebCore):
27631        (IOSurfaceLayerChromium):
27632        * platform/graphics/chromium/LayerRendererChromium.cpp:
27633        (WebCore::LayerRendererChromium::drawIOSurfaceQuad):
27634        (WebCore::LayerRendererChromium::cleanupSharedObjects):
27635        * platform/graphics/chromium/LayerRendererChromium.h:
27636        (LayerRendererChromium):
27637        * platform/graphics/chromium/TextureLayerChromium.cpp:
27638        (WebCore::TextureLayerChromium::TextureLayerChromium):
27639        (WebCore::TextureLayerChromium::drawsContent):
27640        (WebCore::TextureLayerChromium::pushPropertiesTo):
27641        * platform/graphics/chromium/TextureLayerChromium.h:
27642        (TextureLayerChromium):
27643        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp:
27644        (WebCore::CCIOSurfaceDrawQuad::create):
27645        (WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
27646        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h:
27647        (CCIOSurfaceDrawQuad):
27648        * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.cpp:
27649        (WebCore):
27650        (WebCore::CCIOSurfaceLayerImpl::CCIOSurfaceLayerImpl):
27651        (WebCore::CCIOSurfaceLayerImpl::~CCIOSurfaceLayerImpl):
27652        (WebCore::CCIOSurfaceLayerImpl::willDraw):
27653        (WebCore::CCIOSurfaceLayerImpl::appendQuads):
27654        (WebCore::CCIOSurfaceLayerImpl::dumpLayerProperties):
27655        (WebCore::CCIOSurfaceLayerImpl::didLoseContext):
27656        (WebCore::CCIOSurfaceLayerImpl::setIOSurfaceProperties):
27657        * platform/graphics/chromium/cc/CCIOSurfaceLayerImpl.h:
27658        (WebCore):
27659        (CCIOSurfaceLayerImpl):
27660        (WebCore::CCIOSurfaceLayerImpl::create):
27661        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
27662        (WebCore::CCTextureLayerImpl::CCTextureLayerImpl):
27663        (WebCore::CCTextureLayerImpl::~CCTextureLayerImpl):
27664        (WebCore::CCTextureLayerImpl::appendQuads):
27665        (WebCore::CCTextureLayerImpl::didLoseContext):
27666        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
27667        (CCTextureLayerImpl):
27668
276692012-04-27  Arvid Nilsson  <anilsson@rim.com>
27670
27671        [BlackBerry] OpenGL related bug fixes
27672        https://bugs.webkit.org/show_bug.cgi?id=84836
27673
27674        Reviewed by Antonio Gomes.
27675
27676        PR147254, 148933, 149117, 149721, 150228
27677
27678        No new tests, covered by existing BlackBerry browser stress tests
27679
27680        * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
27681        (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
27682        * platform/graphics/blackberry/LayerCompositingThread.cpp:
27683        (WebCore::LayerCompositingThread::drawTextures):
27684        * platform/graphics/blackberry/LayerRenderer.cpp:
27685        (WebCore::LayerRenderer::~LayerRenderer):
27686        (WebCore::LayerRenderer::drawLayers):
27687        (WebCore::LayerRenderer::initializeSharedGLObjects):
27688
276892012-04-27  Nat Duca  <nduca@chromium.org>
27690
27691        Implement high-resolution time via window.performance.webkitNow()
27692        https://bugs.webkit.org/show_bug.cgi?id=66684
27693
27694        This implements the high resolution time spec from
27695        http://www.w3.org/TR/hr-time/, giving javascript access to
27696        sub-millisecond timestamps that increase over time instead of being
27697        subject to skewing, for example when the host machine's clock changes.
27698
27699        Reviewed by Tony Gentilcore.
27700
27701        Test: fast/performance/performance-now-timestamps.html
27702
27703        * page/Performance.cpp:
27704        (WebCore::Performance::now):
27705        (WebCore):
27706        * page/Performance.h:
27707        (Performance):
27708        * page/Performance.idl:
27709
277102012-04-27  Filip Pizlo  <fpizlo@apple.com>
27711
27712        If you get a list of DOMWrapperWorld*'s and then plan to allocate in the heap, you should ref
27713        the DOMWrapperWorld*'s
27714        https://bugs.webkit.org/show_bug.cgi?id=85098
27715        <rdar://problem/11318170>
27716
27717        Reviewed by Sam Weinig.
27718
27719        No new tests because this addresses hard-to-repro flaky behavior arising from GCs at inconvenient
27720        times.
27721
27722        * bindings/js/ScriptController.cpp:
27723        (WebCore::ScriptController::getAllWorlds):
27724        * bindings/js/ScriptController.h:
27725        (ScriptController):
27726        * bindings/js/WebCoreJSClientData.h:
27727        (WebCore::WebCoreJSClientData::getAllWorlds):
27728        * bindings/v8/ScriptController.cpp:
27729        (WebCore::ScriptController::getAllWorlds):
27730        * bindings/v8/ScriptController.h:
27731        (ScriptController):
27732        * loader/FrameLoader.cpp:
27733        (WebCore::FrameLoader::dispatchDidClearWindowObjectsInAllWorlds):
27734        (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
27735
277362012-04-27  Geoffrey Garen  <ggaren@apple.com>
27737
27738        Removed the sole use of Weak<Unknown>
27739        https://bugs.webkit.org/show_bug.cgi?id=85099
27740
27741        Reviewed by Sam Weinig.
27742
27743        The semantics and implementation of Weak<Unknown> are unclear because:
27744            - Should you call a finalizer for a non-GC thingy? If so, when?
27745
27746                * Possible answer: No.
27747
27748            - If WeakImpls for GC thingies live with the GC thingies in the
27749              heap, where do WeakImpls for non-GC thingies live?
27750
27751                * Possible answer: Directly in the Weak<T>.
27752
27753        Since no clients actually want these behaviors, it's hard to tell if
27754        they're the right behaviors, and it's not worth the implementation
27755        complexity. If we come up with a client that wants these behaviors, we
27756        can always revisit this.
27757
27758        * bindings/js/JSNodeFilterCondition.cpp:
27759        (WebCore::JSNodeFilterCondition::JSNodeFilterCondition): Just leave our
27760        filter NULL if it's not an object -- that's a better way to indicate
27761        "not a valid filter object".
27762
27763        (WebCore::JSNodeFilterCondition::acceptNode): Fixed up some naming to
27764        clarify that the object we're working with is not necessarily a function.
27765
27766        * bindings/js/JSNodeFilterCondition.h:
27767        (JSNodeFilterCondition): Use Weak<JSObject>, since that more closely
27768        matches what we're trying to do.
27769
277702012-04-26  Kentaro Hara  <haraken@chromium.org>
27771
27772        [V8] Pass Isolate to getDOMXXXMap()
27773        https://bugs.webkit.org/show_bug.cgi?id=85022
27774
27775        Reviewed by Nate Chapin.
27776
27777        The objective is to pass Isolate around in V8 bindings.
27778        This patch passes Isolate to getDOMXXXMap().
27779
27780        Also this patch removes DOMMap::getDOMDataStore() and
27781        DOMData::getDefalutStore(), since the indirection by the
27782        methods is redundant. This is not for performance
27783        optimization but just for refactoring.
27784
27785        No tests. No change in behavior.
27786
27787        * bindings/v8/DOMData.cpp:
27788        (WebCore::DOMData::getCurrentStore):
27789        * bindings/v8/DOMData.h:
27790        (DOMData):
27791        * bindings/v8/V8DOMMap.cpp:
27792        (WebCore::getDOMNodeMap):
27793        (WebCore::getActiveDOMNodeMap):
27794        (WebCore::getDOMObjectMap):
27795        (WebCore::getActiveDOMObjectMap):
27796        (WebCore::removeAllDOMObjects):
27797        * bindings/v8/V8DOMMap.h:
27798        (WebCore):
27799
278002012-04-26  Kentaro Hara  <haraken@chromium.org>
27801
27802        [V8] Pass Isolate to V8BindingPerIsolateData::current()
27803        https://bugs.webkit.org/show_bug.cgi?id=85023
27804
27805        Reviewed by Nate Chapin.
27806
27807        The objective is to pass Isolate around in V8 bindings.
27808        This patch passes Isolate to V8BindingPerIsolateData::current().
27809
27810        No tests. No change in behavior.
27811
27812        * bindings/v8/V8Binding.h:
27813        (WebCore::V8BindingPerIsolateData::current):
27814        (WebCore::v8ExternalString):
27815
278162012-04-27  Dimitri Glazkov  <dglazkov@chromium.org>
27817
27818        Unreviewed, rolling out r115484.
27819        http://trac.webkit.org/changeset/115484
27820        https://bugs.webkit.org/show_bug.cgi?id=84555
27821
27822        Broke Chromium compile.
27823
27824        * bindings/js/JSBlobCustom.cpp:
27825        * bindings/v8/custom/V8BlobCustom.cpp:
27826        * fileapi/Blob.cpp:
27827        * fileapi/Blob.h:
27828        (Blob):
27829        * fileapi/Blob.idl:
27830        * workers/WorkerContext.idl:
27831
278322012-04-27  Alexandru Chiculita  <achicu@adobe.com>
27833
27834        [CSS Shaders] Implement CSS Animations and Transitions for CSS Shaders
27835        https://bugs.webkit.org/show_bug.cgi?id=71406
27836
27837        Reviewed by Dean Jackson.
27838
27839        I've implemented the blend function for the CustomFilterOperation. This should enable animations for CSS Shaders.
27840        Currently, just floats are implemented. If any of the filter attributes like shader, mesh size or box mode are different, 
27841        the fallback is to use the "to" part of the animation instead. If other shader parameters do not match, it will merge the parameter values
27842        between the "from" and "to" states.
27843
27844        Test: css3/filters/custom/custom-filter-animation.html
27845
27846        * platform/graphics/filters/CustomFilterNumberParameter.h:
27847        (WebCore::CustomFilterNumberParameter::blend):
27848        (CustomFilterNumberParameter):
27849        (WebCore::CustomFilterNumberParameter::operator==):
27850        * platform/graphics/filters/CustomFilterOperation.cpp:
27851        (WebCore::equalCustomFilterParameters):
27852        (WebCore):
27853        (WebCore::checkCustomFilterParametersOrder):
27854        (WebCore::blendCustomFilterParameters):
27855        (WebCore::CustomFilterOperation::CustomFilterOperation):
27856        (WebCore::CustomFilterOperation::blend):
27857        * platform/graphics/filters/CustomFilterOperation.h:
27858        (WebCore):
27859        (CustomFilterOperation):
27860        (WebCore::CustomFilterOperation::operator==):
27861        (WebCore::CustomFilterOperation::operator!=):
27862        * platform/graphics/filters/CustomFilterParameter.h:
27863        (CustomFilterParameter):
27864        (WebCore::CustomFilterParameter::isSameType):
27865        (WebCore::CustomFilterParameter::operator==):
27866        (WebCore::CustomFilterParameter::operator!=):
27867        * platform/graphics/filters/CustomFilterProgram.h:
27868        * rendering/style/StyleCustomFilterProgram.h:
27869        (StyleCustomFilterProgram):
27870        (WebCore::StyleCustomFilterProgram::cachedVertexShader):
27871        (WebCore::StyleCustomFilterProgram::cachedFragmentShader):
27872        (WebCore::StyleCustomFilterProgram::operator==):
27873
278742012-04-27  Chris Rogers  <crogers@google.com>
27875
27876        Re-factor scheduling logic from AudioBufferSourceNode into AudioScheduledSourceNode
27877        https://bugs.webkit.org/show_bug.cgi?id=84639
27878
27879        Reviewed by Eric Carlson.
27880
27881        Playback logic involving noteOn(), noteOff(), and playbackState were intertwined with
27882        the AudioBufferSourceNode's buffer playback code.  These are more general concepts and
27883        may be implemented separately in another class called AudioScheduledSourceNode.
27884
27885        No new tests. Covered by existing layout tests.
27886
27887        * GNUmakefile.list.am:
27888        Add AudioScheduledSourceNode files to makefile.
27889
27890        * Modules/webaudio/AudioBufferSourceNode.cpp:
27891        (WebCore):
27892        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
27893        Re-factor some member variables into new base class AudioScheduledSourceNode.
27894
27895        (WebCore::AudioBufferSourceNode::process):
27896        Re-factor scheduling logic into AudioScheduledSourceNode.
27897
27898        * Modules/webaudio/AudioBufferSourceNode.h:
27899        (AudioBufferSourceNode):
27900        Simplify by re-factoring scheduling logic into AudioScheduledSourceNode.
27901
27902        * Modules/webaudio/AudioScheduledSourceNode.cpp: Added.
27903        (WebCore):
27904        (WebCore::AudioScheduledSourceNode::AudioScheduledSourceNode):
27905        (WebCore::AudioScheduledSourceNode::updateSchedulingInfo):
27906        Get frame information for the current time quantum.
27907
27908        * Modules/webaudio/AudioScheduledSourceNode.h: Added.
27909        (WebCore::AudioScheduledSourceNode::noteOn):
27910        (WebCore::AudioScheduledSourceNode::noteOff):
27911        (WebCore::AudioScheduledSourceNode::finish):
27912        (WebCore::AudioScheduledSourceNode::playbackState):
27913        (WebCore::AudioScheduledSourceNode::isPlayingOrScheduled):
27914        (WebCore::AudioScheduledSourceNode::hasFinished):
27915        Re-factored from AudioBufferSourceNode.
27916
27917        * WebCore.gypi:
27918        * WebCore.xcodeproj/project.pbxproj:
27919        Add AudioScheduledSourceNode files to makefiles.
27920    
279212012-04-26  Sam Weinig  <sam@webkit.org>
27922
27923        Add support for the Blob constructor
27924        https://bugs.webkit.org/show_bug.cgi?id=84555
27925
27926        Reviewed by Maciej Stachowiak.
27927
27928        Test: fast/files/blob-constructor.html
27929
27930        This adds an implementation of the Blob constructor that willfully
27931        violates the W3C Editor’s Draft 29 February 2012 in the following ways:
27932        - Elements in the parts array are coerced to DOMStrings https://www.w3.org/Bugs/Public/show_bug.cgi?id=16721 
27933        - Don't throw for invalid key in the dictionary https://www.w3.org/Bugs/Public/show_bug.cgi?id=16727
27934        - Values for the endings property are treated as enums https://www.w3.org/Bugs/Public/show_bug.cgi?id=16729 
27935
27936        * bindings/js/JSBlobCustom.cpp:
27937        (WebCore::JSBlobConstructor::constructJSBlob):
27938        Implement blob constructor.
27939
27940        * bindings/v8/custom/V8BlobCustom.cpp:
27941        (WebCore::V8Blob::constructorCallback):
27942        Implement blob constructor.
27943
27944        * fileapi/Blob.idl:
27945        Add constructor to IDL.
27946
27947        * workers/WorkerContext.idl:
27948        Add Blob constructor to the worker global object.
27949
279502012-04-27  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
27951
27952        [Qt] Fix minimal build.
27953        https://bugs.webkit.org/show_bug.cgi?id=85045
27954
27955        Reviewed by Tor Arne Vestbø.
27956
27957        Compile LIBXML XML parser even if ENABLE_XSLT is not set.
27958
27959        * Target.pri:
27960
279612012-04-27  Shawn Singh  <shawnsingh@chromium.org>
27962
27963        Infinite backgroundClipRect should not be scrolled.
27964        https://bugs.webkit.org/show_bug.cgi?id=84979
27965
27966        Reviewed by Adrienne Walker.
27967
27968        Test: compositing/iframes/scroll-fixed-transformed-element.html
27969
27970        By accidentally scrolling clipRects that should be considered
27971        "infinite", they were no longer being considered infinite. This
27972        caused a chain of un-intended code paths that caused fixed
27973        position elements to stutter when scrolling in Chromium.
27974
27975        * rendering/RenderLayer.cpp:
27976        (WebCore::RenderLayer::backgroundClipRect):
27977
279782012-04-27  Ryosuke Niwa  <rniwa@webkit.org>
27979
27980        FormatBlock crashes when body element is removed prior to the command execution
27981        https://bugs.webkit.org/show_bug.cgi?id=84937
27982
27983        Reviewed by Tony Chang.
27984
27985        The crash was because because DOM had been modified since the last time selection had been "validated",
27986        and therefore frame selection's endpoints are no longer visible when we instantiated visibleStart
27987        and visibleEnd from m_endingSelection of the edit command.
27988
27989        Fixed the bug by checking the nullity and orphanedness of visible start and visible end directly.
27990        I suspect we have similar bugs in other commands. The fundamental problem is that the copy constructor
27991        of VisibleSelection never validates so when a VisibleSelection is passed from one class to another
27992        (e.g. FrameSelection to EditCommand), we may not adjust end points as needed.
27993
27994        Test: editing/execCommand/format-block-without-body-crash.html
27995
27996        * editing/ApplyBlockElementCommand.cpp:
27997        (WebCore::ApplyBlockElementCommand::doApply):
27998
279992012-04-27  Enrica Casucci  <enrica@apple.com>
28000
28001        REGRESSION(r96257): Deleting a large amount of text is very slow.
28002        https://bugs.webkit.org/show_bug.cgi?id=83983
28003        <rdar://problem/10826076>
28004        
28005        Reviewed by Ryosuke Niwa.
28006
28007        The change in r96257 did not cause the performance regression per se,
28008        but exposed a problem in the way we calculate the offset in container
28009        node when the anchorType is PositionIsOffsetInAnchor.
28010        The offset was computed as the minimum between the given offset and
28011        lastOffsetInNode. If the container has a very large number of children,
28012        we walk the entire list of child nodes in the container simply to find
28013        out how many they are.
28014        Looking through the entire editing code, I found other 2 cases (one
28015        is only an ASSERT) where we could do a similar optimization.
28016
28017        No new tests. No behavior change, only performance optimization.
28018
28019        * dom/Position.cpp:
28020        (WebCore::Position::computeOffsetInContainerNode):
28021        * dom/Position.h:
28022        (WebCore::minOffsetForNode):
28023        (WebCore::offsetIsBeforeLastNodeOffset):
28024        * editing/ApplyStyleCommand.cpp:
28025        (WebCore::ApplyStyleCommand::removeInlineStyle):
28026        (WebCore::ApplyStyleCommand::mergeEndWithNextIfIdentical):
28027
280282012-04-27  Julien Chaffraix  <jchaffraix@webkit.org>
28029
28030        NULL-deref in RenderBox::clippedOverflowRectForRepaint
28031        https://bugs.webkit.org/show_bug.cgi?id=84774
28032
28033        Reviewed by Tony Chang.
28034
28035        Test: fast/inline/crash-new-continuation-with-outline.html
28036
28037        The bug comes from trying to repaint the :after content as part of updateBeforeAfterContent.
28038        The repainting logic would query the yet-to-be-inserted continuation(). Then we would crash in
28039        RenderBox::clippedOverflowRectForRepaint as we didn't have an enclosingLayer() (which any
28040        RenderObject in the tree will have).
28041
28042        The fix is to check in RenderInline::clippedOverflowRectForRepaint that our continuation()
28043        is properly inserted in the tree. We could check that it isRooted() but it's an overkill here.
28044
28045        * rendering/RenderInline.cpp:
28046        (WebCore::RenderInline::clippedOverflowRectForRepaint):
28047
280482012-04-27  Antti Koivisto  <antti@apple.com>
28049
28050        Memory cache pruning should be protected against reentering.
28051        https://bugs.webkit.org/show_bug.cgi?id=85077
28052
28053        Reviewed by Alexey Proskuryakov.
28054
28055        MemoryCache::pruneDeadResourcesToSize() has some ad-hock protection against reentering.
28056        This patch adds more complete protection.
28057
28058        * loader/cache/MemoryCache.cpp:
28059        (WebCore::MemoryCache::MemoryCache):
28060        (WebCore::MemoryCache::pruneLiveResourcesToSize):
28061        
28062            Protect live resource pruning too.
28063
28064        (WebCore::MemoryCache::pruneDeadResourcesToSize):
28065        
28066            Remove the existing weak reentrancy handling in favor of full proctection.
28067
28068        * loader/cache/MemoryCache.h:
28069        (MemoryCache):
28070
280712012-04-27  Alexander Pavlov  <apavlov@chromium.org>
28072
28073        Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
28074        (re-landing r115417 with a test that should work on Windows.)
28075        https://bugs.webkit.org/show_bug.cgi?id=84946
28076
28077        Reviewed by Yury Semikhatsky.
28078
28079        Test: inspector/debugger/disable-script.html
28080
28081        * inspector/Inspector.json:
28082        * inspector/InspectorPageAgent.cpp:
28083        (PageAgentState):
28084        (WebCore::InspectorPageAgent::enable):
28085        (WebCore::InspectorPageAgent::disable):
28086        (WebCore::InspectorPageAgent::getScriptExecutionStatus):
28087        (WebCore):
28088        (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
28089        * inspector/InspectorPageAgent.h:
28090        * inspector/front-end/Settings.js:
28091        * inspector/front-end/SettingsScreen.js:
28092        (WebInspector.SettingsScreen):
28093        (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
28094        (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
28095        * inspector/front-end/inspector.js:
28096
280972012-04-27  Keishi Hattori  <keishi@webkit.org>
28098
28099        IETC HTML5: verify HTMLDataListElement - instanceof HTMLDataListElement fails.
28100        https://bugs.webkit.org/show_bug.cgi?id=81196
28101
28102        Reviewed by Kent Tamura.
28103
28104        Test: fast/dom/Window/window-properties.html, fast/dom/Window/window-lookup-precedence.html
28105
28106        HTMLDataListElement should be available on DOMWindow.
28107
28108        * page/DOMWindow.idl: Added HTMLDataListElement.
28109
281102012-04-27  Dimitri Glazkov  <dglazkov@chromium.org>
28111
28112        Unreviewed, rolling out r115417.
28113        http://trac.webkit.org/changeset/115417
28114        https://bugs.webkit.org/show_bug.cgi?id=84946
28115
28116        Added test is broken on windows.
28117
28118        * inspector/Inspector.json:
28119        * inspector/InspectorPageAgent.cpp:
28120        (WebCore::InspectorPageAgent::enable):
28121        (WebCore::InspectorPageAgent::disable):
28122        * inspector/InspectorPageAgent.h:
28123        * inspector/front-end/Settings.js:
28124        * inspector/front-end/SettingsScreen.js:
28125        (WebInspector.SettingsScreen):
28126        * inspector/front-end/inspector.js:
28127
281282012-04-27  Gavin Peters  <gavinp@chromium.org>
28129
28130        Add new ENABLE_LINK_PRERENDER define to control the Prerendering API
28131        https://bugs.webkit.org/show_bug.cgi?id=84871
28132
28133        Reviewed by Adam Barth.
28134
28135        Prerendering is currently covered by the ENABLE_LINK_PREFETCH macro, but the new Prerendering
28136        API separates it from prefetching.  Having separate include guards lets ports enable prefetching,
28137        a relatively easy change, without needing to build the infrastructure for prerendering, which
28138        is considerably more complicated.
28139
28140        * Configurations/FeatureDefines.xcconfig:
28141
281422012-04-27  Zan Dobersek  <zandobersek@gmail.com>
28143
28144        [Gtk][DOM Bindings] Feature-protected properties are put under condition guards
28145        https://bugs.webkit.org/show_bug.cgi?id=85068
28146
28147        Reviewed by Martin Robinson.
28148
28149        Generated feature-dependent properties are now present regardless of that
28150        feature being enabled. On getting or setting that property's value a warning
28151        is thrown if the feature is not enabled. Additionally, if the generated
28152        interface is feature-dependant, when getting or setting any property's value
28153        a warning is thrown if the feature is not enabled.
28154
28155        No new tests - covered by existing bindings tests.
28156
28157        * bindings/scripts/CodeGeneratorGObject.pm:
28158        (GenerateProperty):
28159        (GenerateProperties):
28160        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Rebaseline.
28161        (webkit_dom_test_interface_set_property):
28162        (webkit_dom_test_interface_get_property):
28163        (webkit_dom_test_interface_class_init):
28164        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
28165        (webkit_dom_test_obj_set_property):
28166        (webkit_dom_test_obj_get_property):
28167        (webkit_dom_test_obj_class_init):
28168        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
28169        (webkit_dom_test_serialized_script_value_interface_get_property):
28170
281712012-04-27  Zan Dobersek  <zandobersek@gmail.com>
28172
28173        [Gtk][DOM Bindings] Conditional string in implementation file generated in wrong place after 113450
28174        https://bugs.webkit.org/show_bug.cgi?id=85065
28175
28176        Reviewed by Martin Robinson.
28177
28178        Put the condition string in implementation file after the header inclusions. This ensures
28179        that build errors do not occur when disabling the future that applies to the condition string
28180        because of WebCore objects and methods that are still in use despite the feature being disabled.
28181
28182        No new tests - covered by bindings tests.
28183
28184        * bindings/scripts/CodeGeneratorGObject.pm:
28185        (WriteData):
28186        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Rebaseline generated results.
28187        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
28188        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp: Ditto.
28189
281902012-04-27  Andreas Kling  <kling@webkit.org>
28191
28192        Avoid mutating Element attribute storage in StepRange constructor.
28193        <http://webkit.org/b/84797>
28194
28195        Reviewed by Antti Koivisto.
28196
28197        Test: fast/selectors/querySelector-in-range-crash.html
28198
28199        * dom/Attribute.h:
28200
28201            Add comment about the volatility of references returned by getters.
28202
28203        * html/StepRange.cpp:
28204        (WebCore::StepRange::StepRange):
28205
28206            Replace hasAttribute/getAttribute pair by a single fastGetAttribute.
28207
28208        * html/HTMLInputElement.cpp:
28209        (WebCore::HTMLInputElement::updateType):
28210        (WebCore::HTMLInputElement::value):
28211
28212            Store the value attribute in an local variable before passing it to sanitizeValue().
28213
282142012-04-27  Rob Buis  <rbuis@rim.com>
28215
28216        SVG inline style of 'marker-*' does not override
28217        https://bugs.webkit.org/show_bug.cgi?id=84824
28218
28219        Reviewed by Nikolas Zimmermann.
28220
28221        Properly handle CSSValueNone for clip-path, filter, mask and marker-* properties. Instead
28222        of bailing out, set the none value explicitly, since an earlier match may have set it to
28223        something other than none.
28224
28225        Tests: svg/custom/inline-style-overrides-clipPath-expected.svg
28226               svg/custom/inline-style-overrides-clipPath.svg
28227               svg/custom/inline-style-overrides-filter-expected.svg
28228               svg/custom/inline-style-overrides-filter.svg
28229               svg/custom/inline-style-overrides-markers-expected.svg
28230               svg/custom/inline-style-overrides-markers.svg
28231               svg/custom/inline-style-overrides-mask-expected.svg
28232               svg/custom/inline-style-overrides-mask.svg
28233
28234        * css/SVGCSSStyleSelector.cpp:
28235        (WebCore::StyleResolver::applySVGProperty):
28236
282372012-04-27  Christophe Dumez  <christophe.dumez@intel.com>
28238
28239        [EFL] media/video-controls-rendering-toggle-display-none.html is failing
28240        https://bugs.webkit.org/show_bug.cgi?id=84949
28241
28242        Reviewed by Antonio Gomes.
28243
28244        Fix volume slider rendering so that the
28245        media/video-controls-rendering-toggle-display-none.html passes.
28246
28247        * css/mediaControlsEfl.css:
28248        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
28249        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
28250        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
28251
282522012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
28253
28254        Support values animation mode with just a single value
28255        https://bugs.webkit.org/show_bug.cgi?id=85064
28256
28257        Reviewed by Antti Koivisto.
28258
28259        values="a" is equal to <set to="a"> per SMIL specification.
28260        We currently only support values animation if at least two values are given, fix that.
28261
28262        The reference animations in Dr. Olaf Hoffmanns SVG Animation test suite are mostly using
28263        values animations, sometimes with only a single value given. Lots of the reference animations
28264        are broken in trunk w/o this patch and now work as expected.
28265
28266        See http://hoffmann.bplaced.net/svgtest/index.php?s=en&in=start.
28267
28268        Test: svg/animations/single-values-animation.html
28269
28270        * svg/SVGAnimationElement.cpp:
28271        (WebCore::SVGAnimationElement::calculateKeyTimesForCalcModePaced):
28272        (WebCore::SVGAnimationElement::currentValuesForValuesAnimation):
28273        (WebCore::SVGAnimationElement::startedActiveInterval):
28274
282752012-04-27  Konrad Piascik  <kpiascik@rim.com>
28276
28277        Web Inspector: Allow inspection of Web Socket Frames
28278        https://bugs.webkit.org/show_bug.cgi?id=83282
28279
28280        Reviewed by Pavel Feldman.
28281
28282        Tests: http/tests/inspector/web-socket-frame-error.html
28283               http/tests/inspector/web-socket-frame.html
28284
28285        * English.lproj/localizedStrings.js: Added new Web Inspector front-end UI strings.
28286        * Modules/websockets/WebSocketChannel.cpp:  Added InspectorInstrumentation calls to
28287                                                    the following methods.
28288        (WebCore::WebSocketChannel::fail):
28289        (WebCore::WebSocketChannel::processFrame):
28290        (WebCore::WebSocketChannel::sendFrame):
28291        * WebCore.gypi: Added new Web Inspector resource file.
28292        * WebCore.vcproj/WebCore.vcproj: Added new Web Inspector resource file.
28293        * inspector/Inspector.json: Added new Web Inspector resource file.
28294        * inspector/InspectorInstrumentation.cpp: Added new methods for instrumenting a Web Socket frame or error.
28295        (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameImpl):
28296        (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameErrorImpl):
28297        (WebCore::InspectorInstrumentation::didSendWebSocketFrameImpl):
28298        * inspector/InspectorInstrumentation.h:
28299        (WebCore):
28300        (InspectorInstrumentation):
28301        (WebCore::InspectorInstrumentation::didReceiveWebSocketFrame):
28302        (WebCore::InspectorInstrumentation::didReceiveWebSocketFrameError):
28303        (WebCore::InspectorInstrumentation::didSendWebSocketFrame):
28304        * inspector/InspectorResourceAgent.cpp:
28305        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrame):
28306        (WebCore):
28307        (WebCore::InspectorResourceAgent::didSendWebSocketFrame):
28308        (WebCore::InspectorResourceAgent::didReceiveWebSocketFrameError):
28309        * inspector/InspectorResourceAgent.h:
28310        (WebCore):
28311        (InspectorResourceAgent):
28312        * inspector/compile-front-end.py: Added new Web Inspector resource file.
28313        * inspector/front-end/NetworkItemView.js: Added a new View for inspecting Web Socket frames and errors.
28314        (WebInspector.NetworkItemView):
28315        * inspector/front-end/NetworkManager.js: Implemented callback called by InspectorResourceAgent for
28316                                                 the new Web Socket frame and error calls.
28317        (WebInspector.NetworkDispatcher.prototype.webSocketFrameReceived):
28318        (WebInspector.NetworkDispatcher.prototype.webSocketFrameSent):
28319        (WebInspector.NetworkDispatcher.prototype.webSocketFrameError):
28320        * inspector/front-end/NetworkRequest.js: Added a frames array to a Resource request along
28321                                                 with accessor and helper methods
28322        (WebInspector.NetworkRequest):
28323        (WebInspector.NetworkRequest.prototype.resource):
28324        (WebInspector.NetworkRequest.prototype.hasFrames):
28325        (WebInspector.NetworkRequest.prototype.frameLength):
28326        (WebInspector.NetworkRequest.prototype.getFrame):
28327        (WebInspector.NetworkRequest.prototype.addFrameError):
28328        (WebInspector.NetworkRequest.prototype.addFrame):
28329        (WebInspector.NetworkRequest.prototype._pushFrame):
28330        * inspector/front-end/ResourceWebSocketFrameView.js: Added to help display Web Socket frame and error data.
28331        (WebInspector.ResourceWebSocketFrameView):
28332        * inspector/front-end/WebKit.qrc: Added new Web Inspector resource file.
28333        * inspector/front-end/inspector.html: Added new Web Inspector resource file.
28334
283352012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
28336
28337        Fix repetitions & by animation support for SVGAnimateTransformElement
28338        https://bugs.webkit.org/show_bug.cgi?id=85051
28339
28340        Reviewed by Antti Koivisto.
28341
28342        Repetitions are currently handled by adjusting percentage (percentage += repeatCount).
28343        This doesn't work for <animateTransform> as each repetition has to be post-multiplied to the animated transform list. Fix that.
28344
28345        By-animations are equal to values="0;by" animations in SMIL. '0' is the neutral element of addition, which is the _zero_ matrix,
28346        not the identity matrix for SVGTransform. Add a new construction mode to SVGTransform to be able to construct zero transforms.
28347
28348        Tests: svg/animations/animateTransform-accumulation-expected.svg
28349               svg/animations/animateTransform-accumulation.svg
28350               svg/animations/animateTransform-by-scale-expected.svg
28351               svg/animations/animateTransform-by-scale.svg
28352               svg/animations/animateTransform-from-by-from-to-comparision-expected.svg
28353               svg/animations/animateTransform-from-by-from-to-comparision.svg
28354               svg/animations/animateTransform-from-by-scale-additive-sum-expected.svg
28355               svg/animations/animateTransform-from-by-scale-additive-sum.svg
28356               svg/animations/animateTransform-from-by-scale-expected.svg
28357               svg/animations/animateTransform-from-by-scale.svg
28358               svg/animations/animateTransform-rotate-around-point-expected.svg
28359               svg/animations/animateTransform-rotate-around-point.svg
28360               svg/animations/animateTransform-skewX-expected.svg
28361               svg/animations/animateTransform-skewX.svg
28362               svg/animations/animateTransform-skewY-expected.svg
28363               svg/animations/animateTransform-skewY.svg
28364               svg/animations/animateTransform-translate-expected.svg
28365               svg/animations/animateTransform-translate.svg
28366               svg/animations/multiple-animateTransform-additive-sum-expected.svg
28367               svg/animations/multiple-animateTransform-additive-sum.svg
28368
28369        * svg/SVGAnimateTransformElement.cpp:
28370        (WebCore::SVGAnimateTransformElement::parseAttribute):
28371        * svg/SVGAnimatedTransformList.cpp:
28372        (WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
28373        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
28374        * svg/SVGAnimationElement.h:
28375        (WebCore::SVGAnimationElement::adjustFromToListValues):
28376        * svg/SVGTransform.cpp:
28377        (WebCore::SVGTransform::SVGTransform):
28378        * svg/SVGTransform.h:
28379        * svg/SVGTransformDistance.cpp:
28380        (WebCore::SVGTransformDistance::SVGTransformDistance):
28381        (WebCore::SVGTransformDistance::scaledDistance):
28382        (WebCore::SVGTransformDistance::addSVGTransforms):
28383        (WebCore::SVGTransformDistance::addToSVGTransform):
28384        (WebCore::SVGTransformDistance::distance):
28385        * svg/SVGTransformDistance.h:
28386        (SVGTransformDistance):
28387
283882012-04-27  Nikolas Zimmermann  <nzimmermann@rim.com>
28389
28390        SVG Animations update baseVal instead of animVal
28391        https://bugs.webkit.org/show_bug.cgi?id=12437
28392
28393        Reviewed by Dirk Schulze.
28394
28395        Cleanup animation code, remove last remaining crufts of the old setAttribute() animation model.
28396        Now only two animation modes remain: animate SVG DOM animVal properties or CSS properties.
28397
28398        Stop caching base values per string in SMILTimeContainer, as it breaks additive="sum" for CSS
28399        properties if the underlying base value is changed from the outside (eg. when calling
28400        style.fontSize="20px", if font-size was 10px, and we're running an additive by-animation with 50px).
28401
28402        This requires us to cache the computed style of a SVGElement, without SMIL style property changes,
28403        in SVGElementRareData, similar to how the computed style itself is cached in ElementRareData.
28404        To be able to compute the base value for a CSS property at any time, we have to exclude any
28405        previous animation effects residing in the SMIL animated style properties, per SMIL2/3 specs.
28406
28407        NOTE: This doesn't change or affect the way CSS Animations/Transitions are applied, we still
28408              have some bugs in that area, but this patch doesn't address them. The idea is to only
28409              remove the cache, to pave the way for future additive="sum" patches.
28410
28411        Tests: svg/animations/change-css-property-while-animating-fill-freeze.html
28412               svg/animations/change-css-property-while-animating-fill-remove.html
28413
28414        * dom/Element.cpp:
28415        (WebCore::Element::recalcStyle):
28416        * dom/Node.h:
28417        * svg/SVGAnimateElement.cpp:
28418        (WebCore::propertyTypesAreConsistent):
28419        (WebCore::SVGAnimateElement::resetToBaseValue):
28420        (WebCore::SVGAnimateElement::applyResultsToTarget):
28421        * svg/SVGAnimateElement.h:
28422        (SVGAnimateElement):
28423        * svg/SVGAnimateMotionElement.cpp:
28424        (WebCore::SVGAnimateMotionElement::resetToBaseValue):
28425        * svg/SVGAnimateMotionElement.h:
28426        (SVGAnimateMotionElement):
28427        * svg/SVGAnimationElement.cpp:
28428        (WebCore::applyCSSPropertyToTarget):
28429        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedCSSValue):
28430        * svg/SVGAnimationElement.h:
28431        * svg/SVGElement.cpp:
28432        (WebCore::SVGElement::SVGElement):
28433        (WebCore::SVGElement::willRecalcStyle):
28434        (WebCore):
28435        (WebCore::SVGElement::rareSVGData):
28436        (WebCore::SVGElement::ensureRareSVGData):
28437        (WebCore::SVGElement::computedStyle):
28438        (WebCore::SVGElement::isAnimatableAttribute):
28439        * svg/SVGElement.h:
28440        (SVGElement):
28441        * svg/SVGElementRareData.h:
28442        (WebCore::SVGElementRareData::SVGElementRareData):
28443        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
28444        (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties):
28445        (WebCore::SVGElementRareData::overrideComputedStyle):
28446        (WebCore::SVGElementRareData::setUseOverrideComputedStyle):
28447        * svg/animation/SMILTimeContainer.cpp:
28448        (WebCore::SMILTimeContainer::updateAnimations):
28449        * svg/animation/SMILTimeContainer.h:
28450        (SMILTimeContainer):
28451        * svg/animation/SVGSMILElement.h:
28452        (SVGSMILElement):
28453
284542012-04-26  Alexander Pavlov  <apavlov@chromium.org>
28455
28456        Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
28457        (re-landing r115323 with a fixed test.)
28458        https://bugs.webkit.org/show_bug.cgi?id=84946
28459
28460        Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
28461        for the associated page to switch the script execution therein.
28462
28463        Reviewed by Yury Semikhatsky.
28464
28465        Test: inspector/debugger/disable-script.html
28466
28467        * inspector/Inspector.json:
28468        * inspector/InspectorPageAgent.cpp:
28469        (PageAgentState):
28470        (WebCore::InspectorPageAgent::enable):
28471        (WebCore::InspectorPageAgent::disable):
28472        (WebCore::InspectorPageAgent::getScriptExecutionStatus):
28473        (WebCore):
28474        (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
28475        * inspector/InspectorPageAgent.h:
28476        * inspector/front-end/Settings.js:
28477        * inspector/front-end/SettingsScreen.js:
28478        (WebInspector.SettingsScreen):
28479        (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
28480        (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
28481        * inspector/front-end/inspector.js:
28482
284832012-04-26  Ryosuke Niwa  <rniwa@webkit.org>
28484
28485        REGRESSION (r94497): Pressing Command+A when inline (Marked Text) is not empty will clean whole content
28486        https://bugs.webkit.org/show_bug.cgi?id=84501
28487
28488        Reviewed by Alexey Proskuryakov.
28489
28490        The bug was caused by setComposition, which is called by cancelComposition, deleting the contents when
28491        the passed text is empty. Fixed it by not deleting text when canceling compositions. This is okay because
28492        as the comment above the line suggests, this particular call to TypingCommand::deleteSelection is only useful
28493        when the confirmed text is empty and the composition text had previously been non-empty.
28494
28495        Test: editing/input/select-all-clear-input-method.html
28496
28497        * editing/Editor.cpp:
28498        (WebCore::Editor::setComposition):
28499
285002012-04-26  Keishi Hattori  <keishi@webkit.org>
28501
28502        datalist: Form control in a <datalist> should be barred from constraint validation
28503        https://bugs.webkit.org/show_bug.cgi?id=84359
28504
28505        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#the-datalist-element
28506        According to this, if an element has a datalist element ancestor, it is barred from constraint validation.
28507
28508        Reviewed by Kent Tamura.
28509
28510        Test: fast/forms/datalist/datalist-child-validation.html
28511
28512        * html/HTMLFormControlElement.cpp:
28513        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
28514        (WebCore::HTMLFormControlElement::updateAncestors): Updates the ancestor information.
28515        (WebCore::HTMLFormControlElement::insertedInto): Invalidates the ancestor information and calls setNeedsWillValidateCheck
28516        (WebCore::HTMLFormControlElement::removedFrom): Invalidates the ancestor information and calls setNeedsWillValidateCheck
28517        (WebCore::HTMLFormControlElement::disabled):
28518        (WebCore::HTMLFormControlElement::recalcWillValidate): Returns false if element has a datalist ancestor.
28519        (WebCore::HTMLFormControlElement::setNeedsWillValidateCheck): Check if ancestor information is valid too.
28520        * html/HTMLFormControlElement.h:
28521        (HTMLFormControlElement):
28522
285232012-04-26  Adrienne Walker  <enne@google.com>
28524
28525        [chromium] Remove unused CCLayerImpl::debugID()
28526        https://bugs.webkit.org/show_bug.cgi?id=85019
28527
28528        Reviewed by James Robinson.
28529
28530        CCLayerSorter used debugID() but it was never set anywhere. Change
28531        the CCLayerSorter LOG messages to use id(), which does get set.
28532
28533        * platform/graphics/chromium/cc/CCLayerImpl.h:
28534        (CCLayerImpl):
28535        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
28536        (WebCore::CCLayerSorter::createGraphNodes):
28537        (WebCore::CCLayerSorter::createGraphEdges):
28538        (WebCore::CCLayerSorter::sort):
28539
285402012-04-26  Nico Weber  <thakis@chromium.org>
28541
28542        [chromium] Fix C++ language use.
28543        https://bugs.webkit.org/show_bug.cgi?id=85015
28544
28545        Reviewed by James Robinson.
28546
28547        Even though MSVC allows it, a sizeof followed by a non-parenthesized
28548        typename is not valid C++.
28549
28550        No functionality change.
28551
28552        * rendering/RenderThemeChromiumWin.cpp:
28553        (WebCore):
28554        (WebCore::getNonClientMetrics):
28555
285562012-04-24  James Robinson  <jamesr@chromium.org>
28557
28558        [chromium] Move ProgramBinding definitions to LayerRendererChromium and normalize naming
28559        https://bugs.webkit.org/show_bug.cgi?id=84808
28560
28561        Reviewed by Adrienne Walker.
28562
28563        The GL programs used are logically part of LayerRendererChromium and not something specific to a layer type,
28564        since a different renderer would want to use a different thing to render the same layer types. This moves all of
28565        the ProgramBinding definitions into LayerRendererChromium and gives them consistent names. With the exception of
28566        CCRenderSurface (noted by an inline comment), these programs are private to LRC.
28567
28568        This patch also deduplicates programs a bit:
28569        1.) Video's NativeTexture and RGBA programs were the same thing, folded.
28570        2.) The TexStretch and TexTransform shaders are basically the same thing, folded together.
28571
28572        * platform/graphics/chromium/LayerChromium.h:
28573        (LayerChromium):
28574        * platform/graphics/chromium/LayerRendererChromium.cpp:
28575        (WebCore::LayerRendererChromium::drawCheckerboardQuad):
28576        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
28577        (WebCore::LayerRendererChromium::drawSolidColorQuad):
28578        (WebCore::LayerRendererChromium::drawTileQuad):
28579        (WebCore::LayerRendererChromium::drawYUV):
28580        (WebCore::LayerRendererChromium::drawRGBA):
28581        (WebCore::LayerRendererChromium::drawNativeTexture2D):
28582        (WebCore::LayerRendererChromium::drawStreamTexture):
28583        (WebCore::LayerRendererChromium::drawTextureQuad):
28584        (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
28585        (WebCore::LayerRendererChromium::initializeSharedObjects):
28586        (WebCore::LayerRendererChromium::tileCheckerboardProgram):
28587        (WebCore::LayerRendererChromium::solidColorProgram):
28588        (WebCore::LayerRendererChromium::headsUpDisplayProgram):
28589        (WebCore::LayerRendererChromium::renderSurfaceProgram):
28590        (WebCore::LayerRendererChromium::renderSurfaceProgramAA):
28591        (WebCore::LayerRendererChromium::renderSurfaceMaskProgram):
28592        (WebCore::LayerRendererChromium::renderSurfaceMaskProgramAA):
28593        (WebCore::LayerRendererChromium::tileProgram):
28594        (WebCore::LayerRendererChromium::tileProgramOpaque):
28595        (WebCore::LayerRendererChromium::tileProgramAA):
28596        (WebCore::LayerRendererChromium::tileProgramSwizzle):
28597        (WebCore::LayerRendererChromium::tileProgramSwizzleOpaque):
28598        (WebCore::LayerRendererChromium::tileProgramSwizzleAA):
28599        (WebCore::LayerRendererChromium::textureProgramFlip):
28600        (WebCore::LayerRendererChromium::textureTexRectProgram):
28601        (WebCore::LayerRendererChromium::textureTexRectProgramFlip):
28602        (WebCore::LayerRendererChromium::videoRGBAProgram):
28603        (WebCore::LayerRendererChromium::videoYUVProgram):
28604        (WebCore::LayerRendererChromium::videoStreamTextureProgram):
28605        (WebCore::LayerRendererChromium::cleanupSharedObjects):
28606        * platform/graphics/chromium/LayerRendererChromium.h:
28607        (WebCore):
28608        (LayerRendererChromium):
28609        * platform/graphics/chromium/ShaderChromium.cpp:
28610        * platform/graphics/chromium/ShaderChromium.h:
28611        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
28612        (CCHeadsUpDisplay):
28613        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
28614        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
28615        (WebCore):
28616        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
28617        (WebCore::CCRenderSurface::copyTextureToFramebuffer):
28618        (WebCore::CCRenderSurface::drawLayer):
28619        * platform/graphics/chromium/cc/CCRenderSurface.h:
28620        (CCRenderSurface):
28621        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
28622        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
28623        (CCTextureLayerImpl):
28624        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
28625        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
28626        (CCTiledLayerImpl):
28627        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
28628        (WebCore):
28629        (CCVideoLayerImpl):
28630
286312012-04-26  Jeffrey Pfau  <jpfau@apple.com>
28632
28633        Invalid cast in WebCore::HTMLCollection::isAcceptableElement
28634        https://bugs.webkit.org/show_bug.cgi?id=84626
28635
28636        Reviewed by Darin Adler.
28637
28638        Check if the object is an HTMLElement before casting.
28639
28640        Test: fast/dom/htmlcollection-non-html.html
28641
28642        * html/HTMLCollection.cpp:
28643        (WebCore::HTMLCollection::isAcceptableElement):
28644
286452012-04-26  Dana Jansens  <danakj@chromium.org>
28646
28647        [chromium] Some background filters require inflating damage on the surface behind them
28648        https://bugs.webkit.org/show_bug.cgi?id=84479
28649
28650        Reviewed by Adrienne Walker.
28651
28652        A layer with a background blur will expand the damage from pixels in the
28653        surface below it. We extend the damage tracker to expand damage in a
28654        surface below such layers.
28655
28656        Unit test: CCDamageTrackerTest.verifyDamageForBackgroundBlurredChild
28657
28658        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
28659        (WebCore::expandPixelOutsetsWithFilters):
28660        (WebCore):
28661        (WebCore::expandDamageRectInsideRectWithFilters):
28662        (WebCore::expandDamageRectWithFilters):
28663        (WebCore::CCDamageTracker::updateDamageTrackingState):
28664        (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
28665        * platform/graphics/chromium/cc/CCDamageTracker.h:
28666        (CCDamageTracker):
28667
286682012-04-26  Simon Fraser  <simon.fraser@apple.com>
28669
28670        Improve compositing logging output
28671        https://bugs.webkit.org/show_bug.cgi?id=85010
28672
28673        Reviewed by Dean Jackson.
28674
28675        In the compositing log channel output, indent the layers
28676        based on z-order tree depth. Tabulate the summary, and
28677        show obligate and secondary backing store area separately.
28678
28679        * rendering/RenderLayer.cpp:
28680        (WebCore::RenderLayer::updateClipRects):
28681        * rendering/RenderLayerCompositor.cpp:
28682        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
28683        (WebCore::RenderLayerCompositor::updateCompositingLayers):
28684        (WebCore::RenderLayerCompositor::logLayerInfo):
28685        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
28686        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
28687        (WebCore::RenderLayerCompositor::reasonForCompositing):
28688        * rendering/RenderLayerCompositor.h:
28689        (RenderLayerCompositor):
28690
286912012-04-26  Anders Carlsson  <andersca@apple.com>
28692
28693        REGRESSION (r115163): Unable to scroll article body with trackpad on altdevblogaday.com blog post
28694        https://bugs.webkit.org/show_bug.cgi?id=85024
28695        <rdar://problem/11330758>
28696
28697        Reviewed by Sam Weinig.
28698
28699        Fix broken logic in canHaveScrollbars.
28700
28701        * page/scrolling/ScrollingTreeNode.h:
28702        (WebCore::ScrollingTreeNode::canHaveScrollbars):
28703
287042012-04-24  James Robinson  <jamesr@chromium.org>
28705
28706        [chromium] Use different CCDrawQuad types for textures vs IOSurfaces
28707        https://bugs.webkit.org/show_bug.cgi?id=84811
28708
28709        Reviewed by Adrienne Walker.
28710
28711        IOSurface and texture backed layers share few properties (only the flipped bool), so it doesn't make a lot of
28712        sense for them to use the same CCDrawQuad type for both. This splits IOSurfaces out to a dedicated quad type to
28713        make it easier to understand which bits of state apply to each.
28714
28715        The logical next step after this is to split the layer type as well, but that will be awkward until bug 84808 is
28716        resolved.
28717
28718        * WebCore.gypi:
28719        * platform/graphics/chromium/LayerRendererChromium.cpp:
28720        (WebCore::LayerRendererChromium::drawQuad):
28721        (WebCore::LayerRendererChromium::drawTextureQuad):
28722        (WebCore):
28723        (WebCore::LayerRendererChromium::drawIOSurfaceQuad):
28724        * platform/graphics/chromium/LayerRendererChromium.h:
28725        (LayerRendererChromium):
28726        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
28727        (WebCore::CCDrawQuad::toIOSurfaceDrawQuad):
28728        (WebCore):
28729        * platform/graphics/chromium/cc/CCDrawQuad.h:
28730        (WebCore):
28731        (CCDrawQuad):
28732        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.cpp.
28733        (WebCore):
28734        (WebCore::CCIOSurfaceDrawQuad::create):
28735        (WebCore::CCIOSurfaceDrawQuad::CCIOSurfaceDrawQuad):
28736        * platform/graphics/chromium/cc/CCIOSurfaceDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureDrawQuad.h.
28737        (WebCore):
28738        (CCIOSurfaceDrawQuad):
28739        (WebCore::CCIOSurfaceDrawQuad::flipped):
28740        (WebCore::CCIOSurfaceDrawQuad::ioSurfaceSize):
28741        (WebCore::CCIOSurfaceDrawQuad::ioSurfaceTextureId):
28742        * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp:
28743        (WebCore::CCTextureDrawQuad::create):
28744        (WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
28745        * platform/graphics/chromium/cc/CCTextureDrawQuad.h:
28746        (CCTextureDrawQuad):
28747        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
28748        (WebCore::CCTextureLayerImpl::appendQuads):
28749
287502012-04-26  Benjamin Poulain  <bpoulain@apple.com>
28751
28752        Use WebKit types for the cache of ObjcClass::methodsNamed()
28753        https://bugs.webkit.org/show_bug.cgi?id=85012
28754
28755        Reviewed by Geoffrey Garen.
28756
28757        This patch redefines the method cache ObjcClass to avoid memory allocations in the case of positive match.
28758
28759        Instead of using the converted name as the key, the original identifier string is used. This shortcuts
28760        all the other operations when there is a match.
28761
28762        A side effect is a method can appear multiple times in the cache if it is invoked with different names using
28763        the escape character "$". An attaquer could bloat the cache with a few hundreds strings.
28764        In the common case, having each name mapped is an improvment.
28765
28766        * bridge/objc/objc_class.h:
28767        (ObjcClass):
28768        * bridge/objc/objc_class.mm:
28769        (JSC::Bindings::ObjcClass::ObjcClass):
28770        (JSC::Bindings::ObjcClass::methodsNamed):
28771
287722012-04-26  Ojan Vafai  <ojan@chromium.org>
28773
28774        Delete dead code in Arena.h/cpp
28775        https://bugs.webkit.org/show_bug.cgi?id=84997
28776
28777        Reviewed by Eric Seidel.
28778
28779        Also cleaned up some style issues. Renamed some single-letter variable names.
28780        Avoided anything other than totally trivial style changes to be 100% sure
28781        that there is no change in behavior.
28782
28783        No new tests. There's no non-style code changes except inlining CLEAR_UNUSED
28784        and CLEAR_ARENA.
28785
28786        * platform/Arena.cpp:
28787        (WebCore):
28788        (WebCore::CeilingLog2):
28789        (WebCore::InitArenaPool):
28790        (WebCore::ArenaAllocate):
28791        (WebCore::FreeArenaList):
28792        (WebCore::FinishArenaPool):
28793        * platform/Arena.h:
28794        (WebCore):
28795
287962012-04-26  Shawn Singh  <shawnsingh@chromium.org>
28797
28798        Re-implement backFaceVisibility to avoid dealing with perspective w < 0 problem
28799        https://bugs.webkit.org/show_bug.cgi?id=84059
28800
28801        Reviewed by Adrienne Walker.
28802
28803        Unit tests added to CCMathUtilTest.cpp.
28804
28805        This patch changes the implementation of backFaceIsVisible so that
28806        it doesn't need to deal with the w < 0 problem from of perspective
28807        projections. Instead, it is equally correct to simply use the
28808        inverse-transpose of the matrix, and quickly check the third row,
28809        third column element. Additionally, it was appropriate to move
28810        this function into TransformationMatrix itself.
28811
28812        Making this change fixes some issues related to disappearing
28813        layers in Chromium (where the compositor incorrectly thought that
28814        the back face was visible, and skipped the layer).
28815
28816        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
28817        (WebCore::calculateVisibleLayerRect):
28818        (WebCore::layerShouldBeSkipped):
28819        * platform/graphics/transforms/TransformationMatrix.cpp:
28820        (WebCore::TransformationMatrix::isBackFaceVisible):
28821        (WebCore):
28822        * platform/graphics/transforms/TransformationMatrix.h:
28823        (TransformationMatrix):
28824
288252012-04-26  Martin Robinson  <mrobinson@igalia.com>
28826
28827        [Cairo] Wrap cairo surfaces in a class when storing native images
28828        https://bugs.webkit.org/show_bug.cgi?id=83611
28829
28830        Reviewed by Alejandro G. Castro.
28831
28832        No new tests. This is just a refactoring. This shouldn't change
28833        functionality.
28834
28835        Added class that wraps Cairo images surfaces to serve as the "native image"
28836        type for the Cairo platform. This will allow the addition of caching resampled
28837        images as well as versions of the image for non-image Cairo backends. Also
28838        split out BitmapImageCairo.cpp from ImageCairo.cpp since these classes are
28839        defined in two headers.
28840
28841        * GNUmakefile.list.am: Added new files.
28842        * platform/graphics/BitmapImage.h: Added a factory method that takes an image surface to
28843        reduce code churn.
28844        * platform/graphics/ImageSource.h: NativeImagePtr is now NativeImageCairo*.
28845        (WebCore):
28846        * platform/graphics/cairo/BitmapImageCairo.cpp: Copied from Source/WebCore/platform/graphics/cairo/ImageCairo.cpp.
28847        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Updated to reflect use of NativeImageCairo.
28848        * platform/graphics/cairo/ImageCairo.cpp: Ditto.
28849        * platform/graphics/cairo/NativeImageCairo.cpp: Added.
28850        * platform/graphics/cairo/NativeImageCairo.h: Added.
28851        * platform/graphics/cairo/PatternCairo.cpp: Updated to reflect use of NativeImageCairo.
28852        * platform/graphics/gtk/ImageGtk.cpp: Ditto.
28853        * platform/image-decoders/cairo/ImageDecoderCairo.cpp: Ditto.
28854
288552012-04-26  Mark Hahnenberg  <mhahnenberg@apple.com>
28856
28857        [GTK] Massive media tests failures since r115288
28858        https://bugs.webkit.org/show_bug.cgi?id=84950
28859
28860        Reviewed by Filip Pizlo.
28861
28862        No new tests.
28863
28864        Since the "cross-platform" WebCore timer is at too high of a level in terms of the layers 
28865        of WebKit for JSC to use, we are not currently able to use it in JSC, thus only those 
28866        platforms that support CoreFoundation can currently take advantage of the new and improved 
28867        GC activity timer. We've restored the old code paths for those platforms that don't have 
28868        CF so that they will at least have the same behavior as before when calling garbageCollectSoon.
28869
28870        * bindings/js/GCController.cpp: Added back the old WebCore timer along with some 
28871        if-defs that do away with the WebCore timer on platforms that support CoreFoundation.
28872        (WebCore::GCController::GCController):
28873        (WebCore::GCController::garbageCollectSoon):
28874        (WebCore):
28875        (WebCore::GCController::gcTimerFired):
28876        * bindings/js/GCController.h: Ditto.
28877        (GCController):
28878
288792012-04-26  Adam Klein  <adamk@chromium.org>
28880
28881        Don't include V8Proxy.h in ScriptValue.h when V8GCController is all that's required
28882        https://bugs.webkit.org/show_bug.cgi?id=84986
28883
28884        Reviewed by Kentaro Hara.
28885
28886        This makes it easier to include ScriptValue.h since it greatly reduces
28887        that header's dependencies.
28888
28889        * bindings/v8/ScriptValue.h: Changed to include just V8GCController.h and
28890        removed comment which is redundant with explicit V8GCController references nearby.
28891
288922012-04-26  Aaron Colwell  <acolwell@chromium.org>
28893
28894        Fix missing sourceState change on MEDIA_ERR_SOURCE_NOT_SUPPORTED error.
28895        https://bugs.webkit.org/show_bug.cgi?id=84996
28896
28897        Reviewed by Eric Carlson.
28898
28899        No new tests. http/tests/media/media-source/webm/video-media-source-errors.html was updated to verify that webkitSourceState is always SOURCE_CLOSED when the onerror event fires.
28900
28901        * html/HTMLMediaElement.cpp:
28902        (WebCore::HTMLMediaElement::noneSupported):
28903
289042012-04-26  Antti Koivisto  <antti@apple.com>
28905
28906        Cache parsed stylesheets
28907        https://bugs.webkit.org/show_bug.cgi?id=85004
28908
28909        Reviewed by Andreas Kling.
28910
28911        CSS parsing is 1-2% of WebKit CPU usage on average pages, more on sites with large stylesheets.
28912        We currently reparse all stylesheets from source text when they are encountered again. In many
28913        browsing scenarios we can eliminate lot of this by caching the parsed stylesheets. For example 
28914        it is very common for subpages of a site to share the stylesheets.
28915        
28916        This patch enables memory caching for stylesheet loaded using the <link> element. Only stylesheets
28917        that have no import rules are cacheable for now.
28918        
28919        Cached stylesheets are copied on restore so there is no sharing (and no memory wins) yet.
28920        In the future we will also be able to share the actual data structures between pages for 
28921        significant memory savings.
28922        
28923        After browsing around for a while <5% of the memory cache data was in parsed stylesheets so this
28924        does not bloat the cache significantly.
28925
28926        * css/CSSStyleSheet.cpp:
28927        (WebCore):
28928        (WebCore::StyleSheetInternal::estimatedSizeInBytes):
28929        
28930            Estimate stylesheet size so we can handle decoded data pruning correctly.
28931
28932        * css/CSSStyleSheet.h:
28933        (StyleSheetInternal):
28934        * css/StylePropertySet.cpp:
28935        (WebCore::StylePropertySet::averageSizeInBytes):
28936        (WebCore):
28937        * css/StylePropertySet.h:
28938        (StylePropertySet):
28939        * css/StyleRule.cpp:
28940        (WebCore::StyleRule::averageSizeInBytes):
28941        (WebCore):
28942        * css/StyleRule.h:
28943        (StyleRule):
28944        * html/HTMLLinkElement.cpp:
28945        (WebCore::HTMLLinkElement::setCSSStyleSheet):
28946        
28947            Save and restore parsed stylesheet. The current CSS parse context must be identical to the cached 
28948            stylesheets. This ensures that the parsing results would be identical.
28949
28950        * loader/cache/CachedCSSStyleSheet.cpp:
28951        (WebCore):
28952        (WebCore::CachedCSSStyleSheet::destroyDecodedData):
28953        (WebCore::CachedCSSStyleSheet::restoreParsedStyleSheet):
28954        (WebCore::CachedCSSStyleSheet::saveParsedStyleSheet):
28955        * loader/cache/CachedCSSStyleSheet.h:
28956        
28957            The parsed stylesheet cache is considered decoded data, similar to the image bitmaps. It uses the
28958            same mechanism for pruning.
28959
28960        (WebCore):
28961        (CachedCSSStyleSheet):
28962
289632012-04-26  Anders Carlsson  <andersca@apple.com>
28964
28965        A TileCache should never outlive its WebTileCacheLayer
28966        https://bugs.webkit.org/show_bug.cgi?id=85008
28967        <rdar://problem/11141172>
28968
28969        Reviewed by Andreas Kling.
28970
28971        Since WebTileCacheLayer objects can be destroyed on the scrolling thread, make sure to delete the TileCache layer
28972        when the PlatformCALayer is destroyed. This fixes a crash when the tile revalidation timer fires after the WebTileCacheLayer has
28973        been destroyed, but before the TileCache itself has been destroyed.
28974
28975        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
28976        (PlatformCALayer::~PlatformCALayer):
28977        * platform/graphics/ca/mac/WebTileCacheLayer.h:
28978        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
28979        (-[WebTileCacheLayer dealloc]):
28980        (-[WebTileCacheLayer invalidate]):
28981
289822012-04-26  Benjamin Poulain  <bpoulain@apple.com>
28983
28984        Use String instead of RefPtr<StringImpl> for the cache of ObjcClass
28985        https://bugs.webkit.org/show_bug.cgi?id=84932
28986
28987        Reviewed by Andreas Kling.
28988
28989        The cache with RefPtr<StringImpl*> was added with r115007.
28990
28991        This patch aims at making the code a little easier to read. By using String,
28992        one would not need to know the Traits for StringImpl.
28993
28994        * bridge/objc/objc_class.h:
28995        (ObjcClass):
28996
289972012-04-26  Kentaro Hara  <haraken@chromium.org>
28998
28999        [V8] Pass Isolate to wrap() in SerializedScriptValue.cpp
29000        https://bugs.webkit.org/show_bug.cgi?id=84923
29001
29002        Reviewed by Nate Chapin.
29003
29004        The objective is to pass Isolate around in V8 bindings.
29005        In this bug we pass Isolate to wrap() in SerializedScriptValue.cpp.
29006
29007        No tests. No change in behavior.
29008
29009        * bindings/v8/SerializedScriptValue.cpp:
29010
290112012-04-26  Hao Zheng  <zhenghao@chromium.org>
29012
29013        [chromium] Complex text support for Android.
29014        https://bugs.webkit.org/show_bug.cgi?id=84431
29015
29016        Complex text support is different on Android from other platforms.
29017        There are 2 kinds of font on Android: system fonts and fallback fonts.
29018        System fonts have a name, and are accessible in FontPlatformData.
29019        Fallback fonts do not have specific names, so they are not accessible
29020        from WebKit directly. There is one font for each script support.
29021        To feed Harfbuzz, use a trick to get correct SkTypeface based on script.
29022
29023        Reviewed by Tony Chang.
29024
29025        No new tests. Current tests are runnable on Android.
29026
29027        * platform/graphics/FontCache.h:
29028        (FontCache): Make ComplexTextController friend of FontCache on Android.
29029        * platform/graphics/chromium/FontCacheAndroid.cpp:
29030        (WebCore::FontCache::createFontPlatformData):
29031        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
29032        (WebCore::ComplexTextController::getComplexFontPlatformData):
29033        (WebCore):
29034        (WebCore::ComplexTextController::setupFontForScriptRun):
29035        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
29036        (ComplexTextController):
29037
290382012-04-26  Kentaro Hara  <haraken@chromium.org>
29039
29040        [V8] Pass Isolate to wrap() (Part2)
29041        https://bugs.webkit.org/show_bug.cgi?id=84922
29042
29043        Reviewed by Nate Chapin.
29044
29045        The objective is to pass Isolate around in V8 bindings.
29046        This patch passes Isolate to wrap() in custom bindings.
29047
29048        No tests. No change in behavior.
29049
29050        * bindings/v8/custom/V8LocationCustom.cpp:
29051        (WebCore::toV8):
29052        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
29053        (WebCore::toV8):
29054        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
29055        (WebCore::toV8):
29056        * bindings/v8/custom/V8StyleSheetCustom.cpp:
29057        (WebCore::toV8):
29058        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
29059        (WebCore::toV8):
29060        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
29061        (WebCore::toV8):
29062        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
29063        (WebCore::toV8):
29064        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
29065        (WebCore::toV8):
29066
290672012-04-26  Jon Lee  <jonlee@apple.com>
29068
29069        [WK2] AlternativeTextClient leaks when the page is destroyed
29070        https://bugs.webkit.org/show_bug.cgi?id=84307
29071        <rdar://problem/11328431>
29072
29073        Reviewed by Enrica Casucci.
29074
29075        * page/AlternativeTextClient.h: Add pageDestroyed() call, as in EditorClient.
29076        (AlternativeTextClient):
29077        * page/Page.cpp:
29078        (WebCore::Page::~Page): When the page is destroyed, notify the client if it exists.
29079
290802012-04-26  Kentaro Hara  <haraken@chromium.org>
29081
29082        [V8] Pass Isolate to wrap() (Part1)
29083        https://bugs.webkit.org/show_bug.cgi?id=84921
29084
29085        Reviewed by Nate Chapin.
29086
29087        The objective is to pass Isolate around in V8 bindings.
29088        This patch passes Isolate to wrap() in custom bindings.
29089
29090        No tests. No change in behavior.
29091
29092        * bindings/v8/custom/V8BlobCustom.cpp:
29093        (WebCore::toV8):
29094        * bindings/v8/custom/V8CSSRuleCustom.cpp:
29095        (WebCore::toV8):
29096        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
29097        (WebCore::toV8):
29098        * bindings/v8/custom/V8CSSValueCustom.cpp:
29099        (WebCore::toV8):
29100        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
29101        (WebCore::toV8):
29102        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
29103        (WebCore::toV8):
29104        * bindings/v8/custom/V8DataViewCustom.cpp:
29105        (WebCore::toV8):
29106        * bindings/v8/custom/V8EventCustom.cpp:
29107        (WebCore::toV8):
29108        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
29109        (WebCore::toV8):
29110        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
29111        (WebCore::toV8):
29112        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
29113        (WebCore::toV8):
29114        * bindings/v8/custom/V8ImageDataCustom.cpp:
29115        (WebCore::toV8):
29116        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
29117        (WebCore::toV8):
29118        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
29119        (WebCore::toV8):
29120        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
29121        (WebCore::toV8):
29122
291232012-04-26  Benjamin Poulain  <bpoulain@apple.com>
29124
29125        ObjcClass::methodsNamed() can leak if buffer is dynamically allocated
29126        https://bugs.webkit.org/show_bug.cgi?id=84668
29127
29128        Reviewed by Alexey Proskuryakov.
29129
29130        Change ObjcClass::methodsNamed() to be based on a vector instead of managing
29131        the memory manually.
29132
29133        Tests: platform/mac/plugins/bindings-objc-long-method-name.html
29134               platform/mac/plugins/bindings-objc-method-name-conversion.html
29135
29136        * bridge/objc/objc_class.mm:
29137        (Bindings):
29138        (JSC::Bindings::convertJSMethodNameToObjc):
29139        (JSC::Bindings::ObjcClass::methodsNamed):
29140
291412012-04-26  Justin Novosad  <junov@chromium.org>
29142
29143        [Chromium] Single buffered canvas layers with the threaded compositor
29144        https://bugs.webkit.org/show_bug.cgi?id=80540
29145
29146        Reviewed by James Robinson.
29147
29148        Tests:
29149        CCLayerTreeHostTestWriteLayersRedraw
29150        CCLayerTreeHostTestWriteLayersAfterVisible
29151        Canvas2DLayerChromiumTest.testFullLifecycleSingleThreadDeferred
29152        Canvas2DLayerChromiumTest.testFullLifecycleThreadDeferred
29153        CCSchedulerTest.VisibilitySwitchWithTextureAcquisition
29154        CCSchedulerTest.TextureAcquisitionCollision
29155
29156        Disable double buffering and rate limiting on accelerated canvas
29157        when the threaded compositor and deferred canvas are enabled.
29158        Concurrent access to the layer texture by the main renderer thread and
29159        the compositor thread is avoided by enforcing a lock. The state of the
29160        lock is maintained by CCSchedulerStateMachine. Write access by the main
29161        thread is acquired through a signal round trip to the compositor thread,
29162        which may block the main thread in the event that one or more committed
29163        layers need to be protected until the compositor completes the requested
29164        draw. Draws on the impl thread are cancelled if the main thread has
29165        obtained write access to the texture.  The write access is relinquished
29166        by the main thread upon commit completion.  The scheduler state machine
29167        is responsible for preventing the texture lock from causing deadlocks by
29168        detecting and resolving problematic states.
29169
29170        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
29171        (WebCore::Canvas2DLayerChromium::create):
29172        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
29173        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
29174        (WebCore::Canvas2DLayerChromium::drawingIntoImplThreadTexture):
29175        (WebCore):
29176        (WebCore::Canvas2DLayerChromium::setTextureId):
29177        (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
29178        (WebCore::Canvas2DLayerChromium::update):
29179        (WebCore::Canvas2DLayerChromium::layerWillDraw):
29180        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
29181        * platform/graphics/chromium/Canvas2DLayerChromium.h:
29182        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
29183        (WebCore::CCLayerTreeHost::acquireLayerTextures):
29184        (WebCore):
29185        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
29186        (CCLayerTreeHost):
29187        * platform/graphics/chromium/cc/CCProxy.h:
29188        (CCProxy):
29189        * platform/graphics/chromium/cc/CCScheduler.cpp:
29190        (WebCore::CCScheduler::setMainThreadNeedsLayerTextures):
29191        (WebCore):
29192        (WebCore::CCScheduler::processScheduledActions):
29193        * platform/graphics/chromium/cc/CCScheduler.h:
29194        (CCSchedulerClient):
29195        (CCScheduler):
29196        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
29197        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
29198        (WebCore::CCSchedulerStateMachine::drawSuspendedUntilCommit):
29199        (WebCore):
29200        (WebCore::CCSchedulerStateMachine::scheduledToDraw):
29201        (WebCore::CCSchedulerStateMachine::shouldDraw):
29202        (WebCore::CCSchedulerStateMachine::shouldAcquireLayerTexturesForMainThread):
29203        (WebCore::CCSchedulerStateMachine::nextAction):
29204        (WebCore::CCSchedulerStateMachine::updateState):
29205        (WebCore::CCSchedulerStateMachine::setMainThreadNeedsLayerTextures):
29206        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
29207        (CCSchedulerStateMachine):
29208        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
29209        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
29210        (WebCore::CCThreadProxy::CCThreadProxy):
29211        (WebCore::CCThreadProxy::beginFrame):
29212        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
29213        (WebCore):
29214        (WebCore::CCThreadProxy::acquireLayerTextures):
29215        (WebCore::CCThreadProxy::acquireLayerTexturesForMainThreadOnImplThread):
29216        (WebCore::CCThreadProxy::scheduledActionAcquireLayerTexturesForMainThread):
29217        * platform/graphics/chromium/cc/CCThreadProxy.h:
29218        (CCThreadProxy):
29219        * platform/graphics/skia/ImageBufferSkia.cpp:
29220        (WebCore):
29221        (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
29222        (WebCore::AcceleratedDeviceContext::prepareForDraw):
29223        (AcceleratedDeviceContext):
29224        (WebCore::createAcceleratedCanvas):
29225        (WebCore::ImageBuffer::context):
29226
292272012-04-26  Kentaro Hara  <haraken@chromium.org>
29228
29229        [V8] Pass Isolate to toV8() in SerializedScriptValue.cpp
29230        https://bugs.webkit.org/show_bug.cgi?id=84918
29231
29232        Reviewed by Nate Chapin.
29233
29234        This is the last step to pass Isolate around in
29235        SerializedScriptValue.cpp. This patch passes Isolate
29236        to toV8().
29237
29238        No tests. No change in behavior.
29239
29240        * bindings/v8/SerializedScriptValue.cpp:
29241
292422012-04-26  Kentaro Hara  <haraken@chromium.org>
29243
29244        [V8] Pass Isolate to wrapSlow()
29245        https://bugs.webkit.org/show_bug.cgi?id=84919
29246
29247        Reviewed by Nate Chapin.
29248
29249        The objective is to pass Isolate around in V8 bindings.
29250        In this bug, we pass Isolate to wrapSlow().
29251
29252        Test: bindings/scripts/test/TestObj.idl etc
29253
29254        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
29255        (GenerateHeader):
29256        (GenerateToV8Converters):
29257
29258        * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests.
29259        (WebCore::V8Float64Array::wrapSlow):
29260        * bindings/scripts/test/V8/V8Float64Array.h:
29261        (V8Float64Array):
29262        (WebCore::V8Float64Array::wrap):
29263        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
29264        (WebCore::V8TestActiveDOMObject::wrapSlow):
29265        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
29266        (V8TestActiveDOMObject):
29267        (WebCore::V8TestActiveDOMObject::wrap):
29268        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
29269        (WebCore::V8TestCustomNamedGetter::wrapSlow):
29270        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
29271        (V8TestCustomNamedGetter):
29272        (WebCore::V8TestCustomNamedGetter::wrap):
29273        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
29274        (WebCore::V8TestEventConstructor::wrapSlow):
29275        * bindings/scripts/test/V8/V8TestEventConstructor.h:
29276        (V8TestEventConstructor):
29277        (WebCore::V8TestEventConstructor::wrap):
29278        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
29279        (WebCore::V8TestEventTarget::wrapSlow):
29280        * bindings/scripts/test/V8/V8TestEventTarget.h:
29281        (V8TestEventTarget):
29282        (WebCore::V8TestEventTarget::wrap):
29283        * bindings/scripts/test/V8/V8TestInterface.cpp:
29284        (WebCore::V8TestInterface::wrapSlow):
29285        * bindings/scripts/test/V8/V8TestInterface.h:
29286        (V8TestInterface):
29287        (WebCore::V8TestInterface::wrap):
29288        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
29289        (WebCore::V8TestMediaQueryListListener::wrapSlow):
29290        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
29291        (V8TestMediaQueryListListener):
29292        (WebCore::V8TestMediaQueryListListener::wrap):
29293        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
29294        (WebCore::V8TestNamedConstructor::wrapSlow):
29295        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
29296        (V8TestNamedConstructor):
29297        (WebCore::V8TestNamedConstructor::wrap):
29298        * bindings/scripts/test/V8/V8TestNode.cpp:
29299        (WebCore::V8TestNode::wrapSlow):
29300        * bindings/scripts/test/V8/V8TestNode.h:
29301        (V8TestNode):
29302        (WebCore::V8TestNode::wrap):
29303        * bindings/scripts/test/V8/V8TestObj.cpp:
29304        (WebCore::V8TestObj::wrapSlow):
29305        * bindings/scripts/test/V8/V8TestObj.h:
29306        (V8TestObj):
29307        (WebCore::V8TestObj::wrap):
29308        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
29309        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
29310        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
29311        (V8TestSerializedScriptValueInterface):
29312        (WebCore::V8TestSerializedScriptValueInterface::wrap):
29313
293142012-04-25  Antonio Gomes  <agomes@rim.com>
29315
29316        Add ScrollAnimatorBlackBerry as an extension to ScrollAnimatorNone
29317        https://bugs.webkit.org/show_bug.cgi?id=84625
29318
29319        Reviewed by Anders Carlsson.
29320
29321        Patch adds ScrollAnimatorBlackBerry class as an extension to of
29322        ScrollAnimatorNone. The main goal here is extending the later to allow
29323        overscrolling while the animation runs.
29324
29325        Once the animation finishes, the flag gets reseted and
29326        ScrollableArea::constrainsScrollingtoContentEdge is set back to the value
29327        it had before, so this method has to be explicitly called anytime it is wanted.
29328
29329        * CMakeLists.txt:
29330        * platform/ScrollAnimator.h:
29331        (WebCore::ScrollAnimator::animationWillStart):
29332        (WebCore::ScrollAnimator::animationDidFinish):
29333        (ScrollAnimator):
29334        * platform/ScrollAnimatorNone.cpp:
29335        (WebCore):
29336        (WebCore::ScrollAnimatorNone::scroll):
29337        (WebCore::ScrollAnimatorNone::animationTimerFired):
29338        * platform/blackberry/ScrollAnimatorBlackBerry.cpp: Added.
29339        (WebCore):
29340        (WebCore::ScrollAnimator::create):
29341        (WebCore::ScrollAnimatorBlackBerry::ScrollAnimatorBlackBerry):
29342        (WebCore::ScrollAnimatorBlackBerry::animationWillStart):
29343        (WebCore::ScrollAnimatorBlackBerry::animationDidFinish):
29344        (WebCore::ScrollAnimatorBlackBerry::setDisableConstrainsScrollingToContentEdgeWhileAnimating):
29345        * platform/blackberry/ScrollAnimatorBlackBerry.h: Added.
29346        (WebCore):
29347        (ScrollAnimatorBlackBerry):
29348
293492012-04-26  Antonio Gomes  <agomes@rim.com>
29350
29351        [BlackBerry] Add smooth_scrolling options to CMAKE and enable it for Blackberry
29352        https://bugs.webkit.org/show_bug.cgi?id=84954
29353
29354        Reviewed by Daniel Bates.
29355
29356        Add the default scroll animator to the build system (ScrollAnimatorNone.cpp)
29357
29358        * CMakeLists.txt:
29359
293602012-04-25  Antonio Gomes  <agomes@rim.com>
29361
29362        Make ScrollView::scrollSize scrollbar-independent
29363        https://bugs.webkit.org/show_bug.cgi?id=84873
29364
29365        Reviewed by Anders Carlsson.
29366
29367        For ports that disable scrollbars creation at FrameView creation time
29368        ScrollView::scrollSize should still return the scrollable ammount of
29369        content (if any) if scrolling is not prohibted.
29370
29371        No new test, but it makes ScrollAnimator work for the BlackBerry port.
29372
29373        * platform/ScrollView.cpp:
29374        (WebCore::ScrollView::scrollSize):
29375
293762012-04-25  Anders Carlsson  <andersca@apple.com>
29377
29378        The tile cache should know if a frame view can ever have scrollbars
29379        https://bugs.webkit.org/show_bug.cgi?id=84888
29380
29381        Reviewed by Andreas Kling.
29382
29383        If a frame view has overflow: hidden on its body element we know that the document will most
29384        likely never be scrolled. The tile cache should know about this so we can optimize.
29385
29386        * page/FrameView.cpp:
29387        (WebCore::FrameView::performPostLayoutTasks):
29388        * platform/graphics/TiledBacking.h:
29389        (TiledBacking):
29390        * platform/graphics/ca/mac/TileCache.h:
29391        (TileCache):
29392        * platform/graphics/ca/mac/TileCache.mm:
29393        (WebCore::TileCache::TileCache):
29394        (WebCore::TileCache::setCanHaveScrollbars):
29395        (WebCore):
29396        * rendering/RenderLayerBacking.cpp:
29397        (WebCore::RenderLayerBacking::RenderLayerBacking):
29398
293992012-04-26  Ken Buchanan  <kenrb@chromium.org>
29400
29401        Crash from removal of line break object after layout
29402        https://bugs.webkit.org/show_bug.cgi?id=75461
29403
29404        Reviewed by David Hyatt.
29405
29406        There is a condition where objects can get removed from underneath
29407        inlines while they represent a line break object in a RootInlineBox
29408        of an ancestor block. If an intermediary inline has already been
29409        marked as needing layout, then the line box will not get dirtied
29410        because dirtyLineFromChangedChild thinks it already has been.
29411
29412        This patch introduces a new set in RenderObject to indicate whether
29413        an ancestral line box corresponding to the current line has been
29414        marked dirty or not. dirtyLinesFromChangedChild() can use this set 
29415        rather than m_selfNeedsLayout, so it will not be confused if a
29416        container was dirtied for some other reason that did not affect the
29417        line box.
29418
29419        * rendering/RenderLineBoxList.cpp:
29420        (WebCore::RenderLineBoxList::dirtyLinesFromChangedChild): Use the new
29421        set rather than m_selfNeedsLayout in the container to determine
29422        whether to continue propagating upward.
29423        * rendering/RenderObject.cpp:
29424        (WebCore::RenderObject::s_ancestorLineboxDirtySet): Instantiate the
29425        static member.
29426        (WebCore::RenderObject::willBeDestroyed): Clears the object from the
29427        linebox set when it is being destroyed.
29428        * rendering/RenderObject.h:
29429        (WebCore::RenderObject::s_ancestorLineboxDirtySet): Added static
29430        member set.
29431        (WebCore::RenderObject::setNeedsLayout): Clears the
29432        object from the linebox set when layout bits are getting cleared.
29433        (WebCore::RenderObject::ancestorLineBoxDirty): Added.
29434        (WebCore::RenderObject::setAncestorLineBoxDirty): Added.
29435
294362012-04-26  Christophe Dumez  <christophe.dumez@intel.com>
29437
29438        [EFL] Enable VIDEO_TRACK feature
29439        https://bugs.webkit.org/show_bug.cgi?id=84830
29440
29441        Reviewed by Gustavo Noronha Silva.
29442
29443        Enable support for VIDEO_TRACK feature by default for EFL port.
29444
29445        * UseJSC.cmake:
29446        * bindings/generic/RuntimeEnabledFeatures.cpp:
29447        (WebCore):
29448
294492012-04-26  Antti Koivisto  <antti@apple.com>
29450
29451        Implement StyleSheetInternal copying
29452        https://bugs.webkit.org/show_bug.cgi?id=84969
29453
29454        Reviewed by Andreas Kling.
29455
29456        We need to be able to copy stylesheets to cache them. Copying is already implement for
29457        most of the stylesheet data types but StyleSheetInternal::copy() is still missing.
29458        
29459        Preparation for stylesheet caching. The copying code is not used yet.
29460
29461        * css/CSSNamespace.h:
29462        
29463            Instead of making it copyable, remove CSSNamespace class.
29464    
29465        * css/CSSParser.cpp:
29466        (WebCore::operator==):
29467        (WebCore):
29468        (WebCore::CSSParser::addNamespace):
29469        
29470            Avoid ping-ponging to StyleSheetInternal and back to set the default namespace.
29471
29472        * css/CSSParserMode.h:
29473        (WebCore):
29474        (WebCore::operator!=):
29475
29476            Add equality comparison operator to CSSParseMode. This will be needed to determine
29477            if a cached copy can be used.
29478            
29479        * css/CSSStyleSheet.cpp:
29480        (WebCore::StyleSheetInternal::StyleSheetInternal):
29481        (WebCore):
29482        (WebCore::StyleSheetInternal::isCacheable):
29483        (WebCore::StyleSheetInternal::parserAddNamespace):
29484        (WebCore::StyleSheetInternal::determineNamespace):
29485        
29486            Use HashMap instead of iterating a linked list of CSSNamespaces.
29487
29488        (WebCore::StyleSheetInternal::styleSheetChanged):
29489        
29490            Add mutation bit.
29491
29492        * css/CSSStyleSheet.h:
29493        (WebCore):
29494        (StyleSheetInternal):
29495        (WebCore::StyleSheetInternal::copy):
29496        
29497            Copy constructor. It only usable for cacheable stylesheets.
29498
294992012-04-26  Philip Rogers  <pdr@google.com>
29500
29501        Fix Skia's SkPathContainsPoint to work with sub-pixel accuracy
29502        https://bugs.webkit.org/show_bug.cgi?id=84117
29503
29504        Reviewed by Eric Seidel.
29505
29506        Because we do hit testing in object-space (i.e., we may see a 0.1px*0.1px path) we
29507        need to support sub-pixel hit testing in Skia. Skia does not provide analytical
29508        path hit testing, so hit tests are done by rasterizing a path and checking if a
29509        specific pixel is drawn. SkPathContainsPoint did not work with sub-pixel values
29510        because this rasterization was sometimes very small which did not give enough
29511        resolution to check if the hit test pixel was drawn.
29512
29513        This patch scales the path to a very large size during hit testing so that Skia's
29514        raster-based hit testing will work properly. Because Skia avoids unnecessary
29515        path rasterization, this is actually inexpensive.
29516
29517        Below is a summary of a performance test on simple and complex paths:
29518                                                 (before patch, after patch)
29519        Skia/Chrome 10,000 hit tests on a simple path:  (229ms, 238ms)
29520        Skia/Chrome 10,000 hit tests on a complex path: (701ms, 704ms)
29521        For comparison, CG/Safari takes 236ms on the simple path and 466ms on the complex path.
29522 
29523        Therefore, this patch introduces small but measurable regression in hit testing
29524        performance due to scaling the path.
29525
29526        Test: svg/hittest/svg-small-path.xhtml
29527
29528        * platform/graphics/skia/SkiaUtils.cpp:
29529        (WebCore::SkPathContainsPoint):
29530
295312012-04-26  Sheriff Bot  <webkit.review.bot@gmail.com>
29532
29533        Unreviewed, rolling out r115323.
29534        http://trac.webkit.org/changeset/115323
29535        https://bugs.webkit.org/show_bug.cgi?id=84975
29536
29537        Bad test, breaks all builds (Requested by apavlov1 on
29538        #webkit).
29539
29540        * inspector/Inspector.json:
29541        * inspector/InspectorPageAgent.cpp:
29542        (WebCore::InspectorPageAgent::enable):
29543        (WebCore::InspectorPageAgent::disable):
29544        * inspector/InspectorPageAgent.h:
29545        * inspector/front-end/Settings.js:
29546        * inspector/front-end/SettingsScreen.js:
29547        (WebInspector.SettingsScreen):
29548        * inspector/front-end/inspector.js:
29549
295502012-04-26  Douglas Stockwell  <dstockwell@chromium.org>
29551
29552        IndexedDB: cursor does not correctly iterate over keys added and removed during iteration
29553        https://bugs.webkit.org/show_bug.cgi?id=84467
29554
29555        Reviewed by Ojan Vafai.
29556
29557        Ensure that the iterator over the tree of cached adds/removes always points at
29558        the current key, or if the db iterator is current, the next key:
29559        
29560        - When refreshing the tree iterator after a mutation, always seek unless the
29561        tree iterator is current.
29562        
29563        - When handing conflicts and delete markers, only advance the tree iterator as
29564        far as the db iterator.
29565        
29566        Remove the expensive (and now redundant) logic that issued a get() to check
29567        whether an item had been deleted.
29568
29569        Test: storage/indexeddb/cursor-added-bug.html
29570
29571        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
29572        (WebCore):
29573        * platform/leveldb/LevelDBTransaction.cpp:
29574        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
29575        (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
29576
295772012-04-26  Alexander Pavlov  <apavlov@chromium.org>
29578
29579        Web Inspector: Implement the "Disable JavaScript" option in the settings dialog
29580        https://bugs.webkit.org/show_bug.cgi?id=84946
29581
29582        Based on user actions in the Inspector frontend, InspectorPageAgent invokes Settings::setScriptEnabled()
29583        for the associated page to switch the script execution therein.
29584
29585        Reviewed by Yury Semikhatsky.
29586
29587        Test: inspector/debugger/disable-script.html
29588
29589        * inspector/Inspector.json:
29590        * inspector/InspectorPageAgent.cpp:
29591        (PageAgentState):
29592        (WebCore::InspectorPageAgent::enable):
29593        (WebCore::InspectorPageAgent::disable):
29594        (WebCore::InspectorPageAgent::getScriptExecutionStatus):
29595        (WebCore):
29596        (WebCore::InspectorPageAgent::setScriptExecutionDisabled):
29597        * inspector/InspectorPageAgent.h:
29598        * inspector/front-end/Settings.js:
29599        * inspector/front-end/SettingsScreen.js:
29600        (WebInspector.SettingsScreen):
29601        (WebInspector.SettingsScreen.prototype.get _updateScriptDisabledCheckbox):
29602        (WebInspector.SettingsScreen.prototype._javaScriptDisabledChanged):
29603        * inspector/front-end/inspector.js:
29604
296052012-04-26  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
29606
29607        [cairo] CairoGraphicsContext fillRect (with Color) overrides composite operator
29608        https://bugs.webkit.org/show_bug.cgi?id=84848
29609
29610        Reviewed by Martin Robinson.
29611
29612        FillRectWithColor used to be called fillRectSourceOver before r89314
29613        where this operator still made sense. The way this function is used
29614        these days doesn't expect the composite operator to be overridden anymore.
29615
29616        No new tests, covered by existing tests, e.g.
29617        svg/filters/feDropShadow.svg
29618
29619        * platform/graphics/cairo/GraphicsContextCairo.cpp:
29620        (WebCore::fillRectWithColor):
29621
296222012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>
29623
29624        Fix additive by animations for most SMIL list types
29625        https://bugs.webkit.org/show_bug.cgi?id=84968
29626
29627        Reviewed by Antti Koivisto.
29628
29629        Unify SMIL list animation code, to correctly respect the underlying from value for by-animations.
29630        Add lots of new tests covering by-animations for all primitives (except AnimatedPath/TransformList).
29631        AnimatedTransformList is not working correctly yet, and will be covered in a follow-up patch.
29632        AnimatdPath by-animations are complex, and thus also handled in another follow-up patch.
29633
29634        Tests: svg/animations/additive-type-by-animation.html
29635               svg/animations/length-list-animation-expected.svg
29636               svg/animations/length-list-animation.svg
29637               svg/animations/svglength-additive-by-1.html
29638               svg/animations/svglength-additive-by-2.html
29639               svg/animations/svglength-additive-by-3.html
29640               svg/animations/svglength-additive-by-4.html
29641               svg/animations/svglength-additive-by-5.html
29642               svg/animations/svglength-additive-by-6.html
29643               svg/animations/svglength-additive-from-by-1.html
29644               svg/animations/svglength-additive-from-by-2.html
29645               svg/animations/svglength-additive-from-by-3.html
29646               svg/animations/svglength-additive-from-by-4.html
29647
29648        * svg/SVGAnimatedLengthList.cpp:
29649        (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
29650        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
29651        * svg/SVGAnimatedNumberList.cpp:
29652        (WebCore::SVGAnimatedNumberListAnimator::addAnimatedTypes):
29653        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
29654        * svg/SVGAnimatedPointList.cpp:
29655        (WebCore::SVGAnimatedPointListAnimator::addAnimatedTypes):
29656        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
29657        * svg/SVGAnimationElement.h:
29658        (WebCore::SVGAnimationElement::adjustFromToListValues):
29659
296602012-04-26  Antti Koivisto  <antti@apple.com>
29661
29662        Add copy constructor to CSSSelector
29663        https://bugs.webkit.org/show_bug.cgi?id=84956
29664
29665        Reviewed by Anders Carlsson.
29666
29667        To copy CSSSelectorLists correctly CSSSelector needs a copy constructor.
29668        
29669        This will be needed to implement stylesheet caching. The code is not used yet.
29670
29671        * css/CSSSelector.cpp:
29672        (WebCore::CSSSelector::createRareData):
29673        * css/CSSSelector.h:
29674        (CSSSelector):
29675        (WebCore::CSSSelector::RareData::create):
29676        (RareData):
29677        
29678            Refcount RareData to make copying easier. This has no significant memory impact, rare data is rare.
29679
29680        (WebCore::CSSSelector::CSSSelector):
29681        (WebCore):
29682        (WebCore::CSSSelector::~CSSSelector):
29683        * css/CSSSelectorList.cpp:
29684        (WebCore::CSSSelectorList::CSSSelectorList):
29685        
29686            Use copy constructor instead of memcpy (which doesn't work).
29687
296882012-04-26  Raphael Kubo da Costa  <rakuco@webkit.org>
29689
29690        [EFL] Fix the build with DRAG_SUPPORT disabled.
29691        https://bugs.webkit.org/show_bug.cgi?id=84963
29692
29693        Reviewed by Antonio Gomes.
29694
29695        No new tests, build system-related change.
29696
29697        EventHandlerEfl.cpp always assumed DRAG_SUPPORT was enabled and lacked
29698        the proper #if ENABLED() checks for some member variables and methods
29699        conditionally defined in EventHandler.h.
29700
29701        * page/efl/EventHandlerEfl.cpp:
29702        (WebCore):
29703
297042012-04-26  Pavel Feldman  <pfeldman@chromium.org>
29705
29706        Web Inspector: remove stackTrace property from requestWillBeSent - it is already a part of the initiator.
29707        https://bugs.webkit.org/show_bug.cgi?id=84964
29708
29709        Reviewed by Yury Semikhatsky.
29710
29711        * inspector/InspectorResourceAgent.cpp:
29712        (WebCore::InspectorResourceAgent::willSendRequest):
29713        * inspector/front-end/ConsoleMessage.js:
29714        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
29715        * inspector/front-end/NetworkManager.js:
29716        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
29717        (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
29718        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
29719        (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
29720        (get WebInspector):
29721
297222012-04-26  Stephen Chenney  <schenney@chromium.org>
29723
29724        SVG FEConvolveMatrix does not check for invalid property values
29725        https://bugs.webkit.org/show_bug.cgi?id=84363
29726
29727        Reviewed by Dirk Schulze.
29728
29729        Adding code to check for valid input values on SVG feConvolveMatrix properties.
29730        And adding some of the first effective error reporting for SVG elements.
29731
29732        Tests: svg/filters/feConvolveMatrix-invalid-targetX-expected.svg
29733               svg/filters/feConvolveMatrix-invalid-targetX.svg
29734               svg/filters/feConvolveMatrix-invalid-targetY-expected.svg
29735               svg/filters/feConvolveMatrix-invalid-targetY.svg
29736               svg/filters/feConvolveMatrix-negative-kernelUnitLengthX-expected.svg
29737               svg/filters/feConvolveMatrix-negative-kernelUnitLengthX.svg
29738               svg/filters/feConvolveMatrix-negative-kernelUnitLengthY-expected.svg
29739               svg/filters/feConvolveMatrix-negative-kernelUnitLengthY.svg
29740               svg/filters/feConvolveMatrix-negative-orderX-expected.svg
29741               svg/filters/feConvolveMatrix-negative-orderX.svg
29742               svg/filters/feConvolveMatrix-negative-orderY-expected.svg
29743               svg/filters/feConvolveMatrix-negative-orderY.svg
29744               svg/filters/feConvolveMatrix-non-integral-order-expected.svg
29745               svg/filters/feConvolveMatrix-non-integral-order.svg
29746               svg/filters/feConvolveMatrix-zero-divisor-expected.svg
29747               svg/filters/feConvolveMatrix-zero-divisor.svg
29748
29749        * platform/graphics/filters/FEConvolveMatrix.cpp:
29750        (WebCore::FEConvolveMatrix::FEConvolveMatrix):
29751        (WebCore::FEConvolveMatrix::setKernelSize):
29752        (WebCore::FEConvolveMatrix::setDivisor):
29753        (WebCore::FEConvolveMatrix::setKernelUnitLength):
29754        * svg/SVGFEConvolveMatrixElement.cpp:
29755        (WebCore::SVGFEConvolveMatrixElement::parseAttribute):
29756        (WebCore::SVGFEConvolveMatrixElement::build):
29757
297582012-04-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
29759
29760        Move WebKit1 specific conversion of touch-events to WebKit1.
29761        https://bugs.webkit.org/show_bug.cgi?id=84951
29762
29763        Reviewed by Kenneth Rohde Christiansen.
29764
29765        No change in functionality. No new tests. 
29766
29767        * Target.pri:
29768        * platform/PlatformTouchEvent.h:
29769        (PlatformTouchEvent):
29770        * platform/PlatformTouchPoint.h:
29771        (PlatformTouchPoint):
29772        * platform/qt/PlatformTouchEventQt.cpp: Removed.
29773        * platform/qt/PlatformTouchPointQt.cpp: Removed.
29774
297752012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>
29776
29777        Share code used to animate numbers types between all animators
29778        https://bugs.webkit.org/show_bug.cgi?id=84945
29779
29780        Reviewed by Antti Koivisto.
29781
29782        Refactor animateAdditiveNumber() from SVGAnimatedNumberAnimator into SVGAnimationElement,
29783        to reuse it for all primitives. Converted most primitives to use the new code. Lists, paths,
29784        colors are still todo.
29785
29786        Doesn't affect any tests.
29787
29788        * svg/SVGAnimatedAngle.cpp:
29789        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
29790        * svg/SVGAnimatedInteger.cpp:
29791        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
29792        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
29793        * svg/SVGAnimatedInteger.h:
29794        (SVGAnimatedIntegerAnimator):
29795        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
29796        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
29797        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
29798        * svg/SVGAnimatedLength.cpp:
29799        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
29800        * svg/SVGAnimatedLengthList.cpp:
29801        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
29802        * svg/SVGAnimatedNumber.cpp:
29803        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
29804        * svg/SVGAnimatedNumber.h:
29805        * svg/SVGAnimatedNumberList.cpp:
29806        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
29807        * svg/SVGAnimatedNumberOptionalNumber.cpp:
29808        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
29809        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
29810        * svg/SVGAnimatedNumberOptionalNumber.h:
29811        * svg/SVGAnimatedRect.cpp:
29812        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
29813        * svg/SVGAnimationElement.h:
29814        (WebCore::SVGAnimationElement::animateAdditiveNumber):
29815        (SVGAnimationElement):
29816
298172012-04-26  Ryosuke Niwa  <rniwa@webkit.org>
29818
29819        Forgotten build fix after r115227.
29820
29821        * css/StylePropertySet.cpp:
29822        (WebCore::StylePropertySet::get4Values):
29823
298242012-04-26  Mihnea Ovidenie  <mihnea@adobe.com>
29825
29826        Crash when collecting svg symbol element in named flow.
29827        https://bugs.webkit.org/show_bug.cgi?id=84493
29828
29829        Reviewed by David Hyatt.
29830
29831        Test: fast/regions/symbol-in-named-flow-crash.svg
29832
29833        * dom/Element.cpp:
29834        (WebCore::Element::~Element):
29835        Add an assert that an element that was collected into a named flow was already removed at this point
29836        (when the document is not in the process of destruction)
29837        (WebCore::Element::unregisterNamedFlowContentNode):
29838        Created a new function for unregistering a content node. In the future, this function may be used for
29839        content nodes from shadow dom.
29840        (WebCore::Element::detach):
29841        * dom/Element.h:
29842        (Element):
29843        * dom/NodeRenderingContext.cpp:
29844        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
29845        Prevent elements that are part of shadow dom to be collected into a named flow.
29846
298472012-04-26  Nikolas Zimmermann  <nzimmermann@rim.com>
29848
29849        Share code used to animate discrete types between all animators
29850        https://bugs.webkit.org/show_bug.cgi?id=84853
29851
29852        Reviewed by Andreas Kling.
29853
29854        Share by-animation handling for non-additive types in a central method in SVGAnimatedTypeAnimator,
29855        to be reusable by SVGAnimatedBoolean/Enumeration/PreserveAspectRatio/String. Add a new test covering
29856        these animations have no effect.
29857
29858        Test: svg/animations/non-additive-type-by-animation.html
29859
29860        * svg/SVGAnimateElement.cpp:
29861        (WebCore::SVGAnimateElement::calculateFromAndByValues):
29862        (WebCore::SVGAnimateElement::isAdditive):
29863        * svg/SVGAnimateElement.h:
29864        (SVGAnimateElement):
29865        * svg/SVGAnimateMotionElement.cpp:
29866        (WebCore::SVGAnimateMotionElement::calculateFromAndByValues):
29867        * svg/SVGAnimatedBoolean.cpp:
29868        (WebCore::isTrueString):
29869        (WebCore::SVGAnimatedBooleanAnimator::constructFromString):
29870        (WebCore::SVGAnimatedBooleanAnimator::addAnimatedTypes):
29871        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
29872        * svg/SVGAnimatedEnumeration.cpp:
29873        (WebCore::SVGAnimatedEnumerationAnimator::addAnimatedTypes):
29874        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
29875        * svg/SVGAnimatedPreserveAspectRatio.cpp:
29876        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::addAnimatedTypes):
29877        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
29878        * svg/SVGAnimatedString.cpp:
29879        (WebCore::SVGAnimatedStringAnimator::addAnimatedTypes):
29880        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
29881        * svg/SVGAnimationElement.cpp:
29882        (WebCore::SVGAnimationElement::startedActiveInterval):
29883        * svg/SVGAnimationElement.h:
29884        (SVGAnimationElement):
29885        (WebCore::SVGAnimationElement::animateDiscreteType):
29886
298872012-04-26  Chris Fleizach2  <cfleizach@apple.com>
29888
29889        CrashTracer: [USER] 157 crashes in WebProcess at com.apple.WebCore: WebCore::AccessibilityRenderObject::isAttachment const + 29
29890        https://bugs.webkit.org/show_bug.cgi?id=84463
29891
29892        Reviewed by Darin Adler.
29893
29894        Accessibility was not being enabled when WK2 was asking only for the focused UI element.
29895
29896        No layout test could be written because the WKTestRunner mechanism works differently when asking for this.
29897
29898        * accessibility/AXObjectCache.cpp:
29899        (WebCore::AXObjectCache::focusedUIElementForPage):
29900        (WebCore::AXObjectCache::rootObject):
29901        (WebCore::AXObjectCache::rootObjectForFrame):
29902
299032012-04-25  Dana Jansens  <danakj@chromium.org>
29904
29905        [chromium] Remove guarded virtual methods from WebFilterOperation API
29906        https://bugs.webkit.org/show_bug.cgi?id=84926
29907
29908        Reviewed by James Robinson.
29909
29910        * WebCore.gypi:
29911        * platform/chromium/support/WebFilterOperation.cpp: Removed.
29912        * platform/chromium/support/WebFilterOperations.cpp:
29913        (WebKit::WebFilterOperations::append):
29914
299152012-04-25  Benjamin Poulain  <benjamin@webkit.org>
29916
29917        Add a version of StringImpl::find() without offset
29918        https://bugs.webkit.org/show_bug.cgi?id=83968
29919
29920        Reviewed by Sam Weinig.
29921
29922        Remove the zero offset of the find() functions on strings.
29923
29924        * html/parser/XSSAuditor.cpp:
29925        (WebCore::XSSAuditor::init):
29926        * platform/network/ResourceResponseBase.cpp:
29927        (WebCore::trimToNextSeparator):
29928        (WebCore::parseCacheHeader):
29929
299302012-04-25  Mark Hahnenberg  <mhahnenberg@apple.com>
29931
29932        WebCore shouldn't call collectAllGarbage directly
29933        https://bugs.webkit.org/show_bug.cgi?id=84897
29934
29935        Reviewed by Geoffrey Garen.
29936
29937        No new tests. 
29938
29939        Currently, GCController calls Heap::collectAllGarbage directly, which leads 
29940        to an overload of collections as the timer in GCController and the timer in 
29941        GCActivityCallback compete for collection time and fire independently. As a 
29942        result, we end up doing almost 600 full collections during an in-browser run 
29943        of SunSpider, or 20 full collections on a single load of TechCrunch. 
29944
29945        We can do better by preventing WebCore from calling collectAllGarbage directly 
29946        and instead going through Heap::reportAbandonedObjectGraph, since that is what 
29947        WebCore is trying to do--notify the Heap that a lot of garbage may have just 
29948        been generated when we left a page.
29949
29950        * WebCore.exp.in:
29951        * bindings/js/GCController.cpp: Removed all timer stuff.
29952        (WebCore::GCController::GCController):
29953        (WebCore::GCController::garbageCollectSoon): Changed to call Heap::reportAbandonedObjectGraph.
29954        (WebCore::GCController::garbageCollectNow): Changed to still directly call collectAllGarbage.
29955        We will deprecate this function soon hopefully.
29956        * bindings/js/GCController.h: Removed timer stuff.
29957        (GCController):
29958        * bindings/js/ScriptProfiler.cpp:
29959        (WebCore::ScriptProfiler::collectGarbage): Changed to call garbageCollectSoon.
29960
299612012-04-25  James Robinson  <jamesr@chromium.org>
29962
29963        [chromium] REGRESSION(112286) Compositor initialization blocks for program compilation / linking
29964        https://bugs.webkit.org/show_bug.cgi?id=84822
29965
29966        Reviewed by Adrienne Walker.
29967
29968        r112286 introduced a subtle regression in the chromium compositor startup sequence - by querying the texture
29969        copy program's uniform location at the end of LayerRendererChromium::initialize(), the compositor's thread was
29970        blocked until the service side compiled _all_ eagerly initialized shaders. The intent of the way the compositor
29971        programs are created is that a set of commonly-used programs are sent to the service side, but no blocking calls
29972        are made until after we go through the first paint (with the hope that the service side will complete the
29973        compilation by then).
29974
29975        Fixed by moving program initialization (which also grabs uniform locations) until the first actual use of the
29976        copier. It may be worth deferring the program initialization completely if it's not used very often.
29977
29978        Added unit test in LayerRendererChromiumTests to make sure LRC initialization does not make any
29979        synchronous calls (like getUniformLocation()).
29980
29981        * platform/graphics/chromium/TextureCopier.cpp:
29982        (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
29983        (WebCore::AcceleratedTextureCopier::copyTexture):
29984
299852012-04-25  Jason Liu  <jason.liu@torchmobile.com.cn>
29986
29987        [BlackBerry] Authenticated proxy isn't working.
29988        https://bugs.webkit.org/show_bug.cgi?id=84579
29989
29990        Reviewed by Antonio Gomes.
29991
29992        We should try to get username and password from WiFi advanced configuration first
29993        when 407 is received.
29994
29995        No new tests. This is covered by existing http tests when proxy's username and password
29996        are configured for WiFi.
29997
29998        * platform/network/blackberry/NetworkJob.cpp:
29999        (WebCore::NetworkJob::sendRequestWithCredentials):
30000
300012012-04-25  Alec Flett  <alecflett@chromium.org>
30002
30003        IndexedDB: implement cursor.advance()
30004        https://bugs.webkit.org/show_bug.cgi?id=84174
30005
30006        Reviewed by Ojan Vafai.
30007
30008        Implement IDBCursor.advance() to spec.
30009
30010        Test: storage/indexeddb/cursor-advance.html
30011
30012        * Modules/indexeddb/IDBBackingStore.h:
30013        * Modules/indexeddb/IDBCursor.cpp:
30014        (WebCore::IDBCursor::advance):
30015        (WebCore):
30016        * Modules/indexeddb/IDBCursor.h:
30017        (IDBCursor):
30018        * Modules/indexeddb/IDBCursor.idl:
30019        * Modules/indexeddb/IDBCursorBackendImpl.cpp:
30020        (WebCore::IDBCursorBackendImpl::advance):
30021        (WebCore):
30022        (WebCore::IDBCursorBackendImpl::advanceInternal):
30023        * Modules/indexeddb/IDBCursorBackendImpl.h:
30024        (IDBCursorBackendImpl):
30025        * Modules/indexeddb/IDBCursorBackendInterface.h:
30026        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
30027        (WebCore):
30028
300292012-04-24  Adrienne Walker  <enne@google.com>
30030
30031        [chromium] Hold video provider lock from willDraw to didDraw
30032        https://bugs.webkit.org/show_bug.cgi?id=84805
30033
30034        Reviewed by James Robinson.
30035
30036        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
30037        (WebCore::CCVideoLayerImpl::willDraw):
30038        (WebCore):
30039        (WebCore::CCVideoLayerImpl::willDrawInternal):
30040        (WebCore::CCVideoLayerImpl::appendQuads):
30041        (WebCore::CCVideoLayerImpl::didDraw):
30042        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
30043
300442012-04-25  Adrienne Walker  <enne@google.com>
30045
30046        [chromium] Prevent CCLayerImpl::willDraw/didDraw mismatches
30047        https://bugs.webkit.org/show_bug.cgi?id=84812
30048
30049        Reviewed by James Robinson.
30050
30051        Because some layers lock/unlock resources, it needs to be guaranteed
30052        that if willDraw is called on a layer then didDraw will also be called
30053        on that layer before another willDraw or before layer destruction. Add
30054        asserts to make sure that this is the case.
30055
30056        willDraw is called via CCLayerTreeHostImpl::prepareToDraw ->
30057        calculateRenderPasses. didDraw was previously called in
30058        CCLayerTreeHostImpl::drawLayers. Sometimes drawLayers was being
30059        skipped by the caller of these functions based on what prepareToDraw
30060        returned (causing didDraw to not be called). Fix this by having an
30061        explicit step to call didDraw on all layers. This new didDrawAllLayers
30062        function must be called if and only if prepareToDraw is called.
30063
30064        Tested by existing tests via new asserts in CCLayerImpl.
30065
30066        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
30067        (WebCore::CCLayerImpl::CCLayerImpl):
30068        (WebCore::CCLayerImpl::~CCLayerImpl):
30069        (WebCore::CCLayerImpl::willDraw):
30070        (WebCore):
30071        (WebCore::CCLayerImpl::didDraw):
30072        * platform/graphics/chromium/cc/CCLayerImpl.h:
30073        (CCLayerImpl):
30074        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
30075        (WebCore::CCLayerTreeHostImpl::drawLayers):
30076        (WebCore::CCLayerTreeHostImpl::didDrawAllLayers):
30077        (WebCore):
30078        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
30079        (CCLayerTreeHostImpl):
30080        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
30081        (WebCore::CCScrollbarLayerImpl::willDraw):
30082        (WebCore::CCScrollbarLayerImpl::didDraw):
30083        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
30084        (WebCore::CCSingleThreadProxy::doComposite):
30085        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
30086        (WebCore::CCTextureLayerImpl::willDraw):
30087        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
30088        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
30089        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
30090        (WebCore::CCVideoLayerImpl::willDraw):
30091        (WebCore::CCVideoLayerImpl::didDraw):
30092
300932012-04-24  Kent Tamura  <tkent@chromium.org>
30094
30095        Calendar Picker: Resize to minimal size to fit the content
30096        https://bugs.webkit.org/show_bug.cgi?id=84826
30097
30098        Reviewed by Hajime Morita.
30099
30100        Using fixed-size popup isn't nice. The calender picker popup size should
30101        be minimal.
30102
30103        The minimal size depends on font settings, localized labels, and
30104        localized formats. So we put visible objects on a transparent element,
30105        calculate minimal size, resize the popup, then show the objects.
30106
30107        * Resources/calendarPicker.css:
30108        (body): Don't use purple. It was for debugging purpose.
30109        The body is visible for a short period becuse we use transparent element.
30110        (#main):
30111         - Add nowrap to avoid text wrapping.
30112         - Add wider width to avoid wrapping.
30113         - Add opacity to hide incomplete layout.
30114        (.year-month-upper): Don't set flexible box yet.
30115        (.month-selector-box): Fix incorrect display value.
30116        (.days-area):
30117        Don't set table-layout:fixed and width:100% in order that it has the
30118        minimal width.
30119
30120        * Resources/calendarPicker.js:
30121        (initialize): Make a new functio to resize.
30122        (fixWindowSize):
30123        Compute the required width from the right edge of the next year button,
30124        the maximum cell width, and so on.  Then, set CSS properties to have
30125        correct layout.
30126        (YearMonthController.prototype.attachTo):
30127        Set min-width property for a long year-month string.
30128        (YearMonthController.prototype._showPopup):
30129        Center the _monthPopup vertically.
30130
30131        * html/shadow/CalendarPickerElement.cpp:
30132        (WebCore::CalendarPickerElement::contentSize):
30133        Specify small size for the initial size. It's better than showing a
30134        large window then shrink the size.
30135        * page/PagePopupClient.h:
30136        (PagePopupClient): Remove a false comment. We should support resize*().
30137
301382012-04-25  Kent Tamura  <tkent@chromium.org>
30139
30140        Unreviewed. Sort Xcode project file.
30141
30142        * WebCore.xcodeproj/project.pbxproj:
30143
301442012-04-25  Alpha Lam  <hclam@chromium.org>
30145
30146        Unreviewed, rolling out r115260.
30147        http://trac.webkit.org/changeset/115260
30148        https://bugs.webkit.org/show_bug.cgi?id=84467
30149
30150        r115260 is crashing a list of IndexDB tests, revert.
30151
30152        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
30153        (WebCore):
30154        * platform/leveldb/LevelDBTransaction.cpp:
30155        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
30156        (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
30157        * platform/leveldb/LevelDBTransaction.h:
30158        (TransactionIterator):
30159
301602012-04-25  James Simonsen  <simonjam@chromium.org>
30161
30162        [Web Timing] Add a vendor-prefixed Performance Timeline API
30163        https://bugs.webkit.org/show_bug.cgi?id=80350
30164
30165        As described here: http://dvcs.w3.org/hg/webperf/raw-file/tip/specs/PerformanceTimeline/Overview.html
30166
30167        The API is there and should be correct, but it isn't particularly useful,
30168        because nothing is populated. Upcoming changes will add Navigation Timing
30169        and Resource Timing.
30170
30171        Reviewed by Tony Gentilcore.
30172
30173        No new tests. Functionality is disabled on all platforms.
30174
30175        * CMakeLists.txt: Added PerformanceEntry* files.
30176        * DerivedSources.pri: Ditto.
30177        * GNUmakefile.list.am: Ditto.
30178        * WebCore.gypi: Ditto.
30179        * WebCore.vcproj/WebCore.vcproj: Ditto.
30180        * WebCore.xcodeproj/project.pbxproj: Ditto.
30181        * page/Performance.cpp:
30182        (WebCore::Performance::webkitGetEntries): Added.
30183        (WebCore::Performance::webkitGetEntriesByType): Added.
30184        (WebCore::Performance::webkitGetEntriesByName): Added.
30185        * page/Performance.h:
30186        (Performance):
30187        * page/Performance.idl:
30188        * page/PerformanceEntry.cpp: Added.
30189        (WebCore):
30190        (WebCore::PerformanceEntry::PerformanceEntry):
30191        (WebCore::PerformanceEntry::name):
30192        (WebCore::PerformanceEntry::entryType):
30193        (WebCore::PerformanceEntry::startTime):
30194        (WebCore::PerformanceEntry::duration):
30195        * page/PerformanceEntry.h: Added.
30196        (WebCore):
30197        (PerformanceEntry):
30198        * page/PerformanceEntry.idl: Added.
30199        * page/PerformanceEntryList.cpp: Added.
30200        (WebCore):
30201        (WebCore::PerformanceEntryList::PerformanceEntryList):
30202        (WebCore::PerformanceEntryList::~PerformanceEntryList):
30203        (WebCore::PerformanceEntryList::length):
30204        (WebCore::PerformanceEntryList::item):
30205        (WebCore::PerformanceEntryList::append):
30206        * page/PerformanceEntryList.h: Added.
30207        (WebCore):
30208        (PerformanceEntryList):
30209        (WebCore::PerformanceEntryList::create):
30210        * page/PerformanceEntryList.idl: Added.
30211
302122012-04-25  Benjamin Poulain  <bpoulain@apple.com>
30213
30214        Move convertJSMethodNameToObjc() to be a utility function of ObjcClass
30215        https://bugs.webkit.org/show_bug.cgi?id=84915
30216
30217        Reviewed by Darin Adler.
30218
30219        The function convertJSMethodNameToObjc() is only useful for ObjcClass::methodsNamed().
30220
30221        This patch moves the function from objc_utility.mm to be a static function in objc_class.mm.
30222        It aims at simplifying the code for future changes of ObjcClass.
30223
30224        * bridge/objc/objc_class.mm:
30225        (Bindings):
30226        (JSC::Bindings::convertJSMethodNameToObjc):
30227        * bridge/objc/objc_utility.h:
30228        * bridge/objc/objc_utility.mm:
30229        (Bindings):
30230
302312012-04-25  Kent Tamura  <tkent@chromium.org>
30232
30233        Unreviewed. Sort Xcode project file.
30234
30235        * WebCore.xcodeproj/project.pbxproj:
30236
302372012-04-25  Greg Billock  <gbillock@google.com>
30238
30239        Implement object-literal constructor for the Intent object.
30240        https://bugs.webkit.org/show_bug.cgi?id=84220
30241
30242        Reviewed by Kentaro Hara.
30243
30244        The use of the custom constructor will hopefully be temporary, as we plan
30245        to convert to just using the object literal constructor, which can then use codegen.
30246        See spec: http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
30247
30248        Added support for the service and extras parameters in the Intent
30249        object to support the speced members in the object literal constructor.
30250
30251        Added supporting accessor to Dictionary to retrieve a sub-Dictionary,
30252        and a utility to ScriptValue to serialize with ports.
30253
30254        Test: webintents/web-intent-obj-constructor.html
30255
30256        (WebCore):
30257        * Modules/intents/Intent.cpp:
30258        (WebCore::Intent::create):
30259        (WebCore::Intent::Intent):
30260        (WebCore::Intent::service):
30261        (WebCore):
30262        (WebCore::Intent::extras):
30263        * Modules/intents/Intent.h:
30264        (WebCore):
30265        (Intent):
30266        * Modules/intents/Intent.idl:
30267        * WebCore.gypi:
30268        * bindings/v8/Dictionary.cpp:
30269        (WebCore::Dictionary::get):
30270        (WebCore):
30271        * bindings/v8/Dictionary.h:
30272        (Dictionary):
30273        * bindings/v8/ScriptValue.cpp:
30274        (WebCore::ScriptValue::serialize):
30275        (WebCore):
30276        * bindings/v8/ScriptValue.h:
30277        (WTF):
30278        (WebCore):
30279        (ScriptValue):
30280        * bindings/v8/custom/V8IntentConstructor.cpp: Added.
30281        (WebCore):
30282        (WebCore::V8Intent::constructorCallback):
30283
302842012-04-25  Alexandru Chiculita  <achicu@adobe.com>
30285
30286        CSS Shaders: Use u_texture instead of s_texture. It was updated in the spec
30287        https://bugs.webkit.org/show_bug.cgi?id=82618
30288
30289        Reviewed by Dean Jackson.
30290        
30291        Changed the uniform name passed to the CSS Shaders from s_texture to u_texture.
30292        https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html
30293
30294        No new tests, just updating existing ones.
30295
30296        * platform/graphics/filters/CustomFilterShader.cpp:
30297        (WebCore::CustomFilterShader::defaultFragmentShaderString):
30298        (WebCore::CustomFilterShader::initializeParameterLocations):
30299
303002012-04-25  Douglas Stockwell  <dstockwell@chromium.org>
30301
30302        IndexedDB: cursor does not correctly iterate over keys added and removed during iteration
30303        https://bugs.webkit.org/show_bug.cgi?id=84467
30304
30305        Reviewed by Ojan Vafai.
30306
30307        Ensure that the iterator over the tree of cached adds/removes always points at
30308        the current key, or if the db iterator is current, the next key:
30309        
30310        - When refreshing the tree iterator after a mutation, always seek unless the
30311        tree iterator is current.
30312        
30313        - When handing conflicts and delete markers, only advance the tree iterator as
30314        far as the db iterator.
30315        
30316        Remove the expensive (and now redundant) logic that issued a get() to check
30317        whether an item had been deleted.
30318
30319        Test: storage/indexeddb/cursor-added-bug.html
30320
30321        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
30322        (WebCore):
30323        * platform/leveldb/LevelDBTransaction.cpp:
30324        (WebCore::LevelDBTransaction::TransactionIterator::refreshTreeIterator):
30325        (WebCore::LevelDBTransaction::TransactionIterator::handleConflictsAndDeletes):
30326
303272012-04-25  Antti Koivisto  <antti@apple.com>
30328
30329        Try to fix build with STYLE_SCOPED enabled.
30330
30331        Not reviewed.
30332
30333        * css/StyleResolver.cpp:
30334        (WebCore::StyleResolver::determineScope):
30335
303362012-04-25  Alec Flett  <alecflett@chromium.org>
30337
30338        IndexedDB: support openCursor(IDBKey)
30339        https://bugs.webkit.org/show_bug.cgi?id=84652
30340
30341        Reviewed by Ojan Vafai.
30342
30343        Add signatures for openCursor/openKeyCursor(IDBKey).
30344
30345        Test: storage/indexeddb/opencursor-key.html
30346
30347        * Modules/indexeddb/IDBIndex.cpp:
30348        (WebCore::IDBIndex::openCursor):
30349        (WebCore):
30350        (WebCore::IDBIndex::openKeyCursor):
30351        * Modules/indexeddb/IDBIndex.h:
30352        (WebCore::IDBIndex::openCursor):
30353        (IDBIndex):
30354        (WebCore::IDBIndex::openKeyCursor):
30355        * Modules/indexeddb/IDBIndex.idl:
30356        * Modules/indexeddb/IDBObjectStore.cpp:
30357        (WebCore::IDBObjectStore::openCursor):
30358        (WebCore):
30359        * Modules/indexeddb/IDBObjectStore.h:
30360        (WebCore::IDBObjectStore::openCursor):
30361        (IDBObjectStore):
30362        * Modules/indexeddb/IDBObjectStore.idl:
30363
303642012-04-25  Antti Koivisto  <antti@apple.com>
30365
30366        Remove owner node pointer from StyleSheetInternal 
30367        https://bugs.webkit.org/show_bug.cgi?id=84882
30368
30369        Reviewed by Andreas Kling.
30370
30371        To make sharing between multiple nodes possible StyleSheetInternal should not have a Node pointer.
30372        
30373        - Make StyleSheetInternal constructor take CSSParserContext instead of Node*
30374        - Move owner node pointer to CSSStyleSheet. CSSStyleSheet now acts as a client for StyleSheetInternal.
30375        
30376        This gets us closer to being able to cache stylesheet data structures.
30377        
30378        * css/CSSImportRule.cpp:
30379        (WebCore::StyleRuleImport::setCSSStyleSheet):
30380        (WebCore::StyleRuleImport::requestStyleSheet):
30381        
30382            Setup CSSParserContext.
30383            Remove FIXME about updateBaseURL(). It is no longer possible to change URL of StyleSheetInternal.
30384
30385        * css/CSSPageRule.cpp:
30386        (WebCore::CSSPageRule::setSelectorText):
30387        * css/CSSParser.cpp:
30388        (WebCore::CSSParserContext::CSSParserContext):
30389        * css/CSSParserMode.h:
30390        (CSSParserContext):
30391    
30392            Expand CSSParserContext constructors.
30393
30394        * css/CSSStyleRule.cpp:
30395        (WebCore::CSSStyleRule::setSelectorText):
30396        * css/StyleResolver.cpp:
30397        (WebCore::StyleResolver::StyleResolver):
30398        (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
30399        (WebCore::StyleResolver::collectMatchingRulesForList):
30400        * css/StyleResolver.h:
30401        (StyleResolver):
30402        * css/CSSStyleSheet.cpp:
30403
30404            User stylesheets went back to being CSSStyleSheets. Adapt to that.
30405
30406        (WebCore::StyleSheetInternal::StyleSheetInternal):
30407        (WebCore):
30408        (WebCore::StyleSheetInternal::checkLoaded):
30409        (WebCore::StyleSheetInternal::startLoadingDynamicSheet):
30410        (WebCore::StyleSheetInternal::rootStyleSheet):
30411        (WebCore::StyleSheetInternal::singleOwnerNode):
30412        (WebCore::StyleSheetInternal::singleOwnerDocument):
30413        (WebCore::StyleSheetInternal::styleSheetChanged):
30414        
30415            The owner node is now located through CSSStyleSheet. Only one client is supported atm.
30416
30417        (WebCore::StyleSheetInternal::registerClient):
30418        (WebCore::StyleSheetInternal::unregisterClient):
30419        
30420            Register CSSStyleSheets.
30421
30422        (WebCore::CSSStyleSheet::CSSStyleSheet):
30423        (WebCore::CSSStyleSheet::~CSSStyleSheet):
30424        (WebCore::CSSStyleSheet::rules):
30425        (WebCore::CSSStyleSheet::cssRules):
30426        (WebCore::CSSStyleSheet::ownerDocument):
30427        * css/CSSStyleSheet.h:
30428        (WebCore::StyleSheetInternal::create):
30429        (WebCore::StyleSheetInternal::createInline):
30430        (StyleSheetInternal):
30431        (WebCore::CSSStyleSheet::create):
30432        (CSSStyleSheet):
30433        
30434            Moved m_ownerNode.
30435            Changed constructors
30436            Removed setFinalURL(). 
30437
30438        * css/PropertySetCSSStyleDeclaration.cpp:
30439        (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
30440        * dom/Document.cpp:
30441        (WebCore::Document::updateBaseURL):
30442        
30443            Instead of setFinalURL, construct a new StyleSheetInternal if the base url ever changes.
30444
30445        (WebCore::Document::pageUserSheet):
30446        (WebCore::Document::pageGroupUserSheets):
30447        (WebCore::Document::addUserSheet):
30448        (WebCore::Document::elementSheet):
30449        * dom/Document.h:
30450        (Document):
30451        (WebCore::Document::documentUserSheets):
30452        
30453            Adapt to the new interface.
30454            Turned user stylesheets CSSStyleSheets so they can find the owner node.
30455
30456        * dom/ProcessingInstruction.cpp:
30457        (WebCore::ProcessingInstruction::setCSSStyleSheet):
30458        * dom/StyleElement.cpp:
30459        (WebCore::StyleElement::createSheet):
30460        * html/HTMLLinkElement.cpp:
30461        (WebCore::HTMLLinkElement::setCSSStyleSheet):
30462        * inspector/InspectorCSSAgent.cpp:
30463        (WebCore::SelectorProfile::startSelector):
30464        (WebCore::InspectorCSSAgent::bindStyleSheet):
30465        * inspector/InspectorStyleSheet.cpp:
30466        (WebCore::fillMediaListChain):
30467        (WebCore::InspectorStyleSheet::ownerDocument):
30468        * page/PageSerializer.cpp:
30469        (WebCore::PageSerializer::serializeCSSStyleSheet):
30470
304712012-04-25  Adam Klein  <adamk@chromium.org>
30472
30473        Fix uninitialized variable warnings in PasteboardMac.mm after 115145
30474        https://bugs.webkit.org/show_bug.cgi?id=84879
30475
30476        Reviewed by Enrica Casucci.
30477
30478        * platform/mac/PasteboardMac.mm:
30479        (WebCore::Pasteboard::getDataSelection): Initialize attributedString to nil.
30480        (WebCore::Pasteboard::writeSelectionForTypes): ditto.
30481
304822012-04-25  Kenneth Russell  <kbr@google.com>
30483
30484        Delete CanvasPixelArray, ByteArray, JSByteArray and JSC code once unreferenced
30485        https://bugs.webkit.org/show_bug.cgi?id=83655
30486
30487        Reviewed by Oliver Hunt.
30488
30489        Removed last few references to ByteArray, replacing with
30490        Uint8ClampedArray as necessary, and deleted now-obsolete
30491        CanvasPixelArray, ByteArray and JSByteArray. Removed code from
30492        JavaScriptCore special-casing ByteArray.
30493
30494        No new tests. Did full layout test run on Mac OS; no regressions
30495        seen from this change.
30496
30497        * CMakeLists.txt:
30498        * DerivedSources.pri:
30499        * ForwardingHeaders/runtime/JSByteArray.h: Removed.
30500        * GNUmakefile.list.am:
30501        * PlatformBlackBerry.cmake:
30502        * Target.pri:
30503        * UseV8.cmake:
30504        * WebCore.gypi:
30505        * WebCore.order:
30506        * WebCore.vcproj/WebCore.vcproj:
30507        * WebCore.xcodeproj/project.pbxproj:
30508        * bindings/v8/SerializedScriptValue.cpp:
30509        * bindings/v8/V8Binding.h:
30510        (WebCore::isHostObject):
30511        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp: Removed.
30512        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
30513        (WebCore::V8InjectedScriptHost::typeCallback):
30514        * bridge/qt/qt_runtime.cpp:
30515        (JSC::Bindings::isJSUint8ClampedArray):
30516        (Bindings):
30517        (JSC::Bindings::valueRealType):
30518        (JSC::Bindings::convertValueToQVariant):
30519        (JSC::Bindings::convertQVariantToValue):
30520        * html/canvas/CanvasPixelArray.cpp: Removed.
30521        * html/canvas/CanvasPixelArray.h: Removed.
30522        * html/canvas/CanvasPixelArray.idl: Removed.
30523        * html/canvas/WebGLRenderingContext.cpp:
30524        (WebCore):
30525        * platform/graphics/filters/FEConvolveMatrix.h:
30526        * rendering/svg/RenderSVGResourceMasker.cpp:
30527
305282012-04-25  Alpha Lam  <hclam@chromium.org>
30529
30530        Unreviewed build fix.
30531
30532        Build fix for compilation failure due to r115243.
30533
30534        * platform/graphics/chromium/LayerChromium.h:
30535        (WebCore):
30536
305372012-04-25  Ryosuke Niwa  <rniwa@webkit.org>
30538
30539        Build fix after r115227. Return null string when the string builder is empty
30540        to match the old behavior.
30541
30542        * css/StylePropertySet.cpp:
30543        (WebCore::StylePropertySet::borderPropertyValue):
30544
305452012-04-25  Ian Vollick  <vollick@chromium.org>
30546
30547        [chromium] Add support for animation finished events.
30548        https://bugs.webkit.org/show_bug.cgi?id=84454
30549
30550        Reviewed by James Robinson.
30551
30552        Tested in CCLayerTreeHostTestAnimationFinishedEvents
30553
30554        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
30555        (WebCore::GraphicsLayerChromium::willBeDestroyed):
30556        (WebCore::GraphicsLayerChromium::notifyAnimationFinished):
30557        (WebCore):
30558        * platform/graphics/chromium/GraphicsLayerChromium.h:
30559        * platform/graphics/chromium/LayerChromium.cpp:
30560        (WebCore::LayerChromium::notifyAnimationStarted):
30561        (WebCore::LayerChromium::notifyAnimationFinished):
30562        (WebCore):
30563        * platform/graphics/chromium/LayerChromium.h:
30564        (WebCore):
30565        (LayerChromium):
30566        * platform/graphics/chromium/cc/CCAnimationEvents.h:
30567        (WebCore::CCAnimationEvent::CCAnimationEvent):
30568        (CCAnimationEvent):
30569        (WebCore):
30570        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
30571        (WebCore::CCLayerAnimationController::animate):
30572        (WebCore::CCLayerAnimationController::notifyAnimationStarted):
30573        (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
30574        (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
30575        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
30576        (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
30577        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
30578        (CCLayerAnimationController):
30579        * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
30580        (CCLayerAnimationDelegate):
30581        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
30582        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
30583
305842012-04-25  Enrica Casucci  <enrica@apple.com>
30585
30586        REGRESSION (r110494): Dragging images from Safari to Finder results in .webloc rather than image file
30587        https://bugs.webkit.org/show_bug.cgi?id=84878
30588        <rdar://problem/11155407>
30589        
30590        In WebKit2, it could happen to try to start the drag twice, given the asynchronous nature
30591        of the communication between the UI process and the WebProcess.
30592        We need to guarantee that we don't do that, otherwise on OS X the pasteboard ownership
30593        gets changed which affects the promised file types.
30594
30595        Reviewed by Alexey Proskuryakov.
30596
30597        * page/EventHandler.cpp:
30598        (WebCore::EventHandler::handleDrag): Reset m_mouseDownMayStartDrag to false to
30599        avoid attempting to start another drag.
30600
306012012-04-25  Andreas Kling  <kling@webkit.org>
30602
30603        Remove unused Attribute constructor.
30604
30605        Semi-knowingly rubber-stamped by Antti Koivisto.
30606
30607        * dom/Attribute.h:
30608
306092012-04-25  Nate Chapin  <japhet@chromium.org>
30610
30611        Crash in CachedRawResource::didAddClient() due to missing protector.
30612        https://bugs.webkit.org/show_bug.cgi?id=83632
30613
30614        Reviewed by Eric Seidel.
30615
30616        Test: http/tests/xmlhttprequest/access-control-repeated-failed-preflight-crash.html
30617
30618        * loader/cache/CachedRawResource.cpp:
30619        (WebCore::CachedRawResource::didAddClient):
30620
306212012-04-25  Kentaro Hara  <haraken@chromium.org>
30622
30623        [V8] Pass Isolate to SerializedScriptValue::deserialize()
30624        https://bugs.webkit.org/show_bug.cgi?id=84758
30625
30626        Reviewed by Nate Chapin.
30627
30628        The objective is to pass Isolate around. This patch passes
30629        Isolate to SerializedScriptValue::deserialize().
30630
30631        No tests. No change in behavior.
30632
30633        * bindings/v8/custom/V8HistoryCustom.cpp:
30634        (WebCore::V8History::stateAccessorGetter):
30635        * bindings/v8/custom/V8IDBAnyCustom.cpp:
30636        (WebCore::toV8):
30637        * bindings/v8/custom/V8MessageEventCustom.cpp:
30638        (WebCore::V8MessageEvent::dataAccessorGetter):
30639        * bindings/v8/custom/V8PopStateEventCustom.cpp:
30640        (WebCore::V8PopStateEvent::stateAccessorGetter):
30641
306422012-04-25  Kentaro Hara  <haraken@chromium.org>
30643
30644        [V8] Pass Isolate to SerializedScriptValue::create() in custom bindings
30645        https://bugs.webkit.org/show_bug.cgi?id=84757
30646
30647        Reviewed by Nate Chapin.
30648
30649        The objective is to pass Isolate around in V8 bindings.
30650        This patch passes Isolate to SerializedScriptValue::create()
30651        in custom bindings.
30652
30653        No tests. No change in behavior.
30654
30655        * bindings/v8/custom/V8DOMWindowCustom.cpp:
30656        (WebCore::handlePostMessageCallback):
30657        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
30658        (WebCore::handlePostMessageCallback):
30659        * bindings/v8/custom/V8HistoryCustom.cpp:
30660        (WebCore::V8History::pushStateCallback):
30661        (WebCore::V8History::replaceStateCallback):
30662        * bindings/v8/custom/V8MessagePortCustom.cpp:
30663        (WebCore::handlePostMessageCallback):
30664        * bindings/v8/custom/V8WorkerCustom.cpp:
30665        (WebCore::handlePostMessageCallback):
30666
306672012-04-25  Kentaro Hara  <haraken@chromium.org>
30668
30669        [V8] Pass Isolate to SerializedScriptValue::create() in CodeGeneratorV8.pm
30670        https://bugs.webkit.org/show_bug.cgi?id=84753
30671
30672        Reviewed by Nate Chapin.
30673
30674        The objective is to pass Isolate around in V8 bindings.
30675        This patch passes Isolate to SerializedScriptValue::create()
30676        in CodeGeneratorV8.pm.
30677
30678        Tests: bindings/scripts/test/TestObj.idl
30679               bindings/scripts/test/TestSerializedScriptValueInterface.idl
30680
30681        * bindings/scripts/CodeGeneratorV8.pm:
30682        (GenerateNormalAttrSetter):
30683        (GenerateParametersCheck):
30684        (JSValueToNative):
30685
30686        * bindings/scripts/test/V8/V8TestObj.cpp: Updated run-bindings-tests results.
30687        (WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
30688        (WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
30689        (WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
30690        (WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
30691        (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
30692        (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
30693        (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
30694        (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
30695        (WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
30696        (WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
30697        (WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
30698        (WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
30699        (WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
30700        (WebCore::TestObjV8Internal::serializedValueCallback):
30701        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
30702        (WebCore::TestSerializedScriptValueInterfaceV8Internal::valueAttrSetter):
30703        (WebCore::TestSerializedScriptValueInterfaceV8Internal::cachedValueAttrSetter):
30704        (WebCore::TestSerializedScriptValueInterfaceV8Internal::acceptTransferListCallback):
30705        (WebCore::TestSerializedScriptValueInterfaceV8Internal::multiTransferListCallback):
30706        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
30707
307082012-04-25  Kentaro Hara  <haraken@chromium.org>
30709
30710        [V8] Add m_isolate to SerializedScriptValue::Writer
30711        and SerializedScriptValue::Reader
30712        https://bugs.webkit.org/show_bug.cgi?id=84739
30713
30714        Reviewed by Nate Chapin.
30715
30716        This is the second step to pass Isolate around
30717        in SerializedScriptValue. This patch adds m_isolate to
30718        SerializedScriptValue::Writer and SerializedScriptValue::Reader,
30719        so that they can use the isolate around. The fix is safe since
30720        Writer and Reader are guaranteed to be used by one Isolate.
30721
30722        No tests. No change in behavior.
30723
30724        * bindings/v8/SerializedScriptValue.cpp:
30725        (WebCore::SerializedScriptValue::create):
30726        (WebCore::SerializedScriptValue::nullValue):
30727        (WebCore::SerializedScriptValue::undefinedValue):
30728        (WebCore::SerializedScriptValue::booleanValue):
30729        (WebCore::SerializedScriptValue::numberValue):
30730        (WebCore::SerializedScriptValue::SerializedScriptValue):
30731        (WebCore::SerializedScriptValue::deserialize):
30732        * bindings/v8/SerializedScriptValue.h:
30733        (SerializedScriptValue):
30734
307352012-04-25  Kentaro Hara  <haraken@chromium.org>
30736
30737        [V8] Make the Isolate* parameter non-optional in setDOMException()
30738        https://bugs.webkit.org/show_bug.cgi?id=84736
30739
30740        Reviewed by Nate Chapin.
30741
30742        Now all setDOMException() callers pass Isolate* to setDOMException().
30743        This patch makes the Isolate* parameter non-optional.
30744
30745        No tests. No change in behavior.
30746
30747        * bindings/v8/V8Proxy.h:
30748        (V8Proxy):
30749
307502012-04-24  Ryosuke Niwa  <rniwa@webkit.org>
30751
30752        REGRESSION(r112177): listStyleType CSS property gets converted into listStyle
30753        https://bugs.webkit.org/show_bug.cgi?id=83026
30754
30755        Reviewed by Darin Adler.
30756
30757        Fixed the bug by not using shorthand notations when some values are missing.
30758
30759        However, we still want to return a value when shorthand border property is explicitly
30760        requested so extract borderPropertyValue with a flag to support both behaviors.
30761
30762        * css/StylePropertySet.cpp:
30763        (WebCore::borderPropertyValue): Extracted from getPropertyValue.
30764        (WebCore::StylePropertySet::getPropertyValue):
30765        (WebCore::StylePropertySet::get4Values): Don't return values when priority don't match.
30766        (WebCore::StylePropertySet::getShorthandValue):
30767        (WebCore::StylePropertySet::getCommonValue): Don't return null string for initial values
30768        to disambiguate missing values and "initial" in getPropertyValue. Also check propriety.
30769        (WebCore::StylePropertySet::asText): Support emitting border-width, border-style, and
30770        border-color when border doesn't work but the former properties do.
30771
307722012-04-25  Ian Vollick  <vollick@chromium.org>
30773
30774        [chromium] Do not clobber synchronized start times.
30775        https://bugs.webkit.org/show_bug.cgi?id=84605
30776
30777        Reviewed by James Robinson.
30778
30779        Tested in CCLayerAnimationControllerTest.doNotClobberStartTimes
30780
30781        (WebCore):
30782        * platform/graphics/chromium/cc/CCActiveAnimation.h:
30783        (CCActiveAnimation):
30784        (WebCore::CCActiveAnimation::hasSetStartTime):
30785        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
30786        (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
30787        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
30788
307892012-04-25  Nate Chapin  <japhet@chromium.org>
30790
30791        REGRESSION (r100311): YummySoup app crashes when trying to print
30792        https://bugs.webkit.org/show_bug.cgi?id=83918
30793
30794        Reviewed by Alexey Proskuryakov.
30795
30796        Test: http/tests/xmlhttprequest/cancel-during-failure-crash.html
30797
30798        * loader/ResourceLoader.cpp:
30799        (WebCore::ResourceLoader::didFail): Set m_calledDidFinishLoad when calling
30800           didFailToLoad() to prevent it from getting called twice if we cancel
30801           re-entrantly.
30802
308032012-04-25  Alexis Menard  <alexis.menard@openbossa.org>
30804
30805        Not reviewed, fix Windows build after r115215.
30806
30807        * css/CSSAllInOne.cpp:
30808
308092012-04-25  Eric Carlson  <eric.carlson@apple.com>
30810
30811        Not reviewed, attempt to fix Windows build after r115215.
30812
30813        * css/CSSAllInOne.cpp: Don't try to include CSSStyleSelector.cpp.
30814
308152012-04-25  Mark Pilgrim  <pilgrim@chromium.org>
30816
30817        [Chromium] Call actualMemoryUsageMB directly
30818        https://bugs.webkit.org/show_bug.cgi?id=84837
30819
30820        Reviewed by Kentaro Hara.
30821
30822        Part of a refactoring series. See tracking bug 82948.
30823
30824        * bindings/v8/V8DOMWindowShell.cpp:
30825        (WebCore::reportFatalErrorInV8):
30826        * bindings/v8/V8GCController.cpp:
30827        (WebCore):
30828        * platform/MemoryUsageSupport.cpp:
30829        (WebCore::MemoryUsageSupport::actualMemoryUsageMB):
30830        (WebCore):
30831        * platform/MemoryUsageSupport.h:
30832        (MemoryUsageSupport):
30833        * platform/chromium/MemoryUsageSupportChromium.cpp:
30834        (WebCore::MemoryUsageSupport::actualMemoryUsageMB):
30835        (WebCore):
30836        * platform/chromium/PlatformSupport.h:
30837        (PlatformSupport):
30838
308392012-04-25  Alexis Menard  <alexis.menard@openbossa.org>
30840
30841        Rename CSSStyleSelector files to StyleResolver.
30842        https://bugs.webkit.org/show_bug.cgi?id=84814
30843
30844        Reviewed by Antti Koivisto.
30845
30846        Rename CSSStyleSelector files to match the new class name StyleResolver.
30847        Update the includes all over the code base to the new name.
30848
30849        No new tests : renaming files, no behavior changes expected.
30850
30851        * CMakeLists.txt:
30852        * GNUmakefile.list.am:
30853        * Target.pri:
30854        * WebCore.gypi:
30855        * WebCore.vcproj/WebCore.vcproj:
30856        * WebCore.xcodeproj/project.pbxproj:
30857        * css/CSSAllInOne.cpp:
30858        * css/CSSCalculationValue.cpp:
30859        * css/CSSFontSelector.cpp:
30860        * css/CSSGradientValue.cpp:
30861        * css/MediaQueryEvaluator.cpp:
30862        * css/MediaQueryMatcher.cpp:
30863        * css/SVGCSSStyleSelector.cpp:
30864        * css/StyleBuilder.cpp:
30865        * css/StyleMedia.cpp:
30866        * css/StyleResolver.cpp: Renamed from Source/WebCore/css/CSSStyleSelector.cpp.
30867        (WebCore):
30868        (RuleData):
30869        (WebCore::RuleData::position):
30870        (WebCore::RuleData::rule):
30871        (WebCore::RuleData::selector):
30872        (WebCore::RuleData::hasFastCheckableSelector):
30873        (WebCore::RuleData::hasMultipartSelector):
30874        (WebCore::RuleData::hasRightmostSelectorMatchingHTMLBasedOnRuleHash):
30875        (WebCore::RuleData::containsUncommonAttributeSelector):
30876        (WebCore::RuleData::specificity):
30877        (WebCore::RuleData::linkMatchType):
30878        (WebCore::RuleData::hasDocumentSecurityOrigin):
30879        (WebCore::RuleData::isInRegionRule):
30880        (WebCore::RuleData::descendantSelectorIdentifierHashes):
30881        (SameSizeAsRuleData):
30882        (RuleSet):
30883        (WebCore::RuleSet::create):
30884        (WebCore::RuleSet::disableAutoShrinkToFit):
30885        (WebCore::RuleSet::features):
30886        (WebCore::RuleSet::idRules):
30887        (WebCore::RuleSet::classRules):
30888        (WebCore::RuleSet::tagRules):
30889        (WebCore::RuleSet::shadowPseudoElementRules):
30890        (WebCore::RuleSet::linkPseudoClassRules):
30891        (WebCore::RuleSet::focusPseudoClassRules):
30892        (WebCore::RuleSet::universalRules):
30893        (WebCore::RuleSet::pageRules):
30894        (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
30895        (RuleSetSelectorPair):
30896        (WebCore::elementCanUseSimpleDefaultStyle):
30897        (WebCore::screenEval):
30898        (WebCore::printEval):
30899        (WebCore::leftToRightDeclaration):
30900        (WebCore::rightToLeftDeclaration):
30901        (WebCore::StyleResolver::StyleResolver):
30902        (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
30903        (WebCore::makeRuleSet):
30904        (WebCore::StyleResolver::collectFeatures):
30905        (WebCore::StyleResolver::determineScope):
30906        (WebCore::StyleResolver::ruleSetForScope):
30907        (WebCore::StyleResolver::appendAuthorStylesheets):
30908        (WebCore::StyleResolver::setupScopeStack):
30909        (WebCore::StyleResolver::pushScope):
30910        (WebCore::StyleResolver::popScope):
30911        (WebCore::StyleResolver::pushParentElement):
30912        (WebCore::StyleResolver::popParentElement):
30913        (WebCore::StyleResolver::pushParentShadowRoot):
30914        (WebCore::StyleResolver::popParentShadowRoot):
30915        (WebCore::StyleResolver::addKeyframeStyle):
30916        (WebCore::StyleResolver::~StyleResolver):
30917        (WebCore::StyleResolver::sweepMatchedPropertiesCache):
30918        (WebCore::StyleResolver::Features::Features):
30919        (WebCore::StyleResolver::Features::~Features):
30920        (WebCore::StyleResolver::Features::add):
30921        (WebCore::StyleResolver::Features::clear):
30922        (WebCore::parseUASheet):
30923        (WebCore::loadFullDefaultStyle):
30924        (WebCore::loadSimpleDefaultStyle):
30925        (WebCore::loadViewSourceStyle):
30926        (WebCore::ensureDefaultStyleSheetsForElement):
30927        (WebCore::StyleResolver::addMatchedProperties):
30928        (WebCore::StyleResolver::addElementStyleProperties):
30929        (WebCore::StyleResolver::collectMatchingRules):
30930        (WebCore::StyleResolver::collectMatchingRulesForRegion):
30931        (WebCore::StyleResolver::sortAndTransferMatchedRules):
30932        (WebCore::StyleResolver::matchScopedAuthorRules):
30933        (WebCore::StyleResolver::matchAuthorRules):
30934        (WebCore::StyleResolver::matchUserRules):
30935        (WebCore::StyleResolver::matchUARules):
30936        (MatchingUARulesScope):
30937        (WebCore::MatchingUARulesScope::MatchingUARulesScope):
30938        (WebCore::MatchingUARulesScope::~MatchingUARulesScope):
30939        (WebCore::MatchingUARulesScope::isMatchingUARules):
30940        (WebCore::StyleResolver::collectMatchingRulesForList):
30941        * css/StyleResolver.h: Renamed from Source/WebCore/css/CSSStyleSelector.h.
30942        (WebCore):
30943        (MediaQueryResult):
30944        (WebCore::MediaQueryResult::MediaQueryResult):
30945        (StyleResolver):
30946        (WebCore::StyleResolver::style):
30947        (WebCore::StyleResolver::parentStyle):
30948        (WebCore::StyleResolver::rootElementStyle):
30949        (WebCore::StyleResolver::element):
30950        (WebCore::StyleResolver::document):
30951        (WebCore::StyleResolver::fontDescription):
30952        (WebCore::StyleResolver::parentFontDescription):
30953        (WebCore::StyleResolver::setFontDescription):
30954        (WebCore::StyleResolver::setZoom):
30955        (WebCore::StyleResolver::setEffectiveZoom):
30956        (WebCore::StyleResolver::setTextSizeAdjust):
30957        (WebCore::StyleResolver::hasParentNode):
30958        (WebCore::StyleResolver::pushScope):
30959        (WebCore::StyleResolver::popScope):
30960        (WebCore::StyleResolver::setStyle):
30961        (WebCore::StyleResolver::fontSelector):
30962        (WebCore::StyleResolver::allVisitedStateChanged):
30963        (WebCore::StyleResolver::visitedStateChanged):
30964        (WebCore::StyleResolver::usesSiblingRules):
30965        (WebCore::StyleResolver::usesFirstLineRules):
30966        (WebCore::StyleResolver::usesBeforeAfterRules):
30967        (WebCore::StyleResolver::usesLinkRules):
30968        (WebCore::StyleResolver::RuleFeature::RuleFeature):
30969        (RuleFeature):
30970        (Features):
30971        (WebCore::StyleResolver::addMatchedRule):
30972        (WebCore::StyleResolver::MatchRanges::MatchRanges):
30973        (MatchRanges):
30974        (WebCore::StyleResolver::MatchedProperties::MatchedProperties):
30975        (MatchedProperties):
30976        (WebCore::StyleResolver::MatchResult::MatchResult):
30977        (MatchResult):
30978        (WebCore::StyleResolver::MatchOptions::MatchOptions):
30979        (MatchOptions):
30980        (WebCore::StyleResolver::isRightPage):
30981        (WebCore::StyleResolver::styleNotYetAvailable):
30982        (WebCore::StyleResolver::applyPropertyToRegularStyle):
30983        (WebCore::StyleResolver::applyPropertyToVisitedLinkStyle):
30984        (MatchedPropertiesCacheItem):
30985        (WebCore::StyleResolver::scopeStackIsConsistent):
30986        (WebCore::StyleResolver::ScopeStackFrame::ScopeStackFrame):
30987        (ScopeStackFrame):
30988        * css/WebKitCSSMatrix.cpp:
30989        * dom/Document.cpp:
30990        * dom/Element.cpp:
30991        * dom/Node.cpp:
30992        * dom/ShadowRoot.cpp:
30993        * dom/ShadowTree.cpp:
30994        * dom/StyledElement.cpp:
30995        * editing/ApplyStyleCommand.cpp:
30996        * editing/EditingStyle.cpp:
30997        * editing/Editor.cpp:
30998        * editing/markup.cpp:
30999        * history/CachedPage.cpp:
31000        * html/HTMLDocument.cpp:
31001        * html/HTMLLinkElement.cpp:
31002        * html/HTMLOptGroupElement.cpp:
31003        * html/HTMLOptionElement.cpp:
31004        * html/ValidationMessage.cpp:
31005        * html/canvas/CanvasRenderingContext2D.cpp:
31006        * html/shadow/MediaControlElements.cpp:
31007        * inspector/InspectorCSSAgent.cpp:
31008        * inspector/InspectorDOMAgent.cpp:
31009        * inspector/InspectorStyleSheet.cpp:
31010        * loader/LinkLoader.cpp:
31011        * page/DOMWindow.cpp:
31012        * page/FrameView.cpp:
31013        * page/Page.cpp:
31014        * page/animation/KeyframeAnimation.cpp:
31015        * platform/qt/RenderThemeQt.cpp:
31016        * platform/qt/RenderThemeQtMobile.cpp:
31017        * rendering/RenderLayer.cpp:
31018        * rendering/RenderLayerBacking.cpp:
31019        * rendering/RenderListBox.cpp:
31020        * rendering/RenderMenuList.cpp:
31021        * rendering/RenderObject.cpp:
31022        * rendering/RenderRegion.cpp:
31023        * rendering/RenderSlider.cpp:
31024        * rendering/RenderTextControlSingleLine.cpp:
31025        * rendering/RenderThemeMac.mm:
31026        * rendering/RenderThemeSafari.cpp:
31027        * rendering/style/RenderStyle.cpp:
31028        * rendering/style/StyleGeneratedImage.cpp:
31029        * rendering/style/StyleRareNonInheritedData.cpp:
31030        * rendering/svg/RenderSVGInlineText.cpp:
31031        * svg/SVGClipPathElement.cpp:
31032        * svg/SVGElement.cpp:
31033        * svg/SVGFontFaceElement.cpp:
31034        * svg/SVGGradientElement.cpp:
31035        * svg/SVGMaskElement.cpp:
31036        * svg/SVGUseElement.cpp:
31037
310382012-04-25  Crystal Zhang  <haizhang@rim.com>
31039            https://bugs.webkit.org/show_bug.cgi?id=84875
31040    
31041            make-css-file-arrays.pl now only take css files, make it also take js files,
31042            as for html popups we also need load js files.
31043    
31044            Reviewed by Antonio Gomes.
31045    
31046            * css/make-css-file-arrays.pl:
31047
310482012-04-25  Li Yin  <li.yin@intel.com>
31049
31050        [chromium][workers] setTargetType(ResourceRequest::TargetIsWorker) is repeatedly called in chromium
31051        https://bugs.webkit.org/show_bug.cgi?id=84542
31052
31053        Reviewed by David Levin.
31054
31055        In chromium platform, the default value of m_targetType is ResourceRequest::TargetIsWorker
31056        it isn't necessary to call
31057        worker->m_scriptLoader->setTargetType(ResourceRequest::TargetIsWorker) again in Worker.cpp
31058        In chromium platform, the m_targettype value determines the priority of resource loaded.
31059
31060        No new tests because this patch just deletes a repeated code, it can reduce code workload and can't impact any feature.
31061        If the target type isn't set correctly, the following test maybe fail because of timeout in the chromium.
31062        fast/workers/storage/multiple-transactions-on-different-handles.html
31063        fast/workers/storage/multiple-transactions-on-different-handles-sync.html
31064        fast/workers/storage/interrupt-database.html
31065
31066        * workers/Worker.cpp:
31067        (WebCore::Worker::create):
31068
310692012-04-25  Yury Semikhatsky  <yurys@chromium.org>
31070
31071        Web Inspector: move HeapSnapshotLoader into a separate file
31072        https://bugs.webkit.org/show_bug.cgi?id=84860
31073
31074        Extracted HeapSnapshotLoader into its own file.
31075
31076        Reviewed by Pavel Feldman.
31077
31078        * WebCore.gypi:
31079        * WebCore.vcproj/WebCore.vcproj:
31080        * inspector/compile-front-end.py:
31081        * inspector/front-end/HeapSnapshot.js:
31082        * inspector/front-end/HeapSnapshotLoader.js: Added.
31083        (WebInspector.HeapSnapshotLoader):
31084        (WebInspector.HeapSnapshotLoader.prototype._findBalancedCurlyBrackets):
31085        (WebInspector.HeapSnapshotLoader.prototype.finishLoading):
31086        (WebInspector.HeapSnapshotLoader.prototype._parseUintArray):
31087        (WebInspector.HeapSnapshotLoader.prototype._parseStringsArray):
31088        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
31089        * inspector/front-end/WebKit.qrc:
31090        * inspector/front-end/inspector.html:
31091
310922012-04-25  'Pavel Feldman'  <pfeldman@chromium.org>
31093
31094        Not reviewed: inspector frontend tests fix.
31095
31096        * inspector/front-end/ScriptsSearchScope.js:
31097
310982012-04-25  Ian Vollick  <vollick@chromium.org>
31099
31100        [chromium] Animations waiting for a synchronized start time should never be marked finished.
31101        https://bugs.webkit.org/show_bug.cgi?id=84519
31102
31103        Reviewed by James Robinson.
31104
31105        Tested in CCLayerAnimationControllerTest.AnimationsWaitingForStartTimeDoNotFinishIfTheyWaitLongerToStartThanTheirDuration
31106
31107        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
31108        (WebCore::CCLayerAnimationController::tickAnimations):
31109
311102012-04-25  Pierre Rossi  <pierre.rossi@gmail.com>
31111
31112        [SVG] Nothing should be stroked when the stroke-width is 0
31113        https://bugs.webkit.org/show_bug.cgi?id=83568
31114
31115        Reviewed by Nikolas Zimmermann.
31116
31117        The spec states that "A zero value causes no stroke to be painted".
31118        We should avoid calling functions that could incorrectly paint something
31119        in that case.
31120
31121        Test: svg/custom/path-zero-strokewidth.svg
31122
31123        * rendering/style/SVGRenderStyle.h:
31124        (WebCore::SVGRenderStyle::hasVisibleStroke):
31125        * rendering/svg/RenderSVGEllipse.cpp:
31126        (WebCore::RenderSVGEllipse::strokeShape): Check if the stroke should be visible before painting.
31127        * rendering/svg/RenderSVGRect.cpp:
31128        (WebCore::RenderSVGRect::strokeShape): Ditto.
31129        * rendering/svg/RenderSVGShape.cpp:
31130        (WebCore::RenderSVGShape::strokeShape): Ditto.
31131        (WebCore::RenderSVGShape::strokePath): Ditto.
31132        * rendering/svg/SVGInlineTextBox.cpp:
31133        (WebCore::SVGInlineTextBox::paint): Dont call paintText for zero-width stroke.
31134        (WebCore::SVGInlineTextBox::paintDecoration): Ditto.
31135
311362012-04-25  Alexis Menard  <alexis.menard@openbossa.org>
31137
31138        Unfortunately http://trac.webkit.org/changeset/115055 was landed using webkit-patch
31139        land-from bug but didn't do the right thing, we lost the history.
31140
31141        This commit is merging back CSSStyleApplyProperty.* and their history, rename the files
31142        to StyleBuilder and re-apply the two patches on trunk that were apply after the rename.
31143
31144        Rename CSSStyleSelector class to StyleResolver.
31145        https://bugs.webkit.org/show_bug.cgi?id=84734
31146
31147        The name CSSStyleSelector is confusing as it conflicts a bit with
31148        the CSS concept of selectors. One could think it's an encapsulation
31149        of the CSS selectors but it's not, in fact this class is responsible
31150        of finding the RenderStyle for a given element. This is the first patch
31151        as I will later rename the files, and then rename the local variables.
31152
31153        Replace occurences of style selector from variables and methods names by style resolver.
31154        https://bugs.webkit.org/show_bug.cgi?id=84765
31155        
31156        Rename methods and variables to follow the new name StyleResolver. It requires to update the
31157        local variables, methods parameters, and function names to match the new name and to remove
31158        the concept of "selector" to avoid clashing with the CSS concept. The next and last patch
31159        will be to rename CSSStyleSelector file and update the includes.
31160
31161        * css/StyleBuilder.cpp: Replaced with Source/WebCore/css/CSSStyleApplyProperty.cpp.
31162        (WebCore::ApplyPropertyExpanding::applyInheritValue):
31163        (WebCore::ApplyPropertyExpanding::applyInitialValue):
31164        (WebCore::ApplyPropertyExpanding::applyValue):
31165        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
31166        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
31167        (WebCore::ApplyPropertyDefaultBase::applyValue):
31168        (WebCore::ApplyPropertyDefault::applyValue):
31169        (WebCore::ApplyPropertyNumber::applyValue):
31170        (WebCore::ApplyPropertyStyleImage::applyValue):
31171        (WebCore::ApplyPropertyAuto::applyInheritValue):
31172        (WebCore::ApplyPropertyAuto::applyInitialValue):
31173        (WebCore::ApplyPropertyAuto::applyValue):
31174        (WebCore::ApplyPropertyClip::convertToLength):
31175        (WebCore::ApplyPropertyClip::applyInheritValue):
31176        (WebCore::ApplyPropertyClip::applyInitialValue):
31177        (WebCore::ApplyPropertyClip::applyValue):
31178        (WebCore::ApplyPropertyColor::applyInheritValue):
31179        (WebCore::ApplyPropertyColor::applyInitialValue):
31180        (WebCore::ApplyPropertyColor::applyValue):
31181        (WebCore::ApplyPropertyColor::applyColorValue):
31182        (WebCore::ApplyPropertyDirection::applyValue):
31183        (WebCore::ApplyPropertyLength::applyValue):
31184        (WebCore::ApplyPropertyString::applyValue):
31185        (WebCore::ApplyPropertyBorderRadius::applyValue):
31186        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
31187        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
31188        (WebCore::ApplyPropertyFillLayer::applyValue):
31189        (WebCore::ApplyPropertyComputeLength::applyValue):
31190        (WebCore::ApplyPropertyFont::applyInheritValue):
31191        (WebCore::ApplyPropertyFont::applyInitialValue):
31192        (WebCore::ApplyPropertyFont::applyValue):
31193        (WebCore::ApplyPropertyFontSize::applyInheritValue):
31194        (WebCore::ApplyPropertyFontSize::applyInitialValue):
31195        (WebCore::ApplyPropertyFontSize::applyValue):
31196        (WebCore::ApplyPropertyFontWeight::applyValue):
31197        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
31198        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
31199        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
31200        (WebCore::ApplyPropertyBorderImage::applyValue):
31201        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
31202        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
31203        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
31204        (WebCore::ApplyPropertyBorderImageSource::applyValue):
31205        (WebCore::ApplyPropertyCounter::emptyFunction):
31206        (WebCore::ApplyPropertyCounter::applyInheritValue):
31207        (WebCore::ApplyPropertyCounter::applyValue):
31208        (WebCore::ApplyPropertyCursor::applyInheritValue):
31209        (WebCore::ApplyPropertyCursor::applyInitialValue):
31210        (WebCore::ApplyPropertyCursor::applyValue):
31211        (WebCore::ApplyPropertyTextAlign::applyValue):
31212        (WebCore::ApplyPropertyTextDecoration::applyValue):
31213        (WebCore::ApplyPropertyUnicodeBidi::applyValue):
31214        (WebCore::ApplyPropertyLineHeight::applyValue):
31215        (WebCore::ApplyPropertyPageSize::applyInheritValue):
31216        (WebCore::ApplyPropertyPageSize::applyInitialValue):
31217        (WebCore::ApplyPropertyPageSize::applyValue):
31218        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
31219        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
31220        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
31221        (WebCore):
31222        (WebCore::ApplyPropertyAnimation::map):
31223        (WebCore::ApplyPropertyAnimation::applyInheritValue):
31224        (WebCore::ApplyPropertyAnimation::applyInitialValue):
31225        (WebCore::ApplyPropertyAnimation::applyValue):
31226        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
31227        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
31228        (WebCore::ApplyPropertyOutlineStyle::applyValue):
31229        (WebCore::ApplyPropertyResize::applyValue):
31230        (WebCore::ApplyPropertyVerticalAlign::applyValue):
31231        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
31232        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
31233        (WebCore::ApplyPropertyAspectRatio::applyValue):
31234        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
31235        (WebCore::ApplyPropertyZoom::applyInheritValue):
31236        (WebCore::ApplyPropertyZoom::applyInitialValue):
31237        (WebCore::ApplyPropertyZoom::applyValue):
31238        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
31239        (WebCore::ApplyPropertyDisplay::applyInheritValue):
31240        (WebCore::ApplyPropertyDisplay::applyInitialValue):
31241        (WebCore::ApplyPropertyDisplay::applyValue):
31242        (WebCore::ApplyPropertyFlex::applyInheritValue):
31243        (WebCore::ApplyPropertyFlex::applyInitialValue):
31244        (WebCore::ApplyPropertyFlex::applyValue):
31245        (WebCore::StyleBuilder::StyleBuilder):
31246        * css/StyleBuilder.h: Replaced with Source/WebCore/css/CSSStyleApplyProperty.h.
31247        (WebCore):
31248        (PropertyHandler):
31249        (WebCore::PropertyHandler::applyInheritValue):
31250        (WebCore::PropertyHandler::applyInitialValue):
31251        (WebCore::PropertyHandler::applyValue):
31252
312532012-04-25  Eric Carlson  <eric.carlson@apple.com>
31254
31255        Not reviewed, fix Windows build after r115165.
31256
31257        * rendering/RenderLayerCompositor.cpp:
31258        (WebCore::RenderLayerCompositor::updateCompositingLayers): Initialize logging variable.
31259
312602012-04-25  Florin Malita  <fmalita@chromium.org>
31261
31262        [Coverity] Uninitialized fields in RenderSVGShape constructors
31263        https://bugs.webkit.org/show_bug.cgi?id=84749
31264
31265        Reviewed by Darin Adler.
31266
31267        Removing unused RenderSVGShape constructor and field.
31268
31269        No new tests - no behavior change.
31270
31271        * rendering/svg/RenderSVGShape.cpp:
31272        * rendering/svg/RenderSVGShape.h:
31273        (RenderSVGShape):
31274
312752012-04-25  'Pavel Feldman'  <pfeldman@chromium.org>
31276
31277        Not reviewed: follow up to r115194, removed debug output.
31278
31279        * inspector/front-end/DebuggerPresentationModel.js:
31280        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
31281
312822012-04-25  Pavel Feldman  <pfeldman@chromium.org>
31283
31284        Web Inspector: extract Linkifier from DebuggerPresentationModel.
31285        https://bugs.webkit.org/show_bug.cgi?id=84855
31286
31287        Reviewed by Yury Semikhatsky.
31288
31289        There is nothing Linkifier needs from the model, extracting as a top-level class.
31290
31291        * WebCore.gypi:
31292        * WebCore.vcproj/WebCore.vcproj:
31293        * inspector/compile-front-end.py:
31294        * inspector/front-end/ConsoleMessage.js:
31295        * inspector/front-end/ConsoleView.js:
31296        (WebInspector.ConsoleView):
31297        * inspector/front-end/DebuggerPresentationModel.js:
31298        * inspector/front-end/EventListenersSidebarPane.js:
31299        * inspector/front-end/Linkifier.js: Added.
31300        (WebInspector.LinkifierFormatter):
31301        (WebInspector.LinkifierFormatter.prototype.formatLiveAnchor):
31302        (WebInspector.Linkifier):
31303        (WebInspector.Linkifier.prototype.linkifyLocation):
31304        (WebInspector.Linkifier.prototype.linkifyRawLocation):
31305        (WebInspector.Linkifier.prototype.reset):
31306        (WebInspector.Linkifier.prototype._updateAnchor):
31307        (WebInspector.Linkifier.DefaultFormatter):
31308        (WebInspector.Linkifier.DefaultFormatter.prototype.formatLiveAnchor):
31309        * inspector/front-end/NetworkPanel.js:
31310        * inspector/front-end/ObjectPopoverHelper.js:
31311        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
31312        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
31313        * inspector/front-end/ProfileView.js:
31314        * inspector/front-end/ScriptsSearchScope.js:
31315        (WebInspector.ScriptsSearchResultsPane):
31316        * inspector/front-end/TimelinePresentationModel.js:
31317        (WebInspector.TimelinePresentationModel):
31318        * inspector/front-end/WebKit.qrc:
31319        * inspector/front-end/inspector.html:
31320
313212012-04-25  Pavel Feldman  <pfeldman@chromium.org>
31322
31323        Web Inspector: move sourcemap-agnostic part of the debugger presentation model into the raw debugger.
31324        https://bugs.webkit.org/show_bug.cgi?id=84852
31325
31326        Reviewed by Yury Semikhatsky.
31327
31328        There is no need to keep that much debugging functionality in the debugger presentation model.
31329        It all perfectly applies to the raw script debugger. Methods for selecting call frames, activating breakpoints
31330        and paused details were moved to the WebInspector.DebuggerModel.
31331
31332        * inspector/front-end/BreakpointManager.js:
31333        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
31334        * inspector/front-end/CallStackSidebarPane.js:
31335        (WebInspector.CallStackSidebarPane):
31336        (WebInspector.CallStackSidebarPane.prototype.update):
31337        (WebInspector.CallStackSidebarPane.prototype.setSelectedCallFrame):
31338        (WebInspector.CallStackSidebarPane.prototype._selectedCallFrameIndex):
31339        (WebInspector.CallStackSidebarPane.prototype._placardSelected):
31340        (WebInspector.CallStackSidebarPane.Placard):
31341        (WebInspector.CallStackSidebarPane.Placard.prototype._update):
31342        * inspector/front-end/ConsoleView.js:
31343        * inspector/front-end/DebuggerModel.js:
31344        (WebInspector.DebuggerModel.prototype._globalObjectCleared):
31345        (WebInspector.DebuggerModel.prototype._didEditScriptSource):
31346        (WebInspector.DebuggerModel.prototype._setDebuggerPausedDetails):
31347        (WebInspector.DebuggerModel.prototype._pausedScript):
31348        (WebInspector.DebuggerModel.prototype._resumedScript):
31349        (WebInspector.DebuggerModel.prototype.isPaused):
31350        (WebInspector.DebuggerModel.prototype.setSelectedCallFrame.updateExecutionLine):
31351        (WebInspector.DebuggerModel.prototype.setSelectedCallFrame):
31352        (WebInspector.DebuggerModel.prototype.selectedCallFrame):
31353        (WebInspector.DebuggerModel.prototype.evaluateOnSelectedCallFrame):
31354        (WebInspector.DebuggerModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
31355        (WebInspector.DebuggerModel.prototype.getSelectedCallFrameVariables):
31356        (WebInspector.DebuggerModel.prototype.setBreakpointsActive):
31357        (WebInspector.DebuggerModel.prototype.breakpointsActive):
31358        (WebInspector.DebuggerModel.CallFrame):
31359        (WebInspector.DebuggerModel.CallFrame.prototype.get script):
31360        (WebInspector.DebuggerModel.CallFrame.prototype.get type):
31361        (WebInspector.DebuggerModel.CallFrame.prototype.get scopeChain):
31362        (WebInspector.DebuggerModel.CallFrame.prototype.get this):
31363        (WebInspector.DebuggerModel.CallFrame.prototype.get functionName):
31364        (WebInspector.DebuggerModel.CallFrame.prototype.get location):
31365        (WebInspector.DebuggerModel.CallFrame.prototype.evaluate):
31366        (WebInspector.DebuggerModel.CallFrame.prototype.createLiveLocation):
31367        (WebInspector.DebuggerModel.CallFrame.prototype.dispose):
31368        (WebInspector.DebuggerPausedDetails):
31369        (WebInspector.DebuggerPausedDetails.prototype.dispose):
31370        * inspector/front-end/DebuggerPresentationModel.js:
31371        (WebInspector.DebuggerPresentationModel):
31372        (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
31373        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
31374        (WebInspector.DebuggerPresentationModel.prototype._callFrameSelected):
31375        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
31376        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
31377        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
31378        * inspector/front-end/JavaScriptSource.js:
31379        (WebInspector.JavaScriptSource.prototype.setBreakpoint):
31380        * inspector/front-end/JavaScriptSourceFrame.js:
31381        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
31382        * inspector/front-end/Script.js:
31383        (WebInspector.Script.prototype.setSourceMapping):
31384        (WebInspector.Script.prototype.createLiveLocation):
31385        (WebInspector.Script.Location.prototype.update):
31386        * inspector/front-end/ScriptMapping.js:
31387        (WebInspector.LiveLocation):
31388        (WebInspector.LiveLocation.prototype.update):
31389        (WebInspector.LiveLocation.prototype.dispose):
31390        * inspector/front-end/ScriptsPanel.js:
31391        (WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
31392        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
31393        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
31394        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
31395        * inspector/front-end/UISourceCode.js:
31396
313972012-04-25  Yury Semikhatsky  <yurys@chromium.org>
31398
31399        Web Inspector: use composite node provider for diff nodes in heap profiler
31400        https://bugs.webkit.org/show_bug.cgi?id=84849
31401
31402        Inroduced HeapSnapshotDiffNodesProvider which is basically a composite provider
31403        combining providers for added and deleted nodes. This allowed to remove custom
31404        implementation of HeapSnapshotGridNode.prototype.populateChildren.
31405
31406        Reviewed by Pavel Feldman.
31407
31408        * inspector/front-end/HeapSnapshot.js:
31409        (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByNodeField): moved index assignment to sortByComparator
31410        so that it is done only once.
31411        (WebInspector.HeapSnapshotNodesProvider.prototype.sort.sortByComparator):
31412        (WebInspector.HeapSnapshotNodesProvider.prototype.sort):
31413        * inspector/front-end/HeapSnapshotGridNodes.js:
31414        (WebInspector.HeapSnapshotGridNode):
31415        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
31416        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
31417        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
31418        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
31419        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
31420        (WebInspector.HeapSnapshotGridNode.prototype.sort):
31421        (WebInspector.HeapSnapshotDiffNodesProvider):
31422        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.dispose):
31423        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.isEmpty):
31424        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems):
31425        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems.didReceiveDeletedItems):
31426        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.serializeNextItems.didReceiveAddedItems):
31427        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind.afterSort):
31428        (WebInspector.HeapSnapshotDiffNodesProvider.prototype.sortAndRewind):
31429        (WebInspector.HeapSnapshotDiffNode):
31430        (WebInspector.HeapSnapshotDiffNode._createProvider):
31431        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
31432
314332012-04-25  Nikolas Zimmermann  <nzimmermann@rim.com>
31434
31435        Refactor to/from/animatedType creation, to share more code between animators
31436        https://bugs.webkit.org/show_bug.cgi?id=84846
31437
31438        Reviewed by Antti Koivisto.
31439
31440        Share more code bewteen animators, doesn't change functionality yet, except for one bug in SVGAnimatedString.
31441        SVGAnimatedString used to mutate the from/to values during animation, leading to problems in animate-element-31-t.svg.
31442        It now needs a rebaseline, now that this bug is fixed as side-effect.
31443
31444        * svg/SVGAnimateColorElement.cpp:
31445        (WebCore::attributeValueIsCurrentColor):
31446        (WebCore::SVGAnimateColorElement::determinePropertyValueTypes):
31447        (WebCore):
31448        * svg/SVGAnimateColorElement.h:
31449        (SVGAnimateColorElement):
31450        * svg/SVGAnimateElement.cpp:
31451        (WebCore::SVGAnimateElement::SVGAnimateElement):
31452        * svg/SVGAnimateElement.h:
31453        (SVGAnimateElement):
31454        * svg/SVGAnimatedAngle.cpp:
31455        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
31456        * svg/SVGAnimatedBoolean.cpp:
31457        (WebCore::SVGAnimatedBooleanAnimator::calculateAnimatedValue):
31458        * svg/SVGAnimatedColor.cpp:
31459        (WebCore::adjustForCurrentColor):
31460        (WebCore):
31461        (WebCore::parseColorFromString):
31462        (WebCore::SVGAnimatedColorAnimator::calculateAnimatedValue):
31463        * svg/SVGAnimatedEnumeration.cpp:
31464        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
31465        * svg/SVGAnimatedInteger.cpp:
31466        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
31467        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
31468        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
31469        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
31470        * svg/SVGAnimatedLength.cpp:
31471        (WebCore::parseLengthFromString):
31472        (WebCore):
31473        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
31474        * svg/SVGAnimatedLengthList.cpp:
31475        (WebCore::parseLengthListFromString):
31476        (WebCore):
31477        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
31478        * svg/SVGAnimatedNumber.cpp:
31479        (WebCore::parseNumberFromString):
31480        (WebCore):
31481        (WebCore::SVGAnimatedNumberAnimator::calculateAnimatedValue):
31482        * svg/SVGAnimatedNumberList.cpp:
31483        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
31484        * svg/SVGAnimatedNumberOptionalNumber.cpp:
31485        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
31486        * svg/SVGAnimatedPointList.cpp:
31487        (WebCore::SVGAnimatedPointListAnimator::calculateAnimatedValue):
31488        * svg/SVGAnimatedPreserveAspectRatio.cpp:
31489        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::calculateAnimatedValue):
31490        * svg/SVGAnimatedRect.cpp:
31491        (WebCore::SVGAnimatedRectAnimator::calculateAnimatedValue):
31492        * svg/SVGAnimatedString.cpp:
31493        (WebCore::parseStringFromString):
31494        (WebCore):
31495        (WebCore::SVGAnimatedStringAnimator::calculateAnimatedValue):
31496        * svg/SVGAnimatedTransformList.cpp:
31497        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
31498        * svg/SVGAnimationElement.cpp:
31499        (WebCore::SVGAnimationElement::SVGAnimationElement):
31500        (WebCore::SVGAnimationElement::adjustForInheritance):
31501        (WebCore):
31502        (WebCore::inheritsFromProperty):
31503        (WebCore::SVGAnimationElement::determinePropertyValueTypes):
31504        * svg/SVGAnimationElement.h:
31505        (WebCore::SVGAnimationElement::fromPropertyValueType):
31506        (WebCore::SVGAnimationElement::toPropertyValueType):
31507        (SVGAnimationElement):
31508        (WebCore::SVGAnimationElement::adjustForInheritance):
31509        (WebCore::SVGAnimationElement::adjustFromToValues):
31510        (WebCore::SVGAnimationElement::adjustFromToListValues):
31511
315122012-04-25  Nikolas Zimmermann  <nzimmermann@rim.com>
31513
31514        Share single calculateFromToValues/calculateFromByValues between all SVGAnimatedTypeAnimators
31515        https://bugs.webkit.org/show_bug.cgi?id=84832
31516
31517        Reviewed by Antti Koivisto.
31518
31519        calculateFromAndToValues / calculateFromAndByValues don't need to be spread across all SVGAnimatedTypeAnimators.
31520        Centralize these new implementations in SVGAnimatedTypeAnimator.h. Refactored addAnimatedTypes() from constructFromAndByValues.
31521
31522        calculateFromAndToValues:
31523            from = constructFromString(fromString)
31524            to = constructFromString(toString)
31525        
31526        calculateFromAndByValues:
31527            from = constructFromString(fromString)
31528            to = constructFromString(byString)
31529            addAnimatedTypes(from, to)
31530
31531        Doesn't affect any tests, just refactors code.
31532
31533        * svg/SVGAnimateElement.cpp:
31534        (WebCore::SVGAnimateElement::calculateFromAndToValues):
31535        (WebCore::SVGAnimateElement::calculateFromAndByValues):
31536        * svg/SVGAnimatedAngle.cpp:
31537        (WebCore::SVGAnimatedAngleAnimator::addAnimatedTypes):
31538        * svg/SVGAnimatedAngle.h:
31539        (SVGAnimatedAngleAnimator):
31540        * svg/SVGAnimatedBoolean.cpp:
31541        (WebCore::SVGAnimatedBooleanAnimator::addAnimatedTypes):
31542        * svg/SVGAnimatedBoolean.h:
31543        (SVGAnimatedBooleanAnimator):
31544        * svg/SVGAnimatedColor.cpp:
31545        (WebCore::SVGAnimatedColorAnimator::addAnimatedTypes):
31546        * svg/SVGAnimatedColor.h:
31547        (SVGAnimatedColorAnimator):
31548        * svg/SVGAnimatedEnumeration.cpp:
31549        (WebCore::SVGAnimatedEnumerationAnimator::addAnimatedTypes):
31550        * svg/SVGAnimatedEnumeration.h:
31551        (SVGAnimatedEnumerationAnimator):
31552        * svg/SVGAnimatedInteger.cpp:
31553        (WebCore::SVGAnimatedIntegerAnimator::addAnimatedTypes):
31554        * svg/SVGAnimatedInteger.h:
31555        (SVGAnimatedIntegerAnimator):
31556        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
31557        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::addAnimatedTypes):
31558        * svg/SVGAnimatedIntegerOptionalInteger.h:
31559        (SVGAnimatedIntegerOptionalIntegerAnimator):
31560        * svg/SVGAnimatedLength.cpp:
31561        (WebCore::SVGAnimatedLengthAnimator::addAnimatedTypes):
31562        * svg/SVGAnimatedLength.h:
31563        (SVGAnimatedLengthAnimator):
31564        * svg/SVGAnimatedLengthList.cpp:
31565        (WebCore::SVGAnimatedLengthListAnimator::addAnimatedTypes):
31566        * svg/SVGAnimatedLengthList.h:
31567        (SVGAnimatedLengthListAnimator):
31568        * svg/SVGAnimatedNumber.cpp:
31569        (WebCore::SVGAnimatedNumberAnimator::addAnimatedTypes):
31570        * svg/SVGAnimatedNumber.h:
31571        (SVGAnimatedNumberAnimator):
31572        * svg/SVGAnimatedNumberList.cpp:
31573        (WebCore::SVGAnimatedNumberListAnimator::addAnimatedTypes):
31574        * svg/SVGAnimatedNumberList.h:
31575        (SVGAnimatedNumberListAnimator):
31576        * svg/SVGAnimatedNumberOptionalNumber.cpp:
31577        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::addAnimatedTypes):
31578        * svg/SVGAnimatedNumberOptionalNumber.h:
31579        (SVGAnimatedNumberOptionalNumberAnimator):
31580        * svg/SVGAnimatedPath.cpp:
31581        (WebCore::SVGAnimatedPathAnimator::constructFromString):
31582        (WebCore::SVGAnimatedPathAnimator::addAnimatedTypes):
31583        * svg/SVGAnimatedPath.h:
31584        (SVGAnimatedPathAnimator):
31585        * svg/SVGAnimatedPointList.cpp:
31586        (WebCore::SVGAnimatedPointListAnimator::addAnimatedTypes):
31587        * svg/SVGAnimatedPointList.h:
31588        (SVGAnimatedPointListAnimator):
31589        * svg/SVGAnimatedPreserveAspectRatio.cpp:
31590        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::addAnimatedTypes):
31591        * svg/SVGAnimatedPreserveAspectRatio.h:
31592        (SVGAnimatedPreserveAspectRatioAnimator):
31593        * svg/SVGAnimatedRect.cpp:
31594        (WebCore::SVGAnimatedRectAnimator::addAnimatedTypes):
31595        * svg/SVGAnimatedRect.h:
31596        (SVGAnimatedRectAnimator):
31597        * svg/SVGAnimatedString.cpp:
31598        (WebCore::SVGAnimatedStringAnimator::addAnimatedTypes):
31599        * svg/SVGAnimatedString.h:
31600        (SVGAnimatedStringAnimator):
31601        * svg/SVGAnimatedTransformList.cpp:
31602        (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
31603        (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
31604        (WebCore::SVGAnimatedTransformListAnimator::addAnimatedTypes):
31605        (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
31606        * svg/SVGAnimatedTransformList.h:
31607        (SVGAnimatedTransformListAnimator):
31608        * svg/SVGAnimatedTypeAnimator.h:
31609        (SVGAnimatedTypeAnimator):
31610        (WebCore::SVGAnimatedTypeAnimator::calculateFromAndToValues):
31611        (WebCore::SVGAnimatedTypeAnimator::calculateFromAndByValues):
31612        (WebCore::SVGAnimatedTypeAnimator::setContextElement):
31613
316142012-04-25  Andreas Kling  <kling@webkit.org>
31615
31616        Shrink RenderText by 8 bytes on 64-bit.
31617        <http://webkit.org/b/84828>
31618
31619        Reviewed by Maciej Stachowiak.
31620
31621        Reorder the members so that the bits in RenderText falls into the padding at
31622        the end of RenderObject on 64-bit. Updated the compile-time size assertion to
31623        account for the new object structure.
31624
31625        This shrinks RenderText from 104 to 96 bytes on 64-bit release builds.
31626
31627        * rendering/RenderText.cpp:
31628        (SameSizeAsRenderText):
31629        (WebCore::RenderText::RenderText):
31630        * rendering/RenderText.h:
31631        (RenderText):
31632
316332012-04-25  Raymond Toy  <rtoy@google.com>
31634
31635        No audio from MediaElementAudioSourceNode
31636        https://bugs.webkit.org/show_bug.cgi?id=84669
31637
31638        MediaElementAudioSourceNode needs custom propagatesSilence() to
31639        return false to indicate the node never propagates silence.
31640        
31641        Reviewed by Chris Rogers.
31642
31643        * Modules/webaudio/MediaElementAudioSourceNode.h:
31644        (MediaElementAudioSourceNode): Add propagatesSilence().
31645
316462012-04-25  Xianzhu Wang  <wangxianzhu@chromium.org>
31647
31648        Web Inspector: Incorrect highlight position of inspected element in a scrolled page
31649        https://bugs.webkit.org/show_bug.cgi?id=84755
31650
31651        Reviewed by Pavel Feldman.
31652
31653        Test: inspector/elements/highlight-node-scroll.html
31654
31655        * inspector/DOMNodeHighlighter.cpp: Ensures the highlight position is in page coordinates.
31656
316572012-04-24  Yury Semikhatsky  <yurys@chromium.org>
31658
31659        Unreviewed. Revert part of the change r115063 which commented out
31660        real worker creation. It was commited by mistake.
31661
31662        * inspector/front-end/HeapSnapshotProxy.js:
31663        (WebInspector.HeapSnapshotWorker):
31664
316652012-04-24  Jon Lee  <jonlee@apple.com>
31666
31667        New Notification constructor do not take into account security origin permissions
31668        https://bugs.webkit.org/show_bug.cgi?id=84825
31669        <rdar://problem/11315405>
31670
31671        Reviewed by Darin Adler.
31672
31673        Tests requires support for notifications on Mac (see 79492).
31674
31675        When the task timer fires, we should check to see that the notification has permission
31676        to show. If not, we fire the onError event.
31677
31678        * notifications/Notification.cpp:
31679        (WebCore::Notification::Notification): Since the timer may show, or call the onerror event,
31680        we rename it from m_showTaskTimer. to m_taskTimer.
31681        (WebCore::Notification::dispatchErrorEvent): The default constructor of ErrorEvent doesn't
31682        create the proper event object. Create it using Event::create().
31683        (WebCore::Notification::taskTimerFired): Check to see that we have permission first.
31684        * notifications/Notification.h:
31685        (Notification):
31686
316872012-04-24  Simon Fraser  <simon.fraser@apple.com>
31688
31689        Add a logging channel and some ouput for compositing
31690        https://bugs.webkit.org/show_bug.cgi?id=84817
31691
31692        Reviewed by Darin Adler.
31693
31694        Add a logging channel called "Compositing".
31695        
31696        Output useful information to this channel, including
31697        a line for each composited layer, its composited bounds,
31698        the reason it was composited, the backing store megapixels,
31699        and a count of total composited layers and total backing
31700        store megapixels.
31701
31702        * platform/Logging.cpp:
31703        (WebCore):
31704        (WebCore::getChannelFromName):
31705        * platform/Logging.h:
31706        (WebCore):
31707        * platform/graphics/GraphicsLayer.cpp:
31708        (WebCore::GraphicsLayer::backingStoreArea):
31709        * platform/graphics/GraphicsLayer.h:
31710        (GraphicsLayer):
31711        * platform/graphics/ca/GraphicsLayerCA.cpp:
31712        (WebCore::GraphicsLayerCA::backingStoreArea):
31713        (WebCore):
31714        * platform/graphics/ca/GraphicsLayerCA.h:
31715        (GraphicsLayerCA):
31716        * platform/mac/LoggingMac.mm:
31717        (WebCore::initializeLoggingChannelsIfNecessary):
31718        * rendering/RenderLayerBacking.cpp:
31719        (WebCore::RenderLayerBacking::nameForLayer):
31720        (WebCore::RenderLayerBacking::backingStoreArea):
31721        (WebCore):
31722        * rendering/RenderLayerBacking.h:
31723        (RenderLayerBacking):
31724        * rendering/RenderLayerCompositor.cpp:
31725        (WebCore):
31726        (WebCore::compositingLogEnabled):
31727        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
31728        (WebCore::RenderLayerCompositor::updateCompositingLayers):
31729        (WebCore::RenderLayerCompositor::logCompositingInfo):
31730        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
31731        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
31732        (WebCore::RenderLayerCompositor::reasonForCompositing):
31733        * rendering/RenderLayerCompositor.h:
31734        (RenderLayerCompositor):
31735
317362012-04-24  Kulanthaivel Palanichamy  <kulanthaivel@codeaurora.org>
31737
31738        getMatchedCSSRules() should return null when the second argument is an unrecognized pseudo-element name
31739        https://bugs.webkit.org/show_bug.cgi?id=83298
31740
31741        Reviewed by Ojan Vafai.
31742
31743        I couldn't find any specification or any meaningful discussion on this API, but I
31744        assume that it shouldn't be any different from window.getComputedStyle()
31745        as far as the parameters are concerned.
31746
31747        Test: fast/dom/Window/getMatchedCSSRules-with-invalid-pseudo-elements.html
31748
31749        * page/DOMWindow.cpp:
31750        (WebCore::DOMWindow::getMatchedCSSRules):
31751        * page/DOMWindow.idl:
31752
317532012-04-24  Anders Carlsson  <andersca@apple.com>
31754
31755        overflow: hidden on the main frame is broken with threaded scrolling
31756        https://bugs.webkit.org/show_bug.cgi?id=84819
31757        <rdar://problem/10920677>
31758
31759        Reviewed by Darin Adler.
31760
31761        Pass along the horizontal and vertical scrollbar modes to the scrolling tree and use it
31762        to determine if wheel events should be handled or not. This matches what we do for non-threaded scrolling.
31763
31764        * page/scrolling/ScrollingCoordinator.cpp:
31765        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
31766        (WebCore::ScrollingCoordinator::setScrollParameters):
31767        * page/scrolling/ScrollingCoordinator.h:
31768        (ScrollParameters):
31769        * page/scrolling/ScrollingTreeNode.cpp:
31770        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
31771        (WebCore::ScrollingTreeNode::update):
31772        * page/scrolling/ScrollingTreeNode.h:
31773        (WebCore::ScrollingTreeNode::canHaveScrollbars):
31774        (ScrollingTreeNode):
31775        * page/scrolling/ScrollingTreeState.cpp:
31776        (WebCore::ScrollingTreeState::ScrollingTreeState):
31777        (WebCore::ScrollingTreeState::setHorizontalScrollbarMode):
31778        (WebCore):
31779        (WebCore::ScrollingTreeState::setVerticalScrollbarMode):
31780        * page/scrolling/ScrollingTreeState.h:
31781        (WebCore::ScrollingTreeState::horizontalScrollbarMode):
31782        (ScrollingTreeState):
31783        (WebCore::ScrollingTreeState::verticalScrollbarMode):
31784        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
31785        (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
31786
317872012-04-24  Adrienne Walker  <enne@google.com>
31788
31789        [chromium] Don't call calculateRenderPasses in CCLayerTreeHostImpl::scrollBegin()
31790        https://bugs.webkit.org/show_bug.cgi?id=84807
31791
31792        Reviewed by James Robinson.
31793
31794        Instead of calculate render passes and quads and tracking damage,
31795        simply calculate the updated render layer list, which is what is
31796        needed for scrolling.  This prevents a willDraw/didDraw mismatch on
31797        layers.
31798
31799        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
31800        (WebCore::CCLayerTreeHostImpl::calculateRenderSurfaceLayerList):
31801        (WebCore):
31802        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
31803        (WebCore::CCLayerTreeHostImpl::ensureMostRecentRenderSurfaceLayerList):
31804        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
31805        (CCLayerTreeHostImpl):
31806
318072012-04-24  Dana Jansens  <danakj@chromium.org>
31808
31809        [chromium] Unbounded draws should use clip to limit their damage to opaque tracking
31810        https://bugs.webkit.org/show_bug.cgi?id=84494
31811
31812        Reviewed by Adrienne Walker.
31813
31814        Unit test: PlatformContextSkiaTest.UnboundedDrawsAreClipped
31815
31816        * platform/graphics/skia/OpaqueRegionSkia.cpp:
31817        (WebCore::OpaqueRegionSkia::didDrawRect):
31818        (WebCore::OpaqueRegionSkia::didDrawPath):
31819        (WebCore::OpaqueRegionSkia::didDrawPoints):
31820        (WebCore::OpaqueRegionSkia::didDrawBounded):
31821        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
31822        * platform/graphics/skia/OpaqueRegionSkia.h:
31823        (OpaqueRegionSkia):
31824
318252012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
31826
31827        Implement createTBody for table element.
31828        https://bugs.webkit.org/show_bug.cgi?id=84465
31829
31830        Reviewed by Ojan Vafai.
31831
31832        Implement createTBody of table element to allow creating tbodies from JS.
31833        It's following the specification http://dev.w3.org/html5/spec/the-table-element.html#dom-table-createtbody.
31834
31835        Tests: fast/table/table-create-tbody-existing-tbody.html
31836               fast/table/table-create-tbody-multiple-tbody.html
31837               fast/table/table-create-tbody.html
31838
31839        * html/HTMLTableElement.cpp:
31840        (WebCore::HTMLTableElement::createTBody):
31841        (WebCore):
31842        * html/HTMLTableElement.h:
31843        (HTMLTableElement):
31844        * html/HTMLTableElement.idl:
31845
318462012-04-24  Anders Carlsson  <andersca@apple.com>
31847
31848        ScrollingCoordinator::setScrollParameters should take a single struct
31849        https://bugs.webkit.org/show_bug.cgi?id=84816
31850
31851        Reviewed by Andreas Kling.
31852
31853        * page/scrolling/ScrollingCoordinator.cpp:
31854        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
31855        (WebCore::ScrollingCoordinator::setScrollParameters):
31856        * page/scrolling/ScrollingCoordinator.h:
31857        (ScrollingCoordinator):
31858        (ScrollParameters):
31859        * page/scrolling/ScrollingCoordinatorNone.cpp:
31860        (WebCore::ScrollingCoordinator::setScrollParameters):
31861        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
31862        (WebCore::ScrollingCoordinator::setScrollParameters):
31863
318642012-04-24  Adam Klein  <adamk@chromium.org>
31865
31866        Remove unused undefined() method from ScriptValue
31867        https://bugs.webkit.org/show_bug.cgi?id=84751
31868
31869        Reviewed by Kentaro Hara.
31870
31871        * bindings/js/ScriptValue.h:
31872        (ScriptValue):
31873        * bindings/v8/ScriptValue.h:
31874        (ScriptValue):
31875
318762012-04-24  Yong Li  <yoli@rim.com>
31877
31878        ASSERT failure in RenderLayer::computeRepaintRects
31879        https://bugs.webkit.org/show_bug.cgi?id=84480
31880
31881        Reviewed by Simon Fraser.
31882
31883        Update visibility status if necessary before updating
31884        compositing state in RenderLayer::styleChanged().
31885
31886        No new tests because this is obviously right thing to do
31887        and creating new test seems too much for this small change.
31888
31889        * rendering/RenderLayer.cpp:
31890        (WebCore::RenderLayer::styleChanged):
31891
318922012-04-24  Kent Tamura  <tkent@chromium.org>
31893
31894        Calendar Picker: Open a calendar picker by keyboard operation
31895        https://bugs.webkit.org/show_bug.cgi?id=84680
31896
31897        Reviewed by Kentaro Hara.
31898
31899        - Open a calendar picker by the down arrow key.
31900        - Remove stepping down/up by keyboard and wheel operations.
31901          This behavior was for text fields with spin buttons. Because the date
31902        type doesn't have spin buttons, we should remove this behavior.
31903
31904        No new tests for opening a calendar picker. This behavior is not
31905        testable by DRT yet. For removal of stepping up/down,
31906        fast/forms/date/date-stepup-stepdown-from-renderer.html is updated.
31907
31908        * html/BaseDateAndTimeInputType.cpp:
31909        (WebCore::BaseDateAndTimeInputType::handleKeydownEvent):
31910        Check shouldHaveSpinButton() before spin button key operations.
31911        (WebCore::BaseDateAndTimeInputType::handleWheelEvent):
31912        Check shouldHaveSpinButton() before spin button wheel operations.
31913        * html/BaseDateAndTimeInputType.h:
31914        (BaseDateAndTimeInputType):
31915        Make handleKeydownEvent() protected because a subclass overrides it.
31916        * html/DateInputType.cpp:
31917        (WebCore::DateInputType::handleKeydownEvent):
31918        Open a calendar picker by the down arrow key.
31919        * html/DateInputType.h:
31920        (DateInputType): Add handleKeydownEvent() declaration.
31921        * html/shadow/CalendarPickerElement.h:
31922        (CalendarPickerElement): Make openPopup() public because DateInputType calls it.
31923
319242012-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
31925
31926        Unreviewed, rolling out r115099, r115102, and r115127.
31927        http://trac.webkit.org/changeset/115099
31928        http://trac.webkit.org/changeset/115102
31929        http://trac.webkit.org/changeset/115127
31930        https://bugs.webkit.org/show_bug.cgi?id=84809
31931
31932        Made html5lib/runner.html crash, spot fix didn't help so
31933        rolling out so original author can do over. (Requested by
31934        kling on #webkit).
31935
31936        * dom/Element.cpp:
31937        (WebCore::Element::parserSetAttributes):
31938        (WebCore::Element::normalizeAttributes):
31939        * dom/Element.h:
31940        (Element):
31941        * dom/ElementAttributeData.cpp:
31942        (WebCore::AttributeVector::removeAttribute):
31943        (WebCore):
31944        * dom/ElementAttributeData.h:
31945        (AttributeVector):
31946        (WebCore::AttributeVector::AttributeVector):
31947        (WebCore):
31948        (WebCore::AttributeVector::getAttributeItem):
31949        (WebCore::AttributeVector::getAttributeItemIndex):
31950        (WebCore::AttributeVector::insertAttribute):
31951        (WebCore::ElementAttributeData::getAttributeItem):
31952        (WebCore::ElementAttributeData::getAttributeItemIndex):
31953        (WebCore::ElementAttributeData::attributeVector):
31954        (WebCore::ElementAttributeData::clonedAttributeVector):
31955        (ElementAttributeData):
31956        * html/parser/HTMLConstructionSite.cpp:
31957        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
31958        * html/parser/HTMLToken.h:
31959        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
31960        * html/parser/HTMLTreeBuilder.cpp:
31961        (WebCore::HTMLTreeBuilder::processFakeStartTag):
31962        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
31963        * html/parser/HTMLTreeBuilder.h:
31964        * html/parser/TextDocumentParser.cpp:
31965        (WebCore::TextDocumentParser::insertFakePreElement):
31966        * xml/XMLErrors.cpp:
31967        (WebCore::createXHTMLParserErrorHeader):
31968        (WebCore::XMLErrors::insertErrorMessageBlock):
31969        * xml/parser/MarkupTokenBase.h:
31970        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
31971        (WebCore::AtomicMarkupTokenBase::getAttributeItem):
31972        (WebCore::AtomicMarkupTokenBase::attributes):
31973        (AtomicMarkupTokenBase):
31974        (WebCore::::initializeAttributes):
31975        * xml/parser/XMLToken.h:
31976        (WebCore::AtomicXMLToken::AtomicXMLToken):
31977
319782012-04-24  Jeffrey Pfau  <jpfau@apple.com>
31979
31980        Prevent drag and drop from setting file URLs
31981        https://bugs.webkit.org/show_bug.cgi?id=76596
31982
31983        Reviewed by Enrica Casucci.
31984
31985        Blacklisted file URLs from being set via dataTransfer.setData for specific types.
31986
31987        * platform/mac/ClipboardMac.mm:
31988        (WebCore::ClipboardMac::setData):
31989
319902012-04-24  Enrica Casucci  <enrica@apple.com>
31991
31992        REGRESSION (r109022) Safari not placing service data on pasteboard.
31993        https://bugs.webkit.org/show_bug.cgi?id=84766
31994        <rdar://problem/11085756>
31995        
31996        The support for OS X services requires that the write operations to
31997        the pasteboard occur synchronously. This behavior was changed with r109022.
31998        This change removes the original synchronous call to the WebProcess to perform
31999        the pasteboard write that had become asynchronous after r109022.
32000        It implements instead a synchronous call to retrive the content to be placed
32001        in the pasteboard.
32002
32003        Reviewed by Alexey Proskuryakov.
32004
32005        * WebCore.exp.in:
32006        * editing/Editor.h:
32007        * editing/mac/EditorMac.mm:
32008        (WebCore::Editor::writeSelectionToPasteboard):
32009        (WebCore::Editor::stringSelectionForPasteboard): Added.
32010        (WebCore::Editor::dataSelectionForPasteboard): Added.
32011        * platform/Pasteboard.h:
32012        * platform/mac/PasteboardMac.mm:
32013        (WebCore::Pasteboard::getStringSelection): Added.
32014        (WebCore::Pasteboard::getDataSelection): Added.
32015        (WebCore::Pasteboard::writeSelectionForTypes):
32016        (WebCore::Pasteboard::writeSelection):
32017
320182012-04-24  Dana Jansens  <danakj@chromium.org>
32019
32020        [chromium] Image masks are considered opaque incorrectly
32021        https://bugs.webkit.org/show_bug.cgi?id=84275
32022
32023        Reviewed by Adrienne Walker.
32024
32025        Match the behaviour of SkCanvas layers more closely while tracking
32026        opaque paints. SkCanvas layers actually act as a separate device
32027        (ie. pixels) and when the layer is popped off, the pixels are copied
32028        down to the layer below.
32029
32030        While we can use the total clip to decide what pixels the the
32031        drawing operation will affect in the final device, the blending
32032        down through layers needs to consider each layer carefully.
32033
32034        In this case the image mask is drawn into a layer which is copied
32035        down using the DestinationIn operation. Since the layer contains
32036        non-opaque pixels, the DestinationIn copy can destroy opaque
32037        areas in the next layer. We add OpaqueRegionSkia::FillByCopy to
32038        distinguish the case where we are copying a block of pixels, and the
32039        alpha values are essentially unknown.
32040
32041        Unit test: PlatformContextSkiaTest.trackImageMask
32042                   PlatformContextSkiaTest.trackImageMaskWithOpaqueRect
32043
32044        * platform/graphics/skia/OpaqueRegionSkia.cpp:
32045        (WebCore::paintIsOpaque):
32046        (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
32047        (WebCore::OpaqueRegionSkia::pushCanvasLayer):
32048        (WebCore::OpaqueRegionSkia::popCanvasLayer):
32049        (WebCore::OpaqueRegionSkia::didDrawRect):
32050        (WebCore::OpaqueRegionSkia::didDrawPath):
32051        (WebCore::OpaqueRegionSkia::didDrawPoints):
32052        (WebCore::OpaqueRegionSkia::didDrawBounded):
32053        (WebCore::OpaqueRegionSkia::didDraw):
32054        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
32055        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
32056        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
32057        (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
32058        * platform/graphics/skia/OpaqueRegionSkia.h:
32059        (OpaqueRegionSkia):
32060        (CanvasLayerState):
32061        * platform/graphics/skia/PlatformContextSkia.cpp:
32062        (WebCore::PlatformContextSkia::restoreLayer):
32063
320642012-04-24  Alexandru Chiculita  <achicu@adobe.com>
32065
32066        CSS Shaders: Repainting the FECustomFilter requires full source image
32067        https://bugs.webkit.org/show_bug.cgi?id=76689
32068
32069        Reviewed by Dean Jackson..
32070
32071        When a pixel of a filtered layer changes we need to update the whole bounding box of the layer and
32072        not just the dirty rectangle. That's because the shader might change the color of any of the pixels inside the box.
32073
32074        Added tests where a shader is moving and rotating the contents and the actual
32075        dirty box of the source image is not the same as the output dirty rectangle.
32076
32077        Tests: css3/filters/custom/filter-repaint-custom-clipped.html
32078               css3/filters/custom/filter-repaint-custom-rotated.html
32079               css3/filters/custom/filter-repaint-custom.html
32080
32081        * rendering/FilterEffectRenderer.cpp:
32082        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
32083        (WebCore::FilterEffectRenderer::build):
32084        (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
32085        * rendering/FilterEffectRenderer.h:
32086        (FilterEffectRenderer):
32087        (WebCore::FilterEffectRenderer::hasCustomShaderFilter):
32088        * rendering/RenderLayer.cpp:
32089        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
32090
320912012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
32092
32093        Replace occurences of style selector from variables and methods names by style resolver.
32094        https://bugs.webkit.org/show_bug.cgi?id=84765
32095
32096        Reviewed by Andreas Kling.
32097
32098        Rename methods and variables to follow the new name StyleResolver. It requires to update the
32099        local variables, methods parameters, and function names to match the new name and to remove
32100        the concept of "selector" to avoid clashing with the CSS concept. The next and last patch
32101        will be to rename CSSStyleSelector file and update the includes.
32102
32103        No new tests : just renaming the variables and method names. No behavior changes expected.
32104
32105        * css/CSSFontSelector.cpp:
32106        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
32107        * css/CSSGradientValue.cpp:
32108        (WebCore::CSSGradientValue::addStops):
32109        * css/CSSPageRule.cpp:
32110        (WebCore::CSSPageRule::setSelectorText):
32111        * css/CSSStyleRule.cpp:
32112        (WebCore::CSSStyleRule::setSelectorText):
32113        * css/CSSStyleSheet.cpp:
32114        (WebCore::StyleSheetInternal::styleSheetChanged):
32115        * css/MediaQueryEvaluator.cpp:
32116        (WebCore::MediaQueryEvaluator::eval):
32117        * css/MediaQueryMatcher.cpp:
32118        (WebCore::MediaQueryMatcher::prepareEvaluator):
32119        (WebCore::MediaQueryMatcher::styleResolverChanged):
32120        * css/MediaQueryMatcher.h:
32121        (MediaQueryMatcher):
32122        * css/PropertySetCSSStyleDeclaration.cpp:
32123        (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
32124        * css/StyleBuilder.cpp:
32125        (WebCore::ApplyPropertyExpanding::applyInheritValue):
32126        (WebCore::ApplyPropertyExpanding::applyInitialValue):
32127        (WebCore::ApplyPropertyExpanding::applyValue):
32128        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
32129        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
32130        (WebCore::ApplyPropertyDefault::applyValue):
32131        (WebCore::ApplyPropertyNumber::applyValue):
32132        (WebCore::ApplyPropertyStyleImage::applyValue):
32133        (WebCore::ApplyPropertyAuto::applyInheritValue):
32134        (WebCore::ApplyPropertyAuto::applyInitialValue):
32135        (WebCore::ApplyPropertyAuto::applyValue):
32136        (WebCore::ApplyPropertyClip::convertToLength):
32137        (WebCore::ApplyPropertyClip::applyInheritValue):
32138        (WebCore::ApplyPropertyClip::applyInitialValue):
32139        (WebCore::ApplyPropertyClip::applyValue):
32140        (WebCore::ApplyPropertyColor::applyInheritValue):
32141        (WebCore::ApplyPropertyColor::applyInitialValue):
32142        (WebCore::ApplyPropertyColor::applyValue):
32143        (WebCore::ApplyPropertyColor::applyColorValue):
32144        (WebCore::ApplyPropertyDirection::applyValue):
32145        (WebCore::ApplyPropertyLength::applyValue):
32146        (WebCore::ApplyPropertyString::applyValue):
32147        (WebCore::ApplyPropertyBorderRadius::applyValue):
32148        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
32149        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
32150        (WebCore::ApplyPropertyFillLayer::applyValue):
32151        (WebCore::ApplyPropertyComputeLength::applyValue):
32152        (WebCore::ApplyPropertyFont::applyInheritValue):
32153        (WebCore::ApplyPropertyFont::applyInitialValue):
32154        (WebCore::ApplyPropertyFont::applyValue):
32155        (WebCore::ApplyPropertyFontSize::applyInheritValue):
32156        (WebCore::ApplyPropertyFontSize::applyInitialValue):
32157        (WebCore::ApplyPropertyFontSize::applyValue):
32158        (WebCore::ApplyPropertyFontWeight::applyValue):
32159        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
32160        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
32161        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
32162        (WebCore::ApplyPropertyBorderImage::applyValue):
32163        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
32164        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
32165        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
32166        (WebCore::ApplyPropertyBorderImageSource::applyValue):
32167        (WebCore::ApplyPropertyCounter::applyInheritValue):
32168        (WebCore::ApplyPropertyCounter::applyValue):
32169        (WebCore::ApplyPropertyCursor::applyInheritValue):
32170        (WebCore::ApplyPropertyCursor::applyInitialValue):
32171        (WebCore::ApplyPropertyCursor::applyValue):
32172        (WebCore::ApplyPropertyTextAlign::applyValue):
32173        (WebCore::ApplyPropertyTextDecoration::applyValue):
32174        (WebCore::ApplyPropertyUnicodeBidi::applyValue):
32175        (WebCore::ApplyPropertyLineHeight::applyValue):
32176        (WebCore::ApplyPropertyPageSize::applyValue):
32177        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
32178        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
32179        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
32180        (WebCore::ApplyPropertyAnimation::map):
32181        (WebCore::ApplyPropertyAnimation::applyInheritValue):
32182        (WebCore::ApplyPropertyAnimation::applyInitialValue):
32183        (WebCore::ApplyPropertyAnimation::applyValue):
32184        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
32185        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
32186        (WebCore::ApplyPropertyOutlineStyle::applyValue):
32187        (WebCore::ApplyPropertyResize::applyValue):
32188        (WebCore::ApplyPropertyVerticalAlign::applyValue):
32189        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
32190        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
32191        (WebCore::ApplyPropertyAspectRatio::applyValue):
32192        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
32193        (WebCore::ApplyPropertyZoom::applyInheritValue):
32194        (WebCore::ApplyPropertyZoom::applyInitialValue):
32195        (WebCore::ApplyPropertyZoom::applyValue):
32196        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
32197        (WebCore::ApplyPropertyDisplay::applyInheritValue):
32198        (WebCore::ApplyPropertyDisplay::applyInitialValue):
32199        (WebCore::ApplyPropertyDisplay::applyValue):
32200        (WebCore::ApplyPropertyFlex::applyInheritValue):
32201        (WebCore::ApplyPropertyFlex::applyInitialValue):
32202        (WebCore::ApplyPropertyFlex::applyValue):
32203        * css/StyleBuilder.h:
32204        (WebCore::PropertyHandler::applyInheritValue):
32205        (WebCore::PropertyHandler::applyInitialValue):
32206        (WebCore::PropertyHandler::applyValue):
32207        * css/StyleMedia.cpp:
32208        (WebCore::StyleMedia::matchMedium):
32209        * dom/Document.cpp:
32210        (WebCore::Document::Document):
32211        (WebCore::Document::~Document):
32212        (WebCore::Document::setDocType):
32213        (WebCore::Document::childrenChanged):
32214        (WebCore::Document::setContentLanguage):
32215        (WebCore::Document::recalcStyle):
32216        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
32217        (WebCore::Document::styleForElementIgnoringPendingStylesheets):
32218        (WebCore::Document::styleForPage):
32219        (WebCore::Document::combineCSSFeatureFlags):
32220        (WebCore::Document::resetCSSFeatureFlags):
32221        (WebCore::Document::createStyleResolver):
32222        (WebCore::Document::clearStyleResolver):
32223        (WebCore::Document::clearPageUserSheet):
32224        (WebCore::Document::updatePageUserSheet):
32225        (WebCore::Document::clearPageGroupUserSheets):
32226        (WebCore::Document::updatePageGroupUserSheets):
32227        (WebCore::Document::addUserSheet):
32228        (WebCore::Document::processHttpEquiv):
32229        (WebCore::Document::setSelectedStylesheetSet):
32230        (WebCore::Document::removePendingSheet):
32231        (WebCore::Document::evaluateMediaQueryList):
32232        (WebCore::Document::styleResolverChanged):
32233        (WebCore::Document::analyzeStylesheetChange):
32234        (WebCore::Document::updateActiveStylesheets):
32235        * dom/Document.h:
32236        (WebCore::Document::styleResolverIfExists):
32237        (WebCore::Document::styleResolver):
32238        (Document):
32239        * dom/Element.cpp:
32240        (WebCore::StyleResolverParentPusher::StyleResolverParentPusher):
32241        (WebCore::StyleResolverParentPusher::push):
32242        (WebCore::StyleResolverParentPusher::~StyleResolverParentPusher):
32243        (StyleResolverParentPusher):
32244        (WebCore::Element::attributeChanged):
32245        (WebCore::Element::attach):
32246        (WebCore::Element::styleForRenderer):
32247        (WebCore::Element::recalcStyle):
32248        (WebCore::Element::beginParsingChildren):
32249        (WebCore::Element::finishParsingChildren):
32250        * dom/ProcessingInstruction.cpp:
32251        (WebCore::ProcessingInstruction::removedFrom):
32252        * dom/ShadowRoot.cpp:
32253        (WebCore::ShadowRoot::attach):
32254        * dom/ShadowTree.cpp:
32255        (WebCore::ShadowTree::recalcShadowTreeStyle):
32256        * dom/StyleElement.cpp:
32257        (WebCore::StyleElement::removedFromDocument):
32258        * editing/EditingStyle.cpp:
32259        (WebCore::styleFromMatchedRulesForElement):
32260        * history/CachedPage.cpp:
32261        (WebCore::CachedPage::restore):
32262        * html/HTMLCanvasElement.cpp:
32263        (WebCore::HTMLCanvasElement::styleResolver):
32264        * html/HTMLCanvasElement.h:
32265        (HTMLCanvasElement):
32266        * html/HTMLLinkElement.cpp:
32267        (WebCore::HTMLLinkElement::setDisabledState):
32268        (WebCore::HTMLLinkElement::process):
32269        (WebCore::HTMLLinkElement::removedFrom):
32270        (WebCore::HTMLLinkElement::removePendingSheet):
32271        * html/HTMLStyleElement.cpp:
32272        (WebCore::HTMLStyleElement::registerWithScopingNode):
32273        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
32274        * html/canvas/CanvasRenderingContext2D.cpp:
32275        (WebCore::CanvasRenderingContext2D::setFont):
32276        * inspector/InspectorCSSAgent.cpp:
32277        (WebCore::InspectorCSSAgent::recalcStyleForPseudoStateIfNeeded):
32278        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
32279        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
32280        (WebCore::InspectorCSSAgent::clearPseudoState):
32281        * inspector/InspectorPageAgent.cpp:
32282        (WebCore::InspectorPageAgent::updateViewMetrics):
32283        * page/DOMWindow.cpp:
32284        (WebCore::DOMWindow::getMatchedCSSRules):
32285        * page/Frame.cpp:
32286        (WebCore::Frame::setPrinting):
32287        * page/FrameView.cpp:
32288        (WebCore::FrameView::layout):
32289        * page/Page.cpp:
32290        (WebCore::Page::setViewMode):
32291        (WebCore::Page::setNeedsRecalcStyleInAllFrames):
32292        (WebCore::Page::allVisitedStateChanged):
32293        (WebCore::Page::visitedStateChanged):
32294        * page/animation/KeyframeAnimation.cpp:
32295        (WebCore::KeyframeAnimation::KeyframeAnimation):
32296        * platform/efl/RenderThemeEfl.cpp:
32297        (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
32298        (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
32299        (WebCore::RenderThemeEfl::adjustCheckboxStyle):
32300        (WebCore::RenderThemeEfl::adjustRadioStyle):
32301        (WebCore::RenderThemeEfl::adjustButtonStyle):
32302        (WebCore::RenderThemeEfl::adjustMenuListStyle):
32303        (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
32304        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
32305        (WebCore::RenderThemeEfl::adjustTextAreaStyle):
32306        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
32307        (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
32308        (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
32309        (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
32310        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
32311        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
32312        * platform/gtk/RenderThemeGtk.cpp:
32313        (WebCore::RenderThemeGtk::adjustButtonStyle):
32314        (WebCore::RenderThemeGtk::adjustMenuListStyle):
32315        (WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
32316        (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
32317        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
32318        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
32319        (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
32320        (WebCore::RenderThemeGtk::adjustSliderThumbStyle):
32321        * platform/qt/RenderThemeQt.cpp:
32322        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
32323        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
32324        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
32325        (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
32326        (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
32327        (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
32328        * platform/qt/RenderThemeQtMobile.cpp:
32329        (WebCore::RenderThemeQtMobile::adjustButtonStyle):
32330        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
32331        * platform/wx/RenderThemeWx.cpp:
32332        (WebCore::RenderThemeWx::adjustButtonStyle):
32333        * rendering/RenderListBox.cpp:
32334        (WebCore::RenderListBox::updateFromElement):
32335        (WebCore::RenderListBox::paintItemForeground):
32336        * rendering/RenderMenuList.cpp:
32337        (WebCore::RenderMenuList::fontSelector):
32338        * rendering/RenderObject.cpp:
32339        (WebCore::RenderObject::getUncachedPseudoStyle):
32340        * rendering/RenderRegion.cpp:
32341        (WebCore::RenderRegion::styleDidChange):
32342        (WebCore::RenderRegion::computeStyleInRegion):
32343        * rendering/RenderTextControlSingleLine.cpp:
32344        (WebCore::RenderTextControlSingleLine::fontSelector):
32345        * rendering/RenderTheme.cpp:
32346        (WebCore::RenderTheme::adjustStyle):
32347        (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
32348        * rendering/RenderThemeChromiumSkia.cpp:
32349        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
32350        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
32351        * rendering/RenderThemeMac.mm:
32352        (WebCore::RenderThemeMac::adjustMenuListStyle):
32353        (WebCore::RenderThemeMac::adjustSliderThumbStyle):
32354        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
32355        * rendering/RenderThemeSafari.cpp:
32356        (WebCore::RenderThemeSafari::setFontFromControlSize):
32357        (WebCore::RenderThemeSafari::adjustButtonStyle):
32358        (WebCore::RenderThemeSafari::adjustMenuListStyle):
32359        (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
32360        (WebCore::RenderThemeSafari::adjustSliderThumbStyle):
32361        (WebCore::RenderThemeSafari::adjustSearchFieldStyle):
32362        (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle):
32363        (WebCore::RenderThemeSafari::adjustSearchFieldDecorationStyle):
32364        (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationStyle):
32365        (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle):
32366        * rendering/RenderThemeWin.cpp:
32367        (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
32368        (WebCore::RenderThemeWin::adjustMenuListStyle):
32369        (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
32370        (WebCore::RenderThemeWin::adjustSearchFieldStyle):
32371        (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
32372        (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
32373        (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
32374        (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
32375        * rendering/RenderThemeWinCE.cpp:
32376        (WebCore::RenderThemeWinCE::adjustMenuListStyle):
32377        (WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
32378        (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
32379        (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
32380        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
32381        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
32382        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
32383        * rendering/style/StyleGeneratedImage.cpp:
32384        (WebCore::StyleGeneratedImage::image):
32385        * rendering/svg/RenderSVGInlineText.cpp:
32386        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
32387        * svg/SVGElement.cpp:
32388        (WebCore::SVGElement::customStyleForRenderer):
32389        * svg/SVGFontFaceElement.cpp:
32390        (WebCore::SVGFontFaceElement::rebuildFontFace):
32391        (WebCore::SVGFontFaceElement::removedFrom):
32392        * xml/XMLTreeViewer.cpp:
32393        (WebCore::XMLTreeViewer::transformDocumentToTreeView):
32394        * xml/parser/XMLDocumentParser.cpp:
32395        (WebCore::XMLDocumentParser::end):
32396        * xml/parser/XMLDocumentParserLibxml2.cpp:
32397        (WebCore::XMLDocumentParser::doEnd):
32398        * xml/parser/XMLDocumentParserQt.cpp:
32399        (WebCore::XMLDocumentParser::doEnd):
32400        * WebCore.exp.in:
32401
324022012-04-24  Yael Aharon  <yael.aharon@nokia.com>
32403
32404        Fixed background is scrolling in http://www.nieuwecode.nl/ in Qt webkit2
32405        https://bugs.webkit.org/show_bug.cgi?id=83980
32406
32407        Reviewed by Simon Fraser.
32408
32409        When a fixed position element does not have z-index explicitly specified, it does not create a
32410        stacking context. This results in fixed elements scrolling with the content layer.
32411        This patch creates a stacking context for fixed positioned elements for the Qt port, by enabling
32412        the flag ENABLE_FIXED_POSITION_CREATES_STACKING_CONTEXT.
32413        Added a manual test because this patch takes effect only during scrolling.
32414
32415        * css/CSSStyleSelector.cpp:
32416        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
32417
324182012-04-24  Andreas Kling  <kling@webkit.org>
32419
32420        REGRESSION(r115099): html5lib/runner.html crashes.
32421        <http://webkit.org/b/84791>
32422
32423        Reviewed by Anders Carlsson.
32424
32425        Unbreak and simplify the code that filters attributes on isindex elements.
32426        It's perfectly safe to remove elements from a Vector while iterating over it.
32427
32428        * html/parser/HTMLTreeBuilder.cpp:
32429        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
32430
324312012-04-24  Victor Carbune  <vcarbune@adobe.com>
32432
32433        Extra display logic for the media control panel element
32434        https://bugs.webkit.org/show_bug.cgi?id=82476
32435
32436        Reviewed by Eric Carlson.
32437
32438        This patch fixes a bug which caused the controls to be displayed
32439        when they should remain hidden. Added an extra variable to the
32440        panel elements which properly keeps the state of the panel (visible or not).
32441
32442        Test: media/video-controls-toggling.html
32443
32444        * html/shadow/MediaControlElements.cpp:
32445        (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added the
32446        variable m_isDisplayed to hold the state whether the panel is visible or not.
32447        (WebCore::MediaControlPanelElement::makeOpaque): Showing the panel only if it
32448        is visible.
32449        (WebCore::MediaControlPanelElement::makeTransparent): Enabled the transition
32450        timer which sets the display:none property on the controls.
32451        (WebCore::MediaControlPanelElement::setIsDisplayed): Setter for the state variable.
32452        (WebCore):
32453        * html/shadow/MediaControlElements.h:
32454        (MediaControlPanelElement):
32455        * html/shadow/MediaControlRootElement.cpp:
32456        (WebCore::MediaControlRootElement::show): Updated the panel visibility state.
32457        (WebCore::MediaControlRootElement::hide): Updated the panel visibility state.
32458        * html/shadow/MediaControlRootElementChromium.cpp:
32459        (WebCore::MediaControlRootElementChromium::show): Updated the panel visibility state.
32460        (WebCore::MediaControlRootElementChromium::hide): Updated the panel visibility state.
32461
324622012-04-24  Alexandru Chiculita  <achicu@adobe.com>
32463
32464        CSS Shaders: Custom filters painting is broken
32465        https://bugs.webkit.org/show_bug.cgi?id=82803
32466
32467        Reviewed by Kenneth Russell.
32468
32469        In this patch I moved CSS Shaders file loading notifications from FilterEffectRenderer to the new RenderLayerFilterInfo.
32470        That's because FilterEffectRenderer is only used when running the filters in the software pipeline
32471        and has a very short lifetime. Due to a recent change FilterEffectRenderer actually
32472        gets deleted if the shader is not loaded, so it doesn't live that much to be notified when the shader
32473        was actually loaded.
32474
32475        Also removed the FilterEffectObserver, that was only used to notify the RenderLayer about the loaded shader.
32476
32477        No new tests. This is making existing CSS Shaders tests pass again.
32478        Cannot un-skip on Mac for now because the feature is compile time disabled.
32479        
32480        * WebCore.xcodeproj/project.pbxproj:
32481        * platform/graphics/filters/CustomFilterOperation.h:
32482        (WebCore::CustomFilterOperation::affectsOpacity):
32483        (WebCore::CustomFilterOperation::movesPixels):
32484        * platform/graphics/filters/FilterOperations.cpp:
32485        (WebCore):
32486        (WebCore::FilterOperations::hasCustomFilter):
32487        * platform/graphics/filters/FilterOperations.h:
32488        (FilterOperations):
32489        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
32490        (WebCore::BitmapTextureImageBuffer::applyFilters):
32491        * rendering/FilterEffectObserver.h: Removed.
32492        * rendering/FilterEffectRenderer.cpp:
32493        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
32494        (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
32495        (WebCore::FilterEffectRenderer::build):
32496        * rendering/FilterEffectRenderer.h:
32497        (WebCore):
32498        (WebCore::FilterEffectRenderer::create):
32499        (FilterEffectRenderer):
32500        * rendering/RenderLayer.cpp:
32501        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
32502        * rendering/RenderLayer.h:
32503        * rendering/RenderLayerFilterInfo.cpp:
32504        (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
32505        (WebCore::RenderLayerFilterInfo::notifyCustomFilterProgramLoaded):
32506        (WebCore):
32507        (WebCore::RenderLayerFilterInfo::updateCustomFilterClients):
32508        (WebCore::RenderLayerFilterInfo::removeCustomFilterClients):
32509        * rendering/RenderLayerFilterInfo.h:
32510        (WebCore):
32511        (RenderLayerFilterInfo):
32512
325132012-04-24  Antti Koivisto  <antti@apple.com>
32514
32515        Another build fix.
32516
32517        Not reviewed.
32518
32519        * css/MediaList.cpp:
32520        (WebCore::MediaQuerySet::MediaQuerySet):
32521        * css/StylePropertySet.cpp:
32522        (WebCore::StylePropertySet::StylePropertySet):
32523
325242012-04-24  Antti Koivisto  <antti@apple.com>
32525
32526        Try to fix Qt build.
32527
32528        Not reviewed.
32529
32530        * css/StyleRule.h:
32531        (WebCore::StyleRuleBase::StyleRuleBase):
32532
325332012-04-24  Antti Koivisto  <antti@apple.com>
32534
32535        Implement StyleRule copying
32536        https://bugs.webkit.org/show_bug.cgi?id=84752
32537
32538        Reviewed by Andreas Kling.
32539        
32540        We'll need this for copy-on-write when style sheet data is shared between documents.
32541
32542        Implement copy() and copy constructor for style rules their children as needed.
32543        
32544        The code is not yet used.
32545
32546        * css/CSSSelectorList.cpp:
32547        (WebCore::CSSSelectorList::CSSSelectorList):
32548        (WebCore):
32549        * css/CSSSelectorList.h:
32550        (CSSSelectorList):
32551        * css/MediaList.h:
32552        (WebCore::MediaQuerySet::copy):
32553        (MediaQuerySet):
32554        * css/MediaQuery.cpp:
32555        (WebCore::MediaQuery::MediaQuery):
32556        (WebCore):
32557        * css/MediaQuery.h:
32558        (MediaQuery):
32559        (WebCore::MediaQuery::copy):
32560        * css/MediaQueryExp.h:
32561        (WebCore::MediaQueryExp::copy):
32562        (MediaQueryExp):
32563        * css/StylePropertySet.cpp:
32564        (WebCore::StylePropertySet::StylePropertySet):
32565        (WebCore):
32566        (WebCore::StylePropertySet::copy):
32567        * css/StylePropertySet.h:
32568        
32569            Make this copy parse mode too. As a result ElementAttributeData no longer needs to set it explicitly after copying.
32570
32571        (StylePropertySet):
32572        * css/StyleRule.cpp:
32573        (WebCore::StyleRuleBase::copy):
32574        (WebCore):
32575        (WebCore::StyleRule::StyleRule):
32576        (WebCore::StyleRulePage::StyleRulePage):
32577        (WebCore::StyleRuleFontFace::StyleRuleFontFace):
32578        (WebCore::StyleRuleBlock::StyleRuleBlock):
32579        (WebCore::StyleRuleMedia::StyleRuleMedia):
32580        (WebCore::StyleRuleRegion::StyleRuleRegion):
32581        * css/StyleRule.h:
32582        (StyleRuleBase):
32583        (WebCore::StyleRuleBase::StyleRuleBase):
32584        (WebCore::StyleRule::copy):
32585        (StyleRule):
32586        (WebCore::StyleRuleFontFace::copy):
32587        (StyleRuleFontFace):
32588        (WebCore::StyleRulePage::copy):
32589        (StyleRulePage):
32590        (StyleRuleBlock):
32591        (WebCore::StyleRuleMedia::copy):
32592        (StyleRuleMedia):
32593        (WebCore::StyleRuleRegion::copy):
32594        (StyleRuleRegion):
32595        * css/WebKitCSSKeyframesRule.cpp:
32596        (WebCore):
32597        (WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
32598        * css/WebKitCSSKeyframesRule.h:
32599        (WebCore):
32600        (WebCore::StyleRuleKeyframes::copy):
32601        (StyleRuleKeyframes):
32602
326032012-04-24  Ryosuke Niwa  <rniwa@webkit.org>
32604
32605        Revert r115009; It doesn't make necessary changes to NodeRareData and Node.
32606
32607        * CMakeLists.txt:
32608        * DerivedSources.cpp:
32609        * DerivedSources.make:
32610        * DerivedSources.pri:
32611        * GNUmakefile.list.am:
32612        * Target.pri:
32613        * WebCore.gypi:
32614        * WebCore.vcproj/WebCore.vcproj:
32615        * WebCore.xcodeproj/project.pbxproj:
32616        * bindings/js/JSHTMLCollectionCustom.cpp:
32617        (WebCore::getNamedItems):
32618        * bindings/scripts/CodeGeneratorJS.pm:
32619        (GenerateImplementation):
32620        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
32621        (WebCore::getNamedItems):
32622        * html/CollectionType.h:
32623        * html/HTMLCollection.cpp:
32624        (WebCore::HTMLCollection::shouldIncludeChildren):
32625        (WebCore::HTMLCollection::isAcceptableElement):
32626        * html/HTMLFormCollection.cpp:
32627        (WebCore::HTMLFormCollection::HTMLFormCollection):
32628        * html/RadioNodeList.cpp: Removed.
32629        * html/RadioNodeList.h: Removed.
32630        * html/RadioNodeList.idl: Removed.
32631
326322012-04-24  Chris Rogers  <crogers@google.com>
32633
32634        WaveTable should normalize to 0dbFS instead of -6dbFS
32635        https://bugs.webkit.org/show_bug.cgi?id=84644
32636
32637        Reviewed by Kenneth Russell.
32638
32639        No new tests. Oscillator tests will be rebaselined after landing, since several platforms are affected.
32640
32641        * Modules/webaudio/WaveTable.cpp:
32642        (WebCore::WaveTable::createBandLimitedTables):
32643
326442012-04-24  Tommy Widenflycht  <tommyw@google.com>
32645
32646        MediaStream API: Create a new flag for PeerConnection
32647        https://bugs.webkit.org/show_bug.cgi?id=84723
32648
32649        Reviewed by Dimitri Glazkov.
32650
32651        To allow Chrome to make the GetUserMedia functionality available by default we
32652        need another flag for the PeerConnection related parts. This new flag is in
32653        addition to the general media stream flag, and both need to be enabled for
32654        PeerConnection object creation.
32655
32656        No code behavior changes.
32657
32658        * bindings/generic/RuntimeEnabledFeatures.cpp:
32659        (WebCore):
32660        * bindings/generic/RuntimeEnabledFeatures.h:
32661        (RuntimeEnabledFeatures):
32662        (WebCore::RuntimeEnabledFeatures::peerConnectionEnabled):
32663        (WebCore::RuntimeEnabledFeatures::setPeerConnectionEnabled):
32664        (WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
32665        (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
32666
326672012-04-24  Joe Mason  <jmason@rim.com>
32668
32669        [BlackBerry] Revert broken changes to authentication dialog
32670        https://bugs.webkit.org/show_bug.cgi?id=80135
32671
32672        Reviewed by Antonio Gomes.
32673
32674        The previous patches from this bug caused an infinite loop when using digest auth;
32675        apparently they were only tested with basic.
32676
32677        * platform/blackberry/PageClientBlackBerry.h:
32678        * platform/network/blackberry/NetworkJob.cpp:
32679        (WebCore::NetworkJob::handleAuthHeader):
32680        (WebCore::NetworkJob::sendRequestWithCredentials):
32681
326822012-04-24  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
32683
32684        Fix wrong ASSERT() in findAttributeInVector()
32685        https://bugs.webkit.org/show_bug.cgi?id=84756
32686
32687        Unreviewed build fix.
32688
32689        * dom/ElementAttributeData.h:
32690        (WebCore::findAttributeInVector):
32691
326922012-04-24  Anders Carlsson  <andersca@apple.com>
32693
32694        Update the scroll layer position on the main thread when viewing full-frame images
32695        https://bugs.webkit.org/show_bug.cgi?id=84754
32696        <rdar://problem/11193304>
32697
32698        Reviewed by Andreas Kling.
32699
32700        Showing really big images can be slow sometimes and in that case it's better to update the scroll layer position on
32701        the main thread, which will avoid flashing white.
32702
32703        * page/scrolling/ScrollingCoordinator.cpp:
32704        (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
32705
327062012-04-24  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
32707
32708        Use Vector<Attribute> directly instead of encapsulating it in AttributeVector
32709        https://bugs.webkit.org/show_bug.cgi?id=84413
32710
32711        Reviewed by Andreas Kling.
32712
32713        As commented in https://bugs.webkit.org/show_bug.cgi?id=79963#c16 we do not
32714        usually subclass basic types like Vector. This patch changes code to use
32715        Vector<Attribute> directly and move around the functionality of the former
32716        methods to more specific helper functions or inline code at the callers.
32717
32718        * dom/Element.cpp:
32719        (WebCore::Element::parserSetAttributes):
32720        (WebCore::Element::normalizeAttributes):
32721        * dom/Element.h:
32722        (Element):
32723        * dom/ElementAttributeData.cpp:
32724        * dom/ElementAttributeData.h:
32725        (WebCore::getAttributeFromVector):
32726        (WebCore::ElementAttributeData::getAttributeItem):
32727        (ElementAttributeData):
32728        (WebCore::ElementAttributeData::attributeVector):
32729        (WebCore::ElementAttributeData::clonedAttributeVector):
32730        (WebCore::ElementAttributeData::getAttributeItemIndex):
32731        (WebCore):
32732        * html/parser/HTMLConstructionSite.cpp:
32733        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
32734        * html/parser/HTMLToken.h:
32735        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
32736        * html/parser/HTMLTreeBuilder.cpp:
32737        (WebCore::HTMLTreeBuilder::processFakeStartTag):
32738        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
32739        * html/parser/HTMLTreeBuilder.h:
32740        * html/parser/TextDocumentParser.cpp:
32741        (WebCore::TextDocumentParser::insertFakePreElement):
32742        * xml/XMLErrors.cpp:
32743        (WebCore::createXHTMLParserErrorHeader):
32744        (WebCore::XMLErrors::insertErrorMessageBlock):
32745        * xml/parser/MarkupTokenBase.h:
32746        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
32747        (WebCore::AtomicMarkupTokenBase::getAttributeItem):
32748        (WebCore::AtomicMarkupTokenBase::attributes):
32749        (AtomicMarkupTokenBase):
32750        (WebCore::::initializeAttributes):
32751        * xml/parser/XMLToken.h:
32752        (WebCore::AtomicXMLToken::AtomicXMLToken):
32753
327542012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
32755
32756        Rename CSSStyleSelector class to StyleResolver.
32757        https://bugs.webkit.org/show_bug.cgi?id=84734
32758
32759        Reviewed by Andreas Kling.
32760
32761        The name CSSStyleSelector is confusing as it conflicts a bit with
32762        the CSS concept of selectors. One could think it's an encapsulation
32763        of the CSS selectors but it's not, in fact this class is responsible
32764        of finding the RenderStyle for a given element. This is the first patch
32765        as I will later rename the files, and then rename the local variables.
32766
32767        No new tests : renaming, no behavior changes should appear.
32768
32769        * css/CSSCalculationValue.cpp:
32770        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
32771        * css/CSSFontSelector.cpp:
32772        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
32773        * css/CSSParser.cpp:
32774        (WebCore::CSSParser::parseSizeParameter):
32775        * css/CSSStyleSelector.cpp:
32776        (RuleSet):
32777        (WebCore::RuleSet::features):
32778        (WebCore):
32779        (WebCore::StyleResolver::StyleResolver):
32780        (WebCore::StyleResolver::addAuthorRulesAndCollectUserRulesFromSheets):
32781        (WebCore::makeRuleSet):
32782        (WebCore::StyleResolver::collectFeatures):
32783        (WebCore::StyleResolver::determineScope):
32784        (WebCore::StyleResolver::ruleSetForScope):
32785        (WebCore::StyleResolver::appendAuthorStylesheets):
32786        (WebCore::StyleResolver::setupScopeStack):
32787        (WebCore::StyleResolver::pushScope):
32788        (WebCore::StyleResolver::popScope):
32789        (WebCore::StyleResolver::pushParentElement):
32790        (WebCore::StyleResolver::popParentElement):
32791        (WebCore::StyleResolver::pushParentShadowRoot):
32792        (WebCore::StyleResolver::popParentShadowRoot):
32793        (WebCore::StyleResolver::addKeyframeStyle):
32794        (WebCore::StyleResolver::~StyleResolver):
32795        (WebCore::StyleResolver::sweepMatchedPropertiesCache):
32796        (WebCore::StyleResolver::Features::Features):
32797        (WebCore::StyleResolver::Features::~Features):
32798        (WebCore::StyleResolver::Features::add):
32799        (WebCore::StyleResolver::Features::clear):
32800        (WebCore::StyleResolver::addMatchedProperties):
32801        (WebCore::StyleResolver::addElementStyleProperties):
32802        (WebCore::StyleResolver::collectMatchingRules):
32803        (WebCore::StyleResolver::collectMatchingRulesForRegion):
32804        (WebCore::StyleResolver::sortAndTransferMatchedRules):
32805        (WebCore::StyleResolver::matchScopedAuthorRules):
32806        (WebCore::StyleResolver::matchAuthorRules):
32807        (WebCore::StyleResolver::matchUserRules):
32808        (WebCore::StyleResolver::matchUARules):
32809        (WebCore::StyleResolver::collectMatchingRulesForList):
32810        * css/CSSStyleSelector.h:
32811        (StyleResolver):
32812        (Features):
32813        * css/MediaQueryEvaluator.cpp:
32814        (WebCore::MediaQueryEvaluator::eval):
32815        * css/MediaQueryEvaluator.h:
32816        (WebCore):
32817        (MediaQueryEvaluator):
32818        * css/MediaQueryMatcher.cpp:
32819        (WebCore::MediaQueryMatcher::prepareEvaluator):
32820        * css/SVGCSSStyleSelector.cpp:
32821        (WebCore::StyleResolver::applySVGProperty):
32822        * css/StyleBuilder.cpp:
32823        (WebCore::ApplyPropertyExpanding::applyInheritValue):
32824        (WebCore::ApplyPropertyExpanding::applyInitialValue):
32825        (WebCore::ApplyPropertyExpanding::applyValue):
32826        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
32827        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
32828        (WebCore::ApplyPropertyDefaultBase::applyValue):
32829        (WebCore::ApplyPropertyDefault::applyValue):
32830        (WebCore::ApplyPropertyNumber::applyValue):
32831        (WebCore::ApplyPropertyStyleImage::applyValue):
32832        (WebCore::ApplyPropertyAuto::applyInheritValue):
32833        (WebCore::ApplyPropertyAuto::applyInitialValue):
32834        (WebCore::ApplyPropertyAuto::applyValue):
32835        (WebCore::ApplyPropertyClip::convertToLength):
32836        (WebCore::ApplyPropertyClip::applyInheritValue):
32837        (WebCore::ApplyPropertyClip::applyInitialValue):
32838        (WebCore::ApplyPropertyClip::applyValue):
32839        (WebCore::ApplyPropertyColor::applyInheritValue):
32840        (WebCore::ApplyPropertyColor::applyInitialValue):
32841        (WebCore::ApplyPropertyColor::applyValue):
32842        (WebCore::ApplyPropertyColor::applyColorValue):
32843        (WebCore::ApplyPropertyDirection::applyValue):
32844        (WebCore::ApplyPropertyLength::applyValue):
32845        (WebCore::ApplyPropertyString::applyValue):
32846        (WebCore::ApplyPropertyBorderRadius::applyValue):
32847        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
32848        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
32849        (WebCore::ApplyPropertyFillLayer::applyValue):
32850        (WebCore::ApplyPropertyComputeLength::applyValue):
32851        (WebCore::ApplyPropertyFont::applyInheritValue):
32852        (WebCore::ApplyPropertyFont::applyInitialValue):
32853        (WebCore::ApplyPropertyFont::applyValue):
32854        (WebCore::ApplyPropertyFontSize::applyInheritValue):
32855        (WebCore::ApplyPropertyFontSize::applyInitialValue):
32856        (WebCore::ApplyPropertyFontSize::applyValue):
32857        (WebCore::ApplyPropertyFontWeight::applyValue):
32858        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
32859        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
32860        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
32861        (WebCore::ApplyPropertyBorderImage::applyValue):
32862        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
32863        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
32864        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
32865        (WebCore::ApplyPropertyBorderImageSource::applyValue):
32866        (WebCore::ApplyPropertyCounter::emptyFunction):
32867        (WebCore::ApplyPropertyCounter::applyInheritValue):
32868        (WebCore::ApplyPropertyCounter::applyValue):
32869        (WebCore::ApplyPropertyCursor::applyInheritValue):
32870        (WebCore::ApplyPropertyCursor::applyInitialValue):
32871        (WebCore::ApplyPropertyCursor::applyValue):
32872        (WebCore::ApplyPropertyTextAlign::applyValue):
32873        (WebCore::ApplyPropertyTextDecoration::applyValue):
32874        (WebCore::ApplyPropertyUnicodeBidi::applyValue):
32875        (WebCore::ApplyPropertyLineHeight::applyValue):
32876        (WebCore::ApplyPropertyPageSize::applyInheritValue):
32877        (WebCore::ApplyPropertyPageSize::applyInitialValue):
32878        (WebCore::ApplyPropertyPageSize::applyValue):
32879        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
32880        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
32881        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
32882        (WebCore):
32883        (WebCore::ApplyPropertyAnimation::map):
32884        (WebCore::ApplyPropertyAnimation::applyInheritValue):
32885        (WebCore::ApplyPropertyAnimation::applyInitialValue):
32886        (WebCore::ApplyPropertyAnimation::applyValue):
32887        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
32888        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
32889        (WebCore::ApplyPropertyOutlineStyle::applyValue):
32890        (WebCore::ApplyPropertyResize::applyValue):
32891        (WebCore::ApplyPropertyVerticalAlign::applyValue):
32892        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
32893        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
32894        (WebCore::ApplyPropertyAspectRatio::applyValue):
32895        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
32896        (WebCore::ApplyPropertyZoom::applyInheritValue):
32897        (WebCore::ApplyPropertyZoom::applyInitialValue):
32898        (WebCore::ApplyPropertyZoom::applyValue):
32899        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
32900        (WebCore::ApplyPropertyDisplay::applyInheritValue):
32901        (WebCore::ApplyPropertyDisplay::applyInitialValue):
32902        (WebCore::ApplyPropertyDisplay::applyValue):
32903        (WebCore::ApplyPropertyFlex::applyInheritValue):
32904        (WebCore::ApplyPropertyFlex::applyInitialValue):
32905        (WebCore::ApplyPropertyFlex::applyValue):
32906        (WebCore::StyleBuilder::StyleBuilder):
32907        * css/StyleBuilder.h:
32908        (WebCore):
32909        (PropertyHandler):
32910        (WebCore::PropertyHandler::applyInheritValue):
32911        (WebCore::PropertyHandler::applyInitialValue):
32912        (WebCore::PropertyHandler::applyValue):
32913        * css/StyleMedia.cpp:
32914        (WebCore::StyleMedia::matchMedium):
32915        * css/WebKitCSSKeyframesRule.cpp:
32916        (WebCore::WebKitCSSKeyframesRule::setName):
32917        * css/WebKitCSSMatrix.cpp:
32918        (WebCore::WebKitCSSMatrix::setMatrixValue):
32919        * dom/Document.cpp:
32920        (WebCore::Document::recalcStyle):
32921        (WebCore::Document::createStyleSelector):
32922        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
32923        * dom/Document.h:
32924        (WebCore):
32925        (WebCore::Document::styleSelectorIfExists):
32926        (WebCore::Document::styleSelector):
32927        (Document):
32928        * dom/Element.cpp:
32929        (StyleSelectorParentPusher):
32930        (WebCore::Element::attributeChanged):
32931        (WebCore::Element::beginParsingChildren):
32932        (WebCore::Element::finishParsingChildren):
32933        * dom/ShadowRoot.cpp:
32934        (WebCore::ShadowRoot::attach):
32935        * dom/ShadowTree.cpp:
32936        (WebCore::ShadowTree::recalcShadowTreeStyle):
32937        * editing/EditingStyle.cpp:
32938        (WebCore::EditingStyle::mergeStyleFromRules):
32939        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
32940        (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
32941        (WebCore::legacyFontSizeFromCSSValue):
32942        * editing/FrameSelection.cpp:
32943        (WebCore::FrameSelection::focusedOrActiveStateChanged):
32944        * history/CachedPage.cpp:
32945        (WebCore::CachedPage::restore):
32946        * html/HTMLCanvasElement.cpp:
32947        (WebCore::HTMLCanvasElement::styleSelector):
32948        * html/HTMLCanvasElement.h:
32949        (HTMLCanvasElement):
32950        * html/HTMLLinkElement.cpp:
32951        (WebCore::HTMLLinkElement::process):
32952        * html/canvas/CanvasRenderingContext2D.cpp:
32953        (WebCore::CanvasRenderingContext2D::setFont):
32954        * inspector/InspectorCSSAgent.cpp:
32955        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
32956        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
32957        * inspector/InspectorCSSAgent.h:
32958        (InspectorCSSAgent):
32959        * page/DOMWindow.cpp:
32960        (WebCore::DOMWindow::getMatchedCSSRules):
32961        * page/Page.cpp:
32962        (WebCore::Page::allVisitedStateChanged):
32963        (WebCore::Page::visitedStateChanged):
32964        * page/animation/AnimationController.cpp:
32965        (WebCore::AnimationController::updateAnimations):
32966        * platform/blackberry/RenderThemeBlackBerry.cpp:
32967        (WebCore::RenderThemeBlackBerry::adjustButtonStyle):
32968        (WebCore::RenderThemeBlackBerry::adjustTextAreaStyle):
32969        (WebCore::RenderThemeBlackBerry::adjustTextFieldStyle):
32970        (WebCore::RenderThemeBlackBerry::adjustSearchFieldStyle):
32971        (WebCore::RenderThemeBlackBerry::adjustSearchFieldCancelButtonStyle):
32972        (WebCore::RenderThemeBlackBerry::adjustMenuListButtonStyle):
32973        (WebCore::RenderThemeBlackBerry::adjustMenuListStyle):
32974        (WebCore::RenderThemeBlackBerry::adjustCheckboxStyle):
32975        (WebCore::RenderThemeBlackBerry::adjustRadioStyle):
32976        * platform/blackberry/RenderThemeBlackBerry.h:
32977        (RenderThemeBlackBerry):
32978        * platform/efl/RenderThemeEfl.cpp:
32979        (WebCore::RenderThemeEfl::adjustSliderTrackStyle):
32980        (WebCore::RenderThemeEfl::adjustSliderThumbStyle):
32981        (WebCore::RenderThemeEfl::adjustCheckboxStyle):
32982        (WebCore::RenderThemeEfl::adjustRadioStyle):
32983        (WebCore::RenderThemeEfl::adjustButtonStyle):
32984        (WebCore::RenderThemeEfl::adjustMenuListStyle):
32985        (WebCore::RenderThemeEfl::adjustMenuListButtonStyle):
32986        (WebCore::RenderThemeEfl::adjustTextFieldStyle):
32987        (WebCore::RenderThemeEfl::adjustTextAreaStyle):
32988        (WebCore::RenderThemeEfl::adjustSearchFieldDecorationStyle):
32989        (WebCore::RenderThemeEfl::adjustSearchFieldResultsButtonStyle):
32990        (WebCore::RenderThemeEfl::adjustSearchFieldResultsDecorationStyle):
32991        (WebCore::RenderThemeEfl::adjustSearchFieldCancelButtonStyle):
32992        (WebCore::RenderThemeEfl::adjustSearchFieldStyle):
32993        (WebCore::RenderThemeEfl::adjustProgressBarStyle):
32994        * platform/efl/RenderThemeEfl.h:
32995        (RenderThemeEfl):
32996        * platform/gtk/RenderThemeGtk.cpp:
32997        (WebCore::RenderThemeGtk::adjustButtonStyle):
32998        (WebCore::RenderThemeGtk::adjustMenuListStyle):
32999        (WebCore::RenderThemeGtk::adjustMenuListButtonStyle):
33000        (WebCore::RenderThemeGtk::adjustSearchFieldResultsButtonStyle):
33001        (WebCore::RenderThemeGtk::adjustSearchFieldResultsDecorationStyle):
33002        (WebCore::RenderThemeGtk::adjustSearchFieldCancelButtonStyle):
33003        (WebCore::RenderThemeGtk::adjustSearchFieldStyle):
33004        (WebCore::RenderThemeGtk::adjustSliderTrackStyle):
33005        (WebCore::RenderThemeGtk::adjustSliderThumbStyle):
33006        (WebCore::RenderThemeGtk::adjustProgressBarStyle):
33007        * platform/gtk/RenderThemeGtk.h:
33008        (RenderThemeGtk):
33009        * platform/gtk/RenderThemeGtk2.cpp:
33010        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
33011        * platform/gtk/RenderThemeGtk3.cpp:
33012        (WebCore::RenderThemeGtk::adjustInnerSpinButtonStyle):
33013        * platform/qt/RenderThemeQt.cpp:
33014        (WebCore::RenderThemeQt::adjustTextFieldStyle):
33015        (WebCore::RenderThemeQt::adjustTextAreaStyle):
33016        (WebCore::RenderThemeQt::adjustMenuListStyle):
33017        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
33018        (WebCore::RenderThemeQt::adjustProgressBarStyle):
33019        (WebCore::RenderThemeQt::adjustSliderTrackStyle):
33020        (WebCore::RenderThemeQt::adjustSliderThumbStyle):
33021        (WebCore::RenderThemeQt::adjustSearchFieldStyle):
33022        (WebCore::RenderThemeQt::adjustSearchFieldCancelButtonStyle):
33023        (WebCore::RenderThemeQt::adjustSearchFieldDecorationStyle):
33024        (WebCore::RenderThemeQt::adjustSearchFieldResultsDecorationStyle):
33025        (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
33026        * platform/qt/RenderThemeQt.h:
33027        (RenderThemeQt):
33028        * platform/qt/RenderThemeQtMobile.cpp:
33029        (WebCore::RenderThemeQtMobile::adjustButtonStyle):
33030        (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
33031        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
33032        * platform/qt/RenderThemeQtMobile.h:
33033        (RenderThemeQtMobile):
33034        * platform/wx/RenderThemeWx.cpp:
33035        (RenderThemeWx):
33036        (WebCore::RenderThemeWx::adjustButtonStyle):
33037        (WebCore::RenderThemeWx::adjustTextFieldStyle):
33038        (WebCore::RenderThemeWx::adjustMenuListStyle):
33039        (WebCore::RenderThemeWx::adjustMenuListButtonStyle):
33040        * rendering/RenderInputSpeech.cpp:
33041        (WebCore::RenderInputSpeech::adjustInputFieldSpeechButtonStyle):
33042        * rendering/RenderInputSpeech.h:
33043        (RenderInputSpeech):
33044        * rendering/RenderTheme.cpp:
33045        (WebCore::RenderTheme::adjustStyle):
33046        (WebCore::RenderTheme::adjustCheckboxStyle):
33047        (WebCore::RenderTheme::adjustRadioStyle):
33048        (WebCore::RenderTheme::adjustButtonStyle):
33049        (WebCore::RenderTheme::adjustInnerSpinButtonStyle):
33050        (WebCore::RenderTheme::adjustTextFieldStyle):
33051        (WebCore::RenderTheme::adjustTextAreaStyle):
33052        (WebCore::RenderTheme::adjustMenuListStyle):
33053        (WebCore::RenderTheme::adjustInputFieldSpeechButtonStyle):
33054        (WebCore::RenderTheme::adjustMeterStyle):
33055        (WebCore::RenderTheme::adjustProgressBarStyle):
33056        (WebCore::RenderTheme::adjustMenuListButtonStyle):
33057        (WebCore::RenderTheme::adjustSliderTrackStyle):
33058        (WebCore::RenderTheme::adjustSliderThumbStyle):
33059        (WebCore::RenderTheme::adjustSearchFieldStyle):
33060        (WebCore::RenderTheme::adjustSearchFieldCancelButtonStyle):
33061        (WebCore::RenderTheme::adjustSearchFieldDecorationStyle):
33062        (WebCore::RenderTheme::adjustSearchFieldResultsDecorationStyle):
33063        (WebCore::RenderTheme::adjustSearchFieldResultsButtonStyle):
33064        * rendering/RenderTheme.h:
33065        (RenderTheme):
33066        * rendering/RenderThemeChromiumAndroid.cpp:
33067        (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
33068        * rendering/RenderThemeChromiumAndroid.h:
33069        (RenderThemeChromiumAndroid):
33070        * rendering/RenderThemeChromiumLinux.cpp:
33071        (WebCore::RenderThemeChromiumLinux::adjustInnerSpinButtonStyle):
33072        * rendering/RenderThemeChromiumLinux.h:
33073        (RenderThemeChromiumLinux):
33074        * rendering/RenderThemeChromiumSkia.cpp:
33075        (WebCore::RenderThemeChromiumSkia::adjustButtonStyle):
33076        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldStyle):
33077        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldCancelButtonStyle):
33078        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldDecorationStyle):
33079        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsDecorationStyle):
33080        (WebCore::RenderThemeChromiumSkia::adjustSearchFieldResultsButtonStyle):
33081        (WebCore::RenderThemeChromiumSkia::adjustMenuListStyle):
33082        (WebCore::RenderThemeChromiumSkia::adjustMenuListButtonStyle):
33083        * rendering/RenderThemeChromiumSkia.h:
33084        (RenderThemeChromiumSkia):
33085        * rendering/RenderThemeChromiumWin.cpp:
33086        (WebCore):
33087        (WebCore::RenderThemeChromiumWin::adjustInnerSpinButtonStyle):
33088        (WebCore::RenderThemeChromiumWin::adjustProgressBarStyle):
33089        * rendering/RenderThemeChromiumWin.h:
33090        (RenderThemeChromiumWin):
33091        * rendering/RenderThemeMac.h:
33092        (RenderThemeMac):
33093        * rendering/RenderThemeMac.mm:
33094        (WebCore::RenderThemeMac::setFontFromControlSize):
33095        (WebCore::RenderThemeMac::adjustTextFieldStyle):
33096        (WebCore::RenderThemeMac::adjustTextAreaStyle):
33097        (WebCore::RenderThemeMac::adjustProgressBarStyle):
33098        (WebCore::RenderThemeMac::adjustMenuListStyle):
33099        (WebCore::RenderThemeMac::adjustMenuListButtonStyle):
33100        (WebCore::RenderThemeMac::adjustSliderTrackStyle):
33101        (WebCore::RenderThemeMac::adjustSliderThumbStyle):
33102        (WebCore::RenderThemeMac::adjustSearchFieldStyle):
33103        (WebCore::RenderThemeMac::adjustSearchFieldCancelButtonStyle):
33104        (WebCore::RenderThemeMac::adjustSearchFieldDecorationStyle):
33105        (WebCore::RenderThemeMac::adjustSearchFieldResultsDecorationStyle):
33106        (WebCore::RenderThemeMac::adjustSearchFieldResultsButtonStyle):
33107        * rendering/RenderThemeSafari.cpp:
33108        (WebCore::RenderThemeSafari::setFontFromControlSize):
33109        (WebCore::RenderThemeSafari::adjustButtonStyle):
33110        (WebCore::RenderThemeSafari::adjustTextFieldStyle):
33111        (WebCore::RenderThemeSafari::adjustTextAreaStyle):
33112        (WebCore::RenderThemeSafari::adjustMenuListStyle):
33113        (WebCore::RenderThemeSafari::adjustMenuListButtonStyle):
33114        (WebCore::RenderThemeSafari::adjustSliderThumbStyle):
33115        (WebCore::RenderThemeSafari::adjustSearchFieldStyle):
33116        (WebCore::RenderThemeSafari::adjustSearchFieldCancelButtonStyle):
33117        (WebCore::RenderThemeSafari::adjustSearchFieldDecorationStyle):
33118        (WebCore::RenderThemeSafari::adjustSearchFieldResultsDecorationStyle):
33119        (WebCore::RenderThemeSafari::adjustSearchFieldResultsButtonStyle):
33120        * rendering/RenderThemeSafari.h:
33121        (RenderThemeSafari):
33122        * rendering/RenderThemeWin.cpp:
33123        (WebCore::RenderThemeWin::adjustInnerSpinButtonStyle):
33124        (WebCore::RenderThemeWin::adjustMenuListStyle):
33125        (WebCore::RenderThemeWin::adjustMenuListButtonStyle):
33126        (WebCore::RenderThemeWin::adjustSearchFieldStyle):
33127        (WebCore::RenderThemeWin::adjustSearchFieldCancelButtonStyle):
33128        (WebCore::RenderThemeWin::adjustSearchFieldDecorationStyle):
33129        (WebCore::RenderThemeWin::adjustSearchFieldResultsDecorationStyle):
33130        (WebCore::RenderThemeWin::adjustSearchFieldResultsButtonStyle):
33131        * rendering/RenderThemeWin.h:
33132        (RenderThemeWin):
33133        (WebCore::RenderThemeWin::adjustButtonStyle):
33134        (WebCore::RenderThemeWin::adjustTextFieldStyle):
33135        (WebCore::RenderThemeWin::adjustTextAreaStyle):
33136        * rendering/RenderThemeWinCE.cpp:
33137        (WebCore::RenderThemeWinCE::adjustMenuListStyle):
33138        (WebCore::RenderThemeWinCE::adjustSearchFieldStyle):
33139        (WebCore::RenderThemeWinCE::adjustSearchFieldCancelButtonStyle):
33140        (WebCore::RenderThemeWinCE::adjustSearchFieldDecorationStyle):
33141        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsDecorationStyle):
33142        (WebCore::RenderThemeWinCE::adjustSearchFieldResultsButtonStyle):
33143        (WebCore::RenderThemeWinCE::adjustMenuListButtonStyle):
33144        * rendering/RenderThemeWinCE.h:
33145        (RenderThemeWinCE):
33146        (WebCore::RenderThemeWinCE::adjustButtonStyle):
33147        (WebCore::RenderThemeWinCE::adjustTextFieldStyle):
33148        (WebCore::RenderThemeWinCE::adjustTextAreaStyle):
33149        * rendering/style/RenderStyle.cpp:
33150        (WebCore::RenderStyle::isStyleAvailable):
33151        * rendering/style/RenderStyle.h:
33152        (WebCore):
33153        * rendering/style/StyleRareNonInheritedData.h:
33154        (WebCore):
33155        * rendering/svg/RenderSVGInlineText.cpp:
33156        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
33157        * rendering/svg/SVGRenderSupport.cpp:
33158        (WebCore::SVGRenderSupport::isOverflowHidden):
33159
331602012-04-15  Robert Hogan  <robert@webkit.org>
33161
33162        CSS 2.1 failure: table-columns-example-001 fails
33163        https://bugs.webkit.org/show_bug.cgi?id=83978
33164
33165        Reviewed by David Hyatt.
33166
33167        Tests: css2.1/20110323/table-columns-example-001.html
33168               fast/css/table-rules-attribute-groups-with-frame.html
33169               fast/css/table-rules-attribute-groups.html
33170               fast/css/table-rules-attribute-none-with-frame.html
33171               fast/css/table-rules-attribute-with-frame1.html
33172               fast/css/table-rules-attribute-with-frame2.html
33173               fast/css/table-rules-attribute.html
33174
33175        WebKit does not implement the 'cols', 'rows', and 'all' rules attributes correctly
33176        for cells that are adjacent to the table's edges. The solution is to follow the hint in the
33177        spec at http://www.w3.org/TR/CSS21/tables.html#columns and set the table's border to 
33178        hidden when the rules attribute is set to one of 'cols', 'rows' or 'all', and the table itself
33179        has no explicit border. Border collapsing will take care of the rest as 'hidden' always wins in 
33180        border-conflict resolution. It's not completely clear from the spec that an explicit table border
33181        should trump a cols rule but doing so is consistent with FF and Opera at least. A 'rules' attribute
33182        is trumped by anything specified for the 'frame' attribute so need to ensure that is respected too.
33183
33184        In short, any 'rules' attribute means a hidden table border unless there's a frame or border attribute.
33185
33186        * html/HTMLTableElement.cpp:
33187        (WebCore::HTMLTableElement::additionalAttributeStyle):
33188
331892012-04-22  Timothy Hatcher  <timothy@apple.com>
33190
33191        Stop installing localizedStrings.js in Production builds.
33192
33193        <rdar://problem/11296649>
33194
33195        Reviewed by Joseph Pecoraro.
33196
33197        * Configurations/WebCore.xcconfig: Added EXCLUDED_SOURCE_FILE_NAMES_Production_macosx
33198        and modified EXCLUDED_SOURCE_FILE_NAMES to look for CONFIGURATION variant.
33199
332002012-04-24  Yuzhu Shen  <yzshen@chromium.org>
33201
33202        [chromium] Add a description field in WebURLError and show failure description in the inspector network tab.
33203        https://bugs.webkit.org/show_bug.cgi?id=84566
33204
33205        Reviewed by Pavel Feldman.
33206
33207        * inspector/front-end/NetworkPanel.js:
33208        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
33209        * platform/chromium/support/WebURLError.cpp:
33210        (WebKit::WebURLError::operator=):
33211        (WebKit::WebURLError::operator ResourceError):
33212
332132012-04-24  Rob Buis  <rbuis@rim.com>
33214
33215        [SVG] getBBox on a <g> within symbol returns 0 but with defs it works correctly
33216        https://bugs.webkit.org/show_bug.cgi?id=72796
33217
33218        SVG <use> of <symbol> containing <linearGradient> renders black
33219        https://bugs.webkit.org/show_bug.cgi?id=82775
33220
33221        Reviewed by Dirk Schulze.
33222
33223        Create RenderSVGHiddenContainer for each <symbol>, which allows creation of child renderers too. This fixes
33224        both bugs since the bbox can be calculated at all times now and gradients in <symbol> are always created.
33225        This does allocate more memory but in general <symbol> is not used a lot and they tend to be small subtrees.
33226
33227        Patch by Leo Yang.
33228
33229        Tests: svg/custom/bbox-of-g-in-symbol.svg
33230               svg/custom/gradient-in-symbol-expected.svg
33231               svg/custom/gradient-in-symbol.svg
33232
33233        * svg/SVGSymbolElement.cpp:
33234        (WebCore::SVGSymbolElement::createRenderer):
33235        (WebCore):
33236        * svg/SVGSymbolElement.h:
33237        (SVGSymbolElement):
33238
332392012-04-24  Brady Eidson  <beidson@apple.com>
33240
33241        <rdar://problem/10120155> and https://bugs.webkit.org/show_bug.cgi?id=82664
33242         Need DOMWindow mechanism to supplement UserScripts for page cache notifications
33243
33244        This patch creates a new object type "DOMWindowExtension" which extends DOMWindowProperty.
33245        A DOMWindowExtension is tied to a particular DOMWindow and represents extensibility in that
33246        DOMWindow within a particular DOMWrapperWorld.
33247
33248        It is a token object meant designed to notify clients of the various events in the lifetime
33249        of a DOMWindow property such as creation, disconnecting for the page cache, reconnecting
33250        when restoring from the page cache, and DOMWindow destruction.
33251
33252        Reviewed by Sam Weinig.
33253
33254        New WebKit API test DOMWindowExtensionBasic added.
33255
33256        Add hooks for 4 new client calls regarding DOMWindowExtensions and global object lifetime:
33257        * loader/FrameLoaderClient.h:
33258        (WebCore::FrameLoaderClient::dispatchCanCreateGlobalObject):
33259        (WebCore::FrameLoaderClient::dispatchWillDisconnectDOMWindowExtensionFromGlobalObject):
33260        (WebCore::FrameLoaderClient::dispatchDidReconnectDOMWindowExtensionToGlobalObject):
33261        (WebCore::FrameLoaderClient::dispatchWillDestroyGlobalObjectForDOMWindowExtension):
33262        
33263        At the same time "DidClearWindowObject" is called, also notify clients that the global object is available:
33264        * loader/FrameLoader.cpp:
33265        (WebCore::FrameLoader::receivedFirstData):
33266        (WebCore::FrameLoader::dispatchGlobalObjectAvailableInAllWorlds):
33267        * loader/FrameLoader.h:
33268
33269         DOMWindowProperties might want to unregister themselves during these notifications, so copy
33270         the set to a Vector. While this technique is arguably fragile, its certainly less fragile than
33271         mutating a set while iterating it:
33272        * page/DOMWindow.cpp:
33273        (WebCore::DOMWindow::willDetachPage):
33274        (WebCore::DOMWindow::disconnectDOMWindowProperties):
33275        (WebCore::DOMWindow::reconnectDOMWindowProperties):
33276
33277         Implement the DOMWindowExtension object. It acts like a DOMWindowProperty with the added capability
33278         of remembering what Frame it used to be connected to so it can *always* notify clients on willDetachPage:
33279        * page/DOMWindowExtension.cpp: Added.
33280        (WebCore::DOMWindowExtension::DOMWindowExtension):
33281        (WebCore::DOMWindowExtension::~DOMWindowExtension):
33282        (WebCore::DOMWindowExtension::disconnectFrame):
33283        (WebCore::DOMWindowExtension::reconnectFrame):
33284        (WebCore::DOMWindowExtension::willDetachPage):
33285        * page/DOMWindowExtension.h: Added.
33286        (WebCore::DOMWindowExtension::create):
33287        (WebCore::DOMWindowExtension::world):
33288
33289         Project files:
33290        * CMakeLists.txt:
33291        * GNUmakefile.list.am:
33292        * Target.pri:
33293        * WebCore.exp.in:
33294        * WebCore.gypi:
33295        * WebCore.vcproj/WebCore.vcproj:
33296        * WebCore.xcodeproj/project.pbxproj:
33297
332982012-04-24  Sami Kyostila  <skyostil@chromium.org>
33299
33300        [chromium] Don't keep pointers to released layer tree
33301        https://bugs.webkit.org/show_bug.cgi?id=84715
33302
33303        Reviewed by Adrienne Walker.
33304
33305        As part of tree synchronization, CCLayerTreeHostImpl loses ownership of
33306        the previous tree (as per releaseRootLayer()). After this point we
33307        should not retain any pointers to the old tree, because they are
33308        effectively invalid as soon as the root layer is released.
33309
33310        For processing scroll updates we need to keep track of which layer is
33311        being scrolled, and this state needs to survive tree synchronizations.
33312        Instead of keeping a direct pointer to the scrolled layer, we now save
33313        the id of that layer and use it to look up the same layer from the new
33314        tree.
33315
33316        Unit test: CCLayerTreeHostImplTest.replaceTreeWhileScrolling
33317
33318        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
33319        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
33320        (WebCore::CCLayerTreeHostImpl::setRootLayer):
33321        (WebCore::CCLayerTreeHostImpl::releaseRootLayer):
33322        (WebCore::CCLayerTreeHostImpl::scrollBegin):
33323        (WebCore::CCLayerTreeHostImpl::scrollEnd):
33324        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
33325        (CCLayerTreeHostImpl):
33326
333272012-04-24  Alexandru Chiculita  <achicu@adobe.com>
33328
33329        [CSS Filters] Move m_filter and related fields from RenderLayer to a different structure and only allocate it when needed
33330        https://bugs.webkit.org/show_bug.cgi?id=84460
33331
33332        Reviewed by Dean Jackson.
33333
33334        The new RenderLayerFilterInfo is meant to be allocated only when needed by filters. The link to the RenderLayerFilterInfo
33335        is maintained using a HashMap and a single boolean in the RenderLayer class.
33336
33337        No new tests, just extracted a couple of fields inside the RenderLayer to a separate class.
33338
33339        * GNUmakefile.list.am:
33340        * Target.pri:
33341        * WebCore.gypi:
33342        * WebCore.vcproj/WebCore.vcproj:
33343        * WebCore.xcodeproj/project.pbxproj:
33344        * rendering/FilterEffectRenderer.cpp:
33345        (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
33346        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
33347        (WebCore::FilterEffectRendererHelper::applyFilterEffect):
33348        * rendering/RenderLayer.cpp:
33349        (WebCore::RenderLayer::RenderLayer):
33350        (WebCore::RenderLayer::~RenderLayer):
33351        (WebCore::RenderLayer::paintsWithFilters):
33352        (WebCore::RenderLayer::requiresFullLayerImageForFilters):
33353        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
33354        (WebCore::RenderLayer::paintLayerContents):
33355        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
33356        * rendering/RenderLayer.h:
33357        (WebCore::RenderLayer::filterRenderer):
33358        (RenderLayer):
33359        (WebCore::RenderLayer::filterInfo):
33360        (WebCore::RenderLayer::ensureFilterInfo):
33361        (WebCore::RenderLayer::removeFilterInfoIfNeeded):
33362        (WebCore::RenderLayer::hasFilterInfo):
33363        (WebCore::RenderLayer::setHasFilterInfo):
33364        * rendering/RenderLayerFilterInfo.cpp: Added.
33365        (WebCore):
33366        (WebCore::RenderLayerFilterInfo::filterInfoForRenderLayer):
33367        (WebCore::RenderLayerFilterInfo::createFilterInfoForRenderLayerIfNeeded):
33368        (WebCore::RenderLayerFilterInfo::removeFilterInfoForRenderLayer):
33369        (WebCore::RenderLayerFilterInfo::RenderLayerFilterInfo):
33370        (WebCore::RenderLayerFilterInfo::~RenderLayerFilterInfo):
33371        (WebCore::RenderLayerFilterInfo::setRenderer):
33372        * rendering/RenderLayerFilterInfo.h: Added.
33373        (WebCore):
33374        (RenderLayerFilterInfo):
33375        (WebCore::RenderLayerFilterInfo::dirtySourceRect):
33376        (WebCore::RenderLayerFilterInfo::addDirtySourceRect):
33377        (WebCore::RenderLayerFilterInfo::resetDirtySourceRect):
33378        (WebCore::RenderLayerFilterInfo::renderer):
33379
333802012-04-24  Kentaro Hara  <haraken@chromium.org>
33381
33382        [V8] Pass Isolate around in SerializedScriptValue.cpp (Part1)
33383        https://bugs.webkit.org/show_bug.cgi?id=84663
33384
33385        Reviewed by Nate Chapin.
33386
33387        The objective is to pass Isolate to toV8() in SerializedScriptValue.cpp.
33388
33389        Part1: Add an Isolate argument to SerializedScriptValue::create(),
33390        SerializedScriptValue::deserialize(), etc.
33391        Part2: Add an m_isolate member to SerializedScriptValue::Writer()
33392        and SerializedScriptValue::Reader().
33393        Part3: Pass Isolate to toV8().
33394
33395        This patch fixes Part1.
33396
33397        No tests. No change in behavior.
33398
33399        * bindings/v8/SerializedScriptValue.cpp:
33400        (WebCore::SerializedScriptValue::create):
33401        (WebCore::SerializedScriptValue::undefinedValue):
33402        (WebCore::SerializedScriptValue::booleanValue):
33403        (WebCore::SerializedScriptValue::numberValue):
33404        (WebCore::SerializedScriptValue::SerializedScriptValue):
33405        (WebCore::SerializedScriptValue::deserialize):
33406        (WebCore::SerializedScriptValue::deserializeForInspector):
33407        * bindings/v8/SerializedScriptValue.h:
33408        (SerializedScriptValue):
33409
334102012-04-24  Kentaro Hara  <haraken@chromium.org>
33411
33412        [V8][Refactoring] Remove deserializeAndSetProperty()
33413        from SerializedScriptValue.cpp
33414        https://bugs.webkit.org/show_bug.cgi?id=84662
33415
33416        Reviewed by Nate Chapin.
33417
33418        SerializedScriptValue::deserializeAndSetProperty() is no
33419        longer used. This patch removes it.
33420
33421        No tests. No change in behavior.
33422
33423        * bindings/v8/SerializedScriptValue.cpp:
33424        * bindings/v8/SerializedScriptValue.h:
33425
334262012-04-24  Kentaro Hara  <haraken@chromium.org>
33427
33428        [V8] Pass Isolate to setDOMException() in CodeGeneratorV8.pm
33429        https://bugs.webkit.org/show_bug.cgi?id=84660
33430
33431        Reviewed by Nate Chapin.
33432
33433        The objective is to pass Isolate around in V8 bindings.
33434        This patch passes Isolate to setDOMException() in CodeGeneratorV8.pm.
33435
33436        Test: bindings/scripts/test/TestEventTarget.idl
33437              bindings/scripts/test/TestObj.idl
33438              bindings/scripts/test/TestInterface.idl
33439
33440        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
33441        (GenerateSetDOMException):
33442        (GenerateNormalAttrGetter):
33443        (GenerateNormalAttrSetter):
33444        (GenerateFunctionCallback):
33445        (GenerateParametersCheck):
33446        (GenerateFunctionCallString):
33447
33448        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
33449        Updated run-bindings-tests results.
33450        (WebCore::TestEventTargetV8Internal::itemCallback):
33451        (WebCore::TestEventTargetV8Internal::dispatchEventCallback):
33452        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
33453        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
33454        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
33455        (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrGetter):
33456        (WebCore::TestObjV8Internal::attrWithGetterExceptionAttrSetter):
33457        (WebCore::TestObjV8Internal::attrWithSetterExceptionAttrSetter):
33458        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
33459        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrSetter):
33460        (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrSetter):
33461        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
33462        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrSetter):
33463        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
33464        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrSetter):
33465        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
33466        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
33467        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
33468        (WebCore::TestObjV8Internal::methodWithExceptionCallback):
33469        (WebCore::TestObjV8Internal::withScriptStateVoidExceptionCallback):
33470        (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
33471        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
33472        (WebCore::TestObjV8Internal::getSVGDocumentCallback):
33473        (WebCore::TestObjV8Internal::strictFunctionCallback):
33474
334752012-04-24  Kentaro Hara  <haraken@chromium.org>
33476
33477        [V8] Pass Isolate to setDOMException() (Part2)
33478        https://bugs.webkit.org/show_bug.cgi?id=84658
33479
33480        Reviewed by Nate Chapin.
33481
33482        The objective is to pass Isolate around in V8 bindings.
33483        This patch passes Isolate to setDOMException() in custom
33484        binding code.
33485
33486        No tests. No change in behavior.
33487
33488        * bindings/v8/V8Collection.cpp:
33489        (WebCore::toOptionsCollectionSetter):
33490        * bindings/v8/V8Collection.h:
33491        (WebCore):
33492        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
33493        (WebCore::constructWebGLArrayWithArrayBufferArgument):
33494        (WebCore::setWebGLArrayHelper):
33495        * bindings/v8/custom/V8DOMWindowCustom.cpp:
33496        (WebCore::WindowSetTimeoutImpl):
33497        * bindings/v8/custom/V8DataViewCustom.cpp:
33498        (WebCore::V8DataView::getInt8Callback):
33499        (WebCore::V8DataView::getUint8Callback):
33500        (WebCore::V8DataView::setInt8Callback):
33501        (WebCore::V8DataView::setUint8Callback):
33502        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
33503        (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
33504        (WebCore::V8DirectoryEntrySync::getFileCallback):
33505        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
33506        (WebCore::V8HTMLCanvasElement::toDataURLCallback):
33507        * bindings/v8/custom/V8HTMLElementCustom.cpp:
33508        (WebCore::V8HTMLElement::itemValueAccessorSetter):
33509        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
33510        (WebCore::V8HTMLOptionsCollection::addCallback):
33511        (WebCore::V8HTMLOptionsCollection::lengthAccessorSetter):
33512        (WebCore::V8HTMLOptionsCollection::indexedPropertySetter):
33513        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
33514        (WebCore::V8HTMLSelectElement::indexedPropertySetter):
33515        * bindings/v8/custom/V8NodeCustom.cpp:
33516        (WebCore::V8Node::insertBeforeCallback):
33517        (WebCore::V8Node::replaceChildCallback):
33518        (WebCore::V8Node::removeChildCallback):
33519        (WebCore::V8Node::appendChildCallback):
33520        * bindings/v8/custom/V8SQLTransactionCustom.cpp:
33521        (WebCore::V8SQLTransaction::executeSqlCallback):
33522        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
33523        (WebCore::V8WebKitMutationObserver::observeCallback):
33524        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
33525        (WebCore::V8XMLHttpRequest::responseAccessorGetter):
33526
335272012-04-24  Kentaro Hara  <haraken@chromium.org>
33528
33529        [V8] Pass Isolate to setDOMException() (Part1)
33530        https://bugs.webkit.org/show_bug.cgi?id=84656
33531
33532        Reviewed by Nate Chapin.
33533
33534        The objective is to pass Isolate around in V8 bindings.
33535        This patch passes Isolate to setDOMException() in custom binding code.
33536
33537        No tests. No change in behavior.
33538
33539        * bindings/v8/custom/V8LocationCustom.cpp:
33540        (WebCore::V8Location::protocolAccessorSetter):
33541        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
33542        (WebCore::V8SQLTransactionSync::executeSqlCallback):
33543        * bindings/v8/custom/V8SVGLengthCustom.cpp:
33544        (WebCore::V8SVGLength::valueAccessorGetter):
33545        (WebCore::V8SVGLength::valueAccessorSetter):
33546        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
33547        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
33548        (WebCore::getObjectParameter):
33549        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
33550        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
33551        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
33552        (WebCore::V8WebGLRenderingContext::getParameterCallback):
33553        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
33554        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
33555        (WebCore::V8WebGLRenderingContext::getUniformCallback):
33556        (WebCore::vertexAttribAndUniformHelperf):
33557        (WebCore::uniformHelperi):
33558        (WebCore::uniformMatrixHelper):
33559
335602012-04-24  Pavel Feldman  <pfeldman@chromium.org>
33561
33562        Web Inspector: encapsulate live location into the Script.
33563        https://bugs.webkit.org/show_bug.cgi?id=84722
33564
33565        Reviewed by Yury Semikhatsky.
33566
33567        Live location is just a location on the script. The way it is implemented today involves too many indirections.
33568
33569        * inspector/front-end/CompilerScriptMapping.js:
33570        * inspector/front-end/DebuggerModel.js:
33571        (WebInspector.DebuggerModel.prototype.setBreakpointByScriptLocation):
33572        (WebInspector.DebuggerModel.prototype.scriptForId):
33573        * inspector/front-end/DebuggerPresentationModel.js:
33574        (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
33575        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
33576        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
33577        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
33578        (WebInspector.PresentationCallFrame.prototype.uiLocation):
33579        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
33580        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
33581        * inspector/front-end/RawSourceCode.js:
33582        * inspector/front-end/ResourceScriptMapping.js:
33583        (WebInspector.ResourceScriptMapping.prototype.addScript):
33584        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
33585        (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
33586        * inspector/front-end/Script.js:
33587        (WebInspector.Script):
33588        (WebInspector.Script.prototype.isInlineScript):
33589        (WebInspector.Script.prototype.setSourceMapping):
33590        (WebInspector.Script.prototype.createLocation):
33591        (WebInspector.Script.Location):
33592        (WebInspector.Script.Location.prototype.dispose):
33593        (WebInspector.Script.Location.prototype._update):
33594        * inspector/front-end/ScriptMapping.js:
33595        (WebInspector.UILocation):
33596        (WebInspector.SourceMapping):
33597        (WebInspector.SourceMapping.prototype.rawLocationToUILocation):
33598        (WebInspector.SourceMapping.prototype.uiLocationToRawLocation):
33599        (WebInspector.MainScriptMapping):
33600        (WebInspector.MainScriptMapping.prototype.addScript):
33601        (WebInspector.MainScriptMapping.prototype.reset):
33602        * inspector/front-end/SnippetsModel.js:
33603        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
33604
336052012-04-24  Yury Semikhatsky  <yurys@chromium.org>
33606
33607        Web Inspector: a bunch of heap profiler cleanups
33608        https://bugs.webkit.org/show_bug.cgi?id=84730
33609
33610        - HeapSnapshotProviderProxy passed explicitely as a parameter to HeapSnapshotGridNode
33611        constructor
33612        - Removed dead code
33613        - Removed unused parameters
33614        - Added more closure compiler annotations
33615        - Extracted code finding cycled among node ancestors into a separate method
33616
33617        Reviewed by Pavel Feldman.
33618
33619        * inspector/front-end/HeapSnapshot.js:
33620        (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
33621        (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
33622        (WebInspector.HeapSnapshot.prototype.createNodesProviderForDominator):
33623        (WebInspector.HeapSnapshotEdgesProvider):
33624        * inspector/front-end/HeapSnapshotDataGrids.js:
33625        * inspector/front-end/HeapSnapshotGridNodes.js:
33626        (WebInspector.HeapSnapshotGridNode):
33627        (WebInspector.HeapSnapshotGenericObjectNode):
33628        (WebInspector.HeapSnapshotObjectNode):
33629        (WebInspector.HeapSnapshotObjectNode.prototype._findAncestorWithSameSnapshotNodeId):
33630        (WebInspector.HeapSnapshotInstanceNode):
33631        (WebInspector.HeapSnapshotConstructorNode):
33632        (WebInspector.HeapSnapshotDiffNode):
33633        (WebInspector.HeapSnapshotDiffNode._createProvider):
33634        (WebInspector.HeapSnapshotDominatorObjectNode):
33635        * inspector/front-end/HeapSnapshotProxy.js:
33636        (WebInspector.HeapSnapshotWorker):
33637        (WebInspector.HeapSnapshotProxy.prototype.createNodesProviderForDominator):
33638        * inspector/front-end/utilities.js:
33639
336402012-04-24  Adam Klein  <adamk@chromium.org>
33641
33642        Fix includes in StrongInlines.h and ScriptValue.h
33643        https://bugs.webkit.org/show_bug.cgi?id=84659
33644
33645        Reviewed by Geoffrey Garen.
33646
33647        This change was prompted by an attempt to use ScriptValue.h from a
33648        WebCore header file and running into trouble with the (as it turns out
33649        unnecessary) include of JSDOMBinding.h.
33650
33651        * bindings/js/ScriptValue.cpp: Add include of JSDOMBinding.h, now that
33652        it's not included by the header.
33653        * bindings/js/ScriptValue.h: Remove unnecessary include of JSDOMBinding.h.
33654
336552012-04-24  Antti Koivisto  <antti@apple.com>
33656
33657        Move MediaList CSSOM wrapper ownership to parent rule or stylesheet
33658        https://bugs.webkit.org/show_bug.cgi?id=84716
33659
33660        Reviewed by Anders Carlsson.
33661
33662        MediaList CSSOM wrapper should be owned by a rule or a stylesheet, not by the underlying 
33663        MediaQuerySet.
33664        
33665        Remove the ref forwarding from MediaList in favor of regular refcounting. Use the usual
33666        pattern where the parent wrapper refs the child wrapper and zeroes the backpointer
33667        on destruction. 
33668
33669        * bindings/js/JSDOMBinding.h:
33670        (WebCore::root):
33671        * css/CSSImportRule.cpp:
33672        (WebCore::CSSImportRule::~CSSImportRule):
33673        (WebCore::CSSImportRule::media):
33674        * css/CSSImportRule.h:
33675        (StyleRuleImport):
33676        (CSSImportRule):
33677        * css/CSSMediaRule.cpp:
33678        (WebCore::CSSMediaRule::~CSSMediaRule):
33679        (WebCore::CSSMediaRule::media):
33680        * css/CSSMediaRule.h:
33681        (CSSMediaRule):
33682        * css/CSSStyleSheet.cpp:
33683        (WebCore::CSSStyleSheet::~CSSStyleSheet):
33684        (WebCore::CSSStyleSheet::media):
33685        * css/CSSStyleSheet.h:
33686        (CSSStyleSheet):
33687        * css/MediaList.cpp:
33688        (WebCore::MediaQuerySet::mediaText):
33689        (WebCore::MediaList::MediaList):
33690        (WebCore):
33691        (WebCore::MediaList::notifyChanged):
33692        * css/MediaList.h:
33693        (MediaQuerySet):
33694        (WebCore::MediaList::create):
33695        (WebCore::MediaList::parentRule):
33696        (WebCore::MediaList::clearParentStyleSheet):
33697        (WebCore::MediaList::clearParentRule):
33698        (WebCore::MediaList::queries):
33699        (MediaList):
33700        * css/StyleRule.h:
33701        (WebCore::StyleRuleMedia::mediaQueries):
33702
337032012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
33704
33705        [GTK] Should pass canvas/philip/tests/toDataURL.jpeg.alpha.html
33706        https://bugs.webkit.org/show_bug.cgi?id=83973
33707
33708        Reviewed by Philippe Normand.
33709
33710        Test: canvas/philip/tests/toDataURL.jpeg.alpha.html
33711
33712        * platform/graphics/gtk/ImageBufferGtk.cpp:
33713        (WebCore::encodeImage): Convert ARGB32 cairo surface into RGB24
33714        when encoding JPEG images since JPEG encoder doesn't support alpha
33715        channel.
33716
337172012-04-24  Carlos Garcia Campos  <cgarcia@igalia.com>
33718
33719        [GTK] Add WebKitCookieManager::changed signal to WebKit2 GTK+ API
33720        https://bugs.webkit.org/show_bug.cgi?id=82598
33721
33722        Reviewed by Philippe Normand.
33723
33724        * GNUmakefile.list.am: Add new files to compilation.
33725        * platform/gtk/TemporaryLinkStubs.cpp: Remove stubs for
33726        setCookieStoragePrivateBrowsingEnabled,
33727        startObservingCookieChanges and stopObservingCookieChanges.
33728        * platform/network/soup/CookieStorageSoup.cpp: Added.
33729        (WebCore::setCookieStoragePrivateBrowsingEnabled):
33730        (WebCore::soupCookiesChanged): Notify cookies changes using
33731        platform strategies.
33732        (WebCore::startObservingCookieChanges): Connect to changed signal
33733        of the soup cookie jar.
33734        (WebCore::stopObservingCookieChanges): Disconnect signals handlers
33735        for changed signals of the soup cookie jar.
33736
337372012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
33738
33739        Rename CSSStyleApplyProperty files to StyleBuilder.
33740        https://bugs.webkit.org/show_bug.cgi?id=84721
33741
33742        Reviewed by Antti Koivisto.
33743
33744        r115043 renamed CSSStyleApplyProperty class to StyleBuilder. This
33745        patch rename the files to match the new class name.
33746
33747        No new tests : renaming of files, no behavior changes expected.
33748
33749        * CMakeLists.txt:
33750        * GNUmakefile.list.am:
33751        * Target.pri:
33752        * WebCore.gypi:
33753        * WebCore.vcproj/WebCore.vcproj:
33754        * WebCore.xcodeproj/project.pbxproj:
33755        * css/CSSAllInOne.cpp:
33756        * css/CSSStyleSelector.cpp:
33757        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
33758        * css/StyleBuilder.cpp: Renamed from Source/WebCore/css/CSSStyleApplyProperty.cpp.
33759        (WebCore):
33760        (ApplyPropertyExpanding):
33761        (WebCore::ApplyPropertyExpanding::applyInheritValue):
33762        (WebCore::ApplyPropertyExpanding::applyInitialValue):
33763        (WebCore::ApplyPropertyExpanding::applyValue):
33764        (WebCore::ApplyPropertyExpanding::createHandler):
33765        (ApplyPropertyDefaultBase):
33766        (WebCore::ApplyPropertyDefaultBase::setValue):
33767        (WebCore::ApplyPropertyDefaultBase::value):
33768        (WebCore::ApplyPropertyDefaultBase::initial):
33769        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
33770        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
33771        (WebCore::ApplyPropertyDefaultBase::applyValue):
33772        (WebCore::ApplyPropertyDefaultBase::createHandler):
33773        (ApplyPropertyDefault):
33774        (WebCore::ApplyPropertyDefault::setValue):
33775        (WebCore::ApplyPropertyDefault::applyValue):
33776        (WebCore::ApplyPropertyDefault::createHandler):
33777        (ApplyPropertyNumber):
33778        (WebCore::ApplyPropertyNumber::setValue):
33779        (WebCore::ApplyPropertyNumber::applyValue):
33780        (WebCore::ApplyPropertyNumber::createHandler):
33781        (ApplyPropertyStyleImage):
33782        (WebCore::ApplyPropertyStyleImage::applyValue):
33783        (WebCore::ApplyPropertyStyleImage::createHandler):
33784        (ApplyPropertyAuto):
33785        (WebCore::ApplyPropertyAuto::setValue):
33786        (WebCore::ApplyPropertyAuto::value):
33787        (WebCore::ApplyPropertyAuto::hasAuto):
33788        (WebCore::ApplyPropertyAuto::setAuto):
33789        (WebCore::ApplyPropertyAuto::applyInheritValue):
33790        (WebCore::ApplyPropertyAuto::applyInitialValue):
33791        (WebCore::ApplyPropertyAuto::applyValue):
33792        (WebCore::ApplyPropertyAuto::createHandler):
33793        (ApplyPropertyClip):
33794        (WebCore::ApplyPropertyClip::convertToLength):
33795        (WebCore::ApplyPropertyClip::applyInheritValue):
33796        (WebCore::ApplyPropertyClip::applyInitialValue):
33797        (WebCore::ApplyPropertyClip::applyValue):
33798        (WebCore::ApplyPropertyClip::createHandler):
33799        (WebCore::defaultInitialColor):
33800        (ApplyPropertyColor):
33801        (WebCore::ApplyPropertyColor::applyInheritValue):
33802        (WebCore::ApplyPropertyColor::applyInitialValue):
33803        (WebCore::ApplyPropertyColor::applyValue):
33804        (WebCore::ApplyPropertyColor::applyColorValue):
33805        (WebCore::ApplyPropertyColor::createHandler):
33806        (ApplyPropertyDirection):
33807        (WebCore::ApplyPropertyDirection::applyValue):
33808        (WebCore::ApplyPropertyDirection::createHandler):
33809        (ApplyPropertyLength):
33810        (WebCore::ApplyPropertyLength::setValue):
33811        (WebCore::ApplyPropertyLength::applyValue):
33812        (WebCore::ApplyPropertyLength::createHandler):
33813        (ApplyPropertyString):
33814        (WebCore::ApplyPropertyString::setValue):
33815        (WebCore::ApplyPropertyString::applyValue):
33816        (WebCore::ApplyPropertyString::createHandler):
33817        (ApplyPropertyBorderRadius):
33818        (WebCore::ApplyPropertyBorderRadius::setValue):
33819        (WebCore::ApplyPropertyBorderRadius::applyValue):
33820        (WebCore::ApplyPropertyBorderRadius::createHandler):
33821        (FillLayerAccessorTypes):
33822        (ApplyPropertyFillLayer):
33823        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
33824        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
33825        (WebCore::ApplyPropertyFillLayer::applyValue):
33826        (WebCore::ApplyPropertyFillLayer::createHandler):
33827        (ApplyPropertyComputeLength):
33828        (WebCore::ApplyPropertyComputeLength::setValue):
33829        (WebCore::ApplyPropertyComputeLength::applyValue):
33830        (WebCore::ApplyPropertyComputeLength::createHandler):
33831        (ApplyPropertyFont):
33832        (WebCore::ApplyPropertyFont::applyInheritValue):
33833        (WebCore::ApplyPropertyFont::applyInitialValue):
33834        (WebCore::ApplyPropertyFont::applyValue):
33835        (WebCore::ApplyPropertyFont::createHandler):
33836        (ApplyPropertyFontSize):
33837        (WebCore::ApplyPropertyFontSize::largerFontSize):
33838        (WebCore::ApplyPropertyFontSize::smallerFontSize):
33839        (WebCore::ApplyPropertyFontSize::applyInheritValue):
33840        (WebCore::ApplyPropertyFontSize::applyInitialValue):
33841        (WebCore::ApplyPropertyFontSize::applyValue):
33842        (WebCore::ApplyPropertyFontSize::createHandler):
33843        (ApplyPropertyFontWeight):
33844        (WebCore::ApplyPropertyFontWeight::applyValue):
33845        (WebCore::ApplyPropertyFontWeight::createHandler):
33846        (ApplyPropertyFontVariantLigatures):
33847        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue):
33848        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue):
33849        (WebCore::ApplyPropertyFontVariantLigatures::applyValue):
33850        (WebCore::ApplyPropertyFontVariantLigatures::createHandler):
33851        (ApplyPropertyBorderImage):
33852        (WebCore::ApplyPropertyBorderImage::applyValue):
33853        (WebCore::ApplyPropertyBorderImage::createHandler):
33854        (ApplyPropertyBorderImageModifier):
33855        (WebCore::ApplyPropertyBorderImageModifier::getValue):
33856        (WebCore::ApplyPropertyBorderImageModifier::setValue):
33857        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
33858        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
33859        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
33860        (WebCore::ApplyPropertyBorderImageModifier::createHandler):
33861        (ApplyPropertyBorderImageSource):
33862        (WebCore::ApplyPropertyBorderImageSource::applyValue):
33863        (WebCore::ApplyPropertyBorderImageSource::createHandler):
33864        (ApplyPropertyCounter):
33865        (WebCore::ApplyPropertyCounter::emptyFunction):
33866        (WebCore::ApplyPropertyCounter::applyInheritValue):
33867        (WebCore::ApplyPropertyCounter::applyValue):
33868        (WebCore::ApplyPropertyCounter::createHandler):
33869        (ApplyPropertyCursor):
33870        (WebCore::ApplyPropertyCursor::applyInheritValue):
33871        (WebCore::ApplyPropertyCursor::applyInitialValue):
33872        (WebCore::ApplyPropertyCursor::applyValue):
33873        (WebCore::ApplyPropertyCursor::createHandler):
33874        (ApplyPropertyTextAlign):
33875        (WebCore::ApplyPropertyTextAlign::applyValue):
33876        (WebCore::ApplyPropertyTextAlign::createHandler):
33877        (ApplyPropertyTextDecoration):
33878        (WebCore::ApplyPropertyTextDecoration::applyValue):
33879        (WebCore::ApplyPropertyTextDecoration::createHandler):
33880        (ApplyPropertyUnicodeBidi):
33881        (WebCore::ApplyPropertyUnicodeBidi::applyValue):
33882        (WebCore::ApplyPropertyUnicodeBidi::createHandler):
33883        (ApplyPropertyLineHeight):
33884        (WebCore::ApplyPropertyLineHeight::applyValue):
33885        (WebCore::ApplyPropertyLineHeight::createHandler):
33886        (ApplyPropertyPageSize):
33887        (WebCore::ApplyPropertyPageSize::mmLength):
33888        (WebCore::ApplyPropertyPageSize::inchLength):
33889        (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
33890        (WebCore::ApplyPropertyPageSize::applyInheritValue):
33891        (WebCore::ApplyPropertyPageSize::applyInitialValue):
33892        (WebCore::ApplyPropertyPageSize::applyValue):
33893        (WebCore::ApplyPropertyPageSize::createHandler):
33894        (ApplyPropertyTextEmphasisStyle):
33895        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
33896        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
33897        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
33898        (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
33899        (ApplyPropertyAnimation):
33900        (WebCore::ApplyPropertyAnimation::setValue):
33901        (WebCore::ApplyPropertyAnimation::value):
33902        (WebCore::ApplyPropertyAnimation::test):
33903        (WebCore::ApplyPropertyAnimation::clear):
33904        (WebCore::ApplyPropertyAnimation::initial):
33905        (WebCore::ApplyPropertyAnimation::map):
33906        (WebCore::ApplyPropertyAnimation::accessAnimations):
33907        (WebCore::ApplyPropertyAnimation::animations):
33908        (WebCore::ApplyPropertyAnimation::applyInheritValue):
33909        (WebCore::ApplyPropertyAnimation::applyInitialValue):
33910        (WebCore::ApplyPropertyAnimation::applyValue):
33911        (WebCore::ApplyPropertyAnimation::createHandler):
33912        (ApplyPropertyOutlineStyle):
33913        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
33914        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
33915        (WebCore::ApplyPropertyOutlineStyle::applyValue):
33916        (WebCore::ApplyPropertyOutlineStyle::createHandler):
33917        (ApplyPropertyResize):
33918        (WebCore::ApplyPropertyResize::applyValue):
33919        (WebCore::ApplyPropertyResize::createHandler):
33920        (ApplyPropertyVerticalAlign):
33921        (WebCore::ApplyPropertyVerticalAlign::applyValue):
33922        (WebCore::ApplyPropertyVerticalAlign::createHandler):
33923        (ApplyPropertyAspectRatio):
33924        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
33925        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
33926        (WebCore::ApplyPropertyAspectRatio::applyValue):
33927        (WebCore::ApplyPropertyAspectRatio::createHandler):
33928        (ApplyPropertyZoom):
33929        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
33930        (WebCore::ApplyPropertyZoom::applyInheritValue):
33931        (WebCore::ApplyPropertyZoom::applyInitialValue):
33932        (WebCore::ApplyPropertyZoom::applyValue):
33933        (WebCore::ApplyPropertyZoom::createHandler):
33934        (ApplyPropertyDisplay):
33935        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
33936        (WebCore::ApplyPropertyDisplay::applyInheritValue):
33937        (WebCore::ApplyPropertyDisplay::applyInitialValue):
33938        (WebCore::ApplyPropertyDisplay::applyValue):
33939        (WebCore::ApplyPropertyDisplay::createHandler):
33940        (ApplyPropertyFlex):
33941        (WebCore::ApplyPropertyFlex::applyInheritValue):
33942        (WebCore::ApplyPropertyFlex::applyInitialValue):
33943        (WebCore::ApplyPropertyFlex::applyValue):
33944        (WebCore::ApplyPropertyFlex::createHandler):
33945        (WebCore::ApplyPropertyFlex::getFlexValue):
33946        (WebCore::StyleBuilder::sharedStyleBuilder):
33947        (WebCore::StyleBuilder::StyleBuilder):
33948        * css/StyleBuilder.h: Renamed from Source/WebCore/css/CSSStyleApplyProperty.h.
33949        (WebCore):
33950        (PropertyHandler):
33951        (WebCore::PropertyHandler::PropertyHandler):
33952        (WebCore::PropertyHandler::applyInheritValue):
33953        (WebCore::PropertyHandler::applyInitialValue):
33954        (WebCore::PropertyHandler::applyValue):
33955        (WebCore::PropertyHandler::isValid):
33956        (WebCore::PropertyHandler::inheritFunction):
33957        (WebCore::PropertyHandler::initialFunction):
33958        (WebCore::PropertyHandler::applyFunction):
33959        (StyleBuilder):
33960        (WebCore::StyleBuilder::propertyHandler):
33961        (WebCore::StyleBuilder::index):
33962        (WebCore::StyleBuilder::valid):
33963        (WebCore::StyleBuilder::setPropertyHandler):
33964
339652012-04-24  Florin Malita  <fmalita@chromium.org>
33966
33967        WebCore::EventTarget::addEventListener crash
33968        https://bugs.webkit.org/show_bug.cgi?id=84171
33969
33970        Reviewed by Nikolas Zimmermann.
33971
33972        Test: svg/custom/use-tref-crash.svg
33973
33974        Adding tref target event listeners while building the shadow tree is
33975        problematic, because SVGUseElement::buildShadowAndInstanceTree() only
33976        sets the element instance<->shadow element association at a later time.
33977
33978        Fortunately, buildShadowAndInstanceTree() also propagates the event
33979        handlers (transferEventListenersToShadowTree) - so we can simply skip
33980        them in SVGTRefElement::buildPendingResource() for shadow elements.
33981
33982        * svg/SVGTRefElement.cpp:
33983        (WebCore::SVGTRefElement::buildPendingResource):
33984
339852012-04-24  Kent Tamura  <tkent@chromium.org>
33986
33987        Clickable area of a calendar picker indicator is too small.
33988        https://bugs.webkit.org/show_bug.cgi?id=84677
33989
33990        Reviewed by Kentaro Hara.
33991
33992        Test: fast/forms/date/date-appearance.html is affected.
33993
33994        * css/html.css:
33995        (input::-webkit-calendar-picker-indicator):
33996        - Remove unnecessary disaplay:inline-block.
33997        - Add paddings instead of the margin.
33998        (input::-webkit-calendar-picker-indicator:hover):
33999        Add hover style.
34000
340012012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
34002
34003        Another unreviewed build fix for Mac.
34004
34005        * css/CSSStyleSelector.h:
34006        (CSSStyleSelector):
34007
340082012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
34009
34010        Unreviewed build fix attempt for Mac.
34011
34012        * rendering/style/RenderStyle.h:
34013
340142012-04-24  Alexis Menard  <alexis.menard@openbossa.org>
34015
34016        Rename CSSStyleApplyProperty class to StyleBuilder.
34017        https://bugs.webkit.org/show_bug.cgi?id=84711
34018
34019        Reviewed by Antti Koivisto.
34020
34021        As per discussion on bug https://bugs.webkit.org/show_bug.cgi?id=42764
34022        the name is a bit confusing. This first patch rename the class and a
34023        following one will rename the files. We also drop the CSS prefix of the
34024        class to keep CSS prefixed classes for CSSOM types.
34025
34026        No new tests : renaming, no behavior changes should appear.
34027
34028        * css/CSSStyleApplyProperty.cpp:
34029        (WebCore::ApplyPropertyExpanding::applyInheritValue):
34030        (WebCore::ApplyPropertyExpanding::applyInitialValue):
34031        (WebCore::ApplyPropertyExpanding::applyValue):
34032        (WebCore::StyleBuilder::sharedStyleBuilder):
34033        (WebCore::StyleBuilder::StyleBuilder):
34034        * css/CSSStyleApplyProperty.h:
34035        (WebCore):
34036        (StyleBuilder):
34037        * css/CSSStyleSelector.cpp:
34038        (WebCore::CSSStyleSelector::CSSStyleSelector):
34039        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
34040        * css/CSSStyleSelector.h:
34041        (CSSStyleSelector):
34042
340432012-04-24  Kent Tamura  <tkent@chromium.org>
34044
34045        Merge LocalizedCalendar into LocalizedDate
34046        https://bugs.webkit.org/show_bug.cgi?id=84685
34047
34048        Reviewed by Kentaro Hara.
34049
34050        The functionality of LocalizedCalendar is very related to
34051        LocalizedDate. We should merge them.
34052
34053        No new tests. Just refactoring.
34054
34055        * WebCore.gypi: Remove LocalizedCalendar.h and LocalizedCalenderICU.cpp.
34056        * html/shadow/CalendarPickerElement.cpp:
34057        Include LocalizedDate.h instead of LocalizedCalendar.h.
34058        * platform/text/LocalizedCalendar.h:
34059        Removed. Merged into LocalizedDate.h.
34060        * platform/text/LocalizedCalendarICU.cpp:
34061        Removed. Merged into LocalizedDateICU.h.
34062        * platform/text/LocalizedDate.h:
34063        (WebCore): Move some functions from LocalizedCalendar.h.
34064        * platform/text/LocalizedDateICU.cpp:
34065        Move some functions from LocalizedCalendarICU.cpp.
34066
340672012-04-24  Pavel Feldman  <pfeldman@chromium.org>
34068
34069        Web Inspector: remove pure delegation code from DebuggerPresentationModel
34070        https://bugs.webkit.org/show_bug.cgi?id=84704
34071
34072        Reviewed by Yury Semikhatsky.
34073
34074        This change removes the code that delegates calls to breakpoint manager and exposes the breakpoint
34075        manager in debugger presentation model itself. It allows narrowing dpm dependencies.
34076
34077        * inspector/front-end/BreakpointsSidebarPane.js:
34078        (WebInspector.JavaScriptBreakpointsSidebarPane):
34079        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
34080        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
34081        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
34082        * inspector/front-end/DebuggerModel.js:
34083        (WebInspector.DebuggerModel.prototype.debuggerPausedDetails):
34084        (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
34085        (WebInspector.DebuggerModel.prototype.isPaused):
34086        * inspector/front-end/DebuggerPresentationModel.js:
34087        (WebInspector.DebuggerPresentationModel.prototype.get breakpointManager):
34088        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
34089        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
34090        * inspector/front-end/JavaScriptSource.js:
34091        (WebInspector.JavaScriptSource):
34092        (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
34093        (WebInspector.JavaScriptSource.prototype.findBreakpoint):
34094        (WebInspector.JavaScriptSource.prototype.setBreakpoint):
34095        (WebInspector.JavaScriptSource.prototype.setBreakpointEnabled):
34096        (WebInspector.JavaScriptSource.prototype.removeBreakpoint):
34097        (WebInspector.JavaScriptSource.prototype.updateBreakpoint):
34098        (WebInspector.JavaScriptSource.prototype.continueToLine):
34099        (WebInspector.JavaScriptSource.prototype.canSetContent):
34100        (WebInspector.JavaScriptSource.prototype.setContent):
34101        (WebInspector.JavaScriptSource.prototype.updateBreakpointsAfterLiveEdit):
34102        * inspector/front-end/JavaScriptSourceFrame.js:
34103        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
34104        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
34105        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
34106        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
34107        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
34108        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
34109        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
34110        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
34111        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
34112        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
34113        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
34114        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
34115        * inspector/front-end/ScopeChainSidebarPane.js:
34116        (WebInspector.ScopeChainSidebarPane.prototype.update):
34117        * inspector/front-end/ScriptsPanel.js:
34118        (WebInspector.ScriptsPanel.prototype._debuggerPaused.else.didGetUILocation):
34119        (WebInspector.ScriptsPanel.prototype._debuggerPaused):
34120
341212012-04-24  Yury Semikhatsky  <yurys@chromium.org>
34122
34123        Web Inspector: native nodes may have snapshot id less than base snapshot max JS object id
34124        https://bugs.webkit.org/show_bug.cgi?id=84681
34125
34126        Make sure new nodes whose IDs less than base snapshot max JS object id will
34127        get into snapshot delta.
34128
34129        Reviewed by Pavel Feldman.
34130
34131        Test: inspector/profiler/heap-snapshot-comparison-dom-groups-change.html
34132
34133        * inspector/front-end/HeapSnapshot.js:
34134        (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
34135        * inspector/front-end/HeapSnapshotDataGrids.js:
34136        (WebInspector.HeapSnapshotSortableDataGrid): Drive-by fix, made recursion counter
34137        a normal field on HeapSnapshotSortableDataGrid.
34138        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
34139        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
34140
341412012-04-24  Sheriff Bot  <webkit.review.bot@gmail.com>
34142
34143        Unreviewed, rolling out r115000.
34144        http://trac.webkit.org/changeset/115000
34145        https://bugs.webkit.org/show_bug.cgi?id=84703
34146
34147        Breaks webkit_unit_tests on Mac in Chromium:
34148        http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.6/builds/15157
34149        (Requested by mnaganov on #webkit).
34150
34151        * platform/graphics/skia/OpaqueRegionSkia.cpp:
34152        (WebCore::paintIsOpaque):
34153        (WebCore::OpaqueRegionSkia::popCanvasLayer):
34154        (WebCore::OpaqueRegionSkia::didDraw):
34155        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
34156        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
34157        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
34158        * platform/graphics/skia/OpaqueRegionSkia.h:
34159        (OpaqueRegionSkia):
34160        (WebCore::OpaqueRegionSkia::CanvasLayerState::CanvasLayerState):
34161        (CanvasLayerState):
34162        * platform/graphics/skia/PlatformContextSkia.cpp:
34163        (WebCore::PlatformContextSkia::restoreLayer):
34164
341652012-04-23  Antti Koivisto  <antti@apple.com>
34166
34167        Consolidate external stylesheet quirks handling to StyleSheetInternal
34168        https://bugs.webkit.org/show_bug.cgi?id=84632
34169
34170        Reviewed by Andreas Kling.
34171
34172        Move the repeated code from StyleImportRule and HTMLLinkElement to StyleSheetInternal::parseUserStyleSheet.
34173        
34174        Remove a BUILDING_ON_LEOPARD-only quirk.
34175
34176        * css/CSSImportRule.cpp:
34177        (WebCore::StyleRuleImport::setCSSStyleSheet):
34178        * css/CSSParser.cpp:
34179        (WebCore):
34180        (WebCore::CSSParserContext::CSSParserContext):
34181        
34182            Add new settings bits to the CSSParserContext. These are used for external stylesheet parsing quirks.
34183
34184        * css/CSSParserMode.h:
34185        (CSSParserContext):
34186        * css/CSSStyleSheet.cpp:
34187        (WebCore::StyleSheetInternal::parseUserStyleSheet):
34188        (WebCore::StyleSheetInternal::parseString):
34189        (WebCore):
34190        (WebCore::StyleSheetInternal::parseStringAtLine):
34191        * css/CSSStyleSheet.h:
34192        (WebCore):
34193        (StyleSheetInternal):
34194        * html/HTMLLinkElement.cpp:
34195        (WebCore::HTMLLinkElement::setCSSStyleSheet):
34196
341972012-04-24  Yael Aharon  <yael.aharon@nokia.com>
34198
34199        [Qt] Move notification icon download out of WebCore
34200        https://bugs.webkit.org/show_bug.cgi?id=80700
34201
34202        Reviewed by Simon Hausmann.
34203
34204        Remove the code that downloads the notification's icon out of WebCore.
34205        Other ports let the client decide if to download the icon or not.
34206        No new tests. This patch is only removing code.
34207
34208        * notifications/Notification.cpp:
34209        (WebCore::Notification::~Notification):
34210        (WebCore::Notification::show):
34211        (WebCore::Notification::close):
34212        (WebCore::Notification::contextDestroyed):
34213        * notifications/Notification.h:
34214        (Notification):
34215
342162012-04-24  Rakesh KN  <rakesh.kn@motorola.com>
34217
34218        RadioNodeList support in HTMLFormElement::elements
34219        https://bugs.webkit.org/show_bug.cgi?id=81854
34220
34221        Implement RadioNodeList support spec'ed at
34222        http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#radionodelist
34223
34224        Reviewed by Ryosuke Niwa.
34225
34226        Test: fast/forms/form-collection-radio-node-list.html
34227
34228        * CMakeLists.txt:
34229        Added entries for new files.
34230        * DerivedSources.cpp: Ditto.
34231        * DerivedSources.make: Ditto.
34232        * DerivedSources.pri: Ditto.
34233        * GNUmakefile.list.am: Ditto.
34234        * Target.pri: Ditto.
34235        * WebCore.gypi: Ditto.
34236        * WebCore.vcproj/WebCore.vcproj: Ditto.
34237        * WebCore.xcodeproj/project.pbxproj: Ditto.
34238        * bindings/js/JSHTMLCollectionCustom.cpp:
34239        (WebCore::getNamedItems):
34240        Modified to create RadioNodeList object when FormControlCollection has more than
34241        one element of same name/id.
34242        * bindings/scripts/CodeGeneratorJS.pm:
34243        (GenerateImplementation):
34244        Added code to include Node.h and JSNode.h in JSRadioNodeElement.cpp.
34245        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
34246        (WebCore::getNamedItems):
34247        Modified to create RadioNodeList object when FormControlCollection has more than
34248        one element of same name/id.
34249        * html/CollectionType.h:
34250        Added new FormControls type.
34251        * html/HTMLCollection.cpp:
34252        (WebCore::HTMLCollection::shouldIncludeChildren):
34253        (WebCore::HTMLCollection::isAcceptableElement):
34254        Handle FormControls collection type.
34255        * html/HTMLFormCollection.cpp:
34256        (WebCore::HTMLFormCollection::HTMLFormCollection):
34257        Contruct collection of FormControls type.
34258        * html/RadioNodeList.cpp: Added.
34259        (WebCore):
34260        (WebCore::RadioNodeList::RadioNodeList):
34261        (WebCore::RadioNodeList::~RadioNodeList):
34262        (WebCore::toRadioButtonInputElement):
34263        (WebCore::RadioNodeList::value):
34264        (WebCore::RadioNodeList::setValue):
34265        (WebCore::RadioNodeList::nodeMatches):
34266        * html/RadioNodeList.h: Added.
34267        (WebCore):
34268        (RadioNodeList):
34269        (WebCore::RadioNodeList::create):
34270        RadioNodeList implementation.
34271        * html/RadioNodeList.idl: Added.
34272        Idl for generating RadioNodeList JS/V8 bindings.
34273
342742012-04-24  Benjamin Poulain  <bpoulain@apple.com>
34275
34276        Implement the field cache of ObjcClass in WebKit types
34277        https://bugs.webkit.org/show_bug.cgi?id=84667
34278
34279        Reviewed by Geoffrey Garen.
34280
34281        Every time we get a field through the Objective-C bridge, we waste some time converting
34282        the incoming string to an CFString.
34283
34284        This patch implement the field cache based on WTF types so that we can return directly
34285        in case of a positive match.
34286
34287        When we do not have a match on the Identifier, we allocate the memory and find the valid field
34288        as before.
34289
34290        * bridge/objc/objc_class.h:
34291        (ObjcClass):
34292        * bridge/objc/objc_class.mm:
34293        (JSC::Bindings::deleteMethod):
34294        (Bindings):
34295        (JSC::Bindings::ObjcClass::ObjcClass):
34296        (JSC::Bindings::ObjcClass::fieldNamed):
34297
342982012-04-23  Andy Estes  <aestes@apple.com>
34299
34300        Incremental rendering should be unsuppressed after the load event or a configurable timeout, whichever occurs first.
34301        https://bugs.webkit.org/show_bug.cgi?id=84583
34302
34303        Reviewed by Anders Carlsson.
34304
34305        In high-latency situations, having incremental rendering suppression
34306        enabled makes for a worse experience due to the excessively long time
34307        it takes for the load event to fire. So that clients that opt in to
34308        incremental rendering suppression can mitigate this, add a configurable
34309        timeout in which rendering is re-enabled if the load event has yet to
34310        fire.
34311
34312        * dom/Document.cpp:
34313        (WebCore::Document::Document):
34314        (WebCore::Document::setReadyState): When the document transitions to
34315        the loading state, start a timer; when it transitions to the completed
34316        state, allow visual updates.
34317        (WebCore::Document::setVisualUpdatesAllowed): If visual updates are
34318        allowed, force a repaint. Otherwise, set a flag that suppresses
34319        rendering.
34320        (WebCore::Document::visualUpdatesSuppressionTimerFired): When the timer
34321        fires, allow visual updates.
34322        (WebCore::Document::implicitClose): Remove code that is now called in
34323        setVisualUpdatesAllowed().
34324        * dom/Document.h:
34325        (WebCore::Document::visualUpdatesAllowed):
34326        * page/Settings.cpp:
34327        (WebCore::Settings::Settings):
34328        * page/Settings.h:
34329        (WebCore::Settings::setIncrementalRenderingSuppressionTimeoutInSeconds):
34330        (WebCore::Settings::incrementalRenderingSuppressionTimeoutInSeconds):
34331
343322012-04-23  Dana Jansens  <danakj@chromium.org>
34333
34334        [chromium] Image masks are considered opaque incorrectly
34335        https://bugs.webkit.org/show_bug.cgi?id=84275
34336
34337        Reviewed by Adrienne Walker.
34338
34339        Match the behaviour of SkCanvas layers more closely while tracking
34340        opaque paints. SkCanvas layers actually act as a separate device
34341        (ie. pixels) and when the layer is popped off, the pixels are copied
34342        down to the layer below.
34343
34344        While we can use the total clip to decide what pixels the the
34345        drawing operation will affect in the final device, the blending
34346        down through layers needs to consider each layer carefully.
34347
34348        In this case the image mask is drawn into a layer which is copied
34349        down using the DestinationIn operation. Since the layer contains
34350        non-opaque pixels, the DestinationIn copy can destroy opaque
34351        areas in the next layer. We add OpaqueRegionSkia::FillByCopy to
34352        distinguish the case where we are copying a block of pixels, and the
34353        alpha values are essentially unknown.
34354
34355        Unit test: PlatformContextSkiaTest.trackImageMask
34356                   PlatformContextSkiaTest.trackImageMaskWithOpaqueRect
34357
34358        * platform/graphics/skia/OpaqueRegionSkia.cpp:
34359        (WebCore::paintIsOpaque):
34360        (WebCore::OpaqueRegionSkia::applyOpaqueRegionFromLayer):
34361        (WebCore::OpaqueRegionSkia::pushCanvasLayer):
34362        (WebCore::OpaqueRegionSkia::popCanvasLayer):
34363        (WebCore::OpaqueRegionSkia::didDrawRect):
34364        (WebCore::OpaqueRegionSkia::didDrawPath):
34365        (WebCore::OpaqueRegionSkia::didDrawPoints):
34366        (WebCore::OpaqueRegionSkia::didDrawBounded):
34367        (WebCore::OpaqueRegionSkia::didDraw):
34368        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
34369        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
34370        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
34371        (WebCore::OpaqueRegionSkia::markAllAsNonOpaque):
34372        * platform/graphics/skia/OpaqueRegionSkia.h:
34373        (OpaqueRegionSkia):
34374        (CanvasLayerState):
34375        * platform/graphics/skia/PlatformContextSkia.cpp:
34376        (WebCore::PlatformContextSkia::restoreLayer):
34377
343782012-04-23  Kent Tamura  <tkent@chromium.org>
34379
34380        Show the format indicator in a date field
34381        https://bugs.webkit.org/show_bug.cgi?id=83872
34382
34383        Reviewed by Hajime Morita.
34384
34385        Enable the fixed placeholder feature for the date type, and show
34386        the editable date format as the fixed placeholder.
34387        The format string is created by the following steps.
34388        1. Obtain a pattern string from ICU
34389          http://icu-project.org/apiref/icu4c/classSimpleDateFormat.html#details
34390        2. Replace a sequence of 'y', 'Y', 'M', or 'd' in the pattern with
34391          a natural language string such as "year", "month", or "day".
34392
34393        Test: fast/forms/date/date-fixed-placeholder.html
34394
34395        * html/DateInputType.cpp:
34396        (WebCore::DateInputType::supportsPlaceholder): Added. Returns true.
34397        (WebCore::DateInputType::usesFixedPlaceholder): Added. Returns true.
34398        (WebCore::DateInputType::fixedPlaceholder):
34399        Added. Calls localizedDateFormatText() provided by LocalizedDate.h.
34400        * html/DateInputType.h:
34401        (DateInputType): Add declarations of new override functions.
34402        * platform/LocalizedStrings.h:
34403        (WebCore): Add dateFormat{Year,Month,DayInMonth}Text()
34404        * platform/text/ICULocale.cpp:
34405        (WebCore::isICUYearSymbol): A function to improve redability.
34406        (WebCore::isICUMonthSymbol): ditto.
34407        (WebCore::isICUDayInMonthSymbol): ditto.
34408        (WebCore::localizeFormat): Step 2 of the above description.
34409        (WebCore::ICULocale::initializeLocalizedDateFormatText):
34410        Step 1 of the above description.
34411        (WebCore::ICULocale::localizedDateFormatText):
34412        * platform/text/ICULocale.h:
34413        (ICULocale): Add new functions and a data member.
34414        * platform/text/LocalizedDate.h:
34415        (WebCore): Add localizedDateFormatText().
34416        * platform/text/LocalizedDateICU.cpp:
34417        (WebCore::localizedDateFormatText):
34418        Just call ICULocale::localizedDateFormatText().
34419
344202012-04-23  Kentaro Hara  <haraken@chromium.org>
34421
34422        [V8] Pass Isolate to v8Array()
34423        https://bugs.webkit.org/show_bug.cgi?id=84295
34424
34425        Reviewed by Nate Chapin.
34426
34427        The final objective is to pass Isolate around in V8 bindings.
34428        This patch passes the Isolate to v8Array().
34429
34430        (GenerateNormalAttrGetter):
34431        (NativeToJSValue):
34432        * bindings/scripts/test/V8/V8TestObj.cpp:
34433        (WebCore::TestObjV8Internal::sequenceAttrAttrGetter):
34434        (WebCore::TestObjV8Internal::methodReturningSequenceCallback):
34435        * bindings/v8/V8Binding.h:
34436        (WebCore::v8Array):
34437
344382012-04-23  Kentaro Hara  <haraken@chromium.org>
34439
34440        [V8] Pass Isolate to GetNamedProperty()
34441        https://bugs.webkit.org/show_bug.cgi?id=84277
34442
34443        Reviewed by Nate Chapin.
34444
34445        The objective is to pass Isolate around in V8 bindings.
34446        This patch passes Isolate to GetNamedProperty().
34447
34448        (GenerateHeader):
34449        * bindings/v8/V8DOMWindowShell.cpp:
34450        (WebCore::getter):
34451        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
34452        (WebCore::V8HTMLDocument::GetNamedProperty):
34453        (WebCore::V8HTMLDocument::allAccessorGetter):
34454
344552012-04-23  Michael Nordman  <michaeln@google.com>
34456
34457        [chromium] DomStorage event handling mods.
34458        https://bugs.webkit.org/show_bug.cgi?id=84387
34459
34460        Add a few simple inline getters to allow the source Document of a storage
34461        event to be identified given a pointer to the source StorageArea so those
34462        Documents can be excluded by the event dispatching logic.
34463
34464        Reviewed by Dimitri Glazkov.
34465
34466        No new tests. No new functionality or change in behavior.
34467
34468        * page/DOMWindow.h:
34469        (WebCore::DOMWindow::optionalSessionStorage): simple inline getter to avoid construction where possible
34470        (WebCore::DOMWindow::optionalLocalStorage): ditto
34471        * storage/Storage.h:
34472        (WebCore::Storage::area): simple inline getter
34473
344742012-04-23  Kenneth Russell  <kbr@google.com>
34475
34476        Change ImageData to reference Uint8ClampedArray rather than CanvasPixelArray
34477        https://bugs.webkit.org/show_bug.cgi?id=73011
34478
34479        Reviewed by Oliver Hunt.
34480
34481        Changed ImageData to contain Uint8ClampedArray instead of ByteArray
34482        per current HTML5 spec.
34483
34484        In order to avoid introducing large data copies, it was necessary to
34485        switch a few other places in WebKit to use Uint8ClampedArray at the
34486        same time, most notably the FilterEffect implementation, portions of
34487        ImageBuffer, and a couple of places in the image encoders.
34488
34489        Note that the change in method name from "get" to "item" occurred
34490        because JSC's autogenerated indexed getters reference a method
34491        called "item". If desired, a convenience method could be
34492        introduced to avoid the renamings in the FilterEffect classes.
34493
34494        With these changes, ByteArray and some custom code in JavaScriptCore
34495        actually become unreferenced, and can be deleted. This deletion will
34496        be done separately in Bug 83655, to keep the size of this patch
34497        manageable.
34498
34499        Test: fast/canvas/imagedata-contains-uint8clampedarray.html
34500
34501        * bindings/js/JSImageDataCustom.cpp:
34502        (WebCore::toJS):
34503        * bindings/js/SerializedScriptValue.cpp:
34504        (WebCore::CloneSerializer::dumpIfTerminal):
34505        (WebCore::CloneDeserializer::readTerminal):
34506        * bindings/v8/SerializedScriptValue.cpp:
34507        * bindings/v8/custom/V8ImageDataCustom.cpp:
34508        (WebCore::toV8):
34509        * bridge/qt/qt_pixmapruntime.cpp:
34510        (JSC::Bindings::QtPixmapToImageDataMethod::invoke):
34511        * html/ImageData.cpp:
34512        (WebCore::ImageData::create):
34513        (WebCore::ImageData::ImageData):
34514        * html/ImageData.h:
34515        (ImageData):
34516        (WebCore::ImageData::data):
34517        * html/ImageData.idl:
34518        * html/canvas/CanvasRenderingContext2D.cpp:
34519        (WebCore::createEmptyImageData):
34520        (WebCore::CanvasRenderingContext2D::getImageData):
34521        (WebCore::CanvasRenderingContext2D::putImageData):
34522        * platform/graphics/GraphicsContext3D.cpp:
34523        (WebCore::GraphicsContext3D::extractImageData):
34524        * platform/graphics/ImageBuffer.cpp:
34525        (WebCore::ImageBuffer::genericConvertToLuminanceMask):
34526        * platform/graphics/ImageBuffer.h:
34527        * platform/graphics/ShadowBlur.cpp:
34528        (WebCore::ShadowBlur::blurShadowBuffer):
34529        * platform/graphics/cairo/ImageBufferCairo.cpp:
34530        (WebCore::getImageData):
34531        (WebCore::ImageBuffer::getUnmultipliedImageData):
34532        (WebCore::ImageBuffer::getPremultipliedImageData):
34533        (WebCore::ImageBuffer::putByteArray):
34534        * platform/graphics/cg/ImageBufferCG.cpp:
34535        (WebCore::ImageBuffer::getUnmultipliedImageData):
34536        (WebCore::ImageBuffer::getPremultipliedImageData):
34537        (WebCore::ImageBuffer::putByteArray):
34538        (WebCore::ImageBuffer::toDataURL):
34539        (WebCore::ImageDataToDataURL):
34540        * platform/graphics/cg/ImageBufferDataCG.cpp:
34541        (WebCore::ImageBufferData::getData):
34542        (WebCore::ImageBufferData::putData):
34543        * platform/graphics/cg/ImageBufferDataCG.h:
34544        (ImageBufferData):
34545        * platform/graphics/filters/FEBlend.cpp:
34546        (WebCore::FEBlend::platformApplySoftware):
34547        * platform/graphics/filters/FEColorMatrix.cpp:
34548        (WebCore::effectType):
34549        (WebCore::FEColorMatrix::platformApplySoftware):
34550        * platform/graphics/filters/FEComponentTransfer.cpp:
34551        (WebCore::FEComponentTransfer::platformApplySoftware):
34552        * platform/graphics/filters/FEComposite.cpp:
34553        (WebCore::FEComposite::platformArithmeticSoftware):
34554        (WebCore::FEComposite::platformApplySoftware):
34555        * platform/graphics/filters/FEComposite.h:
34556        * platform/graphics/filters/FEConvolveMatrix.cpp:
34557        (WebCore::setDestinationPixels):
34558        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
34559        (WebCore::FEConvolveMatrix::fastSetOuterPixels):
34560        (WebCore::FEConvolveMatrix::platformApplySoftware):
34561        * platform/graphics/filters/FEConvolveMatrix.h:
34562        (PaintingData):
34563        * platform/graphics/filters/FECustomFilter.cpp:
34564        (WebCore::FECustomFilter::platformApplySoftware):
34565        (WebCore::FECustomFilter::bindProgramAndBuffers):
34566        * platform/graphics/filters/FECustomFilter.h:
34567        (JSC):
34568        (FECustomFilter):
34569        * platform/graphics/filters/FEDisplacementMap.cpp:
34570        (WebCore::FEDisplacementMap::platformApplySoftware):
34571        * platform/graphics/filters/FEDropShadow.cpp:
34572        (WebCore::FEDropShadow::platformApplySoftware):
34573        * platform/graphics/filters/FEGaussianBlur.cpp:
34574        (WebCore::boxBlur):
34575        (WebCore::FEGaussianBlur::platformApplyGeneric):
34576        (WebCore::FEGaussianBlur::platformApply):
34577        (WebCore::FEGaussianBlur::platformApplySoftware):
34578        * platform/graphics/filters/FEGaussianBlur.h:
34579        (PlatformApplyParameters):
34580        (FEGaussianBlur):
34581        * platform/graphics/filters/FELighting.cpp:
34582        (WebCore::FELighting::LightingData::topLeft):
34583        (WebCore::FELighting::LightingData::topRow):
34584        (WebCore::FELighting::LightingData::topRight):
34585        (WebCore::FELighting::LightingData::leftColumn):
34586        (WebCore::FELighting::LightingData::interior):
34587        (WebCore::FELighting::LightingData::rightColumn):
34588        (WebCore::FELighting::LightingData::bottomLeft):
34589        (WebCore::FELighting::LightingData::bottomRow):
34590        (WebCore::FELighting::LightingData::bottomRight):
34591        (WebCore::FELighting::inlineSetPixel):
34592        (WebCore::FELighting::drawLighting):
34593        (WebCore::FELighting::platformApplySoftware):
34594        * platform/graphics/filters/FELighting.h:
34595        (LightingData):
34596        (FELighting):
34597        * platform/graphics/filters/FEMorphology.cpp:
34598        (WebCore::FEMorphology::platformApplyGeneric):
34599        (WebCore::FEMorphology::platformApplySoftware):
34600        * platform/graphics/filters/FEMorphology.h:
34601        (PaintingData):
34602        * platform/graphics/filters/FETurbulence.cpp:
34603        (WebCore::FETurbulence::fillRegion):
34604        (WebCore::FETurbulence::platformApplySoftware):
34605        * platform/graphics/filters/FETurbulence.h:
34606        (FillRegionParameters):
34607        (FETurbulence):
34608        * platform/graphics/filters/FilterEffect.cpp:
34609        (WebCore::FilterEffect::forceValidPreMultipliedPixels):
34610        (WebCore::FilterEffect::asUnmultipliedImage):
34611        (WebCore::FilterEffect::asPremultipliedImage):
34612        (WebCore::FilterEffect::copyImageBytes):
34613        (WebCore::FilterEffect::copyUnmultipliedImage):
34614        (WebCore::FilterEffect::copyPremultipliedImage):
34615        (WebCore::FilterEffect::createUnmultipliedImageResult):
34616        (WebCore::FilterEffect::createPremultipliedImageResult):
34617        * platform/graphics/filters/FilterEffect.h:
34618        (FilterEffect):
34619        * platform/graphics/filters/arm/FEGaussianBlurNEON.h:
34620        (WebCore::FEGaussianBlur::platformApplyNeon):
34621        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
34622        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
34623        * platform/graphics/qt/ImageBufferQt.cpp:
34624        (WebCore::getImageData):
34625        (WebCore::ImageBuffer::getUnmultipliedImageData):
34626        (WebCore::ImageBuffer::getPremultipliedImageData):
34627        (WebCore::ImageBuffer::putByteArray):
34628        * platform/graphics/skia/ImageBufferSkia.cpp:
34629        (WebCore::getImageData):
34630        (WebCore::ImageBuffer::getUnmultipliedImageData):
34631        (WebCore::ImageBuffer::getPremultipliedImageData):
34632        (WebCore::ImageBuffer::putByteArray):
34633        * platform/graphics/texmap/TextureMapperGL.cpp:
34634        * platform/graphics/wince/ImageBufferWinCE.cpp:
34635        (WebCore::getImageData):
34636        (WebCore::ImageBuffer::getUnmultipliedImageData):
34637        (WebCore::ImageBuffer::getPremultipliedImageData):
34638        (WebCore::ImageBuffer::putByteArray):
34639        * platform/graphics/wx/ImageBufferWx.cpp:
34640        (WebCore::ImageBuffer::getUnmultipliedImageData):
34641        (WebCore::ImageBuffer::getPremultipliedImageData):
34642        (WebCore::ImageBuffer::putByteArray):
34643        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
34644        (WebCore::JPEGImageEncoder::encode):
34645        * platform/image-encoders/skia/PNGImageEncoder.cpp:
34646        (WebCore::PNGImageEncoder::encode):
34647        * platform/image-encoders/skia/WEBPImageEncoder.cpp:
34648        (WebCore::WEBPImageEncoder::encode):
34649
346502012-04-23  Ryan Sleevi  <rsleevi@chromium.org>
34651
34652        [chromium] Remove deleted files from WebCore.gypi and fix typo
34653        https://bugs.webkit.org/show_bug.cgi?id=84651
34654
34655        Reviewed by Ryosuke Niwa.
34656
34657        No new tests. No behavior change.
34658
34659        * WebCore.gypi:
34660        Remove references to PlatformMouseEventQt.cpp and WheelEventQt.cpp. Add a missing comma.
34661
346622012-04-23  Erik Arvidsson  <arv@chromium.org>
34663
34664        [V8] Fix issue with trying to access a constructor in a frame that has been removed
34665        https://bugs.webkit.org/show_bug.cgi?id=84640
34666
34667        Reviewed by Kentaro Hara.
34668
34669        This regressed in r113250. Now we do what we did before and return undefined if the frame
34670        does not have a context.
34671
34672        Test: fast/dom/constructor-in-removed-frame.html
34673
34674        * bindings/v8/V8DOMWrapper.cpp:
34675        (WebCore::V8DOMWrapper::constructorForType):
34676
346772012-04-23  Chris Rogers  <crogers@google.com>
34678
34679        Oscillator::setWaveTable() should not reset oscillator phase
34680        https://bugs.webkit.org/show_bug.cgi?id=84647
34681        
34682        Reviewed by Kenneth Russell.
34683
34684        * Modules/webaudio/Oscillator.cpp:
34685        (WebCore::Oscillator::setWaveTable):
34686
346872012-04-23  Kentaro Hara  <haraken@chromium.org>
34688
34689        [V8][Refactoring] Remove V8Proxy::throwSyntaxError()
34690        https://bugs.webkit.org/show_bug.cgi?id=84627
34691
34692        Reviewed by Nate Chapin.
34693
34694        This patch removes V8Proxy::throwSyntaxError()
34695        since it is no longer used.
34696
34697        No tests. No change in behavior.
34698
34699        * bindings/v8/V8Proxy.cpp:
34700        * bindings/v8/V8Proxy.h:
34701        (V8Proxy):
34702
347032012-04-18  James Robinson  <jamesr@chromium.org>
34704
34705        [chromium] Use TextureLayerChromium for WebGL content instead of a dedicated layer type
34706        https://bugs.webkit.org/show_bug.cgi?id=84311
34707
34708        Reviewed by Adrienne Walker.
34709
34710        WebGL content's interface with the compositor can be expressed in terms of two basic operations:
34711        1.) Do some stuff
34712        2.) Provide a texture ID for the compositor to use
34713
34714        This implements (1) in DrawingBufferChromium and uses the already-existing TextureLayerChromium to handle (2).
34715        This cuts down the compositor interface significantly and allows for more code reuse in exchange for more code
34716        in TextureLayerChromium to handle the features WebGL needs.
34717
34718        * WebCore.gypi:
34719        * platform/graphics/chromium/DrawingBufferChromium.cpp:
34720        (WebCore::DrawingBuffer::~DrawingBuffer):
34721        (DrawingBufferPrivate):
34722        (WebCore::DrawingBufferPrivate::DrawingBufferPrivate):
34723        (WebCore::DrawingBufferPrivate::~DrawingBufferPrivate):
34724        (WebCore::DrawingBufferPrivate::layer):
34725        (WebCore):
34726        (WebCore::DrawingBuffer::platformLayer):
34727        * platform/graphics/chromium/LayerRendererChromium.cpp:
34728        * platform/graphics/chromium/TextureLayerChromium.h:
34729        (TextureLayerChromiumClient):
34730        (WebCore::TextureLayerChromiumClient::~TextureLayerChromiumClient):
34731        (WebCore):
34732        (TextureLayerChromium):
34733        (WebCore::TextureLayerChromium::clearClient):
34734        * platform/graphics/chromium/WebGLLayerChromium.cpp: Removed.
34735        * platform/graphics/chromium/WebGLLayerChromium.h: Removed.
34736        * platform/graphics/gpu/DrawingBuffer.h:
34737        (WebCore):
34738        (WebCore::DrawingBuffer::graphicsContext3D):
34739        (DrawingBuffer):
34740
347412012-04-23  Alec Flett  <alecflett@chromium.org>
34742
34743        IndexedDB: remove IDB(Index|ObjectStore)BackendImpl::get/getKey for IDBKey
34744        https://bugs.webkit.org/show_bug.cgi?id=84285
34745
34746        Reviewed by Dimitri Glazkov.
34747
34748        No new tests required, this code is no longer called.
34749
34750        This is old code supporting IDBKey-based lookup, supplanted by
34751        IDBKeyRange. Now that chromium IPC/proxy code has landed,
34752        these functions can be removed.
34753
34754        * Modules/indexeddb/IDBIndexBackendInterface.h:
34755        (IDBIndexBackendInterface):
34756        * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
34757        (IDBObjectStoreBackendInterface):
34758
347592012-04-22  Martin Robinson  <mrobinson@igalia.com>
34760
34761        REGRESSION(113604): [Soup] Some pages that use synchronous XMLHttpRequests freeze the browser
34762        https://bugs.webkit.org/show_bug.cgi?id=84560
34763
34764        Reviewed by Xan Lopez.
34765
34766        When kicking off a synchronous XMLHttpRequest, add one to the connection
34767        limit. This ensures that when a page starts a synchronous request, while
34768        already at the connection limit the request will not deadlock.
34769
34770        * platform/network/soup/ResourceHandleSoup.cpp:
34771        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Accept a new SoupSession
34772        argument so that we can get the correct SoupSession for the networking context. Bump
34773        the connection limit.
34774        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Decrement the connection limit.
34775        (WebCore::WebCoreSynchronousLoader::adjustMaxConnections): Added this helper.
34776        (WebCoreSynchronousLoader): Added a new SoupSession member.
34777        (WebCore::sessionFromContext): Added this helper.
34778        (WebCore::ResourceHandleInternal::soupSession): Use the new sessionFromContext helper.
34779        (WebCore::ResourceHandle::loadResourceSynchronously): Pass the SoupSession from the NetworkingContext
34780        to the synchronous loader.
34781
347822012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
34783
34784        Unreviewed, rolling out r114965.
34785        http://trac.webkit.org/changeset/114965
34786        https://bugs.webkit.org/show_bug.cgi?id=84665
34787
34788        Four new resource load delegate test failures (Requested by
34789        jernoble on #webkit).
34790
34791        * loader/SubresourceLoader.cpp:
34792        (WebCore::SubresourceLoader::didFinishLoading):
34793        (WebCore::SubresourceLoader::didFail):
34794        (WebCore::SubresourceLoader::willCancel):
34795        (WebCore::SubresourceLoader::releaseResources):
34796
347972012-04-23  Beth Dakin  <bdakin@apple.com>
34798
34799        https://bugs.webkit.org/show_bug.cgi?id=84649
34800        RenderMathMLOperator currently ignores font families, fails 
34801        to use Stix
34802
34803        Reviewed by Dan Bernstein.
34804
34805        This patch makes RenderMathMLOperator honor the font-family 
34806        list. This means that by default, Stix glyphs will now be 
34807        used for operators just like for other MathML content. 
34808        Unfortunately, just doing that resulted in a bug because of 
34809        the fragile hardcoded glyph sizes. The Stix vertical bar 
34810        glyph is much smaller than the code assumed any glyphs would 
34811        be. That code should be re-written, but in the meantime, I 
34812        put a fix in place to try to make it work for small glyphs.
34813
34814        These new functions should be used instead of accessing
34815        gGlyphHeight or gGlyphLineHeight directly. If the glyph is
34816        smaller than the expected hardcoded value, then the actual
34817        glyph height is used, and a new line height based on the
34818        glyph height is used.
34819        (WebCore::RenderMathMLOperator::glyphHeightForCharacter):
34820        (WebCore::RenderMathMLOperator::lineHeightForCharacter):
34821
34822        Use the style's FontDescription to honor the font family
34823        list and the style's FontSelector to honor @font-face.
34824        Also use glyphHeightForCharacter() instead of gGlyphHeight. 
34825        And now that createGlyph() takes a lineHeight, use 
34826        lineHeightForCharacter() to determine the right value. 
34827        (WebCore::RenderMathMLOperator::updateFromElement):
34828
34829        size was an ambiguous variable name, so I renamed it to the 
34830        more accurate maxHeightForRenderer. This function also now
34831        takes a lineHeight instead of using gGlyphLineHeight. And
34832        again, use the style's FontDescription and FontSelector.
34833        (WebCore::RenderMathMLOperator::createStackableStyle):
34834
34835        Re-name size to maxHeightForRenderer, and take lineHeight as 
34836        a parameter.
34837        (WebCore::RenderMathMLOperator::createGlyph):
34838        * rendering/mathml/RenderMathMLOperator.h:
34839        (RenderMathMLOperator):
34840
348412012-04-23  Eriq Augustine  <eaugusti@chromium.org>
34842
34843        Return value from executed script in Chromium.
34844        https://bugs.webkit.org/show_bug.cgi?id=79851
34845
34846        Reviewed by Adam Barth.
34847
34848        Providing a varaiant of evaluateScriptInIsolatedWorld that
34849        returns the value of the evaluated script.
34850
34851        Test: platform/chromium/http/tests/misc/execute-and-return-value.html
34852
34853        * bindings/v8/ScriptController.cpp:
34854        (WebCore::ScriptController::evaluateInIsolatedWorld):
34855        * bindings/v8/ScriptController.h:
34856        (ScriptController):
34857        * bindings/v8/V8Proxy.cpp:
34858        (WebCore::V8Proxy::evaluateInIsolatedWorld):
34859        * bindings/v8/V8Proxy.h:
34860        (V8Proxy):
34861
348622012-04-23  Kent Tamura  <tkent@chromium.org>
34863
34864        RenderDetailsMarker should draw the triangle inside the content box
34865        https://bugs.webkit.org/show_bug.cgi?id=84557
34866
34867        Reviewed by Hajime Morita.
34868
34869        RenderDetailsMarker didn't support cases in which a marker has
34870        borders and/or padings, or non-square size.
34871
34872        Test: fast/html/details-marker-style.html
34873
34874        * rendering/RenderDetailsMarker.cpp:
34875        (WebCore::RenderDetailsMarker::getPath):
34876        Scale by contentWidth() and contentHeight().
34877        (WebCore::RenderDetailsMarker::paint):
34878        Move the trianle origin by the ammount of left/top borders and paddings.
34879
348802012-04-23  Kentaro Hara  <haraken@chromium.org>
34881
34882        [V8] Pass Isolate to toV8() (Part6)
34883        https://bugs.webkit.org/show_bug.cgi?id=84273
34884
34885        Reviewed by Nate Chapin.
34886
34887        The objective is to pass Isolate to all toV8()s.
34888        Since there are a lot of toV8()s, I'll make the change
34889        step by step. This patch passes Isolate to toV8() in
34890        several custom bindings.
34891
34892        No tests. No change in behavior.
34893
34894        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
34895        (WebCore::getNamedItems):
34896        (WebCore::getItem):
34897        (WebCore::V8HTMLAllCollection::namedPropertyGetter):
34898        (WebCore::V8HTMLAllCollection::itemCallback):
34899        (WebCore::V8HTMLAllCollection::namedItemCallback):
34900        (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
34901        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
34902        (WebCore::getNamedItems):
34903        (WebCore::V8HTMLCollection::namedPropertyGetter):
34904        (WebCore::V8HTMLCollection::namedItemCallback):
34905        (WebCore::toV8):
34906        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
34907        (WebCore::toV8):
34908        * bindings/v8/custom/V8StyleSheetCustom.cpp:
34909        (WebCore::toV8):
34910        * bindings/v8/custom/V8StyleSheetListCustom.cpp:
34911        (WebCore::V8StyleSheetList::namedPropertyGetter):
34912        * bindings/v8/custom/V8TrackEventCustom.cpp:
34913        (WebCore::V8TrackEvent::trackAccessorGetter):
34914        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
34915        (WebCore::toV8Object):
34916        (WebCore::getObjectParameter):
34917        (WebCore::V8WebGLRenderingContext::getAttachedShadersCallback):
34918        (WebCore::V8WebGLRenderingContext::getExtensionCallback):
34919        (WebCore::V8WebGLRenderingContext::getFramebufferAttachmentParameterCallback):
34920        (WebCore::V8WebGLRenderingContext::getParameterCallback):
34921        (WebCore::V8WebGLRenderingContext::getProgramParameterCallback):
34922        (WebCore::V8WebGLRenderingContext::getShaderParameterCallback):
34923        (WebCore::V8WebGLRenderingContext::getUniformCallback):
34924        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
34925        (WebCore::V8XMLHttpRequest::responseAccessorGetter):
34926        * bindings/v8/custom/V8XSLTProcessorCustom.cpp:
34927        (WebCore::V8XSLTProcessor::transformToFragmentCallback):
34928        (WebCore::V8XSLTProcessor::transformToDocumentCallback):
34929
349302012-04-23  Kent Tamura  <tkent@chromium.org>
34931
34932        Move the content of LocalizedCalendarICU.cpp and LocalizedDateICU.cpp to ICULocale.cpp.
34933        https://bugs.webkit.org/show_bug.cgi?id=84568
34934
34935        Reviewed by Hajime Morita.
34936
34937        Move it to ICULocal.cpp because we want to share UDateFormat
34938        object in LocalizedDate functions and LocalizedCalendar functions,
34939        and it becomes easier to cache the UDateFormat object, and making
34940        unit tests for these functions easier.
34941
34942        No new tests because of no bahevior changes.
34943
34944        * platform/text/ICULocale.cpp:
34945        (WebCore::ICULocale::ICULocale): Initialize new members.
34946        (WebCore::ICULocale::~ICULocale): Delete m_shortDateFormat.
34947        (WebCore::ICULocale::initializeShortDateFormat):
34948        Moved from creteShortDateFormatter of LocalizedDateICU.cpp.
34949        (WebCore::ICULocale::parseLocalizedDate):
34950        Moved from LocalizedDate.cpp, use m_shortDateFormat.
34951        (WebCore::ICULocale::formatLocalizedDate): ditto.
34952        (WebCore::ICULocale::createLabelVector):
34953        Moved from LocalizedCalendarICU.cpp, use m_shortDateFormat.
34954        (WebCore::createFallbackMonthLabels): Moved from LocalizedCalendarICU.cpp.
34955        (WebCore::createFallbackWeekDayShortLabels): ditto.
34956        (WebCore::ICULocale::initializeCalendar):
34957        lazy initialization of m_monthLabels, m_weekDayShortLabels, and m_firstDayOfWeek.
34958        (WebCore::ICULocale::monthLabels):
34959        (WebCore::ICULocale::weekDayShortLabels):
34960        (WebCore::ICULocale::firstDayOfWeek):
34961        * platform/text/ICULocale.h:
34962        (ICULocale): Add declarations.
34963        * platform/text/LocalizedCalendarICU.cpp:
34964        (WebCore::monthLabels): Use ICULocale::currentLocale().
34965        (WebCore::weekDayShortLabels): ditto.
34966        (WebCore::firstDayOfWeek): ditto.
34967        * platform/text/LocalizedDateICU.cpp:
34968        (WebCore::parseLocalizedDate): ditto.
34969        (WebCore::formatLocalizedDate): ditto.
34970
349712012-04-23  Raymond Toy  <rtoy@google.com>
34972
34973        Move AudioDestinationChromium FIFO class to its own class.
34974        https://bugs.webkit.org/show_bug.cgi?id=84058
34975
34976        Reviewed by Chris Rogers.
34977
34978        Current tests cover the changes.
34979
34980        * WebCore.gypi: Update with new files.
34981        * platform/audio/AudioPullFIFO.cpp: Copied from Source/WebKit/chromium/src/AudioDestinationChromium.cpp.
34982        (WebCore): Renamed old class the AudioPullFIFO.
34983        (WebCore::AudioPullFIFO::AudioPullFIFO):
34984        (WebCore::AudioPullFIFO::consume):
34985        (WebCore::AudioPullFIFO::findWrapLengths):
34986        (WebCore::AudioPullFIFO::fillBuffer):
34987        * platform/audio/AudioPullFIFO.h: Added.
34988        (WebCore):
34989        (AudioPullFIFO):
34990        (WebCore::AudioPullFIFO::updateIndex):
34991
349922012-04-23  Nate Chapin  <japhet@chromium.org>
34993
34994        REGRESSION (r100311): YummySoup app crashes when trying to print
34995        https://bugs.webkit.org/show_bug.cgi?id=83918
34996
34997        Reviewed by Alexey Proskuryakov.
34998
34999        Test: http/tests/xmlhttprequest/cancel-during-failure-crash.html
35000
35001        * loader/SubresourceLoader.cpp:
35002        (WebCore::SubresourceLoader::didFinishLoading):
35003        (WebCore::SubresourceLoader::didFail):
35004        (WebCore::SubresourceLoader::willCancel): Now that we might enter the function if we're already Finishing,
35005            some cleanup needs to be done in the Initialized state only.
35006        (WebCore::SubresourceLoader::releaseResources): Move requesting counting decrement and laodDone() to
35007            the finishing functions.
35008
350092012-04-23  Shawn Singh  <shawnsingh@chromium.org>
35010
35011        [chromium] Visualize accelerated compositor rects.
35012        https://bugs.webkit.org/show_bug.cgi?id=79400
35013
35014        Reviewed by Adrienne Walker.
35015
35016        No tests, all the code added is only debugging code.
35017
35018        This patch adds support for visualizing three different types of
35019        rects on the chromium heads-up display:
35020        1. updateRects that indicate what was painted/uploaded to a resource
35021        2. propertyChangedRects that indicate layers that has property changes
35022        3. surfaceDamageRects that are the accumulation of updateRects and
35023           propertyChangedRects, indicating what pixels on the screen have
35024           actually changed.  (Surface damage also accounts for newly exposed
35025           areas but that is not explicitly visualized.)
35026
35027        In addition to adding support for visualizing this, the
35028        CCHeadsUpDisplay was significantly refactored, separating the FPS
35029        Counter functionality into a different class, so that the heads-up
35030        display is all about visualizing annotations, and those
35031        annotations (frame rate, debug rects) are logged separately.
35032
35033        * WebCore.gypi:
35034        * platform/graphics/chromium/cc/CCDebugRectHistory.cpp: Added.
35035        (WebCore):
35036        (WebCore::CCDebugRectHistory::CCDebugRectHistory):
35037        (WebCore::CCDebugRectHistory::enabled):
35038        (WebCore::CCDebugRectHistory::saveDebugRectsForCurrentFrame):
35039        (WebCore::CCDebugRectHistory::savePaintRects):
35040        (WebCore::CCDebugRectHistory::savePropertyChangedRects):
35041        (WebCore::CCDebugRectHistory::saveSurfaceDamageRects):
35042        * platform/graphics/chromium/cc/CCDebugRectHistory.h: Added.
35043        (WebCore):
35044        (WebCore::CCDebugRect::CCDebugRect):
35045        (CCDebugRect):
35046        (CCDebugRectHistory):
35047        (WebCore::CCDebugRectHistory::create):
35048        (WebCore::CCDebugRectHistory::debugRects):
35049        * platform/graphics/chromium/cc/CCFrameRateCounter.cpp: Added.
35050        (WebCore):
35051        (WebCore::safeMod):
35052        (WebCore::CCFrameRateCounter::frameIndex):
35053        (WebCore::CCFrameRateCounter::CCFrameRateCounter):
35054        (WebCore::CCFrameRateCounter::markBeginningOfFrame):
35055        (WebCore::CCFrameRateCounter::markEndOfFrame):
35056        (WebCore::CCFrameRateCounter::isBadFrameInterval):
35057        (WebCore::CCFrameRateCounter::isBadFrame):
35058        (WebCore::CCFrameRateCounter::getAverageFPSAndStandardDeviation):
35059        (WebCore::CCFrameRateCounter::timeStampOfRecentFrame):
35060        * platform/graphics/chromium/cc/CCFrameRateCounter.h: Added.
35061        (WebCore):
35062        (CCFrameRateCounter):
35063        (WebCore::CCFrameRateCounter::create):
35064        (WebCore::CCFrameRateCounter::currentFrameNumber):
35065        (WebCore::CCFrameRateCounter::timeStampHistorySize):
35066        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
35067        (WebCore):
35068        (WebCore::CCHeadsUpDisplay::enabled):
35069        (WebCore::CCHeadsUpDisplay::showDebugRects):
35070        (WebCore::CCHeadsUpDisplay::draw):
35071        (WebCore::CCHeadsUpDisplay::drawHudContents):
35072        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
35073        (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
35074        (WebCore::CCHeadsUpDisplay::drawDebugRects):
35075        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
35076        (WebCore):
35077        (CCHeadsUpDisplay):
35078        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
35079        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
35080        (WebCore::CCSettings::CCSettings):
35081        (CCSettings):
35082        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
35083        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
35084        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
35085        (WebCore::CCLayerTreeHostImpl::drawLayers):
35086        (WebCore::CCLayerTreeHostImpl::swapBuffers):
35087        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
35088        (WebCore):
35089        (WebCore::CCLayerTreeHostImpl::fpsCounter):
35090        (WebCore::CCLayerTreeHostImpl::debugRectHistory):
35091        (CCLayerTreeHostImpl):
35092
350932012-04-23  Julien Chaffraix  <jchaffraix@webkit.org>
35094
35095        Cut dependency on RenderLayer::scrollRectToVisible outside rendering
35096        https://bugs.webkit.org/show_bug.cgi?id=84607
35097
35098        Reviewed by Simon Fraser.
35099
35100        Layering fix only, there should be no change behavior.
35101
35102        Because we don't have an accessor on RenderObject, a lot of the code needs
35103        to know about RenderLayer. This is not necessary and exposes RenderLayer to
35104        objects that shouldn't know about it.
35105
35106        This patch adds a RenderObject::scrollRectToVisible with the ad-hoc explanation
35107        as to why it isn't on RenderBox (scrolling is a RenderBox concept).
35108
35109        * WebCore.exp.in:
35110        * WebCore.order:
35111        Updated to expose the new method.
35112
35113        * dom/Element.cpp:
35114        (WebCore::Element::scrollIntoView):
35115        (WebCore::Element::scrollIntoViewIfNeeded):
35116        (WebCore::Element::updateFocusAppearance):
35117        * editing/Editor.cpp:
35118        (WebCore::Editor::findStringAndScrollToVisible):
35119        * editing/FrameSelection.cpp:
35120        (WebCore::FrameSelection::revealSelection):
35121        * page/FrameView.cpp:
35122        (WebCore::FrameView::scrollToAnchor):
35123        Updated those call sites to use the new function.
35124
35125        * rendering/RenderLayer.h:
35126        Removed ScrollBehavior.h #include and default argument values
35127        as we are always called through RenderObject now.
35128
35129        * rendering/RenderObject.cpp:
35130        (WebCore::RenderObject::scrollRectToVisible):
35131        * rendering/RenderObject.h:
35132        Added a new function that just forwards to the enclosing layer
35133        if any. We return whether we actually tried to scroll to match
35134        some call sites expectations.
35135
351362012-04-23  Zhenyao Mo  <zmo@google.com>
35137
35138        framebuffer binding should not be changed after canvas resize or compositing
35139        https://bugs.webkit.org/show_bug.cgi?id=84609
35140
35141        Reviewed by Kenneth Russell.
35142
35143        Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
35144
35145        * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
35146        (WebCore):
35147        (WebCore::WebGLRenderingContext::bindFramebuffer):
35148        (WebCore::WebGLRenderingContext::deleteFramebuffer):
35149        (WebCore::WebGLRenderingContext::loseContextImpl):
35150        * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
35151        (WebCore::DrawingBuffer::DrawingBuffer):
35152        * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
35153        (WebCore::DrawingBuffer::DrawingBuffer):
35154        * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
35155        (WebCore::WebGLLayerChromium::update):
35156        * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
35157        (WebCore::DrawingBuffer::restoreFramebufferBinding):
35158        (WebCore):
35159        * platform/graphics/gpu/DrawingBuffer.h: Ditto.
35160        (WebCore::DrawingBuffer::setTexture2DBinding):
35161        (DrawingBuffer):
35162        (WebCore::DrawingBuffer::setFramebufferBinding):
35163        * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
35164        (WebCore::DrawingBuffer::DrawingBuffer):
35165        * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
35166        (WebCore::DrawingBuffer::DrawingBuffer):
35167
351682012-04-23  Victor Carbune  <vcarbune@adobe.com>
35169
35170        Simplify volume slider rendering
35171        https://bugs.webkit.org/show_bug.cgi?id=82150
35172
35173        Reviewed by Eric Carlson.
35174
35175        Test: media/video-controls-rendering-toggle-display-none.html
35176
35177        * css/mediaControlsChromium.css: Update controls css for Chromium.
35178        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
35179        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
35180        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
35181        * css/mediaControlsGtk.css: Update controls css for GTK.
35182        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
35183        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
35184        * css/mediaControlsQuickTime.css: Update controls css for Safari.
35185        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
35186        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
35187        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
35188        * html/shadow/MediaControlElements.cpp: Removed particular renderer.
35189        (WebCore):
35190        * html/shadow/MediaControlElements.h:
35191        (MediaControlVolumeSliderContainerElement): Remoed particular renderer.
35192        * html/shadow/MediaControlRootElement.cpp:
35193        (WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra unused mute button.
35194        * html/shadow/MediaControlRootElementChromium.cpp: Added an extra div
35195        element as a container for the mute button and the volume slider to
35196        easily position them relative to each other.
35197        (WebCore::MediaControlRootElementChromium::create):
35198
351992012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
35200
35201        Unreviewed, rolling out r109981.
35202        http://trac.webkit.org/changeset/109981
35203        https://bugs.webkit.org/show_bug.cgi?id=84630
35204
35205        Broke Twitter map buddy icon (see
35206        https://bugs.webkit.org/show_bug.cgi?id=84558) (Requested by
35207        thorton on #webkit).
35208
35209        * rendering/RenderLayerCompositor.cpp:
35210        (WebCore::RenderLayerCompositor::addToOverlapMap):
35211        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
35212
352132012-04-23  Emil A Eklund  <eae@chromium.org>
35214
35215        Crash in RenderInline::clippedOverflowRectForRepaint for PrintPreview
35216        https://bugs.webkit.org/show_bug.cgi?id=84300
35217
35218        Reviewed by Simon Fraser.
35219
35220        No new tests, have not been able to come up with a reliable reduction.
35221
35222        * rendering/RenderInline.cpp:
35223        (WebCore::RenderInline::clippedOverflowRectForRepaint):
35224        Add NULL check for containingBlock() as it can return NULL when detached
35225        from the tree.
35226
352272012-04-23  Sheriff Bot  <webkit.review.bot@gmail.com>
35228
35229        Unreviewed, rolling out r114929.
35230        http://trac.webkit.org/changeset/114929
35231        https://bugs.webkit.org/show_bug.cgi?id=84623
35232
35233        Broke 35 canvas/webgl tests (Requested by jernoble on
35234        #webkit).
35235
35236        * html/canvas/WebGLRenderingContext.cpp:
35237        (WebCore):
35238        (WebCore::WebGLRenderingContext::bindFramebuffer):
35239        (WebCore::WebGLRenderingContext::deleteFramebuffer):
35240        (WebCore::WebGLRenderingContext::loseContextImpl):
35241        * platform/graphics/cairo/DrawingBufferCairo.cpp:
35242        (WebCore::DrawingBuffer::DrawingBuffer):
35243        * platform/graphics/chromium/DrawingBufferChromium.cpp:
35244        (WebCore::DrawingBuffer::DrawingBuffer):
35245        * platform/graphics/chromium/WebGLLayerChromium.cpp:
35246        (WebCore::WebGLLayerChromium::update):
35247        * platform/graphics/gpu/DrawingBuffer.cpp:
35248        * platform/graphics/gpu/DrawingBuffer.h:
35249        (WebCore::DrawingBuffer::setTexture2DBinding):
35250        (DrawingBuffer):
35251        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
35252        (WebCore::DrawingBuffer::DrawingBuffer):
35253        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
35254        (WebCore::DrawingBuffer::DrawingBuffer):
35255
352562012-04-23  Kentaro Hara  <haraken@chromium.org>
35257
35258        [V8] Pass Isolate around in V8Collection.h
35259        https://bugs.webkit.org/show_bug.cgi?id=84299
35260
35261        Reviewed by Nate Chapin.
35262
35263        The objective is to pass Isolate around in V8 bindings.
35264        This patch passes Isolate around in V8Collection.h.
35265
35266        No tests. No change in behavior.
35267
35268        * bindings/v8/V8Collection.h:
35269        (WebCore::getV8Object):
35270        (WebCore::getNamedPropertyOfCollection):
35271        (WebCore::collectionNamedPropertyGetter):
35272        (WebCore::getIndexedPropertyOfCollection):
35273        (WebCore::collectionIndexedPropertyGetter):
35274
352752012-04-23  Kentaro Hara  <haraken@chromium.org>
35276
35277        [V8] Pass Isolate to toV8() (Part5)
35278        https://bugs.webkit.org/show_bug.cgi?id=84271
35279
35280        Reviewed by Nate Chapin.
35281
35282        The objective is to pass Isolate to all toV8()s.
35283        Since there are a lot of toV8(), I'll make the change
35284        step by step. This patch passes Isolate to toV8()
35285        in several custom bindings.
35286
35287        No tests. No change in behavior.
35288
35289        * bindings/v8/custom/V8MessageChannelConstructor.cpp:
35290        (WebCore::V8MessageChannel::constructorCallback):
35291        * bindings/v8/custom/V8MessageEventCustom.cpp:
35292        (WebCore::V8MessageEvent::dataAccessorGetter):
35293        (WebCore::V8MessageEvent::portsAccessorGetter):
35294        * bindings/v8/custom/V8MutationCallbackCustom.cpp:
35295        (WebCore::V8MutationCallback::handleEvent):
35296        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
35297        (WebCore::V8NamedNodeMap::indexedPropertyGetter):
35298        (WebCore::V8NamedNodeMap::namedPropertyGetter):
35299        (WebCore::toV8):
35300        * bindings/v8/custom/V8NodeListCustom.cpp:
35301        (WebCore::V8NodeList::namedPropertyGetter):
35302        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
35303        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
35304        (WebCore::V8NotificationCenter::createNotificationCallback):
35305        * bindings/v8/custom/V8PerformanceCustom.cpp:
35306        (WebCore::V8Performance::memoryAccessorGetter):
35307        * bindings/v8/custom/V8PopStateEventCustom.cpp:
35308        (WebCore::V8PopStateEvent::stateAccessorGetter):
35309        * bindings/v8/custom/V8SQLTransactionSyncCustom.cpp:
35310        (WebCore::V8SQLTransactionSync::executeSqlCallback):
35311        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
35312        (WebCore::toV8):
35313
353142012-04-23  Zhenyao Mo  <zmo@google.com>
35315
35316        framebuffer binding should not be changed after canvas resize or compositing
35317        https://bugs.webkit.org/show_bug.cgi?id=84609
35318
35319        Reviewed by Kenneth Russell.
35320
35321        Test: fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
35322
35323        * html/canvas/WebGLRenderingContext.cpp: set framebuffer binding to DrawingBuffer.
35324        (WebCore):
35325        (WebCore::WebGLRenderingContext::bindFramebuffer):
35326        (WebCore::WebGLRenderingContext::deleteFramebuffer):
35327        (WebCore::WebGLRenderingContext::loseContextImpl):
35328        * platform/graphics/cairo/DrawingBufferCairo.cpp: initialize m_framebufferBinding.
35329        (WebCore::DrawingBuffer::DrawingBuffer):
35330        * platform/graphics/chromium/DrawingBufferChromium.cpp: Ditto.
35331        (WebCore::DrawingBuffer::DrawingBuffer):
35332        * platform/graphics/chromium/WebGLLayerChromium.cpp: Recover framebuffer binding after update().
35333        (WebCore::WebGLLayerChromium::update):
35334        * platform/graphics/gpu/DrawingBuffer.cpp: Add a function to restore framebuffer binding.
35335        (WebCore::DrawingBuffer::restoreFramebufferBinding):
35336        (WebCore):
35337        * platform/graphics/gpu/DrawingBuffer.h: Ditto.
35338        (WebCore::DrawingBuffer::setTexture2DBinding):
35339        (DrawingBuffer):
35340        (WebCore::DrawingBuffer::setFramebufferBinding):
35341        * platform/graphics/gpu/mac/DrawingBufferMac.mm: initialize m_framebufferBinding.
35342        (WebCore::DrawingBuffer::DrawingBuffer):
35343        * platform/graphics/gpu/qt/DrawingBufferQt.cpp: initialize m_framebufferBinding.
35344        (WebCore::DrawingBuffer::DrawingBuffer):
35345
353462012-04-23  Kentaro Hara  <haraken@chromium.org>
35347
35348        [V8] Pass Isolate to toV8() (Part4)
35349        https://bugs.webkit.org/show_bug.cgi?id=84269
35350
35351        Reviewed by Nate Chapin.
35352
35353        The objective is to pass Isolate to all toV8()s.
35354        Since there are a lot of toV8()s, I'll make the change
35355        step by step. This patch passes Isolate to toV8() in
35356        several custom bindings.
35357
35358        No tests. No change in behavior.
35359
35360        * bindings/v8/custom/V8HTMLCanvasElementCustom.cpp:
35361        (WebCore::V8HTMLCanvasElement::getContextCallback):
35362        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
35363        (WebCore::toV8):
35364        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
35365        (WebCore::V8HTMLDocument::allAccessorGetter):
35366        * bindings/v8/custom/V8HTMLElementCustom.cpp:
35367        (WebCore::toV8Object):
35368        (WebCore::V8HTMLElement::itemValueAccessorGetter):
35369        * bindings/v8/custom/V8HTMLFormElementCustom.cpp:
35370        (WebCore::V8HTMLFormElement::indexedPropertyGetter):
35371        (WebCore::V8HTMLFormElement::namedPropertyGetter):
35372        * bindings/v8/custom/V8HTMLFrameSetElementCustom.cpp:
35373        (WebCore::V8HTMLFrameSetElement::namedPropertyGetter):
35374        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
35375        (WebCore::v8HTMLImageElementConstructorCallback):
35376        * bindings/v8/custom/V8HTMLLinkElementCustom.cpp:
35377        (WebCore::V8HTMLLinkElement::sizesAccessorGetter):
35378        * bindings/v8/custom/V8HTMLOptionsCollectionCustom.cpp:
35379        (WebCore::V8HTMLOptionsCollection::indexedPropertyGetter):
35380        * bindings/v8/custom/V8HTMLOutputElementCustom.cpp:
35381        (WebCore::V8HTMLOutputElement::htmlForAccessorGetter):
35382        * bindings/v8/custom/V8HTMLSelectElementCustom.cpp:
35383        (WebCore::V8HTMLSelectElement::indexedPropertyGetter):
35384        * bindings/v8/custom/V8ImageDataCustom.cpp:
35385        (WebCore::toV8):
35386
353872012-04-23  Emil A Eklund  <eae@chromium.org>
35388
35389        Clean up subpixel unit handling in hit testing code
35390        https://bugs.webkit.org/show_bug.cgi?id=84496
35391
35392        Reviewed by Eric Seidel.
35393
35394        Fix use of IntRect and LayoutRect in hit testing code in preparation for
35395        subpixel layout.
35396
35397        No new tests, no change in functionality.
35398
35399        * rendering/HitTestResult.cpp:
35400        (WebCore::HitTestResult::rectForPoint):
35401        Revert rectForPoint to IntRect as all call sites converted it to an
35402        IntRect anyway to compare it with an IntPoint or another IntRect.
35403
35404        * rendering/HitTestingTransformState.cpp:
35405        (WebCore::HitTestingTransformState::boundsOfMappedQuad):
35406        * rendering/HitTestingTransformState.h:
35407        Convert boundsOfMappedQuad to LayoutRect as the TransformationMatrix now
35408        has subpixel precision.
35409
354102012-04-23  Kentaro Hara  <haraken@chromium.org>
35411
35412        [V8] Pass Isolate to toV8() (Part3)
35413        https://bugs.webkit.org/show_bug.cgi?id=84261
35414
35415        Reviewed by Nate Chapin.
35416
35417        The objective is to pass Isolate to all toV8()s.
35418        Since there are a lot of toV8(), I'll make the change
35419        step by step. This patch passes Isolate to toV8()
35420        in several custom bindings.
35421
35422        No tests. No change in behavior.
35423
35424        * bindings/v8/custom/V8DOMWindowCustom.cpp:
35425        (WebCore::V8DOMWindow::openCallback):
35426        (WebCore::V8DOMWindow::indexedPropertyGetter):
35427        (WebCore::V8DOMWindow::namedPropertyGetter):
35428        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
35429        (WebCore::V8DirectoryEntrySync::getDirectoryCallback):
35430        (WebCore::V8DirectoryEntrySync::getFileCallback):
35431        * bindings/v8/custom/V8DocumentCustom.cpp:
35432        (WebCore::V8Document::evaluateCallback):
35433        (WebCore::V8Document::getCSSCanvasContextCallback):
35434        (WebCore::V8Document::createTouchListCallback):
35435        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
35436        (WebCore::V8Document::locationAccessorGetter):
35437        * bindings/v8/custom/V8EntryCustom.cpp:
35438        (WebCore::toV8):
35439        * bindings/v8/custom/V8EntrySyncCustom.cpp:
35440        (WebCore::toV8):
35441        * bindings/v8/custom/V8EventCustom.cpp:
35442        (WebCore::V8Event::dataTransferAccessorGetter):
35443        (WebCore::V8Event::clipboardDataAccessorGetter):
35444        (WebCore):
35445        * bindings/v8/custom/V8FileReaderCustom.cpp:
35446        (WebCore::V8FileReader::resultAccessorGetter):
35447        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
35448        (WebCore::getItem):
35449        (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
35450
354512012-04-23  Kentaro Hara  <haraken@chromium.org>
35452
35453        [V8] Pass Isolate to toV8() (Part2)
35454        https://bugs.webkit.org/show_bug.cgi?id=84259
35455
35456        Reviewed by Nate Chapin.
35457
35458        The objective is to pass Isolate to all toV8()s.
35459        Since there are a lot of toV8(), I'll make the change
35460        step by step. This patch passes Isolate to toV8() in
35461        several custom bindings.
35462
35463        No tests. No change in behavior.
35464
35465        * bindings/v8/custom/V8BlobCustom.cpp:
35466        (WebCore::toV8):
35467        * bindings/v8/custom/V8CSSRuleCustom.cpp:
35468        (WebCore::toV8):
35469        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
35470        (WebCore::toV8):
35471        * bindings/v8/custom/V8CSSValueCustom.cpp:
35472        (WebCore::toV8):
35473        * bindings/v8/custom/V8CanvasRenderingContext2DCustom.cpp:
35474        (WebCore::toV8Object):
35475        (WebCore::V8CanvasRenderingContext2D::strokeStyleAccessorGetter):
35476        (WebCore::V8CanvasRenderingContext2D::fillStyleAccessorGetter):
35477        * bindings/v8/custom/V8ConsoleCustom.cpp:
35478        (WebCore::V8Console::memoryAccessorGetter):
35479        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
35480        (WebCore::V8SQLStatementErrorCallback::handleEvent):
35481        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
35482        (WebCore::toV8):
35483        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
35484        (WebCore::toV8):
35485
354862012-04-23  Kentaro Hara  <haraken@chromium.org>
35487
35488        [V8][Refactoring] Remove V8Proxy::toV8()
35489        https://bugs.webkit.org/show_bug.cgi?id=84257
35490
35491        Reviewed by Nate Chapin.
35492
35493        Some constructorCallback()s are using V8Proxy::toV8(),
35494        other constructorCallback()s are directly using setJSWrapperForXXX()
35495        (XXX can be DOMObject, ActiveDOMObject, Node or ActiveNode).
35496        We should unify them.
35497
35498        Considering the fact that V8Proxy::toV8() just supports
35499        XXX=DOMObject and thus is not flexible, replacing V8Proxy::toV8()
35500        with setJSWrapperForDOMObject() would make sense.
35501
35502        No tests. No change in behavior.
35503
35504        * bindings/v8/V8Proxy.h: Removed toV8().
35505
35506        * bindings/scripts/CodeGeneratorV8.pm: Replaced toV8() with setJSWrapperForDOMObject().
35507        (GenerateEventConstructorCallback):
35508        * bindings/v8/custom/V8ArrayBufferCustom.cpp: Ditto.
35509        (WebCore::V8ArrayBuffer::constructorCallback):
35510        * bindings/v8/custom/V8ArrayBufferViewCustom.h: Ditto.
35511        (WebCore::constructWebGLArrayWithArrayBufferArgument):
35512        (WebCore::constructWebGLArray):
35513        * bindings/v8/custom/V8DOMFormDataCustom.cpp: Ditto.
35514        (WebCore::V8DOMFormData::constructorCallback):
35515        * bindings/v8/custom/V8DataViewCustom.cpp: Ditto.
35516        (WebCore::V8DataView::constructorCallback):
35517        * bindings/v8/custom/V8MessageChannelConstructor.cpp: Ditto.
35518        (WebCore::V8MessageChannel::constructorCallback):
35519        * bindings/v8/custom/V8WebKitPointConstructor.cpp: Ditto.
35520        (WebCore::V8WebKitPoint::constructorCallback):
35521
35522        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
35523        (WebCore::V8TestEventConstructor::constructorCallback):
35524
355252012-04-23  Kentaro Hara  <haraken@chromium.org>
35526
35527        [V8] Pass Isolate to toV8() (Part1)
35528        https://bugs.webkit.org/show_bug.cgi?id=84250
35529
35530        Reviewed by Nate Chapin.
35531
35532        The final objective is to pass Isolate around in V8 bindings.
35533        This patch makes a change in CodeGeneratorV8.pm so that the
35534        generated code passes Isolate to toV8().
35535
35536        No tests. No change in behavior.
35537
35538        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
35539        (GenerateNormalAttrGetter):
35540        (GenerateNamedConstructorCallback):
35541        (GenerateCallbackImplementation):
35542        (GenerateFunctionCallString):
35543        (NativeToJSValue):
35544
35545        * bindings/scripts/test/V8/V8Float64Array.cpp: Updated run-bindings-tests results.
35546        (WebCore::Float64ArrayV8Internal::fooCallback):
35547        * bindings/scripts/test/V8/V8TestCallback.cpp:
35548        (WebCore::V8TestCallback::callbackWithClass1Param):
35549        (WebCore::V8TestCallback::callbackWithClass2Param):
35550        (WebCore::V8TestCallback::callbackWithStringList):
35551        (WebCore::V8TestCallback::callbackRequiresThisToPass):
35552        * bindings/scripts/test/V8/V8TestInterface.cpp:
35553        (WebCore::TestInterfaceV8Internal::supplementalMethod2Callback):
35554        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
35555        (WebCore::V8TestNamedConstructorConstructorCallback):
35556        * bindings/scripts/test/V8/V8TestObj.cpp:
35557        (WebCore::TestObjV8Internal::readOnlyTestObjAttrAttrGetter):
35558        (WebCore::TestObjV8Internal::testObjAttrAttrGetter):
35559        (WebCore::TestObjV8Internal::XMLObjAttrAttrGetter):
35560        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeAttrGetter):
35561        (WebCore::TestObjV8Internal::withScriptStateAttributeRaisesAttrGetter):
35562        (WebCore::TestObjV8Internal::withScriptExecutionContextAttributeRaisesAttrGetter):
35563        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
35564        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
35565        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
35566        (WebCore::TestObjV8Internal::withScriptArgumentsAndCallStackAttributeAttrGetter):
35567        (WebCore::TestObjV8Internal::cachedAttribute1AttrGetter):
35568        (WebCore::TestObjV8Internal::cachedAttribute2AttrGetter):
35569        (WebCore::TestObjV8Internal::mutablePointAttrGetter):
35570        (WebCore::TestObjV8Internal::immutablePointAttrGetter):
35571        (WebCore::TestObjV8Internal::objMethodCallback):
35572        (WebCore::TestObjV8Internal::objMethodWithArgsCallback):
35573        (WebCore::TestObjV8Internal::methodThatRequiresAllArgsAndThrowsCallback):
35574        (WebCore::TestObjV8Internal::withScriptStateObjCallback):
35575        (WebCore::TestObjV8Internal::withScriptStateObjExceptionCallback):
35576        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
35577        (WebCore::TestObjV8Internal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
35578        (WebCore::TestObjV8Internal::mutablePointFunctionCallback):
35579        (WebCore::TestObjV8Internal::immutablePointFunctionCallback):
35580        (WebCore::TestObjV8Internal::strictFunctionCallback):
35581        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
35582        (WebCore::TestSerializedScriptValueInterfaceV8Internal::portsAttrGetter):
35583
355842012-04-23  Kentaro Hara  <haraken@chromium.org>
35585
35586        [V8] Add an optional Isolate argument to setDOMException() and throwError()
35587        https://bugs.webkit.org/show_bug.cgi?id=84310
35588
35589        Reviewed by Nate Chapin.
35590
35591        The objective is to pass Isolate to setDOMException()
35592        and throwError(). This patch adds an optional Isolate argument
35593        to setDOMException() and throwError(). I'll pass the Isolate
35594        to these methods in the following patches.
35595
35596        No tests. No change in behavior.
35597
35598        * bindings/v8/V8Proxy.cpp:
35599        (WebCore):
35600        (WebCore::V8Proxy::setDOMException):
35601        (WebCore::V8Proxy::throwError):
35602        * bindings/v8/V8Proxy.h:
35603        (V8Proxy):
35604        (WebCore):
35605        (WebCore::throwError):
35606
356072012-04-23  Ian Vollick  <vollick@chromium.org>
35608
35609        [chromium] Properly ignore unsupported animation directions.
35610        https://bugs.webkit.org/show_bug.cgi?id=84599
35611
35612        Reviewed by Adrienne Walker.
35613
35614        Tested in CCLayerAnimationControllerTest.ignoreUnsupportedAnimationDirections.
35615
35616        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
35617
356182012-04-17  Kentaro Hara  <haraken@chromium.org>
35619
35620        [Performance][V8] Skip Isolate look-up to find StringCache
35621        https://bugs.webkit.org/show_bug.cgi?id=84103
35622
35623        Reviewed by Nate Chapin.
35624
35625        This patch improves the performance of a lot of DOM attribute
35626        getters that return a string.
35627
35628        - Improves the performance of Dromaeo/dom-attr.html(element.property)
35629          by 27.7%.
35630        - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
35631          by 10.6%.
35632        - Improves the performance of div.id, div.className,
35633          div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.
35634
35635        The followings are the test results in my Linux desktop.
35636
35637        Performance test: Dromaeo/dom-attr.html
35638        Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
35639        getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
35640        element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
35641        setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
35642        element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
35643        element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
35644        element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)
35645
35646        Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
35647        div.id:           30.70ns -> 26.70ns (+15%)
35648        div.className:    31.10ns -> 26.40ns (+18%)
35649        div.nodeName:     37.70ns -> 33.00ns (+14%)
35650        text.nodeValue:   31.40ns -> 25.90ns (+21%)
35651        text.textContent: 51.50ns -> 45.90ns (+12%)
35652
35653        Previously V8 bindings need to look up an Isolate to find
35654        an Isolate-local StringCache. This patch skips the look-up
35655        by getting the Isolate from AccessorInfo.GetIsolate()
35656        or Arguments.GetIsolate().
35657
35658        No tests. No change in behavior.
35659
35660        * bindings/scripts/CodeGeneratorV8.pm:
35661        (GenerateNormalAttrGetter):
35662        (GenerateFunctionCallString):
35663        (NativeToJSValue):
35664        * bindings/v8/V8Binding.cpp:
35665        (WebCore::getElementStringAttr):
35666        * bindings/v8/V8Binding.h:
35667        (WebCore::v8ExternalString): Make 'isolate' an optional argument.
35668        Ideally we want to make 'isolate' a non-optional argument,
35669        but it is difficult to rewrite all v8ExternalString() callers
35670        at a breath. We can rewrite them incrementally.
35671        (WebCore::v8String): Ditto.
35672        (WebCore::v8StringOrNull): Ditto.
35673        (WebCore::v8StringOrUndefined): Ditto.
35674        (WebCore::v8StringOrFalse): Ditto.
35675
35676        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
35677        (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
35678        (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
35679        * bindings/scripts/test/V8/V8TestInterface.cpp:
35680        (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
35681        (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
35682        * bindings/scripts/test/V8/V8TestObj.cpp:
35683        (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
35684        (WebCore::TestObjV8Internal::stringAttrAttrGetter):
35685        (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
35686        (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
35687        (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
35688        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
35689        (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
35690        (WebCore::TestObjV8Internal::hashAttrGetter):
35691        (WebCore::TestObjV8Internal::conditionalMethod1Callback):
35692
356932012-04-17  Kentaro Hara  <haraken@chromium.org>
35694
35695        [V8] Add an optional Isolate argument to wrap()
35696        https://bugs.webkit.org/show_bug.cgi?id=84202
35697
35698        Reviewed by Nate Chapin.
35699
35700        The final objective is to pass Isolate around in V8 bindings.
35701        This patch adds an optional Isolate argument to wrap().
35702        After rewriting all wrap() callers so that they pass Isolate
35703        to wrap(), I'll make the Isolate argument non-optional.
35704
35705        No tests. No change in behavior.
35706
35707        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
35708        (GenerateHeader):
35709        * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
35710        (WebCore::toV8):
35711        * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
35712        (WebCore::toV8):
35713        * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
35714        (WebCore::toV8Slow):
35715        * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
35716        (WebCore::toV8):
35717        * dom/make_names.pl: Ditto.
35718        (printWrapperFactoryCppFile):
35719
35720        * bindings/scripts/test/V8/V8Float64Array.h:
35721        Updated run-bindings-tests results.
35722        (V8Float64Array):
35723        (WebCore::V8Float64Array::wrap):
35724        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
35725        (V8TestActiveDOMObject):
35726        (WebCore::V8TestActiveDOMObject::wrap):
35727        (WebCore::toV8):
35728        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
35729        (V8TestCustomNamedGetter):
35730        (WebCore::V8TestCustomNamedGetter::wrap):
35731        (WebCore::toV8):
35732        * bindings/scripts/test/V8/V8TestEventConstructor.h:
35733        (V8TestEventConstructor):
35734        (WebCore::V8TestEventConstructor::wrap):
35735        (WebCore::toV8):
35736        * bindings/scripts/test/V8/V8TestEventTarget.h:
35737        (V8TestEventTarget):
35738        (WebCore::V8TestEventTarget::wrap):
35739        (WebCore::toV8):
35740        * bindings/scripts/test/V8/V8TestInterface.h:
35741        (V8TestInterface):
35742        (WebCore::V8TestInterface::wrap):
35743        (WebCore::toV8):
35744        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
35745        (V8TestMediaQueryListListener):
35746        (WebCore::V8TestMediaQueryListListener::wrap):
35747        (WebCore::toV8):
35748        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
35749        (V8TestNamedConstructor):
35750        (WebCore::V8TestNamedConstructor::wrap):
35751        (WebCore::toV8):
35752        * bindings/scripts/test/V8/V8TestNode.h:
35753        (V8TestNode):
35754        (WebCore::V8TestNode::wrap):
35755        (WebCore::toV8):
35756        * bindings/scripts/test/V8/V8TestObj.h:
35757        (V8TestObj):
35758        (WebCore::V8TestObj::wrap):
35759        (WebCore::toV8):
35760        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
35761        (V8TestSerializedScriptValueInterface):
35762        (WebCore::V8TestSerializedScriptValueInterface::wrap):
35763        (WebCore::toV8):
35764
357652012-04-17  Kentaro Hara  <haraken@chromium.org>
35766
35767        [V8] Pass Isolate to toV8Slow()
35768        https://bugs.webkit.org/show_bug.cgi?id=84173
35769
35770        Reviewed by Nate Chapin.
35771
35772        The final objective is to pass Isolate around in V8 bindings.
35773        This patch passes the Isolate to toV8Slow().
35774
35775        No tests. No change in behavior.
35776
35777        * bindings/scripts/CodeGeneratorV8.pm:
35778        (GenerateHeader):
35779        * bindings/v8/custom/V8NodeCustom.cpp:
35780        (WebCore::toV8Slow):
35781
357822012-04-17  Kentaro Hara  <haraken@chromium.org>
35783
35784        [V8] Add an optional Isolate argument to toV8().
35785        https://bugs.webkit.org/show_bug.cgi?id=84161
35786
35787        Reviewed by Nate Chapin.
35788
35789        The final objective is to pass Isolate around in V8 bindings.
35790        This patch adds an optional Isolate argument to toV8().
35791        After rewriting all toV8() callers so that they pass Isolate,
35792        I will make the Isolate argument non-optional.
35793
35794        No tests. No change in behavior.
35795
35796        * bindings/scripts/CodeGeneratorV8.pm:
35797        Modified as described above.
35798        (GenerateHeader):
35799        (NativeToJSValue):
35800        * bindings/v8/custom/V8BlobCustom.cpp:
35801        (WebCore::toV8):
35802        * bindings/v8/custom/V8CSSRuleCustom.cpp:
35803        (WebCore::toV8):
35804        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
35805        (WebCore::toV8):
35806        * bindings/v8/custom/V8CSSValueCustom.cpp:
35807        (WebCore::toV8):
35808        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
35809        (WebCore::toV8):
35810        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
35811        (WebCore::toV8):
35812        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
35813        (WebCore::toV8):
35814        * bindings/v8/custom/V8DOMWindowCustom.cpp:
35815        (WebCore::toV8):
35816        * bindings/v8/custom/V8DataViewCustom.cpp:
35817        (WebCore::toV8):
35818        * bindings/v8/custom/V8DocumentCustom.cpp:
35819        (WebCore::toV8):
35820        * bindings/v8/custom/V8EntryCustom.cpp:
35821        (WebCore::toV8):
35822        * bindings/v8/custom/V8EntrySyncCustom.cpp:
35823        (WebCore::toV8):
35824        * bindings/v8/custom/V8EventCustom.cpp:
35825        (WebCore::toV8):
35826        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
35827        (WebCore::toV8):
35828        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
35829        (WebCore::toV8):
35830        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
35831        (WebCore::toV8):
35832        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
35833        (WebCore::toV8):
35834        * bindings/v8/custom/V8HTMLElementCustom.cpp:
35835        (WebCore::toV8):
35836        * bindings/v8/custom/V8IDBAnyCustom.cpp:
35837        (WebCore::toV8):
35838        * bindings/v8/custom/V8IDBKeyCustom.cpp:
35839        (WebCore::toV8):
35840        * bindings/v8/custom/V8ImageDataCustom.cpp:
35841        (WebCore::toV8):
35842        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
35843        (WebCore::toV8):
35844        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
35845        (WebCore::toV8):
35846        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
35847        (WebCore::toV8):
35848        * bindings/v8/custom/V8LocationCustom.cpp:
35849        (WebCore::toV8):
35850        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
35851        (WebCore::toV8):
35852        * bindings/v8/custom/V8NodeCustom.cpp:
35853        (WebCore::toV8Slow):
35854        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
35855        (WebCore::toV8):
35856        * bindings/v8/custom/V8SVGElementCustom.cpp:
35857        (WebCore::toV8):
35858        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
35859        (WebCore::toV8):
35860        * bindings/v8/custom/V8ScriptProfileCustom.cpp:
35861        (WebCore::toV8):
35862        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
35863        (WebCore::toV8):
35864        * bindings/v8/custom/V8StyleSheetCustom.cpp:
35865        (WebCore::toV8):
35866        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
35867        (WebCore::toV8):
35868        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
35869        (WebCore::toV8):
35870        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
35871        (WebCore::toV8):
35872        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
35873        (WebCore::toV8):
35874        * bindings/v8/custom/V8WorkerContextCustom.cpp:
35875        (WebCore::toV8):
35876
35877        * bindings/scripts/test/V8/V8Float64Array.h:
35878        Updated run-bindings-tests results.
35879        (WebCore):
35880        (WebCore::toV8):
35881        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
35882        (WebCore::toV8):
35883        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
35884        (WebCore::toV8):
35885        * bindings/scripts/test/V8/V8TestEventConstructor.h:
35886        (WebCore::toV8):
35887        * bindings/scripts/test/V8/V8TestEventTarget.h:
35888        (WebCore::toV8):
35889        * bindings/scripts/test/V8/V8TestInterface.h:
35890        (WebCore::toV8):
35891        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
35892        (WebCore::toV8):
35893        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
35894        (WebCore::toV8):
35895        * bindings/scripts/test/V8/V8TestNode.h:
35896        (WebCore::toV8):
35897        * bindings/scripts/test/V8/V8TestObj.h:
35898        (WebCore::toV8):
35899        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
35900        (WebCore::toV8):
35901
359022012-04-23  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
35903        [EFL][WK2] Fix build break when non-cross platform CONTEXT_MENUS are enabled.
35904        https://bugs.webkit.org/show_bug.cgi?id=84136
35905
35906        Reviewed by Andreas Kling.
35907
35908        There was a mismatch between contextMenuItemVector declaration and definition.
35909        Fixed by changing PlatformMenuDescription for EFL port by adding a const modifier.
35910
35911        No new tests required.
35912
35913        * platform/PlatformMenuDescription.h:
35914        (WebCore): Added const modifier to PlatformMenuDescription definition.
35915
359162012-04-23  Pierre Rossi  <pierre.rossi@gmail.com>
35917
35918        [Qt] Ensure zero-width space effectively accounts for a width of zero.
35919        https://bugs.webkit.org/show_bug.cgi?id=84595
35920
35921        Reviewed by Simon Hausmann.
35922
35923        The logic so far relies on FontCache::getFontDataForCharacters to
35924        return a valid fontData in the case where the fonts specified don't
35925        have a glyph for the zero-width space character.
35926        QTextLayout::glyphRuns simply ignores characters that don't render in
35927        the glyph runs it returns, so we need to ensure that the subsequent
35928        call to platformWidthForGlyph doesn't lead to a non-zero width.
35929
35930        Covered by tests containing control characters such as
35931        a soft-hyphen like it's the case in:
35932        svg/as-image/img-preserveAspectRatio-support-1.html
35933
35934        * platform/graphics/qt/SimpleFontDataQt.cpp:
35935        (WebCore::SimpleFontData::platformWidthForGlyph):
35936
359372012-04-23  Ian Vollick  <vollick@chromium.org>
35938
35939        [chromium] When prepareToDraw fails due to animation checkerboard, we need to call setNeedsCommit
35940        https://bugs.webkit.org/show_bug.cgi?id=84520
35941
35942        Reviewed by Adrienne Walker.
35943
35944        Tested in CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
35945
35946        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
35947        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
35948
359492012-04-23  Alexis Menard  <alexis.menard@openbossa.org>
35950
35951        Simplify CSSParser::parseFont.
35952        https://bugs.webkit.org/show_bug.cgi?id=78698
35953
35954        Reviewed by Antti Koivisto.
35955
35956        Simplify parseFont by sharing the code we have for
35957        the longhands of the font property.
35958
35959        No new tests : Extend the existing font shorthand test and modify expected files
35960        as now the order of the longhands added in the property list of the style
35961        has changed. It's very unlikely that some code is relying on this order though. It will
35962        also match the way the spec order them http://www.w3.org/TR/css3-fonts/#font-prop
35963        even though the order is arbitrary for some values.
35964
35965        * css/CSSParser.cpp:
35966        (WebCore::CSSParser::parseValue):
35967        (WebCore::CSSParser::parseFont):
35968        (WebCore::CSSParser::parseLineHeight):
35969        (WebCore):
35970        (WebCore::CSSParser::parseFontSize):
35971        (WebCore::CSSParser::parseFontWeight):  Fix a bug discovered while using parseFontWeight from
35972        the parseFont (case font: 0/0, Arial, sans-serif; in a layout test), we should return true only
35973        when we add something in the property list.
35974        * css/CSSParser.h:
35975
359762012-04-23  Yury Semikhatsky  <yurys@chromium.org>
35977
35978        Web Inspector: improve the way heap snapshot diff is calculated
35979        https://bugs.webkit.org/show_bug.cgi?id=84590
35980
35981        Diff calculation now consists of the following steps:
35982        1. Collect data about nodes in the base heap snapshot
35983        2. Pass it to the second snapshot.
35984        3. Calculate delta for each class.
35985
35986        Reviewed by Pavel Feldman.
35987
35988        * inspector/front-end/HeapSnapshot.js:
35989        (WebInspector.HeapSnapshot):
35990        (WebInspector.HeapSnapshot.prototype.dispose):
35991        (WebInspector.HeapSnapshot.prototype.aggregatesForDiff):
35992        (WebInspector.HeapSnapshot.prototype.calculateSnapshotDiff):
35993        (WebInspector.HeapSnapshot.prototype._calculateDiffForClass):
35994        (WebInspector.HeapSnapshot.prototype.createAddedNodesProvider):
35995        (WebInspector.HeapSnapshot.prototype.createDeletedNodesProvider):
35996        * inspector/front-end/HeapSnapshotDataGrids.js:
35997        (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren.aggregatesForDiffReceived.didCalculateSnapshotDiff):
35998        (WebInspector.HeapSnapshotDiffDataGrid.prototype._populateChildren):
35999        * inspector/front-end/HeapSnapshotGridNodes.js:
36000        (WebInspector.HeapSnapshotIteratorsTuple):
36001        (WebInspector.HeapSnapshotDiffNode):
36002        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
36003        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
36004        * inspector/front-end/HeapSnapshotProxy.js:
36005        (WebInspector.HeapSnapshotProxy.prototype.aggregatesForDiff):
36006        (WebInspector.HeapSnapshotProxy.prototype.calculateSnapshotDiff):
36007        (WebInspector.HeapSnapshotProxy.prototype.createAddedNodesProvider):
36008        (WebInspector.HeapSnapshotProxy.prototype.createDeletedNodesProvider):
36009        * inspector/front-end/HeapSnapshotView.js:
36010        (WebInspector.HeapSnapshotView.prototype._changeBase):
36011
360122012-04-23  Pavel Feldman  <pfeldman@chromium.org>
36013
36014        Web Inspector: Rename and extract UISourceCodeImpl into JavaScriptSource
36015        https://bugs.webkit.org/show_bug.cgi?id=84587
36016
36017        Reviewed by Yury Semikhatsky.
36018
36019        No changes other than extraction here. This is the first step in the Resource
36020        hierarchy refactoring described in bug 84586.
36021
36022        * WebCore.gypi:
36023        * WebCore.vcproj/WebCore.vcproj:
36024        * inspector/compile-front-end.py:
36025        * inspector/front-end/CompilerScriptMapping.js:
36026        (WebInspector.CompilerScriptMapping.prototype.addScript):
36027        * inspector/front-end/DebuggerPresentationModel.js:
36028        * inspector/front-end/JavaScriptSource.js: Added.
36029        (WebInspector.JavaScriptSource):
36030        (WebInspector.JavaScriptSource.prototype.breakpoints):
36031        (WebInspector.JavaScriptSource.prototype.breakpointAdded):
36032        (WebInspector.JavaScriptSource.prototype.breakpointRemoved):
36033        (WebInspector.JavaScriptSource.prototype.consoleMessages):
36034        (WebInspector.JavaScriptSource.prototype.consoleMessageAdded):
36035        (WebInspector.JavaScriptSource.prototype.consoleMessagesCleared):
36036        * inspector/front-end/RawSourceCode.js:
36037        (WebInspector.RawSourceCode.prototype._createUISourceCode):
36038        * inspector/front-end/SnippetsModel.js:
36039        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
36040        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
36041        * inspector/front-end/WebKit.qrc:
36042        * inspector/front-end/inspector.html:
36043
360442012-04-23  Gavin Peters  <gavinp@chromium.org>
36045
36046        Move ReferrerPolicy out of SecurityPolicy class into its own header in platform.
36047        https://bugs.webkit.org/show_bug.cgi?id=84516
36048
36049        Reviewed by Adam Barth.
36050
36051        No change in behaviour; same enum, different class.
36052
36053        * GNUmakefile.list.am:
36054        * Target.pri:
36055        * WebCore.exp.in:
36056        * WebCore.gypi:
36057        * WebCore.vcproj/WebCore.vcproj:
36058        * WebCore.xcodeproj/project.pbxproj:
36059        * dom/Document.cpp:
36060        (WebCore::Document::Document):
36061        (WebCore::Document::processReferrerPolicy):
36062        * dom/Document.h:
36063        (WebCore::Document::referrerPolicy):
36064        (Document):
36065        * page/SecurityPolicy.h:
36066        * platform/ReferrerPolicy.h: Added.
36067        (WebCore):
36068
360692012-04-23  Vineet Chaudhary  <rgf748@motorola.com>
36070
36071        JS binding code generator doesn't handle "attribute unsigned long[]" well
36072        https://bugs.webkit.org/show_bug.cgi?id=84540
36073
36074        Reviewed by Kentaro Hara.
36075
36076        Codegenerator should handle spaces with the sequence<> to support
36077        numeric types like "unsigned long", "int" .. etc. and primitive types
36078        like "boolean", "Date" etc.
36079
36080        Tests: bindings/scripts/test/TestObj.idl
36081
36082        * bindings/scripts/CodeGenerator.pm:
36083        (SkipIncludeHeader): Rename AvoidInclusionOfType to SkipIncludeHeader.
36084        (GetArrayType):
36085        * bindings/scripts/CodeGeneratorJS.pm:
36086        (AddIncludesForType):
36087        (NativeToJSValue):
36088        * bindings/scripts/CodeGeneratorObjC.pm:
36089        (AddIncludesForType):
36090        (GenerateImplementation):
36091        * bindings/scripts/CodeGeneratorV8.pm:
36092        (AddIncludesForType):
36093        (GetHeaderClassInclude):
36094        (GenerateNormalAttrGetter):
36095        (NativeToJSValue):
36096        * bindings/scripts/IDLStructure.pm:
36097        * bindings/scripts/test/JS/JSTestObj.cpp:
36098        (WebCore):
36099        (WebCore::jsTestObjIntSequenceAttr):
36100        (WebCore::jsTestObjShortSequenceAttr):
36101        (WebCore::jsTestObjLongSequenceAttr):
36102        (WebCore::jsTestObjLongLongSequenceAttr):
36103        (WebCore::jsTestObjUnsignedIntSequenceAttr):
36104        (WebCore::jsTestObjUnsignedShortSequenceAttr):
36105        (WebCore::jsTestObjUnsignedLongSequenceAttr):
36106        (WebCore::jsTestObjUnsignedLongLongSequenceAttr):
36107        (WebCore::jsTestObjFloatSequenceAttr):
36108        (WebCore::jsTestObjDoubleSequenceAttr):
36109        (WebCore::jsTestObjBooleanSequenceAttr):
36110        (WebCore::jsTestObjVoidSequenceAttr):
36111        (WebCore::jsTestObjDateSequenceAttr):
36112        (WebCore::setJSTestObjSequenceAttr):
36113        (WebCore::setJSTestObjIntSequenceAttr):
36114        (WebCore::setJSTestObjShortSequenceAttr):
36115        (WebCore::setJSTestObjLongSequenceAttr):
36116        (WebCore::setJSTestObjLongLongSequenceAttr):
36117        (WebCore::setJSTestObjUnsignedIntSequenceAttr):
36118        (WebCore::setJSTestObjUnsignedShortSequenceAttr):
36119        (WebCore::setJSTestObjUnsignedLongSequenceAttr):
36120        (WebCore::setJSTestObjUnsignedLongLongSequenceAttr):
36121        (WebCore::setJSTestObjFloatSequenceAttr):
36122        (WebCore::setJSTestObjDoubleSequenceAttr):
36123        (WebCore::setJSTestObjBooleanSequenceAttr):
36124        (WebCore::setJSTestObjVoidSequenceAttr):
36125        (WebCore::setJSTestObjDateSequenceAttr):
36126        * bindings/scripts/test/JS/JSTestObj.h:
36127        (WebCore):
36128        * bindings/scripts/test/ObjC/DOMTestObj.h:
36129        * bindings/scripts/test/TestObj.idl:
36130        * bindings/scripts/test/V8/V8TestObj.cpp:
36131        (WebCore::TestObjV8Internal::intSequenceAttrAttrGetter):
36132        (TestObjV8Internal):
36133        (WebCore::TestObjV8Internal::intSequenceAttrAttrSetter):
36134        (WebCore::TestObjV8Internal::shortSequenceAttrAttrGetter):
36135        (WebCore::TestObjV8Internal::shortSequenceAttrAttrSetter):
36136        (WebCore::TestObjV8Internal::longSequenceAttrAttrGetter):
36137        (WebCore::TestObjV8Internal::longSequenceAttrAttrSetter):
36138        (WebCore::TestObjV8Internal::longLongSequenceAttrAttrGetter):
36139        (WebCore::TestObjV8Internal::longLongSequenceAttrAttrSetter):
36140        (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrGetter):
36141        (WebCore::TestObjV8Internal::unsignedIntSequenceAttrAttrSetter):
36142        (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrGetter):
36143        (WebCore::TestObjV8Internal::unsignedShortSequenceAttrAttrSetter):
36144        (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrGetter):
36145        (WebCore::TestObjV8Internal::unsignedLongSequenceAttrAttrSetter):
36146        (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrGetter):
36147        (WebCore::TestObjV8Internal::unsignedLongLongSequenceAttrAttrSetter):
36148        (WebCore::TestObjV8Internal::floatSequenceAttrAttrGetter):
36149        (WebCore::TestObjV8Internal::floatSequenceAttrAttrSetter):
36150        (WebCore::TestObjV8Internal::doubleSequenceAttrAttrGetter):
36151        (WebCore::TestObjV8Internal::doubleSequenceAttrAttrSetter):
36152        (WebCore::TestObjV8Internal::booleanSequenceAttrAttrGetter):
36153        (WebCore::TestObjV8Internal::booleanSequenceAttrAttrSetter):
36154        (WebCore::TestObjV8Internal::voidSequenceAttrAttrGetter):
36155        (WebCore::TestObjV8Internal::voidSequenceAttrAttrSetter):
36156        (WebCore::TestObjV8Internal::dateSequenceAttrAttrGetter):
36157        (WebCore::TestObjV8Internal::dateSequenceAttrAttrSetter):
36158        (WebCore):
36159
361602012-04-23  Andreas Kling  <kling@webkit.org>
36161
36162        Unreviewed assertion fix for Chromium bots.
36163
36164        Skip unnecessary Attr::attachToElement() after constructing an Attr using the
36165        constructor that attaches to an Element.
36166
36167        * dom/ElementAttributeData.cpp:
36168        (WebCore::ElementAttributeData::ensureAttr):
36169
361702012-04-23  Andreas Kling  <kling@webkit.org>
36171
36172        REGRESSION(r114870): Assertion failure in ElementAttributeData::setAttr().
36173        <http://webkit.org/b/84581>
36174
36175        Reviewed by Antti Koivisto.
36176
36177        Attach the Attr and bump m_attrCount manually in ensureAttr() instead of calling
36178        setAttr(). The latter asserts that the Attr isn't present in the map, which
36179        obviously isn't true after we've just added it.
36180
36181        This has the added effect of removing one unnecessary hash lookup.
36182
36183        * dom/ElementAttributeData.cpp:
36184        (WebCore::ElementAttributeData::ensureAttr):
36185
361862012-04-23  Pavel Feldman  <pfeldman@chromium.org>
36187
36188        Web Inspector: make ParsedURL.prototype.displayName data url friendly.
36189        https://bugs.webkit.org/show_bug.cgi?id=84578
36190
36191        Reviewed by Yury Semikhatsky.
36192
36193        We'd like to define valid URL as the one that has scheme, host and path.
36194        We can append to this URL and manipulate its content. We still want 
36195        possibly invalid specs (such as data or about) to exist and have nice
36196        display names.
36197
36198        * inspector/front-end/ResourceUtils.js:
36199        (WebInspector.ParsedURL):
36200        (WebInspector.ParsedURL.prototype.get displayName):
36201
362022012-04-23  Pavel Feldman  <pfeldman@chromium.org>
36203
36204        Web Inspector: introduce String.prototype.starts/endsWith and use it all over the place.
36205        https://bugs.webkit.org/show_bug.cgi?id=84574
36206
36207        Reviewed by Yury Semikhatsky.
36208
36209        * inspector/front-end/AuditRules.js:
36210        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
36211        * inspector/front-end/BreakpointsSidebarPane.js:
36212        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
36213        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
36214        * inspector/front-end/CSSCompletions.js:
36215        (WebInspector.CSSCompletions.prototype.startsWith):
36216        (WebInspector.CSSCompletions.prototype._firstIndexOfPrefix):
36217        * inspector/front-end/ConsoleView.js:
36218        (WebInspector.ConsoleView.prototype._reportCompletions):
36219        * inspector/front-end/CookieItemsView.js:
36220        (WebInspector.Cookies.cookieMatchesResourceURL):
36221        * inspector/front-end/DatabaseQueryView.js:
36222        (WebInspector.DatabaseQueryView.prototype.completions):
36223        * inspector/front-end/ElementsTreeOutline.js:
36224        (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
36225        * inspector/front-end/ProfileView.js:
36226        * inspector/front-end/ProfilesPanel.js:
36227        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
36228        (WebInspector.ProfilesPanel.prototype.displayTitleForProfileLink):
36229        (WebInspector.ProfileSidebarTreeElement):
36230        (WebInspector.ProfileSidebarTreeElement.prototype.get mainTitle):
36231        * inspector/front-end/ResourceUtils.js:
36232        (WebInspector.ParsedURL):
36233        (WebInspector.displayNameForURL):
36234        (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
36235        (WebInspector.completeURL):
36236        * inspector/front-end/SnippetsModel.js:
36237        (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
36238        * inspector/front-end/SourceCSSTokenizer.js:
36239        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
36240        * inspector/front-end/SourceCSSTokenizer.re2js:
36241        * inspector/front-end/TextPrompt.js:
36242        (WebInspector.TextPrompt.prototype._completeCommonPrefix):
36243        * inspector/front-end/UIUtils.js:
36244        (WebInspector.startEditing):
36245        * inspector/front-end/utilities.js:
36246
362472012-04-23  Andreas Kling  <kling@webkit.org>
36248
36249        REGRESSION(r114870): Performance hit on DOM/CloneNodes and DOM/CreateNodes.
36250        <http://webkit.org/b/84575>
36251
36252        Reviewed by Antti Koivisto.
36253
36254        Simplify the cloning of Attributes from one Element to another by simply
36255        assigning to m_attributes. This avoids default-constructing a bunch of
36256        Attribute objects that we overwrite immediately anyway (this used to be
36257        fine because they were RefPtr<Attribute> but now that a default-constructed
36258        Attribute contains a QualifiedName, we were doing a bunch of extra hash
36259        lookups, etc.)
36260
36261        * dom/ElementAttributeData.cpp:
36262        (WebCore::ElementAttributeData::setAttributes):
36263
362642012-04-20  Pavel Feldman  <pfeldman@chromium.org>
36265
36266        Web Inspector: implement "open stylesheet" dialog.
36267        https://bugs.webkit.org/show_bug.cgi?id=84466
36268
36269        Reviewed by Yury Semikhatsky.
36270
36271        This change introduces abstract OpenResourceDialog and re-uses it in OpenScriptDialog and OpenStylesheetDialog.
36272        Drive-by fix for data: url representation in the navigator and open resource dialogs.
36273
36274        * inspector/front-end/FilteredItemSelectionDialog.js:
36275        (WebInspector.FilteredItemSelectionDialog.prototype.position):
36276        (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
36277        (WebInspector.OpenResourceDialog.compareFunction):
36278        (WebInspector.OpenResourceDialog):
36279        (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
36280        (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
36281        (WebInspector.OpenResourceDialog.prototype.itemsCount):
36282        (WebInspector.OpenResourceDialog.prototype.requestItems):
36283        (WebInspector.OpenResourceDialog.prototype.selectItem):
36284        (WebInspector.OpenScriptDialog):
36285        (WebInspector.OpenScriptDialog.install):
36286        (WebInspector.OpenScriptDialog._show):
36287        (WebInspector.OpenScriptDialog.prototype.selectItem):
36288        * inspector/front-end/ResourceUtils.js:
36289        (WebInspector.ParsedURL):
36290        * inspector/front-end/ScriptsPanel.js:
36291        * inspector/front-end/StylesPanel.js:
36292        (WebInspector.StylesPanel):
36293        (WebInspector.StylesPanel.prototype._showOpenStylesheetDialog):
36294        (WebInspector.OpenStylesheetDialog):
36295        (WebInspector.OpenStylesheetDialog.prototype.selectItem):
36296        * inspector/front-end/inspector.html:
36297
362982012-04-23  Kent Tamura  <tkent@chromium.org>
36299
36300        Add test function to get placeholder string
36301        https://bugs.webkit.org/show_bug.cgi?id=84536
36302
36303        Reviewed by Ryosuke Niwa.
36304
36305        Add window.internals.visiblePlaceholder(element), which returns a
36306        placeholder string only when it's visible.
36307
36308        * WebCore.exp.in: Expose HTMLTextFormControlElement::placeholderShouldBeVisible().
36309        * testing/Internals.cpp:
36310        (WebCore::Internals::visiblePlaceholder): Added.
36311        (WebCore::Internals::selectColorInColorChooser): Omit HTMLNames::.
36312        * testing/Internals.h:
36313        (Internals): Add visiblePlaceholder().
36314        * testing/Internals.idl: ditto.
36315
363162012-04-23  Szilard Ledan  <szledan@inf.u-szeged.hu>
36317
36318        Incorrect handling of CSS escape sequences that encode surrogates
36319        https://bugs.webkit.org/show_bug.cgi?id=76152
36320
36321        Reviewed by Kent Tamura.
36322
36323        Test: fast/css/parsing-css-surrogate-pairs.html
36324
36325        * css/CSSParser.cpp:
36326        (WebCore::CSSParser::parseEscape):
36327
363282012-04-22  Yury Semikhatsky  <yurys@chromium.org>
36329
36330        Web Inspector: make populateChildren methods private in heap profiler front-end
36331        https://bugs.webkit.org/show_bug.cgi?id=84562
36332
36333        - populateChildren method on HeapSnapshotConstructorsDataGrid and
36334        HeapSnapshotDiffDataGrid now is private.
36335        - Made _defaultPopulateCount a public method on HeapSnapshotSortableDataGrid which
36336        is overriden in some descendants
36337        - Removed unused HeapSnapshotPathFinderProxy
36338        - added closure compiler annotations
36339
36340        Reviewed by Pavel Feldman.
36341
36342        * inspector/front-end/HeapSnapshotDataGrids.js:
36343        (WebInspector.HeapSnapshotSortableDataGrid.prototype.defaultPopulateCount):
36344        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
36345        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
36346        (WebInspector.HeapSnapshotDiffDataGrid.prototype.defaultPopulateCount):
36347        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
36348        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.defaultPopulateCount):
36349        * inspector/front-end/HeapSnapshotGridNodes.js:
36350        (WebInspector.HeapSnapshotGridNode):
36351        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
36352        (WebInspector.HeapSnapshotDiffNode):
36353        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
36354        * inspector/front-end/HeapSnapshotProxy.js:
36355
363562012-04-22  Andreas Kling  <kling@webkit.org>
36357
36358        Unreviewed build fix, remove Attribute.cpp from DOMAllInOne.cpp.
36359
36360        * dom/DOMAllInOne.cpp: My nemesis.
36361
363622012-04-22  Andreas Kling  <kling@webkit.org>
36363
36364        Optimize Element attribute storage for the common case (no Attr objects.)
36365        <http://webkit.org/b/83440>
36366
36367        Reviewed by Antti Koivisto.
36368
36369        Reduce Attribute to its smallest possible size; a qname/value pair.
36370        They are no-longer ref-counted, which allows us to store them in Vectors.
36371
36372        Refactored the DOM Attr object to go with the new Attribute:
36373        Attr now wraps either {element, qname} or {qname, value}. The latter is for
36374        the case where a standalone Attr object is instantiated via DOM APIs.
36375
36376        ElementAttributeData.cpp manages a map of pair<element, qname> => Attr.
36377        Each Element (well, ElementAttributeData) keeps track of how many Attr
36378        objects are pointing to it. This is so we can avoid hash lookups during
36379        common operations in the typical case where you have zero Attrs.
36380
36381        Also removed the inline capacity (was 4) from AttributeVector as that
36382        would significantly increase bloat now that we store Attribute (2 pointers)
36383        rather than RefPtr<Attribute>. We trade this one piece of indirection
36384        for the removal of per-Attribute indirection.
36385
36386        * CMakeLists.txt:
36387        * GNUmakefile.list.am:
36388        * Target.pri:
36389        * WebCore.gypi:
36390        * WebCore.vcproj/WebCore.vcproj:
36391        * WebCore.xcodeproj/project.pbxproj:
36392        * dom/Attr.cpp:
36393        (WebCore::Attr::Attr):
36394        (WebCore):
36395        (WebCore::Attr::create):
36396        (WebCore::Attr::~Attr):
36397        (WebCore::Attr::createTextChild):
36398        (WebCore::Attr::setPrefix):
36399        (WebCore::Attr::setValue):
36400        (WebCore::Attr::cloneNode):
36401        (WebCore::Attr::childrenChanged):
36402        (WebCore::Attr::style):
36403        (WebCore::Attr::value):
36404        (WebCore::Attr::elementAttribute):
36405        (WebCore::Attr::detachFromElementWithValue):
36406        (WebCore::Attr::attachToElement):
36407        * dom/Attr.h:
36408        (WebCore):
36409        (Attr):
36410        (WebCore::Attr::qualifiedName):
36411        (WebCore::Attr::localName):
36412        (WebCore::Attr::namespaceURI):
36413        (WebCore::Attr::prefix):
36414        * dom/Attribute.cpp: Removed.
36415        * dom/Attribute.h:
36416        (WebCore::Attribute::Attribute):
36417        (Attribute):
36418        * dom/Document.cpp:
36419        (WebCore::Document::importNode):
36420        (WebCore::Document::createAttributeNS):
36421        * dom/Element.cpp:
36422        (WebCore::Element::~Element):
36423        (WebCore::Element::detachAttribute):
36424        (WebCore):
36425        (WebCore::Element::removeAttribute):
36426        (WebCore::Element::setAttributeInternal):
36427        (WebCore::Element::parserSetAttributes):
36428        (WebCore::Element::setAttributeNode):
36429        (WebCore::Element::removeAttributeNode):
36430        (WebCore::Element::normalizeAttributes):
36431        (WebCore::Element::didRemoveAttribute):
36432        (WebCore::Element::attrIfExists):
36433        (WebCore::Element::ensureAttr):
36434        * dom/Element.h:
36435        (Element):
36436        (WebCore::Element::getAttributeItemIndex):
36437        * dom/ElementAttributeData.cpp:
36438        (WebCore):
36439        (WebCore::attrMap):
36440        (WebCore::ElementAttributeData::attrIfExists):
36441        (WebCore::ElementAttributeData::ensureAttr):
36442        (WebCore::ElementAttributeData::setAttr):
36443        (WebCore::ElementAttributeData::removeAttr):
36444        (WebCore::AttributeVector::removeAttribute):
36445        (WebCore::ElementAttributeData::~ElementAttributeData):
36446        (WebCore::ElementAttributeData::addAttribute):
36447        (WebCore::ElementAttributeData::removeAttribute):
36448        (WebCore::ElementAttributeData::isEquivalent):
36449        (WebCore::ElementAttributeData::detachAttributesFromElement):
36450        (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
36451        (WebCore::ElementAttributeData::setAttributes):
36452        (WebCore::ElementAttributeData::clearAttributes):
36453        (WebCore::ElementAttributeData::replaceAttribute):
36454        (WebCore::ElementAttributeData::getAttributeNode):
36455        * dom/ElementAttributeData.h:
36456        (WebCore):
36457        (WebCore::AttributeVector::AttributeVector):
36458        (AttributeVector):
36459        (WebCore::AttributeVector::getAttributeItem):
36460        (WebCore::AttributeVector::getAttributeItemIndex):
36461        (WebCore::AttributeVector::insertAttribute):
36462        (WebCore::ElementAttributeData::attributeItem):
36463        (ElementAttributeData):
36464        (WebCore::ElementAttributeData::ElementAttributeData):
36465        (WebCore::ElementAttributeData::attributeVector):
36466        (WebCore::ElementAttributeData::clonedAttributeVector):
36467        (WebCore::ElementAttributeData::removeAttribute):
36468        (WebCore::ElementAttributeData::getAttributeItem):
36469        (WebCore::ElementAttributeData::getAttributeItemIndex):
36470        * dom/NamedNodeMap.cpp:
36471        (WebCore::NamedNodeMap::getNamedItem):
36472        (WebCore::NamedNodeMap::getNamedItemNS):
36473        (WebCore::NamedNodeMap::removeNamedItem):
36474        (WebCore::NamedNodeMap::removeNamedItemNS):
36475        (WebCore::NamedNodeMap::item):
36476        * dom/Node.cpp:
36477        (WebCore::Node::compareDocumentPosition):
36478        * html/HTMLAnchorElement.cpp:
36479        (WebCore::HTMLAnchorElement::parseAttribute):
36480        * html/HTMLSelectElement.cpp:
36481        (WebCore::HTMLSelectElement::parseAttribute):
36482        * html/parser/HTMLConstructionSite.cpp:
36483        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
36484        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
36485        (WebCore::HTMLConstructionSite::insertScriptElement):
36486        (WebCore::HTMLConstructionSite::createElement):
36487        (WebCore::HTMLConstructionSite::createHTMLElement):
36488        (WebCore::HTMLConstructionSite::createHTMLElementFromSavedElement):
36489        * html/parser/HTMLToken.h:
36490        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
36491        * html/parser/HTMLTreeBuilder.cpp:
36492        (WebCore::HTMLTreeBuilder::processFakeStartTag):
36493        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
36494        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
36495        (WebCore):
36496        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
36497        * html/parser/HTMLTreeBuilder.h:
36498        * html/parser/TextDocumentParser.cpp:
36499        (WebCore::TextDocumentParser::insertFakePreElement):
36500        * page/PageSerializer.cpp:
36501        (WebCore::SerializerMarkupAccumulator::appendCustomAttributes):
36502        * svg/SVGFitToViewBox.cpp:
36503        * svg/properties/SVGAnimatedPropertySynchronizer.h:
36504        * xml/XMLErrors.cpp:
36505        (WebCore::createXHTMLParserErrorHeader):
36506        (WebCore::XMLErrors::insertErrorMessageBlock):
36507        * xml/XPathNodeSet.cpp:
36508        (WebCore::XPath::NodeSet::traversalSort):
36509        * xml/XPathStep.cpp:
36510        (WebCore::XPath::Step::nodesInAxis):
36511        * xml/parser/MarkupTokenBase.h:
36512        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
36513        (WebCore::AtomicMarkupTokenBase::getAttributeItem):
36514        (WebCore::AtomicMarkupTokenBase::attributes):
36515        (AtomicMarkupTokenBase):
36516        (WebCore::::initializeAttributes):
36517        * xml/parser/XMLToken.h:
36518        (WebCore::AtomicXMLToken::AtomicXMLToken):
36519        * xml/parser/XMLTreeBuilder.cpp:
36520        (WebCore::XMLTreeBuilder::processNamespaces):
36521        (WebCore::XMLTreeBuilder::processAttributes):
36522
365232012-04-22  Sriram Neelakandan  <sriram.neelakandan@gmail.com>
36524
36525        Sync the MOZ_X11 changes from r14 of http://code.google.com/p/npapi-sdk/
36526        also, modified required build flags for Qt,Gtk and CMake
36527        [Qt]  Added MOZ_X11 build flag for !embedded
36528        https://bugs.webkit.org/show_bug.cgi?id=40785
36529
36530        Reviewed by Anders Carlsson.
36531
36532        No new tests. This does not change functionality. Affects all X11 Ports. Build should break if MOZ_X11 is not passed where required
36533
36534        * WebCore.pri:
36535        * plugins/npapi.h:
36536
365372012-04-22  Pablo Flouret  <pablof@motorola.com>
36538
36539        Reset event propagation and canceled flags in Event.initEvent
36540        https://bugs.webkit.org/show_bug.cgi?id=83964
36541
36542        Reviewed by Ryosuke Niwa.
36543
36544        Step 3 in http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#dom-event-initevent
36545        Useful for re-configuring an event before dispatching.
36546
36547        Test: fast/events/flags-unset-on-init-event.html
36548
36549        * dom/Event.cpp:
36550        (WebCore::Event::initEvent):
36551
365522012-04-22  Martin Robinson  <mrobinson@igalia.com>
36553
36554        [Cairo] Implement CompositeDifference
36555        https://bugs.webkit.org/show_bug.cgi?id=77354
36556
36557        Reviewed by Alejandro G. Castro.
36558
36559        No new tests. The difference compositing operator are not exposed
36560        to web content, so this change is simply in preparation for a time
36561        in which it is used.
36562
36563        Properly map the difference compositing blend modes to a Cairo operator.
36564
36565        * platform/graphics/cairo/CairoUtilities.cpp:
36566        (WebCore::toCairoOperator): Add a mapping for difference. Remove
36567        code supporting versions of Cairo before 1.10, since the Cairo backend
36568        requires 1.10 or greater already.
36569
365702012-04-22  Jon Lee  <jonlee@apple.com>
36571
36572        Remove notifications support on Mac Lion.
36573        https://bugs.webkit.org/show_bug.cgi?id=84554
36574        <rdar://problem/11297128>
36575
36576        Reviewed by Sam Weinig.
36577
36578        * Configurations/FeatureDefines.xcconfig:
36579
365802012-04-22  Shawn Singh  <shawnsingh@chromium.org>
36581
36582        [chromium] Damage Tracker needs to use CCMathUtil transforms
36583        https://bugs.webkit.org/show_bug.cgi?id=84070
36584
36585        Reviewed by Adrienne Walker.
36586
36587        Unit test added to CCDamageTracker.cpp.
36588
36589        This patch makes CCDamageTracker use CCMathUtil transforms, so
36590        that perspective w < 0 problem is correctly handled.
36591
36592        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
36593        (WebCore::CCDamageTracker::extendDamageForLayer):
36594        (WebCore::CCDamageTracker::extendDamageForRenderSurface):
36595
365962012-04-20  Jon Lee  <jonlee@apple.com>
36597
36598        Add Notification constructor
36599        https://bugs.webkit.org/show_bug.cgi?id=80477
36600        <rdar://problem/10912431>
36601
36602        Reviewed by Jian Li.
36603
36604        Tests will be added once there is support for web notifications on the Mac ports.
36605
36606        * WebCore.exp.in: Export finalize() function.
36607
36608        Modify Dictionary to support creation of event listeners.
36609        * bindings/js/Dictionary.h:
36610        (WebCore::Dictionary::isObject): Return true if the JSDictionary is valid.
36611        (WebCore::Dictionary::isUndefinedOrNull): Return true if the JSDictionary is not valid.
36612        (WebCore::Dictionary::get): Add convenience function to take const char* for
36613        property name, to prevent having to do implicit conversion to WTF::String.
36614        (WebCore::Dictionary::getEventListener): Add function to create event listener
36615        from the dictionary.
36616        (WebCore::Dictionary::asJSObject): Helper to convert WebCore objects to JS wrapper.
36617        * bindings/js/Dictionary.cpp:
36618        (WebCore::Notification): Implement asJSObject() for Notification.
36619        * bindings/js/JSDictionary.h:
36620        (WebCore::JSDictionary::execState): Expose the exec state so that the Dictionary
36621        can obtain its world for creating the event listener.
36622
36623        * bindings/v8/Dictionary.h:
36624        (WebCore::Dictionary::getEventListener): Stub implementation.
36625
36626        Add new constructor to idl definitions.
36627        * notifications/DOMWindowNotifications.idl: Add Notification constructor, if
36628        ENABLE(NOTIFICATIONS) is on.
36629        * notifications/Notification.idl: If ENABLE(NOTIFICATIONS) is turned on, define
36630        the constructor. Otherwise, use OmitConstructor.
36631        * notifications/NotificationCenter.idl: Wrap creation functions in
36632        ENABLE(LEGACY_NOTIFICATIONS).
36633        * notifications/NotificationCenter.h: Ditto.
36634        (NotificationCenter):
36635
36636        * notifications/Notification.h:
36637        (Notification): Wrap legacy constructors in ENABLE(LEGACY_NOTIFICATIONS).
36638        (WebCore::Notification::create): New creation function based on discussions in WG.
36639        * notifications/Notification.cpp:
36640        (WebCore::getAndAddEventListener): Helper function to get the listener from the
36641        dictionary, and attach to the notification.
36642        (WebCore::Notification::create): Create the notification, then apply whatever
36643        properties can be found in the dictionary to the notification. In order to
36644        attach the event listeners, the notification has to have been created, which is
36645        why this all happens in the factory method and not in the constructor.
36646        (WebCore::Notification::setBody): Added so that it can be set if we find it in the
36647        dictionary.
36648
36649        The new constructor queues a task to show when it is created. To support this, we
36650        use a one-shot timer that calls show() in the next iteration of the run loop.
36651        (WebCore::Notification::Notification): Start the timer.
36652        (WebCore::Notification::showTaskTimerFired): Call show().
36653
36654        Notifications, not being attached to the DOM, could be GC'ed by the JS engine
36655        before its life cycle has completed. We add calls to setPendingActivity() when the
36656        notification has been shown, and when it is closed, we unsetPendingActivity().
36657        To guarantee that we only call this once, we add a new state to the Notification
36658        state machine, called NotificationState::Closed.
36659        (WebCore::Notification::show): Call setPendingActivity() for all ports. Remove conditional on Mac.
36660        (WebCore::Notification::close): Include Closed state to machine; do nothing.
36661        (WebCore::Notification::dispatchCloseEvent): Call finalize().
36662        (WebCore::Notification::finalize): If the state is not Closed, we unsetPendingActivity()
36663        to make it available for GC.
36664        (WebCore::Notification::finishLoading): Remove the unsetPendingActivity(). That call
36665        was to balance the setPendingActivity() called for loading the icon. Instead of wrapping
36666        around the icon load, we wrap around the show() -> finalize() loop.
36667
36668        In Notification, rename some of the stages and functions to more clearly communicate
36669        that they mostly deal with the icon of the notification, instead of general loading.
36670        (WebCore::Notification::show): Refactored to use LoadingIcon and CancelledIcon.
36671        (WebCore::Notification::close): Refactored to use LoadingIcon and CancelledIcon.
36672        (WebCore::Notification::~Notification): Refactor to use LoadingIcon.
36673        (WebCore::Notification::startLoadingIcon): Renamed from startLoading().
36674        (WebCore::Notification::stopLoadingIcon): Renamed from stopLoading().
36675        (WebCore::Notification::finishLoadingIcon): Renamed from finishLoading().
36676        (WebCore::Notification::didFinishLoading):
36677        (WebCore::Notification::didFail):
36678        (WebCore::Notification::didFailRedirectCheck):
36679        (WebCore::Notification::didReceiveResponse):
36680        (WebCore::Notification::finishLoading):
36681
36682        Add Dictionary.cpp.
36683        * GNUmakefile.list.am:
36684        * Target.pri:
36685        * UseJSC.cmake:
36686        * WebCore.gypi:
36687
36688        Fix bug in V8 bindings generation code. If the constructor doesn't raise an exception,
36689        don't use an exception code.
36690        * bindings/scripts/CodeGeneratorV8.pm:
36691        (GenerateParametersCheck):
36692        * bindings/scripts/test/V8/V8TestObj.cpp: Reset results.
36693        (WebCore::TestObjV8Internal::optionsObjectCallback):
36694
366952012-04-21  Benjamin C Meyer  <bmeyer@rim.com>
36696
36697        Support loading the same plugin in multiple locations in the Blackberry port.
36698        https://bugs.webkit.org/show_bug.cgi?id=84537
36699
36700        The hash for the plugin is only based upon the plugin meta information
36701        which will be the same for the same plugin in the system and user's
36702        plugin folders.
36703
36704        It looks like this code was copied/based on the windows port
36705        which doesn't allow the same plugin to be loaded more than once.
36706
36707        Because we want to support multiple copies of the same plugin
36708        in the blackberry port we want to incorperate the path of the plugin
36709        into the hash.
36710
36711        PR 150404
36712
36713        Reviewed by Adam Treat.
36714
36715        * plugins/blackberry/PluginPackageBlackBerry.cpp:
36716        (WebCore::PluginPackage::hash):
36717
367182012-04-21  Benjamin C Meyer  <bmeyer@rim.com>
36719
36720        System plugins are preferred over application plugins
36721        https://bugs.webkit.org/show_bug.cgi?id=84538
36722
36723        Set the preferred paths for plugins so that plugins that reside
36724        inside of the bar will be preferred over plugins that are in the
36725        system folder.
36726
36727        PR 150404
36728
36729        Reviewed by Adam Treat.
36730
36731        * plugins/PluginDatabase.cpp:
36732        (WebCore::PluginDatabase::isPreferredPluginDirectory):
36733
367342012-04-21  Darin Adler  <darin@apple.com>
36735
36736        Improve performance of removing user and password from URLs
36737        https://bugs.webkit.org/show_bug.cgi?id=84525
36738
36739        Reviewed by Dan Bernstein.
36740
36741        Performance improvement only. Correctness covered by existing regression tests.
36742
36743        The most common use of KURL::setUser and KURL::setPass, by far, is to remove
36744        the user and password from a URL that already has neither. Optimize this by
36745        not re-parsing the URL in that case.
36746
36747        * platform/KURL.cpp:
36748        (WebCore::KURL::setUser): Restructure code so that the code path that removes
36749        the user does no work when there is nothing to remove. Otherwise, leave the
36750        logic of the function untouched.
36751        (WebCore::KURL::setPass): Same thing, only for password rather than user.
36752
367532012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
36754
36755        Unreviewed, rolling out r114768.
36756        http://trac.webkit.org/changeset/114768
36757        https://bugs.webkit.org/show_bug.cgi?id=84521
36758
36759        Original patch was not the problem, re-applying (Requested by
36760        pfeldman_ on #webkit).
36761
36762        * bindings/v8/V8IsolatedContext.cpp:
36763        (WebCore::setInjectedScriptContextDebugId):
36764        (WebCore):
36765        (WebCore::V8IsolatedContext::V8IsolatedContext):
36766        * bindings/v8/V8Proxy.cpp:
36767        (WebCore::V8Proxy::evaluateInIsolatedWorld):
36768        * bindings/v8/V8Proxy.h:
36769        (V8Proxy):
36770
367712012-04-20  Adrienne Walker  <enne@google.com>
36772
36773        [chromium] Refactor opaque content transform out of Skia context
36774        https://bugs.webkit.org/show_bug.cgi?id=83608
36775
36776        Reviewed by James Robinson.
36777
36778        Having PlatformContextSkia know about the transform into content space
36779        for a layer is a layering violation. This change lets the
36780        PlatformContextSkia deal with opaque rects in its own space and lets
36781        the caller handle transforming it into its own space. This also
36782        prevents a matrix multiply per draw into the Skia canvas and does it
36783        just once at the end to transform the final rect.
36784
36785        This is an incremental refactoring so that additional tracking for
36786        text rects can be added and use the same space as opaque rects.
36787
36788        Tests: LayerTextureUpdaterTest.testPartialOpaqueRectNoTransform
36789               LayerTextureUpdaterTest.testPartialOpaqueRectTranslation
36790               LayerTextureUpdaterTest.testPartialOpaqueRectScale
36791
36792        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
36793        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
36794        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
36795        (BitmapCanvasLayerTextureUpdater):
36796        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
36797        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
36798        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
36799        (BitmapSkPictureCanvasLayerTextureUpdater):
36800        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
36801        (WebCore::CanvasLayerTextureUpdater::paintContents):
36802        * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
36803        (CanvasLayerTextureUpdater):
36804        * platform/graphics/chromium/LayerTextureUpdater.h:
36805        (WebCore::LayerTextureUpdater::prepareToUpdate):
36806        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
36807        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
36808        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
36809        (SkPictureCanvasLayerTextureUpdater):
36810        * platform/graphics/chromium/TiledLayerChromium.cpp:
36811        (WebCore::TiledLayerChromium::updateTiles):
36812        * platform/graphics/skia/OpaqueRegionSkia.cpp:
36813        (WebCore::OpaqueRegionSkia::didDrawRect):
36814        (WebCore::OpaqueRegionSkia::didDrawPath):
36815        (WebCore::OpaqueRegionSkia::didDrawPoints):
36816        (WebCore::OpaqueRegionSkia::didDrawBounded):
36817        (WebCore::OpaqueRegionSkia::didDraw):
36818        * platform/graphics/skia/OpaqueRegionSkia.h:
36819        (OpaqueRegionSkia):
36820        * platform/graphics/skia/PlatformContextSkia.cpp:
36821        (WebCore::PlatformContextSkia::didDrawRect):
36822        (WebCore::PlatformContextSkia::didDrawPath):
36823        (WebCore::PlatformContextSkia::didDrawPoints):
36824        (WebCore::PlatformContextSkia::didDrawBounded):
36825        * platform/graphics/skia/PlatformContextSkia.h:
36826        (PlatformContextSkia):
36827
368282012-04-20  Enrica Casucci  <enrica@apple.com>
36829
36830        CRASH at WebCore::ReplaceSelectionCommand::removeRedundantMarkup
36831        https://bugs.webkit.org/show_bug.cgi?id=84518
36832        <rdar://problem/10714790>
36833
36834        Reviewed by Simon Fraser.
36835
36836        There are cases where the m_lastNodeInserted is NULL to begin with or
36837        gets deleted by removeRedundantStylesAndKeepStyleSpanInline.
36838        This change handles those cases properly.
36839        
36840        Tests: editing/pasteboard/paste-sanitize-crash-1.html
36841               editing/pasteboard/paste-sanitize-crash-2.html
36842
36843        * editing/ReplaceSelectionCommand.h:
36844        (WebCore::ReplaceSelectionCommand::InsertedNodes::pastLastLeaf):
36845        * editing/SimplifyMarkupCommand.cpp:
36846        (WebCore::SimplifyMarkupCommand::doApply):
36847
368482012-04-20  Michael Nordman  <michaeln@google.com>
36849
36850        [chromium] Tiny change to DomStorage v8 bindings to avoid a relatively expensive test in a couple
36851        of places by reordering the expressions in compound conditions, if (fastTest && moreExpensiveTest)
36852        https://bugs.webkit.org/show_bug.cgi?id=84500
36853
36854        Reviewed by Kentaro Hara.
36855
36856        No new tests, no new functionality.
36857
36858        * bindings/v8/custom/V8StorageCustom.cpp:
36859        (WebCore::storageGetter):
36860        (WebCore::V8Storage::namedPropertyQuery):
36861
368622012-04-20  Dan Bernstein  <mitz@apple.com>
36863
36864        REGRESSION (r114784): svg/text/foreignObject-text-clipping-bug.xml failing on Mountain Lion Debug Tests
36865        https://bugs.webkit.org/show_bug.cgi?id=84505
36866
36867        Reviewed by Anders Carlsson.
36868
36869        * rendering/RenderBlock.cpp:
36870        (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Changed to not assume that boxes only
36871        have boxes as siblings.
36872
368732012-04-20  Dana Jansens  <danakj@chromium.org>
36874
36875        [chromium] Remove special case for recreating layers during sync
36876        https://bugs.webkit.org/show_bug.cgi?id=84458
36877
36878        Reviewed by James Robinson.
36879
36880        We no longer delete layers on the impl side, unless it is due to
36881        deleting the layer on webkit side. So we will no longer have a
36882        situation where we need to push properties from an old
36883        LayerChromium to a new CCLayerImpl.
36884
36885        * platform/graphics/chromium/TreeSynchronizer.cpp:
36886        (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
36887
368882012-04-20  Dana Jansens  <danakj@chromium.org>
36889
36890        [chromium] WebFilterOperations API does not compile or dynamically link
36891        https://bugs.webkit.org/show_bug.cgi?id=84506
36892
36893        Reviewed by James Robinson.
36894
36895        Non-inline functions need WEBKIT_EXPORT in their declarations,
36896        and the type used in the WebPrivateOwnPtr needs to be forward-
36897        declared even when WEBKIT_IMPLEMENTATION is not defined.
36898
36899        * platform/chromium/support/WebFilterOperations.cpp:
36900        (WebKit::WebFilterOperations::initialize):
36901
369022012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
36903
36904        Unreviewed, rolling out r114333.
36905        http://trac.webkit.org/changeset/114333
36906        https://bugs.webkit.org/show_bug.cgi?id=84511
36907
36908        perf regression (Requested by morrita on #webkit).
36909
36910        * dom/Node.cpp:
36911        * dom/Node.h:
36912        (WebCore):
36913        (Node):
36914        (WebCore::Node::isElementNode):
36915        (WebCore::Node::isContainerNode):
36916        (WebCore::Node::isTextNode):
36917        (WebCore::Node::isHTMLElement):
36918        (WebCore::Node::isSVGElement):
36919        (WebCore::Node::isStyledElement):
36920        (WebCore::Node::isShadowRoot):
36921        (WebCore::Node::parentNode):
36922        (WebCore::Node::parentNodeGuaranteedHostFree):
36923
369242012-04-20  Alec Flett  <alecflett@chromium.org>
36925
36926        IndexedDB: Support get/getKey(keyRange)
36927        https://bugs.webkit.org/show_bug.cgi?id=83638
36928
36929        Reviewed by Ojan Vafai.
36930
36931        Support IDBKeyRange as a parameter to all the various get/getKey 
36932        combinations. Switches the existing get/getKey versions that use 
36933        IDBKey directly to start using IDBKeyRange.only(). 
36934
36935        Test: storage/indexeddb/get-keyrange.html
36936
36937        * Modules/indexeddb/IDBIndex.cpp:
36938        (WebCore::IDBIndex::get):
36939        (WebCore):
36940        (WebCore::IDBIndex::getKey):
36941        * Modules/indexeddb/IDBIndex.h:
36942        (IDBIndex):
36943        * Modules/indexeddb/IDBIndex.idl:
36944        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
36945        (WebCore::IDBIndexBackendImpl::getInternal):
36946        (WebCore):
36947        (WebCore::IDBIndexBackendImpl::getByRangeInternal):
36948        (WebCore::IDBIndexBackendImpl::getKeyInternal):
36949        (WebCore::IDBIndexBackendImpl::getKeyByRangeInternal):
36950        (WebCore::IDBIndexBackendImpl::get):
36951        (WebCore::IDBIndexBackendImpl::getKey):
36952        * Modules/indexeddb/IDBIndexBackendImpl.h:
36953        (IDBIndexBackendImpl):
36954        * Modules/indexeddb/IDBIndexBackendInterface.h:
36955        (IDBIndexBackendInterface):
36956        * Modules/indexeddb/IDBObjectStore.cpp:
36957        (WebCore::IDBObjectStore::get):
36958        (WebCore):
36959        * Modules/indexeddb/IDBObjectStore.h:
36960        (IDBObjectStore):
36961        * Modules/indexeddb/IDBObjectStore.idl:
36962        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
36963        (WebCore):
36964        (WebCore::IDBObjectStoreBackendImpl::get):
36965        (WebCore::IDBObjectStoreBackendImpl::getByRangeInternal):
36966        (WebCore::IDBObjectStoreBackendImpl::getInternal):
36967        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
36968        (IDBObjectStoreBackendImpl):
36969        * Modules/indexeddb/IDBObjectStoreBackendInterface.h:
36970        (IDBObjectStoreBackendInterface):
36971
369722012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
36973
36974        Unreviewed, rolling out r114789.
36975        http://trac.webkit.org/changeset/114789
36976        https://bugs.webkit.org/show_bug.cgi?id=84515
36977
36978        Caused 5 tests to fail on mac/ (Requested by jernoble on
36979        #webkit).
36980
36981        * css/CSSPrimitiveValueMappings.h:
36982        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
36983        * css/CSSValueKeywords.in:
36984        * platform/ThemeTypes.h:
36985        * rendering/RenderTheme.cpp:
36986        (WebCore::RenderTheme::paint):
36987
369882012-04-20  Brady Eidson  <beidson@apple.com>
36989
36990        https://bugs.webkit.org/show_bug.cgi?id=84512
36991        Repurpose ActiveDOMObject::WillShowDialog to WillDeferLoading
36992
36993        Reviewed by Eric Carlson.
36994
36995        No new tests. (Refactor, no behavior change)
36996
36997        Rename WillShowDialog to WillDeferLoading:
36998        * dom/ActiveDOMObject.h:
36999        * html/HTMLMediaElement.cpp:
37000        (WebCore::HTMLMediaElement::suspend):
37001
37002        Don't take a ReasonForSuspension argument anymore, just use WillDeferLoading:
37003        * page/PageGroupLoadDeferrer.cpp:
37004        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
37005        * page/PageGroupLoadDeferrer.h:
37006
37007        Don't pass a Reason anymore as WillDeferLoading is used by default:
37008        * page/Chrome.cpp:
37009        (WebCore::Chrome::runModal):
37010        (WebCore::Chrome::runBeforeUnloadConfirmPanel):
37011        (WebCore::Chrome::runJavaScriptAlert):
37012        (WebCore::Chrome::runJavaScriptConfirm):
37013        (WebCore::Chrome::runJavaScriptPrompt):
37014        (WebCore::Chrome::shouldInterruptJavaScript):
37015
370162012-04-20  James Robinson  <jamesr@chromium.org>
37017
37018        [chromium] Plumb a compositor surface ready notification through to the threaded compositor
37019        https://bugs.webkit.org/show_bug.cgi?id=84305
37020
37021        Reviewed by Adrienne Walker.
37022
37023        Plumb setSurfaceReady through to the scheduler.
37024
37025        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
37026        (WebCore::CCLayerTreeHost::setSurfaceReady):
37027        (WebCore):
37028        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
37029        (CCLayerTreeHost):
37030        * platform/graphics/chromium/cc/CCProxy.h:
37031        (CCProxy):
37032        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
37033        (WebCore::CCSingleThreadProxy::setSurfaceReady):
37034        (WebCore):
37035        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
37036        (CCSingleThreadProxy):
37037        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
37038        (WebCore::CCThreadProxy::setSurfaceReady):
37039        (WebCore):
37040        (WebCore::CCThreadProxy::setSurfaceReadyOnImplThread):
37041        (WebCore::CCThreadProxy::initializeImplOnImplThread):
37042        * platform/graphics/chromium/cc/CCThreadProxy.h:
37043        (CCThreadProxy):
37044
370452012-04-20  Mark Pilgrim  <pilgrim@chromium.org>
37046
37047        [Chromium] Call memoryUsageMB directly
37048        https://bugs.webkit.org/show_bug.cgi?id=84376
37049
37050        Reviewed by Kentaro Hara.
37051
37052        Now that memoryUsageMB has been moved from PlatformSupport.h to
37053        Platform.h, we need to be able to call it directly
37054        from WebCore/bindings/v8/V8GCController.cpp.
37055        That means we need a new MemoryUsageSupport class in
37056        WebCore/platform/ and an implementation in
37057        WebCore/platform/chromium/MemoryUsageSupportChromium.cpp.
37058        Other ports are welcome to implement their memory usage
37059        functions if they wish. This pattern was based on the
37060        HistogramSupport/HistogramSupportChromium classes.
37061
37062        Part of a refactoring series. See tracking bug 82948.
37063
37064        * CMakeLists.txt:
37065        * GNUmakefile.list.am:
37066        * Target.pri:
37067        * WebCore.gypi:
37068        * WebCore.vcproj/WebCore.vcproj:
37069        * WebCore.xcodeproj/project.pbxproj:
37070        * bindings/v8/V8GCController.cpp:
37071        (WebCore):
37072        * platform/MemoryUsageSupport.cpp: Added.
37073        (WebCore):
37074        (WebCore::MemoryUsageSupport::memoryUsageMB):
37075        * platform/MemoryUsageSupport.h: Added.
37076        (WebCore):
37077        (MemoryUsageSupport):
37078        * platform/chromium/MemoryUsageSupportChromium.cpp: Added.
37079        (WebCore):
37080        (WebCore::MemoryUsageSupport::memoryUsageMB):
37081        * platform/chromium/PlatformSupport.h:
37082        (PlatformSupport):
37083
370842012-04-20  Anders Carlsson  <andersca@apple.com>
37085
37086        Re-land. The non-fast scrollable region is now always updated after layout, and frameViewScrollableAreasDidChange has been removed.
37087
37088        computeNonFastScrollableRegion needs to traverse the entire frame tree
37089        https://bugs.webkit.org/show_bug.cgi?id=84409
37090        <rdar://problem/11285741>
37091
37092        Reviewed by Dan Bernstein.
37093
37094        Now that scrollable areas won't be in the set of scrollable areas unless they are actually scrollable, we need to look for scrollable
37095        areas in the entire frame tree since there can be a scrollable frame that's a subframe of a non-scrollable frame for example.
37096
37097        * page/scrolling/ScrollingCoordinator.cpp:
37098        (WebCore::computeNonFastScrollableRegion):
37099        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
37100
371012012-04-20  Adrienne Walker  <enne@google.com>
37102
37103        [chromium] Clip TransparencyWin to prevent OOM from large Skia canvas
37104        https://bugs.webkit.org/show_bug.cgi?id=84289
37105
37106        Reviewed by James Robinson.
37107
37108        TransparencyWin will create a Skia canvas of whatever size is passed
37109        in, even if the result will ultimately be clipped. Handle the clip
37110        implicitly and try (in some cases) to create a smaller canvas. This
37111        can happen due to RenderBox::paintBoxDecorations passing a paint rect
37112        down of the entire element's size.
37113
37114        Modes with more complicated transforms (ScaleTransform, UnTransform)
37115        are not handled yet.
37116
37117        Tests: TransparencyWin.ClippedKeepTransformNoLayer
37118               TransparencyWin.ClippedKeepTransformOpaqueCompositeLayer
37119               TransparencyWin.ClippedKeepTransformOpaqueWhiteLayer
37120
37121        * platform/graphics/chromium/TransparencyWin.cpp:
37122        (WebCore::TransparencyWin::computeLayerSize):
37123
371242012-04-04  Jer Noble  <jer.noble@apple.com>
37125
37126        apple.com top navigation bar appears inside video during full screen exit animation
37127        https://bugs.webkit.org/show_bug.cgi?id=83095
37128
37129        Reviewed by Eric Carlson.
37130
37131        Test: fullscreen/full-screen-exit-animation-stacking-context.html
37132
37133        Only tell ancestors of the full screen element that they are no longer ancestors once
37134        the full screen animation is complete:
37135        * dom/Document.cpp:
37136        (WebCore::Document::webkitWillExitFullScreenForElement):
37137        (WebCore::Document::webkitDidExitFullScreenForElement):
37138
37139        To facilitate writing reproducible LayoutTests, expose webkitWill/Did/Enter/ExitFullScreen
37140        from the Internals object, so scripts can call them explicitly:
37141        * testing/Internals.cpp:
37142        (WebCore::Internals::webkitWillEnterFullScreenForElement): Call the Document equivalent.
37143        (WebCore::Internals::webkitDidEnterFullScreenForElement): Ditto.
37144        (WebCore::Internals::webkitWillExitFullScreenForElement): Ditto.
37145        (WebCore::Internals::webkitDidExitFullScreenForElement): Ditto.
37146        * testing/Internals.h:
37147        * testing/Internals.idl:
37148
371492012-04-17  Jer Noble  <jer.noble@apple.com>
37150
37151        media-exit-fullscreen-button (and related enums) is unnecessary and should be removed.
37152        https://bugs.webkit.org/show_bug.cgi?id=84162
37153
37154        Reviewed by Eric Carlson.
37155
37156        No new tests; no change in functionality so covered by existing tests.
37157
37158        Remove the media-exit-fullscreen-button keyword, and rename media-enter-fullscreen-button to
37159        media-fullscreen-button.
37160
37161        * css/CSSPrimitiveValueMappings.h:
37162        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
37163        * css/CSSValueKeywords.in:
37164        * css/mediaControls.css:
37165        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
37166        * platform/ThemeTypes.h:
37167        * rendering/RenderTheme.cpp:
37168        (WebCore::RenderTheme::paint):
37169
371702012-04-20  Alexandre Elias  <aelias@google.com>
37171
37172        [chromium] Fix compile errors when DEBUG_GL_CALLS is enabled
37173        https://bugs.webkit.org/show_bug.cgi?id=84491
37174
37175        Reviewed by Ojan Vafai.
37176
37177        DEBUG_GL_CALLS had not been used in a while and the mode no longer
37178        compiled when I tried it.  I improved the GLC macro to support either
37179        raw pointers or RefPtrs, and to be a single expression in order to
37180        interact properly with if/else blocks.  I fixed the cases where we
37181        were passing in the "context" method pointer by mistake, and removed the
37182        now-unnecessary "get()" calls for the RefPtrs.
37183
37184        No new tests. (No-op change in release builds.)
37185
37186        * platform/graphics/chromium/LayerRendererChromium.cpp:
37187        (WebCore::LayerRendererChromium::initialize):
37188        (WebCore::LayerRendererChromium::clearRenderSurface):
37189        (WebCore::LayerRendererChromium::beginDrawingFrame):
37190        (WebCore::LayerRendererChromium::doNoOp):
37191        (WebCore::LayerRendererChromium::drawQuad):
37192        (WebCore::LayerRendererChromium::drawTextureQuad):
37193        (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
37194        (WebCore::LayerRendererChromium::finishDrawingFrame):
37195        (WebCore::LayerRendererChromium::useRenderSurface):
37196        (WebCore::LayerRendererChromium::bindFramebufferToTexture):
37197        (WebCore::LayerRendererChromium::setScissorToRect):
37198        (WebCore::LayerRendererChromium::setDrawViewportRect):
37199        (WebCore::LayerRendererChromium::initializeSharedObjects):
37200        (WebCore::LayerRendererChromium::cleanupSharedObjects):
37201        * platform/graphics/chromium/LayerRendererChromium.h:
37202        (WebCore):
37203
372042012-04-20  Anders Carlsson  <andersca@apple.com>
37205
37206        Fix build.
37207
37208        * page/scrolling/ScrollingCoordinator.cpp:
37209        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
37210
372112012-04-19  Simon Fraser  <simon.fraser@apple.com>
37212
37213        Set m_compositingDependsOnGeometry to false if possible
37214        https://bugs.webkit.org/show_bug.cgi?id=84391
37215
37216        Reviewed by James Robinson.
37217        
37218        For some kinds of elements, RenderLayerCompositor has to delay decisions about
37219        compositing until the element's size and/or position are known. This was previsouly
37220        based on the confusingly named m_compositingDependsOnGeometry flag, but another
37221        variant of the same technique, with an additional flag m_compositingNeedsUpdate,
37222        was added in r98627.
37223        
37224        Also, once the m_compositingDependsOnGeometry flag was set to true, nothing
37225        set it to false, so every compositing layer update resulted in a computeCompositingRequirements()
37226        pass over the layers.
37227        
37228        Rename the m_compositingDependsOnGeometry flag to m_reevaluateCompositingAfterLayout,
37229        and clear the flag when we do a layout-related compositing layer update.
37230        Use the same flag for position:fixed compositing.
37231        
37232        This requires RenderLayerCompositor to distinguish between style- and layout-
37233        related updates, requiring some minor refactoring in FrameView.
37234
37235        Should not change behavior.
37236        
37237        * dom/Document.cpp:
37238        (WebCore::Document::recalcStyle):
37239        (WebCore::Document::implicitClose):
37240        * page/FrameView.cpp:
37241        (WebCore::FrameView::updateCompositingLayersAfterStyleChange):
37242        (WebCore::FrameView::updateCompositingLayersAfterLayout):
37243        (WebCore::FrameView::restoreBackingStores):
37244        (WebCore::FrameView::layout):
37245        * page/FrameView.h:
37246        (FrameView):
37247        * rendering/RenderLayerCompositor.cpp:
37248        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
37249        (WebCore::RenderLayerCompositor::updateCompositingLayersTimerFired):
37250        (WebCore::RenderLayerCompositor::updateCompositingLayers):
37251        (WebCore::RenderLayerCompositor::layerTreeAsText):
37252        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin):
37253        (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
37254        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
37255        * rendering/RenderLayerCompositor.h:
37256        (RenderLayerCompositor):
37257
372582012-04-20  Dan Bernstein  <mitz@apple.com>
37259
37260        <rdar://problem/10786000> Selection highlights of lines in adjoining blocks can overlap
37261        https://bugs.webkit.org/show_bug.cgi?id=84489
37262
37263        Reviewed by Anders Carlsson.
37264
37265        Test: fast/block/line-layout/selection-highlight-overlap.html
37266
37267        * rendering/EllipsisBox.cpp:
37268        (WebCore::EllipsisBox::selectionRect): Changed to use
37269        selection{Top,Height}AdjustedForPrecedingBlock().
37270        * rendering/InlineTextBox.cpp:
37271        (WebCore::InlineTextBox::paintSelection): Ditto.
37272        * rendering/RenderBlock.cpp:
37273        (WebCore::RenderBlock::inlineSelectionGaps): Ditto.
37274        (WebCore::RenderBlock::blockBeforeWithinSelectionRoot): Added. Returns the block which is
37275        likely to contain the selected line just before the first line in this block, if it is
37276        within the same selection root.
37277        * rendering/RenderBlock.h:
37278        * rendering/RootInlineBox.cpp:
37279        (WebCore::RootInlineBox::selectionTopAdjustedForPrecedingBlock): Added. If the selection
37280        starts before our block, finds the last line in the preceding block and adjusts the selection
37281        top to avoid overlap with that line’s selection bottom.
37282        * rendering/RootInlineBox.h:
37283        (WebCore::RootInlineBox::selectionHeightAdjustedForPrecedingBlock): Added. Like
37284        selectionHeight(), but uses selectionTopAdjustedForPrecedingBlock().
37285
372862012-04-20  Xianzhu Wang  <wangxianzhu@chromium.org>
37287
37288        Crash in getOrDrawNodeHighlight after r114659
37289        https://bugs.webkit.org/show_bug.cgi?id=84486
37290
37291        Reviewed by Daniel Bates.
37292
37293        No new tests. Fixes a crash in test: inspector/elements/elements-panel-selection-on-refresh.html.
37294
37295        * inspector/DOMNodeHighlighter.cpp:
37296
372972012-04-20  Brady Eidson  <beidson@apple.com>
37298
37299        https://bugs.webkit.org/show_bug.cgi?id=84490
37300        PageGroupLoadDeferrer needs to take a ReasonForSuspension argument
37301
37302        Reviewed by Anders Carlsson.
37303
37304        No new tests. (Refactor, no change in behavior)
37305
37306        - Make PageGroupLoadDeferrer take a ReasonForSuspension argument so it can pass it along.
37307        * page/PageGroupLoadDeferrer.cpp:
37308        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
37309        * page/PageGroupLoadDeferrer.h:
37310
37311        - Change suspendScheduledTasks to take a ReasonForSuspension.
37312        - As long as we're changing Document.h, add a m_suspendedScheduledTasks flag and some
37313          ASSERTs to catch what would be epically wrong behavior in the future.
37314        * dom/Document.cpp:
37315        (WebCore::Document::Document):
37316        (WebCore::Document::suspendScheduledTasks):
37317        (WebCore::Document::resumeScheduledTasks):
37318        * dom/Document.h:
37319
37320        - Pass ActiveDOMObject::WillShowDialog along to all PageGroupLoadDeferrers, as it used
37321          to be the default behavior
37322        * page/Chrome.cpp:
37323        (WebCore::Chrome::runModal):
37324        (WebCore::Chrome::runBeforeUnloadConfirmPanel):
37325        (WebCore::Chrome::runJavaScriptAlert):
37326        (WebCore::Chrome::runJavaScriptConfirm):
37327        (WebCore::Chrome::runJavaScriptPrompt):
37328        (WebCore::Chrome::shouldInterruptJavaScript):
37329
373302012-04-20  Anders Carlsson  <andersca@apple.com>
37331
37332        Scrolling after going to a find-in-page result jumps to the top of the page
37333        https://bugs.webkit.org/show_bug.cgi?id=84485
37334        <rdar://problem/11273734>
37335
37336        Reviewed by Beth Dakin.
37337
37338        If we're both updating the requested scroll position and entering slow mode in the same commit, the
37339        probable main thread scroll position should be the requested scroll position.
37340
37341        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
37342        (WebCore::ScrollingTreeNodeMac::update):
37343
373442012-04-20  James Robinson  <jamesr@chromium.org>
37345
37346        Avoid synchronously recalculating the nonFastScrollableRegion when the ScrollableArea set changes
37347        https://bugs.webkit.org/show_bug.cgi?id=84470
37348
37349        Reviewed by Anders Carlsson.
37350
37351        When a scrollable area is added or removed, we shouldn't recalculate the nonFastScrollableRegion synchronously
37352        since this is slow, the RenderObject tree might not be in an up-to-date state, and we'll typically do layout
37353        soon anyway.
37354
37355        * page/FrameView.cpp:
37356        (WebCore::FrameView::addScrollableArea):
37357        (WebCore::FrameView::removeScrollableArea):
37358        * page/scrolling/ScrollingCoordinator.cpp:
37359        * page/scrolling/ScrollingCoordinator.h:
37360        (ScrollingCoordinator):
37361
373622012-04-20  Emil A Eklund  <eae@chromium.org>
37363
37364        Fix use of LayoutUnits in DOMNodeHighlighter
37365        https://bugs.webkit.org/show_bug.cgi?id=84472
37366
37367        Reviewed by Eric Seidel.
37368
37369        Fix use of subpixel units and rounding in new code introduced in r114659.
37370
37371        No new tests, no change in functionality.
37372
37373        * inspector/DOMNodeHighlighter.cpp:
37374
373752012-04-17  Antonio Gomes  <agomes@rim.com>
37376
37377        Relax ScrollView::adjustScrollPositionWithinRange in case constrainsScrollingToContentEdge is false
37378        https://bugs.webkit.org/show_bug.cgi?id=84178
37379
37380        Reviewed by Adam Treat.
37381
37382        No new tests since it is not easily testable.
37383
37384        When a port has both delegatesScrolling and constrainsScrollingToContentEdge set to FALSE
37385        (i.e. it accepts overscrolled position), calling ScrollView::setScrollPosition with an overscrolled
37386        position still gets the position clamped to the content size edges.
37387
37388        Patch relaxes ::adjustScrollPositionWithinRange in that sense in order to track the actual scroll
37389        position.
37390
37391        Note: ScrollView::setScrollOffset already does something similar.
37392
37393        * platform/ScrollView.cpp:
37394        (WebCore::ScrollView::adjustScrollPositionWithinRange):
37395
373962012-04-20  Sheriff Bot  <webkit.review.bot@gmail.com>
37397
37398        Unreviewed, rolling out r114535.
37399        http://trac.webkit.org/changeset/114535
37400        https://bugs.webkit.org/show_bug.cgi?id=84475
37401
37402        It might have caused V8 crashes. (Requested by pfeldman_ on
37403        #webkit).
37404
37405        * bindings/v8/V8IsolatedContext.cpp:
37406        (WebCore::V8IsolatedContext::V8IsolatedContext):
37407        * bindings/v8/V8Proxy.cpp:
37408        (WebCore::V8Proxy::evaluateInIsolatedWorld):
37409        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
37410        (WebCore):
37411        * bindings/v8/V8Proxy.h:
37412        (V8Proxy):
37413
374142012-04-20  Dean Jackson  <dino@apple.com>
37415
37416        -webkit-filter missing from computed style enumeration
37417        https://bugs.webkit.org/show_bug.cgi?id=84468
37418
37419        Reviewed by Timothy Hatcher.
37420        
37421        CSSComputedStyleDeclaration has a list of properties that it exposes.
37422        While the computed style for filter was available, the property wasn't
37423        listed and hence missing in clients like the Web Inspector.
37424
37425        Covered by existing tests.
37426
37427        * css/CSSComputedStyleDeclaration.cpp:
37428        (WebCore): add CSSPropertyWebkitFilter
37429
374302012-04-20  Emil A Eklund  <eae@chromium.org>
37431
37432        [win] Update windows platform code to use pixel snapped values
37433        https://bugs.webkit.org/show_bug.cgi?id=84283
37434
37435        Reviewed by Eric Seidel.
37436
37437        No new tests, no change in functionality.
37438
37439        * accessibility/AccessibilityObject.h:
37440        (WebCore::AccessibilityObject::pixelSnappedElementRect):
37441        Use pixel snapped values when computing screenRect.
37442        
37443        * platform/win/PopupMenuWin.cpp:
37444        (WebCore::PopupMenuWin::calculatePositionAndSize):
37445        (WebCore::PopupMenuWin::paint):
37446        Cast client padding to ints as they are guaranteed to align with device pixels.
37447
374482012-04-20  Dana Jansens  <danakj@chromium.org>
37449
37450        [chromium] Some filters require inflating damage rect in CCDamageTracker
37451        https://bugs.webkit.org/show_bug.cgi?id=84373
37452
37453        Reviewed by James Robinson.
37454
37455        When a layer is blurred, damaged pixels are blurred out into a radius
37456        and their damage should be expanded to include total blurred region.
37457
37458        Unit test: CCDamageTrackerTest.verifyDamageForBlurredSurface
37459
37460        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
37461        (WebCore::CCDamageTracker::updateDamageTrackingState):
37462        (WebCore::CCDamageTracker::expandDamageRectWithForegroundFilters):
37463        (WebCore):
37464        * platform/graphics/chromium/cc/CCDamageTracker.h:
37465        (WebCore):
37466        (CCDamageTracker):
37467        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
37468        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
37469
374702012-04-20  Sami Kyostila  <skyostil@chromium.org>
37471
37472        [chromium] Don't crash when scrolling empty layer tree
37473        https://bugs.webkit.org/show_bug.cgi?id=84455
37474
37475        Reviewed by James Robinson.
37476
37477        Do not try to calculate render passes when there are no layers in the
37478        layer tree.
37479
37480        Added new unit test.
37481
37482        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
37483        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
37484
374852012-04-20  Victor Carbune  <vcarbune@adobe.com>
37486
37487        Ensure text is centered for default captions
37488        https://bugs.webkit.org/show_bug.cgi?id=84450
37489
37490        Reviewed by Eric Carlson.
37491
37492        Updated existing test.
37493
37494        * html/track/TextTrackCue.cpp:
37495        (WebCore::TextTrackCue::getDisplayTree): Added default width.
37496
374972012-04-20  Pavel Feldman  <pfeldman@chromium.org>
37498
37499        Web Inspector: open file dialog is not centered.
37500        https://bugs.webkit.org/show_bug.cgi?id=84464
37501
37502        Reviewed by Yury Semikhatsky.
37503
37504        There was an error in the positioning logic.
37505
37506        * inspector/front-end/FilteredItemSelectionDialog.js:
37507        (WebInspector.FilteredItemSelectionDialog.prototype.position):
37508
375092012-04-20  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
37510
37511        [Qt] PlatformMouseEventQt.cpp should be deleted.
37512        https://bugs.webkit.org/show_bug.cgi?id=84437
37513
37514        Reviewed by Kenneth Rohde Christiansen.
37515
37516        * platform/qt/PlatformMouseEventQt.cpp: Removed.
37517
375182012-04-20  Pavel Feldman  <pfeldman@chromium.org>
37519
37520        Web Inspector: follow up to r114729: more @return annotations added.
37521        https://bugs.webkit.org/show_bug.cgi?id=84447
37522
37523        Reviewed by Yury Semikhatsky.
37524
37525        * inspector/front-end/Resource.js:
37526        (WebInspector.Resource):
37527        (WebInspector.ResourceRevision.prototype.get content):
37528        * inspector/front-end/ResourceTreeModel.js:
37529        (WebInspector.ResourceTreeFrame.prototype._addRequest):
37530        * inspector/front-end/ResourceUtils.js:
37531        (String.prototype.asParsedURL):
37532
375332012-04-20  Pavel Feldman  <pfeldman@chromium.org>
37534
37535        Web Inspector: migrate from ScriptsNavigator to NavigatorView in the Styles panel
37536        https://bugs.webkit.org/show_bug.cgi?id=84459
37537
37538        Reviewed by Yury Semikhatsky.
37539
37540        Now that NavigatorView has all the functionality we need, we can use it.
37541
37542        * inspector/front-end/NavigatorView.js:
37543        (WebInspector.NavigatorScriptTreeElement.prototype.ondblclick):
37544        * inspector/front-end/ScriptsNavigator.js:
37545        (WebInspector.ScriptsNavigator):
37546        * inspector/front-end/StylesPanel.js:
37547        (WebInspector.StylesPanel):
37548        (WebInspector.StylesPanel.prototype._resourceAdded):
37549        (WebInspector.StylesPanel.prototype._reset):
37550        (WebInspector.StylesPanel.prototype._itemSelected):
37551        (WebInspector.StylesPanel.prototype._showFile):
37552        * inspector/front-end/navigatorView.css:
37553        (.navigator-tabbed-pane .tabbed-pane-content):
37554        (.navigator-tabbed-pane .navigator-container):
37555        (.navigator-tabbed-pane .navigator):
37556        (.navigator-tabbed-pane .tabbed-pane-header):
37557        (.navigator-tabbed-pane .tabbed-pane-header-contents):
37558        * inspector/front-end/scriptsPanel.css:
37559
375602012-04-20  Sam D  <dsam2912@gmail.com>
37561
37562        Web Inspector: Does not have search navigation button for going through matches in either direction (prev, next)
37563        https://bugs.webkit.org/show_bug.cgi?id=84235
37564
37565        Added buttons for navigating on seiarch matches in inspector panel
37566        through button clicks as well. 
37567
37568        Reviewed by Pavel Feldman.
37569
37570        No new tests / ux enhanced for search functionality
37571
37572        * English.lproj/localizedStrings.js:
37573        * WebCore.gypi:
37574        * inspector/front-end/Images/searchNext.png: Added.
37575        * inspector/front-end/Images/searchPrev.png: Added.
37576        * inspector/front-end/SearchController.js:
37577        (WebInspector.SearchController):
37578        (WebInspector.SearchController.prototype._updateSearchNavigationButtonState):
37579        (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
37580        (WebInspector.SearchController.prototype._onNextButtonSearch):
37581        (WebInspector.SearchController.prototype._onPrevButtonSearch):
37582        (WebInspector.SearchController.prototype._performSearch):
37583        (WebInspector.SearchController.prototype._createSearchNavigationButton):
37584        (WebInspector.SearchController.prototype._populateSearchNavigationButtons):
37585        * inspector/front-end/WebKit.qrc:
37586        * inspector/front-end/inspector.css:
37587        (.toolbar-search-item):
37588        (#search):
37589        (#toolbar-search-navigation-control):
37590        (.toolbar-search-navigation-label):
37591        (.toolbar-search-navigation-label:hover):
37592        (.toolbar-search-navigation-icon-prev , .toolbar-search-navigation-icon-next):
37593        (.toolbar-search-navigation-icon-prev):
37594        (.toolbar-search-navigation-icon-next):
37595        * inspector/front-end/inspector.html:
37596
375972012-04-20  Pavel Feldman  <pfeldman@chromium.org>
37598
37599        Web Inspector: extract NavigatorView and NavigatorOverlayController from ScriptsNavigator.
37600        https://bugs.webkit.org/show_bug.cgi?id=84441
37601
37602        Reviewed by Yury Semikhatsky.
37603
37604        - Moves NavigatorOverlayController out of ScriptsNavigator
37605        - Extracts NavigatorView from ScriptsNavigator and makes ScriptsNavigator contain 3 NavigatorView instances (one per tab)
37606        - Subclasses SnippetsNavigatorView and leaves it within ScriptsNavigator.
37607
37608        * WebCore.gypi:
37609        * WebCore.vcproj/WebCore.vcproj:
37610        * inspector/compile-front-end.py:
37611        * inspector/front-end/NavigatorOverlayController.js: Added.
37612        (WebInspector.NavigatorOverlayController.prototype.wasShown):
37613        (WebInspector.NavigatorOverlayController.prototype._createNavigatorControlButton):
37614        (WebInspector.NavigatorOverlayController.prototype._escDownWhileNavigatorOverlayOpen):
37615        (WebInspector.NavigatorOverlayController.prototype._toggleNavigator):
37616        (WebInspector.NavigatorOverlayController.prototype._hidePinnedNavigator):
37617        (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
37618        (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
37619        (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
37620        (WebInspector.NavigatorOverlayController.prototype._navigatorOverlayWasShown):
37621        * inspector/front-end/NavigatorView.js: Added.
37622        (WebInspector.NavigatorView):
37623        (WebInspector.NavigatorView.prototype._updateScriptTitle.get if):
37624        (WebInspector.NavigatorView.prototype._updateScriptTitle):
37625        (WebInspector.NavigatorView.prototype._scriptSelected):
37626        (WebInspector.NavigatorView.prototype._removeUISourceCode.get while):
37627        (WebInspector.NavigatorView.prototype._removeUISourceCode):
37628        (WebInspector.NavigatorView.prototype._showScriptFoldersSettingChanged):
37629        (WebInspector.NavigatorView.prototype._fileRenamed):
37630        (WebInspector.NavigatorView.prototype.rename.commitHandler):
37631        (WebInspector.NavigatorView.prototype.rename.cancelHandler):
37632        (WebInspector.NavigatorView.prototype.rename.afterEditing):
37633        (WebInspector.NavigatorView.prototype.reset):
37634        (WebInspector.NavigatorView.prototype.createFolderTreeElement):
37635        (WebInspector.NavigatorView.prototype.getOrCreateFolderTreeElement):
37636        (WebInspector.NavigatorView.prototype.handleContextMenu):
37637        (WebInspector.NavigatorTreeOutline):
37638        (WebInspector.NavigatorTreeOutline._treeElementsCompare.compare.typeWeight):
37639        (WebInspector.NavigatorTreeOutline._treeElementsCompare):
37640        (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
37641        (WebInspector.NavigatorTreeOutline.prototype.searchStarted):
37642        (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
37643        (WebInspector.BaseNavigatorTreeElement):
37644        (WebInspector.BaseNavigatorTreeElement.prototype.onattach):
37645        (WebInspector.BaseNavigatorTreeElement.prototype.onreveal):
37646        (WebInspector.BaseNavigatorTreeElement.prototype.get titleText):
37647        (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
37648        (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
37649        (WebInspector.NavigatorFolderTreeElement):
37650        (WebInspector.NavigatorFolderTreeElement.prototype.get folderIdentifier):
37651        (WebInspector.NavigatorFolderTreeElement.prototype.get isDomain):
37652        (WebInspector.NavigatorFolderTreeElement.prototype.onattach):
37653        (WebInspector.NavigatorScriptTreeElement):
37654        (WebInspector.NavigatorScriptTreeElement.prototype.get uiSourceCode):
37655        (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
37656        (WebInspector.NavigatorScriptTreeElement.prototype.onspace):
37657        (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
37658        (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
37659        (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):
37660        * inspector/front-end/ScriptsNavigator.js:
37661        (WebInspector.ScriptsNavigator):
37662        (WebInspector.ScriptsNavigator.prototype.addUISourceCode):
37663        (WebInspector.ScriptsNavigator.prototype.isScriptSourceAdded):
37664        (WebInspector.ScriptsNavigator.prototype.revealUISourceCode):
37665        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
37666        (WebInspector.ScriptsNavigator.prototype._scriptSelected):
37667        (WebInspector.ScriptsNavigator.prototype.reset):
37668        (WebInspector.SnippetsNavigatorView):
37669        (WebInspector.SnippetsNavigatorView.prototype.getOrCreateFolderTreeElement):
37670        (WebInspector.SnippetsNavigatorView.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
37671        (WebInspector.SnippetsNavigatorView.prototype.handleContextMenu):
37672        (WebInspector.SnippetsNavigatorView.prototype._fileRenamed):
37673        * inspector/front-end/WebKit.qrc:
37674        * inspector/front-end/inspector.html:
37675        * inspector/front-end/navigatorView.css: Added.
37676        (.navigator-domain-tree-item .icon):
37677        (.navigator-folder-tree-item .icon):
37678        (.navigator-script-tree-item .icon):
37679        (.navigator li):
37680        (.navigator :focus li.selected):
37681        (.navigator li.selected .selection):
37682        (.navigator :focus li.selected .selection):
37683        (.navigator .search-match-found li.selected .selection):
37684        (.navigator .search-match-not-found li.selected .selection):
37685        (.navigator .searching li.selected .selection):
37686        (.navigator .icon):
37687        (.navigator .base-navigator-tree-element-title):
37688        (.navigator .base-navigator-tree-element-title.editing):
37689        (.navigator-tree-search-box):
37690        (.navigator-tree-search-box.visible):
37691        (.navigator-tree-search-box > input):
37692        * inspector/front-end/scriptsPanel.css:
37693
376942012-04-19  Pavel Feldman  <pfeldman@chromium.org>
37695
37696        Web Inspector: make ScriptNavigatorController use views only, rename to NavigatorOverlayController.
37697        https://bugs.webkit.org/show_bug.cgi?id=84352
37698
37699        Reviewed by Vsevolod Vlasov.
37700
37701        This change makes navigator controller use view interfaces only. Focus machinery has been refactored in order
37702        to make it possible: now all view ancestors can either override "focus" or "defaultFocusedElement" method
37703        with latter method being preferred.
37704
37705        * inspector/front-end/ElementsPanel.js:
37706        (WebInspector.ElementsPanel.prototype.defaultFocusedElement):
37707        * inspector/front-end/ExtensionPanel.js:
37708        (WebInspector.ExtensionPanel.prototype.defaultFocusedElement):
37709        * inspector/front-end/Panel.js:
37710        (WebInspector.Panel.prototype.wasShown):
37711        (WebInspector.Panel.prototype.defaultFocusedElement):
37712        * inspector/front-end/ScriptsNavigator.js:
37713        (WebInspector.ScriptsNavigator):
37714        (WebInspector.NavigatorOverlayController.prototype._hidePinnedNavigator):
37715        (WebInspector.NavigatorOverlayController.prototype.set _pinNavigator):
37716        (WebInspector.NavigatorOverlayController.prototype.set showNavigatorOverlay):
37717        (WebInspector.NavigatorOverlayController.prototype.hideNavigatorOverlay):
37718        (WebInspector.NavigatorOverlayController.prototype._navigatorOverlayWasShown):
37719        * inspector/front-end/ScriptsPanel.js:
37720        (WebInspector.ScriptsPanel.prototype.defaultFocusedElement):
37721        * inspector/front-end/SidebarOverlay.js:
37722        (WebInspector.SidebarOverlay.prototype.show):
37723        (WebInspector.SidebarOverlay.prototype.hide):
37724        * inspector/front-end/SourceFrame.js:
37725        (WebInspector.SourceFrame.prototype.defaultFocusedElement):
37726        * inspector/front-end/StylesPanel.js:
37727        (WebInspector.StylesPanel):
37728        * inspector/front-end/TabbedEditorContainer.js:
37729        (WebInspector.TabbedEditorContainer.prototype.get view):
37730        (WebInspector.TabbedEditorContainer.prototype.get visibleView):
37731        * inspector/front-end/TabbedPane.js:
37732        (WebInspector.TabbedPane):
37733        (WebInspector.TabbedPane.prototype.defaultFocusedElement):
37734        * inspector/front-end/TextViewer.js:
37735        (WebInspector.TextViewer.prototype.defaultFocusedElement):
37736        (WebInspector.TextEditorMainPanel.prototype.defaultFocusedElement):
37737        * inspector/front-end/TimelinePanel.js:
37738        (WebInspector.TimelinePanel.prototype.defaultFocusedElement):
37739        * inspector/front-end/View.js:
37740        (WebInspector.View.prototype._collectViewHierarchy):
37741        (WebInspector.View.prototype.defaultFocusedElement):
37742        (WebInspector.View.prototype.setDefaultFocusedElement):
37743        (WebInspector.View.prototype.focus):
37744
377452012-04-20  Sergio Villar Senin  <svillar@igalia.com>
37746
37747        [GTK] Enable Web Timing
37748        https://bugs.webkit.org/show_bug.cgi?id=42432
37749
37750        Reviewed by Gustavo Noronha Silva.
37751
37752        Added WebTiming support to the GTK+ port. WebTiming allows
37753        developers to collect detailed network timing information per
37754        resource. It requires the new SoupMessage's "network-event"
37755        signal.
37756
37757        * GNUmakefile.am:
37758        * bindings/gobject/GNUmakefile.am:
37759        * platform/network/soup/ResourceHandleSoup.cpp:
37760        (WebCore):
37761        (WebCore::restartedCallback):
37762        (WebCore::sendRequestCallback):
37763        (WebCore::milisecondsSinceRequest):
37764        (WebCore::wroteBodyCallback):
37765        (WebCore::requestStartedCallback):
37766        (WebCore::networkEventCallback):
37767        (WebCore::startHTTPRequest):
37768        (WebCore::ResourceHandle::platformSetDefersLoading):
37769        (WebCore::ResourceHandle::defaultSession):
37770
377712012-04-20  'Pavel Feldman'  <pfeldman@chromium.org>
37772
37773        Not reviewed: fixed chromium sanity tests for inspector via assigning last path component
37774        to entire url for parsed urls with invalid specs.
37775
37776        * inspector/front-end/ResourceUtils.js:
37777        (WebInspector.ParsedURL):
37778
377792012-04-20  Kentaro Hara  <haraken@chromium.org>
37780
37781        Unreviewed, rolling out r114401.
37782        http://trac.webkit.org/changeset/114401
37783        https://bugs.webkit.org/show_bug.cgi?id=84161
37784
37785        Chromium crash
37786
37787        * bindings/scripts/CodeGeneratorV8.pm:
37788        (GenerateHeader):
37789        (NativeToJSValue):
37790        * bindings/scripts/test/V8/V8Float64Array.h:
37791        (WebCore):
37792        (WebCore::toV8):
37793        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
37794        (WebCore::toV8):
37795        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
37796        (WebCore::toV8):
37797        * bindings/scripts/test/V8/V8TestEventConstructor.h:
37798        (WebCore::toV8):
37799        * bindings/scripts/test/V8/V8TestEventTarget.h:
37800        (WebCore::toV8):
37801        * bindings/scripts/test/V8/V8TestInterface.h:
37802        (WebCore::toV8):
37803        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
37804        (WebCore::toV8):
37805        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
37806        (WebCore::toV8):
37807        * bindings/scripts/test/V8/V8TestNode.h:
37808        (WebCore::toV8):
37809        * bindings/scripts/test/V8/V8TestObj.h:
37810        (WebCore::toV8):
37811        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
37812        (WebCore::toV8):
37813        * bindings/v8/custom/V8BlobCustom.cpp:
37814        (WebCore::toV8):
37815        * bindings/v8/custom/V8CSSRuleCustom.cpp:
37816        (WebCore::toV8):
37817        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
37818        (WebCore::toV8):
37819        * bindings/v8/custom/V8CSSValueCustom.cpp:
37820        (WebCore::toV8):
37821        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
37822        (WebCore::toV8):
37823        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
37824        (WebCore::toV8):
37825        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
37826        (WebCore::toV8):
37827        * bindings/v8/custom/V8DOMWindowCustom.cpp:
37828        (WebCore::toV8):
37829        * bindings/v8/custom/V8DataViewCustom.cpp:
37830        (WebCore::toV8):
37831        * bindings/v8/custom/V8DocumentCustom.cpp:
37832        (WebCore::toV8):
37833        * bindings/v8/custom/V8EntryCustom.cpp:
37834        (WebCore::toV8):
37835        * bindings/v8/custom/V8EntrySyncCustom.cpp:
37836        (WebCore::toV8):
37837        * bindings/v8/custom/V8EventCustom.cpp:
37838        (WebCore::toV8):
37839        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
37840        (WebCore::toV8):
37841        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
37842        (WebCore::toV8):
37843        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
37844        (WebCore::toV8):
37845        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
37846        (WebCore::toV8):
37847        * bindings/v8/custom/V8HTMLElementCustom.cpp:
37848        (WebCore::toV8):
37849        * bindings/v8/custom/V8IDBAnyCustom.cpp:
37850        (WebCore::toV8):
37851        * bindings/v8/custom/V8IDBKeyCustom.cpp:
37852        (WebCore::toV8):
37853        * bindings/v8/custom/V8ImageDataCustom.cpp:
37854        (WebCore::toV8):
37855        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
37856        (WebCore::toV8):
37857        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
37858        (WebCore::toV8):
37859        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
37860        (WebCore::toV8):
37861        * bindings/v8/custom/V8LocationCustom.cpp:
37862        (WebCore::toV8):
37863        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
37864        (WebCore::toV8):
37865        * bindings/v8/custom/V8NodeCustom.cpp:
37866        (WebCore::toV8Slow):
37867        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
37868        (WebCore::toV8):
37869        * bindings/v8/custom/V8SVGElementCustom.cpp:
37870        (WebCore::toV8):
37871        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
37872        (WebCore::toV8):
37873        * bindings/v8/custom/V8ScriptProfileCustom.cpp:
37874        (WebCore::toV8):
37875        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
37876        (WebCore::toV8):
37877        * bindings/v8/custom/V8StyleSheetCustom.cpp:
37878        (WebCore::toV8):
37879        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
37880        (WebCore::toV8):
37881        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
37882        (WebCore::toV8):
37883        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
37884        (WebCore::toV8):
37885        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
37886        (WebCore::toV8):
37887        * bindings/v8/custom/V8WorkerContextCustom.cpp:
37888        (WebCore::toV8):
37889
378902012-04-20  Kentaro Hara  <haraken@chromium.org>
37891
37892        Unreviewed, rolling out r114440.
37893        http://trac.webkit.org/changeset/114440
37894        https://bugs.webkit.org/show_bug.cgi?id=84173
37895
37896        Chromium crash
37897
37898        * bindings/scripts/CodeGeneratorV8.pm:
37899        (GenerateHeader):
37900        * bindings/v8/custom/V8NodeCustom.cpp:
37901        (WebCore::toV8Slow):
37902
379032012-04-20  Kentaro Hara  <haraken@chromium.org>
37904
37905        Unreviewed, rolling out r114519.
37906        http://trac.webkit.org/changeset/114519
37907        https://bugs.webkit.org/show_bug.cgi?id=84202
37908
37909        Chromium crash
37910
37911        * bindings/scripts/CodeGeneratorV8.pm:
37912        (GenerateHeader):
37913        * bindings/scripts/test/V8/V8Float64Array.h:
37914        (V8Float64Array):
37915        (WebCore::V8Float64Array::wrap):
37916        (WebCore):
37917        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
37918        (V8TestActiveDOMObject):
37919        (WebCore::V8TestActiveDOMObject::wrap):
37920        (WebCore::toV8):
37921        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
37922        (V8TestCustomNamedGetter):
37923        (WebCore::V8TestCustomNamedGetter::wrap):
37924        (WebCore::toV8):
37925        * bindings/scripts/test/V8/V8TestEventConstructor.h:
37926        (V8TestEventConstructor):
37927        (WebCore::V8TestEventConstructor::wrap):
37928        (WebCore::toV8):
37929        * bindings/scripts/test/V8/V8TestEventTarget.h:
37930        (V8TestEventTarget):
37931        (WebCore::V8TestEventTarget::wrap):
37932        (WebCore::toV8):
37933        * bindings/scripts/test/V8/V8TestInterface.h:
37934        (V8TestInterface):
37935        (WebCore::V8TestInterface::wrap):
37936        (WebCore::toV8):
37937        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
37938        (V8TestMediaQueryListListener):
37939        (WebCore::V8TestMediaQueryListListener::wrap):
37940        (WebCore::toV8):
37941        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
37942        (V8TestNamedConstructor):
37943        (WebCore::V8TestNamedConstructor::wrap):
37944        (WebCore::toV8):
37945        * bindings/scripts/test/V8/V8TestNode.h:
37946        (V8TestNode):
37947        (WebCore::V8TestNode::wrap):
37948        (WebCore::toV8):
37949        * bindings/scripts/test/V8/V8TestObj.h:
37950        (V8TestObj):
37951        (WebCore::V8TestObj::wrap):
37952        (WebCore::toV8):
37953        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
37954        (V8TestSerializedScriptValueInterface):
37955        (WebCore::V8TestSerializedScriptValueInterface::wrap):
37956        (WebCore::toV8):
37957        * bindings/v8/custom/V8DocumentCustom.cpp:
37958        (WebCore::toV8):
37959        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
37960        (WebCore::toV8):
37961        * bindings/v8/custom/V8NodeCustom.cpp:
37962        (WebCore::toV8Slow):
37963        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
37964        (WebCore::toV8):
37965        * dom/make_names.pl:
37966        (printWrapperFactoryCppFile):
37967
379682012-04-19  Pavel Feldman  <pfeldman@chromium.org>
37969
37970        Web Inspector: replace @type annotation with @return annotation for getters
37971        https://bugs.webkit.org/show_bug.cgi?id=84362
37972
37973        Reviewed by Yury Semikhatsky.
37974
37975        Otherwise, compiler does not check for errors.
37976
37977        * inspector/front-end/AdvancedSearchController.js:
37978        (WebInspector.SearchView.prototype.get searchConfig):
37979        * inspector/front-end/BreakpointManager.js:
37980        * inspector/front-end/NetworkRequest.js:
37981        (WebInspector.NetworkRequest.prototype.requestContent):
37982        * inspector/front-end/ResourceTreeModel.js:
37983        (WebInspector.ResourceTreeFrame):
37984        (WebInspector.ResourceTreeFrame.prototype._navigate):
37985        * inspector/front-end/ScriptsNavigator.js:
37986        * inspector/front-end/Settings.js:
37987        * inspector/front-end/SnippetsModel.js:
37988        * inspector/front-end/SplitView.js:
37989        * inspector/front-end/TabbedEditorContainer.js:
37990        * inspector/front-end/TabbedPane.js:
37991        (WebInspector.TabbedPaneTab):
37992        * inspector/front-end/TextEditorModel.js:
37993        * inspector/front-end/TimelinePresentationModel.js:
37994
379952012-04-20  Mark Pilgrim  <pilgrim@chromium.org>
37996
37997        [Chromium] Call cacheMetadata directly
37998        https://bugs.webkit.org/show_bug.cgi?id=84415
37999
38000        Reviewed by Kentaro Hara.
38001
38002        Part of a refactoring series. See tracking bug 82948.
38003
38004        * platform/chromium/PlatformSupport.h:
38005        (PlatformSupport):
38006        * platform/network/chromium/ResourceHandle.cpp:
38007        (WebCore::ResourceHandle::cacheMetadata):
38008
380092012-04-20  Mark Pilgrim  <pilgrim@chromium.org>
38010
38011        [Chromium] Call stopSharedTimer directly
38012        https://bugs.webkit.org/show_bug.cgi?id=84418
38013
38014        Reviewed by Kentaro Hara.
38015
38016        Part of a refactoring series. See tracking bug 82948.
38017
38018        * platform/chromium/PlatformSupport.h:
38019        (PlatformSupport):
38020        * platform/chromium/SharedTimerChromium.cpp:
38021        (WebCore::stopSharedTimer):
38022
380232012-04-20  Taiju Tsuiki  <tzik@chromium.org>
38024
38025        DOMFileSystem::scheduleCallback() crashes on file() call after reload.
38026        https://bugs.webkit.org/show_bug.cgi?id=76461
38027
38028        DOMFileSystem::scheduleCallback() is unavailable when the page in unloading, so we should
38029        avoid using it in callback.
38030
38031        Reviewed by David Levin.
38032
38033        Test: fast/filesystem/file-after-reload-crash.html
38034
38035        * Modules/filesystem/DOMFileSystem.cpp:
38036        (WebCore):
38037
380382012-04-19  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
38039
38040        [EFL] Missing keycode translation for space key
38041        https://bugs.webkit.org/show_bug.cgi?id=84153
38042
38043        Reviewed by Antonio Gomes.
38044
38045        Map space key to Unicode value in createKeyMap(), and also set
38046        correct keyname 'space' for space key in createWindowsKeyMap().
38047
38048        Tests: fast/html/details-keyboard-show-hide.html
38049               fast/forms/button-spacebar-click.html
38050
38051        * platform/efl/EflKeyboardUtilities.cpp:
38052        (WebCore::createKeyMap):
38053
380542012-04-19  Antaryami Pandia  <antaryami.pandia@motorola.com>
38055
38056        Inserting empty html moves caret.
38057        https://bugs.webkit.org/show_bug.cgi?id=71771
38058
38059        Reviewed by Ryosuke Niwa.
38060
38061        When we place the cursor in the middle of a text node and try to insert some text
38062        between, then we split text node. But in this case we have nothing to insert since
38063        the string to be inserted is empty. So the check for fragments should precedes the
38064        call to code block containing splitTextNode.
38065
38066        Test: editing/inserting/insert-empty-html.html
38067
38068        * editing/ReplaceSelectionCommand.cpp:
38069        (WebCore::ReplaceSelectionCommand::doApply):
38070
380712012-04-19  Tay Grigg  <tgrigg@rim.com>
38072
38073        [BlackBerry] Update HTTP connection per host limit in ResourceRequestBlackBerry
38074        https://bugs.webkit.org/show_bug.cgi?id=84380
38075
38076        Reviewed by George Staikos.
38077
38078        Reviewed Internally by: George Rizkalla, Lyon Chen
38079
38080        Set the limit on the http connection count per host to the default
38081        of 10000, queue the requests in the networking layer instead,
38082        this should increase parallelism at the WebKit layer to remove
38083        any potential bottlenecks.
38084
38085        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
38086        (WebCore::initializeMaximumHTTPConnectionCountPerHost):
38087
380882012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
38089
38090        Unreviewed, rolling out r114711.
38091        http://trac.webkit.org/changeset/114711
38092        https://bugs.webkit.org/show_bug.cgi?id=84412
38093
38094        Many tests crash in RenderObject::container() (Requested by
38095        dimich on #webkit).
38096
38097        * page/scrolling/ScrollingCoordinator.cpp:
38098        (WebCore::computeNonFastScrollableRegion):
38099        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
38100        (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):
38101
381022012-04-19  Anders Carlsson  <andersca@apple.com>
38103
38104        computeNonFastScrollableRegion needs to traverse the entire frame tree
38105        https://bugs.webkit.org/show_bug.cgi?id=84409
38106        <rdar://problem/11285741>
38107
38108        Reviewed by Dan Bernstein.
38109
38110        Now that scrollable areas won't be in the set of scrollable areas unless they are actually scrollable, we need to look for scrollable
38111        areas in the entire frame tree since there can be a scrollable frame that's a subframe of a non-scrollable frame for example.
38112
38113        * page/scrolling/ScrollingCoordinator.cpp:
38114        (WebCore::computeNonFastScrollableRegion):
38115        Traverse the entire frame tree looking for scrollable areas. Also, remove the scrollability checks because scrollable areas will only be
38116        in the set if they have scrollbars that are enabled.
38117
38118        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
38119        (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):
38120        computeNonFastScrollableRegion now takes the main frame.
38121
381222012-04-19  Anders Carlsson  <andersca@apple.com>
38123
38124        Focus ring on wikipedia gets blobs when you type
38125        https://bugs.webkit.org/show_bug.cgi?id=84407
38126        <rdar://problem/11011847>
38127
38128        Reviewed by Dan Bernstein.
38129
38130        Make it possible to override the focus ring visible rect from layer drawing code.
38131
38132        * platform/graphics/mac/WebLayer.mm:
38133        (drawLayerContents):
38134        Call ThemeMac::setFocusRingClipRect to set the focus ring clip rect while drawing.
38135
38136        * platform/mac/ThemeMac.h:
38137        * platform/mac/ThemeMac.mm:
38138        (-[WebCoreFlippedView _focusRingVisibleRect]):
38139        If there's an active focus ring visible rect, use it. Otherwise, fall back to the previous behavior
38140        and just return the view's visible rect.
38141
38142        (WebCore::ThemeMac::setFocusRingClipRect):
38143        Update the focus clip rect.
38144
381452012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
38146
38147        Unreviewed, rolling out r114690.
38148        http://trac.webkit.org/changeset/114690
38149        https://bugs.webkit.org/show_bug.cgi?id=84408
38150
38151        Broke GlueSerializeTest.BackwardsCompatibleTest in Chromium
38152        test_shell_tests (Requested by dimich on #webkit).
38153
38154        * history/HistoryItem.cpp:
38155        (WebCore::HistoryItem::HistoryItem):
38156        * loader/HistoryController.cpp:
38157        (WebCore::HistoryController::restoreScrollPositionAndViewState):
38158
381592012-04-19  Andreas Kling  <kling@webkit.org>
38160
38161        ElementAttributeData should be fast-malloc'd.
38162        <http://webkit.org/b/84405>
38163
38164        Reviewed by Antti Koivisto.
38165
38166        Sprinkle missing WTF_MAKE_FAST_ALLOCATED.
38167
38168        * dom/ElementAttributeData.h:
38169        (ElementAttributeData):
38170
381712012-04-19  David Barr  <davidbarr@chromium.org>
38172
38173        REGRESSION(r112177): Numbered list item rendered bulleted
38174        https://bugs.webkit.org/show_bug.cgi?id=84216
38175
38176        Reviewed by Ryosuke Niwa.
38177
38178        Shorthands that imply omitted values cannot be derived from
38179        an incomplete set of longhand rules.
38180
38181        No new tests; updated existing tests that should have caught this.
38182
38183        * css/CSSParser.cpp:
38184        (WebCore::CSSParser::parseTransformOriginShorthand):
38185        Set implicit initial for Z when omitted.
38186        * css/StylePropertySet.cpp:
38187        (WebCore::StylePropertySet::getShorthandValue):
38188
381892012-04-19  Peter Beverloo  <peter@chromium.org>
38190
38191        [Chromium] Don't compile FontCacheSkia for Android
38192        https://bugs.webkit.org/show_bug.cgi?id=84392
38193
38194        Reviewed by Kent Tamura.
38195
38196        Chromium for the Android platform uses its own FontCacheAndroid
38197        implementation. Compile errors show up when trying to build the
38198        content shell.
38199
38200        * WebCore.gyp/WebCore.gyp:
38201
382022012-04-19  Martin Robinson  <mrobinson@igalia.com>
38203
38204        [Cairo] Remove rgb24-hacks.txt and scale-removal.txt
38205        https://bugs.webkit.org/show_bug.cgi?id=83475
38206
38207        Reviewed by Daniel Bates.
38208
38209        No new tests. This does not change functionality.
38210
38211        Remove some obsolete patch files for Cairo that were used in some
38212        very old versions of Safari for Windows.
38213
38214        * platform/graphics/cairo/rgb24-hacks.txt: Removed.
38215        * platform/graphics/cairo/scale-removal.txt: Removed.
38216
382172012-04-19  Peter Beverloo  <peter@chromium.org>
38218
38219        Use sqrtf instead of sqrt in CanvasRenderingContext2D.cpp
38220        https://bugs.webkit.org/show_bug.cgi?id=84403
38221
38222        Reviewed by Andreas Kling.
38223
38224        r114679 broke Chromium Win and Android bots due to call
38225        ambiguity between a double and float argument.
38226
38227        * html/canvas/CanvasRenderingContext2D.cpp:
38228        (WebCore::CanvasRenderingContext2D::inflateStrokeRect):
38229
382302012-04-19  Alexandre Elias  <aelias@google.com>
38231
38232        Default to null value for HistoryItem::m_pageScaleFactor
38233        https://bugs.webkit.org/show_bug.cgi?id=84385
38234
38235        Reviewed by Nate Chapin.
38236
38237        Previously, HistoryItem::m_pageScaleFactor defaulted to a value
38238        of 1, making it impossible to determine whether this value was never
38239        set, or intentionally set to 1.  This patch introduces a default value
38240        of 0 and makes restoreScrollPositionAndViewState not touch the page
38241        scale factor if this value is still present at time of reload.
38242
38243        This is a no-op change for common navigation scenarios.  The
38244        motivation for this change is the corner case of syncing history items
38245        from a desktop browser to a mobile device.  In that case, we need a
38246        way to specify that the history item does not contain a
38247        pageScaleFactor so that the mobile device does not display the page
38248        overly zoomed in.
38249
38250        No new tests.
38251
38252        * history/HistoryItem.cpp:
38253        (WebCore::HistoryItem::HistoryItem):
38254        * loader/HistoryController.cpp:
38255        (WebCore::HistoryController::restoreScrollPositionAndViewState):
38256
382572012-04-19  Alexis Menard  <alexis.menard@openbossa.org>
38258
38259        Unreviewed Qt build warning fix.
38260
38261        The file editing/StringHelper.h does not exist.
38262
38263        * Target.pri:
38264
382652012-04-19  Daniel Bates  <dbates@webkit.org>
38266
38267        Remove empty directory Source/WebCore/webaudio
38268
38269        Changeset 111474 <http://trac.webkit.org/changeset/111474> moved all the files in
38270        Source/WebCore/webaudio to Source/WebCore/Modules/webaudio. We should remove the
38271        empty directory Source/WebCore/webaudio.
38272
38273        * webaudio: Removed.
38274
382752012-04-19  Pratik Solanki  <psolanki@apple.com>
38276
38277        Incorrect inter-caps in “ShouldSkipMetaData” etc.
38278        https://bugs.webkit.org/show_bug.cgi?id=72159
38279
38280        Reviewed by Dan Bernstein.
38281
38282        No new tests since no change in functionality.
38283
38284        * platform/graphics/ImageSource.h:
38285        * platform/graphics/cg/ImageSourceCG.cpp:
38286        (WebCore::imageSourceOptions):
38287        (WebCore::ImageSource::isSizeAvailable):
38288        (WebCore::ImageSource::frameSizeAtIndex):
38289        (WebCore::ImageSource::orientationAtIndex):
38290        (WebCore::ImageSource::getHotSpot):
38291        (WebCore::ImageSource::repetitionCount):
38292        (WebCore::ImageSource::createFrameAtIndex):
38293        (WebCore::ImageSource::frameDurationAtIndex):
38294
382952012-04-19  Huang Dongsung  <luxtella@company100.net>
38296
38297        Canvas more precisely makes the bounding rect for stroke rendering.
38298        https://bugs.webkit.org/show_bug.cgi?id=75792
38299
38300        Reviewed by Simon Fraser.
38301
38302        * html/canvas/CanvasRenderingContext2D.cpp:
38303        (WebCore::CanvasRenderingContext2D::stroke):
38304        (WebCore::CanvasRenderingContext2D::drawTextInternal):
38305        (WebCore::CanvasRenderingContext2D::inflateStrokeRect):
38306        (WebCore):
38307        * html/canvas/CanvasRenderingContext2D.h:
38308        (CanvasRenderingContext2D):
38309
383102012-04-19  Luke Macpherson  <macpherson@chromium.org>
38311
38312        Eliminate potential null pointer dereference in CSSStyleSelector::containsUncommonAttributeSelector().
38313        https://bugs.webkit.org/show_bug.cgi?id=84366
38314
38315        Reviewed by Kentaro Hara.
38316
38317        No new tests / code cleanup only.
38318
38319        * css/CSSStyleSelector.cpp:
38320        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
38321
383222012-04-19  Luke Macpherson  <macpherson@chromium.org>
38323
38324        Fix null-pointer dereference in ApplyPropertyZoom::applyValue().
38325        https://bugs.webkit.org/show_bug.cgi?id=84279
38326
38327        Reviewed by Simon Fraser.
38328
38329        Test: fast/css/zoom-on-unattached.html
38330
38331        * css/CSSStyleApplyProperty.cpp:
38332        (WebCore::ApplyPropertyZoom::applyValue):
38333
383342012-04-19  Luke Macpherson  <macpherson@chromium.org>
38335
38336        Clean up list iteration in MediaQueryExp constructor (avoid unnecessary calls to current()).
38337        https://bugs.webkit.org/show_bug.cgi?id=84369
38338
38339        Reviewed by Simon Fraser.
38340
38341        No new tests / code cleanup only.
38342
38343        * css/MediaQueryExp.cpp:
38344        (WebCore::MediaQueryExp::MediaQueryExp):
38345
383462012-04-19  Mark Pilgrim  <pilgrim@chromium.org>
38347
38348        [Chromium] Call signedPublicKeyAndChallengeString directly
38349        https://bugs.webkit.org/show_bug.cgi?id=84372
38350
38351        Reviewed by Kentaro Hara.
38352
38353        Part of a refactoring series. See tracking bug 82948.
38354
38355        * platform/chromium/PlatformSupport.h:
38356        (PlatformSupport):
38357        * platform/chromium/SSLKeyGeneratorChromium.cpp:
38358        (WebCore::signedPublicKeyAndChallengeString):
38359
383602012-04-19  Luke Macpherson  <macpherson@chromium.org>
38361
38362        Remove unnecessary assignment in CSSParser::parseCubicBezierTimingFunctionValue().
38363        https://bugs.webkit.org/show_bug.cgi?id=84368
38364
38365        Reviewed by Simon Fraser.
38366
38367        No new tests / code cleanup only.
38368
38369        * css/CSSParser.cpp:
38370        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
38371
383722012-04-19  Luke Macpherson  <macpherson@chromium.org>
38373
38374        Initialize all member variables in CSSImageSetValue's copy constructor.
38375        https://bugs.webkit.org/show_bug.cgi?id=84379
38376
38377        Reviewed by Simon Fraser.
38378
38379        No new tests / code cleanup only.
38380
38381        * css/CSSImageSetValue.cpp:
38382        (WebCore::CSSImageSetValue::CSSImageSetValue):
38383
383842012-04-19  Ken Buchanan  <kenrb@chromium.org>
38385
38386        Positioned children of ruby runs not handled correctly during layout
38387        https://bugs.webkit.org/show_bug.cgi?id=84157
38388
38389        Reviewed by Julien Chaffraix.
38390
38391        A positioned ruby text causes a problem because it is excluded from
38392        normal layout by its parent and instead gets layout from
38393        RenderRubyRun::layoutSpecialExcludedChild; however this means it gets
38394        skipped over during the loop in RenderBlock::layoutBlockChildren,
38395        which is where positioned RenderBlocks get added to the appropriate
38396        positioned object lists. As a result, a dirty positioned ruby text
38397        will not get layout again unless the RenderRubyRun also needs layout
38398        which is not guaranteed.
38399
38400        This patch disqualifies ruby text elements from being positioned.
38401        If it is necessary to support this in future, ruby text layout will
38402        have to be modified to ensure the renderers are added to the
38403        appropriate block lists.
38404
38405        * css/CSSStyleSelector.cpp:
38406        (WebCore::CSSStyleSelector::adjustRenderStyle):
38407        * rendering/RenderRubyRun.cpp:
38408        (WebCore::RenderRubyRun::rubyText):
38409
384102012-04-19  vsevik@chromium.org  <vsevik@chromium.org>
38411
38412        Web Inspector: No response body available for cached resource requests with error status codes.
38413        https://bugs.webkit.org/show_bug.cgi?id=84265
38414
38415        Reviewed by Pavel Feldman.
38416
38417        InspectorResourceAgent now saves failed subresource request response body in its cache.
38418        Saved data is shown on front-end.
38419
38420        Test: http/tests/inspector/network/network-image-404.html
38421
38422        * inspector/InspectorResourceAgent.cpp:
38423        (WebCore::isErrorStatusCode):
38424        (WebCore):
38425        (WebCore::InspectorResourceAgent::didReceiveData):
38426        * inspector/NetworkResourcesData.cpp:
38427        (WebCore::NetworkResourcesData::ResourceData::removeContent):
38428        (WebCore::NetworkResourcesData::ResourceData::purgeContent):
38429        (WebCore):
38430        (WebCore::NetworkResourcesData::responseReceived):
38431        (WebCore::NetworkResourcesData::setResourceContent):
38432        * inspector/NetworkResourcesData.h:
38433        (ResourceData):
38434        (WebCore::NetworkResourcesData::ResourceData::httpStatusCode):
38435        (WebCore::NetworkResourcesData::ResourceData::setHTTPStatusCode):
38436        * inspector/front-end/RequestView.js:
38437        (WebInspector.RequestView.hasTextContent):
38438
384392012-04-19  Yury Semikhatsky  <yurys@chromium.org>
38440
38441        Web Inspector / Heap snapshots: "Object's retaining tree" view doesn't get cleared when navigating between objects
38442        https://bugs.webkit.org/show_bug.cgi?id=84337
38443
38444        When DataGrid root node is reset, make sure all existing rows are removed.
38445
38446        Reviewed by Vsevolod Vlasov.
38447
38448        * inspector/front-end/DataGrid.js:
38449        (WebInspector.DataGrid.prototype.setRootNode):
38450
384512012-04-19  Beth Dakin  <bdakin@apple.com>
38452
38453        https://bugs.webkit.org/show_bug.cgi?id=80536
38454        REGRESSION: When Safari is not frontmost, pages should not get mouse moves or 
38455        hover
38456
38457        Reviewed by Adele Peterson.
38458
38459        This patch just adds some code back that was removed by 
38460        http://trac.webkit.org/changeset/102632 This particular code was unrelated to that 
38461        bug and should not have been removed.
38462        * page/EventHandler.cpp:
38463        (WebCore::EventHandler::handleMouseMoveEvent):
38464
384652012-04-19  Xianzhu Wang  <wangxianzhu@chromium.org>
38466
38467        DevTools highlights elements in frames at un-scaled positions
38468        https://bugs.webkit.org/show_bug.cgi?id=84181
38469
38470        On mobile platforms (e.g. chromium-android), normally pages are scaled,
38471        thus the coordinations of highlight rect inside of a frame needs to
38472        consider not only the offset, but also the scale. The change uses
38473        FrameView::contentsToRootView() to map the coordinates of a node in
38474        a frame to the coordinates in the main frame, instead of calculating
38475        by only the offset.
38476
38477        Reviewed by Pavel Feldman.
38478
38479        Test: inspector/elements/highlight-node-scaled.html
38480
38481        * inspector/DOMNodeHighlighter.cpp:
38482
384832012-04-19  Yury Semikhatsky  <yurys@chromium.org>
38484
38485        Web Inspector / Heap snapshots: "Objects allocated ..." views are empty
38486        https://bugs.webkit.org/show_bug.cgi?id=84347
38487
38488        Pass parsed maxJSObjectId value to the profile header constructor.
38489
38490        Reviewed by Pavel Feldman.
38491
38492        * inspector/front-end/ProfilesPanel.js:
38493        (WebInspector.ProfileHeader):
38494        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
38495        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
38496        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
38497
384982012-04-19  Brady Eidson  <beidson@apple.com>
38499
38500        <rdar://problem/10664148> and https://bugs.webkit.org/show_bug.cgi?id=84360 
38501        StorageThread should have an autorelease pool in place for Cocoa clients
38502        
38503        Reviewed by Eric Carlson.
38504
38505        No new tests. (Not practical to test this with current tools)
38506
38507        * storage/StorageThread.cpp:
38508        (WebCore::StorageThread::threadEntryPoint): Include an AutodrainedPool and cycle it after each message.
38509
385102012-04-19  Luke Macpherson  <macpherson@chromium.org>
38511
38512        Fix potential null pointer dereference in RuleSet::addRulesFromSheet().
38513        https://bugs.webkit.org/show_bug.cgi?id=84258
38514
38515        Reviewed by Andreas Kling.
38516
38517        Fix variable that is dereferenced without null check here, but checked in code above and below.
38518
38519        No new test / code cleanup from coverity analysis.
38520
38521        * css/CSSStyleSelector.cpp:
38522        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
38523
385242012-04-19  Yury Semikhatsky  <yurys@chromium.org>
38525
38526        Web Inspector: exception when hovering object while paused
38527        https://bugs.webkit.org/show_bug.cgi?id=84358
38528
38529        Added missing boolean parameter to the call site of evaluate method
38530        on call frame.
38531
38532        Reviewed by Vsevolod Vlasov.
38533
38534        * inspector/front-end/AdvancedSearchController.js:
38535        * inspector/front-end/DebuggerPresentationModel.js: annotated slectedCallFrame
38536        method so that closure compiler catches errors like in the bug report.
38537        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
38538        * inspector/front-end/JavaScriptSourceFrame.js:
38539        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
38540
385412012-04-19  Yury Semikhatsky  <yurys@chromium.org>
38542
38543        Web Inspector: nodes are not removed from the summary view when switching between allocation ranges
38544        https://bugs.webkit.org/show_bug.cgi?id=84354
38545
38546        Clear all top level nodes not only those visible in the viewport when populating
38547        the constructors view with new content.
38548
38549        Reviewed by Pavel Feldman.
38550
38551        * inspector/front-end/HeapSnapshotDataGrids.js:
38552        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
38553        (WebInspector.HeapSnapshotSortableDataGrid.prototype.topLevelNodes):
38554        (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
38555        (WebInspector.HeapSnapshotViewportDataGrid.prototype.topLevelNodes):
38556        (WebInspector.HeapSnapshotViewportDataGrid.prototype.removeTopLevelNodes):
38557        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
38558        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
38559
385602012-04-19  Sami Kyostila  <skyostil@chromium.org>
38561
38562        [chromium] Allow scrolling non-root layers in the compositor thread
38563        https://bugs.webkit.org/show_bug.cgi?id=73350
38564
38565        Reviewed by James Robinson.
38566
38567        This patch enables scrolling child layers in the compositor thread.
38568        Scroll deltas are accumulated for each scrolled CCLayerImpl and
38569        synchronized to the main thread.
38570
38571        If a layer has no room to scroll in a given direction, one of its
38572        ancestor layers is scrolled instead if possible.
38573
38574        Added new webkit_unit_tests to verify scrolling behavior.
38575
38576        * platform/graphics/chromium/ContentLayerChromium.cpp:
38577        (WebCore::ContentLayerChromium::scrollBy):
38578        (WebCore):
38579        * platform/graphics/chromium/ContentLayerChromium.h:
38580        (ContentLayerDelegate):
38581        (ContentLayerChromium):
38582        * platform/graphics/chromium/GraphicsLayerChromium.h:
38583        (WebCore::GraphicsLayerChromium::didScroll):
38584        * platform/graphics/chromium/LayerChromium.cpp:
38585        (WebCore::LayerChromium::setMaxScrollPosition):
38586        (WebCore):
38587        (WebCore::LayerChromium::pushPropertiesTo):
38588        * platform/graphics/chromium/LayerChromium.h:
38589        (LayerChromium):
38590        (WebCore::LayerChromium::maxScrollPosition):
38591        (WebCore::LayerChromium::scrollable):
38592        (WebCore::LayerChromium::scrollBy):
38593        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
38594        (WebCore::CCLayerImpl::findLayerInSubtree):
38595        (WebCore):
38596        (WebCore::CCLayerImpl::tryScroll):
38597        * platform/graphics/chromium/cc/CCLayerImpl.h:
38598        (CCLayerImpl):
38599        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
38600        (WebCore::findLayerById):
38601        (WebCore):
38602        (WebCore::findFirstScrollableLayer):
38603        (WebCore::CCLayerTreeHost::applyScrollAndScale):
38604        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
38605        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
38606        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
38607        (WebCore::CCLayerTreeHostImpl::contentSize):
38608        (WebCore):
38609        (WebCore::CCLayerTreeHostImpl::calculateVisibleLayers):
38610        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
38611        (WebCore::findRootScrollLayer):
38612        (WebCore::findScrollLayerForContentLayer):
38613        (WebCore::CCLayerTreeHostImpl::setRootLayer):
38614        (WebCore::adjustScrollsForPageScaleChange):
38615        (WebCore::applyPageScaleDeltaToScrollLayers):
38616        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
38617        (WebCore::CCLayerTreeHostImpl::setPageScaleDelta):
38618        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
38619        (WebCore::CCLayerTreeHostImpl::scrollBegin):
38620        (WebCore::CCLayerTreeHostImpl::scrollBy):
38621        (WebCore::CCLayerTreeHostImpl::scrollEnd):
38622        (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
38623        (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
38624        (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
38625        (WebCore::collectScrollDeltas):
38626        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
38627        (WebCore::CCLayerTreeHostImpl::animatePageScale):
38628        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
38629        (WebCore::CCLayerTreeHostImpl::rootScrollLayer):
38630        (CCLayerTreeHostImpl):
38631        (LayerGeometry):
38632
386332012-04-19  Yury Semikhatsky  <yurys@chromium.org>
38634
38635        Web Inspector: make constructors and diff heap snapshot data grids use viewport
38636        https://bugs.webkit.org/show_bug.cgi?id=84348
38637
38638        HeapSnapshotViewportDataGrid is introduced which allows to add to the tbody only
38639        visible rows. HeapSnapshotConstructorsDataGrid and HeapSnapshotDiffDataGrid are
38640        inherited from this class which makes them operate well on large amounts of nodes.
38641
38642        Reviewed by Pavel Feldman.
38643
38644        * inspector/front-end/DataGrid.js:
38645        (WebInspector.DataGridNode.prototype.nodeHeight):
38646        (WebInspector.DataGridNode.prototype._attach):
38647        * inspector/front-end/HeapSnapshotDataGrids.js:
38648        (WebInspector.HeapSnapshotSortableDataGrid):
38649        (WebInspector.HeapSnapshotSortableDataGrid.prototype.nodesForNameFilter):
38650        (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
38651        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
38652        (WebInspector.HeapSnapshotSortableDataGrid.prototype.appendChildAfterSorting):
38653        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
38654        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
38655        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
38656        (WebInspector.HeapSnapshotViewportDataGrid):
38657        (WebInspector.HeapSnapshotViewportDataGrid.prototype.nodesForNameFilter):
38658        (WebInspector.HeapSnapshotViewportDataGrid.prototype.appendChildAfterSorting):
38659        (WebInspector.HeapSnapshotViewportDataGrid.prototype.updateVisibleNodes):
38660        (WebInspector.HeapSnapshotViewportDataGrid.prototype.appendTopLevelNode):
38661        (WebInspector.HeapSnapshotViewportDataGrid.prototype._addPaddingRows):
38662        (WebInspector.HeapSnapshotViewportDataGrid.prototype._removePaddingRows):
38663        (WebInspector.HeapSnapshotViewportDataGrid.prototype.onResize):
38664        (WebInspector.HeapSnapshotViewportDataGrid.prototype._onScroll):
38665        (WebInspector.HeapSnapshotPaddingNode):
38666        (WebInspector.HeapSnapshotPaddingNode.prototype.setHeight):
38667        (WebInspector.HeapSnapshotPaddingNode.prototype.removeFromTable):
38668        (WebInspector.HeapSnapshotConstructorsDataGrid):
38669        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
38670        (WebInspector.HeapSnapshotDiffDataGrid):
38671        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
38672        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
38673        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
38674        * inspector/front-end/HeapSnapshotGridNodes.js:
38675        (WebInspector.HeapSnapshotGridNode):
38676        (WebInspector.HeapSnapshotGridNode.prototype.collapse):
38677        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
38678        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
38679        (WebInspector.HeapSnapshotGridNode.prototype.sort):
38680        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
38681        (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
38682        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
38683        (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
38684        (WebInspector.HeapSnapshotConstructorNode):
38685        (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
38686        (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
38687        (WebInspector.HeapSnapshotDiffNode):
38688        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
38689        (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
38690        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
38691        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
38692        * inspector/front-end/ShowMoreDataGridNode.js:
38693        (WebInspector.ShowMoreDataGridNode.prototype.createCells):
38694        (WebInspector.ShowMoreDataGridNode.prototype.nodeHeight):
38695
386962012-04-19  Kentaro Hara  <haraken@chromium.org>
38697
38698        Unreviewed, rolling out r114421.
38699        http://trac.webkit.org/changeset/114421
38700        https://bugs.webkit.org/show_bug.cgi?id=84103
38701
38702        Chromium crash
38703
38704        * bindings/scripts/CodeGeneratorV8.pm:
38705        (GenerateNormalAttrGetter):
38706        (GenerateFunctionCallString):
38707        (NativeToJSValue):
38708        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
38709        (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
38710        (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
38711        * bindings/scripts/test/V8/V8TestInterface.cpp:
38712        (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
38713        (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
38714        * bindings/scripts/test/V8/V8TestObj.cpp:
38715        (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
38716        (WebCore::TestObjV8Internal::stringAttrAttrGetter):
38717        (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
38718        (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
38719        (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
38720        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
38721        (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
38722        (WebCore::TestObjV8Internal::hashAttrGetter):
38723        (WebCore::TestObjV8Internal::conditionalMethod1Callback):
38724        * bindings/v8/V8Binding.cpp:
38725        (WebCore::getElementStringAttr):
38726        * bindings/v8/V8Binding.h:
38727        (WebCore::v8ExternalString):
38728        (WebCore::v8String):
38729        (WebCore::v8StringOrNull):
38730        (WebCore::v8StringOrUndefined):
38731        (WebCore::v8StringOrFalse):
38732
387332012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
38734
38735        Unreviewed, rolling out r114626.
38736        http://trac.webkit.org/changeset/114626
38737        https://bugs.webkit.org/show_bug.cgi?id=84349
38738
38739        caused new assertions in debug builds (Requested by smfr_ on
38740        #webkit).
38741
38742        * inspector/InspectorResourceAgent.cpp:
38743        (WebCore::InspectorResourceAgent::didReceiveData):
38744        * inspector/NetworkResourcesData.cpp:
38745        (WebCore::NetworkResourcesData::responseReceived):
38746        * inspector/NetworkResourcesData.h:
38747        (ResourceData):
38748        (NetworkResourcesData):
38749        * inspector/front-end/RequestView.js:
38750        (WebInspector.RequestView.hasTextContent):
38751
387522012-04-19  Mark Pilgrim  <pilgrim@chromium.org>
38753
38754        [Chromium] Call mimeRegistry directly
38755        https://bugs.webkit.org/show_bug.cgi?id=84334
38756
38757        Reviewed by Kentaro Hara.
38758
38759        Part of a refactoring series. See tracking bug 82948.
38760
38761        * platform/chromium/MIMETypeRegistryChromium.cpp:
38762        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
38763        (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension):
38764        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
38765        (WebCore::MIMETypeRegistry::isSupportedImageMIMEType):
38766        (WebCore::MIMETypeRegistry::isSupportedJavaScriptMIMEType):
38767        (WebCore::MIMETypeRegistry::isSupportedNonImageMIMEType):
38768        * platform/chromium/PlatformSupport.h:
38769        (PlatformSupport):
38770
387712012-04-19  Victor Carbune  <vcarbune@adobe.com>
38772
38773        Display a TextTrackCue when snap-to-lines flag is not set
38774        https://bugs.webkit.org/show_bug.cgi?id=79750
38775
38776        Reviewed by Eric Carlson.
38777
38778        Support for positioning of a cue on top of the video element when snap-to-lines is not set.
38779
38780        Test: media/track/track-cue-rendering-snap-to-lines-not-set.html
38781
38782        * css/mediaControls.css:
38783        (video::-webkit-media-text-track-container): Marked the container as
38784        flexible box in order to use all the available space on top of the controls.
38785        (video::-webkit-media-text-track-background): Added background default settings.
38786        (video::-webkit-media-text-track-display): Added default position.
38787        * html/shadow/MediaControlElements.cpp:
38788        (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Updated comments.
38789        * html/track/TextTrackCue.cpp:
38790        (WebCore):
38791        (WebCore::TextTrackCue::TextTrackCue): Updated constructor to calculate
38792        the computed line position.
38793        (WebCore::TextTrackCue::setLine): Updated call to calculate the computed line
38794        position.
38795        (WebCore::TextTrackCue::setPosition):
38796        (WebCore::TextTrackCue::calculateComputedLinePosition): Partial calculation of the
38797        computated line position.
38798        (WebCore::TextTrackCue::calculateDisplayParameters): Updated display parameter computations
38799        required by the spec.
38800        (WebCore::TextTrackCue::getDisplayTree): Updated positioning attributes when snap-to-lines
38801        is not set. Added extra anonymous box for background, because setting position:absolute
38802        on the display tree determines the background to cover the whole block, not just inline.
38803        (WebCore::TextTrackCue::getPositionCoordinates): Determine coordinates as required by the spec.
38804        * html/track/TextTrackCue.h:
38805        (TextTrackCue):
38806
388072012-04-19  Pavel Feldman  <pfeldman@chromium.org>
38808
38809        Web Inspector: introduce styles panel as an experiment
38810        https://bugs.webkit.org/show_bug.cgi?id=84331
38811
38812        Reviewed by Vsevolod Vlasov.
38813
38814        This change introduces new "Styles" panel that looks like the "Scripts" one,
38815        but operates stylesheets. This is happening under the experimental flag.
38816
38817        * English.lproj/localizedStrings.js:
38818        * WebCore.gypi:
38819        * WebCore.vcproj/WebCore.vcproj:
38820        * inspector/compile-front-end.py:
38821        * inspector/front-end/Panel.js:
38822        (WebInspector.Panel.prototype.showAnchorLocation):
38823        * inspector/front-end/ResourceView.js:
38824        (WebInspector.EditableResourceSourceFrame.prototype.didEditContent):
38825        * inspector/front-end/ScriptsNavigator.js:
38826        (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
38827        * inspector/front-end/ScriptsPanel.js:
38828        * inspector/front-end/Settings.js:
38829        (WebInspector.ExperimentsSettings):
38830        * inspector/front-end/SourceFrame.js:
38831        (WebInspector.SourceFrame.prototype._clearLineHighlight):
38832        * inspector/front-end/StylesPanel.js: Added.
38833        (WebInspector.StylesPanel):
38834        (WebInspector.StylesPanel.prototype.wasShown):
38835        (WebInspector.StylesPanel.prototype._initialize):
38836        (WebInspector.StylesPanel.prototype._populateResourceTree.populateFrame):
38837        (WebInspector.StylesPanel.prototype._populateResourceTree):
38838        (WebInspector.StylesPanel.prototype._resourceAdded):
38839        (WebInspector.StylesPanel.prototype._reset):
38840        (WebInspector.StylesPanel.prototype._cachedResourcesLoaded):
38841        (WebInspector.StylesPanel.prototype.get toolbarItemLabel):
38842        (WebInspector.StylesPanel.prototype.viewForFile.get if):
38843        (WebInspector.StylesPanel.prototype.viewForFile):
38844        (WebInspector.StylesPanel.prototype._textEdited):
38845        (WebInspector.StylesPanel.prototype._scriptSelected):
38846        (WebInspector.StylesPanel.prototype._showFile):
38847        (WebInspector.StylesPanel.prototype.canShowAnchorLocation):
38848        * inspector/front-end/StylesSidebarPane.js:
38849        (WebInspector.StylePropertiesSection):
38850        (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
38851        * inspector/front-end/TabbedEditorContainer.js:
38852        (WebInspector.TabbedEditorContainer):
38853        * inspector/front-end/WebKit.qrc:
38854        * inspector/front-end/inspector.html:
38855        * inspector/front-end/inspector.js:
38856        (WebInspector._createPanels):
38857        (WebInspector._showAnchorLocationInPanel):
38858        * inspector/front-end/scriptsPanel.css:
38859        * inspector/front-end/splitView.css:
38860        (.sidebar-overlay):
38861
388622012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
38863
38864        Follow up to r114632: build fix.
38865
38866        * inspector/InspectorDebuggerAgent.cpp:
38867        (WebCore):
38868        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
38869
388702012-04-19  Mark Pilgrim  <pilgrim@chromium.org>
38871
38872        [Chromium] Call sampleGamepads directly
38873        https://bugs.webkit.org/show_bug.cgi?id=84339
38874
38875        Reviewed by Kentaro Hara.
38876
38877        Part of a refactoring series. See tracking bug 82948.
38878
38879        * platform/chromium/GamepadsChromium.cpp:
38880        (WebCore::sampleGamepads):
38881        * platform/chromium/PlatformSupport.h:
38882        (WebCore):
38883        (PlatformSupport):
38884
388852012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
38886
38887        Web Inspector: x-frame security errors logged when typing in the console are annoying.
38888        https://bugs.webkit.org/show_bug.cgi?id=81970
38889
38890        Reviewed by Pavel Feldman.
38891
38892        Parameter DoNotPauseOnExceptions in Runtime.evaluate() renamed to DoNotPauseOnExceptionsAndMuteConsole.
38893        Added this parameter to Runtime.callFunctionOn() and passed true in all call sites.
38894        Added this parameter to Debugger.evaluateOnCallFrame().
38895        Added a flag to console that mutes all messages unless they have ConsoleAPI message source.
38896        This flag is now temporarily set from InspectorRuntimeAgent and InspectorDebuggerAgent for certain injected source calls.
38897
38898        * inspector/Inspector.json:
38899        * inspector/InspectorDebuggerAgent.cpp:
38900        (WebCore::asBool):
38901        (WebCore):
38902        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
38903        * inspector/InspectorDebuggerAgent.h:
38904        (InspectorDebuggerAgent):
38905        * inspector/InspectorRuntimeAgent.cpp:
38906        (WebCore):
38907        (WebCore::setPauseOnExceptionsState):
38908        (WebCore::InspectorRuntimeAgent::evaluate):
38909        (WebCore::InspectorRuntimeAgent::callFunctionOn):
38910        (WebCore::InspectorRuntimeAgent::getProperties):
38911        * inspector/InspectorRuntimeAgent.h:
38912        (InspectorRuntimeAgent):
38913        * inspector/PageDebuggerAgent.cpp:
38914        (WebCore::PageDebuggerAgent::muteConsole):
38915        (WebCore):
38916        (WebCore::PageDebuggerAgent::unmuteConsole):
38917        * inspector/PageDebuggerAgent.h:
38918        (PageDebuggerAgent):
38919        * inspector/PageRuntimeAgent.cpp:
38920        (WebCore::PageRuntimeAgent::muteConsole):
38921        (WebCore):
38922        (WebCore::PageRuntimeAgent::unmuteConsole):
38923        * inspector/PageRuntimeAgent.h:
38924        (PageRuntimeAgent):
38925        * inspector/WorkerDebuggerAgent.cpp:
38926        (WebCore::WorkerDebuggerAgent::muteConsole):
38927        (WebCore):
38928        (WebCore::WorkerDebuggerAgent::unmuteConsole):
38929        * inspector/WorkerDebuggerAgent.h:
38930        (WorkerDebuggerAgent):
38931        * inspector/WorkerRuntimeAgent.cpp:
38932        (WebCore::WorkerRuntimeAgent::muteConsole):
38933        (WebCore):
38934        (WebCore::WorkerRuntimeAgent::unmuteConsole):
38935        * inspector/WorkerRuntimeAgent.h:
38936        (WorkerRuntimeAgent):
38937        * inspector/front-end/ConsoleView.js:
38938        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
38939        * inspector/front-end/DebuggerPresentationModel.js:
38940        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
38941        (WebInspector.PresentationCallFrame.prototype.evaluate):
38942        * inspector/front-end/RemoteObject.js:
38943        (WebInspector.RemoteObject.prototype.setPropertyValue):
38944        (WebInspector.RemoteObject.prototype.callFunction):
38945        (WebInspector.RemoteObject.prototype.callFunctionJSON):
38946        * inspector/front-end/WorkerManager.js:
38947        * page/Console.cpp:
38948        (WebCore::Console::addMessage):
38949        (WebCore::Console::warn):
38950        (WebCore):
38951        (WebCore::Console::mute):
38952        (WebCore::Console::unmute):
38953        * page/Console.h:
38954        (Console):
38955
389562012-04-19  Sheriff Bot  <webkit.review.bot@gmail.com>
38957
38958        Unreviewed, rolling out r114628.
38959        http://trac.webkit.org/changeset/114628
38960        https://bugs.webkit.org/show_bug.cgi?id=84341
38961
38962        Breaks EFL and GTK builds (Requested by pfeldman on #webkit).
38963
38964        * inspector/Inspector.json:
38965        * inspector/InspectorDebuggerAgent.cpp:
38966        (WebCore):
38967        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
38968        * inspector/InspectorDebuggerAgent.h:
38969        (InspectorDebuggerAgent):
38970        * inspector/InspectorRuntimeAgent.cpp:
38971        (WebCore::InspectorRuntimeAgent::evaluate):
38972        (WebCore::InspectorRuntimeAgent::callFunctionOn):
38973        (WebCore::InspectorRuntimeAgent::getProperties):
38974        * inspector/InspectorRuntimeAgent.h:
38975        (InspectorRuntimeAgent):
38976        * inspector/PageDebuggerAgent.cpp:
38977        * inspector/PageDebuggerAgent.h:
38978        (PageDebuggerAgent):
38979        * inspector/PageRuntimeAgent.cpp:
38980        * inspector/PageRuntimeAgent.h:
38981        (PageRuntimeAgent):
38982        * inspector/WorkerDebuggerAgent.cpp:
38983        * inspector/WorkerDebuggerAgent.h:
38984        (WorkerDebuggerAgent):
38985        * inspector/WorkerRuntimeAgent.cpp:
38986        * inspector/WorkerRuntimeAgent.h:
38987        (WorkerRuntimeAgent):
38988        * inspector/front-end/ConsoleView.js:
38989        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
38990        * inspector/front-end/DebuggerPresentationModel.js:
38991        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
38992        (WebInspector.PresentationCallFrame.prototype.evaluate):
38993        * inspector/front-end/RemoteObject.js:
38994        (WebInspector.RemoteObject.prototype.setPropertyValue):
38995        (WebInspector.RemoteObject.prototype.callFunction):
38996        (WebInspector.RemoteObject.prototype.callFunctionJSON):
38997        * inspector/front-end/WorkerManager.js:
38998        * page/Console.cpp:
38999        (WebCore):
39000        (WebCore::Console::addMessage):
39001        (WebCore::Console::warn):
39002        * page/Console.h:
39003        (Console):
39004
390052012-04-19  Vsevolod Vlasov  <vsevik@chromium.org>
39006
39007        Web Inspector: x-frame security errors logged when typing in the console are annoying.
39008        https://bugs.webkit.org/show_bug.cgi?id=81970
39009
39010        Reviewed by Pavel Feldman.
39011
39012        Parameter DoNotPauseOnExceptions in Runtime.evaluate() renamed to DoNotPauseOnExceptionsAndMuteConsole.
39013        Added this parameter to Runtime.callFunctionOn() and passed true in all call sites.
39014        Added this parameter to Debugger.evaluateOnCallFrame().
39015        Added a flag to console that mutes all messages unless they have ConsoleAPI message source.
39016        This flag is now temporarily set from InspectorRuntimeAgent and InspectorDebuggerAgent for certain injected source calls.
39017
39018        * inspector/Inspector.json:
39019        * inspector/InspectorDebuggerAgent.cpp:
39020        (WebCore::asBool):
39021        (WebCore):
39022        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
39023        * inspector/InspectorDebuggerAgent.h:
39024        (InspectorDebuggerAgent):
39025        * inspector/InspectorRuntimeAgent.cpp:
39026        (WebCore):
39027        (WebCore::setPauseOnExceptionsState):
39028        (WebCore::InspectorRuntimeAgent::evaluate):
39029        (WebCore::InspectorRuntimeAgent::callFunctionOn):
39030        (WebCore::InspectorRuntimeAgent::getProperties):
39031        * inspector/InspectorRuntimeAgent.h:
39032        (InspectorRuntimeAgent):
39033        * inspector/PageDebuggerAgent.cpp:
39034        (WebCore::PageDebuggerAgent::muteConsole):
39035        (WebCore):
39036        (WebCore::PageDebuggerAgent::unmuteConsole):
39037        * inspector/PageDebuggerAgent.h:
39038        (PageDebuggerAgent):
39039        * inspector/PageRuntimeAgent.cpp:
39040        (WebCore::PageRuntimeAgent::muteConsole):
39041        (WebCore):
39042        (WebCore::PageRuntimeAgent::unmuteConsole):
39043        * inspector/PageRuntimeAgent.h:
39044        (PageRuntimeAgent):
39045        * inspector/WorkerDebuggerAgent.cpp:
39046        (WebCore::WorkerDebuggerAgent::muteConsole):
39047        (WebCore):
39048        (WebCore::WorkerDebuggerAgent::unmuteConsole):
39049        * inspector/WorkerDebuggerAgent.h:
39050        (WorkerDebuggerAgent):
39051        * inspector/WorkerRuntimeAgent.cpp:
39052        (WebCore::WorkerRuntimeAgent::muteConsole):
39053        (WebCore):
39054        (WebCore::WorkerRuntimeAgent::unmuteConsole):
39055        * inspector/WorkerRuntimeAgent.h:
39056        (WorkerRuntimeAgent):
39057        * inspector/front-end/ConsoleView.js:
39058        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
39059        * inspector/front-end/DebuggerPresentationModel.js:
39060        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
39061        (WebInspector.PresentationCallFrame.prototype.evaluate):
39062        * inspector/front-end/RemoteObject.js:
39063        (WebInspector.RemoteObject.prototype.setPropertyValue):
39064        (WebInspector.RemoteObject.prototype.callFunction):
39065        (WebInspector.RemoteObject.prototype.callFunctionJSON):
39066        * inspector/front-end/WorkerManager.js:
39067        * page/Console.cpp:
39068        (WebCore::Console::addMessage):
39069        (WebCore::Console::warn):
39070        (WebCore):
39071        (WebCore::Console::mute):
39072        (WebCore::Console::unmute):
39073        * page/Console.h:
39074        (Console):
39075
390762012-04-19  No'am Rosenthal  <noam.rosenthal@nokia.com>
39077
39078        [Qt] Fix Qt-Mac build after libxml patch
39079        https://bugs.webkit.org/show_bug.cgi?id=84313
39080
39081        Use direct include/library paths instead of PKGCONFIG when on Mac.
39082
39083        Reviewed by Simon Hausmann.
39084
39085        No new tests, build fix.
39086
39087        * WebCore.pri:
39088
390892012-04-18  Vsevolod Vlasov  <vsevik@chromium.org>
39090
39091        Web Inspector: No response body available for cached resource requests with error status codes.
39092        https://bugs.webkit.org/show_bug.cgi?id=84265
39093
39094        Reviewed by Pavel Feldman.
39095
39096        InspectorResourceAgent now saves failed subresource request response body in its cache.
39097        Saved data is shown on front-end.
39098
39099        Test: http/tests/inspector/network/network-image-404.html
39100
39101        * inspector/InspectorResourceAgent.cpp:
39102        (WebCore::InspectorResourceAgent::didReceiveData):
39103        * inspector/NetworkResourcesData.cpp:
39104        (WebCore::NetworkResourcesData::responseReceived):
39105        (WebCore::NetworkResourcesData::httpStatusCode):
39106        (WebCore):
39107        * inspector/NetworkResourcesData.h:
39108        (WebCore::NetworkResourcesData::ResourceData::httpStatusCode):
39109        (WebCore::NetworkResourcesData::ResourceData::setHTTPStatusCode):
39110        (ResourceData):
39111        (NetworkResourcesData):
39112        * inspector/front-end/RequestView.js:
39113        (WebInspector.RequestView.hasTextContent):
39114
391152012-04-19  Pavel Feldman  <pfeldman@chromium.org>
39116
39117        Web Inspector: reuse ParsedUrl in the UISourceCode
39118        https://bugs.webkit.org/show_bug.cgi?id=84326
39119
39120        Reviewed by Yury Semikhatsky.
39121
39122        Migrated UISourceCode to ParsedURL, moved the displayName logic into its only client:
39123        TabbedEditorContainer.
39124
39125        * inspector/front-end/CompilerScriptMapping.js:
39126        (WebInspector.SourceMapParser.prototype._canonicalizeURL):
39127        * inspector/front-end/FilteredItemSelectionDialog.js:
39128        (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
39129        (WebInspector.OpenResourceDialog.compareFunction):
39130        (WebInspector.OpenResourceDialog):
39131        (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
39132        (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
39133        * inspector/front-end/ResourceUtils.js:
39134        (WebInspector.ParsedURL):
39135        * inspector/front-end/ScriptsNavigator.js:
39136        (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
39137        (WebInspector.NavigatorFolderTreeElement):
39138        * inspector/front-end/TabbedEditorContainer.js:
39139        (WebInspector.TabbedEditorContainer.prototype._titleForFile):
39140        * inspector/front-end/UISourceCode.js:
39141        (WebInspector.UISourceCode):
39142        (WebInspector.UISourceCode.prototype.get parsedURL):
39143
391442012-04-19  Xingnan Wang  <xingnan.wang@intel.com>
39145
39146        Optimize for DARWIN in DirectConvolver::process()
39147        https://bugs.webkit.org/show_bug.cgi?id=80256
39148
39149        Reviewed by Chris Rogers.
39150
39151        * platform/audio/DirectConvolver.cpp:
39152        (WebCore::DirectConvolver::process):
39153
391542012-04-18  Noel Gordon  <noel.gordon@gmail.com>
39155
39156        [CG] ImageBuffer::toDataURL: Remove alpha stuffing loop when encoding to JPEG
39157        https://bugs.webkit.org/show_bug.cgi?id=84319
39158
39159        Reviewed by Eric Seidel.
39160
39161        No change in behavior. Covered by existing canvas 2d and 3d tests:
39162
39163          canvas/philip/tests/toDataURL.jpeg.alpha.html
39164          fast/canvas/webgl/premultiplyalpha-test.html
39165
39166        * platform/graphics/cg/ImageBufferCG.cpp:
39167        (WebCore::ImageBuffer::toDataURL): Remove the alpha stuffing loop and instead,
39168        make JPEG encoder ignore the alpha channel (kCGImageAlphaNoneSkipLast).
39169
391702012-04-18  Emil A Eklund  <eae@chromium.org>
39171
39172        Remove unnecessary rounding/conversions in RenderBoxModelObject
39173        https://bugs.webkit.org/show_bug.cgi?id=84288
39174
39175        Reviewed by Eric Seidel.
39176
39177        No new tests, no change in functionality.
39178
39179        * rendering/RenderBoxModelObject.cpp:
39180        (WebCore::RenderBoxModelObject::paintBoxShadow):
39181        Remove unnecessary pixelSnapping logic and casts in paintBoxShadow as
39182        shadow rects are now int based.
39183
391842012-04-18  Jason Liu  <jason.liu@torchmobile.com.cn>
39185
39186        [BlackBerry] Parsed Cookie's m_hasDefaultDomain is not needed.
39187        https://bugs.webkit.org/show_bug.cgi?id=82830
39188
39189        Reviewed by George Staikos.
39190
39191        RFC 2965
39192        3.2.2
39193        Domain = value
39194        If an explicitly specified value does not start with a dot, the user agent supplies
39195        a leading dot.
39196        3.3.1
39197        Domain  Defaults to the effective request-host.  (Note that because there is no dot
39198        at the beginning of effective request-host, the default Domain can only domain-match
39199        itself.)
39200
39201        The first char can show the difference even though it is from the cookie database.
39202        But m_hasDefaultDomain is set to false if the cookie is from database although the
39203        domain is host as a default value. So m_hasDefaultDomain sometimes is wrong.
39204
39205        In sum,  we shouldn't use m_hasDefaultDomain.
39206
39207        Test: http/tests/security/cookies/cookies-wrong-domain-rejected.php
39208
39209        * platform/blackberry/CookieManager.cpp:
39210        (WebCore::CookieManager::shouldRejectForSecurityReason):
39211        * platform/blackberry/CookieParser.cpp:
39212        (WebCore::CookieParser::parseOneCookie):
39213        * platform/blackberry/ParsedCookie.cpp:
39214        (WebCore::ParsedCookie::ParsedCookie):
39215        * platform/blackberry/ParsedCookie.h:
39216        (ParsedCookie):
39217
392182012-04-18  Adrienne Walker  <enne@google.com>
39219
39220        [chromium] Consolidate adjustTextRenderMode copypasta into Skia context
39221        https://bugs.webkit.org/show_bug.cgi?id=83840
39222
39223        Reviewed by James Robinson.
39224
39225        The same logic to decide when to make text use LCD rendering is copy
39226        and pasted in all the different font classes. It seems like this
39227        should live in a single place.
39228
39229        * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
39230        (WebCore::Font::drawGlyphs):
39231        (WebCore::Font::drawComplexText):
39232        * platform/graphics/skia/FontSkia.cpp:
39233        (WebCore::Font::drawGlyphs):
39234        * platform/graphics/skia/PlatformContextSkia.cpp:
39235        (WebCore::PlatformContextSkia::adjustTextRenderMode):
39236        (WebCore):
39237        (WebCore::PlatformContextSkia::couldUseLCDRenderedText):
39238        * platform/graphics/skia/PlatformContextSkia.h:
39239        (PlatformContextSkia):
39240        * platform/graphics/skia/SkiaFontWin.cpp:
39241        (WebCore::setupPaintForFont):
39242
392432012-04-18  Hironori Bono  <hbono@chromium.org>
39244
39245        Split SpellChecker::didCheck() to SpellChecker::didCheckSucceeded() and SpellChecker::didCheckCanceled()
39246        https://bugs.webkit.org/show_bug.cgi?id=83748
39247
39248        Reviewed by Ryosuke Niwa.
39249
39250        The current SpellChecker::didCheck() does not delete existing markers. It causes
39251        a problem that it leaves misspelled markers when a spellchecker client finishes
39252        checking text successfully. This change splits this function to didCheckSucceeded()
39253        and  didCheckCanceled() so the SpellChecker class can delete existing markers
39254        when its client finishes checking text successfully. (We do not have to erase
39255        existing markers when the client needs to cancel a text-check request.)
39256
39257        Test: platform/chromium/editing/spelling/delete-misspelled-word.html
39258
39259        * WebCore.exp.in: Replaced SpellChecker::didCheck with SpellChecker::didCheckSucceeded.
39260        * editing/SpellChecker.cpp:
39261        (WebCore::SpellChecker::didCheckSucceeded): Added.
39262        (WebCore):
39263        (WebCore::SpellChecker::didCheckCanceled): Added.
39264        * editing/SpellChecker.h:
39265        (SpellChecker): Added didCheckSucceeded and didCheckCanceled. Also changed didCheck to a private function.
39266
392672012-04-16  James Robinson  <jamesr@chromium.org>
39268
39269        [chromium] Convert WebPluginContainerImpl over to use WebExternalTextureLayer
39270        https://bugs.webkit.org/show_bug.cgi?id=84120
39271
39272        Reviewed by Adrienne Walker.
39273
39274        This renames PluginLayerChromium -> TextureLayerChromium since it is now used only as the implementation of
39275        WebExternalTextureLayer and cleans it up slightly.
39276
39277        * WebCore.gypi:
39278        * platform/graphics/chromium/TextureLayerChromium.cpp: Renamed from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.cpp.
39279        (WebCore):
39280        (WebCore::TextureLayerChromium::create):
39281        (WebCore::TextureLayerChromium::TextureLayerChromium):
39282        (WebCore::TextureLayerChromium::createCCLayerImpl):
39283        (WebCore::TextureLayerChromium::drawsContent):
39284        (WebCore::TextureLayerChromium::setTextureId):
39285        (WebCore::TextureLayerChromium::setFlipped):
39286        (WebCore::TextureLayerChromium::setUVRect):
39287        (WebCore::TextureLayerChromium::setIOSurfaceProperties):
39288        (WebCore::TextureLayerChromium::pushPropertiesTo):
39289        * platform/graphics/chromium/TextureLayerChromium.h: Renamed from Source/WebCore/platform/graphics/chromium/PluginLayerChromium.h.
39290        (WebCore):
39291        (TextureLayerChromium):
39292        (WebCore::TextureLayerChromium::flipped):
39293        (WebCore::TextureLayerChromium::uvRect):
39294
392952012-04-18  Raymond Toy  <rtoy@google.com>
39296
39297        Expose attack, release as DynamicsCompressorNode's attributes.
39298        https://bugs.webkit.org/show_bug.cgi?id=81221
39299
39300        Reviewed by Chris Rogers.
39301
39302        * Modules/webaudio/DynamicsCompressorNode.cpp:
39303        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
39304        (WebCore::DynamicsCompressorNode::process):
39305        * Modules/webaudio/DynamicsCompressorNode.h:
39306        (WebCore::DynamicsCompressorNode::attack):
39307        (WebCore::DynamicsCompressorNode::releaseTime):
39308        (DynamicsCompressorNode):
39309        * Modules/webaudio/DynamicsCompressorNode.idl: Add attack and
39310        release attributes.
39311        * bindings/scripts/CodeGeneratorObjC.pm:
39312        (SkipAttribute): Skip release()
39313        (GenerateHeader): Call SkipAttribute for getters/setters.
39314        * platform/audio/DynamicsCompressor.h:
39315        (DynamicsCompressor):
39316
393172012-04-18  Dana Jansens  <danakj@chromium.org>
39318
39319        [chromium] Simplify occlusion tracker API by passing layer iterator data
39320        https://bugs.webkit.org/show_bug.cgi?id=84088
39321
39322        Reviewed by Adrienne Walker.
39323
39324        Previously three methods lived in the API and you needed to call the
39325        appropriate method (with different amounts of data) depending on what
39326        the current layer iterator was representing.
39327
39328        This makes usage of the occlusion tracker simpler to read and harder
39329        to mess up, by just passing in the layer iterator at each step of the
39330        iteration process.
39331
39332        Covered by existing tests.
39333
39334        * platform/graphics/chromium/cc/CCLayerIterator.h:
39335        (WebCore):
39336        (CCLayerIteratorPosition):
39337        (CCLayerIterator):
39338        (WebCore::CCLayerIterator::operator const CCLayerIteratorPosition<LayerType>):
39339        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
39340        (WebCore::CCLayerTilingData::opaqueRegionInLayerRect):
39341        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
39342        (WebCore::CCLayerTreeHost::paintLayerContents):
39343        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
39344        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
39345        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
39346        (WebCore::::enterLayer):
39347        (WebCore):
39348        (WebCore::::leaveLayer):
39349        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
39350        (CCOcclusionTrackerBase):
39351
393522012-04-18  James Robinson  <jamesr@chromium.org>
39353
39354        [chromium] Add canBeginFrame state to CCSchedulerStateMachine to suppress initialization before our surface is available
39355        https://bugs.webkit.org/show_bug.cgi?id=84301
39356
39357        Reviewed by Adrienne Walker.
39358
39359        If our composited surface isn't ready yet, then the compositor may initialize in a state where the first
39360        makeContextCurrent() fails. This adds a new state to the scheduler that we can use to suppress initialization
39361        until we get notified that the surface is ready. I'll add the plumbing for actually notifying in a follow-up.
39362
39363        Updated CCSchedulerTest / CCSchedulerStateMachineTest unit tests.
39364
39365        * platform/graphics/chromium/cc/CCScheduler.cpp:
39366        (WebCore::CCScheduler::setCanBeginFrame):
39367        (WebCore):
39368        * platform/graphics/chromium/cc/CCScheduler.h:
39369        (CCScheduler):
39370        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
39371        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
39372        (WebCore::CCSchedulerStateMachine::nextAction):
39373        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
39374        (WebCore::CCSchedulerStateMachine::setCanBeginFrame):
39375        (CCSchedulerStateMachine):
39376        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
39377        (WebCore::CCThreadProxy::initializeImplOnImplThread):
39378
393792012-04-18  David Reveman  <reveman@chromium.org>
39380
39381        [Chromium] Solid color layers should respect opacity value.
39382        https://bugs.webkit.org/show_bug.cgi?id=84197
39383
39384        Reviewed by Adrienne Walker.
39385
39386        Fold opacity into shader color for solid color layers.
39387
39388        Test: CCSolidColorLayerImplTest.verifyCorrectOpacityInQuad
39389
39390        * platform/graphics/chromium/LayerRendererChromium.cpp:
39391        (WebCore::LayerRendererChromium::drawSolidColorQuad):
39392
393932012-04-18  Mark Pilgrim  <pilgrim@chromium.org>
39394
39395        [Chromium] Call prefetchDNS directly
39396        https://bugs.webkit.org/show_bug.cgi?id=84262
39397
39398        Reviewed by Kentaro Hara.
39399
39400        Part of a series, see tracking bug 82948.
39401
39402        * platform/chromium/PlatformSupport.h:
39403        (PlatformSupport):
39404        * platform/network/chromium/DNSChromium.cpp:
39405        (WebCore::prefetchDNS):
39406
394072012-04-18  Julien Chaffraix  <jchaffraix@webkit.org>
39408
39409        REGRESSION(102040): Auto-table layout with percent width doesn't shrink-to-fit content a cell with colspan
39410        https://bugs.webkit.org/show_bug.cgi?id=84260
39411
39412        Reviewed by Ojan Vafai.
39413
39414        Tests: fast/table/td-width-fifty-percent-regression-expected.html
39415               fast/table/td-width-fifty-percent-regression.html
39416
39417        * rendering/AutoTableLayout.cpp:
39418        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
39419        As we are spreading the cell's min / max logical width, we should be updating them.
39420        This prevents the following logic getting confused and allocating more than needed.
39421
394222012-04-18  Justin Schuh  <jschuh@chromium.org>
39423
39424        Win8 builds usually fail due to cygwin rebasing
39425        https://bugs.webkit.org/show_bug.cgi?id=84274
39426
39427        Reviewed by Dirk Pranke.
39428
39429        Cygwin can fail to spawn children if the DLL is rebased. This happens
39430        frequently enough on Windows 8 that we should retry on failure.
39431
39432        No new tests. No behavior changed.
39433
39434        * bindings/scripts/preprocessor.pm:
39435        (applyPreprocessor):
39436
394372012-04-18  Levi Weintraub  <leviw@chromium.org>
39438
39439        Add explicit template instantiation to chromium/PopupListBox.cpp to prepare for sub-pixel layout
39440        https://bugs.webkit.org/show_bug.cgi?id=84264
39441
39442        Reviewed by Eric Seidel.
39443
39444        Explicitly instantiating integer max and min templates to fix compilation in Chromium. We
39445        intentionally truncated these values in platform code, which matches earlier behavior.
39446        See https://trac.webkit.org/wiki/LayoutUnit for details.
39447
39448        No new tests. No change in behavior.
39449
39450        * platform/chromium/PopupListBox.cpp:
39451        (WebCore::PopupListBox::paintRow):
39452        (WebCore::PopupListBox::layout):
39453
394542012-04-18  Luke Macpherson  <macpherson@chromium.org>
39455
39456        Prevent potential null pointer dereference in CSSStyleSelector::applyProperty().
39457        https://bugs.webkit.org/show_bug.cgi?id=84267
39458
39459        Reviewed by Kentaro Hara.
39460
39461        No new tests / code cleanup found via static analysis.
39462
39463        * css/CSSStyleSelector.cpp:
39464        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
39465
394662012-04-18  Luke Macpherson  <macpherson@chromium.org>
39467
39468        Prevent switch case fallthrough in StylePropertySet::getPropertyValue().
39469        https://bugs.webkit.org/show_bug.cgi?id=84266
39470
39471        Reviewed by Kentaro Hara.
39472
39473        No new tests / code cleanup found by static analysis.
39474
39475        * css/StylePropertySet.cpp:
39476        (WebCore::StylePropertySet::getPropertyValue):
39477
394782012-04-18  Andreas Kling  <kling@webkit.org>
39479
39480        CSSValuePool: Make numeric value caches fixed-size arrays.
39481        <http://webkit.org/b/84268>
39482
39483        Reviewed by Antti Koivisto.
39484
39485        Change the numeric CSSPrimitiveValue caches in CSSValuePool from HashMaps to
39486        fixed-size arrays of RefPtr<CSSPrimitiveValue>s.
39487
39488        This is more space efficient and doesn't incur the cost of a hash lookup every
39489        time a numeric CSSPrimitiveValue is needed. We retain the limit of caching
39490        only values between 0-255 for now.
39491
39492        * css/CSSValuePool.cpp:
39493        (WebCore::CSSValuePool::CSSValuePool):
39494        (WebCore::CSSValuePool::createValue):
39495        * css/CSSValuePool.h:
39496        (CSSValuePool):
39497
394982012-04-18  Dana Jansens  <danakj@chromium.org>
39499
39500        [chromium] Rename overdraw histograms so we can use field trials in histograms.xml
39501        https://bugs.webkit.org/show_bug.cgi?id=83500
39502
39503        Reviewed by James Robinson.
39504
39505        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
39506        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
39507
395082012-04-18  David Reveman  <reveman@chromium.org>
39509
39510        [Chromium] Solid color shader should use premultiplied alpha.
39511        https://bugs.webkit.org/show_bug.cgi?id=84215
39512
39513        Reviewed by Adrienne Walker.
39514
39515        For efficiency and consistency, expect premultiplied alpha in
39516        solid color shader.
39517
39518        * platform/graphics/chromium/LayerRendererChromium.cpp:
39519        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
39520        (WebCore::LayerRendererChromium::drawSolidColorQuad):
39521        * platform/graphics/chromium/ShaderChromium.cpp:
39522        (WebCore::FragmentShaderColor::getShaderString):
39523
395242012-04-18  Alexey Proskuryakov  <ap@apple.com>
39525
39526        [WK2] Sandbox violations prevent attaching files to gmail messages
39527        https://bugs.webkit.org/show_bug.cgi?id=84263
39528        <rdar://problem/11248260>
39529
39530        Reviewed by Oliver Hunt.
39531
39532        * page/DragActions.h: Removed the newly added upload action. We cannot know if or when an
39533        upload is going to happen - a drop even listener can always get a reference to a File object,
39534        and upload it with XMLHttpRequest.
39535
39536        * page/DragController.cpp: (WebCore::DragController::concludeEditDrag): Removed a separate
39537        willPerformDragDestinationAction call for upload action - ther is nothing we'd want to only
39538        do when dropping on a file upload button.
39539
395402012-04-18  Levi Weintraub  <leviw@chromium.org>
39541
39542        GraphicsContextCG's roundToDevicePixels should round even when there's no transform
39543        https://bugs.webkit.org/show_bug.cgi?id=84191
39544
39545        Reviewed by Eric Seidel.
39546
39547        When painting with the identify transform, the roundToDevicePixels function in GraphicsContextCG
39548        does an early return that simply returns the FloatRect that was passed in. This proved to be a
39549        problem in sub-pixel layout, as we wouldn't adjust the paint rect for text underline, and it could
39550        end up being more than one pixel wide. Adding a roundedIntRect method on FloatRect for the simple
39551        short-circuit case.
39552
39553        No new tests. No change in behavior before switching to sub-pixel layout.
39554
39555        * platform/graphics/FloatRect.cpp:
39556        (WebCore::roundedIntRect):
39557        * platform/graphics/FloatRect.h:
39558        * platform/graphics/cg/GraphicsContextCG.cpp:
39559        (WebCore::GraphicsContext::roundToDevicePixels):
39560
395612012-04-18  Keishi Hattori  <keishi@webkit.org>
39562
39563        [chromium] Turn on ENABLE_DATALIST for chromium
39564        https://bugs.webkit.org/show_bug.cgi?id=84118
39565
39566        Reviewed by Kent Tamura.
39567
39568        * html/HTMLDataListElement.cpp: Touched to avoid build issues. No code change.
39569        * html/HTMLDataListElement.h: Ditto.
39570        * html/HTMLInputElement.cpp: Ditto.
39571        * html/HTMLInputElement.h: Ditto.
39572
395732012-04-18  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
39574
39575        [Qt] WheelEventQt.cpp should be deleted.
39576        https://bugs.webkit.org/show_bug.cgi?id=84237
39577
39578        Reviewed by Simon Hausmann.
39579
39580        * platform/qt/WheelEventQt.cpp: Removed.
39581
395822012-04-18  Emil A Eklund  <eae@chromium.org>
39583
39584        Unreviewed. Adding FIXME comment to FractionalLayoutUnit explaining the lack of size_t operators.
39585
39586        * platform/FractionalLayoutUnit.h:
39587        (FractionalLayoutUnit):
39588
395892012-04-18  Benjamin Poulain  <bpoulain@apple.com>
39590
39591        Remove m_subclassData from JSArray, move the attribute to subclass as needed
39592        https://bugs.webkit.org/show_bug.cgi?id=84249
39593
39594        Reviewed by Geoffrey Garen.
39595
39596        * bridge/runtime_array.cpp:
39597        (JSC::RuntimeArray::RuntimeArray):
39598        (JSC::RuntimeArray::finishCreation):
39599        * bridge/runtime_array.h:
39600        (JSC::RuntimeArray::getLength):
39601        (JSC::RuntimeArray::getConcreteArray):
39602        (RuntimeArray):
39603
396042012-04-18  Luiz Agostini  <luiz.agostini@palm.com>
39605
39606        matchMedia() MediaQueryList not updating
39607        https://bugs.webkit.org/show_bug.cgi?id=75903
39608
39609        Reviewed by Antti Koivisto.
39610
39611        Test: fast/media/media-query-list-08.html
39612
39613        Viewport related MediaQueryList listeners were not triggered and the value
39614        of matches were not updated if the document's style selector were not
39615        affected by viewport changes.
39616
39617        The new method evaluateMediaQueries() is now called by FrameView instead of
39618        styleSelectorChanged() if the style selector is not affected by viewport changes.
39619
39620        * dom/Document.cpp:
39621        (WebCore::Document::evaluateMediaQueries):
39622        (WebCore):
39623        (WebCore::Document::styleSelectorChanged):
39624        * dom/Document.h:
39625        (Document):
39626        * page/FrameView.cpp:
39627        (WebCore::FrameView::layout):
39628
396292012-04-18  Emil A Eklund  <eae@chromium.org>
39630
39631        Use explicit casts for size_t to unsigned conversion
39632        https://bugs.webkit.org/show_bug.cgi?id=83602
39633
39634        Reviewed by Eric Seidel.
39635
39636        No new tests, no change in functinality.
39637
39638        Not all platforms have implicit casts from size_t to unsigned and we
39639        can't add size_t versions of the operators to FractionalLayoutUnit for
39640        all platforms as it would conflict with the unsigned versions of same.
39641
39642        Change support methods to take unsigned instead of size_t and use
39643        explicit casts when multiplying or dividing a FractionalLayoutUnit with
39644        a size_t and the other way around.
39645
39646        * rendering/RenderBlock.cpp:
39647        (WebCore::RenderBlock::adjustForColumns):
39648        * rendering/RenderFlexibleBox.cpp:
39649        (WebCore::initialPackingOffset):
39650        (WebCore::packingSpaceBetweenChildren):
39651        (WebCore::initialLinePackingOffset):
39652        (WebCore::linePackingSpaceBetweenChildren):
39653        (WebCore::RenderFlexibleBox::packFlexLines):
39654        * rendering/RenderFrameSet.cpp:
39655        (WebCore::RenderFrameSet::layout):
39656
396572012-04-18  Pavel Feldman  <pfeldman@chromium.org>
39658
39659        Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context.
39660        https://bugs.webkit.org/show_bug.cgi?id=84166
39661
39662        Re-applying r114497.
39663
39664        * bindings/v8/V8IsolatedContext.cpp:
39665        (WebCore::setInjectedScriptContextDebugId):
39666        (WebCore):
39667        (WebCore::V8IsolatedContext::V8IsolatedContext):
39668        * bindings/v8/V8Proxy.cpp:
39669        (WebCore::V8Proxy::evaluateInIsolatedWorld):
39670        * bindings/v8/V8Proxy.h:
39671        (V8Proxy):
39672
396732012-04-18  Pavel Feldman  <pfeldman@chromium.org>
39674
39675        Web Inspector: extract script navigator overlay logic into the scripts navigator controller.
39676        https://bugs.webkit.org/show_bug.cgi?id=84244
39677
39678        Reviewed by Vsevolod Vlasov.
39679
39680        Overlay logic is well separable from the scripts panel and does not belong there.
39681        Extracting it into a separate class.
39682
39683        * inspector/front-end/ScriptsNavigator.js:
39684        (WebInspector.ScriptsNavigatorController.prototype.wasShown):
39685        (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton):
39686        (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen):
39687        (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator):
39688        (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator):
39689        (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator):
39690        (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay):
39691        (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay):
39692        (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
39693        * inspector/front-end/ScriptsPanel.js:
39694        (WebInspector.ScriptsPanel.prototype.wasShown):
39695        (WebInspector.ScriptsPanel.prototype._editorClosed):
39696        (WebInspector.ScriptsPanel.prototype._editorSelected):
39697        (WebInspector.ScriptsPanel.prototype._scriptSelected):
39698
396992012-04-18  Alexandru Chiculita  <achicu@adobe.com>
39700
39701        Unreviewed, trying to fix QT build.
39702        
39703        It was using a FilterEffectRenderer::prepare that changed to allocateBackingStoreIfNeeded in 114529.
39704
39705        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
39706        (WebCore::BitmapTextureImageBuffer::applyFilters):
39707
397082012-04-18  Pavel Feldman  <pfeldman@chromium.org>
39709
39710        Web Inspector: extract script navigator overlay logic into the scripts navigator controller.
39711        https://bugs.webkit.org/show_bug.cgi?id=84244
39712
39713        Reviewed by Vsevolod Vlasov.
39714
39715        Overlay logic is well separable from the scripts panel and does not belong there.
39716        Extracting it into a separate class.
39717
39718        * inspector/front-end/ScriptsNavigator.js:
39719        (WebInspector.ScriptsNavigatorController.prototype.wasShown):
39720        (WebInspector.ScriptsNavigatorController.prototype._createNavigatorControlButton):
39721        (WebInspector.ScriptsNavigatorController.prototype._escDownWhileNavigatorOverlayOpen):
39722        (WebInspector.ScriptsNavigatorController.prototype._toggleNavigator):
39723        (WebInspector.ScriptsNavigatorController.prototype._hidePinnedNavigator):
39724        (WebInspector.ScriptsNavigatorController.prototype.set _pinNavigator):
39725        (WebInspector.ScriptsNavigatorController.prototype.set showNavigatorOverlay):
39726        (WebInspector.ScriptsNavigatorController.prototype.hideNavigatorOverlay):
39727        (WebInspector.ScriptsNavigatorController.prototype._navigatorOverlayWasShown):
39728        * inspector/front-end/ScriptsPanel.js:
39729        (WebInspector.ScriptsPanel.prototype.wasShown):
39730        (WebInspector.ScriptsPanel.prototype._editorClosed):
39731        (WebInspector.ScriptsPanel.prototype._editorSelected):
39732        (WebInspector.ScriptsPanel.prototype._scriptSelected):
39733
397342012-04-18  Sheriff Bot  <webkit.review.bot@gmail.com>
39735
39736        Unreviewed, rolling out r114497.
39737        http://trac.webkit.org/changeset/114497
39738        https://bugs.webkit.org/show_bug.cgi?id=84253
39739
39740        Broke compile on Win, including stdio did not help (Requested
39741        by dimich on #webkit).
39742
39743        * bindings/v8/V8IsolatedContext.cpp:
39744        (WebCore::V8IsolatedContext::V8IsolatedContext):
39745        * bindings/v8/V8Proxy.cpp:
39746        (WebCore::V8Proxy::evaluateInIsolatedWorld):
39747        (WebCore::V8Proxy::setInjectedScriptContextDebugId):
39748        (WebCore):
39749        * bindings/v8/V8Proxy.h:
39750        (V8Proxy):
39751
397522012-04-18  Alexandru Chiculita  <achicu@adobe.com>
39753
39754        [CSS Filters] Drop-shadow and blur can avoid using full source image
39755        https://bugs.webkit.org/show_bug.cgi?id=81263
39756
39757        Reviewed by Dean Jackson.
39758
39759        Instead of using the full bounding box of the RenderLayer we now compute the exact rectangle that is needed to 
39760        compute filter inside the dirty rectangle on screen. That's easy to calculate by reversing the filter outsets.
39761        Even if the element is completely offscreen, but its shadow is in the viewport, we can still compute the source 
39762        rectangle that needs to be drawn in order to update the shadow correctly.
39763
39764        No new tests, this change doesn't have visible results and the functionality should
39765        already be covered by previous filter tests.
39766
39767        * rendering/FilterEffectRenderer.cpp:
39768        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
39769        (WebCore::FilterEffectRenderer::build): Save the outsets of the filters, so that we can use them in computeSourceImageRectForDirtyRect.
39770        (WebCore::FilterEffectRenderer::updateBackingStoreRect): Only allocate a new source image if the size of the source rectangle changed.
39771        (WebCore::FilterEffectRenderer::allocateBackingStoreIfNeeded): There's no need to call clearIntermediateResults() in this function. We do that after
39772        the filter is computed.
39773        (WebCore::FilterEffectRenderer::computeSourceImageRectForDirtyRect):
39774        (WebCore):
39775        (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
39776        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
39777        * rendering/FilterEffectRenderer.h:
39778        (FilterEffectRendererHelper):
39779        (WebCore::FilterEffectRendererHelper::repaintRect):
39780        (FilterEffectRenderer):
39781        * rendering/RenderLayer.cpp:
39782        (WebCore::RenderLayer::paintLayerContents):
39783
397842012-04-18  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
39785
39786        [EFL][DRT] @font-face support fails on EFL
39787        https://bugs.webkit.org/show_bug.cgi?id=83264
39788
39789        Reviewed by Dimitri Glazkov.
39790
39791        STORE_FONT_CUSTOM_PLATFORM_DATA was not defined for EFL.
39792        Fixing that by removing a long standing FIXME with the intention
39793        to turn the whitelist for this switch into a blacklist.
39794
39795        * loader/cache/CachedFont.cpp:
39796
397972012-04-18  Levi Weintraub  <leviw@chromium.org>
39798
39799        Convert ShadowData and DropShadowFilterOperation to use IntPoint
39800        https://bugs.webkit.org/show_bug.cgi?id=84098
39801
39802        Reviewed by Eric Seidel.
39803
39804        Shadows do not flow with the page, so sub-pixel layout doesn't actually offer any benefit that
39805        couldn't have been attained before that conversion. With that in mind, this patch reverts
39806        drop shadow offsets to integers, but also cleans up the code by switching the x/y location pair
39807        to be an IntPoint.
39808
39809        No new tests. No change in behavior.
39810
39811        * css/CSSComputedStyleDeclaration.cpp:
39812        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
39813        * css/CSSStyleSelector.cpp:
39814        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
39815        * css/SVGCSSStyleSelector.cpp:
39816        (WebCore::CSSStyleSelector::applySVGProperty):
39817        * page/animation/AnimationBase.cpp:
39818        (WebCore::blendFunc):
39819        (WebCore::shadowForBlending):
39820        * platform/animation/AnimationUtilities.h:
39821        (WebCore::blend): New blend function that operates on IntPoints.
39822        (WebCore):
39823        * platform/chromium/support/WebFilterOperations.cpp:
39824        (WebKit::WebDropShadowFilterOperation):
39825        * platform/graphics/filters/FilterOperation.cpp:
39826        (WebCore::DropShadowFilterOperation::blend):
39827        * platform/graphics/filters/FilterOperation.h:
39828        (WebCore::DropShadowFilterOperation::clone):
39829        (WebCore::DropShadowFilterOperation::x):
39830        (WebCore::DropShadowFilterOperation::y):
39831        (WebCore::DropShadowFilterOperation::location): Preserved the comment about lengths.
39832        (WebCore::DropShadowFilterOperation::operator==):
39833        (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
39834        (DropShadowFilterOperation):
39835        * rendering/RenderBoxModelObject.cpp:
39836        (WebCore::areaCastingShadowInHole): Reverted to integers since this operates on the IntRect from
39837        a RoundedRect.
39838        (WebCore::RenderBoxModelObject::paintBoxShadow): Reduced the complexity and unnecessary conversion
39839        between LayoutUnits and integers by using all integers after we calculate the pixel-snapped
39840        RoundedRect that we use for painting.
39841        * rendering/style/RenderStyle.cpp:
39842        (WebCore::RenderStyle::getShadowExtent):
39843        (WebCore::RenderStyle::getShadowHorizontalExtent):
39844        (WebCore::RenderStyle::getShadowVerticalExtent):
39845        * rendering/style/ShadowData.cpp:
39846        (WebCore::ShadowData::ShadowData):
39847        (WebCore::ShadowData::operator==):
39848        (WebCore::calculateShadowExtent):
39849        (WebCore::ShadowData::adjustRectForShadow):
39850        * rendering/style/ShadowData.h:
39851        (WebCore::ShadowData::ShadowData):
39852        (WebCore::ShadowData::x):
39853        (WebCore::ShadowData::y):
39854        (WebCore::ShadowData::location):
39855        (ShadowData):
39856
398572012-04-17  Kentaro Hara  <haraken@chromium.org>
39858
39859        [V8] Add an optional Isolate argument to wrap()
39860        https://bugs.webkit.org/show_bug.cgi?id=84202
39861
39862        Reviewed by Nate Chapin.
39863
39864        The final objective is to pass Isolate around in V8 bindings.
39865        This patch adds an optional Isolate argument to wrap().
39866        After rewriting all wrap() callers so that they pass Isolate
39867        to wrap(), I'll make the Isolate argument non-optional.
39868
39869        No tests. No change in behavior.
39870
39871        * bindings/scripts/CodeGeneratorV8.pm: Modified as described above.
39872        (GenerateHeader):
39873        * bindings/v8/custom/V8DocumentCustom.cpp: Ditto.
39874        (WebCore::toV8):
39875        * bindings/v8/custom/V8HTMLDocumentCustom.cpp: Ditto.
39876        (WebCore::toV8):
39877        * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
39878        (WebCore::toV8Slow):
39879        * bindings/v8/custom/V8SVGDocumentCustom.cpp: Ditto.
39880        (WebCore::toV8):
39881        * dom/make_names.pl: Ditto.
39882        (printWrapperFactoryCppFile):
39883
39884        * bindings/scripts/test/V8/V8Float64Array.h:
39885        Updated run-bindings-tests results.
39886        (V8Float64Array):
39887        (WebCore::V8Float64Array::wrap):
39888        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
39889        (V8TestActiveDOMObject):
39890        (WebCore::V8TestActiveDOMObject::wrap):
39891        (WebCore::toV8):
39892        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
39893        (V8TestCustomNamedGetter):
39894        (WebCore::V8TestCustomNamedGetter::wrap):
39895        (WebCore::toV8):
39896        * bindings/scripts/test/V8/V8TestEventConstructor.h:
39897        (V8TestEventConstructor):
39898        (WebCore::V8TestEventConstructor::wrap):
39899        (WebCore::toV8):
39900        * bindings/scripts/test/V8/V8TestEventTarget.h:
39901        (V8TestEventTarget):
39902        (WebCore::V8TestEventTarget::wrap):
39903        (WebCore::toV8):
39904        * bindings/scripts/test/V8/V8TestInterface.h:
39905        (V8TestInterface):
39906        (WebCore::V8TestInterface::wrap):
39907        (WebCore::toV8):
39908        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
39909        (V8TestMediaQueryListListener):
39910        (WebCore::V8TestMediaQueryListListener::wrap):
39911        (WebCore::toV8):
39912        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
39913        (V8TestNamedConstructor):
39914        (WebCore::V8TestNamedConstructor::wrap):
39915        (WebCore::toV8):
39916        * bindings/scripts/test/V8/V8TestNode.h:
39917        (V8TestNode):
39918        (WebCore::V8TestNode::wrap):
39919        (WebCore::toV8):
39920        * bindings/scripts/test/V8/V8TestObj.h:
39921        (V8TestObj):
39922        (WebCore::V8TestObj::wrap):
39923        (WebCore::toV8):
39924        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
39925        (V8TestSerializedScriptValueInterface):
39926        (WebCore::V8TestSerializedScriptValueInterface::wrap):
39927        (WebCore::toV8):
39928
399292012-04-18  Alexandru Chiculita  <achicu@adobe.com>
39930
39931        [CSS Filters] Do not use clipping rect when calculating the bounds of a layer
39932        https://bugs.webkit.org/show_bug.cgi?id=83960
39933
39934        Reviewed by Simon Fraser.
39935        
39936        The local clip rect should not be used when calculating the bounds of a filter area. Otherwise
39937        drop-shadow might not know about the pixels outside the clipping rectangle, even though the actual shadow might
39938        be inside it.
39939
39940        No new tests added in this patch, but this patch fixes two existing tests that fail.
39941        LayoutTests/css3/filters/filter-repaint-shadow-clipped.html
39942        LayoutTests/css3/filters/filter-repaint-shadow-rotated.html
39943
39944        * rendering/RenderLayer.cpp:
39945        (WebCore::RenderLayer::paintLayerContents):
39946        (WebCore::RenderLayer::calculateLayerBounds):
39947        * rendering/RenderLayer.h:
39948
399492012-04-18  Mark Pilgrim  <pilgrim@chromium.org>
39950
39951        Followup to "Call incrementStatsCounter directly"
39952        https://bugs.webkit.org/show_bug.cgi?id=83109
39953
39954        Reviewed by Kentaro Hara.
39955
39956        Now that incrementStatsCounter has been moved from
39957        PlatformSupport.h to Platform.h, we need to be able to call it directly
39958        from WebCore/bindings/v8/v8Proxy.h (for the INC_STATS macro). That
39959        means we need a new StatsCounter class in WebCore/platform/ and an
39960        implementation in
39961        WebCore/platform/chromium/StatsCounterChromium.cpp. Other ports
39962        are welcome to implement their own stats counters if they
39963        wish. This pattern was based on the
39964        HistogramSupport/HistogramSupportChromium classes.
39965
39966        * CMakeLists.txt:
39967        * GNUmakefile.list.am:
39968        * Target.pri:
39969        * WebCore.gypi:
39970        * WebCore.vcproj/WebCore.vcproj:
39971        * WebCore.xcodeproj/project.pbxproj:
39972        * bindings/v8/V8Proxy.h:
39973        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
39974        (WebCore::V8DedicatedWorkerContext::postMessageCallback):
39975        (WebCore::V8DedicatedWorkerContext::webkitPostMessageCallback):
39976        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
39977        (WebCore::V8NotificationCenter::createHTMLNotificationCallback):
39978        (WebCore::V8NotificationCenter::createNotificationCallback):
39979        (WebCore::V8NotificationCenter::requestPermissionCallback):
39980        * bindings/v8/custom/V8WorkerContextCustom.cpp:
39981        (WebCore::V8WorkerContext::importScriptsCallback):
39982        (WebCore::V8WorkerContext::setTimeoutCallback):
39983        (WebCore::V8WorkerContext::setIntervalCallback):
39984        * platform/StatsCounter.cpp: Added.
39985        (WebCore):
39986        (WebCore::StatsCounter::incrementStatsCounter):
39987        * platform/StatsCounter.h: Added.
39988        (WebCore):
39989        (StatsCounter):
39990        * platform/chromium/StatsCounterChromium.cpp: Added.
39991        (WebCore):
39992        (WebCore::StatsCounter::incrementStatsCounter):
39993
399942012-04-18  Alexander Pavlov  <apavlov@chromium.org>
39995
39996        [Chromium] REGRESSION: Popup shrinks because of autocomplete
39997        https://bugs.webkit.org/show_bug.cgi?id=84139
39998        http://code.google.com/p/chromium/issues/detail?id=123432
39999
40000        Do not update the window rect on the wrong client but instead return the popup widget's
40001        new screen coordinates from the refresh() method.
40002
40003        Reviewed by Kent Tamura.
40004
40005        * platform/chromium/PopupContainer.cpp:
40006        (WebCore::PopupContainer::refresh):
40007        * platform/chromium/PopupContainer.h:
40008        (PopupContainer):
40009
400102012-04-18  Simon Fraser  <simon.fraser@apple.com>
40011
40012        ASSERT when a layer with a foreground layer is in 'paint into ancestor' mode
40013        https://bugs.webkit.org/show_bug.cgi?id=84221
40014
40015        Reviewed by Dean Jackson.
40016        
40017        When a RenderLayerBacking doesn't require its own backing store, and is
40018        in "paintIntoCompositingAncestor" mode, we would assert when trying to
40019        paint its m_foregroundLayer if it had one (because of a negative z-index child).
40020        
40021        The fix is to set the 'drawsContent' state on the m_foregroundLayer
40022        as well as m_graphicsLayer.
40023
40024        Test: compositing/backing/no-backing-foreground-layer.html
40025
40026        * rendering/RenderLayerBacking.cpp:
40027        (WebCore::RenderLayerBacking::updateDrawsContent):
40028
400292012-04-18  Yury Semikhatsky  <yurys@chromium.org>
40030
40031        Web Inspector: DataGrid should use explicit root node
40032        https://bugs.webkit.org/show_bug.cgi?id=84240
40033
40034        DataGrid now has an explicit root node. All children are added/removed
40035        to that node.
40036
40037        Reviewed by Pavel Feldman.
40038
40039        * inspector/front-end/ApplicationCacheItemsView.js:
40040        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
40041        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
40042        * inspector/front-end/CSSSelectorProfileView.js:
40043        (WebInspector.CSSSelectorProfileView):
40044        (WebInspector.CSSSelectorProfileView.prototype.rebuildGridItems):
40045        (WebInspector.CSSSelectorProfileView.prototype.refreshData):
40046        * inspector/front-end/CookieItemsView.js:
40047        (WebInspector.SimpleCookiesTable):
40048        (WebInspector.SimpleCookiesTable.prototype.setCookies):
40049        * inspector/front-end/CookiesTable.js:
40050        (WebInspector.CookiesTable):
40051        (WebInspector.CookiesTable.prototype._rebuildTable):
40052        * inspector/front-end/DOMStorageItemsView.js:
40053        (WebInspector.DOMStorageItemsView.prototype._dataGridForDOMStorageEntries):
40054        * inspector/front-end/DataGrid.js:
40055        (WebInspector.DataGrid):
40056        (WebInspector.DataGrid.createSortableDataGrid.sortDataGrid):
40057        (WebInspector.DataGrid.createSortableDataGrid):
40058        (WebInspector.DataGrid.prototype.setRootNode):
40059        (WebInspector.DataGrid.prototype.rootNode):
40060        (WebInspector.DataGrid.prototype.autoSizeColumns):
40061        (WebInspector.DataGrid.prototype._enumerateChildren):
40062        (WebInspector.DataGrid.prototype._keyDown):
40063        (WebInspector.DataGrid.prototype._contextMenuInDataTable):
40064        (WebInspector.DataGridNode.prototype.get revealed):
40065        (WebInspector.DataGridNode.prototype.get depth):
40066        (WebInspector.DataGridNode.prototype.appendChild):
40067        (WebInspector.DataGridNode.prototype.insertChild):
40068        (WebInspector.DataGridNode.prototype.removeChild):
40069        (WebInspector.DataGridNode.prototype.removeChildren):
40070        (WebInspector.DataGridNode.prototype.collapse):
40071        (WebInspector.DataGridNode.prototype.expand):
40072        (WebInspector.DataGridNode.prototype.reveal):
40073        (WebInspector.DataGridNode.prototype.revealAndSelect):
40074        (WebInspector.DataGridNode.prototype.traverseNextNode):
40075        (WebInspector.DataGridNode.prototype.traversePreviousNode):
40076        * inspector/front-end/HeapSnapshotDataGrids.js:
40077        (WebInspector.HeapSnapshotSortableDataGrid):
40078        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
40079        (WebInspector.HeapSnapshotSortableDataGrid.prototype.changeNameFilter):
40080        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
40081        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
40082        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
40083        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
40084        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
40085        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
40086        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
40087        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
40088        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
40089        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
40090        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
40091        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
40092        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
40093        * inspector/front-end/HeapSnapshotGridNodes.js:
40094        (WebInspector.HeapSnapshotGenericObjectNode):
40095        * inspector/front-end/HeapSnapshotView.js:
40096        (WebInspector.HeapSnapshotView.prototype.performSearch):
40097        (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
40098        * inspector/front-end/IndexedDBViews.js:
40099        (WebInspector.IDBDataView.prototype._createDataGrid):
40100        (WebInspector.IDBDataView.prototype._updateData.callback):
40101        (WebInspector.IDBDataView.prototype._updateData):
40102        (WebInspector.IDBDataView.prototype.clear):
40103        * inspector/front-end/NetworkPanel.js:
40104        (WebInspector.NetworkLogView.prototype._createTable):
40105        (WebInspector.NetworkLogView.prototype.refresh):
40106        (WebInspector.NetworkLogView.prototype._reset):
40107        * inspector/front-end/ProfileDataGridTree.js:
40108        (WebInspector.ProfileDataGridNode.prototype.insertChild):
40109        (WebInspector.ProfileDataGridNode.prototype.removeChild):
40110        (WebInspector.ProfileDataGridNode.prototype.removeChildren):
40111        * inspector/front-end/ProfileView.js:
40112        (WebInspector.CPUProfileView.prototype.refresh):
40113        * inspector/front-end/treeoutline.js:
40114
401152012-04-18  Vineet Chaudhary  <rgf748@motorola.com>
40116
40117        Add PassThis=* to support the callbacks which requires to pass "this" value.
40118        https://bugs.webkit.org/show_bug.cgi?id=84232
40119
40120        Reviewed by Kentaro Hara.
40121
40122        Adding PassThisToCallback=XXX to attributes will be useful for the callbacks which requires to pass "this".
40123        This will help to identify the type(XXX) of "this" value in codegenerator.
40124
40125        Tests: bindings/scripts/test/TestCallback.idl
40126
40127        * bindings/scripts/CodeGeneratorJS.pm: 
40128        (GenerateCallbackImplementation): Modified codegenerator to support [PassThisToCallback]
40129        * bindings/scripts/CodeGeneratorV8.pm:
40130        (GenerateCallbackImplementation): Ditto.
40131        * bindings/scripts/IDLAttributes.txt: Added PassThisToCallback=*
40132        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp: Modofied results from run-bindings-tests.
40133        (WebDOMTestCallback::callbackWithBoolean):
40134        (WebDOMTestCallback::callbackRequiresThisToPass):
40135        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Ditto.
40136        (WebDOMTestCallback):
40137        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp: Ditto.
40138        (webkit_dom_test_callback_callback_with_boolean):
40139        (webkit_dom_test_callback_callback_requires_this_to_pass):
40140        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h: Ditto.
40141        * bindings/scripts/test/JS/JSTestCallback.cpp: Ditto.
40142        (WebCore::JSTestCallback::callbackWithBoolean):
40143        (WebCore):
40144        (WebCore::JSTestCallback::callbackRequiresThisToPass):
40145        * bindings/scripts/test/JS/JSTestCallback.h: Ditto.
40146        (JSTestCallback):
40147        * bindings/scripts/test/ObjC/DOMTestCallback.h: Ditto.
40148        * bindings/scripts/test/ObjC/DOMTestCallback.mm: Ditto.
40149        (-[DOMTestCallback callbackWithBoolean:]):
40150        (-[DOMTestCallback callbackRequiresThisToPass:thisClassParam:]):
40151        * bindings/scripts/test/TestCallback.idl: Added test to verify generated code.
40152        * bindings/scripts/test/V8/V8TestCallback.cpp: Ditto.
40153        (WebCore::V8TestCallback::callbackWithBoolean):
40154        (WebCore):
40155        (WebCore::V8TestCallback::callbackRequiresThisToPass):
40156        * bindings/scripts/test/V8/V8TestCallback.h: Ditto.
40157        (V8TestCallback):
40158
401592012-04-18  'Pavel Feldman'  <pfeldman@chromium.org>
40160
40161        Not reviewed: fixing Chromium win compilation.
40162
40163        * bindings/v8/V8IsolatedContext.cpp:
40164
401652012-04-18  Luke Macpherson  <macpherson@chromium.org>
40166
40167        Remove unnecessary variable reassignment in CSSParser::parseImageSet().
40168        https://bugs.webkit.org/show_bug.cgi?id=84204
40169
40170        Reviewed by Kentaro Hara.
40171
40172        Code calls next and then current instead of reusing the result of next.
40173
40174        No new tests / no functionality changed.
40175
40176        * css/CSSParser.cpp:
40177        (WebCore::CSSParser::parseImageSet):
40178
401792012-04-18  Jason Liu  <jason.liu@torchmobile.com.cn>
40180
40181        [BlackBerry] HTTP GET header has a "Cookie" when refreshing a page after cookies have been cleared.
40182        https://bugs.webkit.org/show_bug.cgi?id=84223
40183
40184        Reviewed by George Staikos.
40185
40186        Webkit uses the old ResourceRequest when refreshing. Its cookies' header isn't removed after clicking
40187        "clear cookies" button. We need to set cookies for this request again.
40188
40189        We must click "clear button" to test, so have to write a manual test case.
40190
40191        Test: ManualTests/blackberry/clear-cookie-refresh.php
40192
40193        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
40194        (WebCore::ResourceRequest::initializePlatformRequest):
40195
401962012-04-17  Pavel Feldman  <pfeldman@chromium.org>
40197
40198        Web Inspector: [Chromium] Module's require injects scripts before the debug id is set to the context.
40199        https://bugs.webkit.org/show_bug.cgi?id=84166
40200
40201        Reviewed by Yury Semikhatsky.
40202
40203        V8IsolatedContext was getting debug id assigned post-construction. At the same time, it was compiling all
40204        its module scripts within the constructor. As a result, scripts ended up in the main world's list.
40205
40206        * bindings/v8/V8IsolatedContext.cpp:
40207        (WebCore::setInjectedScriptContextDebugId):
40208        (WebCore):
40209        (WebCore::V8IsolatedContext::V8IsolatedContext):
40210        * bindings/v8/V8Proxy.cpp:
40211        (WebCore::V8Proxy::evaluateInIsolatedWorld):
40212        * bindings/v8/V8Proxy.h:
40213        (V8Proxy):
40214
402152012-04-17  Pavel Feldman  <pfeldman@chromium.org>
40216
40217        Web Inspector: document.open removes the documentElement, but does not clear the elements panel.
40218        https://bugs.webkit.org/show_bug.cgi?id=84179
40219
40220        Reviewed by Yury Semikhatsky.
40221
40222        Perform total update upon modifications of the document node.
40223
40224        Test: inspector/elements/delete-from-document.html
40225
40226        * inspector/InspectorDOMAgent.cpp:
40227        (WebCore::InspectorDOMAgent::didRemoveDOMNode):
40228        * inspector/front-end/ElementsTreeOutline.js:
40229
402302012-04-18  Max Feil  <mfeil@rim.com>
40231
40232        [BlackBerry] Tab awareness for HTML5 concurrent audio
40233        https://bugs.webkit.org/show_bug.cgi?id=82930
40234        Support for concurrent HTML5 audio improvements being made in
40235        the platform library, which need to be aware of tabs and tab
40236        visibility. PR96004.
40237
40238        Reviewed by George Staikos.
40239
40240        Test: media/audio-concurrent-supported.html
40241
40242        * platform/blackberry/PageClientBlackBerry.h:
40243        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
40244        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
40245        (WebCore::MediaPlayerPrivate::showErrorDialog):
40246        (WebCore::MediaPlayerPrivate::isTabVisible):
40247        (WebCore):
40248        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
40249        (MediaPlayerPrivate):
40250
402512012-04-18  Noel Gordon  <noel.gordon@gmail.com>
40252
40253        [CG] ImageBuffer: check getPremultipliedImageData() error return
40254        https://bugs.webkit.org/show_bug.cgi?id=84022
40255
40256        Reviewed by Eric Seidel.
40257
40258        ImageBuffer::getPremultipliedImageData() can fail. toDataURL() should check for a
40259        failure return, and return "data:," if so.
40260
40261        No new tests. Covered by existing toDataURL tests, in particular:
40262          canvas/philip/tests/toDataURL.jpeg.alpha.html
40263
40264        * platform/graphics/cg/ImageBufferCG.cpp:
40265        (WebCore::ImageBuffer::toDataURL): Rename |arr| variable to premultipliedData and
40266        return "data:," if premultipliedData is empty. Clean up whitespace and a comment.
40267
402682012-04-17  Rachel Blum  <groby@chromium.org>
40269
40270        Skia OOM error when upscaling small subsets of images by large quantities
40271        https://bugs.webkit.org/show_bug.cgi?id=84225
40272
40273        Reviewed by David Levin.
40274
40275        Tested with manual tests. 
40276
40277        * platform/graphics/skia/NativeImageSkia.cpp:
40278        (WebCore::NativeImageSkia::shouldCacheResampling):
40279
402802012-04-17  MORITA Hajime  <morrita@google.com>
40281
40282        ShadowRoot shouldn't be adopted by any Document.
40283        https://bugs.webkit.org/show_bug.cgi?id=84127
40284
40285        Reviewed by Dimitri Glazkov.
40286
40287        ShadowRoot cannot cannot be removed from its host, which means
40288        ShadowRoot cannot be adopted by any Document directly because the
40289        adoptNode() tries to remove it from its parent but it doesn't make
40290        sense for ShadowRoot.
40291
40292        This change adds a guard to check such a case.
40293
40294        Test: fast/dom/shadow/adopt-node-with-shadow-root.html
40295
40296        * dom/Document.cpp:
40297        (WebCore::Document::adoptNode):
40298
402992012-04-17  John Bauman  <jbauman@chromium.org>
40300
40301        [chromium] Ensure RateLimiter waits for Swapbuffers completion
40302        https://bugs.webkit.org/show_bug.cgi?id=83649
40303
40304        Reviewed by James Robinson.
40305
40306        We were waiting only on the canvas context, which with the new GPU
40307        scheduling was causing the RateLimiter not to ratelimit enough. We
40308        need to insert no-op commands in the compositor context, so that we'll
40309        wait for the canvas context and SwapBuffers as well.
40310
40311        * platform/graphics/chromium/LayerRendererChromium.cpp:
40312        (WebCore::LayerRendererChromium::doNoOp):
40313        (WebCore):
40314        * platform/graphics/chromium/LayerRendererChromium.h:
40315        (LayerRendererChromium):
40316        * platform/graphics/chromium/RateLimiter.cpp:
40317        (WebCore::RateLimiter::create):
40318        (WebCore::RateLimiter::RateLimiter):
40319        (WebCore::RateLimiter::rateLimitContext):
40320        * platform/graphics/chromium/RateLimiter.h:
40321        (RateLimiterClient):
40322        (WebCore):
40323        (RateLimiter):
40324        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
40325        (WebCore::CCLayerTreeHost::startRateLimiter):
40326        (WebCore::CCLayerTreeHost::rateLimit):
40327        (WebCore):
40328        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
40329        (CCLayerTreeHost):
40330        * platform/graphics/chromium/cc/CCProxy.h:
40331        (CCProxy):
40332        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
40333        (WebCore::CCSingleThreadProxy::forceNoOpCommand):
40334        (WebCore):
40335        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
40336        (CCSingleThreadProxy):
40337        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
40338        (WebCore::CCThreadProxy::forceNoOpCommand):
40339        (WebCore):
40340        (WebCore::CCThreadProxy::forceNoOpCommandOnImplThread):
40341        * platform/graphics/chromium/cc/CCThreadProxy.h:
40342        (CCThreadProxy):
40343
403442012-04-17  Andreas Kling  <kling@webkit.org>
40345
40346        CSSValuePool: Made identifier value cache a fixed-size array.
40347        <http://webkit.org/b/84219>
40348
40349        Reviewed by Antti Koivisto.
40350
40351        Change the identifier CSSPrimitiveValue cache in CSSValuePool from a HashMap to a
40352        fixed-size array of RefPtr<CSSPrimitiveValue>s.
40353
40354        We have ~700 values total, so this is quite space efficient now that the CSSValuePool
40355        is globally shared. More importantly it avoids a hash lookup every time we need an
40356        identifier value.
40357
40358        * css/CSSValuePool.h:
40359        * css/CSSValuePool.cpp:
40360        (WebCore::CSSValuePool::createIdentifierValue):
40361
403622012-04-17  Antoine Labour  <piman@chromium.org>
40363
40364        [Chromium] Clean up texture ids on the impl side when losing the context
40365        https://bugs.webkit.org/show_bug.cgi?id=84122
40366
40367        Reviewed by James Robinson.
40368
40369        Tested by CCLayerTreeHostImplTest.dontUseOldResourcesAfterLostContext.
40370
40371        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
40372        (WebCore::CCTextureLayerImpl::didLoseContext):
40373        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
40374        (WebCore::CCTiledLayerImpl::didLoseContext):
40375        (WebCore):
40376        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
40377        (CCTiledLayerImpl):
40378        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
40379        (WebCore::CCVideoLayerImpl::didLoseContext):
40380        (WebCore):
40381        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
40382        (CCVideoLayerImpl):
40383
403842012-04-17  Emil A Eklund  <eae@chromium.org>
40385
40386        Change RenderThemeChromiumSkia paint methods to use pixel snapping
40387        https://bugs.webkit.org/show_bug.cgi?id=84175
40388
40389        Reviewed by Eric Seidel.
40390
40391        No new tests, no change in functionality.
40392
40393        Change RenderThemeChromiumSkia to use subpixel types and pixel snap
40394        values just before painting.
40395
40396        * rendering/RenderThemeChromiumSkia.cpp:
40397        (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
40398        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
40399        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
40400        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
40401        * rendering/RenderThemeChromiumSkia.h:
40402
40403 2012-04-17  Levi Weintraub  <leviw@chromium.org>
40404
40405        Clean up outstanding LayoutUnit misuse in WebCore
40406        https://bugs.webkit.org/show_bug.cgi?id=84209
40407
40408        Reviewed by Eric Seidel.
40409
40410        Small changes to a handful of files to prepare trunk for FractionalLayoutUnits.
40411        For more details, see https://trac.webkit.org/wiki/LayoutUnit
40412
40413        No new tests. No change in behavior.
40414
40415        * css/CSSComputedStyleDeclaration.cpp:
40416        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): minimumValueForLength preserves
40417        sub-pixel precision, so we should avoid unnecessarily using integers.
40418        * platform/graphics/FractionalLayoutPoint.h:
40419        (WebCore::FractionalLayoutPoint::FractionalLayoutPoint): Adding an explicit constructor from
40420        FractionalLayoutSizes. This mirrors a method in IntPoint.
40421        * rendering/RenderBoxModelObject.cpp:
40422        (WebCore::RenderBoxModelObject::paintBorder): The rects that change come from roundedRects,
40423        which are already pixel-snapped.
40424        * rendering/RenderBoxModelObject.h: Removing a comment that is no longer applicable.
40425        * rendering/RenderTable.cpp:
40426        (WebCore::RenderTable::computeLogicalWidth): Since we layout tables using integers, we
40427        need to explicitly calculate the width to be integral as well to avoid pushing the next element
40428        over by a pixel that we won't later paint with our own box decorations.
40429        * rendering/RenderText.h:
40430        (RenderText): Correcting an unfortunate mismatch between in the return value of linesBoundingBox
40431        between the header and implementation.
40432        * rendering/style/RenderStyle.cpp:
40433        (WebCore::RenderStyle::getRoundedBorderFor): We were incorrectly not using the snapped border
40434        rect to pass to calcRadiiFor (which takes an IntRect). Correcting this.
40435
404362012-04-17  Luke Macpherson  <macpherson@chromium.org>
40437
40438        Ensure CSSParser member variables are initialized.
40439        https://bugs.webkit.org/show_bug.cgi?id=84205
40440
40441        Reviewed by Andreas Kling.
40442
40443        No new tests / code cleanup only.
40444
40445        * css/CSSParser.cpp:
40446        (WebCore::CSSParser::CSSParser):
40447
404482012-04-16  Alexandru Chiculita  <achicu@adobe.com>
40449
40450        Regression(114172): Use after free in CustomFilterProgram::notifyClients
40451        https://bugs.webkit.org/show_bug.cgi?id=84000
40452
40453        Reviewed by Dean Jackson.
40454
40455        The function returned early and the shaders didn't have a chance to be saved. Moving
40456        those two lines before the return false just to make sure that FilterEffectRenderer never adds
40457        itself as a client for a shader without keeping track of that.
40458
40459        No new tests. The problem reproduces with existing tests.
40460        css3/filters/custom/custom-filter-property-computed-style.html
40461        css3/filters/custom/effect-custom-combined-missing.html
40462
40463        * rendering/FilterEffectRenderer.cpp:
40464        (WebCore::FilterEffectRenderer::build):
40465
404662012-04-17  Alec Flett  <alecflett@chromium.org>
40467
40468        IndexedDB chooses wrong record on PREV_NO_DUPLICATE index cursor
40469        https://bugs.webkit.org/show_bug.cgi?id=60746
40470
40471        Reviewed by Ojan Vafai.
40472
40473        When iterating backwards with PREV_NO_DUPLICATE, keep walking past
40474        the 'prev' key until it changes, then walk forward one time. This
40475        covers the object store and index cases.
40476
40477        Test: storage/indexeddb/mozilla/index-prev-no-duplicate.html
40478
40479        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
40480        (WebCore):
40481
404822012-04-17  Yi Shen  <yi.4.shen@nokia.com>
40483
40484        Caret is not rendered properly inside an input element with text-indent
40485        https://bugs.webkit.org/show_bug.cgi?id=82688
40486
40487        Reviewed by Ryosuke Niwa.
40488
40489        For an empty input element, there is no RenderText. Instead, RenderBlock::localCaretRect provides
40490        the caret position for rendering the caret in the empty input element. To get correct caret rect,
40491        textIndentOffset() should be used to adjust the caret's position.
40492
40493        Test: editing/style/text-indent.html
40494
40495        * rendering/RenderBlock.cpp:
40496        (WebCore::RenderBlock::localCaretRect):
40497
404982012-04-17  Filip Pizlo  <fpizlo@apple.com>
40499
40500        It should be possible to create an inheritorID for the global this object without crashing
40501        https://bugs.webkit.org/show_bug.cgi?id=84200
40502        <rdar://problem/11251082>
40503
40504        Reviewed by Oliver Hunt.
40505
40506        No new tests, because the circumstances necessary to make this happen are rather hairy.
40507
40508        * bindings/js/JSDOMWindowShell.h:
40509        (WebCore::JSDOMWindowShell::window):
40510        (WebCore::JSDOMWindowShell::setWindow):
40511
405122012-04-17  Luke Macpherson  <macpherson@chromium.org>
40513
40514        Make CSSParser::parseValue()'s handling of CSSPropertyCursor more obviously correct.
40515        https://bugs.webkit.org/show_bug.cgi?id=83544
40516
40517        Reviewed by Kentaro Hara.
40518
40519        No new tests / code cleanup only.
40520
40521        The code as it stands appears to be correct, but static analysis was concerned that value could become null.
40522        This patch adds a null check and ASSERT_NOT_REACHED() to make the code more obviously correct.
40523
40524        * css/CSSParser.cpp:
40525        (WebCore::CSSParser::parseValue):
40526
405272012-04-17  David Reveman  <reveman@chromium.org>
40528
40529        [Chromium] Add TextureUploader which allows us to use persistent GC3D state for texture uploads.
40530        https://bugs.webkit.org/show_bug.cgi?id=83972
40531
40532        Reviewed by James Robinson.
40533
40534        Add TextureUploader class that allows us to add persistent GC3D state to the upload machinery.
40535
40536        * WebCore.gypi:
40537        * platform/graphics/chromium/LayerRendererChromium.cpp:
40538        (WebCore::LayerRendererChromium::initializeSharedObjects):
40539        (WebCore::LayerRendererChromium::cleanupSharedObjects):
40540        * platform/graphics/chromium/LayerRendererChromium.h:
40541        (WebCore::LayerRendererChromium::textureUploader):
40542        (LayerRendererChromium):
40543        * platform/graphics/chromium/TextureUploader.cpp: Added.
40544        (WebCore):
40545        (WebCore::AcceleratedTextureUploader::AcceleratedTextureUploader):
40546        (WebCore::AcceleratedTextureUploader::~AcceleratedTextureUploader):
40547        (WebCore::AcceleratedTextureUploader::uploadTexture):
40548        * platform/graphics/chromium/TextureUploader.h: Added.
40549        (WebCore):
40550        (TextureUploader):
40551        (WebCore::TextureUploader::~TextureUploader):
40552        (AcceleratedTextureUploader):
40553        (WebCore::AcceleratedTextureUploader::create):
40554        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
40555        (WebCore::CCSingleThreadProxy::doCommit):
40556        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
40557        (WebCore::CCTextureUpdater::update):
40558        * platform/graphics/chromium/cc/CCTextureUpdater.h:
40559        (WebCore):
40560        (CCTextureUpdater):
40561        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
40562        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
40563
405642012-04-17  Luke Macpherson  <macpherson@chromium.org>
40565
40566        Clean up CSSParser::parseFillRepeat().
40567        https://bugs.webkit.org/show_bug.cgi?id=83547
40568
40569        Reviewed by Kentaro Hara.
40570
40571        Removed multiple unnecessary calls to m_valueList->current().
40572        Restructured logic for parsing second value to make it clearer.
40573
40574        No new tests / code cleanup only.
40575
40576        * css/CSSParser.cpp:
40577        (WebCore::CSSParser::parseFillRepeat):
40578
405792012-04-17  Kentaro Hara  <haraken@chromium.org>
40580
40581        [V8] Pass Isolate to toV8Slow()
40582        https://bugs.webkit.org/show_bug.cgi?id=84173
40583
40584        Reviewed by Nate Chapin.
40585
40586        The final objective is to pass Isolate around in V8 bindings.
40587        This patch passes the Isolate to toV8Slow().
40588
40589        No tests. No change in behavior.
40590
40591        * bindings/scripts/CodeGeneratorV8.pm:
40592        (GenerateHeader):
40593        * bindings/v8/custom/V8NodeCustom.cpp:
40594        (WebCore::toV8Slow):
40595
405962012-04-17  Julien Chaffraix  <jchaffraix@webkit.org>
40597
40598        Fix the ACCELERATED_COMPOSITING code to not expose RenderLayer outside rendering
40599        https://bugs.webkit.org/show_bug.cgi?id=83816
40600
40601        Reviewed by James Robinson.
40602
40603        No change in behavior expected.
40604
40605        This code adds several functions on RenderBoxModelObject to forward
40606        to the associated layer. This removes the RenderLayer dependencies
40607        at the call sites.
40608
40609        Currently only RenderBoxModelObject can be hardware accelerated as
40610        we need a RenderLayer, this looks like the best place to put those
40611        new functions.
40612
40613        * rendering/RenderBoxModelObject.cpp:
40614        (WebCore::RenderBoxModelObject::contentChanged):
40615        (WebCore::RenderBoxModelObject::hasAcceleratedCompositing):
40616        (WebCore::RenderBoxModelObject::startTransition):
40617        (WebCore::RenderBoxModelObject::transitionPaused):
40618        (WebCore::RenderBoxModelObject::transitionFinished):
40619        (WebCore::RenderBoxModelObject::startAnimation):
40620        (WebCore::RenderBoxModelObject::animationPaused):
40621        (WebCore::RenderBoxModelObject::animationFinished):
40622        (WebCore::RenderBoxModelObject::suspendAnimations):
40623        * rendering/RenderBoxModelObject.h:
40624        Added the previous functions to hide the layer need.
40625
40626        * rendering/RenderLayer.cpp:
40627        (WebCore::RenderLayer::hasAcceleratedCompositing):
40628        * rendering/RenderLayer.h:
40629        Removed the previous method as it was superseeded by the
40630        one on RenderBoxModelObject. Also moved the ContentChangeType
40631        enumaration.
40632
40633        * rendering/RenderLayerBacking.cpp:
40634        (WebCore::RenderLayerBacking::contentChanged):
40635        * rendering/RenderLayerBacking.h:
40636        (RenderLayerBacking):
40637        Updated after the ContentChangeType enumaration move.
40638
40639        * html/HTMLCanvasElement.cpp:
40640        (WebCore::HTMLCanvasElement::reset):
40641        (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
40642        * html/canvas/CanvasRenderingContext2D.cpp:
40643        (WebCore::CanvasRenderingContext2D::didDraw):
40644        * html/canvas/WebGLRenderingContext.cpp:
40645        (WebCore::WebGLRenderingContext::markContextChanged):
40646        (WebCore::WebGLRenderingContext::reshape):
40647        * page/animation/AnimationBase.cpp:
40648        (WebCore::AnimationBase::freezeAtTime):
40649        * page/animation/ImplicitAnimation.cpp:
40650        (WebCore::ImplicitAnimation::startAnimation):
40651        (WebCore::ImplicitAnimation::pauseAnimation):
40652        (WebCore::ImplicitAnimation::endAnimation):
40653        * page/animation/KeyframeAnimation.cpp:
40654        (WebCore::KeyframeAnimation::startAnimation):
40655        (WebCore::KeyframeAnimation::pauseAnimation):
40656        (WebCore::KeyframeAnimation::endAnimation):
40657        * rendering/RenderBox.cpp:
40658        (WebCore::RenderBox::imageChanged):
40659        * rendering/RenderImage.cpp:
40660        (WebCore::RenderImage::imageDimensionsChanged):
40661        (WebCore::RenderImage::notifyFinished):
40662        * rendering/RenderVideo.cpp:
40663        (WebCore::RenderVideo::updatePlayer):
40664        Updated all those call sites to use the new functions. Also
40665        removed unneeded RenderLayer.h include as we went.
40666
406672012-04-16  Andy Estes  <aestes@apple.com>
40668
40669        -webkit-mask-box-image does not draw when layer tree flattening is enabled
40670        https://bugs.webkit.org/show_bug.cgi?id=84111
40671
40672        Reviewed by Simon Fraser.
40673
40674        No new tests since taking pixel test results with
40675        PaintBehaviorFlattenCompositingLayers set is not currently supported.
40676        <https://bugs.webkit.org/show_bug.cgi?id=84110> tracks fixing this.
40677
40678        When painting mask images, we should take the non-composited path if
40679        layers are being flattened.
40680
40681        * rendering/InlineFlowBox.cpp:
40682        (WebCore::InlineFlowBox::paintMask):
40683        * rendering/RenderBox.cpp:
40684        (WebCore::RenderBox::paintMaskImages):
40685
406862012-04-17  Emil A Eklund  <eae@chromium.org>
40687
40688        Rollout r114404 as it broke a couple of chromium builds.
40689
40690        * platform/FractionalLayoutUnit.h:
40691        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
40692        (WebCore::FractionalLayoutUnit::isInBounds):
40693        (WebCore):
40694
406952012-04-17  Ben Murdoch  <benm@google.com>
40696
40697        `localStorage.setItem` can overwrite `localStorage` methods
40698        https://bugs.webkit.org/show_bug.cgi?id=30996
40699
40700        Update the JSC and V8 bindings such that if the name of the DOM
40701        Storage property being retrieved is a match for a property in the
40702        prototype, always return the prototype version. If there is a DOM
40703        Storage key of the same name, it can still be retrieved via the
40704        getItem method. This prevents storage methods from being
40705        accidentally hidden. This brings WebKit behavior in line with the
40706        de facto standard implemented by FireFox and IE.
40707
40708        Reviewed by Kentaro Hara.
40709
40710        Test: storage/domstorage/storage-functions-not-overwritten.html
40711
40712        * bindings/js/JSStorageCustom.cpp:
40713        (WebCore::JSStorage::nameGetter):
40714        * bindings/v8/custom/V8StorageCustom.cpp:
40715        (WebCore::V8Storage::namedPropertyGetter):
40716
407172012-04-17  Emil A Eklund  <eae@chromium.org>
40718
40719        Fix Chromium/Windows build broken by r114404.
40720
40721        * platform/FractionalLayoutUnit.h:
40722
407232012-04-17  Kentaro Hara  <haraken@chromium.org>
40724
40725        [Performance][V8] Skip Isolate look-up to find StringCache
40726        https://bugs.webkit.org/show_bug.cgi?id=84103
40727
40728        Reviewed by Nate Chapin.
40729
40730        This patch improves the performance of a lot of DOM attribute
40731        getters that return a string.
40732
40733        - Improves the performance of Dromaeo/dom-attr.html(element.property)
40734          by 27.7%.
40735        - Improves the performance of Dromaeo/dom-attr.html(getAttribute)
40736          by 10.6%.
40737        - Improves the performance of div.id, div.className,
40738          div.nodeName, text.nodeValue, text.textContent by 12% -- 21%.
40739
40740        The followings are the test results in my Linux desktop.
40741
40742        Performance test: Dromaeo/dom-attr.html
40743        Total:                     674.64runs/s ->  707.03runs/s (+ 4.8%)
40744        getAttribute:             1537.60runs/s -> 1700.20runs/s (+10.6%)
40745        element.property:         1389.00runs/s -> 1774.20runs/s (+27.7%)
40746        setAttribute:              538.88runs/s ->  548.87runs/s (+ 1.9%)
40747        element.property = value:  644.07runs/s ->  656.67runs/s (+ 2.0%)
40748        element.expando = value:   219.76runs/s ->  207.14runs/s (- 6.8%)
40749        element.expando:           578.77runs/s ->  554.67runs/s (- 4.2%)
40750
40751        Performance test: https://bugs.webkit.org/attachment.cgi?id=137440
40752        div.id:           30.70ns -> 26.70ns (+15%)
40753        div.className:    31.10ns -> 26.40ns (+18%)
40754        div.nodeName:     37.70ns -> 33.00ns (+14%)
40755        text.nodeValue:   31.40ns -> 25.90ns (+21%)
40756        text.textContent: 51.50ns -> 45.90ns (+12%)
40757
40758        Previously V8 bindings need to look up an Isolate to find
40759        an Isolate-local StringCache. This patch skips the look-up
40760        by getting the Isolate from AccessorInfo.GetIsolate()
40761        or Arguments.GetIsolate().
40762
40763        No tests. No change in behavior.
40764
40765        * bindings/scripts/CodeGeneratorV8.pm:
40766        (GenerateNormalAttrGetter):
40767        (GenerateFunctionCallString):
40768        (NativeToJSValue):
40769        * bindings/v8/V8Binding.cpp:
40770        (WebCore::getElementStringAttr):
40771        * bindings/v8/V8Binding.h:
40772        (WebCore::v8ExternalString): Make 'isolate' an optional argument.
40773        Ideally we want to make 'isolate' a non-optional argument,
40774        but it is difficult to rewrite all v8ExternalString() callers
40775        at a breath. We can rewrite them incrementally.
40776        (WebCore::v8String): Ditto.
40777        (WebCore::v8StringOrNull): Ditto.
40778        (WebCore::v8StringOrUndefined): Ditto.
40779        (WebCore::v8StringOrFalse): Ditto.
40780
40781        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated run-bindings-tests results.
40782        (WebCore::TestEventConstructorV8Internal::attr1AttrGetter):
40783        (WebCore::TestEventConstructorV8Internal::attr2AttrGetter):
40784        * bindings/scripts/test/V8/V8TestInterface.cpp:
40785        (WebCore::TestInterfaceV8Internal::supplementalStr1AttrGetter):
40786        (WebCore::TestInterfaceV8Internal::supplementalStr2AttrGetter):
40787        * bindings/scripts/test/V8/V8TestObj.cpp:
40788        (WebCore::TestObjV8Internal::readOnlyStringAttrAttrGetter):
40789        (WebCore::TestObjV8Internal::stringAttrAttrGetter):
40790        (WebCore::TestObjV8Internal::reflectedStringAttrAttrGetter):
40791        (WebCore::TestObjV8Internal::reflectedURLAttrAttrGetter):
40792        (WebCore::TestObjV8Internal::reflectedCustomURLAttrAttrGetter):
40793        (WebCore::TestObjV8Internal::stringAttrWithGetterExceptionAttrGetter):
40794        (WebCore::TestObjV8Internal::stringAttrWithSetterExceptionAttrGetter):
40795        (WebCore::TestObjV8Internal::hashAttrGetter):
40796        (WebCore::TestObjV8Internal::conditionalMethod1Callback):
40797
407982012-04-17  Chris Fleizach  <cfleizach@apple.com>
40799
40800        Crash in invalid index for _textMarkerForIndex
40801        https://bugs.webkit.org/show_bug.cgi?id=84104
40802
40803        Reviewed by Beth Dakin.
40804
40805        Test: platform/mac/accessibility/textmarker-for-index-out-of-bounds-crash.html
40806
40807        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
40808        (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
40809
408102012-04-17  Jer Noble  <jer.noble@apple.com>
40811
40812        HTML5 Video Full Screen button broken (looks like white square)
40813        https://bugs.webkit.org/show_bug.cgi?id=84101
40814
40815        Reviewed by Dan Bernstein.
40816
40817        No new tests; updated platform results which were previously rebaselined.
40818
40819        Use the correct CSS keyword for the -webkit-appearance of the full screen button.
40820
40821        * css/mediaControls.css:
40822        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
40823
408242012-04-17  Tom Sepez  <tsepez@chromium.org>
40825
40826        Framesniffing defense is too aggressive.
40827        https://bugs.webkit.org/show_bug.cgi?id=83721
40828
40829        Reviewed by James Robinson.
40830
40831        The RenderLayer code currently propagates scroll position to parent frames
40832        without any cross-origin checks.  This gives it a quick origin boundary check
40833        that is set by FrameLoader only when performing a fragment navigation.  This 
40834        allows us to safely relax the restriction on not scrolling at load time in 
40835        FrameLoader since the safe thing will happen later on at scroll time.
40836        
40837        Test: http/tests/navigation/anchor-frames-same-origin.html
40838
40839        * dom/Document.cpp:
40840        (WebCore::Document::findUnsafeParentScrollPropagationBoundary):
40841        * dom/Document.h:
40842        (Document):
40843        * loader/FrameLoader.cpp:
40844        (WebCore::FrameLoader::finishedParsing):
40845        (WebCore::FrameLoader::loadInSameDocument):
40846        (WebCore::FrameLoader::scrollToFragmentWithParentBoundary):
40847        * loader/FrameLoader.h:
40848        (FrameLoader):
40849        * page/FrameView.cpp:
40850        (WebCore::FrameView::FrameView):
40851        (WebCore::FrameView::reset):
40852        * page/FrameView.h:
40853        (WebCore::FrameView::safeToPropagateScrollToParent):
40854        (WebCore::FrameView::setSafeToPropagateScrollToParent):
40855        (FrameView):
40856        * rendering/RenderLayer.cpp:
40857        (WebCore::RenderLayer::scrollRectToVisible):
40858
408592012-04-17  Emil A Eklund  <eae@chromium.org>
40860
40861        Add size_t versions of multiplication and division operators to FractionalLayoutUnit
40862        https://bugs.webkit.org/show_bug.cgi?id=83848
40863
40864        Reviewed by Julien Chaffraix.
40865
40866        Add size_t versions of operator* and operator/ for platforms where there
40867        is no ambiguity between unsigned int and size_t.
40868
40869        No new tests, no new functionality.
40870
40871        * platform/FractionalLayoutUnit.h:
40872        (FractionalLayoutUnit):
40873        (WebCore::FractionalLayoutUnit::FractionalLayoutUnit):
40874        (WebCore::FractionalLayoutUnit::isInBounds):
40875        (WebCore):
40876        (WebCore::operator*):
40877        (WebCore::operator/):
40878
408792012-04-17  Kentaro Hara  <haraken@chromium.org>
40880
40881        [V8] Add an optional Isolate argument to toV8().
40882        https://bugs.webkit.org/show_bug.cgi?id=84161
40883
40884        Reviewed by Nate Chapin.
40885
40886        The final objective is to pass Isolate around in V8 bindings.
40887        This patch adds an optional Isolate argument to toV8().
40888        After rewriting all toV8() callers so that they pass Isolate,
40889        I will make the Isolate argument non-optional.
40890
40891        No tests. No change in behavior.
40892
40893        * bindings/scripts/CodeGeneratorV8.pm:
40894        Modified as described above.
40895        (GenerateHeader):
40896        (NativeToJSValue):
40897        * bindings/v8/custom/V8BlobCustom.cpp:
40898        (WebCore::toV8):
40899        * bindings/v8/custom/V8CSSRuleCustom.cpp:
40900        (WebCore::toV8):
40901        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp:
40902        (WebCore::toV8):
40903        * bindings/v8/custom/V8CSSValueCustom.cpp:
40904        (WebCore::toV8):
40905        * bindings/v8/custom/V8CanvasPixelArrayCustom.cpp:
40906        (WebCore::toV8):
40907        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
40908        (WebCore::toV8):
40909        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
40910        (WebCore::toV8):
40911        * bindings/v8/custom/V8DOMWindowCustom.cpp:
40912        (WebCore::toV8):
40913        * bindings/v8/custom/V8DataViewCustom.cpp:
40914        (WebCore::toV8):
40915        * bindings/v8/custom/V8DocumentCustom.cpp:
40916        (WebCore::toV8):
40917        * bindings/v8/custom/V8EntryCustom.cpp:
40918        (WebCore::toV8):
40919        * bindings/v8/custom/V8EntrySyncCustom.cpp:
40920        (WebCore::toV8):
40921        * bindings/v8/custom/V8EventCustom.cpp:
40922        (WebCore::toV8):
40923        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
40924        (WebCore::toV8):
40925        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
40926        (WebCore::toV8):
40927        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
40928        (WebCore::toV8):
40929        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
40930        (WebCore::toV8):
40931        * bindings/v8/custom/V8HTMLElementCustom.cpp:
40932        (WebCore::toV8):
40933        * bindings/v8/custom/V8IDBAnyCustom.cpp:
40934        (WebCore::toV8):
40935        * bindings/v8/custom/V8IDBKeyCustom.cpp:
40936        (WebCore::toV8):
40937        * bindings/v8/custom/V8ImageDataCustom.cpp:
40938        (WebCore::toV8):
40939        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
40940        (WebCore::toV8):
40941        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
40942        (WebCore::toV8):
40943        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
40944        (WebCore::toV8):
40945        * bindings/v8/custom/V8LocationCustom.cpp:
40946        (WebCore::toV8):
40947        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
40948        (WebCore::toV8):
40949        * bindings/v8/custom/V8NodeCustom.cpp:
40950        (WebCore::toV8Slow):
40951        * bindings/v8/custom/V8SVGDocumentCustom.cpp:
40952        (WebCore::toV8):
40953        * bindings/v8/custom/V8SVGElementCustom.cpp:
40954        (WebCore::toV8):
40955        * bindings/v8/custom/V8SVGPathSegCustom.cpp:
40956        (WebCore::toV8):
40957        * bindings/v8/custom/V8ScriptProfileCustom.cpp:
40958        (WebCore::toV8):
40959        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
40960        (WebCore::toV8):
40961        * bindings/v8/custom/V8StyleSheetCustom.cpp:
40962        (WebCore::toV8):
40963        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
40964        (WebCore::toV8):
40965        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
40966        (WebCore::toV8):
40967        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
40968        (WebCore::toV8):
40969        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
40970        (WebCore::toV8):
40971        * bindings/v8/custom/V8WorkerContextCustom.cpp:
40972        (WebCore::toV8):
40973
40974        * bindings/scripts/test/V8/V8Float64Array.h:
40975        Updated run-bindings-tests results.
40976        (WebCore):
40977        (WebCore::toV8):
40978        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
40979        (WebCore::toV8):
40980        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
40981        (WebCore::toV8):
40982        * bindings/scripts/test/V8/V8TestEventConstructor.h:
40983        (WebCore::toV8):
40984        * bindings/scripts/test/V8/V8TestEventTarget.h:
40985        (WebCore::toV8):
40986        * bindings/scripts/test/V8/V8TestInterface.h:
40987        (WebCore::toV8):
40988        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
40989        (WebCore::toV8):
40990        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
40991        (WebCore::toV8):
40992        * bindings/scripts/test/V8/V8TestNode.h:
40993        (WebCore::toV8):
40994        * bindings/scripts/test/V8/V8TestObj.h:
40995        (WebCore::toV8):
40996        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
40997        (WebCore::toV8):
40998
409992012-04-17  Yury Semikhatsky  <yurys@chromium.org>
41000
41001        Web Inspector: move heap snapshot data grids into their own file
41002        https://bugs.webkit.org/show_bug.cgi?id=84160
41003
41004        Moved heap snapshot data grids into a separate file.
41005
41006        Reviewed by Pavel Feldman.
41007
41008        * WebCore.gypi:
41009        * WebCore.vcproj/WebCore.vcproj:
41010        * inspector/compile-front-end.py:
41011        * inspector/front-end/DataGrid.js:
41012        * inspector/front-end/HeapSnapshotDataGrids.js: Added.
41013        (WebInspector.HeapSnapshotSortableDataGrid):
41014        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
41015        (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
41016        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
41017        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
41018        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
41019        (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
41020        (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
41021        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
41022        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
41023        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
41024        (WebInspector.HeapSnapshotContainmentDataGrid):
41025        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
41026        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
41027        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
41028        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
41029        (WebInspector.HeapSnapshotRetainmentDataGrid):
41030        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
41031        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
41032        (WebInspector.HeapSnapshotConstructorsDataGrid):
41033        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
41034        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
41035        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
41036        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
41037        (WebInspector.HeapSnapshotDiffDataGrid):
41038        (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
41039        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
41040        (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
41041        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
41042        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
41043        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
41044        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
41045        (WebInspector.HeapSnapshotDominatorsDataGrid):
41046        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
41047        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
41048        * inspector/front-end/HeapSnapshotView.js:
41049        * inspector/front-end/WebKit.qrc:
41050        * inspector/front-end/inspector.html:
41051
410522012-04-17  Vivek Galatage  <vivekgalatage@gmail.com>
41053
41054        Script make_names.pl should generate consistent .h & .cpp files
41055        https://bugs.webkit.org/show_bug.cgi?id=84140
41056
41057        Reviewed by Kentaro Hara.
41058
41059        Added a newline character and removed ';' after the DEFINE_GLOBAL
41060
41061        No test cases required for this change.
41062
41063        * dom/make_names.pl:
41064        (printNamesCppFile):
41065
410662012-04-17  Aaron Colwell  <acolwell@chromium.org>
41067
41068        Add webkitSourceAddId() & webkitSourceRemoveId() to HTMLMediaElement
41069        and propagate calls to the MediaPlayerPrivate interface.
41070        These are needed to bring the Media Source implementation 
41071        up to date with the new 0.4 version of the Media Source spec.
41072        http://html5-mediasource-api.googlecode.com/svn/tags/0.4/draft-spec/mediasource-draft-spec.html
41073        https://bugs.webkit.org/show_bug.cgi?id=83616
41074
41075        Reviewed by Eric Carlson, Darin Fisher.
41076
41077        Test: http/tests/media/media-source/webm/video-media-source-add-and-remove-ids.html
41078
41079        * html/HTMLMediaElement.cpp:
41080        (WebCore):
41081        (WebCore::HTMLMediaElement::isValidSourceId):
41082        (WebCore::HTMLMediaElement::webkitSourceAddId):
41083        (WebCore::HTMLMediaElement::webkitSourceRemoveId):
41084        (WebCore::HTMLMediaElement::setSourceState):
41085        * html/HTMLMediaElement.h:
41086        (HTMLMediaElement):
41087        * html/HTMLMediaElement.idl:
41088        * platform/graphics/MediaPlayer.cpp:
41089        (WebCore::NullMediaPlayerPrivate::sourceAddId):
41090        (WebCore::NullMediaPlayerPrivate::sourceRemoveId):
41091        (WebCore):
41092        (WebCore::MediaPlayer::sourceAddId):
41093        (WebCore::MediaPlayer::sourceRemoveId):
41094        * platform/graphics/MediaPlayer.h:
41095        * platform/graphics/MediaPlayerPrivate.h:
41096        (WebCore::MediaPlayerPrivateInterface::sourceAddId):
41097        (WebCore::MediaPlayerPrivateInterface::sourceRemoveId):
41098
410992012-04-17  Alexander Pavlov  <apavlov@chromium.org>
41100
41101        Web Inspector: [CRASH] InspectorDOMAgent::didInsertDOMNode() on page reload with open Inspector
41102        https://bugs.webkit.org/show_bug.cgi?id=84154
41103
41104        Check that a node inserted actually has a parent.
41105
41106        Reviewed by Yury Semikhatsky.
41107
41108        Test: inspector/elements/elements-panel-reload-assert.html
41109
41110        * inspector/InspectorDOMAgent.cpp:
41111        (WebCore::InspectorDOMAgent::didInsertDOMNode):
41112
411132012-04-17  Dana Jansens  <danakj@chromium.org>
41114
41115        [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
41116        https://bugs.webkit.org/show_bug.cgi?id=83543
41117
41118        Reviewed by Adrienne Walker.
41119
41120        It should not be possible to make a rect in layer space that is clipped
41121        by the camera but for which the screen space transform gives a
41122        rectilinear output. But use consistent methods for checking that the
41123        result remains enclosed within the actual pixels.
41124
41125        One day when clipped is true, we can find an interior axis-aligned rect
41126        within the clipped result, and checking clipped explicitly makes this
41127        more clear.
41128
41129        Covered by existing tests.
41130
41131        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
41132        (WebCore::computeOcclusionBehindLayer):
41133        (WebCore::::markOccludedBehindLayer):
41134
411352012-04-17  Vsevolod Vlasov  <vsevik@chromium.org>
41136
41137        Web Inspector: Suggest box appears after the command was executed in console sometimes.
41138        https://bugs.webkit.org/show_bug.cgi?id=84148
41139
41140        Reviewed by Pavel Feldman.
41141
41142        TextPrompt.complete() requests completions asynchronously, this change adds a flag
41143        that informs TextPrompt._completionsReady() whether completions should still be shown.
41144
41145        * inspector/front-end/TextPrompt.js:
41146        (WebInspector.TextPrompt.prototype.clearAutoComplete):
41147        (WebInspector.TextPrompt.prototype.complete):
41148        (WebInspector.TextPrompt.prototype._completionsReady):
41149
411502012-04-17  Yong Li  <yoli@rim.com>
41151
41152        REGRESSION (r105453): Crash when handling touch events
41153        https://bugs.webkit.org/show_bug.cgi?id=81958
41154
41155        Reviewed by Antonio Gomes.
41156
41157        Always perform sanity checks when handling every touch point
41158        because the node and document may have been destroyed or detached.
41159
41160        ManualTests/touch-stale-iframe-crash.html added.
41161        (DumpRenderTree doesn't support transiting touch states in one shot yet)
41162
41163        * page/EventHandler.cpp:
41164        (WebCore::EventHandler::handleTouchEvent):
41165
411662012-04-17  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
41167
41168        Asserts in XMLHttpRequestProgressEventThrottle
41169        https://bugs.webkit.org/show_bug.cgi?id=81506
41170
41171        Reviewed by Julien Chaffraix.
41172
41173        The asserts were incorrectly triggered because suspending active DOM objects
41174        (which suspends the XMLHttpRequestProgressEventThrottle) doesn't stop JavaScript
41175        from running or suspend any running loader we may have. The previous code would
41176        assume those 2 cases were impossible.
41177
41178        When XmlHttpRequest::open is called or data is received while the XmlHttpRequest object
41179        is suspended the object may attempt to dispatch events. This patch defers these events
41180        until the object is resumed.
41181
41182        Progress events are coalesced similar to normal throttling, and readystate-change events
41183        are coalesced to avoid identical events emitted right after eachother.
41184
41185        On resume the events are dispatched after a timer to avoid interfering with 
41186        ScriptExecutionContext which is iterating over suspended objects.
41187
41188        Test: fast/events/pagehide-xhr-open.html
41189
41190        * xml/XMLHttpRequestProgressEventThrottle.cpp:
41191        (WebCore::XMLHttpRequestProgressEventThrottle::XMLHttpRequestProgressEventThrottle):
41192        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchProgressEvent):
41193        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
41194        (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
41195        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchDeferredEvents):
41196        (WebCore::XMLHttpRequestProgressEventThrottle::fired):
41197        (WebCore::XMLHttpRequestProgressEventThrottle::suspend):
41198        (WebCore::XMLHttpRequestProgressEventThrottle::resume):
41199        * xml/XMLHttpRequestProgressEventThrottle.h:
41200        (XMLHttpRequestProgressEventThrottle):
41201
412022012-04-16  Vsevolod Vlasov  <vsevik@chromium.org>
41203
41204        Web Inspector: [Chromium] Crash when inspecting empty IndexedDB object store.
41205        https://bugs.webkit.org/show_bug.cgi?id=84035
41206
41207        Reviewed by Pavel Feldman.
41208
41209        Added a check that m_idbCursor is not null before calling postSuccessHandlerCallback() on it.
41210
41211        * inspector/InspectorIndexedDBAgent.cpp:
41212        (WebCore):
41213
412142012-04-17  Pavel Feldman  <pfeldman@chromium.org>
41215
41216        Web Inspector: [regression r112413]content scripts tree outline is not added to the tab.
41217        https://bugs.webkit.org/show_bug.cgi?id=84146
41218
41219        Reviewed by Vsevolod Vlasov.
41220
41221        Adding the tree to the container.
41222
41223        * inspector/front-end/ScriptsNavigator.js:
41224        (WebInspector.ScriptsNavigator):
41225
412262012-04-17  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
41227
41228        [EFL][WK2] Fix build break when CONTEXT_MENUS is disabled.
41229        https://bugs.webkit.org/show_bug.cgi?id=83285
41230
41231        Reviewed by Ryosuke Niwa.
41232
41233        * platform/ContextMenuItem.h: Remove macro around enums - needed by InjectedBundle.
41234        (WebCore):
41235        * platform/Widget.h: Remove namespace WebCore for PlatformPageClient typedef.
41236
412372012-04-17  Kent Tamura  <tkent@chromium.org>
41238
41239        Introduce an internal feature for a fixed placeholder
41240        https://bugs.webkit.org/show_bug.cgi?id=84009
41241
41242        Reviewed by Hajime Morita.
41243
41244        This change adds a framework to support fixed placeholder string for
41245        textfield-like <input> without the palceholder attribute support. This
41246        doesn't change any behavior of input types which support the
41247        'placeholder' attribute.
41248
41249        According to the standard, <input type=date> doesn't support the
41250        'placeholder' attribute. However it is a kind of text field in WebKit
41251        platforms with ENABLE_CALENDAR_PICKER, and we may show something useful
41252        information as the default placeholder.
41253
41254        No new tests because of no behavior changes.
41255
41256        * html/HTMLTextFormControlElement.h:
41257        (HTMLTextFormControlElement): Make isPlaceholderEmpty() virtual.
41258        * html/HTMLInputElement.h:
41259        (HTMLInputElement): Overrides isPlaceholderEmpty().
41260        * html/HTMLInputElement.cpp:
41261        (WebCore::HTMLInputElement::isPlaceholderEmpty):
41262        Check InputType::defaultPlaceholder() if InputType::usesFixedPlaceholder().
41263        * html/InputType.cpp:
41264        (WebCore::InputType::usesFixedPlaceholder): Added. Returns false.
41265        (WebCore::InputType::fixedPlaceholder): Added. Returns a null string.
41266        * html/InputType.h:
41267        (InputType): Add usesFixedPlaceholder() and fixedPlaceholder().
41268        * html/TextFieldInputType.cpp:
41269        (WebCore::TextFieldInputType::updatePlaceholderText):
41270        Uses fixedPlaceholder() instead of strippedPlaceholder() if usesFixedPlaceholder().
41271
412722012-04-17  Kent Tamura  <tkent@chromium.org>
41273
41274        Move some code of LocalizedNumberICU.cpp to ICULocale.cpp
41275        https://bugs.webkit.org/show_bug.cgi?id=84128
41276
41277        Reviewed by Hajime Morita.
41278
41279        No new tests. No behavior change.
41280
41281        * WebCore.gypi: Add ICULocale.cpp
41282        * platform/text/ICULocale.cpp:
41283        Added. Move some code from LocalizedNumberICU.cpp
41284        * platform/text/ICULocale.h:
41285        (ICULocale): Add currentLocale().
41286        * platform/text/LocalizedNumberICU.cpp:
41287        (WebCore::convertToLocalizedNumber): Use ICULocale::currentLocale().
41288        (WebCore::convertFromLocalizedNumber): ditto.
41289
412902012-04-17  Bang Kwang min  <justine.bang@samsung.com>
41291
41292        [Plugins] delete ws_info regardless of window mode.
41293        https://bugs.webkit.org/show_bug.cgi?id=83004
41294
41295        Reviewed by Simon Hausmann.
41296
41297        m_npWindow.ws_info should be deleted even if plugin run as windowless mode to remove memory leak.
41298        Every plugin works well after this patch without any crash.
41299        Additionally, change casting syntax to C++ style.
41300
41301        * plugins/PluginView.cpp:
41302        (WebCore::PluginView::stop):
41303
413042012-04-17  Kent Tamura  <tkent@chromium.org>
41305
41306        Calendar Picker: Support RTL layout
41307        https://bugs.webkit.org/show_bug.cgi?id=83668
41308
41309        Reviewed by Hajime Morita.
41310
41311        Manual test: ManualTests/forms/calendar-picker.html
41312
41313        * Resources/calendarPicker.js:
41314        (layout): If params.isRTL, add dir=rtl to the body.
41315        (DaysTable.prototype._handleKey): Reverse Left and Right cursor keys if RTL.
41316        * html/shadow/CalendarPickerElement.cpp:
41317        (WebCore::addProperty): Add addProperty() with a bool value.
41318        (WebCore::CalendarPickerElement::writeDocument):
41319        Check the direction of the first character of localized January label,
41320        and pass it as isRTL property.
41321
413222012-04-16  Carlos Garcia Campos  <cgarcia@igalia.com>
41323
41324        Unreviewed. Fix make distcheck issues.
41325
41326        * GNUmakefile.list.am: Add missing files.
41327
413282012-04-16  Hajime Morrita  <morrita@chromium.org>
41329
41330        insertedIntoDocument and insertedIntoTree should be unitifed.
41331        https://bugs.webkit.org/show_bug.cgi?id=82701
41332
41333        Reviewed by Ryosuke Niwa.
41334
41335        Both Node::insertedIntoTree() and Node::insertedIntoDocument() are
41336        served as lifecycle callbacks which are invoked when a node is
41337        inserted into its new parent. There are also removedFromTree()
41338        and removedFromDocument() respectively. Considering that this pair
41339        of virtual functions are laid onto the hot path, it's worth
41340        merging them into one, to gain some speedup. Such
41341        unification could clarify the semantics as well.
41342
41343        This change makes following change to merge these functions.
41344
41345        - pulling the tree traversal out from ContainerNode to ChildNodeInsertionNotifier.
41346        - letting new Node::insertInto() do the job for its own, but not
41347          for its children and
41348        - Pass the parent of each insertion root as a parameter of insertedInto().
41349          This root node can tell inserted node where it is inserted,
41350          specifically whetehr the insertion is to the document or not.
41351
41352        Same pattern is also applied to Node::removedFromDocument() and
41353        Node::removedFromTree(), which are factored to Node::removedFrom()
41354        and ChildNodeRemovalNotifier respectively.
41355
41356        Speed up on Dromaeo/dom-modify.html is about 2%.
41357        Further speed-up by de-virtulization would be possible.
41358
41359        Caveat:
41360
41361        There is possible situation where a node need to invoke
41362        insertedInto() after its children is nofitied, instead of before
41363        that.  It was represented naturally with previous
41364        traversal-by-ContainerNode pattern, but is no longer simple with
41365        this new external traversal. To support this scenario, we
41366        introduced the InsertionNotificationRequest as a return value of insertedInto()
41367        and a supplemental hook Node::didNotifyDescendantInseretions(). See for
41368        example HTMLFormElement.cpp to learn how it works.
41369
41370        No new tests. Covered by existing tests.
41371
41372        * CMakeLists.txt:
41373        * GNUmakefile.list.am:
41374        * Target.pri:
41375        * WebCore.gypi:
41376        * WebCore.xcodeproj/project.pbxproj:
41377        * dom/ContainerNode.cpp:
41378        (WebCore::ContainerNode::parserInsertBefore):
41379        (WebCore::ContainerNode::removeChild):
41380        (WebCore::ContainerNode::parserRemoveChild):
41381        (WebCore::ContainerNode::removeChildren):
41382        (WebCore::ContainerNode::parserAddChild):
41383        (WebCore::updateTreeAfterInsertion):
41384        * dom/ContainerNode.h:
41385        (ContainerNode):
41386        (WebCore::Node::highestAncestor):
41387        (WebCore):
41388        * dom/ContainerNodeAlgorithms.cpp: Added.
41389        (WebCore):
41390        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoDocument):
41391        (WebCore::ChildNodeInsertionNotifier::notifyDescendantInsertedIntoTree):
41392        (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromDocument):
41393        (WebCore::ChildNodeRemovalNotifier::notifyDescendantRemovedFromTree):
41394        * dom/ContainerNodeAlgorithms.h:
41395        (ChildNodeInsertionNotifier):
41396        (WebCore::ChildNodeInsertionNotifier::ChildNodeInsertionNotifier):
41397        (WebCore):
41398        (ChildNodeRemovalNotifier):
41399        (WebCore::ChildNodeRemovalNotifier::ChildNodeRemovalNotifier):
41400        (WebCore::removeAllChildrenInContainer):
41401        (WebCore::appendChildToContainer):
41402        (Private):
41403        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoDocument):
41404        (WebCore::ChildNodeInsertionNotifier::notifyNodeInsertedIntoTree):
41405        (WebCore::ChildNodeInsertionNotifier::notifyInsertedIntoDocument):
41406        (WebCore::ChildNodeInsertionNotifier::notify):
41407        (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromDocument):
41408        (WebCore::ChildNodeRemovalNotifier::notifyNodeRemovedFromTree):
41409        (WebCore::ChildNodeRemovalNotifier::notify):
41410        * dom/DOMAllInOne.cpp:
41411        * dom/DocumentType.cpp:
41412        (WebCore::DocumentType::insertedInto):
41413        (WebCore::DocumentType::removedFrom):
41414        * dom/DocumentType.h:
41415        (DocumentType):
41416        * dom/Element.cpp:
41417        (WebCore::Element::insertedInto):
41418        (WebCore::Element::removedFrom):
41419        * dom/Element.h:
41420        (Element):
41421        * dom/Node.cpp:
41422        (WebCore::Node::insertedInto):
41423        (WebCore::Node::removedFrom):
41424        * dom/Node.h:
41425        (Node):
41426        (WebCore::Node::didNotifyDescendantInseretions):
41427        * dom/ProcessingInstruction.cpp:
41428        (WebCore::ProcessingInstruction::insertedInto):
41429        (WebCore::ProcessingInstruction::removedFrom):
41430        * dom/ProcessingInstruction.h:
41431        (ProcessingInstruction):
41432        * dom/ScriptElement.cpp:
41433        (WebCore::ScriptElement::insertedInto):
41434        * dom/ScriptElement.h:
41435        (WebCore):
41436        (ScriptElement):
41437        * dom/ShadowTree.cpp:
41438        (WebCore::ShadowTree::addShadowRoot):
41439        (WebCore::ShadowTree::removeAllShadowRoots):
41440        * dom/ShadowTree.h:
41441        (ShadowTree):
41442        (ShadowRootVector):
41443        (WebCore::ShadowRootVector::ShadowRootVector):
41444        (WebCore):
41445        * html/FormAssociatedElement.cpp:
41446        (WebCore::FormAssociatedElement::insertedInto):
41447        (WebCore::FormAssociatedElement::removedFrom):
41448        (WebCore::FormAssociatedElement::formRemovedFromTree):
41449        * html/FormAssociatedElement.h:
41450        (FormAssociatedElement):
41451        * html/HTMLBaseElement.cpp:
41452        (WebCore::HTMLBaseElement::insertedInto):
41453        (WebCore::HTMLBaseElement::removedFrom):
41454        * html/HTMLBaseElement.h:
41455        (HTMLBaseElement):
41456        * html/HTMLBodyElement.cpp:
41457        (WebCore::HTMLBodyElement::insertedInto):
41458        (WebCore::HTMLBodyElement::didNotifyDescendantInseretions):
41459        * html/HTMLBodyElement.h:
41460        (HTMLBodyElement):
41461        * html/HTMLFormControlElement.cpp:
41462        (WebCore::HTMLFormControlElement::insertedInto):
41463        (WebCore::HTMLFormControlElement::removedFrom):
41464        * html/HTMLFormControlElement.h:
41465        (HTMLFormControlElement):
41466        * html/HTMLFormElement.cpp:
41467        (WebCore::HTMLFormElement::insertedInto):
41468        (WebCore::HTMLFormElement::didNotifyDescendantInseretions):
41469        (WebCore::HTMLFormElement::removedFrom):
41470        * html/HTMLFormElement.h:
41471        (HTMLFormElement):
41472        * html/HTMLFrameElementBase.cpp:
41473        (WebCore::HTMLFrameElementBase::insertedInto):
41474        (WebCore):
41475        (WebCore::HTMLFrameElementBase::didNotifyDescendantInseretions):
41476        * html/HTMLFrameElementBase.h:
41477        (HTMLFrameElementBase):
41478        * html/HTMLFrameSetElement.cpp:
41479        (WebCore::HTMLFrameSetElement::insertedInto):
41480        (WebCore::HTMLFrameSetElement::removedFrom):
41481        * html/HTMLFrameSetElement.h:
41482        (HTMLFrameSetElement):
41483        * html/HTMLIFrameElement.cpp:
41484        (WebCore::HTMLIFrameElement::insertedInto):
41485        (WebCore::HTMLIFrameElement::removedFrom):
41486        * html/HTMLIFrameElement.h:
41487        (HTMLIFrameElement):
41488        * html/HTMLImageElement.cpp:
41489        (WebCore::HTMLImageElement::insertedInto):
41490        (WebCore::HTMLImageElement::removedFrom):
41491        * html/HTMLImageElement.h:
41492        (HTMLImageElement):
41493        * html/HTMLInputElement.cpp:
41494        (WebCore::HTMLInputElement::insertedInto):
41495        (WebCore::HTMLInputElement::removedFrom):
41496        * html/HTMLInputElement.h:
41497        * html/HTMLLinkElement.cpp:
41498        (WebCore::HTMLLinkElement::insertedInto):
41499        (WebCore::HTMLLinkElement::removedFrom):
41500        * html/HTMLLinkElement.h:
41501        (HTMLLinkElement):
41502        * html/HTMLMapElement.cpp:
41503        (WebCore::HTMLMapElement::insertedInto):
41504        (WebCore::HTMLMapElement::removedFrom):
41505        * html/HTMLMapElement.h:
41506        (HTMLMapElement):
41507        * html/HTMLMediaElement.cpp:
41508        (WebCore::HTMLMediaElement::insertedInto):
41509        (WebCore::HTMLMediaElement::removedFrom):
41510        * html/HTMLMediaElement.h:
41511        (HTMLMediaElement):
41512        * html/HTMLMetaElement.cpp:
41513        (WebCore::HTMLMetaElement::insertedInto):
41514        * html/HTMLMetaElement.h:
41515        (HTMLMetaElement):
41516        * html/HTMLObjectElement.cpp:
41517        (WebCore::HTMLObjectElement::insertedInto):
41518        (WebCore::HTMLObjectElement::removedFrom):
41519        * html/HTMLObjectElement.h:
41520        (HTMLObjectElement):
41521        * html/HTMLOptionElement.cpp:
41522        (WebCore::HTMLOptionElement::insertedInto):
41523        * html/HTMLOptionElement.h:
41524        (HTMLOptionElement):
41525        * html/HTMLQuoteElement.cpp:
41526        (WebCore::HTMLQuoteElement::insertedInto):
41527        * html/HTMLQuoteElement.h:
41528        (HTMLQuoteElement):
41529        * html/HTMLScriptElement.cpp:
41530        (WebCore::HTMLScriptElement::insertedInto):
41531        * html/HTMLScriptElement.h:
41532        (HTMLScriptElement):
41533        * html/HTMLSelectElement.cpp:
41534        (WebCore::HTMLSelectElement::insertedInto):
41535        * html/HTMLSelectElement.h:
41536        * html/HTMLSourceElement.cpp:
41537        (WebCore::HTMLSourceElement::insertedInto):
41538        * html/HTMLSourceElement.h:
41539        (HTMLSourceElement):
41540        * html/HTMLStyleElement.cpp:
41541        (WebCore::HTMLStyleElement::insertedInto):
41542        (WebCore::HTMLStyleElement::removedFrom):
41543        * html/HTMLStyleElement.h:
41544        (HTMLStyleElement):
41545        * html/HTMLTextFormControlElement.cpp:
41546        (WebCore::HTMLTextFormControlElement::insertedInto):
41547        * html/HTMLTextFormControlElement.h:
41548        * html/HTMLTitleElement.cpp:
41549        (WebCore::HTMLTitleElement::insertedInto):
41550        (WebCore::HTMLTitleElement::removedFrom):
41551        * html/HTMLTitleElement.h:
41552        (HTMLTitleElement):
41553        * html/HTMLTrackElement.cpp:
41554        (WebCore::HTMLTrackElement::insertedInto):
41555        * html/HTMLTrackElement.h:
41556        (HTMLTrackElement):
41557        * mathml/MathMLMathElement.cpp:
41558        (WebCore::MathMLMathElement::insertedInto):
41559        * mathml/MathMLMathElement.h:
41560        (MathMLMathElement):
41561        * svg/SVGElement.cpp:
41562        (WebCore::SVGElement::removedFrom):
41563        * svg/SVGElement.h:
41564        (SVGElement):
41565        * svg/SVGFEImageElement.cpp:
41566        (WebCore::SVGFEImageElement::insertedInto):
41567        (WebCore::SVGFEImageElement::removedFrom):
41568        * svg/SVGFEImageElement.h:
41569        (SVGFEImageElement):
41570        * svg/SVGFontFaceElement.cpp:
41571        (WebCore::SVGFontFaceElement::insertedInto):
41572        (WebCore::SVGFontFaceElement::removedFrom):
41573        * svg/SVGFontFaceElement.h:
41574        (SVGFontFaceElement):
41575        * svg/SVGFontFaceUriElement.cpp:
41576        (WebCore::SVGFontFaceUriElement::insertedInto):
41577        * svg/SVGFontFaceUriElement.h:
41578        (SVGFontFaceUriElement):
41579        * svg/SVGGlyphElement.cpp:
41580        (WebCore::SVGGlyphElement::insertedInto):
41581        (WebCore::SVGGlyphElement::removedFrom):
41582        * svg/SVGGlyphElement.h:
41583        (SVGGlyphElement):
41584        * svg/SVGHKernElement.cpp:
41585        (WebCore::SVGHKernElement::insertedInto):
41586        (WebCore::SVGHKernElement::removedFrom):
41587        * svg/SVGHKernElement.h:
41588        (SVGHKernElement):
41589        * svg/SVGImageElement.cpp:
41590        (WebCore::SVGImageElement::insertedInto):
41591        * svg/SVGImageElement.h:
41592        (SVGImageElement):
41593        * svg/SVGSVGElement.cpp:
41594        (WebCore::SVGSVGElement::insertedInto):
41595        (WebCore::SVGSVGElement::removedFrom):
41596        * svg/SVGSVGElement.h:
41597        (SVGSVGElement):
41598        * svg/SVGScriptElement.cpp:
41599        (WebCore::SVGScriptElement::insertedInto):
41600        * svg/SVGScriptElement.h:
41601        (SVGScriptElement):
41602        * svg/SVGStyleElement.cpp:
41603        (WebCore::SVGStyleElement::insertedInto):
41604        (WebCore::SVGStyleElement::removedFrom):
41605        * svg/SVGStyleElement.h:
41606        (SVGStyleElement):
41607        * svg/SVGStyledElement.cpp:
41608        (WebCore::SVGStyledElement::insertedInto):
41609        (WebCore::SVGStyledElement::removedFrom):
41610        (WebCore::SVGStyledElement::updateRelativeLengthsInformation):
41611        * svg/SVGStyledElement.h:
41612        (SVGStyledElement):
41613        * svg/SVGTRefElement.cpp:
41614        (WebCore::SVGTRefElement::buildPendingResource):
41615        (WebCore::SVGTRefElement::insertedInto):
41616        (WebCore::SVGTRefElement::removedFrom):
41617        * svg/SVGTRefElement.h:
41618        (SVGTRefElement):
41619        * svg/SVGTextPathElement.cpp:
41620        (WebCore::SVGTextPathElement::insertedInto):
41621        * svg/SVGTextPathElement.h:
41622        * svg/SVGTitleElement.cpp:
41623        (WebCore::SVGTitleElement::insertedInto):
41624        (WebCore::SVGTitleElement::removedFrom):
41625        * svg/SVGTitleElement.h:
41626        (SVGTitleElement):
41627        * svg/SVGUseElement.cpp:
41628        (WebCore::SVGUseElement::insertedInto):
41629        (WebCore::SVGUseElement::removedFrom):
41630        * svg/SVGUseElement.h:
41631        (SVGUseElement):
41632        * svg/SVGVKernElement.cpp:
41633        (WebCore::SVGVKernElement::insertedInto):
41634        (WebCore::SVGVKernElement::removedFrom):
41635        * svg/SVGVKernElement.h:
41636        (SVGVKernElement):
41637        * svg/animation/SVGSMILElement.cpp:
41638        (WebCore::SVGSMILElement::insertedInto):
41639        (WebCore::SVGSMILElement::removedFrom):
41640        * svg/animation/SVGSMILElement.h:
41641        (SVGSMILElement):
41642
416432012-04-16  David Barr  <davidbarr@chromium.org>
41644
41645        Stack overflow in CSS parser caused by recursive stylesheet import
41646        https://bugs.webkit.org/show_bug.cgi?id=83545
41647
41648        Reviewed by Ryosuke Niwa.
41649
41650        Test: http/tests/css/css-imports-redirect-cycle.html
41651
41652        * css/CSSImportRule.cpp:
41653        (WebCore::StyleRuleImport::requestStyleSheet):
41654
416552012-04-16  Kent Tamura  <tkent@chromium.org>
41656
41657        Rename LocalizedNumberICU.h to ICULocale.h
41658        https://bugs.webkit.org/show_bug.cgi?id=84119
41659
41660        Reviewed by Kentaro Hara.
41661
41662        LocalizedNumberICU.h contains only ICULocale class. It should be
41663        named as ICULocale.h. We're going to move some functions in
41664        LocalizedDateICU.cpp and LocalizedCalendarICU.cpp to ICULocale,
41665        and add unit tests for them.
41666
41667        * WebCore.gypi: Rename LocalizedNumberICU.h to ICULocale.h
41668        * platform/text/ICULocale.h:
41669        Renamed from Source/WebCore/platform/text/LocalizedNumberICU.h.
41670        * platform/text/LocalizedNumberICU.cpp:
41671        Rename LocalizedNumberICU.h to ICULocale.h
41672
416732012-04-16  James Robinson  <jamesr@chromium.org>
41674
41675        [chromium] Move paintRenderedResultsToCanvas code into DrawingBuffer
41676        https://bugs.webkit.org/show_bug.cgi?id=84066
41677
41678        Reviewed by Adrienne Walker.
41679
41680        WebGLLayerChromium used to be responsible for the readback path for software painting WebGL canvases (for
41681        printing, etc), but this path no longer has any compositor interaction. This moves the code into
41682        DrawingBufferChromium which is responsible for managing the front / back buffers for WebGL.
41683
41684        * platform/graphics/chromium/DrawingBufferChromium.cpp:
41685        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
41686        * platform/graphics/chromium/WebGLLayerChromium.cpp:
41687        * platform/graphics/chromium/WebGLLayerChromium.h:
41688        (WebGLLayerChromium):
41689
416902012-04-16  Dana Jansens  <danakj@chromium.org>
41691
41692        [chromium] Expose compositor filters to Aura through WebLayer
41693        https://bugs.webkit.org/show_bug.cgi?id=80054
41694
41695        Reviewed by James Robinson.
41696
41697        Adds WebFilterOperation that wraps WebCore::FilterOperation and
41698        WebFilterOperations that wraps WebCore::FilterOperations.
41699
41700        We add support for most of the FilterOperation subclasses, and
41701        allow the user to set the WebFilterOperations for both layer
41702        content filters and background filters.
41703
41704        * WebCore.gypi:
41705        * platform/chromium/support/WebFilterOperation.cpp: Added.
41706        (WebKit):
41707        (WebKit::WebBasicColorMatrixFilterOperation::toFilterOperation):
41708        (WebKit::WebBasicComponentTransferFilterOperation::toFilterOperation):
41709        (WebKit::WebBlurFilterOperation::toFilterOperation):
41710        (WebKit::WebDropShadowFilterOperation::toFilterOperation):
41711        * platform/chromium/support/WebFilterOperations.cpp: Added.
41712        (WebKit):
41713        (WebKit::WebFilterOperations::WebFilterOperations):
41714        (WebKit::WebFilterOperations::append):
41715        (WebKit::WebFilterOperations::clear):
41716        (WebKit::WebFilterOperations::toFilterOperations):
41717
417182012-04-16  Andrei Burago  <aburago@chromium.org>
41719
41720        Auto-sized frames may be taller than expected
41721        https://bugs.webkit.org/show_bug.cgi?id=84106
41722
41723        Reviewed by David Levin.
41724
41725        No new tests. The repro steps require using Chrome notifications on Win.
41726
41727        * page/FrameView.cpp:
41728        (WebCore::FrameView::autoSizeIfEnabled):
41729
417302012-04-13  James Robinson  <jamesr@chromium.org>
41731
41732        [chromium] Expose WebVideoLayer to Platform API and port WebMediaPlayerClientImpl to using it
41733        https://bugs.webkit.org/show_bug.cgi?id=83963
41734
41735        Reviewed by Adrienne Walker.
41736
41737        Converts VideoLayerChromium / CCVideoLayerImpl to use a Platform WebVideoFrameProvider interface instead of a
41738        WebCore VideoFrameProvider.
41739
41740        * WebCore.gypi:
41741        * platform/graphics/chromium/VideoLayerChromium.cpp:
41742        (WebCore::VideoLayerChromium::create):
41743        (WebCore::VideoLayerChromium::VideoLayerChromium):
41744        * platform/graphics/chromium/VideoLayerChromium.h:
41745        (WebKit):
41746        (WebCore):
41747        (VideoLayerChromium):
41748        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
41749        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
41750        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
41751        (WebCore::CCVideoLayerImpl::create):
41752        (CCVideoLayerImpl):
41753
417542012-04-16  Takashi Sakamoto  <tasak@google.com>
41755
41756        [Shadow DOM] InsertionPoint should have isActive() member function.
41757        https://bugs.webkit.org/show_bug.cgi?id=82010
41758
41759        Reviewed by Hajime Morita.
41760
41761        This patch adds isActive public member function to InsertionPoint and
41762        makes InsertionPoint elements consider whether active or not.
41763        If an InsertionPoint is inactive, the element is not shadow boundary
41764        and is needed to be rendered.
41765        c.f. https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#dfn-active-insertion-point
41766
41767        Test: update existing tests, i.e.
41768        LayoutTests/fast/dom/shadow/shadow-contents-fallback-dynamic.html and
41769        LayoutTests/fast/dom/shadow/shadow-contents-fallback.html
41770
41771        * html/shadow/InsertionPoint.cpp:
41772        (WebCore::InsertionPoint::isActive):
41773        A new public method for checking whether an insertion point is active or inactive.
41774        If active, returns true. Otherwise, false.
41775        (WebCore::InsertionPoint::isShadowBoundary):
41776        Make the method consider whether an insertin point is active or inactive.
41777        (WebCore::InsertionPoint::rendererIsNeeded):
41778        Changed to return true If an insertion point is inactive.
41779        (WebCore::InsertionPoint::attach):
41780        Changed to call only HTMLElement::attach If an insertion point is inactive.
41781        (WebCore::InsertionPoint::detach):
41782        Changed to call only HTMLElement::detach If an insertion point is inactive.
41783        * html/shadow/InsertionPoint.h:
41784        (InsertionPoint):
41785        Added isActive public method.
41786        * dom/NodeRenderingContext.cpp:
41787        (WebCore::NodeRenderingContext::NodeRenderingContext):
41788        Changed to take into account an insertion point's activeness when parent is an insertion point.
41789        (WebCore::NodeRenderingContext::firstRendererOf):
41790        (WebCore::NodeRenderingContext::lastRendererOf):
41791        Changed to take into account an insertion point's activeness.
41792
417932012-04-16  MORITA Hajime  <morrita@google.com>
41794
41795        Type tags in NodeFlags could be compressed
41796        https://bugs.webkit.org/show_bug.cgi?id=79299
41797
41798        Because existing node flags which indicate the class of each node
41799        are mutually exclusive, these flags can be represented as a enum.
41800        This patch introduces Node::NodeTypeTag to turn these flags into a
41801        enum, and embeds it into Node::m_nodeFlags.
41802
41803        Reviewed by Antti Koivisto.
41804
41805        No new tests. No bahavior change.
41806
41807        * dom/Node.cpp:
41808        (WebCore):
41809        * dom/Node.h:
41810        (WebCore):
41811        (Node):
41812        (WebCore::Node::typeTag):
41813        (WebCore::Node::parentNode):
41814        (WebCore::Node::parentNodeGuaranteedHostFree):
41815        (WebCore::Node::isContainerNode):
41816        (WebCore::Node::isElementNode):
41817        (WebCore::Node::isStyledElement):
41818        (WebCore::Node::isTextNode):
41819        (WebCore::Node::isHTMLElement):
41820        (WebCore::Node::isSVGElement):
41821        (WebCore::Node::isShadowRoot):
41822
418232012-04-16  Sheriff Bot  <webkit.review.bot@gmail.com>
41824
41825        Unreviewed, rolling out r114285.
41826        http://trac.webkit.org/changeset/114285
41827        https://bugs.webkit.org/show_bug.cgi?id=84107
41828
41829        broke fast/media/media-query-list-08.html in Mac (Requested by
41830        andersca on #webkit).
41831
41832        * dom/Document.cpp:
41833        (WebCore::Document::styleSelectorChanged):
41834        * dom/Document.h:
41835        (Document):
41836        * page/FrameView.cpp:
41837        (WebCore::FrameView::layout):
41838
418392012-04-16  Nate Chapin  <japhet@chromium.org>
41840
41841        Remove unused variable CachedResourceLoader::m_loadFinishing
41842        https://bugs.webkit.org/show_bug.cgi?id=84100
41843
41844        Reviewed by Alexey Proskuryakov.
41845
41846        No new tests, removing dead code.
41847
41848        * loader/cache/CachedResourceLoader.cpp:
41849        (WebCore::CachedResourceLoader::CachedResourceLoader):
41850        (WebCore::CachedResourceLoader::loadDone):
41851        (WebCore::CachedResourceLoader::decrementRequestCount):
41852        * loader/cache/CachedResourceLoader.h:
41853        (CachedResourceLoader):
41854        (WebCore::CachedResourceLoader::requestCount):
41855
418562012-04-16  Andreas Kling  <kling@webkit.org>
41857
41858        Remove contextStyleSheet argument from CSSValuePool::createFontFaceValue().
41859        <http://webkit.org/b/83988>
41860
41861        Reviewed by Antti Koivisto.
41862
41863        Remove the 'context style sheet' argument to <font face> value parsing.
41864        It was only ever used to grab at the CSSValuePool back when they were per-Document.
41865
41866        * css/CSSParser.h:
41867        * css/CSSParser.cpp:
41868        (WebCore::CSSParser::parseFontFaceValue):
41869        * css/CSSValuePool.h:
41870        * css/CSSValuePool.cpp:
41871        (WebCore::CSSValuePool::createFontFaceValue):
41872        * html/HTMLFontElement.cpp:
41873        (WebCore::HTMLFontElement::collectStyleForAttribute):
41874
418752012-04-16  Dana Jansens  <danakj@chromium.org>
41876
41877        [chromium] Consistent checking for clipped rects when we need the computed result enclosed within the real result
41878        https://bugs.webkit.org/show_bug.cgi?id=83543
41879
41880        Reviewed by Adrienne Walker.
41881
41882        It should not be possible to make a rect in layer space that is clipped
41883        by the camera but for which the screen space transform gives a
41884        rectilinear output. But use consistent methods for checking that the
41885        result remains enclosed within the actual pixels.
41886
41887        One day when clipped is true, we can find an interior axis-aligned rect
41888        within the clipped result, and checking clipped explicitly makes this
41889        more clear.
41890
41891        Covered by existing tests.
41892
41893        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
41894        (WebCore::computeOcclusionBehindLayer):
41895        (WebCore::::markOccludedBehindLayer):
41896
418972012-04-16  Erik Arvidsson  <arv@chromium.org>
41898
41899        [V8] Don't delete the per context data until the V8IsolatedContext is deleted
41900        https://bugs.webkit.org/show_bug.cgi?id=83831
41901
41902        Reviewed by Nate Chapin.
41903
41904        Test: http/tests/security/isolatedWorld/context-destroy.html
41905
41906        * bindings/v8/V8IsolatedContext.cpp:
41907        (WebCore::V8IsolatedContext::destroy):
41908
419092012-04-16  Greg Billock  <gbillock@google.com>
41910
41911        Add V8 code generation support for MessagePortArray attributes.
41912        https://bugs.webkit.org/show_bug.cgi?id=83943
41913
41914        Reviewed by Kentaro Hara.
41915
41916        * bindings/scripts/CodeGeneratorV8.pm:
41917        (GenerateNormalAttrGetter):
41918        * bindings/scripts/IDLAttributes.txt:
41919        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
41920        (WebDOMTestSerializedScriptValueInterface::ports):
41921        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
41922        (WebDOMTestSerializedScriptValueInterface):
41923        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
41924        (webkit_dom_test_serialized_script_value_interface_get_property):
41925        (webkit_dom_test_serialized_script_value_interface_class_init):
41926        (webkit_dom_test_serialized_script_value_interface_get_ports):
41927        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
41928        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
41929        (WebCore):
41930        (WebCore::jsTestSerializedScriptValueInterfacePorts):
41931        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
41932        (WebCore):
41933        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
41934        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
41935        (-[DOMTestSerializedScriptValueInterface ports]):
41936        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
41937        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
41938        (WebCore::TestSerializedScriptValueInterfaceInternal::portsAttrGetter):
41939        (TestSerializedScriptValueInterfaceInternal):
41940        (WebCore):
41941
419422012-04-16  Xiaomei Ji  <xji@chromium.org>
41943
41944        platform/graphics/skia/GlyphPageTreeNodeSkia.cpp mis-use 'continue' for 'break'
41945        https://bugs.webkit.org/show_bug.cgi?id=83521
41946
41947        Reviewed by David Levin.
41948
41949        No functionality change, so no new tests.
41950
41951        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
41952        (WebCore::GlyphPage::fill):
41953
419542012-04-16  Levi Weintraub  <leviw@chromium.org>
41955
41956        Make borderBoxRect sub-pixel precise and add a pixel snapped version
41957        https://bugs.webkit.org/show_bug.cgi?id=84063
41958
41959        Reviewed by Eric Seidel.
41960
41961        In an effort to prevent misuse, we previously decided to have borderBoxRect return a
41962        pixel-snapped IntRect. This is because borderBoxRect returns a rect that's positioned
41963        at (0,0), and therefore won't snap to the same size as the element it's covering.
41964
41965        There are a couple uses of borderBoxRect that don't pixel snap the values and require
41966        sub-pixel precision. This patch adds a pixelSnappedBorderBoxRect that makes the snapping
41967        explicit, and moves uses that would otherwise pixel snap the rect to this version to
41968        avoid producing a rect of the incorrect size. For details about pixel snapping with
41969        LayoutUnits, please see https://trac.webkit.org/wiki/LayoutUnit
41970
41971        No new tests. No change in behavior.
41972
41973        * html/shadow/TextControlInnerElements.cpp:
41974        (WebCore::SpinButtonElement::defaultEventHandler):
41975        * rendering/RenderBlock.cpp:
41976        (WebCore::RenderBlock::addVisualOverflowFromTheme):
41977        * rendering/RenderBox.h:
41978        (WebCore::RenderBox::borderBoxRect):
41979        (WebCore::RenderBox::pixelSnappedBorderBoxRect):
41980        (WebCore::RenderBox::borderBoundingBox):
41981        (WebCore::RenderBox::hasVisualOverflow):
41982        * rendering/RenderLayer.cpp:
41983        (WebCore::RenderLayer::scrollCornerRect):
41984        (WebCore::RenderLayer::scrollCornerAndResizerRect):
41985        (WebCore::RenderLayer::horizontalScrollbarStart):
41986        (WebCore::RenderLayer::positionOverflowControls):
41987        (WebCore::RenderLayer::paintResizer):
41988        (WebCore::RenderLayer::hitTestOverflowControls):
41989        * rendering/RenderLayerBacking.cpp:
41990        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
41991        (WebCore::RenderLayerBacking::startAnimation):
41992        (WebCore::RenderLayerBacking::startTransition):
41993        * rendering/RenderTable.cpp:
41994        (WebCore::RenderTable::addOverflowFromChildren):
41995        * rendering/RenderThemeMac.mm:
41996        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
41997        (WebCore::RenderThemeMac::paintSearchFieldResultsDecoration):
41998        (WebCore::RenderThemeMac::paintSearchFieldResultsButton):
41999        * rendering/svg/RenderSVGRoot.cpp:
42000        (WebCore::RenderSVGRoot::paintReplaced):
42001        (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
42002
420032012-04-16  Anders Carlsson  <andersca@apple.com>
42004
42005        Crash when running some editing related tests
42006        https://bugs.webkit.org/show_bug.cgi?id=84091
42007
42008        Reviewed by Andreas Kling.
42009
42010        Null check triggeringEvent.
42011
42012        * editing/Editor.cpp:
42013        (WebCore::Editor::insertTextWithoutSendingTextEvent):
42014
420152012-04-16  Simon Fraser  <simon.fraser@apple.com>
42016
42017        Rename to updateZOrderListsSlowCase to rebuildZOrderLists
42018        https://bugs.webkit.org/show_bug.cgi?id=84071
42019
42020        Reviewed by Antti Koivisto.
42021
42022        Use a better name for updateZOrderListsSlowCase().
42023
42024        * rendering/RenderLayer.cpp:
42025        (WebCore::RenderLayer::rebuildZOrderLists):
42026        * rendering/RenderLayer.h:
42027        (RenderLayer):
42028        (WebCore::RenderLayer::updateZOrderLists):
42029
420302012-04-16  Terry Anderson  <tdanderson@chromium.org>
42031
42032        [chromium] Allow WebGestureEvent to store four floating point values
42033        https://bugs.webkit.org/show_bug.cgi?id=84053
42034
42035        Reviewed by Darin Fisher.
42036
42037        See bug description for an explanation of the changes made.
42038
42039        * platform/PlatformGestureEvent.h:
42040        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
42041        (PlatformGestureEvent):
42042        (WebCore::PlatformGestureEvent::gammaX):
42043        (WebCore::PlatformGestureEvent::gammaY):
42044
420452012-04-16  Kentaro Hara  <haraken@chromium.org>
42046
42047        [Refactoring][V8] Remove $indent from NativeToJSValue()
42048        https://bugs.webkit.org/show_bug.cgi?id=84077
42049
42050        Reviewed by Nate Chapin.
42051
42052        $indent in NativeToJSValue() in CodeGeneratorV8.pm is not used.
42053        This patch removes it.
42054
42055        No new tests. No change in behavior.
42056
42057        * bindings/scripts/CodeGeneratorV8.pm:
42058        (GenerateNormalAttrGetter):
42059        (GenerateFunctionCallString):
42060        (NativeToJSValue):
42061
420622012-04-16  Luiz Agostini  <luiz.agostini@palm.com>
42063
42064        matchMedia() MediaQueryList not updating
42065        https://bugs.webkit.org/show_bug.cgi?id=75903
42066
42067        Reviewed by Antti Koivisto.
42068
42069        Test: fast/media/media-query-list-08.html
42070
42071        Viewport related MediaQueryList listeners were not triggered and the value
42072        of matches were not updated if the document's style selector were not
42073        affected by viewport changes.
42074
42075        The new method evaluateMediaQueries() is now called by FrameView instead of
42076        styleSelectorChanged() if the style selector is not affected by viewport changes.
42077
42078        * dom/Document.cpp:
42079        (WebCore::Document::evaluateMediaQueries):
42080        (WebCore):
42081        (WebCore::Document::styleSelectorChanged):
42082        * dom/Document.h:
42083        (Document):
42084        * page/FrameView.cpp:
42085        (WebCore::FrameView::layout):
42086
420872012-04-16  James Robinson  <jamesr@chromium.org>
42088
42089        [chromium] Delete uncalled unreserveContentsTextures function
42090        https://bugs.webkit.org/show_bug.cgi?id=84005
42091
42092        Reviewed by Adrienne Walker.
42093
42094        This is vestigal dead code.
42095
42096        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
42097        * platform/graphics/chromium/Canvas2DLayerChromium.h:
42098        (Canvas2DLayerChromium):
42099        * platform/graphics/chromium/LayerChromium.h:
42100        * platform/graphics/chromium/cc/CCLayerImpl.h:
42101        (CCLayerImpl):
42102
421032012-04-13  Simon Fraser  <simon.fraser@apple.com>
42104
42105        Avoid using backing store for compositing layers that just need to clip
42106        https://bugs.webkit.org/show_bug.cgi?id=40547
42107
42108        Reviewed by Dean Jackson.
42109        
42110        If a layer becomes composited because it needs to clip composited
42111        descendants, or if it has perspective, then it doesn't actually
42112        needs its own backing store; its contents can be painted by an
42113        ancestor, and we can just have an empty layer that does the clipping
42114        or applies the perspective transform.
42115        
42116        This saves backing store memory on some pages.
42117
42118        Tests: compositing/backing/no-backing-for-clip-overlap.html
42119               compositing/backing/no-backing-for-clip.html
42120               compositing/backing/no-backing-for-perspective.html
42121
42122        * rendering/RenderLayer.cpp:
42123        (WebCore):
42124        (WebCore::RenderLayer::enclosingCompositingLayerForRepaint):
42125        (WebCore::RenderLayer::paintLayer):
42126        * rendering/RenderLayer.h:
42127        (RenderLayer):
42128        * rendering/RenderLayerBacking.cpp:
42129        (WebCore::RenderLayerBacking::RenderLayerBacking):
42130        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
42131        (WebCore::RenderLayerBacking::containsPaintedContent):
42132        (WebCore::RenderLayerBacking::setContentsNeedDisplay):
42133        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect):
42134        (WebCore::RenderLayerBacking::paintIntoLayer):
42135        * rendering/RenderLayerBacking.h:
42136        (RenderLayerBacking):
42137        (WebCore::RenderLayerBacking::paintsIntoCompositedAncestor):
42138        (WebCore::RenderLayerBacking::setRequiresOwnBackingStore):
42139        * rendering/RenderLayerCompositor.cpp:
42140        (WebCore::RenderLayerCompositor::layerWillBeRemoved):
42141        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
42142        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
42143        (WebCore::RenderLayerCompositor::requiresOwnBackingStore):
42144        (WebCore):
42145        * rendering/RenderLayerCompositor.h:
42146        * rendering/RenderObject.cpp:
42147        (WebCore::RenderObject::containerForRepaint):
42148        * rendering/RenderTreeAsText.cpp:
42149        (WebCore::write):
42150        * rendering/RenderView.cpp:
42151        (WebCore::RenderView::paintBoxDecorations):
42152
421532012-04-16  Brady Eidson  <beidson@apple.com>
42154
42155        <rdar://problem/11249336> and https://bugs.webkit.org/show_bug.cgi?id=84050
42156        WebKit2 back/forward items in the page cache are never removed when the page is closed
42157
42158        Reviewed by Jessie Berlin and unofficially reviewed by Jon Lee.
42159
42160        * WebCore.exp.in: Export PageCache::remove()
42161
421622012-04-16  Philippe Normand  <pnormand@igalia.com>
42163
42164        Unreviewed, GTK build fix after r114269.
42165
42166        * GNUmakefile.list.am:
42167
421682012-04-16  Andrey Kosyakov  <caseq@chromium.org>
42169
42170        Web Inspector: timeline. Range selection works incorrect with right click
42171        https://bugs.webkit.org/show_bug.cgi?id=83870
42172
42173        Reviewed by Pavel Feldman.
42174
42175        - only start window dragging upon mousedown with left button (right will cause a context menu and we won't see mouseup)
42176
42177        * inspector/front-end/TimelineOverviewPane.js:
42178        (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
42179
421802012-04-16  Andrey Kosyakov  <caseq@chromium.org>
42181
42182        Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
42183        https://bugs.webkit.org/show_bug.cgi?id=83946
42184
42185        Reviewed by Pavel Feldman.
42186
42187        Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
42188        support for moving overview window with horizontal swype over lower timeline pane, thus removing
42189        an irritating situation when we try to both change overview window and scroll lower timeline pane
42190        upon a single touchpad gesture. Those willing to move timeline window now would need to position
42191        mouse over overview.
42192
42193        * inspector/front-end/TimelineOverviewPane.js:
42194        (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
42195        (WebInspector.TimelineOverviewWindow.prototype._zoom):
42196        * inspector/front-end/TimelinePanel.js:
42197        (WebInspector.TimelinePanel):
42198
421992012-04-16  Yury Semikhatsky  <yurys@chromium.org>
42200
42201        Web Inspector: rename heap profiler files and classes DetailedHeapshot* ->HeapSnapshot*
42202        https://bugs.webkit.org/show_bug.cgi?id=84038
42203
42204        A bunch of renames "detailed heapshot" -> "heap snapshot".
42205
42206        Reviewed by Pavel Feldman.
42207
42208        Tests: inspector/profiler/heap-snapshot-comparison-expansion-preserved-when-sorting.html
42209               inspector/profiler/heap-snapshot-comparison-show-all.html
42210               inspector/profiler/heap-snapshot-comparison-show-next.html
42211               inspector/profiler/heap-snapshot-comparison-shown-node-count-preserved-when-sorting.html
42212               inspector/profiler/heap-snapshot-comparison-sorting.html
42213               inspector/profiler/heap-snapshot-containment-expansion-preserved-when-sorting.html
42214               inspector/profiler/heap-snapshot-containment-show-all.html
42215               inspector/profiler/heap-snapshot-containment-show-next.html
42216               inspector/profiler/heap-snapshot-containment-shown-node-count-preserved-when-sorting.html
42217               inspector/profiler/heap-snapshot-containment-sorting.html
42218               inspector/profiler/heap-snapshot-dominators-expansion-preserved-when-sorting.html
42219               inspector/profiler/heap-snapshot-dominators-show-all.html
42220               inspector/profiler/heap-snapshot-dominators-show-next.html
42221               inspector/profiler/heap-snapshot-dominators-shown-node-count-preserved-when-sorting.html
42222               inspector/profiler/heap-snapshot-dominators-sorting.html
42223               inspector/profiler/heap-snapshot-summary-expansion-preserved-when-sorting.html
42224               inspector/profiler/heap-snapshot-summary-show-all.html
42225               inspector/profiler/heap-snapshot-summary-show-next.html
42226               inspector/profiler/heap-snapshot-summary-shown-node-count-preserved-when-sorting.html
42227               inspector/profiler/heap-snapshot-summary-sorting.html
42228
42229        * WebCore.gypi:
42230        * WebCore.vcproj/WebCore.vcproj:
42231        * inspector/compile-front-end.py:
42232        * inspector/front-end/HeapSnapshotGridNodes.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotGridNodes.js.
42233        (WebInspector.HeapSnapshotGridNode):
42234        (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
42235        (WebInspector.HeapSnapshotGridNode.prototype.createCell):
42236        (WebInspector.HeapSnapshotGridNode.prototype.dispose):
42237        (WebInspector.HeapSnapshotGridNode.prototype.hasHoverMessage.false.queryObjectContent):
42238        (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
42239        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
42240        (WebInspector.HeapSnapshotGridNode.prototype._populate.sorted):
42241        (WebInspector.HeapSnapshotGridNode.prototype._populate):
42242        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.callSerialize):
42243        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved.notify):
42244        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren.childrenRetrieved):
42245        (WebInspector.HeapSnapshotGridNode.prototype.populateChildren):
42246        (WebInspector.HeapSnapshotGridNode.prototype._saveChildren):
42247        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort.afterPopulate):
42248        (WebInspector.HeapSnapshotGridNode.prototype.sort.afterSort):
42249        (WebInspector.HeapSnapshotGridNode.prototype.sort):
42250        (WebInspector.HeapSnapshotLazyGridNode):
42251        (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
42252        (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
42253        (WebInspector.HeapSnapshotGenericObjectNode):
42254        (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
42255        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
42256        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
42257        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
42258        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
42259        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _retainedSizePercent):
42260        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get _shallowSizePercent):
42261        (WebInspector.HeapSnapshotGenericObjectNode.prototype.updateHasChildren):
42262        (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
42263        (WebInspector.HeapSnapshotGenericObjectNode.prototype.shortenWindowURL):
42264        (WebInspector.HeapSnapshotObjectNode):
42265        (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
42266        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
42267        (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity):
42268        (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode):
42269        (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
42270        (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
42271        (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
42272        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
42273        (WebInspector.HeapSnapshotInstanceNode):
42274        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
42275        (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForEntity):
42276        (WebInspector.HeapSnapshotInstanceNode.prototype._childHashForNode):
42277        (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
42278        (WebInspector.HeapSnapshotInstanceNode.prototype._emptyData):
42279        (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
42280        (WebInspector.HeapSnapshotInstanceNode.prototype.get isDeletedNode):
42281        (WebInspector.HeapSnapshotConstructorNode):
42282        (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
42283        (WebInspector.HeapSnapshotConstructorNode.prototype._createChildNode):
42284        (WebInspector.HeapSnapshotConstructorNode.prototype._createNodesProvider):
42285        (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
42286        (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForEntity):
42287        (WebInspector.HeapSnapshotConstructorNode.prototype._childHashForNode):
42288        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
42289        (WebInspector.HeapSnapshotConstructorNode.prototype.get _countPercent):
42290        (WebInspector.HeapSnapshotConstructorNode.prototype.get _retainedSizePercent):
42291        (WebInspector.HeapSnapshotConstructorNode.prototype.get _shallowSizePercent):
42292        (WebInspector.HeapSnapshotIteratorsTuple):
42293        (WebInspector.HeapSnapshotIteratorsTuple.prototype.dispose):
42294        (WebInspector.HeapSnapshotIteratorsTuple.prototype.sortAndRewind):
42295        (WebInspector.HeapSnapshotDiffNode):
42296        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.diffCalculated):
42297        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff):
42298        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.baseIdsReceived):
42299        (WebInspector.HeapSnapshotDiffNode.prototype.calculateDiff.idsReceived):
42300        (WebInspector.HeapSnapshotDiffNode.prototype._createChildNode):
42301        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider.createProvider):
42302        (WebInspector.HeapSnapshotDiffNode.prototype._createNodesProvider):
42303        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForEntity):
42304        (WebInspector.HeapSnapshotDiffNode.prototype._childHashForNode):
42305        (WebInspector.HeapSnapshotDiffNode.prototype.comparator):
42306        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
42307        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
42308        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
42309        (WebInspector.HeapSnapshotDiffNode.prototype._signForDelta):
42310        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
42311        (WebInspector.HeapSnapshotDominatorObjectNode):
42312        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createChildNode):
42313        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
42314        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForEntity):
42315        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._childHashForNode):
42316        (WebInspector.HeapSnapshotDominatorObjectNode.prototype.comparator):
42317        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._emptyData):
42318        (MixInSnapshotNodeFunctions):
42319        * inspector/front-end/HeapSnapshotView.js: Renamed from Source/WebCore/inspector/front-end/DetailedHeapshotView.js.
42320        (WebInspector.HeapSnapshotSortableDataGrid):
42321        (WebInspector.HeapSnapshotSortableDataGrid.prototype.dispose):
42322        (WebInspector.HeapSnapshotSortableDataGrid.prototype.resetSortingCache):
42323        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged.SortByTwoFields):
42324        (WebInspector.HeapSnapshotSortableDataGrid.prototype.sortingChanged):
42325        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
42326        (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
42327        (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
42328        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
42329        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingEnter):
42330        (WebInspector.HeapSnapshotSortableDataGrid.prototype.recursiveSortingLeave):
42331        (WebInspector.HeapSnapshotContainmentDataGrid):
42332        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute.nextStep.else.afterExpand):
42333        (WebInspector.HeapSnapshotContainmentDataGrid.prototype._defaultPopulateCount.100.expandRoute):
42334        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
42335        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.sortingChanged):
42336        (WebInspector.HeapSnapshotRetainmentDataGrid):
42337        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
42338        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
42339        (WebInspector.HeapSnapshotConstructorsDataGrid):
42340        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
42341        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
42342        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
42343        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
42344        (WebInspector.HeapSnapshotDiffDataGrid):
42345        (WebInspector.HeapSnapshotDiffDataGrid.prototype._defaultPopulateCount.50._sortFields):
42346        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setDataSource):
42347        (WebInspector.HeapSnapshotDiffDataGrid.prototype._baseProfileIndexChanged):
42348        (WebInspector.HeapSnapshotDiffDataGrid.prototype.setBaseDataSource):
42349        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived.addNodeIfNonZeroDiff):
42350        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren.baseAggregatesReceived.aggregatesReceived):
42351        (WebInspector.HeapSnapshotDiffDataGrid.prototype.populateChildren):
42352        (WebInspector.HeapSnapshotDominatorsDataGrid):
42353        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype._defaultPopulateCount.25.setDataSource):
42354        (WebInspector.HeapSnapshotDominatorsDataGrid.prototype.sortingChanged):
42355        (WebInspector.HeapSnapshotView.profileCallback):
42356        (WebInspector.HeapSnapshotView):
42357        (WebInspector.HeapSnapshotView.prototype.dispose):
42358        (WebInspector.HeapSnapshotView.prototype.get statusBarItems):
42359        (WebInspector.HeapSnapshotView.prototype.get profile):
42360        (WebInspector.HeapSnapshotView.prototype.get profileWrapper):
42361        (WebInspector.HeapSnapshotView.prototype.get baseProfile):
42362        (WebInspector.HeapSnapshotView.prototype.get baseProfileWrapper):
42363        (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback1):
42364        (WebInspector.HeapSnapshotView.prototype.wasShown.profileCallback2):
42365        (WebInspector.HeapSnapshotView.prototype.wasShown):
42366        (WebInspector.HeapSnapshotView.prototype.willHide):
42367        (WebInspector.HeapSnapshotView.prototype.onResize):
42368        (WebInspector.HeapSnapshotView.prototype.searchCanceled):
42369        (WebInspector.HeapSnapshotView.prototype.performSearch.matchesByName):
42370        (WebInspector.HeapSnapshotView.prototype.performSearch.matchesById):
42371        (WebInspector.HeapSnapshotView.prototype.performSearch.matchesQuery):
42372        (WebInspector.HeapSnapshotView.prototype.performSearch):
42373        (WebInspector.HeapSnapshotView.prototype.jumpToFirstSearchResult):
42374        (WebInspector.HeapSnapshotView.prototype.jumpToLastSearchResult):
42375        (WebInspector.HeapSnapshotView.prototype.jumpToNextSearchResult):
42376        (WebInspector.HeapSnapshotView.prototype.jumpToPreviousSearchResult):
42377        (WebInspector.HeapSnapshotView.prototype.showingFirstSearchResult):
42378        (WebInspector.HeapSnapshotView.prototype.showingLastSearchResult):
42379        (WebInspector.HeapSnapshotView.prototype._jumpToSearchResult):
42380        (WebInspector.HeapSnapshotView.prototype.refreshVisibleData):
42381        (WebInspector.HeapSnapshotView.prototype._changeBase):
42382        (WebInspector.HeapSnapshotView.prototype._changeFilter):
42383        (WebInspector.HeapSnapshotView.prototype._createToolbarWithClassNameFilter):
42384        (WebInspector.HeapSnapshotView.prototype._changeNameFilter):
42385        (WebInspector.HeapSnapshotView.prototype._profiles):
42386        (WebInspector.HeapSnapshotView.prototype._loadProfile):
42387        (WebInspector.HeapSnapshotView.prototype._loadProfileByIndex):
42388        (WebInspector.HeapSnapshotView.prototype.isDetailedSnapshot):
42389        (WebInspector.HeapSnapshotView.prototype.processLoadedSnapshot):
42390        (WebInspector.HeapSnapshotView.prototype._selectionChanged):
42391        (WebInspector.HeapSnapshotView.prototype._inspectedObjectChanged):
42392        (WebInspector.HeapSnapshotView.prototype._setRetainmentDataGridSource):
42393        (WebInspector.HeapSnapshotView.prototype._mouseDownInContentsGrid):
42394        (WebInspector.HeapSnapshotView.prototype.changeView.sortingComplete):
42395        (WebInspector.HeapSnapshotView.prototype.changeView):
42396        (WebInspector.HeapSnapshotView.prototype._changeView):
42397        (WebInspector.HeapSnapshotView.prototype._getHoverAnchor):
42398        (WebInspector.HeapSnapshotView.prototype._resolveObjectForPopover):
42399        (WebInspector.HeapSnapshotView.prototype._helpClicked.appendHelp):
42400        (WebInspector.HeapSnapshotView.prototype._helpClicked):
42401        (WebInspector.HeapSnapshotView.prototype._startRetainersHeaderDragging):
42402        (WebInspector.HeapSnapshotView.prototype._retainersHeaderDragging):
42403        (WebInspector.HeapSnapshotView.prototype._endRetainersHeaderDragging):
42404        (WebInspector.HeapSnapshotView.prototype._updateRetainmentViewHeight):
42405        (WebInspector.HeapSnapshotView.prototype._updateBaseOptions):
42406        (WebInspector.HeapSnapshotView.prototype._updateFilterOptions):
42407        (WebInspector.HeapSnapshotProfileType):
42408        (WebInspector.HeapSnapshotProfileType.prototype.get buttonTooltip):
42409        (WebInspector.HeapSnapshotProfileType.prototype.buttonClicked):
42410        (WebInspector.HeapSnapshotProfileType.prototype.get treeItemTitle):
42411        (WebInspector.HeapSnapshotProfileType.prototype.get description):
42412        (WebInspector.HeapSnapshotProfileType.prototype.createSidebarTreeElementForProfile):
42413        (WebInspector.HeapSnapshotProfileType.prototype.createView):
42414        * inspector/front-end/ProfilesPanel.js:
42415        (WebInspector.ProfilesPanel.prototype._addHeapSnapshotChunk):
42416        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
42417        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
42418        * inspector/front-end/WebKit.qrc:
42419        * inspector/front-end/heapProfiler.css:
42420        (.heap-snapshot-view):
42421        (.heap-snapshot-view.visible):
42422        (.heap-snapshot-view .view):
42423        (.heap-snapshot-view .view.visible):
42424        (.heap-snapshot-view .data-grid tr:empty):
42425        (.heap-snapshot-view .data-grid):
42426        (.heap-snapshot-view .data-grid td.count-column):
42427        (.heap-snapshot-view .data-grid td.addedCount-column):
42428        (.heap-snapshot-view .data-grid td.removedCount-column):
42429        (.heap-snapshot-view .data-grid td.countDelta-column):
42430        (.heap-snapshot-view .data-grid td.addedSize-column):
42431        (.heap-snapshot-view .data-grid td.removedSize-column):
42432        (.heap-snapshot-view .data-grid td.sizeDelta-column):
42433        (.heap-snapshot-view .data-grid td.shallowSize-column):
42434        (.heap-snapshot-view .data-grid td.retainedSize-column):
42435        (.heap-snapshot-view .data-grid td.distanceToWindow-column):
42436        (.heap-snapshot-view .data-grid span.percent-column):
42437        (.heap-snapshot-view .console-formatted-object, .console-formatted-node):
42438        (.heap-snapshot-view .console-formatted-string):
42439        (.heap-snapshot-view .console-formatted-id):
42440        (.heap-snapshot-view .data-grid tr.selected *):
42441        (.heap-snapshot-view .data-grid:focus tr.selected *):
42442        (.heap-snapshot-view .delimiter):
42443        (.heap-snapshot-view .views-container):
42444        (.heap-snapshot-view .views-container .view):
42445        (.heap-snapshot-view .retaining-paths-view):
42446        (.heap-snapshot-view .class-view-grid):
42447        (.heap-snapshot-view .class-view-toolbar):
42448        (.heap-snapshot-view .class-view-toolbar input.class-name-filter):
42449        (.heap-snapshot-view .retainers-view-header):
42450        (.heap-snapshot-view .retainers-view-header .title > span):
42451        (.heap-snapshot-view tr:not(.selected) td.object-column span.highlight):
42452        (.heap-snapshot-view td.object-column span.grayed):
42453        (.heap-snapshot-help-status-bar-item .glyph):
42454        (table.heap-snapshot-help):
42455        * inspector/front-end/inspector.html:
42456
424572012-04-16  Andrey Kosyakov  <caseq@chromium.org>
42458
42459        Web Inspector: touch pad is pain to use in lower pane of Timeline panel due two two-axis scrolling
42460        https://bugs.webkit.org/show_bug.cgi?id=83946
42461
42462        Reviewed by Pavel Feldman.
42463
42464        Remove delegation of mousewheel events from lower timeline pane to the timeline overview. This disables
42465        support for moving overview window with horizontal swype over lower timeline pane, thus removing
42466        an irritating situation when we try to both change overview window and scroll lower timeline pane
42467        upon a single touchpad gesture. Those willing to move timeline window now would need to position
42468        mouse over overview.
42469
42470        * inspector/front-end/TimelineOverviewPane.js:
42471        (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
42472        (WebInspector.TimelineOverviewWindow.prototype._zoom):
42473        * inspector/front-end/TimelinePanel.js:
42474        (WebInspector.TimelinePanel):
42475
424762012-04-11  Philippe Normand  <pnormand@igalia.com>
42477
42478        [GStreamer] HRTFDatabaseLoader conflicts with AudioFileReader
42479        https://bugs.webkit.org/show_bug.cgi?id=78095
42480
42481        Reviewed by Martin Robinson.
42482
42483        Moved the GStreamer initialization logic to a new
42484        GStreamerUtilities module, used by the MediaPlayer and the
42485        AudioContext. I also removed the static variables as
42486        gst_init_check already handles cases where it's called multiple
42487        times.
42488
42489        * GNUmakefile.list.am:
42490        * Modules/webaudio/AudioContext.cpp:
42491        (WebCore::AudioContext::constructCommon):
42492        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
42493        (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
42494        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
42495        (WebCore::AudioFileReader::createBus):
42496        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
42497        (WTF::adoptGRef):
42498        (WTF):
42499        (WTF::GstElementFactory):
42500        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
42501        (WTF):
42502        * platform/graphics/gstreamer/GStreamerUtilities.cpp: Added.
42503        (WebCore):
42504        (WebCore::initializeGStreamer):
42505        * platform/graphics/gstreamer/GStreamerUtilities.h: Added.
42506        (WebCore):
42507        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
42508        (WebCore::doGstInit):
42509
425102012-04-16  ChangSeok Oh  <shivamidow@gmail.com>
42511
42512        Update GraphicsContext3DOpenGLES.cpp and fix some issues to build with GLES.
42513        https://bugs.webkit.org/show_bug.cgi?id=83982
42514
42515        Reviewed by Martin Robinson.
42516
42517        GL_BGRA is not defined in GLESv2, so it causes build-break at readRenderingResults.
42518        To resolve this, a helper function readPixelsAndConvertToBGRAIfNecessary is added
42519        in GC3DOpenGL.cpp & GC3DOpenGLES.cpp and it's used in GC3DOpenGLCommon.cpp.
42520        And some other issues to build with GLES are gone with this patch.
42521
42522        No new tests, since no new feature.
42523
42524        * platform/graphics/GraphicsContext3D.h:
42525        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
42526        (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
42527        (WebCore):
42528        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
42529        (WebCore::GraphicsContext3D::readRenderingResults):
42530        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
42531        (WebCore::GraphicsContext3D::readPixelsAndConvertToBGRAIfNecessary):
42532        (WebCore):
42533        (WebCore::GraphicsContext3D::reshapeFBOs):
42534        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
42535
425362012-04-16  Xiaomei Ji  <xji@chromium.org>
42537
42538        [chromium] wrong justification for arabic/persian page in cr-win.
42539        https://bugs.webkit.org/show_bug.cgi?id=83227
42540
42541        Reviewed by Kent Tamura.
42542
42543        Disable kashida justification if using Skia to draw.
42544
42545        Test: fast/text/international/arabic-justify.html
42546
42547        * platform/graphics/chromium/UniscribeHelper.cpp:
42548        (WebCore::UniscribeHelper::justify):
42549
425502012-04-16  Jia Pu  <jpu@apple.com>
42551
42552        Build fix.
42553
42554        Change set 114220 broke OS X internal build. Change set 114231 attempted to fix it, but isn't entirely
42555        correct. This patch amends change set 114231.
42556
42557        * WebCore.exp.in:
42558        * editing/DictationAlternative.cpp:
42559        (WebCore::DictationAlternative::DictationAlternative):
42560        * editing/DictationAlternative.h:
42561        (DictationAlternative):
42562
425632012-04-16  Antti Koivisto  <antti@apple.com>
42564
42565        REGRESSION (r104445): Style is not recomputed on serenaandlily.com
42566        https://bugs.webkit.org/show_bug.cgi?id=83663
42567
42568        Reviewed by Andreas Kling.
42569        
42570        CSS class and id selectors are case insensitive in non-strict modes. The code
42571        that invalidated the scope elements used getElementByID() which is case
42572        sensitive in all modes. As a result we would fail to invalidate elements
42573        that would match a style rule but used different case in id.
42574        
42575        The new code invalidates by crawling the DOM tree. This often (when there are classes) 
42576        actually faster than the existing code as we can now handle everything in a single pass.
42577        Each class scope required a crawl with the old code.
42578        
42579        The code uses the same functions as the selector matching code to get the same behavior.
42580        
42581        The maximum class limit is lifted as number of classes does not affect complexity anymore.
42582
42583        Test: fast/css/id-or-class-before-stylesheet-strict.html
42584
42585        * css/SelectorChecker.h:
42586        (WebCore::SelectorChecker::elementMatchesSelectorScopes):
42587        (WebCore):
42588        * dom/Document.cpp:
42589        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
42590        (WebCore):
42591
425922012-04-16  Uday Kiran  <udaykiran@motorola.com>
42593
42594        CSS3 Selectors failures on css3test.com
42595        https://bugs.webkit.org/show_bug.cgi?id=83885
42596
42597        Reviewed by Zoltan Herczeg.
42598
42599        Parsing fix for CSS3 selectors :nth-child(), :nth-last-child() :nth-of-type() :nth-last-of-type()
42600        with values -n-b and n-b as they are of valid form an+b where a and b are integers.
42601        http://www.w3.org/TR/selectors/#structural-pseudos
42602
42603        Descriptors of form n-b or -n-b, where b is number, are valid CSS identifiers.
42604        However, in NthChildMode we need to check whether this identifier is a valid nth child descriptor.
42605        The original code only checked this if the string was n- or -n- but this is not enough.
42606        We need to check everything which starts with an n- or -n- prefix.
42607
42608        Test: css3/parsing-css3-nthchild.html
42609
42610        * css/CSSParser.cpp:
42611        (WebCore::CSSParser::lex):
42612
426132012-04-16  Eric Carlson  <eric.carlson@apple.com>
42614
42615        ASSERT in notifyChildInserted when HTMLMediaElement is removed from tree
42616        https://bugs.webkit.org/show_bug.cgi?id=83949
42617
42618        Reviewed by Antti Koivisto.
42619
42620        No new tests. I was not able to create a reproducible test case, but I have been unable
42621        to reproduce the ASSERT that occassionally fired in existing tests since I have been
42622        living on these changes.
42623
42624        * html/HTMLMediaElement.cpp:
42625        (WebCore::HTMLMediaElement::insertedIntoDocument): Call configureMediaControls.
42626        (WebCore::HTMLMediaElement::removedFromDocument): Ditto.
42627        (WebCore::HTMLMediaElement::configureMediaControls): Don't show controls when the
42628            media element is not in a Document.
42629
426302012-04-16  Eric Carlson  <eric.carlson@apple.com>
42631
42632        Layout Test media/track/track-delete-during-setup.html is hitting an ASSERT_NOT_REACHED
42633        https://bugs.webkit.org/show_bug.cgi?id=82269
42634
42635        Reviewed by Antti Koivisto.
42636
42637        No new tests, already tested by media/track/track-delete-during-setup.html.
42638
42639        * html/HTMLTrackElement.cpp:
42640        (WebCore::HTMLTrackElement::insertedIntoDocument): Don't notify the media element until/unless
42641        the track element is inserted into the document.
42642        * html/HTMLTrackElement.h:
42643
426442012-04-16  Yael Aharon  <yael.aharon@nokia.com>
42645
42646        [Qt][WK2] Fixed elements position is wrong after zooming.
42647        https://bugs.webkit.org/show_bug.cgi?id=83981
42648
42649        Reviewed by Kenneth Rohde Christiansen.
42650
42651        When setFixedVisibleContentRect is called we mark all fixed elements in the frame for layout.
42652        In order to find these elements, RenderView maintains a list of fixed elements.
42653        They are added and removed at the same time that they are added and removed from their parent RenderBlock.
42654        The idea is taken from the iOS5.1 branch, at opensource.apple.com.
42655        Added a manual test that allows removing and adding fixed elements at will.
42656
42657        * page/FrameView.cpp:
42658        (WebCore::FrameView::setFixedVisibleContentRect):
42659        * rendering/RenderBlock.cpp:
42660        (WebCore::RenderBlock::insertPositionedObject):
42661        (WebCore::RenderBlock::removePositionedObject):
42662        * rendering/RenderView.cpp:
42663        (WebCore::RenderView::setFixedPositionedObjectsNeedLayout):
42664        (WebCore):
42665        (WebCore::RenderView::insertFixedPositionedObject):
42666        (WebCore::RenderView::removeFixedPositionedObject):
42667        * rendering/RenderView.h:
42668        (RenderView):
42669
426702012-04-13  Pavel Feldman  <pfeldman@chromium.org>
42671
42672        Web Inspector: extract ContentProvider into its own file, make NetworkRequest, Resoruce and others implement it.
42673        https://bugs.webkit.org/show_bug.cgi?id=83922
42674
42675        Reviewed by Yury Semikhatsky.
42676
42677        We have two different types of requestContent methods: one on the source mapping level and one on the resource level.
42678        There are also adapters between the two. I'm aligning it all to a single requestContent method declared in ContentProvider.
42679
42680        * WebCore.gypi:
42681        * WebCore.vcproj/WebCore.vcproj:
42682        * inspector/compile-front-end.py:
42683        * inspector/front-end/BreakpointsSidebarPane.js:
42684        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint.didRequestContent):
42685        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype.addBreakpoint):
42686        * inspector/front-end/ContentProvider.js: Added.
42687        (WebInspector.ContentProvider):
42688        (WebInspector.ContentProvider.prototype.contentURL):
42689        (WebInspector.ContentProvider.prototype.requestContent):
42690        (WebInspector.ContentProvider.prototype.searchInContent):
42691        (WebInspector.ContentProvider.SearchMatch):
42692        * inspector/front-end/ContentProviders.js:
42693        (WebInspector.ScriptContentProvider.prototype.contentURL):
42694        (WebInspector.ScriptContentProvider.prototype.requestContent):
42695        (WebInspector.ConcatenatedScriptsContentProvider.prototype.contentURL):
42696        (WebInspector.ConcatenatedScriptsContentProvider.prototype.requestContent):
42697        (WebInspector.CompilerSourceMappingContentProvider.prototype.contentURL):
42698        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
42699        (WebInspector.StaticContentProvider.prototype.contentURL):
42700        (WebInspector.StaticContentProvider.prototype.requestContent):
42701        * inspector/front-end/DebuggerPresentationModel.js:
42702        * inspector/front-end/ExtensionServer.js:
42703        (WebInspector.ExtensionServer.prototype._getResourceContent):
42704        * inspector/front-end/JavaScriptSourceFrame.js:
42705        (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
42706        * inspector/front-end/NetworkItemView.js:
42707        (WebInspector.RequestContentView.prototype._ensureInnerViewShown.callback):
42708        (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
42709        * inspector/front-end/NetworkRequest.js:
42710        (WebInspector.NetworkRequest.prototype.contentURL):
42711        (WebInspector.NetworkRequest.prototype.requestContent):
42712        (WebInspector.NetworkRequest.prototype.searchInContent):
42713        (WebInspector.NetworkRequest.prototype.populateImageSource):
42714        (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
42715        (WebInspector.NetworkRequest.prototype._innerRequestContent):
42716        * inspector/front-end/RawSourceCode.js:
42717        (WebInspector.RawSourceCode.prototype._createContentProvider):
42718        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
42719        (WebInspector.RawSourceCode.prototype._createSourceMapping):
42720        * inspector/front-end/Resource.js:
42721        (WebInspector.Resource.prototype.contentURL):
42722        (WebInspector.Resource.prototype.requestContent):
42723        (WebInspector.Resource.prototype._innerRequestContent.callback):
42724        (WebInspector.Resource.prototype._innerRequestContent):
42725        (WebInspector.ResourceRevision.prototype.contentURL):
42726        (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
42727        (WebInspector.ResourceRevision.prototype.requestContent):
42728        (WebInspector.ResourceRevision.prototype.searchInContent):
42729        * inspector/front-end/ResourceView.js:
42730        (WebInspector.ResourceSourceFrame.prototype.requestContent):
42731        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
42732        (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
42733        * inspector/front-end/ScriptFormatter.js:
42734        * inspector/front-end/ScriptsPanel.js:
42735        (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
42736        * inspector/front-end/SourceFrame.js:
42737        (WebInspector.SourceFrame.prototype.setContent):
42738        * inspector/front-end/UISourceCode.js:
42739        (WebInspector.UISourceCode):
42740        (WebInspector.UISourceCode.prototype.requestContent):
42741        (WebInspector.UISourceCode.prototype._didRequestContent):
42742        * inspector/front-end/WebKit.qrc:
42743        * inspector/front-end/inspector.html:
42744
427452012-04-16  Jason Liu  <jason.liu@torchmobile.com.cn>
42746
42747        [BlackBerry] Missing readyState 2 when a XMLHttpRequest calls xmlhttp.open("HEAD","notExist.html",true).
42748        https://bugs.webkit.org/show_bug.cgi?id=83866
42749
42750        Reviewed by George Staikos.
42751        
42752        We receive 404 for a XMLHttpRequest which calls open("HEAD", "notExist.html", true).
42753        There are no data received because its method is HEAD.
42754        This case shouldn't be treated as a failure.
42755
42756        Test: http/tests/xmlhttprequest/xmlhttprequest-check-head-readystate-for-404.html
42757
42758        * platform/network/blackberry/NetworkJob.cpp:
42759        (WebCore::NetworkJob::handleNotifyClose):
42760
427612012-04-16  Jon Lee  <jonlee@apple.com>
42762
42763        Build fix.
42764
42765        * WebCore.exp.in:
42766        * editing/DictationAlternative.cpp:
42767        (WebCore::DictationAlternative::DictationAlternative):
42768        * editing/DictationAlternative.h:
42769        (DictationAlternative):
42770
427712012-04-16  George Staikos  <staikos@webkit.org>
42772
42773        Fix signed/unsigned mismatch warning for BlackBerry debug builds.
42774        https://bugs.webkit.org/show_bug.cgi?id=80790
42775
42776        Reviewed by Rob Buis.
42777
42778        * platform/blackberry/CookieMap.cpp:
42779        (WebCore::CookieMap::removeCookieAtIndex):
42780
427812012-04-15  Kent Tamura  <tkent@chromium.org>
42782
42783        WebCore::weekDayShortLabels() for ICU always returns the fallback labels
42784        https://bugs.webkit.org/show_bug.cgi?id=83991
42785
42786        Reviewed by Hajime Morita.
42787
42788        We need to specfiy 1-based index to udat_getSymbols() with
42789        UDAT_SHORT_WEEKDAYS. Also, udat_countSymbols() with UDAT_SHORT_WEEKDAYS
42790        returns 8.
42791
42792        No new tests because this behavior depends on locale setting.
42793
42794        * platform/text/LocalizedCalendarICU.cpp:
42795        (WebCore::createLabelVector): Add startIndex argument.
42796        (WebCore::createMonthLabels):
42797        Pass UDAT_JANUARRY(0) as startIndex to createLabelVector().
42798        (WebCore::createWeekDayShortLabels):
42799        Pass UDAT_SUNDAY(1) as startIndex to createLabelVector().
42800
428012012-04-15  MORITA Hajime  <morrita@google.com>
42802
42803        Unreviewed attempt to chromium-win build fix.
42804
42805        * editing/DictationAlternative.h:
42806
428072012-04-15  Noel Gordon  <noel.gordon@gmail.com>
42808
42809        Align JSC/V8 bindings canvas.toDataURL() code flows
42810        https://bugs.webkit.org/show_bug.cgi?id=84003
42811
42812        Reviewed by Eric Seidel.
42813
42814        Align JSC/V8 bindings canvas.toDataURL() code flow so that the binding
42815        code implementations read alike.
42816
42817        No new tests. Covered by existing cnavas toDataURL tests.
42818
42819        * bindings/js/JSHTMLCanvasElementCustom.cpp:
42820        (WebCore::JSHTMLCanvasElement::toDataURL):
42821
428222012-04-15  Jia Pu  <jpu@apple.com>
42823
42824        Introducing DictationCommand.
42825        https://bugs.webkit.org/show_bug.cgi?id=83549
42826
42827        Reviewed by Hajime Morita.
42828
42829        No new tests. This patch doesn't introduce any change of new functionality. It prepares for
42830        additional changes which will inlude tests.
42831
42832        On OS X, alternative dictation results need to be stored as document markers. This patch introduces
42833        following changes to achieve this:
42834        1. Added DictationMarkDetails to store non-string type maker detail.
42835        2. Introduce DictationCommand, which is similor to TypingCommand, but allows inserting text with
42836          attached markers.
42837        3. Added Editor::insertDictatedText as interaface to WebKit and WebKit2.
42838        4. Added struct DictationAlternative to pass dictation related info from WebKit to WebCore.
42839
42840        Several fragments of code in TypingCommand can be also used by DictationCommand. So this patch
42841        introduced a new class, TextInsertionBaseCommand. It's a subclass of CompositeEditCommmand, and
42842        base class of both TypingCommand and DictationCommand.
42843
42844        This patch also extends InsertTextCommand class. Its constructor will take an TextInsertionMarkerSupplier
42845        object. After text is inserted to a node, InsertTextCommand would give marker supplier a chance to
42846        add document markers to the inserted text.
42847
42848        * CMakeLists.txt:
42849        * GNUmakefile.list.am:
42850        * Target.pri:
42851        * WebCore.exp.in:
42852        * WebCore.gypi:
42853        * WebCore.vcproj/WebCore.vcproj:
42854        * WebCore.xcodeproj/project.pbxproj:
42855        * dom/Document.cpp:
42856        (WebCore::eventTargetNodeForDocument): Moved this function from EventHandler so that it can be used
42857          by AlternativeTextController.
42858        (WebCore):
42859        * dom/Document.h:
42860        (WebCore):
42861        * dom/DocumentMarker.cpp:
42862        (WebCore::DocumentMarker::DocumentMarker): New constructor that takes a pointer to DocumentMarkerDetails object.
42863        (WebCore):
42864        * dom/DocumentMarker.h:
42865        (WebCore::DocumentMarker::AllMarkers::AllMarkers):
42866        (DocumentMarker):
42867        * dom/DocumentMarkerController.cpp:
42868        (WebCore::DocumentMarkerController::addMarker):
42869        (WebCore):
42870        * dom/DocumentMarkerController.h:
42871        (DocumentMarkerController):
42872        * dom/TextEvent.cpp:
42873        (WebCore::TextEvent::createForDictation):
42874        (WebCore):
42875        (WebCore::TextEvent::TextEvent):
42876        * dom/TextEvent.h: Added member variable for dictation alternatives.
42877        (TextEvent):
42878        (WebCore::TextEvent::isDictation):
42879        (WebCore::TextEvent::dictationAlternatives):
42880        * dom/TextEventInputType.h:
42881        * editing/AlternativeTextController.cpp:
42882        (WebCore::AlternativeTextController::AlternativeTextController):
42883        (WebCore::AlternativeTextController::insertDictatedText): Used by Editor::insertDictatedText().
42884        (WebCore):
42885        * editing/AlternativeTextController.h:
42886        (WebCore):
42887        (DictationMarkerDetails):
42888        (WebCore::DictationMarkerDetails::create):
42889        (WebCore::DictationMarkerDetails::originalText):
42890        (WebCore::DictationMarkerDetails::dictationContext):
42891        (WebCore::DictationMarkerDetails::DictationMarkerDetails):
42892        (AlternativeTextController):
42893        * editing/CompositeEditCommand.h:
42894        (WebCore::CompositeEditCommand::isDictationCommand):
42895        * editing/DictationAlternative.cpp: Added.
42896        (WebCore):
42897        (WebCore::DictationAlternative::DictationAlternative):
42898        * editing/DictationAlternative.h: Added. Data structure for passing dictation related data from WebKit to WebCore.
42899        (DictationAlternative):
42900        (WebCore):
42901        * editing/DictationCommand.cpp: Added.
42902        (WebCore):
42903        (DictationCommandLineOperation):
42904        (WebCore::DictationCommandLineOperation::DictationCommandLineOperation):
42905        (WebCore::DictationCommandLineOperation::operator()):
42906        (DictationMarkerSupplier):
42907        (WebCore::DictationMarkerSupplier::create):
42908        (WebCore::DictationMarkerSupplier::addMarkersToTextNode):
42909        (WebCore::DictationMarkerSupplier::DictationMarkerSupplier):
42910        (WebCore::DictationCommand::DictationCommand):
42911        (WebCore::DictationCommand::insertText):
42912        (WebCore::DictationCommand::doApply):
42913        (WebCore::DictationCommand::insertTextRunWithoutNewlines):
42914        (WebCore::DictationCommand::insertParagraphSeparator):
42915        (WebCore::DictationCommand::collectDictationAlternativesInRange):
42916        * editing/DictationCommand.h: Added.
42917        (WebCore):
42918        (DictationCommand):
42919        (WebCore::DictationCommand::isDictationCommand):
42920        (WebCore::DictationCommand::create):
42921        * editing/EditingAllInOne.cpp:
42922        * editing/Editor.cpp:
42923        (WebCore::Editor::insertDictatedText): Main interface that allows WebKit passes in text with attached dictation information.
42924        (WebCore):
42925        (WebCore::Editor::insertTextWithoutSendingTextEvent):
42926        (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
42927        * editing/Editor.h:
42928        (Editor):
42929        * editing/InsertTextCommand.cpp:
42930        (WebCore::InsertTextCommand::InsertTextCommand):
42931        (WebCore):
42932        (WebCore::InsertTextCommand::doApply):
42933        * editing/InsertTextCommand.h:
42934        (WebCore):
42935        (TextInsertionMarkerSupplier): Interface to allow caller of InsertTextCommand to add document markers to inserted text.
42936        (WebCore::TextInsertionMarkerSupplier::~TextInsertionMarkerSupplier):
42937        (WebCore::TextInsertionMarkerSupplier::TextInsertionMarkerSupplier):
42938        (WebCore::InsertTextCommand::createWithMarkerSupplier):
42939        (InsertTextCommand):
42940        * editing/TextInsertionBaseCommand.cpp: Added. This class contains functions shared by TypingCommand and DictationCommand.
42941        (WebCore):
42942        (WebCore::TextInsertionBaseCommand::TextInsertionBaseCommand):
42943        (WebCore::TextInsertionBaseCommand::applyTextInsertionCommand):
42944        (WebCore::dispatchBeforeTextInsertedEvent):
42945        (WebCore::canAppendNewLineFeedToSelection):
42946        * editing/TextInsertionBaseCommand.h: Added.
42947        (WebCore):
42948        (TextInsertionBaseCommand):
42949        (WebCore::TextInsertionBaseCommand::~TextInsertionBaseCommand):
42950        (WebCore::forEachLineInString):
42951        * editing/TypingCommand.cpp:
42952        (TypingCommandLineOperation):
42953        (WebCore::TypingCommandLineOperation::TypingCommandLineOperation):
42954        (WebCore::TypingCommandLineOperation::operator()):
42955        (WebCore::TypingCommand::TypingCommand):
42956        (WebCore::TypingCommand::insertText):
42957        (WebCore::TypingCommand::insertLineBreak):
42958        (WebCore::TypingCommand::insertParagraphSeparator):
42959        * editing/TypingCommand.h:
42960        * page/EventHandler.cpp:
42961        * rendering/InlineTextBox.cpp:
42962        (WebCore::lineStyleForMarkerType):
42963        (WebCore::InlineTextBox::paintDocumentMarker): Renamed existing function to reflect new funcationality.
42964        (WebCore::InlineTextBox::paintDocumentMarkers):
42965        * rendering/InlineTextBox.h:
42966        (InlineTextBox):
42967        * testing/Internals.cpp:
42968        (WebCore::markerTypesFrom):
42969
429702012-04-15  James Robinson  <jamesr@chromium.org>
42971
42972        [chromium] LayerRendererChromium shouldn't know anything about CCLayerImpl
42973        https://bugs.webkit.org/show_bug.cgi?id=83415
42974
42975        Reviewed by Adrienne Walker.
42976
42977        This removes all knowledge of CCLayerImpl from LayerRendererChromium. The most significant move code-wise is
42978        moving the HUD up to live on CCLayerTreeHostImpl, since it's aware of the layer tree. This involves two changes.
42979        First, CCHeadsUpDisplay is in charge of populating a ManagedTexture but the actual drawing code now lives in
42980        LayerRendererChromium. Second, since we don't recreate CCLayerTreeHostImpl on a lost context, the font atlas
42981        ownership is much simpler. Now a CCFontAtlas is created on the main thread if needed and passed asynchronously
42982        to the CCHeadsUpDisplay which takes ownership of the atlas.
42983
42984        * platform/graphics/chromium/LayerRendererChromium.cpp:
42985        (WebCore::LayerRendererChromium::create):
42986        (WebCore::LayerRendererChromium::initialize):
42987        (WebCore::LayerRendererChromium::~LayerRendererChromium):
42988        (WebCore::LayerRendererChromium::beginDrawingFrame):
42989        (WebCore::LayerRendererChromium::drawHeadsUpDisplay):
42990        (WebCore):
42991        (WebCore::LayerRendererChromium::finishDrawingFrame):
42992        (WebCore::LayerRendererChromium::swapBuffers):
42993        * platform/graphics/chromium/LayerRendererChromium.h:
42994        (LayerRendererChromiumClient):
42995        (LayerRendererChromium):
42996        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
42997        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
42998        (WebCore::CCHeadsUpDisplay::setFontAtlas):
42999        (WebCore):
43000        (WebCore::CCHeadsUpDisplay::enabled):
43001        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
43002        (WebCore::CCHeadsUpDisplay::draw):
43003        (WebCore::CCHeadsUpDisplay::drawHudContents):
43004        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
43005        (WebCore):
43006        (WebCore::CCHeadsUpDisplay::create):
43007        (CCHeadsUpDisplay):
43008        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
43009        (WebCore::CCLayerTreeHost::initialize):
43010        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
43011        (CCLayerTreeHost):
43012        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
43013        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
43014        (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
43015        (WebCore::CCLayerTreeHostImpl::canDraw):
43016        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
43017        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
43018        (WebCore::CCLayerTreeHostImpl::drawLayers):
43019        (WebCore::CCLayerTreeHostImpl::swapBuffers):
43020        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
43021        (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
43022        (WebCore::CCLayerTreeHostImpl::layerTreeAsText):
43023        (WebCore):
43024        (WebCore::CCLayerTreeHostImpl::setFontAtlas):
43025        (WebCore::CCLayerTreeHostImpl::dumpRenderSurfaces):
43026        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
43027        (CCLayerTreeHostImpl):
43028        (WebCore::CCLayerTreeHostImpl::rootLayer):
43029        * platform/graphics/chromium/cc/CCProxy.h:
43030        (WebCore):
43031        (CCProxy):
43032        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
43033        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
43034        (WebCore::CCSingleThreadProxy::recreateContext):
43035        (WebCore::CCSingleThreadProxy::setFontAtlas):
43036        (WebCore):
43037        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
43038        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
43039        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
43040        (WebCore::CCThreadProxy::setFontAtlas):
43041        (WebCore):
43042        (WebCore::CCThreadProxy::setFontAtlasOnImplThread):
43043        (WebCore::CCThreadProxy::recreateContextOnImplThread):
43044        * platform/graphics/chromium/cc/CCThreadProxy.h:
43045        (CCThreadProxy):
43046
430472012-04-15  Antti Koivisto  <antti@apple.com>
43048
43049        Capture CSS parser context
43050        https://bugs.webkit.org/show_bug.cgi?id=83998
43051
43052        Reviewed by Andreas Kling.
43053
43054        Currently the CSS parser calls to the Document and StyleSheetInternal objects to get settings, base URL etc.
43055        The required information should be passed in on parser construction instead. The parser should not need to
43056        know about the document at all.
43057        
43058        The patch adds CSSParserContext struct that captures the parsing context. StyleSheetInternal saves the
43059        parsing context and reuses it for any further parsing.
43060        
43061        If the same stylesheet source is parsed with an identical context then the resulting stylesheet structure will
43062        be identical. This will allow sharing parsed stylesheets in the future.
43063
43064        * css/CSSGrammar.y:
43065        * css/CSSImportRule.cpp:
43066        (WebCore::StyleRuleImport::setCSSStyleSheet):
43067        * css/CSSMediaRule.cpp:
43068        (WebCore::CSSMediaRule::insertRule):
43069        * css/CSSPageRule.cpp:
43070        (WebCore::CSSPageRule::setSelectorText):
43071        * css/CSSParser.cpp:
43072        (WebCore):
43073        (WebCore::strictCSSParserContext):
43074        (WebCore::CSSParserContext::CSSParserContext):
43075        (WebCore::CSSParser::CSSParser):
43076        (WebCore::CSSParser::parseKeyframeRule):
43077        (WebCore::CSSParser::parseValue):
43078        (WebCore::CSSParser::parseSelector):
43079        (WebCore::CSSParser::completeURL):
43080        (WebCore::CSSParser::parseContent):
43081        (WebCore::CSSParser::parseAttr):
43082        (WebCore::CSSParser::parseFillImage):
43083        (WebCore::CSSParser::parseFontFaceSrcURI):
43084        (WebCore::CSSParser::parseFontFaceSrc):
43085        (WebCore::CSSParser::parseBorderImage):
43086        (WebCore::CSSParser::parseImageSet):
43087        (WebCore::CSSParser::parseCustomFilter):
43088        (WebCore::CSSParser::parseFilter):
43089        (WebCore::CSSParser::cssRegionsEnabled):
43090        (WebCore::CSSParser::parseFlowThread):
43091        (WebCore::CSSParser::createMediaRule):
43092        (WebCore::CSSParser::createStyleRule):
43093        (WebCore::CSSParser::createFontFaceRule):
43094        (WebCore::CSSParser::createPageRule):
43095        (WebCore::CSSParser::createKeyframe):
43096        * css/CSSParser.h:
43097        (CSSParser):
43098        (WebCore::CSSParser::inStrictMode):
43099        (WebCore::CSSParser::inQuirksMode):
43100        (WebCore::CSSParser::validUnit):
43101        * css/CSSParserMode.h:
43102        (WebCore):
43103        (CSSParserContext):
43104        * css/CSSRule.h:
43105        (WebCore::CSSRule::parserContext):
43106        (CSSRule):
43107        * css/CSSStyleRule.cpp:
43108        (WebCore::CSSStyleRule::setSelectorText):
43109        * css/CSSStyleSheet.cpp:
43110        (WebCore::StyleSheetInternal::StyleSheetInternal):
43111        (WebCore::StyleSheetInternal::parseString):
43112        (WebCore::StyleSheetInternal::parseStringAtLine):
43113        (WebCore):
43114        (WebCore::StyleSheetInternal::updateBaseURL):
43115        (WebCore::StyleSheetInternal::completeURL):
43116        (WebCore::CSSStyleSheet::insertRule):
43117        * css/CSSStyleSheet.h:
43118        (StyleSheetInternal):
43119        (WebCore::StyleSheetInternal::parserContext):
43120        (WebCore::StyleSheetInternal::charset):
43121        (WebCore::StyleSheetInternal::setFinalURL):
43122        (WebCore::StyleSheetInternal::baseURL):
43123        * css/CSSValuePool.cpp:
43124        * css/StylePropertySet.cpp:
43125        (WebCore::StylePropertySet::parseDeclaration):
43126        * css/WebKitCSSKeyframesRule.cpp:
43127        (WebCore::WebKitCSSKeyframesRule::insertRule):
43128        * dom/Document.cpp:
43129        (WebCore::Document::webkitGetFlowByName):
43130        (WebCore::Document::pageUserSheet):
43131        (WebCore::Document::pageGroupUserSheets):
43132        * dom/Element.cpp:
43133        (WebCore::Element::webkitMatchesSelector):
43134        * dom/Node.cpp:
43135        (WebCore::Node::querySelector):
43136        (WebCore::Node::querySelectorAll):
43137        * dom/ProcessingInstruction.cpp:
43138        (WebCore::ProcessingInstruction::parseStyleSheet):
43139        * dom/StyleElement.cpp:
43140        (WebCore::StyleElement::createSheet):
43141        * html/HTMLLinkElement.cpp:
43142        (WebCore::HTMLLinkElement::setCSSStyleSheet):
43143        * html/shadow/ContentSelectorQuery.cpp:
43144        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
43145        * inspector/InspectorStyleSheet.cpp:
43146        (WebCore::InspectorStyle::setPropertyText):
43147        (WebCore::InspectorStyleSheet::reparseStyleSheet):
43148        (WebCore::InspectorStyleSheet::ensureSourceData):
43149        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
43150
431512012-04-15  Noel Gordon  <noel.gordon@gmail.com>
43152
43153        [Cairo] Separate image encoding from dataURL construction
43154        https://bugs.webkit.org/show_bug.cgi?id=83975
43155
43156        Reviewed by Martin Robinson.
43157
43158        Remove the implicit assumption that a dataURL is the only desired output format
43159        of the image encoding phase.
43160
43161        No new tests. Covered by existing canvas toDataURL tests.
43162
43163        * platform/graphics/cairo/ImageBufferCairo.cpp:
43164        (WebCore::writeFunction): Rename closure to output.
43165        (WebCore::encodeImage): Output the encoded image to the provided Vector<char>.
43166        PNG format is only supported per the Cairo encoding MIMETypeRegistry.
43167        (WebCore):
43168        (WebCore::ImageBuffer::toDataURL): Refactor to use encodeImage().
43169
431702012-04-15  Yuta Kitamura  <yutak@chromium.org>
43171
43172        Leak in WebSocketChannel with workers/worker-reload.html (part 2)
43173        https://bugs.webkit.org/show_bug.cgi?id=83749
43174
43175        Reviewed by David Levin.
43176
43177        Second attempt to remove leaks around WorkerThreadableWebSocketChannel.
43178
43179        No new tests, as this patch does not impose any functional change.
43180
43181        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
43182        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
43183        (WebCore::ThreadableWebSocketChannelClientWrapper::failedWebSocketChannelCreation):
43184        (WebCore::ThreadableWebSocketChannelClientWrapper::setFailedWebSocketChannelCreation):
43185        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
43186        Add a boolean flag indicating whether Bridge::initialize() has exited without receiving
43187        a pointer to the peer object.
43188        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
43189        (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::create):
43190        (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
43191        (WebCore::WorkerThreadableWebSocketChannel::WorkerContextDidInitializeTask::performTask):
43192        Kick mainThreadDestroy() to delete the peer if the bridge has failed to receive
43193        a pointer to the peer (waitForMethodCompletion() exited due to message queue's
43194        termination).
43195        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
43196        (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
43197        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
43198        (WorkerThreadableWebSocketChannel):
43199        Make WorkerContextDidInitializeTask an inner class of WorkerThreadableWebSocketChannel
43200        so it can refer WorkerThreadableWebSocketChannel's static member function (mainThreadDestroy()).
43201
432022012-04-14  Emil A Eklund  <eae@chromium.org>
43203
43204        Fix pixelSnapping for CalendarPicker, MediaControl and ScrollbarPart
43205        https://bugs.webkit.org/show_bug.cgi?id=83929
43206
43207        Reviewed by Eric Seidel.
43208
43209        Update CalendarPickerElement and MediaControlElements to use
43210        pixelSnappedSize in preparation for turning on subpixel support.
43211        Update RenderScrollbarPart to pixel snap rect before painting to ensure
43212        that it is painted on device pixel boundaries.
43213
43214        No new tests, no change in functionality.
43215
43216        * html/shadow/CalendarPickerElement.cpp:
43217        (WebCore::CalendarPickerElement::openPopup):
43218        * html/shadow/MediaControlElements.cpp:
43219        (WebCore::RenderMediaVolumeSliderContainer::layout):
43220        * rendering/RenderScrollbarPart.cpp:
43221        (WebCore::RenderScrollbarPart::paintIntoRect):
43222
432232012-04-14  Kent Tamura  <tkent@chromium.org>
43224
43225        Day of week labels are wrong if WebCore::firstDayOfWeek() is not 0
43226        https://bugs.webkit.org/show_bug.cgi?id=83990
43227
43228        Reviewed by Kentaro Hara.
43229
43230        We passed the "weekStartDay" property value as a
43231        string. CalendarPickerElement::writeDocument() created:
43232            weekStartDay: "1",
43233        and the JavaScript code used it in the following code:
43234            dayLabels[(weekStartDay + i) % 7]
43235        If weekStartDay was "1", the expression (weekStartDay + i)
43236        produced "10", "11", "12", ... We expected "1", "2", "3", ...
43237
43238        We need to pass the "weekStartDay" property as a number.
43239
43240        No new tests because we have no ways to test this for now. We'll
43241        introduce tests for the calendar picker later.
43242
43243        * html/shadow/CalendarPickerElement.cpp:
43244        (WebCore::addProperty): Add addProperty() function for a number.
43245        (WebCore::CalendarPickerElement::writeDocument):
43246        Pass a number, not a serialized number.
43247
432482012-04-14  Joe Thomas  <joethomas@motorola.com>
43249
43250        Viewport-percentage Length units does not work for Replaced elements size
43251        https://bugs.webkit.org/show_bug.cgi?id=83425
43252
43253        Reviewed by Antti Koivisto.
43254
43255        Added the support for viewport-percentage length units while calculating the width/height of replaced elements.
43256
43257        Tests: css3/viewport-percentage-lengths/viewport-percentage-image-size.html
43258
43259        * platform/Length.h:
43260        (WebCore::Length::isSpecified):
43261        * rendering/RenderBox.cpp:
43262        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
43263
432642012-04-14  Joe Thomas  <joethomas@motorola.com>
43265
43266        CSSStyleDeclaration.getPropertyValue() for 'border-radius' returns null when value is set
43267        https://bugs.webkit.org/show_bug.cgi?id=80736
43268
43269        Reviewed by Antti Koivisto.
43270
43271        Added support for fetching the value of 'border-radius' CSS property which was missing.
43272
43273        Test: fast/css/border-radius-property-value.html
43274
43275        * css/StylePropertySet.cpp:
43276        (WebCore::StylePropertySet::getPropertyValue):
43277
432782012-04-14  David Hyatt  <hyatt@apple.com>
43279
43280        https://bugs.webkit.org/show_bug.cgi?id=83826
43281        
43282        Wrong Font code path was chosen after r114032. The TextRun constructor has an additional argument that
43283        needs to be included if rounding hacks are mentioned.
43284
43285        Reviewed by Dan Bernstein.
43286
43287        * html/canvas/CanvasRenderingContext2D.cpp:
43288        (WebCore::CanvasRenderingContext2D::drawTextInternal):
43289        * rendering/RenderListBox.cpp:
43290        (WebCore::RenderListBox::paintItemForeground):
43291        * rendering/break_lines.cpp:
43292        (WebCore::nextBreakablePosition):
43293
432942012-04-14  Noel Gordon  <noel.gordon@gmail.com>
43295
43296        [Cairo] ImageBuffer::toDataURL(): improve error handling, add mimeType ASSERTs
43297        https://bugs.webkit.org/show_bug.cgi?id=83569
43298
43299        Reviewed by Eric Seidel.
43300
43301        No new tests. Covered by exiting fast/canvas/*toDataURL* tests.
43302
43303        * platform/graphics/cairo/ImageBufferCairo.cpp:
43304        (WebCore::writeFunction): Return write success or failure with the appropriate
43305        cairo status code per http://cairographics.org/manual/cairo-PNG-Support.html
43306        (WebCore::ImageBuffer::toDataURL): Add mimeType ASSERT()s. <canvas> ensures that
43307        a valid mimeType (supported by the port) is sent to toDataURL() calls. Check for
43308        encoding failure and return "data:," if so.
43309
433102012-04-13  David Reveman  <reveman@chromium.org>
43311
43312        [Chromium] Avoid unnecessary full tile updates for checkerboard tiles.
43313        https://bugs.webkit.org/show_bug.cgi?id=83804
43314
43315        Reviewed by James Robinson.
43316
43317        Cleanup code that determines if we need to use a buffered update and
43318        avoid buffering of tiles that are not in use by the impl thread.
43319
43320        Tests: CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
43321               TiledLayerChromiumTest.partialUpdates
43322
43323        * platform/graphics/chromium/TiledLayerChromium.cpp:
43324        (UpdatableTile):
43325        (WebCore::UpdatableTile::UpdatableTile):
43326        (WebCore::TiledLayerChromium::pushPropertiesTo):
43327        (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
43328        (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
43329        (WebCore::TiledLayerChromium::updateTiles):
43330        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
43331        (WebCore::CCLayerTreeHost::bufferedUpdates):
43332        (WebCore):
43333        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
43334        (CCLayerTreeHost):
43335
433362012-04-13  Dana Jansens  <danakj@chromium.org>
43337
43338        [chromium] Cleanup texture memory eviction when LayerTreeHost becomes invisible
43339        https://bugs.webkit.org/show_bug.cgi?id=83899
43340
43341        Reviewed by Adrienne Walker.
43342
43343        When a LTH becomes invisible, the texture eviction is spread out across
43344        two different functions and is not entirely clear. We move all the logic
43345        together into a single place in didBecomeInvisibleOnImplThread() and
43346        make the consequences of the current code more clear.
43347
43348        Covered by existing tests.
43349
43350        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
43351        (WebCore::CCLayerTreeHost::deleteContentsTexturesOnImplThread):
43352        (WebCore::CCLayerTreeHost::setVisible):
43353        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
43354
433552012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
43356
43357        Unreviewed, rolling out r114036.
43358        http://trac.webkit.org/changeset/114036
43359        https://bugs.webkit.org/show_bug.cgi?id=83969
43360
43361        Breaks gmail.com causing it to never finish loading (Requested
43362        by danakj on #webkit).
43363
43364        * bindings/scripts/CodeGeneratorJS.pm:
43365        (GenerateHeader):
43366        (GenerateImplementation):
43367        * bindings/scripts/CodeGeneratorV8.pm:
43368        (GenerateNamedConstructorCallback):
43369        (GenerateImplementation):
43370        * bindings/scripts/IDLAttributes.txt:
43371        * bindings/scripts/test/JS/JSTestObj.cpp:
43372        (WebCore::JSTestObj::createPrototype):
43373        * bindings/scripts/test/JS/JSTestObj.h:
43374        * bindings/scripts/test/TestObj.idl:
43375        * bindings/scripts/test/V8/V8Float64Array.cpp:
43376        (WebCore):
43377        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
43378        (WebCore):
43379        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
43380        (WebCore):
43381        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
43382        (WebCore):
43383        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
43384        (WebCore):
43385        * bindings/scripts/test/V8/V8TestInterface.cpp:
43386        (WebCore):
43387        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
43388        (WebCore):
43389        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
43390        (WebCore):
43391        * bindings/scripts/test/V8/V8TestNode.cpp:
43392        (WebCore):
43393        * bindings/scripts/test/V8/V8TestObj.cpp:
43394        (WebCore):
43395        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
43396        (WebCore):
43397        * bindings/v8/NPV8Object.cpp:
43398        (WebCore::npObjectTypeInfo):
43399        * bindings/v8/V8BindingPerContextData.cpp:
43400        (WebCore::V8BindingPerContextData::init):
43401        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
43402        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
43403        * bindings/v8/V8BindingPerContextData.h:
43404        (V8BindingPerContextData):
43405        * bindings/v8/V8HiddenPropertyName.h:
43406        (WebCore):
43407        * bindings/v8/WrapperTypeInfo.h:
43408        (WrapperTypeInfo):
43409        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
43410        (WebCore):
43411        * dom/NodeList.idl:
43412
434132012-04-13  Alexandre Elias  <aelias@google.com>
43414
43415        [chromium] Add null pointer check to animatePageScale
43416        https://bugs.webkit.org/show_bug.cgi?id=83940
43417
43418        Reviewed by James Robinson.
43419
43420        Add null pointer check to startPageScaleAnimation.
43421
43422        If the root scroll layer goes away in the middle of a page scale
43423        animation, there can be a null pointer access here.
43424
43425        No new tests.
43426
43427        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
43428        (WebCore::CCLayerTreeHostImpl::animatePageScale):
43429
434302012-04-13  Dana Jansens  <danakj@chromium.org>
43431
43432        [chromium] Replicas should be included in the computed occlusion
43433        https://bugs.webkit.org/show_bug.cgi?id=82262
43434
43435        Reviewed by Adrienne Walker.
43436
43437        When merging a surface's occlusion up to its target, make a copy of it
43438        where the replica will be as well, and make sure that occlusion from a
43439        RenderSurface does not leave its clipRect.
43440
43441        Unit test: CCOcclusionTrackerTestReplicaDoesOcclude
43442                   CCOcclusionTrackerTestReplicaWithClipping
43443                   CCOcclusionTrackerTestSurfaceChildOfSurface
43444
43445        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
43446        (WebCore::RenderSurfaceChromium::hasReplica):
43447        (WebCore):
43448        * platform/graphics/chromium/RenderSurfaceChromium.h:
43449        (RenderSurfaceChromium):
43450        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
43451        (WebCore::transformSurfaceOpaqueRegion):
43452        (WebCore::::leaveToTargetRenderSurface):
43453
434542012-04-13  Raymond Liu  <raymond.liu@intel.com>
43455
43456        AudioContext createChannelMerger() method should have optional argument for number of inputs.
43457        https://bugs.webkit.org/show_bug.cgi?id=83759
43458
43459        Reviewed by Chris Rogers.
43460
43461        Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.
43462
43463        Test: webaudio/audiochannelmerger-basic.html
43464
43465        * Modules/webaudio/AudioChannelMerger.cpp:
43466        (WebCore):
43467        (WebCore::AudioChannelMerger::create):
43468        (WebCore::AudioChannelMerger::AudioChannelMerger):
43469        * Modules/webaudio/AudioChannelMerger.h:
43470        (AudioChannelMerger):
43471        * Modules/webaudio/AudioContext.cpp:
43472        (WebCore::AudioContext::createChannelMerger):
43473        (WebCore):
43474        * Modules/webaudio/AudioContext.h:
43475        (AudioContext):
43476        * Modules/webaudio/AudioContext.idl:
43477
434782012-04-13  Dana Jansens  <danakj@chromium.org>
43479
43480        [chromium] Remove viewport memory restrictions
43481        https://bugs.webkit.org/show_bug.cgi?id=83316
43482
43483        Reviewed by Adrienne Walker.
43484
43485        We remove the memory restriction on web pages based on viewport size
43486        on desktop. This is causing pages that have complex use of layers to
43487        end up hitting our memory limits, and moreso when the window is small.
43488        Page complexity is not really a function of the viewport size.
43489
43490        We drop the mininum memory limit entirely, and just evict all
43491        unprotected textures instead.
43492
43493        Covered by existing tests.
43494
43495        * platform/graphics/chromium/TextureManager.cpp:
43496        (WebCore::TextureManager::highLimitBytes):
43497        (WebCore::TextureManager::reclaimLimitBytes):
43498        * platform/graphics/chromium/TextureManager.h:
43499        (TextureManager):
43500        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
43501        (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
43502        (WebCore::CCLayerTreeHost::setVisible):
43503        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
43504        (WebCore::CCLayerTreeHost::updateLayers):
43505
435062012-04-13  Ken Buchanan  <kenrb@chromium.org>
43507
43508        Optimize tracking of intruding floats being removed from RenderBlock during layout
43509        https://bugs.webkit.org/show_bug.cgi?id=82928
43510
43511        Reviewed by David Hyatt.
43512
43513        Performance tweaks in RenderBlock layout as a follow up to r112935.
43514
43515        * rendering/RenderBlock.cpp:
43516        (WebCore::RenderBlock::clearFloats):
43517
435182012-04-13  Mihnea Ovidenie  <mihnea@adobe.com>
43519
43520        [CSSRegions]Implement NamedFlow::contentNodes attribute
43521        https://bugs.webkit.org/show_bug.cgi?id=80134
43522
43523        Reviewed by David Hyatt.
43524
43525        The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
43526        In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
43527        The list of nodes is returned as a static node list.
43528
43529        The content nodes are stored in RenderNamedFlowThread. The content nodes are added to the list in NodeRenderingContext::moveToFlowThreadIfNeeded
43530        and removed from the list in Element::detach. When an element -webkit-flow-into property is changed, the element is detached and attached.
43531        I have also added a bit in NodeFlags to mark that an element is part of a named flow (and the corresponding inNamedFlow/setInNamedFlow/clearInNamedFlow functions).
43532
43533        Test: fast/regions/webkit-named-flow-content-nodes.html
43534
43535        * dom/Document.cpp:
43536        (WebCore::Document::webkitGetFlowByName):
43537        * dom/Document.h:
43538        * dom/Element.cpp:
43539        (WebCore::Element::detach):
43540        * dom/Node.h:
43541        (WebCore::Node::inNamedFlow):
43542        (WebCore::Node::setInNamedFlow):
43543        (WebCore::Node::clearInNamedFlow):
43544        (Node):
43545        * dom/NodeRenderingContext.cpp:
43546        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
43547        * dom/WebKitNamedFlow.cpp:
43548        (WebCore::WebKitNamedFlow::contentNodes):
43549        (WebCore):
43550        * dom/WebKitNamedFlow.h:
43551        (WebKitNamedFlow):
43552        * dom/WebKitNamedFlow.idl:
43553        * rendering/FlowThreadController.cpp:
43554        (WebCore::FlowThreadController::registerNamedFlowContentNode):
43555        (WebCore):
43556        (WebCore::FlowThreadController::unregisterNamedFlowContentNode):
43557        * rendering/FlowThreadController.h:
43558        (FlowThreadController):
43559        * rendering/RenderNamedFlowThread.cpp:
43560        (WebCore):
43561        (WebCore::RenderNamedFlowThread::registerNamedFlowContentNode):
43562        (WebCore::RenderNamedFlowThread::unregisterNamedFlowContentNode):
43563        * rendering/RenderNamedFlowThread.h:
43564        (WebCore):
43565        (RenderNamedFlowThread):
43566        (WebCore::RenderNamedFlowThread::contentNodes):
43567        (WebCore::RenderNamedFlowThread::hasContentNode):
43568
435692012-04-13  Jessie Berlin  <jberlin@apple.com>
43570
43571        Remove the calls to CRASH() from ResourceLoader.cpp.
43572        https://bugs.webkit.org/show_bug.cgi?id=83962
43573
43574        Reviewed by Alexey Proskuryakov.
43575
43576        They were added in r91316 to aid debugging for the issue fixed in r105556 and r106130.
43577
43578        * loader/ResourceLoader.cpp:
43579        (WebCore::ResourceLoader::willSendRequest):
43580        (WebCore::ResourceLoader::didSendData):
43581        (WebCore::ResourceLoader::didReceiveResponse):
43582        (WebCore::ResourceLoader::didReceiveData):
43583        (WebCore::ResourceLoader::didFinishLoading):
43584        (WebCore::ResourceLoader::didFail):
43585        (WebCore::ResourceLoader::wasBlocked):
43586        (WebCore::ResourceLoader::cannotShowURL):
43587        (WebCore::ResourceLoader::shouldUseCredentialStorage):
43588        (WebCore::ResourceLoader::willCacheResponse):
43589
435902012-04-13  Xiaomei Ji  <xji@chromium.org>
43591
43592        REGRESSION(r102190) [chromium] text rendering (font and font size) in some Arabic/Persian page is wrong
43593        when using certain fonts
43594        https://bugs.webkit.org/show_bug.cgi?id=83523
43595
43596        Reviewed by Kent Tamura.
43597
43598        Revert r102190.
43599        Convert characters being treatAsSpace to white space. 
43600
43601        * platform/graphics/chromium/UniscribeHelper.cpp:
43602        (WebCore::UniscribeHelper::fillRuns):
43603        (WebCore::UniscribeHelper::adjustSpaceAdvances):
43604
436052012-04-13  Timothy Hatcher  <timothy@apple.com>
43606
43607        Change how the Web Insector is installed on Mac builds.
43608
43609        <rdar://problem/10857918>
43610
43611        Reviewed by Mark Rowe.
43612
43613        * WebCore.xcodeproj/project.pbxproj: Updated Copy Inspector Resources
43614        and Streamline Inspector Source build phases.
43615
436162012-04-13  Jer Noble  <jer.noble@apple.com>
43617
43618        Video at apple.com gets standard controls in addition to custom controls after returning from full screen
43619        https://bugs.webkit.org/show_bug.cgi?id=83939
43620
43621        Reviewed by Eric Carlson.
43622
43623        No new tests; DRT and WKTR don't have the infrastructure to test full-screen animation related bugs.
43624
43625        Instead of asking the media element whether it is in full screen or not, rely on when the media root element
43626        was told that it enteredFullscreen() or exitedFullscreen(), which may occur at a different time than the
43627        media element due to animations.
43628
43629        * html/shadow/MediaControlRootElement.cpp:
43630        (WebCore::MediaControlRootElement::reset):
43631        (WebCore::MediaControlRootElement::playbackStarted):
43632        (WebCore::MediaControlRootElement::enteredFullscreen):
43633        (WebCore::MediaControlRootElement::exitedFullscreen):
43634        (WebCore::MediaControlRootElement::defaultEventHandler):
43635        (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
43636        (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
43637        * html/shadow/MediaControlRootElement.h:
43638        (MediaControlRootElement): Added m_isFullscreen;
43639
436402012-04-13  Jer Noble  <jer.noble@apple.com>
43641
43642        fullscreen/video-controls-drag.html failing on Mac
43643        https://bugs.webkit.org/show_bug.cgi?id=81176
43644
43645        Reviewed by Eric Carlson.
43646
43647        No new tests.  Fixes fullscreen/video-controls-drag.html.
43648
43649        Regressed in r110409.  When the -webkit-media-controls-panel were changed
43650        from position:absolute to position:relative, this broke dragging of the 
43651        controls in fullscreen, which relies on the panel being absolutely positioned
43652        to do its drag positioning. Change the way drag positioning is calculated to
43653        accommodate position:relative.
43654
43655        * css/fullscreenQuickTime.css:
43656        (video:-webkit-full-screen::-webkit-media-controls-panel): Instead of bottom:50px,
43657            use margin-bottom:50px to push panel up from the bottom of the screen.
43658        * html/shadow/MediaControlElements.cpp:
43659        (WebCore::MediaControlPanelElement::startDrag): Do not ask for the current renderer location.
43660        (WebCore::MediaControlPanelElement::continueDrag): Use the delta between the event locations
43661            only to calculate the new panel position.
43662        * html/shadow/MediaControlElements.h:
43663
436642012-04-13  Simon Fraser  <simon.fraser@apple.com>
43665
43666        Compositing layers not updated after scroll in WebKit1
43667        https://bugs.webkit.org/show_bug.cgi?id=83945
43668
43669        Reviewed by James Robinson.
43670        
43671        Fix the WebKit1 code path to correctly update compositing layers
43672        after a scroll, by calling updateFixedElementsAfterScrolling() from
43673        scrollPositionChangedViaPlatformWidget().
43674
43675        Covered by existing tests.
43676
43677        * page/FrameView.cpp:
43678        (WebCore::FrameView::scrollPositionChangedViaPlatformWidget):
43679
436802012-04-13  Dean Jackson  <dino@apple.com>
43681
43682        Don't process filters if the input region is exceptionally large.
43683        https://bugs.webkit.org/show_bug.cgi?id=83317
43684
43685        Reviewed by Simon Fraser.
43686
43687        An extremely large element causes problems with filters, either by
43688        taking too long to compute the output or using too much memory. The
43689        filter engine already has some constants for maximum expected size.
43690        Make sure the render tree checks them before deciding to apply
43691        effects.
43692
43693        Tests: css3/filters/huge-region-composited.html
43694               css3/filters/huge-region.html
43695
43696        * platform/graphics/filters/FilterEffect.cpp:
43697        (WebCore::FilterEffect::apply):
43698        * rendering/FilterEffectRenderer.cpp:
43699        (WebCore):
43700        (WebCore::isFilterSizeValid):
43701        (WebCore::FilterEffectRenderer::build):
43702        (WebCore::FilterEffectRenderer::updateBackingStore):
43703        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
43704        * rendering/FilterEffectRenderer.h:
43705        (FilterEffectRenderer):
43706        * rendering/RenderLayer.cpp:
43707        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
43708
437092012-04-13  Anna Cavender  <annacc@chromium.org>
43710
43711        Queue the cuechange event on HTMLTrackElement for proper sorting.
43712        https://bugs.webkit.org/show_bug.cgi?id=83858
43713
43714        Reviewed by Eric Carlson.
43715
43716        No new tests. Updates to media/track/track-cues-cuechange.html and
43717        media/track/track-mode.html
43718
43719        * html/HTMLMediaElement.cpp:
43720        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
43721            Add HTMLTrackElement's cuechange event to the event queue rather than 
43722            firing it synchronously.
43723        * html/track/LoadableTextTrack.cpp:
43724            Remove fireCueChangeEvent() as it is no longer used.
43725        * html/track/LoadableTextTrack.h:
43726            Ditto.
43727        * html/track/TextTrack.h:
43728        (TextTrack):
43729            Ditto.
43730
437312012-04-11  Antonio Gomes  <agomes@rim.com>
43732
43733        Be more restrictive when adding ScrollableArea's to FrameView's ScrollableArea's map
43734        https://bugs.webkit.org/show_bug.cgi?id=79611
43735
43736        Reviewed by James Robinson.
43737
43738        Source/WebCore:
43739
43740        As of today, any FrameView attached to the Widget-tree or any
43741        RenderLayer whose corresponding RenderBox's style has a 'overflow'
43742        property set to 'auto' is cached in its containing scrollable areas set.
43743        We could be more restrictive about what we in fact want to
43744        cache as scrollable areas, by checking if the element as an overflow
43745        (i.e. more content than its viewport).
43746
43747        * page/FrameView.cpp:
43748        (WebCore::FrameView::setFrameRect):
43749
43750        Whenever the viewport changes, check if we have an scrollable/overflowed
43751        content, and update the cache accordingly.
43752
43753        (WebCore::FrameView::setContentsSize):
43754
43755        Whenever the contents size changes, check if we have a scrollable/overflowed
43756        content, and update the cache accordingly.
43757
43758        (WebCore::FrameView::calculateScrollbarModesForLayout):
43759
43760        Introduces a way to query for the scrollbars by only
43761        taking into account the "rules" set by the web author.
43762        For that, a new enum was added called SrollbarModesCalculationStrategy,
43763        which allows callers to discard for example client-side scrollbar policies
43764        in order to verify if a given frameview is scrollable or not.
43765
43766        (WebCore::FrameView::updateScrollableAreaSet):
43767
43768        Take into account various factors before considering a FrameView as
43769        scrollable. If in the end it is, it gets added to its parent FrameView
43770        scrollable areas map, otherwise removed.
43771
43772        (WebCore):
43773        (WebCore::FrameView::addScrollableArea):
43774
43775        Became unneeded, thus removed.
43776
43777        (WebCore::FrameView::removeScrollableArea):
43778
43779        Whenever a FrameView is removed from the Widget-tree,
43780        remove it from the cache.
43781
43782        * page/FrameView.h:
43783        (FrameView):
43784        * rendering/RenderLayer.cpp:
43785        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
43786
43787        Update scrollable area set after layout.
43788
43789        (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
43790
43791        Update scrollable area set after style changes.
43792
43793        (WebCore::RenderLayer::styleChanged):
43794
43795        Removed the scrollable areas logic detection from it.
43796
43797        (WebCore::RenderLayer::updateScrollableAreaSet):
43798
43799        Updates the containing FrameView scrollable areas cache
43800        only when needed (i.e. an overflow exists).
43801
43802        (WebCore):
43803        * rendering/RenderLayer.h:
43804        (RenderLayer):
43805        * testing/Internals.cpp:
43806        (WebCore::Internals::numberOfScrollableAreas):
43807        (WebCore):
43808        * testing/Internals.h:
43809        (Internals):
43810        * testing/Internals.idl:
43811
43812        Tests: fast/scrolling/scrollable-area-frame-inherited-visibility-hidden.html
43813               fast/scrolling/scrollable-area-frame-overflow-hidden.html
43814               fast/scrolling/scrollable-area-frame-overried-inherited-visibility-hidden.html
43815               fast/scrolling/scrollable-area-frame-scrolling-no-overried-inherited-visibility-hidden.html
43816               fast/scrolling/scrollable-area-frame-scrolling-no-visibility-hidden-child.html
43817               fast/scrolling/scrollable-area-frame-scrolling-no.html
43818               fast/scrolling/scrollable-area-frame-scrolling-yes-display-none.html
43819               fast/scrolling/scrollable-area-frame-scrolling-yes.html
43820               fast/scrolling/scrollable-area-frame-visibility-hidden-child.html
43821               fast/scrolling/scrollable-area-frame-zero-size-and-border.html
43822               fast/scrolling/scrollable-area-frame.html
43823               fast/scrolling/scrollable-area-overflow-auto-display-none-in-parent.html
43824               fast/scrolling/scrollable-area-overflow-auto-display-none.html
43825               fast/scrolling/scrollable-area-overflow-auto-visibility-hidden-in-parent.html
43826               fast/scrolling/scrollable-area-overflow-auto-visibility-hidden.html
43827               fast/scrolling/scrollable-area-overflow-auto-visibility-override.html
43828               fast/scrolling/scrollable-area-overflow-auto-visibility-visible.html
43829               fast/scrolling/scrollable-area-overflow-auto.html
43830               fast/scrolling/scrollable-area-overflow-not-set.html
43831               fast/scrolling/scrollable-area-overflow-visible.html
43832
438332012-04-13  Antti Koivisto  <antti@apple.com>
43834
43835        Track rem unit usage in StyleSheetInternal
43836        https://bugs.webkit.org/show_bug.cgi?id=83923
43837
43838        Reviewed by Andreas Kling.
43839
43840        Currently CSSParser sets usesRemUnits flag directly to Document. It should be set to 
43841        the stylesheet instead so parser does not need to know about the document. This also 
43842        avoids setting the flag unnecessarily when the stylesheet is not used.
43843
43844        * css/CSSGrammar.y:
43845        * css/CSSStyleSheet.cpp:
43846        (WebCore::StyleSheetInternal::StyleSheetInternal):
43847        * css/CSSStyleSheet.h:
43848        (WebCore::StyleSheetInternal::parserSetUsesRemUnits):
43849        (WebCore::StyleSheetInternal::usesRemUnits):
43850        (StyleSheetInternal):
43851        * dom/Document.cpp:
43852        (WebCore):
43853        (WebCore::checkUsesRemUnits):
43854        (WebCore::Document::updateActiveStylesheets):
43855        * dom/Document.h:
43856        (WebCore::Document::usesRemUnits):
43857
438582012-04-11  James Robinson  <jamesr@chromium.org>
43859
43860        [chromium] Remove unused compositeToTexture / compositeOffscreen setting
43861        https://bugs.webkit.org/show_bug.cgi?id=83733
43862
43863        Reviewed by Adrienne Walker.
43864
43865        Remove compositeOffscreen setting and implementation. This was an experiment that is no longer needed.
43866
43867        * platform/graphics/chromium/LayerRendererChromium.cpp:
43868        (WebCore::LayerRendererChromium::finishDrawingFrame):
43869        (WebCore::LayerRendererChromium::useRenderSurface):
43870        (WebCore::LayerRendererChromium::setScissorToRect):
43871        * platform/graphics/chromium/LayerRendererChromium.h:
43872        (LayerRendererChromium):
43873        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
43874        (WebCore::CCSettings::CCSettings):
43875        (CCSettings):
43876
438772012-04-13  Alexey Proskuryakov  <ap@apple.com>
43878
43879        REGRESSION (XHR Caching): Uncacheable responses sent by Rails through Apache are cached
43880        https://bugs.webkit.org/show_bug.cgi?id=83925
43881        <rdar://problem/11231790>
43882
43883        Reviewed by Antti Koivisto.
43884
43885        Added subtests to http/tests/cache/subresource-expiration-2.html.
43886
43887        * platform/network/ResourceResponseBase.cpp:
43888        (WebCore::ResourceResponseBase::parseCacheControlDirectives): Honor first max-age
43889        instead of the last. New behavior matches both Firefox and IE.
43890
438912012-04-13  James Robinson  <jamesr@chromium.org>
43892
43893        [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
43894        https://bugs.webkit.org/show_bug.cgi?id=83851
43895
43896        Reviewed by Adam Barth.
43897
43898        Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
43899        Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
43900        width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).
43901
43902        Covered by existing media/ and compositing/ layout tests.
43903
43904        * WebCore.gypi:
43905        * platform/graphics/chromium/LayerRendererChromium.cpp:
43906        (WebCore::LayerRendererChromium::drawYUV):
43907        (WebCore::LayerRendererChromium::drawRGBA):
43908        (WebCore::LayerRendererChromium::copyFrameToTextures):
43909        * platform/graphics/chromium/LayerRendererChromium.h:
43910        * platform/graphics/chromium/VideoFrameProvider.h:
43911        (VideoFrameProvider):
43912        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
43913        (WebCore::CCVideoDrawQuad::create):
43914        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
43915        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
43916        (WebKit):
43917        (CCVideoDrawQuad):
43918        (WebCore::CCVideoDrawQuad::frame):
43919        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
43920        (WebCore):
43921        (WebCore::convertVFCFormatToGC3DFormat):
43922        (WebCore::CCVideoLayerImpl::willDraw):
43923        (WebCore::videoFrameDimension):
43924        (WebCore::hasPaddingBytes):
43925        (WebCore::CCVideoLayerImpl::computeVisibleSize):
43926        (WebCore::CCVideoLayerImpl::reserveTextures):
43927        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
43928        (WebKit):
43929
439302012-04-13  Rob Flack  <flackr@chromium.org>
43931
43932        Chromium: Should enable -webkit-image-set
43933        https://bugs.webkit.org/show_bug.cgi?id=81859
43934
43935        Reviewed by Adam Barth.
43936
43937        Test: fast/css/image-set-parsing.html
43938
43939        * WebCore.gypi:
43940
439412012-04-12  Michael Nordman  <michaeln@google.com>
43942
43943        [chromium] Now that the chromium port is using a different dom_storage backend
43944        library in its main browser process, there are a handful of files that should no
43945        longer be included in the build, and a few files than should be deleted
43946        outright, and the webkit api should be modified to reflect the new (and smaller)
43947        contract between the embedder and webkit/webcore.
43948        https://bugs.webkit.org/show_bug.cgi?id=83807
43949
43950        Reviewed by Adam Barth.
43951
43952        No new tests, existing tests apply.
43953
43954        * WebCore.gyp/WebCore.gyp: Exclude several files from the WebCore/storage directory.
43955        * storage/StorageEventDispatcher.h: Delete a stale comment.
43956
439572012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
43958
43959        Unreviewed, rolling out r114140.
43960        http://trac.webkit.org/changeset/114140
43961        https://bugs.webkit.org/show_bug.cgi?id=83921
43962
43963        Fails fast/css/image-set-parsing.html test it attempts to
43964        introduce. (Requested by scheib on #webkit).
43965
43966        * WebCore.gypi:
43967
439682012-04-13  Dan Bernstein  <mitz@apple.com>
43969
43970        <rdar://problem/10912680> Pixel access canvas APIs do not operate at backing store resolution
43971        https://bugs.webkit.org/show_bug.cgi?id=83836
43972
43973        Reviewed by Darin Adler.
43974
43975        Test: fast/canvas/2d.imageDataHD.html
43976
43977        Added getImageDataHD and putImageDataHD functions to CanvasRenderingContext2D, as proposed in
43978        <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The functions
43979        are prefixed with “webkit” for now.
43980
43981        * html/canvas/CanvasRenderingContext2D.cpp:
43982        (WebCore::CanvasRenderingContext2D::getImageData): Added this cover function that calls
43983        through to getImageData with LogicalCoordinateSystem.
43984        (WebCore::CanvasRenderingContext2D::webkitGetImageDataHD): Added. Calls through to
43985        getImageData with BackingStoreCoordinateSystem.
43986        (WebCore::CanvasRenderingContext2D::getImageData): Added a CoordinateSystem parameter to this
43987        now-private function. It is passed through to ImageBuffer::getUnmultipliedImageData().
43988        (WebCore::CanvasRenderingContext2D::putImageData): Added this cover function that calls
43989        through to putImageData with LogicalCoordinateSystem.
43990        (WebCore::CanvasRenderingContext2D::webkitPutImageDataHD): Added. Calls through to
43991        putImageData with BackingStoreCoordinateSystem.
43992        (WebCore::CanvasRenderingContext2D::putImageData): Added a CoordinateSystem parameter to this
43993        function. It is passed through to ImageBuffer::putByteArray, and used to compute the rect to
43994        invalidate after the drawing operation.
43995        * html/canvas/CanvasRenderingContext2D.h:
43996        * html/canvas/CanvasRenderingContext2D.idl: Added webkitPutImageDataHD() and
43997        webkitGetImageDataHD().
43998        * platform/graphics/ImageBuffer.h: Added a CoordinateSystem enum with the values
43999        LogicalCoordinateSystem and BackingStoreCoordinateSystem. Added a CoordinateSystem parameter,
44000        which defaults to LogicalCoordinateSystem, to getUnmultipliedImageData,
44001        getPremultipliedImageData, and putByteArray.
44002        * platform/graphics/cairo/ImageBufferCairo.cpp:
44003        (WebCore::ImageBuffer::getUnmultipliedImageData):
44004        (WebCore::ImageBuffer::getPremultipliedImageData):
44005        (WebCore::ImageBuffer::putByteArray):
44006        (WebCore::ImageBuffer::toDataURL):
44007        * platform/graphics/cg/ImageBufferCG.cpp:
44008        (WebCore::ImageBuffer::getUnmultipliedImageData): Now uses the CoordinateSystem parameter to
44009        decide whether to ask ImageBufferDaya::getData() to apply the resolution scale or not.
44010        (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
44011        (WebCore::ImageBuffer::putByteArray): Now uses the CoordinateSystem parameter to decide
44012        whether to maintain the resolution scale while drawing or not.
44013        (WebCore::ImageBuffer::toDataURL):
44014        * platform/graphics/gtk/ImageBufferGtk.cpp:
44015        (WebCore::ImageBuffer::toDataURL):
44016        * platform/graphics/qt/ImageBufferQt.cpp:
44017        (WebCore::ImageBuffer::getUnmultipliedImageData):
44018        (WebCore::ImageBuffer::getPremultipliedImageData):
44019        (WebCore::ImageBuffer::putByteArray):
44020        (WebCore::ImageBuffer::toDataURL):
44021        * platform/graphics/skia/ImageBufferSkia.cpp:
44022        (WebCore::ImageBuffer::getUnmultipliedImageData):
44023        (WebCore::ImageBuffer::getPremultipliedImageData):
44024        (WebCore::ImageBuffer::putByteArray):
44025        (WebCore::ImageBuffer::toDataURL):
44026        * platform/graphics/wince/ImageBufferWinCE.cpp:
44027        (WebCore::ImageBuffer::getUnmultipliedImageData):
44028        (WebCore::ImageBuffer::getPremultipliedImageData):
44029        (WebCore::ImageBuffer::putByteArray):
44030        (WebCore::ImageBuffer::toDataURL):
44031        * platform/graphics/wx/ImageBufferWx.cpp:
44032        (WebCore::ImageBuffer::getUnmultipliedImageData):
44033        (WebCore::ImageBuffer::getPremultipliedImageData):
44034        (WebCore::ImageBuffer::putByteArray):
44035        (WebCore::ImageBuffer::toDataURL):
44036
440372012-04-12  Shawn Singh  <shawnsingh@chromium.org>
44038
44039        [chromium] Support CCHeadsUpDisplay in threaded compositing mode
44040        https://bugs.webkit.org/show_bug.cgi?id=67499
44041
44042        Reviewed by James Robinson.
44043
44044        No new tests because this code is debugging code itself.
44045
44046        The last item that was needed to make the CCHeadsUpDisplay work in
44047        threaded compositing mode was to remove the font rendering code
44048        used on the impl-side thread. To solve this, this patch adds a
44049        CCFontAtlas that is initialized on the main thread (where the font
44050        rendering takes place). Then, when the HUD draws text on the impl
44051        thread, it uses the font atlas directly.
44052
44053        * WebCore.gypi:
44054        * platform/graphics/chromium/LayerRendererChromium.cpp:
44055        (WebCore::LayerRendererChromium::create):
44056        (WebCore::LayerRendererChromium::initialize):
44057        * platform/graphics/chromium/LayerRendererChromium.h:
44058        (WebCore):
44059        (LayerRendererChromium):
44060        * platform/graphics/chromium/cc/CCFontAtlas.cpp: Added.
44061        (WebCore):
44062        (WebCore::CCFontAtlas::CCFontAtlas):
44063        (WebCore::wrapPositionIfNeeded):
44064        (WebCore::CCFontAtlas::generateAtlasForFont):
44065        (WebCore::CCFontAtlas::initialize):
44066        (WebCore::CCFontAtlas::drawText):
44067        (WebCore::CCFontAtlas::drawOneLineOfTextInternal):
44068        (WebCore::CCFontAtlas::drawDebugAtlas):
44069        * platform/graphics/chromium/cc/CCFontAtlas.h: Added.
44070        (WebCore):
44071        (CCFontAtlas):
44072        (WebCore::CCFontAtlas::create):
44073        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
44074        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
44075        (WebCore):
44076        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
44077        (WebCore::CCHeadsUpDisplay::drawHudContents):
44078        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
44079        (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
44080        (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
44081        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
44082        (WebCore::CCHeadsUpDisplay::create):
44083        (CCHeadsUpDisplay):
44084        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
44085        (WebCore::CCLayerTreeHost::initialize):
44086        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
44087        (WebCore):
44088        (WebCore::CCLayerTreeHost::headsUpDisplayFontAtlas):
44089        (CCLayerTreeHost):
44090        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
44091        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
44092        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
44093        (WebCore):
44094        (CCLayerTreeHostImpl):
44095        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
44096        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
44097        (WebCore::CCSingleThreadProxy::recreateContext):
44098        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
44099        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
44100        (WebCore::CCThreadProxy::recreateContextOnImplThread):
44101
441022012-04-13  Rob Flack  <flackr@chromium.org>
44103
44104        Chromium: Should enable -webkit-image-set
44105        https://bugs.webkit.org/show_bug.cgi?id=81859
44106
44107        Reviewed by Adam Barth.
44108
44109        Test: fast/css/image-set-parsing.html
44110
44111        * WebCore.gypi:
44112
441132012-04-13  Pavel Feldman  <pfeldman@chromium.org>
44114
44115        Web Inspector: do not attempt to load content from resource until request finished loading.
44116        https://bugs.webkit.org/show_bug.cgi?id=83896
44117
44118        Reviewed by Yury Semikhatsky.
44119
44120        When we stop in the inline script on reload, we should only show concatenated script content.
44121        When we resume, we should replace UI source code with the actual HTML content. We should not attempt to
44122        fetch resource content until request finished loading. I regressed it in the Request extraction
44123        and now am bringing it back.
44124
44125        * inspector/front-end/RawSourceCode.js:
44126        (WebInspector.RawSourceCode):
44127        (WebInspector.RawSourceCode.prototype._finishedLoading):
44128        * inspector/front-end/ResourceScriptMapping.js:
44129        (WebInspector.ResourceScriptMapping.prototype.addScript):
44130
441312012-04-13  Pavel Feldman  <pfeldman@chromium.org>
44132
44133        Web Inspector: follow up to r114116 - fixing QT test
44134        https://bugs.webkit.org/show_bug.cgi?id=83892
44135
44136        Reviewed by Yury Semikhatsky.
44137
44138        Requesting content for the scripts exclusively via the page agent now.
44139
44140        * inspector/front-end/Resource.js:
44141        (WebInspector.Resource.prototype.get content):
44142        (WebInspector.Resource.prototype.get contentEncoded):
44143        (WebInspector.Resource.prototype.requestContent):
44144        (WebInspector.ResourceRevision.prototype.requestContent):
44145
441462012-04-13  Yi Shen  <yi.4.shen@nokia.com>
44147
44148        InsertHTML fails to insert h6 if the insertion point is before some text.
44149        https://bugs.webkit.org/show_bug.cgi?id=82689
44150
44151        Reviewed by Ryosuke Niwa.
44152
44153        Added the missing h6 tag for the isHeaderElement.
44154
44155        No new tests: updated existing test (editing/execCommand/4128080-1.html)
44156
44157        * editing/ReplaceSelectionCommand.cpp:
44158        (WebCore::isHeaderElement):
44159
441602012-04-13  Yury Semikhatsky  <yurys@chromium.org>
44161
44162        Web Inspector: exception in heap profiler when expanding a class in summary view
44163        https://bugs.webkit.org/show_bug.cgi?id=83883
44164
44165        Moved all DOM-specific inspector utilities into DOMExtension.js
44166
44167        Merged BinarySearch.js and PartialQuickSort.js into utilities.js, HeapSnapshotWorker.js now
44168        imports utilities.js which contains all required routines.
44169
44170        Reviewed by Pavel Feldman.
44171
44172        * WebCore.gypi:
44173        * WebCore.vcproj/WebCore.vcproj:
44174        * inspector/compile-front-end.py:
44175        * inspector/front-end/BinarySearch.js: Removed.
44176        * inspector/front-end/DOMExtension.js: Copied from Source/WebCore/inspector/front-end/utilities.js.
44177        (Node.prototype.rangeOfWord):
44178        (Node.prototype.traverseNextTextNode):
44179        (Node.prototype.rangeBoundaryForOffset):
44180        (Element.prototype.removeStyleClass):
44181        (Element.prototype.removeMatchingStyleClasses):
44182        (Element.prototype.addStyleClass):
44183        (Element.prototype.hasStyleClass):
44184        (Element.prototype.positionAt):
44185        (Element.prototype.pruneEmptyTextNodes):
44186        (Element.prototype.isScrolledToBottom):
44187        (Node.prototype.enclosingNodeOrSelfWithNodeNameInArray):
44188        (Node.prototype.enclosingNodeOrSelfWithNodeName):
44189        (Node.prototype.enclosingNodeOrSelfWithClass):
44190        (Node.prototype.enclosingNodeWithClass):
44191        (Element.prototype.query):
44192        (Element.prototype.removeChildren):
44193        (Element.prototype.isInsertionCaretInside):
44194        (Element.prototype.createChild):
44195        (Element.prototype.totalOffsetLeft):
44196        (Element.prototype.totalOffsetTop):
44197        (Element.prototype.totalOffset):
44198        (Element.prototype.scrollOffset):
44199        (AnchorBox):
44200        (Element.prototype.offsetRelativeToWindow):
44201        (Element.prototype.boxInWindow):
44202        (Element.prototype.setTextAndTitle):
44203        (Event.prototype.consume):
44204        (Text.prototype.select):
44205        (Element.prototype.selectionLeftOffset):
44206        (Node.prototype.isAncestor):
44207        (Node.prototype.isDescendant):
44208        (Node.prototype.isSelfOrAncestor):
44209        (Node.prototype.isSelfOrDescendant):
44210        (Node.prototype.traverseNextNode):
44211        (Node.prototype.traversePreviousNode):
44212        (HTMLTextAreaElement.prototype.moveCursorToEnd):
44213        (isEnterKey):
44214        (consumeEvent):
44215        (highlightSearchResult):
44216        (highlightSearchResults):
44217        (highlightRangesWithStyleClass):
44218        (applyDomChanges):
44219        (revertDomChanges):
44220        * inspector/front-end/HeapSnapshot.js: Fixed a couple of js compiler warnings
44221        by describing structure of heap snapshot header in the protocol.
44222        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
44223        * inspector/front-end/HeapSnapshotWorker.js:
44224        * inspector/front-end/PartialQuickSort.js: Removed.
44225        * inspector/front-end/WebKit.qrc:
44226        * inspector/front-end/inspector.html:
44227        * inspector/front-end/utilities.js:
44228        (.):
44229
442302012-04-13  Sheriff Bot  <webkit.review.bot@gmail.com>
44231
44232        Unreviewed, rolling out r114103.
44233        http://trac.webkit.org/changeset/114103
44234        https://bugs.webkit.org/show_bug.cgi?id=83884
44235
44236        New breakpoint UI looks bad / needs polish. (Requested by
44237        pfeldman_ on #webkit).
44238
44239        * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
44240        * inspector/front-end/Images/breakpointCounterBorder.png:
44241        * inspector/front-end/Images/programCounterBorder.png:
44242        * inspector/front-end/textViewer.css:
44243        (.webkit-execution-line .webkit-line-number-outer):
44244        (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer):
44245        (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer):
44246
442472012-04-13  Jason Liu  <jason.liu@torchmobile.com.cn>
44248
44249        [BlackBerry] Sign in cookie for ESPN.com does not retain login account (for fantasy sports).
44250        https://bugs.webkit.org/show_bug.cgi?id=83760
44251
44252        Reviewed by George Staikos.
44253
44254        When we update cookies' database, protocol shouldn't be checked since it is not a cookie's key.
44255        ESPN.com's https cookies should replace old http cookies if they have the same keys(name, path, domain).
44256
44257        We must restart the browser to test, so have to write a manual test case.
44258
44259        Test: ManualTests/blackberry/http-cookie-database-set.php
44260
44261        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
44262        (WebCore::CookieDatabaseBackingStore::invokeOpen):
44263
442642012-04-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
44265
44266        [Qt] Use QQuickFlickable::setPixelAligned instead of doing pixel-alignment when rendering.
44267        https://bugs.webkit.org/show_bug.cgi?id=83770
44268
44269        Reviewed by Kenneth Rohde Christiansen.
44270
44271        Revert the previous way of dealing with things. The problem is that different layers
44272        would end up rounding in different directions, and would cause jittering between
44273        layers or with the QQuickWebPage's background.
44274
44275        * platform/graphics/texmap/TextureMapperGL.cpp:
44276        (WebCore::TextureMapperGL::drawTexture):
44277
442782012-04-13  Pavel Feldman  <pfeldman@chromium.org>
44279
44280        Web Inspector: introduce ParsedURL type, clean up url and displayName mess in Resource and NetworkRequest.
44281        https://bugs.webkit.org/show_bug.cgi?id=83871
44282
44283        Reviewed by Yury Semikhatsky.
44284
44285        There is a number of random properties created on Resource and NetworkRequest that represent various url
44286        fragments. Display name is being based on them and sometimes requires fake Resource instance to be created.
44287        This change (officially) introduces WebInspector.ParsedURL as a type that encapsulates this complexity.
44288
44289        This change also moves documentURL property into the Resource and NetworkRequest constructors and brushes up
44290        factory methods used to create the objects.
44291
44292        * inspector/front-end/AuditRules.js:
44293        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
44294        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
44295        * inspector/front-end/Database.js:
44296        (WebInspector.Database.prototype.get displayDomain):
44297        * inspector/front-end/JavaScriptContextManager.js:
44298        (WebInspector.FrameEvaluationContext.prototype.get displayName):
44299        * inspector/front-end/NetworkManager.js:
44300        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
44301        (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
44302        (get WebInspector):
44303        * inspector/front-end/NetworkPanel.js:
44304        (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
44305        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
44306        * inspector/front-end/NetworkRequest.js:
44307        (WebInspector.NetworkRequest):
44308        (WebInspector.NetworkRequest.prototype.set url):
44309        (WebInspector.NetworkRequest.prototype.get documentURL):
44310        (WebInspector.NetworkRequest.prototype.get parsedURL):
44311        (WebInspector.NetworkRequest.prototype.get displayName):
44312        (WebInspector.NetworkRequest.prototype.get folder):
44313        * inspector/front-end/RequestHeadersView.js:
44314        (WebInspector.RequestHeadersView.prototype._refreshUrlFragment):
44315        * inspector/front-end/Resource.js:
44316        (WebInspector.Resource):
44317        (WebInspector.Resource.prototype.set url):
44318        (WebInspector.Resource.prototype.get parsedURL):
44319        (WebInspector.Resource.prototype.get frameId):
44320        (WebInspector.Resource.prototype.get loaderId):
44321        (WebInspector.Resource.prototype.get displayName):
44322        * inspector/front-end/ResourceTreeModel.js:
44323        (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
44324        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
44325        (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
44326        (WebInspector.ResourceTreeFrame.prototype._addRequest):
44327        * inspector/front-end/ResourceUtils.js:
44328        (WebInspector.ParsedURL):
44329        (WebInspector.ParsedURL.prototype.get displayName):
44330        (String.prototype.asParsedURL):
44331        (WebInspector.displayDomain):
44332        (WebInspector.resourceURLForRelatedNode.callback):
44333        (WebInspector.resourceURLForRelatedNode):
44334        * inspector/front-end/ResourcesPanel.js:
44335        (WebInspector.FrameTreeElement.prototype.frameNavigated):
44336        (WebInspector.ApplicationCacheManifestTreeElement):
44337        (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
44338        * inspector/front-end/utilities.js:
44339
443402012-04-13  Pavel Feldman  <pfeldman@chromium.org>
44341
44342        Web Inspector: extracting NetworkRequest from Resource (step 3)
44343        https://bugs.webkit.org/show_bug.cgi?id=83802
44344
44345        Reviewed by Yury Semikhatsky.
44346
44347        This change extracts NetworkRequest from the Resource. It is now clear that these two
44348        should have super class that would be responsible for parsing URL and would define the
44349        requestContent signature. Corresponding patch will follow.
44350
44351        * inspector/front-end/NetworkManager.js:
44352        * inspector/front-end/NetworkRequest.js:
44353        (WebInspector.NetworkRequest):
44354        (WebInspector.NetworkRequest.prototype.get requestId):
44355        (WebInspector.NetworkRequest.prototype.set requestId):
44356        (WebInspector.NetworkRequest.prototype.get url):
44357        (WebInspector.NetworkRequest.prototype.get frameId):
44358        (WebInspector.NetworkRequest.prototype.get loaderId):
44359        (WebInspector.NetworkRequest.prototype.get startTime):
44360        (WebInspector.NetworkRequest.prototype.set startTime):
44361        (WebInspector.NetworkRequest.prototype.get responseReceivedTime):
44362        (WebInspector.NetworkRequest.prototype.set responseReceivedTime):
44363        (WebInspector.NetworkRequest.prototype.get endTime):
44364        (WebInspector.NetworkRequest.prototype.set endTime):
44365        (WebInspector.NetworkRequest.prototype.get duration):
44366        (WebInspector.NetworkRequest.prototype.get latency):
44367        (WebInspector.NetworkRequest.prototype.get receiveDuration):
44368        (WebInspector.NetworkRequest.prototype.get resourceSize):
44369        (WebInspector.NetworkRequest.prototype.set resourceSize):
44370        (WebInspector.NetworkRequest.prototype.get transferSize):
44371        (WebInspector.NetworkRequest.prototype.increaseTransferSize):
44372        (WebInspector.NetworkRequest.prototype.get finished):
44373        (WebInspector.NetworkRequest.prototype.set finished):
44374        (WebInspector.NetworkRequest.prototype.get failed):
44375        (WebInspector.NetworkRequest.prototype.set failed):
44376        (WebInspector.NetworkRequest.prototype.get canceled):
44377        (WebInspector.NetworkRequest.prototype.set canceled):
44378        (WebInspector.NetworkRequest.prototype.get cached):
44379        (WebInspector.NetworkRequest.prototype.set cached):
44380        (WebInspector.NetworkRequest.prototype.get timing):
44381        (WebInspector.NetworkRequest.prototype.set timing):
44382        (WebInspector.NetworkRequest.prototype.get mimeType):
44383        (WebInspector.NetworkRequest.prototype.set mimeType):
44384        (WebInspector.NetworkRequest.prototype.get displayName):
44385        (WebInspector.NetworkRequest.prototype.get folder):
44386        (WebInspector.NetworkRequest.prototype.get displayDomain):
44387        (WebInspector.NetworkRequest.prototype.get type):
44388        (WebInspector.NetworkRequest.prototype.set type):
44389        (WebInspector.NetworkRequest.prototype.get redirectSource):
44390        (WebInspector.NetworkRequest.prototype.set redirectSource):
44391        (WebInspector.NetworkRequest.prototype.get requestHeaders):
44392        (WebInspector.NetworkRequest.prototype.set requestHeaders):
44393        (WebInspector.NetworkRequest.prototype.get requestHeadersText):
44394        (WebInspector.NetworkRequest.prototype.set requestHeadersText):
44395        (WebInspector.NetworkRequest.prototype.get requestHeadersSize):
44396        (WebInspector.NetworkRequest.prototype.requestHeaderValue):
44397        (WebInspector.NetworkRequest.prototype.get requestCookies):
44398        (WebInspector.NetworkRequest.prototype.get requestFormData):
44399        (WebInspector.NetworkRequest.prototype.set requestFormData):
44400        (WebInspector.NetworkRequest.prototype.get requestHttpVersion):
44401        (WebInspector.NetworkRequest.prototype.get responseHeaders):
44402        (WebInspector.NetworkRequest.prototype.set responseHeaders):
44403        (WebInspector.NetworkRequest.prototype.get responseHeadersText):
44404        (WebInspector.NetworkRequest.prototype.set responseHeadersText):
44405        (WebInspector.NetworkRequest.prototype.get responseHeadersSize):
44406        (WebInspector.NetworkRequest.prototype.responseHeaderValue):
44407        (WebInspector.NetworkRequest.prototype.get responseCookies):
44408        (WebInspector.NetworkRequest.prototype.get queryParameters):
44409        (WebInspector.NetworkRequest.prototype.get formParameters):
44410        (WebInspector.NetworkRequest.prototype.get responseHttpVersion):
44411        (WebInspector.NetworkRequest.prototype._parseParameters):
44412        (WebInspector.NetworkRequest.prototype._headerValue):
44413        (WebInspector.NetworkRequest.prototype.get content):
44414        (WebInspector.NetworkRequest.prototype.get contentEncoded):
44415        (WebInspector.NetworkRequest.prototype.requestContent):
44416        (WebInspector.NetworkRequest.prototype.isHttpFamily):
44417        (WebInspector.NetworkRequest.prototype.requestContentType):
44418        (WebInspector.NetworkRequest.prototype.isPingRequest):
44419        (WebInspector.NetworkRequest.prototype.hasErrorStatusCode):
44420        (WebInspector.NetworkRequest.prototype.populateImageSource):
44421        (WebInspector.NetworkRequest.prototype._contentURL):
44422        (WebInspector.NetworkRequest.prototype._innerRequestContent.onResourceContent):
44423        (WebInspector.NetworkRequest.prototype._innerRequestContent):
44424        (WebInspector.NetworkRequest.prototype.setResource):
44425        (WebInspector.NetworkRequest.prototype.resource):
44426        * inspector/front-end/RawSourceCode.js:
44427        (WebInspector.RawSourceCode):
44428        (WebInspector.RawSourceCode.prototype._resourceAdded):
44429        (WebInspector.RawSourceCode.prototype.forceUpdateSourceMapping):
44430        (WebInspector.RawSourceCode.prototype._createContentProvider):
44431        * inspector/front-end/Resource.js:
44432        (WebInspector.Resource):
44433        (WebInspector.Resource.displayName):
44434        (WebInspector.Resource.prototype.get request):
44435        (WebInspector.Resource.prototype.set url):
44436        (WebInspector.Resource.prototype.get type):
44437        (WebInspector.Resource.prototype.get mimeType):
44438        (WebInspector.Resource.prototype.set mimeType):
44439        (WebInspector.Resource.prototype.get content):
44440        (WebInspector.Resource.prototype.get contentEncoded):
44441        (WebInspector.Resource.prototype.requestContent):
44442        (WebInspector.Resource.prototype._innerRequestContent.callback):
44443        (WebInspector.Resource.prototype._innerRequestContent):
44444        (WebInspector.ResourceRevision.prototype.requestContent.callbackWrapper):
44445        (WebInspector.ResourceRevision.prototype.requestContent):
44446        * inspector/front-end/ResourceScriptMapping.js:
44447        (WebInspector.ResourceScriptMapping.prototype.addScript):
44448
444492012-04-13  Mike Reed  <reed@google.com>
44450
44451        use getClipDeviceBounds, rather than (deprecated) getTotalClip
44452        https://bugs.webkit.org/show_bug.cgi?id=83808
44453
44454        Reviewed by Stephen White.
44455
44456        Equivalent functionality, existing tests apply.
44457
44458        * platform/graphics/skia/OpaqueRegionSkia.cpp:
44459        (WebCore::OpaqueRegionSkia::didDraw):
44460
444612012-04-13  Thiago Marcos P. Santos  <thiago.santos@intel.com>
44462
44463        [EFL] Add API for color chooser
44464        https://bugs.webkit.org/show_bug.cgi?id=83692
44465
44466        Added new API to enable browsers to display a custom color picker
44467        when an input field of type "color" is activated.
44468
44469        Reviewed by Kenneth Rohde Christiansen.
44470
44471        * PlatformEfl.cmake:
44472        * platform/efl/ColorChooserEfl.cpp: Added.
44473        (WebCore):
44474        (WebCore::ColorChooserEfl::ColorChooserEfl):
44475        (WebCore::ColorChooserEfl::~ColorChooserEfl):
44476        (WebCore::ColorChooserEfl::setSelectedColor):
44477        (WebCore::ColorChooserEfl::endChooser):
44478        * platform/efl/ColorChooserEfl.h: Added.
44479        (WebCore):
44480        (ColorChooserEfl):
44481
444822012-04-13  Zalan Bujtas  <zbujtas@gmail.com>
44483
44484        Enabling/disabling delegates scrolling when page has no composited content asserts on WK1.
44485        https://bugs.webkit.org/show_bug.cgi?id=83860
44486
44487        Reviewed by Kenneth Rohde Christiansen.
44488
44489        WK2 has compositing mode on all the time, while Wk1 turns it on only when
44490        the page has composited content. This patch ensures that, when delegates scrolling behavior
44491        is changed, backing stores are cleared only when there's an actual composition,
44492        similarly to what CachedFrame does.
44493
44494        Test: fast/viewport/scroll-delegates-switch-on-page-with-no-composition-mode-asserts.html
44495
44496        * page/FrameView.cpp:
44497        (WebCore::FrameView::delegatesScrollingDidChange):
44498
444992012-04-13  Vivek Galatage  <vivekgalatage@gmail.com>
44500
44501        Web Inspector: Line number is not displayed while debugging javascript
44502        https://bugs.webkit.org/show_bug.cgi?id=83786
44503
44504        Reviewed by Pavel Feldman.
44505
44506        Changed the textViewer.css to start displaying the line number with
44507        appropriate color property. Added outline property for enhanced view
44508
44509        No additional test cases required for the above fix.
44510
44511        * inspector/front-end/Images/breakpointConditionalCounterBorder.png:
44512        * inspector/front-end/Images/breakpointCounterBorder.png:
44513        * inspector/front-end/Images/programCounterBorder.png:
44514        * inspector/front-end/textViewer.css:
44515        (.webkit-execution-line .webkit-line-number-outer):
44516        (.webkit-breakpoint.webkit-execution-line .webkit-line-number-outer):
44517        (.webkit-breakpoint-conditional.webkit-execution-line .webkit-line-number-outer):
44518
445192012-04-13  Kent Tamura  <tkent@chromium.org>
44520
44521        Add a runtime flag for <input type=date>
44522        https://bugs.webkit.org/show_bug.cgi?id=83853
44523
44524        Reviewed by Adam Barth.
44525
44526        * bindings/generic/RuntimeEnabledFeatures.cpp:
44527        * bindings/generic/RuntimeEnabledFeatures.h:
44528        (WebCore::RuntimeEnabledFeatures::inputTypeDateEnabled): Added.
44529        (WebCore::RuntimeEnabledFeatures::setInputTypeDateEnabled): Added.
44530        * html/InputType.cpp:
44531        (WebCore::createInputTypeFactoryMap):
44532        Don't register type=date if !RuntimeEnabledFeatures::inputTypeDateEnabled()
44533
445342012-04-13  Adam Barth  <abarth@webkit.org>
44535
44536        JSDocument::setLocation does too much bare-handed lifting
44537        https://bugs.webkit.org/show_bug.cgi?id=83850
44538
44539        Reviewed by Sam Weinig.
44540
44541        As part of auditing all the ways of kicking off a navigation, I
44542        happened to read JSDocument::setLocation, which uses very old patterns.
44543        This patch updates it to do things the "modern" way.  There shouldn't
44544        be any behavior change.
44545
44546        * bindings/js/JSDocumentCustom.cpp:
44547        (WebCore::JSDocument::setLocation):
44548
445492012-04-13  Shinya Kawanaka  <shinyak@chromium.org>
44550
44551        Background width (or height) is wrong if width (or height) * zoom < 1.
44552        https://bugs.webkit.org/show_bug.cgi?id=83350
44553
44554        Reviewed by Nikolas Zimmermann.
44555
44556        calculateImageIntrinsicDimension will return wrong size if the calculated size is 0.
44557        0 is used for expressing unspecfied, so the method returns the box width(height) instead.
44558
44559        Since CachedImage has already similar code, we moved it to IntSize and shared it.
44560
44561        Tests: fast/css/zoom-background-repeat-x-expected.html
44562               fast/css/zoom-background-repeat-x.html
44563               fast/css/zoom-background-repeat-y-expected.html
44564               fast/css/zoom-background-repeat-y.html
44565
44566        * loader/cache/CachedImage.cpp:
44567        (WebCore::CachedImage::imageSizeForRenderer):
44568        * platform/graphics/IntSize.h:
44569        (IntSize):
44570        (WebCore::IntSize::scale):
44571        (WebCore::IntSize::clampToMinimumSize):
44572        * rendering/RenderBoxModelObject.cpp:
44573        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
44574
445752012-04-13  Adam Barth  <abarth@webkit.org>
44576
44577        Prepare submitForm for seamless navigation
44578        https://bugs.webkit.org/show_bug.cgi?id=83838
44579
44580        Reviewed by Ryosuke Niwa.
44581
44582        Previously, FrameLoader::submitForm called FrameTree::find and
44583        Document::canNavigate separately.  This patch refactors this function
44584        to call findFrameForNavigation, which does both checks.
44585
44586        This doesn't change any behavior today, but it prepares us to implement
44587        seamless navigation.  Once the seamless branch lands, this change will
44588        be tested by seamless-form-* in https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
44589
44590        For context, see:
44591        https://github.com/eseidel/webkit/commit/3f27340577ac91b2cc0a834dd2c6fdfcac296c32
44592
44593        * loader/FrameLoader.cpp:
44594        (WebCore::FrameLoader::submitForm):
44595
445962012-04-13  Kent Tamura  <tkent@chromium.org>
44597
44598        Should clear an invalid string in a date field on blur
44599        https://bugs.webkit.org/show_bug.cgi?id=83863
44600
44601        Reviewed by Kentaro Hara.
44602
44603        Test: fast/forms/date/input-date-commit-valid-only.html
44604
44605        * html/DateInputType.cpp:
44606        (WebCore::DateInputType::handleBlurEvent):
44607        Reset the visible value. The code is same as NumberInputType::handleBlurEvent().
44608
446092012-04-12  Kent Tamura  <tkent@chromium.org>
44610
44611        Calendar Picker: remove unnecessary code from calendarPicker.{css,js}
44612        https://bugs.webkit.org/show_bug.cgi?id=83685
44613
44614        Reviewed by Kentaro Hara.
44615
44616        Remove the followings from input files:
44617         - multi line comments /*...*/ (.js and .css)
44618         - single line comment //... (.js)
44619         - repeating whitespace (.js and .css)
44620         - leading and trailing whitespace (.js and .css)
44621         - empty lines (.js and .css)
44622
44623        This doesn't work for arbitrary JavaScript or CSS inputs, but
44624        works well for expected input files like
44625        css/make-css-file-arrays.pl
44626
44627        * make-file-arrays.py:
44628        (strip_whitespace_and_comments):
44629        (main):
44630
446312012-04-12  Sailesh Agrawal  <sail@chromium.org>
44632
44633        Chromium: Fix scrollbar tickmark drawing on Mountain Lion
44634        https://bugs.webkit.org/show_bug.cgi?id=83844
44635
44636        Reviewed by James Robinson.
44637
44638        On Mountain Lion overlay scrollbars have a new expanded mode. In expanded mode the scrolllbar is slightly wider which causes the tickmarks to look incorrect. Fix was to explicitly enter expanded mode to get the correct look.
44639        Screenshots:
44640        broken: http://i.imgur.com/PDKYH.png
44641        fixed: http://i.imgur.com/utp0Y.png
44642
44643        * platform/chromium/ScrollbarThemeChromiumMac.mm:
44644        (WebCore::ScrollbarThemeChromiumMac::paint): Called setExpanded if API is available.
44645        * platform/mac/NSScrollerImpDetails.h: Exposed the isExpanded: API.
44646
446472012-04-12  Kent Tamura  <tkent@chromium.org>
44648
44649        LocalizedDateICU should ignore timezones
44650        https://bugs.webkit.org/show_bug.cgi?id=83859
44651
44652        Reviewed by Hajime Morita.
44653
44654        udat_parse() and udat_format() shift the input date by the offset of the
44655        default timezone. We don't need this behavior for type=date. So we
44656        specify "GMT" to udat_open().
44657
44658        No new tests. This behavior depends on the timezone setting of the local machine.
44659
44660        * platform/text/LocalizedDateICU.cpp:
44661        (WebCore::createShortDateFormatter):
44662        Added. Common factory functio for UDateFormat. Use "GMT" instead of the
44663        default timezone.
44664        (WebCore::parseLocalizedDate): Use createShortDateFormatter().
44665        (WebCore::formatLocalizedDate): ditto.
44666
446672012-04-12  Adam Barth  <abarth@webkit.org>
44668
44669        Prepare window.location for seamless navigation
44670        https://bugs.webkit.org/show_bug.cgi?id=83843
44671
44672        Reviewed by Eric Seidel.
44673
44674        This patch refactors window.location to flow through
44675        FrameLoader::findFrameForNavigation, which is where we're going to
44676        implement the seamless navigation redirect.  This patch shouldn't cause
44677        any observable changes in behavior today, but it will make all the
44678        seamless-window-location* tests in
44679        https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
44680        pass once we merge the seamlesss branch.  See
44681        https://github.com/eseidel/webkit/commit/a6e708fa6c643b156397e9a287b40a0868c7959c
44682        for context.
44683
44684        * bindings/js/JSDOMWindowCustom.cpp:
44685        (WebCore::JSDOMWindow::setLocation):
44686        * bindings/v8/custom/V8DOMWindowCustom.cpp:
44687        (WebCore::V8DOMWindow::locationAccessorSetter):
44688        * page/Location.cpp:
44689        (WebCore::Location::setHref):
44690        (WebCore::Location::setProtocol):
44691        (WebCore::Location::setHost):
44692        (WebCore::Location::setHostname):
44693        (WebCore::Location::setPort):
44694        (WebCore::Location::setPathname):
44695        (WebCore::Location::setSearch):
44696        (WebCore::Location::setHash):
44697        (WebCore::Location::assign):
44698        (WebCore::Location::replace):
44699        (WebCore::Location::setLocation):
44700        (WebCore):
44701        * page/Location.h:
44702        (Location):
44703
447042012-04-12  Dana Jansens  <danakj@chromium.org>
44705
44706        [chromium] Background filters for composited layers
44707        https://bugs.webkit.org/show_bug.cgi?id=80046
44708
44709        Reviewed by Adrienne Walker.
44710
44711        Adds background filters to LayerChromium/CCLayerImpl. These filters are
44712        applied to any pixels in the contents behind the layer and seen through
44713        it.
44714
44715        This is done by adding a backgroundTexture() to the render surface, which
44716        holds the read-back contents of the target framebuffer, background filter
44717        applied, in the surface's own coordinate space. Then this is drawn back
44718        into the frame buffer before the contents of the surface itself is drawn.
44719
44720        Tests: platform/chromium/compositing/filters/background-filter-blur-off-axis.html
44721               platform/chromium/compositing/filters/background-filter-blur-outsets.html
44722               platform/chromium/compositing/filters/background-filter-blur.html
44723
44724        * platform/graphics/chromium/LayerChromium.cpp:
44725        (WebCore::LayerChromium::setBackgroundFilters):
44726        (WebCore):
44727        (WebCore::LayerChromium::pushPropertiesTo):
44728        * platform/graphics/chromium/LayerChromium.h:
44729        (LayerChromium):
44730        (WebCore::LayerChromium::backgroundFilters):
44731        * platform/graphics/chromium/LayerRendererChromium.cpp:
44732        (WebCore::LayerRendererChromium::drawBackgroundFilters):
44733        (WebCore):
44734        (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
44735        (WebCore::LayerRendererChromium::getFramebufferTexture):
44736        (WebCore::LayerRendererChromium::isCurrentRenderSurface):
44737        (WebCore::LayerRendererChromium::useRenderSurface):
44738        (WebCore::LayerRendererChromium::useManagedTexture):
44739        (WebCore::LayerRendererChromium::bindFramebufferToTexture):
44740        (WebCore::LayerRendererChromium::setScissorToRect):
44741        * platform/graphics/chromium/LayerRendererChromium.h:
44742        (LayerRendererChromium):
44743        * platform/graphics/chromium/RenderSurfaceChromium.h:
44744        (WebCore::RenderSurfaceChromium::setBackgroundFilters):
44745        (WebCore::RenderSurfaceChromium::backgroundFilters):
44746        (RenderSurfaceChromium):
44747        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
44748        (WebCore::CCLayerImpl::setBackgroundFilters):
44749        (WebCore):
44750        * platform/graphics/chromium/cc/CCLayerImpl.h:
44751        (CCLayerImpl):
44752        (WebCore::CCLayerImpl::backgroundFilters):
44753        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
44754        (WebCore::subtreeShouldRenderToSeparateSurface):
44755        (WebCore::calculateDrawTransformsAndVisibilityInternal):
44756        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
44757        (WebCore::CCRenderSurface::drawableContentRect):
44758        (WebCore::CCRenderSurface::prepareBackgroundTexture):
44759        (WebCore):
44760        (WebCore::CCRenderSurface::releaseBackgroundTexture):
44761        (WebCore::CCRenderSurface::computeDeviceTransform):
44762        (WebCore::CCRenderSurface::computeDeviceBoundingBox):
44763        (WebCore::CCRenderSurface::computeReadbackDeviceBoundingBox):
44764        (WebCore::CCRenderSurface::readbackDeviceContentRect):
44765        (WebCore::copyTextureToFramebuffer):
44766        (WebCore::CCRenderSurface::copyDeviceToBackgroundTexture):
44767        (WebCore::getSkBitmapTextureId):
44768        (WebCore::CCRenderSurface::drawContents):
44769        (WebCore::CCRenderSurface::drawReplica):
44770        (WebCore::CCRenderSurface::drawLayer):
44771        (WebCore::CCRenderSurface::drawSurface):
44772        (WebCore::CCRenderSurface::applyFilters):
44773        * platform/graphics/chromium/cc/CCRenderSurface.h:
44774        (CCRenderSurface):
44775        (WebCore::CCRenderSurface::setBackgroundFilters):
44776        (WebCore::CCRenderSurface::backgroundFilters):
44777        (WebCore::CCRenderSurface::backgroundTexture):
44778        * testing/Internals.cpp:
44779        (WebCore):
44780        (WebCore::Internals::setBackgroundBlurOnNode):
44781        * testing/Internals.h:
44782        (Internals):
44783        * testing/Internals.idl:
44784
447852012-04-12  Adam Barth  <abarth@webkit.org>
44786
44787        Remove V8DOMWindowShell::setLocation
44788        https://bugs.webkit.org/show_bug.cgi?id=83833
44789
44790        Reviewed by Eric Seidel.
44791
44792        V8DOMWindowShell::setLocation is only used by document.location.  It's
44793        more direct for document.location to call Location::setHref directly.
44794        This integrates correctly with the navigation rules for
44795        <iframe seamless>.
44796
44797        (See https://github.com/eseidel/webkit/compare/master...seamless for
44798        more context about the connection with seamless.)
44799
44800        Reviewed on GitHub:
44801        https://github.com/abarth/webkit/commit/48601729d53a6ac39df5a43b22218c91330c3f61
44802
44803        * bindings/v8/V8DOMWindowShell.cpp:
44804        (WebCore):
44805        * bindings/v8/V8DOMWindowShell.h:
44806        (V8DOMWindowShell):
44807        * bindings/v8/custom/V8DocumentLocationCustom.cpp:
44808        (WebCore::V8Document::locationAccessorSetter):
44809
448102012-04-12  Levi Weintraub  <leviw@chromium.org>
44811
44812        Prepare functions in LengthFunctions.h for LayoutUnits
44813        https://bugs.webkit.org/show_bug.cgi?id=83726
44814
44815        Reviewed by Eric Seidel.
44816
44817        Preparing the functions that live in LengthFunctions for sub-pixel layout, which entails
44818        using and returning LayoutUnits instead of integers. There are a number of rendering
44819        classes that are laid out using integers -- see https://trac.webkit.org/wiki/LayoutUnit
44820        for details -- so this also adds integer-specific versions of the length functions for
44821        explicit use in those classes.
44822
44823        No new tests. No change in behavior.
44824
44825        * css/LengthFunctions.h:
44826        (WebCore): Using LayoutUnits for sub-pixel precision and adding integer-specific versions
44827        of minimumValueForLength and valueForLength that truncate.
44828        * css/LengthFunctions.cpp:
44829        (WebCore):
44830        * dom/Document.cpp:
44831        (WebCore::Document::pageSizeAndMarginsInPixels): Document sizes are integral.
44832        * rendering/RenderFrameSet.cpp:
44833        (WebCore::RenderFrameSet::layOutAxis): The frame tree continues to be integral.
44834        * rendering/RenderMarquee.cpp:
44835        (WebCore::RenderMarquee::timerFired): RenderMarquee scrolling uses integral values.
44836        * rendering/RenderTableSection.cpp:
44837        (WebCore::RenderTableSection::calcRowLogicalHeight): Table layout is integral.
44838
448392012-04-12  Sheriff Bot  <webkit.review.bot@gmail.com>
44840
44841        Unreviewed, rolling out r114075.
44842        http://trac.webkit.org/changeset/114075
44843        https://bugs.webkit.org/show_bug.cgi?id=83857
44844
44845        Breaks compile (Requested by jamesr on #webkit).
44846
44847        * WebCore.gypi:
44848        * platform/graphics/chromium/LayerRendererChromium.cpp:
44849        (WebCore::LayerRendererChromium::drawYUV):
44850        (WebCore::LayerRendererChromium::drawRGBA):
44851        (WebCore::LayerRendererChromium::copyFrameToTextures):
44852        * platform/graphics/chromium/LayerRendererChromium.h:
44853        * platform/graphics/chromium/VideoFrameChromium.cpp: Renamed from Source/Platform/chromium/src/WebVideoFrame.cpp.
44854        (WebCore):
44855        (WebCore::VideoFrameChromium::~VideoFrameChromium):
44856        * platform/graphics/chromium/VideoFrameChromium.h: Copied from Source/Platform/chromium/public/WebVideoFrame.h.
44857        (WebCore):
44858        (VideoFrameChromium):
44859        * platform/graphics/chromium/VideoFrameProvider.h:
44860        (VideoFrameProvider):
44861        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
44862        (WebCore::CCVideoDrawQuad::create):
44863        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
44864        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
44865        (CCVideoDrawQuad):
44866        (WebCore::CCVideoDrawQuad::frame):
44867        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
44868        (WebCore):
44869        (WebCore::convertVFCFormatToGC3DFormat):
44870        (WebCore::CCVideoLayerImpl::willDraw):
44871        (WebCore::CCVideoLayerImpl::computeVisibleSize):
44872        (WebCore::CCVideoLayerImpl::reserveTextures):
44873        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
44874
448752012-04-12  Adam Barth  <abarth@webkit.org>
44876
44877        Use _self to represnet self-navigation, like in the HTML5 spec
44878        https://bugs.webkit.org/show_bug.cgi?id=83834
44879
44880        Reviewed by Eric Seidel.
44881
44882        This patch aligns the internal state representation of the FrameLoader
44883        more closely with the HTML5 spec.  Both the null string and "_self"
44884        represent self-navigation, but the HTML5 spec distinguishes them when
44885        navigating seamless iframes.  In that case, "_self" is explicit
44886        self-navigation, whereas a null string will get redirected to the
44887        "master" frame (the closest enclosing non-seamless frame).
44888
44889        This patch shouldn't have any observable behavior changes, but it will
44890        be useful when we merge in the seamless branch from GitHub.
44891        (See https://github.com/eseidel/webkit/commit/df0e71fcacdb0e7e45fe669afe1314cec5b76523
44892        which contains this change.)
44893
44894        Once the seamless branch lands, this change will be tested by a number
44895        of tests in
44896        https://github.com/eseidel/webkit/tree/seamless/LayoutTests/fast/frames/seamless
44897        including seamless-hyperlink.html.
44898
44899        * loader/FrameLoader.cpp:
44900        (WebCore::FrameLoader::loadURLIntoChildFrame):
44901        (WebCore::FrameLoader::loadURL):
44902
449032012-04-12  James Robinson  <jamesr@chromium.org>
44904
44905        [chromium] Move WebVideoFrame into Platform and remove WebCore::VideoFrameChromium wrapper API
44906        https://bugs.webkit.org/show_bug.cgi?id=83851
44907
44908        Reviewed by Adam Barth.
44909
44910        Remove VideoFrameChromium wrapper and converts WebCore code to using the Platform WebVideoFrame API directly.
44911        Some utility code that previously existed on VideoFrameChromium and only had one caller, such as doing
44912        width/height adjustements for YV12 frames, is moved into the calling code (CCVideoLayerImpl).
44913
44914        Covered by existing media/ and compositing/ layout tests.
44915
44916        * WebCore.gypi:
44917        * platform/graphics/chromium/LayerRendererChromium.cpp:
44918        (WebCore::LayerRendererChromium::drawYUV):
44919        (WebCore::LayerRendererChromium::drawRGBA):
44920        (WebCore::LayerRendererChromium::copyFrameToTextures):
44921        * platform/graphics/chromium/LayerRendererChromium.h:
44922        * platform/graphics/chromium/VideoFrameProvider.h:
44923        (VideoFrameProvider):
44924        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
44925        (WebCore::CCVideoDrawQuad::create):
44926        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
44927        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
44928        (WebKit):
44929        (CCVideoDrawQuad):
44930        (WebCore::CCVideoDrawQuad::frame):
44931        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
44932        (WebCore):
44933        (WebCore::convertVFCFormatToGC3DFormat):
44934        (WebCore::CCVideoLayerImpl::willDraw):
44935        (WebCore::videoFrameDimension):
44936        (WebCore::hasPaddingBytes):
44937        (WebCore::CCVideoLayerImpl::computeVisibleSize):
44938        (WebCore::CCVideoLayerImpl::reserveTextures):
44939        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
44940        (WebKit):
44941
449422012-04-12  Alexey Proskuryakov  <ap@apple.com>
44943
44944        REGRESSION (r113900): Text tests started failing
44945        https://bugs.webkit.org/show_bug.cgi?id=83724
44946
44947        Reviewed by Dan Bernstein.
44948
44949        * Resources/DefaultFonts.plist.in: Use serif fonts for standard family again,
44950        and updated the list with better fonts for Japanese.
44951
449522012-04-12  Alexey Proskuryakov  <ap@apple.com>
44953
44954        Preprocessing text files with modern clang treats double slashes in comments
44955        https://bugs.webkit.org/show_bug.cgi?id=83827
44956
44957        Reviewed by Mark Rowe.
44958
44959        * DerivedSources.make: Pass appropriate flags to both llvm and gcc.
44960
449612012-04-12  David Dorwin  <ddorwin@chromium.org>
44962
44963        Add Encrypted Media Extensions events and errors to HTMLMediaElement
44964        https://bugs.webkit.org/show_bug.cgi?id=82974
44965
44966        Reviewed by Adam Barth.
44967
44968        The new events and errors are behind the ENABLE(ENCRYPTED_MEDIA) feature define.
44969        Implementation is based on v0.1 of the draft proposal at
44970        http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#events.
44971
44972        Tests: fast/events/constructors/media-key-event-constructor.html
44973               media/encrypted-media/encrypted-media-constants.html
44974               media/encrypted-media/encrypted-media-events.html
44975
44976        * WebCore.gypi:
44977        * bindings/v8/Dictionary.cpp:
44978        (WebCore::Dictionary::get):
44979        (WebCore):
44980        * bindings/v8/Dictionary.h:
44981        (WebCore):
44982        (Dictionary):
44983        * dom/EventNames.h:
44984        (WebCore):
44985        * dom/EventNames.in:
44986        * html/HTMLAttributeNames.in:
44987        * html/HTMLMediaElement.cpp:
44988        (WebCore):
44989        (WebCore::HTMLMediaElement::mediaPlayerKeyAdded):
44990        (WebCore::HTMLMediaElement::mediaPlayerKeyError):
44991        (WebCore::HTMLMediaElement::mediaPlayerKeyMessage):
44992        (WebCore::HTMLMediaElement::mediaPlayerKeyNeeded):
44993        * html/HTMLMediaElement.h:
44994        (HTMLMediaElement):
44995        * html/HTMLMediaElement.idl:
44996        * html/MediaError.h:
44997        * html/MediaError.idl:
44998        * html/MediaKeyError.h: Added.
44999        (WebCore):
45000        (MediaKeyError):
45001        (WebCore::MediaKeyError::create):
45002        (WebCore::MediaKeyError::code):
45003        (WebCore::MediaKeyError::MediaKeyError):
45004        * html/MediaKeyError.idl: Added.
45005        * html/MediaKeyEvent.cpp: Added.
45006        (WebCore):
45007        (WebCore::MediaKeyEventInit::MediaKeyEventInit):
45008        (WebCore::MediaKeyEvent::MediaKeyEvent):
45009        (WebCore::MediaKeyEvent::~MediaKeyEvent):
45010        (WebCore::MediaKeyEvent::interfaceName):
45011        * html/MediaKeyEvent.h: Added.
45012        (WebCore):
45013        (MediaKeyEventInit):
45014        (MediaKeyEvent):
45015        (WebCore::MediaKeyEvent::create):
45016        (WebCore::MediaKeyEvent::keySystem):
45017        (WebCore::MediaKeyEvent::sessionId):
45018        (WebCore::MediaKeyEvent::initData):
45019        (WebCore::MediaKeyEvent::message):
45020        (WebCore::MediaKeyEvent::defaultURL):
45021        (WebCore::MediaKeyEvent::errorCode):
45022        (WebCore::MediaKeyEvent::systemCode):
45023        * html/MediaKeyEvent.idl: Added.
45024        * page/DOMWindow.idl:
45025        * platform/graphics/MediaPlayer.cpp:
45026        (WebCore):
45027        (WebCore::MediaPlayer::keyAdded):
45028        (WebCore::MediaPlayer::keyError):
45029        (WebCore::MediaPlayer::keyMessage):
45030        (WebCore::MediaPlayer::keyNeeded):
45031        * platform/graphics/MediaPlayer.h:
45032        (MediaPlayerClient):
45033        (WebCore::MediaPlayerClient::mediaPlayerKeyAdded):
45034        (WebCore::MediaPlayerClient::mediaPlayerKeyError):
45035        (WebCore::MediaPlayerClient::mediaPlayerKeyMessage):
45036        (WebCore::MediaPlayerClient::mediaPlayerKeyNeeded):
45037        (MediaPlayer):
45038
450392012-04-12  Anders Carlsson  <andersca@apple.com>
45040
45041        Reset the user preferred language overrides in Internals::reset
45042        https://bugs.webkit.org/show_bug.cgi?id=83845
45043
45044        Reviewed by Ryosuke Niwa.
45045
45046        We don't want setting the language override in one test to affect subsequent tests,
45047        so make sure to reset it in Internals::reset.
45048
45049        * testing/Internals.cpp:
45050        (WebCore::Internals::reset):
45051
450522012-04-12  Andrey Kosyakov  <caseq@chromium.org>
45053
45054        [chromium][refactoring] merge CCSingleThreadProxy::{commitIfNeeded,doComposite} into commitAndComposite()
45055        https://bugs.webkit.org/show_bug.cgi?id=83837
45056
45057        Reviewed by James Robinson.
45058
45059        - merge CCSingleThreadProxy::commitIfNeeded() and CCSingleThreadProxy::doComposite() into commitAndComposite()
45060
45061        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
45062        (WebCore::CCSingleThreadProxy::compositeAndReadback): call site updated.
45063        (WebCore::CCSingleThreadProxy::compositeImmediately): ditto.
45064        (WebCore::CCSingleThreadProxy::commitAndComposite):
45065        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
45066
450672012-04-12  Nate Chapin  <japhet@chromium.org>
45068
45069        Remove FrameLoader:m_isLoadingMainResource, since it is always
45070        false at the only point it is checked.
45071        https://bugs.webkit.org/show_bug.cgi?id=83819
45072
45073        Reviewed by Adam Barth.
45074
45075        No new tests, no functionality change intended.
45076
45077        * loader/DocumentWriter.cpp:
45078        (WebCore::DocumentWriter::end): Merge with endIfNotLoadingMainResource(), always end, assert that we're still attached.
45079        * loader/DocumentWriter.h:
45080        * loader/FrameLoader.cpp:
45081        * loader/FrameLoader.h: Remove isLoadingMainResource(), didEndDocument(), and m_isLoadingMainResource.
45082
450832012-04-12  Rob Buis  <rbuis@rim.com>
45084
45085        XMLSerializer().serializeToString() doesn't generate the XML declaration markup like Opera and Firefox
45086        https://bugs.webkit.org/show_bug.cgi?id=83432
45087
45088        Reviewed by Ryosuke Niwa.
45089
45090        Serialize the xml declaration exactly as parsed, if present in the document.
45091
45092        Test: fast/dom/dom-parse-serialize-xmldecl.html
45093
45094        * dom/Document.cpp:
45095        (WebCore::Document::Document):
45096        (WebCore::Document::setXMLStandalone): update xmlStandalone to either yes or no.
45097        * dom/Document.h:
45098        (WebCore::Document::xmlStandalone):
45099        (WebCore::Document::xmlStandaloneStatus): xmlStandalone can be unspecified, yes or no.
45100        (WebCore::Document::hasXMLDeclaration):  test if xml declaration is present.
45101        (WebCore::Document::setHasXMLDeclaration):
45102        (Document):
45103        * editing/MarkupAccumulator.cpp:
45104        (WebCore::MarkupAccumulator::appendXMLDeclaration): write xml declaration if present.
45105        (WebCore):
45106        (WebCore::MarkupAccumulator::appendStartMarkup):
45107        * editing/MarkupAccumulator.h:
45108        (MarkupAccumulator):
45109        * xml/parser/XMLDocumentParserLibxml2.cpp:
45110        (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.
45111        * xml/parser/XMLDocumentParserQt.cpp:
45112        (WebCore::XMLDocumentParser::startDocument): call setHasXmlDeclaration and any declaration strings parsed.
45113
451142012-04-12  Adam Barth  <abarth@webkit.org>
45115
45116        window.open should prepare for seamless navigation by using findFrameForNavigation
45117        https://bugs.webkit.org/show_bug.cgi?id=83835
45118
45119        Reviewed by Ryosuke Niwa.
45120
45121        Before this patch, window.open called FrameTree::find and
45122        Document::canNavigate separately.  This patch refactors the code to
45123        call FrameLoader::findFrameForNavigation, which does both.  This
45124        refactoring prepares window.open to understand seamless navigation,
45125        which will happen in findFrameForNavigation.
45126
45127        This patch should have no behavior change today, but once we merge the
45128        seamless branch, this change will be tested by
45129        https://github.com/eseidel/webkit/blob/seamless/LayoutTests/fast/frames/seamless/seamless-window-open.html
45130
45131        See https://github.com/eseidel/webkit/commit/a0d8b7defbb63047912aefbc8e22bca4f0638c37 for context.
45132
45133        * WebCore.exp.in:
45134        * loader/FrameLoader.cpp:
45135        (WebCore::FrameLoader::findFrameForNavigation):
45136        (WebCore::createWindow):
45137        * loader/FrameLoader.h:
45138        (FrameLoader):
45139
451402012-04-12  Andy Estes  <aestes@apple.com>
45141
45142        REGRESSION (r102262): iAd Producer relies on CSSStyleDeclaration property setters respecting '!important'
45143        https://bugs.webkit.org/show_bug.cgi?id=83832
45144
45145        Reviewed by Alexey Proskuryakov.
45146
45147        Shipping versions of iAd Producer rely on the pre-r102262 behavior of
45148        respecting '!important' when specified in a CSSStyleDeclaration
45149        property setter. Restore this quirky behavior for versions of the app
45150        that expect it.
45151
45152        * WebCore.exp.in: Export
45153        Settings::setShouldRespectPriorityInCSSAttributeSetters().
45154        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
45155        (WebCore::JSCSSStyleDeclaration::putDelegate): If
45156        setShouldRespectPriorityInCSSAttributeSetters() is true, restore the
45157        pre-r102262 behavior wherein we attempt to parse '!important' out of
45158        the property value.
45159        * page/Settings.cpp:
45160        (WebCore::Settings::setShouldRespectPriorityInCSSAttributeSetters):
45161        (WebCore::Settings::shouldRespectPriorityInCSSAttributeSetters):
45162        * page/Settings.h:
45163
451642012-04-12  Alexandru Chiculita  <achicu@adobe.com>
45165
45166        REGRESSION(112745) [CSS Filters] Memory use explosion for offscreen filtered elements
45167        https://bugs.webkit.org/show_bug.cgi?id=83815
45168
45169        Reviewed by Simon Fraser.
45170
45171        The filtered area used to be the dirty rect intersected by the bounding box of the
45172        layer. During a previous change that behavior was lost, so adding it back now.
45173
45174        Also, removing the memory buffers used to compute filters after the filter is computed.
45175        They are deleted next time the filter is applied anyway, so there's no need to keep the
45176        memory for them.
45177
45178        Test: css3/filters/offscreen-filters-memory-usage.html
45179
45180        * rendering/FilterEffectRenderer.cpp:
45181        (WebCore::FilterEffectRenderer::prepare):
45182        (WebCore):
45183        (WebCore::FilterEffectRenderer::clearIntermediateResults):
45184        (WebCore::FilterEffectRendererHelper::prepareFilterEffect):
45185        (WebCore::FilterEffectRendererHelper::applyFilterEffect):
45186        * rendering/FilterEffectRenderer.h:
45187        (FilterEffectRenderer):
45188
451892012-04-12  Brent Fulgham  <bfulgham@webkit.org>
45190
45191        [WinCairo] Build fix after addition of openTypeTable.
45192
45193        * platform/graphics/FontPlatformData.h:
45194        (FontPlatformData): The openTypeTable declaration is needed
45195        for WinCairo as well.
45196        * platform/graphics/win/FontPlatformDataWin.cpp:
45197        (WebCore):
45198        (WebCore::FontPlatformData::openTypeTable): The implementation
45199        of openTypeTable is needed for non-CG builds.
45200
452012012-04-12  Balazs Kelemen  <kbalazs@webkit.org>
45202
45203        [Qt] Fix WebKit1 build with V8
45204        https://bugs.webkit.org/show_bug.cgi?id=83322
45205
45206        Reviewed by Adam Barth.
45207
45208        Make it possible to build WebKit1 with v8.
45209        WebKit2 is not covered yet so it need to be disabled.
45210        To build webkit with --v8 one need a qtjsbackend with
45211        an up-to-date copy of v8. Thanks to Peter Varga such
45212        a public repository is available on gitorious:
45213        https://qt.gitorious.org/~stampho/qt/stamphos-qtjsbackend.
45214
45215        This patch contains some build fix with !ENABLE(INSPECTOR)
45216        from it's previous version. These are not necessary now
45217        but I kept them because they makes sense.
45218
45219        No change in behaviour so no new tests.
45220
45221        * DerivedSources.pri:
45222        * Target.pri:
45223        * WebCore.pri:
45224        * bindings/v8/ScriptController.cpp:
45225        * bindings/v8/ScriptControllerQt.cpp:
45226        * bindings/v8/ScriptProfiler.cpp:
45227        (WebCore::retainedDOMInfo):
45228        (WebCore::ScriptProfiler::initialize):
45229        * bindings/v8/ScriptState.cpp:
45230        (WebCore::evalEnabled):
45231        (WebCore::setEvalEnabled):
45232        * bindings/v8/V8Binding.cpp:
45233        (WebCore):
45234        * bindings/v8/V8Binding.h:
45235        (V8BindingPerIsolateData):
45236        * bindings/v8/V8DOMWindowShell.cpp:
45237        (WebCore::V8DOMWindowShell::initContextIfNeeded):
45238        * bindings/v8/V8GCForContextDispose.cpp:
45239        (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
45240        * bindings/v8/custom/V8InjectedScriptManager.cpp:
45241        * config.h:
45242        * editing/TextIterator.cpp:
45243        * html/MediaFragmentURIParser.cpp:
45244        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
45245        * platform/qt/PlatformSupportQt.cpp:
45246        (WebCore::PlatformSupport::popupsAllowed):
45247
452482012-04-12  Alec Flett  <alecflett@chromium.org>
45249
45250        IndexedDB: Refactor cursor iteration to remove duplicate code
45251        https://bugs.webkit.org/show_bug.cgi?id=83302
45252
45253        Reviewed by Ojan Vafai.
45254
45255        No new tests, no behavior changes.
45256
45257        * Modules/indexeddb/IDBBackingStore.h:
45258        (Cursor):
45259        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
45260        (WebCore):
45261
452622012-04-12  Erik Arvidsson  <arv@chromium.org>
45263
45264        Add support for [ArrayClass] and use that on NodeList
45265        https://bugs.webkit.org/show_bug.cgi?id=
45266
45267        Reviewed by Adam Barth.
45268
45269        Attempt to reland r113931. Now with more updated test expectations.
45270
45271        With this patch NodeLists now have Array.prototype on their prototype chain which allows
45272        methods such as forEach and map to work on NodeLists.
45273
45274        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist
45275
45276        For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
45277        does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
45278        set when the constructor is created.
45279
45280        For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
45281        a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
45282        causes test failures in the tests until that has been fixed.
45283
45284        Test: fast/dom/NodeList/node-list-array-class.html
45285
45286        * bindings/scripts/CodeGeneratorJS.pm:
45287        (GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
45288        (GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
45289        * bindings/scripts/CodeGeneratorV8.pm:
45290        (GenerateNamedConstructorCallback):
45291        (GenerateImplementation): Adds a flag to the WrapperTypeInfo.
45292        * bindings/scripts/IDLAttributes.txt:: Adds new attribute: ArrayClass.
45293        * bindings/scripts/test/JS/JSTestObj.cpp:
45294        (WebCore::JSTestObj::createPrototype):
45295        * bindings/scripts/test/JS/JSTestObj.h:
45296        * bindings/scripts/test/TestObj.idl:
45297        * bindings/scripts/test/V8/V8Float64Array.cpp:
45298        (WebCore):
45299        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
45300        (WebCore):
45301        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
45302        (WebCore):
45303        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
45304        (WebCore):
45305        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
45306        (WebCore):
45307        * bindings/scripts/test/V8/V8TestInterface.cpp:
45308        (WebCore):
45309        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
45310        (WebCore):
45311        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
45312        (WebCore):
45313        * bindings/scripts/test/V8/V8TestNode.cpp:
45314        (WebCore):
45315        * bindings/scripts/test/V8/V8TestObj.cpp:
45316        (WebCore):
45317        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
45318        (WebCore):
45319        * bindings/v8/NPV8Object.cpp:
45320        (WebCore::npObjectTypeInfo):
45321        * bindings/v8/V8BindingPerContextData.cpp:
45322        (WebCore::V8BindingPerContextData::init): Get the array prototype too.
45323        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
45324        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
45325        set the `[[Prototype]]`.
45326        * bindings/v8/V8BindingPerContextData.h:
45327        (V8BindingPerContextData):
45328        * bindings/v8/V8HiddenPropertyName.h:
45329        (WebCore):
45330        * bindings/v8/WrapperTypeInfo.h:
45331        (WrapperTypeInfo):
45332        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
45333        (WebCore):
45334        * dom/NodeList.idl:
45335
453362012-04-12  Konrad Piascik  <kpiascik@rim.com>
45337
45338        [BlackBerry] Web Inspector cookie expiry is showing the wrong date.
45339        https://bugs.webkit.org/show_bug.cgi?id=83814
45340
45341        Reviewed by Rob Buis.
45342
45343        The internal representation for expiry is seconds, we need to convert it
45344        to milliseconds by multiplying by 1000.
45345
45346        The value from this method doesn't get used anywhere except Web Inspector.
45347        Manually tested with Web Inspector by examining the CookieItemView in the Resources Panel.
45348
45349        * platform/blackberry/ParsedCookie.cpp:
45350        (WebCore::ParsedCookie::appendWebCoreCookie):
45351
453522012-04-12  Adam Klein  <adamk@chromium.org>
45353
45354        Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
45355        https://bugs.webkit.org/show_bug.cgi?id=82256
45356
45357        Reviewed by Kentaro Hara.
45358
45359        This is an attempt to reland r112318, which was rolled out due to suspicion of OOM issues.
45360
45361        I've landed the refactoring bits of r112318 as separate changes,
45362        so that this patch contains only the change in which map setter is called.
45363
45364        Binding tests have been updated with new output.
45365
45366        * bindings/scripts/CodeGeneratorV8.pm:
45367        (GenerateToV8Converters): Call appropriate V8DOMWrapper::setJSWrapperFor*
45368        to set up wrapper mapping and remove call to leakRef() which is handled
45369        in V8DOMWrapper.
45370        * bindings/scripts/test/V8/V8Float64Array.cpp:
45371        (WebCore::V8Float64Array::wrapSlow):
45372        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
45373        (WebCore::V8TestActiveDOMObject::wrapSlow):
45374        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
45375        (WebCore::V8TestCustomNamedGetter::wrapSlow):
45376        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
45377        (WebCore::V8TestEventConstructor::wrapSlow):
45378        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
45379        (WebCore::V8TestEventTarget::wrapSlow):
45380        * bindings/scripts/test/V8/V8TestInterface.cpp:
45381        (WebCore::V8TestInterface::wrapSlow):
45382        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
45383        (WebCore::V8TestMediaQueryListListener::wrapSlow):
45384        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
45385        (WebCore::V8TestNamedConstructor::wrapSlow):
45386        * bindings/scripts/test/V8/V8TestNode.cpp:
45387        (WebCore::V8TestNode::wrapSlow):
45388        * bindings/scripts/test/V8/V8TestObj.cpp:
45389        (WebCore::V8TestObj::wrapSlow):
45390        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
45391        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
45392
453932012-04-12  David Hyatt  <hyatt@apple.com>
45394
45395        https://bugs.webkit.org/show_bug.cgi?id=83817
45396        
45397        This patch modifies RenderText so that it scans all of its characters up front to
45398        determine whether or not the simple code path can be used for measurement/rendering
45399        of the text for the whole run.
45400        
45401        TextRun now has an additional field that indicates that the character scan is not
45402        required, since the entire RenderText is known to be simple. This boolean is set
45403        when constructing the TextRun from the places that make TextRuns from RenderTexts.
45404        
45405        The character scan has been refactored into a static Font method so that it can be
45406        called by RenderText. The scan of individual TextRuns is also done using the same method
45407        so that the code is shared.
45408
45409        Reviewed by Dan Bernstein.
45410
45411        * platform/graphics/Font.cpp:
45412        (WebCore::Font::codePath):
45413        (WebCore::Font::characterRangeCodePath):
45414        * platform/graphics/Font.h:
45415        * platform/graphics/TextRun.h:
45416        (WebCore::TextRun::TextRun):
45417        (WebCore::TextRun::characterScanForCodePath):
45418        (WebCore::TextRun::setCharacterScanForCodePath):
45419        (TextRun):
45420        * rendering/InlineTextBox.cpp:
45421        (WebCore::InlineTextBox::constructTextRun):
45422        * rendering/RenderBlockLineLayout.cpp:
45423        (WebCore::textWidth):
45424        * rendering/RenderText.cpp:
45425        (WebCore::RenderText::RenderText):
45426        (WebCore::RenderText::widthFromCache):
45427        (WebCore::RenderText::setTextInternal):
45428        (WebCore::RenderText::width):
45429        (WebCore::RenderText::computeCanUseSimpleFontCodePath):
45430        (WebCore):
45431        * rendering/RenderText.h:
45432        (RenderText):
45433        (WebCore::RenderText::canUseSimpleFontCodePath):
45434
454352012-04-12  Levi Weintraub  <leviw@chromium.org>
45436
45437        Make AccessibilityObject::size non-virtual and fix platform accessibility code's LayoutUnit usage
45438        https://bugs.webkit.org/show_bug.cgi?id=83803
45439
45440        Reviewed by Eric Seidel.
45441
45442        AccessibilityObject::size was virtual with a number of overloads, but all the implementations were
45443        redundant. Avoiding the virtual thunk and code duplication by declaring it non-virtual and only
45444        implementing it in AccessibilityObject.
45445
45446        Also adding a pixelSnappedSize method that returns an IntSize, and using it in platform
45447        accessibility code.
45448
45449        No new tests. No change in behavior.
45450
45451        * accessibility/AccessibilityMenuListOption.h:
45452        (WebCore::AccessibilityMenuListOption::canHaveChildren):
45453        * accessibility/AccessibilityMenuListPopup.h:
45454        (WebCore::AccessibilityMenuListPopup::elementRect):
45455        * accessibility/AccessibilityObject.h:
45456        (WebCore::AccessibilityObject::size):
45457        (WebCore::AccessibilityObject::pixelSnappedSize):
45458        * accessibility/AccessibilityRenderObject.cpp:
45459        (WebCore):
45460        * accessibility/AccessibilityRenderObject.h:
45461        (AccessibilityRenderObject):
45462        * accessibility/AccessibilitySlider.cpp:
45463        (WebCore):
45464        * accessibility/AccessibilitySlider.h:
45465        (AccessibilitySliderThumb):
45466        * accessibility/AccessibilityTableColumn.cpp:
45467        (WebCore):
45468        * accessibility/AccessibilityTableColumn.h:
45469        (AccessibilityTableColumn):
45470        * accessibility/AccessibilityTableHeaderContainer.cpp:
45471        (WebCore):
45472        * accessibility/AccessibilityTableHeaderContainer.h:
45473        (AccessibilityTableHeaderContainer):
45474        * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
45475        (webkitAccessibleComponentGetExtents):
45476        * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
45477        (webkitAccessibleImageGetImagePosition):
45478        (webkitAccessibleImageGetImageSize):
45479        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
45480        (-[WebAccessibilityObjectWrapper position]):
45481        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
45482
454832012-04-12  Anna Cavender  <annacc@chromium.org>
45484
45485        Update HTMLMediaElement's index of cues when TextTrack.mode changes to
45486        and from TextTrack::DISABLED.
45487        https://bugs.webkit.org/show_bug.cgi?id=83377
45488
45489        Reviewed by Eric Carlson.
45490
45491        No new tests. Instead updated media/track/track-mode.html
45492
45493        * html/HTMLMediaElement.cpp:
45494        (WebCore::HTMLMediaElement::textTrackModeChanged):
45495            Add the track's cues to the index when the mode changes to HIDDEN or SHOWING.
45496
45497        * html/HTMLTrackElement.cpp:
45498        (WebCore::HTMLTrackElement::textTrackRemoveCues):
45499            Fix a copy pasta error.
45500
45501        * html/track/TextTrack.cpp:
45502        (WebCore::TextTrack::setMode):
45503            Remove the track's cues from the index when the mode changes to DISABLED.
45504
455052012-04-12  Cem Kocagil  <cem.kocagil@gmail.com>
45506
45507        Allow certain Char events in fullscreen
45508        https://bugs.webkit.org/show_bug.cgi?id=83330
45509
45510        Reviewed by Alexey Proskuryakov.
45511
45512        * page/EventHandler.cpp:
45513        (WebCore::EventHandler::isKeyEventAllowedInFullScreen):
45514
455152012-04-12  Alec Flett  <alecflett@chromium.org>
45516
45517        IndexedDB: Attributes for a cursor "run past the end" should be undefined.
45518        https://bugs.webkit.org/show_bug.cgi?id=83492
45519
45520        Reviewed by Ojan Vafai.
45521
45522        This brings us up to spec with respect to when it's ok to call
45523        cursor.continue() and the various behaviors around it:
45524
45525        If you call it more than once, continue() throws an exception.
45526
45527        The values of key/primaryKey/value are consistent, whether or not
45528        continue has been called, meaning that if continue() results in
45529        data being loaded from the backing store, that data does not
45530        affect the cursor until the success callback has completed.
45531
45532        Calls to update() and delete() can happen before continue(), but
45533        not afterwards.
45534
45535        Test: storage/indexeddb/cursor-continue-validity.html
45536
45537        * Modules/indexeddb/IDBCursor.cpp:
45538        (WebCore::IDBCursor::IDBCursor):
45539        (WebCore::IDBCursor::key):
45540        (WebCore::IDBCursor::primaryKey):
45541        (WebCore::IDBCursor::value):
45542        (WebCore::IDBCursor::update):
45543        (WebCore::IDBCursor::continueFunction):
45544        (WebCore::IDBCursor::deleteFunction):
45545        (WebCore::IDBCursor::setGotValue):
45546        (WebCore):
45547        * Modules/indexeddb/IDBCursor.h:
45548        (IDBCursor):
45549        * Modules/indexeddb/IDBRequest.cpp:
45550        (WebCore::IDBRequest::onSuccess):
45551        (WebCore::IDBRequest::dispatchEvent):
45552
455532012-04-12  Eric Carlson  <eric.carlson@apple.com>
45554
45555        Media engine should not be told to prepare for playback if media loading is not allowed
45556        https://bugs.webkit.org/show_bug.cgi?id=83620
45557
45558        Reviewed by Dan Bernstein.
45559
45560        Test: media/video-load-require-user-gesture.html
45561
45562        * html/HTMLMediaElement.cpp:
45563        (WebCore::HTMLMediaElement::load): Early return if user gesture requirement is not met.
45564
45565        * testing/InternalSettings.cpp:
45566        (WebCore::InternalSettings::setMediaPlaybackRequiresUserGesture): Moved the method here from
45567            Internals to be with the rest of the Internals methods that expose preferences.
45568        * testing/InternalSettings.h:
45569        * testing/InternalSettings.idl:
45570
45571        * testing/Internals.cpp: Moved setMediaPlaybackRequiresUserGesture to InternalSettings.
45572        * testing/Internals.h:
45573        * testing/Internals.idl:
45574
455752012-04-12  Bear Travis  <betravis@adobe.com>
45576
45577        [CSS Exclusions] Add flag to enable / disable exclusions at runtime
45578        https://bugs.webkit.org/show_bug.cgi?id=83313
45579
45580        Reviewed by Ryosuke Niwa.
45581
45582        Adding setCSSExclusionsEnabled/cssExclusionsEnabled that is true by default.
45583        The CSS parser will not accept values for the exclusions properties when
45584        cssExclusionsEnabled is false. However, you will still get the default value
45585        in the computed style.
45586
45587        Test: fast/exclusions/css-exclusions-disabled.html
45588
45589        * WebCore.exp.in:
45590        * bindings/generic/RuntimeEnabledFeatures.cpp:
45591        (WebCore):
45592        * bindings/generic/RuntimeEnabledFeatures.h:
45593        (WebCore::RuntimeEnabledFeatures::setCSSExclusionsEnabled):
45594        (WebCore::RuntimeEnabledFeatures::cssExclusionsEnabled):
45595        (RuntimeEnabledFeatures):
45596        * css/CSSParser.cpp:
45597        (WebCore::isSimpleLengthValue):
45598        (WebCore::isValidKeywordPropertyAndValue):
45599        (WebCore::CSSParser::parseValue):
45600        * testing/InternalSettings.cpp:
45601        (WebCore::InternalSettings::InternalSettings):
45602        (WebCore::InternalSettings::restoreTo):
45603        (WebCore::InternalSettings::setCSSExclusionsEnabled):
45604        (WebCore):
45605        * testing/InternalSettings.h:
45606        (InternalSettings):
45607        * testing/InternalSettings.idl:
45608
456092012-04-12  Nate Chapin  <japhet@chromium.org>
45610
45611        Move Archive processing to DocumentLoader, instead of FrameLoader.
45612        https://bugs.webkit.org/show_bug.cgi?id=83055
45613
45614        Reviewed by Adam Barth.
45615
45616        No new tests, no functionality change intended.
45617
45618        * loader/DocumentLoader.cpp:
45619        (WebCore::DocumentLoader::finishedLoading):
45620        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
45621        (WebCore::DocumentLoader::maybeCreateArchive): Renamed from
45622            FrameLoader::finishedLoadingDocument(). Returns true if an archive
45623            was created.
45624        (WebCore::DocumentLoader::setArchive):
45625        (WebCore::DocumentLoader::scheduleArchiveLoad):
45626        (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url
45627            should be returned, so that we don't need special handling in Document and
45628            FrameLoader for overriding the document url later.
45629        * loader/DocumentLoader.h:
45630        * loader/FrameLoader.cpp:
45631        (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since
45632            DocumentLoader::documentURL() will return the right thing for legacy archives
45633            and maybeCreateArchive() will override the base url for mhtml.
45634        (WebCore::FrameLoader::loadArchive):
45635        * loader/FrameLoader.h:
45636
456372012-04-12  Dmitry Lomov  <dslomov@google.com>
45638
45639        REGRESSION (r113233): fast/canvas/webgl/array-message-passing.html crashing on Lion and Snow Leopard bots.
45640        https://bugs.webkit.org/show_bug.cgi?id=83427.
45641        Due to incorrect merge by me when landing r113233, call to find got replaces with call to add in 
45642        checking for duplicates in ObjectPool when serializing.
45643
45644        Reviewed by Dean Jackson.
45645
45646        Covered by existing tests.
45647
45648        * bindings/js/SerializedScriptValue.cpp:
45649        (WebCore::CloneSerializer::checkForDuplicate):
45650
456512012-04-12  David Barton  <dbarton@mathscribe.com>
45652
45653        Don't modify shared style objects in RenderMathMLRoot.cpp
45654        https://bugs.webkit.org/show_bug.cgi?id=83736
45655
45656        Reviewed by Julien Chaffraix.
45657
45658        To leave room for the radical sign and absolutely positioned "index", we switch to using
45659        intrinsic padding. RenderMathMLRoot.cpp is also cleaned up and prepared for merging with
45660        RenderMathMLSquareRoot.cpp. The base and index are no longer wrapped in extra renderers,
45661        and the child renderers are now in the same order as in the DOM. Some padding/placement
45662        terms are unified and debugged.
45663
45664        Tested by existing tests in roots.xhtml.
45665
45666        * css/mathml.css:
45667        (mroot):
45668        (mroot > * + *):
45669        (mroot > * + mrow, mroot > * + mfenced):
45670        * rendering/mathml/RenderMathMLRoot.cpp:
45671        (WebCore):
45672        (WebCore::RenderMathMLRoot::index):
45673        (WebCore::RenderMathMLRoot::paint):
45674        (WebCore::RenderMathMLRoot::layout):
45675        * rendering/mathml/RenderMathMLRoot.h:
45676        (RenderMathMLRoot):
45677        * rendering/mathml/RenderMathMLSquareRoot.cpp:
45678        (WebCore):
45679        (WebCore::RenderMathMLSquareRoot::paint):
45680
456812012-04-12  Anders Carlsson  <andersca@apple.com>
45682
45683        Build fix.
45684
45685        * page/mac/SettingsMac.mm:
45686        (WebCore::defaultFontFamilyDictionary):
45687
456882012-04-12  Antti Koivisto  <antti@apple.com>
45689
45690        Remove style sheet argument from StyleRuleImport constructor 
45691        https://bugs.webkit.org/show_bug.cgi?id=83740
45692
45693        Reviewed by Andreas Kling.
45694
45695        The style sheet is set when the rule is added to one. The parser does not need to know about it.
45696
45697        * css/CSSImportRule.cpp:
45698        (WebCore::StyleRuleImport::StyleRuleImport):
45699        * css/CSSImportRule.h:
45700        (StyleRuleImport):
45701        (WebCore::StyleRuleImport::setParentStyleSheet):
45702        * css/CSSParser.cpp:
45703        (WebCore::CSSParser::createImportRule):
45704        * css/CSSStyleSheet.cpp:
45705        (WebCore::StyleSheetInternal::parserAppendRule):
45706        (WebCore::StyleSheetInternal::wrapperInsertRule):
45707
457082012-04-12  Alexey Proskuryakov  <ap@apple.com>
45709
45710        REGRESSION (r113900): In nightly builds, Safari Webpage Preview Fetcher crashes in Settings::initializeDefaultFontFamilies() due to uncaught exception (sandbox preventing access to fonts plist)
45711        https://bugs.webkit.org/show_bug.cgi?id=83792
45712        <rdar://problem/11234002>
45713
45714        Reviewed by Dan Bernstein.
45715
45716        * page/mac/SettingsMac.mm: (WebCore::defaultFontFamilyDictionary): Bail out without setting
45717        font preferences if the process doesn't have read access to WebCore.framework.
45718
457192012-04-12  Eli Fidler  <efidler@rim.com>
45720
45721        [BlackBerry] Set up default fonts for BlackBerry
45722        https://bugs.webkit.org/show_bug.cgi?id=83775
45723
45724        Reviewed by Antonio Gomes.
45725
45726        * PlatformBlackBerry.cmake:
45727        * page/Settings.cpp:
45728        (WebCore):
45729        * page/blackberry/SettingsBlackBerry.cpp: Added.
45730        (WebCore):
45731        (WebCore::Settings::initializeDefaultFontFamilies):
45732
457332012-04-12  Jon Lee  <jonlee@apple.com>
45734
45735        Implement Dictionary.h on mac (83472)
45736        https://bugs.webkit.org/show_bug.cgi?id=83472
45737        <rdar://problem/11209766>
45738
45739        Reviewed by Kentaro Hara.
45740
45741        A difference between Dictionary and JSDictionary makes it difficult to merge the two together and avoid
45742        creating a confusing API. The boolean returned by Dictionary::get() represents whether the
45743        property was found. The boolean returned by JSDictionary::tryGetProperty() represents whether an
45744        exception was thrown.
45745
45746        * WebCore.xcodeproj/project.pbxproj: Add Dictionary.h and Dictionary.cpp.
45747
45748        * bindings/js/Dictionary.cpp: Added.
45749        (WebCore::Dictionary::Dictionary):
45750        (WebCore::Dictionary::get):
45751        * bindings/js/Dictionary.h: Leverage JSDictionary's functionality to obtain the data.
45752        (WebCore::Dictionary::isObject): Mark an unimplemented.
45753        (WebCore::Dictionary::isUndefinedOrNull): Mark an unimplemented.
45754        (WebCore::Dictionary::getWithUndefinedOrNullCheck): Mark an unimplemented.
45755
45756        * bindings/js/JSDictionary.cpp:
45757        (WebCore::JSDictionary::tryGetProperty): Convert to a const function.
45758        * bindings/js/JSDictionary.h:
45759        (WebCore::JSDictionary::isValid):
45760        (WebCore::JSDictionary::tryGetProperty): Convert to a const function.
45761        (WebCore::JSDictionary::get): Similar to tryGetProperty(), but returns true if the
45762        property was found, converting the value succeeded and the out parameter "result" was set.
45763        (WebCore::JSDictionary::tryGetPropertyAndResult): Refactor tryGetProperty() to return the enum directly.
45764
45765        Change bindings scripts to use Dictionary constructor.
45766        * bindings/js/IDBBindingUtilities.cpp: Remove createDictionaryFromValue().
45767        * bindings/js/IDBBindingUtilities.h: Remove createDictionaryFromValue().
45768        * bindings/scripts/CodeGeneratorJS.pm:
45769        (JSValueToNative): Update to remove IDBBindingUtilities.h dependency, and use Dictionary constructor.
45770        * bindings/scripts/test/JS/JSTestObj.cpp:
45771        (WebCore::jsTestObjPrototypeFunctionOptionsObject): Update expected generated output.
45772
457732012-04-12  Sami Kyostila  <skyostil@chromium.org>
45774
45775        [chromium] Fix threaded compositor HUD crash
45776        https://bugs.webkit.org/show_bug.cgi?id=83778
45777
45778        Reviewed by James Robinson.
45779
45780        Don't try to read font metrics in threaded compositing mode, since we
45781        currently can't render HUD text with the threaded compositor.
45782
45783        HUD is not testable in WebKit.
45784
45785        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
45786        (WebCore::CCHeadsUpDisplay::drawHudContents):
45787
457882012-04-11  Andrey Kosyakov  <caseq@chromium.org>
45789
45790        Web Inspector: zoom timeline frame on dblclick on the frame bar
45791        https://bugs.webkit.org/show_bug.cgi?id=83741
45792
45793        Reviewed by Pavel Feldman.
45794
45795       - put timeline frame bars into a container, so we can have one listener;
45796       - upon dblclick, find the frame, get its window coordinates and set overview selection window accordingly.
45797
45798        * inspector/front-end/TimelineOverviewPane.js:
45799        (WebInspector.TimelineOverviewPane.prototype.zoomToFrame): Get frame coordinates, set overview window.
45800        (WebInspector.TimelineVerticalOverview.prototype.update): Maintain framesPerBar as a member for reuse in getFramePosition()
45801        (WebInspector.TimelineVerticalOverview.prototype.framePosition): Map frame to screen positions.
45802        (WebInspector.TimelineVerticalOverview.prototype._renderBars): Factored out barNumberToScreenPosition()
45803        (WebInspector.TimelineVerticalOverview.prototype._barNumberToScreenPosition):
45804        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): Drive-by style fix.
45805        * inspector/front-end/TimelinePanel.js:
45806        (WebInspector.TimelinePanel.prototype._updateFrames): Put frames into a containing div.
45807        (WebInspector.TimelinePanel.prototype._onFrameDoubleClicked): Zoom to frame upon double click.
45808        * inspector/front-end/timelinePanel.css:
45809        (.timeline-frame-container):
45810
458112012-04-11  Andrey Kosyakov  <caseq@chromium.org>
45812
45813        Web Inspector: show wall time frame duration on the vertical overview
45814        https://bugs.webkit.org/show_bug.cgi?id=83718
45815
45816        Reviewed by Pavel Feldman.
45817
45818        - show frame duration as a contour of the frame bar in vertical overview;
45819        - when scaling, normalize bar to a max of 3 * median frame duration, so too long frames do not dwarf the majority;
45820        - add Array.prototype.qselect() for the above;
45821        - factor our partition algorithm onto Array.prototype for better reuse;
45822
45823        * inspector/front-end/PartialQuickSort.js: factor out partition()
45824        (Object.defineProperty.):
45825        (Object.defineProperty):
45826        * inspector/front-end/TimelineFrameController.js:
45827        (WebInspector.TimelineFrameController.prototype._flushFrame): add frame.duration.
45828        (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
45829        * inspector/front-end/TimelineOverviewPane.js:
45830        (WebInspector.TimelineVerticalOverview):
45831        (WebInspector.TimelineVerticalOverview.prototype.reset): this._longestFrameTime is gone.
45832        (WebInspector.TimelineVerticalOverview.prototype.update): ditto.
45833        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames): return frames to display, not just their timeByCatogory.
45834        (WebInspector.TimelineVerticalOverview.prototype._renderBars): use entire frames, not timeByCategory.
45835        (WebInspector.TimelineVerticalOverview.prototype._renderBar): ditto.
45836        * inspector/front-end/externs.js: Added annotations for partition() and qselect()
45837        (Array.prototype.partition):
45838        (Array.prototype.qselect):
45839        * inspector/front-end/utilities.js:
45840        (.):
45841
458422012-04-12  David Barr  <davidbarr@chromium.org>
45843
45844        Optimize non-rounded double border rendering to avoid transparency layers
45845        https://bugs.webkit.org/show_bug.cgi?id=83745
45846
45847        Reviewed by Simon Fraser.
45848
45849        No functional change, painting optimization only.
45850
45851        * rendering/RenderBoxModelObject.cpp:
45852        (WebCore::RenderBoxModelObject::paintBorder):
45853
458542012-04-12  Julien Chaffraix  <jchaffraix@webkit.org>
45855
45856        Reduce the use of RenderLayer outside of the rendering code
45857        https://bugs.webkit.org/show_bug.cgi?id=83728
45858
45859        Reviewed by Simon Fraser.
45860
45861        Test: fast/layers/scrollByLines-overflow-no-layer.html
45862
45863        This is mostly a layering violation change. This changes reduces the number of
45864        RenderLayer use outside rendering/ by a third but there are still numerous uses.
45865
45866        While auditing the different uses of RenderLayer, I found a potential crasher
45867        and fixed it which is why we have a test case.
45868
45869        * accessibility/AccessibilityRenderObject.cpp:
45870        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
45871        * dom/Document.cpp:
45872        (WebCore::Document::nodesFromRect):
45873        (WebCore::Document::handleZeroPadding):
45874        (WebCore::nodeFromPoint):
45875        (WebCore::Document::prepareMouseEvent):
45876        * editing/FrameSelection.cpp:
45877        (WebCore::FrameSelection::contains):
45878        * page/DragController.cpp:
45879        (WebCore::elementUnderMouse):
45880        * page/EventHandler.cpp:
45881        (WebCore::EventHandler::handleMouseDraggedEvent):
45882        (WebCore::EventHandler::eventMayStartDrag):
45883        (WebCore::EventHandler::updateSelectionForMouseDrag):
45884        (WebCore::EventHandler::hitTestResultAtPoint):
45885        (WebCore::EventHandler::handleWheelEvent):
45886        (WebCore::EventHandler::hoverTimerFired):
45887        (WebCore::EventHandler::handleDrag):
45888        Updated these call sites to use RenderView::hitTest.
45889
45890        * css/CSSComputedStyleDeclaration.cpp:
45891        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
45892        * page/FrameView.cpp:
45893        (WebCore::FrameView::contentsInCompositedLayer):
45894        (WebCore::FrameView::scrollContentsFastPath):
45895        Updated these call sites to use RenderObject::isComposited().
45896
45897        * dom/Element.cpp:
45898        (WebCore::Element::scrollByUnits):
45899        Call directly RenderBox::scroll instead of calling the layer.
45900        This actually fixes a crasher that slipped through the cracks.
45901
45902        * editing/visible_units.cpp:
45903        * html/shadow/TextControlInnerElements.cpp:
45904        * page/ContextMenuController.cpp:
45905        * page/FocusController.cpp:
45906        * page/Frame.cpp:
45907        * page/GestureTapHighlighter.cpp:
45908        * page/PrintContext.cpp:
45909        * plugins/mac/PluginViewMac.mm:
45910        Removed unneeded #include.
45911
45912        * plugins/gtk/PluginViewGtk.cpp:
45913        * plugins/qt/PluginViewQt.cpp:
45914        Replaced RenderLayer.h #include with RenderObject.h as
45915        we use RenderObject::absoluteToLocal.
45916
45917        * rendering/RenderObject.cpp:
45918        (WebCore::RenderObject::isComposited):
45919        * rendering/RenderObject.h:
45920        * rendering/RenderView.cpp:
45921        (WebCore::RenderView::hitTest):
45922        * rendering/RenderView.h:
45923        Added 2 new functions that pipe through the RenderLayer.
45924
459252012-04-12  Pravinin D  <pravind.2k4@gmail.com>
45926
45927        font-size:0 text runs has non zero width in case of Windows Safari.
45928        https://bugs.webkit.org/show_bug.cgi?id=83559
45929
45930        Reviewed by Dan Bernstein.
45931
45932        Test case already exits.
45933        LayoutTest/fast/text/font-size-zero.html
45934
45935        * platform/graphics/win/SimpleFontDataCGWin.cpp:
45936        (WebCore):
45937        (WebCore::SimpleFontData::platformBoundsForGlyph):
45938        (WebCore::SimpleFontData::platformWidthForGlyph):
45939
459402012-04-12  Alexei Filippov  <alexeif@chromium.org>
45941
45942        Web Inspector: Move meta node out of nodes in snapshot serialization.
45943        https://bugs.webkit.org/show_bug.cgi?id=83701
45944
45945        Reviewed by Yury Semikhatsky.
45946
45947        * inspector/front-end/HeapSnapshot.js:
45948        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
45949        (WebInspector.HeapSnapshot):
45950
459512012-04-12  Yael Aharon  <yael.aharon@nokia.com>
45952
45953        [Qt][WK2] Nested fixed elements scroll too fast
45954        https://bugs.webkit.org/show_bug.cgi?id=83720
45955
45956        Reviewed by Noam Rosenthal.
45957
45958        Before setting the scrollPositionDelta to a fixed layer, check if it has an ancestor which also has fixed position.
45959        If it does, do not set scrollPositionDelta.
45960        Added a flag to TextureMapperLayer and GraphicsLayerTextureMapper indicating if it is a fixed position layer.
45961
45962        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
45963        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
45964        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
45965        (WebCore::GraphicsLayerTextureMapper::setFixedToViewport):
45966        (WebCore::GraphicsLayerTextureMapper::fixedToViewport):
45967        (GraphicsLayerTextureMapper):
45968        * platform/graphics/texmap/TextureMapperLayer.cpp:
45969        (WebCore::TextureMapperLayer::syncCompositingStateSelf):
45970        (WebCore::TextureMapperLayer::isAncestorFixedToViewport):
45971        (WebCore):
45972        (WebCore::TextureMapperLayer::setScrollPositionDeltaIfNeeded):
45973        * platform/graphics/texmap/TextureMapperLayer.h:
45974        (TextureMapperLayer):
45975        (WebCore::TextureMapperLayer::setFixedToViewport):
45976
459772012-04-12  Charles Wei  <charles.wei@torchmobile.com.cn>
45978
45979        [BlackBerry] Revert the patch for 82764
45980        https://bugs.webkit.org/show_bug.cgi?id=83767
45981
45982        Reviewed by Rob Buis.
45983
45984        Revert the patch for 82764, which is causing misfunction.
45985        The internal commit is: 800213f5
45986
45987        * plugins/blackberry/PluginViewBlackBerry.cpp:
45988        (WebCore::PluginView::setNPWindowIfNeeded):
45989        (WebCore::PluginView::platformGetValue):
45990        (WebCore::PluginView::platformDestroy):
45991        * plugins/blackberry/PluginViewPrivateBlackBerry.h:
45992        (PluginViewPrivate):
45993
459942012-04-12  Kent Tamura  <tkent@chromium.org>
45995
45996        [Chromium] Enable INPUT_TYPE_DATE
45997        https://bugs.webkit.org/show_bug.cgi?id=83761
45998
45999        Reviewed by Kentaro Hara.
46000
46001        * html/DateInputType.cpp:
46002        Touch it to avoid build issues. No code changes.
46003        * html/DateInputType.h: ditto.
46004        * html/InputType.cpp: ditto.
46005
460062012-04-12  Yury Semikhatsky  <yurys@chromium.org>
46007
46008        Web Inspector: annotate the rest of profiler front-end for closure compiler
46009        https://bugs.webkit.org/show_bug.cgi?id=83781
46010
46011        All remaining Profiler front-end files are annotated for closure compiler.
46012
46013        Reviewed by Pavel Feldman.
46014
46015        * inspector/compile-front-end.py:
46016        * inspector/front-end/CSSSelectorProfileView.js:
46017        * inspector/front-end/HeapSnapshotProxy.js:
46018        (WebInspector.HeapSnapshotWorkerWrapper):
46019        (WebInspector.HeapSnapshotWorkerWrapper.prototype.postMessag):
46020        (WebInspector.HeapSnapshotWorkerWrapper.prototype.terminate):
46021        (WebInspector.HeapSnapshotWorker):
46022        (WebInspector.HeapSnapshotProxyObject.prototype.callFactoryMethod):
46023        (WebInspector.HeapSnapshotProxyObject.prototype.callMethod):
46024        * inspector/front-end/HeapSnapshotWorkerDispatcher.js:
46025        * inspector/front-end/TopDownProfileDataGridTree.js:
46026        (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
46027        * inspector/front-end/externs.js:
46028        (addEventListener):
46029
460302012-04-12  Sam D  <dsam2912@gmail.com>
46031
46032        Web Inspector: Node Value should not get corrupt while jump over different matches in search.
46033        https://bugs.webkit.org/show_bug.cgi?id=83758
46034        
46035        The order in which updateEntryHide is called for cached
46036        highlightResults is changed in "last changed first corrected" order to preserve the semantic of node.
46037
46038        Reviewed by Pavel Feldman.
46039
46040        No new tests required.
46041
46042        * inspector/front-end/ElementsTreeOutline.js:
46043        (WebInspector.ElementsTreeElement.prototype._updateSearchHighlight):
46044
460452012-03-05  Pierre Rossi  <pierre.rossi@gmail.com>
46046
46047        [Qt] Use QRawFont when building with Qt 5
46048        https://bugs.webkit.org/show_bug.cgi?id=78001
46049
46050        Up until now, fonts in the Qt port have been handled via
46051        the QFont API. QRawFont offers a lower-level API enabling
46052        us to be more in line with what other WebKit ports do.
46053        This patch proceeds to switching over to QRawFont, and
46054        effectively use an earlier change by Andreas Kling
46055        that remained guarded up until now.
46056
46057        Reviewed by Simon Hausmann.
46058
46059        No new tests since this is refactoring of existing
46060        functionality.
46061
46062        * Target.pri:
46063        * platform/graphics/Font.cpp:
46064        (WebCore::Font::drawText):
46065        * platform/graphics/Font.h:
46066        (Font):
46067        (WebCore):
46068        (WebCore::Font::syntheticFont): Added.
46069        * platform/graphics/SimpleFontData.h:
46070        (SimpleFontData):
46071        (WebCore::SimpleFontData::getQtRawFont):
46072        (WebCore):
46073        * platform/graphics/qt/FontCacheQt.cpp:
46074        (WebCore::rawFontForCharacters):
46075        (WebCore):
46076        (WebCore::FontCache::getFontDataForCharacters):
46077        (WebCore::FontCache::createFontPlatformData):
46078        * platform/graphics/qt/FontCustomPlatformData.h:
46079        (FontCustomPlatformData):
46080        * platform/graphics/qt/FontCustomPlatformDataQt.cpp:
46081        (WebCore::FontCustomPlatformData::~FontCustomPlatformData):
46082        (WebCore::FontCustomPlatformData::fontPlatformData):
46083        (WebCore::createFontCustomPlatformData):
46084        * platform/graphics/qt/FontPlatformData.h:
46085        (WebCore::FontPlatformDataPrivate::FontPlatformDataPrivate):
46086        (FontPlatformDataPrivate):
46087        (FontPlatformData):
46088        * platform/graphics/qt/FontPlatformDataQt.cpp:
46089        (WebCore::FontPlatformData::FontPlatformData):
46090        (WebCore):
46091        (WebCore::FontPlatformData::operator==):
46092        * platform/graphics/qt/FontQt.cpp:
46093        (WebCore::fillPenForContext):
46094        (WebCore::pathForGlyphs):
46095        (WebCore::drawQtGlyphRun):
46096        (WebCore::Font::drawComplexText):
46097        (WebCore::Font::floatWidthForComplexText):
46098        (WebCore::Font::offsetForPositionForComplexText):
46099        (WebCore::Font::selectionRectForComplexText):
46100        (WebCore::Font::initFormatForTextLayout):
46101        (WebCore):
46102        (WebCore::Font::drawGlyphs):
46103        (WebCore::Font::syntheticFont):
46104        (WebCore::Font::rawFont):
46105        * platform/graphics/qt/FontQt4.cpp: Copied from Source/WebCore/platform/graphics/qt/FontQt.cpp.
46106        (WebCore):
46107        (WebCore::fromRawDataWithoutRef):
46108        (WebCore::setupLayout):
46109        (WebCore::fillPenForContext):
46110        (WebCore::strokePenForContext):
46111        (WebCore::drawTextCommon):
46112        (WebCore::Font::drawComplexText):
46113        (WebCore::Font::floatWidthForComplexText):
46114        (WebCore::Font::offsetForPositionForComplexText):
46115        (WebCore::Font::selectionRectForComplexText):
46116        (WebCore::Font::canReturnFallbackFontsForComplexText):
46117        (WebCore::Font::drawEmphasisMarksForComplexText):
46118        (WebCore::Font::drawSimpleText):
46119        (WebCore::Font::offsetForPositionForSimpleText):
46120        (WebCore::Font::floatWidthForSimpleText):
46121        (WebCore::Font::selectionRectForSimpleText):
46122        (WebCore::Font::canExpandAroundIdeographsInComplexText):
46123        (WebCore::Font::primaryFontHasGlyphForCharacter):
46124        (WebCore::Font::emphasisMarkAscent):
46125        (WebCore::Font::emphasisMarkDescent):
46126        (WebCore::Font::emphasisMarkHeight):
46127        (WebCore::Font::drawEmphasisMarksForSimpleText):
46128        (WebCore::Font::font):
46129        * platform/graphics/qt/SimpleFontDataQt.cpp:
46130        (WebCore::SimpleFontData::platformInit):
46131        * platform/qt/RenderThemeQt.cpp:
46132        (WebCore::RenderThemeQt::fileListNameForWidth):
46133        * platform/qt/RenderThemeQtMobile.cpp:
46134        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
46135
461362012-04-12  JungJik Lee  <jungjik.lee@samsung.com>
46137
46138        Calculate the cover rect of tiled backing store with the trajectory vector.
46139        https://bugs.webkit.org/show_bug.cgi?id=83462
46140
46141        Reviewed by Kenneth Rohde Christiansen.
46142
46143        When trajectory vector is not zero, it is able to calculate the proper cover area.
46144        No new tests - no new functionality.
46145
46146        * platform/graphics/TiledBackingStore.cpp:
46147        (WebCore::TiledBackingStore::computeCoverAndKeepRect):
46148
461492012-04-12  Pavel Feldman  <pfeldman@chromium.org>
46150
46151        Web Inspector: extracting NetworkRequest from Resource (step 2)
46152        https://bugs.webkit.org/show_bug.cgi?id=83773
46153
46154        Reviewed by Yury Semikhatsky.
46155
46156        This step moves request-related views from being resource-based to request-based.
46157        See https://bugs.webkit.org/show_bug.cgi?id=61363 for the meta bug.
46158
46159        * WebCore.gypi:
46160        * WebCore.vcproj/WebCore.vcproj:
46161        * inspector/compile-front-end.py:
46162        * inspector/front-end/ContentProviders.js:
46163        (WebInspector.ResourceContentProvider):
46164        (WebInspector.ResourceContentProvider.prototype.requestContent):
46165        (WebInspector.ResourceContentProvider.prototype.searchInContent):
46166        * inspector/front-end/NetworkItemView.js:
46167        (WebInspector.NetworkItemView):
46168        (WebInspector.RequestContentView):
46169        (WebInspector.RequestContentView.prototype._ensureInnerViewShown):
46170        * inspector/front-end/NetworkPanel.js:
46171        (WebInspector.NetworkLogView.prototype._showPopover):
46172        * inspector/front-end/NetworkRequest.js:
46173        (WebInspector.NetworkRequest.prototype.resource):
46174        * inspector/front-end/RawSourceCode.js:
46175        (WebInspector.RawSourceCode.prototype._createContentProvider):
46176        * inspector/front-end/RequestCookiesView.js: Renamed from Source/WebCore/inspector/front-end/ResourceCookiesView.js.
46177        (WebInspector.RequestCookiesView):
46178        * inspector/front-end/RequestHTMLView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHTMLView.js.
46179        (WebInspector.RequestHTMLView):
46180        (WebInspector.RequestHTMLView.prototype._createIFrame):
46181        * inspector/front-end/RequestHeadersView.js: Renamed from Source/WebCore/inspector/front-end/ResourceHeadersView.js.
46182        (WebInspector.RequestHeadersView):
46183        * inspector/front-end/RequestJSONView.js: Renamed from Source/WebCore/inspector/front-end/ResourceJSONView.js.
46184        (WebInspector.RequestJSONView):
46185        (WebInspector.RequestJSONView.parseJSON.WebInspector.RequestJSONView.parseJSONP):
46186        * inspector/front-end/RequestPreviewView.js: Renamed from Source/WebCore/inspector/front-end/ResourcePreviewView.js.
46187        (WebInspector.RequestPreviewView):
46188        (WebInspector.RequestPreviewView.prototype.contentLoaded):
46189        (WebInspector.RequestPreviewView.prototype._createPreviewView):
46190        * inspector/front-end/RequestResponseView.js: Renamed from Source/WebCore/inspector/front-end/ResourceResponseView.js.
46191        (WebInspector.RequestResponseView):
46192        (WebInspector.RequestResponseView.prototype.get sourceView):
46193        (WebInspector.RequestResponseView.prototype.contentLoaded):
46194        * inspector/front-end/RequestTimingView.js: Renamed from Source/WebCore/inspector/front-end/ResourceTimingView.js.
46195        (WebInspector.RequestTimingView):
46196        (WebInspector.RequestTimingView.prototype._refresh):
46197        * inspector/front-end/RequestView.js: Copied from Source/WebCore/inspector/front-end/NetworkRequest.js.
46198        (WebInspector.RequestView):
46199        (WebInspector.RequestView.prototype.hasContent):
46200        (WebInspector.RequestView.hasTextContent):
46201        (WebInspector.RequestView.nonSourceViewForRequest):
46202        * inspector/front-end/ResourceView.js:
46203        (WebInspector.ResourceSourceFrame._canonicalMIMEType):
46204        (WebInspector.ResourceSourceFrame._mimeTypeForResource):
46205        (WebInspector.ResourceSourceFrame.prototype.requestContent):
46206        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
46207        (WebInspector.ResourceRevisionSourceFrame.prototype.requestContent):
46208        * inspector/front-end/WebKit.qrc:
46209        * inspector/front-end/inspector.html:
46210
462112012-04-12  Yury Semikhatsky  <yurys@chromium.org>
46212
46213        Unreviewed. Fix a couple of compiler annotations after r113963.
46214
46215        * inspector/front-end/TopDownProfileDataGridTree.js:
46216        (WebInspector.TopDownProfileDataGridTree):
46217        (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
46218
462192012-04-11  Yury Semikhatsky  <yurys@chromium.org>
46220
46221        Web Inspector: add closure compiler annotations for profiler code
46222        https://bugs.webkit.org/show_bug.cgi?id=83700
46223
46224        Basic type annotations are added to most of the profiler front-end. Some
46225        dead code removed.
46226
46227        Reviewed by Pavel Feldman.
46228
46229        * inspector/compile-front-end.py:
46230        * inspector/front-end/BinarySearch.js:
46231        (Object.defineProperty):
46232        * inspector/front-end/BottomUpProfileDataGridTree.js:
46233        (WebInspector.BottomUpProfileDataGridNode.prototype._restore):
46234        (WebInspector.BottomUpProfileDataGridNode.prototype._sharedPopulate):
46235        (WebInspector.BottomUpProfileDataGridNode.prototype._willHaveChildren):
46236        (WebInspector.BottomUpProfileDataGridTree):
46237        * inspector/front-end/DataGrid.js:
46238        * inspector/front-end/DetailedHeapshotGridNodes.js:
46239        (WebInspector.HeapSnapshotInstanceNode.prototype._createChildNode):
46240        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.firstProviderPopulated):
46241        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren.else.firstProviderPopulated):
46242        (WebInspector.HeapSnapshotDiffNode.prototype.populateChildren):
46243        * inspector/front-end/DetailedHeapshotView.js:
46244        (WebInspector.DetailedHeapshotView.prototype._changeBase):
46245        (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):
46246        (WebInspector.DetailedHeapshotView.prototype._helpClicked.appendHelp):
46247        (WebInspector.DetailedHeapshotView.prototype._helpClicked):
46248        * inspector/front-end/HeapSnapshot.js:
46249        (WebInspector.HeapSnapshot):
46250        (HeapSnapshotMetainfo):
46251        (WebInspector.HeapSnapshot.prototype._buildRetainers):
46252        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
46253        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
46254        * inspector/front-end/ProfileDataGridTree.js:
46255        (WebInspector.ProfileDataGridNode.prototype.insertChild):
46256        (WebInspector.ProfileDataGridNode.prototype.removeChild):
46257        (WebInspector.ProfileDataGridNode.prototype.removeChildren):
46258        (WebInspector.ProfileDataGridNode.prototype._populate):
46259        (WebInspector.ProfileDataGridTree.propertyComparator):
46260        * inspector/front-end/ProfileView.js:
46261        * inspector/front-end/ProfilesPanel.js:
46262        (WebInspector.ProfileHeader):
46263        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot.parsed):
46264        (WebInspector.ProfilesPanel.prototype._finishHeapSnapshot):
46265        (WebInspector.ProfilesPanel.prototype.performSearch.finishedCallback):
46266        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
46267        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
46268        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
46269        * inspector/front-end/TopDownProfileDataGridTree.js:
46270        (WebInspector.TopDownProfileDataGridTree):
46271        (WebInspector.TopDownProfileDataGridTree.prototype.exclude):
46272        * inspector/front-end/externs.js:
46273        (Array.prototype.binaryIndexOf):
46274        (Array.prototype.sortRange):
46275        (WebInspector.CSSSelectorProfileType):
46276        (WebInspector.HeapSnapshotWorker):
46277        (WebInspector.HeapSnapshotWorker.prototype.createObject):
46278        (WebInspector.HeapSnapshotWorker.prototype.startCheckingForLongRunningCalls):
46279        * inspector/front-end/heapProfiler.css:
46280
462812012-04-12  Zalan Bujtas  <zbujtas@gmail.com>
46282
46283        [Qt][WK2] Zoom gesture with double tap crashes on iframe when main frame has scroll offset.
46284        https://bugs.webkit.org/show_bug.cgi?id=83428
46285
46286        Reviewed by Kenneth Rohde Christiansen.
46287
46288        When delegate scrolling is on, the frame view needs to ignore scrolling offset when converting
46289        coordinates. It is already done at ScrollView base class and this patch copies the logic to the
46290        FrameView subclass.
46291        Also make sure that TouchAdjustment's findBest*() functions' return value are not ignored by the caller.
46292
46293        Test: touchadjustment/iframe-with-mainframe-scroll-offset.html
46294
46295        * page/EventHandler.cpp:
46296        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
46297        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
46298        * page/EventHandler.h:
46299        (EventHandler):
46300        * page/FrameView.cpp:
46301        (WebCore::FrameView::convertFromRenderer):
46302        (WebCore::FrameView::convertToRenderer):
46303        * page/GestureTapHighlighter.cpp:
46304        * testing/Internals.cpp:
46305        (WebCore::Internals::setDelegatesScrolling):
46306        (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
46307        (WebCore::Internals::bestZoomableAreaForTouchPoint):
46308        * testing/Internals.h:
46309        (Internals):
46310        * testing/Internals.idl:
46311
463122012-04-12  Zoltan Horvath  <zoltan@webkit.org>
46313
46314        [Qt] Two canvas tests fail with QT_IMAGE_DECODER=0 setup
46315        https://bugs.webkit.org/show_bug.cgi?id=83764
46316
46317        The following tests were failed after r108792:
46318        - canvas-toDataURL-case-insensitive-mimetype.html
46319        - toDataURL-supportedTypes.html 
46320        because supportedImageMIMETypesForEncoding wasn't filled
46321        with MIME types in case of QT_IMAGE_DECODER=0 build setup.
46322
46323        Reviewed by Csaba Osztrogonác.
46324
46325        Fixes existing tests.
46326
46327        * platform/MIMETypeRegistry.cpp:
46328        (WebCore::initializeSupportedImageMIMETypesForEncoding):
46329
463302012-04-12  Sheriff Bot  <webkit.review.bot@gmail.com>
46331
46332        Unreviewed, rolling out r113931.
46333        http://trac.webkit.org/changeset/113931
46334        https://bugs.webkit.org/show_bug.cgi?id=83766
46335
46336        broke 4 tests on JSC platforms (Requested by philn-tp on
46337        #webkit).
46338
46339        * bindings/scripts/CodeGeneratorJS.pm:
46340        (GenerateHeader):
46341        (GenerateImplementation):
46342        * bindings/scripts/CodeGeneratorV8.pm:
46343        (GenerateNamedConstructorCallback):
46344        (GenerateImplementation):
46345        * bindings/scripts/IDLAttributes.txt:
46346        * bindings/scripts/test/JS/JSTestObj.cpp:
46347        (WebCore::JSTestObj::createPrototype):
46348        * bindings/scripts/test/JS/JSTestObj.h:
46349        * bindings/scripts/test/TestObj.idl:
46350        * bindings/scripts/test/V8/V8Float64Array.cpp:
46351        (WebCore):
46352        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
46353        (WebCore):
46354        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
46355        (WebCore):
46356        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
46357        (WebCore):
46358        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
46359        (WebCore):
46360        * bindings/scripts/test/V8/V8TestInterface.cpp:
46361        (WebCore):
46362        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
46363        (WebCore):
46364        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
46365        (WebCore):
46366        * bindings/scripts/test/V8/V8TestObj.cpp:
46367        (WebCore):
46368        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
46369        (WebCore):
46370        * bindings/v8/NPV8Object.cpp:
46371        (WebCore::npObjectTypeInfo):
46372        * bindings/v8/V8BindingPerContextData.cpp:
46373        (WebCore::V8BindingPerContextData::init):
46374        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
46375        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase):
46376        * bindings/v8/V8BindingPerContextData.h:
46377        (V8BindingPerContextData):
46378        * bindings/v8/V8HiddenPropertyName.h:
46379        (WebCore):
46380        * bindings/v8/WrapperTypeInfo.h:
46381        (WrapperTypeInfo):
46382        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
46383        (WebCore):
46384        * dom/NodeList.idl:
46385
463862012-04-12  Charles Wei  <charles.wei@torchmobile.com.cn>
46387
46388        [BlackBerry] Upstreaming BlackBerry-specific changes to PluginView -- remove unused functions
46389        https://bugs.webkit.org/show_bug.cgi?id=83756
46390
46391        Reviewed by George Staikos.
46392
46393        PluginView::halt(), PluginView::restart() have been removed from
46394        upstreaming code, should remove them from BlackBerry porting also.
46395
46396        * plugins/blackberry/PluginViewBlackBerry.cpp:
46397
463982012-04-12  Kenichi Ishibashi  <bashi@chromium.org>
46399
46400        [Chromium] The size of glyphStorage should be passed to substituteWithVerticalGlyphs()
46401        https://bugs.webkit.org/show_bug.cgi?id=83751
46402
46403        Reviewed by Kent Tamura.
46404
46405        The last argument of substituteWithVerticalGlyphs() should be
46406        the size of |glyphStorage|.
46407
46408        No new tests because we can't test the fix by layout tests.
46409        I confirmed the fix with ASAN.
46410
46411        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
46412        (WebCore::GlyphPage::fill):
46413
464142012-04-12  Jason Liu  <jason.liu@torchmobile.com.cn>
46415
46416        [BlackBerry] We shouldn't set empty Content-Length & Content-Type to a request's headers.
46417        https://bugs.webkit.org/show_bug.cgi?id=83349
46418
46419        When there is a redirection for a POST request, we change POST to GET and set
46420        Content-Length/Content-Type to empty strings.
46421        We should remove these headers instead of adding empty strings.
46422
46423        Reviewed by George Staikos.
46424
46425        No new tests. Refactor.
46426
46427        * platform/network/blackberry/NetworkJob.cpp:
46428        (WebCore::NetworkJob::handleRedirect):
46429        * platform/network/blackberry/ResourceRequest.h:
46430        (ResourceRequest):
46431        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
46432        (WebCore::ResourceRequest::clearHTTPContentLength):
46433        (WebCore):
46434        (WebCore::ResourceRequest::clearHTTPContentType):
46435
464362012-04-12  Noel Gordon  <noel.gordon@gmail.com>
46437
46438        [Qt] ImageBuffer: Canonical mimeType for encoding implies startsWith('image/')
46439        https://bugs.webkit.org/show_bug.cgi?id=83746
46440
46441        Reviewed by Simon Hausmann.
46442
46443        Canonical image mimeTypes begin with "image/", and this is tested by an ASSERT
46444        guard in toDataURL(): that checks the WebCore mimeType registry for image-for-
46445        encoding mimeType. There is no need to also test mimeType.startsWith("image/")
46446        since that is a given.
46447
46448        No new tests. Covered by existing fast/canvas/*toDataURL* tests.
46449
46450        * platform/graphics/qt/ImageBufferQt.cpp:
46451        (WebCore::ImageBuffer::toDataURL):
46452
464532012-04-11  Adam Barth  <abarth@webkit.org>
46454
46455        Implement Location.ancestorOrigins
46456        https://bugs.webkit.org/show_bug.cgi?id=83493
46457
46458        Reviewed by David Levin.
46459
46460        Test: fast/dom/Window/Location/ancestor-origins.html
46461
46462        This patch implements Location.ancestorOrigins(), which returns a list
46463        of the origins of the enclosing frames.  This API has been discussed
46464        both on webkit-dev (see discussion following
46465        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020090.html)
46466        and on the whatwg list (see discussion following
46467        http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035188.html).
46468
46469        * page/Location.cpp:
46470        (WebCore::Location::ancestorOrigins):
46471        (WebCore):
46472        * page/Location.h:
46473        (Location):
46474        * page/Location.idl:
46475
464762012-04-11  Raymond Liu  <raymond.liu@intel.com>
46477
46478        AudioContext createChannelSplitter() method should have optional argument for number of outputs
46479        https://bugs.webkit.org/show_bug.cgi?id=83648
46480
46481        Reviewed by Chris Rogers.
46482
46483        Check https://dvcs.w3.org/hg/audio/raw-file/tip/webaudio/specification.html for the optional argument.
46484
46485        Test: webaudio/audiochannelsplitter.html
46486
46487        * Modules/webaudio/AudioChannelSplitter.cpp:
46488        (WebCore::AudioChannelSplitter::create):
46489        (WebCore::AudioChannelSplitter::AudioChannelSplitter):
46490        (WebCore::AudioChannelSplitter::process):
46491        * Modules/webaudio/AudioChannelSplitter.h:
46492        (AudioChannelSplitter):
46493        * Modules/webaudio/AudioContext.cpp:
46494        (WebCore::AudioContext::createChannelSplitter):
46495        (WebCore):
46496        * Modules/webaudio/AudioContext.h:
46497        (AudioContext):
46498        * Modules/webaudio/AudioContext.idl:
46499
465002012-04-11  Charles Wei  <charles.wei@torchmobile.com.cn>
46501
46502        [BlackBerry] Revert the changes that depend on Event changes, which is reverted already internally.
46503        https://bugs.webkit.org/show_bug.cgi?id=83456
46504
46505        Reviewed by George Staikos.
46506
46507        No new tests, just to make BlackBerry-porting to build.
46508
46509        * plugins/blackberry/PluginViewBlackBerry.cpp:
46510        (WebCore::PluginView::handleWheelEvent):
46511        (WebCore::PluginView::handleTouchEvent):
46512        (WebCore::PluginView::handleMouseEvent):
46513
465142012-04-11  Jason Liu  <jason.liu@torchmobile.com.cn>
46515
46516        [BlackBerry] There shouldn't be two or more Accept-Language in platformRequest's headerList.
46517        https://bugs.webkit.org/show_bug.cgi?id=83670
46518
46519        FrameLoaderClientBlackBerry::dispatchWillSendRequest and NetworkManager::startJob will call
46520        ResourceRequest::initializePlatformRequest. Accept-Language is added two times.
46521        We should avoid the second adding to improve performance.
46522
46523        Reviewed by Rob Buis.
46524
46525        No new tests. Refactor.
46526
46527        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
46528        (WebCore::ResourceRequest::initializePlatformRequest):
46529
465302012-04-11  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
46531
46532        [BlackBerry] MMRPlayer will hang webkit thread when retrieving media metadata
46533        https://bugs.webkit.org/show_bug.cgi?id=80978
46534
46535        Reviewed by Rob Buis.
46536
46537        RIM PR: 143471
46538        Implemented the interface function onWaitMetadataNotified()
46539        which starts a timer to wait for the metadata retrieving to
46540        finish, and pops up a dialog to notify the user what to do
46541        if there still is no metadata when the timer fires.
46542
46543        This patch also contributed by Max Feil <mfeil@rim.com>.
46544        Internally reviewed by Max Feil.
46545
46546        Test: http/tests/media/video-throttled-load-metadata.html
46547
46548        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
46549        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
46550        (WebCore):
46551        (WebCore::MediaPlayerPrivate::onWaitMetadataNotified):
46552        (WebCore::MediaPlayerPrivate::waitMetadataTimerFired):
46553        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h:
46554        (MediaPlayerPrivate):
46555
465562012-04-11  Jer Noble  <jer.noble@apple.com>
46557
46558        Layout Test webaudio/* is flaky
46559        https://bugs.webkit.org/show_bug.cgi?id=83624
46560
46561        Reviewed by Chris Rogers.
46562
46563        No new tests; fixes webaudio/ layout tests.
46564
46565        A merge error led to an Mutex overunlock situation, which caused all future mutex trylock
46566        attempts to fail, but only on Windows. Remove the extraneous mutex unlock().
46567
46568        * Modules/webaudio/AudioBufferSourceNode.cpp:
46569        (WebCore::AudioBufferSourceNode::process):
46570
465712012-04-11  Levi Weintraub  <leviw@chromium.org>
46572
46573        Correct pixel snapping error in RenderBox::pixelSnappedClientWidth/Height
46574        https://bugs.webkit.org/show_bug.cgi?id=83621
46575
46576        Reviewed by Eric Seidel.
46577
46578        Though the problem wouldn't yet manifest itself since we haven't flipped the switch on sub-pixel
46579        layout, clientWidth and clientHeight, when pixel snapped, need to take the RenderBox's location
46580        into account. Previously, ClientLeft/Top were used, but these are simply the width of the borders,
46581        and don't include the box's sub-pixel location, which is needed to properly snap the width/height.
46582
46583        No new tests. Untestable until we switch to FractionalLayoutUnits. A test case that covers this
46584        is in the subpixellayout branch and will land with the switch.
46585
46586        * rendering/RenderBox.cpp:
46587        (WebCore::RenderBox::pixelSnappedClientWidth):
46588        (WebCore::RenderBox::pixelSnappedClientHeight):
46589        (WebCore::RenderBox::scrollWidth): Replacing a raw zero with ZERO_LAYOUT_UNIT.
46590
465912012-04-11  Erik Arvidsson  <arv@chromium.org>
46592
46593        Add support for [ArrayClass] and use that on NodeList
46594        https://bugs.webkit.org/show_bug.cgi?id=81573
46595
46596        Reviewed by Adam Barth.
46597
46598        With this patch NodeLists now have Array.prototype on their prototype chain which allows
46599        methods such as forEach and map to work on NodeLists.
46600
46601        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#interface-nodelist
46602
46603        For V8 we need to set a flag on the WrapperTypeInfo since V8 uses FunctionTemplates which
46604        does not allow setting the prototype to a non FunctionTemplate so the prototype is therefore
46605        set when the constructor is created.
46606
46607        For JSC we just pass the right prototype object when creating the NodeList prototype. JSC has
46608        a bug (81588) that prevents toString to work as specced on Array.prototype.toString. This
46609        causes test failures in the tests until that has been fixed.
46610
46611        Test: fast/dom/NodeList/node-list-array-class.html
46612
46613        * bindings/scripts/CodeGeneratorJS.pm:
46614        (GenerateHeader): Include ArrayPrototype.h if an ArrayClass.
46615        (GenerateImplementation): If ArrayClass use arrayPrototype as prototype.
46616        * bindings/scripts/CodeGeneratorV8.pm:
46617        (GenerateNamedConstructorCallback):
46618        (GenerateImplementation): Adds a flag to the WrapperTypeInfo.
46619        * bindings/scripts/IDLAttributes.txt: Adds new attribute: ArrayClass.
46620        * bindings/scripts/test/JS/JSTestObj.cpp:
46621        (WebCore::JSTestObj::createPrototype):
46622        * bindings/scripts/test/JS/JSTestObj.h:
46623        * bindings/scripts/test/TestObj.idl:
46624        * bindings/scripts/test/V8/V8Float64Array.cpp:
46625        (WebCore):
46626        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
46627        (WebCore):
46628        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
46629        (WebCore):
46630        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
46631        (WebCore):
46632        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
46633        (WebCore):
46634        * bindings/scripts/test/V8/V8TestInterface.cpp:
46635        (WebCore):
46636        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
46637        (WebCore):
46638        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
46639        (WebCore):
46640        * bindings/scripts/test/V8/V8TestObj.cpp:
46641        (WebCore):
46642        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
46643        (WebCore):
46644        * bindings/v8/V8BindingPerContextData.cpp:
46645        (WebCore::V8BindingPerContextData::init): Get the array prototype too.
46646        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase):
46647        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): If this is an ArrayClass we need to
46648        set the [[Prototype]].
46649        * bindings/v8/V8BindingPerContextData.h:
46650        (V8BindingPerContextData):
46651        * bindings/v8/V8HiddenPropertyName.h:
46652        (WebCore):
46653        * bindings/v8/WrapperTypeInfo.h:
46654        (WrapperTypeInfo):
46655        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
46656        (WebCore):
46657        * dom/NodeList.idl:
46658
466592012-04-11  Antti Koivisto  <antti@apple.com>
46660
46661        Try to fix build with XSLT disabled.
46662
46663        Not reviewed.
46664
46665        * dom/ProcessingInstruction.cpp:
46666        (WebCore::ProcessingInstruction::parseStyleSheet):
46667
466682012-04-11  Erik Arvidsson  <arv@chromium.org>
46669
46670        File API does not support DOM events (like addEventListener)
46671        https://bugs.webkit.org/show_bug.cgi?id=83688
46672
46673        Reviewed by Adam Barth.
46674
46675        The IDL files where missing addEventListener, removeEventListener and dispatchEvent.
46676
46677        Tests: fast/filesystem/file-writer-events.html
46678               fast/speech/scripted/basics.html
46679
46680        * Modules/filesystem/FileWriter.idl: Add missing methods.
46681        * Modules/mediastream/LocalMediaStream.idl: This one gets its EventTarget from MediaStream.
46682        * Modules/speech/SpeechRecognition.idl: Add missing methods.
46683
466842012-04-11  Andy Estes  <aestes@apple.com>
46685
46686        LayerFlushScheduler's run loop observer should have an autorelease pool.
46687        https://bugs.webkit.org/show_bug.cgi?id=83729
46688
46689        Reviewed by Dan Bernstein.
46690
46691        LayerFlushScheduler's run loop observer needs an autorelease pool.
46692        NSApplication creates one, but it is only drained after processing user
46693        input. In the case where a WebView is displaying composited content but
46694        not receiving user input, NSApplication's pool will accumulate a large
46695        number of objects autoreleased by the run loop observer. Have
46696        LayerFlushScheduler create an autorelease pool that is drained after
46697        each run loop observer callback.
46698
46699        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
46700        (WebCore::LayerFlushScheduler::runLoopObserverCallback):
46701
467022012-04-11  Antti Koivisto  <antti@apple.com>
46703
46704        Split CSSStyleSheet into internal and CSSOM type
46705        https://bugs.webkit.org/show_bug.cgi?id=83612
46706        
46707        Reviewed by Andreas Kling.
46708
46709        This will complete the separation of our style sheet data structures from CSSOM.
46710        
46711        The internal parts of CSSStyleSheet move to StyleSheetInternal. CSS parser
46712        and style selector will now operate on internal types. Unlike other CSSOM types
46713        CSSStyleSheets are still always instantiated to hold the top level author stylesheets
46714        (by Nodes).
46715
46716        * css/CSSFontFaceSrcValue.cpp:
46717        (WebCore::CSSFontFaceSrcValue::addSubresourceStyleURLs):
46718        * css/CSSFontFaceSrcValue.h:
46719        (CSSFontFaceSrcValue):
46720        * css/CSSImportRule.cpp:
46721        (WebCore::StyleRuleImport::create):
46722        (WebCore::StyleRuleImport::StyleRuleImport):
46723        (WebCore::StyleRuleImport::setCSSStyleSheet):
46724        (WebCore::StyleRuleImport::requestStyleSheet):
46725        (WebCore::CSSImportRule::~CSSImportRule):
46726        (WebCore):
46727        (WebCore::CSSImportRule::styleSheet):
46728        * css/CSSImportRule.h:
46729        (WebCore):
46730        (StyleRuleImport):
46731        (WebCore::StyleRuleImport::parentStyleSheet):
46732        (WebCore::StyleRuleImport::styleSheet):
46733        (CSSImportRule):
46734        * css/CSSMediaRule.cpp:
46735        (WebCore::CSSMediaRule::insertRule):
46736        * css/CSSParser.cpp:
46737        (WebCore::CSSParser::parseSheet):
46738        (WebCore::CSSParser::parseRule):
46739        (WebCore::CSSParser::parseKeyframeRule):
46740        (WebCore::CSSParser::parseFontFaceValue):
46741        (WebCore::CSSParser::parseValue):
46742        (WebCore::CSSParser::parseSelector):
46743        (WebCore::CSSParser::parseDeclaration):
46744        (WebCore::CSSParser::setStyleSheet):
46745        (WebCore::CSSParser::parseFlowThread):
46746        * css/CSSParser.h:
46747        (WebCore):
46748        (CSSParser):
46749        * css/CSSPrimitiveValue.cpp:
46750        (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
46751        * css/CSSPrimitiveValue.h:
46752        (CSSPrimitiveValue):
46753        * css/CSSReflectValue.cpp:
46754        (WebCore::CSSReflectValue::addSubresourceStyleURLs):
46755        * css/CSSReflectValue.h:
46756        (CSSReflectValue):
46757        * css/CSSRule.h:
46758        (CSSRule):
46759        * css/CSSStyleSelector.cpp:
46760        (RuleSet):
46761        (WebCore):
46762        (WebCore::CSSStyleSelector::CSSStyleSelector):
46763        (WebCore::CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets):
46764        (WebCore::CSSStyleSelector::determineScope):
46765        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
46766        (WebCore::parseUASheet):
46767        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
46768        * css/CSSStyleSelector.h:
46769        (CSSStyleSelector):
46770        
46771            Add a set for root CSSStyleSheet objects so that the wrappers created in ensureFullCSSOMWrapperForInspector
46772            stay valid.
46773        
46774        * css/CSSStyleSheet.cpp:
46775        (WebCore::StyleSheetInternal::StyleSheetInternal):
46776        (WebCore::StyleSheetInternal::~StyleSheetInternal):
46777        (WebCore::StyleSheetInternal::parserAppendRule):
46778        (WebCore::StyleSheetInternal::createChildRuleCSSOMWrapper):
46779        (WebCore::StyleSheetInternal::ruleCount):
46780        (WebCore::StyleSheetInternal::clearCharsetRule):
46781        (WebCore::StyleSheetInternal::clearRules):
46782        (WebCore::StyleSheetInternal::parserSetEncodingFromCharsetRule):
46783        (WebCore::StyleSheetInternal::wrapperInsertRule):
46784        (WebCore::StyleSheetInternal::wrapperDeleteRule):
46785        (WebCore::StyleSheetInternal::addNamespace):
46786        (WebCore::StyleSheetInternal::determineNamespace):
46787        (WebCore::StyleSheetInternal::parseString):
46788        (WebCore::StyleSheetInternal::parseStringAtLine):
46789        (WebCore::StyleSheetInternal::isLoading):
46790        (WebCore::StyleSheetInternal::checkLoaded):
46791        (WebCore::StyleSheetInternal::notifyLoadedSheet):
46792        (WebCore::StyleSheetInternal::startLoadingDynamicSheet):
46793        (WebCore::StyleSheetInternal::findStyleSheetOwnerNode):
46794        (WebCore::StyleSheetInternal::findDocument):
46795        (WebCore::StyleSheetInternal::setMediaQueries):
46796        (WebCore::StyleSheetInternal::styleSheetChanged):
46797        (WebCore):
46798        (WebCore::StyleSheetInternal::baseURL):
46799        (WebCore::StyleSheetInternal::completeURL):
46800        (WebCore::StyleSheetInternal::addSubresourceStyleURLs):
46801        (WebCore::StyleSheetInternal::parentStyleSheet):
46802        (WebCore::CSSStyleSheet::CSSStyleSheet):
46803        (WebCore::CSSStyleSheet::~CSSStyleSheet):
46804        (WebCore::CSSStyleSheet::setDisabled):
46805        (WebCore::CSSStyleSheet::length):
46806        (WebCore::CSSStyleSheet::item):
46807        (WebCore::CSSStyleSheet::rules):
46808        (WebCore::CSSStyleSheet::insertRule):
46809        (WebCore::CSSStyleSheet::addRule):
46810        (WebCore::CSSStyleSheet::cssRules):
46811        (WebCore::CSSStyleSheet::deleteRule):
46812        (WebCore::CSSStyleSheet::media):
46813        (WebCore::CSSStyleSheet::parentStyleSheet):
46814        * css/CSSStyleSheet.h:
46815        (WebCore):
46816        (WebCore::StyleSheetInternal::create):
46817        (WebCore::StyleSheetInternal::createInline):
46818        (StyleSheetInternal):
46819        (WebCore::StyleSheetInternal::ownerNode):
46820        (WebCore::StyleSheetInternal::clearOwnerNode):
46821        (WebCore::StyleSheetInternal::ownerRule):
46822        (WebCore::StyleSheetInternal::originalURL):
46823        (WebCore::StyleSheetInternal::title):
46824        (WebCore::StyleSheetInternal::setTitle):
46825        (WebCore::StyleSheetInternal::setFinalURL):
46826        (WebCore::StyleSheetInternal::finalURL):
46827        (CSSStyleSheet):
46828        (WebCore::CSSStyleSheet::create):
46829        (WebCore::CSSStyleSheet::removeRule):
46830        (WebCore::CSSStyleSheet::clearOwnerRule):
46831        (WebCore::CSSStyleSheet::styleSheetChanged):
46832        (WebCore::CSSStyleSheet::findDocument):
46833        (WebCore::CSSStyleSheet::internal):
46834        (WebCore::CSSStyleSheet::isCSSStyleSheet):
46835        (WebCore::CSSStyleSheet::type):
46836        * css/CSSValue.cpp:
46837        (WebCore::CSSValue::addSubresourceStyleURLs):
46838        * css/CSSValue.h:
46839        (WebCore):
46840        (CSSValue):
46841        * css/CSSValueList.cpp:
46842        (WebCore::CSSValueList::addSubresourceStyleURLs):
46843        * css/CSSValueList.h:
46844        (CSSValueList):
46845        * css/CSSValuePool.cpp:
46846        (WebCore::CSSValuePool::createFontFaceValue):
46847        * css/CSSValuePool.h:
46848        (WebCore):
46849        (CSSValuePool):
46850        * css/PropertySetCSSStyleDeclaration.cpp:
46851        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
46852        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
46853        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
46854        * css/PropertySetCSSStyleDeclaration.h:
46855        (WebCore):
46856        * css/StylePropertySet.cpp:
46857        (WebCore::StylePropertySet::setProperty):
46858        (WebCore::StylePropertySet::parseDeclaration):
46859        (WebCore::StylePropertySet::addSubresourceStyleURLs):
46860        * css/StylePropertySet.h:
46861        (WebCore):
46862        (StylePropertySet):
46863        * css/StyleSheet.cpp:
46864        (WebCore):
46865        * css/StyleSheet.h:
46866        (StyleSheet):
46867        (WebCore::StyleSheet::media):
46868        (WebCore::StyleSheet::ownerRule):
46869        (WebCore::StyleSheet::isXSLStyleSheet):
46870        * css/WebKitCSSKeyframesRule.cpp:
46871        (WebCore::WebKitCSSKeyframesRule::insertRule):
46872        * dom/DOMImplementation.cpp:
46873        (WebCore::DOMImplementation::createCSSStyleSheet):
46874        * dom/Document.cpp:
46875        (WebCore::Document::updateBaseURL):
46876        (WebCore::Document::pageUserSheet):
46877        (WebCore::Document::pageGroupUserSheets):
46878        (WebCore::Document::addUserSheet):
46879        (WebCore::Document::elementSheet):
46880        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
46881        (WebCore::Document::analyzeStylesheetChange):
46882        * dom/Document.h:
46883        (WebCore):
46884        (Document):
46885        (WebCore::Document::documentUserSheets):
46886        * dom/ElementAttributeData.cpp:
46887        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
46888        * dom/ProcessingInstruction.cpp:
46889        (WebCore::ProcessingInstruction::setCSSStyleSheet):
46890        (WebCore::ProcessingInstruction::parseStyleSheet):
46891        * dom/StyleElement.cpp:
46892        (WebCore::StyleElement::createSheet):
46893        * dom/StyledElement.cpp:
46894        (WebCore::StyledElement::setInlineStyleProperty):
46895        (WebCore::StyledElement::addSubresourceAttributeURLs):
46896        (WebCore):
46897        (WebCore::StyledElement::addPropertyToAttributeStyle):
46898        * dom/StyledElement.h:
46899        (WebCore):
46900        * html/HTMLFontElement.cpp:
46901        (WebCore::HTMLFontElement::collectStyleForAttribute):
46902        * html/HTMLLinkElement.cpp:
46903        (WebCore::HTMLLinkElement::parseAttribute):
46904        (WebCore::HTMLLinkElement::setCSSStyleSheet):
46905        (WebCore::HTMLLinkElement::styleSheetIsLoading):
46906        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
46907        * html/HTMLStyleElement.cpp:
46908        (WebCore::HTMLStyleElement::parseAttribute):
46909        (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
46910        * inspector/InspectorStyleSheet.cpp:
46911        (WebCore::fillMediaListChain):
46912        (WebCore::InspectorStyle::setPropertyText):
46913        (WebCore::InspectorStyleSheet::styleSheetURL):
46914        (WebCore::InspectorStyleSheet::reparseStyleSheet):
46915        (WebCore::InspectorStyleSheet::ensureSourceData):
46916        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
46917        * page/PageSerializer.cpp:
46918        (WebCore::PageSerializer::serializeCSSStyleSheet):
46919        * svg/SVGStyleElement.cpp:
46920        (WebCore::SVGStyleElement::parseAttribute):
46921        * xml/XSLStyleSheet.h:
46922        (XSLStyleSheet):
46923        (WebCore::XSLStyleSheet::finalURL):
46924        * xml/XSLStyleSheetLibxslt.cpp:
46925        (WebCore::XSLStyleSheet::XSLStyleSheet):
46926        (WebCore::XSLStyleSheet::isLoading):
46927
469282012-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
46929
46930        Unreviewed, rolling out r113912.
46931        http://trac.webkit.org/changeset/113912
46932        https://bugs.webkit.org/show_bug.cgi?id=83727
46933
46934        broke atsui-spacing-features.html on windows (Requested by
46935        simonjam on #webkit).
46936
46937        * platform/graphics/chromium/UniscribeHelper.cpp:
46938        (WebCore::UniscribeHelper::justify):
46939
469402012-04-11  Alex Nicolaou  <anicolao@chromium.org>
46941
46942        [chromium] When rendering goes idle, do not count that time against frame rate
46943        https://bugs.webkit.org/show_bug.cgi?id=73454
46944
46945        The FPS counter had a few issues with its reporting. The first
46946        3 swapbuffers are non-blocking and create FPS rates that are
46947        unrealistically high, throwing off the moving averages and
46948        introducing false spikes into the FPS graph. There was also no
46949        way to monitor the smoothness of the animation, or to focus in
46950        on a particular animation or transition.
46951
46952        This patch updates the FPS counter code so that bad data points
46953        are trimmed and not graphed; so that the graph itself is taller
46954        and more legible; so that there is a clear boundary between 40FPS
46955        and better; and to keep statistics on frame rate between
46956        pauses in the activity in the UI so that you can trigger a
46957        transition and read off the average and standard deviation for
46958        that transition to judge it smooth enough or not.
46959
46960
46961        Reviewed by James Robinson.
46962
46963        HUD is not testable in webkit.
46964
46965        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
46966        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
46967        (WebCore::CCHeadsUpDisplay::onFrameBegin):
46968        (WebCore::CCHeadsUpDisplay::drawHudContents):
46969        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
46970        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
46971
469722012-04-10  Zhenyao Mo  <zmo@google.com>
46973
46974        WebGLRenderingContext should defer caching program info
46975        https://bugs.webkit.org/show_bug.cgi?id=83513
46976
46977        Reviewed by Kenneth Russell.
46978
46979        * html/canvas/WebGLProgram.cpp:
46980        (WebCore::WebGLProgram::WebGLProgram):
46981        (WebCore::WebGLProgram::numActiveAttribLocations): call cacheInfoIfNeeded();
46982        (WebCore::WebGLProgram::getActiveAttribLocation): Ditto.
46983        (WebCore::WebGLProgram::isUsingVertexAttrib0): Ditto.
46984        (WebCore::WebGLProgram::getLinkStatus): Ditto.
46985        (WebCore):
46986        (WebCore::WebGLProgram::cacheActiveAttribLocations):
46987        (WebCore::WebGLProgram::cacheInfoIfNeeded): Cache link status, active attire locations, etc if needed.
46988        (WebCore::WebGLProgram::increaseLinkCount): also invalidate cached info.
46989        * html/canvas/WebGLProgram.h:
46990        (WebGLProgram):
46991        * html/canvas/WebGLRenderingContext.cpp:
46992        (WebCore):
46993        (WebCore::WebGLRenderingContext::linkProgram): Do not cache program info immediately.
46994
469952012-04-11  David Dorwin  <ddorwin@chromium.org>
46996
46997        Add keySystem attribute to canPlayType() for Encrypted Media Extensions
46998        https://bugs.webkit.org/show_bug.cgi?id=82973
46999
47000        Reviewed by Adam Barth.
47001
47002        The new attribute is behind the ENABLE(ENCRYPTED_MEDIA) feature define.
47003        Implementation is based on v0.1 of the draft proposal at
47004        http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html#extensions.
47005
47006        Tests: media/encrypted-media/encrypted-media-can-play-type-webm.html
47007               media/encrypted-media/encrypted-media-can-play-type.html
47008
47009        * dom/DOMImplementation.cpp:
47010        (WebCore::DOMImplementation::createDocument):
47011        * html/HTMLMediaElement.cpp:
47012        (WebCore::HTMLMediaElement::canPlayType):
47013        (WebCore::HTMLMediaElement::selectMediaResource):
47014        (WebCore::HTMLMediaElement::loadNextSourceChild):
47015        (WebCore::HTMLMediaElement::loadResource):
47016        (WebCore::HTMLMediaElement::havePotentialSourceChild):
47017        (WebCore::HTMLMediaElement::selectNextSourceChild):
47018        (WebCore::HTMLMediaElement::getPluginProxyParams):
47019        * html/HTMLMediaElement.h:
47020        (HTMLMediaElement):
47021        * html/HTMLMediaElement.idl:
47022        * platform/graphics/MediaPlayer.cpp:
47023        (WebCore):
47024        (WebCore::bestMediaEngineForTypeAndCodecs):
47025        (WebCore::MediaPlayer::load):
47026        (WebCore::MediaPlayer::loadWithNextMediaEngine):
47027        (WebCore::MediaPlayer::supportsType):
47028        (WebCore::MediaPlayer::networkStateChanged):
47029        * platform/graphics/MediaPlayer.h:
47030        (MediaPlayer):
47031        (WebCore):
47032
470332012-04-11  Xiaomei Ji  <xji@chromium.org>
47034
47035        [chromium] wrong justification for arabic/persian page in cr-win.
47036        https://bugs.webkit.org/show_bug.cgi?id=83227
47037
47038        Reviewed by Kent Tamura.
47039
47040        GDI used to do Kashida justification.
47041        After switch to Skia, we need to use space padding to justify the text
47042        (assume Skia can not do Kashida justification -- stretching words).
47043
47044        Test: fast/text/international/arabic-justify.html
47045
47046        * platform/graphics/chromium/UniscribeHelper.cpp:
47047        (WebCore::UniscribeHelper::justify):
47048
470492012-03-15  Martin Robinson  <mrobinson@igalia.com>
47050
47051        [CAIRO] Make GLContextGLX a subclass of GLContext
47052        https://bugs.webkit.org/show_bug.cgi?id=81285
47053
47054        Reviewed by Gustavo Noronha Silva.
47055
47056        No new tests. This should not change behavior.
47057
47058        * GNUmakefile.list.am: Add new GLContextGLX files.
47059        * platform/graphics/cairo/GLContext.cpp: Added. Composed of the
47060        EGL/GLX independent portions of GLContext. Made the current context
47061        a static variable so we can keep getting the current context platform-
47062        -independent.
47063        * platform/graphics/cairo/GLContext.h: Make this class an abstract
47064        class. GLContextGLX is a concrete implementation.
47065        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Updated to reflect
47066        slightly different calling conventions to create a sharing context.
47067        * platform/graphics/glx/GLContextGLX.cpp: Updated to reflect
47068        that this code is in a subclass now.
47069        * platform/graphics/glx/GLContextGLX.h: Copied from Source/WebCore/platform/graphics/cairo/GLContext.h.
47070        * platform/graphics/gtk/GLContextGtk.cpp:
47071        (WebCore::GLContext::getContextForWidget): Updated to respect the new
47072        USE(GLX) flag.
47073
470742012-04-11  Rob Buis  <rbuis@rim.com>
47075
47076        [BlackBerry] Upstream BlackBerry change to PatternSkia.cpp
47077        https://bugs.webkit.org/show_bug.cgi?id=83361
47078
47079        Reviewed by Antonio Gomes.
47080
47081        Upstream a cleaned up version.
47082
47083        * platform/graphics/skia/PatternSkia.cpp:
47084        (WebCore::Pattern::platformDestroy):
47085        (WebCore::Pattern::platformPattern):
47086
470872012-04-10  James Robinson  <jamesr@chromium.org>
47088
47089        [chromium] Add OVERRIDE annotations for cc layer types
47090        https://bugs.webkit.org/show_bug.cgi?id=83658
47091
47092        Reviewed by Daniel Bates.
47093
47094        This adds OVERRIDE annotations to overrides of functions on these classes:
47095        - CCLayerImpl
47096        - LayerChromium
47097        - TiledLayerChromium
47098
47099        * platform/graphics/chromium/Canvas2DLayerChromium.h:
47100        (Canvas2DLayerChromium):
47101        * platform/graphics/chromium/CanvasLayerChromium.h:
47102        (CanvasLayerChromium):
47103        * platform/graphics/chromium/ContentLayerChromium.h:
47104        (ContentLayerChromium):
47105        * platform/graphics/chromium/ImageLayerChromium.h:
47106        (ImageLayerChromium):
47107        * platform/graphics/chromium/PluginLayerChromium.h:
47108        (PluginLayerChromium):
47109        * platform/graphics/chromium/TiledLayerChromium.h:
47110        (TiledLayerChromium):
47111        * platform/graphics/chromium/VideoLayerChromium.h:
47112        (VideoLayerChromium):
47113        * platform/graphics/chromium/WebGLLayerChromium.h:
47114        (WebGLLayerChromium):
47115        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
47116        (CCScrollbarLayerImpl):
47117        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
47118        (CCSolidColorLayerImpl):
47119        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
47120        (CCTextureLayerImpl):
47121        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
47122        (CCTiledLayerImpl):
47123        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
47124        (CCVideoLayerImpl):
47125
471262012-04-11  Alexey Proskuryakov  <ap@apple.com>
47127
47128        [Mac] lang, xml:lang, content-language ignored when choosing fonts
47129        https://bugs.webkit.org/show_bug.cgi?id=10874
47130        <rdar://problem/3220202>
47131
47132        Reviewed by Dan Bernstein.
47133
47134        Adding a default font table for Mac port. Clients can still override these if they want to,
47135        but knowing which fonts to use is more about the platform than about the client.
47136
47137        Tests: platform/mac/fonts/han-disunification.html
47138
47139        * DerivedSources.make:
47140        * WebCore.xcodeproj/project.pbxproj:
47141        * Resources/DefaultFonts.plist.in: Added.
47142        Added SettingsMac.mm. Added preprocessed property list with default fonts.
47143
47144        * page/Settings.cpp:
47145        (WebCore::setGenericFontFamilyMap): Don't notify the page if we don't have one yet.
47146        (WebCore::Settings::Settings): Assign to m_page after calling initializeDefaultFontFamilies,
47147        so that we won't try to call page->setNeedsRecalcStyleInAllFrames() in a half-initialized
47148        Page that's creating settings.
47149        (WebCore::Settings::initializeDefaultFontFamilies): Dummy imlplementation for ports that
47150        rely on client to set defaults.
47151
47152        * page/Settings.h: Added initializeDefaultFontFamilies().
47153
47154        * page/mac/SettingsMac.mm: Added.
47155        (WebCore::defaultFontFamilyDictionary):
47156        (WebCore::Settings::initializeDefaultFontFamilies):
47157        Load defaults from a plist file inside WebCore framework.
47158
471592012-04-11  Antti Koivisto  <antti@apple.com>
47160
47161        Crash in CSSStyleSheet::deleteRule
47162        https://bugs.webkit.org/show_bug.cgi?id=83708
47163
47164        Reviewed by Andreas Kling.
47165        
47166        Andreas spotted that the wrapper needs to be null checked before calling setParentStyleSheet(0).
47167
47168        Test: fast/css/delete-rule-crash.html
47169
47170        * css/CSSStyleSheet.cpp:
47171        (WebCore::CSSStyleSheet::deleteRule):
47172
471732012-04-11  Adam Klein  <adamk@chromium.org>
47174
47175        [MutationObservers] Setting an attributeFilter should filter out all namespaced attribute mutations
47176        https://bugs.webkit.org/show_bug.cgi?id=83706
47177
47178        Reviewed by Ryosuke Niwa.
47179
47180        The patch amounts to plumbing QualifiedName all the way down to shouldReceiveMutationFrom
47181        as it now needs to know about namespaceURI as well as localName.
47182
47183        This change is coming soon to the DOM4 spec, see
47184        https://www.w3.org/Bugs/Public/show_bug.cgi?id=16563 for more discussion.
47185
47186        * dom/MutationObserverInterestGroup.cpp:
47187        (WebCore::MutationObserverInterestGroup::createIfNeeded):
47188        * dom/MutationObserverInterestGroup.h:
47189        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
47190        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
47191        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
47192        (MutationObserverInterestGroup):
47193        * dom/MutationObserverRegistration.cpp:
47194        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
47195        * dom/MutationObserverRegistration.h:
47196        (WebCore):
47197        (MutationObserverRegistration):
47198        * dom/Node.cpp:
47199        (WebCore::Node::collectMatchingObserversForMutation):
47200        (WebCore::Node::getRegisteredMutationObserversOfType):
47201        * dom/Node.h:
47202        (Node):
47203
472042012-04-11  Wei James  <james.wei@intel.com>
47205
47206        add stereo source support in EqualPowerPanner
47207        https://bugs.webkit.org/show_bug.cgi?id=81092
47208
47209        Reviewed by Chris Rogers.
47210
47211        Test: webaudio/panner-equalpower-stereo.html
47212
47213        * platform/audio/EqualPowerPanner.cpp:
47214        (WebCore::EqualPowerPanner::pan):
47215
472162012-04-11  Erik Arvidsson  <arv@chromium.org>
47217
47218        StyleElement ownerNode is not cleared correctly
47219        https://bugs.webkit.org/show_bug.cgi?id=83696
47220
47221        Reviewed by Antti Koivisto.
47222
47223        When the css text changes in such a way that we remove the sheet of a style element or a link[rel=stylesheet]
47224        element we need to ensure that the ownerNode of the sheet is cleared. If we don't do this and there is a
47225        wrapper for the sheet the sheet is kept alive but the ownerNode of the sheet may point to a deleted node.
47226
47227        Tests: fast/dom/StyleSheet/detached-sheet-owner-node-link.html
47228               fast/dom/StyleSheet/detached-sheet-owner-node.html
47229
47230        * dom/StyleElement.cpp:
47231        (WebCore::StyleElement::removedFromDocument):
47232        (WebCore::StyleElement::clearSheet):
47233        (WebCore):
47234        (WebCore::StyleElement::createSheet):
47235        * dom/StyleElement.h:
47236        (StyleElement):
47237        * html/HTMLLinkElement.cpp:
47238        (WebCore::HTMLLinkElement::process):
47239        (WebCore::HTMLLinkElement::clearSheet):
47240        (WebCore):
47241        * html/HTMLLinkElement.h:
47242        (HTMLLinkElement):
47243
472442012-04-11  David Hyatt  <hyatt@apple.com>
47245
47246        https://bugs.webkit.org/show_bug.cgi?id=83614
47247        <rdar://problem/11177351>
47248        
47249        REGRESSION: Table on wikipedia overlaps float on right hand side.
47250        
47251        Revise how auto margins are resolved so that for objects that avoid floats, the available line
47252        width is always used instead of the overall containing block width. computeLogicalWidth now
47253        always properly computes inline margins (based off the object's current logicalTop() position)
47254        and so the code in computeStartPositionDeltaForChildAvoidingFloats that recomputes inline
47255        direction margins can now be removed.
47256        
47257        Reviewed by Dan Bernstein.
47258
47259        Added new test in fast/block/float.
47260
47261        * rendering/RenderBlock.cpp:
47262        (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
47263        (WebCore::RenderBlock::determineLogicalLeftPositionForChild):
47264        * rendering/RenderBlock.h:
47265        (RenderBlock):
47266        * rendering/RenderBox.cpp:
47267        (WebCore::RenderBox::containingBlockAvailableLineWidthInRegion):
47268        (WebCore):
47269        (WebCore::RenderBox::computeLogicalWidthInRegion):
47270        (WebCore::RenderBox::renderBoxRegionInfo):
47271        (WebCore::RenderBox::shrinkToAvoidFloats):
47272        * rendering/RenderBox.h:
47273        (RenderBox):
47274        * rendering/RenderTable.cpp:
47275        (WebCore::RenderTable::computeLogicalWidth):
47276
472772012-04-11  Adrienne Walker  <enne@google.com>
47278
47279        Fix regression where a clip style change did not update layer sizes
47280        https://bugs.webkit.org/show_bug.cgi?id=82990
47281
47282        Reviewed by Simon Fraser.
47283
47284        After r111456, the size of composited layers also used clip, whereas
47285        it previously had only used overflow. Because of this, when clip
47286        changes on a render layer, it needs to recalculate its layer tree.
47287
47288        Test: compositing/clip-change.html
47289
47290        * rendering/RenderLayer.cpp:
47291        (WebCore::RenderLayer::styleChanged):
47292
472932012-04-11  Antti Koivisto  <antti@apple.com>
47294
47295        V8 bindings are polluting WebCore namespace with overly generic FooInternal namespaces
47296        https://bugs.webkit.org/show_bug.cgi?id=83699
47297
47298        Reviewed by Adam Barth.
47299
47300        Call them FooV8Internal instead.
47301
47302        * bindings/scripts/CodeGeneratorV8.pm:
47303        (GetFunctionTemplateCallbackName):
47304        (GenerateSingleBatchedAttribute):
47305        (GenerateImplementation):
47306
473072012-04-11  James Robinson  <jamesr@chromium.org>
47308
47309        [chromium] Add OVERRIDE annotations for cc animation-related interfaces
47310        https://bugs.webkit.org/show_bug.cgi?id=83650
47311
47312        Reviewed by Daniel Bates.
47313
47314        This adds OVERRIDE annotations to the implementations of the following interfaces:
47315        - CCAnimationCurve
47316        - CCFloatAnimationCurve
47317        - CCLayerAnimationControllerClient
47318        - CCTransformAnimationCurve
47319
47320        * platform/graphics/chromium/LayerChromium.h:
47321        * platform/graphics/chromium/cc/CCTimingFunction.h:
47322        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
47323        (CCKeyframedFloatAnimationCurve):
47324        (CCKeyframedTransformAnimationCurve):
47325        * platform/graphics/chromium/cc/CCLayerImpl.h:
47326
473272012-04-11  Philip Rogers  <pdr@google.com>
47328
47329        Fix bug where stroke's bounding box was clipped
47330        https://bugs.webkit.org/show_bug.cgi?id=83651
47331
47332        Reviewed by Dirk Schulze.
47333
47334        This change contains two fixes for one bug:
47335        1) FloatRect::contains contained a nasty mistake where
47336           maxy() < y() was compared instead of maxy() < point.y().
47337        2) RenderSVGShape::strokeContains was depending on its internal
47338           m_strokeAndMarkerBoundingBox instead of calling the virtual
47339           method strokeBoundingBox(). This change switches to using
47340           strokeBoundingBox().
47341
47342        Test: svg/hittest/svg-ellipse-rect-stroke.xhtml
47343
47344        * platform/graphics/FloatRect.cpp:
47345        (WebCore::FloatRect::contains):
47346        * rendering/svg/RenderSVGShape.cpp:
47347        (WebCore::RenderSVGShape::strokeContains):
47348
473492012-04-11  Kentaro Hara  <haraken@chromium.org>
47350
47351        Enable the [Supplemental] IDL on BlackBerry
47352        https://bugs.webkit.org/show_bug.cgi?id=75413
47353
47354        Reviewed by Rob Buis.
47355
47356        This patch enables the [Supplemental] IDL on BlackBerry by changing the build
47357        flow of BlackBerry as follows.
47358
47359        - Previous build flow:
47360            foreach $idl (all IDL files) {
47361                generate-bindings.pl depends on $idl;
47362                generate-bindings.pl reads $idl;
47363                generate-bindings.pl generates .h and .cpp files for $idl;
47364            }
47365
47366        - New build flow (See the discussions in bug 72138 for more details):
47367            preprocess-idls.pl depends on all IDL files;
47368            preprocess-idls.pl reads all IDL files;
47369            preprocess-idls.pl resolves the dependency of [Supplemental=XXXX];
47370            preprocess-idls.pl outputs supplemental_dependency.tmp;
47371            foreach $idl (all IDL files) {
47372                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
47373                generate-bindings.pl reads $idl;
47374                generate-bindings.pl reads supplemental_dependency.tmp;
47375                generate-bindings.pl generates .h and .cpp files for $idl,
47376                    including all attributes in the IDL files that are implementing $idl;
47377            }
47378
47379        Tests: Confirm that build succeeds.
47380               http/tests/websocket/tests/*
47381
47382        * PlatformBlackBerry.cmake: This change is similar to the change we have done for
47383        UseJSC.cmake and UseV8.cmake (bug 75345).
47384
473852012-04-11  Sheriff Bot  <webkit.review.bot@gmail.com>
47386
47387        Unreviewed, rolling out r113872.
47388        http://trac.webkit.org/changeset/113872
47389        https://bugs.webkit.org/show_bug.cgi?id=83703
47390
47391        broke chromium win/mac builds (Requested by simonjam on
47392        #webkit).
47393
47394        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
47395        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
47396        (WebCore::CCHeadsUpDisplay::initializeFonts):
47397        (WebCore::CCHeadsUpDisplay::onFrameBegin):
47398        (WebCore::CCHeadsUpDisplay::drawHudContents):
47399        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
47400        (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
47401        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
47402        (CCHeadsUpDisplay):
47403
474042012-04-11  Aaron Colwell  <acolwell@chromium.org>
47405
47406        Remove webkit prefix from Media Source runtime feature name.
47407        https://bugs.webkit.org/show_bug.cgi?id=83633
47408
47409        Reviewed by Adam Barth.
47410
47411        * bindings/generic/RuntimeEnabledFeatures.h:
47412        (WebCore::RuntimeEnabledFeatures::mediaSourceEnabled):
47413        (WebCore::RuntimeEnabledFeatures::setMediaSourceEnabled):
47414        * html/HTMLMediaElement.idl:
47415
474162012-04-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
47417
47418        Single ShareableBitmap revision blacks out WebView on Harmattan
47419        https://bugs.webkit.org/show_bug.cgi?id=83631
47420
47421        When swizzling is not supported in the driver, we need to initialize the texture as RGBA,
47422        and make sure that the manual swizzling only modifies the sub-image.
47423
47424        Rubber stamped by Kenneth Rohde Christiansen.
47425
47426        Covered by existing tests.
47427
47428        * platform/graphics/texmap/TextureMapperGL.cpp:
47429        (WebCore::swizzleBGRAToRGBA):
47430        (WebCore::BitmapTextureGL::didReset):
47431        (WebCore):
47432        (WebCore::BitmapTextureGL::updateContents):
47433
474342012-04-11  Alex Nicolaou  <anicolao@chromium.org>
47435
47436        [chromium] When rendering goes idle, do not count that time against frame rate
47437        https://bugs.webkit.org/show_bug.cgi?id=73454
47438
47439        The FPS counter had a few issues with its reporting. The first
47440        3 swapbuffers are non-blocking and create FPS rates that are
47441        unrealistically high, throwing off the moving averages and
47442        introducing false spikes into the FPS graph. There was also no
47443        way to monitor the smoothness of the animation, or to focus in
47444        on a particular animation or transition.
47445
47446        This patch updates the FPS counter code so that bad data points
47447        are trimmed and not graphed; so that the graph itself is taller
47448        and more legible; so that there is a clear boundary between 40FPS
47449        and better; and to keep statistics on frame rate between
47450        pauses in the activity in the UI so that you can trigger a
47451        transition and read off the average and standard deviation for
47452        that transition to judge it smooth enough or not.
47453
47454
47455        Reviewed by James Robinson.
47456
47457        HUD is not testable in webkit.
47458
47459        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
47460        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
47461        (WebCore::CCHeadsUpDisplay::onFrameBegin):
47462        (WebCore::CCHeadsUpDisplay::drawHudContents):
47463        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
47464        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
47465
474662012-04-11  Adrienne Walker  <enne@google.com>
47467
47468        [chromium] Draw missing layer tile checkerboards as checkerboards
47469        https://bugs.webkit.org/show_bug.cgi?id=83241
47470
47471        Reviewed by James Robinson.
47472
47473        For non-Android platforms, draw missing tile checkerboards as actual
47474        checkerboards. Use a shader to do this so that no texture uploads are
47475        needed. This only happens on the non-composited content host to avoid
47476        having unexpected (or transformed and aliased) checkerboards on other
47477        content layers.
47478
47479        * WebCore.gypi:
47480        * platform/graphics/chromium/LayerChromium.cpp:
47481        (WebCore::LayerChromium::LayerChromium):
47482        (WebCore::LayerChromium::pushPropertiesTo):
47483        * platform/graphics/chromium/LayerChromium.h:
47484        (WebCore::LayerChromium::setDrawCheckerboardForMissingTiles):
47485        (WebCore::LayerChromium::drawCheckerboardForMissingTiles):
47486        (LayerChromium):
47487        * platform/graphics/chromium/LayerRendererChromium.cpp:
47488        (WebCore::LayerRendererChromium::drawQuad):
47489        (WebCore::LayerRendererChromium::drawCheckerboardQuad):
47490        (WebCore):
47491        (WebCore::LayerRendererChromium::checkerboardProgram):
47492        (WebCore::LayerRendererChromium::cleanupSharedObjects):
47493        * platform/graphics/chromium/LayerRendererChromium.h:
47494        (LayerRendererChromium):
47495        * platform/graphics/chromium/ShaderChromium.cpp:
47496        (WebCore::FragmentShaderCheckerboard::FragmentShaderCheckerboard):
47497        (WebCore):
47498        (WebCore::FragmentShaderCheckerboard::init):
47499        (WebCore::FragmentShaderCheckerboard::getShaderString):
47500        * platform/graphics/chromium/ShaderChromium.h:
47501        (FragmentShaderCheckerboard):
47502        (WebCore::FragmentShaderCheckerboard::alphaLocation):
47503        (WebCore::FragmentShaderCheckerboard::texTransformLocation):
47504        (WebCore::FragmentShaderCheckerboard::frequencyLocation):
47505        (WebCore):
47506        * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
47507        (WebCore):
47508        (WebCore::CCCheckerboardDrawQuad::create):
47509        (WebCore::CCCheckerboardDrawQuad::CCCheckerboardDrawQuad):
47510        * platform/graphics/chromium/cc/CCCheckerboardDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCSolidColorLayerImpl.h.
47511        (WebCore):
47512        (CCCheckerboardDrawQuad):
47513        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
47514        (WebCore::CCDrawQuad::toCheckerboardDrawQuad):
47515        (WebCore):
47516        * platform/graphics/chromium/cc/CCDrawQuad.h:
47517        (WebCore):
47518        (CCDrawQuad):
47519        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
47520        (WebCore::CCLayerImpl::CCLayerImpl):
47521        * platform/graphics/chromium/cc/CCLayerImpl.h:
47522        (CCLayerImpl):
47523        (WebCore::CCLayerImpl::setDrawCheckerboardForMissingTiles):
47524        (WebCore::CCLayerImpl::drawCheckerboardForMissingTiles):
47525        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
47526        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
47527        * platform/graphics/chromium/cc/CCRenderPass.cpp:
47528        (WebCore::CCRenderPass::appendQuadsForLayer):
47529        * platform/graphics/chromium/cc/CCRenderPass.h:
47530        (CCRenderPass):
47531        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
47532        (CCScrollbarLayerImpl):
47533        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
47534        (CCSolidColorLayerImpl):
47535        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
47536        (CCTextureLayerImpl):
47537        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
47538        (WebCore::CCTiledLayerImpl::appendQuads):
47539        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
47540        (CCTiledLayerImpl):
47541        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
47542        (CCVideoLayerImpl):
47543
475442012-04-11  Joe Mason  <jmason@rim.com>
47545
47546        [BlackBerry] Update to the thread-safe GuardedPointer API
47547        https://bugs.webkit.org/show_bug.cgi?id=83603
47548
47549        Reviewed by Rob Buis.
47550
47551        RIM PR: 134894
47552        Make the destructors of all objects inheriting GuardedPointerBase protected or
47553        private, and delete them using BlackBerry::Platform::deleteGuardedObject.
47554        Access all GuardedPointers through GuardedPointerLocker. Use GuardedPointerDeleter
47555        to delete LayerCompositingThread to avoid a deadlock.
47556
47557        No new tests, refactor.
47558
47559        Reviewed internally by Yong Li and George Staikos.
47560
47561        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
47562        (WebCore::CookieDatabaseBackingStore::~CookieDatabaseBackingStore):
47563        * platform/blackberry/CookieManager.h:
47564        * platform/graphics/blackberry/LayerCompositingThread.cpp:
47565        * platform/graphics/blackberry/LayerCompositingThread.h:
47566        (LayerCompositingThread):
47567        (WTF::::deref):
47568        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
47569        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
47570
475712012-04-11  Andras Becsi  <andras.becsi@nokia.com>
47572
47573        [Qt] Fix the build on OpenGL ES2 platforms
47574
47575        Unreviewed build fix.
47576
47577        No new tests needed.
47578
47579        * platform/graphics/texmap/TextureMapperGL.cpp:
47580        (WebCore::BitmapTextureGL::updateContents):
47581        Fix typo in TEXMAP_OPENGL_ES_2 define.
47582
475832012-04-11  Ami Fischman  <fischman@chromium.org>
47584
47585        Remove unused WebVideoFrame::Format values
47586        https://bugs.webkit.org/show_bug.cgi?id=83625
47587
47588        Reviewed by Kenneth Russell.
47589
47590        Covered by existing tests.
47591
47592        * platform/graphics/chromium/VideoFrameChromium.h:
47593        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
47594        (WebCore::convertVFCFormatToGC3DFormat):
47595
475962012-04-11  Pavel Feldman  <pfeldman@chromium.org>
47597
47598        Web Inspector: extracting NetworkRequest from Resource (step 1)
47599        https://bugs.webkit.org/show_bug.cgi?id=83684
47600
47601        Reviewed by Yury Semikhatsky.
47602
47603        Meta bug: https://bugs.webkit.org/show_bug.cgi?id=61363.
47604        In this step, NetworkRequest is introduced. It temporarily inherits from
47605        the Resource, but all the call sites are now referring to it as to request.
47606
47607        * WebCore.gypi:
47608        * WebCore.vcproj/WebCore.vcproj:
47609        * inspector/compile-front-end.py:
47610        * inspector/front-end/ApplicationCacheItemsView.js:
47611        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
47612        * inspector/front-end/AuditLauncherView.js:
47613        (WebInspector.AuditLauncherView):
47614        (WebInspector.AuditLauncherView.prototype._onRequestStarted):
47615        (WebInspector.AuditLauncherView.prototype._onRequestFinished):
47616        * inspector/front-end/AuditRules.js:
47617        (WebInspector.AuditRules.getDomainToResourcesMap):
47618        (WebInspector.AuditRules.GzipRule.prototype.doRun):
47619        (WebInspector.AuditRules.GzipRule.prototype._isCompressed):
47620        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
47621        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
47622        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
47623        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
47624        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
47625        (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
47626        (WebInspector.AuditRules.CacheControlRule.prototype.handleNonCacheableResources):
47627        (WebInspector.AuditRules.CacheControlRule.prototype._cacheableAndNonCacheableResources):
47628        (WebInspector.AuditRules.CacheControlRule.prototype.execCheck):
47629        (WebInspector.AuditRules.CacheControlRule.prototype.freshnessLifetimeGreaterThan):
47630        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeader):
47631        (WebInspector.AuditRules.CacheControlRule.prototype.hasResponseHeader):
47632        (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
47633        (WebInspector.AuditRules.CacheControlRule.prototype.isPubliclyCacheable):
47634        (WebInspector.AuditRules.CacheControlRule.prototype.responseHeaderMatch):
47635        (WebInspector.AuditRules.CacheControlRule.prototype.hasExplicitExpiration):
47636        (WebInspector.AuditRules.CacheControlRule.prototype._isExplicitlyNonCacheable):
47637        (WebInspector.AuditRules.CacheControlRule.prototype.isCacheableResource):
47638        (WebInspector.AuditRules.BrowserCacheControlRule.prototype.handleNonCacheableResources):
47639        (WebInspector.AuditRules.BrowserCacheControlRule.prototype.runChecks):
47640        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._missingExpirationCheck):
47641        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._varyCheck):
47642        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneMonthExpirationCheck):
47643        (WebInspector.AuditRules.BrowserCacheControlRule.prototype._oneYearExpirationCheck):
47644        (WebInspector.AuditRules.ProxyCacheControlRule.prototype.runChecks):
47645        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._questionMarkCheck):
47646        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._publicCachingCheck):
47647        (WebInspector.AuditRules.ProxyCacheControlRule.prototype._setCookieCacheableCheck):
47648        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
47649        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
47650        (WebInspector.AuditRules.CookieRuleBase.prototype.mapResourceCookies):
47651        (WebInspector.AuditRules.CookieRuleBase.prototype._callbackForResourceCookiePairs):
47652        (WebInspector.AuditRules.CookieSizeRule.prototype.processCookies):
47653        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
47654        (WebInspector.AuditRules.StaticCookielessRule.prototype._collectorCallback):
47655        * inspector/front-end/AuditsPanel.js:
47656        (WebInspector.AuditsPanel.prototype._executeAudit):
47657        (WebInspector.AuditCategory.prototype.run):
47658        (WebInspector.AuditRule.prototype.run):
47659        (WebInspector.AuditRule.prototype.doRun):
47660        * inspector/front-end/ConsoleMessage.js:
47661        * inspector/front-end/ConsoleModel.js:
47662        (WebInspector.ConsoleDispatcher.prototype.messageAdded):
47663        * inspector/front-end/ContentProviders.js:
47664        (WebInspector.ResourceContentProvider):
47665        (WebInspector.ResourceContentProvider.prototype.requestContent):
47666        (WebInspector.ResourceContentProvider.prototype.searchInContent):
47667        * inspector/front-end/DebuggerPresentationModel.js:
47668        * inspector/front-end/ExtensionServer.js:
47669        (WebInspector.ExtensionServer.prototype._onGetHAR):
47670        (WebInspector.ExtensionServer.prototype._notifyRequestFinished):
47671        * inspector/front-end/HAREntry.js:
47672        (WebInspector.HAREntry):
47673        (WebInspector.HAREntry.prototype.build):
47674        (WebInspector.HAREntry.prototype._buildRequest):
47675        (WebInspector.HAREntry.prototype._buildResponse):
47676        (WebInspector.HAREntry.prototype._buildContent):
47677        (WebInspector.HAREntry.prototype._buildTimings):
47678        (WebInspector.HAREntry.prototype._buildPostData):
47679        (WebInspector.HAREntry.prototype._buildCookie):
47680        (WebInspector.HAREntry.prototype._interval):
47681        (WebInspector.HAREntry.prototype.get requestBodySize):
47682        (WebInspector.HAREntry.prototype.get responseBodySize):
47683        (WebInspector.HAREntry.prototype.get responseCompression):
47684        (WebInspector.HARLog):
47685        (WebInspector.HARLog.prototype.build):
47686        (WebInspector.HARLog.prototype._buildPages):
47687        (WebInspector.HARLog.prototype._convertResource):
47688        * inspector/front-end/NetworkItemView.js:
47689        (WebInspector.NetworkItemView):
47690        * inspector/front-end/NetworkLog.js:
47691        (WebInspector.NetworkLog):
47692        (WebInspector.NetworkLog.prototype.get requests):
47693        (WebInspector.NetworkLog.prototype.pageLoadForRequest):
47694        (WebInspector.NetworkLog.prototype._onMainFrameNavigated):
47695        (WebInspector.NetworkLog.prototype._onRequestStarted):
47696        (WebInspector.NetworkLog.prototype._onLoad):
47697        (WebInspector.PageLoad):
47698        * inspector/front-end/NetworkManager.js:
47699        (WebInspector.NetworkManager.get this):
47700        (WebInspector.NetworkManager.get NetworkAgent):
47701        (WebInspector.NetworkManager):
47702        (WebInspector.NetworkManager.prototype.inflightRequestForURL):
47703        (WebInspector.NetworkDispatcher):
47704        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithRequest):
47705        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithResponse):
47706        (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
47707        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequestWithCachedResource):
47708        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
47709        (WebInspector.NetworkDispatcher.prototype.requestServedFromCache):
47710        (WebInspector.NetworkDispatcher.prototype.responseReceived):
47711        (WebInspector.NetworkDispatcher.prototype.dataReceived):
47712        (WebInspector.NetworkDispatcher.prototype.loadingFinished):
47713        (WebInspector.NetworkDispatcher.prototype.loadingFailed):
47714        (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
47715        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
47716        (WebInspector.NetworkDispatcher.prototype.webSocketWillSendHandshakeRequest):
47717        (WebInspector.NetworkDispatcher.prototype.webSocketHandshakeResponseReceived):
47718        (WebInspector.NetworkDispatcher.prototype.webSocketClosed):
47719        (WebInspector.NetworkDispatcher.prototype._appendRedirect):
47720        (WebInspector.NetworkDispatcher.prototype._startNetworkRequest):
47721        (WebInspector.NetworkDispatcher.prototype._updateNetworkRequest):
47722        (WebInspector.NetworkDispatcher.prototype._finishNetworkRequest):
47723        (WebInspector.NetworkDispatcher.prototype._dispatchEventToListeners):
47724        (WebInspector.NetworkDispatcher.prototype._createNetworkRequest):
47725        (get WebInspector):
47726        * inspector/front-end/NetworkPanel.js:
47727        (WebInspector.NetworkLogView.prototype._initializeView):
47728        (WebInspector.NetworkLogView.prototype.get statusBarItems):
47729        (WebInspector.NetworkLogView.prototype._createSortingFunctions):
47730        (WebInspector.NetworkLogView.prototype._updateSummaryBar):
47731        (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
47732        (WebInspector.NetworkLogView.prototype._invalidateAllItems):
47733        (WebInspector.NetworkLogView.prototype._requestGridNode):
47734        (WebInspector.NetworkLogView.prototype._createRequestGridNode):
47735        (WebInspector.NetworkLogView.prototype._onLoadEventFired):
47736        (WebInspector.NetworkLogView.prototype._domContentLoadedEventFired):
47737        (WebInspector.NetworkLogView.prototype.refresh):
47738        (WebInspector.NetworkLogView.prototype._reset):
47739        (WebInspector.NetworkLogView.prototype.get requests):
47740        (WebInspector.NetworkLogView.prototype.requestById):
47741        (WebInspector.NetworkLogView.prototype._onRequestStarted):
47742        (WebInspector.NetworkLogView.prototype._appendRequest):
47743        (WebInspector.NetworkLogView.prototype._onRequestUpdated):
47744        (WebInspector.NetworkLogView.prototype._refreshRequest):
47745        (WebInspector.NetworkLogView.prototype._mainFrameNavigated):
47746        (WebInspector.NetworkLogView.prototype.get _setLargerRequests):
47747        (WebInspector.NetworkLogView.prototype._getPopoverAnchor):
47748        (WebInspector.NetworkLogView.prototype._showPopover):
47749        (WebInspector.NetworkLogView.prototype._contextMenu):
47750        (WebInspector.NetworkLogView.prototype._copyAll):
47751        (WebInspector.NetworkLogView.prototype._copyRequest):
47752        (WebInspector.NetworkLogView.prototype._copyLocation):
47753        (WebInspector.NetworkLogView.prototype._copyRequestHeaders):
47754        (WebInspector.NetworkLogView.prototype._copyResponseHeaders):
47755        (WebInspector.NetworkLogView.prototype._exportAll):
47756        (WebInspector.NetworkLogView.prototype._exportRequest):
47757        (WebInspector.NetworkLogView.prototype._matchRequest):
47758        (WebInspector.NetworkLogView.prototype._clearSearchMatchedList):
47759        (WebInspector.NetworkLogView.prototype._updateSearchMatchedListAfterRequestIdChanged):
47760        (WebInspector.NetworkLogView.prototype._updateHighlightIfMatched):
47761        (WebInspector.NetworkLogView.prototype._highlightNthMatchedRequest):
47762        (WebInspector.NetworkLogView.prototype.performSearch):
47763        (WebInspector.NetworkLogView.prototype.jumpToPreviousSearchResult):
47764        (WebInspector.NetworkLogView.prototype.jumpToNextSearchResult):
47765        (WebInspector.NetworkLogView.prototype.revealAndHighlightRequest):
47766        (WebInspector.NetworkPanel.prototype.handleShortcut):
47767        (WebInspector.NetworkPanel.prototype.get requests):
47768        (WebInspector.NetworkPanel.prototype.requestById):
47769        (WebInspector.NetworkPanel.prototype._requestByAnchor):
47770        (WebInspector.NetworkPanel.prototype.canShowAnchorLocation):
47771        (WebInspector.NetworkPanel.prototype.showAnchorLocation):
47772        (WebInspector.NetworkPanel.prototype.revealAndHighlightRequest):
47773        (WebInspector.NetworkPanel.prototype._onViewCleared):
47774        (WebInspector.NetworkPanel.prototype._onRequestSelected):
47775        (WebInspector.NetworkPanel.prototype._showRequest):
47776        (WebInspector.NetworkPanel.prototype._closeVisibleRequest):
47777        (WebInspector.NetworkPanel.prototype._toggleGridMode):
47778        (WebInspector.NetworkPanel.prototype._toggleViewingRequestMode):
47779        (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphPercentages):
47780        (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
47781        (WebInspector.NetworkTimeCalculator.prototype.updateBoundaries):
47782        (WebInspector.NetworkTimeCalculator.prototype._lowerBound):
47783        (WebInspector.NetworkTimeCalculator.prototype._upperBound):
47784        (WebInspector.NetworkTransferTimeCalculator.prototype._lowerBound):
47785        (WebInspector.NetworkTransferTimeCalculator.prototype._upperBound):
47786        (WebInspector.NetworkTransferDurationCalculator.prototype._upperBound):
47787        (WebInspector.NetworkDataGridNode):
47788        (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
47789        (WebInspector.NetworkDataGridNode.prototype.select):
47790        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
47791        (WebInspector.NetworkDataGridNode.prototype.get selectable):
47792        (WebInspector.NetworkDataGridNode.prototype._createTimelineCell):
47793        (WebInspector.NetworkDataGridNode.prototype.refreshRequest):
47794        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
47795        (WebInspector.NetworkDataGridNode.prototype._fileName):
47796        (WebInspector.NetworkDataGridNode.prototype._refreshStatusCell):
47797        (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
47798        (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
47799        (WebInspector.NetworkDataGridNode.prototype._refreshSizeCell):
47800        (WebInspector.NetworkDataGridNode.prototype._refreshTimeCell):
47801        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
47802        (WebInspector.NetworkDataGridNode.NameComparator):
47803        (WebInspector.NetworkDataGridNode.SizeComparator):
47804        (WebInspector.NetworkDataGridNode.InitiatorComparator):
47805        (WebInspector.NetworkDataGridNode.RequestPropertyComparator):
47806        * inspector/front-end/NetworkRequest.js: Added.
47807        (WebInspector.NetworkRequest):
47808        * inspector/front-end/RawSourceCode.js:
47809        (WebInspector.RawSourceCode):
47810        (WebInspector.RawSourceCode.prototype._requestFinished):
47811        (WebInspector.RawSourceCode.prototype._createContentProvider):
47812        * inspector/front-end/Resource.js:
47813        (WebInspector.Resource):
47814        (WebInspector.Resource.displayName):
47815        (WebInspector.Resource.prototype.get request):
47816        (WebInspector.Resource.prototype.set finished):
47817        (WebInspector.Resource.prototype.set timing):
47818        (WebInspector.Resource.prototype.set requestHeaders):
47819        (WebInspector.Resource.prototype.set requestHeadersText):
47820        (WebInspector.Resource.prototype.set responseHeaders):
47821        (WebInspector.Resource.prototype.set responseHeadersText):
47822        (WebInspector.Resource.prototype.requestContent):
47823        * inspector/front-end/ResourceCookiesView.js:
47824        (WebInspector.ResourceCookiesView):
47825        (WebInspector.ResourceCookiesView.prototype.get _gotCookies):
47826        (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
47827        * inspector/front-end/ResourceHeadersView.js:
47828        (WebInspector.ResourceHeadersView):
47829        (WebInspector.ResourceHeadersView.prototype._refreshURL):
47830        (WebInspector.ResourceHeadersView.prototype._refreshQueryString):
47831        (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
47832        (WebInspector.ResourceHeadersView.prototype._refreshFormData):
47833        (WebInspector.ResourceHeadersView.prototype._refreshRequestHeaders):
47834        (WebInspector.ResourceHeadersView.prototype._refreshResponseHeaders):
47835        (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
47836        * inspector/front-end/ResourceScriptMapping.js:
47837        (WebInspector.ResourceScriptMapping.prototype.addScript):
47838        * inspector/front-end/ResourceTimingView.js:
47839        (WebInspector.ResourceTimingView):
47840        (WebInspector.ResourceTimingView.prototype.wasShown):
47841        (WebInspector.ResourceTimingView.prototype._refresh):
47842        (WebInspector.ResourceTimingView.createTimingTable):
47843        * inspector/front-end/ResourceTreeModel.js:
47844        (WebInspector.ResourceTreeModel):
47845        (WebInspector.ResourceTreeModel.prototype._frontendReused):
47846        (WebInspector.ResourceTreeModel.prototype._onRequestUpdated):
47847        (WebInspector.ResourceTreeModel.prototype._onRequestUpdateDropped):
47848        (WebInspector.ResourceTreeModel.prototype._createResource):
47849        (WebInspector.ResourceTreeFrame):
47850        (WebInspector.ResourceTreeFrame.prototype._addRequest):
47851        * inspector/front-end/ResourceUtils.js:
47852        * inspector/front-end/ResourcesPanel.js:
47853        (WebInspector.FrameResourceTreeElement.prototype._appendOpenInNetworkPanelAction):
47854        * inspector/front-end/WebKit.qrc:
47855        * inspector/front-end/externs.js:
47856        (WebInspector.networkRequestById):
47857        * inspector/front-end/inspector.html:
47858        * inspector/front-end/inspector.js:
47859        (WebInspector.networkRequestById):
47860        (WebInspector.openRequestInNetworkPanel):
47861
478622012-04-11  Pavel Feldman  <pfeldman@chromium.org>
47863
47864        Web Inspector: fix category -> type refactoring implications.
47865        https://bugs.webkit.org/show_bug.cgi?id=83680
47866
47867        Reviewed by Yury Semikhatsky.
47868
47869        We are now using type identifiers (singulars) as opposed to category identifier (plurals) in the style.
47870
47871        * inspector/front-end/NetworkPanel.js:
47872        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems.createFilterElement):
47873        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
47874        (WebInspector.NetworkLogView.prototype._showCategory):
47875        (WebInspector.NetworkLogView.prototype._hideCategory):
47876        (WebInspector.NetworkLogView.prototype._filter):
47877        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
47878        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
47879        * inspector/front-end/ResourcesPanel.js:
47880        (WebInspector.FrameResourceTreeElement):
47881        (WebInspector.ResourceRevisionTreeElement):
47882        * inspector/front-end/networkLogView.css:
47883        (.network-log-grid.data-grid .network-type-script .icon):
47884        (.network-log-grid.data-grid.small .network-type-script .icon):
47885        (.network-log-grid.data-grid .network-type-document .icon):
47886        (.network-log-grid.data-grid.small .network-type-document .icon):
47887        (.network-log-grid.data-grid .network-type-stylesheet .icon):
47888        (.network-log-grid.data-grid.small .network-type-stylesheet .icon):
47889        (.network-log-grid.data-grid .network-type-image .icon):
47890        (.network-log-grid.data-grid.small .network-type-image .icon):
47891        (.network-type-document .network-graph-bar):
47892        (.network-type-document.resource-cached .network-graph-bar):
47893        (.network-type-stylesheet .network-graph-bar):
47894        (.network-type-stylesheet.resource-cached .network-graph-bar):
47895        (.network-type-image .network-graph-bar):
47896        (.network-type-image.resource-cached .network-graph-bar):
47897        (.network-type-font .network-graph-bar):
47898        (.network-type-font.resource-cached .network-graph-bar):
47899        (.network-type-script .network-graph-bar):
47900        (.network-type-script.resource-cached .network-graph-bar):
47901        (.network-type-xhr .network-graph-bar):
47902        (.network-type-xhr.resource-cached .network-graph-bar):
47903        (.network-type-websocket .network-graph-bar):
47904        (.network-type-websocket.resource-cached .network-graph-bar):
47905        (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other):
47906        * inspector/front-end/resourcesPanel.css:
47907        (.resource-sidebar-tree-item.resources-type-image .icon):
47908        (.resources-type-image .image-resource-icon-preview):
47909        (.children.small .resource-sidebar-tree-item.resources-type-image .icon):
47910        (.children.small .resources-type-image .image-resource-icon-preview):
47911        (.resource-sidebar-tree-item.resources-type-document .icon):
47912        (.children.small .resource-sidebar-tree-item.resources-type-document .icon):
47913        (.resource-sidebar-tree-item.resources-type-stylesheet .icon):
47914        (.children.small .resource-sidebar-tree-item.resources-type-stylesheet .icon):
47915        (.resource-sidebar-tree-item.resources-type-font .icon):
47916        (.children.small .resource-sidebar-tree-item.resources-type-font .icon):
47917        (.resource-sidebar-tree-item.resources-type-script .icon):
47918        (.children.small .resource-sidebar-tree-item.resources-type-script .icon):
47919        (.resource-sidebar-tree-item.resources-type-xhr .icon):
47920        (.children.small .resource-sidebar-tree-item.resources-type-xhr .icon):
47921
479222012-04-11   Arko Saha  <arko@motorola.com>
47923
47924        Microdata: Implement cache mechanism for HTMLPropertiesCollection.
47925        https://bugs.webkit.org/show_bug.cgi?id=80490
47926
47927        Reviewed by Ryosuke Niwa.
47928
47929        Implemented caching mechanism for HTMLPropertiesCollection.
47930        propertyCache - contains microdata item properties.
47931        itemRefElements - contains sorted microdata item and itemref elements.
47932        propertyNames - contains microdata property names of the elements in the collection.
47933        itemRefElementPosition - store the current position of itemRefElements.
47934        hasItemRefElements - set to ture once we have sorted microdata item and itemref elements list i.e, itemRefElements.
47935        Cache is invalidated only when dom tree modified. Whenever any query is made on HTMLPropertiesCollection,
47936        result is returned from the cache. Earliar we used to calculate properties node list every time a query is made.
47937
47938        * html/HTMLPropertiesCollection.cpp:
47939        (WebCore):
47940        (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
47941        (WebCore::HTMLPropertiesCollection::invalidateCacheIfNeeded):
47942        (WebCore::HTMLPropertiesCollection::updateRefElements): Appends microdata item element and elements which
47943        are added through itemref attribute in itemRefElements (in tree order).
47944        (WebCore::nextNodeWithProperty):
47945        (WebCore::HTMLPropertiesCollection::itemAfter): Takes parent base and previous item property as argument.
47946        Finds the next item property in base.
47947        (WebCore::HTMLPropertiesCollection::calcLength): Calculates the length of properties collection if length
47948        is not available in the cache.
47949        (WebCore::HTMLPropertiesCollection::length):
47950        (WebCore::HTMLPropertiesCollection::firstProperty): Returns the first property in the collection.
47951        (WebCore::HTMLPropertiesCollection::item):
47952        (WebCore::HTMLPropertiesCollection::findProperties): Finds microdata item properties in the base element.
47953        Appends the properties in propertyCache and property names in propertyNames.
47954        (WebCore::HTMLPropertiesCollection::updateNameCache):  It updates the propertyCache and propertyNames if hasNameCache is false.
47955        (WebCore::HTMLPropertiesCollection::names):
47956        (WebCore::HTMLPropertiesCollection::namedItem):
47957        (WebCore::HTMLPropertiesCollection::hasNamedItem):
47958        * html/HTMLPropertiesCollection.h:
47959        (HTMLPropertiesCollection):
47960
479612012-04-10  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
47962
47963        [Qt] Fix issues when using the WebView as ShaderEffectSource
47964        https://bugs.webkit.org/show_bug.cgi?id=83587
47965
47966        Reviewed by Noam Rosenthal.
47967
47968        - Make sure that the bound frame buffer is preserved instead of binding
47969          to the default one
47970        - Accept a "mirrored" flag in beginPainting that we're applying on the
47971          projection matrix just as with internal FBOs
47972
47973        The "flip" logic in createProjectionMatrix has been reversed and renamed to
47974        mirrored so that FBO rendering is considered the special case and not the
47975        other way around just like within Qt.
47976
47977        * platform/graphics/texmap/TextureMapper.h:
47978        (WebCore::TextureMapper::beginPainting):
47979        * platform/graphics/texmap/TextureMapperGL.cpp:
47980        (WebCore::TextureMapperGLData::TextureMapperGLData):
47981        (TextureMapperGLData):
47982        (WebCore::TextureMapperGL::beginPainting):
47983        (WebCore::createProjectionMatrix):
47984        (WebCore::BitmapTextureGL::bind):
47985        (WebCore::TextureMapperGL::bindSurface):
47986        * platform/graphics/texmap/TextureMapperGL.h:
47987
479882012-04-11  Stephen Chenney  <schenney@chromium.org>
47989
47990        Shadow tree TreeScope data is not removed by ContainerNode::removeAllChildren
47991        https://bugs.webkit.org/show_bug.cgi?id=83484
47992
47993        Unreviewed attempted build fix.
47994
47995        * dom/ContainerNodeAlgorithms.h: Adding Document.h include.
47996
479972012-04-11  Luke Macpherson  <macpherson@chromium.org>
47998
47999        Remove unnecessary assignments from CSSParser::parseLinearGradient().
48000        https://bugs.webkit.org/show_bug.cgi?id=83661
48001
48002        Reviewed by Kentaro Hara.
48003
48004        No new tests / code cleanup only.
48005
48006        * css/CSSParser.cpp:
48007        (WebCore::CSSParser::parseLinearGradient):
48008
480092012-04-11  Stephen Chenney  <schenney@chromium.org>
48010
48011        Shadow tree TreeScope data is not removed by ContainerNode::removeAllChildren
48012        https://bugs.webkit.org/show_bug.cgi?id=83484
48013
48014        Reviewed by Hajime Morita.
48015
48016        The ContainerNode::removeAllChildren method does fast and dirty node removal.
48017        As compared to ContainerNode::removeChildren, it does not include the
48018        method to adopt the removed child node into the root document's TreeScope.
48019        Rather, it leaves the existing TreeScope in place. However, the existing
48020        TreeScope may be removed, causing a crash when something prevents the child
48021        node from being deleted immediately. The fix is to modify the code in
48022        ContainerNodeAlgorithms to do the TreeScope adoption.
48023
48024        Could not reproduce crash in layout test.
48025
48026        * dom/ContainerNodeAlgorithms.h:
48027        (Private):
48028        (WebCore::Private::NodeRemovalDispatcher::dispatch):
48029        (WebCore::Private::addChildNodesToDeletionQueue):
48030
480312012-04-11  Yury Semikhatsky  <yurys@chromium.org>
48032
48033        Web Inspector: showing summary view is very slow on a snapshot with thousands of constructors
48034        https://bugs.webkit.org/show_bug.cgi?id=83682
48035
48036        Node content is created only when the node becomes visible in the corresponding view.
48037        This saves a lot of time when openning summary/comparison view of a snapshot
48038        with lots of different classes.
48039
48040        Reviewed by Pavel Feldman.
48041
48042        * inspector/front-end/DetailedHeapshotGridNodes.js:
48043        (WebInspector.HeapSnapshotGridNode.prototype.ensureContentCreated):
48044        (WebInspector.HeapSnapshotLazyGridNode):
48045        (WebInspector.HeapSnapshotLazyGridNode.prototype.ensureContentCreated):
48046        (WebInspector.HeapSnapshotLazyGridNode.prototype.createCells):
48047        (WebInspector.HeapSnapshotConstructorNode):
48048        (WebInspector.HeapSnapshotDiffNode):
48049        * inspector/front-end/DetailedHeapshotView.js:
48050        (WebInspector.HeapSnapshotSortableDataGrid):
48051        (WebInspector.HeapSnapshotSortableDataGrid.prototype.updateVisibleNodes):
48052        (WebInspector.HeapSnapshotSortableDataGrid.prototype.onResize):
48053        (WebInspector.HeapSnapshotSortableDataGrid.prototype._onScroll):
48054        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
48055        (WebInspector.HeapSnapshotConstructorsDataGrid):
48056        (WebInspector.HeapSnapshotDiffDataGrid):
48057        (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
48058        * inspector/front-end/heapProfiler.css:
48059        (.detailed-heapshot-view .data-grid tr:empty):
48060
480612012-04-11  Simon Pena  <spena@igalia.com>
48062
48063        [GTK] media/event-attributes.html fails
48064        https://bugs.webkit.org/show_bug.cgi?id=71662
48065
48066        Reviewed by Philippe Normand.
48067
48068        In MediaPlayerPrivateGStreamer::didEnd, when EOS is reached, don't
48069        synchronize position and duration on regular playback. That is:
48070        synchronize it (and fire the durationChange signal) only on reverse
48071        playback.
48072
48073        This change makes media/event-attributes.html pass. It was
48074        previously failing because an additional durationChange signal was
48075        emitted.
48076
48077        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp: Avoid
48078        sending durationChange signal on regular playback.
48079
480802012-04-11  Andras Becsi  <andras.becsi@nokia.com>
48081
48082        Fix the build with gcc 4.7.0
48083        https://bugs.webkit.org/show_bug.cgi?id=83584
48084
48085        Reviewed by Alexey Proskuryakov.
48086
48087        No new tests needed.
48088
48089        * Target.pri: Disable Werror on the ANGLE code since it has several recurring issues
48090        because older versions of flex (<2.5.35) and bison (<2.5) generate code which
48091        triggers warnings. This generated code is committed on each version update of ANGLE,
48092        and it is very likely that the code is generated with older versions of the mentioned
48093        tools.
48094        * html/HTMLImageElement.cpp:
48095        (WebCore::HTMLImageElement::createForJSConstructor): Fails because of -Werror=extra
48096        * platform/graphics/TiledBackingStoreClient.h: Fails because -Werror=delete-non-virtual-dtor,
48097        gcc requires classes which have virtual methods to have a virtual destructor, if their instances
48098        or the instances of their subclasses are deleted.
48099        (WebCore::TiledBackingStoreClient::~TiledBackingStoreClient):
48100        * platform/graphics/texmap/TextureMapperPlatformLayer.h: Ditto.
48101        (WebCore::TextureMapperPlatformLayer::~TextureMapperPlatformLayer):
48102
481032012-04-11  Kent Tamura  <tkent@chromium.org>
48104
48105        [V8] Calendar Picker: Add a helper function to expose PagePopupClient::setValueAndClosePopup() to JavaScript
48106        https://bugs.webkit.org/show_bug.cgi?id=83561
48107
48108        Reviewed by Adam Barth.
48109
48110        Add ScriptController::installFunctionsForPagePopup(), which add
48111        window.setValueAndClosePopup() for JavaScript code in PagePopup
48112        environment, and the function calls
48113        WebCore::PagePopupClient::setValueAndClosePopup().
48114
48115        This patch introduces Supplement<DOMWindow> object to hold a
48116        PagePopupClient object. It makes keeping a PagePopupClient easier.
48117
48118        * WebCore.gypi: Add DOMWindowPagePopup.{cpp,h}
48119        * bindings/v8/ScriptController.cpp:
48120        (WebCore::setValueAndClosePopupCallback):
48121        (WebCore::ScriptController::installFunctionsForPagePopup):
48122        * bindings/v8/ScriptController.h:
48123        (ScriptController): Add installFunctionsForPagePopup().
48124        * page/DOMWindowPagePopup.cpp: Added.
48125        (WebCore::DOMWindowPagePopup::DOMWindowPagePopup):
48126        (WebCore::DOMWindowPagePopup::supplementName):
48127        Returns "DOMWindowPagePopup" as a key of this Supplement<DOMWindow>.
48128        (WebCore::DOMWindowPagePopup::setValueAndClosePopup):
48129        Gets a DOMWindowPagePopup from the window, then calls PagePopupClient::setValueAndClosePopup().
48130        (WebCore::DOMWindowPagePopup::install):
48131        On-demand creation of DOMWindowPagePopup doesn't work because it
48132        must have a PagePopupClient object. We need to install
48133        DOMWindowPagePopup explicitly.
48134        * page/DOMWindowPagePopup.h: Added.
48135
481362012-04-11  Sadrul Habib Chowdhury  <sadrul@chromium.org>
48137
48138        [chromium] Add Battery Status API support.
48139
48140        Add Battery Status API support to chromium.
48141        https://bugs.webkit.org/show_bug.cgi?id=83284
48142
48143        Reviewed by Adam Barth.
48144
48145        This change is covered by tests in batterystatus/.
48146
48147        * Modules/battery/BatteryController.cpp:
48148        (WebCore::BatteryController::updateBatteryStatus):
48149        (WebCore):
48150        * Modules/battery/BatteryController.h:
48151        (BatteryController):
48152        * Modules/battery/BatteryManager.cpp:
48153        (WebCore::BatteryManager::charging):
48154        (WebCore::BatteryManager::chargingTime):
48155        (WebCore::BatteryManager::dischargingTime):
48156        (WebCore::BatteryManager::level):
48157        * WebCore.gyp/WebCore.gyp:
48158        * WebCore.gypi:
48159
481602012-04-11  Mihnea Ovidenie  <mihnea@adobe.com>
48161
48162        [CSS Regions]Add helper class for flow threads info in RenderView
48163        https://bugs.webkit.org/show_bug.cgi?id=83464
48164
48165        Reviewed by David Hyatt.
48166
48167        This patch creates a new helper class FlowThreadController that will accommodate all the flow thread
48168        related info from RenderView and moves all the data structures/methods from RenderView into this new class.
48169        There is only one FlowThreadController object per RenderView and it can be retrieved using flowThreadController() method from RenderView.
48170        The flow thread controller object is owned by the RenderView and it is created on demand only if there are flowing
48171        threads in the page.
48172
48173        Since there is no change in functionality, there are no new tests added.
48174
48175        * CMakeLists.txt:
48176        * GNUmakefile.list.am:
48177        * Target.pri:
48178        * WebCore.gypi:
48179        * WebCore.vcproj/WebCore.vcproj:
48180        * WebCore.xcodeproj/project.pbxproj:
48181        * dom/Document.cpp:
48182        (WebCore::Document::webkitGetFlowByName):
48183        * dom/NodeRenderingContext.cpp:
48184        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
48185        * rendering/FlowThreadController.cpp: Added.
48186        (WebCore):
48187        (WebCore::FlowThreadController::create):
48188        (WebCore::FlowThreadController::FlowThreadController):
48189        (WebCore::FlowThreadController::~FlowThreadController):
48190        (WebCore::FlowThreadController::ensureRenderFlowThreadWithName):
48191        (WebCore::FlowThreadController::layoutRenderNamedFlowThreads):
48192        * rendering/FlowThreadController.h: Added.
48193        (WebCore):
48194        (FlowThreadController):
48195        (WebCore::FlowThreadController::currentRenderFlowThread):
48196        (WebCore::FlowThreadController::setCurrentRenderFlowThread):
48197        (WebCore::FlowThreadController::isRenderNamedFlowThreadOrderDirty):
48198        (WebCore::FlowThreadController::setIsRenderNamedFlowThreadOrderDirty):
48199        (WebCore::FlowThreadController::renderNamedFlowThreadList):
48200        (WebCore::FlowThreadController::hasRenderNamedFlowThreads):
48201        * rendering/RenderFlowThread.cpp:
48202        (WebCore::CurrentRenderFlowThreadMaintainer::CurrentRenderFlowThreadMaintainer):
48203        (WebCore::CurrentRenderFlowThreadMaintainer::~CurrentRenderFlowThreadMaintainer):
48204        (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
48205        (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
48206        * rendering/RenderNamedFlowThread.cpp:
48207        (WebCore::RenderNamedFlowThread::nextRendererForNode):
48208        (WebCore::RenderNamedFlowThread::previousRendererForNode):
48209        (WebCore::RenderNamedFlowThread::removeRegionFromThread):
48210        (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
48211        (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
48212        * rendering/RenderNamedFlowThread.h:
48213        (RenderNamedFlowThread):
48214        * rendering/RenderObject.cpp:
48215        (WebCore::RenderObject::createObject):
48216        (WebCore::RenderObject::enclosingRenderFlowThread):
48217        (WebCore::RenderObject::willBeDestroyed):
48218        * rendering/RenderTreeAsText.cpp:
48219        (WebCore::writeRenderNamedFlowThreads):
48220        * rendering/RenderView.cpp:
48221        (WebCore::RenderView::RenderView):
48222        (WebCore::RenderView::layout):
48223        (WebCore::RenderView::hasRenderNamedFlowThreads):
48224        (WebCore::RenderView::flowThreadController):
48225        * rendering/RenderView.h:
48226        (WebCore):
48227        (RenderView):
48228
482292012-04-11  Alexander Pavlov  <apavlov@chromium.org>
48230
48231        Web Inspector: [Device Metrics] Implement dimension swapping
48232        https://bugs.webkit.org/show_bug.cgi?id=83676
48233
48234        The change adds a "Swap dimensions" button that swaps the emulated device dimensions to
48235        mimic the device rotation (give that the ORIENTATION_EVENTS feature is disabled in Chromium).
48236
48237        Reviewed by Yury Semikhatsky.
48238
48239        * English.lproj/localizedStrings.js:
48240        * inspector/front-end/SettingsScreen.js:
48241        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement.swapDimensionsClicked):
48242        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):
48243
482442012-04-11  Kent Tamura  <tkent@chromium.org>
48245
48246        Fix compiler warnings for generated CalendarPicker.cpp with VC++
48247        https://bugs.webkit.org/show_bug.cgi?id=83672
48248
48249        Reviewed by Kentaro Hara.
48250
48251        * make-file-arrays.py:
48252        (main): Do not generate literal integers larger than 127 for
48253        members of char arrays. Use '\xHH' instead.
48254
482552012-04-11  Pavel Feldman  <pfeldman@chromium.org>
48256
48257        Web Inspector: fix category -> type refactoring implications.
48258        https://bugs.webkit.org/show_bug.cgi?id=83680
48259
48260        Reviewed by Yury Semikhatsky.
48261
48262        We are now using type identifiers (singulars) as opposed to category identifier (plurals) in the style.
48263
48264        * inspector/front-end/NetworkPanel.js:
48265        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems.createFilterElement):
48266        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
48267        (WebInspector.NetworkLogView.prototype._showCategory):
48268        (WebInspector.NetworkLogView.prototype._hideCategory):
48269        (WebInspector.NetworkLogView.prototype._filter):
48270        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
48271        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
48272        * inspector/front-end/ResourcesPanel.js:
48273        (WebInspector.FrameResourceTreeElement):
48274        (WebInspector.ResourceRevisionTreeElement):
48275        * inspector/front-end/networkLogView.css:
48276        (.network-log-grid.data-grid .network-type-script .icon):
48277        (.network-log-grid.data-grid.small .network-type-script .icon):
48278        (.network-log-grid.data-grid .network-type-document .icon):
48279        (.network-log-grid.data-grid.small .network-type-document .icon):
48280        (.network-log-grid.data-grid .network-type-stylesheet .icon):
48281        (.network-log-grid.data-grid.small .network-type-stylesheet .icon):
48282        (.network-log-grid.data-grid .network-type-image .icon):
48283        (.network-log-grid.data-grid.small .network-type-image .icon):
48284        (.network-type-document .network-graph-bar):
48285        (.network-type-document.resource-cached .network-graph-bar):
48286        (.network-type-stylesheet .network-graph-bar):
48287        (.network-type-stylesheet.resource-cached .network-graph-bar):
48288        (.network-type-image .network-graph-bar):
48289        (.network-type-image.resource-cached .network-graph-bar):
48290        (.network-type-font .network-graph-bar):
48291        (.network-type-font.resource-cached .network-graph-bar):
48292        (.network-type-script .network-graph-bar):
48293        (.network-type-script.resource-cached .network-graph-bar):
48294        (.network-type-xhr .network-graph-bar):
48295        (.network-type-xhr.resource-cached .network-graph-bar):
48296        (.network-type-websocket .network-graph-bar):
48297        (.network-type-websocket.resource-cached .network-graph-bar):
48298        (.network-log-grid.data-grid.filter-other table.data tr.revealed.network-type-other):
48299        * inspector/front-end/resourcesPanel.css:
48300        (.resource-sidebar-tree-item.resources-type-image .icon):
48301        (.resources-type-image .image-resource-icon-preview):
48302        (.children.small .resource-sidebar-tree-item.resources-type-image .icon):
48303        (.children.small .resources-type-image .image-resource-icon-preview):
48304        (.resource-sidebar-tree-item.resources-type-document .icon):
48305        (.children.small .resource-sidebar-tree-item.resources-type-document .icon):
48306        (.resource-sidebar-tree-item.resources-type-stylesheet .icon):
48307        (.children.small .resource-sidebar-tree-item.resources-type-stylesheet .icon):
48308        (.resource-sidebar-tree-item.resources-type-font .icon):
48309        (.children.small .resource-sidebar-tree-item.resources-type-font .icon):
48310        (.resource-sidebar-tree-item.resources-type-script .icon):
48311        (.children.small .resource-sidebar-tree-item.resources-type-script .icon):
48312        (.resource-sidebar-tree-item.resources-type-xhr .icon):
48313        (.children.small .resource-sidebar-tree-item.resources-type-xhr .icon):
48314
483152012-04-11  Noel Gordon  <noel.gordon@gmail.com>
48316
48317        [GTK] ImageBuffer: Canonical mimeType for encoding implies startsWith('image/')
48318        https://bugs.webkit.org/show_bug.cgi?id=83657
48319
48320        Reviewed by Martin Robinson.
48321
48322        Canonical image mimeTypes begin with "image/", and this is tested by an ASSERT
48323        guard in toDataURL(): that checks the WebCore mimeType registry for image-for-
48324        encoding mimeType. There is no need to also test mimeType.startsWith("image/")
48325        because that is a given.
48326
48327        No new tests. Covered by existing fast/canvas/*toDataURL* tests.
48328
48329        * platform/graphics/gtk/ImageBufferGtk.cpp:
48330        (WebCore::ImageBuffer::toDataURL):
48331
483322012-04-10  Carlos Garcia Campos  <cgarcia@igalia.com>
48333
48334        Unreviewed. Fix make distcheck issues.
48335
48336        * GNUmakefile.list.am: Add missing header file.
48337
483382012-04-10  Adrienne Walker  <enne@google.com>
48339
48340        [chromium] Signedness issue with code informing v8 of PatternSkia memory use
48341        https://bugs.webkit.org/show_bug.cgi?id=83642
48342
48343        Reviewed by James Robinson.
48344
48345        The unary negation of size_t is still a size_t, so clamp and cast to
48346        an int instead when adjusting v8 memory limits.
48347
48348        * platform/graphics/Pattern.h:
48349        (Pattern):
48350        * platform/graphics/skia/PatternSkia.cpp:
48351        (WebCore::Pattern::platformPattern):
48352
483532012-04-10  Noel Gordon  <noel.gordon@gmail.com>
48354
48355        [chromium] ImageBuffer minor style fix: remove compound declaration
48356        https://bugs.webkit.org/show_bug.cgi?id=83660
48357
48358        Reviewed by Kent Tamura.
48359
48360        No new tests. Covered by existing fast/canvas/*toDataURL* tests.
48361
48362        * platform/graphics/skia/ImageBufferSkia.cpp:
48363        (WebCore::ImageBuffer::toDataURL):
48364        (WebCore::ImageDataToDataURL):
48365
483662012-04-10  Alexandre Elias  <aelias@google.com>
48367
48368        Add gesture event enums for long-press and pinch
48369        https://bugs.webkit.org/show_bug.cgi?id=83640
48370
48371        Reviewed by James Robinson.
48372
48373        Add new enum values GestureLongPress and GesturePinchBegin/End/Update,
48374        along with no-op default handling.
48375
48376        No new tests. (No-op change.)
48377
48378        * page/EventHandler.cpp:
48379        (WebCore::EventHandler::handleGestureEvent):
48380        * platform/PlatformEvent.h:
48381
483822012-04-10  Abhishek Arya  <inferno@chromium.org>
48383
48384        Crash due to intruding float not removed from next siblings.
48385        https://bugs.webkit.org/show_bug.cgi?id=83301
48386
48387        Reviewed by Eric Seidel.
48388
48389        Test: fast/block/float/intruding-float-not-removed-from-next-sibling-crash.html
48390
48391        markSiblingsWithFloatsForLayout currently only handled overhanging floats and made
48392        checks for those by checking if logicalBottomForFloat > our logicalHeight. We need
48393        to take care of intruding floats as well, since these can intrude into the neighbouring
48394        blocks too. So, generalized the function to check all our next siblings if they contains
48395        that float (one getting removed) and if yes, mark it and all its descendants for layout.
48396        This fixes the crash.
48397
48398        For performance, we change the looping condition to iterate over the next sibling
48399        blocks first and finding which ones can contain floats and then check it against
48400        our floating object list. Currently, it is the other way around and is less
48401        performant due to repeated calls to isRenderBlock(), isFloatingOrPositioned()
48402        and avoidFloats().
48403
48404        * rendering/RenderBlock.cpp:
48405        (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
48406
484072012-04-10  Mike Lawther  <mikelawther@chromium.org>
48408
48409        Prevent fallthrough to keep static analysis tools happy
48410        https://bugs.webkit.org/show_bug.cgi?id=83639
48411
48412        Reviewed by Darin Adler.
48413
48414        No new tests - no new behaviour.
48415
48416        * css/LengthFunctions.cpp:
48417        (WebCore::valueForLength):
48418
484192012-04-10  Julien Chaffraix  <jchaffraix@webkit.org>
48420
48421        Don't expose the intrinsic padding concept to the code outside rendering
48422        https://bugs.webkit.org/show_bug.cgi?id=83380
48423
48424        Reviewed by Eric Seidel.
48425
48426        No new tests, refactoring only.
48427
48428        The current code would expose the concept of intrinsic padding to every
48429        object holding a renderer through an enum on the padding* functions.
48430
48431        This was very fragile as only the class using intrinsic padding should know about
48432        its very existence, the rest of the code shouldn't have to special case for it.
48433        There is one exception: the getComputedStyle logic needs the opposite value
48434        rendering needs. To handle that, we make it more explicit what returns the
48435        computed values vs the rendering values.
48436
48437        * css/CSSComputedStyleDeclaration.cpp:
48438        (WebCore::sizingBox):
48439        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
48440        Updated those functions to use the new computedCSS* functions below.
48441
48442        * rendering/RenderBox.h:
48443        (RenderBox):
48444        (WebCore::RenderBox::computedCSSContentBoxRect):
48445        This is the computed content box. It includes the intrinsic padding.
48446
48447        * rendering/RenderBoxModelObject.cpp:
48448        (WebCore::RenderBoxModelObject::computedCSSPaddingTop):
48449        (WebCore::RenderBoxModelObject::computedCSSPaddingBottom):
48450        (WebCore::RenderBoxModelObject::computedCSSPaddingLeft):
48451        (WebCore::RenderBoxModelObject::computedCSSPaddingRight):
48452        (WebCore::RenderBoxModelObject::computedCSSPaddingBefore):
48453        (WebCore::RenderBoxModelObject::computedCSSPaddingAfter):
48454        (WebCore::RenderBoxModelObject::computedCSSPaddingStart):
48455        (WebCore::RenderBoxModelObject::computedCSSPaddingEnd):
48456        Renamed from padding* as they returned the CSS computed values.
48457
48458        * rendering/RenderBoxModelObject.h:
48459        (RenderBoxModelObject):
48460        Killed the enum paddingOptions!
48461
48462        (WebCore::RenderBoxModelObject::paddingTop):
48463        (WebCore::RenderBoxModelObject::paddingBottom):
48464        (WebCore::RenderBoxModelObject::paddingLeft):
48465        (WebCore::RenderBoxModelObject::paddingRight):
48466        (WebCore::RenderBoxModelObject::paddingBefore):
48467        (WebCore::RenderBoxModelObject::paddingAfter):
48468        (WebCore::RenderBoxModelObject::paddingStart):
48469        (WebCore::RenderBoxModelObject::paddingEnd):
48470        All padding* functions call the computedCSSPadding* ones above.
48471
48472        * rendering/RenderTableCell.cpp:
48473        (WebCore::RenderTableCell::paddingTop):
48474        (WebCore::RenderTableCell::paddingBottom):
48475        (WebCore::RenderTableCell::paddingLeft):
48476        (WebCore::RenderTableCell::paddingRight):
48477        (WebCore::RenderTableCell::paddingBefore):
48478        (WebCore::RenderTableCell::paddingAfter):
48479        Updated these functions after the renaming.
48480
48481        * rendering/RenderTableCell.h:
48482        (RenderTableCell):
48483        Updated the functions signature and decorated them with OVERRIDE.
48484
48485        * rendering/mathml/RenderMathMLBlock.cpp:
48486        (WebCore::RenderMathMLBlock::paddingTop):
48487        (WebCore::RenderMathMLBlock::paddingBottom):
48488        (WebCore::RenderMathMLBlock::paddingLeft):
48489        (WebCore::RenderMathMLBlock::paddingRight):
48490        (WebCore::RenderMathMLBlock::paddingBefore):
48491        (WebCore::RenderMathMLBlock::paddingAfter):
48492        (WebCore::RenderMathMLBlock::paddingStart):
48493        (WebCore::RenderMathMLBlock::paddingEnd):
48494        * rendering/mathml/RenderMathMLBlock.h:
48495        (RenderMathMLBlock):
48496        Updated these functions after the renaming.
48497
48498        * rendering/mathml/RenderMathMLSquareRoot.cpp:
48499        (WebCore::RenderMathMLSquareRoot::paint):
48500        Updated this function to use computeCSSContentBoxRect.location().
48501
485022012-04-10  Lauro Neto  <lauro.neto@openbossa.org>
48503
48504        TextureMapperGL.cpp breaks build with OpenGL ES
48505        https://bugs.webkit.org/show_bug.cgi?id=83622
48506
48507        Reviewed by Noam Rosenthal.
48508
48509        Add !defined(TEXMAP_OPENGL_ES_2) guards as suggested by
48510        No'am Rosenthal.
48511
48512        * platform/graphics/texmap/TextureMapperGL.cpp:
48513        (WebCore::BitmapTextureGL::updateContents):
48514
485152012-04-10  Kent Tamura  <tkent@chromium.org>
48516
48517        Calendar Picker: Initialize CalendarPickerElement::m_popup
48518        https://bugs.webkit.org/show_bug.cgi?id=83656
48519
48520        Reviewed by Hajime Morita.
48521
48522        * html/shadow/CalendarPickerElement.cpp:
48523        (WebCore::CalendarPickerElement::CalendarPickerElement): Set 0 to m_popup.
48524
485252012-04-10  Adam Klein  <adamk@chromium.org>
48526
48527        CodeGeneratorV8 cleanup: eliminate redundant calls to IsRefPtrType
48528        https://bugs.webkit.org/show_bug.cgi?id=83623
48529
48530        Reviewed by Adam Barth.
48531
48532        * bindings/scripts/CodeGeneratorV8.pm:
48533        (GenerateHeader): Always emit toV8(PassRefPtr), as all wrapped types are RefCounted.
48534        (GenerateImplementation): Always emit code for derefObject, as all wrapped types are RefCounted.
48535
485362012-04-10  James Robinson  <jamesr@chromium.org>
48537
48538        [chromium] Add OVERRIDE annotations for cc tree host and proxy interfaces
48539        https://bugs.webkit.org/show_bug.cgi?id=83653
48540
48541        Reviewed by Adrienne Walker.
48542
48543        This adds OVERRIDE annotations to the implementations of the following interfaces:
48544        - CCLayerTreeHostClient
48545        - CCLayerTreeHostImplClient
48546        - CCProxy
48547        - LayerRendererChromiumClient
48548
48549        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
48550        (WebCore):
48551        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
48552        * platform/graphics/chromium/cc/CCProxy.h:
48553        (WebCore):
48554        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
48555        (CCSingleThreadProxy):
48556        * platform/graphics/chromium/cc/CCThreadProxy.h:
48557        (CCThreadProxy):
48558
485592012-04-10  David Grogan  <dgrogan@chromium.org>
48560
48561        Notify observers of WorkerRunLoop stopping before the V8 isolate dies.
48562        https://bugs.webkit.org/show_bug.cgi?id=83104
48563
48564        PlatformSupport::didStopWorkerRunLoop ultimately causes
48565        ~V8AbstractEventListener to call
48566        v8::Local<v8::Object>::New(m_listener) after the V8 isolate has been
48567        disposed, which manifests as a crash in V8.
48568
48569        The current code in trunk runs this at shutdown:
48570        1) removeAllDOMObjects()
48571        2) dispose of V8
48572        3) didStopWorkerRunLoop()  <-- problem
48573
48574        This patch changes the order to be:
48575        1) removeAllDOMObjects()
48576        2) didStopWorkerRunLoop()
48577        3) dispose of V8
48578
48579        We put didStopWorkerRunLoop after removeAllDOMObjects because we don't
48580        want chromium code that runs on a webcore worker to run after it
48581        receives the didStopWorkerRunLoop signal. The destructors of some IDB
48582        objects are run by removeAllDOMObjects, so putting
48583        didStopWorkerRunLoop before removeAllDOMObjects would violate that
48584        constraint.
48585
48586        It's possible that there's a lower layer fix available in V8 or the
48587        bindings.
48588
48589        Reviewed by David Levin.
48590
48591        Test: storage/indexeddb/pending-version-change-on-exit.html
48592
48593        * bindings/v8/WorkerScriptController.cpp:
48594        (WebCore::WorkerScriptController::~WorkerScriptController):
48595        New location of didStopWorkerRunLoop. removeAllDOMObjects and V8
48596        disposal are called here, to run something between them it also has
48597        to go here.
48598
48599        * workers/WorkerThread.cpp:
48600        (WebCore::WorkerThread::workerThread): Old location of
48601        didStopWorkerRunLoop.
48602
486032012-04-10  Adam Klein  <adamk@chromium.org>
48604
48605        Break the association between form controls and their owner when the owner leaves the tree
48606        https://bugs.webkit.org/show_bug.cgi?id=81420
48607
48608        Reviewed by Kent Tamura.
48609
48610        When parsing malformed markup, it's possible for a form and a
48611        form-associated element to not be in an ancestor/descendant relationship.
48612        When that form is later removed from the tree, the relationship needs to be updated.
48613
48614        Test: fast/forms/parser-associated-form-removal.html
48615
48616        * html/FormAssociatedElement.cpp:
48617        (WebCore::FormAssociatedElement::FormAssociatedElement):
48618        (WebCore::FormAssociatedElement::formRemovedFromTree): New method called when
48619        by the form when it's being removed: handles either resetting the
48620        owner or storing a bit to optimize away a second walk up the tree.
48621        * html/FormAssociatedElement.h:
48622        (FormAssociatedElement):
48623        * html/HTMLFormElement.cpp:
48624        (WebCore::findRoot): Simple helper method copied from FormAssociatedElement (this should probably live elsewhere).
48625        (WebCore::HTMLFormElement::removedFromTree): Override removedFromTree to notify associated elements of the removal.
48626        * html/HTMLFormElement.h:
48627        (HTMLFormElement):
48628
486292012-04-10  James Robinson  <jamesr@chromium.org>
48630
48631        [chromium] Add OVERRIDE annotations for cc scheduler-related client interfaces
48632        https://bugs.webkit.org/show_bug.cgi?id=83646
48633
48634        Reviewed by Adrienne Walker.
48635
48636        This adds OVERRIDE annotations to the implementations of the following interfaces:
48637        - CCFrameRateControllerClient
48638        - CCSchedulerClient
48639        - CCTimeSource
48640        - CCTimeSourceClient
48641        - CCTimerClient
48642
48643        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
48644        * platform/graphics/chromium/cc/CCFrameRateController.cpp:
48645        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
48646        * platform/graphics/chromium/cc/CCScheduler.h:
48647        (CCScheduler):
48648        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
48649        * platform/graphics/chromium/cc/CCThreadProxy.h:
48650        (CCThreadProxy):
48651
486522012-04-10  Kent Tamura  <tkent@chromium.org>
48653
48654        Add a function to set empty clients to a PageClients
48655        https://bugs.webkit.org/show_bug.cgi?id=83555
48656
48657        Reviewed by Adam Barth.
48658
48659        No new tests because of no behavior change.
48660
48661        * CMakeLists.txt: Add EmptyClients.cpp.
48662        * GNUmakefile.list.am: ditto.
48663        * Target.pri: ditto.
48664        * WebCore.gypi: ditto.
48665        * WebCore.vcproj/WebCore.vcproj: ditto.
48666        * WebCore.xcodeproj/project.pbxproj: ditto.
48667
48668        * loader/EmptyClients.cpp: Added.
48669        (WebCore::fillWithEmptyClients): Some code was moved from SVGImage::dataChanged().
48670        * loader/EmptyClients.h: Add the declaration of fillWithEmptyClients().
48671        * svg/graphics/SVGImage.cpp:
48672        (WebCore::SVGImage::dataChanged): Moved some code to fillWithEmptyClients().
48673
486742012-04-10  James Robinson  <jamesr@chromium.org>
48675
48676        [chromium] Fold LayerChromium::updateCompositorResources into main update
48677        https://bugs.webkit.org/show_bug.cgi?id=83530
48678
48679        Reviewed by Adrienne Walker.
48680
48681        We used to update layer contents in two phases. The first, called paintContentsIfDirty() /
48682        idlePaintContentsIfDirty(), ran on the main WebKit thread and took care of any main-thread work - primarily
48683        WebCore painting as the name implies. The second, called updateCompositorResources(), ran on the compositor
48684        thread with the main thread blocked and took care of any actions that required direct access to the compositor's
48685        context - such as texture uploads into compositor-managed textures. Now that all compositor texture operations
48686        are queued on a CCTextureUpdater, the compositor can take care of these operations on the correct thread at the
48687        right time without needing layer-specific logic.
48688
48689        This folds both functions into one function called LayerChromium::update() (and idleUpdate() for idle
48690        prepainting) and adds a CCTextureUpdater reference for queuing up texture operations.
48691
48692        The CCProxy is responsible for the lifetime of the CCTextureUpdater. In the threaded proxy, the updater is
48693        tied to the lifetime of the beginFrame operation. Specifically it's constructed on the impl thread when the
48694        beginFrame message is generated, is accessed by reference on the main thread during the commit, and then
48695        destroyed by the proxy when the commit is complete. CCTextureUpdater::update should only be called on the impl
48696        thread by the proxy. In the future, it might be worth exposing a more limited interface to layers.
48697
48698        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
48699        (WebCore::Canvas2DLayerChromium::update):
48700        * platform/graphics/chromium/Canvas2DLayerChromium.h:
48701        (Canvas2DLayerChromium):
48702        * platform/graphics/chromium/ContentLayerChromium.cpp:
48703        (WebCore::ContentLayerChromium::update):
48704        (WebCore::ContentLayerChromium::idleUpdate):
48705        * platform/graphics/chromium/ContentLayerChromium.h:
48706        (ContentLayerChromium):
48707        * platform/graphics/chromium/ImageLayerChromium.cpp:
48708        (WebCore::ImageLayerTextureUpdater::updateLayerRect):
48709        (WebCore::ImageLayerChromium::update):
48710        * platform/graphics/chromium/ImageLayerChromium.h:
48711        (ImageLayerChromium):
48712        * platform/graphics/chromium/LayerChromium.h:
48713        (WebCore::LayerChromium::update):
48714        (WebCore::LayerChromium::idleUpdate):
48715        * platform/graphics/chromium/TiledLayerChromium.cpp:
48716        (WebCore::UpdatableTile::isDirty):
48717        (WebCore::UpdatableTile::copyAndClearDirty):
48718        (WebCore::UpdatableTile::isDirtyForCurrentFrame):
48719        (UpdatableTile):
48720        (WebCore::UpdatableTile::UpdatableTile):
48721        (WebCore::TiledLayerChromium::TiledLayerChromium):
48722        (WebCore::TiledLayerChromium::createTile):
48723        (WebCore::TiledLayerChromium::invalidateRect):
48724        (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
48725        (WebCore::TiledLayerChromium::updateTiles):
48726        (WebCore::TiledLayerChromium::reserveTextures):
48727        (WebCore::TiledLayerChromium::resetUpdateState):
48728        (WebCore::TiledLayerChromium::updateLayerRect):
48729        (WebCore::TiledLayerChromium::idleUpdateLayerRect):
48730        (WebCore::TiledLayerChromium::needsIdlePaint):
48731        * platform/graphics/chromium/TiledLayerChromium.h:
48732        (TiledLayerChromium):
48733        * platform/graphics/chromium/WebGLLayerChromium.cpp:
48734        (WebCore::WebGLLayerChromium::update):
48735        * platform/graphics/chromium/WebGLLayerChromium.h:
48736        (WebGLLayerChromium):
48737        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
48738        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
48739        (WebCore::CCLayerTreeHost::commitComplete):
48740        (WebCore::CCLayerTreeHost::updateLayers):
48741        (WebCore::CCLayerTreeHost::reserveTextures):
48742        (WebCore::CCLayerTreeHost::update):
48743        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
48744        (WebCore::CCLayerTreeHost::paintLayerContents):
48745        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
48746        (CCLayerTreeHost):
48747        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
48748        (WebCore::CCSingleThreadProxy::doCommit):
48749        (WebCore::CCSingleThreadProxy::commitIfNeeded):
48750        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
48751        (CCSingleThreadProxy):
48752        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
48753        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
48754        (WebCore::CCThreadProxy::beginFrame):
48755        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
48756        (WebCore::CCThreadProxy::scheduledActionCommit):
48757        * platform/graphics/chromium/cc/CCThreadProxy.h:
48758        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
48759        (BeginFrameAndCommitState):
48760
487612012-04-10  Adam Klein  <adamk@chromium.org>
48762
48763        Store V8 SVGElementInstance wrappers in the regular DOMObjectMap
48764        https://bugs.webkit.org/show_bug.cgi?id=83615
48765
48766        Reviewed by Adam Barth.
48767
48768        Historically, these wrappers had their own map, but there doesn't seem
48769        to be any particular reason for this. The V8GCController doesn't
48770        treat them specially (which is the reason you normally need a separate
48771        wrapper map).
48772
48773        No new tests, no expected change in behavior.
48774
48775        * bindings/scripts/CodeGeneratorV8.pm:
48776        (GetDomMapName):
48777        * bindings/v8/DOMDataStore.cpp:
48778        (WebCore::DOMDataStore::DOMDataStore):
48779        (WebCore::DOMDataStore::getDOMWrapperMap):
48780        * bindings/v8/DOMDataStore.h:
48781        (DOMDataStore):
48782        * bindings/v8/ScopedDOMDataStore.cpp:
48783        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
48784        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
48785        * bindings/v8/StaticDOMDataStore.cpp:
48786        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
48787        * bindings/v8/StaticDOMDataStore.h:
48788        (StaticDOMDataStore):
48789        * bindings/v8/V8DOMMap.cpp:
48790        (WebCore::removeAllDOMObjects):
48791        * bindings/v8/V8DOMMap.h:
48792        (WebCore):
48793        * bindings/v8/V8DOMWrapper.cpp:
48794
487952012-04-10  Noel Gordon  <noel.gordon@gmail.com>
48796
48797        [Qt] Separate image encoding from dataURL construction
48798        https://bugs.webkit.org/show_bug.cgi?id=83132
48799
48800        Reviewed by Noam Rosenthal.
48801        
48802        Remove the implicit assumption that a dataURL is the only desired output format
48803        of the image encoding phase.
48804
48805        No new tests, refactoring only, covered by existing canvas tests.
48806
48807        * platform/graphics/qt/ImageBufferQt.cpp:
48808        (WebCore::encodeImage): Output the encoded image to the provided QByteArray.
48809        (WebCore):
48810        (WebCore::ImageBuffer::toDataURL) Format the dataURL encoding of the mimeType
48811        encoded image data here. Clarify the comment.
48812
488132012-04-10  Patrick Gansterer  <paroga@webkit.org>
48814
48815        Build fix for WinCE after r113730.
48816
48817        * platform/FractionalLayoutUnit.h:
48818        (WebCore::FractionalLayoutUnit::isInBounds):
48819
488202012-04-10  Greg Billock  <gbillock@google.com>
48821
48822        Add transfer map argument to Intent constructor
48823        http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
48824        This adds the ability to pass transferables (i.e. MessagePorts)
48825        through web intents, and puts the calling convention in line
48826        with the Web Messaging spec:
48827        http://dev.w3.org/html5/postmsg/
48828
48829        Implementation in chromium API follows the port-passing method
48830        of PlatformMessagePortChannel.
48831
48832        https://bugs.webkit.org/show_bug.cgi?id=80200
48833
48834        Reviewed by Adam Barth.
48835
48836        * Modules/intents/Intent.cpp:
48837        (WebCore::Intent::create):
48838        * Modules/intents/Intent.idl:
48839        * WebCore.gypi:
48840        * bindings/v8/custom/V8IntentCustom.cpp: Added.
48841        (WebCore):
48842        (WebCore::V8Intent::constructorCallback):
48843
488442012-04-10  Patrick Gansterer  <paroga@webkit.org>
48845
48846        Cleanup wtf/Platform.h and config.h files
48847        https://bugs.webkit.org/show_bug.cgi?id=83431
48848
48849        Reviewed by Eric Seidel.
48850
48851        The ENABLE() and USE() macros take care about the case when the flag
48852        isn't defined. So there is no need to define anything with 0.
48853
48854        Also move duplicated code from the config.h files to Platform.h and
48855        merge a few preprocessor commands to make the file more readable.
48856
48857        * config.h:
48858
488592012-04-10  Adam Barth  <abarth@webkit.org>
48860
48861        Limit -apple- and -khtml- to ENABLE(DASHBOARD_SUPPORT)
48862        https://bugs.webkit.org/show_bug.cgi?id=83256
48863
48864        Reviewed by Eric Seidel.
48865
48866        As recommended by David Hyatt in
48867        <https://lists.webkit.org/pipermail/webkit-dev/2010-July/013536.html>,
48868        we should phase out support for -khtml- and -apple- vendor prefixes in
48869        CSS (in favor of -webkit-).
48870
48871        As noted in <https://bugs.webkit.org/show_bug.cgi?id=42093#c29>, Dave's
48872        proposal is a bit too agressive.  These prefixes appear to be needed
48873        for a number of dashboard widgets.  For that reason, this patch limits
48874        the prefixes to ENABLE(LEGACY_CSS_VENDOR_PREFIXES).
48875
48876        This patch enables ENABLE(LEGACY_CSS_VENDOR_PREFIXES) on apple-mac and
48877        apple-win, which will let us learn whether removing these prefixes
48878        causes a compatibility problem on the broader web.
48879
48880        * Configurations/FeatureDefines.xcconfig:
48881        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
48882        (WebCore::getCSSPropertyNamePrefix):
48883        (WebCore::cssPropertyIDForJSCSSPropertyName):
48884        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
48885        (WebCore::cssPropertyInfo):
48886        * css/CSSParser.cpp:
48887        (WebCore::cssPropertyID):
48888
488892012-04-10  Levi Weintraub  <leviw@chromium.org>
48890
48891        Clean up multiple RenderedPosition::absoluteRect definitions and correct LayoutUnit usage
48892        https://bugs.webkit.org/show_bug.cgi?id=83604
48893
48894        Reviewed by Julien Chaffraix.
48895
48896        Removing unnecessary definitions of absoluteRect and replacing them with a single public
48897        version that's more explicit about its contract.
48898
48899        Also correcting a LayoutUnit misuse, as rects in absolute coordinates should be returned
48900        using integers, not LayoutUnits. See https://trac.webkit.org/wiki/LayoutUnit for details.
48901
48902        No new tests. No change in behavior.
48903
48904        * editing/Editor.cpp:
48905        (WebCore::Editor::firstRectForRange):
48906        * editing/RenderedPosition.cpp:
48907        (WebCore::RenderedPosition::absoluteRect): Pixel snapping the local rect before converting
48908        to absolute coordinates.
48909        * editing/RenderedPosition.h:
48910        (RenderedPosition):
48911
489122012-04-10  Yael Aharon  <yael.aharon@nokia.com>
48913
48914        Initial support for fixed position elements in Qt WebKit2
48915        https://bugs.webkit.org/show_bug.cgi?id=81786
48916
48917        Reviewed by Noam Rosenthal.
48918
48919        When the setting acceleratedCompositingForFixedPositionEnabled is true, we update
48920        the position of fixed layers, and send updates to the UI process as we scroll.
48921        Before painting, TextureMapperLayer receives a delta of the scroll positions between the UI 
48922        and the web processes, and adjusts its transform position accordingly.
48923
48924        * page/FrameView.cpp:
48925        (WebCore::FrameView::setFixedVisibleContentRect):
48926        * platform/graphics/texmap/TextureMapperLayer.cpp:
48927        (WebCore::TextureMapperLayer::setScrollPositionDelta):
48928        (WebCore):
48929        * platform/graphics/texmap/TextureMapperLayer.h:
48930        (TextureMapperLayer):
48931
489322012-04-10  Peter Rybin  <peter.rybin@gmail.com>
48933
48934        Web Inspector: CodeGeneratorInspector.py: do not expose raw methods from generated types
48935        https://bugs.webkit.org/show_bug.cgi?id=83390
48936
48937        Reviewed by Yury Semikhatsky.
48938
48939        Intermediate classes InspectorObjectBase and InspectorArrayBase are created. They have all raw methos
48940        protected. InspectorObject and InspectorArray now inherit the corresponding base classes with exposing
48941        all their protected methods.
48942
48943        "Open types" are left inheriting from InspectorObject, plus field name constants are generated for
48944        an easy random access to all properties.
48945
48946        All the client code is fixed to use type-safe API rather than raw access methods in function parameter
48947        and return types and bodies.
48948
48949        * inspector/CodeGeneratorInspector.py:
48950        (RawTypes.Object):
48951        (RawTypes.Object.get_setter_name):
48952        (RawTypes.Array):
48953        (RawTypes.Array.get_setter_name):
48954        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
48955        (Array):
48956        (Generator):
48957        (Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext):
48958        (Generator.process_types.GenerateContext):
48959        * inspector/InspectorDOMAgent.cpp:
48960        (WebCore::InspectorDOMAgent::querySelectorAll):
48961        (WebCore::InspectorDOMAgent::getEventListenersForNode):
48962        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
48963        * inspector/InspectorDOMAgent.h:
48964        (InspectorDOMAgent):
48965        * inspector/InspectorDOMDebuggerAgent.cpp:
48966        (WebCore::InspectorDOMDebuggerAgent::descriptionForDOMEvent):
48967        * inspector/InspectorDebuggerAgent.cpp:
48968        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
48969        (WebCore::InspectorDebuggerAgent::didPause):
48970        * inspector/InspectorPageAgent.cpp:
48971        (WebCore::buildObjectForSearchResult):
48972        (WebCore::InspectorPageAgent::searchInResources):
48973        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
48974        * inspector/InspectorResourceAgent.cpp:
48975        (WebCore::InspectorResourceAgent::didReceiveResponse):
48976        * inspector/InspectorStyleSheet.cpp:
48977        (WebCore::fillMediaListChain):
48978        (WebCore::InspectorStyle::styleWithProperties):
48979        * inspector/InspectorValues.cpp:
48980        (WebCore::InspectorObjectBase::~InspectorObjectBase):
48981        (WebCore::InspectorObjectBase::asObject):
48982        (WebCore::InspectorObjectBase::openAccessors):
48983        (WebCore):
48984        (WebCore::InspectorObjectBase::getBoolean):
48985        (WebCore::InspectorObjectBase::getString):
48986        (WebCore::InspectorObjectBase::getObject):
48987        (WebCore::InspectorObjectBase::getArray):
48988        (WebCore::InspectorObjectBase::get):
48989        (WebCore::InspectorObjectBase::remove):
48990        (WebCore::InspectorObjectBase::writeJSON):
48991        (WebCore::InspectorObjectBase::InspectorObjectBase):
48992        (WebCore::InspectorArrayBase::~InspectorArrayBase):
48993        (WebCore::InspectorArrayBase::asArray):
48994        (WebCore::InspectorArrayBase::writeJSON):
48995        (WebCore::InspectorArrayBase::InspectorArrayBase):
48996        (WebCore::InspectorArrayBase::get):
48997        * inspector/InspectorValues.h:
48998        (InspectorObjectBase):
48999        (InspectorObject):
49000        (WebCore::InspectorObject::create):
49001        (WebCore):
49002        (InspectorArrayBase):
49003        (WebCore::InspectorArrayBase::length):
49004        (InspectorArray):
49005        (WebCore::InspectorArray::create):
49006        (WebCore::InspectorObjectBase::find):
49007        (WebCore::InspectorObjectBase::setBoolean):
49008        (WebCore::InspectorObjectBase::setNumber):
49009        (WebCore::InspectorObjectBase::setString):
49010        (WebCore::InspectorObjectBase::setValue):
49011        (WebCore::InspectorObjectBase::setObject):
49012        (WebCore::InspectorObjectBase::setArray):
49013        (WebCore::InspectorArrayBase::pushBoolean):
49014        (WebCore::InspectorArrayBase::pushInt):
49015        (WebCore::InspectorArrayBase::pushNumber):
49016        (WebCore::InspectorArrayBase::pushString):
49017        (WebCore::InspectorArrayBase::pushValue):
49018        (WebCore::InspectorArrayBase::pushObject):
49019        (WebCore::InspectorArrayBase::pushArray):
49020        * inspector/TimelineRecordFactory.cpp:
49021        (WebCore::TimelineRecordFactory::createGenericRecord):
49022
490232012-04-10  Philip Rogers  <pdr@google.com>
49024
49025        Remove unnecessary calls to RenderSVGShape::createShape()
49026        https://bugs.webkit.org/show_bug.cgi?id=83598
49027
49028        Reviewed by Rob Buis.
49029
49030        RenderSVGShape::strokeContains contains calls to fall back to path stroke hit detection
49031        in several cases (dashed strokes, for example). One of these cases, a check for isStyled,
49032        is not needed and is always true for Ellipses, Circles, and Rects (all styled elements).
49033        This change removes the check for isStyled.
49034
49035        No new tests as this only affects performance, not test results.
49036
49037        * rendering/svg/RenderSVGShape.cpp:
49038        (WebCore::RenderSVGShape::strokeContains):
49039
490402012-04-10  Dan Bernstein  <mitz@apple.com>
49041
49042        <rdar://problem/10912486> CanvasRenderingContext2D does not expose its backing store resolution
49043        https://bugs.webkit.org/show_bug.cgi?id=83619
49044
49045        Reviewed by Simon Fraser.
49046
49047        Test: fast/canvas/2d.backingStorePixelRatio.html
49048
49049        Added a backingStorePixelRatio attribute to CanvasRenderingContext2D, as proposed in
49050        <http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-March/035112.html>. The attribute
49051        is prefixed with “webkit” for now.
49052
49053        * html/HTMLCanvasElement.h:
49054        (WebCore::HTMLCanvasElement::deviceScaleFactor): Added this getter.
49055        * html/canvas/CanvasRenderingContext2D.h:
49056        (WebCore::CanvasRenderingContext2D::webkitBackingStorePixelRatio): Added. Returns the canvas
49057        element’s device scale factor.
49058        (CanvasRenderingContext2D):
49059        * html/canvas/CanvasRenderingContext2D.idl: Added webkitBackingStorePixelRatio as a
49060        read-only attribute.
49061
490622012-04-10  Mario Sanchez Prada  <msanchez@igalia.com>
49063
49064        Segmentation fault in JS drop-down menus in facebook.com
49065        https://bugs.webkit.org/show_bug.cgi?id=82896
49066
49067        Reviewed by Chris Fleizach.
49068
49069        Make sure changes introduced with r110819 affect to the Mac
49070        platform only, since they depend on platform specific behaviour,
49071        as not all the platforms treat attachments in the same way.
49072
49073        * accessibility/AccessibilityObject.cpp:
49074        (WebCore::AccessibilityObject::updateChildrenIfNecessary):
49075        * accessibility/AccessibilityObject.h:
49076        (AccessibilityObject):
49077        (WebCore::AccessibilityObject::detachFromParent):
49078        * accessibility/AccessibilityRenderObject.cpp:
49079        (WebCore):
49080        (WebCore::AccessibilityRenderObject::addChildren):
49081        * accessibility/AccessibilityRenderObject.h:
49082        (AccessibilityRenderObject):
49083        * accessibility/mac/AccessibilityObjectMac.mm:
49084        (WebCore::AccessibilityObject::detachFromParent):
49085        (WebCore):
49086
490872012-04-10  Andreas Kling  <kling@webkit.org>
49088
49089        REGRESSION(r113588): 15-30% perf. regression on CSS/CSSPropertySetterGetter.
49090        <http://webkit.org/b/83540>
49091
49092        Reviewed by Antti Koivisto.
49093
49094        Changed the behavior of getPropertyCSSValueInternal() to actually return the internal
49095        value rather than a cloned one. There is an assertion in the CSSValue bindings that
49096        will catch anyone trying to expose these values to the web.
49097
49098        This avoids constructing "safe" CSSValue objects in the bindings layer, for the cases
49099        where we only want to extract the cssText or numeric value. These cloned objects are
49100        only needed when exposing fully-fledged CSSValues to the web, which must be tied to
49101        a single document.
49102
49103        * css/CSSStyleDeclaration.h:
49104        * css/CSSComputedStyleDeclaration.cpp:
49105        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal):
49106        * css/PropertySetCSSStyleDeclaration.cpp:
49107        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
49108
491092012-04-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
49110
49111        [Qt][WK2] Manage graphics buffers in the web process
49112        https://bugs.webkit.org/show_bug.cgi?id=78675
49113
49114        Added WebCore::GraphicsSurface, a wrapper class to a platform-dependant
49115        surface that can be accessed efficiently by both the CPU and the GPU.
49116        This will allow fast texture uploads for WebKit2, and in the future
49117        fast copies for 2D canvas and WebGL.
49118        The first implementation is for Mac using IOSurfaces.
49119
49120        TextureMapperGL had to be modified to use GL_UNSIGNED_INT_8_8_8_8_REV
49121        for textures on Mac, since that's the native pixel format of BGRA
49122        IOSurfaces.
49123
49124        Though this feature is not written in a Qt-specific way, it's currently
49125        only enabled for Qt and is protected by USE(GRAPHICS_SURFACE).
49126
49127        Reviewed by Kenneth Rohde Christiansen.
49128
49129        Covered by existing API tests.
49130
49131        * Target.pri:
49132        * WebCore.pri:
49133        * platform/graphics/surfaces/GraphicsSurface.cpp: Added.
49134        * platform/graphics/surfaces/GraphicsSurface.h: Added.
49135        * platform/graphics/surfaces/mac/GraphicsSurfaceMac.cpp: Added.
49136        * platform/graphics/surfaces/qt/GraphicsSurfaceQt.cpp: Added.
49137        (WebCore::GraphicsSurface::didReleaseImage):
49138        (WebCore):
49139        (WebCore::GraphicsSurface::platformBeginPaint):
49140        (WebCore::GraphicsSurface::createReadOnlyImage):
49141        * platform/graphics/texmap/TextureMapper.h:
49142        (WebCore::BitmapTexture::isOpenGLBacked):
49143        * platform/graphics/texmap/TextureMapperGL.cpp:
49144        (WebCore::toBitmapTextureGL):
49145        (WebCore):
49146        (WebCore::BitmapTextureGL::didReset):
49147        (WebCore::BitmapTextureGL::updateContents):
49148        * platform/graphics/texmap/TextureMapperGL.h:
49149        (WebCore::BitmapTextureGL::isOpenGLBacked):
49150        (WebCore):
49151
491522012-04-10  Alexei Filippov  <alexeif@chromium.org>
49153
49154        Web Inspector: split nodes and edges array in heap profiler serialization.
49155        https://bugs.webkit.org/show_bug.cgi?id=83465
49156
49157        Frontend is now able to read format when nodes and edges arrive
49158        in two separate arrays.
49159
49160        Reviewed by Yury Semikhatsky.
49161
49162        * inspector/front-end/HeapSnapshot.js:
49163        (WebInspector.HeapSnapshotLoader.prototype._parseIntArray):
49164        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
49165        (WebInspector.HeapSnapshot):
49166        (WebInspector.HeapSnapshot.prototype._init):
49167        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
49168
491692012-04-10  Dave Tharp  <dtharp@codeaurora.org>
49170
49171        CSS box-shadow default color should be something other than transparent
49172        https://bugs.webkit.org/show_bug.cgi?id=58511
49173
49174        Reviewed by Simon Fraser.
49175
49176        If box-shadow or text-shadow color is not specified, color defaults to 
49177        the value specified in the 'color' property of the element (as specified in W3C 
49178        spec).
49179
49180        Test: fast/text/text-shadow-no-default-color.html. Also existing
49181        tests ietestcenter/css3/box-shadow-002 and ietestcenter/css3/box-shadow-003
49182
49183        * css/CSSStyleSelector.cpp:
49184        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
49185
491862012-04-10  Chris Rogers  <crogers@google.com>
49187
49188        AudioParam must support connections from audio-rate signals
49189        https://bugs.webkit.org/show_bug.cgi?id=83524
49190
49191        Reviewed by Eric Carlson.
49192        
49193        In the Web Audio API, it's possible to connect one AudioNode to another AudioNode.
49194        Similary we should allow an AudioNode to connect to an AudioParam, thus controlling
49195        a parameter with an audio-rate signal.  This is important in many audio processing
49196        applications.
49197
49198        Test: webaudio/audioparam-connect-audioratesignal.html
49199
49200        Simple method name change of AudioParam::hasTimelineValues() to AudioParam::hasSampleAccurateValues().
49201        * Modules/webaudio/AudioGainNode.cpp:
49202        (WebCore::AudioGainNode::process):
49203
49204        * Modules/webaudio/AudioNode.cpp:
49205        (WebCore::AudioNode::connect): Add connect() method from AudioNode -> AudioParam.
49206        (WebCore):
49207        (WebCore::AudioNode::disconnect):
49208        (WebCore::AudioNode::finishDeref):
49209        Use AudioNodeOutput::disconnectAll() instead of AudioNodeOutput::disconnectAllInputs().
49210        * Modules/webaudio/AudioNode.h: Add connect() method from AudioNode -> AudioParam.
49211        (WebCore):
49212        (AudioNode):
49213        * Modules/webaudio/AudioNode.idl: Add connect() method from AudioNode -> AudioParam.
49214
49215        Implement support for an AudioNodeOutput to fanout to multiple AudioParams.
49216        * Modules/webaudio/AudioNodeOutput.cpp:
49217        (WebCore::AudioNodeOutput::AudioNodeOutput):
49218        (WebCore::AudioNodeOutput::updateRenderingState): Update rendering state related to AudioParams.
49219        (WebCore::AudioNodeOutput::pull): pull() must now take into account fanout to AudioParams for in-place processing.
49220        (WebCore::AudioNodeOutput::fanOutCount):
49221        (WebCore):
49222        (WebCore::AudioNodeOutput::paramFanOutCount): New method keeping track of number of connections to AudioParams.
49223        (WebCore::AudioNodeOutput::renderingParamFanOutCount): New method keeping track of number of connections to AudioParams for rendering.
49224        (WebCore::AudioNodeOutput::addParam): Add a connection to an AudioParam.
49225        (WebCore::AudioNodeOutput::removeParam): Remove a connection to an AudioParam.
49226        (WebCore::AudioNodeOutput::disconnectAllParams): Remove all connections to AudioParams.
49227        (WebCore::AudioNodeOutput::disconnectAll): New method to disconnect all AudioNodeInputs and AudioParams.
49228        * Modules/webaudio/AudioNodeOutput.h:
49229        (AudioNodeOutput):
49230
49231        Allow an AudioParam to accept a connection from an AudioNodeOutput, thus being controlled
49232        by an audio-rate signal.
49233        * Modules/webaudio/AudioParam.cpp:
49234        (WebCore::AudioParam::calculateSampleAccurateValues): Calculates sample-accurate values from timeline or an AudioNode.
49235        (WebCore):
49236        (WebCore::AudioParam::calculateAudioRateSignalValues): Calculates sample-accurate values from an AudioNode.
49237        (WebCore::AudioParam::calculateTimelineValues): Calculates sample-accurate values scheduled on the timeline.
49238        (WebCore::AudioParam::connect): Connect from an AudioNodeOutput for control from an audio-rate signal.
49239        (WebCore::AudioParam::disconnect): Disconnect from an AudioNodeOutput.
49240        * Modules/webaudio/AudioParam.h:
49241        (WebCore):
49242        (WebCore::AudioParam::AudioParam):
49243        (WebCore::AudioParam::hasSampleAccurateValues): Change name from hasTimelineValues() and return true
49244        either if we have timeline values or if we've been connected from an AudioNode.
49245        (AudioParam):
49246
49247        Simple method name change of AudioParam::hasTimelineValues() to AudioParam::hasSampleAccurateValues().
49248        * Modules/webaudio/Oscillator.cpp:
49249        (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
49250        (WebCore::Oscillator::process):
49251
492522012-04-10  Patrick Gansterer  <paroga@webkit.org>
49253
49254        [CMake] Enable USE_FOLDERS property
49255        https://bugs.webkit.org/show_bug.cgi?id=83571
49256
49257        Reviewed by Daniel Bates.
49258
49259        Setting the FOLDER property on targets gives more structure 
49260        to the generated Visual Studio solutions.
49261        This does not affect other CMake generators.
49262
49263        * CMakeLists.txt:
49264
492652012-04-10  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
49266
49267        [CMake] CMake SVG Code Generation fails to generate code for extra defines
49268        https://bugs.webkit.org/show_bug.cgi?id=83562
49269
49270        Reviewed by Rob Buis.
49271
49272        Fixing CMakeLists.txt to generate correct extra defines for SVG code generator.
49273
49274        * CMakeLists.txt:
49275
492762012-04-10  Abhishek Arya  <inferno@chromium.org>
49277
49278        Crash due to captions list not updated after section recalc.
49279        https://bugs.webkit.org/show_bug.cgi?id=83552
49280
49281        Reviewed by Julien Chaffraix.
49282
49283        Test: fast/table/table-caption-not-removed-crash.html
49284
49285        * rendering/RenderTable.cpp:
49286        (WebCore::RenderTable::addChild): no need to set the need for
49287        section recalc. It was needed in old code when we had more than
49288        one caption and we need to call section recalc to destroy the other
49289        captions.
49290        (WebCore::RenderTable::recalcSections): need to rebuild captions list.
49291        This is how the old code worked before r100177. Basically, children can
49292        moved without calling RenderTable::removeChild, so we should depend on
49293        recalcSections to update our captions list. Also, fix a style nit of aligning
49294        case labels with the switch statement.
49295
492962012-04-10  Anders Carlsson  <andersca@apple.com>
49297
49298        Unreviewed, rolling out r113611.
49299        http://trac.webkit.org/changeset/113611
49300        https://bugs.webkit.org/show_bug.cgi?id=71541
49301
49302        Broke fast/forms/basic-textareas.html
49303
49304        * rendering/RenderBox.h:
49305        (RenderBox):
49306        * rendering/RenderLayer.cpp:
49307        (WebCore::RenderLayer::hasHorizontalOverflow):
49308        (WebCore::RenderLayer::hasVerticalOverflow):
49309
493102012-04-10  Sheriff Bot  <webkit.review.bot@gmail.com>
49311
49312        Unreviewed, rolling out r113734.
49313        http://trac.webkit.org/changeset/113734
49314        https://bugs.webkit.org/show_bug.cgi?id=83606
49315
49316        causing a bunch of unrelated test failures (Requested by
49317        simonjam on #webkit).
49318
49319        * Modules/battery/BatteryController.cpp:
49320        * Modules/battery/BatteryController.h:
49321        (BatteryController):
49322        * Modules/battery/BatteryManager.cpp:
49323        (WebCore::BatteryManager::charging):
49324        (WebCore::BatteryManager::chargingTime):
49325        (WebCore::BatteryManager::dischargingTime):
49326        (WebCore::BatteryManager::level):
49327        * WebCore.gyp/WebCore.gyp:
49328        * WebCore.gypi:
49329
493302012-04-10  Adam Klein  <adamk@chromium.org>
49331
49332        Add setJSWrapperForActiveDOMNode and use it for Nodes that are also ActiveDOMObjects
49333        https://bugs.webkit.org/show_bug.cgi?id=83528
49334
49335        Reviewed by Kentaro Hara.
49336
49337        Instead of using a run-time call to isActiveNode to determine which
49338        map to put a Node wrapper in, generate the proper call in the CodeGenerator.
49339
49340        This was originally part of r112318, which got rolled out due to OOM concerns.
49341        I'm splitting it into smaller pieces so that each can be landed and
49342        watched for issues seperately.
49343
49344        No new tests, no change in behavior.
49345
49346        * bindings/scripts/CodeGeneratorV8.pm:
49347        (GenerateConstructorCallback): Use new GetDomMapName function to
49348        figure out which setJSWrapper to call.
49349        (GenerateNamedConstructorCallback): ditto.
49350        (GetDomMapFunction): Delegate to GetDomMapName for logic.
49351        (GetDomMapName): New helper factored out of GetDomMapFunction.
49352        * bindings/v8/V8DOMWrapper.cpp:
49353        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Assert !isActiveNode instead of branching on it.
49354        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): New method split ouf of the above.
49355        Assert isActiveNode instead of branching on it.
49356        * bindings/v8/V8DOMWrapper.h:
49357        (V8DOMWrapper):
49358
493592012-04-10  Luke Macpherson  <macpherson@chromium.org>
49360
49361        Pass PropertyHandler by reference in CSSStyleApplyProperty.h.
49362        https://bugs.webkit.org/show_bug.cgi?id=83551
49363
49364        Reviewed by Kentaro Hara.
49365
49366        No new tests / cleanup only.
49367
49368        * css/CSSStyleApplyProperty.h:
49369        (WebCore::CSSStyleApplyProperty::setPropertyHandler):
49370
493712012-04-10  Luke Macpherson  <macpherson@chromium.org>
49372
49373        Pass FontDescription as const reference instead of by value in CSSStyleSelector.h.
49374        https://bugs.webkit.org/show_bug.cgi?id=83548
49375
49376        Reviewed by Kentaro Hara.
49377
49378        FontDescription is relatively large, so pass-by-reference is preferred.
49379
49380        No new tests / code cleanup only.
49381
49382        * css/CSSStyleSelector.h:
49383        (WebCore::CSSStyleSelector::fontDescription):
49384        (WebCore::CSSStyleSelector::parentFontDescription):
49385        (WebCore::CSSStyleSelector::setFontDescription):
49386
493872012-04-10  Adam Klein  <adamk@chromium.org>
49388
49389        Add TestNode.idl to run-binding-tests
49390        https://bugs.webkit.org/show_bug.cgi?id=83599
49391
49392        Reviewed by Adam Barth.
49393
49394        TestNode.idl is a minimized version of Node.idl with enough attributes
49395        to exercise CodeGenerator.pm's handling of Node subtypes.
49396
49397        * bindings/scripts/test/CPP/WebDOMTestNode.cpp: Added.
49398        * bindings/scripts/test/CPP/WebDOMTestNode.h: Added.
49399        * bindings/scripts/test/GObject/WebKitDOMTestNode.cpp: Added.
49400        * bindings/scripts/test/GObject/WebKitDOMTestNode.h: Added.
49401        * bindings/scripts/test/GObject/WebKitDOMTestNodePrivate.h: Added.
49402        * bindings/scripts/test/JS/JSTestNode.cpp: Added.
49403        * bindings/scripts/test/JS/JSTestNode.h: Added.
49404        * bindings/scripts/test/ObjC/DOMTestNode.h: Added.
49405        * bindings/scripts/test/ObjC/DOMTestNode.mm: Added.
49406        * bindings/scripts/test/ObjC/DOMTestNodeInternal.h: Added.
49407        * bindings/scripts/test/TestNode.idl: Added.
49408        * bindings/scripts/test/V8/V8TestNode.cpp: Added.
49409        * bindings/scripts/test/V8/V8TestNode.h: Added.
49410
494112012-04-10  David Barton  <dbarton@mathscribe.com>
49412
49413        msqrt's implied mrow should do operator stretching
49414        https://bugs.webkit.org/show_bug.cgi?id=82353
49415
49416        Reviewed by Julien Chaffraix.
49417
49418        An <msqrt> with more than one child is supposed to surround them with an implied <mrow>.
49419        This patch does this, and thus includes vertical operator stretching. We also fix some
49420        problems with the old RenderMathMLSquareRoot.cpp: possibly shared RenderStyles were
49421        being modified, and layout() was using heights of children without checking whether they
49422        needed layout themselves first.
49423        
49424        To leave room for the radical sign, we use intrinsic padding. This is simpler and more
49425        efficient than using anonymous RenderStyles.
49426
49427        Added tests to mo-stretch.html and style.xhtml. Regression tests are in roots.xhtml.
49428
49429        * css/mathml.css:
49430        (msqrt):
49431        * rendering/RenderBoxModelObject.h:
49432        (RenderBoxModelObject):
49433        * rendering/mathml/RenderMathMLBlock.cpp:
49434        (WebCore::RenderMathMLBlock::RenderMathMLBlock):
49435        (WebCore::RenderMathMLBlock::paddingTop):
49436        (WebCore::RenderMathMLBlock::paddingBottom):
49437        (WebCore::RenderMathMLBlock::paddingLeft):
49438        (WebCore::RenderMathMLBlock::paddingRight):
49439        (WebCore::RenderMathMLBlock::paddingBefore):
49440        (WebCore::RenderMathMLBlock::paddingAfter):
49441        (WebCore::RenderMathMLBlock::paddingStart):
49442        (WebCore::RenderMathMLBlock::paddingEnd):
49443        * rendering/mathml/RenderMathMLBlock.h:
49444        (RenderMathMLBlock):
49445        * rendering/mathml/RenderMathMLRow.cpp:
49446        (WebCore::RenderMathMLRow::RenderMathMLRow):
49447        (WebCore::RenderMathMLRow::createAnonymousWithParentRenderer):
49448        * rendering/mathml/RenderMathMLRow.h:
49449        (RenderMathMLRow):
49450        * rendering/mathml/RenderMathMLSquareRoot.cpp:
49451        (WebCore):
49452        (WebCore::RenderMathMLSquareRoot::addChild):
49453        (WebCore::RenderMathMLSquareRoot::computePreferredLogicalWidths):
49454        (WebCore::RenderMathMLSquareRoot::computeLogicalHeight):
49455        (WebCore::RenderMathMLSquareRoot::layout):
49456        (WebCore::RenderMathMLSquareRoot::paint):
49457        * rendering/mathml/RenderMathMLSquareRoot.h:
49458        (RenderMathMLSquareRoot):
49459
494602012-04-10  Luke Macpherson  <macpherson@chromium.org>
49461
49462        Don't allow fallthrough for CSSPropertyBaselineShift in CSSComputedStyleDeclaration::getSVGPropertyCSSValue().
49463        https://bugs.webkit.org/show_bug.cgi?id=83536
49464
49465        Reviewed by Daniel Bates.
49466
49467        Add a return statement to the case CSSPropertyBaselineShift so that we don't fall through to the next case statement.
49468
49469        No new tests / code cleanup from coverity static analysis.
49470
49471        * css/SVGCSSComputedStyleDeclaration.cpp:
49472        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
49473
494742012-04-10  Alejandro G. Castro  <alex@igalia.com>
49475
49476        [GTK] Build fix TextureMapper compilation and solve warning.
49477
49478        Reviewed by Martin Robinson.
49479
49480        * platform/graphics/texmap/TextureMapperGL.cpp:
49481        (WebCore::BitmapTextureGL::updateContents):
49482        * platform/graphics/texmap/TextureMapperShaderManager.h:
49483        (WebCore::TextureMapperShaderManager::getShaderProgram):
49484
494852012-04-10  Noel Gordon  <noel.gordon@gmail.com>
49486
49487        [GTK] Separate image encoding from dataURL construction
49488        https://bugs.webkit.org/show_bug.cgi?id=83152
49489
49490        Reviewed by Martin Robinson.
49491
49492        Remove the implicit assumption that a dataURL is the only desired output format
49493        of the image encoding phase.
49494
49495        No new tests, refactoring only, covered by existing canvas tests.
49496
49497        * platform/graphics/gtk/ImageBufferGtk.cpp:
49498        (WebCore::encodeImage): Output the encoded image to the provided GOwnPtr<gchar>&
49499        buffer. Update GTK document reference to a valid URL. Round the quality argument
49500        to an int like the toDataURL() implementations of other ports. Ditch the success
49501        variable; instead test the GError* error return to indicate success.
49502        (WebCore):
49503        (WebCore::ImageBuffer::toDataURL): Format the dataURL encoding of the mimeType
49504        encoded image data buffer herein.
49505
495062012-04-09  James Robinson  <jamesr@chromium.org>
49507
49508        [chromium] Defer texture id allocation for copies until the actual copy executes
49509        https://bugs.webkit.org/show_bug.cgi?id=83514
49510
49511        Reviewed by Adrienne Walker.
49512
49513        This allows for queuing a texture copy operation into a ManagedTexture whose texture ID has not yet been
49514        allocated. The ManagedTexture* serves as a promise that an ID will be available when the copy is executed.
49515
49516        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
49517        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
49518        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
49519        (WebCore::CCSingleThreadProxy::doCommit):
49520        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
49521        (WebCore::CCTextureUpdater::CCTextureUpdater):
49522        (WebCore::CCTextureUpdater::appendManagedCopy):
49523        (WebCore):
49524        (WebCore::CCTextureUpdater::hasMoreUpdates):
49525        (WebCore::CCTextureUpdater::update):
49526        (WebCore::CCTextureUpdater::clear):
49527        * platform/graphics/chromium/cc/CCTextureUpdater.h:
49528        (CCTextureUpdater):
49529        (ManagedCopyEntry):
49530        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
49531        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
49532        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
49533
495342012-04-10  David Hyatt  <hyatt@apple.com>
49535
49536        https://bugs.webkit.org/show_bug.cgi?id=83595
49537        <rdar://problem/10443278> Overlapping text in table cell across column break
49538
49539        If a cell's height changes such that it is taller than the overall row height because
49540        of pagination, then grow the entire row height to enclose the cell instead of shrinking
49541        the cell.
49542
49543        Reviewed by Dan Bernstein.
49544
49545        Added fast/multicol/cell-shrinkback.html
49546
49547        * rendering/RenderTableSection.cpp:
49548        (WebCore::RenderTableSection::layoutRows):
49549
495502012-04-10  Luke Macpherson  <macpherson@chromium.org>
49551
49552        Remove unnecessary null check in void SimplifyMarkupCommand::doApply().
49553        https://bugs.webkit.org/show_bug.cgi?id=83535
49554
49555        Reviewed by Kentaro Hara.
49556
49557        No new tests / code cleanup only.
49558
49559        currentNode cannot be null within the loop body.
49560        It is dereferenced before and after the removed line without checking.
49561        Additionally I have added an assertion to express this loop invariant.
49562
49563        * editing/SimplifyMarkupCommand.cpp:
49564        (WebCore::SimplifyMarkupCommand::doApply):
49565
495662012-04-10  David Dorwin  <ddorwin@chromium.org>
49567
49568        Add Encrypted Media Extensions methods to HTMLMediaElement
49569        https://bugs.webkit.org/show_bug.cgi?id=82971
49570
49571        Reviewed by Adam Barth.
49572
49573        The extensions are behind the ENABLE(ENCRYPTED_MEDIA) feature define.
49574        Implementation is based on v0.1 of the draft proposal at
49575        http://dvcs.w3.org/hg/html-media/raw-file/tip/encrypted-media/encrypted-media.html.
49576
49577        Tests: media/encrypted-media/encrypted-media-not-loaded.html
49578               media/encrypted-media/encrypted-media-syntax.html
49579
49580        * bindings/generic/RuntimeEnabledFeatures.cpp:
49581        (WebCore):
49582        * bindings/generic/RuntimeEnabledFeatures.h:
49583        (RuntimeEnabledFeatures):
49584        (WebCore::RuntimeEnabledFeatures::webkitEncryptedMediaEnabled):
49585        (WebCore::RuntimeEnabledFeatures::setWebkitEncryptedMediaEnabled):
49586        * html/HTMLMediaElement.cpp:
49587        (WebCore):
49588        (WebCore::exceptionCodeForMediaKeyException):
49589        (WebCore::HTMLMediaElement::webkitGenerateKeyRequest):
49590        (WebCore::HTMLMediaElement::webkitAddKey):
49591        (WebCore::HTMLMediaElement::webkitCancelKeyRequest):
49592        (WebCore::HTMLMediaElement::setVolume):
49593        (WebCore::HTMLMediaElement::togglePlayState):
49594        (WebCore::HTMLMediaElement::beginScrubbing):
49595        (WebCore::HTMLMediaElement::addTextTrack):
49596        (WebCore::HTMLMediaElement::textTracks):
49597        (WebCore::HTMLMediaElement::showingTrackWithSameKind):
49598        (WebCore::HTMLMediaElement::didAddTrack):
49599        * html/HTMLMediaElement.h:
49600        * html/HTMLMediaElement.idl:
49601        * platform/graphics/MediaPlayer.cpp:
49602        (NullMediaPlayerPrivate):
49603        (WebCore):
49604        (WebCore::MediaPlayer::generateKeyRequest):
49605        (WebCore::MediaPlayer::addKey):
49606        (WebCore::MediaPlayer::cancelKeyRequest):
49607        * platform/graphics/MediaPlayer.h:
49608        * platform/graphics/MediaPlayerPrivate.h:
49609        (MediaPlayerPrivateInterface):
49610        (WebCore::MediaPlayerPrivateInterface::addKey):
49611        (WebCore::MediaPlayerPrivateInterface::generateKeyRequest):
49612        (WebCore::MediaPlayerPrivateInterface::cancelKeyRequest):
49613
496142012-04-10  Sadrul Habib Chowdhury  <sadrul@chromium.org>
49615
49616        [chromium] Add Battery Status API support.
49617
49618        Add Battery Status API support to chromium.
49619        https://bugs.webkit.org/show_bug.cgi?id=83284
49620
49621        Reviewed by Adam Barth.
49622
49623        This change is covered by tests in batterystatus/.
49624
49625        * Modules/battery/BatteryController.cpp:
49626        (WebCore::BatteryController::updateBatteryStatus):
49627        (WebCore):
49628        * Modules/battery/BatteryController.h:
49629        (BatteryController):
49630        * Modules/battery/BatteryManager.cpp:
49631        (WebCore::BatteryManager::charging):
49632        (WebCore::BatteryManager::chargingTime):
49633        (WebCore::BatteryManager::dischargingTime):
49634        (WebCore::BatteryManager::level):
49635        * WebCore.gyp/WebCore.gyp:
49636        * WebCore.gypi:
49637
496382012-04-09  Zhenyao Mo  <zmo@google.com>
49639
49640        getShaderFormatPrecision should return sensible values
49641        https://bugs.webkit.org/show_bug.cgi?id=83520
49642
49643        Reviewed by Kenneth Russell.
49644
49645        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Fix getShaderPrecisionFormat values.
49646        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
49647        * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
49648        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
49649
496502012-04-10  Alexander Pavlov  <apavlov@chromium.org>
49651
49652        Web Inspector: Add Galaxy Nexus to the list of emulated user agents
49653        https://bugs.webkit.org/show_bug.cgi?id=83589
49654
49655        The new record contains the device display metrics and the User Agent string.
49656
49657        Reviewed by Pavel Feldman.
49658
49659        * inspector/front-end/SettingsScreen.js:
49660        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
49661
496622012-04-10  Emil A Eklund  <eae@chromium.org>
49663
49664        Add missing methods and operators to FractionalLayoutUnit
49665        https://bugs.webkit.org/show_bug.cgi?id=82403
49666
49667        Reviewed by Eric Seidel.
49668
49669        Add missing methods and operators and from branch version of
49670        FractionalLayoutUnit. Also fix overflow assertion and add const keyword
49671        to a couple of methods.
49672
49673        No new tests.
49674
49675        * platform/FractionalLayoutUnit.h:
49676        (WebCore::FractionalLayoutUnit::abs):
49677        (FractionalLayoutUnit):
49678        (WebCore::FractionalLayoutUnit::ceil):
49679        (WebCore::FractionalLayoutUnit::round):
49680        (WebCore::FractionalLayoutUnit::floor):
49681        (WebCore::FractionalLayoutUnit::isInBounds):
49682        (WebCore::operator<):
49683        (WebCore):
49684        (WebCore::operator-):
49685
496862011-12-14  Jer Noble  <jer.noble@apple.com>
49687
49688        WebAudio: propagate a silence hint through the AudioNode graph.
49689        https://bugs.webkit.org/show_bug.cgi?id=74553
49690
49691        Reviewed by Chris Rogers.
49692
49693        No new tests; optimization of existing code path, so covered by existing tests.
49694
49695        Introduce the concept of a "silent" channel:
49696        * platform/audio/AudioChannel.h:
49697        (WebCore::AudioChannel::AudioChannel):
49698        (WebCore::AudioChannel::set): Clear silent bit.
49699        (WebCore::AudioChannel::zero): Set silent bit.
49700        (WebCore::AudioChannel::clearSilentFlag): Clear silent bit.
49701        (WebCore::AudioChannel::isSilent): Accessor.
49702
49703        Optimize a few channel operations when the source or destination channels are silent.
49704        * platform/audio/AudioChannel.cpp:
49705        (WebCore::AudioChannel::scale): No-op on a silent channel.
49706        (WebCore::AudioChannel::copyFrom): zero() when source is silent.
49707        (WebCore::AudioChannel::copyFromRange): possibly zero() when source is silent.
49708        (WebCore::AudioChannel::sumFrom): No-op when source is silent.
49709        (WebCore::AudioChannel::maxAbsValue): 0 on a silent channel.
49710
49711        Optimize a few bus operations when the source or destination channels are silent.
49712        * platform/audio/AudioBus.cpp:
49713        (WebCore::AudioBus::processWithGainFromMonoStereo): No-op if source is silent and either
49714            the destination bus is silent, or the output is not summed to the destination.
49715        (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom): zero() if the source is silent
49716            and the lengths of the gain values, source, and destination match.
49717        (WebCore::AudioBus::createBySampleRateConverting): Return an empty bus if the source is silent.
49718        (WebCore::AudioBus::createByMixingToMono): Ditto; clear the destination's silent bit otherwise.
49719        (WebCore::AudioBus::isSilent): Return whether all channels are silent.
49720        (WebCore::AudioBus::clearSilentFlag): Clear silent bit of constituent channels.
49721        * platform/audio/AudioBus.h:
49722
49723        Make sure that classes which generate audio clear their busses' silent bit.
49724        * webaudio/AudioBufferSourceNode.cpp:
49725        (WebCore::AudioBufferSourceNode::process): Ditto.
49726        (WebCore::AudioBufferSourceNode::renderFromBuffer): Ditto.
49727        (WebCore::AudioBufferSourceNode::propagatesSilence): Propagate silence only when the source node
49728            has nothing left to render.
49729        * webaudio/AudioBufferSourceNode.h:
49730        (WebCore::AudioBufferSourceNode::playbackState): Made const correct.
49731        (WebCore::AudioBufferSourceNode::isPlaying): Added simple accessor.
49732        (WebCore::AudioBufferSourceNode::hasFinished): Ditto.
49733        * webaudio/AudioDestinationNode.h:
49734        (WebCore::AudioDestinationNode::currentSampleFrame): Made const correct.
49735        (WebCore::AudioDestinationNode::currentTime): Ditto.
49736
49737        Audio nodes should not process audio data when the input is silent and the nodes will propagate silences.
49738        * webaudio/AudioNode.cpp:
49739        (WebCore::AudioNode::processIfNecessary): 
49740        (WebCore::AudioNode::inputsAreSilent): Convenience function which walk over the node's inputs.
49741        (WebCore::AudioNode::silenceOutputs): Ditto.
49742        (WebCore::AudioNode::unsilenceOutputs): Ditto.
49743        * webaudio/AudioNode.h:
49744        (WebCore::AudioNode::propagatesSilence):
49745
49746        These Nodes can generate audio when given silent input, so return false from propagatesSilence.
49747        * Modules/webaudio/Oscillator.h:
49748        (WebCore::Oscillator::propagatesSilence): Added.
49749
497502012-04-10  Yi Shen  <yi.4.shen@nokia.com>
49751
49752        Pressing enter on blank line after bullet deletes entire bulleted line.
49753        https://bugs.webkit.org/show_bug.cgi?id=82690
49754
49755        Reviewed by Enrica Casucci.
49756
49757        In CompositeEditCommand::breakOutOfEmptyListItem(), it checks the empty list item's renderer's siblings
49758        to decide which empty part of the list should be removed. However, if the empty list item's renderer is
49759        wrapped by an anonymous block, e.g. <ul><li>hello</li><br>^</ul>, the check may fail. So, we use isListItem
49760        on the empty list node's siblings instead.
49761
49762        No new tests : added new test case in the existing test (break-out-of-empty-list-item.html)
49763
49764        * editing/CompositeEditCommand.cpp:
49765        (WebCore::CompositeEditCommand::breakOutOfEmptyListItem):
49766
497672012-04-10  Alexander Pavlov  <apavlov@chromium.org>
49768
49769        Web Inspector: Inspect Element - Edit as HTML - scrolling bug
49770        https://bugs.webkit.org/show_bug.cgi?id=83563
49771
49772        mousedown in the scrollbar focuses the Elements tree outline container DIV element,
49773        so the corresponding mousedown event should be consumed in the AT_TARGET phase.
49774
49775        Reviewed by Yury Semikhatsky.
49776
49777        * inspector/front-end/ElementsTreeOutline.js:
49778        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.consume):
49779        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.dispose):
49780        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML):
49781
497822012-04-10  Dinu Jacob  <dinu.jacob@nokia.com>
49783
49784        Remove the unused function WebCore::toIconIndex
49785        https://bugs.webkit.org/show_bug.cgi?id=83037
49786
49787        Reviewed by Kentaro Hara.
49788
49789        * WebCore.order:
49790        * dom/IconURL.cpp:
49791        * dom/IconURL.h:
49792        (WebCore):
49793
497942012-04-10  Pavel Feldman  <pfeldman@chromium.org>
49795
49796        Web Inspector: make error a string on the front-end side, not an object.
49797        https://bugs.webkit.org/show_bug.cgi?id=83570
49798
49799        Reviewed by Yury Semikhatsky.
49800
49801        We already expect it to be a string in all the code, we never use the error code in it.
49802
49803        * inspector/front-end/InspectorBackend.js:
49804        (InspectorBackendClass.prototype.dispatch):
49805
498062012-04-10  Rob Buis  <rbuis@rim.com>
49807
49808        getElementsByTagName unable to find SVG camelCase elements imported into HTML
49809        https://bugs.webkit.org/show_bug.cgi?id=46800
49810
49811        Reviewed by Nikolas Zimmermann.
49812
49813        Implement getElementsByTagName according to the algorithm in
49814        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-getelementsbytagname.
49815        If the owner document of the element is html, the new class HTMLTagNodeList deals with
49816        finding the match(es) based on this algorithm. If the owner document is non HTML, the existing
49817        TagNodeList is used.
49818
49819        Implement getElementsByTagNameNS according to the algorithm in
49820        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#concept-getelementsbytagnamens.
49821        The existing TagNodeList implements this algorithm.
49822
49823        Cached results may have less hits after this change. Tag names that are equal when case
49824        insensitive but different when case sensitive can't share the result due to above algorithms, i.e.
49825        they would match differently in the non html part of the document.
49826
49827        Tests: fast/dom/getElementsByTagName-localName-matching.html
49828               fast/dom/getElementsByTagName-localName-matching2.xhtml
49829               svg/dom/getElementsByTagName-localName-matching.html
49830
49831        * dom/Node.cpp:
49832        (WebCore::Node::getElementsByTagName): create TagNodeList depending on owner document type.
49833        (WebCore::Node::getElementsByTagNameNS): do not lowercase localName for html.
49834        * dom/TagNodeList.cpp:
49835        (WebCore::HTMLTagNodeList::HTMLTagNodeList): add specialized TagNodeList for html matching rules.
49836        (WebCore):
49837        (WebCore::HTMLTagNodeList::nodeMatches):
49838        * dom/TagNodeList.h:
49839        (TagNodeList):
49840        (HTMLTagNodeList):
49841        (WebCore::HTMLTagNodeList::create):
49842
498432012-04-09  Alexander Pavlov  <apavlov@chromium.org>
49844
49845        Web Inspector: [Device Metrics] Introduce the "Fit window" option
49846        https://bugs.webkit.org/show_bug.cgi?id=83280
49847
49848        This change adds the "Fit window" option to the Settings pane of Web Inspector, which lets users
49849        resize the FrameView to fit the WebViewImpl size. When the user resizes the browser window
49850        in the device metrics override mode with the option enabled, the FrameView follows
49851        to match WebViewImpl by at least one dimension.
49852
49853        Reviewed by Pavel Feldman.
49854
49855        * English.lproj/localizedStrings.js:
49856        * inspector/Inspector.json:
49857        * inspector/InspectorClient.h:
49858        (WebCore::InspectorClient::overrideDeviceMetrics):
49859        (WebCore::InspectorClient::autoZoomPageToFitWidth):
49860        * inspector/InspectorInstrumentation.cpp:
49861        (WebCore::InspectorInstrumentation::shouldApplyScreenWidthOverrideImpl):
49862        (WebCore):
49863        (WebCore::InspectorInstrumentation::shouldApplyScreenHeightOverrideImpl):
49864        * inspector/InspectorInstrumentation.h:
49865        (InspectorInstrumentation):
49866        (WebCore::InspectorInstrumentation::shouldApplyScreenWidthOverride):
49867        (WebCore):
49868        (WebCore::InspectorInstrumentation::shouldApplyScreenHeightOverride):
49869        * inspector/InspectorPageAgent.cpp:
49870        (PageAgentState):
49871        (WebCore::InspectorPageAgent::restore):
49872        (WebCore::InspectorPageAgent::disable):
49873        (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
49874        (WebCore::InspectorPageAgent::updateViewMetrics):
49875        * inspector/InspectorPageAgent.h:
49876        * inspector/front-end/Settings.js:
49877        * inspector/front-end/SettingsScreen.js:
49878        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):
49879        * inspector/front-end/UserAgentSupport.js:
49880        * inspector/front-end/helpScreen.css:
49881        (.help-content input[type=checkbox]):
49882        * page/DOMWindow.cpp:
49883        (WebCore::DOMWindow::innerHeight):
49884        (WebCore::DOMWindow::innerWidth):
49885
498862012-04-10  Ilya Tikhonovsky  <loislo@chromium.org>
49887
49888        Web Inspector: use maxJSObjectId that is provided by back-end.
49889        https://bugs.webkit.org/show_bug.cgi?id=82451
49890
49891        Summary view can filter objects in snapshot. It uses maxJSObjectId for this.
49892        There was no such field in the profile header at the
49893        moment but I've landed a patch in downstream.
49894
49895        Reviewed by Yury Semikhatsky.
49896
49897        * bindings/js/ScriptHeapSnapshot.h:
49898        (WebCore):
49899        (WebCore::ScriptHeapSnapshot::maxSnapshotJSObjectId):
49900        * bindings/v8/ScriptHeapSnapshot.cpp:
49901        (WebCore::ScriptHeapSnapshot::maxSnapshotJSObjectId):
49902        (WebCore):
49903        * bindings/v8/ScriptHeapSnapshot.h:
49904        (WebCore):
49905        (ScriptHeapSnapshot):
49906        * inspector/InspectorProfilerAgent.cpp:
49907        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
49908        * inspector/front-end/DetailedHeapshotView.js:
49909        (WebInspector.HeapSnapshotConstructorsDataGrid):
49910        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
49911        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
49912        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
49913        (WebInspector.DetailedHeapshotView.prototype._changeFilter):
49914        * inspector/front-end/HeapSnapshot.js:
49915        (WebInspector.HeapSnapshot.prototype.updateStaticData):
49916        * inspector/front-end/HeapSnapshotProxy.js:
49917
499182012-04-09  Pavel Feldman  <pfeldman@chromium.org>
49919
49920        Web Inspector: annotate front-end for newer closure compiler.
49921        https://bugs.webkit.org/show_bug.cgi?id=83478
49922
49923        Reviewed by Yury Semikhatsky.
49924
49925        This change mostly adds annotations to bound functions and !!bool expressions. 
49926        As a result, it makes closure compiler v20120305 happy.
49927
49928        * inspector/Inspector.json:
49929        * inspector/front-end/BreakpointManager.js:
49930        * inspector/front-end/CSSStyleModel.js:
49931        * inspector/front-end/ConsoleView.js:
49932        (WebInspector.ConsoleView.prototype.evalInInspectedWindow.evalCallback):
49933        (WebInspector.ConsoleView.prototype.evalInInspectedWindow):
49934        * inspector/front-end/DOMAgent.js:
49935        (WebInspector.DOMNode.prototype.removeAttribute):
49936        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
49937        * inspector/front-end/DebuggerModel.js:
49938        * inspector/front-end/DebuggerPresentationModel.js:
49939        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
49940        * inspector/front-end/ElementsPanel.js:
49941        * inspector/front-end/ExtensionServer.js:
49942        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
49943        * inspector/front-end/ObjectPropertiesSection.js:
49944        * inspector/front-end/RemoteObject.js:
49945        * inspector/front-end/Resource.js:
49946        (WebInspector.ResourceDomainModelBinding.prototype.canSetContent):
49947        * inspector/front-end/ResourceUtils.js:
49948        * inspector/front-end/ScopeChainSidebarPane.js:
49949        * inspector/front-end/Script.js:
49950        (WebInspector.Script.prototype.editSource):
49951        * inspector/front-end/ScriptFormatter.js:
49952        (WebInspector.ScriptFormatter.prototype.get _worker):
49953        * inspector/front-end/WorkerManager.js:
49954
499552012-04-09  Pavel Feldman  <pfeldman@chromium.org>
49956
49957        Web Inspector: searching document with no documentElement results in 0x0 access.
49958        https://bugs.webkit.org/show_bug.cgi?id=83483
49959
49960        Reviewed by Yury Semikhatsky.
49961
49962        Added the null check.
49963
49964        Test: inspector/elements/dom-search-crash.html
49965
49966        * inspector/InspectorDOMAgent.cpp:
49967        (WebCore::InspectorDOMAgent::performSearch):
49968
499692012-04-10  Patrick Gansterer  <paroga@webkit.org>
49970
49971        [CMake] Add missing source files to build system
49972
49973        * CMakeLists.txt:
49974
499752012-04-10  Kentaro Hara  <haraken@chromium.org>
49976
49977        Unreviewed. Fixed AppleWin and Chromium-win build failure.
49978
49979        Renamed 'exceptionNameDescription' to per-file variable name to avoid
49980        name conflict.
49981
49982        * Modules/indexeddb/IDBDatabaseException.cpp:
49983        (WebCore::IDBDatabaseException::initializeDescription):
49984        * Modules/webdatabase/SQLException.cpp:
49985        (WebCore::SQLException::initializeDescription):
49986        * dom/EventException.cpp:
49987        (WebCore::EventException::initializeDescription):
49988        * dom/RangeException.cpp:
49989        (WebCore::RangeException::initializeDescription):
49990        * fileapi/FileException.cpp:
49991        (WebCore::FileException::initializeDescription):
49992        * fileapi/OperationNotAllowedException.cpp:
49993        (WebCore::OperationNotAllowedException::initializeDescription):
49994        * svg/SVGException.cpp:
49995        (WebCore::SVGException::initializeDescription):
49996        * xml/XPathException.cpp:
49997        (WebCore::XPathException::initializeDescription):
49998
499992012-04-10  Kentaro Hara  <haraken@chromium.org>
50000
50001        Unreviewed. Fixed AppleWin and Chromium-win build failure.
50002
50003        Renamed 'exceptions' to 'exceptionNameDescription' to avoid
50004        variable name conflict.
50005
50006        * Modules/indexeddb/IDBDatabaseException.cpp:
50007        (WebCore::IDBDatabaseException::initializeDescription):
50008        * Modules/webdatabase/SQLException.cpp:
50009        (WebCore::SQLException::initializeDescription):
50010        * dom/EventException.cpp:
50011        (WebCore::EventException::initializeDescription):
50012        * dom/RangeException.cpp:
50013        (WebCore::RangeException::initializeDescription):
50014        * fileapi/FileException.cpp:
50015        (WebCore::FileException::initializeDescription):
50016        * fileapi/OperationNotAllowedException.cpp:
50017        (WebCore::OperationNotAllowedException::initializeDescription):
50018        * svg/SVGException.cpp:
50019        (WebCore::SVGException::initializeDescription):
50020        * xml/XPathException.cpp:
50021        (WebCore::XPathException::initializeDescription):
50022
500232012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50024
50025        combine two arrays in XPathException into one
50026        https://bugs.webkit.org/show_bug.cgi?id=83442
50027
50028        Reviewed by Kentaro Hara.
50029
50030        No new tests required.
50031
50032        * xml/XPathException.cpp:
50033        (XPathExceptionNameDescription):
50034        (WebCore):
50035        (WebCore::XPathException::initializeDescription):
50036
500372012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50038
50039        combine exceptionNames and exceptionDescriptions in IDBDatabaseException.cpp into one array
50040        https://bugs.webkit.org/show_bug.cgi?id=83433
50041
50042        Reviewed by Kentaro Hara.
50043
50044        No new tests required.
50045
50046        * Modules/indexeddb/IDBDatabaseException.cpp:
50047        (IDBDatabaseExceptionNameDescription):
50048        (WebCore):
50049        (WebCore::IDBDatabaseException::initializeDescription):
50050
500512012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50052
50053        combine two arrays in SQLException.cpp into one
50054        https://bugs.webkit.org/show_bug.cgi?id=83452
50055
50056        Reviewed by Kentaro Hara.
50057
50058        No new tests required.
50059
50060        * Modules/webdatabase/SQLException.cpp:
50061        (SQLExceptionNameDescription):
50062        (WebCore):
50063        (WebCore::SQLException::initializeDescription):
50064
500652012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50066
50067        combine two arrays in EventException.cpp into one
50068        https://bugs.webkit.org/show_bug.cgi?id=83451
50069
50070        Reviewed by Kentaro Hara.
50071
50072        No new tests required.
50073
50074        * dom/EventException.cpp:
50075        (EventExceptionNameDescription):
50076        (WebCore):
50077        (WebCore::EventException::initializeDescription):
50078
500792012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50080
50081        combine two arrays in RangeException.cpp into one
50082        https://bugs.webkit.org/show_bug.cgi?id=83450
50083
50084        Reviewed by Kentaro Hara.
50085
50086        No new tests required.
50087
50088        * dom/RangeException.cpp:
50089        (RangeExceptionNameDescription):
50090        (WebCore):
50091        (WebCore::RangeException::initializeDescription):
50092
500932012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
50094
50095        [Texmap] Improve TextureMapperGL readability
50096        https://bugs.webkit.org/show_bug.cgi?id=83477
50097
50098        Change the debugging macros for TextureMapperGL, so that the GL_CMD call can include a semicolon.
50099        Modify some if blocks to have an early return.
50100
50101        Reviewed by Martin Robinson.
50102
50103        No new functionality.
50104
50105        * platform/graphics/texmap/TextureMapperGL.cpp:
50106        (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
50107        (WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip):
50108        (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
50109        (WebCore::TextureMapperGLData::initializeStencil):
50110        (WebCore::TextureMapperGL::beginPainting):
50111        (WebCore::TextureMapperGL::endPainting):
50112        (WebCore::TextureMapperGL::drawTexture):
50113        (WebCore::BitmapTextureGL::didReset):
50114        (WebCore::BitmapTextureGL::updateContents):
50115        (WebCore::BitmapTextureGL::initializeStencil):
50116        (WebCore::BitmapTextureGL::bind):
50117        (WebCore::BitmapTextureGL::~BitmapTextureGL):
50118        (WebCore::TextureMapperGL::bindSurface):
50119        (WebCore::TextureMapperGL::beginClip):
50120
501212012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50122
50123        combine two arrays in FileException.cpp into one
50124        https://bugs.webkit.org/show_bug.cgi?id=83449
50125
50126        Reviewed by Kentaro Hara.
50127
50128        No new tests required.
50129
50130        * fileapi/FileException.cpp:
50131        (FileExceptionNameDescription):
50132        (WebCore):
50133        (WebCore::FileException::initializeDescription):
50134
501352012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50136
50137        combine two arrays in OperationNotAllowedException.cpp into one
50138        https://bugs.webkit.org/show_bug.cgi?id=83445
50139
50140        Reviewed by Kentaro Hara.
50141
50142        No new tests required.
50143
50144        * fileapi/OperationNotAllowedException.cpp:
50145        (OperationNotAllowedExceptionNameDescription):
50146        (WebCore):
50147        (WebCore::OperationNotAllowedException::initializeDescription):
50148
501492012-04-09  Shinya Kawanaka  <shinyak@chromium.org>
50150
50151        Assert triggers VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries.
50152        https://bugs.webkit.org/show_bug.cgi?id=83118
50153
50154        Reviewed by Hajime Morita.
50155
50156        VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries did not work correctly.
50157        There was a case that selection crosses shadow boundaries.
50158
50159        This patch introduces a class TreeScopeAdjuster, which enables us to adjust Node or Position
50160        into a specified tree scope.
50161
50162        Test: fast/dom/shadow/selections-in-shadow.html
50163
50164        * CMakeLists.txt:
50165        * GNUmakefile.list.am:
50166        * Target.pri:
50167        * WebCore.ext.in:
50168        * WebCore.gypi:
50169        * WebCore.vcproj/WebCore.vcproj:
50170        * WebCore.xcodeproj/project.pbxproj:
50171        * dom/DOMAllInOne.cpp:
50172        * dom/TreeScope.h:
50173        (TreeScope):
50174        * dom/TreeScopeAdjuster.cpp: Added.
50175        (WebCore):
50176        (WebCore::TreeScopeAdjuster::TreeScopeAdjuster):
50177        (WebCore::TreeScopeAdjuster::ancestorInThisScope):
50178          Returns the node itself if it's in the same tree scope.
50179          Otherwise, this method checks the shadow ancestor of the node recursively.
50180          If no corresponding node is found, 0 will be returned.
50181        (WebCore::TreeScopeAdjuster::adjustPositionBefore):
50182        (WebCore::TreeScopeAdjuster::adjustPositionAfter):
50183        * dom/TreeScopeAdjuster.h: Added.
50184        (WebCore):
50185        (TreeScopeAdjuster):
50186        (WebCore::TreeScopeAdjuster::treeScope):
50187        * editing/VisibleSelection.cpp:
50188        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
50189
501902012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50191
50192        combine two arrays in SVGException.cpp into one
50193        https://bugs.webkit.org/show_bug.cgi?id=83444
50194
50195        Reviewed by Kentaro Hara.
50196
50197        No new tests required.
50198
50199        * svg/SVGException.cpp:
50200        (SVGExceptionNameDescription):
50201        (WebCore):
50202        (WebCore::SVGException::initializeDescription):
50203
502042012-04-09  Lu Guanqun  <guanqun.lu@intel.com>
50205
50206        combine two arrays in XMLHttpRequestException.cpp into one
50207        https://bugs.webkit.org/show_bug.cgi?id=83443
50208
50209        Reviewed by Kentaro Hara.
50210
50211        No new tests requied.
50212
50213        * xml/XMLHttpRequestException.cpp:
50214        (XMLHttpRequestExceptionNameDescription):
50215        (WebCore):
50216        (WebCore::XMLHttpRequestException::initializeDescription):
50217
502182012-04-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
50219
50220        [WK2] Enable using a single ShareableBitmap for multiple updates
50221        https://bugs.webkit.org/show_bug.cgi?id=83424
50222
50223        Modify BitmapTexture::updateContents to include a source offset.
50224        This allows us to update a texture from a sub-image.
50225
50226        Reviewed by Kenneth Rohde Christiansen.
50227
50228        Tested by existing API tests.
50229
50230        * platform/graphics/texmap/TextureMapper.h:
50231        (BitmapTexture):
50232        * platform/graphics/texmap/TextureMapperGL.cpp:
50233        (WebCore::BitmapTextureGL::didReset):
50234        (WebCore::driverSupportsBGRASwizzling):
50235        (WebCore::BitmapTextureGL::updateContents):
50236        * platform/graphics/texmap/TextureMapperGL.h:
50237        (WebCore::BitmapTextureGL::textureTarget):
50238        (BitmapTextureGL):
50239        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
50240        (WebCore::BitmapTextureImageBuffer::updateContents):
50241        * platform/graphics/texmap/TextureMapperImageBuffer.h:
50242        (BitmapTextureImageBuffer):
50243
502442012-04-09  Dana Jansens  <danakj@chromium.org>
50245
50246        [chromium] Viewport is not filled when out of texture memory on mac
50247        https://bugs.webkit.org/show_bug.cgi?id=83351
50248
50249        Reviewed by Adrienne Walker.
50250
50251        Currently we add gutter quads on the NonCompositedContentHost layer,
50252        which lies above another visible layer - the rubberband layer on mac.
50253        For this reason, on mac, gutter quads were disabled, as well as forcing
50254        the NCCH layer to draw, in order to make the rubberband layer appear.
50255
50256        We move the logic for adding gutter quads into CCRenderPass, and add
50257        gutter quads for all pixels that are visible through the viewport.
50258        This allows us to stop special-casing the NCCH layer, and allows us
50259        to skip drawing the layer equally with other layers. We remove the
50260        backgroundCoversViewport() flag entirely.
50261
50262        In order to do this, we fix a bug in the occlusion tracker, that
50263        allowed opaque() layers with skipsDraw to occlude, by making
50264        the visibleContentOpaqueRegion() method on the layer classes
50265        also return the opaque region for non-tiled layers, always use
50266        its value in the occlusion tracker.
50267
50268        Unit test: CCLayerTreeHostImplTest.viewportCovered
50269
50270        * platform/graphics/chromium/LayerChromium.cpp:
50271        (WebCore::LayerChromium::LayerChromium):
50272        (WebCore::LayerChromium::pushPropertiesTo):
50273        (WebCore::LayerChromium::visibleContentOpaqueRegion):
50274        (WebCore):
50275        * platform/graphics/chromium/LayerChromium.h:
50276        (LayerChromium):
50277        * platform/graphics/chromium/TiledLayerChromium.cpp:
50278        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
50279        (WebCore::TiledLayerChromium::visibleContentOpaqueRegion):
50280        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
50281        (WebCore::CCLayerImpl::CCLayerImpl):
50282        (WebCore::CCLayerImpl::visibleContentOpaqueRegion):
50283        (WebCore):
50284        * platform/graphics/chromium/cc/CCLayerImpl.h:
50285        (WebCore::CCLayerImpl::appendQuads):
50286        (CCLayerImpl):
50287        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
50288        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
50289        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
50290        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
50291        (WebCore::CCLayerTreeHost::setBackgroundColor):
50292        (CCLayerTreeHost):
50293        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
50294        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
50295        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
50296        (WebCore::CCLayerTreeHostImpl::backgroundColor):
50297        (WebCore::CCLayerTreeHostImpl::setBackgroundColor):
50298        (CCLayerTreeHostImpl):
50299        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
50300        (WebCore::computeOcclusionBehindLayer):
50301        (WebCore::::markOccludedBehindLayer):
50302        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
50303        (CCOcclusionTrackerBase):
50304        (WebCore::CCOcclusionTrackerBase::computeVisibleRegionInScreen):
50305        * platform/graphics/chromium/cc/CCRenderPass.cpp:
50306        (WebCore::CCRenderPass::appendQuadsToFillScreen):
50307        (WebCore):
50308        * platform/graphics/chromium/cc/CCRenderPass.h:
50309        (WebCore):
50310        (CCRenderPass):
50311        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
50312        (WebCore::CCTiledLayerImpl::appendQuads):
50313        (WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion):
50314        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
50315        (WebCore::CCTiledLayerImpl::skipsDraw):
50316        (CCTiledLayerImpl):
50317
503182012-04-09  Luke Macpherson  <macpherson@chromium.org>
50319
50320        Don't let CSSPropertyWebkitPerspective dereference primitiveValue without null check.
50321        https://bugs.webkit.org/show_bug.cgi?id=83538
50322
50323        Reviewed by Daniel Bates.
50324
50325        No new tests / code cleanup only.
50326
50327        Coverity pointed out that we potentially dereference primitiveValue here without checking for null.
50328        I've added an early out for that case to make sure it can't ever happen. I don't know if it's actually
50329        possible to exercise that code path or not - probably the parser prevents it from being hit in practice.
50330
50331        * css/CSSStyleSelector.cpp:
50332        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
50333
503342012-04-09  Joseph Pecoraro  <pecoraro@apple.com>
50335
50336        <http://webkit.org/b/83539> Web Inspector: ASSERT attempting to unbind null contentDocument
50337
50338        Avoid calling unbind with a null object. The HTMLFrameOwnerElement's
50339        contentDocument can be null.
50340
50341        Reviewed by Timothy Hatcher.
50342
50343        * inspector/InspectorDOMAgent.cpp:
50344        (WebCore::InspectorDOMAgent::unbind):
50345
503462012-04-09  Jason Liu  <jason.liu@torchmobile.com.cn>
50347
50348        [BlackBerry] Parsed Cookie's m_isMaxAgeSet is not needed.
50349        https://bugs.webkit.org/show_bug.cgi?id=83457
50350
50351        Reviewed by Rob Buis.
50352
50353        When m_expiry is not -1, it must be set by setExpiry or setMaxAge. setExpiry will return when m_expiry 
50354        has been set. This ensures Max-Age's precedence. 
50355        And m_isMaxAgeSet is always false when the cookie is from database. This is not right.
50356
50357        So we use m_expiry instead of m_isMaxAgeSet.
50358
50359        No new tests. Refactor.
50360
50361        * platform/blackberry/ParsedCookie.cpp:
50362        (WebCore::ParsedCookie::ParsedCookie):
50363        (WebCore::ParsedCookie::setExpiry):
50364        (WebCore::ParsedCookie::setMaxAge):
50365        * platform/blackberry/ParsedCookie.h:
50366        (ParsedCookie):
50367
503682012-04-09  Min Qin  <qinmin@google.com>
50369
50370        Fixed ordering of deleting CCInputHandler and CCLayerTreeHostImpl in layerTreeHostClosedOnImplThread
50371        https://bugs.webkit.org/show_bug.cgi?id=83488
50372
50373        Reviewed by James Robinson.
50374
50375        CCInputHandler(WebCompositorInputHandlerImpl) has a pointer to CCLayerTreeHostImpl.
50376        So we should delete CCInputHandler earlier as otherwise that pointer could get misused after LayerTreeHostImpl is deleted.
50377        Just fixing a potential NPE error, no behavior change.
50378
50379        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
50380        (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
50381
503822012-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>
50383
50384        Unreviewed, rolling out r113656.
50385        http://trac.webkit.org/changeset/113656
50386        https://bugs.webkit.org/show_bug.cgi?id=83542
50387
50388        test is broken on chromium-win (Requested by simonjam on
50389        #webkit).
50390
50391        * Modules/intents/Intent.cpp:
50392        (WebCore::Intent::Intent):
50393        * Modules/intents/Intent.h:
50394        (Intent):
50395        * Modules/intents/Intent.idl:
50396        * bindings/scripts/CodeGeneratorV8.pm:
50397        (GenerateParametersCheck):
50398        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
50399
504002012-04-09  Abhishek Arya  <inferno@chromium.org>
50401
50402        ASSERTION FAILED: !attached() in Node::attach.
50403        https://bugs.webkit.org/show_bug.cgi?id=80726
50404
50405        Reviewed by Adam Barth.
50406
50407        While parsing XML document, prevent attaching the leaf text node
50408        back to document, if its parent is not attached.
50409
50410        Test: fast/dom/text-node-attach-crash.xhtml
50411
50412        * xml/parser/XMLDocumentParser.cpp:
50413        (WebCore::XMLDocumentParser::exitText):
50414
504152012-04-09  Dana Jansens  <danakj@chromium.org>
50416
50417        [chromium] Replica layers are not drawn, so should not be painted
50418        https://bugs.webkit.org/show_bug.cgi?id=83504
50419
50420        Reviewed by James Robinson.
50421
50422        We attempt to paint replica layers when we are painting the mask layers
50423        in CCLayerTreeHost.cpp.
50424
50425        This is useless code, replica layers have drawsContent() == false, and
50426        have an empty visibleLayerRect, so the paint functions end up early-
50427        outting. But it is a waste of time to try, and confusing to have
50428        this attempted in the code at all, since the replica layers are never
50429        drawn. They exist only for their transforms.
50430
50431        Also the dimensions used for the replica mask are different from the
50432        surface mask, which is confusing and unnecessary as well. The mask is
50433        applied to the same surface contents as the surface mask would be, so
50434        only the surface's contentBounds need to be painted in the replica
50435        mask.
50436
50437        Covered by existing tests.
50438
50439        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
50440        (WebCore::CCLayerTreeHost::paintMasksForRenderSurface):
50441        (WebCore::CCLayerTreeHost::paintLayerContents):
50442        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
50443
504442012-04-09  Shinya Kawanaka  <shinyak@chromium.org>
50445
50446        ShadowRoot should have selection attribute.
50447        https://bugs.webkit.org/show_bug.cgi?id=82429
50448
50449        Reviewed by Hajime Morita.
50450
50451        This patch makes ShadowRoot have selection attribute. Currently the selection returns
50452        the same object as what window.getSelection() returns.
50453
50454        We will extend DOMSelection to have TreeScope. It will adjust Node into TreeScope.
50455        This will be tracked in Bug 82698.
50456
50457        Test: fast/dom/shadow/selection-in-shadow.html
50458
50459        * dom/ShadowRoot.cpp:
50460        (WebCore::ShadowRoot::selection):
50461        (WebCore):
50462        * dom/ShadowRoot.h:
50463        (WebCore):
50464        (ShadowRoot):
50465        * dom/ShadowRoot.idl:
50466
504672012-04-09  Emil A Eklund  <eae@chromium.org>
50468
50469        Replace numeric_limits<LayoutUnit>::min/max with constants
50470        https://bugs.webkit.org/show_bug.cgi?id=83497
50471
50472        Reviewed by Eric Seidel.
50473
50474        Replace all uses of numeric_limits<LayoutUnit>::min/max with
50475        MIN_LAYOUT_UNIT and MAX_LAYOUT_UNIT respectively in preparation for the
50476        switch to subpixel layout.
50477
50478        Also rename zeroLayoutUnit to ZERO_LAYOUT_UNIT to be consistent and
50479        change it to be a define as to avoid global initializer warnings once we
50480        change the definition of LayoutUnit from int to FractionalLayoutUnit.
50481
50482        No new tests, no change in functionality.
50483
50484        * dom/ElementRareData.h:
50485        (WebCore::defaultMinimumSizeForResizing):
50486        * editing/FrameSelection.cpp:
50487        (WebCore::NoXPosForVerticalArrowNavigation):
50488        * platform/graphics/transforms/TransformationMatrix.cpp:
50489        (WebCore::clampEdgeValue):
50490        (WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad):
50491        * rendering/AutoTableLayout.cpp:
50492        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
50493        * rendering/InlineFlowBox.cpp:
50494        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
50495        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
50496        (WebCore::InlineFlowBox::paintFillLayer):
50497        (WebCore::InlineFlowBox::paintBoxDecorations):
50498        (WebCore::InlineFlowBox::paintMask):
50499        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
50500        * rendering/LayoutTypes.h:
50501        (WebCore):
50502        * rendering/RenderBlock.cpp:
50503        (WebCore::RenderBlock::MarginInfo::MarginInfo):
50504        (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
50505        (WebCore::RenderBlock::adjustFloatingBlock):
50506        (WebCore::RenderBlock::paintColumnRules):
50507        (WebCore::RenderBlock::removeFloatingObject):
50508        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
50509        (WebCore::RenderBlock::markLinesDirtyInBlockRange):
50510        (WebCore::RenderBlock::clearFloats):
50511        (WebCore::RenderBlock::addOverhangingFloats):
50512        (WebCore::RenderBlock::getClearDelta):
50513        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
50514        (WebCore::getHeightForLineCount):
50515        (WebCore::RenderBlock::borderFitAdjust):
50516        (WebCore::RenderBlock::adjustForUnsplittableChild):
50517        * rendering/RenderBlock.h:
50518        (WebCore::RenderBlock::paginationStrut):
50519        (WebCore::RenderBlock::pageLogicalOffset):
50520        * rendering/RenderBlockLineLayout.cpp:
50521        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
50522        (WebCore::RenderBlock::checkFloatsInCleanLine):
50523        (WebCore::RenderBlock::addOverflowFromInlineChildren):
50524        * rendering/RenderBox.cpp:
50525        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
50526        (WebCore::RenderBox::positionForPoint):
50527        * rendering/RenderBox.h:
50528        (WebCore::RenderBox::minYVisualOverflow):
50529        (WebCore::RenderBox::minXVisualOverflow):
50530        (RenderBox):
50531        * rendering/RenderBoxModelObject.cpp:
50532        (WebCore::RenderBoxModelObject::offsetLeft):
50533        (WebCore::RenderBoxModelObject::offsetTop):
50534        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
50535        * rendering/RenderDeprecatedFlexibleBox.cpp:
50536        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
50537        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
50538        (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
50539        * rendering/RenderFieldset.cpp:
50540        (WebCore::RenderFieldset::paintBoxDecorations):
50541        (WebCore::RenderFieldset::paintMask):
50542        * rendering/RenderFlexibleBox.cpp:
50543        (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
50544        (WebCore::RenderFlexibleBox::lineBreakLength):
50545        (WebCore::RenderFlexibleBox::alignChildren):
50546        (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild):
50547        * rendering/RenderFlowThread.cpp:
50548        (WebCore::RenderFlowThread::layout):
50549        (WebCore::RenderFlowThread::computeLogicalWidth):
50550        * rendering/RenderInline.cpp:
50551        (WebCore::RenderInline::linesVisualOverflowBoundingBox):
50552        * rendering/RenderLayer.cpp:
50553        (WebCore::RenderLayer::resize):
50554        * rendering/RenderListMarker.cpp:
50555        (WebCore::RenderListMarker::updateMargins):
50556        * rendering/RenderMarquee.cpp:
50557        (WebCore::RenderMarquee::computePosition):
50558        * rendering/RenderObject.cpp:
50559        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
50560        * rendering/RenderReplaced.cpp:
50561        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
50562        (WebCore::RenderReplaced::computePreferredLogicalWidths):
50563        * rendering/RenderTable.cpp:
50564        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
50565        (WebCore::RenderTable::layout):
50566        * rendering/RenderTable.h:
50567        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
50568        * rendering/RenderText.cpp:
50569        (WebCore::RenderText::linesVisualOverflowBoundingBox):
50570
505712012-04-09  Levi Weintraub  <leviw@chromium.org>
50572
50573        Clean up LayoutUnit usage in DOMNodeHighlighter
50574        https://bugs.webkit.org/show_bug.cgi?id=83507
50575
50576        Reviewed by Eric Seidel.
50577
50578        Ensuring DOMNodeHighlighter uses pixel snapping that matches that done in the RenderTree. Changes include:
50579        - Reverting drawSubstring to use an IntPoint with pixel snapped values instead of a LayoutPoint.
50580        - Reverting borderBox to an IntRect since it's in absolute coordinates. See https://trac.webkit.org/wiki/LayoutUnit.
50581        - Frames are still laid out with integers. Cleaning up mainFrameOffset to reflect that.
50582
50583        No new tests. No change in behavior.
50584
50585        * inspector/DOMNodeHighlighter.cpp:
50586
505872012-04-09  Jeff Rogers  <jrogers@rim.com>
50588
50589        Add missing IndexedDB files to CMake build
50590        https://bugs.webkit.org/show_bug.cgi?id=83495
50591
50592        Reviewed by Rob Buis.
50593
50594        * CMakeLists.txt:
50595        * UseJSC.cmake:
50596
505972012-04-09  Alexey Proskuryakov  <ap@apple.com>
50598
50599        [Mac] WebProcess dies due to m_process->checkURLReceivedFromWebProcess(url) dropping a file URL
50600        https://bugs.webkit.org/show_bug.cgi?id=83506
50601        <rdar://problem/11171264>
50602
50603        Reviewed by Darin Adler.
50604
50605        Cannot test, because dragging within a single window never initiates a navigation, and dragging
50606        across windows is too much for DRT and WTR.
50607
50608        * platform/mac/DragDataMac.mm: (WebCore::DragData::asURL): Add the same checks that we had
50609        for NSURLPboardType to NSStringPboardType case, preventing dropping of non-HTTP URLs.
50610        String types cannot be sanitized when they are modified by JavaScript, and are thus less trusted.
50611        String checks should be at least as restrictive as URL ones.
50612
506132012-04-09  Greg Billock  <gbillock@google.com>
50614
50615        Add transfer map argument to Intent constructor
50616        http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
50617        This adds the ability to pass transferables (i.e. MessagePorts)
50618        through web intents, and puts the calling convention in line
50619        with the Web Messaging spec:
50620        http://dev.w3.org/html5/postmsg/
50621
50622        Implementation in chromium API follows the port-passing method
50623        of PlatformMessagePortChannel.
50624
50625        https://bugs.webkit.org/show_bug.cgi?id=80200
50626
50627        Reviewed by Adam Barth.
50628
50629        * Modules/intents/Intent.cpp:
50630        (WebCore::Intent::create):
50631        * Modules/intents/Intent.idl:
50632        * WebCore.gypi:
50633        * bindings/v8/custom/V8IntentCustom.cpp: Added.
50634        (WebCore):
50635        (WebCore::V8Intent::constructorCallback):
50636
506372012-04-09  Dana Jansens  <danakj@chromium.org>
50638
50639        [chromium] Cull occluded surface quads
50640        https://bugs.webkit.org/show_bug.cgi?id=81227
50641
50642        Reviewed by Adrienne Walker.
50643
50644        Cull render surface and replica quads during draw based on occlusion.
50645
50646        In order to compute occlusion for the surface or replica, it must not
50647        consider occlusion found in the surface's own subtree. To do this, we
50648        reorder the calls to the occlusion tracker, and add the surface and
50649        replica quads before we "leaveToTargetRenderSurface" which merges
50650        occlusion from the surface's subtree up into its parent.
50651
50652        Unit test: CCOcclusionTrackerTestReplicaOccluded
50653                   CCOcclusionTrackerTestSurfaceWithReplicaUnoccluded
50654                   CCOcclusionTrackerTestSurfaceAndReplicaOccludedDifferently
50655                   CCOcclusionTrackerTestSurfaceChildOfSurface
50656                   CCOcclusionTrackerTestSurfaceChildOfClippingSurface
50657
50658        And added some sanity checks to other CCOcclusionTracker tests that have
50659        render surfaces.
50660
50661        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
50662        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
50663        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
50664        (WebCore::::leaveToTargetRenderSurface):
50665        (WebCore::::unoccludedContributingSurfaceContentRect):
50666        (WebCore):
50667        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
50668        (CCOcclusionTrackerBase):
50669        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
50670        (WebCore::CCQuadCuller::CCQuadCuller):
50671        (WebCore::appendQuadInternal):
50672        (WebCore::CCQuadCuller::append):
50673        (WebCore):
50674        (WebCore::CCQuadCuller::appendSurface):
50675        (WebCore::CCQuadCuller::appendReplica):
50676        * platform/graphics/chromium/cc/CCQuadCuller.h:
50677        (CCQuadCuller):
50678        * platform/graphics/chromium/cc/CCRenderPass.cpp:
50679        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
50680        * platform/graphics/chromium/cc/CCRenderPass.h:
50681        (CCRenderPass):
50682
506832012-04-09  Andreas Kling  <kling@webkit.org>
50684
50685        Make CSSValuePool share values globally.
50686        <http://webkit.org/b/77700>
50687
50688        Reviewed by Antti Koivisto.
50689
50690        Remove the per-Document CSSValuePool and have everyone use a global pool
50691        accessed via "CSSValuePool& cssValuePool()".
50692
50693        This reduces memory usage by sharing cached CSSValues between all documents,
50694        and relaxes heap churn since the common, persistenly cached values are held
50695        by CSSValuePool forever.
50696
50697        No behavior change thanks to r113588 which introduced a mechanism that makes
50698        sure we never expose internal CSSValue objects to bindings, but read-only
50699        clones of those values.
50700
50701        * css/CSSComputedStyleDeclaration.cpp:
50702        (WebCore::valueForNinePieceImageSlice):
50703        (WebCore::valueForNinePieceImageQuad):
50704        (WebCore::valueForNinePieceImageRepeat):
50705        (WebCore::valueForNinePieceImage):
50706        (WebCore::zoomAdjustedPixelValue):
50707        (WebCore::zoomAdjustedNumberValue):
50708        (WebCore::zoomAdjustedPixelValueForLength):
50709        (WebCore::valueForReflection):
50710        (WebCore::getPositionOffsetValue):
50711        (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
50712        (WebCore::getBorderRadiusCornerValues):
50713        (WebCore::getBorderRadiusCornerValue):
50714        (WebCore::getBorderRadiusShorthandValue):
50715        (WebCore::computedTransform):
50716        (WebCore::CSSComputedStyleDeclaration::valueForCustomFilterNumberParameter):
50717        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
50718        (WebCore::valueForGridTrackBreadth):
50719        (WebCore::valueForGridTrackList):
50720        (WebCore::valueForGridPosition):
50721        (WebCore::getDelayValue):
50722        (WebCore::getDurationValue):
50723        (WebCore::createLineBoxContainValue):
50724        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
50725        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
50726        (WebCore::valueForFamily):
50727        (WebCore::renderUnicodeBidiFlagsToCSSValue):
50728        (WebCore::renderTextDecorationFlagsToCSSValue):
50729        (WebCore::fillRepeatToCSSValue):
50730        (WebCore::fillSizeToCSSValue):
50731        (WebCore::contentToCSSValue):
50732        (WebCore::counterToCSSValue):
50733        (WebCore::fontFamilyFromStyle):
50734        (WebCore::lineHeightFromStyle):
50735        (WebCore::fontSizeFromStyle):
50736        (WebCore::fontStyleFromStyle):
50737        (WebCore::fontVariantFromStyle):
50738        (WebCore::fontWeightFromStyle):
50739        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
50740        * css/CSSComputedStyleDeclaration.h:
50741        (WebCore):
50742        * css/CSSParser.cpp:
50743        (WebCore::parseColorValue):
50744        (WebCore::parseSimpleLengthValue):
50745        (WebCore::parseKeywordValue):
50746        (WebCore::CSSParser::parseValue):
50747        (WebCore::CSSParser::parseColor):
50748        (WebCore::CSSParser::setStyleSheet):
50749        (WebCore::CSSParser::createPrimitiveNumericValue):
50750        (WebCore::CSSParser::createPrimitiveStringValue):
50751        (WebCore::CSSParser::parseValidPrimitive):
50752        (WebCore::parseBackgroundClip):
50753        (WebCore::CSSParser::parseFillShorthand):
50754        (WebCore::CSSParser::parseAnimationShorthand):
50755        (WebCore::CSSParser::parseTransitionShorthand):
50756        (WebCore::CSSParser::parseShorthand):
50757        (WebCore::CSSParser::parsePage):
50758        (WebCore::CSSParser::parseSizeParameter):
50759        (WebCore::CSSParser::parseContent):
50760        (WebCore::CSSParser::parseAttr):
50761        (WebCore::CSSParser::parseBackgroundColor):
50762        (WebCore::CSSParser::parseFillImage):
50763        (WebCore::CSSParser::parseFillPositionX):
50764        (WebCore::CSSParser::parseFillPositionY):
50765        (WebCore::CSSParser::parseFillPositionComponent):
50766        (WebCore::CSSParser::parseFillPosition):
50767        (WebCore::CSSParser::parseFillRepeat):
50768        (WebCore::CSSParser::parseFillSize):
50769        (WebCore::CSSParser::parseFillProperty):
50770        (WebCore::CSSParser::parseAnimationDirection):
50771        (WebCore::CSSParser::parseAnimationFillMode):
50772        (WebCore::CSSParser::parseAnimationIterationCount):
50773        (WebCore::CSSParser::parseAnimationName):
50774        (WebCore::CSSParser::parseAnimationPlayState):
50775        (WebCore::CSSParser::parseAnimationProperty):
50776        (WebCore::CSSParser::parseAnimationTimingFunction):
50777        (WebCore::CSSParser::parseGridTrackList):
50778        (WebCore::CSSParser::parseDashboardRegions):
50779        (WebCore::CSSParser::parseCounterContent):
50780        (WebCore::CSSParser::parseClipShape):
50781        (WebCore::CSSParser::parseExclusionShape):
50782        (WebCore::CSSParser::parseFont):
50783        (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
50784        (WebCore::FontFamilyValueBuilder::commit):
50785        (FontFamilyValueBuilder):
50786        (WebCore::CSSParser::parseFontFamily):
50787        (WebCore::CSSParser::parseFontVariant):
50788        (WebCore::CSSParser::parseFontWeight):
50789        (WebCore::ShadowParseContext::commitStyle):
50790        (WebCore::CSSParser::parseShadow):
50791        (WebCore::CSSParser::parseReflect):
50792        (WebCore::CSSParser::parseFlex):
50793        (WebCore::BorderImageParseContext::commitBorderImageProperty):
50794        (WebCore::CSSParser::parseBorderImage):
50795        (WebCore::CSSParser::parseBorderImageRepeat):
50796        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
50797        (WebCore::BorderImageQuadParseContext::commitNumber):
50798        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
50799        (WebCore::CSSParser::parseBorderRadius):
50800        (WebCore::CSSParser::parseAspectRatio):
50801        (WebCore::CSSParser::parseCounter):
50802        (WebCore::parseDeprecatedGradientPoint):
50803        (WebCore::parseDeprecatedGradientColorStop):
50804        (WebCore::CSSParser::parseDeprecatedGradient):
50805        (WebCore::valueFromSideKeyword):
50806        (WebCore::parseGradientColorOrKeyword):
50807        (WebCore::CSSParser::parseLinearGradient):
50808        (WebCore::CSSParser::parseRadialGradient):
50809        (WebCore::CSSParser::parseCrossfade):
50810        (WebCore::CSSParser::parseImageSet):
50811        (WebCore::CSSParser::parseCustomFilter):
50812        (WebCore::CSSParser::parseBuiltinFilterArguments):
50813        (WebCore::CSSParser::parseFilter):
50814        (WebCore::CSSParser::parseFlowThread):
50815        (WebCore::CSSParser::parseRegionThread):
50816        (WebCore::CSSParser::parseTextEmphasisStyle):
50817        (WebCore::CSSParser::parseFontFeatureSettings):
50818        (WebCore::CSSParser::parseFontVariantLigatures):
50819        * css/CSSParser.h:
50820        (WebCore):
50821        (CSSParser):
50822        * css/CSSValuePool.cpp:
50823        (WebCore::cssValuePool):
50824        (WebCore):
50825        * css/CSSValuePool.h:
50826        (CSSValuePool):
50827        (WebCore):
50828        * css/StylePropertySet.cpp:
50829        (WebCore::StylePropertySet::setProperty):
50830        * css/StylePropertySet.h:
50831        (StylePropertySet):
50832        * dom/Document.cpp:
50833        * dom/Document.h:
50834        (WebCore):
50835        (Document):
50836        * dom/StyledElement.cpp:
50837        (WebCore::StyledElement::setInlineStyleProperty):
50838        (WebCore::StyledElement::addPropertyToAttributeStyle):
50839        * html/HTMLElement.cpp:
50840        (WebCore::HTMLElement::addHTMLColorToStyle):
50841        * html/HTMLFontElement.cpp:
50842        (WebCore::HTMLFontElement::collectStyleForAttribute):
50843        * html/HTMLHRElement.cpp:
50844        (WebCore::HTMLHRElement::collectStyleForAttribute):
50845        * html/HTMLTableElement.cpp:
50846        (WebCore::HTMLTableElement::createSharedCellStyle):
50847
508482012-04-09  Levi Weintraub  <leviw@chromium.org>
50849
50850        Prepare html classes for sub-pixel LayoutUnits
50851        https://bugs.webkit.org/show_bug.cgi?id=83491
50852
50853        Reviewed by Eric Seidel.
50854
50855        This patch brings the entire HTML folder up to the current state of the subpixellayout branch. Adding
50856        an intValue flavor of Length that maps to the current value function was also necessary to get us
50857        there. See https://trac.webkit.org/wiki/LayoutUnit and the descriptions below for details.
50858
50859        No new tests. No change in behavior.
50860
50861        * html/HTMLMarqueeElement.cpp:
50862        (WebCore::HTMLMarqueeElement::scrollAmount): Fixes a compiler error when length returns a float, as
50863        we intend it to do when switching to sub-pixel layout.
50864        * html/ImageDocument.cpp:
50865        (WebCore::ImageDocumentParser::finish): imageSize is always integral.
50866        * platform/Length.h:
50867        (WebCore::Length::Length): Added a constructor that takes a FractionalLayoutUnit.
50868        (Length):
50869        (WebCore::Length::intValue): Currently maps directly to Length::value, but the current logic of value
50870        will be migrated here when value is changed to return a float.
50871        (WebCore::Length::setValue): Added a variant that takes a FractionalLayoutUnit.
50872
508732012-04-09  Andrew Lo  <anlo@rim.com>
50874
50875        [BlackBerry] requestAnimationFrame performance choppy & inconsistent
50876        https://bugs.webkit.org/show_bug.cgi?id=83499
50877
50878        Reviewed by Rob Buis.
50879
50880        Respect m_scheduled & m_previousFrameDone flags like the Mac port of
50881        DisplayRefreshMonitor does.
50882        Internal PR: 147826
50883
50884        requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
50885
50886        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp:
50887        (WebCore::DisplayRefreshMonitor::displayLinkFired):
50888
508892012-04-09  Luke Macpherson  <macpherson@chromium.org>
50890
50891        Make CSSValueID's into an enum instead of a collection of integers.
50892        https://bugs.webkit.org/show_bug.cgi?id=83246
50893
50894        Reviewed by Simon Fraser.
50895
50896        This patch simply converts the list of integers into an enum.
50897        Follow-up patches will then convert existing code that uses integers to use the new enum.
50898
50899        No new tests / no functionality changed.
50900
50901        * css/makevalues.pl:
50902
509032012-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>
50904
50905        Unreviewed, rolling out r113609.
50906        http://trac.webkit.org/changeset/113609
50907        https://bugs.webkit.org/show_bug.cgi?id=83522
50908
50909        it broke tests (Requested by dethbakin on #webkit).
50910
50911        * css/mediaControlsChromium.css:
50912        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
50913        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
50914        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
50915        * css/mediaControlsQuickTime.css:
50916        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
50917        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
50918        (audio::-webkit-media-controls-volume-slider-mute-button, video::-webkit-media-controls-volume-slider-mute-button):
50919        * html/shadow/MediaControlElements.cpp:
50920        (RenderMediaVolumeSliderContainer):
50921        (WebCore):
50922        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
50923        (WebCore::RenderMediaVolumeSliderContainer::layout):
50924        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
50925        * html/shadow/MediaControlElements.h:
50926        (MediaControlVolumeSliderContainerElement):
50927        * html/shadow/MediaControlRootElement.cpp:
50928        (WebCore::MediaControlRootElement::create):
50929        * html/shadow/MediaControlRootElementChromium.cpp:
50930        (WebCore::MediaControlRootElementChromium::create):
50931
509322012-04-09  Dana Jansens  <danakj@chromium.org>
50933
50934        [chromium] Make culling work with clipped rects
50935        https://bugs.webkit.org/show_bug.cgi?id=83494
50936
50937        Reviewed by Adrienne Walker.
50938
50939        Use new CCMathUtil transformation methods to deal with rects that clip
50940        the camera plane. This fixes three things:
50941
50942        1. A layer completely behind the camera is not visible and should not
50943        occlude.
50944        2. A layer that is clipped by the camera is treated like a
50945        non-axis-aligned transform, as the result of a mapClippedRect() is a
50946        bounding box and may contain pixels not in the original rect. This guards
50947        our use of mapRect() when transforming occluded regions.
50948        3. A layer's occlusion must be clipped by its scissor rect. This scissor
50949        rect exists in its target space, so occlusion in screen space is only
50950        possible if its target also is axis aligned in the screen, such that
50951        the layer's scissor rect remains a rect in screen space.
50952
50953        Unit tests: CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude
50954                    CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect
50955
50956        * platform/graphics/chromium/cc/CCMathUtil.cpp:
50957        (WebCore::CCMathUtil::mapQuad):
50958        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
50959        (WebCore::transformSurfaceOpaqueRegion):
50960        (WebCore::computeOcclusionBehindLayer):
50961        (WebCore::::markOccludedBehindLayer):
50962        (WebCore::testContentRectOccluded):
50963        (WebCore::computeUnoccludedContentRect):
50964
509652012-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>
50966
50967        Unreviewed, rolling out r113613.
50968        http://trac.webkit.org/changeset/113613
50969        https://bugs.webkit.org/show_bug.cgi?id=83509
50970
50971        crashing most chromium bots (Requested by simonjam on
50972        #webkit).
50973
50974        * Modules/battery/BatteryController.cpp:
50975        * Modules/battery/BatteryController.h:
50976        (BatteryController):
50977        * Modules/battery/BatteryManager.cpp:
50978        * WebCore.gyp/WebCore.gyp:
50979        * WebCore.gypi:
50980
509812012-04-06  Zhenyao Mo  <zmo@google.com>
50982
50983        bindAttribLocation should check webgl reserved prefix
50984        https://bugs.webkit.org/show_bug.cgi?id=83409
50985
50986        Reviewed by Kenneth Russell.
50987
50988        * html/canvas/WebGLRenderingContext.cpp: Check for invalid parameters for a few functions.
50989        (WebCore):
50990        (WebCore::WebGLRenderingContext::bindAttribLocation):
50991        (WebCore::WebGLRenderingContext::getAttribLocation):
50992        (WebCore::WebGLRenderingContext::getUniformLocation):
50993
509942012-04-09  Timothy Hatcher  <timothy@apple.com>
50995
50996        Fix the assertion in PageScriptDebugServer::didPause.
50997
50998        https://webkit.org/b/82943
50999
51000        Reviewed by Simon Fraser.
51001
51002        * bindings/js/PageScriptDebugServer.cpp:
51003        (WebCore::PageScriptDebugServer::PageScriptDebugServer): Initialize m_pausedPage
51004        to zero so the assert in didPause will not randomly fire the first time.
51005
510062012-04-09  Tim Horton  <timothy_horton@apple.com>
51007
51008        FrameData constructor zeroes all fields, causing ImageOrientation to be 0
51009        https://bugs.webkit.org/show_bug.cgi?id=83416
51010
51011        Reviewed by Geoff Garen.
51012
51013        Reinstate SimpleClassVectorTraits on FrameData (which were removed by http://trac.webkit.org/changeset/113543)
51014        with canInitializeWithMemset disabled, since two of the FrameData fields cannot be initialized to zero.
51015
51016        No new tests.
51017
51018        * platform/graphics/BitmapImage.h:
51019
510202012-04-09  James Robinson  <jamesr@chromium.org>
51021
51022        [chromium] CCLayerTreeHost / WebLayerTreeView should be single ownership, not RefCounted
51023        https://bugs.webkit.org/show_bug.cgi?id=83413
51024
51025        Reviewed by Adrienne Walker.
51026
51027        CCLayerTreeHost always has a single logical owner, typically a WebLayerTreeView via either WebViewImpl or the
51028        public API. It is currently refcounted for historical reasons but this isn't necessary and adds confusion.
51029        CCLayerTreeHost instances and pointers are carefully managed currently to avoid leaks. In particular, while
51030        LayerChromium instances hold RefPtr<CCLayerTreeHost>s, whenever we want to destroy a CCLayerTreeHost we
51031        proactively clear out these references inside setRootLayer() to break the cycle.
51032
51033        Refactor covered by existing unit and layout tests.
51034
51035        * platform/graphics/chromium/LayerChromium.cpp:
51036        (WebCore::LayerChromium::LayerChromium):
51037        (WebCore::LayerChromium::setMaskLayer):
51038        (WebCore::LayerChromium::setReplicaLayer):
51039        * platform/graphics/chromium/LayerChromium.h:
51040        (WebCore::LayerChromium::layerTreeHost):
51041        (LayerChromium):
51042        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
51043        (WebCore::CCLayerTreeHost::create):
51044        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
51045        (CCLayerTreeHost):
51046
510472012-04-09  Joshua Bell  <jsbell@chromium.org>
51048
51049        Unreviewed, rolling out r113473.
51050        http://trac.webkit.org/changeset/113473
51051        https://bugs.webkit.org/show_bug.cgi?id=83074
51052
51053        Change does not handle cursor retention of LevelDB iterators
51054
51055        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
51056        (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
51057        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
51058        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
51059        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
51060        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
51061        (WebCore::IDBIndexBackendImpl::openCursorInternal):
51062        (WebCore::IDBIndexBackendImpl::countInternal):
51063        (WebCore::IDBIndexBackendImpl::getInternal):
51064        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
51065        * Modules/indexeddb/IDBIndexBackendImpl.h:
51066        (WebCore::IDBIndexBackendImpl::create):
51067        (IDBIndexBackendImpl):
51068        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
51069        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
51070        (WebCore::IDBObjectStoreBackendImpl::getInternal):
51071        (WebCore::IDBObjectStoreBackendImpl::putInternal):
51072        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
51073        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
51074        (WebCore):
51075        (WebCore::IDBObjectStoreBackendImpl::createIndex):
51076        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
51077        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
51078        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
51079        (WebCore::IDBObjectStoreBackendImpl::countInternal):
51080        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
51081        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
51082        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
51083        (WebCore):
51084        (WebCore::IDBObjectStoreBackendImpl::create):
51085        (WebCore::IDBObjectStoreBackendImpl::databaseId):
51086        (IDBObjectStoreBackendImpl):
51087
510882012-04-06  James Robinson  <jamesr@chromium.org>
51089
51090        [chromium] Texture copies should happen after incremental updates to preserve commit atomicity
51091        https://bugs.webkit.org/show_bug.cgi?id=83392
51092
51093        Reviewed by Adrienne Walker.
51094
51095        This enqueues texture copy operations in the CCTextureUpdater's list instead of evaluating them immediately so
51096        if the update is spread over multiple frames we can properly defer the texture copy until the end. Otherwise,
51097        the texture copy for WebGL / Canvas 2D content happens before the commit completes and the compositor might pick
51098        up a frame for the canvas that's "ahead" of the content around it.
51099
51100        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
51101        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
51102        * platform/graphics/chromium/TiledLayerChromium.cpp:
51103        (WebCore::TiledLayerChromium::updateCompositorResources):
51104        * platform/graphics/chromium/WebGLLayerChromium.cpp:
51105        (WebCore::WebGLLayerChromium::updateCompositorResources):
51106        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
51107        (WebCore::CCTextureUpdater::appendUpdate):
51108        (WebCore::CCTextureUpdater::appendPartialUpdate):
51109        (WebCore):
51110        (WebCore::CCTextureUpdater::appendCopy):
51111        (WebCore::CCTextureUpdater::hasMoreUpdates):
51112        (WebCore::CCTextureUpdater::update):
51113        (WebCore::CCTextureUpdater::clear):
51114        * platform/graphics/chromium/cc/CCTextureUpdater.h:
51115        (CCTextureUpdater):
51116        (UpdateEntry):
51117        (CopyEntry):
51118
511192012-04-09  Sadrul Habib Chowdhury  <sadrul@chromium.org>
51120
51121        [chromium] Add Battery Status API support.
51122
51123        Add Battery Status API support to chromium.
51124        https://bugs.webkit.org/show_bug.cgi?id=83284
51125
51126        Reviewed by Adam Barth.
51127
51128        This change is covered by tests in batterystatus/.
51129
51130        * Modules/battery/BatteryController.cpp:
51131        (WebCore::BatteryController::updateBatteryStatus):
51132        (WebCore):
51133        * Modules/battery/BatteryController.h:
51134        (BatteryController):
51135        * Modules/battery/BatteryManager.cpp:
51136        * WebCore.gyp/WebCore.gyp:
51137        * WebCore.gypi:
51138
511392012-04-09  SravanKumar Sandela  <ssandela@innominds.com>
51140
51141        Unnecessary scroll bar after changing the dimensions of a DIV
51142        https://bugs.webkit.org/show_bug.cgi?id=71541
51143
51144        Reviewed by Julien Chaffraix.
51145
51146        overflow: auto was being determined based on clientWidth and clientHeight, which during style change
51147        scenarii will blindly exclude previous scrollbars while computing overflow. This is valid only for
51148        overflow: scroll, but for other cases it wrongly reduces available area. Now it is taken care by
51149        determining the overflow based on pixelSnappedPaddingBoxWidth/Height() which are newly added in RenderBox.
51150
51151        Tests: fast/overflow/overflow-auto-destroy-scroll-after-resizing-expected.html
51152               fast/overflow/overflow-auto-destroy-scroll-after-resizing.html
51153
51154        * rendering/RenderBox.h:
51155        (WebCore::RenderBox::paddingBoxWidth):
51156        (WebCore::RenderBox::paddingBoxHeight):
51157        (WebCore::RenderBox::pixelSnappedPaddingBoxWidth):
51158        (WebCore::RenderBox::pixelSnappedPaddingBoxHeight):
51159        (RenderBox):
51160        * rendering/RenderLayer.cpp:
51161        (WebCore::RenderLayer::hasHorizontalOverflow):
51162        (WebCore::RenderLayer::hasVerticalOverflow):
51163
511642012-04-09  Victor Carbune  <vcarbune@adobe.com>
51165
51166        Simplified volume slider rendering.
51167        https://bugs.webkit.org/show_bug.cgi?id=82150
51168
51169        Reviewed by Eric Carlson.
51170
51171        Test: media/video-controls-rendering-toggle-display-none.html
51172
51173        * css/mediaControlsChromium.css: Update controls css for Chromium.
51174        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
51175        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
51176        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
51177        * css/mediaControlsQuickTime.css: Update controls css for Safari.
51178        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
51179        * html/shadow/MediaControlElements.cpp: Removed particular renderer.
51180        (WebCore):
51181        * html/shadow/MediaControlElements.h:
51182        (MediaControlVolumeSliderContainerElement): Removed particular renderer.
51183        * html/shadow/MediaControlRootElement.cpp:
51184        (WebCore::MediaControlRootElement::create): Added a div element as a container. Removed extra
51185        unused mute button.
51186        * html/shadow/MediaControlRootElementChromium.cpp: Added an extra div element as a container for
51187        the mute button and the volume slider to easily position them relative to each other.
51188        (WebCore::MediaControlRootElementChromium::create):
51189
511902012-04-09  Levi Weintraub  <leviw@chromium.org>
51191
51192        Correct some LayoutUnit misuse in FilterEffectRenderer, and RenderBlock
51193        https://bugs.webkit.org/show_bug.cgi?id=83366
51194
51195        Reviewed by Eric Seidel.
51196
51197        Some more preparation of Render classes for FractionalLayoutUnits. See below for details
51198        of each change.
51199
51200        No new tests. No change in behavior.
51201
51202        * rendering/FilterEffectRenderer.cpp:
51203        (WebCore::FilterEffectRendererHelper::applyFilterEffect): Pixel snapping image rect before
51204        drawing it.
51205        * rendering/RenderBlock.cpp:
51206        (WebCore::::string): Pixel snapping outputted values for debug.
51207
512082012-04-09  Shawn Singh  <shawnsingh@chromium.org>
51209
51210        [chromium] Fix layer sorting perspective w if w becomes negative
51211        https://bugs.webkit.org/show_bug.cgi?id=82997
51212
51213        Reviewed by Adrienne Walker.
51214
51215        Unit test added to CCLayerSorterTest.cpp.
51216
51217        This is a follow-up patch after r113364. That other patch
51218        implemented proper clipping so that perspective transforms do not
51219        accidentally make geometry disappear. This patch fixes a similar
51220        problem in the layer sorter code so that layers do not
51221        accidentally get sorted incorrectly.
51222
51223        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
51224        (WebCore::CCLayerSorter::LayerShape::LayerShape):
51225        * platform/graphics/chromium/cc/CCMathUtil.cpp:
51226        (WebCore::computeEnclosingRect):
51227        (WebCore::addVertexToClippedQuad):
51228        (WebCore::CCMathUtil::mapClippedQuad):
51229        (WebCore):
51230        (WebCore::CCMathUtil::computeEnclosingRectOfVertices):
51231        * platform/graphics/chromium/cc/CCMathUtil.h:
51232        (WebCore):
51233        (CCMathUtil):
51234
512352012-04-09  Martin Robinson  <mrobinson@igalia.com>
51236
51237        [soup] Crash while loading http://www.jusco.cn
51238        https://bugs.webkit.org/show_bug.cgi?id=68238
51239
51240        Reviewed by Philippe Normand.
51241
51242        Test: http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html
51243
51244        When running synchronous XMLHttpRequests, push a new inner thread default
51245        context, so that other sources from timers and network activity do not run.
51246        This will make synchronous requests truly synchronous with the rest of
51247        WebCore.
51248
51249        * platform/network/soup/ResourceHandleSoup.cpp:
51250        (WebCoreSynchronousLoader): Clean up the method definitions a bit by writing them inline.
51251        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Push a new thread default
51252        context to prevent other sources from running.
51253        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Pop the inner thread default context.
51254        (WebCore::closeCallback): If the client is synchronous call didFinishLoading now.
51255        (WebCore::readCallback): Only call didFinishLoading if the client isn't synchronous.
51256        (WebCore::ResourceHandle::defaultSession): Activate use-thread-context so that the soup session
51257        respects the inner thread context.
51258
512592012-04-09  Dana Jansens  <danakj@chromium.org>
51260
51261        [chromium] Flip transition painting delayed with threaded animations
51262        https://bugs.webkit.org/show_bug.cgi?id=82571
51263
51264        Reviewed by Adrienne Walker.
51265
51266        This allows for prepainting to see and paint layers that are not facing
51267        the camera but have animating transforms. This is needed to prepaint
51268        animations that "flip" layers around to make the front visible.
51269
51270        The changes are to add a backFaceIsVisible() helper function in
51271        CCLTHCommon. This is used like before to cull non-double sided
51272        layers, but culling is prevented on main thread when the screen
51273        space transform is unknown due to animation. We add new
51274        helper methods transformToScreenIsKnown() to identify this.
51275
51276        However the layer is not actually visible, so we set the
51277        visibleLayerRect to be empty in this case.
51278
51279        The calculateVisibleLayerRect needs to use the backFaceIsVisible()
51280        helper, so we move it into the .cpp file where it belongs, and make
51281        it static to the file since it is not used outide of CCLTHCommon.cpp
51282        at all.
51283
51284        Unit test: CCLayerTreeHostCommonTest.verifyBackFaceCulling
51285
51286        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
51287        (WebCore):
51288        (WebCore::backFaceIsVisible):
51289        (WebCore::calculateVisibleLayerRect):
51290        (WebCore::layerOpacityIsOpaque):
51291        (WebCore::transformToParentIsKnown):
51292        (WebCore::transformToScreenIsKnown):
51293        (WebCore::layerShouldBeSkipped):
51294        (WebCore::calculateDrawTransformsAndVisibilityInternal):
51295        (WebCore::walkLayersAndCalculateVisibleLayerRects):
51296        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
51297        (WebCore):
51298
512992012-04-09  Martin Robinson  <mrobinson@igalia.com>
51300
51301        [GTK] Toggle buttons do not size appropriately in some themes
51302        https://bugs.webkit.org/show_bug.cgi?id=82833
51303
51304        Reviewed by Gustavo Noronha Silva.
51305
51306        Test: platform/gtk/fast/forms/large-toggle-elements.html
51307
51308        Instead of drawing a toggle button across the entire rectangle of
51309        the WebCore control, draw a default-sized one cenetered in the rectangle.
51310
51311        * platform/gtk/RenderThemeGtk3.cpp:
51312        (WebCore::paintToggle): Draw default-sized toggles.
51313
513142012-04-09  Raymond Liu  <raymond.liu@intel.com>
51315
51316        When create JavaScriptNode, do not ignore NumberOfOutputChannels parameter.
51317        https://bugs.webkit.org/show_bug.cgi?id=83250
51318
51319        Reviewed by Chris Rogers.
51320
51321        * Modules/webaudio/AudioContext.cpp:
51322        (WebCore::AudioContext::createJavaScriptNode):
51323        (WebCore):
51324        * Modules/webaudio/AudioContext.h:
51325        (AudioContext):
51326        * Modules/webaudio/AudioContext.idl:
51327        * Modules/webaudio/JavaScriptAudioNode.cpp:
51328        (WebCore::JavaScriptAudioNode::create):
51329        (WebCore):
51330        (WebCore::JavaScriptAudioNode::JavaScriptAudioNode):
51331        (WebCore::JavaScriptAudioNode::initialize):
51332        (WebCore::JavaScriptAudioNode::process):
51333        * Modules/webaudio/JavaScriptAudioNode.h:
51334        (JavaScriptAudioNode):
51335
513362012-04-09  Abhishek Arya  <inferno@chromium.org>
51337
51338        Crash due to floats not cleared before starting SVG <text> layout.
51339        https://bugs.webkit.org/show_bug.cgi?id=83021
51340
51341        Reviewed by Dirk Schulze.
51342
51343        Manual Test - ManualTests/svg-text-float-not-removed-crash.html.
51344        Can't reproduce the failure in DRT.
51345
51346        forceLayoutInlineChildren is used in SVG <text> layout and overrides
51347        RenderBlock::layoutBlock. However, it missed the 'clearFloats' step,
51348        which will cause a crash when trying to access removed renderers.
51349
51350        * rendering/RenderBlock.h:
51351        (WebCore::RenderBlock::forceLayoutInlineChildren):
51352
513532012-04-09  Jeffrey Pfau  <jpfau@apple.com>
51354
51355        Filter files from dataTransfer.getData on Mac
51356        https://bugs.webkit.org/show_bug.cgi?id=38876
51357
51358        Reviewed by Enrica Casucci.
51359
51360        The ClipboardMac class now keeps track of whether it was created for copy and paste, dragging and dropping
51361        files or dragging and dropping generic data. This enables the class to block calls to set-/getData when the
51362        clipboard is not operating on generic data, and vice-versa.
51363
51364        Test: fast/events/drop-with-file-paths.html
51365
51366        * editing/mac/EditorMac.mm:
51367        (WebCore::Editor::newGeneralClipboard):
51368        * page/mac/EventHandlerMac.mm:
51369        (WebCore::EventHandler::createDraggingClipboard):
51370        * platform/mac/ClipboardMac.h:
51371        (WebCore::ClipboardMac::create):
51372        (ClipboardMac):
51373        * platform/mac/ClipboardMac.mm:
51374        (WebCore::Clipboard::create):
51375        (WebCore::ClipboardMac::ClipboardMac):
51376        (WebCore::ClipboardMac::getData):
51377        (WebCore::ClipboardMac::setData):
51378        (WebCore::ClipboardMac::files):
51379
513802012-04-09  Sheriff Bot  <webkit.review.bot@gmail.com>
51381
51382        Unreviewed, rolling out r113561.
51383        http://trac.webkit.org/changeset/113561
51384        https://bugs.webkit.org/show_bug.cgi?id=83487
51385
51386        broke webkit_unit_tests (Requested by simonjam on #webkit).
51387
51388        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
51389        (WebCore::transformSurfaceOpaqueRegion):
51390        (WebCore::computeOcclusionBehindLayer):
51391        (WebCore::::markOccludedBehindLayer):
51392        (WebCore::testContentRectOccluded):
51393        (WebCore::computeUnoccludedContentRect):
51394
513952012-04-09  Levi Weintraub  <leviw@chromium.org>
51396
51397        Correct LayoutUnit usage in style functions getRoundedBorderFor
51398        https://bugs.webkit.org/show_bug.cgi?id=83154
51399
51400        Reviewed by Julien Chaffraix.
51401
51402        Correcting LayoutUnit usage in getRoundedBorderFor and the calcRadiiFor helper function.
51403
51404        No new tests. No change in behavior.
51405
51406        * rendering/style/RenderStyle.cpp:
51407        (WebCore::calcRadiiFor): This is a static internal function that returns the radii based on a size.
51408        It's only called from getRoundedBorderFor, so we're now pixel snapping the size before handing it
51409        to this function.
51410        (WebCore::RenderStyle::getRoundedBorderFor): Takes a LayoutRect and returns the pixel-snapped
51411        resulting RoundedRect. Using a local IntRect to avoid snapping twice.
51412
514132012-04-06  Andrey Kosyakov  <caseq@chromium.org>
51414
51415        Web Inspector: zoom on vertical mousewheel in Timeline overview
51416        https://bugs.webkit.org/show_bug.cgi?id=83379
51417
51418        Reviewed by Pavel Feldman.
51419
51420        - added support for zooming around mouse cursor upon mousewheel event;
51421        - handle mousewheel event by _onMouseWheel, not scrollWindow, so we only zoom on events internal to overview.
51422
51423        * inspector/front-end/TimelineOverviewPane.js:
51424        (WebInspector.TimelineOverviewWindow):
51425        (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
51426        (WebInspector.TimelineOverviewWindow.prototype._onMouseWheel):
51427        (WebInspector.TimelineOverviewWindow.prototype._zoom):
51428
514292012-04-09  Bill Budge  <bbudge@chromium.org>
51430
51431        Cross-origin preflight request should not include credentials.
51432        https://bugs.webkit.org/show_bug.cgi?id=37676
51433
51434        Modifies createAccessControlPreflightRequest so it never allows credentials.
51435
51436        Reviewed by Adam Barth.
51437
51438        http/tests/xmlhttprequest/access-control-preflight-credential-sync.html
51439        http/tests/xmlhttprequest/access-control-preflight-credential-async.html 
51440
51441        * loader/CrossOriginAccessControl.cpp:
51442        (WebCore::createAccessControlPreflightRequest):
51443        * loader/CrossOriginAccessControl.h:
51444        (WebCore):
51445        * loader/DocumentThreadableLoader.cpp:
51446        (WebCore::DocumentThreadableLoader::makeCrossOriginAccessRequestWithPreflight):
51447
514482012-04-09  Antti Koivisto  <antti@apple.com>
51449
51450        Don't expose internal CSSValues in API
51451        https://bugs.webkit.org/show_bug.cgi?id=83426
51452        
51453        Reviewed by Andreas Kling.
51454
51455        The CSSValues returned from functions like CSSStyleDeclaration.getPropertyCSSValue() are currently
51456        the same instances we use internally. This creates various problems. The values can't be shared between 
51457        documents as the wrappers would be shared too. Having to maintain per-document CSSValuePools complicate 
51458        the architecture and increase memory usage. This also blocks sharing style sheet data structures 
51459        between documents.
51460        
51461        This patch adds a concept of CSSOM-safe CSSValue. Only the safe values can be wrapped for JS access. 
51462        Values are unsafe by default. The CSSOM functions that return CSSValues create safe instances by
51463        cloning the internal values.
51464        
51465        The use of APIs that return CSSValues is very rare (the currect CSSOM draft deprecates them) and
51466        cloning is cheap in any case. Future patches will eliminate the per-document value pool in favor
51467        of a global one for a memory win.
51468        
51469        In the future we want to replace internally used CSSValues with true internal types (StyleValues) and
51470        use CSSValues exclusively as wrappers (similar to how CSSStyleRule wraps internal StyleRule).
51471
51472        * bindings/js/JSCSSValueCustom.cpp:
51473        (WebCore::toJS):
51474        * css/CSSComputedStyleDeclaration.cpp:
51475        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
51476        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValueInternal):
51477        * css/CSSImageSetValue.cpp:
51478        (WebCore::CSSImageSetValue::CSSImageSetValue):
51479        (WebCore):
51480        (WebCore::CSSImageSetValue::cloneForCSSOM):
51481        * css/CSSImageSetValue.h:
51482        (CSSImageSetValue):
51483        * css/CSSPrimitiveValue.cpp:
51484        (WebCore::CSSPrimitiveValue::cleanup):
51485        
51486            Opportunistically fix a string leak for CSS_COUNTER_NAME values.
51487            Add all cases, remove default.
51488        
51489        (WebCore::CSSPrimitiveValue::cloneForCSSOM):
51490        (WebCore):
51491        * css/CSSPrimitiveValue.h:
51492        (CSSPrimitiveValue):
51493        (WebCore::CSSPrimitiveValue::setCSSOMSafe):
51494        * css/CSSValue.cpp:
51495        (WebCore):
51496        (TextCloneCSSValue):
51497        (WebCore::TextCloneCSSValue::create):
51498        (WebCore::TextCloneCSSValue::cssText):
51499        (WebCore::TextCloneCSSValue::TextCloneCSSValue):
51500        
51501            Most non-primitive value types are not exposed in CSSOM. For those we create a dummy value
51502            that contains only the data that is accessible though the base CSSValue interface.
51503        
51504        (WebCore::CSSValue::addSubresourceStyleURLs):
51505        (WebCore::CSSValue::cssText):
51506        (WebCore::CSSValue::destroy):
51507        (WebCore::CSSValue::cloneForCSSOM):
51508        * css/CSSValue.h:
51509        (WebCore):
51510        (CSSValue):
51511        (WebCore::CSSValue::isCSSOMSafe):
51512        (WebCore::CSSValue::isSubtypeExposedToCSSOM):
51513        (WebCore::CSSValue::CSSValue):
51514        * css/CSSValueList.cpp:
51515        (WebCore::CSSValueList::CSSValueList):
51516        (WebCore):
51517        (WebCore::CSSValueList::cloneForCSSOM):
51518        * css/CSSValueList.h:
51519        (CSSValueList):
51520        * css/Counter.h:
51521        (Counter):
51522        (WebCore::Counter::cloneForCSSOM):
51523        * css/PropertySetCSSStyleDeclaration.cpp:
51524        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
51525        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
51526        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
51527        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
51528        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
51529        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
51530        (WebCore::PropertySetCSSStyleDeclaration::didMutate):
51531        (WebCore):
51532        (WebCore::PropertySetCSSStyleDeclaration::cloneAndCacheForCSSOM):
51533        
51534            Maintain a map of safe CSSValues so we can maintain object identity.
51535        
51536        * css/PropertySetCSSStyleDeclaration.h:
51537        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
51538        (PropertySetCSSStyleDeclaration):
51539        * css/RGBColor.cpp:
51540        (WebCore::RGBColor::red):
51541        (WebCore::RGBColor::green):
51542        (WebCore::RGBColor::blue):
51543        (WebCore::RGBColor::alpha):
51544        * css/Rect.h:
51545        (WebCore::RectBase::RectBase):
51546        (RectBase):
51547        (Rect):
51548        (WebCore::Rect::cloneForCSSOM):
51549        (WebCore::Rect::Rect):
51550        (Quad):
51551        (WebCore::Quad::cloneForCSSOM):
51552        (WebCore::Quad::Quad):
51553        * css/WebKitCSSFilterValue.cpp:
51554        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
51555        (WebCore):
51556        (WebCore::WebKitCSSFilterValue::cloneForCSSOM):
51557        * css/WebKitCSSFilterValue.h:
51558        (WebKitCSSFilterValue):
51559        * css/WebKitCSSTransformValue.cpp:
51560        (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
51561        (WebCore):
51562        (WebCore::WebKitCSSTransformValue::cloneForCSSOM):
51563        * css/WebKitCSSTransformValue.h:
51564        (WebKitCSSTransformValue):
51565        * svg/SVGColor.cpp:
51566        (WebCore::SVGColor::SVGColor):
51567        (WebCore):
51568        (WebCore::SVGColor::cloneForCSSOM):
51569        * svg/SVGColor.h:
51570        (SVGColor):
51571        * svg/SVGPaint.cpp:
51572        (WebCore::SVGPaint::SVGPaint):
51573        (WebCore):
51574        (WebCore::SVGPaint::cloneForCSSOM):
51575        * svg/SVGPaint.h:
51576        (SVGPaint):
51577        * svg/SVGStyledElement.cpp:
51578        (WebCore::SVGStyledElement::getPresentationAttribute):
51579
515802012-04-09  Pavel Feldman  <pfeldman@chromium.org>
51581
51582        Web Inspector: get rid of WebInspector.Resource.category, use  WebInspector.Resource.type instead.
51583        https://bugs.webkit.org/show_bug.cgi?id=83467
51584
51585        Reviewed by Yury Semikhatsky.
51586
51587        WebInspector.Resource.category is derived from the  WebInspector.Resource.type and there is no real need it maintaining both.
51588
51589        * WebCore.gypi:
51590        * WebCore.vcproj/WebCore.vcproj:
51591        * inspector/compile-front-end.py:
51592        * inspector/front-end/AuditLauncherView.js:
51593        (WebInspector.AuditLauncherView.prototype._onResourceStarted):
51594        (WebInspector.AuditLauncherView.prototype._onResourceFinished):
51595        * inspector/front-end/AuditRules.js:
51596        (WebInspector.AuditRules.GzipRule.prototype._shouldCompress):
51597        (WebInspector.AuditRules.CombineJsResourcesRule):
51598        (WebInspector.AuditRules.CombineCssResourcesRule):
51599        (WebInspector.AuditRules.ParallelizeDownloadRule.prototype.doRun):
51600        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
51601        (WebInspector.AuditRules.CacheControlRule.prototype.isCompressible):
51602        (WebInspector.AuditRules.StaticCookielessRule.prototype.processCookies):
51603        * inspector/front-end/CSSStyleModel.js:
51604        (WebInspector.CSSStyleModelResourceBinding):
51605        (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
51606        (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
51607        * inspector/front-end/ContentProviders.js:
51608        (WebInspector.ResourceContentProvider):
51609        * inspector/front-end/DebuggerPresentationModel.js:
51610        (WebInspector.DebuggerPresentationModelResourceBinding):
51611        * inspector/front-end/ElementsPanel.js:
51612        (WebInspector.ElementsPanel.prototype._getPopoverAnchor):
51613        * inspector/front-end/ExtensionServer.js:
51614        (WebInspector.ExtensionServer.prototype._makeResource):
51615        * inspector/front-end/NetworkManager.js:
51616        (WebInspector.NetworkManager.get this):
51617        (WebInspector.NetworkManager.get NetworkAgent):
51618        (WebInspector.NetworkManager):
51619        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
51620        (WebInspector.NetworkDispatcher.prototype._mimeTypeIsConsistentWithType):
51621        (WebInspector.NetworkDispatcher.prototype._updateResourceWithCachedResource):
51622        (WebInspector.NetworkDispatcher.prototype.responseReceived):
51623        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
51624        * inspector/front-end/NetworkPanel.js:
51625        (WebInspector.NetworkLogView.prototype._createFilterStatusBarItems):
51626        (WebInspector.NetworkLogView.prototype._updateSummaryBar):
51627        (WebInspector.NetworkDataGridNode.prototype.isFilteredOut):
51628        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
51629        (WebInspector.NetworkDataGridNode.prototype._refreshNameCell):
51630        (WebInspector.NetworkDataGridNode.prototype.refreshGraph):
51631        * inspector/front-end/Resource.js:
51632        (WebInspector.Resource):
51633        (WebInspector.Resource.registerDomainModelBinding):
51634        (WebInspector.Resource.prototype.set type):
51635        (WebInspector.Resource.prototype.isEditable):
51636        (WebInspector.Resource.prototype.setContent):
51637        (WebInspector.Resource.prototype.requestContent):
51638        * inspector/front-end/ResourceCategory.js: Removed.
51639        * inspector/front-end/ResourcePreviewView.js:
51640        (WebInspector.ResourcePreviewView.prototype._createPreviewView):
51641        * inspector/front-end/ResourceScriptMapping.js:
51642        (WebInspector.ResourceScriptMapping.prototype.addScript):
51643        * inspector/front-end/ResourceTreeModel.js:
51644        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
51645        (WebInspector.ResourceTreeModel.prototype._onResourceUpdateDropped):
51646        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
51647        * inspector/front-end/ResourceType.js: Added.
51648        (WebInspector.ResourceType):
51649        (WebInspector.ResourceType.prototype.name):
51650        (WebInspector.ResourceType.prototype.title):
51651        (WebInspector.ResourceType.prototype.categoryTitle):
51652        (WebInspector.ResourceType.prototype.color):
51653        (WebInspector.ResourceType.prototype.isTextType):
51654        (WebInspector.ResourceType.prototype.toString):
51655        * inspector/front-end/ResourceView.js:
51656        (WebInspector.ResourceView.hasTextContent):
51657        (WebInspector.ResourceView.nonSourceViewForResource):
51658        (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
51659        * inspector/front-end/ResourcesPanel.js:
51660        (WebInspector.FrameTreeElement.prototype.appendResource):
51661        (WebInspector.FrameResourceTreeElement):
51662        (WebInspector.FrameResourceTreeElement.prototype.onattach):
51663        (WebInspector.ResourceRevisionTreeElement):
51664        * inspector/front-end/WebKit.qrc:
51665        * inspector/front-end/inspector.html:
51666
516672012-04-09  Alexis Menard  <alexis.menard@openbossa.org>
51668
51669        Unreviewed, adding a missing header for the Qt port.
51670
51671        * Target.pri:
51672
516732012-04-09  Pavel Feldman  <pfeldman@chromium.org>
51674
51675        Web Inspector: [network panel] type column shows "undefined" instead of "(Pending)" upon load.
51676        https://bugs.webkit.org/show_bug.cgi?id=83470
51677
51678        Reviewed by Yury Semikhatsky.
51679
51680        isPingRequest is tested for as a field, not a function return value.
51681        
51682        * inspector/front-end/NetworkPanel.js:
51683        (WebInspector.NetworkDataGridNode.prototype._refreshTypeCell):
51684
516852012-03-30  Robert Hogan  <robert@webkit.org>
51686
51687        REGRESSION (r94492): Incorrect initial layout of absolutely positioned <input> inside centering div
51688        https://bugs.webkit.org/show_bug.cgi?id=77754
51689
51690        Reviewed by David Hyatt.
51691
51692        The correct static position of an center-aligned, inline, absolutely positioned object with a block child can't be known
51693        until the width of the child has been computed. This means that setStaticPositions() in RenderBlockLineLayout is setting
51694        the position too early, before the width of the child has been finalised. To fix, adjust the static position of the inline
51695        positioned object once its child's width has been calculated.
51696
51697        Test: fast/css/align-positioned-object-on-resize.html
51698
51699        * rendering/RenderBlock.cpp:
51700        (WebCore::RenderBlock::layoutPositionedObjects):
51701
517022012-04-09  Eric Carlson  <eric.carlson@apple.com>
51703
51704        WebVTT parser unnecessarily limits the value of a timestamp
51705        https://bugs.webkit.org/show_bug.cgi?id=83422
51706
51707        Reviewed by Dan Bernstein.
51708
51709        Test: media/track/track-large-timestamp.html
51710
51711        * html/track/WebVTTParser.cpp:
51712        (WebCore::WebVTTParser::collectTimeStamp): Make all constants double instead of int so 
51713            the maximum number of hours is increased and so we don't need any casts.
51714
517152012-04-09  Abhishek Arya  <inferno@chromium.org>
51716
51717        Incorrect placement of new child to table when before child parent is not |this|.
51718        https://bugs.webkit.org/show_bug.cgi?id=82630
51719
51720        Reviewed by Julien Chaffraix.
51721
51722        Tests: fast/table/table-row-split2.html
51723               fast/table/table-section-split2.html
51724               fast/table/table-split.html
51725               fast/table/table-split2.html
51726        and tested by layouttests in commits r97180, r108127, and a few others.
51727
51728        * rendering/RenderBlock.cpp:
51729        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks): function rename, block->box.
51730        (WebCore::RenderBlock::makeChildrenAnonymousColumnBlocks): ditto.
51731        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): ditto.
51732        * rendering/RenderBlock.h:
51733        (RenderBlock):
51734        * rendering/RenderBox.cpp:
51735        (WebCore::RenderBox::moveChildTo): move these functions from RenderBlock, needs to be
51736        used in RenderBox::splitAnonymousBoxesAroundChild.
51737        (WebCore):
51738        (WebCore::RenderBox::moveChildrenTo): ditto.
51739        (WebCore::markBoxForRelayoutAfterSplit): helper to mark a block or table part for complete relayout
51740        after anonymous boxes are split around child.
51741        (WebCore::RenderBox::splitAnonymousBoxesAroundChild): moved from RenderBlock to be able
51742        to work with table parts.
51743        * rendering/RenderBox.h:
51744        (RenderBox):
51745        (WebCore::RenderBox::moveChildTo):
51746        (WebCore::RenderBox::moveAllChildrenTo):
51747        (WebCore::RenderBox::moveChildrenTo):
51748        * rendering/RenderObject.cpp:
51749        (WebCore::RenderObject::addChild): no longer need the hack added in r95461.
51750        * rendering/RenderRubyBase.cpp:
51751        (WebCore::RenderRubyBase::moveChildren): function rename, block->box.
51752        * rendering/RenderTable.cpp:
51753        (WebCore::RenderTable::addChild): Use splitAnonymousBoxesAroundChild function when |beforeChild| != |this|.
51754        * rendering/RenderTableRow.cpp:
51755        (WebCore::RenderTableRow::addChild): ditto. 
51756        * rendering/RenderTableSection.cpp:
51757        (WebCore::RenderTableSection::addChild): ditto.
51758
517592012-04-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
51760
51761        WebSocketServer: Honour WebSocketFrame::masked in makeFrameData
51762        https://bugs.webkit.org/show_bug.cgi?id=83042
51763
51764        Reviewed by Kent Tamura.
51765
51766        Frames from the server should not be masked.
51767        Currently, the flag is set to false, but the frames were masked anyway.
51768        This causes clients with recent builds of WebKit to abort the connection to the
51769        inspector server, refusing masked frames from the server as per the spec.
51770        This doesn't change the behavior of WebSocket clients, which set the masked flag to true.
51771
51772        * Modules/websockets/WebSocketFrame.cpp:
51773        (WebCore::appendFramePayload):
51774        (WebCore::WebSocketFrame::makeFrameData):
51775
517762012-04-09  Alexis Menard  <alexis.menard@openbossa.org>
51777
51778        [Part 5] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
51779        https://bugs.webkit.org/show_bug.cgi?id=83466
51780
51781        Reviewed by Kentaro Hara.
51782
51783        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
51784        as integers, this patch should adress the last remaining occurences of ints rather than CSSPropertyIDs.
51785    
51786        No new tests : There should be no behavior change in this patch.
51787
51788        * css/CSSStyleSelector.cpp:
51789        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
51790        * css/CSSStyleSelector.h:
51791        (CSSStyleSelector):
51792        * css/StylePropertySet.cpp:
51793        (WebCore::StylePropertySet::removePropertiesInSet):
51794        * page/animation/AnimationBase.cpp:
51795        (WebCore::gatherEnclosingShorthandProperties):
51796        (WebCore::AnimationBase::animatableShorthandsAffectingProperty):
51797        * page/animation/AnimationBase.h:
51798        (AnimationBase):
51799        * page/animation/CompositeAnimation.cpp:
51800        (WebCore::CompositeAnimation::pauseTransitionAtTime):
51801        * page/animation/KeyframeAnimation.cpp:
51802        (WebCore::KeyframeAnimation::animate):
51803        (WebCore::KeyframeAnimation::getAnimatedStyle):
51804        (WebCore::KeyframeAnimation::overrideAnimations):
51805        (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
51806        (WebCore::KeyframeAnimation::timeToNextService):
51807        * rendering/style/KeyframeList.cpp:
51808        (WebCore::KeyframeList::insert):
51809        * rendering/style/KeyframeList.h:
51810        (WebCore::KeyframeValue::addProperty):
51811        (WebCore::KeyframeValue::containsProperty):
51812        (WebCore::KeyframeValue::properties):
51813        (KeyframeValue):
51814        (WebCore::KeyframeList::addProperty):
51815        (WebCore::KeyframeList::containsProperty):
51816        (WebCore::KeyframeList::beginProperties):
51817        (WebCore::KeyframeList::endProperties):
51818        (KeyframeList):
51819
518202012-04-09  Kentaro Hara  <haraken@chromium.org>
51821
51822        Unreviewed, rebaselined run-bindings-tests results.
51823
51824        * bindings/scripts/test/JS/JSFloat64Array.cpp:
51825        (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
51826        (WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
51827        (WebCore::jsFloat64ArrayConstructor):
51828        (WebCore::JSFloat64Array::getConstructor):
51829        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
51830        (WebCore::toFloat64Array):
51831        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
51832        (WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertySlot):
51833        (WebCore::JSTestActiveDOMObjectConstructor::getOwnPropertyDescriptor):
51834        (WebCore::jsTestActiveDOMObjectExcitingAttr):
51835        (WebCore::jsTestActiveDOMObjectConstructor):
51836        (WebCore::JSTestActiveDOMObject::getConstructor):
51837        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
51838        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
51839        (WebCore::JSTestActiveDOMObjectOwner::isReachableFromOpaqueRoots):
51840        (WebCore::JSTestActiveDOMObjectOwner::finalize):
51841        (WebCore::toTestActiveDOMObject):
51842        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
51843        (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
51844        (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
51845        (WebCore::jsTestCustomNamedGetterConstructor):
51846        (WebCore::JSTestCustomNamedGetter::getConstructor):
51847        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
51848        (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
51849        (WebCore::JSTestCustomNamedGetterOwner::finalize):
51850        (WebCore::toTestCustomNamedGetter):
51851        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
51852        (WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
51853        (WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
51854        (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
51855        (WebCore::jsTestEventConstructorAttr1):
51856        (WebCore::jsTestEventConstructorAttr2):
51857        (WebCore::jsTestEventConstructorConstructor):
51858        (WebCore::JSTestEventConstructor::getConstructor):
51859        (WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
51860        (WebCore::JSTestEventConstructorOwner::finalize):
51861        (WebCore::toTestEventConstructor):
51862        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
51863        (WebCore::JSTestEventTargetConstructor::getOwnPropertySlot):
51864        (WebCore::JSTestEventTargetConstructor::getOwnPropertyDescriptor):
51865        (WebCore::jsTestEventTargetConstructor):
51866        (WebCore::JSTestEventTarget::getConstructor):
51867        (WebCore::jsTestEventTargetPrototypeFunctionItem):
51868        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
51869        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
51870        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
51871        (WebCore::JSTestEventTarget::indexGetter):
51872        (WebCore::JSTestEventTargetOwner::isReachableFromOpaqueRoots):
51873        (WebCore::JSTestEventTargetOwner::finalize):
51874        (WebCore::toTestEventTarget):
51875        * bindings/scripts/test/JS/JSTestInterface.cpp:
51876        (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
51877        (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
51878        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
51879        (WebCore::jsTestInterfaceSupplementalStr1):
51880        (WebCore::jsTestInterfaceSupplementalStr2):
51881        (WebCore::jsTestInterfaceSupplementalStr3):
51882        (WebCore::jsTestInterfaceSupplementalNode):
51883        (WebCore::jsTestInterfaceConstructor):
51884        (WebCore::setJSTestInterfaceSupplementalStr2):
51885        (WebCore::setJSTestInterfaceSupplementalStr3):
51886        (WebCore::setJSTestInterfaceSupplementalNode):
51887        (WebCore::JSTestInterface::getConstructor):
51888        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
51889        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
51890        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
51891        (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
51892        (WebCore::JSTestInterfaceOwner::finalize):
51893        (WebCore::toTestInterface):
51894        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
51895        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertySlot):
51896        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
51897        (WebCore::jsTestMediaQueryListListenerConstructor):
51898        (WebCore::JSTestMediaQueryListListener::getConstructor):
51899        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
51900        (WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
51901        (WebCore::JSTestMediaQueryListListenerOwner::finalize):
51902        (WebCore::toTestMediaQueryListListener):
51903        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
51904        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
51905        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
51906        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
51907        (WebCore::jsTestNamedConstructorConstructor):
51908        (WebCore::JSTestNamedConstructor::getConstructor):
51909        (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
51910        (WebCore::JSTestNamedConstructorOwner::finalize):
51911        (WebCore::toTestNamedConstructor):
51912        * bindings/scripts/test/JS/JSTestObj.cpp:
51913        (WebCore::JSTestObjConstructor::getOwnPropertySlot):
51914        (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
51915        (WebCore::JSTestObjConstructor::constructJSTestObj):
51916        (WebCore::jsTestObjReadOnlyIntAttr):
51917        (WebCore::jsTestObjReadOnlyStringAttr):
51918        (WebCore::jsTestObjReadOnlyTestObjAttr):
51919        (WebCore::jsTestObjShortAttr):
51920        (WebCore::jsTestObjUnsignedShortAttr):
51921        (WebCore::jsTestObjIntAttr):
51922        (WebCore::jsTestObjLongLongAttr):
51923        (WebCore::jsTestObjUnsignedLongLongAttr):
51924        (WebCore::jsTestObjStringAttr):
51925        (WebCore::jsTestObjTestObjAttr):
51926        (WebCore::jsTestObjSequenceAttr):
51927        (WebCore::jsTestObjXMLObjAttr):
51928        (WebCore::jsTestObjCreate):
51929        (WebCore::jsTestObjReflectedStringAttr):
51930        (WebCore::jsTestObjReflectedIntegralAttr):
51931        (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
51932        (WebCore::jsTestObjReflectedBooleanAttr):
51933        (WebCore::jsTestObjReflectedURLAttr):
51934        (WebCore::jsTestObjReflectedCustomIntegralAttr):
51935        (WebCore::jsTestObjReflectedCustomBooleanAttr):
51936        (WebCore::jsTestObjReflectedCustomURLAttr):
51937        (WebCore::jsTestObjAttrWithGetterException):
51938        (WebCore::jsTestObjAttrWithSetterException):
51939        (WebCore::jsTestObjStringAttrWithGetterException):
51940        (WebCore::jsTestObjStringAttrWithSetterException):
51941        (WebCore::jsTestObjCustomAttr):
51942        (WebCore::jsTestObjWithScriptStateAttribute):
51943        (WebCore::jsTestObjWithScriptExecutionContextAttribute):
51944        (WebCore::jsTestObjWithScriptStateAttributeRaises):
51945        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
51946        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
51947        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
51948        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
51949        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
51950        (WebCore::jsTestObjConditionalAttr1):
51951        (WebCore::jsTestObjConditionalAttr2):
51952        (WebCore::jsTestObjConditionalAttr3):
51953        (WebCore::jsTestObjConditionalAttr4Constructor):
51954        (WebCore::jsTestObjConditionalAttr5Constructor):
51955        (WebCore::jsTestObjConditionalAttr6Constructor):
51956        (WebCore::jsTestObjCachedAttribute1):
51957        (WebCore::jsTestObjCachedAttribute2):
51958        (WebCore::jsTestObjContentDocument):
51959        (WebCore::jsTestObjMutablePoint):
51960        (WebCore::jsTestObjImmutablePoint):
51961        (WebCore::jsTestObjStrawberry):
51962        (WebCore::jsTestObjStrictFloat):
51963        (WebCore::jsTestObjDescription):
51964        (WebCore::jsTestObjId):
51965        (WebCore::jsTestObjHash):
51966        (WebCore::jsTestObjConstructor):
51967        (WebCore::setJSTestObjShortAttr):
51968        (WebCore::setJSTestObjUnsignedShortAttr):
51969        (WebCore::setJSTestObjIntAttr):
51970        (WebCore::setJSTestObjLongLongAttr):
51971        (WebCore::setJSTestObjUnsignedLongLongAttr):
51972        (WebCore::setJSTestObjStringAttr):
51973        (WebCore::setJSTestObjTestObjAttr):
51974        (WebCore::setJSTestObjSequenceAttr):
51975        (WebCore::setJSTestObjXMLObjAttr):
51976        (WebCore::setJSTestObjCreate):
51977        (WebCore::setJSTestObjReflectedStringAttr):
51978        (WebCore::setJSTestObjReflectedIntegralAttr):
51979        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
51980        (WebCore::setJSTestObjReflectedBooleanAttr):
51981        (WebCore::setJSTestObjReflectedURLAttr):
51982        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
51983        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
51984        (WebCore::setJSTestObjReflectedCustomURLAttr):
51985        (WebCore::setJSTestObjAttrWithGetterException):
51986        (WebCore::setJSTestObjAttrWithSetterException):
51987        (WebCore::setJSTestObjStringAttrWithGetterException):
51988        (WebCore::setJSTestObjStringAttrWithSetterException):
51989        (WebCore::setJSTestObjCustomAttr):
51990        (WebCore::setJSTestObjWithScriptStateAttribute):
51991        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
51992        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
51993        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
51994        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
51995        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
51996        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
51997        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
51998        (WebCore::setJSTestObjConditionalAttr1):
51999        (WebCore::setJSTestObjConditionalAttr2):
52000        (WebCore::setJSTestObjConditionalAttr3):
52001        (WebCore::setJSTestObjConditionalAttr4Constructor):
52002        (WebCore::setJSTestObjConditionalAttr5Constructor):
52003        (WebCore::setJSTestObjConditionalAttr6Constructor):
52004        (WebCore::setJSTestObjMutablePoint):
52005        (WebCore::setJSTestObjImmutablePoint):
52006        (WebCore::setJSTestObjStrawberry):
52007        (WebCore::setJSTestObjStrictFloat):
52008        (WebCore::setJSTestObjId):
52009        (WebCore::JSTestObj::getConstructor):
52010        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
52011        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
52012        (WebCore::jsTestObjPrototypeFunctionIntMethod):
52013        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
52014        (WebCore::jsTestObjPrototypeFunctionObjMethod):
52015        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
52016        (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
52017        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
52018        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
52019        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
52020        (WebCore::jsTestObjPrototypeFunctionIdbKey):
52021        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
52022        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
52023        (WebCore::jsTestObjPrototypeFunctionCustomMethod):
52024        (WebCore::jsTestObjPrototypeFunctionCustomMethodWithArgs):
52025        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
52026        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
52027        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
52028        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
52029        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
52030        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
52031        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
52032        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
52033        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
52034        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
52035        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
52036        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
52037        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
52038        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
52039        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
52040        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefined):
52041        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
52042        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
52043        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
52044        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
52045        (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
52046        (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
52047        (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
52048        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
52049        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
52050        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
52051        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
52052        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
52053        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
52054        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
52055        (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
52056        (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
52057        (WebCore::jsTestObjPrototypeFunctionConvert1):
52058        (WebCore::jsTestObjPrototypeFunctionConvert2):
52059        (WebCore::jsTestObjPrototypeFunctionConvert3):
52060        (WebCore::jsTestObjPrototypeFunctionConvert4):
52061        (WebCore::jsTestObjPrototypeFunctionConvert5):
52062        (WebCore::jsTestObjPrototypeFunctionMutablePointFunction):
52063        (WebCore::jsTestObjPrototypeFunctionImmutablePointFunction):
52064        (WebCore::jsTestObjPrototypeFunctionOrange):
52065        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
52066        (WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
52067        (WebCore::JSTestObjOwner::finalize):
52068        (WebCore::toTestObj):
52069        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
52070        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertySlot):
52071        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
52072        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
52073        (WebCore::jsTestSerializedScriptValueInterfaceValue):
52074        (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
52075        (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
52076        (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
52077        (WebCore::jsTestSerializedScriptValueInterfaceConstructor):
52078        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
52079        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
52080        (WebCore::JSTestSerializedScriptValueInterface::getConstructor):
52081        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
52082        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionMultiTransferList):
52083        (WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
52084        (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
52085        (WebCore::toTestSerializedScriptValueInterface):
52086
520872012-04-09  Charles Wei  <charles.wei@torchmobile.com.cn>
52088
52089        [BlackBerry] Upstream BlackBerry change to WebCore::TouchEvent
52090        https://bugs.webkit.org/show_bug.cgi?id=83454
52091
52092        Reviewed by Rob Buis.
52093
52094        BlackBerry-port enhances the TouchEvent by adding member variables
52095        to indicate if the event is double-tap or touch-hold.
52096
52097        * dom/TouchEvent.cpp:
52098        (WebCore::TouchEvent::TouchEvent):
52099        (WebCore::TouchEvent::initTouchEvent):
52100        * dom/TouchEvent.h:
52101        (TouchEvent):
52102        (WebCore::TouchEvent::setDoubleTap):
52103        (WebCore::TouchEvent::isDoubleTap):
52104        (WebCore::TouchEvent::setTouchHold):
52105        (WebCore::TouchEvent::isTouchHold):
52106
521072012-04-09  James Robinson  <jamesr@chromium.org>
52108
52109        Remove partially implemented per-Element visibility checks from requestAnimationFrame logic
52110        https://bugs.webkit.org/show_bug.cgi?id=74232
52111
52112        Reviewed by Dean Jackson.
52113
52114        The initial requestAnimationFrame implementation had an Element parameter as the second argument to the
52115        function. This element was intended to convey the element associated with the animation so that when the element
52116        was not visible the animation callback would not be run. The checked in implementation does a very limited check
52117        - testing for display:none and being detached from the tree - but does it in a way that does not work correctly
52118        if an element's visibility is manipulated by a callback running from a different document. It also adds
52119        significant complexity to the code, making it less hackable and easy to introduce subtle security bugs or
52120        infinite loops.
52121
52122        This patch removes the parameter. Since it has always been marked optional, there is no web compat risk.
52123
52124        If this functionality is added back in the future it needs to be implemented in a way that considers all
52125        callbacks within a Page and not only those within a single Document.
52126
52127        * dom/Document.cpp:
52128        (WebCore::Document::webkitRequestAnimationFrame):
52129        * dom/Document.h:
52130        * dom/RequestAnimationFrameCallback.h:
52131        * dom/ScriptedAnimationController.cpp:
52132        (WebCore::ScriptedAnimationController::registerCallback):
52133        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
52134        * dom/ScriptedAnimationController.h:
52135        * page/DOMWindow.cpp:
52136        (WebCore::DOMWindow::webkitRequestAnimationFrame):
52137        * page/DOMWindow.h:
52138        * page/DOMWindow.idl:
52139
521402012-04-09  Chris Guan  <chris.guan@torchmobile.com.cn>
52141
52142        [Blackberry] m_isRequestedByPlugin should be copied in ResourceRequest
52143        https://bugs.webkit.org/show_bug.cgi?id=83447
52144
52145        Reviewed by George Staikos.
52146
52147        It is an obvious error, We should copy m_isRequestedByPlugin in ResourceReuest.
52148
52149        No new tests, because those existing plugin test cases are enough.
52150
52151        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
52152        (WebCore::ResourceRequest::doPlatformCopyData):
52153        (WebCore::ResourceRequest::doPlatformAdopt):
52154
521552012-04-09  'Pavel Feldman'  <pfeldman@chromium.org>
52156
52157        Not reviewed: fixing inspector front-end compilation that has been broken by the
52158        recent SaveAs and DOMStorage changes.
52159
52160        * inspector/front-end/DOMStorage.js:
52161        * inspector/front-end/externs.js:
52162        (WebInspector.isURLSaved):
52163
521642012-04-09  Pavel Feldman  <pfeldman@chromium.org>
52165
52166        Web Inspector: remove ComboBoxFileSelector and SingleFileEditorContainer.
52167        https://bugs.webkit.org/show_bug.cgi?id=83460
52168
52169        Reviewed by Yury Semikhatsky.
52170
52171        We are now using scripts navigator and tabbed editor container, removing the old components.
52172        This change removes the corresponding classes and the abstractions used during the
52173        transition period.
52174
52175        * English.lproj/localizedStrings.js:
52176        * inspector/front-end/ScriptsNavigator.js:
52177        (WebInspector.ScriptsNavigator.prototype._scriptSelected):
52178        * inspector/front-end/ScriptsPanel.js:
52179        (WebInspector.ScriptsPanel.get this):
52180        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
52181        (WebInspector.ScriptsPanel.prototype._addUISourceCode):
52182        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
52183        (WebInspector.ScriptsPanel.prototype._reset):
52184        (WebInspector.ScriptsPanel.prototype._showFile):
52185        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
52186        (WebInspector.ScriptsPanel.prototype._editorClosed):
52187        (WebInspector.ScriptsPanel.prototype._scriptSelected):
52188        (WebInspector.ScriptsPanel.prototype._hidePinnedNavigator):
52189        (WebInspector.ScriptsPanel.prototype.set _pinNavigator):
52190        * inspector/front-end/SettingsScreen.js:
52191        (WebInspector.SettingsScreen):
52192        * inspector/front-end/TabbedEditorContainer.js:
52193        (WebInspector.TabbedEditorContainerDelegate):
52194        (WebInspector.TabbedEditorContainerDelegate.prototype.viewForFile):
52195        (get WebInspector):
52196        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
52197        * inspector/front-end/scriptsPanel.css:
52198
521992012-04-09  Dana Jansens  <danakj@chromium.org>
52200
52201        [chromium] Make culling work with clipped rects
52202        https://bugs.webkit.org/show_bug.cgi?id=83217
52203
52204        Reviewed by Adrienne Walker.
52205
52206        Use new CCMathUtil transformation methods to deal with rects that clip
52207        the camera plane. This fixes three things:
52208
52209        1. A layer completely behind the camera is not visible and should not
52210        occlude.
52211        2. A layer that is clipped by the camera is treated like a
52212        non-axis-aligned transform, as the result of a mapClippedRect() is a
52213        bounding box and may contain pixels not in the original rect. This guards
52214        our use of mapRect() when transforming occluded regions.
52215        3. A layer's occlusion must be clipped by its scissor rect. This scissor
52216        rect exists in its target space, so occlusion in screen space is only
52217        possible if its target also is axis aligned in the screen, such that
52218        the layer's scissor rect remains a rect in screen space.
52219
52220        Unit tests: CCOcclusionTrackerTestLayerBehindCameraDoesNotOcclude
52221                    CCOcclusionTrackerTestLargePixelsOccludeInsideClipRect
52222
52223        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
52224        (WebCore::transformSurfaceOpaqueRegion):
52225        (WebCore::computeOcclusionBehindLayer):
52226        (WebCore::::markOccludedBehindLayer):
52227        (WebCore::testContentRectOccluded):
52228        (WebCore::computeUnoccludedContentRect):
52229
522302012-04-09  Zan Dobersek  <zandobersek@gmail.com>
52231
52232        [Gtk] Web Inspector noinst_DATA images are copied into innacurately named directory
52233        https://bugs.webkit.org/show_bug.cgi?id=83423
52234
52235        Reviewed by Martin Robinson.
52236
52237        Copy Web Inspector images that are a part of the data not meant
52238        for installation into a directory named 'Images' rather than
52239        a lower-case version of that. This is required as until now,
52240        when using these inspector resources (for example during layout
52241        tests or manually pointing WEBKIT_INSPECTOR_PATH env to that
52242        location), the images were not displayed as they were not loadable.
52243
52244        No new tests - no new functionality.
52245
52246        * GNUmakefile.am:
52247
522482012-04-06  Pavel Feldman  <pfeldman@chromium.org>
52249
52250        Web Inspector: move breakpoints active state from scripts panel to debugger presentation model.
52251        https://bugs.webkit.org/show_bug.cgi?id=83374
52252
52253        Reviewed by Yury Semikhatsky.
52254
52255        Just moves the state and adds event to propagate it. This is needed to abstract
52256        JavaScriptSourceFrame from the ScriptsPanel.
52257
52258        * inspector/front-end/DebuggerPresentationModel.js:
52259        (WebInspector.DebuggerPresentationModel):
52260        (WebInspector.DebuggerPresentationModel.prototype.setBreakpoint):
52261        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
52262        (WebInspector.DebuggerPresentationModel.prototype.setBreakpointsActive):
52263        (WebInspector.DebuggerPresentationModel.prototype.breakpointsActive):
52264        * inspector/front-end/JavaScriptSourceFrame.js:
52265        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
52266        * inspector/front-end/ScriptsPanel.js:
52267        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
52268        (WebInspector.ScriptsPanel.prototype._breakpointsActiveStateChanged):
52269        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
52270
522712012-04-08  Takashi Sakamoto  <tasak@google.com>
52272
52273        <content> in <meter> is not rendered correctly.
52274        https://bugs.webkit.org/show_bug.cgi?id=81311
52275
52276        This code changes a code location where MeterValueElement's value
52277        attribute is initialized. In the old code, HTMLMeterElement's attach
52278        did. It is better to initialize the attribute just after creating
52279        meter's shadow subtree.
52280
52281        Reviewed by Hajime Morita.
52282
52283        No new tests, because an existing test,
52284        content-element-in-meter-element.html covers.
52285        However test_expectations.txt is changed. Now the test passes.
52286
52287        * html/HTMLMeterElement.cpp:
52288        * html/HTMLMeterElement.h:
52289        (HTMLMeterElement):
52290        (HTMLMeterElement::attach):
52291        Removed attach method, because attach method is just calling
52292        LabelableElement::attach after removing didElementStateChange.
52293        (HTMLMeterElement::createShadowSubTree):
52294        Added setWidthPercentage to initialize MeterValueElement's value
52295        attribute.
52296        * LayoutTests/platform/chromium/test_expectations.txt:
52297        Removed BUGWK81311 fast/dom/shadow/content-element-in-meter.html,
52298        because now contentElementInMeterElement passes.
52299
523002012-04-08  Patrick Gansterer  <paroga@webkit.org>
52301
52302        Build fix for !ENABLE(CSS_FILTERS) && ASSERT_DISABLED after r109953.
52303
52304        * platform/graphics/ca/GraphicsLayerCA.cpp:
52305
523062012-04-07  Patrick Gansterer  <paroga@webkit.org>
52307
52308        [CMake] Cleanup WTF include directories
52309        https://bugs.webkit.org/show_bug.cgi?id=82716
52310
52311        Reviewed by Eric Seidel.
52312
52313        * CMakeLists.txt:
52314
523152012-04-07  Rob Buis  <rbuis@rim.com>
52316
52317        Remove dead code in SVGCSSParser
52318        https://bugs.webkit.org/show_bug.cgi?id=83404
52319
52320        Reviewed by Nikolas Zimmermann.
52321
52322        Remove code that was there to create a SVGColor representation for color, but was never reached. Since
52323        SVGColor is deprecated now (also see bug 15012), this code has lost any potential. Should SVGColor come
52324        back in SVG2 we can revisit this.
52325
52326        Add a test to confirm for SVG we follow the CSS3 handling of color="currentColor". This is something the
52327        removed code never dealt with, but the existing code in CSSParser.cpp handles, make sure we stick to this
52328        behaviour in the future using this test.
52329
52330        Test: svg/custom/currentColor-on-color.html
52331
52332        * css/SVGCSSParser.cpp:
52333        (WebCore::CSSParser::parseSVGValue):
52334
523352012-04-07  Nikolas Zimmermann  <nzimmermann@rim.com>
52336
52337        FrameData constructor zeroes all fields, causing ImageOrientation to be 0
52338        https://bugs.webkit.org/show_bug.cgi?id=83416
52339
52340        Inofficially rubber-stamped by Tim Horton.
52341
52342        Lots of svg/as-image/ crash on debug builds. FrameData is used in a Vector and currently
52343        special VectorTraits force it to be initialized with memset(), nulling all members, instead
52344        of properly initializing them causing the ImageOrientation bug. To be able to remove the
52345        SimpleClassVectorTraits specialization, we have to allow FrameData to be copied.
52346
52347        * platform/graphics/BitmapImage.h:
52348
523492012-04-07  Nikolas Zimmermann  <nzimmermann@rim.com>
52350
52351        Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
52352        https://bugs.webkit.org/show_bug.cgi?id=82577
52353
52354        Reviewed by Filip Pizlo.
52355
52356        Work-around entity expansion bug that affects several SVG tests on Lion.
52357
52358        Sample test document which is currently broken:
52359        <?xml version="1.0" encoding="UTF-8"?>
52360        <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
52361        <!ENTITY Smile "<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='red'/>">
52362        ]>
52363
52364        <svg xmlns="http://www.w3.org/2000/svg">&Smile;</svg>
52365
52366        The expanded rect carries no namespace, thus an Element will be created for it, instead of a SVGRectElement.
52367        libxml2 2.7.4 fixed this bug (https://bugzilla.gnome.org/show_bug.cgi?id=502960) in 2009 already, but Lion
52368        still ships with 2.7.3, so we need to find a work-around for the problem. It works like this:
52369        - When an entity is requested (getEntityHandler) determine whether the entity is being declared (while the <!ENTITY.. parses)
52370          or wheter its references (when the &Smile; is parsed). If its referenced, record the current depth of the libxml2 parser.
52371        - When startElementNs is called while we're expanding entities, be sure to transfer the namespace of the parent node
52372          to the new node, but only do this if the current depth() is greater than the depth() at the time where entity expansion started.
52373          This way we only apply our workaround for elements inside entities, that get expanded at the insertion point.
52374        - When endElementNs is called, and our current depth() is less than our equal to the depth() where entity expansion started,
52375          clear the recorded detph(), and stop executing the workaround.
52376
52377        It requires storing an extra integer & boolean in XMLDocumentParser, which is only used for this work-around.
52378
52379        * xml/parser/XMLDocumentParser.h:
52380        (XMLDocumentParser):
52381        (WebCore::XMLDocumentParser::isParsingEntityDeclaration):
52382        (WebCore::XMLDocumentParser::setIsParsingEntityDeclaration):
52383        (WebCore::XMLDocumentParser::depthTriggeringEntityExpansion):
52384        (WebCore::XMLDocumentParser::setDepthTriggeringEntityExpansion):
52385        * xml/parser/XMLDocumentParserLibxml2.cpp:
52386        (WebCore::XMLDocumentParser::XMLDocumentParser):
52387        (WebCore::hackAroundLibXMLEntityParsingBug):
52388        (WebCore::XMLDocumentParser::startElementNs):
52389        (WebCore::XMLDocumentParser::endElementNs):
52390        (WebCore::entityDeclarationHandler):
52391        (WebCore::getEntityHandler):
52392        (WebCore::XMLDocumentParser::initializeParserContext):
52393
523942012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
52395
52396        Unreviewed, rolling out r113526.
52397        http://trac.webkit.org/changeset/113526
52398        https://bugs.webkit.org/show_bug.cgi?id=83417
52399
52400        speculative rollout for broken chrome browser_test (Requested
52401        by simonjam on #webkit).
52402
52403        * loader/DocumentLoader.cpp:
52404        (WebCore::DocumentLoader::stopLoading):
52405        (WebCore::DocumentLoader::finishedLoading):
52406        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
52407        (WebCore):
52408        (WebCore::DocumentLoader::setParsedArchiveData):
52409        (WebCore::DocumentLoader::scheduleArchiveLoad):
52410        (WebCore::DocumentLoader::documentURL):
52411        * loader/DocumentLoader.h:
52412        (DocumentLoader):
52413        * loader/FrameLoader.cpp:
52414        (WebCore::FrameLoader::receivedFirstData):
52415        (WebCore::FrameLoader::loadArchive):
52416        (WebCore::FrameLoader::stopAllLoaders):
52417        (WebCore::FrameLoader::finishedLoadingDocument):
52418        (WebCore):
52419        * loader/FrameLoader.h:
52420        (FrameLoader):
52421        (WebCore::FrameLoader::archive):
52422
524232012-04-06  James Robinson  <jamesr@chromium.org>
52424
52425        [chromium] Avoid deleting impl tree when becoming invisible
52426        https://bugs.webkit.org/show_bug.cgi?id=83396
52427
52428        Reviewed by Adrienne Walker.
52429
52430        This bit of code in CCLayerTreeHost::didBecomeInvisible..() was an attempt to drop resources when becoming
52431        invisible. However, it's fairly confused - we drop textures via TextureManagers when going invisible and
52432        CCLayerImpl destructors can't delete non-managed resources since they do not have access to a context - so this
52433        code was never actually freeing up GPU resources. Having a sometimes-null CCLayerImpl tree when we still have a
52434        valid LayerChromium tree has lead to various tricky bugs.
52435
52436        No new tests since this code wasn't doing anything useful in the first place.
52437
52438        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
52439        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
52440
524412012-04-06  Leo Yang  <leo.yang@torchmobile.com.cn>
52442
52443        LocalFileSystem::initializeLocalFileSystem should be static
52444        https://bugs.webkit.org/show_bug.cgi?id=83356
52445
52446        Reviewed by Rob Buis.
52447
52448        LocalFileSystem::initializeLocalFileSystem should be static because
52449        static LocalFileSystem::localFileSystem() requires initializeLocalFileSystem()
52450        is called before it gets called.
52451
52452        No functionalities changed, no new tests.
52453
52454        * Modules/filesystem/LocalFileSystem.h:
52455        (LocalFileSystem):
52456
524572012-04-06  Martin Robinson  <mrobinson@igalia.com>
52458
52459        [GTK] Accelerated compositing is broken after recent TextureMapper reorganizations
52460        https://bugs.webkit.org/show_bug.cgi?id=83393
52461
52462        Reviewed by Noam Rosenthal.
52463
52464        No new tests. This will be covered by existing accelerated compositing tests
52465        once the implementation is complete.
52466
52467        The GTK+ implementation doesn't clip currently, so hold off enabling the
52468        scissor test until necessary.
52469
52470        * platform/graphics/texmap/TextureMapperGL.cpp:
52471        (WebCore::TextureMapperGL::beginPainting): Do not enable the scissor test.
52472        (WebCore::TextureMapperGL::beginScissorClip): Enable the scissor test once
52473        we know for sure we will be using scissored clipping.
52474
524752012-04-06  Keishi Hattori  <keishi@webkit.org>
52476
52477        Remove obsolete parts of <datalist> support code
52478        https://bugs.webkit.org/show_bug.cgi?id=83117
52479
52480        Removing HTMLInputElement::selectedOption because it was removed from the specification.
52481        Removing -webkit-appearance:list-button and -webkit-input-list-button pseudo selector
52482        related code because we decided not to use it.
52483
52484        Reviewed by Kent Tamura.
52485
52486        * WebCore.order:
52487        * css/CSSPrimitiveValueMappings.h:
52488        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
52489        * css/CSSSelector.cpp:
52490        (WebCore::CSSSelector::pseudoId):
52491        (WebCore::nameToPseudoTypeMap):
52492        (WebCore::CSSSelector::extractPseudoType):
52493        * css/CSSSelector.h:
52494        * css/CSSValueKeywords.in:
52495        * css/html.css:
52496        (datalist):
52497        * html/HTMLInputElement.cpp:
52498        * html/HTMLInputElement.h:
52499        (HTMLInputElement):
52500        * html/HTMLInputElement.idl:
52501        * inspector/front-end/SourceCSSTokenizer.js:
52502        (WebInspector.SourceCSSTokenizer):
52503        * inspector/front-end/SourceCSSTokenizer.re2js:
52504        * inspector/front-end/StylesSidebarPane.js:
52505        * platform/ThemeTypes.h:
52506        * platform/chromium/ThemeChromiumMac.mm:
52507        (WebCore::setupButtonCell):
52508        (WebCore::paintButton):
52509        (WebCore::ThemeChromiumMac::controlSize):
52510        (WebCore::ThemeChromiumMac::minimumControlSize):
52511        (WebCore::ThemeChromiumMac::controlBorder):
52512        (WebCore::ThemeChromiumMac::paint):
52513        * platform/mac/ThemeMac.mm:
52514        (WebCore::setUpButtonCell):
52515        (WebCore::paintButton):
52516        (WebCore::ThemeMac::controlSize):
52517        (WebCore::ThemeMac::minimumControlSize):
52518        (WebCore::ThemeMac::controlBorder):
52519        (WebCore::ThemeMac::paint):
52520        * platform/qt/RenderThemeQtMobile.cpp:
52521        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
52522        * rendering/RenderTheme.cpp:
52523        (WebCore::RenderTheme::adjustStyle):
52524        (WebCore::RenderTheme::paint):
52525        (WebCore::RenderTheme::paintBorderOnly):
52526        (WebCore::RenderTheme::paintDecorations):
52527        * rendering/RenderThemeMac.mm:
52528        (WebCore::RenderThemeMac::adjustRepaintRect):
52529
525302012-04-06  Oliver Hunt  <oliver@apple.com>
52531
52532        Accessing the returnValue of a modal dialog should be performed directly on the global object.
52533        https://bugs.webkit.org/show_bug.cgi?id=83414
52534
52535        Reviewed by Gavin Barraclough.
52536
52537        Presumably during the mass-devirtualising of JSObject, this deliberate use of
52538        the GlobalObject's property lookup logic directly was replaced with a dynamic
52539        call.  That results in the DOMWindow filtering out the lookup.  This regression
52540        was masked by r93567.
52541
52542        * bindings/js/JSDOMWindowCustom.cpp:
52543        (WebCore::DialogHandler::returnValue):
52544
525452012-04-06  Nate Chapin  <japhet@chromium.org>
52546
52547        Move Archive processing to DocumentLoader, instead of FrameLoader.
52548        https://bugs.webkit.org/show_bug.cgi?id=83055
52549
52550        Reviewed by Adam Barth.
52551
52552        No new tests, no functionality change intended.
52553
52554        * loader/DocumentLoader.cpp:
52555        (WebCore::DocumentLoader::finishedLoading):
52556        (WebCore::DocumentLoader::setupForReplaceByMIMEType):
52557        (WebCore::DocumentLoader::maybeCreateArchive): Renamed from
52558            FrameLoader::finishedLoadingDocument(). Returns true if an archive
52559            was created.
52560        (WebCore::DocumentLoader::setArchive):
52561        (WebCore::DocumentLoader::scheduleArchiveLoad):
52562        (WebCore::DocumentLoader::documentURL): Add a check for whether an archive url
52563            should be returned, so that we don't need special handling in Document and
52564            FrameLoader for overriding the document url later.
52565        * loader/DocumentLoader.h:
52566        * loader/FrameLoader.cpp:
52567        (WebCore::FrameLoader::receivedFirstData): Remove archive special cases, since
52568            DocumentLoader::documentURL() will return the right thing for legacy archives
52569            and maybeCreateArchive() will override the base url for mhtml.
52570        (WebCore::FrameLoader::loadArchive):
52571        * loader/FrameLoader.h:
52572
525732012-04-06  Charles Wei  <charles.wei@torchmobile.com.cn>
52574
52575        [BlackBerry] Build fix to match the latest WebCore change
52576        https://bugs.webkit.org/show_bug.cgi?id=83358
52577
52578        Reviewed by Rob Buis.
52579
52580        Update the BlackBerry cmake file to reflect the fact that:
52581        1.VDMXParser.cpp moved from graphics/skia to graphics/chromium.
52582        2.geolocation moved to Modules/geolocation
52583        3.websockets moved to Modules/websockets
52584
52585        * PlatformBlackBerry.cmake:
52586
525872012-04-06  Charles Wei  <charles.wei@torchmobile.com.cn>
52588
52589        [BlackBerry] Restore some code which was deleted by accident.
52590        https://bugs.webkit.org/show_bug.cgi?id=83357
52591
52592        Reviewed by Rob Buis.
52593
52594        No new tests, just BlackBerry build fix.
52595
52596        * platform/network/blackberry/ResourceRequest.h:
52597        (ResourceRequest):
52598        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
52599        (WebCore):
52600        (WebCore::mimeTypeRequestTypeMap):
52601        (WebCore::ResourceRequest::targetTypeFromMimeType):
52602
526032012-04-06  Alexandre Elias  <aelias@google.com>
52604
52605        Fix bug in ContainerNode::getRect with scale transforms
52606        https://bugs.webkit.org/show_bug.cgi?id=83385
52607
52608        Reviewed by Simon Fraser.
52609
52610        The bottom-right corner calculation for non-inline and replaced
52611        elements in ContainerNode::getRect was incorrect in the presence of
52612        scaling, because the untransformed element size was added after the
52613        transformation is applied.  The rest of the calculations are careful
52614        to always apply the transformation as the last step, but this had been
52615        forgotten in this codepath.  The fix is just to make sure the size is
52616        included in the localToAbsolute call.
52617
52618        One bug caused by this was that a scaled element would be cut off
52619        when scrollIntoView(false) is called to scroll its parent container
52620        to make it bottom-visible.
52621
52622        New layout test case in fast/transforms/scrollIntoView-transformed.html
52623
52624        * dom/ContainerNode.cpp:
52625        (WebCore::ContainerNode::getLowerRightCorner):
52626
526272012-04-06  Tim Horton  <timothy_horton@apple.com>
52628
52629        m_shouldRespectImageOrientation is used uninitialized
52630        https://bugs.webkit.org/show_bug.cgi?id=83410
52631
52632        Reviewed by Simon Fraser.
52633
52634        Initialize Settings's m_shouldRespectImageOrientation to false.
52635
52636        * page/Settings.cpp:
52637        (WebCore::Settings::Settings):
52638
526392012-04-06  James Robinson  <jamesr@chromium.org>
52640
52641        [chromium] Clear values in combinedClear path not respected in WebGLRenderingContext::clearIfComposited()
52642        https://bugs.webkit.org/show_bug.cgi?id=83407
52643
52644        Reviewed by Kenneth Russell.
52645
52646        When doing a combined clear in the drawing buffer path, we have to use the user specified values for the clear
52647        color / mask / depth and not all 0s.
52648
52649        Covered by slight modification to fast/canvas/webgl/canvas-test.html
52650
52651        * html/canvas/WebGLRenderingContext.cpp:
52652        (WebCore):
52653        (WebCore::WebGLRenderingContext::clearIfComposited):
52654        * platform/graphics/gpu/DrawingBuffer.cpp:
52655        (WebCore::DrawingBuffer::clearFramebuffers):
52656        (WebCore::DrawingBuffer::reset):
52657        * platform/graphics/gpu/DrawingBuffer.h:
52658
526592012-04-06  Tony Chang  <tony@chromium.org>
52660
52661        [chromium] merge redundant conditions in WebCore.gyp
52662        https://bugs.webkit.org/show_bug.cgi?id=83319
52663
52664        Reviewed by Adam Barth.
52665
52666        There were duplicate conditions in some of the targets (e.g., 2
52667        OS=="win" sections) so I merged them and if possible, used an else
52668        block of an existing condition.
52669
52670        No new tests, just refactoring the build file.
52671
52672        * WebCore.gyp/WebCore.gyp:
52673
526742012-04-06  Simon Fraser  <simon.fraser@apple.com>
52675
52676        Rename paintingGoesToWindow() to paintsIntoWindow()
52677        https://bugs.webkit.org/show_bug.cgi?id=83406
52678
52679        Reviewed by Dirk Schulze.
52680        
52681        Rename paintingGoesToWindow() to paintsIntoWindow() to be consistent
52682        with some future refactoring.
52683
52684        * rendering/RenderLayer.cpp:
52685        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
52686        (WebCore::RenderLayer::paintLayer):
52687        (WebCore::RenderLayer::paintsWithTransform):
52688        (WebCore::RenderLayer::setBackingNeedsRepaint):
52689        (WebCore::RenderLayer::setBackingNeedsRepaintInRect):
52690        * rendering/RenderLayerBacking.cpp:
52691        (WebCore::RenderLayerBacking::containsPaintedContent):
52692        (WebCore::RenderLayerBacking::paintsIntoWindow):
52693        (WebCore::RenderLayerBacking::paintIntoLayer):
52694        * rendering/RenderLayerBacking.h:
52695        (RenderLayerBacking):
52696        * rendering/RenderLayerCompositor.cpp:
52697        (WebCore::RenderLayerCompositor::rootLayerAttachmentChanged):
52698        * rendering/RenderObject.cpp:
52699        (WebCore::RenderObject::repaintUsingContainer):
52700        * rendering/RenderView.cpp:
52701        (WebCore::RenderView::paintBoxDecorations):
52702
527032012-04-06  James Simonsen  <simonjam@chromium.org>
52704
52705        Roll out change to HTMLParserIdioms.cpp from 82857
52706        https://bugs.webkit.org/show_bug.cgi?id=83402
52707
52708        Change 82857 causes a DCHECK on fast/forms/number/ValidityState-typeMismatch-number.html
52709
52710        Darin suggested we roll out this file here: https://bugs.webkit.org/show_bug.cgi?id=82857#c20
52711
52712        Unreviewed, rolling out change that broke tests.
52713
52714        * html/parser/HTMLParserIdioms.cpp:
52715        (WebCore::parseToDoubleForNumberType):
52716
527172012-04-06  Ilya Sherman  <isherman@chromium.org>
52718
52719        Allow site authors to override autofilled fields' colors.
52720        https://bugs.webkit.org/show_bug.cgi?id=66032
52721        http://code.google.com/p/chromium/issues/detail?id=46543
52722
52723        Reviewed by Simon Fraser.
52724
52725        * css/html.css:
52726        (input:-webkit-autofill): Remove !important declarations.
52727
527282012-04-05  Enrica Casucci  <enrica@apple.com>
52729
52730        Provide Obj-C private API to simplify markup.
52731        https://bugs.webkit.org/show_bug.cgi?id=83334
52732        <rdar://problem/11033861>
52733
52734        Reviewed by Sam Weinig.
52735
52736        Added test in TestWebKitAPI
52737
52738        * WebCore.exp.in:
52739        * editing/Editor.cpp:
52740        (WebCore::Editor::simplifyMarkup): Exposing the new command through the editor.
52741        * editing/Editor.h:
52742
527432012-04-06  Benjamin Poulain  <bpoulain@apple.com>
52744
52745        Get rid of the useless flag PREEMPT_GEOLOCATION_PERMISSION
52746        https://bugs.webkit.org/show_bug.cgi?id=83325
52747
52748        Reviewed by Ryosuke Niwa.
52749
52750        The flag WTF_USE_PREEMPT_GEOLOCATION_PERMISSION was added in r63742 but
52751        was never disabled by anyone. Supporting this feature added complexity by
52752        introducing two authorization scheme.
52753
52754        This patch removes WTF_USE_PREEMPT_GEOLOCATION_PERMISSION and the code supporting
52755        granting the authorization after startUpdating().
52756
52757        * Modules/geolocation/Geolocation.cpp:
52758        (WebCore::Geolocation::GeoNotifier::runSuccessCallback): With the simplified
52759        authorization code, we ensure stronger constraint on GeoNotifier::runSuccessCallback().
52760        (WebCore::Geolocation::stop):
52761        (WebCore::Geolocation::startRequest):
52762        (WebCore::Geolocation::clearWatch):
52763        (WebCore::Geolocation::setIsAllowed):
52764        (WebCore::Geolocation::positionChanged): The case (!isAllowed()) was there
52765        to support granting the authorization for WTF_USE_PREEMPT_GEOLOCATION_PERMISSION.
52766        (WebCore::Geolocation::handlePendingPermissionNotifiers):
52767        * Modules/geolocation/Geolocation.h:
52768        (Geolocation):
52769
527702012-04-06  Tom Sepez  <tsepez@chromium.org>
52771
52772        Block cross-origin iframe scroll to fragment.
52773        https://bugs.webkit.org/show_bug.cgi?id=73083
52774
52775        Reviewed by Adam Barth.
52776
52777        Add a restriction similar to what FF has done for all iframes for over a
52778        year now. Our change is less disruptive in that it only does this in the
52779        cross-orgin case, which is where the fragment scrolling is problematic.
52780
52781        Test: http/tests/navigation/anchor-frames-cross-origin.html
52782
52783        * dom/Document.cpp:
52784        (WebCore::Document::canBeAccessedByEveryAncestorFrame):
52785        (WebCore):
52786        * dom/Document.h:
52787        (Document):
52788        * loader/FrameLoader.cpp:
52789        (WebCore::FrameLoader::finishedParsing):
52790        (WebCore::FrameLoader::loadInSameDocument):
52791        (WebCore::FrameLoader::loadURL):
52792        (WebCore::FrameLoader::loadWithDocumentLoader):
52793        (WebCore::FrameLoader::shouldPerformFragmentNavigation):
52794        (WebCore::FrameLoader::scrollToFragmentIfAllowed):
52795        (WebCore):
52796        * loader/FrameLoader.h:
52797        (FrameLoader):
52798
527992012-04-03  Jer Noble  <jer.noble@apple.com>
52800
52801        Foreground of apple.com/iphone video page visible during full screen animation.
52802        https://bugs.webkit.org/show_bug.cgi?id=83080
52803
52804        Reviewed by Simon Fraser.
52805
52806        No new tests; updated fullscreen/full-screen-stacking-context.html
52807
52808        The apple.com/iphone video page uses a -webkit-mask: CSS style, which creates a stacking
52809        context and causes the page to pop in front of the full screen renderer.  Add all the
52810        styles suggested by the W3C full screen spec to the -webkit-full-screen-ancestor rule
52811        to keep these stacking contexts from being created.
52812
52813        * css/fullscreen.css:
52814        (:-webkit-full-screen-ancestor:not(iframe)):
52815
528162012-04-06  Abhishek Arya  <inferno@chromium.org>
52817
52818        Virtualize createAnonymousBoxWithSameTypeAs.
52819        https://bugs.webkit.org/show_bug.cgi?id=83229
52820
52821        Reviewed by Julien Chaffraix.
52822
52823        This helps to use the same function to create anonymous
52824        table parts and in the future extend to more classes
52825        derived from RenderBox.
52826
52827        The current switch case situation was going to be messy as
52828        we will need to mix cases that were very dependent on the
52829        class, so it made sense to add a virtual function.
52830
52831        * rendering/RenderBlock.cpp:
52832        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild):
52833        (WebCore::RenderBlock::createAnonymousBoxWithSameTypeAs):
52834        * rendering/RenderBlock.h:
52835        (RenderBlock):
52836        * rendering/RenderBox.h:
52837        (WebCore::RenderBox::createAnonymousBoxWithSameTypeAs):
52838        (RenderBox):
52839        * rendering/RenderInline.cpp:
52840        (WebCore::RenderInline::splitFlow):
52841        * rendering/RenderTable.h:
52842        (WebCore::RenderTable::createAnonymousBoxWithSameTypeAs):
52843        * rendering/RenderTableCell.h:
52844        (WebCore::RenderTableCell::createAnonymousBoxWithSameTypeAs):
52845        * rendering/RenderTableRow.h:
52846        (WebCore::RenderTableRow::createAnonymousBoxWithSameTypeAs):
52847        * rendering/RenderTableSection.h:
52848        (WebCore::RenderTableSection::createAnonymousBoxWithSameTypeAs):
52849
528502012-04-06  Tim Horton  <timothy_horton@apple.com>
52851
52852        [cg] REGRESSION (r101517): Animating the transform of a <rect> with shape-rendering: crispEdges leaves behind garbage
52853        https://bugs.webkit.org/show_bug.cgi?id=82963
52854        <rdar://problem/11170476>
52855
52856        Reviewed by Simon Fraser.
52857
52858        CoreGraphics can inflate the stroke by 1px when drawing a rectangle
52859        with antialiasing disabled at non-integer coordinates, we need to
52860        compensate by inflating the RenderSVGRect repaint bounds by 1px.
52861
52862        No new tests, as this is not reproducible in DRT or WKTR.
52863
52864        * rendering/svg/RenderSVGRect.cpp:
52865        (WebCore::RenderSVGRect::createShape):
52866        (WebCore::RenderSVGRect::strokeBoundingBox):
52867        * rendering/svg/RenderSVGRect.h:
52868        (RenderSVGRect):
52869
528702012-04-05  Simon Fraser  <simon.fraser@apple.com>
52871
52872        Avoid trying to set filters on transform layers
52873        https://bugs.webkit.org/show_bug.cgi?id=83344
52874
52875        Reviewed by Dean Jackson.
52876
52877        Return early from GraphicsLayerCA::setFilters() when the filters
52878        haven't changed. This avoids trying to clear filters on CALayers
52879        which never had them, which should both help performance, and avoids
52880        console spew related to setting shadow properties on transform layers.
52881        
52882        * platform/graphics/ca/GraphicsLayerCA.cpp:
52883        (WebCore::GraphicsLayerCA::setFilters):
52884
528852012-04-06  James Robinson  <jamesr@chromium.org>
52886
52887        WebGL content swapped at wrong time in threaded compositing mode
52888        https://bugs.webkit.org/show_bug.cgi?id=82275
52889
52890        Reviewed by Kenneth Russell.
52891
52892        When using threaded compositing, we need to defer touching the texture ID being used by the compositor until the
52893        appropriate point in the synchronization routine and not before. Specifically, there is no time at which it is
52894        safe to manipulate the texture the compositor may be using from the main thread. This breaks up the presentation
52895        path into a few pieces (depending on the context attributes) in order to maintain these invariants.
52896
52897        Depending on the context attributes and if we're in threaded mode, there are a few different possible back/front
52898        buffer combinations:
52899
52900        - When the context is antialiased, we have a multisampled renderbuffer and associated framebuffer.
52901        - In all cases, we have a color texture back buffer.
52902        - When preserveDrawingBuffer is set or threaded compositing is enabled, we have a separate color texture as a
52903        front buffer.
52904
52905        The resource update is in two phases. First, on the main thread, we prepare the back buffer. This resolves from
52906        the multisampled FBO into the back color buffer if multisampled and swaps the front / back color buffer textures
52907        if preserveDrawingBuffer is false and we're using separate front / back color buffers. Second, on the compositor
52908        thread, we do a texture copy from the back to the front color buffer if preserveDrawingBuffer is true. After
52909        these steps are complete the main thread is free to manipulate the back buffer color texture without affecting
52910        any resources the compositor is using.
52911
52912        One incidental cleanup this patch also does is remove all state queries from DrawingBuffer::clearFramebuffer().
52913
52914        Tests: fast/canvas/webgl/webgl-composite-modes-repaint.html
52915               fast/canvas/webgl/webgl-composite-modes.html
52916
52917        * html/canvas/WebGLRenderingContext.cpp:
52918        (WebCore):
52919        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
52920        (WebCore::WebGLRenderingContext::clearIfComposited):
52921        (WebCore::WebGLRenderingContext::restoreStateAfterClear):
52922        (WebCore::WebGLRenderingContext::reshape):
52923        (WebCore::WebGLRenderingContext::maybeRestoreContext):
52924        * html/canvas/WebGLRenderingContext.h:
52925        (WebGLRenderingContext):
52926        * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp:
52927        (WebCore::DrawingBuffer::DrawingBuffer):
52928        (WebCore):
52929        (WebCore::DrawingBuffer::prepareBackBuffer):
52930        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
52931        (WebCore::DrawingBuffer::frontColorBuffer):
52932        * platform/graphics/cairo/DrawingBufferCairo.cpp:
52933        (WebCore::DrawingBuffer::DrawingBuffer):
52934        (WebCore):
52935        (WebCore::DrawingBuffer::prepareBackBuffer):
52936        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
52937        (WebCore::DrawingBuffer::frontColorBuffer):
52938        * platform/graphics/chromium/DrawingBufferChromium.cpp:
52939        (WebCore::generateColorTexture):
52940        (WebCore::DrawingBuffer::DrawingBuffer):
52941        (WebCore::DrawingBuffer::initialize):
52942        (WebCore::DrawingBuffer::prepareBackBuffer):
52943        (WebCore):
52944        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
52945        (WebCore::DrawingBuffer::frontColorBuffer):
52946        (WebCore::DrawingBuffer::platformLayer):
52947        * platform/graphics/chromium/WebGLLayerChromium.cpp:
52948        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
52949        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
52950        (WebCore::WebGLLayerChromium::updateCompositorResources):
52951        (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
52952        (WebCore::WebGLLayerChromium::setNeedsDisplayRect):
52953        (WebCore::WebGLLayerChromium::setDrawingBuffer):
52954        * platform/graphics/chromium/WebGLLayerChromium.h:
52955        (WebGLLayerChromium):
52956        * platform/graphics/clutter/DrawingBufferClutter.cpp:
52957        (WebCore::DrawingBuffer::DrawingBuffer):
52958        (WebCore):
52959        (WebCore::DrawingBuffer::prepareBackBuffer):
52960        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
52961        (WebCore::DrawingBuffer::frontColorBuffer):
52962        * platform/graphics/filters/FECustomFilter.cpp:
52963        (WebCore::FECustomFilter::initializeContext):
52964        * platform/graphics/gpu/DrawingBuffer.cpp:
52965        (WebCore::DrawingBuffer::create):
52966        (WebCore::DrawingBuffer::clear):
52967        (WebCore::DrawingBuffer::clearFramebuffer):
52968        (WebCore::DrawingBuffer::reset):
52969        (WebCore::DrawingBuffer::discardResources):
52970        * platform/graphics/gpu/DrawingBuffer.h:
52971        (DrawingBuffer):
52972        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
52973        (WebCore::DrawingBuffer::DrawingBuffer):
52974        (WebCore):
52975        (WebCore::DrawingBuffer::prepareBackBuffer):
52976        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
52977        (WebCore::DrawingBuffer::frontColorBuffer):
52978        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
52979        (WebCore::DrawingBuffer::DrawingBuffer):
52980        (WebCore::DrawingBuffer::platformLayer):
52981        (WebCore::DrawingBuffer::prepareBackBuffer):
52982        (WebCore::DrawingBuffer::requiresCopyFromBackToFrontBuffer):
52983        (WebCore):
52984        (WebCore::DrawingBuffer::frontColorBuffer):
52985
529862012-04-06  Julien Chaffraix  <jchaffraix@webkit.org>
52987
52988        Unreviewed build fix after r113486 and r113487.
52989
52990        * rendering/RenderObject.cpp:
52991        Added missing #include.
52992
52993        * rendering/RenderView.h:
52994        Removed bad OVERRIDE.
52995
529962012-04-06  Beth Dakin  <bdakin@apple.com>
52997
52998        https://bugs.webkit.org/show_bug.cgi?id=81939
52999        -webkit-image-set should update dynamically when the device scale factor 
53000        changes
53001        -and corresponding-
53002        <rdar://problem/11101108> 
53003
53004        Reviewed by Darin Adler.
53005
53006        New member variable to keep track of the scale factor.
53007        * css/CSSImageSetValue.cpp:
53008        (WebCore::CSSImageSetValue::CSSImageSetValue):
53009        (WebCore::CSSImageSetValue::bestImageForScaleFactor):
53010
53011         Merge the two cachedImageSet functions. There was no need for two functions here.
53012        (WebCore::CSSImageSetValue::cachedImageSet):
53013
53014        cachedOrPendingImageSet() now takes a Document as a parameter so that it can 
53015        access the deviceScaleFactor. If there is a cached image already and the 
53016        Document's deviceScaleFactor doesn't match m_scaleFactor, then m_imageSet is set 
53017        to a pending image so that the best fit image will be reassessed and then 
53018        loaded.
53019        (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
53020        * css/CSSImageSetValue.h:
53021        (WebCore):
53022        (CSSImageSetValue):
53023
53024        cachedOrPendingImageSet() now takes a Document.
53025        * css/CSSStyleSelector.cpp:
53026        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
53027
53028        StyleCachedImageSet should inherit from CachedImageClient just like 
53029        StyleCachedImage. It should add and remove itself as a client upon creation 
53030        and destruction, respectively.
53031        * rendering/style/StyleCachedImageSet.cpp:
53032        (WebCore::StyleCachedImageSet::StyleCachedImageSet):
53033        (WebCore):
53034        (WebCore::StyleCachedImageSet::~StyleCachedImageSet):
53035        * rendering/style/StyleCachedImageSet.h:
53036        (StyleCachedImageSet):
53037
530382012-04-06  Levi Weintraub  <leviw@chromium.org>
53039
53040        Update LayoutUnit usage in RenderView
53041        https://bugs.webkit.org/show_bug.cgi?id=83147
53042
53043        Reviewed by Julien Chaffraix.
53044
53045        Updating the usage of LayoutUnits in RenderView in preparation for sub-pixel layout. This mostly
53046        affects paint and repaint functions, which take LayoutRects up to the RenderView level. This is
53047        necessary as we continue to accumulate sub-pixel offsets up to this level.
53048
53049        No new tests. No change in behavior.
53050
53051        * rendering/RenderView.cpp:
53052        (WebCore::RenderView::paint): Adding an assert that we're being called to paint on pixel
53053        boundaries. We don't currently ever position RenderViews at sub-pixel offsets.
53054        (WebCore::RenderView::shouldRepaint):
53055        (WebCore::RenderView::repaintViewRectangle): Switching to a LayoutRect and cleaning up a fixme
53056        that used decomposed offsets. Pixel snapping is applied before handing the rect up to the
53057        FrameView.
53058        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): Pixel snapping before handing
53059        the rect up to the Compositor.
53060        (WebCore::RenderView::computeRectForRepaint):
53061        (WebCore::RenderView::selectionBounds):
53062        (WebCore::RenderView::viewRect):
53063        (WebCore::RenderView::unscaledDocumentRect):
53064        * rendering/RenderView.h:
53065        (RenderView):
53066
530672012-04-06  Tim Horton  <timothy_horton@apple.com>
53068
53069        Add autodetection of image orientation from EXIF information
53070        https://bugs.webkit.org/show_bug.cgi?id=19688
53071        <rdar://problem/4126979> and <rdar://problem/11091578>
53072
53073        Original patch by David Carson and Eric Seidel.
53074
53075        Reviewed by Simon Fraser.
53076
53077        Add support for respecting EXIF image orientation, enabled by default for ImageDocuments.
53078        The setting shouldRespectImageOrientation causes orientation to take effect for any image included via <img>.
53079
53080        Test: fast/images/exif-orientation.html, fast/images/exif-orientation-css.html
53081
53082        * WebCore.xcodeproj/project.pbxproj: Add ImageOrientation.{cpp, h}
53083        * loader/cache/CachedImage.cpp:
53084        (WebCore::CachedImage::imageForRenderer): Plumb setting down from RenderObject into Image.
53085        (WebCore::CachedImage::imageSizeForRenderer):
53086        * page/Settings.h:
53087        (WebCore::Settings::setShouldRespectImageOrientation):
53088        (WebCore::Settings::shouldRespectImageOrientation):
53089        (Settings):
53090        * platform/graphics/BitmapImage.cpp:
53091        (WebCore::BitmapImage::cacheFrame):
53092        (WebCore::BitmapImage::size):
53093        (WebCore::BitmapImage::sizeRespectingOrientation):
53094        (WebCore):
53095        (WebCore::BitmapImage::ensureFrameIsCached):
53096        (WebCore::BitmapImage::frameAtIndex):
53097        (WebCore::BitmapImage::frameIsCompleteAtIndex):
53098        (WebCore::BitmapImage::frameDurationAtIndex):
53099        (WebCore::BitmapImage::frameHasAlphaAtIndex):
53100        (WebCore::BitmapImage::frameOrientationAtIndex):
53101        * platform/graphics/BitmapImage.h:
53102        (WebCore::FrameData::FrameData):
53103        (FrameData):
53104        (BitmapImage):
53105        * platform/graphics/GraphicsContext.h:
53106        (GraphicsContext):
53107        * platform/graphics/ImageOrientation.cpp: Added.
53108        (WebCore):
53109        (WebCore::ImageOrientation::transformFromDefault):
53110        * platform/graphics/ImageOrientation.h: Added.
53111        (WebCore):
53112        (ImageOrientation):
53113        (WebCore::ImageOrientation::ImageOrientation):
53114        (WebCore::ImageOrientation::usesWidthAsHeight):
53115        (WebCore::ImageOrientation::fromEXIFValue):
53116        (WebCore::ImageOrientation::operator==):
53117        (WebCore::ImageOrientation::operator!=):
53118        * platform/graphics/ImageSource.cpp:
53119        (WebCore::ImageSource::orientationAtIndex):
53120        (WebCore):
53121        * platform/graphics/ImageSource.h:
53122        (WebCore):
53123        * platform/graphics/cg/GraphicsContextCG.cpp:
53124        (WebCore::GraphicsContext::drawNativeImage): Transform the image while drawing if its orientation requires it.
53125        * platform/graphics/cg/ImageBufferCG.cpp:
53126        (WebCore::ImageBuffer::draw):
53127        * platform/graphics/cg/ImageCG.cpp:
53128        (WebCore::FrameData::clear):
53129        (WebCore::BitmapImage::BitmapImage):
53130        (WebCore::BitmapImage::draw):
53131        * platform/graphics/cg/ImageSourceCG.cpp:
53132        (WebCore::imageSourceOptions): Don't use SkipMetaData on Lion/Snow Leopard, as it prevents us from retrieving orientation data.
53133        (WebCore::ImageSource::frameSizeAtIndex): Adjust the image's size based on its orientation.
53134        (WebCore):
53135        (WebCore::ImageSource::orientationAtIndex):
53136        (WebCore::ImageSource::size):
53137        * platform/graphics/mac/DragImageMac.mm:
53138        (createDragImageFromImage): Create scaled copy of image for drag image if we're respecting orientation and it is non-default.
53139        * rendering/RenderObject.h:
53140        (RenderObject):
53141        (WebCore::RenderObject::shouldRespectImageOrientation):
53142
531432012-04-06  Levi Weintraub  <leviw@chromium.org>
53144
53145        Correct LayoutUnit usgae in RenderThemeQt and RenderThemeQStyle
53146        https://bugs.webkit.org/show_bug.cgi?id=83376
53147
53148        Reviewed by Eric Seidel.
53149
53150        Correcting LayoutUnit usage in QT RenderTheme code.
53151
53152        No new tests. No change in behavior.
53153
53154        * platform/qt/RenderThemeQt.cpp:
53155        (WebCore::RenderThemeQt::convertToPaintingRect): Rounding the ancestor offset before
53156        applying it to the pixel snapped partRect.
53157        (WebCore::RenderThemeQt::paintSearchFieldCancelButton): Also rounding the ancestor
53158        offset, and also pixel snapping the content rect before painting.
53159
531602012-04-06  Kenneth Russell  <kbr@google.com>
53161
53162        context-lost.html is failing
53163        https://bugs.webkit.org/show_bug.cgi?id=81325
53164
53165        Reviewed by James Robinson.
53166
53167        Ensure that the DrawingBuffer does not attempt to restore the
53168        TEXTURE_2D binding to an already-deleted texture.
53169
53170        Tested with layout test fast/canvas/webgl/context-lost.html as
53171        well as WebGL conformance tests.
53172
53173        * html/canvas/WebGLRenderingContext.cpp:
53174        (WebCore):
53175        (WebCore::WebGLRenderingContext::loseContextImpl):
53176
531772012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
53178
53179        Unreviewed, rolling out r113267.
53180        http://trac.webkit.org/changeset/113267
53181        https://bugs.webkit.org/show_bug.cgi?id=83384
53182
53183        causes dhtml perf regression (Requested by simonjam on
53184        #webkit).
53185
53186        * dom/ChildListMutationScope.cpp:
53187        (ChildListMutationScope::MutationAccumulator):
53188        (WebCore::ChildListMutationScope::MutationAccumulator::isAddedNodeInOrder):
53189        (WebCore::ChildListMutationScope::MutationAccumulator::childAdded):
53190        (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
53191        * dom/ChildListMutationScope.h:
53192        (WebCore::ChildListMutationScope::childAdded):
53193        (MutationAccumulationRouter):
53194        * dom/ContainerNode.cpp:
53195        (WebCore):
53196        (WebCore::ContainerNode::insertBefore):
53197        (WebCore::ContainerNode::replaceChild):
53198        (WebCore::ContainerNode::appendChild):
53199        (WebCore::dispatchChildInsertionEvents):
53200        (WebCore::updateTreeAfterInsertion):
53201
532022012-04-06  Joshua Bell  <jsbell@chromium.org>
53203
53204        IndexedDB: ObjectStore/Index shouldn't hold reference to backing store
53205        https://bugs.webkit.org/show_bug.cgi?id=83074
53206
53207        We should be able to collect and close the leveldb backing store as soon as the database
53208        connection is closed, but the IDBObjectStoreBackendImpl and IDBIndexBackendImpl were
53209        holding RefPtrs, and those objects are kept alive by script references.
53210
53211        Replaced RefPtrs to the IDBBackingStore with pointers to the IDBDatabase. On the back end,
53212        IDBDatabaseBackendImpl maintains a RefPtr to the IDBObjectStoreBackendImpl object, so 
53213        a raw pointer back is safe. On the front end, the IDBObjectStore maintains a RefPtr to
53214        the IDBDatabase so script can navigate upwards. Ditto on both ends for the ObjectStore/Index
53215        relationship. The frontend objects maintain RefPtrs to the backend objects, so the backend
53216        objects and their owners are maintained as long as there's a script reference.
53217
53218        Also made IDBDatabaseBackendImpl handle a null IDBFactoryBackendImpl pointer, for testing.
53219
53220        Reviewed by Tony Chang.
53221
53222        Tests: webkit_unit_tests --gtest_filter="IDBDatabaseBackendTest.*"
53223
53224        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp:
53225        (WebCore::IDBDatabaseBackendImpl::~IDBDatabaseBackendImpl):
53226        (WebCore::IDBDatabaseBackendImpl::createObjectStore):
53227        (WebCore::IDBDatabaseBackendImpl::loadObjectStores):
53228        * Modules/indexeddb/IDBIndexBackendImpl.cpp:
53229        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
53230        (WebCore::IDBIndexBackendImpl::openCursorInternal):
53231        (WebCore::IDBIndexBackendImpl::countInternal):
53232        (WebCore::IDBIndexBackendImpl::getInternal):
53233        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
53234        * Modules/indexeddb/IDBIndexBackendImpl.h:
53235        (WebCore::IDBIndexBackendImpl::create):
53236        (IDBIndexBackendImpl):
53237        (WebCore::IDBIndexBackendImpl::backingStore):
53238        (WebCore::IDBIndexBackendImpl::databaseId):
53239        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp:
53240        (WebCore::IDBObjectStoreBackendImpl::IDBObjectStoreBackendImpl):
53241        (WebCore::IDBObjectStoreBackendImpl::getInternal):
53242        (WebCore::IDBObjectStoreBackendImpl::putInternal):
53243        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
53244        (WebCore::IDBObjectStoreBackendImpl::clearInternal):
53245        (WebCore):
53246        (WebCore::IDBObjectStoreBackendImpl::createIndex):
53247        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
53248        (WebCore::IDBObjectStoreBackendImpl::deleteIndexInternal):
53249        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
53250        (WebCore::IDBObjectStoreBackendImpl::countInternal):
53251        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
53252        (WebCore::IDBObjectStoreBackendImpl::genAutoIncrementKey):
53253        * Modules/indexeddb/IDBObjectStoreBackendImpl.h:
53254        (WebCore::IDBObjectStoreBackendImpl::create):
53255        (IDBObjectStoreBackendImpl):
53256        (WebCore::IDBObjectStoreBackendImpl::backingStore):
53257        (WebCore::IDBObjectStoreBackendImpl::databaseId):
53258
532592012-04-06  Jon Lee  <jonlee@apple.com>
53260
53261        Fix build warning on const long long to int implicit conversion.
53262
53263        * inspector/InspectorApplicationCacheAgent.cpp:
53264        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
53265
532662012-04-06  Emil A Eklund  <eae@chromium.org>
53267
53268        Fix LayoutUnit usage and rounding in RenderBlock and RenderEmbeddedObject
53269        https://bugs.webkit.org/show_bug.cgi?id=83343
53270
53271        Reviewed by Eric Seidel.
53272
53273        Fix usage of LayoutUnits and rounding/pixel snapping in RenderBlock and
53274        RenderEmbeddedObject in preparation for turing on subpixel support.
53275
53276        No new tests, no change in functionality.
53277
53278        * rendering/RenderBlock.cpp:
53279        (WebCore::RenderBlock::baselinePosition):
53280        * rendering/RenderEmbeddedObject.cpp:
53281        (WebCore::RenderEmbeddedObject::nodeAtPoint):
53282
532832012-04-06  Dan Bernstein  <mitz@apple.com>
53284
53285        <rdar://problem/10912476> HiDPI: Have canvas use a hidpi backing store, but downsample upon access
53286
53287        Reviewed by Sam Weinig.
53288
53289        * Configurations/FeatureDefines.xcconfig: Added ENABLE_HIGH_DPI_CANVAS.
53290
532912012-04-06  Levi Weintraub  <leviw@chromium.org>
53292
53293        Update LayoutUnit usage in Editor and Frame
53294        https://bugs.webkit.org/show_bug.cgi?id=83278
53295
53296        Reviewed by Eric Seidel.
53297
53298        Frame and Editor both take input from the embedder, which passes along coordinates in screen
53299        coordinates, which aren't fractional. Updating a few remaining functions to show this, and correcting
53300        some inconsistencies in LayoutUnit usage.
53301
53302        No new tests. No change in behavior.
53303
53304        * editing/Editor.cpp:
53305        (WebCore::Editor::rangeForPoint): windowToContents returns an IntPoint.
53306        (WebCore::Editor::countMatchesForText): Using enclosingIntRect since we're (fake) repainting the entire
53307        view rect.
53308        * editing/Editor.h:
53309        (Editor): Correcting mismatched function signature.
53310        * page/Frame.cpp:
53311        (WebCore::Frame::visiblePositionForPoint): Frame takes points in screen coordinates, usually from the
53312        embedder. Changing these functions to be in IntPoints.
53313        (WebCore::Frame::documentAtPoint): Ditto.
53314        (WebCore::Frame::rangeForPoint): Ditto.
53315        * page/Frame.h:
53316        (Frame):
53317        * platform/graphics/IntRect.h:
53318        (enclosingIntRect): Adding an inline no-op copy of the FractionalLayoutRect method enclosingIntRect.
53319
533202012-04-06  Tommy Widenflycht  <tommyw@google.com>
53321
53322        MediaStream API: Deleting the chromium bridge class MediaStreamCenterInternal
53323        https://bugs.webkit.org/show_bug.cgi?id=83167
53324
53325        Reviewed by Adam Barth.
53326
53327        The situation before this patch is that we had a MediaStreamCenter.h with #ifdefs for the chromium specific
53328        private class MediaStreamCenterInternal. This bridge class only shuffled calls between MediaStreamCenter and
53329        WebMediaStreamCenter and was needed before the introduction of Platform.
53330        To get rid of this now unnecessary class I had two alternatives:
53331        1) Sprinkle platform/MediaStreamCenter.h with more #ifdefs, including around the class declaration.
53332        2) Create an abstract base class that the chromium and gstreamer implementations overrides.
53333        My personal preference is 2) since I strongly dislike #ifdefs. The drawback is that MediaStreamCenter now
53334        has a vtable. However since all methods in this class are extremely low-usage it doesn't affect anything
53335        in practice.
53336
53337        No code behaviour changes.
53338
53339        * GNUmakefile.am:
53340        * GNUmakefile.list.am:
53341        * Modules/mediastream/MediaStreamTrack.cpp:
53342        (WebCore::MediaStreamTrack::setEnabled):
53343        * Modules/mediastream/UserMediaRequest.cpp:
53344        * Modules/mediastream/UserMediaRequest.h:
53345        * WebCore.gyp/WebCore.gyp:
53346        * WebCore.gypi:
53347        * platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
53348        * platform/mediastream/MediaStreamCenter.cpp:
53349        (WebCore::MediaStreamCenter::MediaStreamCenter):
53350        (WebCore):
53351        (WebCore::MediaStreamCenter::~MediaStreamCenter):
53352        * platform/mediastream/MediaStreamCenter.h:
53353        (WebCore):
53354        (MediaStreamCenter):
53355        * platform/mediastream/MediaStreamSourcesQueryClient.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.h.
53356        (WebCore):
53357        (MediaStreamSourcesQueryClient):
53358        (WebCore::MediaStreamSourcesQueryClient::~MediaStreamSourcesQueryClient):
53359        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp:
53360        (WebCore::MediaStreamCenter::instance):
53361        (WebCore::MediaStreamCenterChromium::MediaStreamCenterChromium):
53362        (WebCore::MediaStreamCenterChromium::~MediaStreamCenterChromium):
53363        (WebCore::MediaStreamCenterChromium::queryMediaStreamSources):
53364        (WebCore::MediaStreamCenterChromium::didSetMediaStreamTrackEnabled):
53365        (WebCore::MediaStreamCenterChromium::didStopLocalMediaStream):
53366        (WebCore::MediaStreamCenterChromium::didConstructMediaStream):
53367        (WebCore::MediaStreamCenterChromium::constructSDP):
53368        (WebCore):
53369        (WebCore::MediaStreamCenterChromium::stopLocalMediaStream):
53370        * platform/mediastream/chromium/MediaStreamCenterChromium.h: Renamed from Source/WebCore/platform/mediastream/chromium/MediaStreamCenterInternal.h.
53371        (WebKit):
53372        (WebCore):
53373        (MediaStreamCenterChromium):
53374        * platform/mediastream/chromium/MediaStreamCenterInternal.cpp: Removed.
53375        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
53376        (WebCore):
53377        (WebCore::MediaStreamCenter::instance):
53378        (WebCore::MediaStreamCenterGStreamer::MediaStreamCenterGStreamer):
53379        (WebCore::MediaStreamCenterGStreamer::~MediaStreamCenterGStreamer):
53380        (WebCore::MediaStreamCenterGStreamer::queryMediaStreamSources):
53381        (WebCore::MediaStreamCenterGStreamer::didSetMediaStreamTrackEnabled):
53382        (WebCore::MediaStreamCenterGStreamer::didStopLocalMediaStream):
53383        (WebCore::MediaStreamCenterGStreamer::didConstructMediaStream):
53384        (WebCore::MediaStreamCenterGStreamer::constructSDP):
53385        * platform/mediastream/gstreamer/MediaStreamCenterGStreamer.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.h.
53386        (WebCore):
53387        (MediaStreamCenterGStreamer):
53388
533892012-04-05  Simon Fraser  <simon.fraser@apple.com>
53390
53391        Should disable preserves3D() for things that enforce flattening, like overflow and filters
53392        https://bugs.webkit.org/show_bug.cgi?id=83337
53393
53394        Reviewed by Dean Jackson.
53395        
53396        The CSS3 Transforms spec says that some properties should cause flattening
53397        of things with transform-style: preserve-3d. We currently do this as a side
53398        effect of the GraphicsLayer structure, but we should really do it at the
53399        RenderStyle level, as we do for other things like stacking context creation.
53400
53401        Test: compositing/overflow-trumps-transform-style.html
53402
53403        * css/CSSStyleSelector.cpp:
53404        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
53405
534062012-04-06  Tommy Widenflycht  <tommyw@google.com>
53407
53408        MediaStream API: MediaStreams stops proper cleanup to take place during a page reload.
53409        https://bugs.webkit.org/show_bug.cgi?id=83143
53410
53411        Reviewed by Adam Barth.
53412
53413        To fix this I have converted MediaStream and LocalMediaStream to be ActiveDOMObjects.
53414
53415        Have no idea how to write a test that succesfully verifies this. I have done manual testing
53416        to verify that proper tear-down now takes place.
53417
53418        * Modules/mediastream/LocalMediaStream.cpp:
53419        (WebCore::LocalMediaStream::create):
53420        (WebCore::LocalMediaStream::stopFunction):
53421        (WebCore):
53422        * Modules/mediastream/LocalMediaStream.h:
53423        (LocalMediaStream):
53424        * Modules/mediastream/LocalMediaStream.idl:
53425        * Modules/mediastream/MediaStream.cpp:
53426        (WebCore::MediaStream::create):
53427        (WebCore::MediaStream::MediaStream):
53428        (WebCore::MediaStream::scriptExecutionContext):
53429        * Modules/mediastream/MediaStream.h:
53430        (MediaStream):
53431
534322012-04-06  Dan Bernstein  <mitz@apple.com>
53433
53434        <rdar://problem/10912476> Pixel access canvas APIs do not work transparently with high-DPI backing store
53435        https://bugs.webkit.org/show_bug.cgi?id=83072
53436
53437        Reviewed by Simon Fraser.
53438
53439        Made getImageData, putImageData, and toDataURL downsample/upsample when pixels in the canvas
53440        backing store are not in a 1:1 ratio to CSS pixels. This makes clients of these APIs
53441        indifferent to the backing store resolution, up to sampling artifacts.
53442
53443        In order for this to work, ImageBuffer has to know and respect the resolutionScale
53444        parameter. This change makes the Core Graphics-based implementation of ImageBuffer do this,
53445        but on other platforms, resolutionScale values other than 1 will not work. Such platforms
53446        should not enable the HIGH_DPI_CANVAS feature.
53447
53448        * html/HTMLCanvasElement.cpp:
53449        (WebCore::HTMLCanvasElement::HTMLCanvasElement): Updated a comment.
53450        (WebCore::HTMLCanvasElement::createImageBuffer): Changed to create an ImageBuffer with
53451        the desired resolution instead of 1.
53452        * html/canvas/CanvasRenderingContext2D.cpp:
53453        (WebCore::CanvasRenderingContext2D::drawImage): Removed code that scaled the source rect,
53454        since this is now handled at the ImageBuffer level.
53455        (WebCore::CanvasRenderingContext2D::createImageData): Now returns ImageData of the requested
53456        size regardless of the backing store resolution.
53457        (WebCore::CanvasRenderingContext2D::getImageData): Ditto.
53458        * platform/graphics/ImageBuffer.h:
53459        (WebCore::ImageBuffer::create): Removed some code that tried to apply the resolution scale
53460        to the buffer after creating it, and changed to pass the resolution scale down to the
53461        (platform-specific) constructor, which can apply it correctly.
53462        * platform/graphics/cairo/ImageBufferCairo.cpp:
53463        (WebCore::ImageBuffer::ImageBuffer):
53464        * platform/graphics/cg/ImageBufferCG.cpp:
53465        (WebCore::ImageBuffer::ImageBuffer): Added a resolutionScale parameter, which is used to
53466        compute the backing buffer size, and to apply a device scale factor to the context.
53467        (WebCore::ImageBuffer::copyImage): Changed to return an image scaled down to the logical
53468        size of the buffer.
53469        (WebCore::ImageBuffer::getUnmultipliedImageData): Changed to pass the resolution scale to
53470        ImageData::getData().
53471        (WebCore::ImageBuffer::getPremultipliedImageData): Ditto.
53472        (WebCore::ImageBuffer::putByteArray): Changed to pass the resolution scale to
53473        ImageData::putData(). When drawing the byte array as an image, changed to preserve the base
53474        CTM in the destination context (thus mapping from image data pixels to backing store pixels).
53475        (WebCore::ImageBuffer::toDataURL): Fixed a CGColorSpace leak. Made the returned image have
53476        the buffer’s logical size instead of the backing buffer’s size.
53477        (WebCore::ImageDataToDataURL): Fixed a CGColorSpace leak.
53478        * platform/graphics/cg/ImageBufferDataCG.cpp:
53479        (WebCore::ImageBufferData::getData): Added a resolutionScale parameter. The source
53480        coordinates are scaled by the value of that parameter, and a reverse scaling transform
53481        is applied when copying from the backing store into the destination (either explicitly
53482        using Accelerate or implicitly by drawing as an image). Since after scaling,
53483        unpremultiplication and component permutation are done in-place, made the
53484        non-Accelerate code that does these things safe in this case.
53485        (WebCore::ImageBufferData::putData): Added a resolutionScale parameter. The destination
53486        coordinates are scaled by the value of that parameter, and a scaling transform is applied
53487        when copying from the source into the backing store (either explicitly using Accelerate or
53488        implicitly by drawing as an image). Since after scaling, premultiplication and component
53489        permutation are done in-place, made the non-Accelerate code that does these things safe in
53490        this case.
53491        * platform/graphics/cg/ImageBufferDataCG.h:
53492        * platform/graphics/qt/ImageBufferQt.cpp:
53493        (WebCore::ImageBuffer::ImageBuffer):
53494        * platform/graphics/skia/ImageBufferSkia.cpp:
53495        (WebCore::ImageBuffer::ImageBuffer):
53496        * platform/graphics/wince/ImageBufferWinCE.cpp:
53497        (WebCore::ImageBuffer::ImageBuffer):
53498        * platform/graphics/wx/ImageBufferWx.cpp:
53499        (WebCore::ImageBuffer::ImageBuffer):
53500
535012012-04-06  Dana Jansens  <danakj@chromium.org>
53502
53503        [chromium] Draw debug borders for tiles on layers with skipsDraw
53504        https://bugs.webkit.org/show_bug.cgi?id=83352
53505
53506        Reviewed by Adrienne Walker.
53507
53508        The tiles are given the same color as other missing tiles.
53509
53510        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
53511        (WebCore::CCTiledLayerImpl::appendQuads):
53512
535132012-04-06  Rob Buis  <rbuis@rim.com>
53514
53515        Fix cast-align warnings in JSC
53516        https://bugs.webkit.org/show_bug.cgi?id=80790
53517
53518        Reviewed by George Staikos.
53519
53520        * platform/graphics/WOFFFileFormat.cpp:
53521        (WebCore::readUInt32):
53522        (WebCore::readUInt16):
53523        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
53524        (WebCore::preMultipliedBGRAtoRGB):
53525        * platform/network/MIMESniffing.cpp:
53526
535272012-04-06  Darin Adler  <darin@apple.com>
53528
53529        Streamline strtod and fix some related problems
53530        https://bugs.webkit.org/show_bug.cgi?id=82857
53531
53532        Reviewed by Geoffrey Garen.
53533
53534        Refactoring of code covered by existing tests.
53535
53536        * dom/ViewportArguments.cpp:
53537        (WebCore::numericPrefix): Removed a confusing comment that just said
53538        "we tolerate extra characters" in a roundabout way. Made the "ok"
53539        argument optional. Changed to call the new version of charactersToFloat
53540        that returns the number of characters parsed rather than using the
53541        charactersToFloatIgnoringJunk/didReadNumber solution from before.
53542        (WebCore::findSizeValue): Since numericPrefix is guaranteed to return 0
53543        when it can't parse, removed the "ok" code. Also changed the unusual
53544        syntax "float(1.0)" to just "1", which works just as well.
53545        (WebCore::findScaleValue): Ditto.
53546        (WebCore::findUserScalableValue): Ditto.
53547
53548        * html/parser/HTMLParserIdioms.cpp:
53549        (WebCore::parseToDoubleForNumberType): Removed an unneeded code path
53550        and replaced it with an assertion; toDouble no longer will return infinity
53551        or not-a-number values.
53552
535532012-04-06  Dana Jansens  <danakj@chromium.org>
53554
53555        [chromium] Surface replica should have a separate quad in the render pass
53556        https://bugs.webkit.org/show_bug.cgi?id=83287
53557
53558        Reviewed by Adrienne Walker.
53559
53560        Generate separate quads for a RenderSurface and its replica. The replica
53561        quad is drawn independently of the surface itself. This allows us to
53562        cull each one independently.
53563
53564        Covered by existing tests.
53565
53566        * platform/graphics/chromium/LayerRendererChromium.cpp:
53567        (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
53568        (WebCore::LayerRendererChromium::copyOffscreenTextureToDisplay):
53569        * platform/graphics/chromium/cc/CCRenderPass.cpp:
53570        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
53571        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
53572        (WebCore::CCRenderSurface::setScissorRect):
53573        (WebCore):
53574        (WebCore::CCRenderSurface::drawContents):
53575        (WebCore::CCRenderSurface::drawReplica):
53576        (WebCore::CCRenderSurface::hasReplica):
53577        * platform/graphics/chromium/cc/CCRenderSurface.h:
53578        (CCRenderSurface):
53579        * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp:
53580        (WebCore::CCRenderSurfaceDrawQuad::create):
53581        (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
53582        * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h:
53583        (CCRenderSurfaceDrawQuad):
53584        (WebCore::CCRenderSurfaceDrawQuad::isReplica):
53585
535862012-04-05  Martin Robinson  <mrobinson@igalia.com>
53587
53588        [GObject bindings] Fix the coding style issues in the generated bindings
53589        https://bugs.webkit.org/show_bug.cgi?id=82080
53590
53591        Reviewed by Kentaro Hara.
53592
53593        No new tests. This is covered by the binding tests.
53594
53595        * bindings/scripts/CodeGeneratorGObject.pm: Fix most style errors in the generated
53596          GObject code.
53597        * bindings/scripts/test/GObject: Updated the expected results.
53598
53599
536002012-04-06  Adam Klein  <adamk@chromium.org>
53601
53602        Remove bogus assert from ChildListMutationScope
53603        https://bugs.webkit.org/show_bug.cgi?id=83336
53604
53605        Reviewed by Ryosuke Niwa.
53606
53607        This assert can trivially be triggered from script, but luckily the
53608        code already behaves correctly without it.
53609
53610        * dom/ChildListMutationScope.cpp:
53611        (WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):
53612
536132012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
53614
53615        Unreviewed, rolling out r113442.
53616        http://trac.webkit.org/changeset/113442
53617        https://bugs.webkit.org/show_bug.cgi?id=83373
53618
53619        for breaking JSC bindings compilation (Requested by pfeldman
53620        on #webkit).
53621
53622        * GNUmakefile.list.am:
53623        * Target.pri:
53624        * UseJSC.cmake:
53625        * UseV8.cmake:
53626        * WebCore.gypi:
53627        * WebCore.vcproj/WebCore.vcproj:
53628        * WebCore.xcodeproj/project.pbxproj:
53629        * bindings/js/JSMutationCallbackCustom.cpp: Added.
53630        (WebCore):
53631        (WebCore::JSMutationCallback::handleEvent):
53632        * bindings/scripts/CodeGenerator.pm:
53633        * bindings/scripts/CodeGeneratorJS.pm:
53634        (AddIncludesForTypeInImpl):
53635        (GenerateCallbackHeader):
53636        (GenerateCallbackImplementation):
53637        * bindings/scripts/CodeGeneratorV8.pm:
53638        (GenerateCallbackHeader):
53639        (GenerateCallbackImplementation):
53640        * bindings/scripts/test/JS/JSTestCallback.cpp:
53641        (WebCore::JSTestCallback::callbackWithBoolean):
53642        * bindings/scripts/test/JS/JSTestCallback.h:
53643        (JSTestCallback):
53644        * bindings/scripts/test/TestCallback.idl:
53645        * bindings/scripts/test/V8/V8TestCallback.cpp:
53646        (WebCore::V8TestCallback::callbackWithBoolean):
53647        * bindings/scripts/test/V8/V8TestCallback.h:
53648        (V8TestCallback):
53649        * bindings/v8/custom/V8MutationCallbackCustom.cpp: Added.
53650        (WebCore):
53651        (WebCore::V8MutationCallback::handleEvent):
53652        * dom/MutationCallback.idl:
53653
536542012-04-06  Zan Dobersek  <zandobersek@gmail.com>
53655
53656        [Gtk] Unskip the video track tests
53657        https://bugs.webkit.org/show_bug.cgi?id=82590
53658
53659        Reviewed by Martin Robinson.
53660
53661        Enable the video track runtime feature for the Gtk port as well.
53662
53663        No new tests - existing ones will be unskipped.
53664
53665        * bindings/generic/RuntimeEnabledFeatures.cpp:
53666        (WebCore):
53667
536682012-04-06  Michael Saboff  <msaboff@apple.com>
53669
53670        Call Heap::discardAllCompiledCode() in low memory situations
53671        https://bugs.webkit.org/show_bug.cgi?id=83335
53672
53673        Reviewed by Geoffrey Garen.
53674
53675        Added call to discardAllCompiledCode() when under memory pressure.
53676        We can re-JIT as needed.  This is similar to what we used to do when we did
53677        a full GC which also cleaned up JIT code.  Doing a full GC typically didn't
53678        help our memory situation, in fact it made things worse in the really low
53679        memory situation as it caused more paging.
53680
53681        Added pass through discardAllCompiledCode() method to GCController.
53682
53683        * bindings/js/GCController.cpp:
53684        (WebCore::GCController::discardAllCompiledCode):
53685        (WebCore):
53686        * bindings/js/GCController.h:
53687        (GCController):
53688        * platform/mac/MemoryPressureHandlerMac.mm:
53689        (WebCore::MemoryPressureHandler::releaseMemory):
53690
536912012-04-06  Andrey Kosyakov  <caseq@chromium.org>
53692
53693        Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
53694        https://bugs.webkit.org/show_bug.cgi?id=82616
53695
53696        Reviewed by Pavel Feldman.
53697
53698        - center minimal selection on mouse cursor if the mouse hasn't moved (i.e. we had a click, not drag)
53699
53700        * inspector/front-end/TimelineOverviewPane.js:
53701        (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
53702
537032012-04-06  Vineet Chaudhary  <rgf748@motorola.com>
53704
53705        Add CodeGenerator support for sequence<> in callbacks.
53706        https://bugs.webkit.org/show_bug.cgi?id=83233
53707
53708        Reviewed by Kentaro Hara.
53709
53710        Tests: TestCallback.idl and fast/mutation/callback-arguments.html should pass even after
53711        the changes.
53712
53713        * GNUmakefile.list.am: Removed unsued custom files V8MutationCallbackCustom.cpp 
53714          and JSMutationCallbackCustom.cpp from builds.
53715        * Target.pri: Ditto.
53716        * UseJSC.cmake: Ditto.
53717        * UseV8.cmake: Ditto.
53718        * WebCore.gypi: Ditto.
53719        * WebCore.vcproj/WebCore.vcproj: Ditto.
53720        * WebCore.xcodeproj/project.pbxproj: Ditto.
53721        * bindings/js/JSMutationCallbackCustom.cpp: Removed.
53722        * bindings/scripts/CodeGeneratorJS.pm:
53723        (AddIncludesForTypeInImpl): Add proper header type.
53724        (GenerateCallbackHeader): Generate declaration for the callback with sequence<T> argument.
53725        (GenerateCallbackImplementation): Generate implementation for the callback with sequence<T> argument.
53726        * bindings/scripts/CodeGeneratorV8.pm:
53727        (GenerateCallbackHeader): Generate declaration for the callback with sequence<T> argument.
53728        (GenerateCallbackImplementation): Generate implementation for the callback with sequence<T> argument.
53729        * bindings/scripts/test/JS/JSTestCallback.cpp: Modified test results of run-bindings-tests.
53730        (WebCore):
53731        (WebCore::JSTestCallback::handleEvent):
53732        * bindings/scripts/test/JS/JSTestCallback.h: Modified test results of run-bindings-tests.
53733        (JSTestCallback):
53734        * bindings/scripts/test/TestCallback.idl: Added test callback with sequence<> argument.
53735        * bindings/scripts/test/V8/V8TestCallback.cpp: Modified test results of run-bindings-tests.
53736        (WebCore):
53737        (WebCore::V8TestCallback::handleEvent):
53738        * bindings/scripts/test/V8/V8TestCallback.h: Modified test results of run-bindings-tests.
53739        (V8TestCallback):
53740        * bindings/v8/custom/V8MutationCallbackCustom.cpp: Removed.
53741        * dom/MutationCallback.idl: Removed custom bindings using sequence<T>.
53742
537432012-04-06  Sheriff Bot  <webkit.review.bot@gmail.com>
53744
53745        Unreviewed, rolling out r113431.
53746        http://trac.webkit.org/changeset/113431
53747        https://bugs.webkit.org/show_bug.cgi?id=83372
53748
53749        for breaking at least Chromium compilation (Requested by
53750        pfeldman on #webkit).
53751
53752        * rendering/RenderView.cpp:
53753        (WebCore::RenderView::paint):
53754        (WebCore::RenderView::shouldRepaint):
53755        (WebCore::RenderView::repaintViewRectangle):
53756        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
53757        (WebCore::RenderView::computeRectForRepaint):
53758        (WebCore::RenderView::selectionBounds):
53759        (WebCore::RenderView::viewRect):
53760        (WebCore::RenderView::unscaledDocumentRect):
53761        * rendering/RenderView.h:
53762        (RenderView):
53763
537642012-04-06  Peter Rybin  <peter.rybin@gmail.com>
53765
53766        Web Inspector: CodeGeneratorInspector.py: completely switch all domains to 'strict' mode
53767        https://bugs.webkit.org/show_bug.cgi?id=83332
53768
53769        Reviewed by Pavel Feldman.
53770
53771        Hardcoded list of domains is removed from generator. Partial domain sorting is dropped as unneeded.
53772        Types with open propery list are introduced: validator allows undocumented properties for them.
53773
53774        Timeline domain code is patched to do runtimeCast in the last moment because true switching to
53775        type-safe interfaces should take significant time and should be done separately.
53776
53777        * inspector/CodeGeneratorInspector.py:
53778        (Generator.go):
53779        (Generator.process_event):
53780        (Generator.process_command):
53781        * inspector/InspectorTimelineAgent.cpp:
53782        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
53783        (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
53784
537852012-04-06  Peter Rybin  <peter.rybin@gmail.com>
53786
53787        Web Inspector: CodeGeneratorInspector.py: stop accepting raw InspectorObject in generated setters
53788        https://bugs.webkit.org/show_bug.cgi?id=83327
53789
53790        Reviewed by Pavel Feldman.
53791
53792        Generator fixed to have strict types in generated setter methods.
53793
53794        Client code is switched from InspectorObject's and String's to generated types where
53795        needed.
53796
53797        * inspector/CodeGeneratorInspector.py:
53798        (AdHocTypeContext):
53799        (format_setter_value_expression):
53800        * inspector/ConsoleMessage.cpp:
53801        (WebCore::messageSourceValue):
53802        (WebCore::messageTypeValue):
53803        (WebCore::messageLevelValue):
53804        (WebCore::ConsoleMessage::addToFrontend):
53805        * inspector/InspectorApplicationCacheAgent.cpp:
53806        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
53807        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
53808        * inspector/InspectorApplicationCacheAgent.h:
53809        (InspectorApplicationCacheAgent):
53810        * inspector/InspectorCSSAgent.cpp:
53811        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
53812        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
53813        (WebCore::InspectorCSSAgent::detectOrigin):
53814        * inspector/InspectorCSSAgent.h:
53815        (InspectorCSSAgent):
53816        * inspector/InspectorDOMAgent.cpp:
53817        (WebCore::InspectorDOMAgent::buildObjectForNode):
53818        * inspector/InspectorIndexedDBAgent.cpp:
53819        (WebCore):
53820        * inspector/InspectorMemoryAgent.cpp:
53821        * inspector/InspectorPageAgent.cpp:
53822        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
53823        * inspector/InspectorResourceAgent.cpp:
53824        (WebCore::buildObjectForTiming):
53825        (WebCore::buildObjectForCachedResource):
53826        * inspector/InspectorStyleSheet.cpp:
53827        (WebCore::InspectorStyle::buildObjectForStyle):
53828        (WebCore::InspectorStyleSheet::create):
53829        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
53830        (WebCore::InspectorStyleSheet::buildObjectForRule):
53831        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
53832        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
53833        (WebCore::InspectorStyleSheetForInlineStyle::create):
53834        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
53835        * inspector/InspectorStyleSheet.h:
53836        (InspectorCSSId):
53837        (WebCore::InspectorCSSId::asProtocolValue): method is made template as now it returns 2 formally different types.
53838        (InspectorStyleSheet):
53839        (WebCore::InspectorStyleSheet::canBind):
53840        (InspectorStyleSheetForInlineStyle):
53841
538422012-04-06  Pavel Feldman  <pfeldman@chromium.org>
53843
53844        Web Inspector: highlight diff in the gutter, not in the line content.
53845        https://bugs.webkit.org/show_bug.cgi?id=83371
53846
53847        Reviewed by Yury Semikhatsky.
53848
53849        Now that the editing mode is enabled by default, diff highlighting gets annoying.
53850        I am moving it to the gutter (same decoration as before, but now coloring gutter only).
53851
53852        * inspector/front-end/TextViewer.js:
53853        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
53854        * inspector/front-end/textViewer.css:
53855        (.diff-container .webkit-added-line.webkit-line-number):
53856        (.diff-container .webkit-removed-line.webkit-line-number):
53857        (.diff-container .webkit-changed-line.webkit-line-number):
53858
538592012-04-06  Peter Rybin  <peter.rybin@gmail.com>
53860
53861        Web Inspector: CodeGeneratorInspector.py: stop accepting raw InspectorObject in generated setters
53862        https://bugs.webkit.org/show_bug.cgi?id=83327
53863
53864        Reviewed by Pavel Feldman.
53865
53866        Generator fixed to have strict types in generated setter methods.
53867
53868        Client code is switched from InspectorObject's and String's to generated types where
53869        needed.
53870
53871        * inspector/CodeGeneratorInspector.py:
53872        (AdHocTypeContext):
53873        (format_setter_value_expression):
53874        * inspector/ConsoleMessage.cpp:
53875        (WebCore::messageSourceValue):
53876        (WebCore::messageTypeValue):
53877        (WebCore::messageLevelValue):
53878        (WebCore::ConsoleMessage::addToFrontend):
53879        * inspector/InspectorApplicationCacheAgent.cpp:
53880        (WebCore::InspectorApplicationCacheAgent::buildArrayForApplicationCacheResources):
53881        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
53882        * inspector/InspectorApplicationCacheAgent.h:
53883        (InspectorApplicationCacheAgent):
53884        * inspector/InspectorCSSAgent.cpp:
53885        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
53886        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
53887        (WebCore::InspectorCSSAgent::detectOrigin):
53888        * inspector/InspectorCSSAgent.h:
53889        (InspectorCSSAgent):
53890        * inspector/InspectorDOMAgent.cpp:
53891        (WebCore::InspectorDOMAgent::buildObjectForNode):
53892        * inspector/InspectorIndexedDBAgent.cpp:
53893        (WebCore):
53894        * inspector/InspectorMemoryAgent.cpp:
53895        * inspector/InspectorPageAgent.cpp:
53896        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
53897        * inspector/InspectorResourceAgent.cpp:
53898        (WebCore::buildObjectForTiming):
53899        (WebCore::buildObjectForCachedResource):
53900        * inspector/InspectorStyleSheet.cpp:
53901        (WebCore::InspectorStyle::buildObjectForStyle):
53902        (WebCore::InspectorStyleSheet::create):
53903        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
53904        (WebCore::InspectorStyleSheet::buildObjectForRule):
53905        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
53906        (WebCore::InspectorStyleSheet::buildArrayForRuleList):
53907        (WebCore::InspectorStyleSheetForInlineStyle::create):
53908        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
53909        * inspector/InspectorStyleSheet.h:
53910        (InspectorCSSId):
53911        (WebCore::InspectorCSSId::asProtocolValue): method is made template as now it returns 2 formally different types.
53912        (InspectorStyleSheet):
53913        (WebCore::InspectorStyleSheet::canBind):
53914        (InspectorStyleSheetForInlineStyle):
53915
539162012-04-06  Pavel Feldman  <pfeldman@chromium.org>
53917
53918        Web Inspector: highlight diff in the gutter, not in the line content.
53919        https://bugs.webkit.org/show_bug.cgi?id=83371
53920
53921        Reviewed by Yury Semikhatsky.
53922
53923        Now that the editing mode is enabled by default, diff highlighting gets annoying.
53924        I am moving it to the gutter (same decoration as before, but now coloring gutter only).
53925
53926        * inspector/front-end/TextViewer.js:
53927        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
53928        * inspector/front-end/textViewer.css:
53929        (.diff-container .webkit-added-line.webkit-line-number):
53930        (.diff-container .webkit-removed-line.webkit-line-number):
53931        (.diff-container .webkit-changed-line.webkit-line-number):
53932
539332012-04-06  Pavel Feldman  <pfeldman@chromium.org>
53934
53935        Web Inspector: highlight diff in the gutter, not in the line content.
53936        https://bugs.webkit.org/show_bug.cgi?id=83371
53937
53938        Reviewed by Yury Semikhatsky.
53939
53940        Now that the editing mode is enabled by default, diff highlighting gets annoying.
53941        I am moving it to the gutter (same decoration as before, but now coloring gutter only).
53942
53943        * inspector/front-end/TextViewer.js:
53944        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
53945        * inspector/front-end/textViewer.css:
53946        (.diff-container .webkit-added-line.webkit-line-number):
53947        (.diff-container .webkit-removed-line.webkit-line-number):
53948        (.diff-container .webkit-changed-line.webkit-line-number):
53949
539502012-04-06  Pavel Feldman  <pfeldman@chromium.org>
53951
53952        Web Inspector: remove url from the saved urls map before the save action.
53953        https://bugs.webkit.org/show_bug.cgi?id=83364
53954
53955        Reviewed by Yury Semikhatsky.
53956
53957        URL gets added back upon successful save anyways, but if user chooses cancel saving,
53958        we stop bugging him with the save-as dialog.
53959
53960        * inspector/front-end/NetworkPanel.js:
53961        (WebInspector.NetworkLogView.prototype._exportAll):
53962        (WebInspector.NetworkLogView.prototype._exportResource):
53963        * inspector/front-end/ResourcesPanel.js:
53964        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
53965        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
53966        * inspector/front-end/TextViewer.js:
53967        (WebInspector.TextViewer.prototype._contextMenu):
53968        (WebInspector.TextViewer.prototype._commitEditing):
53969        * inspector/front-end/TimelineModel.js:
53970        (WebInspector.TimelineModel.prototype.saveToFile):
53971        * inspector/front-end/inspector.js:
53972
539732012-04-06  Andrey Kosyakov  <caseq@chromium.org>
53974
53975        Web Inspector: display frame details in popover on frame strip in Timeline panel
53976        https://bugs.webkit.org/show_bug.cgi?id=83365
53977
53978        Reviewed by Pavel Feldman.
53979
53980        - added popovers for frame strips;
53981        - factored out generateAggregatedInfo for reuse in the above;
53982        - made frame event dividers thinner, darker and greyer.
53983
53984        * English.lproj/localizedStrings.js: Added "FPS" and "Frame"
53985        * inspector/front-end/TimelineFrameController.js:
53986        (WebInspector.TimelineFrameController.prototype._flushFrame): added startTimeOffset.
53987        (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): ditto.
53988        * inspector/front-end/TimelineModel.js:
53989        (WebInspector.TimelineModel.prototype._updateBoundaries):
53990        (WebInspector.TimelineModel.prototype.recordOffsetInSeconds):
53991        * inspector/front-end/TimelinePanel.js:
53992        (WebInspector.TimelinePanel.prototype._updateFrames): added link to frame to strip div.
53993        (WebInspector.TimelinePanel.prototype._refresh):
53994        (WebInspector.TimelinePanel.prototype._getPopoverAnchor): handle frame anchors separately.
53995        (WebInspector.TimelinePanel.prototype._mouseMove): ditto.
53996        (WebInspector.TimelinePanel.prototype._showPopover):
53997        * inspector/front-end/TimelinePresentationModel.js:
53998        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
53999        (WebInspector.TimelinePresentationModel._generateAggregatedInfo): factored out for reuse.
54000        (WebInspector.TimelinePresentationModel.generatePopupContentForFrame):
54001        * inspector/front-end/inspectorCommon.css:
54002        (.resources-dividers-label-bar):
54003        * inspector/front-end/timelinePanel.css:
54004        (.timeline .resources-event-divider.timeline-frame-divider): made divider thin and grey.
54005        (.timeline-frame-strip): bumped z-index, added pointer-events: auto.
54006
540072012-04-06  Pavel Feldman  <pfeldman@chromium.org>
54008
54009        Web Inspector: show "dirty" flag for CSS files edited in the resources panel.
54010        https://bugs.webkit.org/show_bug.cgi?id=83363
54011
54012        Reviewed by Yury Semikhatsky.
54013
54014        Added TextEdited notification into the editable source frame, listening to it
54015        in the resources panel.
54016
54017        * inspector/front-end/ResourceView.js:
54018        (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
54019        (WebInspector.EditableResourceSourceFrame.prototype.isDirty):
54020        * inspector/front-end/ResourcesPanel.js:
54021        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
54022        (WebInspector.FrameResourceTreeElement.prototype.sourceView):
54023        (WebInspector.FrameResourceTreeElement.prototype._sourceViewTextEdited):
54024
540252012-04-06  Levi Weintraub  <leviw@chromium.org>
54026
54027        Update LayoutUnit usage in RenderView
54028        https://bugs.webkit.org/show_bug.cgi?id=83147
54029
54030        Reviewed by Julien Chaffraix.
54031
54032        Updating the usage of LayoutUnits in RenderView in preparation for sub-pixel layout. This mostly
54033        affects paint and repaint functions, which take LayoutRects up to the RenderView level. This is
54034        necessary as we continue to accumulate sub-pixel offsets up to this level.
54035
54036        No new tests. No change in behavior.
54037
54038        * rendering/RenderView.cpp:
54039        (WebCore::RenderView::paint): Adding an assert that we're being called to paint on pixel
54040        boundaries. We don't currently ever position RenderViews at sub-pixel offsets.
54041        (WebCore::RenderView::shouldRepaint):
54042        (WebCore::RenderView::repaintViewRectangle): Switching to a LayoutRect and cleaning up a fixme
54043        that used decomposed offsets. Pixel snapping is applied before handing the rect up to the
54044        FrameView.
54045        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers): Pixel snapping before handing
54046        the rect up to the Compositor.
54047        (WebCore::RenderView::computeRectForRepaint):
54048        (WebCore::RenderView::selectionBounds):
54049        (WebCore::RenderView::viewRect):
54050        (WebCore::RenderView::unscaledDocumentRect):
54051        * rendering/RenderView.h:
54052        (RenderView):
54053
540542012-04-06  Andrey Kosyakov  <caseq@chromium.org>
54055
54056        Web Inspector: hide popover on mouseout from anchor
54057        https://bugs.webkit.org/show_bug.cgi?id=83362
54058
54059        Reviewed by Pavel Feldman.
54060
54061        - start hide popover timer when mouse moves out of popover anchor, as we won't receive mousemove events any more;
54062        - factored out starting of popover kill timer to a method.
54063
54064        * inspector/front-end/Popover.js:
54065        (WebInspector.PopoverHelper):
54066        (WebInspector.PopoverHelper.prototype._mouseMove): Factored out StartHidePopoverTimer()
54067        (WebInspector.PopoverHelper.prototype._mouseOut): Just call StartHidePopoverTimer() when mouse moves out of anchor.
54068        (WebInspector.PopoverHelper.prototype._startHidePopoverTimer.doHide): 
54069        (WebInspector.PopoverHelper.prototype._startHidePopoverTimer):
54070        (WebInspector.PopoverHelper.prototype._hidePopover): Reset hoverElement (aka anchor) when hiding popover.
54071
540722012-04-06  Andrey Kosyakov  <caseq@chromium.org>
54073
54074        [Chromium] Web Inspector: getEventListeners(window) crashes on NTP
54075        https://bugs.webkit.org/show_bug.cgi?id=83353
54076
54077        Reviewed by Pavel Feldman.
54078
54079        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
54080        (WebCore::V8InjectedScriptHost::getEventListenersCallback):
54081
540822012-04-06  Kent Tamura  <tkent@chromium.org>
54083
54084        Touch ChromeClient.h to fix Chromium build.
54085        https://bugs.webkit.org/show_bug.cgi?id=83258
54086
54087        * page/ChromeClient.h:
54088
540892012-04-06  Kent Tamura  <tkent@chromium.org>
54090
54091        Initial LocalizedDateICU.cpp implementation
54092        https://bugs.webkit.org/show_bug.cgi?id=60868
54093
54094        Reviewed by Hajime Morita.
54095
54096        Add LocalizedDateICU.cpp, which supports only Date type.  It uses a
54097        short format because a date field is keyboard-editable.
54098        e.g. 5/15/11 in US locale.
54099
54100        * WebCore.gyp/WebCore.gyp: Exclude LocalizedDateNone.cpp.
54101        * WebCore.gypi: Add LocalizedDateICU.cpp.
54102        * platform/text/LocalizedDateICU.cpp: Added.
54103        (WebCore::parseLocalizedDate):
54104        (WebCore::formatLocalizedDate):
54105
541062012-04-05  Alexander Pavlov  <apavlov@chromium.org>
54107
54108        [REGRESSION] Refreshed autofill popup renders garbage
54109        https://bugs.webkit.org/show_bug.cgi?id=83255
54110        http://code.google.com/p/chromium/issues/detail?id=118374
54111
54112        The code used to update only the PopupContainer coordinates as if they were the coordinates relative
54113        to the root view. Instead, a WebWidget positioned relative to the screen origin holds the PopupContainer,
54114        so it is the WebWidget that should be positioned in PopupContainer::refresh(), and the PopupContainer's
54115        location should be (0, 0) (and their sizes should always be equal).
54116
54117        Reviewed by Kent Tamura.
54118
54119        No new tests, as the popup appearance is not testable in WebKit.
54120
54121        * platform/chromium/PopupContainer.cpp:
54122        (WebCore::PopupContainer::layoutAndCalculateWidgetRect): Variable renamed.
54123        (WebCore::PopupContainer::showPopup): Use m_originalFrameRect rather than frameRect()
54124        for passing into chromeClient.
54125        (WebCore::PopupContainer::showInRect): Set up the correct frameRect() for the container.
54126        (WebCore::PopupContainer::refresh): Resize the container and position the WebWidget correctly.
54127        * platform/chromium/PopupContainer.h:
54128        (PopupContainer):
54129
541302012-04-06  Kent Tamura  <tkent@chromium.org>
54131
54132        Calendar Picker: Add code to open/close the calendar picker
54133        https://bugs.webkit.org/show_bug.cgi?id=83258
54134
54135        Reviewed by Hajime Morita.
54136
54137        No new tests. This code is not used because of no ENABLE_INPUT_TYPE_DATE.
54138
54139        * WebCore.gypi: Add existing header files.
54140
54141        * html/DateInputType.cpp:
54142        (WebCore::DateInputType::DateInputType):
54143        Moved from DateInputType.h because the constructor depends on
54144        CalendarPickerElement.
54145        (WebCore::DateInputType::createShadowSubtree):
54146        Store a CalendarPickerElement object.
54147        (WebCore::DateInputType::destroyShadowSubtree):
54148        Release the CalendarPickerElement object.
54149        (WebCore::DateInputType::handleBlurEvent):
54150        Close the calendar picker when the input loses focus.
54151        * html/DateInputType.h:
54152        (DateInputType):
54153        - Move the constructor definition to DateInputType.cpp
54154        - Add function declarations
54155        - Add m_pickerElement data member.
54156
54157        * html/shadow/CalendarPickerElement.cpp:
54158        (WebCore::CalendarPickerElement::hostInput): A helper to get the host <input>.
54159        (WebCore::CalendarPickerElement::defaultEventHandler):
54160        If the element is clicked, open a calendar picker.
54161        (WebCore::CalendarPickerElement::openPopup):
54162        Opens a calendar picker by ChromeClient::openPagePopup().
54163        (WebCore::CalendarPickerElement::closePopup):
54164        Closes a calendar picker by ChromeClient::closePagePopup().
54165        (WebCore::CalendarPickerElement::detach):
54166        Closes a calendar picker when the element loses a renderer.
54167
54168        (WebCore::CalendarPickerElement::contentSize):
54169        Provides the initial size of a popup.
54170        (WebCore::addString): A helper for writeDocument().
54171        (WebCore::addJavaScriptString): ditto.
54172        (WebCore::addProperty): ditto.
54173        (WebCore::CalendarPickerElement::writeDocument):
54174        Provides the source of a popup. The function creates a complete HTML with:
54175        - WebCore/Resources/calendarPicker.css
54176        - WebCore/Resources/calendarPicker.js
54177        - An object to pass localization strings and <input> state
54178        (WebCore::CalendarPickerElement::setValueAndClosePopup):
54179        Sets the value from a calendar picker to the <input>.
54180        (WebCore::CalendarPickerElement::didClosePopup):
54181        Clear the popup object.
54182        * html/shadow/CalendarPickerElement.h:
54183        (CalendarPickerElement): Add declarations.
54184
54185        * platform/text/LocalizedCalendarICU.cpp:
54186        (WebCore::getFirstDayOfWeek): Make sure this is 0-base. UCAL_SUNDAY is 1.
54187
541882012-04-05  Adele Peterson  <adele@apple.com>
54189
54190        <rdar://problem/11133179> and https://bugs.webkit.org/show_bug.cgi?id=74129
54191        REGRESSION (SnowLeopard, 5.1.4): All WK2 horizontal scrollbars look broken
54192
54193        Patch by Dan Bernstein, Reviewed by Beth Dakin.
54194
54195        This code assumed that the current CTM wouldn't have extraneous operations built into it, 
54196        but this bug is evidence that that assumption was wrong. We should just get the base CTM instead 
54197        and apply the device scale factor to it.
54198
54199        No tests added since the SnowLeopard-style scrollbars aren't testable in our regression tests right now.
54200
54201        * platform/graphics/GraphicsContext.cpp:
54202        (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
54203        (WebCore::GraphicsContext::applyDeviceScaleFactor):
54204        * platform/graphics/GraphicsContext.h: (GraphicsContext):
54205        * platform/graphics/cg/GraphicsContextCG.cpp: (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
54206
542072012-04-05  Yuta Kitamura  <yutak@chromium.org>
54208
54209        Leak in WebSocketChannel with workers/worker-reload.html
54210        https://bugs.webkit.org/show_bug.cgi?id=83345
54211
54212        Reviewed by David Levin.
54213
54214        A speculative fix of memory leaks caused by worker-reload.html.
54215
54216        No new tests, as this change imposes no functional change.
54217
54218        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
54219        (WebCore::WorkerThreadableWebSocketChannel::mainThreadDestroy):
54220        Receive the peer as PassOwnPtr<> so the destructor of the task object can
54221        delete the peer even if the task didn't run before main thread's cleanup period.
54222        (WebCore::WorkerThreadableWebSocketChannel::Bridge::disconnect):
54223        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
54224        (WorkerThreadableWebSocketChannel):
54225
542262012-04-05  Lu Guanqun  <guanqun.lu@intel.com>
54227
54228        combine two arrays (coreExceptionNames and coreExceptionDescriptions) into one array
54229        https://bugs.webkit.org/show_bug.cgi?id=83141
54230
54231        Reviewed by Adam Barth.
54232
54233        No new tests required.
54234
54235        * dom/DOMCoreException.cpp:
54236        (CoreException):
54237        (WebCore):
54238        (WebCore::DOMCoreException::initializeDescription):
54239
542402012-04-05  David Barton  <dbarton@mathscribe.com>
54241
54242        Remove intrinsic padding from contentBoxRect(), etc.
54243        https://bugs.webkit.org/show_bug.cgi?id=83092
54244
54245        Reviewed by Julien Chaffraix.
54246
54247        "Intrinsic padding" does not count as CSS padding, but is treated as padding by basic
54248        layout and rendering code, e.g. RenderBlock::layout(). A lot of code relies on the
54249        equation border-box = content-box + padding + border (+ scrollbars). To keep this valid,
54250        change 5 functions in RenderBox.h to not include intrinsic padding in the content box,
54251        thus reverting to their behavior before the patch for bug 33593. Instead, have
54252        sizingBox(renderer) in CSSComputedStyleDeclaration.cpp explicitly put the intrinsic
54253        padding in computed CSS content-box values [for javascript getComputedStyle()], so the
54254        above equation still also holds for CSS computed values. This seems more consistent with
54255        how the padding...() functions behave since the patch for bug 23487, and will work
54256        better for MathML. For instance, a block's contentLogicalWidth() will be the
54257        availableLogicalWidth() for use by child elements.
54258
54259        No new tests. The only real observable changes are illustrated in the bug 83092 attached
54260        test case and discussion. These are minor and hard to automate.
54261
54262        * css/CSSComputedStyleDeclaration.cpp:
54263        (WebCore::sizingBox):
54264        * editing/DeleteSelectionCommand.cpp:
54265        (WebCore::DeleteSelectionCommand::removeNode):
54266        * rendering/RenderBox.h:
54267        (WebCore::RenderBox::contentBoxRect):
54268        (WebCore::RenderBox::contentWidth):
54269        (WebCore::RenderBox::contentHeight):
54270        (WebCore::RenderBox::contentLogicalWidth):
54271        (WebCore::RenderBox::contentLogicalHeight):
54272            - Change these 5 functions to omit intrinsic padding from the content box.
54273        * rendering/RenderTableCell.cpp:
54274        (WebCore::RenderTableCell::cellBaselinePosition):
54275        * rendering/RenderTableSection.cpp:
54276        (WebCore::RenderTableSection::firstLineBoxBaseline):
54277
542782012-04-05  Hironori Bono  <hbono@chromium.org>
54279
54280        [Chromium] moving a cursor on a misspelled word should not remove a misspelled underline
54281        https://bugs.webkit.org/show_bug.cgi?id=83214
54282
54283        Reviewed by Ryosuke Niwa.
54284
54285        When Chrome enables asynchronous spellchecking, it adds Spelling markers in the
54286        background. For this case, moving a cursor should not remove these markers
54287        because it requires Chrome to spellcheck text again. This change prevents
54288        removing Spelling markers added by spellcheckers asynchronously.
54289
54290        Test: platform/chromium/editing/spelling/move-cursor-to-misspelled-word.html
54291
54292        * editing/Editor.cpp:
54293        (WebCore::Editor::respondToChangedSelection):
54294
542952012-04-05  Hans Muller  <hmuller@adobe.com>
54296
54297        CSS Exclusions polygon shape arguments should be comma separated
54298        https://bugs.webkit.org/show_bug.cgi?id=82368
54299
54300        Reviewed by Ryosuke Niwa.
54301
54302        Changed the CSS Parser to accept a conventional comma separated argument list for the
54303        polygon exclusion shape. The syntax had used spaces to separate x,y coordinates, like:
54304        polygon(10px,20px 30px,40px).  Now commas separate points: polygon(10px 20px, 30px 40px).
54305        This change is per the draft exclusions spec, http://dev.w3.org/csswg/css3-exclusions.
54306        Additional relevant information about CSS argument list syntax can be found
54307        here: http://dev.w3.org/csswg/css3-values/#component-whitespace.
54308
54309        Factored comma recognition idiom in CSSParser.cpp into isComma() utility function.
54310
54311        The existing tests have been updated.
54312
54313        * css/CSSParser.cpp:
54314        (WebCore::isComma)
54315        (WebCore::CSSParser::parseFillPosition)
54316        (WebCore::CSSParser::parseFillRepeat)
54317        (WebCore::CSSParser::parseFillProperty)
54318        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue)
54319        (WebCore::CSSParser::parseAnimationTimingFunction)
54320        (WebCore::CSSParser::parseAnimationProperty)
54321        (WebCore::CSSParser::parseExclusionShapePolygon)
54322        (WebCore::CSSParser::parseDeprecatedGradient)
54323        (WebCore::CSSParser::parseRadialGradient)
54324        (WebCore::CSSParser::parseGradientColorStops)
54325        (WebCore::CSSParser::parseImageSet)
54326        (WebCore::filterInfoForName)
54327        (WebCore::CSSParser::parseCustomFilter)
54328        (WebCore::CSSParser::parseFontFeatureSettings)
54329
54330        * css/CSSWrapShapes.cpp:
54331        (WebCore::CSSWrapShapePolygon::cssText):
54332
543332012-04-05  Joshua Bell  <jsbell@chromium.org>
54334
54335        IndexedDB: Support string.length in keyPaths
54336        https://bugs.webkit.org/show_bug.cgi?id=83221
54337
54338        Special case in the IDB spec - keyPaths can reference the |length| property
54339        of string values. Other instrinsic properties (|length| of Array, etc) are
54340        handled automagically. Relevant section of the updated spec is:
54341        http://dvcs.w3.org/hg/IndexedDB/raw-file/tip/Overview.html#key-path-construct
54342
54343        Reviewed by Kentaro Hara.
54344
54345        Test: storage/indexeddb/keypath-intrinsic-properties.html
54346
54347        * bindings/v8/IDBBindingUtilities.cpp:
54348        (WebCore):
54349
543502012-04-05  Arvid Nilsson  <anilsson@rim.com>
54351
54352        [BlackBerry] Update the InstrumentedPlatformCanvas after rebasing Skia
54353        https://bugs.webkit.org/show_bug.cgi?id=83314
54354
54355        Reviewed by George Staikos.
54356
54357        RIM PR: 143771
54358        One new virtual method was added to the SkCanvas, to draw a nine piece
54359        image. Override it and mark output as not being a solid color anymore.
54360
54361        * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
54362        (WebCore::InstrumentedPlatformCanvas::drawBitmapNine):
54363        (InstrumentedPlatformCanvas):
54364
543652012-04-05  Oliver Hunt  <oliver@apple.com>
54366
54367        Make WebCore use jsCast rather than static_cast for casting JSC objects
54368        https://bugs.webkit.org/show_bug.cgi?id=83320
54369
54370        Reviewed by Stephanie Lewis.
54371
54372        Mechanically replace static_cast with jsCast where ever we can.
54373
54374        * WebCore.exp.in:
54375        * bindings/js/DOMWrapperWorld.cpp:
54376        (WebCore::JSStringOwner::finalize):
54377        * bindings/js/DOMWrapperWorld.h:
54378        (WebCore::currentWorld):
54379        * bindings/js/JSArrayBufferCustom.cpp:
54380        (WebCore::JSArrayBufferConstructor::constructJSArrayBuffer):
54381        * bindings/js/JSAudioContextCustom.cpp:
54382        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
54383        * bindings/js/JSCSSRuleListCustom.cpp:
54384        (WebCore::JSCSSRuleListOwner::isReachableFromOpaqueRoots):
54385        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
54386        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
54387        (WebCore::cssPropertyGetterCallback):
54388        * bindings/js/JSCSSValueCustom.cpp:
54389        (WebCore::JSCSSValueOwner::isReachableFromOpaqueRoots):
54390        (WebCore::JSCSSValueOwner::finalize):
54391        * bindings/js/JSDOMBinding.cpp:
54392        (WebCore::reportException):
54393        * bindings/js/JSDOMBinding.h:
54394        (WebCore::deprecatedGlobalObjectForPrototype):
54395        (WebCore::getDOMPrototype):
54396        * bindings/js/JSDOMFormDataCustom.cpp:
54397        (WebCore::toHTMLFormElement):
54398        (WebCore::JSDOMFormDataConstructor::constructJSDOMFormData):
54399        * bindings/js/JSDOMMimeTypeArrayCustom.cpp:
54400        (WebCore::JSDOMMimeTypeArray::nameGetter):
54401        * bindings/js/JSDOMPluginArrayCustom.cpp:
54402        (WebCore::JSDOMPluginArray::nameGetter):
54403        * bindings/js/JSDOMPluginCustom.cpp:
54404        (WebCore::JSDOMPlugin::nameGetter):
54405        * bindings/js/JSDOMStringMapCustom.cpp:
54406        (WebCore::JSDOMStringMap::nameGetter):
54407        * bindings/js/JSDOMWindowBase.cpp:
54408        (WebCore::toJSDOMWindow):
54409        * bindings/js/JSDOMWindowCustom.cpp:
54410        (WebCore::childFrameGetter):
54411        (WebCore::indexGetter):
54412        (WebCore::namedItemGetter):
54413        (WebCore::toDOMWindow):
54414        * bindings/js/JSDOMWindowCustom.h:
54415        (WebCore::asJSDOMWindow):
54416        * bindings/js/JSDOMWindowShell.h:
54417        (WebCore::JSDOMWindowShell::window):
54418        * bindings/js/JSDOMWrapper.h:
54419        (WebCore::JSDOMWrapper::globalObject):
54420        * bindings/js/JSDataViewCustom.cpp:
54421        (WebCore::JSDataViewConstructor::constructJSDataView):
54422        * bindings/js/JSEventListener.cpp:
54423        (WebCore::JSEventListener::handleEvent):
54424        * bindings/js/JSEventTarget.cpp:
54425        (WebCore):
54426        (WebCore::toEventTarget):
54427        * bindings/js/JSFloat32ArrayCustom.cpp:
54428        (WebCore::JSFloat32ArrayConstructor::constructJSFloat32Array):
54429        * bindings/js/JSFloat64ArrayCustom.cpp:
54430        (WebCore::JSFloat64ArrayConstructor::constructJSFloat64Array):
54431        * bindings/js/JSGeolocationCustom.cpp:
54432        (WebCore::JSGeolocation::getCurrentPosition):
54433        (WebCore::JSGeolocation::watchPosition):
54434        * bindings/js/JSHTMLAllCollectionCustom.cpp:
54435        (WebCore::callHTMLAllCollection):
54436        (WebCore::JSHTMLAllCollection::nameGetter):
54437        * bindings/js/JSHTMLCollectionCustom.cpp:
54438        (WebCore::JSHTMLCollection::nameGetter):
54439        * bindings/js/JSHTMLDocumentCustom.cpp:
54440        (WebCore::JSHTMLDocument::nameGetter):
54441        * bindings/js/JSHTMLFormElementCustom.cpp:
54442        (WebCore::JSHTMLFormElement::nameGetter):
54443        * bindings/js/JSHTMLFrameSetElementCustom.cpp:
54444        (WebCore::JSHTMLFrameSetElement::nameGetter):
54445        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
54446        (WebCore::JSHTMLOptionsCollection::remove):
54447        * bindings/js/JSImageConstructor.cpp:
54448        (WebCore::constructImage):
54449        * bindings/js/JSInjectedScriptManager.cpp:
54450        (WebCore::InjectedScriptManager::createInjectedScript):
54451        (WebCore::InjectedScriptManager::discardInjectedScript):
54452        (WebCore::InjectedScriptManager::injectedScriptFor):
54453        * bindings/js/JSInt16ArrayCustom.cpp:
54454        (WebCore::JSInt16ArrayConstructor::constructJSInt16Array):
54455        * bindings/js/JSInt32ArrayCustom.cpp:
54456        (WebCore::JSInt32ArrayConstructor::constructJSInt32Array):
54457        * bindings/js/JSInt8ArrayCustom.cpp:
54458        (WebCore::JSInt8ArrayConstructor::constructJSInt8Array):
54459        * bindings/js/JSLazyEventListener.cpp:
54460        (WebCore::JSLazyEventListener::initializeJSFunction):
54461        * bindings/js/JSNamedNodeMapCustom.cpp:
54462        (WebCore::JSNamedNodeMap::nameGetter):
54463        * bindings/js/JSNodeCustom.cpp:
54464        (WebCore::JSNodeOwner::isReachableFromOpaqueRoots):
54465        (WebCore::JSNodeOwner::finalize):
54466        * bindings/js/JSNodeCustom.h:
54467        (WebCore::toJS):
54468        * bindings/js/JSNodeFilterCustom.cpp:
54469        (WebCore::toNodeFilter):
54470        * bindings/js/JSNodeListCustom.cpp:
54471        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
54472        (WebCore::JSNodeList::nameGetter):
54473        * bindings/js/JSPluginElementFunctions.cpp:
54474        (WebCore::runtimeObjectPropertyGetter):
54475        (WebCore::callPlugin):
54476        * bindings/js/JSPopStateEventCustom.cpp:
54477        (WebCore::JSPopStateEvent::state):
54478        * bindings/js/JSSQLTransactionCustom.cpp:
54479        (WebCore::JSSQLTransaction::executeSql):
54480        * bindings/js/JSSharedWorkerCustom.cpp:
54481        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
54482        * bindings/js/JSStorageCustom.cpp:
54483        (WebCore::JSStorage::nameGetter):
54484        * bindings/js/JSStyleSheetListCustom.cpp:
54485        (WebCore::JSStyleSheetList::nameGetter):
54486        * bindings/js/JSTextTrackCueCustom.cpp:
54487        (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots):
54488        * bindings/js/JSTextTrackCustom.cpp:
54489        (WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots):
54490        * bindings/js/JSTextTrackListCustom.cpp:
54491        (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
54492        * bindings/js/JSTrackCustom.cpp:
54493        (WebCore::toTrack):
54494        * bindings/js/JSUint16ArrayCustom.cpp:
54495        (WebCore::JSUint16ArrayConstructor::constructJSUint16Array):
54496        * bindings/js/JSUint32ArrayCustom.cpp:
54497        (WebCore::JSUint32ArrayConstructor::constructJSUint32Array):
54498        * bindings/js/JSUint8ArrayCustom.cpp:
54499        (WebCore::JSUint8ArrayConstructor::constructJSUint8Array):
54500        * bindings/js/JSUint8ClampedArrayCustom.cpp:
54501        (WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):
54502        * bindings/js/JSWebKitMutationObserverCustom.cpp:
54503        (WebCore::JSWebKitMutationObserverConstructor::constructJSWebKitMutationObserver):
54504        * bindings/js/JSWebKitPointCustom.cpp:
54505        (WebCore::JSWebKitPointConstructor::constructJSWebKitPoint):
54506        * bindings/js/JSWebSocketCustom.cpp:
54507        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
54508        * bindings/js/JSWorkerContextBase.cpp:
54509        (WebCore::toJSDedicatedWorkerContext):
54510        (WebCore::toJSSharedWorkerContext):
54511        * bindings/js/JSWorkerCustom.cpp:
54512        (WebCore::JSWorkerConstructor::constructJSWorker):
54513        * bindings/js/JSXSLTProcessorCustom.cpp:
54514        (WebCore::JSXSLTProcessor::importStylesheet):
54515        (WebCore::JSXSLTProcessor::transformToFragment):
54516        (WebCore::JSXSLTProcessor::transformToDocument):
54517        * bindings/js/ScriptCallStackFactory.cpp:
54518        (WebCore::createScriptCallStackForInspector):
54519        * bindings/js/ScriptControllerMac.mm:
54520        (WebCore::updateStyleIfNeededForBindings):
54521        * bindings/js/ScriptDebugServer.cpp:
54522        (WebCore::ScriptDebugServer::dispatchDidPause):
54523        * bindings/js/ScriptObject.cpp:
54524        (WebCore::ScriptGlobalObject::set):
54525        * bindings/js/ScriptState.cpp:
54526        (WebCore::domWindowFromScriptState):
54527        (WebCore::scriptExecutionContextFromScriptState):
54528        * bindings/js/SerializedScriptValue.cpp:
54529        (WebCore::CloneSerializer::fillTransferMap):
54530        (WebCore::CloneSerializer::dumpArrayBufferView):
54531        (WebCore::CloneDeserializer::getJSValue):
54532        (WebCore::CloneDeserializer::readTerminal):
54533        * bindings/objc/WebScriptObject.mm:
54534        (-[WebScriptObject _isSafeScript]):
54535        (+[WebScriptObject _convertValueToObjcValue:originRootObject:rootObject:]):
54536        * bindings/scripts/CodeGeneratorJS.pm:
54537        (GenerateGetOwnPropertySlotBody):
54538        (GenerateGetOwnPropertyDescriptorBody):
54539        (GenerateImplementation):
54540        (GenerateCallWith):
54541        (NativeToJSValue):
54542        (GenerateConstructorDefinition):
54543        * bridge/jni/jni_jsobject.h:
54544        * bridge/jni/jni_jsobject.mm:
54545        (JavaJSObject::convertJObjectToValue):
54546        * bridge/jni/jsc/JavaInstanceJSC.cpp:
54547        (JavaInstance::invokeMethod):
54548        * bridge/objc/objc_utility.mm:
54549        (JSC::Bindings::convertValueToObjcValue):
54550        * bridge/runtime_method.cpp:
54551        (JSC::callRuntimeMethod):
54552        * bridge/runtime_object.cpp:
54553        (JSC::Bindings::callRuntimeConstructor):
54554        * testing/js/WebCoreTestSupport.cpp:
54555        (WebCoreTestSupport::injectInternalsObject):
54556        (WebCoreTestSupport::resetInternalsObject):
54557
545582012-04-05  Martin Robinson  <mrobinson@igalia.com>
54559
54560        [GTK] Scrolling some iframes that are partially out of the viewport leads to repaint errors
54561        https://bugs.webkit.org/show_bug.cgi?id=83309
54562
54563        Reviewed by Gustavo Noronha Silva.
54564
54565        Test: platform/gtk/fast/frames/scrolling-iframe-out-of-viewport.html
54566
54567        The X11 backing store was not properly trimming the scroll region when it
54568        was only a portion of the screen. This was hidden by subsequent repaints.
54569
54570        * platform/gtk/GtkWidgetBackingStoreX11.cpp:
54571        (WebCore::WidgetBackingStore::scroll): Fix the calculation of the scrolling region.
54572
545732012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
54574
54575        Unreviewed, rolling out r113299.
54576        http://trac.webkit.org/changeset/113299
54577        https://bugs.webkit.org/show_bug.cgi?id=83297
54578
54579        The patch broke 11 tests on Lion. (Requested by jonlee on
54580        #webkit).
54581
54582        * xml/parser/XMLDocumentParser.h:
54583        (XMLDocumentParser):
54584        * xml/parser/XMLDocumentParserLibxml2.cpp:
54585        (WebCore::XMLDocumentParser::XMLDocumentParser):
54586        (WebCore::XMLDocumentParser::startElementNs):
54587        (WebCore::XMLDocumentParser::endElementNs):
54588        (WebCore::getEntityHandler):
54589        (WebCore::XMLDocumentParser::initializeParserContext):
54590
545912012-04-05  Justin Novosad  <junov@chromium.org>
54592
54593        [Chromium] Correct misleading trace event names in Canvas2DLayerChromium
54594        https://bugs.webkit.org/show_bug.cgi?id=83310
54595
54596        Reviewed by Adrienne Walker.
54597
54598        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
54599        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
54600
546012012-04-05  Dean Jackson  <dino@apple.com>
54602
54603        [mac] requestAnimationFrame sometimes stuck when page loads in a background tab
54604        https://bugs.webkit.org/show_bug.cgi?id=76105
54605
54606        Reviewed by Simon Fraser.
54607
54608        Fix three issues with requestAnimationFrame:
54609        - It's possible for the call to rAF to come to the document before there
54610          is a page associated. Added a guard for this.
54611        - A page may try to suspend the scripted animations before the
54612          ScriptedAnimationController exists, in which case we need to
54613          suspend it immediately after it is created. Do this by keeping
54614          track of the state in Page. Otherwise rAF would be busy looping
54615          on hidden pages until they are brought to the front and hidden again.
54616        - A page created in the background (from WebKit1) does not get
54617          informed it is not visible. This can mean that resume() is called
54618          more times than suspend() and we get into a state where the number
54619          of suspensions becomes -1, and thus fails truthiness tests. Clamp it
54620          to values >= 0.
54621
54622        No new tests, since this is not automatically testable. The most reliable test
54623        is to open a page with rAF in a background tab within Safari.
54624
54625        * dom/Document.cpp:
54626        (WebCore::Document::webkitRequestAnimationFrame):
54627        * dom/ScriptedAnimationController.cpp:
54628        (WebCore::ScriptedAnimationController::resume):
54629        * page/Page.cpp:
54630        (WebCore::Page::Page):
54631        (WebCore::Page::suspendScriptedAnimations):
54632        (WebCore::Page::resumeScriptedAnimations):
54633        * page/Page.h:
54634        (WebCore::Page::scriptedAnimationsSuspended):
54635        (Page):
54636
546372012-04-05  Brady Eidson  <beidson@apple.com>
54638
54639        <rdar://problem/9359029> and https://bugs.webkit.org/show_bug.cgi?id=83311
54640        Crashes in WebProcess at WebCore::HistoryController::recursiveSetProvisionalItem when restoring previous session
54641
54642        Reviewed by Sam Weinig.
54643
54644        It's possible to hit a race condition between the UIProcess and the WebProcess where the UIProcess records for a 
54645        page have been cleared out but the WebProcess is still trying to perform a history navigation within that page.
54646        
54647        In this situation HistoryController code that expects there to always be a current history item in the back/forward
54648        controller is wrong.
54649
54650        No new tests. (The race conditions involved have proven making a test impractical)
54651
54652        * loader/HistoryController.cpp:
54653        (WebCore::HistoryController::recursiveSetProvisionalItem): Don't ASSERT the fromItem. We now know there might not be one.
54654        (WebCore::HistoryController::recursiveGoToItem): Ditto
54655        (WebCore::HistoryController::itemsAreClones): Always return false if either item is null, as a null item and a non-null
54656          item cannot possible be clones of each other.
54657
546582012-04-05  Adam Klein  <adamk@chromium.org>
54659
54660        Crash in MutationObservers due to an invalid HashSet iterator
54661        https://bugs.webkit.org/show_bug.cgi?id=83304
54662
54663        Reviewed by Ojan Vafai.
54664
54665        If the observed node has been GCed when we clear transient observers
54666        from it, the HashSet iterator in WebKitMutationObserver::deliver would
54667        be invalidated. This patch fixes that behavior by copying the relevant
54668        registrations into a seperate vector first and operating on the copy.
54669
54670        This patch also fixes a bug: transient observers should be cleared
54671        after every microtask, not just when delivering.
54672
54673        Tests: fast/mutation/clear-transient-without-delivery.html
54674               fast/mutation/transient-gc-crash.html
54675
54676        * dom/MutationObserverRegistration.cpp:
54677        (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
54678        Notify the observer that it has a transient registration so it can be properly cleared.
54679        * dom/MutationObserverRegistration.h:
54680        (WebCore::MutationObserverRegistration::hasTransientRegistrations):
54681        Add an accessor for use when deliver() creates its vector of registrations.
54682        * dom/WebKitMutationObserver.cpp:
54683        (WebCore::WebKitMutationObserver::setHasTransientRegistration): Add this to the active observer set
54684        to allow transient registrations to be cleared appropriately.
54685        (WebCore::WebKitMutationObserver::deliver): Avoid modifying m_registrations while iterating over it.
54686        Clear registrations before checking for a lack of records to deliver.
54687        * dom/WebKitMutationObserver.h:
54688
546892012-04-05  Adam Klein  <adamk@chromium.org>
54690
54691        Rebaseline binding tests after r113272.
54692
54693        * bindings/scripts/test/V8/V8TestInterface.cpp:
54694        (WebCore::V8TestInterface::constructorCallback):
54695        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
54696        (WebCore::V8TestNamedConstructorConstructorCallback):
54697        * bindings/scripts/test/V8/V8TestObj.cpp:
54698        (WebCore::V8TestObj::constructorCallback):
54699        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
54700        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
54701
547022012-04-05  Stephen White  <senorblanco@chromium.org>
54703
54704        [chromium] Drawing an accelerated canvas onto itself is slow.
54705        https://bugs.webkit.org/show_bug.cgi?id=83295
54706
54707        Fixed by using a GPU-side deepCopy() in skia, so we don't trigger a
54708        readback and re-upload.
54709
54710        Reviewed by James Robinson.
54711
54712        Correctness is covered by existing tests. Performance is covered
54713        by the test case attached to the bug.
54714
54715        * platform/graphics/skia/ImageSkia.cpp:
54716        (WebCore::BitmapImageSingleFrameSkia::create):
54717
547182012-04-05  Dana Jansens  <danakj@chromium.org>
54719
54720        [chromium] Record the number of tiles paint-culled instead of the incorrect number of pixels
54721        https://bugs.webkit.org/show_bug.cgi?id=82423
54722
54723        Reviewed by Adrienne Walker.
54724
54725        We currently attempt to record the number of pixels we save from uploading,
54726        however the number is wrong in two ways.
54727        1) An early-out if everything is culled results in nothing being reported.
54728        2) With threaded-compositor, the number of pixels uploaded in one tile can be
54729        changed by culling in another tile, making the number far too difficult to
54730        compute to be worthwhile. If a tile was going to be partial-updated, but is
54731        culled, now a new tile gets to be partial-updated instead, which affects the
54732        numbers.
54733
54734        This patch breaks up CCOverdrawMetrics to make the methods/variables less
54735        overloaded and more clear. This way they don't have to mirror each other
54736        so closely on paint/draw sides.
54737
54738        Then we record the number of tiles for which we prevented upload via paint
54739        culling. This will still over-report (a dirty culled tile stays dirty and
54740        will be culled again each commit), but it seems more reasonable as it
54741        clearly does not try to mimic a performance metric in the way that a pixel
54742        count does, but still gives a rough estimation of the amount of paint
54743        culling going on in a page.
54744
54745        Covered by existing tests, modified where needed.
54746
54747        * platform/graphics/chromium/TiledLayerChromium.cpp:
54748        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
54749        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
54750        (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
54751        (WebCore::CCOverdrawMetrics::didCullTileForUpload):
54752        (WebCore):
54753        (WebCore::CCOverdrawMetrics::didUpload):
54754        (WebCore::CCOverdrawMetrics::didCullForDrawing):
54755        (WebCore::CCOverdrawMetrics::recordMetrics):
54756        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
54757        * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
54758        (CCOverdrawMetrics):
54759        (WebCore::CCOverdrawMetrics::pixelsCulledForDrawing):
54760        (WebCore::CCOverdrawMetrics::pixelsUploadedOpaque):
54761        (WebCore::CCOverdrawMetrics::pixelsUploadedTranslucent):
54762        (WebCore::CCOverdrawMetrics::tilesCulledForUpload):
54763        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
54764        (WebCore::CCQuadCuller::append):
54765
547662012-04-05  Enrica Casucci  <enrica@apple.com>
54767
54768        Provide a separate editing command to cleanup of redundant markup.
54769        https://bugs.webkit.org/show_bug.cgi?id=83240
54770
54771        Reviewed by Ryosuke Niwa.
54772
54773        This patch moves the logic originally performed by the private
54774        method removeRedundantMarkup inside ReplaceSelectionCommand into
54775        a separate command. This way the markup cleanup can be exposed as
54776        a separate command, independent from ReplaceSelectionCommand.
54777        
54778        No new tests. No change in functionality.
54779
54780        * CMakeLists.txt:
54781        * GNUmakefile.list.am:
54782        * Target.pri:
54783        * WebCore.gypi:
54784        * WebCore.vcproj/WebCore.vcproj:
54785        * WebCore.xcodeproj/project.pbxproj:
54786        Added new file to project files.
54787        * editing/EditorAllInOne.cpp: Added SimplifyMarkupCommand.
54788        * editing/ReplaceSelectionCommand.cpp:
54789        (WebCore::ReplaceSelectionCommand::doApply): Now uses SimplifyMarkupCommand.
54790        * editing/ReplaceSelectionCommand.h:
54791        (ReplaceSelectionCommand): Removed removeRedundantMarkup.
54792        * editing/SimplifyMarkupCommand.cpp: Added.
54793        (WebCore::SimplifyMarkupCommand::SimplifyMarkupCommand):
54794        (WebCore::SimplifyMarkupCommand::doApply):
54795        * editing/SimplifyMarkupCommand.h: Added.
54796        (WebCore::SimplifyMarkupCommand::create):
54797
547982012-04-05  Shawn Singh  <shawnsingh@chromium.org>
54799
54800        [chromium] Need to clip to homogeneous w=0 plane when applying transforms.
54801        https://bugs.webkit.org/show_bug.cgi?id=80806
54802
54803        Reviewed by Adrienne Walker.
54804
54805        Unit tests added to CCLayerTreeHostCommon. This change is also
54806        covered by other existing unit tests and layout tests.
54807
54808        WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
54809        not properly handle the case where a surface is oriented partially
54810        behind the camera, with a perspective projection. In this case,
54811        projected points may appear to be valid in cartesian coordinates,
54812        but they are indeed not valid, and this problem can only be
54813        detected in homogeneous coordinates after applying the transform,
54814        before the divide-by-w step.
54815
54816        The correct solution is to clip geometry where w < 0. This patch
54817        makes this change local to chromium only, to fix rendering bugs
54818        that arise from this problem. The primary fix is to correct
54819        calculateVisibleLayerRect(), but other ancillary locations are
54820        also fixed, in particular, the antialiasing code path is simply
54821        skipped when this case arises.
54822
54823        Eventually this math needs to be merged into TransformationMatrix,
54824        to fix hit-testing bugs that occur in both Chromium and Safari.
54825
54826        * WebCore.gypi:
54827        * platform/graphics/chromium/LayerRendererChromium.cpp:
54828        (WebCore::findTileProgramUniforms):
54829        (WebCore::LayerRendererChromium::drawTileQuad):
54830        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
54831        (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
54832        (WebCore::isScaleOrTranslation):
54833        (WebCore::calculateDrawTransformsAndVisibilityInternal):
54834        * platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
54835        (WebCore):
54836        (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
54837        (HomogeneousCoordinate):
54838        (WebCore::HomogeneousCoordinate::shouldBeClipped):
54839        (WebCore::HomogeneousCoordinate::cartesianPoint2d):
54840        (WebCore::projectPoint):
54841        (WebCore::mapPoint):
54842        (WebCore::computeClippedPointForEdge):
54843        (WebCore::expandBoundsToIncludePoint):
54844        (WebCore::computeEnclosingRectOfClippedQuad):
54845        (WebCore::computeEnclosingRect):
54846        (WebCore::CCMathUtil::mapClippedRect):
54847        (WebCore::CCMathUtil::projectClippedRect):
54848        (WebCore::CCMathUtil::mapQuad):
54849        (WebCore::CCMathUtil::projectQuad):
54850        * platform/graphics/chromium/cc/CCMathUtil.h: Added.
54851        (WebCore):
54852        (CCMathUtil):
54853        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
54854        (WebCore::computeUnoccludedContentRect):
54855
548562012-04-05  Patrick Gansterer  <paroga@webkit.org>
54857
54858        [Qt] Correct <wtf/*.h> include paths.
54859        https://bugs.webkit.org/show_bug.cgi?id=83270
54860
54861        Reviewed by Eric Seidel.
54862
54863        Modify the #include declerations so that the
54864        wtf types are included using the full path.
54865
54866        * platform/graphics/TiledBackingStoreBackend.h:
54867
548682012-04-05  Antonio Gomes  <agomes@rim.com>
54869
54870        Unreviewed bit left over from rebasing the origin patch before landing it.
54871
54872        Complementary to r113329.
54873
54874        * rendering/HitTestResult.cpp:
54875        (WebCore::HitTestResult::operator=):
54876
548772012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
54878
54879        Unreviewed, rolling out r113241.
54880        http://trac.webkit.org/changeset/113241
54881        https://bugs.webkit.org/show_bug.cgi?id=83293
54882
54883        Requested by sievers@chromium.org (Requested by zhenyao on
54884        #webkit).
54885
54886        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
54887        (WebCore::CCLayerTreeHostImpl::canDraw):
54888        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
54889        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
54890        (CCLayerTreeHostImpl):
54891        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
54892        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
54893
548942012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
54895
54896        Unreviewed, rolling out r113341.
54897        http://trac.webkit.org/changeset/113341
54898        https://bugs.webkit.org/show_bug.cgi?id=83299
54899
54900        bots caught some build errors (Requested by shawnsingh on
54901        #webkit).
54902
54903        * WebCore.gypi:
54904        * platform/graphics/chromium/LayerRendererChromium.cpp:
54905        (WebCore::findTileProgramUniforms):
54906        (WebCore::LayerRendererChromium::drawTileQuad):
54907        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
54908        (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
54909        (WebCore::isScaleOrTranslation):
54910        (WebCore::calculateDrawTransformsAndVisibilityInternal):
54911        * platform/graphics/chromium/cc/CCMathUtil.cpp: Removed.
54912        * platform/graphics/chromium/cc/CCMathUtil.h: Removed.
54913        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
54914        (WebCore::projectQuad):
54915        (WebCore):
54916        (WebCore::computeUnoccludedContentRect):
54917
549182012-04-05  Justin Novosad  <junov@chromium.org>
54919
54920        [Chromium] With the skia port, setting LCD text filtering is causing
54921        texture cache invalidations of gpu canvas backing store
54922        https://bugs.webkit.org/show_bug.cgi?id=74183
54923
54924        Reviewed by Stephen White.
54925
54926        Replacing unnecessary usage of SkCanvas::LayerIter with calls to
54927        SkCanvas::isDrawingToLayer(). Same results, lower overhead, and no
54928        GPU texture invalidation.
54929
54930        * platform/graphics/chromium/FontChromiumWin.cpp:
54931        (WebCore):
54932        (WebCore::TransparencyAwareFontPainter::initializeForGDI):
54933        * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
54934        (WebCore):
54935        (WebCore::adjustTextRenderMode):
54936        * platform/graphics/skia/FontSkia.cpp:
54937        (WebCore):
54938        (WebCore::adjustTextRenderMode):
54939        * platform/graphics/skia/SkiaFontWin.cpp:
54940        (WebCore):
54941        (WebCore::disableTextLCD):
54942        * rendering/RenderThemeChromiumWin.cpp:
54943        (WebCore):
54944
549452012-04-05  Zan Dobersek  <zandobersek@gmail.com>
54946
54947        media/track/track-webvtt-tc004-magic-header.html flakily times out
54948        https://bugs.webkit.org/show_bug.cgi?id=72279
54949
54950        Reviewed by Eric Carlson.
54951
54952        Move all the checking for the WebVTT file identifier from TextTrackLoader
54953        to WebVTTParser, notifying the parser clients of parsing failures through
54954        a new method. Remove the WebVTTParser::fileIdentifierMaximumLength method
54955        and make WebVTTParser::hasRequiredFileIdentifier private. The latter now
54956        operates on a vector holding the identifier data to which data is added
54957        until there's enough of it to possibly hold the optional BOM character
54958        and the required WEBVTT character sequence.
54959
54960        No new tests. Fixes an existing test.
54961
54962        * html/track/WebVTTParser.cpp: Fix a typo throughout the file:
54963        fileIdentiferLength -> fileIdentifierLength
54964        (WebCore):
54965        (WebCore::WebVTTParser::parseBytes): Only continue with searcing for
54966        the WEBVTT identifier if there's enough data to possibly contain the
54967        identifier. Report that the file failed to parse if the identifier
54968        was then not found.
54969        (WebCore::WebVTTParser::hasRequiredFileIdentifier): Refactor to operate
54970        on the vector containing identifier data and merge with the
54971        hasLongWebVTTIdentifier function.
54972        * html/track/WebVTTParser.h:
54973        (WebVTTParserClient): Add a new method.
54974        (WebVTTParser):
54975        * loader/TextTrackLoader.cpp:
54976        (WebCore::TextTrackLoader::processNewCueData): Parser is now created
54977        immediately regardless of the mime type the response holds.
54978        (WebCore::TextTrackLoader::fileFailedToParse): Log the error, set the
54979        state to failed, start the cue load timer and cancel the load if the file
54980        was not parsed successfully.
54981        (WebCore):
54982        * loader/TextTrackLoader.h:
54983        (TextTrackLoader):
54984
549852012-04-05  Shawn Singh  <shawnsingh@chromium.org>
54986
54987        [chromium] Need to clip to homogeneous w=0 plane when applying transforms.
54988        https://bugs.webkit.org/show_bug.cgi?id=80806
54989
54990        Reviewed by Adrienne Walker.
54991
54992        Unit tests added to CCLayerTreeHostCommon. This change is also
54993        covered by other existing unit tests and layout tests.
54994
54995        WebCore TransformationMatrix mapRect / mapQuad / projectQuad do
54996        not properly handle the case where a surface is oriented partially
54997        behind the camera, with a perspective projection. In this case,
54998        projected points may appear to be valid in cartesian coordinates,
54999        but they are indeed not valid, and this problem can only be
55000        detected in homogeneous coordinates after applying the transform,
55001        before the divide-by-w step.
55002
55003        The correct solution is to clip geometry where w < 0. This patch
55004        makes this change local to chromium only, to fix rendering bugs
55005        that arise from this problem. The primary fix is to correct
55006        calculateVisibleLayerRect(), but other ancillary locations are
55007        also fixed, in particular, the antialiasing code path is simply
55008        skipped when this case arises.
55009
55010        Eventually this math needs to be merged into TransformationMatrix,
55011        to fix hit-testing bugs that occur in both Chromium and Safari.
55012
55013        * WebCore.gypi:
55014        * platform/graphics/chromium/LayerRendererChromium.cpp:
55015        (WebCore::findTileProgramUniforms):
55016        (WebCore::LayerRendererChromium::drawTileQuad):
55017        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
55018        (WebCore::CCLayerTreeHostCommon::calculateVisibleRect):
55019        (WebCore::isScaleOrTranslation):
55020        (WebCore::calculateDrawTransformsAndVisibilityInternal):
55021        * platform/graphics/chromium/cc/CCMathUtil.cpp: Added.
55022        (WebCore):
55023        (WebCore::HomogeneousCoordinate::HomogeneousCoordinate):
55024        (HomogeneousCoordinate):
55025        (WebCore::HomogeneousCoordinate::shouldBeClipped):
55026        (WebCore::HomogeneousCoordinate::cartesianPoint2d):
55027        (WebCore::projectPoint):
55028        (WebCore::mapPoint):
55029        (WebCore::computeClippedPointForEdge):
55030        (WebCore::expandBoundsToIncludePoint):
55031        (WebCore::computeEnclosingRectOfClippedQuad):
55032        (WebCore::computeEnclosingRect):
55033        (WebCore::CCMathUtil::mapClippedRect):
55034        (WebCore::CCMathUtil::projectClippedRect):
55035        (WebCore::CCMathUtil::mapQuad):
55036        (WebCore::CCMathUtil::projectQuad):
55037        * platform/graphics/chromium/cc/CCMathUtil.h: Added.
55038        (WebCore):
55039        (CCMathUtil):
55040        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
55041        (WebCore::computeUnoccludedContentRect):
55042
550432012-04-05  Jia Pu  <jpu@apple.com>
55044
55045        Move correction panel related functions from EditorClient into separated AlternativeTextClient class.
55046        https://bugs.webkit.org/show_bug.cgi?id=82970
55047
55048        Reviewed by Enrica Casucci.
55049
55050        No new tests, since there's no change of functionality.
55051
55052        The existing correction panel related functions in EditorClient are currently used only by OS X.
55053        We'd like to move them into separate AlternativeTextClient class to avoid using #ifdef's. This
55054        new client class will also hold dictation alternative related interface that we will add soon for
55055        bug 82503.
55056
55057        * WebCore.vcproj/WebCore.vcproj:
55058        * WebCore.xcodeproj/project.pbxproj:
55059        * editing/AlternativeTextController.cpp: Changes in this file are all for calling functions in
55060          AlternativeTextClient instead of those in EditoClient.
55061        (WebCore::AlternativeTextController::show):
55062        (WebCore::AlternativeTextController::dismiss):
55063        (WebCore::AlternativeTextController::dismissSoon):
55064        (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
55065        (WebCore::AlternativeTextController::timerFired):
55066        (WebCore::AlternativeTextController::isAutomaticSpellingCorrectionEnabled):
55067        (WebCore::AlternativeTextController::alternativeTextClient):
55068        (WebCore):
55069        (WebCore::AlternativeTextController::editorClient):
55070        (WebCore::AlternativeTextController::textChecker):
55071        (WebCore::AlternativeTextController::recordAutocorrectionResponseReversed):
55072        (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
55073        * editing/AlternativeTextController.h:
55074        (WebCore):
55075        (AlternativeTextController):
55076        * editing/TextCheckingHelper.h:
55077        (WebCore):
55078        * loader/EmptyClients.h:
55079        (EmptyEditorClient):
55080        * page/AlternativeTextClient.h: Added.
55081        (WebCore):
55082        (AlternativeTextClient):
55083        (WebCore::AlternativeTextClient::~AlternativeTextClient):
55084        * page/EditorClient.h:
55085        (EditorClient):
55086        * page/Page.cpp:
55087        (WebCore::Page::Page):
55088        (WebCore::Page::PageClients::PageClients):
55089        * page/Page.h:
55090        (WebCore):
55091        (PageClients):
55092        (Page):
55093        (WebCore::Page::alternativeTextClient):
55094
550952012-04-05  Min Qin  <qinmin@google.com>
55096
55097        Fix fullscreen video button for android
55098        https://bugs.webkit.org/show_bug.cgi?id=83087
55099
55100        Reviewed by Dimitri Glazkov.
55101
55102        https://bugs.webkit.org/show_bug.cgi?id=70437 changed css keyword for fullscreen video button.
55103        It is changed from media-fullscreen-button to media-enter-fullscreen-button.
55104        However, it does not change the value in mediaControlChromiumAndroid.css.
55105        No behavior change.
55106
55107        * css/mediaControlsChromiumAndroid.css:
55108        (video::-webkit-media-controls-fullscreen-button):
55109
551102012-04-05  Pavel Feldman  <pfeldman@chromium.org>
55111
55112        Web Inspector: CSS file revisions are not restored upon front-end reopen.
55113        https://bugs.webkit.org/show_bug.cgi?id=83292
55114
55115        Reviewed by Yury Semikhatsky.
55116
55117        Populating suggestions before the panel creation now.
55118
55119        * inspector/front-end/inspector.js:
55120        (WebInspector._doLoadedDoneWithCapabilities.get if):
55121
551222012-04-04  Simon Fraser  <simon.fraser@apple.com>
55123
55124        Add assertions to check for mutation of RenderLayer z-order lists during enumeration
55125        https://bugs.webkit.org/show_bug.cgi?id=83242
55126
55127        Reviewed by James Robinson.
55128
55129        Add debug-only code that detects whether RenderLayer's z-order and
55130        normal flow lists are being cleared or otherwise mutated while we're
55131        enumerating over them.
55132
55133        * rendering/RenderLayer.cpp:
55134        (WebCore::RenderLayer::RenderLayer):
55135        (WebCore::RenderLayer::paintList):
55136        (WebCore::RenderLayer::calculateLayerBounds):
55137        (WebCore::RenderLayer::dirtyZOrderLists):
55138        (WebCore::RenderLayer::dirtyNormalFlowList):
55139        (WebCore::RenderLayer::updateZOrderListsSlowCase):
55140        (WebCore::RenderLayer::updateNormalFlowList):
55141        * rendering/RenderLayer.h:
55142        (RenderLayer):
55143        (WebCore::RenderLayer::layerListMutationAllowed):
55144        (WebCore::RenderLayer::setLayerListMutationAllowed):
55145        (WebCore):
55146        (LayerListMutationDetector):
55147        (WebCore::LayerListMutationDetector::LayerListMutationDetector):
55148        (WebCore::LayerListMutationDetector::~LayerListMutationDetector):
55149        * rendering/RenderLayerBacking.cpp:
55150        (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
55151        * rendering/RenderLayerCompositor.cpp:
55152        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
55153        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
55154        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
55155        (WebCore::RenderLayerCompositor::updateLayerTreeGeometry):
55156        (WebCore::RenderLayerCompositor::updateCompositingDescendantGeometry):
55157        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect):
55158        (WebCore::RenderLayerCompositor::layerHas3DContent):
55159
551602012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
55161
55162        Unreviewed, rolling out r113254.
55163        http://trac.webkit.org/changeset/113254
55164        https://bugs.webkit.org/show_bug.cgi?id=83291
55165
55166        Requested by sievers@chromium.org (Requested by zhenyao on
55167        #webkit).
55168
55169        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
55170        (WebCore::CCLayerTreeHostImpl::canDraw):
55171
551722012-04-05  Sheriff Bot  <webkit.review.bot@gmail.com>
55173
55174        Unreviewed, rolling out r113307.
55175        http://trac.webkit.org/changeset/113307
55176        https://bugs.webkit.org/show_bug.cgi?id=83288
55177
55178        Requested by sievers@chromium.org (Requested by zhenyao on
55179        #webkit).
55180
55181        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
55182        (WebCore::CCLayerTreeHostImpl::canDraw):
55183
551842012-03-14  Antonio Gomes  <agomes@rim.com>
55185
55186        Extend HitTestResult to support not "discarding" shadow content in favor of its DOM ancestor
55187        https://bugs.webkit.org/show_bug.cgi?id=80847
55188
55189        Reviewed by David Hyatt.
55190
55191        In order to improve touch precision on shadow tree content, patch
55192        extends the rect-hittest'ing system to allow shadow content
55193        to be stored as the rect-hittest result node list.
55194
55195        Primary use cases are for this extension is making it easier to
55196        improve the clickability of default controls of <video> and <audio>
55197        elements.
55198
55199        For the callee site, the use is simple: if shadow content in the rect-hittest
55200        result is desired, just add an extra 'AllowShadowContent' parameter at the creation
55201        of the HitTestResult object.
55202
55203        Test: fast/dom/nodesFromRect-shadowContent.html
55204
55205        * dom/Document.cpp:
55206        (WebCore::Document::nodesFromRect):
55207        * dom/Document.h:
55208        (Document):
55209        * page/EventHandler.cpp:
55210        (WebCore::EventHandler::hitTestResultAtPoint):
55211        * rendering/HitTestResult.cpp:
55212        (WebCore::HitTestResult::HitTestResult):
55213        (WebCore::HitTestResult::addNodeToRectBasedTestResult):
55214        * rendering/HitTestResult.h:
55215        (HitTestResult):
55216        (WebCore::HitTestResult::shadowContentFilterPolicy):
55217        * rendering/RenderImage.cpp:
55218        (WebCore::RenderImage::nodeAtPoint):
55219        * rendering/RenderLayer.cpp:
55220        (WebCore::RenderLayer::hitTestLayer):
55221        (WebCore::RenderLayer::hitTestList):
55222        * testing/Internals.cpp:
55223        (WebCore::Internals::nodesFromRect):
55224        * testing/Internals.h:
55225        (Internals):
55226        * testing/Internals.idl:
55227
552282012-04-05  Hans Muller  <hmuller@adobe.com>
55229
55230        Rename CSS Exclusions "rect" value to "rectangle"
55231        https://bugs.webkit.org/show_bug.cgi?id=82367
55232
55233        Reviewed by Ryosuke Niwa.
55234
55235        Changed the CSS exclusion shape called "rect" to "rectangle" to match
55236        the current draft spec - http://dev.w3.org/csswg/css3-exclusions.
55237
55238        The meeting minutes where the decision to rename the exclusion "rect" function
55239        to "rectangle" are: http://lists.w3.org/Archives/Public/www-style/2012Feb/0325.html
55240
55241        No new tests were created; just updated the existing ones.
55242
55243        * css/CSSParser.cpp:
55244        (WebCore::CSSParser::parseWrapShapeRectangle):
55245        (WebCore::CSSParser::parseWrapShape):
55246        * css/CSSParser.h:
55247        * css/CSSWrapShapes.cpp:
55248        (WebCore::CSSWrapShapeRectangle::cssText):
55249        * css/CSSWrapShapes.h:
55250        (WebCore::CSSWrapShapeRectangle::create):
55251        (WebCore::CSSWrapShapeRectangle::type):
55252        (WebCore::CSSWrapShapeRectangle::CSSWrapShapeRectangle):
55253
552542012-04-05  Arvid Nilsson  <anilsson@rim.com>
55255
55256        [BlackBerry] Disable paintingGoesToWindow() for the root layer when forced compositing mode is active
55257        https://bugs.webkit.org/show_bug.cgi?id=83127
55258
55259        Reviewed by Rob Buis.
55260
55261        RIM PR: 136381
55262        The BlackBerry port will use accelerated compositing code path to
55263        render the root layer in some situations.
55264
55265        The plan is to do this by activating the "force compositing mode"
55266        setting, but that in itself doesn't get us all the way, since painting
55267        will still go to window for the root layer.
55268
55269        Fixed by adding a special clause in
55270        RenderLayerBacking::paintingGoesToWindow() for PLATFORM(BLACKBERRY).
55271
55272        No new tests, this is currently not testable with the BlackBerry WebKit
55273        testing infrastructure.
55274
55275        * rendering/RenderLayerBacking.cpp:
55276        (WebCore::RenderLayerBacking::paintingGoesToWindow):
55277        * rendering/RenderLayerCompositor.h:
55278        (RenderLayerCompositor):
55279        (WebCore::RenderLayerCompositor::inForcedCompositingMode): Added.
55280
552812012-04-05  Stephen Chenney  <schenney@chromium.org>
55282
55283        REGRESSION(99539): Infinite repaint loop with SVGImage and deferred repaint timers
55284        https://bugs.webkit.org/show_bug.cgi?id=78315
55285
55286        Reviewed by Dimitri Glazkov.
55287
55288        The existing fix for this issue was failing to check if the frameView object
55289        was currently _in_ layout, in addition to whether it needs layout. Calling the
55290        redraw method while in layout leads to a debug assertion and potential infinite
55291        layout loops. Now we check whether we need layout or are in layout. We also add
55292        a check when the repaint timer fires to ensure we do not call redraw during layout
55293        at that point.
55294
55295        This patch was tested with tens of thousands of runs on layout test cases that
55296        previously crashed at a rate of about 1 in 25. Now we see no crashes and no test
55297        failures.
55298
55299        No new tests, as this exists to fix flaky existing tests.
55300
55301        * svg/graphics/SVGImageCache.cpp:
55302        (WebCore::SVGImageCache::imageContentChanged):
55303        (WebCore::SVGImageCache::redrawTimerFired):
55304
553052012-04-05  Keishi Hattori  <keishi@webkit.org>
55306
55307        Hide datalist element
55308        https://bugs.webkit.org/show_bug.cgi?id=82874
55309
55310        The datalist element should be hidden when ENABLE_DATALIST is on.
55311
55312        Reviewed by Kent Tamura.
55313
55314        Tests: fast/forms/datalist/datalist-fallback-content-expected.html
55315               fast/forms/datalist/datalist-fallback-content.html
55316
55317        * css/html.css:
55318        (datalist): Added display:none.
55319
553202012-04-05  W. James MacLean  <wjmaclean@chromium.org>
55321
55322        Adjust max bisection search iterations for TouchpadFlingGestureCurve.
55323        https://bugs.webkit.org/show_bug.cgi?id=83166
55324
55325        Reviewed by James Robinson.
55326
55327        Covered by existing tests.
55328
55329        * platform/TouchpadFlingPlatformGestureCurve.cpp:
55330        (WebCore):
55331
553322012-04-05  Peter Rybin  <peter.rybin@gmail.com>
55333
55334        Web Inspector: CodeGeneratorInspector.py: switch FileSystem, Profiler and Worker domains to typed API
55335        https://bugs.webkit.org/show_bug.cgi?id=83069
55336
55337        Reviewed by Yury Semikhatsky.
55338
55339        Domains are switched to 'strict' mode. However, hardly any changes were needed in C++ code because
55340        only basic types are currently used in Inspector.json.
55341
55342        * inspector/CodeGeneratorInspector.py:
55343        * inspector/InspectorProfilerAgent.cpp:
55344        (WebCore::InspectorProfilerAgent::getProfileHeaders):
55345        (WebCore):
55346        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
55347        * inspector/InspectorProfilerAgent.h:
55348        (InspectorProfilerAgent):
55349
553502012-04-05  Levi Weintraub  <leviw@chromium.org>
55351
55352        DOM measurement APIs should operate on pixel snapped values.
55353        https://bugs.webkit.org/show_bug.cgi?id=83138
55354
55355        Reviewed by Julien Chaffraix.
55356
55357        DOM measurement APIs return unscaled integers. In an effort to return the best possible values (and
55358        most consistent with current behavior) when we use sub-pixel values for Layout, we want to adjust
55359        the actual on-screen position and size values for scaling, not the sub-pixel values.
55360
55361        No new tests. No change in behavior.
55362
55363        * dom/Element.cpp:
55364        (WebCore::adjustForLocalZoom): Needs to return an integer, since this is what the DOM API calls for.
55365        (WebCore::Element::offsetWidth): Using pixel snapped values for all the following functions.
55366        (WebCore::Element::offsetHeight):
55367        (WebCore::Element::clientLeft):
55368        (WebCore::Element::clientTop):
55369        (WebCore::Element::clientWidth):
55370        (WebCore::Element::clientHeight):
55371        * html/HTMLImageElement.cpp:
55372        (WebCore::HTMLImageElement::width):
55373        (WebCore::HTMLImageElement::height):
55374
553752012-04-05  Pavel Feldman  <pfeldman@chromium.org>
55376
55377        Web Inspector: add ability to copy resource URL from web inspector's resources page.
55378        https://bugs.webkit.org/show_bug.cgi?id=83175
55379
55380        Reviewed by Yury Semikhatsky.
55381
55382        Added requested context menu item.
55383
55384        * inspector/front-end/ResourcesPanel.js:
55385        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
55386
553872012-04-04  Andrey Kosyakov  <caseq@chromium.org>
55388
55389        Web Inspector: display frame duration instead of time ruler in Timeline panel's frame mode
55390        https://bugs.webkit.org/show_bug.cgi?id=83184
55391
55392        Reviewed by Pavel Feldman.
55393
55394        * inspector/front-end/TimelineFrameController.js:
55395        (WebInspector.TimelineFrameController): Maintain reference to TimelinePresentationModel
55396        (WebInspector.TimelineFrameController.prototype._flushFrame): Report frames to TimelinePresentationModel (only real ones)
55397        * inspector/front-end/TimelineGrid.js:
55398        (WebInspector.TimelineGrid.prototype.removeDividers): remove time marks/labels from upper time ruler
55399        * inspector/front-end/TimelineOverviewPane.js:
55400        (WebInspector.TimelineOverviewPane.prototype._updateEventDividers): Updated call site of createEventDivider
55401        * inspector/front-end/TimelinePanel.js:
55402        (WebInspector.TimelinePanel.prototype._updateEventDividers):
55403        (WebInspector.TimelinePanel.prototype._shouldShowFrames):
55404        (WebInspector.TimelinePanel.prototype._updateFrames): Frame bars rendering logic.
55405        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords): Do not keep frames in the panel any more.
55406        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
55407        (WebInspector.TimelinePanel.prototype._refresh): Moved updateDividers() call here...
55408        (WebInspector.TimelinePanel.prototype._refreshRecords):  ... from here.
55409        * inspector/front-end/TimelinePresentationModel.js:
55410        (WebInspector.TimelinePresentationModel.createEventDivider): Use type & title, not entire record.
55411        (WebInspector.TimelinePresentationModel.prototype.frames): Maintain frames in the TimelinePresentationModel.
55412        (WebInspector.TimelinePresentationModel.prototype.reset): ditto.
55413        (WebInspector.TimelinePresentationModel.prototype.addFrame): ditto.
55414        (WebInspector.TimelinePresentationModel.Record): Fix title for timestamp events (drive by).
55415        * inspector/front-end/timelinePanel.css:
55416        (.timeline-frame-strip):
55417
554182012-04-05  MORITA Hajime  <morrita@google.com>
55419
55420        IsCommentNode flags is a waste.
55421        https://bugs.webkit.org/show_bug.cgi?id=83251
55422
55423        Reviewed by Ryosuke Niwa.
55424
55425        Effectively nobody uses it. To save a precious NodeFlags bit, this
55426        change removes NodeFlags::IsCommentFlag and its companion mehtod
55427        Node::isCommentNode().
55428
55429        No new tests. No behaviour change.
55430
55431        * dom/CharacterData.h:
55432        (WebCore::CharacterData::CharacterData):
55433        * dom/Comment.cpp:
55434        (WebCore::Comment::Comment):
55435        * dom/Node.h:
55436        * rendering/RenderTreeAsText.cpp:
55437        (WebCore::getTagName):
55438        This was the only client of Node::isCommentNode(). Replaced it with nodeType() call.
55439
554402012-04-05  Hans Wennborg  <hans@chromium.org>
55441
55442        webkit_unit_tests build fix.
55443        https://bugs.webkit.org/show_bug.cgi?id=83261
55444
55445        Unreviewed, webkit_unit_tests buildfix.
55446
55447        The CCLayerTreeHostTestEmptyContentsShouldNotDraw.runMultiThread test
55448        stopped working after r113254.
55449
55450        Disable it for now.
55451
55452        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
55453        (WebCore::CCLayerTreeHostImpl::canDraw):
55454
554552012-04-05  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
55456
55457        [EFL] keycode translation is wrong for function keys
55458        https://bugs.webkit.org/show_bug.cgi?id=82738
55459
55460        This patch fixes keycode translation for function keys.
55461
55462        Reviewed by Philippe Normand.
55463
55464        Test: fast/events/keydown-function-keys.html
55465
55466        * platform/efl/EflKeyboardUtilities.cpp:
55467        (WebCore::createWindowsKeyMap):
55468
554692012-04-01  Nikolas Zimmermann  <nzimmermann@rim.com>
55470
55471        Work around an entity parsing bug in libxml2 2.7.3 (supplied with Lion) and unskip tests
55472        https://bugs.webkit.org/show_bug.cgi?id=82577
55473
55474        Reviewed by Filip Pizlo.
55475
55476        Work-around entity expansion bug that affects several SVG tests on Lion.
55477
55478        Sample test document which is currently broken:
55479        <?xml version="1.0" encoding="UTF-8"?>
55480        <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd" [
55481        <!ENTITY Smile "<rect x='.5' y='.5' width='29' height='39' fill='black' stroke='red'/>">
55482        ]>
55483
55484        <svg xmlns="http://www.w3.org/2000/svg">&Smile;</svg>
55485
55486        The expanded rect carries no namespace, thus an Element will be created for it, instead of a SVGRectElement.
55487        libxml2 2.7.4 fixed this bug (https://bugzilla.gnome.org/show_bug.cgi?id=502960) in 2009 already, but Lion
55488        still ships with 2.7.3, so we need to find a work-around for the problem. It works like this:
55489        - When an entity is requested (getEntityHandler) determine whether the entity is being declared (while the <!ENTITY.. parses)
55490          or wheter its references (when the &Smile; is parsed). If its referenced, record the current depth of the libxml2 parser.
55491        - When startElementNs is called while we're expanding entities, be sure to transfer the namespace of the parent node
55492          to the new node, but only do this if the current depth() is greater than the depth() at the time where entity expansion started.
55493          This way we only apply our workaround for elements inside entities, that get expanded at the insertion point.
55494        - When endElementNs is called, and our current depth() is less than our equal to the depth() where entity expansion started,
55495          clear the recorded detph(), and stop executing the workaround.
55496
55497        It requires storing an extra integer & boolean in XMLDocumentParser, which is only used for this work-around.
55498
55499        * xml/parser/XMLDocumentParser.h:
55500        (XMLDocumentParser):
55501        (WebCore::XMLDocumentParser::isParsingEntityDeclaration):
55502        (WebCore::XMLDocumentParser::setIsParsingEntityDeclaration):
55503        (WebCore::XMLDocumentParser::depthTriggeringEntityExpansion):
55504        (WebCore::XMLDocumentParser::setDepthTriggeringEntityExpansion):
55505        * xml/parser/XMLDocumentParserLibxml2.cpp:
55506        (WebCore::XMLDocumentParser::XMLDocumentParser):
55507        (WebCore::hackAroundLibXMLEntityParsingBug):
55508        (WebCore::XMLDocumentParser::startElementNs):
55509        (WebCore::XMLDocumentParser::endElementNs):
55510        (WebCore::entityDeclarationHandler):
55511        (WebCore::getEntityHandler):
55512        (WebCore::XMLDocumentParser::initializeParserContext):
55513
555142012-04-04  Kent Tamura  <tkent@chromium.org>
55515
55516        Add JavaScript and CSS code for the calendar picker implementation
55517        https://bugs.webkit.org/show_bug.cgi?id=83011
55518
55519        Reviewed by Hajime Morita.
55520
55521        Add calendarPicker.js and calendarPicker.css, and add a build rule to
55522        generate a C++ file. This change doesn't make any behavior change
55523        because the code is wrapped by ENABLE(CALENDAR_PICKER).
55524
55525        Tests: ManualTests/forms/calendar-picker.html
55526
55527        * Resources/calendarPicker.css: Added.
55528        * Resources/calendarPicker.js: Added.
55529        * WebCore.gyp/WebCore.gyp: Generate CalendarPicker.{cpp,h} from calendarPicker.{css,js}.
55530
555312012-04-05  Kinuko Yasuda  <kinuko@chromium.org>
55532
55533        Expose DataTransferItem.getAsEntry() to allow users access dropped files as FileEntry
55534        https://bugs.webkit.org/show_bug.cgi?id=82592
55535
55536        Reviewed by David Levin.
55537
55538        For now the method is prefixed thus it is to be exposed as 'webkitGetAsEntry'.
55539
55540        The API is proposed and discussed in the following whatwg thread:
55541        http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2011-November/033814.html
55542
55543        Add DataTransferItemFilesystem under Modules/filesystem and implemented the bridging part for chromium.
55544
55545        Test: editing/pasteboard/data-transfer-items-drag-drop-entry.html
55546
55547        * Modules/filesystem/DataTransferItemFileSystem.h: Added.
55548        (DataTransferItemFileSystem):
55549        * Modules/filesystem/DataTransferItemFileSystem.idl: Added for DataTransferItem.getAsEntry which is only exposed if filesystem is enabled.
55550        * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.cpp: Added for chromium implementation.
55551        * Modules/filesystem/chromium/DataTransferItemFileSystemChromium.h: Added.
55552        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.cpp: Added.
55553        * Modules/filesystem/chromium/DraggedIsolatedFileSystem.h: Added.
55554        * WebCore.gypi:
55555        * platform/chromium/ChromiumDataObject.cpp:
55556        * platform/chromium/ChromiumDataObject.h:
55557        (WebCore::ChromiumDataObject::filesystemId): Added.
55558        (WebCore::ChromiumDataObject::setFilesystemId): Added.
55559        * platform/chromium/ClipboardChromium.cpp:
55560
555612012-04-04  Patrick Gansterer  <paroga@webkit.org>
55562
55563        Add WTF::getCurrentLocalTime()
55564        https://bugs.webkit.org/show_bug.cgi?id=83164
55565
55566        Reviewed by Alexey Proskuryakov.
55567
55568        Replace the calls to WTF::getLocalTime() with time(0) with the new function.
55569        This allows us to use Win32 API on windows to get the same result in a next step.
55570
55571        * html/FTPDirectoryDocument.cpp:
55572        (WebCore::processFileDateString):
55573        * loader/archive/mhtml/MHTMLArchive.cpp:
55574        (WebCore::MHTMLArchive::generateMHTMLData):
55575
555762012-04-04  Hayato Ito  <hayato@chromium.org>
55577
55578        Remove ReifiedTreeTraversal.
55579        https://bugs.webkit.org/show_bug.cgi?id=83110
55580
55581        Reviewed by Dimitri Glazkov.
55582
55583        We can now remove ReifiedTreeTraversal. All clients have switched to use ComposedShadowTreeWalker.
55584
55585        No new tests. No change in functionality.
55586
55587        * CMakeLists.txt:
55588        * GNUmakefile.list.am:
55589        * Target.pri:
55590        * WebCore.exp.in:
55591        * WebCore.gypi:
55592        * WebCore.vcproj/WebCore.vcproj:
55593        * WebCore.xcodeproj/project.pbxproj:
55594        * dom/ReifiedTreeTraversal.cpp: Removed.
55595        * dom/ReifiedTreeTraversal.h: Removed.
55596        * testing/Internals.cpp:
55597        * testing/Internals.h:
55598        (Internals):
55599        * testing/Internals.idl:
55600
556012012-04-04  Dmitry Lomov  <dslomov@google.com>
55602
55603        WorkerEventQueue::close might access deleted WorkerEventQueue::EventDispatcherTask.
55604        https://bugs.webkit.org/show_bug.cgi?id=83202
55605
55606        On closing the event queue, WorkerEventQueue cancels all the tasks associated with events.
55607        The tasks in their turn delete themselves from the map whenever task gets executed.
55608        However if shutdown occurs when task is in queue but before task gets executed, the task will be deleted without execution.
55609        This patch makes sure that no deleted tasks stay in WorkerEventQueue, by task removing itself in destructor.
55610
55611        Reviewed by David Levin.
55612
55613        Covered by existing tests.
55614
55615        * workers/WorkerEventQueue.cpp:
55616        (WebCore::WorkerEventQueue::EventDispatcherTask::~EventDispatcherTask):
55617        (WorkerEventQueue::EventDispatcherTask):
55618        (WebCore::WorkerEventQueue::EventDispatcherTask::performTask):
55619
556202012-04-04  Julien Chaffraix  <jchaffraix@webkit.org>
55621
55622        RenderLayer scrollbars' updates should be split between layout induced and style change induced
55623        https://bugs.webkit.org/show_bug.cgi?id=83213
55624
55625        Reviewed by Simon Fraser.
55626
55627        Refactoring only, no change in behavior.
55628
55629        This patches splits up the 2 reasons for modifying the scrollbars:
55630        - style updates, handled in updateScrollbarsAfterStyleChange.
55631        - layout time, handled in updateScrollbarsAfterLayout.
55632
55633        * rendering/RenderLayer.cpp:
55634        (WebCore::RenderLayer::contentsSize):
55635        Removed now unneeded const-casts.
55636
55637        (WebCore::RenderLayer::setHasHorizontalScrollbar):
55638        (WebCore::RenderLayer::setHasVerticalScrollbar):
55639        Updated to use hasHorizontalScrollbar / hasVerticalScrollbar.
55640
55641        (WebCore::RenderLayer::scrollWidth):
55642        (WebCore::RenderLayer::scrollHeight):
55643        Made those functions |const|.
55644
55645        (WebCore::RenderLayer::computeScrollDimensions):
55646        Removed the unneeded booleans and move the do-we-have-overflow-logic
55647        into hasHorizontalOverflow and hasVerticalOverflow.
55648
55649        (WebCore::RenderLayer::hasHorizontalOverflow):
55650        (WebCore::RenderLayer::hasVerticalOverflow):
55651        Added those new helper functions.
55652
55653        (WebCore::RenderLayer::updateScrollbarsAfterLayout):
55654        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
55655        Updated the latter to call the former.
55656
55657        (WebCore::RenderLayer::updateScrollbarsAfterStyleChange):
55658        (WebCore::RenderLayer::styleChanged):
55659        Ditto.
55660
55661        (WebCore::overflowCanHaveAScrollbar):
55662        Add this helper function for updateScrollbarsAfterStyleChange.
55663
55664        * rendering/RenderLayer.h:
55665        (WebCore::RenderLayer::hasHorizontalScrollbar):
55666        (WebCore::RenderLayer::hasVerticalScrollbar):
55667        Added those 2 new helper functions.
55668
556692012-04-04  Andrei Burago  <aburago@chromium.org>
55670
55671        Auto-size may not work on first load
55672        https://bugs.webkit.org/show_bug.cgi?id=82989
55673
55674        Reviewed by David Levin.
55675
55676        No new tests. The only known repro scenario involves using chrome with a third-party extension,
55677        which makes making a test out of it problematic.
55678
55679        * dom/Document.cpp:
55680        (WebCore::Document::implicitClose):
55681        * page/FrameView.cpp:
55682        (WebCore::FrameView::autoSizeIfEnabled):
55683
556842012-04-04  Adam Barth  <abarth@webkit.org>
55685
55686        XSSAuditor doesn't catch injected srcdoc attributes
55687        https://bugs.webkit.org/show_bug.cgi?id=83238
55688
55689        Reviewed by Daniel Bates.
55690
55691        <iframe srcdoc> is an XSS injection vector because the srcdoc inherits
55692        the security origin of the parent page.  This patch updates the XSS
55693        auditor to check whether the attribute is injected using the same
55694        hueristics we use for inline event handlers.
55695
55696        Test: http/tests/security/xssAuditor/iframe-srcdoc.html
55697
55698        * html/parser/XSSAuditor.cpp:
55699        (WebCore::XSSAuditor::filterIframeToken):
55700        (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
55701        (WebCore::XSSAuditor::eraseAttributeIfInjected):
55702        (WebCore::XSSAuditor::decodedSnippetForAttribute):
55703        * html/parser/XSSAuditor.h:
55704
557052012-04-04  Leo Yang  <leo.yang@torchmobile.com.cn>
55706
55707        [BlackBerry] Add local: protocol support in KURL for blackberry
55708        https://bugs.webkit.org/show_bug.cgi?id=82695
55709
55710        Reviewed by Rob Buis.
55711
55712        BlackBerry porting is using local: protocol just as file: protocol
55713        with the exception that it sandboxes the path to the application private space.
55714
55715        * platform/KURL.cpp:
55716        (WebCore::KURL::parse):
55717        (WebCore::portAllowed):
55718
557192012-04-04  Simon Fraser  <simon.fraser@apple.com>
55720
55721        https://bugs.webkit.org/show_bug.cgi?id=82994
55722
55723        Reviewed by James Robinson.
55724        
55725        Fix an issue when removing elements with reflections from the document.
55726
55727        Test: compositing/reflections/remove-reflection.html
55728
55729        * platform/graphics/GraphicsLayer.cpp:
55730        (WebCore::GraphicsLayer::willBeDestroyed):
55731
557322012-04-04  Charles Wei  <charles.wei@torchmobile.com.cn>
55733
55734        Need using namespace std for system calls in MIMESniffing.cpp
55735        https://bugs.webkit.org/show_bug.cgi?id=82706
55736
55737        Reviewed by Antonio Gomes.
55738
55739        No new tests, just fix the compile error for BlackBerry porting.
55740
55741        * platform/network/MIMESniffing.cpp:
55742
557432012-04-04  Greg Billock  <gbillock@google.com>
55744
55745        Switch web intents API to be vendor-prefixed
55746        https://bugs.webkit.org/show_bug.cgi?id=83172
55747
55748        Reviewed by Adam Barth.
55749
55750        * Modules/intents/DOMWindowIntents.idl:
55751        * Modules/intents/NavigatorIntents.cpp:
55752        (WebCore::NavigatorIntents::webkitStartActivity):
55753        * Modules/intents/NavigatorIntents.h:
55754        (NavigatorIntents):
55755        * Modules/intents/NavigatorIntents.idl:
55756
557572012-04-04  Alexis Menard  <alexis.menard@openbossa.org>
55758
55759        [Part 4] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
55760        https://bugs.webkit.org/show_bug.cgi?id=83224
55761
55762        Reviewed by Tony Chang.
55763
55764        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
55765        as integers. While it's not incorrect it is nicer to use the enum as a parameter of
55766        functions manipulating property ids, as we ensure that the value passed will be an
55767        existing value. This patch clean up some remaining part of code.
55768
55769        No new tests : There should be no behavior change in this patch.
55770
55771        * css/CSSStyleSelector.cpp:
55772        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
55773        * page/animation/AnimationBase.h:
55774        (WebCore::AnimationBase::affectsProperty):
55775        (WebCore::AnimationBase::isAnimatingProperty):
55776        * page/animation/CompositeAnimation.cpp:
55777        (WebCore::CompositeAnimation::getAnimationForProperty):
55778        (WebCore::CompositeAnimation::overrideImplicitAnimations):
55779        (WebCore::CompositeAnimation::resumeOverriddenImplicitAnimations):
55780        (WebCore::CompositeAnimation::isAnimatingProperty):
55781        * page/animation/CompositeAnimation.h:
55782        (CompositeAnimation):
55783        * page/animation/ImplicitAnimation.cpp:
55784        (WebCore::ImplicitAnimation::affectsProperty):
55785        * page/animation/ImplicitAnimation.h:
55786        (WebCore::ImplicitAnimation::transitionProperty):
55787        (WebCore::ImplicitAnimation::animatingProperty):
55788        (ImplicitAnimation):
55789        * page/animation/KeyframeAnimation.cpp:
55790        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
55791        (WebCore::KeyframeAnimation::hasAnimationForProperty):
55792        (WebCore::KeyframeAnimation::overrideAnimations):
55793        (WebCore::KeyframeAnimation::resumeOverriddenAnimations):
55794        (WebCore::KeyframeAnimation::affectsProperty):
55795        * page/animation/KeyframeAnimation.h:
55796        (KeyframeAnimation):
55797        * rendering/RenderLayerBacking.cpp:
55798        (WebCore::RenderLayerBacking::transitionPaused):
55799        (WebCore::RenderLayerBacking::transitionFinished):
55800        (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
55801        (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
55802        * rendering/RenderLayerBacking.h:
55803        (RenderLayerBacking):
55804
558052012-04-04  Rafael Weinstein  <rafaelw@chromium.org>
55806
55807        [MutationObservers] implement takeRecords()
55808        https://bugs.webkit.org/show_bug.cgi?id=83218
55809
55810        Reviewed by Ojan Vafai.
55811
55812        This patch implements MutationObserver.takeRecords per the DOM4 spec.
55813        takeRecords retrieves and clears any pending mutation records for
55814        the observer.
55815
55816        Test: fast/mutation/takeRecords.html
55817
55818        * dom/WebKitMutationObserver.cpp:
55819        (WebCore::WebKitMutationObserver::takeRecords):
55820        (WebCore):
55821        (WebCore::WebKitMutationObserver::deliver):
55822        * dom/WebKitMutationObserver.h:
55823        * dom/WebKitMutationObserver.idl:
55824
558252012-04-04  Shinya Kawanaka  <shinyak@chromium.org>
55826
55827        Shadow DOM is exposed in JS.
55828        https://bugs.webkit.org/show_bug.cgi?id=82607
55829
55830        Reviewed by Hajime Morita.
55831
55832        DOMSelection didn't consider nested shadow trees. This patch makes DOMSelection
55833        take nested shadow trees into account.
55834
55835        To test that the element is not in a shadow tree, Internals has a treeScopeRootNode method
55836        which returns the root node of the belonging tree scope.
55837
55838        Test: fast/dom/shadow/selection-shouldnt-expose-shadow-dom.html
55839
55840        * WebCore.exp.in:
55841        * page/DOMSelection.cpp:
55842        (WebCore::selectionShadowAncestor):
55843        (WebCore):
55844        * testing/Internals.cpp:
55845        (WebCore::Internals::treeScopeRootNode):
55846        (WebCore):
55847        * testing/Internals.h:
55848        (Internals):
55849        * testing/Internals.idl:
55850
558512012-04-04  Luke Macpherson  <macpherson@chromium.org>
55852
55853        Replace further usage of int with CSSPropertyID.
55854        https://bugs.webkit.org/show_bug.cgi?id=83119
55855
55856        Reviewed by Simon Fraser.
55857
55858        No new tests / no functionality changed.
55859
55860        * css/CSSComputedStyleDeclaration.cpp:
55861        (WebCore::logUnimplementedPropertyID):
55862        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
55863        * css/CSSGrammar.y:
55864        * css/CSSParser.cpp:
55865        (WebCore::CSSParser::CSSParser):
55866        * css/CSSParser.h:
55867        (CSSParser):
55868        (WebCore::ShorthandScope::~ShorthandScope):
55869        * css/CSSProperty.h:
55870        (WebCore::CSSProperty::CSSProperty):
55871        * css/SVGCSSComputedStyleDeclaration.cpp:
55872        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
55873        * css/StylePropertySet.h:
55874        (StylePropertySet):
55875        * css/makeprop.pl:
55876        * dom/StyledElement.h:
55877        (StyledElement):
55878        * editing/EditingStyle.h:
55879        (EditingStyle):
55880        * html/HTMLElement.h:
55881        (HTMLElement):
55882
558832012-04-04  Adam Klein  <adamk@chromium.org>
55884
55885        Use PassRefPtr in V8DOMWrapper interface to avoid explicit ref() calls
55886        https://bugs.webkit.org/show_bug.cgi?id=82238
55887
55888        Reviewed by Adam Barth.
55889
55890        Relanding r112163 without modification, as it still seems valid.
55891        Will watch Chrome Canaries closely for any memory issues.
55892
55893        The setJSWrapper* methods previously featured a comment that asked
55894        callers to ref the objects before passing them in. This change makes
55895        that contract explicit (and allows the removal of the comment).
55896
55897        In addition, for ConstructorCallbacks, this change slightly reduces
55898        refcount churn by passing on the initial ref via RefPtr::release().
55899
55900        No new tests, no change in behavior.
55901
55902        * bindings/scripts/CodeGeneratorV8.pm:
55903        (GenerateConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref() call.
55904        (GenerateNamedConstructorCallback): ditto.
55905        * bindings/v8/V8DOMWindowShell.cpp:
55906        (WebCore::V8DOMWindowShell::installDOMWindow): Cast to a PassRefPtr and remove explicit ref call.
55907        * bindings/v8/V8DOMWrapper.cpp:
55908        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Pass leaked refs into the DOMNodeMaps.
55909        * bindings/v8/V8DOMWrapper.h:
55910        (V8DOMWrapper): Make the setJSWrapperFor* methods take PassRefPtr<T>.
55911        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Pass leaked ref into the DOMObjectMap.
55912        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): Pass leaked ref into the ActiveDOMObjectMap.
55913        * bindings/v8/V8Proxy.h:
55914        (WebCore::toV8): Remove explicit ref.
55915        * bindings/v8/WorkerContextExecutionProxy.cpp:
55916        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Cast to a PassRefPTr and remove explicit ref call.
55917        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
55918        (WebCore::v8HTMLImageElementConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref.
55919        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
55920        (WebCore::V8WebKitMutationObserver::constructorCallback): ditto.
55921        * bindings/v8/custom/V8WebSocketCustom.cpp:
55922        (WebCore::V8WebSocket::constructorCallback): ditto.
55923        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
55924        (WebCore::V8XMLHttpRequest::constructorCallback): ditto.
55925
559262012-04-04  Chris Rogers  <crogers@google.com>
55927
55928        WaveTable::waveDataForFundamentalFrequency() should properly interpret negative frequency
55929        https://bugs.webkit.org/show_bug.cgi?id=83228
55930
55931        Reviewed by Kenneth Russell.
55932
55933        * Modules/webaudio/WaveTable.cpp:
55934        (WebCore::WaveTable::waveDataForFundamentalFrequency):
55935
559362012-04-04  Adam Klein  <adamk@chromium.org>
55937
55938        Delay post-insertion notifications until new DOM tree is complete
55939        https://bugs.webkit.org/show_bug.cgi?id=82631
55940
55941        Reviewed by Ojan Vafai.
55942
55943        When inserting a DocumentFragment, WebKit previously would update both
55944        internal WebCore state and mutation event listeners after each node
55945        was inserted. This is inconsistent not only with DOM4, but also
55946        with (at least) Firefox and IE. Given the many bugs over the years in
55947        WebKit due to this behavior, it seems better to delay notification
55948        until the fragment is completely inserted.
55949
55950        The changes to the three core mutation methods below are similar:
55951        the only logic remaining in the loop is checking that insertion is
55952        possible and taking care of that insertion. The entire loop is then
55953        wrapped in forbidEventDispatch/allowEventDispatch, effectively
55954        asserting that none of the code inside will have side effects.
55955
55956        The one bit of logic added to the loop is resizing the targets
55957        vector down to the set of nodes actually inserted as part of the
55958        loop. This makes it possible to simply pass the vector on to
55959        notifyChildrenInserted without having to also pass along a count of
55960        actually-inserted nodes.
55961
55962        As for the code that used to live inside the loop that could have
55963        side-effects, or depended on those side-effects, it has been moved
55964        out, either above (the check that the refChild is still valid in
55965        insertBefore) or after (the calls to notifyChildrenInserted).
55966
55967        Finally, it was necessary to retrofit ChildListMutationScope to take a
55968        vector of added nodes instead of a single node at a time, due to the
55969        assertions in isAddedNodeInOrder (now renamed to be plural). Note that
55970        there is now a single call to ChildListMutationScope::childrenAdded,
55971        inside notifyChildrenInserted.
55972
55973        Test: fast/events/domnodeinserted-entire-fragment.html
55974
55975        * dom/ChildListMutationScope.cpp:
55976        (ChildListMutationScope::MutationAccumulator): Renamed method to be plural.
55977        (WebCore::ChildListMutationScope::MutationAccumulator::areAddedNodesInOrder): Handle a NodeVector instead of a Node.
55978        (WebCore::ChildListMutationScope::MutationAccumulator::childrenAdded): Handle adding a NodeVector instead of a Node.
55979        (WebCore::ChildListMutationScope::MutationAccumulationRouter::childrenAdded): Renamed to be plural, pass NodeVector through.
55980        * dom/ChildListMutationScope.h:
55981        (WebCore::ChildListMutationScope::childrenAdded): ditto.
55982        (MutationAccumulationRouter):
55983        * dom/ContainerNode.cpp:
55984        (WebCore): Renamed updateTreeAfterInsertion to notifyChildrenInserted.
55985        (WebCore::ContainerNode::insertBefore): See main ChangeLog explanation.
55986        (WebCore::ContainerNode::replaceChild): ditto.
55987        (WebCore::ContainerNode::appendChild): ditto.
55988        (WebCore::dispatchChildInsertionEvents): Remove MutationObserver handling.
55989        (WebCore::notifyChildrenInserted): Handle a NodeVector of all inserted children,
55990        and take on responsiblity for MutationObserver handling as well as dispatchSubtreeModifiedEvent.
55991
559922012-04-04  Chris Rogers  <crogers@google.com>
55993
55994        RealtimeAnalyserNode should support smaller analysis sizes
55995        https://bugs.webkit.org/show_bug.cgi?id=83215
55996
55997        Reviewed by Kenneth Russell.
55998        
55999        RealtimeAnalyserNode analysis size currently goes no lower than 128.
56000        It is useful to support lower power-of-two sizes.
56001        Decrease this limit to 32.
56002
56003        Updated webaudio/realtimeanalyser-fft-sizing-expected.txt
56004
56005        * Modules/webaudio/RealtimeAnalyser.cpp:
56006        (WebCore):
56007
560082012-04-04  Tony Chang  <tony@chromium.org>
56009
56010        CSS transitions should work on the flex property
56011        https://bugs.webkit.org/show_bug.cgi?id=75915
56012
56013        Reviewed by Dean Jackson.
56014
56015        Test: transitions/flex-transitions.html
56016
56017        * page/animation/AnimationBase.cpp:
56018        (WebCore::PropertyWrapperGetter::equals): Fix indention.
56019        (PropertyWrapperFlex): Add a wrapper for -webkit-flex which has 3 values (two floats and
56020        a length), but is not a shorthand.
56021        (WebCore::PropertyWrapperFlex::PropertyWrapperFlex):
56022        (WebCore::PropertyWrapperFlex::equals):
56023        (WebCore::PropertyWrapperFlex::blend):
56024        (WebCore):
56025        (WebCore::AnimationBase::ensurePropertyMap):
56026
560272012-04-04  Tom Sepez  <tsepez@chromium.org>
56028
56029        XSSAuditor bypass through HTTP Parameter Pollution.
56030        https://bugs.webkit.org/show_bug.cgi?id=81283
56031
56032        Reviewed by Adam Barth.
56033
56034        Deal with concatenation of multiple parameters via comma-splicing that 
56035        is common to some webservers. We can no longer trust that all of the 
56036        attributes of a reflected script tag, nor the reflected script itself,
56037        came from the same single URL parameter. The fix is to take commas into
56038        account when trucating the snippet used for matching.
56039        
56040        Test: http/tests/security/xssAuditor/script-tag-with-comma.html
56041
56042        * html/parser/XSSAuditor.cpp:
56043        (WebCore::XSSAuditor::filterScriptToken):
56044        (WebCore):
56045        (WebCore::XSSAuditor::decodedSnippetForName):
56046        (WebCore::XSSAuditor::decodedSnippetForJavaScript):
56047
560482012-04-04  Dan Bernstein  <mitz@apple.com>
56049
56050        Paginated webviews render nothing in their gutters
56051        https://bugs.webkit.org/show_bug.cgi?id=83231
56052
56053        Reviewed by Adele Peterson.
56054
56055        When the RenderView has columns, nothing draws in the gutters.
56056
56057        * page/FrameView.cpp:
56058        (WebCore::FrameView::paintContents): Paint the background color behind everything when
56059        paginated.
56060
560612012-04-04  Mark Pilgrim  <pilgrim@chromium.org>
56062
56063        Call histogramEnumeration directly
56064        https://bugs.webkit.org/show_bug.cgi?id=83106
56065
56066        Reviewed by Adam Barth.
56067
56068        Part of a refactoring project to remove the PlatformSupport
56069        abstraction from some functions. See bug 82948.
56070
56071        * bindings/v8/custom/V8InspectorFrontendHostCustom.cpp:
56072        (WebCore::histogramEnumeration):
56073        * platform/chromium/HistogramSupportChromium.cpp:
56074        (WebCore::HistogramSupport::histogramEnumeration):
56075        * platform/chromium/PlatformSupport.h:
56076        (PlatformSupport):
56077
560782012-04-04  Zhenyao Mo  <zmo@google.com>
56079
56080        Unreviewed, GPU bots build fix.
56081
56082        Commited on behalf of sievers@chromium.org.
56083
56084        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
56085        (WebCore::CCLayerTreeHostImpl::canDraw):
56086
560872012-04-04  Abhishek Arya  <inferno@chromium.org>
56088
56089        Add helpers to create anonymous table parts.
56090        https://bugs.webkit.org/show_bug.cgi?id=83116
56091
56092        Reviewed by Julien Chaffraix.
56093
56094        The patch introduces helpers to create anonymous table parts by
56095        introducing a new static function createAnonymousWithParentRenderer.
56096        The function builds a new anonymous wrapper of the same type as the class,
56097        inheriting style properties from parent and sets a display based on
56098        argument/default values. Also we streamline the RenderBlock functions
56099        to match this naming convention.
56100
56101        * rendering/RenderBlock.cpp:
56102        (WebCore::RenderBlock::createAnonymousBlockWithSameTypeAs):
56103        (WebCore::RenderBlock::createAnonymousWithParentRendererAndDisplay):
56104        (WebCore):
56105        (WebCore::RenderBlock::createAnonymousColumnsWithParentRendererAndDisplay):
56106        (WebCore::RenderBlock::createAnonymousColumnSpanWithParentRendererAndDisplay):
56107        * rendering/RenderBlock.h:
56108        (RenderBlock):
56109        (WebCore::RenderBlock::createAnonymousBlock):
56110        (WebCore::RenderBlock::createAnonymousColumnsBlock):
56111        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
56112        * rendering/RenderButton.cpp:
56113        (WebCore::RenderButton::addChild):
56114        * rendering/RenderObject.cpp:
56115        (WebCore::RenderObject::addChild):
56116        * rendering/RenderTable.cpp:
56117        (WebCore::RenderTable::addChild):
56118        (WebCore::RenderTable::createAnonymousWithParentRendererAndDisplay):
56119        (WebCore):
56120        * rendering/RenderTable.h:
56121        (RenderTable):
56122        * rendering/RenderTableCell.cpp:
56123        (WebCore::RenderTableCell::createAnonymousWithParentRendererAndDisplay):
56124        (WebCore):
56125        * rendering/RenderTableCell.h:
56126        (RenderTableCell):
56127        * rendering/RenderTableRow.cpp:
56128        (WebCore::RenderTableRow::addChild):
56129        (WebCore::RenderTableRow::createAnonymousWithParentRendererAndDisplay):
56130        (WebCore):
56131        * rendering/RenderTableRow.h:
56132        (RenderTableRow):
56133        * rendering/RenderTableSection.cpp:
56134        (WebCore::RenderTableSection::addChild):
56135        (WebCore::RenderTableSection::createAnonymousWithParentRendererAndDisplay):
56136        (WebCore):
56137        * rendering/RenderTableSection.h:
56138        (RenderTableSection):
56139
561402012-04-04  Erik Arvidsson  <arv@chromium.org>
56141
56142        [V8] Add a per context data store and use that for caching boiler plates as well as constructor functions
56143        https://bugs.webkit.org/show_bug.cgi?id=83093
56144
56145        Reviewed by Adam Barth.
56146
56147        This introduces a V8BindingPerContextData class. After creating a new v8::Context we also create a new
56148        per context data instance. This instance maintains the boiler plate and constructor caches. V8DOMWrapper
56149        now delegates the caching to this new class. Previously the caching was only done in V8DOMWindowShell which
56150        made workers and isolated worlds behave slightly different.
56151
56152        Tests: fast/dom/constructor-proto.html
56153               fast/workers/constructor-proto.html
56154
56155        * WebCore.gypi:
56156        * bindings/scripts/CodeGeneratorV8.pm:
56157        (GenerateConstructorGetter): Renamed getConstructor to constructorForType.
56158        * bindings/v8/V8BindingPerContextData.cpp: Added.
56159        (WebCore):
56160        (WebCore::V8BindingPerContextData::dispose): This clears the persistent handles stored in the maps.
56161        (WebCore::V8BindingPerContextData::init): This installs the hidden prototype which is used as the
56162        [[Prototype]] for the constructor functions (for HotMail compat).
56163        (WebCore::V8BindingPerContextData::createWrapperFromCacheSlowCase): Instantiates a new object and
56164        stores it in the boilerplate map, and returns a clone.
56165        (WebCore::V8BindingPerContextData::constructorForTypeSlowCase): Creates the function for the constructor
56166        and stores it in the constructor map.
56167        * bindings/v8/V8BindingPerContextData.h: Added.
56168        (WebCore):
56169        (V8BindingPerContextData):
56170        (WebCore::V8BindingPerContextData::create):
56171        (WebCore::V8BindingPerContextData::~V8BindingPerContextData):
56172        (WebCore::V8BindingPerContextData::createWrapperFromCache): Checks the cache and clones the wrapper in
56173        the cache. If no boiler plate exists one is created and cached.
56174        (WebCore::V8BindingPerContextData::constructorForType): If the constructor already exists the cached
56175        constructor function is returned, otherwise a new constructor function is created and cached.
56176        (WebCore::V8BindingPerContextData::V8BindingPerContextData):
56177        * bindings/v8/V8DOMWindowShell.cpp:
56178        (WebCore::V8DOMWindowShell::disposeContextHandles): Clear the per context data when disposing the handles.
56179        (WebCore::V8DOMWindowShell::initContextIfNeeded): Create and initialize the per context data.
56180        (WebCore::V8DOMWindowShell::installDOMWindow):
56181        * bindings/v8/V8DOMWindowShell.h:
56182        (V8DOMWindowShell):
56183        (WebCore::V8DOMWindowShell::perContextData):
56184        * bindings/v8/V8DOMWrapper.cpp:
56185        (WebCore::V8DOMWrapper::constructorForType): Static method to get the constructor. The per context data
56186        is determined based on the type of the parameters.
56187        (WebCore):
56188        (WebCore::V8DOMWrapper::perContextData):
56189        (WebCore::V8DOMWrapper::instantiateV8Object): Use the per context data to unify the code paths.
56190        * bindings/v8/V8DOMWrapper.h:
56191        (WebCore):
56192        (V8DOMWrapper):
56193        * bindings/v8/V8IsolatedContext.cpp:
56194        (WebCore::V8IsolatedContext::V8IsolatedContext): Create and initialize the per context data.
56195        (WebCore::V8IsolatedContext::destroy): Clear the per context data.
56196        * bindings/v8/V8IsolatedContext.h:
56197        (WebCore):
56198        (WebCore::V8IsolatedContext::perContextData):
56199        (V8IsolatedContext):
56200        * bindings/v8/V8Proxy.cpp:
56201        (WebCore::V8Proxy::retrievePerContextData):
56202        (WebCore):
56203        * bindings/v8/V8Proxy.h:
56204        (WebCore):
56205        (V8Proxy):
56206        * bindings/v8/WorkerContextExecutionProxy.cpp:
56207        (WebCore::WorkerContextExecutionProxy::dispose): Clear the per context data
56208        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Create and initialize the per context data.
56209        * bindings/v8/WorkerContextExecutionProxy.h:
56210        (WebCore):
56211        (WebCore::WorkerContextExecutionProxy::perContextData):
56212        (WorkerContextExecutionProxy):
56213
562142012-04-04  Shawn Singh  <shawnsingh@chromium.org>
56215
56216        [chromium] Move recursive renderSurface clearing to CCLayerTreeHostImpl
56217        https://bugs.webkit.org/show_bug.cgi?id=82091
56218
56219        Reviewed by James Robinson.
56220
56221        No new tests needed, minor refactoring covered by existing tests.
56222
56223        This patch is just a minor cleanup, moving clearRenderSurfacesOnCCLayerImplRecursive()
56224        from LayerRendererChromium to CCLayerTreeHostImpl. It makes more sense to place the code
56225        there, so that LayerRendererChromium is more like a blind utility for drawing things
56226        while CCLayerTreeHostImpl actually manages the state of the resources.
56227
56228        * platform/graphics/chromium/LayerRendererChromium.cpp:
56229        (WebCore::LayerRendererChromium::beginDrawingFrame):
56230        * platform/graphics/chromium/LayerRendererChromium.h:
56231        (LayerRendererChromium):
56232        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
56233        (WebCore::CCLayerTreeHostImpl::~CCLayerTreeHostImpl):
56234        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
56235        (WebCore::CCLayerTreeHostImpl::sendDidLoseContextRecursive):
56236        (WebCore::CCLayerTreeHostImpl::clearRenderSurfacesOnCCLayerImplRecursive):
56237        (WebCore):
56238        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
56239        (WebCore::CCLayerTreeHostImpl::rootLayer):
56240        (CCLayerTreeHostImpl):
56241
562422012-04-04  Chris Rogers  <crogers@google.com>
56243
56244        Web Audio should use MutexTryLocker class
56245        https://bugs.webkit.org/show_bug.cgi?id=83194
56246
56247        Reviewed by Kenneth Russell.
56248
56249        Switch existing Web Audio code from directly calling tryLock() on a Mutex to use a MutexTryLocker.
56250        No new tests since it is a low-level threading primitive and is difficult to test.
56251        Existing Web Audio tests continue to test the process() methods affected.
56252
56253        * Modules/webaudio/AudioBufferSourceNode.cpp:
56254        (WebCore::AudioBufferSourceNode::process):
56255        * Modules/webaudio/AudioParamTimeline.cpp:
56256        (WebCore::AudioParamTimeline::valuesForTimeRange):
56257        * Modules/webaudio/ConvolverNode.cpp:
56258        (WebCore::ConvolverNode::process):
56259        * Modules/webaudio/MediaElementAudioSourceNode.cpp:
56260        (WebCore::MediaElementAudioSourceNode::process):
56261        * Modules/webaudio/Oscillator.cpp:
56262        (WebCore::Oscillator::process):
56263        * Modules/webaudio/WaveShaperProcessor.cpp:
56264        (WebCore::WaveShaperProcessor::process):
56265
562662012-04-04  Raphael Kubo da Costa  <rakuco@webkit.org>
56267
56268        [CSS] Make makevalues.pl and makeprop.pl ignore '#'s.
56269        https://bugs.webkit.org/show_bug.cgi?id=83212
56270
56271        Reviewed by Tony Chang.
56272
56273        This patch is a side-effect of my intentions to make the
56274        CMake-based ports work with GCC 4.7 without changing the
56275        parameters currently passed to the preprocessor. "-P" is always
56276        being passed to the preprocessor, but this breaks
56277        dom/make_names.pl due to GCC not outputting empty lines with "-P"
56278        anymore; if I switch to never passing "-P" (my aim), the CSS
56279        scripts currently break because of the additional lines output by
56280        the preprocessor. InFilesParser.pm and make-css-file-array.pl
56281        already skip lines which start with '#', for example.
56282
56283        No new tests, tools plumbing.
56284
56285        * css/makeprop.pl:
56286        * css/makevalues.pl:
56287
562882012-04-04  Min Qin  <qinmin@google.com>
56289
56290        Disable fancy upsampling and dithering for decoding jpeg on android
56291        https://bugs.webkit.org/show_bug.cgi?id=83196
56292
56293        Reviewed by Kenneth Russell.
56294
56295        Dithering and fancy upsampling are currently disabled for chrome on android.
56296        This gives us about 20% performance improvement.
56297        Since the screen of mobile devices is small, impact on image quality is limited.
56298        This change does not introduce any changes on other platforms.
56299
56300        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
56301        (ditherMode):
56302        (doFancyUpsampling):
56303        (WebCore::JPEGImageReader::decode):
56304
563052012-04-04  Daniel Sievers  <sievers@chromium.org>
56306
56307        [Chromium] Always skip draw and readback if there is nothing
56308        to draw.
56309        https://bugs.webkit.org/show_bug.cgi?id=82680
56310
56311        This avoids corruption from pushing frames that have no valid
56312        content drawn into them.
56313        Also in addition to checking for non-existing root layers, check
56314        for root layers with no content bounds. It's possible to see those
56315        with kForceCompositing mode for empty documents.
56316
56317        Reviewed by James Robinson.
56318
56319        Added CCLayerTreeHostTestEmptyContentsShouldNotDraw.
56320
56321        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
56322        (WebCore::CCLayerTreeHostImpl::canDraw):
56323        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
56324        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
56325        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
56326
563272012-03-15  Jer Noble  <jer.noble@apple.com>
56328
56329        Full Screen mode should cancel before navigation.
56330        https://bugs.webkit.org/show_bug.cgi?id=81295
56331
56332        Reviewed by Anders Carlsson.
56333
56334        No new tests; protect against speculative crasher when a bad client calls the below
56335        functions at inopportune times.
56336
56337        Check that the document is not either detached or in the page cache, and if so, bail out
56338        early:
56339        * dom/Document.cpp:
56340        (WebCore::Document::webkitWillEnterFullScreenForElement):
56341        (WebCore::Document::webkitDidEnterFullScreenForElement):
56342        (WebCore::Document::webkitWillExitFullScreenForElement):
56343        (WebCore::Document::webkitDidExitFullScreenForElement):
56344
563452012-04-04  Emil A Eklund  <eae@chromium.org>
56346
56347        Fix getFilterOutsets parameter types in RenderLayer
56348        https://bugs.webkit.org/show_bug.cgi?id=83041
56349
56350        Reviewed by Julien Chaffraix.
56351
56352        The getFilterOutsets method was changed to take integers in r112475, update
56353        RenderLayer to use the right data type for the outset arguments.
56354
56355        No new tests, no change in functionality.
56356
56357        * rendering/RenderLayer.cpp:
56358        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect):
56359        (WebCore::RenderLayer::calculateLayerBounds):
56360
563612012-04-04  Erik Arvidsson  <arv@chromium.org>
56362
56363        Rebaseline binding tests.
56364
56365        Unreviewed.
56366
56367        * bindings/scripts/test/V8/V8TestInterface.cpp:
56368        (WebCore::V8TestInterface::constructorCallback):
56369        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
56370        (WebCore::V8TestNamedConstructorConstructorCallback):
56371        * bindings/scripts/test/V8/V8TestObj.cpp:
56372        (WebCore::V8TestObj::constructorCallback):
56373        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
56374        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
56375
563762012-04-04  Dmitry Lomov  <dslomov@google.com>
56377
56378        [JSC] ArrayBufferView and its ArrayBuffer are appended to object pool in wrong order
56379        https://bugs.webkit.org/show_bug.cgi?id=82090
56380        The implementation of structured cloning algorithm (http://www.w3.org/TR/html5/common-dom-interfaces.html#internal-structured-cloning-algorithm)
56381        in SerializedScriptValue.cpp assigns numerical identifiers to encontered objects as it traverses
56382        the cloned object during serialization.
56383        When the cloning encounters an already seen object, it transfers the assigned numerical id
56384        instead of cloning the object again. Deserialization process then repeats the process in 
56385        the mirror fashion, i.e. on deserializing the object it assigns deserialized object a numeric id and if it
56386        deserializes the id it substitutes the perviously deserialized objects. It is critical that serialization and deserialization
56387        assigns numeric ids in the same order.
56388
56389        The bug (discovered by Yong Li) is that when serializing ArrayBufferView, the ids were assigned first to 
56390        the ArrayBufferView and then to underlying ArrayBuffer; however on deserialization the ids were assigned another way round.
56391
56392        This patch fixes that by assigning the id first to ArrayBuffer and then to ArrayBufferView, and adds corresponding test cases.
56393
56394        Reviewed by Kenneth Russell.
56395
56396        New test cases added to fast/canvas/web-gl/array-message-passing.html.
56397
56398        * bindings/js/SerializedScriptValue.cpp:
56399        (WebCore::CloneSerializer::checkForDuplicate):
56400        (CloneSerializer):
56401        (WebCore::CloneSerializer::recordObject):
56402        (WebCore::CloneSerializer::startObjectInternal):
56403        (WebCore::CloneSerializer::dumpIfTerminal):
56404
564052012-04-04  Ian Vollick  <vollick@chromium.org>
56406
56407        [chromium] When setting animation started events, should check the root layer
56408        https://bugs.webkit.org/show_bug.cgi?id=83060
56409
56410        Reviewed by Adrienne Walker.
56411
56412        No new tests.
56413
56414        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
56415        (WebCore::CCLayerTreeHost::animateLayers):
56416        (WebCore::CCLayerTreeHost::animateLayersRecursive):
56417        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
56418
564192012-04-04  Adam Klein  <adamk@chromium.org>
56420
56421        Web Inspector: break on DOM node insertion only once per operation, not once per inserted node
56422        https://bugs.webkit.org/show_bug.cgi?id=82967
56423
56424        Reviewed by Ojan Vafai.
56425
56426        This change affects the case where a DocumentFragment is inserted,
56427        rather than a single node. This is most common when using innerHTML:
56428        the effect of the change is that inserting, e.g., '<input><input>',
56429        the SubtreeModified breakpoint will be hit once, rather than twice
56430        (once for each input element). Given that the particular node being
56431        inserted wasn't exposed as part of the breakpoint, this seems strictly
56432        better.
56433
56434        Now that the call to willInsertDOMNode is outside the loop, there's
56435        not an obvious node to pass in as the new child. Luckily, InspectorDOMDebuggerAgent
56436        already ignored that argument, so it's simply been removed from the signature.
56437
56438        This changes paves the way to do only tree-modification work, and no
56439        external notifications, inside the loops in appendChild/insertBefore/replaceChild.
56440
56441        * dom/ContainerNode.cpp:
56442        (WebCore::ContainerNode::insertBefore): Hoisted call to willInsertDOMNode out of loop.
56443        (WebCore::ContainerNode::replaceChild): ditto.
56444        (WebCore::ContainerNode::appendChild): ditto.
56445        * inspector/InspectorDOMDebuggerAgent.cpp:
56446        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode): Removed first argument (now takes only the parent).
56447        * inspector/InspectorDOMDebuggerAgent.h:
56448        (InspectorDOMDebuggerAgent):
56449        * inspector/InspectorInstrumentation.cpp:
56450        (WebCore::InspectorInstrumentation::willInsertDOMNodeImpl): Removed second argument.
56451        * inspector/InspectorInstrumentation.h:
56452        (InspectorInstrumentation):
56453        (WebCore::InspectorInstrumentation::willInsertDOMNode): Removed second argument.
56454
564552012-04-04  Jeffrey Pfau  <jpfau@apple.com>
56456
56457        Move pending sheet removal from ~HTMLLinkElement to removal from document.
56458        https://bugs.webkit.org/show_bug.cgi?id=69184
56459
56460        Reviewed by Adam Barth.
56461
56462        Test: fast/html/pending-stylesheet-crash.html
56463
56464        * html/HTMLLinkElement.cpp:
56465        (WebCore::HTMLLinkElement::~HTMLLinkElement):
56466        (WebCore::HTMLLinkElement::removedFromDocument):
56467
564682012-04-04  Mark Pilgrim  <pilgrim@chromium.org>
56469
56470        Call histogramCustomCounts directly
56471        https://bugs.webkit.org/show_bug.cgi?id=83112
56472
56473        Reviewed by Adam Barth.
56474
56475        * platform/chromium/PlatformSupport.h:
56476        (PlatformSupport):
56477        * platform/graphics/chromium/ContentLayerChromium.cpp:
56478        (WebCore::ContentLayerPainter::paint):
56479        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
56480        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
56481
564822012-04-04  Alexis Menard  <alexis.menard@openbossa.org>
56483
56484        Animation related classes should use CSSPropertyID rather than integers when manipulating CSS property ids.
56485        https://bugs.webkit.org/show_bug.cgi?id=83050
56486
56487        Reviewed by Simon Fraser.
56488
56489        Split the concept of animate none and animate all into a separate function rather than using the property member
56490        with some magic value set on it. Make also sure that we use CSSPropertyID all over the place rather than integers.
56491        We still have some place where convert from int to CSSPropertyID (mostly due to the fact that we need to make Hash*
56492        related classes to handle CSSPropertyID). While refactoring I also removed some dead code.
56493
56494        No new tests : not behaviour changes intented.
56495
56496        * css/CSSComputedStyleDeclaration.cpp:
56497        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
56498        * css/CSSStyleApplyProperty.cpp:
56499        (WebCore::ApplyPropertyAnimation::applyInheritValue):
56500        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
56501        * css/CSSStyleSelector.cpp:
56502        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
56503        * page/animation/AnimationBase.cpp:
56504        (WebCore):
56505        (WebCore::PropertyWrapperBase::PropertyWrapperBase):
56506        (WebCore::PropertyWrapperBase::property):
56507        (PropertyWrapperBase):
56508        (WebCore::PropertyWrapperGetter::PropertyWrapperGetter):
56509        (WebCore::PropertyWrapper::PropertyWrapper):
56510        (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
56511        (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
56512        (WebCore::PropertyWrapperColor::PropertyWrapperColor):
56513        (WebCore::PropertyWrapperShadow::PropertyWrapperShadow):
56514        (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
56515        (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
56516        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
56517        (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
56518        (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
56519        (WebCore::wrapperForProperty):
56520        (WebCore::AnimationBase::propertiesEqual):
56521        The code removed here could never be reached. propertiesEqual is used only in CompositeAnimation::updateTransitions and through
56522        ImplicitAnimation::isTargetPropertyEqual which is also called in CompositeAnimation. Both calls are protected by an ASSERT in
56523        CompositeAnimation:116 where we make sure the property id we're dealing with is a valid property id, therefore prop can't be equal to
56524        the old value cAnimateAll or even the new mode concept introduced in that patch can't be AnimateAll.
56525        (WebCore::AnimationBase::getPropertyAtIndex):
56526        (WebCore::AnimationBase::blendProperties):
56527        (WebCore::AnimationBase::animationOfPropertyIsAccelerated):
56528        (WebCore::gatherEnclosingShorthandProperties):
56529        (WebCore::AnimationBase::animatableShorthandsAffectingProperty):
56530        * page/animation/AnimationBase.h:
56531        (AnimationBase):
56532        * page/animation/CompositeAnimation.cpp:
56533        (WebCore::CompositeAnimation::updateTransitions):
56534        (WebCore::CompositeAnimation::pauseTransitionAtTime):
56535        * page/animation/CompositeAnimation.h:
56536        (CompositeAnimation):
56537        * page/animation/ImplicitAnimation.cpp:
56538        (WebCore::ImplicitAnimation::ImplicitAnimation):
56539        (WebCore::ImplicitAnimation::sendTransitionEvent):
56540        The check removed is useless as ImplicitAnimation constructor ensure via an ASSERT that the animatingProperty value is a correct and valid
56541        property id. Even the old code was ensuring the value of animatingProperty was different from cAnimateAll at construction time. As stated also
56542        in CompositeAnimation::updateTransitions and cover by the same ASSERT explained earlier, ImplicitAnimation are constructed for valid property ids.
56543        (WebCore::ImplicitAnimation::isTargetPropertyEqual):
56544        (WebCore::ImplicitAnimation::blendPropertyValueInStyle):
56545        * page/animation/ImplicitAnimation.h:
56546        (WebCore::ImplicitAnimation::create):
56547        (ImplicitAnimation):
56548        * page/animation/KeyframeAnimation.cpp:
56549        (WebCore::KeyframeAnimation::animate):
56550        (WebCore::KeyframeAnimation::getAnimatedStyle):
56551        (WebCore::KeyframeAnimation::timeToNextService):
56552        * platform/animation/Animation.cpp:
56553        (WebCore::Animation::Animation):
56554        (WebCore::Animation::operator=):
56555        (WebCore::Animation::animationsMatch):
56556        * platform/animation/Animation.h:
56557        (WebCore::Animation::property):
56558        (WebCore::Animation::animationMode):
56559        (WebCore::Animation::setProperty):
56560        (WebCore::Animation::setAnimationMode):
56561        (Animation):
56562        (WebCore::Animation::initialAnimationProperty):
56563        * rendering/RenderLayerBacking.cpp:
56564        (WebCore::RenderLayerBacking::startTransition):
56565        * rendering/RenderLayerBacking.h:
56566        (RenderLayerBacking):
56567        * rendering/style/RenderStyle.cpp:
56568        (WebCore::RenderStyle::transitionForProperty):
56569        * rendering/style/RenderStyle.h:
56570
565712012-04-04  Emil A Eklund  <eae@chromium.org>
56572
56573        Fix usage of LayoutUnits and snapping for scrolling in RenderBox
56574        https://bugs.webkit.org/show_bug.cgi?id=83073
56575
56576        Reviewed by Eric Seidel.
56577
56578        Fix usage of LayoutUnits and snapping/rounding logic in RenderBox.
56579
56580        No new tests, no change in functionality.
56581
56582        * rendering/RenderBox.cpp:
56583        (WebCore::RenderBox::scrollWidth):
56584        Change scrollWidth to properly pixel snap values.
56585        
56586        (WebCore::RenderBox::scrollHeight):
56587        Change scrollHeight to properly pixel snap values.
56588        
56589        (WebCore::RenderBox::scrolledContentOffset):
56590        Change to return IntSize to match function definition.
56591        
56592        (WebCore::RenderBox::cachedSizeForOverflowClip):
56593        Changed cachedSizeForOverflowClip to LayoutSize as the overflow and clip
56594        rects all have subpixel precision.
56595
56596        * rendering/RenderBox.h:
56597        (WebCore::RenderBox::pixelSnappedWidth):
56598        (WebCore::RenderBox::pixelSnappedHeight):
56599        Removed FIXME comment as the implementation 
56600        
56601        (WebCore::RenderBox::minYLayoutOverflow):
56602        (WebCore::RenderBox::maxYLayoutOverflow):
56603        (WebCore::RenderBox::minXLayoutOverflow):
56604        (WebCore::RenderBox::maxXLayoutOverflow):
56605        Added static_cast for border values.
56606        
56607        (WebCore::RenderBox::hasVisualOverflow):
56608        Changed to compare two pixel snapped values as we don't want to indicate
56609        overflow in cases where the the size is rounded down resulting in no
56610        visual overflow.
56611
566122012-04-04  Emil A Eklund  <eae@chromium.org>
56613
56614        Fix types for location, size and rect calculations for render objects
56615        https://bugs.webkit.org/show_bug.cgi?id=83089
56616
56617        Reviewed by Eric Seidel.
56618
56619        Fix usage of LayoutUnits and rounding for a couple of different render
56620        object classes.
56621
56622        No new tests, no change in functionality.
56623
56624        * rendering/RenderDetailsMarker.cpp:
56625        (WebCore::RenderDetailsMarker::getPath):
56626        Change getPath to take a LayoutPoint as the transform has subpixel
56627        precision already.
56628        
56629        * rendering/RenderFlowThread.cpp:
56630        (WebCore::RenderFlowThread::computeLogicalHeight):
56631        Change logicalHeight to LayoutUnit as it is computed from subpixel
56632        values.
56633        
56634        * rendering/RenderInputSpeech.cpp:
56635        (WebCore::RenderInputSpeech::paintInputFieldSpeechButton):
56636        Change button rect computation to LayoutRect and pixel snap just before
56637        painting to preserve precision.
56638        
56639        * rendering/RenderLineBoxList.cpp:
56640        (WebCore::RenderLineBoxList::rangeIntersectsRect):
56641        (WebCore::RenderLineBoxList::lineIntersectsDirtyRect):
56642        (WebCore::RenderLineBoxList::paint):
56643        Change range calculations to LayoutUnits to preserve precision.
56644        
56645        * rendering/RenderMarquee.cpp:
56646        (WebCore::RenderMarquee::computePosition):
56647        Change width calculations to LayoutUnits to preserve precision.
56648        
56649        * rendering/RenderTable.cpp:
56650        (WebCore::RenderTable::layoutCaption):
56651        Change table captions to LayoutUnits as the values are computed from
56652        subpixel componenets.
56653        
56654        * rendering/style/RenderStyle.cpp:
56655        (WebCore::RenderStyle::getRoundedBorderFor):
56656        Snap border rect as RoundedRects use ints for crisp rendering.
56657        
56658        * rendering/style/ShadowData.cpp:
56659        (WebCore::ShadowData::adjustRectForShadow):
56660        Change adjustRectForShadow to take a LayoutRect as it already uses
56661        LayoutUnits.
56662        
566632012-04-04  Emil A Eklund  <eae@chromium.org>
56664
56665        Convert RootInlineBox to LayoutUnits in preparation for turning on subpixel layout
56666        https://bugs.webkit.org/show_bug.cgi?id=83054
56667
56668        Reviewed by Eric Seidel.
56669
56670        Convert RootInlineBox over to LayoutUnits, this mostly involves updating
56671        the alignment and adjustment code to be subpixel aware. 
56672
56673        No new tests, no change in functionality.
56674
56675        * rendering/RootInlineBox.cpp:
56676        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
56677        Change beforeAnnotationsAdjustment to LayoutUnit.
56678        
56679        (WebCore::RootInlineBox::beforeAnnotationsAdjustment):
56680        Change method to return LayoutUnit as it is computed from values with
56681        subpixel precision.
56682        
56683        (WebCore::RootInlineBox::lineSnapAdjustment):
56684        Round values before computing remainder.
56685
56686        (WebCore::RootInlineBox::ascentAndDescentForBox):
56687        Change ascent and decent calculation to use LayoutUnits as they are
56688        computed from values with subpixel precision.
56689        
56690        (WebCore::RootInlineBox::verticalPositionForBox):
56691        Change verticalPosition to LayoutUnit.
56692        
56693        * rendering/RootInlineBox.h:
56694        (RootInlineBox):
56695
566962012-04-05  Joseph Pecoraro  <pecoraro@apple.com>
56697
56698        <http://webkit.org/b/83108> Web Inspector: JSC Crash inspecting node with object event listener
56699
56700        Reviewed by Geoff Garen.
56701
56702        * bindings/js/ScriptEventListener.cpp:
56703        (WebCore::eventListenerHandlerLocation):
56704        Use jsDynamicCast to bail when the JSObject is not a JSFunction.
56705
567062012-04-04  Mark Pilgrim  <pilgrim@chromium.org>
56707
56708        Call suddenTerminationChanged directly
56709        https://bugs.webkit.org/show_bug.cgi?id=83114
56710
56711        Reviewed by Adam Barth.
56712
56713        * platform/chromium/PlatformSupport.h:
56714        (PlatformSupport):
56715        * platform/chromium/SuddenTerminationChromium.cpp:
56716        (WebCore::disableSuddenTermination):
56717        (WebCore::enableSuddenTermination):
56718
567192012-04-04  Adam Barth  <abarth@webkit.org>
56720
56721        figure out how to export webcore symbols from webkit.dll properly
56722        https://bugs.webkit.org/show_bug.cgi?id=83105
56723
56724        Reviewed by Dimitri Glazkov.
56725
56726        * WebCore.gypi:
56727            - Separate the platform support files into a new GYP variable so
56728              that they can be build as part of webkit.dll rather than in
56729              webcore_platform.lib. Building them as part of webkit.dll ensure
56730              that the symbols marked for export will actually be in webkit.dll
56731              (and hence exported), even if nothing else in webkit.dll
56732              references the obj file that contains the symbol.
56733        * platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
56734            - Unwind our ugly, ugly hack to make the Windows component build
56735              work.
56736
567372012-04-04  Mark Pilgrim  <pilgrim@chromium.org>
56738
56739        Call sandboxEnabled directly
56740        https://bugs.webkit.org/show_bug.cgi?id=83113
56741
56742        Reviewed by Adam Barth.
56743
56744        * platform/chromium/PlatformSupport.h:
56745        (PlatformSupport):
56746
567472012-04-04  Peter Rybin  <peter.rybin@gmail.com>
56748
56749        Web Inspector: CodeGeneratorInspector.py: switch IndexedDB, DOMStorage, ApplicationCache domains to typed API
56750        https://bugs.webkit.org/show_bug.cgi?id=83039
56751
56752        Reviewed by Pavel Feldman.
56753
56754        Client code is switched to typed API (all InspectorObject and InspectorArray types are
56755        replaced with generated types from TypeBuilder according to Inspector.json).
56756
56757        Missing array of array specialization is added. Inspector.json is fixed to comform
56758        with actual behavior of InspectorDOMStorageAgent.
56759
56760        Output parameter initialization is assured.
56761
56762        * inspector/CodeGeneratorInspector.py:
56763        * inspector/Inspector.json:
56764        * inspector/InspectorApplicationCacheAgent.cpp:
56765        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
56766        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
56767        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
56768        * inspector/InspectorApplicationCacheAgent.h:
56769        (InspectorApplicationCacheAgent):
56770        * inspector/InspectorDOMStorageAgent.cpp:
56771        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
56772        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
56773        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
56774        * inspector/InspectorDOMStorageAgent.h:
56775        (InspectorDOMStorageAgent):
56776        * inspector/InspectorDOMStorageResource.cpp:
56777        (WebCore::InspectorDOMStorageResource::bind):
56778
567792012-04-04  Tony Chang  <tony@chromium.org>
56780
56781        Remove flex function css parsing
56782        https://bugs.webkit.org/show_bug.cgi?id=83083
56783
56784        Reviewed by Ojan Vafai.
56785
56786        The flexbox spec switched from using a flex() function on the width
56787        and height to a css property. Now that the -webkit-flex: has been
56788        implemented, we can remove the flex() function code.
56789
56790        No new tests. Removing an old test that used to test the flex() function.
56791
56792        * CMakeLists.txt:
56793        * GNUmakefile.list.am:
56794        * Target.pri:
56795        * WebCore.gypi:
56796        * WebCore.vcproj/WebCore.vcproj:
56797        * WebCore.xcodeproj/project.pbxproj:
56798        * css/CSSAllInOne.cpp:
56799        * css/CSSFlexValue.cpp: Removed.
56800        * css/CSSFlexValue.h: Removed.
56801        * css/CSSParser.cpp:
56802        (WebCore::CSSParser::parseValue):
56803        (WebCore::CSSParser::parseFlex):
56804        * css/CSSParser.h:
56805        (WebCore):
56806        * css/CSSStyleApplyProperty.cpp:
56807        (WebCore::ApplyPropertyLength::applyValue):
56808        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
56809        * css/CSSValue.cpp:
56810        (WebCore::CSSValue::cssText):
56811        (WebCore::CSSValue::destroy):
56812        * css/CSSValue.h:
56813        * rendering/style/RenderStyle.h:
56814        * rendering/style/StyleFlexibleBoxData.cpp:
56815        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
56816        (WebCore::StyleFlexibleBoxData::operator==):
56817        * rendering/style/StyleFlexibleBoxData.h:
56818
568192012-04-04  Kausalya Madhusudhanan  <kmadhusu@chromium.org>
56820
56821        [Coverity] Address some uninit constructor values.
56822        https://bugs.webkit.org/show_bug.cgi?id=82424
56823
56824        Reviewed by Stephen White.
56825
56826        New tests are not required since I did not modify any code behavior. I just initialized the class member variables in the constructor.
56827
56828        * Modules/gamepad/Gamepad.cpp:
56829        (WebCore::Gamepad::Gamepad):
56830        * accessibility/AccessibilitySpinButton.cpp:
56831        (WebCore::AccessibilitySpinButtonPart::AccessibilitySpinButtonPart):
56832        * dom/WheelEvent.cpp:
56833        (WebCore::WheelEvent::WheelEvent):
56834        * html/canvas/WebGLContextObject.h:
56835        (WebGLContextObject):
56836        * platform/PlatformTouchPoint.h:
56837        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
56838        * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
56839        (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
56840        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
56841        (WebCore::CCRenderSurface::CCRenderSurface):
56842        * xml/parser/MarkupTokenBase.h:
56843        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
56844
568452012-04-04  Pavel Feldman  <pfeldman@chromium.org>
56846
56847        Web Inspector: expose savedURL, setToolbarColors and toggleSearchingForNode in InspectorFrontendAPI
56848        https://bugs.webkit.org/show_bug.cgi?id=83170
56849
56850        Reviewed by Yury Semikhatsky.
56851
56852        Chromium port is calling these from the embedder layer and they all are perfect candidates
56853        for the InspectorFrontendAPI. Adding them there.
56854
56855        * inspector/front-end/InspectorFrontendAPI.js:
56856        (InspectorFrontendAPI.enterInspectElementMode):
56857        (InspectorFrontendAPI.savedURL):
56858        (InspectorFrontendAPI.setToolbarColors):
56859
568602012-04-04  Ilya Tikhonovsky  <loislo@chromium.org>
56861
56862        Web Inspector: linearise aggregate's retaining size calculation.
56863        https://bugs.webkit.org/show_bug.cgi?id=83125
56864
56865        This version is twice as fast as the original and it is non-recursive.
56866
56867        Reviewed by Yury Semikhatsky.
56868
56869        * inspector/front-end/HeapSnapshot.js:
56870        (WebInspector.HeapSnapshot.prototype._getDominatedIndex): was moved closer to it's usage
56871        (WebInspector.HeapSnapshot.prototype._calculateClassesRetainedSize): it was _buildAggregates' inner function forDominatedNodes.
56872        it was:
56873        a) extracted from _buildAggregates;
56874        b) made non-recursive;
56875        c) many getters were inlined;
56876        d) subarray of dominating nodes were inlined too.
56877        (WebInspector.HeapSnapshot.prototype._buildAggregates): many getters were inlined.
56878        (WebInspector.HeapSnapshot.prototype.aggregates):
56879
568802012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
56881
56882        Best clickable node might return non "clickable" node. 
56883        https://bugs.webkit.org/show_bug.cgi?id=83153
56884
56885        Reviewed by Kenneth Rohde Christiansen.
56886
56887        Do not return non-clickable nodes as a best clickable node.
56888
56889        * page/EventHandler.cpp:
56890        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
56891
568922012-04-04  Pavel Feldman  <pfeldman@chromium.org>
56893
56894        Web Inspector: migrate from InspectorFrontendHost.saveAs to InspectorFrontendHost.save.
56895        https://bugs.webkit.org/show_bug.cgi?id=83162
56896
56897        Reviewed by Yury Semikhatsky.
56898
56899        This change adds Save item into the context menus for inspector. It also makes
56900        saveAs parameter optional in the InspectorFrontendHost.save so that we could
56901        skip the dialog for the paths that were already saved. Embedder tells the front-end
56902        what urls were successfully saved so that front-end could issue subsequent save commands
56903        for those files.
56904
56905        * English.lproj/localizedStrings.js:
56906        * inspector/InspectorFrontendClient.h:
56907        (InspectorFrontendClient):
56908        * inspector/InspectorFrontendClientLocal.h:
56909        (WebCore::InspectorFrontendClientLocal::canSave):
56910        (WebCore::InspectorFrontendClientLocal::save):
56911        * inspector/InspectorFrontendHost.cpp:
56912        (WebCore::InspectorFrontendHost::canSave):
56913        (WebCore::InspectorFrontendHost::save):
56914        * inspector/InspectorFrontendHost.h:
56915        (InspectorFrontendHost):
56916        * inspector/InspectorFrontendHost.idl:
56917        * inspector/front-end/InspectorFrontendHostStub.js:
56918        (.WebInspector.InspectorFrontendHostStub.prototype.canSave):
56919        * inspector/front-end/JavaScriptSourceFrame.js:
56920        * inspector/front-end/NetworkPanel.js:
56921        (WebInspector.NetworkLogView.prototype._contextMenu):
56922        (WebInspector.NetworkLogView.prototype._exportAll):
56923        (WebInspector.NetworkLogView.prototype._exportResource):
56924        * inspector/front-end/ResourceView.js:
56925        * inspector/front-end/ResourcesPanel.js:
56926        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.doSave):
56927        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction.save):
56928        (WebInspector.FrameResourceTreeElement.prototype._appendSaveAsAction):
56929        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.doSave):
56930        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent.save):
56931        (WebInspector.ResourceRevisionTreeElement.prototype._handleContextMenuEvent):
56932        * inspector/front-end/Settings.js:
56933        * inspector/front-end/SourceFrame.js:
56934        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
56935        * inspector/front-end/TextViewer.js:
56936        (WebInspector.TextViewer.prototype._contextMenu):
56937        (WebInspector.TextViewer.prototype._commitEditing):
56938        (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
56939        * inspector/front-end/TimelineModel.js:
56940        (WebInspector.TimelineModel.prototype.saveToFile):
56941        * inspector/front-end/TimelinePanel.js:
56942        (WebInspector.TimelinePanel.prototype._registerShortcuts):
56943        (WebInspector.TimelinePanel.prototype._contextMenu):
56944        * inspector/front-end/inspector.js:
56945
569462012-04-04  Andrey Kosyakov  <caseq@chromium.org>
56947
56948        Web Inspector: time dividers are incorrectly rendered on empty timeline grid
56949        https://bugs.webkit.org/show_bug.cgi?id=83165
56950
56951        Reviewed by Pavel Feldman.
56952
56953        * inspector/front-end/NetworkPanel.js:
56954        (WebInspector.NetworkBaseCalculator.prototype.setDisplayWindow):
56955        * inspector/front-end/TimelineGrid.js:
56956        (WebInspector.TimelineGrid.prototype.updateDividers):
56957
569582012-04-04  Sergio Villar Senin  <svillar@igalia.com>
56959
56960        [GTK] ASSERT in SocketStreamHandleSoup.cpp
56961        https://bugs.webkit.org/show_bug.cgi?id=83123
56962
56963        Reviewed by Martin Robinson.
56964
56965        Do not try to reuse a GOwnPtr as calling outPtr() causes an
56966        assertion if the pointer is already valid. Also do not try to
56967        close the IOStream if it was not created.
56968
56969        This patch fixes
56970        http/tests/websocket/tests/hybi/workers/worker-reload.html but I
56971        am leaving it skipped until webkit.org/b/83124 is fixed.
56972
56973        * platform/network/soup/SocketStreamHandleSoup.cpp:
56974        (WebCore::connectedCallback):
56975
569762012-04-04  Alexis Menard  <alexis.menard@openbossa.org>
56977
56978        Re-add variable names in CSS related headers to help understanding the meaning of them.
56979        https://bugs.webkit.org/show_bug.cgi?id=83151
56980
56981        Reviewed by Andreas Kling.
56982
56983        r112952, r113031, r113042 removed variable names in some places but at the end it
56984        was better before as it helps understanding what the variables represent. This patch
56985        address this issue and add back the names where it makes sense.
56986
56987        No new tests : cosmetic changes, no behavior change here.
56988
56989        * css/CSSParser.h:
56990        (CSSParser):
56991        * css/StylePropertySet.h:
56992        (StylePropertySet):
56993        * dom/StyledElement.h:
56994        (StyledElement):
56995        * editing/EditingStyle.h:
56996        (EditingStyle):
56997        * editing/Editor.h:
56998        (Editor):
56999        * html/HTMLElement.h:
57000        (HTMLElement):
57001
570022012-04-04  Nikolas Zimmermann  <nzimmermann@rim.com>
57003
57004        Implement animatedPathSegList support for SVGPathElement
57005        https://bugs.webkit.org/show_bug.cgi?id=83140
57006
57007        Reviewed by Zoltan Herczeg.
57008
57009        Add the last missing piece of animVal support: animations of the SVGPathElement's 'd' attribute
57010        should be reflected in the 'animatedPathSegList' not the 'pathSegList'.
57011
57012        The SVGAnimatedPathAnimator is special as it doesn't operate on the SVGPathSegList types
57013        directly, but on the SVGPathByteStreams for performance reasons. The SVGPathSegLists
57014        are refcounted and exposed to JS, thus require lots of memory, compared to a simple
57015        byte stream, which SVGPathByteStream is. Only build an 'animatedPathSegList' while
57016        animating if its actually observed by the bindings, as this operation is heavy.
57017
57018        This marks the finish of the animVal patch series: no more string round trips during
57019        animation. Previously paths were animated as byte streams, then converted to a String
57020        passed to pathElement->setAttribute("d", "newString"), parsed again to a byte stream, etc.
57021
57022        A follow-up patch will remove the last crufts of direct setAttribute() animation.
57023
57024        Extend all existing animated SVGPathElement tests to cover animatedPathSegList.
57025
57026        * svg/SVGAnimatedColor.h:
57027        (WebCore::SVGAnimatedColorAnimator::startAnimValAnimation):
57028        (WebCore::SVGAnimatedColorAnimator::stopAnimValAnimation):
57029        (WebCore::SVGAnimatedColorAnimator::resetAnimValToBaseVal):
57030        (WebCore::SVGAnimatedColorAnimator::animValWillChange):
57031        (WebCore::SVGAnimatedColorAnimator::animValDidChange):
57032        (SVGAnimatedColorAnimator):
57033        * svg/SVGAnimatedPath.cpp:
57034        (WebCore::SVGAnimatedPathAnimator::constructFromString):
57035        (WebCore::SVGAnimatedPathAnimator::startAnimValAnimation):
57036        (WebCore):
57037        (WebCore::SVGAnimatedPathAnimator::stopAnimValAnimation):
57038        (WebCore::SVGAnimatedPathAnimator::resetAnimValToBaseVal):
57039        (WebCore::SVGAnimatedPathAnimator::animValWillChange):
57040        (WebCore::SVGAnimatedPathAnimator::animValDidChange):
57041        (WebCore::SVGAnimatedPathAnimator::calculateAnimatedValue):
57042        * svg/SVGAnimatedPath.h:
57043        (SVGAnimatedPathAnimator):
57044        * svg/SVGAnimatedType.cpp:
57045        (WebCore::SVGAnimatedType::valueAsString):
57046        (WebCore::SVGAnimatedType::setValueAsString):
57047        (WebCore::SVGAnimatedType::supportsAnimVal):
57048        * svg/SVGAnimatedTypeAnimator.h:
57049        (SVGAnimatedTypeAnimator):
57050        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
57051        * svg/SVGPathElement.cpp:
57052        (WebCore::SVGPathElement::SVGPathElement):
57053        (WebCore::SVGPathElement::getTotalLength):
57054        (WebCore::SVGPathElement::getPointAtLength):
57055        (WebCore::SVGPathElement::getPathSegAtLength):
57056        (WebCore::SVGPathElement::parseAttribute):
57057        (WebCore::SVGPathElement::svgAttributeChanged):
57058        (WebCore::SVGPathElement::pathByteStream):
57059        (WebCore):
57060        (WebCore::SVGPathElement::lookupOrCreateDWrapper):
57061        (WebCore::SVGPathElement::pathSegList):
57062        (WebCore::SVGPathElement::animatedPathSegList):
57063        (WebCore::SVGPathElement::pathSegListChanged):
57064        * svg/SVGPathElement.h:
57065        (WebCore):
57066        (SVGPathElement):
57067        (WebCore::SVGPathElement::isAnimValObserved):
57068        * svg/SVGPathParserFactory.cpp:
57069        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromSVGPathSegList):
57070        (WebCore::SVGPathParserFactory::buildSVGPathByteStreamFromString):
57071        (WebCore::SVGPathParserFactory::buildAnimatedSVGPathByteStream):
57072        * svg/SVGPathParserFactory.h:
57073        (SVGPathParserFactory):
57074        * svg/SVGPathSegWithContext.h:
57075        * svg/properties/SVGAnimatedListPropertyTearOff.h:
57076        (SVGAnimatedListPropertyTearOff):
57077        (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
57078        (WebCore::SVGAnimatedListPropertyTearOff::animVal):
57079        (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
57080        (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
57081        (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
57082        (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
57083        (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
57084        (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
57085        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
57086        (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
57087        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
57088        (WebCore::SVGAnimatedPathSegListPropertyTearOff::removeItemFromList):
57089        (SVGAnimatedPathSegListPropertyTearOff):
57090        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animationStarted):
57091        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animationEnded):
57092        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animValDidChange):
57093        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animatedPathByteStream):
57094        (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
57095        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
57096        (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
57097        (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
57098        * svg/properties/SVGListProperty.h:
57099        (WebCore::SVGListProperty::setValuesAndWrappers):
57100        (WebCore::SVGListProperty::SVGListProperty):
57101        (WebCore::SVGListProperty::~SVGListProperty):
57102        (SVGListProperty):
57103
571042012-04-04  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
57105
57106        Best zoomable area does not balance intersection with target area.
57107        https://bugs.webkit.org/show_bug.cgi?id=83148
57108
57109        Reviewed by Kenneth Rohde Christiansen.
57110
57111        Change the two step sort to simply picking the best quotient of touch intersection with target area.
57112
57113        Test: touchadjustment/zoom-fatfinger.html
57114
57115        * page/TouchAdjustment.cpp:
57116        (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
57117        (TouchAdjustment):
57118        (WebCore::TouchAdjustment::zoomableIntersectionQuotient):
57119        (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
57120        (WebCore::findBestClickableCandidate):
57121        (WebCore::findBestZoomableArea):
57122
571232012-04-04  Andrey Kosyakov  <caseq@chromium.org>
57124
57125        Web Inspector: make padding and client window width part of timeline calculator's state
57126        https://bugs.webkit.org/show_bug.cgi?id=83122
57127
57128        Reviewed by Pavel Feldman.
57129
57130        - preserve window width and padding within TimelineCalculator
57131        - rely on calculator to add expansion arrow padding
57132        - add TimelineCalculator::computePosition() for computing single position (not entire bar dimensions)
57133
57134        * inspector/front-end/MemoryStatistics.js:
57135        (WebInspector.MemoryStatistics.prototype._refreshDividers):
57136        * inspector/front-end/NetworkPanel.js:
57137        (WebInspector.NetworkLogView.prototype._updateDividersIfNeeded):
57138        (WebInspector.NetworkLogView.prototype._reset):
57139        (WebInspector.NetworkBaseCalculator.prototype.computePosition):
57140        (WebInspector.NetworkBaseCalculator.prototype.formatTime):
57141        (WebInspector.NetworkBaseCalculator.prototype.setDisplayWindow):
57142        * inspector/front-end/TimelineGrid.js:
57143        (WebInspector.TimelineGrid.prototype.updateDividers):
57144        (WebInspector.TimelineGrid.prototype.addEventDividers):
57145        * inspector/front-end/TimelineOverviewPane.js:
57146        (WebInspector.TimelineOverviewPane.prototype._update):
57147        (WebInspector.TimelineOverviewPane.prototype._reset):
57148        (WebInspector.TimelineOverviewCalculator.prototype.computePosition):
57149        (WebInspector.TimelineOverviewCalculator.prototype.setDisplayWindow):
57150        * inspector/front-end/TimelinePanel.js:
57151        (WebInspector.TimelinePanel.prototype._updateEventDividers):
57152        (WebInspector.TimelinePanel.prototype._refresh):
57153        (WebInspector.TimelinePanel.prototype._refreshRecords):
57154        (WebInspector.TimelineCalculator.prototype.computePosition):
57155        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
57156        (WebInspector.TimelineCalculator.prototype.setDisplayWindow):
57157        (WebInspector.TimelineRecordGraphRow.prototype.update):
57158        (WebInspector.TimelineExpandableElement.prototype._update):
57159
571602012-04-04  Noel Gordon  <noel.gordon@gmail.com>
57161
57162        [FileSystem] Forward declare File in FileCallback.h
57163        https://bugs.webkit.org/show_bug.cgi?id=83128
57164
57165        Reviewed by Kentaro Hara.
57166
57167        No new tests. Covered by existing tests.
57168
57169        * Modules/filesystem/FileCallback.h: forward declare File class to make
57170        #include of "File.h" redundant.
57171        (WebCore):
57172
571732012-04-04  Sheriff Bot  <webkit.review.bot@gmail.com>
57174
57175        Unreviewed, rolling out r113156.
57176        http://trac.webkit.org/changeset/113156
57177        https://bugs.webkit.org/show_bug.cgi?id=83146
57178
57179        Breaks inspector layout tests (Requested by pfeldman on
57180        #webkit).
57181
57182        * inspector/front-end/MemoryStatistics.js:
57183        (WebInspector.MemoryStatistics.prototype._refreshDividers):
57184        * inspector/front-end/TimelineGrid.js:
57185        (WebInspector.TimelineGrid.prototype.updateDividers):
57186        (WebInspector.TimelineGrid.prototype.addEventDividers):
57187        * inspector/front-end/TimelineOverviewPane.js:
57188        (WebInspector.TimelineOverviewPane.prototype._update):
57189        (WebInspector.TimelineOverviewPane.prototype._reset):
57190        * inspector/front-end/TimelinePanel.js:
57191        (WebInspector.TimelinePanel.prototype._updateEventDividers):
57192        (WebInspector.TimelinePanel.prototype._refresh):
57193        (WebInspector.TimelinePanel.prototype._refreshRecords):
57194        (WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
57195        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
57196        (WebInspector.TimelineRecordGraphRow.prototype.update):
57197        (WebInspector.TimelineExpandableElement.prototype._update):
57198
571992012-04-04  Pavel Feldman  <pfeldman@chromium.org>
57200
57201        Web Inspector: front-end should accept raw web socket address for the remote connection.
57202        https://bugs.webkit.org/show_bug.cgi?id=83134
57203
57204        Reviewed by Yury Semikhatsky.
57205
57206        Migrated from the /devtools/page web socket schema to the generic one where remote target address
57207        can be specified as index.html?ws=localhost:9222/page1. Left the old host/page way for backwards
57208        compatibility.
57209
57210        * inspector/front-end/inspector.js:
57211
572122012-04-04  Kent Tamura  <tkent@chromium.org>
57213
57214        Add localization functions for the calendar picker
57215        https://bugs.webkit.org/show_bug.cgi?id=83129
57216
57217        Reviewed by Hajime Morita.
57218
57219        No behavior changes yet.
57220
57221        * WebCore.gypi: Add LocalizedCalendar.h and LocalizedCalendarICU.cpp.
57222        * platform/LocalizedStrings.h: Add calendarTodayText() and calendarClearText().
57223        * platform/text/LocalizedCalendar.h:
57224        Added. This provides monthLabels(), weekDayShortLabels(), and firstDayOfWeek().
57225        * platform/text/LocalizedCalendarICU.cpp: Added. ICU implementations of the above functions.
57226        (WebCore::ScopedDateFormat): A wrapper for UDateFormat*.
57227        (WebCore::ScopedDateFormat::ScopedDateFormat):
57228        (WebCore::ScopedDateFormat::~ScopedDateFormat):
57229        (WebCore::ScopedDateFormat::get):
57230        (createFallbackMonthLabels): Creates fallback month labels in English.
57231        (createLabelVector):
57232        A helper for createMonthLabels() and createWeekDayShortLabels().
57233        (createMonthLabels):
57234        Creates month labels using createLabelVector() or createFallbackMonthLabels().
57235        (WebCore::monthLabels):
57236        (createFallbackWeekDayShortLabels): Creates fallback week labels in English.
57237        (createWeekDayShortLabels):
57238        Creates month labels using createLabelVector() or createFallbackWeekDayShortLabels().
57239        (WebCore::weekDayShortLabels):
57240        (getFirstDayOfWeek):
57241        (WebCore::firstDayOfWeek):
57242
572432012-04-03  Hans Wennborg  <hans@chromium.org>
57244
57245        Speech JavaScript API: Plumbing for Chromium
57246        https://bugs.webkit.org/show_bug.cgi?id=81667
57247
57248        Reviewed by Darin Fisher.
57249
57250        SpeechGrammar::src() is called with a ScriptExecutionContext, because
57251        the attribute setter needs it. Provide a src() method that doesn't
57252        take a ScriptExecutionContext that can be used internally.
57253
57254        Rename SpeechRecognition::audioStartCallback(), etc. to use event style
57255        names, i.e. didStartAudio(), etc.
57256
57257        Remove SpeechRecognitionClient::notifyVisibilityHidden(). The embedder
57258        can keep track of the visibility.
57259
57260        Remove SpeechRecognitionClient::unregisterSpeechRecognition,
57261        it is not needed.
57262
57263        No new tests, just minor tweaks.
57264
57265        * Modules/speech/SpeechGrammar.h:
57266        (WebCore::SpeechGrammar::src):
57267        * Modules/speech/SpeechRecognition.cpp:
57268        (WebCore::SpeechRecognition::didStartAudio):
57269        (WebCore::SpeechRecognition::didStartSound):
57270        (WebCore::SpeechRecognition::didStartSpeech):
57271        (WebCore::SpeechRecognition::didEndSpeech):
57272        (WebCore::SpeechRecognition::didEndSound):
57273        (WebCore):
57274        (WebCore::SpeechRecognition::didEndAudio):
57275        (WebCore::SpeechRecognition::didReceiveResult):
57276        (WebCore::SpeechRecognition::didReceiveNoMatch):
57277        (WebCore::SpeechRecognition::didDeleteResult):
57278        (WebCore::SpeechRecognition::didReceiveError):
57279        (WebCore::SpeechRecognition::didStart):
57280        (WebCore::SpeechRecognition::didEnd):
57281        * Modules/speech/SpeechRecognition.h:
57282        (SpeechRecognition):
57283        * Modules/speech/SpeechRecognitionClient.h:
57284        (SpeechRecognitionClient):
57285        * Modules/speech/SpeechRecognitionController.h:
57286
572872012-04-03  Levi Weintraub  <leviw@chromium.org>
57288
57289        Switch baseline values to LayoutUnits in RenderTableSection.
57290        https://bugs.webkit.org/show_bug.cgi?id=83017
57291
57292        Reviewed by Julien Chaffraix.
57293
57294        We initially intend to keep table layout on integers post switching the render tree to primarily
57295        use sub-pixel precision. Baseline positions switch to sub-pixel units, and in table layout code are
57296        combined with padding (also sub-pixel), which means we ideally won't truncate their values until
57297        after they're added together. Converting baseline values in RenderTableSection to LayoutUnits.
57298
57299        No new tests. No change in behavior.
57300
57301        * rendering/RenderTableSection.cpp:
57302        (WebCore::RenderTableSection::calcRowLogicalHeight):
57303        (WebCore::RenderTableSection::layoutRows):
57304        * rendering/RenderTableSection.h:
57305        (RowStruct):
57306
573072012-04-04  Zan Dobersek  <zandobersek@gmail.com>
57308
57309        [GTK] Scrolling doesn't work in WebKit2 since r110185
57310        https://bugs.webkit.org/show_bug.cgi?id=81779
57311
57312        Reviewed by James Robinson.
57313
57314        Bring back functionality of the ScrollAnimatorNone for ports that
57315        use a fallback timer for animation frames.
57316
57317        No new tests - only restoring previous functionality.
57318
57319        * platform/ScrollAnimatorNone.cpp:
57320        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
57321        (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
57322        (WebCore):
57323        (WebCore::ScrollAnimatorNone::animationTimerFired):
57324        (WebCore::ScrollAnimatorNone::startNextTimer):
57325        (WebCore::ScrollAnimatorNone::animationTimerActive):
57326        (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
57327        * platform/ScrollAnimatorNone.h:
57328        (ScrollAnimatorNone):
57329
573302012-04-02  Peter Rybin  <peter.rybin@gmail.com>
57331
57332        Web Inspector: CodeGeneratorInspector.py: switch Inspector, Memory and Database domains to typed API
57333        https://bugs.webkit.org/show_bug.cgi?id=82958
57334
57335        Reviewed by Yury Semikhatsky.
57336
57337        Client code is switched to typed API (all InspectorObject and InspectorArray types are replaced with
57338        generated types from TypeBuilder according to Inspector.json).
57339
57340        Missing array of InspectorValues specialization is added.
57341
57342        * inspector/CodeGeneratorInspector.py:
57343        * inspector/InjectedScriptHost.cpp:
57344        (WebCore::InjectedScriptHost::inspectImpl):
57345        * inspector/InspectorAgent.cpp:
57346        (WebCore::InspectorAgent::inspect):
57347        * inspector/InspectorAgent.h:
57348        (InspectorAgent):
57349        * inspector/InspectorDatabaseAgent.cpp:
57350        (WebCore):
57351        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
57352        * inspector/InspectorDatabaseAgent.h:
57353        (InspectorDatabaseAgent):
57354        * inspector/InspectorDatabaseResource.cpp:
57355        (WebCore::InspectorDatabaseResource::bind):
57356        * inspector/InspectorMemoryAgent.cpp:
57357        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
57358        * inspector/InspectorMemoryAgent.h:
57359        (InspectorMemoryAgent):
57360
573612012-04-04  Andrey Kosyakov  <caseq@chromium.org>
57362
57363        Web Inspector: make padding and client window width part of timeline calculator's state
57364        https://bugs.webkit.org/show_bug.cgi?id=83122
57365
57366        Reviewed by Pavel Feldman.
57367
57368        - preserve window width and padding within TimelineCalculator
57369        - rely on calculator to add expansion arrow padding
57370        - add TimelineCalculator::computePosition() for computing single position (not entire bar dimensions)
57371
57372        * inspector/front-end/MemoryStatistics.js:
57373        (WebInspector.MemoryStatistics.prototype._refreshDividers):
57374        * inspector/front-end/TimelineGrid.js:
57375        (WebInspector.TimelineGrid.prototype.updateDividers):
57376        * inspector/front-end/TimelineOverviewPane.js:
57377        (WebInspector.TimelineOverviewPane.prototype._update):
57378        (WebInspector.TimelineOverviewPane.prototype._reset):
57379        (WebInspector.TimelineOverviewCalculator.prototype.computePosition):
57380        (WebInspector.TimelineOverviewCalculator.prototype.setDisplayWindow):
57381        * inspector/front-end/TimelinePanel.js:
57382        (WebInspector.TimelinePanel.prototype._updateEventDividers):
57383        (WebInspector.TimelinePanel.prototype._refresh):
57384        (WebInspector.TimelinePanel.prototype._refreshRecords):
57385        (WebInspector.TimelineCalculator):
57386        (WebInspector.TimelineCalculator.prototype.computePosition):
57387        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
57388        (WebInspector.TimelineCalculator.prototype.setDisplayWindow):
57389        (WebInspector.TimelineRecordGraphRow.prototype.update):
57390        (WebInspector.TimelineExpandableElement.prototype._update):
57391
573922012-04-04  Sheriff Bot  <webkit.review.bot@gmail.com>
57393
57394        Unreviewed, rolling out r113149.
57395        http://trac.webkit.org/changeset/113149
57396        https://bugs.webkit.org/show_bug.cgi?id=83126
57397
57398        for breaking Chromium builders (Requested by pfeldman on
57399        #webkit).
57400
57401        * Modules/speech/SpeechGrammar.h:
57402        * Modules/speech/SpeechRecognition.cpp:
57403        (WebCore::SpeechRecognition::audioStartCallback):
57404        (WebCore::SpeechRecognition::soundStartCallback):
57405        (WebCore::SpeechRecognition::speechStartCallback):
57406        (WebCore::SpeechRecognition::speechEndCallback):
57407        (WebCore::SpeechRecognition::audioEndCallback):
57408        (WebCore::SpeechRecognition::resultCallback):
57409        (WebCore::SpeechRecognition::noMatchCallback):
57410        (WebCore::SpeechRecognition::resultDeletedCallback):
57411        (WebCore::SpeechRecognition::errorCallback):
57412        (WebCore::SpeechRecognition::startCallback):
57413        (WebCore::SpeechRecognition::endCallback):
57414        * Modules/speech/SpeechRecognition.h:
57415        (SpeechRecognition):
57416        * Modules/speech/SpeechRecognitionClient.h:
57417        (SpeechRecognitionClient):
57418        * Modules/speech/SpeechRecognitionController.h:
57419        (WebCore::SpeechRecognitionController::visibilityHidden):
57420        (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
57421
574222012-04-03  Andrey Kosyakov  <caseq@chromium.org>
57423
57424        Web Inspector: event marks are missing in the timeline overview
57425        https://bugs.webkit.org/show_bug.cgi?id=83043
57426
57427        Reviewed by Pavel Feldman.
57428
57429        - invoke overview event dividers update as part of overview update, not lower pane update;
57430        - store raw records for event dividers within overview;
57431        - moved createEventDividers to a class method of TimelinePresentationModel for reuse.
57432        - ditto for forAllRecords
57433
57434        * inspector/front-end/TimelineOverviewPane.js:
57435        (WebInspector.TimelineOverviewPane):
57436        (WebInspector.TimelineOverviewPane.prototype._update):
57437        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
57438        (WebInspector.TimelineOverviewPane.prototype._updateEventDividers):
57439        (WebInspector.TimelineOverviewPane.prototype._onRecordAdded):
57440        (WebInspector.TimelineOverviewPane.prototype._reset):
57441        (WebInspector.HeapGraph.prototype.update):
57442        * inspector/front-end/TimelinePanel.js:
57443        (WebInspector.TimelinePanel.prototype._updateEventDividers):
57444        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
57445        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
57446        * inspector/front-end/TimelinePresentationModel.js:
57447        (WebInspector.TimelinePresentationModel.isEventDivider):
57448        (WebInspector.TimelinePresentationModel.forAllRecords):
57449        (WebInspector.TimelinePresentationModel.createEventDivider):
57450
574512012-04-03  Hans Wennborg  <hans@chromium.org>
57452
57453        Speech JavaScript API: Plumbing for Chromium
57454        https://bugs.webkit.org/show_bug.cgi?id=81667
57455
57456        Reviewed by Darin Fisher.
57457
57458        SpeechGrammar::src() is called with a ScriptExecutionContext, because
57459        the attribute setter needs it. Provide a src() method that doesn't
57460        take a ScriptExecutionContext that can be used internally.
57461
57462        Rename SpeechRecognition::audioStartCallback(), etc. to use event style
57463        names, i.e. didStartAudio(), etc.
57464
57465        Remove SpeechRecognitionClient::notifyVisibilityHidden(). The embedder
57466        can keep track of the visibility.
57467
57468        Remove SpeechRecognitionClient::unregisterSpeechRecognition,
57469        it is not needed.
57470
57471        No new tests, just minor tweaks.
57472
57473        * Modules/speech/SpeechGrammar.h:
57474        (WebCore::SpeechGrammar::src):
57475        * Modules/speech/SpeechRecognition.cpp:
57476        (WebCore::SpeechRecognition::didStartAudio):
57477        (WebCore::SpeechRecognition::didStartSound):
57478        (WebCore::SpeechRecognition::didStartSpeech):
57479        (WebCore::SpeechRecognition::didEndSpeech):
57480        (WebCore::SpeechRecognition::didEndSound):
57481        (WebCore):
57482        (WebCore::SpeechRecognition::didEndAudio):
57483        (WebCore::SpeechRecognition::didReceiveResult):
57484        (WebCore::SpeechRecognition::didReceiveNoMatch):
57485        (WebCore::SpeechRecognition::didDeleteResult):
57486        (WebCore::SpeechRecognition::didReceiveError):
57487        (WebCore::SpeechRecognition::didStart):
57488        (WebCore::SpeechRecognition::didEnd):
57489        * Modules/speech/SpeechRecognition.h:
57490        (SpeechRecognition):
57491        * Modules/speech/SpeechRecognitionClient.h:
57492        (SpeechRecognitionClient):
57493        * Modules/speech/SpeechRecognitionController.h:
57494
574952012-04-04  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
57496
57497        Fix build break when CONTEXT_MENUS is disabled.
57498        https://bugs.webkit.org/show_bug.cgi?id=82342
57499
57500        Reviewed by Andreas Kling.
57501
57502        Fixes build break in WebKit-Gtk, and WebKit-EFL ports when CONTEXT_MENUS macro is disabled.
57503
57504        * page/ContextMenuClient.h:
57505        * page/ContextMenuController.h:
57506        * page/Page.cpp:
57507        (WebCore::Page::PageClients::PageClients):
57508        * page/Page.h:
57509        (WebCore):
57510        (PageClients):
57511        * platform/ContextMenu.cpp:
57512        * platform/ContextMenu.h:
57513        * platform/ContextMenuItem.cpp:
57514        * platform/ContextMenuItem.h:
57515        * platform/efl/ContextMenuEfl.cpp:
57516        * platform/efl/ContextMenuItemEfl.cpp:
57517        * platform/gtk/ContextMenuGtk.cpp:
57518        * platform/gtk/ContextMenuItemGtk.cpp:
57519
575202012-04-03  Adam Barth  <abarth@webkit.org>
57521
57522        Implement <iframe srcdoc>
57523        https://bugs.webkit.org/show_bug.cgi?id=82991
57524
57525        Reviewed by Sam Weinig.
57526
57527        This patch implements the <iframe srcdoc> feature. This feature allows
57528        authors to easily supply the contents of an iframe without needing to
57529        round-trip to the server. Using srcdoc is more convenient than using
57530        data URLs because we set a bunch of properties of the child document
57531        sensibly. For example, the child inherits the base URL of the parent
57532        and the child uses standards mode by default.
57533
57534        This feature is specified in
57535        <http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-srcdoc>.
57536        Although the feature has been in the spec for a while, I'm not aware of
57537        any other implementations in major browsers. The srcdoc feature works
57538        especially well with the sandbox and seamless attributes. We already
57539        implement sandbox and will likely implement seamless soon.
57540
57541        The srcdoc feature was announced on the webkit-dev mailing list on March 30:
57542        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020161.html
57543
57544        This patch approaches the implementation using SubstituteData, which is
57545        a mechanism previously used for error messages and the like. Using
57546        SubstituteData has the advantage of not needing to modify the loading
57547        or history pipelines at all, making the integration of srcdoc with the
57548        rest of WebCore quite smooth.
57549
57550        This patch encodes the contents of the srcdoc attribute to and from
57551        UTF-8 when round-tripping the contents through the loader. In a future
57552        patch, I plan to experiment with whether using UTF-16 (or perhaps
57553        another encoding) can improve performance. There might also be a way to
57554        avoid the memcpy entirely, but these optimizations are best left to
57555        followup patches as this patch focuses on the observable behavior of
57556        the feature.
57557
57558        Tests: fast/frames/srcdoc/reloading-a-srcdoc-document-loads-it-again.html
57559               fast/frames/srcdoc/setting-src-does-nothing.html
57560               fast/frames/srcdoc/setting-srcdoc-reloads-document.html
57561               fast/frames/srcdoc/srcdoc-beats-src-dom.html
57562               fast/frames/srcdoc/srcdoc-beats-src.html
57563               fast/frames/srcdoc/srcdoc-can-be-in-qurks-mode.html
57564               fast/frames/srcdoc/srcdoc-can-navigate.html
57565               fast/frames/srcdoc/srcdoc-defaults-to-standards-mode.html
57566               fast/frames/srcdoc/srcdoc-loads-content.html
57567               fast/frames/srcdoc/srcdoc-urls.html
57568               http/tests/security/srcdoc-can-access-parent.html
57569               http/tests/security/srcdoc-in-sandbox-cannot-access-parent.html
57570               http/tests/security/srcdoc-inherits-referrer-for-forms.html
57571               http/tests/security/srcdoc-inherits-referrer.html
57572
57573        * dom/Document.cpp:
57574        (WebCore::Document::Document):
57575        (WebCore::Document::initSecurityContext):
57576            - srcdoc documents need to inherit their security contexts from
57577              their parents. We pick this initialization point to inherit the
57578              base URL and to set the "srcdoc Document" bit so that everything
57579              gets initialized atomically and from precisely the same owner
57580              frame.
57581        * dom/Document.h:
57582        (Document):
57583        (WebCore::Document::isSrcdocDocument):
57584            - This bit of state is present in the HTML5 spec and is referred to
57585              by a number of different requirements in the spec.
57586        * html/HTMLAttributeNames.in:
57587        * html/HTMLFrameElementBase.cpp:
57588        (WebCore::HTMLFrameElementBase::parseAttribute):
57589        (WebCore::HTMLFrameElementBase::location):
57590            - These functions implement the requirement that the srcdoc
57591              attribute takes precedence over the src attribute and triggers a
57592              load of a document with the URL about:srcdoc.
57593        * html/HTMLIFrameElement.idl:
57594            - Expose the srcdoc property as a reflection of the DOM attribute.
57595        * html/parser/HTMLTreeBuilder.cpp:
57596        (WebCore::HTMLTreeBuilder::defaultForInitial):
57597            - This tweak allows srcdoc documents to use standards mode by
57598              default, saving authors from having to include a doctype in each
57599              srcdoc document.
57600        * loader/FrameLoader.cpp:
57601        (WebCore::FrameLoader::defaultSubstituteDataForURL):
57602            - This function transfers the contents of the srcdoc attribute into
57603              the loading pipeline. If the client supplies other
57604              SubstituteData, that takes precendence over our "default"
57605              SubstituteData.
57606        (WebCore::FrameLoader::outgoingReferrer):
57607            - This function implements the requirement from the HTML5 spec that
57608              srcdoc documents inherit their referrer from their parent
57609              document. A recursive implementation might have been more
57610              aesthetic but the iterative implementation seemed like a better
57611              choice.
57612        (WebCore::FrameLoader::shouldTreatURLAsSrcdocDocument):
57613            - An about:srcdoc URL only has special meaning when loaded in an
57614              iframe with a srcdoc attribute. Otherwise, it's just a normal
57615              "about" URL, meaning a blank page.
57616        (WebCore::FrameLoader::urlSelected):
57617        (WebCore::FrameLoader::submitForm):
57618        (WebCore::FrameLoader::loadFrameRequest):
57619        (WebCore::FrameLoader::load):
57620        (WebCore::FrameLoader::loadWithNavigationAction):
57621        (WebCore::FrameLoader::reloadWithOverrideEncoding):
57622        (WebCore::FrameLoader::reload):
57623        (WebCore::FrameLoader::loadResourceSynchronously):
57624            - Update these call sites to call defaultSubstituteDataForURL and
57625              outgoingReferrer consistently.
57626        * loader/FrameLoader.h:
57627        (FrameLoader):
57628
576292012-03-29  Geoffrey Garen  <ggaren@apple.com>
57630
57631        First step toward incremental Weak<T> finalization
57632        https://bugs.webkit.org/show_bug.cgi?id=82670
57633
57634        Reviewed by Filip Pizlo.
57635
57636        Updated WebCore for Weak<T> API changes.
57637
57638        * bindings/js/DOMWrapperWorld.cpp:
57639        (WebCore::JSStringOwner::finalize): We're not allowed to get() a dead Weak<T>
57640        anymore, so use the debug-only was() helper function instead.
57641
57642        * bindings/js/JSDOMBinding.h:
57643        (WebCore::uncacheWrapper): Ditto.
57644
57645        * bindings/js/JSNodeCustom.h:
57646        (WebCore::setInlineCachedWrapper):
57647        (WebCore::clearInlineCachedWrapper): We're not allowed to get() a dead
57648        Weak<T>, so I had to push down these ASSERTs into ScriptWrappable.
57649
57650        * bindings/js/JSNodeFilterCondition.cpp:
57651        (WebCore::JSNodeFilterCondition::acceptNode): Updated for non-Handle-ness
57652        of Weak<T>.
57653
57654        * bindings/js/ScriptWrappable.h:
57655        (WebCore::ScriptWrappable::setWrapper):
57656        (WebCore::ScriptWrappable::clearWrapper): Use was(), as above.
57657
576582012-04-03  Luke Macpherson  <macpherson@chromium.org>
57659
57660        Don't parse "show" and "hide" as valid values for display property.
57661        https://bugs.webkit.org/show_bug.cgi?id=83115
57662
57663        Reviewed by Adam Barth.
57664
57665        No new tests.
57666
57667        * css/CSSParser.cpp:
57668        (WebCore::isValidKeywordPropertyAndValue):
57669
576702012-04-03  Yuta Kitamura  <yutak@chromium.org>
57671
57672        Crash in WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadCreateWebSocketChannel
57673        https://bugs.webkit.org/show_bug.cgi?id=82873
57674
57675        Reviewed by David Levin.
57676
57677        WorkerThreadableWebSocketChannel::Bridge should properly handle the cases where inter-thread
57678        callback is not called due to the termination of the worker run loop. Specifically, the bridge
57679        should not send its "this" pointer to the main thread, because the bridge object may be freed
57680        in the worker thread before the main thread starts to process.
57681
57682        Test: http/tests/websocket/tests/hybi/workers/worker-reload.html
57683
57684        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
57685        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
57686        (WebCore::ThreadableWebSocketChannelClientWrapper::peer):
57687        (WebCore::ThreadableWebSocketChannelClientWrapper::didCreateWebSocketChannel):
57688        Renamed from setUseHixie76Protocol, as this funtion now also sets m_peer.
57689        Sets m_syncMethodDone to true, because this function is called in the end of
57690        synchronous wait of Bridge::initialize().
57691        (WebCore::ThreadableWebSocketChannelClientWrapper::clearPeer):
57692        (WebCore::ThreadableWebSocketChannelClientWrapper::useHixie76Protocol):
57693        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
57694        Add WorkerThreadableWebSocketChannel::Peer which is initialized after the creation of
57695        WebSocketChannel in the main thread.
57696        (ThreadableWebSocketChannelClientWrapper):
57697        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
57698        (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
57699        Don't do synchronous wait in the constructor, as a member function may be called
57700        during the wait before the constructor finishes. The meat of the constructor has
57701        moved to initialize() function.
57702        (WebCore::WorkerThreadableWebSocketChannel::Bridge::Bridge):
57703        (WebCore::WorkerThreadableWebSocketChannel::Bridge::~Bridge):
57704        (WorkerContextDidInitializeTask):
57705        (WebCore::WorkerContextDidInitializeTask::create):
57706        (WebCore::WorkerContextDidInitializeTask::~WorkerContextDidInitializeTask):
57707        (WebCore::WorkerContextDidInitializeTask::WorkerContextDidInitializeTask):
57708        (WebCore::WorkerThreadableWebSocketChannel::Bridge::mainThreadInitialize):
57709        (WebCore::WorkerThreadableWebSocketChannel::Bridge::initialize):
57710        Don't pass "this" object to the main thread. Receive the pointer to the peer object
57711        via ThreadableWebSocketChannelClientWrapper which is ThreadSafeRefCounted<>.
57712        (WebCore::WorkerThreadableWebSocketChannel::Bridge::connect):
57713        m_peer may be NULL, and we should not do anything in that case.
57714        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
57715        (WebCore::WorkerThreadableWebSocketChannel::Bridge::bufferedAmount):
57716        (WebCore::WorkerThreadableWebSocketChannel::mainThreadClose):
57717        (WebCore::WorkerThreadableWebSocketChannel::Bridge::close):
57718        (WebCore::WorkerThreadableWebSocketChannel::Bridge::fail):
57719        (WebCore::WorkerThreadableWebSocketChannel::Bridge::suspend):
57720        (WebCore::WorkerThreadableWebSocketChannel::Bridge::resume):
57721        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
57722        (WorkerThreadableWebSocketChannel):
57723        (WebCore::WorkerThreadableWebSocketChannel::refThreadableWebSocketChannel):
57724        (WebCore::WorkerThreadableWebSocketChannel::derefThreadableWebSocketChannel):
57725        (Bridge):
57726        * workers/DefaultSharedWorkerRepository.cpp:
57727        (SharedWorkerProxy):
57728        (WebCore::SharedWorkerProxy::postTaskForModeToWorkerContext):
57729        * workers/WorkerLoaderProxy.h:
57730        (WorkerLoaderProxy::postTaskForModeToWorkerContext):
57731        Return bool to indicate whether postTask was successful or not. This is necessary
57732        to avoid memory leaks of Peer object in Bridge::initialize() function.
57733        * workers/WorkerMessagingProxy.cpp:
57734        (WebCore::WorkerMessagingProxy::postTaskForModeToWorkerContext):
57735        * workers/WorkerMessagingProxy.h:
57736        (WorkerMessagingProxy):
57737
577382012-04-03  Keishi Hattori  <keishi@webkit.org>
57739
57740        Disable ENABLE_DATALIST for now
57741        https://bugs.webkit.org/show_bug.cgi?id=82871
57742
57743        Reviewed by Kent Tamura.
57744
57745        * Configurations/FeatureDefines.xcconfig: Disabled ENABLE_DATALIST.
57746
577472012-04-03  Yael Aharon  <yael.aharon@nokia.com>
57748
57749        [Qt][WK2] Assert on startup after r113090
57750        https://bugs.webkit.org/show_bug.cgi?id=83111
57751
57752        Reviewed by Noam Rosenthal.
57753
57754        Add willBeDestroyed to to GraphicsLayerTextureMapper.
57755
57756        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
57757        (WebCore::GraphicsLayerTextureMapper::~GraphicsLayerTextureMapper):
57758        (WebCore):
57759        (WebCore::WebGraphicsLayer::willBeDestroyed):
57760        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
57761        (GraphicsLayerTextureMapper):
57762
577632012-04-03  Kenichi Ishibashi  <bashi@chromium.org>
57764
57765        [Chromium] Out-of-process font loading garbles text
57766        https://bugs.webkit.org/show_bug.cgi?id=83002
57767
57768        Reviewed by Kent Tamura.
57769
57770        Initialize m_CTFont by using m_cgFont in FontPlatformData when we use
57771        out-of-process font loading.
57772
57773        No new tests. This problem only occurs when the user uses a third party
57774        font management software like Font Explorer so it is difficult to add
57775        tests.
57776
57777        * platform/graphics/chromium/CrossProcessFontLoading.mm:
57778        (WebCore):
57779        (WebCore::FontPlatformData::loadFont): If font loading fails, set null to outNSFont so that the FontPlatformData won't be used.
57780        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
57781        (WebCore::FontPlatformData::ctFont): Modified to return the appropriate NSFont object when the font from the browser process.
57782        * platform/graphics/mac/FontCacheMac.mm:
57783        (WebCore::FontCache::createFontPlatformData): Returns null when the generated FontPlatformData object doesn't have NSFont object.
57784
577852012-04-03  Hironori Bono  <hbono@chromium.org>
57786
57787        Prevent spellchecking text pasted to an element having spellchecking disabled
57788        https://bugs.webkit.org/show_bug.cgi?id=81323
57789
57790        Reviewed by Hajime Morita.
57791
57792        This change prevent calling SpellChecker::requestCheckingFor when pasting text
57793        to an element whose spellcheck attribute is false or a password input.
57794
57795        Test: editing/spelling/spellcheck-paste-disabled.html
57796
57797        * editing/Editor.cpp:
57798        (WebCore::Editor::replaceSelectionWithFragment): Disabled spellchecking on password inputs.
57799        * editing/SpellChecker.cpp:
57800        (WebCore::SpellChecker::isCheckable): Return false when spellchecking is disabled.
57801
578022012-04-03  Hayato Ito  <hayato@chromium.org>
57803
57804        Make FocusController use a ComposedShadowTreeWalker, instead of ReifiedTreeTraversal APIs.
57805        https://bugs.webkit.org/show_bug.cgi?id=82694
57806
57807        Reviewed by Dimitri Glazkov.
57808
57809        Rewrite a focus controller so that it uses ComposedShadowTreeWalker
57810        since that is a preferred way to traverse composed shadow tree.
57811        I'll get rid of ReifiedTreeTraversal in follow-up patches, which is now deprecated.
57812
57813        No new tests. No change in functionality.
57814
57815        * page/FocusController.cpp:
57816        (WebCore::walkerFrom):
57817        (WebCore):
57818        (WebCore::walkerFromNext):
57819        (WebCore::walkerFromPrevious):
57820        (WebCore::nextNode):
57821        (WebCore::previousNode):
57822        (WebCore::FocusController::findNodeWithExactTabIndex):
57823        (WebCore::nextNodeWithGreaterTabIndex):
57824        (WebCore::previousNodeWithLowerTabIndex):
57825        (WebCore::FocusController::nextFocusableNode):
57826        (WebCore::FocusController::previousFocusableNode):
57827
578282012-04-03  Srikumar Bonda  <srikumar.b@gmail.com>
57829
57830        [Qt] Crash in ~GraphicsContext3D() when init failed
57831        https://bugs.webkit.org/show_bug.cgi?id=82992
57832
57833        Reviewed by Luiz Agostini.
57834
57835        WebKit crashes in ~GraphicsContext3D() while freeing the variables which are
57836        not even allocated because of the init failure in GraphicsContext3D() for Qt.
57837        In addition, Added a safety check in makeContextCurrent() before accessing
57838        GraphicsContext3DPrivate object.
57839
57840        No new tests because the change is about adding null check
57841        before accessing the variables.
57842
57843        * platform/graphics/qt/GraphicsContext3DQt.cpp:
57844        (WebCore::GraphicsContext3D::~GraphicsContext3D):
57845        (WebCore::GraphicsContext3D::makeContextCurrent):
57846
578472012-04-03  Rafael Weinstein  <rafaelw@chromium.org>
57848
57849        Use V8 completion callback API to assert that V8RecursionScope is on the stack whenever invoking script
57850        https://bugs.webkit.org/show_bug.cgi?id=79131
57851
57852        Reviewed by Adam Barth.
57853
57854        End-of-microtask work (cancelling outstanding IDB transactions,
57855        delivering DOM mutations) depend on V8RecursionScope being on the
57856        stack whenever a call is made into script. V8 provides a completion
57857        callback API that could be used to hook these "end-of-microtask"
57858        events, but it turns out that WebKit calls into script for various
57859        reasons besides running script from the page. For example, constructing
57860        wrapper objects from function templates counts as "running script",
57861        yet it's not appropriate to run this callback every time a JS wrapper
57862        is constructed.
57863
57864        Instead, this patch makes use of the V8 completion callback mechanism
57865        only in debug mode, to assert that either a V8RecursionScope (when
57866        calling author script) or a V8RecursionScope::MicrotaskSuppression
57867        (when calling non-author script) is on the stack when V8 thinks it's
57868        finished executing script. This requires dropping MicrotaskSuppression
57869        objects in a bunch of places, most notably the Inspector.
57870        Note that in release mode, this class does nothing and thus should be
57871        optimized away.
57872
57873        No new tests. Existing tests have appropriate coverage.
57874
57875        * Target.pri:
57876        * WebCore.gypi:
57877        * bindings/v8/DateExtension.cpp:
57878        (WebCore::DateExtension::setAllowSleep):
57879        * bindings/v8/PageScriptDebugServer.cpp:
57880        (WebCore::PageScriptDebugServer::addListener):
57881        * bindings/v8/ScriptController.cpp:
57882        (WebCore::ScriptController::callFunctionEvenIfScriptDisabled):
57883        (WebCore):
57884        (WebCore::ScriptController::collectGarbage):
57885        * bindings/v8/ScriptController.h:
57886        (ScriptController):
57887        * bindings/v8/ScriptDebugServer.cpp:
57888        (WebCore::ScriptDebugServer::callDebuggerMethod):
57889        (WebCore):
57890        (WebCore::ScriptDebugServer::pauseOnExceptionsState):
57891        (WebCore::ScriptDebugServer::setPauseOnExceptionsState):
57892        (WebCore::ScriptDebugServer::stepIntoStatement):
57893        (WebCore::ScriptDebugServer::stepOverStatement):
57894        (WebCore::ScriptDebugServer::stepOutOfFunction):
57895        (WebCore::ScriptDebugServer::setScriptSource):
57896        (WebCore::ScriptDebugServer::currentCallFrame):
57897        (WebCore::ScriptDebugServer::handleV8DebugEvent):
57898        (WebCore::ScriptDebugServer::ensureDebuggerScriptCompiled):
57899        * bindings/v8/ScriptDebugServer.h:
57900        (ScriptDebugServer):
57901        * bindings/v8/ScriptFunctionCall.cpp:
57902        (WebCore::ScriptFunctionCall::call):
57903        * bindings/v8/V8Binding.cpp:
57904        (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
57905        * bindings/v8/V8Binding.h:
57906        (V8BindingPerIsolateData):
57907        (WebCore::V8BindingPerIsolateData::internalScriptRecursionLevel):
57908        (WebCore::V8BindingPerIsolateData::incrementInternalScriptRecursionLevel):
57909        (WebCore::V8BindingPerIsolateData::decrementInternalScriptRecursionLevel):
57910        * bindings/v8/V8DOMWindowShell.cpp:
57911        * bindings/v8/V8DOMWrapper.cpp:
57912        * bindings/v8/V8LazyEventListener.cpp:
57913        (WebCore::V8LazyEventListener::prepareListenerObject):
57914        * bindings/v8/V8NPObject.cpp:
57915        * bindings/v8/V8RecursionScope.h:
57916        (WebCore):
57917        (WebCore::V8RecursionScope::recursionLevel):
57918        (V8RecursionScope):
57919        (WebCore::V8RecursionScope::properlyUsed):
57920        (MicrotaskSuppression):
57921        (WebCore::V8RecursionScope::MicrotaskSuppression::MicrotaskSuppression):
57922        (WebCore::V8RecursionScope::MicrotaskSuppression::~MicrotaskSuppression):
57923        * bindings/v8/WorkerContextExecutionProxy.cpp:
57924        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
57925        (WebCore::V8HTMLDocument::WrapInShadowObject):
57926        * bindings/v8/custom/V8InjectedScriptManager.cpp:
57927        (WebCore::InjectedScriptManager::createInjectedScript):
57928        * bindings/v8/custom/V8ScriptProfileCustom.cpp:
57929        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp:
57930
579312012-04-03  Anna Cavender  <annacc@chromium.org>
57932
57933        Makes sure m_showingByDefault is set to false when TextTrack.mode is set from JS.
57934        https://bugs.webkit.org/show_bug.cgi?id=79791
57935
57936        Reviewed by Eric Carlson.
57937
57938        Test: media/track/track-mode.html
57939
57940        * html/track/TextTrack.cpp:
57941        (WebCore::TextTrack::setMode): setMode should always setShowingByDefault to false.
57942
579432012-04-03  Jia Pu  <jpu@apple.com>
57944
57945        Rename SpellingCorrectionController to AlternativeTextController.
57946        https://bugs.webkit.org/show_bug.cgi?id=82942
57947
57948        Reviewed by Enrica Casucci.
57949
57950        No new tests, since there's no change of funcationalities.
57951
57952        This patch renames SpellingCorrectionController to AlternativeTextController, CorrectionPanelInfo to
57953        AlternativeTextInfo, CorrectionPanelInfo::CorretionPanelType to AlternativeTextType, and ReasonForDismissingCorrectionPanel
57954        to ReasonForDismissingAlternativeText. All these renaming reflects the fact that this class controls change
57955        of text caused by both spell checking and alternative dictation results. It also renames a couple of functions
57956        in the original SpellingCorrectionController class for the same reason.
57957
57958        SpellingCorrectionPanel::replacementString has been replaced by AlternativeTextInfo::details which is an object
57959        that can be instantiated with different subclasses.
57960
57961        * CMakeLists.txt:
57962        * GNUmakefile.list.am:
57963        * Target.pri:
57964        * WebCore.exp.in:
57965        * WebCore.gypi:
57966        * WebCore.vcproj/WebCore.vcproj:
57967        * WebCore.xcodeproj/project.pbxproj:
57968        * editing/AlternativeTextController.cpp: Copied from Source/WebCore/editing/SpellingCorrectionController.cpp.
57969        (AutocorrectionAlternativeDetails):
57970        (WebCore::AutocorrectionAlternativeDetails::create):
57971        (WebCore::AutocorrectionAlternativeDetails::replacementString):
57972        (WebCore::AutocorrectionAlternativeDetails::AutocorrectionAlternativeDetails):
57973        (WebCore):
57974        (WebCore::AlternativeTextController::AlternativeTextController):
57975        (WebCore::AlternativeTextController::~AlternativeTextController):
57976        (WebCore::AlternativeTextController::startAlternativeTextUITimer):
57977        (WebCore::AlternativeTextController::stopAlternativeTextUITimer):
57978        (WebCore::AlternativeTextController::stopPendingCorrection):
57979        (WebCore::AlternativeTextController::applyPendingCorrection):
57980        (WebCore::AlternativeTextController::hasPendingCorrection):
57981        (WebCore::AlternativeTextController::isSpellingMarkerAllowed):
57982        (WebCore::AlternativeTextController::show):
57983        (WebCore::AlternativeTextController::handleCancelOperation):
57984        (WebCore::AlternativeTextController::dismiss):
57985        (WebCore::AlternativeTextController::dismissSoon):
57986        (WebCore::AlternativeTextController::applyAlternativeText):
57987        (WebCore::AlternativeTextController::applyAutocorrectionBeforeTypingIfAppropriate):
57988        (WebCore::AlternativeTextController::respondToUnappliedSpellCorrection):
57989        (WebCore::AlternativeTextController::timerFired):
57990        (WebCore::AlternativeTextController::handleAlternativeTextUIResult):
57991        (WebCore::AlternativeTextController::isAutomaticSpellingCorrectionEnabled):
57992        (WebCore::AlternativeTextController::rootViewRectForRange):
57993        (WebCore::AlternativeTextController::respondToChangedSelection):
57994        (WebCore::AlternativeTextController::respondToAppliedEditing):
57995        (WebCore::AlternativeTextController::respondToUnappliedEditing):
57996        (WebCore::AlternativeTextController::client):
57997        (WebCore::AlternativeTextController::textChecker):
57998        (WebCore::AlternativeTextController::recordAutocorrectionResponseReversed):
57999        (WebCore::AlternativeTextController::markReversed):
58000        (WebCore::AlternativeTextController::markCorrection):
58001        (WebCore::AlternativeTextController::recordSpellcheckerResponseForModifiedCorrection):
58002        (WebCore::AlternativeTextController::deletedAutocorrectionAtPosition):
58003        (WebCore::AlternativeTextController::markPrecedingWhitespaceForDeletedAutocorrectionAfterCommand):
58004        (WebCore::AlternativeTextController::processMarkersOnTextToBeReplacedByResult):
58005        * editing/AlternativeTextController.h: Copied from Source/WebCore/editing/SpellingCorrectionController.h.
58006        (AlternativeTextDetails):
58007        (WebCore::AlternativeTextDetails::AlternativeTextDetails):
58008        (WebCore::AlternativeTextDetails::~AlternativeTextDetails):
58009        (WebCore):
58010        (AlternativeTextInfo):
58011        (AlternativeTextController):
58012        (WebCore::AlternativeTextController::shouldRemoveMarkersUponEditing):
58013        * editing/EditingAllInOne.cpp:
58014        * editing/Editor.cpp:
58015        (WebCore::Editor::respondToChangedSelection):
58016        (WebCore::Editor::appliedEditing):
58017        (WebCore::Editor::unappliedEditing):
58018        (WebCore::Editor::Editor):
58019        (WebCore::Editor::insertTextWithoutSendingTextEvent):
58020        (WebCore::Editor::insertLineBreak):
58021        (WebCore::Editor::insertParagraphSeparator):
58022        (WebCore::Editor::isAutomaticSpellingCorrectionEnabled):
58023        (WebCore::Editor::markMisspellingsAfterTypingToWord):
58024        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
58025        (WebCore::Editor::markAndReplaceFor):
58026        (WebCore::Editor::changeBackToReplacedString):
58027        (WebCore::Editor::unappliedSpellCorrection):
58028        (WebCore::Editor::updateMarkersForWordsAffectedByEditing):
58029        (WebCore::Editor::deletedAutocorrectionAtPosition):
58030        (WebCore::Editor::startAlternativeTextUITimer):
58031        (WebCore::Editor::handleAlternativeTextUIResult):
58032        (WebCore::Editor::dismissCorrectionPanelAsIgnored):
58033        * editing/Editor.h:
58034        (WebCore):
58035        (Editor):
58036        * editing/SpellingCorrectionCommand.cpp:
58037        * editing/SpellingCorrectionController.cpp: Removed.
58038        * editing/SpellingCorrectionController.h: Removed.
58039        * editing/TypingCommand.cpp:
58040        (WebCore::TypingCommand::markMisspellingsAfterTyping):
58041        * loader/EmptyClients.h:
58042        (WebCore::EmptyEditorClient::showCorrectionPanel):
58043        (WebCore::EmptyEditorClient::dismissCorrectionPanel):
58044        (WebCore::EmptyEditorClient::dismissCorrectionPanelSoon):
58045        * page/EditorClient.h:
58046
580472012-04-03  Adam Barth  <abarth@webkit.org>
58048
58049        Unreviewed. This patch adds an ugly, ugly hack to bandaid over the
58050        Windows component build. See comments in the code for details.
58051
58052        * platform/chromium/support/WebMediaStreamSourcesRequest.cpp:
58053        (WebKit::WebMediaStreamSourcesRequest::dummy):
58054        (WebKit):
58055
580562012-04-03  Abhishek Arya  <inferno@chromium.org>
58057
58058        Crash in SelectorChecker::checkOneSelector.
58059        https://bugs.webkit.org/show_bug.cgi?id=83040
58060
58061        Reviewed by Antti Koivisto.
58062
58063        Test: fast/css/css-set-selector-text-crash.html
58064
58065        Removing the early bail when we detect that our selector text
58066        hasn't changed, and we don't notify the styleSelectorChanged.
58067        In fact, when we adopt the new selector list, the old one will
58068        get destroyed and the styleSelectorChanged call needs to be made.
58069
58070        * css/CSSStyleRule.cpp:
58071        (WebCore::CSSStyleRule::setSelectorText):
58072
580732012-04-03  Julien Chaffraix  <jchaffraix@webkit.org>
58074
58075        presentationAttributeCacheMaximumSize is set too low
58076        https://bugs.webkit.org/show_bug.cgi?id=82816
58077
58078        Reviewed by Antti Koivisto.
58079
58080        Performance change, no side effects anticipated.
58081
58082        Prior to r106740, the presentation attribute style cache used to grow unbounded. As part of r110316,
58083        a different version of the cache was introduced with a maximum size of 128. This size gave a 75% hit rate.
58084
58085        However this is bad as the previous cache had a 85% hit rate** and each miss propagate down to the matched
58086        properties cache as we use pointer comparisons.
58087
58088        This change bumps the size to 4096. This size was chosen to bring us back to the previous hit rate while
58089        being a power of 2 (it is the HashMap maximum size). The steep increase is due to the combinational compexity
58090        of the new cache model: we need to match all our attributes' name, value and tag name to get a hit vs
58091        one attribute name, value and a category in the previous cache. To avoid blowing up the memory, we introduced
58092        a timer to clear the cache if the hit rate is too low.
58093
58094        The measured hit rate is actually better now - in the 90% range on most page cyclers. This ups the matched
58095        properties hit rate by 1 percent point on presentation attributes.
58096
58097        ** This is not a true apple-to-apple comparison as the cache model was changed.
58098
58099        * dom/StyledElement.cpp:
58100        (PresentationAttributeCacheCleaner):
58101        (WebCore::PresentationAttributeCacheCleaner::PresentationAttributeCacheCleaner):
58102        (WebCore::PresentationAttributeCacheCleaner::didHitPresentationAttributeCache):
58103        (WebCore::PresentationAttributeCacheCleaner::cleanCache):
58104        (WebCore):
58105        (WebCore::presentationAttributeCacheCleaner):
58106        (WebCore::StyledElement::updateAttributeStyle):
58107        Added the logic to clean the presentation attribute cache if we drop below 100 hits per minutes.
58108
581092012-04-03  Tony Chang  <tony@chromium.org>
58110
58111        Implement new flex property and deprecate flex function
58112        https://bugs.webkit.org/show_bug.cgi?id=82128
58113
58114        Reviewed by Ojan Vafai.
58115
58116        No new tests. Tests were updated to use the new syntax and they should
58117        all pass.
58118
58119        * rendering/RenderFlexibleBox.cpp:
58120        (WebCore::RenderFlexibleBox::preferredFlexLengthForChild): Grab the
58121        preferred size and if it's auto, fall back to width or height.
58122        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
58123        (WebCore::RenderFlexibleBox::positiveFlexForChild): Use the value from the flex property.
58124        (WebCore::RenderFlexibleBox::negativeFlexForChild): Use the value from the flex property.
58125        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
58126        * rendering/RenderFlexibleBox.h:
58127
581282012-03-15  Anders Carlsson  <andersca@apple.com>
58129
58130        Search result page scrolls up before the correct page opens from google search
58131        https://bugs.webkit.org/show_bug.cgi?id=81280
58132        <rdar://problem/10973263>
58133
58134        Reviewed by Sam Weinig.
58135
58136        Make the requested scroll position part of the ScrollingTreeState so any changes being made
58137        are in sync with other important changes such as the scroll layer or contents size.
58138
58139        * page/scrolling/ScrollingCoordinator.cpp:
58140        (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
58141        Use coordinatesScrollingForFrameView instead of checking if the frame is the main frame.
58142
58143        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
58144        Call ScrollingTreeState::setRequestedScrollPosition.
58145
58146        (WebCore::ScrollingCoordinator::setScrollLayer):
58147        Reset the requested scroll position.
58148
58149        * page/scrolling/ScrollingTreeState.cpp:
58150        (WebCore::ScrollingTreeState::setRequestedScrollPosition):
58151        Keep track of the scroll position.
58152
58153        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
58154        (WebCore::ScrollingTreeNodeMac::update):
58155        Update the scroll position if it's changed.
58156
581572012-04-03  W. James MacLean  <wjmaclean@chromium.org>
58158
58159        [chromium] Switch touchpad fling curve physics to absolute (not scaled) curve.
58160        https://bugs.webkit.org/show_bug.cgi?id=83061
58161
58162        Reviewed by James Robinson.
58163
58164        Revised existing unit tests.
58165
58166        Use an absolute curve for touchpad fling. Here we identify the location on the curve corresponding
58167        to the initial fling velocity, and "jump in" at that point. Avoids issues around time/magnitude
58168        scaling present in previous implementation, and gives better feel to fling animation.
58169
58170        * platform/TouchpadFlingPlatformGestureCurve.cpp:
58171        (WebCore):
58172        (WebCore::TouchpadFlingPlatformGestureCurve::create):
58173        (WebCore::position):
58174        (WebCore::velocity):
58175        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
58176        (WebCore::TouchpadFlingPlatformGestureCurve::apply):
58177        * platform/TouchpadFlingPlatformGestureCurve.h:
58178        (TouchpadFlingPlatformGestureCurve):
58179
581802012-04-02  Zhenyao Mo  <zmo@google.com>
58181
58182        Implement WebGLShaderPrecisionFormat
58183        https://bugs.webkit.org/show_bug.cgi?id=75925
58184
58185        Reviewed by Kenneth Russell.
58186
58187        Test: fast/canvas/webgl/shader-precision-format.html
58188
58189        * CMakeLists.txt: Add new source files webglshaderprecisionformat.h/idl
58190        * DerivedSources.make: Ditto.
58191        * DerivedSources.pri: Ditto.
58192        * GNUmakefile.list.am: Ditto.
58193        * Target.pri: Ditto.
58194        * WebCore.gypi: Ditto.
58195        * WebCore.xcodeproj/project.pbxproj: Ditto.
58196        * html/canvas/WebGLRenderingContext.cpp: Add getShaderPrecisionFormat.
58197        (WebCore):
58198        (WebCore::WebGLRenderingContext::getShaderPrecisionFormat):
58199        * html/canvas/WebGLRenderingContext.h: Ditto.
58200        (WebCore):
58201        (WebGLRenderingContext):
58202        * html/canvas/WebGLRenderingContext.idl: Ditto.
58203        * html/canvas/WebGLShaderPrecisionFormat.h: Added.
58204        (WebCore):
58205        (WebGLShaderPrecisionFormat):
58206        (WebCore::WebGLShaderPrecisionFormat::create):
58207        (WebCore::WebGLShaderPrecisionFormat::rangeMin):
58208        (WebCore::WebGLShaderPrecisionFormat::rangeMax):
58209        (WebCore::WebGLShaderPrecisionFormat::precision):
58210        (WebCore::WebGLShaderPrecisionFormat::WebGLShaderPrecisionFormat):
58211        * html/canvas/WebGLShaderPrecisionFormat.idl: Added.
58212        * page/DOMWindow.idl: Expose new type WebGLShaderPrecisionFormat for instanceof.
58213        * platform/graphics/GraphicsContext3D.h: Add getShaderPrecisionFormat().
58214        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp: Ditto.
58215        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
58216        (WebCore):
58217        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: Ditto.
58218        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
58219        (WebCore):
58220        * platform/graphics/qt/GraphicsContext3DQt.cpp: Ditto.
58221        (WebCore::GraphicsContext3D::getShaderPrecisionFormat):
58222        (WebCore):
58223
582242012-04-03  Zalan Bujtas  <zbujtas@gmail.com>
58225
58226        Frame flattening: Do not restart layout from parent frame, when the parent is clean.
58227        https://bugs.webkit.org/show_bug.cgi?id=81114
58228
58229        Reviewed by Antti Koivisto.
58230
58231        When frame flattening is on, child frames try to mark the ancestors dirty
58232        to be able to restart layout from the main frame. Child frames mark the
58233        anchestors in FrameView::scheduleRelayout(). Marking fails when scheduling is disabled,
58234        for example when the iframe's <head> has blocking resource and the <body> has not
58235        been injected into the document.
58236        When marking ancestor fails, child frame layout needs to continue normally.
58237        It is expected to have layouts, when scheduling is enabled.
58238
58239        Test: http/tests/misc/iframe-flattening-3level-nesting-with-blocking-resource.html
58240
58241        * page/FrameView.cpp:
58242        (WebCore::FrameView::layout):
58243        (WebCore::FrameView::isInChildFrameWithFrameFlattening):
58244        (WebCore):
58245        (WebCore::FrameView::doLayoutWithFrameFlattening):
58246        * page/FrameView.h:
58247        (FrameView):
58248
582492012-04-03  Simon Fraser  <simon.fraser@apple.com>
58250
58251        Avoid virtual method calls in the GraphicsLayer destructor
58252        https://bugs.webkit.org/show_bug.cgi?id=83067
58253
58254        Reviewed by James Robinson.
58255
58256        Code cleanup to avoid calling virtual methods in the GraphicsLayer
58257        destructor. Factor teardown code into a willBeDestroyed() method
58258        that is called from the most dervied class. willBeDestroyed()
58259        calls have to be chained. Fix the various ports' GraphicsLayer
58260        implementations.
58261
58262        * platform/graphics/GraphicsLayer.cpp:
58263        (WebCore::GraphicsLayer::~GraphicsLayer):
58264        (WebCore):
58265        (WebCore::GraphicsLayer::willBeDestroyed):
58266        * platform/graphics/GraphicsLayer.h:
58267        (GraphicsLayer):
58268        * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp:
58269        (WebCore::GraphicsLayerBlackBerry::~GraphicsLayerBlackBerry):
58270        (WebCore):
58271        (WebCore::GraphicsLayerBlackBerry::willBeDestroyed):
58272        * platform/graphics/blackberry/GraphicsLayerBlackBerry.h:
58273        (GraphicsLayerBlackBerry):
58274        * platform/graphics/ca/GraphicsLayerCA.cpp:
58275        (WebCore::GraphicsLayerCA::~GraphicsLayerCA):
58276        (WebCore):
58277        (WebCore::GraphicsLayerCA::willBeDestroyed):
58278        * platform/graphics/ca/GraphicsLayerCA.h:
58279        (GraphicsLayerCA):
58280        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
58281        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
58282        (WebCore):
58283        (WebCore::GraphicsLayerChromium::willBeDestroyed):
58284        * platform/graphics/chromium/GraphicsLayerChromium.h:
58285        (GraphicsLayerChromium):
58286        * platform/graphics/clutter/GraphicsLayerClutter.cpp:
58287        (WebCore::GraphicsLayerClutter::~GraphicsLayerClutter):
58288        * platform/graphics/efl/GraphicsLayerEfl.cpp:
58289        (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
58290        * platform/graphics/qt/GraphicsLayerQt.cpp:
58291        (WebCore::GraphicsLayerQt::~GraphicsLayerQt):
58292        (WebCore):
58293        (WebCore::GraphicsLayerQt::willBeDestroyed):
58294        * platform/graphics/qt/GraphicsLayerQt.h:
58295        (GraphicsLayerQt):
58296
582972012-04-03  Daniel Cheng  <dcheng@chromium.org>
58298
58299        Having a drop handler prevents navigation on drop even if event is not cancelled
58300        https://bugs.webkit.org/show_bug.cgi?id=79172
58301
58302        Reviewed by Ryosuke Niwa.
58303
58304        Only early return if the drop handler prevents the default action.
58305        http://trac.webkit.org/changeset/105396 introduced this issue when fixing some other aspects
58306        of DnD handling.
58307
58308        Test: fast/events/drop-handler-should-not-stop-navigate.html
58309
58310        * page/DragController.cpp:
58311        (WebCore::DragController::performDrag):
58312        (WebCore::DragController::concludeEditDrag): Remove the assert. By definition, we want to
58313            allow default actions to run now if they weren't explicitly canceled.
58314
583152012-04-03  Erik Arvidsson  <arv@chromium.org>
58316
58317        [v8] Fix memory leak in V8LazyEventListener
58318        https://bugs.webkit.org/show_bug.cgi?id=83057
58319
58320        Reviewed by Ojan Vafai.
58321
58322        This also brings the V8 and JSC implementation closer. The timing when we first lookup
58323        the form element is now same in JSC and V8 (but different from Mozilla).
58324
58325        This also clears the strings once the code has been parsed and the function created.
58326
58327        Tests: fast/dom/inline-event-attributes-moved.html
58328               fast/dom/inline-event-attributes-release.html
58329
58330        * bindings/v8/V8LazyEventListener.cpp:
58331        (WebCore::V8LazyEventListener::V8LazyEventListener):
58332        (WebCore::V8LazyEventListener::prepareListenerObject):
58333        * bindings/v8/V8LazyEventListener.h:
58334        (WebCore::V8LazyEventListener::create):
58335        (V8LazyEventListener):
58336
583372012-04-03  Michael Saboff  <msaboff@apple.com>
58338
58339        Frequent crashes in JSC::parse in a worker thread when running regression tests
58340        https://bugs.webkit.org/show_bug.cgi?id=82660
58341
58342        Reviewed by Geoffrey Garen.
58343
58344        Initialize m_script to empty string.  Therefore if there isn't any script payload,
58345        the worker thread will see an empty string, not a null string.
58346
58347        Re-enabling fast/workers/empty-worker-nocrash.html and 
58348        fast/workers/shared-worker-constructor.html tests as part of this patch.
58349
58350        * workers/WorkerScriptLoader.cpp:
58351        (WebCore::WorkerScriptLoader::WorkerScriptLoader):
58352
583532012-04-03  James Robinson  <jamesr@chromium.org>
58354
58355        [chromium] Enable sparkline FPS counter in threaded compositing mode
58356        https://bugs.webkit.org/show_bug.cgi?id=82959
58357
58358        Reviewed by Adrienne Walker.
58359
58360        This enables rendering the FPS counter sparkline when in threaded compositing mode. We don't currently have a
58361        way to draw text from the thread (since we can't interact with WebCore::Font objects from a non-main thread),
58362        but having a sparkline is still useful for judging framerate stability.
58363
58364        There are no tests for the HUD since it's a developer-facing feature and not user-facing.
58365
58366        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
58367        (WebCore::CCHeadsUpDisplay::CCHeadsUpDisplay):
58368        (WebCore):
58369        (WebCore::CCHeadsUpDisplay::~CCHeadsUpDisplay):
58370        (WebCore::CCHeadsUpDisplay::initializeFonts):
58371        (WebCore::CCHeadsUpDisplay::enabled):
58372        (WebCore::CCHeadsUpDisplay::showPlatformLayerTree):
58373        (WebCore::CCHeadsUpDisplay::draw):
58374        (WebCore::CCHeadsUpDisplay::drawHudContents):
58375        (WebCore::CCHeadsUpDisplay::drawFPSCounter):
58376        (WebCore::CCHeadsUpDisplay::drawFPSCounterText):
58377        (WebCore::CCHeadsUpDisplay::drawPlatformLayerTree):
58378        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
58379        (CCHeadsUpDisplay):
58380        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
58381        (WebCore::CCLayerTreeHost::initialize):
58382
583832012-04-02  Robert Hogan  <robert@webkit.org>
58384
58385        CSS 2.1 failure: at-import-009.htm fails
58386        https://bugs.webkit.org/show_bug.cgi?id=82921
58387
58388        Reviewed by Antti Koivisto.
58389
58390        This fixes at-import-009.htm only, the other tests already passed.
58391
58392        Tests: css2.1/20110323/at-import-001.htm
58393               css2.1/20110323/at-import-002.htm
58394               css2.1/20110323/at-import-003.htm
58395               css2.1/20110323/at-import-004.htm
58396               css2.1/20110323/at-import-005.htm
58397               css2.1/20110323/at-import-006.htm
58398               css2.1/20110323/at-import-007.htm
58399               css2.1/20110323/at-import-009.htm
58400               css2.1/20110323/at-import-010.htm
58401               css2.1/20110323/at-import-011.htm
58402
58403        * css/CSSGrammar.y: ignore empty '@media;' and '@charset;' declarations
58404
584052012-04-03  Shawn Singh  <shawnsingh@chromium.org>
58406
58407        [chromium] remove dead function declarations in RenderSurfacechromium
58408        https://bugs.webkit.org/show_bug.cgi?id=82086
58409
58410        Reviewed by James Robinson.
58411
58412        No tests needed, no change in behavior.
58413
58414        * platform/graphics/chromium/RenderSurfaceChromium.h:
58415        (RenderSurfaceChromium):
58416
584172012-04-03  Jia Pu  <jpu@apple.com>
58418
58419        Rename GraphicsContext::drawLineForTextChecking() to GraphicsContext::drawLineForDocumentMarker()
58420        https://bugs.webkit.org/show_bug.cgi?id=82946
58421
58422        Reviewed by Enrica Casucci.
58423
58424        On OS X, we draw similar underline on dictated text that has alternative text. We rename
58425        this function, so that we can reuse it for dictation underline.
58426
58427        No new tests, since there's no change of functionality. 
58428
58429        * platform/graphics/GraphicsContext.h:
58430        * platform/graphics/cairo/GraphicsContextCairo.cpp:
58431        (WebCore::GraphicsContext::drawLineForDocumentMarker):
58432        * platform/graphics/mac/GraphicsContextMac.mm:
58433        (WebCore::GraphicsContext::drawLineForDocumentMarker):
58434        * platform/graphics/openvg/GraphicsContextOpenVG.cpp:
58435        (WebCore::GraphicsContext::drawLineForDocumentMarker):
58436        * platform/graphics/qt/GraphicsContextQt.cpp:
58437        (WebCore::GraphicsContext::drawLineForDocumentMarker):
58438        * platform/graphics/skia/GraphicsContextSkia.cpp:
58439        (WebCore::GraphicsContext::drawLineForDocumentMarker):
58440        * platform/graphics/win/GraphicsContextCGWin.cpp:
58441        (WebCore::GraphicsContext::drawLineForDocumentMarker):
58442        * platform/graphics/wince/GraphicsContextWinCE.cpp:
58443        (WebCore::GraphicsContext::drawLineForDocumentMarker):
58444        * platform/graphics/wx/GraphicsContextWx.cpp:
58445        (WebCore::GraphicsContext::drawLineForDocumentMarker):
58446        * rendering/InlineTextBox.cpp:
58447        (WebCore::lineStyleForMarkerType):
58448        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
58449
584502012-04-03  Jer Noble  <jer.noble@apple.com>
58451
58452        ESC key in full screen does not result in webkitFullScreenChange event.
58453        https://bugs.webkit.org/show_bug.cgi?id=82755
58454        <rdar://problem/11093513>
58455
58456        Reviewed by Eric Carlson.
58457
58458        * WebCore.exp.in: Export the WebCore::Document::webkitCancelFullScreen() symbol.
58459
584602012-04-03  Ryosuke Niwa  <rniwa@webkit.org>
58461
58462        REGRESSION(r80439): Crash in StylePropertySet::borderSpacingValue
58463        https://bugs.webkit.org/show_bug.cgi?id=83000
58464
58465        Reviewed by Andreas Kling.
58466
58467        Fixed the crash by exiting early in StylePropertySet::borderSpacingValue when
58468        the vertical value is set.
58469
58470        Test: fast/css/border-spacing-without-vertical-value.html
58471
58472        * css/StylePropertySet.cpp:
58473        (WebCore::StylePropertySet::borderSpacingValue):
58474
584752012-04-03  Alexis Menard  <alexis.menard@openbossa.org>
58476
58477        Unreviewed ASSERT fix on Chromium bots (in debug).
58478
58479        It appears that http://trac.webkit.org/changeset/113031 caused ASSERT in CSSParser::parseFillProperty.
58480        I added the ASSERT to fix the compilation about values not handled in the switch. I supposed the callers
58481        were only property ids handled in the switch case. It wasn't the case, so I'm restoring the old behavior
58482        while keeping the code to compile (it still need a deeper investigation but let fix the bots quickly).
58483
58484        * css/CSSParser.cpp:
58485        (WebCore::CSSParser::parseFillProperty):
58486
584872012-04-03  Alexis Menard  <alexis.menard@openbossa.org>
58488
58489        [Part 3] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
58490        https://bugs.webkit.org/show_bug.cgi?id=83032
58491
58492        Reviewed by Kentaro Hara.
58493
58494        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
58495        as integers. While it's not incorrect it is nicer to use the enum as a parameter of
58496        functions manipulating property ids, as we ensure that the value passed will be an
58497        existing value. This patch clean up some remaining part of code.
58498
58499        No new tests : There should be no behavior change in this patch.
58500
58501        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
58502        (CSSPropertyInfo):
58503        (WebCore::cssPropertyIDForJSCSSPropertyName):
58504        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
58505        (CSSPropertyInfo):
58506        (WebCore::cssPropertyInfo):
58507        * css/CSSComputedStyleDeclaration.cpp:
58508        (WebCore::getPositionOffsetValue):
58509        (WebCore::counterToCSSValue):
58510        * css/CSSParser.cpp:
58511        (WebCore::CSSParser::parseValidPrimitive):
58512        Remove the parameter's name from the h file as it doesn't follow the style and also because the
58513        name was simply wrong we don't expect a propId here but an indentifier. Make it clear in the
58514        cpp file too.
58515        * css/CSSParser.h:
58516        (CSSParser):
58517        * page/animation/AnimationBase.cpp:
58518        (WebCore::addPropertyWrapper):
58519
585202012-04-03  Andrey Kosyakov  <caseq@chromium.org>
58521
58522        Web Inspector: remove unused references to TimelineCalculator
58523        https://bugs.webkit.org/show_bug.cgi?id=83025
58524
58525        Reviewed by Yury Semikhatsky.
58526
58527        * inspector/front-end/TimelinePanel.js:
58528        (WebInspector.TimelinePanel.prototype._refreshRecords):
58529        (WebInspector.TimelinePanel.prototype._showPopover):
58530        (WebInspector.TimelineRecordListRow.prototype.update):
58531        * inspector/front-end/TimelinePresentationModel.js:
58532        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
58533
585342012-04-03  Mark Pilgrim  <pilgrim@chromium.org>
58535
58536        Call incrementStatsCounter directly
58537        https://bugs.webkit.org/show_bug.cgi?id=83023
58538
58539        Reviewed by Kentaro Hara.
58540
58541        * bindings/v8/V8Proxy.h:
58542        * platform/chromium/PlatformSupport.h:
58543        (PlatformSupport):
58544
585452012-04-03  Sami Kyostila  <skyostil@chromium.org>
58546
58547        [chromium] Canvas2DLayerChromium::updateCompositorResources should flush after copying
58548        https://bugs.webkit.org/show_bug.cgi?id=83013
58549
58550        Reviewed by Stephen White.
58551
58552        We need to flush the GPU command queue after copying the canvas back
58553        buffer into the front buffer. Otherwise the copy might be delayed to a
58554        point where new contents have already been drawn into the back buffer,
58555        leading to flickering.
58556
58557        Added test to Canvas2DLayerChromiumTest.
58558
58559        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
58560        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
58561
585622012-04-03  Alexis Menard  <alexis.menard@openbossa.org>
58563
58564        [Part 2] We should use CSSPropertyID rather than integers when manipulating CSS property ids.
58565        https://bugs.webkit.org/show_bug.cgi?id=82977
58566
58567        Reviewed by Andreas Kling.
58568
58569        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
58570        as integers. While it's not incorrect it is nicer to use the enum as a parameter of
58571        functions manipulating property ids, as we ensure that the value passed will be an
58572        existing value. Almost everything has been changed with the exception of the Animation related
58573        classes which can be done in a following patch.
58574
58575        No new tests : There should be no behavior change in this patch.
58576
58577        * WebCore.exp.in:
58578        * css/CSSComputedStyleDeclaration.cpp:
58579        (WebCore::CSSComputedStyleDeclaration::cssText):
58580        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
58581        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
58582        (WebCore::logUnimplementedPropertyID):
58583        (WebCore::CSSComputedStyleDeclaration::getPropertyValue):
58584        (WebCore::CSSComputedStyleDeclaration::item):
58585        * css/CSSComputedStyleDeclaration.h:
58586        (CSSComputedStyleDeclaration):
58587        * css/CSSGrammar.y:
58588        * css/CSSParser.cpp:
58589        (WebCore::CSSParser::CSSParser):
58590        (WebCore::isColorPropertyID):
58591        (WebCore::parseColorValue):
58592        (WebCore::isSimpleLengthPropertyID):
58593        (WebCore::parseSimpleLengthValue):
58594        (WebCore::isValidKeywordPropertyAndValue):
58595        (WebCore::isKeywordPropertyID):
58596        (WebCore::parseKeywordValue):
58597        (WebCore::CSSParser::parseValue):
58598        (WebCore::CSSParser::addProperty):
58599        (WebCore::CSSParser::parseFillShorthand):
58600        (WebCore::CSSParser::parseShorthand):
58601        (WebCore::CSSParser::parse4Values):
58602        (WebCore::CSSParser::parsePage):
58603        (WebCore::CSSParser::parseSize):
58604        (WebCore::CSSParser::parseQuotes):
58605        (WebCore::CSSParser::parseContent):
58606        (WebCore::CSSParser::parseFillSize):
58607        (WebCore::CSSParser::parseFillProperty):
58608        (WebCore::CSSParser::parseAnimationProperty):
58609        (WebCore::CSSParser::parseGridTrackList):
58610        (WebCore::CSSParser::parseDashboardRegions):
58611        (WebCore::CSSParser::parseClipShape):
58612        (WebCore::CSSParser::parseShadow):
58613        (WebCore::CSSParser::parseReflect):
58614        (WebCore::BorderImageParseContext::commitBorderImageProperty):
58615        (WebCore::CSSParser::parseBorderImage):
58616        (WebCore::CSSParser::parseBorderImageSlice):
58617        (WebCore::CSSParser::parseBorderRadius):
58618        (WebCore::CSSParser::parseCounter):
58619        (WebCore::CSSParser::parseFlowThread):
58620        (WebCore::CSSParser::parseRegionThread):
58621        (WebCore::CSSParser::parseTransformOrigin):
58622        (WebCore::CSSParser::parsePerspectiveOrigin):
58623        * css/CSSParser.h:
58624        (CSSParser):
58625        (WebCore::ShorthandScope::ShorthandScope):
58626        * css/CSSProperty.cpp:
58627        (WebCore::resolveToPhysicalProperty):
58628        (WebCore::CSSProperty::resolveDirectionAwareProperty):
58629        (WebCore::CSSProperty::isInheritedProperty):
58630        * css/CSSProperty.h:
58631        (WebCore::CSSProperty::CSSProperty):
58632        (CSSProperty):
58633        * css/CSSStyleSelector.cpp:
58634        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
58635        * css/CSSStyleSelector.h:
58636        (CSSStyleSelector):
58637        * css/PropertySetCSSStyleDeclaration.cpp:
58638        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
58639        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
58640        * css/SVGCSSComputedStyleDeclaration.cpp:
58641        (WebCore::CSSComputedStyleDeclaration::getSVGPropertyCSSValue):
58642        * css/SVGCSSParser.cpp:
58643        (WebCore::CSSParser::parseSVGValue):
58644        * css/SVGCSSStyleSelector.cpp:
58645        (WebCore::CSSStyleSelector::applySVGProperty):
58646        * css/StylePropertySet.cpp:
58647        (WebCore::StylePropertySet::getPropertyCSSValue):
58648        (WebCore::StylePropertySet::removeShorthandProperty):
58649        (WebCore::StylePropertySet::removeProperty):
58650        (WebCore::StylePropertySet::setProperty):
58651        (WebCore::StylePropertySet::asText):
58652        (WebCore::StylePropertySet::findPropertyWithId):
58653        (WebCore::StylePropertySet::removeEquivalentProperties):
58654        * css/StylePropertySet.h:
58655        (StylePropertySet):
58656        * css/StylePropertyShorthand.cpp:
58657        (WebCore::shorthandForProperty):
58658        * css/StylePropertyShorthand.h:
58659        (WebCore):
58660        * dom/StyledElement.cpp:
58661        (WebCore::StyledElement::setInlineStyleProperty):
58662        (WebCore::StyledElement::removeInlineStyleProperty):
58663        (WebCore::StyledElement::addPropertyToAttributeStyle):
58664        * dom/StyledElement.h:
58665        (StyledElement):
58666        (WebCore::StyledElement::addPropertyToAttributeStyle):
58667        * editing/EditingStyle.cpp:
58668        (HTMLElementEquivalent):
58669        (WebCore::EditingStyle::EditingStyle):
58670        (WebCore::EditingStyle::setProperty):
58671        * editing/EditingStyle.h:
58672        (WebCore::EditingStyle::create):
58673        (EditingStyle):
58674        * editing/Editor.cpp:
58675        (WebCore::Editor::selectionStartHasStyle):
58676        (WebCore::Editor::selectionHasStyle):
58677        * editing/Editor.h:
58678        (Editor):
58679        * editing/EditorCommand.cpp:
58680        (WebCore::executeApplyStyle):
58681        (WebCore::executeToggleStyleInList):
58682        (WebCore::executeToggleStyle):
58683        (WebCore::executeApplyParagraphStyle):
58684        (WebCore::stateStyle):
58685        * editing/markup.cpp:
58686        (WebCore):
58687        (WebCore::propertyMissingOrEqualToNone):
58688        * html/HTMLElement.cpp:
58689        (WebCore::HTMLElement::addHTMLLengthToStyle):
58690        (WebCore::HTMLElement::addHTMLColorToStyle):
58691        * html/HTMLElement.h:
58692        (HTMLElement):
58693        * inspector/InspectorStyleSheet.cpp:
58694        (WebCore::InspectorStyle::styleWithProperties):
58695        * page/animation/AnimationBase.cpp:
58696        (WebCore::addShorthandProperties):
58697        * svg/SVGFontFaceElement.cpp:
58698        (WebCore::cssPropertyIdForSVGAttributeName):
58699        (WebCore::SVGFontFaceElement::parseAttribute):
58700        * svg/SVGStyledElement.cpp:
58701        (WebCore::mapAttributeToCSSProperty):
58702        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
58703        (WebCore::SVGStyledElement::collectStyleForAttribute):
58704        (WebCore::SVGStyledElement::svgAttributeChanged):
58705        (WebCore::SVGStyledElement::getPresentationAttribute):
58706        * svg/SVGStyledElement.h:
58707        (WebCore):
58708        (SVGStyledElement):
58709
587102012-04-03  Levi Weintraub  <leviw@chromium.org>
58711
58712        Revert RenderTheme paint and layout functions to ints
58713        https://bugs.webkit.org/show_bug.cgi?id=82196
58714
58715        Reviewed by Julien Chaffraix.
58716
58717        When dealing with object that are rendered outside of WebCore, we do all necessary pixel snapping
58718        before passing coordinates to the external code. RenderTheme encompasses a set of objects whose
58719        rendering is influenced by the platform. This change reverts the interface between this platform
58720        code and WebCore to be integers.
58721
58722        Some platforms, such as Mac, use sub-pixel units for layout and rendering, but it's still not
58723        desirable to pass sub-pixel values to these API's, because ultimately we'll render these objects
58724        at whole-pixel values to avoid anti-aliasing.
58725
58726        Marking touched overridden virtual functions as OVERRIDE. There are many more to update.
58727
58728        No new tests. No change in behavior.
58729
58730        * platform/graphics/FractionalLayoutRect.h:
58731        (WebCore::FractionalLayoutRect::pixelSnappedLocation): Convenience function.
58732        (WebCore::FractionalLayoutRect::pixelSnappedSize): Ditto.
58733        (FractionalLayoutRect):
58734        * platform/graphics/IntRect.h:
58735        (WebCore::IntRect::pixelSnappedLocation): Temporary mirrors to the functions of the same name on
58736        FractionalLayoutRect.
58737        (WebCore::IntRect::pixelSnappedSize): Ditto.
58738        * rendering/RenderBox.cpp:
58739        (WebCore::RenderBox::paintBoxDecorations): Adding a local pixel snapped paint rect to avoid
58740        repeated pixel snapping.
58741        * rendering/RenderBox.h:
58742        (WebCore::RenderBox::absoluteContentBox): Reverting to integers since this represents on-screen
58743        coordinates
58744        (WebCore::RenderBox::pixelSnappedSize): Convenience method.
58745        * rendering/RenderMediaControls.cpp:
58746        (WebCore::RenderMediaControls::volumeSliderOffsetFromMuteButton): This static function is only called
58747        from RenderTheme platform code. Changing it to operate on pixel snapped values since we don't want
58748        to pipe LayoutUnits through that code.
58749        * rendering/RenderMeter.cpp:
58750        (WebCore::RenderMeter::computeLogicalWidth): Changing to feed pixel snapped values into the platform
58751        code to properly determine the resulting meter size.
58752        (WebCore::RenderMeter::computeLogicalHeight): Ditto.
58753        * rendering/RenderTheme.cpp:
58754        (WebCore::RenderTheme::paint):
58755        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
58756        (WebCore::RenderTheme::adjustRepaintRect):
58757        (WebCore::RenderTheme::meterSizeForBounds):
58758        * rendering/RenderTheme.h:
58759        (RenderTheme):
58760        (WebCore::RenderTheme::paintCapsLockIndicator):
58761        * rendering/RenderThemeChromiumMac.h:
58762        (RenderThemeChromiumMac):
58763        * rendering/RenderThemeChromiumSkia.cpp:
58764        (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
58765        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
58766        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
58767        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
58768        * rendering/RenderThemeChromiumSkia.h:
58769        * rendering/RenderThemeMac.h:
58770        (RenderThemeMac):
58771        * rendering/RenderThemeMac.mm:
58772        (WebCore::RenderThemeMac::adjustRepaintRect):
58773        (WebCore::RenderThemeMac::inflateRect):
58774        (WebCore::RenderThemeMac::convertToPaintingRect):
58775        (WebCore::RenderThemeMac::setControlSize):
58776        (WebCore::RenderThemeMac::paintCapsLockIndicator):
58777        (WebCore::RenderThemeMac::paintMenuList):
58778        (WebCore::RenderThemeMac::meterSizeForBounds):
58779        (WebCore::RenderThemeMac::setPopupButtonCellState):
58780        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
58781        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
58782        * rendering/RenderThemeWin.cpp:
58783        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
58784        * rendering/RenderThemeWin.h:
58785        (RenderThemeWin):
58786
587872012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
58788
58789        Add a Generic WebSocket Server.
58790        https://bugs.webkit.org/show_bug.cgi?id=73093
58791
58792        Reviewed by Simon Hausmann.
58793
58794        Allow SocketStreamHandle for the Qt port to take an existing QTcpSocket in its constructor.
58795
58796        * platform/network/qt/SocketStreamHandle.h:
58797        (WebCore::SocketStreamHandle::create):
58798        (SocketStreamHandle):
58799        * platform/network/qt/SocketStreamHandlePrivate.h:
58800        (SocketStreamHandlePrivate):
58801        * platform/network/qt/SocketStreamHandleQt.cpp:
58802        (WebCore::SocketStreamHandlePrivate::SocketStreamHandlePrivate):
58803        (WebCore):
58804        (WebCore::SocketStreamHandlePrivate::initConnections):
58805        (WebCore::SocketStreamHandlePrivate::close):
58806        (WebCore::SocketStreamHandle::SocketStreamHandle):
58807
588082012-04-01  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
58809
58810        Expose reusable WebSocket code for WebSocketServer.
58811        https://bugs.webkit.org/show_bug.cgi?id=73852
58812
58813        Reviewed by Kent Tamura.
58814
58815        Keep the majority the web socket handshake HTTP request and response logic
58816        inside WebSocketHandshake and expose it through WebSocketFrame to make it
58817        available for the web socket server implementation.
58818
58819        This also re-add the masking code that was removed in r111829 since it is
58820        needed for the server implementation.
58821
58822        * CMakeLists.txt:
58823        * GNUmakefile.list.am:
58824        * Modules/websockets/WebSocketChannel.cpp:
58825        (WebCore):
58826        (WebCore::WebSocketChannel::processFrame): now using WebSocketChannel::parseFrame. Extracted the !frame.masked check.
58827        (WebCore::WebSocketChannel::sendFrame):
58828        * Modules/websockets/WebSocketChannel.h:
58829        (WebSocketChannel):
58830        * Modules/websockets/WebSocketFrame.cpp: Added.
58831        (WebCore):
58832        (WebCore::WebSocketFrame::needsExtendedLengthField):
58833        (WebCore::WebSocketFrame::parseFrame): moved from WebSocketChannel::parseFrame.
58834        (WebCore::appendMaskedFramePayload):
58835        (WebCore::WebSocketFrame::makeFrameData): moved from makeFrameData in WebSocketChannel.cpp.
58836        (WebCore::WebSocketFrame::WebSocketFrame): moved from the header.
58837        * Modules/websockets/WebSocketFrame.h:
58838        (WebSocketFrame):
58839        * Modules/websockets/WebSocketHandshake.cpp:
58840        (WebCore::WebSocketHandshake::getExpectedWebSocketAccept): expose this object-static function.
58841        * Modules/websockets/WebSocketHandshake.h:
58842        * Target.pri:
58843        * WebCore.gypi:
58844        * WebCore.vcproj/WebCore.vcproj:
58845        * WebCore.xcodeproj/project.pbxproj:
58846
588472012-03-29  Joseph Pecoraro  <joepeck@webkit.org> and Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
58848
58849        Add Generic HTTP Request Class. Generalized HTTP Parsing.
58850        https://bugs.webkit.org/show_bug.cgi?id=73092
58851
58852        Reviewed by Simon Hausmann.
58853
58854        A WebSocket server will need to read HTTP Requests before upgrading
58855        to WebSocket framing. This patch creates a cross-platform HTTPRequest
58856        class. Since some of this was already done in WebSocket code:
58857
58858          - the header parsing code was extracted and put into HTTPParsers.cpp
58859          - WebSocketHandshakeRequest subclasses HTTPRequest
58860          - WebSocket code was refactored for these changes
58861
58862        Refactoring is covered by existing http/tests/websocket tests.
58863
58864        * CMakeLists.txt:
58865        * GNUmakefile.list.am:
58866
58867        * Modules/websockets/WebSocketChannel.cpp:
58868        (WebCore::WebSocketChannel::didOpenSocketStream):
58869
58870          Extract the HTTP Header parsing out of WebSocketHandshake and
58871          put it into HTTP Parsers. Now make use of the generic parsing.
58872
58873        * Modules/websockets/WebSocketHandshake.cpp:
58874        (WebCore):
58875        (WebCore::trimInputSample):
58876        (WebCore::WebSocketHandshake::clientHandshakeRequest): switch to RefCounted HandshakeRequest.
58877        (WebCore::WebSocketHandshake::readStatusLine):
58878        (WebCore::WebSocketHandshake::readHTTPHeaders): use generic HTTPParsers parsing.
58879        * Modules/websockets/WebSocketHandshake.h: switch to RefCounted HandshakeRequest.
58880
58881          WebSocketHandshakeRequest is a specialization of an HTTPRequest.
58882          Much of its original code was abstracted into HTTPRequest, and
58883          this is now a subclass with WebSocket key information.
58884
58885        * Modules/websockets/WebSocketHandshakeRequest.cpp:
58886        (WebCore::WebSocketHandshakeRequest::WebSocketHandshakeRequest): initialize now calls super.
58887        * Modules/websockets/WebSocketHandshakeRequest.h:
58888        (WebCore::WebSocketHandshakeRequest::create): switch to being ref counted like HTTPRequest.
58889        (WebSocketHandshakeRequest):
58890
58891        * Target.pri:
58892        * WebCore.gypi:
58893        * WebCore.vcproj/WebCore.vcproj:
58894        * WebCore.xcodeproj/project.pbxproj:
58895
58896          Add generic HTTP Request parsing functions to HTTPParsers.cpp.
58897          Use out parameters to get values after parsing.
58898
58899        * platform/network/HTTPParsers.cpp:
58900        (WebCore):
58901        (WebCore::trimInputSample): taken from WebSocket parsing.
58902        (WebCore::parseHTTPRequestLine): new code, parse a request line.
58903        (WebCore::parseHTTPHeaders): taken from previous WebSocket parsing. Algorithm unchanged.
58904        (WebCore::parseHTTPRequestBody): new code, just copy the date into the provided buffer.
58905        * platform/network/HTTPParsers.h:
58906        (WebCore):
58907
58908          This adds a general HTTPRequest class. Accessors for the
58909          request method, url, httpVersion, headers, and data. You can
58910          create an HTTPRequest using the constructor, or parse one
58911          from a data buffer, such as one read from a socket.
58912
58913        * platform/network/HTTPRequest.cpp: Added.
58914        (WebCore):
58915        (WebCore::HTTPRequest::parseHTTPRequestFromBuffer): create an HTTPRequest by parsing data in a buffer.
58916        (WebCore::HTTPRequest::parseRequestLine): helper to initialize members while parsing.
58917        (WebCore::HTTPRequest::parseHeaders): helper to initialize members while parsing.
58918        (WebCore::HTTPRequest::parseRequestBody): helper to initialize members while parsing.
58919        (WebCore::HTTPRequest::HTTPRequest):
58920        (WebCore::HTTPRequest::~HTTPRequest):
58921        * platform/network/HTTPRequest.h: Added.
58922        (WebCore):
58923        (HTTPRequest):
58924        (WebCore::HTTPRequest::create): create an empty request, or specify details.
58925        (WebCore::HTTPRequest::requestMethod):
58926        (WebCore::HTTPRequest::setRequestMethod):
58927        (WebCore::HTTPRequest::url):
58928        (WebCore::HTTPRequest::setURL):
58929        (WebCore::HTTPRequest::body):
58930        (WebCore::HTTPRequest::headerFields):
58931        (WebCore::HTTPRequest::addHeaderField):
58932
589332012-04-03  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
58934
58935        [Qt] Add a missing inspector front-end image to resources.
58936
58937        Reviewed by Simon Hausmann.
58938
58939        * inspector/front-end/WebKit.qrc:
58940
589412012-04-03  Dominik Röttsches  <dominik.rottsches@linux.intel.com>
58942
58943        Soup HTTP backend does not send Content-Length in certain cases
58944        https://bugs.webkit.org/show_bug.cgi?id=82036
58945
58946        Reviewed by Gustavo Noronha Silva.
58947
58948        Telling soup explicitly when to send content-length header
58949        in POST & PUT cases in order to align with e.g. Chromium and FF.
58950
58951        No new tests, already covered by *methods*.html in
58952        http/tests/xmlhttprequest/.
58953
58954        * platform/network/soup/ResourceHandleSoup.cpp:
58955        (WebCore::startHTTPRequest): Special handling for POST & PUT.
58956
589572012-04-03  Eric Seidel  <eric@webkit.org>
58958
58959        Simplify CSSStyleSelector constructor through the use of a helper function
58960        https://bugs.webkit.org/show_bug.cgi?id=82940
58961
58962        Reviewed by Andreas Kling.
58963
58964        No behavior change, thus no tests.
58965
58966        * css/CSSStyleSelector.cpp:
58967        (WebCore::CSSStyleSelector::CSSStyleSelector):
58968        (WebCore):
58969        (WebCore::CSSStyleSelector::addAuthorRulesAndCollectUserRulesFromSheets):
58970        * css/CSSStyleSelector.h:
58971        (CSSStyleSelector):
58972
589732012-04-03  Yury Semikhatsky  <yurys@chromium.org>
58974
58975        Web Inspector: Database::Database::id field in the protocol should have type integer not string
58976        https://bugs.webkit.org/show_bug.cgi?id=83003
58977
58978        Reviewed by Pavel Feldman.
58979
58980        Changed DOM storage and database identifier type from int to String. This
58981        is aligned with other domains and gives us more flexibility.
58982
58983        * bindings/js/JSInjectedScriptHostCustom.cpp:
58984        (WebCore::JSInjectedScriptHost::databaseId):
58985        (WebCore::JSInjectedScriptHost::storageId):
58986        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
58987        (WebCore::V8InjectedScriptHost::databaseIdCallback):
58988        (WebCore::V8InjectedScriptHost::storageIdCallback):
58989        * inspector/InjectedScriptHost.cpp:
58990        (WebCore::InjectedScriptHost::databaseIdImpl):
58991        (WebCore::InjectedScriptHost::storageIdImpl):
58992        * inspector/InjectedScriptHost.h:
58993        (InjectedScriptHost):
58994        * inspector/InjectedScriptHost.idl:
58995        * inspector/Inspector.json:
58996        * inspector/InspectorDOMStorageAgent.cpp:
58997        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
58998        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
58999        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
59000        (WebCore::InspectorDOMStorageAgent::storageId):
59001        (WebCore::InspectorDOMStorageAgent::getDOMStorageResourceForId):
59002        * inspector/InspectorDOMStorageAgent.h:
59003        (InspectorDOMStorageAgent):
59004        * inspector/InspectorDOMStorageResource.cpp:
59005        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
59006        (WebCore::InspectorDOMStorageResource::bind):
59007        * inspector/InspectorDOMStorageResource.h:
59008        (WebCore::InspectorDOMStorageResource::id):
59009        (InspectorDOMStorageResource):
59010        * inspector/InspectorDatabaseAgent.cpp:
59011        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
59012        (WebCore::InspectorDatabaseAgent::executeSQL):
59013        (WebCore::InspectorDatabaseAgent::databaseId):
59014        (WebCore::InspectorDatabaseAgent::databaseForId):
59015        * inspector/InspectorDatabaseAgent.h:
59016        (InspectorDatabaseAgent):
59017        * inspector/InspectorDatabaseResource.cpp:
59018        (WebCore::InspectorDatabaseResource::InspectorDatabaseResource):
59019        (WebCore::InspectorDatabaseResource::bind):
59020        * inspector/InspectorDatabaseResource.h:
59021        (WebCore::InspectorDatabaseResource::id):
59022        (InspectorDatabaseResource):
59023
590242012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>
59025
59026        Enable animVal support for SVGAnimatedEnumeration
59027        https://bugs.webkit.org/show_bug.cgi?id=82459
59028
59029        Rubber-stamped by Zoltan Herczeg.
59030
59031        Make highestEnumValue() return an unsigned to avoid casting in SVGAnimatedEnumerationPropertyTearOff.
59032        Fixes the last chromium build failure on the debug carnary bots.
59033
59034        * svg/SVGComponentTransferFunctionElement.h:
59035        * svg/SVGFEBlendElement.h:
59036        * svg/SVGFEColorMatrixElement.h:
59037        * svg/SVGFECompositeElement.h:
59038        * svg/SVGFEConvolveMatrixElement.h:
59039        * svg/SVGFEDisplacementMapElement.h:
59040        * svg/SVGFEMorphologyElement.h:
59041        * svg/SVGFETurbulenceElement.h:
59042        * svg/SVGGradientElement.h:
59043        * svg/SVGMarkerElement.h:
59044        * svg/SVGTextContentElement.h:
59045        * svg/SVGTextPathElement.h:
59046        * svg/SVGUnitTypes.h:
59047        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
59048        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
59049
590502012-04-01  Nikolas Zimmermann  <nzimmermann@rim.com>
59051
59052        Animate animatedPoints instead of points for SVGPoly*Elements
59053        https://bugs.webkit.org/show_bug.cgi?id=82844
59054
59055        Reviewed by Dirk Schulze.
59056
59057        When the points attribute of a SVGPoly*Element is animated, we should animate
59058        the 'animatedPoints' SVG DOM property, not the 'points' property, which corresponds
59059        to the "baseVal". Fix that, now only the 'd' attribute for SVGPathElement is incorrect,
59060        everything else is moved to the new animVal concept!
59061
59062        * svg/SVGAnimatedPointList.cpp:
59063        (WebCore::SVGAnimatedPointListAnimator::startAnimValAnimation):
59064        (WebCore::SVGAnimatedPointListAnimator::stopAnimValAnimation):
59065        (WebCore::SVGAnimatedPointListAnimator::resetAnimValToBaseVal):
59066        (WebCore::SVGAnimatedPointListAnimator::animValWillChange):
59067        (WebCore::SVGAnimatedPointListAnimator::animValDidChange):
59068        * svg/SVGAnimatedPointList.h:
59069        (SVGAnimatedPointListAnimator):
59070        * svg/SVGAnimatedType.cpp:
59071        (WebCore::SVGAnimatedType::valueAsString):
59072        (WebCore::SVGAnimatedType::setValueAsString):
59073        (WebCore::SVGAnimatedType::supportsAnimVal):
59074        * svg/SVGPolyElement.cpp:
59075        (WebCore::SVGPolyElement::parseAttribute):
59076        (WebCore::SVGPolyElement::lookupOrCreatePointsWrapper):
59077        (WebCore::SVGPolyElement::points):
59078        (WebCore::SVGPolyElement::animatedPoints):
59079
590802012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>
59081
59082        Not reviewed. Next chromium build fix, this time for real :-)
59083
59084        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
59085        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal): Cast highestEnumValue to unsigned.
59086
590872012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>
59088
59089        Not reviewed. Attempt to fix chromium build.
59090
59091        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h: Unsigned is always >= 0 - only check if its 0 here.
59092        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
59093
590942012-04-03  Alexander Pavlov  <apavlov@chromium.org>
59095
59096        Unreviewed, rolling out r112954 and r112969.
59097        http://trac.webkit.org/changeset/112954
59098        http://trac.webkit.org/changeset/112969
59099        https://bugs.webkit.org/show_bug.cgi?id=79172
59100
59101        Hits "ASSERTION FAILED: !m_isHandlingDrag" in DnD-related
59102        tests on Debug bots
59103
59104        * page/DragController.cpp:
59105        (WebCore::DragController::performDrag):
59106
591072012-04-03  Nikolas Zimmermann  <nzimmermann@rim.com>
59108
59109        Enable animVal support for SVGAnimatedEnumeration
59110        https://bugs.webkit.org/show_bug.cgi?id=82459
59111
59112        Reviewed by Dirk Schulze.
59113
59114        Enable animVal support for the last missing SVG DOM primitive: SVGAnimatedEnumeration.
59115        It's a bit more involved than the others as we have to differentiate between the various
59116        enumerations to use the correct SVGPropertyTraits<MyEnum>::fromString() code-path.
59117
59118        One SVGAnimatedEnumeration property in the SVG DOM is special: SVGAnimatedEnumeration orientType
59119        from SVGMarkerElement. SVGMarkerElement exposes both the orientType and SVGAnimatedAngle orientAngle
59120        SVG DOM properties and both get mapped to the same SVGNames::orientAttr ("orient" XML attribute).
59121        That means that any animation of the orientAttr has to update both orientType & orientAngle.
59122
59123        This is a not a new requirement, we already support attributes like 'stdDeviation' from
59124        SVGFEGaussianBlurElement, which get mapped to multiple SVG DOM objects: SVGAnimatedInteger stdDeviationX/Y.
59125        The difference is that <integer-optional-integer> or <number-optional-number> animations use the
59126        same type in the pair<xxx, xxx> (eg. both int, or both float). The 'orient' attribute needs to be
59127        mapped to pair<xxx, yyy> types. Generalize the templates in SVGAnimatedTypeAnimator to support that.
59128
59129        Example:
59130        <marker id="someMarkerElement" orient="45deg"/>
59131        <animate fill="remove" begin="1s" dur="2s" from="90deg" to="auto" attributeName="orient" xlink:href="#someMarkerElement"/>
59132
59133        at 0s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
59134               someMarkerElement.orientAngle.animVal.value = 45
59135
59136               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
59137               someMarkerElement.orientAngle.baseVal.value = 45
59138
59139        at 1s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
59140               someMarkerElement.orientAngle.animVal.value = 90
59141
59142               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
59143               someMarkerElement.orientAngle.baseVal.value = 45
59144
59145        at 2s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
59146               someMarkerElement.orientAngle.animVal.value = 0
59147
59148               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
59149               someMarkerElement.orientAngle.baseVal.value = 45
59150
59151         > 3s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
59152               someMarkerElement.orientAngle.animVal.value = 45
59153
59154               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
59155               someMarkerElement.orientAngle.baseVal.value = 45
59156
59157        We need to map the 'orient' attribute to a pair<SVGAngle, unsigned short> type, in order
59158        to track both orientAngle & orientType at the same type. Fortunately SVGAnimatedAngle
59159        is only used in the SVG DOM for SVGMarkerElements orientAngle property. We can directly
59160        switch SVGAnimatedAngleAnimator to the new pair<SVGAngle, unsigned short> type instead
59161        of having to introduce a special SVGAnimatedAngleAndEnumerationAnimator.
59162
59163        Added tests for all SVGAnimatedEnumeration properties in the SVG DOM, including an extensive set of tests
59164        for the synchronization of the orientType / orientAngle properties, when they get animated.
59165
59166        Tests: svg/animations/animate-marker-orient-from-angle-to-angle.html
59167               svg/animations/animate-marker-orient-from-angle-to-auto.html
59168               svg/animations/animate-marker-orient-to-angle.html
59169               svg/animations/svgenum-animation-1.html
59170               svg/animations/svgenum-animation-10.html
59171               svg/animations/svgenum-animation-11.html
59172               svg/animations/svgenum-animation-12.html
59173               svg/animations/svgenum-animation-13.html
59174               svg/animations/svgenum-animation-2.html
59175               svg/animations/svgenum-animation-3.html
59176               svg/animations/svgenum-animation-4.html
59177               svg/animations/svgenum-animation-5.html
59178               svg/animations/svgenum-animation-6.html
59179               svg/animations/svgenum-animation-7.html
59180               svg/animations/svgenum-animation-8.html
59181               svg/animations/svgenum-animation-9.html
59182
59183        * CMakeLists.txt:
59184        * GNUmakefile.list.am:
59185        * Target.pri:
59186        * WebCore.gypi:
59187        * WebCore.xcodeproj/project.pbxproj:
59188        * svg/SVGAllInOne.cpp:
59189        * svg/SVGAnimateElement.cpp:
59190        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
59191        (WebCore::SVGAnimateElement::calculateAnimatedValue):
59192        (WebCore::propertyTypesAreConsistent):
59193        (WebCore::SVGAnimateElement::applyResultsToTarget):
59194        * svg/SVGAnimatedAngle.cpp:
59195        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
59196        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
59197        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
59198        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
59199        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
59200        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
59201        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
59202        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
59203        * svg/SVGAnimatedAngle.h:
59204        (WebCore):
59205        * svg/SVGAnimatedBoolean.cpp:
59206        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
59207        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
59208        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
59209        * svg/SVGAnimatedEnumeration.cpp: Added.
59210        (WebCore):
59211        (WebCore::enumerationValueForTargetAttribute):
59212        (WebCore::SVGAnimatedEnumerationAnimator::SVGAnimatedEnumerationAnimator):
59213        (WebCore::SVGAnimatedEnumerationAnimator::constructFromString):
59214        (WebCore::SVGAnimatedEnumerationAnimator::startAnimValAnimation):
59215        (WebCore::SVGAnimatedEnumerationAnimator::stopAnimValAnimation):
59216        (WebCore::SVGAnimatedEnumerationAnimator::resetAnimValToBaseVal):
59217        (WebCore::SVGAnimatedEnumerationAnimator::animValWillChange):
59218        (WebCore::SVGAnimatedEnumerationAnimator::animValDidChange):
59219        (WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndToValues):
59220        (WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndByValues):
59221        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
59222        (WebCore::SVGAnimatedEnumerationAnimator::calculateDistance):
59223        * svg/SVGAnimatedEnumeration.h:
59224        (SVGAnimatedEnumerationAnimator):
59225        (WebCore::SVGAnimatedEnumerationAnimator::~SVGAnimatedEnumerationAnimator):
59226        (WebCore):
59227        * svg/SVGAnimatedInteger.cpp:
59228        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
59229        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
59230        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
59231        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
59232        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
59233        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
59234        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
59235        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
59236        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
59237        * svg/SVGAnimatedLength.cpp:
59238        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
59239        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
59240        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
59241        * svg/SVGAnimatedLengthList.cpp:
59242        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
59243        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
59244        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
59245        * svg/SVGAnimatedNumber.cpp:
59246        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
59247        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
59248        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
59249        * svg/SVGAnimatedNumberList.cpp:
59250        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
59251        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
59252        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
59253        * svg/SVGAnimatedNumberOptionalNumber.cpp:
59254        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
59255        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
59256        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
59257        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
59258        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
59259        * svg/SVGAnimatedPreserveAspectRatio.cpp:
59260        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
59261        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
59262        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
59263        * svg/SVGAnimatedRect.cpp:
59264        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
59265        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
59266        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
59267        * svg/SVGAnimatedString.cpp:
59268        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
59269        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
59270        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
59271        * svg/SVGAnimatedTransformList.cpp:
59272        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
59273        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
59274        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
59275        * svg/SVGAnimatedType.cpp:
59276        (WebCore::SVGAnimatedType::~SVGAnimatedType):
59277        (WebCore::SVGAnimatedType::createAngleAndEnumeration):
59278        (WebCore::SVGAnimatedType::createEnumeration):
59279        (WebCore):
59280        (WebCore::SVGAnimatedType::angleAndEnumeration):
59281        (WebCore::SVGAnimatedType::enumeration):
59282        (WebCore::SVGAnimatedType::valueAsString):
59283        (WebCore::SVGAnimatedType::setValueAsString):
59284        (WebCore::SVGAnimatedType::supportsAnimVal):
59285        * svg/SVGAnimatedType.h:
59286        (SVGAnimatedType):
59287        * svg/SVGAnimatedTypeAnimator.h:
59288        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
59289        (SVGAnimatedTypeAnimator):
59290        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
59291        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
59292        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
59293        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
59294        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
59295        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
59296        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
59297        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForTypes):
59298        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForTypes):
59299        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForTypes):
59300        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
59301        (WebCore::SVGAnimatedTypeAnimator::executeAction):
59302        * svg/SVGAnimatorFactory.h:
59303        (WebCore::SVGAnimatorFactory::create):
59304        * svg/SVGMarkerElement.cpp:
59305        (WebCore):
59306        * svg/properties/SVGAnimatedListPropertyTearOff.h:
59307        (SVGAnimatedListPropertyTearOff):
59308        * svg/properties/SVGAnimatedPropertyTearOff.h:
59309        (SVGAnimatedPropertyTearOff):
59310        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
59311        (SVGAnimatedStaticPropertyTearOff):
59312
593132012-04-03  Sheriff Bot  <webkit.review.bot@gmail.com>
59314
59315        Unreviewed, rolling out r112987 and r112993.
59316        http://trac.webkit.org/changeset/112987
59317        http://trac.webkit.org/changeset/112993
59318        https://bugs.webkit.org/show_bug.cgi?id=83010
59319
59320        hits ASSERTs in Debug builds (Requested by philn-tp on
59321        #webkit).
59322
59323        * dom/Document.cpp:
59324        (WebCore::Document::Document):
59325        (WebCore::Document::initSecurityContext):
59326        * dom/Document.h:
59327        (Document):
59328        * html/HTMLAttributeNames.in:
59329        * html/HTMLFrameElementBase.cpp:
59330        (WebCore::HTMLFrameElementBase::parseAttribute):
59331        (WebCore::HTMLFrameElementBase::location):
59332        * html/HTMLIFrameElement.idl:
59333        * html/parser/HTMLTreeBuilder.cpp:
59334        (WebCore::HTMLTreeBuilder::defaultForInitial):
59335        * loader/FrameLoader.cpp:
59336        (WebCore::FrameLoader::urlSelected):
59337        (WebCore::FrameLoader::submitForm):
59338        (WebCore::FrameLoader::outgoingReferrer):
59339        (WebCore::FrameLoader::loadFrameRequest):
59340        (WebCore::FrameLoader::load):
59341        (WebCore::FrameLoader::loadWithNavigationAction):
59342        (WebCore::FrameLoader::reloadWithOverrideEncoding):
59343        (WebCore::FrameLoader::reload):
59344        (WebCore::FrameLoader::loadResourceSynchronously):
59345        * loader/FrameLoader.h:
59346        (FrameLoader):
59347
593482012-04-03  Bill Budge  <bbudge@chromium.org>
59349
59350        REGRESSION (r112217): H&R Block tax site won't load
59351        https://bugs.webkit.org/show_bug.cgi?id=82964
59352
59353        Modifies the redirect checking code to first check if the security origin can
59354        request the redirect URL before invoking the CORS check.
59355
59356        Reviewed by Adam Barth.
59357
59358        http/tests/xmlhttprequest/access-control-and-redirects-async.html
59359
59360        * loader/DocumentThreadableLoader.cpp:
59361        * loader/DocumentThreadableLoader.h:
59362
593632012-04-03  Sheriff Bot  <webkit.review.bot@gmail.com>
59364
59365        Unreviewed, rolling out r112994.
59366        http://trac.webkit.org/changeset/112994
59367        https://bugs.webkit.org/show_bug.cgi?id=83008
59368
59369        This patch has to wait until v8 roll. (Requested by loislo on
59370        #webkit).
59371
59372        * bindings/js/ScriptHeapSnapshot.h:
59373        * bindings/v8/ScriptHeapSnapshot.cpp:
59374        (WebCore):
59375        * bindings/v8/ScriptHeapSnapshot.h:
59376        (WebCore):
59377        (ScriptHeapSnapshot):
59378        * inspector/InspectorProfilerAgent.cpp:
59379        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
59380        * inspector/front-end/DetailedHeapshotView.js:
59381        (WebInspector.HeapSnapshotConstructorsDataGrid):
59382        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.setDataSource):
59383        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
59384        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.firstSnapshotLoaded):
59385        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged.secondSnapshotLoaded):
59386        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
59387        (WebInspector.DetailedHeapshotView.prototype._changeFilter):
59388        * inspector/front-end/HeapSnapshot.js:
59389        (WebInspector.HeapSnapshot.prototype.get maxNodeId):
59390        (WebInspector.HeapSnapshot.prototype.updateStaticData):
59391        * inspector/front-end/HeapSnapshotProxy.js:
59392        (WebInspector.HeapSnapshotProxy.prototype.get maxNodeId):
59393
593942012-03-28  Ilya Tikhonovsky  <loislo@chromium.org>
59395
59396        Web Inspector: use maxJSObjectId that is provided by back-end.
59397        https://bugs.webkit.org/show_bug.cgi?id=82451
59398
59399        Summary view can filter objects in snapshot. It uses maxJSObjectId for this.
59400        There was no such field in the profile header at the
59401        moment but I've landed a patch in downstream.
59402
59403        Reviewed by Yury Semikhatsky.
59404
59405        * bindings/v8/ScriptHeapSnapshot.cpp:
59406        (WebCore::ScriptHeapSnapshot::maxSnapshotJSObjectId):
59407        (WebCore):
59408        * bindings/v8/ScriptHeapSnapshot.h:
59409        (WebCore):
59410        (ScriptHeapSnapshot):
59411        * inspector/InspectorProfilerAgent.cpp:
59412        (WebCore::InspectorProfilerAgent::createSnapshotHeader):
59413        * inspector/front-end/DetailedHeapshotView.js:
59414        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._filterSelectIndexChanged):
59415        (WebInspector.DetailedHeapshotView.prototype._changeFilter):
59416        * inspector/front-end/HeapSnapshot.js:
59417        (WebInspector.HeapSnapshot.prototype.updateStaticData):
59418        * inspector/front-end/HeapSnapshotProxy.js:
59419
594202012-04-02  Pavel Feldman  <pfeldman@chromium.org>
59421
59422        Web Inspector: "Pause on start" doesn't change checked state in workers panel
59423        https://bugs.webkit.org/show_bug.cgi?id=82908
59424
59425        Reviewed by Yury Semikhatsky.
59426
59427        This change partially reverts logic that was introduced with r111551:
59428        preventDefault was called beside each stopPropagation. As a result, default checkbox handler was not working.
59429        Event.prototype.consume now receives preventDefault parameter that controls whether default action
59430        should be prevented.
59431
59432        * inspector/front-end/AdvancedSearchController.js:
59433        (WebInspector.SearchView.prototype._onKeyDown):
59434        * inspector/front-end/CSSSelectorProfileView.js:
59435        * inspector/front-end/ConsoleView.js:
59436        (WebInspector.ConsoleView.prototype._enterKeyPressed):
59437        (WebInspector.ConsoleGroup.prototype._titleClicked):
59438        * inspector/front-end/DataGrid.js:
59439        (WebInspector.DataGrid.prototype._keyDown):
59440        * inspector/front-end/DatabaseQueryView.js:
59441        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
59442        * inspector/front-end/DetailedHeapshotView.js:
59443        (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
59444        (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
59445        * inspector/front-end/Dialog.js:
59446        (WebInspector.Dialog.prototype._onKeyDown):
59447        * inspector/front-end/Drawer.js:
59448        (WebInspector.Drawer.prototype._statusBarDragging):
59449        * inspector/front-end/Object.js:
59450        (WebInspector.Event.prototype.consume):
59451        * inspector/front-end/ObjectPropertiesSection.js:
59452        (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
59453        * inspector/front-end/ProfileView.js:
59454        * inspector/front-end/SearchController.js:
59455        (WebInspector.SearchController.prototype._onKeyDown):
59456        * inspector/front-end/SoftContextMenu.js:
59457        (.WebInspector.SoftContextMenu.prototype.show):
59458        (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
59459        (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
59460        (.WebInspector.SoftContextMenu.prototype._discardMenu):
59461        * inspector/front-end/Spectrum.js:
59462        (WebInspector.Spectrum.draggable.consume):
59463        (WebInspector.Spectrum.prototype._onKeyDown):
59464        * inspector/front-end/StylesSidebarPane.js:
59465        (WebInspector.StylesSidebarPane.muteEventListener):
59466        (WebInspector.StylesSidebarPane):
59467        (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
59468        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
59469        (WebInspector.StylePropertyTreeElement.prototype):
59470        * inspector/front-end/TextPrompt.js:
59471        (WebInspector.TextPrompt.prototype.onKeyDown):
59472        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
59473        (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
59474        * inspector/front-end/TextViewer.js:
59475        (WebInspector.TextViewer.prototype._handleKeyDown):
59476        * inspector/front-end/UIUtils.js:
59477        (WebInspector.startEditing):
59478        * inspector/front-end/inspector.js:
59479        (WebInspector.documentKeyDown):
59480        * inspector/front-end/treeoutline.js:
59481        (TreeOutline.prototype._treeKeyPress):
59482        (TreeOutline.prototype._treeKeyDown):
59483        (TreeOutline.prototype._searchInputKeyDown):
59484        (TreeElement.prototype.selectOnMouseDown):
59485        * inspector/front-end/utilities.js:
59486        (Event.prototype.consume):
59487
594882012-04-02  Chris Fleizach  <cfleizach@apple.com>
59489
59490        AX: search field on Google.com does not have the AXSearchField subrole
59491        https://bugs.webkit.org/show_bug.cgi?id=82819
59492
59493        Reviewed by Darin Adler.
59494
59495        Detect search fields when possible for accessibility.
59496
59497        Test: platform/mac/accessibility/search-subrole.html
59498
59499        * accessibility/AccessibilityObject.h:
59500        (WebCore::AccessibilityObject::isSearchField):
59501        * accessibility/AccessibilityRenderObject.cpp:
59502        (WebCore::AccessibilityRenderObject::isSearchField):
59503        (WebCore):
59504        * accessibility/AccessibilityRenderObject.h:
59505        (AccessibilityRenderObject):
59506        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
59507        (-[WebAccessibilityObjectWrapper subrole]):
59508
595092012-04-02  Kent Tamura  <tkent@chromium.org>
59510
59511        Introduce another file-to-array script
59512        https://bugs.webkit.org/show_bug.cgi?id=83001
59513
59514        Reviewed by Kentaro Hara.
59515
59516        make-file-arrays.py is a script to convert a binary file to a C++
59517        char array. The differences from css/make-css-file-arrays.pl and
59518        inspector/xxd.pl are:
59519
59520        - No whitespace stripping for CSS files
59521        - We can make conditional arrays.
59522        e.g. An array enclosed with #if ENABLE(...) - #endif.
59523
59524        This script will be used to implement a calendar picker for <input
59525        type=date>.
59526
59527        * make-file-arrays.py: Added.
59528
595292012-04-02  Adam Barth  <abarth@webkit.org>
59530
59531        Implement <iframe srcdoc>
59532        https://bugs.webkit.org/show_bug.cgi?id=82991
59533
59534        Reviewed by Sam Weinig.
59535
59536        This patch implements the <iframe srcdoc> feature. This feature allows
59537        authors to easily supply the contents of an iframe without needing to
59538        round-trip to the server. Using srcdoc is more convenient than using
59539        data URLs because we set a bunch of properties of the child document
59540        sensibly. For example, the child inherits the base URL of the parent
59541        and the child uses standards mode by default.
59542
59543        This feature is specified in
59544        <http://www.whatwg.org/specs/web-apps/current-work/#attr-iframe-srcdoc>.
59545        Although the feature has been in the spec for a while, I'm not aware of
59546        any other implementations in major browsers. The srcdoc feature works
59547        especially well with the sandbox and seamless attributes. We already
59548        implement sandbox and will likely implement seamless soon.
59549
59550        The srcdoc feature was announced on the webkit-dev mailing list on March 30:
59551        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020161.html
59552
59553        This patch approaches the implementation using SubstituteData, which is
59554        a mechanism previously used for error messages and the like. Using
59555        SubstituteData has the advantage of not needing to modify the loading
59556        or history pipelines at all, making the integration of srcdoc with the
59557        rest of WebCore quite smooth.
59558
59559        This patch encodes the contents of the srcdoc attribute to and from
59560        UTF-8 when round-tripping the contents through the loader. In a future
59561        patch, I plan to experiment with whether using UTF-16 (or perhaps
59562        another encoding) can improve performance. There might also be a way to
59563        avoid the memcpy entirely, but these optimizations are best left to
59564        followup patches as this patch focuses on the observable behavior of
59565        the feature.
59566
59567        Tests: fast/frames/srcdoc/reloading-a-srcdoc-document-loads-it-again.html
59568               fast/frames/srcdoc/setting-src-does-nothing.html
59569               fast/frames/srcdoc/setting-srcdoc-reloads-document.html
59570               fast/frames/srcdoc/srcdoc-beats-src-dom.html
59571               fast/frames/srcdoc/srcdoc-beats-src.html
59572               fast/frames/srcdoc/srcdoc-can-be-in-qurks-mode.html
59573               fast/frames/srcdoc/srcdoc-can-navigate.html
59574               fast/frames/srcdoc/srcdoc-defaults-to-standards-mode.html
59575               fast/frames/srcdoc/srcdoc-loads-content.html
59576               fast/frames/srcdoc/srcdoc-urls.html
59577               http/tests/security/srcdoc-can-access-parent.html
59578               http/tests/security/srcdoc-in-sandbox-cannot-access-parent.html
59579               http/tests/security/srcdoc-inherits-referrer-for-forms.html
59580               http/tests/security/srcdoc-inherits-referrer.html
59581
59582        * dom/Document.cpp:
59583        (WebCore::Document::Document):
59584        (WebCore::Document::initSecurityContext):
59585            - srcdoc documents need to inherit their security contexts from
59586              their parents. We pick this initialization point to inherit the
59587              base URL and to set the "srcdoc Document" bit so that everything
59588              gets initialized atomically and from precisely the same owner
59589              frame.
59590        * dom/Document.h:
59591        (Document):
59592        (WebCore::Document::isSrcdocDocument):
59593            - This bit of state is present in the HTML5 spec and is referred to
59594              by a number of different requirements in the spec.
59595        * html/HTMLAttributeNames.in:
59596        * html/HTMLFrameElementBase.cpp:
59597        (WebCore::HTMLFrameElementBase::parseAttribute):
59598        (WebCore::HTMLFrameElementBase::location):
59599            - These functions implement the requirement that the srcdoc
59600              attribute takes precedence over the src attribute and triggers a
59601              load of a document with the URL about:srcdoc.
59602        * html/HTMLIFrameElement.idl:
59603            - Expose the srcdoc property as a reflection of the DOM attribute.
59604        * html/parser/HTMLTreeBuilder.cpp:
59605        (WebCore::HTMLTreeBuilder::defaultForInitial):
59606            - This tweak allows srcdoc documents to use standards mode by
59607              default, saving authors from having to include a doctype in each
59608              srcdoc document.
59609        * loader/FrameLoader.cpp:
59610        (WebCore::FrameLoader::defaultSubstituteDataForURL):
59611            - This function transfers the contents of the srcdoc attribute into
59612              the loading pipeline. If the client supplies other
59613              SubstituteData, that takes precendence over our "default"
59614              SubstituteData.
59615        (WebCore::FrameLoader::outgoingReferrer):
59616            - This function implements the requirement from the HTML5 spec that
59617              srcdoc documents inherit their referrer from their parent
59618              document. A recursive implementation might have been more
59619              aesthetic but the iterative implementation seemed like a better
59620              choice.
59621        (WebCore::FrameLoader::shouldTreatURLAsSrcdocDocument):
59622            - An about:srcdoc URL only has special meaning when loaded in an
59623              iframe with a srcdoc attribute. Otherwise, it's just a normal
59624              "about" URL, meaning a blank page.
59625        (WebCore::FrameLoader::urlSelected):
59626        (WebCore::FrameLoader::submitForm):
59627        (WebCore::FrameLoader::loadFrameRequest):
59628        (WebCore::FrameLoader::load):
59629        (WebCore::FrameLoader::loadWithNavigationAction):
59630        (WebCore::FrameLoader::reloadWithOverrideEncoding):
59631        (WebCore::FrameLoader::reload):
59632        (WebCore::FrameLoader::loadResourceSynchronously):
59633            - Update these call sites to call defaultSubstituteDataForURL and
59634              outgoingReferrer consistently.
59635        * loader/FrameLoader.h:
59636        (FrameLoader):
59637
596382012-04-02  Dana Jansens  <danakj@chromium.org>
59639
59640        [chromium] Remove SkCanvas::LayerIter use from OpaqueRegionSkia
59641        https://bugs.webkit.org/show_bug.cgi?id=82564
59642
59643        Reviewed by Stephen White.
59644
59645        Per-tile-painting uses an SkPictureRecord in place of an SkCanvas
59646        as the painting target for the GraphicsContext. This class only does
59647        a simple recording and does not create layers in the canvas during
59648        record, only playback. This is preventing us from correctly tracking
59649        opaque regions under per-tile-painting.
59650
59651        We currently use the SkCanvas LayerIter to look at the layers in the
59652        canvas backing the GraphicsContext, and check the SkPaints, clips,
59653        and transforms to see how they impact the current draw once it reaches
59654        the final device.
59655
59656        The clips and transforms can be retreived without using the LayerIter
59657        through the "getTotal*" methods. A cumulative SkPaint is not available
59658        so we store this ourselves.
59659
59660        PlatformContextSkia becomes aware of when saveLayer() is being called
59661        on the underlying canvas, and passes this information to the
59662        OpaqueRegionSkia class. Since we no longer watch layers in the canvas,
59663        we must explicitly handle image clipping for the opaque tracker, as
59664        it is implemented in the PlatformContextSkia, not via constructs in
59665        the SkCanvas/SkPaint. We save the opaque area of the image mask for
59666        the canvas layer in the stack along with the SkPaint for the layer.
59667
59668        Unit test: PlatformContextSkiaTest.PreserveOpaqueOnlyMattersForFirstLayer
59669
59670        * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp:
59671        (WebCore::FEGaussianBlur::platformApplySkia):
59672        * platform/graphics/filters/skia/FEMorphologySkia.cpp:
59673        (WebCore::FEMorphology::platformApplySkia):
59674        * platform/graphics/skia/GraphicsContextSkia.cpp:
59675        (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
59676        (WebCore::GraphicsContext::endPlatformTransparencyLayer):
59677        * platform/graphics/skia/OpaqueRegionSkia.cpp:
59678        (WebCore::OpaqueRegionSkia::pushCanvasLayer):
59679        (WebCore):
59680        (WebCore::OpaqueRegionSkia::popCanvasLayer):
59681        (WebCore::OpaqueRegionSkia::setImageMask):
59682        (WebCore::OpaqueRegionSkia::didDrawRect):
59683        (WebCore::OpaqueRegionSkia::didDrawPath):
59684        (WebCore::OpaqueRegionSkia::didDrawPoints):
59685        (WebCore::OpaqueRegionSkia::didDrawBounded):
59686        (WebCore::OpaqueRegionSkia::didDraw):
59687        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
59688        * platform/graphics/skia/OpaqueRegionSkia.h:
59689        (OpaqueRegionSkia):
59690        (WebCore::OpaqueRegionSkia::CanvasLayerState::CanvasLayerState):
59691        (CanvasLayerState):
59692        * platform/graphics/skia/PlatformContextSkia.cpp:
59693        (WebCore::PlatformContextSkia::saveLayer):
59694        (WebCore):
59695        (WebCore::PlatformContextSkia::restoreLayer):
59696        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
59697        * platform/graphics/skia/PlatformContextSkia.h:
59698        (PlatformContextSkia):
59699
597002012-04-02  Shinya Kawanaka  <shinyak@chromium.org>
59701
59702        Remove TreeScope::isShadowRoot.
59703        https://bugs.webkit.org/show_bug.cgi?id=82879
59704
59705        Reviewed by Dimitri Glazkov.
59706
59707        This patch removes TreeScope::isShadowRoot(). To make code fast, TreeScope::isShadowRoot
59708        is implemented in ShadowRoot.h. So when using TreeScope::isShadowRoot(), ShadowRoot.h is
59709        always required. In some case,  this might bring unnecessary dependency.
59710
59711        Since TreeScope::rootNode() is inlined, the overall performance won't change.
59712
59713        No new tests, simple refactoring.
59714
59715        * dom/ShadowRoot.h:
59716        * dom/TreeScope.h:
59717        * html/shadow/HTMLShadowElement.cpp:
59718        (WebCore::HTMLShadowElement::doesSelectFromHostChildren):
59719        * html/shadow/InsertionPoint.cpp:
59720        (WebCore::InsertionPoint::attach):
59721        (WebCore::InsertionPoint::assignedFrom):
59722        (WebCore::InsertionPoint::isShadowBoundary):
59723
597242012-04-02  Emil A Eklund  <eae@chromium.org>
59725
59726        Fix usage of LayoutUnits and pixel snapping in RenderLayer
59727        https://bugs.webkit.org/show_bug.cgi?id=82498
59728
59729        Reviewed by Julien Chaffraix.
59730
59731        Fix usage of subpixel types and snapping/rounding in RenderLayer in
59732        preparation for turning on subpixel layout.
59733
59734        No new tests, no change in functionality.
59735
59736        * rendering/LayoutTypes.h:
59737        (WebCore::pixelSnappedIntSize):
59738        Add no-op implementation of pixelSnappedIntSize, will be replaced with a
59739        real implementation once we make the switch.
59740        
59741        * rendering/RenderLayer.cpp:
59742        (WebCore::RenderLayer::updateLayerPosition):
59743        Snap RenderBox size when updating the size of the layer.
59744        
59745        (WebCore::RenderLayer::resize):
59746        Round position when setting the inline style during resize operation.
59747
59748        (WebCore::RenderLayer::scrollCornerRect):
59749        Remove unnecessary pixelSnappedIntRect call.
59750        
59751        (WebCore::RenderLayer::positionOverflowControls):
59752        Remove unnecessary pixelSnappedIntRect call.
59753        
59754        (WebCore::RenderLayer::scrollWidth):
59755        (WebCore::RenderLayer::scrollHeight):
59756        Fix implementation of scrollWidth and Height to pixel snap the values.
59757         
59758        (WebCore::RenderLayer::computeScrollDimensions):
59759        (WebCore::RenderLayer::paintResizer):
59760        (WebCore::RenderLayer::hitTestOverflowControls):
59761        Remove unnecessary pixelSnappedIntRect calls.
59762        
59763        (WebCore::RenderLayer::paintLayerContents):
59764        Pixel snap values just before painting (instead of earlier on).
59765
59766        (WebCore::RenderLayer::hitTest):
59767        (WebCore::RenderLayer::hitTestContents):
59768        Change to use subpixel types.
59769
597702012-04-02  Abhishek Arya  <inferno@chromium.org>
59771
59772        <select> shouldn't intrude as a run-in.
59773        https://bugs.webkit.org/show_bug.cgi?id=82829
59774
59775        Reviewed by Tony Chang.
59776
59777        Matches Opera's behavior which also does not allow <select>
59778        to intrude as a run-in into the neighbouring block.
59779        IE and Firefox doesn't support run-ins, so can't compare behavior
59780        with them.
59781
59782        Test: fast/runin/select-runin.html
59783
59784        * rendering/RenderBlock.cpp:
59785        (WebCore::RenderBlock::handleRunInChild):
59786
597872012-04-02  Mark Pilgrim  <pilgrim@chromium.org>
59788
59789        Call decrementStatsCounter directly
59790        https://bugs.webkit.org/show_bug.cgi?id=82950
59791
59792        Reviewed by Adam Barth.
59793
59794        * platform/chromium/PlatformSupport.h:
59795        (PlatformSupport):
59796
597972012-04-02  Tony Chang  <tony@chromium.org>
59798
59799        add css parsing of -webkit-flex
59800        https://bugs.webkit.org/show_bug.cgi?id=82927
59801
59802        Reviewed by Ojan Vafai.
59803
59804        This is the new syntax for CSS3 flexbox:
59805        http://dev.w3.org/csswg/css3-flexbox/#flexibility
59806
59807        Not hooked up to anything in the render tree yet so the old syntax is
59808        still valid.
59809
59810        Test: css3/flexbox/flex-property-parsing.html
59811
59812        * css/CSSComputedStyleDeclaration.cpp:
59813        (WebCore):
59814        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
59815        * css/CSSParser.cpp:
59816        (WebCore::CSSParser::parseValue):
59817        (WebCore::CSSParser::parseFlex):
59818        * css/CSSParser.h:
59819        (WebCore):
59820        * css/CSSProperty.cpp:
59821        (WebCore::CSSProperty::isInheritedProperty):
59822        * css/CSSPropertyNames.in:
59823        * css/CSSStyleApplyProperty.cpp:
59824        (ApplyPropertyFlex):
59825        (WebCore::ApplyPropertyFlex::applyInheritValue):
59826        (WebCore::ApplyPropertyFlex::applyInitialValue):
59827        (WebCore::ApplyPropertyFlex::applyValue):
59828        (WebCore::ApplyPropertyFlex::createHandler):
59829        (WebCore::ApplyPropertyFlex::getFlexValue):
59830        (WebCore):
59831        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
59832        * css/CSSStyleSelector.cpp:
59833        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
59834        * rendering/style/RenderStyle.h:
59835        * rendering/style/StyleFlexibleBoxData.cpp:
59836        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
59837        (WebCore::StyleFlexibleBoxData::operator==):
59838        * rendering/style/StyleFlexibleBoxData.h:
59839        (StyleFlexibleBoxData):
59840
598412012-04-02  Daniel Cheng  <dcheng@chromium.org>
59842
59843        Having a drop handler prevents navigation on drop even if event is not cancelled
59844        https://bugs.webkit.org/show_bug.cgi?id=79172
59845
59846        Reviewed by Ryosuke Niwa.
59847
59848        Only early return if the drop handler prevents the default action.
59849
59850        Test: fast/events/drop-handler-should-not-stop-navigate.html
59851
59852        * page/DragController.cpp:
59853        (WebCore::DragController::performDrag):
59854
598552012-04-02  Alexis Menard  <alexis.menard@openbossa.org>
59856
59857        We should use CSSPropertyID rather than integers when manipulating CSS property ids.
59858        https://bugs.webkit.org/show_bug.cgi?id=82941
59859
59860        Reviewed by Andreas Kling.
59861
59862        CSSPropertyID enum holds all the CSS property ids but many parts of WebKit treat the ids
59863        as integers. While it's not incorrect it is nicer to use the enum as a parameter of
59864        functions manipulating property ids, as we ensure that the value passed will be an
59865        existing value. It will also feel more correct after this patch that CSSProperty::id()
59866        return a value of the enum rather than an integer. As this modification is quite big this
59867        is the first part only so it will be easier to review.
59868
59869        No new tests : There should be no behavior change in this patch.
59870
59871        * css/CSSParser.cpp:
59872        (WebCore::cssPropertyID):
59873        * css/CSSParser.h:
59874        (WebCore):
59875        * css/CSSProperty.cpp:
59876        (WebCore::CSSProperty::cssText):
59877        * css/CSSProperty.h:
59878        (WebCore::CSSProperty::id):
59879        (WebCore::CSSProperty::shorthandID):
59880        * css/PropertySetCSSStyleDeclaration.cpp:
59881        (WebCore::PropertySetCSSStyleDeclaration::item):
59882        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
59883        (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
59884        (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
59885        (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
59886        (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
59887        * css/StylePropertySet.cpp:
59888        (WebCore::StylePropertySet::getPropertyValue):
59889        (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
59890        (WebCore::StylePropertySet::propertyIsImportant):
59891        (WebCore::StylePropertySet::getPropertyShorthand):
59892        (WebCore::StylePropertySet::isPropertyImplicit):
59893        (WebCore::StylePropertySet::asText):
59894        * css/StylePropertySet.h:
59895        (StylePropertySet):
59896        * editing/EditingStyle.cpp:
59897        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
59898        (WebCore::removePropertiesInStyle):
59899        (WebCore::setTextDecorationProperty):
59900        (WebCore::diffTextDecorations):
59901        * editing/Editor.cpp:
59902        (WebCore::Editor::selectionStartCSSPropertyValue):
59903        * editing/Editor.h:
59904        (Editor):
59905        * editing/EditorCommand.cpp:
59906        (WebCore::valueStyle):
59907
599082012-04-02  Nate Chapin  <japhet@chromium.org>
59909
59910        Simplify main resource load start/end in FrameLoader
59911        and DocumentLoader.
59912        https://bugs.webkit.org/show_bug.cgi?id=82935
59913
59914        1. Have FrameLoader call prepareForLoadStart() on itself directly, rather
59915            than through DocumentLoader.
59916        2. Remove DocumentLoader::m_primaryLoadComplete, since this is basically equivalent
59917            to m_mainResourceLoader.
59918        3. Rename setPrimaryLoadComplete() to clearMainResourceLoader(), and only call it at
59919            the end of the main resource load.
59920        4. Move clearing DocumentLoader::m_mainResourceError into startLoadingMainResource(),
59921            which leaves DocumentLoader::prepareForLoadStart() empty.
59922
59923        Reviewed by Adam Barth.
59924
59925        No new tests, refactor only.
59926
59927        * WebCore.exp.in:
59928        * loader/DocumentLoader.cpp:
59929        (WebCore::DocumentLoader::DocumentLoader):
59930        (WebCore):
59931        (WebCore::DocumentLoader::mainReceivedError):
59932        (WebCore::DocumentLoader::finishedLoading):
59933        (WebCore::DocumentLoader::clearMainResourceLoader):
59934        (WebCore::DocumentLoader::isLoadingInAPISense):
59935        (WebCore::DocumentLoader::startLoadingMainResource):
59936        * loader/DocumentLoader.h:
59937        * loader/FrameLoader.cpp:
59938        (WebCore::FrameLoader::commitProvisionalLoad):
59939        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
59940        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
59941        * loader/FrameLoader.h: prepareForLoadStart() is now called directly,
59942            so make it private.
59943
599442012-04-02  Tim Horton  <timothy_horton@apple.com>
59945
59946        ASSERTION FAILED: m_purgePreventCount in FontCache::getCachedFontData running svg/custom/animate-disallowed-use-element.svg
59947        https://bugs.webkit.org/show_bug.cgi?id=81002
59948        <rdar://problem/11168969>
59949
59950        Reviewed by Simon Fraser.
59951
59952        Don't spend time rebuilding SVG text layout attributes if the document is being torn down, as
59953        they won't be used, and can cause assertion failures in the font cache.
59954
59955        No new tests, as it fixes an intermittent assertion failure during document destruction.
59956
59957        * rendering/svg/RenderSVGInlineText.cpp:
59958        (WebCore::RenderSVGInlineText::willBeDestroyed):
59959
599602012-04-02  Lianghui Chen  <liachen@rim.com>
59961
59962        [BlackBerry] Set ResourceRequest TargetType in WebPagePrivate::load()
59963        https://bugs.webkit.org/show_bug.cgi?id=80519
59964
59965        Stop asserting in platformCachePolicyForRequest() as now it is expected
59966        that the ResourceRequest might not have the right TargetType setup at
59967        this time for main loads.
59968
59969        Reviewed by Rob Buis.
59970
59971        No new tests as no change in behaviour.
59972
59973        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
59974        (WebCore::platformCachePolicyForRequest):
59975
599762012-04-02  Simon Fraser  <simon.fraser@apple.com>
59977
59978        Fix issue with reflections and composited layers
59979        https://bugs.webkit.org/show_bug.cgi?id=82636
59980
59981        Reviewed by Alexey Proskuryakov
59982        
59983        When tearing down GraphicsLayers which referene eachother via m_replicatedLayer/m_replicaLayer,
59984        we need to clean up the replica layer pointers.
59985
59986        No new tests; tested by existing compositing and repaint tests.
59987
59988        * platform/graphics/GraphicsLayer.cpp:
59989        (WebCore::GraphicsLayer::~GraphicsLayer):
59990        (WebCore::GraphicsLayer::setReplicatedByLayer):
59991
599922012-04-02  Chris Rogers  <crogers@google.com>
59993
59994        Add Oscillator/WaveTable implementation and tests
59995        https://bugs.webkit.org/show_bug.cgi?id=82414
59996        
59997        Oscillator represents an audio source generating a periodic waveform.  It can be set to
59998        a few commonly used waveforms.  Additionally, it can be set to an arbitrary periodic
59999        waveform through the use of a WaveTable object.
60000
60001        Reviewed by Kenneth Russell.
60002
60003        Tests: webaudio/oscillator-custom.html
60004               webaudio/oscillator-sawtooth.html
60005               webaudio/oscillator-sine.html
60006               webaudio/oscillator-square.html
60007               webaudio/oscillator-triangle.html
60008
60009        * DerivedSources.make:
60010        * GNUmakefile.list.am:
60011        Add Oscillator and WaveTable to build files.
60012        * Modules/webaudio/AudioContext.cpp:
60013        (WebCore::AudioContext::createOscillator):
60014        (WebCore):
60015        (WebCore::AudioContext::createWaveTable):
60016        * Modules/webaudio/AudioContext.h:
60017        Add create methods for Oscillator and WaveTable.
60018        (WebCore):
60019        (AudioContext):
60020        * Modules/webaudio/AudioContext.idl:
60021        * Modules/webaudio/AudioNode.h:
60022        * Modules/webaudio/Oscillator.cpp: Added.
60023        (WebCore):
60024        (WebCore::Oscillator::create):
60025        (WebCore::Oscillator::Oscillator):
60026        (WebCore::Oscillator::~Oscillator):
60027        (WebCore::Oscillator::setType):
60028        (WebCore::Oscillator::calculateSampleAccuratePhaseIncrements):
60029        (WebCore::Oscillator::process):
60030        (WebCore::Oscillator::reset):
60031        (WebCore::Oscillator::setWaveTable):
60032        * Modules/webaudio/Oscillator.h: Added.
60033        (WebCore):
60034        (Oscillator):
60035        (WebCore::Oscillator::type):
60036        (WebCore::Oscillator::frequency):
60037        (WebCore::Oscillator::detune):
60038        Implement Oscillator as AudioSourceNode.
60039        * Modules/webaudio/Oscillator.idl: Added.
60040        * Modules/webaudio/WaveTable.cpp: Added.
60041        (WebCore):
60042        (WebCore::WaveTable::create):
60043        (WebCore::WaveTable::createSine):
60044        (WebCore::WaveTable::createSquare):
60045        (WebCore::WaveTable::createSawtooth):
60046        (WebCore::WaveTable::createTriangle):
60047        (WebCore::WaveTable::WaveTable):
60048        (WebCore::WaveTable::waveDataForFundamentalFrequency):
60049        (WebCore::WaveTable::maxNumberOfPartials):
60050        (WebCore::WaveTable::numberOfPartialsForRange):
60051        (WebCore::WaveTable::createBandLimitedTables):
60052        (WebCore::WaveTable::generateBasicWaveform):
60053        * Modules/webaudio/WaveTable.h: Added.
60054        (WebCore):
60055        (WaveTable):
60056        (WebCore::WaveTable::rateScale):
60057        (WebCore::WaveTable::waveTableSize):
60058        (WebCore::WaveTable::sampleRate):
60059        (WebCore::WaveTable::numberOfRanges):
60060        Implement WaveTable which is constructed given a set of Fourier coefficients.
60061        * Modules/webaudio/WaveTable.idl: Added.
60062        * WebCore.gypi:
60063        * WebCore.xcodeproj/project.pbxproj:
60064        Add Oscillator and WaveTable files to build files.
60065
600662012-04-02  Levi Weintraub  <leviw@chromium.org>
60067
60068        Correct remaining LayoutUnit misuse in RenderReplaced and RenderFlexibleBox
60069        https://bugs.webkit.org/show_bug.cgi?id=82899
60070
60071        Reviewed by Darin Adler.
60072
60073        Removing remaining LayoutUnit misuse and compiler errors that exist in RenderReplaced
60074        and RenderFlexibleBox once LayoutUnit becomes sub-pixel.
60075
60076        No new tests. No change in behavior.
60077
60078        * rendering/RenderFlexibleBox.cpp:
60079        (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems): Switching
60080        a raw zero in a ternary operation to zeroLayoutUnit.
60081        (WebCore::RenderFlexibleBox::applyStretchAlignmentToChild): Ditto for std::max.
60082        * rendering/RenderReplaced.cpp:
60083        (WebCore::RenderReplaced::paint): Adding missing pixel snapping before painting.
60084        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Like above, switching
60085        a raw zero to zeroLayoutUnit.
60086        (WebCore::RenderReplaced::computePreferredLogicalWidths): Ditto.
60087
600882012-04-02  Ken Buchanan  <kenrb@chromium.org>
60089
60090        Crash due to floating object lists not properly being cleared
60091        https://bugs.webkit.org/show_bug.cgi?id=74056
60092
60093        Reviewed by David Hyatt.
60094
60095        Add a check to clearFloats() that determines when intruding floats
60096        are being cleared and not re-added. In this condition, ensure
60097        children with floats are also getting layout because they might
60098        need to have the same intruding floats cleared from their floating
60099        object lists also.
60100
60101        * rendering/RenderBlock.cpp:
60102        (WebCore::RenderBlock::clearFloats):
60103
601042012-04-02  Seo Sanghyeon  <sh4.seo@samsung.com>
60105
60106        Align IDL to Typed Array Specification
60107        https://bugs.webkit.org/show_bug.cgi?id=82919
60108
60109        Reviewed by Darin Adler.
60110
60111        No tests. No change in behavior.
60112
60113        * html/canvas/Float32Array.idl:
60114        * html/canvas/Float64Array.idl:
60115        * html/canvas/Int16Array.idl:
60116        * html/canvas/Int32Array.idl:
60117        * html/canvas/Int8Array.idl:
60118        * html/canvas/Uint16Array.idl:
60119        * html/canvas/Uint32Array.idl:
60120        * html/canvas/Uint8Array.idl:
60121        * html/canvas/Uint8ClampedArray.idl:
60122
601232012-04-02  Michael Saboff  <msaboff@apple.com>
60124
60125        WebKit should throttle memory pressure notifications in proportion to handler time
60126        https://bugs.webkit.org/show_bug.cgi?id=82674
60127
60128        Rubber-stamped by Darin Adler.
60129
60130        Updated r112910: <http://trac.webkit.org/changeset/112910> to address
60131        post checkin concerns raised in original bug.
60132
60133        No additional tests. This passes existing test and was verified using
60134        manual tests on a small memory system with many websites open.
60135
60136        * platform/mac/MemoryPressureHandlerMac.mm:
60137        (WebCore):
60138        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
60139
601402012-04-02  Darin Fisher  <darin@chromium.org>
60141
60142        HistoryItem not updated properly when a form submission begins before a
60143        previous form submission has finished.
60144        https://bugs.webkit.org/show_bug.cgi?id=76686
60145
60146        Reviewed by Nate Chapin.
60147
60148        Test: LayoutTests/fast/loader/form-submission-before-load-{get,post}.html
60149
60150        * loader/FrameLoader.cpp:
60151        (WebCore::FrameLoader::loadPostRequest):
60152
601532012-04-02  Antti Koivisto  <antti@apple.com>
60154
60155        Split remaining CSSRules into internal and CSSOM types
60156        https://bugs.webkit.org/show_bug.cgi?id=82728
60157
60158        Reviewed by Andreas Kling.
60159
60160        This will complete the move to internal types for CSS rules. The only remaining unsplit type is
60161        the CSSStyleSheet itself.
60162        
60163        By separating internal types from the CSSOM we save memory immediately and enable future performance
60164        optimizations as we are no longer tied to the structure of the API.
60165        
60166        CSSOM type              Internal type
60167        
60168        CSSStyleRule            StyleRule -> StyleRuleBase
60169        CSSPageRule             StyleRulePage -> StyleRuleBase
60170        CSSFontFaceRule         StyleRuleFontFace -> StyleRuleBase
60171        CSSMediaRule            StyleRuleMedia -> StyleRuleBlock -> StyleRuleBase
60172        CSSImportRule           StyleRuleImport -> StyleRuleBase
60173        CSSCharsetRule          String (owned by CSSStyleSheet)
60174        CSSUnknownRule          Never instantiated
60175        WebKitCSSRegionRule     StyleRuleRegion -> StyleRuleBlock -> StyleRuleBase
60176        WebKitKeyframesRule     StyleRuleKeyframes -> StyleRuleBase
60177        WebKitKeyframeRule      StyleKeyframe (owned by StyleRuleKeyframes)
60178        
60179        StyleRuleBase is refcounted. 
60180        
60181        The CSSOM objects contain the public API functions and their implementations (almost) nothing else. Unlike the 
60182        CSSOM types they don't have parent pointers, saving memory.  
60183        
60184        The CSSOM tree is constructed on demand only. The CSSOM wrapper instances are constructed and owned by 
60185        the parent wrapper in the tree. Wrappers ref the corresponding internal type. The trees are kept in sync
60186        when mutating.
60187        
60188        All rules shrink by a pointer (from the parent pointer removal). The immediate memory savings from this patch are
60189        larger as some earlier patches temporarily increased the memory use to allow incremental refactoring. 
60190
60191        * WebCore.xcodeproj/project.pbxproj:
60192        * bindings/js/JSDOMBinding.h:
60193        (WebCore):
60194        * css/CSSFontFaceRule.cpp:
60195        (WebCore::CSSFontFaceRule::CSSFontFaceRule):
60196        (WebCore::CSSFontFaceRule::style):
60197        (WebCore::CSSFontFaceRule::cssText):
60198        (WebCore):
60199        * css/CSSFontFaceRule.h:
60200        (WebCore):
60201        (WebCore::CSSFontFaceRule::create):
60202        (CSSFontFaceRule):
60203        * css/CSSFontSelector.cpp:
60204        (WebCore::CSSFontSelector::addFontFaceRule):
60205        * css/CSSFontSelector.h:
60206        (WebCore):
60207        * css/CSSGrammar.y:
60208        * css/CSSImportRule.cpp:
60209        (WebCore::StyleRuleImport::create):
60210        (WebCore::StyleRuleImport::StyleRuleImport):
60211        (WebCore::StyleRuleImport::~StyleRuleImport):
60212        (WebCore::StyleRuleImport::setCSSStyleSheet):
60213        (WebCore::StyleRuleImport::isLoading):
60214        (WebCore::StyleRuleImport::requestStyleSheet):
60215        (WebCore::CSSImportRule::CSSImportRule):
60216        (WebCore):
60217        (WebCore::CSSImportRule::media):
60218        (WebCore::CSSImportRule::cssText):
60219        * css/CSSImportRule.h:
60220        (StyleRuleImport):
60221        (WebCore::StyleRuleImport::parentStyleSheet):
60222        (WebCore::StyleRuleImport::clearParentStyleSheet):
60223        (WebCore::StyleRuleImport::href):
60224        (WebCore::StyleRuleImport::ImportedStyleSheetClient::ImportedStyleSheetClient):
60225        (ImportedStyleSheetClient):
60226        (CSSImportRule):
60227        (WebCore::CSSImportRule::create):
60228        (WebCore::CSSImportRule::href):
60229        (WebCore::CSSImportRule::styleSheet):
60230        (WebCore):
60231        * css/CSSMediaRule.cpp:
60232        (WebCore::CSSMediaRule::CSSMediaRule):
60233        (WebCore::CSSMediaRule::~CSSMediaRule):
60234        (WebCore::CSSMediaRule::insertRule):
60235        (WebCore::CSSMediaRule::deleteRule):
60236        (WebCore::CSSMediaRule::cssText):
60237        (WebCore::CSSMediaRule::media):
60238        (WebCore):
60239        (WebCore::CSSMediaRule::length):
60240        (WebCore::CSSMediaRule::item):
60241        (WebCore::CSSMediaRule::cssRules):
60242        * css/CSSMediaRule.h:
60243        (WebCore):
60244        (WebCore::CSSMediaRule::create):
60245        (CSSMediaRule):
60246        * css/CSSPageRule.cpp:
60247        (WebCore::CSSPageRule::CSSPageRule):
60248        (WebCore::CSSPageRule::style):
60249        (WebCore::CSSPageRule::selectorText):
60250        (WebCore::CSSPageRule::setSelectorText):
60251        (WebCore::CSSPageRule::cssText):
60252        * css/CSSPageRule.h:
60253        (WebCore):
60254        (WebCore::CSSPageRule::create):
60255        (CSSPageRule):
60256        * css/CSSParser.cpp:
60257        (WebCore::CSSParser::parseRule):
60258        (WebCore::CSSParser::createImportRule):
60259        (WebCore::CSSParser::createMediaRule):
60260        (WebCore::CSSParser::createKeyframesRule):
60261        (WebCore::CSSParser::createStyleRule):
60262        (WebCore::CSSParser::createFontFaceRule):
60263        (WebCore::CSSParser::createPageRule):
60264        (WebCore::CSSParser::createRegionRule):
60265        (WebCore::CSSParser::createMarginAtRule):
60266        * css/CSSParser.h:
60267        (WebCore):
60268        (CSSParser):
60269        * css/CSSPropertySourceData.h:
60270        (WebCore):
60271        * css/CSSStyleRule.cpp:
60272        (WebCore):
60273        (WebCore::selectorTextCache):
60274        (WebCore::CSSStyleRule::CSSStyleRule):
60275        (WebCore::CSSStyleRule::~CSSStyleRule):
60276        (WebCore::CSSStyleRule::setSelectorText):
60277        * css/CSSStyleRule.h:
60278        (WebCore):
60279        (WebCore::CSSStyleRule::create):
60280        (CSSStyleRule):
60281        * css/CSSStyleSelector.cpp:
60282        (RuleSet):
60283        (WebCore::RuleSet::pageRules):
60284        (WebCore::CSSStyleSelector::addKeyframeStyle):
60285        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
60286        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
60287        * css/CSSStyleSelector.h:
60288        (CSSStyleSelector):
60289        * css/CSSStyleSheet.cpp:
60290        (WebCore::CSSStyleSheet::CSSStyleSheet):
60291        (WebCore::CSSStyleSheet::parserAppendRule):
60292        (WebCore::CSSStyleSheet::createChildRuleCSSOMWrapper):
60293        (WebCore::CSSStyleSheet::item):
60294        (WebCore::CSSStyleSheet::clearCharsetRule):
60295        (WebCore::CSSStyleSheet::clearRules):
60296        (WebCore::CSSStyleSheet::rules):
60297        (WebCore::CSSStyleSheet::insertRule):
60298        (WebCore::CSSStyleSheet::deleteRule):
60299        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
60300        (WebCore::CSSStyleSheet::ensureCSSOMWrapper):
60301        (WebCore):
60302        (WebCore::CSSStyleSheet::ownerRule):
60303        (WebCore::CSSStyleSheet::parentStyleSheet):
60304        * css/CSSStyleSheet.h:
60305        (WebCore):
60306        (WebCore::CSSStyleSheet::create):
60307        (CSSStyleSheet):
60308        (WebCore::CSSStyleSheet::childRules):
60309        (WebCore::CSSStyleSheet::importRules):
60310        (WebCore::CSSStyleSheet::clearOwnerRule):
60311        (WebCore::CSSStyleSheet::hasCharsetRule):
60312        * css/StyleRule.cpp:
60313        (WebCore::StyleRuleBase::createCSSOMWrapper):
60314        (WebCore):
60315        (WebCore::StyleRuleBase::destroy):
60316        (WebCore::StyleRule::StyleRule):
60317        (WebCore::StyleRule::setProperties):
60318        (WebCore::StyleRulePage::StyleRulePage):
60319        (WebCore::StyleRulePage::~StyleRulePage):
60320        (WebCore::StyleRulePage::setProperties):
60321        (WebCore::StyleRuleFontFace::StyleRuleFontFace):
60322        (WebCore::StyleRuleFontFace::~StyleRuleFontFace):
60323        (WebCore::StyleRuleFontFace::setProperties):
60324        (WebCore::StyleRuleBlock::StyleRuleBlock):
60325        (WebCore::StyleRuleBlock::wrapperInsertRule):
60326        (WebCore::StyleRuleBlock::wrapperRemoveRule):
60327        (WebCore::StyleRuleMedia::StyleRuleMedia):
60328        (WebCore::StyleRuleRegion::StyleRuleRegion):
60329        * css/StyleRule.h:
60330        (WebCore):
60331        (WebCore::StyleRuleBase::type):
60332        (StyleRuleBase):
60333        (WebCore::StyleRuleBase::isCharsetRule):
60334        (WebCore::StyleRuleBase::isFontFaceRule):
60335        (WebCore::StyleRuleBase::isKeyframesRule):
60336        (WebCore::StyleRuleBase::isMediaRule):
60337        (WebCore::StyleRuleBase::isPageRule):
60338        (WebCore::StyleRuleBase::isStyleRule):
60339        (WebCore::StyleRuleBase::isRegionRule):
60340        (WebCore::StyleRuleBase::isImportRule):
60341        (WebCore::StyleRuleBase::sourceLine):
60342        (WebCore::StyleRuleBase::deref):
60343        (WebCore::StyleRuleBase::StyleRuleBase):
60344        (WebCore::StyleRuleBase::~StyleRuleBase):
60345        (StyleRule):
60346        (WebCore::StyleRule::create):
60347        (WebCore::StyleRule::parserAdoptSelectorVector):
60348        (WebCore::StyleRule::wrapperAdoptSelectorList):
60349        (StyleRuleFontFace):
60350        (WebCore::StyleRuleFontFace::create):
60351        (WebCore::StyleRuleFontFace::properties):
60352        (StyleRulePage):
60353        (WebCore::StyleRulePage::create):
60354        (WebCore::StyleRulePage::selector):
60355        (WebCore::StyleRulePage::properties):
60356        (WebCore::StyleRulePage::parserAdoptSelectorVector):
60357        (WebCore::StyleRulePage::wrapperAdoptSelectorList):
60358        (StyleRuleBlock):
60359        (WebCore::StyleRuleBlock::childRules):
60360        (StyleRuleMedia):
60361        (WebCore::StyleRuleMedia::create):
60362        (WebCore::StyleRuleMedia::mediaQueries):
60363        (StyleRuleRegion):
60364        (WebCore::StyleRuleRegion::create):
60365        (WebCore::StyleRuleRegion::selectorList):
60366        * css/StyleSheet.cpp:
60367        (WebCore::StyleSheet::StyleSheet):
60368        (WebCore):
60369        * css/StyleSheet.h:
60370        (WebCore):
60371        (WebCore::StyleSheet::ownerRule):
60372        (WebCore::StyleSheet::parentStyleSheet):
60373        (StyleSheet):
60374        * css/WebKitCSSKeyframesRule.cpp:
60375        (WebCore::StyleRuleKeyframes::StyleRuleKeyframes):
60376        (WebCore):
60377        (WebCore::StyleRuleKeyframes::~StyleRuleKeyframes):
60378        (WebCore::StyleRuleKeyframes::parserAppendKeyframe):
60379        (WebCore::StyleRuleKeyframes::wrapperAppendKeyframe):
60380        (WebCore::StyleRuleKeyframes::wrapperRemoveKeyframe):
60381        (WebCore::StyleRuleKeyframes::findKeyframeIndex):
60382        (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
60383        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
60384        (WebCore::WebKitCSSKeyframesRule::setName):
60385        (WebCore::WebKitCSSKeyframesRule::insertRule):
60386        (WebCore::WebKitCSSKeyframesRule::deleteRule):
60387        (WebCore::WebKitCSSKeyframesRule::findRule):
60388        (WebCore::WebKitCSSKeyframesRule::cssText):
60389        (WebCore::WebKitCSSKeyframesRule::length):
60390        (WebCore::WebKitCSSKeyframesRule::item):
60391        * css/WebKitCSSKeyframesRule.h:
60392        (WebCore):
60393        (StyleRuleKeyframes):
60394        (WebCore::StyleRuleKeyframes::create):
60395        (WebCore::StyleRuleKeyframes::keyframes):
60396        (WebCore::StyleRuleKeyframes::name):
60397        (WebCore::StyleRuleKeyframes::setName):
60398        (WebCore::WebKitCSSKeyframesRule::create):
60399        (WebCore::WebKitCSSKeyframesRule::name):
60400        (WebKitCSSKeyframesRule):
60401        * css/WebKitCSSRegionRule.cpp:
60402        (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
60403        (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
60404        (WebCore::WebKitCSSRegionRule::cssText):
60405        (WebCore::WebKitCSSRegionRule::length):
60406        (WebCore):
60407        (WebCore::WebKitCSSRegionRule::item):
60408        (WebCore::WebKitCSSRegionRule::cssRules):
60409        * css/WebKitCSSRegionRule.h:
60410        (WebCore):
60411        (WebCore::WebKitCSSRegionRule::create):
60412        (WebKitCSSRegionRule):
60413        * inspector/InspectorInstrumentation.cpp:
60414        (WebCore::InspectorInstrumentation::willMatchRuleImpl):
60415        (WebCore::InspectorInstrumentation::willProcessRuleImpl):
60416        * inspector/InspectorStyleSheet.cpp:
60417        (WebCore::InspectorStyleSheet::ensureSourceData):
60418        * inspector/InspectorStyleSheet.h:
60419        (WebCore):
60420        * svg/SVGFontFaceElement.cpp:
60421        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
60422        (WebCore::SVGFontFaceElement::parseAttribute):
60423        (WebCore::SVGFontFaceElement::fontFamily):
60424        (WebCore::SVGFontFaceElement::rebuildFontFace):
60425        (WebCore::SVGFontFaceElement::insertedIntoDocument):
60426        (WebCore::SVGFontFaceElement::removedFromDocument):
60427        * svg/SVGFontFaceElement.h:
60428        (WebCore):
60429        (WebCore::SVGFontFaceElement::fontFaceRule):
60430        (SVGFontFaceElement):
60431
604322012-04-02  Rakesh KN  <rakesh.kn@motorola.com>
60433
60434        Scroll position is lost after hide/show element
60435        https://bugs.webkit.org/show_bug.cgi?id=72852
60436
60437        Maintain the scroll position of an overflowing element in the ElementRareData when the scrollable 
60438        RenderLayer is destroyed, which can be used to restore the scroll position if the same element gets
60439        back a RenderLayer.
60440
60441        WebKit behaviour will be the same as Firefox and IE. It differs from Opera as it does not reset the
60442        scroll position when an element is moved to another location in the same document. However Opera resets
60443        the scroll position for elements moved to another document, which matches other browsers.
60444
60445        Reviewed by Julien Chaffraix.
60446
60447        Test: fast/overflow/scroll-div-hide-show.html
60448
60449        * dom/Element.cpp:
60450        (WebCore::Element::removedFromDocument):
60451        Reset the saved scroll offset if the node is moved to another location in the same document or another one.
60452
60453        (WebCore::Element::savedLayerScrollOffset):
60454        (WebCore::Element::setSavedLayerScrollOffset):
60455        * dom/Element.h:
60456        Add helper functions to access the layer scroll offset from the element's rare data.
60457
60458        * dom/ElementRareData.h:
60459        (ElementRareData):
60460        Add the scroll offset book-keeping.
60461
60462        * rendering/RenderLayer.cpp:
60463        (WebCore::RenderLayer::RenderLayer):
60464        Restore the scroll offset.
60465        (WebCore::RenderLayer::~RenderLayer):
60466        Store the scroll offset if document is not being destroyed.
60467
604682012-04-02  Alexis Menard  <alexis.menard@openbossa.org>
60469
60470        Rename CSSPropertyLonghand files to StylePropertyShorthand.
60471        https://bugs.webkit.org/show_bug.cgi?id=82905
60472
60473        Reviewed by Antti Koivisto.
60474
60475        r112880 renamed CSSPropertyLonghand class to StylePropertyShorthand, so the
60476        files need to reflect this new name now.
60477
60478        No new tests : Just a renaming, No behaviour change intended.
60479
60480        * CMakeLists.txt:
60481        * GNUmakefile.list.am:
60482        * Target.pri:
60483        * WebCore.gypi:
60484        * WebCore.vcproj/WebCore.vcproj:
60485        * WebCore.xcodeproj/project.pbxproj:
60486        * css/CSSAllInOne.cpp:
60487        * css/CSSComputedStyleDeclaration.cpp:
60488        * css/CSSParser.cpp:
60489        * css/CSSProperty.cpp:
60490        * css/StylePropertySet.cpp:
60491        * css/StylePropertyShorthand.cpp: Renamed from Source/WebCore/css/CSSPropertyLonghand.cpp.
60492        (WebCore):
60493        (WebCore::backgroundShorthand):
60494        (WebCore::backgroundPositionShorthand):
60495        (WebCore::backgroundRepeatShorthand):
60496        (WebCore::borderShorthand):
60497        (WebCore::borderAbridgedShorthand):
60498        (WebCore::borderBottomShorthand):
60499        (WebCore::borderColorShorthand):
60500        (WebCore::borderImageShorthand):
60501        (WebCore::borderLeftShorthand):
60502        (WebCore::borderRadiusShorthand):
60503        (WebCore::borderRightShorthand):
60504        (WebCore::borderSpacingShorthand):
60505        (WebCore::borderStyleShorthand):
60506        (WebCore::borderTopShorthand):
60507        (WebCore::borderWidthShorthand):
60508        (WebCore::listStyleShorthand):
60509        (WebCore::fontShorthand):
60510        (WebCore::marginShorthand):
60511        (WebCore::outlineShorthand):
60512        (WebCore::overflowShorthand):
60513        (WebCore::paddingShorthand):
60514        (WebCore::webkitAnimationShorthand):
60515        (WebCore::webkitBorderAfterShorthand):
60516        (WebCore::webkitBorderBeforeShorthand):
60517        (WebCore::webkitBorderEndShorthand):
60518        (WebCore::webkitBorderStartShorthand):
60519        (WebCore::webkitColumnsShorthand):
60520        (WebCore::webkitColumnRuleShorthand):
60521        (WebCore::webkitFlexFlowShorthand):
60522        (WebCore::webkitMarginCollapseShorthand):
60523        (WebCore::webkitMarqueeShorthand):
60524        (WebCore::webkitMaskShorthand):
60525        (WebCore::webkitMaskPositionShorthand):
60526        (WebCore::webkitMaskRepeatShorthand):
60527        (WebCore::webkitTextEmphasisShorthand):
60528        (WebCore::webkitTextStrokeShorthand):
60529        (WebCore::webkitTransitionShorthand):
60530        (WebCore::webkitTransformOriginShorthand):
60531        (WebCore::webkitWrapShorthand):
60532        (WebCore::shorthandForProperty):
60533        * css/StylePropertyShorthand.h: Renamed from Source/WebCore/css/CSSPropertyLonghand.h.
60534        (WebCore):
60535        (StylePropertyShorthand):
60536        (WebCore::StylePropertyShorthand::StylePropertyShorthand):
60537        (WebCore::StylePropertyShorthand::properties):
60538        (WebCore::StylePropertyShorthand::propertiesForInitialization):
60539        (WebCore::StylePropertyShorthand::length):
60540        * page/animation/AnimationBase.cpp:
60541
605422012-04-02  Brady Eidson  <beidson@apple.com>
60543
60544        <rdar://problem/11020155> and https://bugs.webkit.org/show_bug.cgi?id=82910
60545        REGRESSION (98963 and 109091):  Crash when creating a WebArchive of a page with @page style rules
60546
60547        Reviewed by Antti Koivisto.
60548
60549        Test: webarchive/css-page-rule-crash.html
60550
60551        * css/CSSStyleSheet.cpp:
60552        (WebCore::CSSStyleSheet::addSubresourceStyleURLs): Page rules do not (currently) have subresource urls to get,
60553          and are not CSSStyleRules.
60554
605552012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
60556
60557        Unreviewed, rolling out r112851.
60558        http://trac.webkit.org/changeset/112851
60559        https://bugs.webkit.org/show_bug.cgi?id=82915
60560
60561        Broke 3 Mac accessibility tests (Requested by enrica on
60562        #webkit).
60563
60564        * accessibility/AXObjectCache.cpp:
60565        * accessibility/gtk/AXObjectCacheAtk.cpp:
60566        (WebCore::AXObjectCache::handleScrolledToAnchor):
60567        (WebCore):
60568        * accessibility/mac/AXObjectCacheMac.mm:
60569        (WebCore::AXObjectCache::handleScrolledToAnchor):
60570        (WebCore):
60571
605722012-04-02  Michael Saboff  <msaboff@apple.com>
60573
60574        WebKit should throttle memory pressure notifications in proportion to handler time
60575        https://bugs.webkit.org/show_bug.cgi?id=82674
60576
60577        Reviewed by Geoffrey Garen.
60578
60579        Changed the MemoryPressureHandler hold off timer to start timing after 
60580        respondToMemoryPressure runs.  The delay time is now 20 times longer than the
60581        time it took for respondToMemoryPressure to run with a minimum of 5 seconds.
60582        This throttles the response to low memory events in the extreme case where
60583        we are spending most of our time paging / swapping.
60584        This is a Mac only change.
60585
60586        No additional tests. This passes existing test and was verified using
60587        manual tests on a small memory system with many websites open.
60588
60589        * platform/mac/MemoryPressureHandlerMac.mm:
60590        (WebCore):
60591        (WebCore::MemoryPressureHandler::holdOff):
60592        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
60593
605942012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
60595
60596        Unreviewed, rolling out r112163.
60597        http://trac.webkit.org/changeset/112163
60598        https://bugs.webkit.org/show_bug.cgi?id=82914
60599
60600        Possible OOM issues (Requested by aklein on #webkit).
60601
60602        * bindings/scripts/CodeGeneratorV8.pm:
60603        (GenerateConstructorCallback):
60604        (GenerateNamedConstructorCallback):
60605        * bindings/v8/V8DOMWindowShell.cpp:
60606        (WebCore::V8DOMWindowShell::installDOMWindow):
60607        * bindings/v8/V8DOMWrapper.cpp:
60608        (WebCore):
60609        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
60610        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
60611        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
60612        * bindings/v8/V8DOMWrapper.h:
60613        (V8DOMWrapper):
60614        * bindings/v8/V8Proxy.h:
60615        (WebCore::toV8):
60616        * bindings/v8/WorkerContextExecutionProxy.cpp:
60617        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded):
60618        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
60619        (WebCore::v8HTMLImageElementConstructorCallback):
60620        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
60621        (WebCore::V8WebKitMutationObserver::constructorCallback):
60622        * bindings/v8/custom/V8WebSocketCustom.cpp:
60623        (WebCore::V8WebSocket::constructorCallback):
60624        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
60625        (WebCore::V8XMLHttpRequest::constructorCallback):
60626
606272012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
60628
60629        Unreviewed, rolling out r112318.
60630        http://trac.webkit.org/changeset/112318
60631        https://bugs.webkit.org/show_bug.cgi?id=82912
60632
60633        Possible OOM issues (Requested by aklein on #webkit).
60634
60635        * bindings/scripts/CodeGeneratorV8.pm:
60636        (GenerateConstructorCallback):
60637        (GenerateNamedConstructorCallback):
60638        (GenerateToV8Converters):
60639        (GetDomMapFunction):
60640        * bindings/scripts/test/V8/V8Float64Array.cpp:
60641        (WebCore::V8Float64Array::wrapSlow):
60642        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
60643        (WebCore::V8TestActiveDOMObject::wrapSlow):
60644        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
60645        (WebCore::V8TestCustomNamedGetter::wrapSlow):
60646        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
60647        (WebCore::V8TestEventConstructor::wrapSlow):
60648        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
60649        (WebCore::V8TestEventTarget::wrapSlow):
60650        * bindings/scripts/test/V8/V8TestInterface.cpp:
60651        (WebCore::V8TestInterface::wrapSlow):
60652        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
60653        (WebCore::V8TestMediaQueryListListener::wrapSlow):
60654        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
60655        (WebCore::V8TestNamedConstructor::wrapSlow):
60656        * bindings/scripts/test/V8/V8TestObj.cpp:
60657        (WebCore::V8TestObj::wrapSlow):
60658        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
60659        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
60660        * bindings/v8/V8DOMWrapper.cpp:
60661        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
60662        * bindings/v8/V8DOMWrapper.h:
60663        (V8DOMWrapper):
60664        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
60665        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
60666
606672012-04-02  Srikumar Bonda  <srikumar.b@gmail.com>
60668
60669        Missing NULL check for vendor string from glGetString()
60670        https://bugs.webkit.org/show_bug.cgi?id=82859
60671
60672        Reviewed by Kentaro Hara.
60673
60674        glGetString() possible to return NULL value.
60675        Refer to http://www.opengl.org/sdk/docs/man/xhtml/glGetString.xml
60676        for more information. The missing null check crashes webkit when
60677        vendor name is not set (null) by glGetString().
60678
60679        No new tests because this is missing NULL check for
60680        for openGL API response.
60681
60682        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
60683        (WebCore::GraphicsContext3D::validateAttributes):
60684
606852012-04-02  Ami Fischman  <fischman@chromium.org>
60686
60687        Suppress HTMLMediaElement's text track code when !webkitVideoTrackEnabled()
60688        https://bugs.webkit.org/show_bug.cgi?id=82906
60689
60690        Reviewed by Eric Carlson.
60691
60692        * html/HTMLMediaElement.cpp:
60693        (WebCore::HTMLMediaElement::scheduleLoad):
60694        (WebCore::HTMLMediaElement::loadTimerFired):
60695        (WebCore::HTMLMediaElement::prepareForLoad):
60696        (WebCore::HTMLMediaElement::loadInternal):
60697        (WebCore::HTMLMediaElement::setReadyState):
60698        (WebCore::HTMLMediaElement::playbackProgressTimerFired):
60699        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
60700        (WebCore::HTMLMediaElement::userCancelledLoad):
60701
607022012-04-02  Andrey Kosyakov  <caseq@chromium.org>
60703
60704        Web Inspector: CPU time bar missing on top-level events in timeline panel
60705        https://bugs.webkit.org/show_bug.cgi?id=82909
60706
60707        Reviewed by Pavel Feldman.
60708
60709        * inspector/front-end/TimelinePresentationModel.js:
60710        (WebInspector.TimelinePresentationModel.prototype.addRecord):
60711
607122012-04-02  Eric Carlson  <eric.carlson@apple.com>
60713
60714        Renaming parameters for positioning a track cue
60715        https://bugs.webkit.org/show_bug.cgi?id=78706
60716
60717        Change WebVTT settings identifiers for spec change: D: -> vertical:, L: -> line:, 
60718        T: -> position:, S: -> size:, A: -> align:
60719
60720        Reviewed by Sam Weinig.
60721
60722        No new tests, existing tests updated for spec changes.
60723
60724        * html/track/TextTrackCue.cpp:
60725        (WebCore::verticalGrowingLeftKeyword): Drive-by change to improve readability.
60726        (WebCore::TextTrackCue::settingName): New, parse the settings keyword.
60727        (WebCore::TextTrackCue::parseSettings): Update to match the current spec.
60728        * html/track/TextTrackCue.h:
60729
60730        * html/track/WebVTTParser.h:
60731        (WebCore::WebVTTParser::isValidSettingDelimiter): New.
60732
607332012-03-29  Sam Weinig  <sam@webkit.org>
60734
60735        Add setting to disable Java for local files even if it is otherwise enabled
60736        https://bugs.webkit.org/show_bug.cgi?id=82685
60737
60738        Reviewed by Anders Carlsson.
60739
60740        * WebCore.exp.in:
60741        Export setting setter.
60742
60743        * html/HTMLAppletElement.cpp:
60744        (WebCore::HTMLAppletElement::canEmbedJava):
60745        * loader/SubframeLoader.cpp:
60746        (WebCore::SubframeLoader::requestPlugin):
60747        * page/Navigator.cpp:
60748        (WebCore::Navigator::javaEnabled):
60749        Check for both isJavaEnabled and isJavaEnabledForLocalFiles.
60750
60751        * page/Settings.cpp:
60752        (WebCore::Settings::setJavaEnabledForLocalFiles):
60753        * page/Settings.h:
60754        (WebCore::Settings::isJavaEnabledForLocalFiles):
60755        Add new setting.
60756
607572012-04-02  Alexander Pavlov  <apavlov@chromium.org>
60758
60759        Web Inspector: Implement frontend for device metrics emulation
60760        https://bugs.webkit.org/show_bug.cgi?id=82891
60761
60762        This change implements the backend-based device metrics emulation capability discovery,
60763        UI (enablement checkbox + input controls), and a persistence setting
60764        for the user-specified device metrics (screen width/height and an auxiliary font scale factor).
60765
60766        Reviewed by Pavel Feldman.
60767
60768        * English.lproj/localizedStrings.js:
60769        * WebCore.gypi:
60770        * WebCore.vcproj/WebCore.vcproj:
60771        * inspector/compile-front-end.py:
60772        * inspector/front-end/Settings.js:
60773        * inspector/front-end/SettingsScreen.js:
60774        (WebInspector.SettingsScreen):
60775        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
60776        (WebInspector.SettingsScreen.prototype._showPaintRectsChanged):
60777        (WebInspector.SettingsScreen.prototype.set _applyDeviceMetricsUserInput):
60778        (WebInspector.SettingsScreen.prototype._setDeviceMetricsOverride):
60779        (WebInspector.SettingsScreen.prototype._setDeviceMetricsOverride.set if):
60780        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement.createInput):
60781        (WebInspector.SettingsScreen.prototype._createDeviceMetricsElement):
60782        * inspector/front-end/UserAgentSupport.js: Added.
60783        (WebInspector.UserAgentSupport.DeviceMetrics):
60784        (WebInspector.UserAgentSupport.DeviceMetrics.parseSetting):
60785        (WebInspector.UserAgentSupport.DeviceMetrics.parseUserInput):
60786        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.isValid):
60787        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.isWidthValid):
60788        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.isHeightValid):
60789        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.isFontScaleFactorValid):
60790        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.toSetting):
60791        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.widthToInput):
60792        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.heightToInput):
60793        (WebInspector.UserAgentSupport.DeviceMetrics.prototype.fontScaleFactorToInput):
60794        * inspector/front-end/WebKit.qrc:
60795        * inspector/front-end/helpScreen.css:
60796        (.help-table > tr > th):
60797        (.help-table > tr > td):
60798        (#resolution-override-section):
60799        * inspector/front-end/inspector.css:
60800        (.hidden):
60801        (.error-input):
60802        * inspector/front-end/inspector.html:
60803        * inspector/front-end/inspector.js:
60804        (WebInspector.doLoadedDone):
60805
608062012-04-02  Alexis Menard  <alexis.menard@openbossa.org>
60807
60808        Rename CSSPropertyLonghand class to StylePropertyShorthand.
60809        https://bugs.webkit.org/show_bug.cgi?id=82624
60810
60811        Reviewed by Antti Koivisto.
60812
60813        Rename CSSPropertyLonghand to StylePropertyShorthand as what CSSPropertyLonghand
60814        is representing is not a longhand but the list of longhands for a given shorthand.
60815        Also in the same time switch all shorthand declarations to use CSSPropertyID enum
60816        rather than a int so it is clear on what kind of data we are dealing with.
60817
60818        In a following patch I will rename CSSPropertyLonghand file.
60819
60820        No new tests : This is a refactoring, no behaviour change intended
60821
60822        * css/CSSComputedStyleDeclaration.cpp:
60823        (WebCore):
60824        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
60825        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
60826        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
60827        (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
60828        * css/CSSComputedStyleDeclaration.h:
60829        (WebCore):
60830        (CSSComputedStyleDeclaration):
60831        * css/CSSParser.cpp:
60832        (WebCore::CSSParser::parseValue):
60833        (WebCore::CSSParser::parseFillShorthand):
60834        (WebCore::CSSParser::parseAnimationShorthand):
60835        (WebCore::CSSParser::parseTransitionShorthand):
60836        (WebCore::CSSParser::parseShorthand):
60837        (WebCore::CSSParser::parse4Values):
60838        * css/CSSParser.h:
60839        (WebCore):
60840        (CSSParser):
60841        * css/CSSProperty.cpp:
60842        (WebCore::resolveToPhysicalProperty):
60843        (WebCore::borderDirections):
60844        (WebCore::CSSProperty::resolveDirectionAwareProperty):
60845        * css/CSSPropertyLonghand.cpp:
60846        (WebCore::backgroundShorthand):
60847        (WebCore::backgroundPositionShorthand):
60848        (WebCore::backgroundRepeatShorthand):
60849        (WebCore::borderShorthand):
60850        (WebCore::borderAbridgedShorthand):
60851        (WebCore::borderBottomShorthand):
60852        (WebCore::borderColorShorthand):
60853        (WebCore::borderImageShorthand):
60854        (WebCore::borderLeftShorthand):
60855        (WebCore::borderRadiusShorthand):
60856        (WebCore::borderRightShorthand):
60857        (WebCore::borderSpacingShorthand):
60858        (WebCore::borderStyleShorthand):
60859        (WebCore::borderTopShorthand):
60860        (WebCore::borderWidthShorthand):
60861        (WebCore::listStyleShorthand):
60862        (WebCore::fontShorthand):
60863        (WebCore::marginShorthand):
60864        (WebCore::outlineShorthand):
60865        (WebCore::overflowShorthand):
60866        (WebCore::paddingShorthand):
60867        (WebCore::webkitAnimationShorthand):
60868        (WebCore::webkitBorderAfterShorthand):
60869        (WebCore::webkitBorderBeforeShorthand):
60870        (WebCore::webkitBorderEndShorthand):
60871        (WebCore::webkitBorderStartShorthand):
60872        (WebCore::webkitColumnsShorthand):
60873        (WebCore::webkitColumnRuleShorthand):
60874        (WebCore::webkitFlexFlowShorthand):
60875        (WebCore::webkitMarginCollapseShorthand):
60876        (WebCore::webkitMarqueeShorthand):
60877        (WebCore::webkitMaskShorthand):
60878        (WebCore::webkitMaskPositionShorthand):
60879        (WebCore::webkitMaskRepeatShorthand):
60880        (WebCore::webkitTextEmphasisShorthand):
60881        (WebCore::webkitTextStrokeShorthand):
60882        (WebCore::webkitTransitionShorthand):
60883        (WebCore::webkitTransformOriginShorthand):
60884        (WebCore::webkitWrapShorthand):
60885        (WebCore::shorthandForProperty):
60886        * css/CSSPropertyLonghand.h:
60887        (WebCore::StylePropertyShorthand::StylePropertyShorthand):
60888        (WebCore::StylePropertyShorthand::properties):
60889        (WebCore::StylePropertyShorthand::propertiesForInitialization):
60890        (StylePropertyShorthand):
60891        (WebCore):
60892        * css/StylePropertySet.cpp:
60893        (WebCore::StylePropertySet::getPropertyValue):
60894        (WebCore::StylePropertySet::borderSpacingValue):
60895        (WebCore::StylePropertySet::get4Values):
60896        (WebCore::StylePropertySet::getLayeredShorthandValue):
60897        (WebCore::StylePropertySet::getShorthandValue):
60898        (WebCore::StylePropertySet::getCommonValue):
60899        (WebCore::StylePropertySet::removeShorthandProperty):
60900        (WebCore::StylePropertySet::propertyIsImportant):
60901        (WebCore::StylePropertySet::setProperty):
60902        (WebCore::StylePropertySet::asText):
60903        (WebCore):
60904        (WebCore::StylePropertySet::removePropertiesInSet):
60905        (WebCore::StylePropertySet::copyPropertiesInSet):
60906        * css/StylePropertySet.h:
60907        (WebCore):
60908        (StylePropertySet):
60909        * editing/EditingStyle.cpp:
60910        (WebCore):
60911        (WebCore::removePropertiesInStyle):
60912        * page/animation/AnimationBase.cpp:
60913        (WebCore::ShorthandPropertyWrapper::ShorthandPropertyWrapper):
60914        (WebCore::addShorthandProperties):
60915        * page/animation/CompositeAnimation.cpp:
60916
609172012-03-28  Pavel Podivilov  <podivilov@chromium.org>
60918
60919        Web Inspector: refactor UI breakpoint listeners.
60920        https://bugs.webkit.org/show_bug.cgi?id=82481
60921
60922        Reviewed by Vsevolod Vlasov.
60923
60924        Breakpoint-added and breakpoint-removed events are currently dispatched on UISourceCode.
60925        That allows us to move handlers that manage SourceFrame's breakpoint decorations from ScriptsPanel to SourceFrame.
60926        SourceFrame's "Loaded" event is removed as it was only used by ScriptsPanel to restore SourceFrame's breakpoints.
60927
60928        * inspector/front-end/DebuggerPresentationModel.js:
60929        * inspector/front-end/JavaScriptSourceFrame.js:
60930        (WebInspector.JavaScriptSourceFrame):
60931        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
60932        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
60933        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
60934        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
60935        (WebInspector.JavaScriptSourceFrame.prototype._addBreakpointDecoration):
60936        (WebInspector.JavaScriptSourceFrame.prototype._removeBreakpointDecoration):
60937        (WebInspector.JavaScriptSourceFrame.prototype._breakpointAdded):
60938        (WebInspector.JavaScriptSourceFrame.prototype._breakpointRemoved):
60939        (WebInspector.JavaScriptSourceFrame.prototype.onTextViewerContentLoaded):
60940        * inspector/front-end/ScriptsPanel.js:
60941        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
60942        (WebInspector.ScriptsPanel.prototype._uiBreakpointAdded):
60943        (WebInspector.ScriptsPanel.prototype._uiBreakpointRemoved):
60944        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
60945        * inspector/front-end/SourceFrame.js:
60946        (WebInspector.SourceFrame.prototype.setContent):
60947        (WebInspector.SourceFrame.prototype.onTextViewerContentLoaded):
60948
609492012-04-02  Rob Buis  <rbuis@rim.com>
60950
60951        [BlackBerry] Take into account policy checks in ClipboardBlackBerry
60952        https://bugs.webkit.org/show_bug.cgi?id=82651
60953
60954        Reviewed by George Staikos.
60955
60956        Add policy checks in the methods we implemented.
60957
60958        Covered by existing tests.
60959
60960        * platform/blackberry/ClipboardBlackBerry.cpp:
60961        (WebCore::ClipboardBlackBerry::clearData):
60962        (WebCore::ClipboardBlackBerry::clearAllData):
60963        (WebCore::ClipboardBlackBerry::getData):
60964        (WebCore::ClipboardBlackBerry::setData):
60965        (WebCore::ClipboardBlackBerry::types):
60966        * platform/blackberry/ClipboardBlackBerry.h:
60967        (WebCore::ClipboardBlackBerry::create):
60968
609692012-04-02  Andrey Kosyakov  <caseq@chromium.org>
60970
60971        Web Inspector: [refactoring] factor our frame aggregation logic to TimelineFrameController
60972        https://bugs.webkit.org/show_bug.cgi?id=82735
60973
60974        Reviewed by Pavel Feldman.
60975
60976        - factor out frame aggregation logic from TimelineVerticalOverview into TimelineFrameController;
60977        - if we don't have frames, pretend each top-level event is a frame (this preserves behavior of vertical overview);
60978        - factor out time-by-category stats aggregation into class methods of TimelineModel for reuse accross timeline modules;
60979        - do not filter top-level events by type in vertical overview mode;
60980
60981        * WebCore.gypi: Added TimelineFrameController.js
60982        * WebCore.vcproj/WebCore.vcproj: ditto.
60983        * inspector/compile-front-end.py: ditto.
60984        * inspector/front-end/TimelineFrameController.js: Added.
60985        (WebInspector.TimelineFrameController):
60986        (WebInspector.TimelineFrameController.prototype._onRecordAdded):
60987        (WebInspector.TimelineFrameController.prototype._onRecordsCleared):
60988        (WebInspector.TimelineFrameController.prototype._addRecord):
60989        (WebInspector.TimelineFrameController.prototype._flushFrame):
60990        (WebInspector.TimelineFrameController.prototype._createSyntheticFrame): create a "frame" based on a single top-level record.
60991        (WebInspector.TimelineFrameController.prototype.dispose): Remove listeners that we added in constructor.
60992        (WebInspector.TimelineFrame):
60993        * inspector/front-end/TimelineModel.js: Added utilities for aggregating times by categories.
60994        (WebInspector.TimelineModel.aggregateTimeByCategories):
60995        (WebInspector.TimelineModel.aggregateTimeForRecord):
60996        * inspector/front-end/TimelineOverviewPane.js: Use frame information supplied by TimelineFrameController.
60997        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
60998        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
60999        (WebInspector.TimelineOverviewPane.prototype.addFrame):
61000        (WebInspector.TimelineVerticalOverview.prototype.reset): Clear stored frames upon reset()
61001        (WebInspector.TimelineVerticalOverview.prototype.update):
61002        (WebInspector.TimelineVerticalOverview.prototype.addFrame):
61003        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
61004        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
61005        * inspector/front-end/TimelinePanel.js: Create/dispose TimelineFrameController when switching to/from vertical overview mode.
61006        * inspector/front-end/TimelinePresentationModel.js:
61007        (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats): Factored out statistics aggregation to utilities method in the model.
61008        * inspector/front-end/WebKit.qrc: Added TimelineFrameController.js
61009        * inspector/front-end/inspector.html: ditto.
61010
610112012-03-31  Alexander Pavlov  <apavlov@chromium.org>
61012
61013        Web Inspector: Implement backend for device metrics emulation
61014        https://bugs.webkit.org/show_bug.cgi?id=82827
61015
61016        This change implements the inspector backend for the device metrics override feature,
61017        as well as the respective InspectorClient capability detection.
61018        When a navigation occurs in the override mode, the page auto-zooming ("fit width")
61019        is initiated upon the first layout after the DOMContentLoaded event.
61020
61021        Reviewed by Pavel Feldman.
61022
61023        * inspector/Inspector.json:
61024        * inspector/InspectorClient.h:
61025        (WebCore::InspectorClient::canOverrideDeviceMetrics):
61026        (WebCore::InspectorClient::overrideDeviceMetrics):
61027        (WebCore::InspectorClient::autoZoomPageToFitWidth):
61028        (InspectorClient):
61029        * inspector/InspectorInstrumentation.cpp:
61030        (WebCore::InspectorInstrumentation::didLayoutImpl):
61031        * inspector/InspectorPageAgent.cpp:
61032        (PageAgentState):
61033        (WebCore::InspectorPageAgent::InspectorPageAgent):
61034        (WebCore::InspectorPageAgent::restore):
61035        (WebCore::InspectorPageAgent::disable):
61036        (WebCore::InspectorPageAgent::canOverrideDeviceMetrics):
61037        (WebCore):
61038        (WebCore::InspectorPageAgent::setDeviceMetricsOverride):
61039        (WebCore::InspectorPageAgent::domContentEventFired):
61040        (WebCore::InspectorPageAgent::loadEventFired):
61041        (WebCore::InspectorPageAgent::didLayout):
61042        (WebCore::InspectorPageAgent::updateViewMetrics):
61043        * inspector/InspectorPageAgent.h:
61044        * inspector/InspectorState.cpp:
61045        (WebCore::InspectorState::getDouble):
61046        (WebCore):
61047        * inspector/InspectorState.h:
61048        (InspectorState):
61049        (WebCore::InspectorState::setDouble):
61050
610512012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
61052
61053        Unreviewed, rolling out r112813 and r112837.
61054        http://trac.webkit.org/changeset/112813
61055        http://trac.webkit.org/changeset/112837
61056        https://bugs.webkit.org/show_bug.cgi?id=82885
61057
61058        It made two tests crash on WK2 (Requested by Ossy on #webkit).
61059
61060        * CMakeLists.txt:
61061        * GNUmakefile.list.am:
61062        * Target.pri:
61063        * WebCore.gypi:
61064        * WebCore.xcodeproj/project.pbxproj:
61065        * svg/SVGAllInOne.cpp:
61066        * svg/SVGAnimateElement.cpp:
61067        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
61068        (WebCore::SVGAnimateElement::calculateAnimatedValue):
61069        (WebCore::propertyTypesAreConsistent):
61070        (WebCore::SVGAnimateElement::applyResultsToTarget):
61071        * svg/SVGAnimatedAngle.cpp:
61072        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
61073        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
61074        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
61075        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
61076        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
61077        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
61078        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
61079        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
61080        * svg/SVGAnimatedAngle.h:
61081        (WebCore):
61082        * svg/SVGAnimatedBoolean.cpp:
61083        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
61084        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
61085        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
61086        * svg/SVGAnimatedEnumeration.cpp: Removed.
61087        * svg/SVGAnimatedEnumeration.h:
61088        (WebCore):
61089        * svg/SVGAnimatedInteger.cpp:
61090        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
61091        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
61092        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
61093        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
61094        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
61095        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
61096        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
61097        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
61098        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
61099        * svg/SVGAnimatedLength.cpp:
61100        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
61101        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
61102        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
61103        * svg/SVGAnimatedLengthList.cpp:
61104        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
61105        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
61106        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
61107        * svg/SVGAnimatedNumber.cpp:
61108        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
61109        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
61110        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
61111        * svg/SVGAnimatedNumberList.cpp:
61112        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
61113        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
61114        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
61115        * svg/SVGAnimatedNumberOptionalNumber.cpp:
61116        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
61117        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
61118        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
61119        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
61120        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
61121        * svg/SVGAnimatedPreserveAspectRatio.cpp:
61122        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
61123        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
61124        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
61125        * svg/SVGAnimatedRect.cpp:
61126        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
61127        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
61128        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
61129        * svg/SVGAnimatedString.cpp:
61130        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
61131        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
61132        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
61133        * svg/SVGAnimatedTransformList.cpp:
61134        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
61135        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
61136        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
61137        * svg/SVGAnimatedType.cpp:
61138        (WebCore::SVGAnimatedType::~SVGAnimatedType):
61139        (WebCore::SVGAnimatedType::createAngle):
61140        (WebCore::SVGAnimatedType::angle):
61141        (WebCore::SVGAnimatedType::valueAsString):
61142        (WebCore::SVGAnimatedType::setValueAsString):
61143        (WebCore::SVGAnimatedType::setPreserveAspectRatioBaseValue):
61144        (WebCore):
61145        (WebCore::SVGAnimatedType::supportsAnimVal):
61146        * svg/SVGAnimatedType.h:
61147        (SVGAnimatedType):
61148        * svg/SVGAnimatedTypeAnimator.h:
61149        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
61150        (SVGAnimatedTypeAnimator):
61151        (WebCore::SVGAnimatedTypeAnimator::startAnimation):
61152        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
61153        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
61154        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
61155        (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
61156        (WebCore::SVGAnimatedTypeAnimator::resetFromOneBaseValue):
61157        (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
61158        (WebCore::SVGAnimatedTypeAnimator::resetFromTwoBaseValues):
61159        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
61160        (WebCore::SVGAnimatedTypeAnimator::collectAnimatedPropertiesFromInstances):
61161        * svg/SVGAnimatorFactory.h:
61162        (WebCore::SVGAnimatorFactory::create):
61163        * svg/SVGMarkerElement.cpp:
61164        (WebCore):
61165        * svg/properties/SVGAnimatedListPropertyTearOff.h:
61166        (SVGAnimatedListPropertyTearOff):
61167        * svg/properties/SVGAnimatedPropertyTearOff.h:
61168        (SVGAnimatedPropertyTearOff):
61169        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
61170
611712012-04-02  Yury Semikhatsky  <yurys@chromium.org>
61172
61173        [V8] Web Inspector: don't crash when resolving DOM wrapper heap snapshot node to JS object
61174        https://bugs.webkit.org/show_bug.cgi?id=82872
61175
61176        Reviewed by Pavel Feldman.
61177
61178        Don't resolve heap object to a JS object if it is a wrapper boilerplate.
61179
61180        Test: inspector/profiler/heap-snapshot-inspect-dom-wrapper.html
61181
61182        * bindings/v8/ScriptProfiler.cpp:
61183        (WebCore::ScriptProfiler::objectByHeapObjectId):
61184        (WebCore):
61185        * inspector/InspectorProfilerAgent.cpp:
61186        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
61187
611882012-04-02  Sheriff Bot  <webkit.review.bot@gmail.com>
61189
61190        Unreviewed, rolling out r112659.
61191        http://trac.webkit.org/changeset/112659
61192        https://bugs.webkit.org/show_bug.cgi?id=82884
61193
61194        Undo the rollout of 112489 since this was not the cause of
61195        failures (Requested by apavlov on #webkit).
61196
61197        * css/CSSSegmentedFontFace.cpp:
61198        (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading):
61199        (WebCore):
61200        (WebCore::CSSSegmentedFontFace::getFontData):
61201
612022012-04-01  Antti Koivisto  <antti@apple.com>
61203
61204        Add mechanism for mapping from StyleRules back to fully constructed CSSStyleRules 
61205        https://bugs.webkit.org/show_bug.cgi?id=82847
61206
61207        Reviewed by Andreas Kling.
61208
61209        Inspector is using CSSStyleSelector to calculate the CSS rules matched by a given element and
61210        expects to be able to walk the parent chain. After 82728 the stylesheet object tree won't have
61211        parent pointers and we are going to need another mechanism to support this.
61212        
61213        The new code does not actually run without 82728.
61214        
61215        * css/CSSStyleSelector.cpp:
61216        (WebCore):
61217        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
61218        (WebCore::loadFullDefaultStyle):
61219        (WebCore::ensureDefaultStyleSheetsForElement):
61220        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
61221        * css/CSSStyleSelector.h:
61222        (CSSStyleSelector):
61223    
61224        Add ensureFullCSSOMWrapperForStyleRule() method which traverses through all style
61225        sheets that apply to the document and constucts wrappers for the rules. These wrappers
61226        are cached to a map. The map can then be used for StyleRule -> CSSStyleRule lookups.
61227        
61228        This uses quite a bit of memory so should not be used for any normal engine functions.
61229    
61230        * inspector/InspectorCSSAgent.cpp:
61231        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
61232        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
61233    
61234        Use the new mechanism to get fully functional wrappers for rule objects without parent pointer.
61235    
61236        * inspector/InspectorCSSAgent.h:
61237        (InspectorCSSAgent):
61238
612392012-04-02  Carlos Garcia Campos  <cgarcia@igalia.com>
61240
61241        Unreviewed. Fix make distcheck issues.
61242
61243        * GNUmakefile.list.am: Remove duplicated files and add missing
61244        header.
61245
612462012-04-02  Levi Weintraub  <leviw@chromium.org>
61247
61248        Add rounding to Plugin creation in SubframeLoader
61249        https://bugs.webkit.org/show_bug.cgi?id=82221
61250
61251        Reviewed by Eric Seidel.
61252
61253        Adding rounding to the LayoutSize used to construct Plugins in SubframeLoader. Plugins, which
61254        are widgets, are always placed on integer boundaries, which means their sizes can be rounded
61255        without considering their location. See https://trac.webkit.org/wiki/LayoutUnit for details.
61256
61257        No new tests. No change in behavior.
61258
61259        * loader/SubframeLoader.cpp:
61260        (WebCore::SubframeLoader::loadMediaPlayerProxyPlugin):
61261        (WebCore::SubframeLoader::createJavaAppletWidget):
61262        (WebCore::SubframeLoader::loadPlugin):
61263
612642012-04-02  Mario Sanchez Prada  <msanchez@igalia.com>
61265
61266        in page anchor and keyboard navigation
61267        https://bugs.webkit.org/show_bug.cgi?id=17450
61268
61269        Reviewed by Chris Fleizach.
61270
61271        Ensure that the position of the caret and the focused element
61272        get updated when following an anchor link.
61273
61274        The implementation is moved from platform specific files out to
61275        AXObjectCache.cpp since it should be a cross-platform valid
61276        solution. However, the new code is currently activated for the Mac
61277        and GTK ports only, since the windows and chromium ports provide
61278        their own specific code, and removing it now might break things.
61279
61280        Test: accessibility/anchor-link-selection-and-focus.html
61281
61282        * accessibility/AXObjectCache.cpp:
61283        (WebCore):
61284        (WebCore::AXObjectCache::handleScrolledToAnchor): Cross-platform
61285        implementation of the fix, only activated for Mac and GTK for now.
61286        * accessibility/gtk/AXObjectCacheAtk.cpp: Removed the GTK-specific
61287        implementation of WebCore::AXObjectCache::handleScrolledToAnchor.
61288        * accessibility/mac/AXObjectCacheMac.mm: Removed the Mac-specific
61289        implementation of WebCore::AXObjectCache::handleScrolledToAnchor.
61290
612912012-04-02  Hayato Ito  <hayato@chromium.org>
61292
61293        [Shadow DOM] Introduce ComposedShadowTreeWalker as a successor of ReifiedTreeTraversal APIs
61294        https://bugs.webkit.org/show_bug.cgi?id=82009
61295
61296        Reviewed by Dimitri Glazkov.
61297
61298        ComposedShadowTreeWalker is intended to be a successor of current ReifiedTreeTraversal APIs.
61299        ComposedShadowTreeWalker uses a cursor pattern and takes a starting node in its constructor.
61300
61301        A typical usage is:
61302
61303          for (ComposedShadowTreeWalker walker(node); walker.get(); walker.next()) {
61304                ...
61305          }
61306
61307        Follow-up patches will update clients which use current ReifiedTreeTraversal APIs so that they use the Walker.
61308        More tests will come along with these actual use cases in follow-up patches.
61309        After that, I'll get rid of ReifiedTreeTraversal APIs in favor of the Walker.
61310
61311        Note that 'ComposedShadowTree' and 'ReifiedTree' has the same meaning.
61312        Because ReifiedTree is not intuitive name, we are starting to use 'ComposedShadowTree' from now.
61313
61314        Test: fast/dom/shadow/composed-shadow-tree-walker.html
61315
61316        * CMakeLists.txt:
61317        * GNUmakefile.list.am:
61318        * Target.pri:
61319        * WebCore.exp.in:
61320        * WebCore.gypi:
61321        * WebCore.vcproj/WebCore.vcproj:
61322        * WebCore.xcodeproj/project.pbxproj:
61323        * dom/ComposedShadowTreeWalker.cpp: Added.
61324        (WebCore):
61325        (WebCore::isShadowHost):
61326        (WebCore::shadowTreeFor):
61327        (WebCore::shadowTreeOfParent):
61328        (WebCore::ComposedShadowTreeWalker::ComposedShadowTreeWalker):
61329        (WebCore::ComposedShadowTreeWalker::fromFirstChild):
61330        (WebCore::ComposedShadowTreeWalker::firstChild):
61331        (WebCore::ComposedShadowTreeWalker::traverseFirstChild):
61332        (WebCore::ComposedShadowTreeWalker::lastChild):
61333        (WebCore::ComposedShadowTreeWalker::traverseLastChild):
61334        (WebCore::ComposedShadowTreeWalker::traverseChild):
61335        (WebCore::ComposedShadowTreeWalker::traverseLightChildren):
61336        (WebCore::ComposedShadowTreeWalker::traverseNode):
61337        (WebCore::ComposedShadowTreeWalker::nextSibling):
61338        (WebCore::ComposedShadowTreeWalker::previousSibling):
61339        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToInsertionPoint):
61340        (WebCore::ComposedShadowTreeWalker::traverseSiblingInCurrentTree):
61341        (WebCore::ComposedShadowTreeWalker::traverseSiblingOrBackToYoungerShadowRoot):
61342        (WebCore::ComposedShadowTreeWalker::escapeFallbackContentElement):
61343        (WebCore::ComposedShadowTreeWalker::traverseNodeEscapingFallbackContents):
61344        (WebCore::ComposedShadowTreeWalker::parent):
61345        (WebCore::ComposedShadowTreeWalker::traverseParent):
61346        (WebCore::ComposedShadowTreeWalker::traverseParentInCurrentTree):
61347        (WebCore::ComposedShadowTreeWalker::traverseParentBackToYoungerShadowRootOrHost):
61348        (WebCore::ComposedShadowTreeWalker::traverseNextSibling):
61349        (WebCore::ComposedShadowTreeWalker::traversePreviousSibling):
61350        (WebCore::ComposedShadowTreeWalker::next):
61351        (WebCore::ComposedShadowTreeWalker::previous):
61352        * dom/ComposedShadowTreeWalker.h: Added.
61353        (WebCore):
61354        (ComposedShadowTreeWalker):
61355        (WebCore::ComposedShadowTreeWalker::get):
61356        (WebCore::ComposedShadowTreeWalker::canCrossUpperBoundary):
61357        (WebCore::ComposedShadowTreeWalker::assertPrecondition):
61358        (WebCore::ComposedShadowTreeWalker::assertPostcondition):
61359        * testing/Internals.cpp:
61360        (WebCore::Internals::nextSiblingByWalker):
61361        (WebCore):
61362        (WebCore::Internals::firstChildByWalker):
61363        (WebCore::Internals::lastChildByWalker):
61364        (WebCore::Internals::nextNodeByWalker):
61365        (WebCore::Internals::previousNodeByWalker):
61366        * testing/Internals.h:
61367        (Internals):
61368        * testing/Internals.idl:
61369
613702012-04-02  Pavel Podivilov  <podivilov@chromium.org>
61371
61372        Web Inspector: breakpoints are not shown in sidebar pane after switching pretty-print mode.
61373        https://bugs.webkit.org/show_bug.cgi?id=82768
61374
61375        Reviewed by Yury Semikhatsky.
61376
61377        When UISourceCode is replaced with another in ScriptsPanel, newly added
61378        UISourceCode could already have breakpoints. We should iterate over existing
61379        breakpoints and add them to sidebar pane.
61380
61381        * inspector/front-end/ScriptsPanel.js:
61382        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
61383
613842012-04-02  Eric Seidel  <eric@webkit.org>
61385
61386        Teach RuleSet about modern memory management
61387        https://bugs.webkit.org/show_bug.cgi?id=82856
61388
61389        Reviewed by Adam Barth.
61390
61391        No change in behavior, thus no tests.
61392
61393        * css/CSSStyleSelector.cpp:
61394        (WebCore::RuleSet::create):
61395        (RuleSet):
61396        (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
61397        (WebCore::CSSStyleSelector::CSSStyleSelector):
61398        (WebCore::makeRuleSet):
61399        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
61400        (WebCore::loadFullDefaultStyle):
61401        (WebCore::loadSimpleDefaultStyle):
61402        (WebCore::loadViewSourceStyle):
61403        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
61404
614052012-04-02  Kent Tamura  <tkent@chromium.org>
61406
61407        Add a calendar picker indicator to date-type input fields
61408        https://bugs.webkit.org/show_bug.cgi?id=80478
61409
61410        Reviewed by Hajime Morita.
61411
61412        Add an indicator to date-type controls. The bahevior change is enclosed
61413        with ENABLE_CALENDAR_PICKER.
61414
61415        - Remove spin buttons from date-type controls.
61416        It's not so helpful if we have a calendar picker. We introduce
61417        TextFieldInputType::shouldHaveSpinButton().
61418
61419        - Add CalendarPickerElement.
61420        This is added into a shadow tree of a date-type control. It uses
61421        RenderDetailsMarker.
61422
61423        We're going to add click handler and so on to CalendarPickerElement.
61424
61425        Test: fast/forms/date/date-appearance.html
61426
61427        * WebCore.gypi: Add CalendarPickerElement.{cpp,h}
61428        * css/html.css:
61429        (input::-webkit-calendar-picker-indicator):
61430        * html/DateInputType.cpp:
61431        (WebCore::DateInputType::createShadowSubtree): Insert CalendarPickerElement.
61432        (WebCore::DateInputType::needsContainer):
61433        Alwyas return true because we have an extra decoration element.
61434        (WebCore::DateInputType::shouldHaveSpinButton):
61435        Always return false to disable spin button.
61436        * html/DateInputType.h:
61437        (DateInputType): Add declarations.
61438        * html/TextFieldInputType.cpp:
61439        (WebCore::TextFieldInputType::shouldHaveSpinButton):
61440        (WebCore::TextFieldInputType::createShadowSubtree): Move some code to shouldHaveSpinButton().
61441        * html/TextFieldInputType.h:
61442        (TextFieldInputType): Add a declartion.
61443        * html/shadow/CalendarPickerElement.cpp:
61444        (WebCore::CalendarPickerElement::CalendarPickerElement):
61445        (WebCore::CalendarPickerElement::create):
61446        (WebCore::CalendarPickerElement::createRenderer): Creates RenderDetailsMarker.
61447        * html/shadow/CalendarPickerElement.h: Added.
61448        * rendering/RenderDetailsMarker.cpp:
61449        (WebCore::RenderDetailsMarker::isOpen): Always show a down arrow if this is in <input>.
61450        * rendering/RenderDetailsMarker.h:
61451
614522012-04-02  Andrey Kosyakov  <caseq@chromium.org>
61453
61454        Web Inspector: make timeline overview a view
61455        https://bugs.webkit.org/show_bug.cgi?id=82861
61456
61457        Reviewed by Yury Semikhatsky.
61458
61459        - make TimelineOverviewPane a view;
61460        - only update it if it's visible or upon wasShown().
61461
61462        * inspector/front-end/TimelineOverviewPane.js:
61463        (WebInspector.TimelineOverviewPane):
61464        (WebInspector.TimelineOverviewPane.prototype.wasShown): forced update.
61465        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
61466        (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh): skip refresh if not showing;
61467        * inspector/front-end/TimelinePanel.js: timelineOverviewPane.show() instead of appendChild();
61468        (WebInspector.TimelinePanel):
61469
614702012-04-02  Patrick Gansterer  <paroga@webkit.org>
61471
61472        Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r112813.
61473
61474        * svg/SVGAnimatedEnumeration.cpp:
61475        (WebCore::enumerationValueForTargetAttribute):
61476
614772012-04-02  Adam Barth  <abarth@webkit.org>
61478
61479        [Chromium] Move another block of headers from WebKit/chromium/public/platform to Platform/chromium/public
61480        https://bugs.webkit.org/show_bug.cgi?id=82862
61481
61482        Rubber-stamped by Eric Seidel.
61483
61484        This is part of the change discussed in
61485        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020166.html
61486
61487        * WebCore.gypi:
61488        * platform/chromium/support/WebAudioBus.cpp: Copied from Source/WebKit/chromium/src/WebAudioBus.cpp.
61489
614902012-04-01  Adam Barth  <abarth@webkit.org>
61491
61492        [Chromium] Move thread-related APIs from WebKit into Platform
61493        https://bugs.webkit.org/show_bug.cgi?id=82858
61494
61495        Reviewed by Eric Seidel.
61496
61497        This is part of the change discussed in
61498        https://lists.webkit.org/pipermail/webkit-dev/2012-March/020166.html
61499
61500        * WebCore.gypi:
61501        * platform/chromium/support/WebThreadSafeData.cpp: Copied from Source/WebKit/chromium/src/WebThreadSafeData.cpp.
61502
615032012-03-29  Kent Tamura  <tkent@chromium.org>
61504
61505        Fix some problems of text field decoration
61506        https://bugs.webkit.org/show_bug.cgi?id=82693
61507
61508        Reviewed by Dimitri Glazkov.
61509
61510        - Fix a problem that decorations are not removed when the input type is
61511        changed.
61512        - Add a comment to the 'willDetach' callback.
61513
61514        No new tests because the behavior changes are not visible yet.
61515
61516        * GNUMakefile.list.am: Add HTMLShadowElement.*.
61517        * html/InputType.cpp:
61518        (WebCore::InputType::destroyShadowSubtree):
61519        Remove all of ShadowRoot contents, and add a <shadow> element to each of
61520        them. We don't remove ShadowRoots from the tree because it's not
61521        supported well.
61522        * html/shadow/TextFieldDecorationElement.cpp:
61523        (getDecorationRootAndDecoratedRoot): A helper function for decorate().
61524        If the input element has a ShadowRoot with single <shadow> child, we
61525        don't create new ShadowRoot and reuse it.
61526        (WebCore::TextFieldDecorationElement::decorate):
61527        Use getDecorationRootAndDecoratedRoot().
61528        * html/shadow/TextFieldDecorationElement.h:
61529        (TextFieldDecorator): Add a comment to willDetach().
61530
615312012-04-01  Li Yin  <li.yin@intel.com>
61532
61533        [WebSocket]Reserved bits test case should cover both extension and no-extension scenarios
61534        https://bugs.webkit.org/show_bug.cgi?id=82100
61535
61536        Reviewed by Kent Tamura.
61537
61538        When it had no negotiated deflate-frame extension, if browser received the frame with
61539        setting compressed bit, it should fail the connection, and it should cover both
61540        enabling ZLIB port and disabling ZLIB port.
61541
61542        Test:  http/tests/websocket/tests/hybi/reserved-bits.html 
61543
61544        * Modules/websockets/WebSocketDeflateFramer.cpp:
61545        (WebCore::WebSocketDeflateFramer::inflate):
61546
615472012-04-01  Adam Barth  <abarth@webkit.org>
61548
61549        Clean up Document::canNavigate
61550        https://bugs.webkit.org/show_bug.cgi?id=82282
61551
61552        Reviewed by Eric Seidel.
61553
61554        This patch is just a minor clean up to Document::canNavigate. Eric
61555        asked me to clean up the function when I moved it from FrameLoader. I'm
61556        not sure this patch is much of a win, but at least the comments say
61557        things that are more sensible now.
61558
61559        * dom/Document.cpp:
61560        (WebCore::printNavigationErrorMessage):
61561        (WebCore):
61562        (WebCore::Document::canNavigate):
61563
615642012-04-01  Jon Lee  <jonlee@apple.com>
61565
61566        Rename notification properties and functions
61567        https://bugs.webkit.org/show_bug.cgi?id=80482
61568        <rdar://problem/10912432>
61569
61570        Reviewed by Kentaro Hara.
61571
61572        Change method name to close(), and set tag property on Notifications, based on discussions in WG:
61573        http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0024.html
61574        http://lists.w3.org/Archives/Public/public-web-notification/2012Mar/0013.html
61575
61576        * notifications/Notification.cpp:
61577        (WebCore::Notification::~Notification): Use close().
61578        (WebCore::Notification::close):
61579        * notifications/Notification.h:
61580        (Notification):
61581        (WebCore::Notification::cancel): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use close().
61582        (WebCore::Notification::replaceId): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use tag().
61583        (WebCore::Notification::setReplaceId): Wrap in ENABLE(LEGACY_NOTIFICATIONS), and use setTag().
61584        (WebCore::Notification::tag):
61585        (WebCore::Notification::setTag):
61586        * notifications/Notification.idl: Preserve cancel() and replaceID in ENABLE(LEGACY_NOTIFICATIONS), and
61587        close() and tag in ENABLE(NOTIFICATIONS).
61588
615892012-04-01  Eric Seidel  <eric@webkit.org>
61590
61591        Unreviewed, rolling out r112760.
61592        http://trac.webkit.org/changeset/112760
61593        https://bugs.webkit.org/show_bug.cgi?id=82795
61594
61595        Revert addition of webkitseamless.  I'll do this work on
61596        GitHub instead to avoid any half-implemented feature concerns.
61597
61598        * html/HTMLAttributeNames.in:
61599        * html/HTMLIFrameElement.idl:
61600
616012012-04-01  Timothy Hatcher  <timothy@apple.com>
61602
61603        Fix a crash when closing a tab/window while the Web Inspector is stopped in the debugger.
61604
61605        https://webkit.org/b/82846
61606        rdar://problem/8133494
61607
61608        Reviewed by Yury Semikhatsky.
61609
61610        * bindings/js/PageScriptDebugServer.cpp:
61611        (WebCore::PageScriptDebugServer::didPause): Added assert for page and early return. Also assert that
61612        m_pausedPage is null.
61613        (WebCore::PageScriptDebugServer::didContinue): Page can be null if we are continuing because the Page closed.
61614        So add a null check before using it. Added an assert that the page is null or m_pausedPage. 
61615        (WebCore::PageScriptDebugServer::didRemoveLastListener): Added assert for page.
61616
616172012-04-01  Tony Tseung  <tseung@apple.com>
61618
61619        Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
61620        composite fonts from existing physical fonts.
61621        <rdar://problem/10717370>
61622        https://bugs.webkit.org/show_bug.cgi?id=82810
61623        
61624        CoreText have already the features enabled, here we added this to WebKit text layout and rendering.
61625        A member function getCompositeFontReferenceFontData is added to the SimpleFontData class for the component font
61626        correspond to the platformData, in this case, a NSFont. This is used when CoreText layout had resulted
61627        a component of the Composite Font Reference and its corresponding SimpleFontData object is then cached
61628        in the SimpleFontData object of the posting font (Composite Font Reference).
61629        
61630        When glyphs are encoded to form the GlyphPage for rendering, the Composite Font Reference is handled throught
61631        the CoreText layout path (using CTLine), here the resulting glyph is associated with a font which could
61632        be not the original font request. In this case, these are the component fonts of the Composite Font
61633        Reference. This is then identified and then added to the GlyphPage appropriately.
61634        
61635        To support this feature, a member function isCompositeFontReference is added to FontPlatformData to
61636        indicate a font is a Composite Font Reference. Also in order to pass the component font correctly a boolean
61637        isPrinterFont is added to one the FontPlatformData constructors to describe the NSFont.
61638
61639        Reviewed by Dan Bernstein.
61640
61641        Added test LayoutTests/fast/text/international/text-spliced-font.html
61642
61643        * WebCore.exp.in:
61644        Replaced obsolete FontPlatformData constructor entry.
61645
61646        * platform/graphics/FontPlatformData.cpp:
61647        (WebCore::FontPlatformData::FontPlatformData):
61648        Copy of the additional m_isCompositeFontReference and m_isPrinterFont data members.
61649        
61650        (WebCore::FontPlatformData::operator=):
61651        Assignment of the additional m_isCompositeFontReference and m_isPrinterFont data members.
61652        
61653        * platform/graphics/FontPlatformData.h:
61654        (WebCore::FontPlatformData::FontPlatformData):
61655        (FontPlatformData):
61656        Default value of m_isCompositeFontReference and m_isPrinterFont data members are set to false in various constructors.
61657        
61658        (WebCore::FontPlatformData::isCompositeFontReference):
61659        Newly added for Composite Font Reference type font.
61660
61661        (WebCore::FontPlatformData::isPrinterFont):
61662        Newly added for describing the NSFont parameter if is applicable.
61663
61664        (WebCore::FontPlatformData::operator==):
61665        Comparison of the additional m_isCompositeFontReference and m_isPrinterFont data members.
61666
61667        * platform/graphics/SimpleFontData.cpp:
61668        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
61669        Clean up the cache for component fonts of the Composite Font References.
61670
61671        * platform/graphics/SimpleFontData.h:
61672        (SimpleFontData):
61673        Added member function const SimpleFontData* getCompositeFontReferenceFontData(NSFont *key) const.
61674        
61675        (DerivedFontData):
61676        Added CFDictionary for caching the component font of Composite Font Reference.
61677
61678        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
61679        (WebCore::FontPlatformData::FontPlatformData):
61680        Data members m_isCompositeFontReference and m_isPrinterFont are initialised and their values are determined in the body of the contructor.
61681
61682        (WebCore::FontPlatformData::setFont):
61683        Data members m_isCompositeFontReference and m_isPrinterFont are determined and set.
61684        
61685        * platform/graphics/mac/FontCacheMac.mm:
61686        (WebCore::FontCache::createFontPlatformData):
61687        Boolean value isUsingPrinterFont is passed in the new FontPlatformData constructor.
61688        
61689        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
61690        (WebCore::shouldUseCoreText):
61691        Added the condition for Composite Font Reference type font.
61692        
61693        (WebCore::GlyphPage::fill):
61694        In the case of Composite Font Reference, when iterate the runs, component font of Composite Font
61695        Reference is used to fill the glyph index in the GlyphPage.
61696        
61697        * platform/graphics/mac/SimpleFontDataMac.mm:
61698        (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
61699        Newly added method for the component fonts correspond to the platformData, in this case, a NSFont. 
61700        This SimpleFontData is created and cached in this object and will only be deleted when the destructor
61701        if this is called.
61702        
617032012-04-01  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
61704
61705        Support the Network Information API
61706        https://bugs.webkit.org/show_bug.cgi?id=73528
61707
61708        Reviewed by Adam Barth.
61709
61710        Network Information APIs is to provide an interface for Web Applications to access
61711        the underlying network information of device. In Web Application case, they need to know
61712        what current network interface it uses. Because, it is important to know current network
61713        information(bandwidth, metered) in mobile domain. Thus, Web Application can let user know
61714        whether current network information via this new functionality. In addition, in streaming
61715        service case, Web Application can control content resolution according to kind of network.
61716
61717        http://dvcs.w3.org/hg/dap/raw-file/tip/network-api/index.html
61718
61719        Tests: networkinformation/add-listener-from-callback.html
61720               networkinformation/basic-all-types-of-events.html
61721               networkinformation/basic-operation.html
61722               networkinformation/event-after-navigation.html
61723               networkinformation/multiple-frames.html
61724               networkinformation/updates.html
61725               networkinformation/window-property.html
61726
61727        * CMakeLists.txt:
61728        * Modules/networkinfo/NavigatorNetworkInfoConnection.cpp: Added.
61729        (WebCore):
61730        (WebCore::NavigatorNetworkInfoConnection::NavigatorNetworkInfoConnection):
61731        (WebCore::NavigatorNetworkInfoConnection::~NavigatorNetworkInfoConnection):
61732        (WebCore::NavigatorNetworkInfoConnection::from):
61733        (WebCore::NavigatorNetworkInfoConnection::webkitConnection):
61734        * Modules/networkinfo/NavigatorNetworkInfoConnection.h: Added.
61735        (WebCore):
61736        (NavigatorNetworkInfoConnection):
61737        * Modules/networkinfo/NavigatorNetworkInfoConnection.idl: Added.
61738        * Modules/networkinfo/NetworkInfo.cpp: Added.
61739        (WebCore):
61740        (WebCore::NetworkInfo::NetworkInfo):
61741        * Modules/networkinfo/NetworkInfo.h: Added.
61742        (WebCore):
61743        (NetworkInfo):
61744        (WebCore::NetworkInfo::create):
61745        (WebCore::NetworkInfo::bandwidth):
61746        (WebCore::NetworkInfo::metered):
61747        * Modules/networkinfo/NetworkInfoClient.h: Added.
61748        (WebCore):
61749        (NetworkInfoClient):
61750        (WebCore::NetworkInfoClient::~NetworkInfoClient):
61751        * Modules/networkinfo/NetworkInfoConnection.cpp: Added.
61752        (WebCore):
61753        (WebCore::NetworkInfoConnection::create):
61754        (WebCore::NetworkInfoConnection::NetworkInfoConnection):
61755        (WebCore::NetworkInfoConnection::~NetworkInfoConnection):
61756        (WebCore::NetworkInfoConnection::bandwidth):
61757        (WebCore::NetworkInfoConnection::metered):
61758        (WebCore::NetworkInfoConnection::didChangeNetworkInformation):
61759        (WebCore::NetworkInfoConnection::addEventListener):
61760        (WebCore::NetworkInfoConnection::removeEventListener):
61761        (WebCore::NetworkInfoConnection::eventTargetData):
61762        (WebCore::NetworkInfoConnection::ensureEventTargetData):
61763        (WebCore::NetworkInfoConnection::interfaceName):
61764        (WebCore::NetworkInfoConnection::suspend):
61765        (WebCore::NetworkInfoConnection::resume):
61766        (WebCore::NetworkInfoConnection::stop):
61767        * Modules/networkinfo/NetworkInfoConnection.h: Added.
61768        (WebCore):
61769        (NetworkInfoConnection):
61770        (WebCore::NetworkInfoConnection::scriptExecutionContext):
61771        (WebCore::NetworkInfoConnection::canSuspend):
61772        (WebCore::NetworkInfoConnection::refEventTarget):
61773        (WebCore::NetworkInfoConnection::derefEventTarget):
61774        * Modules/networkinfo/NetworkInfoConnection.idl: Added.
61775        * Modules/networkinfo/NetworkInfoController.cpp: Added.
61776        (WebCore):
61777        (WebCore::NetworkInfoController::NetworkInfoController):
61778        (WebCore::NetworkInfoController::~NetworkInfoController):
61779        (WebCore::NetworkInfoController::create):
61780        (WebCore::NetworkInfoController::addListener):
61781        (WebCore::NetworkInfoController::removeListener):
61782        (WebCore::NetworkInfoController::didChangeNetworkInformation):
61783        (WebCore::NetworkInfoController::isActive):
61784        (WebCore::NetworkInfoController::supplementName):
61785        (WebCore::provideNetworkInfoTo):
61786        * Modules/networkinfo/NetworkInfoController.h: Added.
61787        (WebCore):
61788        (NetworkInfoController):
61789        (WebCore::NetworkInfoController::client):
61790        (WebCore::NetworkInfoController::from):
61791        * dom/EventNames.h:
61792        (WebCore):
61793        * dom/EventTargetFactory.in:
61794        * testing/Internals.cpp:
61795        (WebCore::Internals::setNetworkInformation):
61796        (WebCore):
61797        * testing/Internals.h:
61798        (Internals):
61799        * testing/Internals.idl:
61800
618012012-04-01  Leo Yang  <leo.yang@torchmobile.com.cn>
61802
61803        [BlackBerry] Use GraphicsContext::fillPath() and strokePath instead of drawPath() in RenderThemeBlackBerry
61804        https://bugs.webkit.org/show_bug.cgi?id=81486
61805
61806        Reviewed by Rob Buis.
61807
61808        RenderThemeBlackBerry was using GraphicsContext::drawPath() that's added for BlackBerry internally.
61809        But we already have fillPath() and strokePath() in GraphicsContext. So just substitute drawPath()
61810        by them. Also fix a build issue by adding a #include line.
61811
61812        No functionalities changed, no new tests.
61813
61814        * platform/blackberry/RenderThemeBlackBerry.cpp:
61815        (WebCore::RenderThemeBlackBerry::paintTextFieldOrTextAreaOrSearchField):
61816        (WebCore::RenderThemeBlackBerry::paintButton):
61817
618182012-04-01  Nikolas Zimmermann  <nzimmermann@rim.com>
61819
61820        Enable animVal support for SVGAnimatedEnumeration
61821        https://bugs.webkit.org/show_bug.cgi?id=82459
61822
61823        Reviewed by Dirk Schulze.
61824
61825        Enable animVal support for the last missing SVG DOM primitive: SVGAnimatedEnumeration.
61826        It's a bit more involved than the others as we have to differentiate between the various
61827        enumerations to use the correct SVGPropertyTraits<MyEnum>::fromString() code-path.
61828
61829        One SVGAnimatedEnumeration property in the SVG DOM is special: SVGAnimatedEnumeration orientType
61830        from SVGMarkerElement. SVGMarkerElement exposes both the orientType and SVGAnimatedAngle orientAngle
61831        SVG DOM properties and both get mapped to the same SVGNames::orientAttr ("orient" XML attribute).
61832        That means that any animation of the orientAttr has to update both orientType & orientAngle.
61833
61834        This is a not a new requirement, we already support attributes like 'stdDeviation' from
61835        SVGFEGaussianBlurElement, which get mapped to multiple SVG DOM objects: SVGAnimatedInteger stdDeviationX/Y.
61836        The difference is that <integer-optional-integer> or <number-optional-number> animations use the
61837        same type in the pair<xxx, xxx> (eg. both int, or both float). The 'orient' attribute needs to be
61838        mapped to pair<xxx, yyy> types. Generalize the templates in SVGAnimatedTypeAnimator to support that.
61839
61840        Example:
61841        <marker id="someMarkerElement" orient="45deg"/>
61842        <animate fill="remove" begin="1s" dur="2s" from="90deg" to="auto" attributeName="orient" xlink:href="#someMarkerElement"/>
61843
61844        at 0s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
61845               someMarkerElement.orientAngle.animVal.value = 45
61846
61847               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
61848               someMarkerElement.orientAngle.baseVal.value = 45
61849
61850        at 1s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
61851               someMarkerElement.orientAngle.animVal.value = 90
61852
61853               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
61854               someMarkerElement.orientAngle.baseVal.value = 45
61855
61856        at 2s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_AUTO
61857               someMarkerElement.orientAngle.animVal.value = 0
61858
61859               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
61860               someMarkerElement.orientAngle.baseVal.value = 45
61861
61862         > 3s: someMarkerElement.orientType.animVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
61863               someMarkerElement.orientAngle.animVal.value = 45
61864
61865               someMarkerElement.orientType.baseVal = SVGMarkerElement.SVG_MARKER_ORIENT_ANGLE
61866               someMarkerElement.orientAngle.baseVal.value = 45
61867
61868        We need to map the 'orient' attribute to a pair<SVGAngle, unsigned short> type, in order
61869        to track both orientAngle & orientType at the same type. Fortunately SVGAnimatedAngle
61870        is only used in the SVG DOM for SVGMarkerElements orientAngle property. We can directly
61871        switch SVGAnimatedAngleAnimator to the new pair<SVGAngle, unsigned short> type instead
61872        of having to introduce a special SVGAnimatedAngleAndEnumerationAnimator.
61873
61874        Added tests for all SVGAnimatedEnumeration properties in the SVG DOM, including an extensive set of tests
61875        for the synchronization of the orientType / orientAngle properties, when they get animated.
61876
61877        Tests: svg/animations/animate-marker-orient-from-angle-to-angle.html
61878               svg/animations/animate-marker-orient-from-angle-to-auto.html
61879               svg/animations/animate-marker-orient-to-angle.html
61880               svg/animations/svgenum-animation-1.html
61881               svg/animations/svgenum-animation-10.html
61882               svg/animations/svgenum-animation-11.html
61883               svg/animations/svgenum-animation-12.html
61884               svg/animations/svgenum-animation-13.html
61885               svg/animations/svgenum-animation-2.html
61886               svg/animations/svgenum-animation-3.html
61887               svg/animations/svgenum-animation-4.html
61888               svg/animations/svgenum-animation-5.html
61889               svg/animations/svgenum-animation-6.html
61890               svg/animations/svgenum-animation-7.html
61891               svg/animations/svgenum-animation-8.html
61892               svg/animations/svgenum-animation-9.html
61893
61894        * CMakeLists.txt:
61895        * GNUmakefile.list.am:
61896        * Target.pri:
61897        * WebCore.gypi:
61898        * WebCore.xcodeproj/project.pbxproj:
61899        * svg/SVGAllInOne.cpp:
61900        * svg/SVGAnimateElement.cpp:
61901        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
61902        (WebCore::SVGAnimateElement::calculateAnimatedValue):
61903        (WebCore::propertyTypesAreConsistent):
61904        (WebCore::SVGAnimateElement::applyResultsToTarget):
61905        * svg/SVGAnimatedAngle.cpp:
61906        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
61907        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
61908        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
61909        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
61910        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
61911        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
61912        (WebCore::SVGAnimatedAngleAnimator::calculateFromAndByValues):
61913        (WebCore::SVGAnimatedAngleAnimator::calculateAnimatedValue):
61914        * svg/SVGAnimatedAngle.h:
61915        (WebCore):
61916        * svg/SVGAnimatedBoolean.cpp:
61917        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
61918        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
61919        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
61920        * svg/SVGAnimatedEnumeration.cpp: Added.
61921        (WebCore):
61922        (WebCore::enumerationValueForTargetAttribute):
61923        (WebCore::SVGAnimatedEnumerationAnimator::SVGAnimatedEnumerationAnimator):
61924        (WebCore::SVGAnimatedEnumerationAnimator::constructFromString):
61925        (WebCore::SVGAnimatedEnumerationAnimator::startAnimValAnimation):
61926        (WebCore::SVGAnimatedEnumerationAnimator::stopAnimValAnimation):
61927        (WebCore::SVGAnimatedEnumerationAnimator::resetAnimValToBaseVal):
61928        (WebCore::SVGAnimatedEnumerationAnimator::animValWillChange):
61929        (WebCore::SVGAnimatedEnumerationAnimator::animValDidChange):
61930        (WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndToValues):
61931        (WebCore::SVGAnimatedEnumerationAnimator::calculateFromAndByValues):
61932        (WebCore::SVGAnimatedEnumerationAnimator::calculateAnimatedValue):
61933        (WebCore::SVGAnimatedEnumerationAnimator::calculateDistance):
61934        * svg/SVGAnimatedEnumeration.h:
61935        (SVGAnimatedEnumerationAnimator):
61936        (WebCore::SVGAnimatedEnumerationAnimator::~SVGAnimatedEnumerationAnimator):
61937        (WebCore):
61938        * svg/SVGAnimatedInteger.cpp:
61939        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
61940        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
61941        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
61942        * svg/SVGAnimatedIntegerOptionalInteger.cpp:
61943        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
61944        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
61945        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
61946        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
61947        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
61948        * svg/SVGAnimatedLength.cpp:
61949        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
61950        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
61951        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
61952        * svg/SVGAnimatedLengthList.cpp:
61953        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
61954        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
61955        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
61956        * svg/SVGAnimatedNumber.cpp:
61957        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
61958        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
61959        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
61960        * svg/SVGAnimatedNumberList.cpp:
61961        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
61962        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
61963        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
61964        * svg/SVGAnimatedNumberOptionalNumber.cpp:
61965        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
61966        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
61967        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
61968        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
61969        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
61970        * svg/SVGAnimatedPreserveAspectRatio.cpp:
61971        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
61972        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
61973        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
61974        * svg/SVGAnimatedRect.cpp:
61975        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
61976        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
61977        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
61978        * svg/SVGAnimatedString.cpp:
61979        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
61980        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
61981        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
61982        * svg/SVGAnimatedTransformList.cpp:
61983        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
61984        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
61985        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
61986        * svg/SVGAnimatedType.cpp:
61987        (WebCore::SVGAnimatedType::~SVGAnimatedType):
61988        (WebCore::SVGAnimatedType::createAngleAndEnumeration):
61989        (WebCore::SVGAnimatedType::createEnumeration):
61990        (WebCore):
61991        (WebCore::SVGAnimatedType::angleAndEnumeration):
61992        (WebCore::SVGAnimatedType::enumeration):
61993        (WebCore::SVGAnimatedType::valueAsString):
61994        (WebCore::SVGAnimatedType::setValueAsString):
61995        (WebCore::SVGAnimatedType::supportsAnimVal):
61996        * svg/SVGAnimatedType.h:
61997        (SVGAnimatedType):
61998        * svg/SVGAnimatedTypeAnimator.h:
61999        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
62000        (SVGAnimatedTypeAnimator):
62001        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
62002        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValue):
62003        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
62004        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
62005        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
62006        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValues):
62007        (WebCore::SVGAnimatedTypeAnimator::resetFromBaseValues):
62008        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForTypes):
62009        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForTypes):
62010        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForTypes):
62011        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
62012        (WebCore::SVGAnimatedTypeAnimator::executeAction):
62013        * svg/SVGAnimatorFactory.h:
62014        (WebCore::SVGAnimatorFactory::create):
62015        * svg/SVGMarkerElement.cpp:
62016        (WebCore):
62017        * svg/properties/SVGAnimatedListPropertyTearOff.h:
62018        (SVGAnimatedListPropertyTearOff):
62019        * svg/properties/SVGAnimatedPropertyTearOff.h:
62020        (SVGAnimatedPropertyTearOff):
62021        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
62022        (SVGAnimatedStaticPropertyTearOff):
62023
620242012-04-01  Hao Zheng  <zhenghao@chromium.org>
62025
62026        [chromium] Do not generate custom signature for static methods.
62027        https://bugs.webkit.org/show_bug.cgi?id=79222
62028
62029        Reviewed by Kentaro Hara.
62030
62031        No new tests. Covered by existing tests when MEDIA_STREAM is disabled.
62032
62033        * bindings/scripts/CodeGeneratorV8.pm:
62034        (RequiresCustomSignature):
62035
620362012-03-31  Steve Falkenburg  <sfalken@apple.com>
62037
62038        Windows build fix.
62039
62040        * WebCore.vcproj/WebCore.make:
62041
620422012-03-31  Philip Rogers  <pdr@google.com>
62043
62044        Fix complex strokes on CG platform
62045        https://bugs.webkit.org/show_bug.cgi?id=80423
62046
62047        Reviewed by Eric Seidel.
62048
62049        This change fixes a mistake in r112667 where the CG platform did not properly handle
62050        complex strokes. The mistake was to check for complex fills instead of complex strokes,
62051        which resulted in all complex strokes rendering as black.
62052
62053        No new tests, this change is covered by the following existing tests that were regressed:
62054        1) svg/custom/gradient-stroke-width.svg
62055        2) svg/custom/transform-with-shadow-and-gradient.svg
62056
62057        * platform/graphics/cg/GraphicsContextCG.cpp:
62058        (WebCore::GraphicsContext::platformStrokeEllipse):
62059
620602012-03-31  Jochen Eisinger  <jochen@chromium.org>
62061
62062        Don't insert linebreaks into text input fields.
62063        https://bugs.webkit.org/show_bug.cgi?id=81660
62064
62065        Reviewed by Ryosuke Niwa.
62066
62067        Test: fast/forms/textfield-no-linebreak.html
62068
62069        * editing/TypingCommand.cpp:
62070        (canAppendNewLineFeed): Only assume that a linefeed can be appended, if
62071        after the BeforeTextInserted event the event text is still a newline.
62072
620732012-03-31  Nikolas Zimmermann  <nzimmermann@rim.com>
62074
62075        LayoutTests: [r112391] Pixel test failure of svg/custom/preserve-aspect-ratio-syntax.svg
62076        https://bugs.webkit.org/show_bug.cgi?id=82469
62077
62078        Fix regression from r112391. The test excerising this code path is skipped on Lion, due to a libxml2 bug.
62079        I didn't notice I broke preserveAspectRatio parsing for many corner cases, revert to old logic.
62080
62081        * svg/SVGPreserveAspectRatio.cpp:
62082        (WebCore::SVGPreserveAspectRatio::parse):
62083
620842012-03-31  Antti Koivisto  <antti@apple.com>
62085
62086        CSSStyleRules should own their CSSStyleDeclarations 
62087        https://bugs.webkit.org/show_bug.cgi?id=82832
62088
62089        Reviewed by Andreas Kling.
62090
62091        Move the rule properties CSSOM wrapper ownership from the StylePropertySet to the rule itself.
62092        This is preparation for bug 82728 (Split remaining CSSRules into internal and CSSOM types). This
62093        temporarily grows the size of CSSStyleRule by a pointer (82728 will give the memory back and more)
62094
62095        * css/CSSFontFaceRule.cpp:
62096        (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
62097        (WebCore):
62098        (WebCore::CSSFontFaceRule::style):
62099        * css/CSSFontFaceRule.h:
62100        (WebCore):
62101        (CSSFontFaceRule):
62102        * css/CSSPageRule.cpp:
62103        (WebCore::CSSPageRule::~CSSPageRule):
62104        (WebCore):
62105        (WebCore::CSSPageRule::style):
62106        * css/CSSPageRule.h:
62107        (WebCore):
62108        (CSSPageRule):
62109        * css/CSSStyleRule.cpp:
62110        (WebCore::CSSStyleRule::~CSSStyleRule):
62111        (WebCore::CSSStyleRule::style):
62112        * css/CSSStyleRule.h:
62113        (WebCore):
62114        (CSSStyleRule):
62115        
62116            Make the rules own the property CSSOM wrapper.
62117        
62118        * css/CSSStyleSelector.cpp:
62119        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
62120        * css/PropertySetCSSStyleDeclaration.cpp:
62121        (WebCore::StyleRuleCSSStyleDeclaration::ref):
62122        (WebCore):
62123        (WebCore::StyleRuleCSSStyleDeclaration::deref):
62124        (WebCore::StyleRuleCSSStyleDeclaration::setNeedsStyleRecalc):
62125        (WebCore::StyleRuleCSSStyleDeclaration::contextStyleSheet):
62126        (WebCore::InlineCSSStyleDeclaration::ref):
62127        (WebCore::InlineCSSStyleDeclaration::deref):
62128        * css/PropertySetCSSStyleDeclaration.h:
62129        (WebCore::PropertySetCSSStyleDeclaration::parentElement):
62130        (PropertySetCSSStyleDeclaration):
62131        (WebCore::StyleRuleCSSStyleDeclaration::create):
62132        (StyleRuleCSSStyleDeclaration):
62133        (WebCore::StyleRuleCSSStyleDeclaration::clearParentRule):
62134        (WebCore::StyleRuleCSSStyleDeclaration::StyleRuleCSSStyleDeclaration):
62135        (WebCore::StyleRuleCSSStyleDeclaration::parentRule):
62136        
62137            - Rename RuleCSSStyleDeclaration -> StyleRuleCSSStyleDeclaration
62138            - Make StyleRuleCSSStyleDeclaration use regular refcounting since
62139              it is no longer owned by the wrapped object.
62140            - Rename hasCSSOMWrapper() -> isMutable(), m_hasCSSOMWrapper -> m_ownsCSSOMWrapper
62141              to match the purpose.
62142        
62143        (InlineCSSStyleDeclaration):
62144        * css/StylePropertySet.cpp:
62145        (WebCore::StylePropertySet::StylePropertySet):
62146        (WebCore::StylePropertySet::~StylePropertySet):
62147        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
62148        (WebCore):
62149        (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
62150        (WebCore::StylePropertySet::clearParentElement):
62151        * css/StylePropertySet.h:
62152        (StylePropertySet):
62153        (WebCore::StylePropertySet::isMutable):
62154        * dom/ElementAttributeData.cpp:
62155        (WebCore::ElementAttributeData::ensureMutableInlineStyle):
62156        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
62157
621582012-03-31  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
62159
62160        [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
62161        https://bugs.webkit.org/show_bug.cgi?id=80135
62162
62163        Reviewed by Rob Buis.
62164
62165        RIM PR: 145660
62166        Fixed a regression introduced by r111810, we should cancel the new
62167        request when user press cancel button in http authentication challenge
62168        dialog, and we should also allow sending empty username and password
62169        with the request.
62170        Also removed redundant codes which checked the existence of the
62171        FrameLoaderClient pointer, as we've already moved authenticationChallenge()
62172        out of class FrameLoaderClient, it is not needed.
62173
62174        Manual test added. Testing http authentication dialog relies on user interaction.
62175
62176        * platform/network/blackberry/NetworkJob.cpp:
62177        (WebCore::NetworkJob::sendRequestWithCredentials):
62178
621792012-03-31  Charles Wei  <charles.wei@torchmobile.com.cn>
62180
62181        [BlackBerry] Upstream BlackBerry change to PlatformTouchEvent and PlatformTouchPoint
62182        https://bugs.webkit.org/show_bug.cgi?id=82828
62183
62184        Reviewed by Rob Buis.
62185
62186        No new tests, just upstream BlackBerry-specific change to
62187        PlatformTouchEvent and PlatformTouchPoint, to make it build
62188        for BlackBerry.
62189
62190        * platform/PlatformTouchEvent.h:
62191        (Platform):
62192        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
62193        (PlatformTouchEvent):
62194        (WebCore::PlatformTouchEvent::rotation):
62195        (WebCore::PlatformTouchEvent::scale):
62196        (WebCore::PlatformTouchEvent::doubleTap):
62197        (WebCore::PlatformTouchEvent::touchHold):
62198        * platform/PlatformTouchPoint.h:
62199        (Platform):
62200        (PlatformTouchPoint):
62201        * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
62202        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
62203
622042012-03-31  Jason Liu  <jason.liu@torchmobile.com.cn>
62205
62206        [BlackBerry] Refactor : NetworkJob::handleNotifyHeaderReceived.
62207        https://bugs.webkit.org/show_bug.cgi?id=82825
62208
62209        We should use "else if" to decrease string's compare.
62210
62211        Reviewed by Rob Buis.
62212
62213        No new tests. Refactor.
62214
62215        * platform/network/blackberry/NetworkJob.cpp:
62216        (WebCore::NetworkJob::handleNotifyHeaderReceived):
62217
622182012-03-31  Charles Wei  <charles.wei@torchmobile.com.cn>
62219
62220        [BlackBerry] Upstream local change of PlatformKeyboardEventBlackBerry.cpp
62221        https://bugs.webkit.org/show_bug.cgi?id=82721
62222
62223        Reviewed by Rob Buis.
62224
62225        No new tests, just upstreaming the local change to make the upstreaming
62226        build for BlackBerry.
62227
62228        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
62229        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
62230
622312012-03-31  Abhishek Arya  <inferno@chromium.org>
62232
62233        Crash in HTMLFieldSetElement::disabledAttributeChanged.
62234        https://bugs.webkit.org/show_bug.cgi?id=82814
62235
62236        Reviewed by Kent Tamura.
62237
62238        Test: fast/forms/fieldset/fieldset-crash.html
62239
62240        * html/HTMLFieldSetElement.cpp:
62241        (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
62242
622432012-03-29  Adam Barth  <abarth@webkit.org>
62244
62245        [Chromium] Delete WebKit/chromium/bridge
62246        https://bugs.webkit.org/show_bug.cgi?id=82677
62247
62248        Reviewed by James Robinson.
62249
62250        These files are just moved from the WebKit layer with their include
62251        directives adjusted.
62252
62253        * WebCore.gypi:
62254        * platform/chromium/support/WebICECandidateDescriptor.cpp: Copied from Source/WebKit/chromium/src/WebICECandidateDescriptor.cpp.
62255        * platform/chromium/support/WebICEOptions.cpp: Copied from Source/WebKit/chromium/src/WebICEOptions.cpp.
62256        * platform/chromium/support/WebMediaHints.cpp: Copied from Source/WebKit/chromium/src/WebMediaHints.cpp.
62257        * platform/chromium/support/WebMediaStreamComponent.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamComponent.cpp.
62258        * platform/chromium/support/WebMediaStreamDescriptor.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamDescriptor.cpp.
62259        * platform/chromium/support/WebMediaStreamSource.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamSource.cpp.
62260        * platform/chromium/support/WebMediaStreamSourcesRequest.cpp: Copied from Source/WebKit/chromium/src/WebMediaStreamSourcesRequest.cpp.
62261        * platform/mediastream/chromium/DeprecatedPeerConnectionHandler.cpp: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandler.cpp.
62262        * platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.cpp: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandlerInternal.cpp.
62263        (WebCore::DeprecatedPeerConnectionHandlerInternal::DeprecatedPeerConnectionHandlerInternal):
62264        * platform/mediastream/chromium/DeprecatedPeerConnectionHandlerInternal.h: Copied from Source/WebKit/chromium/bridge/DeprecatedPeerConnectionHandlerInternal.h.
62265        * platform/mediastream/chromium/MediaStreamCenterChromium.cpp: Copied from Source/WebKit/chromium/bridge/MediaStreamCenter.cpp.
62266        * platform/mediastream/chromium/MediaStreamCenterInternal.cpp: Copied from Source/WebKit/chromium/bridge/MediaStreamCenterInternal.cpp.
62267        (WebCore::MediaStreamCenterInternal::MediaStreamCenterInternal):
62268        * platform/mediastream/chromium/MediaStreamCenterInternal.h: Copied from Source/WebKit/chromium/bridge/MediaStreamCenterInternal.h.
62269        * platform/mediastream/chromium/PeerConnection00Handler.cpp: Copied from Source/WebKit/chromium/bridge/PeerConnection00Handler.cpp.
62270        * platform/mediastream/chromium/PeerConnection00HandlerInternal.cpp: Copied from Source/WebKit/chromium/bridge/PeerConnection00HandlerInternal.cpp.
62271        (WebCore::PeerConnection00HandlerInternal::PeerConnection00HandlerInternal):
62272        * platform/mediastream/chromium/PeerConnection00HandlerInternal.h: Copied from Source/WebKit/chromium/bridge/PeerConnection00HandlerInternal.h.
62273
622742012-03-30  Adam Barth  <abarth@webkit.org>
62275
62276        [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
62277        https://bugs.webkit.org/show_bug.cgi?id=82657
62278
62279        Reviewed by James Robinson.
62280
62281        We finally arive at our destination. This patch actually moves
62282        WebCore::ResourceHandle from Source/WebKit/chromium/src to
62283        Source/WebCore/network/chromium, matching its location in other ports.
62284        To make this happen, we also need to move WrappedResourceRequest and
62285        WrappedResourceResponse.
62286
62287        This patch is the last patch from
62288        https://github.com/abarth/webkit/compare/master...webcore-platform
62289
62290        * WebCore.gypi:
62291        * platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebCore/platform/chromium/support/WrappedResourceRequest.h.
62292        * platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebCore/platform/chromium/support/WrappedResourceResponse.h.
62293        * platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebCore/platform/network/chromium/ResourceHandle.cpp.
62294        * platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebCore/platform/network/chromium/ResourceHandleInternal.h.
62295
622962012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
62297
62298        Add a compile assert for the size of RenderText
62299        https://bugs.webkit.org/show_bug.cgi?id=82780
62300
62301        Reviewed by Dirk Pranke.
62302
62303        Added an assertion. Also moved m_maxWidth, m_beginMinWidth, and m_endMinWidth
62304        to right beneath m_minWidth so that gcc on GTK+ can pack floats properly.
62305
62306        * rendering/RenderText.cpp:
62307        (SameSizeAsRenderText):
62308        (WebCore):
62309        * rendering/RenderText.h:
62310        (RenderText):
62311
623122012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
62313
62314        Add a compile assert for the size of ScrollableArea
62315        https://bugs.webkit.org/show_bug.cgi?id=82822
62316
62317        Reviewed by Dirk Pranke.
62318
62319        Added the assertion. Also made m_scrollOriginChanged a bitfield so that it can be packed nicely.
62320
62321        * platform/ScrollableArea.cpp:
62322        (SameSizeAsScrollableArea):
62323        (WebCore):
62324        * platform/ScrollableArea.h:
62325        (ScrollableArea):
62326
623272012-03-30  Dan Bernstein  <mitz@apple.com>
62328
62329        Reverted r112767, because it caused many vertical text tests to fail.
62330
62331        * WebCore.exp.in:
62332        * platform/graphics/FontPlatformData.cpp:
62333        (WebCore::FontPlatformData::FontPlatformData):
62334        (WebCore::FontPlatformData::operator=):
62335        * platform/graphics/FontPlatformData.h:
62336        (WebCore::FontPlatformData::FontPlatformData):
62337        (FontPlatformData):
62338        (WebCore::FontPlatformData::isColorBitmapFont):
62339        (WebCore::FontPlatformData::hash):
62340        (WebCore::FontPlatformData::operator==):
62341        * platform/graphics/SimpleFontData.cpp:
62342        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
62343        * platform/graphics/SimpleFontData.h:
62344        (SimpleFontData):
62345        (DerivedFontData):
62346        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
62347        (WebCore::FontPlatformData::FontPlatformData):
62348        (WebCore::FontPlatformData::setFont):
62349        * platform/graphics/mac/FontCacheMac.mm:
62350        (WebCore::FontCache::createFontPlatformData):
62351        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
62352        (WebCore::shouldUseCoreText):
62353        (WebCore::GlyphPage::fill):
62354        * platform/graphics/mac/SimpleFontDataMac.mm:
62355        (WebCore):
62356
623572012-03-30  Dan Bernstein  <mitz@apple.com>
62358
62359        Tried to fix the Chromium Mac build after r112767.
62360
62361        * platform/graphics/SimpleFontData.h:
62362        (SimpleFontData):
62363        (DerivedFontData):
62364
623652012-03-30  Dirk Schulze  <krit@webkit.org>
62366
62367        Colors seem to be parsed using HTML quirks in SVG attributes
62368        https://bugs.webkit.org/show_bug.cgi?id=46112
62369
62370        Reviewed by Eric Seidel.
62371        
62372        Finally move to SVGAttributeMode on parsing SVG presentation attributes. SVG attributes are
62373        mainly parsed in the strict mode, which affects strict parsing of colors and no spaces between
62374        values and units. Unit less values are still allowed.
62375
62376        Tests: svg/css/svg-attribute-length-parsing.html
62377               svg/css/svg-attribute-parser-mode.html
62378
62379        * css/CSSGrammar.y: No quirks mode for SVG.
62380        * css/CSSParser.h:
62381        (WebCore::CSSParser::inStrictMode): SVGAttributeMode also implies strict parsing.
62382        (WebCore::CSSParser::inQuirksMode): Remove SVGAttributeMode from quirks mode.
62383        * css/CSSParserMode.h:
62384        (isStrictParserMode): Ditto.
62385        * dom/StyledElement.cpp:
62386        (WebCore::StyledElement::updateAttributeStyle):
62387        * svg/SVGElementRareData.h:
62388        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
62389        * svg/SVGFontFaceElement.cpp:
62390        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
62391        * svg/SVGStyledElement.cpp: Switch to SVGAttributeMode if we parse a SVG presentation attribute.
62392        (WebCore::SVGStyledElement::getPresentationAttribute):
62393
623942012-03-30  Tony Tseung  <tseung@apple.com>
62395
62396        Composite Font References is a new established standard (ISO/IEC 14496-28:2012) for specifying
62397        composite fonts from existing physical fonts.
62398        <rdar://problem/10717370>
62399        https://bugs.webkit.org/show_bug.cgi?id=82810
62400        
62401        CoreText have already the features enabled, here we added this to WebKit text layout and rendering.
62402        A member function getCompositeFontReferenceFontData is added to the SimpleFontData class for the component font
62403        correspond to the platformData, in this case, a NSFont. This is used when CoreText layout had resulted
62404        a component of the Composite Font Reference and its corresponding SimpleFontData object is then cached
62405        in the SimpleFontData object of the posting font (Composite Font Reference).
62406        
62407        When glyphs are encoded to form the GlyphPage for rendering, the Composite Font Reference is handled throught
62408        the CoreText layout path (using CTLine), here the resulting glyph is associated with a font which could
62409        be not the original font request. In this case, these are the component fonts of the Composite Font
62410        Reference. This is then identified and then added to the GlyphPage appropriately.
62411        
62412        To support this feature, a member function isCompositeFontReference is added to FontPlatformData to
62413        indicate a font is a Composite Font Reference. Also in order to pass the component font correctly a boolean
62414        isPrinterFont is added to one the FontPlatformData constructors to describe the NSFont.
62415
62416        Reviewed by Dan Bernstein.
62417
62418        Added test LayoutTests/fast/text/international/text-spliced-font.html
62419
62420        * WebCore.exp.in:
62421        Replaced obsolete FontPlatformData constructor entry.
62422
62423        * platform/graphics/FontPlatformData.cpp:
62424        (WebCore::FontPlatformData::FontPlatformData):
62425        Copy of the additional m_isCompositeFontReference and m_isPrinterFont data members.
62426        
62427        (WebCore::FontPlatformData::operator=):
62428        Assignment of the additional m_isCompositeFontReference and m_isPrinterFont data members.
62429        
62430        * platform/graphics/FontPlatformData.h:
62431        (WebCore::FontPlatformData::FontPlatformData):
62432        (FontPlatformData):
62433        Default value of m_isCompositeFontReference and m_isPrinterFont data members are set to false in various constructors.
62434        
62435        (WebCore::FontPlatformData::isCompositeFontReference):
62436        Newly added for Composite Font Reference type font.
62437
62438        (WebCore::FontPlatformData::isPrinterFont):
62439        Newly added for describing the NSFont parameter if is applicable.
62440
62441        (WebCore::FontPlatformData::operator==):
62442        Comparison of the additional m_isCompositeFontReference and m_isPrinterFont data members.
62443
62444        * platform/graphics/SimpleFontData.cpp:
62445        (WebCore::SimpleFontData::DerivedFontData::~DerivedFontData):
62446        Clean up the cache for component fonts of the Composite Font References.
62447
62448        * platform/graphics/SimpleFontData.h:
62449        (SimpleFontData):
62450        Added member function const SimpleFontData* getCompositeFontReferenceFontData(NSFont *key) const.
62451        
62452        (DerivedFontData):
62453        Added CFDictionary for caching the component font of Composite Font Reference.
62454
62455        * platform/graphics/cocoa/FontPlatformDataCocoa.mm:
62456        (WebCore::FontPlatformData::FontPlatformData):
62457        Data members m_isCompositeFontReference and m_isPrinterFont are initialised and their values are determined in the body of the contructor.
62458
62459        (WebCore::FontPlatformData::setFont):
62460        Data members m_isCompositeFontReference and m_isPrinterFont are determined and set.
62461        
62462        * platform/graphics/mac/FontCacheMac.mm:
62463        (WebCore::FontCache::createFontPlatformData):
62464        Boolean value isUsingPrinterFont is passed in the new FontPlatformData constructor.
62465        
62466        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
62467        (WebCore::shouldUseCoreText):
62468        Added the condition for Composite Font Reference type font.
62469        
62470        (WebCore::GlyphPage::fill):
62471        In the case of Composite Font Reference, when iterate the runs, component font of Composite Font
62472        Reference is used to fill the glyph index in the GlyphPage.
62473        
62474        * platform/graphics/mac/SimpleFontDataMac.mm:
62475        (WebCore::SimpleFontData::getCompositeFontReferenceFontData):
62476        Newly added method for the component fonts correspond to the platformData, in this case, a NSFont. 
62477        This SimpleFontData is created and cached in this object and will only be deleted when the destructor
62478        if this is called.
62479        
624802012-03-30  Charles Wei  <charles.wei@torchmobile.com.cn>
62481
62482        [BlackBerry] Use KURL::protocolIsInHTTPFamily() instead KURL::protocolInHTTPFamily()
62483        https://bugs.webkit.org/show_bug.cgi?id=82707
62484
62485        Reviewed by Rob Buis.
62486
62487        No new tests, just BlackBerry build fix.
62488
62489        * platform/network/blackberry/NetworkManager.cpp:
62490        (WebCore::NetworkManager::startJob):
62491
624922012-03-30  Eric Seidel  <eric@webkit.org>
62493        styleForElement() should use enums instead of bools so we can all understand what it's doing
62494        https://bugs.webkit.org/show_bug.cgi?id=82807
62495
62496        Reviewed by Adam Barth.
62497
62498        No change in behavior, thus no tests.
62499
62500        Mostly this is just replacing true/false with the correct new enum value
62501        or removing true/false from the callsites when they would have been default anyway.
62502        I think this makes the code *way* more clear.
62503
62504        The old code was extra confusing because the defaults were "true, false". :)
62505        The new defaults are AllowStyleSharing, MatchAllRules.
62506        It's very uncommon for callers to want to override either of these behaviors.
62507        I think most callers which specify DisallowStyleSharing likely don't actually need to
62508        (our style-sharing code should be smart enough to only share when safe anyway).
62509
62510        * css/CSSStyleSelector.cpp:
62511        (WebCore::CSSStyleSelector::CSSStyleSelector):
62512         - Use enums and remove bogus comment (m_rootDefaultStyle is a RefPtr!)
62513        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
62514        * css/CSSStyleSelector.h:
62515        (CSSStyleSelector):
62516        * css/MediaQueryMatcher.cpp:
62517        (WebCore::MediaQueryMatcher::prepareEvaluator):
62518        * css/StyleMedia.cpp:
62519        (WebCore::StyleMedia::matchMedium):
62520        * dom/Element.cpp:
62521        (WebCore::Element::styleForRenderer):
62522        * rendering/RenderObject.cpp:
62523        (WebCore::RenderObject::getUncachedPseudoStyle):
62524         - Updated to use enums
62525         - Also fixed this to use toElement and modern early-return styles.
62526        * rendering/RenderRegion.cpp:
62527        (WebCore::RenderRegion::computeStyleInRegion):
62528        * svg/SVGElement.cpp:
62529        (WebCore::SVGElement::customStyleForRenderer):
62530
625312012-03-30  Jason Liu  <jason.liu@torchmobile.com.cn>
62532
62533        [BlackBerry] Headers with no content shouldn't be dropped by platform's request.
62534        https://bugs.webkit.org/show_bug.cgi?id=82691
62535
62536        Reviewed by Rob Buis.
62537
62538        Test : http/tests/xmlhttprequest/xmlhttprequest-setrequestheader-no-value.html
62539
62540        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
62541        (WebCore::ResourceRequest::initializePlatformRequest):
62542
625432012-03-30  Eric Seidel  <eric@webkit.org>
62544
62545        Add tests for iframe seamless and support for parsing webkitseamless attribute
62546        https://bugs.webkit.org/show_bug.cgi?id=82795
62547
62548        Reviewed by Adam Barth.
62549
62550        This just adds support for parsing/reflecting the "webkitseamess" attribute.
62551        I'll add the actual CSS, navigation, security, and layout changes in
62552        separate follow-up patches.
62553
62554        Tests: fast/frames/seamless/seamless-basic.html
62555               fast/frames/seamless/seamless-css-cascade.html
62556               fast/frames/seamless/seamless-nested.html
62557               fast/frames/seamless/seamless-sandbox-flag.html
62558
62559        * html/HTMLAttributeNames.in:
62560        * html/HTMLIFrameElement.idl:
62561
625622012-03-30  Emil A Eklund  <eae@chromium.org>
62563
62564        Change WebKit/WebKit2 platform code to use pixel snapped values
62565        https://bugs.webkit.org/show_bug.cgi?id=82549
62566
62567        Reviewed by Eric Seidel.
62568
62569        Change WebKit and WebKit2 platform code to use rounded locations and
62570        pixel snapped rects and sizes. This largely avoids having to expose the
62571        fractional layout types to the platform code.
62572
62573        No new tests. No change in functionality.
62574
62575        * dom/Node.h:
62576        (WebCore::Node::pixelSnappedRenderRect):
62577        Add pixel snapped version of renderRect
62578        
62579        * rendering/RenderBox.h:
62580        (WebCore::RenderBox::pixelSnappedFrameRect):
62581        Add pixel snapped version of frameRect
62582
625832012-03-30  Simon Fraser  <simon.fraser@apple.com>
62584
62585        https://bugs.webkit.org/show_bug.cgi?id=82761
62586        
62587        Try to narrow down the cause of this assertion by adding
62588        an assertion about m_frame.
62589        
62590        * editing/Editor.cpp:
62591        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
62592
625932012-03-30  Emil A Eklund  <eae@chromium.org>
62594
62595        Fix return type for virtual borderBoundingBox method
62596        https://bugs.webkit.org/show_bug.cgi?id=82561
62597
62598        Reviewed by Eric Seidel.
62599
62600        No new tests, no change in functionality.
62601
62602        * editing/DeleteButtonController.cpp:
62603        (WebCore::isDeletableElement):
62604        * rendering/RenderBox.h:
62605        (WebCore::RenderBox::borderBoxRect):
62606        Rename pixelSnappedBorderBoxRect to borderBoxRect and remove LayoutRect
62607        version of same as we always want to use the pixel snapped version to
62608        ensure proper rounding and alignment to device pixels.
62609        (The way this rect is pixel snapped, using the m_frameRect location,
62610        makes it hard for calling code to take the subpixel rect and correctly
62611        snap it).
62612
62613        (WebCore::RenderBox::borderBoundingBox):
62614        * rendering/RenderBoxModelObject.h:
62615        Change pure virtual definition of borderBoundingBox to return an IntRect
62616        to match implementation in RenderBox.
62617        
62618        (RenderBoxModelObject):
62619        * rendering/RenderInline.h:
62620        (WebCore::RenderInline::borderBoundingBox):
62621        Change overloaded method to IntRect to match RenderBox implementation.
62622
626232012-03-30  Bear Travis  <betravis@adobe.com>
62624
62625        shape-inside and shape-outside are not in the list of computed style properties
62626        https://bugs.webkit.org/show_bug.cgi?id=82667
62627
62628        Reviewed by Ryosuke Niwa.
62629
62630        Adding prefixed shape-inside and shape-outside to the list of computed style properties.
62631        Added properties to existing tests for computed style results
62632
62633        * css/CSSComputedStyleDeclaration.cpp:
62634        (WebCore): added -webkit-shape-inside and -webkit-shape-outside to computedProperties
62635
626362012-03-30  Adam Barth  <abarth@webkit.org>
62637
62638        https://bugs.webkit.org/show_bug.cgi?id=82582
62639        Move CPP files related to ResourceHandle to WebCore/platform
62640
62641        Reviewed by James Robinson.
62642
62643        This patch moves a number of files that implement parts of the platform
62644        portion of the Chromium WebKit API from the WebKit layer to
62645        WebCore/platform. These files are in the dependency cone of
62646        ResourceHandle and have no dependencies on anything outside
62647        WebCore/platform.
62648
62649        * WebCore.gypi:
62650        * platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
62651        * platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
62652        * platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
62653        * platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
62654        * platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
62655        * platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
62656        * platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
62657        * platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.
62658
626592012-03-30  Emil A Eklund  <eae@chromium.org>
62660
62661        Fix usage of LayoutUnits in table code.
62662        https://bugs.webkit.org/show_bug.cgi?id=82765
62663
62664        Reviewed by Eric Seidel.
62665
62666        Clean up usage of ints and LayoutUnits in table code in preparation for
62667        turning on subpixel layout.
62668
62669        No new tests, no change in functionality.
62670
62671        * rendering/AutoTableLayout.cpp:
62672        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
62673        Cast maxWidth to int as all table layout is done on int bounds.
62674        
62675        * rendering/RenderTable.cpp:
62676        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
62677        Change borders to LayoutUnit as paddings can have subpixel precision.
62678        
62679        * rendering/RenderTable.h:
62680        (WebCore::RenderTable::getColumnPos):
62681        (WebCore::RenderTable::columnPositions):
62682        Change getColumnPos and columnPositions to ints as the values are always
62683        on pixel bounds.
62684        
62685        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
62686        * rendering/RenderTableCell.cpp:
62687        (WebCore::RenderTableCell::styleOrColLogicalWidth):
62688        Remove unnecessary cast.
62689        
62690        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
62691        Use LayoutPoint instead of left/top.
62692        
62693        * rendering/RenderTableSection.cpp:
62694        (WebCore::RenderTableSection::calcRowLogicalHeight):
62695        (WebCore::RenderTableSection::layoutRows):
62696        * rendering/RenderTableSection.h:
62697        Change baseline and baselineDescent to int to avoid unnecessary type
62698        conversion.
62699
627002012-03-30  Joe Thomas  <joethomas@motorola.com>
62701
62702        Spec renamed Viewport-relative lengths to Viewport-percentage lengths
62703        https://bugs.webkit.org/show_bug.cgi?id=82773
62704
62705        Reviewed by Antti Koivisto.
62706
62707        As per the latest version of CSS Values and Units Module Level 3 specification released on 29 March 2012
62708        (http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths) Viewport-relative lengths is renamed to Viewport-percentage lengths.
62709
62710        * css/CSSComputedStyleDeclaration.cpp:
62711        (WebCore::getPositionOffsetValue):
62712        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
62713        * css/CSSPrimitiveValue.cpp:
62714        (WebCore::unitCategory):
62715        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
62716        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
62717        (WebCore::CSSPrimitiveValue::viewportPercentageLength):
62718        * css/CSSPrimitiveValue.h:
62719        (WebCore::CSSPrimitiveValue::isViewportPercentageLength):
62720        (CSSPrimitiveValue):
62721        * css/CSSPrimitiveValueMappings.h:
62722        (WebCore::CSSPrimitiveValue::convertToLength):
62723        * css/CSSStyleApplyProperty.cpp:
62724        (WebCore::ApplyPropertyLength::applyValue):
62725        (WebCore::ApplyPropertyBorderRadius::applyValue):
62726        (WebCore::ApplyPropertyFontSize::applyValue):
62727        (WebCore::ApplyPropertyLineHeight::applyValue):
62728        (WebCore::ApplyPropertyVerticalAlign::applyValue):
62729        * css/CSSStyleSelector.cpp:
62730        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
62731        * css/LengthFunctions.cpp:
62732        (WebCore::minimumValueForLength):
62733        (WebCore::valueForLength):
62734        (WebCore::floatValueForLength):
62735        * platform/Length.h:
62736        (WebCore::Length::isViewportPercentage):
62737        (WebCore::Length::viewportPercentageLength):
62738        * rendering/RenderBlock.cpp:
62739        (WebCore::RenderBlock::textIndentOffset):
62740        * rendering/RenderBox.cpp:
62741        (WebCore::RenderBox::computeContentLogicalHeightUsing):
62742        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
62743        * rendering/RenderBoxModelObject.cpp:
62744        (WebCore::RenderBoxModelObject::paddingTop):
62745        (WebCore::RenderBoxModelObject::paddingBottom):
62746        (WebCore::RenderBoxModelObject::paddingLeft):
62747        (WebCore::RenderBoxModelObject::paddingRight):
62748        (WebCore::RenderBoxModelObject::paddingBefore):
62749        (WebCore::RenderBoxModelObject::paddingAfter):
62750        (WebCore::RenderBoxModelObject::paddingStart):
62751        (WebCore::RenderBoxModelObject::paddingEnd):
62752        (WebCore::RenderBoxModelObject::calculateFillTileSize):
62753        * rendering/RenderInline.cpp:
62754        (WebCore::computeMargin):
62755        * rendering/style/RenderStyle.h:
62756
627572012-03-30  Alexandru Chiculita  <achicu@adobe.com>
62758
62759        [CSS Filters] Drop Shadow is not repainting correctly when repaint area is smaller than the filtered element
62760        https://bugs.webkit.org/show_bug.cgi?id=80323
62761
62762        Reviewed by Dean Jackson.
62763        
62764        The problem is that shadow and blur (and custom filters - although not treated in this patch) need the full source image of
62765        the surface that needs to be filtered. Until now the filter was computed only using the area defined by the dirty repaint rectangle.
62766        Those filters need full image source because they displace pixel positions, meaning that pixels in the current dirty rectangle
62767        have a dependency on pixels from the RenderLayer outside the dirty rect. See the bug pictures for an example of how that could go wrong.
62768        
62769        The fix is to always keep a copy of the RenderLayer representation in memory. When repaint is needed we still invalidate
62770        only the parts that changed, but the filter is computed using the full source image and not only the dirty rectangle.
62771        
62772        In order to make that work, we needed the full repaint rectangle of the current RenderLayer and not just the clipped version that
62773        we get through the ::paint methods. Also, because filters sometime need to repaint more than just the dirty area (because of the 
62774        outsets of the filters - ie blur, drop-shadow), it makes it easier to just capture all the repaints in the RenderLayer itself in a
62775        similar way WebKit does now for composited layers. As a result the repaint container can also be a filtered layer (not just composited ones), so 
62776        that we can catch all the filter repaints in one place in the RenderLayer. Also with this change I removed the need to add visual overflow to 
62777        the RenderBox and also there's no need to patch the repaintUsingContainer. By the way, repaintUsingContainer did not always work because of the 
62778        LayoutState optimizations, so repaints during layout would fail (I know that that could be fixed by disabling the LayoutState for filtered areas).
62779        
62780        Also part of this patch I extracted a function from RenderLayerCompositor::calculateCompositedBounds, so that we can also use it from RenderLayer.
62781        I called it RenderLayer::calculateLayerBounds and there should be no change in functionality. It now also includes the outsets of the filter. I've
62782        added a different bug to avoid adding the outsets when the filter is computed in hardware. That's because some platforms do not support that yet:
62783        https://bugs.webkit.org/show_bug.cgi?id=81239 
62784        
62785        Also the visual overflow doesn't include the child RenderLayers, meaning that the outsets would have been applied to the border and not to the bounding box
62786        of the RenderLayer. The end result was that some child RenderLayers could be clipped out of the filtered area.
62787        
62788        Tests: css3/filters/filter-repaint-blur.html
62789               css3/filters/filter-repaint-child-layers.html
62790               css3/filters/filter-repaint-composited-fallback-crash.html
62791               css3/filters/filter-repaint-composited-fallback.html
62792               css3/filters/filter-repaint-sepia.html
62793               css3/filters/filter-repaint-shadow-clipped.html
62794               css3/filters/filter-repaint-shadow-rotated.html
62795               css3/filters/filter-repaint-shadow.html
62796
62797        * platform/graphics/filters/FilterOperations.cpp:
62798        (WebCore::FilterOperations::getOutsets): Drop shadow should only enlarge the outsets and never make them smaller.
62799        
62800        * rendering/FilterEffectRenderer.cpp:
62801        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
62802        (WebCore::FilterEffectRenderer::build): Caching the operations.hasFilterThatMovesPixels() in the FilterEffectRenderer.
62803        (WebCore::FilterEffectRenderer::updateBackingStore): It now returns true when the backing store was recreated, so that we can repaint it all.
62804        (WebCore):
62805        (WebCore::FilterEffectRendererHelper::prepareFilterEffect): Separated beginFilterEffect into two methods. One that computed the rects 
62806        and one that prepares the draw context.
62807        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
62808        (WebCore::FilterEffectRendererHelper::applyFilterEffect):
62809        
62810        * rendering/FilterEffectRenderer.h:
62811        (FilterEffectRendererHelper):
62812        (FilterEffectRenderer):
62813        (WebCore::FilterEffectRenderer::hasFilterThatMovesPixels):
62814        
62815        * rendering/RenderBox.cpp:
62816        (WebCore::RenderBox::computeRectForRepaint): No need to include the outsets in the repaint rect here, we will do it later in RenderLayer.
62817        (WebCore::RenderBox::addVisualEffectOverflow): Removed outsets from the overflow.
62818        
62819        * rendering/RenderInline.cpp:
62820        (WebCore::RenderInline::computeRectForRepaint): Removed the outsets from this method. We now compute that in
62821        RenderLayer::setFilterBackendNeedsRepaintingInRect.
62822        
62823        * rendering/RenderLayer.cpp:
62824        (WebCore):
62825        In this change I introduce a new dirty rectangle used by filters. It accumulates all the repaint requests inside the filtered layer,
62826        so that we can invalidate the areas that are outside the clipping rectangle. Such cases include "overflow:scroll" and "overflow:hidden", when
62827        we still want to blur or drop shadow based on content that is not actually displayed on screen (but the shadow for that content is visible). That rectangle
62828        is called m_filterRepaintRect and resets back to zero when the next repaint is finished. All the filtered layers that apply blur and drop-shadow
62829        will have an extra backing surface and only the invalidated areas are repainted in that surface. This is very similar to how composited layers work.
62830        
62831        (WebCore::RenderLayer::requiresFullLayerImageForFilters): Returns true in CPU mode and only if the layer needs the full source image of 
62832        the layer to compute the filter. Otherwise GPU layers already have access to the full bakcing image.
62833        (WebCore::RenderLayer::enclosingFilterLayer): Returns the enclosing layer that returns true on requiresFullLayerImageForFilters.
62834        (WebCore::RenderLayer::enclosingFilterRepaintLayer): Returns the enclosing layer that can be used to repaint the current layer. Usually that 
62835        is the RenderView layer or the parent RenderLayer that is composited.
62836        (WebCore::RenderLayer::setFilterBackendNeedsRepaintingInRect): Intercepts all the repaint queries for the filtered layers and uses
62837        enclosingFilterRepaintLayer to enforce the repaint using the parent container.
62838        
62839        (WebCore::RenderLayer::paintLayerContents): Consolidated the filters code in one single place. Also, it is now sending the bounding box and the 
62840        dirty rect to the FilterEffectRendererHelper::prepareFilterEffect to make sure the backing store is repainted accordingly. In some cases it might 
62841        rewrite the dirty rectangle used to paint the current layer, so that all the dirty areas in the backing store are covered.
62842        (WebCore::RenderLayer::calculateLayerBounds): Extracted from RenderLayerCompositor::calculateCompositedBounds.
62843        (WebCore::RenderLayer::updateOrRemoveFilterEffect): We should not create the filter builder when there's no filter specified.
62844        
62845        * rendering/RenderLayer.h:
62846        (RenderLayer):
62847        
62848        * rendering/RenderLayerCompositor.cpp:
62849        (WebCore::RenderLayerCompositor::calculateCompositedBounds): Now using the code from RenderLayer::calculateLayerBounds
62850        
62851        * rendering/RenderObject.cpp:
62852        (WebCore::RenderObject::containerForRepaint): Using RenderLayer::enclosingFilterLayer to also find the parent filtered area.
62853        (WebCore::RenderObject::repaintUsingContainer): Removed the need to add filter outsets in this method. We now compute that in
62854        RenderLayer::setFilterBackendNeedsRepaintingInRect.
62855
628562012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
62857
62858        Add a compile assert for the size of BidiContext
62859        https://bugs.webkit.org/show_bug.cgi?id=82793
62860
62861        Reviewed by Eric Seidel.
62862
62863        Added the assertion. Also reduced the number of bits used for bidi levels from
62864        8 to 6 as done in InlineBox since bidi levels require exactly 6 bits.
62865
62866        * rendering/InlineBox.h: Added a comment about why bidi level needs exactly 6 bits.
62867        * platform/text/BidiContext.cpp:
62868        (SameSizeAsBidiContext):
62869        (WebCore):
62870        * platform/text/BidiContext.h:
62871        (BidiContext):
62872
628732012-03-30  Joshua Bell  <jsbell@chromium.org>
62874
62875        IndexedDB: Race condition causes version change transaction to commit after onblocked
62876        https://bugs.webkit.org/show_bug.cgi?id=82678
62877
62878        For a version change event, the blocked and success events could both be queued
62879        before either is dispatched. The transaction would erroneously be allowed to commit
62880        after the blocked event was dispatched; it should not be, as the request was not
62881        finished.
62882
62883        Reviewed by Tony Chang.
62884
62885        Test: storage/indexeddb/dont-commit-on-blocked.html
62886
62887        * Modules/indexeddb/IDBRequest.cpp:
62888        (WebCore::IDBRequest::dispatchEvent):
62889
628902012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
62891
62892        Add a compile assert for the size of FontDescription
62893        https://bugs.webkit.org/show_bug.cgi?id=82786
62894
62895        Reviewed by Eric Seidel.
62896
62897        Added the assertion. Also converted a couple of boolean bitfields to unsinged.
62898        I've verified that the conversions are safe (they're only used in FontDescription.h/cpp).
62899
62900        * platform/graphics/FontDescription.cpp:
62901        (SameSizeAsFontDescription):
62902        (WebCore):
62903        * platform/graphics/FontDescription.h:
62904        (FontDescription):
62905
629062012-03-30  Adam Barth  <abarth@webkit.org>
62907
62908        Move CPP files related to ResourceHandle to WebCore/platform
62909        https://bugs.webkit.org/show_bug.cgi?id=82582
62910
62911        Reviewed by James Robinson.
62912
62913        Re-land a tiny piece of http://trac.webkit.org/changeset/112572 in the
62914        hopes of not breaking the component build this time.
62915
62916        * WebCore.gyp/WebCore.gyp:
62917        * WebCore.gypi:
62918        * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
62919
629202012-03-30  Andreas Kling  <kling@webkit.org>
62921
62922        Kill CSSTimingFunctionValue.
62923        <http://webkit.org/b/82787>
62924
62925        Reviewed by Antti Koivisto.
62926
62927        Remove CSSTimingFunctionValue and let the 3 subclasses inherit directly from CSSValue.
62928        CSSTimingFunctionValue is a pointless middle-man class that adds nothing.
62929
62930        * css/CSSStyleSelector.cpp:
62931        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
62932        * css/CSSTimingFunctionValue.h:
62933        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
62934        (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
62935        (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
62936        * css/CSSValue.h:
62937        (WebCore::CSSValue::isCubicBezierTimingFunctionValue):
62938        (WebCore::CSSValue::isLinearTimingFunctionValue):
62939        (WebCore::CSSValue::isStepsTimingFunctionValue):
62940
629412012-03-30  Nat Duca  <nduca@chromium.org>
62942
62943        [chromium] Bump max texture updates per frame to 48
62944        https://bugs.webkit.org/show_bug.cgi?id=82779
62945
62946        Reviewed by James Robinson.
62947
62948        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
62949        (WTF):
62950
629512012-03-30  Nate Chapin  <japhet@chromium.org>
62952
62953        Merge FrameLoader::finishedLoading() into DocumentLoader::finishedLoading().
62954        https://bugs.webkit.org/show_bug.cgi?id=82653
62955
62956        Reviewed by Adam Barth.
62957
62958        No new tests, no functionality change intended.
62959
62960        * loader/DocumentLoader.cpp:
62961        (WebCore::DocumentLoader::finishedLoading):
62962        * loader/FrameLoader.cpp:
62963        * loader/FrameLoader.h:
62964        * loader/MainResourceLoader.cpp:
62965        (WebCore::MainResourceLoader::didFinishLoading):
62966
629672012-03-30  Antti Koivisto  <antti@apple.com>
62968
62969        Cache origin check result to RuleData
62970        https://bugs.webkit.org/show_bug.cgi?id=82774
62971
62972        Reviewed by Andreas Kling.
62973
62974        You wan't be able to get back to the stylesheet from a css style rule soon. 
62975        We need to do the origin check when we know the sheet it came from.
62976
62977        * css/CSSStyleSelector.cpp:
62978        (RuleData):
62979        (WebCore::RuleData::hasDocumentSecurityOrigin):
62980        (RuleSet):
62981        (WebCore::makeRuleSet):
62982        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
62983        * css/CSSStyleSelector.h:
62984        (WebCore::CSSStyleSelector::RuleFeature::RuleFeature):
62985        (RuleFeature):
62986        (Features):
62987
629882012-03-30  Mike Reed  <reed@google.com>
62989
62990        Remove deadcode behind "SafeSkia" flag
62991        https://bugs.webkit.org/show_bug.cgi?id=82771
62992
62993        Reviewed by Stephen White.
62994
62995        Just removing dead code (behind obsolete build flag), existing webkit tests apply
62996
62997        * platform/graphics/skia/GraphicsContextSkia.cpp:
62998        (WebCore::GraphicsContext::addInnerRoundedRectClip):
62999        (WebCore::GraphicsContext::clearRect):
63000        (WebCore::GraphicsContext::clip):
63001        (WebCore::GraphicsContext::canvasClip):
63002        (WebCore::GraphicsContext::clipOut):
63003        (WebCore::GraphicsContext::clipPath):
63004        (WebCore::GraphicsContext::drawConvexPolygon):
63005        (WebCore::GraphicsContext::clipConvexPolygon):
63006        (WebCore::GraphicsContext::drawEllipse):
63007        (WebCore::GraphicsContext::drawLine):
63008        (WebCore::GraphicsContext::drawRect):
63009        (WebCore::GraphicsContext::fillPath):
63010        (WebCore::GraphicsContext::fillRect):
63011        (WebCore::GraphicsContext::fillRoundedRect):
63012        (WebCore::GraphicsContext::strokeArc):
63013        (WebCore::GraphicsContext::strokePath):
63014        (WebCore::GraphicsContext::strokeRect):
63015        (WebCore::GraphicsContext::platformFillEllipse):
63016        (WebCore::GraphicsContext::platformStrokeEllipse):
63017
630182012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
63019
63020        Add a compile assert for the size of InlineFlowBox
63021        https://bugs.webkit.org/show_bug.cgi?id=82767
63022
63023        Reviewed by Tony Chang.
63024
63025        Add a compile assert to ensure InlineFlowBox stays small.
63026        Also make some of the member variables not used in RootInlineBox private.
63027
63028        Changing these booleans to unsigned is safe as I've audited all code that
63029        uses these member variables (they're all in InlineFlowBox or RootInlineBox).
63030
63031        * rendering/InlineFlowBox.cpp:
63032        (SameSizeAsInlineFlowBox):
63033        (WebCore):
63034        * rendering/InlineFlowBox.h:
63035        (InlineFlowBox):
63036
630372012-03-30  Zalan Bujtas  <zbujtas@gmail.com>
63038
63039        Fix defective size_t overflow in GestureTapHighlighter.
63040        https://bugs.webkit.org/show_bug.cgi?id=82605
63041
63042        Reviewed by Kenneth Rohde Christiansen.
63043
63044        In pathForRenderer, the for loop has 'i < rects().size() - 1' as test expression,
63045        where rects().size() returns with size_t.
63046        In case of empty rect, it leads to unsigned int overflow. Overflow value makes
63047        the associated for loop run with invalid values.
63048        Fix it by making loop variable int and stop using size_t type in the test expression.
63049        Also, return early, if no focus ring found.
63050
63051        Manual test added. Tap gesture highlighter is getting triggered by UI process.
63052
63053        * page/GestureTapHighlighter.cpp:
63054
630552012-03-30  Mark Pilgrim  <pilgrim@chromium.org>
63056
63057        GEOLOCATION should be implemented as Page Supplement
63058        https://bugs.webkit.org/show_bug.cgi?id=82228
63059
63060        Reviewed by Adam Barth.
63061
63062        Geolocation now uses the Supplement interface instead of
63063        keeping an instance variable on Page. This allows us to
63064        remove all geolocation-related functions, variables, and
63065        ifdefs out of Page and into Modules/geolocation/.
63066
63067        * Modules/geolocation/Geolocation.cpp:
63068        (WebCore::Geolocation::stop):
63069        (WebCore::Geolocation::lastPosition):
63070        (WebCore::Geolocation::requestPermission):
63071        (WebCore::Geolocation::startUpdating):
63072        (WebCore::Geolocation::stopUpdating):
63073        * Modules/geolocation/Geolocation.h:
63074        (WebCore):
63075        * Modules/geolocation/GeolocationController.cpp:
63076        (WebCore::GeolocationController::supplementName):
63077        (WebCore):
63078        (WebCore::provideGeolocationTo):
63079        * Modules/geolocation/GeolocationController.h:
63080        (GeolocationController):
63081        (WebCore::GeolocationController::from):
63082        * WebCore.exp.in:
63083        * page/GeolocationClient.h:
63084        (WebCore):
63085        (GeolocationClient):
63086        * page/Page.cpp:
63087        (WebCore::Page::Page):
63088        (WebCore::Page::PageClients::PageClients):
63089        * page/Page.h:
63090        (WebCore):
63091        (PageClients):
63092        (Page):
63093
630942012-03-30  Anders Carlsson  <andersca@apple.com>
63095
63096        This is fun.
63097
63098        * WebCore.xcodeproj/project.pbxproj:
63099
631002012-03-30  Anders Carlsson  <andersca@apple.com>
63101
63102        Yet another build fix attempt.
63103
63104        * WebCore.xcodeproj/project.pbxproj:
63105
631062012-03-30  Joe Mason  <jmason@rim.com>
63107
63108        [BlackBerry] Make sure strings do not leak in PluginViewBlackberry.
63109        https://bugs.webkit.org/show_bug.cgi?id=82764
63110
63111        Update PluginViewBlackBerry to follow the changes in
63112        BlackBerry::Platform::Window which now returns std::string instead of char* for
63113        strings. Also copy the windowGroup and rootGroup strings in PluginViewPrivate
63114        instead of just saving a pointer to the returned memory, which could become
63115        invalid at any time.
63116
63117        Reviewed by Rob Buis.
63118
63119        * plugins/blackberry/PluginViewBlackBerry.cpp:
63120        (WebCore::PluginView::setNPWindowIfNeeded):
63121        (WebCore::PluginView::platformGetValue):
63122        (WebCore::PluginView::platformDestroy):
63123        * plugins/blackberry/PluginViewPrivateBlackBerry.h:
63124        (PluginViewPrivate):
63125
631262012-03-30  Anders Carlsson  <andersca@apple.com>
63127
63128        Another build fix.
63129
63130        * WebCore.xcodeproj/project.pbxproj:
63131
631322012-03-30  Anders Carlsson  <andersca@apple.com>
63133
63134        Fix build.
63135
63136        * page/scrolling/mac/ScrollingTreeMac.mm:
63137
631382012-03-30  Anders Carlsson  <andersca@apple.com>
63139
63140        Show a scrolling indicator light when compositing borders are turned on
63141        https://bugs.webkit.org/show_bug.cgi?id=82758
63142        <rdar://problem/11143892>
63143
63144        Reviewed by Andreas Kling.
63145
63146        With this change, turning on compositing borders also turn on a tiny indicator in the top left corner.
63147        This indicator uses color coding to show where wheel events are handled and where the scroll layer position is updated:
63148
63149          - Green means that both wheel events and scroll layer position updates are handled on the scrolling thread.
63150          - Yellow means that wheel events need to be dispatched to the main thread (due to wheel event handlers), but that scroll layer position
63151            updates still happen on the scrolling thread.
63152          - Red means that scroll layer position updates happen on the main thread (due to background-attachment: fixed or fixed position objects).
63153
63154        * WebCore.exp.in:
63155        * WebCore.xcodeproj/project.pbxproj:
63156        * page/scrolling/ScrollingTree.cpp:
63157        (WebCore::ScrollingTree::commitNewTreeState):
63158        Call updateDebugRootLayer().
63159
63160        * page/scrolling/ScrollingTreeNode.h:
63161        (WebCore::ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread):
63162        Make this public.
63163
63164        (ScrollingTreeNode):
63165        * page/scrolling/mac/ScrollingTreeMac.mm: Added.
63166        (WebCore::ScrollingTree::setDebugRootLayer):
63167        Set up a new debug info sublayer.
63168
63169        (WebCore::ScrollingTree::updateDebugRootLayer):
63170        Update the debug root layer background color based on the scrolling tree state.
63171
631722012-03-30  Peter Rybin  <peter.rybin@gmail.com>
63173
63174        Web Inspector: CodeGeneratorInspector.py: add missing runtime assert method for InspectorObject
63175        https://bugs.webkit.org/show_bug.cgi?id=82753
63176
63177        Reviewed by Vsevolod Vlasov.
63178
63179        Type validator generator is extended to support missing InspectorObject type and
63180        made more accurate for "int" type.
63181
63182        Strict types are enabled for 2 more domains.
63183
63184        * inspector/CodeGeneratorInspector.py:
63185        (RawTypes.BaseType.generate_validate_method):
63186        (RawTypes.String.get_validate_method_params.ValidateMethodParams):
63187        (RawTypes.Int):
63188        (RawTypes.Int.generate_validate_method):
63189        (RawTypes.Int.get_raw_validator_call_text):
63190        (RawTypes.Number.get_validate_method_params.ValidateMethodParams):
63191        (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
63192        (RawTypes.Object.get_validate_method_params.ValidateMethodParams):
63193        (RawTypes.Object.get_validate_method_params):
63194        (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
63195        (PlainObjectBinding.request_internal_runtime_cast):
63196        (PlainObjectBinding.get_validator_call_text):
63197        (ArrayBinding.request_internal_runtime_cast):
63198
631992012-03-30  Ian Vollick  <vollick@chromium.org>
63200
63201        [chromium] assertion being hit in CCLayerAnimationController
63202        https://bugs.webkit.org/show_bug.cgi?id=82237
63203
63204        Reviewed by James Robinson.
63205
63206        Animations are no longer pushed to the impl thread if they have already completed.
63207
63208        Tested in CCLayerAnimationControllerTest.doNotSyncFinishedAnimation
63209
63210        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
63211        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
63212
632132012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
63214
63215        Build fix after r112699.
63216
63217        * css/StylePropertySet.cpp:
63218        (WebCore::StylePropertySet::findPropertyWithId):
63219
632202012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
63221
63222        Add a compile assert for the size of CSSProperty
63223        https://bugs.webkit.org/show_bug.cgi?id=82756
63224
63225        Reviewed by Andreas Kling.
63226
63227        Add a compile assert to ensure CSSProperty instances stay small.
63228
63229        Also make member variables of CSSProperty private as they should have been,
63230        and extract wrapValueInCommaSeparatedList from createFontFaceRule.
63231
63232        * css/CSSParser.cpp:
63233        (WebCore::CSSParser::createFontFaceRule):
63234        * css/CSSProperty.cpp:
63235        (SameSizeAsCSSProperty):
63236        (WebCore):
63237        (WebCore::CSSProperty::wrapValueInCommaSeparatedList):
63238        * css/CSSProperty.h:
63239        (CSSProperty):
63240
632412012-03-30  Ryosuke Niwa  <rniwa@webkit.org>
63242
63243        Let there be a clean xcodeproj.
63244
63245        * WebCore.xcodeproj/project.pbxproj:
63246
632472012-03-30  Chris Fleizach  <cfleizach@apple.com>
63248
63249        AX: Crash at WebCore::renderObjectContainsPosition(WebCore::RenderObject*, WebCore::Position const&)
63250        https://bugs.webkit.org/show_bug.cgi?id=82745
63251
63252        Reviewed by Simon Fraser.
63253
63254        Test: platform/mac/accessibility/range-for-position.html
63255
63256        * accessibility/AccessibilityRenderObject.cpp:
63257        (WebCore::AccessibilityRenderObject::index):
63258
632592012-03-30  John Sullivan  <sullivan@apple.com>
63260
63261        Certain emoji characters should not be displayed in user-visible URL strings.
63262        <https://bugs.webkit.org/show_bug.cgi?id=82739>
63263        <rdar://problem/9205643>
63264
63265        Reviewed by Alexey Proskuryakov
63266
63267        * platform/mac/WebCoreNSURLExtras.mm:
63268        (WebCore::isLookalikeCharacter):
63269        Added five emoji characters to the list.
63270
632712012-03-30  David Barr  <davidbarr@chromium.org>
63272
63273        Split up top-level .gitignore and .gitattributes
63274        https://bugs.webkit.org/show_bug.cgi?id=82687
63275
63276        Reviewed by Tor Arne Vestbø.
63277
63278        No new tests, source control administrivia.
63279
63280        * .gitattributes: Added.
63281        * WebCore.gyp/.gitignore: Added.
63282
632832012-03-30  Patrick Gansterer  <paroga@webkit.org>
63284
63285        [WinCE] Correct <wtf/*.h> include paths.
63286        https://bugs.webkit.org/show_bug.cgi?id=82713
63287
63288        Reviewed by Eric Seidel.
63289
63290        Modify the #include declarations for several WinCE-related files
63291        so that the wtf types are included using the full path.
63292
63293        * platform/graphics/wince/ImageBufferWinCE.cpp:
63294
632952012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>
63296
63297        Web Inspector: ScriptsNavigator scripts selection/focus polish.
63298        https://bugs.webkit.org/show_bug.cgi?id=82732
63299
63300        Reviewed by Pavel Feldman.
63301
63302        Script could be selected by space in ScriptsNavigator now.
63303        This patch also polishes focus behavior when using ScriptsNavigator.
63304
63305        * inspector/front-end/ScriptsNavigator.js:
63306        (WebInspector.ScriptsNavigator.prototype._scriptSelected): Added focusSource param to give clients possibility to release focus.
63307        (WebInspector.NavigatorScriptTreeElement.prototype.onspace): Added script selection on space pressed.
63308        (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
63309        (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
63310        * inspector/front-end/ScriptsPanel.js: _hideNavigatorOverlay moved to the end of events processing to set focus correctly.
63311        (WebInspector.ScriptsPanel.prototype._editorSelected):
63312        (WebInspector.ScriptsPanel.prototype._fileSelected):
63313        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
63314        * inspector/front-end/treeoutline.js:
63315        (TreeOutline.prototype._treeKeyDown): onspace event added.
63316
633172012-03-30  Mike Reed  <reed@google.com>
63318
63319        remove unneeded copies of SkPaths, remove unneeded save/restore
63320        https://bugs.webkit.org/show_bug.cgi?id=82641
63321
63322        Reviewed by Stephen White.
63323
63324        Performance change, existing webkit tests apply.
63325
63326        * platform/graphics/skia/GraphicsContextSkia.cpp:
63327        (WebCore::GraphicsContext::clipOut):
63328        (WebCore::GraphicsContext::clipPath):
63329        (WebCore::GraphicsContext::fillPath):
63330        (WebCore::GraphicsContext::fillRect):
63331        (WebCore::GraphicsContext::strokePath):
63332
633332012-03-30  Pavel Feldman  <pfeldman@chromium.org>
63334
63335        Web Inspector: undo-ing edit that consists of a Tab does not work.
63336        https://bugs.webkit.org/show_bug.cgi?id=82733
63337
63338        Reviewed by Vsevolod Vlasov.
63339
63340        We should never modify the range returned by the edit operation manually.
63341        And we should clone ranges that get into the model so that subsequent edits
63342        don't mutate them.
63343
63344        Drive-by: restore selection after undo via selecting all the text that undo
63345        operation produced.
63346
63347        Test: inspector/editor/text-editor-undo-redo.html
63348
63349        * inspector/front-end/TextEditorModel.js:
63350        (WebInspector.TextEditorModel.endsWithBracketRegex.):
63351        * inspector/front-end/TextViewer.js:
63352
633532012-03-30  Malcolm MacLeod  <malcolm.macleod@tshwanedje.com>
63354
63355        [wx] Implement Gradient and ImageBuffer support.
63356        https://bugs.webkit.org/show_bug.cgi?id=82710
63357
63358        Reviewed by Kevin Ollivier.
63359
63360        * platform/graphics/BitmapImage.h:
63361        (BitmapImage):
63362        (WebCore::BitmapImage::create):
63363        * platform/graphics/Gradient.h:
63364        * platform/graphics/wx/GradientWx.cpp:
63365        (WebCore::Gradient::platformDestroy):
63366        (WebCore::Gradient::platformGradient):
63367        (WebCore::Gradient::fill):
63368        * platform/graphics/wx/ImageBufferDataWx.h:
63369        (ImageBufferData):
63370        * platform/graphics/wx/ImageBufferWx.cpp:
63371        (WebCore):
63372        (WebCore::ImageBufferData::ImageBufferData):
63373        (WebCore::ImageBufferData::~ImageBufferData):
63374        (WebCore::ImageBuffer::ImageBuffer):
63375        (WebCore::ImageBuffer::~ImageBuffer):
63376        (WebCore::ImageBuffer::context):
63377        (WebCore::ImageBuffer::toDataURL):
63378        (WebCore::ImageBuffer::copyImage):
63379        (WebCore::ImageBuffer::clip):
63380        (WebCore::ImageBuffer::draw):
63381        (WebCore::ImageBuffer::drawPattern):
63382        * platform/graphics/wx/ImageWx.cpp:
63383        (WebCore::BitmapImage::BitmapImage):
63384        (WebCore):
63385        (WebCore::BitmapImage::draw):
63386        * platform/wx/LocalDC.h:
63387        (WebCore):
63388
633892012-03-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
63390
63391        [Qt] Find zoomable area using area-based hit-testing
63392        https://bugs.webkit.org/show_bug.cgi?id=82609
63393
63394        Reviewed by Kenneth Rohde Christiansen.
63395
63396        Implement API for calculating the best zoomable area for a
63397        tap-to-zoom gesture.
63398        It picks the area with the largest intersection with the touch. In most
63399        cases this will be all areas fully containing the area, and returns the
63400        smallest inner-most of these.
63401
63402        * page/EventHandler.cpp:
63403        (WebCore::EventHandler::bestZoomableAreaForTouchPoint):
63404        * page/EventHandler.h:
63405        * page/TouchAdjustment.cpp:
63406        (WebCore::TouchAdjustment::nodeIsZoomTarget):
63407        (WebCore::TouchAdjustment::appendZoomableSubtargets):
63408        (WebCore::TouchAdjustment::compileZoomableSubtargets):
63409        (WebCore::TouchAdjustment::areaOfIntersection):
63410        (WebCore::TouchAdjustment::findAreaWithLargestIntersection):
63411        (WebCore::findBestZoomableArea):
63412        * page/TouchAdjustment.h:
63413        * platform/graphics/IntSize.h:
63414        (WebCore::IntSize::area):
63415
634162012-03-30  Pavel Feldman  <pfeldman@chromium.org>
63417
63418        Web Inspector: do not issue attributes modified event if actual values were not changed.
63419        https://bugs.webkit.org/show_bug.cgi?id=82726
63420
63421        Reviewed by Yury Semikhatsky.
63422
63423        When style attribute is invalidated, we re-fetch the attributes values. There is no
63424        point in further dispatching attrs modified event if model stays the same.
63425
63426        Test: inspector/elements/edit-style-attribute.html
63427
63428        * inspector/front-end/DOMAgent.js:
63429        (WebInspector.DOMNode.prototype._setAttributesPayload):
63430        (WebInspector.DOMAgent.prototype._loadNodeAttributes):
63431
634322012-03-30  Philip Rogers  <pdr@google.com>
63433
63434        Add new renderer for circles and ellipses
63435        https://bugs.webkit.org/show_bug.cgi?id=80423
63436
63437        Reviewed by Eric Seidel.
63438
63439        This patch introduces a special renderer for SVGCircleElements
63440        and SVGEllipseElements to avoid having to use the slower path
63441        rendering code. This patch includes optimized circle code for
63442        the CG platform, and hooks (GC::fillEllipse, GC::strokeEllipse)
63443        are available for other platforms as well.
63444
63445        Tests: svg/hittest/svg-ellipse-non-scale-stroke.xhtml
63446               svg/hittest/svg-ellipse.xhtml
63447
63448        Added a test to exercise hit testing on an ellipse, and on
63449        an ellipse's stroke, to make sure the formulae in this patch
63450        are correct.
63451
63452        * CMakeLists.txt:
63453        * GNUmakefile.list.am:
63454        * Target.pri:
63455        * WebCore.gypi:
63456        * WebCore.vcproj/WebCore.vcproj:
63457        * WebCore.xcodeproj/project.pbxproj:
63458        * platform/graphics/GraphicsContext.cpp:
63459        (WebCore::GraphicsContext::fillEllipse):
63460        (WebCore):
63461        (WebCore::GraphicsContext::strokeEllipse):
63462        (WebCore::GraphicsContext::fillEllipseAsPath):
63463        (WebCore::GraphicsContext::strokeEllipseAsPath):
63464        (WebCore::GraphicsContext::platformFillEllipse):
63465        (WebCore::GraphicsContext::platformStrokeEllipse):
63466        * platform/graphics/GraphicsContext.h:
63467        (GraphicsContext):
63468        * platform/graphics/cg/GraphicsContextCG.cpp:
63469        (WebCore::GraphicsContext::platformFillEllipse):
63470        (WebCore):
63471        (WebCore::GraphicsContext::platformStrokeEllipse):
63472        * platform/graphics/skia/GraphicsContextSkia.cpp:
63473        (WebCore::GraphicsContext::platformFillEllipse):
63474        (WebCore):
63475        (WebCore::GraphicsContext::platformStrokeEllipse):
63476        * rendering/svg/RenderSVGAllInOne.cpp:
63477        * rendering/svg/RenderSVGEllipse.cpp: Added.
63478        (WebCore):
63479        (WebCore::RenderSVGEllipse::RenderSVGEllipse):
63480        (WebCore::RenderSVGEllipse::~RenderSVGEllipse):
63481        (WebCore::RenderSVGEllipse::createShape):
63482        (WebCore::RenderSVGEllipse::calculateRadiiAndCenter):
63483        (WebCore::RenderSVGEllipse::objectBoundingBox):
63484        (WebCore::RenderSVGEllipse::strokeBoundingBox):
63485        (WebCore::RenderSVGEllipse::fillShape):
63486        (WebCore::RenderSVGEllipse::strokeShape):
63487        (WebCore::RenderSVGEllipse::shapeDependentStrokeContains):
63488        (WebCore::RenderSVGEllipse::shapeDependentFillContains):
63489        * rendering/svg/RenderSVGEllipse.h: Added.
63490        (WebCore):
63491        (RenderSVGEllipse):
63492        (WebCore::RenderSVGEllipse::isSVGEllipse):
63493        (WebCore::RenderSVGEllipse::renderName):
63494        (WebCore::RenderSVGEllipse::isEmpty):
63495        * svg/SVGCircleElement.cpp:
63496        (WebCore::SVGCircleElement::svgAttributeChanged):
63497        (WebCore):
63498        (WebCore::SVGCircleElement::createRenderer):
63499        * svg/SVGCircleElement.h:
63500        (SVGCircleElement):
63501        * svg/SVGEllipseElement.cpp:
63502        (WebCore::SVGEllipseElement::svgAttributeChanged):
63503        (WebCore::SVGEllipseElement::createRenderer):
63504        (WebCore):
63505        * svg/SVGEllipseElement.h:
63506        (SVGEllipseElement):
63507
635082012-03-30  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
63509
63510        Add a "preview" state to Page Visibility API implementation
63511        https://bugs.webkit.org/show_bug.cgi?id=81355
63512
63513        Reviewed by Adam Barth.
63514
63515        Updating the Page Visibility API implementation to the current spec version.
63516
63517        This change is covered by fast/events/page-visibility-transition-test.html,
63518        so no new tests needed.
63519
63520        * page/PageVisibilityState.cpp:
63521        (WebCore::pageVisibilityStateString):
63522        * page/PageVisibilityState.h:
63523
635242012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>
63525
63526        Web Inspector: [Regression] Execution line is not revealed after pretty print.
63527        https://bugs.webkit.org/show_bug.cgi?id=82727
63528
63529        Reviewed by Pavel Feldman.
63530
63531        This patch makes JavaScriptSourceFrame reveal execution line after pretty print.
63532
63533        * inspector/front-end/JavaScriptSourceFrame.js:
63534        (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
63535
635362012-03-30  Yury Semikhatsky  <yurys@chromium.org>
63537
63538        Web Inspector: preload field values into local variables for better heap profiler performance
63539        https://bugs.webkit.org/show_bug.cgi?id=82703
63540
63541        Reading from object fields takes a noticable time when the only other thing you do
63542        is just manipulating on big(several million elements) Uint32Array array cells.
63543
63544        Reviewed by Pavel Feldman.
63545
63546        * inspector/front-end/HeapSnapshot.js:
63547        (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
63548        (WebInspector.HeapSnapshot.prototype._buildRetainers):
63549        (WebInspector.HeapSnapshot.prototype._bfs):
63550
635512012-03-30  Sheriff Bot  <webkit.review.bot@gmail.com>
63552
63553        Unreviewed, rolling out r112489.
63554        http://trac.webkit.org/changeset/112489
63555        https://bugs.webkit.org/show_bug.cgi?id=82725
63556
63557        Tentatively introduces a lot of webfont-related test flakiness
63558        on Snow Leopard (Requested by apavlov on #webkit).
63559
63560        * css/CSSSegmentedFontFace.cpp:
63561        (WebCore::CSSSegmentedFontFace::getFontData):
63562
635632012-03-30  Keishi Hattori  <keishi@webkit.org>
63564
63565        Change ENABLE_INPUT_COLOR to ENABLE_INPUT_TYPE_COLOR and enable it for chromium
63566        https://bugs.webkit.org/show_bug.cgi?id=80972
63567
63568        Reviewed by Kent Tamura.
63569
63570        * CMakeLists.txt:
63571        * Configurations/FeatureDefines.xcconfig:
63572        * GNUmakefile.am:
63573        * WebCore.exp.in:
63574        * css/html.css:
63575        * html/ColorInputType.cpp:
63576        * html/ColorInputType.h:
63577        * html/HTMLInputElement.cpp:
63578        (WebCore):
63579        * html/HTMLInputElement.h:
63580        (HTMLInputElement):
63581        * html/InputType.cpp:
63582        (WebCore::createInputTypeFactoryMap):
63583        (WebCore):
63584        (InputTypeNames):
63585        * html/InputType.h:
63586        (InputType):
63587        (InputTypeNames):
63588        * loader/EmptyClients.h:
63589        (EmptyChromeClient):
63590        * page/Chrome.cpp:
63591        (WebCore):
63592        * page/Chrome.h:
63593        (WebCore):
63594        (Chrome):
63595        * page/ChromeClient.h:
63596        (WebCore):
63597        (ChromeClient):
63598        * platform/ColorChooser.h:
63599        * platform/ColorChooserClient.h:
63600        * testing/InternalSettings.cpp:
63601        * testing/Internals.cpp:
63602        (WebCore):
63603        * testing/Internals.h:
63604        (Internals):
63605        * testing/Internals.idl:
63606
636072012-03-30  Charles Wei  <charles.wei@torchmobile.com.cn>
63608
63609        [BlackBerry] EventLoop::platformInit() obsolete.
63610        https://bugs.webkit.org/show_bug.cgi?id=82709
63611
63612        Reviewed by Rob Buis.
63613
63614        No new tests, build fix for BlackBerry porting.
63615
63616        * platform/blackberry/EventLoopBlackBerry.cpp:
63617
636182012-03-30  Vsevolod Vlasov  <vsevik@chromium.org>
63619
63620        Web Inspector: ScriptsNavigator should open scripts with single click (not double click).
63621        https://bugs.webkit.org/show_bug.cgi?id=82723
63622
63623        Reviewed by Pavel Feldman.
63624
63625        This patch makes ScriptsNavigator open scripts with single click.
63626
63627        * inspector/front-end/ScriptsNavigator.js:
63628        (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
63629        (WebInspector.NavigatorScriptTreeElement.prototype._onclick):
63630
636312012-03-30  Vineet Chaudhary  <rgf748@motorola.com>
63632
63633        IDLParser.pm should be able to parse sequence<T> as method argument.
63634        https://bugs.webkit.org/show_bug.cgi?id=82599
63635
63636        Reviewed by Kentaro Hara.
63637
63638        With this patch IDL parser should support sequence<T> as method argument.
63639        Current behaviour is argument name is not parsed hence shows empty spaces instead.
63640
63641        Tests: bindings/scripts/test/TestObj.idl
63642
63643        * bindings/scripts/CodeGeneratorCPP.pm:
63644        (SkipFunction): Skip functions for specific type.
63645        (SkipAttribute): Skip functions for specific type.
63646        (AddIncludesForType): Skip header for sequence<T> type.
63647        (GenerateHeader): Skip header and declaration for sequence<T> type.
63648        (GenerateImplementation): Skip header and implementation for sequence<T> type.
63649        * bindings/scripts/CodeGeneratorGObject.pm:
63650        (SkipFunction): Skip functions for sequence<T> type.
63651        * bindings/scripts/CodeGeneratorObjC.pm:
63652        (SkipFunction): Skip functions for specific type.
63653        (SkipAttribute): Skip functions for specific type.
63654        (AddForwardDeclarationsForType): Skip header for sequence<T> type.
63655        (AddIncludesForType): Skip header for sequence<T> type.
63656        (GenerateHeader):Skip header and declaration for sequence<T> type.
63657        (GenerateImplementation): Skip header and implementation for sequence<T> type.
63658        * bindings/scripts/CodeGeneratorV8.pm:
63659        (CreateCustomSignature): Add appropriate headers.
63660        * bindings/scripts/IDLStructure.pm: Add support to parse sequence<T>.
63661        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Modified results from run-binding-tests.
63662        (WebDOMTestObj::objMethodWithArgs):
63663        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
63664        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
63665        (webkit_dom_test_obj_obj_method_with_args):
63666        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
63667        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
63668        (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
63669        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
63670        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
63671        (-[DOMTestObj objMethodWithArgs:strArg:objArg:]):
63672        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
63673        (WebCore::TestObjInternal::methodWithSequenceArgCallback):
63674        (WebCore::ConfigureV8TestObjTemplate):
63675
636762012-03-30  Pavel Feldman  <pfeldman@chromium.org>
63677
63678        Web Inspector: editing resets line-ending of the whole file
63679        https://bugs.webkit.org/show_bug.cgi?id=82708
63680
63681        Reviewed by Yury Semikhatsky.
63682
63683        This change splits TextEditorModel's setText into setText (for initialization) and
63684        editRange (for editing). Distinguishing between the two allowed properly detecting
63685        the preferred line endings.
63686
63687        Test: inspector/editor/text-editor-line-breaks.html
63688
63689        * inspector/front-end/JavaScriptSourceFrame.js:
63690        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
63691        * inspector/front-end/SourceFrame.js:
63692        (WebInspector.SourceFrame.prototype.setContent):
63693        * inspector/front-end/TextEditorModel.js:
63694        (WebInspector.TextEditorCommand):
63695        (WebInspector.TextEditorModel):
63696        (WebInspector.TextEditorModel.endsWithBracketRegex.):
63697        * inspector/front-end/TextViewer.js:
63698        (WebInspector.TextViewer.prototype._textChanged):
63699        (WebInspector.TextEditorMainPanel.prototype._unindentLines.get var):
63700        (WebInspector.TextEditorMainPanel.prototype._unindentLines):
63701        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey.get var):
63702        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
63703        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
63704        (WebInspector.TextEditorMainPanel.prototype._editRange):
63705
637062012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
63707
63708        Web Inspector: Take IndexedDB support out of experiments.
63709        https://bugs.webkit.org/show_bug.cgi?id=82635
63710
63711        Reviewed by Pavel Feldman.
63712
63713        This patch takes inspector IndexedDB support out of experiments and enables tests.
63714
63715        Test: http/tests/inspector/indexeddb/resources-panel.html
63716
63717        * inspector/front-end/ResourcesPanel.js:
63718        * inspector/front-end/Settings.js:
63719        (WebInspector.ExperimentsSettings):
63720
637212012-03-30  Patrick Gansterer  <paroga@webkit.org>
63722
63723        Build fix after r112482.
63724
63725        * platform/network/cf/FormDataStreamCFNet.h: Added missing forward decleration.
63726
637272012-03-30  Philippe Normand  <pnormand@igalia.com>
63728
63729        [GTK] WebAudio channelSize issue
63730        https://bugs.webkit.org/show_bug.cgi?id=81905
63731
63732        Reviewed by Martin Robinson.
63733
63734        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
63735        (WebCore::AudioFileReader::handleBuffer): Calculate the audio
63736        buffer duration and frames number from the buffer and caps instead
63737        of relying on the buffer offets that are not always correctly set
63738        depending on the audio file format.
63739
637402012-03-29  Alexandru Chiculita  <achicu@adobe.com>
63741
63742        [CSS Filters] Trigger a repaint on elements with changed filter
63743        https://bugs.webkit.org/show_bug.cgi?id=82521
63744
63745        Reviewed by Dean Jackson.
63746
63747        I've added ContextSensitivePropertyFilter and changed RenderStyle::diff to use it when
63748        the filter property is changed. In RenderObject::adjustStyleDifference the appropriate StyleDifferenceRepaintLayer
63749        or StyleDifferenceRecompositeLayer is used depending on whether the layer is painting filters in software or in hardware
63750        (composited).
63751
63752        Tests: css3/filters/filter-change-repaint-composited.html
63753               css3/filters/filter-change-repaint.html
63754
63755        * css/CSSStyleSelector.cpp:
63756        (WebCore::CSSStyleSelector::createFilterOperations): None was treated as an invalid value.
63757        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Shadows were remaining behind. Fixed that.
63758        (PlatformCALayer::setFilters):
63759        * rendering/RenderBoxModelObject.cpp:
63760        (WebCore::RenderBoxModelObject::styleWillChange): Repaint the layer when there is a layout change and a filter change.
63761        * rendering/RenderLayer.cpp:
63762        (WebCore::RenderLayer::styleChanged): Making sure that the backing store is repainted when filters fallback to hardware.
63763        * rendering/RenderObject.cpp:
63764        (WebCore::RenderObject::adjustStyleDifference):
63765        * rendering/style/RenderStyle.cpp:
63766        (WebCore::RenderStyle::diff):
63767        * rendering/style/RenderStyleConstants.h:
63768
637692012-03-29  Koji Ishii  <kojiishi@gmail.com>
63770
63771
63772        Vertical flow support for OpenType fonts with the least platform dependencies
63773        https://bugs.webkit.org/show_bug.cgi?id=81326
63774
63775        Reviewed by Dan Bernstein.
63776
63777        This patch introduces a new class OpenTypeVerticalData to read
63778        vertical font metrics from OpenType fonts.
63779
63780        Currently, WebKit relies on platform APIs to do the work. However,
63781        some platforms such as Windows lack support for all the capabilities
63782        WebKit requires for vertical flow and the text-orientation property
63783        to work correctly. Reading OpenType tables directly also gives
63784        benefits in consistent behavior among the WebKit platforms.
63785
63786        This patch is for any platforms that want to parse OpenType tables
63787        directly, but it's currently included only in CGWin and isn't on any
63788        code path even on CGWin yet. Caller's side change for CGWin and
63789        support for other platforms will be in separate bugs.
63790
63791        No new tests are required. No behavior changes.
63792
63793        * WebCore.vcproj/WebCore.vcproj: Added OpenTypeTypes.h and OpenTypeVerticalData.h/cpp.
63794        * platform/SharedBuffer.cpp: Add create(size_t)
63795        (WebCore::SharedBuffer::SharedBuffer):
63796        (WebCore):
63797        * platform/SharedBuffer.h: Add create(size_t)
63798        (WebCore::SharedBuffer::create):
63799        (SharedBuffer):
63800        * platform/graphics/FontPlatformData.h: Added openTypeTable().
63801        (WebCore):
63802        (FontPlatformData):
63803        * platform/graphics/SimpleFontData.h: Added sizePerUnit().
63804        (WebCore::SimpleFontData::sizePerUnit): size() / unitsPerEm() for less multiplication.
63805        * platform/graphics/opentype/OpenTypeTypes.h: Added OpenType basic type definitions.
63806        (OpenType):
63807        (WebCore::OpenType::BigEndianShort::operator short):
63808        (WebCore::OpenType::BigEndianShort::BigEndianShort):
63809        (BigEndianShort):
63810        (WebCore::OpenType::BigEndianUShort::operator unsigned short):
63811        (WebCore::OpenType::BigEndianUShort::BigEndianUShort):
63812        (BigEndianUShort):
63813        (WebCore::OpenType::BigEndianLong::operator int):
63814        (WebCore::OpenType::BigEndianLong::BigEndianLong):
63815        (BigEndianLong):
63816        (WebCore::OpenType::BigEndianULong::operator unsigned):
63817        (WebCore::OpenType::BigEndianULong::BigEndianULong):
63818        (BigEndianULong):
63819        * platform/graphics/opentype/OpenTypeVerticalData.cpp: Added.
63820        (OpenType):
63821        (HheaTable):
63822        (VheaTable):
63823        (Entry):
63824        (VORGTable):
63825        (VertOriginYMetrics):
63826        (WebCore::OpenType::VORGTable::requiredSize):
63827        (WebCore):
63828        (WebCore::validatedPtr):
63829        (WebCore::OpenTypeVerticalData::OpenTypeVerticalData):
63830        (WebCore::OpenTypeVerticalData::advanceHeight): Advance height for a glyph.
63831        (WebCore::OpenTypeVerticalData::getVerticalTranslationsForGlyphs): Vertical origin.
63832        * platform/graphics/opentype/OpenTypeVerticalData.h: Added.
63833        (WebCore):
63834        (OpenTypeVerticalData): A new class to handle vertical flow data in OpenType.
63835        (WebCore::OpenTypeVerticalData::isOpenType):
63836        (WebCore::OpenTypeVerticalData::hasVerticalMetrics):
63837        (WebCore::OpenTypeVerticalData::hasVORG):
63838        * platform/graphics/win/FontPlatformDataWin.cpp:
63839        (WebCore):
63840        (WebCore::FontPlatformData::openTypeTable): Implemented openTypeTable() for Win32.
63841
638422012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
63843
63844        [BlackBerry] Sync up PlatformMouseEvent
63845        https://bugs.webkit.org/show_bug.cgi?id=82567
63846
63847        Reviewed by Rob Buis.
63848
63849        This patch is adding blackberry specific members to PlatformMouseEvent.
63850        Also re-base PlatformMouseEventBlackBerry to adapt to the re-factor
63851        of PlatformMouseEvent.
63852
63853        * platform/PlatformMouseEvent.h:
63854        (PlatformMouseEvent): BlackBerry specific constructor.
63855        (WebCore::PlatformMouseEvent::inputMethod): Input source of mouse event
63856        for blackberry platform.
63857        * platform/blackberry/PlatformMouseEventBlackBerry.cpp:
63858        (WebCore::PlatformMouseEvent::PlatformMouseEvent): Re-base the constructor
63859        to adapt the re-factor of PlatformMouseEvent.
63860
638612012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
63862
63863        [BlackBerry] Turn on STORE_FONT_CUSTOM_PLATFORM_DATA in CachedFont.cpp
63864        https://bugs.webkit.org/show_bug.cgi?id=82573
63865
63866        Reviewed by Rob Buis.
63867
63868        Tests: covered by existing tests.
63869
63870        * loader/cache/CachedFont.cpp:
63871
638722012-03-29  Adam Barth  <abarth@webkit.org>
63873
63874        [Chromium] Attempt to fix the component build
63875        https://bugs.webkit.org/show_bug.cgi?id=82676
63876
63877        Reviewed by Dirk Pranke.
63878
63879        Now that we're implementing some of the WEBKIT_EXPORT symbols in
63880        WebCore/platform/chromium/support, we need to tell the build system
63881        that we want to actually export these symbols.
63882
63883        * WebCore.gyp/WebCore.gyp:
63884
638852012-03-29  Adam Barth  <abarth@webkit.org>
63886
63887        Unreviewed, rolling out r112572.
63888        http://trac.webkit.org/changeset/112572
63889        https://bugs.webkit.org/show_bug.cgi?id=82582
63890
63891        Does not compile in Windows component build
63892
63893        * WebCore.gyp/WebCore.gyp:
63894        * WebCore.gypi:
63895
638962012-03-29  Adam Barth  <abarth@webkit.org>
63897
63898        Unreviewed, rolling out r112579.
63899        http://trac.webkit.org/changeset/112579
63900        https://bugs.webkit.org/show_bug.cgi?id=82657
63901
63902        Does not compile in Windows component build
63903
63904        * WebCore.gypi:
63905
639062012-03-29  Adam Barth  <abarth@webkit.org>
63907
63908        Unreviewed, rolling out r112611.
63909        http://trac.webkit.org/changeset/112611
63910        https://bugs.webkit.org/show_bug.cgi?id=82676
63911
63912        Does not compile in Windows component build
63913
63914        * WebCore.gyp/WebCore.gyp:
63915
639162012-03-29  Bear Travis  <betravis@adobe.com>
63917
63918        Update shape-inside/shape-outside CSS Exclusion properties
63919        https://bugs.webkit.org/show_bug.cgi?id=82365
63920
63921        Reviewed by Ryosuke Niwa.
63922
63923        Updating CSS property names for wrap-shape-inside and wrap-shape-outside
63924        to shape-inside and shape-outside, per the current exclusions spec.
63925        Renaming some parsing functions in CSSParser for clarity.
63926        No new functionality.
63927
63928        * css/CSSComputedStyleDeclaration.cpp:
63929        (WebCore):
63930        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
63931        * css/CSSParser.cpp:
63932        (WebCore::CSSParser::parseValue):
63933        (WebCore::CSSParser::parseClipShape):
63934        (WebCore::CSSParser::parseExclusionShapeRect):
63935        (WebCore::CSSParser::parseExclusionShapeCircle):
63936        (WebCore::CSSParser::parseExclusionShapeEllipse):
63937        (WebCore::CSSParser::parseExclusionShapePolygon):
63938        (WebCore::CSSParser::parseExclusionShape):
63939        * css/CSSParser.h:
63940        * css/CSSProperty.cpp:
63941        (WebCore::CSSProperty::isInheritedProperty):
63942        * css/CSSPropertyNames.in:
63943        * css/CSSStyleSelector.cpp:
63944        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
63945
639462012-03-29  Ryan Sleevi  <rsleevi@chromium.org>
63947
63948        [chromium] Update paths in GYP files
63949        https://bugs.webkit.org/show_bug.cgi?id=82663
63950
63951        Reviewed by Adam Barth.
63952
63953        * WebCore.gypi:
63954        Remove PluginDataGtk.cpp following r112401
63955
639562012-03-29  Abhishek Arya  <inferno@chromium.org>
63957
63958        Crash in GenericEventQueue::~GenericEventQueue.
63959        https://bugs.webkit.org/show_bug.cgi?id=81976
63960
63961        Reviewed by Eric Carlson.
63962
63963        * dom/GenericEventQueue.cpp:
63964        (WebCore::GenericEventQueue::create):
63965        (WebCore):
63966        (WebCore::GenericEventQueue::GenericEventQueue):
63967        (WebCore::GenericEventQueue::enqueueEvent):
63968        (WebCore::GenericEventQueue::timerFired):
63969        * dom/GenericEventQueue.h:
63970        (GenericEventQueue):
63971        * html/HTMLMediaElement.cpp:
63972        (WebCore::HTMLMediaElement::HTMLMediaElement):
63973        (WebCore::HTMLMediaElement::scheduleEvent):
63974        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
63975        (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks):
63976        (WebCore::HTMLMediaElement::hasPendingActivity):
63977        * html/HTMLMediaElement.h:
63978        (HTMLMediaElement):
63979
639802012-03-29  Adam Barth  <abarth@webkit.org>
63981
63982        [Chromium] Attempt to fix the component build
63983        https://bugs.webkit.org/show_bug.cgi?id=82676
63984
63985        Unreviewed.
63986
63987        Now that we're implementing some of the WEBKIT_EXPORT symbols in
63988        WebCore/platform/chromium/support, we need to tell the build system
63989        that we want to actually export these symbols.
63990
63991        * WebCore.gyp/WebCore.gyp:
63992
639932012-03-29  Nate Chapin  <japhet@chromium.org>
63994
63995        Simplify reporting a main resource error to DocumentLoader and
63996        FrameLoader.
63997        https://bugs.webkit.org/show_bug.cgi?id=82649
63998
63999        Reviewed by Adam Barth.
64000
64001        No new tests, no functionality change intended.
64002
64003        * loader/DocumentLoader.cpp:
64004        (WebCore::DocumentLoader::mainReceivedError): Remove isComplete parameter,
64005            since it was always true. Call FrameLoader::receivedMainResourceError,
64006            instead of the other way around.
64007        * loader/DocumentLoader.h:
64008        * loader/FrameLoader.cpp:
64009        (WebCore::FrameLoader::receivedMainResourceError): Remove isComplete parameter,
64010            since it was always true. Merge in most of mainReceivedCompleteError().
64011        * loader/FrameLoader.h:
64012        * loader/MainResourceLoader.cpp:
64013        (WebCore::MainResourceLoader::receivedError):
64014        (WebCore::MainResourceLoader::didCancel):
64015
640162012-03-28  Jer Noble  <jer.noble@apple.com>
64017
64018        Heap-use-after-free in WebCore::InlineFlowBox::deleteLine due to fullscreen issues.
64019        https://bugs.webkit.org/show_bug.cgi?id=82055
64020
64021        Reviewed by David Hyatt.
64022
64023        No new tests; fixes fuzz test crasher which is not reproducible in DRT or WKTR.
64024
64025        When a RenderFullScreen object is inserted between a child and parent renderer, make sure the
64026        parent renderer deletes its line boxes by calling setNeedsLayoutAndPrefWidthsRecalc().  This
64027        forces its InlineBox renderers to be removed from the line boxes and their parents in the correct
64028        order, fixing a double-delete crash.
64029
64030        The same is true when unwrapping the RenderFullScreen object, and when creating and inserting
64031        the full screen placeholder.
64032
64033        * rendering/RenderFullScreen.cpp:
64034        (RenderFullScreen::wrapRenderer):
64035        (RenderFullScreen::unwrapRenderer):
64036        (RenderFullScreen::createPlaceholder):
64037
640382012-03-29  Benjamin Poulain  <bpoulain@apple.com>
64039
64040        Get rid of Geolocation::positionChangedInternal(), use positionChanged() directly
64041        https://bugs.webkit.org/show_bug.cgi?id=82543
64042
64043        Reviewed by Andreas Kling.
64044
64045        After the change to client based geolocation, the method positionChangedInternal()
64046        is called only by positionChanged(). This patch remove this extra indirection.
64047
64048        * Modules/geolocation/Geolocation.cpp:
64049        (WebCore::Geolocation::positionChanged):
64050        * Modules/geolocation/Geolocation.h:
64051        (Geolocation):
64052        * WebCore.order:
64053
640542012-03-29  Joseph Pecoraro  <pecoraro@apple.com>
64055
64056        InputType attribute changed functions should happen after the attribute change
64057        https://bugs.webkit.org/show_bug.cgi?id=82644
64058
64059        Reviewed by Benjamin Poulain.
64060
64061        * html/HTMLInputElement.cpp:
64062        (WebCore::HTMLInputElement::parseAttribute):
64063
640642012-03-29  Bear Travis  <betravis@adobe.com>
64065
64066        Update CSS Exclusion wrap-flow values left & right to start & end
64067        https://bugs.webkit.org/show_bug.cgi?id=82366
64068
64069        http://dev.w3.org/csswg/css3-exclusions/
64070        -webkit-wrap-flow now takes the values start and end rather than
64071        left and right. Updating the code to reflect this. Functionality
64072        is covered by existing tests.
64073        
64074        Reviewed by Andreas Kling.
64075
64076        * css/CSSParser.cpp:
64077        (WebCore::isValidKeywordPropertyAndValue):
64078        * css/CSSPrimitiveValueMappings.h:
64079        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
64080        (WebCore::CSSPrimitiveValue::operator WrapFlow):
64081        * rendering/style/RenderStyleConstants.h:
64082
640832012-03-29  Dirk Pranke  <dpranke@chromium.org>
64084
64085        rollout r112484, r112545, r112574
64086        https://bugs.webkit.org/show_bug.cgi?id=82662
64087
64088        Unreviewed, build fix.
64089
64090        this appears to be producing some questionable differences on
64091        the apple mac bots, and possibly one test on chromium linux.
64092
64093        * css/mediaControls.css:
64094        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
64095        * css/mediaControlsChromium.css:
64096        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
64097        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
64098        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
64099        * html/shadow/MediaControlElements.cpp:
64100        (RenderMediaVolumeSliderContainer):
64101        (WebCore):
64102        (WebCore::RenderMediaVolumeSliderContainer::RenderMediaVolumeSliderContainer):
64103        (WebCore::RenderMediaVolumeSliderContainer::layout):
64104        (WebCore::MediaControlVolumeSliderContainerElement::createRenderer):
64105        * html/shadow/MediaControlElements.h:
64106        (MediaControlVolumeSliderContainerElement):
64107        * html/shadow/MediaControlRootElementChromium.cpp:
64108        (WebCore::MediaControlRootElementChromium::create):
64109
641102012-03-29  Julien Chaffraix  <jchaffraix@webkit.org>
64111
64112        REGRESSION (r110065-r110080): Content drawing outside overflow: hidden at ynet.co.il
64113        https://bugs.webkit.org/show_bug.cgi?id=82129
64114
64115        Reviewed by Ojan Vafai.
64116
64117        Tests: fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb-expected.html
64118               fast/overflow/before-after-overflow-hidden-horizontal-writing-mode-tb.html
64119               fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl-expected.html
64120               fast/overflow/before-after-overflow-hidden-vertical-writing-mode-rl.html
64121               fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb-expected.html
64122               fast/overflow/start-end-overflow-hidden-horizontal-writing-mode-tb.html
64123               fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl-expected.html
64124               fast/overflow/start-end-overflow-hidden-vertical-writing-mode-rl.html
64125
64126        This is a regression from r110072. I wrongly thought we should call ensureLayer if we create our RenderOverflow.
64127        However the current overflow code removes the before and start overflows (like in horizontal writing mode with ltr direction,
64128        we never have a top or a left overflow). Because of that we would not get a RenderLayer as expected and the overflow clip rects
64129        would be wrong on our RenderLayer children.
64130
64131        * rendering/RenderBox.cpp:
64132        (WebCore::RenderBox::addLayoutOverflow):
64133        Moved the ensureLayer() call after the check that we do have some overflow but before we remove the overflow in some directions.
64134
641352012-03-29  Adam Barth  <abarth@webkit.org>
64136
64137        [Chromium] Move ResourceHandle to WebCore/platform/network/chromium
64138        https://bugs.webkit.org/show_bug.cgi?id=82657
64139
64140        Reviewed by James Robinson.
64141
64142        We finally arive at our destination. This patch actually moves
64143        WebCore::ResourceHandle from Source/WebKit/chromium/src to
64144        Source/WebCore/network/chromium, matching its location in other ports.
64145        To make this happen, we also need to move WrappedResourceRequest and
64146        WrappedResourceResponse.
64147
64148        This patch is the last patch from
64149        https://github.com/abarth/webkit/compare/master...webcore-platform
64150
64151        * WebCore.gypi:
64152        * platform/chromium/support/WrappedResourceRequest.h: Copied from Source/WebKit/chromium/src/WrappedResourceRequest.h.
64153        * platform/chromium/support/WrappedResourceResponse.h: Copied from Source/WebKit/chromium/src/WrappedResourceResponse.h.
64154        * platform/network/chromium/ResourceHandle.cpp: Copied from Source/WebKit/chromium/src/ResourceHandle.cpp.
64155        (WebCore::ResourceHandleInternal::ResourceHandleInternal):
64156        (WebCore::ResourceHandleInternal::start):
64157        (WebCore::ResourceHandle::loadResourceSynchronously):
64158        (WebCore::ResourceHandle::cacheMetadata):
64159        * platform/network/chromium/ResourceHandleInternal.h: Copied from Source/WebKit/chromium/src/ResourceHandleInternal.h.
64160
641612012-03-29  Patrick Gansterer  <paroga@webkit.org>
64162
64163        Build fix for WinCE after r112555.
64164
64165        * platform/text/wince/TextCodecWinCE.cpp:
64166        (WebCore::LanguageManager::LanguageManager):
64167
641682012-03-29  Anders Carlsson  <andersca@apple.com>
64169
64170        Images that reload via media queries don't paint when device scale factor changes
64171        https://bugs.webkit.org/show_bug.cgi?id=82648
64172        <rdar://problem/11143637>
64173
64174        Reviewed by Beth Dakin.
64175
64176        Commit scale factor changes before dirty rect changes, since setting the scale factor
64177        can lead to more rects being dirtied when using the tile cache.
64178
64179        * platform/graphics/ca/GraphicsLayerCA.cpp:
64180        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
64181
641822012-03-29  Adam Barth  <abarth@webkit.org>
64183
64184        Move CPP files related to ResourceHandle to WebCore/platform
64185        https://bugs.webkit.org/show_bug.cgi?id=82582
64186
64187        Reviewed by James Robinson.
64188
64189        This patch moves a number of files that implement parts of the platform
64190        portion of the Chromium WebKit API from the WebKit layer to
64191        WebCore/platform. These files are in the dependency cone of
64192        ResourceHandle and have no dependencies on anything outside
64193        WebCore/platform.
64194
64195        * WebCore.gyp/WebCore.gyp:
64196        * WebCore.gypi:
64197        * platform/chromium/support: Added.
64198        * platform/chromium/support/WebData.cpp: Copied from Source/WebKit/chromium/src/WebData.cpp.
64199        * platform/chromium/support/WebHTTPBody.cpp: Copied from Source/WebKit/chromium/src/WebHTTPBody.cpp.
64200        * platform/chromium/support/WebHTTPLoadInfo.cpp: Copied from Source/WebKit/chromium/src/WebHTTPLoadInfo.cpp.
64201        * platform/chromium/support/WebURL.cpp: Copied from Source/WebKit/chromium/src/WebURL.cpp.
64202        * platform/chromium/support/WebURLError.cpp: Copied from Source/WebKit/chromium/src/WebURLError.cpp.
64203        * platform/chromium/support/WebURLRequest.cpp: Copied from Source/WebKit/chromium/src/WebURLRequest.cpp.
64204        * platform/chromium/support/WebURLRequestPrivate.h: Copied from Source/WebKit/chromium/src/WebURLRequestPrivate.h.
64205        * platform/chromium/support/WebURLResponse.cpp: Copied from Source/WebKit/chromium/src/WebURLResponse.cpp.
64206        * platform/chromium/support/WebURLResponsePrivate.h: Copied from Source/WebKit/chromium/src/WebURLResponsePrivate.h.
64207
642082012-03-29  Michal Mocny  <mmocny@google.com>
64209
64210        [chromium] Ensure framebuffer exists at the start of beginDrawingFrame.
64211        https://bugs.webkit.org/show_bug.cgi?id=82569
64212
64213        Reviewed by James Robinson.
64214
64215        Updated LayerRendererChromiumTest unittests.
64216
64217        * platform/graphics/chromium/LayerRendererChromium.cpp:
64218        (WebCore::LayerRendererChromium::setVisible):
64219        (WebCore::LayerRendererChromium::beginDrawingFrame):
64220        * platform/graphics/chromium/LayerRendererChromium.h:
64221        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
64222        (WebCore::CCSingleThreadProxy::compositeAndReadback):
64223        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
64224        (WebCore::CCThreadProxy::compositeAndReadback):
64225        (WebCore::CCThreadProxy::requestReadbackOnImplThread):
64226
642272012-03-29  Ryosuke Niwa  <rniwa@webkit.org>
64228
64229        Add a compile assert for the size of RenderBlock
64230        https://bugs.webkit.org/show_bug.cgi?id=82586
64231
64232        Reviewed by Tony Chang.
64233        
64234        Add compile asserts for the size of RenderBlock and RenderBlock::MarginValues.
64235        We can't add asserts for FloatingObject and MarginInfo because they're private to RenderBlock.
64236
64237        * rendering/RenderBlock.cpp:
64238        (SameSizeAsRenderBlock):
64239        (WebCore):
64240        (WebCore::RenderBlock::addOverflowFromFloats):
64241        (WebCore::RenderBlock::repaintOverhangingFloats):
64242        (WebCore::RenderBlock::paintFloats):
64243        (WebCore::RenderBlock::insertFloatingObject):
64244        (WebCore::RenderBlock::clearFloats):
64245        (WebCore::RenderBlock::addOverhangingFloats):
64246        (WebCore::RenderBlock::addIntrudingFloats):
64247        (WebCore::RenderBlock::hitTestFloats):
64248        (WebCore::RenderBlock::adjustForBorderFit):
64249        * rendering/RenderBlock.h:
64250        (WebCore::RenderBlock::FloatingObject::shouldPaint):
64251        (WebCore::RenderBlock::FloatingObject::setShouldPaint):
64252        (WebCore::RenderBlock::FloatingObject::isDescendant):
64253        (WebCore::RenderBlock::FloatingObject::setIsDescendant):
64254        (FloatingObject):
64255        (RenderBlock):
64256
642572012-03-29  Gavin Barraclough  <barraclough@apple.com>
64258
64259        Template the Yarr::Interpreter on the character type
64260        https://bugs.webkit.org/show_bug.cgi?id=82637
64261
64262        Reviewed by Sam Weinig.
64263
64264        We should be able to call to the interpreter after having already checked the character type,
64265        without having to re-package the character pointer back up into a string!
64266
64267        * inspector/ContentSearchUtils.cpp:
64268        (WebCore::ContentSearchUtils::findMagicComment):
64269        * platform/text/RegularExpression.cpp:
64270        (WebCore::RegularExpression::match):
64271            - Don't pass length.
64272
642732012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
64274
64275        Unreviewed, rolling out r112553.
64276        http://trac.webkit.org/changeset/112553
64277        https://bugs.webkit.org/show_bug.cgi?id=82638
64278
64279        It made all tests crash on Qt WK2 (Requested by Ossy_away on
64280        #webkit).
64281
64282        * Modules/geolocation/Geolocation.cpp:
64283        (WebCore::Geolocation::stop):
64284        (WebCore::Geolocation::lastPosition):
64285        (WebCore::Geolocation::requestPermission):
64286        (WebCore::Geolocation::startUpdating):
64287        (WebCore::Geolocation::stopUpdating):
64288        * Modules/geolocation/Geolocation.h:
64289        (WebCore):
64290        * Modules/geolocation/GeolocationController.cpp:
64291        * Modules/geolocation/GeolocationController.h:
64292        * WebCore.exp.in:
64293        * page/GeolocationClient.h:
64294        (WebCore):
64295        (GeolocationClient):
64296        * page/Page.cpp:
64297        (WebCore::Page::Page):
64298        (WebCore::Page::PageClients::PageClients):
64299        * page/Page.h:
64300        (WebCore):
64301        (PageClients):
64302        (Page):
64303        (WebCore::Page::geolocationController):
64304
643052012-03-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
64306
64307        HashMap<>::add should return a more descriptive object
64308        https://bugs.webkit.org/show_bug.cgi?id=71063
64309
64310        Reviewed by Ryosuke Niwa.
64311
64312        Update code to use AddResult instead of a pair. No new tests, just a refactoring.
64313
64314        * Modules/webdatabase/SQLTransactionCoordinator.cpp:
64315        (WebCore::SQLTransactionCoordinator::acquireLock):
64316        * Modules/webdatabase/chromium/QuotaTracker.cpp:
64317        (WebCore::QuotaTracker::updateDatabaseSize):
64318        * bindings/js/DOMObjectHashTableMap.h:
64319        (WebCore::DOMObjectHashTableMap::get):
64320        * bindings/js/JSDOMBinding.cpp:
64321        (WebCore::cacheDOMStructure):
64322        * bindings/js/JSDOMBinding.h:
64323        (WebCore::cacheWrapper):
64324        * bindings/js/JSDOMGlobalObject.h:
64325        (WebCore::getDOMConstructor):
64326        * bindings/js/PageScriptDebugServer.cpp:
64327        (WebCore::PageScriptDebugServer::addListener):
64328        * bindings/js/ScriptDebugServer.cpp:
64329        (WebCore::ScriptDebugServer::setBreakpoint):
64330        * bindings/js/SerializedScriptValue.cpp:
64331        (WebCore::CloneSerializer::startObjectInternal):
64332        (WebCore::CloneSerializer::write):
64333        * bindings/v8/NPV8Object.cpp:
64334        (WebCore::npCreateV8ScriptObject):
64335        * bridge/IdentifierRep.cpp:
64336        (WebCore::IdentifierRep::get):
64337        * bridge/NP_jsobject.cpp:
64338        (ObjectMap::add):
64339        * css/CSSComputedStyleDeclaration.cpp:
64340        (WebCore::logUnimplementedPropertyID):
64341        * css/CSSFontFaceSource.cpp:
64342        (WebCore::CSSFontFaceSource::getFontData):
64343        * css/CSSFontSelector.cpp:
64344        (WebCore::CSSFontSelector::addFontFaceRule):
64345        (WebCore::CSSFontSelector::getFontData):
64346        * css/CSSSegmentedFontFace.cpp:
64347        (WebCore::CSSSegmentedFontFace::getFontData):
64348        * css/CSSStyleApplyProperty.cpp:
64349        (WebCore::ApplyPropertyCounter::applyInheritValue):
64350        (WebCore::ApplyPropertyCounter::applyValue):
64351        * css/CSSStyleSelector.cpp:
64352        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
64353        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
64354        * css/CSSValuePool.cpp:
64355        (WebCore::CSSValuePool::createIdentifierValue):
64356        (WebCore::CSSValuePool::createColorValue):
64357        (WebCore::CSSValuePool::createValue):
64358        (WebCore::CSSValuePool::createFontFamilyValue):
64359        (WebCore::CSSValuePool::createFontFaceValue):
64360        * dom/CheckedRadioButtons.cpp:
64361        (WebCore::RadioButtonGroup::add):
64362        (WebCore::CheckedRadioButtons::addButton):
64363        * dom/ChildListMutationScope.cpp:
64364        (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
64365        * dom/Document.cpp:
64366        (WebCore::Document::windowNamedItems):
64367        (WebCore::Document::documentNamedItems):
64368        (WebCore::Document::getCSSCanvasElement):
64369        (WebCore::Document::getItems):
64370        * dom/DocumentEventQueue.cpp:
64371        (WebCore::DocumentEventQueue::enqueueEvent):
64372        (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
64373        (WebCore::DocumentEventQueue::pendingEventTimerFired):
64374        * dom/DocumentOrderedMap.cpp:
64375        (WebCore::DocumentOrderedMap::add):
64376        * dom/EventListenerMap.cpp:
64377        (WebCore::EventListenerMap::add):
64378        * dom/Node.cpp:
64379        (WebCore::Node::dumpStatistics):
64380        (WebCore::Node::getElementsByTagName):
64381        (WebCore::Node::getElementsByTagNameNS):
64382        (WebCore::Node::getElementsByName):
64383        (WebCore::Node::getElementsByClassName):
64384        (WebCore::Node::collectMatchingObserversForMutation):
64385        * dom/QualifiedName.cpp:
64386        (WebCore::QualifiedName::init):
64387        * dom/SpaceSplitString.cpp:
64388        (WebCore::SpaceSplitStringData::create):
64389        * dom/StyledElement.cpp:
64390        (WebCore::StyledElement::updateAttributeStyle):
64391        * html/HTMLCollection.cpp:
64392        (WebCore::HTMLCollection::append):
64393        * inspector/DOMPatchSupport.cpp:
64394        (WebCore::DOMPatchSupport::diff):
64395        * inspector/InspectorCSSAgent.cpp:
64396        (WebCore::SelectorProfile::commitSelector):
64397        * inspector/InspectorDOMAgent.cpp:
64398        (WebCore::InspectorDOMAgent::performSearch):
64399        * inspector/InspectorDebuggerAgent.cpp:
64400        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
64401        * inspector/InspectorValues.h:
64402        (WebCore::InspectorObject::setValue):
64403        (WebCore::InspectorObject::setObject):
64404        (WebCore::InspectorObject::setArray):
64405        * loader/appcache/ApplicationCacheGroup.cpp:
64406        (WebCore::ApplicationCacheGroup::addEntry):
64407        * loader/appcache/ApplicationCacheStorage.cpp:
64408        (WebCore::ApplicationCacheStorage::findOrCreateCacheGroup):
64409        * page/EventHandler.cpp:
64410        (WebCore::EventHandler::handleTouchEvent):
64411        * page/PageGroup.cpp:
64412        (WebCore::PageGroup::pageGroup):
64413        (WebCore::PageGroup::addVisitedLink):
64414        (WebCore::PageGroup::addUserScriptToWorld):
64415        (WebCore::PageGroup::addUserStyleSheetToWorld):
64416        * page/SecurityPolicy.cpp:
64417        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
64418        * page/TouchAdjustment.cpp:
64419        (WebCore::TouchAdjustment::compileSubtargetList):
64420        * platform/cf/BinaryPropertyList.cpp:
64421        (WebCore::BinaryPropertyListPlan::writeInteger):
64422        (WebCore::BinaryPropertyListPlan::writeString):
64423        (WebCore::BinaryPropertyListPlan::writeIntegerArray):
64424        * platform/graphics/blackberry/LayerTiler.cpp:
64425        (WebCore::LayerTiler::addTileJob):
64426        * platform/graphics/ca/GraphicsLayerCA.cpp:
64427        (WebCore::GraphicsLayerCA::findOrMakeClone):
64428        * platform/graphics/ca/mac/TileCache.mm:
64429        (WebCore::TileCache::revalidateTiles):
64430        * platform/graphics/ca/win/LayerChangesFlusher.cpp:
64431        (WebCore::LayerChangesFlusher::flushPendingLayerChangesSoon):
64432        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
64433        (WebCore::getDerivedFontData):
64434        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
64435        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
64436        * platform/graphics/mac/ComplexTextControllerATSUI.cpp:
64437        (WebCore::initializeATSUStyle):
64438        * platform/graphics/mac/SimpleFontDataCoreText.cpp:
64439        (WebCore::SimpleFontData::getCFStringAttributes):
64440        * platform/graphics/mac/SimpleFontDataMac.mm:
64441        (WebCore::SimpleFontData::canRenderCombiningCharacterSequence):
64442        * platform/graphics/wince/FontPlatformData.cpp:
64443        (WebCore::FixedSizeFontData::create):
64444        * platform/gtk/RenderThemeGtk3.cpp:
64445        (WebCore::getStyleContext):
64446        * platform/mac/ThreadCheck.mm:
64447        (WebCoreReportThreadViolation):
64448        * platform/network/HTTPHeaderMap.cpp:
64449        (WebCore::HTTPHeaderMap::add):
64450        * platform/network/HTTPHeaderMap.h:
64451        (HTTPHeaderMap):
64452        * platform/network/ResourceRequestBase.cpp:
64453        (WebCore::ResourceRequestBase::addHTTPHeaderField):
64454        * plugins/PluginDatabase.cpp:
64455        (WebCore::PluginDatabase::add):
64456        (WebCore::PluginDatabase::loadPersistentMetadataCache):
64457        * plugins/win/PluginDatabaseWin.cpp:
64458        (WebCore::PluginDatabase::getPluginPathsInDirectories):
64459        * rendering/RenderBlock.cpp:
64460        (WebCore::RenderBlock::addPercentHeightDescendant):
64461        * rendering/RenderBlockLineLayout.cpp:
64462        (WebCore::setLogicalWidthForTextRun):
64463        * rendering/RenderNamedFlowThread.cpp:
64464        (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
64465        * rendering/RenderRegion.cpp:
64466        (WebCore::RenderRegion::setRenderBoxRegionInfo):
64467        * rendering/svg/RenderSVGResourceGradient.cpp:
64468        (WebCore::RenderSVGResourceGradient::applyResource):
64469        * rendering/svg/RenderSVGResourcePattern.cpp:
64470        (WebCore::RenderSVGResourcePattern::applyResource):
64471        * storage/StorageMap.cpp:
64472        (WebCore::StorageMap::setItem):
64473        (WebCore::StorageMap::importItem):
64474        * svg/SVGDocumentExtensions.cpp:
64475        (WebCore::SVGDocumentExtensions::addPendingResource):
64476        * xml/XMLHttpRequest.cpp:
64477        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
64478        * xml/XPathFunctions.cpp:
64479        (WebCore::XPath::FunId::evaluate):
64480        * xml/XPathPath.cpp:
64481        (WebCore::XPath::LocationPath::evaluate):
64482        * xml/XPathPredicate.cpp:
64483        (WebCore::XPath::Union::evaluate):
64484
644852012-03-29  Andrey Kosyakov  <caseq@chromium.org>
64486
64487        Web Inspector: improve window selection accuracy in vertical overview of timeline panel
64488        https://bugs.webkit.org/show_bug.cgi?id=82625
64489
64490        Reviewed by Vsevolod Vlasov.
64491
64492        * inspector/front-end/TimelineOverviewPane.js:
64493        (WebInspector.TimelineVerticalOverview):
64494        (WebInspector.TimelineVerticalOverview.prototype._renderBars): preserve actual padding used while rendering bars.
64495        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes): account for outer and inter-bars padding when calculating bar offsets.
64496
644972012-03-29  Mark Pilgrim  <pilgrim@chromium.org>
64498
64499        GEOLOCATION should be implemented as Page Supplement
64500        https://bugs.webkit.org/show_bug.cgi?id=82228
64501
64502        Reviewed by Adam Barth.
64503
64504        Geolocation now uses the Supplement interface instead of
64505        keeping an instance variable on Page. This allows us to
64506        remove all geolocation-related functions, variables, and
64507        ifdefs out of Page and into Modules/geolocation/.
64508
64509        * Modules/geolocation/Geolocation.cpp:
64510        (WebCore::Geolocation::stop):
64511        (WebCore::Geolocation::lastPosition):
64512        (WebCore::Geolocation::requestPermission):
64513        (WebCore::Geolocation::startUpdating):
64514        (WebCore::Geolocation::stopUpdating):
64515        * Modules/geolocation/Geolocation.h:
64516        (WebCore):
64517        * Modules/geolocation/GeolocationController.cpp:
64518        (WebCore::GeolocationController::supplementName):
64519        (WebCore):
64520        (WebCore::provideGeolocationTo):
64521        * Modules/geolocation/GeolocationController.h:
64522        (GeolocationController):
64523        (WebCore::GeolocationController::from):
64524        * WebCore.exp.in:
64525        * page/GeolocationClient.h:
64526        (WebCore):
64527        (GeolocationClient):
64528        * page/Page.cpp:
64529        (WebCore::Page::Page):
64530        (WebCore::Page::PageClients::PageClients):
64531        * page/Page.h:
64532        (WebCore):
64533        (PageClients):
64534        (Page):
64535
645362012-03-29  John Bates  <jbates@google.com>
64537
64538        Sync up WebKit TraceEvent.h with chromium trace_event.h
64539        https://bugs.webkit.org/show_bug.cgi?id=82527
64540
64541        Reviewed by James Robinson.
64542
64543        * platform/chromium/TraceEvent.h:
64544
645452012-03-29  Pavel Feldman  <pfeldman@chromium.org>
64546
64547        Web Inspector: subtree disapears from <iframe> after loading
64548        https://bugs.webkit.org/show_bug.cgi?id=76552
64549
64550        Reviewed by Yury Semikhatsky.
64551
64552        The problem was that content document subtree was not unbound upon iframe re-push.
64553        Upon owner element refresh content document was not sent to the frontend
64554        since backend assumed that front-end has already had the up-to-date version.
64555
64556        Test: inspector/elements/iframe-load-event.html
64557
64558        * inspector/InspectorDOMAgent.cpp:
64559        (WebCore::InspectorDOMAgent::loadEventFired):
64560
645612012-03-29  Dana Jansens  <danakj@chromium.org>
64562
64563        [chromium] Remove unneeded code+fixmes from CCOcclusionTracker
64564        https://bugs.webkit.org/show_bug.cgi?id=82380
64565
64566        Reviewed by Adrienne Walker.
64567
64568        The current occlusion was exposed on the occlusion tracker for the
64569        transition over to culling 2.0 which has landed, so we can remove
64570        it now. It still had one use in unit tests which is moved to a
64571        test subclass.
64572
64573        Above test subclass already existed in the occlusion tracker tests,
64574        so pulled it out to a common file CCOcclusionTrackerTestCommon.h
64575        so that other unit tests can use it to get at occlusion internals.
64576
64577        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
64578        (WebCore):
64579        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
64580
645812012-03-29  Joseph Pecoraro  <pecoraro@apple.com>
64582
64583        <http://webkit.org/b/82558> Toggling <input type="range"> readonly or disabled state while active breaks all click events
64584
64585        Test: fast/forms/range/range-drag-when-toggled-disabled.html
64586
64587        Reviewed by Kent Tamura.
64588
64589        * html/shadow/SliderThumbElement.cpp:
64590        (WebCore::SliderThumbElement::defaultEventHandler):
64591        A slider can toggle its readonly or disabled state while in the middle
64592        of dragging, in those cases we should cancel the drag and perform cleanup.
64593
645942012-03-29  Adam Klein  <adamk@chromium.org>
64595
64596        Factor out common post-insertion logic in ContainerNode
64597        https://bugs.webkit.org/show_bug.cgi?id=82544
64598
64599        Reviewed by Ryosuke Niwa.
64600
64601        appendChild, insertBefore, and replaceChild all share a great deal of logic.
64602        This patch factors out the "post-insertion" logic that deals with
64603        notifying parents that their children changed and notifying children
64604        that they've been added to the tree.
64605
64606        Besides reducing code duplication, this is in preparation for moving
64607        this post-insertion notification later in the insertion process.
64608
64609        No new tests, no change in behavior.
64610
64611        * dom/ContainerNode.cpp:
64612        (WebCore):
64613        (WebCore::ContainerNode::insertBefore): Factor out shared logic, remove unnecessary "prev" variable.
64614        (WebCore::ContainerNode::replaceChild): ditto.
64615        (WebCore::ContainerNode::appendChild): ditto.
64616        (WebCore::updateTreeAfterInsertion): New helper method encapsulating shared logic.
64617
646182012-03-29  Tony Chang  <tony@chromium.org>
64619
64620        Need to implement flex-line-pack
64621        https://bugs.webkit.org/show_bug.cgi?id=70794
64622
64623        Reviewed by Ojan Vafai.
64624
64625        Tests: css3/flexbox/multiline-line-pack-horizontal-column.html
64626               css3/flexbox/multiline-line-pack.html
64627
64628        * rendering/RenderFlexibleBox.cpp:
64629        (WebCore::RenderFlexibleBox::repositionLogicalHeightDependentFlexItems):
64630        (WebCore::initialLinePackingOffset): Similar to initialPackingOffset.
64631        (WebCore):
64632        (WebCore::linePackingSpaceBetweenChildren): Similar to packingSpaceBetweenChildren.
64633        (WebCore::RenderFlexibleBox::packFlexLines): Move lines based on flex-line-pack.
64634            Note that we don't need to relayout on stretch because
64635            alignChildren will do that for us (only auto size needs stretching).
64636        (WebCore::RenderFlexibleBox::flipForWrapReverse): Pull out the initial
64637            cross axis offset before calling packFlexLines because we can
64638            move the the line contexts.
64639        * rendering/RenderFlexibleBox.h:
64640
646412012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
64642
64643        Web Inspector: SnippetsScriptMapping should process existing snippets on load.
64644        https://bugs.webkit.org/show_bug.cgi?id=82619
64645
64646        Reviewed by Pavel Feldman.
64647
64648        SnippetsScriptMapping now loads existing snippets on creation.
64649        Otherwise scripts panel shows snippets created during current session only.
64650        Drive-by ScriptsNavigator closure compilation fix.
64651
64652        * inspector/front-end/SnippetsModel.js:
64653        (WebInspector.SnippetsModel.prototype.set get snippets):
64654        (WebInspector.SnippetsScriptMapping):
64655        (WebInspector.SnippetsScriptMapping.prototype._handleSnippetAdded):
64656        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
64657
646582012-03-29  Yury Semikhatsky  <yurys@chromium.org>
64659
64660        Web Inspector: check more likely condition first in HeapSnapshot._buildAggregates
64661        https://bugs.webkit.org/show_bug.cgi?id=82621
64662
64663        Reviewed by Pavel Feldman.
64664
64665        * inspector/front-end/HeapSnapshot.js: selfSize === 0 is quite rare, moving this condition
64666        to the first place saves 1 of 6 secs on the heap profiler perf test.
64667        (WebInspector.HeapSnapshot.prototype._buildAggregates):
64668        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes): root node is always the first
64669        one and is the only one that doesn't have dominator, so we may start iterating nodes from
64670        the second node and avoid additional check in the loop.
64671
646722012-03-29  Pavel Feldman  <pfeldman@chromium.org>
64673
64674        Web Inspector: "go to the previous panel" shortcut is painful to maintain
64675        https://bugs.webkit.org/show_bug.cgi?id=82602
64676
64677        Reviewed by Vsevolod Vlasov.
64678
64679        Present go to previous panel shortcut "Cmd - Left" is painful to support since we have
64680        more and more free flow editing capabilities (where Cmd - Left is handled by the editor).
64681        Remaping it to Cmd - Option - [ (]) /  (Ctrl - Alt - [ (]) ).
64682
64683        Drive-by: de-capitalize captions from the settings panel.
64684
64685        * English.lproj/localizedStrings.js:
64686        * inspector/front-end/ConsoleView.js:
64687        (WebInspector.ConsoleView.prototype._registerShortcuts):
64688        * inspector/front-end/InspectorView.js:
64689        (WebInspector.InspectorView.prototype._keyDown):
64690        * inspector/front-end/ScriptsPanel.js:
64691        * inspector/front-end/TimelinePanel.js:
64692        (WebInspector.TimelinePanel.prototype._registerShortcuts):
64693        (WebInspector.TimelinePanel.prototype._contextMenu):
64694        * inspector/front-end/inspector.js:
64695        (WebInspector._registerShortcuts):
64696
646972012-03-29  Andrey Kosyakov  <caseq@chromium.org>
64698
64699        Unreviewed, rolling out r112531.
64700        http://trac.webkit.org/changeset/112531
64701        https://bugs.webkit.org/show_bug.cgi?id=82616
64702
64703        Broke timeline overview selection
64704
64705        * inspector/front-end/TimelineOverviewPane.js:
64706        (WebInspector.TimelineOverviewWindow):
64707
647082012-03-28  Dirk Schulze  <krit@webkit.org>
64709
64710        Introduce CSSParserMode in all classes
64711        https://bugs.webkit.org/show_bug.cgi?id=82335
64712
64713        Reviewed by Ryosuke Niwa.
64714
64715        Introduce the new CSSParserMode enum to more classes. SVG classes make use of SVGAttributeMode for CSS parsing already.
64716        But SVGAttributeMode does not differ from CSSQuirksMode at the moment. This will change with a followup patch on bug 46112.
64717
64718        No new tests. No change of functionality. Everything gets covered by existing tests.
64719
64720        * css/CSSImportRule.cpp:
64721        (WebCore::CSSImportRule::setCSSStyleSheet):
64722        * css/CSSMediaRule.cpp:
64723        (WebCore::CSSMediaRule::insertRule):
64724        * css/CSSParser.cpp: Move private functions away from strict boolean and make use of CSSParserMode instead.
64725        (WebCore):
64726        (WebCore::parseColorValue):
64727        (WebCore::parseSimpleLengthValue):
64728        (WebCore::CSSParser::parseFontFaceValue):
64729        (WebCore::CSSParser::parseValue):
64730        (WebCore::CSSParser::parseColor):
64731        (WebCore::CSSParser::createStyleRule):
64732        (WebCore::CSSParser::createFontFaceRule):
64733        (WebCore::CSSParser::createPageRule):
64734        (WebCore::CSSParser::createKeyframeRule):
64735        * css/CSSParser.h: Removed constructor with boolean argument. We just use the CSSParserMode enum now.
64736        (CSSParser):
64737        * css/CSSParserMode.h:
64738        (strictToCSSParserMode): New helper function to convert boolean to CSSParserMode.
64739        (isStrictParserMode): Helper function that returns true if argument is CSSStrictMode.
64740        * css/CSSRule.h:
64741        (WebCore::CSSRule::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
64742        * css/CSSStyleSheet.cpp:
64743        (WebCore::CSSStyleSheet::CSSStyleSheet):
64744        (WebCore::CSSStyleSheet::insertRule):
64745        (WebCore::CSSStyleSheet::parseString):
64746        (WebCore::CSSStyleSheet::parseStringAtLine):
64747        * css/CSSStyleSheet.h:
64748        (CSSStyleSheet):
64749        (WebCore::CSSStyleSheet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we set an enum now.
64750        (WebCore::CSSStyleSheet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
64751        * css/MediaList.cpp:
64752        (WebCore::MediaQuerySet::parse):
64753        (WebCore::MediaQuerySet::add):
64754        (WebCore::MediaQuerySet::remove):
64755        * css/StylePropertySet.cpp:
64756        (WebCore::StylePropertySet::StylePropertySet):
64757        (WebCore::StylePropertySet::setProperty):
64758        (WebCore::StylePropertySet::parseDeclaration):
64759        * css/StylePropertySet.h: Use unsigned member variables to store the parser mode.  
64760        (WebCore::StylePropertySet::create):
64761        (WebCore::StylePropertySet::setCSSParserMode): Renamed setStrictParsing to setCSSParserMode since we get an enum now. This gets converted to unsigned internally.
64762        (WebCore::StylePropertySet::cssParserMode): Renamed useStrictParsing to cssParserMode since it returns CSSParserMode instead of a boolean now.
64763        (StylePropertySet):
64764        * css/StyleSheet.h:
64765        (StyleSheet):
64766        * css/WebKitCSSKeyframesRule.cpp:
64767        (WebCore::WebKitCSSKeyframesRule::insertRule):
64768        * css/WebKitCSSMatrix.cpp:
64769        (WebCore::WebKitCSSMatrix::setMatrixValue):
64770        * dom/Document.cpp:
64771        (WebCore::Document::webkitGetFlowByName):
64772        (WebCore::Document::pageUserSheet):
64773        (WebCore::Document::pageGroupUserSheets):
64774        * dom/Element.cpp:
64775        (WebCore::Element::webkitMatchesSelector):
64776        * dom/ElementAttributeData.cpp:
64777        (WebCore::ElementAttributeData::ensureInlineStyle):
64778        (WebCore::ElementAttributeData::ensureMutableInlineStyle):
64779        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
64780        * dom/Node.cpp:
64781        (WebCore::Node::querySelector):
64782        (WebCore::Node::querySelectorAll):
64783        * dom/ProcessingInstruction.cpp:
64784        (WebCore::ProcessingInstruction::parseStyleSheet):
64785        * dom/StyleElement.cpp:
64786        (WebCore::StyleElement::createSheet):
64787        * html/HTMLElement.cpp:
64788        (WebCore::StyledElement::copyNonAttributeProperties):
64789        * html/HTMLLinkElement.cpp:
64790        (WebCore::HTMLLinkElement::setCSSStyleSheet):
64791        * html/canvas/CanvasRenderingContext2D.cpp:
64792        (WebCore::CanvasRenderingContext2D::setFont):
64793        * html/shadow/ContentSelectorQuery.cpp:
64794        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
64795        * inspector/InspectorStyleSheet.cpp:
64796        (WebCore::InspectorStyleSheet::reparseStyleSheet):
64797        * svg/SVGElementRareData.h:
64798        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties):
64799        * svg/SVGFontFaceElement.cpp:
64800        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
64801        * svg/SVGStyledElement.cpp:
64802        (WebCore::SVGStyledElement::getPresentationAttribute):
64803        * xml/XSLStyleSheet.h:
64804        (XSLStyleSheet):
64805        * xml/XSLStyleSheetLibxslt.cpp:
64806        (WebCore::XSLStyleSheet::parseString):
64807        * xml/XSLStyleSheetQt.cpp:
64808        (WebCore::XSLStyleSheet::parseString):
64809
648102012-03-29  Sanghyun Park  <sh919.park@samsung.com>
64811
64812        Fix the error type in JSAudioBufferSourceNodeCustom to pass layout test.
64813        https://bugs.webkit.org/show_bug.cgi?id=81639
64814
64815        Reviewed by Eric Carlson.
64816
64817        Test : LayoutTest/webaudio/audiobuffersource-channels.html
64818
64819        * bindings/js/JSAudioBufferSourceNodeCustom.cpp:
64820
648212012-03-29  Vsevolod Vlasov  <vsevik@chromium.org>
64822
64823        Web Inspector: Existing UISourceCode should be loaded on scripts panel creation/reset.
64824        https://bugs.webkit.org/show_bug.cgi?id=82614
64825
64826        Reviewed by Pavel Feldman.
64827
64828        UISourceCode are now loaded from DebuggerPresentationModel on scripts panel creation/reset.
64829        This is needed to show snippets that are loaded before scripts panel creation and are not removed on navigation.
64830
64831        * inspector/front-end/ScriptsPanel.js:
64832        (WebInspector.ScriptsPanel.prototype._handleUISourceCodeAdded):
64833        (WebInspector.ScriptsPanel.prototype._loadUISourceCodes):
64834        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
64835        (WebInspector.ScriptsPanel.prototype._reset):
64836        * inspector/front-end/SnippetsModel.js:
64837        (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
64838
648392012-03-29  Andrey Kosyakov  <caseq@chromium.org>
64840
64841        Web Inspector: on a single click in Timeline overview, make a minimal selection centered around cursor
64842        https://bugs.webkit.org/show_bug.cgi?id=82616
64843
64844        Reviewed by Pavel Feldman.
64845
64846        * inspector/front-end/TimelineOverviewPane.js:
64847        (WebInspector.TimelineOverviewWindow): Explicitly handle single click on overview by creating a minimal window around cursor.
64848        (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMinimum):
64849
648502012-03-29  Víctor Manuel Jáquez Leal  <vjaquez@igalia.com>
64851
64852        Unavailable pre-processor macro in non-Qt environments
64853        https://bugs.webkit.org/show_bug.cgi?id=82042
64854
64855        Reviewed by Simon Hausmann.
64856
64857        This patch removes the use of the macro QT_VERSION_CHECK() because, in
64858        non-Qt environments, the pre-processors raises an error. Instead of
64859        calling the macro to generate the version number, the version is
64860        expressed directly.
64861
64862        * platform/graphics/texmap/TextureMapperGL.cpp:
64863        (SharedGLData): remove pre-processor macro for Qt version check.
64864
648652012-03-29  Andrey Kosyakov  <caseq@chromium.org>
64866
64867        Web Inspector: event details popover in Timeline panel displays invalid time offset
64868        https://bugs.webkit.org/show_bug.cgi?id=82611
64869
64870        Reviewed by Pavel Feldman.
64871
64872        * inspector/front-end/TimelinePresentationModel.js:
64873        (WebInspector.TimelinePresentationModel.prototype.addRecord): use time in seconds, not raw model time for minimumRecordTime.
64874
648752012-03-29  Andrey Kosyakov  <caseq@chromium.org>
64876
64877        Web Inspector: use canvas to render bars in "vertical overview" mode
64878        https://bugs.webkit.org/show_bug.cgi?id=82606
64879
64880        Reviewed by Pavel Feldman.
64881
64882        * inspector/front-end/TimelineOverviewPane.js: Use canvas instead of DOM for rendering vertical overview bars.
64883        (WebInspector.TimelineVerticalOverview):
64884        (WebInspector.TimelineVerticalOverview.prototype.update):
64885        (WebInspector.TimelineVerticalOverview.prototype._renderBars):
64886        (WebInspector.TimelineVerticalOverview.prototype._renderBar):
64887        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
64888        * inspector/front-end/timelinePanel.css: Drop styles previously used for DOM-based vertical overview rendering.
64889        (.timeline-vertical-overview-bars):
64890
648912012-03-29  Andrey Kosyakov  <caseq@chromium.org>
64892
64893        Web Inspector: timeline overview window selection is not reset upon clear/record
64894        https://bugs.webkit.org/show_bug.cgi?id=82603
64895
64896        Reviewed by Pavel Feldman.
64897
64898        - TimelineOverviewPane.reset() -> _reset();
64899        - perform update() from reset();
64900        - perform reset() upon RecordsCleared event from the model.
64901
64902        * inspector/front-end/TimelineOverviewPane.js:
64903        (WebInspector.TimelineOverviewPane):
64904        (WebInspector.TimelineOverviewPane.prototype._reset):
64905        (WebInspector.TimelineVerticalOverview):
64906        (WebInspector.TimelineVerticalOverview.prototype.update):
64907        (WebInspector.TimelineVerticalOverview.prototype._renderBars):
64908        (WebInspector.TimelineVerticalOverview.prototype._renderBar):
64909        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
64910        * inspector/front-end/timelinePanel.css:
64911        (.timeline-vertical-overview-bars):
64912
649132012-03-29  Zalan Bujtas  <zbujtas@gmail.com>
64914
64915        Remove redundant updateViewportArguments() call when page is restored from page cache.
64916        https://bugs.webkit.org/show_bug.cgi?id=82500
64917
64918        Reviewed by Kenneth Rohde Christiansen.
64919
64920        Document::updateViewportArguments() is called twice, while restoring a page from page cache.
64921        First, it is called when the document is set on the mainframe and later, it is called
64922        when page cache finished the restoration. Since viewport arguments don't change between
64923        the 2 calls, it's safe to remove the second.
64924
64925        Manual test added. Viewport value updates heavily depend on UI process code.
64926
64927        * dom/Document.cpp:
64928        (WebCore::Document::documentDidResumeFromPageCache):
64929
649302012-03-29  Charles Wei  <charles.wei@torchmobile.com.cn>
64931
64932        [BlackBerry] Add Internal test support for blackberry porting.
64933        https://bugs.webkit.org/show_bug.cgi?id=82597
64934
64935        Reviewed by Rob Buis.
64936
64937        No new tests, just the build system enhancement for BlackBerry porting.
64938
64939        * UseJSC.cmake:
64940
649412012-03-28  Yury Semikhatsky  <yurys@chromium.org>
64942
64943        Web Inspector: switch heap profiler front-end to separate storage of nodes and edges
64944        https://bugs.webkit.org/show_bug.cgi?id=82453
64945
64946        When heap snapshot is completely loaded move nodes and containment edges
64947        into two separate arrays. This way we don't need _nodeIndex and _nodePosition
64948        maps to go from node offset inside the raw snapshot to its index and back, instead
64949        we may just divide node offset by the number of node fields to get node index. After
64950        the nodes and containment edges are separated original array (_nodes) is dropped.
64951        All front-end code was switched to the new representation.
64952
64953        Reviewed by Pavel Feldman.
64954
64955        * inspector/front-end/HeapSnapshot.js:
64956        (WebInspector.HeapSnapshotRetainerEdge):
64957        (WebInspector.HeapSnapshotRetainerEdge.prototype.clone):
64958        (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
64959        (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
64960        (WebInspector.HeapSnapshotRetainerEdgeIterator.prototype.hasNext):
64961        (WebInspector.HeapSnapshotNode.prototype.get edgesCount):
64962        (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
64963        (WebInspector.HeapSnapshotNode.prototype.get retainers):
64964        (WebInspector.HeapSnapshotNode.prototype.get _nodes):
64965        (WebInspector.HeapSnapshotNode.prototype._firstEdgeIndex):
64966        (WebInspector.HeapSnapshotNode.prototype._afterLastEdgeIndex):
64967        (WebInspector.HeapSnapshotNode.prototype.get _nextNodeIndex):
64968        (WebInspector.HeapSnapshot.prototype._init):
64969        (WebInspector.HeapSnapshot.prototype._splitNodesAndContainmentEdges):
64970        (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
64971        (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
64972        (WebInspector.HeapSnapshot.prototype._buildRetainers):
64973        (WebInspector.HeapSnapshot.prototype.dispose):
64974        (WebInspector.HeapSnapshot.prototype.get maxNodeId):
64975        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
64976        (WebInspector.HeapSnapshot.prototype._bfs):
64977        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
64978        (WebInspector.HeapSnapshot.prototype._getDominatedIndex):
64979        (WebInspector.HeapSnapshot.prototype._markInvisibleEdges):
64980        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
64981
649822012-03-29  Leo Yang  <leo.yang@torchmobile.com.cn>
64983
64984        [BlackBerry] Add m_targetType to WorkerScriptLoader
64985        https://bugs.webkit.org/show_bug.cgi?id=82574
64986
64987        Reviewed by Rob Buis.
64988
64989        Just as Chromium porting blackberry porting is using m_targetType also.
64990
64991        * workers/WorkerScriptLoader.h:
64992        (WorkerScriptLoader):
64993
649942012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>
64995
64996        [BlackBerry] Add an empty implementation of GraphicsContext3D::setErrorMessageCallback
64997        https://bugs.webkit.org/show_bug.cgi?id=82570
64998
64999        Reviewed by Rob Buis.
65000
65001        No new tests, no change in functionality.
65002
65003        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp:
65004        (WebCore::GraphicsContext3D::setErrorMessageCallback): Add an empty implementation.
65005        (WebCore):
65006
650072012-03-29  Robin Cao  <robin.cao@torchmobile.com.cn>
65008
65009        [BlackBerry] Clean up ImageBufferData
65010        https://bugs.webkit.org/show_bug.cgi?id=82444
65011
65012        Reviewed by Rob Buis.
65013
65014        No behavior changes, no new tests.
65015
65016        * platform/graphics/blackberry/skia/ImageBufferDataSkia.h:
65017        (ImageBufferData): Remove unused member variable m_buffer and change the type
65018        of m_platformLayer from LayerWebKitThread to CanvasLayerWebKitThread.
65019
650202012-03-28  Antti Koivisto  <antti@apple.com>
65021
65022        Split WebKitCSSKeyframeRule into internal and CSSOM types 
65023        https://bugs.webkit.org/show_bug.cgi?id=82490 
65024
65025        Reviewed by Andreas Kling.
65026
65027        WebKitCSSKeyframeRule is a CSSOM type and should not be used internally.
65028        
65029        - Add StyleKeyframe as the internal data structure for keyframes.
65030        - WebKitCSSKeyframeRule becomes a wrapper for StyleKeyframe.
65031        - Use StyleKeyframe internally so WebKitCSSKeyframeRules are created on CSSOM access only.
65032
65033        * css/CSSGrammar.y:
65034        
65035            Use StyleKeyframes instead of WebKitCSSKeyframeRules.
65036        
65037        * css/CSSMediaRule.h:
65038        (CSSMediaRule):
65039        (WebCore::CSSMediaRule::length):
65040        (WebCore::CSSMediaRule::item):
65041        
65042            Adapt to LiveCSSRuleList changes.
65043        
65044        * css/CSSParser.cpp:
65045        (WebCore::CSSParser::parseKeyframeRule):
65046        (WebCore::CSSParser::createKeyframe):
65047        * css/CSSParser.h:        
65048        (WebCore):
65049        (CSSParser):
65050        
65051            Construct StyleKeyframes.
65052        
65053        * css/CSSRuleList.h:
65054        (WebCore::LiveCSSRuleList::length):
65055        (WebCore::LiveCSSRuleList::item):
65056
65057            Make LiveCSSRuleList call rule item()/length() to avoid accessor duplication.
65058    
65059        * css/CSSStyleSelector.cpp:
65060        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
65061        * css/CSSStyleSelector.h:
65062        (CSSStyleSelector):
65063        * css/WebKitCSSKeyframeRule.cpp:
65064        
65065            Use StyleKeyframe.
65066            Make 0% and 100% keyframes static.
65067        
65068        (WebCore):
65069        (WebCore::StyleKeyframe::setProperties):
65070        (WebCore::StyleKeyframe::parseKeyString):
65071        (WebCore::StyleKeyframe::cssText):
65072        (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
65073        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
65074        (WebCore::WebKitCSSKeyframeRule::style):
65075        * css/WebKitCSSKeyframeRule.h:
65076        (WebCore):
65077        (WebCore::StyleKeyframe::create):
65078        (WebCore::StyleKeyframe::keyText):
65079        (WebCore::StyleKeyframe::setKeyText):
65080        (StyleKeyframe):
65081        (WebCore::StyleKeyframe::properties):
65082        (WebCore::StyleKeyframe::StyleKeyframe):
65083        (WebKitCSSKeyframeRule):
65084        (WebCore::WebKitCSSKeyframeRule::keyText):
65085        (WebCore::WebKitCSSKeyframeRule::setKeyText):
65086        (WebCore::WebKitCSSKeyframeRule::cssText):
65087        
65088            Split to internal and CSSOM wrapper type. The wrapper refs StyleKeyframe. 
65089        
65090        * css/WebKitCSSKeyframesRule.cpp:
65091        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
65092        (WebCore::WebKitCSSKeyframesRule::parserAppendKeyframe):
65093        (WebCore::WebKitCSSKeyframesRule::insertRule):
65094        (WebCore::WebKitCSSKeyframesRule::deleteRule):
65095        (WebCore::WebKitCSSKeyframesRule::findRule):
65096        (WebCore::WebKitCSSKeyframesRule::findKeyframeIndex):
65097        (WebCore::WebKitCSSKeyframesRule::cssText):
65098        (WebCore):
65099        (WebCore::WebKitCSSKeyframesRule::item):
65100        * css/WebKitCSSKeyframesRule.h:
65101        (WebCore):
65102        (WebCore::WebKitCSSKeyframesRule::keyframes):
65103        (WebKitCSSKeyframesRule):
65104        (WebCore::WebKitCSSKeyframesRule::length):
65105        
65106            Keep StyleKeyframes and the wrappers (WebKitCSSKeyframeRules) in separate vectors.
65107            Construct the wrapper vector and wrappers themselves on demand.
65108            Keep the vectors in sync during mutations.
65109        
65110        * css/WebKitCSSRegionRule.h:
65111        
65112            Adapt to LiveCSSRuleList changes.
65113
651142012-03-29  Zeno Albisser  <zeno@webkit.org>
65115
65116        Fieldset disabled attribute does not work.
65117        https://bugs.webkit.org/show_bug.cgi?id=58837
65118
65119        Make HTMLFormControlElements inherit the disabled state
65120        from HTMLFieldSetElement ancestors. Subordinates of the
65121        first HTMLLegendElement in a fieldset will never be disabled.
65122
65123        Patch by Zeno Albisser <zeno@webkit.org>
65124
65125        Test: fast/forms/fieldset-disabled.html
65126
65127        Reviewed by Kent Tamura.
65128
65129        * html/HTMLFieldSetElement.cpp:
65130        (WebCore::HTMLFieldSetElement::disabledAttributeChanged):
65131        (WebCore):
65132        (WebCore::HTMLFieldSetElement::legend):
65133        * html/HTMLFieldSetElement.h:
65134        (HTMLFieldSetElement):
65135        * html/HTMLFieldSetElement.idl:
65136        * html/HTMLFormControlElement.cpp:
65137        (WebCore::HTMLFormControlElement::HTMLFormControlElement):
65138        (WebCore::HTMLFormControlElement::updateFieldSetAndLegendAncestor):
65139        (WebCore):
65140        (WebCore::HTMLFormControlElement::parseAttribute):
65141        (WebCore::HTMLFormControlElement::disabledAttributeChanged):
65142        (WebCore::HTMLFormControlElement::removedFromTree):
65143        (WebCore::HTMLFormControlElement::disabled):
65144        * html/HTMLFormControlElement.h:
65145        (WebCore):
65146        (HTMLFormControlElement):
65147
651482012-03-29  Tommy Widenflycht  <tommyw@google.com>
65149
65150        MediaStream API: Adding two missing release() calls to PeerConnection00.cpp
65151        https://bugs.webkit.org/show_bug.cgi?id=82584
65152
65153        Reviewed by Adam Barth.
65154
65155        No changes that affects functionality.
65156
65157        * Modules/mediastream/PeerConnection00.cpp:
65158        (WebCore::PeerConnection00::createOffer):
65159        (WebCore::PeerConnection00::createAnswer):
65160
651612012-03-29  Ryosuke Niwa  <rniwa@webkit.org>
65162
65163        Pack bitfields in InlineBox for Windows
65164        https://bugs.webkit.org/show_bug.cgi?id=82578
65165
65166        Reviewed by Kent Tamura.
65167
65168        Unlike gcc and clang, MSVC pads each consecutive member variables of the same type in bitfields. e.g. if you have:
65169        sturct AB {
65170        unsigned m_1 : 31;
65171        bool m_2 : 1;
65172        }
65173        then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang only allocate
65174        sizeof(unsigned) * 1 for AB.
65175
65176        Fixed the bug by packing all bitfields in InlineBox into InlineBoxBitfields and always using either unsigned or int.
65177
65178        * rendering/EllipsisBox.cpp:
65179        (WebCore::EllipsisBox::paint):
65180        (WebCore::EllipsisBox::selectionRect):
65181        (WebCore::EllipsisBox::nodeAtPoint):
65182        * rendering/InlineBox.cpp:
65183        (WebCore):
65184        (SameSizeAsInlineBox):
65185        (WebCore::InlineBox::logicalHeight):
65186        (WebCore::InlineBox::baselinePosition): Moved from the header file since it's a virtual function.
65187        (WebCore::InlineBox::lineHeight): Ditto.
65188        (WebCore::InlineBox::deleteLine):
65189        (WebCore::InlineBox::extractLine):
65190        (WebCore::InlineBox::attachLine):
65191        (WebCore::InlineBox::nextOnLineExists):
65192        (WebCore::InlineBox::clearKnownToHaveNoOverflow):
65193        * rendering/InlineBox.h:
65194        (WebCore::InlineBox::InlineBox):
65195        (WebCore::InlineBox::isText):
65196        (WebCore::InlineBox::setIsText):
65197        (WebCore::InlineBox::hasVirtualLogicalHeight):
65198        (WebCore::InlineBox::setHasVirtualLogicalHeight):
65199        (WebCore::InlineBox::isHorizontal):
65200        (WebCore::InlineBox::setIsHorizontal):
65201        (WebCore::InlineBox::isConstructed):
65202        (WebCore::InlineBox::setConstructed):
65203        (WebCore::InlineBox::setExtracted):
65204        (WebCore::InlineBox::setFirstLineStyleBit):
65205        (WebCore::InlineBox::isFirstLineStyle):
65206        (InlineBox):
65207        (WebCore::InlineBox::bidiLevel):
65208        (WebCore::InlineBox::setBidiLevel):
65209        (WebCore::InlineBox::direction):
65210        (WebCore::InlineBox::isDirty):
65211        (WebCore::InlineBox::markDirty):
65212        (WebCore::InlineBox::expansion):
65213        (WebCore::InlineBox::verticalAlign):
65214        (WebCore::InlineBox::knownToHaveNoOverflow):
65215        (WebCore::InlineBox::dirOverride):
65216        (WebCore::InlineBox::setDirOverride):
65217        (InlineBoxBitfields):
65218        (WebCore::InlineBox::InlineBoxBitfields::InlineBoxBitfields):
65219        (WebCore::InlineBox::InlineBoxBitfields::bidiEmbeddingLevel):
65220        (WebCore::InlineBox::InlineBoxBitfields::setBidiEmbeddingLevel):
65221        (WebCore::InlineBox::InlineBoxBitfields::determinedIfNextOnLineExists):
65222        (WebCore::InlineBox::InlineBoxBitfields::setDeterminedIfNextOnLineExists):
65223        (WebCore::InlineBox::InlineBoxBitfields::nextOnLineExists):
65224        (WebCore::InlineBox::InlineBoxBitfields::setNextOnLineExists):
65225        (WebCore::InlineBox::InlineBoxBitfields::expansion):
65226        (WebCore::InlineBox::InlineBoxBitfields::setExpansion):
65227        (WebCore::InlineBox::endsWithBreak):
65228        (WebCore::InlineBox::setEndsWithBreak):
65229        (WebCore::InlineBox::hasEllipsisBox):
65230        (WebCore::InlineBox::hasSelectedChildren):
65231        (WebCore::InlineBox::setHasSelectedChildren):
65232        (WebCore::InlineBox::setHasEllipsisBox):
65233        (WebCore::InlineBox::hasHyphen):
65234        (WebCore::InlineBox::setHasHyphen):
65235        (WebCore::InlineBox::canHaveLeadingExpansion):
65236        (WebCore::InlineBox::setCanHaveLeadingExpansion):
65237        (WebCore::InlineBox::setExpansion):
65238        (WebCore::InlineBox::extracted):
65239        * rendering/InlineFlowBox.cpp:
65240        (WebCore::InlineFlowBox::addToLine):
65241        (WebCore::InlineFlowBox::removeChild):
65242        (WebCore::InlineFlowBox::extractLine):
65243        (WebCore::InlineFlowBox::attachLine):
65244        (WebCore::InlineFlowBox::placeBoxesInInlineDirection):
65245        (WebCore::InlineFlowBox::requiresIdeographicBaseline):
65246        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
65247        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
65248        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
65249        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
65250        (WebCore::InlineFlowBox::paintBoxDecorations):
65251        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
65252        (WebCore::InlineFlowBox::computeUnderAnnotationAdjustment):
65253        * rendering/InlineTextBox.cpp:
65254        (WebCore::InlineTextBox::destroy):
65255        (WebCore::InlineTextBox::logicalOverflowRect):
65256        (WebCore::InlineTextBox::setLogicalOverflowRect):
65257        (WebCore::InlineTextBox::baselinePosition):
65258        (WebCore::InlineTextBox::lineHeight):
65259        (WebCore::InlineTextBox::localSelectionRect):
65260        (WebCore::InlineTextBox::extractLine):
65261        (WebCore::InlineTextBox::attachLine):
65262        (WebCore::InlineTextBox::placeEllipsisBox):
65263        (WebCore::InlineTextBox::paint):
65264        (WebCore::InlineTextBox::paintDecoration):
65265        (WebCore::InlineTextBox::paintSpellingOrGrammarMarker):
65266        (WebCore::InlineTextBox::paintCompositionUnderline):
65267        (WebCore::InlineTextBox::offsetForPosition):
65268        (WebCore::InlineTextBox::positionForOffset):
65269        (WebCore::InlineTextBox::constructTextRun):
65270        * rendering/InlineTextBox.h:
65271        (InlineTextBox):
65272        (WebCore::InlineTextBox::setExpansion):
65273        (WebCore::InlineTextBox::expansionBehavior):
65274        * rendering/RenderBlockLineLayout.cpp:
65275        (WebCore::RenderBlock::constructLine):
65276        * rendering/RenderTreeAsText.cpp:
65277        (WebCore::writeTextRun):
65278        * rendering/RootInlineBox.cpp:
65279        (WebCore::RootInlineBox::baselinePosition): Moved from the header file since it's a virtual function.
65280        (WebCore::RootInlineBox::lineHeight): Ditto.
65281        (WebCore::RootInlineBox::paint):
65282        (WebCore::RootInlineBox::ascentAndDescentForBox):
65283        (WebCore::RootInlineBox::verticalPositionForBox):
65284        * rendering/RootInlineBox.h:
65285        (RootInlineBox):
65286        * rendering/svg/SVGInlineTextBox.cpp:
65287        (WebCore::SVGInlineTextBox::constructTextRun):
65288        * rendering/svg/SVGRenderTreeAsText.cpp:
65289        (WebCore::writeSVGInlineTextBox):
65290
652912012-03-29  hayato@chromium.org  <hayato@chromium.org>
65292
65293        Let focus navigation be compliant with Shadow DOM spec.
65294        https://bugs.webkit.org/show_bug.cgi?id=78588
65295
65296        Reviewed by Dimitri Glazkov.
65297
65298        Re-landing r112500. Fixed an assertion failure on ReifiedTreeTraversal.
65299
65300        Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
65301
65302        According to the Shadow DOM spec:
65303        The shadow DOM navigation order sequence is inserted into the document navigation order:
65304        1. immediately after the shadow host, if the shadow host is focusable; or
65305        2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
65306
65307        Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
65308        since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
65309        Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
65310
65311        Implementation notes:
65312        Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
65313        Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
65314        To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
65315        it does not skip a non-focusable shadow host in current focus scope.
65316        After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
65317        considering a nested focus scope inside of a shadow host or iframe.
65318        To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
65319
65320        This change does not affect an existing behavior if a shadow dom is not involved.
65321
65322        Test: fast/dom/shadow/focus-navigation.html
65323
65324        * dom/Element.cpp:
65325        (WebCore::Element::focus):
65326        * dom/ReifiedTreeTraversal.cpp:
65327        (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
65328        * page/FocusController.cpp:
65329        (WebCore::isShadowHost):
65330        (WebCore):
65331        (WebCore::FocusScope::FocusScope):
65332        (WebCore::FocusScope::rootNode):
65333        (WebCore::FocusScope::owner):
65334        (WebCore::FocusScope::focusScopeOf):
65335        (WebCore::FocusScope::focusScopeOwnedByShadowHost):
65336        (WebCore::FocusScope::focusScopeOwnedByIFrame):
65337        (WebCore::hasCustomFocusLogic):
65338        (WebCore::isNonFocusableShadowHost):
65339        (WebCore::isFocusableShadowHost):
65340        (WebCore::adjustedTabIndex):
65341        (WebCore::shouldVisit):
65342        (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
65343        (WebCore::FocusController::advanceFocusInDocumentOrder):
65344        (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
65345        (WebCore::FocusController::findFocusableNodeRecursively):
65346        (WebCore::FocusController::findFocusableNode):
65347        (WebCore::FocusController::findNodeWithExactTabIndex):
65348        (WebCore::nextNodeWithGreaterTabIndex):
65349        (WebCore::previousNodeWithLowerTabIndex):
65350        (WebCore::FocusController::nextFocusableNode):
65351        (WebCore::FocusController::previousFocusableNode):
65352        * page/FocusController.h:
65353        (WebCore):
65354        (FocusScope):
65355        (FocusController):
65356
653572012-03-28  Kinuko Yasuda  <kinuko@chromium.org>
65358
65359        [chromium] Add isolated filesystem type and WebDragData::filesystem_id for drag-and-drop using File/DirectoryEntry.
65360        https://bugs.webkit.org/show_bug.cgi?id=76826
65361
65362        Add two helper methods for creating isolated filesystem to the
65363        PlatformSupport interface.
65364
65365        Reviewed by David Levin.
65366
65367        No new tests: tests will be added when app-facing code is added.
65368
65369        * platform/chromium/PlatformSupport.h:
65370        (PlatformSupport):
65371
653722012-03-29  Vineet Chaudhary  <rgf748@motorola.com>
65373
65374        Remove custom bindings form Internals.idl of attribute type Array.
65375        https://bugs.webkit.org/show_bug.cgi?id=82319
65376
65377        Reviewed by Kentaro Hara.
65378
65379        Remove custom bindings for Array type and replace Array type with sequence<String>.
65380
65381        No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
65382        even after these changes.
65383
65384        * Target.pri: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
65385        * UseJSC.cmake: Remove JSInternalsCustom.cpp.
65386        * UseV8.cmake: Remove V8InternalsCustom.cpp.
65387        * WebCore.gypi: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
65388        * WebCore.vcproj/WebCoreTestSupport.vcproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
65389        * WebCore.xcodeproj/project.pbxproj: Remove JSInternalsCustom.cpp and V8InternalsCustom.cpp.
65390        * bindings/js/JSDOMBinding.h:
65391        (WebCore):
65392        (WebCore::jsArray): Added new specialize function template for Strings.
65393        * bindings/scripts/CodeGeneratorJS.pm:
65394        (JSValueToNative): Add jsArray<String>() to deduce return type.
65395        (NativeToJSValue): Added check for type String.
65396        * bindings/scripts/CodeGeneratorV8.pm:
65397        (JSValueToNative): Add v8Array<String>() to deduce return type.
65398        (NativeToJSValue): Added check for type String.
65399        * bindings/scripts/test/JS/JSTestObj.cpp:
65400        (WebCore::setJSTestObjSequenceAttr): Modified results from run-binding-tests.
65401        * bindings/scripts/test/V8/V8TestObj.cpp: Modified results from run-binding-tests.
65402        (WebCore::TestObjInternal::sequenceAttrAttrSetter):
65403        * bindings/v8/V8Binding.h: Added new specialize function template for Strings.
65404        (WebCore):
65405        (WebCore::v8Array):
65406        (WebCore::toNativeArray):
65407        * testing/Internals.idl: Replace Array type with sequence<String>
65408        * testing/js/JSInternalsCustom.cpp: Removed.
65409        * testing/v8/V8InternalsCustom.cpp: Removed.
65410
654112012-03-29  Sheriff Bot  <webkit.review.bot@gmail.com>
65412
65413        Unreviewed, rolling out r112500.
65414        http://trac.webkit.org/changeset/112500
65415        https://bugs.webkit.org/show_bug.cgi?id=82576
65416
65417        assertion failed on fast/events/tab-test-not-visible-
65418        imagemap.html on gtk/qt (Requested by hayato on #webkit).
65419
65420        * dom/Element.cpp:
65421        (WebCore::Element::focus):
65422        * page/FocusController.cpp:
65423        (WebCore):
65424        (WebCore::shadowRoot):
65425        (WebCore::isTreeScopeOwner):
65426        (WebCore::FocusController::transferFocusToElementInShadowRoot):
65427        (WebCore::hasCustomFocusLogic):
65428        (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocumentOrShadowRoot):
65429        (WebCore::FocusController::advanceFocusInDocumentOrder):
65430        (WebCore::ownerOfTreeScope):
65431        (WebCore::FocusController::findFocusableNodeAcrossTreeScope):
65432        (WebCore::FocusController::findFocusableNode):
65433        (WebCore::nextNodeWithExactTabIndex):
65434        (WebCore::previousNodeWithExactTabIndex):
65435        (WebCore::nextNodeWithGreaterTabIndex):
65436        (WebCore::previousNodeWithLowerTabIndex):
65437        (WebCore::FocusController::nextFocusableNode):
65438        (WebCore::FocusController::previousFocusableNode):
65439        * page/FocusController.h:
65440        (WebCore):
65441        (FocusController):
65442
654432012-03-28  Kent Tamura  <tkent@chromium.org>
65444
65445        Add TextFieldDecorationElement::decorate()
65446        https://bugs.webkit.org/show_bug.cgi?id=82572
65447
65448        Reviewed by Hajime Morita.
65449
65450        This change will be needed for Bug 82143.
65451        No new tests because of no behavior changes yet. This code change
65452        doesn't affect non-Chromium ports for now.
65453
65454        * dom/ShadowRoot.cpp:
65455        (WebCore::ShadowRoot::create):
65456        Remove unnecessary assertion. We should allow multiple UA shadow roots.
65457        * html/shadow/TextFieldDecorationElement.cpp:
65458        (WebCore::TextFieldDecorationElement::decorate):
65459        Added.
65460        This function adds another ShadowRoot, and it contains one flexible box container.
65461        The container contains existin ShadowRoot content and the decoration element.
65462        * html/shadow/TextFieldDecorationElement.h:
65463        (TextFieldDecorationElement): Add the declaration of decorate().
65464
654652012-03-28  Vineet Chaudhary  <rgf748@motorola.com>
65466
65467        Consider removal of removes jsNull()/v8::Null() from JSInternalsCustom.cpp/V8InternalsCustom.cpp
65468        https://bugs.webkit.org/show_bug.cgi?id=82442
65469
65470        Reviewed by Kentaro Hara.
65471
65472        No new tests. LayoutTests/fast/harness/user-preferred-language.html should pass
65473        even after these changes.
65474
65475        * testing/js/JSInternalsCustom.cpp: Remove jsNull() if Vector is empty.
65476        (WebCore::JSInternals::userPreferredLanguages):
65477        * testing/v8/V8InternalsCustom.cpp: Remove v8::Null() if Vector is empty.
65478        (WebCore::V8Internals::userPreferredLanguagesAccessorGetter):
65479
654802012-03-28  Hayato Ito  <hayato@chromium.org>
65481
65482        Let focus navigation be compliant with Shadow DOM spec.
65483        https://bugs.webkit.org/show_bug.cgi?id=78588
65484
65485        Reviewed by Dimitri Glazkov.
65486
65487        Sequential focus navigation now behaves exactly as specified in the Shadow DOM spec.
65488
65489        According to the Shadow DOM spec:
65490        The shadow DOM navigation order sequence is inserted into the document navigation order:
65491        1. immediately after the shadow host, if the shadow host is focusable; or
65492        2. in place of the shadow host as if the shadow host were assigned the value of auto for determining its position.
65493
65494        Prior to this patch, sequential focus navigation goes into Shadow DOM, but it is incomplete
65495        since insertion points, such as <content> elements or <shadow> elements, are not resolved at all.
65496        Now focus navigation can traverse shadow DOM subtrees in 'reified tree order', resolving lower boundaries transparently.
65497
65498        Implementation notes:
65499        Prior to this patch, sequential focus navigation does not go into Shadow DOM if a shadow host is non-focusable.
65500        Now focus navigation must go into Shadow DOM subtrees even if a show host is not focusable as described in 2).
65501        To support this behavior, this patch introduced adjustedTabIndex() locally in FocusController so that
65502        it does not skip a non-focusable shadow host in current focus scope.
65503        After finding a *pseudo* focusable element in current focus scope, it tries to resolve a focused element recursively,
65504        considering a nested focus scope inside of a shadow host or iframe.
65505        To traverse Shadow DOM subtrees, a FocusController makes use of ReifiedTreeTraversal APIs, which was introduced in r112055.
65506
65507        This change does not affect an existing behavior if a shadow dom is not involved.
65508
65509        Test: fast/dom/shadow/focus-navigation.html
65510
65511        * dom/Element.cpp:
65512        (WebCore::Element::focus):
65513        * page/FocusController.cpp:
65514        (WebCore::isShadowHost):
65515        (WebCore):
65516        (WebCore::FocusScope::FocusScope):
65517        (WebCore::FocusScope::rootNode):
65518        (WebCore::FocusScope::owner):
65519        (WebCore::FocusScope::focusScopeOf):
65520        (WebCore::FocusScope::focusScopeOwnedByShadowHost):
65521        (WebCore::FocusScope::focusScopeOwnedByIFrame):
65522        (WebCore::hasCustomFocusLogic):
65523        (WebCore::isNonFocusableShadowHost):
65524        (WebCore::isFocusableShadowHost):
65525        (WebCore::adjustedTabIndex):
65526        (WebCore::shouldVisit):
65527        (WebCore::FocusController::findFocusableNodeDecendingDownIntoFrameDocument):
65528        (WebCore::FocusController::advanceFocusInDocumentOrder):
65529        (WebCore::FocusController::findFocusableNodeAcrossFocusScope):
65530        (WebCore::FocusController::findFocusableNodeRecursively):
65531        (WebCore::FocusController::findFocusableNode):
65532        (WebCore::FocusController::findNodeWithExactTabIndex):
65533        (WebCore::nextNodeWithGreaterTabIndex):
65534        (WebCore::previousNodeWithLowerTabIndex):
65535        (WebCore::FocusController::nextFocusableNode):
65536        (WebCore::FocusController::previousFocusableNode):
65537        * page/FocusController.h:
65538        (WebCore):
65539        (FocusScope):
65540        (FocusController):
65541
655422012-03-28  Li Yin  <li.yin@intel.com>
65543
65544        [WebSocket]Browser must fail connection if Sec-WebSocket-Protocol mismatched.
65545        https://bugs.webkit.org/show_bug.cgi?id=82307
65546
65547        Reviewed by Kent Tamura.
65548
65549        From RFC6455: http://tools.ietf.org/html/rfc6455#section-4.1
65550        If the WebSocket openhanding respond included the mismatched
65551        Sec-WebSocket-Protocol header field, the client must fail the WebSocket Connection.
65552
65553        Test: http/tests/websocket/tests/hybi/handshake-fail-by-mismatch-protocol-header.html
65554
65555        * Modules/websockets/WebSocketHandshake.cpp:
65556        (WebCore::WebSocketHandshake::checkResponseHeaders):
65557
655582012-03-28  Jessie Berlin  <jberlin@apple.com>
65559
65560        Fix Windows build after r112482.
65561
65562        * platform/network/cf/FormDataStreamCFNet.cpp:
65563        (WebCore::formOpen):
65564        Do not attempt to use an OS X error code on Windows. Use the POSIX errno instead.
65565
655662012-03-28  Alexandru Chiculita  <achicu@adobe.com>
65567
65568        [CSS Filters] Avoid rebuilding FEFilters when RenderLayer is destroyed
65569        https://bugs.webkit.org/show_bug.cgi?id=82524
65570
65571        Reviewed by Dean Jackson.
65572
65573        RenderLayer::~RenderLayer is calling clearBacking which updated the m_filter with new filters,
65574        even though they were to be deleted a couple of lines below. This change avoids updating the filters,
65575        if we are in the "destroyed" state.
65576
65577        No new tests. This change has no visible results to HTML or JavaScript, so it cannot be tested without a debugger.
65578
65579        * rendering/RenderLayer.cpp:
65580        (WebCore::RenderLayer::~RenderLayer):
65581        (WebCore::RenderLayer::clearBacking):
65582        * rendering/RenderLayer.h:
65583        (RenderLayer):
65584
655852012-03-28  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
65586
65587        Remove ScriptExecutionContext from NavigatorBattery.idl
65588        https://bugs.webkit.org/show_bug.cgi?id=82556
65589
65590        Reviewed by Adam Barth.
65591
65592        As Bug 73528 comment #71, NavigatorBattery.idl doesn't need to have ScriptExecutionContext.
65593        Document can be used instead of ScriptExecutionContext.
65594
65595        Tests: batterystatus/add-listener-from-callback.html
65596               batterystatus/basic-all-types-of-events.html
65597               batterystatus/basic-operation.html
65598               batterystatus/event-after-navigation.html
65599               batterystatus/multiple-frames.html
65600               batterystatus/updates.html
65601               batterystatus/window-property.html
65602
65603        * Modules/battery/BatteryManager.cpp:
65604        (WebCore::BatteryManager::create):
65605        (WebCore::BatteryManager::BatteryManager):
65606        * Modules/battery/BatteryManager.h:
65607        (BatteryManager):
65608        * Modules/battery/NavigatorBattery.cpp:
65609        (WebCore::NavigatorBattery::webkitBattery):
65610        * Modules/battery/NavigatorBattery.h:
65611        (NavigatorBattery):
65612        * Modules/battery/NavigatorBattery.idl:
65613
656142012-03-28  Jason Liu  <jason.liu@torchmobile.com.cn>
65615
65616        [BlackBerry]Missing cookies from HTTP response header in Network tab of Web Inspector.
65617        https://bugs.webkit.org/show_bug.cgi?id=82041
65618
65619        We shouldn't overwrite cookies of response if there are more than one
65620        header of Set-Cookie.
65621
65622        Reviewed by Rob Buis.
65623
65624        Test: http/tests/cookies/resources/setArraycookies.php
65625
65626        * platform/network/blackberry/NetworkJob.cpp:
65627        (WebCore::NetworkJob::handleNotifyHeaderReceived):
65628
656292012-03-28  Noel Gordon  <noel.gordon@gmail.com>
65630
65631        JPEGImageDecoder: Set frame alpha state before marking a frame complete
65632        https://bugs.webkit.org/show_bug.cgi?id=82428
65633
65634        Reviewed by Kenneth Russell.
65635
65636        r109779 changed JPEG alpha channel handling by marking a JPEG image frame
65637        as having no alpha _after_ setting the image status frame-complete, which
65638        prevents the application of image color profiles in some WebGL cases.
65639
65640        No new tests. The application of the color profile is not guaranteed for
65641        images used as textures in WebGL. Refer to http://wkb.ug/76498.
65642
65643        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
65644        (WebCore::JPEGImageDecoder::jpegComplete): Set the image frame alpha state
65645        before marking the image frame status as frame-complete.
65646
656472012-03-28  Emil A Eklund  <eae@chromium.org>
65648
65649        Fix rounding in RenderInline::paintOutlineForLine
65650        https://bugs.webkit.org/show_bug.cgi?id=82540
65651
65652        Reviewed by Eric Seidel.
65653
65654        No new tests, no change in functionality.
65655
65656        * rendering/RenderInline.cpp:
65657        (WebCore::RenderInline::paintOutlineForLine):
65658        Change paintOutlineForLine to pixel snap the left and right edges of the
65659        lines instead of adding the offset to an already rounded number.
65660
656612012-03-28  David Grogan  <dgrogan@chromium.org>
65662
65663        IndexedDB: don't expose IDBDatabaseError to script
65664        https://bugs.webkit.org/show_bug.cgi?id=82280
65665
65666        It's not used anywhere and firefox doesn't expose it.
65667
65668        Reviewed by Tony Chang.
65669
65670        Test: storage/indexeddb/removed.html
65671
65672        * CMakeLists.txt:
65673        * DerivedSources.cpp:
65674        * DerivedSources.make:
65675        * DerivedSources.pri:
65676        * GNUmakefile.list.am:
65677        * Modules/indexeddb/DOMWindowIndexedDatabase.idl:
65678        * Modules/indexeddb/IDBDatabaseError.idl: Removed.
65679        * Modules/indexeddb/WorkerContextIndexedDatabase.idl:
65680        * WebCore.gypi:
65681        * WebCore.vcproj/WebCore.vcproj:
65682        * WebCore.xcodeproj/project.pbxproj:
65683
656842012-03-28  Kenichi Ishibashi  <bashi@chromium.org>
65685
65686        Respects font fallback list during webfonts are loading
65687        https://bugs.webkit.org/show_bug.cgi?id=76684
65688
65689        Reviewed by Dimitri Glazkov.
65690
65691        For layout, use the rest of the fallback list while webfonts are loading.
65692        If the webfont is loading, it will be given an invalid Unicode Range so that
65693        font selection mechansim doesn't use the webfont for layout.
65694
65695        Test: http/tests/webfont/fallback-font-while-loading.html
65696
65697        * css/CSSSegmentedFontFace.cpp:
65698        (WebCore::appendFontDataWithInvalidUnicodeRangeIfLoading): Added.
65699        (WebCore):
65700        (WebCore::CSSSegmentedFontFace::getFontData):
65701
657022012-03-28  Mark Rowe  <mrowe@apple.com>
65703
65704        Update Localizable.strings.
65705
65706        * English.lproj/Localizable.strings:
65707
657082012-03-28  Victor Carbune  <vcarbune@adobe.com>
65709
65710        Removed particular rendering for the volume slider and used
65711        css positioning instead (simpler and less prone to errors when
65712        changes occur).
65713        https://bugs.webkit.org/show_bug.cgi?id=82150
65714
65715        Reviewed by Eric Carlson.
65716
65717        Test: media/video-controls-rendering-toggle-display-none.html
65718
65719        * css/mediaControls.css: Updated css to correctly render controls.
65720        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
65721        * css/mediaControlsChromium.css: Updated css to correctly render controls.
65722        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel): 
65723        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
65724        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
65725        * html/shadow/MediaControlElements.cpp: Removed particular renderer.
65726        (WebCore):
65727        * html/shadow/MediaControlElements.h: Removed particular renderer.
65728        (MediaControlVolumeSliderContainerElement):
65729        * html/shadow/MediaControlRootElementChromium.cpp:
65730        (WebCore::MediaControlRootElementChromium::create): Added an anonymous div container
65731        for the mute button and volume slider (to be displayed on top of each other)
65732
657332012-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
65734
65735        Unreviewed, rolling out r110064.
65736        http://trac.webkit.org/changeset/110064
65737        https://bugs.webkit.org/show_bug.cgi?id=82537
65738
65739        The patch leaks the DOM when audio elements are used
65740        (Requested by sundiamonde on #webkit).
65741
65742        * bindings/js/JSNodeCustom.cpp:
65743        (WebCore::isReachableFromDOM):
65744
657452012-03-28  Alexey Proskuryakov  <ap@apple.com>
65746
65747        [Win] Some Blob tests crash in CFNetwork in advanceCurrentStream(FormStreamFields*)
65748        https://bugs.webkit.org/show_bug.cgi?id=82386
65749        <rdar://problem/11121501>
65750
65751        Reviewed by Brady Eidson.
65752
65753        Covered by existing tests.
65754
65755        * platform/network/cf/FormDataStreamCFNet.cpp:
65756        * platform/network/cf/FormDataStreamCFNet.h:
65757        Moved low level implementation from FormDataStreamMac, and exposed an additional function
65758        to implement Foundation-based API on top of this.
65759
65760        * platform/network/mac/FormDataStreamMac.h:
65761        * platform/network/mac/FormDataStreamMac.mm:
65762        Rely on toll-free bridging and implementation details to make this work without duplicating
65763        code.
65764        Note that httpBodyFromStream is confusing - I don't see how it can work when sending serialized
65765        requests across process boundary. We probably only get away with this because we don't attempt
65766        to send requests to UI process once they already have streams associated with them.
65767
65768        * WebCore.vcproj/WebCore.vcproj: Added missing platform/cf files.
65769
65770        * platform/cf/FileSystemCF.cpp: Fixed include style.
65771
65772        * platform/win/FileSystemWin.cpp: (WebCore::fileSystemRepresentation): Ifdef out a broken
65773        implementation.
65774
657752012-03-28  Adrienne Walker  <enne@google.com>
65776
65777        [chromium] Fix tiled layer assert for huge layers
65778        https://bugs.webkit.org/show_bug.cgi?id=82486
65779
65780        Reviewed by James Robinson.
65781
65782        Test: TiledLayerChromiumTest.hugeLayerUpdateCrash
65783
65784        TilingData::numTiles() is calculated as the product of two ints and so
65785        can potentially overflow, causing numTiles() to be incorrect. To avoid
65786        calling code accidentally falling into this trap, remove this function
65787        and all code that uses tile index from TilingData.  This requires
65788        fixing up a bunch of callers of TilingData and CCLayerTilingData.
65789
65790        Additionally, TilingData::numTiles() has long been a confusing
65791        function name in some contexts, so rename to bool hasEmptyBounds().
65792
65793        Also, remove TilingData::intersectDrawQuad because there are no
65794        clients of that function.
65795
65796        * platform/graphics/chromium/TiledLayerChromium.cpp:
65797        (WebCore::TiledLayerChromium::drawsContent):
65798        (WebCore::TiledLayerChromium::reserveTextures):
65799        (WebCore::TiledLayerChromium::prepareToUpdate):
65800        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
65801        (WebCore::TiledLayerChromium::needsIdlePaint):
65802        (WebCore::TiledLayerChromium::idlePaintRect):
65803        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
65804        (WebCore::CCLayerTilingData::tileRect):
65805        * platform/graphics/chromium/cc/CCLayerTilingData.h:
65806        (WebCore::CCLayerTilingData::hasEmptyBounds):
65807        (WebCore::CCLayerTilingData::tileBounds):
65808        (WebCore::CCLayerTilingData::isEmpty):
65809        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
65810        (WebCore::CCTiledLayerImpl::bindContentsTexture):
65811        (WebCore::CCTiledLayerImpl::appendQuads):
65812        * platform/graphics/gpu/Texture.cpp:
65813        (WebCore::Texture::create):
65814        (WebCore::Texture::updateSubRect):
65815        * platform/graphics/gpu/TilingData.cpp:
65816        (WebCore::TilingData::tileBounds):
65817        (WebCore::TilingData::tileBoundsWithBorder):
65818        (WebCore::TilingData::tileBoundsNormalized):
65819        * platform/graphics/gpu/TilingData.h:
65820        (WebCore::TilingData::hasEmptyBounds):
65821        (TilingData):
65822        (WebCore::TilingData::assertTile):
65823
658242012-03-28  Emil A Eklund  <eae@chromium.org>
65825
65826        Change FilterOperations::getOutsets to use integers
65827        https://bugs.webkit.org/show_bug.cgi?id=82535
65828
65829        Reviewed by Eric Seidel.
65830
65831        FilterOperations::getOutsets calculates the outsets using integers and
65832        the values are guranteed to be set to full-pixel values. By changing the
65833        function signature we communicate this fact better and avoid unnecessary
65834        type conversions in some cases.
65835
65836        No new tests.
65837
65838        * platform/graphics/filters/FilterOperations.cpp:
65839        (WebCore::FilterOperations::getOutsets):
65840        * platform/graphics/filters/FilterOperations.h:
65841        (FilterOperations):
65842        * rendering/RenderBox.cpp:
65843        (WebCore::RenderBox::computeRectForRepaint):
65844        (WebCore::RenderBox::addVisualEffectOverflow):
65845        * rendering/RenderInline.cpp:
65846        (WebCore::RenderInline::computeRectForRepaint):
65847        * rendering/style/RenderStyle.h:
65848
658492012-03-28  Nate Chapin  <japhet@chromium.org>
65850
65851        Remove dispatchDidLoadMainResource callback, since no
65852        port implements it.
65853        https://bugs.webkit.org/show_bug.cgi?id=82539
65854
65855        Reviewed by Alexey Proskuryakov.
65856
65857        No new tests, just deleting dead code.
65858
65859        * loader/EmptyClients.h:
65860        (EmptyFrameLoaderClient):
65861        * loader/FrameLoader.cpp:
65862        (WebCore::FrameLoader::finishedLoading):
65863        (WebCore::FrameLoader::mainReceivedCompleteError):
65864        * loader/FrameLoaderClient.h:
65865        (FrameLoaderClient):
65866        * loader/MainResourceLoader.cpp:
65867        (WebCore::MainResourceLoader::receivedError):
65868        (WebCore::MainResourceLoader::didCancel):
65869
658702012-03-28  Enrica Casucci  <enrica@apple.com>
65871
65872        REGRESSION: editing/pasteboard/dataTransfer-setData-getData.html fails on Mac platforms.
65873        https://bugs.webkit.org/show_bug.cgi?id=82497
65874        <rdar://problem/11140334>
65875
65876        Reviewed by Brady Eidson.
65877        
65878        The revision causing this regression fixed the way data is written to the pasteboard for NSURLPboardType.
65879        This change fixes the way data is read from the pasteboard for the same pasteboard type.
65880
65881        No new tests. Fixes the existing one that fails.
65882
65883        * platform/mac/ClipboardMac.mm:
65884        (WebCore::absoluteURLsFromPasteboard):
65885        * platform/mac/PlatformPasteboardMac.mm:
65886        (WebCore::PlatformPasteboard::stringForType):
65887
658882012-03-28  Joe Thomas  <joethomas@motorola.com>
65889
65890        SL bot is hitting SHOULD NEVER BE REACHED in WebCore::valueForLength() on many tests
65891        https://bugs.webkit.org/show_bug.cgi?id=82390
65892
65893        Reviewed by Simon Fraser.
65894
65895        This is an attempt to fix the MAC SL/Lion Bot issue as this issue is not reproducible locally.
65896        The assertion happened when length type is Undefined in valueForLength() function but the assertion for Undefined length type
65897        in RenderBox::computeLogicalWidthInRegionUsing which calls the above said function did not get hit.
65898
65899        This patch passes Length structure as const reference to Length calculation functions which avoids the call to the copy-constructor.
65900        And it ensures that the Length structure is not getting modified during copy-construction. 
65901
65902        * css/LengthFunctions.cpp:
65903        (WebCore::minimumValueForLength):
65904        (WebCore::valueForLength):
65905        (WebCore::floatValueForLength):
65906        * css/LengthFunctions.h:
65907        (WebCore):
65908
659092012-03-28  Gavin Barraclough  <barraclough@apple.com>
65910
65911        Yarr: if we're not using the output array, don't populate it!
65912        https://bugs.webkit.org/show_bug.cgi?id=82519
65913
65914        Reviewed by Sam Weinig.
65915
65916        * ForwardingHeaders/runtime/MatchResult.h: Added.
65917        * ForwardingHeaders/yarr/YarrJIT.h: Added.
65918            - Added forwarding headers.
65919
659202012-03-23  David Hyatt  <hyatt@apple.com>
65921
65922        https://bugs.webkit.org/show_bug.cgi?id=81685
65923        
65924        [New Multicolumn] Add RenderMultiColumnFlowThread to hold the flow thread contents of a multi-column block.
65925        It derives from RenderFlowThread.
65926        
65927        Refactor RenderFlowThread to split out the stuff related to explicit naming into a subclass, RenderNamedFlowThread.
65928        This allows RenderFlowThread to be a simple base class that involves maintaining the regions themselves.
65929    
65930        Reviewed by Julien Chaffraix.
65931
65932        * CMakeLists.txt:
65933        * GNUmakefile.list.am:
65934        * Target.pri:
65935        * WebCore.gypi:
65936        * WebCore.vcproj/WebCore.vcproj:
65937        * WebCore.xcodeproj/project.pbxproj:
65938        * dom/Document.cpp:
65939        * dom/NodeRenderingContext.cpp:
65940        * dom/NodeRenderingContext.h:
65941        (WebCore):
65942        (WebCore::NodeRenderingContext::parentFlowRenderer):
65943        * dom/WebKitNamedFlow.cpp:
65944        (WebCore::WebKitNamedFlow::WebKitNamedFlow):
65945        * dom/WebKitNamedFlow.h:
65946        (WebCore):
65947        (WebCore::WebKitNamedFlow::create):
65948        (WebKitNamedFlow):
65949        * rendering/RenderBlock.cpp:
65950        (WebCore::RenderBlock::collapseAnonymousBoxChild):
65951        * rendering/RenderFlowThread.cpp:
65952        (WebCore::RenderFlowThread::RenderFlowThread):
65953        (WebCore):
65954        (WebCore::RenderFlowThread::addRegionToThread):
65955        (WebCore::RenderFlowThread::removeRegionFromThread):
65956        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
65957        * rendering/RenderFlowThread.h:
65958        (WebCore):
65959        * rendering/RenderMultiColumnFlowThread.cpp: Added.
65960        (WebCore):
65961        (WebCore::RenderMultiColumnFlowThread::RenderMultiColumnFlowThread):
65962        (WebCore::RenderMultiColumnFlowThread::renderName):
65963        * rendering/RenderMultiColumnFlowThread.h: Added.
65964        (WebCore):
65965        (RenderMultiColumnFlowThread):
65966        * rendering/RenderNamedFlowThread.cpp: Added.
65967        (WebCore):
65968        (WebCore::RenderNamedFlowThread::RenderNamedFlowThread):
65969        (WebCore::RenderNamedFlowThread::renderName):
65970        (WebCore::RenderNamedFlowThread::nextRendererForNode):
65971        (WebCore::RenderNamedFlowThread::previousRendererForNode):
65972        (WebCore::RenderNamedFlowThread::addFlowChild):
65973        (WebCore::RenderNamedFlowThread::removeFlowChild):
65974        (WebCore::RenderNamedFlowThread::dependsOn):
65975        (WebCore::compareRenderRegions):
65976        (WebCore::RenderNamedFlowThread::addRegionToThread):
65977        (WebCore::RenderNamedFlowThread::removeRegionFromThread):
65978        (WebCore::RenderNamedFlowThread::checkInvalidRegions):
65979        (WebCore::RenderNamedFlowThread::addDependencyOnFlowThread):
65980        (WebCore::RenderNamedFlowThread::removeDependencyOnFlowThread):
65981        (WebCore::RenderNamedFlowThread::pushDependencies):
65982        (WebCore::RenderNamedFlowThread::ensureNamedFlow):
65983        * rendering/RenderNamedFlowThread.h: Added.
65984        (WebCore):
65985        (RenderNamedFlowThread):
65986        (WebCore::RenderNamedFlowThread::name):
65987        (WebCore::RenderNamedFlowThread::hasChildren):
65988        (WebCore::RenderNamedFlowThread::hasChild):
65989        (WebCore::RenderNamedFlowThread::isRenderNamedFlowThread):
65990        (WebCore::toRenderNamedFlowThread):
65991        * rendering/RenderObject.cpp:
65992        (WebCore::RenderObject::willBeDestroyed):
65993        * rendering/RenderObject.h:
65994        (WebCore::RenderObject::isRenderNamedFlowThread):
65995        * rendering/RenderObjectChildList.cpp:
65996        (WebCore::renderNamedFlowThreadContainer):
65997        (WebCore::RenderObjectChildList::removeChildNode):
65998        (WebCore::RenderObjectChildList::appendChildNode):
65999        (WebCore::RenderObjectChildList::insertChildNode):
66000        * rendering/RenderRegion.cpp:
66001        (WebCore::RenderRegion::RenderRegion):
66002        (WebCore::RenderRegion::attachRegion):
66003        * rendering/RenderRegion.h:
66004        (WebCore):
66005        (WebCore::RenderRegion::parentNamedFlowThread):
66006        (RenderRegion):
66007        * rendering/RenderTreeAsText.cpp:
66008        (WebCore::writeRenderNamedFlowThreads):
66009        (WebCore::writeLayers):
66010        * rendering/RenderView.cpp:
66011        (WebCore::RenderView::RenderView):
66012        (WebCore::RenderView::layout):
66013        (WebCore::RenderView::styleDidChange):
66014        (WebCore::RenderView::ensureRenderFlowThreadWithName):
66015        (WebCore::RenderView::layoutRenderNamedFlowThreads):
66016        * rendering/RenderView.h:
66017        (WebCore):
66018        (RenderView):
66019        (WebCore::RenderView::hasRenderNamedFlowThreads):
66020        (WebCore::RenderView::isRenderNamedFlowThreadOrderDirty):
66021        (WebCore::RenderView::setIsRenderNamedFlowThreadOrderDirty):
66022        (WebCore::RenderView::renderNamedFlowThreadList):
66023
660242012-03-28  Emil A Eklund  <eae@chromium.org>
66025
66026        Remove unnecessary rounding in RenderLayerBacking
66027        https://bugs.webkit.org/show_bug.cgi?id=82529
66028
66029        Reviewed by Eric Seidel.
66030
66031        Remove rounding that is no longer required now that borderBoxRect returns
66032        an IntRect.
66033        
66034        No new tests.
66035
66036        * rendering/RenderLayerBacking.cpp:
66037        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
66038        (WebCore::RenderLayerBacking::startAnimation):
66039        (WebCore::RenderLayerBacking::startTransition):
66040
660412012-03-28  Sheriff Bot  <webkit.review.bot@gmail.com>
66042
66043        Unreviewed, rolling out r112432.
66044        http://trac.webkit.org/changeset/112432
66045        https://bugs.webkit.org/show_bug.cgi?id=82536
66046
66047        Causes ccs3 layout test asserts (Requested by enne on
66048        #webkit).
66049
66050        * platform/graphics/chromium/TiledLayerChromium.cpp:
66051        (WebCore::TiledLayerChromium::drawsContent):
66052        (WebCore::TiledLayerChromium::reserveTextures):
66053        (WebCore::TiledLayerChromium::prepareToUpdate):
66054        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
66055        (WebCore::TiledLayerChromium::needsIdlePaint):
66056        (WebCore::TiledLayerChromium::idlePaintRect):
66057        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
66058        (WebCore::CCLayerTilingData::tileRect):
66059        * platform/graphics/chromium/cc/CCLayerTilingData.h:
66060        (WebCore::CCLayerTilingData::numTiles):
66061        (WebCore::CCLayerTilingData::tileBounds):
66062        (WebCore::CCLayerTilingData::isEmpty):
66063        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
66064        (WebCore::CCTiledLayerImpl::bindContentsTexture):
66065        (WebCore::CCTiledLayerImpl::appendQuads):
66066        * platform/graphics/filters/FECustomFilter.cpp:
66067        (WebCore::FECustomFilter::platformApplySoftware):
66068        * platform/graphics/gpu/Texture.cpp:
66069        (WebCore::Texture::create):
66070        (WebCore::Texture::updateSubRect):
66071        * platform/graphics/gpu/TilingData.cpp:
66072        (WebCore::TilingData::tileBounds):
66073        (WebCore::TilingData::tileBoundsWithBorder):
66074        (WebCore::TilingData::tileBoundsNormalized):
66075        (WebCore::TilingData::intersectDrawQuad):
66076        (WebCore):
66077        * platform/graphics/gpu/TilingData.h:
66078        (WebCore::TilingData::numTiles):
66079        (WebCore::TilingData::tileIndex):
66080        (WebCore::TilingData::tileXIndex):
66081        (WebCore::TilingData::tileYIndex):
66082        (TilingData):
66083        (WebCore::TilingData::assertTile):
66084
660852012-03-27  Daniel Cheng  <dcheng@chromium.org>
66086
66087        [chromium] Merge ChromiumDataObject and DataTransferItemListChromium.
66088        https://bugs.webkit.org/show_bug.cgi?id=82407
66089
66090        Reviewed by Tony Chang.
66091
66092        Since ChromiumDataObject is just a very thin wrapper for DataTransferItemListChromium now,
66093        combine the two and remove a layer of indirection.
66094
66095        No functionality change, should be covered by existing tests.
66096
66097        * WebCore.gypi:
66098        * platform/chromium/ChromiumDataObject.cpp: Replacing DataTransferItemListChromium.
66099        (WebCore::ChromiumDataObject::createFromPasteboard):
66100        (WebCore::ChromiumDataObject::create):
66101        (WebCore::ChromiumDataObject::length):
66102        (WebCore):
66103        (WebCore::ChromiumDataObject::item):
66104        (WebCore::ChromiumDataObject::deleteItem):
66105        (WebCore::ChromiumDataObject::clearAll):
66106        (WebCore::ChromiumDataObject::add):
66107        (WebCore::ChromiumDataObject::clearData):
66108        (WebCore::ChromiumDataObject::clearAllExceptFiles):
66109        (WebCore::ChromiumDataObject::types):
66110        (WebCore::ChromiumDataObject::getData):
66111        (WebCore::ChromiumDataObject::setData):
66112        (WebCore::ChromiumDataObject::urlAndTitle):
66113        (WebCore::ChromiumDataObject::setURLAndTitle):
66114        (WebCore::ChromiumDataObject::htmlAndBaseURL):
66115        (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
66116        (WebCore::ChromiumDataObject::containsFilenames):
66117        (WebCore::ChromiumDataObject::filenames):
66118        (WebCore::ChromiumDataObject::addFilename):
66119        (WebCore::ChromiumDataObject::addSharedBuffer):
66120        (WebCore::ChromiumDataObject::ChromiumDataObject):
66121        (WebCore::ChromiumDataObject::findStringItem):
66122        (WebCore::ChromiumDataObject::internalAddStringItem):
66123        (WebCore::ChromiumDataObject::internalAddFileItem):
66124        * platform/chromium/ChromiumDataObject.h:
66125        (WebCore):
66126        (ChromiumDataObject):
66127        * platform/chromium/ChromiumDataObjectItem.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.cpp.
66128        (WebCore):
66129        (WebCore::ChromiumDataObjectItem::createFromString):
66130        (WebCore::ChromiumDataObjectItem::createFromFile):
66131        (WebCore::ChromiumDataObjectItem::createFromURL):
66132        (WebCore::ChromiumDataObjectItem::createFromHTML):
66133        (WebCore::ChromiumDataObjectItem::createFromSharedBuffer):
66134        (WebCore::ChromiumDataObjectItem::createFromPasteboard):
66135        (WebCore::ChromiumDataObjectItem::ChromiumDataObjectItem):
66136        (WebCore::ChromiumDataObjectItem::getAsString):
66137        (WebCore::ChromiumDataObjectItem::getAsFile):
66138        (WebCore::ChromiumDataObjectItem::internalGetAsString):
66139        (WebCore::ChromiumDataObjectItem::isFilename):
66140        * platform/chromium/ChromiumDataObjectItem.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemChromium.h.
66141        (WebCore):
66142        (ChromiumDataObjectItem):
66143        (WebCore::ChromiumDataObjectItem::kind):
66144        (WebCore::ChromiumDataObjectItem::type):
66145        (WebCore::ChromiumDataObjectItem::sharedBuffer):
66146        (WebCore::ChromiumDataObjectItem::title):
66147        (WebCore::ChromiumDataObjectItem::baseURL):
66148        * platform/chromium/ClipboardChromium.cpp:
66149        (WebCore::ClipboardChromium::files):
66150        (WebCore::ClipboardChromium::hasData):
66151        (WebCore::ClipboardChromium::items):
66152        * platform/chromium/DataTransferItemListChromium.cpp: Removed.
66153        * platform/chromium/DataTransferItemListChromium.h: Removed.
66154
661552012-03-28  Nat Duca  <nduca@chromium.org>
66156
66157        [chromium] Scheduler should not tell FrameRateController to begin a frame when we dont swap
66158        https://bugs.webkit.org/show_bug.cgi?id=82516
66159
66160        Reviewed by James Robinson.
66161
66162        * platform/graphics/chromium/LayerRendererChromium.cpp:
66163        (WebCore::LayerRendererChromium::swapBuffers):
66164        * platform/graphics/chromium/LayerRendererChromium.h:
66165        (LayerRendererChromium):
66166        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
66167        (WebCore::CCLayerTreeHostImpl::swapBuffers):
66168        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
66169        (CCLayerTreeHostImpl):
66170        * platform/graphics/chromium/cc/CCScheduler.cpp:
66171        (WebCore::CCScheduler::processScheduledActions):
66172        * platform/graphics/chromium/cc/CCScheduler.h:
66173        (WebCore::CCScheduledActionDrawAndSwapResult::CCScheduledActionDrawAndSwapResult):
66174        (CCScheduledActionDrawAndSwapResult):
66175        (WebCore):
66176        (CCSchedulerClient):
66177        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
66178        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
66179        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
66180        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
66181        * platform/graphics/chromium/cc/CCThreadProxy.h:
66182        (CCThreadProxy):
66183
661842012-03-26  Eric Uhrhane  <ericu@chromium.org>
66185
66186        FileWriter has two race conditions
66187        https://bugs.webkit.org/show_bug.cgi?id=81861
66188
66189        Reviewed by David Levin.
66190
66191        Should make current tests less flaky.
66192
66193        * Modules/filesystem/FileWriter.h:
66194        * Modules/filesystem/FileWriter.cpp:
66195        Track the in-flight operation, whether it be an abort/write/truncate.
66196        Whether an abort comes back as didWrite, didTruncate, or didFail, handle
66197        it appropriately.  Before this fix, the Chromium implementation would
66198        assert in two cases:
66199
66200        If the user calls abort, then write, then abort before the backend
66201        catches up, we'd send both aborts to the backend, even though it hadn't
66202        received the write yet.  Chromium's backend asserts if there's an abort
66203        with no write in progress.  We now record that we've sent an abort and
66204        are waiting for the response.
66205
66206        If the user calls abort while a write/truncate is just finishing, on the
66207        Chromium worker implementation, the completion message could be
66208        thread-hopping back to WebCore at the
66209        WorkerAsyncFileWriterCallbacksBridge while the abort is thread-hopping
66210        in the other direction.  Again, this leads to an abort call to the
66211        backend with no write in progress, and an assert.  We're now robust to
66212        completions coming back when we're expecting an abort, and
66213        https://chromiumcodereview.appspot.com/9764018/ will make the backend
66214        robust to extra abort calls.
66215
662162012-03-27  Ryosuke Niwa  <rniwa@webkit.org>
66217
66218        Deleting a paragraph of text should not add elements for typing style
66219        https://bugs.webkit.org/show_bug.cgi?id=82401
66220
66221        Reviewed by Enrica Casucci.
66222
66223        This behavior was explicitly supported by DeleteSelectionCommand but it doesn't match TextEdit or Firefox.
66224        We're changing our behavior to match TextEdit and Firefox in this patch.
66225
66226        The behavior is tested by an existing test, which was renamed to deleting-text-rests-typing-style.html in this patch.
66227
66228        Test: editing/execCommand/deleting-text-rests-typing-style.html
66229
66230        * editing/DeleteSelectionCommand.cpp:
66231        (WebCore::DeleteSelectionCommand::calculateTypingStyleAfterDelete):
66232
662332012-03-28  Michal Mocny  <mmocny@google.com>
66234
66235        [chromium] Add tracing events around CCLayerTreeHostImpl visibility.
66236        https://bugs.webkit.org/show_bug.cgi?id=82501
66237
66238        Reviewed by James Robinson.
66239
66240        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
66241        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
66242        (WebCore::CCLayerTreeHostImpl::setVisible):
66243
662442012-03-28  Florin Malita  <fmalita@google.com>
66245
66246        Incorrect foreignObject hit test results when overlapping other SVG elements
66247        https://bugs.webkit.org/show_bug.cgi?id=82059
66248
66249        Reviewed by Nikolas Zimmermann.
66250
66251        Test: svg/hittest/foreign-object-background.svg
66252
66253        Foreign content needs to be hit-tested atomically due to the (pseudo)
66254        stacking context established by FOs.
66255
66256        * rendering/svg/RenderSVGForeignObject.cpp:
66257        (WebCore::RenderSVGForeignObject::nodeAtFloatPoint):
66258        Hit test all phases on FO HitTestForeground.
66259
662602012-03-26  Shawn Singh  <shawnsingh@chromium.org>
66261
66262        [chromium] layer->clipRect() is not initialized for layers that create a renderSurface.
66263        https://bugs.webkit.org/show_bug.cgi?id=74147
66264
66265        Reviewed by Adrienne Walker.
66266
66267        Added 3 additional unit tests; Modified existing unit tests and layout tests.
66268
66269        The layer's clipRect and usesLayerClipping information was not
66270        being initialized for layers that created a renderSurface. (It
66271        was, however, being initialized for the renderSurface itself.)
66272        This patch adds a unit test that reproduces that this is an error,
66273        other unit tests to tightly test the value of clipRect being
66274        initialized, and adds the logic to properly initialize the
66275        clipRect.
66276
66277        Before this patch, this bug was causing flashing on tab-switch on
66278        the apple iphone page. Even worse, with partial swap enabled, the
66279        layers would simply disappear, because the first frame the
66280        clipRect is uninitialized and the layer is not drawn, and the
66281        second frame onwards, the damage tracker correctly things nothing
66282        is damaged, so it doesn't draw that layer again until other damage
66283        causes it to be redrawn.
66284
66285        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
66286        (WebCore::calculateDrawTransformsAndVisibilityInternal):
66287
662882012-03-28  Anders Carlsson  <andersca@apple.com>
66289
66290        "Sticky" or slow scrolling on some sites
66291        https://bugs.webkit.org/show_bug.cgi?id=82512
66292        <rdar://problem/11000372>
66293
66294        Reviewed by Andreas Kling.
66295
66296        When we're in the slow mode and have to update the scroll layer position on the main thread,
66297        get it from the scrolling thread so we'll be in sync with the scrolling tree when the main thread is busy.
66298
66299        * page/scrolling/ScrollingCoordinator.cpp:
66300        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
66301        * page/scrolling/ScrollingCoordinator.h:
66302        (ScrollingCoordinator):
66303        * page/scrolling/ScrollingTree.cpp:
66304        (WebCore::ScrollingTree::mainFrameScrollPosition):
66305        (WebCore):
66306        (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
66307        * page/scrolling/ScrollingTree.h:
66308
663092012-03-28  Adrienne Walker  <enne@google.com>
66310
66311        [chromium] Fix tiled layer assert for huge layers
66312        https://bugs.webkit.org/show_bug.cgi?id=82486
66313
66314        Reviewed by James Robinson.
66315
66316        Test: TiledLayerChromiumTest.hugeLayerUpdateCrash
66317
66318        TilingData::numTiles() is calculated as the product of two ints and so
66319        can potentially overflow, causing numTiles() to be incorrect. To avoid
66320        calling code accidentally falling into this trap, remove this function
66321        and all code that uses tile index from TilingData.  This requires
66322        fixing up a bunch of callers of TilingData and CCLayerTilingData.
66323
66324        Additionally, TilingData::numTiles() has long been a confusing
66325        function name in some contexts, so rename to bool hasEmptyBounds().
66326
66327        Also, remove TilingData::intersectDrawQuad because there are no
66328        clients of that function.
66329
66330        * platform/graphics/chromium/TiledLayerChromium.cpp:
66331        (WebCore::TiledLayerChromium::drawsContent):
66332        (WebCore::TiledLayerChromium::reserveTextures):
66333        (WebCore::TiledLayerChromium::prepareToUpdate):
66334        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
66335        (WebCore::TiledLayerChromium::needsIdlePaint):
66336        (WebCore::TiledLayerChromium::idlePaintRect):
66337        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
66338        (WebCore::CCLayerTilingData::tileRect):
66339        * platform/graphics/chromium/cc/CCLayerTilingData.h:
66340        (WebCore::CCLayerTilingData::hasEmptyBounds):
66341        (WebCore::CCLayerTilingData::tileBounds):
66342        (WebCore::CCLayerTilingData::isEmpty):
66343        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
66344        (WebCore::CCTiledLayerImpl::bindContentsTexture):
66345        (WebCore::CCTiledLayerImpl::appendQuads):
66346        * platform/graphics/gpu/Texture.cpp:
66347        (WebCore::Texture::create):
66348        (WebCore::Texture::updateSubRect):
66349        * platform/graphics/gpu/TilingData.cpp:
66350        (WebCore::TilingData::tileBounds):
66351        (WebCore::TilingData::tileBoundsWithBorder):
66352        (WebCore::TilingData::tileBoundsNormalized):
66353        * platform/graphics/gpu/TilingData.h:
66354        (WebCore::TilingData::hasEmptyBounds):
66355        (TilingData):
66356        (WebCore::TilingData::assertTile):
66357
663582012-03-28  Peter Rybin  <peter.rybin@gmail.com>
66359
66360        Web Inspector: CodeGeneratorInspector.py: switch Runtime, Network and DOM domains to typed API
66361        https://bugs.webkit.org/show_bug.cgi?id=81558
66362
66363        Reviewed by Pavel Feldman.
66364
66365        Client code is switched to typed API (all InspectorObject and InspectorArray types are
66366        replaced with generated types from TypeBuilder according to Inspector.json).
66367
66368        Missing array of int specialization is added. Code generator now has a check against
66369        misspelled (non-existing) domain names.
66370
66371        * inspector/CodeGeneratorInspector.py:
66372        (Generator.go): check against misspelled domain names added.
66373        * inspector/InjectedScript.cpp:
66374        (WebCore::InjectedScript::evaluate):
66375        (WebCore::InjectedScript::callFunctionOn):
66376        (WebCore::InjectedScript::evaluateOnCallFrame):
66377        (WebCore::InjectedScript::getProperties):
66378        (WebCore::InjectedScript::wrapObject):
66379        (WebCore::InjectedScript::wrapNode):
66380        (WebCore::InjectedScript::wrapSerializedObject):
66381        (WebCore::InjectedScript::makeEvalCall):
66382        * inspector/InjectedScript.h:
66383        (InjectedScript):
66384        * inspector/InspectorDOMAgent.cpp:
66385        (WebCore::InspectorDOMAgent::getDocument):
66386        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
66387        (WebCore::InspectorDOMAgent::querySelectorAll):
66388        (WebCore::InspectorDOMAgent::pushNodePathToFrontend):
66389        (WebCore::InspectorDOMAgent::getEventListenersForNode):
66390        (WebCore::InspectorDOMAgent::getSearchResults):
66391        (WebCore::InspectorDOMAgent::resolveNode):
66392        (WebCore::InspectorDOMAgent::getAttributes):
66393        (WebCore::InspectorDOMAgent::buildObjectForNode):
66394        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
66395        (WebCore::InspectorDOMAgent::buildArrayForContainerChildren):
66396        (WebCore::InspectorDOMAgent::loadEventFired):
66397        (WebCore::InspectorDOMAgent::didInsertDOMNode):
66398        (WebCore::InspectorDOMAgent::styleAttributeInvalidated):
66399        (WebCore::InspectorDOMAgent::pushNodeByPathToFrontend):
66400        * inspector/InspectorDOMAgent.h:
66401        (InspectorDOMAgent):
66402        * inspector/InspectorPageAgent.cpp:
66403        (WebCore::InspectorPageAgent::resourceTypeJson):
66404        (WebCore::InspectorPageAgent::cachedResourceTypeJson):
66405        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
66406        * inspector/InspectorPageAgent.h:
66407        * inspector/InspectorResourceAgent.cpp:
66408        (WebCore::buildObjectForResourceRequest):
66409        (WebCore::buildObjectForResourceResponse):
66410        (WebCore::buildObjectForCachedResource):
66411        (WebCore::InspectorResourceAgent::willSendRequest):
66412        (WebCore::InspectorResourceAgent::didReceiveResponse):
66413        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
66414        (WebCore::InspectorResourceAgent::buildInitiatorObject):
66415        (WebCore::InspectorResourceAgent::willSendWebSocketHandshakeRequest):
66416        (WebCore::InspectorResourceAgent::didReceiveWebSocketHandshakeResponse):
66417        * inspector/InspectorResourceAgent.h:
66418        (InspectorResourceAgent):
66419        * inspector/InspectorRuntimeAgent.cpp:
66420        (WebCore::InspectorRuntimeAgent::evaluate):
66421        (WebCore::InspectorRuntimeAgent::callFunctionOn):
66422        (WebCore::InspectorRuntimeAgent::getProperties):
66423        * inspector/InspectorRuntimeAgent.h:
66424        (InspectorRuntimeAgent):
66425        * inspector/InspectorValues.h:
66426        (InspectorArray):
66427        (WebCore::InspectorArray::pushInt):
66428        (WebCore):
66429        * inspector/ScriptCallFrame.cpp:
66430        (WebCore::ScriptCallFrame::buildInspectorObject):
66431        * inspector/ScriptCallFrame.h:
66432        (ScriptCallFrame):
66433        * inspector/ScriptCallStack.cpp:
66434        (WebCore::ScriptCallStack::buildInspectorArray):
66435        * inspector/ScriptCallStack.h:
66436        (ScriptCallStack):
66437
664382012-03-28  Eric Seidel  <eric@webkit.org>
66439
66440        setNeedsLayout(true, false) is super confusing to read and should use an enum instead
66441        https://bugs.webkit.org/show_bug.cgi?id=82369
66442
66443        Reviewed by Julien Chaffraix.
66444
66445        I replaced all uses of the markParents bool with a MarkingBehavior
66446        enum (which has two values: MarkContainingBlockChain and MarkOnlyThis).
66447        I'm not sure the naming is perfect (as it's not clear to me if markParents is
66448        used to mean the same thing in these 3 functions), but hopefully this code is more
66449        clear.  I welcome further suggested adjustment from layout experts.
66450
66451        * page/FrameView.cpp:
66452        (WebCore::FrameView::scheduleRelayout):
66453        * rendering/RenderBlock.cpp:
66454        (WebCore::RenderBlock::layoutBlock):
66455        (WebCore::RenderBlock::adjustPositionedBlock):
66456        (WebCore::RenderBlock::layoutBlockChildren):
66457        (WebCore::RenderBlock::layoutBlockChild):
66458        (WebCore::RenderBlock::layoutPositionedObjects):
66459        (WebCore::RenderBlock::markForPaginationRelayoutIfNeeded):
66460        (WebCore::RenderBlock::removePositionedObjects):
66461        (WebCore::RenderBlock::insertFloatingObject):
66462        (WebCore::RenderBlock::positionNewFloats):
66463        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
66464        (WebCore::RenderBlock::adjustBlockChildForPagination):
66465        * rendering/RenderBlockLineLayout.cpp:
66466        (WebCore::RenderBlock::layoutRunsAndFloats):
66467        (WebCore::RenderBlock::layoutInlineChildren):
66468        (WebCore::RenderBlock::positionNewFloatOnLine):
66469        * rendering/RenderBox.cpp:
66470        (WebCore::RenderBox::positionLineBox):
66471        * rendering/RenderDeprecatedFlexibleBox.cpp:
66472        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
66473        (WebCore::gatherFlexChildrenInfo):
66474        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
66475        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
66476        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
66477        * rendering/RenderFlexibleBox.cpp:
66478        (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout):
66479        * rendering/RenderLayer.cpp:
66480        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
66481        * rendering/RenderMedia.cpp:
66482        (WebCore::RenderMedia::layout):
66483        * rendering/RenderObject.cpp:
66484        (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
66485        * rendering/RenderObject.h:
66486        (RenderObject):
66487        (WebCore::RenderObject::setNeedsLayout):
66488        (WebCore::RenderObject::setChildNeedsLayout):
66489        * rendering/RenderRubyRun.cpp:
66490        (WebCore::RenderRubyRun::layoutSpecialExcludedChild):
66491        * rendering/RenderTable.cpp:
66492        (WebCore::RenderTable::layout):
66493        * rendering/RenderTableRow.cpp:
66494        (WebCore::RenderTableRow::layout):
66495        * rendering/RenderTableSection.cpp:
66496        (WebCore::RenderTableSection::calcRowLogicalHeight):
66497        (WebCore::RenderTableSection::layoutRows):
66498        * rendering/RenderTextControl.cpp:
66499        (WebCore::RenderTextControl::layoutSpecialExcludedChild):
66500        * rendering/RenderTextControlSingleLine.cpp:
66501        (WebCore::RenderTextControlSingleLine::layout):
66502        * rendering/RenderView.cpp:
66503        (WebCore::RenderView::RenderView):
66504        (WebCore::RenderView::layout):
66505        * rendering/mathml/RenderMathMLRoot.cpp:
66506        (WebCore::RenderMathMLRoot::layout):
66507        * rendering/mathml/RenderMathMLRow.cpp:
66508        (WebCore::RenderMathMLRow::layout):
66509        * rendering/mathml/RenderMathMLSubSup.cpp:
66510        (WebCore::RenderMathMLSubSup::layout):
66511        * rendering/svg/SVGRenderSupport.cpp:
66512        (WebCore::SVGRenderSupport::layoutChildren):
66513
665142012-03-28  Joseph Pecoraro  <pecoraro@apple.com>
66515
66516        <http://webkit.org/b/82419> Web Inspector: Create -[DOMNode inspect] from IDL
66517
66518        Instead of manually creating the method in DOM.mm we can specify it in
66519        Node.idl and autogenerate part of the interface.
66520
66521        Reviewed by Timothy Hatcher.
66522
66523        * bindings/objc/DOM.mm:
66524        * bindings/objc/DOMPrivate.h:
66525        Move the call to InspectorController::inspect from here ...
66526
66527        * dom/Node.h:
66528        * dom/Node.idl: IDL only in an ObjC block.
66529        * dom/Node.cpp:
66530        (WebCore::Node::inspect):
66531        ... to here.
66532
66533        * WebCore.xcodeproj/project.pbxproj:
66534        Add the new generated file so we can Copy it in the build phase.
66535
665362012-03-28  Tommy Widenflycht  <tommyw@google.com>
66537
66538        [chromium] MediaStream API (JSEP): Introducing WebPeerConnection00Handler
66539        https://bugs.webkit.org/show_bug.cgi?id=82450
66540
66541        Reviewed by Adam Barth.
66542
66543        This change removes the default PeerConnection00Handler.cpp from the Chromium build.
66544
66545        A major overhaul of the existing layout tests is forthcoming.
66546
66547        * WebCore.gypi:
66548        * platform/mediastream/PeerConnection00Handler.h:
66549        (WebCore):
66550        (PeerConnection00Handler):
66551
665522012-03-28  Robert Hogan  <robert@webkit.org>
66553
66554        [REGRESSION] Web Inspector: column caption delimiters are misaligned in DataGrid
66555        https://bugs.webkit.org/show_bug.cgi?id=82193
66556
66557        Reviewed by Yury Semikhatsky.
66558
66559        Since r111742 column width in fixed layout tables is set to the width of the cell plus its left padding plus its right padding 
66560        plus half its left border plus half its right border in the collapsing border model. The layout of the panel
66561        headers in the inspector depended on pre-r111742 behaviour, so ended up misaligned with the content below. To cater for the 
66562        new method of calculating column width enforce a fixed width for the corner column by removing padding and borders (except collapsed
66563        borders from adjacent cells) and specify the expected width (15px) minus the expected width of the collapsed borders (1px).
66564
66565        * inspector/front-end/dataGrid.css:
66566        (.data-grid th.corner):
66567
665682012-03-28  Alexis Menard  <alexis.menard@openbossa.org>
66569
66570        Increase code sharing between CSSProperty and CSSPropertyLonghand.
66571        https://bugs.webkit.org/show_bug.cgi?id=82479
66572
66573        Reviewed by Antti Koivisto.
66574
66575        Use longhands declarations from CSSPropertyLonghand in CSSProperty to avoid
66576        code duplication.
66577
66578        No new tests : refactoring only, we shouldn't have any behavior difference.
66579
66580        * css/CSSProperty.cpp:
66581        (WebCore::resolveToPhysicalProperty):
66582        (WebCore::borderDirections):
66583        (WebCore):
66584        (WebCore::CSSProperty::resolveDirectionAwareProperty):
66585
665862012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
66587
66588        Web Inspector: Implement snippets renaming in scripts navigator.
66589        https://bugs.webkit.org/show_bug.cgi?id=82477
66590
66591        Reviewed by Pavel Feldman.
66592
66593        Snippets renaming is implemented as editing of snippet name in scripts navigator.
66594
66595        * inspector/front-end/ScriptsNavigator.js:
66596        (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
66597        (WebInspector.ScriptsNavigator.prototype._fileRenamed):
66598        (WebInspector.ScriptsNavigator.prototype.rename.commitHandler):
66599        (WebInspector.ScriptsNavigator.prototype.rename.cancelHandler):
66600        (WebInspector.ScriptsNavigator.prototype.rename.afterEditing):
66601        (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
66602        * inspector/front-end/scriptsPanel.css:
66603        (#scripts-navigator-tabbed-pane .navigator .base-navigator-tree-element-title.editing):
66604
666052012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
66606
66607        Web Inspector: Add context menu for snippets control.
66608        https://bugs.webkit.org/show_bug.cgi?id=82475
66609
66610        Reviewed by Pavel Feldman.
66611
66612        This is a preliminary implementation of snippets control using context menu.
66613        We might want to add a more discoverable one before taking snippets out of experiments.
66614
66615        * English.lproj/localizedStrings.js:
66616        * inspector/front-end/ScriptsNavigator.js:
66617        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
66618        (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
66619        (WebInspector.ScriptsNavigator.prototype._handleSnippetContextMenuEvent):
66620        (WebInspector.ScriptsNavigator.prototype._showSnippetContextMenu):
66621        (WebInspector.ScriptsNavigator.prototype._handleEvaluateSnippet):
66622        (WebInspector.ScriptsNavigator.prototype._handleRenameSnippet):
66623        (WebInspector.ScriptsNavigator.prototype._handleRemoveSnippet):
66624        (WebInspector.ScriptsNavigator.prototype._handleCreateSnippet):
66625        (WebInspector.NavigatorScriptTreeElement.prototype.get navigator):
66626        (WebInspector.NavigatorScriptTreeElement.prototype.onattach):
66627        (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
66628        (WebInspector.NavigatorScriptTreeElement.prototype._handleContextMenuEvent):
66629
666302012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
66631
66632        Web Inspector: ScriptsNavigator should save scroll position when switching tabs.
66633        https://bugs.webkit.org/show_bug.cgi?id=82472
66634
66635        Reviewed by Pavel Feldman.
66636
66637        WebInspector.View provides save/restore scroll position capabilities.
66638        This patch makes them used in ScriptsNavigator.
66639
66640        * inspector/front-end/ScriptsNavigator.js:
66641        (WebInspector.ScriptsNavigator):
66642        (WebInspector.ScriptsNavigator.prototype._createSnippetsTree):
66643        * inspector/front-end/scriptsPanel.css:
66644        (#scripts-navigator-tabbed-pane .tabbed-pane-content):
66645        (#scripts-navigator-tabbed-pane .navigator-container):
66646
666472012-03-28  Andrey Kosyakov  <caseq@chromium.org>
66648
66649        Web Inspector: only update Timeline overview when really needed
66650        https://bugs.webkit.org/show_bug.cgi?id=81909
66651
66652        Reviewed by Pavel Feldman.
66653
66654        Switch timeline overview to using raw records, thus removing dependency on instance members of
66655        TimelinePresentationModel. This requires moving record styles/categories to static getters.
66656
66657        * inspector/front-end/TimelineModel.js:
66658        (WebInspector.TimelineModel):
66659        (WebInspector.TimelineModel.startTime):
66660        (WebInspector.TimelineModel.endTime):
66661        (WebInspector.TimelineModel.duration):
66662        (WebInspector.TimelineModel.prototype._addRecord):
66663        (WebInspector.TimelineModel.prototype.reset):
66664        (WebInspector.TimelineModel.prototype.minimumRecordTime):
66665        (WebInspector.TimelineModel.prototype.maximumRecordTime):
66666        (WebInspector.TimelineModel.prototype._updateBoundaries):
66667        * inspector/front-end/TimelineOverviewPane.js:
66668        (WebInspector.TimelineOverviewPane):
66669        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
66670        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
66671        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
66672        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
66673        (WebInspector.TimelineOverviewPane.prototype._update):
66674        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips.markPercentagesForRecord):
66675        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
66676        (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
66677        (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
66678        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
66679        (WebInspector.TimelineOverviewPane.prototype.setShowShortEvents):
66680        (WebInspector.TimelineOverviewPane.prototype._scheduleRefresh):
66681        (WebInspector.TimelineOverviewCalculator.prototype.computeBarGraphPercentages):
66682        (WebInspector.TimelineOverviewCalculator.prototype.setWindow):
66683        (WebInspector.TimelineOverviewCalculator.prototype.reset):
66684        (WebInspector.HeapGraph):
66685        (WebInspector.HeapGraph.prototype.update):
66686        (WebInspector.TimelineVerticalOverview):
66687        (WebInspector.TimelineVerticalOverview.prototype.reset):
66688        (WebInspector.TimelineVerticalOverview.prototype.update):
66689        (WebInspector.TimelineVerticalOverview.prototype.wasShown):
66690        (WebInspector.TimelineVerticalOverview.prototype.willHide):
66691        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrameStatistics):
66692        (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
66693        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
66694        (WebInspector.TimelineVerticalOverview.prototype._onRecordAdded):
66695        (WebInspector.TimelineAggregatedRecord):
66696        (WebInspector.TimelineAggregatedRecord.prototype._aggregateStatistics):
66697        * inspector/front-end/TimelinePanel.js:
66698        (WebInspector.TimelinePanel):
66699        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
66700        (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
66701        (WebInspector.TimelinePanel.prototype._resetPanel):
66702        (WebInspector.TimelinePanel.prototype._refresh):
66703        (WebInspector.TimelineCalculator):
66704        (WebInspector.TimelineCalculator.prototype.formatTime):
66705        * inspector/front-end/TimelinePresentationModel.js:
66706        (WebInspector.TimelinePresentationModel):
66707        (WebInspector.TimelinePresentationModel.categories):
66708        (WebInspector.TimelinePresentationModel.recordStyle):
66709        (WebInspector.TimelinePresentationModel.categoryForRecord):
66710        (WebInspector.TimelinePresentationModel.prototype.reset):
66711        (WebInspector.TimelinePresentationModel.prototype.addRecord):
66712        (WebInspector.TimelinePresentationModel.Record):
66713        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
66714
667152012-03-28  Arvid Nilsson  <anilsson@rim.com>
66716
66717        [BlackBerry] Plumb through GraphicsLayer::contentsOpaque() to LayerTiler
66718        https://bugs.webkit.org/show_bug.cgi?id=82457
66719
66720        Reviewed by Rob Buis.
66721
66722        The LayerTiler already knows not to turn on GL_BLEND for opaque layers.
66723        However, it only ever sets the opaque flag for image layers and color
66724        layers, never for content layers.
66725
66726        This was no big deal, because contentsOpaque() is currently false for
66727        all layers except the root layer, which we always drew using the
66728        BlackBerry::WebKit::BackingStore anyway.
66729
66730        When we start using RenderLayerBacking::m_usingTiledCacheLayer=true on
66731        the root layer in situations where the BackingStore is unavailable, we
66732        can speed up rendering of the root layer by honouring the opaque flag.
66733
66734        Fixed by plumbing through the GraphicsLayer::contentsOpaque() flag all
66735        the way to LayerTiler and on to Texture.
66736
66737        * platform/graphics/blackberry/LayerData.h:
66738        (WebCore::LayerData::LayerData):
66739        (WebCore::LayerData::isOpaque):
66740        (LayerData):
66741        * platform/graphics/blackberry/LayerTile.cpp:
66742        (WebCore::LayerTile::updateContents):
66743        * platform/graphics/blackberry/LayerTile.h:
66744        (LayerTile):
66745        * platform/graphics/blackberry/LayerTiler.cpp:
66746        (WebCore::LayerTiler::updateTextureContentsIfNeeded):
66747        (WebCore::LayerTiler::performTileJob):
66748        * platform/graphics/blackberry/LayerTiler.h:
66749        (WebCore::LayerTiler::TextureJob::TextureJob):
66750        (WebCore::LayerTiler::TextureJob::updateContents):
66751        * platform/graphics/blackberry/LayerWebKitThread.h:
66752        (WebCore::LayerWebKitThread::setOpaque):
66753        * platform/graphics/blackberry/Texture.h:
66754        (Texture):
66755        * platform/graphics/blackberry/TextureCacheCompositingThread.cpp:
66756        (WebCore::TextureCacheCompositingThread::updateContents):
66757        * platform/graphics/blackberry/TextureCacheCompositingThread.h:
66758        (TextureCacheCompositingThread):
66759
667602012-03-28  Andrey Kosyakov  <caseq@chromium.org>
66761
66762        Web Inspector: nuke HeapGraph.setSize(), do it automagically on update
66763        https://bugs.webkit.org/show_bug.cgi?id=82471
66764
66765        Reviewed by Yury Semikhatsky.
66766
66767        * inspector/front-end/TimelineOverviewPane.js:
66768        (WebInspector.TimelineOverviewPane.prototype.update):
66769        (WebInspector.HeapGraph.prototype.update):
66770
667712012-03-28  Pavel Podivilov  <podivilov@chromium.org>
66772
66773        Web Inspector: dispatch console-message-added and console-messages-cleared events on UISourceCode.
66774        https://bugs.webkit.org/show_bug.cgi?id=82463
66775
66776        Reviewed by Vsevolod Vlasov.
66777
66778        Those events are related to specific UISourceCode. See bug 82224 for more details.
66779
66780        * inspector/front-end/DebuggerPresentationModel.js:
66781        (WebInspector.DebuggerPresentationModel):
66782        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
66783        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
66784        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
66785        (WebInspector.UISourceCodeImpl):
66786        (WebInspector.UISourceCodeImpl.prototype.consoleMessages):
66787        (WebInspector.UISourceCodeImpl.prototype.consoleMessageAdded):
66788        (WebInspector.UISourceCodeImpl.prototype.consoleMessagesCleared):
66789        * inspector/front-end/JavaScriptSourceFrame.js:
66790        (WebInspector.JavaScriptSourceFrame):
66791        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
66792        (WebInspector.JavaScriptSourceFrame.prototype._consoleMessageAdded):
66793        (WebInspector.JavaScriptSourceFrame.prototype._consoleMessagesCleared):
66794        (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
66795        * inspector/front-end/ScriptsPanel.js:
66796        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
66797        * inspector/front-end/UISourceCode.js:
66798        (WebInspector.UISourceCode.prototype.breakpoints):
66799        (WebInspector.UISourceCode.prototype.consoleMessages):
66800
668012012-03-28  Carlos Garcia Campos  <cgarcia@igalia.com>
66802
66803        [GTK] Implement PlatformStrategies
66804        https://bugs.webkit.org/show_bug.cgi?id=82454
66805
66806        Reviewed by Xan Lopez.
66807
66808        * GNUmakefile.list.am: Remove PluginDataGtk.cpp. The same
66809        functionality is now implemented using platform strategies.
66810        * plugins/gtk/PluginDataGtk.cpp: Removed.
66811
668122012-03-28  Vsevolod Vlasov  <vsevik@chromium.org>
66813
66814        Web Inspector: [Regression] TabIndex is not correctly restored after editing.
66815        https://bugs.webkit.org/show_bug.cgi?id=82464
66816
66817        Reviewed by Pavel Feldman.
66818
66819        This fixes incorrect usage of isNaN that returns false for null value.
66820        Drive-by javascript compilation fix.
66821
66822        * inspector/front-end/CompilerScriptMapping.js:
66823        (WebInspector.CompilerScriptMapping.prototype.addScript): compilation fix.
66824        * inspector/front-end/ResourceScriptMapping.js:
66825        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged): compilation fix.
66826        * inspector/front-end/SnippetsModel.js:
66827        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript): compilation fix.
66828        * inspector/front-end/UIUtils.js:
66829        (WebInspector.startEditing.cleanUpAfterEditing): incorrect usage of isNaN fix.
66830
668312012-03-28  Yi Shen  <yi.4.shen@nokia.com>
66832
66833        An extra line break is inserted when pasting into a font element.
66834        https://bugs.webkit.org/show_bug.cgi?id=71207
66835
66836        Reviewed by Ryosuke Niwa.
66837
66838        Fix an editing bug where inserting text into a font element would
66839        create an extra div element in the dom tree. The
66840        WebCore::positionAvoidingPrecedingNodes() tries to set the correct
66841        destination position by checking the next visible position, however,
66842        it causes the position moves into the child element in somecase.
66843        Instead, we should only check the position in parent after node.
66844
66845        Test: editing/inserting/insert-text-into-font.html
66846
66847        * editing/ReplaceSelectionCommand.cpp:
66848        (WebCore::positionAvoidingPrecedingNodes):
66849
668502012-03-28  Sergio Villar Senin  <svillar@igalia.com>
66851
66852        [Soup] DNS prefetching spams resolver, shoots self in the foot
66853        https://bugs.webkit.org/show_bug.cgi?id=41630
66854
66855        Reviewed by Martin Robinson.
66856
66857        Added generic DNSResolveQueue class to throttle DNS
66858        prefetches. It's an abstract refactoring of CFNET's
66859        DNSResolveQueue. Platform specific methods implemented for soup
66860        and CFNET backends.
66861
66862        No new tests required as we're just refactoring existing code to
66863        be used by two different ports.
66864
66865        * CMakeLists.txt: added new file.
66866        * GNUmakefile.list.am: ditto.
66867        * WebCore.vcproj/WebCore.vcproj: ditto.
66868        * WebCore.xcodeproj/project.pbxproj: ditto.
66869        * platform/network/DNSResolveQueue.cpp: Added.
66870        (WebCore):
66871        (WebCore::DNSResolveQueue::add): adds a new host to be prefetched.
66872        (WebCore::DNSResolveQueue::fired): by using a delay we coalesce
66873        several prefetch requests and try to resolve them all here.
66874        * platform/network/DNSResolveQueue.h: Added.
66875        (WebCore):
66876        (DNSResolveQueue): class that implements DNS prefetch
66877        throttling using a template pattern.
66878        (WebCore::DNSResolveQueue::shared):
66879        (WebCore::DNSResolveQueue::decrementRequestCount):
66880        * platform/network/cf/DNSCFNet.cpp:
66881        (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
66882        (WebCore::DNSResolveQueue::platformResolve):
66883        * platform/network/soup/DNSSoup.cpp:
66884        (WebCore):
66885        (WebCore::DNSResolveQueue::platformProxyIsEnabledInSystemPreferences):
66886        (WebCore::resolvedCallback):
66887        (WebCore::DNSResolveQueue::platformResolve):
66888        (WebCore::prefetchDNS):
66889
668902012-03-28  Eugene Girard  <girard@chromium.org>
66891
66892        window.scrollBy() scrolls incorrectly when zoomed in/out
66893        https://bugs.webkit.org/show_bug.cgi?id=45228
66894
66895        Reviewed by Simon Fraser.
66896
66897        scrollBy now uses layout (not CSS) units. (As scrollTo does.)
66898
66899        Test: fast/dom/zoom-scroll-page-test.html
66900
66901        * page/DOMWindow.cpp:
66902        (WebCore::DOMWindow::scrollBy):
66903
669042012-03-28  Stephen Chenney  <schenney@chromium.org>
66905
66906        Null dereference in SVGTextElement::animatedLocalTransform()
66907        https://bugs.webkit.org/show_bug.cgi?id=82375
66908
66909        Reviewed by Nikolas Zimmermann.
66910
66911        A poorly structured SVG file with a text element inside an
66912        animatedTransform element leaves the text element placed outside of
66913        the SVG root and it has no renderer(). Later attempts to use the
66914        renderer in animatedLocalTransform fail.
66915
66916        Test: svg/custom/get-text-element-transform-crash.html
66917
66918        * svg/SVGTextElement.cpp:
66919        (WebCore::SVGTextElement::animatedLocalTransform): Added a check for null renderer, and do not check
66920        for style transform if there is no renderer.
66921
669222012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
66923
66924        Enable animVal support for SVGAnimatedPreserveAspectRatio
66925        https://bugs.webkit.org/show_bug.cgi?id=82326
66926
66927        Reviewed by Zoltan Herczeg.
66928
66929        Enable animVal support for SVGAnimatedPreserveAspectRatio. Very simple now that everything is prepared.
66930        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedPreserveAspectRatioAnimator.
66931
66932        Modernize SVGPreserveAspectRatio, align parsing this object from String, with the other SVG DOM primitives,
66933        who supply a "void parse(const String&)" method, for this task.
66934
66935        Extended existing tests to cover this.
66936
66937        * svg/SVGAnimatedPreserveAspectRatio.cpp:
66938        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::constructFromString):
66939        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::startAnimValAnimation):
66940        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::stopAnimValAnimation):
66941        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::resetAnimValToBaseVal):
66942        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValWillChange):
66943        (WebCore::SVGAnimatedPreserveAspectRatioAnimator::animValDidChange):
66944        * svg/SVGAnimatedPreserveAspectRatio.h:
66945        (SVGAnimatedPreserveAspectRatioAnimator):
66946        * svg/SVGAnimatedType.cpp:
66947        (WebCore::SVGAnimatedType::valueAsString):
66948        (WebCore::SVGAnimatedType::setValueAsString):
66949        (WebCore::SVGAnimatedType::supportsAnimVal):
66950        * svg/SVGFEImageElement.cpp:
66951        (WebCore::SVGFEImageElement::parseAttribute):
66952        * svg/SVGFitToViewBox.cpp:
66953        (WebCore::SVGFitToViewBox::parseAttribute):
66954        * svg/SVGImageElement.cpp:
66955        (WebCore::SVGImageElement::parseAttribute):
66956        * svg/SVGPreserveAspectRatio.cpp:
66957        (WebCore::SVGPreserveAspectRatio::parse):
66958        (WebCore):
66959        * svg/SVGPreserveAspectRatio.h:
66960        (SVGPreserveAspectRatio):
66961        * svg/SVGViewSpec.cpp:
66962        (WebCore::SVGViewSpec::setPreserveAspectRatioString):
66963        (WebCore::SVGViewSpec::parseViewSpec):
66964
669652012-03-28  Pavel Feldman  <pfeldman@chromium.org>
66966
66967        Web Inspector: [v8] inspection of CanvasPixelArray is slow.
66968        https://bugs.webkit.org/show_bug.cgi?id=82455
66969
66970        Reviewed by Vsevolod Vlasov.
66971
66972        Added CanvasPixelArray to the list of classes that we consider
66973        arrays.
66974
66975        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
66976        (WebCore::V8InjectedScriptHost::typeCallback):
66977
669782012-03-28  Leandro Gracia Gil  <leandrogracia@chromium.org>
66979
66980        Selectively retrieve text content around a given position.
66981        https://bugs.webkit.org/show_bug.cgi?id=78361
66982
66983        Reviewed by Ryosuke Niwa.
66984
66985        Tests: a new layout test will be introduced once the required WebKit API code is ready.
66986
66987        Introduce the DOMTextContentWalker class to selectively retrieve content
66988        around a given VisiblePosition into a string in such a way that a text
66989        Range can be extracted later from a pair of the string's positions.
66990
66991        A new boolean called m_shouldStop is also introduced in the TextIterator to force
66992        it advancing under certain conditions. Although this is usually done by setting
66993        m_positionNode to zero, it can't be applied in this case since by doing so the
66994        iterator's range is lost.
66995
66996        * WebCore.gypi:
66997        * editing/SurroundingText.cpp: Added.
66998        (WebCore):
66999        (WebCore::SurroundingText::SurroundingText):
67000        (WebCore::SurroundingText::rangeFromContentOffsets):
67001        (WebCore::SurroundingText::content):
67002        (WebCore::SurroundingText::positionOffsetInContent):
67003        * editing/SurroundingText.h: Added.
67004        (WebCore):
67005        (SurroundingText):
67006        * editing/TextIterator.cpp:
67007        (WebCore::TextIterator::TextIterator):
67008        (WebCore::TextIterator::advance):
67009        (WebCore::SimplifiedBackwardsTextIterator::SimplifiedBackwardsTextIterator):
67010        (WebCore::SimplifiedBackwardsTextIterator::advance):
67011        * editing/TextIterator.h:
67012        (WebCore::TextIterator::atEnd):
67013        (TextIterator):
67014        (WebCore::SimplifiedBackwardsTextIterator::atEnd):
67015        (SimplifiedBackwardsTextIterator):
67016        * html/HTMLFormControlElement.cpp:
67017        (WebCore::HTMLFormControlElement::enclosingFormControlElement):
67018        (WebCore):
67019        * html/HTMLFormControlElement.h:
67020        (HTMLFormControlElement):
67021
670222012-03-28  Alexis Menard  <alexis.menard@openbossa.org>
67023
67024        Speed up updates of existing CSS properties from JS.
67025        https://bugs.webkit.org/show_bug.cgi?id=82235
67026
67027        Reviewed by Andreas Kling.
67028
67029        Improve the way we handle updating an existing CSS property by replacing its value
67030        by the new one rather than removing the old value and then adding the new one. This
67031        speed up by 35% PerformanceTests/CSS/CSSPropertyUpdateValue.html.
67032
67033        No new tests : Updating existing tests that were relying on the order of the properties
67034        after modification. Each updated property is not appended to the list of properties of the
67035        style therefore the cssText value is slightly different. It matches Firefox behavior but not
67036        Opera.
67037
67038        * css/StylePropertySet.cpp:
67039        (WebCore::StylePropertySet::addParsedProperty):
67040
670412012-03-28  Leo Yang  <leo.yang@torchmobile.com.cn>
67042
67043        [BlackBerry] Remove PlatformMouseEvent::setClickCount for BlackBerry
67044        https://bugs.webkit.org/show_bug.cgi?id=82422
67045
67046        Reviewed by Rob Buis.
67047
67048        PlatformMouseEvent::setClickCount() is never used by BlackBerry.
67049        The declaration was added in PlatformMouseEvent.h internally for
67050        BlackBerry porting, but it has not been upstreamed yet.
67051
67052        * platform/blackberry/PlatformMouseEventBlackBerry.cpp:
67053
670542012-03-27  Antti Koivisto  <antti@apple.com>
67055
67056        Separate @import rules from other rules in CSSStyleSheet
67057        https://bugs.webkit.org/show_bug.cgi?id=82384 
67058
67059        Reviewed by Andreas Kling.
67060
67061        Import rules always come before all other rules (except @charset). They currently live 
67062        in the generic child rule vector. They can be moved to a vector of their own for stronger
67063        typing and more focused traversal. This will also make future refactoring easier.
67064        
67065        - @import rules go to m_importRules
67066        - the rest go to m_childRules
67067        
67068        * css/CSSStyleSelector.cpp:
67069        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
67070        * css/CSSStyleSheet.cpp:
67071        (WebCore::CSSStyleSheet::parserAppendRule):
67072        (WebCore::CSSStyleSheet::length):
67073        (WebCore::CSSStyleSheet::item):
67074        (WebCore::CSSStyleSheet::clearRules):
67075        (WebCore::CSSStyleSheet::rules):
67076        (WebCore::CSSStyleSheet::insertRule):
67077        (WebCore::CSSStyleSheet::deleteRule):
67078        (WebCore::CSSStyleSheet::isLoading):
67079        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
67080        * css/CSSStyleSheet.h:
67081        (WebCore):
67082        (CSSStyleSheet):
67083        (WebCore::CSSStyleSheet::childRules):
67084        (WebCore::CSSStyleSheet::importRules):
67085
670862012-03-28  Pavel Feldman  <pfeldman@chromium.org>
67087
67088        Web Inspector: REGRESSION: Stack overflow on the page with > 100kloc
67089        https://bugs.webkit.org/show_bug.cgi?id=82436
67090
67091        Reviewed by Yury Semikhatsky.
67092
67093        This change migrates to manual splice implementation that uses additional
67094        information about the range being inserted to make it work faster / allocate
67095        less memory.
67096
67097        * inspector/front-end/TextEditorModel.js:
67098        (WebInspector.TextEditorModel.endsWithBracketRegex.):
67099
671002012-03-28  Pavel Podivilov  <podivilov@chromium.org>
67101
67102        Web Inspector: breakpoints are not shown in sidebar pane after reload.
67103        https://bugs.webkit.org/show_bug.cgi?id=82351
67104
67105        Reviewed by Pavel Feldman.
67106
67107        When UISourceCode is added to ScriptsPanel, it could already have breakpoints.
67108        We should iterate over existing breakpoints and add them to sidebar pane.
67109
67110        * inspector/front-end/ScriptsPanel.js:
67111        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
67112
671132012-03-28  Li Yin  <li.yin@intel.com>
67114
67115        [WebSocket]The Sec-WebSocket-Protocol must not appear more than once in an HTTP response
67116        https://bugs.webkit.org/show_bug.cgi?id=82432
67117
67118        Reviewed by Kent Tamura.
67119
67120        From RFC6455: http://tools.ietf.org/html/rfc6455#section-11.3.4
67121        The |Sec-WebSocket-Protocol| header field must not appear 
67122        more than once in an HTTP response.
67123
67124        Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-protocol-header.html
67125
67126        * Modules/websockets/WebSocketHandshake.cpp:
67127        (WebCore::WebSocketHandshake::readHTTPHeaders):
67128
671292012-03-27  James Robinson  <jamesr@chromium.org>
67130
67131        [chromium] Transfer wheel fling via WebCompositorInputHandlerClient
67132        https://bugs.webkit.org/show_bug.cgi?id=81740
67133
67134        Reviewed by Adrienne Walker.
67135
67136        Adds the ability to construct an in-progress PlatformGestureAnimation.
67137
67138        * platform/ActivePlatformGestureAnimation.cpp:
67139        (WebCore::ActivePlatformGestureAnimation::create):
67140        (WebCore):
67141        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
67142        * platform/ActivePlatformGestureAnimation.h:
67143        (ActivePlatformGestureAnimation):
67144        * platform/TouchpadFlingPlatformGestureCurve.cpp:
67145        (WebCore::TouchpadFlingPlatformGestureCurve::create):
67146        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
67147        * platform/TouchpadFlingPlatformGestureCurve.h:
67148        (TouchpadFlingPlatformGestureCurve):
67149
671502012-03-27  Nat Duca  <nduca@chromium.org>
67151
67152        [chromium] Route monotonic clock up from compositor
67153        https://bugs.webkit.org/show_bug.cgi?id=82154
67154
67155        Reviewed by James Robinson.
67156
67157        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
67158        (WebCore::CCLayerTreeHost::updateAnimations):
67159        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
67160        (CCLayerTreeHost):
67161        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
67162        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
67163        (WebCore::CCThreadProxy::beginFrame):
67164        * platform/graphics/chromium/cc/CCThreadProxy.h:
67165        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
67166        (BeginFrameAndCommitState):
67167
671682012-03-27  Robin Cao  <robin.cao@torchmobile.com.cn>
67169
67170        [BlackBerry] Upstream LayerAnimation.{cpp, h}
67171        https://bugs.webkit.org/show_bug.cgi?id=80123
67172
67173        Reviewed by Rob Buis.
67174
67175        Initial upstream, no new tests.
67176
67177        * platform/graphics/blackberry/LayerAnimation.cpp: Added.
67178        (WebCore):
67179        (WebCore::solveEpsilon):
67180        (WebCore::solveCubicBezierFunction):
67181        (WebCore::solveStepsFunction):
67182        (WebCore::timingFunctionForAnimationValue):
67183        (WebCore::progress):
67184        (WebCore::fetchIntervalEndpoints):
67185        (WebCore::LayerAnimation::apply):
67186        (WebCore::LayerAnimation::blendTransform):
67187        (WebCore::LayerAnimation::blendOpacity):
67188        (WebCore::LayerAnimation::validateTransformLists):
67189        * platform/graphics/blackberry/LayerAnimation.h: Added.
67190        (WebCore):
67191        (LayerAnimation):
67192        (WebCore::LayerAnimation::create):
67193        (WebCore::LayerAnimation::clone):
67194        (WebCore::LayerAnimation::~LayerAnimation):
67195        (WebCore::LayerAnimation::name):
67196        (WebCore::LayerAnimation::setStartTime):
67197        (WebCore::LayerAnimation::idFromAnimation):
67198        (WebCore::LayerAnimation::isEqualToAnimation):
67199        (WebCore::LayerAnimation::id):
67200        (WebCore::LayerAnimation::property):
67201        (WebCore::LayerAnimation::boxSize):
67202        (WebCore::LayerAnimation::timeOffset):
67203        (WebCore::LayerAnimation::startTime):
67204        (WebCore::LayerAnimation::valueCount):
67205        (WebCore::LayerAnimation::timingFunction):
67206        (WebCore::LayerAnimation::duration):
67207        (WebCore::LayerAnimation::iterationCount):
67208        (WebCore::LayerAnimation::direction):
67209        (WebCore::LayerAnimation::valueAt):
67210        (WebCore::LayerAnimation::LayerAnimation):
67211
672122012-03-27  Kenichi Ishibashi  <bashi@chromium.org>
67213
67214        [Chromium] Uninitialized access in SimpleFontDataSkia::platformInit
67215        https://bugs.webkit.org/show_bug.cgi?id=82411
67216
67217        Reviewed by Kent Tamura.
67218
67219        SimpleFontDataSkia::platformInit() could call widthForGlyph(), which
67220        accesses m_zeroWidthSpaceGlyph. This causes a valgrind memcheck error
67221        because m_zeroWidthSpaceGlyph isn't initialized at this point.
67222        Initialize m_zeroWidthSpaceGlyph with zero so that widthForGlyph() can
67223        return appropriate value(The value zero here means "unknown glyph").
67224
67225        No new tests. I manually confirmed this change fixes the valgrind
67226        memcheck error.
67227
67228        * platform/graphics/skia/SimpleFontDataSkia.cpp:
67229        (WebCore::SimpleFontData::platformInit):
67230
672312012-03-27  YoungTaeck Song  <youngtaeck.song@samsung.com>
67232
67233        [EFL][WK2] Add RunLoopEfl and WorkQueueEfl
67234        https://bugs.webkit.org/show_bug.cgi?id=62777
67235
67236        Reviewed by Hajime Morita.
67237
67238        Add initial version RunLoopEfl for WebKit2 Efl.
67239
67240        * platform/RunLoop.h:
67241        (TimerBase):
67242        (RunLoop):
67243        * platform/efl/RunLoopEfl.cpp:
67244        (WebCore::RunLoop::RunLoop):
67245        (WebCore::RunLoop::~RunLoop):
67246        (WebCore):
67247        (WebCore::RunLoop::run):
67248        (WebCore::RunLoop::stop):
67249        (WebCore::RunLoop::wakeUpEvent):
67250        (WebCore::RunLoop::wakeUp):
67251        (WebCore::RunLoop::TimerBase::TimerBase):
67252        (WebCore::RunLoop::TimerBase::~TimerBase):
67253        (WebCore::RunLoop::TimerBase::timerFired):
67254        (WebCore::RunLoop::TimerBase::start):
67255        (WebCore::RunLoop::TimerBase::stop):
67256        (WebCore::RunLoop::TimerBase::isActive):
67257
672582012-03-27  Benjamin Poulain  <bpoulain@apple.com>
67259
67260        Reinforce Geolocation to prevent accidental leak of the user position
67261        https://bugs.webkit.org/show_bug.cgi?id=82396
67262
67263        Reviewed by Adam Barth.
67264
67265        It is very important not to provide the position of the user to a page
67266        unless the user authorize it.
67267
67268        The code used to make it easy to cause such problems, because any part
67269        of the Geolocation object could invoke the success callback directly.
67270
67271        This patch add encapsulation for all the attributes of GeoNotifier,
67272        and add extra guards for the two callbacks.
67273
67274        In the case of the success callback, we do one extra check before sending
67275        the value to the bindings.
67276
67277        * Modules/geolocation/Geolocation.cpp:
67278        (WebCore::Geolocation::GeoNotifier::runSuccessCallback):
67279        (WebCore::Geolocation::GeoNotifier::runErrorCallback):
67280        (WebCore):
67281        (WebCore::Geolocation::GeoNotifier::stopTimer):
67282        (WebCore::Geolocation::GeoNotifier::timerFired):
67283        (WebCore::Geolocation::startRequest):
67284        (WebCore::Geolocation::sendError):
67285        (WebCore::Geolocation::sendPosition):
67286        (WebCore::Geolocation::stopTimer):
67287        (WebCore::Geolocation::extractNotifiersWithCachedPosition):
67288        (WebCore::Geolocation::startUpdating):
67289        * Modules/geolocation/Geolocation.h:
67290        (WebCore::Geolocation::isAllowed):
67291        (Geolocation):
67292        (GeoNotifier):
67293        (WebCore::Geolocation::GeoNotifier::options):
67294        (WebCore::Geolocation::GeoNotifier::useCachedPosition):
67295
672962012-03-27  Kausalya Madhusudhanan  <kmadhusu@chromium.org>
67297
67298        [Coverity] Address some uninitialized constructor values.
67299        https://bugs.webkit.org/show_bug.cgi?id=82376
67300
67301        Reviewed by James Robinson.
67302
67303        New tests are not required since I did not modify any code behavior.
67304
67305        * html/shadow/MediaControlRootElementChromium.cpp:
67306        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
67307        * inspector/InspectorIndexedDBAgent.h:
67308        (InspectorIndexedDBAgent):
67309        * inspector/InspectorTimelineAgent.cpp:
67310        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
67311        * page/scrolling/ScrollingCoordinator.cpp:
67312        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
67313        * platform/ScrollAnimatorNone.cpp:
67314        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
67315        * platform/chromium/DataTransferItemChromium.cpp:
67316        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
67317        * platform/graphics/skia/ImageBufferSkia.cpp:
67318        (WebCore::ImageBuffer::ImageBuffer):
67319        * storage/StorageTask.cpp:
67320        (WebCore::StorageTask::StorageTask):
67321
673222012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
67323
67324        Simplify CSSPropertyBorderSpacing parsing.
67325        https://bugs.webkit.org/show_bug.cgi?id=82397
67326
67327        Reviewed by Benjamin Poulain.
67328
67329        Remove the local array of longhand properties as it doesn't really
67330        bring much in this simple parsing algorithm.
67331
67332        No new tests, no functionality change intended.
67333
67334        * css/CSSParser.cpp:
67335        (WebCore::CSSParser::parseValue):
67336
673372012-03-27  Anders Carlsson  <andersca@apple.com>
67338
67339        Fix race condition when initializing the scrolling thread
67340        https://bugs.webkit.org/show_bug.cgi?id=82398
67341        <rdar://problem/11002166>
67342
67343        Reviewed by Sam Weinig.
67344
67345        Lock m_initializeRunLoopConditionMutex when assigning m_threadIdentifier since we're
67346        asserting that it's not null in the scrolling thread.
67347
67348        * page/scrolling/ScrollingThread.cpp:
67349        (WebCore::ScrollingThread::createThreadIfNeeded):
67350
673512012-03-27  Luke Macpherson  <macpherson@chromium.org>
67352
67353        Add assertions to valueForLength() and RenderBox::computeLogicalWidthInRegionUsing() to help with debugging.
67354        https://bugs.webkit.org/show_bug.cgi?id=82393
67355
67356        Reviewed by Eric Seidel.
67357
67358        No new tests / adding assetions only.
67359
67360        * css/LengthFunctions.cpp:
67361        (WebCore::valueForLength):
67362        * rendering/RenderBox.cpp:
67363        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
67364
673652012-03-27  Tony Chang  <tony@chromium.org>
67366
67367        use the correct size when computing flex-pack space
67368        https://bugs.webkit.org/show_bug.cgi?id=82378
67369
67370        Reviewed by Ojan Vafai.
67371
67372        Fix 2 bugs:
67373        - We weren't properly updating available space before computing
67374          packing space. If a min/max is not hit, we still need to adjust
67375          the available free space.
67376        - For flex-pack:end, we need to put the overflow in the start edge.
67377
67378        New test cases in css3/flexbox/flex-pack.html
67379
67380        * rendering/RenderFlexibleBox.cpp:
67381        (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
67382        (WebCore::initialPackingOffset):
67383
673842012-03-27  Dana Jansens  <danakj@chromium.org>
67385
67386        [chromium] Unknown transforms should be treated as non-axis aligned on main thread
67387        https://bugs.webkit.org/show_bug.cgi?id=82370
67388
67389        Reviewed by Adrienne Walker.
67390
67391        On main thread, animating transforms have "unknown" values as they are changing
67392        out of sync on the impl thread. So treat them as non-axis-aligned since they
67393        may be, when deciding to create a render surface.
67394
67395        In addition, since surfaces are cheap on main thread, create one for all layers
67396        with animating transforms and a drawing descendant, as this allows paint culling
67397        within the layer's subtree (the animated transform won't affect drawTransforms
67398        inside the subtree).
67399
67400        Also renamed the layerIsInAnimatingSubtreeFor* to animatingTransformTo*.
67401        The old name made me pause and think what it meant and I'm the one who
67402        created it. Hopefully this is more clear.
67403
67404        Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
67405
67406        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
67407        (WebCore::transformToParentIsKnown):
67408        (WebCore):
67409        (WebCore::subtreeShouldRenderToSeparateSurface):
67410        (WebCore::calculateDrawTransformsAndVisibilityInternal):
67411
674122012-03-27  Dirk Pranke  <dpranke@chromium.org>
67413
67414        Re-land r112277; reverting it doesn't seem to have fixed anything.
67415
67416        Unreviewed, build fix.
67417
67418        * svg/SVGUseElement.cpp:
67419        (WebCore::SVGUseElement::insertedIntoDocument):
67420        (WebCore::SVGUseElement::svgAttributeChanged):
67421        (WebCore::SVGUseElement::willRecalcStyle):
67422        (WebCore::SVGUseElement::finishParsingChildren):
67423        * xml/XMLErrors.cpp:
67424        (WebCore::XMLErrors::insertErrorMessageBlock):
67425
674262012-03-27  Dana Jansens  <danakj@chromium.org>
67427
67428        [chromium] Rename opaqueContentsRegion() to visibleContentOpaqueRegion()
67429        https://bugs.webkit.org/show_bug.cgi?id=81689
67430
67431        Reviewed by Adrienne Walker.
67432
67433        The return value from this function is a region of opaque pixels in the
67434        layer's content space that intersect with its visible rect. Rather than
67435        adding a comment to this effect, renaming the method to make it clear.
67436
67437        * platform/graphics/chromium/LayerChromium.h:
67438        (WebCore::LayerChromium::visibleContentOpaqueRegion):
67439        * platform/graphics/chromium/TiledLayerChromium.cpp:
67440        (WebCore::TiledLayerChromium::visibleContentOpaqueRegion):
67441        * platform/graphics/chromium/TiledLayerChromium.h:
67442        * platform/graphics/chromium/cc/CCLayerImpl.h:
67443        (WebCore::CCLayerImpl::visibleContentOpaqueRegion):
67444        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
67445        (WebCore::computeOcclusionBehindLayer):
67446        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
67447        (WebCore::CCTiledLayerImpl::visibleContentOpaqueRegion):
67448        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
67449        (CCTiledLayerImpl):
67450
674512012-03-27  James Robinson  <jamesr@chromium.org>
67452
67453        Scrollable plugins not registered properly in ScrollingCoordinator
67454        https://bugs.webkit.org/show_bug.cgi?id=82163
67455
67456        Reviewed by Anders Carlsson.
67457
67458        Whenever a ScrollableArea is added or removed from a FrameView's ScrollableAreaSet, we have to recalculate the
67459        nonFastScrollableRegion. This can happen for certain types of plugins that are scrollable.
67460
67461        This also reverts 112142 which was a not quite right way to handle these plugins.
67462
67463        * page/FrameView.cpp:
67464        (WebCore::FrameView::addScrollableArea):
67465        (WebCore::FrameView::removeScrollableArea):
67466        * page/scrolling/ScrollingCoordinator.cpp:
67467        (WebCore::computeNonFastScrollableRegion):
67468        (WebCore::ScrollingCoordinator::frameViewScrollableAreasDidChange):
67469        (WebCore):
67470        * page/scrolling/ScrollingCoordinator.h:
67471        (ScrollingCoordinator):
67472        * plugins/PluginViewBase.h:
67473
674742012-03-27  Adam Klein  <adamk@chromium.org>
67475
67476        Hold a reference to refChild in insertBefore before calling collectChildrenAndRemoveFromOldParent
67477        https://bugs.webkit.org/show_bug.cgi?id=82377
67478
67479        Reviewed by Ryosuke Niwa.
67480
67481        This fixes a regression from r111925.
67482
67483        Test: fast/dom/insertBefore-refChild-crash.html
67484
67485        * dom/ContainerNode.cpp:
67486        (WebCore::ContainerNode::insertBefore): Move the 'next' RefPtr above the call to
67487        collectChildrenAndRemoveFromOldParent and rename refChildPreviousSibling
67488        to 'prev' (matching appendChild and replaceChild).
67489
674902012-03-27  Ryosuke Niwa  <rniwa@webkit.org>
67491
67492        cssText should not generate literal 'initial' in shorthand properties
67493        https://bugs.webkit.org/show_bug.cgi?id=82364
67494
67495        Reviewed by Antti Koivisto.
67496
67497        Fixed the bug by treating initial value as if the value is not set.
67498        While this is incorrect for properties that inherits by default,
67499        it's strictly better than generating unparsable value as we do today.
67500
67501        The proper fix is for CSSInitialValue::cssText to fetch the respective
67502        default value from what's currently in CSSStyleSelector code but that requires
67503        a considerable amount of refactoring and work.
67504
67505        * css/StylePropertySet.cpp:
67506        (WebCore::StylePropertySet::getShorthandValue):
67507        (WebCore::StylePropertySet::getCommonValue):
67508
675092012-03-26  Adam Klein  <adamk@chromium.org>
67510
67511        Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
67512        https://bugs.webkit.org/show_bug.cgi?id=82256
67513
67514        Reviewed by Adam Barth.
67515
67516        This moves leakRef() calls out of generated code, centralizing them in
67517        V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take
67518        PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void'
67519        (which clearly can't be wrapped in a PassRefPtr).
67520
67521        Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior.
67522
67523        Relanding r112207 with setJSWrapperForDOMSVGElementInstance defined
67524        out-of-line to avoid SVG header dependencies.
67525
67526        * bindings/scripts/CodeGeneratorV8.pm:
67527        (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic.
67528        (GenerateNamedConstructorCallback): ditto.
67529        (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method
67530        instead of directly accessing the wrapper maps and calling set.
67531        (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function.
67532        (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction.
67533        * bindings/scripts/test/V8/V8Float64Array.cpp:
67534        (WebCore::V8Float64Array::wrapSlow):
67535        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
67536        (WebCore::V8TestActiveDOMObject::wrapSlow):
67537        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
67538        (WebCore::V8TestCustomNamedGetter::wrapSlow):
67539        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
67540        (WebCore::V8TestEventConstructor::wrapSlow):
67541        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
67542        (WebCore::V8TestEventTarget::wrapSlow):
67543        * bindings/scripts/test/V8/V8TestInterface.cpp:
67544        (WebCore::V8TestInterface::wrapSlow):
67545        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
67546        (WebCore::V8TestMediaQueryListListener::wrapSlow):
67547        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
67548        (WebCore::V8TestNamedConstructor::wrapSlow):
67549        * bindings/scripts/test/V8/V8TestObj.cpp:
67550        (WebCore::V8TestObj::wrapSlow):
67551        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
67552        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
67553        * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it.
67554        (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances.
67555        Not inline to avoid header dependency on SVGElementInstance.h.
67556        * bindings/v8/V8DOMWrapper.h:
67557        (V8DOMWrapper):
67558        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline.
67559        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto.
67560        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods;
67561        this one handles non-active Nodes.
67562        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse
67563        DOMNode method, now handles only active Nodes.
67564
675652012-03-27  Levi Weintraub  <leviw@chromium.org>
67566
67567        Correct LayoutUnit usage in virtual function layoutBlock in RenderFlexibleBox
67568        https://bugs.webkit.org/show_bug.cgi?id=82344
67569
67570        Reviewed by Eric Seidel.
67571
67572        Correcting the signature of RenderFlexibleBox::layoutBlock to use a LayoutUnit
67573        for the page height, and avoiding assigning the renderer's size to an IntSize.
67574
67575        No new tests. No change in behavior.
67576
67577        * rendering/RenderFlexibleBox.cpp:
67578        (WebCore::RenderFlexibleBox::layoutBlock):
67579        * rendering/RenderFlexibleBox.h:
67580        (RenderFlexibleBox):
67581
675822012-03-27  Timothy Hatcher  <timothy@apple.com>
67583
67584        Make WebKit properly load a staged framework when soft linking.
67585
67586        https://webkit.org/b/82371
67587        rdar://problem/11125989
67588
67589        Reviewed by Dan Bernstein.
67590
67591        * platform/mac/SoftLinking.h: Replaced SOFT_LINK_PRIVATE_FRAMEWORK_OPTIONAL with
67592        SOFT_LINK_STAGED_FRAMEWORK_OPTIONAL and made it use the StagedFrameworks path
67593        if the first dlopen failed.
67594
675952012-03-26  Dirk Schulze  <krit@webkit.org>
67596
67597        Use enumeration for CSS parser mode
67598        https://bugs.webkit.org/show_bug.cgi?id=82056
67599
67600        Reviewed by Antti Koivisto.
67601
67602        Introduce a new CSSParserMode enum to differ between strict / quirks and SVG presentation
67603        attribute parsing modes.
67604        The followup patch will make use of the enum in all other classes.
67605        After that it will be easier possible to reuse the CSS parser in SVG as much as possible and
67606        introduce SVG specific functionality.
67607
67608        No new tests. No change on functionality yet. This is just a refactoring to use the enumeration.
67609
67610        * GNUmakefile.list.am: Added new file CSSParserMode.h with the new enum, which can be used by any caller of CSSParser, CSSStyleSheet and others.
67611        * Target.pri: Ditto.
67612        * WebCore.gypi: Ditto.
67613        * WebCore.vcproj/WebCore.vcproj: Ditto.
67614        * WebCore.xcodeproj/project.pbxproj: Ditto.
67615        * css/CSSGrammar.y: Make use of the new enumeration.
67616        * css/CSSParser.cpp: Replaced boolean by enumeration. No change of functionality at this point of time.
67617        (WebCore::CSSParser::inStrictMode): Helper function.
67618        (WebCore):
67619        (WebCore::CSSParser::inQuirksMode): Helper function.
67620        (WebCore::CSSParser::CSSParser):
67621        (WebCore::CSSParser::validUnit):
67622        (WebCore::CSSParser::checkForOrphanedUnits):
67623        (WebCore::CSSParser::parseValue):
67624        (WebCore::CSSParser::parseSizeParameter):
67625        (WebCore::CSSParser::parseBackgroundColor):
67626        (WebCore::CSSParser::parseFillPositionX):
67627        (WebCore::CSSParser::parseFillPositionY):
67628        (WebCore::CSSParser::parseFillPositionComponent):
67629        (WebCore::CSSParser::parseFillSize):
67630        (WebCore::CSSParser::parseAnimationDelay):
67631        (WebCore::CSSParser::parseAnimationDuration):
67632        (WebCore::CSSParser::parseAnimationIterationCount):
67633        (WebCore::CSSParser::parseTransformOriginShorthand):
67634        (WebCore::CSSParser::parseCubicBezierTimingFunctionValue):
67635        (WebCore::CSSParser::parseAnimationTimingFunction):
67636        (WebCore::CSSParser::parseGridTrackList):
67637        (WebCore::CSSParser::parseDashboardRegions):
67638        (WebCore::CSSParser::parseShape):
67639        (WebCore::CSSParser::parseWrapShapeRect):
67640        (WebCore::CSSParser::parseWrapShapeCircle):
67641        (WebCore::CSSParser::parseWrapShapeEllipse):
67642        (WebCore::CSSParser::parseWrapShapePolygon):
67643        (WebCore::CSSParser::parseFont):
67644        (WebCore::CSSParser::parseFontWeight):
67645        (WebCore::CSSParser::parseColorParameters):
67646        (WebCore::CSSParser::parseHSLParameters):
67647        (WebCore::CSSParser::parseColorFromValue):
67648        (WebCore::CSSParser::parseShadow):
67649        (WebCore::CSSParser::parseReflect):
67650        (WebCore::CSSParser::parseFlex):
67651        (WebCore::CSSParser::parseBorderImageSlice):
67652        (WebCore::CSSParser::parseBorderImageQuad):
67653        (WebCore::CSSParser::parseBorderRadius):
67654        (WebCore::CSSParser::parseAspectRatio):
67655        (WebCore::CSSParser::parseLinearGradient):
67656        (WebCore::CSSParser::parseRadialGradient):
67657        (WebCore::CSSParser::parseGradientColorStops):
67658        (WebCore::CSSParser::parseTransform):
67659        (WebCore::CSSParser::parseCustomFilter):
67660        (WebCore::CSSParser::parseBuiltinFilterArguments):
67661        (WebCore::CSSParser::parseTransformOrigin):
67662        (WebCore::CSSParser::createStyleRule):
67663        (WebCore::CSSParser::createFontFaceRule):
67664        (WebCore::CSSParser::createPageRule):
67665        (WebCore::CSSParser::createKeyframeRule):
67666        * css/CSSParser.h:
67667        (CSSParser):
67668        * css/CSSParserMode.h: Added. New enumeration CSSParserMode.
67669        * css/SVGCSSParser.cpp: Use new SVGAttributeMode CSS parsing mode.
67670        (WebCore::CSSParser::parseSVGValue):
67671        (WebCore::CSSParser::parseSVGStrokeDasharray):
67672
676732012-03-27  Nate Chapin  <japhet@chromium.org>
67674
67675        Don't manually set an identifier for main resource
67676        loads in FrameLoader. ResourceLoader::willSendRequest()
67677        will set an identifier for the request if one isn't found,
67678        so this code appears to be unnecessary duplication.
67679        https://bugs.webkit.org/show_bug.cgi?id=82248
67680
67681        Reviewed by Adam Barth.
67682
67683        No new tests, no functionality change intended.
67684
67685        * loader/DocumentLoader.cpp:
67686        (WebCore::DocumentLoader::startLoadingMainResource): Mark navigation start
67687            here, since it's conceptually part of starting the main resource load.
67688        * loader/DocumentLoader.h:
67689        * loader/FrameLoader.cpp:
67690        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm): Remove duplicate identifier
67691            logic, and move navigation timing call to startLoadingMainResource, since
67692            it fits better logically there.
67693        * loader/ResourceLoader.h: No callers of setIdentifier() remain, so delete it.
67694
676952012-03-27  Dirk Pranke  <dpranke@chromium.org>
67696
67697        Unreviewed, rolling out r112277.
67698        http://trac.webkit.org/changeset/112277
67699        https://bugs.webkit.org/show_bug.cgi?id=81985
67700
67701        possibly causing crashes?
67702
67703        * svg/SVGUseElement.cpp:
67704        (WebCore::SVGUseElement::insertedIntoDocument):
67705        (WebCore::SVGUseElement::svgAttributeChanged):
67706        (WebCore::SVGUseElement::willRecalcStyle):
67707        (WebCore::SVGUseElement::finishParsingChildren):
67708        * xml/XMLErrors.cpp:
67709        (WebCore::XMLErrors::insertErrorMessageBlock):
67710
677112012-03-27  Joseph Pecoraro  <pecoraro@apple.com>
67712
67713        <http://webkit.org/b/82362> Web Inspector: Provide private -[DOMNode inspect]
67714
67715        Reviewed by Timothy Hatcher.
67716
67717        No new tests, this is only an ObjC SPI.
67718
67719        * bindings/objc/DOM.mm:
67720        * bindings/objc/DOMPrivate.h:
67721        (-[DOMNode inspect]):
67722        Call through to InspectorController inspect for the node.
67723
67724        * inspector/InspectorDOMAgent.cpp:
67725        (WebCore::InspectorDOMAgent::handleMousePress):
67726        (WebCore::InspectorDOMAgent::inspect):
67727        Whenever we inspect an element, clear the node search.
67728        The frontend already takes this approach.
67729
677302012-03-27  Joe Mason  <jmason@rim.com>
67731
67732        [BlackBerry] fix confusing destruction sequence in LayerCompositingThread
67733        https://bugs.webkit.org/show_bug.cgi?id=81706
67734
67735        Reviewed by Rob Buis.
67736
67737        LayerCompositingThread has a destructor that does a synchronous
67738        dispatch to the compositing thread and then does the actual cleanup
67739        from a helper function. This is confusing.It should be the
67740        opposite: the helper function dispatches to the compositing thread,
67741        which calls delete.
67742
67743        No new tests since the existing animation tests will exercise this
67744        code.
67745
67746        * platform/graphics/blackberry/LayerCompositingThread.cpp:
67747        (WebCore::LayerCompositingThread::destroyOnCompositingThread):
67748        (WebCore):
67749        (WebCore::LayerCompositingThread::~LayerCompositingThread):
67750        * platform/graphics/blackberry/LayerCompositingThread.h:
67751        (LayerCompositingThread):
67752        (WTF):
67753        (WTF::::deref):
67754
677552012-03-27  Alexey Proskuryakov  <ap@apple.com>
67756
67757        [Mac] Stop using NSMapTable in FormDataStreamMac.mm
67758        https://bugs.webkit.org/show_bug.cgi?id=82358
67759
67760        Reviewed by Darin Adler.
67761
67762        * platform/network/mac/FormDataStreamMac.mm: Use WTF::HashMap, as we always do. All accesses
67763        are protected with a mutex anyway.
67764
677652012-03-27  Joe Thomas  <joethomas@motorola.com>
67766
67767        Implement vw/vh/vmin (viewport sizes) from CSS3 Values and Units
67768        https://bugs.webkit.org/show_bug.cgi?id=27160
67769
67770        Reviewed by Antti Koivisto.
67771
67772        vw/vh/vmin are implemented as primitive length units. Added the parsing logic for these new units.
67773        New Length types such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin are added for these length units
67774        and included the support for fetching the value of these relative units based on the current viewport size.
67775
67776        The specification related to this implementation is http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.
67777
67778        Tests: css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html
67779               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html
67780               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html
67781               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html
67782               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html
67783               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html
67784               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html
67785
67786        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Modified to support viewport relative Length types.
67787        (getAttributeSetForAccessibilityObject):
67788        * css/CSSComputedStyleDeclaration.cpp: Ditto.
67789        (WebCore::getPositionOffsetValue):
67790        (WebCore::getBorderRadiusCornerValues):
67791        (WebCore::getBorderRadiusCornerValue):
67792        (WebCore::getBorderRadiusShorthandValue):
67793        (WebCore::lineHeightFromStyle):
67794        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
67795        * css/CSSGrammar.y: Added vw/vh/vmin support.
67796        * css/CSSParser.cpp: Parsing of relative units and creation of CSSPrimitiveValue.
67797        (WebCore::CSSParser::validUnit): Added vw/vh/vmin to the valid units.
67798        (WebCore::CSSParser::createPrimitiveNumericValue): Added vw/vh/vmin as valid primitive units.
67799        (WebCore::unitFromString):
67800        (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitiveValue for vw/vh/vmin.
67801        (WebCore::CSSParser::detectNumberToken): Parsing the vw/vh/vmin tokens.
67802        * css/CSSPrimitiveValue.cpp:
67803        (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vw/vh/vmin.
67804        (WebCore::unitCategory): Ditto.
67805        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
67806        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Added support for vw/vh/vmin.
67807        (WebCore::CSSPrimitiveValue::customCssText): Ditto.
67808        (WebCore::CSSPrimitiveValue::viewportRelativeLength): Function to create the Length structure for the viewport-relative unit types.
67809        (WebCore):
67810        * css/CSSPrimitiveValue.h:
67811        (WebCore::CSSPrimitiveValue::isViewportRelativeLength): Checks whether the primitive value is ViewportRelative Lengths.
67812        (CSSPrimitiveValue):
67813        * css/CSSPrimitiveValue.idl: Added support for vw/vh/vmin.
67814        * css/CSSPrimitiveValueMappings.h:
67815        (WebCore::CSSPrimitiveValue::convertToLength): Ditto.
67816        * css/CSSStyleApplyProperty.cpp: Applying relative viewport length units to the specific CSS property.
67817        (WebCore::ApplyPropertyLength::applyValue):
67818        (WebCore::ApplyPropertyBorderRadius::applyValue):
67819        (WebCore::ApplyPropertyFontSize::applyValue):
67820        (WebCore::ApplyPropertyLineHeight::applyValue):
67821        (WebCore::ApplyPropertyVerticalAlign::applyValue):
67822        * css/CSSStyleSelector.cpp: Added support for viewport relative units.
67823        * css/LengthFunctions.cpp: Calcuation of length value based on the current viewport size.
67824        (WebCore::miminumValueForLength):
67825        (WebCore::valueForLength):
67826        (WebCore::floatValueForLength):
67827        * css/LengthFunctions.h: Added new RenderView argument.
67828        (WebCore):
67829        * dom/Document.cpp:
67830        (WebCore::Document::pageSizeAndMarginsInPixels): Modified to support viewport relative Length types.
67831        (WebCore::Document::viewportSize): New function to fetch the current viewport size.
67832        (WebCore):
67833        * dom/Document.h: Ditto.
67834        (Document):
67835        * html/HTMLAreaElement.cpp: Modified to support viewport relative Length types.
67836        (WebCore::HTMLAreaElement::getRegion):
67837        * platform/Length.h:
67838        (WebCore::Length::isViewportRelative): To check the Length is of type ViewportRelative.
67839        (WebCore::Length::viewportRelativeLength): To get the relative value.
67840        * rendering/RenderBR.cpp: Modified to support viewport relative Length types.
67841        (WebCore::RenderBR::lineHeight):
67842        * rendering/RenderBlock.cpp: Ditto.
67843        (WebCore::RenderBlock::textIndentOffset):
67844        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
67845        (WebCore::RenderBlock::lineHeight):
67846        * rendering/RenderBox.cpp: Ditto.
67847        (WebCore::RenderBox::reflectionOffset):
67848        (WebCore::RenderBox::paintBoxDecorations):
67849        (WebCore::RenderBox::clipRect):
67850        (WebCore::RenderBox::computeLogicalWidthInRegion):
67851        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
67852        (WebCore::RenderBox::computeInlineDirectionMargins):
67853        (WebCore::RenderBox::computeContentLogicalHeightUsing):
67854        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
67855        (WebCore::RenderBox::computeBlockDirectionMargins):
67856        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
67857        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
67858        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
67859        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
67860        * rendering/RenderBoxModelObject.cpp: Ditto.
67861        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
67862        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
67863        (WebCore::RenderBoxModelObject::paddingTop):
67864        (WebCore::RenderBoxModelObject::paddingBottom):
67865        (WebCore::RenderBoxModelObject::paddingLeft):
67866        (WebCore::RenderBoxModelObject::paddingRight):
67867        (WebCore::RenderBoxModelObject::paddingBefore):
67868        (WebCore::RenderBoxModelObject::paddingAfter):
67869        (WebCore::RenderBoxModelObject::paddingStart):
67870        (WebCore::RenderBoxModelObject::paddingEnd):
67871        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
67872        (WebCore::RenderBoxModelObject::calculateFillTileSize):
67873        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
67874        (WebCore::computeBorderImageSide):
67875        (WebCore::RenderBoxModelObject::paintNinePieceImage):
67876        (WebCore::RenderBoxModelObject::paintBorder):
67877        (WebCore::RenderBoxModelObject::paintBoxShadow):
67878        * rendering/RenderFlexibleBox.cpp: Ditto.
67879        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
67880        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
67881        (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
67882        * rendering/RenderInline.cpp: Ditto.
67883        (WebCore::computeMargin):
67884        (WebCore::RenderInline::lineHeight):
67885        * rendering/RenderMenuList.cpp: Ditto.
67886        (WebCore::RenderMenuList::updateOptionsWidth):
67887        * rendering/RenderObject.cpp: Ditto.
67888        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
67889        * rendering/RenderReplaced.cpp: Ditto.
67890        (WebCore::RenderReplaced::paint):
67891        * rendering/RenderScrollbarPart.cpp: Ditto.
67892        (WebCore::calcScrollbarThicknessUsing):
67893        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
67894        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
67895        * rendering/RenderTable.cpp: Ditto.
67896        (WebCore::RenderTable::computeLogicalWidth):
67897        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
67898        * rendering/RenderTableCell.cpp: Ditto.
67899        (WebCore::RenderTableCell::logicalHeightForRowSizing):
67900        * rendering/RenderTableSection.cpp: Ditto.
67901        (WebCore::RenderTableSection::calcRowLogicalHeight):
67902        * rendering/RenderText.h: Ditto.
67903        (WebCore::RenderText::marginLeft):
67904        (WebCore::RenderText::marginRight):
67905        * rendering/RenderThemeMac.mm: Ditto.
67906        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
67907        * rendering/RenderView.h:
67908        (WebCore::RenderView::viewportSize):
67909        * rendering/RenderWidget.cpp: Ditto.
67910        (WebCore::RenderWidget::paint):
67911        * rendering/RootInlineBox.cpp: Ditto.
67912        (WebCore::RootInlineBox::verticalPositionForBox):
67913        * rendering/style/RenderStyle.cpp: Ditto.
67914        (WebCore::calcRadiiFor):
67915        (WebCore::RenderStyle::getRoundedBorderFor):
67916        * rendering/style/RenderStyle.h: Ditto.
67917        * rendering/svg/RenderSVGRoot.cpp: Ditto.
67918        (WebCore::resolveLengthAttributeForSVG):
67919        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
67920        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
67921
679222012-03-27  Gao Chun  <chun.gao@intel.com>
67923
67924        Remove deprecated LowPass2FilterNode and HighPass2FilterNode
67925        https://bugs.webkit.org/show_bug.cgi?id=82296
67926
67927        Reviewed by Chris Rogers.
67928
67929        * CMakeLists.txt:
67930        * DerivedSources.make:
67931        * DerivedSources.pri:
67932        * GNUmakefile.list.am:
67933        * Modules/webaudio/AudioContext.cpp:
67934        * Modules/webaudio/AudioContext.h:
67935        (WebCore):
67936        (AudioContext):
67937        * Modules/webaudio/AudioContext.idl:
67938        * Modules/webaudio/AudioNode.h:
67939        * Modules/webaudio/BiquadFilterNode.cpp:
67940        (WebCore::BiquadFilterNode::BiquadFilterNode):
67941        * Modules/webaudio/BiquadProcessor.cpp:
67942        * Modules/webaudio/BiquadProcessor.h:
67943        * Modules/webaudio/HighPass2FilterNode.cpp: Removed.
67944        * Modules/webaudio/HighPass2FilterNode.h: Removed.
67945        * Modules/webaudio/HighPass2FilterNode.idl: Removed.
67946        * Modules/webaudio/LowPass2FilterNode.cpp: Removed.
67947        * Modules/webaudio/LowPass2FilterNode.h: Removed.
67948        * Modules/webaudio/LowPass2FilterNode.idl: Removed.
67949        * WebCore.gypi:
67950        * WebCore.xcodeproj/project.pbxproj:
67951
679522012-03-27  Sami Kyostila  <skyostil@chromium.org>
67953
67954        [chromium] Add TextureCopier for copying texture contents
67955        https://bugs.webkit.org/show_bug.cgi?id=80870
67956
67957        Reviewed by Stephen White.
67958
67959        This patch introduces a TextureCopier class whose job is to copy the
67960        contents from one GL texture to another using the most efficient means
67961        for the current GPU. This version uses render-to-texture to do the copy,
67962        but a path based on EXT_framebuffer_blit can be added later.
67963
67964        The class is intended to replace the use of image path operations such
67965        as glCopyTex{Sub}Image2D for duplicating texture contents. The reason is
67966        that such functions may not be very well optimized in some -- mainly
67967        mobile -- GPU drivers.
67968
67969        With this patch the new copier is used just for Canvas2D layer
67970        presentation, but another potential use is for WebGL layer presentation.
67971
67972        Test: webkit_unit_tests: TextureCopierTest
67973
67974        * WebCore.gypi:
67975        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
67976        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
67977        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
67978        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
67979        * platform/graphics/chromium/Canvas2DLayerChromium.h:
67980        (Canvas2DLayerChromium):
67981        * platform/graphics/chromium/LayerRendererChromium.cpp:
67982        (WebCore::LayerRendererChromium::initializeSharedObjects):
67983        * platform/graphics/chromium/LayerRendererChromium.h:
67984        (WebCore):
67985        (WebCore::LayerRendererChromium::textureCopier):
67986        (LayerRendererChromium):
67987        * platform/graphics/chromium/ShaderChromium.cpp:
67988        (WebCore::VertexShaderPosTexIdentity::getShaderString):
67989        (WebCore):
67990        (WebCore::FragmentShaderRGBATexCopy::getShaderString):
67991        * platform/graphics/chromium/ShaderChromium.h:
67992        (VertexShaderPosTexIdentity):
67993        (WebCore::VertexShaderPosTexIdentity::init):
67994        (WebCore):
67995        (FragmentShaderRGBATexCopy):
67996        * platform/graphics/chromium/TextureCopier.cpp: Added.
67997        (WebCore):
67998        (WebCore::AcceleratedTextureCopier::AcceleratedTextureCopier):
67999        (WebCore::AcceleratedTextureCopier::~AcceleratedTextureCopier):
68000        (WebCore::AcceleratedTextureCopier::copyTexture):
68001        * platform/graphics/chromium/TextureCopier.h: Added.
68002        (WebCore):
68003        (TextureCopier):
68004        (WebCore::TextureCopier::~TextureCopier):
68005        (AcceleratedTextureCopier):
68006        (WebCore::AcceleratedTextureCopier::create):
68007        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
68008        (WebCore::CCSingleThreadProxy::doCommit):
68009        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
68010        (WebCore::CCTextureUpdater::CCTextureUpdater):
68011        * platform/graphics/chromium/cc/CCTextureUpdater.h:
68012        (WebCore):
68013        (CCTextureUpdater):
68014        (WebCore::CCTextureUpdater::copier):
68015        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
68016        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
68017
680182012-03-27  Levi Weintraub  <leviw@chromium.org>
68019
68020        Correct SVG paint functions that are still using IntPoints
68021        https://bugs.webkit.org/show_bug.cgi?id=82343
68022
68023        Reviewed by Eric Seidel.
68024
68025        Two small corrections to SVG paint functions that should use LayoutPoint instead
68026        of IntPoint.
68027
68028        No new tests. No change in behavior.
68029
68030        * rendering/svg/RenderSVGShape.cpp:
68031        (WebCore::RenderSVGShape::paint):
68032        * rendering/svg/RenderSVGText.cpp:
68033        (WebCore::RenderSVGText::paint):
68034
680352012-03-27  Zalan Bujtas  <zbujtas@gmail.com>
68036
68037        Frame flattening: childframe in FrameView::layout() needs protector.
68038        https://bugs.webkit.org/show_bug.cgi?id=82345
68039
68040        Reviewed by Kenneth Rohde Christiansen.
68041
68042        RefPtr<FrameView> protector(this) is supposed to protect the current frameview in
68043        FrameView::layout() from being destroyed by recalcStyle().
68044        However, when frame flattening is on and a child frame is re-starting layout from
68045        the topmost parent, the protection is missing and parent's recalcStyle()
68046        can destroy the child frame.
68047        Moving the protector before the layout re-starting is initiated makes the child frame
68048        safe.
68049
68050        No new tests. Unable to create a test case, where this scenario is reproducible.
68051
68052        * page/FrameView.cpp:
68053        (WebCore::FrameView::layout):
68054
680552012-03-27  Antti Koivisto  <antti@apple.com>
68056
68057        Construct CSSCharsetRule on CSSOM API access only 
68058        https://bugs.webkit.org/show_bug.cgi?id=82332
68059
68060        Reviewed by Andreas Kling.
68061
68062        Charset is just a string. There is usually no need to construct CSSCharsetRule at all.
68063        
68064        - Make CSS parser to return encoding string instead of CSSCharsetRule object. This
68065          string is used for constructing CSSCharsetRule if it is needed (and nothing else,
68066          @charset has no effect after string decoding).
68067        - Remove internal interface for adding and removing rules. It has no clients.
68068        
68069        * css/CSSGrammar.y:
68070        * css/CSSParser.cpp:
68071        (WebCore):
68072        * css/CSSParser.h:
68073        * css/CSSStyleSelector.cpp:
68074        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
68075        * css/CSSStyleSheet.cpp:
68076        (WebCore::CSSStyleSheet::~CSSStyleSheet):
68077        (WebCore::CSSStyleSheet::parserAppendRule):
68078        (WebCore::CSSStyleSheet::ensureCharsetRule):
68079        (WebCore):
68080        (WebCore::CSSStyleSheet::length):
68081        (WebCore::CSSStyleSheet::item):
68082        (WebCore::CSSStyleSheet::clearCharsetRule):
68083        (WebCore::CSSStyleSheet::clearRules):
68084        (WebCore::CSSStyleSheet::parserSetEncodingFromCharsetRule):
68085        (WebCore::CSSStyleSheet::rules):
68086        (WebCore::CSSStyleSheet::insertRule):
68087        (WebCore::CSSStyleSheet::addRule):
68088        (WebCore::CSSStyleSheet::deleteRule):
68089        * css/CSSStyleSheet.h:
68090        (WebCore):
68091        (CSSStyleSheet):
68092        (WebCore::CSSStyleSheet::ruleVector):
68093        (WebCore::CSSStyleSheet::hasCharsetRule):
68094        * inspector/InspectorStyleSheet.cpp:
68095        (WebCore::InspectorStyleSheet::reparseStyleSheet):
68096
680972012-03-27  Stephen White  <senorblanco@chromium.org>
68098
68099        [chromium] Fix filter context creation to be more conservative.
68100        https://bugs.webkit.org/show_bug.cgi?id=82349
68101
68102        Reviewed by James Robinson.
68103
68104        Covered by webkit_unit_tests, and css3/filters layout tests.
68105
68106        * platform/graphics/chromium/LayerChromium.cpp:
68107        (WebCore::LayerChromium::setFilters):
68108        Only request a filter context if the filter lists is non-empty.
68109        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
68110        (WebCore::CCLayerTreeHost::setNeedsFilterContext):
68111        Add a bool param, so tests can cancel a request for filter contexts.
68112
681132012-03-27  Stephen Chenney  <schenney@chromium.org>
68114
68115        <svg:use> elements in the parser can create elements not marked as created by the parser
68116        https://bugs.webkit.org/show_bug.cgi?id=81985
68117
68118        Reviewed by Adam Barth.
68119
68120        The SVGUseElement was creating its shadow tree immediately upon
68121        demand. This resulted in nodes being created that were not marked as
68122        "createdByParser", even during parsing. As it happens, there is
68123        already code in there to track "createdByParser" in the SVGUseElement,
68124        it was just being ignored all the time. This may even have been
68125        inefficient. Now we delay creating the shadow dom tree until children
68126        are finished, which is the standard time to handle the createdByParser
68127        flag.
68128
68129        I also verified that other SVG classes that derived from core DOM
68130        classes that use the createdByParser flag do correctly pass this flag
68131        on.
68132
68133        No new tests as this is covered by existing tests and does not have new behavior.
68134
68135        * svg/SVGUseElement.cpp:
68136        (WebCore::SVGUseElement::insertedIntoDocument):
68137        (WebCore::SVGUseElement::svgAttributeChanged):
68138        (WebCore::SVGUseElement::willRecalcStyle):
68139        (WebCore::SVGUseElement::finishParsingChildren):
68140        * xml/XMLErrors.cpp:
68141        (WebCore::XMLErrors::insertErrorMessageBlock):
68142
681432012-03-27  Ming Xie  <mxie@rim.com>
68144
68145        [BlackBerry] Disable DisallowCType.h usage
68146        https://bugs.webkit.org/show_bug.cgi?id=82211
68147
68148        Reviewed by Rob Buis.
68149
68150        Build fix: QNX port does use ctype.h, so we should not
68151        include <wtf/DisallowCType.h> in WebCore/config.h
68152
68153        No new tests - Build Fix
68154
68155        * config.h:
68156
681572012-03-27  Hao Zheng  <zhenghao@chromium.org>
68158
68159        Change default position attribute of media control panel to relative for Android.
68160        https://bugs.webkit.org/show_bug.cgi?id=82303
68161
68162        Reviewed by Eric Carlson.
68163
68164        Follow up https://bugs.webkit.org/show_bug.cgi?id=79746 .
68165
68166        * css/mediaControlsChromiumAndroid.css:
68167        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
68168
681692012-03-27  Alexei Filippov  <alexeif@chromium.org>
68170
68171        Web Inspector: Speed up snapshot parsing.
68172        https://bugs.webkit.org/show_bug.cgi?id=82325
68173
68174        Replacing the iterators with raw nodes/edges access speeds up
68175        some phases phasses up to 10 times, taking down the whole init
68176        time to less than 6 sec.
68177
68178        Reviewed by Yury Semikhatsky.
68179
68180        * inspector/front-end/HeapSnapshot.js:
68181        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
68182        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
68183        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
68184
681852012-03-27  Antti Koivisto  <antti@apple.com>
68186
68187        Assertion failure in acid2.
68188
68189        Rubber-stamped by Andreas Kling.
68190
68191        Remove assert added in http://trac.webkit.org/changeset/112258. It seems insertedInto/removedFromDocument
68192        don't always pair.
68193
68194        * svg/SVGDocumentExtensions.cpp:
68195        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
68196
681972012-03-27  Yury Semikhatsky  <yurys@chromium.org>
68198
68199        Web Inspector: simplify heap profiler front-end
68200        https://bugs.webkit.org/show_bug.cgi?id=82338
68201
68202        Simplify constructors of WebInspector.HeapSnapshotArraySlice and
68203        WebInspector.HeapSnapshotEdgesProvider.
68204
68205        Reviewed by Pavel Feldman.
68206
68207        * inspector/front-end/HeapSnapshot.js:
68208        (WebInspector.HeapSnapshotArraySlice):
68209        (WebInspector.HeapSnapshotArraySlice.prototype.item):
68210        (WebInspector.HeapSnapshotArraySlice.prototype.slice):
68211        (WebInspector.HeapSnapshotNode.prototype.get rawEdges):
68212        (WebInspector.HeapSnapshot.prototype._retainersForNode):
68213        (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
68214        (WebInspector.HeapSnapshot.prototype.createEdgesProvider):
68215        (WebInspector.HeapSnapshotEdgesProvider):
68216
682172012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
68218
68219        Web Inspector: Tabbed pane should set focus on its contents on tab click.
68220        https://bugs.webkit.org/show_bug.cgi?id=82323
68221
68222        Reviewed by Pavel Feldman.
68223
68224        Otherwise selected tab does not have focus.
68225        Also added tabIndex on tabElements to prevent pasting on closing middle click.
68226
68227        * inspector/front-end/TabbedPane.js:
68228        (WebInspector.TabbedPane):
68229        (WebInspector.TabbedPane.prototype.focus):
68230        (WebInspector.TabbedPane.prototype.selectTab):
68231        (WebInspector.TabbedPaneTab.prototype._createTabElement):
68232        (WebInspector.TabbedPaneTab.prototype._tabClicked):
68233
682342012-03-27  Pavel Podivilov  <podivilov@chromium.org>
68235
68236        Web Inspector: dispatch breakpoint-added and breakpoint-removed events on UISourceCode.
68237        https://bugs.webkit.org/show_bug.cgi?id=82318
68238
68239        Reviewed by Vsevolod Vlasov.
68240
68241        Breakpoint-added and breakpoint-removed events are always related to specific UISourceCode.
68242        See bug 82224 for more details.
68243
68244        * inspector/front-end/BreakpointManager.js:
68245        (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
68246        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
68247        * inspector/front-end/DebuggerPresentationModel.js:
68248        (WebInspector.DebuggerPresentationModel):
68249        (WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
68250        (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
68251        * inspector/front-end/ScriptsPanel.js:
68252        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
68253        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
68254        (WebInspector.ScriptsPanel.prototype._addBreakpointListeners):
68255        (WebInspector.ScriptsPanel.prototype._removeBreakpointListeners):
68256        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
68257        * inspector/front-end/UISourceCode.js:
68258
682592012-03-27  Jason Liu  <jason.liu@torchmobile.com.cn>
68260
68261        [BlackBerry]Cleanup WTF string in platform/network/blackberry
68262        https://bugs.webkit.org/show_bug.cgi?id=82005
68263
68264        Reviewed by Rob Buis.
68265
68266        No new tests. Just replace WTF::String with String.
68267
68268        * platform/network/blackberry/NetworkJob.cpp:
68269        (WebCore::NetworkJob::handleNotifyDataReceived):
68270
682712012-03-27  Alexander Pavlov  <apavlov@chromium.org>
68272
68273        Web Inspector: Enable "number" parameters in the web inspector protocol methods
68274        https://bugs.webkit.org/show_bug.cgi?id=82334
68275
68276        The generated protocol dispatcher does not understand protocol method parameters of type "number"
68277        (mapped to "double" in the native code.)
68278
68279        Reviewed by Vsevolod Vlasov.
68280
68281        * inspector/CodeGeneratorInspector.py:
68282        (RawTypes.Number.get_getter_name):
68283        (RawTypes.Number.get_c_initializer):
68284        (RawTypes.Number.get_js_bind_type):
68285        (RawTypes.Number.get_validate_method_params.ValidateMethodParams):
68286        (RawTypes.Number.get_validate_method_params):
68287
682882012-03-27  Alexei Filippov  <alexeif@chromium.org>
68289
68290        Web Inspector: Fix missing objects in the dominators view.
68291        https://bugs.webkit.org/show_bug.cgi?id=82194
68292
68293        Due to the nature of dominators tree it is not possible to hide internal
68294        objects there because they may happen to contain user objects that can't
68295        be hidden.
68296        Besides that it fixes a small bug in HeapSnapshotArraySlice.slice
68297        function.
68298
68299        Reviewed by Yury Semikhatsky.
68300
68301        * inspector/front-end/DetailedHeapshotGridNodes.js:
68302        (WebInspector.HeapSnapshotDominatorObjectNode.prototype._createProvider):
68303        * inspector/front-end/HeapSnapshot.js:
68304        (WebInspector.HeapSnapshotArraySlice.prototype.slice):
68305
683062012-03-27  Antti Koivisto  <antti@apple.com>
68307
68308        Remove Document::mappedElementSheet() 
68309        https://bugs.webkit.org/show_bug.cgi?id=82242
68310
68311        Reviewed by Andreas Kling and Nikolas Zimmermann.
68312
68313        The only thing this is used for anymore is SVGFontFaceElement. That can be handled without
68314        the confusing extra stylesheet.
68315
68316        * css/CSSStyleSelector.cpp:
68317        (WebCore::CSSStyleSelector::CSSStyleSelector):
68318        * css/CSSStyleSelector.h:
68319        (CSSStyleSelector):
68320        
68321            - Add font face rules from registered SVGFontFaceElements.
68322            - Simplify the constructor signature. Stylesheets are part of the document.
68323            
68324        * dom/Document.cpp:
68325        (WebCore::Document::~Document):
68326        (WebCore::Document::createStyleSelector):
68327        (WebCore):
68328        (WebCore::Document::updateBaseURL):
68329        * dom/Document.h:
68330        (WebCore):
68331        (WebCore::Document::documentUserSheets):
68332        (Document):
68333
68334            - Remove mappedElementSheet        
68335            - Adapt to the CSSStyleSelector constructor signature changes.
68336
68337        * svg/SVGDocumentExtensions.cpp:
68338        (WebCore::SVGDocumentExtensions::svgFontFaceElements):
68339        (WebCore):
68340        (WebCore::SVGDocumentExtensions::registerSVGFontFaceElement):
68341        (WebCore::SVGDocumentExtensions::unregisterSVGFontFaceElement):
68342        * svg/SVGDocumentExtensions.h:
68343        (WebCore):
68344        (SVGDocumentExtensions):
68345        
68346            - Add map for SVGFontFaceElements
68347
68348        * svg/SVGFontFaceElement.cpp:
68349        (WebCore::SVGFontFaceElement::insertedIntoDocument):
68350        (WebCore::SVGFontFaceElement::removedFromDocument):
68351        (WebCore):
68352        * svg/SVGFontFaceElement.h:
68353        (SVGFontFaceElement):
68354        (WebCore::SVGFontFaceElement::fontFaceRule):
68355        
68356            - Switch to updating svgFontFaceElements map.
68357            - Use elementSheet as the parent sheet (nothing is ever added to the elementSheet, it is used for
68358              resolving relative URLs only).
68359
683602012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
68361
68362        Web Inspector: startEditing should remove tabIndex attribute from the element if it was not set before.
68363        https://bugs.webkit.org/show_bug.cgi?id=82322
68364
68365        Reviewed by Pavel Feldman.
68366
68367        This patch removes tabIndex attribute from the element after editing if it was not present before.
68368        Otherwise tabIndex becomes set unexpectedly after exiting edit mode.
68369
68370        * inspector/front-end/UIUtils.js:
68371        (WebInspector.startEditing.cleanUpAfterEditing):
68372
683732012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
68374
68375        Web Inspector: Tree outline should not start search on key press if it is being edited.
68376        https://bugs.webkit.org/show_bug.cgi?id=82327
68377
68378        Reviewed by Pavel Feldman.
68379
68380        This is needed for snippet renaming support.
68381
68382        * inspector/front-end/treeoutline.js:
68383        (TreeOutline):
68384        (TreeOutline.prototype._treeKeyPress):
68385
683862012-03-27  Levi Weintraub  <leviw@chromium.org>
68387
68388        Revert RenderApplet::intrinsicSize to integers
68389        https://bugs.webkit.org/show_bug.cgi?id=82206
68390
68391        Reviewed by Eric Seidel.
68392
68393        Intrinsic sizes originate either outside of WebCore, or from their initial values,
68394        which are always integers. Reverting RenderApplet::intrinsicSize to integers, the
68395        last spot improperly using LayoutUnits
68396
68397        No new tests. No change in behavior.
68398
68399        * rendering/RenderApplet.cpp:
68400        (WebCore::RenderApplet::intrinsicSize):
68401        * rendering/RenderApplet.h:
68402        (RenderApplet):
68403
68404
684052012-03-27  Alexis Menard  <alexis.menard@openbossa.org>
68406
68407        Increase code sharing between CSSComputedStyleDeclaration and CSSPropertyLonghand.
68408        https://bugs.webkit.org/show_bug.cgi?id=82261
68409
68410        Reviewed by Ryosuke Niwa.
68411
68412        Use longhands declaration from CSSPropertyLonghand in CSSComputedStyleDeclaration to avoid
68413        code duplication.
68414
68415        No new tests : refactoring only, we shouldn't have any behavior difference.
68416
68417        * css/CSSComputedStyleDeclaration.cpp:
68418        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
68419        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
68420        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
68421        * css/CSSComputedStyleDeclaration.h:
68422        (WebCore):
68423        (CSSComputedStyleDeclaration):
68424        * css/CSSPropertyLonghand.cpp:
68425        (WebCore::outlineLonghand):
68426        Re-order to match the spec default order and also remove outline-offset as it is not part
68427        of the shorthand (http://www.w3.org/TR/css3-ui/#outline). Luckily this was cover by a layout test.
68428
684292012-03-27  Vsevolod Vlasov  <vsevik@chromium.org>
68430
68431        Web Inspector: Editable TextViewer should show cursor when it is focused.
68432        https://bugs.webkit.org/show_bug.cgi?id=82320
68433
68434        Reviewed by Pavel Feldman.
68435
68436        TextViewer now focuses editable inner container unless read-only flag is set.
68437
68438        * inspector/front-end/TextViewer.js:
68439        (WebInspector.TextViewer.prototype.focus):
68440        (WebInspector.TextEditorMainPanel):
68441        (WebInspector.TextEditorMainPanel.prototype._handleElementFocus):
68442        (WebInspector.TextEditorMainPanel.prototype.focus):
68443
684442012-03-26  Levi Weintraub  <leviw@chromium.org>
68445
68446        Unreviewed. Removing change markers from ChangeLog.
68447
684482012-03-26  Levi Weintraub  <leviw@chromium.org>
68449
68450        Convert RenderSelectionInfo::rect to LayoutUnits
68451        https://bugs.webkit.org/show_bug.cgi?id=82213
68452
68453        Reviewed by Eric Seidel.
68454
68455        RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates local to
68456        renderers should be stored in LayoutUnits.
68457
68458        No new tests. No change in behavior.
68459
68460        * rendering/RenderSelectionInfo.h:
68461        (WebCore::RenderSelectionInfo::rect):
68462        (RenderSelectionInfo):
68463
684642012-03-26  Levi Weintraub  <leviw@chromium.org>
68465
68466        Convert RenderSelectionInfo::rect to LayoutUnits
68467        https://bugs.webkit.org/show_bug.cgi?id=82213
68468
68469        Reviewed by Eric Seidel.
68470
68471        RenderSelectionInfoBase stores a cached repaint rect in local coordinates. Coordinates
68472        local to renderers should be stored in LayoutUnits as described in
68473        http://trac.webkit.org/wiki/LayoutUnit
68474
68475        No new tests. No change in behavior.
68476
68477        * rendering/RenderSelectionInfo.h:
68478        (WebCore::RenderSelectionInfo::rect):
68479        (RenderSelectionInfo):
68480
684812012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
68482
68483        Enable animVal support for SVGAnimatedRect
68484        https://bugs.webkit.org/show_bug.cgi?id=82317
68485
68486        Reviewed by Zoltan Herczeg.
68487
68488        Enable animVal support for SVGAnimatedRect. Very simple now that everything is prepared.
68489        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedRectAnimator.
68490
68491        Extended existing tests to cover this.
68492
68493        * svg/SVGAnimatedRect.cpp:
68494        (WebCore::SVGAnimatedRectAnimator::startAnimValAnimation):
68495        (WebCore::SVGAnimatedRectAnimator::stopAnimValAnimation):
68496        (WebCore::SVGAnimatedRectAnimator::resetAnimValToBaseVal):
68497        (WebCore::SVGAnimatedRectAnimator::animValWillChange):
68498        (WebCore::SVGAnimatedRectAnimator::animValDidChange):
68499        * svg/SVGAnimatedRect.h:
68500        (SVGAnimatedRectAnimator):
68501        * svg/SVGAnimatedType.cpp:
68502        (WebCore::SVGAnimatedType::supportsAnimVal):
68503
685042012-03-27  Sheriff Bot  <webkit.review.bot@gmail.com>
68505
68506        Unreviewed, rolling out r112201.
68507        http://trac.webkit.org/changeset/112201
68508        https://bugs.webkit.org/show_bug.cgi?id=82302
68509
68510        Breaks chromium's WebPageSerializerTest.HTMLNodes test
68511        (Requested by pfeldman on #webkit).
68512
68513        * loader/cache/CachedCSSStyleSheet.cpp:
68514        (WebCore::CachedCSSStyleSheet::error):
68515        (WebCore):
68516        * loader/cache/CachedCSSStyleSheet.h:
68517        (CachedCSSStyleSheet):
68518        * loader/cache/CachedFont.cpp:
68519        (WebCore):
68520        (WebCore::CachedFont::error):
68521        * loader/cache/CachedFont.h:
68522        (CachedFont):
68523        * loader/cache/CachedImage.cpp:
68524        (WebCore::CachedImage::error):
68525        * loader/cache/CachedResource.h:
68526        (CachedResource):
68527        * loader/cache/CachedScript.cpp:
68528        (WebCore::CachedScript::error):
68529        (WebCore):
68530        * loader/cache/CachedScript.h:
68531        (CachedScript):
68532        * loader/cache/CachedXSLStyleSheet.cpp:
68533        (WebCore::CachedXSLStyleSheet::error):
68534        (WebCore):
68535        * loader/cache/CachedXSLStyleSheet.h:
68536        (CachedXSLStyleSheet):
68537
685382012-03-27  Levi Weintraub  <leviw@chromium.org>
68539
68540        LayoutRepainter: Remove unused constructor parameter and update to LayoutUnits
68541        https://bugs.webkit.org/show_bug.cgi?id=82185
68542
68543        Reviewed by Eric Seidel.
68544
68545        Removing an optional parameter for old bounds in LayoutRepainter's constructor that
68546        is no longer used. The old bounds are instead always gleaned from the renderer's
68547        clippedOverflowRectForRepaint.
68548
68549        The renderer's bounds and outline rect also are stored in LayoutUnits to properly
68550        detect sub-pixel changes during layout. Eventually, we'll pixel snap these values
68551        when telling the embedder to invalidate. Adding a comment to that effect.
68552
68553        No new tests. No change in behavior.
68554
68555        * rendering/LayoutRepainter.cpp:
68556        (WebCore::LayoutRepainter::LayoutRepainter):
68557        * rendering/LayoutRepainter.h:
68558        (LayoutRepainter):
68559
685602012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
68561
68562        Enable animVal support for SVGAnimatedString
68563        https://bugs.webkit.org/show_bug.cgi?id=82316
68564
68565        Reviewed by Zoltan Herczeg.
68566
68567        Enable animVal support for SVGAnimatedString. Very simple now that everything is prepared.
68568        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedStringAnimator.
68569
68570        Test: svg/animations/svgstring-animation-1.html
68571
68572        * svg/SVGAnimatedString.cpp:
68573        (WebCore::SVGAnimatedStringAnimator::startAnimValAnimation):
68574        (WebCore::SVGAnimatedStringAnimator::stopAnimValAnimation):
68575        (WebCore::SVGAnimatedStringAnimator::resetAnimValToBaseVal):
68576        (WebCore::SVGAnimatedStringAnimator::animValWillChange):
68577        (WebCore::SVGAnimatedStringAnimator::animValDidChange):
68578        * svg/SVGAnimatedString.h:
68579        (SVGAnimatedStringAnimator):
68580        * svg/SVGAnimatedType.cpp:
68581        (WebCore::SVGAnimatedType::supportsAnimVal):
68582
685832012-03-27  Levi Weintraub  <leviw@chromium.org>
68584
68585        Update usage of LayoutUnits in RenderListMarker
68586        https://bugs.webkit.org/show_bug.cgi?id=81921
68587
68588        Reviewed by Eric Seidel.
68589
68590        Implementing proper pixel snapping in list marker painting, and correcting usage of integers
68591        for local coordinates/margins that should be sub-pixel.
68592
68593        No new tests. No change in behavior.
68594
68595        * rendering/RenderListMarker.cpp:
68596        (WebCore::RenderListMarker::localSelectionRect): Changed to LayoutUnits since this represents
68597        a rect in local coordinates.
68598        (WebCore::RenderListMarker::paint): Doing proper pixel snapping, and using integers for
68599        results from text measurement.
68600        (WebCore::RenderListMarker::computePreferredLogicalWidths): Using integers for results
68601        from text measurement.
68602        (WebCore::RenderListMarker::updateMargins): Fixing to be LayoutUnits.
68603        * rendering/RenderListMarker.h:
68604        (RenderListMarker):
68605
686062012-03-27  Levi Weintraub  <leviw@chromium.org>
68607
68608        Revert linesBoundingBox to integers
68609        https://bugs.webkit.org/show_bug.cgi?id=82182
68610
68611        Reviewed by Eric Seidel.
68612
68613        LayoutRects are intended to be pixel snapped to determine the ultimate screen
68614        coordinates, but the Inline Box tree is laid out using floats, and pixel snapping
68615        the resulting box from linesBoundingBox would produce a potentially incorrect
68616        rectangle. Keeping this using enclosingIntRect retains the previous accuracy and
68617        prevents misuse.
68618
68619        No new tests. No change in behavior.
68620
68621        * rendering/RenderInline.cpp:
68622        (WebCore::RenderInline::linesBoundingBox):
68623        * rendering/RenderInline.h:
68624        (RenderInline):
68625        * rendering/RenderLayer.cpp:
68626        (WebCore::RenderLayer::updateLayerPosition):
68627        * rendering/RenderText.cpp:
68628        (WebCore::RenderText::linesBoundingBox):
68629        * rendering/svg/RenderSVGInlineText.cpp:
68630        (WebCore::RenderSVGInlineText::linesBoundingBox):
68631        * rendering/svg/RenderSVGInlineText.h:
68632        (RenderSVGInlineText):
68633
686342012-03-26  Pavel Podivilov  <podivilov@chromium.org>
68635
68636        Web Inspector: store UIBreakpoints on UISourceCode.
68637        https://bugs.webkit.org/show_bug.cgi?id=82214
68638
68639        This change will allow us to make breakpoint-added and breakpoint-removed events a part of UISourceCode interface.
68640        See bug 82224 for more details.
68641
68642        Reviewed by Vsevolod Vlasov.
68643
68644        * inspector/front-end/BreakpointManager.js:
68645        (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
68646        (WebInspector.BreakpointManager.prototype.setBreakpoint):
68647        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
68648        (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
68649        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
68650        (WebInspector.BreakpointManager.prototype.debuggerReset):
68651        * inspector/front-end/CompilerScriptMapping.js:
68652        (WebInspector.CompilerScriptMapping.prototype.addScript):
68653        * inspector/front-end/DebuggerPresentationModel.js:
68654        (WebInspector.DebuggerPresentationModel.prototype._updateBreakpointsAfterLiveEdit):
68655        (WebInspector.DebuggerPresentationModel.prototype.breakpointsForUISourceCode):
68656        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
68657        (WebInspector.UISourceCodeImpl):
68658        (WebInspector.UISourceCodeImpl.prototype.breakpoints):
68659        (WebInspector.UISourceCodeImpl.prototype.breakpointAdded):
68660        (WebInspector.UISourceCodeImpl.prototype.breakpointRemoved):
68661        * inspector/front-end/RawSourceCode.js:
68662        (WebInspector.RawSourceCode.prototype._createUISourceCode):
68663        * inspector/front-end/SnippetsModel.js:
68664        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
68665        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
68666        * inspector/front-end/UISourceCode.js:
68667        (WebInspector.UISourceCode.prototype.get domain):
68668        (WebInspector.UISourceCode.prototype.get folderName):
68669        (WebInspector.UISourceCode.prototype.get fileName):
68670        (WebInspector.UISourceCode.prototype.get displayName):
68671        (WebInspector.UISourceCode.prototype._parseURL):
68672        (WebInspector.UISourceCode.prototype._didRequestContent):
68673        (WebInspector.UISourceCode.prototype.breakpoints):
68674        * inspector/front-end/inspector.html:
68675
686762012-03-27  Nat Duca  <nduca@chromium.org>
68677
68678        [chromium] Fix crash with fling with tracing enabled
68679        https://bugs.webkit.org/show_bug.cgi?id=82306
68680
68681        The TRACE_EVENT_START instrumentation was deferencing a PassOwnPtr
68682        after it had been passed into another OwnPtr. This caused frequent
68683        crashes when tracing was enabled.
68684
68685        Reviewed by Adam Barth.
68686
68687        * platform/ActivePlatformGestureAnimation.cpp:
68688        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
68689        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
68690        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
68691
686922012-03-27  Carlos Garcia Campos  <cgarcia@igalia.com>
68693
68694        [SOUP] Implement missing methods in CookieJarSoup
68695        https://bugs.webkit.org/show_bug.cgi?id=82082
68696
68697        Reviewed by Martin Robinson.
68698
68699        * platform/network/soup/CookieJarSoup.cpp:
68700        (WebCore::defaultCookieJar): Return a global GRefPtr to store the
68701        default cookie jar.
68702        (WebCore::soupCookieJar): Return the current cookie jar or create
68703        a new one.
68704        (WebCore::setSoupCookieJar): Set the current cookie jar.
68705        (WebCore::setCookies): Fix coding style.
68706        (WebCore::cookiesForDocument): Helper function to get the list of
68707        cookies as a string.
68708        (WebCore::cookies): Use cookiesForDocument().
68709        (WebCore::cookieRequestHeaderFieldValue): Ditto.
68710        (WebCore::getRawCookies): Get the list of cookies for the given
68711        document and url.
68712        (WebCore::deleteCookie): Delete the given cookie.
68713        (WebCore::getHostnamesWithCookies): Use GOwnPtr.
68714        (WebCore::deleteCookiesForHostname): Use GOwnPtr and
68715        soup_cookie_domain_matches() instead of comparing the domain
68716        directly with the given hostname.
68717        (WebCore::deleteAllCookies): Use GOwnPtr.
68718        * platform/network/soup/CookieJarSoup.h:
68719        * platform/network/soup/GOwnPtrSoup.cpp:
68720        (WTF::SoupCookie): Add GOwnPtr template for SoupCookie.
68721        * platform/network/soup/GOwnPtrSoup.h:
68722        * platform/network/soup/ResourceHandleSoup.cpp:
68723        (WebCore::ensureSessionIsInitialized): Use soupCookieJar() instead
68724        of defaultCookieJar().
68725
687262012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
68727
68728        Enable animVal support for SVGAnimatedBoolean
68729        https://bugs.webkit.org/show_bug.cgi?id=82311
68730
68731        Reviewed by Antti Koivisto.
68732
68733        Enable animVal support for SVGAnimatedBoolean. Very simple now that everything is prepared.
68734        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedBooleanAnimator.
68735
68736        Extended existing tests to cover this.
68737
68738        * svg/SVGAnimatedBoolean.cpp:
68739        (WebCore::SVGAnimatedBooleanAnimator::startAnimValAnimation):
68740        (WebCore::SVGAnimatedBooleanAnimator::stopAnimValAnimation):
68741        (WebCore::SVGAnimatedBooleanAnimator::resetAnimValToBaseVal):
68742        (WebCore::SVGAnimatedBooleanAnimator::animValWillChange):
68743        (WebCore::SVGAnimatedBooleanAnimator::animValDidChange):
68744        * svg/SVGAnimatedBoolean.h:
68745        (SVGAnimatedBooleanAnimator):
68746        * svg/SVGAnimatedType.cpp:
68747        (WebCore::SVGAnimatedType::setValueAsString):
68748        (WebCore::SVGAnimatedType::supportsAnimVal):
68749
687502012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
68751
68752        <img style='width: 100%' src='foo.svg'> gets pixellated when stretched
68753        https://bugs.webkit.org/show_bug.cgi?id=81631
68754
68755        Reviewed by Antti Koivisto.
68756
68757        Final cleanup of RenderReplaced after the intrinsic size negotiation patch series from some weeks/months ago.
68758        Stop tracking whether a RenderReplaced has an intrinsic size or not with an extra-bool, instead assume each
68759        RenderReplaced derived class has an intrinsic size. If not, the class should override
68760        computeIntrinsicRatioInformation() for any custom logic - currently only done by RenderImage.
68761
68762        Remove all logic depending on m_hasIntrinsicSize from computeReplacedLogicalWidth/Height, which was used
68763        to support different sizing models depending on if the replaced element is a RenderImage or a RenderPart.
68764        Unify all of this in computeIntrinsicRatioInformation right in RenderReplaced. This allows to remove
68765        a hack from RenderImage::computeReplacedLogicalWidth(), which forced the synchroniziation of the intrinsicSize()
68766        before calling the base classes RenderReplaced::computeReplacedLogicalWidth().
68767        Now RenderImage just overrides the layout() method, calls RenderReplaced::layout() and then sets the container
68768        size of the image resources to [contentWidth(), contentHeight()] - reflecting the actual result of the layout.
68769        Furthermore this now allows us to unify CachedImage::imageSizeForRenderer() again for both SVG and non-SVG images.
68770
68771        Propagating the right container size to the image resource fixes the actual bug, that the SVGImage got pixellated.
68772        Adding new tests covering percentage width or height set on an <img> embedding an external SVG, no more pixelation.
68773
68774        Tests: svg/as-image/img-relative-height-expected.html
68775               svg/as-image/img-relative-height.html
68776               svg/as-image/img-relative-width-expected.html
68777               svg/as-image/img-relative-width.html
68778
68779        * loader/cache/CachedImage.cpp:
68780        (WebCore::CachedImage::imageSizeForRenderer):
68781        * rendering/RenderEmbeddedObject.cpp:
68782        (WebCore::RenderEmbeddedObject::RenderEmbeddedObject):
68783        * rendering/RenderImage.cpp:
68784        (WebCore::RenderImage::layout):
68785        (WebCore::RenderImage::computeIntrinsicRatioInformation):
68786        * rendering/RenderImage.h:
68787        (RenderImage):
68788        * rendering/RenderReplaced.cpp:
68789        (WebCore::RenderReplaced::RenderReplaced):
68790        (WebCore::rendererHasAspectRatio):
68791        (WebCore):
68792        (WebCore::RenderReplaced::computeIntrinsicRatioInformationForRenderBox):
68793        (WebCore::RenderReplaced::computeIntrinsicRatioInformation):
68794        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
68795        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
68796        * rendering/RenderReplaced.h:
68797        (WebCore::RenderReplaced::intrinsicSize):
68798        (RenderReplaced):
68799        (WebCore::RenderReplaced::setIntrinsicSize):
68800        * svg/graphics/SVGImage.cpp:
68801        (WebCore::SVGImage::setContainerSize):
68802        * svg/graphics/SVGImage.h:
68803        (WebCore::SVGImage::usesContainerSize):
68804
688052012-03-27  Ilya Tikhonovsky  <loislo@chromium.org>
68806
68807        Web Inspector: HeapSnapshot: speed-up distanceToWindow calculation.
68808        https://bugs.webkit.org/show_bug.cgi?id=82305
68809
68810        Reviewed by Yury Semikhatsky.
68811
68812        * inspector/front-end/HeapSnapshot.js:
68813        (WebInspector.HeapSnapshot.prototype._bfs):
68814
688152012-03-27  Nikolas Zimmermann  <nzimmermann@rim.com>
68816
68817        SVGAnimatedType should support SVGAnimatedIntegerOptionalInteger animation
68818        https://bugs.webkit.org/show_bug.cgi?id=67563
68819
68820        Reviewed by Dirk Schulze.
68821
68822        Add SVGAnimatedIntegerOptionalInteger type handling animation of pair<int, int> objects
68823        as used for the SVG properties 'filterRes' and 'order'. They're currently animated as
68824        SVGAnimatedNumberOptionalNumber - but that won't work for animVal support. Fix that
68825        and enable animVal support for SVGAnimatedInteger(OptionalInteger).
68826
68827        Use 'int' as datatype for SVGAnimatedInteger instead of 'long' for consistency, and
68828        move SVGAnimatedEnumeration from 'int' to 'unsigned short', to make them distinguishable.
68829
68830        Test: svg/animations/svginteger-animation-2.html
68831
68832        * CMakeLists.txt:
68833        * GNUmakefile.list.am:
68834        * Target.pri:
68835        * WebCore.gypi:
68836        * WebCore.vcproj/WebCore.vcproj:
68837        * WebCore.xcodeproj/project.pbxproj:
68838        * svg/SVGAllInOne.cpp:
68839        * svg/SVGAnimatedEnumeration.h:
68840        (WebCore):
68841        * svg/SVGAnimatedInteger.cpp:
68842        (WebCore::SVGAnimatedIntegerAnimator::startAnimValAnimation):
68843        (WebCore):
68844        (WebCore::SVGAnimatedIntegerAnimator::stopAnimValAnimation):
68845        (WebCore::SVGAnimatedIntegerAnimator::resetAnimValToBaseVal):
68846        (WebCore::SVGAnimatedIntegerAnimator::animValWillChange):
68847        (WebCore::SVGAnimatedIntegerAnimator::animValDidChange):
68848        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedInteger):
68849        (WebCore::SVGAnimatedIntegerAnimator::calculateAnimatedValue):
68850        * svg/SVGAnimatedInteger.h:
68851        (WebCore):
68852        (SVGAnimatedIntegerAnimator):
68853        * svg/SVGAnimatedIntegerOptionalInteger.cpp: Added.
68854        (WebCore):
68855        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::SVGAnimatedIntegerOptionalIntegerAnimator):
68856        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::constructFromString):
68857        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::startAnimValAnimation):
68858        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::stopAnimValAnimation):
68859        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::resetAnimValToBaseVal):
68860        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValWillChange):
68861        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::animValDidChange):
68862        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndToValues):
68863        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateFromAndByValues):
68864        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateAnimatedValue):
68865        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::calculateDistance):
68866        * svg/SVGAnimatedIntegerOptionalInteger.h: Copied from Source/WebCore/svg/SVGAnimatedInteger.h.
68867        (WebCore):
68868        (SVGAnimatedIntegerOptionalIntegerAnimator):
68869        (WebCore::SVGAnimatedIntegerOptionalIntegerAnimator::~SVGAnimatedIntegerOptionalIntegerAnimator):
68870        * svg/SVGAnimatedNumberOptionalNumber.cpp:
68871        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::calculateAnimatedValue):
68872        * svg/SVGAnimatedType.cpp:
68873        (WebCore::SVGAnimatedType::~SVGAnimatedType):
68874        (WebCore::SVGAnimatedType::createIntegerOptionalInteger):
68875        (WebCore):
68876        (WebCore::SVGAnimatedType::integerOptionalInteger):
68877        (WebCore::SVGAnimatedType::valueAsString):
68878        (WebCore::SVGAnimatedType::setValueAsString):
68879        (WebCore::SVGAnimatedType::supportsAnimVal):
68880        * svg/SVGAnimatedType.h:
68881        (SVGAnimatedType):
68882        * svg/SVGAnimatorFactory.h:
68883        (WebCore::SVGAnimatorFactory::create):
68884        * svg/SVGFilterElement.cpp:
68885        (WebCore::SVGFilterElement::setFilterRes):
68886        * svg/SVGFilterElement.h:
68887        (SVGFilterElement):
68888        * svg/SVGPathElement.cpp:
68889        (WebCore::SVGPathElement::getPathSegAtLength):
68890        * svg/SVGPathElement.h:
68891        (SVGPathElement):
68892        * svg/SVGPathParserFactory.cpp:
68893        (WebCore::SVGPathParserFactory::getSVGPathSegAtLengthFromSVGPathByteStream):
68894        * svg/SVGPathParserFactory.h:
68895        (SVGPathParserFactory):
68896        * svg/SVGPathTraversalStateBuilder.cpp:
68897        (WebCore::SVGPathTraversalStateBuilder::pathSegmentIndex):
68898        * svg/SVGPathTraversalStateBuilder.h:
68899        (SVGPathTraversalStateBuilder):
68900        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
68901        (WebCore::SVGAnimatedEnumerationPropertyTearOff::setBaseVal):
68902        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
68903        (WebCore::SVGAnimatedEnumerationPropertyTearOff::currentAnimatedValue):
68904        (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
68905        * svg/properties/SVGPropertyInfo.h:
68906        * svg/properties/SVGPropertyTraits.h:
68907
689082012-03-25  Nikolas Zimmermann  <nzimmermann@rim.com>
68909
68910        Enable animVal support for SVGAngle
68911        https://bugs.webkit.org/show_bug.cgi?id=82144
68912
68913        Reviewed by Rob Buis.
68914
68915        Enable animVal support for SVGAnimatedAngle. Very simple now that everything is prepared.
68916        All we have to do is add startAnimValAnimation/etc. methods to SVGAnimatedAngleAnimator.
68917
68918        Extended existing tests to cover this.
68919
68920        * svg/SVGAnimatedAngle.cpp:
68921        (WebCore::sharedSVGAngle):
68922        (WebCore::SVGAnimatedAngleAnimator::constructFromString):
68923        (WebCore::SVGAnimatedAngleAnimator::startAnimValAnimation):
68924        (WebCore::SVGAnimatedAngleAnimator::stopAnimValAnimation):
68925        (WebCore::SVGAnimatedAngleAnimator::resetAnimValToBaseVal):
68926        (WebCore::SVGAnimatedAngleAnimator::animValWillChange):
68927        (WebCore::SVGAnimatedAngleAnimator::animValDidChange):
68928        (WebCore::SVGAnimatedAngleAnimator::calculateDistance):
68929        * svg/SVGAnimatedAngle.h:
68930        (SVGAnimatedAngleAnimator):
68931        * svg/SVGAnimatedType.cpp:
68932        (WebCore::SVGAnimatedType::supportsAnimVal):
68933
689342012-03-27  Yury Semikhatsky  <yurys@chromium.org>
68935
68936        Web Inspector: remove remains of path finder in heap profiler front-end
68937        https://bugs.webkit.org/show_bug.cgi?id=82304
68938
68939        Removed remainders of heap path finder as this code is not used anymore.
68940
68941        Reviewed by Pavel Feldman.
68942
68943        * inspector/front-end/HeapSnapshot.js:
68944        * inspector/front-end/HeapSnapshotProxy.js:
68945
689462012-03-27  Dan Bernstein  <mitz@apple.com>
68947
68948        Reverted r112214, since it was not the right fix for the build.
68949
68950        * css/StylePropertySet.cpp:
68951        (WebCore::StylePropertySet::asText):
68952
689532012-03-27  Kentaro Hara  <haraken@chromium.org>
68954
68955        [V8][Performance] Optimize createTextNode(), createElement(), cloneNode(), etc
68956        https://bugs.webkit.org/show_bug.cgi?id=82201
68957
68958        Reviewed by Adam Barth.
68959
68960        This patch improves performance of createTextNode() by 13%, createElement() by 14%,
68961        and cloneNode() by 16%. Similar performance improvement will be observed in
68962        DOM methods that create a new object every time.
68963
68964        Performance test: https://bugs.webkit.org/attachment.cgi?id=133799
68965
68966        The performance test results are as follows. Since the performance of V8's GC is
68967        really unstable, the average of measured times makes no sense in Chromium.
68968        Instead, let us focus on the median. I believe that this performance
68969        improvement has impact on Dromaeo, but we cannot observe the improvement
68970        due to the unsteadiness of V8's GC, as shown below.
68971
68972        Chromium/V8/Linux (without the patch):
68973        createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
68974        createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
68975        cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
68976        Dromaeo/dom-modify/createElement: 439.17runs/s +-31.60% (<--- pretty noisy)
68977        Dromaeo/dom-modify/createTextNode: 287.71runs/s +-28.39% (<--- pretty noisy)
68978        Dromaeo/dom-modify/cloneNode: 174.62runs/s +-25.68% (<--- pretty noisy)
68979
68980        Chromium/V8/Linux (with the patch):
68981        createTextNode : median=240ms (mean=411.12ms, min=237ms, max=2965ms)
68982        createElement : median=325ms (mean=585.30ms, min=317ms, max=2984ms)
68983        cloneNode : median=310ms (mean=522.48ms, min=302ms, max=2988ms)
68984        Dromaeo/dom-modify/createElement: 507.15runs/s +-36.00% (<--- pretty noisy)
68985        Dromaeo/dom-modify/createTextNode: 251.01runs/s +-6.57%
68986        Dromaeo/dom-modify/cloneNode: 177.85runs/s +-28.74% (<--- pretty noisy)
68987
68988        Chromium/V8/Mac (without the patch):
68989        createTextNode : median=317ms (mean=439.08ms, min=303ms, max=3126ms)
68990        createElement : median=403ms (mean=695.70ms, min=398ms, max=5615ms)
68991        cloneNode : median=384ms (mean=577.96ms, min=372ms, max=5313ms)
68992        Dromaeo/dom-modify/createElement: 493.89runs/s +-28.32% (<--- pretty noisy)
68993        Dromaeo/dom-modify/createTextNode: 279.66runs/s +-1.91%
68994        Dromaeo/dom-modify/cloneNode: 173.06runs/s +-24.41% (<--- pretty noisy)
68995
68996        Chromium/V8/Mac (with the patch):
68997        createTextNode : median=277ms (mean=460.88ms, min=270ms, max=3381ms)
68998        createElement : median=379ms (mean=637.52ms, min=372ms, max=3022ms)
68999        cloneNode : median=369ms (mean=581.72ms, min=363ms, max=3050ms)
69000        Dromaeo/dom-modify/createElement: 510.47runs/s +-28.13% (<--- pretty noisy)
69001        Dromaeo/dom-modify/createTextNode: 215.80runs/s +-20.99% (<--- pretty noisy)
69002        Dromaeo/dom-modify/cloneNode: 174.41runs/s +-24.85% (<--- pretty noisy)
69003
69004        Safari/JavaScriptCore/Mac:
69005        createTextNode : median=142ms (mean=141.04ms, min=110ms, max=168ms)
69006        createElement : median=234ms (mean=245.74ms, min=219ms, max=305ms)
69007        cloneNode : median=210ms (mean=213.36ms, min=204ms, max=284ms)
69008        Dromaeo/dom-modify/createElement: 822.49runs/s +-1.69%
69009        Dromaeo/dom-modify/createTextNode: 735.57runs/s +-0.91%
69010        Dromaeo/dom-modify/cloneNode: 135.20runs/s +-4.13%
69011
69012        This patch makes the following two optimizations:
69013
69014        [1] If the currently running context is equal to the context that we are about to enter,
69015        we do not call context->Enter().
69016        [2] We do not create a Local handle of the context until we really need to enter the context.
69017
69018        * bindings/scripts/CodeGeneratorV8.pm:
69019        (GenerateToV8Converters):
69020        * bindings/v8/V8Proxy.cpp:
69021        (WebCore::V8Proxy::persistentContext):
69022        (WebCore):
69023        * bindings/v8/V8Proxy.h:
69024        (V8Proxy):
69025
69026        * WebCore/bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Updated run-bindings-tests results.
69027
690282012-03-27  Bill Budge  <bbudge@chromium.org>
69029
69030        cross-origin XMLHttpRequest doesn't work with redirect
69031        https://bugs.webkit.org/show_bug.cgi?id=57600
69032
69033        Reviewed by Adam Barth.
69034
69035        Changes DocumentThreadableLoader to follow the CORS redirect steps when
69036        asynchronously loading a cross origin request with access control. Synchronous
69037        loads should not be affected. Also adds methods to ResourceRequestBase to
69038        clear special request headers that aren't allowed when using access control.
69039        Follows the CORS spec as described in the Latest Editor Draft at:
69040        http://www.w3.org/TR/cors/
69041
69042        Test: http/tests/xmlhttprequest/access-control-and-redirects-async.html
69043
69044        * loader/DocumentThreadableLoader.cpp:
69045        * loader/DocumentThreadableLoader.h:
69046        * platform/network/ResourceRequestBase.cpp:
69047        * platform/network/ResourceRequestBase.h:
69048
690492012-03-27  Adam Barth  <abarth@webkit.org>
69050
69051        ImageLoader::m_firedLoadEvent is a confusing name
69052        https://bugs.webkit.org/show_bug.cgi?id=82283
69053
69054        Reviewed by Kentaro Hara.
69055
69056        This patch renames m_firedLoadEvent (and friends) to
69057        m_hasPendingLoadEvent (and negates the value).  That name more
69058        accurately reflects the semantics of this piece of state.  For example,
69059        we now initialize m_hasPendingLoadEvent to false, which makes sense as
69060        there is no pending load event, whereas before we initialized
69061        m_firedLoadEvent to true, which made less sense since we hadn't yet
69062        actually fired the load event.
69063
69064        * bindings/v8/V8GCController.cpp:
69065        (WebCore::calculateGroupId):
69066        * html/HTMLImageElement.cpp:
69067        (WebCore::HTMLImageElement::attach):
69068        * html/HTMLImageElement.h:
69069        (HTMLImageElement):
69070        (WebCore::HTMLImageElement::hasPendingLoadEvent):
69071        (WebCore::HTMLImageElement::hasPendingActivity):
69072        * html/ImageInputType.cpp:
69073        (WebCore::ImageInputType::attach):
69074        * loader/ImageLoader.cpp:
69075        (WebCore::ImageLoader::ImageLoader):
69076        (WebCore::ImageLoader::~ImageLoader):
69077        (WebCore::ImageLoader::setImage):
69078        (WebCore::ImageLoader::updateFromElement):
69079        (WebCore::ImageLoader::notifyFinished):
69080        (WebCore::ImageLoader::dispatchPendingBeforeLoadEvent):
69081        (WebCore::ImageLoader::dispatchPendingLoadEvent):
69082        (WebCore::ImageLoader::dispatchPendingErrorEvent):
69083        * loader/ImageLoader.h:
69084        (WebCore::ImageLoader::hasPendingBeforeLoadEvent):
69085        (WebCore::ImageLoader::hasPendingLoadEvent):
69086        (ImageLoader):
69087        * svg/SVGImageElement.cpp:
69088        (WebCore::SVGImageElement::haveLoadedRequiredResources):
69089
690902012-03-27  Dan Bernstein  <mitz@apple.com>
69091
69092        Tried to fix 32-bit builds.
69093
69094        * css/StylePropertySet.cpp:
69095        (WebCore::StylePropertySet::asText):
69096
690972012-03-26  Sheriff Bot  <webkit.review.bot@gmail.com>
69098
69099        Unreviewed, rolling out r112199.
69100        http://trac.webkit.org/changeset/112199
69101        https://bugs.webkit.org/show_bug.cgi?id=82295
69102
69103        Breaks Chromium Win compilation (Requested by pfeldman on
69104        #webkit).
69105
69106        * bindings/scripts/CodeGeneratorV8.pm:
69107        (GenerateConstructorCallback):
69108        (GenerateNamedConstructorCallback):
69109        (GenerateToV8Converters):
69110        (GetDomMapFunction):
69111        * bindings/scripts/test/V8/V8Float64Array.cpp:
69112        (WebCore::V8Float64Array::wrapSlow):
69113        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
69114        (WebCore::V8TestActiveDOMObject::wrapSlow):
69115        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
69116        (WebCore::V8TestCustomNamedGetter::wrapSlow):
69117        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
69118        (WebCore::V8TestEventConstructor::wrapSlow):
69119        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
69120        (WebCore::V8TestEventTarget::wrapSlow):
69121        * bindings/scripts/test/V8/V8TestInterface.cpp:
69122        (WebCore::V8TestInterface::wrapSlow):
69123        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
69124        (WebCore::V8TestMediaQueryListListener::wrapSlow):
69125        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
69126        (WebCore::V8TestNamedConstructor::wrapSlow):
69127        * bindings/scripts/test/V8/V8TestObj.cpp:
69128        (WebCore::V8TestObj::wrapSlow):
69129        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
69130        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
69131        * bindings/v8/V8DOMWrapper.cpp:
69132        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
69133        (WebCore):
69134        * bindings/v8/V8DOMWrapper.h:
69135        (WebCore):
69136        (V8DOMWrapper):
69137        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject):
69138        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject):
69139
691402012-03-26  David Kilzer  <ddkilzer@apple.com>
69141
69142        Build system prep work for upstreaming iOS changes
69143        <http://webkit.org/b/82267>
69144
69145        Reviewed by Mark Rowe.
69146
69147        * DerivedSources.make: Move 'bison' into a variable and use
69148        xcrun to find it on Mac OS X.
69149        * bindings/scripts/preprocessor.pm:
69150        (applyPreprocessor): Add local @args variable.  On iOS, the
69151        compiler needs additional "-isysroot $(SDKROOT)" arguments when
69152        invoked, so it's easier to add them to an array, especially if
69153        $SDKROOT contains a space in the path.  Remove now-redundant
69154        $gccLocation variable.
69155
691562012-03-26  Nate Chapin  <japhet@chromium.org>
69157
69158        Remove duplicate error() impls in CachedResource subclasses
69159        https://bugs.webkit.org/show_bug.cgi?id=81161
69160
69161        Reviewed by Alexey Proskuryakov.
69162
69163        No new tests, refactor only.
69164
69165        * loader/cache/CachedCSSStyleSheet.cpp:
69166        * loader/cache/CachedCSSStyleSheet.h:
69167        * loader/cache/CachedFont.cpp:
69168        * loader/cache/CachedFont.h:
69169        * loader/cache/CachedImage.cpp:
69170        * loader/cache/CachedResource.h: Make checkNotify()
69171             virtual, so the right checkNotify() gets called in error().
69172        * loader/cache/CachedScript.cpp:
69173        * loader/cache/CachedScript.h:
69174        * loader/cache/CachedXSLStyleSheet.cpp:
69175        * loader/cache/CachedXSLStyleSheet.h:
69176
691772012-03-26  Ken Buchanan  <kenrb@chromium.org>
69178
69179        Assert failure from capitalized RenderTextFragment
69180        https://bugs.webkit.org/show_bug.cgi?id=82096
69181
69182        Reviewed by Ryosuke Niwa.
69183
69184        The cause of this bug was the call to RenderTextFragment::setTextInternal
69185        resulting from a style change from RenderObject::addChild. The idea here
69186        is to better separate the code path for transforming existing text from
69187        the code path for replacing the underlying text of a node. For
69188        RenderTextFragment this has to be clear because only in the latter case
69189        does the first-letter get reset.
69190
69191        * rendering/RenderObject.cpp:
69192        (WebCore::RenderObject::addChild): Added call to transformText
69193        * rendering/RenderText.cpp:
69194        (WebCore::RenderText::styleDidChange): Added call to transformText
69195        (WebCore::RenderText::transformText): Added
69196        * rendering/RenderText.h:
69197        (WebCore::RenderText::setText): Changed to virtual so RenderTextFragment can override
69198        (WebCore::RenderText::transformText): Added
69199        * rendering/RenderTextFragment.cpp:
69200        (WebCore::RenderTextFragment::styleDidChange): Removed references to
69201        m_allowFragmentReset which was the previous approach to separating the
69202        code paths
69203        (WebCore::RenderTextFragment::setTextInternal): Deleted
69204        (WebCore::RenderTextFragment::setText): Added with most of logic that was
69205        previously in setTextInternal
69206        (WebCore::RenderTextFragment::transformText): Added
69207        * rendering/RenderTextFragment.h:
69208        (WebCore::RenderTextFragment::setText): Added
69209        (WebCore::RenderTextFragment::transformText): Added
69210        (WebCore::RenderTextFragment::setTextInternal): Deleted
69211
692122012-03-26  Adam Klein  <adamk@chromium.org>
69213
69214        Always set V8 wrappers via V8DOMWrapper::setJSWrapperFor* instead of WeakReferenceMap::set()
69215        https://bugs.webkit.org/show_bug.cgi?id=82256
69216
69217        Reviewed by Adam Barth.
69218
69219        This moves leakRef() calls out of generated code, centralizing them in
69220        V8DOMWrapper implementation. Ideally, WeakReferenceMap::set would take
69221        PassRefPtrs, but that's tricky given that some WeakReferenceMap's KeyType is 'void'
69222        (which clearly can't be wrapped in a PassRefPtr).
69223
69224        Updated binding tests to reflect changes in CodeGeneratorV8.pm, no change in behavior.
69225
69226        * bindings/scripts/CodeGeneratorV8.pm:
69227        (GenerateConstructorCallback): Use GetDomMapFunction instead of custom logic.
69228        (GenerateNamedConstructorCallback): ditto.
69229        (GenerateToV8Converters): Call V8DOMWrapper::setJSWrapper* method
69230        instead of directly accessing the wrapper maps and calling set.
69231        (GetDomMapFunction): Refactored to call new GetDomWrapperMapName function.
69232        (GetDomWrapperMapName): Helper pulled out of GetDomMapFunction.
69233        * bindings/scripts/test/V8/V8Float64Array.cpp:
69234        (WebCore::V8Float64Array::wrapSlow):
69235        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
69236        (WebCore::V8TestActiveDOMObject::wrapSlow):
69237        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
69238        (WebCore::V8TestCustomNamedGetter::wrapSlow):
69239        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
69240        (WebCore::V8TestEventConstructor::wrapSlow):
69241        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
69242        (WebCore::V8TestEventTarget::wrapSlow):
69243        * bindings/scripts/test/V8/V8TestInterface.cpp:
69244        (WebCore::V8TestInterface::wrapSlow):
69245        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
69246        (WebCore::V8TestMediaQueryListListener::wrapSlow):
69247        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
69248        (WebCore::V8TestNamedConstructor::wrapSlow):
69249        * bindings/scripts/test/V8/V8TestObj.cpp:
69250        (WebCore::V8TestObj::wrapSlow):
69251        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
69252        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
69253        * bindings/v8/V8DOMWrapper.cpp: Moved setJSWrapperForDOMNode method to header to inline it.
69254        * bindings/v8/V8DOMWrapper.h:
69255        (WebCore): Forward decls.
69256        (V8DOMWrapper):
69257        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Made inline.
69258        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): ditto.
69259        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Refactored into two methods;
69260        this one handles non-active Nodes.
69261        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMNode): Pulled out of previouse
69262        DOMNode method, now handles only active Nodes.
69263        (WebCore::V8DOMWrapper::setJSWrapperForDOMSVGElementInstance): New helper method for SVGElementInstances.
69264
692652012-03-26  Pratik Solanki  <psolanki@apple.com>
69266
69267        Fix typo in method name - WebCore::miminumValueForLength should be WebCore::minimumValueForLength
69268        https://bugs.webkit.org/show_bug.cgi?id=82254
69269
69270        Reviewed by Benjamin Poulain.
69271
69272        No new tests because no functional changes.
69273
69274        * css/CSSComputedStyleDeclaration.cpp:
69275        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
69276        * css/LengthFunctions.cpp:
69277        (WebCore::minimumValueForLength):
69278        (WebCore::valueForLength):
69279        * css/LengthFunctions.h:
69280        (WebCore):
69281        * html/HTMLAreaElement.cpp:
69282        (WebCore::HTMLAreaElement::getRegion):
69283        * platform/win/PopupMenuWin.cpp:
69284        (WebCore::PopupMenuWin::paint):
69285        * rendering/AutoTableLayout.cpp:
69286        (WebCore::AutoTableLayout::layout):
69287        * rendering/RenderBlock.cpp:
69288        (WebCore::RenderBlock::textIndentOffset):
69289        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
69290        * rendering/RenderBox.cpp:
69291        (WebCore::RenderBox::computeLogicalWidthInRegion):
69292        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
69293        (WebCore::RenderBox::computeInlineDirectionMargins):
69294        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
69295        (WebCore::RenderBox::computeBlockDirectionMargins):
69296        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
69297        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
69298        * rendering/RenderBoxModelObject.cpp:
69299        (WebCore::RenderBoxModelObject::paddingTop):
69300        (WebCore::RenderBoxModelObject::paddingBottom):
69301        (WebCore::RenderBoxModelObject::paddingLeft):
69302        (WebCore::RenderBoxModelObject::paddingRight):
69303        (WebCore::RenderBoxModelObject::paddingBefore):
69304        (WebCore::RenderBoxModelObject::paddingAfter):
69305        (WebCore::RenderBoxModelObject::paddingStart):
69306        (WebCore::RenderBoxModelObject::paddingEnd):
69307        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
69308        * rendering/RenderFlexibleBox.cpp:
69309        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
69310        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
69311        * rendering/RenderInline.cpp:
69312        (WebCore::computeMargin):
69313        * rendering/RenderMenuList.cpp:
69314        (WebCore::RenderMenuList::updateOptionsWidth):
69315        * rendering/RenderReplaced.cpp:
69316        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
69317        * rendering/RenderScrollbarPart.cpp:
69318        (WebCore::calcScrollbarThicknessUsing):
69319        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
69320        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
69321        * rendering/RenderTable.cpp:
69322        (WebCore::RenderTable::computeLogicalWidth):
69323        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
69324        * rendering/RenderTableSection.cpp:
69325        (WebCore::RenderTableSection::calcRowLogicalHeight):
69326        * rendering/RenderText.h:
69327        (WebCore::RenderText::marginLeft):
69328        (WebCore::RenderText::marginRight):
69329        * rendering/style/RenderStyle.h:
69330
693312012-03-26  Shinya Kawanaka  <shinyak@chromium.org>
69332
69333        Triggers assertion if dragging from outside of <meter> in a shadow tree to inside of it.
69334        https://bugs.webkit.org/show_bug.cgi?id=82177
69335
69336        Reviewed by Dimitri Glazkov.
69337
69338        VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries has moved the start position or
69339        the end position to the invalid position, i.e. position after (before) the non-existing node.
69340
69341        This patch fixes the problem, and adds assertion that the selection does not cross shadow boundaries.
69342
69343        Test: fast/dom/shadow/drag-to-meter-in-shadow-crash.html
69344
69345        * editing/VisibleSelection.cpp:
69346        (WebCore::VisibleSelection::adjustSelectionToAvoidCrossingShadowBoundaries):
69347
693482012-03-26  Scott Byer  <scottbyer@chromium.org>
69349
69350        Enable layout testing of the scroll animator.
69351        https://bugs.webkit.org/show_bug.cgi?id=81858
69352        Add a call to the InternalSettings that layout tests can use to
69353        turn on scroll animation. Enable animation updates for the
69354        Chromium platform DRT when scroll animation has been turned on in
69355        a test. This should be a no-op for all current layout tests.
69356
69357        Reviewed by James Robinson.
69358
69359        No new tests. Layout test results should be unchanged.
69360
69361        * testing/InternalSettings.cpp:
69362        (WebCore::InternalSettings::setEnableScrollAnimator):
69363        (WebCore):
69364        (WebCore::InternalSettings::scrollAnimatorEnabled):
69365        * testing/InternalSettings.h:
69366        (InternalSettings):
69367        * testing/InternalSettings.idl:
69368
693692012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>
69370
69371        Fix minor spell error in DocumentLoader.h
69372        https://bugs.webkit.org/show_bug.cgi?id=82141
69373
69374        Reviewed by Nate Chapin.
69375
69376        Just fix spell error, no new tests.
69377
69378        * loader/DocumentLoader.h:
69379        (WebCore::DocumentLoader::setClientRedirectSourceForHistory):
69380
693812012-03-26  Brian Salomon  <bsalomon@google.com>
69382
69383        [Skia] Remove use of deprecated Skia constant and struct field names
69384        https://bugs.webkit.org/show_bug.cgi?id=81034
69385
69386        Reviewed by James Robinson.
69387
69388        No behavior change, so no tests. The modified code is executed by many existing tests.
69389
69390        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
69391        (WebCore::createAcceleratedCanvas):
69392        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
69393        (WebCore::CCRenderSurfaceFilters::apply):
69394        * platform/graphics/skia/ImageBufferSkia.cpp:
69395        (WebCore::createAcceleratedCanvas):
69396
693972012-03-26  Nat Duca  <nduca@chromium.org>
69398
69399        [chromium] Add isInputThrottled/didBecomeReadyForAdditionalInput to WebWidget
69400        https://bugs.webkit.org/show_bug.cgi?id=82265
69401
69402        In threaded compositing mode, the WebWidget is self-scheduled,
69403        receiving damage and processing it without forwarding that damage
69404        up to the embedding WebWidgetClient. In Chromium's case, the
69405        client uses the presence of damage to perform input flow
69406        control. This patch exposes the need for input flow control to the
69407        embedder, while keeping the actual logic about what exactly
69408        warrants input flow control inside the implementation.
69409
69410        Reviewed by James Robinson.
69411
69412        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
69413        (WebCore::CCLayerTreeHost::commitComplete):
69414        (WebCore::CCLayerTreeHost::commitRequested):
69415        (WebCore):
69416        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
69417        (CCLayerTreeHostClient):
69418        (CCLayerTreeHost):
69419        * platform/graphics/chromium/cc/CCProxy.h:
69420        (CCProxy):
69421        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
69422        (WebCore::CCSingleThreadProxy::commitRequested):
69423        (WebCore):
69424        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
69425        (CCSingleThreadProxy):
69426        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
69427        (WebCore::CCThreadProxy::commitRequested):
69428        (WebCore):
69429        * platform/graphics/chromium/cc/CCThreadProxy.h:
69430        (CCThreadProxy):
69431
694322012-03-26  Adam Barth  <abarth@webkit.org>
69433
69434        When <img crossorigin> fails the CORS check, we should fire the error event
69435        https://bugs.webkit.org/show_bug.cgi?id=81998
69436
69437        Reviewed by Nate Chapin.
69438
69439        The spec says we're supposed to fire the error event when the CORS
69440        check fails, but we haven't been.  This patch is larger than it might
69441        otherwise be because we're firing the event asynchronously, but that
69442        seems like the right thing to do.
69443
69444        Tests: http/tests/security/img-with-failed-cors-check-fails-to-load.html
69445
69446        * dom/Document.cpp:
69447        (WebCore::Document::implicitClose):
69448        * loader/ImageLoader.cpp:
69449        (WebCore::errorEventSender):
69450        (WebCore):
69451        (WebCore::ImageLoader::ImageLoader):
69452        (WebCore::ImageLoader::~ImageLoader):
69453        (WebCore::ImageLoader::setImage):
69454        (WebCore::ImageLoader::updateFromElement):
69455        (WebCore::ImageLoader::notifyFinished):
69456        (WebCore::ImageLoader::dispatchPendingEvent):
69457        (WebCore::ImageLoader::dispatchPendingErrorEvent):
69458        (WebCore::ImageLoader::dispatchPendingErrorEvents):
69459        * loader/ImageLoader.h:
69460        (ImageLoader):
69461
694622012-03-26  Stephen White  <senorblanco@chromium.org>
69463
69464        Make filters and the threaded compositor play well together.
69465        https://bugs.webkit.org/show_bug.cgi?id=78139
69466        
69467        Use a dedicated GraphicsContext3D instance for all filters calls in
69468        the threaded case.  Clone all FilterOperations for thread safety
69469        in the threaded case.
69470
69471        Reviewed by James Robinson.
69472        
69473        Covered by tests in LayoutTests/css3/filters.
69474
69475        * platform/graphics/chromium/LayerChromium.cpp:
69476        (WebCore::LayerChromium::setFilters):
69477        Set a global flag if we've seen content with filters, so we know
69478        we need to create the filter context.
69479        (WebCore::LayerChromium::pushPropertiesTo):
69480        Clone all filter operations if we're in the threaded case.
69481        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
69482        (WebCore):
69483        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
69484        (WebCore::CCLayerTreeHost::needsFilterContext):
69485        (WebCore::CCLayerTreeHost::setNeedsFilterContext):
69486        (CCLayerTreeHost):
69487        Add flag and accessors for needsFilterContext.
69488        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
69489        (WebCore::CCRenderSurface::applyFilters):
69490        Pick up the appropriate context from SharedGraphicsContext3D,
69491        depending if we're in the threaded case or not.
69492        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
69493        (WebCore::CCThreadProxy::recreateContext):
69494        For the threaded compositor re-create the filter context
69495        alongside the main compositor context on lost context, if requested.
69496        (WebCore::CCThreadProxy::beginFrame):
69497        Create the filter context in beginFrame, if it was resquested and is
69498        NULL.  This handles the first-use case.
69499        * platform/graphics/filters/CustomFilterOperation.h:
69500        (WebCore::CustomFilterOperation::clone):
69501        Assert if trying to clone the custom filter operation (it has
69502        non-threadsafe members).
69503        * platform/graphics/filters/FilterOperation.h:
69504        (WebCore::DefaultFilterOperation::clone):
69505        (WebCore::PassthroughFilterOperation::clone):
69506        (WebCore::ReferenceFilterOperation::clone):
69507        (WebCore::BasicColorMatrixFilterOperation::clone):
69508        (WebCore::BasicComponentTransferFilterOperation::clone):
69509        (WebCore::GammaFilterOperation::clone):
69510        (WebCore::BlurFilterOperation::clone):
69511        (WebCore::DropShadowFilterOperation::clone):
69512        Add clone methods for all FilterOperations.
69513        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
69514        (WebCore::SharedGraphicsContext3DImpl::getOrCreateContext):
69515        (WebCore::SharedGraphicsContext3DImpl::getContext):
69516        (WebCore::SharedGraphicsContext3DImpl::createContext):
69517        (WebCore::SharedGraphicsContext3D::get):
69518        (WebCore::getOrCreateContextForImplThread):
69519        (WebCore::SharedGraphicsContext3D::getForImplThread):
69520        (WebCore::SharedGraphicsContext3D::haveForImplThread):
69521        (WebCore::SharedGraphicsContext3D::createForImplThread):
69522        Split out context creation, lost context recovery, and retrieval
69523        into separate functions, so the impl thread can use only the parts
69524        it wants on the threads it wants (create and have on main, get on impl).
69525        Add asserts to ensure that's how they're called.
69526        * platform/graphics/gpu/SharedGraphicsContext3D.h:
69527        (SharedGraphicsContext3D):
69528        Reuse the SharedGraphicsContext infrastructure to create a new
69529        context singleton for filter use in the threaded compositor.
69530
695312012-03-26  Adam Barth  <abarth@webkit.org>
69532
69533        FrameLoader::shouldAllowNavigation uses Frame for context rather than Document
69534        https://bugs.webkit.org/show_bug.cgi?id=81020
69535
69536        Reviewed by Eric Seidel.
69537
69538        The vast majority of security checks in the browser should use a
69539        ScriptExecutionContext (aka a Document) to designate "who" is
69540        attempting to perform a given action.  Unfortunately,
69541        shouldAllowNavigation was using a Frame to designate "who" is
69542        attempting the navigation.
69543
69544        In cases when the executing script is "inactive" (i.e., belongs to a
69545        document that is not currently displayed in a Frame), using the Frame
69546        can cause us to grant the script the privileges of the document that's
69547        currently displayed in the Frame rather than the one that contains the
69548        script.
69549
69550        This patch moves shouldAllowNavigation from FrameLoader to Document
69551        (and renames it to canNavigate), effectively change the context object
69552        from a Frame to a Document.
69553
69554        Test: http/tests/security/frameNavigation/inactive-function-in-popup-navigate-child.html
69555
69556        * bindings/generic/BindingSecurity.h:
69557        (BindingSecurity):
69558        (WebCore):
69559        * bindings/v8/V8Utilities.cpp:
69560        (WebCore):
69561        * bindings/v8/V8Utilities.h:
69562        (WebCore):
69563            - Deletes unused code.
69564        * dom/Document.cpp:
69565        (WebCore::canAccessAncestor):
69566        (WebCore):
69567        (WebCore::Document::canNavigate):
69568            - canNavigate is copied from FrameLoader::shouldAllowNavigation.
69569              I've added a null-check bailout if the document is inactive.
69570        * dom/Document.h:
69571        (Document):
69572        * loader/FormState.cpp:
69573        (WebCore::FormState::FormState):
69574        (WebCore::FormState::create):
69575        * loader/FormState.h:
69576        (WebCore):
69577        (FormState):
69578        (WebCore::FormState::sourceDocument):
69579        * loader/FormSubmission.cpp:
69580        (WebCore::FormSubmission::create):
69581            - Changes the context object from Frame to Document.
69582        * loader/FrameLoader.cpp:
69583        (WebCore::FrameLoader::submitForm):
69584        (WebCore::FrameLoader::loadFrameRequest):
69585        (WebCore):
69586        (WebCore::FrameLoader::findFrameForNavigation):
69587            - FrameLoader::findFrameForNavigation still incorrectly uses Frame
69588              as the context object, but that's a bug for another patch.
69589        (WebCore::createWindow):
69590        * loader/FrameLoader.h:
69591        (FrameLoader):
69592        * loader/NavigationScheduler.cpp:
69593        (WebCore::ScheduledFormSubmission::fire):
69594        * page/DOMWindow.cpp:
69595        (WebCore::DOMWindow::close):
69596        (WebCore::DOMWindow::setLocation):
69597        (WebCore::DOMWindow::open):
69598        * page/History.cpp:
69599        (WebCore::History::go):
69600
696012012-03-26  Vangelis Kokkevis  <vangelis@chromium.org>
69602
69603        [chromium] Simplify and fix CCLayerSorter
69604        https://bugs.webkit.org/show_bug.cgi?id=82114
69605
69606        A significant cleanup, simplification and improvement of the CCLayerSorter code.
69607        Simplified the LayerShape structure to use WebCore's FloatQuad for all overlap tests.
69608        By treating every layer as two triangles, the old overlap code did a lot of redundant work
69609        including testing two of the vertices of the layer and its diagonal twice. The new overlap
69610        tests check:
69611        1. The four corners of each of the two layers against the other layer.
69612        2. The four edges of each layer against the edges of the other layer.
69613        Unlike the old code, the new code has no early-outs in the overlap tests as those where causing
69614        us to miss legitimate overlaps.
69615        A new technique for breaking dependency cycles introduced by intersecting layers is implemented.
69616        Instead of arbitrarily breaking cycles by choosing the node in the graph with the smallest number of
69617        incoming edges (i.e. layers that need to be drawn before it) we chose the one with the smallest sum
69618        of graph edge weights (defined as the max depth difference between two layers). Layers that intersect
69619        have their respective graph edge weight set to zero, making them more likely to be picked for breaking
69620        the cycles (it's not a perfect solution but it seems to perform much better than the previous one).
69621
69622        In addition to being overly complex and doing reduntant work, the old code was missing a
69623        perspective divide when computing the coordinates of the layer's corners in the projected plane
69624        which was the source of a lot of mis-sorted results.
69625
69626        In all, these improvements, fix a lot of outstanding issues with layer sorting, on pages such as:
69627        http://www.keithclark.co.uk/labs/3dcss/demo/
69628        http://2012.beercamp.com
69629        https://developer.mozilla.org/fr/demos/detail/the-box/launch
69630
69631        Tests: CCLayerSorter unit tests.
69632
69633        Reviewed by Kenneth Russell.
69634
69635        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
69636        (WebCore):
69637        (WebCore::perpProduct):
69638        (WebCore::edgeEdgeTest):
69639        (WebCore::CCLayerSorter::checkOverlap):
69640        (WebCore::CCLayerSorter::LayerShape::LayerShape):
69641        (WebCore::CCLayerSorter::LayerShape::layerZFromProjectedPoint):
69642        (WebCore::CCLayerSorter::createGraphNodes):
69643        (WebCore::CCLayerSorter::createGraphEdges):
69644        (WebCore::CCLayerSorter::sort):
69645        * platform/graphics/chromium/cc/CCLayerSorter.h:
69646        (WebCore::CCLayerSorter::CCLayerSorter):
69647        (CCLayerSorter):
69648        (LayerShape):
69649        (WebCore::CCLayerSorter::GraphNode::GraphNode):
69650        (GraphNode):
69651        (WebCore::CCLayerSorter::GraphEdge::GraphEdge):
69652        (GraphEdge):
69653
696542012-03-26  Fady Samuel  <fsamuel@chromium.org>
69655
69656        [Chromium] Using WebViewPlugins with --force-compositing-mode causes an ASSERT to fail
69657        https://bugs.webkit.org/show_bug.cgi?id=81954
69658
69659        Reviewed by James Robinson.
69660
69661        A static variable s_inPaintContents is set when painting, and it ensures
69662        that we don't delete GraphicsLayers or create GraphicsLayers while painting.
69663
69664        However, because this variable is static, it does not permit the existence
69665        of multiple WebViews in different stages (one laying out and one painting).
69666
69667        This manifests itself if one attempts to use the --force-compositing-mode
69668        in Chromium and attempts to navigate to a page with a missing or old plugin
69669        or a browser plugin (which uses a WebViewPlugin as a placeholder until it's
69670        done loading).
69671
69672        The solution to simplify debugging is to make this flag per-Page.
69673        We can access Page from RenderLayerBacking which is a GraphicsLayerClient.
69674        We add a new method GraphicsLayerClient::verifyNotPainting with a default
69675        (do nothing) implementation and override it in RenderLayerBacking to
69676        test the flag set in Page.
69677
69678        * page/Page.cpp:
69679        (WebCore::Page::Page):
69680        * page/Page.h:
69681        (Page):
69682        (WebCore::Page::setIsPainting):
69683        (WebCore::Page::isPainting):
69684        * platform/graphics/GraphicsLayer.cpp:
69685        (WebCore::GraphicsLayer::GraphicsLayer):
69686        (WebCore::GraphicsLayer::~GraphicsLayer):
69687        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
69688        * platform/graphics/GraphicsLayerClient.h:
69689        (GraphicsLayerClient):
69690        (WebCore::GraphicsLayerClient::verifyNotPainting):
69691        * rendering/RenderLayerBacking.cpp:
69692        (WebCore::RenderLayerBacking::paintContents):
69693        (WebCore):
69694        (WebCore::RenderLayerBacking::verifyNotPainting):
69695        * rendering/RenderLayerBacking.h:
69696        (RenderLayerBacking):
69697
696982012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
69699
69700        cssText should use shorthand notations
69701        https://bugs.webkit.org/show_bug.cgi?id=81737
69702
69703        Reviewed by Enrica Casucci.
69704
69705        Use shorthand properties to serialize style properties for cssText.
69706
69707        The overall algorithm is to look for any property that has a shorthand, and then check if
69708        the shorthand value could be obtained (the condition is quite complicated for border properties).
69709        If it could, then append that value to the string builder, and set the corresponding entries in
69710        shorthandPropertyAppeared and shorthandPropertyUsed. If not, only turn on the bit in
69711        shorthandPropertyAppeared on to avoid calling getPropertyValue again for longhand properties
69712        that use the same shorthand property when we cannot use the shorthand.
69713
69714        Test: fast/css/cssText-shorthand.html
69715
69716        * css/StylePropertySet.cpp:
69717        (WebCore::StylePropertySet::asText):
69718
697192012-03-26  Bolin Hsu  <bhsu@google.com>
69720
69721        [Chromium] Add Android keycodes
69722        https://bugs.webkit.org/show_bug.cgi?id=81950
69723
69724        Add the missing Android keycodes listed in the bug.
69725
69726        Reviewed by Adam Barth.
69727
69728        * platform/chromium/KeyCodeConversionAndroid.cpp:
69729        (WebCore::windowsKeyCodeForKeyEvent):
69730        * platform/chromium/KeyboardCodes.h:
69731
697322012-03-26  Levi Weintraub  <leviw@chromium.org>
69733
69734        Switch ColumnInfo::addForcedBreak to LayoutUnits
69735        https://bugs.webkit.org/show_bug.cgi?id=82210
69736
69737        Reviewed by Eric Seidel.
69738
69739        Forced breaks are added by local offsets, which should be in LayoutUnits.
69740
69741        No new tests. No change in behavior.
69742
69743        * rendering/ColumnInfo.h:
69744        (WebCore::ColumnInfo::addForcedBreak):
69745
697462012-03-26  Levi Weintraub  <leviw@chromium.org>
69747
69748        Update LayoutUnit usage in ContainerNode, Element, and ElementRareData
69749        https://bugs.webkit.org/show_bug.cgi?id=82219
69750
69751        Reviewed by Eric Seidel.
69752
69753        No new tests. No change in behavior.
69754
69755        * dom/ContainerNode.cpp:
69756        (WebCore::ContainerNode::getLowerRightCorner): linesBoundingBox returns the enclosing IntRect
69757        of the contained lines. Inline's aren't bounded in LayoutUnits nor pixel snapped.
69758        * dom/Element.cpp:
69759        (WebCore::Element::boundsInRootViewSpace): Coordinates in root view space are akin to absolute
69760        coordinates, which are always expressed in integers.
69761        * dom/Element.h:
69762        (Element):
69763        * dom/ElementRareData.h:
69764        (WebCore::defaultMinimumSizeForResizing): Using numeric_limits<LayoutUnit>::max instead of
69765        INT_MAX to avoid overflowing when LayoutUnits are sub-pixel.
69766
697672012-03-26  Adam Klein  <adamk@chromium.org>
69768
69769        Update binding test output for V8 after r112163.
69770
69771        * bindings/scripts/test/V8/V8TestInterface.cpp:
69772        (WebCore::V8TestInterface::constructorCallback):
69773        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
69774        (WebCore::V8TestNamedConstructorConstructorCallback):
69775        * bindings/scripts/test/V8/V8TestObj.cpp:
69776        (WebCore::V8TestObj::constructorCallback):
69777        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
69778        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
69779
697802012-03-26  Levi Weintraub  <leviw@chromium.org>
69781
69782        Update localSelectionRect to return a LayoutRect
69783        https://bugs.webkit.org/show_bug.cgi?id=82183
69784
69785        Reviewed by Eric Seidel.
69786
69787        localSelectionRect returns a rectangle in the coordinate space of its renderer,
69788        and therefor should remain LayoutUnits until being promoted to absolute
69789        coordinates or painted. Also fixing an incorrect conversion of startPos and
69790        endPos in selectionRectForRepaint.
69791
69792        No new tests. No change in behavior.
69793
69794        * rendering/InlineTextBox.cpp:
69795        (WebCore::InlineTextBox::localSelectionRect): Continuing to use enclosingIntRect
69796        for the value being returned from the font engine since these floating point
69797        values should not be pixel snapped.
69798        * rendering/InlineTextBox.h:
69799        (InlineTextBox):
69800        * rendering/RenderReplaced.cpp:
69801        (WebCore::RenderReplaced::localSelectionRect):
69802        * rendering/RenderReplaced.h:
69803        (RenderReplaced):
69804        * rendering/RenderText.cpp:
69805        (WebCore::localQuadForTextBox):
69806        (WebCore::RenderText::absoluteRectsForRange):
69807        (WebCore::RenderText::absoluteQuadsForRange):
69808        (WebCore::RenderText::selectionRectForRepaint): Fixing an incorrect conversion of
69809        start/endPos to LayoutUnits. These values represent a range of selected characters,
69810        not layout values!
69811        * rendering/svg/RenderSVGInlineText.cpp:
69812        (WebCore::RenderSVGInlineText::localCaretRect):
69813        * rendering/svg/SVGInlineTextBox.cpp:
69814        (WebCore::SVGInlineTextBox::localSelectionRect):
69815        * rendering/svg/SVGInlineTextBox.h:
69816        (SVGInlineTextBox):
69817
698182012-03-26  Justin Novosad  <junov@chromium.org>
69819
69820        [Chromium] Crash in Canvas2DLayerChromium::pushPropertiesTo
69821        https://bugs.webkit.org/show_bug.cgi?id=82243
69822
69823        Reviewed by James Robinson.
69824
69825        Adding null pointer check to prevent crash and texture object
69826        validity check to prevent potential graphics glitch
69827
69828        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
69829        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
69830
698312012-03-26  Adam Klein  <adamk@chromium.org>
69832
69833        Use PassRefPtr in V8DOMWrapper interface to avoid explicit ref() calls
69834        https://bugs.webkit.org/show_bug.cgi?id=82238
69835
69836        Reviewed by Adam Barth.
69837
69838        The setJSWrapper* methods previously featured a comment that asked
69839        callers to ref the objects before passing them in. This change makes
69840        that contract explicit (and allows the removal of the comment).
69841
69842        In addition, for ConstructorCallbacks, this change slightly reduces
69843        refcount churn by passing on the initial ref via RefPtr::release().
69844
69845        No new tests, no change in behavior.
69846
69847        * bindings/scripts/CodeGeneratorV8.pm:
69848        (GenerateConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref() call.
69849        (GenerateNamedConstructorCallback): ditto.
69850        * bindings/v8/V8DOMWindowShell.cpp:
69851        (WebCore::V8DOMWindowShell::installDOMWindow): Cast to a PassRefPtr and remove explicit ref call.
69852        * bindings/v8/V8DOMWrapper.cpp:
69853        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode): Pass leaked refs into the DOMNodeMaps.
69854        * bindings/v8/V8DOMWrapper.h:
69855        (V8DOMWrapper): Make the setJSWrapperFor* methods take PassRefPtr<T>.
69856        (WebCore::V8DOMWrapper::setJSWrapperForDOMObject): Pass leaked ref into the DOMObjectMap.
69857        (WebCore::V8DOMWrapper::setJSWrapperForActiveDOMObject): Pass leaked ref into the ActiveDOMObjectMap.
69858        * bindings/v8/V8Proxy.h:
69859        (WebCore::toV8): Remove explicit ref.
69860        * bindings/v8/WorkerContextExecutionProxy.cpp:
69861        (WebCore::WorkerContextExecutionProxy::initContextIfNeeded): Cast to a PassRefPTr and remove explicit ref call.
69862        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
69863        (WebCore::v8HTMLImageElementConstructorCallback): Use RefPtr::release() to avoid refcount churn and remove explicit ref.
69864        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
69865        (WebCore::V8WebKitMutationObserver::constructorCallback): ditto.
69866        * bindings/v8/custom/V8WebSocketCustom.cpp:
69867        (WebCore::V8WebSocket::constructorCallback): ditto.
69868        * bindings/v8/custom/V8XMLHttpRequestConstructor.cpp:
69869        (WebCore::V8XMLHttpRequest::constructorCallback): ditto.
69870
698712012-03-26  Alexey Proskuryakov  <ap@apple.com>
69872
69873        Remove obsolete FormDataStreamMac code
69874        https://bugs.webkit.org/show_bug.cgi?id=82244
69875
69876        Reviewed by Brady Eidson.
69877
69878        * platform/network/ResourceHandle.h:
69879        Removed ResourceHandle::didSendBodyDataDelegateExists().
69880
69881        * platform/network/mac/FormDataStreamMac.h:
69882        * platform/network/mac/FormDataStreamMac.mm:
69883        Removed code that was needed to call ResourceLoaderClient::didSendData() before Foundation
69884        added support for it.
69885
69886        * platform/network/mac/ResourceHandleMac.mm:
69887        (WebCore::ResourceHandle::start):
69888        (WebCore::ResourceHandle::cancel):
69889        (-[WebCoreResourceHandleAsDelegate connection:willSendRequest:redirectResponse:]):
69890        (-[WebCoreResourceHandleAsDelegate connectionDidFinishLoading:]):
69891        (-[WebCoreResourceHandleAsDelegate connection:didFailWithError:]):
69892        We no longer need to associate streams with ResourceHandles!
69893
698942012-03-26  Adam Klein  <adamk@chromium.org>
69895
69896        V8RecursionScope should not hold a raw pointer to ScriptExecutionContext
69897        https://bugs.webkit.org/show_bug.cgi?id=82222
69898
69899        Reviewed by Eric Seidel.
69900
69901        Instead of holding onto ScriptExecutionContext, cache the boolean value we
69902        care about (context->isDocument()). This avoids problems if the
69903        context goes away as a result of the script we just ran.
69904
69905        Test: fast/frames/subframe-load-js-url-crash.html
69906
69907        * bindings/v8/V8RecursionScope.cpp:
69908        (WebCore::V8RecursionScope::didLeaveScriptContext): Check the cached
69909        bool instead of calling into the context.
69910        * bindings/v8/V8RecursionScope.h:
69911        (WebCore::V8RecursionScope::V8RecursionScope): Call isDocument from
69912        the constructor and cache the result.
69913        (WebCore::V8RecursionScope::~V8RecursionScope): No longer need to pass
69914        anything to didLeaveScriptContext since it's now a member.
69915        (V8RecursionScope): Make didLeaveScriptContext a member function and
69916        remove its argument. Add member bool to hold the value of isDocument.
69917
699182012-03-26  Dana Jansens  <danakj@chromium.org>
69919
69920        [chromium] assertion being hit in CCLayerTreeHost::updateCompositorResources
69921        https://bugs.webkit.org/show_bug.cgi?id=82239
69922
69923        Reviewed by Adrienne Walker.
69924
69925        The assert is incorrect and should check the animation state on
69926        the surface, not the owning layer.
69927
69928        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
69929        (WebCore::CCLayerTreeHost::updateCompositorResources):
69930
699312012-03-26  Levi Weintraub  <leviw@chromium.org>
69932
69933        Correct LayoutUnit usage in RenderFieldSet and RenderMenuItem
69934        https://bugs.webkit.org/show_bug.cgi?id=82179
69935
69936        Reviewed by Julien Chaffraix.
69937
69938        Correcting small misuses of ints vs LayoutUnits in RenderFieldSet and RenderMenuItem. Also
69939        adding zeroLayoutUnit where necessary to fix the sub-pixel build. See below for details.
69940
69941        No new tests. No change in behavior.
69942
69943        * rendering/RenderFieldset.cpp:
69944        (WebCore::RenderFieldset::paintBoxDecorations): Clip rects need to be pixel snapped to mirror
69945        the actual coordinates we paint.
69946        (WebCore::RenderFieldset::paintMask): Using zeroLayoutUnit for ternary operation to fix the
69947        sub-pixel build.
69948        * rendering/RenderMenuList.cpp:
69949        (WebCore::RenderMenuList::showPopup): Correctly using an IntRect for absoluteBoundingBoxRect.
69950        (WebCore::RenderMenuList::clientPaddingLeft): Correcting mismatched return type with header.
69951        (WebCore::RenderMenuList::clientPaddingRight): Ditto.
69952
699532012-03-26  Dan Bernstein  <mitz@apple.com>
69954
69955        Tried to fix an unused parameter warning after r112154.
69956
69957        * rendering/RenderFlexibleBox.cpp:
69958        (WebCore::RenderFlexibleBox::layoutBlock): Changed to not pass relayoutChildren to
69959        layoutFlexItems.
69960        (WebCore::RenderFlexibleBox::layoutFlexItems): Removed the unused relayoutChildren parameter.
69961        * rendering/RenderFlexibleBox.h:
69962
699632012-03-26  Rob Arnold  <robarnold@fb.com>
69964
69965        SyntheticStyleCalc on an element should not force recalculation on its children
69966        https://bugs.webkit.org/show_bug.cgi?id=79389
69967
69968        Reviewed by Simon Fraser.
69969
69970        No new tests. Existing tests cover correctness, not sure how to test for performance.
69971
69972        * dom/Element.cpp:
69973        (WebCore::Element::recalcStyle):
69974
699752012-03-26  Tony Chang  <tony@chromium.org>
69976
69977        apply cross axis constraints before aligning children in flexbox
69978        https://bugs.webkit.org/show_bug.cgi?id=82240
69979
69980        Reviewed by Ojan Vafai.
69981
69982        We weren't applying max-height constraints before aligning children.
69983        This would cause center, end, stretch alignment to be wrong if we hit
69984        a max-height on a flexbox.
69985
69986        This patch also moves the repositioning logic to happen after
69987        computeLogicalHeight, which will be useful for flex-line-pack.
69988
69989        New test case in css3/flexbox/flex-align.html
69990
69991        * rendering/RenderFlexibleBox.cpp:
69992        (WebCore::RenderFlexibleBox::layoutBlock):
69993        (WebCore::RenderFlexibleBox::layoutFlexItems):
69994        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
69995        * rendering/RenderFlexibleBox.h:
69996
699972012-03-26  Anders Carlsson  <andersca@apple.com>
69998
69999        Find in page overlay and bouncy are not always positioned correctly
70000        https://bugs.webkit.org/show_bug.cgi?id=82247
70001        <rdar://problem/10866139>
70002
70003        Reviewed by Sam Weinig.
70004
70005        In WebCore, a lot of code depends on scroll position updates to happen synchronously, so
70006        update the frame view scroll position before asking the scrolling thread to scroll.
70007
70008        * page/scrolling/ScrollingCoordinator.cpp:
70009        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
70010
700112012-03-26  Nate Chapin  <japhet@chromium.org>
70012
70013        Simplify setting loading state in DocumentLoader
70014        https://bugs.webkit.org/show_bug.cgi?id=82099
70015
70016        Reviewed by Adam Barth.
70017
70018        The logic for deciding what to return for DocumentLoader::isLoading()
70019        is crazy. It's indirectly based on the ResourceLoaders that have
70020        registered themselves with the DocumentLoader, but we can make that
70021        relationship more direct.
70022
70023        * loader/DocumentLoader.cpp:
70024        (WebCore::DocumentLoader::checkLoadComplete): Renamed from updateLoading, since it's not actually
70025            updating anything anymore. It now calls DOMWindow::finishedLoading() if loading is in fact done.
70026        (WebCore::DocumentLoader::startLoadingMainResource): The only reason this had a return value was to call
70027            updateLoading() if loading failed. Just call checkLoadComplete() directly (this allows it to
70028            be private, whereas updateLoading() was public).
70029        (WebCore::DocumentLoader::subresourceLoaderFinishedLoadingOnePart):
70030        * loader/DocumentLoader.h:
70031        (WebCore::DocumentLoader::isLoading): Rather than holding a separate bool, return based on the presence
70032            of non-multipart ResourceLoaders directly.
70033        * loader/FrameLoader.cpp:
70034        (WebCore::FrameLoader::isLoading): Depend on DocumentLoader::isLoading() for the activeDocumentLoader(),
70035            rather than indirectly the other way around.
70036        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Remove several assertions that should now be
70037            absolutely identical to the remaining !pdl->isLoading().
70038        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
70039
700402012-03-26  James Robinson  <jamesr@chromium.org>
70041
70042        Scrollable plugins not registered properly in ScrollingCoordinator
70043        https://bugs.webkit.org/show_bug.cgi?id=82163
70044
70045        Reviewed by Anders Carlsson.
70046
70047        Plugins may be scrollable, so we have to add them in the non-fast scrollable region. Tested manually.
70048
70049        * page/scrolling/ScrollingCoordinator.cpp:
70050        (WebCore::computeNonFastScrollableRegion):
70051        (WebCore::ScrollingCoordinator::nonFastScrollableRegion):
70052        (WebCore):
70053        * page/scrolling/ScrollingCoordinator.h:
70054        (ScrollingCoordinator):
70055        * plugins/PluginViewBase.h:
70056        (WebCore::PluginViewBase::scrollable):
70057        (PluginViewBase):
70058
700592012-03-26  Joone Hur  <joone.hur@collabora.co.uk>
70060
70061        [GTK] Build fix for Accelerated Compositing with Clutter
70062        https://bugs.webkit.org/show_bug.cgi?id=81785
70063
70064        Reviewed by Martin Robinson.
70065
70066        AcceleratedCompositingContext was introduced to isolate different accelerated 
70067        compositing implementations(r104194), but the Clutter implementation doesn't 
70068        build with it. This includes an initial implementation of GraphicsContext3D 
70069        and fixes the build error.
70070
70071        * GNUmakefile.list.am:
70072        * platform/graphics/clutter/DrawingBufferClutter.cpp: Added.
70073        (WebCore):
70074        (WebCore::DrawingBuffer::DrawingBuffer):
70075        (WebCore::DrawingBuffer::~DrawingBuffer):
70076        (WebCore::DrawingBuffer::platformColorBuffer):
70077        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
70078        * platform/graphics/clutter/GraphicsContext3DClutter.cpp: Added.
70079        (WebCore):
70080        (WebCore::GraphicsContext3D::create):
70081        (WebCore::GraphicsContext3D::GraphicsContext3D):
70082        (WebCore::GraphicsContext3D::~GraphicsContext3D):
70083        (WebCore::GraphicsContext3D::getImageData):
70084        (WebCore::GraphicsContext3D::paintToCanvas):
70085        (WebCore::GraphicsContext3D::setContextLostCallback):
70086        (WebCore::GraphicsContext3D::setErrorMessageCallback):
70087        (WebCore::GraphicsContext3D::makeContextCurrent):
70088        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
70089        (WebCore::GraphicsContext3D::isGLES2Compliant):
70090        (WebCore::GraphicsContext3D::platformLayer):
70091        * platform/graphics/clutter/GraphicsContext3DPrivate.cpp: Added.
70092        (WebCore):
70093        (WebCore::GraphicsContext3DPrivate::create):
70094        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
70095        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
70096        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
70097        (WebCore::GraphicsContext3DPrivate::platformContext):
70098        (WebCore::GraphicsContext3DPrivate::paintToGraphicsLayerActor):
70099        * platform/graphics/clutter/GraphicsContext3DPrivate.h: Added.
70100        (WebCore):
70101        (GraphicsContext3DPrivate):
70102        (WebCore::GraphicsContext3DPrivate::platformLayer):
70103
701042012-03-26  Peter Rybin  <prybin@chromium.org>
70105
70106        Web Inspector: Expose InspectorTypeBuilder.h to other components
70107        https://bugs.webkit.org/show_bug.cgi?id=82226
70108
70109        Reviewed by Vsevolod Vlasov.
70110
70111        This is a provisional commit that simplifies passing ealy warning system
70112        for the main patch https://bugs.webkit.org/show_bug.cgi?id=81558
70113
70114        * WebCore.xcodeproj/project.pbxproj: config file is changed in Xcode UI.
70115
701162012-03-26  Antaryami Pandia  <antaryami.pandia@motorola.com>
70117
70118        An <area> element remains focusable even though its associated <img> is not rendered.
70119        https://bugs.webkit.org/show_bug.cgi?id=71788
70120
70121        Reviewed by Andy Estes.
70122
70123        HTMLAreaElement::isFocusable() needs to consider the display and
70124        visibility state.
70125
70126        Test: fast/events/tab-test-not-visible-imagemap.html
70127
70128        * html/HTMLAreaElement.cpp:
70129        (WebCore::HTMLAreaElement::imageElement):
70130        (WebCore::HTMLAreaElement::isFocusable):
70131        * html/HTMLAreaElement.h: Make imageElement() const.
70132        (HTMLAreaElement):
70133
701342012-03-26  Anton Muhin  <antonm@chromium.org>
70135
70136        Fix a typo in IDL
70137        https://bugs.webkit.org/show_bug.cgi?id=82215
70138
70139        Reviewed by Adam Barth.
70140
70141        No new tests, just a typo fix.
70142
70143        * notifications/WorkerContextNotifications.idl:
70144
701452012-03-26  W. James MacLean  <wjmaclean@chromium.org>
70146
70147        [chromium] Change handleGestureFling() to use CCInputHandlerClient::Wheel.
70148        https://bugs.webkit.org/show_bug.cgi?id=82133
70149
70150        Reviewed by James Robinson.
70151
70152        Covered by existing unit tests.
70153
70154        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
70155        (WebCore::CCLayerTreeHostImpl::scrollBegin):
70156
701572012-03-26  Mike Lawther  <mikelawther@chromium.org>
70158
70159        CSS3 calc: mixed percent/absolute for box-reflect
70160        https://bugs.webkit.org/show_bug.cgi?id=82161
70161
70162        Reviewed by Ojan Vafai.
70163
70164        Tests: css3/calc/box-reflect-expected.html
70165               css3/calc/box-reflect.html
70166
70167        * css/CSSStyleSelector.cpp:
70168        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
70169
701702012-03-26  Mike Lawther  <mikelawther@chromium.org>
70171
70172        CSS3 calc: mixed percent/absolute support for vertical-align
70173        https://bugs.webkit.org/show_bug.cgi?id=82152
70174
70175        Reviewed by Ojan Vafai.
70176
70177        Tests: css3/calc/vertical-align-expected.html
70178               css3/calc/vertical-align.html
70179
70180        * css/CSSStyleApplyProperty.cpp:
70181        (WebCore::ApplyPropertyVerticalAlign::applyValue):
70182
701832012-03-26  Filip Spacek  <fspacek@rim.com>
70184
70185        [BlackBerry] Accelerated compositing updates
70186        https://bugs.webkit.org/show_bug.cgi?id=82058
70187
70188        Reviewed by Rob Buis.
70189
70190        * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp:
70191        (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
70192        (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
70193        (WebCore::CanvasLayerWebKitThread::setDevice):
70194        (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
70195        * platform/graphics/blackberry/CanvasLayerWebKitThread.h:
70196        (WebCore::CanvasLayerWebKitThread::create):
70197        (CanvasLayerWebKitThread):
70198        * platform/graphics/blackberry/InstrumentedPlatformCanvas.h:
70199        (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
70200        (WebCore::InstrumentedPlatformCanvas::save):
70201        (WebCore::InstrumentedPlatformCanvas::saveLayer):
70202        (WebCore::InstrumentedPlatformCanvas::restore):
70203        (WebCore::InstrumentedPlatformCanvas::translate):
70204        (WebCore::InstrumentedPlatformCanvas::scale):
70205        (WebCore::InstrumentedPlatformCanvas::rotate):
70206        (WebCore::InstrumentedPlatformCanvas::skew):
70207        (WebCore::InstrumentedPlatformCanvas::concat):
70208        (WebCore::InstrumentedPlatformCanvas::setMatrix):
70209        (WebCore::InstrumentedPlatformCanvas::clipRect):
70210        (WebCore::InstrumentedPlatformCanvas::clipPath):
70211        (WebCore::InstrumentedPlatformCanvas::clipRegion):
70212        (WebCore::InstrumentedPlatformCanvas::clear):
70213        (WebCore::InstrumentedPlatformCanvas::drawPaint):
70214        (WebCore::InstrumentedPlatformCanvas::drawPoints):
70215        (WebCore::InstrumentedPlatformCanvas::drawRect):
70216        (WebCore::InstrumentedPlatformCanvas::drawPath):
70217        (WebCore::InstrumentedPlatformCanvas::drawBitmap):
70218        (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
70219        (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
70220        (WebCore::InstrumentedPlatformCanvas::drawSprite):
70221        (WebCore::InstrumentedPlatformCanvas::drawText):
70222        (WebCore::InstrumentedPlatformCanvas::drawPosText):
70223        (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
70224        (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
70225        (WebCore::InstrumentedPlatformCanvas::drawPicture):
70226        (WebCore::InstrumentedPlatformCanvas::drawVertices):
70227        (WebCore::InstrumentedPlatformCanvas::drawData):
70228        * platform/graphics/blackberry/LayerData.h:
70229        (WebCore::LayerData::LayerData):
70230        (WebCore::LayerData::needsTexture):
70231        (LayerData):
70232        * platform/graphics/blackberry/LayerTiler.cpp:
70233        (WebCore::LayerTiler::updateTextureContentsIfNeeded):
70234        * platform/graphics/blackberry/LayerWebKitThread.cpp:
70235        (WebCore::LayerWebKitThread::paintContents):
70236        (WebCore::LayerWebKitThread::setDrawable):
70237        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp:
70238        (WebCore::loadBufferingImageData):
70239        * platform/graphics/blackberry/skia/ImageBufferDataSkia.h: Renamed from Source/WebCore/platform/graphics/blackberry/skia/ImageBufferData.h.
70240        (WebCore):
70241        (ImageBufferData):
70242
702432012-03-26  Stephen Chenney  <schenney@chromium.org>
70244
70245        Failure to invalidate text position attributes when DOM changes
70246        https://bugs.webkit.org/show_bug.cgi?id=81464
70247
70248        Reviewed by Nikolas Zimmermann.
70249
70250        The text positioning elements data structure in RenderSVGText must be
70251        updated when either the children of the corresponding element are
70252        modified, or the length of the text inside the elements changes.
70253        Previously, the call to clear the text positioning elements (to force
70254        recomputation) was guarded by a flag. If code tried to invalidate when
70255        the flag was not set, then something set the flag, the elements would
70256        be invalid at use time.
70257
70258        This patch modifies the method that invalidates the positining
70259        attributes so that the action always happens. It also renames the
70260        method to more accurately reflect its function.
70261
70262        Test: svg/custom/delete-modified-text-in-defs-crash.svg
70263
70264        * rendering/svg/RenderSVGInlineText.cpp:
70265        (WebCore::RenderSVGInlineText::setTextInternal): Rename textDOMChanged to invalidateTextPositioningElements
70266        * rendering/svg/RenderSVGText.cpp:
70267        (WebCore::RenderSVGText::invalidateTextPositioningElements): Rename
70268        textDOMChanged to invalidateTextPositioningElements and remove the check against the needsPosition... flag.
70269        * rendering/svg/RenderSVGText.h:
70270        (RenderSVGText): Rename textDOMChanged to invalidateTextPositioningElements
70271        * svg/SVGAElement.cpp:
70272        (WebCore::SVGAElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
70273        * svg/SVGTextContentElement.cpp:
70274        (WebCore::SVGTextContentElement::childrenChanged): Rename textDOMChanged to invalidateTextPositioningElements
70275
702762012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
70277
70278        REGRESSION (r110065-r110080): fast/forms/placeholder-set-attribute.html is failing intermittently because WebKit fails to repaint after setting the placeholder attribute
70279        https://bugs.webkit.org/show_bug.cgi?id=81802
70280
70281        Reviewed by Dan Bernstein.
70282
70283        Covered by fast/forms/placeholder-set-attribute.html which should be less flaky.
70284
70285        Unfortunately no new test case as this bug requires a very specific set of conditions that I couldn't reproduce deterministically.
70286
70287        This is a regression from r110072: RenderTextControlSingleLine would rely on the placeholder's RenderLayer to properly repaint during
70288        the first layout as the placeholder has overflow: hidden set. r110072 removed the layer in this case and thus we miss a repaint.
70289
70290        * rendering/RenderTextControlSingleLine.cpp:
70291        (WebCore::RenderTextControlSingleLine::layout):
70292        For our first layout, we need to make sure our placeholder is painted. layoutBlockChild has a very similar logic to force repaint
70293        on a first layout. We don't hit this logic as the placeholder is explicitly skipped in RenderTextControl::layoutSpecialExcludedChild.
70294
702952012-03-26  Julien Chaffraix  <jchaffraix@webkit.org>
70296
70297        REGRESSION(r110072): fast/forms/textfield-overflow.html is failing
70298        https://bugs.webkit.org/show_bug.cgi?id=80531
70299
70300        Reviewed by Ojan Vafai.
70301
70302        Tested by fast/forms/textfield-overflow.html (re-enabled after this change).
70303
70304        The existing code would happily query layout information before calling layout (FTW!).
70305        The solution is to properly layout our object, then modify some dimensions as needed while
70306        marking ourself as needing layout and then layouting again.
70307
70308        * rendering/RenderTextControlSingleLine.cpp:
70309        (WebCore::RenderTextControlSingleLine::layout):
70310        Implemented a proper 2 pass layout algorithm. Removed the |relayoutChildren| logic as:
70311        - layoutBlock handles automatically logical height changes.
70312        - we were not modifying the logical width between layouts so we don't need to force a
70313        child relayout in this case.
70314
703152012-03-26  Robin Cao  <robin.cao@torchmobile.com.cn>
70316
70317        [BlackBerry] Upstream LayerCompositingThread.{h, cpp}
70318        https://bugs.webkit.org/show_bug.cgi?id=79873
70319
70320        Reviewed by Rob Buis.
70321
70322        Initial upstream, no new tests.
70323
70324        * platform/graphics/blackberry/LayerCompositingThread.cpp: Added.
70325        (WebCore):
70326        (WebCore::LayerCompositingThread::create):
70327        (WebCore::LayerCompositingThread::LayerCompositingThread):
70328        (WebCore::LayerCompositingThread::~LayerCompositingThread):
70329        (WebCore::LayerCompositingThread::destroyOnCompositingThread):
70330        (WebCore::LayerCompositingThread::setLayerRenderer):
70331        (WebCore::LayerCompositingThread::deleteTextures):
70332        (WebCore::LayerCompositingThread::setDrawTransform):
70333        (WebCore::getTransformedRect):
70334        (WebCore::LayerCompositingThread::getTransformedHolePunchRect):
70335        (WebCore::LayerCompositingThread::drawTextures):
70336        (WebCore::LayerCompositingThread::drawSurface):
70337        (WebCore::LayerCompositingThread::drawMissingTextures):
70338        (WebCore::LayerCompositingThread::releaseTextureResources):
70339        (WebCore::LayerCompositingThread::setPluginView):
70340        (WebCore::LayerCompositingThread::setMediaPlayer):
70341        (WebCore::LayerCompositingThread::clearAnimations):
70342        (WebCore::LayerCompositingThread::removeSublayer):
70343        (WebCore::LayerCompositingThread::indexOfSublayer):
70344        (WebCore::LayerCompositingThread::rootLayer):
70345        (WebCore::LayerCompositingThread::removeFromSuperlayer):
70346        (WebCore::LayerCompositingThread::setSublayers):
70347        (WebCore::LayerCompositingThread::updateTextureContentsIfNeeded):
70348        (WebCore::LayerCompositingThread::setVisible):
70349        (WebCore::LayerCompositingThread::setNeedsCommit):
70350        (WebCore::LayerCompositingThread::scheduleCommit):
70351        (WebCore::LayerCompositingThread::updateAnimations):
70352        (WebCore::LayerCompositingThread::hasVisibleHolePunchRect):
70353        (WebCore::LayerCompositingThread::createLayerRendererSurface):
70354        * platform/graphics/blackberry/LayerCompositingThread.h: Added.
70355        (Graphics):
70356        (WebCore):
70357        (LayerCompositingThread):
70358        (WebCore::LayerCompositingThread::bindContentsTexture):
70359        (WebCore::LayerCompositingThread::getSublayers):
70360        (WebCore::LayerCompositingThread::setSuperlayer):
70361        (WebCore::LayerCompositingThread::superlayer):
70362        (WebCore::LayerCompositingThread::drawTransform):
70363        (WebCore::LayerCompositingThread::setDrawOpacity):
70364        (WebCore::LayerCompositingThread::drawOpacity):
70365        (WebCore::LayerCompositingThread::layerRendererSurface):
70366        (WebCore::LayerCompositingThread::clearLayerRendererSurface):
70367        (WebCore::LayerCompositingThread::setMaskLayer):
70368        (WebCore::LayerCompositingThread::maskLayer):
70369        (WebCore::LayerCompositingThread::setReplicaLayer):
70370        (WebCore::LayerCompositingThread::replicaLayer):
70371        (WebCore::LayerCompositingThread::getDrawRect):
70372        (WebCore::LayerCompositingThread::getTransformedBounds):
70373        (WebCore::LayerCompositingThread::hasMissingTextures):
70374        (WebCore::LayerCompositingThread::isDirty):
70375        (WebCore::LayerCompositingThread::isVisible):
70376        (WebCore::LayerCompositingThread::setOpacity):
70377        (WebCore::LayerCompositingThread::setTransform):
70378        (WebCore::LayerCompositingThread::hasRunningAnimations):
70379        (WebCore::LayerCompositingThread::numSublayers):
70380
703812012-03-26  Kent Tamura  <tkent@chromium.org>
70382
70383        Add a notification function for detaching to TextFieldDecorator
70384        https://bugs.webkit.org/show_bug.cgi?id=82142
70385
70386        Reviewed by Dimitri Glazkov.
70387
70388        Add willDetach() functio to TextFieldDecorator. This will be
70389        needed if a decorator opens a popup UI on handleClick(), and the
70390        popup UI should be closed when the attaching text field is
70391        detached.
70392
70393        No new tests because of no behavior changes in any platforms.
70394
70395        * html/shadow/TextFieldDecorationElement.cpp:
70396        (WebCore::TextFieldDecorationElement::hostInput):
70397        Added. A utilify function to get an HTMLInputElement*.
70398        (WebCore::TextFieldDecorationElement::updateImage): Use hostInput().
70399        (WebCore::TextFieldDecorationElement::customStyleForRenderer): ditto.
70400        (WebCore::TextFieldDecorationElement::detach): Added. Calls TextFieldDecorator::willDetach().
70401        (WebCore::TextFieldDecorationElement::defaultEventHandler): Use hostInput().
70402        * html/shadow/TextFieldDecorationElement.h:
70403        (TextFieldDecorator):
70404        (TextFieldDecorationElement):
70405
704062012-03-26  Dan Bernstein  <mitz@apple.com>
70407
70408        Tried to fix the 32-bit build after r112021.
70409
70410        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
70411        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
70412
704132012-03-26  Leo Yang  <leo.yang@torchmobile.com.cn>
70414
70415        [BlackBerry] Skeleton code of AsyncFileSystemBlackBerry.cpp
70416        https://bugs.webkit.org/show_bug.cgi?id=82157
70417
70418        Reviewed by Rob Buis.
70419
70420        AsyncFileSystemBlackBerry is responsible for asynchronous operating
70421        on file system for the blackberry porting. It's just skeleton code
70422        containing no implementation yet.
70423
70424        No new tests because of skeleton code.
70425
70426        * PlatformBlackBerry.cmake: Add AsyncFileSystemBlackBerry.cpp if ENABLE_FILE_SYSTEM is on.
70427        * platform/AsyncFileSystem.cpp:
70428        (WebCore):
70429        * platform/blackberry/AsyncFileSystemBlackBerry.cpp: Added.
70430        (WebCore):
70431        (WebCore::AsyncFileSystem::isAvailable):
70432        (WebCore::AsyncFileSystem::isValidType):
70433        (WebCore::AsyncFileSystem::create):
70434        (WebCore::AsyncFileSystem::openFileSystem):
70435        (WebCore::AsyncFileSystem::crackFileSystemURL):
70436        (WebCore::AsyncFileSystemBlackBerry::AsyncFileSystemBlackBerry):
70437        (WebCore::AsyncFileSystemBlackBerry::~AsyncFileSystemBlackBerry):
70438        (WebCore::AsyncFileSystemBlackBerry::toURL):
70439        (WebCore::AsyncFileSystemBlackBerry::move):
70440        (WebCore::AsyncFileSystemBlackBerry::copy):
70441        (WebCore::AsyncFileSystemBlackBerry::remove):
70442        (WebCore::AsyncFileSystemBlackBerry::removeRecursively):
70443        (WebCore::AsyncFileSystemBlackBerry::readMetadata):
70444        (WebCore::AsyncFileSystemBlackBerry::createFile):
70445        (WebCore::AsyncFileSystemBlackBerry::createDirectory):
70446        (WebCore::AsyncFileSystemBlackBerry::fileExists):
70447        (WebCore::AsyncFileSystemBlackBerry::directoryExists):
70448        (WebCore::AsyncFileSystemBlackBerry::readDirectory):
70449        (WebCore::AsyncFileSystemBlackBerry::createWriter):
70450        (WebCore::AsyncFileSystemBlackBerry::createSnapshotFileAndReadMetadata):
70451        * platform/blackberry/AsyncFileSystemBlackBerry.h: Added.
70452        (WebCore):
70453        (AsyncFileSystemBlackBerry):
70454
704552012-03-26  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
70456
70457        [BlackBerry] CredentialBackingStore implement encryptString() and decryptString()
70458        https://bugs.webkit.org/show_bug.cgi?id=82204
70459
70460        Reviewed by Rob Buis.
70461
70462        Implemented encryptedString() and decryptedString() in class CredentialBackingStore
70463        by calling BlackBerry::Platform::Encryptor::encryptString() and
70464        BlackBerry::Platform::Encryptor::encryptString() respectively.
70465
70466        No new tests.
70467
70468        * platform/network/blackberry/CredentialBackingStore.cpp:
70469        (WebCore::CredentialBackingStore::encryptedString):
70470        (WebCore::CredentialBackingStore::decryptedString):
70471
704722012-03-26  Pavel Feldman  <pfeldman@chromium.org>
70473
70474        Web Inspector: 'use strict' exceptions stop in inspector code
70475        https://bugs.webkit.org/show_bug.cgi?id=82199
70476
70477        Reviewed by Yury Semikhatsky.
70478
70479        Accessing callee from within InjectedScript made inspector stop on handled exceptions.
70480        I replaced it with Object.prototype.toString.call(obj) === "[object Arguments]".
70481
70482        * inspector/InjectedScriptSource.js:
70483
704842012-03-26  Mihai Balan  <mibalan@adobe.com>
70485
70486        [CSS Regions] In region styling (@-webkit-region) the position for CSS rules is incorrectly computed
70487        https://bugs.webkit.org/show_bug.cgi?id=81901
70488
70489        Reviewed by Antti Koivisto.
70490
70491        Right now CSS rules position does not take into account rules that are inside a @-webkit-region
70492        declaration, leading to buggy behavior where rules that appear later in the document are superseded
70493        by rules that appear earlier in the document (opposite as how things should be). The fix updates
70494        the "global" rules counter once the rules in a @-webkit-region declaration have been added.
70495
70496        Tests: fast/regions/region-style-rule-position-expected.html
70497               fast/regions/region-style-rule-position.html
70498
70499        * css/CSSStyleSelector.cpp:
70500        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
70501
705022012-03-26  Pierre Rossi  <pierre.rossi@nokia.com>
70503
70504        [Qt] Disable focus ring in the mobile theme.
70505        https://bugs.webkit.org/show_bug.cgi?id=81934
70506
70507        For mobile devices intended to be used only through
70508        touch, the focus rings makes little sense and feels
70509        awkward.
70510
70511        Reviewed by Kenneth Rohde Christiansen.
70512
70513        No new tests. This is merely a cosmetic touch.
70514
70515        * platform/qt/RenderThemeQtMobile.h:
70516        (RenderThemeQtMobile):
70517        (WebCore::RenderThemeQtMobile::platformFocusRingColor):
70518
705192012-03-26  Charles Wei  <charles.wei@torchmobile.com.cn>
70520
70521        [BlackBerry] Clean up networking code and remove WML support.
70522        https://bugs.webkit.org/show_bug.cgi?id=82170
70523
70524        Reviewed by Rob Buis.
70525
70526        This just removes the WML support of BlackBerry porting, which is already 
70527        removed from WebCore. No new tests needed.
70528
70529        * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
70530        (WebCore):
70531        * platform/network/blackberry/DeferredData.cpp:
70532        (WebCore::DeferredData::DeferredData):
70533        (WebCore::DeferredData::processDeferredData):
70534        * platform/network/blackberry/DeferredData.h:
70535        (DeferredData):
70536        (WebCore::DeferredData::hasDeferredData):
70537        * platform/network/blackberry/NetworkJob.cpp:
70538        * platform/network/blackberry/NetworkJob.h:
70539        (NetworkJob):
70540        * platform/network/blackberry/ResourceResponse.h:
70541        (WebCore::ResourceResponse::ResourceResponse):
70542        (ResourceResponse):
70543        * platform/network/blackberry/ResourceResponseBlackBerry.cpp:
70544        (WebCore::ResourceResponse::doPlatformCopyData):
70545        (WebCore::ResourceResponse::doPlatformAdopt):
70546
705472012-03-26  Philip Rogers  <pdr@google.com>
70548
70549        Add invalid bounding box concept to SVG containers
70550        https://bugs.webkit.org/show_bug.cgi?id=81104
70551
70552        Reviewed by Nikolas Zimmermann.
70553
70554        An empty <g> element needs to use an invalid bounding box because
70555        an empty bounding box isn't the default state. This change
70556        introduces the concept of an invalid object bounding box for
70557        both RenderSVGContainer and RenderSVGRoot. Code that
70558        does not explicitly check that the bounding box is valid
70559        should be unaffected by this change. We use this new invalid
70560        flag in computeContainerBoundingBoxes so that we do not
70561        include invalid bounding boxes.
70562
70563        This change also contains a small fix in
70564        RenderSVGContainer::toRenderSVGContainer which depended on
70565        RenderSVGViewportContainer not inheriting from RenderSVGContainer,
70566        which it now does.
70567
70568        Test: svg/custom/getBBox-empty-container.html
70569
70570        * rendering/svg/RenderSVGContainer.cpp:
70571        (WebCore::RenderSVGContainer::RenderSVGContainer):
70572        (WebCore::RenderSVGContainer::updateCachedBoundaries):
70573        * rendering/svg/RenderSVGContainer.h:
70574        (WebCore::RenderSVGContainer::isObjectBoundingBoxValid):
70575        (RenderSVGContainer):
70576        (WebCore::toRenderSVGContainer):
70577        * rendering/svg/RenderSVGRoot.cpp:
70578        (WebCore::RenderSVGRoot::RenderSVGRoot):
70579        (WebCore::RenderSVGRoot::updateCachedBoundaries):
70580        * rendering/svg/RenderSVGRoot.h:
70581        (RenderSVGRoot):
70582        * rendering/svg/SVGRenderSupport.cpp:
70583        (WebCore):
70584        (WebCore::updateObjectBoundingBox):
70585        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
70586        * rendering/svg/SVGRenderSupport.h:
70587        (SVGRenderSupport):
70588
705892012-03-26  Alexei Filippov  <alexeif@chromium.org>
70590
70591        Web Inspector: Speed up the retainers build phase.
70592        https://bugs.webkit.org/show_bug.cgi?id=81763
70593
70594        Replacing the edge iterator in retainers building phase
70595        makes it run 10 times faster (400 ms vs. 4 sec).
70596
70597        Reviewed by Yury Semikhatsky.
70598
70599        * inspector/front-end/HeapSnapshot.js:
70600        (WebInspector.HeapSnapshot.prototype._buildRetainers):
70601
706022012-03-22  Alexander Pavlov  <apavlov@chromium.org>
70603
70604        Web Inspector: Migrate InspectorCSSAgent to strict protocol types
70605        https://bugs.webkit.org/show_bug.cgi?id=81923
70606
70607        Reviewed by Pavel Feldman.
70608
70609        No new tests, as this is a refactoring.
70610
70611        * inspector/CodeGeneratorInspector.py:
70612        * inspector/InspectorCSSAgent.cpp:
70613        (SelectorProfile):
70614        (WebCore::SelectorProfile::toInspectorObject):
70615        (WebCore::InspectorCSSAgent::clearFrontend):
70616        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
70617        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
70618        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
70619        (WebCore::InspectorCSSAgent::getAllStyleSheets):
70620        (WebCore::InspectorCSSAgent::getStyleSheet):
70621        (WebCore::InspectorCSSAgent::setPropertyText):
70622        (WebCore::InspectorCSSAgent::toggleProperty):
70623        (WebCore::InspectorCSSAgent::setRuleSelector):
70624        (WebCore::InspectorCSSAgent::addRule):
70625        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
70626        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
70627        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
70628        (WebCore::InspectorCSSAgent::collectStyleSheets):
70629        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
70630        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
70631        * inspector/InspectorCSSAgent.h:
70632        (InspectorCSSAgent):
70633        * inspector/InspectorStyleSheet.cpp:
70634        (WebCore::buildSourceRangeObject):
70635        (WebCore::buildMediaObject):
70636        (WebCore::fillMediaListChain):
70637        (WebCore::InspectorStyle::buildObjectForStyle):
70638        (WebCore::InspectorStyle::buildArrayForComputedStyle):
70639        (WebCore::InspectorStyle::styleWithProperties):
70640        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
70641        (WebCore::InspectorStyleSheet::buildObjectForStyleSheetInfo):
70642        (WebCore::InspectorStyleSheet::buildObjectForRule):
70643        (WebCore::InspectorStyleSheet::buildObjectForStyle):
70644        * inspector/InspectorStyleSheet.h:
70645        (WebCore::InspectorCSSId::asProtocolValue):
70646        (InspectorStyle):
70647        (InspectorStyleSheet):
70648
706492012-03-26  Alexander Pavlov  <apavlov@chromium.org>
70650
70651        Web Inspector: [REGRESSION] Workarounds for security checks when retrieving stylesheet rule lists are broken
70652        https://bugs.webkit.org/show_bug.cgi?id=82191
70653
70654        Reviewed by Vsevolod Vlasov.
70655
70656        Test: http/tests/inspector/modify-cross-domain-rule.html
70657
70658        * inspector/InspectorStyleSheet.cpp:
70659        (WebCore::asCSSRuleList):
70660        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
70661
706622012-03-26  Carlos Garcia Campos  <cgarcia@igalia.com>
70663
70664        Unreviewed. Fix make distcheck.
70665
70666        * GNUmakefile.list.am: Add missing files.
70667
706682012-03-26  Jason Liu  <jason.liu@torchmobile.com.cn>
70669
70670        [BlackBerry] Cookies mismatch when login to gmail.
70671        https://bugs.webkit.org/show_bug.cgi?id=82165
70672
70673        Redirection's response can add or update cookies. The cookies of ResourceRequest is dirty
70674        in this case. We shouldn't copy the dirty cookie header from ResourceRequest to PlatformRequest
70675        for redirection loading.
70676
70677        This issue didn't happen before because we used m_cookieData not the cookie header.
70678        Now we use the cookie header to avoid storing double cookie's data, and m_cookieData is removed.
70679
70680        Reviewed by George Staikos.
70681
70682        No new tests. It is a refactoring issue.
70683
70684        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
70685        (WebCore::ResourceRequest::initializePlatformRequest):
70686
706872012-03-26  Alexis Menard  <alexis.menard@openbossa.org>
70688
70689        Increase code sharing between StylePropertySet and CSSPropertyLonghand.
70690        https://bugs.webkit.org/show_bug.cgi?id=81960
70691
70692        Reviewed by Antti Koivisto.
70693
70694        Use longhands declaration from CSSPropertyLonghand in StylePropertySet in order
70695        to avoid code duplication.
70696
70697        No new tests : refactoring only, we shouldn't have any behavior difference.
70698
70699        * css/CSSPropertyLonghand.cpp:
70700        (WebCore::backgroundLonghand):
70701        Re-order the array to match the spec default order.
70702        (WebCore::webkitMaskLonghand):
70703        Re-order to match the original order.
70704        (WebCore::webkitTransformOriginLonghand):
70705        A LayoutTest shows that a property was missing.
70706        * css/StylePropertySet.cpp:
70707        (WebCore::StylePropertySet::getPropertyValue):
70708        (WebCore::StylePropertySet::borderSpacingValue):
70709        (WebCore::StylePropertySet::get4Values):
70710        (WebCore::StylePropertySet::getLayeredShorthandValue):
70711        (WebCore::StylePropertySet::getShorthandValue):
70712        (WebCore::StylePropertySet::getCommonValue):
70713        (WebCore::StylePropertySet::asText):
70714        * css/StylePropertySet.h:
70715        (WebCore):
70716        (StylePropertySet):
70717
707182012-03-26  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
70719
70720        [Qt] Assert in GestureTapHighlighter.
70721        https://bugs.webkit.org/show_bug.cgi?id=82187
70722
70723        Reviewed by Kenneth Rohde Christiansen.
70724
70725        Adjust the boundaries of the center-rect before performing the intersection test,
70726        since adjusting the boundary may cause a new intersection.
70727
70728        * page/GestureTapHighlighter.cpp:
70729
707302012-03-26  Antti Koivisto  <antti@apple.com>
70731
70732        Split MediaList into internal and CSSOM types
70733        https://bugs.webkit.org/show_bug.cgi?id=82149
70734
70735        Reviewed by Andread Kling.
70736
70737        MediaList is a CSSOM type and should not be used internally.
70738        
70739        - Use new type MediaQuerySet internally to represent a collection of media queries.
70740        - Create MediaList wrapper on-demand for CSSOM purposes only.
70741        
70742        This moves us forward in separating CSSOM from the internal stylesheet implementation.
70743        
70744        MediaQuerySet really belongs to a file of its own but that is not part of this patch.
70745        
70746        * css/CSSGrammar.y:
70747        * css/CSSImportRule.cpp:
70748        (WebCore::CSSImportRule::create):
70749        (WebCore):
70750        (WebCore::CSSImportRule::CSSImportRule):
70751        (WebCore::CSSImportRule::~CSSImportRule):
70752        (WebCore::CSSImportRule::media):
70753        (WebCore::CSSImportRule::cssText):
70754        * css/CSSImportRule.h:
70755        (WebCore):
70756        (CSSImportRule):
70757        (WebCore::CSSImportRule::mediaQueries):
70758        * css/CSSMediaRule.cpp:
70759        (WebCore::CSSMediaRule::CSSMediaRule):
70760        (WebCore::CSSMediaRule::~CSSMediaRule):
70761        (WebCore::CSSMediaRule::cssText):
70762        * css/CSSMediaRule.h:
70763        (WebCore::CSSMediaRule::create):
70764        (WebCore::CSSMediaRule::media):
70765        (WebCore::CSSMediaRule::mediaQueries):
70766        (CSSMediaRule):
70767        * css/CSSParser.cpp:
70768        (WebCore::CSSParser::parseMediaQuery):
70769        (WebCore::CSSParser::createMediaQuerySet):
70770        (WebCore::CSSParser::createImportRule):
70771        (WebCore::CSSParser::createMediaRule):
70772        (WebCore::CSSParser::updateLastMediaLine):
70773        * css/CSSParser.h:
70774        (WebCore):
70775        (CSSParser):
70776        * css/CSSStyleSelector.cpp:
70777        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
70778        * css/CSSStyleSheet.cpp:
70779        (WebCore):
70780        (WebCore::CSSStyleSheet::media):
70781        (WebCore::CSSStyleSheet::setMediaQueries):
70782        * css/CSSStyleSheet.h:
70783        (WebCore):
70784        (CSSStyleSheet):
70785        (WebCore::CSSStyleSheet::mediaQueries):
70786        * css/MediaList.cpp:
70787        (WebCore):
70788        (WebCore::MediaQuerySet::MediaQuerySet):
70789        (WebCore::MediaQuerySet::~MediaQuerySet):
70790        (WebCore::parseMediaDescriptor):
70791        (WebCore::MediaQuerySet::parse):
70792        (WebCore::MediaQuerySet::add):
70793        (WebCore::MediaQuerySet::remove):
70794        (WebCore::MediaQuerySet::addMediaQuery):
70795        (WebCore::MediaQuerySet::mediaText):
70796        (WebCore::MediaQuerySet::ensureMediaList):
70797        
70798            - Use OwnPtr<> for MediaQuery ownership.
70799            - Move the appropriate functions to MediaQuerySet.
70800            - Clean up a bit to make this more readable and better aligned to WebKit style.
70801        
70802        (WebCore::MediaList::MediaList):
70803        (WebCore::MediaList::~MediaList):
70804        (WebCore::MediaList::setMediaText):
70805        (WebCore::MediaList::item):
70806        (WebCore::MediaList::deleteMedium):
70807        (WebCore::MediaList::appendMedium):
70808        * css/MediaList.h:
70809        (WebCore):
70810        (WebCore::MediaQuerySet::create):
70811        (WebCore::MediaQuerySet::createAllowingDescriptionSyntax):
70812        (MediaQuerySet):
70813        (WebCore::MediaQuerySet::queryVector):
70814        (WebCore::MediaQuerySet::lastLine):
70815        (WebCore::MediaQuerySet::setLastLine):
70816        (MediaList):
70817        (WebCore::MediaList::ref):
70818        (WebCore::MediaList::deref):
70819        (WebCore::MediaList::length):
70820        (WebCore::MediaList::mediaText):
70821        (WebCore::MediaList::queries):
70822        * css/MediaQueryEvaluator.cpp:
70823        (WebCore::MediaQueryEvaluator::eval):
70824        * css/MediaQueryEvaluator.h:
70825        (WebCore):
70826        (MediaQueryEvaluator):
70827        * css/MediaQueryList.cpp:
70828        (WebCore::MediaQueryList::create):
70829        (WebCore::MediaQueryList::MediaQueryList):
70830        * css/MediaQueryList.h:
70831        (WebCore):
70832        (MediaQueryList):
70833        * css/MediaQueryMatcher.cpp:
70834        (WebCore::MediaQueryMatcher::evaluate):
70835        (WebCore::MediaQueryMatcher::matchMedia):
70836        * css/MediaQueryMatcher.h:
70837        (WebCore):
70838        (MediaQueryMatcher):
70839        * css/StyleMedia.cpp:
70840        (WebCore::StyleMedia::matchMedium):
70841        * css/StyleSheet.cpp:
70842        (WebCore::StyleSheet::~StyleSheet):
70843        
70844            Move the media query ownership to CSSStyleSheet where it belongs.
70845        
70846        (WebCore):
70847        * css/StyleSheet.h:
70848        (WebCore::StyleSheet::media):
70849        (StyleSheet):
70850        * dom/DOMImplementation.cpp:
70851        (WebCore::DOMImplementation::createCSSStyleSheet):
70852        * dom/ProcessingInstruction.cpp:
70853        (WebCore::ProcessingInstruction::setCSSStyleSheet):
70854        * dom/StyleElement.cpp:
70855        (WebCore::StyleElement::createSheet):
70856        * html/HTMLLinkElement.cpp:
70857        (WebCore::HTMLLinkElement::process):
70858        (WebCore::HTMLLinkElement::setCSSStyleSheet):
70859        * html/HTMLMediaElement.cpp:
70860        (WebCore::HTMLMediaElement::selectNextSourceChild):
70861        * html/parser/HTMLPreloadScanner.cpp:
70862        (WebCore::HTMLNames::PreloadTask::linkMediaAttributeIsScreen):
70863        * inspector/InspectorStyleSheet.cpp:
70864        (WebCore::buildMediaObject):
70865
708662012-03-26  Zeno Albisser  <zeno@webkit.org>
70867
70868        [Qt]WK2] TextureMapperShaderManager should query the program map before creating new shader program instances.
70869        https://bugs.webkit.org/show_bug.cgi?id=82178
70870
70871        If TextureMapperShaderManager already has a reference to an instance of the
70872        requested shader program type, this instance should be reused instead of
70873        creating a new one.
70874
70875        Reviewed by Noam Rosenthal.
70876
70877        * platform/graphics/texmap/TextureMapperShaderManager.h:
70878        (WebCore::TextureMapperShaderManager::getShaderProgram):
70879
708802012-03-26  Yury Semikhatsky  <yurys@chromium.org>
70881
70882        [Chromium] Web Inspector: dedicated worker inspector is empty
70883        https://bugs.webkit.org/show_bug.cgi?id=82181
70884
70885        "beforeunload" event for worker inspector front-end is ingnored if the
70886        window url is "about:blank" as it is just unload of the default content
70887        before the front-end page load.
70888
70889        Reviewed by Pavel Feldman.
70890
70891        * inspector/front-end/WorkerManager.js:
70892        (WebInspector.WorkerManager.prototype._workerInspectorClosing):
70893
708942012-03-22  Yury Semikhatsky  <yurys@chromium.org>
70895
70896        Web Inspector: split nodes and containment edges into two different arrays
70897        https://bugs.webkit.org/show_bug.cgi?id=81930
70898
70899        Extract heap profile nodes and edges into two separate arrays. This
70900        way we will have a continuous array of the heap graph nodes and can
70901        aviod additional mapping between node index and its position in the
70902        heap snapshot.
70903
70904        Reviewed by Pavel Feldman.
70905
70906        * inspector/front-end/HeapSnapshot.js:
70907        (WebInspector.HeapSnapshot.prototype._init):
70908        (WebInspector.HeapSnapshot.prototype._buildContinuousNodeArray):
70909        (WebInspector.HeapSnapshot.prototype._createOnlyNodesArray):
70910        (WebInspector.HeapSnapshot.prototype._restoreNodeTypes):
70911        (WebInspector.HeapSnapshot.prototype._createRetainmentEdgesArray):
70912        (WebInspector.HeapSnapshot.prototype._createContainmentEdgesArray):
70913        * inspector/front-end/HeapSnapshotProxy.js:
70914        (WebInspector.HeapSnapshotWorker):
70915
709162012-03-22  Pavel Podivilov  <podivilov@chromium.org>
70917
70918        Web Inspector: move resource loading logic from SourceMapParser to CompilerScriptMapping.
70919        https://bugs.webkit.org/show_bug.cgi?id=81897
70920
70921        Reviewed by Vsevolod Vlasov.
70922
70923        SourceMapParser should only deal with payload parsing.
70924
70925        * inspector/front-end/CompilerScriptMapping.js:
70926        (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
70927        (WebInspector.CompilerScriptMapping.prototype.addScript):
70928        (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
70929        (WebInspector.SourceMapPayload):
70930        (WebInspector.SourceMapParser):
70931        (WebInspector.SourceMapParser.prototype.sourceContent):
70932        (WebInspector.SourceMapParser.prototype.findEntry):
70933        (WebInspector.SourceMapParser.prototype.findEntryReversed):
70934        * inspector/front-end/ContentProviders.js:
70935        (WebInspector.CompilerSourceMappingContentProvider):
70936        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
70937
709382012-03-26  Ilya Tikhonovsky  <loislo@chromium.org>
70939
70940        Web Inspector: replace indexOf('a text') === 0 with RegExp because it is much faster.
70941        https://bugs.webkit.org/show_bug.cgi?id=82175
70942
70943        We were using aString.indexOf("Window") but it is not effective from performance point of view.
70944        I'm replaced it with RegExp.
70945
70946        Reviewed by Yury Semikhatsky.
70947
70948        * inspector/front-end/HeapSnapshot.js:
70949        (WebInspector.HeapSnapshotNode.prototype.get isWindow):
70950        (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
70951
709522012-03-26  Pavel Feldman  <pfeldman@chromium.org>
70953
70954        Web Inspector: breakpoints should be disabled while live editing JavaScript.
70955        https://bugs.webkit.org/show_bug.cgi?id=81947
70956
70957        Reviewed by Yury Semikhatsky.
70958
70959        This change disables (removes from the backend) the breakpoints while editing script.
70960        Undoing or committing the change restores the breakpoints. Main logic is implemented within
70961        JavaScriptSourceFrame, but it required minor tweaking of the text editor: more correct
70962        undo/redo wrapper and better detection of the noop opterations.
70963
70964        * inspector/front-end/JavaScriptSourceFrame.js:
70965        (WebInspector.JavaScriptSourceFrame):
70966        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
70967        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
70968        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
70969        (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
70970        (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
70971        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
70972        * inspector/front-end/TextEditorModel.js:
70973        (WebInspector.TextEditorModel.endsWithBracketRegex.):
70974        * inspector/front-end/TextViewer.js:
70975        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.before):
70976        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.after):
70977        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
70978        (WebInspector.TextEditorMainPanel.prototype._applyDomUpdates):
70979
709802012-03-25  Nat Duca  <nduca@chromium.org>
70981
70982        [chromium] Route willBeginFrame from compositor to WebWidget
70983        https://bugs.webkit.org/show_bug.cgi?id=82171
70984
70985        Reviewed by Darin Fisher.
70986
70987        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
70988        (CCLayerTreeHostClient):
70989        (WebCore::CCLayerTreeHost::willBeginFrame):
70990        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
70991        (WebCore::CCThreadProxy::beginFrame):
70992
709932012-03-25  Hayato Ito  <hayato@chromium.org>
70994
70995        [Shadow DOM] Add Reified DOM Tree traversal internal APIs.
70996        https://bugs.webkit.org/show_bug.cgi?id=79197
70997
70998        Reviewed by Dimitri Glazkov.
70999
71000        Add internal APIs which can be used to traverse Reified DOM tree, which is
71001        a result of node distribution algorithm explained in Shadow DOM spec.
71002        https://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html
71003
71004        Every public functions defined in ReifiedTreeTraversal are static
71005        functions and are named in a similar way to ones defined in WebCore::Node class.
71006        The only difference is that ReifiedTreeTraversal APIs consider shadow
71007        hosts and also traverse nodes is Shadow DOM subtrees, crossing shadow's upper and lower boundary
71008        transparently.
71009
71010        There is no actual client which uses these APIs. Follow-up patches for FocusNavigation
71011        and EventDispatcher will use the APIs so that they can traverse node in reified tree order.
71012
71013        Test: fast/dom/shadow/reified-tree-traversal.html
71014
71015        * CMakeLists.txt:
71016        * GNUmakefile.list.am:
71017        * Target.pri:
71018        * WebCore.exp.in:
71019        * WebCore.gypi:
71020        * WebCore.vcproj/WebCore.vcproj:
71021        * WebCore.xcodeproj/project.pbxproj:
71022        * dom/ReifiedTreeTraversal.cpp: Added.
71023        (WebCore):
71024        (WebCore::isShadowHost):
71025        (WebCore::shadowTreeFor):
71026        (WebCore::shadowTreeOfParent):
71027        (WebCore::ReifiedTreeTraversal::firstChild):
71028        (WebCore::ReifiedTreeTraversal::lastChild):
71029        (WebCore::ReifiedTreeTraversal::lastChildWithoutCrossingUpperBoundary):
71030        (WebCore::ReifiedTreeTraversal::traverseChild):
71031        (WebCore::ReifiedTreeTraversal::traverseLightChildren):
71032        (WebCore::ReifiedTreeTraversal::traverseNode):
71033        (WebCore::ReifiedTreeTraversal::nextSibling):
71034        (WebCore::ReifiedTreeTraversal::previousSibling):
71035        (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToInsertionPoint):
71036        (WebCore::ReifiedTreeTraversal::traverseSiblingInCurrentTree):
71037        (WebCore::ReifiedTreeTraversal::traverseSiblingOrBackToYoungerShadowRoot):
71038        (WebCore::ReifiedTreeTraversal::escapeFallbackContentElement):
71039        (WebCore::ReifiedTreeTraversal::traverseNodeEscapingFallbackContents):
71040        (WebCore::ReifiedTreeTraversal::parentNode):
71041        (WebCore::ReifiedTreeTraversal::parentNodeWithoutCrossingUpperBoundary):
71042        (WebCore::ReifiedTreeTraversal::parentNodeOrBackToInsertionPoint):
71043        (WebCore::ReifiedTreeTraversal::parentNodeInCurrentTree):
71044        (WebCore::ReifiedTreeTraversal::parentNodeBackToYoungerShadowRootOrHost):
71045        (WebCore::ReifiedTreeTraversal::adjustedParentNode):
71046        (WebCore::ReifiedTreeTraversal::traverseNextNode):
71047        (WebCore::ReifiedTreeTraversal::traverseNextNodeWithoutCrossingUpperBoundary):
71048        (WebCore::ReifiedTreeTraversal::traversePreviousNode):
71049        (WebCore::ReifiedTreeTraversal::traversePreviousNodeWithoutCrossingUpperBoundary):
71050        * dom/ReifiedTreeTraversal.h: Added.
71051        (WebCore):
71052        (ReifiedTreeTraversal):
71053        * dom/ShadowTree.cpp:
71054        (WebCore::ShadowTree::insertionPointFor):
71055        (WebCore::ShadowTree::selectionFor):
71056        (WebCore):
71057        * dom/ShadowTree.h:
71058        (WebCore):
71059        (ShadowTree):
71060        * html/shadow/HTMLContentSelector.cpp:
71061        (WebCore::HTMLContentSelector::findFor):
71062        * html/shadow/HTMLContentSelector.h:
71063        (HTMLContentSelectionSet):
71064        (WebCore::HTMLContentSelectionSet::find):
71065        (HTMLContentSelector):
71066        * html/shadow/InsertionPoint.h:
71067        (WebCore::isInsertionPoint):
71068        (WebCore::toInsertionPoint):
71069        (WebCore):
71070        * testing/Internals.cpp:
71071        (WebCore::Internals::nextSiblingInReifiedTree):
71072        (WebCore):
71073        (WebCore::Internals::firstChildInReifiedTree):
71074        (WebCore::Internals::lastChildInReifiedTree):
71075        (WebCore::Internals::traverseNextNodeInReifiedTree):
71076        (WebCore::Internals::traversePreviousNodeInReifiedTree):
71077        * testing/Internals.h:
71078        (Internals):
71079        * testing/Internals.idl:
71080
710812012-03-25  Nikita Vasilyev  <me@elv1s.ru>
71082
71083        Web Inspector: Indenting fully selected line should not indent the line next to it
71084        https://bugs.webkit.org/show_bug.cgi?id=81758
71085
71086        In the editor, you can select a whole line by moving caret at 0 column
71087        position and pressing Shift + Arrow Down/Up. After that, pressing Tab
71088        indents 2 lines: fully selected one and the line next to it. The patch
71089        changes this behaviour to indent only fully selected line since that is
71090        what pretty-match all the other code editors do.
71091
71092        Reviewed by Pavel Feldman.
71093
71094        Test: inspector/editor/indentation.html
71095
71096        * inspector/front-end/TextViewer.js:
71097        (WebInspector.TextEditorMainPanel.prototype._indentLines):
71098            Do not insert indent at the begging of the last line if a selection
71099            ends on its 0 column.
71100        (WebInspector.TextEditorMainPanel.prototype._unindentLines):
71101            Do not remove indent at the begging of the last line if a selection
71102            ends on its 0 column.
71103
711042012-03-25  Abhishek Arya  <inferno@chromium.org>
71105
71106        Crash in ContainerNode::resumePostAttachCallbacks.
71107        https://bugs.webkit.org/show_bug.cgi?id=82159
71108
71109        Reviewed by Hajime Morita.
71110
71111        Test: plugins/object-onfocus-mutation-crash.html
71112
71113        * dom/ContainerNode.cpp:
71114        (WebCore::ContainerNode::resumePostAttachCallbacks): dispatching post attach
71115        callbacks when our attach depth is 1 can fire mutation events such as onfocus
71116        which can blow away |this|. Need to protect it with a RefPtr.
71117        * html/HTMLPlugInImageElement.cpp:
71118        (WebCore::HTMLPlugInImageElement::attach): add calls to suspend attach callbacks
71119        until the function completes.
71120
711212012-03-25  Dana Jansens  <danakj@chromium.org>
71122
71123        [chromium] Layers with animating transforms should prepaint even if they are not visible yet
71124        https://bugs.webkit.org/show_bug.cgi?id=82117
71125
71126        Reviewed by Adrienne Walker.
71127
71128        For animating transforms, instead of early-outing when the layer's
71129        visible rect is empty, let it prepaint regardless.
71130
71131        For now, we just only paint the outermost tiles, and only for small
71132        layers, with at most 9 tiles.
71133
71134        This changes the behaviour of ContentLayerChromium's
71135        idlePaintContentsIfDirty() so I've guarded the behaviour of the two
71136        prepainting functions that it calls to ensure the old behaviour holds
71137        without animations, and the new behaviour works with them.
71138
71139        Unit test: TiledLayerChromiumTest.idlePaintZeroSizedLayer
71140                   TiledLayerChromiumTest.idlePaintZeroSizedAnimatingLayer
71141                   TiledLayerChromiumTest.idlePaintNonVisibleLayers
71142                   TiledLayerChromiumTest.idlePaintNonVisibleAnimatingLayers
71143
71144        * platform/graphics/chromium/ContentLayerChromium.cpp:
71145        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
71146        * platform/graphics/chromium/TiledLayerChromium.cpp:
71147        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
71148        (WebCore::TiledLayerChromium::needsIdlePaint):
71149        (WebCore::TiledLayerChromium::idlePaintRect):
71150        * platform/graphics/chromium/TiledLayerChromium.h:
71151        (WebCore::TiledLayerChromium::numPaintedTiles):
71152        (TiledLayerChromium):
71153
711542012-03-25  Antti Koivisto  <antti@apple.com>
71155
71156        Don't use CSSRuleList for child rule ownership
71157        https://bugs.webkit.org/show_bug.cgi?id=82127
71158
71159        Reviewed by Andreas Kling.
71160
71161        CSSMediaRule, WebKitCSSKeyframesRule and WebKitRegionRule use CSSRuleList for storing children. 
71162        They should use a simple rule vector instead. CSSRuleList is a CSSOM type that should be 
71163        instantiated on-demand for API purposes only.
71164        
71165        - Use Vector<RefPtr<CSSRule>> for storing the rule children of CSSMediaRule, WebKitCSSKeyframesRule 
71166          and WebKitRegionRule.
71167        - Add direct accessors, use internally instead of CSSRuleList.
71168        - Make CSSRuleList an abstract base. Add concrete subclasses for dealing with the underlying storage.
71169        - Instantiate CSSRuleLists on-demand.
71170        - Make CSSStyleSheet.cssRules always return the same object instance. This matches Firefox and the rest
71171          of our CSSOM implementation. Tested by fast/dom/gc-9.html.
71172          
71173        The patch decouples internals from the external API. It simplifies the child rule ownership and reduces 
71174        indirection. Memory use of css rules with children is reduced (by a ptr, refcount and heap allocation overhead).
71175
71176        * css/CSSGrammar.y:
71177        * css/CSSMediaRule.cpp:
71178        (WebCore::CSSMediaRule::CSSMediaRule):
71179        (WebCore::CSSMediaRule::~CSSMediaRule):
71180        (WebCore::CSSMediaRule::append):
71181        (WebCore::CSSMediaRule::insertRule):
71182        (WebCore::CSSMediaRule::deleteRule):
71183        (WebCore::CSSMediaRule::cssText):
71184        (WebCore::CSSMediaRule::cssRules):
71185        * css/CSSMediaRule.h:
71186        (WebCore::CSSMediaRule::create):
71187        (CSSMediaRule):
71188        (WebCore::CSSMediaRule::ruleCount):
71189        (WebCore::CSSMediaRule::ruleAt):
71190        * css/CSSParser.cpp:
71191        (WebCore::CSSParser::createMediaRule):
71192        (WebCore::CSSParser::createRuleList):
71193        (WebCore::CSSParser::createRegionRule):
71194        * css/CSSParser.h:
71195        (WebCore):
71196        * css/CSSRuleList.cpp:
71197        (WebCore):
71198        (WebCore::StaticCSSRuleList::StaticCSSRuleList):
71199        (WebCore::StaticCSSRuleList::~StaticCSSRuleList):
71200        (WebCore::StaticCSSRuleList::deref):
71201        (WebCore::StaticCSSRuleList::item):        
71202        * css/CSSRuleList.h:
71203        (CSSRuleList):
71204
71205            Turn CSSRuleList into abstract interface.
71206                    
71207        (StaticCSSRuleList):
71208        (WebCore::StaticCSSRuleList::create):
71209        (WebCore::StaticCSSRuleList::ref):
71210        (WebCore::StaticCSSRuleList::rules):
71211        (WebCore::StaticCSSRuleList::styleSheet):
71212        (WebCore::StaticCSSRuleList::length):
71213        
71214            Concrete implementation for fixed list of rules.
71215    
71216        (WebCore):
71217        (LiveCSSRuleList):
71218        (WebCore::LiveCSSRuleList::LiveCSSRuleList):
71219        (WebCore::LiveCSSRuleList::ref):
71220        (WebCore::LiveCSSRuleList::deref):
71221        (WebCore::LiveCSSRuleList::length):
71222        (WebCore::LiveCSSRuleList::item):
71223        (WebCore::LiveCSSRuleList::styleSheet):
71224        
71225            Concrete implemenation for live list backed by the underlying container rule.
71226            LiveCSSRuleList is owned by the underlying rule. Refcount is forwarded. 
71227        
71228        * css/CSSStyleSelector.cpp:
71229        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
71230        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
71231        * css/CSSStyleSelector.h:
71232        (CSSStyleSelector):
71233        * css/CSSStyleSheet.cpp:
71234        
71235            The same scheme for CSSStyleSheet.cssRule as with container rules.
71236        
71237        (StyleSheetCSSRuleList):
71238        (WebCore::StyleSheetCSSRuleList::StyleSheetCSSRuleList):
71239        (WebCore::StyleSheetCSSRuleList::ref):
71240        (WebCore::StyleSheetCSSRuleList::deref):
71241        (WebCore::StyleSheetCSSRuleList::length):
71242        (WebCore::StyleSheetCSSRuleList::item):
71243        (WebCore::StyleSheetCSSRuleList::styleSheet):
71244        (WebCore):
71245        (WebCore::CSSStyleSheet::rules):
71246        (WebCore::CSSStyleSheet::cssRules):
71247        * css/CSSStyleSheet.h:
71248        (CSSStyleSheet):
71249        * css/WebKitCSSKeyframesRule.cpp:
71250        (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
71251        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
71252        (WebCore):
71253        (WebCore::WebKitCSSKeyframesRule::append):
71254        (WebCore::WebKitCSSKeyframesRule::deleteRule):
71255        (WebCore::WebKitCSSKeyframesRule::findRule):
71256        (WebCore::WebKitCSSKeyframesRule::findRuleIndex):
71257        (WebCore::WebKitCSSKeyframesRule::cssText):
71258        (WebCore::WebKitCSSKeyframesRule::cssRules):
71259        * css/WebKitCSSKeyframesRule.h:
71260        (WebKitCSSKeyframesRule):
71261        (WebCore::WebKitCSSKeyframesRule::ruleCount):
71262        (WebCore::WebKitCSSKeyframesRule::ruleAt):
71263        (WebCore::WebKitCSSKeyframesRule::length):
71264        (WebCore::WebKitCSSKeyframesRule::item):
71265        * css/WebKitCSSRegionRule.cpp:
71266        (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
71267        (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
71268        (WebCore::WebKitCSSRegionRule::cssText):
71269        (WebCore::WebKitCSSRegionRule::cssRules):
71270        * css/WebKitCSSRegionRule.h:
71271        * inspector/InspectorStyleSheet.cpp:
71272        (WebCore::asCSSRuleList):
71273        (WebCore::InspectorStyleSheet::addRule):
71274        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
71275
712762012-03-25  Kentaro Hara  <haraken@chromium.org>
71277
71278        Remove duplicated GenerateConditionalString() from code generators
71279        https://bugs.webkit.org/show_bug.cgi?id=82148
71280
71281        Reviewed by Adam Barth.
71282
71283        Previously GenerateConditionalString()s were defined in each code generator,
71284        and they were doing the same thing. This patch puts GenerateConditionalString()
71285        in CodeGenerator.pm and removes duplicated GenerateConditionalString()s.
71286
71287        No tests. No change in the generated code.
71288
71289        * bindings/scripts/CodeGenerator.pm:
71290        (GenerateConditionalString):
71291        * bindings/scripts/CodeGeneratorCPP.pm:
71292        (GenerateHeader):
71293        (GenerateImplementation):
71294        * bindings/scripts/CodeGeneratorGObject.pm:
71295        (GenerateProperty):
71296        (GenerateProperties):
71297        (GenerateFunction):
71298        (WriteData):
71299        * bindings/scripts/CodeGeneratorJS.pm:
71300        (GenerateHeaderContentHeader):
71301        (GenerateImplementationContentHeader):
71302        (GenerateHeader):
71303        (GenerateImplementation):
71304        (GenerateCallbackHeader):
71305        (GenerateCallbackImplementation):
71306        * bindings/scripts/CodeGeneratorObjC.pm:
71307        (GenerateHeader):
71308        (GenerateImplementation):
71309        * bindings/scripts/CodeGeneratorV8.pm:
71310        (GenerateHeader):
71311        (GenerateNormalAttrGetter):
71312        (GenerateNormalAttrSetter):
71313        (GenerateOverloadedFunctionCallback):
71314        (GenerateFunctionCallback):
71315        (GenerateBatchedAttributeData):
71316        (GenerateImplementation):
71317        (GenerateHeaderContentHeader):
71318        (GenerateImplementationContentHeader):
71319        (GenerateCallbackHeader):
71320        (GenerateCallbackImplementation):
71321
713222012-03-25  Kentaro Hara  <haraken@chromium.org>
71323
71324        Move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*, and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*
71325        https://bugs.webkit.org/show_bug.cgi?id=82146
71326
71327        Reviewed by Adam Barth.
71328
71329        Now SQLDatabase is renamed to WebDatabase (See Modules/webdatabase/).
71330        We should move DOMWindowSQLDatabase.* to DOMWindowWebDatabase.*,
71331        and move WorkerContextSQLDatabase.* to WorkerContextWebDatabase.*.
71332        We'll rename the SQL_DATABASE flag to the WEB_DATABASE flag in a follow-up patch.
71333
71334        No tests. No change in behavior.
71335
71336        * Modules/webdatabase/DOMWindowWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.cpp.
71337        (WebCore):
71338        (WebCore::DOMWindowWebDatabase::openDatabase):
71339        * Modules/webdatabase/DOMWindowWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.h.
71340        (WebCore):
71341        (DOMWindowWebDatabase):
71342        (WebCore::DOMWindowWebDatabase::DOMWindowWebDatabase):
71343        (WebCore::DOMWindowWebDatabase::~DOMWindowWebDatabase):
71344        * Modules/webdatabase/DOMWindowWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/DOMWindowSQLDatabase.idl.
71345        * Modules/webdatabase/WorkerContextWebDatabase.cpp: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.cpp.
71346        (WebCore):
71347        (WebCore::WorkerContextWebDatabase::openDatabase):
71348        (WebCore::WorkerContextWebDatabase::openDatabaseSync):
71349        * Modules/webdatabase/WorkerContextWebDatabase.h: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.h.
71350        (WebCore):
71351        (WorkerContextWebDatabase):
71352        (WebCore::WorkerContextWebDatabase::WorkerContextWebDatabase):
71353        (WebCore::WorkerContextWebDatabase::~WorkerContextWebDatabase):
71354        * Modules/webdatabase/WorkerContextWebDatabase.idl: Renamed from Source/WebCore/Modules/webdatabase/WorkerContextSQLDatabase.idl.
71355
71356        * DerivedSources.make:
71357        * DerivedSources.pri:
71358        * GNUmakefile.list.am:
71359        * Target.pri:
71360        * WebCore.gypi:
71361        * WebCore.vcproj/WebCore.vcproj:
71362        * WebCore.xcodeproj/project.pbxproj:
71363
713642012-03-25  Philip Rogers  <pdr@google.com>
71365
71366        Avoid race condition when iterating over pending resources
71367        https://bugs.webkit.org/show_bug.cgi?id=82115
71368
71369        Reviewed by Nikolas Zimmermann.
71370
71371        We can hit a race condition in SVGStyledElement::buildPendingResourcesIfNeeded
71372        where pending elements can become non-pending while we iterate over them.
71373
71374        This patch cleans up buildPendingResourcesIfNeeded and re-works how pending
71375        resources are removed. Because pending resources can be modified while
71376        iterating over them, we introduce m_pendingResourcesForRemoval that
71377        holds pending resources that are marked for removal. Instead of iterating
71378        over this list we simply remove each pending resource from
71379        m_pendingResourcesForRemoval; if a pending resource is modified or removed
71380        during the processing of another pending resource this list is updated before
71381        the next element can be accessed.
71382
71383        This change also removes removePendingResourceForElement which is no longer
71384        referenced.
71385
71386        Test: http/tests/svg/change-id-with-pending-resources.html
71387
71388        * svg/SVGDocumentExtensions.cpp:
71389        (WebCore::SVGDocumentExtensions::~SVGDocumentExtensions):
71390        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources):
71391        (WebCore::SVGDocumentExtensions::removePendingResourceForRemoval):
71392        (WebCore):
71393        (WebCore::SVGDocumentExtensions::markPendingResourcesForRemoval):
71394        (WebCore::SVGDocumentExtensions::removeElementFromPendingResourcesForRemoval):
71395        * svg/SVGDocumentExtensions.h:
71396        (SVGDocumentExtensions):
71397        * svg/SVGStyledElement.cpp:
71398        (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
71399
714002012-03-25  Arvid Nilsson  <anilsson@rim.com>
71401
71402        [BlackBerry] Accelerated compositing layers fail to render when using WebPageCompositor
71403        https://bugs.webkit.org/show_bug.cgi?id=82104
71404        RIM PR: 145963
71405
71406        Reviewed by Rob Buis.
71407
71408        The embedder may use vertex buffers, which affected the interpretation
71409        our vertex array pointers from memory pointers to offsets into a vertex
71410        buffer. The resulting geometry often resulted in no visible layers on
71411        screen.
71412
71413        Fixed by getting rid of any bound buffer when we enter
71414        LayerRenderer::drawLayers().
71415
71416        * platform/graphics/blackberry/LayerRenderer.cpp:
71417        (WebCore::LayerRenderer::drawLayers):
71418
714192012-03-24  Nat Duca  <nduca@chromium.org>
71420
71421        [chromium] Instrument gesture animations with async traces
71422        https://bugs.webkit.org/show_bug.cgi?id=82076
71423
71424        Reviewed by Adrienne Walker.
71425
71426        * platform/ActivePlatformGestureAnimation.cpp:
71427        (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
71428        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
71429        * platform/PlatformGestureCurve.h:
71430        (PlatformGestureCurve):
71431        * platform/TouchpadFlingPlatformGestureCurve.h:
71432        (WebCore::TouchpadFlingPlatformGestureCurve::debugName):
71433        * platform/WheelFlingPlatformGestureCurve.h:
71434        (WebCore::WheelFlingPlatformGestureCurve::debugName):
71435        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
71436        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
71437        (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
71438        * platform/graphics/chromium/cc/CCGestureCurve.h:
71439        (CCGestureCurve):
71440
714412012-03-24  Jeffrey Pfau  <jpfau@apple.com>
71442
71443        XML error document creation should not fire mutation events
71444        https://bugs.webkit.org/show_bug.cgi?id=80765
71445
71446        Reviewed by Adam Barth.
71447
71448        Broke two tests that expected the old behavior, which have now been updated.
71449
71450        * xml/XMLErrors.cpp:
71451        (WebCore::createXHTMLParserErrorHeader):
71452        (WebCore::XMLErrors::insertErrorMessageBlock):
71453
714542012-03-24  Florin Malita  <fmalita@google.com>
71455
71456        ForeignObject content is zoomed two times
71457        https://bugs.webkit.org/show_bug.cgi?id=76282
71458
71459        Reviewed by Nikolas Zimmermann.
71460
71461        Test: svg/zoom/page/zoom-foreign-content.svg
71462
71463        Reset the effective zoom property for FO-nested content to avoid
71464        having the zoom factor applied multiple times (zooming is handled by
71465        the top level SVG root element).
71466
71467        * css/CSSStyleSelector.cpp:
71468        (WebCore::CSSStyleSelector::adjustRenderStyle):
71469
714702012-03-24  Chris Fleizach  <cfleizach@apple.com>
71471
71472        AX: Support solution to handle invalid ax text marker
71473        https://bugs.webkit.org/show_bug.cgi?id=82023
71474
71475        Reviewed by Oliver Hunt.
71476
71477        This provides methods to better use text markers so that assistive technologies
71478        can know when they are valid, and can convert them to and from absolute positions.
71479
71480        Test: platform/mac/accessibility/textmarker-routines.html
71481
71482        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
71483        (-[WebAccessibilityObjectWrapper accessibilityParameterizedAttributeNames]):
71484        (-[WebAccessibilityObjectWrapper _convertToNSRange:]):
71485        (-[WebAccessibilityObjectWrapper _indexForTextMarker:]):
71486        (-[WebAccessibilityObjectWrapper _textMarkerForIndex:]):
71487        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
71488
714892012-03-24  Victor Carbune  <vcarbune@adobe.com>
71490
71491        Quick fix for rendering controls regression.
71492        https://bugs.webkit.org/show_bug.cgi?id=82125
71493
71494        Reviewed by Eric Carlson.
71495
71496        Only temporary fix. Tests to cover the problem should be added
71497
71498        * html/shadow/MediaControlElements.cpp:
71499        (WebCore::MediaControlPanelElement::makeOpaque): The display:none
71500        property should be toggled only by the media element now.
71501        (WebCore::MediaControlPanelElement::makeTransparent): The timer
71502        that toggles the dispalay:none shouldn't be used now.
71503
715042012-03-24  Kevin Ollivier  <kevino@theolliviers.com>
71505
71506        [wx] Unreviewed. Add header needed for compilation.
71507
71508        * html/shadow/TextFieldDecorationElement.cpp:
71509
715102012-03-24  Abhishek Arya  <inferno@chromium.org>
71511
71512        Crash in ApplyStyleCommand::applyInlineStyleToNodeRange.
71513        https://bugs.webkit.org/show_bug.cgi?id=81959
71514
71515        Reviewed by Ryosuke Niwa.
71516
71517        Test: editing/execCommand/apply-style-command-crash.html
71518
71519        * editing/ApplyStyleCommand.cpp:
71520        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange): RefPtr the weak
71521        node iterator |node|.
71522        * editing/ApplyStyleCommand.h:
71523        (ApplyStyleCommand): convert |startNode| and |pastEndNode| into PassRefPtr.
71524
715252012-03-24  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
71526
71527        Unreviewed, build fix since we use "-Werror=unused-but-set-variable".
71528
71529        The variable 'it' was set at TextureMapperShaderManager.h:110 but never used.
71530
71531        * platform/graphics/texmap/TextureMapperShaderManager.h:
71532        (WebCore::TextureMapperShaderManager::getShaderProgram):
71533
715342012-03-24  Zeno Albisser  <zeno@webkit.org>
71535
71536        [Qt][WK2] Make TextureMapperShaderManager::getShaderProgram() not be a template.
71537        https://bugs.webkit.org/show_bug.cgi?id=82049
71538
71539        Change the getShaderProgram() function to not be a template.
71540        This is a workaround for a compiler bug that leads to an assert
71541        when compiling in debug mode on mac.
71542
71543        Reviewed by Noam Rosenthal.
71544
71545        * platform/graphics/texmap/TextureMapperGL.cpp:
71546        (WebCore::TextureMapperGL::drawTexture):
71547        (WebCore::TextureMapperGL::beginClip):
71548        * platform/graphics/texmap/TextureMapperShaderManager.h:
71549        (TextureMapperShaderProgram):
71550        (WebCore::TextureMapperShaderManager::getShaderProgram):
71551        (TextureMapperShaderManager):
71552
715532012-03-23  Shawn Singh  <shawnsingh@chromium.org>
71554
71555        [chromium] Incorrect replica originTransform used in CCDamageTracker
71556        https://bugs.webkit.org/show_bug.cgi?id=82118
71557
71558        Reviewed by Adrienne Walker.
71559
71560        Unit test added to CCDamageTrackerTest.cpp
71561
71562        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
71563        (WebCore::CCDamageTracker::extendDamageForRenderSurface):
71564
715652012-03-23  Dana Jansens  <danakj@chromium.org>
71566
71567        [chromium] When prepainting fails, tiles dirty rects may be cleared
71568        https://bugs.webkit.org/show_bug.cgi?id=82107
71569
71570        Reviewed by Adrienne Walker.
71571
71572        When prepainting, if a tile is unable to be reserved due to memory
71573        limits, we bail out of prepareToUpdateTiles. But we would have
71574        cleared the dirty rect of any previous tiles. This leaves them
71575        in a bad state where their textures are reserved, but their textureIds
71576        are set to 0, and they are not marked dirty. This means that they will
71577        not be updated and displayed if they become visible, since it is
71578        assumed that valid textures with zero textureId must have a dirty
71579        region.
71580
71581        We fix this by not clearing the dirty rects until we know we are
71582        going to update the layer.
71583
71584        Unit test: TiledLayerChromiumTest.pushTilesAfterIdlePaintFailed
71585
71586        * platform/graphics/chromium/TiledLayerChromium.cpp:
71587        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
71588        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
71589        (WebCore::CCTiledLayerImpl::hasTextureIdForTileAt):
71590        (WebCore):
71591        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
71592        (CCTiledLayerImpl):
71593
715942012-03-23  Stephanie Lewis  <slewis@apple.com>
71595
71596        https://bugs.webkit.org/show_bug.cgi?id=81963 WebProcess can get stuck in GC during many low memory signals.
71597        <rdar://problem/11094830> WebProcess appears to get stuck in its GC handler (81963).
71598        Remove the call to garbage collect  in low memory signal handler.  Did some testing with hitting the low memory handler
71599        during Membuster and we would get back at most 100k - 200k.  That isn't enough to help the system, and in 
71600        that state the GC collection can take a substantial amount of time.
71601
71602        Reviewed by Geoff Garen.
71603
71604        Performance Change, no change in behavior.
71605
71606        * platform/mac/MemoryPressureHandlerMac.mm:
71607        (WebCore::MemoryPressureHandler::releaseMemory):
71608
716092012-03-23  W. James MacLean  <wjmaclean@chromium.org>
71610
71611        [chromium] CCLayerTreeHostImpl::scrollBegin() should return ScrollFailed for CCInputHandlerClient::Gesture type when wheel handlers found.
71612        https://bugs.webkit.org/show_bug.cgi?id=82106
71613
71614        Reviewed by Adrienne Walker.
71615
71616        Existing unit tests updated.
71617
71618        With gesture scroll events now being handled as mouse wheel events, we should not start a gesture scroll when
71619        wheel handlers are present.
71620
71621        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
71622        (WebCore::CCLayerTreeHostImpl::scrollBegin):
71623
716242012-03-23  Adam Barth  <abarth@webkit.org>
71625
71626        Move Notifications APIs from WorkerContext.idl to WorkerContextNotifications.idl
71627        https://bugs.webkit.org/show_bug.cgi?id=79635
71628
71629        Reviewed by Kentaro Hara.
71630
71631        This patch moves the NotificationCenter from WorkerContext to
71632        WorkerContextNotificiations, reducing clutter in WorkerContext.  After
71633        this patch, Notifications are almost entirely contained in the
71634        notifications directory.
71635
71636        * CMakeLists.txt:
71637        * DerivedSources.make:
71638        * DerivedSources.pri:
71639        * GNUmakefile.list.am:
71640        * Target.pri:
71641        * WebCore.gypi:
71642        * WebCore.vcproj/WebCore.vcproj:
71643        * WebCore.xcodeproj/project.pbxproj:
71644        * workers/WorkerContext.cpp:
71645        (WebCore::WorkerContext::~WorkerContext):
71646        * workers/WorkerContext.h:
71647        (WebCore):
71648        (WorkerContext):
71649        * workers/WorkerContext.idl:
71650
716512012-03-23  Michal Mocny  <mmocny@google.com>
71652
71653        [chromium] RootLayer was not being checked for null causing segfaults very rarely.
71654        https://bugs.webkit.org/show_bug.cgi?id=82111
71655
71656        Reviewed by Adrienne Walker.
71657
71658        * platform/graphics/chromium/LayerRendererChromium.cpp:
71659        (WebCore::LayerRendererChromium::beginDrawingFrame):
71660        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
71661        (WebCore::CCLayerTreeHostImpl::drawLayers):
71662
716632012-03-23  Shawn Singh  <shawnsingh@chromium.org>
71664
71665        [chromium] Fix race bug that clobbers CCLayerImpl updateRect
71666        https://bugs.webkit.org/show_bug.cgi?id=82109
71667
71668        Reviewed by Dirk Pranke.
71669
71670        If the main thread commits twice before the impl thread actually
71671        draws, then the updateRect of the first frame gets lost forever,
71672        and not propagated to the damage tracker.
71673
71674        The solution is to accumulate the updateRect. The CCLayerImpl
71675        updateRect is already being correctly cleared at the appropriate
71676        time after drawing.
71677
71678        Unit test added to LayerChromiumTest.cpp.
71679
71680        * platform/graphics/chromium/LayerChromium.cpp:
71681        (WebCore::LayerChromium::pushPropertiesTo):
71682
716832012-03-23  Rafael Weinstein  <rafaelw@chromium.org>
71684
71685        [MutationObservers] attributeFilter should be case sensitive at all times
71686        https://bugs.webkit.org/show_bug.cgi?id=81822
71687
71688        Reviewed by Ryosuke Niwa.
71689
71690        This removes the behavior in MutationObserverRegistration which treats
71691        attributeFilter as case insensitive for HTML elements in HTML documents.
71692
71693        Relevant tests have been updated.
71694
71695        * dom/MutationObserverRegistration.cpp:
71696        (WebCore::MutationObserverRegistration::resetObservation):
71697        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
71698        * dom/MutationObserverRegistration.h:
71699        (MutationObserverRegistration):
71700
717012012-03-23  Kentaro Hara  <haraken@chromium.org>
71702
71703        Move WebSocket APIs from WorkerContext.idl to WorkerContextWebSocket.idl
71704        https://bugs.webkit.org/show_bug.cgi?id=79663
71705
71706        Reviewed by Adam Barth.
71707
71708        For WebKit modularization, this patch moves WebSocket APIs from WorkerContext.idl
71709        to WorkerContextWebSocket.idl.
71710
71711        Tests: http/tests/websocket/tests/hybi/workers/* (No change in test results)
71712
71713        * CMakeLists.txt:
71714        * DerivedSources.make:
71715        * DerivedSources.pri:
71716        * GNUmakefile.list.am:
71717        * Modules/websockets/WorkerContextWebSocket.idl: Added.
71718        * WebCore.gypi:
71719        * WebCore.xcodeproj/project.xcodeproj:
71720        * workers/WorkerContext.idl:
71721
717222012-03-23  Parag Radke  <parag@motorola.com>
71723
71724        REGRESSION: can select text of an input button
71725        https://bugs.webkit.org/show_bug.cgi?id=13624
71726
71727        Reviewed by Ryosuke Niwa.
71728
71729        Text in a button should never have a selection background of its own painted
71730        but if the button is inside an editable area, then the whole button should
71731        have it's selection background painted.
71732
71733        Test: editing/selection/selection-button-text.html
71734
71735        * rendering/RenderButton.h:
71736        Added implementation for the virtual function canBeSelectionLeaf()
71737        which returns true if the button renderer is editable, false other wise.
71738        * rendering/RenderTextFragment.h:
71739        Added implementation for the virtual function canBeSelectionLeaf()
71740        which returns true if the text fragment renderer is editable, false other wise.
71741
717422012-03-23  Eric Carlson  <eric.carlson@apple.com>
71743
71744        Remove unnecessary ASSERT from LoadableTextTrack::trackElementIndex
71745        https://bugs.webkit.org/show_bug.cgi?id=82095
71746
71747        Reviewed by Dan Bernstein.
71748
71749        No new tests, removed a bogus ASSERT that was sometimes triggered by tests.
71750
71751        * html/track/LoadableTextTrack.cpp:
71752        (WebCore::LoadableTextTrack::trackElementIndex): Remove ASSERT.
71753
717542012-03-23  Eric Carlson  <eric.carlson@apple.com>
71755
71756        Layout Test media/video-source-load.html is failing
71757        https://bugs.webkit.org/show_bug.cgi?id=82094
71758
71759        Reviewed by Alexey Proskuryakov.
71760
71761        No new tests, tested by media/video-source-load.html.
71762
71763        * html/HTMLMediaElement.cpp:
71764        (WebCore::HTMLMediaElement::sourceWasAdded): Set m_nextChildNodeToConsider when called 
71765            with networkState == NETWORK_EMPTY because the resource selection algorithm has
71766            not started yet.
71767
717682012-03-23  Alexey Proskuryakov  <ap@apple.com>
71769
71770        [Mac] No need for platform-specific ENABLE_BLOB values
71771        https://bugs.webkit.org/show_bug.cgi?id=82102
71772
71773        Reviewed by David Kilzer.
71774
71775        * Configurations/FeatureDefines.xcconfig:
71776
717772012-03-23  Kent Tamura  <tkent@chromium.org>
71778
71779        Add TextFieldDecorator and TextFieldDecorationElement
71780        https://bugs.webkit.org/show_bug.cgi?id=80580
71781
71782        Reviewed by Dimitri Glazkov.
71783
71784        These classes will be used to add a decoration icon to a text field
71785        <input> from outside of WebCore. We have a plan to use them in Chromium
71786        port. So this patch doesn't add TextFieldDecorationElement.{cpp,h} to
71787        non-Chromium build files.
71788
71789        How it works:
71790        When a shadow subtree for a text field is created, we ask ChromeClient
71791        to decorate it. ChromeClient appends a TextFieldDecorationElement to the
71792        existing shadow subtree or another shadow tree. A TextFieldDecorator is
71793        associated to a TextFieldDecorationElement, and it provides decoration
71794        icon images and a click handler.
71795
71796        No new tests. This patch won't make any behavior change for now.
71797
71798        * WebCore.gypi: Add TextFieldDecorationElement.cpp and TextFieldDecorationElement.h
71799        * dom/Element.h:
71800        (WebCore::Element::isTextFieldDecoration):
71801        * html/TextFieldInputType.cpp:
71802        (WebCore::TextFieldInputType::createShadowSubtree):
71803        Calls ChromeClient::willAddTextFieldDecorationsTo() and addTextFieldDecorationsTo().
71804        * html/shadow/TextFieldDecorationElement.cpp: Added.
71805        (WebCore::TextFieldDecorator::~TextFieldDecorator):
71806        (WebCore::TextFieldDecorationElement::TextFieldDecorationElement):
71807        (WebCore::TextFieldDecorationElement::create):
71808        (WebCore::TextFieldDecorationElement::isTextFieldDecoration):
71809        (WebCore::TextFieldDecorationElement::updateImage):
71810        (WebCore::TextFieldDecorationElement::customStyleForRenderer):
71811        Sets the size to a square of the font-size.
71812        (WebCore::TextFieldDecorationElement::createRenderer):
71813        Always creates a RenderImage.
71814        (WebCore::TextFieldDecorationElement::attach):
71815        Sets an image for appropriate state.
71816        (WebCore::TextFieldDecorationElement::isMouseFocusable):
71817        (WebCore::TextFieldDecorationElement::defaultEventHandler):
71818        Delegate a click event to the corresponding function of TextFieldDecorator.
71819        * html/shadow/TextFieldDecorationElement.h: Added.
71820        (TextFieldDecorator): Added.
71821        (TextFieldDecorationElement): Added.
71822        (WebCore::toTextFieldDecorationElement): Added.
71823        * page/ChromeClient.h:
71824        (WebCore::ChromeClient::willAddTextFieldDecorationsTo): Add an empty implementation.
71825        (WebCore::ChromeClient::addTextFieldDecorationsTo): ditto.
71826
718272012-03-23  Adam Klein  <adamk@chromium.org>
71828
71829        Match DOM4 spec with respect to DocumentFragment insertion
71830        https://bugs.webkit.org/show_bug.cgi?id=82089
71831
71832        Reviewed by Ryosuke Niwa.
71833
71834        DOM4 specifies the behavior of appendChild, insertBefore, and replaceChild
71835        in terms of "mutation algorithms":
71836
71837        http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#mutation-algorithms
71838
71839        This change updates WebKit to match, in particular with regard to DocumentFragments.
71840        Previously, ContainerNode would remove nodes one at a time, then add them to the new parent.
71841        When combined with MutationObservers, this results in overly-verbose mutation records.
71842        Now we create as few records as possible, matching the spec as well as Gecko's implementation
71843        of MutationObservers.
71844
71845        Note that we still need to check validity each time through the loop,
71846        since inserting a node may dispatch events. In a future change, I hope
71847        to move these events so that they fire only after all nodes are inserted,
71848        but that's too much to tackle all in one.
71849
71850        Tests: fast/mutation/document-fragment-insertion.html
71851
71852        * dom/ContainerNode.cpp:
71853        (WebCore::collectChildrenAndRemoveFromOldParent): New helper method
71854        combining collectTargetNodes() with the removal of the collected nodes from
71855        their old parent, if any.
71856        (WebCore::ContainerNode::insertBefore): Use new helper method instead
71857        of removing nodes one at a time from the fragment.
71858        (WebCore::ContainerNode::replaceChild): ditto. Also removed some redundant asserts
71859        and moved the "do nothing" check out of the loop.
71860        (WebCore::ContainerNode::appendChild): Use new helper method.
71861
718622012-03-23  Stephen White  <senorblanco@chromium.org>
71863
71864        [skia] Switch to Skia's implementation of the feMorphology filter.
71865        https://bugs.webkit.org/show_bug.cgi?id=82085
71866
71867        Reviewed by Dirk Schulze.
71868
71869        Covered by existing tests in svg/filters/.
71870
71871        * WebCore.gypi:
71872        * platform/graphics/filters/FEMorphology.h:
71873        (FEMorphology):
71874        * platform/graphics/filters/skia/FEMorphologySkia.cpp: Added.
71875        (WebCore):
71876        (WebCore::FEMorphology::platformApplySkia):
71877
718782012-03-23  Adam Barth  <abarth@webkit.org>
71879
71880        Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 3)
71881        https://bugs.webkit.org/show_bug.cgi?id=82027
71882
71883        Reviewed by Kentaro Hara.
71884
71885        Rather than watching for willDetachPage, NotificationCenter can just
71886        override ActiveDOMObject::stop directly to be notified when it needs to
71887        stop.
71888
71889        Switching NotificationCenter over to using ActiveDOMObject callbacks
71890        frees DOMWindowNotification to implement reconnectFrame.  However, this
71891        is only really a victory in princple because NotificationCenter always
71892        returns false for canSuspend(), which means we'll never actually use
71893        the reconnectFrame functionality.  However, this patch does move us
71894        closer to the time when NotificationCenter can implement
71895        ActiveDOMObject::suspend/resume to play nice with the PageCache.
71896
71897        * notifications/DOMWindowNotifications.cpp:
71898        (WebCore::DOMWindowNotifications::disconnectFrame):
71899        (WebCore::DOMWindowNotifications::reconnectFrame):
71900        * notifications/DOMWindowNotifications.h:
71901        (DOMWindowNotifications):
71902        * notifications/NotificationCenter.cpp:
71903        (WebCore::NotificationCenter::NotificationCenter):
71904        (WebCore::NotificationCenter::stop):
71905        * notifications/NotificationCenter.h:
71906        (NotificationCenter):
71907
719082012-03-23  Daniel Cheng  <dcheng@chromium.org>
71909
71910        [chromium] Support file drag out using DataTransferItemList::add(File)
71911        https://bugs.webkit.org/show_bug.cgi?id=81261
71912
71913        Reviewed by Tony Chang.
71914
71915        Original patch by Varun Jain <varunjain@chromium.org>.
71916        I've updated the original patch to remove 'downloadurl' handling since it's not tested, nor
71917        is it necessary for File objects, since File objects correspond to a native filesystem path.
71918
71919        Test: fast/events/drag-dataTransferItemList-file-handling.html
71920
71921        * platform/chromium/DataTransferItemListChromium.cpp:
71922        (WebCore::DataTransferItemListChromium::add):
71923
719242012-03-23  Zan Dobersek  <zandobersek@gmail.com>
71925
71926        [GObject bindings] Supplemental interfaces are not disabled with the "Conditional" attribute
71927        https://bugs.webkit.org/show_bug.cgi?id=80030
71928
71929        Reviewed by Martin Robinson.
71930
71931        Changes in CodeGeneratorGObject.pm:
71932        - group implementation of private helpers and guard them inside
71933        an ifdef if a root conditional attribute is present.
71934        - always define the type of a GObject binding, even if the root
71935        conditional feature is not enabled
71936        - the methods are generated as well, but are simply stubs if the
71937        feature is not enabled, throwing a warning upon interaction.
71938        - if the method itself is guarded by a conditional attribute,
71939        the stub implementation gains one more level of depth, throwing
71940        a warning if the method's conditional feature is not enabled
71941        but the root conditional feature is.
71942        - small style fixes in random places.
71943
71944        Also changed are GObject baselines for binding tests.
71945
71946        No new tests - no new testable functionality.
71947
71948        * bindings/gobject/GNUmakefile.am:
71949        * bindings/scripts/CodeGeneratorGObject.pm:
71950        (HumanReadableConditional):
71951        (GenerateConditionalWarn):
71952        (GenerateProperty):
71953        (GenerateProperties):
71954        (GenerateFunction):
71955        (GenerateFunctions):
71956        (GenerateCFile):
71957        (GenerateEventTargetIface):
71958        (Generate):
71959        (WriteData):
71960        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
71961        (WebKit):
71962        (WebKit::kit):
71963        (WebKit::wrapFloat64Array):
71964        (webkit_dom_float64array_finalize):
71965        (webkit_dom_float64array_foo):
71966        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
71967        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp:
71968        (WebKit):
71969        (WebKit::kit):
71970        (WebKit::wrapTestActiveDOMObject):
71971        (webkit_dom_test_active_dom_object_finalize):
71972        (webkit_dom_test_active_dom_object_exciting_function):
71973        (webkit_dom_test_active_dom_object_post_message):
71974        (webkit_dom_test_active_dom_object_get_exciting_attr):
71975        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h:
71976        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
71977        (WebKit):
71978        (WebKit::kit):
71979        (WebKit::core):
71980        (WebKit::wrapTestCallback):
71981        (webkit_dom_test_callback_finalize):
71982        (webkit_dom_test_callback_callback_with_no_param):
71983        (webkit_dom_test_callback_callback_with_class1param):
71984        (webkit_dom_test_callback_callback_with_class2param):
71985        (webkit_dom_test_callback_callback_with_non_bool_return_type):
71986        (webkit_dom_test_callback_callback_with_string_list):
71987        * bindings/scripts/test/GObject/WebKitDOMTestCallbackPrivate.h:
71988        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp:
71989        (WebKit):
71990        (WebKit::kit):
71991        (WebKit::wrapTestCustomNamedGetter):
71992        (webkit_dom_test_custom_named_getter_finalize):
71993        (webkit_dom_test_custom_named_getter_another_function):
71994        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h:
71995        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp:
71996        (WebKit):
71997        (WebKit::kit):
71998        (WebKit::wrapTestEventConstructor):
71999        (webkit_dom_test_event_constructor_finalize):
72000        (webkit_dom_test_event_constructor_get_attr1):
72001        (webkit_dom_test_event_constructor_get_attr2):
72002        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h:
72003        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp:
72004        (WebKit):
72005        (WebKit::core):
72006        (WebKit::wrapTestEventTarget):
72007        (webkit_dom_test_event_target_finalize):
72008        (webkit_dom_test_event_target_item):
72009        (webkit_dom_test_event_target_dispatch_event):
72010        * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h:
72011        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
72012        (WebKit):
72013        (WebKit::kit):
72014        (WebKit::core):
72015        (WebKit::wrapTestInterface):
72016        (webkit_dom_test_interface_finalize):
72017        (webkit_dom_test_interface_supplemental_method1):
72018        (webkit_dom_test_interface_supplemental_method2):
72019        (webkit_dom_test_interface_supplemental_method4):
72020        (webkit_dom_test_interface_get_supplemental_str1):
72021        (webkit_dom_test_interface_get_supplemental_str2):
72022        (webkit_dom_test_interface_set_supplemental_str2):
72023        (webkit_dom_test_interface_get_supplemental_node):
72024        (webkit_dom_test_interface_set_supplemental_node):
72025        * bindings/scripts/test/GObject/WebKitDOMTestInterfacePrivate.h:
72026        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListener.cpp:
72027        (WebKit):
72028        (WebKit::kit):
72029        (WebKit::wrapTestMediaQueryListListener):
72030        (webkit_dom_test_media_query_list_listener_finalize):
72031        * bindings/scripts/test/GObject/WebKitDOMTestMediaQueryListListenerPrivate.h:
72032        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp:
72033        (WebKit):
72034        (WebKit::kit):
72035        (WebKit::wrapTestNamedConstructor):
72036        (webkit_dom_test_named_constructor_finalize):
72037        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h:
72038        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
72039        (WebKit):
72040        (WebKit::kit):
72041        (WebKit::core):
72042        (WebKit::wrapTestObj):
72043        (webkit_dom_test_obj_finalize):
72044        (webkit_dom_test_obj_set_property):
72045        (webkit_dom_test_obj_get_property):
72046        (webkit_dom_test_obj_constructed):
72047        (webkit_dom_test_obj_class_init):
72048        (webkit_dom_test_obj_init):
72049        (webkit_dom_test_obj_void_method):
72050        (webkit_dom_test_obj_void_method_with_args):
72051        (webkit_dom_test_obj_int_method):
72052        (webkit_dom_test_obj_int_method_with_args):
72053        (webkit_dom_test_obj_obj_method):
72054        (webkit_dom_test_obj_obj_method_with_args):
72055        (webkit_dom_test_obj_method_with_sequence_arg):
72056        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
72057        (webkit_dom_test_obj_serialized_value):
72058        (webkit_dom_test_obj_idb_key):
72059        (webkit_dom_test_obj_options_object):
72060        (webkit_dom_test_obj_method_with_exception):
72061        (webkit_dom_test_obj_with_script_state_void):
72062        (webkit_dom_test_obj_with_script_state_obj):
72063        (webkit_dom_test_obj_with_script_state_void_exception):
72064        (webkit_dom_test_obj_with_script_state_obj_exception):
72065        (webkit_dom_test_obj_with_script_execution_context):
72066        (webkit_dom_test_obj_with_script_execution_context_and_script_state):
72067        (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
72068        (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
72069        (webkit_dom_test_obj_method_with_optional_arg):
72070        (webkit_dom_test_obj_method_with_non_optional_arg_and_optional_arg):
72071        (webkit_dom_test_obj_method_with_non_optional_arg_and_two_optional_args):
72072        (webkit_dom_test_obj_method_with_optional_string):
72073        (webkit_dom_test_obj_method_with_optional_string_is_undefined):
72074        (webkit_dom_test_obj_method_with_optional_string_is_null_string):
72075        (webkit_dom_test_obj_conditional_method1):
72076        (webkit_dom_test_obj_conditional_method2):
72077        (webkit_dom_test_obj_conditional_method3):
72078        (webkit_dom_test_obj_class_method):
72079        (webkit_dom_test_obj_class_method_with_optional):
72080        (webkit_dom_test_obj_overloaded_method1):
72081        (webkit_dom_test_obj_convert1):
72082        (webkit_dom_test_obj_convert2):
72083        (webkit_dom_test_obj_convert3):
72084        (webkit_dom_test_obj_convert4):
72085        (webkit_dom_test_obj_convert5):
72086        (webkit_dom_test_obj_mutable_point_function):
72087        (webkit_dom_test_obj_immutable_point_function):
72088        (webkit_dom_test_obj_orange):
72089        (webkit_dom_test_obj_strict_function):
72090        (webkit_dom_test_obj_get_read_only_int_attr):
72091        (webkit_dom_test_obj_get_read_only_string_attr):
72092        (webkit_dom_test_obj_get_read_only_test_obj_attr):
72093        (webkit_dom_test_obj_get_short_attr):
72094        (webkit_dom_test_obj_set_short_attr):
72095        (webkit_dom_test_obj_get_unsigned_short_attr):
72096        (webkit_dom_test_obj_set_unsigned_short_attr):
72097        (webkit_dom_test_obj_get_int_attr):
72098        (webkit_dom_test_obj_set_int_attr):
72099        (webkit_dom_test_obj_get_long_long_attr):
72100        (webkit_dom_test_obj_set_long_long_attr):
72101        (webkit_dom_test_obj_get_unsigned_long_long_attr):
72102        (webkit_dom_test_obj_set_unsigned_long_long_attr):
72103        (webkit_dom_test_obj_get_string_attr):
72104        (webkit_dom_test_obj_set_string_attr):
72105        (webkit_dom_test_obj_get_test_obj_attr):
72106        (webkit_dom_test_obj_set_test_obj_attr):
72107        (webkit_dom_test_obj_get_xml_obj_attr):
72108        (webkit_dom_test_obj_set_xml_obj_attr):
72109        (webkit_dom_test_obj_get_create):
72110        (webkit_dom_test_obj_set_create):
72111        (webkit_dom_test_obj_get_reflected_string_attr):
72112        (webkit_dom_test_obj_set_reflected_string_attr):
72113        (webkit_dom_test_obj_get_reflected_integral_attr):
72114        (webkit_dom_test_obj_set_reflected_integral_attr):
72115        (webkit_dom_test_obj_get_reflected_unsigned_integral_attr):
72116        (webkit_dom_test_obj_set_reflected_unsigned_integral_attr):
72117        (webkit_dom_test_obj_get_reflected_boolean_attr):
72118        (webkit_dom_test_obj_set_reflected_boolean_attr):
72119        (webkit_dom_test_obj_get_reflected_url_attr):
72120        (webkit_dom_test_obj_set_reflected_url_attr):
72121        (webkit_dom_test_obj_get_reflected_custom_integral_attr):
72122        (webkit_dom_test_obj_set_reflected_custom_integral_attr):
72123        (webkit_dom_test_obj_get_reflected_custom_boolean_attr):
72124        (webkit_dom_test_obj_set_reflected_custom_boolean_attr):
72125        (webkit_dom_test_obj_get_reflected_custom_url_attr):
72126        (webkit_dom_test_obj_set_reflected_custom_url_attr):
72127        (webkit_dom_test_obj_get_attr_with_getter_exception):
72128        (webkit_dom_test_obj_set_attr_with_getter_exception):
72129        (webkit_dom_test_obj_get_attr_with_setter_exception):
72130        (webkit_dom_test_obj_set_attr_with_setter_exception):
72131        (webkit_dom_test_obj_get_string_attr_with_getter_exception):
72132        (webkit_dom_test_obj_set_string_attr_with_getter_exception):
72133        (webkit_dom_test_obj_get_string_attr_with_setter_exception):
72134        (webkit_dom_test_obj_set_string_attr_with_setter_exception):
72135        (webkit_dom_test_obj_get_with_script_state_attribute):
72136        (webkit_dom_test_obj_set_with_script_state_attribute):
72137        (webkit_dom_test_obj_get_with_script_execution_context_attribute):
72138        (webkit_dom_test_obj_set_with_script_execution_context_attribute):
72139        (webkit_dom_test_obj_get_with_script_state_attribute_raises):
72140        (webkit_dom_test_obj_set_with_script_state_attribute_raises):
72141        (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
72142        (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
72143        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
72144        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
72145        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
72146        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
72147        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
72148        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
72149        (webkit_dom_test_obj_get_conditional_attr1):
72150        (webkit_dom_test_obj_set_conditional_attr1):
72151        (webkit_dom_test_obj_get_conditional_attr2):
72152        (webkit_dom_test_obj_set_conditional_attr2):
72153        (webkit_dom_test_obj_get_conditional_attr3):
72154        (webkit_dom_test_obj_set_conditional_attr3):
72155        (webkit_dom_test_obj_get_content_document):
72156        (webkit_dom_test_obj_get_mutable_point):
72157        (webkit_dom_test_obj_set_mutable_point):
72158        (webkit_dom_test_obj_get_immutable_point):
72159        (webkit_dom_test_obj_set_immutable_point):
72160        (webkit_dom_test_obj_get_strict_float):
72161        (webkit_dom_test_obj_set_strict_float):
72162        (webkit_dom_test_obj_get_description):
72163        (webkit_dom_test_obj_get_id):
72164        (webkit_dom_test_obj_set_id):
72165        (webkit_dom_test_obj_get_hash):
72166        * bindings/scripts/test/GObject/WebKitDOMTestObjPrivate.h:
72167        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
72168        (WebKit):
72169        (WebKit::kit):
72170        (WebKit::core):
72171        (WebKit::wrapTestSerializedScriptValueInterface):
72172        (webkit_dom_test_serialized_script_value_interface_finalize):
72173        (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
72174        (webkit_dom_test_serialized_script_value_interface_multi_transfer_list):
72175        (webkit_dom_test_serialized_script_value_interface_get_value):
72176        (webkit_dom_test_serialized_script_value_interface_set_value):
72177        (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
72178        (webkit_dom_test_serialized_script_value_interface_get_cached_value):
72179        (webkit_dom_test_serialized_script_value_interface_set_cached_value):
72180        (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
72181        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterfacePrivate.h:
72182
721832012-03-23  Dana Jansens  <danakj@chromium.org>
72184
72185        [chromium] Record painted pixel counts for measuring effectiveness of per-tile painting
72186        https://bugs.webkit.org/show_bug.cgi?id=82057
72187
72188        Reviewed by Adrienne Walker.
72189
72190        Adds painted pixel metrics to CCOverdrawMetrics class, and calls in
72191        to report painted areas when updating tiles in the TiledLayerChromium
72192        class.
72193
72194        Unit test: TiledLayerChromiumTest.opaqueContentsRegion
72195                   TiledLayerChromiumTest.pixelsPaintedMetrics
72196
72197        * platform/graphics/chromium/TiledLayerChromium.cpp:
72198        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
72199        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
72200        (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
72201        (WebCore::CCOverdrawMetrics::didPaint):
72202        (WebCore):
72203        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
72204        * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
72205        (CCOverdrawMetrics):
72206        (WebCore::CCOverdrawMetrics::pixelsPainted):
72207
722082012-03-23  Abhishek Arya  <inferno@chromium.org>
72209
72210        Crash in RenderBlock::splitBlocks.
72211        https://bugs.webkit.org/show_bug.cgi?id=81926
72212
72213        Reviewed by Julien Chaffraix.
72214
72215        We are updating the :after content before calling splitFlow. The :after content
72216        gets blown away since it will go to the continuation. beforeChild was earlier
72217        set to the first child. Being the last anonymous block, its children gets pulled
72218        up in collapseAnonymousBoxChild and it gets destroyed. So, we need to update
72219        beforeChild value. 
72220
72221        Test: fast/multicol/span/update-after-content-before-child-crash.html
72222
72223        * rendering/RenderBlock.cpp:
72224        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
72225
722262012-03-23  Dana Jansens  <danakj@chromium.org>
72227
72228        [chromium] Improved composited debug borders
72229        https://bugs.webkit.org/show_bug.cgi?id=82071
72230
72231        Reviewed by Adrienne Walker.
72232
72233        Fix the problem with missing debug borders. Since we append quads
72234        to the list front to back now, we draw the quads in the list from
72235        back to front of the list. Which means if the debug quad is added
72236        after the layer it is drawing around, the layer can draw over top
72237        of its debug quad. Reverse the ordering when appending to fix it.
72238
72239        Make the border red around tiles that are checkerboarded. Missing
72240        tiles in non-root layers are drawn clear, so this makes them more
72241        visible.
72242
72243        Put a blue border around each render surface, and a purple border
72244        on their replicas.
72245
72246        No new tests.
72247
72248        * platform/graphics/chromium/cc/CCRenderPass.cpp:
72249        (WebCore):
72250        (WebCore::CCRenderPass::appendQuadsForLayer):
72251        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
72252        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
72253        (WebCore::CCRenderSurface::hasReplica):
72254        (WebCore):
72255        (WebCore::CCRenderSurface::createReplicaSharedQuadState):
72256        * platform/graphics/chromium/cc/CCRenderSurface.h:
72257        (CCRenderSurface):
72258        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
72259        (WebCore):
72260        (WebCore::CCTiledLayerImpl::appendQuads):
72261
722622012-03-23  Simon Fraser  <simon.fraser@apple.com>
72263
72264        Move code that calls setAcceleratesDrawing() on GraphicsLayers into RenderLayerBacking
72265        https://bugs.webkit.org/show_bug.cgi?id=82092
72266
72267        Reviewed by Dean Jackson.
72268
72269        A RenderLayerBacking manages several GraphicsLayers, but RenderLayerCompositor
72270        was only calling setAcceleratesDrawing() on the one it knows about. Fix by moving
72271        this setting code down into RenderLayerBacking.
72272        
72273        RenderLayerCompositor now caches the setAcceleratesDrawing setting, as it does
72274        for other compositing-related settings, so that RenderLayerBacking doesn't have
72275        to grovel for Settings every time.
72276
72277        * rendering/RenderLayerBacking.cpp:
72278        (WebCore::RenderLayerBacking::createGraphicsLayer):
72279        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
72280        * rendering/RenderLayerCompositor.cpp:
72281        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
72282        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
72283        (WebCore::RenderLayerCompositor::updateBacking):
72284        * rendering/RenderLayerCompositor.h:
72285        (WebCore::RenderLayerCompositor::acceleratedDrawingEnabled):
72286        (RenderLayerCompositor):
72287
722882012-03-23  Beth Dakin  <bdakin@apple.com>
72289
72290        https://bugs.webkit.org/show_bug.cgi?id=82083
72291
72292        Rubber-stamped by Simon Fraser.
72293
72294        This patch is just a name change. getExistingScrollAnimator() (which was 
72295        added earlier today) is now existingScrollAnimator().
72296        * loader/FrameLoader.cpp:
72297        (WebCore::FrameLoader::transitionToCommitted):
72298        * page/EventHandler.cpp:
72299        (WebCore::EventHandler::handleGestureTapDown):
72300        * page/FrameView.cpp:
72301        (WebCore::FrameView::setAnimatorsAreActive):
72302        * platform/ScrollView.cpp:
72303        (WebCore::ScrollView::updateScrollbars):
72304        * platform/ScrollableArea.cpp:
72305        (WebCore::ScrollableArea::willStartLiveResize):
72306        (WebCore::ScrollableArea::willEndLiveResize):
72307        (WebCore::ScrollableArea::contentAreaWillPaint):
72308        (WebCore::ScrollableArea::mouseEnteredContentArea):
72309        (WebCore::ScrollableArea::mouseExitedContentArea):
72310        (WebCore::ScrollableArea::mouseMovedInContentArea):
72311        (WebCore::ScrollableArea::contentAreaDidShow):
72312        (WebCore::ScrollableArea::contentAreaDidHide):
72313        (WebCore::ScrollableArea::contentsResized):
72314        (WebCore::ScrollableArea::serviceScrollAnimations):
72315        * platform/ScrollableArea.h:
72316        (WebCore::ScrollableArea::existingScrollAnimator):
72317
723182012-03-23  Abhishek Arya  <inferno@chromium.org>
72319
72320        Crash due to accessing removed parent lineboxes when clearing selection.
72321        https://bugs.webkit.org/show_bug.cgi?id=81359
72322
72323        Reviewed by Eric Seidel.
72324
72325        Similar to r110323, adds the canUpdateSelectionOnRootLineBoxes
72326        check to more places.
72327
72328        Test: editing/selection/clear-selection-crash.html
72329
72330        * rendering/RenderObject.cpp:
72331        (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
72332        * rendering/RenderSelectionInfo.h:
72333        (WebCore::RenderSelectionInfo::RenderSelectionInfo):
72334        (WebCore::RenderBlockSelectionInfo::RenderBlockSelectionInfo):
72335
723362012-03-23  Beth Dakin  <bdakin@apple.com>
72337
72338        https://bugs.webkit.org/show_bug.cgi?id=82083
72339        Too many ScrollAnimators are allocated on pages with frames
72340
72341        Reviewed by Geoffrey Garen.
72342
72343        This patch adds a new getter to ScrollableArea called 
72344        getExistingScrollAnimator() unlike scrollAnimator() this new function will 
72345        just return null if there is not already a ScrollAnimator. Callers should use 
72346        this new function when they have business with ScrollAnimator that does not 
72347        need to do anything when there are no scrollbars.
72348        * loader/FrameLoader.cpp:
72349        (WebCore::FrameLoader::transitionToCommitted):
72350        * page/EventHandler.cpp:
72351        (WebCore::EventHandler::handleGestureTapDown):
72352        * page/FrameView.cpp:
72353        (WebCore::FrameView::setAnimatorsAreActive):
72354        * platform/ScrollView.cpp:
72355        (WebCore::ScrollView::updateScrollbars):
72356        * platform/ScrollableArea.cpp:
72357        (WebCore::ScrollableArea::willStartLiveResize):
72358        (WebCore::ScrollableArea::willEndLiveResize):
72359        (WebCore::ScrollableArea::contentAreaWillPaint):
72360        (WebCore::ScrollableArea::mouseEnteredContentArea):
72361        (WebCore::ScrollableArea::mouseExitedContentArea):
72362        (WebCore::ScrollableArea::mouseMovedInContentArea):
72363        (WebCore::ScrollableArea::contentAreaDidShow):
72364        (WebCore::ScrollableArea::contentAreaDidHide):
72365        (WebCore::ScrollableArea::willRemoveHorizontalScrollbar):
72366        (WebCore::ScrollableArea::contentsResized):
72367        (WebCore::ScrollableArea::serviceScrollAnimations):
72368        * platform/ScrollableArea.h:
72369        (ScrollableArea):
72370        (WebCore::ScrollableArea::getExistingScrollAnimator):
72371
723722012-03-23  Eric Carlson  <eric.carlson@apple.com>
72373
72374        Deal with DOM modifications when evaluating source elements.
72375        https://bugs.webkit.org/show_bug.cgi?id=81163
72376
72377        Reviewed by Alexey Proskuryakov.
72378
72379        Test: media/video-beforeload-remove-source.html
72380
72381        * dom/ContainerNode.cpp: Make NodeVector and collectNodes public, renamed as getChildNodes.
72382        (WebCore::ContainerNode::takeAllChildrenFrom): collectNodes -> getChildNodes.
72383        (WebCore::ContainerNode::willRemove): collectNodes -> getChildNodes.
72384        (WebCore::ContainerNode::willRemoveChildren): collectNodes -> getChildNodes.
72385        (WebCore::ContainerNode::insertedIntoDocument): collectNodes -> getChildNodes.
72386        (WebCore::ContainerNode::removedFromDocument): collectNodes -> getChildNodes.
72387        * dom/ContainerNode.h:
72388        (WebCore::getChildNodes):
72389
72390        * editing/ReplaceSelectionCommand.cpp: Remove unused NodeVector declaration.
72391
72392        * html/HTMLMediaElement.cpp:
72393        (WebCore::HTMLMediaElement::HTMLMediaElement): m_nextChildNodeToConsider and m_currentSourceNode
72394            are now RefPtrs.
72395        (WebCore::HTMLMediaElement::loadTimerFired): Protect HTMLMediaElement from being deleted during
72396            a DOM modification during an event callback.
72397        (WebCore::HTMLMediaElement::load): Ditto.
72398        (WebCore::HTMLMediaElement::selectMediaResource): Set m_nextChildNodeToConsider to the first
72399            child node, it will be the first node considered.
72400        (WebCore::HTMLMediaElement::havePotentialSourceChild): m_nextChildNodeToConsider and m_currentSourceNode
72401            are now RefPtrs.
72402        (WebCore::HTMLMediaElement::selectNextSourceChild): Collect all child nodes in a vector before
72403            looking for <source> nodes because 'beforeload' event handlers can mutate the DOM. Don't
72404            use a <source> that is no longer a child node after 'beforeload'. Use 0 to represent the end
72405            of the child node list because m_nextChildNodeToConsider is now a RefPtr so using the previous 
72406            sentinel, "this", would cause a retain cycle.
72407        (WebCore::HTMLMediaElement::sourceWasAdded):  m_nextChildNodeToConsider and m_currentSourceNode
72408            are now RefPtrs.
72409        (WebCore::HTMLMediaElement::sourceWillBeRemoved): Ditto.
72410        (WebCore::HTMLMediaElement::getPluginProxyParams): Protect HTMLMediaElement from being deleted during
72411            a DOM modification during an event callback.
72412        * html/HTMLMediaElement.h:
72413
724142012-03-23  Dean Jackson  <dino@apple.com>
72415
72416        Disable CSS_SHADERS in Apple builds
72417        https://bugs.webkit.org/show_bug.cgi?id=81996
72418
72419        Reviewed by Simon Fraser.
72420
72421        Remove ENABLE_CSS_SHADERS from FeatureDefines. It's now in Platform.h.
72422
72423        * Configurations/FeatureDefines.xcconfig:
72424
724252012-03-23  Dave Michael  <dmichael@chromium.org>
72426
72427        Relanding(r111754): HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
72428        https://bugs.webkit.org/show_bug.cgi?id=80428
72429
72430        Reviewed by Eric Seidel and Ryosuke Niwa.
72431
72432        Make HTMLPluginElement release its m_NPObject in detach() to break a
72433        reference-counting cycle that happens on reload or navigation. With this
72434        change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
72435        was removed. Note that Releasing m_NPObject does not result in a call to
72436        the plugin; it simply releases a reference count on the wrapper object
72437        for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
72438        when the render tree is destroyed, when PluginView calls
72439        PluginPackage::unload.) Thus, it is safe to release m_NPObject in
72440        detach, because it can not result in layout or style changes.
72441
72442        Also added numberOfLiveNodes() and numberOfLiveDocuments() to
72443        window.internals to enable testing.
72444
72445        Test: plugins/netscape-dom-access-and-reload.html
72446
72447        * WebCore.exp.in:
72448        * html/HTMLPlugInElement.cpp:
72449        (WebCore::HTMLPlugInElement::detach):
72450        * html/HTMLPlugInElement.h:
72451        (HTMLPlugInElement):
72452        * testing/Internals.cpp:
72453        (WebCore):
72454        (WebCore::Internals::numberOfLiveNodes):
72455        (WebCore::Internals::numberOfLiveDocuments):
72456        * testing/Internals.h:
72457        (Internals):
72458        * testing/Internals.idl:
72459
724602012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
72461
72462        CSSParser doesn't set border-*-width/style/color to initial by border shorthand property
72463        https://bugs.webkit.org/show_bug.cgi?id=82040
72464
72465        Reviewed by Antti Koivisto.
72466
72467        The border shorthand property sets values for border-width, border-style, and border-color shorthand properties.
72468        While CSSParser::parseValue can process these shorthand properties properly and set the longhand properties
72469        such as border-top-width, border-right-width, ... border-left-color, CSSParser::addProperty can't and the
72470        initialization in parseShorthand fails for the border property.
72471
72472        Fixed the bug by explicitly initializing longhand properties.
72473
72474        Changing the behavior here is unlikely to break the Web since our behavior already differs from that of Firefox
72475        and Internet Explorer. Both of those browsers return the actual initial values such as "medium" and "currentColor".
72476        This discrepancy is tracked by https://bugs.webkit.org/show_bug.cgi?id=82078.
72477
72478        Test: fast/css/border-shorthand-initialize-longhands.html
72479
72480        * css/CSSParser.cpp:
72481        (WebCore::CSSParser::parseValue): Uses borderAbridgedLonghand.
72482        (WebCore::CSSParser::parseShorthand): Uses longhand properties for initialization if one is available.
72483        This allows us to initialize multiple properties (e.g. border-*-color) for a single property missing in the set.
72484        * css/CSSPropertyLonghand.cpp:
72485        (WebCore::borderAbridgedLonghand): Added. The longhand here (border-width, border-style, border-color) is
72486        "abridged" in the sense that they're still shorthands.
72487        * css/CSSPropertyLonghand.h:
72488        (WebCore::CSSPropertyLonghand::CSSPropertyLonghand):
72489        (CSSPropertyLonghand): Added the version that takes longhand instances for initialization purposes.
72490        (WebCore::CSSPropertyLonghand::longhandsForInitialization):
72491
724922012-03-23  Tony Chang  <tony@chromium.org>
72493
72494        [chromium] rename newwtf target back to wtf
72495        https://bugs.webkit.org/show_bug.cgi?id=82064
72496
72497        Reviewed by Adam Barth.
72498
72499        No new tests, only renaming a build target.
72500
72501        * WebCore.gyp/WebCore.gyp:
72502
725032012-03-23  Adrienne Walker  <enne@google.com>
72504
72505        [chromium] Turn off painting of scrollbars on compositor thread for unsupported platforms
72506        https://bugs.webkit.org/show_bug.cgi?id=82066
72507
72508        Reviewed by James Robinson.
72509
72510        With threaded compositing, OSX will crash and Windows will have black
72511        scrollbars. Fix that by reverting to the previosu behavior of updating
72512        scrollbars on the main thread instead.
72513
72514        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
72515        (WebCore::scrollbarLayerDidChange):
72516
725172012-03-23  Dan Bernstein  <mitz@apple.com>
72518
72519        <rdar://problem/7883987> ASSERTION FAILED: ASSERT(input == AnimationStateInputEndTimerFired || input == AnimationStateInputPlayStatePaused) in AnimationBase::updateStateMachine causing multiple "crashes" on Lion Intel Debug WebKit testers
72520        https://bugs.webkit.org/show_bug.cgi?id=81351
72521
72522        Rubber-stamped by Jessie Berlin.
72523
72524        * page/animation/AnimationBase.cpp:
72525        (WebCore::AnimationBase::updateStateMachine): Replaced the assertion with a LOG_ERROR so that
72526        the issue is still noticeable, but it does not automatically make the debug bots red.
72527
725282012-03-23  Mike Lawther  <mikelawther@chromium.org>
72529
72530        CSS3 calc: image sizing works with mixed percentage/absolute
72531        https://bugs.webkit.org/show_bug.cgi?id=82017
72532
72533        Reviewed by Ojan Vafai.
72534
72535        Test: css3/calc/img-size-expected.html
72536
72537        * rendering/RenderBox.cpp:
72538        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
72539        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
72540
725412012-03-23  Julien Chaffraix  <jchaffraix@webkit.org>
72542
72543        REGRESSION(107971): Google Voice contact list is broken in WebKit due to badly allocating the extra height
72544        https://bugs.webkit.org/show_bug.cgi?id=81826
72545
72546        Reviewed by Tony Chang.
72547
72548        Covered by tables/mozilla/bugs/bug27038-{1|2}.html.
72549
72550        This partly reverts r107971: the extra logical height distribution change was not needed
72551        to fix the bug (it is needed by the test though). We revert to giving all the extra height
72552        to the first tbody and not the first section.
72553
72554        This is broken but unfortunately some websites are relying on that. Getting a real
72555        distribution algorithm is covered by bug 81824. However this is super tricky to get
72556        right and I did not want to add more compatibility risks until I have something solid.
72557
72558        * rendering/RenderTable.cpp:
72559        (WebCore::RenderTable::distributeExtraLogicalHeight):
72560
725612012-03-23  Xingnan Wang  <xingnan.wang@intel.com>
72562
72563        Optimize for IPP in DirectConvolver::process()
72564        https://bugs.webkit.org/show_bug.cgi?id=80255
72565
72566        Reviewed by Chris Rogers.
72567
72568        Increase ~2X performance by conv() in IPP.
72569
72570        * platform/audio/DirectConvolver.cpp:
72571        (WebCore::DirectConvolver::DirectConvolver):
72572        (WebCore::DirectConvolver::process):
72573        * platform/audio/DirectConvolver.h:
72574        (DirectConvolver):
72575
725762012-03-23  Tommy Widenflycht  <tommyw@google.com>
72577
72578        MediaStream API (JSEP): Introducing PeerConnection00 and IceCallback
72579        https://bugs.webkit.org/show_bug.cgi?id=81657
72580
72581        Reviewed by Adam Barth.
72582
72583        Last major WebCore patch for the JSEP PeerConnection, together with the associated
72584        IceCallback (they both depend on each other and IceCallback has very few lines of real code).
72585
72586        My next patch after this one will do a major overhaul of the existing layout tests
72587        and add a few new ones.
72588
72589        * GNUmakefile.list.am:
72590        * Modules/mediastream/DOMWindowMediaStream.idl:
72591        * Modules/mediastream/IceCallback.h: Added.
72592        (WebCore):
72593        (IceCallback):
72594        (WebCore::IceCallback::~IceCallback):
72595        * Modules/mediastream/IceCallback.idl: Added.
72596        * Modules/mediastream/PeerConnection00.cpp: Added.
72597        (WebCore):
72598        (WebCore::PeerConnection00::create):
72599        (WebCore::PeerConnection00::PeerConnection00):
72600        (WebCore::PeerConnection00::~PeerConnection00):
72601        (WebCore::PeerConnection00::hasLocalAudioTrack):
72602        (WebCore::PeerConnection00::hasLocalVideoTrack):
72603        (WebCore::PeerConnection00::parseMediaHints):
72604        (WebCore::PeerConnection00::createOffer):
72605        (WebCore::PeerConnection00::createAnswer):
72606        (WebCore::PeerConnection00::setLocalDescription):
72607        (WebCore::PeerConnection00::setRemoteDescription):
72608        (WebCore::PeerConnection00::localDescription):
72609        (WebCore::PeerConnection00::remoteDescription):
72610        (WebCore::PeerConnection00::startIce):
72611        (WebCore::PeerConnection00::processIceMessage):
72612        (WebCore::PeerConnection00::readyState):
72613        (WebCore::PeerConnection00::iceState):
72614        (WebCore::PeerConnection00::addStream):
72615        (WebCore::PeerConnection00::removeStream):
72616        (WebCore::PeerConnection00::localStreams):
72617        (WebCore::PeerConnection00::remoteStreams):
72618        (WebCore::PeerConnection00::close):
72619        (WebCore::PeerConnection00::didGenerateIceCandidate):
72620        (WebCore::PeerConnection00::didChangeReadyState):
72621        (WebCore::PeerConnection00::didChangeIceState):
72622        (WebCore::PeerConnection00::didAddRemoteStream):
72623        (WebCore::PeerConnection00::didRemoveRemoteStream):
72624        (WebCore::PeerConnection00::interfaceName):
72625        (WebCore::PeerConnection00::scriptExecutionContext):
72626        (WebCore::PeerConnection00::stop):
72627        (WebCore::PeerConnection00::eventTargetData):
72628        (WebCore::PeerConnection00::ensureEventTargetData):
72629        (WebCore::PeerConnection00::changeReadyState):
72630        (WebCore::PeerConnection00::changeIceState):
72631        * Modules/mediastream/PeerConnection00.h: Added.
72632        (WebCore):
72633        (PeerConnection00):
72634        (WebCore::PeerConnection00::refEventTarget):
72635        (WebCore::PeerConnection00::derefEventTarget):
72636        * Modules/mediastream/PeerConnection00.idl: Added.
72637        * WebCore.gypi:
72638        * bindings/generic/RuntimeEnabledFeatures.h:
72639        (WebCore::RuntimeEnabledFeatures::webkitPeerConnection00Enabled):
72640        * bindings/js/JSPeerConnection00Custom.cpp: Added.
72641        (WebCore):
72642        (WebCore::JSPeerConnection00Constructor::constructJSPeerConnection00):
72643        * dom/EventTargetFactory.in:
72644
726452012-03-23  Adrienne Walker  <enne@google.com>
72646
72647        [chromium] Fix scrollbarLayerLostContext flaky test crash on 10.6
72648        https://bugs.webkit.org/show_bug.cgi?id=82062
72649
72650        Reviewed by James Robinson.
72651
72652        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
72653        (CCScrollbarLayerImpl):
72654
726552012-03-23  Tommy Widenflycht  <tommyw@google.com>
72656
72657        [chromium] MediaStream API (JSEP): Extending WebMediaStreamCenter
72658        https://bugs.webkit.org/show_bug.cgi?id=81924
72659
72660        Reviewed by Adam Barth.
72661
72662        Nothing to test, just moving methods.
72663
72664        * platform/mediastream/MediaStreamCenter.cpp:
72665        (WebCore::MediaStreamCenter::constructSDP):
72666        (WebCore):
72667
726682012-03-23  Sami Kyostila  <skyostil@chromium.org>
72669
72670        Reuse buffer allocation if canvas size does not change
72671        https://bugs.webkit.org/show_bug.cgi?id=80871
72672
72673        Reviewed by Stephen White.
72674
72675        If the user changes the width or height attributes of a canvas element,
72676        the contents of the canvas should be cleared and the context state
72677        should be reset. This has become a common idiom to clear the canvas
72678        "efficiently" at the start of a frame.
72679
72680        Previously, this code path triggered a full reallocation of the image
72681        buffer backing the canvas, leading to reduced performance. This patch
72682        implements an optimization where we reuse the previous image buffer
72683        allocation if the size of the canvas did not change. Also, instead of
72684        clearing the canvas every time its dimensions are touched, we only clear
72685        if anything has been drawn into the canvas since it was previously
72686        cleared.
72687
72688        Note that for now this optimization only applies for 2D canvases,
72689        since it is not entirely clear how touching the dimensions of a WebGL
72690        canvas should work.
72691
72692        Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
72693              existing layout tests for canvas resetting.
72694
72695        * html/HTMLCanvasElement.cpp:
72696        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
72697        (WebCore::HTMLCanvasElement::reset):
72698        (WebCore::HTMLCanvasElement::createImageBuffer): Save the initial
72699        graphics context state so we can restore it without creating a new
72700        context.
72701        (WebCore::HTMLCanvasElement::clearImageBuffer):
72702        (WebCore):
72703        (WebCore::HTMLCanvasElement::clearCopiedImage):
72704        * html/HTMLCanvasElement.h:
72705        (HTMLCanvasElement):
72706        * html/canvas/CanvasRenderingContext2D.cpp:
72707        (WebCore::CanvasRenderingContext2D::reset): No need to notify the
72708        compositor when the context is reset, because clearing the image buffer
72709        does the same thing. We can also skip the notification if we did not
72710        have an image buffer at the time of the reset, because the reset will
72711        not have any visual impact in this case. Finally, if the canvas size
72712        did change, the notification is also unnecessary because of the call
72713        to RenderObject::repaint() from HTMLCanvasElement::reset().
72714
727152012-03-22  Martin Robinson  <mrobinson@igalia.com>
72716
72717        Fix some code generation warnings on GTK+.
72718
72719        Reviewed by Gustavo Noronha Silva.
72720
72721        No new tests. This just fixes warnings.
72722
72723        * GNUmakefile.am: Remove nonexistent directories from the list IDL directories.
72724
727252012-03-23  Sheriff Bot  <webkit.review.bot@gmail.com>
72726
72727        Unreviewed, rolling out r111751.
72728        http://trac.webkit.org/changeset/111751
72729        https://bugs.webkit.org/show_bug.cgi?id=82060
72730
72731        caused 15% page cycler regression for chromium-linux
72732        (Requested by eae on #webkit).
72733
72734        * css/CSSStyleSelector.cpp:
72735        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
72736
727372012-03-23  Kentaro Hara  <haraken@chromium.org>
72738
72739        Support [ImplementedAs] for attributes
72740        https://bugs.webkit.org/show_bug.cgi?id=81605
72741
72742        Reviewed by Adam Barth.
72743
72744        [ImplementedAs] just supports methods. [ImplementedAs] should support
72745        attributes too.
72746
72747        Explained here: https://trac.webkit.org/wiki/WebKitIDL#ImplementedAs
72748
72749        Test: bindings/scripts/test/TestObj.idl
72750
72751        * bindings/scripts/CodeGenerator.pm: Modified to support [ImplementedAs] for attributes.
72752        (AttributeNameForGetterAndSetter):
72753
72754        * bindings/scripts/test/TestObj.idl: Added a test case.
72755
72756        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
72757        (WebDOMTestObj::strawberry):
72758        (WebDOMTestObj::setStrawberry):
72759        * bindings/scripts/test/CPP/WebDOMTestObj.h:
72760        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
72761        (webkit_dom_test_obj_get_strawberry):
72762        (webkit_dom_test_obj_set_strawberry):
72763        (webkit_dom_test_obj_get_property):
72764        (webkit_dom_test_obj_class_init):
72765        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
72766        * bindings/scripts/test/JS/JSTestObj.cpp:
72767        (WebCore):
72768        (WebCore::jsTestObjStrawberry):
72769        (WebCore::setJSTestObjStrawberry):
72770        * bindings/scripts/test/JS/JSTestObj.h:
72771        (WebCore):
72772        * bindings/scripts/test/ObjC/DOMTestObj.h:
72773        * bindings/scripts/test/ObjC/DOMTestObj.mm:
72774        (-[DOMTestObj strawberry]):
72775        (-[DOMTestObj setStrawberry:]):
72776        * bindings/scripts/test/V8/V8TestObj.cpp:
72777        (WebCore::TestObjInternal::strawberryAttrGetter):
72778        (TestObjInternal):
72779        (WebCore::TestObjInternal::strawberryAttrSetter):
72780        (WebCore):
72781
727822012-03-23  Tommy Widenflycht  <tommyw@google.com>
72783
72784        The JSC code generator doesn't generate correct code for Constructors
72785        https://bugs.webkit.org/show_bug.cgi?id=82046
72786
72787        Reviewed by Kentaro Hara.
72788
72789        The main bulk of generated code for constructors uses the name jsConstructor
72790        for the created object, and then calls GenerateParametersCheck which generates
72791        code that uses the name castedThis.
72792
72793        * bindings/scripts/CodeGeneratorJS.pm:
72794        (GenerateConstructorDefinition):
72795        * bindings/scripts/test/JS/JSTestInterface.cpp:
72796        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
72797        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
72798        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
72799        * bindings/scripts/test/JS/JSTestObj.cpp:
72800        (WebCore::JSTestObjConstructor::finishCreation):
72801        (WebCore::JSTestObjConstructor::constructJSTestObj):
72802        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
72803        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
72804        * bindings/scripts/test/TestObj.idl:
72805        * bindings/scripts/test/V8/V8TestObj.cpp:
72806        (WebCore::V8TestObj::constructorCallback):
72807
728082012-03-23  Tommy Widenflycht  <tommyw@google.com>
72809
72810        The JSC code generator can't handle boolean arguments for Callbacks
72811        https://bugs.webkit.org/show_bug.cgi?id=82045
72812
72813        Reviewed by Kentaro Hara.
72814
72815        CodeGeneratorJS.pm only handles DOMStrings and objects as arguments
72816        for a Callback, so I added support for boolean values as well.
72817
72818        * bindings/scripts/CodeGeneratorJS.pm:
72819        (GenerateCallbackImplementation):
72820        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
72821        (WebDOMTestCallback::callbackWithBoolean):
72822        * bindings/scripts/test/CPP/WebDOMTestCallback.h:
72823        (WebDOMTestCallback):
72824        * bindings/scripts/test/GObject/WebKitDOMTestCallback.cpp:
72825        (webkit_dom_test_callback_callback_with_boolean):
72826        * bindings/scripts/test/GObject/WebKitDOMTestCallback.h:
72827        * bindings/scripts/test/JS/JSTestCallback.cpp:
72828        (WebCore::JSTestCallback::callbackWithBoolean):
72829        (WebCore):
72830        * bindings/scripts/test/JS/JSTestCallback.h:
72831        (JSTestCallback):
72832        * bindings/scripts/test/ObjC/DOMTestCallback.h:
72833        * bindings/scripts/test/ObjC/DOMTestCallback.mm:
72834        (-[DOMTestCallback callbackWithBoolean:]):
72835        * bindings/scripts/test/TestCallback.idl:
72836        * bindings/scripts/test/V8/V8TestCallback.cpp:
72837        (WebCore::V8TestCallback::callbackWithBoolean):
72838        (WebCore):
72839        * bindings/scripts/test/V8/V8TestCallback.h:
72840        (V8TestCallback):
72841
728422012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
72843
72844        Touch adjustment forgets some subtarget quads.
72845        https://bugs.webkit.org/show_bug.cgi?id=82044
72846
72847        Reviewed by Kenneth Rohde Christiansen.
72848
72849        Do not uncritically skip all nodes that are ancestors to other test results.
72850        Instead return the inner-most element if multiple nodes have the same distance.
72851
72852        Test: touchadjustment/block-testing.html
72853
72854        * page/TouchAdjustment.cpp:
72855        (WebCore::TouchAdjustment::compileSubtargetList):
72856        (WebCore::TouchAdjustment::findNodeWithLowestDistanceMetric):
72857
728582012-03-23  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
72859
72860        TouchAdjustment does not correct for frame position
72861        https://bugs.webkit.org/show_bug.cgi?id=82043
72862
72863        Reviewed by Kenneth Rohde Christiansen.
72864
72865        Convert geometry to window coordinates before calculating distance.
72866
72867        Test: touchadjustment/iframe.html
72868
72869        * page/TouchAdjustment.cpp:
72870        (WebCore::TouchAdjustment::distanceSquaredToTargetCenterLine):
72871
728722012-03-23  Vlad Voicu  <vladv@rosedu.org>
72873
72874        Fixed minor WebInspector display issue
72875        Clicking on disabled sections in Styles Sidebar Pane creates new elements.
72876        https://bugs.webkit.org/show_bug.cgi?id=81925
72877
72878        Reviewed by Timothy Hatcher
72879
72880        No new tests should be required.
72881
72882        * inspector/front-end/StylesSidebarPane.js:
72883        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
72884        (WebInspector.StylePropertyTreeElement.prototype):
72885
728862012-03-23  Kentaro Hara  <haraken@chromium.org>
72887
72888        Unreviewed, rebaselined run-bindings-tests results.
72889
72890        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
72891        * bindings/scripts/test/CPP/WebDOMTestObj.h:
72892        * bindings/scripts/test/JS/JSTestObj.cpp:
72893        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
72894        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
72895        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
72896        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
72897        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod):
72898        * bindings/scripts/test/V8/V8TestObj.cpp:
72899        (WebCore::TestObjInternal::methodWithCallbackArgCallback):
72900        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
72901        (WebCore::TestObjInternal::methodWithCallbackAndOptionalArgCallback):
72902        (WebCore::TestObjInternal::overloadedMethod5Callback):
72903        (WebCore::TestObjInternal::overloadedMethodCallback):
72904
729052012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
72906
72907        cssText should use StringBuilder
72908        https://bugs.webkit.org/show_bug.cgi?id=82028
72909
72910        Reviewed by Hajime Morita.
72911
72912        Make StylePropertySet::asText more efficient by deploying StringBuilder;
72913        avoids heap churn by String::operator+ and String::operator+=.
72914
72915        * css/StylePropertySet.cpp:
72916        (WebCore::StylePropertySet::asText):
72917
729182012-03-23  Ryosuke Niwa  <rniwa@webkit.org>
72919
72920        REGRESSION(r111754): plugins/reloadplugins-and-pages.html fails on all platforms
72921        https://bugs.webkit.org/show_bug.cgi?id=82035
72922
72923        Rollout r111754 since it caused a test to fail and the test added by the patch
72924        is failing on Mac WebKit 2.
72925
72926        * WebCore.exp.in:
72927        * html/HTMLPlugInElement.cpp:
72928        (WebCore::HTMLPlugInElement::detach):
72929        (WebCore):
72930        (WebCore::HTMLPlugInElement::removedFromDocument):
72931        * html/HTMLPlugInElement.h:
72932        (HTMLPlugInElement):
72933        * testing/Internals.cpp:
72934        * testing/Internals.h:
72935        (Internals):
72936        * testing/Internals.idl:
72937
729382012-03-23  Adam Barth  <abarth@webkit.org>
72939
72940        Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 2)
72941        https://bugs.webkit.org/show_bug.cgi?id=82026
72942
72943        Reviewed by Kentaro Hara.
72944
72945        This patch removes DOMWindow::resetNotifications, which was unneeded
72946        special-case logic for clearing the notifications center.  The previous
72947        patch that tried to accomplish the same thing did not override
72948        willDetachPage, which is why it caused crashes.
72949
72950        There's actually a cleaner way to handle these cases, which will let us
72951        implement reconnectFrame, but that will need to wait for the next
72952        patch.
72953
72954        * notifications/DOMWindowNotifications.cpp:
72955        (WebCore::DOMWindowNotifications::DOMWindowNotifications):
72956        (WebCore::DOMWindowNotifications::from):
72957        (WebCore::DOMWindowNotifications::webkitNotifications):
72958        (WebCore):
72959        (WebCore::DOMWindowNotifications::disconnectFrame):
72960        (WebCore::DOMWindowNotifications::willDetachPage):
72961        (WebCore::DOMWindowNotifications::reset):
72962        * notifications/DOMWindowNotifications.h:
72963        (DOMWindowNotifications):
72964        * page/DOMWindow.cpp:
72965        (WebCore::DOMWindow::willDetachPage):
72966        (WebCore::DOMWindow::disconnectDOMWindowProperties):
72967        (WebCore::DOMWindow::clearDOMWindowProperties):
72968        * page/DOMWindow.h:
72969        (DOMWindow):
72970        * page/Frame.cpp:
72971        (WebCore::Frame::willDetachPage):
72972
729732012-03-22  Adam Barth  <abarth@webkit.org>
72974
72975        Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl (Part 1)
72976        https://bugs.webkit.org/show_bug.cgi?id=82015
72977
72978        Reviewed by Kentaro Hara.
72979
72980        This patch moves DOMWindow.webkitNotifications from DOMWindow.idl to
72981        DOMWindowNotificiations.idl in preparation for moving notificiations
72982        into Modules.
72983
72984        A future patch will remove DOMWindow::resetNotificaitions in favor of
72985        more general mechanisms.
72986
72987        * CMakeLists.txt:
72988        * DerivedSources.make:
72989        * DerivedSources.pri:
72990        * GNUmakefile.list.am:
72991        * Target.pri:
72992        * WebCore.gypi:
72993        * WebCore.vcproj/WebCore.vcproj:
72994        * WebCore.xcodeproj/project.pbxproj:
72995        * notifications/DOMWindowNotifications.cpp: Added.
72996        (WebCore):
72997        (WebCore::DOMWindowNotifications::DOMWindowNotifications):
72998        (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
72999        (WebCore::DOMWindowNotifications::from):
73000        (WebCore::DOMWindowNotifications::webkitNotifications):
73001        (WebCore::DOMWindowNotifications::reset):
73002        (WebCore::DOMWindowNotifications::supplementName):
73003        * notifications/DOMWindowNotifications.h: Added.
73004        (WebCore):
73005        (DOMWindowNotifications):
73006        * notifications/DOMWindowNotifications.idl: Added.
73007        * page/DOMWindow.cpp:
73008        (WebCore::DOMWindow::~DOMWindow):
73009        (WebCore):
73010        (WebCore::DOMWindow::resetNotifications):
73011        * page/DOMWindow.h:
73012        (WebCore):
73013        (DOMWindow):
73014        * page/DOMWindow.idl:
73015
730162012-03-22  Li Yin  <li.yin@intel.com>
73017
73018        A client MUST close a connection if it detects a masked frame
73019        https://bugs.webkit.org/show_bug.cgi?id=81361
73020
73021        Reviewed by Kent Tamura.
73022
73023        A server must not mask any frames that it sends to the client.
73024        Change the test case, not mask the frames from server to client.
73025        
73026        Test: http/tests/websocket/tests/hybi/invalid-masked-frames-from-server.html
73027
73028        * Modules/websockets/WebSocketChannel.cpp:
73029        (WebCore::WebSocketChannel::processFrame):
73030
730312012-03-22  Li Yin  <li.yin@intel.com>
73032
73033        [WebSocket]The minimal number of bytes MUST be used to encode the length
73034        https://bugs.webkit.org/show_bug.cgi?id=81443
73035
73036        Reviewed by Kent Tamura.
73037
73038        From RFC 6455 http://tools.ietf.org/html/rfc6455#section-5.2
73039        the minimal number of bytes MUST be used to encode the length
73040        
73041        New test case : http/tests/websocket/tests/hybi/invalid-encode-length.html
73042
73043        * Modules/websockets/WebSocketChannel.cpp:
73044        (WebCore::WebSocketChannel::parseFrame):
73045
730462012-03-22  Adam Barth  <abarth@webkit.org>
73047
73048        Unreviewed.  Sort xcodeproj file.
73049
73050        * WebCore.xcodeproj/project.pbxproj:
73051
730522012-03-22  Mao Yujie  <yujie.mao@intel.com>
73053
73054        Implement strict testing criterion for callback function definition
73055        https://bugs.webkit.org/show_bug.cgi?id=80005
73056
73057        Reviewed by Adam Barth.
73058
73059        Callback function should be defined as the function type instead of
73060        the object type.
73061
73062        LayoutTest: fast/dom/MediaStream/argument-types.html
73063
73064        * bindings/scripts/CodeGeneratorJS.pm:
73065        (GenerateParametersCheckExpression):
73066        (GenerateParametersCheck):
73067        * bindings/scripts/CodeGeneratorV8.pm:
73068        (GenerateParametersCheckExpression):
73069        (GenerateParametersCheck):
73070
730712012-03-22  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
73072
73073        Convert hasGrammarMarker to use Internals interface
73074        https://bugs.webkit.org/show_bug.cgi?id=82004
73075
73076        Reviewed by Ryosuke Niwa.
73077
73078        Remove hasGrammarMarker functions, because it is able to work in the
73079        cross-port way through the Internals interface.
73080
73081        No new tests, since we are improving here the infra-structure
73082        for testing a specific method.
73083
73084        * testing/Internals.cpp:
73085        (WebCore::Internals::hasGrammarMarker):
73086        (WebCore):
73087        * testing/Internals.h:
73088        (Internals):
73089        * testing/Internals.idl:
73090
730912012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
73092
73093        Add exception for the setter of "fftSize" in RealtimeAnalyserNode
73094        https://bugs.webkit.org/show_bug.cgi?id=81748
73095
73096        Reviewed by Chris Rogers.
73097
73098        * Modules/webaudio/RealtimeAnalyser.cpp:
73099        (WebCore::RealtimeAnalyser::setFftSize):
73100        * Modules/webaudio/RealtimeAnalyser.h:
73101        (RealtimeAnalyser):
73102        * Modules/webaudio/RealtimeAnalyserNode.cpp:
73103        (WebCore::RealtimeAnalyserNode::setFftSize):
73104        (WebCore):
73105        * Modules/webaudio/RealtimeAnalyserNode.h:
73106        (RealtimeAnalyserNode):
73107        * Modules/webaudio/RealtimeAnalyserNode.idl:
73108
731092012-03-22  Leo Yang  <leo.yang@torchmobile.com.cn>
73110
73111        [BlackBerry] Add HistoryItemViewState for BlackBerry port
73112        https://bugs.webkit.org/show_bug.cgi?id=81867
73113
73114        Reviewed by Rob Buis.
73115
73116        HistoryItemViewState is the blackberry specific field of HistoryItem.
73117        It's used to maintain the porting specific view state.
73118
73119        No new test because the port can't be built yet.
73120
73121        * history/HistoryItem.h:
73122        (HistoryItem):
73123        (WebCore::HistoryItem::viewState):
73124
731252012-03-22  SravanKumar Sandela  <ssandela@innominds.com>
73126
73127        Fieldset unexpectedly stretches to minimum intrinsic width
73128        https://bugs.webkit.org/show_bug.cgi?id=79128
73129
73130        Reviewed by Julien Chaffraix.
73131
73132        Fieldset element width will now check if css width is specified explicitly
73133        before stretching to minimum intrinsic width. The reference
73134        can be taken from IE9, instead of FF(FF acknowledged the broken behavior). 
73135
73136        Tests: fast/forms/fieldset-width-nostretch-ifspecified-expected.html
73137               fast/forms/fieldset-width-nostretch-ifspecified.html
73138
73139        * rendering/RenderFieldset.cpp:
73140        (WebCore::RenderFieldset::stretchesToMinIntrinsicLogicalWidth):
73141        (WebCore):
73142        * rendering/RenderFieldset.h:
73143        (RenderFieldset):
73144
731452012-03-22  Shawn Singh  <shawnsingh@chromium.org>
73146
73147        [chromium] Target surface should be damaged for a new layers even when layer had no changes
73148        https://bugs.webkit.org/show_bug.cgi?id=81879
73149
73150        Reviewed by Adrienne Walker.
73151
73152        Unit test added to CCDamageTrackerTest.
73153
73154        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
73155        (WebCore::CCDamageTracker::removeRectFromCurrentFrame): added a
73156        boolean arg to detect if the layer is new on this update.
73157
73158        (WebCore::CCDamageTracker::extendDamageForLayer): added logic that
73159        damages the target surface if the layer is new.
73160
73161        (WebCore::CCDamageTracker::extendDamageForRenderSurface): added
73162        logic that damages the target surface if the descendant surface is
73163        new; similar logic for the surface's replica if the replica is new.
73164
73165        * platform/graphics/chromium/cc/CCDamageTracker.h:
73166        (CCDamageTracker):
73167
731682012-03-22  Charles Wei  <charles.wei@torchmobile.com.cn>
73169
73170        [BlackBerry] Need to store the meta info of a page in the ViewState of the history
73171        https://bugs.webkit.org/show_bug.cgi?id=82000
73172
73173        Reviewed by Rob Buis.
73174
73175        Internally reviewed by George Staikos.
73176
73177        No new tests, BlackBerry porting doesn't build yet upstreaming.
73178
73179        * history/blackberry/HistoryItemViewState.h:
73180        (WebCore::HistoryItemViewState::HistoryItemViewState):
73181        (HistoryItemViewState):
73182
731832012-03-22  Adam Klein  <adamk@chromium.org>
73184
73185        [v8] wrapSlow methods should ref underlying object before creating wrapper
73186        https://bugs.webkit.org/show_bug.cgi?id=81919
73187
73188        Reviewed by Adam Barth.
73189
73190        Because instatiating the wrapper can trigger GC, it's important that
73191        wrapSlow() hold a reference to an object when creating a wrapper for
73192        that object. Once the V8 wrapper exists and is associated with the object,
73193        the reference can be handed off (via leakRef) to be handled by the normal
73194        binding code logic (where derefObject is called if the handle is GCed).
73195
73196        Binding tests have been updated to reflect this change.
73197
73198        Testing the change directly is hard. Any test landed today would only
73199        be a valid test until V8's logic about when to GC changes, at which point
73200        it would become dead weight. So I don't think it's worth landing a
73201        layout test along with this.
73202
73203        * bindings/scripts/CodeGeneratorV8.pm:
73204        (GenerateHeader): Make wrapSlow take a PassRefPtr for RefCounted objects.
73205        (GenerateToV8Converters): Get rid of the explicit call to ref() and
73206        instead call leakRef() when adding a RefCounted object to the DOM map.
73207        (GetPassRefPtrType): Helper to generate "PassRefPtr<T>", or "PassRefPtr<T<U> >" as appropriate.
73208        * bindings/scripts/test/V8/V8Float64Array.cpp:
73209        (WebCore::V8Float64Array::wrapSlow):
73210        * bindings/scripts/test/V8/V8Float64Array.h:
73211        (V8Float64Array):
73212        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
73213        (WebCore::V8TestActiveDOMObject::wrapSlow):
73214        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
73215        (V8TestActiveDOMObject):
73216        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
73217        (WebCore::V8TestCustomNamedGetter::wrapSlow):
73218        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
73219        (V8TestCustomNamedGetter):
73220        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
73221        (WebCore::V8TestEventConstructor::wrapSlow):
73222        * bindings/scripts/test/V8/V8TestEventConstructor.h:
73223        (V8TestEventConstructor):
73224        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
73225        (WebCore::V8TestEventTarget::wrapSlow):
73226        * bindings/scripts/test/V8/V8TestEventTarget.h:
73227        (V8TestEventTarget):
73228        * bindings/scripts/test/V8/V8TestInterface.cpp:
73229        (WebCore::V8TestInterface::wrapSlow):
73230        * bindings/scripts/test/V8/V8TestInterface.h:
73231        (V8TestInterface):
73232        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
73233        (WebCore::V8TestMediaQueryListListener::wrapSlow):
73234        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
73235        (V8TestMediaQueryListListener):
73236        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
73237        (WebCore::V8TestNamedConstructor::wrapSlow):
73238        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
73239        (V8TestNamedConstructor):
73240        * bindings/scripts/test/V8/V8TestObj.cpp:
73241        (WebCore::V8TestObj::wrapSlow):
73242        * bindings/scripts/test/V8/V8TestObj.h:
73243        (V8TestObj):
73244        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
73245        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
73246        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
73247        (V8TestSerializedScriptValueInterface):
73248
732492012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
73250
73251        [BlackBerry] add interface clearCredentials() and clearNeverRememberSites()
73252        https://bugs.webkit.org/show_bug.cgi?id=81887
73253
73254        Reviewed by Rob Buis.
73255
73256        Fixed SQL issue when clearing table logins and table never_remember.
73257
73258        No new tests.
73259
73260        * platform/network/blackberry/CredentialBackingStore.cpp:
73261        (WebCore::CredentialBackingStore::clearLogins):
73262        (WebCore::CredentialBackingStore::clearNeverRemember):
73263
732642012-03-22  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
73265
73266        [BlackBerry] http authenticate dialog popup only once no matter authentication pass or fail
73267        https://bugs.webkit.org/show_bug.cgi?id=80135
73268
73269        Reviewed by Rob Buis.
73270
73271        Modified the interface function authenticationChallenge() in class
73272        PageClientBlackBerry, moved Credential from return value to the
73273        function's reference parameter, and returned a bool to indicate if
73274        user pressed Ok button or not.
73275        Removed the logic which checks m_currentWebChallenge not null,
73276        because we should challenge user again if the last provided credential
73277        is not valid; also added the logic that will popup challenge
73278        dialog again immediately if user press Ok buttton directly without
73279        inputting anything.
73280
73281        No new tests.
73282
73283        * platform/blackberry/PageClientBlackBerry.h:
73284        * platform/network/blackberry/NetworkJob.cpp:
73285        (WebCore::NetworkJob::handleAuthHeader):
73286        (WebCore::NetworkJob::sendRequestWithCredentials):
73287
732882012-03-22  Jason Liu  <jason.liu@torchmobile.com.cn>
73289
73290        [BlackBerry] Synchronize platform/network/blackberry
73291        https://bugs.webkit.org/show_bug.cgi?id=81874
73292
73293        We changed a lot in these files locally. But the changes are not upstreamed.
73294        It is not convenient to do the other upstreaming work based on these differences.
73295        So upstream these changes.
73296
73297        Reviewed by Rob Buis.
73298
73299        No new tests. Just synchronize codes.
73300
73301        * platform/network/blackberry/NetworkJob.cpp:
73302        (WebCore::NetworkJob::NetworkJob):
73303        (WebCore::NetworkJob::initialize):
73304        (WebCore::NetworkJob::handleNotifyHeaderReceived):
73305        (WebCore::NetworkJob::handleNotifyDataReceived):
73306        (WebCore::NetworkJob::sendResponseIfNeeded):
73307        (WebCore::NetworkJob::sendRequestWithCredentials):
73308        (WebCore::NetworkJob::handleAbout):
73309        * platform/network/blackberry/NetworkJob.h:
73310        (WebCore::NetworkJob::isError):
73311        (NetworkJob):
73312        * platform/network/blackberry/NetworkManager.cpp:
73313        (WebCore::NetworkManager::startJob):
73314        * platform/network/blackberry/ResourceRequest.h:
73315        (WebCore::ResourceRequest::ResourceRequest):
73316        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
73317        (WebCore::platformTargetTypeForRequest):
73318
733192012-03-22  Tom Sepez  <tsepez@chromium.org>
73320
73321        XSS Auditor bypass via script tag src=data:, URLS.
73322        https://bugs.webkit.org/show_bug.cgi?id=81948
73323
73324        Reviewed by Adam Barth.
73325
73326        This change fixes an XSSAuditor bypass wherby a script with a data: URL src
73327        attribute could evade detection by using characters from the page to create
73328        a snippet for matching not found in the URL's reflected vector.  This change 
73329        terminates the snippet for matching earlier in these cases.
73330        
73331        Test: http/tests/security/xssAuditor/script-tag-with-source-data-url2.html
73332
73333        * html/parser/XSSAuditor.cpp:
73334        (WebCore::XSSAuditor::decodedSnippetForAttribute):
73335
733362012-03-22  Dana Jansens  <danakj@chromium.org>
73337
73338        [chromium] Incorrect assert on animating opacity for a surface
73339        https://bugs.webkit.org/show_bug.cgi?id=81994
73340
73341        Reviewed by Adrienne Walker.
73342
73343        Draw opacity and animation state match on the surface itself. A
73344        surface with animating opacity always has an owning layer without
73345        animation, as the surface does the animation for it.
73346
73347        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
73348        (WebCore::CCLayerTreeHost::paintLayerContents):
73349
733502012-03-22  Dana Jansens  <danakj@chromium.org>
73351
73352        [chromium] Skip frames when checkerboarding an animation
73353        https://bugs.webkit.org/show_bug.cgi?id=81716
73354
73355        Reviewed by Adrienne Walker.
73356
73357        This will stop drawing frames when prepareToDraw fails, if the draw is
73358        not forced. The expected behaviour is outlined below by the unit tests.
73359
73360        When a draw fails, we:
73361        1. Set m_needsRedraw to try again next vsync
73362        2. Set m_needsCommit because we need more data from webkit to succeed
73363        3. Set m_drawIfPossibleFailed. This allows us to try draw again within
73364        the same vsync *if* a commit finishes during this time.
73365
73366        Unit test: CCSchedulerTest.RequestRedrawInsideFailedDraw
73367                   CCSchedulerTest.RequestCommitInsideFailedDraw
73368                   CCSchedulerTest.NoBeginFrameWhenDrawFails
73369                   CCSchedulerStateMachineTest.TestFailedDrawSetsNeedsCommitAndDoesNotDrawAgain
73370                   CCSchedulerStateMachineTest.TestSetNeedsRedrawDuringFailedDrawDoesNotRemoveNeedsRedraw
73371                   CCSchedulerStateMachineTest.TestCommitAfterFailedDrawAllowsDrawInSameFrame
73372                   CCSchedulerStateMachineTest.TestCommitAfterFailedAndSuccessfulDrawDoesNotAllowDrawInSameFrame
73373                   CCSchedulerStateMachineTest.TestFailedDrawIsRetriedNextVSync
73374
73375        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
73376        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
73377        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
73378        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
73379        (CCLayerTreeHostImpl):
73380        * platform/graphics/chromium/cc/CCScheduler.cpp:
73381        (WebCore::CCScheduler::processScheduledActions):
73382        * platform/graphics/chromium/cc/CCScheduler.h:
73383        (CCSchedulerClient):
73384        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
73385        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
73386        (WebCore::CCSchedulerStateMachine::nextAction):
73387        (WebCore::CCSchedulerStateMachine::updateState):
73388        (WebCore::CCSchedulerStateMachine::didDrawIfPossibleCompleted):
73389        (WebCore):
73390        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
73391        (CCSchedulerStateMachine):
73392        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
73393        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapInternal):
73394        (WebCore):
73395        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapIfPossible):
73396        (WebCore::CCThreadProxy::scheduledActionDrawAndSwapForced):
73397        * platform/graphics/chromium/cc/CCThreadProxy.h:
73398        (CCThreadProxy):
73399
734002012-03-22  W. James MacLean  <wjmaclean@chromium.org>
73401
73402        [chromium] Force update of nonFastScrollableRegion if target CCLayerImpl has been freshly created.
73403        https://bugs.webkit.org/show_bug.cgi?id=81968
73404
73405        Reviewed by Adrienne Walker.
73406
73407        Added unit test to existing tests for TreeSynchronizer.
73408
73409        When creating a new CCLayerImpl during tree synchronization, make sure we transfer the nonFastScrollableRegion as
73410        the new CCLayerImpl will default to an empty region.
73411
73412        * platform/graphics/chromium/LayerChromium.h:
73413        (WebCore::LayerChromium::nonFastScrollableRegion):
73414        (WebCore::LayerChromium::setNonFastScrollableRegionChanged):
73415        * platform/graphics/chromium/TreeSynchronizer.cpp:
73416        (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
73417
734182012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
73419
73420        [CMake] Unreviewed build fix after r111778.
73421
73422        * CMakeLists.txt: Replace ${JAVASCRIPTCORE_DIR}/wtf includes with
73423        ${WTF_DIR}/wtf ones.
73424
734252012-03-22  Tony Chang  <tony@chromium.org>
73426
73427        Unreviewed, fix chromium build after wtf move.
73428
73429        Only use newwtf, remove references to wtf.
73430
73431        * WebCore.gyp/WebCore.gyp:
73432
734332012-03-22  Benjamin Poulain  <bpoulain@apple.com>
73434
73435        Remove an obsolete comment regarding magic frames from Geolocation
73436        https://bugs.webkit.org/show_bug.cgi?id=81871
73437
73438        Reviewed by Alexey Proskuryakov.
73439
73440        Moving a frame into another document is no longer possible after r111361. The comment
73441        is now irrelevant.
73442
73443        * Modules/geolocation/Geolocation.cpp:
73444        (WebCore::Geolocation::stop):
73445
734462012-03-22  Csaba Osztrogonác  <ossy@webkit.org>
73447
73448        Actually move WTF files to their new home
73449        https://bugs.webkit.org/show_bug.cgi?id=81844
73450
73451        [Qt] Unreviewed buildfix after r111778.
73452
73453        * Target.pri:
73454
734552012-03-22  Kentaro Hara  <haraken@chromium.org>
73456
73457        run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl
73458        https://bugs.webkit.org/show_bug.cgi?id=81852
73459
73460        Reviewed by Adam Barth.
73461
73462        run-bindings-tests output a lot of errors in TestSerializedScriptValueInterface.idl:
73463
73464        Use of uninitialized value in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2743.
73465        Use of uninitialized value $name in substitution (s///) at WebCore/bindings/scripts/CodeGenerator.pm line 119.
73466        Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2969.
73467        Use of uninitialized value $type in string eq at WebCore/bindings/scripts/CodeGeneratorJS.pm line 2972.
73468        Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 367.
73469        Use of uninitialized value $type in hash element at WebCore/bindings/scripts/CodeGenerator.pm line 368.
73470        ...
73471
73472        This is because [Constructor(...)] does not yet support [Optional] arguments.
73473        It just supports [Optional=DefaultIsUndefined] and [Optional=DefaultIsNullString] arguments:
73474        https://trac.webkit.org/wiki/WebKitIDL#Constructor
73475
73476        This patch replaces [Optional] with [Optional=DefaultIsUndefined]
73477        in TestSerializedScriptValueInterface.idl.
73478
73479        Test: bindings/scripts/test/TestSerializedScriptValueInterface.idl
73480
73481        * bindings/scripts/CodeGeneratorJS.pm:
73482        (GenerateConstructorDefinition):
73483        * bindings/scripts/CodeGeneratorV8.pm:
73484        (GenerateConstructorCallback):
73485        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
73486        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
73487        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
73488        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
73489        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
73490
734912012-03-22  Michal Mocny  <mmocny@google.com>
73492
73493        [chromium] LayerRendererChromium should use GpuMemoryAllocationChanged callback to explicitly manage framebuffer.
73494        https://bugs.webkit.org/show_bug.cgi?id=81823
73495
73496        Reviewed by Adrienne Walker.
73497
73498        New UnitTests: LayerRendererChromiumTest
73499
73500        * platform/graphics/chromium/LayerRendererChromium.cpp:
73501        (LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
73502        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::create):
73503        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::~LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
73504        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::onGpuMemoryAllocationChanged):
73505        (WebCore::LayerRendererGpuMemoryAllocationChangedCallbackAdapter::LayerRendererGpuMemoryAllocationChangedCallbackAdapter):
73506        (WebCore):
73507        (WebCore::LayerRendererChromium::LayerRendererChromium):
73508        (WebCore::LayerRendererChromium::initialize):
73509        (WebCore::LayerRendererChromium::~LayerRendererChromium):
73510        (WebCore::LayerRendererChromium::setVisible):
73511        (WebCore::LayerRendererChromium::swapBuffers):
73512        (WebCore::LayerRendererChromium::discardFramebuffer):
73513        (WebCore::LayerRendererChromium::ensureFramebuffer):
73514        * platform/graphics/chromium/LayerRendererChromium.h:
73515        (WebCore):
73516        (LayerRendererChromiumClient):
73517        (LayerRendererChromium):
73518        (WebCore::LayerRendererChromium::isFramebufferDiscarded):
73519        (ScopedEnsureFramebufferAllocation):
73520        (WebCore::ScopedEnsureFramebufferAllocation::ScopedEnsureFramebufferAllocation):
73521        (WebCore::ScopedEnsureFramebufferAllocation::~ScopedEnsureFramebufferAllocation):
73522        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
73523        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
73524        (LayerRendererCapabilities):
73525        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
73526        (WebCore::CCLayerTreeHostImpl::setVisible):
73527        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
73528        (CCLayerTreeHostImpl):
73529        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
73530        (WebCore::CCSingleThreadProxy::compositeAndReadback):
73531        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
73532        (WebCore::CCThreadProxy::compositeAndReadback):
73533
735342012-03-22  Adam Barth  <abarth@webkit.org>
73535
73536        ContainerNode::insertedIntoTree and removedFromTree use weak iteration patterns
73537        https://bugs.webkit.org/show_bug.cgi?id=80570
73538
73539        Reviewed by Ryosuke Niwa.
73540
73541        These functions use weak iteration patterns, but as far as I can tell,
73542        we never execute script below these functions.  This patch adds ASSERTs
73543        to help us avoid adding events in the future.
73544
73545        * dom/ContainerNode.cpp:
73546        (WebCore::ContainerNode::insertedIntoTree):
73547        (WebCore::ContainerNode::removedFromTree):
73548        * html/HTMLMediaElement.cpp:
73549        (WebCore::HTMLMediaElement::loadInternal):
73550            - There's a somewhat complex call chain from insertedIntoTree into
73551              HTMLMediaElement, and somewhat complex control flow below
73552              loadInternal that eventually leads to the BeforeLoad event being
73553              fired.  In studying this code, I don't see a way for the
73554              BeforeLoad event to be fired during insertedIntoTree, but I've
73555              added this assert here to make sure we don't call loadInternal
73556              when we're not supposed to dispatch events.  This ASSERT should
73557              help us catch these BeforeLoad errors more quickly.
73558
735592012-03-22  Raphael Kubo da Costa  <rakuco@FreeBSD.org>
73560
73561        Crash in fast/dom/navigator-detached-nocrash.html
73562        https://bugs.webkit.org/show_bug.cgi?id=81773
73563
73564        Reviewed by Adam Barth.
73565
73566        BatteryManager::create() blindly assumes the Navigator* it
73567        receives has a valid Frame, which is not always the case, as made
73568        evident by the crashing test.
73569
73570        Follow abarth's suggestion and just stop
73571        NavigatorBattery::webkitBattery() before it reaches the call to
73572        BatteryManager::create() if that's the case.
73573
73574        No new tests, covered by fast/dom/navigator-detached-nocrash.html.
73575
73576        * Modules/battery/NavigatorBattery.cpp:
73577        (WebCore::NavigatorBattery::webkitBattery):
73578
735792012-03-22  Emil A Eklund  <eae@chromium.org>
73580
73581        Unreviewed, add missing include statement for CSSValueList.h.
73582
73583        * css/CSSStyleSelector.h:
73584
735852012-03-22  Tony Chang  <tony@chromium.org>
73586
73587        flexbox flexing implementation should match the spec
73588        https://bugs.webkit.org/show_bug.cgi?id=70796
73589
73590        Reviewed by Ojan Vafai.
73591
73592        Match the algorithm in the spec. Handling min/max constraints are slightly improved.
73593        http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
73594
73595        New test cases in css3/flexbox/flex-algorithm-min-max.html.
73596
73597        * rendering/RenderFlexibleBox.cpp:
73598        (WebCore::adjustFlexSizeForMinAndMax): Step 5 of resolving flexible lengths.
73599        (WebCore):
73600        (WebCore::RenderFlexibleBox::Violation::Violation):
73601        (RenderFlexibleBox::Violation):
73602        (WebCore::RenderFlexibleBox::freezeViolations): Used by step 6.
73603        (WebCore::RenderFlexibleBox::resolveFlexibleLengths):
73604        * rendering/RenderFlexibleBox.h:
73605
736062012-03-22  Emil A Eklund  <eae@chromium.org>
73607
73608        Unreviewed, add missing import.
73609
73610        * rendering/RenderThemeMac.mm:
73611
736122012-03-22  Anders Carlsson  <andersca@apple.com>
73613
73614        ASSERT(!needsLayout) in RenderView.cpp when visiting http://www.panic.com/blog/
73615        https://bugs.webkit.org/show_bug.cgi?id=81953
73616        <rdar://problem/11086998>
73617
73618        Reviewed by Sam Weinig.
73619
73620        If a page ends up creating CATiledLayers, CA transactions can be committed outside of the normal
73621        CA run loop observer, so we can't call setNeedsDisplay on tile cache layers directly because then
73622        we'll end up calling into painting code before all the layers have been flushed.
73623
73624        Fix this by adding a list of dirty rects to platformCALayerDidCreateTiles and change GraphicsLayerCA to
73625        mark them as dirty. This ensures that any CA transaction commits won't cause newly added layers to be painted.
73626
73627        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
73628        (WebCore::LayerClient::platformCALayerDidCreateTiles):
73629        * platform/graphics/ca/GraphicsLayerCA.cpp:
73630        (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
73631        * platform/graphics/ca/GraphicsLayerCA.h:
73632        (GraphicsLayerCA):
73633        * platform/graphics/ca/PlatformCALayerClient.h:
73634        (PlatformCALayerClient):
73635        * platform/graphics/ca/mac/TileCache.mm:
73636        (WebCore::TileCache::setScale):
73637        (WebCore::TileCache::revalidateTiles):
73638        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
73639        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
73640
736412012-03-19  Robert Hogan  <robert@webkit.org>
73642
73643        Text should overflow when list item height set to 0
73644        https://bugs.webkit.org/show_bug.cgi?id=78726
73645
73646        Reviewed by Julien Chaffraix.
73647
73648        Tests: css2.1/20110323/height-applies-to-010a-expected.html
73649               fast/css/heightless-list-item-expected.html
73650               fast/css/heightless-list-item.html
73651
73652        * rendering/RenderListItem.cpp:
73653        (WebCore::RenderListItem::paint):
73654           If the list item has height:0, only paint it if the list item allows any block or inline content 
73655           to overflow unclipped. The zero-height check is a shortcut to avoid unnecessary painting and 
73656           this seems to be the only case where there's something to do.
73657
736582012-03-22  Dave Michael  <dmichael@chromium.org>
73659
73660        HTMLPluginElement is not destroyed on reload or navigation if getNPObject is called
73661        https://bugs.webkit.org/show_bug.cgi?id=80428
73662
73663        Reviewed by Eric Seidel.
73664
73665        Make HTMLPluginElement release its m_NPObject in detach() to break a
73666        reference-counting cycle that happens on reload or navigation. With this
73667        change, HTMLPlugInElement::removedFromDocument is unnecessary, so it
73668        was removed. Note that Releasing m_NPObject does not result in a call to
73669        the plugin; it simply releases a reference count on the wrapper object
73670        for this HTMLPlugInElement. (The plugin's NPP_Deallocate is invoked
73671        when the render tree is destroyed, when PluginView calls
73672        PluginPackage::unload.) Thus, it is safe to release m_NPObject in
73673        detach, because it can not result in layout or style changes.
73674
73675        Also added numberOfLiveNodes() and numberOfLiveDocuments() to
73676        window.internals to enable testing.
73677
73678        Test: plugins/netscape-dom-access-and-reload.html
73679
73680        * WebCore.exp.in:
73681        * html/HTMLPlugInElement.cpp:
73682        (WebCore::HTMLPlugInElement::detach):
73683        * html/HTMLPlugInElement.h:
73684        (HTMLPlugInElement):
73685        * testing/Internals.cpp:
73686        (WebCore::Internals::numberOfLiveDocuments):
73687        (WebCore::Internals::numberOfLiveNodes):
73688        (WebCore):
73689        * testing/Internals.h:
73690        (Internals):
73691        * testing/Internals.idl:
73692
736932012-03-22  Shawn Singh  <shawnsingh@chromium.org>
73694
73695        [chromium] Make CCDamageTracker robust to empty layer lists
73696        https://bugs.webkit.org/show_bug.cgi?id=81831
73697
73698        Reviewed by Adrienne Walker.
73699
73700        Added a unit test in CCDamageTrackerTest that causes a crash in
73701        the old code. With this patch applied, the crash will not occur.
73702        In theory, that crash should never occur anyway, unless there is a
73703        bug outside the damage tracker, but for robustness it's
73704        appropriate to handle it properly.
73705
73706        In addition to this fix, performed some trivial maintenance on the
73707        damage tracker code.
73708
73709        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
73710        (WebCore::CCDamageTracker::updateDamageTrackingState): removed
73711        unclean code that accessed the targetSurface to get necessary
73712        information. Instead, we now pass those args through the damage
73713        tracker's API.
73714
73715        * platform/graphics/chromium/cc/CCDamageTracker.h:
73716        (CCDamageTracker): modified args passed to damage tracker on update.
73717
73718        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
73719        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
73720        modified args passed to damage tracker on update.
73721
737222012-03-22  Julien Chaffraix  <jchaffraix@webkit.org>
73723
73724        Enable style sharing for elements with a style attribute
73725        https://bugs.webkit.org/show_bug.cgi?id=81523
73726
73727        Reviewed by Antti Koivisto.
73728
73729        Memory improvement change only.
73730
73731        Overall, this is a performance wash (some benchmarks may regress a bit due to the increase in time taken
73732        by CSSStyleSelector::locateSharedStyle as we try more nodes, others increase their performance due to style sharing).
73733
73734        Instrumenting our style sharing, this should give us some nice memory shavings on some benchmarks:
73735        - HTML5 isn't impacted as it doesn't use much inline style
73736        - page cyclers' intl1 showed a 6% increase in style sharing.
73737
73738        * css/CSSStyleSelector.cpp:
73739        (WebCore::CSSStyleSelector::canShareStyleWithElement):
73740        This method now handles inline style like presentation attributes on the element.
73741
73742        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
73743        (WebCore::CSSStyleSelector::locateSharedStyle):
73744        Don't bail out for an element with an inline style declaration.
73745
73746        (WebCore::CSSStyleSelector::stylesEqual):
73747        Generalized attributeStylesEqual to share the logic between attribute and
73748        inline style property set. This means that attribute checks are actually
73749        doing a little extra more work but that didn't impact our benchmarks.
73750
737512012-03-22  Kevin Ollivier  <kevino@theolliviers.com>
73752
73753        [wx] Unreviewed. WebDOM build fix after array type changes.
73754
73755        * bindings/scripts/CodeGeneratorCPP.pm:
73756        (ShouldSkipType):
73757
737582012-03-22  Pavel Feldman  <pfeldman@chromium.org>
73759
73760        Web Inspector: text gutter decorations should move upon edits.
73761        https://bugs.webkit.org/show_bug.cgi?id=81932
73762
73763        Reviewed by Vsevolod Vlasov.
73764
73765        Decorations set by the line number now shift as editing inserts / removes lines.
73766
73767        * inspector/front-end/TextViewer.js:
73768        (WebInspector.TextViewer.prototype._syncLineHeight):
73769        (WebInspector.TextEditorGutterPanel):
73770        (WebInspector.TextEditorGutterPanel.prototype.textChanged):
73771        (WebInspector.TextEditorGutterPanel.prototype.syncClientHeight):
73772        (WebInspector.TextEditorGutterPanel.prototype.addDecoration):
73773        (WebInspector.TextEditorGutterPanel.prototype.removeDecoration):
73774
737752012-03-21  Robert Hogan  <robert@webkit.org>
73776
73777        CSS 2.1 failure: fixed-table-layout-006 fails
73778        https://bugs.webkit.org/show_bug.cgi?id=78412
73779
73780        Reviewed by Julien Chaffraix.
73781
73782        Tests: css2.1/20110323/fixed-table-layout-006.htm
73783               fast/css/fixed-table-layout-cell-padding.htm
73784
73785        In fixed tables, positive width specified on a column should include borders and padding.
73786        See the thread at http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html. The discussion
73787        there resulted in a whole new set of tests for section 17.5.2.1 in the CSS 2.1 spec. See 
73788        http://test.csswg.org/harness/test/CSS21_DEV/section/17.5.2.1/. This patch allows WebKit
73789        to pass all of them, and all tests for the 17.5.2.1 section as a whole. I'll land them all separately.
73790    
73791        * rendering/FixedTableLayout.cpp:
73792        (WebCore::FixedTableLayout::calcWidthArray): Include border width and cell padding in the width of the column.
73793         Note that borderAndPaddingLogicalWidth() returns the border width for separate and collapsed borders as appropriate.
73794
737952012-03-22  Simon Fraser  <simon.fraser@apple.com>
73796
73797        Factor compositing layer updates after scroll into a new method
73798        https://bugs.webkit.org/show_bug.cgi?id=81943
73799
73800        Reviewed by Dean Jackson.
73801
73802        Move some code that updates compositing layers after scrolling
73803        into its own method, for cleanliness.
73804
73805        * rendering/RenderLayer.cpp:
73806        (WebCore::RenderLayer::scrollTo):
73807        (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
73808        (WebCore):
73809        * rendering/RenderLayer.h:
73810        (RenderLayer):
73811
738122012-03-22  Gavin Barraclough  <barraclough@apple.com>
73813
73814        Add JSValue::isFunction
73815        https://bugs.webkit.org/show_bug.cgi?id=81935
73816
73817        Reviewed by Geoff Garen.
73818
73819        This would be useful in the WebCore bindings code.
73820        Also, remove asFunction, replace with jsCast<JSFunction*>.
73821
73822        * bindings/js/JSInjectedScriptHostCustom.cpp:
73823        (WebCore::JSInjectedScriptHost::functionDetails):
73824        * bindings/js/ScriptCallStackFactory.cpp:
73825        (WebCore::createScriptCallStack):
73826
738272012-03-22  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
73828
73829        TiledBackingStore: Fix test regressions that appeared with r111560.
73830        https://bugs.webkit.org/show_bug.cgi?id=81519
73831
73832        Reviewed by Kenneth Rohde Christiansen.
73833
73834        The visible rect wasn't intersected with the contents rect anymore which
73835        could lead to an astronomical layer size to check for intersecting tiles.
73836
73837        Add a visibleContentsRect that doesn't do the conversion and use it
73838        in visibleAreaIsCovered.
73839
73840        * platform/graphics/TiledBackingStore.cpp:
73841        (WebCore::TiledBackingStore::visibleContentsRect):
73842        (WebCore):
73843        (WebCore::TiledBackingStore::visibleRect):
73844        (WebCore::TiledBackingStore::visibleAreaIsCovered):
73845        * platform/graphics/TiledBackingStore.h:
73846        (TiledBackingStore):
73847
738482012-03-22  Joe Thomas  <joethomas@motorola.com>
73849
73850        Make Length Calculation functions non-inline
73851        https://bugs.webkit.org/show_bug.cgi?id=81733
73852
73853        Currently length calculation functions in LengthFunctions.h are inline. These functions are pretty big to be inline.
73854        And these functions are expected to grow again when new length units will be introduced in bug 27160.
73855
73856        A decent rule of thumb is to not inline a function if it is more than 10 lines long. Also it's typically not cost effective to inline
73857        functions with loops or switch statements. (Reference: http://google-styleguide.googlecode.com/svn/trunk/cppguide.xml#Inline_Functions).
73858
73859        Ran PerformanceTests/Parser/html5-full-render.html on Mac Snow-Leopard with and without the patch and did not see much performance difference.
73860
73861        Reviewed by Antti Koivisto.
73862
73863        * CMakeLists.txt:
73864        * GNUmakefile.list.am:
73865        * Target.pri:
73866        * WebCore.gypi:
73867        * WebCore.vcproj/WebCore.vcproj:
73868        * WebCore.xcodeproj/project.pbxproj:
73869        * css/LengthFunctions.cpp: Added.
73870        (WebCore):
73871        (WebCore::miminumValueForLength):
73872        (WebCore::valueForLength):
73873        (WebCore::floatValueForLength):
73874        * css/LengthFunctions.h:
73875        (WebCore):
73876
738772012-03-22  Alexis Menard  <alexis.menard@openbossa.org>
73878
73879        Increase code sharing between CSSParser and CSSPropertyLonghand.
73880        https://bugs.webkit.org/show_bug.cgi?id=81587
73881
73882        Reviewed by Antti Koivisto.
73883
73884        Expose the longhands declaration for a given shorthand in CSSPropertyLonghand and
73885        make CSSParser use them. It will make the declaration of longhands in one place only.
73886        Remove the map of CSSPropertyLonghand and replace it by a regular switch/case.
73887        The map doesn't bring much here and it's cleaner and faster to use the switch.
73888        It also shows a little performance improvement in CSS/CSSPropertySetterGetter.html.
73889
73890        No new tests : no behavior change.
73891
73892        * css/CSSParser.cpp:
73893        (WebCore::CSSParser::parseValue):
73894        (WebCore::CSSParser::parseAnimationShorthand):
73895        (WebCore::CSSParser::parseTransitionShorthand):
73896        (WebCore::CSSParser::parseShorthand):
73897        Modify the prototype of this function to directly use the CSSPropertyLonghand.
73898        * css/CSSParser.h:
73899        (WebCore):
73900        (CSSParser):
73901        * css/CSSPropertyLonghand.cpp:
73902        (WebCore):
73903        (WebCore::backgroundLonghand):
73904        (WebCore::backgroundPositionLonghand):
73905        (WebCore::backgroundRepeatLonghand):
73906        (WebCore::borderLonghand):
73907        (WebCore::borderBottomLonghand):
73908        (WebCore::borderColorLonghand):
73909        (WebCore::borderImageLonghand):
73910        (WebCore::borderLeftLonghand):
73911        (WebCore::borderRadiusLonghand):
73912        (WebCore::borderRightLonghand):
73913        (WebCore::borderSpacingLonghand):
73914        (WebCore::borderStyleLonghand):
73915        (WebCore::borderTopLonghand):
73916        (WebCore::borderWidthLonghand):
73917        (WebCore::listStyleLonghand):
73918        (WebCore::fontLonghand):
73919        (WebCore::marginLonghand):
73920        (WebCore::outlineLonghand):
73921        (WebCore::overflowLonghand):
73922        (WebCore::paddingLonghand):
73923        (WebCore::webkitAnimationLonghand):
73924        (WebCore::webkitBorderAfterLonghand):
73925        (WebCore::webkitBorderBeforeLonghand):
73926        (WebCore::webkitBorderEndLonghand):
73927        (WebCore::webkitBorderStartLonghand):
73928        (WebCore::webkitColumnsLonghand):
73929        (WebCore::webkitColumnRuleLonghand):
73930        (WebCore::webkitFlexFlowLonghand):
73931        (WebCore::webkitMarginCollapseLonghand):
73932        (WebCore::webkitMarqueeLonghand):
73933        (WebCore::webkitMaskLonghand):
73934        (WebCore::webkitMaskPositionLonghand):
73935        (WebCore::webkitMaskRepeatLonghand):
73936        (WebCore::webkitTextEmphasisLonghand):
73937        (WebCore::webkitTextStrokeLonghand):
73938        (WebCore::webkitTransitionLonghand):
73939        (WebCore::webkitTransformOriginLonghand):
73940        (WebCore::webkitWrapLonghand):
73941        (WebCore::longhandForProperty):
73942        * css/CSSPropertyLonghand.h:
73943        (WebCore):
73944
739452012-03-22  Emil A Eklund  <eae@chromium.org>
73946
73947        Unreviewed, touching file to force bots to pick up CSS_SHADERS flag change. 
73948
73949        * css/CSSStyleSelector.h:
73950        (CSSStyleSelector):
73951
739522012-03-22  Xingnan Wang  <xingnan.wang@intel.com>
73953
73954        ReverbConvolver::latencyFrames() should return 0.
73955        https://bugs.webkit.org/show_bug.cgi?id=81806
73956
73957        Reviewed by Chris Rogers.
73958
73959        * platform/audio/ReverbConvolver.cpp:
73960        (WebCore::ReverbConvolver::latencyFrames):
73961
739622012-03-22  Tony Chang  <tony@chromium.org>
73963
73964        refactor flexbox in preparation for flex-line-pack
73965        https://bugs.webkit.org/show_bug.cgi?id=81843
73966
73967        Reviewed by Ojan Vafai.
73968
73969        Replace WrapReverseContext with a vector of LineContexts that contain
73970        the same information, plus values needed for flex-align.
73971
73972        alignChildren has been moved to after all the lines have been
73973        positioned. We want to align children after flex-line-pack has changed
73974        the size of each line to avoid unnecessary layouts.
73975
73976        Take 2: Remove the assert. If there are no children, then there are no
73977        flex lines. Instead, assert that child is not null.
73978
73979        No new tests, just refactoring.
73980
73981        * rendering/RenderFlexibleBox.cpp:
73982        (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
73983        holds information needed for wrap-reverse and aligning children.
73984        (RenderFlexibleBox::LineContext):
73985        (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
73986        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
73987        (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
73988        (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
73989        * rendering/RenderFlexibleBox.h:
73990
739912012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
73992
73993        Event dispatching in XMLHttpRequestProgressEventThrottle should go through XMLHttpRequestProgressEventThrottle::dispatchEvent
73994        https://bugs.webkit.org/show_bug.cgi?id=46743
73995
73996        Reviewed by Julien Chaffraix
73997        Based on original patch by Anton D'Auria
73998
73999        In preparation for platform-specific queuing of XMLHttpRequest events,
74000        this patch changes all calls to m_target->dispatchEvent to
74001        XMLHttpRequestProgressEventThrottle::dispatchEvent.
74002        Currently, we queue only one progress event on suspend() if we have
74003        throttled progress events. We should be able to queue all XHR events
74004        that can be generated after suspend(), if the platform network layer
74005        continues to receive data.
74006        XMLHttpRequest uses XMLHttpRequestProgressEventThrottle to dispatch only
74007        download events, so this doesn't change behavior of upload events, which
74008        aren't throttled or queued.
74009
74010        * xml/XMLHttpRequest.cpp:
74011        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
74012        * xml/XMLHttpRequestProgressEventThrottle.cpp:
74013        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchReadyStateChangeEvent):
74014        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEvent):
74015        (WebCore::XMLHttpRequestProgressEventThrottle::flushProgressEvent):
74016        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchPausedEvent):
74017        (WebCore::XMLHttpRequestProgressEventThrottle::fired):
74018        * xml/XMLHttpRequestProgressEventThrottle.h:
74019        (XMLHttpRequestProgressEventThrottle):
74020
740212012-03-22  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
74022
74023        [EFL] Map BackSpace key code to Unicode value
74024        https://bugs.webkit.org/show_bug.cgi?id=81130
74025
74026        Reviewed by Gustavo Noronha Silva.
74027
74028        Test: fast/events/backspace-navigates-back.html
74029
74030        * platform/efl/EflKeyboardUtilities.cpp:
74031        (WebCore::createKeyMap): Map BackSpace to Unicode value
74032
740332012-03-22  Abhishek Arya  <inferno@chromium.org>
74034
74035        Incorrect beforeChild parent calculation in RenderRubyBase::moveChildren.
74036        https://bugs.webkit.org/show_bug.cgi?id=80297
74037
74038        Reviewed by Julien Chaffraix.
74039
74040        beforeChild might share the same anonymous block parent with other previous
74041        siblings. Before moving the children across ruby bases, we need to make sure
74042        to split the tree across the beforeChild correctly.
74043
74044        Test: fast/ruby/ruby-text-before-child-split.html
74045
74046        * rendering/RenderRubyBase.cpp:
74047        (WebCore::RenderRubyBase::moveChildren):
74048
740492012-03-22  Kristóf Kosztyó  <kkristof@inf.u-szeged.hu>
74050
74051        [Qt] Fix Qt minimal build after r111692
74052
74053        Reviewed by Csaba Osztrogonác.
74054
74055        * bindings/js/JSScriptProfileNodeCustom.cpp:
74056
740572012-03-22  Adrienne Walker  <enne@google.com>
74058
74059        [chromium] Fix scrollbar layers holding onto invalid textures after lost context
74060        https://bugs.webkit.org/show_bug.cgi?id=81841
74061
74062        Reviewed by James Robinson.
74063
74064        Unit test: CCLayerTreeHostImplTest.scrollbarLayerLostContext
74065
74066        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
74067        (WebCore::CCScrollbarLayerImpl::willDraw):
74068
740692012-03-22  Philippe Normand  <pnormand@igalia.com>
74070
74071        [GTK] ASSERT bug in WebAudio (AudioFileReader)
74072        https://bugs.webkit.org/show_bug.cgi?id=81777
74073
74074        Reviewed by Martin Robinson.
74075
74076        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
74077        (WebCore::AudioFileReader::decodeAudioForBusCreation): Don't steal
74078        the GstBus floating reference.
74079        (WebCore::AudioFileReader::createBus): Ditto.
74080
740812012-03-22  Ilya Tikhonovsky  <loislo@chromium.org>
74082
74083        Unreviewed: Web Inspector: fix syntax error in text.
74084
74085        * English.lproj/localizedStrings.js:
74086        * inspector/front-end/HeapSnapshotProxy.js:
74087        (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
74088
740892012-03-22  Sheriff Bot  <webkit.review.bot@gmail.com>
74090
74091        Unreviewed, rolling out r111688.
74092        http://trac.webkit.org/changeset/111688
74093        https://bugs.webkit.org/show_bug.cgi?id=81912
74094
74095        "Heap profiler test fails" (Requested by yurys on #webkit).
74096
74097        * inspector/front-end/HeapSnapshot.js:
74098        (WebInspector.HeapSnapshot.prototype._buildRetainers):
74099
741002012-03-22  Dana Jansens  <danakj@chromium.org>
74101
74102        [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
74103        https://bugs.webkit.org/show_bug.cgi?id=81437
74104
74105        Reviewed by Adrienne Walker.
74106
74107        Split CCLayerTreeHostImpl::drawLayers() into two phases:
74108        prepareToDraw() and drawLayers().
74109
74110        When calculating a RenderPass, and we checkerboard a quad on a
74111        layer, bubble this info back up to CCLayerTreeHostImpl. If the
74112        layer is transforming in an animation, then abort the prepareToDraw()
74113        phase and cause it to return false back to the thread proxy.
74114
74115        Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
74116
74117        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
74118        (WebCore::CCLayerImpl::appendQuads):
74119        * platform/graphics/chromium/cc/CCLayerImpl.h:
74120        (CCLayerImpl):
74121        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
74122        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
74123        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
74124        (WebCore):
74125        (WebCore::CCLayerTreeHostImpl::drawLayers):
74126        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
74127        (CCLayerTreeHostImpl):
74128        (FrameData):
74129        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
74130        (WebCore::CCQuadCuller::append):
74131        * platform/graphics/chromium/cc/CCQuadCuller.h:
74132        (CCQuadCuller):
74133        * platform/graphics/chromium/cc/CCRenderPass.cpp:
74134        (WebCore::CCRenderPass::appendQuadsForLayer):
74135        * platform/graphics/chromium/cc/CCRenderPass.h:
74136        (CCRenderPass):
74137        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
74138        (WebCore::CCScrollbarLayerImpl::appendQuads):
74139        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
74140        (CCScrollbarLayerImpl):
74141        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
74142        (WebCore::CCSingleThreadProxy::doComposite):
74143        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
74144        (WebCore::CCSolidColorLayerImpl::appendQuads):
74145        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
74146        (CCSolidColorLayerImpl):
74147        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
74148        (WebCore::CCTextureLayerImpl::appendQuads):
74149        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
74150        (CCTextureLayerImpl):
74151        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
74152        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
74153        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
74154        (WebCore::CCTiledLayerImpl::appendQuads):
74155        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
74156        (CCTiledLayerImpl):
74157        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
74158        (WebCore::CCVideoLayerImpl::appendQuads):
74159        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
74160        (CCVideoLayerImpl):
74161
741622012-03-22  Levi Weintraub  <leviw@chromium.org>
74163
74164        Correct LayoutUnit usage in Accessibility code
74165        https://bugs.webkit.org/show_bug.cgi?id=81789
74166
74167        Reviewed by Eric Seidel.
74168
74169        Reverting Accessibility hit testing code back to integers. Accessibility hit tests originate from
74170        the embedder and don't accumulate offsets, so we get nothing from using LayoutUnits, and needlessly
74171        expose them to the embedder.
74172
74173        No new tests. No change in behavior.
74174
74175        * accessibility/AccessibilityListBox.cpp:
74176        (WebCore::AccessibilityListBox::elementAccessibilityHitTest): See above.
74177        * accessibility/AccessibilityListBox.h:
74178        (AccessibilityListBox):
74179        * accessibility/AccessibilityObject.cpp:
74180        (WebCore::AccessibilityObject::clickPoint): This value is only ever used to display a context menu,
74181        which is always done with integer coordinates.
74182        (WebCore::AccessibilityObject::boundingBoxForQuads): This is a bounding box built from floats. We
74183        don't pixel snap floats, so we return an integer bounding box.
74184        (WebCore::AccessibilityObject::elementAccessibilityHitTest): See above.
74185        (WebCore::AccessibilityObject::scrollToMakeVisible): Pixel snapping the bounding box and simplifying
74186        up the code to position it at (0,0).
74187        * accessibility/AccessibilityObject.h:
74188        (WebCore::AccessibilityObject::accessibilityHitTest): See above.
74189        (AccessibilityObject):
74190        (WebCore::AccessibilityObject::pixelSnappedBoundingBoxRect): Convenience method for embedder callers.
74191        * accessibility/AccessibilityRenderObject.cpp:
74192        (WebCore::AccessibilityRenderObject::visiblePositionForPoint): The point passed in here is comes from
74193        screen coordinates and originates in embedder code. Reverting it to take an integer.
74194        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest): See above.
74195        (WebCore::AccessibilityRenderObject::accessibilityHitTest): See above.
74196        * accessibility/AccessibilityRenderObject.h:
74197        (AccessibilityRenderObject):
74198        * accessibility/AccessibilityScrollView.cpp:
74199        (WebCore::AccessibilityScrollView::accessibilityHitTest): See above.
74200        * accessibility/AccessibilityScrollView.h:
74201        (AccessibilityScrollView):
74202        * accessibility/AccessibilitySlider.cpp:
74203        (WebCore::AccessibilitySlider::elementAccessibilityHitTest): See above.
74204        * accessibility/AccessibilitySlider.h:
74205        (AccessibilitySlider):
74206
742072012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
74208
74209        Web Inspector: HeapProfiler: Heap snapshot worker has to report the errors to the front-end
74210        https://bugs.webkit.org/show_bug.cgi?id=81804
74211
74212        Sometimes the worker process of HeapSnapshot does some wrong thing and throw an Exception.
74213        At this momemnt we have no way to see the error in the front-end.
74214
74215        Reviewed by Yury Semikhatsky.
74216
74217        * English.lproj/localizedStrings.js:
74218        * inspector/front-end/HeapSnapshotProxy.js: check the exception field and dump it into front-end's console.
74219        (WebInspector.HeapSnapshotWorker.prototype._messageReceived):
74220        * inspector/front-end/HeapSnapshotWorkerDispatcher.js: catch the exception and transfer it's text to requester's side.
74221        (WebInspector.HeapSnapshotWorkerDispatcher.prototype.dispatchMessage):
74222
742232012-03-22  Carlos Garcia Campos  <cgarcia@bb-webkit-rel-64.local.igalia.com>
74224
74225        [GTK] Use the angle-bracket form to include wtf headers
74226        https://bugs.webkit.org/show_bug.cgi?id=81884
74227
74228        Reviewed by Eric Seidel.
74229
74230        Use #include <wtf/foo> instead of #include "foo".
74231
74232        * platform/graphics/freetype/FontPlatformData.h:
74233        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
74234        * platform/gtk/DataObjectGtk.h:
74235        * platform/network/ResourceHandleInternal.h:
74236        * platform/network/soup/SocketStreamHandleSoup.cpp:
74237
742382012-03-22  Alexander Pavlov  <apavlov@chromium.org>
74239
74240        Web Inspector: Case of the elements of the xml document should be shown as it is in the console
74241        https://bugs.webkit.org/show_bug.cgi?id=81902
74242
74243        When registering a detached root, DOMAgent always presumes it is a node,
74244        while it can also be a document.
74245
74246        Reviewed by Vsevolod Vlasov.
74247
74248        Test: inspector/console/console-xml-document.html
74249
74250        * inspector/front-end/ConsoleMessage.js:
74251        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
74252        * inspector/front-end/DOMAgent.js:
74253        (WebInspector.DOMAgent.prototype._setDetachedRoot):
74254
742552012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
74256
74257        Web Inspector: Introduce ScriptBound/ScriptUnbound events in ScriptMapping.
74258        https://bugs.webkit.org/show_bug.cgi?id=81904
74259
74260        Reviewed by Pavel Feldman.
74261
74262        This is another step on the way to cleaner BreakpointManager logic.
74263        Here we extract ScriptBound/ScriptUnbound events from UISourceCodeListChanged event.
74264        This allows us to handle script-uiSourceCode binding separately from
74265        uiSourceCode creation/deletion and to handle unbinding that was not
74266        possible at all before.
74267
74268        * inspector/front-end/CompilerScriptMapping.js:
74269        (WebInspector.CompilerScriptMapping.prototype._uiSourceCodesForSourceMap):
74270        (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
74271        (WebInspector.CompilerScriptMapping.prototype.addScript):
74272        (WebInspector.CompilerScriptMapping.prototype.reset):
74273        * inspector/front-end/ResourceScriptMapping.js:
74274        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
74275        * inspector/front-end/ScriptMapping.js:
74276        (WebInspector.MainScriptMapping):
74277        (WebInspector.MainScriptMapping.prototype._updateLiveLocation):
74278        (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
74279        (WebInspector.MainScriptMapping.prototype._handleScriptBound):
74280        (WebInspector.MainScriptMapping.prototype._handleScriptUnbound):
74281        * inspector/front-end/SnippetsModel.js:
74282        (WebInspector.SnippetsScriptMapping.prototype.addScript.get this):
74283        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
74284        (WebInspector.SnippetsScriptMapping.prototype._createUISourceCodeForScript):
74285        (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
74286        (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
74287        (WebInspector.SnippetsScriptMapping.prototype.reset):
74288
742892012-03-22  Vineet Chaudhary  <rgf748@motorola.com>
74290
74291        https://bugs.webkit.org/show_bug.cgi?id=81893
74292        Remove custom bindings form ScriptProfileNode.idl of attribute type Array.
74293
74294        Reviewed by Kentaro Hara.
74295
74296        Replace [CustomGetter] Array with sequence<ScriptProfileNode>.
74297        To remove the custom bindings code.
74298
74299        Test: No new tests. LayoutTests/fast/profiler/* test are enough for this.
74300
74301        * bindings/js/JSScriptProfileNodeCustom.cpp: Removed custom function.
74302        (WebCore::JSScriptProfileNode::callUID):
74303        * bindings/v8/custom/V8ScriptProfileNodeCustom.cpp: Removed custom function.
74304        (WebCore):
74305        * inspector/ScriptProfileNode.idl: Replaced Array with sequence<ScriptProfileNode>.
74306
743072012-03-22  Andrey Kosyakov  <caseq@chromium.org>
74308
74309        Web Inspector: only update timeline overview categories strips when these are visible
74310        https://bugs.webkit.org/show_bug.cgi?id=81903
74311
74312        Reviewed by Pavel Feldman.
74313
74314        - factor out category strips update into a separate method;
74315        - only invoke it when "Timeline" overview mode is selected.
74316
74317        * inspector/front-end/TimelineOverviewPane.js:
74318        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
74319        (WebInspector.TimelineOverviewPane.prototype.update):
74320        (WebInspector.TimelineOverviewPane.prototype._updateCategoryStrips):
74321
743222012-03-22  Levi Weintraub  <leviw@chromium.org>
74323
74324        Update LayoutUnit usage in FrameSelection
74325        https://bugs.webkit.org/show_bug.cgi?id=81754
74326
74327        Reviewed by Eric Seidel.
74328
74329        FrameSelection stores its caret and repaint bounds in absolute coordinates. Absolute coordinates
74330        we treat as pixel values, so this patch changes these values to integers. Sub-pixel precision
74331        will still be used when these coordinates are passed down and used locally.
74332
74333        No new tests. No change in behavior.
74334
74335        * editing/FrameSelection.cpp:
74336        (WebCore::absoluteCaretY): Uses absolute coordinates, which are ints.
74337        (WebCore::FrameSelection::modify): Uses absolute coordinates to handle vertical selection
74338        modification. Sub-pixel precision will be used when these values are converted to local ones.
74339        (WebCore::CaretBase::absoluteBoundsForLocalRect): Absolute coordinates -> ints.
74340        (WebCore::FrameSelection::absoluteCaretBounds): Ditto.
74341        (WebCore::CaretBase::caretRepaintRect): The caret repaint rect is stored in absolute coordinates.
74342        Reverting the values to ints.
74343        (WebCore::FrameSelection::recomputeCaretRect): Ditto.
74344        * editing/FrameSelection.h:
74345        (FrameSelection):
74346        * editing/mac/FrameSelectionMac.mm:
74347        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange): Switching to store absolute
74348        coordinates as integers.
74349
743502012-03-22  Alexei Filippov  <alexeif@chromium.org>
74351
74352        Web Inspector: Speed up the build retainers phase.
74353        https://bugs.webkit.org/show_bug.cgi?id=81763
74354
74355        Replacing the edge iterator with a raw loop makes it
74356        faster by more than 10 times.
74357
74358        Reviewed by Yury Semikhatsky.
74359
74360        * inspector/front-end/HeapSnapshot.js:
74361        (WebInspector.HeapSnapshot.prototype._buildRetainers):
74362
743632012-03-22  No'am Rosenthal  <noam.rosenthal@nokia.com>
74364
74365        [Qt][WK2] The background appears to have one extra pixel from the contents
74366        https://bugs.webkit.org/show_bug.cgi?id=81830
74367
74368        Reviewed by Kenneth Rohde Christiansen.
74369
74370        TextureMapperGL applied a 1-offset that was covering for another bug,
74371        which was already fixed.
74372
74373        No new tests, this would be tested once we test GL rendering results.
74374
74375        * platform/graphics/texmap/TextureMapperGL.cpp:
74376        (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
74377
743782012-03-22  W. James MacLean  <wjmaclean@chromium.org>
74379
74380        Rename touchpad fling curve, add curve parameters to constructor.
74381        https://bugs.webkit.org/show_bug.cgi?id=81820
74382
74383        Reviewed by Adrienne Walker.
74384
74385        Covered by existing unit tests.
74386
74387        * GNUmakefile.list.am:
74388        * WebCore.gypi:
74389        * platform/ScrollAnimatorNone.cpp:
74390        (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
74391        * platform/TouchpadFlingPlatformGestureCurve.cpp: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.cpp.
74392        (WebCore):
74393        (WebCore::TouchpadFlingPlatformGestureCurve::create):
74394        (WebCore::TouchpadFlingPlatformGestureCurve::TouchpadFlingPlatformGestureCurve):
74395        (WebCore::TouchpadFlingPlatformGestureCurve::~TouchpadFlingPlatformGestureCurve):
74396        (WebCore::TouchpadFlingPlatformGestureCurve::apply):
74397        * platform/TouchpadFlingPlatformGestureCurve.h: Renamed from Source/WebCore/platform/TouchFlingPlatformGestureCurve.h.
74398        (WebCore):
74399        (TouchpadFlingPlatformGestureCurve):
74400
744012012-03-22  Pavel Feldman  <pfeldman@chromium.org>
74402
74403        Web Inspector: make CSS and JavaScript files editable by default.
74404        https://bugs.webkit.org/show_bug.cgi?id=81787
74405
74406        Reviewed by Vsevolod Vlasov.
74407
74408        This change removes cancelEditing and setReadOnly capabilities from source frame.
74409        It removes dblclick handler as well since one does not need to enter editing mode.
74410        It also establishes proper content dispatching so that views are updated with the
74411        resource content. All these are inter-dependent, need to be landed simultaneously.
74412        Drive-by follow up to the r111675 where range is modified prior to the exiting
74413        edit mode.
74414
74415        * inspector/front-end/JavaScriptSourceFrame.js:
74416        (WebInspector.JavaScriptSourceFrame):
74417        (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
74418        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
74419        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
74420        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
74421        (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
74422        * inspector/front-end/ResourceView.js:
74423        (WebInspector.ResourceSourceFrame):
74424        (WebInspector.ResourceSourceFrame.prototype.suggestedFileName):
74425        (WebInspector.ResourceSourceFrame.prototype._contentChanged):
74426        (WebInspector.EditableResourceSourceFrame.prototype.canEditSource):
74427        (WebInspector.EditableResourceSourceFrame.prototype.editContent.callbackWrapper):
74428        (WebInspector.EditableResourceSourceFrame.prototype.editContent):
74429        (WebInspector.EditableResourceSourceFrame.prototype._contentChanged):
74430        * inspector/front-end/ResourcesPanel.js:
74431        (WebInspector.ResourcesPanel.prototype._innerShowView):
74432        (WebInspector.FrameResourceTreeElement.prototype._appendRevision):
74433        * inspector/front-end/ScriptsPanel.js:
74434        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsDirty):
74435        * inspector/front-end/Settings.js:
74436        (WebInspector.ExperimentsSettings):
74437        * inspector/front-end/SourceFrame.js:
74438        (WebInspector.SourceFrame):
74439        (WebInspector.SourceFrame.prototype.wasShown):
74440        (WebInspector.SourceFrame.prototype.willHide):
74441        (WebInspector.SourceFrame.prototype.beforeTextChanged):
74442        (WebInspector.SourceFrame.prototype.setContent):
74443        (WebInspector.SourceFrame.prototype.commitEditing):
74444        (WebInspector.SourceFrame.prototype.didEditContent):
74445        (WebInspector.SourceFrame.prototype.editContent):
74446        * inspector/front-end/TextPrompt.js:
74447        (WebInspector.TextPrompt.prototype._startEditing):
74448        (WebInspector.TextPrompt.prototype._stopEditing):
74449        * inspector/front-end/TextViewer.js:
74450        (WebInspector.TextViewer):
74451        (WebInspector.TextViewer.prototype._registerShortcuts):
74452        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
74453
744542012-03-22  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
74455
74456        [Qt] Enable FAST_MOBILE_SCROLLING when scrolling is delegated.
74457        https://bugs.webkit.org/show_bug.cgi?id=81889
74458
74459        Reviewed by Kenneth Rohde Christiansen.
74460
74461        On the Qt platform only enable the fast mobile scroll feature when scrolling is delegated.
74462
74463        * rendering/RenderObject.cpp:
74464        (WebCore::RenderObject::styleWillChange):
74465
744662012-03-22  Pavel Feldman  <pfeldman@chromium.org>
74467
74468        Web Inspector: dispatch styleSheetChanged event synchronously.
74469        https://bugs.webkit.org/show_bug.cgi?id=81892
74470
74471        Reviewed by Vsevolod Vlasov.
74472
74473        Today, backend generates stylesheet change event synchronously from within set* command.
74474        But CSSStyleModel defers its dispatching until the stylesheet content is available. This
74475        prevents us from ignoring update events from within commands that initiated those updates.
74476
74477        This change makes stylesheet change event dispatch synchronously and delegates stylesheet
74478        content fetching to the event client.
74479
74480        * inspector/front-end/CSSStyleModel.js:
74481        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
74482        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
74483        (WebInspector.CSSStyleModelResourceBinding.prototype.setContent):
74484        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent.callbackWrapper):
74485        (WebInspector.CSSStyleModelResourceBinding.prototype._innerSetContent):
74486        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.callback):
74487        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
74488        (WebInspector.CSSStyleModelResourceBinding.prototype._innerStyleSheetChanged):
74489
744902012-03-21  Ian Vollick  <vollick@chromium.org>
74491
74492        [chromium] timing functions are getting incorrectly applied for accelerated css transitions
74493        https://bugs.webkit.org/show_bug.cgi?id=81692
74494
74495        Reviewed by Adrienne Walker.
74496
74497        Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
74498
74499        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
74500
745012012-03-22  Pavel Feldman  <pfeldman@chromium.org>
74502
74503        Web Inspector: allow on-hover popover while in edit mode.
74504        https://bugs.webkit.org/show_bug.cgi?id=81898
74505
74506        Reviewed by Vsevolod Vlasov.
74507
74508        This change allows popover while in-edit mode, hides it upon Esc. It also introduces anchorOverride
74509        concept in ObjectPopoverHelper that allows dynamically switching the anchor (say if we want to highlight anchor itself).
74510
74511        * inspector/front-end/DetailedHeapshotView.js:
74512        * inspector/front-end/ElementsPanel.js:
74513        * inspector/front-end/JavaScriptSourceFrame.js:
74514        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover.showObjectPopover):
74515        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
74516        (WebInspector.JavaScriptSourceFrame.prototype._onKeyDown):
74517        * inspector/front-end/NetworkPanel.js:
74518        * inspector/front-end/ObjectPopoverHelper.js:
74519        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
74520        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
74521        * inspector/front-end/Popover.js:
74522        (WebInspector.PopoverHelper.prototype.isPopoverVisible):
74523        * inspector/front-end/TimelinePanel.js:
74524
745252012-03-22  Pavel Feldman  <pfeldman@chromium.org>
74526
74527        Web Inspector: breakpoints should shift when line break is inserted in the middle of the line.
74528        https://bugs.webkit.org/show_bug.cgi?id=81896
74529
74530        Reviewed by Vsevolod Vlasov.
74531
74532        There is a bug that collapses selection prior to exiting change mode, we should never
74533        collapse edit area prior committing.
74534
74535        * inspector/front-end/TextEditorModel.js:
74536        (WebInspector.TextEditorModel.endsWithBracketRegex.):
74537        * inspector/front-end/TextViewer.js:
74538        (WebInspector.TextViewer):
74539        (WebInspector.TextEditorMainPanel.prototype.highlightLine):
74540        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo.callback):
74541        (WebInspector.TextEditorMainPanel.prototype.handleUndoRedo):
74542
745432012-03-22  Zoltan Herczeg  <zherczeg@webkit.org>
74544
74545        Merge SVGImageBufferTools to SVGRenderingContext
74546        https://bugs.webkit.org/show_bug.cgi?id=81890
74547
74548        Reviewed by Nikolas Zimmermann.
74549
74550        Copy the code to SVGRenderingContext and delete
74551        SVGImageBufferTools[.cpp.h]. Update build systems,
74552        no functionality change. This is the first step
74553        towards making SVGImageBufferTools stageful.
74554
74555        Existing tests cover this issue.
74556
74557        * CMakeLists.txt:
74558        * GNUmakefile.list.am:
74559        * Target.pri:
74560        * WebCore.gypi:
74561        * WebCore.xcodeproj/project.pbxproj:
74562        * platform/graphics/filters/FETile.cpp:
74563        (WebCore::FETile::platformApplySoftware):
74564        * rendering/svg/RenderSVGAllInOne.cpp:
74565        * rendering/svg/RenderSVGInlineText.cpp:
74566        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
74567        * rendering/svg/RenderSVGResourceClipper.cpp:
74568        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
74569        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
74570        * rendering/svg/RenderSVGResourceFilter.cpp:
74571        (WebCore::RenderSVGResourceFilter::applyResource):
74572        * rendering/svg/RenderSVGResourceGradient.cpp:
74573        (WebCore::createMaskAndSwapContextForTextGradient):
74574        (WebCore::clipToTextMask):
74575        * rendering/svg/RenderSVGResourceMasker.cpp:
74576        (WebCore::RenderSVGResourceMasker::applyResource):
74577        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
74578        * rendering/svg/RenderSVGResourcePattern.cpp:
74579        (WebCore::RenderSVGResourcePattern::applyResource):
74580        (WebCore::RenderSVGResourcePattern::createTileImage):
74581        * rendering/svg/SVGImageBufferTools.cpp: Removed.
74582        * rendering/svg/SVGImageBufferTools.h: Removed.
74583        * rendering/svg/SVGInlineTextBox.cpp:
74584        * rendering/svg/SVGRenderingContext.cpp:
74585        (WebCore::currentContentTransformation):
74586        (WebCore):
74587        (WebCore::SVGRenderingContext::calculateTransformationToOutermostSVGCoordinateSystem):
74588        (WebCore::SVGRenderingContext::createImageBuffer):
74589        (WebCore::SVGRenderingContext::createImageBufferForPattern):
74590        (WebCore::SVGRenderingContext::renderSubtreeToImageBuffer):
74591        (WebCore::SVGRenderingContext::clipToImageBuffer):
74592        (WebCore::SVGRenderingContext::clampedAbsoluteTargetRect):
74593        (WebCore::SVGRenderingContext::clampedAbsoluteSize):
74594        (WebCore::SVGRenderingContext::clear2DRotation):
74595        * rendering/svg/SVGRenderingContext.h:
74596        (SVGRenderingContext):
74597        (WebCore::SVGRenderingContext::calculateImageBufferRect):
74598        * svg/graphics/filters/SVGFEImage.cpp:
74599        (WebCore::FEImage::platformApplySoftware):
74600
746012012-03-22  Hyowon Kim  <hw1008.kim@samsung.com>
74602
74603        [EFL] Add PageClientEfl to WebCoreSupport.
74604        https://bugs.webkit.org/show_bug.cgi?id=80748
74605
74606        Reviewed by Noam Rosenthal.
74607
74608        * platform/Widget.h: Use PageClientEfl as type for PlatformPageClient.
74609        (WebCore):
74610        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
74611        (WebCore::GraphicsContext3DPrivate::createSurface): Change the argument type.
74612        * plugins/efl/PluginViewEfl.cpp:
74613        (WebCore::PluginView::platformGetValue): Use PageClientEfl.
74614
746152012-03-22  Kaustubh Atrawalkar  <kaustubh@motorola.com>
74616
74617        blur() on shadow host should work when a shadow host contains a focused element in its shadow DOM subtrees
74618        https://bugs.webkit.org/show_bug.cgi?id=81102
74619
74620        Reviewed by Hajime Morita.
74621
74622        This implementation will support blur for a focused element when its shadowHost's blur() is called.
74623        To achieve this Element::blur() function is modified to blur the focused node in it's treeScope.
74624
74625        Test: fast/dom/shadow/shadow-root-blur.html
74626
74627        * dom/Element.cpp:
74628        (WebCore::Element::blur): Modified to blur current treeScope's focused node.
74629        * dom/ShadowRoot.h:
74630        (WebCore::ShadowRoot::activeElement): Rework for code sharing.
74631        * dom/TreeScope.cpp:
74632        (WebCore::TreeScope::focusedNode): Added new function to share code for getting focused node.
74633        * dom/TreeScope.h:
74634        (TreeScope): New function declartion.
74635        * html/HTMLDocument.cpp:
74636        (WebCore::HTMLDocument::activeElement): Rework for code sharing.
74637
746382012-03-22  Vsevolod Vlasov  <vsevik@chromium.org>
74639
74640        Web Inspector: RawSourceCode does not need uiSourceCode lists because it never has more than one.
74641        https://bugs.webkit.org/show_bug.cgi?id=81894
74642
74643        RawSourceCode never has more than one uiSourceCode, uiSourceCodeList
74644        are just remains of older implementation. This patch switches RawSourceCode
74645        and SourceMappings from uiSourceCodeList to uiSourceCode.
74646
74647        Reviewed by Pavel Feldman.
74648
74649        * inspector/front-end/RawSourceCode.js:
74650        (WebInspector.RawSourceCode.prototype.uiSourceCode):
74651        (WebInspector.RawSourceCode.prototype._saveSourceMapping):
74652        (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
74653        (WebInspector.RawSourceCode.SourceMapping.prototype.uiSourceCode):
74654        (WebInspector.RawSourceCode.PlainSourceMapping):
74655        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.rawLocationToUILocation):
74656        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
74657        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiSourceCode):
74658        (WebInspector.RawSourceCode.FormattedSourceMapping):
74659        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
74660        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
74661        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiSourceCode):
74662        * inspector/front-end/ResourceScriptMapping.js:
74663        (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
74664        (WebInspector.ResourceScriptMapping.prototype.addScript):
74665        (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeChanged):
74666        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeChanged):
74667        (WebInspector.ResourceScriptMapping.prototype.reset):
74668
746692012-03-22  Mario Sanchez Prada  <msanchez@igalia.com>
74670
74671        [GTK] Fix the only remaining coding style issue in GTK accessibility code
74672        https://bugs.webkit.org/show_bug.cgi?id=81885
74673
74674        Reviewed by Xan Lopez.
74675
74676        Add needed extra line and remove an unneeded one.
74677
74678        * accessibility/gtk/AccessibilityObjectAtk.cpp:
74679
746802012-03-22  Kent Tamura  <tkent@chromium.org>
74681
74682        Expand RenderTextControlSingleLine::controlClipRect() to contain contentRect().
74683        https://bugs.webkit.org/show_bug.cgi?id=81866
74684
74685        Reviewed by Hajime Morita.
74686
74687        We need to expand the controlClipRect because the existing shadow
74688        tree of a text field can be wrapped by another shadow tree. e.g.
74689
74690        A current situation:
74691
74692        <input>
74693          ┗ ShadowRoot
74694             ┗ container element
74695        ┌────────────┐<input>'s border box
74696        │┌──────────┐│
74697        ││container box       ││
74698        │└──────────┘│
74699        └────────────┘
74700
74701        Wrapped by another ShadowRoot:
74702
74703        <input>
74704          ┗ New ShadowRoot
74705             ┣ <shadow> represents the existing shadow tree
74706             ┃  ┗ container element
74707             ┗ D: an additional decoration element
74708        ┌────────────┐<input>'s border box
74709        │┌───────┬──┐│
74710        ││container box │ D  ││
74711        │└───────┴──┘│
74712        └────────────┘
74713        In this case, if we clip child renderers by container box, D is not
74714        drawn. We should clip by the content box of the <input>.
74715
74716        A search field has an exceptional behavior. It can have the container
74717        box of which height is taller than the content box height. The
74718        controlClipRect should contain both of the container box and the content
74719        box in this case. In other cases, the container box is equivalent to the
74720        content box. So the code always unites them.
74721
74722        No new tests. This won't make any behavior change for now.
74723
74724        * rendering/RenderTextControlSingleLine.cpp:
74725        (WebCore::RenderTextControlSingleLine::controlClipRect):
74726
747272012-03-22  Yoshifumi Inoue  <yosin@chromium.org>
74728
74729        [Forms] The option element should not be form associated element.
74730        https://bugs.webkit.org/show_bug.cgi?id=79764
74731
74732        Reviewed by Kent Tamura.
74733
74734        This patch changes base class of HTMLOptionELement to HTMLElement
74735        from HTMLFormControlElement for saving memory space and iteration
74736        time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
74737        and matching the HTML5 specification for ease of maintenance.
74738
74739        This patch changes behavior of handling of CSS pseudo classes "invalid"
74740        and "valid". The "option" elements no longer use these CSS pseudo classes
74741        as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
74742
74743        Changes of TextIterator is lead by usage of isFormControlElement. This
74744        changes will be replaced with more meaningful predicate as part of
74745        https://bugs.webkit.org/show_bug.cgi?id=80381
74746
74747        No new tests but updated select-live-pseudo-selectors.html test.
74748
74749        * css/CSSStyleSelector.cpp:
74750        (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
74751        * css/SelectorChecker.cpp:
74752        (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
74753        * html/HTMLKeygenElement.cpp:
74754        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
74755        * html/HTMLOptionElement.cpp:
74756        (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
74757        (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
74758        (WebCore::HTMLOptionElement::attach): Changeid base class.
74759        (WebCore::HTMLOptionElement::detach): Changed base class.
74760        (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
74761        (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
74762        (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
74763        * html/HTMLOptionElement.h:
74764        (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
74765        (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
74766        * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
74767
747682012-03-21  Pavel Podivilov  <podivilov@chromium.org>
74769
74770        Web Inspector: rename ClosureCompilerSourceMapping to SourceMapParser and move it to CompilerScriptMapping.js.
74771        https://bugs.webkit.org/show_bug.cgi?id=81780
74772
74773        Reviewed by Pavel Feldman.
74774
74775        * WebCore.gypi:
74776        * WebCore.vcproj/WebCore.vcproj:
74777        * inspector/compile-front-end.py:
74778        * inspector/front-end/CompilerScriptMapping.js:
74779        (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
74780        (WebInspector.SourceMapParserPayload):
74781        (WebInspector.SourceMapParser):
74782        (WebInspector.SourceMapParser.prototype.load):
74783        (WebInspector.SourceMapParser.prototype.compiledLocationToSourceLocation):
74784        (WebInspector.SourceMapParser.prototype.sourceLocationToCompiledLocation):
74785        (WebInspector.SourceMapParser.prototype.sources):
74786        (WebInspector.SourceMapParser.prototype.loadSourceCode):
74787        (WebInspector.SourceMapParser.prototype._findMapping):
74788        (WebInspector.SourceMapParser.prototype._parseMappingPayload):
74789        (WebInspector.SourceMapParser.prototype._parseSections):
74790        (WebInspector.SourceMapParser.prototype._parseMap):
74791        (WebInspector.SourceMapParser.prototype._isSeparator):
74792        (WebInspector.SourceMapParser.prototype._decodeVLQ):
74793        (WebInspector.SourceMapParser.prototype._canonicalizeURL):
74794        (WebInspector.SourceMapParser.StringCharIterator):
74795        (WebInspector.SourceMapParser.StringCharIterator.prototype.next):
74796        (WebInspector.SourceMapParser.StringCharIterator.prototype.peek):
74797        (WebInspector.SourceMapParser.StringCharIterator.prototype.hasNext):
74798        * inspector/front-end/CompilerSourceMapping.js: Removed.
74799        * inspector/front-end/WebKit.qrc:
74800        * inspector/front-end/inspector.html:
74801
748022012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
74803
74804        Web Inspector: IndexedDB transaction is not closed when requesting data.
74805        https://bugs.webkit.org/show_bug.cgi?id=81837
74806
74807        Reviewed by Pavel Feldman.
74808
74809        * inspector/InspectorIndexedDBAgent.cpp: Added missing IDBCursorBackendInterface::postSuccessHandlerCallback() call.
74810        (WebCore):
74811
748122012-03-21  Yury Semikhatsky  <yurys@chromium.org>
74813
74814        Web Inspector: event listeners section is broken for about:blank page
74815        https://bugs.webkit.org/show_bug.cgi?id=81795
74816
74817        Parse about:blank as a valid URL.
74818
74819        Reviewed by Pavel Feldman.
74820
74821        Test: inspector/elements/event-listeners-about-blank.html
74822
74823        * inspector/front-end/utilities.js:
74824        (String.prototype.asParsedURL):
74825
748262012-03-21  Dan Bernstein  <mitz@apple.com>
74827
74828        REGRESSION (r111635): Assertion failure in RenderFlexibleBox::layoutFlexItems() (!lineContexts.size()) in many flexbox tests
74829        https://bugs.webkit.org/show_bug.cgi?id=81870
74830
74831        Reverted r111635, the fix for bug 81843.
74832
74833        * rendering/RenderFlexibleBox.cpp:
74834        (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext):
74835        (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
74836        (RenderFlexibleBox::WrapReverseContext):
74837        (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
74838        (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta):
74839        (WebCore::RenderFlexibleBox::layoutFlexItems):
74840        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
74841        (WebCore::RenderFlexibleBox::alignChildren):
74842        (WebCore::RenderFlexibleBox::flipForWrapReverse):
74843        * rendering/RenderFlexibleBox.h:
74844
748452012-03-21  Emil A Eklund  <eae@chromium.org>
74846
74847        Unreviewed change touching CustomFilterProgram.h to try
74848        to force the chromium-win bots to rebuilt it and pick up
74849        on the fact that CSS_SHADERS is not set (since r111610). 
74850
74851        * platform/graphics/filters/CustomFilterProgram.h:
74852
748532012-03-21  Vangelis Kokkevis  <vangelis@chromium.org>
74854
74855        [chromium] FPS counter causes garbage to be displayed at top left corner
74856        https://bugs.webkit.org/show_bug.cgi?id=81851
74857
74858        The HUD expects the PlatformCanvas it paints on to be cleared on creation which is
74859        no longer true after http://src.chromium.org/viewvc/chrome?view=rev&revision=127196 .
74860        This patch does an explicit clearRect before the HUD contents are painted.
74861
74862        Reviewed by Adrienne Walker.
74863
74864        TEST=Manually verified that --show-fps-counter and --show-composited-layer-tree work correctly.
74865
74866        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
74867        (WebCore::CCHeadsUpDisplay::draw):
74868
748692012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
74870
74871        Touch a file to make Chromium Windows bots happy.
74872
74873        * css/CSSValueKeywords.in:
74874
748752012-03-19  Igor Oliveira  <igor.o@sisa.samsung.com>
74876
74877        Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
74878        https://bugs.webkit.org/show_bug.cgi?id=38025
74879
74880        Implement updateAnimationTimerForRender. This reduces unnecessary animation
74881        steps on the current RenderObject by checking the value of timeToNextService
74882        before starting a new timer.
74883
74884        Reviewed by Dean Jackson.
74885
74886        Test: animations/animation-welcome-safari.html
74887
74888        * page/animation/AnimationController.cpp:
74889        (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
74890        (WebCore):
74891        (WebCore::AnimationController::updateAnimations):
74892        * page/animation/AnimationControllerPrivate.h:
74893        (AnimationControllerPrivate):
74894
748952012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
74896
74897        Unreviewed, rolling out r111616.
74898        http://trac.webkit.org/changeset/111616
74899        https://bugs.webkit.org/show_bug.cgi?id=81862
74900
74901        broke chromium mac (Requested by eae on #webkit).
74902
74903        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
74904        (WebCore::CCLayerImpl::appendQuads):
74905        * platform/graphics/chromium/cc/CCLayerImpl.h:
74906        (CCLayerImpl):
74907        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
74908        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
74909        (WebCore::CCLayerTreeHostImpl::drawLayers):
74910        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
74911        (CCLayerTreeHostImpl):
74912        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
74913        (WebCore::CCQuadCuller::append):
74914        * platform/graphics/chromium/cc/CCQuadCuller.h:
74915        (CCQuadCuller):
74916        * platform/graphics/chromium/cc/CCRenderPass.cpp:
74917        (WebCore::CCRenderPass::appendQuadsForLayer):
74918        * platform/graphics/chromium/cc/CCRenderPass.h:
74919        (CCRenderPass):
74920        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
74921        (WebCore::CCScrollbarLayerImpl::appendQuads):
74922        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
74923        (CCScrollbarLayerImpl):
74924        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
74925        (WebCore::CCSingleThreadProxy::doComposite):
74926        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
74927        (WebCore::CCSolidColorLayerImpl::appendQuads):
74928        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
74929        (CCSolidColorLayerImpl):
74930        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
74931        (WebCore::CCTextureLayerImpl::appendQuads):
74932        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
74933        (CCTextureLayerImpl):
74934        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
74935        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
74936        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
74937        (WebCore::CCTiledLayerImpl::appendQuads):
74938        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
74939        (CCTiledLayerImpl):
74940        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
74941        (WebCore::CCVideoLayerImpl::appendQuads):
74942        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
74943        (CCVideoLayerImpl):
74944
749452012-03-21  Beth Dakin  <bdakin@apple.com>
74946
74947        https://bugs.webkit.org/show_bug.cgi?id=80322
74948        Implement image-set
74949
74950        Reviewed by Dean Jackson.
74951
74952        This initial implementation of -webkit-image-set. 
74953        http://lists.w3.org/Archives/Public/www-style/2012Feb/1103.html
74954        The idea behind the feature is to allow authors to provide multiple variants 
74955        of the same image at differing resolutions, and to allow the User Agent to 
74956        choose the resource that is most appropriate at the time. This patch will 
74957        choose the most appropriate image based on device scale factor.
74958
74959        CSSImageSetValue inherits from CSSValueList and behaves a lot like 
74960        CSSImageValue.
74961        * WebCore.xcodeproj/project.pbxproj:
74962        * css/CSSImageSetValue.h: Added.
74963        (WebCore):
74964        (CSSImageSetValue):
74965        (WebCore::CSSImageSetValue::create):
74966        (WebCore::CSSImageSetValue::isPending):
74967        (ImageWithScale):
74968        (WebCore::CSSImageSetValue::compareByScaleFactor):
74969        * css/CSSImageSetValue.cpp: Added.
74970        (WebCore):
74971        (WebCore::CSSImageSetValue::CSSImageSetValue):
74972        (WebCore::CSSImageSetValue::~CSSImageSetValue):
74973        (WebCore::CSSImageSetValue::cachedOrPendingImageSet):
74974        (WebCore::CSSImageSetValue::customCssText):
74975
74976        fillImageSet() iterates through the value list and turns the information into 
74977        a sorted Vector of ImageWithScales (which is a struct containing image URLs 
74978        and scale factors).
74979        (WebCore::CSSImageSetValue::fillImageSet):
74980
74981        cachedImageSet() finds which image is most appropriate based on the device 
74982        scale factor, and it loads only that image. In the future, additional scale 
74983        factors will be taken into account.
74984        (WebCore::CSSImageSetValue::bestImageForScaleFactor):
74985        (WebCore::CSSImageSetValue::cachedImageSet):
74986
74987        parseImageSet() is called everywhere in the CSSParser that a regular image or 
74988        generated image can be found.
74989        * css/CSSParser.cpp:
74990        (WebCore::CSSParser::parseValue):
74991        (WebCore::CSSParser::parseContent):
74992        (WebCore::CSSParser::parseFillImage):
74993        (WebCore::CSSParser::parseBorderImage):
74994        (WebCore):
74995        (WebCore::CSSParser::parseImageSet):
74996        * css/CSSParser.h:
74997
74998        Since CSSImageSetValue is implemented as a value list, 
74999        ApplyPropertyFillLayer::applyValue() needs to be more specific when it's 
75000        looking for a list of multiple URLs.
75001        * css/CSSStyleApplyProperty.cpp:
75002        (WebCore::ApplyPropertyFillLayer::applyValue):
75003
75004        Handle image-set as a valid image value.
75005        * css/CSSStyleSelector.cpp:
75006        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
75007        * css/CSSStyleSelector.h:
75008        (CSSStyleSelector):
75009        * css/CSSValue.cpp:
75010        (WebCore::CSSValue::cssText):
75011        (WebCore::CSSValue::destroy):
75012        * css/CSSValue.h:
75013        (CSSValue):
75014        (WebCore::CSSValue::isImageSetValue):
75015
75016        computeIntrinsicDimensions() now takes an optional scaleFactor parameter that represents the author-enforced "intrinsic" scale factor of the image.
75017        * loader/cache/CachedImage.cpp:
75018        (WebCore::CachedImage::computeIntrinsicDimensions):
75019        * loader/cache/CachedImage.h:
75020        (CachedImage):
75021        * platform/graphics/GeneratedImage.h:
75022        (GeneratedImage):
75023        * platform/graphics/GeneratorGeneratedImage.cpp:
75024        (WebCore::GeneratedImage::computeIntrinsicDimensions):
75025        * platform/graphics/Image.cpp:
75026        (WebCore::Image::computeIntrinsicDimensions):
75027        * platform/graphics/Image.h:
75028        (Image):
75029        * platform/graphics/cg/PDFDocumentImage.cpp:
75030        (WebCore::PDFDocumentImage::computeIntrinsicDimensions):
75031        * platform/graphics/cg/PDFDocumentImage.h:
75032        (PDFDocumentImage):
75033        * svg/graphics/SVGImage.cpp:
75034        (WebCore::SVGImage::computeIntrinsicDimensions):
75035        * svg/graphics/SVGImage.h:
75036        (SVGImage):
75037
75038        Inherits from StyleImage and returns a scaled size for imageSize() and 
75039        computeIntrinsicDimensions().
75040        * rendering/style/StyleCachedImageSet.cpp: Added.
75041        (WebCore):
75042        (WebCore::StyleCachedImageSet::StyleCachedImageSet):
75043        (WebCore::StyleCachedImageSet::cssValue):
75044        (WebCore::StyleCachedImageSet::canRender):
75045        (WebCore::StyleCachedImageSet::isLoaded):
75046        (WebCore::StyleCachedImageSet::errorOccurred):
75047        (WebCore::StyleCachedImageSet::imageSize):
75048        (WebCore::StyleCachedImageSet::imageHasRelativeWidth):
75049        (WebCore::StyleCachedImageSet::imageHasRelativeHeight):
75050        (WebCore::StyleCachedImageSet::computeIntrinsicDimensions):
75051        (WebCore::StyleCachedImageSet::usesImageContainerSize):
75052        (WebCore::StyleCachedImageSet::setContainerSizeForRenderer):
75053        (WebCore::StyleCachedImageSet::addClient):
75054        (WebCore::StyleCachedImageSet::removeClient):
75055        (WebCore::StyleCachedImageSet::image):
75056        * rendering/style/StyleCachedImageSet.h: Added.
75057        (WebCore):
75058        (StyleCachedImageSet):
75059        (WebCore::StyleCachedImageSet::create):
75060        (WebCore::StyleCachedImageSet::data):
75061        (WebCore::StyleCachedImageSet::cachedImage):
75062
75063        Handle image-set.
75064        * rendering/style/StyleImage.h:
75065        (WebCore::StyleImage::isCachedImageSet):
75066        (WebCore::StyleImage::StyleImage):
75067        (StyleImage):
75068        * rendering/style/StylePendingImage.h:
75069        (StylePendingImage):
75070        (WebCore::StylePendingImage::cssImageSetValue):
75071
750722012-03-21  David Barton  <dbarton@mathscribe.com>
75073
75074        MathML internals - improve naming in RenderMathMLSquareRoot.cpp and RenderMathMLRoot.cpp
75075        https://bugs.webkit.org/show_bug.cgi?id=81850
75076
75077        Reviewed by Eric Seidel.
75078
75079        This prepares these files for bug fixes, and eventually combining their common code. To
75080        understand this patch, I suggest you start with RenderMathMLSquareRoot.cpp, as it's
75081        simpler than RenderMathMLRoot.cpp.
75082
75083        No new tests. LayoutTests/mathml/presentation/roots.xhtml is thorough enough for this.
75084
75085        * rendering/mathml/RenderMathMLRoot.cpp:
75086        (WebCore):
75087        (WebCore::RenderMathMLRoot::addChild):
75088        (WebCore::RenderMathMLRoot::paint):
75089        (WebCore::RenderMathMLRoot::layout):
75090        * rendering/mathml/RenderMathMLRoot.h:
75091        (WebCore):
75092        (RenderMathMLRoot):
75093        * rendering/mathml/RenderMathMLSquareRoot.cpp:
75094        (WebCore):
75095        (WebCore::RenderMathMLSquareRoot::paint):
75096        (WebCore::RenderMathMLSquareRoot::layout):
75097        * rendering/mathml/RenderMathMLSquareRoot.h:
75098        (WebCore):
75099        (RenderMathMLSquareRoot):
75100        * rendering/mathml/RenderMathMLSubSup.h:
75101        (WebCore):
75102
751032012-03-21  Tony Chang  <tony@chromium.org>
75104
75105        refactor flexbox in preparation for flex-line-pack
75106        https://bugs.webkit.org/show_bug.cgi?id=81843
75107
75108        Reviewed by Ojan Vafai.
75109
75110        Replace WrapReverseContext with a vector of LineContexts that contain
75111        the same information, plus values needed for flex-align.
75112
75113        alignChildren has been moved to after all the lines have been
75114        positioned. We want to align children after flex-line-pack has changed
75115        the size of each line to avoid unnecessary layouts.
75116
75117        No new tests, just refactoring.
75118
75119        * rendering/RenderFlexibleBox.cpp:
75120        (WebCore::RenderFlexibleBox::LineContext::LineContext): New struct,
75121        holds information needed for wrap-reverse and aligning children.
75122        (RenderFlexibleBox::LineContext):
75123        (WebCore::RenderFlexibleBox::layoutFlexItems): alignChildren after layout out all the lines rather than after each line.
75124        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): don't alignChildren
75125        (WebCore::RenderFlexibleBox::alignChildren): align all flex items, not just a line at a time.
75126        (WebCore::RenderFlexibleBox::flipForWrapReverse): Update to use LineContext
75127        * rendering/RenderFlexibleBox.h:
75128
751292012-03-21  Ryosuke Niwa  <rniwa@webkit.org>
75130
75131        BDI element should have dir=auto by default
75132        https://bugs.webkit.org/show_bug.cgi?id=68773
75133
75134        Reviewed by Daniel Bates.
75135
75136        Treat bdi elements without dir content attribute as if they have dir=auto per spec:
75137        http://www.whatwg.org/specs/web-apps/current-work/multipage/text-level-semantics.html#the-bdi-element
75138
75139        The patch tries to encapsulate the logic to look for dir content attribute and dir=auto.
75140
75141        It also adds HTMLBDIElement interface (binding remains to use HTMLElement) to set
75142        selfOrAncestorHasDirAutoAttribute flag true by default, which is used by functions like
75143        directionalityIfhasDirAutoAttribute to look for elements with dir=auto. Since dir=auto-ness of bdi
75144        elements can be overridden by dir content attribute, we must change and only change the default value.
75145
75146        Tests: fast/text/international/bdi-dir-default-to-auto-expected.html
75147               fast/text/international/bdi-dir-default-to-auto.html
75148
75149        * GNUmakefile.list.am:
75150        * Target.pri:
75151        * WebCore.gypi:
75152        * WebCore.vcproj/WebCore.vcproj:
75153        * WebCore.xcodeproj/project.pbxproj:
75154        * css/CSSStyleSelector.cpp:
75155        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
75156        * html/HTMLBDIElement.h: Added.
75157        (WebCore):
75158        (HTMLBDIElement):
75159        (WebCore::HTMLBDIElement::create):
75160        (WebCore::HTMLBDIElement::HTMLBDIElement): Sets selfOrAncestorHasDirAutoAttribute to true because
75161        bdi elements are treated as if it has dir=auto by default.
75162        * html/HTMLElement.cpp:
75163        (WebCore::elementAffectsDirectionality): Added. Checks if the specified element is bdi or
75164        has dir content attribute.
75165        (WebCore):
75166        (WebCore::setHasDirAutoFlagRecursively):
75167        (WebCore::HTMLElement::hasDirectionAuto): Added. Checks if the specified element should be treated
75168        as if it has dir=auto (bdi or element with dir=auto).
75169        (WebCore::HTMLElement::directionalityIfhasDirAutoAttribute):
75170        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildAttributeChanged):
75171        (WebCore::HTMLElement::adjustDirectionalityIfNeededAfterChildrenChanged):
75172        * html/HTMLElement.h:
75173        (HTMLElement):
75174        * html/HTMLTagNames.in: Use HTMLBDIElement instead of HTMLElement for constructing bdi element
75175        to set selfOrAncestorHasDirAutoAttribute true but still use HTMLElement for binding.
75176
751772012-03-21  Luke Macpherson  <macpherson@chromium.org>
75178
75179        Use CSSPrimitiveValue::convertToLength() in a few places.
75180        https://bugs.webkit.org/show_bug.cgi?id=81492
75181
75182        Reviewed by Eric Seidel.
75183
75184        No new tests - refactoring only.
75185
75186        CSSPrimitiveValue::convertToLength() provides the same functionality that is duplicated
75187        in many places in CSSStyleSelector. This patch removes some of that code duplication.
75188
75189        * css/CSSStyleApplyProperty.cpp:
75190        (WebCore::ApplyPropertyVerticalAlign::applyValue):
75191        * css/CSSStyleSelector.cpp:
75192        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
75193
751942012-03-21  Patrick Gansterer  <paroga@webkit.org>
75195
75196        Build fix for ENABLE(SVG) && !ENABLE(FILTERS) after r111601.
75197
75198        * rendering/svg/RenderSVGRoot.cpp:
75199
752002012-03-21  Patrick Gansterer  <paroga@webkit.org>
75201
75202        Build fix for !ENABLE(INSPECTOR) after r104831.
75203
75204        * bindings/js/ScriptDebugServer.cpp:
75205        (WebCore::ScriptDebugServer::dispatchDidParseSource):
75206
752072012-03-21  Xiaomei Ji  <xji@chromium.org>
75208
75209        visual word movement: using cache to decrease the number of collectLeafBoxesInLogicalOrder on RootInlineBox
75210        https://bugs.webkit.org/show_bug.cgi?id=81408
75211
75212        Reviewed by Ryosuke Niwa.
75213
75214        Cache logically ordered leaf boxes under a particular root box.
75215        Also, move 'Vector<UChar, 1024> string' declared in visualWordPosition() to outside of loop (it is always
75216        clear-ed before use).
75217
75218        * editing/visible_units.cpp:
75219        (CachedLogicallyOrderedLeafBoxes): Add class to cache logically ordered leaf boxes under a particular root box.
75220        (WebCore::CachedLogicallyOrderedLeafBoxes::size):
75221        (WebCore::CachedLogicallyOrderedLeafBoxes::firstBox):
75222        (WebCore):
75223        (WebCore::CachedLogicallyOrderedLeafBoxes::CachedLogicallyOrderedLeafBoxes):
75224        (WebCore::CachedLogicallyOrderedLeafBoxes::previousTextBox):
75225        (WebCore::CachedLogicallyOrderedLeafBoxes::nextTextBox):
75226        (WebCore::CachedLogicallyOrderedLeafBoxes::collectBoxes):
75227        (WebCore::CachedLogicallyOrderedLeafBoxes::boxIndexInLeaves):
75228        (WebCore::logicallyPreviousBox): Pass CachedLogicallyOrderedLeafBoxes object around.
75229        (WebCore::logicallyNextBox):
75230        (WebCore::wordBreakIteratorForMinOffsetBoundary):
75231        (WebCore::wordBreakIteratorForMaxOffsetBoundary):
75232        (WebCore::visualWordPosition):
75233
752342012-03-21  Dana Jansens  <danakj@chromium.org>
75235
75236        [chromium] Early out in a new prepareToDraw() step if checkerboarding an accelerated animation in order to skip the frame
75237        https://bugs.webkit.org/show_bug.cgi?id=81437
75238
75239        Reviewed by Adrienne Walker.
75240
75241        Split CCLayerTreeHostImpl::drawLayers() into two phases:
75242        prepareToDraw() and drawLayers().
75243
75244        When calculating a RenderPass, and we checkerboard a quad on a
75245        layer, bubble this info back up to CCLayerTreeHostImpl. If the
75246        layer is transforming in an animation, then abort the prepareToDraw()
75247        phase and cause it to return false back to the thread proxy.
75248
75249        Unit test: CCLayerTreeHostImplTest.prepareToDrawFailsWhenAnimationUsesCheckerboard
75250
75251        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
75252        (WebCore::CCLayerImpl::appendQuads):
75253        * platform/graphics/chromium/cc/CCLayerImpl.h:
75254        (CCLayerImpl):
75255        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
75256        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
75257        (WebCore::CCLayerTreeHostImpl::prepareToDraw):
75258        (WebCore):
75259        (WebCore::CCLayerTreeHostImpl::drawLayers):
75260        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
75261        (CCLayerTreeHostImpl):
75262        (FrameData):
75263        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
75264        (WebCore::CCQuadCuller::append):
75265        * platform/graphics/chromium/cc/CCQuadCuller.h:
75266        (CCQuadCuller):
75267        * platform/graphics/chromium/cc/CCRenderPass.cpp:
75268        (WebCore::CCRenderPass::appendQuadsForLayer):
75269        * platform/graphics/chromium/cc/CCRenderPass.h:
75270        (CCRenderPass):
75271        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
75272        (WebCore::CCScrollbarLayerImpl::appendQuads):
75273        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
75274        (CCScrollbarLayerImpl):
75275        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
75276        (WebCore::CCSingleThreadProxy::doComposite):
75277        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
75278        (WebCore::CCSolidColorLayerImpl::appendQuads):
75279        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
75280        (CCSolidColorLayerImpl):
75281        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp:
75282        (WebCore::CCTextureLayerImpl::appendQuads):
75283        * platform/graphics/chromium/cc/CCTextureLayerImpl.h:
75284        (CCTextureLayerImpl):
75285        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
75286        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
75287        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
75288        (WebCore::CCTiledLayerImpl::appendQuads):
75289        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
75290        (CCTiledLayerImpl):
75291        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
75292        (WebCore::CCVideoLayerImpl::appendQuads):
75293        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
75294        (CCVideoLayerImpl):
75295
752962012-03-21  Enrica Casucci  <enrica@apple.com>
75297
75298        WebKitURLWithTitles pasteboard format should support URLs containing Emoji characters.
75299        https://bugs.webkit.org/show_bug.cgi?id=81835
75300        <rdar://problem/11082749>
75301
75302        Reviewed by Brady Eidson.
75303
75304        When writing the URL in the pasteboard for the WebURLWithTitles format,
75305        we use the user visible string instead of the original URL.
75306        In case of URL with Unicode characters, we lose the encoding.
75307        
75308        Added TestWebKitAPI test.
75309
75310        * platform/mac/PasteboardMac.mm:
75311        (WebCore::writeURLForTypes): Writes to the pasteboard the original URL.
75312
753132012-03-21  Levi Weintraub  <leviw@chromium.org>
75314
75315        Correct LayoutUnit usage in VisiblePosition.cpp
75316        https://bugs.webkit.org/show_bug.cgi?id=81775
75317
75318        Reviewed by Eric Seidel.
75319
75320        Correcting a mismatch between the .h and .cpp for the definition of localCaretRect,
75321        and properly using LayoutUnits for local coordinates.
75322
75323        No new tests. No change in behavior.
75324
75325        * editing/VisiblePosition.cpp:
75326        (WebCore::VisiblePosition::localCaretRect): Switching to return a LayoutRect, as in the
75327        header. Local coordinates are in LayoutUnits.
75328        (WebCore::VisiblePosition::absoluteCaretBounds): Using LayoutRect for the localCaretRect.
75329        (WebCore::VisiblePosition::lineDirectionPointForBlockDirectionNavigation): Ditto.
75330
753312012-03-21  Adam Klein  <adamk@chromium.org>
75332
75333        "this" argument for MutationCallbacks should be the MutationObserver
75334        https://bugs.webkit.org/show_bug.cgi?id=81712
75335
75336        Reviewed by Adam Barth.
75337
75338        Test: fast/mutation/callback-arguments.html
75339
75340        * bindings/js/JSCallbackData.cpp:
75341        (WebCore::JSCallbackData::invokeCallback): Add an overload that takes
75342        an explicit this argument and have the old method call the new one.
75343        * bindings/js/JSCallbackData.h:
75344        (JSCallbackData):
75345        * bindings/js/JSMutationCallbackCustom.cpp:
75346        (WebCore::JSMutationCallback::handleEvent): Call the new overload.
75347        * bindings/v8/custom/V8CustomVoidCallback.cpp:
75348        (WebCore::invokeCallback): Add an overload that takes an explicit this
75349        argument and have the old method call the new one.
75350        * bindings/v8/custom/V8CustomVoidCallback.h:
75351        (WebCore):
75352        * bindings/v8/custom/V8MutationCallbackCustom.cpp:
75353        (WebCore::V8MutationCallback::handleEvent): Call the new overload.
75354
753552012-03-21  Alexandru Chiculita  <achicu@adobe.com>
75356
75357        [CSS Shaders] Make CSS Shaders compile on Chromium
75358        https://bugs.webkit.org/show_bug.cgi?id=81435
75359
75360        Reviewed by Stephen White.
75361
75362        This patch enables the CSS Shaders compile time flag, but keeps the runtime flag disabled.
75363        The only way to test the functionality now is to use the overridePreference from dump render tree.
75364
75365        Also part of this patch I fix a layering violation: I removed the "Document" reference from the FECustomFilter.cpp and passed the
75366        HostWindow directly. There should be no problem when the HostWindow changes, because the RenderLayer and the FECustomFilter
75367        get recreated anyway.
75368
75369        No new tests. I've updated the existing custom filter tests to run under Chromium and added the expected results.
75370        I've just added window.layoutTestController.overridePreference("WebKitCSSCustomFilterEnabled", "1") to force 
75371        enable the feature at runtime. 
75372
75373        * loader/cache/CachedResource.cpp: Made CachedResource::ShaderResource report as ResourceRequest::TargetIsSubresource for Chromium.
75374        (WebCore::cachedResourceTypeToTargetType):
75375
75376        * platform/graphics/filters/FECustomFilter.cpp:
75377        (WebCore::FECustomFilter::FECustomFilter): Removed Document and just used the HostWindow directly.
75378        (WebCore::FECustomFilter::create):
75379        (WebCore::FECustomFilter::initializeContext):
75380        (WebCore::FECustomFilter::bindVertexAttribute): There was a typo and instead of using the "size" parameter it always used 4 component attribute.
75381        Other drivers didn't complain about it, but it was clearly a bug.
75382        (WebCore::FECustomFilter::bindProgramAndBuffers): Reading the image back from GPU will flip vertically the framebuffer in Chromium. I've flipped the
75383        projection matrix only on Chromium, so that we get the correct result.
75384
75385        * rendering/FilterEffectRenderer.cpp:
75386        (WebCore::FilterEffectRenderer::build): Passing the HostWindow instead of the Document.
75387
753882012-03-21  Mark Pilgrim  <pilgrim@chromium.org>
75389
75390        Realphabetize about webaudio move
75391        https://bugs.webkit.org/show_bug.cgi?id=81825
75392
75393        Reviewed by Adam Barth.
75394
75395        No new tests, all existing tests pass.
75396
75397        * CMakeLists.txt:
75398
753992012-03-21  Anders Carlsson  <andersca@apple.com>
75400
75401        Evict tiles from pages in background tabs
75402        https://bugs.webkit.org/show_bug.cgi?id=81829
75403        <rdar://problem/10866152>
75404
75405        Reviewed by Andreas Kling.
75406
75407        When the tile cache for a page is no longer in a window (which happens when it's moved to 
75408        a background tab), schedule a tile revalidation after 4 seconds. This tile revalidation 
75409        will ensure that tiles outside of the visible rect will be dropped.
75410
75411        * platform/graphics/ca/mac/TileCache.h:
75412        (TileCache):
75413        * platform/graphics/ca/mac/TileCache.mm:
75414        (WebCore::TileCache::tileCacheLayerBoundsChanged):
75415        (WebCore::TileCache::setIsInWindow):
75416        (WebCore::TileCache::tileCoverageRect):
75417        (WebCore):
75418        (WebCore::TileCache::scheduleTileRevalidation):
75419        (WebCore::TileCache::revalidateTiles):
75420
754212012-03-21  Stephen Chenney  <schenney@chromium.org>
75422
75423        SVG layout leaves objects still needing layout
75424        https://bugs.webkit.org/show_bug.cgi?id=81006
75425
75426        Reviewed by Nikolas Zimmermann.
75427
75428        Change the layout of SVG objects such that resources that trigger
75429        layout of other objects are handled in a distinct pass, and then
75430        objects still requiring layout are laid out again.
75431
75432        Test: svg/custom/delete-text-innerText-crash.html
75433
75434        * rendering/svg/RenderSVGResourceContainer.cpp:
75435        (WebCore::RenderSVGResourceContainer::layout):
75436        * rendering/svg/RenderSVGResourceMarker.cpp:
75437        (WebCore::RenderSVGResourceMarker::layout):
75438        * rendering/svg/RenderSVGRoot.cpp:
75439        (WebCore::RenderSVGRoot::layout):
75440        (WebCore::RenderSVGRoot::addResourceForClientInvalidation):
75441        (WebCore):
75442        * rendering/svg/RenderSVGRoot.h:
75443        (RenderSVGRoot):
75444
754452012-03-21  Tim Horton  <timothy_horton@apple.com>
75446
75447        Make use of CG rounded-rect primitives
75448        https://bugs.webkit.org/show_bug.cgi?id=79932
75449        <rdar://problem/9274953>
75450
75451        Reviewed by Simon Fraser.
75452
75453        Portions of patch by Nikolas Zimmermann and Mustafizur Rahaman.
75454
75455        Dispatch to potentially platform-specific rounded rectangle path
75456        construction from addPathForRoundedRect. Make use of this to call
75457        wkCGPathAddRoundedRect on Lion and above, as long as the rounded
75458        corners are all equivalent.
75459
75460        The origin of the stroke dash differs between the bezier approach
75461        and the path added by wkCGPathAddRoundedRect, so Path::addRoundedRect()
75462        takes a new parameter allowing code which is sensitive to stroke dash
75463        origin (i.e. SVG) to fall back to the old behavior if need be.
75464
75465        Make use of the new Path::addRoundedRect() parameter to fall back to
75466        the old (bezier) rounded-rect behavior when constructing a dashed SVG path,
75467        in order to continue complying with the spec.
75468
75469        No new tests, as this is covered by many that use rounded corners,
75470        and is only a performance improvement.
75471
75472        * WebCore.exp.in:
75473        * platform/graphics/Path.cpp:
75474        (WebCore::Path::addRoundedRect):
75475        (WebCore):
75476        (WebCore::Path::addPathForRoundedRect):
75477        * platform/graphics/Path.h:
75478        (Path):
75479        * platform/graphics/cg/PathCG.cpp:
75480        (WebCore::Path::platformAddPathForRoundedRect):
75481        (WebCore):
75482        * platform/mac/WebCoreSystemInterface.h:
75483        * platform/mac/WebCoreSystemInterface.mm:
75484        * rendering/svg/SVGPathData.cpp:
75485        (WebCore::updatePathFromRectElement):
75486
754872012-03-21  David Reveman  <reveman@chromium.org>
75488
75489        [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
75490        https://bugs.webkit.org/show_bug.cgi?id=80988
75491
75492        Reviewed by Adrienne Walker.
75493
75494        Expose EXT_occlusion_query API to WebKit compositor. Add
75495        GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
75496        enums.
75497
75498        * platform/graphics/chromium/Extensions3DChromium.h:
75499        (Extensions3DChromium):
75500
755012012-03-21  Tony Chang  <tony@chromium.org>
75502
75503        compute the sign of flexibility for new flexbox
75504        https://bugs.webkit.org/show_bug.cgi?id=81722
75505
75506        Reviewed by Ojan Vafai.
75507
75508        This implements the computation of the sign of flexibility used by the
75509        new flexing algorithm.
75510        http://dev.w3.org/csswg/css3-flexbox/#resolve-the-flexible-lengths
75511
75512        No new tests, we don't use the sign of flexibility yet.
75513
75514        * rendering/RenderFlexibleBox.cpp:
75515        (WebCore::RenderFlexibleBox::layoutFlexItems):
75516        (WebCore::RenderFlexibleBox::computeNextFlexLine): Compute the size
75517        adjusted for min/max as well as not adjusted.
75518        (WebCore::RenderFlexibleBox::resolveFlexibleLengths): Renamed to match
75519        spec text better.
75520        * rendering/RenderFlexibleBox.h: Added enum for flex sign.
75521
755222012-03-21  Vsevolod Vlasov  <vsevik@chromium.org>
75523
75524        Web Inspector: Extract WebInspector.UIBreakpoint from WebInspector.Breakpoint.
75525        https://bugs.webkit.org/show_bug.cgi?id=81669
75526
75527        Reviewed by Pavel Feldman.
75528
75529        * inspector/front-end/BreakpointManager.js:
75530        (WebInspector.BreakpointManager.get for):
75531        (WebInspector.BreakpointManager):
75532        (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
75533        (WebInspector.BreakpointManager.prototype.uiSourceCodeRemoved):
75534        (WebInspector.BreakpointManager.prototype.breakpointsForUISourceCode):
75535        (WebInspector.BreakpointManager.prototype.setBreakpoint):
75536        (WebInspector.BreakpointManager.prototype.removeBreakpoint):
75537        (WebInspector.BreakpointManager.prototype._innerRemoveBreakpoint):
75538        (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
75539        (WebInspector.BreakpointManager.prototype._moveBreakpointInUI):
75540        (WebInspector.BreakpointManager.prototype._uiBreakpoints.get this):
75541        (WebInspector.BreakpointManager.prototype._uiBreakpoints):
75542        (WebInspector.BreakpointManager.prototype.get _uiBreakpoint):
75543        (WebInspector.BreakpointManager.prototype._addBreakpointToUI):
75544        (WebInspector.BreakpointManager.prototype._removeBreakpointFromUI):
75545        (WebInspector.BreakpointManager.prototype._breakpoints):
75546        (WebInspector.BreakpointManager.prototype._breakpoint):
75547        (WebInspector.BreakpointManager.prototype._addBreakpointToModel):
75548        (WebInspector.BreakpointManager.prototype._removeBreakpointFromModel):
75549        (WebInspector.BreakpointManager.prototype._forEachBreakpoint):
75550        (WebInspector.BreakpointManager.prototype._setBreakpointInDebugger):
75551        (WebInspector.BreakpointManager.prototype._removeBreakpointFromDebugger):
75552        (WebInspector.BreakpointManager.prototype.debuggerReset):
75553        (WebInspector.Breakpoint.prototype.serialize):
75554        (WebInspector.Breakpoint.prototype.get uiBreakpoint):
75555        (WebInspector.Breakpoint.prototype.createUIBreakpoint):
75556        (WebInspector.Breakpoint.prototype.removeUIBreakpoint):
75557        (WebInspector.UIBreakpoint):
75558        * inspector/front-end/DebuggerPresentationModel.js:
75559        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
75560        (WebInspector.DebuggerPresentationModel.prototype.findBreakpoint):
75561        (WebInspector.DebuggerPresentationModel.prototype._breakpointAdded):
75562        (WebInspector.DebuggerPresentationModel.prototype._breakpointRemoved):
75563        * inspector/front-end/ScriptsPanel.js:
75564
755652012-03-21  Anders Carlsson  <andersca@apple.com>
75566
75567        TileCache needs to know if its containing page is in a window
75568        https://bugs.webkit.org/show_bug.cgi?id=81821
75569
75570        Reviewed by Andreas Kling.
75571
75572        This is in preparation for throwing away invisible tiles in background tabs to reduce memory usage.
75573
75574        * page/FrameView.cpp:
75575        (WebCore::FrameView::didMoveOnscreen):
75576        (WebCore::FrameView::willMoveOffscreen):
75577        * page/Page.cpp:
75578        (WebCore::Page::Page):
75579        (WebCore::Page::didMoveOnscreen):
75580        (WebCore::Page::willMoveOffscreen):
75581        * page/Page.h:
75582        (WebCore::Page::isOnscreen):
75583        (Page):
75584        * platform/graphics/TiledBacking.h:
75585        (TiledBacking):
75586        * platform/graphics/ca/mac/TileCache.h:
75587        (TileCache):
75588        * platform/graphics/ca/mac/TileCache.mm:
75589        (WebCore::TileCache::TileCache):
75590        (WebCore::TileCache::setIsInWindow):
75591        (WebCore):
75592        * rendering/RenderLayerBacking.cpp:
75593        (WebCore::RenderLayerBacking::RenderLayerBacking):
75594
755952012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
75596
75597        Web audio layout test failed in debug with an ASSERT error in ReverbConvolverStage.cpp
75598        https://bugs.webkit.org/show_bug.cgi?id=81744
75599
75600        Reviewed by Chris Rogers.
75601
75602        * platform/audio/ReverbConvolverStage.cpp:
75603        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
75604
756052012-03-21  Xiaomei Ji  <xji@chromium.org>
75606
75607        [chromium] Font fallback in cr-win is wrong for string contains zero-width-space.
75608        https://bugs.webkit.org/show_bug.cgi?id=79961
75609
75610        Reviewed by Adam Barth.
75611
75612        Treat zero-width-space (\u200B) as true for treatAsZeroWidthSpaceInComplexScipt().
75613
75614        * platform/graphics/Font.h:
75615        (WebCore::Font::treatAsZeroWidthSpaceInComplexScript):
75616        * platform/graphics/mac/ComplexTextController.cpp:
75617        (WebCore::ComplexTextController::adjustGlyphsAndAdvances):
75618        * platform/graphics/win/UniscribeController.cpp:
75619        (WebCore::UniscribeController::shapeAndPlaceItem):
75620
756212012-03-21  Patrick Gansterer  <paroga@webkit.org>
75622
75623        Build fix for !ENABLE(INSPECTOR) after r111005.
75624
75625        * inspector/ContentSearchUtils.h:
75626
756272012-03-21  Ulan Degenbaev  <ulan@chromium.org>
75628
75629        [V8] V8GCForContextDispose should indicate whether a context is disposed for the main frame or not
75630        https://bugs.webkit.org/show_bug.cgi?id=81200
75631
75632        Reviewed by Adam Barth.
75633
75634        Pass a hint to V8::IdleNotification that requests more aggressive GC
75635        when a main frame context is disposed and requests incremental GC otherwise.
75636
75637        * bindings/v8/V8DOMWindowShell.cpp:
75638        (WebCore::V8DOMWindowShell::disposeContextHandles):
75639        * bindings/v8/V8GCForContextDispose.cpp:
75640        (WebCore::V8GCForContextDispose::V8GCForContextDispose):
75641        (WebCore::V8GCForContextDispose::notifyContextDisposed):
75642        (WebCore::V8GCForContextDispose::pseudoIdleTimerFired):
75643        * bindings/v8/V8GCForContextDispose.h:
75644        (V8GCForContextDispose):
75645
756462012-03-21  Nat Duca  <nduca@chromium.org>
75647
75648        [chromium] CCThreadProxy must initialize frameBeginTime to monotonicallyIncreasingTime rather than zero
75649        https://bugs.webkit.org/show_bug.cgi?id=81790
75650
75651        Reviewed by James Robinson.
75652
75653        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
75654        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
75655
756562012-03-21  Xingnan Wang  <xingnan.wang@intel.com>
75657
75658        Add multichannel support in RealtimeAnalyser
75659        https://bugs.webkit.org/show_bug.cgi?id=81745
75660
75661        Reviewed by Chris Rogers.
75662
75663        * Modules/webaudio/RealtimeAnalyser.cpp:
75664        (WebCore::RealtimeAnalyser::writeInput):
75665        (WebCore):
75666
756672012-03-21  Eric Carlson  <eric.carlson@apple.com>
75668
75669        Removing HTMLTrackElement does not delete TextTrack
75670        https://bugs.webkit.org/show_bug.cgi?id=80873
75671
75672        Reviewed by Antti Koivisto.
75673
75674        No new tests, but media/track/track-language-preference.html has been updated
75675        to test this fix.
75676
75677        * html/HTMLMediaElement.cpp:
75678        (WebCore::HTMLMediaElement::didAddTrack): Renamed from trackWasAdded.
75679        (WebCore::HTMLMediaElement::willRemoveTrack): Renamed from trackWasRemoved because it is
75680        called before the track is removed, to allow the TextTrack to be removed.
75681        * html/HTMLMediaElement.h:
75682
75683        * html/HTMLTrackElement.cpp:
75684        (WebCore::HTMLTrackElement::insertedIntoTree): Renamed from insertedIntoDocument
75685        (WebCore::HTMLTrackElement::willRemove): Renamed from removedFromDocument.
75686        * html/HTMLTrackElement.h:
75687
75688        * html/track/LoadableTextTrack.cpp:
75689        (WebCore::LoadableTextTrack::trackElementIndex): Don't include tracks that are not in the
75690        document in the calcualtion.
75691
756922012-03-21  Zeno Albisser  <zeno@webkit.org>
75693
75694        [Qt][Mac] ranlib segfaults when creating symbol tables for libWebCore.a.
75695        https://bugs.webkit.org/show_bug.cgi?id=81750
75696
75697        Building WebCore on mac currently creates an archive that is bigger than
75698        4GB. But ranlib fails to create a symbol table for such a big archive,
75699        even on 64bit machines.
75700        Therefore we start using SVGAllInOne.cpp when building debug
75701        on mac. This reduces the size of the archive by about 300MB.
75702
75703        Reviewed by Tor Arne Vestbø.
75704
75705        * Target.pri:
75706
757072012-03-21  Tommy Widenflycht  <tommyw@google.com>
75708
75709        [chromium] MediaStream API (JSEP): Introducing WebSessionDescription and WebIceCandidate
75710        https://bugs.webkit.org/show_bug.cgi?id=81339
75711
75712        Reviewed by Adam Barth.
75713
75714        Not possible to test until the entire JSEP feature is commited.
75715
75716        * Modules/mediastream/IceCandidate.cpp:
75717        (WebCore::IceCandidate::toSdp):
75718        * Modules/mediastream/SessionDescription.cpp:
75719        (WebCore::SessionDescription::toSdp):
75720        * platform/mediastream/IceCandidateDescriptor.cpp:
75721        (WebCore::IceCandidateDescriptor::toSDP):
75722        * platform/mediastream/IceCandidateDescriptor.h:
75723        (IceCandidateDescriptor):
75724        * platform/mediastream/MediaStreamCenter.cpp:
75725        (WebCore::MediaStreamCenter::constructSDP):
75726        * platform/mediastream/MediaStreamCenter.h:
75727        (MediaStreamCenter):
75728        * platform/mediastream/SessionDescriptionDescriptor.cpp:
75729        (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
75730        (WebCore::SessionDescriptionDescriptor::toSDP):
75731        (WebCore::SessionDescriptionDescriptor::initialSDP):
75732        * platform/mediastream/SessionDescriptionDescriptor.h:
75733        (SessionDescriptionDescriptor):
75734
757352012-03-21  Yuta Kitamura  <yutak@chromium.org>
75736
75737        Use RFC version of WebSocket protocol by default
75738        https://bugs.webkit.org/show_bug.cgi?id=81718
75739
75740        Reviewed by Kent Tamura.
75741
75742        Flip the default value of Settings::m_useHixie76WebSocketProtocol so WebKit ports will use
75743        RFC version of WebSocket protocol by default.
75744
75745        All the existing ports already use the RFC protocol as of now, so this change will not make
75746        any impact (hopefully).
75747
75748        No new tests. No change in functionality.
75749
75750        * page/Settings.cpp:
75751        (WebCore::Settings::Settings):
75752
757532012-03-21  Andrey Kosyakov  <caseq@chromium.org>
75754
75755        Web Inspector: only show JS event listeners in Event Listeners tab of Elements panel
75756        https://bugs.webkit.org/show_bug.cgi?id=81798
75757
75758        Reviewed by Pavel Feldman.
75759
75760        * bindings/js/JSInjectedScriptHostCustom.cpp:
75761        (WebCore::getJSListenerFunctions):
75762        * bindings/js/ScriptEventListener.cpp:
75763        (WebCore::eventListenerHandlerBody):
75764        (WebCore::eventListenerHandlerLocation):
75765        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
75766        (WebCore::getJSListenerFunctions):
75767        * inspector/InspectorDOMAgent.cpp:
75768        (WebCore::InspectorDOMAgent::getEventListeners):
75769
757702012-03-21  Andrey Kosyakov  <caseq@chromium.org>
75771
75772        EventListener::Type enum has unused member InspectorDOMAgentType
75773        https://bugs.webkit.org/show_bug.cgi?id=81794
75774
75775        Reviewed by Pavel Feldman.
75776
75777        * dom/EventListener.h:
75778
757792012-03-21  Tom Hudson  <tomhudson@google.com>
75780
75781        Incremental cleanup of BitmapImage: inlined virtual functions
75782        https://bugs.webkit.org/show_bug.cgi?id=81688
75783
75784        Reviewed by James Robinson.
75785
75786        No change in functionality, so no new tests.
75787
75788        Move virtual functions defined in headers into .cpp files.
75789
75790        * WebCore.gypi:
75791        * platform/graphics/BitmapImage.cpp:
75792        (WebCore::BitmapImage::isBitmapImage):
75793        (WebCore):
75794        (WebCore::BitmapImage::hasSingleSecurityOrigin):
75795        (WebCore::BitmapImage::nativeImageForCurrentFrame):
75796        (WebCore::BitmapImage::currentFrameHasAlpha):
75797        (WebCore::BitmapImage::notSolidColor):
75798        (WebCore::BitmapImage::decodedSize):
75799        (WebCore::BitmapImage::mayFillWithSolidColor):
75800        (WebCore::BitmapImage::solidColor):
75801        * platform/graphics/BitmapImage.h:
75802        (BitmapImage):
75803        * platform/graphics/skia/BitmapImageSingleFrameSkia.cpp: Added.
75804        (WebCore):
75805        (WebCore::BitmapImageSingleFrameSkia::isBitmapImage):
75806        (WebCore::BitmapImageSingleFrameSkia::currentFrameHasAlpha):
75807        (WebCore::BitmapImageSingleFrameSkia::size):
75808        (WebCore::BitmapImageSingleFrameSkia::destroyDecodedData):
75809        (WebCore::BitmapImageSingleFrameSkia::decodedSize):
75810        (WebCore::BitmapImageSingleFrameSkia::nativeImageForCurrentFrame):
75811        (WebCore::BitmapImageSingleFrameSkia::notSolidColor):
75812        * platform/graphics/skia/BitmapImageSingleFrameSkia.h:
75813        (BitmapImageSingleFrameSkia):
75814
758152012-03-21  Alexey Proskuryakov  <ap@apple.com>
75816
75817        Remove obsolete File attributes
75818        https://bugs.webkit.org/show_bug.cgi?id=79383
75819
75820        Reviewed by Hajime Morita.
75821
75822        * bindings/objc/PublicDOMInterfaces.h:
75823        * fileapi/File.h:
75824        * fileapi/File.idl:
75825        Removed fileName and fileSize, they have different names now.
75826
75827        * html/FileInputType.cpp:
75828        (WebCore::FileInputType::appendFormData):
75829        (WebCore::FileInputType::getTypeSpecificValue):
75830        (WebCore::FileInputType::defaultToolTip):
75831        Updated to use new function names.
75832
758332012-03-21  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
75834
75835        TiledBackingStore: Create the first round of tiles synchronously after setting the visible rect.
75836        https://bugs.webkit.org/show_bug.cgi?id=81762
75837
75838        Reviewed by Kenneth Rohde Christiansen.
75839
75840        The first round of tiles should cover completely the visible rect.
75841        Creating the tiles synchronously allows us to get the new tiles immediately
75842        and prevents an extra AC layers sync to be able to remove the old tiles.
75843
75844        At some point it might also make sense to remove the tile creation timer
75845        completely.
75846
75847        * platform/graphics/TiledBackingStore.cpp:
75848        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
75849
758502012-03-19  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
75851
75852        TiledBackingStore: When checking if the visible area is covered, only convert to scaled coordinates once.
75853        https://bugs.webkit.org/show_bug.cgi?id=81519
75854
75855        Reviewed by Kenneth Rohde Christiansen.
75856
75857        Both visibleRect and coverageRatio call mapFromContents on the input rect,
75858        this woulc cause the coverageRatio to never reach 1.0 when the contents is
75859        scaled up.
75860
75861        * platform/graphics/TiledBackingStore.cpp:
75862        (WebCore::TiledBackingStore::visibleAreaIsCovered):
75863
758642012-03-21  Mao Yujie  <yujie.mao@intel.com>
75865
75866        MediaStream API: Need to support MediaStream constructor for JSC
75867        https://bugs.webkit.org/show_bug.cgi?id=78781
75868
75869        Reviewed by Adam Barth.
75870
75871        No new tests.
75872
75873        * Modules/mediastream/DOMWindowMediaStream.idl:
75874        * bindings/generic/RuntimeEnabledFeatures.h:
75875        (WebCore::RuntimeEnabledFeatures::webkitMediaStreamEnabled):
75876
758772012-03-21  Philip Rogers  <pdr@google.com>
75878
75879        Skip building resources if SVGTRef is not in a document
75880        https://bugs.webkit.org/show_bug.cgi?id=81473
75881
75882        Reviewed by Nikolas Zimmermann.
75883
75884        We can skip the building of pending resources in SVGTRef if we're not
75885        yet in a document. This mirrors the nearly identical logic in
75886        SVGUseElement::buildPendingResource() and
75887        SVGFEImageElement::buildPendingResource().
75888
75889        Test: http/tests/svg/tref-adoptNode-crash.html
75890
75891        * svg/SVGTRefElement.cpp:
75892        (WebCore::SVGTRefElement::buildPendingResource):
75893
758942012-03-21  Sami Kyostila  <skyostil@chromium.org>
75895
75896        [chromium] Use floating point scroll deltas for layers
75897        https://bugs.webkit.org/show_bug.cgi?id=81546
75898
75899        Reviewed by James Robinson.
75900
75901        Use floating point scroll deltas for layers instead of integral scroll
75902        deltas. This is because due to page scaling it may be necessary to
75903        scroll layers in sub-CSS-pixel steps to avoid visible jumps. When the
75904        floating point scroll offset is committed to the main thread, it is
75905        truncated to integer, but the fractional part is kept on the CC side to
75906        make sure fractional scroll offsets are accumulated correctly over
75907        multiple commits.
75908
75909        Test: CCLayerTreeHostTestFractionalScroll
75910
75911        * platform/graphics/FloatPoint.h:
75912        (WebCore::toSize):
75913        (WebCore):
75914        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
75915        (WebCore::CCLayerImpl::scrollBy):
75916        (WebCore::CCLayerImpl::setScrollDelta):
75917        * platform/graphics/chromium/cc/CCLayerImpl.h:
75918        (WebCore::CCLayerImpl::scrollDelta):
75919        (CCLayerImpl):
75920        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
75921        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
75922        (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
75923        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
75924        (WebCore::CCLayerTreeHostImpl::animatePageScale):
75925
759262012-03-21  Li Yin  <li.yin@intel.com>
75927
75928        [WebSocket]The Sec-WebSocket-Accept MUST NOT appear more than once in an HTTP response
75929        https://bugs.webkit.org/show_bug.cgi?id=81655
75930
75931        Reviewed by Adam Barth.
75932
75933        Test: http/tests/websocket/tests/hybi/handshake-fail-by-more-accept-header.html
75934
75935        * Modules/websockets/WebSocketHandshake.cpp:
75936        (WebCore::WebSocketHandshake::readHTTPHeaders):
75937
759382012-03-21  Alexei Filippov  <alexeif@chromium.org>
75939
75940        Web Inspector: Speedup heap snapshot loading.
75941        https://bugs.webkit.org/show_bug.cgi?id=81788
75942
75943        Reviewed by Yury Semikhatsky.
75944
75945        * inspector/front-end/HeapSnapshot.js:
75946        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
75947
759482012-03-21  Pavel Feldman  <pfeldman@chromium.org>
75949
75950        Web Inspector: get rid of isInEditMode, use isBeingEdited on particular element.
75951        https://bugs.webkit.org/show_bug.cgi?id=81766
75952
75953        Reviewed by Yury Semikhatsky.
75954
75955        We should check event target and its ancestors for being edited, not use some
75956        global property. This change also introduces Event.prototype.consume so that we
75957        were consistently consuming events.
75958
75959        * inspector/front-end/AdvancedSearchController.js:
75960        (WebInspector.SearchView.prototype._onKeyDown):
75961        * inspector/front-end/BreakpointsSidebarPane.js:
75962        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointCheckboxClicked):
75963        * inspector/front-end/CSSSelectorProfileView.js:
75964        * inspector/front-end/Checkbox.js:
75965        (WebInspector.Checkbox.prototype.addEventListener):
75966        * inspector/front-end/ConsoleView.js:
75967        (WebInspector.ConsoleView.prototype._enterKeyPressed):
75968        (WebInspector.ConsoleGroup.prototype._titleClicked):
75969        * inspector/front-end/ContextMenu.js:
75970        (WebInspector.ContextMenu.prototype.show):
75971        * inspector/front-end/DataGrid.js:
75972        (WebInspector.DataGrid.prototype._keyDown):
75973        * inspector/front-end/DatabaseQueryView.js:
75974        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
75975        * inspector/front-end/DetailedHeapshotView.js:
75976        (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
75977        (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
75978        (WebInspector.DetailedHeapshotView.prototype._retainersHeaderDragging):
75979        (WebInspector.DetailedHeapshotView.prototype._endRetainersHeaderDragging):
75980        * inspector/front-end/Dialog.js:
75981        (WebInspector.Dialog.prototype._onKeyDown):
75982        * inspector/front-end/Drawer.js:
75983        (WebInspector.Drawer.prototype._startStatusBarDragging):
75984        (WebInspector.Drawer.prototype._statusBarDragging):
75985        (WebInspector.Drawer.prototype._endStatusBarDragging):
75986        * inspector/front-end/EventListenersSidebarPane.js:
75987        (WebInspector.EventListenersSidebarPane.get if):
75988        * inspector/front-end/HelpScreen.js:
75989        (WebInspector.HelpScreen.prototype._onKeyDown):
75990        * inspector/front-end/InspectorView.js:
75991        (WebInspector.InspectorView.prototype._keyDown):
75992        * inspector/front-end/MetricsSidebarPane.js:
75993        (WebInspector.MetricsSidebarPane.prototype._highlightDOMNode):
75994        * inspector/front-end/NetworkPanel.js:
75995        * inspector/front-end/Object.js:
75996        (WebInspector.Event.prototype.preventDefault):
75997        (WebInspector.Event.prototype.consume):
75998        * inspector/front-end/ObjectPropertiesSection.js:
75999        (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
76000        * inspector/front-end/ProfileView.js:
76001        * inspector/front-end/SearchController.js:
76002        (WebInspector.SearchController.prototype._onKeyDown):
76003        * inspector/front-end/Section.js:
76004        (WebInspector.Section.prototype.handleClick):
76005        * inspector/front-end/Settings.js:
76006        (WebInspector.ExperimentsSettings):
76007        * inspector/front-end/SoftContextMenu.js:
76008        (.WebInspector.SoftContextMenu.prototype.show):
76009        (.WebInspector.SoftContextMenu.prototype._menuItemMouseDown):
76010        (.WebInspector.SoftContextMenu.prototype._menuKeyDown):
76011        (.WebInspector.SoftContextMenu.prototype._discardMenu):
76012        * inspector/front-end/Spectrum.js:
76013        (WebInspector.Spectrum.draggable.consume):
76014        (WebInspector.Spectrum.draggable.start):
76015        (WebInspector.Spectrum.draggable.stop):
76016        (WebInspector.Spectrum.draggable):
76017        (WebInspector.Spectrum.prototype._onKeyDown):
76018        * inspector/front-end/StylesSidebarPane.js:
76019        (WebInspector.StylesSidebarPane.muteEventListener):
76020        (WebInspector.StylesSidebarPane):
76021        (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
76022        (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
76023        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
76024        (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
76025        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
76026        (WebInspector.StylePropertyTreeElement.prototype):
76027        * inspector/front-end/TextPrompt.js:
76028        (WebInspector.TextPrompt.prototype.onKeyDown):
76029        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
76030        (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
76031        * inspector/front-end/TextViewer.js:
76032        (WebInspector.TextViewer.prototype._handleKeyDown):
76033        * inspector/front-end/Toolbar.js:
76034        (WebInspector.ToolbarDropdown.prototype._onKeyDown):
76035        * inspector/front-end/UIUtils.js:
76036        (WebInspector.isBeingEdited):
76037        (WebInspector.startEditing):
76038        * inspector/front-end/View.js:
76039        (WebInspector.View.prototype._doLoadCSS):
76040        * inspector/front-end/WatchExpressionsSidebarPane.js:
76041        (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
76042        (WebInspector.WatchExpressionsSidebarPane.prototype._refreshButtonClicked):
76043        * inspector/front-end/inspector.js:
76044        (WebInspector.documentClick.followLink):
76045        (WebInspector.documentClick):
76046        (WebInspector.documentKeyDown):
76047        (WebInspector.postDocumentKeyDown):
76048        (WebInspector.addMainEventListeners):
76049        * inspector/front-end/treeoutline.js:
76050        (TreeOutline.prototype._treeKeyPress):
76051        (TreeOutline.prototype._treeKeyDown):
76052        (TreeOutline.prototype._searchInputKeyDown):
76053        (TreeElement.treeElementToggled):
76054        (TreeElement.prototype.selectOnMouseDown):
76055        * inspector/front-end/utilities.js:
76056        (Event.prototype.consume):
76057
760582012-03-21  Yury Semikhatsky  <yurys@chromium.org>
76059
76060        Web Inspector: event listener section doesn't show all event listeners of the element ancestors
76061        https://bugs.webkit.org/show_bug.cgi?id=81782
76062
76063        Event listeners section now contains all event listeners for the selected
76064        element ancestors chain (in case option "All Nodes" is selected).
76065
76066        Reviewed by Pavel Feldman.
76067
76068        * inspector/InspectorDOMAgent.cpp:
76069        (WebCore::InspectorDOMAgent::getEventListenersForNode):
76070        * inspector/front-end/EventListenersSidebarPane.js:
76071        (WebInspector.EventListenersSidebarPane.prototype.update.callback):
76072        (WebInspector.EventListenersSidebarPane.prototype.update):
76073        (WebInspector.EventListenersSidebarPane.prototype):
76074
760752012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
76076
76077        Web Inspector: HeapSnapshot: move all builders and calculation calls to HeapSnapshot._init function.
76078        https://bugs.webkit.org/show_bug.cgi?id=81784
76079
76080        Reviewed by Yury Semikhatsky.
76081
76082        * inspector/front-end/HeapSnapshot.js:
76083        (WebInspector.HeapSnapshot.prototype._init):
76084        (WebInspector.HeapSnapshot.prototype.dispose):
76085        (WebInspector.HeapSnapshot.prototype._retainersForNode):
76086        (WebInspector.HeapSnapshot.prototype._dominatedNodesOfNode):
76087        (WebInspector.HeapSnapshot.prototype._flagsOfNode):
76088        (WebInspector.HeapSnapshot.prototype.aggregates):
76089        (WebInspector.HeapSnapshot.prototype._buildRetainers):
76090        (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
76091
760922012-03-21  Jessie Berlin  <jberlin@apple.com>
76093
76094        WTF headers should be in $(ConfigurationBuildDir)\include\private\wtf, not
76095        $(ConfigurationBuildDir)\include\private\JavaScriptCore\wtf.
76096        https://bugs.webkit.org/show_bug.cgi?id=81739
76097
76098        Reviewed by Dan Bernstein.
76099
76100        * WebCore.vcproj/WebCore.vcproj:
76101        Look for AtomicString.cpp, StringBuilder.cpp, StringImpl.cpp, and WTFString.cpp in the wtf
76102        subdirectory of the build output, not the JavaScriptCore/wtf subdirectory.
76103
761042012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
76105
76106        [BlackBerry] Credential save and autofill implemetation
76107        https://bugs.webkit.org/show_bug.cgi?id=80401
76108
76109        Reviewed by Rob Buis.
76110
76111        Added interface function authenticationChallenge() and
76112        notifyShouldSaveCredential() into PageClientBlackBerry.
76113        As this class is our platform specific interface,
76114        by doing this we don't need to add an interface function
76115        in class FrameLoaderClient which is a platform
76116        independent interface.
76117
76118        No new tests.
76119
76120        * platform/blackberry/PageClientBlackBerry.h:
76121        (WebCore):
76122        * platform/network/blackberry/NetworkJob.cpp:
76123        (WebCore::NetworkJob::sendRequestWithCredentials):
76124
761252012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
76126
76127        Web Inspector: HeapProfiler: DOM node id can overflow Int32.
76128        https://bugs.webkit.org/show_bug.cgi?id=81776
76129
76130        Reviewed by Pavel Feldman.
76131
76132        * inspector/front-end/HeapSnapshot.js:
76133        (WebInspector.Uint32Array):
76134        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
76135        (WebInspector.HeapSnapshot.prototype._buildReverseIndex.var):
76136        (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
76137        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
76138
761392012-03-21  Tim Dresser  <tdresser@chromium.org>
76140
76141        [chromium] Increase size of Combo Box Options for touch and high DPI devices
76142        https://bugs.webkit.org/show_bug.cgi?id=80027
76143
76144        Reviewed by Darin Fisher.
76145
76146        Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
76147        <option> elements when touch is enabled.
76148
76149        Manually tested with --default-device-scale-factor=1,2 and unset.
76150        Each of these were tested with RuntimeEnabledFeatures::touchEnabled
76151        set to true and false.
76152
76153        * platform/chromium/PopupListBox.cpp:
76154        (WebCore::PopupListBox::paint):
76155        (WebCore::PopupListBox::paintRow):
76156        (WebCore::PopupListBox::getRowHeight):
76157        * platform/chromium/PopupListBox.h:
76158        (PopupContainerSettings):
76159        * platform/chromium/PopupMenuChromium.cpp:
76160        (WebCore):
76161        (WebCore::PopupMenuChromium::show):
76162        * platform/chromium/PopupMenuChromium.h:
76163        (WebCore::PopupMenuChromium::optionPaddingForTouch):
76164        (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
76165        (PopupMenuChromium):
76166        * rendering/RenderMenuList.cpp:
76167        (WebCore::RenderMenuList::showPopup):
76168
761692012-03-21  Takashi Toyoshima  <toyoshim@chromium.org>
76170
76171        [Chromium] [WebSocket] provide WebFrameClient with a chance of
76172        accessing to opening WebSocketStreamHandle.
76173        https://bugs.webkit.org/show_bug.cgi?id=78459
76174
76175        Reviewed by Kent Tamura and Darin Fisher.
76176
76177        Add willOpenSocketStream client function to WebFrameClient with an
76178        argument representing an opening SocketStreamHandle.
76179        These mechanisms provide embedders with a chance to bind arbitrary
76180        data to a WebSocketStreamHandle from WebFrameClient to which the
76181        WebSocket object having the WebSocketStreamHandle belongs.
76182
76183        No new tests because this change just provide mechanisms to embedders.
76184
76185        * Modules/websockets/WebSocketChannel.cpp: Implement willOpenSocketStream to call a client function in WebFrameClient.
76186        (WebCore::WebSocketChannel::willOpenSocketStream):
76187        (WebCore):
76188        * Modules/websockets/WebSocketChannel.h: Add willOpenSocketStream declaration.
76189        (WebSocketChannel):
76190        * loader/FrameLoaderClient.h: Add dispatchWillOpenSocketStream declaration.
76191        (WebCore):
76192        (FrameLoaderClient):
76193        (WebCore::FrameLoaderClient::dispatchWillOpenSocketStream):
76194        * platform/network/SocketStreamHandleClient.h: Add willOpenSocketStream declaration.
76195        (WebCore::SocketStreamHandleClient::willOpenSocketStream):
76196
761972012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
76198
76199        https://bugs.webkit.org/show_bug.cgi?id=81761
76200        Fix Gobject binding for sequence<T> for function return type.
76201
76202        Reviewed by Kentaro Hara.
76203
76204        No new tests.
76205
76206        * bindings/scripts/CodeGeneratorGObject.pm:
76207        (SkipFunction): Skip function with sequence<T> return type.
76208        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
76209        (webkit_dom_test_obj_method_with_sequence_arg):
76210        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
76211
762122012-03-21  Andrey Kosyakov  <caseq@chromium.org>
76213
76214        Unreviewed build fix for r111529.
76215
76216        * inspector/InjectedScriptHost.h:
76217        (WebCore):
76218
762192012-03-21  Sheriff Bot  <webkit.review.bot@gmail.com>
76220
76221        Unreviewed, rolling out r111497, r111506, r111508, and
76222        r111513.
76223        http://trac.webkit.org/changeset/111497
76224        http://trac.webkit.org/changeset/111506
76225        http://trac.webkit.org/changeset/111508
76226        http://trac.webkit.org/changeset/111513
76227        https://bugs.webkit.org/show_bug.cgi?id=81774
76228
76229        It broke 2 tests on all platform (Requested by Ossy on
76230        #webkit).
76231
76232        * css/CSSStyleSelector.cpp:
76233        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
76234        * css/SelectorChecker.cpp:
76235        (WebCore::SelectorChecker::checkOneSelector):
76236        * html/HTMLKeygenElement.cpp:
76237        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
76238        * html/HTMLOptionElement.cpp:
76239        (WebCore::HTMLOptionElement::HTMLOptionElement):
76240        (WebCore::HTMLOptionElement::create):
76241        (WebCore::HTMLOptionElement::attach):
76242        (WebCore::HTMLOptionElement::detach):
76243        (WebCore::HTMLOptionElement::formControlType):
76244        (WebCore):
76245        (WebCore::HTMLOptionElement::parseAttribute):
76246        (WebCore::HTMLOptionElement::childrenChanged):
76247        (WebCore::HTMLOptionElement::insertedIntoTree):
76248        * html/HTMLOptionElement.h:
76249        (HTMLOptionElement):
76250        (WebCore::HTMLOptionElement::ownElementDisabled):
76251        * html/HTMLTagNames.in:
76252
762532012-03-21  Andrey Kosyakov  <caseq@chromium.org>
76254
76255        Web Inspector: expose getEventListeners() to console command line API
76256        https://bugs.webkit.org/show_bug.cgi?id=81658
76257
76258        Reviewed by Yury Semikhatsky.
76259
76260        Test: inspector/console/command-line-api-getEventListeners.html
76261
76262        * bindings/js/JSInjectedScriptHostCustom.cpp:
76263        (WebCore::JSInjectedScriptHost::functionDetails):
76264        (WebCore):
76265        (WebCore::getJSListenerFunctions):
76266        (WebCore::JSInjectedScriptHost::getEventListeners):
76267        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
76268        (WebCore::getJSListenerFunctions):
76269        (WebCore):
76270        (WebCore::V8InjectedScriptHost::getEventListenersCallback):
76271        * inspector/InjectedScriptHost.cpp:
76272        (WebCore::InjectedScriptHost::InjectedScriptHost):
76273        (WebCore::InjectedScriptHost::disconnect):
76274        (WebCore::InjectedScriptHost::getEventListenersImpl):
76275        (WebCore):
76276        * inspector/InjectedScriptHost.h:
76277        (WebCore):
76278        (WebCore::InjectedScriptHost::init):
76279        (InjectedScriptHost):
76280        * inspector/InjectedScriptHost.idl:
76281        * inspector/InjectedScriptSource.js:
76282        (.):
76283        * inspector/InspectorController.cpp:
76284        (WebCore::InspectorController::InspectorController):
76285        * inspector/InspectorDOMAgent.cpp:
76286        (WebCore::InspectorDOMAgent::getEventListenersForNode):
76287        (WebCore::InspectorDOMAgent::getEventListeners):
76288        (WebCore):
76289        * inspector/InspectorDOMAgent.h:
76290        (InspectorDOMAgent):
76291        * inspector/WorkerInspectorController.cpp:
76292        (WebCore::WorkerInspectorController::WorkerInspectorController):
76293
762942012-03-21  Kentaro Hara  <haraken@chromium.org>
76295
76296        Unreviewed, rebaselined run-bindings-tests results.
76297
76298        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
76299        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
76300        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
76301        * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
76302
763032012-03-21  Ian Vollick  <vollick@chromium.org>
76304
76305        [chromium] timing functions are getting incorrectly applied for accelerated css transitions
76306        https://bugs.webkit.org/show_bug.cgi?id=81692
76307
76308        Reviewed by Adrienne Walker.
76309
76310        Tested in CCLayerTreeHostTestAddAnimationWithTimingFunction
76311
76312        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
76313
763142012-03-21  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
76315
76316        [Qt] Cookie Jar blocks on fsync in SQLITE
76317        https://bugs.webkit.org/show_bug.cgi?id=81755
76318
76319        Reviewed by Simon Hausmann.
76320
76321        Set PRAGMA synchronous to OFF, which tells SQLITE to never fsync.
76322
76323        * platform/qt/CookieJarQt.cpp:
76324        (WebCore::SharedCookieJarQt::ensureDatabaseTable):
76325
763262012-03-21  Ian Vollick  <vollick@chromium.org>
76327
76328        [chromium] Animation events should only be used for synchronizing animation start times
76329        https://bugs.webkit.org/show_bug.cgi?id=81484
76330
76331        Reviewed by Adrienne Walker.
76332
76333        Tested in CCLayerTreeHostTestSynchronizeAnimationStartTimes
76334
76335        Eliminated animation finished events. Animations will finish naturally on the
76336        main thread and the final values will be set.
76337
76338        Animation started events are now also used to synchronize the main thread
76339        animations' start times with their impl thread equivalents, preventing skew.
76340        Until main thread animations receive their synchronized start times, they will
76341        apply their initial values (i.e., they will be paused at time zero). This
76342        guarantees that we will not jump to the animation's final value on the main
76343        thread while we wait for the synchronized start time.
76344
76345        * WebCore.gypi:
76346        * platform/graphics/chromium/LayerChromium.cpp:
76347        (WebCore::LayerChromium::notifyAnimationStarted):
76348        * platform/graphics/chromium/LayerChromium.h:
76349        (WebCore):
76350        (LayerChromium):
76351        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
76352        (WebCore::CCActiveAnimation::CCActiveAnimation):
76353        * platform/graphics/chromium/cc/CCActiveAnimation.h:
76354        (CCActiveAnimation):
76355        (WebCore::CCActiveAnimation::needsSynchronizedStartTime):
76356        (WebCore::CCActiveAnimation::setNeedsSynchronizedStartTime):
76357        * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Removed.
76358        * platform/graphics/chromium/cc/CCAnimationEvents.h:
76359        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
76360        (CCAnimationStartedEvent):
76361        (WebCore):
76362        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
76363        (WebCore::CCLayerAnimationController::animate):
76364        (WebCore::CCLayerAnimationController::notifyAnimationStarted):
76365        (WebCore):
76366        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
76367        (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
76368        (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
76369        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
76370        (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
76371        (WebCore::CCLayerAnimationController::tickAnimations):
76372        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
76373        (CCLayerAnimationController):
76374        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
76375        (WebCore::CCLayerTreeHost::updateAnimations):
76376        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
76377        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
76378        (CCLayerTreeHost):
76379
763802012-03-21  Zeno Albisser  <zeno@webkit.org>
76381
76382        [Qt][WK2][Mac] MiniBrowser asserts at HashTable.h:480
76383        https://bugs.webkit.org/show_bug.cgi?id=81113
76384
76385        The GLContext is created by QWindow/QSurface using
76386        QOpenGLContext which is implemented using NSOpenGL functions
76387        on mac. Therefore we should use QOpenGLContext as well when
76388        querying for the current context. AGL is not supposed
76389        to be paired with NSOpenGL.
76390        Altering the typedef for GLContext is fine, since
76391        the GLContext type is only used as a key in a map.
76392
76393        Reviewed by Kenneth Rohde Christiansen.
76394
76395        * platform/graphics/texmap/TextureMapperGL.cpp:
76396        (SharedGLData):
76397        (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
76398
763992012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
76400
76401        Web Inspector: HeapSnapshot: make _bfs twice as fast as the old version.
76402        https://bugs.webkit.org/show_bug.cgi?id=81756
76403
76404        Reviewed by Yury Semikhatsky.
76405
76406        * inspector/front-end/HeapSnapshot.js:
76407        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
76408        (WebInspector.HeapSnapshot.prototype._bfs):
76409
764102012-03-21  Vineet Chaudhary  <rgf748@motorola.com>
76411
76412        https://bugs.webkit.org/show_bug.cgi?id=81705
76413        REGRESSION (r111416): fast/dom/prototype-inheritance-2.html is failing.
76414
76415        Reviewed by Csaba Osztrogonác.
76416
76417        No new tests.
76418
76419        * bindings/js/JSDOMBinding.h: Needs passing globalObject to constructArray().
76420        (WebCore::jsArray):
76421
764222012-03-21  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
76423
76424        [BlackBerry] Upstreaming blackberry specific css file
76425        https://bugs.webkit.org/show_bug.cgi?id=81650
76426
76427        Ustream BlackBerry specific css files, including:
76428        css/themeBlackBerry.css
76429        css/mediaControlsBlackBerry.css
76430
76431        Reviewed by Nikolas Zimmermann.
76432
76433        No new tests, this is the initial upstream patch
76434        for BlackBerry specific css files.
76435
76436        * css/mediaControlsBlackBerry.css: Added.
76437        (audio):
76438        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
76439        (video:-webkit-full-page-media::-webkit-media-controls-panel):
76440        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
76441        (audio::-webkit-media-controls-timeline-container, video::-webkit-media-controls-timeline-container):
76442        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
76443        (audio::-webkit-media-controls-time-remaining-display, video::-webkit-media-controls-time-remaining-display):
76444        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
76445        (audio::-webkit-media-controls-fullscreen-button, video::-webkit-media-controls-fullscreen-button):
76446        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
76447        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
76448        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
76449        (audio::-webkit-media-controls-seek-back-button, video::-webkit-media-controls-seek-back-button):
76450        (audio::-webkit-media-controls-seek-forward-button, video::-webkit-media-controls-seek-forward-button):
76451        * css/themeBlackBerry.css: Added.
76452        (textarea):
76453        (input, textarea):
76454        (input[type="color"]):
76455        (select:focus):
76456        (select[size][multiple]):
76457        (select[size][multiple]:focus):
76458
764592012-03-21  Levi Weintraub  <leviw@chromium.org>
76460
76461        Update LayoutUnit usage in descendants of RenderReplaced
76462        https://bugs.webkit.org/show_bug.cgi?id=80918
76463
76464        Reviewed by Eric Seidel.
76465
76466        Replaced elements have to flow in the new sub-pixel Render Tree, but since the rendering of these
76467        often takes place outside of WebCore (or in cases such as foreign objects, in WebCore after
76468        passing through platform code), care must be taken to determine the final rendered size and
76469        location before render time. This patch brings these classes up to the latest and greatest in the
76470        subpixellayout branch.
76471
76472        See https://trac.webkit.org/wiki/LayoutUnit for more information.
76473
76474        No new tests. No change in behavior.
76475
76476        * rendering/RenderFrameBase.cpp:
76477        (WebCore::RenderFrameBase::layoutWithFlattening): Build Fix.
76478        * rendering/RenderFullScreen.cpp:
76479        (RenderFullScreen::createPlaceholder): Ditto.
76480        * rendering/RenderFullScreen.h:
76481        (RenderFullScreen): Ditto.
76482        * rendering/RenderHTMLCanvas.cpp:
76483        (WebCore::RenderHTMLCanvas::canvasSizeChanged): Ditto.
76484        * rendering/RenderIFrame.cpp:
76485        (WebCore::RenderIFrame::computeLogicalHeight): Ditto.
76486        (WebCore::RenderIFrame::computeLogicalWidth): Ditto.
76487        * rendering/RenderImage.cpp:
76488        (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Intrinsic sizes are always integers, since they
76489        originate outside of WebCore.
76490        (WebCore::RenderImage::paintIntoRect): Use pixel snapping to paint into an arbitrary rect.
76491        (WebCore::RenderImage::computeReplacedLogicalWidth): Intrinsic size is always integral -- rounding
76492        values to integers.
76493        * rendering/RenderImage.h:
76494        (RenderImage):
76495        * rendering/RenderVideo.cpp:
76496        (WebCore::RenderVideo::videoBox):
76497        (WebCore::RenderVideo::paintReplaced): Painting at integer boundaries.
76498        * rendering/RenderWidget.cpp:
76499        (WebCore):
76500        (WebCore::roundedIntRect): Widgets are rendered outside of WebCore, so we always align them to
76501        integer boundaries. This means we can actually round the size of our ultimate content box. This
76502        function is implemented here specifically to prevent its misuse if we put it elsewhere.
76503        (WebCore::RenderWidget::setWidgetGeometry): We simplify layout by taking a LayoutRect and rounding
76504        it to its final location within this function.
76505        (WebCore::RenderWidget::updateWidgetGeometry): We keep things in LayoutUnits until handing off to
76506        setWidgetGeometry.
76507        (WebCore::RenderWidget::paint): Rounding the paint location before handing painting off to the
76508        widget itself.
76509        * rendering/RenderWidget.h:
76510        (RenderWidget):
76511
765122012-03-21  Ilya Tikhonovsky  <loislo@chromium.org>
76513
76514        Web Inspector: HeapProfiler: support distance column in Summary View.
76515        https://bugs.webkit.org/show_bug.cgi?id=81675
76516
76517        In many cases when a page leaked an object we see not only this object
76518        but the all objects it retains. It is quite difficult to find out which
76519        the object is the root of leak. It'd be simpler to sort the leaked
76520        objects by Distance column and track down the first one.
76521
76522        Reviewed by Yury Semikhatsky.
76523
76524        * inspector/front-end/DetailedHeapshotGridNodes.js:
76525        (WebInspector.HeapSnapshotGenericObjectNode):
76526        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
76527        (WebInspector.HeapSnapshotInstanceNode.prototype.comparator):
76528        (WebInspector.HeapSnapshotConstructorNode):
76529        (WebInspector.HeapSnapshotConstructorNode.prototype.comparator):
76530        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
76531        * inspector/front-end/DetailedHeapshotView.js:
76532        (WebInspector.HeapSnapshotConstructorsDataGrid):
76533        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._defaultPopulateCount.100._sortFields):
76534        * inspector/front-end/HeapSnapshot.js:
76535        (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
76536
765372012-03-21  Charles Wei  <charles.wei@torchmobile.com.cn>
76538
76539        [BlackBerry] Remove redundant code in SocketStreamHandler
76540        https://bugs.webkit.org/show_bug.cgi?id=81726
76541
76542        Reviewed by George Staikos.
76543
76544        No new tests needed. Just remove redundant code.
76545
76546        * platform/network/blackberry/SocketStreamHandle.h:
76547        (SocketStreamHandle):
76548        * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp:
76549
765502012-03-20  Eric Seidel  <eric@webkit.org>
76551
76552        Move wtf/Platform.h from JavaScriptCore to Source/WTF/wtf
76553        https://bugs.webkit.org/show_bug.cgi?id=80911
76554
76555        Reviewed by Adam Barth.
76556
76557        * CMakeLists.txt:
76558         - Look for headers in Source/WTF as well.
76559
765602012-03-20  Dana Jansens  <danakj@chromium.org>
76561
76562        [chromium] Use origin transform to transform occlusion from surface content space to its target content space
76563        https://bugs.webkit.org/show_bug.cgi?id=81730
76564
76565        Reviewed by Adrienne Walker.
76566
76567        Unit test: CCOcclusionTrackerTestSurfaceOcclusionTranslatesToParent
76568
76569        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
76570        (WebCore::transformSurfaceOpaqueRegion):
76571        (WebCore::::leaveToTargetRenderSurface):
76572
765732012-03-19  Shinya Kawanaka  <shinyak@chromium.org>
76574
76575        [Crash] RenderMenuList::addChild() in Shadow DOM.
76576        https://bugs.webkit.org/show_bug.cgi?id=81201
76577
76578        Reviewed by Dimitri Glazkov.
76579
76580        <audio>, <video>, <meter>, <progress>, and <select> are implemented using
76581        Shadow DOM having HTMLContentElement. Their renderer children basically should not
76582        create a renderer unless they are on the upper shadow encapsulation boundary,
76583        which means they are the direct children of the shadow root.
76584
76585        However, current implementation allows their renderer children to create a renderer
76586        even if they are on a lower shadow encapsulation boundary, which means
76587        they are distributed elements of HTMLContentElement.
76588
76589        This patch makes there renderer children not to create a renderer if they are on a lower shadow
76590        encapsulation boudary.
76591
76592        Tests: fast/dom/shadow/content-element-in-media-element.html
76593               fast/dom/shadow/content-element-in-meter-element.html
76594               fast/dom/shadow/content-element-in-progress-element.html
76595               fast/dom/shadow/content-element-in-select-element.html
76596
76597        * dom/NodeRenderingContext.h:
76598        (NodeRenderingContext):
76599        (WebCore::NodeRenderingContext::isOnUpperEncapsulationBoundary):
76600        (WebCore):
76601        * html/HTMLMediaElement.cpp:
76602        (WebCore::HTMLMediaElement::childShouldCreateRenderer):
76603        * html/HTMLMeterElement.cpp:
76604        (WebCore::HTMLMeterElement::childShouldCreateRenderer):
76605        * html/HTMLProgressElement.cpp:
76606        (WebCore::HTMLProgressElement::childShouldCreateRenderer):
76607        * html/HTMLSelectElement.cpp:
76608        (WebCore::HTMLSelectElement::childShouldCreateRenderer):
76609
766102012-03-20  Dana Jansens  <danakj@chromium.org>
76611
76612        [chromium] Store origin/screen space transforms for surface and replica in the surface
76613        https://bugs.webkit.org/show_bug.cgi?id=81296
76614
76615        Reviewed by Adrienne Walker.
76616
76617        Compute and save a number of transforms for render surfaces. The origin
76618        tranform for the replica into its target surface. The origin transform
76619        for the replica into the screen. And the origin transform for the surface
76620        into the screen.
76621
76622        These transforms will allow us to detect occlusion of render surfaces,
76623        allowing us to cull (or partially-cull) the render surface quad during
76624        drawing.
76625
76626        This also fixes a subtle bug in the transforms used by the damage
76627        tracking code.
76628
76629        Unit test: CCLayerTreeHostCommonTest.verifyTransformsForSingleRenderSurface
76630                   CCLayerTreeHostCommonTest.verifyTransformsForReplica
76631                   CCLayerTreeHostCommonTest.verifyTransformsForRenderSurfaceHierarchy
76632
76633        * platform/graphics/chromium/RenderSurfaceChromium.h:
76634        (WebCore::RenderSurfaceChromium::screenSpaceTransform):
76635        (WebCore::RenderSurfaceChromium::setScreenSpaceTransform):
76636        (RenderSurfaceChromium):
76637        (WebCore::RenderSurfaceChromium::replicaOriginTransform):
76638        (WebCore::RenderSurfaceChromium::setReplicaOriginTransform):
76639        (WebCore::RenderSurfaceChromium::replicaScreenSpaceTransform):
76640        (WebCore::RenderSurfaceChromium::setReplicaScreenSpaceTransform):
76641        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
76642        (WebCore::CCDamageTracker::extendDamageForRenderSurface):
76643        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
76644        (WebCore::calculateDrawTransformsAndVisibilityInternal):
76645        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
76646        (WebCore::damageInSurfaceSpace):
76647        * platform/graphics/chromium/cc/CCRenderSurface.h:
76648        (WebCore::CCRenderSurface::setDrawTransform):
76649        (WebCore::CCRenderSurface::drawTransform):
76650        (WebCore::CCRenderSurface::setScreenSpaceTransform):
76651        (WebCore::CCRenderSurface::screenSpaceTransform):
76652        (CCRenderSurface):
76653        (WebCore::CCRenderSurface::setReplicaDrawTransform):
76654        (WebCore::CCRenderSurface::replicaDrawTransform):
76655        (WebCore::CCRenderSurface::setReplicaOriginTransform):
76656        (WebCore::CCRenderSurface::replicaOriginTransform):
76657        (WebCore::CCRenderSurface::setReplicaScreenSpaceTransform):
76658        (WebCore::CCRenderSurface::replicaScreenSpaceTransform):
76659
766602012-03-20  Yoshifumi Inoue  <yosin@chromium.org>
76661
76662        [Forms] The option element should not be form associated element.
76663        https://bugs.webkit.org/show_bug.cgi?id=79764
76664
76665        Reviewed by Kent Tamura.
76666
76667        This patch changes base class of HTMLOptionELement to HTMLElement
76668        from HTMLFormControlElement for saving memory space and iteration
76669        time of extra "option" elements in HTMLFormElement::m_formAssociatedElements
76670        and matching the HTML5 specification for ease of maintenance.
76671
76672        This patch changes behavior of handling of CSS pseudo classes "invalid"
76673        and "valid". The "option" elements no longer use these CSS pseudo classes
76674        as HTML5 specification. This bug was filed in https://bugs.webkit.org/show_bug.cgi?id=80088
76675
76676        Changes of TextIterator is lead by usage of isFormControlElement. This
76677        changes will be replaced with more meaningful predicate as part of
76678        https://bugs.webkit.org/show_bug.cgi?id=80381
76679
76680        No new tests but updated select-live-pseudo-selectors.html test.
76681
76682        * css/CSSStyleSelector.cpp:
76683        (WebCore::CSSStyleSelector::canShareStyleWithElement): Added checking of the "option" element and returns false as HTMLFormControlElement.
76684        * css/SelectorChecker.cpp:
76685        (WebCore::SelectorChecker::checkOneSelector): Removed isFormControlElement for PseudoDisabled and PseudoChecked.
76686        * html/HTMLKeygenElement.cpp:
76687        (WebCore::HTMLKeygenElement::HTMLKeygenElement): Removed form parameter of call site of HTMLOptionElement::create.
76688        * html/HTMLOptionElement.cpp:
76689        (WebCore::HTMLOptionElement::HTMLOptionElement): Removed form parameter which no longer needed. Changed base class in initialization list. Added m_disabled initialization.
76690        (WebCore::HTMLOptionElement::create): Removed form parameter which no longer needed.
76691        (WebCore::HTMLOptionElement::attach): Changeid base class.
76692        (WebCore::HTMLOptionElement::detach): Changed base class.
76693        (WebCore::HTMLOptionElement::parseAttribute): Changed base class. Added "disabled" attribute handling.
76694        (WebCore::HTMLOptionElement::childrenChanged): Changed base class.
76695        (WebCore::HTMLOptionElement::insertedIntoTree): Changed base class.
76696        * html/HTMLOptionElement.h:
76697        (HTMLOptionElement): Added new member variable m_disabled which was in HTMLFormControlElement.
76698        (WebCore::HTMLOptionElement::ownElementDisabled): Changed for using m_disabled.
76699        * html/HTMLTagNames.in: Removed constructorNeedsFormElement for the "option" element, which was used for passing form parameter to create function.
76700
767012012-03-20  Xiaomei Ji  <xji@chromium.org>
76702
76703        Crash introduced in r110965.
76704        https://bugs.webkit.org/show_bug.cgi?id=81720
76705
76706        Reviewed by Ryosuke Niwa.
76707
76708        Since word break iterator just keeps a pointer to the UChar array given to the constructor,
76709        we need to allocate the UChar array deeper in the stack than the iterator.
76710
76711        Test: editing/selection/move-by-word-visually-crash-test-5.html
76712
76713        * editing/visible_units.cpp:
76714        (WebCore::wordBreakIteratorForMinOffsetBoundary):
76715        (WebCore::wordBreakIteratorForMaxOffsetBoundary):
76716        (WebCore::visualWordPosition):
76717
767182012-03-20  W. James MacLean  <wjmaclean@chromium.org>
76719
76720        [chromium] Convert TouchFlingPlatformGestureCurve to a 2-D Bezier for better control of curve shape.
76721        https://bugs.webkit.org/show_bug.cgi?id=81713
76722
76723        Reviewed by Dirk Pranke.
76724
76725        Exisiting unit test revised to cover this change.
76726
76727        Change the fling gesture animation curve to use a 2-D Bezier to obtain greater control
76728        over the shape of the curve. Also, change time scaling code to be logarithmic for more
76729        natural feel.
76730
76731        * platform/TouchFlingPlatformGestureCurve.cpp:
76732        (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
76733        (WebCore::TouchFlingPlatformGestureCurve::apply):
76734
767352012-03-18  Tim Horton  <timothy_horton@apple.com>
76736
76737        Infinite repaint loop with SVGImageCache and deferred repaint timers
76738        https://bugs.webkit.org/show_bug.cgi?id=78315
76739        <rdar://problem/10651634>
76740
76741        Reviewed by Nikolas Zimmermann.
76742
76743        Only defer image redraw on a timer if we're in layout. This breaks
76744        the repaint loop while still preventing us from drawing inside layout.
76745
76746        Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
76747        preventing deferred repaint timers from being started during that process.
76748
76749        No new tests, as the problem only occurs in a nonstandard configuration.
76750
76751        * page/FrameView.cpp:
76752        (WebCore::FrameView::FrameView):
76753        (WebCore::FrameView::reset):
76754        (WebCore::FrameView::repaintContentRectangle):
76755        (WebCore::FrameView::endDeferredRepaints):
76756        (WebCore::FrameView::startDeferredRepaintTimer):
76757        (WebCore):
76758        (WebCore::FrameView::doDeferredRepaints):
76759        (WebCore::FrameView::deferredRepaintTimerFired):
76760        (WebCore::FrameView::beginDisableRepaints):
76761        (WebCore::FrameView::endDisableRepaints):
76762        * page/FrameView.h:
76763        (FrameView):
76764        (WebCore::FrameView::repaintsDisabled):
76765        * rendering/RenderView.cpp:
76766        (WebCore::RenderView::shouldRepaint):
76767        * svg/graphics/SVGImage.cpp:
76768        (WebCore::SVGImage::drawSVGToImageBuffer):
76769        (WebCore::SVGImage::draw):
76770        (WebCore::SVGImage::frameView):
76771        (WebCore):
76772        * svg/graphics/SVGImage.h:
76773        (WebCore):
76774        * svg/graphics/SVGImageCache.cpp:
76775        (WebCore::SVGImageCache::imageContentChanged):
76776        (WebCore::SVGImageCache::redraw):
76777        (WebCore::SVGImageCache::redrawTimerFired):
76778        (WebCore):
76779        * svg/graphics/SVGImageCache.h:
76780        (SVGImageCache):
76781
767822012-03-20  Adam Klein  <adamk@chromium.org>
76783
76784        Include fix for dom/xhtml test promised in r111449.
76785
76786        * dom/ContainerNode.cpp:
76787        (WebCore::ContainerNode::replaceChild): Check against next instead of
76788        prev when deciding there's no work to do.
76789
767902012-03-20  Jon Lee  <jonlee@apple.com>
76791
76792        Restrict access to notifications for unique origins and file URLs with no local file access
76793        https://bugs.webkit.org/show_bug.cgi?id=79704
76794        <rdar://problem/10912430>
76795
76796        Reviewed by Adam Barth.
76797
76798        Before checking or requesting permissions, we look at whether we can show notifications based on
76799        the security context. If not, we short circuit and do not forward the request to the client.
76800
76801        * notifications/Notification.cpp:
76802        (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
76803        different logic for checking permissions than when checking permissions through the
76804        notification center.
76805        * notifications/NotificationCenter.cpp:
76806        (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
76807        (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
76808        we asynchronously call the callback with that decision. Otherwise we ask the client.
76809
76810        Add new variable in the notification center to keep track of pending callbacks when we short-circuit
76811        requestPermission().
76812        * notifications/NotificationCenter.h:
76813        (NotificationRequestCallback): Add new private class encapsulating the callback.
76814        * notifications/NotificationCenter.cpp:
76815        (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
76816        (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
76817        know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
76818        to invoke the callback.
76819        (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
76820        (WebCore::NotificationCenter::NotificationRequest::startTimer):
76821        (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
76822        center.
76823        * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
76824        regardless of any restrictions that might otherwise cause toString() to return "null".
76825        * page/SecurityOrigin.cpp:
76826        (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
76827        the origin can show notifications. If the origin is unique, we never let it show. If the origin has
76828        universal access, we always let it show. Otherwise the client should be asked.
76829        (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
76830        (WebCore::SecurityOrigin::toRawString):
76831
76832        Added FIXME's regarding the naming of enforceFilePathSeparation().
76833        * dom/Document.cpp:
76834        (WebCore::Document::initSecurityContext): Also, tab reformatting.
76835
76836        * WebCore.exp.in: Export toRawString().
76837
768382012-03-20  Mark Pilgrim  <pilgrim@chromium.org>
76839
76840        Move webaudio to Modules/webaudio/
76841        https://bugs.webkit.org/show_bug.cgi?id=81541
76842
76843        Reviewed by Kentaro Hara.
76844
76845        No new tests, all existing tests pass.
76846
76847        * CMakeLists.txt:
76848        * DerivedSources.make:
76849        * DerivedSources.pri:
76850        * GNUmakefile.am:
76851        * GNUmakefile.list.am:
76852        * Modules/webaudio: Added.
76853        * Modules/webaudio/AsyncAudioDecoder.cpp: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.cpp.
76854        * Modules/webaudio/AsyncAudioDecoder.h: Copied from Source/WebCore/webaudio/AsyncAudioDecoder.h.
76855        * Modules/webaudio/AudioBasicProcessorNode.cpp: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.cpp.
76856        * Modules/webaudio/AudioBasicProcessorNode.h: Copied from Source/WebCore/webaudio/AudioBasicProcessorNode.h.
76857        * Modules/webaudio/AudioBuffer.cpp: Copied from Source/WebCore/webaudio/AudioBuffer.cpp.
76858        * Modules/webaudio/AudioBuffer.h: Copied from Source/WebCore/webaudio/AudioBuffer.h.
76859        * Modules/webaudio/AudioBuffer.idl: Copied from Source/WebCore/webaudio/AudioBuffer.idl.
76860        * Modules/webaudio/AudioBufferCallback.h: Copied from Source/WebCore/webaudio/AudioBufferCallback.h.
76861        * Modules/webaudio/AudioBufferCallback.idl: Copied from Source/WebCore/webaudio/AudioBufferCallback.idl.
76862        * Modules/webaudio/AudioBufferSourceNode.cpp: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.cpp.
76863        * Modules/webaudio/AudioBufferSourceNode.h: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.h.
76864        * Modules/webaudio/AudioBufferSourceNode.idl: Copied from Source/WebCore/webaudio/AudioBufferSourceNode.idl.
76865        * Modules/webaudio/AudioChannelMerger.cpp: Copied from Source/WebCore/webaudio/AudioChannelMerger.cpp.
76866        * Modules/webaudio/AudioChannelMerger.h: Copied from Source/WebCore/webaudio/AudioChannelMerger.h.
76867        * Modules/webaudio/AudioChannelMerger.idl: Copied from Source/WebCore/webaudio/AudioChannelMerger.idl.
76868        * Modules/webaudio/AudioChannelSplitter.cpp: Copied from Source/WebCore/webaudio/AudioChannelSplitter.cpp.
76869        * Modules/webaudio/AudioChannelSplitter.h: Copied from Source/WebCore/webaudio/AudioChannelSplitter.h.
76870        * Modules/webaudio/AudioChannelSplitter.idl: Copied from Source/WebCore/webaudio/AudioChannelSplitter.idl.
76871        * Modules/webaudio/AudioContext.cpp: Copied from Source/WebCore/webaudio/AudioContext.cpp.
76872        * Modules/webaudio/AudioContext.h: Copied from Source/WebCore/webaudio/AudioContext.h.
76873        * Modules/webaudio/AudioContext.idl: Copied from Source/WebCore/webaudio/AudioContext.idl.
76874        * Modules/webaudio/AudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/AudioDestinationNode.cpp.
76875        * Modules/webaudio/AudioDestinationNode.h: Copied from Source/WebCore/webaudio/AudioDestinationNode.h.
76876        * Modules/webaudio/AudioDestinationNode.idl: Copied from Source/WebCore/webaudio/AudioDestinationNode.idl.
76877        * Modules/webaudio/AudioGain.h: Copied from Source/WebCore/webaudio/AudioGain.h.
76878        * Modules/webaudio/AudioGain.idl: Copied from Source/WebCore/webaudio/AudioGain.idl.
76879        * Modules/webaudio/AudioGainNode.cpp: Copied from Source/WebCore/webaudio/AudioGainNode.cpp.
76880        * Modules/webaudio/AudioGainNode.h: Copied from Source/WebCore/webaudio/AudioGainNode.h.
76881        * Modules/webaudio/AudioGainNode.idl: Copied from Source/WebCore/webaudio/AudioGainNode.idl.
76882        * Modules/webaudio/AudioListener.cpp: Copied from Source/WebCore/webaudio/AudioListener.cpp.
76883        * Modules/webaudio/AudioListener.h: Copied from Source/WebCore/webaudio/AudioListener.h.
76884        * Modules/webaudio/AudioListener.idl: Copied from Source/WebCore/webaudio/AudioListener.idl.
76885        * Modules/webaudio/AudioNode.cpp: Copied from Source/WebCore/webaudio/AudioNode.cpp.
76886        * Modules/webaudio/AudioNode.h: Copied from Source/WebCore/webaudio/AudioNode.h.
76887        * Modules/webaudio/AudioNode.idl: Copied from Source/WebCore/webaudio/AudioNode.idl.
76888        * Modules/webaudio/AudioNodeInput.cpp: Copied from Source/WebCore/webaudio/AudioNodeInput.cpp.
76889        * Modules/webaudio/AudioNodeInput.h: Copied from Source/WebCore/webaudio/AudioNodeInput.h.
76890        * Modules/webaudio/AudioNodeOutput.cpp: Copied from Source/WebCore/webaudio/AudioNodeOutput.cpp.
76891        * Modules/webaudio/AudioNodeOutput.h: Copied from Source/WebCore/webaudio/AudioNodeOutput.h.
76892        * Modules/webaudio/AudioPannerNode.cpp: Copied from Source/WebCore/webaudio/AudioPannerNode.cpp.
76893        * Modules/webaudio/AudioPannerNode.h: Copied from Source/WebCore/webaudio/AudioPannerNode.h.
76894        * Modules/webaudio/AudioPannerNode.idl: Copied from Source/WebCore/webaudio/AudioPannerNode.idl.
76895        * Modules/webaudio/AudioParam.cpp: Copied from Source/WebCore/webaudio/AudioParam.cpp.
76896        * Modules/webaudio/AudioParam.h: Copied from Source/WebCore/webaudio/AudioParam.h.
76897        * Modules/webaudio/AudioParam.idl: Copied from Source/WebCore/webaudio/AudioParam.idl.
76898        * Modules/webaudio/AudioParamTimeline.cpp: Copied from Source/WebCore/webaudio/AudioParamTimeline.cpp.
76899        * Modules/webaudio/AudioParamTimeline.h: Copied from Source/WebCore/webaudio/AudioParamTimeline.h.
76900        * Modules/webaudio/AudioProcessingEvent.cpp: Copied from Source/WebCore/webaudio/AudioProcessingEvent.cpp.
76901        * Modules/webaudio/AudioProcessingEvent.h: Copied from Source/WebCore/webaudio/AudioProcessingEvent.h.
76902        * Modules/webaudio/AudioProcessingEvent.idl: Copied from Source/WebCore/webaudio/AudioProcessingEvent.idl.
76903        * Modules/webaudio/AudioSourceNode.h: Copied from Source/WebCore/webaudio/AudioSourceNode.h.
76904        * Modules/webaudio/AudioSourceNode.idl: Copied from Source/WebCore/webaudio/AudioSourceNode.idl.
76905        * Modules/webaudio/BiquadDSPKernel.cpp: Copied from Source/WebCore/webaudio/BiquadDSPKernel.cpp.
76906        * Modules/webaudio/BiquadDSPKernel.h: Copied from Source/WebCore/webaudio/BiquadDSPKernel.h.
76907        * Modules/webaudio/BiquadFilterNode.cpp: Copied from Source/WebCore/webaudio/BiquadFilterNode.cpp.
76908        * Modules/webaudio/BiquadFilterNode.h: Copied from Source/WebCore/webaudio/BiquadFilterNode.h.
76909        * Modules/webaudio/BiquadFilterNode.idl: Copied from Source/WebCore/webaudio/BiquadFilterNode.idl.
76910        * Modules/webaudio/BiquadProcessor.cpp: Copied from Source/WebCore/webaudio/BiquadProcessor.cpp.
76911        * Modules/webaudio/BiquadProcessor.h: Copied from Source/WebCore/webaudio/BiquadProcessor.h.
76912        * Modules/webaudio/ConvolverNode.cpp: Copied from Source/WebCore/webaudio/ConvolverNode.cpp.
76913        * Modules/webaudio/ConvolverNode.h: Copied from Source/WebCore/webaudio/ConvolverNode.h.
76914        * Modules/webaudio/ConvolverNode.idl: Copied from Source/WebCore/webaudio/ConvolverNode.idl.
76915        * Modules/webaudio/DOMWindowWebAudio.idl: Copied from Source/WebCore/webaudio/DOMWindowWebAudio.idl.
76916        * Modules/webaudio/DefaultAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.cpp.
76917        * Modules/webaudio/DefaultAudioDestinationNode.h: Copied from Source/WebCore/webaudio/DefaultAudioDestinationNode.h.
76918        * Modules/webaudio/DelayDSPKernel.cpp: Copied from Source/WebCore/webaudio/DelayDSPKernel.cpp.
76919        * Modules/webaudio/DelayDSPKernel.h: Copied from Source/WebCore/webaudio/DelayDSPKernel.h.
76920        * Modules/webaudio/DelayNode.cpp: Copied from Source/WebCore/webaudio/DelayNode.cpp.
76921        * Modules/webaudio/DelayNode.h: Copied from Source/WebCore/webaudio/DelayNode.h.
76922        * Modules/webaudio/DelayNode.idl: Copied from Source/WebCore/webaudio/DelayNode.idl.
76923        * Modules/webaudio/DelayProcessor.cpp: Copied from Source/WebCore/webaudio/DelayProcessor.cpp.
76924        * Modules/webaudio/DelayProcessor.h: Copied from Source/WebCore/webaudio/DelayProcessor.h.
76925        * Modules/webaudio/DynamicsCompressorNode.cpp: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.cpp.
76926        * Modules/webaudio/DynamicsCompressorNode.h: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.h.
76927        * Modules/webaudio/DynamicsCompressorNode.idl: Copied from Source/WebCore/webaudio/DynamicsCompressorNode.idl.
76928        * Modules/webaudio/HighPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/HighPass2FilterNode.cpp.
76929        * Modules/webaudio/HighPass2FilterNode.h: Copied from Source/WebCore/webaudio/HighPass2FilterNode.h.
76930        * Modules/webaudio/HighPass2FilterNode.idl: Copied from Source/WebCore/webaudio/HighPass2FilterNode.idl.
76931        * Modules/webaudio/JavaScriptAudioNode.cpp: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.cpp.
76932        * Modules/webaudio/JavaScriptAudioNode.h: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.h.
76933        * Modules/webaudio/JavaScriptAudioNode.idl: Copied from Source/WebCore/webaudio/JavaScriptAudioNode.idl.
76934        * Modules/webaudio/LowPass2FilterNode.cpp: Copied from Source/WebCore/webaudio/LowPass2FilterNode.cpp.
76935        * Modules/webaudio/LowPass2FilterNode.h: Copied from Source/WebCore/webaudio/LowPass2FilterNode.h.
76936        * Modules/webaudio/LowPass2FilterNode.idl: Copied from Source/WebCore/webaudio/LowPass2FilterNode.idl.
76937        * Modules/webaudio/MediaElementAudioSourceNode.cpp: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.cpp.
76938        * Modules/webaudio/MediaElementAudioSourceNode.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
76939        * Modules/webaudio/MediaElementAudioSourceNode.idl: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.idl.
76940        * Modules/webaudio/OfflineAudioCompletionEvent.cpp: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.cpp.
76941        * Modules/webaudio/OfflineAudioCompletionEvent.h: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.h.
76942        * Modules/webaudio/OfflineAudioCompletionEvent.idl: Copied from Source/WebCore/webaudio/OfflineAudioCompletionEvent.idl.
76943        * Modules/webaudio/OfflineAudioDestinationNode.cpp: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.cpp.
76944        * Modules/webaudio/OfflineAudioDestinationNode.h: Copied from Source/WebCore/webaudio/OfflineAudioDestinationNode.h.
76945        * Modules/webaudio/RealtimeAnalyser.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyser.cpp.
76946        * Modules/webaudio/RealtimeAnalyser.h: Copied from Source/WebCore/webaudio/RealtimeAnalyser.h.
76947        * Modules/webaudio/RealtimeAnalyserNode.cpp: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.cpp.
76948        * Modules/webaudio/RealtimeAnalyserNode.h: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.h.
76949        * Modules/webaudio/RealtimeAnalyserNode.idl: Copied from Source/WebCore/webaudio/RealtimeAnalyserNode.idl.
76950        * Modules/webaudio/WaveShaperDSPKernel.cpp: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.cpp.
76951        * Modules/webaudio/WaveShaperDSPKernel.h: Copied from Source/WebCore/webaudio/WaveShaperDSPKernel.h.
76952        * Modules/webaudio/WaveShaperNode.cpp: Copied from Source/WebCore/webaudio/WaveShaperNode.cpp.
76953        * Modules/webaudio/WaveShaperNode.h: Copied from Source/WebCore/webaudio/WaveShaperNode.h.
76954        * Modules/webaudio/WaveShaperNode.idl: Copied from Source/WebCore/webaudio/WaveShaperNode.idl.
76955        * Modules/webaudio/WaveShaperProcessor.cpp: Copied from Source/WebCore/webaudio/WaveShaperProcessor.cpp.
76956        * Modules/webaudio/WaveShaperProcessor.h: Copied from Source/WebCore/webaudio/WaveShaperProcessor.h.
76957        * WebCore.gyp/WebCore.gyp:
76958        * WebCore.gypi:
76959        * WebCore.pri:
76960        * WebCore.xcodeproj/project.pbxproj:
76961        * webaudio/AsyncAudioDecoder.cpp: Removed.
76962        * webaudio/AsyncAudioDecoder.h: Removed.
76963        * webaudio/AudioBasicProcessorNode.cpp: Removed.
76964        * webaudio/AudioBasicProcessorNode.h: Removed.
76965        * webaudio/AudioBuffer.cpp: Removed.
76966        * webaudio/AudioBuffer.h: Removed.
76967        * webaudio/AudioBuffer.idl: Removed.
76968        * webaudio/AudioBufferCallback.h: Removed.
76969        * webaudio/AudioBufferCallback.idl: Removed.
76970        * webaudio/AudioBufferSourceNode.cpp: Removed.
76971        * webaudio/AudioBufferSourceNode.h: Removed.
76972        * webaudio/AudioBufferSourceNode.idl: Removed.
76973        * webaudio/AudioChannelMerger.cpp: Removed.
76974        * webaudio/AudioChannelMerger.h: Removed.
76975        * webaudio/AudioChannelMerger.idl: Removed.
76976        * webaudio/AudioChannelSplitter.cpp: Removed.
76977        * webaudio/AudioChannelSplitter.h: Removed.
76978        * webaudio/AudioChannelSplitter.idl: Removed.
76979        * webaudio/AudioContext.cpp: Removed.
76980        * webaudio/AudioContext.h: Removed.
76981        * webaudio/AudioContext.idl: Removed.
76982        * webaudio/AudioDestinationNode.cpp: Removed.
76983        * webaudio/AudioDestinationNode.h: Removed.
76984        * webaudio/AudioDestinationNode.idl: Removed.
76985        * webaudio/AudioGain.h: Removed.
76986        * webaudio/AudioGain.idl: Removed.
76987        * webaudio/AudioGainNode.cpp: Removed.
76988        * webaudio/AudioGainNode.h: Removed.
76989        * webaudio/AudioGainNode.idl: Removed.
76990        * webaudio/AudioListener.cpp: Removed.
76991        * webaudio/AudioListener.h: Removed.
76992        * webaudio/AudioListener.idl: Removed.
76993        * webaudio/AudioNode.cpp: Removed.
76994        * webaudio/AudioNode.h: Removed.
76995        * webaudio/AudioNode.idl: Removed.
76996        * webaudio/AudioNodeInput.cpp: Removed.
76997        * webaudio/AudioNodeInput.h: Removed.
76998        * webaudio/AudioNodeOutput.cpp: Removed.
76999        * webaudio/AudioNodeOutput.h: Removed.
77000        * webaudio/AudioPannerNode.cpp: Removed.
77001        * webaudio/AudioPannerNode.h: Removed.
77002        * webaudio/AudioPannerNode.idl: Removed.
77003        * webaudio/AudioParam.cpp: Removed.
77004        * webaudio/AudioParam.h: Removed.
77005        * webaudio/AudioParam.idl: Removed.
77006        * webaudio/AudioParamTimeline.cpp: Removed.
77007        * webaudio/AudioParamTimeline.h: Removed.
77008        * webaudio/AudioProcessingEvent.cpp: Removed.
77009        * webaudio/AudioProcessingEvent.h: Removed.
77010        * webaudio/AudioProcessingEvent.idl: Removed.
77011        * webaudio/AudioSourceNode.h: Removed.
77012        * webaudio/AudioSourceNode.idl: Removed.
77013        * webaudio/BiquadDSPKernel.cpp: Removed.
77014        * webaudio/BiquadDSPKernel.h: Removed.
77015        * webaudio/BiquadFilterNode.cpp: Removed.
77016        * webaudio/BiquadFilterNode.h: Removed.
77017        * webaudio/BiquadFilterNode.idl: Removed.
77018        * webaudio/BiquadProcessor.cpp: Removed.
77019        * webaudio/BiquadProcessor.h: Removed.
77020        * webaudio/ConvolverNode.cpp: Removed.
77021        * webaudio/ConvolverNode.h: Removed.
77022        * webaudio/ConvolverNode.idl: Removed.
77023        * webaudio/DOMWindowWebAudio.idl: Removed.
77024        * webaudio/DefaultAudioDestinationNode.cpp: Removed.
77025        * webaudio/DefaultAudioDestinationNode.h: Removed.
77026        * webaudio/DelayDSPKernel.cpp: Removed.
77027        * webaudio/DelayDSPKernel.h: Removed.
77028        * webaudio/DelayNode.cpp: Removed.
77029        * webaudio/DelayNode.h: Removed.
77030        * webaudio/DelayNode.idl: Removed.
77031        * webaudio/DelayProcessor.cpp: Removed.
77032        * webaudio/DelayProcessor.h: Removed.
77033        * webaudio/DynamicsCompressorNode.cpp: Removed.
77034        * webaudio/DynamicsCompressorNode.h: Removed.
77035        * webaudio/DynamicsCompressorNode.idl: Removed.
77036        * webaudio/HighPass2FilterNode.cpp: Removed.
77037        * webaudio/HighPass2FilterNode.h: Removed.
77038        * webaudio/HighPass2FilterNode.idl: Removed.
77039        * webaudio/JavaScriptAudioNode.cpp: Removed.
77040        * webaudio/JavaScriptAudioNode.h: Removed.
77041        * webaudio/JavaScriptAudioNode.idl: Removed.
77042        * webaudio/LowPass2FilterNode.cpp: Removed.
77043        * webaudio/LowPass2FilterNode.h: Removed.
77044        * webaudio/LowPass2FilterNode.idl: Removed.
77045        * webaudio/MediaElementAudioSourceNode.cpp: Removed.
77046        * webaudio/MediaElementAudioSourceNode.h: Removed.
77047        * webaudio/MediaElementAudioSourceNode.idl: Removed.
77048        * webaudio/OfflineAudioCompletionEvent.cpp: Removed.
77049        * webaudio/OfflineAudioCompletionEvent.h: Removed.
77050        * webaudio/OfflineAudioCompletionEvent.idl: Removed.
77051        * webaudio/OfflineAudioDestinationNode.cpp: Removed.
77052        * webaudio/OfflineAudioDestinationNode.h: Removed.
77053        * webaudio/RealtimeAnalyser.cpp: Removed.
77054        * webaudio/RealtimeAnalyser.h: Removed.
77055        * webaudio/RealtimeAnalyserNode.cpp: Removed.
77056        * webaudio/RealtimeAnalyserNode.h: Removed.
77057        * webaudio/RealtimeAnalyserNode.idl: Removed.
77058        * webaudio/WaveShaperDSPKernel.cpp: Removed.
77059        * webaudio/WaveShaperDSPKernel.h: Removed.
77060        * webaudio/WaveShaperNode.cpp: Removed.
77061        * webaudio/WaveShaperNode.h: Removed.
77062        * webaudio/WaveShaperNode.idl: Removed.
77063        * webaudio/WaveShaperProcessor.cpp: Removed.
77064        * webaudio/WaveShaperProcessor.h: Removed.
77065
770662012-03-20  Anders Carlsson  <andersca@apple.com>
77067
77068        Add a per-ScrollableArea tile cache base class
77069        https://bugs.webkit.org/show_bug.cgi?id=81694
77070
77071        Reviewed by Sam Weinig.
77072
77073        Add an abstract base class, TiledBacking, that can be used to inform tile caches about changed
77074        state in scrollable areas (such as the currently visible rect, whether the page is active or not, etc).
77075
77076        Make TileCache inherit from TiledBacking and port updating the visible rect over to this new mechanism.
77077
77078        * WebCore.xcodeproj/project.pbxproj:
77079        * page/FrameView.cpp:
77080        (WebCore::FrameView::tiledBacking):
77081        (WebCore):
77082        * page/FrameView.h:
77083        (FrameView):
77084        * platform/ScrollableArea.h:
77085        (WebCore):
77086        (ScrollableArea):
77087        (WebCore::ScrollableArea::tiledBacking):
77088        * platform/graphics/GraphicsLayer.h:
77089        (WebCore):
77090        (WebCore::GraphicsLayer::tiledBacking):
77091        * platform/graphics/TiledBacking.h: Added.
77092        (WebCore):
77093        (TiledBacking):
77094        (WebCore::TiledBacking::~TiledBacking):
77095        * platform/graphics/ca/GraphicsLayerCA.cpp:
77096        (WebCore::GraphicsLayerCA::tiledBacking):
77097        * platform/graphics/ca/GraphicsLayerCA.h:
77098        (GraphicsLayerCA):
77099        * platform/graphics/ca/PlatformCALayer.h:
77100        (PlatformCALayer):
77101        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
77102        (PlatformCALayer::tiledBacking):
77103        * platform/graphics/ca/mac/TileCache.h:
77104        (TileCache):
77105        * platform/graphics/ca/mac/WebTileCacheLayer.h:
77106        (WebCore):
77107        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
77108        (-[WebTileCacheLayer WebCore::]):
77109        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
77110        (PlatformCALayer::tiledBacking):
77111        * rendering/RenderLayerCompositor.cpp:
77112        (WebCore::RenderLayerCompositor::frameViewDidScroll):
77113
771142012-03-20  Xiaomei Ji  <xji@chromium.org>
77115
77116        visual word movement: crashes on CSS generated content.
77117        https://bugs.webkit.org/show_bug.cgi?id=81581
77118
77119        Reviewed by Ryosuke Niwa.
77120
77121        Check for null pointer when referencing box->renderer()->node() in previousRootInlineBox and nextRootInlineBox.
77122
77123        Test: editing/selection/move-by-word-visually-crash-test-css-generated-content.html
77124
77125        * editing/visible_units.cpp:
77126        (WebCore::previousRootInlineBox):
77127        (WebCore::nextRootInlineBox):
77128
771292012-03-20  Luke Macpherson  <macpherson@chromium.org>
77130
77131        Use CSSPrimitiveValue::convertToLength() to handle CSSPropertyWebkitBoxReflect and in createGridTrackBreadth.
77132        https://bugs.webkit.org/show_bug.cgi?id=81633
77133
77134        Reviewed by Andreas Kling.
77135
77136        No new tests / refactoring only.
77137
77138        * css/CSSStyleSelector.cpp:
77139        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
77140
771412012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
77142
77143        Unreviewed, rolling out r111442.
77144        http://trac.webkit.org/changeset/111442
77145        https://bugs.webkit.org/show_bug.cgi?id=81711
77146
77147        Causes crashes and image mismatches in canvas tests (Requested
77148        by leviw on #webkit).
77149
77150        * html/HTMLCanvasElement.cpp:
77151        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
77152        (WebCore::HTMLCanvasElement::reset):
77153        (WebCore::HTMLCanvasElement::createImageBuffer):
77154        (WebCore::HTMLCanvasElement::clearCopiedImage):
77155        * html/HTMLCanvasElement.h:
77156        (HTMLCanvasElement):
77157        * html/canvas/CanvasRenderingContext2D.cpp:
77158        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D):
77159        (WebCore::CanvasRenderingContext2D::unwindStateStack):
77160        (WebCore::CanvasRenderingContext2D::reset):
77161
771622012-03-20  Adrienne Walker  <enne@google.com>
77163
77164        RenderLayerCompositor doesn't properly clip graphics layer sizes
77165        https://bugs.webkit.org/show_bug.cgi?id=80372
77166
77167        Reviewed by Simon Fraser.
77168
77169        To find the bounds for a composited layer, calculateCompositedBounds
77170        iterates through all non-composited child layers using z-order and
77171        normal flow lists. This does not preserve clipping from ancestor
77172        layers, because a clipping ancestor layer can end up as a sibling to
77173        its clipped descendent because it is not a stacking context.
77174
77175        Fix by explicitly checking cached clip roots.
77176
77177        Test: compositing/clip-child-by-non-stacking-ancestor.html
77178
77179        * rendering/RenderLayer.cpp:
77180        (WebCore::RenderLayer::localClipRect):
77181        (WebCore):
77182        * rendering/RenderLayer.h:
77183        (RenderLayer):
77184        * rendering/RenderLayerCompositor.cpp:
77185        (WebCore::RenderLayerCompositor::repaintOnCompositingChange):
77186        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
77187
771882012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
77189
77190        Unreviewed, rolling out r111445 and r111446.
77191        http://trac.webkit.org/changeset/111445
77192        http://trac.webkit.org/changeset/111446
77193        https://bugs.webkit.org/show_bug.cgi?id=81708
77194
77195        It broke Qt and GTK build intentionally (Requested by Ossy on
77196        #webkit).
77197
77198        * WebCore.exp.in:
77199        * dom/Document.cpp:
77200        (WebCore::Document::initSecurityContext):
77201        * notifications/Notification.cpp:
77202        (WebCore::Notification::Notification):
77203        * notifications/NotificationCenter.cpp:
77204        (WebCore::NotificationCenter::checkPermission):
77205        (WebCore::NotificationCenter::requestPermission):
77206        * notifications/NotificationCenter.h:
77207        (NotificationCenter):
77208        * page/SecurityOrigin.cpp:
77209        (WebCore::SecurityOrigin::toString):
77210        * page/SecurityOrigin.h:
77211        (SecurityOrigin):
77212
772132012-03-20  Adam Klein  <adamk@chromium.org>
77214
77215        Refactor ContainerNode::replaceChild to match other mutation methods and share code
77216        https://bugs.webkit.org/show_bug.cgi?id=81579
77217
77218        Reviewed by Ojan Vafai.
77219
77220        Originally landed as r111310, this fixes a bug in replaceChild
77221        introduced when switching to the insert-before logic.
77222
77223        A future change will make use of the consistency among insertBefore/appendChild/replaceChild
77224        to handle insertion of DocumentFragments more cleanly.
77225
77226        No new tests, no change in behavior.
77227
77228        * dom/ContainerNode.cpp:
77229        (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
77230        Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
77231        (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
77232        (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
77233
772342012-03-20  Jon Lee  <jonlee@apple.com>
77235
77236        Restrict access to notifications for unique origins and file URLs with no local file access
77237        https://bugs.webkit.org/show_bug.cgi?id=79704
77238        <rdar://problem/10912430>
77239
77240        Reviewed by Adam Barth.
77241
77242        Before checking or requesting permissions, we look at whether we can show notifications based on
77243        the security context. If not, we short circuit and do not forward the request to the client.
77244
77245        * notifications/Notification.cpp:
77246        (WebCore::Notification::Notification): Fix a bug where creating a notification goes through slightly
77247        different logic for checking permissions than when checking permissions through the
77248        notification center.
77249        * notifications/NotificationCenter.cpp:
77250        (WebCore::NotificationCenter::checkPermission): Check to see if the origin can show notifications.
77251        (WebCore::NotificationCenter::requestPermission): If we know whether an origin can show notifications,
77252        we asynchronously call the callback with that decision. Otherwise we ask the client.
77253
77254        Add new variable in the notification center to keep track of pending callbacks when we short-circuit
77255        requestPermission().
77256        * notifications/NotificationCenter.h:
77257        (NotificationRequestCallback): Add new private class encapsulating the callback.
77258        * notifications/NotificationCenter.cpp:
77259        (WebCore::NotificationCenter::requestTimedOut): Remove the request from the set of pending callbacks.
77260        (WebCore::NotificationCenter::NotificationRequest::createAndStartTimer): Because this is used when we already
77261        know the decision, and are not asking the client to decide, we can immediately trigger a one-shot timer
77262        to invoke the callback.
77263        (WebCore::NotificationCenter::NotificationRequest::NotificationRequest):
77264        (WebCore::NotificationCenter::NotificationRequest::startTimer):
77265        (WebCore::NotificationCenter::NotificationRequest::timerFired): Invoke the callback and tell the notification
77266        center.
77267        * page/SecurityOrigin.h: Add new toRawString() method to return the string representation of the origin,
77268        regardless of any restrictions that might otherwise cause toString() to return "null".
77269        * page/SecurityOrigin.cpp:
77270        (WebCore::SecurityOrigin::canShowNotifications): Added to return a tri-state regarding whether we know
77271        the origin can show notifications. If the origin is unique, we never let it show. If the origin has
77272        universal access, we always let it show. Otherwise the client should be asked.
77273        (WebCore::SecurityOrigin::toString): Refactor to use toRawString().
77274        (WebCore::SecurityOrigin::toRawString):
77275
77276        Added FIXME's regarding the naming of enforceFilePathSeparation().
77277        * dom/Document.cpp:
77278        (WebCore::Document::initSecurityContext): Also, tab reformatting.
77279
77280        * WebCore.exp.in: Export toRawString().
77281
772822012-03-20  Andreas Kling  <kling@webkit.org>
77283
77284        Remove unused CSSPrimitiveValue constructors.
77285        <http://webkit.org/b/81695>
77286
77287        Reviewed by Antti Koivisto.
77288
77289        Kill off CSSPrimitiveValue constructors that aren't used anywhere.
77290
77291        * css/CSSPrimitiveValue.cpp:
77292        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
77293        * css/CSSPrimitiveValue.h:
77294        (CSSPrimitiveValueBase):
77295        (WebCore::CSSPrimitiveValueBase::CSSPrimitiveValueBase):
77296        (CSSPrimitiveValue):
77297        * css/CSSPrimitiveValueMappings.h:
77298
772992012-03-20  Sami Kyostila  <skyostil@chromium.org>
77300
77301        Reuse buffer allocation if canvas size does not change
77302        https://bugs.webkit.org/show_bug.cgi?id=80871
77303
77304        Reviewed by Stephen White.
77305
77306        If the user changes the width or height attributes of a canvas element,
77307        the contents of the canvas should be cleared and the context state
77308        should be reset. This has become a common idiom to clear the canvas
77309        "efficiently" at the start of a frame.
77310
77311        Previously, this code path triggered a full reallocation of the image
77312        buffer backing the canvas, leading to reduced performance. This patch
77313        implements an optimization where we reuse the previous image buffer
77314        allocation if the size of the canvas did not change. Also, instead of
77315        clearing the canvas every time its dimensions are touched, we only clear
77316        if anything has been drawn into the canvas since it was previously
77317        cleared.
77318
77319        Note that for now this optimization only applies for 2D canvases,
77320        since it is not entirely clear how touching the dimensions of a WebGL
77321        canvas should work.
77322
77323        Test: fast/canvas/canvas-resize-after-paint-without-layout.html +
77324              existing layout tests for canvas resetting.
77325
77326        * html/HTMLCanvasElement.cpp:
77327        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
77328        (WebCore::HTMLCanvasElement::reset):
77329        (WebCore::HTMLCanvasElement::createImageBuffer):
77330        (WebCore::HTMLCanvasElement::clearImageBuffer):
77331        (WebCore):
77332        (WebCore::HTMLCanvasElement::clearCopiedImage):
77333        * html/HTMLCanvasElement.h:
77334        (HTMLCanvasElement):
77335        * html/canvas/CanvasRenderingContext2D.cpp:
77336        (WebCore::CanvasRenderingContext2D::CanvasRenderingContext2D): Save the
77337        initial graphics context state so we can restore it without creating a
77338        new context.
77339        (WebCore::CanvasRenderingContext2D::unwindStateStack):
77340        (WebCore::CanvasRenderingContext2D::reset): No need to notify the
77341        compositor when the context is reset, because clearing the image buffer
77342        does the same thing. We can also skip the notification if we did not
77343        have an image buffer at the time of the reset, because the reset will
77344        not have any visual impact in this case. Finally, if the canvas size
77345        did change, the notification is also unnecessary because of the call
77346        to RenderObject::repaint() from HTMLCanvasElement::reset().
77347
773482012-03-20  Dana Jansens  <danakj@chromium.org>
77349
77350        [chromium] Allow us to disable overdraw metrics when tracing is off
77351        https://bugs.webkit.org/show_bug.cgi?id=81431
77352
77353        Reviewed by Adrienne Walker.
77354
77355        This change allows us to disable overdraw metrics conditionally in the
77356        future with a one-line change in each LayerTreeHost class.
77357
77358        Unit test: CCQuadCullerTest.verifyWithoutMetrics
77359
77360        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
77361        (WebCore::CCLayerTreeHost::paintLayerContents):
77362        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
77363        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
77364        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
77365        (WebCore::::CCOcclusionTrackerBase):
77366        (WebCore):
77367        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
77368        (CCOcclusionTrackerBase):
77369        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
77370        (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
77371        (WebCore::CCOverdrawMetrics::didCull):
77372        (WebCore::CCOverdrawMetrics::didDraw):
77373        (WebCore::CCOverdrawMetrics::recordMetrics):
77374        * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
77375        (WebCore::CCOverdrawMetrics::create):
77376        (CCOverdrawMetrics):
77377
773782012-03-20  Robert Hogan  <robert@webkit.org>
77379
77380        Use-after-free of continuation in RenderBlock::paintContinuationOutlines()
77381        https://bugs.webkit.org/show_bug.cgi?id=81276
77382
77383        Reviewed by David Hyatt.
77384
77385        Test: fast/css/relative-positioned-block-crash.html
77386
77387        https://trac.webkit.org/changeset/108185/ allowed anonymous blocks to get their own layer (when they're
77388        relatively positioned). This broke the dependency in addContinuationWithOutline() on the owner of the continuation
77389        table and the renderer getting added to it always being in the same layer. When they're not in the same layer
77390        there's no guarantee that the owner of the continuation table will get painted again and so avoid any stale pointers
77391        in its continuation table should any of the renderers in there get destroyed.
77392
77393        Fix this for now by only adding renderers to the containing block's continuation table if we don't have our own layer.
77394        This fix causes fast/inline/continuation-outlines-with-layers.html to regress as it uses blocks inside relatively positioned
77395        inlines, so skip it on all platforms pending a medium-term fix.
77396
77397        * rendering/RenderBlock.cpp:
77398        (WebCore::RenderBlock::paintObject):
77399
774002012-03-20  Adele Peterson  <adele@apple.com>
77401
77402        "Attempt to insert nil value " exception when calling attributed string APIs on content with a custom font
77403        https://bugs.webkit.org/show_bug.cgi?id=81630
77404        <rdar://problem/10650660> 
77405
77406        Reviewed by Alexey Proskuryakov. 
77407
77408        Test: TestWebKitAPI/Tests/mac/AttributedString.mm 
77409
77410        If content is using a custom font, then the platform font will be nil and needs to be nil checked.
77411
77412        * platform/mac/HTMLConverter.mm: (+[WebHTMLConverter editingAttributedStringFromRange:]):
77413
774142012-03-20  Julien Chaffraix  <jchaffraix@webkit.org>
77415
77416        Make distributeExtraLogicalHeightToRows return the consumed logical height
77417        https://bugs.webkit.org/show_bug.cgi?id=81678
77418
77419        Reviewed by Tony Chang.
77420
77421        Small refactoring, no change in behavior.
77422
77423        * rendering/RenderTable.cpp:
77424        (WebCore::RenderTable::distributeExtraLogicalHeight):
77425        Remove the consumed logical height from the available height.
77426
77427        * rendering/RenderTableSection.cpp:
77428        (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
77429        (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
77430        (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
77431        Changed those method to not return anything but remove from the available width.
77432
77433        (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
77434        Return the consumed logical height.
77435
77436        * rendering/RenderTableSection.h:
77437        Updated the previous distribute functions signature and the comment about
77438        the returned value from distributeExtraLogicalHeightToRows.
77439
774402012-03-20  Jacky Jiang  <zhajiang@rim.com>
77441
77442        [BlackBerry] Dijit crash WebCore::CookieManager::getRawCookies
77443        https://bugs.webkit.org/show_bug.cgi?id=81686
77444
77445        Reviewed by Rob Buis.
77446
77447        HTML plugin element with an empty src caused an ASSERT failure on debug
77448        build and a crash on release build.
77449        When getting cookie, url can be null, so we need to check for it to
77450        avoid the crash.
77451
77452        No new tests as this is covered by
77453        LayoutTests/fast/loader/empty-embed-src-attribute.html.
77454
77455        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
77456        (WebCore::ResourceRequest::initializePlatformRequest):
77457
774582012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
77459
77460        Web Inspector: Tabbed pane drop down should be sorted.
77461        https://bugs.webkit.org/show_bug.cgi?id=81680
77462
77463        Reviewed by Pavel Feldman.
77464
77465        * inspector/front-end/TabbedPane.js:
77466        (WebInspector.TabbedPane.prototype._populateDropDownFromIndex.compareFunction):
77467        (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
77468
774692012-03-20  Vsevolod Vlasov  <vsevik@chromium.org>
77470
77471        Web Inspector: Open resource dialog scripts list should be sorted.
77472        https://bugs.webkit.org/show_bug.cgi?id=81682
77473
77474        Reviewed by Pavel Feldman.
77475
77476        * inspector/front-end/FilteredItemSelectionDialog.js:
77477        (WebInspector.OpenResourceDialog.compareFunction):
77478        (WebInspector.OpenResourceDialog):
77479
774802012-03-20  Dana Jansens  <danakj@chromium.org>
77481
77482        [chromium] Use opaque contents for paint culling
77483        https://bugs.webkit.org/show_bug.cgi?id=81676
77484
77485        Reviewed by Adrienne Walker.
77486
77487        UnitTest: CCLayerTreeHostTestContentLayerOcclusion
77488
77489        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
77490        (WebCore::CCLayerTreeHost::paintLayerContents):
77491
774922012-03-20  Dan Bernstein  <mitz@apple.com>
77493
77494        Build fix after r111419.
77495
77496        * dom/WebKitNamedFlow.cpp:
77497        * dom/WebKitNamedFlow.h:
77498
774992012-03-20  Dan Bernstein  <mitz@apple.com>
77500
77501        REGRESSION (r111229): css1/basic/inheritance.html is failing
77502        https://bugs.webkit.org/show_bug.cgi?id=81684
77503
77504        Reverted r111229.
77505
77506        Rubber-stamped by Dave Hyatt.
77507
77508        * dom/Document.cpp:
77509        (WebCore::Document::webkitGetFlowByName):
77510        * dom/Document.h:
77511        (Document):
77512        * dom/Element.cpp:
77513        (WebCore::Element::detach):
77514        * dom/NodeRenderingContext.cpp:
77515        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
77516        * dom/WebKitNamedFlow.cpp:
77517        (WebCore):
77518        * dom/WebKitNamedFlow.h:
77519        (WebCore):
77520        (WebKitNamedFlow):
77521        * dom/WebKitNamedFlow.idl:
77522
775232012-03-20  Vineet Chaudhary  <rgf748@motorola.com>
77524
77525        https://bugs.webkit.org/show_bug.cgi?id=80696
77526        Remove custom bindings for attribute type Array.
77527
77528        Reviewed by Kentaro Hara.
77529
77530        No new tests.
77531
77532        * bindings/js/JSConsoleCustom.cpp: Removed custom function.
77533        (WebCore):
77534        * bindings/js/JSDOMBinding.h: Added template jsArray and toNativeArray.
77535        (WebCore):
77536        (WebCore::jsArray):
77537        (WebCore::toNativeArray):
77538        * bindings/scripts/CodeGenerator.pm: Modified codegenerators to generate appropriate code.
77539        (GetArrayType): Added GetArrayType to get return type of attribute interface.
77540        * bindings/scripts/CodeGeneratorGObject.pm: Modified codegenerators to generate appropriate code.
77541        (SkipAttribute):
77542        * bindings/scripts/CodeGeneratorJS.pm: Modified codegenerators to generate appropriate code.
77543        (AddIncludesForType):
77544        (JSValueToNative):
77545        (NativeToJSValue):
77546        * bindings/scripts/CodeGeneratorV8.pm: Modified codegenerators to generate appropriate code.
77547        (GenerateNormalAttrGetter):
77548        (GenerateNormalAttrSetter):
77549        (JSValueToNative):
77550        (NativeToJSValue):
77551        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Updated results from running binding tests.
77552        (webkit_dom_test_obj_get_property):
77553        (webkit_dom_test_obj_class_init):
77554        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
77555        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
77556        (WebCore::jsTestObjSequenceAttr):
77557        (WebCore::setJSTestObjSequenceAttr):
77558        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
77559        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
77560        (WebCore::TestObjInternal::sequenceAttrAttrGetter):
77561        (WebCore::TestObjInternal::sequenceAttrAttrSetter):
77562        (WebCore::TestObjInternal::methodReturningSequenceCallback):
77563        * bindings/v8/V8Binding.h: Added template v8Array and toNativeArray.
77564        (WebCore):
77565        (WebCore::v8Array):
77566        (WebCore::toNativeArray):
77567        * bindings/v8/custom/V8ConsoleCustom.cpp: Removed custom function.
77568        (WebCore):
77569        * page/Console.idl: Replaced attribute type Array to sequence<SriptProfile> to remove
77570          custom bindings.
77571
775722012-03-20  Sheriff Bot  <webkit.review.bot@gmail.com>
77573
77574        Unreviewed, rolling out r111310.
77575        http://trac.webkit.org/changeset/111310
77576        https://bugs.webkit.org/show_bug.cgi?id=81683
77577
77578        Broke layout test
77579        dom/xhtml/level3/core/nodereplacechild30.xhtml (Requested by
77580        aklein on #webkit).
77581
77582        * dom/ContainerNode.cpp:
77583        (WebCore::ContainerNode::replaceChild):
77584        (WebCore::ContainerNode::appendChild):
77585        (WebCore::ContainerNode::parserAddChild):
77586
775872012-03-20  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
77588
77589        Convert hasSpellingMarker to use Internals interface.
77590        https://bugs.webkit.org/show_bug.cgi?id=81300
77591
77592        Reviewed by Ryosuke Niwa.
77593
77594        Remove hasSpellingMarker functions, because it is able to work in the
77595        cross-port way through the Internals interface.
77596
77597        No new tests, since we are improving here the infra-structure
77598        for testing a specific method.
77599
77600        * testing/Internals.cpp:
77601        (WebCore::Internals::hasSpellingMarker):
77602        (WebCore):
77603        * testing/Internals.h:
77604        (Internals):
77605        * testing/Internals.idl:
77606
776072012-03-20  Dan Bernstein  <mitz@apple.com>
77608
77609        Build fix.
77610
77611        * history/PageCache.cpp: Fixed an unused function warning introduced in r111391.
77612
776132012-03-20  Konrad Piascik  <kpiascik@rim.com>
77614
77615        (r110063) m_mouseDownMayStartDrag is used without being behind the ENABLE(DRAG_SUPPORT) macro
77616        https://bugs.webkit.org/show_bug.cgi?id=81666
77617
77618        Reviewed by Rob Buis.
77619
77620        Compiled with feature disabled and built.
77621
77622        * page/EventHandler.cpp:
77623        (WebCore::EventHandler::selectCursor):
77624
776252012-03-20  W. James MacLean  <wjmaclean@chromium.org>
77626
77627        [chromium] Tune fling physics curve. [Not for review yet]
77628        https://bugs.webkit.org/show_bug.cgi?id=81398
77629
77630        Reviewed by James Robinson.
77631
77632        Existing tests updated.
77633
77634        Tune physics of curve for better feel.
77635
77636        * platform/TouchFlingPlatformGestureCurve.cpp:
77637        (WebCore::TouchFlingPlatformGestureCurve::apply):
77638
776392012-03-20  Alexis Menard  <alexis.menard@openbossa.org>
77640
77641        Implement a fast path when setting CSS properties with keywords from JS.
77642        https://bugs.webkit.org/show_bug.cgi?id=80874
77643
77644        Reviewed by Antti Koivisto.
77645
77646        The idea is to avoid the creation of the CSSParser instance and to run the parser on
77647        a string we know it should be a keyword. When JS calls parseValue we try to check if we can
77648        use the fast path and if the keyword is accepted then we just add it to the declaration directly.
77649        For the sake of maintenance the parseValue function used by CSSGrammar.y is sharing some code with
77650        the fast path (keyword matching mostly).
77651
77652        This patch improves this use case by 20%. Setting keyword properties from JS is used a lot in
77653        Google Maps for example (when zooming or panning).
77654
77655        No new tests : it's a performance improvement, there shouldn't be any behavior change.
77656
77657        * css/CSSParser.cpp:
77658        (WebCore):
77659        (WebCore::isValidKeywordPropertyAndValue):
77660        (WebCore::isKeywordPropertyID):
77661        (WebCore::parseKeywordValue):
77662        (WebCore::CSSParser::parseValue):
77663
776642012-03-20  Ian Vollick  <vollick@chromium.org>
77665
77666        [chromium] Infrastructure to allow animating layers to be only partially updated
77667        https://bugs.webkit.org/show_bug.cgi?id=81106
77668
77669        Reviewed by James Robinson
77670
77671        Merged the controller tests in CCLayerAnimationControllerTest
77672
77673        * WebCore.gypi:
77674        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
77675        * platform/graphics/chromium/GraphicsLayerChromium.h:
77676        (GraphicsLayerChromium):
77677        * platform/graphics/chromium/LayerChromium.cpp:
77678        (WebCore::LayerChromium::LayerChromium):
77679        (WebCore::LayerChromium::pushPropertiesTo):
77680        (WebCore::LayerChromium::setOpacityFromAnimation):
77681        (WebCore):
77682        (WebCore::LayerChromium::setTransformFromAnimation):
77683        (WebCore::LayerChromium::addAnimation):
77684        (WebCore::LayerChromium::pauseAnimation):
77685        (WebCore::LayerChromium::removeAnimation):
77686        (WebCore::LayerChromium::suspendAnimations):
77687        (WebCore::LayerChromium::resumeAnimations):
77688        (WebCore::LayerChromium::setLayerAnimationController):
77689        (WebCore::LayerChromium::hasActiveAnimation):
77690        (WebCore::LayerChromium::setAnimationEvent):
77691        * platform/graphics/chromium/LayerChromium.h:
77692        (WebCore):
77693        (LayerChromium):
77694        (WebCore::LayerChromium::id):
77695        (WebCore::LayerChromium::opacity):
77696        (WebCore::LayerChromium::transform):
77697        (WebCore::LayerChromium::bounds):
77698        * platform/graphics/chromium/cc/CCActiveAnimation.h:
77699        (CCActiveAnimation):
77700        * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
77701        (WebCore::CCAnimationEvent::CCAnimationEvent):
77702        (WebCore::CCAnimationEvent::toFloatAnimationFinishedEvent):
77703        (WebCore::CCAnimationEvent::toTransformAnimationFinishedEvent):
77704        (WebCore::CCAnimationStartedEvent::create):
77705        (WebCore):
77706        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
77707        (WebCore::CCFloatAnimationFinishedEvent::create):
77708        (WebCore::CCFloatAnimationFinishedEvent::CCFloatAnimationFinishedEvent):
77709        (WebCore::CCFloatAnimationFinishedEvent::~CCFloatAnimationFinishedEvent):
77710        (WebCore::CCFloatAnimationFinishedEvent::type):
77711        (WebCore::CCTransformAnimationFinishedEvent::create):
77712        (WebCore::CCTransformAnimationFinishedEvent::CCTransformAnimationFinishedEvent):
77713        (WebCore::CCTransformAnimationFinishedEvent::~CCTransformAnimationFinishedEvent):
77714        (WebCore::CCTransformAnimationFinishedEvent::type):
77715        * platform/graphics/chromium/cc/CCAnimationEvents.h:
77716        (WebCore):
77717        (WebCore::CCAnimationEvent::targetProperty):
77718        (CCAnimationEvent):
77719        (CCAnimationStartedEvent):
77720        (CCFloatAnimationFinishedEvent):
77721        (WebCore::CCFloatAnimationFinishedEvent::finalValue):
77722        (CCTransformAnimationFinishedEvent):
77723        (WebCore::CCTransformAnimationFinishedEvent::finalValue):
77724        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
77725        (WebCore::CCLayerAnimationController::CCLayerAnimationController):
77726        (WebCore::CCLayerAnimationController::create):
77727        (WebCore::CCLayerAnimationController::pushAnimationUpdatesTo):
77728        (WebCore::CCLayerAnimationController::animate):
77729        (WebCore):
77730        (WebCore::CCLayerAnimationController::add):
77731        (WebCore::CCLayerAnimationController::getActiveAnimation):
77732        (WebCore::CCLayerAnimationController::hasActiveAnimation):
77733        (WebCore::CCLayerAnimationController::isAnimatingProperty):
77734        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
77735        (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
77736        (WebCore::CCLayerAnimationController::startAnimationsWaitingForNextTick):
77737        (WebCore::CCLayerAnimationController::startAnimationsWaitingForStartTime):
77738        (WebCore::CCLayerAnimationController::startAnimationsWaitingForTargetAvailability):
77739        (WebCore::CCLayerAnimationController::resolveConflicts):
77740        (WebCore::CCLayerAnimationController::purgeFinishedAnimations):
77741        (WebCore::CCLayerAnimationController::tickAnimations):
77742        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
77743        (WebCore):
77744        (CCLayerAnimationControllerClient):
77745        (WebCore::CCLayerAnimationControllerClient::~CCLayerAnimationControllerClient):
77746        (CCLayerAnimationController):
77747        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Removed.
77748        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Removed.
77749        * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h:
77750        (CCLayerAnimationDelegate):
77751        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
77752        (WebCore::CCLayerImpl::CCLayerImpl):
77753        (WebCore::CCLayerImpl::setOpacityFromAnimation):
77754        (WebCore):
77755        (WebCore::CCLayerImpl::setTransformFromAnimation):
77756        * platform/graphics/chromium/cc/CCLayerImpl.h:
77757        (CCLayerImpl):
77758        (WebCore::CCLayerImpl::id):
77759        (WebCore::CCLayerImpl::layerAnimationController):
77760        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
77761        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
77762        (WebCore::CCLayerTreeHost::updateAnimations):
77763        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
77764        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
77765        (WebCore::CCLayerTreeHost::animateLayers):
77766        (WebCore):
77767        (WebCore::CCLayerTreeHost::animateLayersRecursive):
77768        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
77769        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
77770        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
77771        (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
77772        (WebCore::CCLayerTreeHostImpl::animateLayers):
77773        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
77774        (CCLayerTreeHostImpl):
77775        * platform/graphics/chromium/cc/CCThreadProxy.h:
77776        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
77777
777782012-03-20  Ilya Tikhonovsky  <loislo@chromium.org>
77779
77780        Web Inspector: REGRESSION Detached DOM Nodes are not highlighted
77781        https://bugs.webkit.org/show_bug.cgi?id=81662
77782
77783        Reviewed by Yury Semikhatsky.
77784
77785        * inspector/front-end/HeapSnapshot.js:
77786        (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
77787
777882012-03-20  Gavin Peters  <gavinp@chromium.org>
77789
77790        New PageCache histogram for tracking the highest leverage frame reject reasons.
77791        https://bugs.webkit.org/show_bug.cgi?id=81358
77792
77793        Reviewed by Adam Barth.
77794
77795        The current chromium FrameClientImpl always denies page cache; but
77796        that's easily fixable.  This histogram tracks which rejection
77797        causes occur alone with that cause.  I'm particularly interested
77798        in knowing how many more pages would work in the page cache if we
77799        could get plugins in.
77800
77801        * history/PageCache.cpp:
77802        (WebCore::logCanCachePageDecision):
77803
778042012-03-15  Pavel Podivilov  <podivilov@chromium.org>
77805
77806        Web Inspector: support inline source maps.
77807        https://bugs.webkit.org/show_bug.cgi?id=81248
77808
77809        - support optional map.sourcesContent array with sources content
77810        - support data: url as script sourceMapURL, e.g. "//@ sourceMappingURL=data:application/json;base64,<base64-encoded map>"
77811
77812        Reviewed by Pavel Feldman.
77813
77814        * inspector/front-end/CompilerSourceMapping.js:
77815        (WebInspector.ClosureCompilerSourceMapping):
77816        (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
77817        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
77818        (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
77819
778202012-03-20  Pavel Feldman  <pfeldman@chromium.org>
77821
77822        Web Inspector: treat Uint* external arrays as arrays in console.
77823        https://bugs.webkit.org/show_bug.cgi?id=81653
77824
77825        Reviewed by Yury Semikhatsky.
77826
77827        * bindings/js/JSInjectedScriptHostCustom.cpp:
77828        (WebCore::JSInjectedScriptHost::type):
77829        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
77830        (WebCore::V8InjectedScriptHost::typeCallback):
77831
778322012-03-20  Andreas Kling  <kling@webkit.org>
77833
77834        Let CSSImageValue inherit directly from CSSValue.
77835        <http://webkit.org/b/81635>
77836
77837        Reviewed by Antti Koivisto.
77838
77839        This removes the last of the CSSPrimitiveValue subclasses, which will
77840        open up the class to heavier refactoring.
77841
77842        Those CSSImageValues that used to represent the 'none' value are now
77843        simply created as CSSPrimitiveValue identifiers by the parser.
77844
77845        Test: fast/css/image-value-type.html
77846
77847        * css/CSSCursorImageValue.cpp:
77848        (WebCore::CSSCursorImageValue::~CSSCursorImageValue):
77849        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
77850        (WebCore::CSSCursorImageValue::cachedImage):
77851        * css/CSSImageValue.cpp:
77852        (WebCore::CSSImageValue::CSSImageValue):
77853        (WebCore::CSSImageValue::cachedOrPendingImage):
77854        (WebCore::CSSImageValue::cachedImage):
77855        (WebCore::CSSImageValue::customCssText):
77856        * css/CSSImageValue.h:
77857        (WebCore::CSSImageValue::url):
77858        * css/CSSParser.cpp:
77859        (WebCore::CSSParser::parseValue):
77860        (WebCore::CSSParser::parseFillImage):
77861        (WebCore::CSSParser::parseBorderImage):
77862        * css/CSSStyleApplyProperty.cpp:
77863        (WebCore::ApplyPropertyCursor::applyValue):
77864        * css/CSSStyleSelector.cpp:
77865        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
77866        * css/CSSValue.h:
77867        (WebCore::CSSValue::isPrimitiveValue):
77868
778692012-03-20  Pavel Feldman  <pfeldman@chromium.org>
77870
77871        Web Inspector: call .length as the last check when detecting arrays.
77872        https://bugs.webkit.org/show_bug.cgi?id=81335
77873
77874        Reviewed by Yury Semikhatsky.
77875
77876        * inspector/InjectedScriptSource.js:
77877
778782012-03-20  Alexander Pavlov  <apavlov@chromium.org>
77879
77880        Web Inspector: newly added CSS rules shouldn't rewrite HTML content in the resources panel
77881        https://bugs.webkit.org/show_bug.cgi?id=81414
77882
77883        Reviewed by Vsevolod Vlasov.
77884
77885        * inspector/front-end/CSSStyleModel.js:
77886        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged.setContent):
77887        (WebInspector.CSSStyleModelResourceBinding.prototype._styleSheetChanged):
77888
778892012-03-20  Yury Semikhatsky  <yurys@chromium.org>
77890
77891        Web Inspector: provide class name filter for "comparison" view in heap profiler
77892        https://bugs.webkit.org/show_bug.cgi?id=81641
77893
77894        Class name filtering now works for both Summary and Comparison views.
77895
77896        Reviewed by Pavel Feldman.
77897
77898        * inspector/front-end/DetailedHeapshotView.js:
77899        (WebInspector.DetailedHeapshotView.prototype._createToolbarWithClassNameFilter):
77900        (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
77901        * inspector/front-end/heapProfiler.css:
77902        (.detailed-heapshot-view .class-view-grid):
77903        (.detailed-heapshot-view .class-view-toolbar):
77904        (.detailed-heapshot-view .class-view-toolbar input.class-name-filter):
77905
779062012-03-20  Nikolas Zimmermann  <nzimmermann@rim.com>
77907
77908        Make animVal support type-safe
77909        https://bugs.webkit.org/show_bug.cgi?id=81640
77910
77911        Reviewed by Antti Koivisto.
77912
77913        Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
77914
77915        Redesign animVal support in a type-safe fashion, avoiding the SVGGenericAnimatedType
77916        and associated reinterpret_casts, which require all call-sites to assure that the
77917        types are safe to cast, before actually calling the method.
77918
77919        Remove pure virtual animationStarted/Ended/ValueWillChange/ValueDidChange & currentBaseValueVariant methods from SVGAnimatedProperty,
77920        and de-virtualize them in classes that inherit from SVGAnimatedProperty, like SVGAnimatedPropertyTearOff, etc.
77921
77922        Add startAnimValAnimation/stopAnimValAnimation/resetAnimValToBaseVal/animValWillChange/animVallDidChange methods to all
77923        SVGAnimatedXXXAnimator classes that currently support animVal (SVGAnimatedLength/LengthList/Number(OptionalNumber)/NumberList/TransformList).
77924        Those SVGAnimatedLengthAnimator can cast the generic SVGAnimatedProperty* associated with a certain SVG DOM property, to the real type
77925        eg. SVGAnimatedLength (which is a SVGAnimatedPropertyTearOff<SVGLength>). This way we can call those methods, without relying on virtual
77926        function calls. Also it makes the "SVGGenericAnimatedType* currentBaseValueVariant()" accessor needless, as we can just call the method
77927        right on eg. the SVGAnimatedLength, which gives us the "const SVGLength&" object, instead of a generic pointer type, that we have to
77928        reinterpret_cast to some hopefully-matching expected type. The new approach is truly type-safey, but needs a bit more boilerplate code.
77929
77930        To reduce the amount of copy&paste across the SVGAnimatedXXXAnimator classes, all code is placed in template functions in
77931        SVGAnimatedTypeAnimator.h, which can be shared across all SVGAnimatedXXXAnimator classes, that inherit from SVGAnimatedTypeAnimator.
77932
77933        Test: svg/animations/force-use-shadow-tree-recreation-while-animating.html
77934
77935        * svg/SVGAnimateElement.cpp:
77936        (WebCore::SVGAnimateElement::calculateAnimatedValue):
77937        (WebCore::SVGAnimateElement::resetToBaseValue):
77938        (WebCore::SVGAnimateElement::applyResultsToTarget):
77939        (WebCore):
77940        (WebCore::SVGAnimateElement::targetElementWillChange):
77941        * svg/SVGAnimatedLength.cpp:
77942        (WebCore::SVGAnimatedLengthAnimator::startAnimValAnimation):
77943        (WebCore::SVGAnimatedLengthAnimator::stopAnimValAnimation):
77944        (WebCore):
77945        (WebCore::SVGAnimatedLengthAnimator::resetAnimValToBaseVal):
77946        (WebCore::SVGAnimatedLengthAnimator::animValWillChange):
77947        (WebCore::SVGAnimatedLengthAnimator::animValDidChange):
77948        * svg/SVGAnimatedLength.h:
77949        (WebCore):
77950        (SVGAnimatedLengthAnimator):
77951        * svg/SVGAnimatedLengthList.cpp:
77952        (WebCore::SVGAnimatedLengthListAnimator::startAnimValAnimation):
77953        (WebCore::SVGAnimatedLengthListAnimator::stopAnimValAnimation):
77954        (WebCore):
77955        (WebCore::SVGAnimatedLengthListAnimator::resetAnimValToBaseVal):
77956        (WebCore::SVGAnimatedLengthListAnimator::animValWillChange):
77957        (WebCore::SVGAnimatedLengthListAnimator::animValDidChange):
77958        * svg/SVGAnimatedLengthList.h:
77959        (WebCore):
77960        (SVGAnimatedLengthListAnimator):
77961        * svg/SVGAnimatedNumber.cpp:
77962        (WebCore::SVGAnimatedNumberAnimator::startAnimValAnimation):
77963        (WebCore::SVGAnimatedNumberAnimator::stopAnimValAnimation):
77964        (WebCore):
77965        (WebCore::SVGAnimatedNumberAnimator::resetAnimValToBaseVal):
77966        (WebCore::SVGAnimatedNumberAnimator::animValWillChange):
77967        (WebCore::SVGAnimatedNumberAnimator::animValDidChange):
77968        * svg/SVGAnimatedNumber.h:
77969        (WebCore):
77970        (SVGAnimatedNumberAnimator):
77971        * svg/SVGAnimatedNumberList.cpp:
77972        (WebCore::SVGAnimatedNumberListAnimator::startAnimValAnimation):
77973        (WebCore::SVGAnimatedNumberListAnimator::stopAnimValAnimation):
77974        (WebCore):
77975        (WebCore::SVGAnimatedNumberListAnimator::resetAnimValToBaseVal):
77976        (WebCore::SVGAnimatedNumberListAnimator::animValWillChange):
77977        (WebCore::SVGAnimatedNumberListAnimator::animValDidChange):
77978        * svg/SVGAnimatedNumberList.h:
77979        (WebCore):
77980        (SVGAnimatedNumberListAnimator):
77981        * svg/SVGAnimatedNumberOptionalNumber.cpp:
77982        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::startAnimValAnimation):
77983        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::stopAnimValAnimation):
77984        (WebCore):
77985        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimValToBaseVal):
77986        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValWillChange):
77987        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::animValDidChange):
77988        * svg/SVGAnimatedNumberOptionalNumber.h:
77989        (WebCore):
77990        (SVGAnimatedNumberOptionalNumberAnimator):
77991        * svg/SVGAnimatedTransformList.cpp:
77992        (WebCore::SVGAnimatedTransformListAnimator::startAnimValAnimation):
77993        (WebCore):
77994        (WebCore::SVGAnimatedTransformListAnimator::stopAnimValAnimation):
77995        (WebCore::SVGAnimatedTransformListAnimator::resetAnimValToBaseVal):
77996        (WebCore::SVGAnimatedTransformListAnimator::animValWillChange):
77997        (WebCore::SVGAnimatedTransformListAnimator::animValDidChange):
77998        * svg/SVGAnimatedTransformList.h:
77999        (WebCore):
78000        (SVGAnimatedTransformListAnimator):
78001        * svg/SVGAnimatedType.h:
78002        (WebCore):
78003        * svg/SVGAnimatedTypeAnimator.h:
78004        (WebCore):
78005        (SVGAnimatedTypeAnimator):
78006        (WebCore::SVGAnimatedTypeAnimator::startAnimValAnimation):
78007        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimation):
78008        (WebCore::SVGAnimatedTypeAnimator::resetAnimValToBaseVal):
78009        (WebCore::SVGAnimatedTypeAnimator::animValWillChange):
78010        (WebCore::SVGAnimatedTypeAnimator::animValDidChange):
78011        (WebCore::SVGAnimatedTypeAnimator::findAnimatedPropertiesForAttributeName):
78012        (WebCore::SVGAnimatedTypeAnimator::startAnimation):
78013        (WebCore::SVGAnimatedTypeAnimator::stopAnimValAnimationForType):
78014        (WebCore::SVGAnimatedTypeAnimator::animValDidChangeForType):
78015        (WebCore::SVGAnimatedTypeAnimator::animValWillChangeForType):
78016        (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
78017        (WebCore::SVGAnimatedTypeAnimator::resetFromOneBaseValue):
78018        (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
78019        (WebCore::SVGAnimatedTypeAnimator::resetFromTwoBaseValues):
78020        (WebCore::SVGAnimatedTypeAnimator::castAnimatedPropertyToActualType):
78021        (WebCore::SVGAnimatedTypeAnimator::collectAnimatedPropertiesFromInstances):
78022        * svg/SVGAnimationElement.cpp:
78023        (WebCore::SVGAnimationElement::applyAnimatedValue):
78024        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
78025        * svg/SVGAnimationElement.h:
78026        (SVGAnimationElement):
78027        * svg/SVGElementInstance.cpp:
78028        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement):
78029        (WebCore::SVGElementInstance::InstanceUpdateBlocker::InstanceUpdateBlocker):
78030        (WebCore):
78031        (WebCore::SVGElementInstance::InstanceUpdateBlocker::~InstanceUpdateBlocker):
78032        * svg/SVGElementInstance.h:
78033        (WebCore):
78034        (InstanceUpdateBlocker):
78035        (SVGElementInstance):
78036        * svg/properties/SVGAnimatedListPropertyTearOff.h:
78037        (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
78038        (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
78039        (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
78040        (WebCore::SVGAnimatedListPropertyTearOff::animValWillChange):
78041        (WebCore::SVGAnimatedListPropertyTearOff::animValDidChange):
78042        * svg/properties/SVGAnimatedProperty.h:
78043        (WebCore):
78044        * svg/properties/SVGAnimatedPropertyTearOff.h:
78045        (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue):
78046        (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
78047        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
78048        (WebCore::SVGAnimatedPropertyTearOff::animValWillChange):
78049        (WebCore::SVGAnimatedPropertyTearOff::animValDidChange):
78050        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
78051        (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
78052        (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
78053        (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
78054        (WebCore::SVGAnimatedStaticPropertyTearOff::animValWillChange):
78055        (WebCore::SVGAnimatedStaticPropertyTearOff::animValDidChange):
78056
780572012-03-20  Mihnea Ovidenie  <mihnea@adobe.com>
78058
78059        [CSSRegions]Implement NamedFlow::getRegionsByContentNode
78060        https://bugs.webkit.org/show_bug.cgi?id=77746
78061
78062        Reviewed by David Hyatt.
78063
78064        The list of regions returned is a static node list.
78065
78066        Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
78067               fast/regions/get-regions-by-content-node-horiz-tb.html
78068               fast/regions/get-regions-by-content-node-vert-lr.html
78069               fast/regions/get-regions-by-content-node-vert-rl.html
78070               fast/regions/get-regions-by-content-node.html
78071               fast/regions/get-regions-by-content-node2.html
78072
78073        * dom/WebKitNamedFlow.cpp:
78074        (WebCore::WebKitNamedFlow::getRegionsByContentNode):
78075        (WebCore):
78076        * dom/WebKitNamedFlow.h:
78077        (WebKitNamedFlow):
78078        * dom/WebKitNamedFlow.idl:
78079        * rendering/RenderFlowThread.cpp:
78080        (WebCore::RenderFlowThread::regionInRange):
78081        (WebCore):
78082        (WebCore::RenderFlowThread::objectInFlowRegion):
78083        * rendering/RenderFlowThread.h:
78084        * rendering/RenderRegion.h:
78085        (WebCore::RenderRegion::flowThread):
78086
780872012-03-20  Luke Macpherson  <macpherson@chromium.org>
78088
78089        Remove min and max parameters from CSSPrimitiveValue's roundForImpreciseConversion function.
78090        https://bugs.webkit.org/show_bug.cgi?id=81629
78091
78092        Reviewed by Andreas Kling.
78093
78094        No new tests / refactoring only.
78095
78096        * css/CSSPrimitiveValue.cpp:
78097        (WebCore::CSSPrimitiveValue::computeLength):
78098        * css/CSSPrimitiveValue.h:
78099        (WebCore::roundForImpreciseConversion):
78100        * rendering/style/RenderStyle.h:
78101        (WebCore::adjustForAbsoluteZoom):
78102
781032012-03-20  Jason Liu  <jason.liu@torchmobile.com.cn>
78104
78105        [BlackBerry]Cookies shouldn't be set into each of webcore's request and platform's request. And this makes a regression.
78106        https://bugs.webkit.org/show_bug.cgi?id=80800
78107
78108        FrameLoaderClientBlackBerry::dispatchWillSendRequest sets cookies to resourceRequest's header
78109        list to show cookies in inspector. And NetworkManager::startJob will set cookies to platformRequest's
78110        m_cookieData again. So cookies are set two times. This causes performance issue.
78111
78112        Moreover, platformRequest will copy cookies from the resourceRequest. And then platformRequest has
78113        the same cookies in its header list and m_cookieData. Network will use header list's cookies which
78114        are output as latin1 only. This causes the regression of https://bugs.webkit.org/show_bug.cgi?id=80307.
78115
78116        Now, set cookies in initializePlatformRequest to ensure setting cookies only once.
78117
78118        Reviewed by George Staikos.
78119
78120        Test: http/tests/cookies/resources/setUtf8Cookies.php
78121
78122        * platform/network/blackberry/NetworkManager.cpp:
78123        (WebCore::NetworkManager::startJob):
78124        * platform/network/blackberry/ResourceRequest.h:
78125        (ResourceRequest):
78126        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
78127        (WebCore::ResourceRequest::initializePlatformRequest):
78128
781292012-03-19  Benjamin Poulain  <bpoulain@apple.com>
78130
78131        Build fix for Debug build after r111358
78132
78133        Unreviewed.
78134
78135        * bindings/js/CachedScriptSourceProvider.h:
78136        * bindings/js/StringSourceProvider.h:
78137
781382012-03-19  Emil A Eklund  <eae@chromium.org>
78139
78140        Add FractionalLayoutUnit version of blend to AnimationUtilities
78141        https://bugs.webkit.org/show_bug.cgi?id=81572
78142
78143        Reviewed by Eric Seidel.
78144        
78145        Add version of blend method that operates on FractionalLayoutUnits. This
78146        will be used in place of the integer version in many places once we
78147        enable support for subpixel layout.
78148
78149        No new tests.
78150
78151        * platform/FractionalLayoutUnit.h:
78152        Include math.h to make GTK build happy.
78153
78154        * platform/animation/AnimationUtilities.h:
78155        (WebCore::blend):
78156
781572012-03-19  Adam Barth  <abarth@webkit.org>
78158
78159        Remove support for "magic" iframe
78160        https://bugs.webkit.org/show_bug.cgi?id=81590
78161
78162        Reviewed by Eric Seidel.
78163
78164        This patch removes support for "magic" iframe, which previously allowed
78165        an iframe to be transfered from one document to another without
78166        reloading the iframe.  The idea behind this feature was to let sites
78167        create "pop out" windows that could outlive their parents by
78168        transfering state to these windows via these magic iframes.
78169
78170        Unforuntately, this feature was never implemented by other browsers and
78171        has been the source of a series of security vulnerabilities.  Although
78172        we have fixed each vulnerability as it has been discovered, the feature
78173        is still a complex corner case that isn't widely exercised on the web.
78174        For that reason, it's likely to have more vulnerabilities in the
78175        future.
78176
78177        I'm not aware of any web sites that use this feature anymore.  There
78178        were a handful of them, but we appear to have been successful in
78179        evangalizing them to move away from "magic" iframe.
78180
78181        * dom/Document.cpp:
78182        (WebCore::Document::adoptNode):
78183        * html/HTMLFrameElementBase.cpp:
78184        (WebCore):
78185        (WebCore::HTMLFrameElementBase::HTMLFrameElementBase):
78186        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
78187        * html/HTMLFrameElementBase.h:
78188        (HTMLFrameElementBase):
78189        * loader/DocumentLoader.cpp:
78190        (WebCore):
78191        * loader/DocumentLoader.h:
78192        (DocumentLoader):
78193        * loader/EmptyClients.h:
78194        (WebCore::EmptyFrameLoaderClient::createFrame):
78195        * loader/FrameLoader.cpp:
78196        (WebCore):
78197        * loader/FrameLoader.h:
78198        (FrameLoader):
78199        * loader/FrameLoaderClient.h:
78200        (FrameLoaderClient):
78201        * loader/ResourceLoadNotifier.cpp:
78202        (WebCore):
78203        * loader/ResourceLoadNotifier.h:
78204        (ResourceLoadNotifier):
78205        * page/Frame.cpp:
78206        (WebCore):
78207        * page/Frame.h:
78208        (Frame):
78209
782102012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
78211
78212        REGRESSION(r110072): Improper repainting on table with overflow: hidden
78213        https://bugs.webkit.org/show_bug.cgi?id=81460
78214
78215        Reviewed by Simon Fraser.
78216
78217        Test: fast/repaint/table-hover-on-link.html
78218
78219        * rendering/RenderTable.cpp:
78220        (WebCore::RenderTable::layout): Add a call to RenderBlock::updateCachedSizeForOverflowClip
78221        so that we properly keep our cached size up to date. This fixes the problem for now but the
78222        real solution is to make sure it is called on all classes that needs to. This is tracked by
78223        bug 81461.
78224
782252012-03-19  Pablo Flouret  <pablof@motorola.com>
78226
78227        Add support for crossorigin attribute in script elements
78228        https://bugs.webkit.org/show_bug.cgi?id=81438
78229
78230        Reviewed by Adam Barth.
78231
78232        Works similarly to img and its crossorigin attribute. In the future it
78233        could allow for things like showing full error messages in error
78234        handlers, etc.
78235
78236        Tests: http/tests/security/script-crossorigin-loads-correctly.html
78237               http/tests/security/script-crossorigin-loads-same-origin.html
78238               http/tests/security/script-with-failed-cors-check-fails-to-load.html
78239
78240        * dom/ScriptElement.cpp:
78241        (WebCore::ScriptElement::ScriptElement):
78242        (WebCore::ScriptElement::requestScript):
78243        (WebCore::ScriptElement::notifyFinished):
78244        * dom/ScriptElement.h:
78245        (ScriptElement):
78246        * html/HTMLScriptElement.idl:
78247
782482012-03-19  Benjamin Poulain  <benjamin@webkit.org>
78249
78250        Do not copy the script source in the SourceProvider, just reference the existing string
78251        https://bugs.webkit.org/show_bug.cgi?id=81466
78252
78253        Reviewed by Geoffrey Garen.
78254
78255        Instead of creating a copy of the string with 16bits characters, we just return
78256        a shared StringImpl.
78257
78258        * bindings/js/CachedScriptSourceProvider.h:
78259        * bindings/js/StringSourceProvider.h:
78260
782612012-03-19  Dana Jansens  <danakj@chromium.org>
78262
78263        A quick early-out for Region::contains() test
78264        https://bugs.webkit.org/show_bug.cgi?id=81625
78265
78266        Reviewed by Anders Carlsson.
78267
78268        If the bounds of region B include a row/column that is outside the bounds of
78269        region A, then region B contains a pixel within that row/column that is
78270        outside of region A.
78271
78272        * platform/graphics/Region.cpp:
78273        (WebCore::Region::contains):
78274
782752012-03-19  Eric Seidel  <eric@webkit.org>
78276
78277        Unreviewed attempt to fix the EFL build.
78278
78279        * platform/graphics/efl/IconEfl.cpp:
78280
782812012-03-19  Eric Seidel  <eric@webkit.org>
78282
78283        Fix more WTF header include paths in WebCore
78284        https://bugs.webkit.org/show_bug.cgi?id=81602
78285
78286        Reviewed by Martin Robinson.
78287
78288        Chromium, Mac and Win already build w/o including wtf subdirectories
78289        in their include paths for WebCore/WebKit.  Gtk, Qt, and other ports
78290        should eventually do the same.  This patch fixes up a few loose
78291        wtf includes in these ports using some search/replace across WebCore.
78292        If the EWS bots pass this patch doesn't really need any other review.
78293
78294        * accessibility/gtk/AXObjectCacheAtk.cpp:
78295        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
78296        * platform/KURL.cpp:
78297        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
78298        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
78299        * platform/audio/gtk/AudioBusGtk.cpp:
78300        * platform/clutter/GRefPtrClutter.h:
78301        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
78302        * platform/graphics/gstreamer/ImageGStreamerCairo.cpp:
78303        * platform/graphics/gstreamer/ImageGStreamerQt.cpp:
78304        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
78305        * platform/graphics/gtk/ImageBufferGtk.cpp:
78306        * platform/graphics/pango/FontPango.cpp:
78307        * platform/graphics/qt/ImageBufferDataQt.h:
78308        * platform/graphics/wx/ImageBufferDataWx.h:
78309        * platform/gtk/ContextMenuGtk.cpp:
78310        * platform/gtk/ContextMenuItemGtk.cpp:
78311        * platform/gtk/FileSystemGtk.cpp:
78312        * platform/gtk/GOwnPtrGtk.h:
78313        * platform/gtk/GtkAuthenticationDialog.h:
78314        * platform/gtk/GtkPopupMenu.cpp:
78315        * platform/gtk/LanguageGtk.cpp:
78316        * platform/gtk/LocalizedStringsGtk.cpp:
78317        * platform/gtk/PopupMenuGtk.cpp:
78318        * platform/gtk/RenderThemeGtk.cpp:
78319        * platform/gtk/RenderThemeGtk.h:
78320        * platform/network/soup/GOwnPtrSoup.h:
78321        * platform/network/soup/ResourceRequestSoup.cpp:
78322        * platform/network/soup/ResourceResponseSoup.cpp:
78323        * platform/network/soup/SocketStreamHandle.h:
78324        * platform/network/soup/SoupURIUtils.cpp:
78325        * platform/text/TextEncoding.cpp:
78326        * platform/text/gtk/TextBreakIteratorGtk.cpp:
78327        * platform/text/gtk/TextCodecGtk.cpp:
78328        * platform/text/gtk/TextCodecGtk.h:
78329
783302012-03-19  Julien Chaffraix  <jchaffraix@webkit.org>
78331
78332        Move the extra logical height distribution into RenderTable as a new step in our layout algorithm
78333        https://bugs.webkit.org/show_bug.cgi?id=81548
78334
78335        Reviewed by Tony Chang.
78336
78337        Refactoring, no expected change in behavior.
78338
78339        Moving the distribution step into RenderTable is needed to implement a better distribution algorithm that would
78340        span several RenderTableSection (which is what IE and FF are doing right now).
78341
78342        * rendering/RenderTable.cpp:
78343        (WebCore::RenderTable::distributeExtraLogicalHeight):
78344        (WebCore::RenderTable::layout):
78345        Moved the distribution step into distributeExtraLogicalHeight. While at it, changed the code to make use of the helper
78346        methods to iterate over the sections and explicitly floor the LayoutUnit before calling distributeExtraLogicalHeight.
78347
78348        * rendering/RenderTable.h:
78349        Added distributeExtraLogicalHeight.
78350
78351        * rendering/RenderTableSection.cpp:
78352        (WebCore::RenderTableSection::layoutRows):
78353        Changed the method signature as it doesn't handle the distribution step anymore.
78354
78355        * rendering/RenderTableSection.h:
78356        Updated layoutRows signature and exposed distributeExtraLogicalHeightToRows for RenderTable use.
78357
783582012-03-19  Anders Carlsson  <andersca@apple.com>
78359
78360        Another attempt at fixing the Windows build.
78361
78362        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
78363        (WebCore::LayerClient::platformCALayerDeviceScaleFactor):
78364
783652012-03-19  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
78366
78367        [EFL] Fix build break because of PlatformString.h
78368        https://bugs.webkit.org/show_bug.cgi?id=81619
78369
78370        Unreviewed. Fix build break because of PlatformString.h.
78371
78372        * platform/graphics/efl/IconEfl.cpp: Include PlatformString.h from text directory.
78373
783742012-03-19  Eric Seidel  <eric@webkit.org>
78375
78376        Fix CrWin build after r111258.
78377        https://bugs.webkit.org/show_bug.cgi?id=81281
78378
78379        Unreviewed build fix.
78380        I also fixed similarly incorrect wtf/ includes for other ports
78381        (which aren't yet as strict as Chromium about wtf includes).
78382
78383        * platform/blackberry/CookieManager.cpp:
78384        * platform/blackberry/CookieParser.cpp:
78385        * platform/blackberry/ParsedCookie.cpp:
78386        * platform/blackberry/SharedTimerBlackBerry.cpp:
78387        * platform/graphics/qt/GraphicsLayerQt.cpp:
78388        * platform/graphics/texmap/TextureMapperAnimation.cpp:
78389        * rendering/RenderThemeChromiumWin.cpp:
78390        (WebCore):
78391
783922012-03-19  Eric Seidel  <eric@webkit.org>
78393
78394        Fix CrWin build after r111258.
78395        https://bugs.webkit.org/show_bug.cgi?id=81281
78396
78397        Unreviewed build fix.
78398
78399        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
78400        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
78401        * platform/graphics/texmap/TextureMapperAnimation.h:
78402
784032012-03-19  Tony Chang  <tony@chromium.org>
78404
78405        add css parsing of flex-line-pack
78406        https://bugs.webkit.org/show_bug.cgi?id=81427
78407
78408        Reviewed by Ojan Vafai.
78409
78410        Spec: http://dev.w3.org/csswg/css3-flexbox/#flex-line-pack
78411
78412        Updated tests in css3/flexbox/css-properties.html
78413
78414        * css/CSSComputedStyleDeclaration.cpp:
78415        (WebCore):
78416        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
78417        * css/CSSParser.cpp:
78418        (WebCore::CSSParser::parseValue):
78419        * css/CSSPrimitiveValueMappings.h:
78420        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
78421        (WebCore):
78422        (WebCore::CSSPrimitiveValue::operator EFlexLinePack):
78423        * css/CSSProperty.cpp:
78424        (WebCore::CSSProperty::isInheritedProperty):
78425        * css/CSSPropertyNames.in:
78426        * css/CSSStyleApplyProperty.cpp:
78427        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
78428        * css/CSSStyleSelector.cpp:
78429        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
78430        * css/CSSValueKeywords.in:
78431        * rendering/style/RenderStyle.h:
78432        * rendering/style/RenderStyleConstants.h:
78433        * rendering/style/StyleFlexibleBoxData.cpp:
78434        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
78435        (WebCore::StyleFlexibleBoxData::operator==):
78436        * rendering/style/StyleFlexibleBoxData.h:
78437        (StyleFlexibleBoxData):
78438
784392012-03-19  Gustavo Noronha Silva  <gns@gnome.org>
78440
78441        [GTK] libWebCore.la has become too big for make
78442        https://bugs.webkit.org/show_bug.cgi?id=81582
78443
78444        Unreviewed build fix.
78445
78446        * GNUmakefile.am: build an intermediate library for modules, so that the list
78447        of source files used to build WebCore can be split and not reach make's limits;
78448        also try to force relinking libWebCore.la and libWebCoreModules.la when the
78449        GNUmakefile.am or GNUmakefile.list.am change
78450
784512012-03-19  Dana Jansens  <danakj@chromium.org>
78452
78453        [chromium] Push culled tiles that are prepainted
78454        https://bugs.webkit.org/show_bug.cgi?id=81552
78455
78456        Reviewed by Adrienne Walker.
78457
78458        If a tile was culled during paint, but then prepainted in the following
78459        idle paint pass, it was still marked as culled (and thus dirty) and not
78460        pushed to the impl side.
78461
78462        Renames tile->m_updateCulled to tile->m_updated. This value is true if
78463        the tile is updated any time during a commit, and remains false if it
78464        is culled every time the layer is painted.
78465
78466        Unit test: TiledLayerChromiumTest.pushIdlePaintedOccludedTiles
78467
78468        * platform/graphics/chromium/TiledLayerChromium.cpp:
78469        (WebCore::UpdatableTile::isDirtyForCurrentFrame):
78470        (UpdatableTile):
78471        (WebCore::UpdatableTile::UpdatableTile):
78472        (WebCore::TiledLayerChromium::updateCompositorResources):
78473        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
78474        (WebCore::TiledLayerChromium::resetUpdateState):
78475
784762012-03-19  Anders Carlsson  <andersca@apple.com>
78477
78478        Fix Snow Leopard build.
78479
78480        * platform/graphics/ca/mac/TileCache.mm:
78481        (WebCore::TileCache::createTileLayer):
78482
784832012-03-19  Michal Mocny  <mmocny@google.com>
78484
78485        [chromium] Adding support for GL_EXT_discard_framebuffer.
78486        https://bugs.webkit.org/show_bug.cgi?id=81383
78487
78488        Reviewed by James Robinson.
78489
78490        * platform/graphics/chromium/Extensions3DChromium.h:
78491
784922012-03-19  Adam Klein  <adamk@chromium.org>
78493
78494        Refactor ContainerNode::replaceChild to match other mutation methods and share code
78495        https://bugs.webkit.org/show_bug.cgi?id=81579
78496
78497        Reviewed by Ojan Vafai.
78498
78499        A future change will make use of the consistency among insertBefore/appendChild/replaceChild
78500        to handle insertion of DocumentFragments more cleanly.
78501
78502        No new tests, no change in behavior.
78503
78504        * dom/ContainerNode.cpp:
78505        (WebCore::ContainerNode::replaceChild): Use collectTargetNodes rather than walking through DocumentFragment children.
78506        Insert before rather than inserting after. Dispatch to other methods to update parent/sibling pointers.
78507        (WebCore::ContainerNode::appendChild): Call appendChildToContainer to update parent/sibling pointers.
78508        (WebCore::ContainerNode::parserAddChild): Use type inference in call to appendChildToContainer.
78509
785102012-03-19  Ian Vollick  <vollick@chromium.org>
78511
78512        [chromium] Times in the cc should be expressed in seconds.
78513        https://bugs.webkit.org/show_bug.cgi?id=80514
78514
78515        Reviewed by James Robinson.
78516
78517        Updated timer tests to use seconds.
78518
78519        * platform/TouchFlingPlatformGestureCurve.h:
78520        (TouchFlingPlatformGestureCurve):
78521        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
78522        (WebCore::CCActiveGestureAnimation::animate):
78523        * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
78524        (CCActiveGestureAnimation):
78525        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
78526        (WebCore::CCDelayBasedTimeSource::create):
78527        (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
78528        (WebCore::CCDelayBasedTimeSource::setActive):
78529        (WebCore::CCDelayBasedTimeSource::onTimerFired):
78530        (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
78531        (WebCore):
78532        (WebCore::CCDelayBasedTimeSource::postNextTickTask):
78533        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
78534        (CCDelayBasedTimeSource):
78535        * platform/graphics/chromium/cc/CCGestureCurve.h:
78536        (CCGestureCurve):
78537        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
78538        (WTF):
78539        (WebCore::CCThreadProxy::beginContextRecreation):
78540        (WebCore::CCThreadProxy::tryToRecreateContext):
78541        (WebCore::CCThreadProxy::initializeImplOnImplThread):
78542        * platform/graphics/chromium/cc/CCTimer.cpp:
78543        (WebCore::CCTimer::startOneShot):
78544        * platform/graphics/chromium/cc/CCTimer.h:
78545        (CCTimer):
78546
785472012-03-19  Florin Malita  <fmalita@google.com>
78548
78549        Relative-height block SVG root not layed out on container height change
78550        https://bugs.webkit.org/show_bug.cgi?id=81513
78551
78552        Reviewed by Dirk Schulze.
78553
78554        Tests: svg/custom/svg-percent-scale-block-expected.html
78555               svg/custom/svg-percent-scale-block.html
78556
78557        A couple of places still have style()->logical{Min,Max,}Height percent checks,
78558        which do not work for SVG elements. This patch adds a virtual hasRelativeLogicalHeight()
78559        RenderBox method to replace the explicit style checks.
78560
78561        * rendering/RenderBlock.cpp:
78562        (WebCore::RenderBlock::layoutBlockChildren):
78563        Use virtual hasRelativeLogicalHeight() instead of logical height style checks.
78564
78565        * rendering/RenderBox.cpp:
78566        (WebCore::RenderBox::hasRelativeLogicalHeight):
78567        (WebCore):
78568        * rendering/RenderBox.h:
78569        (RenderBox):
78570        Add virtual hasRelativeLogicalHeight().
78571
78572        * rendering/RenderView.cpp:
78573        (WebCore::RenderView::layout):
78574        Use virtual hasRelativeLogicalHeight() instead of logical height style checks, if possible.
78575
78576        * rendering/svg/RenderSVGRoot.cpp:
78577        (WebCore::RenderSVGRoot::hasRelativeLogicalHeight):
78578        (WebCore):
78579        * rendering/svg/RenderSVGRoot.h:
78580        (RenderSVGRoot):
78581        Add hasRelativeLogicalHeight() override.
78582
785832012-03-19  Jer Noble  <jer.noble@apple.com>
78584
78585        Assertion failure in RenderBlock::addChildIgnoringAnonymousColumnBlocks when running fullscreen/full-screen-twice-crash.html 
78586        causing "crashes" on the Lion Intel Debug WebKit2 test bots.
78587        https://bugs.webkit.org/show_bug.cgi?id=81171
78588
78589        Reviewed by Dan Bernstein.
78590
78591        No new tests; fixes fullscreen/* tests when running in WebKitTestRunner (WebKit2).
78592
78593        Add a special-case check if the parent anonymous container is a full screen renderer or placeholder.
78594
78595        * rendering/RenderBlock.cpp:
78596        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
78597
785982012-03-19  Enrica Casucci  <enrica@apple.com>
78599
78600        WebKit2: create sandbox extensions for files that are dropped in an input control.
78601        https://bugs.webkit.org/show_bug.cgi?id=81153
78602        <rdar://problem/11031207>
78603
78604        Reviewed by Alexey Proskuryakov.
78605
78606        Now the pasteboard access is performed only in the UI process, it is
78607        necessary to create sandbox extensions for each file that is dropped into
78608        an input type=file element. The extensions are created at the time the files
78609        are dropped and consumed immediately.
78610
78611        * page/DragActions.h: Added new drag action to be used by the WebDragClient.
78612        * page/DragController.cpp:
78613        (WebCore::DragController::concludeEditDrag): Added call to the drag client with the new action.
78614
786152012-03-19  Eric Seidel  <eric@webkit.org>
78616
78617        Fix Chromium Win
78618        https://bugs.webkit.org/show_bug.cgi?id=81281
78619
78620        Unreviewed build fix.
78621
78622        * platform/graphics/chromium/TransparencyWin.h:
78623
786242012-03-19  Eric Seidel  <eric@webkit.org>
78625
78626        Fix the chromium world.
78627        https://bugs.webkit.org/show_bug.cgi?id=81281
78628
78629        Unreviewed build fix.
78630
78631        * rendering/RenderThemeChromiumSkia.cpp:
78632
786332012-03-19  Brady Eidson  <beidson@apple.com>
78634
78635        <rdar://problem/10917120> and https://bugs.webkit.org/show_bug.cgi?id=81066
78636        Crash in 3rd party WebKit apps under XHR/Cache code
78637
78638        Reviewed by Antti Koivisto.
78639
78640        No new layout tests.
78641        TestWebKitAPI test MemoryCachePruneWithinResourceLoadDelegate included
78642
78643        A CachedResource representing an XHR was being deleted by cache pruning during a delegate callback.
78644        This worked until http://trac.webkit.org/changeset/98380
78645
78646        * history/PageCache.cpp:
78647        (WebCore::PageCache::releaseAutoreleasedPagesNow): Only trigger pruning after the page cache
78648          autorelease if it was enabled before.
78649
78650        * loader/cache/CachedResourceLoader.cpp:
78651        (WebCore::CachedResourceLoader::loadResource): Disable pruning before loading the resource and
78652          re-enable it afterwards if necessary.
78653
78654        * loader/cache/MemoryCache.h:
78655        (WebCore::MemoryCache::pruneEnabled):
78656
786572012-03-19  Anders Carlsson  <andersca@apple.com>
78658
78659        Fix Windows build.
78660
78661        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
78662        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDeviceScaleFactor):
78663
786642012-03-18  James Robinson  <jamesr@chromium.org>
78665
78666        [chromium] Implement fling-by-wheel on compositor thread
78667        https://bugs.webkit.org/show_bug.cgi?id=81462
78668
78669        Reviewed by Adrienne Walker.
78670
78671        Adds compositor thread support for a fling type implemented as a sequence of wheel scrolls. Covered by new tests
78672        in WebCompositorInputHandlerImplTests.
78673
78674        * platform/graphics/chromium/cc/CCInputHandler.h:
78675        (CCInputHandler):
78676        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
78677        (WebCore::CCLayerTreeHostImpl::scheduleAnimation):
78678        (WebCore):
78679        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
78680        (CCLayerTreeHostImpl):
78681        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
78682        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
78683
786842012-03-19  Emil A Eklund  <eae@chromium.org>
78685
78686        [mac/chromium] Change platform code to use pixelSnappedRect methods
78687        https://bugs.webkit.org/show_bug.cgi?id=81016
78688
78689        Reviewed by Eric Seidel.
78690
78691        Change platform code to use Node::getPixelSnappedRect,
78692        pixelSnappedBoundingBoxRect and pixelSnappedAbsoluteClippedOverflowRect
78693        to avoid exposing subpixel types to the platform layer.
78694
78695        No new tests.
78696
78697        * WebCore.exp.in:
78698        * rendering/RenderObject.cpp:
78699        (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect):
78700        Add pixelSnapped version of absoluteClippedOverflowRect
78701        
78702        (WebCore):
78703        * rendering/RenderObject.h:
78704        (RenderObject):
78705
787062012-03-19  Brady Eidson  <beidson@apple.com>
78707
78708        <rdar://problem/10848575> and https://bugs.webkit.org/show_bug.cgi?id=81516
78709        REGRESSION (r107435) URLs copied from WebKit apps aren't in the right pasteboard format
78710
78711        Reviewed by Enrica Casucci.
78712
78713        r107435 started saving/restoring URLs as strings.
78714        We need to go back to setting the URL on the pasteboard using AppKit URL pasteboard APIs.
78715
78716        WebKit API test: ContextMenuCanCopyURL
78717        No WebKit2 API test possible at this time.
78718
78719        * platform/mac/PlatformPasteboardMac.mm:
78720        (WebCore::PlatformPasteboard::setURL):
78721
787222012-03-19  Anders Carlsson  <andersca@apple.com>
78723
78724        Make the TileCache work with HiDPI again
78725        https://bugs.webkit.org/show_bug.cgi?id=81569
78726        <rdar://problem/11031542>
78727
78728        Reviewed by Sam Weinig.
78729
78730        Set the contentsScale of the individual tile layers to be the same as the device scale factor.
78731        Also, take into account the fact that the value passed to TileCache::setScale is the product of the
78732        page scale factor and the device scale factor, so divide it by the device scale factor before storing
78733        it in m_scale.
78734
78735        * platform/graphics/ca/GraphicsLayerCA.cpp:
78736        (WebCore::GraphicsLayerCA::platformCALayerDeviceScaleFactor):
78737        (WebCore):
78738        * platform/graphics/ca/GraphicsLayerCA.h:
78739        (GraphicsLayerCA):
78740        * platform/graphics/ca/PlatformCALayerClient.h:
78741        (PlatformCALayerClient):
78742        * platform/graphics/ca/mac/TileCache.h:
78743        (TileCache):
78744        * platform/graphics/ca/mac/TileCache.mm:
78745        (WebCore::TileCache::TileCache):
78746        (WebCore::TileCache::setScale):
78747        (WebCore::TileCache::createTileLayer):
78748
787492012-03-19  Abhishek Arya  <inferno@chromium.org>
78750
78751        Crash due to layer tree information not updated when moving run-in children.
78752        https://bugs.webkit.org/show_bug.cgi?id=81265
78753
78754        Reviewed by Julien Chaffraix.
78755
78756        We need to do a full removal as the run-in child is getting inserted into
78757        the neighbouring block and |blockRunIn| is going to be destroyed later
78758        in the function.
78759
78760        Test: fast/runin/run-in-layer-not-removed-crash.html
78761
78762        * rendering/RenderBlock.cpp:
78763        (WebCore::RenderBlock::handleRunInChild):
78764
787652012-03-19  Dana Jansens  <danakj@chromium.org>
78766
78767        [chromium] Remove misleading double-if
78768        https://bugs.webkit.org/show_bug.cgi?id=81557
78769
78770        Reviewed by Adrienne Walker.
78771
78772        Simple code cleanup, no functionality change.
78773
78774        * platform/graphics/chromium/TiledLayerChromium.cpp:
78775        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
78776
787772012-03-19  Eric Seidel  <eric@webkit.org>
78778
78779        Fix WTF header include discipline in Chromium WebKit
78780        https://bugs.webkit.org/show_bug.cgi?id=81281
78781
78782        Reviewed by James Robinson.
78783
78784        I also fixed some bad include dicipline for other ports
78785        as well.  Those changes are not yet necessary for those ports
78786        to keep building, but soon should be as those authors
78787        remove all the extra WTF includes from WebCore and other non-WTF projects.
78788
78789        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
78790        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
78791        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
78792        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h:
78793        * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
78794        * bindings/v8/NPV8Object.cpp:
78795        * bindings/v8/SerializedScriptValue.cpp:
78796        * bindings/v8/SerializedScriptValue.h:
78797        * bindings/v8/V8Binding.cpp:
78798        * bindings/v8/V8Binding.h:
78799        * bindings/v8/V8DOMWrapper.cpp:
78800        * bindings/v8/V8Utilities.cpp:
78801        * bindings/v8/custom/V8ArrayBufferCustom.cpp:
78802        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
78803        * bindings/v8/custom/V8AudioContextCustom.cpp:
78804        * bindings/v8/custom/V8DOMWindowCustom.cpp:
78805        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
78806        * bindings/v8/custom/V8Float32ArrayCustom.cpp:
78807        * bindings/v8/custom/V8Float64ArrayCustom.cpp:
78808        * bindings/v8/custom/V8Int16ArrayCustom.cpp:
78809        * bindings/v8/custom/V8Int32ArrayCustom.cpp:
78810        * bindings/v8/custom/V8Int8ArrayCustom.cpp:
78811        * bindings/v8/custom/V8MessagePortCustom.cpp:
78812        * bindings/v8/custom/V8Uint16ArrayCustom.cpp:
78813        * bindings/v8/custom/V8Uint32ArrayCustom.cpp:
78814        * bindings/v8/custom/V8Uint8ArrayCustom.cpp:
78815        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp:
78816        * bindings/v8/custom/V8WorkerCustom.cpp:
78817        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
78818        * bridge/qt/qt_runtime.cpp:
78819        * editing/gtk/FrameSelectionGtk.cpp:
78820        * loader/archive/mhtml/MHTMLArchive.cpp:
78821        * platform/ScrollAnimatorNone.cpp:
78822        * platform/blackberry/CookieMap.h:
78823        * platform/blackberry/CookieParser.h:
78824        * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp:
78825        * platform/chromium/DragImageChromiumSkia.cpp:
78826        * platform/chromium/PlatformCursor.h:
78827        * platform/chromium/PlatformSupport.h:
78828        * platform/chromium/PopupMenuPrivate.h:
78829        * platform/chromium/TraceEvent.h:
78830        * platform/chromium/WidgetChromium.cpp:
78831        * platform/efl/RefPtrEfl.h:
78832        * platform/graphics/cairo/RefPtrCairo.h:
78833        * platform/graphics/chromium/RateLimiter.h:
78834        * platform/graphics/chromium/TiledLayerChromium.cpp:
78835        * platform/graphics/efl/IconEfl.cpp:
78836        * platform/graphics/gstreamer/GStreamerGWorld.h:
78837        * platform/graphics/gtk/IconGtk.cpp:
78838        * platform/graphics/skia/PlatformContextSkia.h:
78839        * platform/graphics/texmap/TextureMapperBackingStore.h:
78840        * platform/graphics/texmap/TextureMapperLayer.cpp:
78841        * platform/graphics/wx/TransformationMatrixWx.cpp:
78842        * platform/gtk/PlatformMouseEventGtk.cpp:
78843        * platform/leveldb/LevelDBSlice.h:
78844        * platform/mediastream/MediaStreamCenter.cpp:
78845        * platform/network/soup/SocketStreamHandleSoup.cpp:
78846        * platform/network/win/ResourceHandleWin.cpp:
78847        * platform/qt/RenderThemeQtMobile.cpp:
78848        * platform/wx/MouseEventWx.cpp:
78849        * platform/wx/wxcode/win/fontprops.cpp:
78850
788512012-03-19  Dana Jansens  <danakj@chromium.org>
78852
78853        [chromium] Invalidate/update evicted tiles during commit
78854        https://bugs.webkit.org/show_bug.cgi?id=81529
78855
78856        Reviewed by Adrienne Walker.
78857
78858        A previous change caused a regression where evicted (invalid) tiles
78859        were no longer marked as dirty and updated. The regress was caused
78860        in https://bugs.webkit.org/show_bug.cgi?id=81175 and is fixed here.
78861
78862        Unit test: TiledLayerChromiumTest.pushDeletedTiles
78863
78864        * platform/graphics/chromium/TiledLayerChromium.cpp:
78865        (WebCore::UpdatableTile::copyAndClearDirty):
78866        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
78867
788682012-03-19  Adam Barth  <abarth@webkit.org>
78869
78870        Remove PLATFORM(TORCHMOBILE) ifdef from MainResourceLoader.cpp
78871        https://bugs.webkit.org/show_bug.cgi?id=81549
78872
78873        Reviewed by Eric Seidel.
78874
78875        This appears to be the only PLATFORM(TORCHMOBILE) ifdef in WebCore.  I
78876        don't believe this ifdef is needed anymore.
78877
78878        * loader/MainResourceLoader.cpp:
78879        (WebCore::shouldLoadAsEmptyDocument):
78880        (WebCore):
78881
788822012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
78883
78884        Unreviewed, rolling out r111207.
78885        http://trac.webkit.org/changeset/111207
78886        https://bugs.webkit.org/show_bug.cgi?id=81561
78887
78888        Causing chromium unit test failure (Requested by reveman on
78889        #webkit).
78890
78891        * platform/graphics/chromium/Extensions3DChromium.h:
78892        (Extensions3DChromium):
78893
788942012-03-19  Anders Carlsson  <andersca@apple.com>
78895
78896        Remove unnecessary CALayer overrides from WebTileCacheLayer
78897        https://bugs.webkit.org/show_bug.cgi?id=81562
78898
78899        Reviewed by Dan Bernstein.
78900
78901        * platform/graphics/ca/mac/TileCache.h:
78902        (TileCache):
78903        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
78904
789052012-03-19  Emil A Eklund  <eae@chromium.org>
78906
78907        Correct usage of LayoutUnits in page code in preparation for turning on subpixel layout
78908        https://bugs.webkit.org/show_bug.cgi?id=81538
78909
78910        Reviewed by Eric Seidel.
78911
78912        Fix usage of LayoutUnits and conversions between types in page code.
78913
78914        No new tests.
78915
78916        * page/DOMWindow.cpp:
78917        (WebCore::DOMWindow::innerHeight):
78918        (WebCore::DOMWindow::innerWidth):
78919        Explicitly cast long to int. InspectorInstrumentation requires a long and
78920        FractionalLayoutUnit has no constructor that takes long.
78921        
78922        * page/EventHandler.cpp:
78923        (WebCore::EventHandler::sendContextMenuEventForKey):
78924        Pixel snap overflow rect as selection rects are integer based.
78925        
78926        * page/FrameView.cpp:
78927        (WebCore::FrameView::scrollContentsFastPath):
78928        Pixel snap repaint rects when computing update rect as all scrolling is
78929        done on integer bounds.
78930        
78931        * page/GestureTapHighlighter.cpp:
78932        Change rects vector to IntRect as addFocusRingRects operates on IntRects.
78933        
78934        * page/Page.cpp:
78935        (WebCore::Page::addRelevantRepaintedObject):
78936        (WebCore::Page::addRelevantUnpaintedObject):
78937        Change paint methods to take a LayoutRect paint rect.
78938        
78939        * page/SpatialNavigation.cpp:
78940        (WebCore::distanceDataForNode):
78941        Change distance calculation to use floats instead of converting to float
78942        at the end.
78943
789442012-03-19  David Hyatt  <hyatt@apple.com>
78945
78946        https://bugs.webkit.org/show_bug.cgi?id=81553
78947        
78948        [New Multicolumn] Stub out classes to represent sets of column region boxes.
78949
78950        RenderRegionSet is an abstract class representing a set of contiguous anonymous
78951        same-size regions.
78952        
78953        RenderMultiColumnSet derives from RenderRegionSet and represents a set of contiguous
78954        columns. It will also handle unique column behavior like column rule painting.
78955        
78956        Eventually there will be a RenderPageSet derived class for printing/pages, but
78957        that will come later after I finish rebuilding multi-column layout.
78958
78959        Reviewed by Dan Bernstein.
78960
78961        * GNUmakefile.list.am:
78962        * Target.pri:
78963        * WebCore.gypi:
78964        * WebCore.vcproj/WebCore.vcproj:
78965        * WebCore.xcodeproj/project.pbxproj:
78966        * rendering/RenderMultiColumnSet.cpp: Added.
78967        (WebCore):
78968        (WebCore::RenderMultiColumnSet::RenderMultiColumnSet):
78969        (WebCore::RenderMultiColumnSet::renderName):
78970        * rendering/RenderMultiColumnSet.h: Added.
78971        (WebCore):
78972        (RenderMultiColumnSet):
78973        * rendering/RenderRegionSet.cpp: Added.
78974        (WebCore):
78975        (WebCore::RenderRegionSet::RenderRegionSet):
78976        * rendering/RenderRegionSet.h: Added.
78977        (WebCore):
78978        (RenderRegionSet):
78979
789802012-03-19  Raymond Toy  <rtoy@google.com>
78981
78982        Add playback state for AudioBufferSourceNode and add number of active nodes
78983        https://bugs.webkit.org/show_bug.cgi?id=79701
78984
78985        Add a playback state to AudioBufferSourceNode so that the user can
78986        tell if the node is scheduled, playing, or finished.
78987
78988        For an AudioContext, add a count of the number of
78989        AudioBufferSourceNode's that are active (playing audio).
78990
78991        Deleted m_isPlaying and m_hasFinished. For the record, m_isPlaying
78992        is the same as a playbackState of SCHEDULED_STATE or PLAYING_STATE.
78993        m_hasFinished is equivalent to a playbackState of FINISHED_STATE.
78994        
78995        Reviewed by Chris Rogers.
78996
78997        Test: webaudio/audiobuffersource-playbackState.html
78998
78999        * webaudio/AudioBufferSourceNode.cpp:
79000        (WebCore):
79001        (WebCore::AudioBufferSourceNode::AudioBufferSourceNode):
79002        initialize playbackState, remove m_isPlaying, m_hasFinished.
79003        (WebCore::AudioBufferSourceNode::process): Update playbackState
79004        (WebCore::AudioBufferSourceNode::finish): Update playbackState
79005        (WebCore::AudioBufferSourceNode::noteOn): Update playbackState
79006        (WebCore::AudioBufferSourceNode::noteGrainOn): Update playbackState
79007        (WebCore::AudioBufferSourceNode::noteOff): Use playbackState 
79008        * webaudio/AudioBufferSourceNode.h:
79009        (AudioBufferSourceNode): Define states, remove m_isPlaying, m_hasFinished.
79010        (WebCore::AudioBufferSourceNode::playbackState): Added.
79011        * webaudio/AudioBufferSourceNode.idl: Define constants for the
79012        playback state, add attribute playbackState.
79013        * webaudio/AudioContext.cpp:
79014        (WebCore::AudioContext::activeSourceCount): Added.
79015        (WebCore::AudioContext::incrementActiveSourceCount): Added.
79016        (WebCore::AudioContext::decrementActiveSourceCount): Added.
79017        * webaudio/AudioContext.h:
79018        (AudioContext):
79019        * webaudio/AudioContext.idl: Add attribute activeSourceCount.
79020
790212012-03-19  Sheriff Bot  <webkit.review.bot@gmail.com>
79022
79023        Unreviewed, rolling out r109014.
79024        http://trac.webkit.org/changeset/109014
79025        https://bugs.webkit.org/show_bug.cgi?id=81551
79026
79027        Causing crashes (Requested by inferno-sec on #webkit).
79028
79029        * rendering/style/RenderStyle.h:
79030
790312012-03-19  Tony Chang  <tony@chromium.org>
79032
79033        Unreviewed, remove headers that no longer exist or moved in WebCore.gypi.
79034
79035        * WebCore.gypi:
79036
790372012-03-19  Mihnea Ovidenie  <mihnea@adobe.com>
79038
79039        [CSSRegions]Implement NamedFlow::contentNodes attribute
79040        https://bugs.webkit.org/show_bug.cgi?id=80134
79041
79042        Reviewed by David Hyatt.
79043
79044        The named flow content nodes collection contains those nodes with webkitFlowInto property set to 'flow'.
79045        In the list, the nodes are placed in document order. Nodes with display:none are also part of the list.
79046        The list of nodes is returned as a static node list.
79047
79048        Test: fast/regions/webkit-named-flow-content-nodes.html
79049
79050        * dom/Document.cpp:
79051        (WebCore::Document::webkitGetFlowByName):
79052        * dom/Document.h:
79053        * dom/Element.cpp:
79054        (WebCore::Element::detach):
79055        * dom/NodeRenderingContext.cpp:
79056        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
79057        * dom/WebKitNamedFlow.cpp:
79058        (WebCore::WebKitNamedFlow::contentNodes):
79059        (WebCore):
79060        (WebCore::WebKitNamedFlow::registerContentNode):
79061        * dom/WebKitNamedFlow.h:
79062        (WebCore):
79063        (WebKitNamedFlow):
79064        (WebCore::WebKitNamedFlow::unregisterContentNode):
79065        * dom/WebKitNamedFlow.idl:
79066
790672012-03-19  Xingnan Wang  <xingnan.wang@intel.com>
79068
79069        ConvolverNode should not incur processing latency
79070        https://bugs.webkit.org/show_bug.cgi?id=75564
79071
79072        Reviewed by Chris Rogers.
79073
79074        Add the DirectConvolver instead of FFTConvolver for the processing of the leading portion of impulse response.
79075
79076        * WebCore.gypi:
79077        * platform/audio/DirectConvolver.cpp: Added.
79078        (WebCore):
79079        (WebCore::DirectConvolver::DirectConvolver):
79080        (WebCore::DirectConvolver::process):
79081        (WebCore::DirectConvolver::reset):
79082        * platform/audio/DirectConvolver.h: Added.
79083        (WebCore):
79084        (DirectConvolver):
79085        (WebCore::DirectConvolver::convolveSize):
79086        * platform/audio/ReverbConvolver.cpp:
79087        (WebCore::ReverbConvolver::ReverbConvolver):
79088        * platform/audio/ReverbConvolver.h:
79089        * platform/audio/ReverbConvolverStage.cpp:
79090        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
79091        (WebCore::ReverbConvolverStage::process):
79092        (WebCore::ReverbConvolverStage::reset):
79093        * platform/audio/ReverbConvolverStage.h:
79094        (WebCore):
79095        (ReverbConvolverStage):
79096
790972012-03-19  Anders Carlsson  <andersca@apple.com>
79098
79099        Find in page highlights get out of place when scrolling
79100        https://bugs.webkit.org/show_bug.cgi?id=81543
79101
79102        Reviewed by Sam Weinig.
79103
79104        Remove a now unused function from GraphicsLayer.
79105
79106        * platform/graphics/GraphicsLayer.h:
79107        (GraphicsLayer):
79108        * platform/graphics/ca/GraphicsLayerCA.h:
79109        (GraphicsLayerCA):
79110
791112012-03-19  David Hyatt  <hyatt@apple.com>
79112
79113        https://bugs.webkit.org/show_bug.cgi?id=81534
79114
79115        [New Multicolumn] Make the multi-column block re-layout its children when the column width/count change.
79116        Cache the count/width on the multi-column block for easy access.
79117
79118        Reviewed by Antti Koivisto.
79119
79120        * rendering/RenderBlock.cpp:
79121        (WebCore::RenderBlock::recomputeLogicalWidth):
79122        (WebCore::RenderBlock::layoutBlock):
79123        * rendering/RenderBlock.h:
79124        Virtualize the code that recomputes the logical width for a block and sets relayoutChildren to true,
79125        so that column code can subclass the method to also check for changes in the column width/count.
79126
79127        * rendering/RenderMultiColumnBlock.cpp:
79128        (WebCore::RenderMultiColumnBlock::computeColumnCountAndWidth):
79129        The column count/width determination algorithm in one method on the RenderMultiColumnBlock. It's a copy
79130        of the code from RenderBlock (which will be going away eventually).
79131
79132        (WebCore::RenderMultiColumnBlock::recomputeLogicalWidth):
79133        * rendering/RenderMultiColumnBlock.h:
79134        (RenderMultiColumnBlock):
79135        Subclassed method to also check for changes in the column width to set relayoutChildren to true.
79136
791372012-03-19  Michal Mocny  <mmocny@google.com>
79138
79139        [chromium] Updating WebGraphicsContext3D MemoryAllocation callback to accept a struct with have backbuffer suggestion.
79140        https://bugs.webkit.org/show_bug.cgi?id=81279
79141
79142        Reviewed by James Robinson.
79143
79144        * platform/graphics/chromium/Extensions3DChromium.h:
79145        (GpuMemoryAllocationCHROMIUM):
79146        (WebCore::Extensions3DChromium::GpuMemoryAllocationCHROMIUM::GpuMemoryAllocationCHROMIUM):
79147        (GpuMemoryAllocationChangedCallbackCHROMIUM):
79148
791492012-03-19  Tony Chang  <tony@chromium.org>
79150
79151        flex-item-align: stretch should only grow, never shrink
79152        https://bugs.webkit.org/show_bug.cgi?id=80882
79153
79154        Reviewed by Ojan Vafai.
79155
79156        New test cases in css3/flexbox/flex-align-stretch.html.
79157
79158        * rendering/RenderFlexibleBox.cpp:
79159        (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
79160        (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
79161        (WebCore):
79162        * rendering/RenderFlexibleBox.h:
79163        (RenderFlexibleBox):
79164
791652012-03-19  Vsevolod Vlasov  <vsevik@chromium.org>
79166
79167        Web Inspector: Implement snippets evaluation.
79168        https://bugs.webkit.org/show_bug.cgi?id=81334
79169
79170        Reviewed by Pavel Feldman.
79171
79172        * inspector/front-end/ConsoleView.js:
79173        (WebInspector.ConsoleView.prototype.evaluateUsingTextPrompt):
79174        (WebInspector.ConsoleView.prototype._enterKeyPressed):
79175        * inspector/front-end/ScriptMapping.js:
79176        (WebInspector.MainScriptMapping):
79177        * inspector/front-end/SnippetsModel.js:
79178        * inspector/front-end/externs.js:
79179        (WebInspector.evaluateInConsole):
79180        * inspector/front-end/inspector.js:
79181        (WebInspector.evaluateInConsole):
79182
791832012-03-19  Tommy Widenflycht  <tommyw@google.com>
79184
79185        MediaStream API (JSEP): Introducing PeerConnection00Handler
79186        https://bugs.webkit.org/show_bug.cgi?id=81333
79187
79188        Reviewed by Adam Barth.
79189
79190        In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
79191
79192        Not possible to test until the entire JSEP feature is commited.
79193
79194        * GNUmakefile.list.am:
79195        * WebCore.gypi:
79196        * platform/mediastream/PeerConnection00Handler.cpp: Added.
79197        (WebCore):
79198        (WebCore::PeerConnection00Handler::create):
79199        (WebCore::PeerConnection00Handler::PeerConnection00Handler):
79200        (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
79201        (WebCore::PeerConnection00Handler::createOffer):
79202        (WebCore::PeerConnection00Handler::createAnswer):
79203        (WebCore::PeerConnection00Handler::setLocalDescription):
79204        (WebCore::PeerConnection00Handler::setRemoteDescription):
79205        (WebCore::PeerConnection00Handler::localDescription):
79206        (WebCore::PeerConnection00Handler::remoteDescription):
79207        (WebCore::PeerConnection00Handler::startIce):
79208        (WebCore::PeerConnection00Handler::processIceMessage):
79209        (WebCore::PeerConnection00Handler::addStream):
79210        (WebCore::PeerConnection00Handler::removeStream):
79211        (WebCore::PeerConnection00Handler::stop):
79212        * platform/mediastream/PeerConnection00Handler.h: Added.
79213        (WebCore):
79214        (PeerConnection00Handler):
79215        * platform/mediastream/PeerConnection00HandlerClient.h: Added.
79216        (WebCore):
79217        (PeerConnection00HandlerClient):
79218        (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
79219
792202012-03-19  David Reveman  <reveman@chromium.org>
79221
79222        [Chromium] GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query support.
79223        https://bugs.webkit.org/show_bug.cgi?id=80988
79224
79225        Reviewed by Adrienne Walker.
79226
79227        Expose EXT_occlusion_query API to WebKit compositor. Add
79228        GL_EXT_occlusion_query_boolean and GL_CHROMIUM_command_buffer_query
79229        enums.
79230
79231        * platform/graphics/chromium/Extensions3DChromium.h:
79232        (Extensions3DChromium):
79233
792342012-03-19  Mike Lawther  <mikelawther@chromium.org>
79235
79236        CSS3 calc: make mask images work with mixed percent/absolute
79237        https://bugs.webkit.org/show_bug.cgi?id=81477
79238
79239        Reviewed by Ojan Vafai.
79240
79241        Test: css3/calc/simple-composited-mask-expected.html
79242
79243        * css/CSSStyleSelector.cpp:
79244        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
79245
792462012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
79247
79248        Style cleanup in Modules/filesystem/
79249        https://bugs.webkit.org/show_bug.cgi?id=81520
79250
79251        Reviewed by Adam Barth.
79252
79253        No new tests, all existing tests pass.
79254
79255        * Modules/filesystem/AsyncFileWriter.h:
79256        (WebCore::AsyncFileWriter::~AsyncFileWriter):
79257        * Modules/filesystem/AsyncFileWriterClient.h:
79258        (WebCore::AsyncFileWriterClient::~AsyncFileWriterClient):
79259        * Modules/filesystem/DOMFilePath.cpp:
79260        (WebCore::DOMFilePath::getDirectory):
79261        * Modules/filesystem/DOMFilePath.h:
79262        (DOMFilePath):
79263        * Modules/filesystem/DOMFileSystemBase.h:
79264        (DOMFileSystemBase):
79265        * Modules/filesystem/DirectoryEntry.h:
79266        * Modules/filesystem/DirectoryEntrySync.h:
79267        * Modules/filesystem/EntryArray.h:
79268        (EntryArray):
79269        * Modules/filesystem/FileEntry.h:
79270        (FileEntry):
79271        * Modules/filesystem/FileSystemCallbacks.h:
79272        (FileSystemCallbacksBase):
79273        * Modules/filesystem/FileWriter.cpp:
79274        (WebCore::FileWriter::abort):
79275
792762012-03-19  Mike Lawther  <mikelawther@chromium.org>
79277
79278        CSS3 calc: background positioning works with mixed percent/absolute expressions
79279        https://bugs.webkit.org/show_bug.cgi?id=81478
79280
79281        Reviewed by Ojan Vafai.
79282
79283        Test: css3/calc/background-position-parsing-expected.html
79284
79285        * css/CSSStyleSelector.cpp:
79286        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
79287
792882012-03-19  Alexander Færøy  <alexander.faeroy@nokia.com>
79289
79290        Add NodeRenderStyle.h to TouchAdjustment.cpp
79291
79292        Unreviewed build fix after r111185.
79293
79294        * page/TouchAdjustment.cpp:
79295
792962012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
79297
79298        [BlackBerry] Add PlatformMediaEngineClassName for blackberry in platform/graphics/MediaPlayer.cpp
79299        https://bugs.webkit.org/show_bug.cgi?id=81489
79300
79301        Reviewed by Rob Buis.
79302
79303        * platform/graphics/MediaPlayer.cpp:
79304
793052012-03-19  Leo Yang  <leo.yang@torchmobile.com.cn>
79306
79307        [BlackBerry] Upstream the BlackBerry change to platform/PlatformKeyboardEvent.h
79308        https://bugs.webkit.org/show_bug.cgi?id=81312
79309
79310        Reviewed by Rob Buis.
79311
79312        * platform/PlatformKeyboardEvent.h:
79313        (Platform):
79314        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
79315        (PlatformKeyboardEvent):
79316        (WebCore::PlatformKeyboardEvent::unmodifiedCharacter):
79317        Add BlackBerry specific constructor and member fields.
79318        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
79319        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
79320        Change the parameter type to const reference type to adapt to the declaration.
79321
793222012-03-19  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
79323
79324        Select best target for tap gesture.
79325        https://bugs.webkit.org/show_bug.cgi?id=78801
79326
79327        Reviewed by Kenneth Rohde Christiansen.
79328        IntRect changes reviewed by Dave Hyatt.
79329
79330        The new API is available through EventHandler::bestClickableNodeForTouchPoint, but
79331        implementation details have been placed in page/TouchAdjustment.
79332
79333        The default hit detection is performed by measuring the distance to the center
79334        lines of the absolute rects of the hit nodes. Absolute rects are used instead
79335        of bounding rects to make hit-detecting against links over line breaks. Distance
79336        to center line is used to make it easier to hit small links next to large links.
79337        For line-rects the distance to the center-line is a better expression of the distance
79338        to a rectangles center than the distance to the center-point.
79339
79340        Tests: touchadjustment/event-triggered-widgets.html
79341               touchadjustment/html-label.html
79342               touchadjustment/nested-touch.html
79343               touchadjustment/touch-inlines.html
79344
79345        * Target.pri:
79346        * page/EventHandler.cpp:
79347        (WebCore::EventHandler::handleGestureTap):
79348        (WebCore::EventHandler::bestClickableNodeForTouchPoint):
79349        * page/EventHandler.h:
79350        * page/TouchAdjustment.cpp: Added.
79351        (WebCore::TouchAdjustment::QuadForHitTest::QuadForHitTest):
79352        (WebCore::TouchAdjustment::QuadForHitTest::node):
79353        (WebCore::TouchAdjustment::QuadForHitTest::quad):
79354        (WebCore::TouchAdjustment::QuadForHitTest::boundingBox):
79355        (WebCore::TouchAdjustment::nodeRespondsToTapGesture):
79356        (WebCore::TouchAdjustment::appendAbsoluteQuadsForNodeToHitTestList):
79357        (WebCore::TouchAdjustment::compileQuadsForHitTesting):
79358        (WebCore::TouchAdjustment::distanceSquaredToQuadCenterLine):
79359        (WebCore::TouchAdjustment::findNodeWithLowestMetric):
79360        (WebCore::findBestClickableCandidate):
79361        * page/TouchAdjustment.h: Added.
79362        * platform/graphics/FloatQuad.h:
79363        (WebCore::FloatQuad::center):
79364        * platform/graphics/IntPoint.h:
79365        (WebCore::IntPoint::distanceSquaredToPoint):
79366        * platform/graphics/IntRect.cpp:
79367        (WebCore::distanceToInterval):
79368        (WebCore::IntRect::differenceToPoint):
79369        (WebCore::IntRect::differenceFromCenterLineToPoint):
79370        * platform/graphics/IntRect.h:
79371        (WebCore::IntRect::distanceSquaredToPoint):
79372        (WebCore::IntRect::distanceSquaredFromCenterLineToPoint):
79373        * platform/graphics/IntSize.h:
79374        (WebCore::IntSize::diagonalLengthSquared):
79375        * testing/Internals.cpp:
79376        (WebCore::Internals::touchPositionAdjustedToBestClickableNode):
79377        (WebCore::Internals::touchNodeAdjustedToBestClickableNode):
79378        * testing/Internals.h:
79379        * testing/Internals.idl:
79380
793812012-03-19  Mark Pilgrim  <pilgrim@chromium.org>
79382
79383        Add ENABLED(FILE_SYSTEM) to DOMFilePath.h
79384        https://bugs.webkit.org/show_bug.cgi?id=81393
79385
79386        Reviewed by Kentaro Hara.
79387
79388        No new tests, all existing tests pass.
79389
79390        * Modules/filesystem/DOMFilePath.h:
79391
793922012-03-19  Max Vujovic  <mvujovic@adobe.com>
79393
79394        inspector highlight of SVG root element with viewbox does not match dimensions of element
79395        https://bugs.webkit.org/show_bug.cgi?id=78037
79396
79397        Reviewed by Nikolas Zimmermann.
79398
79399        Functions such as RenderBox::absoluteQuads and DOMNodeHighlighter::getOrDrawNodeHighlight
79400        eventually call RenderSVGRoot::mapLocalToContainer, passing along local CSS box coordinates.
79401
79402        However, before this patch, RenderSVGRoot::mapLocalToContainer expected local SVG viewport
79403        coordinates. This caused the inspector highlight to be incorrectly sized and positioned.
79404
79405        Now, RenderSVGRoot::mapLocalToContainer expects local CSS box coordinates, like other HTML
79406        renderers.
79407
79408        Test: inspector/elements/highlight-svg-root.html
79409
79410        * dom/Element.cpp:
79411        (WebCore::Element::getBoundingClientRect):
79412            Now, the SVG root element can use the code path for elements with CSS boxes to calculate
79413            its bounding client rect.
79414
79415        * rendering/svg/RenderSVGRoot.cpp:
79416        (WebCore::RenderSVGRoot::mapLocalToContainer):
79417            RenderSVGRoot::mapLocalToContainer no longer needs to apply the
79418            localToBorderBoxTransform to convert from local SVG viewport coordinates to local CSS
79419            box coordinates. Now, it receives local CSS box coordinates.
79420
79421        * rendering/svg/RenderSVGRoot.h:
79422        (WebCore::RenderSVGRoot::localToBorderBoxTransform):
79423            RenderSVGRoot::localToBorderBoxTransform has been exposed for child elements in the SVG
79424            namespace to use when mapping from local SVG viewport coordinates to local CSS box
79425            coordinates.
79426
79427        (RenderSVGRoot):
79428        * rendering/svg/SVGRenderSupport.cpp:
79429        (WebCore::SVGRenderSupport::mapLocalToContainer):
79430            Elements in the SVG namespace should now apply the localToBorderBoxTransform at the
79431            SVG/HTML boundary (aka RenderSVGRoot) when mapping their coordinates up the render tree.
79432
79433        * svg/SVGSVGElement.cpp:
79434        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
79435            Same as above. This method is eventually used in the SVGLocatable::getScreenCTM
79436            calculation.
79437
794382012-03-19  Hironori Bono  <hbono@chromium.org>
79439
79440        Add a copy constructor to CollapsedBorderValue
79441        https://bugs.webkit.org/show_bug.cgi?id=81502
79442
79443        Reviewed by Hajime Morita.
79444
79445        Due to the lack of this copy constructor, GCC (x86) creates a broken copy
79446        constructor and it causes a build break on Google Chrome.
79447
79448        * rendering/style/CollapsedBorderValue.h:
79449        (WebCore::CollapsedBorderValue::CollapsedBorderValue):
79450        (CollapsedBorderValue):
79451
794522012-03-18  Matt Falkenhagen  <falken@chromium.org>
79453
79454        Fallback to common script when per-script font setting is the empty string
79455        https://bugs.webkit.org/show_bug.cgi?id=81329
79456
79457        Reviewed by Kent Tamura.
79458
79459        Tests: fast/text/international/font-fallback-to-common-script.html
79460
79461        * page/Settings.cpp:
79462        (WebCore::setGenericFontFamilyForScript): Remove the setting when the per-script font family is the empty string.
79463
794642012-03-18  Luke Macpherson   <macpherson@chromium.org>
79465
79466        Remove remnants of code that assume Lengths are 28 bit integers.
79467        https://bugs.webkit.org/show_bug.cgi?id=67976
79468
79469        Reviewed by Eric Seidel.
79470
79471        Test: LayoutTests/fast/table/max-width-integer-overflow-expected.html
79472
79473        * css/CSSPrimitiveValue.cpp:
79474        (WebCore::CSSPrimitiveValue::computeLength):
79475        Bound by INT_MAX and INT_MIN instead of 28 bit bounds.
79476        * css/CSSStyleApplyProperty.cpp:
79477        (WebCore::ApplyPropertyBorderRadius::applyValue):
79478        Use PrimitiveValue::computeLength function directly.
79479        * platform/Length.h:
79480        Remove 28 bit integer limit constants.
79481        * rendering/AutoTableLayout.cpp:
79482        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
79483        Use std::numeric_limits.
79484
794852012-03-16  Shinya Kawanaka  <shinyak@chromium.org>
79486
79487        Should remove RuntimeEnabledFeatures::multipleShadowSubtreesEnabled
79488        https://bugs.webkit.org/show_bug.cgi?id=79307
79489
79490        Reviewed by Dimitri Glazkov.
79491
79492        Since RuntimeEnabledFeatures::multipleShadowSubtreesEnabled was introduced for
79493        temporal unstability of multiple shadow roots. We should remove it now, and
79494        enable it by default.
79495
79496        Test: fast/dom/shadow/shadow-root-js-api.html should cover this change.
79497        The other shadow related tests should also covers this change.
79498
79499        * WebCore.exp.in:
79500        * bindings/generic/RuntimeEnabledFeatures.cpp:
79501        (WebCore):
79502        * bindings/generic/RuntimeEnabledFeatures.h:
79503        (RuntimeEnabledFeatures):
79504        * dom/ShadowRoot.cpp:
79505        (WebCore::ShadowRoot::create):
79506        * dom/ShadowTree.cpp:
79507        (WebCore::ShadowTree::addShadowRoot):
79508        * testing/Internals.cpp:
79509        * testing/Internals.h:
79510        (Internals):
79511        * testing/Internals.idl:
79512
795132012-03-18  Dana Jansens  <danakj@chromium.org>
79514
79515        [chromium] Don't occlude on main-thread behind layers/surfaces with impl-thread animations
79516        https://bugs.webkit.org/show_bug.cgi?id=81354
79517
79518        Reviewed by Adrienne Walker.
79519
79520        Layers and surfaces can have an animating opacity or translation on the
79521        impl thread. In this case, the main thread does not know their actual
79522        values, and treats these values as "unknowns". This means we can't use
79523        them for marking areas of the screen as occluded, and we can't consider
79524        a part of a layer occluded in a space that we can not reliably transform
79525        to.
79526
79527        Unit test: CCOcclusionTrackerTestAnimationOpacity0OnMainThread
79528                   CCOcclusionTrackerTestAnimationOpacity1OnMainThread
79529                   CCOcclusionTrackerTestAnimationTranslateOnMainThread
79530
79531        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
79532        (WebCore::layerOpacityKnown):
79533        (WebCore::layerTransformsToTargetKnown):
79534        (WebCore::layerTransformsToScreenKnown):
79535        (WebCore):
79536        (WebCore::surfaceOpacityUnknown):
79537        (WebCore::surfaceTransformsToTargetUnknown):
79538        (WebCore::surfaceTransformsToScreenUnknown):
79539        (WebCore::::finishedTargetRenderSurface):
79540        (WebCore::contentToScreenSpaceTransform):
79541        (WebCore::contentToTargetSurfaceTransform):
79542        (WebCore::::markOccludedBehindLayer):
79543        (WebCore::::occluded):
79544        (WebCore::::unoccludedContentRect):
79545
795462012-03-18  Dana Jansens  <danakj@chromium.org>
79547
79548        [chromium] Animating opacity is not opaque and should create a render surface on main thread
79549        https://bugs.webkit.org/show_bug.cgi?id=81401
79550
79551        Reviewed by James Robinson.
79552
79553        Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
79554
79555        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
79556        (WebCore::layerOpacityIsOpaque):
79557        (WebCore):
79558        (WebCore::subtreeShouldRenderToSeparateSurface):
79559
795602012-03-18  Sam Weinig  <sam@webkit.org>
79561
79562        WebCore::BitmapImage::getCGImageRef should not be used off the main thread.
79563        https://bugs.webkit.org/show_bug.cgi?id=81441
79564
79565        Reviewed by Anders Carlsson.
79566
79567        Covered by existing tests.
79568
79569        * loader/cache/MemoryCache.cpp:
79570        (WebCore::memoryCache):
79571        (WebCore::MemoryCache::add):
79572        (WebCore::MemoryCache::revalidationFailed):
79573        (WebCore::MemoryCache::resourceForURL):
79574        (WebCore::MemoryCache::evict):
79575        Add back main thread assertions.
79576
79577        * platform/graphics/cg/PatternCG.cpp:
79578        (PatternCallbackData):
79579        (WebCore::patternCallback):
79580        (WebCore::patternReleaseOnMainThreadCallback):
79581        (WebCore::Pattern::createPlatformPattern):
79582        Instead of pulling out the CGImageRef in the pattern callback, do it upfront.
79583
795842012-03-18  Alexander Færøy  <alexander.faeroy@nokia.com>
79585
79586        [Qt] Don't prepare SQL statements when the database is not open
79587        https://bugs.webkit.org/show_bug.cgi?id=81470
79588
79589        Reviewed by Kenneth Rohde Christiansen.
79590
79591        Already covered by existing tests.
79592
79593        * platform/qt/CookieJarQt.cpp:
79594        (WebCore::SharedCookieJarQt::deleteCookiesForHostname):
79595        (WebCore::SharedCookieJarQt::deleteAllCookies):
79596        (WebCore::SharedCookieJarQt::setCookiesFromUrl):
79597        (WebCore::SharedCookieJarQt::loadCookies):
79598
795992012-03-18  Kentaro Hara  <haraken@chromium.org>
79600
79601        Unreviewed, rolling out r110994 due to Chromium crash
79602
79603        * CMakeLists.txt:
79604        * DerivedSources.make:
79605        * DerivedSources.pri:
79606        * GNUmakefile.list.am:
79607        * Target.pri:
79608        * WebCore.gypi:
79609        * WebCore.vcproj/WebCore.vcproj:
79610        * WebCore.xcodeproj/project.pbxproj:
79611        * notifications/DOMWindowNotifications.cpp: Removed.
79612        * notifications/DOMWindowNotifications.h: Removed.
79613        * notifications/DOMWindowNotifications.idl: Removed.
79614        * page/DOMWindow.cpp:
79615        (WebCore::DOMWindow::~DOMWindow):
79616        (WebCore::DOMWindow::willDetachPage):
79617        (WebCore::DOMWindow::disconnectDOMWindowProperties):
79618        (WebCore::DOMWindow::clearDOMWindowProperties):
79619        (WebCore):
79620        (WebCore::DOMWindow::webkitNotifications):
79621        (WebCore::DOMWindow::resetNotifications):
79622        * page/DOMWindow.h:
79623        (WebCore):
79624        (DOMWindow):
79625        * page/DOMWindow.idl:
79626        * page/Frame.cpp:
79627        (WebCore::Frame::willDetachPage):
79628        (WebCore::Frame::transferChildFrameToNewDocument):
79629
796302012-03-18  Kentaro Hara  <haraken@chromium.org>
79631
79632        Unreviewed, rolling out r111086.
79633        http://trac.webkit.org/changeset/111086
79634        https://bugs.webkit.org/show_bug.cgi?id=81374
79635
79636        Chromium crash
79637
79638        * notifications/DOMWindowNotifications.cpp:
79639        (WebCore::DOMWindowNotifications::disconnectFrame):
79640
796412012-03-18  David Reveman  <reveman@chromium.org>
79642
79643        Invalidation issue when creating backing layer for fixed positioned element.
79644        https://bugs.webkit.org/show_bug.cgi?id=80647
79645
79646        Reviewed by James Robinson.
79647
79648        Ensure that root layer is correctly invalidated by handling scroll and
79649        invalidation from movement of fixed position elements prior to creating
79650        any backing layers.
79651
79652        Test: compositing/layer-creation/fixed-position-scroll.html
79653
79654        * page/FrameView.cpp:
79655        (WebCore::FrameView::repaintFixedElementsAfterScrolling):
79656        (WebCore):
79657        (WebCore::FrameView::updateFixedElementsAfterScrolling):
79658        * page/FrameView.h:
79659        (FrameView):
79660        * platform/ScrollView.cpp:
79661        (WebCore::ScrollView::scrollTo):
79662        * platform/ScrollView.h:
79663        (WebCore::ScrollView::repaintFixedElementsAfterScrolling):
79664        (WebCore::ScrollView::updateFixedElementsAfterScrolling):
79665
796662012-03-18  Dana Jansens  <danakj@chromium.org>
79667
79668        [chromium] Transform animation state should be inherited from parents
79669        https://bugs.webkit.org/show_bug.cgi?id=81363
79670
79671        Reviewed by Adrienne Walker.
79672
79673        Adds a drawTransformIsAnimating() and screenSpaceTransformIsAnimating()
79674        to the layer classes, and similar to the surface classes. These inherit
79675        the values from their parents in the same way that the transforms
79676        themselves do, and reflect if the layer's transform is being affected
79677        by some active animation.
79678
79679        These can be used in main-thread culling when determining if the layer's
79680        position is static in the given coordinate space or being animated.
79681
79682        Unit test: CCLayerTreeHostCommonTest.verifyAnimationsForRenderSurfaceHierarchy
79683
79684        * platform/graphics/chromium/LayerChromium.cpp:
79685        (WebCore::LayerChromium::LayerChromium):
79686        * platform/graphics/chromium/LayerChromium.h:
79687        (LayerChromium):
79688        (WebCore::LayerChromium::drawTransformIsAnimating):
79689        (WebCore::LayerChromium::setDrawTransformIsAnimating):
79690        (WebCore::LayerChromium::screenSpaceTransformIsAnimating):
79691        (WebCore::LayerChromium::setScreenSpaceTransformIsAnimating):
79692        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
79693        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
79694        * platform/graphics/chromium/RenderSurfaceChromium.h:
79695        (WebCore::RenderSurfaceChromium::targetSurfaceTransformsAreAnimating):
79696        (WebCore::RenderSurfaceChromium::setTargetSurfaceTransformsAreAnimating):
79697        (WebCore::RenderSurfaceChromium::screenSpaceTransformsAreAnimating):
79698        (WebCore::RenderSurfaceChromium::setScreenSpaceTransformsAreAnimating):
79699        (RenderSurfaceChromium):
79700        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
79701        (WebCore::CCLayerImpl::CCLayerImpl):
79702        * platform/graphics/chromium/cc/CCLayerImpl.h:
79703        (CCLayerImpl):
79704        (WebCore::CCLayerImpl::drawTransformIsAnimating):
79705        (WebCore::CCLayerImpl::setDrawTransformIsAnimating):
79706        (WebCore::CCLayerImpl::screenSpaceTransformIsAnimating):
79707        (WebCore::CCLayerImpl::setScreenSpaceTransformIsAnimating):
79708        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
79709        (WebCore::subtreeShouldBeSkipped):
79710        (WebCore::calculateDrawTransformsAndVisibilityInternal):
79711        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
79712        (WebCore::CCRenderSurface::CCRenderSurface):
79713        * platform/graphics/chromium/cc/CCRenderSurface.h:
79714        (WebCore::CCRenderSurface::targetSurfaceTransformsAreAnimating):
79715        (WebCore::CCRenderSurface::setTargetSurfaceTransformsAreAnimating):
79716        (WebCore::CCRenderSurface::screenSpaceTransformsAreAnimating):
79717        (WebCore::CCRenderSurface::setScreenSpaceTransformsAreAnimating):
79718        (CCRenderSurface):
79719
797202012-03-18  Pratik Solanki  <psolanki@apple.com>
79721
79722        Fix compile when FULLSCREEN_API is not enabled on Mac
79723        https://bugs.webkit.org/show_bug.cgi?id=81474
79724
79725        Reviewed by Ada Chan.
79726
79727        Guard the full screen api code inside ENABLE(FULLSCREEN_API).
79728
79729        No new tests because no functional changes.
79730
79731        * platform/mac/WebCoreFullScreenWindow.h:
79732        * platform/mac/WebCoreFullScreenWindow.mm:
79733
797342012-03-18  Kentaro Hara  <haraken@chromium.org>
79735
79736        Change the initial buffer size of a plain text
79737        https://bugs.webkit.org/show_bug.cgi?id=81192
79738
79739        Reviewed by Dimitri Glazkov.
79740
79741        r111109 changed the initial buffer size of a plain text
79742        from 1<<16 to 1<<15 in Chromium/Mac only, for the following reasons:
79743
79744        - As far as I experimented locally, while 1<<15 is better than 1<<16 in Chromium/Mac,
79745        1<<15 and 1<<16 are the same in AppleWebKit/Mac and Chromium/Linux (their performance
79746        "gap" exists at between 1<<17 and 1<<18).
79747        - The reason why I changed 1<<16 to 1<<15 in Chromium/Mac only is that
79748        the value highly depends on the underlying malloc system and I was a bit afraid
79749        that changing to 1<<15 _might_ cause unintentional performance regression in some
79750        platform.
79751
79752        That being said, it seems that 1<<15 would not be worse than 1<<16 in all platforms,
79753        and we should just keep the value consistent. In the first place, according to anttik
79754        (who wrote 1<<16 a long time ago), there was no strong reason for 1<<16.
79755
79756        Based on these observations (See https://bugs.webkit.org/show_bug.cgi?id=81192
79757        for more details), this patch unifies the value to 1<<15 in all platforms.
79758
79759        No tests. No change in behavior.
79760
79761        * editing/TextIterator.cpp:
79762        (WebCore::plainTextToMallocAllocatedBuffer):
79763
797642012-02-13  Robert Hogan  <robert@webkit.org>
79765
79766        CSS 2.1 failure: eof-003.htm fails
79767        https://bugs.webkit.org/show_bug.cgi?id=78538
79768
79769        Reviewed by Antti Koivisto.
79770
79771        Tests: css2.1/20110323/eof-001.htm
79772               css2.1/20110323/eof-003.htm
79773               css2.1/20110323/eof-004.htm
79774               css2.1/20110323/eof-005.htm
79775               css2.1/20110323/eof-006.htm
79776               css2.1/20110323/eof-007.htm
79777
79778        This patch fixes eof-003.htm, eof-005.htm and eof-006.htm. The other eof-* tests already pass.
79779
79780        * css/CSSGrammar.y: Allow EOF as well as ';' to terminate import rules.
79781                            This should probably be done for other rules in a separate patch.
79782        * css/CSSParser.cpp:
79783        (WebCore::CSSParser::checkAndSkipString): Allow strings to end with EOF.
79784        (WebCore::CSSParser::parseString): ditto
79785
797862012-03-17  David Reveman  <reveman@chromium.org>
79787
79788        [Chromium] PlatformContextSkia::m_drawingToImageBuffer is not correctly set when using per-tile painting.
79789        https://bugs.webkit.org/show_bug.cgi?id=81463
79790
79791        Reviewed by James Robinson.
79792
79793        Call PlatformContextSkia::setDrawingToImageBuffer() from
79794        SkPictureCanvasLayerTextureUpdater::prepareToUpdate so that sub-pixel
79795        text rendering is not used incorrectly with per-tile painting.
79796
79797        No new tests.
79798
79799        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
79800        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
79801
798022012-03-17  Robert Kroeger  <rjkroege@chromium.org>
79803
79804        [chromium] Make pixel-accurate wheel scrolling be unanimated
79805        https://bugs.webkit.org/show_bug.cgi?id=81457
79806
79807        Reviewed by James Robinson.
79808
79809        * platform/ScrollAnimatorNone.cpp:
79810        (WebCore::ScrollAnimatorNone::scroll):
79811
798122012-03-17  Rob Buis  <rbuis@rim.com>
79813
79814        [BlackBerry] Implement openTemporaryFile in FileSystem
79815        https://bugs.webkit.org/show_bug.cgi?id=81373
79816
79817        Reviewed by George Staikos.
79818
79819        Move the Efl implementation to Posix, this way BlackBerry port can reuse it.
79820
79821        * platform/blackberry/FileSystemBlackBerry.cpp:
79822        * platform/efl/FileSystemEfl.cpp:
79823        * platform/posix/FileSystemPOSIX.cpp:
79824        (WebCore::openTemporaryFile):
79825        (WebCore):
79826
798272012-03-17  Joe Thomas  <joethomas@motorola.com>
79828
79829        move calc*Value functions out from Length (and platform)
79830        https://bugs.webkit.org/show_bug.cgi?id=80897
79831
79832        Moving the Length calc*Value functions out from Length structure and also from /WebCore/platform/ folder.
79833        This helps to avoid the layering violation while length calculation. Otherwise layer violation can be avoided only by adding a virtual interface(bug 27160).
79834
79835        Reviewed by Antti Koivisto.
79836
79837        * GNUmakefile.list.am: Build system changes for adding new files.
79838        * Target.pri: Ditto.
79839        * WebCore.gypi: Ditto.
79840        * WebCore.vcproj/WebCore.vcproj: Ditto.
79841        * WebCore.xcodeproj/project.pbxproj: Ditto.
79842        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
79843        (getAttributeSetForAccessibilityObject):
79844        * css/CSSComputedStyleDeclaration.cpp:
79845        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
79846        * css/LengthFunctions.h: Added. Moved calc*Value functions of Length.
79847        (WebCore):
79848        (WebCore::calculateMinimumValue):
79849        (WebCore::calculateValue):
79850        (WebCore::calculateFloatValue):
79851        * dom/Document.cpp:
79852        (WebCore::Document::pageSizeAndMarginsInPixels):
79853        * html/HTMLAreaElement.cpp:
79854        (WebCore::HTMLAreaElement::getRegion):
79855        * platform/CalculationValue.h:
79856        (WebCore::CalcExpressionLength::evaluate):
79857        * platform/Length.h: Removed the calc*Value functions from Length structure.
79858        (Length):
79859        (WebCore::Length::getFloatValue):
79860        (WebCore::Length::getIntValue):
79861        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
79862        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
79863        (PlatformCALayer::setFilters):
79864        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
79865        (WebCore::CCRenderSurfaceFilters::apply):
79866        * platform/graphics/filters/FilterOperations.cpp:
79867        (WebCore::FilterOperations::getOutsets):
79868        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
79869        (WebCore::PerspectiveTransformOperation::blend):
79870        * platform/graphics/transforms/PerspectiveTransformOperation.h:
79871        (WebCore::PerspectiveTransformOperation::isIdentity):
79872        (WebCore::PerspectiveTransformOperation::apply):
79873        * platform/graphics/transforms/TranslateTransformOperation.h:
79874        (WebCore::TranslateTransformOperation::x):
79875        (WebCore::TranslateTransformOperation::y):
79876        (WebCore::TranslateTransformOperation::z):
79877        (WebCore::TranslateTransformOperation::isIdentity):
79878        * platform/win/PopupMenuWin.cpp:
79879        (WebCore::PopupMenuWin::paint):
79880        * rendering/AutoTableLayout.cpp:
79881        (WebCore::AutoTableLayout::layout):
79882        * rendering/FilterEffectRenderer.cpp:
79883        (WebCore::FilterEffectRenderer::build):
79884        * rendering/FixedTableLayout.cpp:
79885        (WebCore::FixedTableLayout::layout):
79886        * rendering/RenderBlock.cpp:
79887        (WebCore::RenderBlock::textIndentOffset):
79888        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
79889        * rendering/RenderBox.cpp:
79890        (WebCore::RenderBox::reflectionOffset):
79891        (WebCore::RenderBox::clipRect):
79892        (WebCore::RenderBox::computeLogicalWidthInRegion):
79893        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
79894        (WebCore::RenderBox::computeInlineDirectionMargins):
79895        (WebCore::RenderBox::computePercentageLogicalHeight):
79896        (WebCore::RenderBox::computeReplacedLogicalWidthUsing):
79897        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
79898        (WebCore::RenderBox::availableLogicalHeightUsing):
79899        (WebCore::RenderBox::computeBlockDirectionMargins):
79900        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
79901        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
79902        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
79903        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
79904        * rendering/RenderBoxModelObject.cpp:
79905        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
79906        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
79907        (WebCore::RenderBoxModelObject::paddingTop):
79908        (WebCore::RenderBoxModelObject::paddingBottom):
79909        (WebCore::RenderBoxModelObject::paddingLeft):
79910        (WebCore::RenderBoxModelObject::paddingRight):
79911        (WebCore::RenderBoxModelObject::paddingBefore):
79912        (WebCore::RenderBoxModelObject::paddingAfter):
79913        (WebCore::RenderBoxModelObject::paddingStart):
79914        (WebCore::RenderBoxModelObject::paddingEnd):
79915        (WebCore::RenderBoxModelObject::calculateFillTileSize):
79916        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
79917        (WebCore::computeBorderImageSide):
79918        (WebCore::RenderBoxModelObject::paintNinePieceImage):
79919        * rendering/RenderFlexibleBox.cpp:
79920        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
79921        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
79922        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
79923        * rendering/RenderFrameSet.cpp:
79924        (WebCore::RenderFrameSet::layOutAxis):
79925        * rendering/RenderInline.cpp:
79926        (WebCore::computeMargin):
79927        * rendering/RenderLayer.cpp:
79928        (WebCore::RenderLayer::perspectiveTransform):
79929        (WebCore::RenderLayer::perspectiveOrigin):
79930        * rendering/RenderLayerBacking.cpp:
79931        (WebCore::RenderLayerBacking::computeTransformOrigin):
79932        (WebCore::RenderLayerBacking::computePerspectiveOrigin):
79933        * rendering/RenderMarquee.cpp:
79934        (WebCore::RenderMarquee::timerFired):
79935        * rendering/RenderMenuList.cpp:
79936        (WebCore::RenderMenuList::updateOptionsWidth):
79937        * rendering/RenderObject.cpp:
79938        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
79939        * rendering/RenderReplaced.cpp:
79940        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
79941        * rendering/RenderScrollbarPart.cpp:
79942        (WebCore::calcScrollbarThicknessUsing):
79943        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
79944        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
79945        * rendering/RenderTable.cpp:
79946        (WebCore::RenderTable::computeLogicalWidth):
79947        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
79948        * rendering/RenderTableCell.cpp:
79949        (WebCore::RenderTableCell::logicalHeightForRowSizing):
79950        * rendering/RenderTableSection.cpp:
79951        (WebCore::RenderTableSection::calcRowLogicalHeight):
79952        * rendering/RenderText.h:
79953        (WebCore::RenderText::marginLeft):
79954        (WebCore::RenderText::marginRight):
79955        * rendering/RootInlineBox.cpp:
79956        (WebCore::RootInlineBox::verticalPositionForBox):
79957        * rendering/style/RenderStyle.cpp:
79958        (WebCore::RenderStyle::applyTransform):
79959        (WebCore::calcRadiiFor):
79960        * rendering/style/RenderStyle.h:
79961        * rendering/svg/RenderSVGRoot.cpp:
79962        (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
79963        (WebCore::resolveLengthAttributeForSVG):
79964        * svg/SVGSVGElement.cpp:
79965        (WebCore::SVGSVGElement::currentViewBoxRect):
79966        (WebCore::SVGSVGElement::currentViewportSize):
79967        * svg/graphics/SVGImage.cpp:
79968        (WebCore::SVGImage::computeIntrinsicDimensions):
79969
799702012-03-17  Nikolas Zimmermann  <nzimmermann@rim.com>
79971
79972        Enable animVal support for SVGNumberOptionalNumber
79973        https://bugs.webkit.org/show_bug.cgi?id=81448
79974
79975        Reviewed by Antti Koivisto.
79976
79977        Enable animVal support for SVGNumberOptionalNumber. Its a special case as two SVG DOM properties
79978        eg. stdDeviationX/stdDeviationY are mapped to a single XML attribute: SVGNames::stdDeviationAttr.
79979
79980        When animating properties like this, both animVal wrappers need to reflect changes.
79981        Generalize the current animVal code to support more than one SVGAnimatedProperty that gets
79982        animated for a single attributeName. This allows us to remove SVGAnimatedType::variantValue/setVariantValue
79983        which paves the way for removing SVGGenericAnimatedType from even more places.
79984
79985        Covered by existing tests.
79986
79987        * svg/SVGAnimateElement.cpp:
79988        (WebCore::SVGAnimateElement::SVGAnimateElement):
79989        (WebCore::SVGAnimateElement::calculateAnimatedValue):
79990        (WebCore::SVGAnimateElement::resetToBaseValue):
79991        (WebCore::SVGAnimateElement::targetElementWillChange):
79992        * svg/SVGAnimateElement.h:
79993        (SVGAnimateElement):
79994        * svg/SVGAnimatedLength.cpp:
79995        (WebCore::SVGAnimatedLengthAnimator::constructFromBaseValue):
79996        (WebCore):
79997        (WebCore::SVGAnimatedLengthAnimator::resetAnimatedTypeToBaseValue):
79998        * svg/SVGAnimatedLength.h:
79999        (SVGAnimatedLengthAnimator):
80000        * svg/SVGAnimatedLengthList.cpp:
80001        (WebCore::SVGAnimatedLengthListAnimator::constructFromBaseValue):
80002        (WebCore):
80003        (WebCore::SVGAnimatedLengthListAnimator::resetAnimatedTypeToBaseValue):
80004        * svg/SVGAnimatedLengthList.h:
80005        (SVGAnimatedLengthListAnimator):
80006        * svg/SVGAnimatedNumber.cpp:
80007        (WebCore::SVGAnimatedNumberAnimator::constructFromBaseValue):
80008        (WebCore):
80009        (WebCore::SVGAnimatedNumberAnimator::resetAnimatedTypeToBaseValue):
80010        * svg/SVGAnimatedNumber.h:
80011        (SVGAnimatedNumberAnimator):
80012        * svg/SVGAnimatedNumberList.cpp:
80013        (WebCore::SVGAnimatedNumberListAnimator::constructFromBaseValue):
80014        (WebCore):
80015        (WebCore::SVGAnimatedNumberListAnimator::resetAnimatedTypeToBaseValue):
80016        * svg/SVGAnimatedNumberList.h:
80017        (SVGAnimatedNumberListAnimator):
80018        * svg/SVGAnimatedNumberOptionalNumber.cpp:
80019        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::constructFromBaseValue):
80020        (WebCore):
80021        (WebCore::SVGAnimatedNumberOptionalNumberAnimator::resetAnimatedTypeToBaseValue):
80022        * svg/SVGAnimatedNumberOptionalNumber.h:
80023        (WebCore):
80024        (SVGAnimatedNumberOptionalNumberAnimator):
80025        * svg/SVGAnimatedTransformList.cpp:
80026        (WebCore::SVGAnimatedTransformListAnimator::constructFromBaseValue):
80027        (WebCore::SVGAnimatedTransformListAnimator::resetAnimatedTypeToBaseValue):
80028        (WebCore):
80029        * svg/SVGAnimatedTransformList.h:
80030        (SVGAnimatedTransformListAnimator):
80031        * svg/SVGAnimatedType.cpp:
80032        (WebCore::SVGAnimatedType::supportsAnimVal):
80033        * svg/SVGAnimatedType.h:
80034        (SVGAnimatedType):
80035        * svg/SVGAnimatedTypeAnimator.h:
80036        (SVGAnimatedTypeAnimator):
80037        (WebCore::SVGAnimatedTypeAnimator::constructFromBaseValue):
80038        (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeToBaseValue):
80039        (WebCore::SVGAnimatedTypeAnimator::currentBaseValueVariant):
80040        (WebCore::SVGAnimatedTypeAnimator::constructFromOneBaseValue):
80041        (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromOneBaseValue):
80042        (WebCore::SVGAnimatedTypeAnimator::constructFromTwoBaseValues):
80043        (WebCore::SVGAnimatedTypeAnimator::resetAnimatedTypeFromTwoBaseValues):
80044        * svg/SVGAnimationElement.cpp:
80045        (WebCore::findMatchingAnimatedProperties):
80046        (WebCore::SVGAnimationElement::applyAnimatedValue):
80047        (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
80048        (WebCore::SVGAnimationElement::animationStarted):
80049        (WebCore::SVGAnimationElement::animationEnded):
80050        (WebCore::SVGAnimationElement::animatedPropertiesForType):
80051        * svg/SVGAnimationElement.h:
80052        * svg/properties/SVGAnimatedListPropertyTearOff.h:
80053        (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
80054        (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
80055        * svg/properties/SVGAnimatedProperty.h:
80056        (SVGAnimatedProperty):
80057        * svg/properties/SVGAnimatedPropertyTearOff.h:
80058        (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
80059        (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
80060        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
80061        (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
80062        (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
80063
800642012-03-12  Philippe Normand  <pnormand@igalia.com>
80065
80066        [GStreamer] run AudioFileReader in a nested loop
80067        https://bugs.webkit.org/show_bug.cgi?id=80823
80068
80069        Reviewed by Martin Robinson.
80070
80071        Use a separate main loop for the file reader, this approach is
80072        much cleaner than polling the default GLib main context.
80073
80074        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
80075        (AudioFileReader):
80076        (WebCore::enteredMainLoopCallback):
80077        (WebCore):
80078        (WebCore::AudioFileReader::AudioFileReader):
80079        (WebCore::AudioFileReader::handleMessage):
80080        (WebCore::AudioFileReader::start):
80081        (WebCore::AudioFileReader::createBus):
80082
800832012-02-07  Robert Hogan  <robert@webkit.org>
80084
80085        CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
80086        https://bugs.webkit.org/show_bug.cgi?id=78027
80087
80088        Reviewed by Julien Chaffraix.
80089
80090        Both of these test the (slightly implicit) rule that width set on column-groups cannot
80091        affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
80092        FF, Opera and IE all pass these two tests.
80093
80094        Tests: css2.1/20110323/fixed-table-layout-013.htm
80095               css2.1/20110323/fixed-table-layout-015.htm
80096               fast/table/fixed-table-layout-toggle-colwidth.html
80097
80098        * rendering/FixedTableLayout.cpp:
80099        (WebCore::nextCol): A helper function for finding the next column along.
80100        (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
80101        * rendering/RenderTableCol.h:
80102        (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
80103
801042012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
80105
80106        [BlackBerry] Add BlackBerry to NavigatorBase.cpp
80107        https://bugs.webkit.org/show_bug.cgi?id=81303
80108
80109        Reviewed by Rob Buis.
80110
80111        * page/NavigatorBase.cpp:
80112
801132012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
80114
80115        [BlackBerry] Add typedef of DragDataRef for blackberry
80116        https://bugs.webkit.org/show_bug.cgi?id=81301
80117
80118        Reviewed by Rob Buis.
80119
80120        * platform/DragData.h:
80121
801222012-03-16  James Robinson  <jamesr@chromium.org>
80123
80124        [chromium] Unify the drawing logic for different layer types that output textures to the compositor
80125        https://bugs.webkit.org/show_bug.cgi?id=81286
80126
80127        Reviewed by Adrienne Walker.
80128
80129        Currently canvas 2d, webgl, and plugin layers all export a texture to the compositor that then needs to be
80130        drawn.  There are a small set of operations that can be applied to the texture at draw time - do a Y flip,
80131        stretch a subrect to the layer bounds, set the blend mode etc but they are fundamentally the same thing. This
80132        collapses the nearly-redundant code into a single impl-side layer type for a texture-backed layer that can
80133        handle the union of the bits needed for each layer type.
80134
80135        Canvas 2d, WebGL and plugin composited rendering are all covered by layout tests.
80136
80137        * WebCore.gypi:
80138        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
80139        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
80140        * platform/graphics/chromium/CanvasLayerChromium.cpp:
80141        (WebCore::CanvasLayerChromium::createCCLayerImpl):
80142        * platform/graphics/chromium/LayerRendererChromium.cpp:
80143        (WebCore::LayerRendererChromium::drawQuad):
80144        (WebCore::TexStretchTextureProgramBinding::set):
80145        (WebCore::TexTransformTextureProgramBinding::set):
80146        (WebCore::LayerRendererChromium::drawTextureQuad):
80147        (WebCore::LayerRendererChromium::textureLayerProgramFlip):
80148        (WebCore::LayerRendererChromium::textureLayerProgramStretch):
80149        (WebCore::LayerRendererChromium::textureLayerProgramStretchFlip):
80150        (WebCore::LayerRendererChromium::textureLayerTexRectProgram):
80151        (WebCore::LayerRendererChromium::textureLayerTexRectProgramFlip):
80152        (WebCore::LayerRendererChromium::cleanupSharedObjects):
80153        * platform/graphics/chromium/LayerRendererChromium.h:
80154        (WebCore):
80155        (LayerRendererChromium):
80156        * platform/graphics/chromium/PluginLayerChromium.cpp:
80157        (WebCore::PluginLayerChromium::PluginLayerChromium):
80158        (WebCore::PluginLayerChromium::createCCLayerImpl):
80159        (WebCore::PluginLayerChromium::setIOSurfaceProperties):
80160        (WebCore::PluginLayerChromium::pushPropertiesTo):
80161        * platform/graphics/chromium/PluginLayerChromium.h:
80162        (PluginLayerChromium):
80163        * platform/graphics/chromium/WebGLLayerChromium.cpp:
80164        (WebCore::WebGLLayerChromium::pushPropertiesTo):
80165        * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp: Removed.
80166        * platform/graphics/chromium/cc/CCCanvasDrawQuad.h: Removed.
80167        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp: Removed.
80168        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h: Removed.
80169        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
80170        (WebCore::CCDrawQuad::toTextureDrawQuad):
80171        * platform/graphics/chromium/cc/CCDrawQuad.h:
80172        (WebCore):
80173        (CCDrawQuad):
80174        * platform/graphics/chromium/cc/CCTextureDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.cpp.
80175        (WebCore):
80176        (WebCore::CCTextureDrawQuad::create):
80177        (WebCore::CCTextureDrawQuad::CCTextureDrawQuad):
80178        * platform/graphics/chromium/cc/CCTextureDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginDrawQuad.h.
80179        (WebCore):
80180        (CCTextureDrawQuad):
80181        (WebCore::CCTextureDrawQuad::textureId):
80182        (WebCore::CCTextureDrawQuad::hasAlpha):
80183        (WebCore::CCTextureDrawQuad::premultipliedAlpha):
80184        (WebCore::CCTextureDrawQuad::uvRect):
80185        (WebCore::CCTextureDrawQuad::flipped):
80186        (WebCore::CCTextureDrawQuad::ioSurfaceSize):
80187        (WebCore::CCTextureDrawQuad::ioSurfaceTextureId):
80188        * platform/graphics/chromium/cc/CCTextureLayerImpl.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.cpp.
80189        (WebCore):
80190        (WebCore::CCTextureLayerImpl::CCTextureLayerImpl):
80191        (WebCore::CCTextureLayerImpl::~CCTextureLayerImpl):
80192        (WebCore::CCTextureLayerImpl::willDraw):
80193        (WebCore::CCTextureLayerImpl::appendQuads):
80194        (WebCore::CCTextureLayerImpl::dumpLayerProperties):
80195        (WebCore::CCTextureLayerImpl::didLoseContext):
80196        (WebCore::CCTextureLayerImpl::setIOSurfaceProperties):
80197        * platform/graphics/chromium/cc/CCTextureLayerImpl.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCPluginLayerImpl.h.
80198        (WebCore):
80199        (CCTextureLayerImpl):
80200        (WebCore::CCTextureLayerImpl::create):
80201        (WebCore::CCTextureLayerImpl::textureId):
80202        (WebCore::CCTextureLayerImpl::setTextureId):
80203        (WebCore::CCTextureLayerImpl::setHasAlpha):
80204        (WebCore::CCTextureLayerImpl::setPremultipliedAlpha):
80205        (WebCore::CCTextureLayerImpl::setFlipped):
80206        (WebCore::CCTextureLayerImpl::setUVRect):
80207        (WebCore::CCTextureLayerImpl::layerTypeAsString):
80208
802092012-03-16  Martin Robinson  <mrobinson@igalia.com>
80210
80211        [Cairo] Text extent of shadowed text is calculated incorrectly
80212        https://bugs.webkit.org/show_bug.cgi?id=65035
80213
80214        Reviewed by Martin Robinson.
80215
80216        No new tests. This is already covered by fast/canvas/fillText-shadow.html.
80217
80218        Correct determine the size of rendered text using x and y bearing from the font
80219        extents.
80220
80221        * platform/graphics/cairo/FontCairo.cpp:
80222        (WebCore::drawGlyphsShadow): Use the x and y bearing to calculate text extents.
80223        This gives a more accurate sizing and avoids clipping the edges of the shadow.
80224
802252012-03-16  Kentaro Hara  <haraken@chromium.org>
80226
80227        [Chromium][Performance] Optimize innerText and outerText in Chromium/Mac
80228        https://bugs.webkit.org/show_bug.cgi?id=81192
80229
80230        Reviewed by Dimitri Glazkov.
80231
80232        This patch makes innerText and outerText 4 times faster on Chromium/Mac.
80233        A similar performance improvement will be also observed in APIs that are using
80234        TextIterator::plainText() (e.g. Editting, SpellChecker, Clipboard, Pasteboard etc).
80235
80236        Performance test: https://bugs.webkit.org/attachment.cgi?id=131989
80237
80238        - AppleWebKit/JavaScriptCore/Mac:
80239        div.innerText : 2978.4ms
80240        div.outerText : 2944.4ms
80241
80242        - Chromium/V8/Mac without the patch:
80243        div.innerText : 10050.8ms
80244        div.outerText : 10072.2ms
80245
80246        - Chromium/V8/Mac with the patch:
80247        div.innerText: 2536.4ms
80248        div.outerText: 2714ms
80249
80250        This patch just changes the initial buffer size of a plain text buffer on Chromium/Mac.
80251        As shown below, in my local Chromium/Mac environment the performance changes
80252        dramatically between 1<<15 and 1<<16, and in my local Chromium/Linux environment
80253        the performance changes between 1<<17 and 1<<18. I am not yet sure what determines
80254        these figures, but it seems there exists a performance gap at some point
80255        depending on a malloc mechanism.
80256
80257        - div.innerText results on Chromium/V8/Mac:
80258        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 2465.6 ms
80259        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 2447.2 ms   <--- after this patch
80260        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 10250.8 ms  <--- before this patch
80261        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 10278.2 ms
80262
80263        - div.innerText results on Chromium/V8/Linux:
80264        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 14 ==> 1569.8 ms
80265        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 15 ==> 1531.8 ms
80266        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 16 ==> 1543.2 ms  <--- before/after this patch
80267        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 17 ==> 1541.6 ms
80268        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 18 ==> 12540.8 ms
80269        WTF_TEXT_ITERATOR_BUFFER_INITIAL_CAPACITY = 1 << 19 ==> 12340.8 ms
80270
80271        * editing/TextIterator.cpp:
80272        (WebCore::plainTextToMallocAllocatedBuffer):
80273
802742012-03-16  Dmitry Titov  <dimich@chromium.org>
80275
80276        HTMLFrameElementBase::m_remainsAliveOnRemovalFromTree can be cleared without unloading the frame.
80277        https://bugs.webkit.org/show_bug.cgi?id=80766
80278
80279        Reviewed by Adam Barth.
80280
80281        * html/HTMLFrameElementBase.cpp:
80282        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
80283        (WebCore::HTMLFrameElementBase::setRemainsAliveOnRemovalFromTree):
80284        if adoptNode() is called on a detached iframe or with a detached document,
80285        unload the iframe to avoid live iframe to hang around w/o being attached to
80286        a document.
80287
802882012-03-16  Joe Thomas  <joethomas@motorola.com>
80289
80290        Xcode project file is not sorted.
80291        https://bugs.webkit.org/show_bug.cgi?id=81439
80292
80293        Sorted the project file entries using sort-Xcode-project-file script.
80294
80295        Reviewed by Eric Seidel.
80296
80297        * WebCore.xcodeproj/project.pbxproj:
80298
802992012-03-16  Yael Aharon  <yael.aharon@nokia.com>
80300
80301        Unreviewed build fix after r111075.
80302        Correct the path of WebKitBlobBuilder.idl.
80303
80304        * DerivedSources.pri:
80305
803062012-03-16  David Levin  <levin@chromium.org>
80307
80308        Fix for test runs for non-chromium platforms.
80309
80310        * loader/cache/MemoryCache.cpp:
80311        (WebCore::memoryCache):
80312        (WebCore::MemoryCache::add):
80313        (WebCore::MemoryCache::revalidationFailed):
80314        (WebCore::MemoryCache::resourceForURL):
80315        (WebCore::MemoryCache::evict):
80316
803172012-03-16  Tony Chang  <tony@chromium.org>
80318
80319        Unreviewed, rolling out r111094.
80320        http://trac.webkit.org/changeset/111094
80321        https://bugs.webkit.org/show_bug.cgi?id=80882
80322
80323        broke test on chromium-win
80324
80325        * rendering/RenderFlexibleBox.cpp:
80326        (WebCore::RenderFlexibleBox::alignChildren):
80327        * rendering/RenderFlexibleBox.h:
80328        (RenderFlexibleBox):
80329
803302012-03-16  Anders Carlsson  <andersca@apple.com>
80331
80332        REGRESSION (r110737): Height element changes on scrolled page causes failure
80333        https://bugs.webkit.org/show_bug.cgi?id=81381
80334        <rdar://problem/11066006>
80335
80336        Reviewed by Sam Weinig.
80337
80338        Limit the fix made in r110737 to check if there's a rubber-band gesture in progress and only ignore the range if that is the case.
80339
80340        * platform/ScrollAnimator.h:
80341        (WebCore::ScrollAnimator::isRubberBandInProgress):
80342        (ScrollAnimator):
80343        * platform/ScrollView.cpp:
80344        (WebCore::ScrollView::updateScrollbars):
80345        * platform/mac/ScrollAnimatorMac.h:
80346        (ScrollAnimatorMac):
80347        * platform/mac/ScrollAnimatorMac.mm:
80348        (WebCore::ScrollAnimatorMac::isRubberBandInProgress):
80349        (WebCore):
80350        * platform/mac/ScrollElasticityController.h:
80351        (ScrollElasticityController):
80352        * platform/mac/ScrollElasticityController.mm:
80353        (WebCore::ScrollElasticityController::isRubberBandInProgress):
80354        (WebCore):
80355
803562012-03-16  Robert Kroeger  <rjkroege@chromium.org>
80357
80358        GestureTapDown needs to pin in-progress flings
80359        https://bugs.webkit.org/show_bug.cgi?id=80875
80360
80361        Reviewed by Adam Barth.
80362
80363        * page/EventHandler.cpp:
80364        (WebCore):
80365        (WebCore::EventHandler::handleGestureTapDown):
80366        * page/EventHandler.h:
80367        (EventHandler):
80368
803692012-03-16  Chris Rogers  <crogers@google.com>
80370
80371        Account for sample-rate in convolution normalization
80372        https://bugs.webkit.org/show_bug.cgi?id=81432
80373
80374        Reviewed by James Robinson.
80375
80376        * platform/audio/Reverb.cpp:
80377        (WebCore):
80378        (WebCore::calculateNormalizationScale):
80379        * webaudio/ConvolverNode.cpp:
80380        (WebCore::ConvolverNode::setBuffer):
80381
803822012-03-16  Tom Sepez  <tsepez@chromium.org>
80383
80384        Make V8 window.open.call(), window.open.showModalDialog() results more closely match JSC. 
80385        https://bugs.webkit.org/show_bug.cgi?id=81260
80386        https://bugs.webkit.org/show_bug.cgi?id=39897
80387
80388        Reviewed by Adam Barth.
80389
80390        Tested via http/tests/security/cross-frame-access-call.htm
80391
80392        * bindings/v8/custom/V8DOMWindowCustom.cpp:
80393        (WebCore::V8DOMWindow::showModalDialogCallback):
80394        (WebCore::V8DOMWindow::openCallback):
80395
803962012-03-16  Matt Lilek  <mrl@apple.com>
80397
80398        Use modern NSNumberFormatter API in LocalizedNumberMac.mm
80399        https://bugs.webkit.org/show_bug.cgi?id=81429
80400
80401        Reviewed by Dan Bernstein.
80402
80403        No new tests as no change in behavior.
80404
80405        * platform/text/mac/LocalizedNumberMac.mm:
80406        (WebCore::createFormatterForCurrentLocaleForDisplay):
80407
804082012-03-16  Tony Chang  <tony@chromium.org>
80409
80410        flex-item-align: stretch should only grow, never shrink
80411        https://bugs.webkit.org/show_bug.cgi?id=80882
80412
80413        Reviewed by Ojan Vafai.
80414
80415        New test cases in css3/flexbox/flex-align-stretch.html.
80416
80417        * rendering/RenderFlexibleBox.cpp:
80418        (WebCore::RenderFlexibleBox::alignChildren): Move stretch code into a separate function.
80419        (WebCore::RenderFlexibleBox::alignChildStretch): Add an early return if our height is shrinking.
80420        (WebCore):
80421        * rendering/RenderFlexibleBox.h:
80422        (RenderFlexibleBox):
80423
804242012-03-16  Raphael Kubo da Costa  <kubo@profusion.mobi>
80425
80426        [EFL] Unreviewed, fix build after r111041.
80427
80428        * platform/efl/RenderThemeEfl.cpp:
80429        (WebCore::RenderThemeEfl::emitMediaButtonSignal): Rename
80430        MediaFullscreenButton to MediaEnterFullscreenButton.
80431        (WebCore::RenderThemeEfl::paintMediaFullscreenButton): Ditto.
80432
804332012-03-16  Dmitry Lomov  <dslomov@google.com>
80434
80435        REGRESSION: DOMURL::revokeObjectURL accesses memoryCache on worker thread.
80436        https://bugs.webkit.org/show_bug.cgi?id=80889
80437        On worker threads, post a task to main thread to evict from cache.
80438        ASSERT that MemoryCache is only accessed from main thread.
80439
80440        Reviewed by David Levin.
80441
80442        * html/DOMURL.cpp:
80443        (WebCore::DOMURL::revokeObjectURL):
80444        * loader/cache/MemoryCache.cpp:
80445        (WebCore::memoryCache):
80446        (WebCore::MemoryCache::add):
80447        (WebCore::MemoryCache::revalidationFailed):
80448        (WebCore::MemoryCache::resourceForURL):
80449        (WebCore::MemoryCache::evict):
80450        (WebCore):
80451        (WebCore::MemoryCache::removeUrlFromCache):
80452        (WebCore::MemoryCache::removeUrlFromCacheImpl):
80453        * loader/cache/MemoryCache.h:
80454        (WebCore):
80455        (MemoryCache):
80456
804572012-03-16  Jacky Jiang  <zhajiang@rim.com>
80458
80459        [BlackBerry] Upstream ScriptControllerBlackBerry.cpp
80460        https://bugs.webkit.org/show_bug.cgi?id=81397
80461
80462        Reviewed by Rob Buis.
80463
80464        Initial upstream, no new tests.
80465
80466        * bindings/js/ScriptControllerBlackBerry.cpp: Added.
80467
804682012-03-16  Adam Barth  <abarth@webkit.org>
80469
80470        remove-body-during-body-replacement2.html is triggering crashes on all platforms
80471        https://bugs.webkit.org/show_bug.cgi?id=81374
80472
80473        Reviewed by Eric Seidel.
80474
80475        When overriding disconnectFrame, we need to call the base class version
80476        of the method so that it can clear the m_frame pointer.
80477
80478        Tests: This patch fixes a large number of crashes in tests.
80479
80480        * notifications/DOMWindowNotifications.cpp:
80481        (WebCore::DOMWindowNotifications::disconnectFrame):
80482
804832012-03-16  Leo Yang  <leo.yang@torchmobile.com.cn>
80484
80485        [BlackBerry] Upstream the BlackBerry change to platform/Widget.h
80486        https://bugs.webkit.org/show_bug.cgi?id=81304
80487
80488        Reviewed by Rob Buis.
80489
80490        typedefs of PlatformWidget and PlatformPageClient for the BlackBerry.
80491
80492        * platform/Widget.h:
80493
804942012-03-16  David Barton  <dbarton@mathscribe.com>
80495
80496        MathML internals - factor code for almost anonymous blocks
80497        https://bugs.webkit.org/show_bug.cgi?id=81387
80498
80499        Reviewed by Eric Seidel.
80500
80501        MathML uses "almost anonymous" blocks to layout parts of mathematical expressions. These
80502        will be converted to true anonymous blocks in a later patch. Here we factor out the code
80503        to create them into RenderMathMLBlock::createAlmostAnonymousBlock().
80504
80505        No new tests. Some tree dump output is modified for existing tests. <munder>, <mover>,
80506        and <munderover> renderers already used true anonymous blocks, so we change them to call
80507        RenderBlock::createAnonymousBlock(). In the other direction, <mroot>'s almost anonymous
80508        blocks are now made RenderMathMLBlock not just RenderBlock, in agreement with other
80509        current MathML renderers.
80510
80511        * rendering/mathml/RenderMathMLBlock.cpp:
80512        (WebCore::RenderMathMLBlock::createAlmostAnonymousBlock):
80513        * rendering/mathml/RenderMathMLBlock.h:
80514        (RenderMathMLBlock):
80515        (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
80516        * rendering/mathml/RenderMathMLFenced.cpp:
80517        (WebCore::RenderMathMLFenced::addChild):
80518        * rendering/mathml/RenderMathMLFraction.cpp:
80519        (WebCore::RenderMathMLFraction::updateFromElement):
80520            - improve some variable names
80521        (WebCore::RenderMathMLFraction::addChild):
80522        (WebCore::RenderMathMLFraction::layout):
80523        (WebCore::RenderMathMLFraction::paint):
80524        (WebCore::RenderMathMLFraction::baselinePosition):
80525        * rendering/mathml/RenderMathMLRoot.cpp:
80526        (WebCore::RenderMathMLRoot::addChild):
80527        * rendering/mathml/RenderMathMLSubSup.cpp:
80528        (WebCore::RenderMathMLSubSup::addChild):
80529        * rendering/mathml/RenderMathMLSubSup.h:
80530        * rendering/mathml/RenderMathMLUnderOver.cpp:
80531        (WebCore::RenderMathMLUnderOver::addChild):
80532
805332012-03-16  Levi Weintraub  <leviw@chromium.org>
80534
80535        Prepare RenderObject for FractionalLayoutUnits
80536        https://bugs.webkit.org/show_bug.cgi?id=81178
80537
80538        Reviewed by Eric Seidel.
80539
80540        This readies RenderObject to deal with FractionalLayoutUnits as a backend for the
80541        LayoutUnit abstraction.
80542
80543        No new tests. No change in behavior.
80544
80545        * rendering/RenderObject.cpp:
80546        (WebCore::RenderObject::pixelSnappedAbsoluteClippedOverflowRect): Convenience method to be
80547        used instead of absouluteClippedOverflowRect in platform code. Platform updates will come
80548        in a separate patch.
80549        (WebCore):
80550        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Borders remain ints when we move to
80551        sub-pixel layout. This adjusts border variables for this, and adds compiler fixes when
80552        using std::max and std::min with mixed int/LayoutUnits.
80553        (WebCore::RenderObject::adjustRectForOutlineAndShadow): Outlines, like borders, remain
80554        ints in the new sub-pixel world. Using variables that reflect that.
80555        * rendering/RenderObject.h:
80556        (RenderObject):
80557        (WebCore::adjustForAbsoluteZoom): Handles FractionalLayoutUnit values. Flooring is what
80558        JavaScript requires since this is used with values that must return ints.
80559        (WebCore): Adding FractionalLayoutUnit.h to support the new adjusteForAbsoluteZoom method.
80560
805612012-03-16  Brady Eidson  <beidson@apple.com>
80562
80563        <rdar://problem/11027997> and https://bugs.webkit.org/show_bug.cgi?id=81412
80564        REGRESSION (r107435) Copy a link and paste to Mail: Nothing is pasted
80565
80566        Reviewed by Geoff Garen.
80567
80568        WebKit API test WebViewCanPasteURL.mm added.
80569
80570        * WebCore.exp.in:
80571
80572        Add a strategy method specifically for getting the URL:
80573        * platform/PasteboardStrategy.h:
80574
80575        Use that strategy method when creating the fragment for a URL:
80576        * platform/mac/PasteboardMac.mm:
80577        (WebCore::Pasteboard::documentFragment):
80578
80579        Add a platform pasteboard accessor to "do the right thing" for getting a URL:
80580        * platform/PlatformPasteboard.h:
80581        * platform/mac/PlatformPasteboardMac.mm:
80582        (WebCore::PlatformPasteboard::url):
80583
805842012-03-16  Joseph Pecoraro  <pecoraro@apple.com>
80585
80586        <http://webkit.org/b/81380> clang warning unused variable when ENABLE(TEXT_CARET) is disabled
80587
80588        Reviewed by Dan Bernstein.
80589
80590        * editing/FrameSelection.cpp:
80591        (WebCore::FrameSelection::recomputeCaretRect):
80592        Put the variable inside of a guard because it is only
80593        used inside of a guard.
80594
805952012-03-16  Andreas Kling  <kling@webkit.org>
80596
80597        Shrink BorderValue.
80598        <http://webkit.org/b/69521>
80599
80600        Reviewed by Anders Carlsson.
80601
80602        Split BorderValue's Color member into RGBA32/bool buddies and stash the bool in
80603        the BorderValue bitfield.
80604
80605        This shrinks BorderValue by 4 bytes, in turn shrinking BorderData by 16 bytes.
80606        Altogether this yields ~800 kB in reduced memory consumption when viewing the full
80607        HTML5 spec at <http://whatwg.org/c>
80608
80609        * rendering/style/BorderValue.h:
80610        (WebCore::BorderValue::BorderValue):
80611        (WebCore::BorderValue::isTransparent):
80612        (WebCore::BorderValue::operator==):
80613        (BorderValue):
80614        (WebCore::BorderValue::setColor):
80615        (WebCore::BorderValue::color):
80616        * rendering/style/OutlineValue.h:
80617        (WebCore::OutlineValue::operator==):
80618        * rendering/style/RenderStyle.cpp:
80619        (SameSizeAsBorderValue):
80620        * rendering/style/RenderStyle.h:
80621
806222012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
80623
80624        Moves remaining filesystem files to Modules/filesystem/
80625        https://bugs.webkit.org/show_bug.cgi?id=81353
80626
80627        Reviewed by Adam Barth.
80628
80629        No new tests, all existing tests pass.
80630
80631        * CMakeLists.txt:
80632        * DerivedSources.make:
80633        * DerivedSources.pri:
80634        * GNUmakefile.list.am:
80635        * Modules/filesystem/AsyncFileWriter.h: Copied from Source/WebCore/fileapi/AsyncFileWriter.h.
80636        * Modules/filesystem/AsyncFileWriterClient.h: Copied from Source/WebCore/fileapi/AsyncFileWriterClient.h.
80637        * Modules/filesystem/DOMFilePath.cpp: Copied from Source/WebCore/fileapi/DOMFilePath.cpp.
80638        * Modules/filesystem/DOMFilePath.h: Copied from Source/WebCore/fileapi/DOMFilePath.h.
80639        * Modules/filesystem/DOMFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMFileSystem.cpp.
80640        * Modules/filesystem/DOMFileSystem.h: Copied from Source/WebCore/fileapi/DOMFileSystem.h.
80641        * Modules/filesystem/DOMFileSystem.idl: Copied from Source/WebCore/fileapi/DOMFileSystem.idl.
80642        * Modules/filesystem/DOMFileSystemBase.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemBase.cpp.
80643        * Modules/filesystem/DOMFileSystemBase.h: Copied from Source/WebCore/fileapi/DOMFileSystemBase.h.
80644        * Modules/filesystem/DOMFileSystemSync.cpp: Copied from Source/WebCore/fileapi/DOMFileSystemSync.cpp.
80645        * Modules/filesystem/DOMFileSystemSync.h: Copied from Source/WebCore/fileapi/DOMFileSystemSync.h.
80646        * Modules/filesystem/DOMFileSystemSync.idl: Copied from Source/WebCore/fileapi/DOMFileSystemSync.idl.
80647        * Modules/filesystem/Entry.cpp: Copied from Source/WebCore/fileapi/Entry.cpp.
80648        * Modules/filesystem/Entry.h: Copied from Source/WebCore/fileapi/Entry.h.
80649        * Modules/filesystem/Entry.idl: Copied from Source/WebCore/fileapi/Entry.idl.
80650        * Modules/filesystem/EntryArray.cpp: Copied from Source/WebCore/fileapi/EntryArray.cpp.
80651        * Modules/filesystem/EntryArray.h: Copied from Source/WebCore/fileapi/EntryArray.h.
80652        * Modules/filesystem/EntryArray.idl: Copied from Source/WebCore/fileapi/EntryArray.idl.
80653        * Modules/filesystem/EntryArraySync.cpp: Copied from Source/WebCore/fileapi/EntryArraySync.cpp.
80654        * Modules/filesystem/EntryArraySync.h: Copied from Source/WebCore/fileapi/EntryArraySync.h.
80655        * Modules/filesystem/EntryArraySync.idl: Copied from Source/WebCore/fileapi/EntryArraySync.idl.
80656        * Modules/filesystem/EntryBase.cpp: Copied from Source/WebCore/fileapi/EntryBase.cpp.
80657        * Modules/filesystem/EntryBase.h: Copied from Source/WebCore/fileapi/EntryBase.h.
80658        * Modules/filesystem/EntryCallback.h: Copied from Source/WebCore/fileapi/EntryCallback.h.
80659        * Modules/filesystem/EntryCallback.idl: Copied from Source/WebCore/fileapi/EntryCallback.idl.
80660        * Modules/filesystem/EntrySync.cpp: Copied from Source/WebCore/fileapi/EntrySync.cpp.
80661        * Modules/filesystem/EntrySync.h: Copied from Source/WebCore/fileapi/EntrySync.h.
80662        * Modules/filesystem/EntrySync.idl: Copied from Source/WebCore/fileapi/EntrySync.idl.
80663        * Modules/filesystem/ErrorCallback.h: Copied from Source/WebCore/fileapi/ErrorCallback.h.
80664        * Modules/filesystem/ErrorCallback.idl: Copied from Source/WebCore/fileapi/ErrorCallback.idl.
80665        * Modules/filesystem/FileCallback.h: Copied from Source/WebCore/fileapi/FileCallback.h.
80666        * Modules/filesystem/FileCallback.idl: Copied from Source/WebCore/fileapi/FileCallback.idl.
80667        * Modules/filesystem/FileEntry.cpp: Copied from Source/WebCore/fileapi/FileEntry.cpp.
80668        * Modules/filesystem/FileEntry.h: Copied from Source/WebCore/fileapi/FileEntry.h.
80669        * Modules/filesystem/FileEntry.idl: Copied from Source/WebCore/fileapi/FileEntry.idl.
80670        * Modules/filesystem/FileEntrySync.cpp: Copied from Source/WebCore/fileapi/FileEntrySync.cpp.
80671        * Modules/filesystem/FileEntrySync.h: Copied from Source/WebCore/fileapi/FileEntrySync.h.
80672        * Modules/filesystem/FileEntrySync.idl: Copied from Source/WebCore/fileapi/FileEntrySync.idl.
80673        * Modules/filesystem/FileSystemCallback.h: Copied from Source/WebCore/fileapi/FileSystemCallback.h.
80674        * Modules/filesystem/FileSystemCallback.idl: Copied from Source/WebCore/fileapi/FileSystemCallback.idl.
80675        * Modules/filesystem/FileSystemCallbacks.cpp: Copied from Source/WebCore/fileapi/FileSystemCallbacks.cpp.
80676        * Modules/filesystem/FileSystemCallbacks.h: Copied from Source/WebCore/fileapi/FileSystemCallbacks.h.
80677        * Modules/filesystem/FileWriter.cpp: Copied from Source/WebCore/fileapi/FileWriter.cpp.
80678        * Modules/filesystem/FileWriter.h: Copied from Source/WebCore/fileapi/FileWriter.h.
80679        * Modules/filesystem/FileWriter.idl: Copied from Source/WebCore/fileapi/FileWriter.idl.
80680        * Modules/filesystem/FileWriterBase.cpp: Copied from Source/WebCore/fileapi/FileWriterBase.cpp.
80681        * Modules/filesystem/FileWriterBase.h: Copied from Source/WebCore/fileapi/FileWriterBase.h.
80682        * Modules/filesystem/FileWriterBaseCallback.h: Copied from Source/WebCore/fileapi/FileWriterBaseCallback.h.
80683        * Modules/filesystem/FileWriterCallback.h: Copied from Source/WebCore/fileapi/FileWriterCallback.h.
80684        * Modules/filesystem/FileWriterCallback.idl: Copied from Source/WebCore/fileapi/FileWriterCallback.idl.
80685        * Modules/filesystem/FileWriterSync.cpp: Copied from Source/WebCore/fileapi/FileWriterSync.cpp.
80686        * Modules/filesystem/FileWriterSync.h: Copied from Source/WebCore/fileapi/FileWriterSync.h.
80687        * Modules/filesystem/FileWriterSync.idl: Copied from Source/WebCore/fileapi/FileWriterSync.idl.
80688        * Modules/filesystem/LocalFileSystem.cpp: Copied from Source/WebCore/fileapi/LocalFileSystem.cpp.
80689        * Modules/filesystem/LocalFileSystem.h: Copied from Source/WebCore/fileapi/LocalFileSystem.h.
80690        * Modules/filesystem/Metadata.h: Copied from Source/WebCore/fileapi/Metadata.h.
80691        * Modules/filesystem/Metadata.idl: Copied from Source/WebCore/fileapi/Metadata.idl.
80692        * Modules/filesystem/MetadataCallback.h: Copied from Source/WebCore/fileapi/MetadataCallback.h.
80693        * Modules/filesystem/MetadataCallback.idl: Copied from Source/WebCore/fileapi/MetadataCallback.idl.
80694        * Modules/filesystem/SyncCallbackHelper.h: Copied from Source/WebCore/fileapi/SyncCallbackHelper.h.
80695        * Modules/filesystem/WebKitFlags.h: Copied from Source/WebCore/fileapi/WebKitFlags.h.
80696        * Modules/filesystem/WorkerContextFileSystem.cpp: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.cpp.
80697        * Modules/filesystem/WorkerContextFileSystem.h: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.h.
80698        * Modules/filesystem/WorkerContextFileSystem.idl: Copied from Source/WebCore/fileapi/WorkerContextFileSystem.idl.
80699        * Target.pri:
80700        * WebCore.gyp/WebCore.gyp:
80701        * WebCore.gypi:
80702        * WebCore.vcproj/WebCore.vcproj:
80703        * WebCore.xcodeproj/project.pbxproj:
80704        * fileapi/AsyncFileWriter.h: Removed.
80705        * fileapi/AsyncFileWriterClient.h: Removed.
80706        * fileapi/DOMFilePath.cpp: Removed.
80707        * fileapi/DOMFilePath.h: Removed.
80708        * fileapi/DOMFileSystem.cpp: Removed.
80709        * fileapi/DOMFileSystem.h: Removed.
80710        * fileapi/DOMFileSystem.idl: Removed.
80711        * fileapi/DOMFileSystemBase.cpp: Removed.
80712        * fileapi/DOMFileSystemBase.h: Removed.
80713        * fileapi/DOMFileSystemSync.cpp: Removed.
80714        * fileapi/DOMFileSystemSync.h: Removed.
80715        * fileapi/DOMFileSystemSync.idl: Removed.
80716        * fileapi/Entry.cpp: Removed.
80717        * fileapi/Entry.h: Removed.
80718        * fileapi/Entry.idl: Removed.
80719        * fileapi/EntryArray.cpp: Removed.
80720        * fileapi/EntryArray.h: Removed.
80721        * fileapi/EntryArray.idl: Removed.
80722        * fileapi/EntryArraySync.cpp: Removed.
80723        * fileapi/EntryArraySync.h: Removed.
80724        * fileapi/EntryArraySync.idl: Removed.
80725        * fileapi/EntryBase.cpp: Removed.
80726        * fileapi/EntryBase.h: Removed.
80727        * fileapi/EntryCallback.h: Removed.
80728        * fileapi/EntryCallback.idl: Removed.
80729        * fileapi/EntrySync.cpp: Removed.
80730        * fileapi/EntrySync.h: Removed.
80731        * fileapi/EntrySync.idl: Removed.
80732        * fileapi/ErrorCallback.h: Removed.
80733        * fileapi/ErrorCallback.idl: Removed.
80734        * fileapi/FileCallback.h: Removed.
80735        * fileapi/FileCallback.idl: Removed.
80736        * fileapi/FileEntry.cpp: Removed.
80737        * fileapi/FileEntry.h: Removed.
80738        * fileapi/FileEntry.idl: Removed.
80739        * fileapi/FileEntrySync.cpp: Removed.
80740        * fileapi/FileEntrySync.h: Removed.
80741        * fileapi/FileEntrySync.idl: Removed.
80742        * fileapi/FileSystemCallback.h: Removed.
80743        * fileapi/FileSystemCallback.idl: Removed.
80744        * fileapi/FileSystemCallbacks.cpp: Removed.
80745        * fileapi/FileSystemCallbacks.h: Removed.
80746        * fileapi/FileWriter.cpp: Removed.
80747        * fileapi/FileWriter.h: Removed.
80748        * fileapi/FileWriter.idl: Removed.
80749        * fileapi/FileWriterBase.cpp: Removed.
80750        * fileapi/FileWriterBase.h: Removed.
80751        * fileapi/FileWriterBaseCallback.h: Removed.
80752        * fileapi/FileWriterCallback.h: Removed.
80753        * fileapi/FileWriterCallback.idl: Removed.
80754        * fileapi/FileWriterSync.cpp: Removed.
80755        * fileapi/FileWriterSync.h: Removed.
80756        * fileapi/FileWriterSync.idl: Removed.
80757        * fileapi/LocalFileSystem.cpp: Removed.
80758        * fileapi/LocalFileSystem.h: Removed.
80759        * fileapi/Metadata.h: Removed.
80760        * fileapi/Metadata.idl: Removed.
80761        * fileapi/MetadataCallback.h: Removed.
80762        * fileapi/MetadataCallback.idl: Removed.
80763        * fileapi/SyncCallbackHelper.h: Removed.
80764        * fileapi/WebKitFlags.h: Removed.
80765        * fileapi/WorkerContextFileSystem.cpp: Removed.
80766        * fileapi/WorkerContextFileSystem.h: Removed.
80767        * fileapi/WorkerContextFileSystem.idl: Removed.
80768
807692012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
80770
80771        Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB) in OperationNotAllowedException.idl
80772        https://bugs.webkit.org/show_bug.cgi?id=81391
80773
80774        Reviewed by Adam Barth.
80775
80776        No new tests, all existing tests pass.
80777
80778        * fileapi/OperationNotAllowedException.idl:
80779
807802012-03-16  Emil A Eklund  <eae@chromium.org>
80781
80782        Fix rounding and usage of LayoutUnits in RenderBoxModelObject
80783        https://bugs.webkit.org/show_bug.cgi?id=81057
80784
80785        Reviewed by Julien Chaffraix.
80786
80787        No new tests.
80788
80789        (WebCore):
80790        * rendering/RenderBoxModelObject.cpp:
80791        (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
80792        (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
80793        Fix implementation of pixelSnappedOffsetWidth/Height. The location
80794        parameter will be ignored until we enable subpixel support.
80795
80796        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
80797        Use ints for border widths.
80798        
80799        (WebCore::resolveWidthForRatio):
80800        (WebCore::resolveHeightForRatio):
80801        (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio):
80802        (WebCore::resolveAgainstIntrinsicRatio):
80803        Change resolve*Ratio methods to operate on IntSizes as none of the
80804        callers need subpixel precision.
80805
80806        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
80807        (WebCore::RenderBoxModelObject::paintNinePieceImage):
80808        Pixel snap paintRect when computing image geometry.
80809
808102012-03-16  Terry Anderson  <tdanderson@chromium.org>
80811
80812        100% height elements to not respond to vertical browser rescaling
80813        https://bugs.webkit.org/show_bug.cgi?id=43022
80814
80815        Reviewed by Julien Chaffraix.
80816
80817        Test: fast/replaced/vertical-resize-100percent-element.html
80818
80819        * rendering/RenderBox.cpp:
80820        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
80821            For the case where a replaced element has a percentage height,
80822            we update the entries in RenderBlock::gPercentHeightDescendantsMap
80823            corresponding to all ancestors of the replaced element.
80824
808252012-03-15  Daniel Cheng  <dcheng@chromium.org>
80826
80827        [chromium] Refactor ClipboardChromium and DataTransferItemList/DataTransferItem to support HTML spec
80828        https://bugs.webkit.org/show_bug.cgi?id=76598
80829
80830        Reviewed by Tony Chang.
80831
80832        We no longer store drag/clipboard data in named fields. We used to maintain the data store
80833        list separately, which resulted in a lot of complicated code to try to make sure that
80834        ChromiumDataObject and this list stayed in sync. We now just store what is essentially a
80835        list MIME type/data pairs directly in ChromiumDataObject. This has the benefit of letting us
80836        easily add write support during dragstart/copy operations using DataTransferItemList.
80837
80838        Tests: fast/events/clipboard-dataTransferItemList.html
80839               fast/events/drag-dataTransferItemList.html
80840
80841        * platform/chromium/ChromiumDataObject.cpp:
80842        (WebCore::findItem):
80843        (WebCore::ChromiumDataObject::createFromPasteboard):
80844        (WebCore::ChromiumDataObject::create):
80845        (WebCore::ChromiumDataObject::copy):
80846        (WebCore::ChromiumDataObject::items):
80847        (WebCore::ChromiumDataObject::clearData):
80848        (WebCore::ChromiumDataObject::clearAll):
80849        (WebCore::ChromiumDataObject::clearAllExceptFiles):
80850        (WebCore::ChromiumDataObject::types):
80851        (WebCore::ChromiumDataObject::getData):
80852        (WebCore::ChromiumDataObject::setData):
80853        (WebCore::ChromiumDataObject::urlAndTitle):
80854        (WebCore::ChromiumDataObject::setURLAndTitle):
80855        (WebCore::ChromiumDataObject::htmlAndBaseURL):
80856        (WebCore::ChromiumDataObject::setHTMLAndBaseURL):
80857        (WebCore::ChromiumDataObject::containsFilenames):
80858        (WebCore):
80859        (WebCore::ChromiumDataObject::filenames):
80860        (WebCore::ChromiumDataObject::addFilename):
80861        (WebCore::ChromiumDataObject::addSharedBuffer):
80862        (WebCore::ChromiumDataObject::ChromiumDataObject):
80863        * platform/chromium/ChromiumDataObject.h:
80864        (WebCore):
80865        (ChromiumDataObject):
80866        * platform/chromium/ClipboardChromium.cpp:
80867        (WebCore::normalizeType):
80868        (WebCore::ClipboardChromium::ClipboardChromium):
80869        (WebCore::ClipboardChromium::clearData):
80870        (WebCore::ClipboardChromium::clearAllData):
80871        (WebCore::ClipboardChromium::getData):
80872        (WebCore::ClipboardChromium::setData):
80873        (WebCore::ClipboardChromium::types):
80874        (WebCore::ClipboardChromium::files):
80875        (WebCore::writeImageToDataObject):
80876        (WebCore::ClipboardChromium::declareAndWriteDragImage):
80877        (WebCore::ClipboardChromium::writeURL):
80878        (WebCore::ClipboardChromium::writeRange):
80879        (WebCore::ClipboardChromium::writePlainText):
80880        (WebCore::ClipboardChromium::hasData):
80881        (WebCore::ClipboardChromium::items):
80882        * platform/chromium/ClipboardChromium.h:
80883        (WebCore):
80884        (ClipboardChromium):
80885        (WebCore::ClipboardChromium::frame):
80886        * platform/chromium/ClipboardUtilitiesChromium.cpp:
80887        (WebCore::convertURIListToURL):
80888        (WebCore):
80889        * platform/chromium/ClipboardUtilitiesChromium.h:
80890        (WebCore):
80891        * platform/chromium/DataTransferItemChromium.cpp:
80892        (WebCore::DataTransferItemChromium::createFromString):
80893        (WebCore::DataTransferItemChromium::createFromFile):
80894        (WebCore::DataTransferItemChromium::createFromURL):
80895        (WebCore::DataTransferItemChromium::createFromHTML):
80896        (WebCore):
80897        (WebCore::DataTransferItemChromium::createFromSharedBuffer):
80898        (WebCore::DataTransferItemChromium::createFromPasteboard):
80899        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
80900        (WebCore::DataTransferItemChromium::getAsString):
80901        (WebCore::DataTransferItemChromium::getAsFile):
80902        (WebCore::DataTransferItemChromium::internalGetAsString):
80903        (WebCore::DataTransferItemChromium::isFilename):
80904        * platform/chromium/DataTransferItemChromium.h:
80905        (WebCore):
80906        (DataTransferItemChromium):
80907        (WebCore::DataTransferItemChromium::kind):
80908        (WebCore::DataTransferItemChromium::type):
80909        (WebCore::DataTransferItemChromium::sharedBuffer):
80910        (WebCore::DataTransferItemChromium::title):
80911        (WebCore::DataTransferItemChromium::baseURL):
80912        * platform/chromium/DataTransferItemListChromium.cpp:
80913        (WebCore::DataTransferItemListChromium::create):
80914        (WebCore::DataTransferItemListChromium::createFromPasteboard):
80915        (WebCore):
80916        (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
80917        (WebCore::DataTransferItemListChromium::length):
80918        (WebCore::DataTransferItemListChromium::item):
80919        (WebCore::DataTransferItemListChromium::deleteItem):
80920        (WebCore::DataTransferItemListChromium::clear):
80921        (WebCore::DataTransferItemListChromium::add):
80922        (WebCore::DataTransferItemListChromium::internalAddStringItem):
80923        (WebCore::DataTransferItemListChromium::internalAddFileItem):
80924        * platform/chromium/DataTransferItemListChromium.h:
80925        (WebCore):
80926        (DataTransferItemListChromium):
80927        * platform/chromium/DragDataChromium.cpp:
80928        (WebCore::DragData::asURL):
80929        (WebCore::DragData::asPlainText):
80930        (WebCore::DragData::asFragment):
80931
809322012-03-16  Matt Lilek  <mrl@apple.com>
80933
80934        Don't install libWebCoreTestSupport on OS X production builds
80935        https://bugs.webkit.org/show_bug.cgi?id=81087
80936
80937        Reviewed by Mark Rowe.
80938
80939        * Configurations/WebCoreTestSupport.xcconfig:
80940
809412012-03-16  Tony Chang  <tony@chromium.org>
80942
80943        incorrectly removing scrollbar height for auto height flexbox children
80944        https://bugs.webkit.org/show_bug.cgi?id=81388
80945
80946        Reviewed by Ojan Vafai.
80947
80948        In a column flexbox, when computing the preferred height of an auto
80949        height child, we were subtracting out the horizontal scrollbar height.
80950
80951        New test case in css3/flexbox/columns-auto-size.html.
80952
80953        * rendering/RenderFlexibleBox.cpp:
80954        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
80955
809562012-03-16  Adam Klein  <adamk@chromium.org>
80957
80958        Out-of-document radio buttons should be grouped when associated with a form
80959        https://bugs.webkit.org/show_bug.cgi?id=81268
80960
80961        Reviewed by Kent Tamura.
80962
80963        Per the HTML spec, and the behavior of Firefox and IE 8/9, radio buttons
80964        with a form owner should be grouped, even if that form is not in the document.
80965
80966        r104668 added many inDocument() tests to radio button grouping code.
80967        While those are necessary to avoid unattached <input type=radio>
80968        elements being grouped together, it also kept them from being grouped
80969        when associated with a form outside the document.
80970
80971        This patch changes the HTMLInputElement::checkedRadioButtons() method
80972        to return either a pointer to the proper CheckedRadioButtons instance
80973        (either the document's or a form's), but will return null if the
80974        element should not be associated with any radio button group.
80975
80976        The main fallout of this was that the callers of checkedRadioButtons()
80977        now have to check for null, resulting in the creation of a few helper
80978        methods in HTMLInputElement to wrap the null checks.
80979
80980        This refactoring has the pleasant side-effect of exposing a cleaner API between
80981        HTMLInputElement and RadioInputType, and making a clearer contract
80982        between HTMLInputElement and CheckedRadioButtons (e.g., all
80983        CheckedRadioButtons methods that take an element can now assume that
80984        it is a radio button, where previously some checked for that and
80985        others asserted it).
80986
80987        Test: fast/forms/radio/radio-group-in-detached-form.html
80988
80989        * dom/CheckedRadioButtons.cpp:
80990        (WebCore): Removed shouldMakeRadioGroup() helper function.
80991        (WebCore::CheckedRadioButtons::addButton): Replace call to shouldMakeRadioGroup
80992        with appropriate assert and name check.
80993        (WebCore::CheckedRadioButtons::updateCheckedState): ditto.
80994        (WebCore::CheckedRadioButtons::requiredAttributeChanged): ditto.
80995        (WebCore::CheckedRadioButtons::isRequiredGroup): Renamed from isInRequiredGroup,
80996        changed to take only a group name, not an element.
80997        (WebCore::CheckedRadioButtons::removeButton): Replace call to shouldMakeRadioGroup.
80998        with appropriate assert and name check.
80999        * dom/CheckedRadioButtons.h:
81000        (CheckedRadioButtons):
81001        * html/HTMLInputElement.cpp:
81002        (WebCore::HTMLInputElement::~HTMLInputElement): Added isRadioButton check
81003        now that it's asserted in CheckedRadioButtons.
81004        (WebCore::HTMLInputElement::updateType): Call helper method instead of
81005        calling directly into CheckedRadioButtons.
81006        (WebCore::HTMLInputElement::parseAttribute): ditto.
81007        (WebCore::HTMLInputElement::setChecked): ditto.
81008        (WebCore::HTMLInputElement::willChangeForm): ditto.
81009        (WebCore::HTMLInputElement::didChangeForm): ditto.
81010        (WebCore::HTMLInputElement::insertedIntoDocument): ditto.
81011        (WebCore::HTMLInputElement::removedFromDocument): ditto.
81012        (WebCore::HTMLInputElement::didMoveToNewDocument): Added isRadioButton check.
81013        (WebCore::HTMLInputElement::requiredAttributeChanged): Check for membership in a group
81014        before calling into CheckedRadioButtons.
81015        (WebCore::HTMLInputElement::isInRequiredRadioButtonGroup): Added helper method for use by RadioInputType.
81016        (WebCore):
81017        (WebCore::HTMLInputElement::checkedRadioButtonForGroup): ditto.
81018        (WebCore::HTMLInputElement::checkedRadioButtons): Changed to return a
81019        pointer, only return non-null if actually a member of a group.
81020        (WebCore::HTMLInputElement::addToRadioButtonGroup): Helper method for
81021        use in HTMLInputElement.
81022        (WebCore::HTMLInputElement::removeFromRadioButtonGroup): ditto.
81023        * html/HTMLInputElement.h:
81024        (HTMLInputElement): Added/removed methods, removed outdated comment about visibility.
81025        * html/RadioInputType.cpp:
81026        (WebCore::RadioInputType::valueMissing): Call new HTMLInputElement methods instead
81027        of interacting directly with CheckedRadioButtons.
81028        (WebCore::RadioInputType::isKeyboardFocusable): ditto.
81029        (WebCore::RadioInputType::willDispatchClick): ditto.
81030
810312012-03-16  David Hyatt  <hyatt@apple.com>
81032
81033        https://bugs.webkit.org/show_bug.cgi?id=81366
81034        
81035        Add RenderMultiColumnBlock subclass of RenderBlock. This new class will hold all of the multi-column
81036        logic (as well as painting/hit testing). That way the column code can be kept out of the base class
81037        and be more cleanly factored.
81038
81039        Patch Node::diff so that we detach and re-attach the renderer if column counts or widths change
81040        from auto to non-auto (and vice versa) to ensure the right renderer gets made.
81041        
81042        Patch RenderObject::createObject to make a RenderMultiColumnBlock if either the column count or
81043        column width is non-auto.
81044        
81045        Patch RenderBlock::calcColumnWidth to "turn off" the old implementation of columns if the pref to use
81046        the new column implementation is set. This single chokepoint should be sufficient for disabling the old
81047        columns in favor of the new.
81048
81049        Reviewed by Dan Bernstein.
81050
81051        * CMakeLists.txt:
81052        * GNUmakefile.list.am:
81053        * WebCore.gypi:
81054        * WebCore.vcproj/WebCore.vcproj:
81055        * WebCore.xcodeproj/project.pbxproj:
81056        * dom/Document.cpp:
81057        (WebCore::Document::regionBasedColumnsEnabled):
81058        (WebCore):
81059        (WebCore::Document::recalcStyle):
81060        * dom/Document.h:
81061        (Document):
81062        * dom/Element.cpp:
81063        (WebCore::Element::recalcStyle):
81064        * dom/Node.cpp:
81065        (WebCore::Node::diff):
81066        * dom/Node.h:
81067        * rendering/RenderBlock.cpp:
81068        (WebCore::RenderBlock::calcColumnWidth):
81069        (WebCore::RenderBlock::updateFirstLetterStyle):
81070        * rendering/RenderMultiColumnBlock.cpp: Added.
81071        (WebCore):
81072        (WebCore::RenderMultiColumnBlock::RenderMultiColumnBlock):
81073        (WebCore::RenderMultiColumnBlock::renderName):
81074        * rendering/RenderMultiColumnBlock.h: Added.
81075        (WebCore):
81076        (RenderMultiColumnBlock):
81077        * rendering/RenderObject.cpp:
81078        (WebCore::RenderObject::createObject):
81079        * rendering/RenderObjectChildList.cpp:
81080        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
81081
810822012-03-16  Stephen White  <senorblanco@chromium.org>
81083
81084        [chromium] Improve CSS3 filter blur performance.
81085        https://bugs.webkit.org/show_bug.cgi?id=81360
81086
81087        This change improves blur performance by 2-2.5X on blurred CSS
81088        3D transforms and accelerated canvas demos by skipping an unnecessary
81089        texture allocation and bitmap draw.
81090
81091        Reviewed by James Robinson.
81092
81093        Covered by existing layout tests in css3/filters.
81094
81095        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
81096        (WebCore::CCRenderSurfaceFilters::apply):
81097        Call SkCanvas::drawSprite() directly instead of using
81098        saveLayer()/restore().
81099
811002012-03-16  Joshua Bell  <jsbell@chromium.org>
81101
81102        [Chromium] IndexedDB: Assertion failure when storing File objects
81103        https://bugs.webkit.org/show_bug.cgi?id=76746
81104
81105        The blob data in Blob/File/FileList objects is serialized "by reference" (the
81106        internal URL) rather than "by value" (the actual data); this is sufficient for
81107        postMessage() but not for IndexedDB since the referenced data is not retained
81108        Expose a mechanism to enumerate the URLs so that SSVs can be rejected by IDB
81109        until blob data serialization can is implemented (outside the SSV mechanism, and
81110        potentially asynchronously).
81111
81112        Also, correct issue in V8DOMWrapper::instantiateV8Object where context is assumed
81113        to be a Worker context if it's not a Window, which is incorrect for the
81114        Chromium utility process; this is hit if Blobs are not blocked.
81115
81116        Reviewed by Tony Chang.
81117
81118        Test: storage/indexeddb/noblobs.html
81119
81120        * Modules/indexeddb/IDBCursor.cpp:
81121        (WebCore::IDBCursor::update): Reject SSVs that contain blob references.
81122        * Modules/indexeddb/IDBObjectStore.cpp:
81123        (WebCore::IDBObjectStore::add): Reject SSVs that contain blob references.
81124        (WebCore::IDBObjectStore::put): Reject SSVs that contain blob references.
81125        * bindings/js/SerializedScriptValue.cpp:
81126        (WebCore::CloneSerializer::serialize):
81127        (WebCore::CloneSerializer::CloneSerializer):
81128        (WebCore::CloneSerializer::dumpIfTerminal):
81129        (WebCore::CloneSerializer::write):
81130        (CloneSerializer):
81131        (WebCore::SerializedScriptValue::SerializedScriptValue):
81132        (WebCore::SerializedScriptValue::create):
81133        (WebCore::SerializedScriptValue::undefinedValue):
81134        (WebCore::SerializedScriptValue::booleanValue):
81135        * bindings/js/SerializedScriptValue.h: New API to enable the clients to be picky.
81136        * bindings/v8/SerializedScriptValue.cpp:
81137        (WebCore::SerializedScriptValue::SerializedScriptValue):
81138        * bindings/v8/SerializedScriptValue.h: New API to enable the clients to be picky.
81139        (WebCore::SerializedScriptValue::blobURLs):
81140        (SerializedScriptValue):
81141        * bindings/v8/V8DOMWrapper.cpp:
81142        (WebCore::V8DOMWrapper::instantiateV8Object):  Ensure context is a worker context before treating it as such.
81143
811442012-03-16  Erik Arvidsson  <arv@chromium.org>
81145
81146        [V8] Ensure that invalid syntax in inline event handlers does not cause a crash
81147        https://bugs.webkit.org/show_bug.cgi?id=81385
81148
81149        Reviewed by Nate Chapin.
81150
81151        The way that V8 does its inline event handler involves concatting strings and
81152        if the attribute value is crafted in a special way this could cause a crash.
81153
81154        Test: fast/dom/inline-event-attributes-crash.html
81155
81156        * bindings/v8/V8LazyEventListener.cpp:
81157        (WebCore::V8LazyEventListener::prepareListenerObject):
81158
811592012-03-14  Jer Noble  <jer.noble@apple.com>
81160
81161        Wrong icon to restore to windowed mode in full screen video panel
81162        https://bugs.webkit.org/show_bug.cgi?id=70437
81163
81164        Reviewed by Eric Carlson.
81165
81166        No new tests. Updated platform/mac/accessibility/media-element-expected.txt.
81167
81168        Renamed MediaFullscreenButton to MediaEnterFullscreenButton and added MediaExitFullscreenButton:
81169        * accessibility/AccessibilityMediaControls.cpp:
81170        (WebCore::AccessibilityMediaControl::controlTypeName):
81171        (WebCore::AccessibilityMediaControl::roleValue):
81172        * html/shadow/MediaControlElements.cpp:
81173        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
81174        * css/CSSPrimitiveValueMappings.h:
81175        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
81176        * css/CSSValueKeywords.in:
81177        * platform/ThemeTypes.h:
81178
81179        Added setIsFullscreen which controls the display of the enter/exit fullscreen button:
81180        * html/shadow/MediaControlElements.cpp:
81181        (WebCore::MediaControlFullscreenButtonElement::setIsFullscreen): Added.
81182        * html/shadow/MediaControlElements.h:
81183        * html/shadow/MediaControlRootElement.cpp:
81184        (WebCore::MediaControlRootElement::enteredFullscreen):
81185        (WebCore::MediaControlRootElement::exitedFullscreen):
81186
81187        Paint the enter/exit fullscreen button accordingly:
81188        * rendering/RenderMediaControlsChromium.cpp:
81189        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
81190        * rendering/RenderTheme.cpp:
81191        (WebCore::RenderTheme::paint):
81192        * rendering/RenderThemeChromiumAndroid.cpp:
81193        (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
81194        * rendering/RenderThemeMac.mm:
81195        (WebCore::RenderThemeMac::paintMediaFullscreenButton):
81196        * rendering/RenderMediaControls.cpp:
81197        (WebCore::RenderMediaControls::paintMediaControlsPart):
81198        * rendering/RenderThemeSafari.cpp:
81199        (WebCore::RenderThemeSafari::paintMediaFullscreenButton):
81200
81201        Update the localized strings for the exit and enter fullscreen buttons:
81202        * English.lproj/Localizable.strings:
81203        * platform/LocalizedStrings.cpp:
81204        (WebCore::localizedMediaControlElementString):
81205        * platform/gtk/LocalizedStringsGtk.cpp:
81206        (WebCore::localizedMediaControlElementString):
81207        (WebCore::localizedMediaControlElementHelpText):
81208        * platform/qt/LocalizedStringsQt.cpp:
81209        (WebCore::localizedMediaControlElementString):
81210        (WebCore::localizedMediaControlElementHelpText):
81211
812122012-03-16  Levi Weintraub  <leviw@chromium.org>
81213
81214        Update LayoutUnit usage in RenderListBox
81215        https://bugs.webkit.org/show_bug.cgi?id=81038
81216
81217        Reviewed by Julien Chaffraix.
81218
81219        Bringing RenderListBox in line with the rules listed in
81220        https://trac.webkit.org/wiki/LayoutUnit
81221
81222        No new tests. No change in behavior.
81223
81224        * rendering/RenderListBox.cpp:
81225        (WebCore::RenderListBox::paintScrollbar): Pixel snapping before handing off scrollbar
81226        painting to the platform.
81227        (WebCore::RenderListBox::paintItemForeground): Rounding the offset for text painting.
81228        (WebCore::RenderListBox::paintItemBackground): Pixel snapping the background rect.
81229        (WebCore::RenderListBox::panScroll): EventHandler::currentMousePosition is an IntPoint,
81230        so it doesn't require additional rounding in RenderListBox.
81231
812322012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
81233
81234        Unreviewed, rolling out r111020.
81235        http://trac.webkit.org/changeset/111020
81236        https://bugs.webkit.org/show_bug.cgi?id=81377
81237
81238        Broke Chromium Win compile (Requested by pkasting on #webkit).
81239
81240        * GNUmakefile.list.am:
81241        * WebCore.gypi:
81242        * platform/mediastream/PeerConnection00Handler.cpp: Removed.
81243        * platform/mediastream/PeerConnection00Handler.h: Removed.
81244        * platform/mediastream/PeerConnection00HandlerClient.h: Removed.
81245
812462012-03-16  Dominic Mazzoni  <dmazzoni@google.com>
81247
81248        File input control accessibility can cause a crash
81249        https://bugs.webkit.org/show_bug.cgi?id=80896
81250
81251        Reviewed by Chris Fleizach.
81252
81253        Test: accessibility/input-file-causes-crash.html
81254
81255        * accessibility/AccessibilityRenderObject.cpp:
81256        (WebCore::AccessibilityRenderObject::textUnderElement):
81257
812582012-03-08  Jer Noble  <jer.noble@apple.com>
81259
81260        Support W3C Full Screen API proposal
81261        https://bugs.webkit.org/show_bug.cgi?id=80660
81262
81263        Reviewed by Alexey Proskuryakov.
81264
81265        Tests: fullscreen/full-screen-element-stack.html
81266               fullscreen/full-screen-enabled.html
81267               fullscreen/full-screen-restrictions.html
81268
81269        The W3C proposal for taking arbitrary elements into full-screen mode is significantly
81270        different than the Mozilla proposal. For example, the W3C has proposed a lower-case "s"
81271        in "Fullscreen", which means the W3C and Mozilla "requestFullscreen" APIs differ only by
81272        in that lower-case "s". Annoying as this is, it does allow us to retain the semantics for
81273        the Mozilla case (har!).
81274
81275        A significant difficulty is obeying the new W3C spec rules is that we would like to apply the
81276        fullscreen CSS rules while exiting fullscreen mode, though the W3C spec insists that the
81277        webkitFullscreenElement returns the new value immediately.  As such, we retain the m_fullScreenElement
81278        variable (distinct from the top of the m_fullScreenElements stack) which is controlled by the
81279        webkit{Will,Did}{Enter,Exit}FullScreen functions.
81280
81281        New APIs for the W3C Fullscreen spec:
81282        * dom/Document.h:
81283        (WebCore::Document::webkitFullscreenElement):
81284        (WebCore::Document::webkitFullscreenEnabled):
81285        * dom/Document.idl:
81286        * dom/Element.cpp:
81287        (WebCore::Element::webkitRequestFullscreen):
81288        * dom/Element.h:
81289        * dom/Element.idl:
81290
81291        * dom/Document.cpp:
81292        (WebCore::Document::removedLastRef): Clear m_fullScreenElementStack.
81293        (WebCore::Document::requestFullScreenForElement): Implement the W3C requirements.
81294        (WebCore::Document::webkitExitFullscreen): Ditto.
81295        (WebCore::Document::webkitCancelFullScreen): Implement in terms of webkitCancelFullscreen.
81296        (WebCore::Document::webkitDidEnterFullScreenForElement): 
81297        (WebCore::Document::webkitWillExitFullScreenForElement):
81298        (WebCore::Document::webkitDidExitFullScreenForElement):
81299        (WebCore::Document::fullScreenChangeDelayTimerFired): Protect against items being
81300            added to the event and error queue by swapping out empty queues before starting.
81301        (WebCore::Document::clearFullscreenElementStack): Simple accessor.
81302        (WebCore::Document::popFullscreenElementStack): Ditto.
81303        (WebCore::Document::pushFullscreenElementStack): Ditto.
81304        * dom/Element.cpp:
81305        (WebCore::Element::webkitRequestFullScreen):
81306
81307        Add new RuntimeEnabledFeatures functions for the added Document and Element functions.
81308        * bindings/generic/RuntimeEnabledFeatures.h:
81309        (RuntimeEnabledFeatures):
81310        (WebCore::RuntimeEnabledFeatures::webkitFullscreenEnabledEnabled):
81311        (WebCore::RuntimeEnabledFeatures::webkitFullscreenElementEnabled):
81312        (WebCore::RuntimeEnabledFeatures::webkitExitFullscreenEnabled):
81313        (WebCore::RuntimeEnabledFeatures::webkitRequestFullscreenEnabled):
81314
81315
813162012-03-16  Adam Klein  <adamk@chromium.org>
81317
81318        Make HTMLInputElement::isRadioButton non-virtual and remove unused HTMLFormControlElement::isRadioButton method
81319        https://bugs.webkit.org/show_bug.cgi?id=81255
81320
81321        Reviewed by Kent Tamura.
81322
81323        No new tests, no change in behavior.
81324
81325        * html/HTMLFormControlElement.h:
81326        * html/HTMLInputElement.h:
81327        (HTMLInputElement):
81328
813292012-03-16  Tay Grigg  <tgrigg@rim.com>
81330
81331        [BlackBerry] Update NetworkJob to accept batched headers
81332        https://bugs.webkit.org/show_bug.cgi?id=81273
81333
81334        Batch up the headers into a vector before they come into
81335        webkit to increase performance, and simplify the API.
81336
81337        Reviewed by George Staikos.
81338
81339        * platform/network/blackberry/NetworkJob.cpp:
81340        (WebCore::NetworkJob::notifyHeadersReceived):
81341        * platform/network/blackberry/NetworkJob.h:
81342        (NetworkJob):
81343
813442012-03-16  Dana Jansens  <danakj@chromium.org>
81345
81346        [chromium] Add overdraw metrics for texture uploads
81347        https://bugs.webkit.org/show_bug.cgi?id=81175
81348
81349        Reviewed by Adrienne Walker.
81350
81351        Record texture upload metrics during paint. To properly record
81352        the amount of pixels culled, we must compute the amount of pixels we
81353        would have uploaded for a tile. This requires knowing the dirty rect of
81354        the tile, but the dirty rect can be changed by WebKit during a paint, so
81355        we always store the dirtyRect in the tile's updateRect. We add an
81356        m_updateCulled bool to the UpdatableTile structure, to identify tiles
81357        that were not updated, and know a tile was updated if updateRect is not
81358        empty and updateCulled is false.
81359
81360        Tested by all TiledLayerChromiumTests that use occlusion tracker.
81361
81362        * platform/graphics/chromium/TiledLayerChromium.cpp:
81363        (UpdatableTile):
81364        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
81365        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
81366        (WebCore::CCLayerTreeHost::paintLayerContents):
81367
813682012-03-16  Jer Noble  <jer.noble@apple.com>
81369
81370        Allow AudioContext::create() to emit an ExceptionCode.
81371        https://bugs.webkit.org/show_bug.cgi?id=81049
81372
81373        Reviewed by Kentaro Hara.
81374
81375        No new tests; no change in functionality.
81376
81377        Pass through an ExceptionCode parameter to AudioContext::create().  It is currently
81378        never modified, but exceptions will be added in the future.
81379
81380        * bindings/js/JSAudioContextCustom.cpp:
81381        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
81382        * bindings/v8/custom/V8AudioContextCustom.cpp:
81383        (WebCore::V8AudioContext::constructorCallback):
81384        * webaudio/AudioContext.cpp:
81385        (WebCore::AudioContext::create):
81386        * webaudio/AudioContext.h:
81387
813882012-03-16  Dana Jansens  <danakj@chromium.org>
81389
81390        [chromium] Remove surface damage client from occlusion tracker
81391        https://bugs.webkit.org/show_bug.cgi?id=81242
81392
81393        Reviewed by Adrienne Walker.
81394
81395        Code was not used yet, so no new tests. Removing tests instead!
81396
81397        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
81398        (WebCore::::CCOcclusionTrackerBase):
81399        (WebCore::::layerScissorRectInTargetSurface):
81400        (WebCore):
81401        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
81402        (WebCore):
81403        (CCOcclusionTrackerBase):
81404
814052012-03-16  Tommy Widenflycht  <tommyw@google.com>
81406
81407        MediaStream API (JSEP): Introducing PeerConnection00Handler
81408        https://bugs.webkit.org/show_bug.cgi?id=81333
81409
81410        Reviewed by Adam Barth.
81411
81412        In preparation of the last WebCore patch that will introduce PeerConnection00 here's its platform representation.
81413
81414        Not possible to test until the entire JSEP feature is commited.
81415
81416        * GNUmakefile.list.am:
81417        * WebCore.gypi:
81418        * platform/mediastream/PeerConnection00Handler.cpp: Added.
81419        (WebCore):
81420        (WebCore::PeerConnection00Handler::create):
81421        (WebCore::PeerConnection00Handler::PeerConnection00Handler):
81422        (WebCore::PeerConnection00Handler::~PeerConnection00Handler):
81423        (WebCore::PeerConnection00Handler::createOffer):
81424        (WebCore::PeerConnection00Handler::createAnswer):
81425        (WebCore::PeerConnection00Handler::setLocalDescription):
81426        (WebCore::PeerConnection00Handler::setRemoteDescription):
81427        (WebCore::PeerConnection00Handler::localDescription):
81428        (WebCore::PeerConnection00Handler::remoteDescription):
81429        (WebCore::PeerConnection00Handler::startIce):
81430        (WebCore::PeerConnection00Handler::processIceMessage):
81431        (WebCore::PeerConnection00Handler::addStream):
81432        (WebCore::PeerConnection00Handler::removeStream):
81433        (WebCore::PeerConnection00Handler::stop):
81434        * platform/mediastream/PeerConnection00Handler.h: Added.
81435        (WebCore):
81436        (PeerConnection00Handler):
81437        * platform/mediastream/PeerConnection00HandlerClient.h: Added.
81438        (WebCore):
81439        (PeerConnection00HandlerClient):
81440        (WebCore::PeerConnection00HandlerClient::~PeerConnection00HandlerClient):
81441
814422012-03-16  Pavel Podivilov  <podivilov@chromium.org>
81443
81444        Web Inspector: fix exception when hovering over bound function in heap profiler.
81445        https://bugs.webkit.org/show_bug.cgi?id=81362
81446
81447        Reviewed by Yury Semikhatsky.
81448
81449        * inspector/front-end/DebuggerPresentationModel.js:
81450        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
81451
814522012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
81453
81454        [Forms] The "progress" element should not be a form-associated element.
81455        https://bugs.webkit.org/show_bug.cgi?id=80240
81456
81457        Reviewed by Kent Tamura.
81458
81459        This patch changes base class of HTMLProgressElement to LabelableElement from
81460        HTMLFormControlElement for saving memory space and iteration time of
81461        extra "progress" elements in HTMLFormElement::m_formAssociatedElements
81462        and matching the HTML5 specification for ease of maintenance.
81463
81464        Changes of TextIterator is lead by usage of isFormControlElement. This
81465        changes will be replaced with more meaningful predicate as part of
81466        https://bugs.webkit.org/show_bug.cgi?id=80381
81467
81468        No new tests. Update existing tests to cover this change.
81469
81470        * css/CSSStyleSelector.cpp:
81471        (WebCore::CSSStyleSelector::canShareStyleWithElement): Moved the "progress" element support code from canShareStyleWithControl.
81472        (WebCore::CSSStyleSelector::canShareStyleWithControl):
81473        * css/SelectorChecker.cpp:
81474        (WebCore::SelectorChecker::checkOneSelector): Remove isFormControlElement check for PseudoIndeterminate.
81475        * editing/TextIterator.cpp:
81476        (WebCore::TextIterator::advance): Check HTMLProgressElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
81477        * html/HTMLProgressElement.cpp: Remove unused include file.
81478        (WebCore::HTMLProgressElement::HTMLProgressElement): Changed base class to LabelableElement.
81479        (WebCore::HTMLProgressElement::create): Remove form paraprogress.
81480        (WebCore::HTMLProgressElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement.
81481        (WebCore::HTMLProgressElement::attach): Replace HTMLFormControlElement to LabelableElement.
81482        * html/HTMLProgressElement.h:
81483        (HTMLProgressElement):
81484        * html/HTMLProgressElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
81485        * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
81486
814872012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
81488
81489        Web Inspector: Heap Snapshot: Unreviewed single line fix for isWindow getter.
81490
81491        * inspector/front-end/HeapSnapshot.js:
81492        (WebInspector.HeapSnapshotNode.prototype.get isWindow):
81493
814942012-03-16  Tommy Widenflycht  <tommyw@google.com>
81495
81496        MediaStream API (JSEP): Fixing a few nits
81497        https://bugs.webkit.org/show_bug.cgi?id=81322
81498
81499        Reviewed by Adam Barth.
81500
81501        Addressing the nits from bugs 81206 and 81207.
81502
81503        Nothing to test.
81504
81505        * Modules/mediastream/SessionDescription.idl:
81506        * platform/mediastream/IceOptions.h:
81507        (WebCore::IceOptions::IceOptions):
81508        * platform/mediastream/SessionDescriptionDescriptor.h:
81509        (SessionDescriptionDescriptor):
81510
815112012-03-16  Peter Rybin  <peter.rybin@gmail.com>
81512
81513        Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
81514        https://bugs.webkit.org/show_bug.cgi?id=80789
81515
81516        Reviewed by Yury Semikhatsky.
81517
81518        OptOutput class is added for optional return parameters.
81519
81520        Strict mode added to Generator that makes all parameter types strict
81521        and drop pre-set default values for return parameters.
81522
81523        Debugger and Page domain is switched to strict mode.
81524
81525        * inspector/CodeGeneratorInspector.py:
81526        (CommandReturnPassModel.OptOutput):
81527        (CommandReturnPassModel.OptOutput.__init__):
81528        (CommandReturnPassModel.OptOutput.get_return_var_type):
81529        (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
81530        (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
81531        (CommandReturnPassModel.OptOutput.get_output_parameter_type):
81532        (CommandReturnPassModel):
81533        (CommandReturnPassModel.OptOutput.get_set_return_condition):
81534        (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
81535        (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
81536        (OptOutput):
81537        (Generator.process_event):
81538        (Generator.process_command):
81539        * inspector/ContentSearchUtils.cpp:
81540        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
81541        (WebCore::ContentSearchUtils::searchInTextByLines):
81542        * inspector/ContentSearchUtils.h:
81543        (ContentSearchUtils):
81544        * inspector/InjectedScript.cpp:
81545        (WebCore::InjectedScript::evaluate):
81546        (WebCore::InjectedScript::callFunctionOn):
81547        (WebCore::InjectedScript::evaluateOnCallFrame):
81548        (WebCore::InjectedScript::makeEvalCall):
81549        * inspector/InjectedScript.h:
81550        (InjectedScript):
81551        * inspector/InspectorDOMDebuggerAgent.cpp:
81552        (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
81553        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
81554        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
81555        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
81556        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
81557        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
81558        * inspector/InspectorDebuggerAgent.cpp:
81559        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
81560        (WebCore::InspectorDebuggerAgent::setBreakpoint):
81561        (WebCore::InspectorDebuggerAgent::searchInContent):
81562        (WebCore::InspectorDebuggerAgent::setScriptSource):
81563        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
81564        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
81565        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
81566        (WebCore::InspectorDebuggerAgent::didPause):
81567        (WebCore::InspectorDebuggerAgent::breakProgram):
81568        (WebCore::InspectorDebuggerAgent::clearBreakDetails):
81569        * inspector/InspectorDebuggerAgent.h:
81570        (InspectorDebuggerAgent):
81571        * inspector/InspectorPageAgent.cpp:
81572        (WebCore::buildObjectForCookie):
81573        (WebCore::buildArrayForCookies):
81574        (WebCore::InspectorPageAgent::getCookies):
81575        (WebCore::InspectorPageAgent::getResourceTree):
81576        (WebCore::InspectorPageAgent::searchInResource):
81577        (WebCore::InspectorPageAgent::searchInResources):
81578        (WebCore::InspectorPageAgent::buildObjectForFrame):
81579        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
81580        * inspector/InspectorPageAgent.h:
81581        * inspector/InspectorRuntimeAgent.cpp:
81582        (WebCore::InspectorRuntimeAgent::evaluate):
81583        (WebCore::InspectorRuntimeAgent::callFunctionOn):
81584
815852012-03-16  Kentaro Hara  <haraken@chromium.org>
81586
81587        The IDL parser should support sequence<T> type
81588        https://bugs.webkit.org/show_bug.cgi?id=81345
81589
81590        Reviewed by Adam Barth.
81591
81592        This patch makes the IDL parser support sequence<T> type.
81593        This patch just makes sequence<T> parseable, and the generated code
81594        for sequence<T> is wrong. This issue will be soon fixed in bug 80696.
81595        This is a preparing patch for bug 80696.
81596
81597        Test: bindings/scripts/test/TestObj.idl
81598
81599        * bindings/scripts/test/TestObj.idl: Added tests for sequence<T>.
81600
81601        * bindings/scripts/IDLStructure.pm: Updated the regular expressions to support sequence<T>.
81602
81603        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
81604        (WebDOMTestObj::sequenceAttr):
81605        (WebDOMTestObj::setSequenceAttr):
81606        (WebDOMTestObj::methodWithSequenceArg):
81607        (WebDOMTestObj::methodReturningSequence):
81608        * bindings/scripts/test/CPP/WebDOMTestObj.h:
81609        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
81610        (webkit_dom_test_obj_method_with_sequence_arg):
81611        (webkit_dom_test_obj_method_returning_sequence):
81612        (webkit_dom_test_obj_get_sequence_attr):
81613        (webkit_dom_test_obj_set_sequence_attr):
81614        (webkit_dom_test_obj_get_property):
81615        (webkit_dom_test_obj_class_init):
81616        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
81617        * bindings/scripts/test/JS/JSTestObj.cpp:
81618        (WebCore):
81619        (WebCore::jsTestObjSequenceAttr):
81620        (WebCore::setJSTestObjSequenceAttr):
81621        (WebCore::jsTestObjPrototypeFunctionMethodWithSequenceArg):
81622        (WebCore::jsTestObjPrototypeFunctionMethodReturningSequence):
81623        * bindings/scripts/test/JS/JSTestObj.h:
81624        (WebCore):
81625        * bindings/scripts/test/ObjC/DOMTestObj.h:
81626        * bindings/scripts/test/ObjC/DOMTestObj.mm:
81627        (-[DOMTestObj sequenceAttr]):
81628        (-[DOMTestObj setSequenceAttr:]):
81629        (-[DOMTestObj methodWithSequenceArg:]):
81630        (-[DOMTestObj methodReturningSequence:]):
81631        * bindings/scripts/test/V8/V8TestObj.cpp:
81632        (WebCore::TestObjInternal::sequenceAttrAttrGetter):
81633        (TestObjInternal):
81634        (WebCore::TestObjInternal::sequenceAttrAttrSetter):
81635        (WebCore::TestObjInternal::methodWithSequenceArgCallback):
81636        (WebCore::TestObjInternal::methodReturningSequenceCallback):
81637        (WebCore):
81638        (WebCore::ConfigureV8TestObjTemplate):
81639
816402012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
81641
81642        Web Inspector: HeapSnapshot: merge two long operations into one.
81643        https://bugs.webkit.org/show_bug.cgi?id=81347
81644
81645        Reviewed by Yury Semikhatsky.
81646
81647        * inspector/front-end/HeapSnapshot.js:
81648        (WebInspector.HeapSnapshot.prototype.aggregates):
81649        (WebInspector.HeapSnapshot.prototype._buildAggregates):
81650        (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
81651
816522012-03-16  Gavin Peters  <gavinp@chromium.org>
81653
81654        Add asserts and improve logging in PageCache.
81655        https://bugs.webkit.org/show_bug.cgi?id=81179
81656
81657        Reviewed by Brady Eidson.
81658
81659        The early exits from logCanCacheFrameDecision had the potential to skew histogram data.  Moving
81660        the DocumentLoader check to the top, but eliminating the early exits is a compromise that keeps
81661        the logged data mostly accurate.
81662
81663        * history/PageCache.cpp:
81664        (WebCore::logCanCacheFrameDecision):
81665
816662012-03-16  Yoshifumi Inoue  <yosin@chromium.org>
81667
81668        [Forms] label.form attribute doesn't work
81669        https://bugs.webkit.org/show_bug.cgi?id=80499
81670
81671        Reviewed by Kent Tamura.
81672
81673        This patch changes implementation of label.form of IDL attribute to
81674        compute it to the form element specified by the "form" HTML attribute
81675        or form ancestor when the "form" HTML attribute isn't in HTML.
81676
81677        This patch introduces new function FormAssociatedElement::findAssociatedForm
81678        for sharing code among FormAssociateElement::insertedIntoTree, resetFormOwner
81679        and HTMLLabelElement::form.
81680
81681        No new tests. Update existing tests.
81682
81683        * html/FormAssociatedElement.cpp:
81684        (WebCore::FormAssociatedElement::findAssociatedForm): Added.
81685        (WebCore):
81686        (WebCore::FormAssociatedElement::insertedIntoTree):
81687        (WebCore::FormAssociatedElement::resetFormOwner):
81688        * html/FormAssociatedElement.h:
81689        (FormAssociatedElement):
81690        * html/HTMLLabelElement.cpp: Remove unused include files
81691        (WebCore::HTMLLabelElement::form): Added.
81692
816932012-03-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
81694
81695        Use the normalize method of FloatPoint instead of normalizing manually
81696        https://bugs.webkit.org/show_bug.cgi?id=81343
81697
81698        Reviewed by Simon Hausmann.
81699
81700        * platform/graphics/TiledBackingStore.cpp:
81701        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
81702        (WebCore::TiledBackingStore::computeCoverAndKeepRect):
81703
817042012-03-16  Kentaro Hara  <haraken@chromium.org>
81705
81706        Move Notifications APIs from DOMWindow.idl to DOMWindowNotifications.idl
81707        https://bugs.webkit.org/show_bug.cgi?id=79636
81708
81709        Reviewed by Adam Barth.
81710
81711        For WebKit modularization, this patch moves Notifications-related APIs
81712        from DOMWindow.idl to DOMWindowNotifications.idl.
81713
81714        Tests: fast/notifications/* (No change in test results)
81715
81716        * CMakeLists.txt: Added DOMWindowNotifications.{h,cpp,idl}.
81717        * DerivedSources.make: Ditto.
81718        * DerivedSources.pri: Ditto.
81719        * GNUmakefile.list.am: Ditto.
81720        * Target.pri: Ditto.
81721        * WebCore.gypi: Ditto.
81722        * WebCore.vcproj/WebCore.vcproj: Ditto.
81723
81724        * WebCore.exp.in: Added mangled signatures of webkitNotifications().
81725
81726        * notifications/DOMWindowNotifications.cpp: Added.
81727        (WebCore):
81728        (WebCore::DOMWindowNotifications::DOMWindowNotifications):
81729        (WebCore::DOMWindowNotifications::~DOMWindowNotifications):
81730        (WebCore::DOMWindowNotifications::from):
81731        (WebCore::DOMWindowNotifications::webkitNotifications):
81732        (WebCore::DOMWindowNotifications::ensureWebkitNotifications):
81733        (WebCore::DOMWindowNotifications::disconnectFrame):
81734        * notifications/DOMWindowNotifications.h: Added.
81735        (WebCore):
81736        (DOMWindowNotifications):
81737        * notifications/DOMWindowNotifications.idl: Added.
81738
81739        * page/DOMWindow.cpp: Removed ENABLE(NOTIFICATIONS).
81740        (WebCore::DOMWindow::~DOMWindow):
81741        (WebCore::DOMWindow::willDetachPage):
81742        (WebCore::DOMWindow::clear):
81743        * page/DOMWindow.h: Ditto.
81744        (WebCore):
81745        (DOMWindow):
81746        * page/DOMWindow.idl: Ditto.
81747        * page/Frame.cpp: Ditto.
81748        (WebCore::Frame::willDetachPage):
81749        (WebCore::Frame::transferChildFrameToNewDocument):
81750
817512012-03-16  Kentaro Hara  <haraken@chromium.org>
81752
81753        [Performance] Optimize innerHTML and outerHTML
81754        https://bugs.webkit.org/show_bug.cgi?id=81214
81755
81756        Reviewed by Adam Barth.
81757
81758        This patch makes innerHTML and outerHTML 2.4 times faster.
81759
81760        Performance test: https://bugs.webkit.org/attachment.cgi?id=132034
81761        The performance test measures body.innerHTML for 3000 lines of HTML,
81762        which is copied from the HTML spec.
81763
81764        - Chromium/Mac without the patch
81765        div.innerHTML: 1658.6 ms
81766        div.outerHTML: 4859.6 ms
81767        body.innerHTML: 640.2 ms
81768        body.outerHTML: 641.8 ms
81769
81770        - Chromium/Mac with the patch
81771        div.innerHTML:  751.0 ms
81772        div.outerHTML: 2096.0 ms
81773        body.innerHTML: 271.2 ms
81774        body.outerHTML: 271.2 ms
81775
81776        - Chromium/Linux without the patch
81777        div.innerHTML:  950.4 ms
81778        div.outerHTML: 2257.8 ms
81779        body.innerHTML: 452.8 ms
81780        body.outerHTML: 457.6 ms
81781
81782        - Chromium/Linux with the patch
81783        div.innerHTML:  582.4 ms
81784        div.outerHTML: 1283.0 ms
81785        body.innerHTML: 233.0 ms
81786        body.outerHTML: 233.4 ms
81787
81788        - AppleWebKit/Mac without the patch
81789        div.innerHTML:  900.6 ms
81790        div.outerHTML: 2245.2 ms
81791        body.innerHTML: 462.6 ms
81792        body.outerHTML: 468.0 ms
81793
81794        - AppleWebKit/Mac with the patch
81795        div.innerHTML:  529.8  ms
81796        div.outerHTML: 1090.2 ms
81797        body.innerHTML: 239.2 ms
81798        body.outerHTML: 239.2 ms
81799
81800        This patch applies the following two optimizations:
81801
81802        (a) Remove redundant copies between Vector<String> and StringBuilders
81803        in MarkupAccumulator::serializeNodes(), MarkupAccumulator::appendStartTag(),
81804        and MarkupAccumulator::appendEndTag().
81805
81806            (Previous behavior)
81807            - Create a StringBuilder for each tag.
81808            - Append a created string in each StringBuilder to Vector<String>,
81809              parsing the DOM tree.
81810            - After the parsing, allocate a StringBuilder whose size is the sum
81811              of all Strings in Vector<String>.
81812            - Append all Strings in Vector<String> to the StringBuilder.
81813            (New behavior)
81814            - Allocate a StringBuilder with a default buffer size.
81815            - Append created strings to the StringBuilder, incrementally parsing
81816              the DOM tree.
81817
81818        (b) Optimize stringBuilder.append().
81819            (b-1) Replace stringBuilder.append("A") with stringBuilder.append('A').
81820                  stringBuilder.append("A") requires to cast the characters to LChar*,
81821                  and then call strlen("A"). stringBuilder.append('A') is faster.
81822            (b-2) Replace stringBuilder.append("AB") with stringBuilder.append('A')
81823                  and stringBuilder.append('B'). In my experiment, appending characters
81824                  one by one is faster than appending the characters at a breath if the
81825                  number of characters is less than 3.
81826            (b-3) Hard-code a string length; i.e. replace stringBuilder.append("ABCDE")
81827                  with stringBuilder.append("ABCDE", 5). While the former requires to call
81828                  strlen("ABCDE"), the latter does not.
81829
81830        (a) improves performance by 170% ~ 200%. (b) improves performance by 30 ~ 40%.
81831
81832        Tests: fast/dom/Range/range-extract-contents.html
81833               fast/dom/serialize-nodes.xhtml
81834               fast/dom/XMLSerializer.html
81835               and all other tests that use innerHTML or outerHTML.
81836               No change in the test results.
81837
81838        * editing/MarkupAccumulator.cpp:
81839        (WebCore::MarkupAccumulator::serializeNodes):
81840        (WebCore::MarkupAccumulator::appendString):
81841        (WebCore::MarkupAccumulator::appendStartTag):
81842        (WebCore::MarkupAccumulator::appendEndTag):
81843        (WebCore::MarkupAccumulator::concatenateMarkup):
81844        (WebCore::MarkupAccumulator::appendQuotedURLAttributeValue):
81845        (WebCore::MarkupAccumulator::appendComment):
81846        (WebCore::MarkupAccumulator::appendDocumentType):
81847        (WebCore::MarkupAccumulator::appendProcessingInstruction):
81848        (WebCore::MarkupAccumulator::appendOpenTag):
81849        (WebCore::MarkupAccumulator::appendAttribute):
81850        (WebCore::MarkupAccumulator::appendCDATASection):
81851        * editing/MarkupAccumulator.h:
81852        (MarkupAccumulator):
81853
818542012-03-16  Kihong Kwon  <kihong.kwon@samsung.com>
81855
81856        Support for Battery Status API
81857        https://bugs.webkit.org/show_bug.cgi?id=62698
81858
81859        Battery Status API is implemented under the Navigator class.
81860        Battery Status API has four types of events, and all events are operated based on a callback mechanism.
81861         : onchargingchange, onchargingtimechange, ondischargingtimechange, onlevelchange.
81862        The battery status can be accessed using BatteryManager(navigator.webkitBattery), and battery status is controlled by BatteryController which manages instances of BatteryManager.
81863        When battery status event is raised, BatteryController calls all registered BatteryManager's event dispatcher.
81864        http://www.w3.org/TR/battery-status/
81865
81866        Reviewed by Adam Barth.
81867
81868        Tests: batterystatus/add-listener-from-callback.html
81869               batterystatus/basic-all-types-of-events.html
81870               batterystatus/basic-operation.html
81871               batterystatus/event-after-navigation.html
81872               batterystatus/multiple-frames.html
81873               batterystatus/updates.html
81874               batterystatus/window-property.html
81875
81876        * CMakeLists.txt:
81877        * Modules/battery/BatteryClient.h: Added.
81878        (WebCore):
81879        (BatteryClient):
81880        (WebCore::BatteryClient::~BatteryClient):
81881        * Modules/battery/BatteryController.cpp: Added.
81882        (WebCore):
81883        (WebCore::BatteryController::BatteryController):
81884        (WebCore::BatteryController::~BatteryController):
81885        (WebCore::BatteryController::create):
81886        (WebCore::BatteryController::addListener):
81887        (WebCore::BatteryController::removeListener):
81888        (WebCore::BatteryController::didChangeBatteryStatus):
81889        (WebCore::BatteryController::supplementName):
81890        (WebCore::BatteryController::isActive):
81891        (WebCore::provideBatteryTo):
81892        * Modules/battery/BatteryController.h: Added.
81893        (WebCore):
81894        (BatteryController):
81895        (WebCore::BatteryController::client):
81896        (WebCore::BatteryController::from):
81897        * Modules/battery/BatteryManager.cpp: Added.
81898        (WebCore):
81899        (WebCore::BatteryManager::create):
81900        (WebCore::BatteryManager::~BatteryManager):
81901        (WebCore::BatteryManager::BatteryManager):
81902        (WebCore::BatteryManager::charging):
81903        (WebCore::BatteryManager::chargingTime):
81904        (WebCore::BatteryManager::dischargingTime):
81905        (WebCore::BatteryManager::level):
81906        (WebCore::BatteryManager::didChangeBatteryStatus):
81907        (WebCore::BatteryManager::suspend):
81908        (WebCore::BatteryManager::resume):
81909        (WebCore::BatteryManager::stop):
81910        * Modules/battery/BatteryManager.h: Added.
81911        (WebCore):
81912        (BatteryManager):
81913        (WebCore::BatteryManager::interfaceName):
81914        (WebCore::BatteryManager::scriptExecutionContext):
81915        (WebCore::BatteryManager::batteryControllerDestroyed):
81916        (WebCore::BatteryManager::canSuspend):
81917        (WebCore::BatteryManager::eventTargetData):
81918        (WebCore::BatteryManager::ensureEventTargetData):
81919        (WebCore::BatteryManager::refEventTarget):
81920        (WebCore::BatteryManager::derefEventTarget):
81921        * Modules/battery/BatteryManager.idl: Added.
81922        * Modules/battery/BatteryStatus.cpp: Added.
81923        (WebCore):
81924        (WebCore::BatteryStatus::create):
81925        (WebCore::BatteryStatus::BatteryStatus):
81926        * Modules/battery/BatteryStatus.h: Added.
81927        (WebCore):
81928        (BatteryStatus):
81929        (WebCore::BatteryStatus::charging):
81930        (WebCore::BatteryStatus::chargingTime):
81931        (WebCore::BatteryStatus::dischargingTime):
81932        (WebCore::BatteryStatus::level):
81933        * Modules/battery/NavigatorBattery.cpp: Added.
81934        (WebCore):
81935        (WebCore::NavigatorBattery::NavigatorBattery):
81936        (WebCore::NavigatorBattery::~NavigatorBattery):
81937        (WebCore::NavigatorBattery::webkitBattery):
81938        (WebCore::NavigatorBattery::from):
81939        (WebCore::NavigatorBattery::batteryManager):
81940        * Modules/battery/NavigatorBattery.h: Added.
81941        (WebCore):
81942        (NavigatorBattery):
81943        * Modules/battery/NavigatorBattery.idl: Added.
81944        * dom/EventNames.h:
81945        (WebCore):
81946        * dom/EventTargetFactory.in:
81947        * testing/Internals.cpp:
81948        (WebCore::Internals::setBatteryStatus):
81949        (WebCore):
81950        * testing/Internals.h:
81951        (Internals):
81952        * testing/Internals.idl:
81953
819542012-03-16  Ilya Tikhonovsky  <loislo@chromium.org>
81955
81956        Web Inspector: HeapSnapshot: speedup buildReverseIndex.
81957        https://bugs.webkit.org/show_bug.cgi?id=81327
81958
81959        Reviewed by Yury Semikhatsky.
81960
81961        * inspector/front-end/HeapSnapshot.js:
81962        (WebInspector.HeapSnapshot.prototype.get maxNodeId):
81963        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
81964        (WebInspector.HeapSnapshot.prototype._findNearestNodeIndex):
81965        (WebInspector.HeapSnapshot.prototype._getRetainerIndex):
81966        (WebInspector.HeapSnapshot.prototype._buildDominatedNodes):
81967        (WebInspector.HeapSnapshot.prototype):
81968
819692012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
81970
81971        Unreviewed, rolling out r110976.
81972        http://trac.webkit.org/changeset/110976
81973        https://bugs.webkit.org/show_bug.cgi?id=81330
81974
81975        webkit_unit_tests crashes. (Requested by morrita on #webkit).
81976
81977        * loader/cache/CachedCSSStyleSheet.cpp:
81978        (WebCore::CachedCSSStyleSheet::error):
81979        (WebCore):
81980        * loader/cache/CachedCSSStyleSheet.h:
81981        (CachedCSSStyleSheet):
81982        * loader/cache/CachedFont.cpp:
81983        (WebCore):
81984        (WebCore::CachedFont::error):
81985        * loader/cache/CachedFont.h:
81986        (CachedFont):
81987        * loader/cache/CachedImage.cpp:
81988        (WebCore::CachedImage::error):
81989        * loader/cache/CachedResource.h:
81990        (CachedResource):
81991        * loader/cache/CachedScript.cpp:
81992        (WebCore::CachedScript::error):
81993        (WebCore):
81994        * loader/cache/CachedScript.h:
81995        (CachedScript):
81996        * loader/cache/CachedXSLStyleSheet.cpp:
81997        (WebCore::CachedXSLStyleSheet::error):
81998        (WebCore):
81999        * loader/cache/CachedXSLStyleSheet.h:
82000        (CachedXSLStyleSheet):
82001
820022012-03-16  Luke Macpherson   <macpherson@chromium.org>
82003
82004        Implement cast between CSSPrimitiveValue and LineClampValue.
82005        https://bugs.webkit.org/show_bug.cgi?id=76806
82006
82007        Reviewed by Andreas Kling.
82008
82009        Covered by many existing LayoutTests.
82010
82011        This simplifies code in CSSStyleSelector and future mapping to CSSStyleApplyProperty.
82012
82013        * css/CSSPrimitiveValueMappings.h:
82014        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
82015        (WebCore::CSSPrimitiveValue::operator LineClampValue):
82016        * css/CSSStyleSelector.cpp:
82017        (WebCore::CSSStyleSelector::applyProperty):
82018
820192012-03-16  Nat Duca  <nduca@chromium.org>
82020
82021        [chromium] Bump textureUpdatesPerFrame to 32 to favor updating the screen over jank prevention
82022        https://bugs.webkit.org/show_bug.cgi?id=81298
82023
82024        Reviewed by James Robinson.
82025
82026        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
82027        (WTF):
82028
820292012-03-16  Levi Weintraub  <leviw@chromium.org>
82030
82031        Update usage of LayoutUnits in RenderBlock*
82032        https://bugs.webkit.org/show_bug.cgi?id=80437
82033
82034        Reviewed by Julien Chaffraix.
82035
82036        Updating LayoutUnit usage in RenderBlock and RenderBlockLineLayout. This better readies trunk for
82037        the transition to subpixel layout.
82038
82039        See https://trac.webkit.org/wiki/LayoutUnit for more details.
82040
82041        No new tests. No changed behavior.
82042
82043        * rendering/InlineTextBox.cpp:
82044        (WebCore::InlineTextBox::paint): Adding the paint offset rounding previously in RenderBlock::paint.
82045        * rendering/LayoutTypes.h:
82046        (WebCore::floorToInt): Will floor a LayoutUnit to an integer once we switch to
82047        FractionalLayoutUnits.
82048        (WebCore::boundedMultiply): Method that will return the multiplied result of two LayoutUnits
82049        or the max/min LayoutUnit if the result overflows. Only does a regular multiply while
82050        LayoutUnits are integers instead of FractionalLayoutUnits.
82051        (WebCore):
82052        * rendering/RenderBlock.cpp:
82053        (WebCore::RenderBlock::paintContents): Rounding the paintOffset here didn't work for all
82054        inline blocks. This rounding is actually only needed for InlineTextBoxes, so the logic has
82055        been moved there.
82056        (WebCore::RenderBlock::newLine): Use a LayoutUnit for the y position.
82057        (WebCore::RenderBlock::isPointInOverflowControl): Points for hit testing need to be rounded.
82058        (WebCore::RenderBlock::layoutColumns): Using boundedMultiply for a calculation prone to overflow.
82059        (WebCore::updatePreferredWidth): Reverting back to using ceilf. ceiledLayoutUnit was to be ultimately
82060        converted to just a straight LayoutUnit constructor to preserve precision. This precision doesn't work
82061        for us here as we still paint Boxes/Blocks on pixel boundaries, so we need to expand to a pixel size
82062        that encloses the contained text.
82063        (WebCore::RenderBlock::setPageLogicalOffset): LogicalOffset should be a LayoutUnit.
82064        (WebCore::RenderBlock::marginValuesForChild): Margins should have subpixel resolution.
82065        (WebCore::RenderBlock::FloatingObjects::intervalForFloatingObject): Intervals for floating objects
82066        need to use pixel snapped values to give the proper results.
82067        * rendering/RenderBlock.h:
82068        (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Only moved.
82069        (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine): While we can round the left offset,
82070        columns add an extra offset at paint that can't currently be planned for at line-layout time. To
82071        avoid laying out lines that run off the end of columns, we floor the right offset. The resulting
82072        lines will be up to 1 pixel shorter than they potentially could be.
82073        (RenderBlock):
82074        (WebCore::RenderBlock::FloatingObject::pixelSnappedX): Using corresponding pixelSnappedX value from
82075        LayoutRects.
82076        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX): Ditto.
82077        (WebCore::RenderBlock::FloatingObject::pixelSnappedY): Ditto.
82078        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY): Ditto.
82079        (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth): Ditto.
82080        (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight): Ditto.
82081        * rendering/RenderBlockLineLayout.cpp:
82082        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded): LogicalHeight is a LayoutUnit. Also
82083        flooring textIndentOffset to an integer to match old behavior.
82084        (WebCore::LineWidth::fitBelowFloats): Using LayoutUnits for float logical top and bottoms.
82085        (WebCore::LineLayoutState::endLineLogicalTop): Changing to a LayoutUnit.
82086        (WebCore::LineLayoutState::setEndLineLogicalTop): Ditto.
82087        (LineLayoutState): Ditto.
82088        (WebCore::RenderBlock::linkToEndLineIfNeeded): Calculating overflow with LayoutUnits.
82089        (WebCore::RenderBlock::layoutInlineChildren): LowestAllowedPosition should be subpixel.
82090        (WebCore::RenderBlock::checkLinesForTextOverflow): Reverting ellipsis width calculation to integers
82091        as this value can be seen as representing pixels on screen.
82092
820932012-03-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
82094
82095        Follow up to: window.innerWidth/Height should not include page scale
82096        https://bugs.webkit.org/show_bug.cgi?id=76555
82097
82098        Reviewed by Simon Hausmann.
82099
82100        Introduce mapping methods for converting between CSS and layout units.
82101
82102        * page/DOMWindow.cpp:
82103        (WebCore::DOMWindow::innerHeight):
82104        (WebCore::DOMWindow::innerWidth):
82105        (WebCore::DOMWindow::scrollX):
82106        (WebCore::DOMWindow::scrollY):
82107        (WebCore::DOMWindow::scrollTo):
82108        * page/FrameView.h:
82109        (FrameView):
82110        (WebCore::FrameView::mapFromLayoutToCSSUnits):
82111        (WebCore):
82112        (WebCore::FrameView::mapFromCSSToLayoutUnits):
82113
821142012-03-16  Ian Vollick  <vollick@chromium.org>
82115
82116        [chromium] Threaded opacity animation jump to opacity of 0
82117        https://bugs.webkit.org/show_bug.cgi?id=80744
82118
82119        Reviewed by James Robinson.
82120
82121        Tested in CCLayerTreeHostTestDoNotSkipLayersWithAnimatedOpacity
82122
82123        * platform/graphics/chromium/LayerChromium.cpp:
82124        (WebCore::LayerChromium::LayerChromium):
82125        (WebCore::LayerChromium::opacityIsAnimating):
82126        (WebCore):
82127        (WebCore::LayerChromium::transformIsAnimating):
82128        * platform/graphics/chromium/LayerChromium.h:
82129        (LayerChromium):
82130        (WebCore::LayerChromium::drawOpacityIsAnimating):
82131        (WebCore::LayerChromium::setDrawOpacityIsAnimating):
82132        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
82133        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
82134        * platform/graphics/chromium/RenderSurfaceChromium.h:
82135        (WebCore::RenderSurfaceChromium::drawOpacityIsAnimating):
82136        (WebCore::RenderSurfaceChromium::setDrawOpacityIsAnimating):
82137        (RenderSurfaceChromium):
82138        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
82139        (WebCore::CCLayerAnimationController::isAnimatingProperty):
82140        (WebCore):
82141        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
82142        (CCLayerAnimationController):
82143        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
82144        (WebCore::CCLayerAnimationControllerImpl::isAnimatingProperty):
82145        (WebCore):
82146        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
82147        (CCLayerAnimationControllerImpl):
82148        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
82149        (WebCore::CCLayerImpl::CCLayerImpl):
82150        (WebCore::CCLayerImpl::opacityIsAnimating):
82151        (WebCore):
82152        (WebCore::CCLayerImpl::transformIsAnimating):
82153        * platform/graphics/chromium/cc/CCLayerImpl.h:
82154        (CCLayerImpl):
82155        (WebCore::CCLayerImpl::drawOpacityIsAnimating):
82156        (WebCore::CCLayerImpl::setDrawOpacityIsAnimating):
82157        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
82158        (WebCore::CCLayerTreeHost::paintLayerContents):
82159        (WebCore::CCLayerTreeHost::updateCompositorResources):
82160        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
82161        (WebCore::layerShouldBeSkipped):
82162        (WebCore::subtreeShouldBeSkipped):
82163        (WebCore):
82164        (WebCore::LayerChromium):
82165        (WebCore::calculateDrawTransformsAndVisibilityInternal):
82166        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
82167        (WebCore::CCRenderSurface::CCRenderSurface):
82168        * platform/graphics/chromium/cc/CCRenderSurface.h:
82169        (WebCore::CCRenderSurface::drawOpacityIsAnimating):
82170        (WebCore::CCRenderSurface::setDrawOpacityIsAnimating):
82171        (CCRenderSurface):
82172
821732012-03-15  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
82174
82175        [TexMap] Reuse textures following the same rules as they do internally.
82176        https://bugs.webkit.org/show_bug.cgi?id=80843
82177
82178        Reviewed by Noam Rosenthal.
82179
82180        BitmapTextures were recently changed to be the same size as their contents.
82181        This would obsolete the logic in acquireTextureFromPool which would
82182        assume that a BitmapTexture has good chances of being reused if its
82183        size is bigger or equal to the new size.
82184
82185        This asks the texture instead if it can be reused which now simply
82186        check for an exact size match.
82187
82188        * platform/graphics/texmap/TextureMapper.cpp:
82189        (WebCore::TextureMapper::acquireTextureFromPool):
82190        * platform/graphics/texmap/TextureMapper.h:
82191        (WebCore::BitmapTexture::canReuseWith):
82192        (WebCore::BitmapTexture::reset):
82193        (WebCore::BitmapTexture::didReset):
82194        * platform/graphics/texmap/TextureMapperGL.cpp:
82195        (WebCore::BitmapTextureGL::canReuseWith):
82196        (WebCore):
82197        * platform/graphics/texmap/TextureMapperGL.h:
82198        (BitmapTextureGL):
82199
822002012-03-16  Robert Kroeger  <rjkroege@chromium.org>
82201
82202        Connect up fling event delivery to gesture curve animation framework
82203        https://bugs.webkit.org/show_bug.cgi?id=80858
82204
82205        Reviewed by Adam Barth.
82206
82207        * platform/ScrollAnimatorNone.cpp:
82208        (WebCore::ScrollAnimatorNone::fireUpAnAnimation):
82209
822102012-03-16  Nate Chapin  <japhet@chromium.org>
82211
82212        Remove duplicate error() impls in CachedResource subclasses
82213        https://bugs.webkit.org/show_bug.cgi?id=81161
82214
82215        Reviewed by Alexey Proskuryakov.
82216
82217        No new tests, refactor only.
82218
82219        * loader/cache/CachedCSSStyleSheet.cpp:
82220        * loader/cache/CachedCSSStyleSheet.h:
82221        * loader/cache/CachedFont.cpp:
82222        * loader/cache/CachedFont.h:
82223        * loader/cache/CachedImage.cpp:
82224        * loader/cache/CachedResource.h: Make checkNotify()
82225             virtual, so the right checkNotify() gets called in error().
82226        * loader/cache/CachedScript.cpp:
82227        * loader/cache/CachedScript.h:
82228        * loader/cache/CachedXSLStyleSheet.cpp:
82229        * loader/cache/CachedXSLStyleSheet.h:
82230
822312012-03-16  Dana Jansens  <danakj@chromium.org>
82232
82233        [chromium] Changes to overdraw metrics to allow upload tracking
82234        https://bugs.webkit.org/show_bug.cgi?id=81222
82235
82236        Reviewed by Adrienne Walker.
82237
82238        Stick CCOverdrawMetrics into CCOcclusionTracker, so that it is available
82239        everywhere that culling/drawing/painting is going on. Then we can stop
82240        plumbing a metrics object through CCQuadCuller.
82241
82242        Rename the CCOverdrawMetrics "painting" stuff to "uploading" as this will
82243        measure texture uploads rather than pixels painted in main memory.
82244
82245        Covered by existing tests.
82246
82247        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
82248        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
82249        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
82250        (WebCore::::CCOcclusionTrackerBase):
82251        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
82252        (CCOcclusionTrackerBase):
82253        (WebCore::CCOcclusionTrackerBase::overdrawMetrics):
82254        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp:
82255        (WebCore::CCOverdrawMetrics::didCull):
82256        (WebCore):
82257        (WebCore::CCOverdrawMetrics::didDraw):
82258        (WebCore::CCOverdrawMetrics::recordMetrics):
82259        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
82260        * platform/graphics/chromium/cc/CCOverdrawMetrics.h:
82261        (WebCore):
82262        (WebCore::CCOverdrawMetrics::create):
82263        (CCOverdrawMetrics):
82264        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
82265        (WebCore::CCQuadCuller::CCQuadCuller):
82266        (WebCore::CCQuadCuller::append):
82267        * platform/graphics/chromium/cc/CCQuadCuller.h:
82268        (CCQuadCuller):
82269        * platform/graphics/chromium/cc/CCRenderPass.cpp:
82270        (WebCore::CCRenderPass::appendQuadsForLayer):
82271        * platform/graphics/chromium/cc/CCRenderPass.h:
82272        (WebCore):
82273        (CCRenderPass):
82274
822752012-03-16  Greg Billock  <gbillock@google.com>
82276
82277        Add TransferList IDL modifier, with support in V8 code gen.
82278        https://bugs.webkit.org/show_bug.cgi?id=81127
82279
82280        Reviewed by Adam Barth.
82281
82282        * bindings/scripts/CodeGeneratorV8.pm:
82283        (GenerateFunctionCallback):
82284        (GetIndexOf):
82285        (GenerateParametersCheck):
82286        (GenerateConstructorCallback):
82287        (GenerateNamedConstructorCallback):
82288        (GenerateFunctionCallString):
82289        * bindings/scripts/IDLAttributes.txt:
82290        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
82291        (WebDOMTestSerializedScriptValueInterface::acceptTransferList):
82292        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
82293        (WebDOMTestSerializedScriptValueInterface):
82294        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
82295        (webkit_dom_test_serialized_script_value_interface_accept_transfer_list):
82296        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
82297        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
82298        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
82299        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
82300        (WebCore):
82301        (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertySlot):
82302        (WebCore::JSTestSerializedScriptValueInterfacePrototype::getOwnPropertyDescriptor):
82303        (WebCore::jsTestSerializedScriptValueInterfacePrototypeFunctionAcceptTransferList):
82304        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
82305        (JSTestSerializedScriptValueInterfacePrototype):
82306        (WebCore):
82307        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
82308        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
82309        (-[DOMTestSerializedScriptValueInterface acceptTransferList:transferList:]):
82310        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
82311        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
82312        (WebCore::TestSerializedScriptValueInterfaceInternal::acceptTransferListCallback):
82313        (TestSerializedScriptValueInterfaceInternal):
82314        (WebCore):
82315        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
82316        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
82317
823182012-03-16  Dana Jansens  <danakj@chromium.org>
82319
82320        [chromium] Quads that become fully opaque after culling should not use blending
82321        https://bugs.webkit.org/show_bug.cgi?id=81235
82322
82323        Reviewed by Adrienne Walker.
82324
82325        Unit test: CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
82326
82327        * platform/graphics/chromium/cc/CCDrawQuad.h:
82328        (WebCore::CCDrawQuad::needsBlending):
82329
823302012-03-16  Xiaomei Ji  <xji@chromium.org>
82331
82332        Using ICU break iterator to simplify visual word movement implementation.
82333        https://bugs.webkit.org/show_bug.cgi?id=78856
82334
82335        Reviewed by Ryosuke Niwa.
82336
82337        This patch relies on ICU word break iterator and cursor visual movement by character to get the word break
82338        position in visual order. It reduces the complexity of old implementation.
82339
82340        Test: editing/selection/move-by-word-visually-wrong-left-right.html
82341
82342        * editing/FrameSelection.cpp: Exclude WinCE from visual word movement since isWordTextBreak is not implemented.
82343        (WebCore::FrameSelection::modifyMovingRight):
82344        (WebCore::FrameSelection::modifyMovingLeft):
82345        * editing/visible_units.cpp:
82346        (WebCore):
82347        (WebCore::previousLeafWithSameEditability): Just moving to the top without functionality change.
82348        (WebCore::enclosingNodeWithNonInlineRenderer): ditto.
82349        (WebCore::nextLeafWithSameEditability): ditto.
82350        (WebCore::previousRootInlineBox): return previous RootInlineBox which is in different renderer.
82351        (WebCore::nextRootInlineBox): return next RootInlineBox which is in different renderer.
82352        (WebCore::boxIndexInVector):
82353        (WebCore::previousBoxInLine): returns logically previous box in one line.
82354        (WebCore::logicallyPreviousBox): returns logically previous box.
82355        (WebCore::nextBoxInLine): returns logically next box in one line.
82356        (WebCore::logicallyNextBox): returns logically next box.
82357        (WebCore::wordBreakIteratorForMinOffsetBoundary): create word break iterator for position that is a box's min offset.
82358        (WebCore::wordBreakIteratorForMaxOffsetBoundary): create word break iterator for position that is a box's max offset.
82359        (WebCore::isLogicalStartOfWord): return whether a position is logically start of word.
82360        (WebCore::islogicalEndOfWord): return whether a position is logically end of word.
82361        (WebCore::visualWordPosition): returns the visual left or right word position.
82362        (WebCore::leftWordPosition):
82363        (WebCore::rightWordPosition):
82364        * platform/text/TextBreakIterator.h: Add isWordTextBreak().
82365        (WebCore):
82366        * platform/text/TextBreakIteratorICU.cpp:
82367        (WebCore::isWordTextBreak):
82368        (WebCore):
82369        * platform/text/gtk/TextBreakIteratorGtk.cpp:
82370        (WebCore::isWordTextBreak):
82371        (WebCore):
82372        * platform/text/qt/TextBreakIteratorQt.cpp:
82373        (WebCore::isWordTextBreak):
82374        (WebCore):
82375        * platform/text/wince/TextBreakIteratorWinCE.cpp:
82376        (WebCore::isWordTextBreak):
82377        (WebCore):
82378
823792012-03-16  Dana Jansens  <danakj@chromium.org>
82380
82381        [chromium] Don't create a quad for video layers without a frame (avoid use of uninitialized m_format)
82382        https://bugs.webkit.org/show_bug.cgi?id=81250
82383
82384        Reviewed by James Robinson.
82385
82386        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
82387        (WebCore::CCVideoLayerImpl::appendQuads):
82388
823892012-03-16  Hajime Morrita  <morrita@chromium.org>
82390
82391        Unreviewed attempt to fix Chromium windows build.
82392
82393        * Modules/speech/SpeechRecognition.h:
82394        (SpeechRecognition):
82395
823962012-03-16  Mark Pilgrim  <pilgrim@chromium.org>
82397
82398        Move DOMWindowFileSystem to Modules/filesystem/
82399        https://bugs.webkit.org/show_bug.cgi?id=81030
82400
82401        Reviewed by Adam Barth.
82402
82403        No new tests, all existing tests pass.
82404
82405        * CMakeLists.txt:
82406        * DerivedSources.make:
82407        * DerivedSources.pri:
82408        * GNUmakefile.am:
82409        * GNUmakefile.list.am:
82410        * Modules/filesystem/DOMWindowFileSystem.cpp: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.cpp.
82411        * Modules/filesystem/DOMWindowFileSystem.h: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.h.
82412        * Modules/filesystem/DOMWindowFileSystem.idl: Copied from Source/WebCore/fileapi/DOMWindowFileSystem.idl.
82413        * Target.pri:
82414        * WebCore.gyp/WebCore.gyp:
82415        * WebCore.gypi:
82416        * WebCore.vcproj/WebCore.vcproj:
82417        * WebCore.vcproj/WebCoreCommon.vsprops:
82418        * WebCore.vcproj/copyForwardingHeaders.cmd:
82419        * fileapi/DOMWindowFileSystem.cpp: Removed.
82420        * fileapi/DOMWindowFileSystem.h: Removed.
82421        * fileapi/DOMWindowFileSystem.idl: Removed.
82422
824232012-03-16  Sheriff Bot  <webkit.review.bot@gmail.com>
82424
82425        Unreviewed, rolling out r110951.
82426        http://trac.webkit.org/changeset/110951
82427        https://bugs.webkit.org/show_bug.cgi?id=81316
82428
82429        Does not build on apple-mac (Requested by abarth on #webkit).
82430
82431        * platform/audio/DynamicsCompressor.h:
82432        (DynamicsCompressor):
82433        * webaudio/DynamicsCompressorNode.cpp:
82434        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
82435        (WebCore::DynamicsCompressorNode::process):
82436        * webaudio/DynamicsCompressorNode.h:
82437        (DynamicsCompressorNode):
82438        * webaudio/DynamicsCompressorNode.idl:
82439
824402012-03-16  Seo Sanghyeon  <sh4.seo@samsung.com>
82441
82442        Cleanup empty attribute list in IDLs
82443        https://bugs.webkit.org/show_bug.cgi?id=81228
82444
82445        Reviewed by Adam Barth.
82446
82447        No tests. No change in behavior.
82448
82449        * css/WebKitCSSRegionRule.idl:
82450
824512012-03-16  Pratik Solanki  <psolanki@apple.com>
82452
82453        onorientationchange event should have JSWindowEventListener attribute
82454        https://bugs.webkit.org/show_bug.cgi?id=79513
82455
82456        Reviewed by Kentaro Hara.
82457
82458        * html/HTMLFrameSetElement.idl:
82459
824602012-03-15  Gao Chun  <chun.gao@intel.com>
82461
82462        Expose attack, release as DynamicsCompressorNode's attributes.
82463        https://bugs.webkit.org/show_bug.cgi?id=81221
82464
82465        Reviewed by Chris Rogers.
82466
82467        Test: webaudio/dynamicscompressor-basic.html
82468
82469        * platform/audio/DynamicsCompressor.h:
82470        (DynamicsCompressor):
82471        * webaudio/DynamicsCompressorNode.cpp:
82472        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
82473        (WebCore::DynamicsCompressorNode::process):
82474        * webaudio/DynamicsCompressorNode.h:
82475        (WebCore::DynamicsCompressorNode::attack):
82476        (WebCore::DynamicsCompressorNode::release):
82477        (DynamicsCompressorNode):
82478        * webaudio/DynamicsCompressorNode.idl:
82479
824802012-03-15  Hans Wennborg  <hans@chromium.org>
82481
82482        Speech JavaScript API: SpeechRecognition, Controller and Client
82483        https://bugs.webkit.org/show_bug.cgi?id=81096
82484
82485        Reviewed by Adam Barth.
82486
82487        Add implementation stub for SpeechRecognition. Add the
82488        SpeechRecognitionController class and SpeechRecognitionClient
82489        interface.
82490
82491        Test: fast/speech/scripted/basics.html
82492
82493        * Modules/speech/DOMWindowSpeech.idl:
82494        * Modules/speech/SpeechRecognition.cpp: Added.
82495        (WebCore):
82496        (WebCore::SpeechRecognition::create):
82497        (WebCore::SpeechRecognition::start):
82498        (WebCore::SpeechRecognition::stopFunction):
82499        (WebCore::SpeechRecognition::abort):
82500        (WebCore::SpeechRecognition::audioStartCallback):
82501        (WebCore::SpeechRecognition::soundStartCallback):
82502        (WebCore::SpeechRecognition::speechStartCallback):
82503        (WebCore::SpeechRecognition::speechEndCallback):
82504        (WebCore::SpeechRecognition::audioEndCallback):
82505        (WebCore::SpeechRecognition::resultCallback):
82506        (WebCore::SpeechRecognition::noMatchCallback):
82507        (WebCore::SpeechRecognition::resultDeletedCallback):
82508        (WebCore::SpeechRecognition::errorCallback):
82509        (WebCore::SpeechRecognition::startCallback):
82510        (WebCore::SpeechRecognition::endCallback):
82511        (WebCore::SpeechRecognition::interfaceName):
82512        (WebCore::SpeechRecognition::scriptExecutionContext):
82513        (WebCore::SpeechRecognition::SpeechRecognition):
82514        (WebCore::SpeechRecognition::~SpeechRecognition):
82515        * Modules/speech/SpeechRecognition.h: Added.
82516        (WebCore):
82517        (SpeechRecognition):
82518        (WebCore::SpeechRecognition::grammars):
82519        (WebCore::SpeechRecognition::setGrammars):
82520        (WebCore::SpeechRecognition::lang):
82521        (WebCore::SpeechRecognition::setLang):
82522        (WebCore::SpeechRecognition::continuous):
82523        (WebCore::SpeechRecognition::setContinuous):
82524        * Modules/speech/SpeechRecognition.idl:
82525        * Modules/speech/SpeechRecognitionClient.h:
82526        (WebCore):
82527        (SpeechRecognitionClient):
82528        (WebCore::SpeechRecognitionClient::~SpeechRecognitionClient):
82529        * Modules/speech/SpeechRecognitionController.cpp:
82530        (WebCore):
82531        (WebCore::SpeechRecognitionController::supplementName):
82532        (WebCore::SpeechRecognitionController::SpeechRecognitionController):
82533        (WebCore::SpeechRecognitionController::~SpeechRecognitionController):
82534        (WebCore::SpeechRecognitionController::create):
82535        (WebCore::provideSpeechRecognitionTo):
82536        * Modules/speech/SpeechRecognitionController.h: Added.
82537        (WebCore):
82538        (SpeechRecognitionController):
82539        (WebCore::SpeechRecognitionController::start):
82540        (WebCore::SpeechRecognitionController::stop):
82541        (WebCore::SpeechRecognitionController::abort):
82542        (WebCore::SpeechRecognitionController::visibilityHidden):
82543        (WebCore::SpeechRecognitionController::unregisterSpeechRecognition):
82544        (WebCore::SpeechRecognitionController::from):
82545        * WebCore.gypi:
82546        * dom/EventTargetFactory.in:
82547
825482012-03-15  Michal Ciepielski  <m.ciepielski@samsung.com>
82549
82550        [EFL] Sets alpha channel for new buffers.
82551        https://bugs.webkit.org/show_bug.cgi?id=77101
82552
82553        Reviewed by Hajime Morita.
82554
82555        No new tests.
82556
82557        By default EFL creates buffers without alpha channel.
82558        This causes improper rendering of HTML controls (i.e. radio buttons, checkboxes).
82559        This commits sets alpha channel for all newly created buffers by EFL.
82560
82561        * platform/efl/RenderThemeEfl.cpp:
82562        (WebCore::RenderThemeEfl::cacheThemePartNew):
82563
825642012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
82565
82566        Unreviewed, rolling out r110941.
82567        http://trac.webkit.org/changeset/110941
82568        https://bugs.webkit.org/show_bug.cgi?id=81307
82569
82570        the revert looks innocent. (Requested by morrita on #webkit).
82571
82572        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
82573        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
82574        * platform/graphics/chromium/Canvas2DLayerChromium.h:
82575        (Canvas2DLayerChromium):
82576        * platform/graphics/chromium/ContentLayerChromium.cpp:
82577        (WebCore::ContentLayerChromium::paintContentsIfDirty):
82578        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
82579        * platform/graphics/chromium/ContentLayerChromium.h:
82580        (WebCore):
82581        (ContentLayerChromium):
82582        * platform/graphics/chromium/ImageLayerChromium.cpp:
82583        (WebCore::ImageLayerChromium::paintContentsIfDirty):
82584        * platform/graphics/chromium/ImageLayerChromium.h:
82585        (WebCore):
82586        (ImageLayerChromium):
82587        * platform/graphics/chromium/LayerChromium.h:
82588        (WebCore::LayerChromium::paintContentsIfDirty):
82589        (WebCore::LayerChromium::idlePaintContentsIfDirty):
82590        * platform/graphics/chromium/TiledLayerChromium.cpp:
82591        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
82592        (WebCore::TiledLayerChromium::prepareToUpdate):
82593        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
82594        * platform/graphics/chromium/TiledLayerChromium.h:
82595        (TiledLayerChromium):
82596        * platform/graphics/chromium/WebGLLayerChromium.cpp:
82597        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
82598        * platform/graphics/chromium/WebGLLayerChromium.h:
82599        (WebGLLayerChromium):
82600        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
82601        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
82602        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
82603        (WebCore::CCLayerTreeHost::paintLayerContents):
82604        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
82605
826062012-03-15  Tommy Widenflycht  <tommyw@google.com>
82607
82608        MediaStream API (JSEP): Introducing SessionDescription
82609        https://bugs.webkit.org/show_bug.cgi?id=81206
82610
82611        Reviewed by Adam Barth.
82612
82613        Patch #3 in a series of patches to change the PeerConnection from ROAP to JSEP,
82614        see bug 80589 for more information.
82615        Adding the SessionDescription JS object and its platform counterpart SessionDescriptionDescriptor.
82616
82617        Not possible to test until the entire JSEP feature is commited.
82618
82619        * GNUmakefile.list.am:
82620        * Modules/mediastream/SessionDescription.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
82621        (WebCore):
82622        (WebCore::SessionDescription::create):
82623        (WebCore::SessionDescription::SessionDescription):
82624        (WebCore::SessionDescription::~SessionDescription):
82625        (WebCore::SessionDescription::addCandidate):
82626        (WebCore::SessionDescription::toSdp):
82627        (WebCore::SessionDescription::descriptor):
82628        * Modules/mediastream/SessionDescription.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
82629        (WebCore):
82630        (SessionDescription):
82631        * Modules/mediastream/SessionDescription.idl: Added.
82632        * WebCore.gypi:
82633        * platform/mediastream/MediaStreamCenter.cpp:
82634        (WebCore::MediaStreamCenter::constructSdp):
82635        (WebCore):
82636        * platform/mediastream/MediaStreamCenter.h:
82637        (WebCore):
82638        (MediaStreamCenter):
82639        * platform/mediastream/SessionDescriptionDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
82640        (WebCore):
82641        (WebCore::SessionDescriptionDescriptor::create):
82642        (WebCore::SessionDescriptionDescriptor::SessionDescriptionDescriptor):
82643        (WebCore::SessionDescriptionDescriptor::~SessionDescriptionDescriptor):
82644        (WebCore::SessionDescriptionDescriptor::addCandidate):
82645        (WebCore::SessionDescriptionDescriptor::toSdp):
82646        (WebCore::SessionDescriptionDescriptor::numberOfAddedCandidates):
82647        (WebCore::SessionDescriptionDescriptor::candidate):
82648        (WebCore::SessionDescriptionDescriptor::initialSdp):
82649        * platform/mediastream/SessionDescriptionDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
82650        (WebCore):
82651        (SessionDescriptionDescriptor):
82652
826532012-03-15  Sheriff Bot  <webkit.review.bot@gmail.com>
82654
82655        Unreviewed, rolling out r110929.
82656        http://trac.webkit.org/changeset/110929
82657        https://bugs.webkit.org/show_bug.cgi?id=81306
82658
82659        breaking webkit_unit_tests (Requested by morrita on #webkit).
82660
82661        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
82662        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
82663        * platform/graphics/chromium/Canvas2DLayerChromium.h:
82664        (Canvas2DLayerChromium):
82665        * platform/graphics/chromium/ContentLayerChromium.cpp:
82666        (WebCore::ContentLayerChromium::paintContentsIfDirty):
82667        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
82668        * platform/graphics/chromium/ContentLayerChromium.h:
82669        (WebCore):
82670        (ContentLayerChromium):
82671        * platform/graphics/chromium/ImageLayerChromium.cpp:
82672        (WebCore::ImageLayerChromium::paintContentsIfDirty):
82673        * platform/graphics/chromium/ImageLayerChromium.h:
82674        (WebCore):
82675        (ImageLayerChromium):
82676        * platform/graphics/chromium/LayerChromium.h:
82677        (WebCore::LayerChromium::paintContentsIfDirty):
82678        (WebCore::LayerChromium::idlePaintContentsIfDirty):
82679        * platform/graphics/chromium/TiledLayerChromium.cpp:
82680        (WebCore):
82681        (WebCore::contentToLayerTransform):
82682        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
82683        (WebCore::TiledLayerChromium::prepareToUpdate):
82684        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
82685        * platform/graphics/chromium/TiledLayerChromium.h:
82686        (WebCore):
82687        (TiledLayerChromium):
82688        * platform/graphics/chromium/WebGLLayerChromium.cpp:
82689        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
82690        * platform/graphics/chromium/WebGLLayerChromium.h:
82691        (WebGLLayerChromium):
82692        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
82693        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
82694        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
82695        (WebCore::CCLayerTreeHost::paintLayerContents):
82696        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
82697
826982012-03-15  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
82699
82700        REGRESSION(r106232): The resize handler is always called after loading.
82701        https://bugs.webkit.org/show_bug.cgi?id=80242
82702
82703        Reviewed by Kenneth Rohde Christiansen.
82704
82705        Ensure resize-events are not emitted when layout-size changes due to added
82706        scrollbars. For fixed layout, scrollbars are never subtracted or added, so
82707        we can compare fixedLayoutSize directly. For normal layout, use the full
82708        visible rect size which is the same as layout size plus scrollbars.
82709
82710        Test: fast/events/resize-events.html
82711
82712        * page/FrameView.cpp:
82713        (WebCore::FrameView::reset):
82714        (WebCore::FrameView::layout):
82715        (WebCore::FrameView::performPostLayoutTasks):
82716        * page/FrameView.h:
82717        (FrameView):
82718
827192012-03-15  Tommy Widenflycht  <tommyw@google.com>
82720
82721        MediaStream API (JSEP): Introducing MediaHints and IceOptions
82722        https://bugs.webkit.org/show_bug.cgi?id=81207
82723
82724        Reviewed by Adam Barth.
82725
82726        Patch #4 in a series of patches to change the PeerConnection from ROAP to JSEP,
82727        see bug 80589 for more information.
82728        Introducing the platform MediaHints and IceOptions helper classes.
82729
82730        Not possible to test until the entire JSEP feature is commited.
82731
82732        * GNUmakefile.list.am:
82733        * WebCore.gypi:
82734        * platform/mediastream/IceOptions.cpp: Added.
82735        (WebCore):
82736        (WebCore::IceOptions::create):
82737        * platform/mediastream/IceOptions.h: Added.
82738        (WebCore):
82739        (IceOptions):
82740        (WebCore::IceOptions::~IceOptions):
82741        (WebCore::IceOptions::useCandidates):
82742        (WebCore::IceOptions::IceOptions):
82743        * platform/mediastream/MediaHints.cpp: Added.
82744        (WebCore):
82745        (WebCore::MediaHints::create):
82746        (WebCore::MediaHints::audio):
82747        (WebCore::MediaHints::video):
82748        * platform/mediastream/MediaHints.h: Added.
82749        (WebCore):
82750        (MediaHints):
82751        (WebCore::MediaHints::~MediaHints):
82752        (WebCore::MediaHints::MediaHints):
82753
827542012-03-15  Shinya Kawanaka  <shinyak@chromium.org>
82755
82756        [Crash] Adding <content> into a ShadowRoot causes crash.
82757        https://bugs.webkit.org/show_bug.cgi?id=80020
82758
82759        Reviewed by Hajime Morita.
82760
82761        The problem is <content> tries to select host children though it is not prepared.
82762        Since populating host children for insertion points is performed just before
82763        attaching a shadow tree, we should recalculate whole shadow tree if <content> is
82764        appended as a child.
82765
82766        However, element->appendChild() does not know the element is in a shadow tree or not.
82767        We have to ensure reattaching whole shadow tree here.
82768
82769        So this patch adds some phases to HTMLContentSelector so that we can check node
82770        distribution algorihm is begin processed or not. If not we cannot select anything,
82771        but we have to enable a flag to reattach whole shadow tree.
82772
82773        Tests: fast/dom/shadow/shadow-content-crash-expected.html
82774               fast/dom/shadow/shadow-content-crash.html
82775
82776        * dom/ShadowTree.cpp:
82777        (WebCore::ShadowTree::attach):
82778        (WebCore::ShadowTree::insertionPointFor):
82779        * dom/ShadowTree.h:
82780        (WebCore):
82781        (ShadowTree):
82782        (WebCore::ShadowTree::selector):
82783        * html/shadow/HTMLContentSelector.cpp:
82784        (WebCore::HTMLContentSelector::HTMLContentSelector):
82785        (WebCore::HTMLContentSelector::select):
82786        (WebCore::HTMLContentSelector::willSelect):
82787        (WebCore):
82788        (WebCore::HTMLContentSelector::didSelect):
82789        (WebCore::HTMLContentSelector::populateIfNecessary):
82790        * html/shadow/HTMLContentSelector.h:
82791        (HTMLContentSelector):
82792        (WebCore::HTMLContentSelector::isSelecting):
82793        (WebCore):
82794        (WebCore::HTMLContentSelector::hasPopulated):
82795        * html/shadow/InsertionPoint.cpp:
82796        (WebCore::InsertionPoint::distributeHostChildren):
82797        (WebCore::InsertionPoint::clearDistribution):
82798
827992012-03-15  Mike Lawther  <mikelawther@chromium.org>
82800
82801        CSS3 calc: mixed percent/absolute expressions for gradients
82802        https://bugs.webkit.org/show_bug.cgi?id=81182
82803
82804        Reviewed by Ojan Vafai.
82805
82806        * css/CSSGradientValue.cpp:
82807        (WebCore::CSSGradientValue::addStops):
82808        (WebCore::positionFromValue):
82809
828102012-03-15  Leo Yang  <leo.yang@torchmobile.com.cn>
82811
82812        [BlackBerry] Sync up MIMETypeRegistry.cpp
82813        https://bugs.webkit.org/show_bug.cgi?id=81191
82814
82815        Reviewed by Rob Buis.
82816
82817        Add png and jpeg to supportedImageMIMETypesForEncoding for BlackBerry.
82818
82819        * platform/MIMETypeRegistry.cpp:
82820        (WebCore::initializeSupportedImageMIMETypesForEncoding):
82821
828222012-03-15  Dana Jansens  <danakj@chromium.org>
82823
82824        [chromium] Decide occlusion in paint culling with CCOcclusionTracker
82825        https://bugs.webkit.org/show_bug.cgi?id=81181
82826
82827        Reviewed by Adrienne Walker.
82828
82829        Plumb a CCOcclusionTracker* around instead of a bare Region, so that it
82830        can make a more informed decision if a tile is occluded or not during
82831        paint.
82832
82833        Covered by existing tests.
82834
82835        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
82836        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
82837        * platform/graphics/chromium/Canvas2DLayerChromium.h:
82838        (Canvas2DLayerChromium):
82839        * platform/graphics/chromium/ContentLayerChromium.cpp:
82840        (WebCore::ContentLayerChromium::paintContentsIfDirty):
82841        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
82842        * platform/graphics/chromium/ContentLayerChromium.h:
82843        (WebCore):
82844        (ContentLayerChromium):
82845        * platform/graphics/chromium/ImageLayerChromium.cpp:
82846        (WebCore::ImageLayerChromium::paintContentsIfDirty):
82847        * platform/graphics/chromium/ImageLayerChromium.h:
82848        (WebCore):
82849        (ImageLayerChromium):
82850        * platform/graphics/chromium/LayerChromium.h:
82851        (WebCore::LayerChromium::paintContentsIfDirty):
82852        (WebCore::LayerChromium::idlePaintContentsIfDirty):
82853        * platform/graphics/chromium/TiledLayerChromium.cpp:
82854        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
82855        (WebCore::TiledLayerChromium::prepareToUpdate):
82856        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
82857        * platform/graphics/chromium/TiledLayerChromium.h:
82858        (TiledLayerChromium):
82859        * platform/graphics/chromium/WebGLLayerChromium.cpp:
82860        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
82861        * platform/graphics/chromium/WebGLLayerChromium.h:
82862        (WebGLLayerChromium):
82863        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
82864        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
82865        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
82866        (WebCore::CCLayerTreeHost::paintLayerContents):
82867        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
82868
828692012-03-15  Yoshifumi Inoue  <yosin@chromium.org>
82870
82871        [Forms] The "meter" element should not be a form-associated element.
82872        https://bugs.webkit.org/show_bug.cgi?id=80380
82873
82874        Reviewed by Kent Tamura.
82875
82876        This patch changes base class of HTMLMeterElement to LabelableElement from
82877        HTMLFormControlElement for saving memory space and iteration time of
82878        extra "meter" elements in HTMLFormElement::m_formAssociatedElements
82879        and matching the HTML5 specification for ease of maintenance.
82880
82881        This patch renames isLabelable method to supportLabels and makes isLabelable
82882        as predicate of an instance of LabelableElement or not.
82883
82884        Changes of TextIterator is lead by usage of isFormControlElement. This
82885        changes will be replaced with more meaningful predicate as part of
82886        https://bugs.webkit.org/show_bug.cgi?id=80381
82887
82888        No new tests. Update existing tests to cover this change.
82889
82890        * editing/TextIterator.cpp:
82891        (WebCore::TextIterator::advance): Check HTMLMeterElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
82892        * html/HTMLButton.h:
82893        (WebCore::HTMLButtonElement::supportLabels): Renamed from isLabelable
82894        * html/HTMLElement.h:
82895        (WebCore::HTMLElement::isLabelable): Added. A predicate for an instance of LabelableElement.
82896        * html/HTMLInputElement.h:
82897        (WebCore::HTMLInputElement::supportLabels): Renamed from isLabelable
82898        * html/HTMLKeygenElement.h:
82899        (WebCore::HTMLKeygenElement::supportLabels): Renamed from isLabelable
82900         * html/HTMLLabelElement.cpp:
82901        (WebCore::nodeAsLabelableElement): Changed to return LabelableElement instead of HTMLFormControlElement.
82902        (WebCore::HTMLLabelElement::control): Changed to return LabelableElement instead of HTMLFormControlElement.
82903        * html/HTMLLabelElement.h:
82904        (HTMLLabelElement):
82905        * html/HTMLMeterElement.cpp:
82906        (WebCore::HTMLMeterElement::HTMLMeterElement): Changed base class to LabelableElement.
82907        (WebCore::HTMLMeterElement::create): Remove form parameter.
82908        (WebCore::HTMLMeterElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
82909        (WebCore::HTMLMeterElement::parseAttribute): Replace HTMLFormControlElement to LabelableElement
82910        (WebCore::HTMLMeterElement::attach): Replace HTMLFormControlElement to LabelableElement
82911        * html/HTMLMeterElement.idl: Remove the "form" attribute which isn't listed in the HTML5 specification.
82912        * html/HTMLMeterElement.h:
82913        (HTMLMeterElement):
82914        (WebCore::HTMLMeterElement::supportLabels): Renamed from isLabelable
82915        * html/HTMLOutputElement.h:
82916        (WebCore::HTMLOutputElement::supportLabels): Renamed from isLabelable
82917        * html/HTMLProgressElement.h:
82918        (WebCore::HTMLProgressElement::supportLabels): Renamed from isLabelable
82919         * html/HTMLSelectElement.h:
82920        (WebCore::HTMLSelectElement::supportLabels): Renamed from isLabelable
82921        * html/HTMLTextAreaElement.h:
82922        (WebCore::HTMLTextAreaElement::supportLabels): Renamed from isLabelable
82923        * html/HiddenInputType.h:
82924        (WebCore::HiddenInputType::supportLabels): Renamed from isLabelable
82925        * html/InputType.h:
82926        (WebCore::InputType::supportLabels): Renamed from isLabelable
82927        * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
82928        * html/LabelableElement.cpp:
82929        (WebCore::LabelableElement::labels): Replace isLabelable to supportLabels
82930        * html/LabelableElement.h:
82931        (LabelableElement):
82932
829332012-03-15  Adam Klein  <adamk@chromium.org>
82934
82935        REGRESSION(r103452): 100% CPU usage and 5s pause after clicking on a link in Yahoo Mail
82936        https://bugs.webkit.org/show_bug.cgi?id=81141
82937
82938        Reviewed by Ojan Vafai.
82939
82940        Revert the behavior change from r103452: don't fire DOMSubtreeModified
82941        events when an attribute value merely changes. Still fire that event
82942        when an attribute is added or removed from an element.
82943
82944        Though this contradicts the DOM3 spec, it matches legacy WebKit behavior,
82945        and given that Mutation Events are deprecated, it seems unwise to make
82946        any additions to WebKit's implementation of them.
82947
82948        Test: fast/dom/subtree-modified-attributes.html
82949
82950        * dom/Element.cpp:
82951        (WebCore::Element::didAddAttribute): Renamed from didModifyAttribute.
82952        (WebCore::Element::didModifyAttribute): Remove the call to dispatchSubtreeModifiedEvent.
82953        (WebCore):
82954        * dom/Element.h:
82955        (Element):
82956        * dom/ElementAttributeData.cpp:
82957        (WebCore::ElementAttributeData::addAttribute): Call didAddAttribute instead of didModifyAttribute.
82958
829592012-03-15  Dana Jansens  <danakj@chromium.org>
82960
82961        [chromium] Move overdraw metrics into a templated class for both paint and draw metrics.
82962        https://bugs.webkit.org/show_bug.cgi?id=81156
82963
82964        Reviewed by Adrienne Walker.
82965
82966        Creates CCOverdrawMetrics which can be called to inform it about
82967        draws/paints. At the end of the frame, the CCOverdrawMetrics
82968        recordMetrics() method will put its data into histograms, a
82969        TRACE_COUNTER for culling information, and a TRACE_EVENT for details
82970        about the number of opaque/translucent pixels.
82971
82972        Covered by existing tests.
82973
82974        * WebCore.gypi:
82975        * platform/chromium/TraceEvent.h:
82976        (TraceEvent):
82977        (WebCore::TraceEvent::addTraceEvent):
82978        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
82979        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
82980        * platform/graphics/chromium/cc/CCOverdrawMetrics.cpp: Added.
82981        (WebCore):
82982        (WebCore::CCOverdrawMetrics::CCOverdrawMetrics):
82983        (WebCore::wedgeProduct):
82984        (WebCore::quadArea):
82985        (WebCore::CCOverdrawMetrics::didDraw):
82986        (WebCore::CCOverdrawMetrics::recordMetrics):
82987        (WebCore::CCOverdrawMetrics::recordMetricsInternal):
82988        * platform/graphics/chromium/cc/CCOverdrawMetrics.h: Added.
82989        (WebCore):
82990        (CCOverdrawMetrics):
82991        (WebCore::CCOverdrawMetrics::pixelsDrawnOpaque):
82992        (WebCore::CCOverdrawMetrics::pixelsDrawnTranslucent):
82993        (WebCore::CCOverdrawMetrics::pixelsCulled):
82994        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
82995        (WebCore::CCQuadCuller::CCQuadCuller):
82996        (WebCore::CCQuadCuller::append):
82997        * platform/graphics/chromium/cc/CCQuadCuller.h:
82998        (WebCore):
82999        (CCQuadCuller):
83000        * platform/graphics/chromium/cc/CCRenderPass.cpp:
83001        (WebCore::CCRenderPass::appendQuadsForLayer):
83002        * platform/graphics/chromium/cc/CCRenderPass.h:
83003        (WebCore):
83004        (CCRenderPass):
83005
830062012-03-15  James Robinson  <jamesr@chromium.org>
83007
83008        [chromium] RateLimiter should hold a reference to its context
83009        https://bugs.webkit.org/show_bug.cgi?id=80761
83010
83011        Reviewed by Stephen White.
83012
83013        * platform/graphics/chromium/RateLimiter.h:
83014        (RateLimiter):
83015
830162012-03-15  Adam Klein  <adamk@chromium.org>
83017
83018        Share code in FormAssociatedElement by resetting the form owner whenever insertedIntoTree is called
83019        https://bugs.webkit.org/show_bug.cgi?id=81160
83020
83021        Reviewed by Kent Tamura.
83022
83023        The only difference between the previous insertedIntoTree method and
83024        resetFormOwner was a missing element->inDocument() check in the
83025        former. But that check is actually important, as seen by the included test case.
83026
83027        Test: fast/forms/form-attribute-not-in-document.html
83028
83029        * html/FormAssociatedElement.cpp:
83030        (WebCore::FormAssociatedElement::insertedIntoTree):
83031
830322012-03-15  Kentaro Hara  <haraken@chromium.org>
83033
83034        [Refactoring] Rename StringBuilder variables in MarkupAccumulator.{h,cpp}
83035        https://bugs.webkit.org/show_bug.cgi?id=81288
83036
83037        Reviewed by Adam Barth.
83038
83039        This is a refactoring for fixing bug 81214. Currently MarkupAccumulator mixes
83040        'out' and 'result' for variable names of StringBuilder. This patch unifies them
83041        to 'result'.
83042
83043        No tests. No change in behavior.
83044
83045        * editing/MarkupAccumulator.cpp: Renamed 'out' to 'result'.
83046        (WebCore::appendCharactersReplacingEntities):
83047        (WebCore::MarkupAccumulator::serializeNodes): Renamed 'node' to 'targetNode' for clarification
83048        (and for avoiding style check error in MarkupAccumulator.h).
83049        (WebCore::MarkupAccumulator::concatenateMarkup):
83050        (WebCore::MarkupAccumulator::appendNodeValue):
83051        (WebCore::MarkupAccumulator::shouldAddNamespaceAttribute):
83052        (WebCore::MarkupAccumulator::appendNamespace):
83053        (WebCore::MarkupAccumulator::entityMaskForText):
83054        (WebCore::MarkupAccumulator::appendText):
83055        (WebCore::MarkupAccumulator::appendComment):
83056        (WebCore::MarkupAccumulator::appendProcessingInstruction):
83057        (WebCore::MarkupAccumulator::appendElement):
83058        (WebCore::MarkupAccumulator::appendOpenTag):
83059        (WebCore::MarkupAccumulator::appendCloseTag):
83060        (WebCore::MarkupAccumulator::appendAttribute):
83061        (WebCore::MarkupAccumulator::appendCDATASection):
83062        (WebCore::MarkupAccumulator::elementCannotHaveEndTag):
83063        * editing/MarkupAccumulator.h: Removed redundant variable names.
83064        (MarkupAccumulator):
83065        (WebCore):
83066
830672012-03-15  Brent Fulgham  <bfulgham@webkit.org>
83068
83069        [WinCairo] Correct <wtf/*.h> include paths.
83070        https://bugs.webkit.org/show_bug.cgi?id=81278
83071
83072        Reviewed by Eric Seidel.
83073
83074        Modify the #include declarations for several Cairo-related files
83075        so that the wtf types are included using the full path.
83076
83077        * platform/graphics/FontPlatformData.h:
83078        * platform/graphics/cairo/OwnPtrCairo.h:
83079        * platform/graphics/cairo/RefPtrCairo.h:
83080
830812012-03-15  Anders Carlsson  <andersca@apple.com>
83082
83083        only some tiles rendered when zoomed in
83084        https://bugs.webkit.org/show_bug.cgi?id=81282
83085        <rdar://problem/11058898>
83086
83087        Reviewed by Andreas Kling.
83088
83089        * platform/graphics/ca/mac/TileCache.mm:
83090        (WebCore::TileCache::rectForTileIndex):
83091        Make sure that the tile cache bounds are scaled accordingly.
83092
830932012-03-15  Zeno Albisser  <zeno@webkit.org>
83094
83095        [Qt] RenderThemeQt::fileListNameForWidth should override function in base class RenderTheme. (r110560)
83096        https://bugs.webkit.org/show_bug.cgi?id=81107
83097
83098        Add "bool multipleFilesAllowed" to the parameter list of RenderThemeQt::fileListNameForWidth.
83099        This way the base class function is properly overridden.
83100        The need for this change became obvious after r110560 where the OVERRIDE keyword had been
83101        added to the function signature.
83102
83103        Reviewed by Simon Hausmann.
83104
83105        * platform/qt/RenderThemeQt.cpp:
83106        (WebCore::RenderThemeQt::fileListNameForWidth):
83107        * platform/qt/RenderThemeQt.h:
83108        (RenderThemeQt):
83109
831102012-03-07  Jon Lee  <jonlee@apple.com>
83111
83112        Move NotificationContents into Notification
83113        https://bugs.webkit.org/show_bug.cgi?id=80487
83114        <rdar://problem/10965519>
83115
83116        Reviewed by Jian Li.
83117
83118        * notifications/Notification.cpp: Alter signature of constructor to take the fields directly instead of
83119        a NotificationContents instance.
83120        (WebCore::Notification::Notification): Derive KURL from string representation of icon.
83121        (WebCore::Notification::create):
83122        * notifications/Notification.h:
83123        (Notification): Remove contents() accessor and replace with get for title and body. iconURL()
83124        already existed, but use local variable instead of going through NotificationContents.
83125        (WebCore::Notification::iconURL):
83126        (WebCore::Notification::title):
83127        (WebCore::Notification::body):
83128        * notifications/NotificationCenter.h:
83129        (WebCore::NotificationCenter::createNotification): Refactor to use new constructor.
83130        * notifications/NotificationContents.h: Removed.
83131
83132        Remove NotificationContents.h from project files
83133        * GNUmakefile.list.am:
83134        * Target.pri:
83135        * WebCore.gypi:
83136        * WebCore.vcproj/WebCore.vcproj:
83137        * WebCore.xcodeproj/project.pbxproj:
83138
831392012-03-13  Jon Lee  <jonlee@apple.com>
83140
83141        Deprecate ondisplay()
83142        https://bugs.webkit.org/show_bug.cgi?id=80483
83143        <rdar://problem/10912432>
83144
83145        Reviewed by Jian Li.
83146
83147        The appropriate event listener for notifications is onshow().
83148
83149        * notifications/Notification.h: Wrap ondisplay in ENABLE(LEGACY_NOTIFICATIONS).
83150        * notifications/Notification.idl: Wrap ondisplay in ENABLE_LEGACY_NOTIFICATIONS.
83151
831522012-03-14  W. James MacLean  <wjmaclean@chromium.org>
83153
83154        [chromium] Wire up PlatformGestureCurves for CC, ScrollAnimatorNone.
83155        https://bugs.webkit.org/show_bug.cgi?id=80607
83156
83157        Reviewed by James Robinson.
83158
83159        Unit tests added. Layout tests to follow.
83160
83161        Provides implementation of PlatformGestureCurves in Chrome Compositor, and basic
83162        support in ScrollAnimatorNone, for fling gestures.
83163
83164        * GNUmakefile.list.am:
83165        * platform/ActivePlatformGestureAnimation.cpp:
83166        (WebCore::ActivePlatformGestureAnimation::create):
83167        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
83168        (WebCore::ActivePlatformGestureAnimation::animate):
83169        * platform/ActivePlatformGestureAnimation.h:
83170        (ActivePlatformGestureAnimation):
83171        * platform/PlatformGestureCurveTarget.h:
83172        (PlatformGestureCurveTarget):
83173        * platform/ScrollAnimatorNone.cpp:
83174        (WebCore::ScrollAnimatorNone::cancelAnimations):
83175        (WebCore::ScrollAnimatorNone::animationTimerFired):
83176        (WebCore::ScrollAnimatorNone::scrollBy):
83177        (WebCore):
83178        * platform/ScrollAnimatorNone.h:
83179        (WebCore):
83180        (ScrollAnimatorNone):
83181        * platform/TouchFlingPlatformGestureCurve.cpp:
83182        (WebCore::TouchFlingPlatformGestureCurve::apply):
83183        * platform/WheelFlingPlatformGestureCurve.cpp:
83184        (WebCore::WheelFlingPlatformGestureCurve::apply):
83185        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp:
83186        (WebCore::CCActiveGestureAnimation::create):
83187        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
83188        (WebCore::CCActiveGestureAnimation::animate):
83189        * platform/graphics/chromium/cc/CCActiveGestureAnimation.h:
83190        (CCActiveGestureAnimation):
83191        * platform/graphics/chromium/cc/CCGestureCurve.h:
83192        (CCGestureCurveTarget):
83193        * platform/graphics/chromium/cc/CCInputHandler.h:
83194        (WebCore):
83195        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
83196        (WebCore::CCLayerTreeHostImpl::animate):
83197        (WebCore::CCLayerTreeHostImpl::setActiveGestureAnimation):
83198        (WebCore):
83199        (WebCore::CCLayerTreeHostImpl::animateGestures):
83200        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
83201        (WebCore):
83202        (WebCore::CCLayerTreeHostImpl::activeGestureAnimation):
83203        (CCLayerTreeHostImpl):
83204
832052012-03-15  Patrick Gansterer  <paroga@webkit.org>
83206
83207        [EFL] Make zlib a general build requirement
83208        https://bugs.webkit.org/show_bug.cgi?id=80153
83209
83210        Reviewed by Hajime Morita.
83211
83212        After r109538 WebSocket module needs zlib to support deflate-frame extension.
83213
83214        * PlatformEfl.cmake:
83215
832162012-03-15  Robert Kroeger  <rjkroege@chromium.org>
83217
83218        REGRESSION (r110371): broke platform/gtk/scrollbars/overflow-scrollbar-horizontal-wheel-scroll.html
83219        https://bugs.webkit.org/show_bug.cgi?id=80825
83220
83221        Reviewed by James Robinson.
83222
83223        * page/EventHandler.cpp:
83224        (WebCore::EventHandler::handleWheelEvent): Corrected a typo.
83225
832262012-03-15  Scott Byer  <scottbyer@chromium.org>
83227
83228        Fix crbug 117957 - get settings scrolling with the wheel again.
83229        https://bugs.webkit.org/show_bug.cgi?id=81247
83230
83231        Reviewed by James Robinson.
83232
83233        Tests to follow.
83234
83235        * page/FrameView.cpp:
83236        (WebCore::FrameView::serviceScriptedAnimations):
83237
832382012-03-15  David Hyatt  <hyatt@apple.com>
83239
83240        https://bugs.webkit.org/show_bug.cgi?id=81258
83241
83242        Add a preference for enabling the new multi-column layout code that will be based on regions.
83243
83244        Reviewed by Beth Dakin.
83245
83246        * page/Settings.cpp:
83247        (WebCore::Settings::Settings):
83248        * page/Settings.h:
83249        (WebCore::Settings::setRegionBasedColumnsEnabled):
83250        (WebCore::Settings::regionBasedColumnsEnabled):
83251        (Settings):
83252
832532012-03-15  Andreas Kling  <kling@webkit.org>
83254
83255        RenderStyle: Return Color objects by value instead of as const references.
83256        <http://webkit.org/b/81180>
83257
83258        Reviewed by Antti Koivisto.
83259
83260        Make RenderStyle getters return "Color" rather than "const Color&". This is preparation
83261        for storing some color values in a more space-efficient fashion.
83262
83263        * css/CSSStyleApplyProperty.cpp:
83264        (WebCore::ApplyPropertyColor::applyInheritValue):
83265        * page/animation/AnimationBase.cpp:
83266        (PropertyWrapperColor):
83267        (WebCore::PropertyWrapperColor::PropertyWrapperColor):
83268        (WebCore::PropertyWrapperColor::blend):
83269        (WebCore::PropertyWrapperMaybeInvalidColor::PropertyWrapperMaybeInvalidColor):
83270        (PropertyWrapperMaybeInvalidColor):
83271        (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
83272        (WebCore::PropertyWrapperSVGPaint::PropertyWrapperSVGPaint):
83273        (PropertyWrapperSVGPaint):
83274        * platform/graphics/Color.h:
83275        (WebCore::Color::Color):
83276        * rendering/style/RenderStyle.h:
83277
832782012-03-15  Jessie Berlin  <jberlin@apple.com>
83279
83280        Assertion failures in WebCore::Page::goBackOrForward causing multiple "crashes" on Lion Intel
83281        Debug WebKit2 testers
83282        https://bugs.webkit.org/show_bug.cgi?id=81159
83283
83284        Rubber-stamped by Brady Eidson.
83285
83286        It is plausible that history could change in between the time a navigation request is
83287        scheduled and the timer is fired, so the request index could be out of the b/f list range.
83288        Hence, the assertion is invalid and should be removed.
83289
83290        * page/Page.cpp:
83291        (WebCore::Page::goBackOrForward):
83292
832932012-03-15  Alexey Proskuryakov  <ap@apple.com>
83294
83295        Assertion failures in checkEncodedString when running WebKit2 tests
83296        https://bugs.webkit.org/show_bug.cgi?id=67425
83297        <rdar://problem/11043492>
83298
83299        Reviewed by Anders Carlsson.
83300
83301        * platform/network/cf/ResourceErrorCF.cpp: (WebCore::ResourceError::cfError):
83302        * platform/network/mac/ResourceErrorMac.mm: (WebCore::ResourceError::nsError):
83303        The failing URL is certainly not guaranteed to be valid, so it's not correct to put it back
83304        into a URL as if it's been normalized by KURL.
83305
833062012-03-15  Brady Eidson  <beidson@apple.com>
83307
83308        <rdar://problem/11036900> and https://bugs.webkit.org/show_bug.cgi?id=81079
83309        REGRESSION(r107844): Clipboard API only remembers most recent data set on clipboard
83310
83311        Reviewed by Sam Weinig.
83312
83313        Test: editing/pasteboard/copy-two-pasteboard-types-both-work.html
83314
83315        Add the non-destructive "addTypes" to supplement the destructive "setTypes"
83316        * platform/PasteboardStrategy.h:
83317        (PasteboardStrategy):
83318        * platform/PlatformPasteboard.h:
83319        (PlatformPasteboard):
83320        * platform/mac/PlatformPasteboardMac.mm:
83321        (WebCore::PlatformPasteboard::addTypes):
83322        * WebCore.exp.in:
83323
83324        * platform/mac/ClipboardMac.mm:
83325        (WebCore::ClipboardMac::setData): Call the non-destructive "addTypes" instead of
83326          the destructive "setTypes"
83327
833282012-03-15  Dana Jansens  <danakj@chromium.org>
83329
83330        [Chromium] REGRESSION(r110596) CCQuadCullerTest.verifyCullChildLinesUpTopLeft fails on Windows
83331        https://bugs.webkit.org/show_bug.cgi?id=81083
83332
83333        Reviewed by Adrienne Walker.
83334
83335        The surface pointer on the occlusion tracker stack is uninitialized, and
83336        can be non-null, but the layer's target surface is null, causing asserts
83337        to fail. Fixes the TestCCOcclusionTrackerImpl to initialize the stack's
83338        surface to be null.
83339
83340        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
83341        (WebCore::::enterTargetRenderSurface):
83342        (WebCore::::unoccludedContentRect):
83343        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
83344        (WebCore::CCOcclusionTrackerBase::StackObject::StackObject):
83345
833462012-03-15  David Levin  <levin@chromium.org>
83347
83348        Various autoresize fixes.
83349        https://bugs.webkit.org/show_bug.cgi?id=81199
83350
83351        Reviewed by Darin Fisher.
83352
83353        Tested by WebViewTest additions.
83354
83355        * page/FrameView.cpp:
83356        (WebCore::FrameView::autoSizeIfEnabled): Fixed a bug that caused a horizontal
83357        scrollbar to appear when the size was width was fixed and height overflowed which
83358        is one of the tests that was added.
83359
833602012-03-15  Andrey Kosyakov  <caseq@chromium.org>
83361
83362        Web Inspector: normalize vertical overview bars by longest bar, not by longest frame
83363        https://bugs.webkit.org/show_bug.cgi?id=81231
83364
83365        Reviewed by Vsevolod Vlasov.
83366
83367        * inspector/front-end/TimelineOverviewPane.js:
83368        (WebInspector.TimelineOverviewPane):
83369        (WebInspector.TimelineOverviewPane.prototype.reset):
83370        (WebInspector.TimelineOverviewPane.prototype.accept):
83371        (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
83372        (WebInspector.TimelineVerticalOverview.prototype.reset):
83373        (WebInspector.TimelineVerticalOverview.prototype.update):
83374        (WebInspector.TimelineVerticalOverview.prototype._aggregateFrames):
83375        (WebInspector.TimelineVerticalOverview.prototype._aggregateRecords):
83376        (WebInspector.TimelineVerticalOverview.prototype.getWindowTimes):
83377
833782012-03-15  Andrey Kosyakov  <caseq@chromium.org>
83379
83380        Web Inspector: crash in InspectorTimelineAgent when trying to add children to cancelable records
83381        https://bugs.webkit.org/show_bug.cgi?id=81245
83382
83383        Reviewed by Vsevolod Vlasov.
83384
83385        * inspector/InspectorTimelineAgent.cpp:
83386        (WebCore::InspectorTimelineAgent::addRecordToTimeline):
83387        (WebCore):
83388        (WebCore::InspectorTimelineAgent::innerAddRecordToTimeline):
83389        (WebCore::InspectorTimelineAgent::appendRecord):
83390        (WebCore::InspectorTimelineAgent::commitCancelableRecords):
83391        * inspector/InspectorTimelineAgent.h:
83392        (InspectorTimelineAgent):
83393
833942012-03-15  Pavel Podivilov  <podivilov@chromium.org>
83395
83396        Web Inspector: live locations could be disposed twice.
83397        https://bugs.webkit.org/show_bug.cgi?id=81249
83398
83399        Reviewed by Vsevolod Vlasov.
83400
83401        * inspector/front-end/ScriptMapping.js:
83402        (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
83403
834042012-03-15  Carlos Garcia Campos  <cgarcia@igalia.com>
83405
83406        [GTK] Implement unicode submenu items
83407        https://bugs.webkit.org/show_bug.cgi?id=81117
83408
83409        Reviewed by Martin Robinson.
83410
83411        * loader/EmptyClients.h:
83412        (WebCore::EmptyEditorClient::shouldShowUnicodeMenu): Just return
83413        false.
83414        * page/ContextMenuController.cpp:
83415        (WebCore::insertUnicodeCharacter): Helper function to insert a
83416        unicode character.
83417        (WebCore::ContextMenuController::contextMenuItemSelected):
83418        Implement unicode menu items using insertUnicodeCharacter() to
83419        insert the apropriate unicode character.
83420        (WebCore::ContextMenuController::createAndAppendUnicodeSubMenu):
83421        Create the unicode submenu.
83422        (WebCore::ContextMenuController::populate): Add unicode submenu
83423        item for editable content.
83424        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Add
83425        unicode submenu items to the switch.
83426        * page/ContextMenuController.h:
83427        * page/EditorClient.h:
83428        (EditorClient): Add shouldShowUnicodeMenu() for GTK platform.
83429        * platform/ContextMenuItem.h:
83430        * platform/LocalizedStrings.h:
83431        * platform/gtk/LocalizedStringsGtk.cpp:
83432        (WebCore::contextMenuItemTagUnicodeInsertLRMMark): Add localized
83433        string for the unicode menu item.
83434        (WebCore::contextMenuItemTagUnicodeInsertRLMMark): Ditto.
83435        (WebCore::contextMenuItemTagUnicodeInsertLREMark): Ditto.
83436        (WebCore::contextMenuItemTagUnicodeInsertRLEMark): Ditto.
83437        (WebCore::contextMenuItemTagUnicodeInsertLROMark): Ditto.
83438        (WebCore::contextMenuItemTagUnicodeInsertRLOMark): Ditto.
83439        (WebCore::contextMenuItemTagUnicodeInsertPDFMark): Ditto.
83440        (WebCore::contextMenuItemTagUnicodeInsertZWSMark): Ditto.
83441        (WebCore::contextMenuItemTagUnicodeInsertZWJMark): Ditto.
83442        (WebCore::contextMenuItemTagUnicodeInsertZWNJMark): Ditto.
83443
834442012-03-15  Vsevolod Vlasov  <vsevik@chromium.org>
83445
83446        Web Inspector: MainScriptMapping should detect snippet scripts by means of sourceURL set before evaluation.
83447        https://bugs.webkit.org/show_bug.cgi?id=81031
83448
83449        Reviewed by Pavel Feldman.
83450
83451        * inspector/front-end/SnippetsModel.js:
83452        (WebInspector.SnippetsModel):
83453        (WebInspector.SnippetsModel.prototype._saveSettings):
83454        (WebInspector.SnippetsModel.prototype.deleteSnippet):
83455        (WebInspector.SnippetsModel.prototype._snippetAdded):
83456        (WebInspector.SnippetsModel.prototype._sourceURLForSnippet):
83457        (WebInspector.SnippetsModel.prototype.snippetIdForSourceURL):
83458        (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
83459        (WebInspector.Snippet.prototype.evaluate):
83460        (WebInspector.SnippetsScriptMapping):
83461        (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation.get if):
83462        (WebInspector.SnippetsScriptMapping.prototype.uiLocationToRawLocation):
83463        (WebInspector.SnippetsScriptMapping.prototype._releasedUISourceCodes):
83464        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
83465        (WebInspector.SnippetsScriptMapping.prototype._snippetWillBeEvaluated):
83466        (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved.get this):
83467        (WebInspector.SnippetsScriptMapping.prototype._snippetRemoved):
83468
834692012-03-15  Kevin Ollivier  <kevino@theolliviers.com>
83470
83471        [wx] Unreviewed. Build fixes for Mac and DOM bindings.
83472
83473        * bindings/cpp/WebDOMEventTarget.cpp:
83474        (toWebKit):
83475        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
83476        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
83477
834782012-03-14  Pavel Podivilov  <podivilov@chromium.org>
83479
83480        Web Inspector: extract CompilerScriptMapping from RawSourceCode.
83481        https://bugs.webkit.org/show_bug.cgi?id=81088
83482
83483        Reviewed by Vsevolod Vlasov.
83484
83485        * WebCore.gypi:
83486        * WebCore.vcproj/WebCore.vcproj:
83487        * inspector/compile-front-end.py:
83488        * inspector/front-end/CompilerScriptMapping.js: Added.
83489        (WebInspector.CompilerScriptMapping):
83490        (WebInspector.CompilerScriptMapping.prototype.rawLocationToUILocation):
83491        (WebInspector.CompilerScriptMapping.prototype.get uiSourceCodeList):
83492        (WebInspector.CompilerScriptMapping.prototype.addScript.get this):
83493        (WebInspector.CompilerScriptMapping.prototype.addScript):
83494        (WebInspector.CompilerScriptMapping.prototype.loadSourceMapForScript):
83495        (WebInspector.CompilerScriptMapping.prototype.reset):
83496        * inspector/front-end/RawSourceCode.js:
83497        (WebInspector.RawSourceCode):
83498        (WebInspector.RawSourceCode.prototype.setFormatted):
83499        (WebInspector.RawSourceCode.prototype._resourceFinished):
83500        (WebInspector.RawSourceCode.prototype._createUISourceCode):
83501        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
83502        * inspector/front-end/ResourceScriptMapping.js:
83503        (WebInspector.ResourceScriptMapping.prototype.addScript):
83504        * inspector/front-end/ScriptMapping.js:
83505        (WebInspector.MainScriptMapping):
83506        * inspector/front-end/WebKit.qrc:
83507        * inspector/front-end/inspector.html:
83508
835092012-03-15  Peter Rybin  <peter.rybin@gmail.com>
83510
83511        Web Inspector: Move all includes behind ENABLE(INSPECTOR) guards
83512        https://bugs.webkit.org/show_bug.cgi?id=81132
83513
83514        Reviewed by Yury Semikhatsky.
83515
83516        Include directives are moved several lines down in .cpp files and in
83517        generator templates.
83518
83519        * inspector/CodeGeneratorInspector.py:
83520        * inspector/ContentSearchUtils.cpp:
83521        * inspector/DOMEditor.cpp:
83522        * inspector/DOMNodeHighlighter.cpp:
83523        * inspector/DOMPatchSupport.cpp:
83524        * inspector/IdentifiersFactory.cpp:
83525        * inspector/InjectedScript.cpp:
83526        * inspector/InjectedScriptHost.cpp:
83527        * inspector/InjectedScriptManager.cpp:
83528        * inspector/InspectorAgent.cpp:
83529        * inspector/InspectorApplicationCacheAgent.cpp:
83530        * inspector/InspectorBaseAgent.cpp:
83531        * inspector/InspectorCSSAgent.cpp:
83532        * inspector/InspectorClient.cpp:
83533        * inspector/InspectorConsoleAgent.cpp:
83534        * inspector/InspectorController.cpp:
83535        * inspector/InspectorCounters.cpp:
83536        * inspector/InspectorDOMAgent.cpp:
83537        * inspector/InspectorDOMDebuggerAgent.cpp:
83538        * inspector/InspectorDOMStorageAgent.cpp:
83539        * inspector/InspectorDatabaseAgent.cpp:
83540        * inspector/InspectorDatabaseResource.cpp:
83541        * inspector/InspectorDebuggerAgent.cpp:
83542        * inspector/InspectorFileSystemAgent.cpp:
83543        * inspector/InspectorFrontendClientLocal.cpp:
83544        * inspector/InspectorFrontendHost.cpp:
83545        * inspector/InspectorHistory.cpp:
83546        * inspector/InspectorIndexedDBAgent.cpp:
83547        * inspector/InspectorInstrumentation.cpp:
83548        * inspector/InspectorMemoryAgent.cpp:
83549        * inspector/InspectorPageAgent.cpp:
83550        * inspector/InspectorProfilerAgent.cpp:
83551        * inspector/InspectorResourceAgent.cpp:
83552        * inspector/InspectorRuntimeAgent.cpp:
83553        * inspector/InspectorState.cpp:
83554        * inspector/InspectorStyleSheet.cpp:
83555        * inspector/InspectorStyleTextEditor.cpp:
83556        * inspector/InspectorTimelineAgent.cpp:
83557        * inspector/InspectorValues.cpp:
83558        * inspector/InstrumentingAgents.cpp:
83559        * inspector/NetworkResourcesData.cpp:
83560        * inspector/PageConsoleAgent.cpp:
83561        * inspector/PageDebuggerAgent.cpp:
83562        * inspector/PageRuntimeAgent.cpp:
83563        * inspector/TimelineRecordFactory.cpp:
83564        * inspector/WorkerConsoleAgent.cpp:
83565        * inspector/WorkerDebuggerAgent.cpp:
83566        * inspector/WorkerRuntimeAgent.cpp:
83567
835682012-03-15  Yury Semikhatsky  <yurys@chromium.org>
83569
83570        Web Inspector: improve HeapSnapshot._buildReversIndex performance
83571        https://bugs.webkit.org/show_bug.cgi?id=81224
83572
83573        Caching node indexes and node count in local variables instead of
83574        calling getters each time reduces the method run time by
83575        factor of 1.5
83576
83577        Reviewed by Pavel Feldman.
83578
83579        * inspector/front-end/HeapSnapshot.js:
83580        (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
83581
835822012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
83583
83584        SVG Animations update baseVal instead of animVal
83585        https://bugs.webkit.org/show_bug.cgi?id=12437
83586
83587        Rubber-stamped by Rob Buis.
83588
83589        Rename constructFromCopy to constructFromVariant, and currentBaseValue to currentBaseValueVariant, to clarify what it actually does.
83590
83591        * svg/SVGAnimateElement.cpp:
83592        (WebCore::SVGAnimateElement::resetToBaseValue):
83593        * svg/SVGAnimatedLength.cpp:
83594        (WebCore::SVGAnimatedLengthAnimator::constructFromVariant):
83595        * svg/SVGAnimatedLength.h:
83596        (SVGAnimatedLengthAnimator):
83597        * svg/SVGAnimatedLengthList.cpp:
83598        (WebCore::SVGAnimatedLengthListAnimator::constructFromVariant):
83599        * svg/SVGAnimatedLengthList.h:
83600        (SVGAnimatedLengthListAnimator):
83601        * svg/SVGAnimatedNumber.cpp:
83602        (WebCore::SVGAnimatedNumberAnimator::constructFromVariant):
83603        * svg/SVGAnimatedNumber.h:
83604        (SVGAnimatedNumberAnimator):
83605        * svg/SVGAnimatedNumberList.cpp:
83606        (WebCore::SVGAnimatedNumberListAnimator::constructFromVariant):
83607        * svg/SVGAnimatedNumberList.h:
83608        (SVGAnimatedNumberListAnimator):
83609        * svg/SVGAnimatedTransformList.cpp:
83610        (WebCore::SVGAnimatedTransformListAnimator::constructFromVariant):
83611        * svg/SVGAnimatedTransformList.h:
83612        (SVGAnimatedTransformListAnimator):
83613        * svg/SVGAnimatedTypeAnimator.h:
83614        (WebCore::SVGAnimatedTypeAnimator::constructFromVariant):
83615        * svg/properties/SVGAnimatedListPropertyTearOff.h:
83616        (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValueVariant):
83617        * svg/properties/SVGAnimatedProperty.h:
83618        (SVGAnimatedProperty):
83619        * svg/properties/SVGAnimatedPropertyTearOff.h:
83620        (WebCore::SVGAnimatedPropertyTearOff::currentBaseValueVariant):
83621        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
83622        (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValueVariant):
83623
836242012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
83625
83626        Enable animVal support for SVGNumberList
83627        https://bugs.webkit.org/show_bug.cgi?id=81219
83628
83629        Reviewed by Rob Buis.
83630
83631        Enable animVal support for SVGNumberList. Easy patch, we just need to add the missing
83632        constructFromCopy() method to SVGAnumatedNumberListAnimator and report AnimatedNumberList
83633        as supporting animVal.
83634
83635        Covered by existing tests.
83636
83637        * svg/SVGAnimatedNumberList.cpp:
83638        (WebCore::SVGAnimatedNumberListAnimator::constructFromCopy):
83639        (WebCore):
83640        * svg/SVGAnimatedNumberList.h:
83641        (WebCore):
83642        (SVGAnimatedNumberListAnimator):
83643        * svg/SVGAnimatedType.cpp:
83644        (WebCore::SVGAnimatedType::supportsAnimVal):
83645        (WebCore::SVGAnimatedType::setVariantValue):
83646
836472012-03-15  Rob Buis  <rbuis@rim.com>
83648
83649        Fix cast-align GCC warnings
83650        https://bugs.webkit.org/show_bug.cgi?id=80790
83651
83652        Reviewed by Nikolas Zimmermann.
83653
83654        * platform/graphics/WOFFFileFormat.cpp:
83655        (WebCore::writeUInt32):
83656        (WebCore::writeUInt16):
83657        (WebCore::convertWOFFToSfnt):
83658
836592012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
83660
83661        Not reviewed. Forgot to preserve copyrights, per reviewer comment.
83662
83663        * svg/SVGAnimatedTransformList.cpp:
83664
836652012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
83666
83667        Enable animVal support for SVGNumber
83668        https://bugs.webkit.org/show_bug.cgi?id=81212
83669
83670        Reviewed by Rob Buis.
83671
83672        Enable animVal support for SVGNumber. This aligns SVGAnimatedStaticPropertyTearOff,
83673        with the other SVGListPropertyTearOff & SVGPropertyTearOff, as all support animVal now.
83674        Converting the rest of the types can be done in small patches now.
83675
83676        Test: svg/animations/svgnumber-animation-4.html
83677
83678        * svg/SVGAnimatedNumber.cpp:
83679        (WebCore::SVGAnimatedNumberAnimator::constructFromCopy):
83680        (WebCore):
83681        * svg/SVGAnimatedNumber.h:
83682        (WebCore):
83683        (SVGAnimatedNumberAnimator):
83684        * svg/SVGAnimatedType.cpp:
83685        (WebCore::SVGAnimatedType::supportsAnimVal):
83686        (WebCore::SVGAnimatedType::setVariantValue):
83687        * svg/properties/SVGAnimatedProperty.h:
83688        (SVGAnimatedProperty):
83689        * svg/properties/SVGAnimatedStaticPropertyTearOff.h:
83690        (WebCore::SVGAnimatedStaticPropertyTearOff::animVal):
83691        (WebCore::SVGAnimatedStaticPropertyTearOff::currentAnimatedValue):
83692        (SVGAnimatedStaticPropertyTearOff):
83693        (WebCore::SVGAnimatedStaticPropertyTearOff::currentBaseValue):
83694        (WebCore::SVGAnimatedStaticPropertyTearOff::animationStarted):
83695        (WebCore::SVGAnimatedStaticPropertyTearOff::animationEnded):
83696        (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueWillChange):
83697        (WebCore::SVGAnimatedStaticPropertyTearOff::animationValueDidChange):
83698        (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
83699
837002012-03-15  Nikolas Zimmermann  <nzimmermann@rim.com>
83701
83702        Enable animVal support for SVGTransformList
83703        https://bugs.webkit.org/show_bug.cgi?id=80758
83704
83705        Reviewed by Antti Koivisto.
83706
83707        Enable animVal support for SVGTransformList. SVGTransformLists are only animatable
83708        via <animateTransform>, not via <animate> directly. Still we can handle it in the
83709        same framework as all other types used for <animate>, as we also need proper animVal
83710        support for <animateTransform>.
83711
83712        This patch removes the special <animateTransform> implementation, and lets
83713        SVGAnimateTransformElement inherit from SVGAnimateElement, just like its done
83714        for SVGAnimateColorElement & SVGSetElement.
83715
83716        All existing code (calculateFromAndToValues/FromAndByValues/etc..) are moved from
83717        SVGAnimateTransform right into the SVGAnimatedTransformListAnimator.
83718
83719        This doesn't change <animateTransform> behavior, it just simplies the code
83720        and enables animVal support for SVGTransformLists - all covered by existing tests.
83721
83722        * CMakeLists.txt:
83723        * GNUmakefile.list.am:
83724        * Target.pri:
83725        * WebCore.gypi:
83726        * WebCore.xcodeproj/project.pbxproj:
83727        * svg/SVGAllInOne.cpp:
83728        * svg/SVGAnimateElement.cpp:
83729        (WebCore::SVGAnimateElement::SVGAnimateElement):
83730        (WebCore::SVGAnimateElement::determineAnimatedPropertyType):
83731        (WebCore::SVGAnimateElement::calculateAnimatedValue):
83732        (WebCore::SVGAnimateElement::applyResultsToTarget):
83733        * svg/SVGAnimateTransformElement.cpp:
83734        (WebCore::SVGAnimateTransformElement::SVGAnimateTransformElement):
83735        (WebCore::SVGAnimateTransformElement::hasValidAttributeType):
83736        (WebCore::SVGAnimateTransformElement::parseAttribute):
83737        * svg/SVGAnimateTransformElement.h:
83738        (WebCore::SVGAnimateTransformElement::transformType):
83739        (SVGAnimateTransformElement):
83740        * svg/SVGAnimatedTransformList.cpp: Added.
83741        (WebCore):
83742        (WebCore::SVGAnimatedTransformListAnimator::SVGAnimatedTransformListAnimator):
83743        (WebCore::SVGAnimatedTransformListAnimator::constructFromString):
83744        (WebCore::SVGAnimatedTransformListAnimator::constructFromCopy):
83745        (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndToValues):
83746        (WebCore::SVGAnimatedTransformListAnimator::calculateFromAndByValues):
83747        (WebCore::SVGAnimatedTransformListAnimator::calculateAnimatedValue):
83748        (WebCore::SVGAnimatedTransformListAnimator::calculateDistance):
83749        * svg/SVGAnimatedTransformList.h:
83750        (WebCore):
83751        (SVGAnimatedTransformListAnimator):
83752        (WebCore::SVGAnimatedTransformListAnimator::~SVGAnimatedTransformListAnimator):
83753        * svg/SVGAnimatedType.cpp:
83754        (WebCore::SVGAnimatedType::~SVGAnimatedType):
83755        (WebCore::SVGAnimatedType::createTransformList):
83756        (WebCore):
83757        (WebCore::SVGAnimatedType::transformList):
83758        (WebCore::SVGAnimatedType::valueAsString):
83759        (WebCore::SVGAnimatedType::setValueAsString):
83760        (WebCore::SVGAnimatedType::supportsAnimVal):
83761        (WebCore::SVGAnimatedType::setVariantValue):
83762        * svg/SVGAnimatedType.h:
83763        (WebCore):
83764        (SVGAnimatedType):
83765        * svg/SVGAnimatorFactory.h:
83766        (WebCore::SVGAnimatorFactory::create):
83767        * svg/SVGGradientElement.cpp:
83768        (WebCore::SVGGradientElement::parseAttribute):
83769        * svg/SVGPatternElement.cpp:
83770        (WebCore::SVGPatternElement::parseAttribute):
83771        * svg/SVGStyledTransformableElement.cpp:
83772        (WebCore::SVGStyledTransformableElement::parseAttribute):
83773        * svg/SVGTextElement.cpp:
83774        (WebCore::SVGTextElement::parseAttribute):
83775        * svg/SVGTransform.cpp:
83776        (WebCore::SVGTransform::transformTypePrefixForParsing):
83777        (WebCore):
83778        (WebCore::SVGTransform::valueAsString):
83779        * svg/SVGTransform.h:
83780        (SVGTransform):
83781        * svg/SVGTransformList.cpp:
83782        (WebCore::SVGTransformList::parse):
83783        (WebCore):
83784        * svg/SVGTransformList.h:
83785        (SVGTransformList):
83786        * svg/SVGTransformable.cpp:
83787        (WebCore::SVGTransformable::parseTransformType):
83788        * svg/SVGTransformable.h:
83789        (WebCore):
83790        * svg/SVGViewSpec.cpp:
83791        (WebCore::SVGViewSpec::setTransform):
83792
837932012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>
83794
83795        Enable animVal support for SVGLengthList
83796        https://bugs.webkit.org/show_bug.cgi?id=80750
83797
83798        Reviewed by Zoltan Herczeg.
83799
83800        Introduce animVal support for generic SVGList types. This aligns SVGListProperty with SVGProperty
83801        in terms of animVal/baseVal support. Use this to turn on animVal support for SVGLengthList.
83802
83803        Extend all existing SVGLengthList tests to correctly differentiate between baseVal/animVal.
83804
83805        * svg/SVGAnimateElement.cpp:
83806        (WebCore::SVGAnimateElement::calculateAnimatedValue):
83807        * svg/SVGAnimateTransformElement.cpp:
83808        (WebCore::SVGAnimateTransformElement::resetToBaseValue):
83809        (WebCore::SVGAnimateTransformElement::calculateAnimatedValue):
83810        (WebCore::SVGAnimateTransformElement::applyResultsToTarget):
83811        * svg/SVGAnimatedLengthList.cpp:
83812        (WebCore::SVGAnimatedLengthListAnimator::constructFromCopy):
83813        (WebCore):
83814        * svg/SVGAnimatedLengthList.h:
83815        (WebCore):
83816        (SVGAnimatedLengthListAnimator):
83817        * svg/SVGAnimatedType.cpp:
83818        (WebCore::SVGAnimatedType::supportsAnimVal):
83819        (WebCore::SVGAnimatedType::setVariantValue):
83820        * svg/SVGAnimatedType.h:
83821        * svg/SVGAnimationElement.cpp:
83822        (WebCore::SVGAnimationElement::applyAnimatedValue):
83823        * svg/properties/SVGAnimatedListPropertyTearOff.h:
83824        (SVGAnimatedListPropertyTearOff):
83825        (WebCore::SVGAnimatedListPropertyTearOff::baseVal):
83826        (WebCore::SVGAnimatedListPropertyTearOff::animVal):
83827        (WebCore::SVGAnimatedListPropertyTearOff::removeItemFromList):
83828        (WebCore::SVGAnimatedListPropertyTearOff::detachListWrappers):
83829        (WebCore::SVGAnimatedListPropertyTearOff::currentAnimatedValue):
83830        (WebCore::SVGAnimatedListPropertyTearOff::currentBaseValue):
83831        (WebCore::SVGAnimatedListPropertyTearOff::animationStarted):
83832        (WebCore::SVGAnimatedListPropertyTearOff::animationEnded):
83833        (WebCore::SVGAnimatedListPropertyTearOff::synchronizeWrappersIfNeeded):
83834        (WebCore::SVGAnimatedListPropertyTearOff::animationValueWillChange):
83835        (WebCore::SVGAnimatedListPropertyTearOff::animationValueDidChange):
83836        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h:
83837        (WebCore::SVGAnimatedPathSegListPropertyTearOff::baseVal):
83838        (WebCore::SVGAnimatedPathSegListPropertyTearOff::animVal):
83839        * svg/properties/SVGAnimatedProperty.h:
83840        (WebCore::SVGAnimatedProperty::isAnimating):
83841        (SVGAnimatedProperty):
83842        (WebCore::SVGAnimatedProperty::animationValueWillChange):
83843        (WebCore::SVGAnimatedProperty::animationValueDidChange):
83844        (WebCore::SVGAnimatedProperty::~SVGAnimatedProperty):
83845        (WebCore::SVGAnimatedProperty::SVGAnimatedProperty):
83846        * svg/properties/SVGAnimatedPropertyTearOff.h:
83847        (SVGAnimatedPropertyTearOff):
83848        (WebCore::SVGAnimatedPropertyTearOff::baseVal):
83849        (WebCore::SVGAnimatedPropertyTearOff::animVal):
83850        (WebCore::SVGAnimatedPropertyTearOff::currentAnimatedValue):
83851        (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
83852        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
83853        (WebCore::SVGAnimatedPropertyTearOff::animationValueWillChange):
83854        (WebCore::SVGAnimatedPropertyTearOff::animationValueDidChange):
83855        (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff):
83856        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h:
83857        (WebCore::SVGAnimatedTransformListPropertyTearOff::baseVal):
83858        (WebCore::SVGAnimatedTransformListPropertyTearOff::animVal):
83859        * svg/properties/SVGListProperty.h:
83860        (WebCore::SVGListProperty::detachListWrappers):
83861        (SVGListProperty):
83862        (WebCore::SVGListProperty::setValuesAndWrappers):
83863        (WebCore::SVGListProperty::clearValues):
83864        (WebCore::SVGListProperty::clearValuesAndWrappers):
83865        (WebCore::SVGListProperty::numberOfItems):
83866        (WebCore::SVGListProperty::initializeValues):
83867        (WebCore::SVGListProperty::initializeValuesAndWrappers):
83868        (WebCore::SVGListProperty::canGetItem):
83869        (WebCore::SVGListProperty::getItemValues):
83870        (WebCore::SVGListProperty::getItemValuesAndWrappers):
83871        (WebCore::SVGListProperty::insertItemBeforeValues):
83872        (WebCore::SVGListProperty::insertItemBeforeValuesAndWrappers):
83873        (WebCore::SVGListProperty::canReplaceItem):
83874        (WebCore::SVGListProperty::replaceItemValues):
83875        (WebCore::SVGListProperty::replaceItemValuesAndWrappers):
83876        (WebCore::SVGListProperty::canRemoveItem):
83877        (WebCore::SVGListProperty::removeItemValues):
83878        (WebCore::SVGListProperty::removeItemValuesAndWrappers):
83879        (WebCore::SVGListProperty::appendItemValues):
83880        (WebCore::SVGListProperty::appendItemValuesAndWrappers):
83881        (WebCore::SVGListProperty::values):
83882        (WebCore::SVGListProperty::wrappers):
83883        (WebCore::SVGListProperty::SVGListProperty):
83884        * svg/properties/SVGListPropertyTearOff.h:
83885        (SVGListPropertyTearOff):
83886        (WebCore::SVGListPropertyTearOff::create):
83887        (WebCore::SVGListPropertyTearOff::removeItemFromList):
83888        (WebCore::SVGListPropertyTearOff::clear):
83889        (WebCore::SVGListPropertyTearOff::initialize):
83890        (WebCore::SVGListPropertyTearOff::insertItemBefore):
83891        (WebCore::SVGListPropertyTearOff::replaceItem):
83892        (WebCore::SVGListPropertyTearOff::appendItem):
83893        (WebCore::SVGListPropertyTearOff::SVGListPropertyTearOff):
83894        (WebCore::SVGListPropertyTearOff::commitChange):
83895        * svg/properties/SVGPathSegListPropertyTearOff.cpp:
83896        (WebCore::SVGPathSegListPropertyTearOff::clear):
83897        (WebCore::SVGPathSegListPropertyTearOff::getItem):
83898        (WebCore::SVGPathSegListPropertyTearOff::removeItem):
83899        * svg/properties/SVGPathSegListPropertyTearOff.h:
83900        (WebCore::SVGPathSegListPropertyTearOff::create):
83901        (WebCore::SVGPathSegListPropertyTearOff::removeItemFromList):
83902        (SVGPathSegListPropertyTearOff):
83903        (WebCore::SVGPathSegListPropertyTearOff::initialize):
83904        (WebCore::SVGPathSegListPropertyTearOff::insertItemBefore):
83905        (WebCore::SVGPathSegListPropertyTearOff::replaceItem):
83906        (WebCore::SVGPathSegListPropertyTearOff::appendItem):
83907        (WebCore::SVGPathSegListPropertyTearOff::SVGPathSegListPropertyTearOff):
83908        (WebCore::SVGPathSegListPropertyTearOff::commitChange):
83909        * svg/properties/SVGPropertyInfo.h:
83910        * svg/properties/SVGStaticListPropertyTearOff.h:
83911        (SVGStaticListPropertyTearOff):
83912        (WebCore::SVGStaticListPropertyTearOff::clear):
83913        (WebCore::SVGStaticListPropertyTearOff::initialize):
83914        (WebCore::SVGStaticListPropertyTearOff::getItem):
83915        (WebCore::SVGStaticListPropertyTearOff::insertItemBefore):
83916        (WebCore::SVGStaticListPropertyTearOff::replaceItem):
83917        (WebCore::SVGStaticListPropertyTearOff::removeItem):
83918        (WebCore::SVGStaticListPropertyTearOff::appendItem):
83919        (WebCore::SVGStaticListPropertyTearOff::SVGStaticListPropertyTearOff):
83920        (WebCore::SVGStaticListPropertyTearOff::commitChange):
83921        * svg/properties/SVGTransformListPropertyTearOff.h:
83922        (WebCore::SVGTransformListPropertyTearOff::create):
83923        (WebCore::SVGTransformListPropertyTearOff::createSVGTransformFromMatrix):
83924        (WebCore::SVGTransformListPropertyTearOff::consolidate):
83925        (WebCore::SVGTransformListPropertyTearOff::SVGTransformListPropertyTearOff):
83926
839272012-03-14  Chris Fleizach  <cfleizach@apple.com>
83928
83929        AXDescription for HTML5 footer
83930        https://bugs.webkit.org/show_bug.cgi?id=78967
83931
83932        Return a unique role description for the footer element.
83933
83934        Reviewed by Beth Dakin.
83935
83936        Test: platform/mac/accessibility/footer-roledescription.html
83937
83938        * English.lproj/Localizable.strings:+
83939        * accessibility/AccessibilityObject.h:
83940        * accessibility/AccessibilityRenderObject.cpp:
83941        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
83942        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
83943        (createAccessibilityRoleMap):
83944        (-[WebAccessibilityObjectWrapper subrole]):
83945        (-[WebAccessibilityObjectWrapper roleDescription]):
83946        * platform/LocalizedStrings.cpp:
83947        (WebCore::AXFooterRoleDescriptionText):
83948        (WebCore):
83949        * platform/LocalizedStrings.h:
83950        (WebCore):
83951        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
83952        (WebCore::AXFooterRoleDescriptionText):
83953        (WebCore):
83954        * platform/efl/LocalizedStringsEfl.cpp:
83955        (WebCore::AXFooterRoleDescriptionText):
83956        (WebCore):
83957        * platform/gtk/LocalizedStringsGtk.cpp:
83958        (WebCore::AXFooterRoleDescriptionText):
83959        (WebCore):
83960
839612012-03-14  Mark Rowe  <mrowe@apple.com>
83962
83963        <http://webkit.org/b/81193> Ensure libWebCoreTestSupport.dylib's library identifier is set appropriately for all configurations.
83964
83965        Reviewed by Dan Bernstein.
83966
83967        * Configurations/WebCoreTestSupport.xcconfig: Switch to setting DYLIB_INSTALL_NAME_BASE
83968        rather than LD_DYLIB_INSTALL_NAME. The latter is derived from the former. Ensure that
83969        DYLIB_INSTALL_NAME_BASE is also set for the Production configuration.
83970
839712012-03-14  Chris Fleizach  <cfleizach@apple.com>
83972
83973        AXDescription for ARIA role contentinfo incorrect
83974        https://bugs.webkit.org/show_bug.cgi?id=78967
83975
83976        Reviewed by Beth Dakin.
83977
83978        Test: platform/mac/accessibility/aria-grouping-roles.html
83979
83980        * English.lproj/Localizable.strings:
83981        * platform/LocalizedStrings.cpp:
83982        (WebCore::AXARIAContentGroupText):
83983
839842012-03-14  Chris Fleizach  <cfleizach@apple.com>
83985
83986        AX: ARIA tables need to support selected rows attribute/select rows changed notification
83987        https://bugs.webkit.org/show_bug.cgi?id=79821
83988
83989        Reviewed by Beth Dakin.
83990
83991        Test: platform/mac/accessibility/selected-rows-table.html
83992
83993        * accessibility/AccessibilityARIAGrid.h:
83994        (WebCore::AccessibilityARIAGrid::isMultiSelectable):
83995        (AccessibilityARIAGrid):
83996        * accessibility/AccessibilityRenderObject.cpp:
83997        (WebCore::AccessibilityRenderObject::ariaSelectedRows):
83998        * accessibility/AccessibilityTableRow.cpp:
83999        (WebCore::AccessibilityTableRow::observableObject):
84000        (WebCore):
84001        * accessibility/AccessibilityTableRow.h:
84002        (AccessibilityTableRow):
84003        * accessibility/mac/AXObjectCacheMac.mm:
84004        (WebCore::AXObjectCache::postPlatformNotification):
84005
840062012-03-14  James Robinson  <jamesr@chromium.org>
84007
84008        Platforms without USE(REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR) don't need to query the page's displayID
84009        https://bugs.webkit.org/show_bug.cgi?id=81187
84010
84011        Reviewed by Simon Fraser.
84012
84013        * dom/Document.cpp:
84014        (WebCore::Document::webkitRequestAnimationFrame):
84015
840162012-03-14  Chris Fleizach  <cfleizach@apple.com>
84017
84018        AX: embedded attachments do not report their parents correctly
84019        https://bugs.webkit.org/show_bug.cgi?id=80132
84020
84021        When a WebHTMLView has embedded attachments in it, the AXParent of those attachments is wrong.
84022        It usually points to the AXScrollView of the web area. That's because there has been no way for WebCore to
84023        communicate that this attachment view should actually make believe that it's parent is within the WebCore AX tree.
84024
84025        We can fix that by overriding the AXParent in overriden attributes for items that are attachments.
84026
84027        Reviewed by Beth Dakin.
84028
84029        Not able to construct a layout test because the problem only manifests itself when an AX client connects to WebKit
84030        through the IPC mechanism.
84031
84032        * accessibility/AccessibilityObject.cpp:
84033        (WebCore::AccessibilityObject::detachFromParent):
84034        * accessibility/AccessibilityObject.h:
84035        (AccessibilityObject):
84036        (WebCore::AccessibilityObject::overrideAttachmentParent):
84037        * accessibility/AccessibilityRenderObject.cpp:
84038        (WebCore::AccessibilityRenderObject::updateAttachmentViewParents):
84039        (WebCore::AccessibilityRenderObject::addChildren):
84040        * accessibility/AccessibilityRenderObject.h:
84041        (AccessibilityRenderObject):
84042        * accessibility/mac/AccessibilityObjectMac.mm:
84043        (WebCore::AccessibilityObject::overrideAttachmentParent):
84044
840452012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
84046
84047        Improve ContainerNode's collectNodes() performance
84048        https://bugs.webkit.org/show_bug.cgi?id=80706
84049
84050        Reviewed by Antti Koivisto.
84051
84052        Bump up the size of stack allocated buffer from 1 to 11. According to the rough study I conducted,
84053        this would cover 99.5% of all node collection.
84054
84055        Note: the actual code change was made in r110797 but I somehow mangled my patches.
84056
84057        * dom/ContainerNode.cpp:
84058        (WebCore):
84059
840602012-03-14  Seo Sanghyeon  <sh4.seo@samsung.com>
84061
84062        Cleanup semicolons in IDLs
84063        https://bugs.webkit.org/show_bug.cgi?id=81129
84064
84065        Reviewed by Kentaro Hara.
84066
84067        No tests. No change in behavior.
84068
84069        * svg/SVGAnimateColorElement.idl:
84070        * svg/SVGAnimateElement.idl:
84071        * svg/SVGAnimateTransformElement.idl:
84072        * svg/SVGAnimatedRect.idl:
84073
840742012-03-14  Hayato Ito  <hayato@chromium.org>
84075
84076        Make ShadowRoot.activeElement return null if it does not contain a focused element.
84077        https://bugs.webkit.org/show_bug.cgi?id=81097
84078
84079        Reviewed by Dimitri Glazkov.
84080
84081        * dom/TreeScope.cpp:
84082        (WebCore::TreeScope::activeElement):
84083
840842012-03-14  Matt Falkenhagen  <falken@chromium.org>
84085
84086        Allow per-script font settings to be specified in layout tests
84087        https://bugs.webkit.org/show_bug.cgi?id=78184
84088
84089        Reviewed by Hajime Morita.
84090
84091        This adds per-script font settings to InternalSettings, so it can be used in layout tests instead of
84092        the per-script font settings support in DumpRenderTree overridePreference, which has only been implemented
84093        for Chromium so far.
84094
84095        Test: changed fast/text/international/locale-sensitive-fonts.html to use InternalSettings
84096        instead of overridePreference.
84097
84098        * WebCore.exp.in: Added symbols.
84099        * platform/text/LocaleToScriptMapping.h: Added scriptNameToCode used by InternalSettings.
84100        (WebCore):
84101        * platform/text/LocaleToScriptMappingDefault.cpp:
84102        (WebCore::scriptNameToCode):
84103        (WebCore::localeToScriptCodeForFontSelection):
84104        * platform/text/LocaleToScriptMappingICU.cpp:
84105        (WebCore::scriptNameToCode):
84106        (WebCore):
84107        * testing/InternalSettings.cpp: Added per-script font settings.
84108        (WebCore):
84109        (WebCore::setFontFamily):
84110        (WebCore::InternalSettings::setStandardFontFamily):
84111        (WebCore::InternalSettings::setSerifFontFamily):
84112        (WebCore::InternalSettings::setSansSerifFontFamily):
84113        (WebCore::InternalSettings::setFixedFontFamily):
84114        (WebCore::InternalSettings::setCursiveFontFamily):
84115        (WebCore::InternalSettings::setFantasyFontFamily):
84116        (WebCore::InternalSettings::setPictographFontFamily):
84117        * testing/InternalSettings.h:
84118        (InternalSettings):
84119        * testing/InternalSettings.idl:
84120
841212012-03-14  Kwonjin Jeong  <gram@company100.net>
84122
84123        Remove obsolete constructors of CSSPrimitiveValue class.
84124        https://bugs.webkit.org/show_bug.cgi?id=80971
84125
84126        Remove constructors of CSSPrimitiveValue that can't be
84127        reached.
84128
84129        Reviewed by Andreas Kling.
84130
84131        * css/CSSPrimitiveValueMappings.h:
84132
841332012-03-14  Igor Oliveira  <igor.o@sisa.samsung.com>
84134
84135        Split the extra logic out of RenderBlock::updateFirstLetter
84136        https://bugs.webkit.org/show_bug.cgi?id=80772
84137
84138        Reviewed by Julien Chaffraix.
84139
84140        No change in behavior expected.
84141
84142        * rendering/RenderBlock.cpp:
84143        (WebCore::RenderBlock::updateFirstLetterStyle):
84144        (WebCore::RenderBlock::createFirstLetterRenderer):
84145        (WebCore::RenderBlock::updateFirstLetter):
84146        (WebCore):
84147        * rendering/RenderBlock.h:
84148        (RenderBlock):
84149
841502012-03-14  Anders Carlsson  <andersca@apple.com>
84151
84152        Fix build.
84153
84154        * html/track/TextTrackList.cpp:
84155
841562012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
84157
84158        Build fix.
84159
84160        * dom/DynamicNodeList.h:
84161        (DynamicSubtreeNodeList):
84162
841632012-03-14  Ryosuke Niwa  <rniwa@webkit.org>
84164
84165        (register|unregister)DynamicSubtreeNodeList should be called only for labels and regions node lists
84166        https://bugs.webkit.org/show_bug.cgi?id=80900
84167
84168        Reviewed by Andreas Kling.
84169
84170        Cleaned up invalidation code for dynamic node lists. It seems like the existing code was utterly confused
84171        about the lifetime of node lists and caches within them. First, register/unregsiterDynamicSubtreeNodeList
84172        are called for all dynamic node lists even though it's only useful for labels and region node lists since
84173        it's a mechanism to allow node lists to be invalidated at a node to which the node list doesn't belong.
84174
84175        Second, some node lists had dedicated member functions on Node to explicitly invalidate caches in
84176        parsedAttribute. However, this is redundant because invalidateNodeListsCacheAfterAttributeChanged should be
84177        able to invalidate caches when the attribute value changes. This patch gets rid of the last instance of such
84178        function in HTMLLabelElement.
84179
84180        And finally, this patch restricts the callers of DynamicSubtreeNodeList::invalidateCache to be member
84181        functions of NodeListsNodeData (now friends of DynamicSubtreeNodeList) to allow futher refactoring.
84182
84183        * dom/DynamicNodeList.cpp:
84184        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList): Don't register the node list since it's only
84185        useful for labels and region node lists.
84186        (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList): Ditto.
84187        * dom/DynamicNodeList.h:
84188        (DynamicSubtreeNodeList):
84189        * dom/Node.cpp:
84190        (WebCore):
84191        (WebCore::Node::registerDynamicSubtreeNodeList): The comment about now we have to invalidate caches
84192        when there had no caches is incorrect because registerDynamicSubtreeNodeList is called when a node list
84193        is initially created. Also, if the tree scope didn't have any caches, then this is the first node list
84194        to be added to the list, so there's no point in calling InvalidateCaches (no-op).
84195        (WebCore::Node::unregisterDynamicSubtreeNodeList):
84196        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Take care of "for" content attribute.
84197        Also remove the redundant call to removeNodeListCacheIfPossible since we only invalidates node lists
84198        and never remove entries from NodeListsNodeData in this function.
84199        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): The call to removeNodeListCacheIfPossible
84200        is also redundant here. Also removed the invalidation of m_listsWithCaches since it's already done in
84201        invalidateCaches via invalidateCachesThatDependOnAttributes.
84202        (WebCore::NodeListsNodeData::invalidateCaches): Removed the invalidation of m_labelsNodeListCache. It's
84203        done in invalidateCachesThatDependOnAttributes.
84204        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes): Invalidate
84205        m_listsInvalidatedAtDocument, which is renamed from m_listsWithCaches.
84206        (WebCore::NodeListsNodeData::isEmpty):
84207        * dom/Node.h:
84208        (Node):
84209        * dom/NodeRareData.h:
84210        (NodeListsNodeData):
84211        * html/HTMLLabelElement.cpp:
84212        (WebCore): Removed parseAttribute since the invalidation labels node list is now done by
84213        invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
84214        * html/HTMLLabelElement.h:
84215        (HTMLLabelElement):
84216        * html/LabelsNodeList.cpp:
84217        (WebCore::LabelsNodeList::LabelsNodeList):
84218        (WebCore::LabelsNodeList::~LabelsNodeList):
84219
842202012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
84221
84222        Unreviewed, rolling out r110565.
84223        http://trac.webkit.org/changeset/110565
84224        https://bugs.webkit.org/show_bug.cgi?id=81173
84225
84226        chromium deps are now far enough along that the original cl
84227        should work (Requested by thakis on #webkit).
84228
84229        * WebCore.gyp/mac/adjust_visibility.sh:
84230
842312012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
84232
84233        Unreviewed, rolling out r110641.
84234        http://trac.webkit.org/changeset/110641
84235        https://bugs.webkit.org/show_bug.cgi?id=81170
84236
84237        Causes an ASAN failure (Requested by abarth on #webkit).
84238
84239        * Target.pri:
84240        * UseV8.cmake:
84241        * WebCore.gypi:
84242        * bindings/scripts/CodeGeneratorJS.pm:
84243        (GenerateHeader):
84244        (GenerateImplementation):
84245        * bindings/scripts/CodeGeneratorV8.pm:
84246        (GenerateHeader):
84247        (GenerateNamedConstructorCallback):
84248        (GenerateImplementation):
84249        * bindings/scripts/IDLAttributes.txt:
84250        * bindings/scripts/test/V8/V8Float64Array.cpp:
84251        (WebCore):
84252        * bindings/scripts/test/V8/V8Float64Array.h:
84253        (V8Float64Array):
84254        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
84255        (WebCore):
84256        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
84257        (V8TestActiveDOMObject):
84258        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
84259        (WebCore):
84260        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
84261        (V8TestCustomNamedGetter):
84262        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
84263        (WebCore):
84264        * bindings/scripts/test/V8/V8TestEventConstructor.h:
84265        (V8TestEventConstructor):
84266        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
84267        (WebCore):
84268        * bindings/scripts/test/V8/V8TestEventTarget.h:
84269        (V8TestEventTarget):
84270        * bindings/scripts/test/V8/V8TestInterface.cpp:
84271        (WebCore):
84272        * bindings/scripts/test/V8/V8TestInterface.h:
84273        (V8TestInterface):
84274        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
84275        (WebCore):
84276        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
84277        (V8TestMediaQueryListListener):
84278        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
84279        (WebCore):
84280        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
84281        (V8TestNamedConstructor):
84282        * bindings/scripts/test/V8/V8TestObj.cpp:
84283        (WebCore):
84284        * bindings/scripts/test/V8/V8TestObj.h:
84285        (V8TestObj):
84286        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
84287        (WebCore):
84288        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
84289        (V8TestSerializedScriptValueInterface):
84290        * bindings/v8/NPV8Object.cpp:
84291        (WebCore::npObjectTypeInfo):
84292        * bindings/v8/V8GCController.cpp:
84293        (WebCore::GrouperVisitor::visitDOMWrapper):
84294        * bindings/v8/WrapperTypeInfo.h:
84295        (WebCore):
84296        (WrapperTypeInfo):
84297        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
84298        (WebCore):
84299        (WebCore::toV8):
84300        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
84301        (WebCore::toV8):
84302        (WebCore):
84303        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
84304        (WebCore):
84305        (WebCore::toV8):
84306        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
84307        (WebCore):
84308        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
84309        (WebCore::toV8):
84310        (WebCore):
84311        * bindings/v8/custom/V8StyleSheetCustom.cpp:
84312        (WebCore::toV8):
84313        * css/CSSStyleSheet.idl:
84314        * css/StyleSheet.idl:
84315        * dom/DOMStringMap.idl:
84316        * dom/NamedNodeMap.idl:
84317        * html/DOMTokenList.idl:
84318        * html/track/TextTrackList.cpp:
84319        * html/track/TextTrackList.idl:
84320
843212012-03-13  Jon Lee  <jonlee@apple.com>
84322
84323        Separate NOTIFICATIONS and LEGACY_NOTIFICATIONS
84324        https://bugs.webkit.org/show_bug.cgi?id=80922
84325        <rdar://problem/11035082>
84326
84327        Reviewed by Jian Li.
84328
84329        You can include either NOTIFICATIONS or LEGACY_NOTIFICATIONS and have a complete API.
84330        LEGACY_NOTIFICATIONS should cover all of the previous functionality, and NOTIFICATIONS will cover the
84331        new API. Therefore, APIs that are common between the two will have:
84332        #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
84333
84334        This patch initially sets both to be exactly the same. As other bugs with patches begin to migrate to
84335        the new API, the defines will begin to split. This allows ports to decide which set of APIs to include.
84336
84337        * bindings/scripts/InFilesCompiler.pm: Update the script to handle the "|" flag in a conditional.
84338        (preferredConditional):
84339        (conditionalStringFromAttributeValue):
84340        (generateInterfacesHeader):
84341        (generateHeadersHeader):
84342
84343        Update everything to be #if ENABLE(NOTIFICATIONS) || ENABLE(LEGACY_NOTIFICATIONS)
84344        * WebCore.exp.in:
84345        * bindings/cpp/WebDOMEventTarget.cpp:
84346        (toWebKit):
84347        * bindings/js/JSDesktopNotificationsCustom.cpp:
84348        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
84349        * dom/EventTargetFactory.in:
84350        * notifications/Notification.cpp:
84351        * notifications/Notification.h:
84352        * notifications/Notification.idl:
84353        * notifications/NotificationCenter.cpp:
84354        * notifications/NotificationCenter.h:
84355        * notifications/NotificationCenter.idl:
84356        * notifications/NotificationContents.h:
84357        * notifications/NotificationController.cpp:
84358        * notifications/NotificationController.h:
84359        * page/DOMWindow.cpp:
84360        (WebCore::DOMWindow::~DOMWindow):
84361        (WebCore::DOMWindow::willDetachPage):
84362        (WebCore::DOMWindow::disconnectDOMWindowProperties):
84363        (WebCore::DOMWindow::clearDOMWindowProperties):
84364        (WebCore):
84365        * page/DOMWindow.h:
84366        (DOMWindow):
84367        * page/DOMWindow.idl:
84368        * page/Frame.cpp:
84369        (WebCore::Frame::willDetachPage):
84370        (WebCore::Frame::transferChildFrameToNewDocument):
84371        * workers/WorkerContext.cpp:
84372        (WebCore::WorkerContext::~WorkerContext):
84373        (WebCore):
84374        * workers/WorkerContext.h:
84375        (WorkerContext):
84376        * workers/WorkerContext.idl:
84377        * workers/WorkerThread.cpp:
84378        (WebCore::WorkerThread::WorkerThread):
84379        * workers/WorkerThread.h:
84380        (WorkerThread):
84381
843822012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
84383
84384        Unreviewed, rolling out r110744.
84385        http://trac.webkit.org/changeset/110744
84386        https://bugs.webkit.org/show_bug.cgi?id=81168
84387
84388        Causes many WebAudio tests to crash in debug (Requested by
84389        abarth on #webkit).
84390
84391        * platform/audio/Biquad.cpp:
84392        (WebCore::Biquad::process):
84393
843942012-03-14  Brady Eidson  <beidson@apple.com>
84395
84396        <rdar://problem/11045584> and https://bugs.webkit.org/show_bug.cgi?id=81166
84397        Repro crash in compositing/iframes/page-cache-layer-tree.html
84398
84399        Reviewed by Sam Weinig.
84400
84401        No new tests. (Discovered from and covered by existing test)
84402
84403        ScriptCachedFrameData doesn't need to keep a DOMWindow:
84404        * bindings/js/ScriptCachedFrameData.cpp:
84405        (WebCore::ScriptCachedFrameData::ScriptCachedFrameData):
84406        * bindings/js/ScriptCachedFrameData.h:
84407        (ScriptCachedFrameData):
84408
84409        CachedFrame should grab it off the Frame directly and store it locally:
84410        * history/CachedFrame.cpp:
84411        (WebCore::CachedFrame::CachedFrame):
84412        * history/CachedFrame.h:
84413        (WebCore::CachedFrameBase::domWindow):
84414        (CachedFrameBase):
84415
844162012-03-14  Tony Chang  <tony@chromium.org>
84417
84418        fix negative flexing in auto sized columns
84419        https://bugs.webkit.org/show_bug.cgi?id=80069
84420
84421        Reviewed by Ojan Vafai.
84422
84423        New test cases in css3/flexbox/columns-auto-size.html.
84424
84425        * rendering/RenderFlexibleBox.cpp:
84426        (WebCore):
84427        (WebCore::RenderFlexibleBox::computeAvailableFreeSpace): Properly compute this for auto sizing columns. Previously, we would always return 0.
84428        (WebCore::RenderFlexibleBox::layoutFlexItems):
84429        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Drop an unnecessary check against undefined. isSpecified covers this for us.
84430        * rendering/RenderFlexibleBox.h:
84431        (RenderFlexibleBox):
84432
844332012-03-14  Grace Ku  <gracek@codeaurora.org>
84434
84435        Incorrect handling of sizes in "em" when first-line changes font size
84436        https://bugs.webkit.org/show_bug.cgi?id=79526
84437
84438        Reviewed by Eric Seidel.
84439
84440        When a first-line pseudo class changes the font size, the "em" unit is handled incorrectly.
84441        It uses the paragraph's original font size (the size of the rest of the paragraph) rather than
84442        the font-size of the first-line of the paragraph.
84443
84444        This was corrected by checking if the InlineFlowBox was the first line using the existing
84445        InlineFlowBox::isFirstLineStyle() function. The corrected behaviour matches Gecko and Presto.
84446        Trident seems to get it half-wrong in the use case we are testing, painting the correct width for
84447        the border but leaving the wrong amount of space.
84448
84449        The CSS specification doc at the time of this patch specifies that ':first-line' should only support
84450        certain properties, though UAs may choose to apply more properties. Furthermore, the spec does not
84451        define the exact rendering of all cases of ':first-line'. It notes that a more precise definition
84452        may appear in future revisions.
84453
84454        Test: fast/css/pseudo-first-line-border-width.html
84455
84456        * rendering/InlineFlowBox.cpp:
84457        (WebCore::InlineFlowBox::paintBoxDecorations):
84458        * rendering/InlineFlowBox.h:
84459        (WebCore::InlineFlowBox::borderLogicalLeft):
84460        (WebCore::InlineFlowBox::borderLogicalRight):
84461        * rendering/RenderBoxModelObject.cpp:
84462        (WebCore::RenderBoxModelObject::paintBorder):
84463        (WebCore::RenderBoxModelObject::getBorderEdgeInfo):
84464        (WebCore::RenderBoxModelObject::borderObscuresBackgroundEdge):
84465        (WebCore::RenderBoxModelObject::borderObscuresBackground):
84466        * rendering/RenderBoxModelObject.h:
84467        (RenderBoxModelObject):
84468
844692012-03-14  Martin Robinson  <mrobinson@igalia.com>
84470
84471        Fix the TextureMapper build for GTK+.
84472
84473        No new tests. This is just a build fix.
84474
84475        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp:
84476        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
84477        * platform/graphics/texmap/TextureMapper.h:
84478
844792012-03-12  Martin Robinson  <mrobinson@igalia.com>
84480
84481        [GTK] Menulist buttons have separators even when the theme turns them off
84482        https://bugs.webkit.org/show_bug.cgi?id=80668
84483
84484        Reviewed by Daniel Bates.
84485
84486        No new tests. GTK+ theme differences are notoriously difficult
84487        to test, because consistent results depend on having certain themes
84488        and certain versions of themes installed.
84489
84490        Instead of using the GTK_TYPE_BUTTON and GTK_TYPE_SEPARATOR tags to get the
84491        style context, use GTK_TYPE_COMBO_BOX which should provide more accurate theme settings.
84492
84493        * platform/gtk/RenderThemeGtk3.cpp:
84494        (WebCore::getComboBoxMetrics): Get metrics from a GTK_TYPE_COMBO_BOX style context.
84495        (WebCore::RenderThemeGtk::paintMenuList): Get separator settings from the GTK_TYPE_COMBO_BOX style context.
84496
844972012-03-14  Levi Weintraub  <leviw@chromium.org>
84498
84499        Implement proper sub-pixel support in RenderFileUploadControl
84500        https://bugs.webkit.org/show_bug.cgi?id=80881
84501
84502        Reviewed by Dimitri Glazkov.
84503
84504        Correcting improper usage of LayoutUnits when interacting with the graphics context
84505        and platform code. Specifically:
84506        - pixel snapping the clip rect and paint offsets before sending values to the
84507          graphics context in paintObject.
84508        - using on-screen (pixel snapped) values to pass off to platform code to determine
84509          the max length of the filename to be drawn.
84510
84511        No new tests. No change in behavior.
84512
84513        * rendering/RenderFileUploadControl.cpp:
84514        (WebCore::nodeWidth):
84515        (WebCore::RenderFileUploadControl::maxFilenameWidth):
84516        (WebCore::RenderFileUploadControl::paintObject):
84517
845182012-03-14  Joseph Pecoraro  <pecoraro@apple.com>
84519
84520        [JSC] Web Inspector: CRASH running $0, $1, etc before they are set
84521        https://bugs.webkit.org/show_bug.cgi?id=81082
84522
84523        Don't return an invalid JSValue. Check if the ScriptValue
84524        has no value and return undefined in that case.
84525
84526        Reviewed by Pavel Feldman.
84527
84528        Updated test: inspector/console/command-line-api.html
84529
84530        * bindings/js/JSInjectedScriptHostCustom.cpp:
84531        (WebCore::JSInjectedScriptHost::inspectedObject):
84532
845332012-03-14  James Robinson  <jamesr@chromium.org>
84534
84535        [chromium] Remove canRecoverFromContextLoss attribute, it's unused
84536        https://bugs.webkit.org/show_bug.cgi?id=81158
84537
84538        Reviewed by Stephen White.
84539
84540        Canvas accelerated no longer depends on the canRecoverFromContextLoss attribute after r110716.
84541
84542        * platform/graphics/GraphicsContext3D.h:
84543        (WebCore::GraphicsContext3D::Attributes::Attributes):
84544        (Attributes):
84545        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
84546        (WebCore::SharedGraphicsContext3DImpl::get):
84547
845482012-03-14  Jer Noble  <jer.noble@apple.com>
84549
84550        Opening a URL in a MediaDocument does not propagate MIME type info to media element
84551        https://bugs.webkit.org/show_bug.cgi?id=81148
84552
84553        Reviewed by Eric Carlson.
84554
84555        Test: http/tests/media/media-document.html
84556
84557        Pass through the mime type from the DocumentLoader into the <source type=""> attribute of the
84558        generated video element. 
84559
84560        * html/MediaDocument.cpp:
84561        (WebCore::MediaDocumentParser::createDocumentStructure):
84562
845632012-03-14  Stephen White  <senorblanco@chromium.org>
84564
84565        [chromium] Fix accelerated Canvas2D with threaded compositing.
84566        https://bugs.webkit.org/show_bug.cgi?id=80998
84567
84568        Reviewed by James Robinson.
84569
84570        Covered by unit tests Canvas2DLayerChromiumTest and
84571        TreeSynchronizerTest.
84572
84573        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
84574        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
84575        (WebCore):
84576        Delay creation of the front texture for double-buffering until the
84577        first call to paintContentsIfDirty().
84578        * platform/graphics/chromium/Canvas2DLayerChromium.h:
84579        (Canvas2DLayerChromium):
84580        Remove setTextureManager() and setLayerTreeHost(), since their job
84581        has been subsumed by paintContentsIfDirty().
84582        * platform/graphics/chromium/TreeSynchronizer.cpp:
84583        (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
84584        Perform an early-out if the passed-in layer is NULL.
84585
845862012-03-14  Mark Pilgrim  <pilgrim@chromium.org>
84587
84588        Move EntriesCallback to Modules/filesystem/
84589        https://bugs.webkit.org/show_bug.cgi?id=81032
84590
84591        Reviewed by Adam Barth.
84592
84593        No new tests, all existing tests pass.
84594
84595        * CMakeLists.txt:
84596        * DerivedSources.make:
84597        * DerivedSources.pri:
84598        * GNUmakefile.list.am:
84599        * Modules/filesystem/EntriesCallback.h: Copied from Source/WebCore/fileapi/EntriesCallback.h.
84600        * Modules/filesystem/EntriesCallback.idl: Copied from Source/WebCore/fileapi/EntriesCallback.idl.
84601        * Target.pri:
84602        * WebCore.gypi:
84603        * WebCore.vcproj/WebCore.vcproj:
84604        * WebCore.xcodeproj/project.pbxproj:
84605        * fileapi/EntriesCallback.h: Removed.
84606        * fileapi/EntriesCallback.idl: Removed.
84607
846082012-03-14  Tony Chang  <tony@chromium.org>
84609
84610        multiline column flexbox with auto height wrap too much
84611        https://bugs.webkit.org/show_bug.cgi?id=80929
84612
84613        Reviewed by David Hyatt.
84614
84615        Test: css3/flexbox/multiline-column-auto.html
84616
84617        * rendering/RenderBox.cpp:
84618        (WebCore::RenderBox::computeLogicalHeightUsing):
84619        (WebCore):
84620        (WebCore::RenderBox::computeContentLogicalHeightUsing): Pull out into a separate method.
84621        * rendering/RenderBox.h:
84622        (RenderBox):
84623        * rendering/RenderFlexibleBox.cpp:
84624        (WebCore::RenderFlexibleBox::lineBreakLength): Compute the value based on height & max-height for column layout.
84625        (WebCore):
84626        (WebCore::RenderFlexibleBox::computeNextFlexLine):
84627        * rendering/RenderFlexibleBox.h:
84628        (RenderFlexibleBox):
84629
846302012-03-14  Xingnan Wang  <xingnan.wang@intel.com>
84631
84632        Optimize the multiply-add in Biquad.cpp::process
84633        https://bugs.webkit.org/show_bug.cgi?id=75528
84634
84635        Reviewed by Chris Rogers.
84636
84637        Pipeline the multiply-add with SSE2 instructions and get about 20% improvement for the function.
84638
84639        * platform/audio/Biquad.cpp:
84640        (WebCore::Biquad::process):
84641
846422012-03-14  James Robinson  <jamesr@chromium.org>
84643
84644        [Chromium] Layout Test compositing/repaint/opacity-between-absolute.html is flaky
84645        https://bugs.webkit.org/show_bug.cgi?id=79823
84646
84647        Reviewed by Adrienne Walker.
84648
84649        LayerRendererChromium was storing a weak pointer to the current render surface in m_currentRenderSurface and
84650        using this in useRenderSurface() to avoid rebinding if we called useRenderSurface() multiple times in a row on
84651        the same surface. This pointer was never cleared, so if any subsequent surface landed at the same address this
84652        caching would misbehave and we'd fail to correctly initialize the new render surface. The caching wasn't
84653        actually buying us anything anyway since we only call useRenderSurface() once per surface per frame and we
84654        always set the viewport for the default render surface.
84655
84656        * platform/graphics/chromium/LayerRendererChromium.cpp:
84657        (WebCore::LayerRendererChromium::beginDrawingFrame):
84658        (WebCore::LayerRendererChromium::useRenderSurface):
84659
846602012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
84661
84662        Frame flattening ASSERT(!needsLayout()) in FrameView::paintContents()
84663        https://bugs.webkit.org/show_bug.cgi?id=80155
84664
84665        Reviewed by Antti Koivisto.
84666
84667        This patch ensures that an iframe only schedules and calls parent's layout,
84668        when it is going to be flattened. Non-flattened iframe does not affect
84669        parent's layout, so normal layout flow applies. isInSubframeLayoutWithFrameFlattening()
84670        function has been added to test whether a particular child frame is changing
84671        parent's layout. This function also ensures that scheduleRelayout() and layout()
84672        are in sync of checking againts frame flattening.
84673
84674        Test: fast/frames/flattening/iframe-flattening-fixed-width-and-height-no-scrolling-with-js-forced-layout.html
84675
84676        * page/FrameView.cpp:
84677        (WebCore::FrameView::avoidScrollbarCreation):
84678        (WebCore::FrameView::layout):
84679        (WebCore::FrameView::scheduleRelayout):
84680        (WebCore::FrameView::isInChildFrameWithFrameFlattening):
84681        (WebCore):
84682        (WebCore::FrameView::updateLayoutAndStyleIfNeededRecursive):
84683        * page/FrameView.h:
84684        (FrameView):
84685        * rendering/RenderIFrame.h:
84686        (RenderIFrame):
84687        (WebCore::RenderIFrame::renderName):
84688
846892012-03-14  Anders Carlsson  <andersca@apple.com>
84690
84691        Don't cap the scroll position if layout happens when a FrameView's overhangAmount is non-zero
84692        https://bugs.webkit.org/show_bug.cgi?id=81146
84693        <rdar://problem/10850075>
84694
84695        Reviewed by Beth Dakin.
84696
84697        If layout happens when a page has a non-zero overhang amount, we shouldn't cap the scroll position
84698        to be inside of the valid maximum/minimum scroll offsets because that will cause the page to jump back, which
84699        can look really bad if layout happens in response to the page being scrolled.
84700
84701        * platform/ScrollView.cpp:
84702        (WebCore::ScrollView::updateScrollbars):
84703
847042012-03-14  Tommy Widenflycht  <tommyw@google.com>
84705
84706        MediaStream API (JSEP): Introducing IceCandidate
84707        https://bugs.webkit.org/show_bug.cgi?id=80699
84708
84709        Reviewed by Adam Barth.
84710
84711        Patch #2 in a series of patches to change the PeerConnection from ROAP to JSEP,
84712        see bug 80589 for more information.
84713        Adding the JS object IceCandidate and its WebCore/platform sibling IceCandidateDescriptor.
84714        This object will be created both from JS and the embedder.
84715
84716        Not possible to test until the entire JSEP feature is commited.
84717
84718        * GNUmakefile.list.am:
84719        * Modules/mediastream/IceCandidate.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
84720        (WebCore):
84721        (WebCore::IceCandidate::create):
84722        (WebCore::IceCandidate::IceCandidate):
84723        (WebCore::IceCandidate::~IceCandidate):
84724        (WebCore::IceCandidate::label):
84725        (WebCore::IceCandidate::candidateLine):
84726        (WebCore::IceCandidate::toSdp):
84727        (WebCore::IceCandidate::descriptor):
84728        * Modules/mediastream/IceCandidate.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
84729        (WebCore):
84730        (IceCandidate):
84731        * Modules/mediastream/IceCandidate.idl: Added.
84732        * WebCore.gypi:
84733        * platform/mediastream/IceCandidateDescriptor.cpp: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
84734        (WebCore):
84735        (WebCore::IceCandidateDescriptor::create):
84736        (WebCore::IceCandidateDescriptor::IceCandidateDescriptor):
84737        (WebCore::IceCandidateDescriptor::~IceCandidateDescriptor):
84738        (WebCore::IceCandidateDescriptor::toSdp):
84739        * platform/mediastream/IceCandidateDescriptor.h: Copied from Source/WebCore/platform/mediastream/MediaStreamCenter.cpp.
84740        (WebCore):
84741        (IceCandidateDescriptor):
84742        (WebCore::IceCandidateDescriptor::label):
84743        (WebCore::IceCandidateDescriptor::candidateLine):
84744        * platform/mediastream/MediaStreamCenter.cpp:
84745        (WebCore::MediaStreamCenter::constructSdp):
84746        (WebCore):
84747        * platform/mediastream/MediaStreamCenter.h:
84748        (WebCore):
84749        (MediaStreamCenter):
84750
847512012-03-14  Simon Fraser  <simon.fraser@apple.com>
84752
84753        background-visibility:hidden should create a RenderLayer
84754        https://bugs.webkit.org/show_bug.cgi?id=81134
84755
84756        Reviewed by Dean Jackson.
84757        
84758        Background-visibility:hidden has to create RenderLayers, because it's implemented
84759        via compositing and/or paint short-circuiting in RenderLayer code.
84760
84761        Test: transforms/3d/general/background-visibility-layers.html
84762
84763        * rendering/RenderBox.h:
84764        * rendering/RenderBoxModelObject.h:
84765        (WebCore::RenderBoxModelObject::requiresLayer):
84766        * rendering/RenderObject.h:
84767        (WebCore::RenderObject::hasHiddenBackface):
84768        * rendering/RenderTableRow.h:
84769
847702012-03-14  Raul Hudea  <rhudea@adobe.com>
84771
84772        [CSSRegions][CSSOM] Implement regionLayoutEvent
84773        https://bugs.webkit.org/show_bug.cgi?id=78882
84774
84775        Reviewed by David Hyatt.
84776
84777        Adding the regionLayoutEvent that is dispatch for all regions after each flow-thread layout.
84778
84779        Tests: fast/regions/region-event-add-to-flow.html
84780               fast/regions/region-event-remove-from-dom.html
84781               fast/regions/region-event-remove-from-flow.html
84782               fast/regions/region-event.html
84783
84784        * dom/Document.cpp:
84785        (WebCore::Document::addListenerTypeIfNeeded): Added check for regionLayoutUpdate listeners
84786        * dom/Document.h:
84787        * dom/EventNames.h:
84788        (WebCore):
84789        * dom/Node.cpp:
84790        (WebCore::Node::dispatchRegionLayoutUpdateEvent):
84791        (WebCore):
84792        * dom/Node.h:
84793        (Node):
84794        * rendering/RenderFlowThread.cpp:
84795        (WebCore::RenderFlowThread::RenderFlowThread):
84796        (WebCore::RenderFlowThread::layout): Start the event dispatch timer but only if there are regionLayoutUpdate listeners and there is at least one region that had its layout updated.
84797        (WebCore::RenderFlowThread::computeOverflowStateForRegions): Mark regions that might had a layout update
84798        (WebCore::RenderFlowThread::regionLayoutUpdateEventTimerFired):
84799        (WebCore):
84800        * rendering/RenderFlowThread.h:
84801        * rendering/RenderRegion.cpp:
84802        (WebCore::RenderRegion::RenderRegion):
84803        * rendering/RenderRegion.h:
84804        (WebCore::RenderRegion::setDispatchRegionLayoutUpdateEvent):
84805        (WebCore::RenderRegion::shouldDispatchRegionLayoutUpdateEvent):
84806        (RenderRegion):
84807
848082012-03-14  Pierre Rossi  <pierre.rossi@gmail.com>
84809
84810        [Qt] Add support for vertical sliders in mobile theme
84811        https://bugs.webkit.org/show_bug.cgi?id=80179
84812
84813        This makes sliders using the "slider-vertical" appearance more sensible.
84814
84815        Reviewed by Simon Hausmann.
84816
84817        No new tests, since the mobile theme still isn't used in layout tests.
84818
84819        * platform/qt/RenderThemeQtMobile.cpp:
84820        (WebCore):
84821        (WebCore::StylePainterMobile::drawProgress):
84822        (WebCore::RenderThemeQtMobile::paintSliderTrack):
84823        * platform/qt/RenderThemeQtMobile.h:
84824        (StylePainterMobile):
84825
848262012-03-14  Jer Noble  <jer.noble@apple.com>
84827
84828        WebProcess spins beneath [QTMovie movieFileTypes:]
84829        https://bugs.webkit.org/show_bug.cgi?id=81133
84830
84831        Reviewed by Eric Carlson.
84832
84833        No new tests; speculative fix for top WebProcess spin.
84834
84835        When checking to see if a given mime type is supported by QuickTime,
84836        immediately exclude all types that do not begin with 'audio/' or 'video/'.
84837        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
84838        (WebCore::MediaPlayerPrivateQTKit::supportsType):
84839
848402012-03-14  Zalan Bujtas  <zbujtas@gmail.com>
84841
84842        Make RenderIFrame::flattenFrame() return earlier, when frame flattening is disabled.
84843        https://bugs.webkit.org/show_bug.cgi?id=80301
84844
84845        Reviewed by Antti Koivisto.
84846
84847        Reorganize RenderIFrame flattenFrame() code, so that it returns
84848        earlier for the normal use case, when frame flattening is disabled.
84849        It also removes leftover null check.
84850
84851        No new tests, since there's no new functionality.
84852
84853        * rendering/RenderIFrame.cpp:
84854        (WebCore::RenderIFrame::flattenFrame):
84855
848562012-03-14  James Robinson  <jamesr@chromium.org>
84857
84858        [chromium] Provide explicit polling API to check if the platform is capable of accelerated 2d canvas
84859        https://bugs.webkit.org/show_bug.cgi?id=80667
84860
84861        Reviewed by Darin Fisher.
84862
84863        Query the platform to see if we can instantiate a context suitable for accelerating 2d canvas. If we can't, for
84864        instance if we're on a system that can't preserve a context when the screensaver comes up, then immediately fall
84865        back to software.
84866
84867        Covered by canvas layout tests in the virtual-gpu mode.
84868
84869        * html/HTMLCanvasElement.cpp:
84870        (WebCore::HTMLCanvasElement::shouldAccelerate):
84871        * platform/chromium/PlatformSupport.h:
84872
848732012-03-14  Carlos Garcia Campos  <cgarcia@igalia.com>
84874
84875        [GTK] Handle printing errors in WebKit2
84876        https://bugs.webkit.org/show_bug.cgi?id=77197
84877
84878        Reviewed by Gustavo Noronha Silva.
84879
84880        * platform/gtk/ErrorsGtk.cpp:
84881        (WebCore::printError): Create a generic print error.
84882        (WebCore::printerNotFoundError): Create a print error to notify
84883        that the selected printer could not be found.
84884        (WebCore::invalidPageRangeToPrint): Create a print error when the
84885        selected page range is invalid and there are no pages to print.
84886        * platform/gtk/ErrorsGtk.h:
84887        (WebCore): Add print error doamin.
84888
848892012-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
84890
84891        Make SVGUseElement respect & support externalResourcesRequired
84892        https://bugs.webkit.org/show_bug.cgi?id=81109
84893
84894        Reviewed by Rob Buis.
84895
84896        Generalize the existing externalResourcesRequired support from SVGScriptElement
84897        into SVGExternalResourcesRequired, so it can be shared with SVGUseElement, which
84898        was lacking proper externalResourcesRequired support.
84899
84900        <use xlink:href="external.svg" onload="alert('hi')" externalResourcesRequired="true"/>
84901        The onload handler now fires _after_ the external resources loaded, making it possible
84902        to write reliable tests that switch from internal to external resources or the other
84903        way around. Converted the new tests in svg/dynamic-updates/SVGUseElement* to listen
84904        to SVGLoad events, to make them reliable.
84905
84906        We may be able to generalize this to cover SVGImageElement as well (the only other class which
84907        is currently supporting externalResourcesRequired - but that's more involved, so I left it TODO).
84908
84909        Covered by existing tests and the changes to the new SVGUseElement tests.
84910
84911        * svg/SVGElement.h:
84912        (SVGElement): Make haveLoadedRequiredResources() public so SVGExternalResourcesRequired can call it.
84913        * svg/SVGExternalResourcesRequired.cpp: Refactored code from SVGScriptElement, 1:1 copies w/o changes.
84914        (WebCore::SVGExternalResourcesRequired::handleAttributeChange):
84915        (WebCore::SVGExternalResourcesRequired::dispatchLoadEvent):
84916        (WebCore::SVGExternalResourcesRequired::insertedIntoDocument):
84917        (WebCore::SVGExternalResourcesRequired::finishParsingChildren):
84918        (WebCore::SVGExternalResourcesRequired::haveLoadedRequiredResources):
84919        * svg/SVGExternalResourcesRequired.h: Add new virtual functions, that must be available in classes that inherit from SVGExternalResourcesRequired.
84920        (WebCore::SVGExternalResourcesRequired::setHaveFiredLoadEvent):
84921        (WebCore::SVGExternalResourcesRequired::isParserInserted):
84922        (WebCore::SVGExternalResourcesRequired::haveFiredLoadEvent):
84923        * svg/SVGScriptElement.cpp: Refactored externalResourcesRequired handling into SVGExternalResourcesRequired.
84924        (WebCore::SVGScriptElement::svgAttributeChanged):
84925        (WebCore::SVGScriptElement::insertedIntoDocument):
84926        (WebCore::SVGScriptElement::finishParsingChildren):
84927        * svg/SVGScriptElement.h: Ditto.
84928        (WebCore::SVGScriptElement::haveLoadedRequiredResources):
84929        (WebCore::SVGScriptElement::dispatchLoadEvent):
84930        (WebCore::SVGScriptElement::setHaveFiredLoadEvent):
84931        (WebCore::SVGScriptElement::isParserInserted):
84932        (WebCore::SVGScriptElement::haveFiredLoadEvent):
84933        * svg/SVGTests.cpp: Fix obvious typo, that leads to an assertion. Always return true if we know the attributeName.
84934        (WebCore::SVGTests::handleAttributeChange):
84935        * svg/SVGTests.h:
84936        * svg/SVGTextPathElement.cpp:
84937        (WebCore::SVGTextPathElement::insertedIntoDocument): Remove ambigous call warning.
84938        * svg/SVGUseElement.cpp: Support externalResourcesRequired="true/false" + dynamic changes of it. Covered by existing tests.
84939        (WebCore::SVGUseElement::SVGUseElement):
84940        (WebCore::SVGUseElement::create):
84941        (WebCore::SVGUseElement::insertedIntoDocument):
84942        (WebCore::SVGUseElement::svgAttributeChanged):
84943        (WebCore::SVGUseElement::notifyFinished):
84944        (WebCore::SVGUseElement::finishParsingChildren):
84945        (WebCore):
84946        * svg/SVGUseElement.h: Ditto.
84947        (WebCore::SVGUseElement::haveLoadedRequiredResources):
84948        (WebCore::SVGUseElement::setHaveFiredLoadEvent):
84949        (WebCore::SVGUseElement::isParserInserted):
84950        (WebCore::SVGUseElement::haveFiredLoadEvent):
84951        * svg/svgtags.in: Pass "bool wasInsertedByParser" to SVGUseElement constructor.
84952
849532012-03-14  Andrew Lo  <anlo@rim.com>
84954
84955        [BlackBerry] Implement REQUEST_ANIMATION_FRAME_DISPLAY_MONITOR using AnimationFrameRateController
84956        https://bugs.webkit.org/show_bug.cgi?id=81000
84957
84958        Add BlackBerry port for DisplayRefreshMonitor using AnimationFrameRateController.
84959        Moved refreshDisplayOnMainThread to platform independant part of header.
84960
84961        Reviewed by Antonio Gomes.
84962
84963        requestAnimationFrame already covered by tests in LayoutTests/fast/animation.
84964
84965        * PlatformBlackBerry.cmake:
84966        * platform/graphics/DisplayRefreshMonitor.cpp:
84967        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
84968        * platform/graphics/DisplayRefreshMonitor.h:
84969        (WebCore):
84970        (DisplayAnimationClient):
84971        (WebCore::DisplayAnimationClient::~DisplayAnimationClient):
84972        (DisplayRefreshMonitor):
84973        * platform/graphics/blackberry/DisplayRefreshMonitorBlackBerry.cpp: Added.
84974        (WebCore):
84975        (WebCore::DisplayAnimationClient::DisplayAnimationClient):
84976        (WebCore::DisplayAnimationClient::animationFrameChanged):
84977        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor):
84978        (WebCore::DisplayRefreshMonitor::startAnimationClient):
84979        (WebCore::DisplayRefreshMonitor::stopAnimationClient):
84980        (WebCore::DisplayRefreshMonitor::requestRefreshCallback):
84981        (WebCore::DisplayRefreshMonitor::displayLinkFired):
84982
849832012-03-14  Yury Semikhatsky  <yurys@chromium.org>
84984
84985        Web Inspector: use class name indexes instead of class names when evaluating aggregates
84986        https://bugs.webkit.org/show_bug.cgi?id=81100
84987
84988        Class name and type name indexes are now used when calculating class aggregates
84989        in heap snapshots instead of string lookup followed by a string comparison.
84990
84991        Class names like "Window / www.webkit.org" are now left as is in the UI (it used
84992        to be trimed to just "Window").
84993
84994        Reviewed by Pavel Feldman.
84995
84996        * inspector/front-end/HeapSnapshot.js:
84997        (WebInspector.HeapSnapshotNode.prototype.get classNameIndex):
84998        (WebInspector.HeapSnapshotNode.prototype.hasType):
84999        (WebInspector.HeapSnapshot.prototype._init):
85000        (WebInspector.HeapSnapshot.prototype._buildAggregates):
85001
850022012-03-14  Andrey Kosyakov  <caseq@chromium.org>
85003
85004        Web Inspector: add didCancelFrame timeline event
85005        https://bugs.webkit.org/show_bug.cgi?id=80994
85006
85007        Reviewed by Pavel Feldman.
85008
85009        - add an ability to cancel certain timeline events, unless they've been followed by other events.
85010        - implement didCancelFrame() event, fired when a platform decides not to render frame after didBeginFrame() was called.
85011
85012        Test: inspector/timeline/timeline-frames.html
85013
85014        * WebCore.exp.in:
85015        * inspector/InspectorInstrumentation.cpp:
85016        (WebCore::InspectorInstrumentation::didCancelFrameImpl):
85017        (WebCore):
85018        * inspector/InspectorInstrumentation.h:
85019        (InspectorInstrumentation):
85020        (WebCore::InspectorInstrumentation::didCancelFrame):
85021        (WebCore):
85022        * inspector/InspectorTimelineAgent.cpp:
85023        (WebCore::InspectorTimelineAgent::didBeginFrame):
85024        (WebCore):
85025        (WebCore::InspectorTimelineAgent::didCancelFrame):
85026        (WebCore::InspectorTimelineAgent::appendRecord):
85027        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
85028        (WebCore::InspectorTimelineAgent::pushCancelableRecord):
85029        (WebCore::InspectorTimelineAgent::commitCancelableRecords):
85030        (WebCore::InspectorTimelineAgent::cancelRecord):
85031        * inspector/InspectorTimelineAgent.h:
85032        (InspectorTimelineAgent):
85033        (WebCore::InspectorTimelineAgent::TimelineRecordEntry::TimelineRecordEntry):
85034        (TimelineRecordEntry):
85035        * testing/Internals.cpp:
85036        (WebCore::Internals::emitInspectorDidBeginFrame):
85037        (WebCore):
85038        (WebCore::Internals::emitInspectorDidCancelFrame):
85039        * testing/Internals.h:
85040        (Internals):
85041        * testing/Internals.idl:
85042
850432012-03-14  Dana Jansens  <danakj@chromium.org>
85044
85045        Region can acquire an empty span by subtracting an empty Region
85046        https://bugs.webkit.org/show_bug.cgi?id=81074
85047
85048        Reviewed by Anders Carlsson.
85049
85050        Subtracting an empty Region B from a Region A can cause A to end
85051        up with an empty span. This violates the rule that two Regions
85052        that cover the exact same area should have equal spans and segments.
85053
85054        Unit test: RegionTest.emptySpan
85055
85056        * platform/graphics/Region.cpp:
85057        (WebCore::Region::subtract):
85058
850592012-03-14  Simon Hausmann  <simon.hausmann@nokia.com>
85060
85061        [Textmap] Disable driver based BGRA swizzling for OpenGL/ES
85062
85063        Reviewed by Noam Rosenthal.
85064
85065        The current way of detecting swizzling support (check for GL_EXT_texture_format_BGRA8888)
85066        is unfortunately not reliable. We need a better way of detection that (filed bug 81103).
85067        In the meantime this patch reverts back to doing the swizzling in the texture mapper to
85068        get pixels back onto the screen.
85069
85070        * platform/graphics/texmap/TextureMapperGL.cpp:
85071        (WebCore::driverSupportsBGRASwizzling):
85072        (WebCore::BitmapTextureGL::updateContents):
85073
850742012-03-14  Leo Yang  <leo.yang@torchmobile.com.cn>
85075
85076        [BlackBerry] Upstream the BlackBerry change to platform/Cursor.h
85077        https://bugs.webkit.org/show_bug.cgi?id=81086
85078
85079        Reviewed by Rob Buis.
85080
85081        * platform/Cursor.h:
85082        (WebCore):
85083        (WebCore::Cursor::Cursor):
85084        Add the BlackBerry specific PlatformCursor.
85085        * platform/blackberry/PageClientBlackBerry.h:
85086        There was an alias named PlatformCursorHandle for PlatformCursor
85087        in the internal version of Cursor.h. But it's not necessary so it's
85088        not included in the upstreaming version of Cursor.h. As a result,
85089        use PlatformCursor directly in this file.
85090        (PageClientBlackBerry):
85091
850922012-03-14  Simon Hausmann  <simon.hausmann@nokia.com>
85093
85094        [Qt] RunLoopQt is missing reentrancy guards
85095        https://bugs.webkit.org/show_bug.cgi?id=80982
85096
85097        Reviewed by Tor Arne Vestbø.
85098
85099        Avoid recursive calls to RunLoop::performWork() with a simple
85100        counting mechanism, to avoid out-of-order message dispatching.
85101
85102        * platform/qt/RunLoopQt.cpp:
85103        (WebCore::RunLoop::TimerObject::TimerObject):
85104        (WebCore::RunLoop::TimerObject::performWork):
85105        (RunLoop::TimerObject):
85106
851072012-03-14  Ilya Tikhonovsky  <loislo@chromium.org>
85108
85109        Web Inspector: small improvement for HeapSnapshot performance ~12%.
85110        https://bugs.webkit.org/show_bug.cgi?id=81033
85111
85112        Reviewed by Yury Semikhatsky.
85113
85114        * inspector/front-end/HeapSnapshot.js:
85115        (WebInspector.HeapSnapshot.prototype.get nodeCount):
85116        (WebInspector.HeapSnapshot.prototype.get maxNodeId):
85117        (WebInspector.HeapSnapshot.prototype._buildReverseIndex):
85118        (WebInspector.HeapSnapshot.prototype.get nodeIndexes):
85119        (WebInspector.HeapSnapshot.prototype._buildNodeIndex):
85120
851212012-03-14  Kentaro Hara  <haraken@chromium.org>
85122
85123        Return null when shouldAllowAccessToNode() fails
85124        https://bugs.webkit.org/show_bug.cgi?id=80205
85125
85126        Reviewed by Adam Barth.
85127
85128        shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
85129        and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
85130        requires that they should return null when the security check fails.
85131        Thus this patch changes the return value from undefined to null.
85132
85133        http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
85134        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
85135
85136        Tests: http/tests/security/local-iFrame-from-remote.html
85137               http/tests/security/cross-frame-access-frameelement.html
85138               http/tests/security/cross-frame-access-put.html
85139
85140        * bindings/scripts/CodeGeneratorJS.pm:
85141        (GenerateImplementation):
85142        * bindings/scripts/CodeGeneratorV8.pm:
85143        (GenerateNormalAttrGetter):
85144        (GenerateFunctionCallback):
85145
85146        * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
85147        (WebCore::jsTestObjContentDocument):
85148        (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
85149        * bindings/scripts/test/V8/V8TestObj.cpp:
85150        (WebCore::TestObjInternal::contentDocumentAttrGetter):
85151        (WebCore::TestObjInternal::getSVGDocumentCallback):
85152
851532012-03-14  Sudarsana Nagineni  <sudarsana.nagineni@linux.intel.com>
85154
85155        Build error: DNSSoup.cpp:30: fatal error: CString.h: No such file or
85156        directory
85157        https://bugs.webkit.org/show_bug.cgi?id=81093
85158
85159        Reviewed by Philippe Normand.
85160
85161        Fix build error introduced by r110669.
85162
85163        * platform/network/soup/DNSSoup.cpp:
85164
851652012-03-14  Marja Hölttä  <marja@google.com>
85166
85167        WebHTTPBody: Keep track of whether the data includes passwords.
85168        https://bugs.webkit.org/show_bug.cgi?id=81003
85169
85170        Reviewed by Darin Fisher.
85171
85172        This change enables Chrome to save HTTP bodies selectively, only
85173        if they don't contain passwords.
85174
85175        * loader/FormSubmission.cpp:
85176        (WebCore::FormSubmission::create): Check if the data contains passwords.
85177        * platform/network/FormData.cpp:
85178        (WebCore::FormData::FormData): Added containsPasswordData, setContainsPasswordData.
85179        * platform/network/FormData.h:
85180        (WebCore::FormData::containsPasswordData): Added.
85181        (WebCore::FormData::setHasPasswordData): Added.
85182        (FormData):
85183
851842012-03-14  Vsevolod Vlasov  <vsevik@chromium.org>
85185
85186        Web Inspector: Add snippets tab to scripts navigator.
85187        https://bugs.webkit.org/show_bug.cgi?id=81018
85188
85189        Reviewed by Pavel Feldman.
85190
85191        * English.lproj/localizedStrings.js:
85192        * inspector/front-end/ScriptsNavigator.js:
85193        (WebInspector.ScriptsNavigator):
85194        (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
85195        (WebInspector.ScriptsNavigator.prototype.focus):
85196        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
85197        (WebInspector.ScriptsNavigator.prototype.reset):
85198        (WebInspector.ScriptsNavigator.prototype._getOrCreateFolderTreeElement):
85199        (WebInspector.ScriptsNavigator.prototype._createFolderTreeElement):
85200        (WebInspector.ScriptsNavigator.prototype._getOrCreateSnippetEvaluationsFolderTreeElement):
85201        (WebInspector.ScriptsNavigator.prototype._scriptFolderIdentifier):
85202        (WebInspector.NavigatorTreeOutline):
85203        * inspector/front-end/ScriptsPanel.js:
85204        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
85205        (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
85206        * inspector/front-end/SnippetsModel.js:
85207
852082012-03-14  Pavel Feldman  <pfeldman@chromium.org>
85209
85210        Web Inspector: Copy on the Console gives a mangled result.
85211        https://bugs.webkit.org/show_bug.cgi?id=81091
85212
85213        Reviewed by Vsevolod Vlasov.
85214
85215        * inspector/front-end/ConsoleMessage.js:
85216        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
85217        (WebInspector.ConsoleMessageImpl.prototype._populateStackTraceTreeElement):
85218
852192012-03-14  Nikolas Zimmermann  <nzimmermann@rim.com>
85220
85221        External <use> xlink:href references do not work
85222        https://bugs.webkit.org/show_bug.cgi?id=12499
85223
85224        Reviewed by Zoltan Herczeg.
85225
85226        Follow-up fix after r110676.
85227        Assertions are firing due last minute changes in isExternalURIReference.
85228
85229        Fix detecting local resources properly, when the given iri contains a /complex/path.
85230        Use document->completeURL() instead, and compare with the document->url() to decide
85231        if its a local reference or not.
85232
85233        If an external document load fails with an error (eg. file missing) don't assert
85234        in debug builds, instead handle it gracefully.
85235
85236        I decided to clean the code up as well, to make it more safe & obvious.
85237
85238        Test: svg/custom/use-external-crash.svg
85239
85240        * svg/SVGURIReference.cpp:
85241        (WebCore::SVGURIReference::targetElementFromIRIString):
85242        * svg/SVGURIReference.h:
85243        (WebCore::SVGURIReference::isExternalURIReference):
85244        * svg/SVGUseElement.cpp:
85245        (WebCore::SVGUseElement::externalDocument):
85246        (WebCore::SVGUseElement::buildPendingResource):
85247
852482012-03-14  Lars Knudsen  <lars.knudsen@nokia.com>
85249
85250        3D transformed surfaces with z>0 gets cropped
85251        https://bugs.webkit.org/show_bug.cgi?id=81009
85252
85253        Reviewed by Noam Rosenthal.
85254
85255        The scissor clipping in TextureMapperGL didn't take 3D transforms 
85256        into account when calculating the clipping region.
85257        Now, it will bail out early if the transform is not affine.
85258
85259        No new tests. Tested by current compositing layout tests.
85260
85261        * platform/graphics/texmap/TextureMapperGL.cpp:
85262        (WebCore::TextureMapperGL::beginScissorClip):
85263
852642012-03-14  Hajime Morrita  <morrita@chromium.org>
85265
85266        Unreviewed build fix.
85267
85268        * html/track/TextTrackList.cpp:
85269        (TextTrackList::append):
85270        (TextTrackList::remove):
85271        (TextTrackList::owner): Changed return type from HTMLMediaElement* to Node* and uninlined.
85272        * html/track/TextTrackList.h:
85273        (TextTrackList):
85274
852752012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>
85276
85277        Web Inspector: [InspectorIndexedDB] Remote object should be released when data view is removed/updated.
85278        https://bugs.webkit.org/show_bug.cgi?id=81022
85279
85280        Reviewed by Pavel Feldman.
85281
85282        * inspector/front-end/IndexedDBViews.js:
85283        (WebInspector.IDBDataView):
85284        (WebInspector.IDBDataView.prototype._updateData.callback):
85285        (WebInspector.IDBDataView.prototype._updateData):
85286        (WebInspector.IDBDataView.prototype.get statusBarItems):
85287        (WebInspector.IDBDataView.prototype.clear):
85288        * inspector/front-end/ResourcesPanel.js:
85289        (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
85290        (WebInspector.IDBDatabaseTreeElement.prototype.update):
85291        (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
85292        (WebInspector.IDBDatabaseTreeElement.prototype._objectStoreRemoved):
85293        (WebInspector.IDBDatabaseTreeElement.prototype.clear):
85294        (WebInspector.IDBObjectStoreTreeElement.prototype.update):
85295        (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
85296        (WebInspector.IDBObjectStoreTreeElement.prototype._indexRemoved):
85297        (WebInspector.IDBObjectStoreTreeElement.prototype.clear):
85298        (WebInspector.IDBIndexTreeElement.prototype.onselect):
85299        (WebInspector.IDBIndexTreeElement.prototype.clear):
85300
853012012-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
85302
85303        Web Inspector: Introduce SnippetsScriptMapping.
85304        https://bugs.webkit.org/show_bug.cgi?id=80890
85305
85306        Reviewed by Pavel Feldman.
85307
85308        * inspector/front-end/ScriptMapping.js:
85309        (WebInspector.MainScriptMapping):
85310        (WebInspector.MainScriptMapping.prototype.addScript):
85311        (WebInspector.MainScriptMapping.prototype._mappingForScript):
85312        * inspector/front-end/SnippetsModel.js:
85313        (WebInspector.SnippetsModel.prototype.snippetForId):
85314        (WebInspector.SnippetsModel.prototype.snippetForSourceURL):
85315        (WebInspector.SnippetsScriptMapping):
85316        (WebInspector.SnippetsScriptMapping.prototype.uiSourceCodeList):
85317        (WebInspector.SnippetsScriptMapping.prototype.addScript):
85318        (WebInspector.SnippetsScriptMapping.prototype._snippetAdded):
85319        (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript.get if):
85320        (WebInspector.SnippetsScriptMapping.prototype._releaseSnippetScript):
85321        (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted.get this):
85322        (WebInspector.SnippetsScriptMapping.prototype._snippetDeleted):
85323        (WebInspector.SnippetsScriptMapping.prototype.reset):
85324        (WebInspector.SnippetContentProvider):
85325
853262012-03-14  Sheriff Bot  <webkit.review.bot@gmail.com>
85327
85328        Unreviewed, rolling out r110673.
85329        http://trac.webkit.org/changeset/110673
85330        https://bugs.webkit.org/show_bug.cgi?id=81090
85331
85332        "Qt minimal build broken" (Requested by yurys on #webkit).
85333
85334        * inspector/CodeGeneratorInspector.py:
85335        (CommandReturnPassModel.ByPointer.get_set_return_condition):
85336        (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
85337        (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
85338        (Generator.process_event):
85339        (Generator.process_command):
85340        * inspector/ContentSearchUtils.cpp:
85341        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
85342        (WebCore::ContentSearchUtils::searchInTextByLines):
85343        * inspector/ContentSearchUtils.h:
85344        (ContentSearchUtils):
85345        * inspector/InjectedScript.cpp:
85346        (WebCore::InjectedScript::evaluate):
85347        (WebCore::InjectedScript::callFunctionOn):
85348        (WebCore::InjectedScript::evaluateOnCallFrame):
85349        (WebCore::InjectedScript::makeEvalCall):
85350        * inspector/InjectedScript.h:
85351        (InjectedScript):
85352        * inspector/InspectorDOMDebuggerAgent.cpp:
85353        (WebCore::InspectorDOMDebuggerAgent::didInvalidateStyleAttr):
85354        (WebCore::InspectorDOMDebuggerAgent::willInsertDOMNode):
85355        (WebCore::InspectorDOMDebuggerAgent::willRemoveDOMNode):
85356        (WebCore::InspectorDOMDebuggerAgent::willModifyDOMAttr):
85357        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
85358        (WebCore::InspectorDOMDebuggerAgent::willSendXMLHttpRequest):
85359        * inspector/InspectorDebuggerAgent.cpp:
85360        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
85361        (WebCore::InspectorDebuggerAgent::setBreakpoint):
85362        (WebCore::InspectorDebuggerAgent::searchInContent):
85363        (WebCore::InspectorDebuggerAgent::setScriptSource):
85364        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
85365        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
85366        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
85367        (WebCore::InspectorDebuggerAgent::didPause):
85368        (WebCore::InspectorDebuggerAgent::breakProgram):
85369        (WebCore::InspectorDebuggerAgent::clearBreakDetails):
85370        * inspector/InspectorDebuggerAgent.h:
85371        (InspectorDebuggerAgent):
85372        * inspector/InspectorPageAgent.cpp:
85373        (WebCore::buildObjectForCookie):
85374        (WebCore::buildArrayForCookies):
85375        (WebCore::InspectorPageAgent::getCookies):
85376        (WebCore::InspectorPageAgent::getResourceTree):
85377        (WebCore::InspectorPageAgent::searchInResource):
85378        (WebCore::InspectorPageAgent::searchInResources):
85379        (WebCore::InspectorPageAgent::buildObjectForFrame):
85380        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
85381        * inspector/InspectorPageAgent.h:
85382        * inspector/InspectorRuntimeAgent.cpp:
85383        (WebCore::InspectorRuntimeAgent::evaluate):
85384        (WebCore::InspectorRuntimeAgent::callFunctionOn):
85385
853862012-03-14  Renata Hodovan  <reni@webkit.org>
85387
85388        External <use> xlink:href references do not work
85389        https://bugs.webkit.org/show_bug.cgi?id=12499
85390
85391        Reviewed by Nikolas Zimmermann.
85392
85393        This is a follow-up patch after r108785.
85394        In this patch we bind the previously introduced CachedSVGDocument class
85395        into the caching mechanism of SVGUseElement. The mode how external resources
85396        are handled is similar to the processing of internal ones. We build the instance
85397        and shadow tree the same way but we have to keep in mind that the requested resources
85398        maybe not loaded yet. We can check it with cachedDocumentIsStillLoading() function.
85399
85400        SVGURIReference::targetElementFromIRIString() also need to be extended. The baseURI
85401        computation needs to take the referenced documents URL into account, instead of the current documents.
85402
85403        The patch affects a lot of tests which have external resources especially in svg/batik. Because
85404        of the size of that test refactor they will be commited in a follow-up patch.
85405
85406        Tests: svg/W3C-SVG-1.2-Tiny/struct-use-recursion-01-t.svg
85407               svg/W3C-SVG-1.2-Tiny/struct-use-recursion-02-t.svg
85408               svg/W3C-SVG-1.2-Tiny/struct-use-recursion-03-t.svg
85409               svg/custom/use-extern-href.svg
85410               svg/custom/use-referencing-an-image-expected.svg
85411               svg/custom/use-referencing-an-image.svg
85412               svg/custom/use-referencing-indirectly-itself-expected.svg
85413               svg/custom/use-referencing-indirectly-itself.svg
85414               svg/custom/use-referencing-itself-expected.svg
85415               svg/custom/use-referencing-itself.svg
85416               svg/dynamic-updates/SVGUseElement-dom-href1-attr.html
85417               svg/dynamic-updates/SVGUseElement-dom-href2-attr.html
85418               svg/dynamic-updates/SVGUseElement-svgdom-href1-prop.html
85419               svg/dynamic-updates/SVGUseElement-svgdom-href2-prop.html
85420
85421        * loader/cache/CachedResourceLoader.cpp:
85422        (WebCore):
85423        (WebCore::CachedResourceLoader::requestSVGDocument):
85424        * loader/cache/CachedResourceLoader.h:
85425        (WebCore):
85426        (CachedResourceLoader):
85427        * page/ContentSecurityPolicy.h:
85428        * platform/KURL.cpp:
85429        (WebCore::equalIgnoringFragmentIdentifier):
85430        * platform/network/chromium/ResourceRequest.h:
85431        * svg/SVGURIReference.cpp:
85432        (WebCore::urlFromIRIStringWithFragmentIdentifier):
85433        (WebCore):
85434        (WebCore::SVGURIReference::targetElementFromIRIString):
85435        * svg/SVGURIReference.h:
85436        (SVGURIReference):
85437        (WebCore::SVGURIReference::isExternalURIReference):
85438        * svg/SVGUseElement.cpp:
85439        (WebCore::SVGUseElement::SVGUseElement):
85440        (WebCore::SVGUseElement::~SVGUseElement):
85441        (WebCore):
85442        (WebCore::SVGUseElement::referencedDocument):
85443        (WebCore::SVGUseElement::externalDocument):
85444        (WebCore::SVGUseElement::svgAttributeChanged):
85445        (WebCore::dumpInstanceTree):
85446        (WebCore::SVGUseElement::buildPendingResource):
85447        (WebCore::SVGUseElement::buildShadowAndInstanceTree):
85448        (WebCore::SVGUseElement::hasCycleUseReferencing):
85449        (WebCore::SVGUseElement::expandUseElementsInShadowTree):
85450        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree):
85451        (WebCore::SVGUseElement::notifyFinished):
85452        (WebCore::SVGUseElement::cachedDocumentIsStillLoading):
85453        (WebCore::SVGUseElement::instanceTreeIsLoading):
85454        * svg/SVGUseElement.h:
85455        (WebCore):
85456        (SVGUseElement):
85457
854582012-03-14  Peter Rybin  <peter.rybin@gmail.com>
85459
85460        Web Inspector: TypeBuilder: Introduce OptOutput class for optional output parameters
85461        https://bugs.webkit.org/show_bug.cgi?id=80789
85462
85463        Reviewed by Yury Semikhatsky.
85464
85465        OptOutput class is added for optional return parameters.
85466
85467        Strict mode added to Generator that makes all parameter types strict
85468        and drop pre-set default values for return parameters.
85469
85470        Debugger and Page domain is switched to strict mode.
85471
85472
85473        * inspector/CodeGeneratorInspector.py:
85474        (CommandReturnPassModel.ByPointer):
85475        (CommandReturnPassModel):
85476        (CommandReturnPassModel.OptOutput):
85477        (CommandReturnPassModel.OptOutput.__init__):
85478        (CommandReturnPassModel.OptOutput.get_return_var_type):
85479        (CommandReturnPassModel.OptOutput.get_output_argument_prefix):
85480        (CommandReturnPassModel.OptOutput.get_output_to_raw_expression):
85481        (CommandReturnPassModel.OptOutput.get_output_parameter_type):
85482        (CommandReturnPassModel.OptOutput.get_set_return_condition):
85483        (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
85484        (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
85485        (OptOutput):
85486        (Generator.process_event):
85487        (Generator.process_command):
85488        * inspector/ContentSearchUtils.cpp:
85489        (WebCore::ContentSearchUtils::buildObjectForSearchMatch):
85490        (WebCore::ContentSearchUtils::searchInTextByLines):
85491        * inspector/ContentSearchUtils.h:
85492        (ContentSearchUtils):
85493        * inspector/InjectedScript.cpp:
85494        (WebCore::InjectedScript::evaluate):
85495        (WebCore::InjectedScript::callFunctionOn):
85496        (WebCore::InjectedScript::evaluateOnCallFrame):
85497        (WebCore::InjectedScript::makeEvalCall):
85498        * inspector/InjectedScript.h:
85499        (InjectedScript):
85500        * inspector/InspectorDOMDebuggerAgent.cpp:
85501        (WebCore):
85502        * inspector/InspectorDebuggerAgent.cpp:
85503        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
85504        (WebCore::InspectorDebuggerAgent::setBreakpoint):
85505        (WebCore::InspectorDebuggerAgent::searchInContent):
85506        (WebCore::InspectorDebuggerAgent::setScriptSource):
85507        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
85508        (WebCore::InspectorDebuggerAgent::schedulePauseOnNextStatement):
85509        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
85510        (WebCore::InspectorDebuggerAgent::didPause):
85511        (WebCore::InspectorDebuggerAgent::breakProgram):
85512        (WebCore::InspectorDebuggerAgent::clearBreakDetails):
85513        * inspector/InspectorDebuggerAgent.h:
85514        (InspectorDebuggerAgent):
85515        * inspector/InspectorPageAgent.cpp:
85516        (WebCore::buildObjectForCookie):
85517        (WebCore::buildArrayForCookies):
85518        (WebCore::InspectorPageAgent::getCookies):
85519        (WebCore::InspectorPageAgent::getResourceTree):
85520        (WebCore::InspectorPageAgent::searchInResource):
85521        (WebCore::InspectorPageAgent::searchInResources):
85522        (WebCore::InspectorPageAgent::buildObjectForFrame):
85523        (WebCore::InspectorPageAgent::buildObjectForFrameTree):
85524        * inspector/InspectorPageAgent.h:
85525        * inspector/InspectorRuntimeAgent.cpp:
85526        (WebCore::InspectorRuntimeAgent::evaluate):
85527        (WebCore::InspectorRuntimeAgent::callFunctionOn):
85528
855292012-03-14  Sergio Villar Senin  <svillar@igalia.com>
85530
85531        Unreviewed. Build fix for EFL after r110669.
85532
85533        * PlatformEfl.cmake: added DNSSoup.cpp
85534
855352012-03-13  Sergio Villar Senin  <svillar@igalia.com>
85536
85537        [GTK] Use the same DNS prefetching path than the other ports.
85538        https://bugs.webkit.org/show_bug.cgi?id=80997
85539
85540        Reviewed by Martin Robinson.
85541
85542        This patch basically reverts r56128. There is no need to add an
85543        special code path for GTK+ DNS pre-fetching because the main
85544        reason to do that (some potential changes in libsoup) is not
85545        going to happen. It also reduces the amount of DNS queries by
85546        adding a NULL hostname check.
85547
85548        No need for new tests as this just moves code around.
85549
85550        * GNUmakefile.list.am:
85551        * html/HTMLAnchorElement.cpp:
85552        (WebCore::HTMLAnchorElement::parseAttribute):
85553        * html/HTMLLinkElement.cpp:
85554        * loader/LinkLoader.cpp:
85555        (WebCore::LinkLoader::loadLink):
85556        * page/Chrome.cpp:
85557        (WebCore::Chrome::mouseDidMoveOverElement):
85558        * platform/network/DNS.h:
85559        (WebCore):
85560        * platform/network/ResourceHandle.cpp:
85561        * platform/network/ResourceHandle.h:
85562        (ResourceHandle):
85563        * platform/network/chromium/DNSChromium.cpp:
85564        * platform/network/soup/DNSSoup.cpp: restored.
85565        (WebCore):
85566        (WebCore::prefetchDNS):
85567        * platform/network/soup/ResourceHandleSoup.cpp:
85568
855692012-03-14  Kentaro Hara  <haraken@chromium.org>
85570
85571        Return null when shouldAllowAccessToNode() fails
85572        https://bugs.webkit.org/show_bug.cgi?id=80205
85573
85574        Reviewed by Adam Barth.
85575
85576        shouldAllowAccessToNode() is used for window.frameElement, HTMLFrameElement.contentDocument,
85577        and getSVGDocument(). The spec of window.frameElement and HTMLFrameElement.contentDocument
85578        requires that they should return null when the security check fails.
85579        Thus this patch changes the return value from undefined to null.
85580
85581        http://www.whatwg.org/specs/web-apps/current-work/multipage/browsers.html#navigating-nested-browsing-contexts-in-the-dom
85582        http://www.whatwg.org/specs/web-apps/current-work/multipage/the-iframe-element.html#dom-iframe-contentdocument
85583
85584        Tests: http/tests/security/local-iFrame-from-remote.html
85585               http/tests/security/cross-frame-access-frameelement.html
85586               http/tests/security/cross-frame-access-put.html
85587
85588        * bindings/scripts/CodeGeneratorJS.pm:
85589        (GenerateImplementation):
85590        * bindings/scripts/CodeGeneratorV8.pm:
85591        (GenerateNormalAttrGetter):
85592        (GenerateFunctionCallback):
85593
85594        * bindings/scripts/test/JS/JSTestObj.cpp: Updated run-bindings-tests results.
85595        (WebCore::jsTestObjContentDocument):
85596        (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
85597        * bindings/scripts/test/V8/V8TestObj.cpp:
85598        (WebCore::TestObjInternal::contentDocumentAttrGetter):
85599        (WebCore::TestObjInternal::getSVGDocumentCallback):
85600
856012012-03-13  Yosifumi Inoue  <yosin@chromium.org>
85602
85603        [Forms] Hidden input element should not have labels. 
85604        https://bugs.webkit.org/show_bug.cgi?id=80403
85605
85606        Reviewed by Kent Tamura.
85607
85608        This patch changes "labels" attribute behavior for hidden input type.
85609        It returns null instead of NodeList of labels or empty node list.
85610
85611        Note: The HTML5 specification isn't clear for non-labelable element's "labels"
85612        attribute return value. Firefox and Opera return empty node list. IE returns null.
85613
85614        No new tests. Existing tests are updated.
85615
85616        * html/HTMLInputElement.cpp:
85617        (WebCore::HTMLInputElement::isLabelable): Added. Dispatch to InputType.
85618        * html/HiddenInputType.h:  Added isLabelable returning false.
85619        * html/InputType.cpp:
85620        (WebCore::InputType::isLabelable): Added. Returning true for all input types except for "hidden" type.
85621        (WebCore):
85622        * html/InputType.h:
85623        (InputType): Added isLabelable declaration.
85624
856252012-03-13  Yosifumi Inoue  <yosin@chromium.org>
85626
85627        [Forms] The "output" element should have labels.
85628        https://bugs.webkit.org/show_bug.cgi?id=80466
85629
85630        Reviewed by Kent Tamura.
85631
85632        This patch enables functionality of "labels" attribute for
85633        HTMLOutputElement implemented in LabelableElement which use
85634        isLabelable predicate whether an element can have label or not.
85635
85636        Update existing tests in fast/forms/label/ directory to cover
85637        the "output" element with the "labels" attribute.
85638
85639        * html/HTMLOutputElement.h: Implement virtual method isLabelable.
85640
856412012-03-13  Luke Macpherson   <macpherson@chromium.org>
85642
85643        Move opacity clamping into RenderStyle setter.
85644        https://bugs.webkit.org/show_bug.cgi?id=76966
85645
85646        Reviewed by Eric Seidel.
85647
85648        Covered by existing tests.
85649
85650        * css/CSSStyleSelector.cpp:
85651        (WebCore::CSSStyleSelector::applyProperty):
85652        * rendering/style/RenderStyle.h:
85653        (WebCore::RenderStyleBitfields::setOpacity):
85654
856552012-03-12  Igor Oliveira  <igor.o@sisa.samsung.com>
85656
85657        Split the extra logic out of RenderObjectChildList::updateBeforeAfterContent
85658        https://bugs.webkit.org/show_bug.cgi?id=80856
85659
85660        Extra part of the generated content handling logic out of RenderObjectChildList::updateBeforeAfterContent
85661
85662        Reviewed by Julien Chaffraix.
85663
85664        No change in behavior expected.
85665
85666        * rendering/RenderObjectChildList.cpp:
85667        (WebCore::RenderObjectChildList::updateBeforeAfterStyle):
85668        (WebCore::createRenderForBeforeAfterContent):
85669        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
85670        * rendering/RenderObjectChildList.h:
85671        (WebCore):
85672        (RenderObjectChildList):
85673
856742012-03-13  Simon Fraser  <simon.fraser@apple.com>
85675
85676        Fix potential crash when loading test results
85677        https://bugs.webkit.org/show_bug.cgi?id=81062
85678        <rdar://problem/11041732>
85679        
85680        Reviewed by Dean Jackson.
85681
85682        If RenderLayerBacking::isSimpleContainerCompositingLayer() is called early,
85683        before the document has a documentElement(), then it crashes. Fix with
85684        a null check on documentElement().
85685        
85686        No test because it's timing dependent.
85687
85688        * rendering/RenderLayerBacking.cpp:
85689        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
85690
856912012-03-13  Dan Bernstein  <mitz@apple.com>
85692
85693        <rdar://problem/11025225> Assertion failure in RenderView::computeRectForRepaint() (!repaintContainer || repaintContainer == this) at store.apple.com
85694        https://bugs.webkit.org/show_bug.cgi?id=81051
85695
85696        Reviewed by Simon Fraser.
85697
85698        Test: ManualTests/inline-repaint-container.html.
85699
85700        * rendering/RenderInline.cpp:
85701        (WebCore::RenderInline::clippedOverflowRectForRepaint): This function was not handling the
85702        case of the repaint container being a descendant of the containing block correctly, leading
85703        to the assertion failure, but also to a correctness bug seen in the new test. If the repaint
85704        container is a descendant of the containing block, just return the rect in the repaint
85705        container coordinates.
85706
857072012-03-13  Dan Bernstein  <mitz@apple.com>
85708
85709        <rdar://problem/11025217> [Mac] Assertion failure in collectComplexTextRunsForCharactersCoreText
85710        https://bugs.webkit.org/show_bug.cgi?id=77044
85711
85712        Reviewed by Sam Weinig.
85713
85714        Test: platform/mac/fast/text/core-text-fallback-to-unknown-font.html
85715
85716        Handle the case of Core Text choosing a fallback font that NSFontManager cannot find by name.
85717
85718        * platform/graphics/FontCache.h:
85719        (FontCache): Made ComplexTextController a friend class.
85720        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
85721        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): Removed the
85722        failing assertion, which was not true, and added code to handle the case where a font
85723        cannot be found by name by using the font as returned from Core Text.
85724
857252012-03-13  Erik Arvidsson  <arv@chromium.org>
85726
85727        [V8] Use v8::V8::AddImplicitReferences instead of SetHiddenValue
85728        https://bugs.webkit.org/show_bug.cgi?id=80880
85729
85730        Reviewed by Adam Barth.
85731
85732        We used to add a hidden property in the getter to the returned wrapper.
85733        With this patch we instead handle the liveness of the wrapper in the GC phase by
85734        calling v8::V8::AddHiddenReference.
85735
85736        To reduce the amount of custom code we need, the V8 code generator now supports
85737        GenerateIsReachable (as well as CustomIsReachable) which, even though different
85738        from the JSC attribute, is used in the same cases and takes the same values (even though
85739        at the moment not all JSC values are supported by V8). Interfaces that have *IsReachable
85740        also have a dependent life time (just like if V8DependentLifetime was present).
85741
85742        Second try. This time with an added include in TextTrackList.cpp.
85743
85744        No new tests. Covered by existing tests.
85745
85746        * Target.pri:
85747        * UseV8.cmake:
85748        * WebCore.gypi:
85749        * bindings/scripts/CodeGeneratorJS.pm:
85750        (GetGenerateIsReachable):
85751        (GetCustomIsReachable):
85752        (GenerateHeader):
85753        (GenerateImplementation):
85754        * bindings/scripts/CodeGeneratorV8.pm:
85755        (NeedsToVisitDOMWrapper):
85756        (GetGenerateIsReachable):
85757        (GetCustomIsReachable):
85758        (GenerateVisitDOMWrapper):
85759        (GenerateHeader):
85760        (GenerateNamedConstructorCallback):
85761        (GenerateImplementation):
85762        * bindings/scripts/IDLAttributes.txt:
85763        * bindings/scripts/test/V8/V8Float64Array.cpp:
85764        (WebCore):
85765        * bindings/scripts/test/V8/V8Float64Array.h:
85766        (V8Float64Array):
85767        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
85768        (WebCore):
85769        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
85770        (V8TestActiveDOMObject):
85771        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
85772        (WebCore):
85773        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
85774        (V8TestCustomNamedGetter):
85775        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
85776        (WebCore):
85777        * bindings/scripts/test/V8/V8TestEventConstructor.h:
85778        (V8TestEventConstructor):
85779        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
85780        (WebCore):
85781        * bindings/scripts/test/V8/V8TestEventTarget.h:
85782        (V8TestEventTarget):
85783        * bindings/scripts/test/V8/V8TestInterface.cpp:
85784        (WebCore):
85785        * bindings/scripts/test/V8/V8TestInterface.h:
85786        (V8TestInterface):
85787        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
85788        (WebCore):
85789        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
85790        (V8TestMediaQueryListListener):
85791        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
85792        (WebCore):
85793        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
85794        (V8TestNamedConstructor):
85795        * bindings/scripts/test/V8/V8TestObj.cpp:
85796        (WebCore):
85797        * bindings/scripts/test/V8/V8TestObj.h:
85798        (V8TestObj):
85799        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
85800        (WebCore):
85801        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
85802        (V8TestSerializedScriptValueInterface):
85803        * bindings/v8/NPV8Object.cpp:
85804        (WebCore::npObjectTypeInfo):
85805        * bindings/v8/V8GCController.cpp:
85806        (WebCore::GrouperVisitor::visitDOMWrapper):
85807        * bindings/v8/WrapperTypeInfo.h:
85808        (WebCore):
85809        (WrapperTypeInfo):
85810        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
85811        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
85812        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
85813        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
85814        (WebCore):
85815        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
85816        * bindings/v8/custom/V8StyleSheetCustom.cpp:
85817        (WebCore::toV8):
85818        * css/CSSStyleSheet.idl:
85819        * css/StyleSheet.idl:
85820        * dom/DOMStringMap.idl:
85821        * dom/NamedNodeMap.idl:
85822        * html/DOMTokenList.idl:
85823        * html/track/TextTrackList.cpp:
85824        * html/track/TextTrackList.idl:
85825
858262012-03-13  Jacky Jiang  <zhajiang@rim.com>
85827
85828        MathML crash in WebCore::Node::previousSibling()
85829        https://bugs.webkit.org/show_bug.cgi?id=80773
85830
85831        Reviewed by Julien Chaffraix.
85832
85833        When adding child for msub render, if the child is mtr or mtd render,
85834        we will creat an anonymous render as the container. As the anonymous
85835        render's node is 0, accessing it directly can cause crash.
85836        We should do a valid check of the node before using. In addition to
85837        that, for msub, attach the anonymous render and it's children to render
85838        tree. For msubsup, such kind of situation should never happen based on
85839        the current codebase.
85840
85841        Test: mathml/msub-anonymous-child-render-crash.html
85842
85843        * rendering/mathml/RenderMathMLSubSup.cpp:
85844        (WebCore::RenderMathMLSubSup::addChild):
85845
858462012-03-13  Mihnea Ovidenie  <mihnea@adobe.com>
85847
85848        [CSSRegions]NamedFlow::getRegionsByContentNode should not return a live NodeList
85849        https://bugs.webkit.org/show_bug.cgi?id=81021
85850
85851        Reviewed by Ryosuke Niwa.
85852
85853        Reverting the original patch as we need a better solution.
85854
85855        * CMakeLists.txt:
85856        * GNUmakefile.list.am:
85857        * Target.pri:
85858        * WebCore.gypi:
85859        * WebCore.vcproj/WebCore.vcproj:
85860        * WebCore.xcodeproj/project.pbxproj:
85861        * dom/Node.cpp:
85862        (WebCore::NodeListsNodeData::invalidateCaches):
85863        (WebCore::NodeListsNodeData::isEmpty):
85864        * dom/Node.h:
85865        (Node):
85866        * dom/NodeRareData.h:
85867        (NodeListsNodeData):
85868        * dom/RegionNodeList.cpp: Removed.
85869        * dom/RegionNodeList.h: Removed.
85870        * dom/WebKitNamedFlow.cpp:
85871        * dom/WebKitNamedFlow.h:
85872        (WebKitNamedFlow):
85873        * dom/WebKitNamedFlow.idl:
85874        * rendering/RenderFlowThread.cpp:
85875        * rendering/RenderFlowThread.h:
85876        * rendering/RenderRegion.h:
85877        (RenderRegion):
85878
858792012-03-13  Shawn Singh  <shawnsingh@chromium.org>
85880
85881        [chromium] wrong transform causing incorrect culling
85882        https://bugs.webkit.org/show_bug.cgi?id=80471
85883
85884        Reviewed by James Robinson.
85885
85886        Unit test added to CCRenderSurfaceTest.cpp
85887
85888        In addition to using originTransform() instead of drawTransform(),
85889        this patch shuffles a bit of code so that a unit test can be
85890        easily added.
85891
85892        * platform/graphics/chromium/cc/CCRenderPass.cpp:
85893        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
85894        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
85895        (WebCore::CCRenderSurface::createSharedQuadState):
85896        (WebCore):
85897        * platform/graphics/chromium/cc/CCRenderSurface.h:
85898        (CCRenderSurface):
85899
859002012-03-13  Dave Tharp  <dtharp@codeaurora.org>
85901
85902        Alternate xml-stylesheets with no title are loaded, in violation of the CSSOM draft
85903        https://bugs.webkit.org/show_bug.cgi?id=77549
85904
85905        Reviewed by David Hyatt.
85906
85907        Amended code to ignore alternate stylesheets that do not have a title attribute.
85908
85909        Test: fast/css/xml-stylesheet-alternate-no-title.xhtml
85910
85911        * dom/ProcessingInstruction.cpp:
85912        (WebCore::ProcessingInstruction::checkStyleSheet):
85913
859142012-03-13  Levi Weintraub  <leviw@chromium.org>
85915
85916        Revert RenderLayer::absoluteBoundingBox to an IntRect
85917        https://bugs.webkit.org/show_bug.cgi?id=81017
85918
85919        Reviewed by Eric Seidel.
85920
85921        Reverting RenderLayer::absoluteBoundingBox to an (pixel snapped) IntRect. Whenever
85922        possible, we use integers representing for absolute coordinates. This is especially
85923        relevant for methods, such as this one, that are exported and used in platform code.
85924
85925        No new tests. No change in behavior.
85926
85927        * rendering/RenderLayer.cpp:
85928        (WebCore::RenderLayer::absoluteBoundingBox):
85929        * rendering/RenderLayer.h:
85930        (RenderLayer):
85931        * rendering/RenderLayerCompositor.cpp:
85932        (WebCore::RenderLayerCompositor::requiresCompositingForPosition): This intersects
85933        the absolute bounding box with the FrameView, which uses all integer values. It's
85934        the only use of absoluteBoundingBox in WebCore.
85935
859362012-03-13  Nat Duca  <nduca@chromium.org>
85937
85938        [chromium] vsync ticks are needed in invisible tabs when we are still updating resources
85939        https://bugs.webkit.org/show_bug.cgi?id=80910
85940
85941        Reviewed by James Robinson.
85942
85943        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
85944        (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
85945
859462012-03-13  Dave Tharp  <dtharp@codeaurora.org>
85947
85948        Alternate stylesheets (without title attribute) are loaded on refresh
85949        https://bugs.webkit.org/show_bug.cgi?id=24354
85950
85951        Reviewed by David Hyatt.
85952
85953        Alternate stylesheets are now ignored in <link> tags if 
85954        they have no title attribute (per spec).
85955
85956        Tests: fast/css/link-alternate-stylesheet-1.html
85957               fast/css/link-alternate-stylesheet-2.html
85958               fast/css/link-alternate-stylesheet-3.html
85959               fast/css/link-alternate-stylesheet-4.html
85960               fast/css/link-alternate-stylesheet-5.html
85961
85962        * dom/Document.cpp:
85963        (WebCore::Document::collectActiveStylesheets):
85964
859652012-03-13  Dana Jansens  <danakj@chromium.org>
85966
85967        Region::contains(IntPoint) is slow
85968        https://bugs.webkit.org/show_bug.cgi?id=81008
85969
85970        Reviewed by Anders Carlsson.
85971
85972        Speed up Region::contains(IntPoint) by directly testing if the point
85973        is inside the Region's shape, rather than using a temporary 1x1 Region
85974        for the test.
85975
85976        Unit test: RegionTest.containsPoint
85977
85978        * platform/graphics/Region.cpp:
85979        (WebCore::Region::contains):
85980
859812012-03-13  Adrienne Walker  <enne@google.com>
85982
85983        [chromium] Mark root layer scrollbars as always opaque to disable blending
85984        https://bugs.webkit.org/show_bug.cgi?id=79951
85985
85986        Reviewed by James Robinson.
85987
85988        Now that scrollbar layers exist, mark non-overlay root scrollbars as
85989        opaque. This disables blending for correctness and performance.
85990
85991        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
85992        (WebCore::scrollbarLayerDidChange):
85993        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
85994        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
85995        * platform/graphics/chromium/LayerRendererChromium.cpp:
85996        (WebCore::LayerRendererChromium::drawTileQuad):
85997
859982012-03-13  Gavin Peters  <gavinp@chromium.org>
85999
86000        Remove vestigal abortEvent from image attribute.
86001        https://bugs.webkit.org/show_bug.cgi?id=80795
86002
86003        Reviewed by Adam Barth.
86004
86005        It seems we installed a listener for the abort event on images,
86006        but never ever raised them.  So this patch removes it.  This could
86007        cause different behaviour if the user sends abort events directly
86008        at an image element, although addEventListener will still work.
86009
86010        * html/HTMLImageElement.cpp:
86011        (WebCore::HTMLImageElement::parseAttribute):
86012
860132012-03-13  Nate Chapin  <japhet@chromium.org>
86014
86015        Rework how a CachedRawResource decides if it can be reused
86016        for a given ResourceRequest. Ensure method, body, cookie policy,
86017        and all headers match.
86018        http://bugs.webkit.org/show_bug.cgi?id=79325
86019
86020        Reviewed by Oliver Hunt.
86021
86022        Test: http/tests/cache/xhr-body.html
86023
86024        * loader/cache/CachedRawResource.cpp:
86025        (WebCore::CachedRawResource::canReuse):
86026        * loader/cache/CachedRawResource.h: Take a ResourceRequest in canReuse().
86027        * loader/cache/CachedResourceLoader.cpp:
86028        (WebCore::CachedResourceLoader::determineRevalidationPolicy): Remove Range header
86029            check, since it is now redundant.
86030
860312012-03-13  Rob Buis  <rbuis@rim.com>
86032
86033        Fix cast-align GCC warning
86034        https://bugs.webkit.org/show_bug.cgi?id=80790
86035
86036        Reviewed by Dan Bates.
86037
86038        This touches unpackOneRowOfBGRA8ToRGBA8.
86039
86040        * platform/graphics/GraphicsContext3D.cpp:
86041        (WebCore):
86042
860432012-03-12  Simon Fraser  <simon.fraser@apple.com>
86044
86045        Refactor some code that is used to check whether a layer needs backing store
86046        https://bugs.webkit.org/show_bug.cgi?id=80917
86047
86048        Reviewed by Dean Jackson.
86049
86050        Move some code out of isSimpleContainerCompositingLayer() in two new
86051        methods to make the code more self-descriptive.
86052        
86053        No behavior change, so no tests.
86054
86055        * rendering/RenderLayerBacking.cpp:
86056        (WebCore::RenderLayerBacking::paintsBoxDecorations):
86057        (WebCore::RenderLayerBacking::paintsChildren):
86058        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
86059        * rendering/RenderLayerBacking.h:
86060        (RenderLayerBacking):
86061
860622012-03-13  Daniel Bates  <dbates@webkit.org>
86063
86064        REGRESSION(r99369): File input button doesn't highlight when pressed
86065        https://bugs.webkit.org/show_bug.cgi?id=79385
86066
86067        Reviewed by Kent Tamura.
86068
86069        Fixes an issue where the file input button doesn't highlight on mouse press.
86070
86071        Currently we always override the active state of the button with whether
86072        a dragged file is being hovered over the file input control (i.e. can the control
86073        receive a dropped file; HTMLInputElement::canReceiveDroppedFiles()).
86074        Instead, we should only override the active state of the button when the state
86075        changes for whether we can receive dropped files (e.g. during a drag) so that
86076        we honor the active state of the button when it is pressed.
86077
86078        Test: fast/forms/file/file-input-pressed-state.html
86079
86080        * rendering/RenderFileUploadControl.cpp:
86081        (WebCore::RenderFileUploadControl::RenderFileUploadControl):
86082        (WebCore::RenderFileUploadControl::updateFromElement):
86083        * rendering/RenderFileUploadControl.h:
86084        (RenderFileUploadControl):
86085
860862012-03-13  Dana Jansens  <danakj@chromium.org>
86087
86088        [chromium] Use CCOcclusionTracker for draw culling
86089        https://bugs.webkit.org/show_bug.cgi?id=80743
86090
86091        Reviewed by Adrienne Walker.
86092
86093        In this CL we enable the use of CCOcclusionTracker for draw-side
86094        culling. This means moving from a per-quad culling model to a
86095        per-layer model.
86096
86097        When calculating RenderPasses, we construct the set of passes,
86098        then iterate over layers in front-to-back order. We make
86099        CCQuadCuller instantiable, and pass it to the layer
86100        appendQuads() methods instead of the bare list, where it can
86101        filter quads before the end up in the list.
86102
86103        Covered by existing tests.
86104
86105        * platform/graphics/chromium/LayerRendererChromium.cpp:
86106        (WebCore::LayerRendererChromium::drawRenderPass):
86107        * platform/graphics/chromium/LayerRendererChromium.h:
86108        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
86109        (WebCore::CCCanvasLayerImpl::appendQuads):
86110        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
86111        (CCCanvasLayerImpl):
86112        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
86113        (WebCore::CCLayerImpl::appendQuads):
86114        (WebCore::CCLayerImpl::appendGutterQuads):
86115        (WebCore::CCLayerImpl::appendDebugBorderQuad):
86116        * platform/graphics/chromium/cc/CCLayerImpl.h:
86117        (WebCore):
86118        (CCLayerImpl):
86119        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
86120        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
86121        (WebCore::CCLayerTreeHostImpl::drawLayers):
86122        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
86123        (CCLayerTreeHostImpl):
86124        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
86125        (WebCore::CCPluginLayerImpl::appendQuads):
86126        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
86127        (CCPluginLayerImpl):
86128        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
86129        (WebCore::CCQuadCuller::CCQuadCuller):
86130        (WebCore::CCQuadCuller::append):
86131        * platform/graphics/chromium/cc/CCQuadCuller.h:
86132        (WebCore):
86133        (CCQuadCuller):
86134        * platform/graphics/chromium/cc/CCRenderPass.cpp:
86135        (WebCore::CCRenderPass::appendQuadsForLayer):
86136        * platform/graphics/chromium/cc/CCRenderPass.h:
86137        (WebCore):
86138        (CCQuadList):
86139        (WebCore::CCQuadList::backToFrontBegin):
86140        (WebCore::CCQuadList::backToFrontEnd):
86141        (CCRenderPass):
86142        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp:
86143        (WebCore::CCScrollbarLayerImpl::appendQuads):
86144        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h:
86145        (CCScrollbarLayerImpl):
86146        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp:
86147        (WebCore::CCSolidColorLayerImpl::appendQuads):
86148        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
86149        (CCSolidColorLayerImpl):
86150        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
86151        (WebCore::CCTiledLayerImpl::appendQuads):
86152        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
86153        (CCTiledLayerImpl):
86154        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
86155        (WebCore::CCVideoLayerImpl::appendQuads):
86156        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
86157        (CCVideoLayerImpl):
86158
861592012-03-13  Adam Barth  <abarth@webkit.org> && Benjamin Poulain  <bpoulain@apple.com>
86160
86161        Always enable ENABLE(CLIENT_BASED_GEOLOCATION)
86162        https://bugs.webkit.org/show_bug.cgi?id=78853
86163
86164        Reviewed by Adam Barth.
86165
86166        * CMakeLists.txt:
86167        * Configurations/FeatureDefines.xcconfig:
86168        * GNUmakefile.am:
86169        * GNUmakefile.list.am:
86170        * Modules/geolocation/Geolocation.cpp:
86171        (WebCore):
86172        (WebCore::createPositionError):
86173        (WebCore::Geolocation::Geolocation):
86174        (WebCore::Geolocation::stop):
86175        (WebCore::Geolocation::lastPosition):
86176        (WebCore::Geolocation::requestPermission):
86177        (WebCore::Geolocation::startUpdating):
86178        (WebCore::Geolocation::stopUpdating):
86179        * Modules/geolocation/Geolocation.h:
86180        (WebCore):
86181        (Geolocation):
86182        * Modules/geolocation/GeolocationController.cpp:
86183        * Modules/geolocation/GeolocationController.h:
86184        * Modules/geolocation/GeolocationError.h:
86185        * Modules/geolocation/GeolocationPosition.h:
86186        * Target.pri:
86187        * WebCore.exp.in:
86188        * WebCore.gypi:
86189        * WebCore.vcproj/WebCore.vcproj:
86190        * bindings/js/JSGeolocationCustom.cpp:
86191        * loader/EmptyClients.h:
86192        (EmptyChromeClient):
86193        * page/ChromeClient.h:
86194        (ChromeClient):
86195        * page/Page.cpp:
86196        (WebCore::Page::Page):
86197        * page/Page.h:
86198        (Page):
86199        * platform/GeolocationService.cpp: Removed.
86200        * platform/GeolocationService.h: Removed.
86201        * platform/mock/GeolocationClientMock.cpp:
86202        * platform/mock/GeolocationClientMock.h:
86203        * platform/mock/GeolocationServiceMock.cpp: Removed.
86204        * platform/mock/GeolocationServiceMock.h: Removed.
86205
862062012-03-12  Antonio Gomes  <agomes@rim.com>
86207
86208        Convert nodesFromRect tests to use Internals interface
86209        https://bugs.webkit.org/show_bug.cgi?id=80886
86210
86211        Reviewed by Ryosuke Niwa.
86212
86213        Add Internals::nodesFromRect implementation to unify
86214        the codepath for testing Document::nodesFromRect in a
86215        cross port way.
86216
86217        No new tests, since we are improving here the infra-structure
86218        for testing a specific method.
86219
86220        * testing/Internals.cpp:
86221        (WebCore::Internals::nodesFromRect):
86222        (WebCore):
86223        * testing/Internals.h:
86224        (Internals):
86225        * testing/Internals.idl:
86226
862272012-03-13  Philip Rogers  <pdr@google.com>
86228
86229        Fix the use of stale text fragments
86230        https://bugs.webkit.org/show_bug.cgi?id=80729
86231
86232        Reviewed by Nikolas Zimmermann.
86233
86234        Previously, we were allowing SVGTextFragments to get out of sync with the
86235        actual text in RenderSVGInlineTextBox. This patch reuses the dirty line
86236        box code in RenderText::setTextWithOffset to force
86237        clearTextFragments() when setTextWithOffset is called, preventing the use
86238        of stale SVGTextFragments.
86239
86240        Test: svg/custom/delete-text-crash.html
86241
86242        * rendering/InlineBox.h:
86243        (InlineBox):
86244        * rendering/svg/SVGInlineTextBox.cpp:
86245        (WebCore::SVGInlineTextBox::dirtyLineBoxes):
86246        (WebCore):
86247        * rendering/svg/SVGInlineTextBox.h:
86248        (SVGInlineTextBox):
86249
862502012-03-13  Nikolas Zimmermann  <nzimmermann@rim.com>
86251
86252        SVG Animations update baseVal instead of animVal
86253        https://bugs.webkit.org/show_bug.cgi?id=12437
86254
86255        Reviewed by Dirk Schulze.
86256
86257        Blind fix for some GC related assertions firing on v8.
86258
86259        Assure that animationStarted/animationEnded calls are happening
86260        on the same SVGAnimatedProperty. Always call animationEnded(),
86261        even if we shouldn't do anything for the target element, as its
86262        destructed, as we still have to reset m_isAnimating.
86263
86264        * svg/SVGAnimateElement.cpp:
86265        (WebCore::SVGAnimateElement::SVGAnimateElement):
86266        (WebCore::SVGAnimateElement::resetToBaseValue):
86267        (WebCore::SVGAnimateElement::targetElementWillChange):
86268        * svg/SVGAnimateElement.h:
86269        (SVGAnimateElement):
86270        * svg/properties/SVGAnimatedPropertyTearOff.h:
86271        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
86272
862732012-03-13  Mark Pilgrim  <pilgrim@chromium.org>
86274
86275        Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
86276        https://bugs.webkit.org/show_bug.cgi?id=80625
86277
86278        Reviewed by Adam Barth.
86279
86280        No new tests, all existing tests pass.
86281
86282        * CMakeLists.txt:
86283        * DerivedSources.make:
86284        * DerivedSources.pri:
86285        * GNUmakefile.am:
86286        * GNUmakefile.list.am:
86287        * Modules/filesystem: Added.
86288        * Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
86289        * Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
86290        * Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
86291        * Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
86292        * Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
86293        * Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
86294        * Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
86295        * Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
86296        * Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
86297        * Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
86298        * Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
86299        * Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
86300        * Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
86301        * Target.pri:
86302        * WebCore.gyp/WebCore.gyp:
86303        * WebCore.gypi:
86304        * WebCore.pri:
86305        * WebCore.vcproj/WebCore.vcproj:
86306        * WebCore.xcodeproj/project.pbxproj:
86307        * fileapi/DirectoryEntry.cpp: Removed.
86308        * fileapi/DirectoryEntry.h: Removed.
86309        * fileapi/DirectoryEntry.idl: Removed.
86310        * fileapi/DirectoryEntrySync.cpp: Removed.
86311        * fileapi/DirectoryEntrySync.h: Removed.
86312        * fileapi/DirectoryEntrySync.idl: Removed.
86313        * fileapi/DirectoryReader.cpp: Removed.
86314        * fileapi/DirectoryReader.h: Removed.
86315        * fileapi/DirectoryReader.idl: Removed.
86316        * fileapi/DirectoryReaderBase.h: Removed.
86317        * fileapi/DirectoryReaderSync.cpp: Removed.
86318        * fileapi/DirectoryReaderSync.h: Removed.
86319        * fileapi/DirectoryReaderSync.idl: Removed.
86320
863212012-03-13  Igor Oliveira  <igor.o@sisa.samsung.com>
86322
86323        animation-iteration-count does not handle floating point values correctly.
86324        https://bugs.webkit.org/show_bug.cgi?id=69531
86325
86326        Implements support for non-integers animation-iteration-count numbers.
86327        Non-integer numbers will cause the animation to end part-way through a cycle.
86328
86329        Reviewed by Dean Jackson.
86330
86331        Tests: animations/fill-mode-iteration-count-non-integer.html
86332               animations/keyframes-iteration-count-non-integer.html
86333
86334        * css/CSSComputedStyleDeclaration.cpp:
86335        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
86336        * css/CSSParser.cpp:
86337        (WebCore::CSSParser::parseAnimationIterationCount):
86338        * css/CSSStyleApplyProperty.cpp:
86339        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
86340        * css/CSSStyleSelector.cpp:
86341        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
86342        * page/animation/AnimationBase.cpp:
86343        (WebCore::AnimationBase::fractionalTime):
86344        (WebCore::AnimationBase::progress):
86345        * page/animation/CompositeAnimation.cpp:
86346        (WebCore::CompositeAnimation::pauseAnimationAtTime):
86347        * platform/animation/Animation.h:
86348        (WebCore::Animation::iterationCount):
86349        (WebCore::Animation::setIterationCount):
86350        (Animation):
86351        (WebCore::Animation::initialAnimationIterationCount):
86352
863532012-03-13  Tommy Widenflycht  <tommyw@google.com>
86354
86355        MediaStream API: Rename PeerConnection to DeprecatedPeerConnection
86356        https://bugs.webkit.org/show_bug.cgi?id=80692
86357
86358        Reviewed by Adam Barth.
86359
86360        First patch in a series of patches to change the PeerConnection from ROAP to JSEP,
86361        see bug 80589 for more information.
86362
86363        Patch covered by modified existing tests.
86364
86365        * GNUmakefile.list.am:
86366        * Modules/mediastream/DOMWindowMediaStream.idl:
86367        * Modules/mediastream/DeprecatedPeerConnection.cpp: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.cpp.
86368        (WebCore):
86369        (WebCore::DeprecatedPeerConnection::create):
86370        (WebCore::DeprecatedPeerConnection::DeprecatedPeerConnection):
86371        (WebCore::DeprecatedPeerConnection::~DeprecatedPeerConnection):
86372        (WebCore::DeprecatedPeerConnection::processSignalingMessage):
86373        (WebCore::DeprecatedPeerConnection::readyState):
86374        (WebCore::DeprecatedPeerConnection::send):
86375        (WebCore::DeprecatedPeerConnection::addStream):
86376        (WebCore::DeprecatedPeerConnection::removeStream):
86377        (WebCore::DeprecatedPeerConnection::localStreams):
86378        (WebCore::DeprecatedPeerConnection::remoteStreams):
86379        (WebCore::DeprecatedPeerConnection::close):
86380        (WebCore::DeprecatedPeerConnection::didCompleteICEProcessing):
86381        (WebCore::DeprecatedPeerConnection::didGenerateSDP):
86382        (WebCore::DeprecatedPeerConnection::didReceiveDataStreamMessage):
86383        (WebCore::DeprecatedPeerConnection::didAddRemoteStream):
86384        (WebCore::DeprecatedPeerConnection::didRemoveRemoteStream):
86385        (WebCore::DeprecatedPeerConnection::interfaceName):
86386        (WebCore::DeprecatedPeerConnection::scriptExecutionContext):
86387        (WebCore::DeprecatedPeerConnection::stop):
86388        (WebCore::DeprecatedPeerConnection::eventTargetData):
86389        (WebCore::DeprecatedPeerConnection::ensureEventTargetData):
86390        (WebCore::DeprecatedPeerConnection::scheduleInitialNegotiation):
86391        (WebCore::DeprecatedPeerConnection::initialNegotiationTimerFired):
86392        (WebCore::DeprecatedPeerConnection::ensureStreamChangeScheduled):
86393        (WebCore::DeprecatedPeerConnection::streamChangeTimerFired):
86394        (WebCore::DeprecatedPeerConnection::scheduleReadyStateChange):
86395        (WebCore::DeprecatedPeerConnection::readyStateChangeTimerFired):
86396        (WebCore::DeprecatedPeerConnection::changeReadyState):
86397        * Modules/mediastream/DeprecatedPeerConnection.h: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.h.
86398        (WebCore):
86399        (DeprecatedPeerConnection):
86400        (WebCore::DeprecatedPeerConnection::didChangeState):
86401        (WebCore::DeprecatedPeerConnection::refEventTarget):
86402        (WebCore::DeprecatedPeerConnection::derefEventTarget):
86403        * Modules/mediastream/DeprecatedPeerConnection.idl: Renamed from Source/WebCore/Modules/mediastream/PeerConnection.idl.
86404        * Modules/mediastream/SignalingCallback.h:
86405        (WebCore):
86406        (SignalingCallback):
86407        * Modules/mediastream/SignalingCallback.idl:
86408        * WebCore.gypi:
86409        * bindings/generic/RuntimeEnabledFeatures.h:
86410        (WebCore::RuntimeEnabledFeatures::webkitDeprecatedPeerConnectionEnabled):
86411        * bindings/js/JSDeprecatedPeerConnectionCustom.cpp: Renamed from Source/WebCore/bindings/js/JSPeerConnectionCustom.cpp.
86412        (WebCore):
86413        (WebCore::JSDeprecatedPeerConnectionConstructor::constructJSDeprecatedPeerConnection):
86414        * dom/EventTarget.h:
86415        (WebCore):
86416        * dom/EventTargetFactory.in:
86417        * platform/mediastream/DeprecatedPeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandler.h.
86418        (WebCore):
86419        (DeprecatedPeerConnectionHandler):
86420        * platform/mediastream/DeprecatedPeerConnectionHandlerClient.h: Renamed from Source/WebCore/platform/mediastream/PeerConnectionHandlerClient.h.
86421        (WebCore):
86422        (DeprecatedPeerConnectionHandlerClient):
86423        (WebCore::DeprecatedPeerConnectionHandlerClient::~DeprecatedPeerConnectionHandlerClient):
86424        * platform/mediastream/gstreamer/DeprecatedPeerConnectionHandler.cpp: Renamed from Source/WebCore/platform/mediastream/gstreamer/PeerConnectionHandler.cpp.
86425        (WebCore):
86426        (WebCore::DeprecatedPeerConnectionHandler::create):
86427        (WebCore::DeprecatedPeerConnectionHandler::DeprecatedPeerConnectionHandler):
86428        (WebCore::DeprecatedPeerConnectionHandler::~DeprecatedPeerConnectionHandler):
86429        (WebCore::DeprecatedPeerConnectionHandler::produceInitialOffer):
86430        (WebCore::DeprecatedPeerConnectionHandler::handleInitialOffer):
86431        (WebCore::DeprecatedPeerConnectionHandler::processSDP):
86432        (WebCore::DeprecatedPeerConnectionHandler::processPendingStreams):
86433        (WebCore::DeprecatedPeerConnectionHandler::sendDataStreamMessage):
86434        (WebCore::DeprecatedPeerConnectionHandler::stop):
86435
864362012-03-13  Pavel Feldman  <pfeldman@chromium.org>
86437
86438        Web Inspector: front-end compilation was broken while supporting large arrays.
86439        https://bugs.webkit.org/show_bug.cgi?id=81013
86440
86441        Reviewed by Vsevolod Vlasov.
86442
86443        * inspector/front-end/ExtensionPanel.js:
86444        * inspector/front-end/ObjectPropertiesSection.js:
86445        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
86446        * inspector/front-end/RemoteObject.js:
86447
864482012-03-13  Tony Chang  <tony@chromium.org>
86449
86450        flexbox's computePreferredLogicalWidth needs to take multiline into account
86451        https://bugs.webkit.org/show_bug.cgi?id=80931
86452
86453        Reviewed by Ojan Vafai.
86454
86455        Tests: css3/flexbox/multiline-shrink-to-fit-expected.html
86456               css3/flexbox/multiline-shrink-to-fit.html
86457
86458        * rendering/RenderFlexibleBox.cpp:
86459        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths): Set min/max preferredLogicalWidth based on always breaking or never breaking.
86460        (WebCore::RenderFlexibleBox::computeNextFlexLine): Add a FIXME.
86461        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Don't change the width after computePreferredWidth has been called.
86462
864632012-03-13  Sheriff Bot  <webkit.review.bot@gmail.com>
86464
86465        Unreviewed, rolling out r110469.
86466        http://trac.webkit.org/changeset/110469
86467        https://bugs.webkit.org/show_bug.cgi?id=81010
86468
86469        This patch still appears to crash (Requested by abarth on
86470        #webkit).
86471
86472        * page/FrameView.cpp:
86473        (WebCore::FrameView::FrameView):
86474        (WebCore::FrameView::reset):
86475        (WebCore::FrameView::repaintContentRectangle):
86476        (WebCore):
86477        (WebCore::FrameView::endDeferredRepaints):
86478        (WebCore::FrameView::doDeferredRepaints):
86479        (WebCore::FrameView::deferredRepaintTimerFired):
86480        * page/FrameView.h:
86481        (FrameView):
86482        * rendering/RenderView.cpp:
86483        (WebCore::RenderView::shouldRepaint):
86484        * svg/graphics/SVGImage.cpp:
86485        (WebCore::SVGImage::drawSVGToImageBuffer):
86486        (WebCore::SVGImage::draw):
86487        * svg/graphics/SVGImage.h:
86488        * svg/graphics/SVGImageCache.cpp:
86489        (WebCore::SVGImageCache::imageContentChanged):
86490        (WebCore::SVGImageCache::redrawTimerFired):
86491        * svg/graphics/SVGImageCache.h:
86492        (SVGImageCache):
86493
864942012-03-13  Max Vujovic  <mvujovic@adobe.com>
86495
86496        Add a method to window.internals to enable testing of inspector highlight rects
86497        https://bugs.webkit.org/show_bug.cgi?id=80338
86498
86499        Reviewed by Pavel Feldman.
86500
86501        Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
86502        positions and sizes of inspector highlight rects.
86503
86504        Test: inspector/elements/highlight-node.html
86505
86506        * WebCore.exp.in: Export symbols.
86507        * testing/Internals.cpp:
86508        (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
86509        return the highlight's quads as a ClientRectList.
86510        (WebCore):
86511        * testing/Internals.h:
86512        (WebCore):
86513        (Internals):
86514        * testing/Internals.idl:
86515
86516            Add inspectorHighlightRects to the window.internals interface.
86517
865182012-03-13  Konrad Piascik  <kpiascik@rim.com>
86519
86520        [BlackBerry] Remove sublayers before clamping just in case the layer already exists
86521        https://bugs.webkit.org/show_bug.cgi?id=80989
86522
86523        Reviewed by Antonio Gomes.
86524
86525        Discovered when trying to add a highlight sublayer for web inspector.  Since that layer
86526        may already exist in the tree we need to see if it will be pruned before we clamp on the
86527        size.
86528
86529        This was manually tested during the writing of another patch to add web inspector highlights
86530        to accelrated compositing.
86531
86532        * platform/graphics/blackberry/LayerWebKitThread.cpp:
86533        (WebCore::LayerWebKitThread::insertSublayer):
86534
865352012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>
86536
86537        Web Inspector: Add snippets model.
86538        https://bugs.webkit.org/show_bug.cgi?id=80863
86539
86540        Reviewed by Yury Semikhatsky.
86541
86542        Test: inspector/debugger/snippets-model.html
86543
86544        * WebCore.gypi:
86545        * WebCore.vcproj/WebCore.vcproj:
86546        * inspector/compile-front-end.py:
86547        * inspector/front-end/Settings.js:
86548        (WebInspector.ExperimentsSettings):
86549        * inspector/front-end/SnippetsModel.js: Added.
86550        * inspector/front-end/WebKit.qrc:
86551        * inspector/front-end/inspector.html:
86552        * inspector/front-end/inspector.js:
86553
865542012-03-13  'Pavel Feldman'  <pfeldman@chromium.org>
86555
86556        Not reviewed: chromium build fix.
86557
86558        * history/CachedFrame.cpp:
86559
865602012-03-13  Peter Rybin  <peter.rybin@gmail.com>
86561
86562        Web Inspector: CodeGeneratorInspector.py: refactor copy-paste getter methods
86563        https://bugs.webkit.org/show_bug.cgi?id=80923
86564
86565        Reviewed by Yury Semikhatsky.
86566
86567        Several methods are combined in one using C++ templates.
86568
86569        * inspector/CodeGeneratorInspector.py:
86570
865712012-03-13  Rob Buis  <rbuis@rim.com>
86572
86573        [BlackBerry] Fix cast-align warning in QuotesData.cpp
86574        https://bugs.webkit.org/show_bug.cgi?id=80601
86575
86576        Reviewed by Nikolas Zimmermann.
86577
86578        Fix warning by adding variable of correct return type.
86579
86580        * rendering/style/QuotesData.cpp:
86581        (WebCore::QuotesData::create):
86582
865832012-03-12  Brady Eidson  <beidson@apple.com>
86584
86585        <rdar://problem/7908830> and https://bugs.webkit.org/show_bug.cgi?id=34679
86586        Location and other objects are dysfunctional after a document gets restored from page cache
86587
86588        Reviewed by Adam Barth.
86589
86590        Test: fast/loader/window-properties-restored-from-page-cache.html
86591
86592        Give DOMWindowProperties the ability to reconnect to their Frame:
86593        * page/DOMWindowProperty.cpp:
86594        (WebCore::DOMWindowProperty::reconnectFrame):
86595        * page/DOMWindowProperty.h:
86596        (DOMWindowProperty):
86597
86598        Let ApplicationCache do some extra work when reconnecting:
86599        * loader/appcache/DOMApplicationCache.cpp:
86600        (WebCore::DOMApplicationCache::reconnectFrame):
86601        (WebCore):
86602        * loader/appcache/DOMApplicationCache.h:
86603        (DOMApplicationCache):
86604
86605        Let IndexDB do some extra work when reconnecting:
86606        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
86607        (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
86608        (WebCore::DOMWindowIndexedDatabase::reconnectFrame):
86609        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
86610        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
86611        (DOMWindowIndexedDatabase):
86612
86613        Tell the DOMWindow to suspend to the page cache:
86614        * history/CachedFrame.cpp:
86615        (WebCore::CachedFrame::CachedFrame):
86616
86617        Tell the DOMWindow to resume from the page cache:
86618        * loader/FrameLoader.cpp:
86619        (WebCore::FrameLoader::open):
86620
86621        * page/DOMWindow.cpp:
86622        (WebCore::DOMWindow::DOMWindow):
86623        (WebCore::DOMWindow::~DOMWindow): Call clearDOMWindowProperties directly instead of clear()
86624        (WebCore::DOMWindow::frameDestroyed): Ditto.
86625        (WebCore::DOMWindow::clear): Only clear if the DOMWindow is not suspended for the page cache.
86626        (WebCore::DOMWindow::suspendForPageCache): Disconnect properties and set the page cache flag.
86627        (WebCore::DOMWindow::resumeFromPageCache): Reconnect properties and revert the page cache flag.
86628        (WebCore::DOMWindow::disconnectDOMWindowProperties): Only disconnect the registered properties.
86629        (WebCore::DOMWindow::reconnectDOMWindowProperties):
86630        (WebCore::DOMWindow::clearDOMWindowProperties): Disconnect the registered properties then clear them out.
86631
86632        For all of the following, if the DOMWindow is not displayed in a frame (i.e., it is suspended), do nothing:
86633        (WebCore::DOMWindow::screen):
86634        (WebCore::DOMWindow::history):
86635        (WebCore::DOMWindow::crypto):
86636        (WebCore::DOMWindow::locationbar):
86637        (WebCore::DOMWindow::menubar):
86638        (WebCore::DOMWindow::personalbar):
86639        (WebCore::DOMWindow::scrollbars):
86640        (WebCore::DOMWindow::statusbar):
86641        (WebCore::DOMWindow::toolbar):
86642        (WebCore::DOMWindow::console):
86643        (WebCore::DOMWindow::applicationCache):
86644        (WebCore::DOMWindow::navigator):
86645        (WebCore::DOMWindow::performance):
86646        (WebCore::DOMWindow::location):
86647        (WebCore::DOMWindow::sessionStorage):
86648        (WebCore::DOMWindow::localStorage):
86649        (WebCore::DOMWindow::webkitNotifications):
86650        (WebCore::DOMWindow::postMessageTimerFired):
86651        (WebCore::DOMWindow::getSelection):
86652        (WebCore::DOMWindow::styleMedia):
86653        (WebCore::DOMWindow::webkitStorageInfo):
86654        * page/DOMWindow.h:
86655
866562012-03-13  Dana Jansens  <danakj@chromium.org>
86657
86658        [chromium] Use projectQuad to apply inverse mapRect
86659        https://bugs.webkit.org/show_bug.cgi?id=80741
86660
86661        Reviewed by Adrienne Walker.
86662
86663        Unit test: CCOcclusionTrackerTest3dTransform
86664                   CCOcclusionTrackerTestPerspectiveTransform
86665                   CCOcclusionTrackerTestPerspectiveTransformBehindCamera
86666
86667        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
86668        (WebCore::projectQuad):
86669        (WebCore):
86670        (WebCore::computeUnoccludedContentRect):
86671
866722012-03-13  Gavin Peters  <gavinp@chromium.org>
86673
86674        New PageCache histogram which counts failures ignoring Settings.
86675        https://bugs.webkit.org/show_bug.cgi?id=80864
86676
86677        Reviewed by Brady Eidson.
86678
86679        Chrome has a command line switch to turn on the page cache.
86680        Currently it doesn't work, but it can cause the PageCache reasons
86681        for failure count to read lower than it should.  Add a new
86682        histogram to report the corrected value.
86683
86684        * history/PageCache.cpp:
86685        (WebCore::logCanCachePageDecision):
86686
866872012-03-13  George Staikos  <staikos@webkit.org>
86688
86689        Fix signed/unsigned mismatch compiler warnings.
86690        https://bugs.webkit.org/show_bug.cgi?id=80790
86691
86692        Reviewed by Alexey Proskuryakov.
86693
86694        * loader/icon/IconDatabase.cpp:
86695        (WebCore::IconDatabase::synchronousLoadDecisionForIconURL):
86696        * platform/network/MIMESniffing.cpp:
86697
866982012-03-13  Sheriff Bot  <webkit.review.bot@gmail.com>
86699
86700        Unreviewed, rolling out r110510.
86701        http://trac.webkit.org/changeset/110510
86702        https://bugs.webkit.org/show_bug.cgi?id=80987
86703
86704        depends on chromium r 125700, which isn't rolled into webkit
86705        yet :-/ (Requested by thakis_ on #webkit).
86706
86707        * WebCore.gyp/mac/adjust_visibility.sh:
86708
867092012-03-13  Gavin Peters  <gavinp@chromium.org>
86710
86711        Make ApplicationCacheHost::canCacheInPageCache() non-const.
86712        https://bugs.webkit.org/show_bug.cgi?id=80904
86713
86714        Reviewed by Alexey Proskuryakov.
86715
86716        A const pointer to a large object like ApplicationCacheHost is not our standard
86717        practice; so remove this (implicit) one.  See also https://bugs.webkit.org/show_bug.cgi?id=80898
86718
86719        * loader/appcache/ApplicationCacheHost.cpp:
86720        (WebCore::ApplicationCacheHost::canCacheInPageCache):
86721        * loader/appcache/ApplicationCacheHost.h:
86722        (ApplicationCacheHost):
86723
867242012-03-13  Stephen Chenney  <schenney@chromium.org>
86725
86726        Crash in WebCore::GraphicsContext::paintingDisabled
86727        https://bugs.webkit.org/show_bug.cgi?id=80669
86728
86729        Reviewed by Nikolas Zimmermann.
86730
86731        The SVGImageBufferTools::clipToImageBuffer method deletes the clip
86732        image when it thinks it is not needed. However, there are cases when
86733        it is in fact still needed, particularly when the clip buffer is
86734        coming from higher up in the stack where it may be needed again.
86735
86736        So this patch adds a flag to only allow deletion of the image buffer
86737        if it was created at the most recent call site.
86738
86739        Tests: svg/custom/circular-clip-path-references-crash-expected.svg
86740               svg/custom/circular-clip-path-references-crash.svg
86741
86742        * rendering/svg/RenderSVGResourceClipper.cpp:
86743        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
86744        * rendering/svg/RenderSVGResourceGradient.cpp:
86745        (WebCore::clipToTextMask):
86746        * rendering/svg/RenderSVGResourceMasker.cpp:
86747        (WebCore::RenderSVGResourceMasker::applyResource):
86748        * rendering/svg/SVGImageBufferTools.cpp:
86749        (WebCore::SVGImageBufferTools::clipToImageBuffer):
86750        * rendering/svg/SVGImageBufferTools.h:
86751        (SVGImageBufferTools):
86752
867532012-03-13  Gavin Peters  <gavinp@chromium.org>
86754
86755        Fix an enumeration name in ReasonsFrameCannotBeInPageCache.
86756        https://bugs.webkit.org/show_bug.cgi?id=80849
86757
86758        Reviewed by Brady Eidson.
86759
86760        It seems that somebody goofed, and named one of the
86761        ReasonsFrameCannotBeInPageCache antonymically.
86762
86763        * history/PageCache.cpp:
86764        (WebCore::logCanCacheFrameDecision):
86765
867662012-03-12  Kinuko Yasuda  <kinuko@chromium.org>
86767
86768        File upload control should use File.name() rather than File.path() to show chosen filenames
86769        https://bugs.webkit.org/show_bug.cgi?id=80970
86770
86771        In some rare cases (e.g. files from FileSystem API or files created
86772        using the newly added WebKit API) File.name has different displayName
86773        from the basename of file.path, and in the file uploader controller we
86774        should use File.name rather than File.path.
86775
86776        Reviewed by Kent Tamura.
86777
86778        No new tests: existing tests should pass as this should not change
86779        behavior in regular use cases.  (New behavior where File.name differs
86780        from File.path can be only tested in chromeos environment, therefore
86781        not adding new tests for that)
86782
86783        * platform/gtk/RenderThemeGtk.cpp:
86784        (WebCore::RenderThemeGtk::fileListNameForWidth): Updated to handle FileList.
86785        * platform/gtk/RenderThemeGtk.h:
86786        * platform/qt/RenderThemeQt.cpp:
86787        (WebCore::RenderThemeQt::fileListNameForWidth): Updated to handle FileList.
86788        * platform/qt/RenderThemeQt.h:
86789        * rendering/RenderFileUploadControl.cpp:
86790        (WebCore::RenderFileUploadControl::fileTextValue): Changed to pass FileList rather than FileList->paths().
86791        * rendering/RenderTheme.cpp:
86792        (WebCore::RenderTheme::fileListNameForWidth): Updated to handle FileList and use File.name for displaying the file name.
86793        * rendering/RenderTheme.h:
86794        * rendering/RenderThemeMac.h:
86795        * rendering/RenderThemeMac.mm:
86796        (WebCore::RenderThemeMac::fileListNameForWidth): Updated to handle FileList.
86797
867982012-03-13  Kinuko Yasuda  <kinuko@chromium.org>
86799
86800        Allow WebFileChooser to return extra file info (like displayName) in addition to mere file paths
86801        https://bugs.webkit.org/show_bug.cgi?id=80719
86802
86803        Reviewed by Kent Tamura.
86804
86805        No new tests: this change itself shouldn't change existing behavior.
86806
86807        * fileapi/File.cpp:
86808        (WebCore::createBlobDataForFileWithName): Renamed from createBlobDataForFileSystemFile.
86809        * fileapi/File.h:
86810        * html/FileInputType.cpp:
86811        (WebCore::FileInputType::saveFormControlState): Updated to handle File.name.
86812        (WebCore::FileInputType::restoreFormControlState): Ditto.
86813        (WebCore::FileInputType::setFileList): Changed the signature to take
86814        FileChooserFileInfo.
86815        (WebCore::FileInputType::filesChosen): Ditto.
86816        (WebCore::FileInputType::receiveDroppedFiles):
86817        * html/FileInputType.h:
86818        (FileInputType):
86819        * platform/FileChooser.cpp:
86820        (WebCore::FileChooser::chooseFiles): Added an overloaded method that
86821        takes FileChooserFileInfo.
86822        (WebCore):
86823        * platform/FileChooser.h:
86824        (WebCore::FileChooserFileInfo::FileChooserFileInfo): Added.
86825        * platform/MIMETypeRegistry.cpp:
86826        (WebCore::MIMETypeRegistry::getWellKnownMIMETypeForExtension): Removed surrouonding ifdefs as this function is now used even if FILE_SYSTEM is not enabled.
86827        * platform/MIMETypeRegistry.h:
86828        (MIMETypeRegistry):
86829
868302012-03-13  Vsevolod Vlasov  <vsevik@chromium.org>
86831
86832        Unreviewed inspector compilation module name fix after r110550.
86833
86834        * inspector/compile-front-end.py:
86835
868362012-03-12  Vsevolod Vlasov  <vsevik@chromium.org>
86837
86838        Web Inspector: Changes to the list of scripts for front-end compilation should not require update of number of scripts in module.
86839        https://bugs.webkit.org/show_bug.cgi?id=80872
86840
86841        Reviewed by Pavel Feldman.
86842
86843        * inspector/compile-front-end.py: Added.
86844        * inspector/compile-front-end.sh:
86845
868462012-03-12  Pavel Podivilov  <podivilov@chromium.org>
86847
86848        Web Inspector: move ResourceScriptMapping to a separate file.
86849        https://bugs.webkit.org/show_bug.cgi?id=80859
86850
86851        Reviewed by Vsevolod Vlasov.
86852
86853        * WebCore.gypi:
86854        * WebCore.vcproj/WebCore.vcproj:
86855        * inspector/compile-front-end.sh:
86856        * inspector/front-end/ResourceScriptMapping.js: Copied from Source/WebCore/inspector/front-end/ScriptMapping.js.
86857        (WebInspector.ResourceScriptMapping):
86858        (WebInspector.ResourceScriptMapping.prototype.rawLocationToUILocation):
86859        (WebInspector.ResourceScriptMapping.prototype.uiSourceCodeList):
86860        (WebInspector.ResourceScriptMapping.prototype._handleUISourceCodeListChanged):
86861        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
86862        (WebInspector.ResourceScriptMapping.prototype._bindScriptToRawSourceCode):
86863        (WebInspector.ResourceScriptMapping.prototype.setFormatSource):
86864        (WebInspector.ResourceScriptMapping.prototype.forceUpdateSourceMapping):
86865        (WebInspector.ResourceScriptMapping.prototype.reset):
86866        * inspector/front-end/ScriptMapping.js:
86867        * inspector/front-end/WebKit.qrc:
86868        * inspector/front-end/inspector.html:
86869
868702012-03-12  Kentaro Hara  <haraken@chromium.org>
86871
86872        Rename OptionsObject to Dictionary
86873        https://bugs.webkit.org/show_bug.cgi?id=80802
86874
86875        Reviewed by Adam Barth.
86876
86877        For clarification, rename OptionsObject.{h,cpp} to Dictionary.{h,cpp}.
86878        This patch just renames and sorts alphabetically.
86879
86880        No tests. No change in behavior.
86881
86882        * GNUmakefile.list.am:
86883        * Modules/indexeddb/IDBDatabase.cpp:
86884        (WebCore::IDBDatabase::createObjectStore):
86885        * Modules/indexeddb/IDBDatabase.h:
86886        (WebCore::IDBDatabase::createObjectStore):
86887        (IDBDatabase):
86888        * Modules/indexeddb/IDBDatabase.idl:
86889        * Modules/indexeddb/IDBKeyRange.h:
86890        * Modules/indexeddb/IDBObjectStore.cpp:
86891        (WebCore::IDBObjectStore::createIndex):
86892        * Modules/indexeddb/IDBObjectStore.h:
86893        (WebCore::IDBObjectStore::createIndex):
86894        (IDBObjectStore):
86895        * Modules/indexeddb/IDBObjectStore.idl:
86896        * Target.pri:
86897        * UseV8.cmake:
86898        * WebCore.gypi:
86899        * WebCore.vcproj/WebCore.vcproj:
86900        * bindings/js/Dictionary.h: Renamed from Source/WebCore/bindings/js/OptionsObject.h.
86901        (WebCore):
86902        (Dictionary):
86903        (WebCore::Dictionary::Dictionary):
86904        (WebCore::Dictionary::isObject):
86905        (WebCore::Dictionary::isUndefinedOrNull):
86906        (WebCore::Dictionary::get):
86907        (WebCore::Dictionary::getWithUndefinedOrNullCheck):
86908        * bindings/js/IDBBindingUtilities.cpp:
86909        (WebCore::createDictionaryFromValue):
86910        * bindings/js/IDBBindingUtilities.h:
86911        (WebCore):
86912        * bindings/scripts/CodeGeneratorJS.pm:
86913        (JSValueToNative):
86914        * bindings/scripts/CodeGeneratorV8.pm:
86915        (GenerateHeader):
86916        (GenerateParametersCheck):
86917        (GenerateEventConstructorCallback):
86918        (GetNativeType):
86919        (JSValueToNative):
86920        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
86921        (WebDOMTestObj::optionsObject):
86922        * bindings/scripts/test/CPP/WebDOMTestObj.h:
86923        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
86924        (webkit_dom_test_obj_options_object):
86925        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
86926        * bindings/scripts/test/JS/JSTestObj.cpp:
86927        (WebCore::jsTestObjPrototypeFunctionIdbKey):
86928        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
86929        * bindings/scripts/test/ObjC/DOMTestObj.h:
86930        * bindings/scripts/test/ObjC/DOMTestObj.mm:
86931        (-[DOMTestObj optionsObject:ooo:]):
86932        * bindings/scripts/test/TestObj.idl:
86933        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
86934        (WebCore::V8TestEventConstructor::constructorCallback):
86935        (WebCore::fillTestEventConstructorInit):
86936        * bindings/scripts/test/V8/V8TestEventConstructor.h:
86937        (WebCore):
86938        * bindings/scripts/test/V8/V8TestObj.cpp:
86939        (WebCore::TestObjInternal::optionsObjectCallback):
86940        * bindings/v8/Dictionary.cpp: Renamed from Source/WebCore/bindings/v8/OptionsObject.cpp.
86941        (WebCore):
86942        (WebCore::Dictionary::Dictionary):
86943        (WebCore::Dictionary::~Dictionary):
86944        (WebCore::Dictionary::operator=):
86945        (WebCore::Dictionary::isObject):
86946        (WebCore::Dictionary::isUndefinedOrNull):
86947        (WebCore::Dictionary::getKey):
86948        (WebCore::Dictionary::get):
86949        (WebCore::Dictionary::getWithUndefinedOrNullCheck):
86950        * bindings/v8/Dictionary.h: Renamed from Source/WebCore/bindings/v8/OptionsObject.h.
86951        (WebCore):
86952        (Dictionary):
86953        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
86954        (WebCore::V8WebKitMutationObserver::observeCallback):
86955
869562012-03-12  Nikolas Zimmermann  <nzimmermann@rim.com>
86957
86958        SVG Animations update baseVal instead of animVal
86959        https://bugs.webkit.org/show_bug.cgi?id=12437
86960
86961        Reviewed by Dirk Schulze.
86962
86963        Begin implementing the last missing core piece of the SVG DOM: proper animVal support.
86964        Most SVG DOM interfaces exposing eg. lengths use SVGAnimatedLength. eg. from SVGRectElement:
86965        "readonly attribute SVGAnimatedLength x;" SVGAnimatedXXX contains following methods:
86966        "readonly attribute SVGLength baseVal; readonly attribute SVGLength animVal;"
86967        From SVG DOM perspective, animVal and baseVal are two distinctive objects, animVal != baseVal.
86968        Its underlying value is the same though, if no animation is running on that attribute.
86969
86970        As soon as a SMIL animation starts animating an SVGAnimated* target attribute, its
86971        baseVal and animVal may begin to differ. The animVal always reflect the current animated
86972        value (including all effects of additive/accumulated animations) which is shown on screen
86973        when eg animating the width of a <rect>. The baseVal is is equal to the underlying XML
86974        property value / SVG DOM value, but may be influenced through dynamic changes.
86975        (Consider changing rect1.width.baseVal.value while 'width' is animated)
86976
86977        During the last year we prepared our animation code to turn on animVal support.
86978        This patch adds the last missing pieces to turn on animVal support for the SVGLength.
86979        SVGLengthList and all other types will follow, one after the other.
86980
86981        I've decided to write an exhaustive ChangeLog, as this as the base for any future
86982        work in this area - hopefully making this more reviewable.
86983
86984        Tests: svg/animations/additive-from-to-width-animation.html
86985               svg/animations/additive-values-width-animation.html
86986               svg/animations/change-baseVal-while-animating-fill-freeze-2.html
86987               svg/animations/change-baseVal-while-animating-fill-freeze.html
86988               svg/animations/change-baseVal-while-animating-fill-remove-2.html
86989               svg/animations/change-baseVal-while-animating-fill-remove.html
86990               svg/animations/change-target-while-animating-SVG-property.html
86991               svg/animations/multiple-animations-fill-freeze.html
86992               svg/animations/remove-animation-element-while-animation-is-running.html
86993               svg/repaint/repainting-after-animation-element-removal.svg
86994
86995        * svg/SVGAnimateElement.cpp: Remove unnecessary std namespace inclusion.
86996        (WebCore::SVGAnimateElement::SVGAnimateElement): Remove now-obsolete m_aboutToStopAnimation.
86997        (WebCore::SVGAnimateElement::calculateAnimatedValue): Swap assertion order, to test hasTagName() _before_ casting.
86998        (WebCore::SVGAnimateElement::resetToBaseValue):
86999            Stop relying on the cached baseValue (breaking additive="sum"+values animation) for SVG DOM primitive animations.
87000            Avoid any string roundtrips previously needed to reset the SVGAnimatedType to the base value. Just grab the
87001            currentBaseValue() from the associated SVGAnimatedProperty, which includes all dynamic changes to the baseVal
87002            either by SVG DOM or setAttribute() calls - this way we don't need to utilize the buggy cache in SMILTimeContainer,
87003            which can be removed once all SVG DOM primitive types switched to the new animVal concept.
87004
87005            NOTE: When multiple animations of the same attribute are applied to a target element, resetToBaseValue() will be called
87006            for the highest priority SVGSMILElement, on every animation step! Consider two <animate> elements, applied to a target
87007            <rect> which both animate the 'x' attribute, one from 0s to 2s, the other from 4s to 6s. The last <animate> element
87008            will reuse the SVGAnimatedType m_animatedType from the first <animate> element, and never create an own m_animatedType.
87009            When the animation starts the first time at 0s, we update the rect.x.animVals SVGLength* pointer, to point to the
87010            SVGAnimatedType of the first <animate> element, owning the m_animatedType. From that point on each call to rect.x.animVal
87011            will always return the same value as the SVGAnimatedType of the first <animate> element holds. Now after 2s the first
87012            <animate> element becomes inactive, but its m_animatedType remains alive. The bindings don't notice this change at all.
87013            Now at 4s, the second animation element gets active. It reuses the SVGAnimatedType of the first <animate> element, and
87014            applies its animation changes to that SVGAnimatedType, which is immediately reflected in the bindings w/o any additional
87015            work. It's very important for the understanding when animationStarted/animationEnded need to be called.
87016
87017        (WebCore::SVGAnimateElement::applyResultsToTarget): Remove now-obsolete m_aboutToStopAnimation logic. No need to know it at this point.
87018        (WebCore::SVGAnimateElement::targetElementWillChange):
87019            Renamed from targetElementDidChange(). This method is called from SVGSMILElement for following conditions:
87020            - animation element is destructed
87021            - animation element is removed from document
87022            - target element of animation is destructed
87023            - target element of animation is removed from document
87024            - target element of animation changes id
87025
87026            Whenever any of this happens, we need to reset the animVal. Resetting the animVal involves resetting the PropertyType* pointer,
87027            eg. SVGLength*, from the animVal property tear off, belonging to a certain SVGAnimatedProperty (eg. rect.x) to the initial
87028            value again, which is the 'm_x' of the SVGRectElement. This is needed as the SVGAnimatedType the animVal currently points to,
87029            if an animation is/was running, is destructed in targetElementWillChange(), to reset the SVGAnimateElement to the initial
87030            state before it received a target. This is the only place which destructed the m_animatedType, and thus the only place that
87031            needs to take care of resetting the animVal pointers.
87032
87033        * svg/SVGAnimatedLength.cpp:
87034        (WebCore::SVGAnimatedLengthAnimator::constructFromCopy):
87035            Add a new constructFromCopy(SVGGenericAnimatedType) function to SVGAnimatedLengthAnimator.
87036            It takes a type-unsafe SVGGenericAnimatedType - the caller has to guarantee the type matches.
87037            This is strictly enforced for the single caller of constructFromCopy, and guaranteed to be safe.
87038
87039        * svg/SVGAnimatedLength.h: Add new constructFromCopy method, which is used to avoid string-roundtrips when resetting to base values.
87040        * svg/SVGAnimatedType.cpp:
87041        (WebCore::SVGAnimatedType::supportsAnimVal): Only returns true for AnimatedLength, for now.
87042        (WebCore::SVGAnimatedType::setVariantValue): Takes a SVGGenericAnimatedType, assuming the type matches. Callers have to guarantee type-safety!
87043        * svg/SVGAnimatedType.h:
87044        (SVGAnimatedType): Add new static supportsAnimVal(AnimatedPropertyType) function.
87045        (WebCore::SVGAnimatedType::variantValue): Add a generic accessor for all animated types, called variant(). Only one place uses this.
87046        * svg/SVGAnimatedTypeAnimator.h:
87047        (WebCore::SVGAnimatedTypeAnimator::constructFromCopy):
87048            New method to construct an eg. SVGAnimatedLengthAnimator right from a SVGLength, instead of a String.
87049            In that case the SVGAnimatedType just stores a pointer to the underlying SVGLength, no copying and or other roundtrips involved.
87050
87051        * svg/SVGAnimationElement.cpp:
87052        (WebCore::SVGAnimationElement::svgAttributeChanged):
87053            Implement this instead of attributeChanged. The previous implementation reset the animation state to Inactive, causing a full
87054            rebuild, whenever any attribute changes, even though it might not be related for the animation element, eg.
87055            animate.setAttribute("stdDeviationX", "foobar"). Fix that by checking if we support the attribute (keyTimes/keySplines/etc..)
87056            , if not pass it on to SVGSMILElement (which supports begin/end/etc..) to check if it can handle that.
87057
87058        (WebCore::SVGAnimationElement::animationAttributeChanged):
87059            Called from our svgAttributeChanged, and/or from SVGSMILElement::svgAttributeChanged, whenever a _known_ attribute has changed.
87060            This sledgehammer should be used with care, instead of each time attributeChanged() is called :-)
87061
87062        (WebCore::setTargetAttributeAnimatedCSSValue):
87063            Remove support for removing properties from the override style sheet. I've added this optimization too early, we should reevaluate
87064            this once more types support animVal. It currently complexifies the logic too much, requiring setAttributeAnimatedValue to know
87065            if the animation ends (and that's not easy to figure out, at least not using started/endedActiveInterval, as I anticipated).
87066
87067        (WebCore::findMatchingAnimatedProperty):
87068            Add helper functions which retrieves a SVGAnimatedProperty* for a given SVGElement* targetElement, an attributeName, and an attribute
87069            type. eg. findMatchingAnimatedProperty(myRectElement, SVGNames::xAttr, AnimatedLength) returns the SVGAnimatedProperty which is
87070            exposed to JS, that holds: SVGProperty* baseVal, and SVGProperty* animVal. (Lazily created if they got accessed from JS.). This is
87071            used to update the animVal pointing to a new eg. SVGLength* value, once animation has started, to make rect->x() return that new
87072            SVGLength* value (internally), and to reflect the current animated value in rect.x.animVal.value from JS.
87073
87074        (WebCore::SVGAnimationElement::applyAnimatedValue): Refactored from setTargetAttributeAnimatedValue, to simplify the code.
87075        (WebCore::notifyAnimatedPropertyAboutAnimationBeginEnd):
87076            Helper function to share code betweeen animationStarted/animationEnded.
87077            It takes a SVGAnimatedProperty* and a SVGAnimatedType* which may be zero, indicating that the animation ended.
87078            It calls animationStarted/animationEnded on the given SVGAnimatedProperty, to update the animVal state.
87079            It also figures out all instances of the target element, and their SVGAnimatedProperties that may need updating.
87080
87081        (WebCore::SVGAnimationElement::animationStarted): Uses the helper above, passing on the given animatedType.
87082        (WebCore::SVGAnimationElement::animationEnded): Uses the helper above, passing 0 as animatedType.
87083        (WebCore::InstanceUpdateBlocker::InstanceUpdateBlocker):
87084            Added new helper struct, doing element->setInstancesUpdatedBlock(true) on construction and setInstancesUpdatesBlocked(false) on
87085            destruction, making it impossible to forget one. If we ever rewrite svgAttributeChanged & co to auto-update the cloned instances,
87086            this can go away.
87087
87088        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
87089            Now takes an SVGAnimatedType* instead of a String parameter. In order to avoid string-roundtrips for animVal support, let us
87090            decide if we need to construct a String out of it, or not. For animations supporting animVal (only SVGLength) we don't need
87091            to update any attribute or animVal pointer here, that happens automatically! We only need to notify the targetElement eg,
87092            that its xAttr changed! Previously we had to call targetElement->setAttribute("x", "...") on every animation step for
87093            SVGLength animations - that's gone now! The SVGAnimatedType pointers remains the same during the whole animation, so there's
87094            no need to call animationStarted() at each animated step!
87095
87096        (WebCore::SVGAnimationElement::animatedPropertyForType):
87097            Helper function returning a SVGAnimatedProperty* for the current target element & current target attribute, if the
87098            current animation is running on a type supporting animVal (SVGLength), or returning 0. This is needed for SVGAnimateElement.
87099            Reuses the existing findMatchingAnimatedProperty code.
87100
87101        * svg/SVGAnimationElement.h:
87102        * svg/animation/SMILTimeContainer.cpp:
87103        (WebCore::SMILTimeContainer::updateAnimations):
87104            Add comment to clarify why caching baseValues is just wrong. For SVGLength animations the problem is now gone.
87105            This is exercised using the new additive-from-to-width-animation.html & additive-values-width-animation.html tests.
87106
87107        * svg/animation/SVGSMILElement.cpp:
87108        (WebCore::SVGSMILElement::removedFromDocument):
87109            Since animVal requires that the SVGAnimatedProperties are correctly reset if an animation element is removed from the document,
87110            we have to call targetElementWillChange(0) from here. That requires to move the "m_attributeName = anyQName()" line down,
87111            otherwise targetElementWillChange() would early exit, as no valid attributeName was specified.
87112            
87113            This is verified using the new svg/animations/remove-animation-element-while-animation-is-running.html
87114            and svg/repaint/repainting-after-animation-element-removal.svg tests.
87115
87116        (WebCore::SVGSMILElement::isSupportedAttribute): Add function like all SVG*Elements have identifying their supported attributes.
87117        (WebCore::SVGSMILElement::svgAttributeChanged):
87118            Implement svgAttributeChanged instead of attributeChanged. Only take action if the attribute is actually supported.
87119            If one of the common attributes like begin/end/etc. changed, be sure to call animationAttributeChanged() so that our
87120            ancestor-classes get notified about this and can take action as well. NOTE: This is not about animating begin/end attributes,
87121            but about pure DOM changes. begin/end/et.. are not exposed to the SVG DOM, we still reuse the svgAttributeChanged logic
87122            for consistency. (This does NOT make those attributes animatable, nothing this here as it came up while reviewing).
87123    
87124        (WebCore::SVGSMILElement::targetElement): Adapt logic to targetElementDidChange -> targetElementWillChange change.
87125        (WebCore::SVGSMILElement::targetElementWillChange):
87126            Renamed from targetElementDidChange. Added "oldTarget" as parameter as well. Our ancestor-classes like SVGAnimateElement
87127            use this to properly deregister the animVal in the old target, before resetting the SVGAnimatedType, otherwise we'd leave
87128            dangling pointers around (verified manually by guard malloc runs, that none of this happens).
87129
87130            Also add a default implementation here in targetElementWillChange, that ancestor classes have to call.
87131            Now we properly call endedActiveInterval() if the m_activeState is currently Active, so that animations are shut-down
87132            just like if the animation properly ends (use the same cleanup routines, etc.). Not doing that now leads to assertions.
87133
87134        (WebCore::SVGSMILElement::resetTargetElement):
87135            Instead of forcing m_activeState to be inactive, use the standard methods to end the animation.
87136            targetElementWillChange(m_targetElement, 0) and animationAttributeChanged().
87137
87138            resetTargetElement() is only called by SVGDocumentExtensions::removeAllAnimationElementsFromTarget() for following conditions:
87139            - targetElement gets destructed
87140            - targetElement gets removed from the document
87141            - targetElement id changes
87142
87143            If the targetElement gets destructed or removed, no actions need to be taken, as the SVGAnimatedPropertys are teared down
87144            as well. But if only the id changes, we still have to properly disconnect the animVals - this is all handled through
87145            targetElementWillChange now - that's why this has to be called from here as well.
87146            That explains why targetElementWillChange() now needs to check if the targetElement is destructing or not.
87147
87148        * svg/properties/SVGAnimatedEnumerationPropertyTearOff.h:
87149            Pass the AnimatedPropertyType from the SVGPropertyInfo to the SVGAnimatedProperties.
87150            Requires mechanic changes in all SVGAnimated* classes. We need acccess to the AnimatedPropertyType
87151            to verify the SVGAnimatedType objects, passed to animationStarted, match our type. This is to enforce
87152            strict type-checking, whenever SVGGenericAnimatedTypes are passed around.
87153
87154        (WebCore::SVGAnimatedEnumerationPropertyTearOff::create):
87155        (WebCore::SVGAnimatedEnumerationPropertyTearOff::SVGAnimatedEnumerationPropertyTearOff):
87156        * svg/properties/SVGAnimatedListPropertyTearOff.h: Ditto.
87157        (WebCore::SVGAnimatedListPropertyTearOff::create):
87158        (WebCore::SVGAnimatedListPropertyTearOff::SVGAnimatedListPropertyTearOff):
87159        * svg/properties/SVGAnimatedPathSegListPropertyTearOff.h: Ditto.
87160        (WebCore::SVGAnimatedPathSegListPropertyTearOff::create):
87161        (WebCore::SVGAnimatedPathSegListPropertyTearOff::SVGAnimatedPathSegListPropertyTearOff):
87162        * svg/properties/SVGAnimatedProperty.h: Store AnimatedPropertyType, add accessors.
87163        (WebCore::SVGAnimatedProperty::animatedPropertyType): Add accessor.
87164        (WebCore::SVGAnimatedProperty::animationValueChanged): New animVal related functions to be implemented in the animated tear offs.
87165        (WebCore::SVGAnimatedProperty::animationStarted): Ditto.
87166        (WebCore::SVGAnimatedProperty::animationEnded): Ditto.
87167        (WebCore::SVGAnimatedProperty::currentBaseValue):
87168            Generic accessor for the baseVal: returns a SVGGenericAnimatedType.
87169            It takes an AnimatedPropertyType as input, that's only needed to verify that the type we're returning matches
87170            the expectation of the caller. If not, return 0 to avoid any potential casting mistakes, which would lead to crashes.
87171
87172        (WebCore::SVGAnimatedProperty::SVGAnimatedProperty): Store m_animatedPropertyType.
87173        * svg/properties/SVGAnimatedPropertyTearOff.h:
87174        (WebCore::SVGAnimatedPropertyTearOff::create): Same changes as in the other tear offs: pass around AnimatedPropertyType.
87175        (WebCore::SVGAnimatedPropertyTearOff::currentBaseValue): Returns &m_property, if the type matches (see above).
87176        (SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
87177        (WebCore::SVGAnimatedPropertyTearOff::animationValueChanged): No-op for non list types, don't need to do anything here.
87178        (WebCore::SVGAnimatedPropertyTearOff::animationStarted):
87179        (WebCore::SVGAnimatedPropertyTearOff::animationEnded):
87180            Store the currently animated value in the animVal() property tear off, that's also re-used as-is for the JS bindings.
87181            As this is important, here's an example of how this affects methods like rect->x() used in the renderers.
87182
87183            Setting m_isAnimating to true, redirects any rect->x() calls that previously returned rect->m_x, to
87184            rect->xAnimated()->animVal()->propertyReference() (which returns the same SVGLength& that the SVGAnimatedElement
87185            m_animatedType contains). Calling rect->setXBaseValue() still modifies rect->m_x, and is used by all parseAttribute()
87186            methods in svg/ as setAttribute() calls only ever modify the "baseValue", never the current animated value.
87187            rect.x.baseVal will return a SVGLength object corresponding to rect->m_x.
87188            rect.x.animVal will return a SVGLength object corresponding to rect->xAnimated()->animVal()->propertyReference().
87189
87190            These implementation details are all hidden in the SVGAnimatedPropertyMacros. Here's an example from SVGRectElement:
87191            DECLARE_ANIMATED_LENGTH(X, x) -> Replace PropertyType with 'SVGLength', LowerProperty with 'x', and UpperProperty with 'X'.
87192
87193            PropertyType& LowerProperty() const
87194            {
87195                if (TearOffType* wrapper = SVGAnimatedProperty::lookupWrapper<UseOwnerType, TearOffType, IsDerivedFromSVGElement<UseOwnerType>::value>(this, LowerProperty##PropertyInfo())) {
87196                    if (wrapper->isAnimating())
87197                        return wrapper->currentAnimatedValue();
87198                }
87199                return m_##LowerProperty.value;
87200            }
87201
87202            PropertyType& LowerProperty##BaseValue() const
87203            {
87204                return m_##LowerProperty.value;
87205            }
87206
87207            void set##UpperProperty##BaseValue(const PropertyType& type)
87208            {
87209                m_##LowerProperty.value = type;
87210            }
87211
87212            Any code outside of svg/, eg. in rendering/svg, does not need to care about any baseVal/animVal differences.
87213            During layout eg. RenderSVGRect calls rect->x().value(someLengthContext) to get the current 'x' as float. If an animation
87214            is running on that rect element it will automatically retrieve the last set animated value here - all under the hood.
87215            I hope that sheds some light in those myserious functions, they were designed with animVal in mind, but we never had that until now :-)
87216
87217        (WebCore::SVGAnimatedPropertyTearOff::SVGAnimatedPropertyTearOff): Pass around AnimatedPropertyType.
87218        (WebCore::SVGAnimatedPropertyTearOff::~SVGAnimatedPropertyTearOff): Add destructor to debug builds veryifing that m_isAnimating is false.
87219        * svg/properties/SVGAnimatedStaticPropertyTearOff.h: Ditto.
87220        (WebCore::SVGAnimatedStaticPropertyTearOff::create):
87221        (WebCore::SVGAnimatedStaticPropertyTearOff::SVGAnimatedStaticPropertyTearOff):
87222        * svg/properties/SVGAnimatedTransformListPropertyTearOff.h: Ditto.
87223        (WebCore::SVGAnimatedTransformListPropertyTearOff::create):
87224        (WebCore::SVGAnimatedTransformListPropertyTearOff::SVGAnimatedTransformListPropertyTearOff):
87225        * svg/properties/SVGPropertyInfo.h: Add SVGGenericAnimatedType definition.
87226        * svg/properties/SVGPropertyTearOff.h: Remove obsolete updateAnimVal method - switched to using setValue directly.
87227
872282012-03-13  Luke Macpherson   <macpherson@chromium.org>
87229
87230        Implement CSSPropertyTextOverflow in CSSStyleApplyProperty.
87231        https://bugs.webkit.org/show_bug.cgi?id=80934
87232
87233        Reviewed by Andreas Kling.
87234
87235        No new tests / refactoring only.
87236
87237        * css/CSSStyleApplyProperty.cpp:
87238        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
87239        * css/CSSStyleSelector.cpp:
87240        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
87241
872422012-03-12  Matt Falkenhagen  <falken@chromium.org>
87243
87244        Switch Chromium from LocaleToScriptMappingICU.cpp to LocaleToScriptMappingDefault.cpp
87245        https://bugs.webkit.org/show_bug.cgi?id=80935
87246
87247        Reviewed by Kent Tamura.
87248
87249        ICU seems to have issues with non-well-formed locale strings.
87250        Currently, the only port that uses LocaleToScriptMappingICU.cpp is
87251        Chromium.
87252
87253        No new tests. LocaleToScriptMappingDefault.cpp is already used by
87254        other ports and covered by existing tests.
87255
87256        * WebCore.gyp/WebCore.gyp:
87257
872582012-03-12  Benjamin Poulain  <bpoulain@apple.com>
87259
87260        Fix IndexedDB build with JSC
87261        https://bugs.webkit.org/show_bug.cgi?id=80207
87262
87263        Reviewed by Adam Barth.
87264
87265        This fixes the build of WebKit when IndexedDB is enabled. Most functions were added
87266        empty implementation, it compiles but IndexedDB is not working.
87267
87268        * DerivedSources.make: Added missing IDL files.
87269        * Modules/indexeddb/IDBDatabaseBackendImpl.h: Fix warnings and build errors.
87270        (IDBDatabaseBackendImpl):
87271        * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: ditto.
87272        (WebCore::IDBDatabaseCallbacksImpl::unregisterDatabase): ditto.
87273        * Modules/indexeddb/IDBFactoryBackendImpl.cpp: ditto.
87274        (WebCore::IDBFactoryBackendImpl::openBackingStore):
87275        * Modules/indexeddb/IDBIndexBackendImpl.cpp: ditto.
87276        (WebCore::IDBIndexBackendImpl::countInternal):
87277        * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Fix the method signature and add
87278        an empty implementation.
87279        (WebCore):
87280        (WebCore::IDBKeyPathBackendImpl::createIDBKeysFromSerializedValuesAndKeyPath):
87281        (WebCore::IDBKeyPathBackendImpl::injectIDBKeyIntoSerializedValue):
87282        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Fix warnings.
87283        (WebCore::IDBObjectStoreBackendImpl::countInternal):
87284        * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: ditto.
87285        (WebCore::transactions):
87286        * Modules/indexeddb/IDBRequest.cpp: ditto.
87287        (WebCore::IDBRequest::resetReadyState):
87288        * Modules/indexeddb/IDBRequest.h: ditto.
87289        (WebCore::IDBRequest::onSuccessWithPrefetch):
87290        (WebCore):
87291        (WebCore::JSIDBVersionChangeRequest::visitChildren):
87292        * WebCore.xcodeproj/project.pbxproj:
87293        * bindings/js/IDBBindingUtilities.cpp:
87294        (WebCore::createIDBKeyFromValue): Fix the creation of IDBKeys.
87295        (WebCore::createOptionsObjectFromValue): Add an empty implementation of
87296        the handling of database options (IDBObjectStoreParameters).
87297        (WebCore):
87298        * bindings/js/IDBBindingUtilities.h:
87299        (WebCore):
87300        * bindings/js/JSIDBAnyCustom.cpp:
87301        (WebCore::toJS): Add the missing IDBAny's types.
87302        * bindings/js/JSIDBKeyCustom.cpp:
87303        (WebCore::toJS): Add the missing IDBKey's types.
87304        * bindings/js/JSIDBVersionChangeRequestCustom.cpp: Added.
87305        IDBVersionChangeRequest has the attribute EventTarget so it requires
87306        the visitChildren() function. An empty implementation was added.
87307        * bindings/js/OptionsObject.h: Add an empty implementation.
87308        (WebCore):
87309        (OptionsObject):
87310        (WebCore::OptionsObject::OptionsObject):
87311        (WebCore::OptionsObject::isObject):
87312        (WebCore::OptionsObject::isUndefinedOrNull):
87313        (WebCore::OptionsObject::get):
87314        (WebCore::OptionsObject::getWithUndefinedOrNullCheck):
87315        * bindings/js/SerializedScriptValue.cpp: Add the missing functions needed by IndexedDB.
87316        (WebCore):
87317        (WebCore::SerializedScriptValue::create):
87318        (WebCore::SerializedScriptValue::toWireString):
87319        (WebCore::SerializedScriptValue::createFromWire):
87320        (WebCore::SerializedScriptValue::numberValue):
87321        (WebCore::SerializedScriptValue::deserialize):
87322        * bindings/js/SerializedScriptValue.h:
87323        (SerializedScriptValue):
87324        * bindings/scripts/CodeGeneratorJS.pm: Modify the code generator to:
87325        -Support the IDBKey type correctly.
87326        -Support the OptionsObject type.
87327        -Generate valid function call for static functions.
87328        (GenerateImplementationFunctionCall):
87329        (JSValueToNative):
87330        (NativeToJSValue):
87331        * inspector/InspectorIndexedDBAgent.cpp:
87332        (WebCore):
87333
873342012-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
87335
87336        Unreviewed, rolling out r110529.
87337        http://trac.webkit.org/changeset/110529
87338        https://bugs.webkit.org/show_bug.cgi?id=80969
87339
87340        breaks mac build (Requested by morrita on #webkit).
87341
87342        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
87343        (WebCore::computeUnoccludedContentRect):
87344
873452012-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
87346
87347        Unreviewed, rolling out r110524.
87348        http://trac.webkit.org/changeset/110524
87349        https://bugs.webkit.org/show_bug.cgi?id=80936
87350
87351        breaks chromium win build. (Requested by morrita on #webkit).
87352
87353        * Target.pri:
87354        * UseV8.cmake:
87355        * WebCore.gypi:
87356        * bindings/scripts/CodeGeneratorJS.pm:
87357        (GenerateHeader):
87358        (GenerateImplementation):
87359        * bindings/scripts/CodeGeneratorV8.pm:
87360        (GenerateHeader):
87361        (GenerateNamedConstructorCallback):
87362        (GenerateImplementation):
87363        * bindings/scripts/IDLAttributes.txt:
87364        * bindings/scripts/test/V8/V8Float64Array.cpp:
87365        (WebCore):
87366        * bindings/scripts/test/V8/V8Float64Array.h:
87367        (V8Float64Array):
87368        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
87369        (WebCore):
87370        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
87371        (V8TestActiveDOMObject):
87372        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
87373        (WebCore):
87374        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
87375        (V8TestCustomNamedGetter):
87376        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
87377        (WebCore):
87378        * bindings/scripts/test/V8/V8TestEventConstructor.h:
87379        (V8TestEventConstructor):
87380        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
87381        (WebCore):
87382        * bindings/scripts/test/V8/V8TestEventTarget.h:
87383        (V8TestEventTarget):
87384        * bindings/scripts/test/V8/V8TestInterface.cpp:
87385        (WebCore):
87386        * bindings/scripts/test/V8/V8TestInterface.h:
87387        (V8TestInterface):
87388        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
87389        (WebCore):
87390        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
87391        (V8TestMediaQueryListListener):
87392        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
87393        (WebCore):
87394        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
87395        (V8TestNamedConstructor):
87396        * bindings/scripts/test/V8/V8TestObj.cpp:
87397        (WebCore):
87398        * bindings/scripts/test/V8/V8TestObj.h:
87399        (V8TestObj):
87400        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
87401        (WebCore):
87402        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
87403        (V8TestSerializedScriptValueInterface):
87404        * bindings/v8/NPV8Object.cpp:
87405        (WebCore::npObjectTypeInfo):
87406        * bindings/v8/V8GCController.cpp:
87407        (WebCore::GrouperVisitor::visitDOMWrapper):
87408        * bindings/v8/WrapperTypeInfo.h:
87409        (WebCore):
87410        (WrapperTypeInfo):
87411        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
87412        (WebCore):
87413        (WebCore::toV8):
87414        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
87415        (WebCore::toV8):
87416        (WebCore):
87417        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8StyleSheetCustom.cpp.
87418        (WebCore):
87419        (WebCore::toV8):
87420        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
87421        (WebCore):
87422        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
87423        (WebCore::toV8):
87424        (WebCore):
87425        * bindings/v8/custom/V8StyleSheetCustom.cpp:
87426        (WebCore::toV8):
87427        * css/CSSStyleSheet.idl:
87428        * css/StyleSheet.idl:
87429        * dom/DOMStringMap.idl:
87430        * dom/NamedNodeMap.idl:
87431        * html/DOMTokenList.idl:
87432        * html/track/TextTrackList.idl:
87433
874342012-03-12  Kentaro Hara  <haraken@chromium.org>
87435
87436        [V8][Refactoring] Remove getCachedWrapperSlow() from V8Bindings.cpp
87437        https://bugs.webkit.org/show_bug.cgi?id=80924
87438
87439        Reviewed by Adam Barth.
87440
87441        getCachedWrapperSlow() is called by getCachedWrapper() only,
87442        and getCachedWrapperSlow() just calls getCachedWrapperInline().
87443        Thus, this patch expands getCachedWrapperInline() into getCachedWrapper(),
87444        and removes getCachedWrapperSlow().
87445
87446        No tests. No change in behavior.
87447
87448        * bindings/v8/V8DOMWrapper.cpp:
87449        * bindings/v8/V8DOMWrapper.h:
87450        (WebCore::V8DOMWrapper::getCachedWrapper):
87451
874522012-03-12  Kentaro Hara  <haraken@chromium.org>
87453
87454        [V8][Refactoring] Remove existingWrapper() from generated code
87455        https://bugs.webkit.org/show_bug.cgi?id=80927
87456
87457        Reviewed by Adam Barth.
87458
87459        Currently wrap() calls existingWrapper(), and existingWrapper()
87460        just calls getCachedWrapper(). We can remove existingWrapper() from the generated code.
87461
87462        Test: bindings/scripts/test/*
87463
87464        * bindings/scripts/CodeGeneratorV8.pm: Removed existingWrapper().
87465        (GenerateHeader):
87466        (GenerateNormalAttrGetter):
87467
87468        * bindings/scripts/test/V8/V8Float64Array.h: Updated run-bindings-tests results.
87469        (V8Float64Array):
87470        (WebCore::V8Float64Array::wrap):
87471        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
87472        (V8TestActiveDOMObject):
87473        (WebCore::V8TestActiveDOMObject::wrap):
87474        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
87475        (V8TestCustomNamedGetter):
87476        (WebCore::V8TestCustomNamedGetter::wrap):
87477        * bindings/scripts/test/V8/V8TestEventConstructor.h:
87478        (V8TestEventConstructor):
87479        (WebCore::V8TestEventConstructor::wrap):
87480        * bindings/scripts/test/V8/V8TestEventTarget.h:
87481        (V8TestEventTarget):
87482        (WebCore::V8TestEventTarget::wrap):
87483        * bindings/scripts/test/V8/V8TestInterface.h:
87484        (V8TestInterface):
87485        (WebCore::V8TestInterface::wrap):
87486        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
87487        (V8TestMediaQueryListListener):
87488        (WebCore::V8TestMediaQueryListListener::wrap):
87489        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
87490        (V8TestNamedConstructor):
87491        (WebCore::V8TestNamedConstructor::wrap):
87492        * bindings/scripts/test/V8/V8TestObj.cpp:
87493        (WebCore::TestObjInternal::readOnlyTestObjAttrAttrGetter):
87494        (WebCore::TestObjInternal::cachedAttribute1AttrGetter):
87495        (WebCore::TestObjInternal::cachedAttribute2AttrGetter):
87496        * bindings/scripts/test/V8/V8TestObj.h:
87497        (V8TestObj):
87498        (WebCore::V8TestObj::wrap):
87499        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
87500        (V8TestSerializedScriptValueInterface):
87501        (WebCore::V8TestSerializedScriptValueInterface::wrap):
87502
875032012-03-12  Dana Jansens  <danakj@chromium.org>
87504
87505        [chromium] Use tileRect instead of pointer derefs
87506        https://bugs.webkit.org/show_bug.cgi?id=80919
87507
87508        Reviewed by Adrienne Walker.
87509
87510        Covered by existing tests.
87511
87512        * platform/graphics/chromium/LayerRendererChromium.cpp:
87513        (WebCore::LayerRendererChromium::drawTileQuad):
87514
875152012-03-12  Hans Muller  <hmuller@adobe.com>
87516
87517        SVG should support transform-origin and relative values
87518        https://bugs.webkit.org/show_bug.cgi?id=79068
87519
87520        Reviewed by Dirk Schulze.
87521
87522        Added SVG support for the CSS 'transform-origin' property and for percentage
87523        values in the transform translate function.  The changes conform to
87524        http://dev.w3.org/csswg/css3-transforms/.
87525
87526        Tests: svg/transforms/percent-transform-values.xhtml
87527               svg/transforms/transform-origin-css-property.xhtml
87528
87529        * css/svg.css:
87530        (*):
87531        (html|* > svg):
87532        Default transform-origin for SVG elements is 0 0.
87533
87534        * platform/Length.h:
87535        (WebCore::Length::calcFloatValue):
87536        Added a calcFloatValue overload whose max parameter (for percent lengths) is a float.
87537        The original version will be obsolete when the sub-pixel layout support is completed.
87538
87539        * rendering/style/RenderStyle.cpp:
87540        * rendering/style/RenderStyle.h:
87541        (WebCore):
87542        (WebCore::requireTransformOrigin):
87543        Transforms that only include translations don't depend on the transform-origin.
87544
87545        (WebCore::RenderStyle::applyTransform):
87546        SVG elements interpret non-percentage/keyword transform-origin values relative to their viewport,
87547        unlike HTML which interprets all transform-origin values relative to the element's origin.
87548        The new FloatRect applyTransform() function handles SVG semantics. Similarly, SVG elements interpret
87549        percentage/keyword transform-origin values relative to the origin of their objectBoundingBox(), HTML
87550        uses the borderBox.  All this per http://dev.w3.org/csswg/css3-transforms/.
87551
87552        * svg/SVGStyledTransformableElement.cpp:
87553        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
87554
875552012-03-12  Dana Jansens  <danakj@chromium.org>
87556
87557        [chromium] Use projectQuad to apply inverse mapRect
87558        https://bugs.webkit.org/show_bug.cgi?id=80741
87559
87560        Reviewed by Adrienne Walker.
87561
87562        Unit test: CCOcclusionTrackerTest3dTransform
87563                   CCOcclusionTrackerTestPerspectiveTransform
87564                   CCOcclusionTrackerTestPerspectiveTransformBehindCamera
87565
87566        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
87567        (WebCore::projectQuad):
87568        (WebCore):
87569        (WebCore::computeUnoccludedContentRect):
87570
875712012-03-12  Leo Yang  <leo.yang@torchmobile.com.cn>
87572
87573        [BlackBerry] Upstream the BlackBerry change to platform/graphics/FontPlatformData.h
87574        https://bugs.webkit.org/show_bug.cgi?id=80820
87575
87576        Reviewed by Rob Buis.
87577
87578        The BlackBerry is using the FontPlatformData from Chromium porting.
87579
87580        * platform/graphics/FontPlatformData.h:
87581
875822012-03-12  Zhenyao Mo  <zmo@google.com>
87583
87584        After webgl canvas resize, bindings might be lost
87585        https://bugs.webkit.org/show_bug.cgi?id=80895
87586
87587        Reviewed by Stephen White.
87588
87589        Test: fast/canvas/webgl/texture-bindings-uneffected-on-resize.html
87590
87591        * html/canvas/WebGLRenderingContext.cpp:
87592        (WebCore):
87593        (WebCore::WebGLRenderingContext::reshape): recover bindings after reshape.
87594
875952012-03-12  Kentaro Hara  <haraken@chromium.org>
87596
87597        [V8][Refactoring] Remove getWrapper() and getWrapperSlow()
87598        https://bugs.webkit.org/show_bug.cgi?id=80920
87599
87600        Reviewed by Adam Barth.
87601
87602        Now getWrapper() is the same as getExistingWrapper().
87603        getWrapperSlow() is the same as getExistingWrapperSlow().
87604        This patch removes getWrapper() and getWrapperSlow().
87605        Also this patch renames getExistingWrapper() to getCachedWrapper().
87606
87607        No tests. No change in behavior.
87608
87609        * bindings/scripts/CodeGeneratorV8.pm:
87610        (GenerateHeader):
87611        * bindings/v8/V8DOMWrapper.cpp:
87612        (WebCore::V8DOMWrapper::getWrapperSlow):
87613        * bindings/v8/V8DOMWrapper.h:
87614        (WebCore::V8DOMWrapper::getWrapper):
87615        (V8DOMWrapper):
87616        * bindings/v8/custom/V8NodeCustom.cpp:
87617        (WebCore::toV8Slow):
87618
876192012-03-12  Erik Arvidsson  <arv@chromium.org>
87620
87621        [V8] Use v8::V8::AddHiddenReferences instead of SetHiddenValue
87622        https://bugs.webkit.org/show_bug.cgi?id=80880
87623
87624        Reviewed by Adam Barth.
87625
87626        We used to add a hidden property in the getter to the returned wrapper.
87627        With this patch we instead handle the liveness of the wrapper in the GC phase by
87628        calling v8::V8::AddHiddenReference.
87629
87630        To reduce the amount of custom code we need, the V8 code generator now supports
87631        GenerateIsReachable (as well as CustomIsReachable) which, even though different
87632        from the JSC attribute, is used in the same cases and takes the same values (even though
87633        at the moment not all JSC values are supported by V8).
87634
87635        No new tests. Covered by existing tests.
87636
87637        * Target.pri:
87638        * UseV8.cmake:
87639        * WebCore.gypi:
87640        * bindings/scripts/CodeGeneratorJS.pm:
87641        (GetGenerateIsReachable):
87642        (GetCustomIsReachable):
87643        (GenerateHeader):
87644        (GenerateImplementation):
87645        * bindings/scripts/CodeGeneratorV8.pm:
87646        (NeedsToVisitDOMWrapper):
87647        (GetGenerateIsReachable):
87648        (GetCustomIsReachable):
87649        (GenerateVisitDOMWrapper):
87650        (GenerateHeader):
87651        (GenerateNamedConstructorCallback):
87652        (GenerateImplementation):
87653        * bindings/scripts/IDLAttributes.txt:
87654        * bindings/scripts/test/V8/V8Float64Array.cpp:
87655        (WebCore):
87656        * bindings/scripts/test/V8/V8Float64Array.h:
87657        (V8Float64Array):
87658        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
87659        (WebCore):
87660        * bindings/scripts/test/V8/V8TestActiveDOMObject.h:
87661        (V8TestActiveDOMObject):
87662        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
87663        (WebCore):
87664        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h:
87665        (V8TestCustomNamedGetter):
87666        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
87667        (WebCore):
87668        * bindings/scripts/test/V8/V8TestEventConstructor.h:
87669        (V8TestEventConstructor):
87670        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
87671        (WebCore):
87672        * bindings/scripts/test/V8/V8TestEventTarget.h:
87673        (V8TestEventTarget):
87674        * bindings/scripts/test/V8/V8TestInterface.cpp:
87675        (WebCore):
87676        * bindings/scripts/test/V8/V8TestInterface.h:
87677        (V8TestInterface):
87678        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
87679        (WebCore):
87680        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h:
87681        (V8TestMediaQueryListListener):
87682        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
87683        (WebCore):
87684        * bindings/scripts/test/V8/V8TestNamedConstructor.h:
87685        (V8TestNamedConstructor):
87686        * bindings/scripts/test/V8/V8TestObj.cpp:
87687        (WebCore):
87688        * bindings/scripts/test/V8/V8TestObj.h:
87689        (V8TestObj):
87690        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
87691        (WebCore):
87692        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
87693        (V8TestSerializedScriptValueInterface):
87694        * bindings/v8/NPV8Object.cpp:
87695        (WebCore::npObjectTypeInfo):
87696        * bindings/v8/V8GCController.cpp:
87697        (WebCore::GrouperVisitor::visitDOMWrapper):
87698        * bindings/v8/WrapperTypeInfo.h:
87699        (WebCore):
87700        (WrapperTypeInfo):
87701        * bindings/v8/custom/V8CSSStyleSheetCustom.cpp: Removed.
87702        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
87703        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
87704        * bindings/v8/custom/V8HTMLImageElementConstructor.cpp:
87705        (WebCore):
87706        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
87707        * bindings/v8/custom/V8StyleSheetCustom.cpp:
87708        (WebCore::toV8):
87709        * css/CSSStyleSheet.idl:
87710        * css/StyleSheet.idl:
87711        * dom/DOMStringMap.idl:
87712        * dom/NamedNodeMap.idl:
87713        * html/DOMTokenList.idl:
87714        * html/track/TextTrackList.idl:
87715
877162012-03-12  Kentaro Hara  <haraken@chromium.org>
87717
87718        [V8][Refactoring] Make getWrapperSlow() and getExistingWrapperSlow() same
87719        https://bugs.webkit.org/show_bug.cgi?id=80916
87720
87721        Reviewed by Adam Barth.
87722
87723        This is one of the steps for fixing bug 80841.
87724        This patch makes getWrapperSlow() and getExistingWrapperSlow() same.
87725        In the next patch, we will remove getExistingWrapper() and getExistingWrapperSlow().
87726
87727        No tests. No change in behavior.
87728
87729        * bindings/scripts/CodeGeneratorV8.pm:
87730        (GenerateHeader):
87731        * bindings/v8/V8DOMWrapper.cpp:
87732        (WebCore::V8DOMWrapper::getWrapperSlow):
87733
877342012-03-12  Kentaro Hara  <haraken@chromium.org>
87735
87736        [V8] Refactor some header includes in V8 bindings
87737        https://bugs.webkit.org/show_bug.cgi?id=80913
87738
87739        Reviewed by Adam Barth.
87740
87741        This patch refactors some header includes in V8 bindings
87742        required for fixing bug 80841.
87743
87744        No tests. No change in behavior.
87745
87746        * bindings/v8/DOMDataStore.h:
87747        (DOMDataStore):
87748        * bindings/v8/V8DOMMap.h:
87749        * bindings/v8/V8DOMWrapper.cpp:
87750        * bindings/v8/V8IsolatedContext.cpp:
87751        (WebCore::V8IsolatedContext::isolatedContext):
87752        * bindings/v8/V8IsolatedContext.h:
87753        (WebCore::V8IsolatedContext::getEntered):
87754        (V8IsolatedContext):
87755        * bindings/v8/WorldContextHandle.cpp:
87756
877572012-03-12  Sheriff Bot  <webkit.review.bot@gmail.com>
87758
87759        Unreviewed, rolling out r110501.
87760        http://trac.webkit.org/changeset/110501
87761        https://bugs.webkit.org/show_bug.cgi?id=80908
87762
87763        Broke the Apple-Win build (Requested by abarth on #webkit).
87764
87765        * CMakeLists.txt:
87766        * DerivedSources.make:
87767        * DerivedSources.pri:
87768        * GNUmakefile.am:
87769        * GNUmakefile.list.am:
87770        * Target.pri:
87771        * WebCore.gyp/WebCore.gyp:
87772        * WebCore.gypi:
87773        * WebCore.pri:
87774        * WebCore.xcodeproj/project.pbxproj:
87775        * fileapi/DirectoryEntry.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.cpp.
87776        (WebCore):
87777        (WebCore::DirectoryEntry::DirectoryEntry):
87778        (WebCore::DirectoryEntry::createReader):
87779        (WebCore::DirectoryEntry::getFile):
87780        (WebCore::DirectoryEntry::getDirectory):
87781        (WebCore::DirectoryEntry::removeRecursively):
87782        * fileapi/DirectoryEntry.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.h.
87783        (WebCore):
87784        (DirectoryEntry):
87785        (WebCore::DirectoryEntry::create):
87786        (WebCore::DirectoryEntry::isDirectory):
87787        * fileapi/DirectoryEntry.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntry.idl.
87788        * fileapi/DirectoryEntrySync.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.cpp.
87789        (WebCore):
87790        (WebCore::DirectoryEntrySync::DirectoryEntrySync):
87791        (WebCore::DirectoryEntrySync::createReader):
87792        (WebCore::DirectoryEntrySync::getFile):
87793        (WebCore::DirectoryEntrySync::getDirectory):
87794        (WebCore::DirectoryEntrySync::removeRecursively):
87795        * fileapi/DirectoryEntrySync.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.h.
87796        (WebCore):
87797        (DirectoryEntrySync):
87798        (WebCore::DirectoryEntrySync::create):
87799        (WebCore::DirectoryEntrySync::isDirectory):
87800        * fileapi/DirectoryEntrySync.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryEntrySync.idl.
87801        * fileapi/DirectoryReader.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.cpp.
87802        (WebCore):
87803        (WebCore::DirectoryReader::DirectoryReader):
87804        (WebCore::DirectoryReader::readEntries):
87805        * fileapi/DirectoryReader.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.h.
87806        (WebCore):
87807        (DirectoryReader):
87808        (WebCore::DirectoryReader::create):
87809        (WebCore::DirectoryReader::filesystem):
87810        * fileapi/DirectoryReader.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryReader.idl.
87811        * fileapi/DirectoryReaderBase.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderBase.h.
87812        (WebCore):
87813        (DirectoryReaderBase):
87814        (WebCore::DirectoryReaderBase::filesystem):
87815        (WebCore::DirectoryReaderBase::setHasMoreEntries):
87816        (WebCore::DirectoryReaderBase::DirectoryReaderBase):
87817        * fileapi/DirectoryReaderSync.cpp: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.cpp.
87818        (WebCore):
87819        (WebCore::DirectoryReaderSync::DirectoryReaderSync):
87820        (WebCore::DirectoryReaderSync::readEntries):
87821        * fileapi/DirectoryReaderSync.h: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.h.
87822        (WebCore):
87823        (DirectoryReaderSync):
87824        (WebCore::DirectoryReaderSync::create):
87825        * fileapi/DirectoryReaderSync.idl: Renamed from Source/WebCore/Modules/filesystem/DirectoryReaderSync.idl.
87826
878272012-03-12  Nico Weber  <thakis@chromium.org>
87828
87829        [chromium/mac] Make sure libWebKitSystemInterface.a doesn't contain ppc object files.
87830        https://bugs.webkit.org/show_bug.cgi?id=80902
87831
87832        Reviewed by Adam Barth.
87833
87834        Follow-up to http://codereview.chromium.org/9638015/
87835
87836        No intended behavior change.
87837
87838        * WebCore.gyp/mac/adjust_visibility.sh:
87839
878402012-03-12  Jer Noble  <jer.noble@apple.com>
87841
87842        WebCore: Add support for AudioNode "tailTime()" and "latencyTime()"
87843        https://bugs.webkit.org/show_bug.cgi?id=74750
87844
87845        Reviewed by Chris Rogers.
87846
87847        No new tests; optimization of existing code path, so covered by existing tests.
87848
87849        To account for AudioNodes which may generate non-silent audio when fed silent input
87850        for a certain amount of time after the last non-silent audio data, add two new virtual
87851        functions tailTime() and latencyTime().
87852
87853        * webaudio/AudioNode.h:
87854        (WebCore::AudioNode::tailTime): Added. Pure virtual.
87855        (WebCore::AudioNode::latencyTime): Added. Pure virtual.
87856        * platform/audio/AudioProcessor.h:
87857        (WebCore::AudioProcessor::tailTime): Added. Pure virtual.
87858        (WebCore::AudioProcessor::latencyTime): Added. Pure virtual.
87859        * platform/audio/AudioDSPKernel.h:
87860        (WebCore::AudioDSPKernel::tailTime): Added. Pure virtual.
87861        (WebCore::AudioDSPKernel::latencyTime): Added. Pure virtual.
87862
87863        Added tailTime() and latencyTime() overrides to the following classes:
87864        * platform/audio/AudioDSPKernelProcessor.cpp:
87865        (WebCore::AudioDSPKernelProcessor::tailTime):
87866        (WebCore::AudioDSPKernelProcessor::latencyTime):
87867        * platform/audio/AudioDSPKernelProcessor.h:
87868        * platform/audio/DynamicsCompressor.h:
87869        (WebCore::DynamicsCompressor::tailTime):
87870        (WebCore::DynamicsCompressor::latencyTime):
87871        * platform/audio/EqualPowerPanner.h:
87872        * platform/audio/HRTFPanner.cpp:
87873        (WebCore::HRTFPanner::tailTime):
87874        (WebCore::HRTFPanner::latencyTime):
87875        * platform/audio/HRTFPanner.h:
87876        * platform/audio/Panner.h:
87877        * webaudio/AudioBasicProcessorNode.cpp:
87878        (WebCore::AudioBasicProcessorNode::tailTime):
87879        (WebCore::AudioBasicProcessorNode::latencyTime):
87880        * webaudio/AudioBasicProcessorNode.h:
87881        * webaudio/AudioChannelMerger.h:
87882        * webaudio/AudioChannelSplitter.h:
87883        * webaudio/AudioDestinationNode.h:
87884        * webaudio/AudioGainNode.h:
87885        * webaudio/AudioPannerNode.h:
87886        * webaudio/AudioSourceNode.h:
87887        * webaudio/BiquadDSPKernel.cpp:
87888        (WebCore::BiquadDSPKernel::tailTime):
87889        (WebCore::BiquadDSPKernel::latencyTime):
87890        * webaudio/BiquadDSPKernel.h:
87891        * webaudio/BiquadFilterNode.h:
87892        * webaudio/ConvolverNode.cpp:
87893        (WebCore::ConvolverNode::tailTime):
87894        (WebCore::ConvolverNode::latencyTime):
87895        * webaudio/ConvolverNode.h:
87896        * webaudio/DelayDSPKernel.cpp:
87897        (WebCore::DelayDSPKernel::tailTime):
87898        (WebCore::DelayDSPKernel::latencyTime):
87899        * webaudio/DelayDSPKernel.h:
87900        * webaudio/DelayProcessor.h:
87901        * webaudio/DynamicsCompressorNode.cpp:
87902        (WebCore::DynamicsCompressorNode::tailTime):
87903        (WebCore::DynamicsCompressorNode::latencyTime):
87904        * webaudio/DynamicsCompressorNode.h:
87905        * webaudio/JavaScriptAudioNode.cpp:
87906        (WebCore::JavaScriptAudioNode::tailTime):
87907        (WebCore::JavaScriptAudioNode::latencyTime):
87908        * webaudio/JavaScriptAudioNode.h:
87909        * webaudio/RealtimeAnalyserNode.h:
87910        * webaudio/WaveShaperDSPKernel.h:
87911
87912        The following functions were added as support for the new AudioNode and AudioProcessor functions:
87913        * platform/audio/Biquad.cpp:
87914        (WebCore::Biquad::latencyFrames):
87915        * platform/audio/Biquad.h:
87916        * platform/audio/Reverb.cpp:
87917        (WebCore::Reverb::latencyFrames):
87918        * platform/audio/ReverbConvolver.h:
87919        (WebCore::ReverbConvolver::latencyFrames):
87920
87921        The following functions were made const-correct:
87922        * platform/audio/HRTFPanner.h:
87923        (WebCore::HRTFPanner::fftSize):
87924        * platform/audio/Reverb.h:
87925        (WebCore::Reverb::impulseResponseLength):
87926
879272012-03-12  Anders Carlsson  <andersca@apple.com>
87928
87929        WebTileLayers should be opaque
87930        https://bugs.webkit.org/show_bug.cgi?id=80907
87931        <rdar://problem/11034390>
87932
87933        Reviewed by Andreas Kling.
87934
87935        * platform/graphics/ca/mac/TileCache.mm:
87936        (WebCore::TileCache::createTileLayer):
87937        Call -[CALayer setOpaque:] on the newly created WebTileLayer.
87938
879392012-03-12  Emil A Eklund  <eae@chromium.org>
87940
87941        Fix rounding in scrollbar rect calculations
87942        https://bugs.webkit.org/show_bug.cgi?id=80894
87943
87944        Reviewed by Eric Seidel.
87945
87946        Fix usage of subpixel units in RenderScrollbar::buttonRect and
87947        RenderScrollbar::trackRect.
87948
87949        No new tests, no new functionality.
87950
87951        * rendering/LayoutTypes.h:
87952        (WebCore::isIntegerValue):
87953        Add dummy isIntegerValue function, will be replaced with actual
87954        implementation once LayoutUnit is remapped to FractionalLayoutUnit.
87955        
87956        * rendering/RenderScrollbar.cpp:
87957        (WebCore::RenderScrollbar::buttonRect):
87958        (WebCore::RenderScrollbar::trackRect):
87959        Change rect calculations to use pixel snapped values.
87960
87961        * rendering/RenderScrollbarPart.h:
87962        (RenderScrollbarPart):
87963        (WebCore::RenderScrollbarPart::marginTop):
87964        (WebCore::RenderScrollbarPart::marginBottom):
87965        (WebCore::RenderScrollbarPart::marginLeft):
87966        (WebCore::RenderScrollbarPart::marginRight):
87967        Add ASSERT to ensure that scrollbar parts are always aligned to device
87968        pixels.
87969
879702012-03-12  C Anthony Risinger  <anthony@xtfx.me>
87971
87972        [GObject IDL Parser] STRING argument should be HASHREF
87973        https://bugs.webkit.org/show_bug.cgi?id=78877
87974
87975        Reviewed by Kentaro Hara.
87976
87977        * bindings/scripts/CodeGeneratorGObject.pm:
87978        (GenerateFunctions): extendedAttributes are hashes, not strings
87979
879802012-03-12  Jessie Berlin  <jberlin@apple.com>
87981
87982        More Windows build fixing.
87983
87984        Use fully qualified paths for WTF headers.
87985
87986        * platform/graphics/cg/ImageSourceCGWin.cpp:
87987        * platform/graphics/win/UniscribeController.h:
87988        * platform/win/DragImageCGWin.cpp:
87989        * platform/win/DragImageCairoWin.cpp:
87990        * platform/win/DragImageWin.cpp:
87991        * rendering/RenderThemeSafari.cpp:
87992
879932012-03-12  Mark Pilgrim  <pilgrim@chromium.org>
87994
87995        Move DirectoryEntry and DirectoryReader to new Modules/filesystem/ directory
87996        https://bugs.webkit.org/show_bug.cgi?id=80625
87997
87998        Reviewed by Adam Barth.
87999
88000        No new tests, all existing tests pass.
88001
88002        * CMakeLists.txt:
88003        * DerivedSources.make:
88004        * DerivedSources.pri:
88005        * GNUmakefile.am:
88006        * GNUmakefile.list.am:
88007        * Modules/filesystem: Added.
88008        * Modules/filesystem/DirectoryEntry.cpp: Copied from Source/WebCore/fileapi/DirectoryEntry.cpp.
88009        * Modules/filesystem/DirectoryEntry.h: Copied from Source/WebCore/fileapi/DirectoryEntry.h.
88010        * Modules/filesystem/DirectoryEntry.idl: Copied from Source/WebCore/fileapi/DirectoryEntry.idl.
88011        * Modules/filesystem/DirectoryEntrySync.cpp: Copied from Source/WebCore/fileapi/DirectoryEntrySync.cpp.
88012        * Modules/filesystem/DirectoryEntrySync.h: Copied from Source/WebCore/fileapi/DirectoryEntrySync.h.
88013        * Modules/filesystem/DirectoryEntrySync.idl: Copied from Source/WebCore/fileapi/DirectoryEntrySync.idl.
88014        * Modules/filesystem/DirectoryReader.cpp: Copied from Source/WebCore/fileapi/DirectoryReader.cpp.
88015        * Modules/filesystem/DirectoryReader.h: Copied from Source/WebCore/fileapi/DirectoryReader.h.
88016        * Modules/filesystem/DirectoryReader.idl: Copied from Source/WebCore/fileapi/DirectoryReader.idl.
88017        * Modules/filesystem/DirectoryReaderBase.h: Copied from Source/WebCore/fileapi/DirectoryReaderBase.h.
88018        * Modules/filesystem/DirectoryReaderSync.cpp: Copied from Source/WebCore/fileapi/DirectoryReaderSync.cpp.
88019        * Modules/filesystem/DirectoryReaderSync.h: Copied from Source/WebCore/fileapi/DirectoryReaderSync.h.
88020        * Modules/filesystem/DirectoryReaderSync.idl: Copied from Source/WebCore/fileapi/DirectoryReaderSync.idl.
88021        * Target.pri:
88022        * WebCore.gyp/WebCore.gyp:
88023        * WebCore.gypi:
88024        * WebCore.pri:
88025        * WebCore.xcodeproj/project.pbxproj:
88026        * fileapi/DirectoryEntry.cpp: Removed.
88027        * fileapi/DirectoryEntry.h: Removed.
88028        * fileapi/DirectoryEntry.idl: Removed.
88029        * fileapi/DirectoryEntrySync.cpp: Removed.
88030        * fileapi/DirectoryEntrySync.h: Removed.
88031        * fileapi/DirectoryEntrySync.idl: Removed.
88032        * fileapi/DirectoryReader.cpp: Removed.
88033        * fileapi/DirectoryReader.h: Removed.
88034        * fileapi/DirectoryReader.idl: Removed.
88035        * fileapi/DirectoryReaderBase.h: Removed.
88036        * fileapi/DirectoryReaderSync.cpp: Removed.
88037        * fileapi/DirectoryReaderSync.h: Removed.
88038        * fileapi/DirectoryReaderSync.idl: Removed.
88039
880402012-03-12  Brady Eidson  <beidson@apple.com>
88041
88042        https://bugs.webkit.org/show_bug.cgi?id=80903
88043        InspectorDOMStorageAgent creates a Storage object which is a DOMWindowProperty - Should use the StorageArea directly
88044
88045        Reviewed by Tim Hatcher.
88046
88047        No new tests. (No behavior change)
88048
88049        Changed to hold the StorageArea directly and added a Frame* accessor:
88050        * inspector/InspectorDOMStorageResource.h:
88051        (WebCore::InspectorDOMStorageResource::create):
88052        (WebCore::InspectorDOMStorageResource::storageArea):
88053        (WebCore::InspectorDOMStorageResource::frame):
88054        (InspectorDOMStorageResource):
88055
88056        * inspector/InspectorDOMStorageResource.cpp:
88057        (WebCore::InspectorDOMStorageResource::InspectorDOMStorageResource):
88058
88059        * inspector/InspectorDOMStorageAgent.cpp:
88060        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
88061        (WebCore::InspectorDOMStorageAgent::setDOMStorageItem):
88062        (WebCore::InspectorDOMStorageAgent::removeDOMStorageItem):
88063        (WebCore::InspectorDOMStorageAgent::didUseDOMStorage):
88064
880652012-03-12  Brian Salomon  <bsalomon@google.com>
88066
88067        [Skia] Release CGImage used to apply color space conversion to SkBitmap
88068        https://bugs.webkit.org/show_bug.cgi?id=80892
88069
88070        Reviewed by Adam Barth.
88071
88072        Regressions should be covered by any test that does image decode on the mac.
88073
88074        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
88075        (WebCore::resolveColorSpace):
88076
880772012-03-12  Levi Weintraub  <leviw@chromium.org>
88078
88079        Update LayoutUnit usage in RenderMathML* classes
88080        https://bugs.webkit.org/show_bug.cgi?id=77916
88081
88082        Reviewed by Eric Seidel.
88083
88084        The purpose of this patch is to ensure MathML rendering does not regress when
88085        we switch to sub-pixel layout. A subsequent patch can likely improve MathML's
88086        rendering when zoom is applied.
88087
88088        To accomplish this without changing the current heuristics for positioning,
88089        we continue to use integers for sizes and locations, using pixel snapping
88090        when communicating with other Rendering classes.
88091
88092        No new tests. No change in behavior.
88093
88094        * rendering/mathml/RenderMathMLBlock.cpp:
88095        (WebCore::RenderMathMLBlock::paint): Cleaning up debug painting to be on
88096        pixel boundaries instead of subpixel.
88097        * rendering/mathml/RenderMathMLFraction.cpp:
88098        (WebCore::RenderMathMLFraction::paint): Reverting to integers for determining
88099        the vertical offset.
88100        (WebCore::RenderMathMLFraction::baselinePosition):
88101        * rendering/mathml/RenderMathMLRoot.cpp:
88102        (WebCore::RenderMathMLRoot::paint): Using integers for height and width
88103        and only accumulating pixel snapped values.
88104        (WebCore::RenderMathMLRoot::layout): Setting padding with integers to
88105        avoid inconsistent rounding based on the root's location.
88106        * rendering/mathml/RenderMathMLRow.cpp:
88107        (WebCore::RenderMathMLRow::layout):
88108        * rendering/mathml/RenderMathMLSquareRoot.cpp:
88109        (WebCore::RenderMathMLSquareRoot::paint): See RenderMathMLRoot.
88110        (WebCore::RenderMathMLSquareRoot::layout): Ditto.
88111        * rendering/mathml/RenderMathMLUnderOver.cpp:
88112        (WebCore::getOffsetHeight):
88113        (WebCore::RenderMathMLUnderOver::layout):
88114
881152012-03-12  Anders Carlsson  <andersca@apple.com>
88116
88117        Use smaller tiles for right and bottom edges
88118        https://bugs.webkit.org/show_bug.cgi?id=80893
88119        <rdar://problem/11032873>
88120
88121        Reviewed by Sam Weinig.
88122
88123        * platform/graphics/ca/mac/TileCache.mm:
88124        (WebCore::TileCache::rectForTileIndex):
88125        Intersect the rect with the tile cache bounds.
88126
88127        (WebCore::TileCache::revalidateTiles):
88128        Resize already existing tiles if needed.
88129
88130        (WebCore::TileCache::createTileLayer):
88131        This now takes a tile rect. Use setFrame instead of setting the bounds and position separately.
88132
881332012-03-12  Enrica Casucci  <enrica@apple.com>
88134
88135        WebKit2: remove NSPasteboard access for promised data from the WebProcess
88136        https://bugs.webkit.org/show_bug.cgi?id=80073
88137        
88138        Reviewed by Alexey Proskuryakov.
88139
88140        * WebCore.exp.in: Added two exported methods.
88141        * platform/mac/FileSystemMac.mm:
88142        (WebCore::setMetaData): Last parameter in the call to wkSetMetadataURL
88143        needs to be wrapped in String before casting to NSString.
88144
881452012-03-12  Alexey Proskuryakov  <ap@apple.com>
88146
88147        clang build fix
88148
88149        * css/CSSPrimitiveValueMappings.h: (WebCore::CSSPrimitiveValue::convertToLength): Reorder
88150        boolean operators, so that a warning about "use of logical || with constant operand" doesn't
88151        appear.
88152
881532012-03-12  Abhishek Arya  <inferno@chromium.org>
88154
88155        Crash in Text::splitText due to mutation events.
88156        https://bugs.webkit.org/show_bug.cgi?id=80828
88157
88158        Reviewed by Ryosuke Niwa.
88159
88160        Test: fast/text/split-text-crash.xhtml
88161
88162        * dom/Range.cpp:
88163        (WebCore::Range::insertNode): replace m_start.container() calls with ref protected node.
88164
881652012-03-12  Kenneth Russell  <kbr@google.com>
88166
88167        Null argument to texSubImage2D crashes
88168        https://bugs.webkit.org/show_bug.cgi?id=80778
88169
88170        Reviewed by Dean Jackson.
88171
88172        Generate INVALID_VALUE OpenGL error upon receiving null argument.
88173        Final behavior still being decided on public-webgl mailing list.
88174
88175        * html/canvas/WebGLRenderingContext.cpp:
88176        (WebCore):
88177        (WebCore::WebGLRenderingContext::texImage2D):
88178        (WebCore::WebGLRenderingContext::texSubImage2D):
88179        (WebCore::WebGLRenderingContext::validateTexFuncData):
88180        * html/canvas/WebGLRenderingContext.h:
88181
881822012-03-12  Luke Macpherson   <macpherson@chromium.org>
88183
88184        Remove CSSStyleSelector's convertToLength method and use CSSPrimitiveValue's version directly.
88185        https://bugs.webkit.org/show_bug.cgi?id=80484
88186
88187        Reviewed by Julien Chaffraix.
88188
88189        No new tests / code cleanup only.
88190
88191        * css/CSSPrimitiveValueMappings.h:
88192        (WebCore::CSSPrimitiveValue::convertToLength):
88193        * css/CSSStyleApplyProperty.cpp:
88194        (WebCore::ApplyPropertyClip::convertToLength):
88195        * css/CSSStyleSelector.cpp:
88196        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
88197
881982012-03-12  Stephen White  <senorblanco@chromium.org>
88199
88200        [chromium] Restore canvas2D acceleration after context loss.
88201        https://bugs.webkit.org/show_bug.cgi?id=80629
88202
88203        Reviewed by James Robinson.
88204
88205        Covered by existing canvas tests, and manual testing (killing the GPU
88206        process).
88207
88208        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
88209        (WebCore::Canvas2DLayerChromium::create):
88210        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
88211        (WebCore::Canvas2DLayerChromium::setNeedsDisplayRect):
88212        (WebCore::Canvas2DLayerChromium::drawsContent):
88213        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
88214        * platform/graphics/chromium/Canvas2DLayerChromium.h:
88215        (Canvas2DLayerChromium):
88216        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
88217        (WebCore::CCRenderSurface::applyFilters):
88218        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
88219        (SharedGraphicsContext3DImpl):
88220        (WebCore::SharedGraphicsContext3DImpl::SharedGraphicsContext3DImpl):
88221        (WebCore::SharedGraphicsContext3DImpl::get):
88222        (WebCore):
88223        (WebCore::SharedGraphicsContext3D::get):
88224        * platform/graphics/gpu/SharedGraphicsContext3D.h:
88225        (SharedGraphicsContext3D):
88226        * platform/graphics/skia/ImageBufferSkia.cpp:
88227        (WebCore::createAcceleratedCanvas):
88228        * platform/graphics/skia/PlatformContextSkia.cpp:
88229        (WebCore::PlatformContextSkia::PlatformContextSkia):
88230        (WebCore):
88231        * platform/graphics/skia/PlatformContextSkia.h:
88232        (WebCore):
88233        (WebCore::PlatformContextSkia::isAccelerated):
88234        (WebCore::PlatformContextSkia::setAccelerated):
88235        (PlatformContextSkia):
88236
882372012-03-12  George Staikos  <staikos@webkit.org>
88238
88239        It doesn't make sense to return const unsigned, and GCC warns about it.
88240        Remove const.
88241        https://bugs.webkit.org/show_bug.cgi?id=80790
88242
88243        Reviewed by Antonio Gomes.
88244
88245        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
88246        (WebCore::ComplexTextController::length):
88247        (WebCore::ComplexTextController::numCodePoints):
88248        (WebCore::ComplexTextController::offsetX):
88249
882502012-03-12  Beth Dakin  <bdakin@apple.com>
88251
88252        https://bugs.webkit.org/show_bug.cgi?id=80888
88253        Clear background for NSTextFieldCell is unreliable and not necessary
88254        -and corresponding-
88255        <rdar://problem/10663710>
88256
88257        Reviewed by Dan Bernstein.
88258
88259        With http://trac.webkit.org/changeset/104240 I thought it was necessary to 
88260        make NSTextFieldCells draw with a clear background in order to allow styled 
88261        text fields. That is not actually necessary; we just had a different bug 
88262        where isControlStyled() was only checking for styled borders on text fields. 
88263        Text fields can also be styled with backgrounds, so they need the full check.
88264        * rendering/RenderThemeMac.mm:
88265        (WebCore::RenderThemeMac::isControlStyled):
88266        (WebCore::RenderThemeMac::textField):
88267
882682012-03-12  Scott Byer  <scottbyer@chromium.org>
88269
88270        Cleanup obsolete files.
88271        https://bugs.webkit.org/show_bug.cgi?id=80737
88272
88273        Reviewed by James Robinson.
88274
88275        No new code.
88276
88277        * GNUmakefile.list.am:
88278        * PlatformWinCE.cmake:
88279        * Target.pri:
88280        * WebCore.vcproj/WebCore.vcproj:
88281        * platform/ScrollAnimatorWin.cpp: Removed.
88282        * platform/ScrollAnimatorWin.h: Removed.
88283
882842012-03-12  Gregg Tavares  <gman@google.com>
88285
88286        Make texImage2D error for wrong size ArrayBufferView more helpful
88287        https://bugs.webkit.org/show_bug.cgi?id=80868
88288        
88289        It took me about 30 minutes to figure out my texImage2D was failing
88290        not because my ArrayBufferView was too small but because the default
88291        alignment is 4. A better error message might help devs find this issue
88292        faster.
88293
88294        Reviewed by Kenneth Russell.
88295
88296        No new tests as no new functionality.
88297
88298        * html/canvas/WebGLRenderingContext.cpp:
88299        (WebCore):
88300        (WebCore::WebGLRenderingContext::validateTexFuncData):
88301
883022012-03-12  Tim Horton  <timothy_horton@apple.com>
88303
88304        Infinite repaint loop with SVGImageCache and deferred repaint timers
88305        https://bugs.webkit.org/show_bug.cgi?id=78315
88306        <rdar://problem/10651634>
88307
88308        Reviewed by Nikolas Zimmermann.
88309
88310        Only defer image redraw on a timer if we're in layout. This breaks
88311        the repaint loop while still preventing us from drawing inside layout.
88312
88313        Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
88314        preventing deferred repaint timers from being started during that process.
88315
88316        No new tests, as the problem only occurs in a nonstandard configuration.
88317
88318        * page/FrameView.cpp:
88319        (WebCore::FrameView::FrameView):
88320        (WebCore::FrameView::reset):
88321        (WebCore::FrameView::repaintContentRectangle):
88322        (WebCore::FrameView::endDeferredRepaints):
88323        (WebCore::FrameView::startDeferredRepaintTimer):
88324        (WebCore):
88325        (WebCore::FrameView::doDeferredRepaints):
88326        (WebCore::FrameView::deferredRepaintTimerFired):
88327        (WebCore::FrameView::beginDisableRepaints):
88328        (WebCore::FrameView::endDisableRepaints):
88329        * page/FrameView.h:
88330        (FrameView):
88331        (WebCore::FrameView::repaintsDisabled):
88332        * rendering/RenderView.cpp:
88333        (WebCore::RenderView::shouldRepaint):
88334        * svg/graphics/SVGImage.cpp:
88335        (WebCore::SVGImage::drawSVGToImageBuffer):
88336        (WebCore::SVGImage::draw):
88337        (WebCore::SVGImage::frameView):
88338        (WebCore):
88339        * svg/graphics/SVGImage.h:
88340        (WebCore):
88341        * svg/graphics/SVGImageCache.cpp:
88342        (WebCore::SVGImageCache::imageContentChanged):
88343        (WebCore::SVGImageCache::redraw):
88344        (WebCore::SVGImageCache::redrawTimerFired):
88345        (WebCore):
88346        * svg/graphics/SVGImageCache.h:
88347        (SVGImageCache):
88348
883492012-03-12  Adam Klein  <adamk@chromium.org>
88350
88351        [MutationObservers] Enforce a consistent order of MutationRecord delivery
88352        https://bugs.webkit.org/show_bug.cgi?id=80549
88353
88354        Reviewed by Ojan Vafai.
88355
88356        Mutations should be delivered in order of creation.
88357
88358        Tests: fast/mutation/create-during-delivery.html
88359               fast/mutation/delivery-order.html
88360               fast/mutation/mutate-during-delivery.html
88361
88362        * dom/WebKitMutationObserver.cpp:
88363        (WebCore):
88364        (WebCore::WebKitMutationObserver::ObserverLessThan::operator()): Functor for use with std::sort.
88365        (WebCore::WebKitMutationObserver::create):
88366        (WebCore::WebKitMutationObserver::WebKitMutationObserver):
88367        (WebCore::WebKitMutationObserver::deliverAllMutations): Move observers into a sorted vector before delivery.
88368        * dom/WebKitMutationObserver.h: Add a "priority" member which monotonically increases with each construction.
88369
883702012-03-12  Nat Duca  <nduca@chromium.org>
88371
88372        [Chromium] Force compositeAndReadback through regular scheduling flow
88373        https://bugs.webkit.org/show_bug.cgi?id=77049
88374
88375        Reviewed by James Robinson.
88376
88377        * platform/graphics/chromium/cc/CCFrameRateController.cpp:
88378        (WebCore::CCFrameRateController::onTimerTick):
88379        * platform/graphics/chromium/cc/CCFrameRateController.h:
88380        (CCFrameRateControllerClient):
88381        * platform/graphics/chromium/cc/CCScheduler.cpp:
88382        (WebCore::CCScheduler::setNeedsForcedCommit):
88383        (WebCore):
88384        (WebCore::CCScheduler::vsyncTick):
88385        * platform/graphics/chromium/cc/CCScheduler.h:
88386        (CCScheduler):
88387        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
88388        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
88389        (WebCore::CCSchedulerStateMachine::nextAction):
88390        (WebCore::CCSchedulerStateMachine::updateState):
88391        (WebCore::CCSchedulerStateMachine::setNeedsForcedCommit):
88392        (WebCore):
88393        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
88394        (CCSchedulerStateMachine):
88395        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
88396        (WebCore::CCThreadProxy::CCThreadProxy):
88397        (WebCore::CCThreadProxy::compositeAndReadback):
88398        (WebCore::CCThreadProxy::requestReadbackOnImplThread):
88399        (WebCore::CCThreadProxy::forceBeginFrameOnImplThread):
88400        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
88401        (WebCore::CCThreadProxy::beginFrame):
88402        * platform/graphics/chromium/cc/CCThreadProxy.h:
88403        (CCThreadProxy):
88404        (WebCore::CCThreadProxy::BeginFrameAndCommitState::BeginFrameAndCommitState):
88405        (BeginFrameAndCommitState):
88406
884072012-03-12  Joshua Bell  <jsbell@chromium.org>
88408
88409        IndexedDB: Handle LevelDB database corruption
88410        https://bugs.webkit.org/show_bug.cgi?id=79413
88411
88412        Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.
88413
88414        Reviewed by Tony Chang.
88415
88416        Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'
88417
88418        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
88419        (WebCore::IDBLevelDBBackingStore::open):
88420        * platform/leveldb/LevelDBDatabase.cpp:
88421        (WebCore::LevelDBDatabase::destroy):
88422        (WebCore):
88423        * platform/leveldb/LevelDBDatabase.h:
88424        (LevelDBDatabase):
88425
884262012-03-11  Shawn Singh  <shawnsingh@chromium.org>
88427
88428        Fix regression on fast/table/table-row-compositing-repaint-crash.html
88429        https://bugs.webkit.org/show_bug.cgi?id=80804
88430
88431        Reviewed by Simon Fraser.
88432
88433        Covered by existing tests.
88434
88435        http://trac.webkit.org/changeset/110401/ accidentally caused
88436        fast/table/table-row-compositing-repaint-crash.html to fail.
88437
88438        * rendering/RenderLayerCompositor.cpp:
88439        (WebCore::RenderLayerCompositor::updateBacking):
88440
884412012-03-12  Mike Lawther  <mikelawther@chromium.org>
88442
88443        CSS3 calc: enable mixed percent/absolute for font
88444        https://bugs.webkit.org/show_bug.cgi?id=80813
88445
88446        Reviewed by Ojan Vafai.
88447
88448        Add support for mixed percent/absolute expressions to the font handling class.
88449
88450        * css/CSSStyleApplyProperty.cpp:
88451        (WebCore::ApplyPropertyFontSize::applyValue):
88452
884532012-03-12  Andreas Kling  <awesomekling@apple.com>
88454
88455        Restore Attr::style() functionality.
88456        <http://webkit.org/b/80678>
88457        <rdar://problem/10933904>
88458
88459        Reviewed by Antti Koivisto.
88460
88461        The neutering of Attr::style() in r106740 broke some internal clients of the Obj-C API,
88462        so this was definitely premature.
88463
88464        Since we no longer have a per-Attribute style object, synthesize one in style() and
88465        hang it off of the Attr. This grows Attr by one pointer, but it's a low-volume object
88466        so it shouldn't matter much.
88467
88468        We recreate the StylePropertySet object on every call to style(), to avoid complicating
88469        things with custom invalidation code.
88470
88471        * dom/Attr.cpp:
88472        (WebCore::Attr::style):
88473        * dom/Attr.h:
88474        * dom/StyledElement.h:
88475        (WebCore::StyledElement::collectStyleForAttribute):
88476
884772012-03-12  Ryosuke Niwa  <rniwa@webkit.org>
88478
88479        REGRESSION(r109285): Crash in WebCore::Document::nodeChildrenWillBeRemoved
88480        https://bugs.webkit.org/show_bug.cgi?id=80578
88481
88482        Reviewed by Andreas Kling.
88483
88484        Test: svg/css/style-change-crash.html
88485
88486        * dom/Element.cpp:
88487        (WebCore::Element::setAttribute):
88488        (WebCore::Element::setAttributeInternal):
88489        * dom/Element.h:
88490        (Element):
88491        * dom/ElementAttributeData.cpp:
88492        (WebCore::ElementAttributeData::addAttribute):
88493        (WebCore::ElementAttributeData::removeAttribute):
88494        * dom/ElementAttributeData.h:
88495        (ElementAttributeData):
88496        * dom/StyledElement.cpp:
88497        (WebCore::StyledElement::updateStyleAttribute):
88498
884992012-03-12  Sadrul Habib Chowdhury  <sadrul@chromium.org>
88500
88501        Touch event handler count is not updated when adding handlers to the window.
88502        https://bugs.webkit.org/show_bug.cgi?id=80756
88503
88504        Touch event handlers added to the window needs to be included when counting the number of touch event
88505        handlers. This makes touch event handler counting identical to wheel event handler counting.
88506
88507        Reviewed by Anders Carlsson.
88508
88509        Test: fast/events/touch/touch-handler-count.html
88510
88511        * dom/EventNames.h:
88512        (EventNames):
88513        (WebCore::EventNames::isTouchEventType):
88514        * dom/Node.cpp:
88515        (WebCore):
88516        (WebCore::tryAddEventListener):
88517        (WebCore::tryRemoveEventListener):
88518        * page/DOMWindow.cpp:
88519        (WebCore::DOMWindow::addEventListener):
88520        (WebCore::DOMWindow::removeEventListener):
88521        * testing/Internals.cpp:
88522        (WebCore::Internals::touchEventHandlerCount):
88523        (WebCore):
88524        * testing/Internals.h:
88525        (Internals):
88526        * testing/Internals.idl:
88527
885282012-03-12  Pavel Podivilov  <podivilov@chromium.org>
88529
88530        Web Inspector: extract ResourceScriptMapping from MainScriptMapping.
88531        https://bugs.webkit.org/show_bug.cgi?id=80834
88532
88533        Reviewed by Vsevolod Vlasov.
88534
88535        * inspector/front-end/ScriptMapping.js:
88536        (WebInspector.ResourceScriptMapping):
88537        (WebInspector.ResourceScriptMapping.prototype._uiSourceCodeListChanged):
88538        (WebInspector.ResourceScriptMapping.prototype.reset):
88539        (WebInspector.MainScriptMapping):
88540        (WebInspector.MainScriptMapping.prototype.rawLocationToUILocation):
88541        (WebInspector.MainScriptMapping.prototype.createLiveLocation):
88542        (WebInspector.MainScriptMapping.prototype._registerLiveLocation):
88543        (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
88544        (WebInspector.MainScriptMapping.prototype._updateLiveLocations):
88545        (WebInspector.MainScriptMapping.prototype.uiSourceCodeList):
88546        (WebInspector.MainScriptMapping.prototype.addScript):
88547        (WebInspector.MainScriptMapping.prototype._handleUISourceCodeListChanged):
88548        (WebInspector.MainScriptMapping.prototype.setFormatSource):
88549        (WebInspector.MainScriptMapping.prototype.forceUpdateSourceMapping):
88550        (WebInspector.MainScriptMapping.prototype.reset):
88551
885522012-03-12  Pavel Feldman  <pfeldman@chromium.org>
88553
88554        Web Inspector: recognize Float*Array and Int*Array as arrays.
88555        https://bugs.webkit.org/show_bug.cgi?id=80850
88556
88557        Reviewed by Vsevolod Vlasov.
88558
88559        Test: inspector/console/console-external-array.html
88560
88561        * bindings/js/JSInjectedScriptHostCustom.cpp:
88562        (WebCore::JSInjectedScriptHost::type):
88563        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
88564        (WebCore::V8InjectedScriptHost::typeCallback):
88565
885662012-03-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
88567
88568        [TexMapGL] Pixel-align the transform of textures that fit pixel-for-pixel on the frame buffer.
88569        https://bugs.webkit.org/show_bug.cgi?id=80848
88570
88571        Reviewed by Noam Rosenthal.
88572
88573        When rendering a transformed texture on the screen with a fractional
88574        coordinate with linear filtering, the resulting pixel will be blended from
88575        the texels around this fractional position according to their cover ratio.
88576        This produces a slight blur of pixels which give no benefit when rendering
88577        a texture that isn't scaled.
88578
88579        This patch offsets the transform by rounding the translation part of the
88580        layer's transform to align the result to integer coordinates.
88581        Applying the adjustment on the layer transform makes sure that all the tiles
88582        get the same adjustment.
88583
88584        * platform/graphics/qt/GraphicsContext3DQt.cpp:
88585        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
88586        * platform/graphics/texmap/TextureMapperGL.cpp:
88587        (WebCore::TextureMapperGL::drawTexture):
88588        * platform/graphics/texmap/TextureMapperGL.h:
88589        (WebCore::BitmapTextureGL::textureSize):
88590
885912012-03-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
88592
88593        [TexMapGL] Use textures sized exactly to their contents.
88594        https://bugs.webkit.org/show_bug.cgi?id=80845
88595
88596        Reviewed by Noam Rosenthal.
88597
88598        This fixes a regression introduced in r108273 as well as the bug it fixed.
88599        The regressing behavior was that textures were rendered shrunk by 1 pixel
88600        and thus would appear blurry on the screen.
88601        The original problem was that garbage contents would appear on filtered
88602        textures since we would reuse textures of different sizes by giving them
88603        a slightly bigger size.
88604
88605        This patch will reuse the texture only if the size matches exactly to allow
88606        edge clamping to work properly when redering with linear filtering.
88607        Reusing textures would only saves us the allocation of graphic memory
88608        anyway, which is negligeable compared to texture upload.
88609
88610        * platform/graphics/qt/GraphicsContext3DQt.cpp:
88611        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
88612        * platform/graphics/texmap/TextureMapperGL.cpp:
88613        (WebCore::TextureMapperGL::drawTexture):
88614        (WebCore::BitmapTextureGL::didReset):
88615        * platform/graphics/texmap/TextureMapperGL.h:
88616        (BitmapTextureGL):
88617        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
88618        (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
88619        (WebCore::TextureMapperShaderProgramOpacityAndMask::prepare):
88620        * platform/graphics/texmap/TextureMapperShaderManager.h:
88621        (TextureMapperShaderProgramOpacityAndMask):
88622
886232012-03-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
88624
88625        [TexMap] Remove BitmapTexture::destroy.
88626        https://bugs.webkit.org/show_bug.cgi?id=80844
88627
88628        Reviewed by Noam Rosenthal.
88629
88630        Use the destructor directly instead.
88631
88632        * platform/graphics/texmap/TextureMapper.h:
88633        * platform/graphics/texmap/TextureMapperGL.cpp:
88634        (WebCore::BitmapTextureGL::~BitmapTextureGL):
88635        * platform/graphics/texmap/TextureMapperGL.h:
88636        (BitmapTextureGL):
88637        * platform/graphics/texmap/TextureMapperImageBuffer.h:
88638        (WebCore::BitmapTextureImageBuffer::~BitmapTextureImageBuffer):
88639
886402012-03-12  Pavel Podivilov  <podivilov@chromium.org>
88641
88642        Web Inspector: DebuggerModel.Location should have scriptId property.
88643        https://bugs.webkit.org/show_bug.cgi?id=80830
88644
88645        Reviewed by Vsevolod Vlasov.
88646
88647        * inspector/front-end/CompilerSourceMapping.js:
88648        (WebInspector.ClosureCompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
88649        * inspector/front-end/ConsoleMessage.js:
88650        (WebInspector.ConsoleMessageImpl.prototype.location):
88651        * inspector/front-end/DebuggerModel.js:
88652        (WebInspector.DebuggerModel.Location):
88653        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
88654        (WebInspector.DebuggerModel.prototype.createRawLocation):
88655        (WebInspector.DebuggerModel.prototype.createRawLocationByURL):
88656        * inspector/front-end/DebuggerPresentationModel.js:
88657        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
88658        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
88659        (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
88660        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
88661        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
88662        * inspector/front-end/RawSourceCode.js:
88663        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
88664        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.rawLocationToUILocation):
88665        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
88666        (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
88667        * inspector/front-end/ScriptFormatter.js:
88668        (WebInspector.ScriptFormatter.locationToPosition):
88669        (WebInspector.ScriptFormatter.positionToLocation):
88670        (WebInspector.FormattedSourceMapping.prototype.originalToFormatted):
88671        (WebInspector.FormattedSourceMapping.prototype.formattedToOriginal):
88672
886732012-03-12  Dana Jansens  <danakj@chromium.org>
88674
88675        [chromium] A couple early-outs for occlusion tracker
88676        https://bugs.webkit.org/show_bug.cgi?id=80742
88677
88678        Reviewed by Adrienne Walker.
88679
88680        Covered by existing tests.
88681
88682        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
88683        (WebCore::::occluded):
88684        (WebCore::::unoccludedContentRect):
88685
886862012-03-12  Zeno Albisser  <zeno@webkit.org>
88687
88688        [Qt][Mac] Build fails after adding WebCoreCFAutorelease(CFTypeRef) (r110360).
88689        https://bugs.webkit.org/show_bug.cgi?id=80840
88690
88691        CoreFoundation/CFBase.h needs to be included to define the type CFTypeRef.
88692
88693        Reviewed by Tor Arne Vestbø.
88694
88695        * platform/mac/WebCoreObjCExtras.h:
88696
886972012-03-12  George Staikos  <staikos@webkit.org>
88698
88699        Remove unused global static variable for BlackBerry.
88700        https://bugs.webkit.org/show_bug.cgi?id=80790
88701
88702        Reviewed by Alexey Proskuryakov.
88703
88704        * platform/graphics/gpu/DrawingBuffer.cpp:
88705        (WebCore):
88706
887072012-03-12  George Staikos  <staikos@webkit.org>
88708
88709        Correct usage of NDEBUG to fix warnings on BlackBerry.
88710        https://bugs.webkit.org/show_bug.cgi?id=80790
88711
88712        Reviewed by Alexey Proskuryakov.
88713
88714        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp:
88715        (WebCore::CookieDatabaseBackingStore::sendChangesToDatabase):
88716        * platform/blackberry/CookieManager.cpp:
88717        (WebCore::CookieManager::initiateCookieLimitCleanUp):
88718
887192012-03-12  Ilya Tikhonovsky  <loislo@chromium.org>
88720
88721        Re-apply the patch after v8 roll to r11000.
88722
88723        Web Inspector: move heap snapshot nodes data to external array.
88724        https://bugs.webkit.org/show_bug.cgi?id=79911
88725
88726        Reviewed by Vsevolod Vlasov.
88727
88728        Tests:
88729        heap-shapshot.html
88730        heap-shapshot-loader.html
88731
88732        * inspector/front-end/HeapSnapshot.js:
88733        (WebInspector.Int32Array):
88734        (WebInspector.Int32Array.prototype.get array):
88735        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
88736        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
88737        (WebInspector.HeapSnapshot):
88738        (WebInspector.HeapSnapshot.prototype._init):
88739
887402012-03-12  Simon Hausmann  <simon.hausmann@nokia.com>
88741
88742        [Qt] Fix build with newer Qt 5.
88743
88744        Reviewed by Tor Arne Vestbø.
88745
88746        * platform/qt/RenderThemeQt.cpp:
88747        (WebCore::RenderThemeQt::fileListNameForWidth): Use DefaultCodec instead of the
88748        deprecated CodecForTR.
88749
887502012-03-12  Hans Wennborg  <hans@chromium.org>
88751
88752        Speech JavaScript API: SpeechRecognitionEvent
88753        https://bugs.webkit.org/show_bug.cgi?id=80513
88754
88755        Reviewed by Adam Barth.
88756
88757        Implement SpeechRecognitionEvent.
88758        (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
88759
88760        Test: fast/events/constructors/speech-recognition-event-constructor.html
88761
88762        * Modules/speech/DOMWindowSpeech.idl:
88763        * Modules/speech/SpeechRecognitionEvent.cpp: Added.
88764        (WebCore):
88765        (WebCore::SpeechRecognitionEventInit::SpeechRecognitionEventInit):
88766        (WebCore::SpeechRecognitionEvent::create):
88767        (WebCore::SpeechRecognitionEvent::createResult):
88768        (WebCore::SpeechRecognitionEvent::createNoMatch):
88769        (WebCore::SpeechRecognitionEvent::createResultDeleted):
88770        (WebCore::SpeechRecognitionEvent::createError):
88771        (WebCore::SpeechRecognitionEvent::interfaceName):
88772        (WebCore::SpeechRecognitionEvent::SpeechRecognitionEvent):
88773        * Modules/speech/SpeechRecognitionEvent.h: Added.
88774        (WebCore):
88775        (SpeechRecognitionEventInit):
88776        (SpeechRecognitionEvent):
88777        (WebCore::SpeechRecognitionEvent::result):
88778        (WebCore::SpeechRecognitionEvent::error):
88779        (WebCore::SpeechRecognitionEvent::resultIndex):
88780        (WebCore::SpeechRecognitionEvent::resultHistory):
88781        * Modules/speech/SpeechRecognitionEvent.idl:
88782        * WebCore.gypi:
88783        * bindings/generic/RuntimeEnabledFeatures.h:
88784        (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEventEnabled):
88785        * bindings/v8/OptionsObject.cpp:
88786        (WebCore::OptionsObject::get):
88787        (WebCore):
88788        * bindings/v8/OptionsObject.h:
88789        (WebCore):
88790        (OptionsObject):
88791        * dom/EventNames.h:
88792        (WebCore):
88793        * dom/EventNames.in:
88794
887952012-03-12  Kent Tamura  <tkent@chromium.org>
88796
88797        Use ICU C API instead of C++ API in LocalizedNumberICU
88798        https://bugs.webkit.org/show_bug.cgi?id=80815
88799        https://bugs.gentoo.org/show_bug.cgi?id=407401
88800
88801        Reviewed by Hajime Morita.
88802
88803        ICU 4.8 doesn't have kNumberStyle. We had better to use ICU C API in
88804        general to avoid such issues.
88805
88806        This patch should not make any behavior change.
88807
88808        * platform/text/LocalizedNumberICU.cpp:
88809        (WebCore::ICULocale::ICULocale):
88810        Change the argument type: icu::Locale -> const char*
88811        (WebCore::ICULocale::~ICULocale): Delete m_numberFormat with unum_close().
88812        (WebCore::ICULocale::create): Do not create icu::Locale.
88813        (WebCore::ICULocale::createForCurrentLocale): ditto.
88814        (WebCore::ICULocale::setDecimalSymbol):
88815        Use unum_getSymbol() instead of DecimalFormatSymbols::getSymbol().
88816        (WebCore::ICULocale::setDecimalTextAttribute):
88817        Added. A utility function to store prefixes and suffixes.
88818        (WebCore::ICULocale::initializeDecimalFormat):
88819        - unum_open(), instead of NumberFormat::createInstance().
88820        - Use C API symbols.
88821        - Cache positive/negative prefixes/suffixes.
88822        (WebCore::ICULocale::convertToLocalizedNumber): Use cached prefixes and suffixes.
88823        (WebCore::matches): Stop using template because we don't use UString anymore.
88824        (WebCore::ICULocale::detectSignAndGetDigitRange):
88825        - Use cached prefixes and suffixes.
88826        - Use String::startsWith() and endsWith().
88827        (WebCore::ICULocale::convertFromLocalizedNumber):
88828        * platform/text/LocalizedNumberICU.h:
88829        (ICULocale):
88830
888312012-03-11  Pavel Podivilov  <podivilov@chromium.org>
88832
88833        Web Inspector: decouple LiveLocation from RawSourceCode.
88834        https://bugs.webkit.org/show_bug.cgi?id=80785
88835
88836        Reviewed by Vsevolod Vlasov.
88837
88838        * inspector/front-end/DebuggerPresentationModel.js:
88839        (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
88840        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
88841        (WebInspector.PresentationCallFrame):
88842        (WebInspector.PresentationCallFrame.prototype.uiLocation):
88843        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
88844        * inspector/front-end/RawSourceCode.js:
88845        * inspector/front-end/ScriptMapping.js:
88846        (WebInspector.MainScriptMapping):
88847        (WebInspector.MainScriptMapping.prototype.createLiveLocation):
88848        (WebInspector.MainScriptMapping.prototype._registerLiveLocation):
88849        (WebInspector.MainScriptMapping.prototype._unregisterLiveLocation):
88850        (WebInspector.MainScriptMapping.prototype._updateLiveLocations):
88851        (WebInspector.MainScriptMapping.prototype._uiSourceCodeListChanged):
88852        (WebInspector.MainScriptMapping.prototype.reset):
88853        (WebInspector.LiveLocation):
88854        (WebInspector.LiveLocation.prototype.init):
88855        (WebInspector.LiveLocation.prototype.dispose):
88856        (WebInspector.LiveLocation.prototype._update):
88857
888582012-03-11  Victor Carbune  <vcarbune@adobe.com>
88859
88860        The main code structure for placing future text track cue rendering
88861        code and main outer rendering steps.
88862        https://bugs.webkit.org/show_bug.cgi?id=79746
88863
88864        Reviewed by Eric Carlson.
88865
88866        No new tests. Only refactoring, but some chromium tests require rebaselining
88867        and have been marked accordingly.
88868
88869        * css/mediaControls.css:
88870        (::-webkit-media-controls): Changed the default display to -webkit-box, as
88871        captions need to always be rendered on top of the controls, if they are visible.
88872        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
88873        Default position attribute is now relative, handled by the parent -webkit-box
88874        (video::-webkit-media-text-track-container): The position of the container is
88875        now relative, handled by -webkit-box.
88876        (video::-webkit-media-text-track-display): Adjusted text color to match
88877        the color required in the WebVTT spec (section 3.5.1 'color' property)
88878        * css/mediaControlsChromium.css:
88879        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
88880        Default position attribute is now relative, handled by the parent -webkit-box
88881
88882        * html/shadow/MediaControlElements.cpp:
88883        (WebCore::MediaControlPanelElement::MediaControlPanelElement): Added a timer
88884        for the webkit fade out transition event. This timer is required for setting
88885        the display property to 'none', when the fade out transition is over. Otherwise,
88886        captions would not be displayed at the bottom of the video.
88887        (WebCore::MediaControlPanelElement::startTimer): Added.
88888        (WebCore):
88889        (WebCore::MediaControlPanelElement::stopTimer): Added.
88890        (WebCore::MediaControlPanelElement::transitionTimerFired): Added. If the current
88891        state of the controls is transparent, the display property is set to 'none'.
88892        (WebCore::MediaControlPanelElement::makeOpaque): The inline display:'none' property
88893        is removed before the fade in transition.
88894        (WebCore::MediaControlPanelElement::makeTransparent): Added the timer start.
88895        (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement):
88896        Removed m_bottom as it is not needed anymore.
88897        (WebCore::MediaControlTextTrackContainerElement::updateDisplay): Added. Main
88898        function for the rendering rules.
88899        (WebCore::MediaControlTextTrackContainerElement::updateSizes): The bottom position
88900        needs not to be set anymore.
88901        * html/shadow/MediaControlElements.h:
88902        (MediaControlPanelElement): Added timer internals.
88903        (MediaControlTextTrackContainerElement): Added updateDisplay() and removed unused
88904        variables.
88905
88906        (WebCore):
88907        * html/shadow/MediaControlRootElement.cpp: Removed m_textTrackDisplay
88908        and duplicated code with MediaControlRootElementChromium (only minimum
88909        function calls to the main text track container)
88910        (WebCore::MediaControlRootElement::MediaControlRootElement):
88911        (WebCore::MediaControlRootElement::setMediaController):
88912        (WebCore::MediaControlRootElement::createTextTrackDisplay):
88913        (WebCore::MediaControlRootElement::updateTextTrackDisplay):
88914
88915        * html/shadow/MediaControlRootElementChromium.cpp: Removed m_textTrackDisplay
88916        and duplicate code with MediaControlRootElement (only minimum function calls
88917        to the main text track container remained)
88918        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
88919        (WebCore::MediaControlRootElementChromium::setMediaController):
88920        (WebCore::MediaControlRootElementChromium::createTextTrackDisplay):
88921        (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay):
88922
88923        (WebCore):
88924        * html/track/TextTrackCue.cpp: Enhanced structure for supporting more complex
88925        rendering required by the WebVTT spec.
88926        (WebCore::TextTrackCue::TextTrackCue):
88927        (WebCore::TextTrackCue::cueDidChange): Mark the display tree as obsolete, so that
88928        it needs to be re-computed.
88929        (WebCore::TextTrackCue::setIsActive): The display tree needs to be removed as
88930        soon as the cue becomes inactive. Adjusted this method to support the functionality.
88931        (WebCore):
88932        (WebCore::TextTrackCue::determineDisplayParameters): Added. This method will hold
88933        main positioning parameter computations for a TextTrackCue
88934        (WebCore):
88935        (WebCore::TextTrackCue::getDisplayTree): Added. This method returns the root node
88936        of the CSS boxes that need to be displayed on top of the video, for the current
88937        instance.
88938        * html/track/TextTrackCue.h:
88939        (WebCore):
88940        (TextTrackCue):
88941
889422012-03-11  Sheriff Bot  <webkit.review.bot@gmail.com>
88943
88944        Unreviewed, rolling out r110359.
88945        http://trac.webkit.org/changeset/110359
88946        https://bugs.webkit.org/show_bug.cgi?id=80799
88947
88948        SelectPopupMenuTest.ClickItem failure (Requested by ukai on
88949        #webkit).
88950
88951        * platform/chromium/PopupListBox.cpp:
88952        (WebCore::PopupListBox::paint):
88953        (WebCore::PopupListBox::paintRow):
88954        (WebCore::PopupListBox::getRowHeight):
88955        * platform/chromium/PopupListBox.h:
88956        (PopupContainerSettings):
88957        * platform/chromium/PopupMenuChromium.cpp:
88958        (WebCore):
88959        (WebCore::PopupMenuChromium::show):
88960        * platform/chromium/PopupMenuChromium.h:
88961        (PopupMenuChromium):
88962        * rendering/RenderMenuList.cpp:
88963        (WebCore::RenderMenuList::showPopup):
88964
889652012-03-11  Timothy Hatcher  <timothy@apple.com>
88966
88967        Fix a crash opening the Web Inspector in WebKit1 clients.
88968
88969        The call to InspectorFrontendClientLocal::setAttachedWindow is preformed really early in the process,
88970        causing it to crash almost every time. It should use evaluateOnLoad instead of evaluateAsBoolean.
88971
88972        <rdar://problem/10951109> Crash when bringing up Web Inspector in WebKit1 client
88973        https://bugs.webkit.org/show_bug.cgi?id=80796
88974
88975        Reviewed by Brian Weinstein.
88976
88977        * inspector/InspectorFrontendClientLocal.cpp:
88978        (WebCore::InspectorFrontendClientLocal::setAttachedWindow): Use evaluateOnLoad instead of evaluateAsBoolean.
88979
889802012-03-11  Shawn Singh  <shawnsingh@chromium.org>
88981
88982        REGRESSION (r93614): scrolling div does not repaint
88983        https://bugs.webkit.org/show_bug.cgi?id=80641
88984
88985        Reviewed by Simon Fraser.
88986
88987        Test: compositing/repaint/newly-composited-repaint-rect.html
88988
88989        * rendering/RenderLayerCompositor.cpp:
88990        (WebCore::RenderLayerCompositor::updateBacking): When a layer
88991        becomes newly composited and creates its backing, the repaintRect
88992        may become invalid. This patch recomputes repaintRects in this
88993        case.
88994
889952012-03-11  George Staikos  <staikos@webkit.org>
88996
88997        Enable JPEG encoding for BlackBerry.
88998        https://bugs.webkit.org/show_bug.cgi?id=80792
88999
89000        Reviewed by Antonio Gomes.
89001
89002        * PlatformBlackBerry.cmake:
89003
890042012-03-11  Pavel Feldman  <pfeldman@chromium.org>
89005
89006        Web Inspector: console.log attempts to substitute any "%" character in the message.
89007        https://bugs.webkit.org/show_bug.cgi?id=80504
89008
89009        Reviewed by Vsevolod Vlasov.
89010
89011        Test: inspector/console/console-string-format.html
89012
89013        * inspector/front-end/AuditRules.js:
89014        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
89015        * inspector/front-end/ProfileDataGridTree.js:
89016        * inspector/front-end/ProfilesPanel.js:
89017        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
89018        * inspector/front-end/utilities.js:
89019
890202012-03-11  Andrey Kosyakov  <caseq@chromium.org>
89021
89022        Web Inspector: use monotonically increasing time in timeline agent
89023        https://bugs.webkit.org/show_bug.cgi?id=80786
89024
89025        Reviewed by Pavel Feldman.
89026
89027        * bindings/v8/ScriptGCEvent.cpp:
89028        (WebCore::ScriptGCEvent::gcPrologueCallback):
89029        (WebCore::ScriptGCEvent::gcEpilogueCallback):
89030        * inspector/InspectorTimelineAgent.cpp:
89031        (WebCore::InspectorTimelineAgent::pushGCEventRecords):
89032        (WebCore::InspectorTimelineAgent::willSendResourceRequest):
89033        (WebCore::InspectorTimelineAgent::didCompleteCurrentRecord):
89034        (WebCore::InspectorTimelineAgent::appendRecord):
89035        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
89036        (WebCore::InspectorTimelineAgent::timestamp):
89037        (WebCore):
89038        * inspector/InspectorTimelineAgent.h:
89039        (InspectorTimelineAgent):
89040        (WebCore::InspectorTimelineAgent::timestamp):
89041
890422012-03-11  Vsevolod Vlasov  <vsevik@chromium.org>
89043
89044        Web Inspector: Network panel does not show responses for application/json data
89045        https://bugs.webkit.org/show_bug.cgi?id=80684
89046
89047        Reviewed by Pavel Feldman.
89048
89049        Test: http/tests/inspector/network/async-xhr-json-mime-type.html
89050
89051        * inspector/InspectorPageAgent.cpp:
89052        (WebCore::createXHRTextDecoder):
89053        (WebCore::InspectorPageAgent::cachedResourceContent):
89054        * inspector/InspectorPageAgent.h:
89055        * inspector/NetworkResourcesData.cpp:
89056        (WebCore::createOtherResourceTextDecoder):
89057        (WebCore):
89058        (WebCore::NetworkResourcesData::responseReceived):
89059
890602012-03-11  Vsevolod Vlasov  <vsevik@chromium.org>
89061
89062        Web Inspector: CSS content is not shown when stylesheet is loaded with invalid mime type in quirks mode.
89063        https://bugs.webkit.org/show_bug.cgi?id=80528
89064
89065        Reviewed by Pavel Feldman.
89066
89067        Test: http/tests/inspector/resource-tree/resource-tree-invalid-mime-type-css-content.html
89068
89069        * inspector/InspectorPageAgent.cpp:
89070        (WebCore::InspectorPageAgent::cachedResourceContent):
89071
890722012-03-11  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
89073
89074        [Qt] [WK2] Support threaded renderer in WK2
89075        https://bugs.webkit.org/show_bug.cgi?id=76661
89076
89077        Reviewed by Noam Rosenthal.
89078
89079        Add TransformationMatrix conversions from/to Qt QMatrix4x4. Used by Qt WebKit2
89080        rendering and tested by Qt WebKit2 API tests.
89081
89082        * platform/graphics/qt/TransformationMatrixQt.cpp:
89083        (WebCore::TransformationMatrix::operator QMatrix4x4):
89084        (WebCore):
89085        (WebCore::TransformationMatrix::TransformationMatrix):
89086        * platform/graphics/transforms/TransformationMatrix.h:
89087        (TransformationMatrix):
89088
890892012-03-09  Jon Lee  <jonlee@apple.com>
89090
89091        Rename NotificationPresenter to NotificationClient
89092        https://bugs.webkit.org/show_bug.cgi?id=80488
89093        <rdar://problem/10965558>
89094
89095        Reviewed by Kentaro Hara.
89096
89097        * notifications/NotificationCenter.h: Renamed from notifications/NotificationPresenter.h.
89098
89099        Refactor to use renamed WebCore::NotificationClient.
89100        * GNUmakefile.list.am:
89101        * Target.pri:
89102        * WebCore.exp.in:
89103        * WebCore.gypi:
89104        * WebCore.vcproj/WebCore.vcproj:
89105        * WebCore.xcodeproj/project.pbxproj:
89106        * notifications/Notification.cpp:
89107        (WebCore::Notification::Notification):
89108        (WebCore::Notification::show):
89109        (WebCore::Notification::cancel):
89110        (WebCore::Notification::contextDestroyed):
89111        (WebCore::Notification::finishLoading):
89112        * notifications/NotificationCenter.cpp:
89113        (WebCore::NotificationCenter::create):
89114        (WebCore::NotificationCenter::NotificationCenter):
89115        (WebCore::NotificationCenter::checkPermission):
89116        (WebCore::NotificationCenter::requestPermission):
89117        (WebCore::NotificationCenter::disconnectFrame):
89118        * notifications/NotificationController.cpp:
89119        (WebCore::NotificationController::NotificationController):
89120        (WebCore::NotificationController::create):
89121        (WebCore::NotificationController::clientFrom):
89122        (WebCore::provideNotification):
89123        * notifications/NotificationController.h:
89124        (WebCore):
89125        (NotificationController):
89126        (WebCore::NotificationController::client):
89127        * page/DOMWindow.cpp:
89128        (WebCore::DOMWindow::webkitNotifications):
89129        * page/DOMWindow.h:
89130        (DOMWindow):
89131        * workers/WorkerContext.cpp:
89132        (WebCore::WorkerContext::webkitNotifications):
89133        * workers/WorkerThread.cpp:
89134        (WebCore::WorkerThread::WorkerThread):
89135        * workers/WorkerThread.h:
89136        (WebCore):
89137        (WebCore::WorkerThread::getNotificationClient):
89138        (WebCore::WorkerThread::setNotificationClient):
89139        (WorkerThread):
89140
891412012-03-10  Julien Chaffraix  <jchaffraix@webkit.org>
89142
89143        RenderObject with 'resize' different from 'none' should have a RenderLayer
89144        https://bugs.webkit.org/show_bug.cgi?id=80738
89145
89146        Reviewed by James Robinson.
89147
89148        Covered by fast/css/resize-single-axis.html.
89149
89150        * rendering/RenderBox.h:
89151        (WebCore::RenderBox::requiresLayerForOverflowClip):
89152        The resizer logic is tied to RenderLayer so force a RenderLayer to be allocated if resize() != RESIZE_NONE.
89153
891542012-03-10  Stephen White  <senorblanco@chromium.org>
89155
89156        Unreviewed, rolling out r110358.
89157        http://trac.webkit.org/changeset/110358
89158        https://bugs.webkit.org/show_bug.cgi?id=80706
89159
89160        No improvement on specified benchmarks.
89161
89162        * dom/ContainerNode.cpp:
89163        (WebCore::collectNodes):
89164        (WebCore::collectTargetNodes):
89165
891662012-03-10  MORITA Hajime  <morrita@google.com>
89167
89168        ShadowTree uses weak iteration patterns
89169        https://bugs.webkit.org/show_bug.cgi?id=80572
89170
89171        Reviewed by Dimitri Glazkov.
89172
89173        Patch by Adam Barth.
89174
89175        This patch moves various ShadowTree to using a better iteration pattern
89176        in which we collect all the ShadowRoots we're planning to iterate into
89177        a vector and then iterate over them.
89178
89179        * dom/ShadowTree.cpp:
89180        (ShadowRootVector):
89181        (WebCore::ShadowRootVector::ShadowRootVector):
89182        (WebCore):
89183        (WebCore::ShadowTree::removeAllShadowRoots):
89184        (WebCore::ShadowTree::insertedIntoDocument):
89185        (WebCore::ShadowTree::removedFromDocument):
89186        (WebCore::ShadowTree::insertedIntoTree):
89187        (WebCore::ShadowTree::removedFromTree):
89188        (WebCore::ShadowTree::willRemove):
89189
891902012-03-10  Sheriff Bot  <webkit.review.bot@gmail.com>
89191
89192        Unreviewed, rolling out r110363.
89193        http://trac.webkit.org/changeset/110363
89194        https://bugs.webkit.org/show_bug.cgi?id=80757
89195
89196        link error in chromium: unresolved external symbol
89197        webkit_support::CreateScopedTempDirectory(void) (Requested by
89198        ukai_home on #webkit).
89199
89200        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
89201        (WebCore::IDBLevelDBBackingStore::open):
89202        * platform/leveldb/LevelDBDatabase.cpp:
89203        * platform/leveldb/LevelDBDatabase.h:
89204        (LevelDBDatabase):
89205
892062012-03-09  Robert Kroeger  <rjkroege@chromium.org>
89207
89208        Handle more Gesture* events by performing scrolls on the correct target ScrollableArea 
89209        https://bugs.webkit.org/show_bug.cgi?id=80311
89210
89211        Implement GestureScroll* events via re-use of WheelEvent dispatch.
89212
89213        Reviewed by James Robinson.
89214
89215        Layout tests previously submited as https://bugs.webkit.org/show_bug.cgi?id=80201 and unit
89216        test added as part of this patch.
89217
89218        * page/EventHandler.cpp:
89219        (WebCore::wheelGranularityToScrollGranularity): Refactoring.
89220        (WebCore):
89221        (WebCore::scrollNode):
89222        (WebCore::EventHandler::EventHandler):
89223        (WebCore::EventHandler::clear):
89224        (WebCore::EventHandler::handleWheelEvent):
89225        (WebCore::EventHandler::defaultWheelEventHandler):
89226        (WebCore::EventHandler::handleGestureEvent): Added GestureScrollBegin & End.
89227        (WebCore::EventHandler::handleGestureTap):
89228        (WebCore::EventHandler::handleGestureScrollUpdate):
89229        (WebCore::EventHandler::handleGestureScrollCore): Refactoring.
89230        * page/EventHandler.h:
89231        (EventHandler):
89232        * platform/PlatformWheelEvent.h: Added additional scroll type.
89233        * platform/ScrollAnimator.cpp:
89234        (WebCore::ScrollAnimator::handleWheelEvent): Forward additional scroll type.
89235        * platform/ScrollAnimator.h:
89236        (WebCore):
89237        * platform/ScrollAnimatorNone.cpp:
89238        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone): Handle additional scroll type.
89239        (WebCore::ScrollAnimatorNone::fireUpAnAnimation): 
89240        (WebCore):
89241        (WebCore::ScrollAnimatorNone::scroll):
89242        * platform/ScrollAnimatorNone.h:
89243        (ScrollAnimatorNone):
89244        * platform/ScrollTypes.h: Added an additional scroll type.
89245        * platform/ScrollableArea.cpp:
89246        (WebCore::ScrollableArea::scroll):
89247
892482012-03-09  Erik Arvidsson  <arv@chromium.org>
89249
89250        [V8] Fix a fixme in v8 bindings
89251        https://bugs.webkit.org/show_bug.cgi?id=80734
89252
89253        Reviewed by Kentaro Hara.
89254
89255        No new tests. Covered by existing tests.
89256
89257        * bindings/v8/V8Binding.cpp:
89258        (WebCore::toInt32):
89259        (WebCore::toUInt32):
89260
892612012-03-09  Lauro Neto  <lauro.neto@openbossa.org>
89262
89263        [Qt] WebCore/Target.pri contains obsolete FileStreamProxy.h reference.
89264        https://bugs.webkit.org/show_bug.cgi?id=80730
89265
89266        Reviewed by Tor Arne Vestbø.
89267
89268        Build fix. Target.pri was still including old FileStreamProxy.h.
89269
89270        * Target.pri:
89271
892722012-03-05 Cem Kocagil  <cem.kocagil@gmail.com>
89273
89274        Pan scroll icon is painted at incorrect coordinates in frames
89275        https://bugs.webkit.org/show_bug.cgi?id=79378
89276
89277        Convert client coordinates to parent ScrollView coordinates
89278
89279        Reviewed by Antonio Gomes
89280
89281        * platform/ScrollView.cpp:
89282        (WebCore::ScrollView::paintPanScrollIcon):
89283
892842012-03-09  Joshua Bell  <jsbell@chromium.org>
89285
89286        IndexedDB: Handle LevelDB database corruption
89287        https://bugs.webkit.org/show_bug.cgi?id=79413
89288
89289        Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.
89290
89291        Reviewed by Tony Chang.
89292
89293        Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'
89294
89295        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
89296        (WebCore::IDBLevelDBBackingStore::open):
89297        * platform/leveldb/LevelDBDatabase.cpp:
89298        (WebCore::LevelDBDatabase::destroy):
89299        (WebCore):
89300        * platform/leveldb/LevelDBDatabase.h:
89301        (LevelDBDatabase):
89302
893032012-03-09  Jessie Berlin  <jberlin@apple.com>
89304
89305        Fix one of the Windows build warnings.
89306
89307        * html/track/TextTrackCueList.idl:
89308        Add a newline to the end of the file.
89309
893102012-03-09  Tyler Abbott  <tabbott@rim.com>
89311
89312        BlackBerry PlayBook doesn't sniff mime types
89313        https://bugs.webkit.org/show_bug.cgi?id=73869
89314
89315        Reviewed by Rob Buis.
89316
89317        Hook up MIMESniffing for BlackBerry. Override Content-Types will
89318        not be overriden. File extensions will be trusted when content
89319        is loaded from disk.
89320
89321        No tests, BlackBerry tests are not yet present in webkit.org codebase.
89322
89323        * PlatformBlackBerry.cmake:
89324        * platform/network/blackberry/NetworkJob.cpp:
89325        (WebCore::NetworkJob::NetworkJob):
89326        (WebCore::NetworkJob::initialize):
89327        (WebCore::NetworkJob::handleNotifyDataReceived):
89328        (WebCore::NetworkJob::sendResponseIfNeeded):
89329        * platform/network/blackberry/NetworkJob.h:
89330        (NetworkJob):
89331
893322012-03-09  Enrica Casucci  <enrica@apple.com>
89333
89334        Move WebNSURLExtras code down to WebCore.
89335        https://bugs.webkit.org/show_bug.cgi?id=80611
89336
89337        Reviewed by Alexey Proskuryakov.
89338
89339        * WebCore.exp.in: Added new exported functions.
89340        * WebCore.xcodeproj/project.pbxproj: Added WebCoreNSURLExtras.*
89341        * platform/FileSystem.h: Added setMetadataURL.
89342        * platform/mac/FileSystemMac.mm:
89343        (WebCore::setMetaData): Added.
89344        (WebCore::setMetadataURL): Added.
89345        * platform/mac/WebCoreNSStringExtras.h:
89346        * platform/mac/WebCoreNSStringExtras.mm:
89347        (hasCaseInsensitivePrefix): Added.
89348        * platform/mac/WebCoreNSURLExtras.h: Added.
89349        * platform/mac/WebCoreNSURLExtras.mm: Added.
89350        * platform/mac/WebCoreObjCExtras.h:
89351        * platform/mac/WebCoreSystemInterface.h:
89352        * platform/mac/WebCoreSystemInterface.mm:
89353
893542012-03-09  Tim Dresser  <tdresser@chromium.org>
89355
89356        [chromium] Increase size of Combo Box Options for touch and high DPI devices
89357        https://bugs.webkit.org/show_bug.cgi?id=80027
89358
89359        Reviewed by Darin Fisher.
89360
89361        Scale Combo box popups by defaultDeviceScaleFactor, and add padding to
89362        <option> elements when touch is enabled.
89363
89364        Manually tested with --default-device-scale-factor=1,2 and unset.
89365        Each of these were tested with RuntimeEnabledFeatures::touchEnabled
89366        set to true and false.
89367
89368        * platform/chromium/PopupListBox.cpp:
89369        (WebCore::PopupListBox::paint):
89370        (WebCore::PopupListBox::paintRow):
89371        (WebCore::PopupListBox::getRowHeight):
89372        * platform/chromium/PopupListBox.h:
89373        (PopupContainerSettings):
89374        * platform/chromium/PopupMenuChromium.cpp:
89375        (WebCore):
89376        (WebCore::PopupMenuChromium::show):
89377        * platform/chromium/PopupMenuChromium.h:
89378        (WebCore::PopupMenuChromium::optionPaddingForTouch):
89379        (WebCore::PopupMenuChromium::setOptionPaddingForTouch):
89380        (PopupMenuChromium):
89381        * rendering/RenderMenuList.cpp:
89382        (WebCore::RenderMenuList::showPopup):
89383
893842012-03-09  Stephen White  <senorblanco@chromium.org>
89385
89386        Improve ContainerNode collectNode() performance by reserving vector
89387        capacity up front.
89388        https://bugs.webkit.org/show_bug.cgi?id=80706
89389
89390        Reviewed by Ryosuke Niwa.
89391
89392        Covered by existing tests.  Performance will be evaluated based on
89393        Chromium's page_cycler_bloat-http, page_cycler_intl1, and
89394        dromaeo_domcore suites.
89395
89396        * dom/ContainerNode.cpp:
89397        (WebCore::collectNodes):
89398
893992012-03-09  Dan Bernstein  <mitz@apple.com>
89400
89401        <rdar://problem/11018851> Crash in DisplayRefreshMonitor::notifyClients()
89402        https://bugs.webkit.org/show_bug.cgi?id=80740
89403
89404        Reviewed by Sam Weinig.
89405
89406        No test, since this race condition cannot be reproduced reliably.
89407
89408        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
89409        (WebCore::DisplayRefreshMonitor::~DisplayRefreshMonitor): Changed to stop the display link
89410        first, then cancel any outstanding calls to refreshDisplayOnMainThread(). When doing things
89411        the other way around, the display link can fire after outstanding calls have been canceled,
89412        and enqueue new calls on the main thread, which will be dispatched after monitor destruction.
89413
894142012-03-09  Pratik Solanki  <psolanki@apple.com>
89415
89416        Assertion failure in ResourceHandle::setDefersLoading(): d->m_defersLoading != defers
89417        https://bugs.webkit.org/show_bug.cgi?id=80543
89418
89419        Reviewed by Geoffrey Garen.
89420
89421        Reset m_defersLoading flag to the value from Page::defersCallbacks() in
89422        ResourceLoader::init(). This is because the resource could have been in the pending requests
89423        queue in ResourceLoadScheduler and would have missed out on state changes to this flag
89424        happening from DocumentLoader::setDefersCallbacks().
89425
89426        * loader/ResourceLoader.cpp:
89427        (WebCore::ResourceLoader::init):
89428
894292012-03-09  Emil A Eklund  <eae@chromium.org>
89430
89431        Add roundedPoint to HitTestResult and change platform code to use it
89432        https://bugs.webkit.org/show_bug.cgi?id=80715
89433
89434        Reviewed by James Robinson.
89435
89436        Change ports to use roundedPoint to avoid exposing subpixel types to
89437        platform code.
89438
89439        No new tests.
89440
89441        * rendering/HitTestResult.h:
89442        (WebCore::HitTestResult::roundedPoint):
89443
894442012-03-09  Kentaro Hara  <haraken@chromium.org>
89445
89446        [V8][Performance] Inline hot methods in V8Bindings.h
89447        https://bugs.webkit.org/show_bug.cgi?id=80685
89448
89449        Reviewed by Adam Barth.
89450
89451        This patch slightly improves DOM binding performance by inlining hot
89452        methods in V8Binding.cpp, e.g. isUndefinedOrNull(), v8StringOrNull(), v8Boolean().
89453        For example, this patch improves div.nodeName by 5.0%, and div.nodeValue by 4.1%.
89454
89455        Performance tests: https://bugs.webkit.org/attachment.cgi?id=131006
89456
89457        The performance test results in my Mac environment are as follows:
89458
89459        Chromium/V8 without this patch:
89460        div.nodeName : 3417.4 ms
89461        div.nodeValue : 2069.6 ms
89462
89463        Chromium/V8 with this patch:
89464        div.nodeName : 3245.6 ms
89465        div.nodeValue : 1983.1 ms
89466
89467        No tests. No change in behavior.
89468
89469        * bindings/v8/V8Binding.cpp:
89470        * bindings/v8/V8Binding.h:
89471        (WebCore::toWebCoreString):
89472        (WebCore::isUndefinedOrNull):
89473        (WebCore::isHostObject):
89474        (WebCore::v8Boolean):
89475        (WebCore::toWebCoreStringWithNullCheck):
89476        (WebCore::toAtomicWebCoreStringWithNullCheck):
89477        (WebCore::toWebCoreStringWithNullOrUndefinedCheck):
89478        (WebCore::v8UndetectableString):
89479        (WebCore::v8StringOrNull):
89480        (WebCore::v8StringOrUndefined):
89481        (WebCore::v8StringOrFalse):
89482        (WebCore::toWebCoreDate):
89483        (WebCore::v8DateOrNull):
89484
894852012-03-09  W. James MacLean  <wjmaclean@chromium.org>
89486
89487        [chromium] Implement scroll physics architecture for impl/main thread
89488        https://bugs.webkit.org/show_bug.cgi?id=79827
89489
89490        Reviewed by James Robinson.
89491
89492        Unittests added, plus follow-on patch from rjkroege will add layout tests.
89493
89494        PlatformGestureCurve is a framework to separate the physical simulation from for gesture
89495        animation from control concerns. This allows the physics to be reused in alternate places.
89496        At present, the framework will be applied in ScrollAnimatorNone and the Chrome Compositor.
89497
89498        * WebCore.gypi:
89499        * platform/ActivePlatformGestureAnimation.cpp: Added.
89500        (WebCore):
89501        (WebCore::ActivePlatformGestureAnimation::create):
89502        (WebCore::ActivePlatformGestureAnimation::~ActivePlatformGestureAnimation):
89503        (WebCore::ActivePlatformGestureAnimation::ActivePlatformGestureAnimation):
89504        (WebCore::ActivePlatformGestureAnimation::animate):
89505        * platform/ActivePlatformGestureAnimation.h: Added.
89506        (WebCore):
89507        (ActivePlatformGestureAnimation):
89508        * platform/PlatformGestureCurve.h: Added.
89509        (WebCore):
89510        (PlatformGestureCurve):
89511        (WebCore::PlatformGestureCurve::~PlatformGestureCurve):
89512        * platform/PlatformGestureCurveTarget.h: Added.
89513        (WebCore):
89514        (PlatformGestureCurveTarget):
89515        (WebCore::PlatformGestureCurveTarget::~PlatformGestureCurveTarget):
89516        * platform/TouchFlingPlatformGestureCurve.cpp: Added.
89517        (WebCore):
89518        (WebCore::TouchFlingPlatformGestureCurve::create):
89519        (WebCore::TouchFlingPlatformGestureCurve::TouchFlingPlatformGestureCurve):
89520        (WebCore::TouchFlingPlatformGestureCurve::~TouchFlingPlatformGestureCurve):
89521        (WebCore::TouchFlingPlatformGestureCurve::apply):
89522        * platform/TouchFlingPlatformGestureCurve.h: Added.
89523        (WebCore):
89524        (TouchFlingPlatformGestureCurve):
89525        * platform/WheelFlingPlatformGestureCurve.cpp: Added.
89526        (WebCore):
89527        (WebCore::WheelFlingPlatformGestureCurve::create):
89528        (WebCore::WheelFlingPlatformGestureCurve::WheelFlingPlatformGestureCurve):
89529        (WebCore::WheelFlingPlatformGestureCurve::~WheelFlingPlatformGestureCurve):
89530        (WebCore::WheelFlingPlatformGestureCurve::apply):
89531        * platform/WheelFlingPlatformGestureCurve.h: Added.
89532        (WebCore):
89533        (WheelFlingPlatformGestureCurve):
89534        * platform/graphics/chromium/cc/CCActiveGestureAnimation.cpp: Added.
89535        (WebCore):
89536        (WebCore::CCActiveGestureAnimation::create):
89537        (WebCore::CCActiveGestureAnimation::CCActiveGestureAnimation):
89538        (WebCore::CCActiveGestureAnimation::~CCActiveGestureAnimation):
89539        (WebCore::CCActiveGestureAnimation::animate):
89540        * platform/graphics/chromium/cc/CCActiveGestureAnimation.h: Added.
89541        (WebCore):
89542        (CCActiveGestureAnimation):
89543        * platform/graphics/chromium/cc/CCGestureCurve.h: Added.
89544        (WebCore):
89545        (CCGestureCurveTarget):
89546        (WebCore::CCGestureCurveTarget::~CCGestureCurveTarget):
89547        (CCGestureCurve):
89548        (WebCore::CCGestureCurve::~CCGestureCurve):
89549
895502012-03-09  Alexis Menard  <alexis.menard@openbossa.org>
89551
89552        Implement selectedOptions attribute of <select>.
89553        https://bugs.webkit.org/show_bug.cgi?id=80631
89554
89555        Reviewed by Benjamin Poulain.
89556
89557        Add a new collection as a member of HTMLSelectElement which is
89558        used to store the selected elements. Extend HTMLCollection to
89559        support the new collection type needed by this feature.
89560
89561        Reference : http://www.whatwg.org/specs/web-apps/current-work/multipage/the-button-element.html#dom-select-selectedoptions
89562
89563        Test: fast/dom/select-selectedOptions.html
89564
89565        * html/CollectionType.h:
89566        * html/HTMLCollection.cpp:
89567        (WebCore::HTMLCollection::shouldIncludeChildren):
89568        (WebCore::HTMLCollection::isAcceptableElement):
89569        * html/HTMLSelectElement.cpp:
89570        (WebCore::HTMLSelectElement::selectedOptions):
89571        (WebCore):
89572        * html/HTMLSelectElement.h:
89573        (HTMLSelectElement):
89574        * html/HTMLSelectElement.idl:
89575
895762012-03-09  Tien-Ren Chen  <trchen@chromium.org>
89577
89578        [chromium] ScrollbarLayerChromium/CCScrollbarLayerImpl for CC-side scrollbar painting
89579        https://bugs.webkit.org/show_bug.cgi?id=78872
89580
89581        Reviewed by James Robinson.
89582
89583        New test ScrollbarLayerChromiumTest.resolveScrollLayerPointer
89584
89585        * WebCore.gypi:
89586        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
89587        (WebCore::scrollLayerForFrameView):
89588        (WebCore::scrollbarLayerDidChange):
89589        (WebCore):
89590        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
89591        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
89592        * platform/ScrollableArea.cpp:
89593        (WebCore::ScrollableArea::invalidateScrollbar):
89594        * platform/graphics/chromium/GraphicsLayerChromium.h:
89595        (WebCore::GraphicsLayerChromium::hasContentsLayer):
89596        * platform/graphics/chromium/LayerChromium.h:
89597        (WebCore):
89598        (WebCore::LayerChromium::toScrollbarLayerChromium):
89599        (LayerChromium):
89600        * platform/graphics/chromium/ScrollbarLayerChromium.cpp: Added.
89601        (WebCore):
89602        (WebCore::ScrollbarLayerChromium::createCCLayerImpl):
89603        (WebCore::ScrollbarLayerChromium::create):
89604        (WebCore::ScrollbarLayerChromium::ScrollbarLayerChromium):
89605        (WebCore::ScrollbarLayerChromium::pushPropertiesTo):
89606        * platform/graphics/chromium/ScrollbarLayerChromium.h: Added.
89607        (WebCore):
89608        (ScrollbarLayerChromium):
89609        (WebCore::ScrollbarLayerChromium::scrollLayerId):
89610        (WebCore::ScrollbarLayerChromium::toScrollbarLayerChromium):
89611        * platform/graphics/chromium/TreeSynchronizer.cpp:
89612        (WebCore::TreeSynchronizer::synchronizeTrees):
89613        (WebCore::TreeSynchronizer::collectExistingCCLayerImplRecursive):
89614        (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
89615        (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
89616        (WebCore::TreeSynchronizer::updateScrollbarLayerPointersRecursive):
89617        (WebCore):
89618        * platform/graphics/chromium/TreeSynchronizer.h:
89619        (TreeSynchronizer):
89620        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
89621        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
89622        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.cpp: Added.
89623        (WebCore):
89624        (WebCore::CCScrollbarLayerImpl::create):
89625        (WebCore::CCScrollbarLayerImpl::CCScrollbarLayerImpl):
89626        (WebCore::CCScrollbarLayerImpl::willDraw):
89627        (WebCore::CCScrollbarLayerImpl::appendQuads):
89628        (WebCore::CCScrollbarLayerImpl::didDraw):
89629        (WebCore::CCScrollbarLayerImpl::paint):
89630        (WebCore::CCScrollbarLayerImpl::CCScrollbar::x):
89631        (WebCore::CCScrollbarLayerImpl::CCScrollbar::y):
89632        (WebCore::CCScrollbarLayerImpl::CCScrollbar::width):
89633        (WebCore::CCScrollbarLayerImpl::CCScrollbar::height):
89634        (WebCore::CCScrollbarLayerImpl::CCScrollbar::size):
89635        (WebCore::CCScrollbarLayerImpl::CCScrollbar::location):
89636        (WebCore::CCScrollbarLayerImpl::CCScrollbar::parent):
89637        (WebCore::CCScrollbarLayerImpl::CCScrollbar::root):
89638        (WebCore::CCScrollbarLayerImpl::CCScrollbar::setFrameRect):
89639        (WebCore::CCScrollbarLayerImpl::CCScrollbar::frameRect):
89640        (WebCore::CCScrollbarLayerImpl::CCScrollbar::invalidate):
89641        (WebCore::CCScrollbarLayerImpl::CCScrollbar::invalidateRect):
89642        (WebCore::CCScrollbarLayerImpl::CCScrollbar::scrollbarOverlayStyle):
89643        (WebCore::CCScrollbarLayerImpl::CCScrollbar::getTickmarks):
89644        (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollableAreaActive):
89645        (WebCore::CCScrollbarLayerImpl::CCScrollbar::isScrollViewScrollbar):
89646        (WebCore::CCScrollbarLayerImpl::CCScrollbar::convertFromContainingWindow):
89647        (WebCore::CCScrollbarLayerImpl::CCScrollbar::isCustomScrollbar):
89648        (WebCore::CCScrollbarLayerImpl::CCScrollbar::orientation):
89649        (WebCore::CCScrollbarLayerImpl::CCScrollbar::value):
89650        (WebCore::CCScrollbarLayerImpl::CCScrollbar::currentPos):
89651        (WebCore::CCScrollbarLayerImpl::CCScrollbar::visibleSize):
89652        (WebCore::CCScrollbarLayerImpl::CCScrollbar::totalSize):
89653        (WebCore::CCScrollbarLayerImpl::CCScrollbar::maximum):
89654        (WebCore::CCScrollbarLayerImpl::CCScrollbar::controlSize):
89655        (WebCore::CCScrollbarLayerImpl::CCScrollbar::lineStep):
89656        (WebCore::CCScrollbarLayerImpl::CCScrollbar::pageStep):
89657        (WebCore::CCScrollbarLayerImpl::CCScrollbar::pressedPart):
89658        (WebCore::CCScrollbarLayerImpl::CCScrollbar::hoveredPart):
89659        (WebCore::CCScrollbarLayerImpl::CCScrollbar::styleChanged):
89660        (WebCore::CCScrollbarLayerImpl::CCScrollbar::enabled):
89661        (WebCore::CCScrollbarLayerImpl::CCScrollbar::setEnabled):
89662        * platform/graphics/chromium/cc/CCScrollbarLayerImpl.h: Added.
89663        (WebCore):
89664        (CCScrollbarLayerImpl):
89665        (WebCore::CCScrollbarLayerImpl::setScrollbarOverlayStyle):
89666        (WebCore::CCScrollbarLayerImpl::setTickmarks):
89667        (WebCore::CCScrollbarLayerImpl::setIsScrollableAreaActive):
89668        (WebCore::CCScrollbarLayerImpl::setIsScrollViewScrollbar):
89669        (WebCore::CCScrollbarLayerImpl::setOrientation):
89670        (WebCore::CCScrollbarLayerImpl::setControlSize):
89671        (WebCore::CCScrollbarLayerImpl::setPressedPart):
89672        (WebCore::CCScrollbarLayerImpl::setHoveredPart):
89673        (WebCore::CCScrollbarLayerImpl::setEnabled):
89674        (WebCore::CCScrollbarLayerImpl::scrollLayer):
89675        (WebCore::CCScrollbarLayerImpl::setScrollLayer):
89676        (CCScrollbar):
89677        (WebCore::CCScrollbarLayerImpl::CCScrollbar::CCScrollbar):
89678
896792012-03-09  Julien Chaffraix  <jchaffraix@webkit.org>
89680
89681        Split the extra logical height distribution logic out of RenderTableSection::layoutRows
89682        https://bugs.webkit.org/show_bug.cgi?id=80671
89683
89684        Reviewed by Adrienne Walker.
89685
89686        Refactoring only, no change in behavior expected.
89687
89688        * rendering/RenderTableSection.cpp:
89689        (WebCore::RenderTableSection::layoutRows):
89690        Split the logic from here...
89691
89692        (WebCore::RenderTableSection::distributeExtraLogicalHeightToPercentRows):
89693        (WebCore::RenderTableSection::distributeExtraLogicalHeightToAutoRows):
89694        (WebCore::RenderTableSection::distributeRemainingExtraLogicalHeight):
89695        (WebCore::RenderTableSection::distributeExtraLogicalHeightToRows):
89696        ... to those functions. Cleaned up the variable naming while at it and
89697        made them follow the same signature as this may be useful to fix another
89698        bug I have.
89699
89700        * rendering/RenderTableSection.h:
89701        (RenderTableSection):
89702        Added the previous 4 new functions.
89703
897042012-03-09  Rob Buis  <rbuis@rim.com>
89705
89706        Remove unused file FrameBlackBerry.cpp
89707        https://bugs.webkit.org/show_bug.cgi?id=80731
89708
89709        Reviewed by Antonio Gomes.
89710
89711        This is not needed anymore since there is an implementation elsewhere.
89712
89713        * PlatformBlackBerry.cmake:
89714        * page/blackberry/FrameBlackBerry.cpp: Removed.
89715
897162012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
89717
89718        Unreviewed, rolling out r110309.
89719        http://trac.webkit.org/changeset/110309
89720        https://bugs.webkit.org/show_bug.cgi?id=80732
89721
89722        Seems to have caused a number of SVG crashes (thorton will
89723        investigate further) (Requested by abarth|gardener on
89724        #webkit).
89725
89726        * page/FrameView.cpp:
89727        (WebCore::FrameView::FrameView):
89728        (WebCore::FrameView::reset):
89729        (WebCore::FrameView::repaintContentRectangle):
89730        (WebCore::FrameView::deferredRepaintTimerFired):
89731        * page/FrameView.h:
89732        (FrameView):
89733        * rendering/RenderView.cpp:
89734        (WebCore::RenderView::shouldRepaint):
89735        * svg/graphics/SVGImage.cpp:
89736        (WebCore::SVGImage::drawSVGToImageBuffer):
89737        (WebCore::SVGImage::draw):
89738        * svg/graphics/SVGImage.h:
89739        * svg/graphics/SVGImageCache.cpp:
89740        (WebCore::SVGImageCache::imageContentChanged):
89741        (WebCore::SVGImageCache::redrawTimerFired):
89742        * svg/graphics/SVGImageCache.h:
89743        (SVGImageCache):
89744
897452012-03-09  Ken Buchanan  <kenrb@chromium.org>
89746
89747        Crash due to inserting letter into div with first-letter
89748        https://bugs.webkit.org/show_bug.cgi?id=78534
89749
89750        Reviewed by David Hyatt.
89751
89752        This fixes an issue in RenderTextFragment with setTextInternal
89753        getting called with different intents. While most calls to it
89754        are intended to change the underlying DOM node string, it can
89755        also be called as a result of styleDidChange just for transforms
89756        on the substring text fragment. This adds a mechanism for internal
89757        callers to specify if the internal text is being updated without
89758        a DOM node text change.
89759
89760        * rendering/RenderTextFragment.cpp:
89761        (WebCore::RenderTextFragment::styleDidChange)
89762        (WebCore::RenderTextFragment::setTextInternal)
89763        * rendering/RenderTextFragment.h:
89764        (WebCore::RenderTextFragment)
89765
897662012-03-09  Chris Rogers  <crogers@google.com>
89767
89768        Fix uninitialized variable in DynamicsCompressor
89769        https://bugs.webkit.org/show_bug.cgi?id=80724
89770
89771        Reviewed by James Robinson.
89772
89773        * platform/audio/DynamicsCompressor.cpp:
89774        (WebCore::DynamicsCompressor::DynamicsCompressor):
89775
897762012-03-09  Erik Arvidsson  <arv@chromium.org>
89777
89778        [V8] Undo text position adjustment for attribute event handlers
89779        https://bugs.webkit.org/show_bug.cgi?id=80725
89780
89781        Reviewed by Adam Barth.
89782
89783        No new tests. Needs rebaseline.
89784
89785        * bindings/v8/V8LazyEventListener.cpp:
89786        (WebCore::V8LazyEventListener::prepareListenerObject):
89787
897882012-03-09  Tom Sepez  <tsepez@chromium.org>
89789
89790        Hold cached images with a CachedResourceHandle rather than a raw pointer for CSSCrossfadeValue
89791        https://bugs.webkit.org/show_bug.cgi?id=80186
89792
89793        Reviewed by Simon Fraser.
89794
89795        Test: http/tests/css/cross-fade-reload.html
89796
89797        * css/CSSCrossfadeValue.h:
89798        (CSSCrossfadeValue):
89799
898002012-03-09  Abhishek Arya  <inferno@chromium.org>
89801
89802        Crash when splitting an anonymous block in multi-column layout.
89803        https://bugs.webkit.org/show_bug.cgi?id=80432
89804
89805        Reviewed by David Hyatt.
89806
89807        Calculating currChild->nextSibling() is risky after destroying :after content
89808        because it can blow away currChild if it is a left over empty anonymous block.
89809        We need to calculate next sibling upfront, using the same trick, we do in
89810        RenderBlock::addChildIgnoringAnonymousColumnBlock to reset beforeChild (check
89811        out the line before splitFlow call).
89812
89813        Test: fast/multicol/anonymous-block-split-crash.html
89814
89815        * rendering/RenderBlock.cpp:
89816        (WebCore::RenderBlock::splitBlocks):
89817
898182012-03-09  Abhishek Arya  <inferno@chromium.org>
89819
89820        Crash due to accessing removed parent lineboxes when clearing selection.
89821        https://bugs.webkit.org/show_bug.cgi?id=79264
89822
89823        Reviewed by Dave Hyatt.
89824
89825        Test: editing/selection/first-letter-selection-crash.html
89826
89827        * rendering/RenderBoxModelObject.cpp:
89828        (WebCore::RenderBoxModelObject::setSelectionState):
89829        1. No need of checking if we are being set to same selection state.
89830        Now tested by setSelectionStateIfNeeded. Rename 's' with 'state' and
89831        'cb' with 'containingBlock'.
89832        * rendering/RenderListMarker.cpp:
89833        (WebCore::RenderListMarker::setSelectionState):
89834        1. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
89835        root line boxes are still valid before setting them.
89836        2. No need of calling setSelectionState on containing block since our base
89837        class call to RenderBox::setSelectionState covers it. Added a comment to indicate that.
89838        3. Use m_inlineBoxWrapper variable directly to simplify the ifs.
89839        * rendering/RenderObject.cpp:
89840        (WebCore::RenderObject::canUpdateSelectionOnRootLineBoxes):
89841        (WebCore): helper function to tell if we can update selection information
89842        on our root line boxes. This returns false if our containing block is pending layout.
89843        * rendering/RenderObject.h:
89844        (RenderObject):
89845        (WebCore::RenderObject::setSelectionStateIfNeeded):
89846        (WebCore): helper to set selection state only if it is different from our
89847        current selection state.
89848        * rendering/RenderReplaced.cpp:
89849        (WebCore::RenderReplaced::setSelectionState):
89850        1. Rename 's' to 'state', 'line' to 'root' and use m_inlineBoxWrapper directly
89851        to simplify ifs.
89852        2. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
89853        root line boxes are still valid before setting them.
89854        * rendering/RenderText.cpp:
89855        (WebCore::RenderText::setSelectionState):
89856        1. Add check to canUpdateSelectionOnRootLineBoxes to make sure our
89857        root line boxes are still valid before setting them.
89858        2. Rename 'cb' to 'containingBlock', 'line' to 'root', move InlineTextBox
89859        declaration to local.
89860        * rendering/RenderView.cpp:
89861        (WebCore::RenderView::setSelection): Replace all calls to setSelectionState
89862        with setSelectionStateIfNeeded.
89863        * rendering/RenderWidget.cpp:
89864        (WebCore::RenderWidget::setSelectionState):
89865        1. No need of checking if we are being set to same selection state.
89866        Now tested by setSelectionStateIfNeeded.
89867
898682012-03-09  Levi Weintraub  <leviw@chromium.org>
89869
89870        Move TransformationMatrix and TransformState to LayoutUnits.
89871        https://bugs.webkit.org/show_bug.cgi?id=80632
89872
89873        Reviewed by Simon Fraser.
89874
89875        When we move layout to sub-pixel precision, we want to preserve that precision through
89876        transformations. This change readies TransformState and TransformationMatrix to make
89877        use of this additional precision in accumulating transforms, and in returning rects that
89878        preserve it.
89879
89880        No new tests. No change in behavior.
89881
89882        * platform/graphics/transforms/TransformState.cpp:
89883        (WebCore::TransformState::move): Changed to pass along LayoutUnits to the contained
89884        TransformationMatrix. The values of the LayoutUnits will be implicitly converted to
89885        floats to be applied.
89886        * platform/graphics/transforms/TransformState.h:
89887        (WebCore::TransformState::move): Ditto.
89888        (TransformState):
89889        * platform/graphics/transforms/TransformationMatrix.cpp:
89890        (WebCore::clampEdgeValue): Limiting edges to the maximum LayoutUnit value to prevent
89891        overflow..
89892        (WebCore::TransformationMatrix::clampedBoundsOfProjectedQuad): Same as above, but also
89893        returning a LayoutRect which preserves additional precision than the previous IntRect.
89894        (WebCore::TransformationMatrix::mapRect): Adding a version of this method that operates
89895        specifically on FractionalLayoutRects.
89896        (WebCore):
89897        * platform/graphics/transforms/TransformationMatrix.h:
89898        (WebCore):
89899        (TransformationMatrix):
89900        * rendering/LayoutTypes.h:
89901        (WebCore::clampToLayoutUnit):
89902        (WebCore):
89903
899042012-03-09  Ryosuke Niwa  <rniwa@webkit.org>
89905
89906        Remove a bogus assertion. This condition is no longer true for non-document tree scopes.
89907
89908        * dom/TreeScope.cpp:
89909        (WebCore::TreeScope::activeElement):
89910
899112012-03-09  Ryosuke Niwa  <rniwa@webkit.org>
89912
89913        Cleanup incDOMTreeVersion callers
89914        https://bugs.webkit.org/show_bug.cgi?id=80452
89915
89916        Reviewed by Andreas Kling.
89917
89918        Unify various calls to incDOMTreeVersion and namely remove the call inside dispatchSubtreeModifiedEvent.
89919        There should be no behavioral change and therefore there is no new test.
89920
89921        * dom/CharacterData.cpp:
89922        (WebCore::CharacterData::parserAppendData):
89923        (WebCore::CharacterData::setDataAndUpdate):
89924        * dom/ContainerNode.cpp:
89925        (WebCore::willRemoveChild):
89926        (WebCore::willRemoveChildren):
89927        (WebCore::ContainerNode::removeChild):
89928        (WebCore::ContainerNode::removeChildren):
89929        (WebCore::ContainerNode::childrenChanged):
89930        (WebCore::notifyChildInserted):
89931        * dom/Element.cpp:
89932        (WebCore::Element::attributeChanged):
89933        (WebCore::Element::parserSetAttributes):
89934        (WebCore::Element::willModifyAttribute):
89935        * dom/Node.cpp:
89936        (WebCore::Node::dispatchSubtreeModifiedEvent):
89937        * html/HTMLOutputElement.cpp:
89938        (WebCore::HTMLOutputElement::childrenChanged):
89939        * html/HTMLScriptElement.cpp:
89940        (WebCore::HTMLScriptElement::childrenChanged):
89941        * html/HTMLStyleElement.cpp:
89942        (WebCore::HTMLStyleElement::childrenChanged):
89943        * html/HTMLTextAreaElement.cpp:
89944        (WebCore::HTMLTextAreaElement::childrenChanged):
89945        * html/HTMLTitleElement.cpp:
89946        (WebCore::HTMLTitleElement::childrenChanged):
89947        * svg/SVGScriptElement.cpp:
89948        (WebCore::SVGScriptElement::childrenChanged):
89949        * svg/SVGStyleElement.cpp:
89950        (WebCore::SVGStyleElement::childrenChanged):
89951
899522012-03-09  Patrick Gansterer  <paroga@webkit.org>
89953
89954        Build fix for !ENABLE(FILTERS) after r110285.
89955
89956        * rendering/svg/SVGRenderingContext.h:
89957        (WebCore::SVGRenderingContext::SVGRenderingContext):
89958
899592012-03-09  Dana Jansens  <danakj@chromium.org>
89960
89961        [chromium] Use opaque paints in CCOcclusionTracker
89962        https://bugs.webkit.org/show_bug.cgi?id=80173
89963
89964        Reviewed by Adrienne Walker.
89965
89966        Use tracked opaque paints in the tiles when tracking occlusion in
89967        CCOcclusionTracker. Moves the Tile::m_opaqueRect up to the super-
89968        class in CCLayerTilingData rather than having it declared in both
89969        TiledLayerChromium and CCTiledLayerImpl. This lets the CCLayerTilingData
89970        class compute the opaque region for its tiles, sharing code between the
89971        two tiled layer implementations.
89972
89973        Use of this feature is guarded behind a runtime flag and turned off for
89974        paint culling. We will enable it in the future once we're comfortable
89975        with the paint culling.
89976
89977        Unit test: CCOcclusionTrackerTest.opaqueContentsRegionEmpty
89978                   CCOcclusionTrackerTest.opaqueContentsRegionNonEmpty
89979                   TiledLayerChromiumTest.opaqueContentsRegion
89980
89981        All existing CCOcclusionTrackerTest.* duplicated with opaque painted
89982        rects.
89983
89984        * platform/graphics/chromium/LayerChromium.h:
89985        (WebCore::LayerChromium::opaqueContentsRegion):
89986        (LayerChromium):
89987        * platform/graphics/chromium/TiledLayerChromium.cpp:
89988        (UpdatableTile):
89989        (WebCore::TiledLayerChromium::pushPropertiesTo):
89990        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
89991        (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
89992        (WebCore::TiledLayerChromium::opaqueContentsRegion):
89993        (WebCore):
89994        * platform/graphics/chromium/TiledLayerChromium.h:
89995        * platform/graphics/chromium/cc/CCLayerImpl.h:
89996        (WebCore::CCLayerImpl::opaqueContentsRegion):
89997        (CCLayerImpl):
89998        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
89999        (WebCore::CCLayerTilingData::opaqueRegionInLayerRect):
90000        (WebCore):
90001        * platform/graphics/chromium/cc/CCLayerTilingData.h:
90002        (WebCore):
90003        (Tile):
90004        (WebCore::CCLayerTilingData::Tile::opaqueRect):
90005        (WebCore::CCLayerTilingData::Tile::setOpaqueRect):
90006        (CCLayerTilingData):
90007        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
90008        (WebCore::::CCOcclusionTrackerBase):
90009        (WebCore::computeOcclusionBehindLayer):
90010        (WebCore::::markOccludedBehindLayer):
90011        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
90012        (CCOcclusionTrackerBase):
90013        (WebCore::CCOcclusionTrackerBase::setUsePaintTracking):
90014        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
90015        (DrawableTile):
90016        (WebCore::CCTiledLayerImpl::opaqueContentsRegion):
90017        (WebCore):
90018        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
90019        (CCTiledLayerImpl):
90020
900212012-03-09  Antti Koivisto  <antti@apple.com>
90022
90023        Presentation attribute cache
90024        https://bugs.webkit.org/show_bug.cgi?id=80707
90025        
90026        Reviewed by Andreas Kling.
90027
90028        It is common for the same presentation attribute values repeat. We should introduce a cache that uses 
90029        presentation attribute names and values as key. This will help to avoid repeated parsing of the 
90030        same attribute values, reduce memory consumption and speed up the style resolve.
90031        
90032        This patch introduces a simple and small (128 entries) global cache. In general web browsing it seems
90033        to give sharing rate of >75% (an average presentation attribute property set is shared between >4 elements).
90034
90035        * dom/StyledElement.cpp:
90036        (WebCore::PresentationAttributeCacheKey::PresentationAttributeCacheKey):
90037        (PresentationAttributeCacheKey):
90038        (WebCore):
90039        (WebCore::operator!=):
90040        (PresentationAttributeCacheEntry):
90041        (WebCore::presentationAttributeCache):
90042        (WebCore::attributeNameSort):
90043        (WebCore::StyledElement::makePresentationAttributeCacheKey):
90044        (WebCore::computePresentationAttributeCacheHash):
90045        (WebCore::StyledElement::updateAttributeStyle):
90046        * dom/StyledElement.h:
90047        (WebCore):
90048        (StyledElement):
90049
900502012-03-08  Erik Arvidsson  <arv@chromium.org>
90051
90052        [V8] Fix object scope for inline event attribute handlers
90053        https://bugs.webkit.org/show_bug.cgi?id=80329
90054
90055        Reviewed by Ojan Vafai.
90056
90057        We now create the funciton inside the with-statements with the current scope objects.
90058        This is important for a few reasons:
90059
90060        - We need to use the real objects and not just lookup the JS properties because these might have been overridden.
90061        - We need to use the node, form and document at the time of the preparation and not at the time of calling.
90062        - We need to ensure that event/evt is bound closer than a property with the same name in the object environment
90063          created by the with-statements.
90064
90065        Tests: fast/dom/inline-event-attributes-lookup-removed-form.html
90066               fast/dom/inline-event-attributes-lookup-removed.html
90067               fast/dom/inline-event-attributes-lookup.html
90068
90069        * bindings/v8/ScriptEventListener.cpp:
90070        (WebCore::eventParameterName):
90071        (WebCore):
90072        (WebCore::createAttributeEventListener):
90073        * bindings/v8/V8LazyEventListener.cpp:
90074        (WebCore::V8LazyEventListener::V8LazyEventListener):
90075        (WebCore):
90076        (WebCore::toObjectWrapper):
90077        (WebCore::V8LazyEventListener::callListenerFunction):
90078        (WebCore::V8LazyEventListener::prepareListenerObject):
90079        * bindings/v8/V8LazyEventListener.h:
90080        (WebCore):
90081        (WebCore::V8LazyEventListener::create):
90082        (V8LazyEventListener):
90083
900842012-03-09  Stephen Chenney  <schenney@chromium.org>
90085
90086        Crash in WebCore::SVGUseElement::instanceForShadowTreeElement
90087        https://bugs.webkit.org/show_bug.cgi?id=80406
90088
90089        Reviewed by Nikolas Zimmermann.
90090
90091        Code assumes that an object that is an SVG Element and in a shadow
90092        tree must be in an SVG use shadow tree, and casts the shadow host with
90093        a static_cast. It may be that an SVG element appears in a non-use
90094        shadow tree, in which case bad things happen. While it appears that
90095        the current code prevents such a situation from arising (checks are
90096        made within the shadow tree code to prevent it) there are also
90097        indications that the situation may change.
90098
90099        No new tests. I believe that the problem here cannot currently be
90100        reproduced. That is, other code prevents SVG elements from appearing
90101        in non-svg shadow trees.
90102
90103        * dom/EventDispatcher.cpp:
90104        (WebCore::eventTargetRespectingSVGTargetRules):
90105        * svg/SVGStyledElement.cpp:
90106        (WebCore::SVGStyledElement::title):
90107
901082012-03-09  Jon Lee  <jonlee@apple.com>
90109
90110        Add support for ENABLE(LEGACY_NOTIFICATIONS)
90111        https://bugs.webkit.org/show_bug.cgi?id=80497
90112
90113        Reviewed by Adam Barth.
90114
90115        Prep for b80472: Update API for Web Notifications
90116        * Configurations/FeatureDefines.xcconfig:
90117        * GNUmakefile.am:
90118
901192012-03-09  Kaustubh Atrawalkar  <kaustubh@motorola.com>
90120
90121        ShadowRoot should implement activeElement.
90122        https://bugs.webkit.org/show_bug.cgi?id=79886
90123
90124        Reviewed by Ryosuke Niwa.
90125
90126        Implement the activeElement attribute for ShadowRoot to return the
90127        currently focused element in the shadow DOM subtree.
90128
90129        Test: fast/dom/shadow/shadow-root-activeElement.html
90130
90131        * dom/ShadowRoot.cpp:
90132        (WebCore::ShadowRoot::activeElement):
90133        (WebCore):
90134        * dom/ShadowRoot.h:
90135        (ShadowRoot):
90136        * dom/ShadowRoot.idl:
90137        * dom/TreeScope.cpp:
90138        (WebCore::TreeScope::adoptIfNeeded):
90139        (WebCore):
90140        (WebCore::focusedFrameOwnerElement):
90141        (WebCore::TreeScope::activeElement):
90142        * dom/TreeScope.h:
90143        (TreeScope):
90144        * html/HTMLDocument.cpp:
90145        (WebCore):
90146        (WebCore::HTMLDocument::activeElement):
90147
901482012-03-09  Tim Horton  <timothy_horton@apple.com>
90149
90150        Infinite repaint loop with SVGImageCache and deferred repaint timers
90151        https://bugs.webkit.org/show_bug.cgi?id=78315
90152        <rdar://problem/10651634>
90153
90154        Reviewed by Nikolas Zimmermann.
90155
90156        Only defer image redraw on a timer if we're in layout. This breaks
90157        the repaint loop while still preventing us from drawing inside layout.
90158
90159        Completely disable repaint during relayout inside SVGImage::drawSVGToImageBuffer,
90160        preventing deferred repaint timers from being started during that process.
90161
90162        No new tests, as the problem only occurs in a nonstandard configuration.
90163
90164        * svg/graphics/SVGImage.cpp:
90165        (WebCore::SVGImage::draw):
90166        (WebCore::SVGImage::frameView):
90167        (WebCore):
90168        * svg/graphics/SVGImage.h:
90169        (WebCore):
90170        * svg/graphics/SVGImageCache.cpp:
90171        (WebCore::SVGImageCache::imageContentChanged):
90172        (WebCore::SVGImageCache::redraw):
90173        (WebCore::SVGImageCache::redrawTimerFired):
90174        (WebCore):
90175        * svg/graphics/SVGImageCache.h:
90176        (SVGImageCache):
90177
901782012-03-09  Victor Carbune  <vcarbune@adobe.com>
90179
90180        The method TextTrackCue::getCueAsHTML() should return different
90181        fragments on different calls.
90182
90183        https://bugs.webkit.org/show_bug.cgi?id=80701
90184
90185        Reviewed by Eric Carlson.
90186
90187        Test: media/track/track-cue-mutable-fragment.html
90188
90189        * html/track/TextTrackCue.cpp: Removed setCueHTML(), since it is sufficient
90190        to create apply the DOM rules only when the fragment is first requested.
90191        (WebCore::TextTrackCue::getCueAsHTML): Changed the method such that a
90192        a clone of the cached document fragment is returned.
90193        * html/track/TextTrackCue.h: Removed setCueHTML() as the document fragment
90194        of the cue should be created only within the class, from the cue text.
90195        (TextTrackCue):
90196        * html/track/WebVTTParser.cpp:
90197        (WebCore::WebVTTParser::createNewCue): removed usage of setCueHTML()
90198
901992012-03-09  Tim Horton  <timothy_horton@apple.com>
90200
90201        Crash in SVGTextLayoutAttributesBuilder::fillCharacterDataMap
90202        https://bugs.webkit.org/show_bug.cgi?id=78949
90203        <rdar://problem/10889440>
90204
90205        Reviewed by Nikolas Zimmermann.
90206
90207        Invalidate the text positioning cache when the children of an SVGAElement change,
90208        so that we regenerate the list the next time it's needed instead of using stale values.
90209
90210        Test: svg/text/text-positioning-remove-child-crash.svg
90211
90212        * rendering/svg/SVGAElement.cpp:
90213        (WebCore::SVGAElement::childrenChanged):
90214
902152012-03-09  Ashod Nakashian  <ashodnakashian@yahoo.com>
90216
90217        Bash scripts should support LF endings only
90218        https://bugs.webkit.org/show_bug.cgi?id=79509
90219
90220        Reviewed by David Kilzer.
90221
90222        * WebCore.gyp/mac/adjust_visibility.sh: Added property svn:eol-style.
90223        * WebCore.vcproj/build-generated-files.sh: Added property svn:executable.
90224        * WebCore.vcproj/migrate-scripts.sh: Added property svn:executable.
90225        * gyp/copy-forwarding-and-icu-headers.sh: Added property svn:eol-style.
90226        * gyp/copy-inspector-resources.sh: Added property svn:eol-style.
90227        * gyp/generate-derived-sources.sh: Added property svn:eol-style.
90228        * gyp/generate-webcore-export-file-generator.sh: Added property svn:eol-style.
90229        * gyp/run-if-exists.sh: Added property svn:eol-style.
90230        * gyp/streamline-inspector-source.sh: Added property svn:eol-style.
90231        * gyp/update-info-plist.sh: Added property svn:eol-style.
90232
902332012-03-09  Andreas Kling  <awesomekling@apple.com>
90234
90235        CSSParser: Use Vector for intermediate property storage.
90236        <http://webkit.org/b/80653>
90237
90238        Reviewed by Antti Koivisto.
90239
90240        Remove the custom memory management for intermediate CSSProperties in CSSParser
90241        and replace it by a Vector<CSSProperty, 256>.
90242        This avoids heap allocations and removes a bunch of unnecessary complexity.
90243
90244        Remove WTF_MAKE_FAST_ALLOCATED from CSSProperty since they are only created on
90245        the stack now.
90246
90247        * css/CSSGrammar.y:
90248        * css/CSSParser.cpp:
90249        (WebCore::CSSParser::CSSParser):
90250        (WebCore::CSSParser::~CSSParser):
90251        (WebCore::CSSParser::parseValue):
90252        (WebCore::CSSParser::parseColor):
90253        (WebCore::CSSParser::parseDeclaration):
90254        (WebCore::CSSParser::addProperty):
90255        (WebCore::CSSParser::rollbackLastProperties):
90256        (WebCore::CSSParser::clearProperties):
90257        (WebCore::CSSParser::parse4Values):
90258        (WebCore::CSSParser::parseFlowThread):
90259        (WebCore::CSSParser::createStyleRule):
90260        (WebCore::CSSParser::createFontFaceRule):
90261        (WebCore::CSSParser::createPageRule):
90262        (WebCore::CSSParser::createMarginAtRule):
90263        (WebCore::CSSParser::startDeclarationsForMarginBox):
90264        (WebCore::CSSParser::endDeclarationsForMarginBox):
90265        (WebCore::CSSParser::deleteFontFaceOnlyValues):
90266        (WebCore::CSSParser::createKeyframeRule):
90267        * css/CSSParser.h:
90268        (WebCore::CSSParser::hasProperties):
90269        (CSSParser):
90270        * css/CSSProperty.h:
90271        * css/SVGCSSParser.cpp:
90272        (WebCore::CSSParser::parseSVGValue):
90273        * css/StylePropertySet.cpp:
90274        (WebCore::StylePropertySet::StylePropertySet):
90275        (WebCore::StylePropertySet::addParsedProperties):
90276        * css/StylePropertySet.h:
90277        (WebCore::StylePropertySet::create):
90278        (StylePropertySet):
90279
902802012-03-09  Nate Chapin  <japhet@chromium.org>
90281
90282        CachedRawResource breaks when trying to load
90283        a resource with an empty response body from cache.
90284
90285        Reviewed by Alexey Proskuryakov.
90286
90287        Test: http/tests/cache/zero-length-xhr.html
90288
90289        * loader/cache/CachedRawResource.cpp:
90290        (WebCore::CachedRawResource::didAddClient): Don't exit early
90291            if m_data is empty, we may still need to notifyFinished().
90292
902932012-03-09  Robin Cao  <robin.cao@torchmobile.com.cn>
90294
90295        [BlackBerry] Upstream classes that handle layer tiling
90296        https://bugs.webkit.org/show_bug.cgi?id=79875
90297
90298        Reviewed by Rob Buis.
90299
90300        Initial upstreaming, no new tests.
90301
90302        * platform/graphics/blackberry/LayerTile.cpp: Added.
90303        (WebCore):
90304        (WebCore::LayerTile::LayerTile):
90305        (WebCore::LayerTile::~LayerTile):
90306        (WebCore::LayerTile::setContents):
90307        (WebCore::LayerTile::setContentsToColor):
90308        (WebCore::LayerTile::updateContents):
90309        (WebCore::LayerTile::discardContents):
90310        (WebCore::LayerTile::setVisible):
90311        (WebCore::LayerTile::setTexture):
90312        * platform/graphics/blackberry/LayerTile.h: Added.
90313        (WebCore):
90314        (LayerTileData):
90315        (WebCore::LayerTileData::LayerTileData):
90316        (WebCore::LayerTileData::isVisible):
90317        (LayerTile):
90318        (WebCore::LayerTile::texture):
90319        (WebCore::LayerTile::isVisible):
90320        (WebCore::LayerTile::isDirty):
90321        (WebCore::LayerTile::hasTexture):
90322        (WebCore::LayerTile::setContentsDirty):
90323        * platform/graphics/blackberry/LayerTileIndex.h: Added.
90324        (WebCore):
90325        (TileIndex):
90326        (WebCore::TileIndex::TileIndex):
90327        (WebCore::TileIndex::~TileIndex):
90328        (WebCore::TileIndex::i):
90329        (WebCore::TileIndex::j):
90330        (WebCore::TileIndex::setIndex):
90331        (WebCore::operator==):
90332        (WebCore::operator!=):
90333        (WTF):
90334        * platform/graphics/blackberry/LayerTiler.cpp: Added.
90335        (WebCore):
90336        (WebCore::transformPoint):
90337        (WebCore::defaultTileSize):
90338        (WebCore::LayerTiler::LayerTiler):
90339        (WebCore::LayerTiler::~LayerTiler):
90340        (WebCore::LayerTiler::layerWebKitThreadDestroyed):
90341        (WebCore::LayerTiler::layerCompositingThreadDestroyed):
90342        (WebCore::LayerTiler::setNeedsDisplay):
90343        (WebCore::LayerTiler::updateTextureContentsIfNeeded):
90344        (WebCore::LayerTiler::shouldPerformRenderJob):
90345        (WebCore::LayerTiler::addTextureJob):
90346        (WebCore::LayerTiler::clearTextureJobs):
90347        (WebCore::LayerTiler::commitPendingTextureUploads):
90348        (WebCore::LayerTiler::layerVisibilityChanged):
90349        (WebCore::LayerTiler::uploadTexturesIfNeeded):
90350        (WebCore::LayerTiler::processTextureJob):
90351        (WebCore::LayerTiler::addTileJob):
90352        (WebCore::LayerTiler::performTileJob):
90353        (WebCore::LayerTiler::drawTextures):
90354        (WebCore::LayerTiler::drawMissingTextures):
90355        (WebCore::LayerTiler::drawTexturesInternal):
90356        (WebCore::LayerTiler::addRenderJob):
90357        (WebCore::LayerTiler::removeRenderJob):
90358        (WebCore::LayerTiler::deleteTextures):
90359        (WebCore::LayerTiler::pruneTextures):
90360        (WebCore::LayerTiler::updateTileSize):
90361        (WebCore::LayerTiler::disableTiling):
90362        (WebCore::LayerTiler::shouldPrefillTile):
90363        (WebCore::LayerTiler::indexOfTile):
90364        (WebCore::LayerTiler::originOfTile):
90365        (WebCore::LayerTiler::rectForTile):
90366        (WebCore::LayerTiler::hasDirtyTiles):
90367        (WebCore::LayerTiler::bindContentsTexture):
90368        * platform/graphics/blackberry/LayerTiler.h: Added.
90369        (WebCore):
90370        (LayerTiler):
90371        (WebCore::LayerTiler::create):
90372        (WebCore::LayerTiler::layer):
90373        (WebCore::LayerTiler::hasMissingTextures):
90374        (WebCore::LayerTiler::TextureJob::TextureJob):
90375        (TextureJob):
90376        (WebCore::LayerTiler::TextureJob::setContents):
90377        (WebCore::LayerTiler::TextureJob::setContentsToColor):
90378        (WebCore::LayerTiler::TextureJob::updateContents):
90379        (WebCore::LayerTiler::TextureJob::discardContents):
90380        (WebCore::LayerTiler::TextureJob::resizeContents):
90381        (WebCore::LayerTiler::TextureJob::dirtyContents):
90382        (WebCore::LayerTiler::TextureJob::isNull):
90383        (WebCore::LayerTiler::tileSize):
90384        (WebCore::LayerTiler::removeUpdateContentsJobs):
90385
903862012-03-09  Ian Vollick  <vollick@chromium.org>
90387
90388        [chromium] Ensure we use the correct time when notifying animation started
90389        https://bugs.webkit.org/show_bug.cgi?id=79537
90390
90391        Reviewed by James Robinson
90392
90393        Tested in CCLayerTreeHostTestAddAnimation
90394
90395        * platform/graphics/chromium/LayerChromium.cpp:
90396        (WebCore::LayerChromium::setAnimationEvent):
90397        * platform/graphics/chromium/LayerChromium.h:
90398        (LayerChromium):
90399        * platform/graphics/chromium/cc/CCAnimationEvents.cpp:
90400        (WebCore::CCAnimationStartedEvent::create):
90401        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
90402        * platform/graphics/chromium/cc/CCAnimationEvents.h:
90403        (CCAnimationEvent):
90404        (CCAnimationStartedEvent):
90405        * platform/graphics/chromium/cc/CCInputHandler.h:
90406        (CCInputHandler):
90407        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
90408        (WebCore::CCLayerAnimationControllerImpl::animate):
90409        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
90410        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
90411        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
90412        (WebCore::CCLayerAnimationControllerImpl::resolveConflicts):
90413        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
90414        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
90415        (CCLayerAnimationControllerImpl):
90416        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
90417        (WebCore::CCLayerTreeHost::setAnimationEvents):
90418        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
90419        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
90420        (CCLayerTreeHost):
90421        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
90422        (WebCore::CCLayerTreeHostImpl::animate):
90423        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
90424        (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
90425        (WebCore::CCLayerTreeHostImpl::animatePageScale):
90426        (WebCore::CCLayerTreeHostImpl::animateLayers):
90427        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
90428        (CCLayerTreeHostImplClient):
90429        (CCLayerTreeHostImpl):
90430        * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp:
90431        (WebCore::CCPageScaleAnimation::create):
90432        (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
90433        (WebCore::CCPageScaleAnimation::zoomTo):
90434        (WebCore::CCPageScaleAnimation::zoomWithAnchor):
90435        (WebCore::CCPageScaleAnimation::scrollOffsetAtTime):
90436        (WebCore::CCPageScaleAnimation::pageScaleAtTime):
90437        (WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime):
90438        (WebCore::CCPageScaleAnimation::progressRatioForTime):
90439        * platform/graphics/chromium/cc/CCPageScaleAnimation.h:
90440        (CCPageScaleAnimation):
90441        (WebCore::CCPageScaleAnimation::startTime):
90442        (WebCore::CCPageScaleAnimation::duration):
90443        (WebCore::CCPageScaleAnimation::endTime):
90444        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
90445        (WebCore::CCSingleThreadProxy::startPageScaleAnimation):
90446        (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread):
90447        (WebCore::CCSingleThreadProxy::doComposite):
90448        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
90449        (CCSingleThreadProxy):
90450        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
90451        (WebCore::CCThreadProxy::startPageScaleAnimation):
90452        (WebCore::CCThreadProxy::requestStartPageScaleAnimationOnImplThread):
90453        (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
90454        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
90455        (WebCore::CCThreadProxy::setAnimationEvents):
90456        * platform/graphics/chromium/cc/CCThreadProxy.h:
90457        (CCThreadProxy):
90458
904592012-03-09  Zoltan Herczeg  <zherczeg@webkit.org>
90460
90461        Add SVGRenderingContext and move there the context related code from SVGRenderSupport
90462        https://bugs.webkit.org/show_bug.cgi?id=80413
90463
90464        Reviewed by Nikolas Zimmermann.
90465
90466        This is the first step of refactoring the rendering context for SVG. The
90467        previous context was stateless before, which means the cleanup phase
90468        needed to do a lot of checks to revert the initialization part and
90469        was unaware of failed inititalization. Future code can also add
90470        new local variables to the context.
90471
90472        This patch add a new SVGRenderingContext class, and moves there the context
90473        initialization / cleanup code from SVGRenderSupport. All build systems were
90474        updated.
90475
90476        * CMakeLists.txt:
90477        * GNUmakefile.list.am:
90478        * Target.pri:
90479        * WebCore.gypi:
90480        * WebCore.vcproj/WebCore.vcproj:
90481        * WebCore.xcodeproj/project.pbxproj:
90482        * rendering/svg/RenderSVGAllInOne.cpp:
90483        * rendering/svg/RenderSVGContainer.cpp:
90484        (WebCore::RenderSVGContainer::paint):
90485        * rendering/svg/RenderSVGForeignObject.cpp:
90486        (WebCore::RenderSVGForeignObject::paint):
90487        * rendering/svg/RenderSVGImage.cpp:
90488        (WebCore::RenderSVGImage::paint):
90489        * rendering/svg/RenderSVGRoot.cpp:
90490        (WebCore::RenderSVGRoot::paintReplaced):
90491        * rendering/svg/RenderSVGShape.cpp:
90492        (WebCore::RenderSVGShape::paint):
90493        * rendering/svg/SVGInlineFlowBox.cpp:
90494        (WebCore::SVGInlineFlowBox::paint):
90495        * rendering/svg/SVGRenderSupport.cpp:
90496        * rendering/svg/SVGRenderSupport.h:
90497        * rendering/svg/SVGRenderingContext.cpp: Added.
90498        (WebCore):
90499        (WebCore::isRenderingMaskImage):
90500        (WebCore::SVGRenderingContext::~SVGRenderingContext):
90501        (WebCore::SVGRenderingContext::prepareToRenderSVGContent):
90502        * rendering/svg/SVGRenderingContext.h: Added.
90503        (WebCore):
90504        (SVGRenderingContext):
90505        (WebCore::SVGRenderingContext::SVGRenderingContext):
90506        (WebCore::SVGRenderingContext::isRenderingPrepared):
90507        * rendering/svg/SVGRootInlineBox.cpp:
90508        (WebCore::SVGRootInlineBox::paint):
90509
905102012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
90511
90512        Unreviewed, rolling out r110191, r110202, and r110279.
90513        http://trac.webkit.org/changeset/110191
90514        http://trac.webkit.org/changeset/110202
90515        http://trac.webkit.org/changeset/110279
90516        https://bugs.webkit.org/show_bug.cgi?id=80694
90517
90518        They broke !ENABLE(INSPECTOR) builds (Requested by Ossy on
90519        #webkit).
90520
90521        * WebCore.exp.in:
90522        * testing/Internals.cpp:
90523        * testing/Internals.h:
90524        (WebCore):
90525        (Internals):
90526        * testing/Internals.idl:
90527
905282012-03-09  Hans Wennborg  <hans@chromium.org>
90529
90530        Speech JavaScript API: add SpeechGrammar and SpeechGrammarList
90531        https://bugs.webkit.org/show_bug.cgi?id=80417
90532
90533        Reviewed by Adam Barth.
90534
90535        Implement SpeechGrammar and SpeechGrammarList.
90536        (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
90537
90538        Test: fast/speech/scripted/speechgrammar-basics.html
90539
90540        * Modules/speech/DOMWindowSpeech.idl:
90541        * Modules/speech/SpeechGrammar.cpp:
90542        (WebCore):
90543        (WebCore::SpeechGrammar::create):
90544        (WebCore::SpeechGrammar::SpeechGrammar):
90545        * Modules/speech/SpeechGrammar.h:
90546        (WebCore):
90547        (SpeechGrammar):
90548        (WebCore::SpeechGrammar::src):
90549        (WebCore::SpeechGrammar::setSrc):
90550        (WebCore::SpeechGrammar::weight):
90551        (WebCore::SpeechGrammar::setWeight):
90552        * Modules/speech/SpeechGrammar.idl:
90553        * Modules/speech/SpeechGrammarList.cpp:
90554        (WebCore):
90555        (WebCore::SpeechGrammarList::create):
90556        (WebCore::SpeechGrammarList::item):
90557        (WebCore::SpeechGrammarList::addFromUri):
90558        (WebCore::SpeechGrammarList::addFromString):
90559        (WebCore::SpeechGrammarList::SpeechGrammarList):
90560        * Modules/speech/SpeechGrammarList.h:
90561        (WebCore):
90562        (SpeechGrammarList):
90563        (WebCore::SpeechGrammarList::length):
90564        * Modules/speech/SpeechGrammarList.idl:
90565        * WebCore.gypi:
90566
905672012-03-09  Sheriff Bot  <webkit.review.bot@gmail.com>
90568
90569        Unreviewed, rolling out r110269.
90570        http://trac.webkit.org/changeset/110269
90571        https://bugs.webkit.org/show_bug.cgi?id=80688
90572
90573        It made inspector/elements/highlight-node.html fail everywhere
90574        (Requested by Ossy on #webkit).
90575
90576        * testing/Internals.idl:
90577
905782012-03-07  Alexander Pavlov  <apavlov@chromium.org>
90579
90580        Web Inspector: [Styles] Click in the first line of rule while editing property starts a new property
90581        https://bugs.webkit.org/show_bug.cgi?id=80507
90582
90583        Reviewed by Vsevolod Vlasov.
90584
90585        * inspector/front-end/StylesSidebarPane.js:
90586        (WebInspector.StylePropertiesSection):
90587        (WebInspector.StylePropertiesSection.prototype._checkWillCancelEditing):
90588        (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
90589        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
90590        (WebInspector.StylePropertyTreeElement.prototype.onattach):
90591        (WebInspector.StylePropertyTreeElement.prototype):
90592
905932012-03-09  Mark Rowe  <mrowe@apple.com>
90594
90595        <rdar://problem/11012024> Fix the build by working around <rdar://problem/10710970>.
90596
90597        * platform/mac/RunLoopMac.mm:
90598        (WebCore::RunLoop::stop):
90599
906002012-03-09  Marja Hölttä  <marja@google.com>
90601
90602        FileInputType doesn't support (save|restore)FormControlState
90603        https://bugs.webkit.org/show_bug.cgi?id=80145
90604
90605        Reviewed by Kent Tamura.
90606
90607        This enables saving and restoring the state of file upload elements in
90608        unsubmitted forms.
90609
90610        Test: fast/forms/file/recover-file-input-in-unposted-form.html
90611
90612        * html/BaseCheckableInputType.cpp:
90613        (WebCore::BaseCheckableInputType::restoreFormControlState): non-const
90614        * html/BaseCheckableInputType.h:
90615        (BaseCheckableInputType): restoreFormControlState non-const
90616        * html/FileInputType.cpp:
90617        (WebCore::FileInputType::saveFormControlState): save chosen files
90618        (WebCore):
90619        (WebCore::FileInputType::restoreFormControlState): restore chosen files
90620        * html/FileInputType.h:
90621        (FileInputType): overwrite (save|restore)FormControlState
90622        * html/HiddenInputType.cpp:
90623        (WebCore::HiddenInputType::restoreFormControlState): non-const
90624        * html/HiddenInputType.h:
90625        (HiddenInputType): restoreFormControlState non-const
90626        * html/InputType.cpp:
90627        (WebCore::InputType::restoreFormControlState): non-const
90628        * html/InputType.h:
90629        (InputType): restoreFormControlState non-const
90630        * html/PasswordInputType.cpp:
90631        (WebCore::PasswordInputType::restoreFormControlState): non-const
90632        * html/PasswordInputType.h:
90633        (PasswordInputType): restoreFormControlState non-const
90634
906352012-03-08  Benjamin Poulain  <bpoulain@apple.com>
90636
90637        Base the access to CSSStyleDeclaration on the CSSPropertyID instead of the PropertyName
90638        https://bugs.webkit.org/show_bug.cgi?id=80461
90639
90640        Reviewed by Geoffrey Garen.
90641
90642        Previously, the acces to CSS Style properties was done through a NamedGetter. This caused
90643        the (slow) mapping between CSSPropertyName and CSSPropertyID to be done twice for every acess:
90644        1) canGetItemsForName() prior to the definition of the slot.
90645        2) nameGetter() called from the slot with CSSPropertyName to get the actual value.
90646
90647        This patch changes the access to be based on CSSPropertyID. The slot is defined with the
90648        CSSPropertyID as the customIndex, and the value can be accessed directly when the slot is
90649        called.
90650
90651        To handle the differences create by hadPixelOrPosPrefix, two nearly identical callback are defined,
90652        one for hadPixelOrPosPrefix, the other for !hadPixelOrPosPrefix.
90653
90654        The performance gain is about 19% when accessing CSS properties.
90655
90656        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
90657        (WebCore::getPropertyValueFallback):
90658        (WebCore::cssPropertyGetterPixelOrPosPrefix):
90659        (WebCore):
90660        (WebCore::cssPropertyGetterPixelOrPosPrefixCallback):
90661        (WebCore::cssPropertyGetter):
90662        (WebCore::cssPropertyGetterCallback):
90663        (WebCore::JSCSSStyleDeclaration::getOwnPropertySlotDelegate):
90664        (WebCore::JSCSSStyleDeclaration::getOwnPropertyDescriptorDelegate):
90665        * css/CSSStyleDeclaration.idl:
90666
906672012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
90668
90669        [Qt] Fix Qt minimal build
90670
90671        * testing/Internals.idl:
90672
906732012-03-08  James Robinson  <jamesr@chromium.org>
90674
90675        [chromium] Remove dead CoreGraphics code from chromium compositor implementation
90676        https://bugs.webkit.org/show_bug.cgi?id=80470
90677
90678        Reviewed by Adam Barth.
90679
90680        We haven't supported CoreGraphics as a raster backend in chromium for a few months and do not plan to do so, so
90681        it's time to remove the USE(CG) #ifdefs from our compositor and just rely on USE(SKIA) being set.  This also
90682        slightly simplifies how PlatformCanvas works.
90683
90684        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
90685        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
90686        * platform/graphics/chromium/ContentLayerChromium.cpp:
90687        (WebCore::ContentLayerChromium::createTextureUpdaterIfNeeded):
90688        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
90689        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
90690        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
90691        * platform/graphics/chromium/ImageLayerChromium.h:
90692        * platform/graphics/chromium/LayerChromium.cpp:
90693        * platform/graphics/chromium/LayerRendererChromium.cpp:
90694        (WebCore::LayerRendererChromium::initialize):
90695        * platform/graphics/chromium/LayerRendererChromium.h:
90696        * platform/graphics/chromium/PlatformCanvas.cpp:
90697        (WebCore::PlatformCanvas::createBackingCanvas):
90698        (WebCore::PlatformCanvas::AutoLocker::AutoLocker):
90699        (WebCore::PlatformCanvas::AutoLocker::~AutoLocker):
90700        (WebCore):
90701        (WebCore::PlatformCanvas::AutoLocker::pixels):
90702        (WebCore::PlatformCanvas::Painter::Painter):
90703        * platform/graphics/chromium/PlatformCanvas.h:
90704        (WebCore):
90705        (AutoLocker):
90706        (Painter):
90707        (PlatformCanvas):
90708        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
90709        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
90710
907112012-03-08  Ryosuke Niwa  <rniwa@webkit.org>
90712
90713        Get rid of itemTypeAttributeChanged
90714        https://bugs.webkit.org/show_bug.cgi?id=80666
90715
90716        Reviewed by Adam Barth.
90717
90718        This function is unnecessay as we can invalidate m_microDataItemListCaches
90719        in invalidateCachesThatDependOnAttributes as done for other node lists.
90720
90721        * dom/Node.cpp:
90722        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
90723        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
90724        * dom/Node.h:
90725        * dom/NodeRareData.h:
90726        (NodeListsNodeData):
90727        * html/HTMLElement.cpp:
90728        (WebCore::HTMLElement::parseAttribute):
90729
907302012-03-08  Sheriff Bot  <webkit.review.bot@gmail.com>
90731
90732        Unreviewed, rolling out r108616.
90733        http://trac.webkit.org/changeset/108616
90734        https://bugs.webkit.org/show_bug.cgi?id=80676
90735
90736        breaks animation on Safari welcome page (Requested by smfr on
90737        #webkit).
90738
90739        * page/animation/AnimationController.cpp:
90740        (WebCore::AnimationController::updateAnimations):
90741        * page/animation/AnimationControllerPrivate.h:
90742        (AnimationControllerPrivate):
90743
907442012-03-08  Benjamin Poulain  <benjamin@webkit.org>
90745
90746        Fix the build of WebKit with WTFURL following the removal of ForwardingHeaders/wtf
90747        https://bugs.webkit.org/show_bug.cgi?id=80652
90748
90749        Reviewed by Eric Seidel.
90750
90751        The fowarding headers have been removed, we must now use the full path to the header.
90752
90753        * platform/KURLWTFURLImpl.h:
90754
907552012-03-08  Emil A Eklund  <eae@chromium.org>
90756
90757        Change calcRadiiFor to IntSize
90758        https://bugs.webkit.org/show_bug.cgi?id=80655
90759
90760        Reviewed by Simon Fraser.
90761
90762        Borders and RoundedRect are both represented with pixel precision. As
90763        such it doesn't make sense for calcRadiiFor to use subpixel units, it
90764        just adds unnecessary type conversions.
90765
90766        No new tests, no new functionality.
90767
90768        * rendering/style/RenderStyle.cpp:
90769        (WebCore::calcRadiiFor):
90770
907712012-03-08  Adrienne Walker  <enne@google.com>
90772
90773        [chromium] Encapsulate mask layer settings in LayerChromium
90774        https://bugs.webkit.org/show_bug.cgi?id=80646
90775
90776        Reviewed by James Robinson.
90777
90778        If a WebLayer sets a mask layer, the setIsMask flag will not get set
90779        properly and the mask layer will not turn off tiling. This was only
90780        being set through GraphicsLayerChromium. Move this flag into
90781        LayerChromium so that it always gets set.
90782
90783        Test: LayoutTests/compositing/
90784
90785        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
90786        (WebCore::GraphicsLayerChromium::setMaskLayer):
90787        * platform/graphics/chromium/LayerChromium.cpp:
90788        (WebCore::LayerChromium::setMaskLayer):
90789
907902012-03-08  Tony Chang  <tony@chromium.org>
90791
90792        margins on flex-align: baseline are double counted
90793        https://bugs.webkit.org/show_bug.cgi?id=80645
90794
90795        Reviewed by Ojan Vafai.
90796
90797        Fix a bug where we're counting the margins on baseline aligned
90798        children twice. Also add some test cases to make sure we handle
90799        wrap-reverse baseline alignment properly.
90800
90801        Tests: css3/flexbox/multiline-reverse-wrap-baseline-expected.html
90802               css3/flexbox/multiline-reverse-wrap-baseline.html
90803
90804        * rendering/RenderFlexibleBox.cpp:
90805        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
90806
908072012-03-08  Nat Duca  <nduca@chromium.org>
90808
90809        [chromium] Pass setVisibility to CCLayerTreeHostImpl regardless of LRC initialization status
90810        https://bugs.webkit.org/show_bug.cgi?id=80584
90811
90812        Reviewed by James Robinson.
90813
90814        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
90815        (WebCore::CCLayerTreeHost::setVisible):
90816        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
90817        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
90818        (WebCore::CCLayerTreeHostImpl::setVisible):
90819        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
90820
908212012-03-08  Ian Vollick  <vollick@chromium.org>
90822
90823        [chromium] Ensure that the cc thread animation framework continues to tick when the tab is backgrounded
90824        https://bugs.webkit.org/show_bug.cgi?id=77668
90825
90826        Reviewed by James Robinson.
90827
90828        Tested in CCLayerTreeHostTestTickAnimationWhileBackgrounded
90829
90830        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
90831        (CCLayerTreeHostImplTimeSourceAdapter):
90832        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::create):
90833        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::~CCLayerTreeHostImplTimeSourceAdapter):
90834        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::onTimerTick):
90835        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::setActive):
90836        (WebCore::CCLayerTreeHostImplTimeSourceAdapter::CCLayerTreeHostImplTimeSourceAdapter):
90837        (WebCore):
90838        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
90839        (WebCore::CCLayerTreeHostImpl::setVisible):
90840        (WebCore::CCLayerTreeHostImpl::animateLayers):
90841        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
90842        (WebCore):
90843        (CCLayerTreeHostImpl):
90844        * platform/graphics/chromium/cc/CCProxy.cpp:
90845        (WebCore::CCProxy::currentThread):
90846        (WebCore):
90847        (WebCore::CCProxy::isMainThread):
90848        (WebCore::CCProxy::isImplThread):
90849        (WebCore::CCProxy::setCurrentThreadIsImplThread):
90850        * platform/graphics/chromium/cc/CCProxy.h:
90851        (CCProxy):
90852
908532012-03-08  Nico Weber  <thakis@chromium.org>
90854
90855        [chromium] Only build NEON files if target_arch=="arm"
90856        https://bugs.webkit.org/show_bug.cgi?id=80626
90857
90858        Currently, webcore_arm_neon will compile a bunch of files
90859        whose contents are completely ifdef'd away on non-arm, and
90860        then bundle all the generated empty .o files into a useless
90861        libwebcore_arm_neon.a. Don't do this.
90862
90863        Reviewed by Tony Chang.
90864
90865        * WebCore.gyp/WebCore.gyp:
90866        * WebCore.gypi:
90867
908682012-03-08 Nima Ghanavatian <nghanavatian@rim.com>
90869
90870        [BlackBerry] Fix warning in PlatformTouchEventBlackBerry.cpp
90871        https://bugs.webkit.org/show_bug.cgi?id=80621
90872
90873        Fixes a warning seen when control reaches the end of a
90874        non-void function.  Return TouchCancel in the 'default' case.
90875
90876        Reviewed by Rob Buis.
90877
90878        * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
90879        (WebCore::touchEventType):
90880
908812012-03-08  Dana Jansens  <danakj@chromium.org>
90882
90883        [chromium] Using wrong scissor rect for draw culling
90884        https://bugs.webkit.org/show_bug.cgi?id=80624
90885
90886        Reviewed by Adrienne Walker.
90887
90888        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
90889        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
90890
908912012-03-08  Andy Estes  <aestes@apple.com>
90892
90893        REGRESSION (r105396): Dragging an iWork document into icloud.com opens it in the Mac app instead of uploading it to icloud.com
90894        https://bugs.webkit.org/show_bug.cgi?id=79443
90895
90896        Reviewed by Ryosuke Niwa.
90897
90898        icloud.com registers a drop event handler that sets display:none on the
90899        file input element receiving the drop. After dispatching the drop event,
90900        DragController hit tests the position under the mouse to see if it is a
90901        file input element in need of receiving files. Since the file input
90902        element has lost its renderer, it cannot be found by hit testing, so
90903        the dropped file is never attached to the file input element, no change
90904        event fires, and no upload commences. We want these things to happen
90905        even if the element is no longer visible.
90906
90907        Since we already keep track of the file input element under the mouse
90908        via m_fileInputElementUnderMouse, this additional hit test is
90909        unnecessary. Use m_fileInputElementUnderMouse in concludeEditDrag()
90910        when dropping files.
90911
90912        Test: fast/events/file-input-hidden-in-ondrop.html
90913
90914        * page/DragController.cpp:
90915        (WebCore::DragController::concludeEditDrag): Use
90916        m_fileInputElementUnderMouse instead of the element returned by hit
90917        testing. Assert that m_fileInputElementUnderMouse equals the hit tested
90918        element unless m_fileInputElementUnderMouse doesn't have a renderer.
90919
909202012-03-08  Ryosuke Niwa  <rniwa@webkit.org>
90921
90922        Mac build fix for micro data API.
90923
90924        * Configurations/FeatureDefines.xcconfig:
90925        * WebCore.xcodeproj/project.pbxproj:
90926        * dom/Document.cpp:
90927        (WebCore::Document::removeCachedMicroDataItemList):
90928        * html/HTMLElement.idl:
90929
909302012-03-07  Jon Lee  <jonlee@apple.com>
90931
90932        Support [Custom] for static functions
90933        https://bugs.webkit.org/show_bug.cgi?id=80573
90934
90935        Reviewed by Kentaro Hara.
90936
90937        * bindings/scripts/CodeGeneratorJS.pm:
90938        (GenerateHeader): If the function is static, add static qualifier to cpp function.
90939        (GenerateImplementation): Reorganize the function to split out based on the static
90940        attribute, instead of checking for it at every line we output.
90941            If the function is static and not custom, the listed code should be the code in
90942        the rest of the function that did not have the static check. If it is custom, then
90943        we check the number of arguments, and then call the static impl function directly.
90944            If the function is not static, all of the "unless ($function->isStatic)" checks
90945        are removed since it is not necessary.
90946
90947        * bindings/scripts/test/TestObj.idl: Added new test case.
90948
90949        * bindings/scripts/test/JS/JSTestObj.cpp:
90950        (WebCore):
90951        (WebCore::jsTestObjConstructorFunctionClassMethod2):
90952        * bindings/scripts/test/JS/JSTestObj.h:
90953        (JSTestObj):
90954        (WebCore):
90955        * bindings/scripts/test/ObjC/DOMTestObj.h:
90956        * bindings/scripts/test/ObjC/DOMTestObj.mm:
90957        (-[DOMTestObj classMethod2]):
90958        * bindings/scripts/test/V8/V8TestObj.cpp:
90959        (WebCore::ConfigureV8TestObjTemplate):
90960        * bindings/scripts/test/V8/V8TestObj.h:
90961        (V8TestObj):
90962
909632012-03-08  Mark Pilgrim  <pilgrim@chromium.org>
90964
90965        Collapse ENABLE(BLOB)|ENABLE(FILE_SYSTEM) to just ENABLE(BLOB)
90966        https://bugs.webkit.org/show_bug.cgi?id=80592
90967
90968        Reviewed by Adam Barth.
90969
90970        In anticipation of moving FILE_SYSTEM-related code to Modules/, we
90971        are collapsing combination BLOB/FILE_SYSTEM ifdefs to just
90972        BLOB. In other words, it is assumed from now on that you can not
90973        have FILE_SYSTEM support without BLOB support.
90974        
90975        No new tests, all existing tests pass.
90976
90977        * CMakeLists.txt:
90978        * dom/ScriptExecutionContext.cpp:
90979        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
90980        (WebCore):
90981        (WebCore::ScriptExecutionContext::fileThread):
90982        * dom/ScriptExecutionContext.h:
90983        (WebCore):
90984        (ScriptExecutionContext):
90985        * fileapi/AsyncFileStream.cpp:
90986        * fileapi/AsyncFileStream.h:
90987        * fileapi/FileError.h:
90988        * fileapi/FileException.cpp:
90989        * fileapi/FileException.h:
90990        * fileapi/FileThread.cpp:
90991        * fileapi/FileThread.h:
90992        * fileapi/OperationNotAllowedException.cpp:
90993        * fileapi/OperationNotAllowedException.h:
90994        * platform/FileStream.cpp:
90995        * platform/FileStream.h:
90996        * platform/FileStreamClient.h:
90997        * platform/SchemeRegistry.cpp:
90998        (WebCore::canDisplayOnlyIfCanRequestSchemes):
90999        (WebCore::CORSEnabledSchemes):
91000        (WebCore::SchemeRegistry::registerURLSchemeAsNotAllowingJavascriptURLs):
91001
910022012-03-08  James Robinson  <jamesr@chromium.org>
91003
91004        Use an explicit attribute to signal that a context prefers to use a discrete GPU
91005        https://bugs.webkit.org/show_bug.cgi?id=80639
91006
91007        Reviewed by Stephen White.
91008
91009        On platforms that support both integrated and discrete GPUs and can dynamically switch between the two, we
91010        sometimes have a specific preference for a given context. Specifically, contexts used for WebGL and canvas 2d
91011        acceleration should use the discrete GPU if available, but compositor contexts can run fine on an integrated
91012        GPU. Instead of attempting to infer the intent from examining other context attributes, this adds an explicit
91013        attribute to control this behavior.
91014
91015        * html/canvas/WebGLRenderingContext.cpp:
91016        (WebCore):
91017        (WebCore::WebGLRenderingContext::create):
91018        * platform/graphics/GraphicsContext3D.h:
91019        (WebCore::GraphicsContext3D::Attributes::Attributes):
91020        (Attributes):
91021        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
91022        (WebCore::SharedGraphicsContext3D::get):
91023
910242012-03-08  Andy Estes  <aestes@apple.com>
91025
91026        NULL renderer possible in WebCore::HTMLInputElement::setCanReceiveDroppedFiles()
91027        https://bugs.webkit.org/show_bug.cgi?id=80648
91028
91029        Reviewed by Simon Fraser.
91030
91031        Test: fast/events/input-element-display-none-in-dragleave-crash.html
91032
91033        * html/HTMLInputElement.cpp:
91034        (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): NULL-check renderer().
91035
910362012-03-08  Jer Noble  <jer.noble@apple.com>
91037
91038        Yet another unreviewed build fix.
91039
91040        Remove an unneeded and Lion-defined window constant from WebCoreFullScreenWindow.
91041
91042        * platform/mac/WebCoreFullScreenWindow.mm:
91043        (-[WebCoreFullScreenWindow initWithContentRect:styleMask:backing:defer:]):
91044
910452012-03-08  Levi Weintraub  <leviw@chromium.org>
91046
91047        Switch absoluteRects, culledInlineAbsoluteRects, absoluteBoundingBoxRect, and addFocusRingRects back to integers
91048        https://bugs.webkit.org/show_bug.cgi?id=80545
91049
91050        Reviewed by Simon Fraser.
91051
91052        Converting the above functions, all of which return rects that represent on-screen rects, to IntRects from
91053        LayoutRects.
91054
91055        addFocusRingsRects generates a vector of rects that is handed off directly to the GraphicsContext to be
91056        drawn. Snapping the rects before adding them to the vector saves an extra pass through the vector.
91057
91058        absoluteRects and culledInlineAbsoluteRects are only used by addFocusRingRects, hasNonEmptyBoundingBox (only
91059        to check if they're empty), and absoluteBoundingBoxRect, which is exposed from WebCore and thus should be an
91060        IntRect anyways.
91061
91062        No new tests. No change in behavior.
91063
91064        * dom/Node.cpp:
91065        (WebCore::Node::hasNonEmptyBoundingBox):
91066        * dom/Range.cpp:
91067        (WebCore::Range::boundingBox):
91068        * rendering/RenderBlock.cpp:
91069        (WebCore::RenderBlock::absoluteRects):
91070        (WebCore::RenderBlock::addFocusRingRects):
91071        * rendering/RenderBlock.h:
91072        (RenderBlock):
91073        * rendering/RenderInline.cpp:
91074        (WebCore::RenderInline::absoluteRects):
91075        (WebCore::RenderInline::culledInlineAbsoluteRects):
91076        (WebCore::RenderInline::addFocusRingRects):
91077        * rendering/RenderInline.h:
91078        (RenderInline):
91079        * rendering/RenderListBox.cpp:
91080        (WebCore::RenderListBox::addFocusRingRects):
91081        * rendering/RenderListBox.h:
91082        (RenderListBox):
91083        * rendering/RenderObject.cpp:
91084        (WebCore::RenderObject::paintFocusRing):
91085        (WebCore::RenderObject::absoluteBoundingBoxRect):
91086        (WebCore::RenderObject::absoluteFocusRingQuads):
91087        * rendering/RenderObject.h:
91088        (WebCore::RenderObject::absoluteRects):
91089        (RenderObject):
91090        (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
91091        (WebCore::RenderObject::addFocusRingRects):
91092        * rendering/RenderText.cpp:
91093        (WebCore::RenderText::absoluteRects):
91094        (WebCore::RenderText::absoluteRectsForRange):
91095        * rendering/RenderText.h:
91096        (RenderText):
91097        * rendering/RenderTextControl.cpp:
91098        (WebCore::RenderTextControl::addFocusRingRects):
91099        * rendering/RenderTextControl.h:
91100        (RenderTextControl):
91101        * rendering/RenderView.cpp:
91102        (WebCore::RenderView::absoluteRects):
91103        * rendering/RenderView.h:
91104        (RenderView):
91105        * rendering/svg/RenderSVGBlock.cpp:
91106        (WebCore::RenderSVGBlock::absoluteRects):
91107        * rendering/svg/RenderSVGBlock.h:
91108        (RenderSVGBlock):
91109        * rendering/svg/RenderSVGContainer.cpp:
91110        (WebCore::RenderSVGContainer::addFocusRingRects):
91111        * rendering/svg/RenderSVGContainer.h:
91112        (RenderSVGContainer):
91113        * rendering/svg/RenderSVGImage.cpp:
91114        (WebCore::RenderSVGImage::addFocusRingRects):
91115        * rendering/svg/RenderSVGImage.h:
91116        (RenderSVGImage):
91117        * rendering/svg/RenderSVGModelObject.cpp:
91118        (WebCore::RenderSVGModelObject::absoluteRects):
91119        * rendering/svg/RenderSVGModelObject.h:
91120        (RenderSVGModelObject):
91121        * rendering/svg/RenderSVGShape.cpp:
91122        (WebCore::RenderSVGShape::addFocusRingRects):
91123        * rendering/svg/RenderSVGShape.h:
91124        (RenderSVGShape):
91125
911262012-03-08  Erik Arvidsson  <arv@chromium.org>
91127
91128        [V8] Use EventNames instead of strings
91129        https://bugs.webkit.org/show_bug.cgi?id=80649
91130
91131        Reviewed by Ojan Vafai.
91132
91133        No new tests. Covered by existing tests.
91134
91135        * bindings/v8/V8AbstractEventListener.cpp:
91136        (WebCore::V8AbstractEventListener::invokeEventHandler):
91137
911382012-03-08  Tim Horton  <timothy_horton@apple.com>
91139
91140        No-op filter changes color output because of colorspace issues
91141        https://bugs.webkit.org/show_bug.cgi?id=72411
91142        <rdar://problem/10588374>
91143
91144        Reviewed by Dean Jackson.
91145
91146        Redefine "linear RGB" color space on Mac to mean linearized sRGB, instead of linear
91147        Generic RGB. This makes existing CG color matching equivalent to what other ports do via
91148        ImageBuffer::transformColorSpace (which only adjusts gamma, as we will now). Previously,
91149        we were also causing actual (non-gamma) color adjustments which were not reversible.
91150
91151        No new tests, covered by all existing SVG and CSS filter tests.
91152
91153        * Resources/linearSRGB.icc: Added.
91154        * WebCore.xcodeproj/project.pbxproj:
91155        * platform/graphics/cg/GraphicsContextCG.cpp:
91156        (WebCore::linearRGBColorSpaceRef):
91157
911582012-03-08  Beth Dakin  <bdakin@apple.com>
91159
91160        https://bugs.webkit.org/show_bug.cgi?id=80463
91161        RenderImage is using the wrong origin when calling addRelevantRepaintedObject
91162        -and corresponding-
91163        <rdar://problem/10970221>
91164
91165        Reviewed by Dan Bernstein.
91166
91167        Use the exact same rect that we paint with instead of the 
91168        visualOverflowRect() which does not always have a correct x and y.
91169        * rendering/RenderImage.cpp:
91170        (WebCore::RenderImage::paintReplaced):
91171        * rendering/RenderVideo.cpp:
91172        (WebCore::RenderVideo::paintReplaced):
91173
911742012-03-08  Jer Noble  <jer.noble@apple.com>
91175
91176        Full Screen Refactor Part 3: Animate into Full Screen mode using new animation classes.
91177        https://bugs.webkit.org/show_bug.cgi?id=78928
91178
91179        Reviewed by Anders Carlsson.
91180
91181        Move WKFullScreenWindow from WebKit2 into WebCore to be shared by WebKit2 and WebKit.
91182        * WebCore.xcodeproj/project.pbxproj:
91183        * platform/mac/WebCoreFullScreenWindow.h:
91184        * platform/mac/WebCoreFullScreenWindow.mm:
91185
91186        Add symbols for the following classes and functions to the export list:
91187            WebCoreFullScreenWindow
91188            WebWindowScaleAnimation
91189            WebWindowFadeAnimation
91190            ScrollView::contentsToScreen()
91191            RenderObject::localToContainerQuad()
91192            Document::setAnimatingFullScreen()
91193        * WebCore.exp.in:
91194
911952012-03-08  Jer Noble  <jer.noble@apple.com>
91196
91197        Full Screen Refactor Part 1: Remove special-case rendering code for Full Screen animation.
91198        https://bugs.webkit.org/show_bug.cgi?id=78925
91199
91200        Reviewed by John Sullivan.
91201
91202        No new tests; no net change in functionality so covered by existing tests.
91203
91204        The following functions had special case code for rendering full-screen elements removed:
91205        * dom/Document.cpp:
91206        (WebCore::Document::webkitWillEnterFullScreenForElement):
91207        (WebCore::Document::webkitDidEnterFullScreenForElement):
91208        (WebCore::Document::webkitWillExitFullScreenForElement):
91209        (WebCore::Document::webkitDidExitFullScreenForElement):
91210        (WebCore::Document::setAnimatingFullScreen):
91211        * page/FrameView.cpp:
91212        (WebCore):
91213        (WebCore::FrameView::updateCompositingLayers):
91214        (WebCore::FrameView::syncCompositingStateForThisFrame):
91215        * rendering/RenderLayerBacking.cpp:
91216        (WebCore::layerOrAncestorIsTransformed):
91217        (WebCore::RenderLayerBacking::updateCompositedBounds):
91218        * rendering/RenderLayerCompositor.cpp:
91219        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
91220        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
91221        * rendering/RenderLayerCompositor.h:
91222
912232012-03-08  Matt Lilek  <mrl@apple.com>
91224
91225        Don't enable VIDEO_TRACK on all OS X platforms
91226        https://bugs.webkit.org/show_bug.cgi?id=80635
91227
91228        Reviewed by Eric Carlson.
91229
91230        * Configurations/FeatureDefines.xcconfig:
91231
912322012-03-08  Tony Chang  <tony@chromium.org>
91233
91234        implement flexbox wrap-reverse
91235        https://bugs.webkit.org/show_bug.cgi?id=80552
91236
91237        Reviewed by Ojan Vafai.
91238
91239        No new tests, but additional coverage in:
91240            css3/flexbox/multiline-align.html
91241            css3/flexbox/multiline-pack.html
91242            css3/flexbox/multiline.html
91243
91244        * rendering/RenderFlexibleBox.cpp:
91245        (WebCore::RenderFlexibleBox::WrapReverseContext::WrapReverseContext): Helper struct to hold information needed for reversing
91246        the order of lines.
91247        (RenderFlexibleBox::WrapReverseContext):
91248        (WebCore::RenderFlexibleBox::WrapReverseContext::addCrossAxisOffset):
91249        (WebCore::RenderFlexibleBox::WrapReverseContext::addNumberOfChildrenOnLine):
91250        (WebCore::RenderFlexibleBox::WrapReverseContext::lineCrossAxisDelta): Computes the number of pixels to move a line.
91251        (WebCore):
91252        (WebCore::RenderFlexibleBox::layoutFlexItems): Call flipForWrapReverse if needed. This happens
91253        before flipForRightToLeftColumn because otherwise the crossAxisOffsets will be wrong.
91254        (WebCore::flexAlignForChild):
91255        (WebCore::RenderFlexibleBox::alignChildren): Flip alignment in wrap-reverse because the cross directions are flipped.
91256        (WebCore::RenderFlexibleBox::flipForWrapReverse): Flip each line.
91257        * rendering/RenderFlexibleBox.h:
91258        (RenderFlexibleBox):
91259
912602012-03-08  Adam Klein  <adamk@chromium.org>
91261
91262        Remove InDocumentFlag manipulation methods from Node interface
91263        https://bugs.webkit.org/show_bug.cgi?id=80612
91264
91265        Reviewed by Ryosuke Niwa.
91266
91267        This is a first step towards tightening up Node::inDocument() to match
91268        the actual in-document-tree state (see r108152 for the sort of bug
91269        resulting from those not matching).
91270
91271        No new tests, refactoring only.
91272
91273        * dom/ContainerNode.cpp:
91274        (WebCore::ContainerNode::removedFromDocument): Remove duplicate call to clearInDocument:
91275        the call to Node::removedFromDocument three lines above will clear the flag.
91276        * dom/Document.cpp:
91277        (WebCore::Document::Document): Call ContainerNode constructor with InDocumentFlag always set
91278        instead of calling setInDocument.
91279        * dom/Node.cpp:
91280        (WebCore::Node::insertedIntoDocument): Inline setInDocument (now the only caller).
91281        (WebCore::Node::removedFromDocument): Inline clearInDocument (now the only caller).
91282        * dom/Node.h: Remove setInDocument & clearInDocument, add new CreateDocument ConstructionType.
91283
912842012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
91285
91286        [Qt] Try to fix the Snow Leopard build
91287
91288        If the build is running under sh, echo -n does not empty the file.
91289
91290        * DerivedSources.pri:
91291
912922012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
91293
91294        Prospective build fix for Qt minimal after r110191
91295
91296        https://bugs.webkit.org/show_bug.cgi?id=80338
91297
91298        * testing/Internals.cpp:
91299        (WebCore):
91300        * testing/Internals.h:
91301        (Internals):
91302
913032012-03-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
91304
91305        [Qt] Prospective Windows build fix
91306
91307        Don't assume that windows-builds will always run inside a cmd.exe shell.
91308
91309        * DerivedSources.pri:
91310
913112012-03-08  Vivek Galatage  <vivekgalatage@gmail.com>
91312
91313        Web Inspector: Creating a selector for class names with trailing spaces results with two dots instead of one
91314        https://bugs.webkit.org/show_bug.cgi?id=80529
91315
91316        Trim the className before replacing the whitespaces with dot "."
91317
91318        Reviewed by Pavel Feldman.
91319
91320        No new tests.
91321
91322        * inspector/front-end/DOMAgent.js:
91323        (WebInspector.DOMNode.prototype.appropriateSelectorFor):
91324
913252012-03-08  Dan Bernstein  <mitz@apple.com>
91326
91327        <rdar://problem/10981173> Dashboard regions should not be in device space
91328
91329        Reviewed by John Sullivan.
91330
91331        Test: TestWebKitAPI/Tests/mac/DeviceScaleFactorInDashboardRegions.mm
91332
91333        * rendering/RenderInline.cpp:
91334        (WebCore::RenderInline::addDashboardRegions): Stop applying the device scale factor to
91335        Dashboard regions.
91336        * rendering/RenderObject.cpp:
91337        (WebCore::RenderObject::addDashboardRegions): Ditto.
91338
913392012-03-08  Cem Kocagil  <cem.kocagil@gmail.com>
91340
91341        Web Inspector: Cannot insert right curly bracket on some keyboards
91342        https://bugs.webkit.org/show_bug.cgi?id=80474
91343
91344        Make sure other modifiers are not pressed
91345
91346        Reviewed by Pavel Feldman
91347
91348        * inspector/front-end/inspector.js:
91349        (WebInspector.documentKeyDown):
91350
913512012-03-08  Max Vujovic  <mvujovic@adobe.com>
91352
91353        Add a method to window.internals to enable testing of inspector highlight rects
91354        https://bugs.webkit.org/show_bug.cgi?id=80338
91355
91356        Reviewed by Pavel Feldman.
91357
91358        Add window.internals.inspectorHighlightRects, a method which makes it possible to test the
91359        positions and sizes of inspector highlight rects.
91360
91361        Test: inspector/elements/highlight-node.html
91362
91363        * WebCore.exp.in: Export symbols.
91364        * testing/Internals.cpp:
91365        (WebCore::Internals::inspectorHighlightRects): Call InspectorController::getHighlight and
91366        return the highlight's quads as a ClientRectList.
91367        (WebCore):
91368        * testing/Internals.h:
91369        (WebCore):
91370        (Internals):
91371        * testing/Internals.idl:
91372
91373            Add inspectorHighlightRects to the window.internals interface.
91374
913752012-03-08  Antti Koivisto  <antti@apple.com>
91376
91377        https://bugs.webkit.org/show_bug.cgi?id=80370
91378        Enable matched declaration caching for elements with a style attribute
91379
91380        Reviewed by Andreas Kling
91381
91382        Make the property set for style attribute immutable as long as there is no CSSOM
91383        wrapper for it. If the style attribute changes we create a new property set instead
91384        of recycling the old one. This way the property sets can be made cacheable as long
91385        as there is no CSSOM wrapper that would allow uncontrolled modifications. Constructing
91386        the wrapper disables caching.
91387        
91388        Made StyledElement::inlineStyle() and StyledElement::ensureInlineStyle() return a const
91389        StylePropertySet so making accidental modifications difficult. Also dropped *Decl from
91390        the names.
91391        
91392        Fixed two unrelated bugs that this exposed.
91393
91394        * css/CSSStyleSelector.cpp:
91395        
91396            Don't allow caching of document element style if writingModeSetOnDocumentElement() bit is set.
91397            Tested by fast/multicol/vertical-rl/break-properties.html.
91398        
91399        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
91400        * css/StylePropertySet.h:
91401        (StylePropertySet):
91402        (WebCore::StylePropertySet::hasCSSOMWrapper):
91403        * dom/Element.cpp:
91404        (WebCore::Element::recalcStyle):
91405        
91406            Invalidate the matched properties cache if the document has rem units and the root font changes.
91407            Tested by fast/css/rem-dynamic-scaling.html.
91408        
91409        * dom/ElementAttributeData.cpp:
91410        (WebCore):
91411        (WebCore::ElementAttributeData::ensureInlineStyle):
91412        (WebCore::ElementAttributeData::ensureMutableInlineStyle):
91413        (WebCore::ElementAttributeData::updateInlineStyleAvoidingMutation):
91414        (WebCore::ElementAttributeData::destroyInlineStyle):
91415        * dom/ElementAttributeData.h:
91416        (WebCore::ElementAttributeData::inlineStyle):
91417        (ElementAttributeData):
91418        * dom/StyledElement.cpp:
91419        (WebCore::StyledElement::updateStyleAttribute):
91420        (WebCore::StyledElement::~StyledElement):
91421        (WebCore):
91422        (WebCore::StyledElement::style):
91423        (WebCore::StyledElement::parseAttribute):
91424        (WebCore::StyledElement::setInlineStyleProperty):
91425        (WebCore::StyledElement::removeInlineStyleProperty):
91426        (WebCore::StyledElement::addSubresourceAttributeURLs):
91427        * dom/StyledElement.h:
91428        (WebCore::StyledElement::inlineStyle):
91429        (WebCore::StyledElement::ensureInlineStyle):
91430        (StyledElement):
91431        (WebCore::StyledElement::destroyInlineStyle):
91432        * editing/ApplyStyleCommand.cpp:
91433        (WebCore::hasNoAttributeOrOnlyStyleAttribute):
91434        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
91435        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
91436        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
91437        (WebCore::ApplyStyleCommand::removeCSSStyle):
91438        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
91439        (WebCore::ApplyStyleCommand::addBlockStyle):
91440        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
91441        * editing/EditingStyle.cpp:
91442        (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
91443        (HTMLTextDecorationEquivalent):
91444        (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
91445        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
91446        (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
91447        (WebCore::EditingStyle::mergeInlineStyleOfElement):
91448        (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
91449        (WebCore::EditingStyle::mergeStyle):
91450        * editing/EditingStyle.h:
91451        (EditingStyle):
91452        * editing/RemoveCSSPropertyCommand.cpp:
91453        (WebCore::RemoveCSSPropertyCommand::doApply):
91454        * editing/ReplaceSelectionCommand.cpp:
91455        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
91456        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
91457        * editing/markup.cpp:
91458        (WebCore::StyledMarkupAccumulator::appendElement):
91459        (WebCore::styleFromMatchedRulesAndInlineDecl):
91460        * html/HTMLElement.cpp:
91461        (WebCore::StyledElement::copyNonAttributeProperties):
91462        * html/canvas/CanvasStyle.cpp:
91463        (WebCore::currentColor):
91464        * page/PageSerializer.cpp:
91465        (WebCore::PageSerializer::serializeFrame):
91466        (WebCore::PageSerializer::retrieveResourcesForProperties):
91467        * page/PageSerializer.h:
91468        (PageSerializer):
91469        * rendering/RenderTreeAsText.cpp:
91470        (WebCore::isEmptyOrUnstyledAppleStyleSpan):
91471
914722012-03-08  Scott Byer  <scottbyer@chromium.org>
91473
91474        Have ScrollAnimatorNone use requestAnimationFrame
91475        https://bugs.webkit.org/show_bug.cgi?id=78938
91476
91477        Reviewed by James Robinson.
91478
91479        No new tests. Passes Chromium webkit_unit_tests.
91480
91481        * page/FrameView.cpp:
91482        (WebCore::FrameView::serviceScriptedAnimations):
91483        * platform/ScrollAnimator.h:
91484        (WebCore::ScrollAnimator::serviceScrollAnimations):
91485        * platform/ScrollAnimatorNone.cpp:
91486        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
91487        (WebCore::ScrollAnimatorNone::scroll):
91488        (WebCore::ScrollAnimatorNone::cancelAnimations):
91489        (WebCore):
91490        (WebCore::ScrollAnimatorNone::serviceScrollAnimations):
91491        (WebCore::ScrollAnimatorNone::animationTimerFired):
91492        (WebCore::ScrollAnimatorNone::startNextTimer):
91493        (WebCore::ScrollAnimatorNone::animationTimerActive):
91494        (WebCore::ScrollAnimatorNone::stopAnimationTimerIfNeeded):
91495        * platform/ScrollAnimatorNone.h:
91496        (ScrollAnimatorNone):
91497        * platform/ScrollableArea.cpp:
91498        (WebCore::ScrollableArea::serviceScrollAnimations):
91499        (WebCore):
91500        * platform/ScrollableArea.h:
91501        (WebCore):
91502        (ScrollableArea):
91503        * rendering/RenderLayer.h:
91504        (WebCore::RenderLayer::hostWindow):
91505        (RenderLayer):
91506        * rendering/RenderListBox.h:
91507        (WebCore::RenderListBox::hostWindow):
91508        (RenderListBox):
91509
915102012-03-08  Dan Bernstein  <mitz@apple.com>
91511
91512        REGRESSION (r109964): Assertion failure (!isUndefined()) in Length::getIntValue() when a Dashboard region is specified without offsets
91513        https://bugs.webkit.org/show_bug.cgi?id=80614
91514
91515        Reviewed by Beth Dakin.
91516
91517        Test: fast/css/dashboard-regions-undefined-length-assertion.html
91518
91519        * css/CSSStyleSelector.cpp:
91520        (WebCore::CSSStyleSelector::collectMatchingRulesForList): Reverted to setting zero lengths,
91521        rather than Undefined ones, in the RenderStyle when offsets are not given.
91522
915232012-03-08  Mikkel Kruse Johnsen  <mikkel@linet.dk>
91524
91525        WebKitGtk+ fails to build on win32 against GTK3
91526        https://bugs.webkit.org/show_bug.cgi?id=63919
91527
91528        Reviewed by Gustavo Noronha Silva.
91529
91530        * plugins/gtk/PluginViewGtk.cpp: Don't use gtk_socket_new with GTK3 on Win32
91531        (WebCore::PluginView::platformStart):
91532
915332012-03-08  Jason Liu  <jason.liu@torchmobile.com.cn>
91534
91535        [BlackBerry]New feature: support about:cookie for internal build.
91536        https://bugs.webkit.org/show_bug.cgi?id=80367
91537
91538        Reviewed by Antonio Gomes.
91539
91540        No new tests.
91541
91542        * platform/blackberry/CookieManager.cpp:
91543        (WebCore::CookieManager::generateHtmlFragmentForCookies):
91544        (WebCore):
91545        * platform/blackberry/CookieManager.h:
91546        * platform/network/blackberry/NetworkJob.cpp:
91547        (WebCore::NetworkJob::handleAbout):
91548
915492012-03-08  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
91550
91551        Make elements with attributes smaller by eliminating the m_element back pointer in NamedNodeMap
91552        https://bugs.webkit.org/show_bug.cgi?id=75069
91553
91554        Reviewed by Ryosuke Niwa.
91555
91556        NamedNodeMap is an exposed DOM representation of an element's attribute storage. As part of
91557        its implementation it keeps a pointer to its associated Element plus all the attribute
91558        storage.
91559
91560        This commit separate the two things: NamedNodeMap is now a wrapper to Element, containing
91561        only the pointer, and the attribute storage is now owned by Element directly. Since usage
91562        of NamedNodeMap is not very common, it can be stored in ElementRareData. As a result, most
91563        elements with attributes now don't need to allocate memory for that extra pointer in
91564        NamedNodeMap.
91565
91566        One consequence of this implementation is that now we explicitly don't support
91567        DocumentType.notations and DocumentType.entities. They weren't supported before, a
91568        NamedNodeMap was never created for those attributes -- and some NamedNodeMap functions
91569        wouldn't work correctly without an associated Element.
91570
91571        NamedNodeMap itself was cleaned up, as well as unnecessary references to it removed in the
91572        code and comments.
91573
91574        No new tests and should not change results for existing tests.
91575
91576        * dom/Attribute.h:
91577        (WebCore):
91578        * dom/DocumentType.h:
91579        (DocumentType): Point out that we don't support does attributes yet.
91580        * dom/Element.cpp:
91581        (WebCore::Element::~Element): Detaching the NamedNodeMap is no longer necessary because it
91582        will be destroyed. We still detach the potential Attrs inside our Attributes by using
91583        clearAttributes().
91584        (WebCore::Element::attributes): Looks in ElementRareData now. Note we ensure the creation
91585        of the attribute storage.
91586        (WebCore):
91587        (WebCore::Element::getAttribute):
91588        (WebCore::Element::setAttributeInternal):
91589        (WebCore::Element::parserSetAttributes):
91590        (WebCore::Element::hasAttributes):
91591        (WebCore::Element::createAttributeData):
91592        (WebCore::Element::insertedIntoDocument):
91593        (WebCore::Element::removedFromDocument):
91594        (WebCore::Element::getURLAttribute):
91595        (WebCore::Element::getNonEmptyURLAttribute):
91596        (WebCore::Element::hasNamedNodeMap): Helper function for Node::dumpStatistics().
91597        * dom/Element.h:
91598        (Element):
91599        (WebCore::Element::attributeData):
91600        (WebCore::Element::ensureAttributeData):
91601        (WebCore::Element::fastHasAttribute):
91602        (WebCore::Element::fastGetAttribute):
91603        (WebCore::Element::hasAttributesWithoutUpdate):
91604        (WebCore::Element::idForStyleResolution):
91605        (WebCore::Element::attributeCount):
91606        (WebCore::Element::attributeItem):
91607        (WebCore::Element::getAttributeItem):
91608        * dom/ElementAttributeData.h:
91609        (WebCore::ElementAttributeData::create):
91610        (ElementAttributeData):
91611        * dom/ElementRareData.h:
91612        (ElementRareData):
91613        * dom/NamedNodeMap.cpp: Rewriting now that m_attributeData is not a member, using m_element
91614        methods when possible.
91615        (WebCore::NamedNodeMap::ref):
91616        (WebCore::NamedNodeMap::deref):
91617        (WebCore::NamedNodeMap::getNamedItem):
91618        (WebCore::NamedNodeMap::getNamedItemNS):
91619        (WebCore::NamedNodeMap::removeNamedItem):
91620        (WebCore::NamedNodeMap::removeNamedItemNS):
91621        (WebCore::NamedNodeMap::setNamedItem):
91622        (WebCore::NamedNodeMap::item):
91623        (WebCore::NamedNodeMap::length):
91624        * dom/NamedNodeMap.h:
91625        (WebCore):
91626        (WebCore::NamedNodeMap::create):
91627        (NamedNodeMap):
91628        (WebCore::NamedNodeMap::NamedNodeMap): Instead of asserting m_element in every function, we
91629        now assert only in the constructor.
91630        * dom/Node.cpp:
91631        (WebCore::Node::dumpStatistics): Add a counter for elements with rare data, this allows us
91632        compare more clearly the impact of moving NamedNodeMap there.
91633        (WebCore::Node::isEqualNode): Remove use of mapsEquivalent(). It was dead code, because
91634        both entities and notations were always NULL.
91635        (WebCore::Node::compareDocumentPosition):
91636        * inspector/DOMPatchSupport.h:
91637        (WebCore):
91638        * svg/SVGElement.cpp:
91639        (WebCore::SVGElement::attributeChanged):
91640
916412012-03-08  Robin Cao  <robin.cao@torchmobile.com.cn>
91642
91643        [BlackBerry] Upstream WebGL related files from platform/graphics
91644        https://bugs.webkit.org/show_bug.cgi?id=79876
91645
91646        Reviewed by Rob Buis.
91647
91648        Initial upstream, no new tests.
91649
91650        * platform/graphics/blackberry/DrawingBufferBlackBerry.cpp: Added.
91651        (WebCore):
91652        (DrawingBufferInternal):
91653        (WebCore::generateColorTexture):
91654        (WebCore::DrawingBuffer::DrawingBuffer):
91655        (WebCore::DrawingBuffer::~DrawingBuffer):
91656        (WebCore::DrawingBuffer::publishToPlatformLayer):
91657        (WebCore::DrawingBuffer::reset):
91658        (WebCore::DrawingBuffer::platformLayer):
91659        * platform/graphics/blackberry/GraphicsContext3DBlackBerry.cpp: Added.
91660        (WebCore):
91661        (WebCore::GraphicsContext3D::create):
91662        (WebCore::GraphicsContext3D::GraphicsContext3D):
91663        (WebCore::GraphicsContext3D::~GraphicsContext3D):
91664        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
91665        (WebCore::GraphicsContext3D::makeContextCurrent):
91666        (WebCore::GraphicsContext3D::isGLES2Compliant):
91667        (WebCore::GraphicsContext3D::isGLES2NPOTStrict):
91668        (WebCore::GraphicsContext3D::isErrorGeneratedOnOutOfBoundsAccesses):
91669        (WebCore::GraphicsContext3D::platformTexture):
91670        (WebCore::GraphicsContext3D::platformLayer):
91671        (WebCore::GraphicsContext3D::paintToCanvas):
91672        (WebCore::GraphicsContext3D::setContextLostCallback):
91673        * platform/graphics/blackberry/WebGLLayerWebKitThread.cpp: Added.
91674        (WebCore):
91675        (WebCore::WebGLLayerWebKitThread::WebGLLayerWebKitThread):
91676        (WebCore::WebGLLayerWebKitThread::~WebGLLayerWebKitThread):
91677        (WebCore::WebGLLayerWebKitThread::setNeedsDisplay):
91678        (WebCore::WebGLLayerWebKitThread::updateTextureContentsIfNeeded):
91679        * platform/graphics/blackberry/WebGLLayerWebKitThread.h: Added.
91680        (WebCore):
91681        (WebGLLayerWebKitThread):
91682        (WebCore::WebGLLayerWebKitThread::create):
91683        (WebCore::WebGLLayerWebKitThread::setWebGLContext):
91684
916852012-03-08  Yong Li  <yoli@rim.com>
91686
91687        [BlackBerry] LayerRender should turn off stencil/scissor after drawing layers
91688        https://bugs.webkit.org/show_bug.cgi?id=80598
91689
91690        Reviewed by Rob Buis.
91691
91692        Turn off stencil/scissor after using them to avoid affecting later GL operation
91693        accidentally.
91694
91695        * platform/graphics/blackberry/LayerRenderer.cpp:
91696        (WebCore::LayerRenderer::drawLayers):
91697
916982012-03-08  Simon Hausmann  <simon.hausmann@nokia.com>
91699
91700        [Qt] Windows build fix.
91701
91702        Reviewed by Tor Arne Vestbø.
91703
91704        * DerivedSources.pri: Replace commandline that is too long for Windows with
91705        separate lines to be executed in the Makefile for the IDL preprocessing.
91706
917072012-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
91708
91709        Web Inspector: The function had to return a hash but it returned just address.
91710        https://bugs.webkit.org/show_bug.cgi?id=80591
91711
91712        Reviewed by Yury Semikhatsky.
91713
91714        * bindings/v8/RetainedDOMInfo.cpp:
91715        (WebCore::RetainedDOMInfo::GetHash):
91716
917172012-03-08  Ilya Tikhonovsky  <loislo@chromium.org>
91718
91719        Unreviewed single line fix. The function had to return a hash but it returned just address.
91720
91721        * bindings/v8/V8GCController.cpp:
91722        (WebCore::UnspecifiedGroup::GetHash):
91723
917242012-03-08  Shinya Kawanaka  <shinyak@chromium.org>
91725
91726        <shadow> should be rendered correctly.
91727        https://bugs.webkit.org/show_bug.cgi?id=78596
91728
91729        Reviewed by Hajime Morita.
91730
91731        This patch supports <shadow> element rendering.
91732
91733        When attaching <shadow> element, if it is in the oldest shadow tree, it runs a part of
91734        distribution algorithm. If it is in non-oldest shadow tree, it runs tree a part of
91735        tree composition algorithm to assign a older shadow root. In this patch, InsertionPonit
91736        try to treat the distributed host children and the assigned shadow children similarly.
91737
91738        NodeRenderingContext supports rendering <shadow> element. Since the assigned shadow children
91739        are treated like distributed host children, that change is to consider non-youngest shadow
91740        tree basically also.
91741
91742        Tests: fast/dom/shadow/shadow-element-rendering-multiple.html
91743               fast/dom/shadow/shadow-element-rendering-single.html
91744
91745        * dom/NodeRenderingContext.cpp:
91746        (WebCore):
91747        (WebCore::NodeRenderingContext::NodeRenderingContext):
91748          Does not ignore non-youngest shadow tree.
91749        * dom/ShadowRoot.cpp:
91750        (WebCore::ShadowRoot::ShadowRoot):
91751        * dom/ShadowRoot.h:
91752        (ShadowRoot):
91753        (WebCore::ShadowRoot::assignedTo):
91754        (WebCore):
91755        (WebCore::ShadowRoot::setAssignedTo):
91756        (WebCore::ShadowRoot::isUsedForRendering):
91757          Returns true if ShadowRoot is youngest or assigned to some InsertionPoint.
91758        (WebCore::toShadowRoot):
91759        * dom/ShadowTree.cpp:
91760        (WebCore::ShadowTree::insertionPointFor):
91761          Returns InsertionPoint to which node is distributed.
91762        * dom/ShadowTree.h:
91763        (ShadowTree):
91764        * html/shadow/HTMLContentElement.h:
91765        (WebCore::HTMLContentElement::doesSelectFromHostChildren):
91766        (HTMLContentElement):
91767        * html/shadow/HTMLShadowElement.cpp:
91768        (WebCore::HTMLShadowElement::HTMLShadowElement):
91769        (WebCore::HTMLShadowElement::select):
91770        (WebCore::HTMLShadowElement::doesSelectFromHostChildren):
91771        (WebCore):
91772        * html/shadow/HTMLShadowElement.h:
91773        (HTMLShadowElement):
91774        * html/shadow/InsertionPoint.cpp:
91775        (WebCore::InsertionPoint::attach):
91776        (WebCore::InsertionPoint::detach):
91777        (WebCore::InsertionPoint::assignedFrom):
91778        (WebCore):
91779        (WebCore::InsertionPoint::assignShadowRoot):
91780        (WebCore::InsertionPoint::clearAssignment):
91781        * html/shadow/InsertionPoint.h:
91782        (InsertionPoint):
91783
917842012-03-06  Hans Wennborg  <hans@chromium.org>
91785
91786        Speech JavaScript API: SpeechRecognitionAlternative, Result and ResultList
91787        https://bugs.webkit.org/show_bug.cgi?id=80424
91788
91789        Reviewed by Adam Barth.
91790
91791        Implement the SpeechRecognitionAlternative,
91792        SpeechRecognitionResult and SpeechRecognitionResultList.
91793        (Spec: http://speech-javascript-api-spec.googlecode.com/git/speechapi.html)
91794
91795        No new tests because these interfaces don't have constructors.
91796        They will be tested as more of the API gets implemented.
91797
91798        * Modules/speech/SpeechRecognitionAlternative.cpp: Added.
91799        (WebCore):
91800        (WebCore::SpeechRecognitionAlternative::create):
91801        (WebCore::SpeechRecognitionAlternative::SpeechRecognitionAlternative):
91802        * Modules/speech/SpeechRecognitionAlternative.h: Added.
91803        (WebCore):
91804        (SpeechRecognitionAlternative):
91805        (WebCore::SpeechRecognitionAlternative::transcript):
91806        (WebCore::SpeechRecognitionAlternative::confidence):
91807        * Modules/speech/SpeechRecognitionAlternative.idl: Added.
91808        * Modules/speech/SpeechRecognitionResult.cpp: Added.
91809        (WebCore):
91810        (WebCore::SpeechRecognitionResult::create):
91811        (WebCore::SpeechRecognitionResult::item):
91812        (WebCore::SpeechRecognitionResult::SpeechRecognitionResult):
91813        * Modules/speech/SpeechRecognitionResult.h: Added.
91814        (WebCore):
91815        (SpeechRecognitionResult):
91816        (WebCore::SpeechRecognitionResult::length):
91817        (WebCore::SpeechRecognitionResult::final):
91818        * Modules/speech/SpeechRecognitionResult.idl: Added.
91819        * Modules/speech/SpeechRecognitionResultList.cpp: Added.
91820        (WebCore):
91821        (WebCore::SpeechRecognitionResultList::create):
91822        (WebCore::SpeechRecognitionResultList::item):
91823        (WebCore::SpeechRecognitionResultList::SpeechRecognitionResultList):
91824        * Modules/speech/SpeechRecognitionResultList.h: Added.
91825        (WebCore):
91826        (SpeechRecognitionResultList):
91827        (WebCore::SpeechRecognitionResultList::length):
91828        * Modules/speech/SpeechRecognitionResultList.idl: Added.
91829        * WebCore.gypi:
91830
918312012-03-08  Robin Cao  <robin.cao@torchmobile.com.cn>
91832
91833        [BlackBerry] Upstream GraphicsLayerBlackBerry.{h, cpp}
91834        https://bugs.webkit.org/show_bug.cgi?id=79867
91835
91836        Reviewed by Rob Buis.
91837
91838        Initial upstream, no new tests.
91839
91840        * platform/graphics/blackberry/GraphicsLayerBlackBerry.cpp: Added.
91841        (WebCore):
91842        (WebCore::setLayerBorderColor):
91843        (WebCore::clearBorderColor):
91844        (WebCore::setLayerBackgroundColor):
91845        (WebCore::clearLayerBackgroundColor):
91846        (WebCore::GraphicsLayer::create):
91847        (WebCore::GraphicsLayerBlackBerry::GraphicsLayerBlackBerry):
91848        (WebCore::GraphicsLayerBlackBerry::~GraphicsLayerBlackBerry):
91849        (WebCore::GraphicsLayerBlackBerry::setName):
91850        (WebCore::GraphicsLayerBlackBerry::setChildren):
91851        (WebCore::GraphicsLayerBlackBerry::addChild):
91852        (WebCore::GraphicsLayerBlackBerry::addChildAtIndex):
91853        (WebCore::GraphicsLayerBlackBerry::addChildBelow):
91854        (WebCore::GraphicsLayerBlackBerry::addChildAbove):
91855        (WebCore::GraphicsLayerBlackBerry::replaceChild):
91856        (WebCore::GraphicsLayerBlackBerry::removeFromParent):
91857        (WebCore::GraphicsLayerBlackBerry::setPosition):
91858        (WebCore::GraphicsLayerBlackBerry::setAnchorPoint):
91859        (WebCore::GraphicsLayerBlackBerry::setSize):
91860        (WebCore::GraphicsLayerBlackBerry::setTransform):
91861        (WebCore::GraphicsLayerBlackBerry::setChildrenTransform):
91862        (WebCore::GraphicsLayerBlackBerry::setPreserves3D):
91863        (WebCore::GraphicsLayerBlackBerry::setMasksToBounds):
91864        (WebCore::GraphicsLayerBlackBerry::setDrawsContent):
91865        (WebCore::GraphicsLayerBlackBerry::setContentsVisible):
91866        (WebCore::GraphicsLayerBlackBerry::setMaskLayer):
91867        (WebCore::GraphicsLayerBlackBerry::setReplicatedByLayer):
91868        (WebCore::GraphicsLayerBlackBerry::setFixedPosition):
91869        (WebCore::GraphicsLayerBlackBerry::setHasFixedContainer):
91870        (WebCore::GraphicsLayerBlackBerry::setHasFixedAncestorInDOMTree):
91871        (WebCore::GraphicsLayerBlackBerry::setBackgroundColor):
91872        (WebCore::GraphicsLayerBlackBerry::clearBackgroundColor):
91873        (WebCore::GraphicsLayerBlackBerry::setContentsOpaque):
91874        (WebCore::GraphicsLayerBlackBerry::setBackfaceVisibility):
91875        (WebCore::GraphicsLayerBlackBerry::setOpacity):
91876        (WebCore::GraphicsLayerBlackBerry::setContentsNeedsDisplay):
91877        (WebCore::GraphicsLayerBlackBerry::setNeedsDisplay):
91878        (WebCore::GraphicsLayerBlackBerry::setNeedsDisplayInRect):
91879        (WebCore::GraphicsLayerBlackBerry::setContentsRect):
91880        (WebCore::removeAnimationByIdAndProperty):
91881        (WebCore::removeAnimationByName):
91882        (WebCore::GraphicsLayerBlackBerry::addAnimation):
91883        (WebCore::GraphicsLayerBlackBerry::pauseAnimation):
91884        (WebCore::GraphicsLayerBlackBerry::removeAnimation):
91885        (WebCore::GraphicsLayerBlackBerry::suspendAnimations):
91886        (WebCore::GraphicsLayerBlackBerry::resumeAnimations):
91887        (WebCore::GraphicsLayerBlackBerry::setContentsToImage):
91888        (WebCore::GraphicsLayerBlackBerry::updateContentsImage):
91889        (WebCore::GraphicsLayerBlackBerry::setContentsToCanvas):
91890        (WebCore::GraphicsLayerBlackBerry::setContentsToMedia):
91891        (WebCore::GraphicsLayerBlackBerry::hostLayerForSublayers):
91892        (WebCore::GraphicsLayerBlackBerry::layerForSuperlayer):
91893        (WebCore::GraphicsLayerBlackBerry::platformLayer):
91894        (WebCore::GraphicsLayerBlackBerry::setDebugBackgroundColor):
91895        (WebCore::GraphicsLayerBlackBerry::setDebugBorder):
91896        (WebCore::GraphicsLayerBlackBerry::updateSublayerList):
91897        (WebCore::GraphicsLayerBlackBerry::updateLayerPosition):
91898        (WebCore::GraphicsLayerBlackBerry::updateLayerSize):
91899        (WebCore::GraphicsLayerBlackBerry::updateAnchorPoint):
91900        (WebCore::GraphicsLayerBlackBerry::updateTransform):
91901        (WebCore::GraphicsLayerBlackBerry::updateChildrenTransform):
91902        (WebCore::GraphicsLayerBlackBerry::updateMasksToBounds):
91903        (WebCore::GraphicsLayerBlackBerry::updateContentsOpaque):
91904        (WebCore::GraphicsLayerBlackBerry::updateBackfaceVisibility):
91905        (WebCore::GraphicsLayerBlackBerry::updateLayerPreserves3D):
91906        (WebCore::GraphicsLayerBlackBerry::updateLayerIsDrawable):
91907        (WebCore::GraphicsLayerBlackBerry::updateFixedPosition):
91908        (WebCore::GraphicsLayerBlackBerry::updateHasFixedContainer):
91909        (WebCore::GraphicsLayerBlackBerry::updateHasFixedAncestorInDOMTree):
91910        (WebCore::GraphicsLayerBlackBerry::updateLayerBackgroundColor):
91911        (WebCore::GraphicsLayerBlackBerry::updateAnimations):
91912        (WebCore::GraphicsLayerBlackBerry::updateContentsVideo):
91913        (WebCore::GraphicsLayerBlackBerry::updateContentsRect):
91914        (WebCore::GraphicsLayerBlackBerry::setupContentsLayer):
91915        (WebCore::GraphicsLayerBlackBerry::updateOpacityOnLayer):
91916        (WebCore::GraphicsLayerBlackBerry::contentsVisible):
91917        * platform/graphics/blackberry/GraphicsLayerBlackBerry.h: Added.
91918        (WebCore):
91919        (GraphicsLayerBlackBerry):
91920        (WebCore::GraphicsLayerBlackBerry::notifySyncRequired):
91921        (WebCore::GraphicsLayerBlackBerry::notifyAnimationStarted):
91922        (WebCore::GraphicsLayerBlackBerry::primaryLayer):
91923        (WebCore::GraphicsLayerBlackBerry::contentsLayer):
91924
919252012-03-07  Shinya Kawanaka  <shinyak@chromium.org>
91926
91927        Refactoring: Remove Node::isContentElement and Node::isShadowElement.
91928        https://bugs.webkit.org/show_bug.cgi?id=80501
91929
91930        Reviewed by Hajime Morita.
91931
91932        Removes Node::isContentElement and Node::isShadowElement. These methods are replaced
91933        by hasTagName. However the tag name of HTMLContentElement was not consistent,
91934        this patch make them consistent.
91935
91936        No new tests. Should be covered by existing tests.
91937
91938        * dom/Node.h:
91939        * html/HTMLElement.h:
91940        (WebCore::HTMLElement::isInsertionPoint):
91941        (HTMLElement):
91942        * html/HTMLSummaryElement.cpp:
91943        (WebCore::SummaryContentElement::SummaryContentElement):
91944          It uses HTMLNames::divTag as tagname. It should use HTMLNames::webkitShadowTagName.
91945        * html/shadow/HTMLContentElement.h:
91946        (HTMLContentElement):
91947        * html/shadow/InsertionPoint.h:
91948        (InsertionPoint):
91949        (WebCore::InsertionPoint::isInsertionPoint):
91950        (WebCore::isInsertionPoint):
91951        * testing/Internals.cpp:
91952        (WebCore::Internals::isValidContentSelect):
91953        * testing/Internals.h:
91954        (Internals):
91955
919562012-03-07  Adam Barth  <abarth@webkit.org>
91957
91958        ContainerNode::insertedIntoDocument and removedFromDocument use weak iteration patterns
91959        https://bugs.webkit.org/show_bug.cgi?id=80569
91960
91961        Reviewed by Ryosuke Niwa.
91962
91963        This patch moves ContainerNode::insertedIntoDocument and
91964        removedFromDocument to using a better iteration pattern in which we
91965        collect all the nodes we're planning to iterate into a vector and then
91966        iterate over them.
91967
91968        * dom/ContainerNode.cpp:
91969        (WebCore::ContainerNode::insertedIntoDocument):
91970        (WebCore::ContainerNode::removedFromDocument):
91971
919722012-03-07  Ami Fischman  <fischman@chromium.org>
91973
91974        [Chromium] Allow CCLayerTreeHost::context() to be called even with the threaded compositor enabled.
91975        https://bugs.webkit.org/show_bug.cgi?id=80565
91976
91977        Reviewed by James Robinson.
91978
91979        This gets triggered by the video HW decode+render path when threaded compositor is enabled
91980        (https://chromiumcodereview.appspot.com/9639005/)
91981
91982        No new tests.
91983
91984        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
91985        (WebCore::CCLayerTreeHost::context):
91986
919872012-03-07  Mike Lawther  <mikelawther@chromium.org>
91988
91989        CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
91990        https://bugs.webkit.org/show_bug.cgi?id=79621
91991
91992        Reviewed by Andreas Kling.
91993
91994        ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
91995        length expressions. All property handlers using this template now work with
91996        mixed expressions.
91997
91998        This patch adds a new expression evaluator in CalculationValue.cpp. This is because
91999        Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css) 
92000        due to layering restrictions.
92001
92002        Lengths can be copied, and so the expressions are stored in a hashmap, and only their
92003        ids are copied along with Length. The expressions are RefCounted, and will get 
92004        cleaned up when the last referring Length is destructed.
92005
92006        * WebCore.exp.in:
92007        * css/CSSCalculationValue.cpp:
92008        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
92009        (CSSCalcPrimitiveValue):
92010        (WebCore::CSSCalcBinaryOperation::toCalcValue):
92011        (CSSCalcBinaryOperation):
92012        * css/CSSCalculationValue.h:
92013        (WebCore):
92014        (CSSCalcExpressionNode):
92015        (CSSCalcValue):
92016        (WebCore::CSSCalcValue::toCalcValue):
92017        * css/CSSPrimitiveValue.cpp:
92018        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
92019        * css/CSSStyleApplyProperty.cpp:
92020        (WebCore::ApplyPropertyLength::applyValue):
92021        * css/CSSStyleSelector.cpp:
92022        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
92023        * css/CSSStyleSelector.h:
92024        (CSSStyleSelector):
92025        * platform/CalculationValue.cpp:
92026        (WebCore::CalcExpressionBinaryOperation::evaluate):
92027        (WebCore):
92028        (WebCore::CalculationValue::create):
92029        (WebCore::CalculationValue::evaluate):
92030        * platform/CalculationValue.h:
92031        (CalcExpressionNode):
92032        (WebCore::CalcExpressionNode::~CalcExpressionNode):
92033        (WebCore):
92034        (CalculationValue):
92035        (WebCore::CalculationValue::CalculationValue):
92036        (CalcExpressionNumber):
92037        (WebCore::CalcExpressionNumber::CalcExpressionNumber):
92038        (WebCore::CalcExpressionNumber::evaluate):
92039        (CalcExpressionLength):
92040        (WebCore::CalcExpressionLength::CalcExpressionLength):
92041        (WebCore::CalcExpressionLength::evaluate):
92042        (CalcExpressionBinaryOperation):
92043        (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
92044        * platform/Length.cpp:
92045        (WebCore):
92046        (WebCore::Length::~Length):
92047        (CalculationValueHandleMap):
92048        (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
92049        (WebCore::CalculationValueHandleMap::insert):
92050        (WebCore::CalculationValueHandleMap::remove):
92051        (WebCore::CalculationValueHandleMap::get):
92052        (WebCore::calcHandles):
92053        (WebCore::Length::Length):
92054        (WebCore::Length::calculationValue):
92055        (WebCore::Length::calculatedValue):
92056        (WebCore::Length::calculatedMinValue):
92057        (WebCore::Length::calculatedFloatValue):
92058        (WebCore::Length::incrementCalculatedRef):
92059        (WebCore::Length::decrementCalculatedRef):
92060        (WebCore::Length::nonNanCalculatedValue):
92061        * platform/Length.h:
92062        (Length):
92063        (WebCore::Length::Length):
92064        (WebCore::Length::operator=):
92065        (WebCore::Length::operator*=):
92066        (WebCore::Length::value):
92067        (WebCore::Length::setValue):
92068        (WebCore::Length::calcValue):
92069        (WebCore::Length::calcMinValue):
92070        (WebCore::Length::calcFloatValue):
92071        (WebCore::Length::isZero):
92072        (WebCore::Length::isPositive):
92073        (WebCore::Length::isNegative):
92074        (WebCore::Length::isPercent):
92075        (WebCore::Length::isSpecified):
92076        (WebCore::Length::isCalculated):
92077        (WebCore::Length::initFromLength):
92078        (WebCore::Length::calculationHandle):
92079
920802012-03-07  Kent Tamura  <tkent@chromium.org>
92081
92082        Do not refer to resutlsButtonElement and cancelButtonElement to compute paddings of search popups
92083        https://bugs.webkit.org/show_bug.cgi?id=80564
92084
92085        Reviewed by Hajime Morita.
92086
92087        We'd like to reduce dependency of resultsButtonElement and
92088        cancelButtonElement from RenderTextControlSingleLine.
92089
92090        No behavior change.
92091
92092        * rendering/RenderTextControlSingleLine.cpp:
92093        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
92094        Use the left position of innerBlockElement, instead of the width of resultsButtonElement.
92095        They are equivalent.
92096        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
92097        Use <the container width - right position of innerBlockElement>,
92098        instead of the width of the cancelButtonElement. They are
92099        equivalent.
92100
921012012-03-07  Mike Lawther  <mikelawther@chromium.org>
92102
92103        use DEFINE_STATIC_LOCAL on Lengths to avoid exit time destructors
92104        https://bugs.webkit.org/show_bug.cgi?id=80561
92105
92106        Reviewed by Eric Seidel.
92107
92108        This is in preparation for http://wkb.ug/79621 where a destructor is added to Length.
92109
92110        No new tests as this is not a behaviour change.
92111
92112        * css/CSSStyleApplyProperty.cpp:
92113        (WebCore::ApplyPropertyPageSize::getPageSizeFromName):
92114
921152012-03-07  Adam Barth  <abarth@webkit.org>
92116
92117        ContainerNode::willRemove uses a weak iteration pattern
92118        https://bugs.webkit.org/show_bug.cgi?id=80530
92119
92120        Reviewed by Ryosuke Niwa.
92121
92122        This patch moves ContainerNode::willRemove to using a better iteration
92123        pattern in which we collect all the nodes we're planning to iterate
92124        into a vector and then iterate over them.
92125
92126        * dom/ContainerNode.cpp:
92127        (WebCore::ContainerNode::willRemove):
92128
921292012-03-07  Kentaro Hara  <haraken@chromium.org>
92130
92131        [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
92132        Element.dataset and Node.attributes
92133        https://bugs.webkit.org/show_bug.cgi?id=80376
92134
92135        Reviewed by Adam Barth.
92136
92137        This patch improves the performance of HTMLElement.classList, Element.dataset
92138        and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
92139
92140        Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
92141        created every time the DOM attribute is accessed, in spite of the fact that
92142        the 'hiddenReferenceName' string is static.
92143
92144        This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
92145        Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
92146        since if 'element' exists, it is guaranteed that 'elementValue' is not empty
92147        and is an Object.
92148
92149        Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
92150
92151        AppleWebKit/JavaScriptCore:
92152        div.classList : 382ms
92153        div.classList.foo = 123 : 335ms
92154        div.dataset : 403ms
92155        div.dataset.foo = 123 : 5250ms
92156        div.attributes : 183ms
92157
92158        Chromium/V8 (without this patch):
92159        div.classList : 9140ms
92160        div.classList.foo = 123 : 9086ms
92161        div.dataset : 9930ms
92162        div.dataset.foo = 123 : 49698ms
92163        div.attributes : 13489ms
92164
92165        Chromium/V8 (with this patch):
92166        div.classList : 1435ms
92167        div.classList.foo = 123 : 1470ms
92168        div.dataset : 1400ms
92169        div.dataset.foo = 123 : 30396ms
92170        div.attributes : 1242ms
92171
92172        No tests. No change in behavior.
92173
92174        * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
92175        (WebCore::toV8):
92176        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
92177        (WebCore::toV8):
92178        * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
92179        (WebCore::toV8):
92180
92181        * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
92182        to optimize the macro.
92183        (WebCore):
92184        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
92185        * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
92186        and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
92187        or a hidden reference.
92188        (WebCore):
92189        (V8HiddenPropertyName):
92190
921912012-03-07  Kent Tamura  <tkent@chromium.org>
92192
92193        Add RenderBoxModelObject::marginWidth() and marginHeight()
92194        https://bugs.webkit.org/show_bug.cgi?id=80556
92195
92196        Reviewed by Kentaro Hara.
92197
92198        They make some code shorter.
92199
92200        No behavior change.
92201
92202        * rendering/RenderBoxModelObject.h:
92203        (WebCore::RenderBoxModelObject::marginHeight): Added.
92204        (WebCore::RenderBoxModelObject::marginWidth): Added.
92205        * inspector/DOMNodeHighlighter.cpp: Use marginHeight() and/or marginWidth().
92206        * rendering/RenderBlock.h:
92207        (WebCore::RenderBlock::FloatWithRect::FloatWithRect): ditto.
92208        * rendering/RenderBlockLineLayout.cpp:
92209        (WebCore::RenderBlock::checkFloatsInCleanLine): ditto.
92210        * rendering/RenderBox.cpp:
92211        (WebCore::RenderBox::repaintLayerRectsForImage): ditto.
92212        * rendering/RenderDeprecatedFlexibleBox.cpp:
92213        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox): ditto.
92214        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox): ditto.
92215        * rendering/RenderFlexibleBox.cpp:
92216        (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild): ditto.
92217        (WebCore::RenderFlexibleBox::computeNextFlexLine): ditto.
92218        * rendering/RenderInline.cpp:
92219        (WebCore::RenderInline::culledInlineAbsoluteRects): ditto.
92220        (WebCore::RenderInline::culledInlineAbsoluteQuads): ditto.
92221        (WebCore::RenderInline::culledInlineBoundingBox): ditto.
92222        * rendering/RenderScrollbar.cpp:
92223        (WebCore::RenderScrollbar::trackPieceRectWithMargins): ditto.
92224        * rendering/RenderTextControl.cpp:
92225        (WebCore::RenderTextControl::computeLogicalHeight): ditto.
92226        * rendering/RenderTextControlSingleLine.cpp:
92227        (WebCore::RenderTextControlSingleLine::computeControlHeight): ditto.
92228
922292012-03-07  Jessie Berlin  <jberlin@apple.com>
92230
92231        Clean Windows build fails after r110033
92232        https://bugs.webkit.org/show_bug.cgi?id=80553
92233
92234        Rubber-stamped by Jon Honeycutt and Eric Seidel.
92235
92236        * WebCore.vcproj/WebCore.vcproj:
92237        Update the expected location of the copied JSC WTF string implementation files.
92238
922392012-03-07  Michael Nordman  <michaeln@google.com>
92240
92241        [Chromium] Don't be so CRASH() happy in the bindings layer.
92242        https://bugs.webkit.org/show_bug.cgi?id=75111
92243        - change the v8 bindings generated code to check for the 'worker is terminating'
92244          condition prior to committing a suicidal CRASH()
92245        - fixup custom v8 bindings accordingly
92246        - simplify bindings/generic/ActiveDOMCallback, there is no need for it to support
92247          destruction on a different thread
92248
92249        Reviewed by David Levin.
92250
92251        No new tests, existing tests apply.
92252
92253        * bindings/generic/ActiveDOMCallback.cpp: Simplified in general.
92254        (WebCore):
92255        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
92256        (WebCore::ActiveDOMCallback::~ActiveDOMCallback):
92257        (WebCore::ActiveDOMCallback::canInvokeCallback):
92258        (WebCore::ActiveDOMCallback::isScriptControllerTerminating): New method to avoid CRASH()ing in exceptional conditions in v8 bindings.
92259        * bindings/generic/ActiveDOMCallback.h: Derive from ContextDestructionObserver.
92260        * bindings/js/WorkerScriptController.cpp:
92261        (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
92262        (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
92263        * bindings/js/WorkerScriptController.h:
92264        (WorkerScriptController):
92265        * bindings/scripts/CodeGeneratorV8.pm: Generates v8 bindding code that uses isScriptControllerTerminating to avoid CRASH()ing.
92266        (GenerateCallbackImplementation):
92267        * bindings/scripts/test/V8/V8TestCallback.cpp: Fixup expected outputs of the modified CodeGeneratorV8.pm script.
92268        (WebCore::V8TestCallback::callbackWithClass1Param):
92269        (WebCore::V8TestCallback::callbackWithClass2Param):
92270        (WebCore::V8TestCallback::callbackWithStringList):
92271        * bindings/v8/WorkerScriptController.cpp:
92272        (WebCore::WorkerScriptController::WorkerScriptController): Initialize a new data member.
92273        (WebCore::WorkerScriptController::scheduleExecutionTermination): Use a mutex to provide a memory barrier.
92274        (WebCore::WorkerScriptController::isExecutionTerminating): New supporting method to avoid CRASH()ing in exceptional conditions.
92275        * bindings/v8/WorkerScriptController.h: Add a pair of new data members, bool + mutex.
92276        (WorkerScriptController):
92277        * bindings/v8/custom/V8CustomSQLStatementErrorCallback.cpp:
92278        (WebCore::V8SQLStatementErrorCallback::handleEvent):
92279        * bindings/v8/custom/V8MutationCallbackCustom.cpp:
92280        (WebCore::V8MutationCallback::handleEvent):
92281        * dom/ScriptExecutionContext.cpp:
92282        (WebCore::ScriptExecutionContext::ScriptExecutionContext): Initilaize data members.
92283        (WebCore::ScriptExecutionContext::stopActiveDOMObjects): Set m_activeDOMObjectsAreStopped.
92284        * dom/ScriptExecutionContext.h: Add m_activeDOMObjectsAreStopped data member.
92285        (WebCore::ScriptExecutionContext::activeDOMObjectsAreStopped): Simple getter.
92286        (ScriptExecutionContext):
92287
922882012-03-07  Kent Tamura  <tkent@chromium.org>
92289
92290        Remove meaningless code in RenderTextControlSingleLine::preferredContentWidth()
92291        https://bugs.webkit.org/show_bug.cgi?id=80493
92292
92293        Reviewed by Hajime Morita.
92294
92295        preferredContentWidth() added border+padding widths of the search result
92296        button, search cancel button, and speech input button. It makes no sense
92297        to make the intrinsic width wider by only their border+padding width,
92298        not their content width.
92299
92300        The default borders and paddings of these buttons are 0 in all
92301        platforms, and adding border or padding to these elements by page
92302        authors made unreasonable behavior. So we had better remove this
92303        code.
92304
92305        Tests: fast/forms/search/intrinsic-search-width-with-decoration-border-padding.html
92306               fast/speech/intrinsic-input-width-with-speech-border-padding.html
92307
92308        * rendering/RenderTextControlSingleLine.cpp:
92309        (WebCore::RenderTextControlSingleLine::preferredContentWidth):
92310         Remove the meaningless code.
92311        * rendering/RenderTextControlSingleLine.h:
92312        (RenderTextControlSingleLine): Remove speechButtonElement(). It's unnecessary.
92313
923142012-03-07  Sheriff Bot  <webkit.review.bot@gmail.com>
92315
92316        Unreviewed, rolling out r110126.
92317        http://trac.webkit.org/changeset/110126
92318        https://bugs.webkit.org/show_bug.cgi?id=80558
92319
92320        compile failed on AppleMac (Requested by ukai on #webkit).
92321
92322        * WebCore.exp.in:
92323        * css/CSSCalculationValue.cpp:
92324        * css/CSSCalculationValue.h:
92325        (WebCore):
92326        (CSSCalcExpressionNode):
92327        (CSSCalcValue):
92328        * css/CSSPrimitiveValue.cpp:
92329        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
92330        * css/CSSStyleApplyProperty.cpp:
92331        (WebCore::ApplyPropertyLength::applyValue):
92332        * css/CSSStyleSelector.cpp:
92333        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
92334        * css/CSSStyleSelector.h:
92335        * platform/CalculationValue.cpp:
92336        * platform/CalculationValue.h:
92337        * platform/Length.cpp:
92338        (WebCore::newLengthArray):
92339        * platform/Length.h:
92340        (WebCore::Length::operator*=):
92341        (WebCore::Length::value):
92342        (WebCore::Length::setValue):
92343        (Length):
92344        (WebCore::Length::calcValue):
92345        (WebCore::Length::calcMinValue):
92346        (WebCore::Length::calcFloatValue):
92347        (WebCore::Length::isZero):
92348        (WebCore::Length::isPositive):
92349        (WebCore::Length::isNegative):
92350        (WebCore::Length::isPercent):
92351        (WebCore::Length::isSpecified):
92352
923532012-03-05  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
92354
92355        Make Node::dumpStatistics() work again
92356        https://bugs.webkit.org/show_bug.cgi?id=80327
92357
92358        Reviewed by Ryosuke Niwa.
92359
92360        Update the code in dumpStatistics() to the latest attribute storage changes. Also
92361        move the DUMP_NODE_STATISTICS define here from the Node.cpp, since its also used
92362        by Document.h.
92363
92364        * dom/Node.cpp:
92365        (WebCore::Node::dumpStatistics): Use more self-describing variable names.
92366        * dom/Node.h:
92367
923682012-03-07  Mike Lawther  <mikelawther@chromium.org>
92369
92370        CSS3 calc: mixed absolute/percentages work for width, height, margin and padding
92371        https://bugs.webkit.org/show_bug.cgi?id=79621
92372
92373        Reviewed by Andreas Kling.
92374
92375        ApplyPropertyLength in CSSStyleApplyPropery now handles mixed absolute/percentage
92376        length expressions. All property handlers using this template now work with
92377        mixed expressions.
92378
92379        This patch adds a new expression evaluator in CalculationValue.cpp. This is because
92380        Length.[cpp|h] (in platform) cannot refer to CSSCalculationValue.[cpp|h] (in css) 
92381        due to layering restrictions.
92382
92383        Lengths can be copied, and so the expressions are stored in a hashmap, and only their
92384        ids are copied along with Length. The expressions are RefCounted, and will get 
92385        cleaned up when the last referring Length is destructed.
92386
92387        * WebCore.exp.in:
92388        * css/CSSCalculationValue.cpp:
92389        (WebCore::CSSCalcPrimitiveValue::toCalcValue):
92390        (CSSCalcPrimitiveValue):
92391        (WebCore::CSSCalcBinaryOperation::toCalcValue):
92392        (CSSCalcBinaryOperation):
92393        * css/CSSCalculationValue.h:
92394        (WebCore):
92395        (CSSCalcExpressionNode):
92396        (CSSCalcValue):
92397        (WebCore::CSSCalcValue::toCalcValue):
92398        * css/CSSPrimitiveValue.cpp:
92399        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
92400        * css/CSSStyleApplyProperty.cpp:
92401        (WebCore::ApplyPropertyLength::applyValue):
92402        * css/CSSStyleSelector.cpp:
92403        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
92404        * css/CSSStyleSelector.h:
92405        (CSSStyleSelector):
92406        * platform/CalculationValue.cpp:
92407        (WebCore::CalcExpressionBinaryOperation::evaluate):
92408        (WebCore):
92409        (WebCore::CalculationValue::create):
92410        (WebCore::CalculationValue::evaluate):
92411        * platform/CalculationValue.h:
92412        (CalcExpressionNode):
92413        (WebCore::CalcExpressionNode::~CalcExpressionNode):
92414        (WebCore):
92415        (CalculationValue):
92416        (WebCore::CalculationValue::CalculationValue):
92417        (CalcExpressionNumber):
92418        (WebCore::CalcExpressionNumber::CalcExpressionNumber):
92419        (WebCore::CalcExpressionNumber::evaluate):
92420        (CalcExpressionLength):
92421        (WebCore::CalcExpressionLength::CalcExpressionLength):
92422        (WebCore::CalcExpressionLength::evaluate):
92423        (CalcExpressionBinaryOperation):
92424        (WebCore::CalcExpressionBinaryOperation::CalcExpressionBinaryOperation):
92425        * platform/Length.cpp:
92426        (WebCore):
92427        (WebCore::Length::~Length):
92428        (CalculationValueHandleMap):
92429        (WebCore::CalculationValueHandleMap::CalculationValueHandleMap):
92430        (WebCore::CalculationValueHandleMap::insert):
92431        (WebCore::CalculationValueHandleMap::remove):
92432        (WebCore::CalculationValueHandleMap::get):
92433        (WebCore::calcHandles):
92434        (WebCore::Length::Length):
92435        (WebCore::Length::calculationValue):
92436        (WebCore::Length::calculatedValue):
92437        (WebCore::Length::calculatedMinValue):
92438        (WebCore::Length::calculatedFloatValue):
92439        (WebCore::Length::incrementCalculatedRef):
92440        (WebCore::Length::decrementCalculatedRef):
92441        (WebCore::Length::nonNanCalculatedValue):
92442        * platform/Length.h:
92443        (Length):
92444        (WebCore::Length::Length):
92445        (WebCore::Length::operator=):
92446        (WebCore::Length::operator*=):
92447        (WebCore::Length::value):
92448        (WebCore::Length::setValue):
92449        (WebCore::Length::calcValue):
92450        (WebCore::Length::calcMinValue):
92451        (WebCore::Length::calcFloatValue):
92452        (WebCore::Length::isZero):
92453        (WebCore::Length::isPositive):
92454        (WebCore::Length::isNegative):
92455        (WebCore::Length::isPercent):
92456        (WebCore::Length::isSpecified):
92457        (WebCore::Length::isCalculated):
92458        (WebCore::Length::initFromLength):
92459        (WebCore::Length::calculationHandle):
92460
924612012-03-07  Emil A Eklund  <eae@chromium.org>
92462
92463        Change remaining scroll methods to integers
92464        https://bugs.webkit.org/show_bug.cgi?id=80539
92465
92466        Reviewed by Eric Seidel.
92467
92468        No new tests, no new functionality.
92469
92470        * rendering/RenderLayer.cpp:
92471        (WebCore::RenderLayer::scrollByRecursively):
92472        (WebCore::RenderLayer::scrollToOffset):
92473        (WebCore::RenderLayer::scrollRectToVisible):
92474        (WebCore::RenderLayer::scrollToXOffset):
92475        (WebCore::RenderLayer::scrollToYOffset):
92476        Change scrollTo methods to take integer x and y values as the actual
92477        scrolling is done in increments of full pixels.
92478        
92479        (WebCore::cornerStart):
92480        (WebCore::RenderLayer::scrollWidth):
92481        (WebCore::RenderLayer::scrollHeight):
92482        Change scrollWidth/Height to return pixel snapped values and remove
92483        pixelSnapped versions of same as all callers either used snapped the
92484        values or used the pixelSnapped versions of these methods.
92485
92486        * rendering/RenderListBox.cpp:
92487        (WebCore::RenderListBox::scrollWidth):
92488        Change scrollWidth to return snapped client width.
92489        
92490        * rendering/RenderListBox.h:
92491        Change scrollSize, scrollPosition and setScrollOffset methods to use
92492        integers in accordance with the interface defined by ScrollableArea.
92493        
92494        * rendering/RenderTreeAsText.cpp:
92495        (WebCore::write):
92496
924972012-03-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
92498
92499        Implement getAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
92500        https://bugs.webkit.org/show_bug.cgi?id=80541
92501
92502        Reviewed by Ryosuke Niwa.
92503
92504        DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
92505        ElementAttributeData. The difference between them is that Element methods can early
92506        return if there's no attribute storage.
92507
92508        * dom/Element.cpp:
92509        (WebCore::Element::getAttributeNode):
92510        Removed the manual lowercasing letting our existing mechanism in
92511        ElementAttributeData::getAttributeItemIndex() take care of it. I considered that
92512        this could be an optimization, but testing a few Dromaeo tests (dom-attr,
92513        jslib-attr-jquery, jslib-attr-prototype) the difference isn't significant. It
92514        shouldn't affect correctness either.
92515
92516        (WebCore::Element::getAttributeNodeNS):
92517        * dom/ElementAttributeData.cpp:
92518        * dom/ElementAttributeData.h:
92519        (ElementAttributeData):
92520        (WebCore::ElementAttributeData::getAttributeNode):
92521        (WebCore):
92522        * dom/NamedNodeMap.cpp:
92523        (WebCore::NamedNodeMap::getNamedItem):
92524        (WebCore::NamedNodeMap::getNamedItemNS):
92525        * dom/NamedNodeMap.h:
92526        (NamedNodeMap):
92527
925282012-03-07  James Robinson  <jamesr@chromium.org>
92529
92530        [chromium] Support printing WebGL content in threaded compositor
92531        https://bugs.webkit.org/show_bug.cgi?id=80464
92532
92533        Reviewed by Kenneth Russell.
92534
92535        Do the readback on the WebGL context instead of the compositor's context since we cannot use the latter from the
92536        main thread. Since we're on the WebGL context, we have to be careful to restore any state we change.
92537
92538        Tested printing manually with threaded compositing enabled.
92539
92540        * platform/graphics/chromium/WebGLLayerChromium.cpp:
92541        (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
92542        * platform/graphics/chromium/WebGLLayerChromium.h:
92543        (WebGLLayerChromium):
92544
925452012-03-07  Adam Barth  <abarth@webkit.org>
92546
92547        Remove #define private public from WebCache.cpp
92548        https://bugs.webkit.org/show_bug.cgi?id=80520
92549
92550        Reviewed by Eric Seidel.
92551
92552        Add some accessors for state used by WebCache.cpp.
92553
92554        * loader/cache/MemoryCache.h:
92555        (WebCore::MemoryCache::minDeadCapacity):
92556        (WebCore::MemoryCache::maxDeadCapacity):
92557        (WebCore::MemoryCache::capacity):
92558        (WebCore::MemoryCache::liveSize):
92559        (WebCore::MemoryCache::deadSize):
92560        (MemoryCache):
92561
925622012-03-07  Kentaro Hara  <haraken@chromium.org>
92563
92564        [V8][Performance] Optimize Element.firstElementChild, Element.lastElementChild,
92565        Element.previousElementSibling, Element.nextElementSibling, Node.parentElement
92566        https://bugs.webkit.org/show_bug.cgi?id=80506
92567
92568        Reviewed by Adam Barth.
92569
92570        This patch improves the performance of Element.firstElementChild by 5.8 times,
92571        Element.lastElementChild by 6.2 times, Element.previousElementSibling by 7.1 times,
92572        Element.nextElementSibling by 7.1 times, and Node.parentElement by 6.7 times.
92573
92574        Previously, while toV8(Node*) caches a wrapper object on a node object
92575        (i.e. node->wrapper(), node->setWrapper()), toV8(Element*) does not
92576        cache a wrapper object.
92577
92578        This patch removes toV8(Element*), so that DOM attribute getters that return
92579        Element* use toV8(Node*). This change makes these DOM attribute getters
92580        cache the wrapper object on a node object. This optimization is already
92581        implemented in JavaScriptCore.
92582
92583        Performance tests: https://bugs.webkit.org/attachment.cgi?id=130594
92584
92585        The test results in my local Mac environment are as follows:
92586
92587        AppleWebKit/JavaScriptCore:
92588        div.firstElementChild : 1162ms
92589        div.lastElementChild : 1016ms
92590        div.previousElementSibling : 918ms
92591        div.nextElementSibling : 900ms
92592        div.parentElement : 901ms
92593
92594        Chromium/V8 (without this patch):
92595        div.firstElementChild : 9515ms
92596        div.lastElementChild : 9449ms
92597        div.previousElementSibling : 9254ms
92598        div.nextElementSibling : 9315ms
92599        div.parentElement : 9380ms
92600
92601        Chromium/V8 (with this patch):
92602        div.firstElementChild : 1628ms
92603        div.lastElementChild : 1527ms
92604        div.previousElementSibling : 1310ms
92605        div.nextElementSibling : 1310ms
92606        div.parentElement : 1410ms
92607
92608        No tests. No change in behavior.
92609
92610        * dom/Element.idl: Removed toV8(Element*)
92611        * bindings/v8/custom/V8NodeCustom.cpp: Ditto.
92612        (WebCore::toV8Slow):
92613        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
92614        (GenerateHeader):
92615
92616        * bindings/v8/custom/V8ElementCustom.cpp: Removed.
92617        * Target.pri: Removed V8ElementCustom.cpp.
92618        * UseV8.cmake: Ditto.
92619        * WebCore.gypi: Ditto.
92620
926212012-03-07  Joshua Bell  <jsbell@chromium.org>
92622
92623        [Chromium] IndexedDB: V8LocalContext creation in IDBKey extraction/injection is slow
92624        https://bugs.webkit.org/show_bug.cgi?id=80358
92625
92626        Cache a re-usable context (per isolate) for cases like IDB's key/SSV extraction/injection,
92627        where no user script is run. This yields a 3x-4x performance improvement in basic IDB
92628        operations.
92629
92630        Reviewed by Tony Chang.
92631
92632        No new tests - no behavior changes.
92633
92634        * bindings/v8/IDBBindingUtilities.cpp:
92635        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
92636        (WebCore::injectIDBKeyIntoSerializedValue):
92637        * bindings/v8/V8Binding.h:
92638        (WebCore::V8BindingPerIsolateData::auxiliaryContext):
92639        (V8BindingPerIsolateData):
92640        * bindings/v8/V8Utilities.cpp:
92641        (WebCore::V8AuxiliaryContext::V8AuxiliaryContext):
92642        (WebCore::V8AuxiliaryContext::~V8AuxiliaryContext):
92643        (WebCore::V8AuxiliaryContext::auxiliaryContext):
92644        * bindings/v8/V8Utilities.h:
92645        (V8AuxiliaryContext):
92646
926472012-03-07  Nat Duca  <nduca@chromium.org>
92648
92649        [chromium] Remove unused wasRecreate variable
92650        https://bugs.webkit.org/show_bug.cgi?id=80533
92651
92652        Reviewed by Adrienne Walker.
92653
92654        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
92655        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
92656
926572012-03-07  Ryan Sleevi  <rsleevi@chromium.org>
92658
92659        [chromium] Update GYP files to reflect file deletes/renames
92660        https://bugs.webkit.org/show_bug.cgi?id=80525
92661
92662        Reviewed by Ryosuke Niwa.
92663
92664        No change in functionality, so no tests.
92665
92666        * WebCore.gypi:
92667        Updated AppleMac private headers due to r109877
92668        Updated platform/qt references due to r109542
92669        Updated platform/mac references due to r109147
92670        Updated platform/mac references due to r108956
92671
926722012-03-07  Eric Carlson  <eric.carlson@apple.com>
92673
92674        Html5 video element Useragent string is Quicktime
92675        https://bugs.webkit.org/show_bug.cgi?id=46241
92676
92677        Reviewed by Daniel Bates.
92678
92679        Test: http/tests/media/video-useragent.html
92680
92681        * html/HTMLMediaElement.cpp:
92682        (WebCore::HTMLMediaElement::mediaPlayerUserAgent): Return the UA string for the current source.
92683        * html/HTMLMediaElement.h:
92684
92685        * platform/graphics/MediaPlayer.cpp:
92686        (WebCore::MediaPlayer::userAgent):  New, return the client's mediaPlayerUserAgent.
92687        * platform/graphics/MediaPlayer.h:
92688        (WebCore::MediaPlayerClient::mediaPlayerUserAgent):
92689
92690        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
92691        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to set
92692            the UA header.
92693
926942012-03-07  Scott Byer  <scottbyer@chromium.org>
92695
92696        Get ScrollAnimatorNone to handle the stop and reverse cases.
92697        https://bugs.webkit.org/show_bug.cgi?id=80455
92698
92699        Reviewed by James Robinson.
92700
92701        Chromium webkit_unit_tests ScrollAnimatorNoneTest.ScrollStopInMiddle and
92702        ScrollAnimatorNoneTest.ReverseInMiddle.
92703
92704        * platform/ScrollAnimatorNone.cpp:
92705        (WebCore::ScrollAnimatorNone::PerAxisData::updateDataFromParameters):
92706
927072012-03-07  Yong Li  <yoli@rim.com>
92708
92709        RenderImage ignores its percent width/height when setContainerSizeForRenderer
92710        https://bugs.webkit.org/show_bug.cgi?id=80431
92711
92712        Reviewed by George Staikos.
92713
92714        Not only respect fixed width/height explicitly specified in img element, but also
92715        respect percent width/height when determining container size for images.
92716
92717        No new tests because there is no functional change but only internal buffer sizes.
92718
92719        * rendering/RenderImage.cpp:
92720        (WebCore::RenderImage::computeReplacedLogicalWidth):
92721
927222012-03-06  Benjamin Poulain  <bpoulain@apple.com>
92723
92724        [Mac] Update the configuration files for iOS
92725        https://bugs.webkit.org/show_bug.cgi?id=80435
92726
92727        Reviewed by David Kilzer.
92728
92729        * Configurations/WebCore.xcconfig:
92730
927312012-03-07  Dana Jansens  <danakj@chromium.org>
92732
92733        [chromium] Cull occluded tiles during paint
92734        https://bugs.webkit.org/show_bug.cgi?id=76838
92735
92736        Reviewed by Adrienne Walker.
92737
92738        Using CCOcclusionTracker instead of the old custom paint occlusion
92739        tracking. Stops painting tiles when the tile is not visible.
92740
92741        CCOcclusionTracker only uses Layer::opaque() for determining
92742        occlusion so far. The Layer::addSelfToOccludedRegion is being
92743        replaced by a superior method in CCOcclusionTracker that will
92744        work for both threads, so removing that support here.
92745
92746        Unit test: TiledLayerChromiumTest.cpp
92747
92748        * platform/graphics/chromium/ContentLayerChromium.cpp:
92749        (WebCore::ContentLayerChromium::paintContentsIfDirty):
92750        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty):
92751        * platform/graphics/chromium/ContentLayerChromium.h:
92752        (ContentLayerChromium):
92753        * platform/graphics/chromium/ImageLayerChromium.cpp:
92754        (WebCore::ImageLayerChromium::paintContentsIfDirty):
92755        * platform/graphics/chromium/LayerChromium.cpp:
92756        * platform/graphics/chromium/LayerChromium.h:
92757        (WebCore::LayerChromium::idlePaintContentsIfDirty):
92758        (LayerChromium):
92759        * platform/graphics/chromium/TiledLayerChromium.cpp:
92760        (WebCore):
92761        (WebCore::contentToLayerTransform):
92762        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
92763        (WebCore::TiledLayerChromium::prepareToUpdate):
92764        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
92765        * platform/graphics/chromium/TiledLayerChromium.h:
92766        (TiledLayerChromium):
92767        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
92768        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
92769        (WebCore::CCLayerTreeHost::paintLayerContents):
92770
927712012-03-07  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
92772
92773        Implement removeAttributeNode() in terms of ElementAttributeData instead of NamedNodeMap
92774        https://bugs.webkit.org/show_bug.cgi?id=80522
92775
92776        Reviewed by Andreas Kling.
92777
92778        DOM methods exposed in Element and NamedNodeMap are now implemented in terms of
92779        ElementAttributeData. A helper function takeAttribute() was added to increase
92780        code sharing. Also removed some unneeded methods.
92781
92782        * dom/Element.cpp:
92783        (WebCore::Element::removeAttribute): Use ElementAttributeData function directly.
92784        (WebCore::Element::removeAttributeNode): Get the index manually and use new
92785        takeAttribute() directly.
92786        * dom/Element.h:
92787        (Element): Remove unused removeAttribute(unsigned index).
92788        * dom/ElementAttributeData.cpp:
92789        (WebCore::ElementAttributeData::takeAttribute): Like removeAttribute() but
92790        returns a reference to old Attr.
92791        (WebCore):
92792        * dom/ElementAttributeData.h:
92793        (ElementAttributeData):
92794        * dom/NamedNodeMap.cpp:
92795        (WebCore::NamedNodeMap::removeNamedItem): Avoid looking up the property twice by
92796        getting the index directly from the name, instead of going through the qualified name.
92797        * dom/NamedNodeMap.h: Remove now unused internal methods for removing attributes.
92798
927992012-03-07  Alexey Proskuryakov  <ap@apple.com>
92800
92801        Merge AsyncFileStream with FileStreamProxy
92802        https://bugs.webkit.org/show_bug.cgi?id=80325
92803
92804        Build fix.
92805
92806        * WebCore.xcodeproj/project.pbxproj: Removed files that got mysteriously added to the project
92807        with a merge.
92808
928092012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>
92810
92811        Unreviewed ASSERT failure fix.
92812        https://bugs.webkit.org/show_bug.cgi?id=75568
92813
92814        * rendering/RenderBoxModelObject.cpp:
92815        (WebCore::RenderBoxModelObject::styleDidChange):
92816        Fix a bad merge of the patch, we should call updateCachedSizeForOverflowClip if we lose
92817        our layer.
92818
928192012-03-07  ChangSeok Oh  <shivamidow@gmail.com>
92820
92821        [EFL] Revise PlatformKeyboardEventEfl and EflKeyboardUtilities
92822        https://bugs.webkit.org/show_bug.cgi?id=80511
92823
92824        Reviewed by Gustavo Noronha Silva.
92825
92826        Added 'const' keyword in front of argument of keyIdentifiersForEvasKeyName/windowsKeyCodeForEvasKeyName.
92827        Since they should not be changed while processing each function.
92828        And initialized missing member variables of PlatformKeyboardEventEfl.
92829
92830        No new tests, since no new feature.
92831
92832        * platform/efl/EflKeyboardUtilities.cpp:
92833        (WebCore::keyIdentifierForEvasKeyName): Added const keyword
92834        (WebCore::windowsKeyCodeForEvasKeyName): Added const keyword
92835        * platform/efl/EflKeyboardUtilities.h:
92836        (WebCore):
92837        * platform/efl/PlatformKeyboardEventEfl.cpp:
92838        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
92839
928402012-03-07  Hironori Bono  <hbono@chromium.org>
92841
92842        [Chromium] Mirror the resizer image of an RTL element when WTF_USE_RTL_SCROLLBAR is 1
92843        https://bugs.webkit.org/show_bug.cgi?id=9223
92844
92845        Reviewed by Tony Chang.
92846
92847        This change mirrors a resizer image of an RTL element horizontall as Firefox
92848        does. This change also mirrors its dragging behavior, i.e. draging the resizer
92849        of an RTL element to the left side increases its width. (This feature is enabled
92850        only when WTF_USE_RTL_SCROLLBAR is 1.)
92851
92852        Test: platform/chromium/scrollbars/drag-rtl-resizer.html
92853
92854        * rendering/RenderLayer.cpp:
92855        (WebCore::RenderLayer::resize): Mirrored the x coordinate of mouse positions
92856        when mirroring a resizer.
92857        (WebCore::RenderLayer::offsetFromResizeCorner): Returned the offset from the
92858        bottom-left corner when rendering a resizer there.
92859        (WebCore::RenderLayer::drawPlatformResizerImage): Mirrored the resizer bitmap
92860        horizontally when rendering a resizer to the bottom-left corner.
92861
928622012-03-07  Julien Chaffraix  <jchaffraix@webkit.org>
92863
92864        Lazily allocate overflow: hidden layers if we have overflowing content
92865        https://bugs.webkit.org/show_bug.cgi?id=75568
92866
92867        Reviewed by David Hyatt.
92868
92869        Change covered by the existing tests and the tons of rebaselines.
92870
92871        This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
92872
92873        Apart from saving some memory, it will also speed up the rendering as we don't need to
92874        go through the layer's machinery when painting and hit testing.
92875
92876        On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
92877        overflow: hidden case in par with the overflow: visible case when scrolling that is a
92878        very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
92879
92880        * rendering/RenderBlock.cpp:
92881        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
92882        Changed this method to update our size cache if needed.
92883
92884        * rendering/RenderBlock.cpp:
92885        (WebCore::RenderBlock::layoutBlock):
92886        (WebCore::RenderBlock::paint):
92887        (WebCore::RenderBlock::isPointInOverflowControl):
92888        * rendering/RenderBlock.h:
92889        (RenderBlock):
92890        * rendering/RenderBox.cpp:
92891        (WebCore::RenderBox::willBeDestroyed):
92892        (WebCore::RenderBox::styleDidChange):
92893        (WebCore::RenderBox::layout):
92894        (WebCore::RenderBox::scrollWidth):
92895        (WebCore::RenderBox::scrollHeight):
92896        (WebCore::RenderBox::scrollLeft):
92897        (WebCore::RenderBox::scrollTop):
92898        (WebCore::RenderBox::setScrollLeft):
92899        (WebCore::RenderBox::setScrollTop):
92900        (WebCore::RenderBox::includeVerticalScrollbarSize):
92901        (WebCore::RenderBox::includeHorizontalScrollbarSize):
92902        (WebCore::RenderBox::scrolledContentOffset):
92903        (WebCore::RenderBox::pushContentsClip):
92904        (WebCore::RenderBox::popContentsClip):
92905        (WebCore::RenderBox::addLayoutOverflow):
92906        Added layer() check to the previous call sites.
92907
92908        (WebCore::cachedSizeForOverflowClipMap):
92909        (WebCore::RenderBox::cachedSizeForOverflowClip):
92910        (WebCore::RenderBox::updateCachedSizeForOverflowClip):
92911        (WebCore::RenderBox::clearCachedSizeForOverflowClip):
92912        This logic stores the size information for later repainting.
92913        It is in practice replicating what RenderLayer is doing.
92914        I had to disable an ASSERT here as it would trigger in NRWT but
92915        not under DRT. I haven't found by code inspection what was wrong.
92916
92917        * rendering/RenderBox.h:
92918        (WebCore::RenderBox::hasOverflowClipWithLayer):
92919        Helper function.
92920
92921        (WebCore::RenderBox::requiresLayerForOverflowClip):
92922        This determines if we can survive without a RenderLayer. For the moment,
92923        it is very conservative.
92924
92925        (WebCore::RenderBox::requiresLayer):
92926        Updated to call requiresLayerForOverflowClip.
92927
92928        * rendering/RenderBoxModelObject.cpp:
92929        (WebCore::RenderBoxModelObject::ensureLayer):
92930        Added this function to create and add a new layer.
92931
92932        (WebCore::RenderBoxModelObject::willBeDestroyed):
92933        (WebCore::RenderBoxModelObject::styleDidChange):
92934        Patched those method to handle updating / removing
92935        cached size entries.
92936
92937        * rendering/RenderBoxModelObject.h:
92938        (WebCore::RenderBoxModelObject::requiresLayer):
92939        Pushed the overflowClip check down to RenderBox as only RenderBoxes can have
92940        overflow clips.
92941
92942        * rendering/RenderTableRow.h:
92943        (WebCore::RenderTableRow::requiresLayer):
92944        Added a comment about why we need a layout for table rows.
92945
92946        * rendering/RenderDeprecatedFlexibleBox.cpp:
92947        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
92948        * rendering/RenderFlexibleBox.cpp:
92949        (WebCore::RenderFlexibleBox::layoutBlock):
92950        * rendering/RenderTableSection.cpp:
92951        (WebCore::RenderTableSection::layout):
92952        Updated those call sites to use RenderBlock::updateScrollInfoAfterLayout
92953        or RenderBox::updateCachedSizeForOverflowClip. The current logic is really
92954        not tight proof and would need to be rethought to not avoid cases.
92955
929562012-03-07  Konrad Piascik  <kpiascik@rim.com>
92957
92958        [BlackBerry] Fix warnings in CookieMap
92959        https://bugs.webkit.org/show_bug.cgi?id=80512
92960
92961        Reviewed by Rob Buis.
92962
92963        No new tests. No behavioural changes.
92964
92965        * platform/blackberry/CookieMap.cpp:
92966        (WebCore::CookieMap::addOrReplaceCookie):
92967        (WebCore::CookieMap::removeCookie):
92968        (WebCore::CookieMap::getAllCookies):
92969        (WebCore::CookieMap::updateOldestCookie):
92970
929712012-03-07  Levi Weintraub  <leviw@chromium.org>
92972
92973        Update usage of LayoutUnits in InlineBox and InlineFlowBox
92974        https://bugs.webkit.org/show_bug.cgi?id=80051
92975
92976        Reviewed by Eric Seidel.
92977
92978        Updating LayoutUnit vs Integer usage in InlineBox and InlineFlowBox. While the
92979        line box tree remains floating point, margins are now subpixel, and rects from
92980        the render tree use LayoutUnits. For more information, see the LayoutUnit wiki
92981        page: https://trac.webkit.org/wiki/LayoutUnit
92982
92983        No new tests. No change in behavior.
92984
92985        * rendering/InlineBox.cpp:
92986        (WebCore::InlineBox::flipForWritingMode): Changing over to LayoutUnits.
92987        * rendering/InlineBox.h:
92988        (InlineBox):
92989        * rendering/InlineFlowBox.cpp:
92990        (WebCore::InlineFlowBox::getFlowSpacingLogicalWidth): Returning a LayoutUnit
92991        instead of an integer, as it uses margin which is a LayoutUnit.
92992        (WebCore::InlineFlowBox::placeBoxesInInlineDirection): Using a LayoutUnit for
92993        margin.
92994        (WebCore::InlineFlowBox::placeBoxesInBlockDirection): Build fixes for when
92995        LayoutUnits are subpixel.
92996        (WebCore::InlineFlowBox::paintFillLayer): Ditto.
92997        * rendering/InlineFlowBox.h:
92998        (WebCore::InlineFlowBox::marginBorderPaddingLogicalLeft): Returning a LayoutUnit
92999        instead of an integer since margin is a LayoutUnit.
93000        (WebCore::InlineFlowBox::marginBorderPaddingLogicalRight): Ditto.
93001        (InlineFlowBox):
93002        (WebCore::InlineFlowBox::logicalLeftLayoutOverflow): Adding a static_cast that's
93003        redundant now, but required when we switch to subpixel LayoutUnits.
93004        (WebCore::InlineFlowBox::logicalRightLayoutOverflow): Ditto.
93005        (WebCore::InlineFlowBox::logicalLeftVisualOverflow): Ditto.
93006        (WebCore::InlineFlowBox::logicalRightVisualOverflow): Ditto.
93007
930082012-03-07  Qi Zhang  <qi.2.zhang@nokia.com>
93009
93010        [Qt] Unskip http/tests/websocket/tests/hixie76/long-invalid-header.html
93011        https://bugs.webkit.org/show_bug.cgi?id=80516
93012
93013        Reviewed by Csaba Osztrogonác.
93014
93015        Missed some files related to websocket, take them in.
93016
93017        * Target.pri:
93018
930192012-03-05  Alexey Proskuryakov  <ap@apple.com>
93020
93021        Merge AsyncFileStream with FileStreamProxy
93022        https://bugs.webkit.org/show_bug.cgi?id=80325
93023
93024        Reviewed by Filip Pizlo.
93025
93026        AsyncFileStream sounds like a platform concept, but the implementation is web specific.
93027        Better to just keep it in one place.
93028
93029        This is a step toward decoupling blob scheme support from ResourceHandle, which is supposed
93030        to be an interface to platform networking APIs only, and definitely shouldn't know about
93031        Web concepts.
93032
93033        No change in functionality, so no tests.
93034
93035        * CMakeLists.txt:
93036        * GNUmakefile.list.am:
93037        * Target.pri:
93038        * WebCore.gypi:
93039        * WebCore.vcproj/WebCore.vcproj:
93040        * WebCore.xcodeproj/project.pbxproj:
93041        Updated for moved and removed files. Namely, platform/AsyncFileStream is dead, and
93042        fileapi/FileStreamProxy is now fileapi/AsyncFileStream.
93043
93044        * fileapi/AsyncFileStream.cpp: Copied from Source/WebCore/fileapi/FileStreamProxy.cpp.
93045        (WebCore::AsyncFileStream::AsyncFileStream):
93046        (WebCore::AsyncFileStream::create):
93047        (WebCore::AsyncFileStream::~AsyncFileStream):
93048        (WebCore::AsyncFileStream::fileThread):
93049        (WebCore::didStart):
93050        (WebCore::AsyncFileStream::startOnFileThread):
93051        (WebCore::AsyncFileStream::stop):
93052        (WebCore::derefProxyOnContext):
93053        (WebCore::AsyncFileStream::stopOnFileThread):
93054        (WebCore::didGetSize):
93055        (WebCore::AsyncFileStream::getSize):
93056        (WebCore::AsyncFileStream::getSizeOnFileThread):
93057        (WebCore::didOpen):
93058        (WebCore::AsyncFileStream::openForRead):
93059        (WebCore::AsyncFileStream::openForReadOnFileThread):
93060        (WebCore::AsyncFileStream::openForWrite):
93061        (WebCore::AsyncFileStream::openForWriteOnFileThread):
93062        (WebCore::AsyncFileStream::close):
93063        (WebCore::AsyncFileStream::closeOnFileThread):
93064        (WebCore::didRead):
93065        (WebCore::AsyncFileStream::read):
93066        (WebCore::AsyncFileStream::readOnFileThread):
93067        (WebCore::didWrite):
93068        (WebCore::AsyncFileStream::write):
93069        (WebCore::AsyncFileStream::writeOnFileThread):
93070        (WebCore::didTruncate):
93071        (WebCore::AsyncFileStream::truncate):
93072        (WebCore::AsyncFileStream::truncateOnFileThread):
93073        * fileapi/AsyncFileStream.h: Copied from Source/WebCore/fileapi/FileStreamProxy.h.
93074        (WebCore):
93075        (AsyncFileStream):
93076        (WebCore::AsyncFileStream::client):
93077        (WebCore::AsyncFileStream::setClient):
93078        * fileapi/FileStreamProxy.cpp: Removed.
93079        * fileapi/FileStreamProxy.h: Removed.
93080        * loader/ResourceLoader.cpp:
93081        (WebCore::ResourceLoader::createAsyncFileStream):
93082        * platform/AsyncFileStream.h: Removed.
93083        Fewer files!
93084
93085        * platform/network/BlobRegistry.h: Removed createResourceHandle(). It's logically a method
93086        on in-process BlobRegistryImpl only, and we no longer need to call this from platform code.
93087
93088        * platform/network/BlobRegistryImpl.cpp:
93089        (WebCore::createResourceHandle):
93090        (WebCore::registerBlobResourceHandleConstructor):
93091        (WebCore::BlobRegistryImpl::registerBlobURL):
93092        * platform/network/BlobRegistryImpl.h:
93093        Except for chromium, "blob" is a scheme that's handled internally. Added hooks for that.
93094
93095        * platform/network/ResourceHandle.cpp:
93096        (WebCore::builtinResourceHandleConstructorMap):
93097        (WebCore::ResourceHandle::registerBuiltinConstructor):
93098        (WebCore::ResourceHandle::create):
93099        * platform/network/ResourceHandle.h:
93100        Added a way for other code to register handlers for URL schemes. Non-Chromium platforms
93101        use this for blob: now.
93102
931032012-03-07  Dan Bernstein  <mitz@apple.com>
93104
93105        <rdar://problem/10923294> REGRESSION (r100847): Entries are clipped out in Day One
93106        https://bugs.webkit.org/show_bug.cgi?id=80494
93107
93108        Reviewed by Sam Weinig.
93109
93110        Test: fast/dom/HTMLDocument/width-and-height.html
93111
93112        * html/HTMLDocument.idl: Reverted r100847 by re-enabling the width and height properties
93113        in the JavaScript bindings.
93114
931152012-03-07  Philippe Normand  <pnormand@igalia.com>
93116
93117        [GTK] media/audio-garbage-collect.html is flaky
93118        https://bugs.webkit.org/show_bug.cgi?id=72698
93119
93120        Reviewed by Xan Lopez.
93121
93122        Call ::hasPendingActivity() instead of ::paused() when checking if
93123        the audio element is still active. This is similar to what the
93124        image element (another ActiveDOMObject implementation) does just
93125        above. This contributes to fixing the audio-garbage-collect.html
93126        test.
93127
93128        * bindings/js/JSNodeCustom.cpp:
93129        (WebCore::isReachableFromDOM):
93130
931312012-03-07  Adele Peterson  <adele@apple.com>
93132
93133        REGRESSION(r96566): Cursor is I-beam upon dragging an attachment in mail
93134        https://bugs.webkit.org/show_bug.cgi?id=80458
93135        <rdar://problem/10873195>
93136
93137        Reviewed by Dan Bernstein.
93138
93139        No tests because we currently don't have any test machinery for cursors.
93140
93141        Make sure the shortcut to always use an iBeam cursor during selection isn't used during dragging.
93142        Before r96566, we handled plugin cursors as a special case before calling into selectCursor, so we never hit this code path.
93143
93144        * page/EventHandler.cpp: (WebCore::EventHandler::selectCursor):
93145
931462012-03-07  ChangSeok Oh  <shivamidow@gmail.com>
93147
93148        [EFL] Key press event is not processed properly.
93149        https://bugs.webkit.org/show_bug.cgi?id=80491
93150
93151        Reviewed by Gustavo Noronha Silva.
93152
93153        This issue is related with mutation observer feature.
93154        If enter key is pressed, then a keyboard event should be processed
93155        and reach to the mutation observer, but it doesn't.
93156        Some special keys like Enter, Backspace and Tab key should be processed
93157        and change to a single character code, but EFL port hasn't handled like that.
93158
93159        At least we can verify this with following two tests as I know. but they require another
93160        functionality for bug79601. I'm going to submit the patch for it after this one.
93161
93162        Test: fast/mutation/end-of-task-delivery.html
93163              fast/mutation/inline-event-listener.html
93164
93165        * platform/efl/EflKeyboardUtilities.cpp:
93166        (WebCore::singleCharacterString):
93167        (WebCore):
93168        * platform/efl/EflKeyboardUtilities.h:
93169        (WebCore):
93170        * platform/efl/PlatformKeyboardEventEfl.cpp:
93171        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
93172
931732012-03-07  Gavin Peters  <gavinp@chromium.org>
93174
93175        Add Histograms for reporting on PageCache reject reasons
93176        https://bugs.webkit.org/show_bug.cgi?id=80187
93177
93178        Enhance the PageCache debug mode so that it uses Histograms to
93179        report on causes of failure.  Turn on the debug printing path
93180        even in non-debug Chromium builds, so these histograms will
93181        update.
93182
93183        Reviewed by Brady Eidson.
93184
93185        No new tests, does not change behaviour.
93186
93187        * history/PageCache.cpp:
93188        (WebCore):
93189        (WebCore::logCanCacheFrameDecision):
93190        (WebCore::logCanCachePageDecision):
93191        (WebCore::PageCache::canCache):
93192
931932012-03-07  Elliot Poger  <epoger@google.com>
93194
93195        [Chromium] Remove use_skia option from GYP
93196        https://bugs.webkit.org/show_bug.cgi?id=75811
93197
93198        Reviewed by Tony Chang.
93199
93200        * WebCore.gyp/WebCore.gyp:
93201
932022012-03-07  Yoshifumi Inoue  <yosin@chromium.org>
93203
93204        [Forms] Introduce LabelableElement to share "labels" attribute implementation
93205        https://bugs.webkit.org/show_bug.cgi?id=80392
93206
93207        Reviewed by Kent Tamura.
93208
93209        This patch introduces new class LabelableElement as base class of
93210        HTMLFormControlElement for sharing implementation of "labels" 
93211        attribute among form-associate elements, "meter" element, and 
93212        "progress" element.
93213
93214        This patch allows us to change base class of HTMLMeterElement and
93215        HTMLProgressElement dervied from HTMLFormControlElement to 
93216        HTMLElement for remove them from HTMLFormElement::m_associatedFormElements
93217        where we don't need to put "meter" and "progress" elements(bug 80381.)
93218
93219        This patch also changes implementation of isLabelable using virtual
93220        method rather than sequence of hasTagName for execution speed and
93221        better readability.
93222
93223        No new tests are required. No behavior changes.
93224
93225        * CMakeLists.txt: Add LabelableElement.cpp and .h
93226        * GNUmakefile.list.am:  Add LabelableElement.cpp and .h
93227        * Target.pri: Add LabelableElement.cpp and .h
93228        * WebCore.gypi: Add LabelableElement.cpp and .h
93229        * WebCore.vcproj/WebCore.vcproj: Add LabelableElement.cpp and .h
93230        * WebCore.xcodeproj/project.pbxproj: Add LabelableElement.cpp and .h
93231        * html/HTMLButtonElement.h: Implement isLabelable.
93232        * html/HTMLFormControlElement.cpp:
93233        (WebCore::HTMLFormControlElement::HTMLFormControlElement): Change direct base class.
93234        * html/HTMLFormControlElement.h:
93235        (HTMLFormControlElement): Change direct base class.
93236        * html/HTMLInputElement.cpp:
93237        (WebCore::HTMLInputElement::isLabelable): Removed to use virtual method instead of hasTagName.
93238        (WebCore):
93239        * html/HTMLInputElement.h: Declaration of isLabelable.
93240        * html/HTMLKeygenElement.h: Implement isLabelable.
93241        * html/HTMLMeterElement.h: Implement isLabelable.
93242        * html/HTMLProgressElement.h: Implement isLabelable.
93243        * html/HTMLSelectElement.h: Implement isLabelable.
93244        * html/HTMLTextAreaElement.h: Implement isLabelable.
93245        * html/LabelableElement.cpp: Added.
93246        (WebCore):
93247        (WebCore::LabelableElement::LabelableElement):
93248        (WebCore::LabelableElement::~LabelableElement):
93249        (WebCore::LabelableElement::labels): Moved from HTMLFormControlElement.
93250        * html/LabelableElement.h: Added.
93251        (WebCore):
93252        (LabelableElement):
93253
932542012-03-07  Arun Patole  <bmf834@motorola.com>
93255
93256        HTMLTrackElement.idl doesn't have default attribute.
93257        https://bugs.webkit.org/show_bug.cgi?id=80116
93258
93259        Reviewed by Kentaro Hara.
93260
93261        Renamed isDefault to 'default' so that in JS, it will be track.default instead of track.isDefault.
93262        * html/HTMLTrackElement.idl:
93263
932642012-03-07  Zoltan Horvath  <zoltan@webkit.org>
93265
93266        [Qt] Add qmake config tests for JPEG and PNG library
93267        https://bugs.webkit.org/show_bug.cgi?id=80398
93268
93269        Reviewed by Tor Arne Vestbø.
93270
93271        Add JPEG and PNG library tests to config.tests and
93272        add error() abort to WebCore.pri if tests don't work.
93273
93274        * WebCore.pri:
93275
932762012-03-06  Pavel Podivilov  <podivilov@chromium.org>
93277
93278        Web Inspector: extract source mapping logic from DebuggerPresentationModel to ScriptMappingImpl.
93279        https://bugs.webkit.org/show_bug.cgi?id=80412
93280
93281        Reviewed by Vsevolod Vlasov.
93282
93283        * WebCore.gypi:
93284        * WebCore.vcproj/WebCore.vcproj:
93285        * inspector/compile-front-end.sh:
93286        * inspector/front-end/ScriptMapping.js:
93287        (WebInspector.ScriptMappingImpl):
93288        (WebInspector.ScriptMappingImpl.prototype.rawLocationToUILocation):
93289        (WebInspector.ScriptMappingImpl.prototype.createLiveLocation):
93290        (WebInspector.ScriptMappingImpl.prototype.uiSourceCodeList):
93291        (WebInspector.ScriptMappingImpl.prototype._handleUISourceCodeListChanged):
93292        (WebInspector.ScriptMappingImpl.prototype._uiSourceCodeListChanged):
93293        (WebInspector.ScriptMappingImpl.prototype._bindScriptToRawSourceCode):
93294        (WebInspector.ScriptMappingImpl.prototype.setFormatSource):
93295        (WebInspector.ScriptMappingImpl.prototype.forceUpdateSourceMapping):
93296        (WebInspector.ScriptMappingImpl.prototype.reset):
93297
932982012-03-07  Mark Rowe  <mrowe@apple.com>
93299
93300        Fix DerivedSources.make to not assume that WTF and WebCore build in to the same build directory.
93301
93302        We can't assume that wtf/Platform.h can be found inside BUILT_PRODUCTS_DIR as
93303        that won't be the case if WTF and WebCore are building in to different build
93304        directories. We should instead look for wtf/Platform.h in the header search path.
93305        
93306        Unreviewed due to being a build fix.
93307
93308        * DerivedSources.make: Set up the header search path, and invoke the compiler in
93309        such a manner that it looks for wtf/Platform.h in that search path.
93310
933112012-03-07  Robin Cao  <robin.cao@torchmobile.com.cn>
93312
93313        [BlackBerry] Upstream Texture and TextureCache
93314        https://bugs.webkit.org/show_bug.cgi?id=80121
93315
93316        Reviewed by Rob Buis.
93317
93318        Initial upstream, no new tests.
93319
93320        * platform/graphics/blackberry/Texture.cpp: Added.
93321        (WebCore):
93322        (WebCore::copyImageData):
93323        (WebCore::Texture::Texture):
93324        (WebCore::Texture::~Texture):
93325        (WebCore::Texture::updateContents):
93326        (WebCore::Texture::setContentsToColor):
93327        (WebCore::Texture::protect):
93328        * platform/graphics/blackberry/Texture.h: Added.
93329        (WebCore):
93330        (Texture):
93331        (WebCore::Texture::create):
93332        (WebCore::Texture::textureId):
93333        (WebCore::Texture::isDirty):
93334        (WebCore::Texture::hasTexture):
93335        (WebCore::Texture::isColor):
93336        (WebCore::Texture::isOpaque):
93337        (WebCore::Texture::isProtected):
93338        (WebCore::Texture::protect):
93339        (WebCore::Texture::unprotect):
93340        (WebCore::Texture::size):
93341        (WebCore::Texture::width):
93342        (WebCore::Texture::height):
93343        (WebCore::Texture::bytesPerPixel):
93344        (WebCore::Texture::setTextureId):
93345        * platform/graphics/blackberry/TextureCacheCompositingThread.cpp: Added.
93346        (WebCore):
93347        (TextureProtector):
93348        (WebCore::TextureProtector::TextureProtector):
93349        (WebCore::TextureProtector::~TextureProtector):
93350        (WebCore::TextureCacheCompositingThread::TextureCacheCompositingThread):
93351        (WebCore::TextureCacheCompositingThread::allocateTextureId):
93352        (WebCore::TextureCacheCompositingThread::freeTextureId):
93353        (WebCore::TextureCacheCompositingThread::collectGarbage):
93354        (WebCore::TextureCacheCompositingThread::textureResized):
93355        (WebCore::TextureCacheCompositingThread::textureDestroyed):
93356        (WebCore::TextureCacheCompositingThread::install):
93357        (WebCore::TextureCacheCompositingThread::evict):
93358        (WebCore::TextureCacheCompositingThread::textureAccessed):
93359        (WebCore::textureCacheCompositingThread):
93360        (WebCore::TextureCacheCompositingThread::prune):
93361        (WebCore::TextureCacheCompositingThread::clear):
93362        (WebCore::TextureCacheCompositingThread::setMemoryUsage):
93363        (WebCore::TextureCacheCompositingThread::textureForTiledContents):
93364        (WebCore::TextureCacheCompositingThread::textureForColor):
93365        (WebCore::TextureCacheCompositingThread::updateContents):
93366        (WebCore::TextureCacheCompositingThread::key):
93367        * platform/graphics/blackberry/TextureCacheCompositingThread.h: Added.
93368        (WebCore):
93369        (TextureCacheCompositingThread):
93370        (WebCore::TextureCacheCompositingThread::createTexture):
93371        (WebCore::TextureCacheCompositingThread::memoryUsage):
93372        (WebCore::TextureCacheCompositingThread::memoryLimit):
93373        (WebCore::TextureCacheCompositingThread::setMemoryLimit):
93374        (WebCore::TextureCacheCompositingThread::prune):
93375        (WebCore::TextureCacheCompositingThread::ZombieTexture::ZombieTexture):
93376        (ZombieTexture):
93377        (WebCore::TextureCacheCompositingThread::incMemoryUsage):
93378        (WebCore::TextureCacheCompositingThread::decMemoryUsage):
93379        (WebCore::TextureCacheCompositingThread::ColorHash::hash):
93380        (WebCore::TextureCacheCompositingThread::ColorHash::equal):
93381        (ColorHash):
93382        (ColorHashTraits):
93383        (WebCore::TextureCacheCompositingThread::ColorHashTraits::constructDeletedValue):
93384        (WebCore::TextureCacheCompositingThread::ColorHashTraits::isDeletedValue):
93385
933862012-03-07  Kenichi Ishibashi  <bashi@chromium.org>
93387
93388        [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
93389        https://bugs.webkit.org/show_bug.cgi?id=80103
93390
93391        Reviewed by Kent Tamura.
93392
93393        Add UTF8 validation checks for WebSocket message and close reason.
93394
93395        Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
93396               http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html
93397
93398        * Modules/websockets/WebSocket.cpp:
93399        (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
93400        (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
93401        * Modules/websockets/WebSocketChannel.cpp:
93402        (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.
93403
934042012-03-07  Byungwoo Lee  <bw80.lee@samsung.com>
93405
93406        [EFL] Build warning: Fix warn_unused_result warnings.
93407        https://bugs.webkit.org/show_bug.cgi?id=79194
93408
93409        Reviewed by Filip Pizlo.
93410
93411        Fixed build warning which is getting generated when not using return
93412        value of a fuction, especially declared with warn_unused_result
93413        attribute.
93414
93415        * platform/efl/SharedBufferEfl.cpp:
93416        (WebCore::SharedBuffer::createWithContentsOfFile):
93417
934182012-03-07  Kent Tamura  <tkent@chromium.org>
93419
93420        Cleanup of RenderTextControl::adjustControlHeightBasedOnLineHeight()
93421        https://bugs.webkit.org/show_bug.cgi?id=80480
93422
93423        Reviewed by Hajime Morita.
93424
93425        The callsite of adjustControlHeightBasedOnLineHeight() stored
93426        padding+border+margin height of the inner text in height(), and
93427        adjustControlHeightBasedOnLineHeight() implementations refered it. It
93428        was unreasonable and hard to understand.
93429
93430        The purpose of adjustControlHeightBasedOnLineHeight() is to compute
93431        - the maximum height of line-heights of the inner text and decorations
93432        - the maximum height of padding+border+margin heights of the inner text and decorations,
93433        and to sum them up. This patch rewrites the code to make it understood easily.
93434
93435        adjustControlHeightBasedOnLineHeight() is renamed to
93436        computeControlheight(), it takes additional parameter of
93437        padding+boder+margin height, and returns the sum of them.
93438
93439        No behavior change.
93440
93441        * rendering/RenderTextControl.cpp:
93442        (WebCore::RenderTextControl::computeLogicalHeight):
93443        * rendering/RenderTextControl.h:
93444        (RenderTextControl):
93445        * rendering/RenderTextControlMultiLine.cpp:
93446        (WebCore::RenderTextControlMultiLine::computeControlHeight):
93447        * rendering/RenderTextControlMultiLine.h:
93448        (RenderTextControlMultiLine):
93449        * rendering/RenderTextControlSingleLine.cpp:
93450        (WebCore::RenderTextControlSingleLine::computeControlHeight):
93451        * rendering/RenderTextControlSingleLine.h:
93452        (RenderTextControlSingleLine):
93453
934542012-03-06  Eric Seidel  <eric@webkit.org>
93455
93456        Make WTF public headers use fully-qualified include paths and remove ForwardingHeaders/wtf
93457        https://bugs.webkit.org/show_bug.cgi?id=80363
93458
93459        Reviewed by Mark Rowe.
93460
93461        ForwardingHeaders/wtf is no longer needed (or functional) now that
93462        JavaScriptCore no longer includes the WTF headers as private headers.
93463
93464        * DerivedSources.make:
93465        * ForwardingHeaders/wtf/ASCIICType.h: Removed.
93466        * ForwardingHeaders/wtf/AVLTree.h: Removed.
93467        * ForwardingHeaders/wtf/Alignment.h: Removed.
93468        * ForwardingHeaders/wtf/AlwaysInline.h: Removed.
93469        * ForwardingHeaders/wtf/ArrayBuffer.h: Removed.
93470        * ForwardingHeaders/wtf/ArrayBufferView.h: Removed.
93471        * ForwardingHeaders/wtf/Assertions.h: Removed.
93472        * ForwardingHeaders/wtf/Atomics.h: Removed.
93473        * ForwardingHeaders/wtf/Bitmap.h: Removed.
93474        * ForwardingHeaders/wtf/BloomFilter.h: Removed.
93475        * ForwardingHeaders/wtf/BumpPointerAllocator.h: Removed.
93476        * ForwardingHeaders/wtf/ByteArray.h: Removed.
93477        * ForwardingHeaders/wtf/CheckedArithmetic.h: Removed.
93478        * ForwardingHeaders/wtf/CheckedBoolean.h: Removed.
93479        * ForwardingHeaders/wtf/Compiler.h: Removed.
93480        * ForwardingHeaders/wtf/Complex.h: Removed.
93481        * ForwardingHeaders/wtf/CryptographicallyRandomNumber.h: Removed.
93482        * ForwardingHeaders/wtf/CurrentTime.h: Removed.
93483        * ForwardingHeaders/wtf/DataLog.h: Removed.
93484        * ForwardingHeaders/wtf/DateInstanceCache.h: Removed.
93485        * ForwardingHeaders/wtf/DateMath.h: Removed.
93486        * ForwardingHeaders/wtf/DecimalNumber.h: Removed.
93487        * ForwardingHeaders/wtf/Decoder.h: Removed.
93488        * ForwardingHeaders/wtf/Deque.h: Removed.
93489        * ForwardingHeaders/wtf/DisallowCType.h: Removed.
93490        * ForwardingHeaders/wtf/DoublyLinkedList.h: Removed.
93491        * ForwardingHeaders/wtf/DynamicAnnotations.h: Removed.
93492        * ForwardingHeaders/wtf/Encoder.h: Removed.
93493        * ForwardingHeaders/wtf/ExportMacros.h: Removed.
93494        * ForwardingHeaders/wtf/FastAllocBase.h: Removed.
93495        * ForwardingHeaders/wtf/FastMalloc.h: Removed.
93496        * ForwardingHeaders/wtf/FixedArray.h: Removed.
93497        * ForwardingHeaders/wtf/Float32Array.h: Removed.
93498        * ForwardingHeaders/wtf/Float64Array.h: Removed.
93499        * ForwardingHeaders/wtf/Forward.h: Removed.
93500        * ForwardingHeaders/wtf/Functional.h: Removed.
93501        * ForwardingHeaders/wtf/GetPtr.h: Removed.
93502        * ForwardingHeaders/wtf/HashCountedSet.h: Removed.
93503        * ForwardingHeaders/wtf/HashFunctions.h: Removed.
93504        * ForwardingHeaders/wtf/HashMap.h: Removed.
93505        * ForwardingHeaders/wtf/HashSet.h: Removed.
93506        * ForwardingHeaders/wtf/HashTable.h: Removed.
93507        * ForwardingHeaders/wtf/HashTraits.h: Removed.
93508        * ForwardingHeaders/wtf/HexNumber.h: Removed.
93509        * ForwardingHeaders/wtf/Int16Array.h: Removed.
93510        * ForwardingHeaders/wtf/Int32Array.h: Removed.
93511        * ForwardingHeaders/wtf/Int8Array.h: Removed.
93512        * ForwardingHeaders/wtf/ListHashSet.h: Removed.
93513        * ForwardingHeaders/wtf/ListRefPtr.h: Removed.
93514        * ForwardingHeaders/wtf/Locker.h: Removed.
93515        * ForwardingHeaders/wtf/MD5.h: Removed.
93516        * ForwardingHeaders/wtf/MainThread.h: Removed.
93517        * ForwardingHeaders/wtf/MathExtras.h: Removed.
93518        * ForwardingHeaders/wtf/MessageQueue.h: Removed.
93519        * ForwardingHeaders/wtf/MetaAllocator.h: Removed.
93520        * ForwardingHeaders/wtf/MetaAllocatorHandle.h: Removed.
93521        * ForwardingHeaders/wtf/NonCopyingSort.h: Removed.
93522        * ForwardingHeaders/wtf/Noncopyable.h: Removed.
93523        * ForwardingHeaders/wtf/NotFound.h: Removed.
93524        * ForwardingHeaders/wtf/OSAllocator.h: Removed.
93525        * ForwardingHeaders/wtf/OwnArrayPtr.h: Removed.
93526        * ForwardingHeaders/wtf/OwnPtr.h: Removed.
93527        * ForwardingHeaders/wtf/OwnPtrCommon.h: Removed.
93528        * ForwardingHeaders/wtf/PageAllocation.h: Removed.
93529        * ForwardingHeaders/wtf/PageAllocationAligned.h: Removed.
93530        * ForwardingHeaders/wtf/PageBlock.h: Removed.
93531        * ForwardingHeaders/wtf/PageReservation.h: Removed.
93532        * ForwardingHeaders/wtf/ParallelJobs.h: Removed.
93533        * ForwardingHeaders/wtf/PassOwnArrayPtr.h: Removed.
93534        * ForwardingHeaders/wtf/PassOwnPtr.h: Removed.
93535        * ForwardingHeaders/wtf/PassRefPtr.h: Removed.
93536        * ForwardingHeaders/wtf/Platform.h: Removed.
93537        * ForwardingHeaders/wtf/PossiblyNull.h: Removed.
93538        * ForwardingHeaders/wtf/RandomNumber.h: Removed.
93539        * ForwardingHeaders/wtf/RedBlackTree.h: Removed.
93540        * ForwardingHeaders/wtf/RefCounted.h: Removed.
93541        * ForwardingHeaders/wtf/RefCountedLeakCounter.h: Removed.
93542        * ForwardingHeaders/wtf/RefPtr.h: Removed.
93543        * ForwardingHeaders/wtf/RetainPtr.h: Removed.
93544        * ForwardingHeaders/wtf/SHA1.h: Removed.
93545        * ForwardingHeaders/wtf/SegmentedVector.h: Removed.
93546        * ForwardingHeaders/wtf/SimpleStats.h: Removed.
93547        * ForwardingHeaders/wtf/Spectrum.h: Removed.
93548        * ForwardingHeaders/wtf/StackBounds.h: Removed.
93549        * ForwardingHeaders/wtf/StaticConstructors.h: Removed.
93550        * ForwardingHeaders/wtf/StdLibExtras.h: Removed.
93551        * ForwardingHeaders/wtf/StringExtras.h: Removed.
93552        * ForwardingHeaders/wtf/StringHasher.h: Removed.
93553        * ForwardingHeaders/wtf/TemporaryChange.h: Removed.
93554        * ForwardingHeaders/wtf/ThreadRestrictionVerifier.h: Removed.
93555        * ForwardingHeaders/wtf/ThreadSafeRefCounted.h: Removed.
93556        * ForwardingHeaders/wtf/ThreadSpecific.h: Removed.
93557        * ForwardingHeaders/wtf/Threading.h: Removed.
93558        * ForwardingHeaders/wtf/ThreadingPrimitives.h: Removed.
93559        * ForwardingHeaders/wtf/TypeTraits.h: Removed.
93560        * ForwardingHeaders/wtf/Uint16Array.h: Removed.
93561        * ForwardingHeaders/wtf/Uint32Array.h: Removed.
93562        * ForwardingHeaders/wtf/Uint8Array.h: Removed.
93563        * ForwardingHeaders/wtf/Uint8ClampedArray.h: Removed.
93564        * ForwardingHeaders/wtf/UnusedParam.h: Removed.
93565        * ForwardingHeaders/wtf/VMTags.h: Removed.
93566        * ForwardingHeaders/wtf/ValueCheck.h: Removed.
93567        * ForwardingHeaders/wtf/Vector.h: Removed.
93568        * ForwardingHeaders/wtf/VectorTraits.h: Removed.
93569        * ForwardingHeaders/wtf/WTFThreadData.h: Removed.
93570        * ForwardingHeaders/wtf/dtoa.h: Removed.
93571        * ForwardingHeaders/wtf/dtoa/double-conversion.h: Removed.
93572        * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Removed.
93573        * ForwardingHeaders/wtf/text/AtomicString.h: Removed.
93574        * ForwardingHeaders/wtf/text/AtomicStringHash.h: Removed.
93575        * ForwardingHeaders/wtf/text/AtomicStringImpl.h: Removed.
93576        * ForwardingHeaders/wtf/text/CString.h: Removed.
93577        * ForwardingHeaders/wtf/text/StringBuffer.h: Removed.
93578        * ForwardingHeaders/wtf/text/StringBuilder.h: Removed.
93579        * ForwardingHeaders/wtf/text/StringConcatenate.h: Removed.
93580        * ForwardingHeaders/wtf/text/StringHash.h: Removed.
93581        * ForwardingHeaders/wtf/text/StringImpl.h: Removed.
93582        * ForwardingHeaders/wtf/text/TextPosition.h: Removed.
93583        * ForwardingHeaders/wtf/text/WTFString.h: Removed.
93584        * ForwardingHeaders/wtf/unicode/CharacterNames.h: Removed.
93585        * ForwardingHeaders/wtf/unicode/Collator.h: Removed.
93586        * ForwardingHeaders/wtf/unicode/UTF8.h: Removed.
93587        * ForwardingHeaders/wtf/unicode/Unicode.h: Removed.
93588        * ForwardingHeaders/wtf/unicode/icu/UnicodeIcu.h: Removed.
93589        * ForwardingHeaders/wtf/unicode/wince/UnicodeWince.h: Removed.
93590        * ForwardingHeaders/wtf/url/ParsedURL.h: Removed.
93591
935922012-03-07  Yoshifumi Inoue  <yosin@chromium.org>
93593
93594        [Forms] The "legend" element should not be a form-associated element.
93595        https://bugs.webkit.org/show_bug.cgi?id=80239
93596
93597        Reviewed by Kent Tamura.
93598
93599        This patch changes base class of HTMLLegendElement to HTMLElement from
93600        HTMLFormControlElement for saving memory space and iteration time of
93601        extra "legend" elements in HTMLFormElement::m_formAssociatedElements
93602        and matching the HTML5 specification for ease of maintenance.
93603
93604        Changes of TextIterator is lead by usage of isFormControlElement. This
93605        changes will be replaced with more meaningful predicate as part of
93606        https://bugs.webkit.org/show_bug.cgi?id=80381
93607
93608        No new tests are required. No behavior changes.
93609
93610        * editing/TextIterator.cpp:
93611        (WebCore::TextIterator::advance): Check HTMLLegendElement in addition to isFormControlElement. This change is for text dump in LayoutTests implemented by document.innerText attribute.
93612        * html/HTMLLegendElement.cpp:
93613        (WebCore::HTMLLegendElement::HTMLLegendElement): Remove form parameter.
93614        (WebCore::HTMLLegendElement::create): Remove form parameter.
93615        (WebCore::HTMLLegendElement::associatedControl): Stop checking legend element, because HTMLLegendElement is no longer HTMLFormControlElement.
93616        (WebCore::HTMLLegendElement::supportFocus): Removed. It called HTMLElement::supportFocus.
93617        (WebCore::HTMLLegendElement::formControlType): Remove implementation of virtual method declared in HTMLFormControlElement.
93618        * html/HTMLLegendElement.h:
93619        (HTMLLegendElement): Change base class to HTMLElement.
93620        * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
93621
936222012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
93623
93624        [CMake] Make the removal of transitive library dependencies work with CMake < 2.8.7.
93625        https://bugs.webkit.org/show_bug.cgi?id=80469
93626
93627        Reviewed by Antonio Gomes.
93628
93629        No new tests, this is a buildsystem change.
93630
93631        * CMakeLists.txt: Manually set the LINK_INTERFACE_LIBRARIES target
93632        property on the library being created.
93633
936342012-03-06  Lianghui Chen  <liachen@rim.com>
93635
93636        [BlackBerry] Set correct ResourceRequest target type.
93637        https://bugs.webkit.org/show_bug.cgi?id=80430
93638
93639        Reviewed by Rob Buis.
93640
93641        For loads started by AppCache, they are based on the manifest file,
93642        it is not definitely sure what target it is for, so we just guess
93643        based on its mimetype or file extension.
93644
93645        * loader/appcache/ApplicationCacheGroup.cpp:
93646        (WebCore::ApplicationCacheGroup::createResourceHandle):
93647        * loader/cache/CachedResource.cpp:
93648        (WebCore):
93649        (WebCore::CachedResource::load):
93650        * platform/network/blackberry/ResourceRequest.h:
93651        (ResourceRequest):
93652        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
93653        (WebCore):
93654        (WebCore::mimeTypeRequestTypeMap):
93655        (WebCore::ResourceRequest::targetTypeFromMimeType):
93656        * workers/DefaultSharedWorkerRepository.cpp:
93657        (WebCore::SharedWorkerScriptLoader::load):
93658        * workers/Worker.cpp:
93659        (WebCore::Worker::create):
93660        * workers/WorkerContext.cpp:
93661        (WebCore::WorkerContext::importScripts):
93662        * workers/WorkerScriptLoader.cpp:
93663        (WebCore::WorkerScriptLoader::createResourceRequest):
93664        * workers/WorkerScriptLoader.h:
93665        (WorkerScriptLoader):
93666
936672012-03-06  Dana Jansens  <danakj@chromium.org>
93668
93669        [chromium] Add clipping to scissor rect to CCOcclusionTracker
93670        https://bugs.webkit.org/show_bug.cgi?id=79927
93671
93672        Reviewed by Adrienne Walker.
93673
93674        Adds logic to CCOcclusionTracker to occlude anything outside of the
93675        current screen and target surface scissor rects. When tracking
93676        damage for partial swaps, the scissor rects are bounded by the
93677        tracked damage rects.
93678
93679        Unit tests: CCOcclusionTrackerTest.cpp
93680
93681        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp:
93682        (WebCore::::CCOcclusionTrackerBase):
93683        (WebCore):
93684        (WebCore::::markOccludedBehindLayer):
93685        (WebCore::testContentRectOccluded):
93686        (WebCore::::occluded):
93687        (WebCore::computeUnoccludedContentRect):
93688        (WebCore::::unoccludedContentRect):
93689        (WebCore::::layerScissorRect):
93690        * platform/graphics/chromium/cc/CCOcclusionTracker.h:
93691        (WebCore):
93692        (CCOcclusionTrackerDamageClientBase):
93693        (CCOcclusionTrackerBase):
93694
936952012-03-06  Kentaro Hara  <haraken@chromium.org>
93696
93697        Unreviewed, rolling out r110011.
93698        http://trac.webkit.org/changeset/110011
93699        https://bugs.webkit.org/show_bug.cgi?id=80376
93700
93701        layout tests crash
93702
93703        * bindings/v8/V8HiddenPropertyName.cpp:
93704        (WebCore):
93705        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
93706        * bindings/v8/V8HiddenPropertyName.h:
93707        (WebCore):
93708        (V8HiddenPropertyName):
93709        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
93710        (WebCore::toV8):
93711        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
93712        (WebCore::toV8):
93713        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
93714        (WebCore::toV8):
93715
937162012-03-06  Kentaro Hara  <haraken@chromium.org>
93717
93718        Unreviewed, rolling out r110016.
93719        http://trac.webkit.org/changeset/110016
93720
93721        layout tests crash
93722
93723        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
93724        (WebCore::toV8):
93725
937262012-03-06  Kentaro Hara  <haraken@chromium.org>
93727
93728        Unreviewed, fixed test crashes.
93729
93730        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
93731        (WebCore::toV8):
93732
937332012-03-06  Hajime Morrita  <morrita@chromium.org>
93734
93735        https://bugs.webkit.org/show_bug.cgi?id=79935
93736        REGRESSION: <content> element is not HTMLUnknownElement when Shadow DOM API is disabled
93737
93738        Reviewed by Adam Barth.
93739
93740        This change introduced "runtimeConditional" keyword to make_name.pl sources,
93741        which allows HTMLElementFactory and HTMLElementWrapperFactory to check RuntimeEnabledFeatures
93742        and treat any tag name as HTMLUnknownElement if its definition has runtimeConditional and
93743        the flag given is turned off.
93744
93745        Test: fast/dom/shadow/content-shadow-unknown.html
93746
93747        * WebCore.exp.in:
93748        * dom/make_names.pl:
93749        (defaultTagPropertyHash):
93750        (printConstructorInterior):
93751        (printFactoryCppFile):
93752        (printWrapperFunctions):
93753        (printWrapperFactoryCppFile):
93754        * html/HTMLTagNames.in:
93755        * html/shadow/HTMLContentElement.cpp:
93756        (WebCore::contentTagName):
93757        * testing/InternalSettings.cpp:
93758        (WebCore::InternalSettings::InternalSettings):
93759        (WebCore::InternalSettings::restoreTo):
93760        (WebCore::InternalSettings::setShadowDOMEnabled):
93761        (WebCore):
93762        * testing/InternalSettings.h:
93763        (InternalSettings):
93764        * testing/InternalSettings.idl:
93765
937662012-03-06  Kenichi Ishibashi  <bashi@chromium.org>
93767
93768        [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
93769        https://bugs.webkit.org/show_bug.cgi?id=80356
93770
93771        Reviewed by Kent Tamura.
93772
93773        Introduced ThreadableWebSocketChannel::SendResult type so that
93774        WebSocketChannel can pass the validation result.
93775
93776        No new test. No changes in behavior.
93777
93778        * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
93779        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
93780        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
93781        (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
93782        (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
93783        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
93784        (ThreadableWebSocketChannelClientWrapper):
93785        * Modules/websockets/WebSocketChannel.cpp:
93786        (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
93787        (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
93788        (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
93789        * Modules/websockets/WebSocketChannel.h:
93790        (WebSocketChannel):
93791        (QueuedFrame): Changed the type of stringData from String to CString.
93792        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
93793        (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
93794        (WebCore::workerContextDidSend): Ditto.
93795        (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
93796        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
93797        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
93798        (WorkerThreadableWebSocketChannel): ditto.
93799        (Bridge): Ditto.
93800
938012012-03-06  Kentaro Hara  <haraken@chromium.org>
93802
93803        [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
93804        Element.dataset and Node.attributes
93805        https://bugs.webkit.org/show_bug.cgi?id=80376
93806
93807        Reviewed by Adam Barth.
93808
93809        This patch improves the performance of HTMLElement.classList, Element.dataset
93810        and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
93811
93812        Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
93813        created every time the DOM attribute is accessed, in spite of the fact that
93814        the 'hiddenReferenceName' string is static.
93815
93816        This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
93817        Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
93818        since if 'element' exists, it is guaranteed that 'elementValue' is not empty
93819        and is an Object.
93820
93821        Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
93822
93823        AppleWebKit/JavaScriptCore:
93824        div.classList : 382ms
93825        div.classList.foo = 123 : 335ms
93826        div.dataset : 403ms
93827        div.dataset.foo = 123 : 5250ms
93828        div.attributes : 183ms
93829
93830        Chromium/V8 (without this patch):
93831        div.classList : 9140ms
93832        div.classList.foo = 123 : 9086ms
93833        div.dataset : 9930ms
93834        div.dataset.foo = 123 : 49698ms
93835        div.attributes : 13489ms
93836
93837        Chromium/V8 (with this patch):
93838        div.classList : 1435ms
93839        div.classList.foo = 123 : 1470ms
93840        div.dataset : 1400ms
93841        div.dataset.foo = 123 : 30396ms
93842        div.attributes : 1242ms
93843
93844        No tests. No change in behavior.
93845
93846        * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
93847        (WebCore::toV8):
93848        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
93849        (WebCore::toV8):
93850        * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
93851        (WebCore::toV8):
93852
93853        * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
93854        to optimize the macro.
93855        (WebCore):
93856        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
93857        * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
93858        and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
93859        or a hidden reference.
93860        (WebCore):
93861        (V8HiddenPropertyName):
93862
938632012-03-06  Nat Duca  <nduca@chromium.org>
93864
93865        [chromium] CCThreadProxy context lost support
93866        https://bugs.webkit.org/show_bug.cgi?id=80100
93867
93868        Reviewed by James Robinson.
93869
93870        * platform/graphics/chromium/cc/CCScheduler.cpp:
93871        (WebCore::CCScheduler::didLoseContext):
93872        (WebCore):
93873        (WebCore::CCScheduler::didRecreateContext):
93874        (WebCore::CCScheduler::processScheduledActions):
93875        * platform/graphics/chromium/cc/CCScheduler.h:
93876        (CCSchedulerClient):
93877        (CCScheduler):
93878        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
93879        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
93880        (WebCore::CCSchedulerStateMachine::nextAction):
93881        (WebCore::CCSchedulerStateMachine::updateState):
93882        (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
93883        (WebCore::CCSchedulerStateMachine::didLoseContext):
93884        (WebCore):
93885        (WebCore::CCSchedulerStateMachine::didRecreateContext):
93886        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
93887        (CCSchedulerStateMachine):
93888        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
93889        (WebCore::CCThreadProxy::recreateContext):
93890        (WebCore::CCThreadProxy::loseContext):
93891        (WebCore::CCThreadProxy::scheduledActionBeginContextRecreation):
93892        (WebCore):
93893        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
93894        (WebCore::CCThreadProxy::setAnimationEvents):
93895        (WebCore::CCThreadProxy::beginContextRecreation):
93896        (WebCore::CCThreadProxy::recreateContextOnImplThread):
93897        (WebCore::CCThreadProxy::loseContextOnImplThread):
93898        * platform/graphics/chromium/cc/CCThreadProxy.h:
93899        (CCThreadProxy):
93900
939012012-03-06  Tony Chang  <tony@chromium.org>
93902
93903        refactor method names in RenderFlexibleBox to make them more consistent
93904        https://bugs.webkit.org/show_bug.cgi?id=80446
93905
93906        Reviewed by Ojan Vafai.
93907
93908        No new tests, just renaming internal methods.
93909
93910        * rendering/RenderFlexibleBox.cpp:
93911        (WebCore::RenderFlexibleBox::flowAwareBorderAfter): New, used by layoutAndPlaceChildren
93912        (WebCore::RenderFlexibleBox::flowAwarePaddingAfter): New, used by layoutAndPlaceChildren
93913        (WebCore::RenderFlexibleBox::marginBoxAscentForChild): Add ForChild for consistency.
93914        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): We were adding the before padding+border twice (it's in the offset and
93915        crossAxisBorderAndPaddingExtent() and subtracting it once.  Instead, just add the after padding+border.
93916        (WebCore::RenderFlexibleBox::alignChildren):
93917        * rendering/RenderFlexibleBox.h:
93918        (RenderFlexibleBox): Reorder methods to match the .cpp file.
93919
939202012-03-06  Kentaro Hara  <haraken@chromium.org>
93921
93922        Unreviewed, rolling out r109969.
93923        http://trac.webkit.org/changeset/109969
93924        https://bugs.webkit.org/show_bug.cgi?id=80376
93925
93926        layout tests crash
93927
93928        * bindings/v8/V8HiddenPropertyName.cpp:
93929        (WebCore):
93930        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
93931        * bindings/v8/V8HiddenPropertyName.h:
93932        (WebCore):
93933        (V8HiddenPropertyName):
93934        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
93935        (WebCore::toV8):
93936        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
93937        (WebCore::toV8):
93938        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
93939        (WebCore::toV8):
93940
939412012-03-06  Kentaro Hara  <haraken@chromium.org>
93942
93943        Unreviewed, rolling out r109999.
93944        http://trac.webkit.org/changeset/109999
93945
93946        layout tests crash
93947
93948        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
93949        (WebCore::toV8):
93950        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
93951        (WebCore::toV8):
93952
939532012-03-06  Kentaro Hara  <haraken@chromium.org>
93954
93955        Unreviewed, fix crashes.
93956
93957        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
93958        (WebCore::toV8):
93959        * bindings/v8/custom/V8DOMTokenListCustom.cpp:
93960        (WebCore::toV8):
93961
939622012-03-06  James Robinson  <jamesr@chromium.org>
93963
93964        [chromium] Fix threaded compositing issues in WebGLLayerChromium (except for printing)
93965        https://bugs.webkit.org/show_bug.cgi?id=80459
93966
93967        Reviewed by Kenneth Russell.
93968
93969        This fixes a few wrong-thread issues in WebGLLayerChromium for threaded compositing.  The key requirements that
93970        threaded compositing imposes on LayerChromium subclasses are that the compositor's context can only be used from
93971        the compositor thread, meaning inside of updateCompositorResources() and pushPropertiesTo(), and that
93972        non-compositor contexts can only be used from the main thread. This means specifically that we can't use the
93973        DrawingBuffer's context in either of these two functions.
93974
93975        Summary of changes:
93976        *) Move the publishToPlatformLayer() call and related logic inside of paintContentsIfDirty(), which is called
93977        on the main thread.
93978        *) Move lost context tracking outside of drawsContent(), since that function is called from both threads, to a
93979        separate bool that is updated after each WebGL composite and setDrawingBuffer call.
93980
93981        Printing still doesn't work in threaded mode with this patch, I'll address that separately. Printing and lost
93982        context recovery still work as they did in the single-threaded path.
93983
93984        * platform/graphics/chromium/WebGLLayerChromium.cpp:
93985        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
93986        (WebCore::WebGLLayerChromium::drawsContent):
93987        (WebCore::WebGLLayerChromium::paintContentsIfDirty):
93988        (WebCore::WebGLLayerChromium::updateCompositorResources):
93989        (WebCore::WebGLLayerChromium::setDrawingBuffer):
93990        * platform/graphics/chromium/WebGLLayerChromium.h:
93991        (WebGLLayerChromium):
93992
939932012-03-06  Anders Carlsson  <andersca@apple.com>
93994
93995        Cracks between tiles when zoomed in
93996        https://bugs.webkit.org/show_bug.cgi?id=80460
93997        <rdar://problem/10996688>
93998
93999        Use enclosingIntRect instead of enclosedIntRect when converting from FloatRect to IntRect.
94000
94001        * platform/graphics/mac/WebLayer.mm:
94002        (drawLayerContents):
94003
940042012-03-06  Anders Carlsson  <andersca@apple.com>
94005
94006        Tile cache layers should always be clipped to the view's bounds
94007        https://bugs.webkit.org/show_bug.cgi?id=80456
94008        <rdar://problem/10996174>
94009
94010        Reviewed by Simon Fraser.
94011
94012        * rendering/RenderLayerBacking.cpp:
94013        (WebCore::RenderLayerBacking::shouldClipCompositedBounds):
94014        Factor this code out into a separate function for better clarity. Always return true if we have a tile cache layer.
94015
94016        (WebCore::RenderLayerBacking::updateCompositedBounds):
94017        Call shouldClipCompositedBounds directly.
94018
940192012-03-06  James Robinson  <jamesr@chromium.org>
94020
94021        [chromium] Null-check m_layerRenderer in CCLayerTreeHostImpl::finishAllRendering()
94022        https://bugs.webkit.org/show_bug.cgi?id=80445
94023
94024        Reviewed by Adrienne Walker.
94025
94026        Null-check CCLayerTreeHostImpl::m_layerRenderer since it won't be set if context initialiation failed for any
94027        reason.
94028
94029        Covered by new unit test in CCLayerTreeHostImplTest.
94030
94031        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
94032        (WebCore::CCLayerTreeHostImpl::finishAllRendering):
94033
940342012-03-06  Ryosuke Niwa  <rniwa@webkit.org>
94035
94036        Can't select a line of RTL text on Facebook
94037        https://bugs.webkit.org/show_bug.cgi?id=59435
94038
94039        Reviewed by Eric Seidel.
94040
94041        Deploy prevLeafChildIgnoringLineBreak and nextLeafChildIgnoringLineBreak
94042        in RenderedPosition::leftBoundaryOfBidiRun and RenderedPosition::rightBoundaryOfBidiRun.
94043
94044        Without this patch, WebKit extends selection from right to left when the user selects
94045        <span dir="rtl">ABC<br></span> from left to right by a mouse drag.
94046
94047        Test: editing/selection/select-bidi-run.html
94048
94049        * editing/RenderedPosition.cpp:
94050        (WebCore::RenderedPosition::leftBoundaryOfBidiRun):
94051        (WebCore::RenderedPosition::rightBoundaryOfBidiRun):
94052
940532012-03-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
94054
94055        undefined reference to JSC::IdentifierTable::~IdentifierTable() on EFL port
94056        https://bugs.webkit.org/show_bug.cgi?id=80282
94057
94058        Reviewed by Antonio Gomes.
94059
94060        No new tests, this is a buildsystem change.
94061
94062        Remove transitive library dependencies; they are especially
94063        dangerous when one ends up linking against WTF, JSC and then WTF
94064        again, since some symbols will not be defined.
94065
94066        Passing --no-copy-dt-needed-entries and --as-needed to the linker
94067        (which some recent Linux distros do by default) makes the issue
94068        even more evident.
94069
94070        * CMakeLists.txt: Explicitly link to WTF as WebCore uses symbols
94071        from it.
94072        * PlatformEfl.cmake: Explicitly link against libjpeg and libpng.
94073
940742012-03-06  James Robinson  <jamesr@chromium.org>
94075
94076        [chromium] REGRESSION(109469): WebGL printing busted
94077        https://bugs.webkit.org/show_bug.cgi?id=80450
94078
94079        Reviewed by Kenneth Russell.
94080
94081        Avoid marking layers as needing display in setContentsTo...() since this breaks WebGL's damage tracking and is
94082        unnecessary.
94083
94084        Tested WebGL printing manually.
94085
94086        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
94087        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
94088        (WebCore::GraphicsLayerChromium::setContentsToMedia):
94089
940902012-03-06  Adrienne Walker  <enne@google.com>
94091
94092        Overlap map for compositing should ignore empty layers
94093        https://bugs.webkit.org/show_bug.cgi?id=63499
94094
94095        Reviewed by Simon Fraser.
94096
94097        Test: compositing/layer-creation/overlap-empty-layer.html
94098
94099        * rendering/RenderLayerCompositor.cpp:
94100        (WebCore::RenderLayerCompositor::addToOverlapMap):
94101        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
94102
941032012-03-06  Vangelis Kokkevis  <vangelis@chromium.org>
94104
94105        [chromium] Increase the accelerated canvas min size to 256 * 256
94106        https://bugs.webkit.org/show_bug.cgi?id=80451
94107
94108        Reviewed by Stephen White.
94109
94110        Test: Manually
94111
94112        * page/Settings.cpp:
94113        (WebCore::Settings::Settings):
94114
941152012-03-06  Kentaro Hara  <haraken@chromium.org>
94116
94117        [V8][Performance] Optimize V8 bindings for HTMLElement.classList,
94118        Element.dataset and Node.attributes
94119        https://bugs.webkit.org/show_bug.cgi?id=80376
94120
94121        Reviewed by Adam Barth.
94122
94123        This patch improves the performance of HTMLElement.classList, Element.dataset
94124        and Node.attributes by 6.4 times, 7.1 times and 10.9 times, respectively.
94125
94126        Previously, a 'hiddenReferenceName' string was allocated on v8::Handle and
94127        created every time the DOM attribute is accessed, in spite of the fact that
94128        the 'hiddenReferenceName' string is static.
94129
94130        This patch moves the 'hiddenReferenceName' string to v8::Persistent and makes it static.
94131        Also, this patch removes 'if (!elementValue.IsEmpty() && elementValue->IsObject())',
94132        since if 'element' exists, it is guaranteed that 'elementValue' is not empty
94133        and is an Object.
94134
94135        Performance tests: https://bugs.webkit.org/attachment.cgi?id=130283
94136
94137        AppleWebKit/JavaScriptCore:
94138        div.classList : 382ms
94139        div.classList.foo = 123 : 335ms
94140        div.dataset : 403ms
94141        div.dataset.foo = 123 : 5250ms
94142        div.attributes : 183ms
94143
94144        Chromium/V8 (without this patch):
94145        div.classList : 9140ms
94146        div.classList.foo = 123 : 9086ms
94147        div.dataset : 9930ms
94148        div.dataset.foo = 123 : 49698ms
94149        div.attributes : 13489ms
94150
94151        Chromium/V8 (with this patch):
94152        div.classList : 1435ms
94153        div.classList.foo = 123 : 1470ms
94154        div.dataset : 1400ms
94155        div.dataset.foo = 123 : 30396ms
94156        div.attributes : 1242ms
94157
94158        No tests. No change in behavior.
94159
94160        * bindings/v8/custom/V8DOMStringMapCustom.cpp: Modified as described above.
94161        (WebCore::toV8):
94162        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Ditto.
94163        (WebCore::toV8):
94164        * bindings/v8/custom/V8NamedNodeMapCustom.cpp: Ditto.
94165        (WebCore::toV8):
94166
94167        * bindings/v8/V8HiddenPropertyName.cpp: Defined a hidden property name string statically
94168        to optimize the macro.
94169        (WebCore):
94170        (WebCore::V8HiddenPropertyName::hiddenReferenceName):
94171        * bindings/v8/V8HiddenPropertyName.h: Modified to switch two prefixes "WebCore::HiddenProperty::"
94172        and "WebCore::HiddenReference::", depending on whether a given name represents a hidden property
94173        or a hidden reference.
94174        (WebCore):
94175        (V8HiddenPropertyName):
94176
941772012-03-06  Alexis Menard  <alexis.menard@openbossa.org>
94178
94179        getComputedStyle returns incorrect values for the width and height of pseudo-elements
94180        https://bugs.webkit.org/show_bug.cgi?id=37835
94181
94182        Reviewed by Tony Chang.
94183
94184        In case we are querying the computed style of an element with a pseudo-element we can't use
94185        the renderer of the element as this one is not the one used to render the pseudo-element. We need
94186        to use the one created to render the pseudo-element.
94187
94188        No new tests : Extend the existing getComputedStyle-with-pseudo-element.
94189
94190        * css/CSSComputedStyleDeclaration.cpp:
94191        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
94192
941932012-03-06  Shawn Singh  <shawnsingh@chromium.org>
94194
94195        [chromium] Make compositeAndReadback and damage tracking play nicely together
94196        https://bugs.webkit.org/show_bug.cgi?id=80199
94197
94198        Reviewed by James Robinson.
94199
94200        Requires system-level testing (pixels on front-buffer should be
94201        observed for correct behavior) that cannot be done by layout tests
94202        or unit tests, have to rely on manual testing.
94203
94204        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
94205        (WebCore::CCSingleThreadProxy::compositeAndReadback):
94206
942072012-03-06  Luke Macpherson   <macpherson@chromium.org>
94208
94209        Make CSSStyleSelector::convertToLength() behave more like CSSPrimitiveValue::convertToLength().
94210        https://bugs.webkit.org/show_bug.cgi?id=80375
94211
94212        Reviewed by Eric Seidel.
94213
94214        No new tests / cleanup only.
94215
94216        This patch removes the bool* ok parameter from CSSStyleSelector's convertToLength,
94217        and instead uses the recently added Length(Undefined) value to indicate failure.
94218        This paves the way for a future patch that will call primitiveValue->convertToLength directly.
94219
94220        * css/CSSStyleSelector.cpp:
94221        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
94222
942232012-03-06  Raymes Khoury  <raymes@chromium.org>
94224
94225        Add state variable and ASSERTs to DocumentWriter to help track down
94226        https://bugs.webkit.org/show_bug.cgi?id=80427 and prevent illegal usage
94227        of DocumentWriter. This also makes endIfNotLoadingMainResource() private
94228        as there is no external usage.
94229
94230        Reviewed by Adam Barth.
94231
94232        This only adds ASSERT/CRASH and does not change existing behaviour.
94233
94234        * loader/DocumentWriter.cpp:
94235        (WebCore::DocumentWriter::DocumentWriter):
94236        (WebCore::DocumentWriter::begin):
94237        (WebCore::DocumentWriter::addData):
94238        (WebCore::DocumentWriter::endIfNotLoadingMainResource):
94239        (WebCore::DocumentWriter::setDocumentWasLoadedAsPartOfNavigation):
94240        * loader/DocumentWriter.h:
94241        (DocumentWriter):
94242
942432012-03-06  Mihnea Ovidenie  <mihnea@adobe.com>
94244
94245        [CSSRegions][CSSOM]Restrict parsing of named flow name
94246        https://bugs.webkit.org/show_bug.cgi?id=80359
94247
94248        Reviewed by Andreas Kling.
94249
94250        The function that does the parsing for flow thread name should restrict the
94251        number of parsed properties to 1, otherwise it would allow parsing of
94252        "-webkit-flow-into: flow; color: red;" constructions.
94253
94254        Modified fast/regions/webkit-named-flow-invalid-name.html to include the above case.
94255
94256        * css/CSSParser.cpp:
94257        (WebCore::validFlowName):
94258        (WebCore::CSSParser::parseFlowThread):
94259
942602012-03-06  Joseph Pecoraro  <pecoraro@apple.com>
94261
94262        Unreviewed build fix for minimal build after r109939.
94263
94264        Guard access to page->inspectorController with ENABLE(INSPECTOR).
94265
94266        * page/FrameView.cpp:
94267        (WebCore::FrameView::performPostLayoutTasks):
94268
942692012-03-05  Dean Jackson  <dino@apple.com>
94270
94271        Enable compositing when a CSS filter is animating
94272        https://bugs.webkit.org/show_bug.cgi?id=79048
94273
94274        Reviewed by Simon Fraser.
94275
94276        Now that some systems (e.g. OS X) have both hardware accelerated
94277        CSS filters, and the ability to animate them via the hardware
94278        compositor, all CSS filters should be composited when animating.
94279
94280        Tests: css3/filters/composited-during-animation-layertree.html
94281               css3/filters/composited-during-animation.html
94282               css3/filters/composited-during-transition-layertree.html
94283
94284        * platform/graphics/ca/GraphicsLayerCA.cpp:
94285        (WebCore):
94286        (WebCore::supportsAcceleratedFilterAnimations):
94287            new method that returns true if the platform supports
94288            hardware animations of filters.
94289        (WebCore::GraphicsLayerCA::addAnimation):
94290        (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
94291            only create layer-animations if the platform supports it.
94292        * rendering/RenderLayerCompositor.cpp:
94293        (WebCore::RenderLayerCompositor::requiresCompositingForAnimation):
94294            create a compositing layer if animating a filter on a
94295            supported platform.
94296
942972012-03-06  Stephen White  <senorblanco@chromium.org>
94298
94299        Unreviewed, rolling out r109825.
94300        http://trac.webkit.org/changeset/109825
94301        https://bugs.webkit.org/show_bug.cgi?id=79413
94302
94303        Broke webkit_unit_tests on Chromium Win
94304
94305        * Modules/indexeddb/IDBLevelDBBackingStore.cpp:
94306        (WebCore::IDBLevelDBBackingStore::open):
94307        * platform/leveldb/LevelDBDatabase.cpp:
94308        (WebCore):
94309        * platform/leveldb/LevelDBDatabase.h:
94310        (LevelDBDatabase):
94311
943122012-03-06  Beth Dakin  <bdakin@apple.com>
94313
94314        https://bugs.webkit.org/show_bug.cgi?id=80351
94315        InlineTextBox is using the wrong origin when calling 
94316        addRelevantRepaintedObject
94317        -and corresponding-
94318        <rdar://problem/10970221>
94319
94320        Reviewed by Sam Weinig.
94321
94322        boxOrigin represents the actual location of the text. The adjustedPaintOffset 
94323        (which I was using previously) will only correspond to the first line in a 
94324        block of lines.
94325        * rendering/InlineTextBox.cpp:
94326        (WebCore::InlineTextBox::paint):
94327
943282012-03-06  Filip Spacek  <fspacek@rim.com>
94329
94330        [BlackBerry] Disable border radius clips (r95239) for BlackBerry
94331        https://bugs.webkit.org/show_bug.cgi?id=80416
94332
94333        Reviewed by Antonio Gomes
94334
94335        The BlackBerry port suffers from the same performance
94336        degradation when border radius clip is enabled as Chromium.
94337
94338        * rendering/RenderLayer.cpp:
94339
943402012-03-06  Stephen White  <senorblanco@chromium.org>
94341
94342        Unreviewed, rolling out r109832.
94343        http://trac.webkit.org/changeset/109832
94344        https://bugs.webkit.org/show_bug.cgi?id=80356
94345
94346        Broke WebSocket tests on Chrome Mac and Linux
94347
94348        * Modules/websockets/ThreadableWebSocketChannel.h:
94349        (ThreadableWebSocketChannel):
94350        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
94351        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
94352        (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult):
94353        (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult):
94354        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
94355        (ThreadableWebSocketChannelClientWrapper):
94356        * Modules/websockets/WebSocket.cpp:
94357        (WebCore::WebSocket::send):
94358        * Modules/websockets/WebSocketChannel.cpp:
94359        (WebCore::WebSocketChannel::send):
94360        (WebCore::WebSocketChannel::enqueueTextFrame):
94361        (WebCore::WebSocketChannel::processOutgoingFrameQueue):
94362        * Modules/websockets/WebSocketChannel.h:
94363        (WebSocketChannel):
94364        (QueuedFrame):
94365        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
94366        (WebCore::WorkerThreadableWebSocketChannel::send):
94367        (WebCore::workerContextDidSend):
94368        (WebCore::WorkerThreadableWebSocketChannel::Peer::send):
94369        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send):
94370        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
94371        (WorkerThreadableWebSocketChannel):
94372        (Bridge):
94373
943742012-03-06  Stephen White  <senorblanco@chromium.org>
94375
94376        Unreviewed, rolling out r109840.
94377        http://trac.webkit.org/changeset/109840
94378        https://bugs.webkit.org/show_bug.cgi?id=80103
94379
94380        Broke WebSocket tests on Chrome Mac and Linux
94381
94382        * Modules/websockets/WebSocket.cpp:
94383        (WebCore::WebSocket::send):
94384        (WebCore::WebSocket::close):
94385        * Modules/websockets/WebSocketChannel.cpp:
94386        (WebCore::WebSocketChannel::send):
94387
943882012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
94389
94390        <http://webkit.org/b/78575> Web Inspector: Disable dock button when not allowed to dock
94391
94392        There are times when an undocked inspector frontend is not allowed to
94393        attach to the main window. We can disable the dock button in those cases.
94394
94395        Reviewed by Pavel Feldman.
94396
94397        No new tests. This functionality is port specific right now.
94398
94399        * page/FrameView.cpp:
94400        (WebCore::FrameView::performPostLayoutTasks):
94401        When the main frame is resized we let the inspector client know,
94402        so that it can react to it as needed.
94403
94404        * WebCore.exp.in:
94405        * inspector/InspectorClient.h:
94406        (WebCore::InspectorClient::didResizeMainFrame):
94407        * inspector/InspectorController.cpp:
94408        * inspector/InspectorController.h:
94409        (WebCore::InspectorController::inspectorClient):
94410        Call up to the port though to the InspectorClient.
94411
94412        * inspector/InspectorFrontendClientLocal.cpp:
94413        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
94414        (WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
94415        * inspector/InspectorFrontendClientLocal.h:
94416        On ports where the inspector frontend client is local, provide a 
94417        setDockingUnavailable InspectorFrontendAPI to update the docking state.
94418        Automatically update availability when the frontend completes loading.
94419
94420        * inspector/front-end/InspectorFrontendAPI.js:
94421        (InspectorFrontendAPI.setDockingUnavailable):
94422        * inspector/front-end/inspector.js:
94423        (WebInspector._createGlobalStatusBarItems):
94424        (WebInspector.setAttachedWindow):
94425        (WebInspector.setDockingUnavailable):
94426        (WebInspector.updateDockToggleButton):
94427        Update the dock button's enabled/disabled state when its created,
94428        when the attached state changes, when get a frontend API notification
94429        that we cannot attach.
94430
94431        * inspector/front-end/InspectorFrontendHostStub.js:
94432        Remove unused canAttachWindow method.
94433
944342012-03-06  Hans Wennborg  <hans@chromium.org>
94435
94436        Speech JavaScript API: add SpeechRecognitionError
94437        https://bugs.webkit.org/show_bug.cgi?id=80410
94438
94439        Reviewed by Adam Barth.
94440
94441        Add SpeechRecognitionError.
94442
94443        Test: fast/speech/scripted/speechrecognitionerror-basics.html
94444
94445        * Modules/speech/DOMWindowSpeech.idl: Added.
94446        * Modules/speech/SpeechRecognitionError.cpp: Added.
94447        (WebCore):
94448        (WebCore::SpeechRecognitionError::create):
94449        (WebCore::SpeechRecognitionError::SpeechRecognitionError):
94450        * Modules/speech/SpeechRecognitionError.h: Added.
94451        (WebCore):
94452        (SpeechRecognitionError):
94453        (WebCore::SpeechRecognitionError::code):
94454        (WebCore::SpeechRecognitionError::message):
94455        * Modules/speech/SpeechRecognitionError.idl: Added.
94456        * WebCore.gyp/WebCore.gyp:
94457        * WebCore.gypi:
94458
944592012-03-06  David Corvoysier  <david.corvoysier@orange.com>
94460
94461        Unreleased gst_object_reference to audio sink in MediaPlayerPrivateGStreamer
94462        https://bugs.webkit.org/show_bug.cgi?id=79795
94463
94464        Bug fix: Used a GRefPtr to hold the reference to the audio sink instead of a GstElement*.
94465        Code cleanup: Used the same pattern for webkit web source and removed explicit gst_unref in destructor.
94466
94467        Reviewed by Philippe Normand.
94468
94469        No new tests. No change in behavior.
94470
94471        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
94472        (WebCore::MediaPlayerPrivateGStreamer::~MediaPlayerPrivateGStreamer):
94473        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
94474        (MediaPlayerPrivateGStreamer):
94475
944762012-03-06  Patrick Gansterer  <paroga@webkit.org>
94477
94478        [CMake] Build fix for !ENABLE(WORKERS) after r109556 and r109833.
94479
94480        * CMakeLists.txt:
94481
944822012-03-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
94483
94484        [Qt][WK2] Crash in Frame.cpp when loading index.hu
94485        https://bugs.webkit.org/show_bug.cgi?id=80165
94486
94487        Guard against possible null document, which can happen
94488        when unsetting a document in a frame.
94489
94490        Reviewed by Kenneth Rohde Christiansen.
94491
94492        * page/Frame.cpp:
94493        (WebCore::Frame::setDocument):
94494
944952012-03-06  Lucas Forschler  <lforschler@apple.com>
94496
94497        WebCore build exceeds address space on 32-bit Windows builds.
94498        https://bugs.webkit.org/show_bug.cgi?id=80346
94499
94500        Reviewed by Jessie Berlin.
94501
94502        Patch by Lucas Forschler, landed by Jessie Berlin.
94503
94504        Add AllInOne.cpp files for a few projects.
94505        This will only affect Production and Release builds.
94506        Let VS rebuild the project file.
94507
94508        * WebCore.vcproj/WebCore.vcproj:
94509        * css/MediaAllInOne.cpp: Added.
94510        * loader/appcache/ApplicationCacheAllInOne.cpp: Added.
94511        * mathml/MathMLAllInOne.cpp: Added.
94512        * platform/text/TextAllInOne.cpp: Added.
94513
945142012-03-06  Pavel Feldman  <pfeldman@chromium.org>
94515
94516        Web Inspector: add support for inspection of huge (1M elements) arrays.
94517        https://bugs.webkit.org/show_bug.cgi?id=80421
94518
94519        Reviewed by Vsevolod Vlasov.
94520
94521        * inspector/front-end/ConsoleView.js:
94522        (WebInspector.ConsoleView.prototype.completionsForExpression.evaluated):
94523        * inspector/front-end/ElementsPanel.js:
94524        * inspector/front-end/ObjectPropertiesSection.js:
94525        (WebInspector.ObjectPropertiesSection.prototype.update.callback):
94526        (WebInspector.ObjectPropertiesSection.prototype.update):
94527        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
94528        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
94529        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
94530        (WebInspector.ArrayGroupingTreeElement):
94531        (WebInspector.ArrayGroupingTreeElement._populateArray):
94532        (WebInspector.ArrayGroupingTreeElement._populateRanges):
94533        (WebInspector.ArrayGroupingTreeElement._populateRanges.callback):
94534        (WebInspector.ArrayGroupingTreeElement._populateAsFragment):
94535        (WebInspector.ArrayGroupingTreeElement._populateAsFragment.processArrayFragment):
94536        (WebInspector.ArrayGroupingTreeElement._populateAsFragment.processProperties):
94537        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.buildObjectFragment):
94538        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.processObjectFragment):
94539        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties.processProperties):
94540        (WebInspector.ArrayGroupingTreeElement._populateNonIndexProperties):
94541        (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
94542        (WebInspector.ArrayGroupingTreeElement.prototype.onattach):
94543        * inspector/front-end/PropertiesSidebarPane.js:
94544        (WebInspector.PropertiesSidebarPane.prototype.update.nodeResolved):
94545        * inspector/front-end/RemoteObject.js:
94546        (WebInspector.RemoteObject.prototype.callFunction):
94547        (WebInspector.RemoteObject.prototype.callFunctionJSON):
94548
945492012-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
94550
94551        Web Inspector: Open link in resources panel only works the second time
94552        https://bugs.webkit.org/show_bug.cgi?id=80407
94553
94554        Reviewed by Pavel Feldman.
94555
94556        * inspector/front-end/inspector.js:
94557        (WebInspector.openResource):
94558
945592012-03-02  Yury Semikhatsky  <yurys@chromium.org>
94560
94561        Web Inspector: InspectorCounters mechanism should be thread-safe
94562        https://bugs.webkit.org/show_bug.cgi?id=80166
94563
94564        Make InspectorCounters instance thread local so that it can be safely accessed
94565        in workers.
94566
94567        Reviewed by Pavel Feldman.
94568
94569        * bindings/js/JSEventListener.cpp:
94570        (WebCore::JSEventListener::JSEventListener):
94571        (WebCore::JSEventListener::~JSEventListener):
94572        * bindings/v8/V8AbstractEventListener.cpp:
94573        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
94574        (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
94575        * dom/Document.cpp:
94576        (WebCore::Document::Document):
94577        (WebCore::Document::~Document):
94578        * dom/Document.h:
94579        (WebCore::Node::Node):
94580        * dom/Node.cpp:
94581        (WebCore::Node::~Node):
94582        * inspector/InspectorCounters.cpp:
94583        (WebCore::InspectorCounters::InspectorCounters):
94584        (WebCore::InspectorCounters::counterValue):
94585        (WebCore):
94586        (WebCore::InspectorCounters::current):
94587        * inspector/InspectorCounters.h:
94588        (WebCore::InspectorCounters::incrementCounter):
94589        (WebCore::InspectorCounters::decrementCounter):
94590        (InspectorCounters):
94591        * inspector/InspectorTimelineAgent.cpp:
94592        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
94593        * platform/ThreadGlobalData.cpp:
94594        (WebCore::ThreadGlobalData::ThreadGlobalData):
94595        (WebCore::ThreadGlobalData::destroy):
94596        * platform/ThreadGlobalData.h:
94597        (WebCore):
94598        (ThreadGlobalData):
94599        (WebCore::ThreadGlobalData::inspectorCounters):
94600
946012012-03-06  Leo Yang  <leo.yang@torchmobile.com.cn>
94602
94603        [BlackBerry] Upstream typedef of NativeImageSourcePtr and NativeImagePtr
94604        https://bugs.webkit.org/show_bug.cgi?id=80388
94605
94606        Reviewed by Antonio Gomes.
94607
94608        These are the BlackBerry typdefs of NativeImageSourcePtr and NativeImagePtr.
94609
94610        * platform/graphics/ImageSource.h:
94611        (WebCore):
94612
946132012-03-06  Hans Muller  <hmuller@adobe.com>
94614
94615        SVG transform-origin presentation attribute
94616        https://bugs.webkit.org/show_bug.cgi?id=79678
94617
94618        Reviewed by Nikolas Zimmermann.
94619
94620        Added the SVG transform-origin presentation attribute.  Currently WebCore::mapAttributeToCSSProperty()
94621        just maps it to -webkit-transform-origin.  When the transform-origin CSS property is supported, this
94622        part of the change can be removed.
94623
94624        Test: svg/transforms/transform-origin-presentation-attribute.xhtml
94625
94626        * svg/SVGStyledElement.cpp:
94627        (WebCore::mapAttributeToCSSProperty):
94628        (WebCore::SVGStyledElement::cssPropertyIdForSVGAttributeName):
94629        * svg/svgattrs.in:
94630
946312012-01-26  Philippe Normand  <pnormand@igalia.com>
94632
94633        [GStreamer] disable GStreamerGWorld when building against 0.11
94634        https://bugs.webkit.org/show_bug.cgi?id=77088
94635
94636        Reviewed by Martin Robinson.
94637
94638        Don't build GStreamerGWorld and PlatformVideoWindow under
94639        GStreamer 0.11. It's supposed to be removed soon anyway.
94640
94641        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
94642        * platform/graphics/gstreamer/GStreamerGWorld.h:
94643        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
94644        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
94645        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.h:
94646        (MediaPlayerPrivateGStreamer):
94647        * platform/graphics/gstreamer/PlatformVideoWindow.h:
94648        * platform/graphics/gstreamer/PlatformVideoWindowEfl.cpp:
94649        * platform/graphics/gstreamer/PlatformVideoWindowGtk.cpp:
94650        * platform/graphics/gstreamer/PlatformVideoWindowMac.mm:
94651        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
94652
946532012-03-06  Alexander Færøy  <alexander.faeroy@nokia.com>
94654
94655        Rename m_tileCreationTimer in the tiled backing store
94656        https://bugs.webkit.org/show_bug.cgi?id=80414
94657
94658        Patch by Kenneth Rohde Christiansen and Alexander Færøy.
94659
94660        Reviewed by Tor Arne Vestbø.
94661
94662        The m_tileCreationTimer member is currently being used to represent a
94663        timer that is fired when the backing store has been updated which is
94664        confusing with its current name.  This patch fixes this by renaming
94665        the m_tileCreationTimer to m_backingStoreUpdateTimer.
94666
94667        * platform/graphics/TiledBackingStore.cpp:
94668        (WebCore::TiledBackingStore::TiledBackingStore):
94669        (WebCore::TiledBackingStore::setTileSize):
94670        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
94671        (WebCore::TiledBackingStore::createTiles):
94672        (WebCore::TiledBackingStore::startBackingStoreUpdateTimer):
94673        (WebCore::TiledBackingStore::backingStoreUpdateTimerFired):
94674        (WebCore::TiledBackingStore::setContentsFrozen):
94675        * platform/graphics/TiledBackingStore.h:
94676        (TiledBackingStore):
94677
946782012-03-06  Alexander Færøy  <alexander.faeroy@nokia.com>
94679
94680        Remove TileTimer typedef from the tiled backing store
94681        https://bugs.webkit.org/show_bug.cgi?id=80408
94682
94683        Patch by Kenneth Rohde Christiansen and Alexander Færøy.
94684
94685        Reviewed by Tor Arne Vestbø.
94686
94687        * platform/graphics/TiledBackingStore.cpp:
94688        (WebCore::TiledBackingStore::tileBufferUpdateTimerFired):
94689        (WebCore::TiledBackingStore::tileCreationTimerFired):
94690        * platform/graphics/TiledBackingStore.h:
94691        (TiledBackingStore):
94692
946932012-03-06  Robin Cao  <robin.cao@torchmobile.com.cn>
94694
94695        [BlackBerry] Upstream LayerRenderer.{h, cpp}
94696        https://bugs.webkit.org/show_bug.cgi?id=79874
94697
94698        Reviewed by Antonio Gomes.
94699
94700        Initial upstream, no new tests.
94701
94702        * platform/graphics/blackberry/LayerRenderer.cpp: Added.
94703        (WebCore):
94704        (WebCore::checkGLError):
94705        (WebCore::loadShader):
94706        (WebCore::loadShaderProgram):
94707        (WebCore::orthoMatrix):
94708        (WebCore::rawPtrVectorFromRefPtrVector):
94709        (WebCore::LayerRenderer::create):
94710        (WebCore::LayerRenderer::LayerRenderer):
94711        (WebCore::LayerRenderer::~LayerRenderer):
94712        (WebCore::LayerRenderer::releaseLayerResources):
94713        (WebCore::compareLayerZ):
94714        (WebCore::LayerRenderer::drawLayers):
94715        (WebCore::LayerRenderer::useSurface):
94716        (WebCore::LayerRenderer::drawLayersOnSurfaces):
94717        (WebCore::LayerRenderer::setRootLayer):
94718        (WebCore::LayerRenderer::addLayer):
94719        (WebCore::LayerRenderer::removeLayer):
94720        (WebCore::LayerRenderer::addLayerToReleaseTextureResourcesList):
94721        (WebCore::LayerRenderer::toOpenGLWindowCoordinates):
94722        (WebCore::LayerRenderer::toWebKitWindowCoordinates):
94723        (WebCore::LayerRenderer::toWebKitDocumentCoordinates):
94724        (WebCore::LayerRenderer::drawDebugBorder):
94725        (WebCore::LayerRenderer::drawHolePunchRect):
94726        (WebCore::LayerRenderer::updateLayersRecursive):
94727        (WebCore::hasRotationalComponent):
94728        (WebCore::LayerRenderer::layerAlreadyOnSurface):
94729        (WebCore::collect3DPreservingLayers):
94730        (WebCore::LayerRenderer::compositeLayersRecursive):
94731        (WebCore::LayerRenderer::updateScissorIfNeeded):
94732        (WebCore::LayerRenderer::makeContextCurrent):
94733        (WebCore::LayerRenderer::bindCommonAttribLocation):
94734        (WebCore::LayerRenderer::initializeSharedGLObjects):
94735        (WebCore::LayerRenderingResults::holePunchRect):
94736        (WebCore::LayerRenderingResults::addHolePunchRect):
94737        (WebCore::LayerRenderingResults::addDirtyRect):
94738        (WebCore::LayerRenderingResults::isEmpty):
94739        * platform/graphics/blackberry/LayerRenderer.h: Added.
94740        (WebCore):
94741        (LayerRenderingResults):
94742        (WebCore::LayerRenderingResults::LayerRenderingResults):
94743        (WebCore::LayerRenderingResults::holePunchRectSize):
94744        (WebCore::LayerRenderingResults::dirtyRect):
94745        (LayerRenderer):
94746        (WebCore::LayerRenderer::rootLayer):
94747        (WebCore::LayerRenderer::hardwareCompositing):
94748        (WebCore::LayerRenderer::setClearSurfaceOnDrawLayers):
94749        (WebCore::LayerRenderer::clearSurfaceOnDrawLayers):
94750        (WebCore::LayerRenderer::context):
94751        (WebCore::LayerRenderer::lastRenderingResults):
94752        (WebCore::LayerRenderer::setNeedsCommit):
94753
947542012-03-06  Roland Steiner  <rolandsteiner@chromium.org>
94755
94756        r109563 caused perf regression
94757        https://bugs.webkit.org/show_bug.cgi?id=80404
94758
94759        Add test for Element or ShadowRoot.
94760
94761        Reviewed by Antti Koivisto.
94762
94763        No new tests. (fix)
94764
94765        * css/CSSStyleSelector.cpp:
94766        (WebCore::CSSStyleSelector::pushParentElement):
94767
947682012-03-06  Pavel Podivilov  <podivilov@chromium.org>
94769
94770        Web Inspector: prepare for extracting ScriptMapping implementation from DebuggerPresentationModel.
94771        https://bugs.webkit.org/show_bug.cgi?id=80396
94772
94773        Limit RawSourceCode usages to a subset of methods. This subset will be moved to ScriptMapping implementation in a separate change.
94774
94775        Reviewed by Vsevolod Vlasov.
94776
94777        * inspector/front-end/DebuggerPresentationModel.js:
94778        (WebInspector.DebuggerPresentationModel):
94779        (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
94780        (WebInspector.DebuggerPresentationModel.prototype.createLiveLocation):
94781        (WebInspector.DebuggerPresentationModel.prototype._parsedScriptSource):
94782        (WebInspector.DebuggerPresentationModel.prototype._failedToParseScriptSource):
94783        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
94784        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
94785        (WebInspector.DebuggerPresentationModel.prototype._forceUpdateSourceMapping):
94786        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
94787        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
94788        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
94789        (WebInspector.PresentationCallFrame):
94790        (WebInspector.PresentationCallFrame.prototype.uiLocation):
94791        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
94792        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
94793        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
94794        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._uiSourceCodeForResource):
94795        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
94796
947972012-03-06  Vsevolod Vlasov  <vsevik@chromium.org>
94798
94799        Web Inspector: [Regression] Execution line is not revealed when debugger is stopped if scripts panel was not yet shown.
94800        https://bugs.webkit.org/show_bug.cgi?id=80306
94801
94802        Reviewed by Pavel Feldman.
94803
94804        Test: inspector/debugger/reveal-execution-line.html
94805
94806        * inspector/front-end/ConsoleView.js:
94807        * inspector/front-end/DebuggerPresentationModel.js:
94808        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
94809        * inspector/front-end/JavaScriptSourceFrame.js:
94810        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
94811        (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
94812        * inspector/front-end/ScriptsPanel.js:
94813        (WebInspector.ScriptsPanel.prototype._executionLineChanged):
94814        (WebInspector.ScriptsPanel.prototype._revealExecutionLine):
94815        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
94816        * inspector/front-end/SourceFrame.js:
94817        (WebInspector.SourceFrame.prototype.willHide):
94818        (WebInspector.SourceFrame.prototype.highlightLine):
94819        (WebInspector.SourceFrame.prototype.revealLine):
94820        (WebInspector.SourceFrame.prototype._clearLineToReveal):
94821        (WebInspector.SourceFrame.prototype.setContent):
94822
948232012-03-06  Pavel Podivilov  <podivilov@chromium.org>
94824
94825        Web Inspector: remove reference to RawSourceCode from UISourceCode.
94826        https://bugs.webkit.org/show_bug.cgi?id=80395
94827
94828        Reviewed by Vsevolod Vlasov.
94829
94830        * inspector/compile-front-end.sh:
94831        * inspector/front-end/DebuggerPresentationModel.js:
94832        (WebInspector.DebuggerPresentationModel):
94833        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
94834        (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
94835        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
94836        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource.didEditScriptSource):
94837        (WebInspector.DebuggerPresentationModel.prototype.setScriptSource):
94838        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
94839        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
94840        * inspector/front-end/RawSourceCode.js:
94841        (WebInspector.RawSourceCode.prototype._createUISourceCode):
94842        * inspector/front-end/UISourceCode.js:
94843        (WebInspector.UISourceCode):
94844
948452012-03-06  Andrey Kosyakov  <caseq@chromium.org>
94846
94847        Web Inspector: move timeline panel overview mode toggle buttons to overview sidebar tree
94848        https://bugs.webkit.org/show_bug.cgi?id=80304
94849
94850        Reviewed by Pavel Feldman.
94851
94852        * inspector/front-end/Images/statusbarButtonGlyphs.png:
94853        * inspector/front-end/Settings.js:
94854        (WebInspector.ExperimentsSettings):
94855        * inspector/front-end/TimelineOverviewPane.js:
94856        (WebInspector.TimelineOverviewPane):
94857        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
94858        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
94859        (WebInspector.TimelineOverviewPane.prototype._setVerticalOverview):
94860        (WebInspector.TimelineOverviewPane.prototype._onOverviewModeChanged):
94861        (WebInspector.TimelineOverviewPane.prototype.update):
94862        (WebInspector.TimelineOverviewPane.prototype.reset):
94863        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
94864        (WebInspector.TimelineVerticalOverview):
94865        (WebInspector.TimelineOverviewModeSelector):
94866        (WebInspector.TimelineOverviewModeSelector.prototype.addButton):
94867        (WebInspector.TimelineOverviewModeSelector.prototype.get value):
94868        (WebInspector.TimelineOverviewModeSelector.prototype._createButton):
94869        (WebInspector.TimelineOverviewModeSelector.prototype._select):
94870        (WebInspector.TimelineOverviewModeSelector.prototype._onClick):
94871        * inspector/front-end/TimelinePanel.js:
94872        (WebInspector.TimelinePanel):
94873        (WebInspector.TimelinePanel.prototype.get statusBarItems):
94874        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
94875        (WebInspector.TimelinePanel.prototype._updateEventDividers):
94876        (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
94877        (WebInspector.TimelinePanel.prototype.revealRecordAt):
94878        * inspector/front-end/inspector.css:
94879        * inspector/front-end/timelinePanel.css:
94880        (.timeline-vertical-overview #timeline-overview-grid):
94881        (.timeline-vertical-overview .timeline-overview-window):
94882        (.timeline-vertical-overview .timeline-overview-dividers-background):
94883        (.timeline-vertical-overview #timeline-overview-memory):
94884        (.timeline-vertical-overview-status-bar-item.toggled-on .glyph):
94885        (.timeline-vertical-overview-bars):
94886        (.timeline-vertical-overview-bars .padding):
94887        (.timeline-vertical-overview-bars .timeline-bar-vertical):
94888        (.timeline.timeline-vertical-overview .resources-divider):
94889        (.sidebar-tree-item .timeline-vertical-overview-status-bar-item):
94890        (.timeline-overview-mode-selector):
94891        (.timeline-overview-mode-selector .glyph):
94892        (.timeline-overview-mode-selector button):
94893        (.timeline-overview-mode-selector button.toggled):
94894        (.timeline-overview-mode-selector button:active):
94895        (.sidebar-tree-item:not(.selected) .timeline-overview-mode-selector button):
94896        (.sidebar-tree-item:not(.selected) .timeline-overview-mode-selector button.toggled):
94897        (.timeline-overview-mode-selector button:first-of-type):
94898        (.timeline-overview-mode-selector button:last-of-type):
94899        (.timeline-mode-vertical-bars .glyph):
94900        (.timeline-mode-horizontal-bars .glyph):
94901
949022012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
94903
94904        Make it explicit when we are allowing updates to the actual backing store or the tile buffers
94905        https://bugs.webkit.org/show_bug.cgi?id=80288
94906
94907        Patch by Kenneth Rohde Christiansen and Alexander Færøy.
94908
94909        Reviewed by Noam Rosenthal.
94910
94911        * platform/graphics/TiledBackingStore.cpp:
94912        (WebCore::TiledBackingStore::createTiles):
94913        (WebCore::TiledBackingStore::isBackingStoreUpdatesSuspended):
94914        (WebCore):
94915        (WebCore::TiledBackingStore::isTileBufferUpdatesSuspended):
94916        (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
94917        (WebCore::TiledBackingStore::startTileCreationTimer):
94918        * platform/graphics/TiledBackingStore.h:
94919        (TiledBackingStore):
94920
949212012-03-06  Mark Rowe  <mrowe@apple.com>
94922
94923        Build fix after r109877.
94924
94925        * WebCore.xcodeproj/project.pbxproj: Ensure that headers are copied in to WebCore.framework so that
94926        WebKit can still find them.
94927
949282012-03-06  Andreas Kling  <awesomekling@apple.com>
94929
94930        Remove incorrect WTF::Vector traits for CSSProperty.
94931        <http://webkit.org/b/53285>
94932        <rdar://problem/10161286>
94933
94934        Reviewed by Antti Koivisto.
94935
94936        We shouldn't allow copying Vector<CSSProperty> contents around with memcpy()
94937        as CSSProperty has a RefPtr member and this would muck up the refcount.
94938        This was added to facilitate fast comparison of property vectors, and we no
94939        longer use that, so there shouldn't be any performance concerns here.
94940
94941        * css/CSSProperty.h:
94942
949432012-03-06  Adam Barth  <abarth@webkit.org>
94944
94945        Attempt to fix the Qt minimal build.
94946
94947        * Target.pri:
94948
949492012-03-06  Roland Steiner  <rolandsteiner@chromium.org>
94950
94951        :scope should behave as :root outside scoped style sheet
94952        https://bugs.webkit.org/show_bug.cgi?id=80389
94953
94954        Fall through to :root implementation if no scope is used.
94955
94956        Reviewed by Antti Koivisto.
94957
94958        Test: fast/css/style-scoped/scope-pseudo.html
94959
94960        * css/SelectorChecker.cpp:
94961        (WebCore::SelectorChecker::checkOneSelector):
94962
949632012-03-05  Vsevolod Vlasov  <vsevik@chromium.org>
94964
94965        Web Inspector: [Regression] Message bubbles are not removed from scripts panel source frames after console was cleared.
94966        https://bugs.webkit.org/show_bug.cgi?id=80275
94967
94968        Reviewed by Pavel Feldman.
94969
94970        * inspector/front-end/ScriptsPanel.js:
94971        (WebInspector.ScriptsPanel.prototype._consoleMessagesCleared):
94972        * inspector/front-end/utilities.js:
94973
949742012-03-06  Adam Barth  <abarth@webkit.org>
94975
94976        Move SQLDatabase code into Modules/webdatabase
94977        https://bugs.webkit.org/show_bug.cgi?id=80393
94978
94979        Reviewed by Kentaro Hara.
94980
94981        There are still a couple (minor) SQLDatabase references from WebCore
94982        proper, but we've gotten this code to the point where it makes sense to
94983        move it into the Modules directory.  (This patch just moves code---no
94984        behavior change.)
94985
94986        * CMakeLists.txt:
94987        * DerivedSources.make:
94988        * DerivedSources.pri:
94989        * GNUmakefile.am:
94990        * GNUmakefile.list.am:
94991        * Modules/webdatabase: Added.
94992        * Modules/webdatabase/AbstractDatabase.cpp: Copied from Source/WebCore/storage/AbstractDatabase.cpp.
94993        * Modules/webdatabase/AbstractDatabase.h: Copied from Source/WebCore/storage/AbstractDatabase.h.
94994        * Modules/webdatabase/ChangeVersionWrapper.cpp: Copied from Source/WebCore/storage/ChangeVersionWrapper.cpp.
94995        * Modules/webdatabase/ChangeVersionWrapper.h: Copied from Source/WebCore/storage/ChangeVersionWrapper.h.
94996        * Modules/webdatabase/DOMWindowSQLDatabase.cpp: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.cpp.
94997        * Modules/webdatabase/DOMWindowSQLDatabase.h: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.h.
94998        * Modules/webdatabase/DOMWindowSQLDatabase.idl: Copied from Source/WebCore/storage/DOMWindowSQLDatabase.idl.
94999        * Modules/webdatabase/Database.cpp: Copied from Source/WebCore/storage/Database.cpp.
95000        * Modules/webdatabase/Database.h: Copied from Source/WebCore/storage/Database.h.
95001        * Modules/webdatabase/Database.idl: Copied from Source/WebCore/storage/Database.idl.
95002        * Modules/webdatabase/DatabaseAuthorizer.cpp: Copied from Source/WebCore/storage/DatabaseAuthorizer.cpp.
95003        * Modules/webdatabase/DatabaseAuthorizer.h: Copied from Source/WebCore/storage/DatabaseAuthorizer.h.
95004        * Modules/webdatabase/DatabaseCallback.h: Copied from Source/WebCore/storage/DatabaseCallback.h.
95005        * Modules/webdatabase/DatabaseCallback.idl: Copied from Source/WebCore/storage/DatabaseCallback.idl.
95006        * Modules/webdatabase/DatabaseContext.cpp: Copied from Source/WebCore/storage/DatabaseContext.cpp.
95007        * Modules/webdatabase/DatabaseContext.h: Copied from Source/WebCore/storage/DatabaseContext.h.
95008        * Modules/webdatabase/DatabaseDetails.h: Copied from Source/WebCore/storage/DatabaseDetails.h.
95009        * Modules/webdatabase/DatabaseSync.cpp: Copied from Source/WebCore/storage/DatabaseSync.cpp.
95010        * Modules/webdatabase/DatabaseSync.h: Copied from Source/WebCore/storage/DatabaseSync.h.
95011        * Modules/webdatabase/DatabaseSync.idl: Copied from Source/WebCore/storage/DatabaseSync.idl.
95012        * Modules/webdatabase/DatabaseTask.cpp: Copied from Source/WebCore/storage/DatabaseTask.cpp.
95013        * Modules/webdatabase/DatabaseTask.h: Copied from Source/WebCore/storage/DatabaseTask.h.
95014        * Modules/webdatabase/DatabaseThread.cpp: Copied from Source/WebCore/storage/DatabaseThread.cpp.
95015        * Modules/webdatabase/DatabaseThread.h: Copied from Source/WebCore/storage/DatabaseThread.h.
95016        * Modules/webdatabase/DatabaseTracker.cpp: Copied from Source/WebCore/storage/DatabaseTracker.cpp.
95017        * Modules/webdatabase/DatabaseTracker.h: Copied from Source/WebCore/storage/DatabaseTracker.h.
95018        * Modules/webdatabase/DatabaseTrackerClient.h: Copied from Source/WebCore/storage/DatabaseTrackerClient.h.
95019        * Modules/webdatabase/OriginQuotaManager.cpp: Copied from Source/WebCore/storage/OriginQuotaManager.cpp.
95020        * Modules/webdatabase/OriginQuotaManager.h: Copied from Source/WebCore/storage/OriginQuotaManager.h.
95021        * Modules/webdatabase/OriginUsageRecord.cpp: Copied from Source/WebCore/storage/OriginUsageRecord.cpp.
95022        * Modules/webdatabase/OriginUsageRecord.h: Copied from Source/WebCore/storage/OriginUsageRecord.h.
95023        * Modules/webdatabase/SQLCallbackWrapper.h: Copied from Source/WebCore/storage/SQLCallbackWrapper.h.
95024        * Modules/webdatabase/SQLError.h: Copied from Source/WebCore/storage/SQLError.h.
95025        * Modules/webdatabase/SQLError.idl: Copied from Source/WebCore/storage/SQLError.idl.
95026        * Modules/webdatabase/SQLException.cpp: Copied from Source/WebCore/storage/SQLException.cpp.
95027        * Modules/webdatabase/SQLException.h: Copied from Source/WebCore/storage/SQLException.h.
95028        * Modules/webdatabase/SQLException.idl: Copied from Source/WebCore/storage/SQLException.idl.
95029        * Modules/webdatabase/SQLResultSet.cpp: Copied from Source/WebCore/storage/SQLResultSet.cpp.
95030        * Modules/webdatabase/SQLResultSet.h: Copied from Source/WebCore/storage/SQLResultSet.h.
95031        * Modules/webdatabase/SQLResultSet.idl: Copied from Source/WebCore/storage/SQLResultSet.idl.
95032        * Modules/webdatabase/SQLResultSetRowList.cpp: Copied from Source/WebCore/storage/SQLResultSetRowList.cpp.
95033        * Modules/webdatabase/SQLResultSetRowList.h: Copied from Source/WebCore/storage/SQLResultSetRowList.h.
95034        * Modules/webdatabase/SQLResultSetRowList.idl: Copied from Source/WebCore/storage/SQLResultSetRowList.idl.
95035        * Modules/webdatabase/SQLStatement.cpp: Copied from Source/WebCore/storage/SQLStatement.cpp.
95036        * Modules/webdatabase/SQLStatement.h: Copied from Source/WebCore/storage/SQLStatement.h.
95037        * Modules/webdatabase/SQLStatementCallback.h: Copied from Source/WebCore/storage/SQLStatementCallback.h.
95038        * Modules/webdatabase/SQLStatementCallback.idl: Copied from Source/WebCore/storage/SQLStatementCallback.idl.
95039        * Modules/webdatabase/SQLStatementErrorCallback.h: Copied from Source/WebCore/storage/SQLStatementErrorCallback.h.
95040        * Modules/webdatabase/SQLStatementErrorCallback.idl: Copied from Source/WebCore/storage/SQLStatementErrorCallback.idl.
95041        * Modules/webdatabase/SQLStatementSync.cpp: Copied from Source/WebCore/storage/SQLStatementSync.cpp.
95042        * Modules/webdatabase/SQLStatementSync.h: Copied from Source/WebCore/storage/SQLStatementSync.h.
95043        * Modules/webdatabase/SQLTransaction.cpp: Copied from Source/WebCore/storage/SQLTransaction.cpp.
95044        * Modules/webdatabase/SQLTransaction.h: Copied from Source/WebCore/storage/SQLTransaction.h.
95045        * Modules/webdatabase/SQLTransaction.idl: Copied from Source/WebCore/storage/SQLTransaction.idl.
95046        * Modules/webdatabase/SQLTransactionCallback.h: Copied from Source/WebCore/storage/SQLTransactionCallback.h.
95047        * Modules/webdatabase/SQLTransactionCallback.idl: Copied from Source/WebCore/storage/SQLTransactionCallback.idl.
95048        * Modules/webdatabase/SQLTransactionClient.cpp: Copied from Source/WebCore/storage/SQLTransactionClient.cpp.
95049        * Modules/webdatabase/SQLTransactionClient.h: Copied from Source/WebCore/storage/SQLTransactionClient.h.
95050        * Modules/webdatabase/SQLTransactionCoordinator.cpp: Copied from Source/WebCore/storage/SQLTransactionCoordinator.cpp.
95051        * Modules/webdatabase/SQLTransactionCoordinator.h: Copied from Source/WebCore/storage/SQLTransactionCoordinator.h.
95052        * Modules/webdatabase/SQLTransactionErrorCallback.h: Copied from Source/WebCore/storage/SQLTransactionErrorCallback.h.
95053        * Modules/webdatabase/SQLTransactionErrorCallback.idl: Copied from Source/WebCore/storage/SQLTransactionErrorCallback.idl.
95054        * Modules/webdatabase/SQLTransactionSync.cpp: Copied from Source/WebCore/storage/SQLTransactionSync.cpp.
95055        * Modules/webdatabase/SQLTransactionSync.h: Copied from Source/WebCore/storage/SQLTransactionSync.h.
95056        * Modules/webdatabase/SQLTransactionSync.idl: Copied from Source/WebCore/storage/SQLTransactionSync.idl.
95057        * Modules/webdatabase/SQLTransactionSyncCallback.h: Copied from Source/WebCore/storage/SQLTransactionSyncCallback.h.
95058        * Modules/webdatabase/SQLTransactionSyncCallback.idl: Copied from Source/WebCore/storage/SQLTransactionSyncCallback.idl.
95059        * Modules/webdatabase/WorkerContextSQLDatabase.cpp: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.cpp.
95060        * Modules/webdatabase/WorkerContextSQLDatabase.h: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.h.
95061        * Modules/webdatabase/WorkerContextSQLDatabase.idl: Copied from Source/WebCore/storage/WorkerContextSQLDatabase.idl.
95062        * Modules/webdatabase/chromium: Added.
95063        * Modules/webdatabase/chromium/DatabaseObserver.h: Copied from Source/WebCore/storage/chromium/DatabaseObserver.h.
95064        * Modules/webdatabase/chromium/DatabaseTrackerChromium.cpp: Copied from Source/WebCore/storage/chromium/DatabaseTrackerChromium.cpp.
95065        * Modules/webdatabase/chromium/QuotaTracker.cpp: Copied from Source/WebCore/storage/chromium/QuotaTracker.cpp.
95066        * Modules/webdatabase/chromium/QuotaTracker.h: Copied from Source/WebCore/storage/chromium/QuotaTracker.h.
95067        * Modules/webdatabase/chromium/SQLTransactionClientChromium.cpp: Copied from Source/WebCore/storage/chromium/SQLTransactionClientChromium.cpp.
95068        * Target.pri:
95069        * WebCore.gyp/WebCore.gyp:
95070        * WebCore.gypi:
95071        * WebCore.pri:
95072        * WebCore.vcproj/WebCore.vcproj:
95073        * WebCore.vcproj/WebCoreCommon.vsprops:
95074        * WebCore.vcproj/copyForwardingHeaders.cmd:
95075        * WebCore.xcodeproj/project.pbxproj:
95076        * storage/AbstractDatabase.cpp: Removed.
95077        * storage/AbstractDatabase.h: Removed.
95078        * storage/ChangeVersionWrapper.cpp: Removed.
95079        * storage/ChangeVersionWrapper.h: Removed.
95080        * storage/DOMWindowSQLDatabase.cpp: Removed.
95081        * storage/DOMWindowSQLDatabase.h: Removed.
95082        * storage/DOMWindowSQLDatabase.idl: Removed.
95083        * storage/Database.cpp: Removed.
95084        * storage/Database.h: Removed.
95085        * storage/Database.idl: Removed.
95086        * storage/DatabaseAuthorizer.cpp: Removed.
95087        * storage/DatabaseAuthorizer.h: Removed.
95088        * storage/DatabaseCallback.h: Removed.
95089        * storage/DatabaseCallback.idl: Removed.
95090        * storage/DatabaseContext.cpp: Removed.
95091        * storage/DatabaseContext.h: Removed.
95092        * storage/DatabaseDetails.h: Removed.
95093        * storage/DatabaseSync.cpp: Removed.
95094        * storage/DatabaseSync.h: Removed.
95095        * storage/DatabaseSync.idl: Removed.
95096        * storage/DatabaseTask.cpp: Removed.
95097        * storage/DatabaseTask.h: Removed.
95098        * storage/DatabaseThread.cpp: Removed.
95099        * storage/DatabaseThread.h: Removed.
95100        * storage/DatabaseTracker.cpp: Removed.
95101        * storage/DatabaseTracker.h: Removed.
95102        * storage/DatabaseTrackerClient.h: Removed.
95103        * storage/OriginQuotaManager.cpp: Removed.
95104        * storage/OriginQuotaManager.h: Removed.
95105        * storage/OriginUsageRecord.cpp: Removed.
95106        * storage/OriginUsageRecord.h: Removed.
95107        * storage/SQLCallbackWrapper.h: Removed.
95108        * storage/SQLError.h: Removed.
95109        * storage/SQLError.idl: Removed.
95110        * storage/SQLException.cpp: Removed.
95111        * storage/SQLException.h: Removed.
95112        * storage/SQLException.idl: Removed.
95113        * storage/SQLResultSet.cpp: Removed.
95114        * storage/SQLResultSet.h: Removed.
95115        * storage/SQLResultSet.idl: Removed.
95116        * storage/SQLResultSetRowList.cpp: Removed.
95117        * storage/SQLResultSetRowList.h: Removed.
95118        * storage/SQLResultSetRowList.idl: Removed.
95119        * storage/SQLStatement.cpp: Removed.
95120        * storage/SQLStatement.h: Removed.
95121        * storage/SQLStatementCallback.h: Removed.
95122        * storage/SQLStatementCallback.idl: Removed.
95123        * storage/SQLStatementErrorCallback.h: Removed.
95124        * storage/SQLStatementErrorCallback.idl: Removed.
95125        * storage/SQLStatementSync.cpp: Removed.
95126        * storage/SQLStatementSync.h: Removed.
95127        * storage/SQLTransaction.cpp: Removed.
95128        * storage/SQLTransaction.h: Removed.
95129        * storage/SQLTransaction.idl: Removed.
95130        * storage/SQLTransactionCallback.h: Removed.
95131        * storage/SQLTransactionCallback.idl: Removed.
95132        * storage/SQLTransactionClient.cpp: Removed.
95133        * storage/SQLTransactionClient.h: Removed.
95134        * storage/SQLTransactionCoordinator.cpp: Removed.
95135        * storage/SQLTransactionCoordinator.h: Removed.
95136        * storage/SQLTransactionErrorCallback.h: Removed.
95137        * storage/SQLTransactionErrorCallback.idl: Removed.
95138        * storage/SQLTransactionSync.cpp: Removed.
95139        * storage/SQLTransactionSync.h: Removed.
95140        * storage/SQLTransactionSync.idl: Removed.
95141        * storage/SQLTransactionSyncCallback.h: Removed.
95142        * storage/SQLTransactionSyncCallback.idl: Removed.
95143        * storage/WorkerContextSQLDatabase.cpp: Removed.
95144        * storage/WorkerContextSQLDatabase.h: Removed.
95145        * storage/WorkerContextSQLDatabase.idl: Removed.
95146        * storage/chromium/DatabaseObserver.h: Removed.
95147        * storage/chromium/DatabaseTrackerChromium.cpp: Removed.
95148        * storage/chromium/QuotaTracker.cpp: Removed.
95149        * storage/chromium/QuotaTracker.h: Removed.
95150        * storage/chromium/SQLTransactionClientChromium.cpp: Removed.
95151
951522012-03-05  Kent Tamura  <tkent@chromium.org>
95153
95154        Do not reformat strings in <input type=number> on platforms using LocalizedNumberICU.
95155        https://bugs.webkit.org/show_bug.cgi?id=78326
95156
95157        Reviewed by Hajime Morita.
95158
95159        We had bugs such as stripping leading zeros, dropping lower digits
95160        of large numbers because we parse a user-input string to a double
95161        value, and generate a string from the double value.
95162
95163        In order to avoid such reformatting, we converts number strings by
95164        replacing standard digits to corresponding localized digits.
95165
95166        * WebCore.gypi: Added LocalizedNumberICU.h
95167        * platform/text/LocalizedNumberICU.cpp:
95168        (WebCore::ICULocale::ICULocale): Added.
95169        (WebCore::ICULocale::create): A testing factory function.
95170        (WebCore::ICULocale::createForCurrentLocale): A practical factory function.
95171        (WebCore::ICULocale::setDecimalSymbol): Initialize a symbol table.
95172        (WebCore::ICULocale::initializeDecimalFormat): Initialize ICU DecimalFormat.
95173        (WebCore::ICULocale::convertToLocalizedNumber):
95174         Replace characters to corresponding localized characters.
95175        (WebCore::matches): A helper function for convertFromLocalizedNumber.
95176        (WebCore::endsWith): ditto.
95177        (WebCore::ICULocale::determineStartPosition): ditto.
95178        (WebCore::ICULocale::matchedDecimalSymbolIndex): ditto.
95179        (WebCore::ICULocale::convertFromLocalizedNumber):
95180         Replace characters to corresponding standard characters.
95181        (WebCore::currentLocale): Added.
95182        (WebCore::convertToLocalizedNumber): Uses ICULocale::convertToLocalizedNumber.
95183        (WebCore::convertFromLocalizedNumber): Uses ICULocale::convertFromLocalizedNumber.
95184        * platform/text/LocalizedNumberICU.h: Added.
95185        (ICULocale): Added. This is exposed to WebKit/chromium/tests/LocalizedNumberICUTest.cpp.
95186
951872012-03-06  Adam Barth  <abarth@webkit.org>
95188
95189        Attempt to fix the GTK minimal build
95190        https://bugs.webkit.org/show_bug.cgi?id=80390
95191
95192        Reviewed by Csaba Osztrogonác.
95193
95194        Add some missing ifdefs.
95195
95196        * Modules/geolocation/NavigatorGeolocation.cpp:
95197        * Modules/geolocation/NavigatorGeolocation.h:
95198
951992012-03-05  Pavel Podivilov  <podivilov@chromium.org>
95200
95201        Web Inspector: stop using RawSourceCode in BreakpointManager.
95202        https://bugs.webkit.org/show_bug.cgi?id=80286
95203
95204        Reviewed by Vsevolod Vlasov.
95205
95206        * WebCore.gypi:
95207        * WebCore.vcproj/WebCore.vcproj:
95208        * inspector/front-end/BreakpointManager.js:
95209        (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
95210        (WebInspector.BreakpointManager.prototype.setBreakpoint):
95211        (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
95212        (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
95213        * inspector/front-end/DebuggerPresentationModel.js:
95214        (WebInspector.DebuggerPresentationModel):
95215        * inspector/front-end/ScriptMapping.js: Added.
95216        (WebInspector.ScriptMapping):
95217        (WebInspector.ScriptMapping.prototype.rawLocationToUILocation):
95218        (WebInspector.ScriptMapping.prototype.uiLocationToRawLocation):
95219        (WebInspector.ScriptMapping.prototype.createLiveLocation):
95220        (WebInspector.ScriptMapping.prototype.uiSourceCodeList):
95221        * inspector/front-end/WebKit.qrc:
95222        * inspector/front-end/inspector.html:
95223
952242012-03-05  Philippe Normand  <pnormand@igalia.com>
95225
95226        WebAudio JSC-related fixes
95227        https://bugs.webkit.org/show_bug.cgi?id=80299
95228
95229        Reviewed by Adam Barth.
95230
95231        * bindings/js/JSAudioContextCustom.cpp:
95232        (WebCore::JSAudioContextConstructor::constructJSAudioContext):
95233        Wrap the audio context in a DOM wrapper.
95234        * webaudio/AudioContext.idl: No need to protect EventTarget by V8
95235        guards, I think.
95236        * webaudio/JavaScriptAudioNode.idl: Ditto.
95237
952382012-03-05  Kishore Bolisetty  <kbolisetty@innominds.com>
95239
95240        Element not fully repainted after application and removal of transform
95241        https://bugs.webkit.org/show_bug.cgi?id=61338
95242
95243        Reviewed by Simon Fraser.
95244        RenderLayer is created and removed when a transform is applied and removed to element.
95245        To render the element properly after removal of transform on it, preferred widths and dimensions of
95246        the element and its containing block needs to be recalculated.
95247
95248        Test: fast/repaint/transform-rotate-and-remove.html
95249
95250        * rendering/RenderBoxModelObject.cpp:
95251        (WebCore):
95252        (WebCore::RenderBoxModelObject::styleWillChange):
95253        (WebCore::RenderBoxModelObject::styleDidChange):
95254        * rendering/RenderBoxModelObject.h:
95255        (RenderBoxModelObject):
95256
952572012-03-05  Gavin Barraclough  <barraclough@apple.com>
95258
95259        putByIndex should throw in strict mode
95260        https://bugs.webkit.org/show_bug.cgi?id=80335
95261
95262        Reviewed by Filip Pizlo.
95263
95264        Make the MethodTable PutByIndex trap take a boolean 'shouldThrow' parameter.
95265
95266        * bindings/js/SerializedScriptValue.cpp:
95267        (WebCore::CloneDeserializer::putProperty):
95268        * bindings/objc/WebScriptObject.mm:
95269        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
95270        * bindings/scripts/CodeGeneratorJS.pm:
95271        (GenerateHeader):
95272        (GenerateImplementation):
95273        * bridge/NP_jsobject.cpp:
95274        (_NPN_SetProperty):
95275        * bridge/jni/jni_jsobject.mm:
95276        (JavaJSObject::setSlot):
95277        * bridge/runtime_array.cpp:
95278        (JSC::RuntimeArray::putByIndex):
95279        * bridge/runtime_array.h:
95280        (RuntimeArray):
95281
952822012-03-05  Shinya Kawanaka  <shinyak@chromium.org>
95283
95284        InsertionPoint::attach should be consistent with Element.
95285        https://bugs.webkit.org/show_bug.cgi?id=80373
95286
95287        Reviewed by Hajime Morita.
95288
95289        This patch is preparation for coming <shadow> patches.
95290
95291        InsertionPoint used to attach fallback elements before attaching distributed elements.
95292        To be consistent with Element::attach behavior, attaching distributed elements first is
95293        natural, because Element attaches a shadow tree first.
95294
95295        Also, this patch extracts a few methods form InsretionPoint::attach() and detach()
95296        to keep code clean. They will become messy without this refactoring when adding
95297        <shadow> patch.
95298
95299        No new tests. Should be covered by existing tests.
95300
95301        * html/shadow/InsertionPoint.cpp:
95302        (WebCore::InsertionPoint::attach):
95303        (WebCore::InsertionPoint::detach):
95304        (WebCore::InsertionPoint::distributeHostChildren):
95305        (WebCore):
95306        (WebCore::InsertionPoint::clearDistribution):
95307        (WebCore::InsertionPoint::attachDistributedNode):
95308        * html/shadow/InsertionPoint.h:
95309        (InsertionPoint):
95310
953112012-03-05  Adam Barth  <abarth@webkit.org>
95312
95313        Attempt to fix a number of GTK tests.
95314
95315        * GNUmakefile.list.am:
95316
953172012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
95318
95319        Unreviewed rollout of r109858 for restructuring.
95320
953212012-03-05  Joseph Pecoraro  <pecoraro@apple.com>
95322
95323        <http://webkit.org/b/78575> Web Inspector: Hide dock button when not allowed to dock
95324
95325        There are times when an undocked inspector frontend is not allowed to
95326        attach to the main window. We can remove the dock button in those cases.
95327
95328        Reviewed by Timothy Hatcher.
95329
95330        No new tests. This functionality is port specific right now.
95331
95332        * page/FrameView.cpp:
95333        (WebCore::FrameView::performPostLayoutTasks):
95334        When the main frame is resized we let the inspector frontend client
95335        update its docked availablility.
95336
95337        * WebCore.exp.in:
95338        * inspector/InspectorInstrumentation.h:
95339        * inspector/InspectorInstrumentation.cpp:
95340        (WebCore::InspectorInstrumentation::didResizeMainFrameImpl):
95341        (WebCore::InspectorInstrumentation::didResizeMainFrame):
95342        * inspector/InspectorClient.h:
95343        (WebCore::InspectorClient::updateDockingAvailability):
95344        * inspector/InspectorController.h:
95345        * inspector/InspectorController.cpp:
95346        (WebCore::InspectorController::resume):
95347        (WebCore::InspectorController::updateDockingAvailability):
95348        When the main frame is resized call up to the InspectorClient to let
95349        it update docking availability of the inspector frontend.
95350
95351        * inspector/InspectorFrontendClient.h:
95352        * inspector/InspectorFrontendClientLocal.h:
95353        * inspector/InspectorFrontendClientLocal.cpp:
95354        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
95355        (WebCore::InspectorFrontendClientLocal::setDockingUnavailable):
95356        On ports where the inspector frontend client is local, provide a 
95357        setDockingUnavailable InspectorFrontendAPI to update the docking state.
95358        Automatically update availablity when the frontend completes loading.
95359
95360        * inspector/front-end/InspectorFrontendAPI.js:
95361        (InspectorFrontendAPI.setDockingUnavailable):
95362        * inspector/front-end/inspector.js:
95363        (WebInspector._createGlobalStatusBarItems):
95364        (WebInspector.setAttachedWindow):
95365        (WebInspector.setDockingUnavailable):
95366        (WebInspector.updateDockToggleButtonVisibility):
95367        Update the dock button's visibility when its created, when the attached
95368        state changes, when get a frontend API notification that we cannot attach.
95369
953702012-03-05  Adrienne Walker  <enne@google.com>
95371
95372        Compositing overlap testing can throw layers into compositing when they should not be.
95373        https://bugs.webkit.org/show_bug.cgi?id=50192
95374
95375        Reviewed by Simon Fraser.
95376
95377        The previous overlap map behavior was that a non-composited query
95378        layer would become composited due to overlap if and only if the query
95379        layer's absolute bounds overlapped the absolute bounds of some other
95380        layer which:
95381            - draws before the query layer
95382            - is or has a compositing ancestor
95383
95384        This behavior, while correct, was too permissive in throwing layers
95385        into compositing, causing many layers to get their own backing when
95386        they could have just gone into their compositing ancestor's backing.
95387
95388        The correct logic is that non-composited query layer needs to be
95389        composited due to overlap if and only if the query layer's absolute
95390        bounds overlap the absolute bounds of some other layer which:
95391            - draws before the query layer
95392            - has a different compositing ancestor than the query layer
95393            - is or has a compositing ancestor that is a descendent of the
95394              query layer's compositing ancestor
95395
95396        This patch changes the semantics of the overlap map to enable this
95397        behavior.
95398
95399        Rather than having one global overlap map, there is now a stack of
95400        overlap maps. New (empty) overlap maps are pushed onto the stack
95401        whenever a layer becomes a compositing ancestor and popped after all
95402        of the compositing requirements for that layer's children have been
95403        computed.
95404
95405        The compositing ancestor and all of its non-composited children of a
95406        compositing ancestor do not get considered for overlap until their
95407        composited ancestor has been popped off the stack. If a compositing
95408        ancestor has a compositing subtree, then any descendents of that
95409        compositing ancestor that draw after that subtree will consider
95410        everything in the compositing subtree for overlap.
95411
95412        Test: compositing/layer-creation/stacking-context-overlap.html
95413
95414        * platform/graphics/Region.cpp:
95415        (WebCore::Region::intersects):
95416        (WebCore):
95417        * platform/graphics/Region.h:
95418        (Region):
95419        * rendering/RenderLayerCompositor.cpp:
95420        (RenderLayerCompositor::OverlapMap):
95421        (WebCore::RenderLayerCompositor::OverlapMap::OverlapMap):
95422        (WebCore::RenderLayerCompositor::OverlapMap::add):
95423        (WebCore::RenderLayerCompositor::OverlapMap::contains):
95424        (WebCore::RenderLayerCompositor::OverlapMap::overlapsLayers):
95425        (WebCore::RenderLayerCompositor::OverlapMap::isEmpty):
95426        (WebCore::RenderLayerCompositor::OverlapMap::popCompositingContainer):
95427        (WebCore::RenderLayerCompositor::OverlapMap::pushCompositingContainer):
95428        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive):
95429        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
95430        * rendering/RenderLayerCompositor.h:
95431        (RenderLayerCompositor):
95432
954332012-03-05  Anders Carlsson  <andersca@apple.com>
95434
95435        Address review comments from https://bugs.webkit.org/show_bug.cgi?id=80368
95436
95437        * platform/graphics/ca/mac/TileCache.mm:
95438        (WebCore::TileCache::setNeedsDisplayInRect):
95439
954402012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
95441
95442        [Forms] HTMLFieldSetForms.idl doesn't have type attribute.
95443        https://bugs.webkit.org/show_bug.cgi?id=80109
95444
95445        Reviewed by Hajime Morita.
95446
95447        Test: fast/forms/fieldset/fieldset-type.html
95448
95449        * html/HTMLFieldSetElement.idl: Add attribute "type"
95450
954512012-03-05  Anders Carlsson  <andersca@apple.com>
95452
95453        Fix build.
95454
95455        * platform/graphics/ca/mac/TileCache.mm:
95456        (WebCore::TileCache::setScale):
95457
954582012-03-05  Anders Carlsson  <andersca@apple.com>
95459
95460        pinch-to-zoom and double-tap flicker when using the new scrolling model
95461        https://bugs.webkit.org/show_bug.cgi?id=80368
95462        <rdar://problem/10866221>
95463
95464        Reviewed by Sam Weinig.
95465
95466        In order to work better with zooming, make the tile cache undo the scale transformation
95467        and handle the scaling manually. This avoids creating huge tile backing stores when zoomed in.
95468
95469        * platform/graphics/ca/mac/TileCache.mm:
95470        (WebCore::TileCache::TileCache):
95471        Initialize m_scale to 1.
95472
95473        (WebCore::TileCache::setNeedsDisplayInRect):
95474        Scale the given rect appropriately.
95475
95476        (WebCore::TileCache::drawLayer):
95477        Apply a scale context transform.
95478
95479        (WebCore::TileCache::setScale):
95480        No longer set the contents scale. Instead, update the scale and revalidate the tiles.
95481
95482        (WebCore::TileCache::revalidateTiles):
95483        Return early if the bounds are empty. This avoids showing a single tile if that happens due to a race condition.
95484
95485        (WebCore::TileCache::getTileIndexRangeForRect):
95486        Apply the scale to the bounds.
95487
95488        (WebCore::TileCache::createTileLayer):
95489        Don't set the contents scale.
95490
95491        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
95492        (-[WebTileCacheLayer setContentsScale:]):
95493        Call TileCache::setScale.
95494
95495        * rendering/RenderLayerBacking.cpp:
95496        (WebCore::RenderLayerBacking::updateCompositedBounds):
95497        Make sure to give the tile cache layer sane composited bounds, even if the page has absolutely positioned
95498        elements that are outside of the page.
95499
955002012-03-05  Leo Yang  <leo.yang@torchmobile.com.cn>
95501
95502        GraphicsContext3D.h should include RefCounted.h explicitly
95503        https://bugs.webkit.org/show_bug.cgi?id=80251
95504
95505        Reviewed by Rob Buis.
95506
95507        GraphicsContext3D.h was using RefCounted but including RefCounted.h indirectly
95508        through GraphicsLayer.h through Animation.h. However Animation.h is included
95509        by GraphicsLayer.h only when ACCELERATED_COMPOSITING is on. For some configurations
95510        that don't use ACCELERATED_COMPOSITING but use GraphicsContext3D, like the
95511        BlackBerry x86 configuration, the indirect inclusion will fail.
95512
95513        This patch is adding explicit inclusion of RefCounted.h to avoid that kind of
95514        problem.
95515
95516        * platform/graphics/GraphicsContext3D.h:
95517
955182012-03-05  Kenichi Ishibashi  <bashi@chromium.org>
95519
95520        [WebSocket] Should raise SYNTAX_ERR when message contains unpaired surrogates
95521        https://bugs.webkit.org/show_bug.cgi?id=80103
95522
95523        Reviewed by Kent Tamura.
95524
95525        Add UTF8 validation checks for WebSocket message and close reason.
95526
95527        Tests: http/tests/websocket/tests/hybi/unpaired-surrogates-in-close-reason.html
95528               http/tests/websocket/tests/hybi/unpaired-surrogates-in-message.html
95529
95530        * Modules/websockets/WebSocket.cpp:
95531        (WebCore::WebSocket::send): Raise SYNTAX_ERR if the message is invalid.
95532        (WebCore::WebSocket::close):Raise SYNTAX_ERR if the reason is invalid.
95533        * Modules/websockets/WebSocketChannel.cpp:
95534        (WebCore::WebSocketChannel::send): Check whether message is a valid UTF8 string.
95535
955362012-03-05  Kenneth Russell  <kbr@google.com>
95537
95538        [chromium] Notify CCLayerImpl tree of context loss and restoration
95539        https://bugs.webkit.org/show_bug.cgi?id=80339
95540
95541        Reviewed by James Robinson.
95542
95543        Tested by manually killing GPU process while playing Flash video.
95544        Video continues to play after compositor restores its context.
95545
95546        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
95547        (WebCore::CCLayerImpl::didLoseAndRecreateGraphicsContext):
95548        (WebCore):
95549        * platform/graphics/chromium/cc/CCLayerImpl.h:
95550        (CCLayerImpl):
95551        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
95552        (WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotification):
95553        (WebCore):
95554        (WebCore::CCLayerTreeHostImpl::sendContextLostAndRestoredNotificationRecursive):
95555        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
95556        (CCLayerTreeHostImpl):
95557        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
95558        (WebCore::CCPluginLayerImpl::didLoseAndRecreateGraphicsContext):
95559        (WebCore):
95560        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
95561        (CCPluginLayerImpl):
95562        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
95563        (WebCore::CCSingleThreadProxy::recreateContext):
95564
955652012-03-05  Changhun Kang  <temoochin@company100.net>
95566
95567        Change the argument orders to match OpenGL's in GraphicsContext3D functions
95568        https://bugs.webkit.org/show_bug.cgi?id=80120
95569
95570        Reviewed by Kenneth Russell.
95571
95572        No new tests because this patch just change the order of arguments.
95573
95574        * html/canvas/WebGLRenderingContext.cpp:
95575        (WebCore):
95576        (WebCore::WebGLRenderingContext::uniform1fv):
95577        (WebCore::WebGLRenderingContext::uniform1iv):
95578        (WebCore::WebGLRenderingContext::uniform2fv):
95579        (WebCore::WebGLRenderingContext::uniform2iv):
95580        (WebCore::WebGLRenderingContext::uniform3fv):
95581        (WebCore::WebGLRenderingContext::uniform3iv):
95582        (WebCore::WebGLRenderingContext::uniform4fv):
95583        (WebCore::WebGLRenderingContext::uniform4iv):
95584        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
95585        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
95586        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
95587        * platform/graphics/GraphicsContext3D.h:
95588        * platform/graphics/chromium/LayerRendererChromium.cpp:
95589        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
95590        (WebCore::LayerRendererChromium::drawTileQuad):
95591        (WebCore::LayerRendererChromium::drawYUV):
95592        (WebCore::LayerRendererChromium::drawStreamTexture):
95593        (WebCore::LayerRendererChromium::drawTexturedQuad):
95594        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
95595        (WebCore::CCRenderSurface::drawSurface):
95596        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
95597        (WebCore::GraphicsContext3D::uniform1fv):
95598        (WebCore::GraphicsContext3D::uniform1iv):
95599        (WebCore::GraphicsContext3D::uniform2fv):
95600        (WebCore::GraphicsContext3D::uniform2iv):
95601        (WebCore::GraphicsContext3D::uniform3fv):
95602        (WebCore::GraphicsContext3D::uniform3iv):
95603        (WebCore::GraphicsContext3D::uniform4fv):
95604        (WebCore::GraphicsContext3D::uniform4iv):
95605        (WebCore::GraphicsContext3D::uniformMatrix2fv):
95606        (WebCore::GraphicsContext3D::uniformMatrix3fv):
95607        (WebCore::GraphicsContext3D::uniformMatrix4fv):
95608        * platform/graphics/filters/FECustomFilter.cpp:
95609        (WebCore::FECustomFilter::bindProgramAndBuffers):
95610        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
95611        (WebCore::GraphicsContext3D::uniform1fv):
95612        (WebCore::GraphicsContext3D::uniform2fv):
95613        (WebCore::GraphicsContext3D::uniform3fv):
95614        (WebCore::GraphicsContext3D::uniform4fv):
95615        (WebCore::GraphicsContext3D::uniform1iv):
95616        (WebCore::GraphicsContext3D::uniform2iv):
95617        (WebCore::GraphicsContext3D::uniform3iv):
95618        (WebCore::GraphicsContext3D::uniform4iv):
95619        (WebCore::GraphicsContext3D::uniformMatrix2fv):
95620        (WebCore::GraphicsContext3D::uniformMatrix3fv):
95621        (WebCore::GraphicsContext3D::uniformMatrix4fv):
95622        * platform/graphics/qt/GraphicsContext3DQt.cpp:
95623        (WebCore::GraphicsContext3D::uniform1fv):
95624        (WebCore::GraphicsContext3D::uniform2fv):
95625        (WebCore::GraphicsContext3D::uniform3fv):
95626        (WebCore::GraphicsContext3D::uniform4fv):
95627        (WebCore::GraphicsContext3D::uniform1iv):
95628        (WebCore::GraphicsContext3D::uniform2iv):
95629        (WebCore::GraphicsContext3D::uniform3iv):
95630        (WebCore::GraphicsContext3D::uniform4iv):
95631        (WebCore::GraphicsContext3D::uniformMatrix2fv):
95632        (WebCore::GraphicsContext3D::uniformMatrix3fv):
95633        (WebCore::GraphicsContext3D::uniformMatrix4fv):
95634
956352012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
95636
95637        [Forms] HTMLFieldSetForms.idl doesn't have name attribute.
95638        https://bugs.webkit.org/show_bug.cgi?id=80108
95639
95640        Reviewed by Hajime Morita.
95641
95642        Test: fast/forms/fieldset/fieldset-name.html
95643
95644        * html/HTMLFieldSetElement.idl: Add "name" attribute.
95645
956462012-03-05  Levi Weintraub  <leviw@chromium.org>
95647
95648        Update usage of LayoutUnits in RenderBox
95649        https://bugs.webkit.org/show_bug.cgi?id=80039
95650
95651        Reviewed by Julien Chaffraix.
95652
95653        Updating the usage of integers versus LayoutUnits in RenderBox to mirror the
95654        subpixellayout branch. This reverts absoluteRects, intrinsicSize, and focusRingRects
95655        methods to use integers, and flipForWritingMode functions to LayoutUnits.
95656
95657        No new tests. No change in behavior.
95658
95659        * platform/graphics/FractionalLayoutRect.h:
95660        (WebCore::FractionalLayoutRect::pixelSnappedX): Convenience methods that only calculate
95661        the needed values. This requires less computation than pixelSnappedIntRect(r).x().
95662        (WebCore::FractionalLayoutRect::pixelSnappedY): Ditto.
95663        (WebCore::FractionalLayoutRect::pixelSnappedWidth): Ditto.
95664        (WebCore::FractionalLayoutRect::pixelSnappedHeight): Ditto.
95665        (WebCore::FractionalLayoutRect::pixelSnappedMaxX): Ditto.
95666        (WebCore::FractionalLayoutRect::pixelSnappedMaxY): Ditto.
95667        (FractionalLayoutRect):
95668        * platform/graphics/IntRect.h:
95669        (IntRect):
95670        (WebCore::IntRect::pixelSnappedX): Stub methods to allow us to use IntRects like we do
95671        FractionalLayoutRects.
95672        (WebCore::IntRect::pixelSnappedY): Ditto.
95673        (WebCore::IntRect::pixelSnappedMaxX): Ditto.
95674        (WebCore::IntRect::pixelSnappedMaxY): Ditto.
95675        (WebCore::IntRect::pixelSnappedWidth): Ditto.
95676        (WebCore::IntRect::pixelSnappedHeight): Ditto.
95677        * rendering/LayoutTypes.h:
95678        (WebCore::pixelSnappedIntRect): Convenience method for building a pixelSnappedIntRect from
95679        a LayoutPoint and LayoutSize without constructing an intermediate LayoutRect.
95680        (WebCore):
95681        (WebCore::snapSizeToPixel): Stub method for snapping a LayoutUnit representing a size to
95682        its pixel value using its location.
95683        * rendering/RenderBox.cpp:
95684        (WebCore::RenderBox::pixelSnappedClientWidth): Changing to actually call snapSizeToPixel.
95685        (WebCore::RenderBox::pixelSnappedClientHeight): Ditto.
95686        (WebCore::RenderBox::absoluteRects): Switching to return IntRects that represent the actual
95687        rendered location on screen.
95688        (WebCore::RenderBox::addFocusRingRects): Ditto.
95689        (WebCore::RenderBox::paintFillLayer): One-liner switching an IntSize() to LayoutSize() to
95690        avoid unnecessary conversion.
95691        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats): Preparing for the conversion by
95692        replacing 0 with zeroLayoutUnit.
95693        (WebCore::RenderBox::positionLineBox): Preparing for conversion by replacing lroundf
95694        with roundedLayoutUnit.
95695        (WebCore::RenderBox::flipForWritingMode): Switching to use LayoutUnits.
95696        * rendering/RenderBox.h:
95697        (RenderBox):
95698        (WebCore::RenderBox::pixelSnappedBorderBoxRect): Convenience method.
95699        (WebCore::RenderBox::borderBoundingBox): Converting to a pixelSnappedIntRect.
95700        (WebCore::RenderBox::intrinsicSize): Intrinsic sizes should always be integers.
95701
957022012-03-05  Adam Barth  <abarth@webkit.org>
95703
95704        WorkerContext shouldn't need to know about SQLDatabase
95705        https://bugs.webkit.org/show_bug.cgi?id=80352
95706
95707        Reviewed by Eric Seidel.
95708
95709        This patch removes the SQLDatabase functions from WorkerContext in
95710        preparation for moving the SQLDatabase code into a module.  These
95711        functions don't interact with the rest of WorkerContext.
95712
95713        * CMakeLists.txt:
95714        * DerivedSources.make:
95715        * DerivedSources.pri:
95716        * GNUmakefile.list.am:
95717        * Target.pri:
95718        * WebCore.gypi:
95719        * WebCore.vcproj/WebCore.vcproj:
95720        * WebCore.xcodeproj/project.pbxproj:
95721        * storage/DOMWindowSQLDatabase.cpp:
95722        * storage/WorkerContextSQLDatabase.cpp: Added.
95723        (WebCore):
95724        (WebCore::WorkerContextSQLDatabase::openDatabase):
95725        (WebCore::WorkerContextSQLDatabase::openDatabaseSync):
95726        * storage/WorkerContextSQLDatabase.h: Added.
95727        (WebCore):
95728        (WorkerContextSQLDatabase):
95729        (WebCore::WorkerContextSQLDatabase::WorkerContextSQLDatabase):
95730        (WebCore::WorkerContextSQLDatabase::~WorkerContextSQLDatabase):
95731        * storage/WorkerContextSQLDatabase.idl: Added.
95732        * workers/WorkerContext.cpp:
95733        (WebCore):
95734        * workers/WorkerContext.h:
95735        (WebCore):
95736        (WorkerContext):
95737        * workers/WorkerContext.idl:
95738
957392012-03-05  Kenichi Ishibashi  <bashi@chromium.org>
95740
95741        [WebSocket] Introduce ThreadableWebSocketChannel::SendResult
95742        https://bugs.webkit.org/show_bug.cgi?id=80356
95743
95744        Reviewed by Kent Tamura.
95745
95746        Introduced ThreadableWebSocketChannel::SendResult type so that
95747        WebSocketChannel can pass the validation result.
95748
95749        No new test. No changes in behavior.
95750
95751        * Modules/websockets/ThreadableWebSocketChannel.h: Added SendResult.
95752        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.cpp:
95753        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
95754        (WebCore::ThreadableWebSocketChannelClientWrapper::sendRequestResult): Use ThreadableWebSocketChannel::SendResult instead of bool.
95755        (WebCore::ThreadableWebSocketChannelClientWrapper::setSendRequestResult): Ditto.
95756        * Modules/websockets/ThreadableWebSocketChannelClientWrapper.h:
95757        (ThreadableWebSocketChannelClientWrapper):
95758        * Modules/websockets/WebSocketChannel.cpp:
95759        (WebCore::WebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool. Pass Cstring to enqueTextFrame instead of String.
95760        (WebCore::WebSocketChannel::enqueueTextFrame): Ditto.
95761        (WebCore::WebSocketChannel::processOutgoingFrameQueue): Ditto.
95762        * Modules/websockets/WebSocketChannel.h:
95763        (WebSocketChannel):
95764        (QueuedFrame): Changed the type of stringData from String to CString.
95765        * Modules/websockets/WorkerThreadableWebSocketChannel.cpp:
95766        (WebCore::WorkerThreadableWebSocketChannel::send): Use ThreadableWebSocketChannel::SendResult instead of bool.
95767        (WebCore::workerContextDidSend): Ditto.
95768        (WebCore::WorkerThreadableWebSocketChannel::Peer::send): Ditto.
95769        (WebCore::WorkerThreadableWebSocketChannel::Bridge::send): Ditto.
95770        * Modules/websockets/WorkerThreadableWebSocketChannel.h:
95771        (WorkerThreadableWebSocketChannel): ditto.
95772        (Bridge): Ditto.
95773
957742012-03-05  Kentaro Hara  <haraken@chromium.org>
95775
95776        [JSC] Cache the CSSPropertyID in JSCSSStyleDeclaration
95777        https://bugs.webkit.org/show_bug.cgi?id=80250
95778
95779        Reviewed by Benjamin Poulain.
95780
95781        V8CSSStyleDeclaration caches the calculated CSSPropertyID.
95782        Similarly, we can implement the cache in JSCSSStyleDeclaration.
95783
95784        In my local Mac environment, this optimization improves the performance
95785        of CSS property getters by 35%, and the performance of CSS property setters
95786        by 8%.
95787
95788        CSS property getter: for (var i = 0; i < 1000000; i++) span.style.fontWeight;
95789        CSS property setter: for (var i = 0; i < 1000000; i++) span.style.fontWeight = "bold";
95790
95791        Tests: fast/dom/CSSStyleDeclaration/* (No change in test results)
95792
95793        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
95794        (CSSPropertyInfo):
95795        (WebCore):
95796        (WebCore::cssPropertyIDForJSCSSPropertyName):
95797        (WebCore::JSCSSStyleDeclaration::nameGetter):
95798        (WebCore::JSCSSStyleDeclaration::putDelegate):
95799
958002012-03-05  Joshua Bell  <jsbell@chromium.org>
95801
95802        IndexedDB: Handle LevelDB database corruption
95803        https://bugs.webkit.org/show_bug.cgi?id=79413
95804
95805        Add LevelDBDatabase::destroy() method so that clients can retry if open() fails.
95806
95807        Reviewed by Tony Chang.
95808
95809        Test: webkit_unit_tests --gtest_filter='LevelDBDatabaseTest.CorruptionTest'
95810
95811        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Implement open/destroy/open strategy.
95812        (WebCore::IDBLevelDBBackingStore::open):
95813        * platform/leveldb/LevelDBDatabase.cpp:
95814        (WebCore::LevelDBDatabase::destroy):
95815        (WebCore):
95816        * platform/leveldb/LevelDBDatabase.h:
95817        (LevelDBDatabase):
95818
958192012-03-05  Stephen Chenney  <schenney@chromium.org>
95820
95821        [Chromium] SVG Composite of Offset crashes
95822        https://bugs.webkit.org/show_bug.cgi?id=77245
95823
95824        Reviewed by Stephen White.
95825
95826        The feComposite arithmetic mode filter could readily be made to
95827        generate invalid pre-multiplied pixel values which would then go on to
95828        pollute other filters and cause invalid final output pixels. This
95829        patch checks for filters that require valid inputs, and checks that a
95830        result is valid, and corrects the result if necessary. This matches
95831        the behavior of FF and Opera while preventing crashes or other
95832        undesirable behavior.
95833
95834        Test: svg/filters/feComposite-arithmetic-invalid-rgba.svg
95835
95836        * platform/graphics/filters/FEComposite.h: Override the default validity checks and image cleanup methods.
95837        * platform/graphics/filters/FEComposite.cpp:
95838        (WebCore::FEComposite::correctFilterResultIfNeeded): Force valid pixels if this is an arithmetic filter
95839        * platform/graphics/filters/FilterEffect.cpp:
95840        (WebCore::FilterEffect::apply): Check for validity status and correct
95841        (WebCore::FilterEffect::forceValidPremultipliedPixels): Make an image valid
95842        (WebCore):
95843        * platform/graphics/filters/FilterEffect.h: New virtual methods for image validity.
95844        (FilterEffect):
95845        (WebCore::FilterEffect::requiresValidPreMulultipliedPixels):
95846        (WebCore::FilterEffect::forceValidPremultipliedPixels):
95847        (WebCore::FilterEffect::correctFilterResultIfNeeded):
95848        * rendering/svg/RenderSVGResourceFilter.cpp:
95849        (WebCore::RenderSVGResourceFilter::postApplyResource): Check that the final filter result is valid
95850
958512012-03-05  Alexis Menard  <alexis.menard@openbossa.org>
95852
95853        getComputedStyle gives incorrect information for 'height' property
95854        https://bugs.webkit.org/show_bug.cgi?id=33593
95855
95856        Reviewed by David Hyatt.
95857
95858        Make sure that the contentBoxRect doesn't take into account the
95859        intrinsic padding when querying it. As stated by http://www.w3.org/TR/css3-box/#the-lsquo0
95860        the height is the content area which doesn't include the intrinsic padding, the border, and
95861        the padding.
95862
95863        Test: fast/css/getComputedStyle/getComputedStyle-height.html
95864
95865        * css/CSSComputedStyleDeclaration.cpp:
95866        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
95867        * editing/DeleteSelectionCommand.cpp:
95868        (WebCore::DeleteSelectionCommand::removeNode):
95869        * rendering/RenderBox.h:
95870        (WebCore::RenderBox::contentBoxRect):
95871        (WebCore::RenderBox::contentWidth):
95872        (WebCore::RenderBox::contentHeight):
95873        (WebCore::RenderBox::contentLogicalWidth):
95874        (WebCore::RenderBox::contentLogicalHeight):
95875        * rendering/RenderBoxModelObject.cpp:
95876        (WebCore::RenderBoxModelObject::paddingTop):
95877        (WebCore::RenderBoxModelObject::paddingBottom):
95878        (WebCore::RenderBoxModelObject::paddingLeft):
95879        (WebCore::RenderBoxModelObject::paddingRight):
95880        (WebCore::RenderBoxModelObject::paddingBefore):
95881        (WebCore::RenderBoxModelObject::paddingAfter):
95882        (WebCore::RenderBoxModelObject::paddingStart):
95883        (WebCore::RenderBoxModelObject::paddingEnd):
95884        * rendering/RenderBoxModelObject.h:
95885        (RenderBoxModelObject):
95886        * rendering/RenderTableCell.cpp:
95887        (WebCore::RenderTableCell::paddingTop):
95888        (WebCore::RenderTableCell::paddingBottom):
95889        (WebCore::RenderTableCell::paddingLeft):
95890        (WebCore::RenderTableCell::paddingRight):
95891        (WebCore::RenderTableCell::paddingBefore):
95892        (WebCore::RenderTableCell::paddingAfter):
95893        (WebCore::RenderTableCell::cellBaselinePosition):
95894        * rendering/RenderTableCell.h:
95895        (RenderTableCell):
95896        * rendering/RenderTableSection.cpp:
95897        (WebCore::RenderTableSection::firstLineBoxBaseline):
95898
958992012-03-05  MORITA Hajime  <morrita@google.com>
95900
95901        https://bugs.webkit.org/show_bug.cgi?id=80257
95902        Lifecycle of InternalSettings should be simplified.
95903
95904        Reviewed by Ryosuke Niwa.
95905
95906        - Moved settings update code to separate restoreTo() method.
95907        - Eliminated flags which indidate the changed field.
95908          Now these modifiable parameters are backed up at the initialization.
95909
95910        No new tests. Refactoring.
95911
95912        * testing/InternalSettings.cpp:
95913        (WebCore::InternalSettings::create):
95914        (WebCore::InternalSettings::InternalSettings):
95915        (WebCore):
95916        (WebCore::InternalSettings::restoreTo):
95917        * testing/InternalSettings.h:
95918        (InternalSettings):
95919        * testing/Internals.cpp:
95920        (WebCore::Internals::reset):
95921
959222012-03-05  Anders Carlsson  <andersca@apple.com>
95923
95924        Be more aggressive about repainting page overlays
95925        https://bugs.webkit.org/show_bug.cgi?id=80336
95926        <rdar://problem/10965943>
95927
95928        Reviewed by Simon Fraser.
95929
95930        Add a way to find out if a given GraphicsLayer is going to be repainted.
95931
95932        * WebCore.exp.in:
95933        * platform/graphics/GraphicsLayer.h:
95934        (WebCore::GraphicsLayer::needsDisplay):
95935        (GraphicsLayer):
95936        * platform/graphics/ca/GraphicsLayerCA.h:
95937
959382012-03-05  Robin Cao  <robin.cao@torchmobile.com.cn>
95939
95940        [BlackBerry] Upstream LayerRendererSurface.{cpp, h}
95941        https://bugs.webkit.org/show_bug.cgi?id=80122
95942
95943        Reviewed by Rob Buis.
95944
95945        Initial upstream, no new tests.
95946
95947        * PlatformBlackBerry.cmake:
95948        * platform/graphics/blackberry/LayerRendererSurface.cpp: Added.
95949        (WebCore):
95950        (WebCore::LayerRendererSurface::LayerRendererSurface):
95951        (WebCore::LayerRendererSurface::~LayerRendererSurface):
95952        (WebCore::LayerRendererSurface::setContentRect):
95953        (WebCore::LayerRendererSurface::drawRect):
95954        (WebCore::LayerRendererSurface::ensureTexture):
95955        (WebCore::LayerRendererSurface::releaseTexture):
95956        * platform/graphics/blackberry/LayerRendererSurface.h: Added.
95957        (WebCore):
95958        (LayerRendererSurface):
95959        (WebCore::LayerRendererSurface::size):
95960        (WebCore::LayerRendererSurface::contentRect):
95961        (WebCore::LayerRendererSurface::clipRect):
95962        (WebCore::LayerRendererSurface::setClipRect):
95963        (WebCore::LayerRendererSurface::setDrawTransform):
95964        (WebCore::LayerRendererSurface::drawTransform):
95965        (WebCore::LayerRendererSurface::setReplicaDrawTransform):
95966        (WebCore::LayerRendererSurface::replicaDrawTransform):
95967        (WebCore::LayerRendererSurface::texture):
95968        (WebCore::LayerRendererSurface::drawOpacity):
95969        (WebCore::LayerRendererSurface::setDrawOpacity):
95970
959712012-03-05  Mihnea Ovidenie  <mihnea@adobe.com>
95972
95973        [CSSRegions][CSSOM]Prevent creation of NamedFlow object for invalid flow name
95974        https://bugs.webkit.org/show_bug.cgi?id=79685
95975
95976        Reviewed by David Hyatt.
95977
95978        Asking for a named flow with an invalid flow name should return a null object.
95979
95980        Test: fast/regions/webkit-named-flow-invalid-name.html
95981
95982        * css/CSSParser.cpp:
95983        (WebCore::CSSParser::parseFlowThread):
95984        (WebCore):
95985        * css/CSSParser.h:
95986        * dom/Document.cpp:
95987        (WebCore::validFlowName):
95988        (WebCore):
95989        (WebCore::Document::webkitGetFlowByName):
95990
959912012-03-05  Ryosuke Niwa  <rniwa@webkit.org>
95992
95993        unicode-bidi should support isolate override and override isolate
95994        https://bugs.webkit.org/show_bug.cgi?id=73164
95995
95996        Reviewed by Eric Seidel.
95997
95998        Updated CSS parser and CSS style selector to support the union of bidi-override and isolate in
95999        unicode-bidi property. Added OverrideIsolate to EUnicodeBidi instead of turning Override and Isolate
96000        into bit flags to avoid increasing the number of bits required to store the unicodeBidi flag.
96001
96002        Also fixed a bug in RenderBlock::constructTextRun to actually check whether an isolated run's direction
96003        is overridden or not when constructing one.
96004
96005        Tests: fast/css/unicode-bidi-computed-value.html
96006               fast/text/bidi-override-isolate.html
96007
96008        * css/CSSComputedStyleDeclaration.cpp:
96009        (WebCore::renderUnicodeBidiFlagsToCSSValue): Added; Create a CSSValueList when unicode-bidi has both
96010        isolate and bidi-override specified.
96011        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):  Calls renderUnicodeBidiFlagsToCSSValue.
96012        * css/CSSParser.cpp:
96013        (WebCore::CSSParser::parseValue): Support parsing combinations of -webkit-isolate and bidi-override;
96014        Create a CSSValueList in such cases.
96015        * css/CSSPrimitiveValueMappings.h:
96016        (WebCore):
96017        * css/CSSStyleApplyProperty.cpp:
96018        (ApplyPropertyUnicodeBidi):
96019        (WebCore::ApplyPropertyUnicodeBidi::applyValue): Support combinations of -webkit-isolate and
96020        bidi-override. Set the unicodeBidi flag to OverrideIsolate in such cases.
96021        (WebCore::ApplyPropertyUnicodeBidi::createHandler):
96022        (WebCore):
96023        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
96024        * html/canvas/CanvasRenderingContext2D.cpp:
96025        (WebCore::CanvasRenderingContext2D::drawTextInternal):
96026        * platform/text/UnicodeBidi.h: Added OverrideIsolate. We don't use bit flags to avoid increasing the
96027        number of bits required to store flags especially because isolate and bidi-override are only values
96028        that can be combined.
96029        (WebCore::isIsolated):
96030        (WebCore):
96031        (WebCore::isOverride):
96032        * rendering/RenderBlock.cpp:
96033        (WebCore::RenderBlock::constructTextRun):
96034        * rendering/RenderBlockLineLayout.cpp:
96035        (WebCore::statusWithDirection): Takes isOverride; we used to assume it's always false.
96036        (WebCore::constructBidiRuns): Instantiate isolatedResolver with a proper value of isOverride.
96037        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
96038        (WebCore::RenderBlock::determineStartPosition):
96039        * rendering/RenderListBox.cpp:
96040        (WebCore::RenderListBox::paintItemForeground):
96041        * rendering/RenderMenuList.cpp:
96042        (WebCore::RenderMenuList::itemStyle):
96043        (WebCore::RenderMenuList::menuStyle):
96044        * rendering/RenderTextControlSingleLine.cpp:
96045        (WebCore::RenderTextControlSingleLine::menuStyle):
96046        * rendering/svg/SVGTextMetrics.cpp:
96047        (WebCore::SVGTextMetrics::constructTextRun):
96048
960492012-03-05  Emil A Eklund  <eae@chromium.org>
96050
96051        Replace uses of x(), y() and width(), height() pairs with locationOffset and size()
96052        https://bugs.webkit.org/show_bug.cgi?id=80196
96053
96054        Reviewed by Julien Chaffraix.
96055
96056        Replace IntSize(x(), y()) with locationOffset()
96057        Replace IntSize(width(), height()) with size()
96058        Replace IntRect(0, 0, width(), height()) with IntRect(IntPoint(), size())
96059        Replace IntRect::move(x(), y()) with IntRect::move(locationOffset())
96060
96061        No new tests.
96062
96063        * html/HTMLCanvasElement.cpp:
96064        (WebCore::HTMLCanvasElement::createImageBuffer):
96065        (WebCore::HTMLCanvasElement::baseTransform):
96066        * rendering/RenderBlock.cpp:
96067        (WebCore::RenderBlock::simplifiedLayout):
96068        * rendering/RenderBox.cpp:
96069        (WebCore::RenderBox::mapLocalToContainer):
96070        (WebCore::RenderBox::computeRectForRepaint):
96071        * rendering/RenderBox.h:
96072        (WebCore::RenderBox::borderBoxRect):
96073        * rendering/RenderDeprecatedFlexibleBox.cpp:
96074        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
96075        * rendering/RenderFlexibleBox.cpp:
96076        (WebCore::RenderFlexibleBox::layoutBlock):
96077        * rendering/RenderListMarker.cpp:
96078        (WebCore::RenderListMarker::localSelectionRect):
96079        * rendering/RenderReplaced.cpp:
96080        (WebCore::RenderReplaced::localSelectionRect):
96081        * rendering/RenderScrollbar.cpp:
96082        (WebCore::RenderScrollbar::updateScrollbarParts):
96083        (WebCore::RenderScrollbar::buttonRect):
96084        * rendering/RenderTableSection.cpp:
96085        (WebCore::RenderTableSection::setCellLogicalWidths):
96086        (WebCore::RenderTableSection::layoutRows):
96087        * rendering/RenderView.cpp:
96088        (WebCore::RenderView::viewRect):
96089        * rendering/svg/RenderSVGRoot.cpp:
96090        (WebCore::RenderSVGRoot::layout):
96091
960922012-03-05  Anders Carlsson  <andersca@apple.com>
96093
96094        Always update the scroll layer position on the main thread when we have an overlay
96095        https://bugs.webkit.org/show_bug.cgi?id=80324
96096
96097        Reviewed by Sam Weinig.
96098
96099        Add a way to ensure that scroll layer position updates happen on the main thread.
96100
96101        * WebCore.exp.in:
96102        * page/scrolling/ScrollingCoordinator.cpp:
96103        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
96104        (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
96105        (WebCore):
96106        (WebCore::ScrollingCoordinator::setForceMainThreadScrollLayerPositionUpdates):
96107        * page/scrolling/ScrollingCoordinator.h:
96108        (ScrollingCoordinator):
96109
961102012-03-05  Tony Chang  <tony@chromium.org>
96111
96112        Implement flex-wrap: wrap
96113        https://bugs.webkit.org/show_bug.cgi?id=79930
96114
96115        Reviewed by David Hyatt.
96116
96117        Tests: css3/flexbox/multiline-align.html
96118               css3/flexbox/multiline.html
96119
96120        * rendering/RenderBox.cpp:
96121        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): Don't apply column+stretch optimization to multiline.
96122        * rendering/RenderFlexibleBox.cpp:
96123        (WebCore::RenderFlexibleBox::FlexOrderIterator::FlexOrderIterator):
96124        (WebCore::RenderFlexibleBox::FlexOrderIterator::currentChild): Expose the current child so we can pause
96125        in the middle of iteration and resume later.
96126        (RenderFlexibleBox::FlexOrderIterator):
96127        (WebCore::RenderFlexibleBox::isMultiline):
96128        (WebCore):
96129        (WebCore::RenderFlexibleBox::layoutFlexItems): Loop per line.
96130        (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Use the line space, not the whole container space.
96131        (WebCore::RenderFlexibleBox::computeFlexOrder): Return true for each line.
96132        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the line offset. Also compute the line height as we go.
96133        (WebCore::RenderFlexibleBox::layoutColumnReverse): Use the line offset.
96134        (WebCore::RenderFlexibleBox::alignChildren): Align based on the line height. For multiline + column, we have to relayout
96135        since the width may change (same as the row case above). We'll have to do something smarter when we implement flex-line-pack.
96136        * rendering/RenderFlexibleBox.h:
96137        (RenderFlexibleBox):
96138
961392012-03-05  Ben Vanik  <benvanik@google.com>
96140
96141        Implement WebGL extension EXT_texture_filter_anisotropic
96142        https://bugs.webkit.org/show_bug.cgi?id=79541
96143
96144        This exports the EXT_texture_filter_anisotropic extension with the WEBKIT_ prefix as defined at
96145        https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/extensions/proposals/EXT_texture_filter_anisotropic/index.html
96146
96147        Reviewed by Kenneth Russell.
96148
96149        Tested with the Khronos conformance test for the extension, available at https://cvs.khronos.org/svn/repos/registry/trunk/public/webgl/sdk/tests/conformance/extensions/ext-texture-filter-anisotropic.html
96150
96151        * CMakeLists.txt:
96152        * DerivedSources.make:
96153        * DerivedSources.pri:
96154        * GNUmakefile.list.am:
96155        * Target.pri:
96156        * WebCore.gypi:
96157        * WebCore.xcodeproj/project.pbxproj:
96158        * bindings/js/JSWebGLRenderingContextCustom.cpp:
96159        (WebCore::toJS):
96160        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
96161        (WebCore::toV8Object):
96162        * html/canvas/EXTTextureFilterAnisotropic.cpp: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
96163        (WebCore):
96164        (WebCore::EXTTextureFilterAnisotropic::EXTTextureFilterAnisotropic):
96165        (WebCore::EXTTextureFilterAnisotropic::~EXTTextureFilterAnisotropic):
96166        (WebCore::EXTTextureFilterAnisotropic::getName):
96167        (WebCore::EXTTextureFilterAnisotropic::create):
96168        * html/canvas/EXTTextureFilterAnisotropic.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
96169        (WebCore):
96170        (EXTTextureFilterAnisotropic):
96171        * html/canvas/EXTTextureFilterAnisotropic.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
96172        * html/canvas/WebGLExtension.h:
96173        * html/canvas/WebGLObject.cpp:
96174        * html/canvas/WebGLRenderingContext.cpp:
96175        (WebCore):
96176        (WebCore::WebGLRenderingContext::getExtension):
96177        (WebCore::WebGLRenderingContext::getParameter):
96178        (WebCore::WebGLRenderingContext::getSupportedExtensions):
96179        (WebCore::WebGLRenderingContext::getTexParameter):
96180        (WebCore::WebGLRenderingContext::texParameter):
96181        * html/canvas/WebGLRenderingContext.h:
96182        (WebCore):
96183        (WebGLRenderingContext):
96184        * platform/graphics/Extensions3D.h:
96185        (Extensions3D):
96186        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
96187        (WebCore::Extensions3DOpenGL::supports):
96188
961892012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
96190
96191        Unreviewed, rolling out r109760.
96192        http://trac.webkit.org/changeset/109760
96193        https://bugs.webkit.org/show_bug.cgi?id=80320
96194
96195        Caused many GTK+ tests to crash (Requested by mrobinson on
96196        #webkit).
96197
96198        * platform/network/ResourceHandleClient.h:
96199        * platform/network/soup/ResourceHandleSoup.cpp:
96200        (WebCoreSynchronousLoader):
96201        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
96202        (WebCore):
96203        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
96204        (WebCore::WebCoreSynchronousLoader::didReceiveResponse):
96205        (WebCore::WebCoreSynchronousLoader::didReceiveData):
96206        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
96207        (WebCore::WebCoreSynchronousLoader::didFail):
96208        (WebCore::WebCoreSynchronousLoader::run):
96209        (WebCore::closeCallback):
96210        (WebCore::readCallback):
96211        (WebCore::ResourceHandle::defaultSession):
96212
962132012-03-05  Adam Klein  <adamk@chromium.org>
96214
96215        Never dispatch mutation events in shadow DOM
96216        https://bugs.webkit.org/show_bug.cgi?id=79278
96217
96218        Reviewed by Ryosuke Niwa.
96219
96220        Test: fast/dom/shadow/suppress-mutation-events-in-shadow.html
96221
96222        * dom/ContainerNode.cpp:
96223        (WebCore::ContainerNode::removeChildren): Move allowEventDispatch() call later,
96224        now that childrenChanged won't trigger mutation events in shadow dom.
96225        (WebCore::dispatchChildInsertionEvents): Bail out if in shadow tree.
96226        (WebCore::dispatchChildRemovalEvents): ditto.
96227        * dom/Node.cpp:
96228        (WebCore::Node::dispatchSubtreeModifiedEvent): ditto.
96229
962302012-03-05  Alexey Proskuryakov  <ap@apple.com>
96231
96232        BlobResourceHandle should keep a reference to itself when calling client code.
96233        https://bugs.webkit.org/show_bug.cgi?id=80318
96234
96235        Reviewed by Brady Eidson.
96236
96237        * platform/network/BlobResourceHandle.cpp:
96238        (WebCore::BlobResourceHandle::doStart):
96239        (WebCore::BlobResourceHandle::getSizeForNext):
96240        (WebCore::BlobResourceHandle::readSync):
96241        (WebCore::BlobResourceHandle::readDataAsync):
96242        (WebCore::BlobResourceHandle::consumeData):
96243        (WebCore::BlobResourceHandle::failed):
96244        Added RefPtrs in functions that can result in calling client code, and use "this" object afterwards.
96245
962462012-03-05  Anders Carlsson  <andersca@apple.com>
96247
96248        Let RenderLayerCompositor set the tile cache visible rect
96249        https://bugs.webkit.org/show_bug.cgi?id=80317
96250
96251        Reviewed by Simon Fraser.
96252
96253        We can't compute the visible rect from CALayers, because that breaks when we're updating
96254        the scroll layer position on the main thread (since by the time visibleRectChanged() is called,
96255        the CALayers won't yet have been updated).
96256
96257        * platform/graphics/GraphicsLayer.h:
96258        (WebCore::GraphicsLayer::visibleRectChanged):
96259        * platform/graphics/ca/GraphicsLayerCA.cpp:
96260        (WebCore::GraphicsLayerCA::visibleRectChanged):
96261        * platform/graphics/ca/GraphicsLayerCA.h:
96262        (GraphicsLayerCA):
96263        * platform/graphics/ca/PlatformCALayer.h:
96264        (PlatformCALayer):
96265        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
96266        (PlatformCALayer::visibleRectChanged):
96267        * platform/graphics/ca/mac/TileCache.h:
96268        (TileCache):
96269        * platform/graphics/ca/mac/TileCache.mm:
96270        (WebCore::TileCache::visibleRectChanged):
96271        (WebCore::TileCache::revalidateTiles):
96272        * platform/graphics/ca/mac/WebTileCacheLayer.h:
96273        (WebCore):
96274        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
96275        (-[WebTileCacheLayer visibleRectChanged:]):
96276        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
96277        (PlatformCALayer::visibleRectChanged):
96278        * rendering/RenderLayerCompositor.cpp:
96279        (WebCore::RenderLayerCompositor::frameViewDidScroll):
96280
962812012-03-05  Kangil Han  <kangil.han@samsung.com>
96282
96283        [CMake][DRT] Add WebCoreTestSupport.
96284        https://bugs.webkit.org/show_bug.cgi?id=79896
96285
96286        Reviewed by Daniel Bates.
96287
96288        Add WebCoreTestSupport library for DRT in CMake.
96289        We will use internals object by linking this library on DRT.
96290
96291        * CMakeLists.txt:
96292        * UseJSC.cmake:
96293        * UseV8.cmake:
96294
962952012-03-05  Sheriff Bot  <webkit.review.bot@gmail.com>
96296
96297        Unreviewed, rolling out r109656.
96298        http://trac.webkit.org/changeset/109656
96299        https://bugs.webkit.org/show_bug.cgi?id=80316
96300
96301        This seems to have regressed Parser/html5-full-render by about
96302        10% (Requested by anttik on #webkit).
96303
96304        * css/CSSComputedStyleDeclaration.cpp:
96305        (WebCore::getPositionOffsetValue):
96306        (WebCore::getBorderRadiusCornerValues):
96307        (WebCore::getBorderRadiusCornerValue):
96308        (WebCore::getBorderRadiusShorthandValue):
96309        (WebCore::lineHeightFromStyle):
96310        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
96311        * css/CSSGrammar.y:
96312        * css/CSSParser.cpp:
96313        (WebCore::CSSParser::validUnit):
96314        (WebCore::CSSParser::createPrimitiveNumericValue):
96315        (WebCore::unitFromString):
96316        (WebCore::CSSParser::parseValidPrimitive):
96317        (WebCore::CSSParser::detectNumberToken):
96318        * css/CSSPrimitiveValue.cpp:
96319        (WebCore::isValidCSSUnitTypeForDoubleConversion):
96320        (WebCore::unitCategory):
96321        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
96322        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory):
96323        (WebCore::CSSPrimitiveValue::customCssText):
96324        * css/CSSPrimitiveValue.h:
96325        (CSSPrimitiveValue):
96326        * css/CSSPrimitiveValue.idl:
96327        * css/CSSStyleApplyProperty.cpp:
96328        (WebCore::ApplyPropertyLength::applyValue):
96329        (WebCore::ApplyPropertyBorderRadius::applyValue):
96330        (WebCore::ApplyPropertyFontSize::applyValue):
96331        (WebCore::ApplyPropertyLineHeight::applyValue):
96332        (WebCore::ApplyPropertyVerticalAlign::applyValue):
96333        * css/CSSStyleSelector.cpp:
96334        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
96335        * dom/Document.cpp:
96336        (WebCore::Document::pageSizeAndMarginsInPixels):
96337        (WebCore):
96338        * dom/Document.h:
96339        (Document):
96340        * html/HTMLAreaElement.cpp:
96341        (WebCore::HTMLAreaElement::getRegion):
96342        * platform/Length.h:
96343        (WebCore::Length::calcValue):
96344        (WebCore::Length::calcMinValue):
96345        (WebCore::Length::calcFloatValue):
96346        (WebCore::Length::blend):
96347        * rendering/RenderBR.cpp:
96348        (WebCore::RenderBR::lineHeight):
96349        * rendering/RenderBlock.cpp:
96350        (WebCore::RenderBlock::lineHeight):
96351        * rendering/RenderBox.cpp:
96352        (WebCore::RenderBox::reflectionOffset):
96353        (WebCore::RenderBox::paintBoxDecorations):
96354        (WebCore::RenderBox::clipRect):
96355        (WebCore::RenderBox::computeLogicalWidthInRegion):
96356        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
96357        (WebCore::RenderBox::computeInlineDirectionMargins):
96358        (WebCore::RenderBox::computeLogicalHeightUsing):
96359        (WebCore::RenderBox::computePercentageLogicalHeight):
96360        (WebCore::RenderBox::computeReplacedLogicalHeightUsing):
96361        (WebCore::RenderBox::computeBlockDirectionMargins):
96362        (WebCore::RenderBox::computePositionedLogicalWidthUsing):
96363        (WebCore::RenderBox::computePositionedLogicalHeightUsing):
96364        (WebCore::RenderBox::computePositionedLogicalWidthReplaced):
96365        (WebCore::RenderBox::computePositionedLogicalHeightReplaced):
96366        * rendering/RenderBoxModelObject.cpp:
96367        (WebCore::RenderBoxModelObject::relativePositionOffsetX):
96368        (WebCore::RenderBoxModelObject::relativePositionOffsetY):
96369        (WebCore::RenderBoxModelObject::paddingTop):
96370        (WebCore::RenderBoxModelObject::paddingBottom):
96371        (WebCore::RenderBoxModelObject::paddingLeft):
96372        (WebCore::RenderBoxModelObject::paddingRight):
96373        (WebCore::RenderBoxModelObject::paddingBefore):
96374        (WebCore::RenderBoxModelObject::paddingAfter):
96375        (WebCore::RenderBoxModelObject::paddingStart):
96376        (WebCore::RenderBoxModelObject::paddingEnd):
96377        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect):
96378        (WebCore::RenderBoxModelObject::calculateFillTileSize):
96379        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
96380        (WebCore::computeBorderImageSide):
96381        (WebCore::RenderBoxModelObject::paintNinePieceImage):
96382        (WebCore::RenderBoxModelObject::paintBorder):
96383        (WebCore::RenderBoxModelObject::paintBoxShadow):
96384        * rendering/RenderFlexibleBox.cpp:
96385        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild):
96386        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
96387        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
96388        * rendering/RenderInline.cpp:
96389        (WebCore::computeMargin):
96390        (WebCore::RenderInline::lineHeight):
96391        * rendering/RenderMenuList.cpp:
96392        (WebCore::RenderMenuList::updateOptionsWidth):
96393        * rendering/RenderObject.cpp:
96394        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
96395        * rendering/RenderObject.h:
96396        (RenderObject):
96397        * rendering/RenderReplaced.cpp:
96398        (WebCore::RenderReplaced::paint):
96399        * rendering/RenderScrollbarPart.cpp:
96400        (WebCore::calcScrollbarThicknessUsing):
96401        (WebCore::RenderScrollbarPart::computeScrollbarWidth):
96402        (WebCore::RenderScrollbarPart::computeScrollbarHeight):
96403        * rendering/RenderTable.cpp:
96404        (WebCore::RenderTable::computeLogicalWidth):
96405        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
96406        * rendering/RenderTableCell.cpp:
96407        (WebCore::RenderTableCell::logicalHeightForRowSizing):
96408        * rendering/RenderTableSection.cpp:
96409        (WebCore::RenderTableSection::calcRowLogicalHeight):
96410        * rendering/RenderText.h:
96411        (WebCore::RenderText::marginLeft):
96412        (WebCore::RenderText::marginRight):
96413        * rendering/RenderThemeMac.mm:
96414        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
96415        * rendering/RenderWidget.cpp:
96416        (WebCore::RenderWidget::paint):
96417        * rendering/RootInlineBox.cpp:
96418        (WebCore::RootInlineBox::verticalPositionForBox):
96419        * rendering/style/RenderStyle.cpp:
96420        (WebCore::calcRadiiFor):
96421        (WebCore::RenderStyle::getRoundedBorderFor):
96422        * rendering/style/RenderStyle.h:
96423        * rendering/svg/RenderSVGRoot.cpp:
96424        (WebCore::resolveLengthAttributeForSVG):
96425        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
96426        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
96427
964282012-03-05  Rob Buis  <rbuis@rim.com>
96429
96430        [BlackBerry] Add missing method to PasteboardBlackBerry.cpp
96431        https://bugs.webkit.org/show_bug.cgi?id=80326
96432
96433        Reviewed by Antonio Gomes.
96434
96435        Add missing method.
96436
96437        * platform/blackberry/PasteboardBlackBerry.cpp:
96438        (WebCore::Pasteboard::writeClipboard):
96439        (WebCore):
96440
964412012-03-05  Rob Buis  <rbuis@rim.com>
96442
96443        [BlackBerry] UTF chars printed back from cookie through php shows as ???
96444        https://bugs.webkit.org/show_bug.cgi?id=80307
96445
96446        Reviewed by Antonio Gomes.
96447
96448        PR: 130055
96449
96450        we need to check the cookies encoding first and encode the cookie header data
96451        to pass to the request.
96452
96453        * platform/network/blackberry/NetworkManager.cpp:
96454        (WebCore::NetworkManager::startJob):
96455
964562012-03-05  Dana Jansens  <danakj@chromium.org>
96457
96458        [chromium] Remove old cleanupResources() code
96459        https://bugs.webkit.org/show_bug.cgi?id=80290
96460
96461        Reviewed by Adrienne Walker.
96462
96463        cleanupResources() is only called by destructors, and adds no
96464        value, any more, beyond the destructors themselves, but complicates
96465        the code path.
96466
96467        Covered by existing tests.
96468
96469        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
96470        * platform/graphics/chromium/cc/CCLayerImpl.h:
96471        (CCLayerImpl):
96472        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
96473        (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
96474        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
96475        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
96476        (WebCore::CCRenderSurface::~CCRenderSurface):
96477        * platform/graphics/chromium/cc/CCRenderSurface.h:
96478        (CCRenderSurface):
96479        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
96480        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
96481
964822012-03-05  Sami Kyostila  <skyostil@chromium.org>
96483
96484        Partially loaded JPEGs should have alpha channel
96485        https://bugs.webkit.org/show_bug.cgi?id=78239
96486
96487        Reviewed by Kenneth Russell.
96488
96489        While a JPEG image is loading, the area outside the decoded region
96490        should be fully transparent. Since currently all JPEG frames are marked
96491        as opaque, a renderer respecting this flag will draw the partially
96492        loaded image with garbage outside the valid image region.
96493
96494        Hence, a partially loaded JPEG image should be marked as having an alpha
96495        channel while decoding is in progress. For performance reasons we mark
96496        the image opaque after decoding has finished.
96497
96498        Graphics corruption caused by this bug was recently observed on
96499        Chromium (http://code.google.com/p/chromium/issues/detail?id=113171). A
96500        recent Skia change (r3036) changed SkBitmap::extractSubset() to produce
96501        a bitmap with the same opaqueness flag as the parent. This meant that
96502        the renderer was now seeing an opaque image from the JPEG decoder, and
96503        drawing it appropriately resulted in garbage outside the decoded region.
96504
96505        Test: http/tests/incremental/partial-jpeg.html
96506
96507        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
96508        (WebCore::JPEGImageDecoder::outputScanlines):
96509        (WebCore::JPEGImageDecoder::jpegComplete):
96510
965112012-03-05  James Robinson  <jamesr@chromium.org>
96512
96513        [chromium] Initialize CCOverdrawCounts struct to zero
96514        https://bugs.webkit.org/show_bug.cgi?id=80204
96515
96516        Reviewed by Adrienne Walker.
96517
96518        CCOverdrawCounts is stack allocated but not explicitly initialized, so the values are garbage. This adds a c'tor
96519        to zero out the fields, which is the desired behavior.  Bug was initially caught by valgrind, see
96520        http://crbug.com/116475
96521
96522        * platform/graphics/chromium/cc/CCRenderPass.h:
96523        (WebCore::CCOverdrawCounts::CCOverdrawCounts):
96524
965252012-03-05  Min Qin  <qinmin@google.com>
96526
96527        Add media control css for chromium on android
96528        https://bugs.webkit.org/show_bug.cgi?id=79550
96529
96530        Reviewed by Adam Barth.
96531
96532        This should not change the any test results as it does not affect the any current bots. New test expectations will be added if we have a android bot on webkit.
96533
96534        * WebCore.gyp/WebCore.gyp:
96535        * css/mediaControlsChromiumAndroid.css: Added.
96536        (body:-webkit-full-page-media):
96537        (audio):
96538        (audio:-webkit-full-page-media, video:-webkit-full-page-media):
96539        (audio::-webkit-media-controls-panel, video::-webkit-media-controls-panel):
96540        (video:-webkit-full-page-media::-webkit-media-controls-panel):
96541        (audio::-webkit-media-controls-mute-button, video::-webkit-media-controls-mute-button):
96542        (audio::-webkit-media-controls-play-button, video::-webkit-media-controls-play-button):
96543        (audio::-webkit-media-controls-timeline-container):
96544        (video::-webkit-media-controls-timeline-container):
96545        (audio::-webkit-media-controls-current-time-display, video::-webkit-media-controls-current-time-display):
96546        (audio::-webkit-media-controls-timeline, video::-webkit-media-controls-timeline):
96547        (video::-webkit-media-controls-fullscreen-button):
96548        (audio::-webkit-media-controls-fullscreen-button):
96549        (audio::-webkit-media-controls-volume-slider-container, video::-webkit-media-controls-volume-slider-container):
96550        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
96551        * rendering/RenderMediaControlsChromium.cpp:
96552        (WebCore::paintMediaFullscreenButton):
96553        (WebCore):
96554        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
96555        * rendering/RenderThemeChromiumAndroid.cpp:
96556        (WebCore::RenderThemeChromiumAndroid::extraMediaControlsStyleSheet):
96557        (WebCore):
96558        (WebCore::RenderThemeChromiumAndroid::paintMediaFullscreenButton):
96559        * rendering/RenderThemeChromiumAndroid.h:
96560
965612012-03-05  Anders Carlsson  <andersca@apple.com>
96562
96563        Fix crash in ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition
96564        https://bugs.webkit.org/show_bug.cgi?id=80303
96565        <rdar://problem/10953682>
96566
96567        Reviewed by Beth Dakin.
96568
96569        Add the same null checks that already exist in updateMainFrameScrollPosition.
96570
96571        * page/scrolling/ScrollingCoordinator.cpp:
96572        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
96573
965742012-03-05  Alexander Pavlov  <apavlov@chromium.org>
96575
96576        Web Inspector: CSS inactive property check should account for vendor prefixes
96577        https://bugs.webkit.org/show_bug.cgi?id=80225
96578
96579        Reviewed by Pavel Feldman.
96580
96581        Test: inspector/styles/vendor-prefixes.html
96582
96583        * inspector/InspectorStyleSheet.cpp:
96584        (WebCore::InspectorStyle::populateObjectWithStyleProperties):
96585        * inspector/front-end/StylesSidebarPane.js:
96586        (WebInspector.StylesSidebarPane.alteredHexNumber):
96587        (WebInspector.StylesSidebarPane.canonicalPropertyName):
96588        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
96589        (WebInspector.StylePropertiesSection.prototype.isPropertyOverloaded):
96590
965912012-03-05  Adam Barth  <abarth@webkit.org>
96592
96593        Geolocation should use a ScriptExecutionContext as its context object
96594        https://bugs.webkit.org/show_bug.cgi?id=80248
96595
96596        Reviewed by Kentaro Hara.
96597
96598        This patch updates Geolocation to use some more modern WebCore
96599        mechanisms.  Previously, Geolocation used a Frame as a context object,
96600        which required a bunch of manual integration with the PageCache as well
96601        as custom signaling for Geolocation::reset().  After this patch,
96602        Geolocation subclasses ActiveDOMObject, which does all this work
96603        automatically.
96604
96605        * Modules/geolocation/Geolocation.cpp:
96606        (WebCore::Geolocation::create):
96607        (WebCore):
96608        (WebCore::Geolocation::Geolocation):
96609        (WebCore::Geolocation::~Geolocation):
96610        (WebCore::Geolocation::document):
96611        (WebCore::Geolocation::frame):
96612        (WebCore::Geolocation::page):
96613        (WebCore::Geolocation::stop):
96614        (WebCore::Geolocation::getCurrentPosition):
96615        (WebCore::Geolocation::watchPosition):
96616        (WebCore::Geolocation::requestPermission):
96617        (WebCore::Geolocation::clearWatch):
96618        (WebCore::Geolocation::setIsAllowed):
96619        * Modules/geolocation/Geolocation.h:
96620        (WebCore):
96621        (Geolocation):
96622        * Modules/geolocation/NavigatorGeolocation.cpp:
96623        (WebCore):
96624        (WebCore::NavigatorGeolocation::geolocation):
96625        * Modules/geolocation/NavigatorGeolocation.h:
96626        (NavigatorGeolocation):
96627        * dom/Document.cpp:
96628        (WebCore::Document::Document):
96629        * dom/Document.h:
96630        (Document):
96631        * history/PageCache.cpp:
96632        (WebCore::logCanCacheFrameDecision):
96633        (WebCore::PageCache::canCachePageContainingThisFrame):
96634
966352012-03-05  Martin Robinson  <mrobinson@igalia.com>
96636
96637        [soup] Crash while loading http://www.jusco.cn
96638        https://bugs.webkit.org/show_bug.cgi?id=68238
96639
96640        Reviewed by Philippe Normand.
96641
96642        Test: http/tests/xmlhttprequest/xmlhttprequest-sync-no-timers.html
96643
96644        When running synchronous XMLHttpRequests, push a new inner thread default
96645        context, so that other sources from timers and network activity do not run.
96646        This will make synchronous requests truly synchronous with the rest of
96647        WebCore.
96648
96649        * platform/network/soup/ResourceHandleSoup.cpp:
96650        (WebCoreSynchronousLoader): Clean up the method definitions a bit by writing them inline.
96651        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader): Push a new thread default
96652        context to prevent other sources from running.
96653        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader): Pop the inner thread default context.
96654        (WebCore::closeCallback): If the client is synchronous call didFinishLoading now.
96655        (WebCore::readCallback): Only call didFinishLoading if the client isn't synchronous.
96656        (WebCore::ResourceHandle::defaultSession): Activate use-thread-context so that the soup session
96657        respects the inner thread context.
96658        (ResourceHandleClient):
96659        (WebCore::ResourceHandleClient::isSynchronousClient): Added this virtual method.
96660
966612012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
96662
96663        Remove pointer to timer and use the timers directly in the tiled backing store
96664        https://bugs.webkit.org/show_bug.cgi?id=80283
96665
96666        Patch by Kenneth Rohde Christiansen and Alexander Færøy.
96667
96668        Reviewed by Simon Hausmann.
96669
96670        * platform/graphics/TiledBackingStore.cpp:
96671        (WebCore::TiledBackingStore::TiledBackingStore):
96672        (WebCore::TiledBackingStore::~TiledBackingStore):
96673        (WebCore::TiledBackingStore::createTiles):
96674        (WebCore::TiledBackingStore::startTileBufferUpdateTimer):
96675        (WebCore::TiledBackingStore::startTileCreationTimer):
96676        * platform/graphics/TiledBackingStore.h:
96677        (TiledBackingStore):
96678
966792012-03-05  Alexander Pavlov  <apavlov@chromium.org>
96680
96681        Web Inspector: [Styles] Tabbing an empty new property in the middle of style moves the editor to the next section
96682        https://bugs.webkit.org/show_bug.cgi?id=80264
96683
96684        Reviewed by Pavel Feldman.
96685
96686        * inspector/front-end/StylesSidebarPane.js:
96687        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection.alreadyNew):
96688        (WebInspector.StylePropertyTreeElement.prototype):
96689
966902012-03-05  Rob Buis  <rbuis@rim.com>
96691
96692        [BlackBerry] Update LocalizedStringsBlackBerry.cpp
96693        https://bugs.webkit.org/show_bug.cgi?id=80278
96694
96695        Reviewed by Antonio Gomes.
96696
96697        Update LocalizedStringsBlackBerry.cpp to current HEAD.
96698
96699        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
96700        (WebCore::inputElementAltText): fall back to "Submit".
96701        (WebCore::imageTitle): choose the format "filename(widthxheight)" like Chrome does.
96702        (WebCore::fileButtonNoFilesSelectedLabel): fall back to "No File Chosen" translation like Chrome does.
96703        (WebCore):
96704
967052012-03-05  Ilya Tikhonovsky  <loislo@chromium.org>
96706
96707        Web Inspector: [chromium] introduce HeapSnapshot performance test.
96708        https://bugs.webkit.org/show_bug.cgi?id=80280
96709
96710        Reviewed by Pavel Feldman.
96711
96712        * inspector/front-end/HeapSnapshotProxy.js:
96713        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading.updateStaticData):
96714        (WebInspector.HeapSnapshotLoaderProxy.prototype.finishLoading):
96715        (WebInspector.HeapSnapshotLoaderProxy.prototype._callLoadCallbacks):
96716
967172012-03-05  Pavel Feldman  <pfeldman@chromium.org>
96718
96719        Web Inspector: cannot be launched when localStorage is disabled
96720        https://bugs.webkit.org/show_bug.cgi?id=80252
96721
96722        Reviewed by Vsevolod Vlasov.
96723
96724        * inspector/front-end/Settings.js:
96725
967262012-03-05  Pavel Feldman  <pfeldman@chromium.org>
96727
96728        Web Inspector: check for the number of parsed css properties.
96729        https://bugs.webkit.org/show_bug.cgi?id=80268
96730
96731        Reviewed by Vsevolod Vlasov.
96732
96733        Test: inspector/styles/set-property-boundaries.html
96734
96735        * inspector/InspectorCSSAgent.cpp:
96736        (WebCore::InspectorCSSAgent::didRemoveDOMNode):
96737        * inspector/InspectorStyleSheet.cpp:
96738        (WebCore::InspectorStyle::setPropertyText):
96739
967402012-03-05  Vsevolod Vlasov  <vsevik@chromium.org>
96741
96742        Web Inspector: Tabbed pane should redraw tab elements when tab is closed.
96743        https://bugs.webkit.org/show_bug.cgi?id=80273
96744
96745        Reviewed by Pavel Feldman.
96746
96747        * inspector/front-end/TabbedPane.js:
96748        (WebInspector.TabbedPane.prototype.closeTab):
96749
967502012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
96751
96752        Improve comments in the tiled backing store
96753        https://bugs.webkit.org/show_bug.cgi?id=80279
96754
96755        Patch by Kenneth Rohde Christiansen and Alexander Færøy.
96756
96757        Reviewed by Simon Hausmann.
96758
96759        * platform/graphics/TiledBackingStore.cpp:
96760        (WebCore::TiledBackingStore::createTiles):
96761
967622012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
96763
96764        TiledBackingStore.{h,cpp} contains unclear variable names
96765        https://bugs.webkit.org/show_bug.cgi?id=80276
96766
96767        Patch by Kenneth Rohde Christiansen and Alexander Færøy.
96768
96769        Reviewed by Simon Hausmann.
96770
96771        This patch renames some of the variables in TiledBackingStore.cpp to
96772        enhance the clearity and for consistence.
96773
96774        The visibleContentsRect is renamed to visibleRect as it is not in
96775        contents coordinates.
96776
96777        The panningTrajectoryVector and m_visibleRectTrajectoryVector are
96778        renamed to just *[m_]trajectoryVector, as that is descriptive enough.
96779
96780        The previous prefix has also been removed, as it is being used as the
96781        current one in the code. This avoids confusion.
96782
96783        * platform/graphics/TiledBackingStore.cpp:
96784        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
96785        (WebCore::TiledBackingStore::visibleRect):
96786        (WebCore::TiledBackingStore::visibleAreaIsCovered):
96787        (WebCore::TiledBackingStore::createTiles):
96788        (WebCore::TiledBackingStore::computeCoverAndKeepRect):
96789        (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
96790        * platform/graphics/TiledBackingStore.h:
96791        (TiledBackingStore):
96792
967932012-03-05  Simon Hausmann  <simon.hausmann@nokia.com>
96794
96795        [Qt] Fix build with Qt 5 and OpenGL ES 2.0
96796
96797        Reviewed by Noam Rosenthal.
96798
96799        * platform/graphics/texmap/TextureMapper.h: Since we don't do QT += opengl with Qt 5 anymore
96800        here in WebCore, we cannot check for QT_OPENGL_LIB. But since this is Qt5, we know that the
96801        GLES setting comes qconfig.h and we can rely on it.
96802
968032012-03-05  Alexander Færøy  <alexander.faeroy@nokia.com>
96804
96805        Whitespace clean-up of TiledBackingStore.cpp.
96806
96807        Rubber-stamped by Kenneth Rohde Christiansen.
96808
96809        Already covered by existing tests.
96810
96811        * platform/graphics/TiledBackingStore.cpp:
96812        (WebCore):
96813        (WebCore::TiledBackingStore::updateTileBuffers):
96814        (WebCore::TiledBackingStore::paint):
96815
968162012-03-05  Carlos Garcia Campos  <cgarcia@igalia.com>
96817
96818        Unreviewed. Fix make distcheck.
96819
96820        * GNUmakefile.list.am: Add missing header file.
96821
968222012-03-05  Alexander Pavlov  <apavlov@chromium.org>
96823
96824        Web Inspector: Incorrect appropriateSelectorFor() suggestion for when a DOMNode has more than 2 CSS classes
96825        https://bugs.webkit.org/show_bug.cgi?id=80258
96826
96827        Reviewed by Pavel Feldman.
96828
96829        * inspector/front-end/DOMAgent.js:
96830        (WebInspector.DOMNode.prototype.appropriateSelectorFor):
96831
968322012-03-02  Alexander Pavlov  <apavlov@chromium.org>
96833
96834        Web Inspector: [Styles] [CRASH] Handle rule addition and inline style editing failure due to Content-Security-Policy in the page
96835        https://bugs.webkit.org/show_bug.cgi?id=80024
96836
96837        Reviewed by Pavel Feldman.
96838
96839        Test: inspector/styles/add-new-rule-inline-style-csp.html
96840
96841        * inspector/InspectorCSSAgent.cpp:
96842        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
96843        * inspector/InspectorCSSAgent.h:
96844        (InlineStyleOverrideScope):
96845        (WebCore::InspectorCSSAgent::InlineStyleOverrideScope::InlineStyleOverrideScope):
96846        (WebCore::InspectorCSSAgent::InlineStyleOverrideScope::~InlineStyleOverrideScope):
96847        (InspectorCSSAgent):
96848        * inspector/InspectorStyleSheet.cpp:
96849        (WebCore::InspectorStyleSheetForInlineStyle::setStyleText):
96850        * page/ContentSecurityPolicy.cpp:
96851        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
96852        (WebCore::ContentSecurityPolicy::allowInlineStyle):
96853        (WebCore::ContentSecurityPolicy::setOverrideAllowInlineStyle):
96854        (WebCore):
96855        * page/ContentSecurityPolicy.h:
96856        (ContentSecurityPolicy):
96857
968582012-03-05  Yoshifumi Inoue  <yosin@chromium.org>
96859
96860        [Forms] The "optgroup" element should not be a form-associated element
96861        https://bugs.webkit.org/show_bug.cgi?id=80234
96862
96863        Reviewed by Kent Tamura.
96864
96865        This patch changes base class of HTMLOptGroup to HTMLElement from
96866        HTMLFormControlElement to avoid the "optgroup" element in form-associate
96867        elements collection.
96868
96869        This patch doesn't affect HTMLOptionElement::disabled's static_cast. However,
96870        it doesn't good at coding style. This patch also fix it.
96871
96872
96873        No new tests. No behavior changes.
96874
96875        * html/HTMLOptGroupElement.cpp:
96876        (WebCore::HTMLOptGroupElement::HTMLOptGroupElement): Remove "form" parameter.
96877        (WebCore::HTMLOptGroupElement::create): Remove "form" parameter.
96878        (WebCore::HTMLOptGroupElement::childrenChanged): Replace base method call.
96879        (WebCore::HTMLOptGroupElement::parseAttribute): Replace base method call.
96880        (WebCore::HTMLOptGroupElement::attach): Replace base method call.
96881        (WebCore::HTMLOptGroupElement::detach): Replace base method call.
96882        * html/HTMLOptGroupElement.h:
96883        (HTMLOptGroupElement): Change base class to HTMLElement.
96884        * html/HTMLOptionElement.cpp:
96885        (WebCore::HTMLOptionElement::disabled): Replace static_cast<HTMLFormControlElement*> to static_cast<HTMLElement*> with checking isHTMLElement.
96886        * html/HTMLTagNames.in: Remove "constructorNeedsFormElement" for not passing "form" parameter in HTMLElementFactory.
96887
968882012-03-05  Pavel Podivilov  <podivilov@chromium.org>
96889
96890        Web Inspector: fix extensions-resource.html test.
96891        https://bugs.webkit.org/show_bug.cgi?id=80183
96892
96893        Reviewed by Vsevolod Vlasov.
96894
96895        * inspector/front-end/DebuggerPresentationModel.js:
96896        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
96897
968982012-03-02  Andrey Kosyakov  <caseq@chromium.org>
96899
96900        Add instrumentation for frame start/end on timeline.
96901
96902        Web Inspector: add timeline instrumentation for frame events
96903        https://bugs.webkit.org/show_bug.cgi?id=80127
96904
96905        Reviewed by Pavel Feldman.
96906
96907        - display frame boundaries when vertical overview mode is on
96908        - aggregate by frame in vertical overview mode
96909        - switched event filtering criteria from index to time in vertical overview mode
96910
96911        * inspector/InspectorInstrumentation.cpp:
96912        (WebCore::InspectorInstrumentation::didBeginFrameImpl):
96913        (WebCore):
96914        * inspector/InspectorInstrumentation.h:
96915        (InspectorInstrumentation):
96916        (WebCore::InspectorInstrumentation::didBeginFrame):
96917        (WebCore):
96918        * inspector/InspectorTimelineAgent.cpp:
96919        (TimelineRecordType):
96920        (WebCore::InspectorTimelineAgent::didBeginFrame):
96921        (WebCore):
96922        * inspector/InspectorTimelineAgent.h:
96923        (InspectorTimelineAgent):
96924        * inspector/front-end/TimelineModel.js:
96925        * inspector/front-end/TimelineOverviewPane.js:
96926        (WebInspector.TimelineOverviewPane):
96927        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
96928        (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
96929        (WebInspector.TimelineOverviewPane.prototype.updateEventDividers):
96930        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
96931        (WebInspector.TimelineOverviewPane.prototype.reset):
96932        (WebInspector.TimelineOverviewPane.prototype.accept):
96933        (WebInspector.TimelineOverviewPane.prototype.windowStartTime):
96934        (WebInspector.TimelineOverviewPane.prototype.windowEndTime):
96935        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
96936        (WebInspector.TimelineStartAtZeroOverview):
96937        (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
96938        (WebInspector.TimelineStartAtZeroOverview.prototype.update):
96939        (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateFrames):
96940        (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateFrameStatistics):
96941        (WebInspector.TimelineStartAtZeroOverview.prototype._aggregateRecords):
96942        (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
96943        (WebInspector.TimelineStartAtZeroOverview.prototype.getWindowTimes):
96944        * inspector/front-end/TimelinePanel.js:
96945        (WebInspector.TimelinePanel.prototype._updateEventDividers):
96946        (WebInspector.TimelinePanel.prototype._createEventDivider):
96947        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
96948        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
96949        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
96950        (WebInspector.TimelinePanel.prototype._refresh):
96951        (WebInspector.TimelinePanel.prototype._refreshRecords):
96952        (WebInspector.TimelineCategoryFilter.prototype.accept):
96953        * inspector/front-end/TimelinePresentationModel.js:
96954        (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
96955        * inspector/front-end/inspectorCommon.css:
96956        * inspector/front-end/timelinePanel.css:
96957        (#timeline-container):
96958        (.timeline .resources-event-divider):
96959        (.timeline.timeline-start-at-zero .resources-divider):
96960        (.timeline .resources-event-divider.timeline-frame-divider):
96961
969622012-03-05  MORITA Hajime  <morrita@google.com>
96963
96964        Unreviewed build fix for !ENABLE(SHADOW_DOM).
96965
96966        * html/shadow/HTMLContentElement.cpp:
96967        (WebCore::contentTagName):
96968
969692012-03-04  MORITA Hajime  <morrita@google.com>
96970
96971        Internally used HTMLContentElement subclasses should have correct wrapper.
96972        https://bugs.webkit.org/show_bug.cgi?id=80237
96973
96974        Reviewed by Kent Tamura.
96975
96976        DetailsContentElement and DetailsSummaryElement used to use
96977        <div> as their tag name. But this means they are wrapped by
96978        wrapper objects for HTMLDivElement, which is wrong. This happened
96979        to work though because HTMLDivElement has no extra state or API.
96980
96981        This change introduces "noConstructor" keyword for make_name.pl
96982        sources.  This keyword allows a tag name to specify its own
96983        wrapper without making the tag name visible from the parser, or
96984        HTMLElementFactory in precise.
96985
96986        Following this addition, this change also adds a new tag name
96987        "webkitShadowContent" for DetailsContentElement and DetailsSummaryElement,
96988        which has no constructor, and whose wrapper type is HTMLElement.
96989
96990        This change isn't visible from the page author and only matters for testing.
96991
96992        Test: fast/dom/shadow/content-element-user-agent-shadow.html
96993
96994        * dom/make_names.pl:
96995        (defaultTagPropertyHash):
96996        (buildConstructorMap):
96997        (printConstructors):
96998        (printFunctionInits):
96999        * html/HTMLDetailsElement.cpp:
97000        (WebCore::DetailsContentElement::DetailsContentElement):
97001        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
97002        * html/HTMLTagNames.in:
97003        * html/shadow/HTMLContentElement.cpp:
97004        (WebCore::contentTagName):
97005
970062012-03-05  Shinya Kawanaka  <shinyak@chromium.org>
97007
97008        Refactoring: Move HTMLContentElement::attach to InsertionPoint::attach.
97009        https://bugs.webkit.org/show_bug.cgi?id=80243
97010
97011        Reviewed by Hajime Morita.
97012
97013        Since the current code in HTMLContentElement::attach() will be used for coming <shadow>
97014        elements, it is natural that InsertionPoint::attach() has such code.
97015
97016        No new tests, no change in behavior.
97017
97018        * html/shadow/HTMLContentElement.cpp:
97019        * html/shadow/HTMLContentElement.h:
97020        (HTMLContentElement):
97021        * html/shadow/InsertionPoint.cpp:
97022        (WebCore::InsertionPoint::attach):
97023        (WebCore):
97024        (WebCore::InsertionPoint::detach):
97025        * html/shadow/InsertionPoint.h:
97026        (InsertionPoint):
97027
970282012-03-05  Adam Barth  <abarth@webkit.org>
97029
97030        allowDatabaseAccess and databaseExceededQuota should be part of DatabaseContext not ScriptExecutionContext
97031        https://bugs.webkit.org/show_bug.cgi?id=80178
97032
97033        Reviewed by Eric Seidel.
97034
97035        These functions are only used by SQLDatabase, which means we can move
97036        them to DatabaseContext, removing one more tendril of the SQLDatabase
97037        code.
97038
97039        * dom/Document.cpp:
97040        (WebCore):
97041        * dom/Document.h:
97042        (Document):
97043        * dom/ScriptExecutionContext.h:
97044        (ScriptExecutionContext):
97045        * storage/DatabaseContext.cpp:
97046        (WebCore::DatabaseContext::DatabaseContext):
97047        (WebCore::DatabaseContext::from):
97048        (WebCore::DatabaseContext::allowDatabaseAccess):
97049        (WebCore):
97050        (WebCore::DatabaseContext::databaseExceededQuota):
97051        * storage/DatabaseContext.h:
97052        (DatabaseContext):
97053        * storage/DatabaseTracker.cpp:
97054        (WebCore::DatabaseTracker::canEstablishDatabase):
97055        * storage/SQLTransaction.cpp:
97056        (WebCore::SQLTransaction::executeSQL):
97057        * storage/SQLTransactionClient.cpp:
97058        (WebCore::SQLTransactionClient::didExceedQuota):
97059        * storage/SQLTransactionSync.cpp:
97060        (WebCore::SQLTransactionSync::executeSQL):
97061        * workers/WorkerContext.cpp:
97062        (WebCore):
97063        * workers/WorkerContext.h:
97064        (WorkerContext):
97065
970662012-03-04  Sheriff Bot  <webkit.review.bot@gmail.com>
97067
97068        Unreviewed, rolling out r107551.
97069        http://trac.webkit.org/changeset/107551
97070        https://bugs.webkit.org/show_bug.cgi?id=80245
97071
97072        caused incorrect style sharing (Requested by kling on
97073        #webkit).
97074
97075        * css/CSSStyleSelector.cpp:
97076        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
97077
970782012-03-04  Luke Macpherson   <macpherson@chromium.org>
97079
97080        Remove unused macro HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE_WITH_VALUE.
97081        https://bugs.webkit.org/show_bug.cgi?id=80236
97082
97083        Reviewed by Eric Seidel.
97084
97085        No new tests / unused code deletion only.
97086
97087        * css/CSSStyleSelector.cpp:
97088        (WebCore):
97089
970902012-03-04  Filip Pizlo  <fpizlo@apple.com>
97091
97092        JIT heuristics should be hyperbolic
97093        https://bugs.webkit.org/show_bug.cgi?id=80055
97094        <rdar://problem/10922260>
97095
97096        Reviewed by Oliver Hunt.
97097
97098        No new tests, since there's no new functionality.
97099
97100        * ForwardingHeaders/wtf/SimpleStats.h: Added.
97101
971022012-03-04  Shinya Kawanaka  <shinyak@chromium.org>
97103
97104        Methods like firstRendererOf of NodeRenderingContext should be extracted.
97105        https://bugs.webkit.org/show_bug.cgi?id=79902
97106
97107        Reviewed by Hajime Morita.
97108
97109        firstRendererOfInsertionPoint should return the first renderer of its child, however
97110        it returns next renderer of parent. The same thing happens lastRendererOfInsertionPoint.
97111
97112        Test: content-element-move.html has another test case.
97113
97114        * dom/NodeRenderingContext.cpp:
97115        (WebCore):
97116        (WebCore::nextRendererOfInsertionPoint):
97117        (WebCore::previousRendererOfInsertionPoint):
97118        (WebCore::firstRendererOfInsertionPoint):
97119        (WebCore::lastRendererOfInsertionPoint):
97120        (WebCore::firstRendererOf):
97121        (WebCore::lastRendererOf):
97122        (WebCore::NodeRenderingContext::nextRenderer):
97123        (WebCore::NodeRenderingContext::previousRenderer):
97124
971252012-03-04  MORITA Hajime <morrita@google.com>
97126
97127        Unreviewed build fix for ENABLE(MATHML).
97128
97129        * mathml/MathMLElement.h:
97130        (WebCore):
97131
971322012-03-04  MORITA Hajime  <morrita@google.com>
97133
97134        WebKit needs toHTMLUnknownElement() and isUnknown() for sanity check.
97135        https://bugs.webkit.org/show_bug.cgi?id=80229
97136
97137        Reviewed by Kent Tamura.
97138
97139        The code generator has naked static_cast<> which could be unsafe.
97140        We can turn it into toHTMLUnknownElement() and the like.
97141
97142        No new tests. Just added a sanity check.
97143
97144        * dom/make_names.pl:
97145        (printWrapperFactoryCppFile):
97146        * html/HTMLElement.h:
97147        (HTMLElement):
97148        (WebCore::HTMLElement::isHTMLUnknownElement):
97149        * html/HTMLUnknownElement.h:
97150        (HTMLUnknownElement):
97151        (WebCore::toHTMLUnknownElement):
97152        (WebCore):
97153        * mathml/MathMLElement.h:
97154        (toMathMLElement):
97155        * svg/SVGElement.h:
97156        (WebCore::toSVGElement):
97157        (WebCore):
97158
971592012-03-04  Luke Macpherson   <macpherson@chromium.org>
97160
97161        Handle CSSPropertyWebkitColumnBreakAfter, CSSPropertyWebkitColumnBreakBefore and CSSPropertyWebkitColumnBreakInside in CSSStyleApplyProperty.
97162        https://bugs.webkit.org/show_bug.cgi?id=80226
97163
97164        Reviewed by Eric Seidel.
97165
97166        No new tests / refactoring only.
97167
97168        * css/CSSStyleApplyProperty.cpp:
97169        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
97170        * css/CSSStyleSelector.cpp:
97171        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
97172
971732012-03-04  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
97174
97175        [BlackBerry] Credential backing store implementation
97176        https://bugs.webkit.org/show_bug.cgi?id=79650
97177
97178        Reviewed by Antonio Gomes.
97179
97180        Opened Credential database in CedentialBackingStore::instance().
97181        Added never_remember table and associated sql statment
97182        members to store the never remember sites.
97183        Removed CredentialStorage initialize codes because that
97184        won't give users a chance to re-enter the new credential
97185        information for an already stored site.
97186        Changed login update and has statement to support
97187        autofill feature of multiple credential forms in the
97188        same page; Also added url as a parameter of hasLogin() function.
97189        Added calling reset() after each statement calls step(),
97190        to make it work correctly next time.
97191        Also fixed a macro typo in HANDLE_SQL_EXEC_FAILURE.
97192
97193        No new tests.
97194
97195        * platform/network/blackberry/CredentialBackingStore.cpp:
97196        (WebCore::CredentialBackingStore::instance):
97197        (WebCore::CredentialBackingStore::CredentialBackingStore):
97198        (WebCore::CredentialBackingStore::open):
97199        (WebCore::CredentialBackingStore::close):
97200        (WebCore::CredentialBackingStore::addLogin):
97201        (WebCore::CredentialBackingStore::updateLogin):
97202        (WebCore::CredentialBackingStore::hasLogin):
97203        (WebCore::CredentialBackingStore::getLogin):
97204        (WebCore):
97205        (WebCore::CredentialBackingStore::removeLogin):
97206        (WebCore::CredentialBackingStore::addNeverRemember):
97207        (WebCore::CredentialBackingStore::hasNeverRemember):
97208        (WebCore::CredentialBackingStore::getNeverRemember):
97209        (WebCore::CredentialBackingStore::removeNeverRemember):
97210        (WebCore::CredentialBackingStore::clearLogins):
97211        (WebCore::CredentialBackingStore::clearNeverRemember):
97212        * platform/network/blackberry/CredentialBackingStore.h:
97213        (CredentialBackingStore):
97214
972152012-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
97216
97217        [EFL] Evas_GL initialization and destruction in GraphicsContext3DPrivate
97218        https://bugs.webkit.org/show_bug.cgi?id=80211
97219
97220        Reviewed by Noam Rosenthal.
97221
97222        This patch adds initialization and destruction codes using Evas_GL APIs to GC3DPrivate.
97223
97224        No new tests. No behavior change.
97225
97226        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
97227        (WebCore::GraphicsContext3DPrivate::create):
97228        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
97229        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
97230        (WebCore::GraphicsContext3DPrivate::initialize):
97231        (WebCore::GraphicsContext3DPrivate::createSurface):
97232        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
97233        * platform/graphics/efl/GraphicsContext3DPrivate.h:
97234        (GraphicsContext3DPrivate):
97235
972362012-03-04  Raphael Kubo da Costa  <kubo@profusion.mobi>
97237
97238        [CMake] Libraries are installed to /usr/lib and not /usr/lib64 on x86_64
97239        https://bugs.webkit.org/show_bug.cgi?id=71507
97240
97241        Reviewed by Antonio Gomes.
97242
97243        No new tests, buildsystem change.
97244
97245        * CMakeLists.txt: Use ${LIB_INSTALL_DIR} instead of hardcoding "lib".
97246
972472012-03-04  Hyowon Kim  <hw1008.kim@samsung.com>
97248
97249        [EFL] Implementation of missing functions in GraphicsContext3DPrivate
97250        https://bugs.webkit.org/show_bug.cgi?id=79759
97251
97252        Reviewed by Noam Rosenthal.
97253
97254        The initial patch (Bug 62961) only contains implementations for simple functions
97255        which call GL functions through Evas_GL_API.
97256        This patch implements a little complicated functions such as getActiveAttrib(),
97257        getShaderSource() and so on.
97258
97259        No new tests. No behavior change.
97260
97261        * platform/graphics/efl/GraphicsContext3DPrivate.cpp:
97262        (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
97263        (WebCore::GraphicsContext3DPrivate::getActiveUniform):
97264        (WebCore::GraphicsContext3DPrivate::getError):
97265        (WebCore::GraphicsContext3DPrivate::getIntegerv):
97266        (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
97267        (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
97268        (WebCore::GraphicsContext3DPrivate::getShaderSource):
97269
972702012-03-04  Kentaro Hara  <haraken@chromium.org>
97271
97272        Revert SVG-related APIs from DOMWindowSVG.idl back to DOMWindow.idl
97273        https://bugs.webkit.org/show_bug.cgi?id=80139
97274
97275        Reviewed by Adam Barth.
97276
97277        Based on the discussion on webkit-dev@
97278        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
97279        this patch reverts SVG-related APIs from DOMWindowSVG.idl back to DOMWindow.idl.
97280
97281        No tests. No change in behavior.
97282
97283        * CMakeLists.txt:
97284        * DerivedSources.make:
97285        * DerivedSources.pri:
97286        * GNUmakefile.list.am:
97287        * WebCore.gypi:
97288        * WebCore.xcodeproj/project.pbxproj:
97289        * page/DOMWindow.idl:
97290        * svg/DOMWindowSVG.idl: Removed.
97291
972922012-03-04  Kentaro Hara  <haraken@chromium.org>
97293
97294        Revert WebGL-related APIs from DOMWindowWebGL.idl back to DOMWindow.idl
97295        https://bugs.webkit.org/show_bug.cgi?id=80144
97296
97297        Reviewed by Adam Barth.
97298
97299        Based on the discussion on webkit-dev@
97300        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
97301        this patch reverts WebGL-related APIs from DOMWindowWebGL.idl back to DOMWindow.idl.
97302
97303        No tests. No change in behavior.
97304
97305        * DerivedSources.make:
97306        * DerivedSources.pri:
97307        * GNUmakefile.list.am:
97308        * WebCore.gypi:
97309        * WebCore.xcodeproj/project.pbxproj:
97310        * html/canvas/DOMWindowWebGL.idl: Removed.
97311        * page/DOMWindow.idl:
97312
973132012-03-04  MORITA Hajime  <morrita@google.com>
97314
97315        Unreviewed build fix.
97316
97317        * rendering/RenderButton.cpp:
97318        (WebCore::RenderButton::canHaveGeneratedChildren):
97319
973202012-03-01  MORITA Hajime  <morrita@google.com>
97321
97322        REGRESSION(r108758): Assertion failure in WebCore::RenderMenuList::addChild
97323        https://bugs.webkit.org/show_bug.cgi?id=80096
97324
97325        Reviewed by Dimitri Glazkov.
97326
97327        After r108758 RenderBlock allowed <select> to have generated
97328        contents. But it shouldn't. This change stops allowing it again by
97329        replacing some canHaveChildren() invocations with
97330        less permissive canHaveGeneratedChildren().
97331
97332        This change also pulls back original canHaveChildren() logic to
97333        RenderButton to allow <button> to have generated contents.
97334
97335        Then RenderDeprecatedFlexibleBox::buttonText() is morphed to
97336        more intention revealing canHaveGeneratedChildren().
97337
97338        Test: fast/forms/select-generated-content.html
97339
97340        * rendering/RenderBlock.cpp:
97341        (WebCore):
97342        (WebCore::canHaveGeneratedChildren):
97343        (WebCore::RenderBlock::styleDidChange):
97344        (WebCore::findFirstLetterBlock):
97345        (WebCore::RenderBlock::updateFirstLetter):
97346        * rendering/RenderButton.cpp:
97347        * rendering/RenderButton.h:
97348        (RenderButton):
97349        * rendering/RenderDeprecatedFlexibleBox.h:
97350        (WebCore::RenderDeprecatedFlexibleBox::canHaveGeneratedChildren):
97351        * rendering/RenderMenuList.h:
97352
973532012-03-04  Robin Cao  <robin.cao@torchmobile.com.cn>
97354
97355        [BlackBerry] Upstream two helper files from platform/graphics/blackberry
97356        https://bugs.webkit.org/show_bug.cgi?id=80125
97357
97358        Reviewed by Antonio Gomes.
97359
97360        Initial upstream, no new tests.
97361
97362        * platform/graphics/blackberry/InstrumentedPlatformCanvas.h: Added.
97363        (WebCore):
97364        (InstrumentedPlatformCanvas):
97365        (WebCore::InstrumentedPlatformCanvas::InstrumentedPlatformCanvas):
97366        (WebCore::InstrumentedPlatformCanvas::~InstrumentedPlatformCanvas):
97367        (WebCore::InstrumentedPlatformCanvas::isSolidColor):
97368        (WebCore::InstrumentedPlatformCanvas::solidColor):
97369        (WebCore::InstrumentedPlatformCanvas::save):
97370        (WebCore::InstrumentedPlatformCanvas::saveLayer):
97371        (WebCore::InstrumentedPlatformCanvas::restore):
97372        (WebCore::InstrumentedPlatformCanvas::translate):
97373        (WebCore::InstrumentedPlatformCanvas::scale):
97374        (WebCore::InstrumentedPlatformCanvas::rotate):
97375        (WebCore::InstrumentedPlatformCanvas::skew):
97376        (WebCore::InstrumentedPlatformCanvas::concat):
97377        (WebCore::InstrumentedPlatformCanvas::setMatrix):
97378        (WebCore::InstrumentedPlatformCanvas::clipRect):
97379        (WebCore::InstrumentedPlatformCanvas::clipPath):
97380        (WebCore::InstrumentedPlatformCanvas::clipRegion):
97381        (WebCore::InstrumentedPlatformCanvas::clear):
97382        (WebCore::InstrumentedPlatformCanvas::drawPaint):
97383        (WebCore::InstrumentedPlatformCanvas::drawPoints):
97384        (WebCore::InstrumentedPlatformCanvas::drawRect):
97385        (WebCore::InstrumentedPlatformCanvas::drawPath):
97386        (WebCore::InstrumentedPlatformCanvas::drawBitmap):
97387        (WebCore::InstrumentedPlatformCanvas::drawBitmapRect):
97388        (WebCore::InstrumentedPlatformCanvas::drawBitmapMatrix):
97389        (WebCore::InstrumentedPlatformCanvas::drawSprite):
97390        (WebCore::InstrumentedPlatformCanvas::drawText):
97391        (WebCore::InstrumentedPlatformCanvas::drawPosText):
97392        (WebCore::InstrumentedPlatformCanvas::drawPosTextH):
97393        (WebCore::InstrumentedPlatformCanvas::drawTextOnPath):
97394        (WebCore::InstrumentedPlatformCanvas::drawPicture):
97395        (WebCore::InstrumentedPlatformCanvas::drawVertices):
97396        (WebCore::InstrumentedPlatformCanvas::drawData):
97397        * platform/graphics/blackberry/LayerMessage.h: Added.
97398        (WebCore):
97399        (WebCore::isCompositingThread):
97400        (WebCore::compositingThread):
97401        (WebCore::isWebKitThread):
97402        (WebCore::webKitThread):
97403        (WebCore::dispatchCompositingMessage):
97404        (WebCore::dispatchSyncCompositingMessage):
97405        (WebCore::dispatchWebKitMessage):
97406
974072012-03-04  Nikolas Zimmermann  <nzimmermann@rim.com>
97408
97409        Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
97410        https://bugs.webkit.org/show_bug.cgi?id=79790
97411
97412        Reviewed by Dirk Schulze.
97413
97414        Restore SMIL animation behavior back to pre-r109342.
97415        1) Always animate presentation attributes as CSS properties, regardless of the
97416        attributeTypes value. Matches Opera/FF, and makes the attribute optional again
97417        as specified in both SMIL & SVG.
97418
97419        Extend existing svg/animations/attributesTypes.html to verify this.
97420
97421        2) Switch setInstancesUpdatesBlocked calls to the right locations again, to
97422        avoid chromium assertions (and/or extra work being done). Fixing that reveals another
97423        problem: in the instance updating code path, we always called setTargetAttributeAnimatedCSSValue
97424        even for XML animations.
97425
97426        * svg/SVGAnimationElement.cpp:
97427        (WebCore::SVGAnimationElement::shouldApplyAnimation): Restore old logic.
97428        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Fix typo, move setInstancesUpdatesBlocked calls.
97429
974302012-03-04  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
97431
97432        [BlackBerry] upstream MediaPlayerPrivateBlackBerry.[cpp|h]
97433        https://bugs.webkit.org/show_bug.cgi?id=79729
97434
97435        Reviewed by Rob Buis and Antonio Gomes.
97436
97437        Implementation of MediaPlayerPrivate for BlackBerry porting.
97438        Initial upstream, No new tests.
97439
97440        * PlatformBlackBerry.cmake:
97441        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.cpp: Added.
97442        (WebCore):
97443        (WebCore::MediaPlayerPrivate::create):
97444        (WebCore::MediaPlayerPrivate::registerMediaEngine):
97445        (WebCore::MediaPlayerPrivate::getSupportedTypes):
97446        (WebCore::MediaPlayerPrivate::supportsType):
97447        (WebCore::MediaPlayerPrivate::notifyAppActivatedEvent):
97448        (WebCore::MediaPlayerPrivate::setCertificatePath):
97449        (WebCore::MediaPlayerPrivate::MediaPlayerPrivate):
97450        (WebCore::MediaPlayerPrivate::~MediaPlayerPrivate):
97451        (WebCore::MediaPlayerPrivate::load):
97452        (WebCore::MediaPlayerPrivate::cancelLoad):
97453        (WebCore::MediaPlayerPrivate::prepareToPlay):
97454        (WebCore::MediaPlayerPrivate::play):
97455        (WebCore::MediaPlayerPrivate::pause):
97456        (WebCore::MediaPlayerPrivate::supportsFullscreen):
97457        (WebCore::MediaPlayerPrivate::naturalSize):
97458        (WebCore::MediaPlayerPrivate::hasVideo):
97459        (WebCore::MediaPlayerPrivate::hasAudio):
97460        (WebCore::MediaPlayerPrivate::setVisible):
97461        (WebCore::MediaPlayerPrivate::duration):
97462        (WebCore::MediaPlayerPrivate::currentTime):
97463        (WebCore::MediaPlayerPrivate::seek):
97464        (WebCore::MediaPlayerPrivate::userDrivenSeekTimerFired):
97465        (WebCore::MediaPlayerPrivate::seeking):
97466        (WebCore::MediaPlayerPrivate::setRate):
97467        (WebCore::MediaPlayerPrivate::paused):
97468        (WebCore::MediaPlayerPrivate::setVolume):
97469        (WebCore::MediaPlayerPrivate::networkState):
97470        (WebCore::MediaPlayerPrivate::readyState):
97471        (WebCore::MediaPlayerPrivate::maxTimeSeekable):
97472        (WebCore::MediaPlayerPrivate::buffered):
97473        (WebCore::MediaPlayerPrivate::bytesLoaded):
97474        (WebCore::MediaPlayerPrivate::setSize):
97475        (WebCore::MediaPlayerPrivate::paint):
97476        (WebCore::MediaPlayerPrivate::hasAvailableVideoFrame):
97477        (WebCore::MediaPlayerPrivate::hasSingleSecurityOrigin):
97478        (WebCore::MediaPlayerPrivate::movieLoadType):
97479        (WebCore::MediaPlayerPrivate::userAgent):
97480        (WebCore::MediaPlayerPrivate::resizeSourceDimensions):
97481        (WebCore::MediaPlayerPrivate::setFullscreenWebPageClient):
97482        (WebCore::MediaPlayerPrivate::getWindow):
97483        (WebCore::MediaPlayerPrivate::getPeerWindow):
97484        (WebCore::MediaPlayerPrivate::getWindowPosition):
97485        (WebCore::MediaPlayerPrivate::mmrContextName):
97486        (WebCore::MediaPlayerPrivate::percentLoaded):
97487        (WebCore::MediaPlayerPrivate::sourceWidth):
97488        (WebCore::MediaPlayerPrivate::sourceHeight):
97489        (WebCore::MediaPlayerPrivate::setAllowPPSVolumeUpdates):
97490        (WebCore::MediaPlayerPrivate::updateStates):
97491        (WebCore::MediaPlayerPrivate::onStateChanged):
97492        (WebCore::MediaPlayerPrivate::onMediaStatusChanged):
97493        (WebCore::MediaPlayerPrivate::onError):
97494        (WebCore::MediaPlayerPrivate::onDurationChanged):
97495        (WebCore::MediaPlayerPrivate::onTimeChanged):
97496        (WebCore::MediaPlayerPrivate::onPauseStateChanged):
97497        (WebCore::MediaPlayerPrivate::onRateChanged):
97498        (WebCore::MediaPlayerPrivate::onVolumeChanged):
97499        (WebCore::MediaPlayerPrivate::onRepaint):
97500        (WebCore::MediaPlayerPrivate::onSizeChanged):
97501        (WebCore::MediaPlayerPrivate::onPlayNotified):
97502        (WebCore::MediaPlayerPrivate::onPauseNotified):
97503        (WebCore::MediaPlayerPrivate::onBuffering):
97504        (WebCore::MediaPlayerPrivate::showErrorDialog):
97505        (WebCore::MediaPlayerPrivate::frameView):
97506        (WebCore::MediaPlayerPrivate::platformWindow):
97507        (WebCore::MediaPlayerPrivate::isFullscreen):
97508        (WebCore::MediaPlayerPrivate::platformMedia):
97509        (WebCore::MediaPlayerPrivate::platformLayer):
97510        (WebCore::loadBufferingImageData):
97511        (WebCore::MediaPlayerPrivate::bufferingTimerFired):
97512        (WebCore::MediaPlayerPrivate::setBuffering):
97513        (WebCore::allocateTextureId):
97514        (WebCore::MediaPlayerPrivate::drawBufferingAnimation):
97515        * platform/graphics/blackberry/MediaPlayerPrivateBlackBerry.h: Added.
97516        (WebKit):
97517        (WebCore):
97518        (MediaPlayerPrivate):
97519        (WebCore::MediaPlayerPrivate::supportsAcceleratedRendering):
97520        (WebCore::MediaPlayerPrivate::acceleratedRenderingStateChanged):
97521
975222012-03-03  Benjamin Poulain  <benjamin@webkit.org>
97523
97524        Remove the unused function WebCore::protocolIsInHTTPFamily()
97525        https://bugs.webkit.org/show_bug.cgi?id=80218
97526
97527        Reviewed by Anders Carlsson.
97528
97529        * WebCore.order:
97530        * platform/KURL.cpp:
97531        * platform/KURL.h:
97532        (WebCore):
97533
975342012-03-03  Benjamin Poulain  <benjamin@webkit.org>
97535
97536        Implement the basis of KURLWTFURL
97537        https://bugs.webkit.org/show_bug.cgi?id=79600
97538
97539        Reviewed by Adam Barth.
97540
97541        Add a simple, non-optimized, implementation for the main methods of KURL based
97542        on ParsedURL.
97543
97544        * platform/KURLWTFURL.cpp:
97545        (WebCore):
97546        (WebCore::detach):
97547        (WebCore::KURL::KURL):
97548        (WebCore::KURL::copy):
97549        (WebCore::KURL::isEmpty):
97550        (WebCore::KURL::isValid):
97551        (WebCore::KURL::string):
97552        (WebCore::KURL::protocol):
97553        (WebCore::KURL::host):
97554        (WebCore::KURL::hasPort):
97555        (WebCore::KURL::port):
97556        (WebCore::KURL::user):
97557        (WebCore::KURL::pass):
97558        (WebCore::KURL::hasPath):
97559        (WebCore::KURL::path):
97560        (WebCore::KURL::lastPathComponent):
97561        (WebCore::KURL::query):
97562        (WebCore::KURL::hasFragmentIdentifier):
97563        (WebCore::KURL::fragmentIdentifier):
97564        (WebCore::KURL::baseAsString):
97565        (WebCore::KURL::fileSystemPath):
97566        (WebCore::KURL::protocolIs):
97567        (WebCore::KURL::protocolIsInHTTPFamily):
97568        (WebCore::KURL::setProtocol):
97569        (WebCore::KURL::setHost):
97570        (WebCore::KURL::removePort):
97571        (WebCore::KURL::setPort):
97572        (WebCore::KURL::setHostAndPort):
97573        (WebCore::KURL::setUser):
97574        (WebCore::KURL::setPass):
97575        (WebCore::KURL::setPath):
97576        (WebCore::KURL::setQuery):
97577        (WebCore::KURL::setFragmentIdentifier):
97578        (WebCore::KURL::removeFragmentIdentifier):
97579        (WebCore::protocolHostAndPortAreEqual):
97580        * platform/KURLWTFURLImpl.h:
97581        (KURLWTFURLImpl):
97582        (WebCore::KURLWTFURLImpl::copy):
97583        (WebCore):
97584
975852012-03-03  Benjamin Poulain  <benjamin@webkit.org>
97586
97587        Remove the redundant method KURL::protocolInHTTPFamily()
97588        https://bugs.webkit.org/show_bug.cgi?id=80216
97589
97590        Reviewed by Anders Carlsson.
97591
97592        * loader/FrameLoader.cpp:
97593        (WebCore::FrameLoader::open):
97594        (WebCore::FrameLoader::addExtraFieldsToRequest):
97595        * loader/ResourceLoadScheduler.cpp:
97596        (WebCore::ResourceLoadScheduler::hostForURL):
97597        (WebCore::ResourceLoadScheduler::scheduleLoad):
97598        * loader/appcache/ApplicationCache.cpp:
97599        (WebCore::ApplicationCache::requestIsHTTPOrHTTPSGet):
97600        * loader/cache/CachedResource.cpp:
97601        (WebCore::CachedResource::freshnessLifetime):
97602        * loader/cache/MemoryCache.cpp:
97603        (WebCore::MemoryCache::removeFragmentIdentifierIfNeeded):
97604        * loader/icon/IconController.cpp:
97605        (WebCore::IconController::defaultURL):
97606        * platform/KURL.h:
97607        (KURL):
97608        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
97609        * platform/network/CredentialStorage.cpp:
97610        (WebCore::CredentialStorage::set):
97611        (WebCore::findDefaultProtectionSpaceForURL):
97612        * platform/network/ResourceRequestBase.cpp:
97613        (WebCore::ResourceRequestBase::setCachePolicy):
97614        (WebCore::ResourceRequestBase::setTimeoutInterval):
97615        (WebCore::ResourceRequestBase::setHTTPMethod):
97616        (WebCore::ResourceRequestBase::setHTTPHeaderField):
97617        (WebCore::ResourceRequestBase::clearHTTPAuthorization):
97618        (WebCore::ResourceRequestBase::clearHTTPReferrer):
97619        (WebCore::ResourceRequestBase::clearHTTPOrigin):
97620        (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
97621        (WebCore::ResourceRequestBase::setHTTPBody):
97622        (WebCore::ResourceRequestBase::setAllowCookies):
97623        (WebCore::ResourceRequestBase::setPriority):
97624        (WebCore::ResourceRequestBase::addHTTPHeaderField):
97625        * platform/network/blackberry/NetworkManager.cpp:
97626        (WebCore::NetworkManager::startJob):
97627        * platform/network/cf/ResourceHandleCFNet.cpp:
97628        (WebCore::ResourceHandle::createCFURLConnection):
97629        * platform/network/mac/ResourceHandleMac.mm:
97630        (WebCore::ResourceHandle::createNSURLConnection):
97631        * platform/network/qt/QNetworkReplyHandler.cpp:
97632        (WebCore::QNetworkReplyHandler::sendResponseIfNeeded):
97633        * xml/XMLHttpRequest.cpp:
97634        (WebCore::XMLHttpRequest::send):
97635
976362012-03-03  Robin Cao  <robin.cao@torchmobile.com.cn>
97637
97638        [BlackBerry] Upstream LayerWebKitThread and its derived classes
97639        https://bugs.webkit.org/show_bug.cgi?id=79871
97640
97641        Reviewed by Antonio Gomes.
97642
97643        Initial upstream, no new tests.
97644
97645        * platform/graphics/blackberry/CanvasLayerWebKitThread.cpp: Added.
97646        (WebCore):
97647        (WebCore::CanvasLayerWebKitThread::CanvasLayerWebKitThread):
97648        (WebCore::CanvasLayerWebKitThread::~CanvasLayerWebKitThread):
97649        (WebCore::CanvasLayerWebKitThread::setCanvas):
97650        (WebCore::CanvasLayerWebKitThread::setNeedsDisplay):
97651        (WebCore::CanvasLayerWebKitThread::updateTextureContentsIfNeeded):
97652        * platform/graphics/blackberry/CanvasLayerWebKitThread.h: Added.
97653        (WebCore):
97654        (CanvasLayerWebKitThread):
97655        (WebCore::CanvasLayerWebKitThread::create):
97656        * platform/graphics/blackberry/LayerData.h: Added.
97657        (WebCore):
97658        (LayerData):
97659        (WebCore::LayerData::LayerData):
97660        (WebCore::LayerData::~LayerData):
97661        (WebCore::LayerData::anchorPoint):
97662        (WebCore::LayerData::anchorPointZ):
97663        (WebCore::LayerData::backgroundColor):
97664        (WebCore::LayerData::borderColor):
97665        (WebCore::LayerData::borderWidth):
97666        (WebCore::LayerData::bounds):
97667        (WebCore::LayerData::doubleSided):
97668        (WebCore::LayerData::frame):
97669        (WebCore::LayerData::masksToBounds):
97670        (WebCore::LayerData::opacity):
97671        (WebCore::LayerData::opaque):
97672        (WebCore::LayerData::position):
97673        (WebCore::LayerData::sublayerTransform):
97674        (WebCore::LayerData::transform):
97675        (WebCore::LayerData::preserves3D):
97676        (WebCore::LayerData::getTextureID):
97677        (WebCore::LayerData::setTextureID):
97678        (WebCore::LayerData::needsTexture):
97679        (WebCore::LayerData::layerProgramShader):
97680        (WebCore::LayerData::isFixedPosition):
97681        (WebCore::LayerData::hasFixedContainer):
97682        (WebCore::LayerData::hasFixedAncestorInDOMTree):
97683        (WebCore::LayerData::pluginView):
97684        (WebCore::LayerData::holePunchRect):
97685        (WebCore::LayerData::hasHolePunchRect):
97686        (WebCore::LayerData::mediaPlayer):
97687        (WebCore::LayerData::canvas):
97688        (WebCore::LayerData::replicate):
97689        (WebCore::LayerData::layerType):
97690        (WebCore::LayerData::includeVisibility):
97691        * platform/graphics/blackberry/LayerWebKitThread.cpp: Added.
97692        (WebCore):
97693        (WebCore::LayerWebKitThread::create):
97694        (WebCore::LayerWebKitThread::LayerWebKitThread):
97695        (WebCore::LayerWebKitThread::~LayerWebKitThread):
97696        (WebCore::LayerWebKitThread::paintContents):
97697        (WebCore::LayerWebKitThread::contentsVisible):
97698        (WebCore::LayerWebKitThread::createFrontBufferLock):
97699        (WebCore::LayerWebKitThread::updateTextureContentsIfNeeded):
97700        (WebCore::LayerWebKitThread::setContents):
97701        (WebCore::LayerWebKitThread::setDrawable):
97702        (WebCore::LayerWebKitThread::setNeedsCommit):
97703        (WebCore::LayerWebKitThread::notifyAnimationStarted):
97704        (WebCore::LayerWebKitThread::commitOnWebKitThread):
97705        (WebCore::LayerWebKitThread::startAnimations):
97706        (WebCore::LayerWebKitThread::updateTextureContents):
97707        (WebCore::LayerWebKitThread::commitOnCompositingThread):
97708        (WebCore::LayerWebKitThread::addSublayer):
97709        (WebCore::LayerWebKitThread::insertSublayer):
97710        (WebCore::LayerWebKitThread::removeFromSuperlayer):
97711        (WebCore::LayerWebKitThread::removeSublayer):
97712        (WebCore::LayerWebKitThread::replaceSublayer):
97713        (WebCore::LayerWebKitThread::indexOfSublayer):
97714        (WebCore::LayerWebKitThread::setBounds):
97715        (WebCore::LayerWebKitThread::setFrame):
97716        (WebCore::LayerWebKitThread::rootLayer):
97717        (WebCore::LayerWebKitThread::removeAllSublayers):
97718        (WebCore::LayerWebKitThread::setSublayers):
97719        (WebCore::LayerWebKitThread::setNeedsDisplayInRect):
97720        (WebCore::LayerWebKitThread::setNeedsDisplay):
97721        (WebCore::LayerWebKitThread::updateLayerHierarchy):
97722        (WebCore::LayerWebKitThread::setIsMask):
97723        * platform/graphics/blackberry/LayerWebKitThread.h: Added.
97724        (WebCore):
97725        (LayerWebKitThread):
97726        (WebCore::LayerWebKitThread::setAnchorPoint):
97727        (WebCore::LayerWebKitThread::setAnchorPointZ):
97728        (WebCore::LayerWebKitThread::setBackgroundColor):
97729        (WebCore::LayerWebKitThread::setBorderColor):
97730        (WebCore::LayerWebKitThread::setBorderWidth):
97731        (WebCore::LayerWebKitThread::setDoubleSided):
97732        (WebCore::LayerWebKitThread::setMasksToBounds):
97733        (WebCore::LayerWebKitThread::setMaskLayer):
97734        (WebCore::LayerWebKitThread::maskLayer):
97735        (WebCore::LayerWebKitThread::setReplicaLayer):
97736        (WebCore::LayerWebKitThread::replicaLayer):
97737        (WebCore::LayerWebKitThread::setNeedsDisplayOnBoundsChange):
97738        (WebCore::LayerWebKitThread::setOpacity):
97739        (WebCore::LayerWebKitThread::setOpaque):
97740        (WebCore::LayerWebKitThread::setPosition):
97741        (WebCore::LayerWebKitThread::getSublayers):
97742        (WebCore::LayerWebKitThread::setSublayerTransform):
97743        (WebCore::LayerWebKitThread::superlayer):
97744        (WebCore::LayerWebKitThread::setTransform):
97745        (WebCore::LayerWebKitThread::setPreserves3D):
97746        (WebCore::LayerWebKitThread::setFixedPosition):
97747        (WebCore::LayerWebKitThread::setHasFixedContainer):
97748        (WebCore::LayerWebKitThread::setHasFixedAncestorInDOMTree):
97749        (WebCore::LayerWebKitThread::contents):
97750        (WebCore::LayerWebKitThread::setOwner):
97751        (WebCore::LayerWebKitThread::drawsContent):
97752        (WebCore::LayerWebKitThread::layerCompositingThread):
97753        (WebCore::LayerWebKitThread::setAbsoluteOffset):
97754        (WebCore::LayerWebKitThread::contentsScale):
97755        (WebCore::LayerWebKitThread::setRunningAnimations):
97756        (WebCore::LayerWebKitThread::setSuspendedAnimations):
97757        (WebCore::LayerWebKitThread::setNeedsTexture):
97758        (WebCore::LayerWebKitThread::setLayerProgramShader):
97759        (WebCore::LayerWebKitThread::isDrawable):
97760        (WebCore::LayerWebKitThread::boundsChanged):
97761        (WebCore::LayerWebKitThread::setSuperlayer):
97762        (WebCore::LayerWebKitThread::numSublayers):
97763        * platform/graphics/blackberry/PluginLayerWebKitThread.cpp: Added.
97764        (WebCore):
97765        (WebCore::PluginLayerWebKitThread::PluginLayerWebKitThread):
97766        (WebCore::PluginLayerWebKitThread::~PluginLayerWebKitThread):
97767        (WebCore::PluginLayerWebKitThread::setPluginView):
97768        (WebCore::PluginLayerWebKitThread::setHolePunchRect):
97769        (WebCore::PluginLayerWebKitThread::setNeedsDisplay):
97770        (WebCore::PluginLayerWebKitThread::updateTextureContentsIfNeeded):
97771        * platform/graphics/blackberry/PluginLayerWebKitThread.h: Added.
97772        (WebCore):
97773        (PluginLayerWebKitThread):
97774        (WebCore::PluginLayerWebKitThread::create):
97775        * platform/graphics/blackberry/VideoLayerWebKitThread.cpp: Added.
97776        (WebCore):
97777        (WebCore::VideoLayerWebKitThread::VideoLayerWebKitThread):
97778        (WebCore::VideoLayerWebKitThread::~VideoLayerWebKitThread):
97779        (WebCore::VideoLayerWebKitThread::setMediaPlayer):
97780        (WebCore::VideoLayerWebKitThread::setHolePunchRect):
97781        (WebCore::VideoLayerWebKitThread::setNeedsDisplay):
97782        (WebCore::VideoLayerWebKitThread::boundsChanged):
97783        (WebCore::VideoLayerWebKitThread::updateTextureContentsIfNeeded):
97784        * platform/graphics/blackberry/VideoLayerWebKitThread.h: Added.
97785        (WebCore):
97786        (VideoLayerWebKitThread):
97787        (WebCore::VideoLayerWebKitThread::create):
97788
977892012-03-03  Hans Wennborg  <hans@chromium.org>
97790
97791        Implement Speech JavaScript API
97792        https://bugs.webkit.org/show_bug.cgi?id=80019
97793
97794        Reviewed by Adam Barth.
97795
97796        Add ENABLE_SCRIPTED_SPEECH and runtime flag.
97797
97798        No functionality yet, so no new tests.
97799
97800        * Configurations/FeatureDefines.xcconfig:
97801        * GNUmakefile.am:
97802        * Target.pri:
97803        * bindings/generic/RuntimeEnabledFeatures.cpp:
97804        (WebCore):
97805        * bindings/generic/RuntimeEnabledFeatures.h:
97806        (RuntimeEnabledFeatures):
97807        (WebCore::RuntimeEnabledFeatures::setScriptedSpeechEnabled):
97808        (WebCore::RuntimeEnabledFeatures::scriptedSpeechEnabled):
97809        (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionEnabled):
97810        (WebCore::RuntimeEnabledFeatures::webkitSpeechRecognitionErrorEnabled):
97811        (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarEnabled):
97812        (WebCore::RuntimeEnabledFeatures::webkitSpeechGrammarListEnabled):
97813
978142012-03-03  Raymond Toy  <rtoy@google.com>
97815
97816        DelayNode has a fixed one second max delay time
97817        https://bugs.webkit.org/show_bug.cgi?id=78758
97818
97819        Change DelayNode to accept an optional parameter to specify the
97820        maximum delay allowed. If not specified, the default is 1 sec.
97821        
97822        Reviewed by Chris Rogers.
97823
97824        Test: webaudio/delaynode-maxdelay.html
97825              webaudio/delaynode-maxdelay-expected.txt
97826
97827        * webaudio/AudioContext.cpp:
97828        (WebCore::AudioContext::createDelayNode): Allow maxDelayTime
97829        parameter to specify max delay.
97830        * webaudio/AudioContext.h: Allow maxDelayTime
97831        parameter to specify max delay but default to 1.
97832        (AudioContext):
97833        * webaudio/AudioContext.idl: createDelayNode takes optional max
97834        delay time parameter.
97835        * webaudio/DelayDSPKernel.cpp:
97836        (WebCore::DelayDSPKernel::DelayDSPKernel): Remove unused
97837        DefaultMaxDelayTime. Set m_maxDelayTime from processor
97838        maxDelayTime. 
97839        * webaudio/DelayNode.cpp:
97840        (WebCore::DelayNode::DelayNode): Add maxDelayTime parameter. 
97841        * webaudio/DelayNode.h:
97842        (WebCore::DelayNode::create): Add maxDelayTime parameter. 
97843        (DelayNode): Add maxDelayTime parameter. 
97844        * webaudio/DelayProcessor.cpp:
97845        (WebCore::DelayProcessor::DelayProcessor): Add maxDelayTime
97846        parameter.  
97847        * webaudio/DelayProcessor.h:
97848        (DelayProcessor): Add maxDelayTime parameter. 
97849        (WebCore::DelayProcessor::maxDelayTime): New slot to hold
97850        maxDelayTime. 
97851
978522012-03-03  Raymond Toy  <rtoy@google.com>
97853
97854        Simplified discreteTimeConstantForSampleRate
97855        https://bugs.webkit.org/show_bug.cgi?id=78051
97856
97857        Remove hardcoded constant and simplify computation of discrete
97858        time constant.
97859        
97860        Reviewed by Chris Rogers.
97861
97862        No new tests needed.  Covered by existing AudioParam tests.
97863
97864        * platform/audio/AudioUtilities.cpp:
97865        (WebCore::AudioUtilities::discreteTimeConstantForSampleRate):
97866        Simplify formula.
97867        * platform/audio/AudioUtilities.h:
97868        (AudioUtilities): Update function signature.
97869        * platform/audio/DynamicsCompressorKernel.cpp:
97870        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
97871        cast to float to avoid warnings.
97872        * webaudio/AudioParamTimeline.cpp:
97873        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): cast to
97874        float to avoid warnings.
97875
978762012-03-03  Anders Carlsson  <andersca@apple.com>
97877
97878        Fix build with newer versions of clang.
97879
97880        * bindings/objc/DOM.mm:
97881        (-[DOMNode description]):
97882        Remove an unused parameter.
97883
97884        * bridge/objc/objc_instance.mm:
97885        (ObjcInstance::getClass):
97886        Use object_getClass instead of accessing isa directly.
97887
97888        * platform/LocalizedStrings.cpp:
97889        (WebCore::formatLocalizedString):
97890        Disable the -Wformat-nonliteral warning around the call to CFStringCreateWithFormatAndArguments.
97891
97892        * platform/graphics/mac/WebLayer.mm:
97893        (-[CALayer _descriptionWithPrefix:]):
97894        Use %p for the CALayer pointer, and use %lu for the number of sublayers.
97895
97896        * platform/mac/HTMLConverter.mm:
97897        (-[WebHTMLConverter _addAttachmentForElement:URL:needsParagraph:usePlaceholder:]):
97898        Cast the NSAttachmentCharacte enum to unichar.
97899
979002012-03-03  Sheriff Bot  <webkit.review.bot@gmail.com>
97901
97902        Unreviewed, rolling out r109343.
97903        http://trac.webkit.org/changeset/109343
97904        https://bugs.webkit.org/show_bug.cgi?id=80212
97905
97906        Int32array can't handle values for native nodes because they
97907        have int64 ids (Requested by loislo1 on #webkit).
97908
97909        * inspector/front-end/HeapSnapshot.js:
97910        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
97911        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
97912        (WebInspector.HeapSnapshot):
97913        (WebInspector.HeapSnapshot.prototype._init):
97914
979152012-03-03  Andreas Kling  <awesomekling@apple.com>
97916
97917        Free up a bit in RenderObject.
97918        http://webkit.org/b/80208
97919
97920        Reviewed by Anders Carlsson.
97921
97922        Move m_hasMarkupTruncation to RenderBlock, stealing one bit from m_lineHeight.
97923        This flag is only used by RenderBlock.
97924
97925        * rendering/RenderBlock.cpp:
97926        (WebCore::RenderBlock::RenderBlock):
97927        * rendering/RenderBlock.h:
97928        (WebCore::RenderBlock::setHasMarkupTruncation):
97929        (WebCore::RenderBlock::hasMarkupTruncation):
97930        (RenderBlock):
97931        * rendering/RenderObject.h:
97932        (RenderObject):
97933        (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
97934        (RenderObjectBitfields):
97935
979362012-03-03  Joe Thomas  <joethomas@motorola.com>
97937
97938        Implement vw/vh/vmin (viewport sizes) from CSS 3 Values and Units
97939        https://bugs.webkit.org/show_bug.cgi?id=27160
97940
97941        The specification related to this implementation is located at http://dev.w3.org/csswg/css3-values/#viewport-relative-lengths.
97942        vw/vh/vmin are implemented as primitive length units. Added the parsing logic for these new units and creation of primitive values.
97943
97944        Added new Length types such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin for viewport-relative lengths
97945        and included the support for fetching the value of these relative length units based on the current viewport size.
97946
97947        Reviewed by Antti Koivisto.
97948
97949        Tests: css3/viewport-relative-lengths/css3-viewport-relative-lengths-getStyle.html
97950               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh-absolute.html
97951               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vh.html
97952               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin-absolute.html
97953               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vmin.html
97954               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw-absolute.html
97955               css3/viewport-relative-lengths/css3-viewport-relative-lengths-vw.html
97956
97957        * css/CSSComputedStyleDeclaration.cpp: Modified to support viewport relative Length types.
97958        (WebCore::getPositionOffsetValue): Ditto.
97959        (WebCore::getBorderRadiusCornerValues): Ditto.
97960        (WebCore::getBorderRadiusCornerValue): Ditto.
97961        (WebCore::getBorderRadiusShorthandValue): Ditto.
97962        (WebCore::lineHeightFromStyle): Ditto.
97963        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Ditto.
97964        * css/CSSGrammar.y: Added vw/vh/vmin support.
97965        * css/CSSParser.cpp: Parsing of relative units and creation of CSSPrimitiveValue.
97966        (WebCore::CSSParser::validUnit): Added vw/vh/vmin to the valid units.
97967        (WebCore::CSSParser::createPrimitiveNumericValue): Added vw/vh/vmin as valid primitive units.
97968        (WebCore::unitFromString):
97969        (WebCore::CSSParser::parseValidPrimitive): Creation of CSSPrimitiveValue for vw/vh/vmin.
97970        (WebCore::CSSParser::detectNumberToken): Parsing the vw/vh/vmin tokens.
97971        * css/CSSPrimitiveValue.cpp:
97972        (WebCore::isValidCSSUnitTypeForDoubleConversion): Added support for vw/vh/vmin.
97973        (WebCore::unitCategory): Ditto.
97974        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
97975        (WebCore::CSSPrimitiveValue::canonicalUnitTypeForCategory): Added support for vw/vh/vmin.
97976        (WebCore::CSSPrimitiveValue::customCssText): Ditto.
97977        (WebCore::CSSPrimitiveValue::viewportRelativeLength): Function to create the Length structure for the viewport-relative unit types.
97978        (WebCore):
97979        * css/CSSPrimitiveValue.h:
97980        (WebCore::CSSPrimitiveValue::isViewportRelativeLength): Checks whether the primitive value is ViewportRelative Lengths.
97981        (CSSPrimitiveValue):
97982        * css/CSSPrimitiveValue.idl: Added support for vw/vh/vmin.
97983        * css/CSSStyleApplyProperty.cpp:
97984        (WebCore::ApplyPropertyLength::applyValue): Applying relative viewport length units to the specific CSS property.
97985        (WebCore::ApplyPropertyBorderRadius::applyValue): Ditto.
97986        (WebCore::ApplyPropertyFontSize::applyValue): Ditto.
97987        (WebCore::ApplyPropertyLineHeight::applyValue): Ditto.
97988        (WebCore::ApplyPropertyVerticalAlign::applyValue): Ditto.
97989        * css/CSSStyleSelector.cpp:
97990        (WebCore::convertToLength): Added support for viewport relative units.
97991        (WebCore::createGridTrackBreadth): Ditto.
97992        (WebCore::CSSStyleSelector::mapFillSize): Ditto.
97993        (WebCore::CSSStyleSelector::mapFillXPosition): Ditto.
97994        (WebCore::CSSStyleSelector::mapFillYPosition): Ditto.
97995        * dom/Document.cpp:
97996        (WebCore::Document::pageSizeAndMarginsInPixels): Modified to support viewport relative Length types.
97997        (WebCore::Document::viewportSize): New function to fetch the current viewport size.
97998        (WebCore):
97999        * dom/Document.h: Ditto.
98000        (Document):
98001        * html/HTMLAreaElement.cpp:
98002        (WebCore::HTMLAreaElement::getRegion): Modified to support viewport relative Length types.
98003        * platform/Length.h: New LengthTypes such as ViewportRelativeWidth, ViewportRelativeHeight and ViewportRelativeMin added.
98004        (WebCore::Length::calcValue): Modified to support viewport relative Length types.
98005        (WebCore::Length::calcMinValue): Ditto.
98006        (WebCore::Length::calcFloatValue): Ditto.
98007        (Length):
98008        (WebCore::Length::isViewportRelative): To check the Length is of type ViewportRelative.
98009        (WebCore::Length::viewportRelativeLength): To get the relative value.
98010        * rendering/RenderBR.cpp:
98011        (WebCore::RenderBR::lineHeight): Modified to support viewport relative Length types.
98012        * rendering/RenderBlock.cpp:
98013        (WebCore::RenderBlock::lineHeight): Ditto.
98014        * rendering/RenderBox.cpp:
98015        (WebCore::RenderBox::reflectionOffset): Ditto.
98016        (WebCore::RenderBox::paintBoxDecorations): Ditto.
98017        (WebCore::RenderBox::clipRect): Ditto.
98018        (WebCore::RenderBox::computeLogicalWidthInRegion): Ditto.
98019        (WebCore::RenderBox::computeLogicalWidthInRegionUsing): Ditto.
98020        (WebCore::RenderBox::computeInlineDirectionMargins): Ditto.
98021        (WebCore::RenderBox::computeLogicalHeightUsing): Ditto.
98022        (WebCore::RenderBox::computePercentageLogicalHeight): Ditto.
98023        (WebCore::RenderBox::computeReplacedLogicalHeightUsing): Ditto.
98024        (WebCore::RenderBox::computeBlockDirectionMargins): Ditto.
98025        (WebCore::RenderBox::computePositionedLogicalWidthUsing): Ditto.
98026        (WebCore::RenderBox::computePositionedLogicalHeightUsing): Ditto.
98027        (WebCore::RenderBox::computePositionedLogicalWidthReplaced): Ditto.
98028        (WebCore::RenderBox::computePositionedLogicalHeightReplaced): Ditto.
98029        * rendering/RenderBoxModelObject.cpp:
98030        (WebCore::RenderBoxModelObject::relativePositionOffsetX): Ditto.
98031        (WebCore::RenderBoxModelObject::relativePositionOffsetY): Ditto.
98032        (WebCore::RenderBoxModelObject::paddingTop): Ditto.
98033        (WebCore::RenderBoxModelObject::paddingBottom): Ditto.
98034        (WebCore::RenderBoxModelObject::paddingLeft): Ditto.
98035        (WebCore::RenderBoxModelObject::paddingRight): Ditto.
98036        (WebCore::RenderBoxModelObject::paddingBefore): Ditto.
98037        (WebCore::RenderBoxModelObject::paddingAfter): Ditto.
98038        (WebCore::RenderBoxModelObject::paddingStart): Ditto.
98039        (WebCore::RenderBoxModelObject::paddingEnd): Ditto.
98040        (WebCore::RenderBoxModelObject::getBackgroundRoundedRect): Ditto.
98041        (WebCore::RenderBoxModelObject::calculateFillTileSize): Ditto.
98042        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Ditto.
98043        (WebCore::computeBorderImageSide): Ditto.
98044        (WebCore::RenderBoxModelObject::paintNinePieceImage): Ditto.
98045        (WebCore::RenderBoxModelObject::paintBorder): Ditto.
98046        (WebCore::RenderBoxModelObject::paintBoxShadow): Ditto.
98047        * rendering/RenderFlexibleBox.cpp:
98048        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Ditto.
98049        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Ditto.
98050        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Ditto.
98051        * rendering/RenderInline.cpp:
98052        (WebCore::computeMargin): Ditto.
98053        (WebCore::RenderInline::lineHeight): Ditto.
98054        * rendering/RenderMenuList.cpp:
98055        (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
98056        * rendering/RenderObject.cpp:
98057        (WebCore::RenderObject::repaintAfterLayoutIfNeeded): Ditto.
98058        * rendering/RenderObject.h:
98059        (WebCore::RenderObject::viewportSize): New function to fetch the current viewport size.
98060        (RenderObject):
98061        * rendering/RenderReplaced.cpp:
98062        (WebCore::RenderReplaced::paint): Modified to support viewport relative Length types.
98063        * rendering/RenderScrollbarPart.cpp:
98064        (WebCore::calcScrollbarThicknessUsing): Ditto.
98065        (WebCore::RenderScrollbarPart::computeScrollbarWidth): Ditto.
98066        (WebCore::RenderScrollbarPart::computeScrollbarHeight): Ditto.
98067        * rendering/RenderTable.cpp:
98068        (WebCore::RenderTable::computeLogicalWidth): Ditto.
98069        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth): Ditto.
98070        * rendering/RenderTableCell.cpp:
98071        (WebCore::RenderTableCell::logicalHeightForRowSizing): Ditto.
98072        * rendering/RenderTableSection.cpp:
98073        (WebCore::RenderTableSection::calcRowLogicalHeight): Ditto.
98074        * rendering/RenderText.h:
98075        (WebCore::RenderText::marginLeft): Ditto.
98076        (WebCore::RenderText::marginRight): Ditto.
98077        * rendering/RenderThemeMac.mm:
98078        (WebCore::RenderThemeMac::paintMenuListButtonGradients): Ditto.
98079        * rendering/RenderWidget.cpp:
98080        (WebCore::RenderWidget::paint): Ditto.
98081        * rendering/RootInlineBox.cpp:
98082        (WebCore::RootInlineBox::verticalPositionForBox): Ditto.
98083        * rendering/style/RenderStyle.cpp:
98084        (WebCore::calcRadiiFor): Ditto.
98085        (WebCore::RenderStyle::getRoundedBorderFor): Ditto.
98086        * rendering/style/RenderStyle.h: Ditto.
98087        * rendering/svg/RenderSVGRoot.cpp:
98088        (WebCore::resolveLengthAttributeForSVG): Ditto.
98089        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Ditto.
98090        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
98091
980922012-03-02  Pablo Flouret  <pablof@motorola.com>
98093
98094        Editor's default paragraph separator is not reset when a frame's document is changed
98095        https://bugs.webkit.org/show_bug.cgi?id=80065
98096
98097        Reviewed by Ryosuke Niwa.
98098
98099        Test: editing/execCommand/reset-values-after-navigation.html
98100
98101        * editing/Editor.cpp:
98102        (WebCore::Editor::clear):
98103
981042012-03-02  Alexey Proskuryakov  <ap@apple.com>
98105
98106        Have a copy of plug-in sandboxing API header in WebCore
98107        https://bugs.webkit.org/show_bug.cgi?id=80185
98108        <rdar://problem/8242128>
98109
98110        Reviewed by Anders Carlsson.
98111
98112        * plugins/npapi-sandbox.h: Added.
98113
98114        * WebCore.xcodeproj/project.pbxproj: Added as unused file.
98115
981162012-03-02  Emil A Eklund  <eae@chromium.org>
98117
98118        Revert borders to integers for subpixel layout
98119        https://bugs.webkit.org/show_bug.cgi?id=80175
98120
98121        Reviewed by Eric Seidel.
98122
98123        Change border representation and calculation back to integers to ensure
98124        that borders given the same width are rendered with the same actual width.
98125
98126        This will also avoid unnecessary type conversions when we switch over
98127        to subpixel precision.
98128
98129        No new tests.
98130
98131        * rendering/LayoutTypes.h:
98132        (WebCore::pixelSnappedIntRect):
98133        (WebCore):
98134        * rendering/RenderBoxModelObject.h:
98135        (WebCore::RenderBoxModelObject::borderTop):
98136        (WebCore::RenderBoxModelObject::borderBottom):
98137        (WebCore::RenderBoxModelObject::borderLeft):
98138        (WebCore::RenderBoxModelObject::borderRight):
98139        (WebCore::RenderBoxModelObject::borderBefore):
98140        (WebCore::RenderBoxModelObject::borderAfter):
98141        (WebCore::RenderBoxModelObject::borderStart):
98142        (WebCore::RenderBoxModelObject::borderEnd):
98143        * rendering/RenderTable.cpp:
98144        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
98145        (WebCore::RenderTable::calcBorderStart):
98146        (WebCore::RenderTable::calcBorderEnd):
98147        (WebCore::RenderTable::borderBefore):
98148        (WebCore::RenderTable::borderAfter):
98149        (WebCore::RenderTable::outerBorderBefore):
98150        (WebCore::RenderTable::outerBorderAfter):
98151        (WebCore::RenderTable::outerBorderStart):
98152        (WebCore::RenderTable::outerBorderEnd):
98153        * rendering/RenderTable.h:
98154        (WebCore::RenderTable::borderStart):
98155        (WebCore::RenderTable::borderEnd):
98156        (RenderTable):
98157        (WebCore::RenderTable::borderLeft):
98158        (WebCore::RenderTable::borderRight):
98159        (WebCore::RenderTable::borderTop):
98160        (WebCore::RenderTable::borderBottom):
98161        (WebCore::RenderTable::outerBorderLeft):
98162        (WebCore::RenderTable::outerBorderRight):
98163        (WebCore::RenderTable::outerBorderTop):
98164        (WebCore::RenderTable::outerBorderBottom):
98165        * rendering/RenderTableCell.cpp:
98166        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
98167        (WebCore::RenderTableCell::borderLeft):
98168        (WebCore::RenderTableCell::borderRight):
98169        (WebCore::RenderTableCell::borderTop):
98170        (WebCore::RenderTableCell::borderBottom):
98171        (WebCore::RenderTableCell::borderStart):
98172        (WebCore::RenderTableCell::borderEnd):
98173        (WebCore::RenderTableCell::borderBefore):
98174        (WebCore::RenderTableCell::borderAfter):
98175        (WebCore::RenderTableCell::borderHalfLeft):
98176        (WebCore::RenderTableCell::borderHalfRight):
98177        (WebCore::RenderTableCell::borderHalfTop):
98178        (WebCore::RenderTableCell::borderHalfBottom):
98179        (WebCore::RenderTableCell::borderHalfStart):
98180        (WebCore::RenderTableCell::borderHalfEnd):
98181        (WebCore::RenderTableCell::borderHalfBefore):
98182        (WebCore::RenderTableCell::borderHalfAfter):
98183        (WebCore::RenderTableCell::paintCollapsedBorders):
98184        * rendering/RenderTableCell.h:
98185        (RenderTableCell):
98186
981872012-03-01  Eric Seidel  <eric@webkit.org>
98188
98189        Chrome 18 fails html5test.com XHR Blob response test
98190        https://bugs.webkit.org/show_bug.cgi?id=76760
98191
98192        Reviewed by Adam Barth.
98193
98194        Most of the code was already there, this just fixes the FIXME
98195        which was causing this feature not to work.  Chromium already
98196        had this #ifdef enabled, but other ports (at least Mac) do not.
98197
98198        Test: fast/files/xhr-response-blob.html
98199
98200        * xml/XMLHttpRequest.cpp:
98201        (WebCore::XMLHttpRequest::didFinishLoading):
98202
982032012-03-02  Kentaro Hara  <haraken@chromium.org>
98204
98205        Revert Worker-related APIs from DOMWindowWorker.idl back to DOMWindow.idl
98206        https://bugs.webkit.org/show_bug.cgi?id=80151
98207
98208        Reviewed by Adam Barth.
98209
98210        Based on the discussion on webkit-dev@
98211        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
98212        this patch reverts Worker-related APIs from DOMWindowWorker.idl back to DOMWindow.idl.
98213
98214        No tests. No change in behavior.
98215
98216        * CMakeLists.txt:
98217        * DerivedSources.make:
98218        * DerivedSources.pri:
98219        * GNUmakefile.list.am:
98220        * WebCore.gypi:
98221        * page/DOMWindow.idl:
98222        * workers/DOMWindowWorker.idl: Removed.
98223
982242012-03-02  Kentaro Hara  <haraken@chromium.org>
98225
98226        Revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl
98227        https://bugs.webkit.org/show_bug.cgi?id=80140
98228
98229        Reviewed by Adam Barth.
98230
98231        Based on the discussion on webkit-dev@
98232        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
98233        we should revert HTML-related APIs from DOMWindowHTML.idl back to DOMWindow.idl.
98234
98235        No tests. No change in behavior.
98236
98237        * CMakeLists.txt:
98238        * DerivedSources.make:
98239        * DerivedSources.pri:
98240        * GNUmakefile.list.am:
98241        * WebCore.gypi:
98242        * WebCore.xcodeproj/project.pbxproj:
98243        * html/DOMWindowHTML.idl: Removed.
98244        * page/DOMWindow.idl:
98245
982462012-03-02  Kentaro Hara  <haraken@chromium.org>
98247
98248        Revert XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl
98249        https://bugs.webkit.org/show_bug.cgi?id=80148
98250
98251        Reviewed by Adam Barth.
98252
98253        Based on the discussion on webkit-dev@
98254        (http://markmail.org/message/kagvswmah67zmrry#query:+page:1+mid:h34vzbiu5suub3ld+state:results),
98255        this patch reverts XML-related APIs from DOMWindowXML.idl back to DOMWindow.idl.
98256
98257        No tests. No change in behavior.
98258
98259        * CMakeLists.txt:
98260        * DerivedSources.make:
98261        * DerivedSources.pri:
98262        * GNUmakefile.list.am:
98263        * WebCore.gypi:
98264        * WebCore.xcodeproj/project.pbxproj:
98265        * page/DOMWindow.idl:
98266        * xml/DOMWindowXML.idl: Removed.
98267
982682012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
98269
98270        Implement NamedNodeMap::setNamedItem() in terms of Element::setAttributeNode() instead of the other way round
98271        https://bugs.webkit.org/show_bug.cgi?id=80188
98272
98273        Reviewed by Ryosuke Niwa.
98274
98275        Using setNamedItem() in setAttributeNode() implementation made us do unnecessary
98276        checks like whether the element existed or whether the given node was an
98277        attribute. So now setAttributeNode() do less work.
98278
98279        No new tests were added, functionality should be unchanged.
98280
98281        * dom/Element.cpp:
98282        (WebCore::Element::setAttributeNode):
98283        (WebCore::Element::setAttributeNodeNS):
98284        * dom/Element.h:
98285        (Element):
98286        (WebCore::Element::attributes): We got rid of ensureUpdatedAttributes(), next in
98287        line will be updatedAttributes().
98288        * dom/NamedNodeMap.cpp:
98289        (WebCore::NamedNodeMap::setNamedItem):
98290
982912012-03-02  SravanKumar Sandela  <ssandela@innominds.com>
98292
98293        Layout issue with fieldset legend element
98294        https://bugs.webkit.org/show_bug.cgi?id=78684
98295
98296        Reviewed by Dirk Pranke.
98297
98298        The clipping logic for legend element was incorrect and now it has been corrected by taking correct offset in to consideration. 
98299
98300        Test: fast/forms/fieldset-legend-padding-unclipped-fieldset-border.html
98301
98302        * rendering/RenderFieldset.cpp:
98303        (WebCore::RenderFieldset::paintBoxDecorations):
98304
983052012-03-02  Erik Arvidsson  <arv@chromium.org>
98306
98307        [V8] Bindings for node always check if they are a Document.
98308        https://bugs.webkit.org/show_bug.cgi?id=79947
98309
98310        Reviewed by Adam Barth.
98311
98312        This changes the generated bindings code to only generate the Document code for the Document wrappers.
98313
98314        No new tests. Covered by existing tests.
98315
98316        * bindings/scripts/CodeGeneratorV8.pm:
98317        (GenerateToV8Converters):
98318        * bindings/scripts/test/V8/V8Float64Array.cpp:
98319        (WebCore::V8Float64Array::wrapSlow):
98320        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
98321        (WebCore::V8TestActiveDOMObject::wrapSlow):
98322        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
98323        (WebCore::V8TestCustomNamedGetter::wrapSlow):
98324        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
98325        (WebCore::V8TestEventConstructor::wrapSlow):
98326        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
98327        (WebCore::V8TestEventTarget::wrapSlow):
98328        * bindings/scripts/test/V8/V8TestInterface.cpp:
98329        (WebCore::V8TestInterface::wrapSlow):
98330        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
98331        (WebCore::V8TestMediaQueryListListener::wrapSlow):
98332        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
98333        (WebCore::V8TestNamedConstructor::wrapSlow):
98334        * bindings/scripts/test/V8/V8TestObj.cpp:
98335        (WebCore::V8TestObj::wrapSlow):
98336        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
98337        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
98338
983392012-03-02  Igor Oliveira  <igor.o@sisa.samsung.com>
98340
98341        animation-timing-function falls back to ease when overriding animation-name
98342        https://bugs.webkit.org/show_bug.cgi?id=71623
98343
98344        In this patch the animation name needs to be the first value declared, if
98345        a different value is found, we do not check for the animation name again.  
98346
98347        Reviewed by Dean Jackson.
98348
98349        Test: animations/animation-shorthand-overriding.html
98350
98351        * css/CSSParser.cpp:
98352        (WebCore::CSSParser::parseAnimationShorthand):
98353
983542012-03-02  Martin Robinson  <mrobinson@igalia.com>
98355
98356        [GTK] [AC] Connect WebGL to the TextureMapperGL code
98357        https://bugs.webkit.org/show_bug.cgi?id=78968
98358
98359        Reviewed by Gustavo Noronha Silva.
98360
98361        No new tests. This is covered by existing accelerated compositing and
98362        WebGL tests.
98363
98364        Rely on the shared version of GL acquisition from GLContext. This reduces
98365        a lot of code and now allows us to connect WebGL into the accelerated compositing
98366        rendering path.
98367
98368        * GNUmakefile.list.am: GLContext should be included for all X11 builds now.
98369        There are no longer GTK+ specific versions of GraphicsContext3D.
98370        * platform/graphics/GraphicsContext3D.h: Add a default argument for
98371        resolveMultisamplingIfNecessary. This will resolve the entire texture.
98372        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: GraphicsContext3D is
98373        now responsible for creating GraphicsContext3DPrivate in the constructor.
98374        (WebCore::GraphicsContext3D::platformLayer): Now return m_private.
98375        * platform/graphics/cairo/GraphicsContext3DPrivate.cpp: Added.
98376        * platform/graphics/cairo/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/glx/GraphicsContext3DPrivate.h.
98377        * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Removed.
98378        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
98379        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Properly
98380        handle the default argument.
98381        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
98382        (WebCore::GraphicsContext3D::prepareTexture): Use the new default argument now.
98383        (WebCore::GraphicsContext3D::readRenderingResults): Ditto.
98384
983852012-02-18  Martin Robinson  <mrobinson@igalia.com>
98386
98387        [GTK] [AC] Generalize WindowContextGL
98388        https://bugs.webkit.org/show_bug.cgi?id=78969
98389
98390        Reviewed by Gustavo Noronha Silva.
98391
98392        No new tests. This should not change functionality.
98393
98394        * GNUmakefile.list.am: Added new files to source list.
98395        * platform/graphics/cairo/GLContext.h: Added. An abstraction for all GL contexts.
98396        * platform/graphics/glx/GLContextGLX.cpp: Added. This file is composed of very little
98397        new code, as the logic for instantiating offscreen GL contexts is copied from
98398        GraphicsContext3DPrivate. The code duplication will be removed in a followup patch.
98399        (WebCore::GLContext::platformContext):
98400        * platform/graphics/gtk/GLContextGtk.cpp: Added. This includes some helper factories
98401        for creating and caching GL contexts for GTK+ widgets.
98402
984032012-03-02  W. James MacLean  <wjmaclean@chromium.org>
98404
98405        [chromium] Remove TRACE_EVENT from CCQuadCuller::cullOccludedQuads.
98406        https://bugs.webkit.org/show_bug.cgi?id=80174
98407
98408        Reviewed by James Robinson.
98409
98410        Covered by existing chromium unit tests.
98411
98412        Firing TRACE_EVENT once per draw quad is overwhelming.
98413
98414        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
98415        (WebCore::CCQuadCuller::cullOccludedQuads):
98416
984172012-03-02  Erik Arvidsson  <arv@chromium.org>
98418
98419        [V8] Make inline event attributes use evt for SVG and event otherwise
98420        https://bugs.webkit.org/show_bug.cgi?id=80167
98421
98422        Reviewed by Ojan Vafai.
98423
98424        Test: fast/dom/inline-event-attributes-event-param-name.html
98425
98426        * bindings/v8/V8LazyEventListener.cpp:
98427        (WebCore::V8LazyEventListener::prepareListenerObject):
98428
984292012-03-02  Gavin Peters  <gavinp@chromium.org>
98430
98431        Sync PageCache debugging with PageCache behaviour
98432        https://bugs.webkit.org/show_bug.cgi?id=79943
98433
98434        Sync up the debug printing code in PageCache with the actual logic,
98435        and clean up the debug printing at the same time.
98436
98437        Reviewed by Brady Eidson.
98438
98439        No new tests, as this is a refactor of debug only code.
98440
98441        * history/PageCache.cpp:
98442        (WebCore):
98443        (WebCore::logCanCacheFrameDecision):
98444        (WebCore::logCanCachePageDecision):
98445
984462012-03-02  Maciej Stachowiak  <mjs@apple.com>
98447
98448        REGRESSION(r97353): Crash when accessing location or history properties inside a navigated window
98449        https://bugs.webkit.org/show_bug.cgi?id=80133
98450        <rdar://problem/10432233>
98451        
98452        Reviewed by Antti Koivisto.
98453
98454        Test: fast/dom/Window/navigated-window-properties.html
98455
98456        * bindings/js/JSDOMWindowCustom.cpp:
98457        (WebCore): Remove custom getters for window.location and window.history; they
98458        were unnecessary and did the wrong thing when DOMWindow returned null values 
98459        for these.
98460        * page/DOMWindow.idl: ditto
98461        * bindings/js/JSDOMBinding.cpp:
98462        (WebCore::reportException): Remove assert about null values and update comment,
98463        since this is now an expected state for navigated inner windows.
98464
984652012-03-02  Ryosuke Niwa  <rniwa@webkit.org>
98466
98467        REGRESSION(r74971): Can't select a line of RTL text on Facebook
98468        https://bugs.webkit.org/show_bug.cgi?id=59435
98469
98470        Reviewed by Eric Seidel.
98471
98472        The bug was caused by inline text boxes created by BRs being placed at the end of the line
98473        according to the block's direction regardless of its unicode bidi-level. e.g. if we have
98474        <div dir="rtl"><span dir="ltr">hello<br>world</span></div>
98475        the inline box generated by the br has the bidi-level of 2 like the rest of text in the span.
98476        This inline text box gives an illusion of having text on the left of "hello" to hit testing
98477        and editing code and causes all sorts of problems.
98478
98479        Fixed the bug by replacing calls to nextLeafChild and prevLeafChild by newly introduced
98480        nextLeafChildIgnoringLineBreak and prevLeafChildIgnoringLineBreak. These two functions will
98481        return 0 when they hit the end of a line or inline text box that's a line break. In effect,
98482        hit testing and editing code can ignore inline boxes generated by br's.
98483
98484        In the long term, we should move these two functions into RenderedPosition along with the rest
98485        of code that converts a Position and an inline box, offset pair.
98486
98487        Test: editing/selection/select-line-break-with-opposite-directionality.html
98488
98489        * dom/Position.cpp:
98490        (WebCore::Position::getInlineBoxAndOffset):
98491        * editing/RenderedPosition.cpp:
98492        (WebCore::RenderedPosition::prevLeafChild):
98493        (WebCore::RenderedPosition::nextLeafChild):
98494        * rendering/InlineBox.cpp:
98495        (WebCore::InlineBox::nextLeafChildIgnoringLineBreak):
98496        (WebCore::InlineBox::prevLeafChildIgnoringLineBreak):
98497        * rendering/InlineBox.h:
98498        * rendering/RenderBlock.cpp:
98499        (WebCore::RenderBlock::positionForPointWithInlineChildren):
98500        * rendering/RenderText.cpp:
98501        (WebCore::lineDirectionPointFitsInBox): If we're on the left of a RTL line, we should stay at
98502        upstream position since we're at the end of a line.
98503        (WebCore::createVisiblePositionAfterAdjustingOffsetForBiDi): Merge the two special cases into
98504        the general loop as the comment suggests. Skip an inline text box for a line break at the left
98505        edge when there are more line boxes on the line.
98506        (WebCore::RenderText::positionForPoint):
98507        * rendering/RootInlineBox.cpp:
98508        (WebCore::RootInlineBox::closestLeafChildForLogicalLeftPosition): Ignore line boxes created for
98509        line boxes when there are other boxes on the line.
98510
985112012-03-02  Adam Treat  <atreat@rim.com>
98512
98513        https://bugs.webkit.org/show_bug.cgi?id=80161
98514        PR: 141157
98515
98516        BlackBerryPlatformScreen.h API has been updated.  Reflect those
98517        changes in our usage.
98518
98519        Reviewed by Antonio Gomes.
98520        Internally reviewed by Jakob Petsovits
98521
98522        * platform/blackberry/PlatformScreenBlackBerry.cpp:
98523        (WebCore::screenAvailableRect):
98524        (WebCore::screenRect):
98525
985262012-03-02  Julien Chaffraix  <jchaffraix@webkit.org>
98527
98528        Move the 'overflow' event dispatching logic out of RenderLayer
98529        https://bugs.webkit.org/show_bug.cgi?id=80090
98530
98531        Unreviewed build fix.
98532
98533        * rendering/RenderBlock.cpp:
98534        (OverflowEventDispatcher): Removed the unused function.
98535
985362012-03-02  Julien Chaffraix  <jchaffraix@webkit.org>
98537
98538        Move the 'overflow' event dispatching logic out of RenderLayer
98539        https://bugs.webkit.org/show_bug.cgi?id=80090
98540
98541        Reviewed by Simon Fraser.
98542
98543        Test: fast/events/overflow-events-writing-mode.html
98544
98545        This moves the 'overflow' event dispatch from RenderLayer to an helper class
98546        OverflowEventDispatcher. For now, the class lives in RenderBlock as it matches
98547        the existing code but it may be moved later to its own class as FrameView could
98548        benefit from it too or if we need to support 'overflow' events on RenderBoxes.
98549
98550        * rendering/RenderBlock.cpp:
98551        (WebCore):
98552        (OverflowEventDispatcher):
98553        (WebCore::OverflowEventDispatcher::OverflowEventDispatcher):
98554        (WebCore::OverflowEventDispatcher::~OverflowEventDispatcher):
98555        (WebCore::OverflowEventDispatcher::computeOverflowStatus):
98556        RAII dispatcher class that stores the information before layout and compare
98557        them after to dispatch the right information.
98558
98559        (WebCore::RenderBlock::layout): Added an instance of OverflowEventDispatcher.
98560
98561        * rendering/RenderBox.h:
98562        (WebCore::RenderBox::hasHorizontalLayoutOverflow):
98563        (WebCore::RenderBox::hasVerticalLayoutOverflow):
98564        Helper method to know if we have an horizontal / vertical layout overflow.
98565
98566        * rendering/RenderLayer.cpp:
98567        (WebCore::RenderLayer::RenderLayer):
98568        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
98569        * rendering/RenderLayer.h:
98570        Removed the scroll tracking logic as we don't need it anymore. This removes
98571        3 booleans from RenderLayer.
98572
985732012-03-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
98574
98575        Create a method in Element to compare attributes with other Element
98576        https://bugs.webkit.org/show_bug.cgi?id=80169
98577
98578        Reviewed by Ryosuke Niwa.
98579
98580        Avoid manually peeking at attribute storage to get this information. This
98581        simplify the callsites. The actual implementation of comparison was moved to
98582        ElementAttributeData. The mapsEquivalent() function still exists for the sake
98583        of DocumentType nodes.
98584
98585        * dom/Element.cpp:
98586        (WebCore::Element::hasEquivalentAttributes):
98587        (WebCore):
98588        * dom/Element.h:
98589        (Element):
98590        * dom/ElementAttributeData.cpp:
98591        (WebCore::ElementAttributeData::isEquivalent):
98592        (WebCore):
98593        * dom/ElementAttributeData.h:
98594        (ElementAttributeData):
98595        * dom/NamedNodeMap.cpp:
98596        (WebCore::NamedNodeMap::mapsEquivalent):
98597        * dom/Node.cpp:
98598        (WebCore::Node::isEqualNode):
98599        * editing/htmlediting.cpp:
98600        (WebCore::areIdenticalElements): Use Element::hasTagName() instead of matching
98601        directly to make code a bit clearer.
98602
986032012-03-02  Zan Dobersek  <zandobersek@gmail.com>
98604
98605        [GTK] Smooth scrolling support
98606        https://bugs.webkit.org/show_bug.cgi?id=16123
98607
98608        Reviewed by Martin Robinson.
98609
98610        No new tests - no new functionality.
98611
98612        Add the ScrollAnimatorNone class to compilation and enable
98613        the smooth scrolling feature by default at compilation time.
98614
98615        * GNUmakefile.am:
98616        * GNUmakefile.list.am:
98617
986182012-03-02  Philippe Normand  <pnormand@igalia.com>
98619
98620        [GStreamer] media/media-can-play-flac-audio.html fails
98621        https://bugs.webkit.org/show_bug.cgi?id=80124
98622
98623        Reviewed by Martin Robinson.
98624
98625        Handle audio/x-flac in the mimeTypeCache() function so that we
98626        advertize both audio/flac and audio/x-flac.
98627
98628        No new tests, this is covered already by media/media-can-play-flac-audio.html.
98629
98630        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
98631
986322012-03-02  Pavel Podivilov  <podivilov@chromium.org>
98633
98634        Web Inspector: fix fronted compilation.
98635        https://bugs.webkit.org/show_bug.cgi?id=80154
98636
98637        Reviewed by Yury Semikhatsky.
98638
98639        * inspector/front-end/DebuggerModel.js:
98640        (WebInspector.DebuggerModel.prototype.scriptForSourceID):
98641        * inspector/front-end/DebuggerPresentationModel.js:
98642        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
98643        * inspector/front-end/ScriptsSearchScope.js:
98644        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
98645
986462012-03-02  Kaustubh Atrawalkar  <kaustubh@motorola.com>
98647
98648        Rename DOMURL to URL in the bindings
98649        https://bugs.webkit.org/show_bug.cgi?id=78214
98650
98651        Reviewed by Kentaro Hara.
98652
98653        No new tests. Interface name change.
98654
98655        * html/DOMURL.idl: Added InterfaceName attribute to DOMURL.
98656
986572012-03-02  Roland Steiner  <rolandsteiner@chromium.org>
98658
98659        Add :scope pseudo-class
98660        https://bugs.webkit.org/show_bug.cgi?id=79077
98661
98662        Add :scope pseudo class name & pseudoId
98663        Add selector check for the new pseudo-class
98664
98665        Reviewed by Antti Koivisto.
98666
98667        Test: fast/css/style-scoped/scope-pseudo.html
98668
98669        * css/CSSSelector.cpp:
98670        (WebCore::CSSSelector::pseudoId):
98671        (WebCore::nameToPseudoTypeMap):
98672        (WebCore::CSSSelector::extractPseudoType):
98673        * css/CSSSelector.h:
98674        * css/SelectorChecker.cpp:
98675        (WebCore::SelectorChecker::checkOneSelector):
98676
986772012-03-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
98678
98679        Make parser code not depend on NamedNodeMap
98680        https://bugs.webkit.org/show_bug.cgi?id=79963
98681
98682        Reviewed by Adam Barth.
98683
98684        Instead of creating Element-less NamedNodeMaps, the parsing code now creates
98685        AttributeVectors, that are used to fill Element via the parserSetAttributes()
98686        method. This allows us to remove even more methods from the NamedNodeMap.
98687
98688        The AttributeVector class contains convenience methods that take the attribute's
98689        QualifiedName as parameter. This class is also used inside ElementAttributeData.
98690
98691        * dom/Attr.h:
98692        (Attr):
98693        * dom/Element.cpp:
98694        (WebCore::Element::getAttribute):
98695        (WebCore::Element::parserSetAttributes): Now we have to create the attribute
98696        storage, and fill it (by Vector::swap()) with the passed attributes. Also use an
98697        early return to reduce indentation.
98698        (WebCore::Element::insertedIntoDocument):
98699        (WebCore::Element::removedFromDocument):
98700        (WebCore::Element::getURLAttribute):
98701        (WebCore::Element::getNonEmptyURLAttribute):
98702        * dom/Element.h:
98703        (Element):
98704        (WebCore::Element::fastHasAttribute):
98705        (WebCore::Element::fastGetAttribute):
98706        (WebCore::Element::hasAttributesWithoutUpdate):
98707        (WebCore::Element::attributeItem):
98708        (WebCore::Element::getAttributeItem):
98709        * dom/ElementAttributeData.cpp:
98710        (WebCore::AttributeVector::removeAttribute):
98711        (WebCore):
98712        * dom/ElementAttributeData.h:
98713        (AttributeVector):
98714        (WebCore::AttributeVector::create):
98715        (WebCore::AttributeVector::attributeItem):
98716        (WebCore::AttributeVector::AttributeVector):
98717        (WebCore):
98718        (WebCore::AttributeVector::getAttributeItem):
98719        (WebCore::AttributeVector::getAttributeItemIndex):
98720        (WebCore::AttributeVector::insertAttribute): Boolean parameter isn't necessary
98721        since all the callers used 'false', indicating that duplicates were not allowed.
98722        (WebCore::ElementAttributeData::attributeItem):
98723        (WebCore::ElementAttributeData::getAttributeItem):
98724        (WebCore::ElementAttributeData::getAttributeItemIndex):
98725        (ElementAttributeData):
98726        * dom/NamedNodeMap.cpp:
98727        (WebCore::NamedNodeMap::getNamedItem):
98728        (WebCore::NamedNodeMap::setNamedItem):
98729        (WebCore::NamedNodeMap::removeNamedItem):
98730        (WebCore::NamedNodeMap::mapsEquivalent):
98731        * dom/NamedNodeMap.h:
98732        * html/parser/HTMLConstructionSite.cpp:
98733        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
98734        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement):
98735        (WebCore::HTMLConstructionSite::insertScriptElement):
98736        (WebCore::HTMLConstructionSite::createElement):
98737        (WebCore::HTMLConstructionSite::createHTMLElement):
98738        (WebCore):
98739        * html/parser/HTMLToken.h:
98740        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
98741        * html/parser/HTMLTreeBuilder.cpp:
98742        (WebCore::HTMLTreeBuilder::processFakeStartTag):
98743        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
98744        (WebCore):
98745        * html/parser/HTMLTreeBuilder.h:
98746        * html/parser/TextDocumentParser.cpp:
98747        (WebCore::TextDocumentParser::insertFakePreElement):
98748        * xml/parser/MarkupTokenBase.h:
98749        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
98750        (WebCore::AtomicMarkupTokenBase::attributes):
98751        (WebCore::AtomicMarkupTokenBase::takeAttributes):
98752        (AtomicMarkupTokenBase):
98753        (WebCore::::initializeAttributes):
98754        * xml/parser/XMLToken.h:
98755        (WebCore::AtomicXMLToken::AtomicXMLToken):
98756        * xml/parser/XMLTreeBuilder.cpp:
98757        (WebCore::XMLTreeBuilder::processNamespaces):
98758        (WebCore::XMLTreeBuilder::processAttributes):
98759
987602012-03-02  Yury Semikhatsky  <yurys@chromium.org>
98761
98762        Web Inspector: assertion failure in JSMainThreadExecState::instrumentedCall
98763        https://bugs.webkit.org/show_bug.cgi?id=80152
98764
98765        Extracted common code of JS call instrumentation into instrumentFunctionCall method
98766        and call it directly where the instrumentation is needed instead of calling
98767        JSMainThreadExecState::instrumentedCall which works on the main thread only.
98768
98769        Reviewed by Pavel Feldman.
98770
98771        * bindings/js/JSCallbackData.cpp:
98772        (WebCore::JSCallbackData::invokeCallback):
98773        * bindings/js/JSEventListener.cpp:
98774        (WebCore::JSEventListener::handleEvent):
98775        * bindings/js/JSMainThreadExecState.h:
98776        (WebCore::JSMainThreadExecState::instrumentFunctionCall):
98777
987782012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
98779
98780        [Forms] Make order of attribute/method in HTMLTextAreaElement.idl as same as specification
98781        https://bugs.webkit.org/show_bug.cgi?id=80101
98782
98783        Reviewed by Kent Tamura.
98784
98785        No new tests. No behavior changes.
98786
98787        * html/HTMLTextAreaElement.idl: Reorder attribute/method position.
98788
987892012-03-02  Patrick Gansterer  <paroga@webkit.org>
98790
98791        Build fix after r109538.
98792
98793        * CMakeLists.txt:
98794        * Modules/websockets/WebSocketDeflater.cpp:
98795
987962012-03-02  Roland Steiner  <rolandsteiner@chromium.org>
98797
98798        Scoped stylesheets don't appear to work in Shadow DOM
98799        https://bugs.webkit.org/show_bug.cgi?id=79549
98800
98801        Make the scope stack in CSSStyleSelector use ContainerNode* instead of Element*.
98802        Adapt using sites accordingly.
98803        Push the ShadowRoot to the scope stack in the same way that elements are pushed.
98804        Fix an issue with removedFromDocument() on destruction.
98805
98806        Reviewed by Antti Koivisto.
98807
98808        Test: fast/css/style-scoped/style-scoped-in-shadow.html
98809
98810        * css/CSSStyleSelector.cpp:
98811        (RuleSet):
98812        (WebCore::CSSStyleSelector::CSSStyleSelector):
98813        (WebCore::CSSStyleSelector::determineScope):
98814        (WebCore::CSSStyleSelector::ruleSetForScope):
98815        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
98816        (WebCore::CSSStyleSelector::setupScopeStack):
98817        (WebCore::CSSStyleSelector::pushScope):
98818        (WebCore):
98819        (WebCore::CSSStyleSelector::popScope):
98820        (WebCore::CSSStyleSelector::pushParentElement):
98821        (WebCore::CSSStyleSelector::popParentElement):
98822        (WebCore::CSSStyleSelector::pushParentShadowRoot):
98823        (WebCore::CSSStyleSelector::popParentShadowRoot):
98824        (WebCore::CSSStyleSelector::matchScopedAuthorRules):
98825        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
98826        * css/CSSStyleSelector.h:
98827        (CSSStyleSelector):
98828        (WebCore::CSSStyleSelector::pushScope):
98829        (WebCore::CSSStyleSelector::popScope):
98830        (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
98831        (MatchOptions):
98832        (WebCore::CSSStyleSelector::scopeStackIsConsistent):
98833        (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame):
98834        (ScopeStackFrame):
98835        * css/SelectorChecker.h:
98836        (SelectorCheckingContext):
98837        * dom/Element.cpp:
98838        (WebCore::StyleSelectorParentPusher::push):
98839        (WebCore::StyleSelectorParentPusher::~StyleSelectorParentPusher):
98840        (WebCore::Element::beginParsingChildren):
98841        (WebCore::Element::finishParsingChildren):
98842        * dom/ShadowRoot.cpp:
98843        (WebCore::ShadowRoot::attach):
98844        (WebCore):
98845        * dom/ShadowRoot.h:
98846        (ShadowRoot):
98847        * dom/ShadowTree.cpp:
98848        (WebCore::ShadowTree::recalcShadowTreeStyle):
98849        * html/HTMLStyleElement.cpp:
98850        (WebCore::HTMLStyleElement::removedFromDocument):
98851
988522012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
98853
98854        [Forms] Make order of attribute/method in HTMLSelectElement.idl as same as specification
98855        https://bugs.webkit.org/show_bug.cgi?id=80097
98856
98857        Reviewed by Kent Tamura.
98858
98859        No new tests. No behavior changes.
98860
98861        * html/HTMLSelectElement.idl: Reorder attribute/method position.
98862
988632012-03-02  Pavel Podivilov  <podivilov@chromium.org>
98864
98865        Web Inspector: limit RawSourceCode usages to DebuggerPresentationModel.
98866        https://bugs.webkit.org/show_bug.cgi?id=80146
98867
98868        Reviewed by Vsevolod Vlasov.
98869
98870        * inspector/front-end/DebuggerPresentationModel.js:
98871        (WebInspector.DebuggerPresentationModel.prototype.uiLocationToRawLocation):
98872        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
98873        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawLocation):
98874        * inspector/front-end/ObjectPopoverHelper.js:
98875        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
98876        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
98877        * inspector/front-end/ScriptsSearchScope.js:
98878        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
98879
988802012-03-02  Pavel Podivilov  <podivilov@chromium.org>
98881
98882        Web Inspector: update execution line using LiveLocation.
98883        https://bugs.webkit.org/show_bug.cgi?id=80143
98884
98885        Reviewed by Vsevolod Vlasov.
98886
98887        * inspector/front-end/DebuggerPresentationModel.js:
98888        (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
98889        (WebInspector.DebuggerPresentationModel.prototype._debuggerResumed):
98890        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame.updateExecutionLine):
98891        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
98892
988932012-03-02  Leo Yang  <leo.yang@torchmobile.com.cn>
98894
98895        [BlackBerry] Build fix for LocalizedStringsBlackBerry.cpp
98896        https://bugs.webkit.org/show_bug.cgi?id=80099
98897
98898        Unreviewed build fix.
98899
98900        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
98901
989022012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
98903
98904        Fix build on AppleWebKit after 109548.
98905
98906        * WebCore.exp.in:
98907
989082012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
98909
98910        [Forms] Make order of attribute/method in HTMLOptionElement.idl as same as specification
98911        https://bugs.webkit.org/show_bug.cgi?id=80095
98912
98913        Reviewed by Kentaro Hara.
98914
98915        No new tests. No behavior changes.
98916
98917        * html/HTMLOptionElement.idl: Reorder attribute/method position.
98918
989192012-03-02  Adam Barth  <abarth@webkit.org>
98920
98921        WorkerContext shouldn't know about IndexedDB
98922        https://bugs.webkit.org/show_bug.cgi?id=80094
98923
98924        Reviewed by Kentaro Hara.
98925
98926        There are still a couple IndexedDB stragglers we should clean up in
98927        WebCore proper.  This patch moves some IndexedDB logic from
98928        WorkerContext into the indexeddb module.
98929
98930        In the process of writing this patch, I noticed that some IndexedDB
98931        files were missing from various build systems, so I added them.  I
98932        suspect that means IndexedDB is only enabled by default on Chromium.
98933
98934        * CMakeLists.txt:
98935        * DerivedSources.make:
98936        * DerivedSources.pri:
98937        * GNUmakefile.list.am:
98938        * Modules/indexeddb/WorkerContextIndexedDatabase.cpp: Added.
98939        (WebCore):
98940        (WebCore::WorkerContextIndexedDatabase::WorkerContextIndexedDatabase):
98941        (WebCore::WorkerContextIndexedDatabase::~WorkerContextIndexedDatabase):
98942        (WebCore::WorkerContextIndexedDatabase::from):
98943        (WebCore::WorkerContextIndexedDatabase::webkitIndexedDB):
98944        * Modules/indexeddb/WorkerContextIndexedDatabase.h: Added.
98945        (WebCore):
98946        (WorkerContextIndexedDatabase):
98947        * Modules/indexeddb/WorkerContextIndexedDatabase.idl: Added.
98948        * Target.pri:
98949        * WebCore.gypi:
98950        * WebCore.vcproj/WebCore.vcproj:
98951        * WebCore.xcodeproj/project.pbxproj:
98952        * workers/WorkerContext.cpp:
98953        (WebCore):
98954        * workers/WorkerContext.h:
98955        (WebCore):
98956        (WorkerContext):
98957        * workers/WorkerContext.idl:
98958
989592012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
98960
98961        [Qt] Compile WebCore without QtWidgets
98962        https://bugs.webkit.org/show_bug.cgi?id=80141
98963
98964        Reviewed by Tor Arne Vestbø.
98965
98966        * Target.pri: Don't add widgets to QT.
98967        * WebCore.pri: Use QT += opengl only with Qt 4, because it has an implicit QtWidgets
98968        dependency. With Qt 5 all necessary OpenGL API is part of QtGui (with a QOpenGL* prefix).
98969
989702012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
98971
98972        [Forms] Make order of attribute/method in HTMLFormElement.idl as same as specification
98973        https://bugs.webkit.org/show_bug.cgi?id=80093
98974
98975        Reviewed by Kentaro Hara.
98976
98977        No new tests. No behavior changes
98978
98979        * html/HTMLFormElement.idl: Reorder attribute/method position.
98980
989812012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
98982
98983        [Forms] Make order of attribute/method in HTMLButtonElement.idl as same as specification
98984        https://bugs.webkit.org/show_bug.cgi?id=80091
98985
98986        Reviewed by Kentaro Hara.
98987
98988        No new tests. No behavior changes.
98989
98990        * html/HTMLButtonElement.idl: Reorder attribute/method position.
98991
989922012-03-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
98993
98994        Suspend/Resume API for pausing timers and animations.
98995        https://bugs.webkit.org/show_bug.cgi?id=76063
98996
98997        Reviewed by Kenneth Rohde Christiansen.
98998
98999        * dom/ActiveDOMObject.h:
99000            New ReasonForSuspension: PageWillBePaused.
99001        * html/HTMLMediaElement.cpp:
99002        (WebCore::HTMLMediaElement::suspend): Handle new ReasonForSuspension.
99003        * page/Frame.cpp:
99004        (WebCore::Frame::Frame):
99005        (WebCore::Frame::setDocument):
99006        (WebCore::Frame::suspendActiveDOMObjectsAndAnimations):
99007        (WebCore::Frame::resumeActiveDOMObjectsAndAnimations):
99008        * page/Frame.h:
99009        (WebCore::Frame::activeDOMObjectsAndAnimationsSuspended):
99010            Frame now maintains a state of suspending animation and ActiveDOMObjects,
99011            which is inherited to all child-frames.
99012        * page/Page.cpp:
99013        (WebCore::Page::suspendActiveDOMObjectsAndAnimations):
99014        (WebCore::Page::resumeActiveDOMObjectsAndAnimations):
99015        * page/Page.h:
99016            Functions for suspending and resuming active DOM objects and animations in all frames.
99017        * rendering/RenderObject.cpp:
99018        (WebCore::RenderObject::willRenderImage):
99019            WillRenderImage now checks for suspension. This causes animated images to pause
99020            together with all other types of animations.
99021
990222012-03-02  Yoshifumi Inoue  <yosin@chromium.org>
99023
99024        [Forms] Make order of attribute/method in HTMLFieldSetElement.idl as same as specification
99025        https://bugs.webkit.org/show_bug.cgi?id=80092
99026
99027        Reviewed by Kentaro Hara.
99028
99029        No new tests. No behavior changes.
99030
99031        * html/HTMLFieldSetElement.idl: Reorder attribute/method position.
99032
990332012-03-02  Antti Koivisto  <antti@apple.com>
99034
99035        possible regression: r104060 maybe causing crashes
99036        https://bugs.webkit.org/show_bug.cgi?id=75676
99037
99038        Rubber-stamped by Simon Hausmann.
99039
99040        Remove the speculative fix (the problem was elsewhere, http://trac.webkit.org/changeset/104845).
99041
99042        Also remove the debugging code added for this bug.
99043    
99044        * dom/Document.cpp:
99045        (WebCore::Document::Document):
99046        (WebCore::Document::clearStyleSelector):
99047        (WebCore::Document::updateActiveStylesheets):
99048        * dom/Document.h:
99049        (Document):
99050
990512012-03-01  Alexander Pavlov  <apavlov@chromium.org>
99052
99053        Web Inspector: Implement suggestions in Watch Expressions
99054        https://bugs.webkit.org/show_bug.cgi?id=79912
99055
99056        Drive-by: make subproperties in ObjectPropertySections editable
99057
99058        Reviewed by Pavel Feldman.
99059
99060        * inspector/front-end/ConsoleView.js:
99061        (WebInspector.ConsoleView):
99062        (WebInspector.ConsoleView.prototype.completionsForTextPrompt):
99063        * inspector/front-end/DatabaseQueryView.js:
99064        * inspector/front-end/ObjectPropertiesSection.js:
99065        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
99066        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
99067        (WebInspector.ObjectPropertyTreeElement.prototype.ondblclick):
99068        (WebInspector.ObjectPropertyTreeElement.prototype.renderPromptAsBlock):
99069        (WebInspector.ObjectPropertyTreeElement.prototype.elementAndValueToEdit):
99070        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing.blurListener):
99071        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
99072        (WebInspector.ObjectPropertyTreeElement.prototype.editingEnded):
99073        (WebInspector.ObjectPropertyTreeElement.prototype.editingCancelled):
99074        (WebInspector.ObjectPropertyTreeElement.prototype.editingCommitted):
99075        (WebInspector.ObjectPropertyTreeElement.prototype._promptKeyDown):
99076        (WebInspector.ObjectPropertyPrompt):
99077        * inspector/front-end/StylesSidebarPane.js:
99078        * inspector/front-end/TextPrompt.js:
99079        (WebInspector.TextPrompt.prototype.complete):
99080        * inspector/front-end/WatchExpressionsSidebarPane.js:
99081        (WebInspector.WatchExpressionTreeElement.prototype.renderPromptAsBlock):
99082        (WebInspector.WatchExpressionTreeElement.prototype.elementAndValueToEdit):
99083        (WebInspector.WatchExpressionTreeElement.prototype.editingCancelled):
99084        * inspector/front-end/inspector.css:
99085        (.watch-expressions > li.editing-sub-part .text-prompt):
99086
990872012-03-02  Antti Koivisto  <antti@apple.com>
99088
99089        REGRESSION (r104060): Page contents not painted if inserting a new stylesheet and temporary body node
99090        https://bugs.webkit.org/show_bug.cgi?id=76590
99091
99092        Reviewed by Maciej Stachowiak.
99093
99094        Test: fast/css/pending-stylesheet-repaint.html
99095        
99096        If there has been a style recalc with a pending stylesheet, the forced repaint will need to be triggered even
99097        if the stylesheet doesn't affect the rendering. Otherwise we may end up never painting at all.
99098
99099        * dom/Document.cpp:
99100        (WebCore::Document::styleSelectorChanged):
99101
991022012-03-02  Simon Hausmann  <simon.hausmann@nokia.com>
99103
99104        [Qt] Move QStyle theming code out of WebCore into WebKit1
99105        https://bugs.webkit.org/show_bug.cgi?id=80128
99106
99107        Reviewed by Kenneth Rohde Christiansen.
99108
99109        Moved QStyle dependant code into WebKit1, where it's okay to depend on
99110        QtWidgets/QStyle. Added factory hooks into RenderThemeQt to allow changing
99111        the default "mobile" style to QStyle on start-up.
99112
99113        * Target.pri:
99114        * platform/qt/RenderThemeQt.cpp:
99115        (WebCore):
99116        (WebCore::RenderThemeQt::setCustomTheme):
99117        (WebCore::RenderThemeQt::customScrollbarTheme):
99118        (WebCore::createTheme):
99119        (WebCore::RenderTheme::themeForPage):
99120        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
99121        * platform/qt/RenderThemeQt.h:
99122        (WebCore):
99123        (RenderThemeQt):
99124        * platform/qt/RenderThemeQtMobile.cpp:
99125        * platform/qt/ScrollbarThemeQt.cpp:
99126        (WebCore::ScrollbarTheme::nativeTheme):
99127
991282012-03-02  Luke Macpherson   <macpherson@chromium.org>
99129
99130        Handle CSSPropertyWebkitColumnRuleStyle in CSSStyleApplyProperty.
99131        https://bugs.webkit.org/show_bug.cgi?id=80085
99132
99133        Reviewed by Eric Seidel.
99134
99135        No new tests / refactoring only.
99136
99137        * css/CSSStyleApplyProperty.cpp:
99138        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
99139        * css/CSSStyleSelector.cpp:
99140        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
99141
991422012-03-02  Yury Semikhatsky  <yurys@chromium.org>
99143
99144        Web Inspector: enable Timeline panel for workers
99145        https://bugs.webkit.org/show_bug.cgi?id=80130
99146
99147        Enabled Timeline panel for worker inspector. Refactored
99148        JS function calls instrumentation to work for both
99149        worker contexts and documents.
99150
99151        Reviewed by Pavel Feldman.
99152
99153        * bindings/js/JSCallbackData.cpp:
99154        (WebCore::JSCallbackData::invokeCallback):
99155        * bindings/js/JSEventListener.cpp:
99156        (WebCore::JSEventListener::handleEvent):
99157        * bindings/js/JSMainThreadExecState.h:
99158        (WebCore):
99159        (WebCore::JSMainThreadExecState::instrumentedCall):
99160        * bindings/js/ScriptState.cpp:
99161        (WebCore::scriptExecutionContextFromScriptState):
99162        (WebCore):
99163        * bindings/js/ScriptState.h:
99164        (WebCore):
99165        * bindings/v8/ScriptState.cpp:
99166        (WebCore::ScriptState::scriptExecutionContext):
99167        (WebCore):
99168        (WebCore::scriptExecutionContextFromScriptState):
99169        * bindings/v8/ScriptState.h:
99170        (WebCore):
99171        (ScriptState):
99172        * bindings/v8/V8Proxy.cpp:
99173        (WebCore::V8Proxy::instrumentedCallFunction):
99174        * bindings/v8/V8WorkerContextEventListener.cpp:
99175        (WebCore::V8WorkerContextEventListener::callListenerFunction):
99176        * inspector/InjectedScript.cpp:
99177        (WebCore::InjectedScript::callFunctionWithEvalEnabled):
99178        * inspector/InspectorInstrumentation.cpp:
99179        (WebCore):
99180        (WebCore::InspectorInstrumentation::instrumentingAgentsForNonDocumentContext):
99181        * inspector/InspectorInstrumentation.h:
99182        (InspectorInstrumentation):
99183        (WebCore::InspectorInstrumentation::willCallFunction):
99184        (WebCore):
99185        (WebCore::InspectorInstrumentation::instrumentingAgentsForContext):
99186        * inspector/WorkerInspectorController.cpp:
99187        (WebCore::WorkerInspectorController::WorkerInspectorController):
99188        (WebCore::WorkerInspectorController::connectFrontend):
99189        (WebCore::WorkerInspectorController::disconnectFrontend):
99190        (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
99191        * inspector/WorkerInspectorController.h:
99192        (WebCore):
99193        (WorkerInspectorController):
99194        * inspector/front-end/inspector.js:
99195        (WebInspector._createPanels):
99196
991972012-03-02  Kenichi Ishibashi  <bashi@chromium.org>
99198
99199        Adding WebSocket per-frame DEFLATE extension
99200        https://bugs.webkit.org/show_bug.cgi?id=77522
99201
99202        Add WebSocketDeflateFramer class which handles deflate-frame extension.
99203        This class encapsulates WebSocketDeflater and WebSocketInflater classes,
99204        which depend on zlib, so that WebSocketChannel is not necessary to aware
99205        zlib dependency.
99206
99207        Reviewed by Kent Tamura.
99208
99209        Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
99210               http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
99211               http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
99212               http/tests/websocket/tests/hybi/deflate-frame-parameter.html
99213
99214        * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
99215        * GNUmakefile.list.am: Ditto.
99216        * Target.pri: Ditto.
99217        * WebCore.gypi: Ditto.
99218        * WebCore.gyp/WebCore.gyp: Added zlib dependency.
99219        * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
99220        * WebCore.xcodeproj/project.pbxproj: Ditto.
99221        * websockets/WebSocket.cpp:
99222        (WebCore::WebSocket::didConnect): Set m_extensions.
99223        * websockets/WebSocketChannel.cpp:
99224        (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
99225        (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
99226        (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
99227        (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
99228        * websockets/WebSocketChannel.h:
99229        * websockets/WebSocketDeflateFramer.cpp: Added.
99230        (WebCore):
99231        (WebSocketExtensionDeflateFrame):
99232        (WebCore::WebSocketExtensionDeflateFrame::create):
99233        (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
99234        (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
99235        (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
99236        (WebCore::WebSocketExtensionDeflateFrame::processResponse):
99237        (WebCore::DeflateResultHolder::DeflateResultHolder):
99238        (WebCore::DeflateResultHolder::~DeflateResultHolder):
99239        (WebCore::DeflateResultHolder::fail):
99240        (WebCore::InflateResultHolder::InflateResultHolder):
99241        (WebCore::InflateResultHolder::~InflateResultHolder):
99242        (WebCore::InflateResultHolder::fail):
99243        (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
99244        (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
99245        (WebCore::WebSocketDeflateFramer::canDeflate):
99246        (WebCore::WebSocketDeflateFramer::enableDeflate):
99247        (WebCore::WebSocketDeflateFramer::deflate):
99248        (WebCore::WebSocketDeflateFramer::resetDeflateContext):
99249        (WebCore::WebSocketDeflateFramer::inflate):
99250        (WebCore::WebSocketDeflateFramer::resetInflateContext):
99251        (WebCore::WebSocketDeflateFramer::didFail):
99252        * websockets/WebSocketDeflateFramer.h: Added.
99253        (WebCore):
99254        (DeflateResultHolder):
99255        (WebCore::DeflateResultHolder::succeeded):
99256        (WebCore::DeflateResultHolder::failureReason):
99257        (InflateResultHolder):
99258        (WebCore::InflateResultHolder::succeeded):
99259        (WebCore::InflateResultHolder::failureReason):
99260        (WebSocketDeflateFramer):
99261        (WebCore::WebSocketDeflateFramer::enabled):
99262
992632012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
99264
99265        Web Inspector: [InspectorIndexedDB] Show meaningful description for object store items values.
99266        https://bugs.webkit.org/show_bug.cgi?id=79691
99267
99268        Reviewed by Pavel Feldman.
99269
99270        * inspector/front-end/IndexedDBModel.js:
99271        (WebInspector.IndexedDBModel.idbKeyFromKey):
99272        * inspector/front-end/IndexedDBViews.js:
99273        (WebInspector.IDBDataView.prototype._updateData.callback):
99274        (WebInspector.IDBDataView.prototype._updateData):
99275        (WebInspector.IDBDataGridNode.prototype.createCell):
99276        (WebInspector.IDBDataGridNode.prototype._formatValue):
99277        * inspector/front-end/ObjectPropertiesSection.js:
99278        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
99279        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
99280        * inspector/front-end/RemoteObject.js:
99281        (WebInspector.LocalJSONObject.prototype.get subtype):
99282        * inspector/front-end/indexedDBViews.css:
99283        (.indexed-db-data-view .data-grid .data-container td):
99284        (.indexed-db-data-view .data-grid .data-container td.primaryKey-column):
99285        (.indexed-db-data-view .data-grid .data-container td.primaryKey-column div.primitive-value):
99286        (.indexed-db-data-view .data-grid .data-container td .section .header .title):
99287
992882012-03-02  Wei James  <james.wei@intel.com>
99289
99290        [Chromium] Layout Test webaudio/audiobuffersource-channels.html is failing
99291        https://bugs.webkit.org/show_bug.cgi?id=79765
99292
99293        Reviewed by Chris Rogers.
99294
99295        * webaudio/AudioBuffer.cpp:
99296        (WebCore::AudioBuffer::create):
99297        * webaudio/AudioBufferSourceNode.cpp:
99298        (WebCore::AudioBufferSourceNode::setBuffer):
99299        * webaudio/AudioContext.h:
99300        (WebCore):
99301        (AudioContext):
99302        (WebCore::AudioContext::maxNumberOfChannels):
99303        * webaudio/AudioNodeOutput.cpp:
99304        (WebCore::AudioNodeOutput::AudioNodeOutput):
99305        (WebCore::AudioNodeOutput::setNumberOfChannels):
99306
993072012-03-02  Luke Macpherson   <macpherson@chromium.org>
99308
99309        Handle CSSPropertyWebkitRegionBreakAfter, CSSPropertyWebkitRegionBreakBefore and CSSPropertyWebkitRegionBreakInside in CSSStyleApplyProperty.
99310        https://bugs.webkit.org/show_bug.cgi?id=80066
99311
99312        Reviewed by Eric Seidel.
99313
99314        No new tests / refactoring only.
99315
99316        * css/CSSStyleApplyProperty.cpp:
99317        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
99318        * css/CSSStyleSelector.cpp:
99319        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
99320
993212012-03-02  Pablo Flouret  <pablof@motorola.com>
99322
99323        Implement DefaultParagraphSeparator execCommand, to let authors choose the default block element
99324        https://bugs.webkit.org/show_bug.cgi?id=59961
99325
99326        Reviewed by Ryosuke Niwa.
99327
99328        http://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-defaultparagraphseparator-command
99329
99330        Test: editing/execCommand/default-paragraph-separator.html
99331
99332        * editing/Editor.cpp:
99333        (WebCore::Editor::Editor):
99334        * editing/Editor.h:
99335        (WebCore::Editor::defaultParagraphSeparator):
99336        (WebCore::Editor::setDefaultParagraphSeparator):
99337        (Editor):
99338        * editing/EditorCommand.cpp:
99339        (WebCore::executeDefaultParagraphSeparator):
99340        (WebCore):
99341        (WebCore::valueDefaultParagraphSeparator):
99342        (WebCore::createCommandMap):
99343        * editing/htmlediting.cpp:
99344        (WebCore::createDefaultParagraphElement):
99345
99346        * html/HTMLParagraphElement.cpp:
99347        (WebCore::HTMLParagraphElement::create):
99348        (WebCore):
99349        * html/HTMLParagraphElement.h:
99350        (HTMLParagraphElement):
99351            Added create(Document*) method that defaults to pTag as the QualifiedName.
99352
993532012-03-02  Kenneth Russell  <kbr@google.com>
99354
99355        [chromium] Fix errors in LayerRendererChromium cleanup
99356        https://bugs.webkit.org/show_bug.cgi?id=80064
99357
99358        Reviewed by James Robinson.
99359
99360        Tested manually by forcing lost context while rendering Flash on
99361        Mac OS in a Debug build.
99362
99363        * platform/graphics/chromium/LayerRendererChromium.cpp:
99364        (WebCore::LayerRendererChromium::cleanupSharedObjects):
99365
993662012-03-02  Andy Estes  <aestes@apple.com>
99367
99368        Fix errors found when building the Mac port with ICONDATABASE disabled.
99369        https://bugs.webkit.org/show_bug.cgi?id=80059
99370
99371        Reviewed by Brady Eidson.
99372
99373        * WebCore.exp.in: Only export IconDatabase symbols when the feature is
99374        enabled.
99375        * loader/icon/IconDatabase.h:
99376        (WebCore::IconDatabase::create): WebKit calls this static method, so it
99377        should be defined on the stub class.
99378        (WebCore::IconDatabase::allowDatabaseCleanup): Ditto.
99379        (WebCore::IconDatabase::checkIntegrityBeforeOpening): Ditto.
99380
993812012-03-02  Luke Macpherson   <macpherson@chromium.org>
99382
99383        Handle CSSPropertyWebkitColorCorrection in CSSStyleApplyProperty.
99384        https://bugs.webkit.org/show_bug.cgi?id=80056
99385
99386        Reviewed by Eric Seidel.
99387
99388        No new tests / refactoring only.
99389
99390        * css/CSSStyleApplyProperty.cpp:
99391        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
99392        * css/CSSStyleSelector.cpp:
99393        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
99394
993952012-03-02  John Bauman  <jbauman@chromium.org>
99396
99397        [chromium] Send didCommitAndDrawFrame after swap
99398        https://bugs.webkit.org/show_bug.cgi?id=80052
99399
99400        Reviewed by James Robinson.
99401
99402        Sending didCommitAndDrawFrame before the swap was causing plugins to
99403        redraw themselves between compositing and the swap, which reduces
99404        opportunities for optimization.
99405
99406        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
99407        (WebCore::CCSingleThreadProxy::compositeAndReadback):
99408        (WebCore::CCSingleThreadProxy::compositeImmediately):
99409        (WebCore::CCSingleThreadProxy::doComposite):
99410        (WebCore):
99411        (WebCore::CCSingleThreadProxy::didSwapFrame):
99412        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
99413        (CCSingleThreadProxy):
99414
994152012-03-02  Raymond Toy  <rtoy@google.com>
99416
99417        AudioParam needs tests for the parameter automation routines.
99418        https://bugs.webkit.org/show_bug.cgi?id=77666
99419
99420        Reviewed by Chris Rogers.
99421
99422        Tests: webaudio/audioparam-linearRampToValueAtTime.html
99423               webaudio/audioparam-setTargetValueAtTime.html
99424               webaudio/audioparam-setValueAtTime.html
99425               webaudio/audioparam-setValueCurveAtTime.html
99426
99427        * webaudio/AudioParamTimeline.cpp:
99428        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Round the
99429        curveIndex to fix timing issue in setValueCurveAtTime.
99430
994312012-03-01  Pablo Flouret  <pablof@motorola.com>
99432
99433        Fix code generators to correctly guard header declarations that have a [Conditional] attribute.
99434        https://bugs.webkit.org/show_bug.cgi?id=79375
99435
99436        Reviewed by Kentaro Hara.
99437
99438        In most cases code generators weren't checking the Conditional attribute
99439        when generating code in headers for function/attribute/constants, they
99440        were just guarding against the Conditional for the whole interface.
99441
99442        * bindings/scripts/CodeGeneratorCPP.pm:
99443        (GenerateHeader):
99444        * bindings/scripts/CodeGeneratorJS.pm:
99445        (GenerateHeader):
99446        * bindings/scripts/CodeGeneratorObjC.pm:
99447        (GenerateHeader):
99448        * bindings/scripts/CodeGeneratorV8.pm:
99449        (GenerateHeader):
99450        * bindings/scripts/test/CPP/WebDOMTestInterface.h:
99451        * bindings/scripts/test/CPP/WebDOMTestObj.h:
99452        * bindings/scripts/test/JS/JSTestInterface.h:
99453        (JSTestInterface):
99454        (WebCore):
99455        * bindings/scripts/test/JS/JSTestObj.h:
99456        (WebCore):
99457        * bindings/scripts/test/ObjC/DOMTestInterface.h:
99458        * bindings/scripts/test/ObjC/DOMTestObj.h:
99459
99460
994612012-03-01  Dana Jansens  <danakj@chromium.org>
99462
99463        [chromium] Make opaque paint tracker aware of SkCanvas layers
99464        https://bugs.webkit.org/show_bug.cgi?id=79145
99465
99466        Reviewed by Stephen White.
99467
99468        The current opaque paint tracker ignored SkCanvas layers entirely. But
99469        SkCanvas layers can be used to apply things like alpha. So we make it
99470        know about layers, and apply any clipping and SkPaint objects for layers
99471        when tracking a paint.
99472
99473        Image clipping is done via a layer, so we can now also remove the
99474        special-case code around image clipping in PlatformContextSkia and
99475        OpaqueRegionSkia.
99476
99477        Unit test: PlatformContextSkiaTest.contextTransparencyLayerTest
99478
99479        Test: compositing/culling/clear-fixed-iframe.html
99480
99481        * platform/graphics/skia/OpaqueRegionSkia.cpp:
99482        (WebCore::OpaqueRegionSkia::didDrawRect):
99483        (WebCore::OpaqueRegionSkia::didDrawPath):
99484        (WebCore::OpaqueRegionSkia::didDrawPoints):
99485        (WebCore::OpaqueRegionSkia::didDrawBounded):
99486        (WebCore::OpaqueRegionSkia::didDraw):
99487        (WebCore):
99488        * platform/graphics/skia/OpaqueRegionSkia.h:
99489        (OpaqueRegionSkia):
99490        * platform/graphics/skia/PlatformContextSkia.cpp:
99491        * platform/graphics/skia/PlatformContextSkia.h:
99492        (PlatformContextSkia):
99493
994942012-03-02  Kent Tamura  <tkent@chromium.org>
99495
99496        Add HTML-capable popup API to ChromeClient
99497        https://bugs.webkit.org/show_bug.cgi?id=79078
99498
99499        Reviewed by Dimitri Glazkov.
99500
99501        This API will be used to implement a calendar picker of <input type=date>.
99502        The code is enclosed with ENABLE_PAGE_POPUP, and doesn't change any
99503        behavior for now.
99504
99505        * page/ChromeClient.h: Added declarations of openPagePopup() and closePagePopup().
99506        * loader/EmptyClients.h:
99507        (EmptyChromeClient): Add empty implementations of new ChromeClient functions.
99508        * page/PagePopup.h: Added.
99509        (PagePopup): Define an empty interface
99510        * page/PagePopupClient.h: Added.
99511        (PagePopupClient): Define an interface to provide various information to HTMLPopup.
99512
995132012-03-01  Hironori Bono  <hbono@chromium.org>
99514
99515        Render overflow controls of an RTL element to its left-side.
99516        https://bugs.webkit.org/show_bug.cgi?id=54623
99517
99518        This change adds a new flag WTF_USE_RTL_SCROLLBAR and render the
99519        vertical scrollbars and resizers of RTL elements to their left side if
99520        this new flag is enabled.
99521
99522        Reviewed by Ryosuke Niwa.
99523
99524        Test: platform/chromium/fast/events/rtl-scrollbar.html
99525
99526        * rendering/RenderBlock.cpp:
99527        (WebCore::RenderBlock::addOverflowFromPositionedObjects): Move child elements right.
99528        (WebCore::RenderBlock::determineLogicalLeftPositionForChild): ditto.
99529        * rendering/RenderBox.cpp:
99530        (WebCore::RenderBox::overflowClipRect): Move the content rectangle right.
99531        * rendering/RenderLayer.cpp:
99532        (WebCore::cornerStart): Added a function that calculates the X position of a resizer.
99533        (WebCore):
99534        (WebCore::cornerRect): Use cornerStart to move a resizer.
99535        (WebCore::RenderLayer::verticalScrollbarStart): Added a function that calculates
99536        the X position of a vertical scrollbar.
99537        (WebCore::RenderLayer::horizontalScrollbarStart): Added a function that calculates
99538        the X position of a horizontal scrollbar.
99539        (WebCore::RenderLayer::scrollbarOffset): Render a vertical scrollbar to the left side
99540        and move a horizontal scrollbar right by the width of the vertical scrollbar.
99541        (WebCore::RenderLayer::invalidateScrollbarRect): ditto.
99542        (WebCore::RenderLayer::positionOverflowControls): ditto.
99543        (WebCore::RenderLayer::hitTestOverflowControls): ditto.
99544        * rendering/RenderLayer.h:
99545        (RenderLayer):
99546        * rendering/style/RenderStyle.h: Added shouldPlaceBlockDirectionScrollbarOnLogicalLeft,
99547        which returns if we need to move a left scrollbar to its right side.
99548
995492012-03-01  Kent Tamura  <tkent@chromium.org>
99550
99551        REGRESSION(90089): Input type='search' text shakes up and down when the style is changed.
99552        https://bugs.webkit.org/show_bug.cgi?id=79445
99553
99554        Reviewed by Dimitri Glazkov.
99555
99556        If the inner text height of a search field is smaller than the
99557        content box height of the <input>, the height of the container
99558        element should be same as the content box height.
99559
99560        When the element style is changed, the RenderStyle height of the
99561        container element is cleared, but the renderer height of the
99562        container element remains. We had a bug that layout() didn't set
99563        the RenderStyle height in a case that the renderer height was the
99564        desired height. It shrunk the renderer height as the result of
99565        layout for children.
99566
99567        Tests: fast/forms/search/search-shaking-text.html
99568
99569        * rendering/RenderTextControlSingleLine.cpp:
99570        (WebCore::RenderTextControlSingleLine::layout):
99571        Always set the RenderStyle height explicitly.
99572
995732012-03-01  Kentaro Hara  <haraken@chromium.org>
99574
99575        Unreviewed, rebaselined run-bindings-tests results.
99576
99577        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
99578        * bindings/scripts/test/CPP/WebDOMTestObj.h:
99579
995802012-03-01  Dan Bernstein  <mitz@apple.com>
99581
99582        <rdar://problem/10942540> REGRESSION (r108956): Safari Webpage Preview Fetcher crashes in WebCore::localizedString() when using a WebKit nightly build
99583        https://bugs.webkit.org/show_bug.cgi?id=80034
99584
99585        Reviewed by Benjamin Poulain.
99586
99587        Safari Webpage Preview Fetcher can’t access the WebCore framework when launched from a WebKit
99588        nightly build. After r108956, this causes it to crash.
99589
99590        * platform/mac/LocalizedStringsMac.cpp:
99591        (WebCore::localizedString): Added a null-check for the value returned from
99592        CFBundleGetBundleWithIdentifier(CFSTR("com.apple.WebCore")).
99593
995942012-03-01  Jason Liu  <jason.liu@torchmobile.com.cn>
99595
99596        [BlackBerry]Array of Cookies in HTTP request header are not in order.
99597        https://bugs.webkit.org/show_bug.cgi?id=79870
99598
99599        Std::sort and HashMap are not stable. So cookies with the same creating
99600        time sometimes are sent disorder.
99601        Change std::sort with std::stable-sort.
99602        We don't need using HashMap to save so few cookies for one domain.
99603        It is a wast of time to create HashMap, too.
99604        So change it with vector.
99605
99606        Reviewed by George Staikos.
99607
99608        Test: http/tests/cookies/resources/setArraycookies.php
99609
99610        * platform/blackberry/CookieManager.cpp:
99611        (WebCore::cookieSorter):
99612        (WebCore::CookieManager::getRawCookies):
99613        (WebCore::CookieManager::checkAndTreatCookie):
99614        (WebCore::CookieManager::addCookieToMap):
99615        * platform/blackberry/CookieManager.h:
99616        * platform/blackberry/CookieMap.cpp:
99617        (WebCore::CookieMap::addOrReplaceCookie):
99618        (WebCore::CookieMap::removeCookieAtIndex):
99619        (WebCore::CookieMap::removeCookie):
99620        (WebCore):
99621        (WebCore::CookieMap::getAllCookies):
99622        (WebCore::CookieMap::updateOldestCookie):
99623        (WebCore::CookieMap::deleteAllCookiesAndDomains):
99624        * platform/blackberry/CookieMap.h:
99625        (WebCore::CookieMap::count):
99626        (CookieMap):
99627
996282012-03-01  Adam Barth  <abarth@webkit.org>
99629
99630        Move WebCore/storage/IDB* files into WebCore/Modules/indexeddb
99631        https://bugs.webkit.org/show_bug.cgi?id=80071
99632
99633        Reviewed by Kentaro Hara.
99634
99635        Now that we've removed all the ENABLE(INDEXED_DATABASE) ifdefs from
99636        WebCore proper, we can move IndexedDB into its own module.
99637
99638        * CMakeLists.txt:
99639        * DerivedSources.make:
99640        * DerivedSources.pri:
99641        * GNUmakefile.list.am:
99642        * Modules/indexeddb/IDBAny.cpp: Copied from Source/WebCore/storage/IDBAny.cpp.
99643        * Modules/indexeddb/IDBAny.h: Copied from Source/WebCore/storage/IDBAny.h.
99644        * Modules/indexeddb/IDBAny.idl: Copied from Source/WebCore/storage/IDBAny.idl.
99645        * Modules/indexeddb/IDBBackingStore.h: Copied from Source/WebCore/storage/IDBBackingStore.h.
99646        * Modules/indexeddb/IDBCallbacks.h: Copied from Source/WebCore/storage/IDBCallbacks.h.
99647        * Modules/indexeddb/IDBCursor.cpp: Copied from Source/WebCore/storage/IDBCursor.cpp.
99648        * Modules/indexeddb/IDBCursor.h: Copied from Source/WebCore/storage/IDBCursor.h.
99649        * Modules/indexeddb/IDBCursor.idl: Copied from Source/WebCore/storage/IDBCursor.idl.
99650        * Modules/indexeddb/IDBCursorBackendImpl.cpp: Copied from Source/WebCore/storage/IDBCursorBackendImpl.cpp.
99651        * Modules/indexeddb/IDBCursorBackendImpl.h: Copied from Source/WebCore/storage/IDBCursorBackendImpl.h.
99652        * Modules/indexeddb/IDBCursorBackendInterface.h: Copied from Source/WebCore/storage/IDBCursorBackendInterface.h.
99653        * Modules/indexeddb/IDBCursorWithValue.cpp: Copied from Source/WebCore/storage/IDBCursorWithValue.cpp.
99654        * Modules/indexeddb/IDBCursorWithValue.h: Copied from Source/WebCore/storage/IDBCursorWithValue.h.
99655        * Modules/indexeddb/IDBCursorWithValue.idl: Copied from Source/WebCore/storage/IDBCursorWithValue.idl.
99656        * Modules/indexeddb/IDBDatabase.cpp: Copied from Source/WebCore/storage/IDBDatabase.cpp.
99657        * Modules/indexeddb/IDBDatabase.h: Copied from Source/WebCore/storage/IDBDatabase.h.
99658        * Modules/indexeddb/IDBDatabase.idl: Copied from Source/WebCore/storage/IDBDatabase.idl.
99659        * Modules/indexeddb/IDBDatabaseBackendImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.cpp.
99660        * Modules/indexeddb/IDBDatabaseBackendImpl.h: Copied from Source/WebCore/storage/IDBDatabaseBackendImpl.h.
99661        * Modules/indexeddb/IDBDatabaseBackendInterface.h: Copied from Source/WebCore/storage/IDBDatabaseBackendInterface.h.
99662        * Modules/indexeddb/IDBDatabaseCallbacks.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacks.h.
99663        * Modules/indexeddb/IDBDatabaseCallbacksImpl.cpp: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.cpp.
99664        * Modules/indexeddb/IDBDatabaseCallbacksImpl.h: Copied from Source/WebCore/storage/IDBDatabaseCallbacksImpl.h.
99665        * Modules/indexeddb/IDBDatabaseError.h: Copied from Source/WebCore/storage/IDBDatabaseError.h.
99666        * Modules/indexeddb/IDBDatabaseError.idl: Copied from Source/WebCore/storage/IDBDatabaseError.idl.
99667        * Modules/indexeddb/IDBDatabaseException.cpp: Copied from Source/WebCore/storage/IDBDatabaseException.cpp.
99668        * Modules/indexeddb/IDBDatabaseException.h: Copied from Source/WebCore/storage/IDBDatabaseException.h.
99669        * Modules/indexeddb/IDBDatabaseException.idl: Copied from Source/WebCore/storage/IDBDatabaseException.idl.
99670        * Modules/indexeddb/IDBEventDispatcher.cpp: Copied from Source/WebCore/storage/IDBEventDispatcher.cpp.
99671        * Modules/indexeddb/IDBEventDispatcher.h: Copied from Source/WebCore/storage/IDBEventDispatcher.h.
99672        * Modules/indexeddb/IDBFactory.cpp: Copied from Source/WebCore/storage/IDBFactory.cpp.
99673        * Modules/indexeddb/IDBFactory.h: Copied from Source/WebCore/storage/IDBFactory.h.
99674        * Modules/indexeddb/IDBFactory.idl: Copied from Source/WebCore/storage/IDBFactory.idl.
99675        * Modules/indexeddb/IDBFactoryBackendImpl.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.cpp.
99676        * Modules/indexeddb/IDBFactoryBackendImpl.h: Copied from Source/WebCore/storage/IDBFactoryBackendImpl.h.
99677        * Modules/indexeddb/IDBFactoryBackendInterface.cpp: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.cpp.
99678        * Modules/indexeddb/IDBFactoryBackendInterface.h: Copied from Source/WebCore/storage/IDBFactoryBackendInterface.h.
99679        * Modules/indexeddb/IDBIndex.cpp: Copied from Source/WebCore/storage/IDBIndex.cpp.
99680        * Modules/indexeddb/IDBIndex.h: Copied from Source/WebCore/storage/IDBIndex.h.
99681        * Modules/indexeddb/IDBIndex.idl: Copied from Source/WebCore/storage/IDBIndex.idl.
99682        * Modules/indexeddb/IDBIndexBackendImpl.cpp: Copied from Source/WebCore/storage/IDBIndexBackendImpl.cpp.
99683        * Modules/indexeddb/IDBIndexBackendImpl.h: Copied from Source/WebCore/storage/IDBIndexBackendImpl.h.
99684        * Modules/indexeddb/IDBIndexBackendInterface.h: Copied from Source/WebCore/storage/IDBIndexBackendInterface.h.
99685        * Modules/indexeddb/IDBKey.cpp: Copied from Source/WebCore/storage/IDBKey.cpp.
99686        * Modules/indexeddb/IDBKey.h: Copied from Source/WebCore/storage/IDBKey.h.
99687        * Modules/indexeddb/IDBKey.idl: Copied from Source/WebCore/storage/IDBKey.idl.
99688        * Modules/indexeddb/IDBKeyPath.cpp: Copied from Source/WebCore/storage/IDBKeyPath.cpp.
99689        * Modules/indexeddb/IDBKeyPath.h: Copied from Source/WebCore/storage/IDBKeyPath.h.
99690        * Modules/indexeddb/IDBKeyPathBackendImpl.cpp: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.cpp.
99691        * Modules/indexeddb/IDBKeyPathBackendImpl.h: Copied from Source/WebCore/storage/IDBKeyPathBackendImpl.h.
99692        * Modules/indexeddb/IDBKeyRange.cpp: Copied from Source/WebCore/storage/IDBKeyRange.cpp.
99693        * Modules/indexeddb/IDBKeyRange.h: Copied from Source/WebCore/storage/IDBKeyRange.h.
99694        * Modules/indexeddb/IDBKeyRange.idl: Copied from Source/WebCore/storage/IDBKeyRange.idl.
99695        * Modules/indexeddb/IDBLevelDBBackingStore.cpp: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.cpp.
99696        * Modules/indexeddb/IDBLevelDBBackingStore.h: Copied from Source/WebCore/storage/IDBLevelDBBackingStore.h.
99697        * Modules/indexeddb/IDBLevelDBCoding.cpp: Copied from Source/WebCore/storage/IDBLevelDBCoding.cpp.
99698        * Modules/indexeddb/IDBLevelDBCoding.h: Copied from Source/WebCore/storage/IDBLevelDBCoding.h.
99699        * Modules/indexeddb/IDBObjectStore.cpp: Copied from Source/WebCore/storage/IDBObjectStore.cpp.
99700        * Modules/indexeddb/IDBObjectStore.h: Copied from Source/WebCore/storage/IDBObjectStore.h.
99701        * Modules/indexeddb/IDBObjectStore.idl: Copied from Source/WebCore/storage/IDBObjectStore.idl.
99702        * Modules/indexeddb/IDBObjectStoreBackendImpl.cpp: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.cpp.
99703        * Modules/indexeddb/IDBObjectStoreBackendImpl.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendImpl.h.
99704        * Modules/indexeddb/IDBObjectStoreBackendInterface.h: Copied from Source/WebCore/storage/IDBObjectStoreBackendInterface.h.
99705        * Modules/indexeddb/IDBPendingTransactionMonitor.cpp: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.cpp.
99706        * Modules/indexeddb/IDBPendingTransactionMonitor.h: Copied from Source/WebCore/storage/IDBPendingTransactionMonitor.h.
99707        * Modules/indexeddb/IDBRequest.cpp: Copied from Source/WebCore/storage/IDBRequest.cpp.
99708        * Modules/indexeddb/IDBRequest.h: Copied from Source/WebCore/storage/IDBRequest.h.
99709        * Modules/indexeddb/IDBRequest.idl: Copied from Source/WebCore/storage/IDBRequest.idl.
99710        * Modules/indexeddb/IDBTracing.h: Copied from Source/WebCore/storage/IDBTracing.h.
99711        * Modules/indexeddb/IDBTransaction.cpp: Copied from Source/WebCore/storage/IDBTransaction.cpp.
99712        * Modules/indexeddb/IDBTransaction.h: Copied from Source/WebCore/storage/IDBTransaction.h.
99713        * Modules/indexeddb/IDBTransaction.idl: Copied from Source/WebCore/storage/IDBTransaction.idl.
99714        * Modules/indexeddb/IDBTransactionBackendImpl.cpp: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.cpp.
99715        * Modules/indexeddb/IDBTransactionBackendImpl.h: Copied from Source/WebCore/storage/IDBTransactionBackendImpl.h.
99716        * Modules/indexeddb/IDBTransactionBackendInterface.h: Copied from Source/WebCore/storage/IDBTransactionBackendInterface.h.
99717        * Modules/indexeddb/IDBTransactionCallbacks.h: Copied from Source/WebCore/storage/IDBTransactionCallbacks.h.
99718        * Modules/indexeddb/IDBTransactionCoordinator.cpp: Copied from Source/WebCore/storage/IDBTransactionCoordinator.cpp.
99719        * Modules/indexeddb/IDBTransactionCoordinator.h: Copied from Source/WebCore/storage/IDBTransactionCoordinator.h.
99720        * Modules/indexeddb/IDBVersionChangeEvent.cpp: Copied from Source/WebCore/storage/IDBVersionChangeEvent.cpp.
99721        * Modules/indexeddb/IDBVersionChangeEvent.h: Copied from Source/WebCore/storage/IDBVersionChangeEvent.h.
99722        * Modules/indexeddb/IDBVersionChangeEvent.idl: Copied from Source/WebCore/storage/IDBVersionChangeEvent.idl.
99723        * Modules/indexeddb/IDBVersionChangeRequest.cpp: Copied from Source/WebCore/storage/IDBVersionChangeRequest.cpp.
99724        * Modules/indexeddb/IDBVersionChangeRequest.h: Copied from Source/WebCore/storage/IDBVersionChangeRequest.h.
99725        * Modules/indexeddb/IDBVersionChangeRequest.idl: Copied from Source/WebCore/storage/IDBVersionChangeRequest.idl.
99726        * Target.pri:
99727        * WebCore.gypi:
99728        * WebCore.vcproj/WebCore.vcproj:
99729        * WebCore.xcodeproj/project.pbxproj:
99730        * storage/IDBAny.cpp: Removed.
99731        * storage/IDBAny.h: Removed.
99732        * storage/IDBAny.idl: Removed.
99733        * storage/IDBBackingStore.h: Removed.
99734        * storage/IDBCallbacks.h: Removed.
99735        * storage/IDBCursor.cpp: Removed.
99736        * storage/IDBCursor.h: Removed.
99737        * storage/IDBCursor.idl: Removed.
99738        * storage/IDBCursorBackendImpl.cpp: Removed.
99739        * storage/IDBCursorBackendImpl.h: Removed.
99740        * storage/IDBCursorBackendInterface.h: Removed.
99741        * storage/IDBCursorWithValue.cpp: Removed.
99742        * storage/IDBCursorWithValue.h: Removed.
99743        * storage/IDBCursorWithValue.idl: Removed.
99744        * storage/IDBDatabase.cpp: Removed.
99745        * storage/IDBDatabase.h: Removed.
99746        * storage/IDBDatabase.idl: Removed.
99747        * storage/IDBDatabaseBackendImpl.cpp: Removed.
99748        * storage/IDBDatabaseBackendImpl.h: Removed.
99749        * storage/IDBDatabaseBackendInterface.h: Removed.
99750        * storage/IDBDatabaseCallbacks.h: Removed.
99751        * storage/IDBDatabaseCallbacksImpl.cpp: Removed.
99752        * storage/IDBDatabaseCallbacksImpl.h: Removed.
99753        * storage/IDBDatabaseError.h: Removed.
99754        * storage/IDBDatabaseError.idl: Removed.
99755        * storage/IDBDatabaseException.cpp: Removed.
99756        * storage/IDBDatabaseException.h: Removed.
99757        * storage/IDBDatabaseException.idl: Removed.
99758        * storage/IDBEventDispatcher.cpp: Removed.
99759        * storage/IDBEventDispatcher.h: Removed.
99760        * storage/IDBFactory.cpp: Removed.
99761        * storage/IDBFactory.h: Removed.
99762        * storage/IDBFactory.idl: Removed.
99763        * storage/IDBFactoryBackendImpl.cpp: Removed.
99764        * storage/IDBFactoryBackendImpl.h: Removed.
99765        * storage/IDBFactoryBackendInterface.cpp: Removed.
99766        * storage/IDBFactoryBackendInterface.h: Removed.
99767        * storage/IDBIndex.cpp: Removed.
99768        * storage/IDBIndex.h: Removed.
99769        * storage/IDBIndex.idl: Removed.
99770        * storage/IDBIndexBackendImpl.cpp: Removed.
99771        * storage/IDBIndexBackendImpl.h: Removed.
99772        * storage/IDBIndexBackendInterface.h: Removed.
99773        * storage/IDBKey.cpp: Removed.
99774        * storage/IDBKey.h: Removed.
99775        * storage/IDBKey.idl: Removed.
99776        * storage/IDBKeyPath.cpp: Removed.
99777        * storage/IDBKeyPath.h: Removed.
99778        * storage/IDBKeyPathBackendImpl.cpp: Removed.
99779        * storage/IDBKeyPathBackendImpl.h: Removed.
99780        * storage/IDBKeyRange.cpp: Removed.
99781        * storage/IDBKeyRange.h: Removed.
99782        * storage/IDBKeyRange.idl: Removed.
99783        * storage/IDBLevelDBBackingStore.cpp: Removed.
99784        * storage/IDBLevelDBBackingStore.h: Removed.
99785        * storage/IDBLevelDBCoding.cpp: Removed.
99786        * storage/IDBLevelDBCoding.h: Removed.
99787        * storage/IDBObjectStore.cpp: Removed.
99788        * storage/IDBObjectStore.h: Removed.
99789        * storage/IDBObjectStore.idl: Removed.
99790        * storage/IDBObjectStoreBackendImpl.cpp: Removed.
99791        * storage/IDBObjectStoreBackendImpl.h: Removed.
99792        * storage/IDBObjectStoreBackendInterface.h: Removed.
99793        * storage/IDBPendingTransactionMonitor.cpp: Removed.
99794        * storage/IDBPendingTransactionMonitor.h: Removed.
99795        * storage/IDBRequest.cpp: Removed.
99796        * storage/IDBRequest.h: Removed.
99797        * storage/IDBRequest.idl: Removed.
99798        * storage/IDBTracing.h: Removed.
99799        * storage/IDBTransaction.cpp: Removed.
99800        * storage/IDBTransaction.h: Removed.
99801        * storage/IDBTransaction.idl: Removed.
99802        * storage/IDBTransactionBackendImpl.cpp: Removed.
99803        * storage/IDBTransactionBackendImpl.h: Removed.
99804        * storage/IDBTransactionBackendInterface.h: Removed.
99805        * storage/IDBTransactionCallbacks.h: Removed.
99806        * storage/IDBTransactionCoordinator.cpp: Removed.
99807        * storage/IDBTransactionCoordinator.h: Removed.
99808        * storage/IDBVersionChangeEvent.cpp: Removed.
99809        * storage/IDBVersionChangeEvent.h: Removed.
99810        * storage/IDBVersionChangeEvent.idl: Removed.
99811        * storage/IDBVersionChangeRequest.cpp: Removed.
99812        * storage/IDBVersionChangeRequest.h: Removed.
99813        * storage/IDBVersionChangeRequest.idl: Removed.
99814
998152012-03-01  Luke Macpherson   <macpherson@chromium.org>
99816
99817        Handle CSSPropertyWebkitBorderFit in CSSStyleApplyProperty.
99818        https://bugs.webkit.org/show_bug.cgi?id=79998
99819
99820        Reviewed by Andreas Kling.
99821
99822        No new tests / refactoring only.
99823
99824        * css/CSSStyleApplyProperty.cpp:
99825        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
99826        * css/CSSStyleSelector.cpp:
99827        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
99828
998292012-03-01  Anders Carlsson  <andersca@apple.com>
99830
99831        Crash when doing repeated double-tap-to-zoom gesture on apple startpage
99832        https://bugs.webkit.org/show_bug.cgi?id=80081
99833        <rdar://problem/10966391>
99834
99835        Reviewed by Sam Weinig.
99836
99837        Setting the contents scale on the tile cache layer was creating a WebTileCacheLayer presentation layer copy with a null _tileCache.
99838
99839        Implement -[WebTileCacheLayer actionForKey:] and have it always return nil so we'll avoid implicit animations, and thus creating presentation layers.
99840
99841        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
99842        (-[WebTileCacheLayer initWithLayer:]):
99843        Implement this and assert that it's never reached. We should never create presentation layers since we don't animate this layer.
99844
99845        (-[WebTileCacheLayer actionForKey:]):
99846        Implement this and always return nil.
99847
998482012-03-01  Hajime Morrita  <morrita@chromium.org>
99849
99850        Custom scrollbars do not support transparency
99851        https://bugs.webkit.org/show_bug.cgi?id=50547
99852
99853        Reviewed by James Robinson.
99854
99855        RenderScrollbar, which is used even for outermost frame when
99856        -webkit-scrollbar is specified, assumes that its background is
99857        painted by the enclosing container. But there is no such container
99858        for outermost frame. This causes visual glitches when the
99859        scrollbar has transparency.
99860
99861        This change clears background region for custom
99862        outermostscrollbars to erase such glitches.
99863
99864        Test: fast/frames/transparent-scrollbar.html
99865
99866        * page/FrameView.cpp:
99867        (WebCore::FrameView::paintScrollbar): The background is cleared here.
99868        (WebCore):
99869        * page/FrameView.h:
99870        (FrameView):
99871        * platform/ScrollView.cpp:
99872        (WebCore::ScrollView::paintScrollbar): Added to hook in FrameView
99873        (WebCore):
99874        (WebCore::ScrollView::paintScrollbars):
99875        * platform/ScrollView.h:
99876        (ScrollView):
99877
998782012-03-01  Kent Tamura  <tkent@chromium.org>
99879
99880        REGRESSION(r106388): Form state is restored to a wrong document.
99881        https://bugs.webkit.org/show_bug.cgi?id=79206
99882
99883        Reviewed by Brady Eidson.
99884
99885        In some cases, the URL of the current HistoryItem and the document
99886        URL are mismatched.
99887        A form state should be restored only if the document was loaded
99888        with a HistoryItem and the document is not loaded as a
99889        redirection.
99890
99891        Test: fast/loader/form-state-restore-with-locked-back-forward-list.html
99892
99893        * loader/FrameLoader.cpp:
99894        (WebCore::FrameLoader::checkCompleted): Clear m_requestedHistoryItem.
99895        (WebCore::FrameLoader::loadItem):
99896        Save the requested HistoryItem for didLoadWithLodItem().
99897        * loader/FrameLoader.h:
99898        (WebCore::FrameLoader::requestedHistoryItem):
99899        Added. Accessor for m_requestedHistoryItem.
99900        * loader/HistoryController.cpp:
99901        (WebCore::HistoryController::restoreDocumentState):
99902        Restore a form state only if the current document was loaded with
99903        FrameLoader::loadItem() and not redirection.
99904
999052012-03-01  Xingnan Wang  <xingnan.wang@intel.com>
99906
99907        SSE optimization for vsvesq and vmaxmgv
99908        https://bugs.webkit.org/show_bug.cgi?id=77950
99909
99910        Reviewed by Chris Rogers.
99911
99912        Achieved the performance of 3.7x on vsvesq and 4.1x on vmaxmgv.
99913
99914        * platform/audio/VectorMath.cpp:
99915        (WebCore::VectorMath::vsvesq):
99916        (WebCore::VectorMath::vmaxmgv):
99917
999182012-03-01  Luke Macpherson   <macpherson@chromium.org>
99919
99920        Handle CSSPropertyBoxSizing in CSSStyleApplyProperty.
99921        https://bugs.webkit.org/show_bug.cgi?id=80001
99922
99923        Reviewed by Andreas Kling.
99924
99925        No new tests / refactoring only.
99926
99927        * css/CSSStyleApplyProperty.cpp:
99928        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
99929        * css/CSSStyleSelector.cpp:
99930        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
99931
999322012-03-01  James Robinson  <jamesr@chromium.org>
99933
99934        [chromium] LayerChromium::contentChanged is redundant with setNeedsDisplay
99935        https://bugs.webkit.org/show_bug.cgi?id=79708
99936
99937        Reviewed by Adrienne Walker.
99938
99939        Some layer types need special handling when they receive damage. WebGL layers need to know if their texture is
99940        updated for clear-on-swap behavior and both WebGL and canvas 2d layers have rate limiting mechanisms tied to
99941        receiving invalidations. This mechanism was implemented by LayerChromium::contentChanged(), but this is
99942        redundant with setNeedsDisplay().
99943
99944        Covered by existing tests.
99945
99946        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
99947        (WebCore::Canvas2DLayerChromium::setNeedsDisplay):
99948        * platform/graphics/chromium/Canvas2DLayerChromium.h:
99949        (Canvas2DLayerChromium):
99950        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
99951        (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
99952        * platform/graphics/chromium/LayerChromium.cpp:
99953        (WebCore::LayerChromium::setNeedsDisplay):
99954        * platform/graphics/chromium/LayerChromium.h:
99955        (LayerChromium):
99956        * platform/graphics/chromium/VideoLayerChromium.cpp:
99957        (WebCore::VideoLayerChromium::setNeedsDisplay):
99958        * platform/graphics/chromium/VideoLayerChromium.h:
99959        (VideoLayerChromium):
99960        * platform/graphics/chromium/WebGLLayerChromium.cpp:
99961        (WebCore::WebGLLayerChromium::setNeedsDisplay):
99962        * platform/graphics/chromium/WebGLLayerChromium.h:
99963        (WebGLLayerChromium):
99964
999652012-03-01  James Robinson  <jamesr@chromium.org>
99966
99967        [chromium] Rename LayerChromium::name to debugName to be more consistent with other debug properties, make threadsafe
99968        https://bugs.webkit.org/show_bug.cgi?id=79723
99969
99970        Reviewed by Adrienne Walker.
99971
99972        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
99973        (WebCore::GraphicsLayerChromium::updateNames):
99974        * platform/graphics/chromium/LayerChromium.cpp:
99975        (WebCore::LayerChromium::pushPropertiesTo):
99976        (WebCore::LayerChromium::setDebugName):
99977        (WebCore):
99978        * platform/graphics/chromium/LayerChromium.h:
99979        (LayerChromium):
99980        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
99981        (WebCore::CCLayerImpl::dumpLayer):
99982        * platform/graphics/chromium/cc/CCLayerImpl.h:
99983        (CCLayerImpl):
99984        (WebCore::CCLayerImpl::setDebugName):
99985        (WebCore::CCLayerImpl::debugName):
99986        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
99987        (WebCore::CCRenderSurface::name):
99988
999892012-03-01  Adam Barth  <abarth@webkit.org>
99990
99991        Remove last ENABLED(INDEXED_DATABASE) ifdef from WebCore proper
99992        https://bugs.webkit.org/show_bug.cgi?id=80061
99993
99994        Reviewed by Dimitri Glazkov.
99995
99996        This patch removes the last ENABLED(INDEXED_DATABASE) ifdef from
99997        WebCore proper by moving the backend factory out of PageGroup and into
99998        a supplement for PageGroup.  After this patch, we're ready to move the
99999        IDB code into Modules.
100000
100001        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
100002        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
100003        * WebCore.gypi:
100004        * inspector/InspectorIndexedDBAgent.cpp:
100005        (WebCore::assertIDBFactory):
100006        * page/PageGroup.cpp:
100007        (WebCore):
100008        * page/PageGroup.h:
100009        (PageGroup):
100010
1000112012-03-01  Dale Curtis  <dalecurtis@chromium.org>
100012
100013        Remove deprecated FFmpeg build directories.
100014        https://bugs.webkit.org/show_bug.cgi?id=79282
100015
100016        We've switched the layout of the FFmpeg repo in Chrome and these paths
100017        are no longer needed or valid.
100018
100019        Reviewed by Dirk Pranke.
100020
100021        No new tests. It either compiles or not.
100022
100023        * WebCore.gyp/WebCore.gyp:
100024
1000252012-03-01  Xingnan Wang  <xingnan.wang@intel.com>
100026
100027        Enable IPP for Biquad filter
100028        https://bugs.webkit.org/show_bug.cgi?id=77509
100029
100030        Reviewed by Chris Rogers.
100031
100032        Use IIR filter in IPP and improve ~27% performance in linux.
100033        Changes are covered by current tests.
100034
100035        * platform/audio/Biquad.cpp:
100036        (WebCore::Biquad::Biquad):
100037        (WebCore::Biquad::~Biquad):
100038        (WebCore):
100039        (WebCore::Biquad::process):
100040        (WebCore::Biquad::reset):
100041        (WebCore::Biquad::setLowpassParams):
100042        (WebCore::Biquad::setHighpassParams):
100043        (WebCore::Biquad::setNormalizedCoefficients):
100044        (WebCore::Biquad::setZeroPolePairs):
100045        * platform/audio/Biquad.h:
100046        (Biquad):
100047
1000482012-03-01  Peter Kotwicz  <pkotwicz@google.com>
100049
100050        Decouple scrollbar painting from Scrollbar object
100051        https://bugs.webkit.org/show_bug.cgi?id=78028
100052
100053        Reviewed by James Robinson.
100054
100055        Added interface ScrollbarThemeClient which Scrollbar inherits from.
100056        This allows painting via ScrollbarTheme with a proxy to a Scrollbar
100057        object.
100058
100059        * GNUmakefile.list.am:
100060        * Target.pri:
100061        * WebCore.gypi:
100062        * WebCore.vcproj/WebCore.vcproj:
100063        * WebCore.xcodeproj/project.pbxproj:
100064        * platform/Scrollbar.cpp:
100065        (WebCore::Scrollbar::scrollbarOverlayStyle):
100066        (WebCore):
100067        (WebCore::Scrollbar::getTickmarks):
100068        (WebCore::Scrollbar::isScrollableAreaActive):
100069        (WebCore::Scrollbar::isScrollViewScrollbar):
100070        (WebCore::Scrollbar::setFrameRect):
100071        * platform/Scrollbar.h:
100072        (Scrollbar):
100073        (WebCore::Scrollbar::x):
100074        (WebCore::Scrollbar::y):
100075        (WebCore::Scrollbar::width):
100076        (WebCore::Scrollbar::height):
100077        (WebCore::Scrollbar::size):
100078        (WebCore::Scrollbar::location):
100079        (WebCore::Scrollbar::parent):
100080        (WebCore::Scrollbar::root):
100081        (WebCore::Scrollbar::frameRect):
100082        (WebCore::Scrollbar::invalidate):
100083        (WebCore::Scrollbar::convertFromContainingWindow):
100084        (WebCore::Scrollbar::isCustomScrollbar):
100085        (WebCore::Scrollbar::orientation):
100086        (WebCore::Scrollbar::value):
100087        (WebCore::Scrollbar::currentPos):
100088        (WebCore::Scrollbar::visibleSize):
100089        (WebCore::Scrollbar::totalSize):
100090        (WebCore::Scrollbar::maximum):
100091        (WebCore::Scrollbar::controlSize):
100092        (WebCore::Scrollbar::lineStep):
100093        (WebCore::Scrollbar::pageStep):
100094        (WebCore::Scrollbar::pressedPart):
100095        (WebCore::Scrollbar::hoveredPart):
100096        (WebCore::Scrollbar::styleChanged):
100097        (WebCore::Scrollbar::enabled):
100098        * platform/ScrollbarTheme.h:
100099        (WebCore):
100100        (WebCore::ScrollbarTheme::updateEnabledState):
100101        (WebCore::ScrollbarTheme::paint):
100102        (WebCore::ScrollbarTheme::hitTest):
100103        (WebCore::ScrollbarTheme::updateScrollbarOverlayStyle):
100104        (WebCore::ScrollbarTheme::invalidateParts):
100105        (WebCore::ScrollbarTheme::invalidatePart):
100106        (WebCore::ScrollbarTheme::shouldCenterOnThumb):
100107        (WebCore::ScrollbarTheme::shouldSnapBackToDragOrigin):
100108        (WebCore::ScrollbarTheme::shouldDragDocumentInsteadOfThumb):
100109        (WebCore::ScrollbarTheme::thumbPosition):
100110        (WebCore::ScrollbarTheme::thumbLength):
100111        (WebCore::ScrollbarTheme::trackPosition):
100112        (WebCore::ScrollbarTheme::trackLength):
100113        (WebCore::ScrollbarTheme::registerScrollbar):
100114        (WebCore::ScrollbarTheme::unregisterScrollbar):
100115        * platform/ScrollbarThemeClient.h: Added.
100116        (WebCore):
100117        (ScrollbarThemeClient):
100118        (WebCore::ScrollbarThemeClient::~ScrollbarThemeClient):
100119        * platform/ScrollbarThemeComposite.cpp:
100120        (WebCore::ScrollbarThemeComposite::paint):
100121        (WebCore::ScrollbarThemeComposite::hitTest):
100122        (WebCore::ScrollbarThemeComposite::invalidatePart):
100123        (WebCore::ScrollbarThemeComposite::splitTrack):
100124        (WebCore::usedTotalSize):
100125        (WebCore::ScrollbarThemeComposite::thumbPosition):
100126        (WebCore::ScrollbarThemeComposite::thumbLength):
100127        (WebCore::ScrollbarThemeComposite::minimumThumbLength):
100128        (WebCore::ScrollbarThemeComposite::trackPosition):
100129        (WebCore::ScrollbarThemeComposite::trackLength):
100130        * platform/ScrollbarThemeComposite.h:
100131        (ScrollbarThemeComposite):
100132        (WebCore::ScrollbarThemeComposite::paintScrollbarBackground):
100133        (WebCore::ScrollbarThemeComposite::paintTrackBackground):
100134        (WebCore::ScrollbarThemeComposite::paintTrackPiece):
100135        (WebCore::ScrollbarThemeComposite::paintButton):
100136        (WebCore::ScrollbarThemeComposite::paintThumb):
100137        (WebCore::ScrollbarThemeComposite::paintTickmarks):
100138        (WebCore::ScrollbarThemeComposite::constrainTrackRectToTrackPieces):
100139        * platform/chromium/ScrollbarThemeChromium.cpp:
100140        (WebCore::ScrollbarThemeChromium::hasThumb):
100141        (WebCore::ScrollbarThemeChromium::backButtonRect):
100142        (WebCore::ScrollbarThemeChromium::forwardButtonRect):
100143        (WebCore::ScrollbarThemeChromium::trackRect):
100144        (WebCore::ScrollbarThemeChromium::paintTrackBackground):
100145        (WebCore::ScrollbarThemeChromium::paintTickmarks):
100146        * platform/chromium/ScrollbarThemeChromium.h:
100147        (WebCore::ScrollbarThemeChromium::hasButtons):
100148        (ScrollbarThemeChromium):
100149        * platform/chromium/ScrollbarThemeChromiumAndroid.cpp:
100150        (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
100151        (WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
100152        (WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
100153        (WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
100154        * platform/chromium/ScrollbarThemeChromiumAndroid.h:
100155        (ScrollbarThemeChromiumAndroid):
100156        * platform/chromium/ScrollbarThemeChromiumLinux.cpp:
100157        (WebCore::ScrollbarThemeChromiumLinux::paintTrackPiece):
100158        (WebCore::ScrollbarThemeChromiumLinux::paintButton):
100159        (WebCore::ScrollbarThemeChromiumLinux::paintThumb):
100160        (WebCore::ScrollbarThemeChromiumLinux::shouldCenterOnThumb):
100161        (WebCore::ScrollbarThemeChromiumLinux::buttonSize):
100162        (WebCore::ScrollbarThemeChromiumLinux::minimumThumbLength):
100163        * platform/chromium/ScrollbarThemeChromiumLinux.h:
100164        (ScrollbarThemeChromiumLinux):
100165        * platform/chromium/ScrollbarThemeChromiumMac.h:
100166        (ScrollbarThemeChromiumMac):
100167        * platform/chromium/ScrollbarThemeChromiumMac.mm:
100168        (WebCore::scrollbarStateToThemeState):
100169        (WebCore::ScrollbarThemeChromiumMac::paint):
100170        (WebCore::ScrollbarThemeChromiumMac::paintGivenTickmarks):
100171        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
100172        (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
100173        (WebCore::ScrollbarThemeChromiumWin::paintTrackPiece):
100174        (WebCore::ScrollbarThemeChromiumWin::paintButton):
100175        (WebCore::ScrollbarThemeChromiumWin::paintThumb):
100176        (WebCore::ScrollbarThemeChromiumWin::getThemeState):
100177        (WebCore::ScrollbarThemeChromiumWin::getThemeArrowState):
100178        (WebCore::ScrollbarThemeChromiumWin::getClassicThemeState):
100179        (WebCore::ScrollbarThemeChromiumWin::shouldCenterOnThumb):
100180        (WebCore::ScrollbarThemeChromiumWin::buttonSize):
100181        * platform/chromium/ScrollbarThemeChromiumWin.h:
100182        (ScrollbarThemeChromiumWin):
100183        * platform/efl/ScrollbarThemeEfl.cpp:
100184        (WebCore::ScrollbarThemeEfl::registerScrollbar):
100185        (WebCore::ScrollbarThemeEfl::unregisterScrollbar):
100186        * platform/efl/ScrollbarThemeEfl.h:
100187        (ScrollbarThemeEfl):
100188        * platform/gtk/ScrollbarThemeGtk.cpp:
100189        (WebCore):
100190        (WebCore::ScrollbarThemeGtk::registerScrollbar):
100191        (WebCore::ScrollbarThemeGtk::unregisterScrollbar):
100192        (WebCore::ScrollbarThemeGtk::updateScrollbarsFrameThickness):
100193        (WebCore::ScrollbarThemeGtk::hasThumb):
100194        (WebCore::ScrollbarThemeGtk::backButtonRect):
100195        (WebCore::ScrollbarThemeGtk::forwardButtonRect):
100196        (WebCore::ScrollbarThemeGtk::trackRect):
100197        (WebCore::ScrollbarThemeGtk::thumbRect):
100198        (WebCore::ScrollbarThemeGtk::paint):
100199        (WebCore::ScrollbarThemeGtk::shouldCenterOnThumb):
100200        (WebCore::ScrollbarThemeGtk::buttonSize):
100201        (WebCore::ScrollbarThemeGtk::minimumThumbLength):
100202        * platform/gtk/ScrollbarThemeGtk.h:
100203        (WebCore::ScrollbarThemeGtk::hasButtons):
100204        (ScrollbarThemeGtk):
100205        * platform/gtk/ScrollbarThemeGtk2.cpp:
100206        (WebCore::getWidgetForScrollbar):
100207        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
100208        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
100209        (WebCore::ScrollbarThemeGtk::paintThumb):
100210        (WebCore::ScrollbarThemeGtk::paintButton):
100211        * platform/gtk/ScrollbarThemeGtk3.cpp:
100212        (WebCore::ScrollbarThemeGtk::paintTrackBackground):
100213        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground):
100214        (WebCore::ScrollbarThemeGtk::paintThumb):
100215        (WebCore::ScrollbarThemeGtk::paintButton):
100216        * platform/mac/ScrollbarThemeMac.h:
100217        (ScrollbarThemeMac):
100218        * platform/mac/ScrollbarThemeMac.mm:
100219        (WebCore):
100220        (WebCore::ScrollbarThemeMac::registerScrollbar):
100221        (WebCore::ScrollbarThemeMac::unregisterScrollbar):
100222        (WebCore::ScrollbarThemeMac::setNewPainterForScrollbar):
100223        (WebCore::ScrollbarThemeMac::painterForScrollbar):
100224        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
100225        (WebCore::ScrollbarThemeMac::hasButtons):
100226        (WebCore::ScrollbarThemeMac::hasThumb):
100227        (WebCore::ScrollbarThemeMac::backButtonRect):
100228        (WebCore::ScrollbarThemeMac::forwardButtonRect):
100229        (WebCore::ScrollbarThemeMac::trackRect):
100230        (WebCore::ScrollbarThemeMac::minimumThumbLength):
100231        (WebCore::ScrollbarThemeMac::shouldCenterOnThumb):
100232        (WebCore::ScrollbarThemeMac::shouldDragDocumentInsteadOfThumb):
100233        (WebCore::ScrollbarThemeMac::updateEnabledState):
100234        (WebCore::ScrollbarThemeMac::paint):
100235        * platform/mock/ScrollbarThemeMock.cpp:
100236        (WebCore::ScrollbarThemeMock::trackRect):
100237        (WebCore::ScrollbarThemeMock::paintTrackBackground):
100238        (WebCore::ScrollbarThemeMock::paintThumb):
100239        * platform/mock/ScrollbarThemeMock.h:
100240        (WebCore::ScrollbarThemeMock::hasButtons):
100241        (WebCore::ScrollbarThemeMock::hasThumb):
100242        (WebCore::ScrollbarThemeMock::backButtonRect):
100243        (WebCore::ScrollbarThemeMock::forwardButtonRect):
100244        (ScrollbarThemeMock):
100245        * platform/qt/ScrollbarThemeQt.cpp:
100246        (WebCore::styleOptionSlider):
100247        (WebCore::ScrollbarThemeQt::paint):
100248        (WebCore::ScrollbarThemeQt::hitTest):
100249        (WebCore::ScrollbarThemeQt::shouldCenterOnThumb):
100250        (WebCore::ScrollbarThemeQt::invalidatePart):
100251        (WebCore::ScrollbarThemeQt::thumbPosition):
100252        (WebCore::ScrollbarThemeQt::thumbLength):
100253        (WebCore::ScrollbarThemeQt::trackPosition):
100254        (WebCore::ScrollbarThemeQt::trackLength):
100255        * platform/qt/ScrollbarThemeQt.h:
100256        (ScrollbarThemeQt):
100257        * platform/win/ScrollbarThemeSafari.cpp:
100258        (WebCore::ScrollbarThemeSafari::hasButtons):
100259        (WebCore::ScrollbarThemeSafari::hasThumb):
100260        (WebCore::ScrollbarThemeSafari::backButtonRect):
100261        (WebCore::ScrollbarThemeSafari::forwardButtonRect):
100262        (WebCore::ScrollbarThemeSafari::trackRect):
100263        (WebCore::ScrollbarThemeSafari::minimumThumbLength):
100264        (WebCore::ScrollbarThemeSafari::shouldCenterOnThumb):
100265        (WebCore::ScrollbarThemeSafari::paintTrackBackground):
100266        (WebCore::ScrollbarThemeSafari::paintButton):
100267        (WebCore::ScrollbarThemeSafari::paintThumb):
100268        * platform/win/ScrollbarThemeSafari.h:
100269        (ScrollbarThemeSafari):
100270        * platform/win/ScrollbarThemeWin.cpp:
100271        (WebCore::ScrollbarThemeWin::hasThumb):
100272        (WebCore::ScrollbarThemeWin::backButtonRect):
100273        (WebCore::ScrollbarThemeWin::forwardButtonRect):
100274        (WebCore::ScrollbarThemeWin::trackRect):
100275        (WebCore::ScrollbarThemeWin::shouldCenterOnThumb):
100276        (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
100277        (WebCore::ScrollbarThemeWin::paintTrackBackground):
100278        (WebCore::ScrollbarThemeWin::paintTrackPiece):
100279        (WebCore::ScrollbarThemeWin::paintButton):
100280        (WebCore::paintGripper):
100281        (WebCore::ScrollbarThemeWin::paintThumb):
100282        * platform/win/ScrollbarThemeWin.h:
100283        (WebCore::ScrollbarThemeWin::hasButtons):
100284        (ScrollbarThemeWin):
100285        * platform/wx/ScrollbarThemeWx.cpp:
100286        (WebCore::ScrollbarThemeWx::hasThumb):
100287        (WebCore::ScrollbarThemeWx::minimumThumbLength):
100288        (WebCore::ScrollbarThemeWx::buttonSize):
100289        (WebCore::ScrollbarThemeWx::splitTrack):
100290        (WebCore::ScrollbarThemeWx::backButtonRect):
100291        (WebCore::ScrollbarThemeWx::forwardButtonRect):
100292        (WebCore::ScrollbarThemeWx::trackRect):
100293        (WebCore::ScrollbarThemeWx::paint):
100294        * platform/wx/ScrollbarThemeWx.h:
100295        (ScrollbarThemeWx):
100296        (WebCore::ScrollbarThemeWx::hasButtons):
100297        * rendering/RenderScrollbar.h:
100298        (WebCore::toRenderScrollbar):
100299        * rendering/RenderScrollbarTheme.cpp:
100300        (WebCore::RenderScrollbarTheme::buttonSizesAlongTrackAxis):
100301        (WebCore::RenderScrollbarTheme::hasButtons):
100302        (WebCore::RenderScrollbarTheme::hasThumb):
100303        (WebCore::RenderScrollbarTheme::minimumThumbLength):
100304        (WebCore::RenderScrollbarTheme::backButtonRect):
100305        (WebCore::RenderScrollbarTheme::forwardButtonRect):
100306        (WebCore::RenderScrollbarTheme::trackRect):
100307        (WebCore::RenderScrollbarTheme::constrainTrackRectToTrackPieces):
100308        (WebCore::RenderScrollbarTheme::paintScrollbarBackground):
100309        (WebCore::RenderScrollbarTheme::paintTrackBackground):
100310        (WebCore::RenderScrollbarTheme::paintTrackPiece):
100311        (WebCore::RenderScrollbarTheme::paintButton):
100312        (WebCore::RenderScrollbarTheme::paintThumb):
100313        * rendering/RenderScrollbarTheme.h:
100314        (WebCore::RenderScrollbarTheme::shouldCenterOnThumb):
100315        (WebCore::RenderScrollbarTheme::registerScrollbar):
100316        (WebCore::RenderScrollbarTheme::unregisterScrollbar):
100317        (RenderScrollbarTheme):
100318
1003192012-03-01  Luke Macpherson   <macpherson@chromium.org>
100320
100321        Implement CSSPropertyImageRendering in CSSStyleApplyProperty.
100322        https://bugs.webkit.org/show_bug.cgi?id=79855
100323
100324        Reviewed by Eric Seidel.
100325
100326        No new tests / refactoring only.
100327
100328        * css/CSSStyleApplyProperty.cpp:
100329        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
100330        * css/CSSStyleSelector.cpp:
100331        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
100332
1003332012-03-01  Alok Priyadarshi  <alokp@chromium.org>
100334
100335        [chromium] Partial texture updates not happening with accelerated painting path
100336        https://bugs.webkit.org/show_bug.cgi?id=80040
100337
100338        Reviewed by James Robinson.
100339
100340        The order of y-flip and clip-rect was opposite of what it should be.
100341        The clip rect was not properly transformed to account for y-flip and hence clipping everything.  
100342
100343        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
100344        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
100345
1003462012-03-01  Alexey Proskuryakov  <ap@apple.com>
100347
100348        FileReader read speed is way too low
100349        https://bugs.webkit.org/show_bug.cgi?id=77272
100350
100351        Reviewed by Oliver Hunt.
100352
100353        This brings performance to reasonable range, but certainly doesn't exhaust improvement opportunities.
100354
100355        * platform/network/BlobResourceHandle.cpp: Use a more appropriate block size. Performing
100356        cross-thread messaging for every 1024 bytes is slow.
100357
1003582012-03-01  Dan Bernstein  <mitz@apple.com>
100359
100360        ScrollView::setFrameRect() calls contentsResized() even when the frame size is unchanged
100361        https://bugs.webkit.org/show_bug.cgi?id=80047
100362
100363        Reviewed by Anders Carlsson.
100364
100365        * platform/ScrollView.cpp:
100366        (WebCore::ScrollView::setFrameRect): Added a check that the new frame size differs from the
100367        old one before calling contentsResized().
100368
1003692012-03-01  James Robinson  <jamesr@chromium.org>
100370
100371        [chromium] Move pageScaleDirty logic from LayerChromium to GraphicsLayerChromium
100372        https://bugs.webkit.org/show_bug.cgi?id=79714
100373
100374        Reviewed by Adrienne Walker.
100375
100376        When the page scale changes on a composited layer we need to invalidate all of the contents on the layer in
100377        order to repaint them at the new scale. The sequence of calls we get make this a bit tricky, since we first
100378        receive a page scale changed notification and then receive the new layer bounds. The solution is to defer the
100379        invalidation until we have the new layer bounds, which landed in r99774.
100380
100381        This moves that logic from LayerChromium into GraphicsLayerChromium since IMO this is pretty particular to the
100382        way WebCore is passing us invalidations and not something fundamental to the compositor.
100383
100384        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
100385        (WebCore::GraphicsLayerChromium::GraphicsLayerChromium):
100386        (WebCore::GraphicsLayerChromium::setSize):
100387        (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
100388        * platform/graphics/chromium/GraphicsLayerChromium.h:
100389        * platform/graphics/chromium/LayerChromium.cpp:
100390        (WebCore::LayerChromium::LayerChromium):
100391        (WebCore::LayerChromium::setBounds):
100392        * platform/graphics/chromium/LayerChromium.h:
100393        (LayerChromium):
100394
1003952012-03-01  Joe Thomas  <joethomas@motorola.com>
100396
100397        :empty still applies to elements made non-empty via page dynamics.
100398        https://bugs.webkit.org/show_bug.cgi?id=79734
100399
100400        Check for :empty style change should be made even if the RenderStyle for the element is NULL
100401        as changes to the element's children can trigger a change in :empty state of the parent element.
100402
100403        Reviewed by Antti Koivisto.
100404
100405        Test: fast/selectors/empty-element-made-non-empty.html
100406
100407        * dom/Element.cpp:
100408        (WebCore::checkForSiblingStyleChanges):
100409
1004102012-02-29  Nat Duca  <nduca@chromium.org>
100411
100412        [chromium] Move context lost control code from CCSingleThreadProxy to CCLayerTreeHost
100413        https://bugs.webkit.org/show_bug.cgi?id=79964
100414
100415        Reviewed by James Robinson.
100416
100417        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
100418        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
100419        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
100420        (WebCore::CCLayerTreeHost::recreateContext):
100421        (WebCore::CCLayerTreeHost::createContext):
100422        (WebCore::CCLayerTreeHost::didLoseContext):
100423        (WebCore::CCLayerTreeHost::compositeAndReadback):
100424        (WebCore::CCLayerTreeHost::loseContext):
100425        (WebCore::CCLayerTreeHost::updateLayers):
100426        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
100427        (CCLayerTreeHostClient):
100428        (CCLayerTreeHost):
100429        * platform/graphics/chromium/cc/CCProxy.h:
100430        (CCProxy):
100431        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
100432        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
100433        (WebCore::CCSingleThreadProxy::compositeAndReadback):
100434        (WebCore::CCSingleThreadProxy::initializeContext):
100435        (WebCore::CCSingleThreadProxy::recreateContext):
100436        (WebCore):
100437        (WebCore::CCSingleThreadProxy::loseContext):
100438        (WebCore::CCSingleThreadProxy::compositeImmediately):
100439        (WebCore::CCSingleThreadProxy::doComposite):
100440        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
100441        (CCSingleThreadProxy):
100442        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
100443        (WebCore::CCThreadProxy::initializeContext):
100444        (WebCore::CCThreadProxy::recreateContext):
100445        (WebCore):
100446        (WebCore::CCThreadProxy::loseContext):
100447        * platform/graphics/chromium/cc/CCThreadProxy.h:
100448        (CCThreadProxy):
100449
1004502012-03-01  Abhishek Arya  <inferno@chromium.org>
100451
100452        Prevent layout root to remain set on renderers getting destroyed.
100453        https://bugs.webkit.org/show_bug.cgi?id=79953
100454
100455        Reviewed by Eric Seidel.
100456
100457        Implement Julien Chaffraix's idea.
100458
100459        * page/FrameView.h:
100460        (WebCore::FrameView::clearLayoutRoot): helper to clear layout root.
100461        * rendering/RenderObject.cpp:
100462        (WebCore::clearLayoutRootIfNeeded): if we know we are going
100463        away and we are the view's layout root, then we need to reset the layout
100464        root to prevent being used.
100465        (WebCore):
100466        (WebCore::RenderObject::willBeDestroyed): call clearLayoutRootIfNeeded at end.
100467
1004682012-03-01  Kangil Han  <kangil.han@samsung.com>
100469
100470        [DRT] Remove all PlainTextController usages in existing tests by adding internal API
100471        https://bugs.webkit.org/show_bug.cgi?id=78570
100472
100473        Reviewed by Hajime Morita.
100474
100475        This patch will remove all PlainTextController usages
100476        in existing DRT tests by adding internal API to WebCore/testing/Internals
100477
100478        Changed editing/text-iterator/script-tests/basic-iteration.js to use internals.rangeAsText
100479
100480        * testing/Internals.cpp:
100481        (WebCore::Internals::rangeAsText):
100482        (WebCore):
100483        * testing/Internals.h:
100484        (Internals):
100485        * testing/Internals.idl:
100486
1004872012-03-01  Adam Barth  <abarth@webkit.org>
100488
100489        DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
100490        https://bugs.webkit.org/show_bug.cgi?id=80013
100491
100492        Reviewed by Kentaro Hara.
100493
100494        Before this patch, DOMWindow still knew about IDB because of the
100495        database factory.  This patch moves the factory to
100496        DOMWindowIndexedDatabase.
100497
100498        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
100499        (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
100500        (WebCore::DOMWindowIndexedDatabase::from):
100501        (WebCore):
100502        (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
100503        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
100504        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
100505        (DOMWindowIndexedDatabase):
100506        * page/DOMWindow.cpp:
100507        (WebCore::DOMWindow::~DOMWindow):
100508        (WebCore::DOMWindow::clear):
100509        (WebCore):
100510        * page/DOMWindow.h:
100511        (DOMWindow):
100512
1005132012-03-01  Anders Carlsson  <andersca@apple.com>
100514
100515        Glitchy scrolling on pages where the scroll layer needs to be updated on the main thread
100516        https://bugs.webkit.org/show_bug.cgi?id=80038
100517        <rdar://problem/10933831>
100518
100519        Reviewed by Simon Fraser.
100520
100521        When we need to update the scroll layer position on the main thread, we need to cache the
100522        scroll position we sent to the main thread and assume that that's the correct scroll position.
100523
100524        * page/scrolling/mac/ScrollingTreeNodeMac.h:
100525        (ScrollingTreeNodeMac):
100526        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
100527        (WebCore::ScrollingTreeNodeMac::update):
100528        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
100529        (WebCore::ScrollingTreeNodeMac::scrollPosition):
100530
1005312012-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
100532
100533        Unreviewed, rolling out r109367.
100534        http://trac.webkit.org/changeset/109367
100535        https://bugs.webkit.org/show_bug.cgi?id=75568
100536
100537        Some tests started to fail in a non obvious way.
100538
100539        * rendering/RenderBlock.cpp:
100540        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
100541        (WebCore::RenderBlock::layoutBlock):
100542        (WebCore::RenderBlock::paint):
100543        (WebCore::RenderBlock::isPointInOverflowControl):
100544        * rendering/RenderBlock.h:
100545        (RenderBlock):
100546        * rendering/RenderBox.cpp:
100547        (WebCore::RenderBox::willBeDestroyed):
100548        (WebCore::RenderBox::styleDidChange):
100549        (WebCore::RenderBox::scrollWidth):
100550        (WebCore::RenderBox::scrollHeight):
100551        (WebCore::RenderBox::scrollLeft):
100552        (WebCore::RenderBox::scrollTop):
100553        (WebCore::RenderBox::setScrollLeft):
100554        (WebCore::RenderBox::setScrollTop):
100555        (WebCore::RenderBox::includeVerticalScrollbarSize):
100556        (WebCore::RenderBox::includeHorizontalScrollbarSize):
100557        (WebCore::RenderBox::scrolledContentOffset):
100558        (WebCore::RenderBox::cachedSizeForOverflowClip):
100559        (WebCore::RenderBox::pushContentsClip):
100560        (WebCore::RenderBox::popContentsClip):
100561        (WebCore::RenderBox::addLayoutOverflow):
100562        * rendering/RenderBox.h:
100563        (RenderBox):
100564        (WebCore):
100565        * rendering/RenderBoxModelObject.cpp:
100566        (WebCore):
100567        (WebCore::RenderBoxModelObject::styleDidChange):
100568        * rendering/RenderBoxModelObject.h:
100569        (WebCore::RenderBoxModelObject::requiresLayer):
100570        (RenderBoxModelObject):
100571        * rendering/RenderDeprecatedFlexibleBox.cpp:
100572        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
100573        * rendering/RenderTableRow.h:
100574        (WebCore::RenderTableRow::requiresLayer):
100575
1005762012-03-01  Kenichi Ishibashi  <bashi@chromium.org>
100577
100578        REGRESSION: Outlook 2007 doesn't display fonts correctly on emails composed by WebKit
100579        https://bugs.webkit.org/show_bug.cgi?id=79448
100580
100581        Reviewed by Ryosuke Niwa.
100582
100583        Don't produce single quotes around face attribute of font elements.
100584
100585        Test: editing/style/font-face-unquote.html
100586
100587        * editing/EditingStyle.cpp:
100588        (WebCore::StyleChange::extractTextStyles): Remove single quotes from m_applyFontFace.
100589
1005902012-03-01  Beth Dakin  <bdakin@apple.com>
100591
100592        Reviewed by Kevin Decker.
100593
100594        Part of https://bugs.webkit.org/show_bug.cgi?id=79705
100595
100596        Here's some of that tweaking promised in the comment. Adjusting 
100597        gMaximumUnpaintedAreaRatio down a bit.
100598        * page/Page.cpp:
100599        (WebCore):
100600
1006012012-03-01  Levi Weintraub  <leviw@chromium.org>
100602
100603        Add roundToInt method for LayoutUnits
100604        https://bugs.webkit.org/show_bug.cgi?id=79283
100605
100606        Reviewed by Eric Seidel.
100607
100608        Adding a roundToInt method that rounds a LayoutUnit to the nearest integer. This
100609        only has an effect once we switch to sub-pixel positioning. Points and offsets
100610        are rounded for painting and hit testing.
100611
100612        No new tests. No change in behavior.
100613
100614        * dom/MouseRelatedEvent.cpp:
100615        (WebCore::MouseRelatedEvent::offsetX):
100616        (WebCore::MouseRelatedEvent::offsetY):
100617        * html/shadow/MediaControlElements.cpp:
100618        (WebCore::MediaControlTextTrackContainerElement::updateSizes):
100619        * rendering/LayoutState.cpp:
100620        (WebCore::LayoutState::computeLineGridPaginationOrigin):
100621        * rendering/LayoutTypes.h:
100622        (WebCore::roundToInt): Stub until we switch to sub-pixel LayoutUnits.
100623        (WebCore):
100624        * rendering/RenderBlock.cpp:
100625        (WebCore::RenderBlock::pageLogicalTopForOffset):
100626        * rendering/RenderBlock.h:
100627        (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine): Correcting to use the
100628        pixel snapped methods on FloatingObjects and removing the fixme.
100629        (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat): Ditto.
100630        (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat): Ditto.
100631        (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat): Ditto.
100632        (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat): Ditto.
100633        (WebCore::RenderBlock::pixelSnappedLogicalWidthForFloat): Ditto.
100634        * rendering/RenderBlockLineLayout.cpp:
100635        (WebCore::LineWidth::updateAvailableWidth):
100636        (WebCore::RenderBlock::computeInlineDirectionPositionsForLine): Using
100637        pixelSnappedLogicalLeft/RightOffsetForLine convenience methods for line layout. When
100638        we switch to sub-pixel positioning, we still pixel snap blocks before painting them,
100639        but text is rendered using floats. We need to ensure the text is laid out using the
100640        actual pixel width of the containing block to avoid bleeding out of the block.
100641        * rendering/RenderBoxModelObject.h: Moving the fixme to pixelSnappedWidth/Height and
100642        adding the necessary rounding for Left/Top.
100643        (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
100644        (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
100645        * rendering/RenderLayer.cpp:
100646        (WebCore::RenderLayer::scrollRectToVisible):
100647        * rendering/RenderListBox.cpp:
100648        (WebCore::RenderListBox::scrollHeight): Rounding the height for scrollHeight. Scrolling
100649        always uses rounded values.
100650        * rendering/svg/RenderSVGRoot.cpp:
100651        (WebCore::RenderSVGRoot::localToParentTransform): Similar to the line box tree, since
100652        SVG renders using floats, we need to start with pixel snapped values from the render
100653        tree or we'll end up with the contents not properly aligned to the rest of the page.
100654        * rendering/svg/SVGRenderSupport.cpp:
100655        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
100656
1006572012-03-01  Pavel Feldman  <pfeldman@chromium.org>
100658
100659        Web Inspector: arrays in object properties sections do not scale.
100660        https://bugs.webkit.org/show_bug.cgi?id=64596
100661
100662        Reviewed by Vsevolod Vlasov.
100663
100664        Test: inspector/console/console-big-array.html
100665
100666        * inspector/front-end/ConsoleMessage.js:
100667        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsArray):
100668        (WebInspector.ConsoleMessageImpl.prototype._printArray):
100669        * inspector/front-end/ObjectPropertiesSection.js:
100670        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
100671        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate.callback):
100672        (WebInspector.ObjectPropertyTreeElement.prototype.onpopulate):
100673        (WebInspector.ObjectPropertyTreeElement.prototype.startEditing):
100674        (WebInspector.ArrayGroupingTreeElement):
100675        (WebInspector.ArrayGroupingTreeElement.populateAsArray):
100676        (WebInspector.ArrayGroupingTreeElement._populate.appendElement):
100677        (WebInspector.ArrayGroupingTreeElement._populate):
100678        (WebInspector.ArrayGroupingTreeElement.prototype.onpopulate):
100679        * inspector/front-end/RemoteObject.js:
100680        (WebInspector.RemoteObject.prototype.release):
100681        (WebInspector.RemoteObject.prototype.arrayLength):
100682        (WebInspector.LocalJSONObject.prototype.isError):
100683        (WebInspector.LocalJSONObject.prototype.arrayLength):
100684        * inspector/front-end/ScopeChainSidebarPane.js:
100685        (WebInspector.ScopeVariableTreeElement.prototype.get propertyPath):
100686        * inspector/front-end/StylesSidebarPane.js:
100687        (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
100688        * inspector/front-end/inspector.css:
100689        (.console-formatted-object, .console-formatted-node, .console-formatted-array):
100690        (.console-formatted-object .section, .console-formatted-node .section, .console-formatted-array .section):
100691
1006922012-03-01  Adam Barth  <abarth@webkit.org>
100693
100694        Unreviewed, rolling out r109336.
100695        http://trac.webkit.org/changeset/109336
100696        https://bugs.webkit.org/show_bug.cgi?id=80013
100697
100698        It's causing some crashes
100699
100700        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
100701        (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
100702        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
100703        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
100704        (DOMWindowIndexedDatabase):
100705        * page/DOMWindow.cpp:
100706        (WebCore::DOMWindow::~DOMWindow):
100707        (WebCore::DOMWindow::clear):
100708        (WebCore):
100709        (WebCore::DOMWindow::setIDBFactory):
100710        * page/DOMWindow.h:
100711        (DOMWindow):
100712        (WebCore::DOMWindow::idbFactory):
100713
1007142012-03-01  Tom Sepez  <tsepez@chromium.org>
100715
100716        Move m_frame protector from FrameLoader::changeLocation to FrameLoader::urlSelected
100717        https://bugs.webkit.org/show_bug.cgi?id=79882
100718
100719        Reviewed by Adam Barth.
100720
100721        Test: fast/frames/url-selected-crash.html
100722
100723        * loader/FrameLoader.cpp:
100724        (WebCore::FrameLoader::changeLocation):
100725        (WebCore::FrameLoader::urlSelected):
100726
1007272012-03-01  Julien Chaffraix  <jchaffraix@webkit.org>
100728
100729        Lazily allocate overflow: hidden layers if we have overflowing content
100730        https://bugs.webkit.org/show_bug.cgi?id=75568
100731
100732        Reviewed by David Hyatt.
100733
100734        Change covered by the existing tests and the tons of rebaselines.
100735
100736        This change makes us lazily allocate our RenderLayer for overflow: hidden layers only.
100737
100738        Apart from saving some memory, it will also speed up the rendering as we don't need to
100739        go through the layer's machinery when painting and hit testing.
100740
100741        On http://dglazkov.github.com/performance-tests/biggrid.html benchmark, this puts the
100742        overflow: hidden case in par with the overflow: visible case when scrolling that is a
100743        very-smooth scrolling vs a jerky one currently (mostly due to the painting speedup).
100744
100745        * rendering/RenderBlock.cpp:
100746        (WebCore::RenderBlock::updateScrollInfoAfterLayout):
100747        Changed this method to update our size cache if needed.
100748
100749        * rendering/RenderBlock.cpp:
100750        (WebCore::RenderBlock::layoutBlock):
100751        (WebCore::RenderBlock::paint):
100752        (WebCore::RenderBlock::isPointInOverflowControl):
100753        * rendering/RenderBlock.h:
100754        (RenderBlock):
100755        * rendering/RenderBox.cpp:
100756        (WebCore::RenderBox::styleDidChange):
100757        (WebCore::RenderBox::scrollWidth):
100758        (WebCore::RenderBox::scrollHeight):
100759        (WebCore::RenderBox::scrollLeft):
100760        (WebCore::RenderBox::scrollTop):
100761        (WebCore::RenderBox::setScrollLeft):
100762        (WebCore::RenderBox::setScrollTop):
100763        (WebCore::RenderBox::includeVerticalScrollbarSize):
100764        (WebCore::RenderBox::includeHorizontalScrollbarSize):
100765        (WebCore::RenderBox::pushContentsClip):
100766        (WebCore::RenderBox::popContentsClip):
100767        (WebCore::RenderBox::addLayoutOverflow):
100768        Added layer() check to the previous call sites.
100769
100770        * rendering/RenderBoxModelObject.cpp:
100771        (WebCore::RenderBoxModelObject::ensureLayer):
100772        Added this function to create and add a new layer.
100773
100774        (WebCore::RenderBoxModelObject::willBeDestroyed):
100775        (WebCore):
100776        (WebCore::RenderBoxModelObject::styleDidChange):
100777        Patched those method to handle updating / removing
100778        cached size entries.
100779
100780        (WebCore::cachedSizeForOverflowClipMap):
100781        (WebCore::RenderBoxModelObject::cachedSizeForOverflowClip):
100782        (WebCore::RenderBoxModelObject::updateCachedSizeForOverflowClip):
100783        (WebCore::RenderBoxModelObject::clearCachedSizeForOverflowClip):
100784        This logic stores the size information for later repainting.
100785        It is in practice replicating what RenderLayer is doing.
100786
100787        * rendering/RenderBoxModelObject.h:
100788        (WebCore::RenderBoxModelObject::requiresLayer):
100789        Updated to call requiresLayerForOverflowClip.
100790
100791        (WebCore::RenderBoxModelObject::requiresLayerForOverflowClip):
100792        Added this method to check if we can lazily allocate the layer.
100793
100794        * rendering/RenderDeprecatedFlexibleBox.cpp:
100795        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
100796        Removed some checks as they are part of updateScrollInfoAfterLayout.
100797
100798        * rendering/RenderObject.cpp:
100799        (WebCore::RenderObject::scrolledContentOffset):
100800        Added a layer() check.
100801
100802        * rendering/RenderTableRow.h:
100803        (RenderTableRow):
100804        Added a comment about why we need a layout for table rows.
100805
1008062012-03-01  Abhishek Arya  <inferno@chromium.org>
100807
100808        Protect functions using two container node function, each of which can fire mutation events.
100809        https://bugs.webkit.org/show_bug.cgi?id=78397
100810
100811        Reviewed by Ryosuke Niwa.
100812
100813        Tests: fast/dom/document-set-title-mutation-crash.html
100814               fast/dom/option-text-mutation-crash.html
100815
100816        * dom/Node.cpp:
100817        (WebCore::Node::setTextContent):
100818        * dom/Text.cpp:
100819        (WebCore::Text::replaceWholeText):
100820        * editing/markup.cpp:
100821        (WebCore::trimFragment):
100822        (WebCore::replaceChildrenWithFragment):
100823        (WebCore::replaceChildrenWithText):
100824        * html/HTMLOptionElement.cpp:
100825        (WebCore::HTMLOptionElement::setText):
100826        * html/HTMLScriptElement.cpp:
100827        (WebCore::HTMLScriptElement::setText):
100828        * html/HTMLTableElement.cpp:
100829        (WebCore::HTMLTableElement::insertRow):
100830        * html/HTMLTextAreaElement.cpp:
100831        (WebCore::HTMLTextAreaElement::setDefaultValue):
100832        * html/HTMLTitleElement.cpp:
100833        (WebCore::HTMLTitleElement::setText):
100834
1008352012-03-01  Alexey Proskuryakov  <ap@apple.com>
100836
100837        Some trivial file stream cleanup
100838        https://bugs.webkit.org/show_bug.cgi?id=79955
100839
100840        Reviewed by Sam Weinig.
100841
100842        No change in functionality.
100843
100844        * fileapi/FileStreamProxy.cpp: Tweaked comment, and added copyright for earlier changes.
100845
100846        * fileapi/FileStreamProxy.h: Added a FIXME telling that this should be in platform.
100847
100848        * platform/AsyncFileStream.h: Tweaked includes and added a FIXME about this to stop being
100849        a subclass.
100850
100851        * platform/FileStreamClient.h: Removed obvious comments, and added ones explaing in-band
100852        error signals.
100853
100854        * platform/network/BlobResourceHandle.cpp: Removed an include outside of platform, and an
100855        unused constant.
100856
1008572012-03-01  Shinya Kawanaka  <shinyak@chromium.org>
100858
100859        Appending ShadowRoot into an element should not cause crash.
100860        https://bugs.webkit.org/show_bug.cgi?id=79620
100861
100862        Reviewed by Dimitri Glazkov.
100863
100864        We should treat ShadowRoot as a document fragment.
100865
100866        Test: fast/dom/shadow/shadow-root-append.html
100867
100868        * dom/ContainerNode.cpp:
100869        (WebCore::collectTargetNodes):
100870
1008712012-03-01  Pavel Podivilov  <podivilov@chromium.org>
100872
100873        Web Inspector: use live location to update console message bubbles.
100874        https://bugs.webkit.org/show_bug.cgi?id=80023
100875
100876        Reviewed by Vsevolod Vlasov.
100877
100878        * inspector/front-end/DebuggerPresentationModel.js:
100879        (WebInspector.DebuggerPresentationModel):
100880        (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
100881        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
100882        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript.updateLocation):
100883        (WebInspector.DebuggerPresentationModel.prototype._addConsoleMessageToScript):
100884        (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessage):
100885        (WebInspector.DebuggerPresentationModel.prototype._addPendingConsoleMessagesToScript):
100886        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
100887        (WebInspector.DebuggerPresentationModel.prototype.messagesForUISourceCode):
100888        (WebInspector.DebuggerPresentationModel.prototype._scriptForURLAndLocation):
100889        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
100890        * inspector/front-end/RawSourceCode.js:
100891        (WebInspector.RawSourceCode):
100892
1008932012-03-01  Vsevolod Vlasov  <vsevik@chromium.org>
100894
100895        Web Inspector: [InspectorIndexedDB] Show tooltips with IndexedDB objects meta information
100896        https://bugs.webkit.org/show_bug.cgi?id=80022
100897
100898        Reviewed by Pavel Feldman.
100899
100900        Added tooltips with meta information for IndexedDB databases, object stores and indexes.
100901        Added keyPath: prefix to key columns in IndexedDB data grid.
100902
100903        * English.lproj/localizedStrings.js:
100904        * inspector/front-end/IndexedDBViews.js:
100905        (WebInspector.IDBDataView.prototype._createDataGrid):
100906        (WebInspector.IDBDataView.prototype._keyPathHeader):
100907        * inspector/front-end/ResourcesPanel.js:
100908        (WebInspector.IDBDatabaseTreeElement.prototype.update):
100909        (WebInspector.IDBDatabaseTreeElement.prototype._updateTooltip):
100910        (WebInspector.IDBObjectStoreTreeElement.prototype.update):
100911        (WebInspector.IDBObjectStoreTreeElement.prototype._updateTooltip):
100912        (WebInspector.IDBIndexTreeElement.prototype.update):
100913        (WebInspector.IDBIndexTreeElement.prototype._updateTooltip):
100914
1009152012-03-01  Pavel Feldman  <pfeldman@google.com>
100916
100917        Web Inspector: hide color picker on Esc and Enter.
100918        https://bugs.webkit.org/show_bug.cgi?id=79915
100919
100920        Reviewed by Vsevolod Vlasov.
100921
100922        * inspector/front-end/Spectrum.js:
100923        (WebInspector.Spectrum.prototype.reposition):
100924        (WebInspector.Spectrum.prototype.hide):
100925        (WebInspector.Spectrum.prototype._onKeyDown):
100926
1009272012-03-01  Huang Dongsung  <luxtella@company100.net>
100928
100929        [Qt] Fixed incorrect size pixmap creation for a new transparency layer.
100930        https://bugs.webkit.org/show_bug.cgi?id=79658
100931
100932        If QPainter does not have clipping, beginPlatformTransparencyLayer can create
100933        wrong size pixmap, so it causes incorrect rendering.
100934
100935        Reviewed by Simon Hausmann.
100936
100937        * platform/graphics/qt/GraphicsContextQt.cpp:
100938        (WebCore::GraphicsContext::beginPlatformTransparencyLayer):
100939
1009402012-03-01  Simon Hausmann  <simon.hausmann@nokia.com>
100941
100942        [Qt] Remove dead style option code.
100943        https://bugs.webkit.org/show_bug.cgi?id=80017
100944
100945        Reviewed by Kenneth Rohde Christiansen.
100946
100947        QtStyleOptionWebComboBox provides functionality (bool multiple()) that
100948        is not called from anywhere (and the base class does not have it as a
100949        virtual function).
100950
100951        * Target.pri:
100952        * platform/qt/QtStyleOptionWebComboBox.h: Removed.
100953        * platform/qt/RenderThemeQStyle.cpp:
100954        (WebCore::RenderThemeQStyle::paintMenuList):
100955        (WebCore::RenderThemeQStyle::paintMenuListButton):
100956
1009572012-03-01  Stephen Chenney  <schenney@chromium.org>
100958
100959        Crash in WebCore::SVGDocumentExtensions::removeAnimationElementFromTarget
100960        https://bugs.webkit.org/show_bug.cgi?id=79831
100961
100962        Reviewed by Eric Seidel.
100963
100964        Out-of-order operations in the SVGSMILElement::removedFromDocument
100965        method caused its target to be removed and then re-added due to a
100966        later call. This led to the target being set on the animation while
100967        the target element itself was unaware. At deletion time, this caused a
100968        crash (or assert in debug builds). Thanks to Abhishek Arya for help
100969        with the layout test.
100970
100971        Test: svg/animations/smil-element-target-crash-main.html
100972
100973        * svg/animation/SVGSMILElement.cpp:
100974        (WebCore::SVGSMILElement::removedFromDocument):
100975
1009762012-03-01  Ilya Tikhonovsky  <loislo@chromium.org>
100977
100978        Web Inspector: move heap snapshot nodes data to external array.
100979        https://bugs.webkit.org/show_bug.cgi?id=79911
100980
100981        Reviewed by Vsevolod Vlasov.
100982
100983        Tests:
100984        heap-shapshot.html
100985        heap-shapshot-loader.html
100986
100987        * inspector/front-end/HeapSnapshot.js:
100988        (WebInspector.Int32Array):
100989        (WebInspector.Int32Array.prototype.get array):
100990        (WebInspector.HeapSnapshotLoader.prototype._parseNodes):
100991        (WebInspector.HeapSnapshotLoader.prototype.pushJSONChunk):
100992        (WebInspector.HeapSnapshot):
100993        (WebInspector.HeapSnapshot.prototype._init):
100994
1009952012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
100996
100997        Introduce SMIL overrideStyle, to make SVG stop mutating CSS styles directly
100998        https://bugs.webkit.org/show_bug.cgi?id=79790
100999
101000        Reviewed by Zoltan Herczeg.
101001
101002        Next step towards enabling animVal support for XML attribute animations.
101003        When SVG CSS properties are animated using SMIL, we currently mutate
101004        the target elements style, and have to keep a baseValue around as String
101005        to be able to recover from the DOM mutations at the end, if fill!="freeze".
101006
101007        The approach required by SMIL is to keep around an override style declaration
101008        set and apply it right after the inline style declarations. Implement that
101009        finally, to avoid mutating styles directly.
101010
101011        Test: svg/animations/attributeTypes.html
101012
101013        * css/CSSStyleSelector.cpp: Model "SMIL animation style" applying just like "inline style" declarations.
101014        (WebCore::CSSStyleSelector::addElementStyleProperties): Refactored common code from matchAllRules().
101015        (WebCore::CSSStyleSelector::matchAllRules): Apply "SMIL animation style" after "inline style" declarations, as specified in SMIL2.
101016        * css/CSSStyleSelector.h: Add new addElementStyleProperties() helper.
101017        * svg/SVGAnimateElement.cpp: Keep track of animation state, if it's about to end, clear "SMIL animation style" upon next applyResultToTarget() call.
101018        (WebCore::SVGAnimateElement::SVGAnimateElement):
101019        (WebCore::SVGAnimateElement::applyResultsToTarget): Reset the CSS property we're animating int the "SMIL animation style", after animation ends.
101020                                                            (Instead of resetting target->style() properties to the old baseValue, as we used to do).
101021        (WebCore::SVGAnimateElement::endedActiveInterval): Set m_aboutToStopAnimation to true, so next call to applyResultsToTarget() knows the animation ends.
101022        * svg/SVGAnimateElement.h: Store bool m_aboutToSTopAnimation;
101023        * svg/SVGAnimationElement.cpp:
101024        (WebCore::setTargetAttributeAnimatedCSSValue):
101025        (WebCore::setTargetAttributeAnimatedXMLValue):
101026            Refactored both of these methods from setTargetAttributeAnimatedValue().
101027            Changed the CSS part, to apply property changes to the "SMIL animation style" instead of the regular StylePropertySet.
101028        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue): Refactored code, use shouldApplyAnimation() to determine whether this animation should run.
101029        (WebCore::SVGAnimationElement::resetAnimationState): New helper calling setTargetAttributeAnimatedValue with a null-string for CSS attributes, when the animation ends.
101030                                                             This is used to detect that the CSS property should be removed from the "SMIL animation style".
101031        (WebCore::SVGAnimationElement::shouldApplyAnimation): Refactored from existing code, and make it more obvious how attributeType influences the animation, all according to SVG 1.1/SMIL2.
101032        * svg/SVGAnimationElement.h:
101033        * svg/SVGElement.cpp: Manage the "SMIL animation style", in SVGElementRareData, if needed. Only gets created if SMIL animations on CSS properties run.
101034        (WebCore::SVGElement::~SVGElement): Destroy SMIL animation style, upon destruction.
101035        (WebCore::SVGElement::animatedSMILStyleProperties): Returns the StylePropertySet for the "SMIL animation style", if it's available.
101036        (WebCore::SVGElement::ensureAnimatedSMILStyleProperties): Enforces creating the StylePropertySet for the "SMIL animation style".
101037        * svg/SVGElement.h: Expose new methods.
101038        * svg/SVGElementRareData.h: Stores the "SMIL animation style", actual managment is done by SVGElement, if needed.
101039        (WebCore::SVGElementRareData::animatedSMILStyleProperties): Retrieve it.
101040        (WebCore::SVGElementRareData::ensureAnimatedSMILStyleProperties): Create it.
101041        (WebCore::SVGElementRareData::destroyAnimatedSMILStyleProperties): Destroy it.
101042        * svg/animation/SVGSMILElement.h: Make endedActiveInterval() virtual again, its needed by SVGAnimateElement now.
101043
1010442012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
101045
101046        Unreviewed, rolling out r109255.
101047        http://trac.webkit.org/changeset/109255
101048        https://bugs.webkit.org/show_bug.cgi?id=79932
101049
101050        Breaks rounded rects with dashed strokes in SVG
101051
101052        * WebCore.exp.in:
101053        * platform/graphics/Path.cpp:
101054        (WebCore::Path::addRoundedRect):
101055        * platform/graphics/Path.h:
101056        (Path):
101057        * platform/graphics/cg/PathCG.cpp:
101058        * platform/mac/WebCoreSystemInterface.h:
101059        * platform/mac/WebCoreSystemInterface.mm:
101060
1010612012-03-01  Adam Barth  <abarth@webkit.org>
101062
101063        DOMWindow shouldn't have any INDEXED_DATABASE ifdefs
101064        https://bugs.webkit.org/show_bug.cgi?id=80013
101065
101066        Reviewed by Kentaro Hara.
101067
101068        Before this patch, DOMWindow still knew about IDB because of the
101069        database factory.  This patch moves the factory to
101070        DOMWindowIndexedDatabase.
101071
101072        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp:
101073        (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
101074        (WebCore::DOMWindowIndexedDatabase::from):
101075        (WebCore):
101076        (WebCore::DOMWindowIndexedDatabase::disconnectFrame):
101077        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
101078        * Modules/indexeddb/DOMWindowIndexedDatabase.h:
101079        (DOMWindowIndexedDatabase):
101080        * page/DOMWindow.cpp:
101081        (WebCore::DOMWindow::~DOMWindow):
101082        (WebCore::DOMWindow::clear):
101083        (WebCore):
101084        * page/DOMWindow.h:
101085        (DOMWindow):
101086
1010872012-03-01  Nikolas Zimmermann  <nzimmermann@rim.com>
101088
101089        SVG <use> element allows invalid contents
101090        https://bugs.webkit.org/show_bug.cgi?id=77764
101091
101092        Reviewed by Zoltan Herczeg.
101093
101094        Unbreak the world after r109299 - dozens of SVGUseElement tests fail in trunk because:
101095        - text nodes weren't allowed in SVG shadow subtrees
101096        - tagName matching ignores any prefixes, thus svg:circle fails to identify as SVGCircleElement
101097
101098        * svg/SVGUseElement.cpp:
101099        (WebCore::isDisallowedElement):
101100
1011012012-03-01  Luke Macpherson   <macpherson@chromium.org>
101102
101103        Handle CSSPropertyWebkitHyphens in CSSStyleApplyProperty.
101104        https://bugs.webkit.org/show_bug.cgi?id=80004
101105
101106        Reviewed by Eric Seidel.
101107
101108        No new tests / refactoring only.
101109
101110        * css/CSSStyleApplyProperty.cpp:
101111        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
101112        * css/CSSStyleSelector.cpp:
101113        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
101114
1011152012-02-29  Pavel Podivilov  <podivilov@chromium.org>
101116
101117        Web Inspector: abstract out the common pattern of creating auto-updated locations.
101118        https://bugs.webkit.org/show_bug.cgi?id=79906
101119
101120        Reviewed by Vsevolod Vlasov.
101121
101122        * inspector/front-end/DebuggerPresentationModel.js:
101123        (WebInspector.PresentationCallFrame.prototype.uiLocation):
101124        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
101125        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
101126        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
101127        (WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
101128        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
101129        (WebInspector.DebuggerPresentationModel.Linkifier):
101130        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
101131        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
101132        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
101133        * inspector/front-end/RawSourceCode.js:
101134        (WebInspector.RawSourceCode.prototype.createLiveLocation):
101135        (WebInspector.RawSourceCode.LiveLocation):
101136        (WebInspector.RawSourceCode.LiveLocation.prototype.init):
101137        (WebInspector.RawSourceCode.LiveLocation.prototype.dispose):
101138        (WebInspector.RawSourceCode.LiveLocation.prototype._update):
101139
1011402012-03-01  Kenneth Rohde Christiansen  <kenneth@webkit.org>
101141
101142        Make the tiling code slightly smarter
101143        https://bugs.webkit.org/show_bug.cgi?id=80015
101144
101145        Reviewed by Simon Hausmann.
101146
101147        Avoid doing the same tranformations all over in each call to
101148        tileRectForCoordinate.
101149
101150        Do not resize tiles and then drop them because they are not out of
101151        the keep rect; instead drop before resizing.
101152
101153        Rename dropTilesOutsideRect to setKeepRect as it now stored the keep
101154        rect. This is used to avoid unneeded iteration of all tiles for
101155        invalidates outside the keep rect.
101156
101157        * platform/graphics/TiledBackingStore.cpp:
101158        (WebCore::TiledBackingStore::invalidate):
101159        (WebCore):
101160        (WebCore::TiledBackingStore::commitScaleChange):
101161        (WebCore::TiledBackingStore::coverageRatio):
101162        (WebCore::TiledBackingStore::createTiles):
101163        (WebCore::TiledBackingStore::adjustForContentsRect):
101164        (WebCore::TiledBackingStore::resizeEdgeTiles):
101165        (WebCore::TiledBackingStore::setKeepRect):
101166        (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
101167        (WebCore::TiledBackingStore::tileRectForCoordinate):
101168        (WebCore::TiledBackingStore::setSupportsAlpha):
101169        * platform/graphics/TiledBackingStore.h:
101170        (TiledBackingStore):
101171
1011722012-02-29  Kinuko Yasuda  <kinuko@chromium.org>
101173
101174        Use the new createSnapshotFileAndReadMetadata API for FileEntry.file()
101175        https://bugs.webkit.org/show_bug.cgi?id=79928
101176
101177        Reviewed by David Levin.
101178
101179        No new tests: no functionality changes.
101180        fast/filesystem/ tests should use the new code (they should pass once
101181        the corresponding chromium change is rolled in).
101182
101183        * fileapi/DOMFileSystem.cpp:
101184        (WebCore::DOMFileSystem::createFile): Updated to use the new API.
101185        * fileapi/DOMFileSystemSync.cpp:
101186        (WebCore::DOMFileSystemSync::createFile): Updated to use the new API.
101187        * fileapi/FileSystemCallbacks.cpp:
101188        * fileapi/FileSystemCallbacks.h:
101189        (FileSystemCallbacksBase):
101190        * platform/AsyncFileSystem.h:
101191        (AsyncFileSystem):
101192        * platform/AsyncFileSystemCallbacks.h: Added default implementation (which just calls ASSERT_NOTREACHED()) so that subclasses can focus only on the callback methods that they're interested in.
101193
1011942012-02-29  Pavel Podivilov  <podivilov@chromium.org>
101195
101196        Web Inspector: add UISourceCode.isEditable property.
101197        https://bugs.webkit.org/show_bug.cgi?id=79909
101198
101199        Reviewed by Vsevolod Vlasov.
101200
101201        * inspector/front-end/DebuggerPresentationModel.js:
101202        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
101203        * inspector/front-end/RawSourceCode.js:
101204        (WebInspector.RawSourceCode.prototype._createUISourceCode):
101205        * inspector/front-end/UISourceCode.js:
101206        (WebInspector.UISourceCode):
101207
1012082012-02-29  Shinya Kawanaka  <shinyak@chromium.org> 
101209
101210        Fallback elements in non-youngest shadow tree should not be rendered.
101211        https://bugs.webkit.org/show_bug.cgi?id=80002
101212
101213        Reviewed by Hajime Morita.
101214
101215        Fallback elements in non-youngest shadow tree should not be rendered, so its phase should be
101216        AttachingNotDistributed instead of AttachingFallbacked.
101217
101218        Tests: multiple-shadowroot-rendering.html covers this patch.
101219
101220        * dom/NodeRenderingContext.cpp:
101221        (WebCore::NodeRenderingContext::NodeRenderingContext):
101222
1012232012-02-29  Adam Barth  <abarth@webkit.org>
101224
101225        ScriptExecutionContext has too many ifdef ENABLE(SQL_DATABASE)
101226        https://bugs.webkit.org/show_bug.cgi?id=79633
101227
101228        Reviewed by Eric Seidel.
101229
101230        This class creates a DatabaseContext object to supplement the
101231        ScriptExecutionContext with database-specific information.  This new
101232        object lets us remove a bunch of database-specific (and ifdefed) logic
101233        from ScriptExecutionContext.(cpp|h).
101234
101235        * CMakeLists.txt:
101236        * GNUmakefile.list.am:
101237        * Target.pri:
101238        * WebCore.exp.in:
101239        * WebCore.gypi:
101240        * WebCore.vcproj/WebCore.vcproj:
101241        * WebCore.xcodeproj/project.pbxproj:
101242        * dom/ScriptExecutionContext.cpp:
101243        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
101244        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
101245        (WebCore):
101246        * dom/ScriptExecutionContext.h:
101247        (WebCore):
101248        (ScriptExecutionContext):
101249        * history/PageCache.cpp:
101250        (WebCore::logCanCacheFrameDecision):
101251        (WebCore::PageCache::canCachePageContainingThisFrame):
101252        * loader/FrameLoader.cpp:
101253        (WebCore::FrameLoader::stopLoading):
101254        * platform/Supplementable.h:
101255        (WebCore::Supplementable::provideSupplement):
101256        (WebCore::Supplementable::requireSupplement):
101257        (Supplementable):
101258        * storage/AbstractDatabase.cpp:
101259        (WebCore::AbstractDatabase::AbstractDatabase):
101260        * storage/AbstractDatabase.h:
101261        (WebCore):
101262        (WebCore::AbstractDatabase::databaseContext):
101263        (AbstractDatabase):
101264        * storage/Database.cpp:
101265        (WebCore::Database::openDatabase):
101266        (WebCore::Database::Database):
101267        (WebCore::Database::openAndVerifyVersion):
101268        (WebCore::Database::markAsDeletedAndClose):
101269        (WebCore::Database::close):
101270        (WebCore::Database::closeImmediately):
101271        (WebCore::Database::performOpenAndVerify):
101272        (WebCore::Database::scheduleTransaction):
101273        (WebCore::Database::scheduleTransactionStep):
101274        (WebCore::Database::transactionClient):
101275        (WebCore::Database::transactionCoordinator):
101276        (WebCore::Database::tableNames):
101277        (WebCore::Database::securityOrigin):
101278        * storage/DatabaseContext.cpp: Added.
101279        (WebCore):
101280        (WebCore::existingDatabaseContextFrom):
101281        (WebCore::DatabaseContext::DatabaseContext):
101282        (WebCore::DatabaseContext::~DatabaseContext):
101283        (WebCore::DatabaseContext::from):
101284        (WebCore::DatabaseContext::databaseThread):
101285        (WebCore::DatabaseContext::hasOpenDatabases):
101286        (WebCore::DatabaseContext::stopDatabases):
101287        * storage/DatabaseContext.h: Added.
101288        (WebCore):
101289        (DatabaseContext):
101290        (WebCore::DatabaseContext::setHasOpenDatabases):
101291        * storage/SQLTransaction.cpp:
101292        (WebCore::SQLTransaction::checkAndHandleClosedOrInterruptedDatabase):
101293        (WebCore::SQLTransaction::notifyDatabaseThreadIsShuttingDown):
101294        * workers/WorkerThread.cpp:
101295        (WebCore::WorkerThreadShutdownStartTask::performTask):
101296
1012972012-02-29  Shinya Kawanaka  <shinyak@chromium.org>
101298
101299        Refactoring: HTMLContentSelector should be InsertionPoint-aware.
101300        https://bugs.webkit.org/show_bug.cgi?id=79901
101301
101302        Reviewed by Hajime Morita.
101303
101304        ContentSelectorQuery took HTMLContentElement as argument, but patch changes it to take InsertionPoint instead.
101305        If InsertionPoint is not HTMLContentElement, ContentSelectorQuery will selects the rest of light children.
101306
101307        Now InsertionPoint has pure virtual method 'select'. <shadow> will implement this as a method returning empty string.
101308
101309        * dom/ShadowRoot.cpp:
101310        (WebCore::ShadowRoot::hasInsertionPoint):
101311        * dom/ShadowRoot.h:
101312        (ShadowRoot):
101313        * dom/ShadowTree.cpp:
101314        (WebCore::ShadowTree::needsReattachHostChildrenAndShadow):
101315        (WebCore::ShadowTree::hostChildrenChanged):
101316        * html/shadow/ContentSelectorQuery.cpp:
101317        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
101318        (WebCore::ContentSelectorQuery::matches):
101319        * html/shadow/ContentSelectorQuery.h:
101320        (WebCore):
101321        (ContentSelectorQuery):
101322        * html/shadow/HTMLContentElement.cpp:
101323        (WebCore::HTMLContentElement::detach):
101324        * html/shadow/HTMLContentElement.h:
101325        (WebCore::toHTMLContentElement):
101326        (WebCore):
101327        * html/shadow/HTMLContentSelector.cpp:
101328        (WebCore::HTMLContentSelector::select):
101329        * html/shadow/HTMLContentSelector.h:
101330        (HTMLContentSelector):
101331        * html/shadow/InsertionPoint.h:
101332        (InsertionPoint):
101333
1013342012-02-29  Luke Macpherson   <macpherson@chromium.org>
101335
101336        Handle CSSPropertySpeak in CSSStyleApplyProperty.
101337        https://bugs.webkit.org/show_bug.cgi?id=79879
101338
101339        Reviewed by Eric Seidel.
101340
101341        No new tests / refactoring only.
101342
101343        * css/CSSStyleApplyProperty.cpp:
101344        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
101345        * css/CSSStyleSelector.cpp:
101346        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
101347        * rendering/style/RenderStyle.h:
101348
1013492012-02-29  Luke Macpherson   <macpherson@chromium.org>
101350
101351        Handle CSSPropertyWebkitColumnAxis in CSSStyleApplyProperty.
101352        https://bugs.webkit.org/show_bug.cgi?id=79869
101353
101354        Reviewed by Eric Seidel.
101355
101356        No new tests / refactoring only.
101357
101358        * css/CSSStyleApplyProperty.cpp:
101359        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
101360        * css/CSSStyleSelector.cpp:
101361        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
101362
1013632012-02-29  Erik Arvidsson  <arv@chromium.org>
101364
101365        Rename DOMSelection to Selection
101366        https://bugs.webkit.org/show_bug.cgi?id=79688
101367
101368        Reviewed by Adam Barth.
101369
101370        No new tests. Existing tests have been updated to cover this.
101371
101372        * page/DOMSelection.idl:
101373        * page/DOMWindow.idl:
101374
1013752012-02-29  Joshua Bell  <jsbell@chromium.org>
101376
101377        IndexedDB: IDBDatabase.objectStoreNames and IDObjectStore.indexNames results should be sorted
101378        https://bugs.webkit.org/show_bug.cgi?id=79950
101379
101380        Reviewed by Tony Chang.
101381
101382        Test: storage/indexeddb/list-ordering.html
101383
101384        * dom/DOMStringList.cpp: Added sort method, not exposed via IDL.
101385        (WebCore::DOMStringList::sort):
101386        (WebCore):
101387        * dom/DOMStringList.h:
101388        (DOMStringList):
101389        * storage/IDBDatabaseBackendImpl.cpp:
101390        (WebCore::IDBDatabaseBackendImpl::objectStoreNames):
101391        * storage/IDBObjectStoreBackendImpl.cpp:
101392        (WebCore::IDBObjectStoreBackendImpl::indexNames):
101393
1013942012-02-29  W. James MacLean  <wjmaclean@chromium.org>
101395
101396        [chromium] Estimate pixel count for frame rate control
101397        https://bugs.webkit.org/show_bug.cgi?id=74982
101398
101399        Reviewed by James Robinson.
101400
101401        Value checks added to unit tests.
101402
101403        Adds mechanism to compute and collect statistics on pixel overdraw for selected frames.
101404
101405        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
101406        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
101407        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
101408        (WebCore::wedgeProduct):
101409        (WebCore):
101410        (WebCore::quadArea):
101411        (WebCore::CCQuadCuller::cullOccludedQuads):
101412        * platform/graphics/chromium/cc/CCQuadCuller.h:
101413        (CCQuadCuller):
101414        * platform/graphics/chromium/cc/CCRenderPass.cpp:
101415        (WebCore::CCRenderPass::optimizeQuads):
101416        * platform/graphics/chromium/cc/CCRenderPass.h:
101417        (CCOverdrawCounts):
101418        (WebCore):
101419        (CCRenderPass):
101420
1014212012-02-29  Jason Liu  <jason.liu@torchmobile.com.cn>
101422
101423        [BlackBerry]Make about:cache feature available in release version.
101424        https://bugs.webkit.org/show_bug.cgi?id=79866
101425
101426        Reviewed by Antonio Gomes.
101427
101428        No tests.
101429        * platform/network/blackberry/NetworkJob.cpp:
101430        (WebCore::NetworkJob::handleAbout):
101431
1014322012-02-29  James Simonsen  <simonjam@chromium.org>
101433
101434        [chromium] Fix navigation start time on cross-renderer navigation
101435        https://bugs.webkit.org/show_bug.cgi?id=75922
101436
101437        Reviewed by Darin Fisher.
101438
101439        * loader/DocumentLoadTiming.cpp:
101440        (WebCore::DocumentLoadTiming::setNavigationStart): Added.
101441        * loader/DocumentLoadTiming.h:
101442
1014432012-02-29  Stephen Chenney  <schenney@chromium.org>
101444
101445        SVG <use> element allows invalid contents
101446        https://bugs.webkit.org/show_bug.cgi?id=77764
101447
101448        Reviewed by Nikolas Zimmermann.
101449
101450        Modify the isDisallowedElement method to disallow all of the
101451        disallowed elements, instead of just a few. It is now a whitelist
101452        implementation.
101453
101454        This also fixes bugs 78807, 78838 and 79798 related to memory
101455        corruption issues.
101456
101457        Tests: svg/custom/bug78807.svg
101458               svg/custom/bug78838.html
101459               svg/custom/bug79798.html
101460
101461        * svg/SVGUseElement.cpp:
101462        (WebCore::isDisallowedElement):
101463
1014642012-02-29  Ami Fischman  <fischman@chromium.org>
101465
101466        Continue the search for playable mime types among <source> children of <video> even when using data: URLs
101467        https://bugs.webkit.org/show_bug.cgi?id=79934
101468
101469        Reviewed by Eric Carlson.
101470
101471        Test: media/sources-fallback-codecs.html
101472
101473        * html/HTMLMediaElement.cpp:
101474        (WebCore::HTMLMediaElement::selectNextSourceChild):
101475
1014762012-02-29  Ian Vollick  <vollick@chromium.org>
101477
101478        [chromium] Add impl-thread support for animation-timing-function
101479        https://bugs.webkit.org/show_bug.cgi?id=79819
101480
101481        Reviewed by James Robinson.
101482
101483        * WebCore.gypi:
101484        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp:
101485        (WebCore::CCKeyframe::CCKeyframe):
101486        (WebCore):
101487        (WebCore::CCKeyframe::~CCKeyframe):
101488        (WebCore::CCKeyframe::time):
101489        (WebCore::CCKeyframe::timingFunction):
101490        (WebCore::CCFloatKeyframe::create):
101491        (WebCore::CCFloatKeyframe::CCFloatKeyframe):
101492        (WebCore::CCFloatKeyframe::~CCFloatKeyframe):
101493        (WebCore::CCFloatKeyframe::value):
101494        (WebCore::CCFloatKeyframe::clone):
101495        (WebCore::CCTransformKeyframe::create):
101496        (WebCore::CCTransformKeyframe::CCTransformKeyframe):
101497        (WebCore::CCTransformKeyframe::~CCTransformKeyframe):
101498        (WebCore::CCTransformKeyframe::value):
101499        (WebCore::CCTransformKeyframe::clone):
101500        (WebCore::CCKeyframedFloatAnimationCurve::create):
101501        (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
101502        (WebCore::CCKeyframedFloatAnimationCurve::addKeyframe):
101503        (WebCore::CCKeyframedFloatAnimationCurve::duration):
101504        (WebCore::CCKeyframedFloatAnimationCurve::clone):
101505        (WebCore::CCKeyframedFloatAnimationCurve::getValue):
101506        (WebCore::CCKeyframedTransformAnimationCurve::create):
101507        (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
101508        (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
101509        (WebCore::CCKeyframedTransformAnimationCurve::addKeyframe):
101510        (WebCore::CCKeyframedTransformAnimationCurve::duration):
101511        (WebCore::CCKeyframedTransformAnimationCurve::clone):
101512        (WebCore::CCKeyframedTransformAnimationCurve::getValue):
101513        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h:
101514        (CCKeyframe):
101515        (CCFloatKeyframe):
101516        (WebCore):
101517        (CCTransformKeyframe):
101518        (CCKeyframedFloatAnimationCurve):
101519        (CCKeyframedTransformAnimationCurve):
101520        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
101521        * platform/graphics/chromium/cc/CCTimingFunction.cpp: Added.
101522        (WebCore):
101523        (WebCore::CCTimingFunction::CCTimingFunction):
101524        (WebCore::CCTimingFunction::~CCTimingFunction):
101525        (WebCore::CCTimingFunction::duration):
101526        (WebCore::CCCubicBezierTimingFunction::create):
101527        (WebCore::CCCubicBezierTimingFunction::CCCubicBezierTimingFunction):
101528        (WebCore::CCCubicBezierTimingFunction::~CCCubicBezierTimingFunction):
101529        (WebCore::CCCubicBezierTimingFunction::getValue):
101530        (WebCore::CCCubicBezierTimingFunction::clone):
101531        (WebCore::CCEaseTimingFunction::create):
101532        (WebCore::CCEaseInTimingFunction::create):
101533        (WebCore::CCEaseOutTimingFunction::create):
101534        (WebCore::CCEaseInOutTimingFunction::create):
101535        * platform/graphics/chromium/cc/CCTimingFunction.h: Added.
101536        (WebCore):
101537        (CCTimingFunction):
101538        (CCCubicBezierTimingFunction):
101539        (CCEaseTimingFunction):
101540        (CCEaseInTimingFunction):
101541        (CCEaseOutTimingFunction):
101542        (CCEaseInOutTimingFunction):
101543
1015442012-02-29  Shinya Kawanaka  <shinyak@chromium.org>
101545
101546        Methods in ShadowTree and TreeScopeAdopter should be multiple shadow roots aware.
101547        https://bugs.webkit.org/show_bug.cgi?id=79768
101548
101549        Reviewed by Hajime Morita.
101550
101551        Some methods in ShadowTree and TreeScopeAdopter were not multiple shadow roots aware.
101552        They should consider multiple shadow roots.
101553
101554        Test: fast/dom/shadow/multiple-shadowroot-adopt.html
101555
101556        * dom/ShadowTree.cpp:
101557        (WebCore::ShadowTree::setParentTreeScope):
101558        (WebCore):
101559        (WebCore::ShadowTree::childNeedsStyleRecalc):
101560        (WebCore::ShadowTree::needsStyleRecalc):
101561        * dom/ShadowTree.h:
101562        (WebCore):
101563        (ShadowTree):
101564        * dom/TreeScopeAdopter.cpp:
101565        (WebCore::shadowTreeFor):
101566        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
101567        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
101568        (WebCore::TreeScopeAdopter::moveShadowTreeToNewDocument):
101569        (WebCore):
101570        * dom/TreeScopeAdopter.h:
101571        (TreeScopeAdopter):
101572
1015732012-02-29  David Levin  <levin@chromium.org>
101574
101575        [chromium] Add the ability to turn off autoresize.
101576        https://bugs.webkit.org/show_bug.cgi?id=77452
101577
101578        Reviewed by Darin Fisher.
101579
101580        Test: fast/autoresize/turn-off-autoresize.html
101581
101582        * page/FrameView.cpp:
101583        (WebCore::FrameView::enableAutoSizeMode): Fix the code
101584        path for turning off autoresize to set the scrollbars to auto.
101585
1015862012-02-29  David Barton  <dbarton@mathscribe.com>
101587
101588        <msubsup> setNeedsLayout() correction
101589        https://bugs.webkit.org/show_bug.cgi?id=79856
101590
101591        Reviewed by Julien Chaffraix.
101592
101593        m_scripts->setNeedsLayout(true, false); needs to be added to the fix for bug 79274.
101594
101595        No new tests. It's actually difficult to test the need for this with the current code,
101596        because there are a lot of extra setNeedsLayout() calls right now. I caught this after
101597        removing some of those calls that should be redundant, for a future patch. Actually
101598        removing those calls now changes other behavior, due to other bugs, so I'll save all
101599        that for future patches. We should land this fix now though I think, as it could
101600        possibly matter in some cases.
101601
101602        * rendering/mathml/RenderMathMLSubSup.cpp:
101603        (WebCore::RenderMathMLSubSup::layout):
101604
1016052012-02-29  Andreas Kling  <awesomekling@apple.com>
101606
101607        IsSynchronizingStyleAttributeFlag could be purged.
101608        <http://webkit.org/b/79313>
101609
101610        Reviewed by Anders Carlsson.
101611
101612        We were using IsSynchronizingStyleAttributeFlag to prevent various things from
101613        happening below setAttribute() when serializing the "style" attribute based on
101614        an element's inline style.
101615
101616        Simplify the whole thing by adding a way to set an attribute without triggering
101617        any callbacks (a 'notifyChanged' argument to Element::setAttribute().)
101618        This removes the need for IsSynchronizingStyleAttributeFlag in the first place
101619        and makes StyledElement::updateStyleAttribute() a bit cheaper to boot.
101620
101621        * dom/Element.cpp:
101622        (WebCore::Element::setAttribute):
101623        (WebCore::Element::setAttributeInternal):
101624        (WebCore::Element::willModifyAttribute):
101625        (WebCore::Element::didModifyAttribute):
101626        (WebCore::Element::didRemoveAttribute):
101627        * dom/Element.h:
101628        * dom/Node.h:
101629        * dom/StyledElement.cpp:
101630        (WebCore::StyledElement::updateStyleAttribute):
101631        (WebCore::StyledElement::attributeChanged):
101632        * html/HTMLElement.cpp:
101633        (WebCore::StyledElement::copyNonAttributeProperties):
101634
1016352012-02-29  Daniel Cheng  <dcheng@chromium.org>
101636
101637        [chromium] REGRESSION: Cannot drag a file out
101638        https://bugs.webkit.org/show_bug.cgi?id=79817
101639
101640        Reviewed by Ryosuke Niwa.
101641
101642        Temporary fix for file drag out. This change won't be needed once DataTransferItemList
101643        support is better implemented.
101644
101645        Test: platform/chromium/fast/events/drag-downloadURL.html
101646
101647        * platform/chromium/ChromiumDataObject.cpp:
101648        (WebCore::ChromiumDataObject::types):
101649
1016502012-02-29  Luke Macpherson   <macpherson@chromium.org>
101651
101652        Clean up CSSPrimitiveValue::computeLengthDouble().
101653        https://bugs.webkit.org/show_bug.cgi?id=77065
101654
101655        Reviewed by Eric Seidel.
101656
101657        Refactoring only / no behavioral change.
101658
101659        * css/CSSPrimitiveValue.cpp:
101660        (WebCore::CSSPrimitiveValue::computeLengthDouble):
101661
1016622012-02-29  Beth Dakin  <bdakin@apple.com>
101663
101664        Speculative build-fix.
101665
101666        * rendering/RenderImage.cpp:
101667        (WebCore::RenderImage::paintReplaced):
101668
1016692012-02-29  Beth Dakin  <bdakin@apple.com>
101670
101671        https://bugs.webkit.org/show_bug.cgi?id=79705
101672        didNewFirstVisuallyNonEmptyLayout should be enhanced to look at size instead 
101673        of a raw tally
101674        -and corresponding-
101675        <rdar://problem/10821314>
101676
101677        Reviewed by Dave Hyatt.
101678
101679        Instead of firing didNewFirstVisuallyNonEmptyLayout() when a raw tally of 
101680        relevant painted objects has reached a port-defined threshold, this patch 
101681        looks at the size of those objects with respect to the view area. The patch 
101682        also looks at relevant objects that cannot yet be fully painted, such as 
101683        incrementally loading images. 
101684
101685        We no longer need a HashSet for the relevant painted objects since Region can 
101686        do all of the heavy lifting. We now have a Region for the painted and 
101687        unpainted regions. We do need a HashSet for the unpainted objects though, 
101688        because we need to know if a painted object needs to be subtracted from the 
101689        unpainted region before being added to the painted region.
101690        * page/Page.cpp:
101691        (WebCore):
101692        (WebCore::Page::isCountingRelevantRepaintedObjects):
101693        (WebCore::Page::startCountingRelevantRepaintedObjects):
101694        (WebCore::Page::resetRelevantPaintedObjectCounter):
101695        (WebCore::Page::addRelevantRepaintedObject):
101696        (WebCore::Page::addRelevantUnpaintedObject):
101697        * page/Page.h:
101698        (Page):
101699
101700        New function on Region iterates through the rects and calculates the total 
101701        area.
101702        * platform/graphics/Region.cpp:
101703        (WebCore::Region::totalArea):
101704        (WebCore):
101705        * platform/graphics/Region.h:
101706        (Region):
101707
101708        Remove code from these classes since they are not actually relevant objects.
101709        * rendering/InlineBox.cpp:
101710        (WebCore::InlineBox::paint):
101711        * rendering/RenderRegion.cpp:
101712        (WebCore::RenderRegion::paintReplaced):
101713        * rendering/RenderReplaced.cpp:
101714        (WebCore::RenderReplaced::paint):
101715
101716        All of these other callers send a rect that actually represents their size 
101717        (usually the visualOverflowRect) instead of the paintInfo's paintRect, and 
101718        they call addRelevantUnpaintedObject when appropriate.
101719        * rendering/InlineTextBox.cpp:
101720        (WebCore::InlineTextBox::paint):
101721        * rendering/RenderEmbeddedObject.cpp:
101722        (WebCore::RenderEmbeddedObject::paint):
101723        (WebCore::RenderEmbeddedObject::paintReplaced):
101724        * rendering/RenderHTMLCanvas.cpp:
101725        (WebCore::RenderHTMLCanvas::paintReplaced):
101726        * rendering/RenderImage.cpp:
101727        (WebCore::RenderImage::paintReplaced):
101728        * rendering/RenderVideo.cpp:
101729        (WebCore::RenderVideo::paintReplaced):
101730        * rendering/svg/RenderSVGRoot.cpp:
101731        (WebCore::RenderSVGRoot::paintReplaced):
101732
1017332012-02-29  Joshua Bell  <jsbell@chromium.org>
101734
101735        IndexedDB: Resource leak with IDBObjectStore.openCursor
101736        https://bugs.webkit.org/show_bug.cgi?id=79835
101737
101738        IDBCursor object that were never continue()'d to the end would leak due to a 
101739        reference cycle with IDBRequest. In addition, the IDBRequest would never be
101740        marked "finished" which would prevent GC from reclaiming it. IDBTransactions
101741        now track and notify IDBCursors to break these references when the transaction
101742        can no longer not process requests.
101743
101744        Reviewed by Tony Chang.
101745
101746        Tests: storage/indexeddb/cursor-continue.html
101747
101748        * storage/IDBCursor.cpp:
101749        (WebCore::IDBCursor::IDBCursor): Register with IDBTransaction bookkeeping.
101750        (WebCore::IDBCursor::continueFunction): Early error if transaction has finished.
101751        (WebCore::IDBCursor::close): Break the reference cycle with IDBRequest, and notify it
101752        that the cursor is finished.
101753        (WebCore):
101754        * storage/IDBCursor.h:
101755        (WebCore):
101756        (IDBCursor):
101757        * storage/IDBRequest.cpp:
101758        (WebCore::IDBRequest::IDBRequest):
101759        (WebCore::IDBRequest::finishCursor): If there is no request in flight, mark itself as
101760        finished to allow GC.
101761        (WebCore):
101762        (WebCore::IDBRequest::dispatchEvent): Once an in-flight request has been processed,
101763        mark the request as finished if the cursor is finished, to allow GC.
101764        * storage/IDBRequest.h:
101765        (IDBRequest):
101766        * storage/IDBTransaction.cpp: Track open cursors, close them when finished.
101767        (WebCore::IDBTransaction::OpenCursorNotifier::OpenCursorNotifier):
101768        (WebCore):
101769        (WebCore::IDBTransaction::OpenCursorNotifier::~OpenCursorNotifier):
101770        (WebCore::IDBTransaction::registerOpenCursor):
101771        (WebCore::IDBTransaction::unregisterOpenCursor):
101772        (WebCore::IDBTransaction::closeOpenCursors):
101773        (WebCore::IDBTransaction::onAbort):
101774        (WebCore::IDBTransaction::onComplete):
101775        * storage/IDBTransaction.h:
101776        (WebCore):
101777        (OpenCursorNotifier):
101778        (IDBTransaction):
101779
1017802012-02-29  David Hyatt  <hyatt@apple.com>
101781
101782        https://bugs.webkit.org/show_bug.cgi?id=79940
101783        <rdar://problem/10080189>
101784        
101785        Add support in WebKit for an intra-line character grid for Japanese text layout.
101786        
101787        Patch logicalLeftOffsetForLine and logicalRightOffsetForLine in order to get the
101788        basic edge snapping grid functionality up and running. See all the FIXMEs in the function for
101789        some of the issues that still have to be dealt with for it to really work well.
101790
101791        Reviewed by Dan Bernstein.
101792
101793        Added new tests in fast/line-grid.
101794
101795        * rendering/RenderBlock.cpp:
101796        (WebCore::RenderBlock::logicalLeftOffsetForLine):
101797        (WebCore::RenderBlock::logicalRightOffsetForLine):
101798
1017992012-02-29  Anders Carlsson  <andersca@apple.com>
101800
101801        [Chromium] Some Layout Tests in platform/chromium/rubberbanding and platform/chromium/compositing/rubberbanding are failing
101802        https://bugs.webkit.org/show_bug.cgi?id=79878
101803
101804        Reviewed by James Robinson.
101805
101806        Make sure that ScrollableArea::setScrollOffsetFromAnimation doesn't end up
101807        setting the ScrollAnimator's current scroll position by making a new function, scrollPositionChanged,
101808        that both notifyScrollPositionChanged and setScrollOffsetFromAnimation call and move the call to update
101809        the position to notifyScrollPositionChanged.
101810
101811        * platform/ScrollableArea.cpp:
101812        (WebCore::ScrollableArea::notifyScrollPositionChanged):
101813        (WebCore):
101814        (WebCore::ScrollableArea::scrollPositionChanged):
101815        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
101816        * platform/ScrollableArea.h:
101817        (ScrollableArea):
101818
1018192012-02-29  Dana Jansens  <danakj@chromium.org>
101820
101821        [chromium] Don't let invalidation for next frame prevent tile upload
101822        https://bugs.webkit.org/show_bug.cgi?id=79841
101823
101824        Reviewed by James Robinson.
101825
101826        We currently don't push dirty tiles to the impl thread so there are no
101827        tiles with garbage data on the impl thread. However, this judgement is
101828        overzealous and blocks tiles that get invalidated by WebKit for the
101829        next frame during the paint of the current frame.
101830
101831        Instead, check if a tile is dirty and was not painted for the current
101832        frame when deciding to push the tile to the impl thread. This requires
101833        that we know if a tile was painted during the current frame, which we
101834        can do if we always reset m_updateRect to be empty each frame.
101835
101836        New unit tests: TiledLayerChromiumTest.pushTilesMarkedDirtyDuringPaint
101837                        TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnNextLayer
101838                        TiledLayerChromiumTest.pushTilesLayerMarkedDirtyDuringPaintOnPreviousLayer
101839
101840        * platform/graphics/chromium/TiledLayerChromium.cpp:
101841        (WebCore::UpdatableTile::isDirtyForCurrentFrame):
101842        (WebCore::TiledLayerChromium::pushPropertiesTo):
101843        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
101844        (WebCore::TiledLayerChromium::resetUpdateState):
101845        (WebCore):
101846        (WebCore::TiledLayerChromium::prepareToUpdate):
101847        * platform/graphics/chromium/TiledLayerChromium.h:
101848        (TiledLayerChromium):
101849
1018502012-02-29  Tommy Widenflycht  <tommyw@google.com>
101851
101852        MediaStream API: MediaStreamTrackList out-of-bounds access fix
101853        https://bugs.webkit.org/show_bug.cgi?id=79889
101854
101855        Reviewed by Adam Barth.
101856
101857        Out-of-bounds access to MediaStreamTrackList ASSERTS instead of returning 0,
101858        this is not according to ecmascript standard. Also fixed a similar issue in MediaStreamList.
101859
101860        Test: fast/mediastream/peerconnection-mediastreamlist.html
101861
101862        * Modules/mediastream/MediaStreamList.cpp:
101863        (WebCore::MediaStreamList::item):
101864        * Modules/mediastream/MediaStreamTrackList.cpp:
101865        (WebCore::MediaStreamTrackList::item):
101866
1018672012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>
101868
101869        [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatSize.h
101870        https://bugs.webkit.org/show_bug.cgi?id=79893
101871
101872        Reviewed by Antonio Gomes.
101873
101874        Add conversion convenience between WebCore::FloatSize and BlackBerry::Platform::FloatSize.
101875
101876        The porting can't be built yet, no new tests.
101877
101878        * platform/graphics/FloatSize.h:
101879        (Platform):
101880        (FloatSize):
101881
1018822012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>
101883
101884        [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatRect.h
101885        https://bugs.webkit.org/show_bug.cgi?id=79891
101886
101887        Reviewed by Antonio Gomes.
101888
101889        Add conversion convenience between WebCore::FloatRect and BlackBerry::Platform::FloatRect.
101890
101891        The porting can't be built yet, no new tests.
101892
101893        * platform/graphics/FloatRect.h:
101894        (Platform):
101895        (FloatRect):
101896
1018972012-02-29  Tim Horton  <timothy_horton@apple.com>
101898
101899        Make use of CG rounded-rect primitives
101900        https://bugs.webkit.org/show_bug.cgi?id=79932
101901        <rdar://problem/9274953>
101902
101903        Reviewed by Simon Fraser.
101904
101905        Dispatch to potentially platform-specific rounded rectangle path
101906        construction from addPathForRoundedRect. Make use of this to call
101907        wkCGPathAddRoundedRect on Lion and above, as long as the rounded
101908        corners are all equivalent.
101909
101910        No new tests, as this is covered by many that use rounded corners,
101911        and is only a performance improvement.
101912
101913        * WebCore.exp.in:
101914        * platform/graphics/Path.cpp:
101915        (WebCore::Path::addRoundedRect):
101916        (WebCore):
101917        (WebCore::Path::addPathForRoundedRect):
101918        * platform/graphics/Path.h:
101919        (Path):
101920        * platform/graphics/cg/PathCG.cpp:
101921        (WebCore::Path::addPathForRoundedRect):
101922        (WebCore):
101923        * platform/mac/WebCoreSystemInterface.h:
101924        * platform/mac/WebCoreSystemInterface.mm:
101925
1019262012-02-29  Leo Yang  <leo.yang@torchmobile.com.cn>
101927
101928        [BlackBerry] Upstream the BlackBerry change to platform/graphics/FloatPoint.h
101929        https://bugs.webkit.org/show_bug.cgi?id=79887
101930
101931        Reviewed by Antonio Gomes.
101932
101933        Add conversion convenience between WebCore::FloatPoint and BlackBerry::Platform::FloatPoint.
101934
101935        The porting can't be built yet, no new tests.
101936
101937        * platform/graphics/FloatPoint.h:
101938        (Platform):
101939        (FloatPoint):
101940
1019412012-02-29  Kaustubh Atrawalkar  <kaustubh@motorola.com>
101942
101943        ShadowRoot need innerHTML
101944        https://bugs.webkit.org/show_bug.cgi?id=78473
101945
101946        Reviewed by Hajime Morita.
101947
101948        Refactor code for sharing common code between HTMLElement & ShadowRoot.
101949        Implement innerHTML attribute for ShadowRoot.
101950
101951        Test: fast/dom/shadow/shadow-root-innerHTML.html
101952
101953        * dom/ShadowRoot.cpp:
101954        (WebCore::ShadowRoot::cloneNode):
101955        (WebCore):
101956        (WebCore::ShadowRoot::innerHTML):
101957        (WebCore::ShadowRoot::setInnerHTML):
101958        * dom/ShadowRoot.h:
101959        (ShadowRoot):
101960        * dom/ShadowRoot.idl:
101961        * editing/markup.cpp:
101962        (WebCore::urlToMarkup):
101963        (WebCore):
101964        (WebCore::createFragmentFromSource):
101965        (WebCore::hasOneChild):
101966        (WebCore::hasOneTextChild):
101967        (WebCore::replaceChildrenWithFragment):
101968        (WebCore::replaceChildrenWithText):
101969        * editing/markup.h:
101970        * html/HTMLElement.cpp:
101971        (WebCore):
101972
1019732012-02-29  Julien Chaffraix  <jchaffraix@webkit.org>
101974
101975        Stop doubling maximalOutlineSize during painting
101976        https://bugs.webkit.org/show_bug.cgi?id=79724
101977
101978        Reviewed by Tony Chang.
101979
101980        Refactoring only, covered by existing tests (mostly repaint ones).
101981
101982        * rendering/RenderReplaced.cpp:
101983        (WebCore::RenderReplaced::shouldPaint):
101984        * rendering/RenderTableCell.cpp:
101985        (WebCore::RenderTableCell::paintCollapsedBorders):
101986        Introduce a local repaint rectangle that we inflate by the maximalOutlineSize
101987        to simplify the comparison logic. Also tried to make it clearer what's going on
101988        by tweaking the existing code.
101989
101990        * rendering/RenderTableSection.cpp:
101991        (WebCore::RenderTableSection::paintObject):
101992        Remove the doubling.
101993
1019942012-02-29  Ken Buchanan  <kenrb@chromium.org>
101995
101996        Crash when changing list marker locations
101997        https://bugs.webkit.org/show_bug.cgi?id=79681
101998
101999        Reviewed by David Hyatt.
102000
102001        This fixes a regression crash from r108548.
102002
102003        There are some conditions where removing the anonymous block
102004        parent at that point can cause problems. One is when there is
102005        a continuation from it, and another when it is a sibling of
102006        lineBoxParent and it causes lineBoxParent to be deleted
102007        incidentally. This patch delays the destruction until after
102008        lineBoxParent has been used and makes an exception for
102009        continuations.
102010
102011        * rendering/RenderListItem.cpp:
102012        (WebCore::RenderListItem::updateMarkerLocation)
102013
1020142012-02-29  Max Feil  <mfeil@rim.com>
102015
102016        [BlackBerry] Add support for FLAC audio and OGG/Vorbis audio
102017        https://bugs.webkit.org/show_bug.cgi?id=79519
102018
102019        Reviewed by Antonio Gomes.
102020
102021        A layout test already exists for OGG. We do not support OGG
102022        video at this time, only audio.
102023
102024        Test: media/media-can-play-flac-audio.html
102025
102026        * platform/blackberry/MIMETypeRegistryBlackBerry.cpp:
102027        (WebCore):
102028
1020292012-02-28  Beth Dakin  <bdakin@apple.com>
102030
102031        https://bugs.webkit.org/show_bug.cgi?id=79868
102032        Overlay scrollbars should respond to AppKit's NSEventPhaseMayBegin
102033        -and corresponding-
102034        <rdar://problem/10688637>
102035
102036        Reviewed by Anders Carlsson.
102037
102038        Scrollbars are currently drawn on the main thread even when scrolling happens 
102039        on the scrolling thread, so we have to call back to the main thread for the 
102040        time being to make the right drawing calls for NSEventPhaseMayBegin.
102041        * page/scrolling/ScrollingCoordinator.cpp:
102042        (WebCore::ScrollingCoordinator::handleWheelEventPhase):
102043        (WebCore):
102044        * page/scrolling/ScrollingCoordinator.h:
102045        (ScrollingCoordinator):
102046        * page/scrolling/ScrollingTree.cpp:
102047        (WebCore::ScrollingTree::handleWheelEventPhase):
102048        (WebCore):
102049        * page/scrolling/ScrollingTree.h:
102050        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
102051        (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
102052        * platform/ScrollAnimator.h:
102053        (WebCore::ScrollAnimator::handleWheelEventPhase):
102054        (ScrollAnimator):
102055
102056        Call into AppKit on NSEventPhaseMayBegin.
102057        * platform/mac/ScrollAnimatorMac.h:
102058        (ScrollAnimatorMac):
102059        * platform/mac/ScrollAnimatorMac.mm:
102060        (WebCore::ScrollAnimatorMac::mayBeginScrollGesture):
102061        (WebCore):
102062        (WebCore::ScrollAnimatorMac::handleWheelEventPhase):
102063        (WebCore::ScrollAnimatorMac::handleWheelEvent):
102064
1020652012-02-28  Jer Noble  <jer.noble@apple.com>
102066
102067        Full screen video volume slider has "progress bar"
102068        https://bugs.webkit.org/show_bug.cgi?id=79812
102069
102070        Reviewed by Eric Carlson.
102071
102072        No new tests; strictly a platform-specific look-and-feel change.
102073
102074        The full-screen volume slider has a "media-slider"" appearance, which is rendering as if
102075        the volume slider has a "progress".  Make a concrete "media-fullscreen-volume-slider" appearance
102076        which has the correct look-and-feel.
102077
102078        Add two new appearance keywords, media-fullscreen-volume-slider and thumb, and their associated
102079        types and CSS keywords:
102080        * css/CSSValueKeywords.in:
102081        * css/CSSPrimitiveValueMappings.h:
102082        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
102083        * html/shadow/MediaControlElements.h:
102084        * platform/ThemeTypes.h:
102085
102086        Handle the new slider and thumb types when rendering:
102087        * rendering/RenderMediaControls.cpp:
102088        (WebCore::RenderMediaControls::adjustMediaSliderThumbSize):
102089        (WebCore::RenderMediaControls::paintMediaControlsPart):
102090        * rendering/RenderTheme.cpp:
102091        (WebCore::RenderTheme::adjustStyle):
102092        (WebCore::RenderTheme::paint):
102093        * rendering/RenderTheme.h:
102094        (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderTrack):
102095        (WebCore::RenderTheme::paintMediaFullScreenVolumeSliderThumb):
102096        * rendering/RenderThemeMac.h:
102097        (RenderThemeMac):
102098        * rendering/RenderThemeMac.mm:
102099        (WebCore::RenderThemeMac::adjustMediaSliderThumbSize):
102100        (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderTrack):
102101        (WebCore::RenderThemeMac::paintMediaFullScreenVolumeSliderThumb):
102102        * rendering/RenderMediaControlsChromium.cpp:
102103        (WebCore::RenderMediaControlsChromium::paintMediaControlsPart):
102104
102105        * accessibility/AccessibilitySlider.cpp:
102106        (WebCore::AccessibilitySlider::orientation): Mark the fullscreen volume slider as horizontal.
102107        * html/shadow/SliderThumbElement.cpp:
102108        (WebCore::RenderSliderThumb::updateAppearance): Give MediaFullScreenVolumeSliderParts 
102109            MediaFullScreenVolumeSliderThumbParts.
102110        * css/fullscreenQuickTime.css: Change the styles for the fullscreen slider, min, and max buttons.
102111        (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-min-button):
102112        (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-slider):
102113        (video:-webkit-full-screen::-webkit-media-controls-fullscreen-volume-max-button):
102114        * html/shadow/MediaControlRootElement.cpp:
102115        (WebCore::MediaControlRootElement::reset): Set the value of the fullscreen volume slider
102116            when resetting.
102117
1021182012-02-29  Antti Koivisto  <antti@apple.com>
102119
102120        Applying region style should not need to access parent rules
102121        https://bugs.webkit.org/show_bug.cgi?id=79910 
102122         
102123        Reviewed by Andreas Kling.
102124
102125        Currently CSSStyleSelector::applyProperties looks into parent rules to see if a rule is
102126        part of region style. The plan is to eliminate the rule parent pointer so this needs to be refactored.
102127        
102128        Add a bit to RuleData to indicate if the StyleRule is part of a region style.
102129
102130        * css/CSSStyleSelector.cpp:
102131        (RuleData):
102132        (WebCore::RuleData::isInRegionRule):
102133        (RuleSet):
102134        (WebCore::CSSStyleSelector::addMatchedProperties):
102135        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
102136        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
102137        * css/CSSStyleSelector.h:
102138        (CSSStyleSelector):
102139
1021402012-02-27  Vsevolod Vlasov  <vsevik@chromium.org>
102141
102142        Web Inspector: [InspectorIndexedDB] Add refresh to IndexedDB support.
102143        https://bugs.webkit.org/show_bug.cgi?id=79695
102144
102145        Reviewed by Pavel Feldman.
102146
102147        * inspector/front-end/IndexedDBViews.js:
102148        (WebInspector.IDBDataView):
102149        (WebInspector.IDBDataView.prototype._refreshButtonClicked):
102150        (WebInspector.IDBDataView.prototype.get statusBarItems):
102151        * inspector/front-end/ResourcesPanel.js:
102152        (WebInspector.IndexedDBTreeElement):
102153        (WebInspector.IndexedDBTreeElement.prototype.onattach):
102154        (WebInspector.IndexedDBTreeElement.prototype._handleContextMenuEvent):
102155        (WebInspector.IDBDatabaseTreeElement.prototype.onattach):
102156        (WebInspector.IDBDatabaseTreeElement.prototype._handleContextMenuEvent):
102157        (WebInspector.IDBDatabaseTreeElement.prototype._refreshIndexedDB):
102158
1021592012-02-29  Andrey Kosyakov  <caseq@chromium.org>
102160
102161        Web Inspector: timeline markers are not shown on the timeline panel
102162        https://bugs.webkit.org/show_bug.cgi?id=79921
102163
102164        Reviewed by Pavel Feldman.
102165
102166        * inspector/front-end/TimelinePanel.js:
102167        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline.addTimestampRecords):
102168        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
102169
1021702012-02-29  Kenichi Ishibashi  <bashi@chromium.org>
102171
102172        Align InlineBox::m_expansion to a byte boundary
102173        https://bugs.webkit.org/show_bug.cgi?id=79761
102174
102175        Add a bit to m_expansion to align a byte boundary.
102176        This will make valgrind memcheck happy.
102177        I confirmed sizeof(InlineBox) is unchanged.
102178
102179        Reviewed by Hajime Morita.
102180
102181        No new tests. No behavior changes.
102182
102183        * rendering/InlineBox.h:
102184        (InlineBox): Aligned m_expansion to a byte boundary.
102185
1021862012-02-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
102187
102188        Do not iterate all tiles for resizing when the content didn't change
102189        https://bugs.webkit.org/show_bug.cgi?id=79787
102190
102191        Reviewed by Simon Hausmann.
102192
102193        * platform/graphics/TiledBackingStore.cpp:
102194        (WebCore::TiledBackingStore::createTiles):
102195
1021962012-02-29  Parag Radke  <parag@motorola.com>
102197
102198        Crash in WebCore::CompositeEditCommand::insertNodeAt
102199        https://bugs.webkit.org/show_bug.cgi?id=67764
102200
102201        Reviewed by Ryosuke Niwa.
102202
102203        If caret position after deletion and destination position coincides then
102204        removing the node will result in removing the destination node also. Hence crash.
102205
102206        Test: editing/deleting/delete-block-merge-contents-025.html
102207
102208        * editing/CompositeEditCommand.cpp:
102209        (WebCore::CompositeEditCommand::cleanupAfterDeletion):
102210        If the caret position after delete and the destination position
102211        renderes at the same place, pruning the node and making an early exit.
102212
1022132012-02-29  Pavel Feldman  <pfeldman@google.com>
102214
102215        Web Inspector: remove calculator's updateBoundaries in the timeline panel.
102216        https://bugs.webkit.org/show_bug.cgi?id=79907
102217
102218        Reviewed by Yury Semikhatsky.
102219
102220        * inspector/front-end/NetworkPanel.js:
102221        (WebInspector.NetworkBaseCalculator.prototype.computeBarGraphLabels):
102222        (WebInspector.NetworkBaseCalculator.prototype.formatTime):
102223        (WebInspector.NetworkTimeCalculator.prototype.computeBarGraphLabels):
102224        (WebInspector.NetworkTimeCalculator.prototype.formatTime):
102225        (WebInspector.NetworkTransferTimeCalculator.prototype.formatTime):
102226        (WebInspector.NetworkTransferDurationCalculator.prototype.formatTime):
102227        * inspector/front-end/TimelineGrid.js:
102228        (WebInspector.TimelineGrid.prototype.updateDividers):
102229        * inspector/front-end/TimelineOverviewPane.js:
102230        (WebInspector.TimelineOverviewCalculator.prototype.formatTime):
102231        (WebInspector.TimelineStartAtZeroOverview):
102232        (WebInspector.TimelineStartAtZeroOverview.prototype.update):
102233        * inspector/front-end/TimelinePanel.js:
102234        (WebInspector.TimelinePanel):
102235        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
102236        (WebInspector.TimelinePanel.prototype._refresh):
102237        (WebInspector.TimelinePanel.prototype._refreshRecords):
102238        (WebInspector.TimelinePanel.prototype.get timelinePaddingLeft):
102239        (WebInspector.TimelineCalculator):
102240        (WebInspector.TimelineCalculator.prototype.setWindow):
102241        (WebInspector.TimelineCalculator.prototype.setRecords):
102242        (WebInspector.TimelineCalculator.prototype.formatTime):
102243        (WebInspector.TimelineFitInWindowCalculator):
102244        (WebInspector.TimelineFitInWindowCalculator.prototype.setWindow):
102245        (WebInspector.TimelineFitInWindowCalculator.prototype.setRecords):
102246        * inspector/front-end/TimelinePresentationModel.js:
102247        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
102248
1022492012-02-29  Yury Semikhatsky  <yurys@chromium.org>
102250
102251        Web Inspector: enable Profiles panel for workers
102252        https://bugs.webkit.org/show_bug.cgi?id=79908
102253
102254        Introduced worker profiler agent. Enabled script profiling for
102255        workers.
102256
102257        Reviewed by Pavel Feldman.
102258
102259        * bindings/js/ScriptProfiler.cpp:
102260        (WebCore::ScriptProfiler::startForPage):
102261        (WebCore):
102262        (WebCore::ScriptProfiler::startForWorkerContext):
102263        (WebCore::ScriptProfiler::stopForPage):
102264        (WebCore::ScriptProfiler::stopForWorkerContext):
102265        * bindings/js/ScriptProfiler.h:
102266        (WebCore):
102267        (ScriptProfiler):
102268        * bindings/v8/ScriptProfiler.cpp:
102269        (WebCore::ScriptProfiler::startForPage):
102270        (WebCore):
102271        (WebCore::ScriptProfiler::startForWorkerContext):
102272        (WebCore::ScriptProfiler::stopForPage):
102273        (WebCore::ScriptProfiler::stopForWorkerContext):
102274        * bindings/v8/ScriptProfiler.h:
102275        (WebCore):
102276        (ScriptProfiler):
102277        * inspector/InspectorProfilerAgent.cpp:
102278        (WebCore):
102279        (PageProfilerAgent):
102280        (WebCore::PageProfilerAgent::PageProfilerAgent):
102281        (WebCore::PageProfilerAgent::~PageProfilerAgent):
102282        (WebCore::PageProfilerAgent::startProfiling):
102283        (WebCore::PageProfilerAgent::stopProfiling):
102284        (WebCore::InspectorProfilerAgent::create):
102285        (WorkerProfilerAgent):
102286        (WebCore::WorkerProfilerAgent::WorkerProfilerAgent):
102287        (WebCore::WorkerProfilerAgent::~WorkerProfilerAgent):
102288        (WebCore::WorkerProfilerAgent::startProfiling):
102289        (WebCore::WorkerProfilerAgent::stopProfiling):
102290        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
102291        (WebCore::InspectorProfilerAgent::start):
102292        (WebCore::InspectorProfilerAgent::stop):
102293        * inspector/InspectorProfilerAgent.h:
102294        (WebCore):
102295        (InspectorProfilerAgent):
102296        * inspector/WorkerInspectorController.cpp:
102297        (WebCore::WorkerInspectorController::WorkerInspectorController):
102298        (WebCore::WorkerInspectorController::connectFrontend):
102299        (WebCore::WorkerInspectorController::disconnectFrontend):
102300        (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
102301        * inspector/WorkerInspectorController.h:
102302        (WebCore):
102303        (WorkerInspectorController):
102304        * inspector/front-end/ProfilesPanel.js:
102305        * inspector/front-end/inspector.js:
102306        (WebInspector._createPanels):
102307
1023082012-02-29  Alexander Pavlov  <apavlov@chromium.org>
102309
102310        Web Inspector: Clicking relative links fails when query string contains a slash
102311        https://bugs.webkit.org/show_bug.cgi?id=79905
102312
102313        Reviewed by Vsevolod Vlasov.
102314
102315        * inspector/front-end/ResourceUtils.js:
102316        (WebInspector.completeURL):
102317
1023182012-02-29  Pavel Feldman  <pfeldman@google.com>
102319
102320        Web Inspector: Ctrl R should reload page from the console panel as well.
102321        https://bugs.webkit.org/show_bug.cgi?id=79883
102322
102323        Reviewed by Vsevolod Vlasov.
102324
102325        * inspector/front-end/inspector.js:
102326        (WebInspector.documentKeyDown):
102327
1023282012-02-28  Pavel Podivilov  <podivilov@chromium.org>
102329
102330        Extended attributes list should go before 'static' and 'const' modifiers in IDLs.
102331        https://bugs.webkit.org/show_bug.cgi?id=79807
102332
102333        Reviewed by Kentaro Hara.
102334
102335        No new tests. Generated code isn't changed.
102336
102337        * bindings/scripts/IDLParser.pm:
102338        (ParseInterface):
102339        * bindings/scripts/IDLStructure.pm:
102340        * bindings/scripts/test/TestObj.idl:
102341        * bindings/scripts/test/TestSupplemental.idl:
102342        * html/DOMURL.idl:
102343        * html/HTMLMediaElement.idl:
102344        * html/HTMLTrackElement.idl:
102345
1023462012-02-28  Yury Semikhatsky  <yurys@chromium.org>
102347
102348        Web Inspector: move DOM counter graphs out of experimental
102349        https://bugs.webkit.org/show_bug.cgi?id=79802
102350
102351        Enable DOM counter graphs by default.
102352
102353        Reveal nearest record from the left hand side when there is no
102354        record containing the point where the user clicked.
102355
102356        Reviewed by Pavel Feldman.
102357
102358        * inspector/front-end/Settings.js:
102359        (WebInspector.ExperimentsSettings):
102360        * inspector/front-end/TimelinePanel.js:
102361        (WebInspector.TimelinePanel):
102362        (WebInspector.TimelinePanel.prototype._endSplitterDragging):
102363        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
102364        (WebInspector.TimelinePanel.prototype.sidebarResized):
102365        (WebInspector.TimelinePanel.prototype._resetPanel):
102366        (WebInspector.TimelinePanel.prototype._refresh):
102367        (WebInspector.TimelinePanel.prototype.revealRecordAt):
102368
1023692012-02-28  MORITA Hajime  <morrita@google.com>
102370
102371        [Refactoring] Shadow related attach paths should be in ShadowTree.
102372        https://bugs.webkit.org/show_bug.cgi?id=79854
102373
102374        Reviewed by Ryosuke Niwa.
102375
102376        No new tests. No behavior change.
102377
102378        This change introduces ShadowTree::attachHost() and ShadowTree::detachHost()
102379        and moves shadow-enabled attachment code from Element to ShadowRoot.
102380        This also factored out small ContainerNode method to use it from ShadowTree.
102381
102382        Even after this change, the traveral order in ShadowTree
102383        attachment has some unclear part. Coming changes will clarify
102384        these. This change is aimed to be purely textural.
102385
102386        * dom/ContainerNode.cpp:
102387        (WebCore::ContainerNode::attach):
102388        (WebCore::ContainerNode::detach):
102389        * dom/ContainerNode.h:
102390        (ContainerNode):
102391        (WebCore::ContainerNode::attachAsNode): Added.
102392        (WebCore::ContainerNode::attachChildren): Added.
102393        (WebCore::ContainerNode::attachChildrenIfNeeded): Added.
102394        (WebCore::ContainerNode::attachChildrenLazily): Added.
102395        (WebCore::ContainerNode::detachAsNode): Added.
102396        (WebCore::ContainerNode::detachChildrenIfNeeded): Added.
102397        (WebCore::ContainerNode::detachChildren): Added.
102398        * dom/Element.cpp:
102399        (WebCore::Element::attach):
102400        (WebCore::Element::detach):
102401        * dom/ShadowTree.cpp:
102402        (WebCore::ShadowTree::addShadowRoot):
102403        (WebCore::ShadowTree::removeAllShadowRoots):
102404        (WebCore::ShadowTree::detachHost):
102405        (WebCore):
102406        (WebCore::ShadowTree::attachHost):
102407        (WebCore::ShadowTree::reattachHostChildrenAndShadow):
102408        * dom/ShadowTree.h:
102409        (ShadowTree):
102410
1024112012-02-28  Arko Saha  <arko@motorola.com>
102412
102413        Microdata: Implement HTMLPropertiesCollection collection.namedItem().
102414        https://bugs.webkit.org/show_bug.cgi?id=73156
102415
102416        Reviewed by Kentaro Hara.
102417
102418        Tests: fast/dom/MicroData/nameditem-must-be-case-sensitive.html
102419               fast/dom/MicroData/nameditem-must-return-correct-item-properties.html
102420               fast/dom/MicroData/properties-collection-nameditem-test.html
102421
102422        * bindings/scripts/CodeGeneratorJS.pm: Modified code generator to generate
102423        JS bindings code for HTMLPropertiesCollection [NamedGetter] property.
102424        (GenerateImplementation):
102425        * html/HTMLPropertiesCollection.cpp:
102426        (WebCore::HTMLPropertiesCollection::names):
102427        (WebCore):
102428        (WebCore::HTMLPropertiesCollection::namedItem): Returns a NodeList object
102429        containing any elements that add a property named name.
102430        (WebCore::HTMLPropertiesCollection::hasNamedItem): Checks if the items can
102431        be retrieved or not based on the property named name.
102432        * html/HTMLPropertiesCollection.h: Added namedItem(), hasProperty(),
102433        hasNamedItem() methods.
102434        (HTMLPropertiesCollection):
102435        * html/HTMLPropertiesCollection.idl: Added namedItem() IDL method.
102436
1024372012-02-28  Kinuko Yasuda  <kinuko@chromium.org>
102438
102439        Add size field to Metadata in FileSystem API
102440        https://bugs.webkit.org/show_bug.cgi?id=79813
102441
102442        Reviewed by David Levin.
102443
102444        Test: fast/filesystem/op-get-metadata.html
102445
102446        * fileapi/FileSystemCallbacks.cpp:
102447        (WebCore::MetadataCallbacks::didReadMetadata):
102448        * fileapi/Metadata.h:
102449        (WebCore::Metadata::create):
102450        (WebCore::Metadata::modificationTime):
102451        (WebCore::Metadata::size): Added.
102452        (WebCore::Metadata::Metadata):
102453        * fileapi/Metadata.idl:
102454
1024552012-02-28  Dmitry Lomov  <dslomov@google.com>
102456
102457        [JSC] Implement ArrayBuffer transfer
102458        https://bugs.webkit.org/show_bug.cgi?id=73493.
102459        Implement ArrayBuffer transfer, per Khronos spec:  http://www.khronos.org/registry/typedarray/specs/latest/#9.
102460        This brings parity with V8 implementation of transferable typed arrays.
102461
102462        Reviewed by Oliver Hunt.
102463
102464        Covered by existing tests.
102465
102466        * bindings/js/JSDOMWindowCustom.cpp:
102467        (WebCore::handlePostMessage):
102468        * bindings/js/JSDictionary.cpp:
102469        (WebCore::JSDictionary::convertValue):
102470        * bindings/js/JSHistoryCustom.cpp:
102471        (WebCore::JSHistory::pushState):
102472        (WebCore::JSHistory::replaceState):
102473        * bindings/js/JSMessageEventCustom.cpp:
102474        (WebCore::handleInitMessageEvent):
102475        * bindings/js/JSMessagePortCustom.cpp:
102476        (WebCore::fillMessagePortArray):
102477        * bindings/js/JSMessagePortCustom.h:
102478        (WebCore):
102479        (WebCore::handlePostMessage):
102480        * bindings/js/ScriptValue.cpp:
102481        (WebCore::ScriptValue::serialize):
102482        * bindings/js/SerializedScriptValue.cpp:
102483        (WebCore):
102484        (WebCore::CloneSerializer::serialize):
102485        (CloneSerializer):
102486        (WebCore::CloneSerializer::CloneSerializer):
102487        (WebCore::CloneSerializer::fillTransferMap):
102488        (WebCore::CloneSerializer::dumpArrayBufferView):
102489        (WebCore::CloneSerializer::dumpIfTerminal):
102490        (WebCore::CloneDeserializer::deserialize):
102491        (WebCore::CloneDeserializer::CloneDeserializer):
102492        (WebCore::CloneDeserializer::readTerminal):
102493        (CloneDeserializer):
102494        (WebCore::SerializedScriptValue::SerializedScriptValue):
102495        (WebCore::SerializedScriptValue::transferArrayBuffers):
102496        (WebCore::SerializedScriptValue::create):
102497        (WebCore::SerializedScriptValue::deserialize):
102498        * bindings/js/SerializedScriptValue.h:
102499        (WebCore):
102500        (SerializedScriptValue):
102501
1025022012-02-28  Kevin Ollivier  <kevino@theolliviers.com>
102503
102504        [wx] Unreviewed. Build fixes after recent bindings changes.
102505
102506        * bindings/scripts/CodeGeneratorCPP.pm: 
102507        (ShouldSkipType):
102508        * testing/Internals.idl:
102509
1025102012-02-28  Yoshifumi Inoue  <yosin@chromium.org>
102511
102512        [Forms] Spin button sometimes ignores Indeterminate of m_upDownState
102513        https://bugs.webkit.org/show_bug.cgi?id=79754
102514
102515        Reviewed by Kent Tamura.
102516
102517        This patch checks enum value Indeterminate before using m_upDownState. This make
102518        sure Indeterminate state doesn't act like Down state.
102519
102520        m_upDownState can be Indeterminate at mousedown event if mouse pointer is on
102521        spin button when it is displayed.
102522
102523        Test: fast/forms/number/spin-button-state.html
102524
102525        * html/shadow/TextControlInnerElements.cpp:
102526        (WebCore::SpinButtonElement::defaultEventHandler):
102527        (WebCore::SpinButtonElement::repeatingTimerFired):
102528
1025292012-02-27  MORITA Hajime  <morrita@google.com>
102530
102531        [Refactoring] RenderSummary and RenderDetail is no longer needed.
102532        https://bugs.webkit.org/show_bug.cgi?id=79641
102533
102534        Reviewed by Kent Tamura.
102535
102536        Removed RenderDetails and RenderSummary because its only
102537        modification they had is already handled by RenderBlock::styleWillChange().
102538        These are just a historical artifact. We could have removed these
102539        classes when they were switched to shadow-based implementations.
102540
102541        Tests: fast/html/details-inline-expected.html
102542               fast/html/details-inline.html
102543
102544        * CMakeLists.txt:
102545        * GNUmakefile.list.am:
102546        * Target.pri:
102547        * WebCore.gypi:
102548        * WebCore.vcproj/WebCore.vcproj:
102549        * WebCore.xcodeproj/project.pbxproj:
102550        * html/HTMLDetailsElement.cpp:
102551        (WebCore::HTMLDetailsElement::createRenderer):
102552        * html/HTMLSummaryElement.cpp:
102553        (WebCore::HTMLSummaryElement::createRenderer):
102554        (WebCore::HTMLSummaryElement::defaultEventHandler):
102555        * rendering/RenderDetails.cpp: Removed.
102556        * rendering/RenderDetails.h: Removed.
102557        * rendering/RenderDetailsMarker.cpp:
102558        (WebCore::RenderDetailsMarker::isOpen):
102559        * rendering/RenderDetailsMarker.h:
102560        (RenderDetailsMarker):
102561        * rendering/RenderObject.h:
102562        (RenderObject):
102563        * rendering/RenderSummary.cpp: Removed.
102564        * rendering/RenderSummary.h: Removed.
102565        * rendering/RenderingAllInOne.cpp:
102566
1025672012-02-28  Simon Fraser  <simon.fraser@apple.com>
102568
102569        Optimize the rects being drawn into compositing layers
102570        https://bugs.webkit.org/show_bug.cgi?id=79852
102571
102572        Reviewed by Dan Bernstein.
102573
102574        Use the newly added WebKitSystemInterface method
102575        to limit the area being painted in a CALayer
102576        -drawInContext callback. This avoids redundant drawing,
102577        for performance.
102578
102579        * platform/graphics/mac/WebLayer.mm:
102580        (drawLayerContents):
102581
1025822012-02-28  Simon Fraser  <simon.fraser@apple.com>
102583
102584        Fix the SnowLeopard build.
102585
102586        * WebCore.exp.in:
102587
1025882012-02-28  Anders Carlsson  <andersca@apple.com>
102589
102590        With tiled drawing enabled, pressing Down arrow after scrolling via mouse gesture causes page to jump back up to top
102591        https://bugs.webkit.org/show_bug.cgi?id=79249
102592        <rdar://problem/10866273>
102593
102594        Reviewed by Sam Weinig.
102595
102596        ScrollableArea::notifyScrollPositionChanged must make sure that the scroll animator position is kept up to date.
102597
102598        * platform/ScrollAnimator.cpp:
102599        (WebCore::ScrollAnimator::setCurrentPosition):
102600        (WebCore):
102601        * platform/ScrollAnimator.h:
102602        (ScrollAnimator):
102603        * platform/ScrollableArea.cpp:
102604        (WebCore::ScrollableArea::notifyScrollPositionChanged):
102605
1026062012-02-28  Daniel Cheng  <dcheng@chromium.org>
102607
102608        Unreviewed, rolling out r107894.
102609        http://trac.webkit.org/changeset/107894
102610        https://bugs.webkit.org/show_bug.cgi?id=30416
102611
102612        dataTransfer.types should be an Array since DOMStringList is deprecated.
102613
102614        * bindings/js/JSClipboardCustom.cpp:
102615        (WebCore::JSClipboard::types):
102616        (WebCore):
102617        * bindings/v8/custom/V8ClipboardCustom.cpp:
102618        (WebCore::V8Clipboard::typesAccessorGetter):
102619        (WebCore):
102620        * dom/Clipboard.cpp:
102621        (WebCore::Clipboard::hasStringOfType):
102622        * dom/Clipboard.h:
102623        (Clipboard):
102624        * dom/Clipboard.idl:
102625        * platform/blackberry/ClipboardBlackBerry.cpp:
102626        (WebCore::ClipboardBlackBerry::types):
102627        * platform/blackberry/ClipboardBlackBerry.h:
102628        (ClipboardBlackBerry):
102629        * platform/chromium/ChromiumDataObject.cpp:
102630        (WebCore::ChromiumDataObject::types):
102631        * platform/chromium/ChromiumDataObject.h:
102632        (ChromiumDataObject):
102633        * platform/chromium/ClipboardChromium.cpp:
102634        (WebCore::ClipboardChromium::types):
102635        (WebCore::ClipboardChromium::mayUpdateItems):
102636        * platform/chromium/ClipboardChromium.h:
102637        (ClipboardChromium):
102638        * platform/chromium/DragDataChromium.cpp:
102639        (WebCore::containsHTML):
102640        (WebCore::DragData::containsURL):
102641        (WebCore::DragData::asURL):
102642        (WebCore::DragData::containsPlainText):
102643        (WebCore::DragData::canSmartReplace):
102644        (WebCore::DragData::asFragment):
102645        * platform/efl/ClipboardEfl.cpp:
102646        (WebCore::ClipboardEfl::types):
102647        * platform/efl/ClipboardEfl.h:
102648        (ClipboardEfl):
102649        * platform/gtk/ClipboardGtk.cpp:
102650        (WebCore::ClipboardGtk::types):
102651        * platform/gtk/ClipboardGtk.h:
102652        (ClipboardGtk):
102653        * platform/mac/ClipboardMac.h:
102654        (ClipboardMac):
102655        * platform/mac/ClipboardMac.mm:
102656        (WebCore::addHTMLClipboardTypesForCocoaType):
102657        (WebCore::ClipboardMac::types):
102658        * platform/qt/ClipboardQt.cpp:
102659        (WebCore::ClipboardQt::types):
102660        * platform/qt/ClipboardQt.h:
102661        (ClipboardQt):
102662        * platform/win/ClipboardWin.cpp:
102663        (WebCore::addMimeTypesForFormat):
102664        (WebCore::ClipboardWin::types):
102665        * platform/win/ClipboardWin.h:
102666        (ClipboardWin):
102667        * platform/wx/ClipboardWx.cpp:
102668        (WebCore::ClipboardWx::types):
102669        * platform/wx/ClipboardWx.h:
102670        (ClipboardWx):
102671
1026722012-02-28  Simon Fraser  <simon.fraser@apple.com>
102673
102674        Update WebKitSystemInterface.
102675
102676        Reviewed by Sam Weinig.
102677
102678        * WebCore.exp.in:
102679        (drawLayerContents):
102680        * platform/mac/WebCoreSystemInterface.h:
102681        * platform/mac/WebCoreSystemInterface.mm:
102682
1026832012-02-27  MORITA Hajime  <morrita@google.com>
102684
102685        <content> element should behave as HTMLUnknownElement outside of a shadow DOM subtree
102686        https://bugs.webkit.org/show_bug.cgi?id=79551
102687
102688        Reviewed by Dimitri Glazkov.
102689
102690        The problem happened because HTMLContentElement doesn't create renderer anytime.
102691        
102692        This change allows it to create a renderer unless the HTMLContentElement is shadowed.
102693        Since this could happen not only on <content> but also on upcoming <shadow>,
102694        the corresponding part of the code is pulled up to InsertionPoint.
102695
102696        Tests: fast/dom/shadow/content-element-outside-shadow-style-expected.html
102697               fast/dom/shadow/content-element-outside-shadow-style.html
102698
102699        * dom/NodeRenderingContext.cpp:
102700        (WebCore::NodeRenderingContext::NodeRenderingContext):
102701        * dom/ShadowRoot.h:
102702        (WebCore):
102703        (WebCore::TreeScope::isShadowRoot):
102704        * dom/TreeScope.h:
102705        (TreeScope):
102706        * html/shadow/HTMLContentElement.h:
102707        * html/shadow/InsertionPoint.cpp:
102708        (WebCore::InsertionPoint::isShadowBoundary):
102709        (WebCore):
102710        * html/shadow/InsertionPoint.h:
102711        (InsertionPoint):
102712        (WebCore::isShadowBoundary):
102713        (WebCore):
102714
1027152012-02-28  Daniel Cheng  <dcheng@chromium.org>
102716
102717        Clipboard::getData should return an empty string instead of undefined
102718        https://bugs.webkit.org/show_bug.cgi?id=79712
102719
102720        Reviewed by Tony Chang.
102721
102722        Per the spec, an empty string should be returned when there is no data for the given typestring.
102723
102724        Test: fast/events/dataTransfer-getData-returns-empty-string.html
102725
102726        * bindings/js/JSClipboardCustom.cpp:
102727        * bindings/v8/custom/V8ClipboardCustom.cpp:
102728        * dom/Clipboard.h:
102729        (Clipboard):
102730        * dom/Clipboard.idl:
102731        * platform/blackberry/ClipboardBlackBerry.cpp:
102732        (WebCore::ClipboardBlackBerry::getData):
102733        * platform/blackberry/ClipboardBlackBerry.h:
102734        (ClipboardBlackBerry):
102735        * platform/chromium/ClipboardChromium.cpp:
102736        (WebCore::ClipboardChromium::getData):
102737        * platform/chromium/ClipboardChromium.h:
102738        (ClipboardChromium):
102739        * platform/efl/ClipboardEfl.cpp:
102740        (WebCore::ClipboardEfl::getData):
102741        * platform/efl/ClipboardEfl.h:
102742        (ClipboardEfl):
102743        * platform/gtk/ClipboardGtk.cpp:
102744        (WebCore::ClipboardGtk::getData):
102745        * platform/gtk/ClipboardGtk.h:
102746        (ClipboardGtk):
102747        * platform/mac/ClipboardMac.h:
102748        (ClipboardMac):
102749        * platform/mac/ClipboardMac.mm:
102750        (WebCore::ClipboardMac::getData):
102751        * platform/qt/ClipboardQt.cpp:
102752        (WebCore::ClipboardQt::getData):
102753        * platform/qt/ClipboardQt.h:
102754        (ClipboardQt):
102755        * platform/win/ClipboardUtilitiesWin.cpp:
102756        (WebCore::getFullCFHTML):
102757        (WebCore::getURL):
102758        (WebCore::getPlainText):
102759        (WebCore::getTextHTML):
102760        (WebCore::getCFHTML):
102761        (WebCore::fragmentFromHTML):
102762        * platform/win/ClipboardUtilitiesWin.h:
102763        (WebCore):
102764        * platform/win/ClipboardWin.cpp:
102765        (WebCore::ClipboardWin::getData):
102766        * platform/win/ClipboardWin.h:
102767        (ClipboardWin):
102768        * platform/wx/ClipboardWx.cpp:
102769        (WebCore::ClipboardWx::getData):
102770        * platform/wx/ClipboardWx.h:
102771        (ClipboardWx):
102772
1027732012-02-28  Kenichi Ishibashi  <bashi@chromium.org>
102774
102775        [Chromium] Uninitialized value in LocaleToScriptCodeForFontSelection
102776        https://bugs.webkit.org/show_bug.cgi?id=79779
102777
102778        Set USCRIPT_COMMON to scriptCode as the initial value.
102779
102780        Reviewed by Kent Tamura.
102781
102782        No new tests. No behavior change.
102783
102784        * platform/text/LocaleToScriptMappingICU.cpp:
102785        (WebCore::localeToScriptCodeForFontSelection):
102786
1027872012-02-28  Kenneth Russell  <kbr@google.com>
102788
102789        [chromium] Work around IOSurface-related corruption during readback
102790        https://bugs.webkit.org/show_bug.cgi?id=79735
102791
102792        Reviewed by James Robinson.
102793
102794        Copy the compositor's IOSurface-backed output into a temporary
102795        texture and perform the ReadPixels operation against that texture.
102796
102797        It is infeasible to write an automated test for this issue.
102798        Tested manually by performing print preview multiple times against
102799        pages containing WebGL content on 10.7 and observing that the
102800        corruption in the output is no longer present.
102801
102802        * platform/graphics/chromium/LayerRendererChromium.cpp:
102803        (WebCore::LayerRendererChromium::getFramebufferPixels):
102804
1028052012-02-28  Adrienne Walker  <enne@google.com>
102806
102807        [chromium] Inform v8 about extra memory used for PatternSkia clamp mode
102808        https://bugs.webkit.org/show_bug.cgi?id=79846
102809
102810        Reviewed by James Robinson.
102811
102812        For large images, creating a non-repeating Pattern in Skia can
102813        allocate a lot of memory. Inform v8 about this so that it can
102814        potentially garbage collect any Pattern objects that aren't being used
102815        and that are holding onto large image copies.
102816
102817        * platform/graphics/Pattern.cpp:
102818        (WebCore::Pattern::Pattern):
102819        * platform/graphics/Pattern.h:
102820        (Pattern):
102821        * platform/graphics/skia/PatternSkia.cpp:
102822        (WebCore::Pattern::platformDestroy):
102823        (WebCore::Pattern::platformPattern):
102824
1028252012-02-28  Jonathan Backer  <backer@chromium.org>
102826
102827        [chromium] Reset damage tracker on visibility change.
102828        https://bugs.webkit.org/show_bug.cgi?id=79267
102829
102830        Reviewed by James Robinson.
102831
102832        Unit tests: CCLayerTreeHostImplTest.cpp
102833
102834        * platform/graphics/chromium/LayerRendererChromium.cpp:
102835        (WebCore::LayerRendererChromium::setVisible):
102836
1028372012-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
102838
102839        Unreviewed, rolling out r108834.
102840        http://trac.webkit.org/changeset/108834
102841        https://bugs.webkit.org/show_bug.cgi?id=79840
102842
102843        Seems to cause a number of crashes under
102844        FrameView::doDeferredRepaints (Requested by jamesr__ on
102845        #webkit).
102846
102847        * svg/graphics/SVGImage.cpp:
102848        (WebCore::SVGImage::draw):
102849        * svg/graphics/SVGImage.h:
102850        * svg/graphics/SVGImageCache.cpp:
102851        (WebCore::SVGImageCache::imageContentChanged):
102852        (WebCore::SVGImageCache::redrawTimerFired):
102853        * svg/graphics/SVGImageCache.h:
102854        (SVGImageCache):
102855
1028562012-02-29  Mario Sanchez Prada  <msanchez@igalia.com>
102857
102858        [GTK] Add support for nested event loops in RunLoop
102859        https://bugs.webkit.org/show_bug.cgi?id=79499
102860
102861        Reviewed by Martin Robinson.
102862
102863        Run a new nested mainloop if the main event loop is already
102864        running when calling to RunLoop::run(), and take care of stopping
102865        the right main loop too when RunLoop::stop() is invoked.
102866
102867        * platform/RunLoop.h:
102868        (RunLoop):
102869        * platform/gtk/RunLoopGtk.cpp:
102870        (WebCore::RunLoop::RunLoop):
102871        (WebCore::RunLoop::~RunLoop):
102872        (WebCore::RunLoop::run):
102873        (WebCore::RunLoop::innermostLoop):
102874        (WebCore::RunLoop::pushNestedMainLoop):
102875        (WebCore::RunLoop::popNestedMainLoop):
102876        (WebCore):
102877        (WebCore::RunLoop::stop):
102878
1028792012-02-28  Julien Chaffraix  <jchaffraix@webkit.org>
102880
102881        Move RenderLayer::size() calls to a common function
102882        https://bugs.webkit.org/show_bug.cgi?id=76972
102883
102884        Reviewed by Simon Fraser.
102885
102886        Refactoring only.
102887
102888        This change introduces RenderBox::cachedSizeForOverflowClip() that handles all the cached size
102889        requests that currently goes through the RenderLayer. This indirection helps to decouple the need
102890        for a RenderLayer so that we can lazily allocate RenderLayers as part of bug 75568.
102891
102892        * rendering/RenderBox.cpp:
102893        (WebCore::RenderBox::cachedSizeForOverflowClip):
102894        Added this function to handle the calls to RenderLayer's size(). Unfortunately a lot of the
102895        code calls RenderLayer::size() directly so I could not make it private.
102896
102897        * rendering/LayoutState.cpp:
102898        (WebCore::LayoutState::LayoutState):
102899        * rendering/RenderBox.cpp:
102900        (WebCore::RenderBox::computeRectForRepaint):
102901        * rendering/RenderBox.h:
102902        (RenderBox):
102903        * rendering/RenderInline.cpp:
102904        (WebCore::RenderInline::clippedOverflowRectForRepaint):
102905        (WebCore::RenderInline::computeRectForRepaint):
102906        * rendering/RenderObject.cpp:
102907        (WebCore::RenderObject::computeRectForRepaint):
102908        Fixed the call sites above.
102909
1029102012-02-28  Tim Dresser  <tdresser@chromium.org>
102911
102912        Provide DefaultDeviceScaleFactor though WebSettings
102913        https://bugs.webkit.org/show_bug.cgi?id=79534
102914
102915        Reviewed by Darin Fisher.
102916
102917        * page/Settings.cpp:
102918        (WebCore::Settings::Settings):
102919        (WebCore::Settings::setDefaultDeviceScaleFactor):
102920        (WebCore):
102921        * page/Settings.h:
102922        (Settings):
102923        (WebCore::Settings::defaultDeviceScaleFactor):
102924
1029252012-02-28  Oliver Hunt  <oliver@apple.com>
102926
102927        Fix build.
102928
102929        * mathml/MathMLElement.cpp:
102930        (WebCore::MathMLElement::collectStyleForAttribute):
102931
1029322012-02-28  Dean Jackson  <dino@apple.com>
102933
102934        https://bugs.webkit.org/show_bug.cgi?id=79824
102935
102936        Unreviewed build fix for when ENABLE(CSS_FILTERS) is on
102937        but ENABLE(CSS_SHADERS) is off.
102938
102939        * css/WebKitCSSFilterValue.cpp:
102940        (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
102941
1029422012-02-28  Dave Moore  <davemoore@chromium.org>
102943
102944        Slow content causes choppy scrolling
102945        https://bugs.webkit.org/show_bug.cgi?id=79403
102946
102947        Reviewed by James Robinson.
102948
102949        This code helps make scrolling (via wheel or pad) less choppy
102950        when the content takes a long time to respond to the fake mouse moves
102951        generated during scrolls.
102952
102953
102954 * page/EventHandler.cpp:
102955        (WebCore):
102956        (MaximumDurationTracker):
102957        (WebCore::MaximumDurationTracker::MaximumDurationTracker):
102958        (WebCore::MaximumDurationTracker::~MaximumDurationTracker):
102959        (WebCore::EventHandler::EventHandler):
102960        (WebCore::EventHandler::clear):
102961        (WebCore::EventHandler::mouseMoved):
102962        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoon):
102963        (WebCore::EventHandler::dispatchFakeMouseMoveEventSoonInQuad):
102964        * page/EventHandler.h:
102965
1029662012-02-28  Andreas Kling  <awesomekling@apple.com>
102967
102968        StyledElement::isPresentationAttribute() only needs the attribute name.
102969        <http://webkit.org/b/79828>
102970
102971        Reviewed by Anders Carlsson.
102972
102973        Pass the QualifiedName to isPresentationAttribute instead of the whole
102974        Attribute. We only need the name to know what kind of attribute it is.
102975
102976        This makes the code a little less ugly and makes it possible to use
102977        the function without having an Attribute object.
102978
102979        * dom/StyledElement.cpp:
102980        (WebCore::StyledElement::attributeChanged):
102981        * dom/StyledElement.h:
102982        (WebCore::StyledElement::isPresentationAttribute):
102983        * html/HTMLBRElement.cpp:
102984        (WebCore::HTMLBRElement::isPresentationAttribute):
102985        * html/HTMLBRElement.h:
102986        * html/HTMLBodyElement.cpp:
102987        (WebCore::HTMLBodyElement::isPresentationAttribute):
102988        * html/HTMLBodyElement.h:
102989        * html/HTMLButtonElement.cpp:
102990        (WebCore::HTMLButtonElement::isPresentationAttribute):
102991        * html/HTMLButtonElement.h:
102992        * html/HTMLDivElement.cpp:
102993        (WebCore::HTMLDivElement::isPresentationAttribute):
102994        * html/HTMLDivElement.h:
102995        * html/HTMLElement.cpp:
102996        (WebCore::HTMLElement::isPresentationAttribute):
102997        * html/HTMLElement.h:
102998        * html/HTMLEmbedElement.cpp:
102999        (WebCore::HTMLEmbedElement::isPresentationAttribute):
103000        * html/HTMLEmbedElement.h:
103001        * html/HTMLFontElement.cpp:
103002        (WebCore::HTMLFontElement::isPresentationAttribute):
103003        * html/HTMLFontElement.h:
103004        * html/HTMLFrameSetElement.cpp:
103005        (WebCore::HTMLFrameSetElement::isPresentationAttribute):
103006        * html/HTMLFrameSetElement.h:
103007        * html/HTMLHRElement.cpp:
103008        (WebCore::HTMLHRElement::isPresentationAttribute):
103009        * html/HTMLHRElement.h:
103010        * html/HTMLIFrameElement.cpp:
103011        (WebCore::HTMLIFrameElement::isPresentationAttribute):
103012        * html/HTMLIFrameElement.h:
103013        * html/HTMLImageElement.cpp:
103014        (WebCore::HTMLImageElement::isPresentationAttribute):
103015        * html/HTMLImageElement.h:
103016        * html/HTMLInputElement.cpp:
103017        (WebCore::HTMLInputElement::isPresentationAttribute):
103018        * html/HTMLInputElement.h:
103019        * html/HTMLLIElement.cpp:
103020        (WebCore::HTMLLIElement::isPresentationAttribute):
103021        * html/HTMLLIElement.h:
103022        * html/HTMLMarqueeElement.cpp:
103023        (WebCore::HTMLMarqueeElement::isPresentationAttribute):
103024        * html/HTMLMarqueeElement.h:
103025        * html/HTMLOListElement.cpp:
103026        (WebCore::HTMLOListElement::isPresentationAttribute):
103027        * html/HTMLOListElement.h:
103028        * html/HTMLObjectElement.cpp:
103029        (WebCore::HTMLObjectElement::isPresentationAttribute):
103030        * html/HTMLObjectElement.h:
103031        * html/HTMLParagraphElement.cpp:
103032        (WebCore::HTMLParagraphElement::isPresentationAttribute):
103033        * html/HTMLParagraphElement.h:
103034        * html/HTMLPlugInElement.cpp:
103035        (WebCore::HTMLPlugInElement::isPresentationAttribute):
103036        * html/HTMLPlugInElement.h:
103037        * html/HTMLPreElement.cpp:
103038        (WebCore::HTMLPreElement::isPresentationAttribute):
103039        * html/HTMLPreElement.h:
103040        * html/HTMLSelectElement.cpp:
103041        (WebCore::HTMLSelectElement::isPresentationAttribute):
103042        * html/HTMLSelectElement.h:
103043        * html/HTMLTableCaptionElement.cpp:
103044        (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
103045        * html/HTMLTableCaptionElement.h:
103046        * html/HTMLTableCellElement.cpp:
103047        (WebCore::HTMLTableCellElement::isPresentationAttribute):
103048        * html/HTMLTableCellElement.h:
103049        * html/HTMLTableColElement.cpp:
103050        (WebCore::HTMLTableColElement::isPresentationAttribute):
103051        * html/HTMLTableColElement.h:
103052        * html/HTMLTableElement.cpp:
103053        (WebCore::HTMLTableElement::isPresentationAttribute):
103054        * html/HTMLTableElement.h:
103055        * html/HTMLTablePartElement.cpp:
103056        (WebCore::HTMLTablePartElement::isPresentationAttribute):
103057        * html/HTMLTablePartElement.h:
103058        * html/HTMLTextAreaElement.cpp:
103059        (WebCore::HTMLTextAreaElement::isPresentationAttribute):
103060        * html/HTMLTextAreaElement.h:
103061        * html/HTMLUListElement.cpp:
103062        (WebCore::HTMLUListElement::isPresentationAttribute):
103063        * html/HTMLUListElement.h:
103064        * html/HTMLVideoElement.cpp:
103065        (WebCore::HTMLVideoElement::isPresentationAttribute):
103066        * html/HTMLVideoElement.h:
103067        * mathml/MathMLElement.cpp:
103068        (WebCore::MathMLElement::isPresentationAttribute):
103069        * mathml/MathMLElement.h:
103070        * svg/SVGImageElement.cpp:
103071        (WebCore::SVGImageElement::isPresentationAttribute):
103072        * svg/SVGImageElement.h:
103073        * svg/SVGStyledElement.cpp:
103074        (WebCore::SVGStyledElement::isPresentationAttribute):
103075        * svg/SVGStyledElement.h:
103076        * svg/SVGTextContentElement.cpp:
103077        (WebCore::SVGTextContentElement::isPresentationAttribute):
103078        * svg/SVGTextContentElement.h:
103079
1030802012-02-28  Enrica Casucci  <enrica@apple.com>
103081
103082        More Pasteboard code cleanup.
103083        https://bugs.webkit.org/show_bug.cgi?id=79816
103084
103085        Removing the last references to NSPasteboard.
103086
103087        Reviewed by Alexey Proskuryakov.
103088
103089        No new tests. No change in functionality.
103090
103091        * WebCore.xcodeproj/project.pbxproj:
103092        * editing/mac/EditorMac.mm:
103093        (WebCore::Editor::pasteWithPasteboard):
103094        (WebCore::Editor::takeFindStringFromSelection):
103095        * loader/EmptyClients.h:
103096        (WebCore::EmptyEditorClient::setInsertionPasteboard):
103097        * page/DragClient.h:
103098        * page/EditorClient.h:
103099        * platform/DragData.h:
103100        * platform/Pasteboard.h:
103101        * platform/mac/ClipboardMac.h:
103102        * platform/mac/PasteboardHelper.h: Removed.
103103
1031042012-02-28  Sheriff Bot  <webkit.review.bot@gmail.com>
103105
103106        Unreviewed, rolling out r109137.
103107        http://trac.webkit.org/changeset/109137
103108        https://bugs.webkit.org/show_bug.cgi?id=79833
103109
103110        Broke cr-mac build (Requested by aklein on #webkit).
103111
103112        * platform/graphics/mac/SimpleFontDataMac.mm:
103113        (WebCore):
103114        (WebCore::pathFromFont):
103115
1031162012-02-28  Jungshik Shin  <jshin@chromium.org>
103117
103118        Add a fallback path to LineBreakIteratorPoolICU when the locale
103119        name from a web page is invalid and ICU fails to get a line break
103120        iterator instance. Also add a null check to 
103121        TextBreakIteratorICU::acquireLineBreakIterator.
103122
103123        Reviewed by Dan Bernstein.
103124
103125        https://bugs.webkit.org/show_bug.cgi?id=67640
103126
103127        Test: fast/text/invalid-locale.html
103128
103129        * platform/text/LineBreakIteratorPoolICU.h:
103130        (WebCore::LineBreakIteratorPool::take):
103131        * platform/text/TextBreakIteratorICU.cpp:
103132        (WebCore::acquireLineBreakIterator):
103133
1031342012-02-28  Abhishek Arya  <inferno@chromium.org>
103135
103136        Crash due to accessing removed continuation in multi-column layout.
103137        https://bugs.webkit.org/show_bug.cgi?id=78417
103138
103139        Reviewed by David Hyatt.
103140
103141        This patch addresses two problems:
103142        1. Run-in block got split due to addition of a column-span child.
103143        The clone part was incorrectly intruding into the sibling block,
103144        even when it was part of the continuation chain.
103145        2. Like r73296, we don't need to set continuation on an
103146        anonymous block since we haven't split a real element.
103147
103148        Test: fast/multicol/span/runin-continuation-crash.html
103149
103150        * rendering/RenderBlock.cpp:
103151        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
103152        (WebCore::RenderBlock::handleRunInChild):
103153
1031542012-02-28  Abhishek Arya  <inferno@chromium.org>
103155
103156        Incorrect before child parent calculation when adding new children
103157        to anonymous column blocks.
103158        https://bugs.webkit.org/show_bug.cgi?id=79755
103159
103160        Reviewed by David Hyatt.
103161
103162        before child can be wrapped in anonymous containers, so need to
103163        take care of that in before child parent calculation.
103164
103165        Test: fast/multicol/span/before-child-anonymous-column-block.html
103166
103167        * rendering/RenderBlock.cpp:
103168        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
103169
1031702012-02-28  Ned Holbrook  <nholbrook@apple.com>
103171
103172        Reimplement pathFromFont() in SimpleFontDataMac.mm
103173        https://bugs.webkit.org/show_bug.cgi?id=79811
103174
103175        Reviewed by Dan Bernstein.
103176
103177        Debug-only function, so no new tests.
103178
103179        * platform/graphics/mac/SimpleFontDataMac.mm:
103180        (WebCore::pathFromFont): Reimplemented.
103181
1031822012-02-28  Alexis Menard  <alexis.menard@openbossa.org>
103183
103184        getComputedStyle fails for 'first-line' pseudo-element
103185        https://bugs.webkit.org/show_bug.cgi?id=57505
103186
103187        Reviewed by Tony Chang.
103188
103189        Querying the selector with a pseudo-element using getComputedStyle should work
103190        even if the selector was not declared in the stylesheet. When not declared, we need
103191        to use the RenderStyle created to do the rendering as there is no pseudo-style.
103192        This match the behavior of Firefox.
103193
103194        No new tests : Updated expectation and extended getComputedStyle-with-pseudo-element.html.
103195
103196        * dom/Element.cpp:
103197        (WebCore::Element::computedStyle):
103198
1031992012-02-28  Ashod Nakashian  <ashodnakashian@yahoo.com>
103200
103201        Move FILE_SYSTEM code out of WorkerContext and into the fileapi folder
103202        https://bugs.webkit.org/show_bug.cgi?id=79449
103203
103204        Reviewed by Adam Barth.
103205
103206        This moves FILE_SYSTEM code out of WorkerContext and into the fileapi/WorkerContextFileSystem.
103207        None-functional changes, no new tests necessary.
103208
103209        * CMakeLists.txt:
103210        * DerivedSources.make:
103211        * DerivedSources.pri:
103212        * GNUmakefile.list.am:
103213        * Target.pri:
103214        * WebCore.gypi:
103215        * WebCore.vcproj/WebCore.vcproj:
103216        * fileapi/WorkerContextFileSystem.cpp: Added.
103217        (WebCore):
103218        (WebCore::WorkerContextFileSystem::webkitRequestFileSystem):
103219        (WebCore::WorkerContextFileSystem::webkitRequestFileSystemSync):
103220        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemURL):
103221        (WebCore::WorkerContextFileSystem::webkitResolveLocalFileSystemSyncURL):
103222        * fileapi/WorkerContextFileSystem.h: Added.
103223        (WebCore):
103224        (WorkerContextFileSystem):
103225        * fileapi/WorkerContextFileSystem.idl: Added.
103226        * workers/WorkerContext.cpp:
103227        (WebCore::WorkerContext::ensureEventTargetData):
103228        * workers/WorkerContext.h:
103229        (WebCore):
103230        (WorkerContext):
103231        * workers/WorkerContext.idl:
103232
1032332012-02-28  Alexey Proskuryakov  <ap@apple.com>
103234
103235        FileReader crashes when file is not readable
103236        https://bugs.webkit.org/show_bug.cgi?id=79715
103237
103238        Reviewed by Jian Li.
103239
103240        Test: fast/files/file-reader-directory-crash.html
103241
103242        * platform/SharedBuffer.cpp: (WebCore::SharedBuffer::SharedBuffer): Crash early if a caller
103243        mixed up in-band error signal with length again.
103244
103245        * platform/network/BlobResourceHandle.cpp:
103246        (WebCore): Changed errors into an enum. Added a proper domain for blob errors.
103247        (WebCore::BlobResourceHandle::didReceiveResponse): There is already a constant for INT_MAX
103248        in C/C++.
103249        (WebCore::BlobResourceHandle::didRead): Don't send "-1" for failure down the success path.
103250        (WebCore::BlobResourceHandle::notifyFail): Use a proper domain for blob errors, and a non-
103251        empty message.
103252
1032532012-02-28  Adam Klein  <adamk@chromium.org>
103254
103255        Unreviewed, fix cr-win build after r109119.
103256
103257        * platform/graphics/chromium/TransparencyWin.h:
103258        (TransparencyWin):
103259
1032602012-02-28  Mario Sanchez Prada  <msanchez@igalia.com>
103261
103262        [GTK] Add GMainLoop and GMainContext to be handled by GRefPtr
103263        https://bugs.webkit.org/show_bug.cgi?id=79496
103264
103265        Reviewed by Martin Robinson.
103266
103267        Updated places where raw pointers to GMainLoop and GMainContext
103268        were being used, replacing them with GRefPtr-based code.
103269
103270        * platform/RunLoop.h:
103271        (RunLoop):
103272        * platform/gtk/RunLoopGtk.cpp:
103273        (WebCore::RunLoop::RunLoop):
103274        (WebCore::RunLoop::~RunLoop):
103275        (WebCore::RunLoop::mainLoop):
103276        (WebCore::RunLoop::stop):
103277        (WebCore::RunLoop::wakeUp):
103278        (WebCore::RunLoop::TimerBase::start):
103279        * platform/network/soup/ResourceHandleSoup.cpp:
103280        (WebCoreSynchronousLoader):
103281        (WebCore::WebCoreSynchronousLoader::WebCoreSynchronousLoader):
103282        (WebCore::WebCoreSynchronousLoader::~WebCoreSynchronousLoader):
103283        (WebCore::WebCoreSynchronousLoader::didFinishLoading):
103284        (WebCore::WebCoreSynchronousLoader::run):
103285
1032862012-02-28  Alok Priyadarshi  <alokp@chromium.org>
103287
103288        Heap-use-after-free in WebCore::RenderLayer::addChild
103289        https://bugs.webkit.org/show_bug.cgi?id=79698
103290
103291        Reviewed by Simon Fraser.
103292
103293        This patch fixes a regression introduced in r108659.
103294        The reflection layer was moved to the parent by mistake. It was then
103295        deleted and the parent was left holding on to a deleted pointer. This
103296        patch restores the location where reflection layer is removed - before
103297        moving the child layers.
103298
103299        Test: fast/reflections/toggle-reflection-crash.html
103300
103301        * rendering/RenderLayer.cpp:
103302        (WebCore::RenderLayer::removeOnlyThisLayer):
103303
1033042012-02-28  Ken Buchanan  <kenrb@chromium.org>
103305
103306        Crash from list marker having inline and block children
103307        https://bugs.webkit.org/show_bug.cgi?id=79793
103308
103309        Reviewed by Julien Chaffraix.
103310
103311        Crashing condition in which an anonymous block was being collapsed
103312        even though it had a block sibling. removeChild() was not checking
103313        for siblings that might precede :before content renderers, such
103314        as list items. This patch corrects that.
103315
103316        * rendering/RenderBlock.cpp:
103317        (WebCore::RenderBlock::removeChild)
103318
1033192012-02-28  Adam Klein  <adamk@chromium.org>
103320
103321        Unreviewed, speculative test fix after r109016.
103322
103323        * platform/graphics/chromium/TransparencyWin.cpp:
103324        (WebCore::TransparencyWin::OwnedBuffers::OwnedBuffers): Explicitly pass a scale of 1 to ImageBuffer::create.
103325        * platform/graphics/chromium/TransparencyWin.h:
103326        (WebCore): Update names of re-enabled tests.
103327
1033282012-02-28  Antti Koivisto  <antti@apple.com>
103329
103330        Give StyleRule files of its own
103331        https://bugs.webkit.org/show_bug.cgi?id=79778
103332
103333        Totally rubber-stamped by Andreas Kling.
103334
103335        * CMakeLists.txt:
103336        * GNUmakefile.list.am:
103337        * Target.pri:
103338        * WebCore.gypi:
103339        * WebCore.vcproj/WebCore.vcproj:
103340        * WebCore.xcodeproj/project.pbxproj:
103341        * css/CSSParser.cpp:
103342        * css/CSSStyleRule.cpp:
103343        (WebCore):
103344        (WebCore::CSSStyleRule::style):
103345        * css/CSSStyleRule.h:
103346        (WebCore):
103347        (CSSStyleRule):
103348        * css/CSSStyleSelector.cpp:
103349        * css/CSSStyleSheet.cpp:
103350        * css/StyleRule.cpp: Copied from Source/WebCore/css/CSSStyleRule.cpp.
103351        (WebCore):
103352        * css/StyleRule.h: Copied from Source/WebCore/css/CSSStyleRule.h.
103353        (WebCore):
103354        * editing/EditingStyle.cpp:
103355        * inspector/InspectorCSSAgent.cpp:
103356        * inspector/InspectorInstrumentation.cpp:
103357        * inspector/InspectorStyleSheet.cpp:
103358        * page/PageSerializer.cpp:
103359
1033602012-02-28  Pavel Feldman  <pfeldman@google.com>
103361
103362        Web Inspector: remove window aspects from the timeline presentation model.
103363        https://bugs.webkit.org/show_bug.cgi?id=79803
103364
103365        Reviewed by Yury Semikhatsky.
103366
103367        * inspector/front-end/TimelineOverviewPane.js:
103368        (WebInspector.TimelineOverviewPane):
103369        (WebInspector.TimelineOverviewPane.prototype.accept):
103370        (WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
103371        (WebInspector.TimelineOverviewPane.prototype.windowLeft):
103372        (WebInspector.TimelineOverviewPane.prototype.windowRight):
103373        (WebInspector.TimelineOverviewPane.prototype._fireWindowChanged):
103374        (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
103375        (WebInspector.TimelineOverviewPane.WindowSelector):
103376        * inspector/front-end/TimelinePanel.js:
103377        (WebInspector.TimelinePanel):
103378        (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
103379        (WebInspector.TimelinePanel.prototype._updateBoundaries):
103380        * inspector/front-end/TimelinePresentationModel.js:
103381        (WebInspector.TimelinePresentationModel.prototype.reset):
103382        (WebInspector.TimelineCategory):
103383        (WebInspector.TimelineCategory.prototype.get hidden):
103384        (WebInspector.TimelineCategory.prototype.set hidden):
103385
1033862012-02-28  Kenneth Rohde Christiansen  <kenneth@webkit.org>
103387
103388        Improve the visual of the tiling
103389        https://bugs.webkit.org/show_bug.cgi?id=79648
103390
103391        Reviewed by Noam Rosenthal.
103392
103393        When we cover the view with tiles[1], we do so from the center
103394        and out, in bigger and bigger cicles by finding the current minimum
103395        covered distance.
103396
103397        This looks like painting a rect, then a cross, then a rect, ...
103398        and can be noticed when a page blocks during tiling.
103399
103400        We can do this better by only covering with tiles in rects at a time.
103401
103402        The original code was done so that it gave preference to tiles in
103403        vertical direction due to that being the most common scrolling
103404        direction. This is not needed anymore as we are now using the
103405        trajectory vector when panning, which always gives preference for
103406        creating tiles in the panned direction.
103407
103408        [1] It should be noted that we always cover the visibleRect in one go,
103409            and that we here are talking about covering the coverRect beyond
103410            the visibleRect
103411
103412        * platform/graphics/TiledBackingStore.cpp:
103413        (WebCore::TiledBackingStore::tileDistance):
103414
1034152012-02-28  Yury Semikhatsky  <yurys@chromium.org>
103416
103417        Web Inspector: preserve memory counters size after frontend reopening
103418        https://bugs.webkit.org/show_bug.cgi?id=79792
103419
103420        Clear collected counter values when timeline panel is reset. Persist
103421        timeline grid/counters splitter position to restore it when front-end
103422        is opened next time.
103423
103424        Reviewed by Pavel Feldman.
103425
103426        * inspector/front-end/MemoryStatistics.js:
103427        (WebInspector.MemoryStatistics.prototype.reset):
103428        * inspector/front-end/TimelinePanel.js:
103429        (WebInspector.TimelinePanel):
103430        (WebInspector.TimelinePanel.prototype._setSplitterPosition):
103431        (WebInspector.TimelinePanel.prototype._resetPanel):
103432        * inspector/front-end/timelinePanel.css:
103433        (#counter-values-bar):
103434
1034352012-02-28  Pavel Feldman  <pfeldman@google.com>
103436
103437        Web Inspector: move filtering of the timeline records into the presentation model.
103438        https://bugs.webkit.org/show_bug.cgi?id=79789
103439
103440        Reviewed by Yury Semikhatsky.
103441
103442        * inspector/front-end/TimelineModel.js:
103443        * inspector/front-end/TimelineOverviewPane.js:
103444        (WebInspector.TimelineOverviewPane):
103445        (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
103446        (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
103447        (WebInspector.TimelineOverviewPane.prototype.accept):
103448        (WebInspector.TimelineOverviewPane.prototype._setWindowIndices):
103449        (WebInspector.TimelineStartAtZeroOverview):
103450        (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
103451        * inspector/front-end/TimelinePanel.js:
103452        (WebInspector.TimelinePanel):
103453        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
103454        (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
103455        (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
103456        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
103457        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
103458        (WebInspector.TimelinePanel.prototype._resetPanel):
103459        (WebInspector.TimelinePanel.prototype._refresh):
103460        (WebInspector.TimelinePanel.prototype.revealRecordAt):
103461        (WebInspector.TimelinePanel.prototype._refreshRecords):
103462        (WebInspector.TimelineExpandableElement.prototype._update):
103463        (WebInspector.TimelineCategoryFilter):
103464        (WebInspector.TimelineCategoryFilter.prototype.accept):
103465        (WebInspector.TimelineIsLongFilter):
103466        (WebInspector.TimelineIsLongFilter.prototype.accept):
103467        * inspector/front-end/TimelinePresentationModel.js:
103468        (WebInspector.TimelinePresentationModel):
103469        (WebInspector.TimelinePresentationModel.prototype.addFilter):
103470        (WebInspector.TimelinePresentationModel.prototype.reset):
103471        (WebInspector.TimelinePresentationModel.prototype.minimumRecordTime):
103472        (WebInspector.TimelinePresentationModel.prototype.maximumRecordTime):
103473        (WebInspector.TimelinePresentationModel.prototype.addRecord):
103474        (WebInspector.TimelinePresentationModel.prototype._updateBoundaries):
103475        (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
103476        (WebInspector.TimelinePresentationModel.prototype.setGlueRecords):
103477        (WebInspector.TimelinePresentationModel.prototype.fireWindowChanged):
103478        (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
103479        (WebInspector.TimelinePresentationModel.prototype.filteredRecords):
103480        (WebInspector.TimelinePresentationModel.prototype._filterRecords):
103481        (WebInspector.TimelinePresentationModel.Record.prototype.get visibleChildrenCount):
103482        (WebInspector.TimelinePresentationModel.Record.prototype.get invisibleChildrenCount):
103483        (WebInspector.TimelinePresentationModel.Filter):
103484        (WebInspector.TimelinePresentationModel.Filter.prototype.accept):
103485
1034862012-02-28  Florin Malita  <fmalita@google.com>
103487
103488        Percent width/height SVG not always scaled on window resize
103489        https://bugs.webkit.org/show_bug.cgi?id=79490
103490
103491        Reviewed by Nikolas Zimmermann.
103492
103493        Tests: fast/repaint/percent-minheight-resize-expected.html
103494               fast/repaint/percent-minheight-resize.html
103495               svg/custom/svg-percent-scale-expected.html
103496               svg/custom/svg-percent-scale-vonly-expected.html
103497               svg/custom/svg-percent-scale-vonly.html
103498               svg/custom/svg-percent-scale.html
103499
103500        Fix a couple of problems preventing correct SVG scaling on window resize:
103501
103502        - RenderReplaced::computePreferredLogicalWidths is not SVG attribute aware and computes
103503        a non-zero m_minPreferredLogicalWidth even when the SVG widh/height are percentages.
103504
103505        - RenderBlock::layoutInlineChildren is also not SVG attribute aware and does not trigger
103506        percent height child layouts on vertical-only resizes.
103507
103508        * rendering/RenderBlockLineLayout.cpp:
103509        (WebCore::RenderBlock::layoutInlineChildren):
103510        Use hasRelativeDimensions() instead of direct width/height->isPercent tests. This also fixes
103511        an HTML issue where percent {min,max}Height inline elements are not updated on vertical-only resizes.
103512
103513        * rendering/RenderBox.cpp:
103514        (WebCore::RenderBox::hasRelativeDimensions):
103515        (WebCore):
103516        * rendering/RenderBox.h:
103517        (RenderBox):
103518        Add virtual hasRelativeDimensions() method.
103519
103520        * rendering/RenderReplaced.cpp:
103521        (WebCore::RenderReplaced::computePreferredLogicalWidths):
103522        Use hasRelativeDimensions() instead of direct width/height->isPercent tests.
103523
103524        * rendering/svg/RenderSVGRoot.cpp:
103525        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
103526        (WebCore::RenderSVGRoot::willBeDestroyed):
103527        Register percent-height SVG elements with the gPercentHeightDescendantsMap, and clean-up on destruction
103528        or height unit change.
103529
103530        (WebCore::RenderSVGRoot::hasRelativeDimensions):
103531        (WebCore):
103532        * rendering/svg/RenderSVGRoot.h:
103533        (RenderSVGRoot):
103534        SVG-aware hasRelativeDimensions() override.
103535
1035362012-02-28  Yury Semikhatsky  <yurys@chromium.org>
103537
103538        Web Inspector: show resource dividers on memory counter graphs
103539        https://bugs.webkit.org/show_bug.cgi?id=79782
103540
103541        Resource dividers are drawn on the memory counter graphs.
103542
103543        Reviewed by Pavel Feldman.
103544
103545        * inspector/front-end/MemoryStatistics.js:
103546        (WebInspector.MemoryStatistics.prototype.updateDividers):
103547        (WebInspector.MemoryStatistics.prototype.setMainTimelineGrid):
103548        (WebInspector.MemoryStatistics.prototype._updateSize):
103549        (WebInspector.MemoryStatistics.prototype.show):
103550        (WebInspector.MemoryStatistics.prototype.refresh):
103551        (WebInspector.MemoryStatistics.prototype._refreshDividers):
103552        * inspector/front-end/TimelineGrid.js:
103553        (WebInspector.TimelineGrid.prototype.get dividersElement):
103554        (WebInspector.TimelineGrid.prototype.updateDividers):
103555        * inspector/front-end/TimelinePanel.js:
103556        (WebInspector.TimelinePanel):
103557        (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
103558        (WebInspector.TimelinePanel.prototype._refreshRecords):
103559        (WebInspector.TimelinePanel.prototype.get timlinePaddingLeft):
103560        * inspector/front-end/timelinePanel.css:
103561        (#memory-graphs-canvas-container):
103562        (#memory-graphs-canvas-container .resources-dividers):
103563
1035642012-02-28  Nikolas Zimmermann  <nzimmermann@rim.com>
103565
103566        Integrate SVGUseElement within the new shadow root concept
103567        https://bugs.webkit.org/show_bug.cgi?id=78902
103568
103569        Reviewed by Zoltan Herczeg.
103570
103571        Replace SVG shadow tree implementation with the new, modern #shadow-root implementation.
103572
103573        Current situation in trunk:
103574        SVGUseElement doesn't create/hold the shadow tree, unlike its expected in
103575        the modern #shadow-root concept, but its renderer RenderSVGShadowTreeRootContainer.
103576        That creates a cycle, as the actual DOM tree is stored as RefPtr<SVGGElement> inside
103577        a renderer - that's weak conceptually, and has lead to sublte security bugs in the past.
103578
103579        Whenever a target element of a <use> element changed, invalidateShadowTree() is called
103580        which calls setNeedsStyleRecalc(), and sets m_needsShadodwTreeRecreation to true.
103581        Once style recalculation happens, the RenderSVGShadowTreeRootContainer then eventually
103582        built the shadow tree, by cloning the target node, building the SVGElementInstance tree
103583        etc, -- all within the render tree.
103584
103585        To easy reviewing, here's a dump of the current render tree for a simple <use> example:
103586        <defs><rect id="rect"/></defs><use xlink:href="#rect"/>
103587
103588        Dump of render tree:
103589        RenderSVGHiddenContainer {defs}        // <defs> (SVGDefsElement)
103590            RenderSVGRect {rect}               // <rect> (SVGRectElement)
103591        RenderSVGShadowTreeRootContainer {use} // <use> (SVGUseElement)
103592            RenderSVGContainer {g}             // <g> (SVGShadowTreeRootElement)
103593                RenderSVGRect {rect}           // <rect> (SVGRectElement, clone of <rect> in <defs>)
103594
103595        The SVGShadowTreeRootElement is created & stored by RenderSVGShadowTreeRootContainer,
103596        the renderer of the <use> element. The RenderSVGTransformableContainer renderer created
103597        for the SVGShadowTreeRootElement stores the x/y translation induced by the <use> attributes.
103598
103599        There are lots of places all over WebCore that assume the existance of a <g> renderer
103600        as first child of the <use> element, representing the "SVG shadow tree root".
103601
103602        Summary of this patch:
103603        Let SVGUseElement create&maintain a #shadow-root, and append the cloned target elements
103604        into this shadow root. We no longer have to take care of attachment/detachment, style
103605        recalculation, etc. - that's handled transparenly by ShadowRoot(List) now.
103606
103607        This makes SVGShadowTreeElements & RenderSVGShadowTreeRootContainer obsolete. Switch
103608        SVGUseElement to create a RenderSVGTransformableContainer as its renderer, and make
103609        it respect the translation induced by the x/y attributes, given for a <use> element.
103610
103611        Remove all occourences of SVGShadowRoot, remove all special cases it induced.
103612
103613        It's all covered by existing tests, took a while to make them all pass again.
103614
103615        * CMakeLists.txt: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build.
103616        * GNUmakefile.list.am: Ditto.
103617        * Target.pri: Ditto.
103618        * WebCore.gypi: Ditto.
103619        * WebCore.vcproj/WebCore.vcproj: Ditto.
103620        * WebCore.xcodeproj/project.pbxproj: Ditto.
103621        * css/CSSStyleSelector.cpp:
103622        (WebCore::CSSStyleSelector::collectMatchingRulesForList): Enable fast path for selector checking, now that special shadow tree rules are gone.
103623        * css/SelectorChecker.cpp:
103624        (WebCore::linkAttribute): No need to guard this code with ENABLE(SVG).
103625        (WebCore::SelectorChecker::checkSelector): Remove obsolete SVG shadow root special case.
103626        * dom/EventDispatcher.cpp:
103627        (WebCore::eventTargetRespectingSVGTargetRules): Remove loop, simplify & cleanup this code.
103628        (WebCore::EventDispatcher::adjustToShadowBoundaries): s/isShadowRootOrSVGShadowRoot/isShadowRoot/.
103629        (WebCore::EventDispatcher::adjustRelatedTarget): Ditto.
103630        (WebCore::EventDispatcher::ensureEventAncestors): Simplify logic for SVG, fixed a FIXME.
103631        * dom/Node.cpp: Remove obsolete svgShadowHost().
103632        (WebCore::Node::shadowTreeRootNode): Remove obsolete isSVGShadowRoot() checks.
103633        (WebCore::Node::nonBoundaryShadowTreeRootNode): Ditto.
103634        (WebCore::Node::isInShadowTree): Make it const.
103635        * dom/Node.h: Remove isSVGShadowRoot/svgShadowHost.
103636        (WebCore::Node::isShadowRoot): s/IsShadowRootOrSVGShadowRootFlag/isShadowRoot/.
103637        (WebCore::Node::parentNode): Augment comments.
103638        (WebCore::Node::parentNodeGuaranteedHostFree): Ditto.
103639        * dom/Range.cpp:
103640        (WebCore::Range::checkNodeBA): Remove obsolete SVG shadow root special case.
103641        * dom/ScriptElement.cpp:
103642        (WebCore::ScriptElement::prepareScript): Ditto.
103643        * rendering/RenderObject.h: Remove isSVGShadowTreeRootContainer.
103644        (WebCore::RenderObject::isSVGTransformableContainer): Added.
103645        * rendering/svg/RenderSVGAllInOne.cpp: Remove SVGShadowTreeElements/RenderSVGShadowTreeRootContainer from build.
103646        * rendering/svg/RenderSVGModelObject.cpp:
103647        (WebCore::isGraphicsElement): To check for <use>, a tag name comparision is needed now, as it no longer has a special renderer.
103648        * rendering/svg/RenderSVGResourceClipper.cpp:
103649        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage): Ditto.
103650        (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect): Ditto.
103651        (WebCore::RenderSVGResourceClipper::hitTestClipContent): Ditto.
103652        * rendering/svg/RenderSVGResourceContainer.cpp: Remove RenderSVGShadowTreeRootContainer.h include.
103653        * rendering/svg/RenderSVGShadowTreeRootContainer.cpp: Removed.
103654        * rendering/svg/RenderSVGShadowTreeRootContainer.h: Removed.
103655        * rendering/svg/RenderSVGTransformableContainer.cpp: Keep track of last used additional x/y translation.
103656        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform): Handle x/y translation for <use> contains here, instead of storing it in the SVGShadowTreeRootElement.
103657        * rendering/svg/RenderSVGTransformableContainer.h: Store last used x/y translation.
103658        (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer): Return true.
103659        (WebCore::toRenderSVGTransformableContainer): Add conversion helpers.
103660        * rendering/svg/RenderSVGViewportContainer.cpp: Ditto.
103661        (WebCore::RenderSVGViewportContainer::calcViewport): Handle width/height attributes inheritance from the <use> element, if we're a <svg> or <symbol> replacement in the shadow tree.
103662        * rendering/svg/RenderSVGViewportContainer.h: Remove isSVGContainer() override which is not needed here (already present in RenderSVGContainer).
103663        * rendering/svg/SVGShadowTreeElements.cpp: Removed.
103664        * rendering/svg/SVGShadowTreeElements.h: Removed.
103665        * svg/SVGAElement.cpp:
103666        (WebCore::SVGAElement::createRenderer): Check if parentNode is really a SVGElement, before casting.
103667        * svg/SVGElement.cpp:
103668        (WebCore::SVGElement::isOutermostSVGSVGElement): Early exit if tag name isn't <svg>, or if we're in a shadow tree (can't be an outermost <svg> element then).
103669        (WebCore::hasLoadListener): Deploy parentOrHostElement() usage to remove any special cases, related to shadow boundaries.
103670        (WebCore::SVGElement::sendSVGLoadEventIfPossible): Ditto.
103671        (WebCore::SVGElement::customStyleForRenderer): Ditto.
103672        * svg/SVGElementInstance.cpp:
103673        (WebCore::SVGElementInstance::invalidateAllInstancesOfElement): Call updateStyleIfNeeded() instead of updateLayoutIgnorePendingStylesheets().
103674        * svg/SVGGElement.cpp:
103675        (WebCore::SVGGElement::rendererIsNeeded): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now.
103676        * svg/SVGGElement.h: Remove obsolete isShadowTreeContainerElement().
103677        * svg/SVGLocatable.cpp:
103678        (WebCore::SVGLocatable::nearestViewportElement): s/parentNode/parentOrHostElement/ - we need to cross shadow boundaries now.
103679        (WebCore::SVGLocatable::farthestViewportElement): Ditto.
103680        (WebCore::SVGLocatable::computeCTM): Ditto.
103681        * svg/SVGStyledElement.cpp:
103682        (WebCore::SVGStyledElement::title): Ditto. (+ simplify code a lot, no need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.)
103683        (WebCore::SVGStyledElement::rendererIsNeeded): Ditto.
103684        * svg/SVGUseElement.cpp:
103685        (WebCore::SVGUseElement::SVGUseElement): Remove no longer needed m_updatesBlocked.
103686        (WebCore::SVGUseElement::create): Always call ensureShadowRoot(), to create a #shadow-root, upon creating a SVGUseElement.
103687        (WebCore::SVGUseElement::insertedIntoDocument): Align with SVGFEImageElement/SVGTRefElement - call buildPendingResource() from insertedIntoDocument(), finally! (no renderer needed anymore to update the SVG shadow subtree).
103688        (WebCore::SVGUseElement::removedFromDocument): Align with SVGFEImageElement/SVGTRefElement - immediately release the SVGElementInstance & shadow tree, once we're removed from the document.
103689        (WebCore::SVGUseElement::svgAttributeChanged): Simplify code a lot, no longer need to deal with x/y/width/height attributes, the renderes in the shadow tree grab these values from their corresponding <use> elements automatically now.
103690        (WebCore::SVGUseElement::willRecalcStyle):
103691            New main part of the logic. invalidateShadowTree() calls setNeedsStyleRecalc, and sets m_needsShadowTreeRecreation=true. If we encounter this case, force rebuilding the SVG shadow tree
103692            and the SVGElementInstance tree, immediately, before executing the actual style recalc. This allows us to lazily rebuild the SVG shadow tree for the <use> element. Consider:
103693            <defs><rect id="rect"></defs> <use xlink:href="#rect"/>. Now from a script we change the rect x/y/width/height attributes:
103694            rect.setAttribute("x", "10"); rect.setAttribute("y", "10")... each call will lead to a SVGUseElement::invalidateShadowTree() call by SVGElementInstance::invalidateAllInstancesOfElement, invoked after the <rect> element got parsed.
103695            This won't update the shadow tree four times, but only once upon the next style recalculation - otherwise performance is a nightmare.
103696            This will serve as future starting point, to explore partial SVG subtree re-clones, which should easily be doable now.
103697        (WebCore::dumpInstanceTree): Add a 'static' to allow DUMP_INSTANCE_TREE to be used in clang builds.
103698        (WebCore::SVGUseElement::clearResourceReferences): Added helper to release instance & shadow tree.
103699        (WebCore::SVGUseElement::buildPendingResource): Modeled exactly like SVGFEImageElement/SVGTRefElement. It's possible to share more code between these in future.
103700        (WebCore::SVGUseElement::buildShadowAndInstanceTree): Cleanup code, adapt to new shadow-root concept.
103701        (WebCore::SVGUseElement::createRenderer): Create a RenderSVGTransformableContainer, no longer a <use> specific renderer.
103702        (WebCore::removeDisallowedElementsFromSubtree): Use new replacedChild/appendChild variants, that don't require a ExceptionCode to be passed in.
103703        (WebCore::SVGUseElement::buildShadowTree): Ditto.
103704        (WebCore::SVGUseElement::expandUseElementsInShadowTree): Ditto.
103705        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Ditto.
103706        (WebCore::SVGUseElement::invalidateShadowTree): Only trigger style recalculations if needed.
103707        * svg/SVGUseElement.h: Remove lots of now unnecessary overrides: attach/detach/didRecalcStyle/updateContainerOffset/updateContainerSizes/etc..
103708        * svg/animation/SVGSMILElement.cpp:
103709        (WebCore::SVGSMILElement::insertedIntoDocument): No need to walk the shadow tree to find its root anymore, use isInShadowTree() helper.
103710
1037112012-02-28  Shinya Kawanaka  <shinyak@chromium.org>
103712
103713        Element should be able to have multiple shadow roots.
103714        https://bugs.webkit.org/show_bug.cgi?id=77931
103715
103716        Reviewed by Hajime Morita.
103717
103718        This patch enables us to add multiple shadow subtrees into elements.
103719        Note that multiple shadow subtrees are enabled
103720        only if RuntimeEnabledFeatures::multipleShadowSubtrees is enabled.
103721
103722        Since we don't have <shadow> element yet, only the youngest shadow tree
103723        will be rendered. This patch includes tests to confirm adding a new shadow
103724        tree dynamically to confirm only the youngest shadow tree is renderered.
103725
103726        Tests: fast/dom/shadow/multiple-shadowroot-rendering.html
103727               fast/dom/shadow/multiple-shadowroot.html
103728
103729        * WebCore.exp.in:
103730        * dom/Element.cpp:
103731          Uses ShadowRootList interfaces directly instead of ShadowRootList emulation methods.
103732        (WebCore::Element::~Element):
103733        (WebCore::Element::attach):
103734        (WebCore::Element::addShadowRoot):
103735        (WebCore::Element::removeShadowRootList):
103736        * dom/Element.h:
103737        (Element):
103738        * dom/NodeRenderingContext.cpp:
103739          Makes non-youngest shadow subtrees hidden.
103740        (WebCore::NodeRenderingContext::NodeRenderingContext):
103741        (WebCore::NodeRenderingContext::hostChildrenChanged):
103742          Since non-youngest children may be changed, make sure host children are changed.
103743        * dom/ShadowRoot.cpp:
103744        (WebCore::ShadowRoot::create):
103745        * dom/ShadowRoot.h:
103746          Utility methods to make code intention clear are added.
103747        (WebCore::ShadowRoot::youngerShadowRoot):
103748        (WebCore::ShadowRoot::olderShadowRoot):
103749        (ShadowRoot):
103750        (WebCore::ShadowRoot::isYoungest):
103751        (WebCore::ShadowRoot::isOldest):
103752        * dom/ShadowRootList.cpp:
103753        (WebCore::ShadowRootList::popShadowRoot):
103754        (WebCore::ShadowRootList::attach):
103755        (WebCore::ShadowRootList::detach):
103756          Detaches shadow subtrees.
103757        * testing/Internals.cpp:
103758        (WebCore::Internals::address):
103759        (WebCore):
103760        (WebCore::Internals::youngerShadowRoot):
103761        (WebCore::Internals::olderShadowRoot):
103762        (WebCore::Internals::removeShadowRoot):
103763        * testing/Internals.h:
103764        (Internals):
103765        * testing/Internals.idl:
103766
1037672012-02-28  Antti Koivisto  <antti@apple.com>
103768
103769        Split CSSStyleRule into internal and CSSOM type
103770        https://bugs.webkit.org/show_bug.cgi?id=79763
103771
103772        Reviewed by Andreas Kling.
103773
103774        - Split the data out as StyleRule
103775        - Make CSSStyleSelector operate on StyleRule instead of CSSStyleRule
103776        
103777        This is an intermediate step. Both CSSStyleRule and StyleRule are still always constructed so
103778        the patch increases memory consumption by a few pointers per css rule. Upcoming
103779        patches will make CSSStyleRules to be constructed on demand.
103780        
103781        The patch does not yet move StyleRule to a file of its own.
103782
103783        * css/CSSPageRule.cpp:
103784        (WebCore::CSSPageRule::CSSPageRule):
103785        * css/CSSPageRule.h:
103786        (WebCore::CSSPageRule::create):
103787        (CSSPageRule):
103788        * css/CSSParser.cpp:
103789        (WebCore::CSSParser::createStyleRule):
103790        (WebCore::CSSParser::createPageRule):
103791        * css/CSSRule.h:
103792        (WebCore::CSSRule::CSSRule):
103793        (CSSRule):
103794        * css/CSSStyleRule.cpp:
103795        (WebCore::StyleRule::StyleRule):
103796        (WebCore):
103797        (WebCore::StyleRule::~StyleRule):
103798        (WebCore::StyleRule::addSubresourceStyleURLs):
103799        (WebCore::StyleRule::ensureCSSStyleRule):
103800        (WebCore::CSSStyleRule::CSSStyleRule):
103801        (WebCore::CSSStyleRule::~CSSStyleRule):
103802        (WebCore::CSSStyleRule::generateSelectorText):
103803        (WebCore::CSSStyleRule::setSelectorText):
103804        (WebCore::CSSStyleRule::cssText):
103805        * css/CSSStyleRule.h:
103806        (WebCore):
103807        (StyleRule):
103808        (WebCore::StyleRule::selectorList):
103809        (WebCore::StyleRule::properties):
103810        (WebCore::StyleRule::sourceLine):
103811        (WebCore::StyleRule::adoptSelectorVector):
103812        (WebCore::StyleRule::adoptSelectorList):
103813        (WebCore::StyleRule::setProperties):
103814        (WebCore::CSSStyleRule::create):
103815        (WebCore::CSSStyleRule::style):
103816        (CSSStyleRule):
103817        (WebCore::CSSStyleRule::styleRule):
103818        * css/CSSStyleSelector.cpp:
103819        (RuleData):
103820        (WebCore::RuleData::rule):
103821        (RuleSet):
103822        (WebCore::CSSStyleSelector::addMatchedProperties):
103823        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
103824        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
103825        * css/CSSStyleSelector.h:
103826        (WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):
103827        (RuleSelectorPair):
103828        (MatchResult):
103829        (CSSStyleSelector):
103830        * css/CSSStyleSheet.cpp:
103831        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
103832        * editing/EditingStyle.cpp:
103833        (WebCore::styleFromMatchedRulesForElement):
103834        * inspector/InspectorCSSAgent.cpp:
103835        (WebCore::SelectorProfile::startSelector):
103836        * inspector/InspectorInstrumentation.cpp:
103837        (WebCore::InspectorInstrumentation::willMatchRuleImpl):
103838        (WebCore::InspectorInstrumentation::willProcessRuleImpl):
103839        * inspector/InspectorInstrumentation.h:
103840        (WebCore):
103841        (InspectorInstrumentation):
103842        (WebCore::InspectorInstrumentation::willMatchRule):
103843        (WebCore::InspectorInstrumentation::willProcessRule):
103844        * inspector/InspectorStyleSheet.cpp:
103845        (WebCore::InspectorStyleSheet::buildObjectForRule):
103846        (WebCore::InspectorStyleSheet::revalidateStyle):
103847        * page/PageSerializer.cpp:
103848        (WebCore::PageSerializer::serializeFrame):
103849        (WebCore::PageSerializer::serializeCSSStyleSheet):
103850        (WebCore::PageSerializer::retrieveResourcesForRule):
103851        (WebCore::PageSerializer::retrieveResourcesForProperties):
103852        * page/PageSerializer.h:
103853        (WebCore):
103854        (PageSerializer):
103855
1038562012-02-28  Roland Steiner  <rolandsteiner@chromium.org>
103857
103858        RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled should not be inline
103859        https://bugs.webkit.org/show_bug.cgi?id=79753
103860
103861        Moved the function implementation to the .cpp file.
103862
103863        Reviewed by Hajime Morita.
103864
103865        No new tests. (no functional change)
103866
103867        * bindings/generic/RuntimeEnabledFeatures.cpp:
103868        (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
103869        (WebCore):
103870        * bindings/generic/RuntimeEnabledFeatures.h:
103871        (RuntimeEnabledFeatures):
103872
1038732012-02-28  Noel Gordon  <noel.gordon@gmail.com>
103874
103875        Fix comment about RGB swizzle decoding and Adobe transform=0 images
103876        https://bugs.webkit.org/show_bug.cgi?id=79457
103877
103878        Unreviewed. No new tests, comment change only.
103879
103880        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
103881        (WebCore::JPEGImageReader::decode):
103882
1038832012-02-27  Shinya Kawanaka  <shinyak@chromium.org>
103884
103885        Element::removeShadowRoot() and setShadowRoot() should be moved into ShadowTree.
103886        https://bugs.webkit.org/show_bug.cgi?id=78313
103887
103888        Reviewed by Hajime Morita.
103889
103890        This patch is for refactoring ShadowTree related code.
103891          (1) Element::removeShadowRoot() and Element::setShadowRoot() are moved into ShadowTree.
103892          (2) ShadowTree is now put on its own heap.
103893
103894        No new tests, no change in behavior.
103895
103896        * WebCore.exp.in:
103897        * dom/Element.cpp:
103898        (WebCore::Element::~Element):
103899        (WebCore::Element::shadowTree):
103900        (WebCore::Element::ensureShadowTree):
103901          Ensure the existence of ShadowTree. This does not ensure ShadowRoot exists.
103902        * dom/Element.h:
103903        (Element):
103904        * dom/ElementRareData.h:
103905          Makes ShadowTree on Heap.
103906        (ElementRareData):
103907        (WebCore::ElementRareData::~ElementRareData):
103908        * dom/ShadowRoot.cpp:
103909        (WebCore::ShadowRoot::create):
103910        * dom/ShadowTree.cpp:
103911        (WebCore::validateShadowRoot):
103912        (WebCore):
103913        (WebCore::ShadowTree::addShadowRoot):
103914        (WebCore::ShadowTree::removeAllShadowRoots):
103915        * dom/ShadowTree.h:
103916        (ShadowTree):
103917        * testing/Internals.cpp:
103918        (WebCore::Internals::removeShadowRoot):
103919
1039202012-02-27  David Barton  <dbarton@mathscribe.com>
103921
103922        Fix <msubsup> formatting, especially for a tall base, subscript, or superscript
103923        https://bugs.webkit.org/show_bug.cgi?id=79274
103924
103925        Reviewed by Julien Chaffraix.
103926
103927        Move the <msubsup> formatting code in stretchToHeight() to layout(). Then revise the
103928        combined code to produce more vertically accurate results, and without extra white
103929        space. Finally, don't multiply msub/msup/msubsup operator stretching by 1.2.
103930
103931        Test: Added the bug report's attached test case to mathml/presentation/subsup.xhtml, and
103932        it and 5 other test files in mathml/presentation now produce improved results. The
103933        integral sign in mo-stretch.html is no longer scaled up by an extra 1.2, and baselines
103934        are more accurate so the base is higher in msubsup-sub-changed.png. Several examples are
103935        slightly tighter vertically, because their (somewhat) anonymous blocks wrapping
103936        subscripts and superscripts now have the correct font size.
103937
103938        * rendering/mathml/RenderMathMLSubSup.cpp:
103939        (WebCore):
103940        (WebCore::RenderMathMLSubSup::addChild):
103941        (WebCore::RenderMathMLSubSup::stretchToHeight):
103942        (WebCore::RenderMathMLSubSup::layout):
103943        * rendering/mathml/RenderMathMLSubSup.h:
103944        (RenderMathMLSubSup):
103945        * rendering/style/RenderStyle.h:
103946
1039472012-02-27  Ned Holbrook  <nholbrook@apple.com>
103948
103949        kCTFontTableOptionExcludeSynthetic is unneeded
103950        https://bugs.webkit.org/show_bug.cgi?id=79744
103951
103952        Reviewed by Dan Bernstein.
103953
103954        The aforementioned option is a no-op, so no new tests.
103955
103956        * platform/graphics/mac/SimpleFontDataMac.mm:
103957        (WebCore::fontHasVerticalGlyphs): Specify no options.
103958
1039592012-02-27  Wei James  <james.wei@intel.com>
103960
103961        Multi-Channel support in AudioBufferSourceNode
103962        https://bugs.webkit.org/show_bug.cgi?id=79202
103963
103964        Reviewed by Chris Rogers.
103965
103966        Test: webaudio/audiobuffersource-multi-channels.html
103967
103968        * webaudio/AudioBufferSourceNode.cpp:
103969        (WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
103970        (WebCore::AudioBufferSourceNode::renderFromBuffer):
103971        (WebCore::AudioBufferSourceNode::setBuffer):
103972        * webaudio/AudioBufferSourceNode.h:
103973        (AudioBufferSourceNode):
103974
1039752012-02-27  Leo Yang  <leo.yang@torchmobile.com.cn>
103976
103977        [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntRect.h
103978        https://bugs.webkit.org/show_bug.cgi?id=79732
103979
103980        Reviewed by Antonio Gomes.
103981
103982        Add conversion convenience between WebCore::IntRect and BlackBerry::Platform::IntRect.
103983
103984        The porting can't be built yet, no new tests.
103985
103986        * platform/graphics/IntRect.h:
103987        (Platform):
103988        (IntRect):
103989
1039902012-02-27  Emil A Eklund  <eae@chromium.org>
103991
103992        Printed font-size should not be dependant on zoom level
103993        https://bugs.webkit.org/show_bug.cgi?id=79717
103994
103995        Reviewed by Adam Barth.
103996
103997        Ignore full page zoom level when printing a document.
103998
103999        Test: printing/zoomed-document.html
104000
104001        * css/CSSStyleSelector.cpp:
104002        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
104003
1040042012-02-27  Kenichi Ishibashi  <bashi@chromium.org>
104005
104006        [Chromium] Unreviewed gardening, further compile fixes for
104007        TransparencyWinTest.
104008
104009        * platform/graphics/chromium/TransparencyWin.h:
104010        (WebCore):
104011
1040122012-02-27  Kenichi Ishibashi  <bashi@chromium.org>
104013
104014        [Chromium] Unreviewed gardening, fix compile error after r109043
104015
104016        * platform/graphics/chromium/TransparencyWin.h:
104017        (TransparencyWin):
104018
1040192012-02-27  Adam Barth  <abarth@webkit.org>
104020
104021        EventFactory.in should be named EventNames.in
104022        https://bugs.webkit.org/show_bug.cgi?id=79727
104023
104024        Reviewed by Kentaro Hara.
104025
104026        Originally EventFactory.in was just used to generate EventFactory.cpp,
104027        but now we're able to generate a bunch of other Event-related code from
104028        this "in" file.
104029
104030        In writing some documentation about how to use these mechanisms, the
104031        name EventFactory.in didn't seem like the right name.  This patch
104032        renames EventFactory.in to EventNames.in, which more accurately
104033        describes the role of this file (and matches the naming convention of
104034        HTMLTagNames.in).
104035
104036        * CMakeLists.txt:
104037        * DerivedSources.make:
104038        * DerivedSources.pri:
104039        * GNUmakefile.am:
104040        * WebCore.gyp/WebCore.gyp:
104041        * WebCore.gyp/scripts/action_makenames.py:
104042        (main):
104043        * WebCore.xcodeproj/project.pbxproj:
104044        * dom/EventNames.in: Copied from Source/WebCore/dom/EventFactory.in.
104045        * dom/EventFactory.in: Removed.
104046
1040472012-02-27  Yoshifumi Inoue  <yosin@chromium.org>
104048
104049        [Forms] Make order of attribute/method in HTMLInputElement.idl as same as specification
104050        https://bugs.webkit.org/show_bug.cgi?id=79622
104051
104052        For ease of maintainability, this patch reorders attributes and methods declaration
104053        matching with specification.
104054
104055        Reviewed by Adam Barth.
104056
104057        No new tests. No behavior change.
104058
104059        * html/HTMLInputElement.idl: Reorder and remove obsolete comments.
104060
1040612012-02-27  Luke Macpherson   <macpherson@chromium.org>
104062
104063        Sort CSSStyleSelector property handler constructors by CSS property name.
104064        https://bugs.webkit.org/show_bug.cgi?id=79713
104065
104066        Reviewed by Andreas Kling.
104067
104068        No new tests / refactoring only.
104069
104070        This patch is simply an automated sort of the property constructors.
104071        Presently they are all over the place and it is difficult to know where to insert new rules.
104072        This patch provides a clear pattern and should reduce future conflicts when adding properties.
104073
104074        * css/CSSStyleApplyProperty.cpp:
104075        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
104076
1040772012-02-27  James Kozianski  <koz@chromium.org>
104078
104079        [chromium] Plumb extensionGroup into didCreateScriptContext().
104080        https://bugs.webkit.org/show_bug.cgi?id=79072
104081
104082        Reviewed by Darin Fisher.
104083
104084        * bindings/v8/V8DOMWindowShell.cpp:
104085        (WebCore::V8DOMWindowShell::initContextIfNeeded):
104086        * bindings/v8/V8IsolatedContext.cpp:
104087        (WebCore::V8IsolatedContext::V8IsolatedContext):
104088        * loader/EmptyClients.h:
104089        (WebCore::EmptyFrameLoaderClient::didCreateScriptContext):
104090        * loader/FrameLoaderClient.h:
104091        (FrameLoaderClient):
104092
1040932012-02-27  Huang Dongsung  <luxtella@company100.net>
104094
104095        Fixed a typo in CanvasRenderingContext2D::drawImage(HTMLCanvasElement);
104096        incorrect source and destination rect used.
104097        https://bugs.webkit.org/show_bug.cgi?id=79566
104098
104099        Pass dstRect and bufferSrcRect to
104100        CanvasRenderingContext2D::fullCanvasCompositedDrawImage() for the destination
104101        and source rect, respectively.
104102
104103        Reviewed by Daniel Bates.
104104
104105        * html/canvas/CanvasRenderingContext2D.cpp:
104106        (WebCore::CanvasRenderingContext2D::drawImage):
104107
1041082012-02-27  Hyowon Kim  <hw1008.kim@samsung.com>
104109
104110        [EFL] Initial implementation of GraphicsContext3DPrivate
104111        https://bugs.webkit.org/show_bug.cgi?id=62961
104112
104113        Reviewed by Noam Rosenthal.
104114
104115        This patch adds the GraphicsContext3DPrivate class using Evas_GL.
104116        GraphicsContext3DPrivate delegates all GL function calls to Evas_GL_API.
104117
104118        * platform/graphics/efl/GraphicsContext3DPrivate.cpp: Added.
104119        (WebCore):
104120        (WebCore::GraphicsContext3DPrivate::create):
104121        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
104122        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
104123        (WebCore::GraphicsContext3DPrivate::initialize):
104124        (WebCore::GraphicsContext3DPrivate::createSurface):
104125        (WebCore::GraphicsContext3DPrivate::platformGraphicsContext3D):
104126        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
104127        (WebCore::GraphicsContext3DPrivate::isGLES2Compliant):
104128        (WebCore::GraphicsContext3DPrivate::activeTexture):
104129        (WebCore::GraphicsContext3DPrivate::attachShader):
104130        (WebCore::GraphicsContext3DPrivate::bindAttribLocation):
104131        (WebCore::GraphicsContext3DPrivate::bindBuffer):
104132        (WebCore::GraphicsContext3DPrivate::bindFramebuffer):
104133        (WebCore::GraphicsContext3DPrivate::bindRenderbuffer):
104134        (WebCore::GraphicsContext3DPrivate::bindTexture):
104135        (WebCore::GraphicsContext3DPrivate::blendColor):
104136        (WebCore::GraphicsContext3DPrivate::blendEquation):
104137        (WebCore::GraphicsContext3DPrivate::blendEquationSeparate):
104138        (WebCore::GraphicsContext3DPrivate::blendFunc):
104139        (WebCore::GraphicsContext3DPrivate::blendFuncSeparate):
104140        (WebCore::GraphicsContext3DPrivate::bufferData):
104141        (WebCore::GraphicsContext3DPrivate::bufferSubData):
104142        (WebCore::GraphicsContext3DPrivate::checkFramebufferStatus):
104143        (WebCore::GraphicsContext3DPrivate::clear):
104144        (WebCore::GraphicsContext3DPrivate::clearColor):
104145        (WebCore::GraphicsContext3DPrivate::clearDepth):
104146        (WebCore::GraphicsContext3DPrivate::clearStencil):
104147        (WebCore::GraphicsContext3DPrivate::colorMask):
104148        (WebCore::GraphicsContext3DPrivate::compileShader):
104149        (WebCore::GraphicsContext3DPrivate::copyTexImage2D):
104150        (WebCore::GraphicsContext3DPrivate::copyTexSubImage2D):
104151        (WebCore::GraphicsContext3DPrivate::cullFace):
104152        (WebCore::GraphicsContext3DPrivate::depthFunc):
104153        (WebCore::GraphicsContext3DPrivate::depthMask):
104154        (WebCore::GraphicsContext3DPrivate::depthRange):
104155        (WebCore::GraphicsContext3DPrivate::detachShader):
104156        (WebCore::GraphicsContext3DPrivate::disable):
104157        (WebCore::GraphicsContext3DPrivate::disableVertexAttribArray):
104158        (WebCore::GraphicsContext3DPrivate::drawArrays):
104159        (WebCore::GraphicsContext3DPrivate::drawElements):
104160        (WebCore::GraphicsContext3DPrivate::enable):
104161        (WebCore::GraphicsContext3DPrivate::enableVertexAttribArray):
104162        (WebCore::GraphicsContext3DPrivate::finish):
104163        (WebCore::GraphicsContext3DPrivate::flush):
104164        (WebCore::GraphicsContext3DPrivate::framebufferRenderbuffer):
104165        (WebCore::GraphicsContext3DPrivate::framebufferTexture2D):
104166        (WebCore::GraphicsContext3DPrivate::frontFace):
104167        (WebCore::GraphicsContext3DPrivate::generateMipmap):
104168        (WebCore::GraphicsContext3DPrivate::getActiveAttrib):
104169        (WebCore::GraphicsContext3DPrivate::getActiveUniform):
104170        (WebCore::GraphicsContext3DPrivate::getAttachedShaders):
104171        (WebCore::GraphicsContext3DPrivate::getAttribLocation):
104172        (WebCore::GraphicsContext3DPrivate::getBooleanv):
104173        (WebCore::GraphicsContext3DPrivate::getBufferParameteriv):
104174        (WebCore::GraphicsContext3DPrivate::getContextAttributes):
104175        (WebCore::GraphicsContext3DPrivate::getError):
104176        (WebCore::GraphicsContext3DPrivate::getFloatv):
104177        (WebCore::GraphicsContext3DPrivate::getFramebufferAttachmentParameteriv):
104178        (WebCore::GraphicsContext3DPrivate::getIntegerv):
104179        (WebCore::GraphicsContext3DPrivate::getProgramiv):
104180        (WebCore::GraphicsContext3DPrivate::getProgramInfoLog):
104181        (WebCore::GraphicsContext3DPrivate::getRenderbufferParameteriv):
104182        (WebCore::GraphicsContext3DPrivate::getShaderiv):
104183        (WebCore::GraphicsContext3DPrivate::getShaderInfoLog):
104184        (WebCore::GraphicsContext3DPrivate::getShaderSource):
104185        (WebCore::GraphicsContext3DPrivate::getString):
104186        (WebCore::GraphicsContext3DPrivate::getTexParameterfv):
104187        (WebCore::GraphicsContext3DPrivate::getTexParameteriv):
104188        (WebCore::GraphicsContext3DPrivate::getUniformfv):
104189        (WebCore::GraphicsContext3DPrivate::getUniformiv):
104190        (WebCore::GraphicsContext3DPrivate::getUniformLocation):
104191        (WebCore::GraphicsContext3DPrivate::getVertexAttribfv):
104192        (WebCore::GraphicsContext3DPrivate::getVertexAttribiv):
104193        (WebCore::GraphicsContext3DPrivate::getVertexAttribOffset):
104194        (WebCore::GraphicsContext3DPrivate::hint):
104195        (WebCore::GraphicsContext3DPrivate::isBuffer):
104196        (WebCore::GraphicsContext3DPrivate::isEnabled):
104197        (WebCore::GraphicsContext3DPrivate::isFramebuffer):
104198        (WebCore::GraphicsContext3DPrivate::isProgram):
104199        (WebCore::GraphicsContext3DPrivate::isRenderbuffer):
104200        (WebCore::GraphicsContext3DPrivate::isShader):
104201        (WebCore::GraphicsContext3DPrivate::isTexture):
104202        (WebCore::GraphicsContext3DPrivate::lineWidth):
104203        (WebCore::GraphicsContext3DPrivate::linkProgram):
104204        (WebCore::GraphicsContext3DPrivate::pixelStorei):
104205        (WebCore::GraphicsContext3DPrivate::polygonOffset):
104206        (WebCore::GraphicsContext3DPrivate::readPixels):
104207        (WebCore::GraphicsContext3DPrivate::renderbufferStorage):
104208        (WebCore::GraphicsContext3DPrivate::sampleCoverage):
104209        (WebCore::GraphicsContext3DPrivate::scissor):
104210        (WebCore::GraphicsContext3DPrivate::shaderSource):
104211        (WebCore::GraphicsContext3DPrivate::stencilFunc):
104212        (WebCore::GraphicsContext3DPrivate::stencilFuncSeparate):
104213        (WebCore::GraphicsContext3DPrivate::stencilMask):
104214        (WebCore::GraphicsContext3DPrivate::stencilMaskSeparate):
104215        (WebCore::GraphicsContext3DPrivate::stencilOp):
104216        (WebCore::GraphicsContext3DPrivate::stencilOpSeparate):
104217        (WebCore::GraphicsContext3DPrivate::texImage2D):
104218        (WebCore::GraphicsContext3DPrivate::texParameterf):
104219        (WebCore::GraphicsContext3DPrivate::texParameteri):
104220        (WebCore::GraphicsContext3DPrivate::texSubImage2D):
104221        (WebCore::GraphicsContext3DPrivate::uniform1f):
104222        (WebCore::GraphicsContext3DPrivate::uniform1fv):
104223        (WebCore::GraphicsContext3DPrivate::uniform1i):
104224        (WebCore::GraphicsContext3DPrivate::uniform1iv):
104225        (WebCore::GraphicsContext3DPrivate::uniform2f):
104226        (WebCore::GraphicsContext3DPrivate::uniform2fv):
104227        (WebCore::GraphicsContext3DPrivate::uniform2i):
104228        (WebCore::GraphicsContext3DPrivate::uniform2iv):
104229        (WebCore::GraphicsContext3DPrivate::uniform3f):
104230        (WebCore::GraphicsContext3DPrivate::uniform3fv):
104231        (WebCore::GraphicsContext3DPrivate::uniform3i):
104232        (WebCore::GraphicsContext3DPrivate::uniform3iv):
104233        (WebCore::GraphicsContext3DPrivate::uniform4f):
104234        (WebCore::GraphicsContext3DPrivate::uniform4fv):
104235        (WebCore::GraphicsContext3DPrivate::uniform4i):
104236        (WebCore::GraphicsContext3DPrivate::uniform4iv):
104237        (WebCore::GraphicsContext3DPrivate::uniformMatrix2fv):
104238        (WebCore::GraphicsContext3DPrivate::uniformMatrix3fv):
104239        (WebCore::GraphicsContext3DPrivate::uniformMatrix4fv):
104240        (WebCore::GraphicsContext3DPrivate::useProgram):
104241        (WebCore::GraphicsContext3DPrivate::validateProgram):
104242        (WebCore::GraphicsContext3DPrivate::vertexAttrib1f):
104243        (WebCore::GraphicsContext3DPrivate::vertexAttrib1fv):
104244        (WebCore::GraphicsContext3DPrivate::vertexAttrib2f):
104245        (WebCore::GraphicsContext3DPrivate::vertexAttrib2fv):
104246        (WebCore::GraphicsContext3DPrivate::vertexAttrib3f):
104247        (WebCore::GraphicsContext3DPrivate::vertexAttrib3fv):
104248        (WebCore::GraphicsContext3DPrivate::vertexAttrib4f):
104249        (WebCore::GraphicsContext3DPrivate::vertexAttrib4fv):
104250        (WebCore::GraphicsContext3DPrivate::vertexAttribPointer):
104251        (WebCore::GraphicsContext3DPrivate::viewport):
104252        (WebCore::GraphicsContext3DPrivate::createBuffer):
104253        (WebCore::GraphicsContext3DPrivate::createFramebuffer):
104254        (WebCore::GraphicsContext3DPrivate::createProgram):
104255        (WebCore::GraphicsContext3DPrivate::createRenderbuffer):
104256        (WebCore::GraphicsContext3DPrivate::createShader):
104257        (WebCore::GraphicsContext3DPrivate::createTexture):
104258        (WebCore::GraphicsContext3DPrivate::deleteBuffer):
104259        (WebCore::GraphicsContext3DPrivate::deleteFramebuffer):
104260        (WebCore::GraphicsContext3DPrivate::deleteProgram):
104261        (WebCore::GraphicsContext3DPrivate::deleteRenderbuffer):
104262        (WebCore::GraphicsContext3DPrivate::deleteShader):
104263        (WebCore::GraphicsContext3DPrivate::deleteTexture):
104264        (WebCore::GraphicsContext3DPrivate::synthesizeGLError):
104265        (WebCore::GraphicsContext3DPrivate::getExtensions):
104266        * platform/graphics/efl/GraphicsContext3DPrivate.h: Added.
104267        (WebCore):
104268        (GraphicsContext3DPrivate):
104269
1042702012-02-27  Shawn Singh  <shawnsingh@chromium.org>
104271
104272        RenderLayer ClipRect not accounting for transforms
104273        https://bugs.webkit.org/show_bug.cgi?id=76486
104274
104275        Reviewed by Simon Fraser.
104276
104277        Test: compositing/layer-creation/overlap-transformed-and-clipped.html
104278
104279        This patch changes calculateClipRects() so that the clipRect
104280        offset is allowed to be converted across layers with
104281        transforms. This is necessary because the RenderLayerCompositor
104282        needs clipRects in document space, rather than with respect to
104283        some local clipping layer.
104284
104285        * rendering/RenderLayer.cpp:
104286        (WebCore::RenderLayer::calculateClipRects):
104287        * rendering/RenderObject.cpp:
104288        (WebCore::RenderObject::localToContainerPoint):
104289        (WebCore):
104290        * rendering/RenderObject.h:
104291        (RenderObject):
104292
1042932012-02-27  Adam Klein  <adamk@chromium.org>
104294
104295        [MutationObservers] Clear pending mutation records on disconnect()
104296        https://bugs.webkit.org/show_bug.cgi?id=78639
104297
104298        Reviewed by Ojan Vafai.
104299
104300        Test: fast/mutation/disconnect-cancel-pending.html
104301
104302        * dom/WebKitMutationObserver.cpp:
104303        (WebCore::WebKitMutationObserver::disconnect): Clear pending records.
104304        (WebCore::WebKitMutationObserver::deliver): Avoid calling the callback if no records are pending delivery.
104305
1043062012-02-27  Adam Klein  <adamk@chromium.org>
104307
104308        Always notify subtree of removal in ContainerNode::removeChildren
104309        https://bugs.webkit.org/show_bug.cgi?id=79316
104310
104311        Reviewed by Ryosuke Niwa.
104312
104313        In the inDocument case, Node::removedFromDocument is called.
104314        In the out-of-document case, call ContainerNode::removedFromTree to ensure,
104315        e.g., form-associated elements are properly disconnected.
104316
104317        Test: fast/forms/form-associated-element-removal.html
104318
104319        * dom/ContainerNode.cpp:
104320        (WebCore::ContainerNode::removeChildren):
104321
1043222012-02-27  Adam Barth  <abarth@webkit.org>
104323
104324        Repair license blocks for files created during modularization
104325        https://bugs.webkit.org/show_bug.cgi?id=79721
104326
104327        Reviewed by Eric Seidel.
104328
104329        We failed to copy the license blocks correctly when moving code into
104330        these files.  This patch restores the correct license blocks.
104331
104332        * Modules/geolocation/NavigatorGeolocation.cpp:
104333        * Modules/geolocation/NavigatorGeolocation.h:
104334        * Modules/mediastream/NavigatorMediaStream.cpp:
104335        * Modules/mediastream/NavigatorMediaStream.h:
104336        * bindings/js/JSDOMWindowWebAudioCustom.cpp:
104337        * bindings/js/JSDOMWindowWebSocketCustom.cpp:
104338        * storage/DOMWindowSQLDatabase.cpp:
104339        * storage/DOMWindowSQLDatabase.h:
104340
1043412012-02-27  Julien Chaffraix  <jchaffraix@webkit.org>
104342
104343        Extract the logic for computing the dirty rows / columns out of RenderTableSection::paintObject
104344        https://bugs.webkit.org/show_bug.cgi?id=79580
104345
104346        Reviewed by Eric Seidel.
104347
104348        Refactoring only.
104349
104350        * rendering/RenderTableSection.h:
104351        (CellSpan):
104352        (WebCore::CellSpan::CellSpan):
104353        (WebCore::CellSpan::start):
104354        (WebCore::CellSpan::end):
104355        Added this class to hold the span information.
104356
104357        (WebCore::RenderTableSection::fullTableRowSpan):
104358        (WebCore::RenderTableSection::fullTableColumnSpan):
104359        Those functions return the span corresponding to the full table.
104360
104361        * rendering/RenderTableSection.cpp:
104362        (WebCore::RenderTableSection::dirtiedRows):
104363        (WebCore::RenderTableSection::dirtiedColumns):
104364        Those functions compute the rows / columns impacted by a |damageRect|. On the slow painting path, they
104365        return the full table span.
104366
104367        (WebCore::RenderTableSection::paintObject):
104368        Updated this function to call the new ones. Also we now inflate the local rectangle with the outlineSize.
104369        This wasn't done previously and we had to manually patch some size comparison to account for the outline.
104370
1043712012-02-27  Kentaro Hara  <haraken@chromium.org>
104372
104373        Rename resolve-supplemental.pl to preprocess-idls.pl
104374        https://bugs.webkit.org/show_bug.cgi?id=79660
104375
104376        Reviewed by Adam Barth.
104377
104378        Due to r108322, resolve-supplemental.pl not only resolves supplemental
104379        dependencies but also runs IDL attribute checker. For clarification,
104380        this patch renames resolve-supplemental.pl to preprocess-idls.pl.
104381
104382        No tests. Confirm that all builds pass.
104383
104384        * DerivedSources.make:
104385        * DerivedSources.pri:
104386        * GNUmakefile.am:
104387        * UseJSC.cmake:
104388        * UseV8.cmake:
104389        * WebCore.gyp/WebCore.gyp:
104390        * WebCore.vcproj/MigrateScripts:
104391        * WebCore.vcproj/WebCore.vcproj:
104392        * WebCore.xcodeproj/project.pbxproj:
104393        * bindings/scripts/preprocess-idls.pl: Renamed from Source/WebCore/bindings/scripts/resolve-supplemental.pl.
104394
1043952012-02-27  Kentaro Hara  <haraken@chromium.org>
104396
104397        [JSC] Add [ConstructorParameters=] to all custom constructors
104398        https://bugs.webkit.org/show_bug.cgi?id=78221
104399
104400        Reviewed by Adam Barth.
104401
104402        This patch adds [ConstructorParameters=X] to IDL files that have
104403        custom constructors, where X is the maximum number of arguments
104404        of the constructor. [ConstructorParameters=X] is needed for custom
104405        constructors, because custom constructors do not have a signature
104406        in IDL files and thus CodeGeneratorJS.pm cannot know the number of
104407        constructor arguments.
104408
104409        Test: fast/js/constructor-length.html
104410
104411        * dom/WebKitMutationObserver.idl:
104412        * html/DOMFormData.idl:
104413        * html/canvas/ArrayBuffer.idl:
104414        * html/canvas/DataView.idl:
104415        * html/canvas/Float32Array.idl:
104416        * html/canvas/Float64Array.idl:
104417        * html/canvas/Int16Array.idl:
104418        * html/canvas/Int32Array.idl:
104419        * html/canvas/Int8Array.idl:
104420        * html/canvas/Uint16Array.idl:
104421        * html/canvas/Uint32Array.idl:
104422        * html/canvas/Uint8Array.idl:
104423        * html/canvas/Uint8ClampedArray.idl:
104424        * webaudio/AudioContext.idl:
104425
104426        * bindings/scripts/test/TestTypedArray.idl:
104427
104428        * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
104429        (WebCore::JSFloat64ArrayConstructor::finishCreation):
104430
1044312012-02-23  Raphael Kubo da Costa  <kubo@profusion.mobi>
104432
104433        [BlackBerry][EFL] Provide dummy RunLoop implementations.
104434        https://bugs.webkit.org/show_bug.cgi?id=79398
104435
104436        Reviewed by Antonio Gomes.
104437
104438        r108067 fixed the EFL build by not building RunLoop.cpp on EFL and
104439        BlackBerry, as both platforms lack an implementation that provides the
104440        missing methods for the RunLoop class.
104441
104442        However, RunLoop.cpp is a generic file which should not be included
104443        directly in PlatformWinCE.cmake (plus it helps in converting the
104444        AppleWin port to CMake).
104445
104446        Fix this by providing a dummy implementation of the missing RunLoop
104447        methods for both EFL and BlackBerry.
104448
104449        * CMakeLists.txt:
104450        * PlatformBlackBerry.cmake:
104451        * PlatformEfl.cmake:
104452        * PlatformWinCE.cmake:
104453        * platform/blackberry/RunLoopBlackBerry.cpp: Added.
104454        (WebCore):
104455        (WebCore::RunLoop::RunLoop):
104456        (WebCore::RunLoop::~RunLoop):
104457        (WebCore::RunLoop::wakeUp):
104458        * platform/efl/RunLoopEfl.cpp: Added.
104459        (WebCore):
104460        (WebCore::RunLoop::RunLoop):
104461        (WebCore::RunLoop::~RunLoop):
104462        (WebCore::RunLoop::wakeUp):
104463
1044642012-02-27  John Sullivan  <sullivan@apple.com>
104465
104466        Build fix (on Lion at least).
104467
104468        * dom/Attr.cpp:
104469        (WebCore::Attr::childrenChanged):
104470        Removed names of unused parameters.
104471        
104472        * dom/ContainerNode.cpp:
104473        (WebCore::ContainerNode::childrenChanged):
104474        Ditto.
104475
1044762012-02-27  Kentaro Hara  <haraken@chromium.org>
104477
104478        Remove [ConstructorParameters] from IDL files that have [Constructor]
104479        https://bugs.webkit.org/show_bug.cgi?id=79643
104480
104481        Reviewed by Adam Barth.
104482
104483        This patch removes [ConstructorParameters] from IDL files that have [Constructor],
104484        since CodeGeneratorJS.pm can automatically detect the number of constructor
104485        arguments by the [Constructor(...)] signature.
104486
104487        Test: fast/js/constructor-length.html
104488
104489        * Modules/mediastream/PeerConnection.idl:
104490        * bindings/scripts/CodeGeneratorJS.pm:
104491        (GenerateConstructorDefinition):
104492        * css/WebKitCSSMatrix.idl:
104493        * page/EventSource.idl:
104494        * workers/SharedWorker.idl:
104495        * workers/Worker.idl:
104496
1044972012-02-27  Julien Chaffraix  <jchaffraix@webkit.org>
104498
104499        Avoid doing 2 hash lookups if we override RenderBox's logical width / height
104500        https://bugs.webkit.org/show_bug.cgi?id=79591
104501
104502        Reviewed by Antonio Gomes.
104503
104504        Refactoring only.
104505
104506        * rendering/RenderBox.cpp:
104507        (WebCore::RenderBox::clearOverrideSize):
104508        Instead of doing one hash lookup as part of hasOverride{Height|Width}, let's
104509        just directly call HashMap::remove that will do the lookup instead.
104510
1045112012-02-27  Adam Klein  <adamk@chromium.org>
104512
104513        Move WebCore-internal DOM notification methods from Node to ContainerNode where appropriate
104514        https://bugs.webkit.org/show_bug.cgi?id=79697
104515
104516        Reviewed by Ryosuke Niwa.
104517
104518        insertedIntoTree/removedFromTree are only used by subclasses of
104519        ContainerNode. Moreover, attempting to make use of these notifications
104520        in a non-container Node would currently not work, because
104521        Node::removedFromDocument/insertedIntoDocument do not dispatch to these methods.
104522        Rather than adding useless calls to an always-empty virtual method,
104523        this patch moves these methods to ContainerNode.
104524
104525        Meanwhile, childrenChanged moves to ContainerNode for an obvious reason:
104526        non-container Nodes have no children to change.
104527
104528        No new tests, refactoring only.
104529
104530        * dom/Attr.cpp:
104531        (WebCore::Attr::childrenChanged): Remove call to now-nonexistent Node::childrenChanged.
104532        * dom/ContainerNode.cpp:
104533        (WebCore::ContainerNode::removeChild): Check that the removed child is a container node before notifying it of removal.
104534        (WebCore::ContainerNode::parserRemoveChild): ditto.
104535        (WebCore::ContainerNode::insertedIntoTree): Remove call to now-nonexistent Node::insertedIntoTree.
104536        (WebCore::ContainerNode::removedFromTree): Remove call to now-nonexistent Node::removedFromTree.
104537        (WebCore::ContainerNode::childrenChanged): Remove call to now-nonexistent Node::childrenChanged.
104538        (WebCore::notifyChildInserted): Check that the inserted child is a container node before notifying it of insertion.
104539        * dom/ContainerNode.h:
104540        (ContainerNode): Migrate comments from Node.h, point back at it for more notification methods.
104541        * dom/Node.h:
104542        (Node): Move methods, update comments to point at ContainerNode.h.
104543
1045442012-02-27  Chris Rogers  <crogers@google.com>
104545
104546        Implement static compression curve parameters for DynamicsCompressorNode
104547        https://bugs.webkit.org/show_bug.cgi?id=78937
104548
104549        Reviewed by Kenneth Russell.
104550
104551        Test: webaudio/dynamicscompressor-basic.html
104552
104553        * platform/audio/DynamicsCompressor.cpp:
104554        (WebCore::DynamicsCompressor::setParameterValue):
104555        (WebCore):
104556        (WebCore::DynamicsCompressor::initializeParameters):
104557        (WebCore::DynamicsCompressor::process):
104558        * platform/audio/DynamicsCompressor.h:
104559        * platform/audio/DynamicsCompressorKernel.cpp:
104560        (WebCore):
104561        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
104562        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
104563        (WebCore::DynamicsCompressorKernel::kneeCurve):
104564        (WebCore::DynamicsCompressorKernel::saturate):
104565        (WebCore::DynamicsCompressorKernel::slopeAt):
104566        (WebCore::DynamicsCompressorKernel::kAtSlope):
104567        (WebCore::DynamicsCompressorKernel::updateStaticCurveParameters):
104568        (WebCore::DynamicsCompressorKernel::process):
104569        * platform/audio/DynamicsCompressorKernel.h:
104570        (DynamicsCompressorKernel):
104571        (WebCore::DynamicsCompressorKernel::meteringGain):
104572        * webaudio/DynamicsCompressorNode.cpp:
104573        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
104574        (WebCore::DynamicsCompressorNode::process):
104575        * webaudio/DynamicsCompressorNode.h:
104576        (WebCore):
104577        (WebCore::DynamicsCompressorNode::create):
104578        (DynamicsCompressorNode):
104579        (WebCore::DynamicsCompressorNode::threshold):
104580        (WebCore::DynamicsCompressorNode::knee):
104581        (WebCore::DynamicsCompressorNode::ratio):
104582        (WebCore::DynamicsCompressorNode::reduction):
104583        * webaudio/DynamicsCompressorNode.idl:
104584
1045852012-02-27  Enrica Casucci  <enrica@apple.com>
104586
104587        WebKit2: implement platform strategy to access Pasteboard in the UI process.
104588        https://bugs.webkit.org/show_bug.cgi?id=79253
104589        <rdar://problem/9971876>
104590
104591        Reviewed by Alexey Proskuryakov.
104592
104593        No new tests. No behavior change.
104594
104595        * platform/mac/PlatformPasteboardMac.mm:
104596        (WebCore::PlatformPasteboard::bufferForType): There is no need
104597        to create a SharedBuffer object if there is no NSData in the pasteboard
104598        for the given pasteboard type.
104599
1046002012-02-27  Adrienne Walker  <enne@google.com>
104601
104602        [chromium] Unreviewed speculative Chromium win build fix.
104603
104604        mdelaney's http://trac.webkit.org/changeset/109016 changed the
104605        interface on ImageBuffer, but didn't update TransparencyWin.
104606
104607        * platform/graphics/chromium/TransparencyWin.cpp:
104608        (WebCore::TransparencyWin::OwnedBuffers::canHandleSize):
104609
1046102012-02-27  Matthew Delaney  <mdelaney@apple.com>
104611
104612        Add ImageBuffer support for having a hi-res backing store. This allows
104613        ImageBuffer clients to specify a scale factor upon creation so that they
104614        don't have to maintain that info themselves as they use/pass around the ImageBuffer.
104615        https://bugs.webkit.org/show_bug.cgi?id=79395
104616
104617        Reviewed by Dan Bernstein.
104618
104619        No new tests. This patch doesn't change behavior.
104620
104621        * platform/graphics/ImageBuffer.h:
104622        (WebCore::ImageBuffer::create): Scale the backing store by the resolution scale.
104623        (WebCore::ImageBuffer::logicalSize): Differentiate the logical size from the backing store's size.
104624        (WebCore::ImageBuffer::internalSize): The backing store's size.
104625
104626        * platform/graphics/cg/ImageBufferCG.cpp: Prefer the explicit use of logicalSize and internalSize.
104627
104628        Explicitly state a 1x scale for all ImageBuffer creation sites
104629        since this is what they currently assume.
104630        * html/HTMLCanvasElement.cpp:
104631        * html/canvas/CanvasRenderingContext2D.cpp:
104632        * html/canvas/WebGLRenderingContext.cpp:
104633        * page/Frame.cpp:
104634        * platform/graphics/CrossfadeGeneratedImage.cpp:
104635        * platform/graphics/ShadowBlur.cpp:
104636        * platform/graphics/filters/FEColorMatrix.cpp:
104637        * platform/graphics/filters/FEDropShadow.cpp:
104638        * platform/graphics/filters/FilterEffect.cpp:
104639        * platform/mac/ScrollbarThemeMac.mm:
104640        * rendering/FilterEffectRenderer.cpp:
104641        * rendering/RenderThemeMac.mm:
104642        * rendering/svg/SVGImageBufferTools.cpp:
104643        * svg/graphics/SVGImage.cpp:
104644        * svg/graphics/SVGImageCache.cpp:
104645
104646        Update ImageBuffer::size() calls to new versions.
104647        * platform/graphics/GraphicsContext.cpp:
104648        * platform/graphics/ImageBuffer.cpp:
104649        * platform/graphics/skia/PlatformContextSkia.cpp:
104650
1046512012-02-27  Mihnea Ovidenie  <mihnea@adobe.com>
104652
104653        [CSSRegions]-webkit-flow-into initial value should be none instead of auto
104654        https://bugs.webkit.org/show_bug.cgi?id=79670
104655
104656        Reviewed by Simon Fraser.
104657
104658        No new tests, modified expectations for existing tests.
104659
104660        * css/CSSComputedStyleDeclaration.cpp:
104661        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
104662        * css/CSSParser.cpp:
104663        (WebCore::CSSParser::parseFlowThread):
104664        * css/CSSStyleApplyProperty.cpp:
104665        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
104666
1046672012-02-27  Ojan Vafai  <ojan@chromium.org>
104668
104669        implement display: -webkit-inline-flexbox
104670        https://bugs.webkit.org/show_bug.cgi?id=77772
104671
104672        Reviewed by David Hyatt.
104673
104674        Tests: css3/flexbox/inline-flexbox-expected.html
104675               css3/flexbox/inline-flexbox.html
104676
104677        * rendering/style/RenderStyle.h:
104678        -Add INLINE_FLEXBOX to the list of replaced display types.
104679        -Restructure the isDisplayInline methods to avoid code duplication.
104680
1046812012-02-27  Ken Buchanan  <kenrb@chromium.org>
104682
104683        Absolute positioned elements with Inline Relative Positioned Container are not layout correctly
104684        https://bugs.webkit.org/show_bug.cgi?id=78713
104685
104686        Reviewed by David Hyatt.
104687
104688        Test: fast/css/positioned-in-relative-position-inline-crash.html
104689
104690        Patch originally by Robin Cao.
104691
104692        This is a regression. r104183 changes containingBlock() so that it returns the container
104693        of an anonymous block for positioned objects, not the anonymous block itself. We should
104694        change markContainingBlocksForLayout() to match the change in containingBlock().
104695
104696        * rendering/RenderObject.cpp:
104697        (WebCore::RenderObject::markContainingBlocksForLayout):
104698
1046992012-02-27  Pavel Feldman  <pfeldman@google.com>
104700
104701        Web Inspector: move record formatting into the timeline presentation model.
104702        https://bugs.webkit.org/show_bug.cgi?id=79684
104703
104704        Drive-by: fix for stop recording in reset; cpu time restored.
104705
104706        Reviewed by Vsevolod Vlasov.
104707
104708        * inspector/front-end/TimelineModel.js:
104709        (WebInspector.TimelineModel.prototype.reset):
104710        * inspector/front-end/TimelineOverviewPane.js:
104711        (WebInspector.TimelineOverviewPane.prototype.update.updateBoundaries):
104712        (WebInspector.TimelineOverviewCalculator.prototype.updateBoundaries):
104713        * inspector/front-end/TimelinePanel.js:
104714        (WebInspector.TimelinePanel):
104715        (WebInspector.TimelinePanel.prototype._rootRecord):
104716        (WebInspector.TimelinePanel.prototype._updateRecordsCounter):
104717        (WebInspector.TimelinePanel.prototype._repopulateRecords):
104718        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
104719        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
104720        (WebInspector.TimelinePanel.prototype._resetPanel):
104721        (WebInspector.TimelinePanel.prototype._refresh):
104722        (WebInspector.TimelinePanel.prototype._updateBoundaries):
104723        (WebInspector.TimelinePanel.prototype._filterRecords):
104724        (WebInspector.TimelinePanel.prototype.revealRecordAt):
104725        (WebInspector.TimelinePanel.prototype._showPopover):
104726        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
104727        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
104728        (WebInspector.TimelineCalculator.prototype.updateBoundaries):
104729        (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
104730        (WebInspector.TimelineRecordGraphRow):
104731        (WebInspector.TimelineRecordGraphRow.prototype.update):
104732        * inspector/front-end/TimelinePresentationModel.js:
104733        (WebInspector.TimelinePresentationModel):
104734        (WebInspector.TimelinePresentationModel.prototype.createFormattedRecord):
104735        (WebInspector.TimelinePresentationModel.prototype._createRootRecord):
104736        (WebInspector.TimelinePresentationModel.prototype.rootRecord):
104737        (WebInspector.TimelinePresentationModel.prototype.reset):
104738        (WebInspector.TimelinePresentationModel.prototype._findParentRecord):
104739        (WebInspector.TimelinePresentationModel.prototype._resetWindow):
104740        (WebInspector.TimelinePresentationModel.prototype._addCategory):
104741        (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
104742        (WebInspector.TimelinePresentationModel.prototype.get _recordStyles):
104743        (WebInspector.TimelinePresentationModel.Record):
104744        (WebInspector.TimelinePresentationModel.Record.prototype.get lastChildEndTime):
104745        (WebInspector.TimelinePresentationModel.Record.prototype.set lastChildEndTime):
104746        (WebInspector.TimelinePresentationModel.Record.prototype.get selfTime):
104747        (WebInspector.TimelinePresentationModel.Record.prototype.set selfTime):
104748        (WebInspector.TimelinePresentationModel.Record.prototype.get cpuTime):
104749        (WebInspector.TimelinePresentationModel.Record.prototype.isLong):
104750        (WebInspector.TimelinePresentationModel.Record.prototype.get children):
104751        (WebInspector.TimelinePresentationModel.Record.prototype.containsTime):
104752        (WebInspector.TimelinePresentationModel.Record.prototype._generateAggregatedInfo):
104753        (WebInspector.TimelinePresentationModel.Record.prototype.generatePopupContent):
104754        (WebInspector.TimelinePresentationModel.Record.prototype._refreshDetails):
104755        (WebInspector.TimelinePresentationModel.Record.prototype._getRecordDetails):
104756        (WebInspector.TimelinePresentationModel.Record.prototype._linkifyLocation):
104757        (WebInspector.TimelinePresentationModel.Record.prototype._linkifyCallFrame):
104758        (WebInspector.TimelinePresentationModel.Record.prototype._linkifyTopCallFrame):
104759        (WebInspector.TimelinePresentationModel.Record.prototype._linkifyScriptLocation):
104760        (WebInspector.TimelinePresentationModel.Record.prototype.calculateAggregatedStats):
104761        (WebInspector.TimelinePresentationModel.Record.prototype.get aggregatedStats):
104762        (WebInspector.TimelinePresentationModel.PopupContentHelper):
104763        (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._createCell):
104764        (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendTextRow):
104765        (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendElementRow):
104766        (WebInspector.TimelinePresentationModel.PopupContentHelper.prototype._appendStackTrace):
104767        * inspector/front-end/timelinePanel.css:
104768        (.timeline-graph-bar.cpu):
104769
1047702012-02-27  Vsevolod Vlasov  <vsevik@chromium.org>
104771
104772        Web Inspector: Scripts navigator overlay should not consume mouse actions.
104773        https://bugs.webkit.org/show_bug.cgi?id=79674
104774
104775        Reviewed by Pavel Feldman.
104776
104777        * inspector/front-end/Panel.js:
104778        (WebInspector.Panel.prototype.registerShortcut):
104779        (WebInspector.Panel.prototype.unregisterShortcut):
104780        * inspector/front-end/ScriptsPanel.js:
104781        (WebInspector.ScriptsPanel.prototype._editorClosed):
104782        (WebInspector.ScriptsPanel.prototype._editorSelected):
104783        (WebInspector.ScriptsPanel.prototype._fileSelected):
104784        (WebInspector.ScriptsPanel.prototype._escDownWhileNavigatorOverlayOpen):
104785        (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
104786        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
104787        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWasShown):
104788        * inspector/front-end/SidebarOverlay.js:
104789        (WebInspector.SidebarOverlay):
104790        (WebInspector.SidebarOverlay.prototype.show):
104791        (WebInspector.SidebarOverlay.prototype._containingElementFocused):
104792        (WebInspector.SidebarOverlay.prototype.position):
104793        (WebInspector.SidebarOverlay.prototype.hide):
104794        (WebInspector.SidebarOverlay.prototype._setWidth):
104795        * inspector/front-end/dialog.css:
104796        (.go-to-line-dialog button:active):
104797        * inspector/front-end/scriptsPanel.css:
104798        (#scripts-editor-view .sidebar-overlay):
104799        * inspector/front-end/splitView.css:
104800        (.split-view-resizer):
104801        (.sidebar-overlay):
104802        (.sidebar-overlay-resizer):
104803
1048042012-02-27  Philippe Normand  <pnormand@igalia.com>
104805
104806        [GStreamer] 0.11 support in MediaPlayerPrivateGStreamer
104807        https://bugs.webkit.org/show_bug.cgi?id=77089
104808
104809        Reviewed by Martin Robinson.
104810
104811        Basic port to GStreamer 0.11 APIs. This patch excludes the video
104812        painting changes and the GStreamerGWorld changes which are handled
104813        in two other patches (bugs 77087 and 77088).
104814
104815        * GNUmakefile.list.am: Add GStreamerVersioning files to the build.
104816        * Source/WebCore/PlatformEfl.cmake: Ditto.
104817        * Source/WebCore/Target.pri: Ditto.
104818        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
104819        (WTF::GstElement):
104820        (WTF::GstPad):
104821        (WTF::GstPadTemplate):
104822        (WTF::GstTask):
104823        * platform/graphics/gstreamer/GStreamerVersioning.cpp: Added.
104824        (webkit_gst_object_ref_sink):
104825        (webkit_gst_element_get_pad_caps):
104826        * platform/graphics/gstreamer/GStreamerVersioning.h: Added.
104827        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
104828        (WebCore::MediaPlayerPrivateGStreamer::isAvailable):
104829        (WebCore::MediaPlayerPrivateGStreamer::duration):
104830        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
104831
1048322012-02-27  Philip Rogers  <pdr@google.com>
104833
104834        Stop recomputing SVG path data twice during layout
104835        https://bugs.webkit.org/show_bug.cgi?id=79672
104836
104837        Reviewed by Nikolas Zimmermann.
104838
104839        * rendering/svg/RenderSVGShape.cpp:
104840        (WebCore::RenderSVGShape::layout):
104841
1048422012-02-27  Timothy Hatcher  <timothy@apple.com>
104843
104844        Updated for WebKit2 string changes.
104845
104846        https://webkit.org/b/79649
104847
104848        Reviewed by John Sullivan.
104849
104850        * English.lproj/Localizable.strings: Updated.
104851
1048522012-02-27  Pavel Feldman  <pfeldman@google.com>
104853
104854        Web Inspector: Ctrl+K should not zoom in
104855        https://bugs.webkit.org/show_bug.cgi?id=79676
104856
104857        Reviewed by Vsevolod Vlasov.
104858
104859        * inspector/front-end/inspector.js:
104860        (WebInspector.documentKeyDown):
104861
1048622012-02-27  Pavel Feldman  <pfeldman@google.com>
104863
104864        Web Inspector: extract TimelineModel and TimelinePresentationModel into their own files.
104865        https://bugs.webkit.org/show_bug.cgi?id=79675
104866
104867        Reviewed by Vsevolod Vlasov.
104868
104869        * WebCore.gypi:
104870        * WebCore.vcproj/WebCore.vcproj:
104871        * inspector/compile-front-end.sh:
104872        * inspector/front-end/TimelineAgent.js: Removed.
104873        * inspector/front-end/TimelineModel.js: Added.
104874        (WebInspector.TimelineModel):
104875        (WebInspector.TimelineModel.prototype.startRecord):
104876        (WebInspector.TimelineModel.prototype.stopRecord):
104877        (WebInspector.TimelineModel.prototype.get records):
104878        (WebInspector.TimelineModel.prototype._onRecordAdded):
104879        (WebInspector.TimelineModel.prototype._addRecord):
104880        (WebInspector.TimelineModel.prototype._loadNextChunk):
104881        (WebInspector.TimelineModel.prototype._loadFromFile):
104882        (WebInspector.TimelineModel.prototype._loadFromFile.onError):
104883        (WebInspector.TimelineModel.prototype._saveToFile):
104884        (WebInspector.TimelineModel.prototype._reset):
104885        * inspector/front-end/TimelinePanel.js:
104886        (WebInspector.TimelinePanel.prototype.get _recordStyles):
104887        (WebInspector.TimelinePanel.prototype._createEventDivider):
104888        (WebInspector.TimelinePanel.prototype._findParentRecord):
104889        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
104890        (WebInspector.TimelinePanel.prototype._refreshRecords):
104891        (WebInspector.TimelinePanel.FormattedRecord):
104892        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
104893        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
104894        * inspector/front-end/TimelinePresentationModel.js: Added.
104895        (WebInspector.TimelinePresentationModel):
104896        (WebInspector.TimelinePresentationModel.prototype.reset):
104897        (WebInspector.TimelinePresentationModel.prototype.get categories):
104898        (WebInspector.TimelinePresentationModel.prototype.addCategory):
104899        (WebInspector.TimelinePresentationModel.prototype.setWindowPosition):
104900        (WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
104901        (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
104902        * inspector/front-end/WebKit.qrc:
104903        * inspector/front-end/inspector.html:
104904
1049052012-02-27  Alexander Pavlov  <apavlov@chromium.org>
104906
104907        Web Inspector: [Styles] Allow adding CSS properties anywhere in the style declaration, not only at the end
104908        https://bugs.webkit.org/show_bug.cgi?id=79662
104909
104910        Reviewed by Pavel Feldman.
104911
104912        * inspector/front-end/CSSStyleModel.js:
104913        (WebInspector.CSSStyleDeclaration.prototype.newBlankProperty):
104914        (WebInspector.CSSProperty.prototype.setText):
104915        (WebInspector.CSSProperty.prototype.setValue):
104916        * inspector/front-end/MetricsSidebarPane.js:
104917        (WebInspector.MetricsSidebarPane.prototype._applyUserInput):
104918        * inspector/front-end/StylesSidebarPane.js:
104919        (WebInspector.StylePropertiesSection):
104920        (WebInspector.StylePropertiesSection.prototype._handleSelectorContainerClick):
104921        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
104922        (WebInspector.StylePropertyTreeElement.prototype):
104923        (WebInspector.StylePropertyTreeElement.prototype.element.userInput.previousContent.context.moveDirection):
104924        (WebInspector.StylePropertyTreeElement.prototype.styleText.updateInterface.majorChange.isRevert):
104925
1049262012-02-27  Pavel Feldman  <pfeldman@google.com>
104927
104928        [Shadow]: Expose one ShadowRoot in the Elements panel (under experiment flag)
104929        https://bugs.webkit.org/show_bug.cgi?id=78202
104930
104931        Reviewed by Yury Semikhatsky.
104932
104933        * dom/ShadowTree.cpp:
104934        (WebCore::ShadowTree::pushShadowRoot):
104935        (WebCore::ShadowTree::popShadowRoot):
104936        * inspector/Inspector.json:
104937        * inspector/InspectorDOMAgent.cpp:
104938        (WebCore::InspectorDOMAgent::unbind):
104939        (WebCore::InspectorDOMAgent::assertEditableNode):
104940        (WebCore::InspectorDOMAgent::assertEditableElement):
104941        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
104942        (WebCore::InspectorDOMAgent::setAttributeValue):
104943        (WebCore::InspectorDOMAgent::setAttributesAsText):
104944        (WebCore::InspectorDOMAgent::removeAttribute):
104945        (WebCore::InspectorDOMAgent::removeNode):
104946        (WebCore::InspectorDOMAgent::setOuterHTML):
104947        (WebCore::InspectorDOMAgent::setNodeValue):
104948        (WebCore::InspectorDOMAgent::moveTo):
104949        (WebCore::InspectorDOMAgent::buildObjectForNode):
104950        (WebCore::InspectorDOMAgent::didPushShadowRoot):
104951        (WebCore):
104952        (WebCore::InspectorDOMAgent::willPopShadowRoot):
104953        * inspector/InspectorDOMAgent.h:
104954        (WebCore):
104955        (InspectorDOMAgent):
104956        * inspector/InspectorInstrumentation.cpp:
104957        (WebCore::InspectorInstrumentation::didPushShadowRootImpl):
104958        (WebCore):
104959        (WebCore::InspectorInstrumentation::willPopShadowRootImpl):
104960        * inspector/InspectorInstrumentation.h:
104961        (WebCore):
104962        (InspectorInstrumentation):
104963        (WebCore::InspectorInstrumentation::didPushShadowRoot):
104964        (WebCore::InspectorInstrumentation::willPopShadowRoot):
104965        * inspector/PageConsoleAgent.cpp:
104966        (WebCore::PageConsoleAgent::addInspectedNode):
104967        * inspector/front-end/DOMAgent.js:
104968        (WebInspector.DOMNode):
104969        (WebInspector.DOMNode.prototype.hasChildNodes):
104970        (WebInspector.DOMNode.prototype.isInShadowTree):
104971        (WebInspector.DOMNode.prototype._insertChild):
104972        (WebInspector.DOMNode.prototype._setChildrenPayload):
104973        (WebInspector.DOMDocument):
104974        (WebInspector.DOMAgent.prototype._setDetachedRoot):
104975        (WebInspector.DOMAgent.prototype._shadowRootPopped):
104976        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
104977        (WebInspector.DOMDispatcher.prototype.shadowRootPushed):
104978        (WebInspector.DOMDispatcher.prototype.shadowRootPopped):
104979        * inspector/front-end/ElementsTreeOutline.js:
104980        * inspector/front-end/MemoryStatistics.js:
104981        * inspector/front-end/Settings.js:
104982        (WebInspector.ExperimentsSettings):
104983        * inspector/front-end/inspector.css:
104984        (.webkit-html-tag.shadow, .webkit-html-fragment.shadow):
104985
1049862012-02-27  Andrey Kosyakov  <caseq@chromium.org>
104987
104988        Web Inspector: [refactoring] remove dependencies from TimelinePanel from most of FormattedRecord
104989        https://bugs.webkit.org/show_bug.cgi?id=79665
104990
104991        Reviewed by Pavel Feldman.
104992
104993        * inspector/front-end/TimelinePanel.js:
104994        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
104995        (WebInspector.TimelinePanel.FormattedRecord):
104996        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
104997        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
104998        (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyLocation):
104999        (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyCallFrame):
105000        (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyTopCallFrame):
105001        (WebInspector.TimelinePanel.FormattedRecord.prototype._linkifyScriptLocation):
105002        (WebInspector.TimelinePanel.PopupContentHelper):
105003        (WebInspector.TimelinePanel.PopupContentHelper.prototype._appendStackTrace):
105004
1050052012-02-27  Yury Semikhatsky  <yurys@chromium.org>
105006
105007        Web Inspector: reveal corresponding timeline record when user clicks on memory graph
105008        https://bugs.webkit.org/show_bug.cgi?id=79669
105009
105010        When user clicks on DOM counter graph corresponding timeline record is
105011        revealed in timelime grid and all its ancestors are expanded.
105012
105013        Reviewed by Pavel Feldman.
105014
105015        * inspector/front-end/MemoryStatistics.js:
105016        (WebInspector.MemoryStatistics.prototype._onClick):
105017        * inspector/front-end/TimelineOverviewPane.js:
105018        (WebInspector.TimelineOverviewPane.prototype.update):
105019        (WebInspector.HeapGraph.prototype.update):
105020        (WebInspector.HeapGraph.prototype._clear):
105021        * inspector/front-end/TimelinePanel.js:
105022        (WebInspector.TimelinePanel.prototype.revealRecordAt.recordFinder):
105023        (WebInspector.TimelinePanel.prototype.revealRecordAt):
105024        (WebInspector.TimelinePanel.prototype._refreshRecords):
105025        (WebInspector.TimelinePanel.forAllRecords):
105026        (WebInspector.TimelinePanel.FormattedRecord.prototype.containsTime):
105027
1050282012-02-27  Ilya Tikhonovsky  <loislo@chromium.org>
105029
105030        Unreviewed single line fix for r108983.
105031
105032        * inspector/front-end/DetailedHeapshotView.js:
105033        (WebInspector.DetailedHeapshotView.prototype.willHide):
105034
1050352012-02-27  Yury Semikhatsky  <yurys@chromium.org>
105036
105037        Web Inspector: repaint counter graphs when timeline splitter moves
105038        https://bugs.webkit.org/show_bug.cgi?id=79644
105039
105040        Immediately refresh timeline panel on splitter move.
105041
105042        Reviewed by Pavel Feldman.
105043
105044        * inspector/front-end/TimelinePanel.js:
105045        (WebInspector.TimelinePanel.prototype._splitterDragging):
105046
1050472012-02-27  Carlos Garcia Campos  <cgarcia@igalia.com>
105048
105049        Unreviewed. Fix make distcheck.
105050
105051        * GNUmakefile.am: Add missing files.
105052        * GNUmakefile.list.am: Ditto.
105053
1050542012-02-27  Patrick Gansterer  <paroga@webkit.org>
105055
105056        [CMake] Build fix after r108709.
105057
105058        * CMakeLists.txt: Move DOMWindowSVG.idl to the other IDL files.
105059
1050602012-02-27  Ilya Tikhonovsky  <loislo@chromium.org>
105061
105062        Web Inspector: [chromium] Profiles - Tooltip with object/property types stays on screen when another tab selected
105063        https://bugs.webkit.org/show_bug.cgi?id=79654
105064
105065        Reviewed by Yury Semikhatsky.
105066
105067        * inspector/front-end/DetailedHeapshotView.js:
105068        (WebInspector.DetailedHeapshotView.prototype.willHide):
105069
1050702012-02-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
105071
105072        [Qt] Remove page/PageSupplement.h from WebCore's Target.pri
105073
105074        The file itself was removed in r108958.
105075
105076        Reviewed by Kenneth Rohde Christiansen.
105077
105078        * Target.pri:
105079
1050802012-02-27  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
105081
105082        [Qt] Use USE() macro instead of ENABLE() for using the Qt image decoder
105083
105084        Reviewed by Kenneth Rohde Christiansen..
105085
105086        * Target.pri:
105087        * WebCore.pri:
105088        * platform/MIMETypeRegistry.cpp:
105089        (WebCore::initializeSupportedImageMIMETypes):
105090        (WebCore::initializeSupportedImageMIMETypesForEncoding):
105091        * platform/image-decoders/ImageDecoder.h:
105092        (WebCore::ImageFrame::getAddr):
105093        (ImageFrame):
105094        * platform/image-decoders/qt/ImageFrameQt.cpp:
105095        (WebCore):
105096        (WebCore::ImageFrame::asNewNativeImage):
105097
1050982012-02-27  MORITA Hajime  <morrita@google.com>
105099
105100        Removing <ul>, <li> inside shadow DOM triggers assertion in updateListMarkerNumbers
105101        https://bugs.webkit.org/show_bug.cgi?id=72440
105102
105103        Reviewed by Ryosuke Niwa.
105104
105105        This problem was caused by the inconsistent detach order of DOM tree where
105106        Element::detach() called ContainerNode::detach() before shadow tree is detached.
105107        This resulted the renderer of the element being destroyed even if its children,
105108        each of which came from an element in the shadow tree, are alive.
105109        In principle, child renderers should be destroyed before its parent.
105110
105111        This change aligns the detach order with the attach order. The shadow tree is
105112        now deatched before parent's ContainerNode::detach() is called.
105113
105114        Test: fast/dom/shadow/shadow-ul-li.html
105115
105116        * dom/Element.cpp:
105117        (WebCore::Element::detach):
105118
1051192012-02-27  Keishi Hattori  <keishi@webkit.org>
105120
105121        Color input type should be clickable through keyboard
105122        https://bugs.webkit.org/show_bug.cgi?id=79629
105123
105124        Reviewed by Kent Tamura.
105125
105126        Introduced BaseClickableWithKeyInputType that represents an input type
105127        that can be clicked by pressing space/return keys.
105128        ColorInputType, FileInputType directly inherit it because it doesn't
105129        want the other methods(like appendFormData) in BaseButtonInputType.
105130
105131        * CMakeLists.txt: Added BaseClickableWithKeyInputType.cpp
105132        * GNUmakefile.list.am: Added BaseClickableWithKeyInputType.{cpp,h}
105133        * Target.pri: Added BaseClickableWithKeyInputType.{cpp,h}
105134        * WebCore.gypi: Added BaseClickableWithKeyInputType.{cpp,h}
105135        * WebCore.vcproj/WebCore.vcproj: Added BaseClickableWithKeyInputType.{cpp,h}
105136        * WebCore.xcodeproj/project.pbxproj: Added BaseClickableWithKeyInputType.{cpp,h}
105137        * html/BaseButtonInputType.cpp:
105138        * html/BaseButtonInputType.h:
105139        (WebCore::BaseButtonInputType::BaseButtonInputType): Inherits BaseClickableWithKeyInputType now.
105140        (BaseButtonInputType):
105141        * html/BaseCheckableInputType.cpp: Changed comment.
105142        * html/BaseClickableWithKeyInputType.cpp:
105143        (WebCore):
105144        (WebCore::BaseClickableWithKeyInputType::handleKeydownEvent): Moved from BaseButtonInputType
105145        (WebCore::BaseClickableWithKeyInputType::handleKeypressEvent): Moved from BaseButtonInputType
105146        (WebCore::BaseClickableWithKeyInputType::handleKeyupEvent): Moved from BaseButtonInputType
105147        (WebCore::BaseClickableWithKeyInputType::accessKeyAction): Moved from BaseButtonInputType
105148        * html/BaseClickableWithKeyInputType.h:
105149        (WebCore):
105150        (BaseClickableWithKeyInputType): Input type that can be clicked by pressing space/return keys.
105151        (WebCore::BaseClickableWithKeyInputType::BaseClickableWithKeyInputType):
105152        * html/ColorInputType.h:
105153        (WebCore::ColorInputType::ColorInputType): Inherits BaseClickableWithKeyInputType now.
105154        * html/FileInputType.cpp:
105155        (WebCore::FileInputType::FileInputType):
105156        * html/FileInputType.h:
105157        (FileInputType): Inherits BaseClickableWithKeyInputType now.
105158        * html/RangeInputType.cpp: Changed comment.
105159        (WebCore):
105160
1051612012-02-27  Keishi Hattori  <keishi@webkit.org>
105162
105163        Add missing include to ColorInputType.cpp
105164        https://bugs.webkit.org/show_bug.cgi?id=79632
105165
105166        Reviewed by Kent Tamura.
105167
105168        * html/ColorInputType.cpp: Include ShadowTree.h
105169
1051702012-02-27  Andrey Kosyakov  <caseq@chromium.org>
105171
105172        Use built-in bind in ExtensionAPI.js
105173
105174        Web Inspector: [Extensions API] get rid of custom bind() in favor of built-in
105175        https://bugs.webkit.org/show_bug.cgi?id=79570
105176
105177        Reviewed by Pavel Feldman.
105178
105179        * inspector/front-end/ExtensionAPI.js:
105180        (injectedExtensionAPI.EventSinkImpl.prototype.addListener):
105181        (injectedExtensionAPI):
105182        (injectedExtensionAPI.Panels.prototype.create):
105183        (injectedExtensionAPI.AuditResultImpl):
105184        (injectedExtensionAPI.ExtensionServerClient):
105185
1051862012-02-21  Pavel Podivilov  <podivilov@chromium.org>
105187
105188        Web Inspector: get rid of RawSourceCode.sourceMapping getter.
105189        https://bugs.webkit.org/show_bug.cgi?id=79461
105190
105191        Reviewed by Yury Semikhatsky.
105192
105193        * inspector/front-end/BreakpointManager.js:
105194        (WebInspector.BreakpointManager.prototype.uiSourceCodeAdded):
105195        (WebInspector.BreakpointManager.prototype.setBreakpoint):
105196        (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
105197        (WebInspector.BreakpointManager.prototype._breakpointDebuggerLocationChanged):
105198        * inspector/front-end/ConsoleMessage.js:
105199        (WebInspector.ConsoleMessageImpl.prototype.get location):
105200        * inspector/front-end/DebuggerPresentationModel.js:
105201        (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
105202        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
105203        (WebInspector.DebuggerPresentationModel.prototype._handleUISourceCodeListChanged):
105204        (WebInspector.DebuggerPresentationModel.prototype._uiSourceCodeListChanged):
105205        (WebInspector.DebuggerPresentationModel.prototype._restoreBreakpoints):
105206        (WebInspector.DebuggerPresentationModel.prototype._restoreConsoleMessages):
105207        (WebInspector.DebuggerPresentationModel.prototype._restoreExecutionLine):
105208        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
105209        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
105210        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
105211        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
105212        (WebInspector.PresentationCallFrame.prototype.uiLocation):
105213        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
105214        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
105215        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
105216        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.canSetContent):
105217        (WebInspector.DebuggerPresentationModelResourceBinding.prototype.setContent):
105218        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
105219        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
105220        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
105221        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
105222        * inspector/front-end/RawSourceCode.js:
105223        (WebInspector.RawSourceCode.prototype.rawLocationToUILocation):
105224        (WebInspector.RawSourceCode.prototype.uiLocationToRawLocation):
105225        (WebInspector.RawSourceCode.prototype.uiSourceCodeList):
105226        (WebInspector.RawSourceCode.prototype._saveSourceMapping):
105227        * inspector/front-end/ScriptsPanel.js:
105228        (WebInspector.ScriptsPanel.prototype._updateCallFrame):
105229        * inspector/front-end/ScriptsSearchScope.js:
105230        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
105231
1052322012-02-27  Mihnea Ovidenie  <mihnea@adobe.com>
105233
105234        [CSSRegions]Implement NamedFlow::getRegionsByContentNode
105235        https://bugs.webkit.org/show_bug.cgi?id=77746
105236
105237        Reviewed by David Hyatt.
105238
105239        Tests: fast/regions/get-regions-by-content-node-horiz-bt.html
105240               fast/regions/get-regions-by-content-node-horiz-tb.html
105241               fast/regions/get-regions-by-content-node-vert-lr.html
105242               fast/regions/get-regions-by-content-node-vert-rl.html
105243               fast/regions/get-regions-by-content-node.html
105244               fast/regions/get-regions-by-content-node2.html
105245
105246        * CMakeLists.txt:
105247        * GNUmakefile.list.am:
105248        * Target.pri:
105249        * WebCore.gypi:
105250        * WebCore.vcproj/WebCore.vcproj:
105251        * WebCore.xcodeproj/project.pbxproj:
105252        * dom/Node.cpp:
105253        (WebCore::Node::removeCachedRegionNodeList):
105254        (WebCore):
105255        (WebCore::Node::getRegionsByContentNode):
105256        (WebCore::NodeListsNodeData::invalidateCaches):
105257        (WebCore::NodeListsNodeData::isEmpty):
105258        * dom/Node.h:
105259        (WebCore):
105260        (Node):
105261        * dom/NodeRareData.h:
105262        (NodeListsNodeData):
105263        * dom/RegionNodeList.cpp:
105264        (WebCore):
105265        (WebCore::RegionNodeList::RegionNodeList):
105266        (WebCore::RegionNodeList::~RegionNodeList):
105267        (WebCore::RegionNodeList::nodeMatches):
105268        * dom/RegionNodeList.h:
105269        (WebCore):
105270        (RegionNodeList):
105271        (WebCore::RegionNodeList::create):
105272        * dom/WebKitNamedFlow.cpp:
105273        (WebCore::WebKitNamedFlow::getRegionsByContentNode):
105274        (WebCore):
105275        * dom/WebKitNamedFlow.h:
105276        (WebCore):
105277        (WebKitNamedFlow):
105278        * dom/WebKitNamedFlow.idl:
105279        * rendering/RenderFlowThread.cpp:
105280        (WebCore::RenderFlowThread::regionInRange):
105281        (WebCore):
105282        (WebCore::RenderFlowThread::objectInFlowRegion):
105283        * rendering/RenderFlowThread.h:
105284        * rendering/RenderRegion.h:
105285        (WebCore::RenderRegion::flowThread):
105286
1052872012-02-27  Yury Semikhatsky  <yurys@chromium.org>
105288
105289        Web Inspector: counter graphs should resize after console showing
105290        https://bugs.webkit.org/show_bug.cgi?id=79640
105291
105292        Invoke Panel.doResize after showing drawer.
105293
105294        Reviewed by Pavel Feldman.
105295
105296        * inspector/front-end/Drawer.js:
105297        (WebInspector.Drawer.prototype.show.animationFinished):
105298        (WebInspector.Drawer.prototype.show):
105299
1053002012-02-27  Dan Beam  <dbeam@chromium.org>
105301
105302        Web Inspector: Close TabbedPanes on middle click of tab handle
105303        https://bugs.webkit.org/show_bug.cgi?id=79518
105304
105305        Reviewed by Pavel Feldman.
105306
105307        * inspector/front-end/TabbedPane.js:
105308        (WebInspector.TabbedPaneTab.prototype._createTabElement):
105309        (WebInspector.TabbedPaneTab.prototype._tabClicked):
105310
1053112012-02-26  Yury Semikhatsky  <yurys@chromium.org>
105312
105313        Web Inspector: crash in fake workers
105314        https://bugs.webkit.org/show_bug.cgi?id=79637
105315
105316        Notify front-end about worker creation/destruction synchronously instead of
105317        posting a task.
105318
105319        Reviewed by Pavel Feldman.
105320
105321        * inspector/InspectorAgent.cpp:
105322        (WebCore):
105323        (WebCore::InspectorAgent::didCreateWorker):
105324        (WebCore::InspectorAgent::didDestroyWorker):
105325        * inspector/InspectorAgent.h:
105326        (InspectorAgent):
105327
1053282012-02-26  Adam Barth  <abarth@webkit.org>
105329
105330        Unreviewed.
105331
105332        Fix some warnings in the build from referencing the non-existent
105333        websockets directory.
105334
105335        * WebCore.gyp/WebCore.gyp:
105336
1053372012-02-26  Shinya Kawanaka  <shinyak@chromium.org>
105338
105339        Rename ShadowRootList to ShadowTree.
105340        https://bugs.webkit.org/show_bug.cgi?id=79342
105341
105342        Reviewed by Hajime Morita.
105343
105344        This patch renames ShadowRootList ot ShadowTree.
105345
105346        No new tests, no change in behavior.
105347
105348        * CMakeLists.txt:
105349        * GNUmakefile.list.am:
105350        * Target.pri:
105351        * WebCore.exp.in:
105352        * WebCore.gypi:
105353        * WebCore.xcodeproj/project.pbxproj:
105354        * dom/DOMAllInOne.cpp:
105355        * dom/Document.cpp:
105356        (WebCore::Document::buildAccessKeyMap):
105357        * dom/Element.cpp:
105358        (WebCore::Element::willRemove):
105359        (WebCore::Element::insertedIntoDocument):
105360        (WebCore::Element::removedFromDocument):
105361        (WebCore::Element::insertedIntoTree):
105362        (WebCore::Element::removedFromTree):
105363        (WebCore::Element::attach):
105364        (WebCore::Element::detach):
105365        (WebCore::Element::recalcStyle):
105366        (WebCore::Element::hasShadowRoot):
105367        (WebCore::Element::shadowTree):
105368        (WebCore::Element::setShadowRoot):
105369        (WebCore::Element::ensureShadowRoot):
105370        (WebCore::Element::removeShadowRoot):
105371        (WebCore::Element::childrenChanged):
105372        * dom/Element.h:
105373        (WebCore):
105374        (Element):
105375        * dom/ElementRareData.h:
105376        (ElementRareData):
105377        (WebCore::ElementRareData::~ElementRareData):
105378        * dom/Node.cpp:
105379        (WebCore::oldestShadowRoot):
105380        * dom/NodeRenderingContext.cpp:
105381        (WebCore::NodeRenderingContext::NodeRenderingContext):
105382        (WebCore::NodeRenderingContext::hostChildrenChanged):
105383        (WebCore::NodeRenderingContext::shouldCreateRenderer):
105384        * dom/NodeRenderingContext.h:
105385        (WebCore):
105386        * dom/ShadowRoot.cpp:
105387        (WebCore::ShadowRoot::tree):
105388        (WebCore::ShadowRoot::attach):
105389        * dom/ShadowRoot.h:
105390        (WebCore):
105391        (ShadowRoot):
105392        * dom/ShadowTree.cpp: Renamed from Source/WebCore/dom/ShadowRootList.cpp.
105393        (WebCore):
105394        (WebCore::ShadowTree::ShadowTree):
105395        (WebCore::ShadowTree::~ShadowTree):
105396        (WebCore::ShadowTree::pushShadowRoot):
105397        (WebCore::ShadowTree::popShadowRoot):
105398        (WebCore::ShadowTree::insertedIntoDocument):
105399        (WebCore::ShadowTree::removedFromDocument):
105400        (WebCore::ShadowTree::insertedIntoTree):
105401        (WebCore::ShadowTree::removedFromTree):
105402        (WebCore::ShadowTree::willRemove):
105403        (WebCore::ShadowTree::attach):
105404        (WebCore::ShadowTree::detach):
105405        (WebCore::ShadowTree::insertionPointFor):
105406        (WebCore::ShadowTree::isSelectorActive):
105407        (WebCore::ShadowTree::reattach):
105408        (WebCore::ShadowTree::childNeedsStyleRecalc):
105409        (WebCore::ShadowTree::needsStyleRecalc):
105410        (WebCore::ShadowTree::recalcShadowTreeStyle):
105411        (WebCore::ShadowTree::needsReattachHostChildrenAndShadow):
105412        (WebCore::ShadowTree::hostChildrenChanged):
105413        (WebCore::ShadowTree::setNeedsReattachHostChildrenAndShadow):
105414        (WebCore::ShadowTree::reattachHostChildrenAndShadow):
105415        (WebCore::ShadowTree::ensureSelector):
105416        * dom/ShadowTree.h: Renamed from Source/WebCore/dom/ShadowRootList.h.
105417        (WebCore):
105418        (ShadowTree):
105419        (WebCore::ShadowTree::hasShadowRoot):
105420        (WebCore::ShadowTree::youngestShadowRoot):
105421        (WebCore::ShadowTree::oldestShadowRoot):
105422        (WebCore::ShadowTree::selector):
105423        (WebCore::ShadowTree::clearNeedsReattachHostChildrenAndShadow):
105424        (WebCore::ShadowTree::host):
105425        * dom/TreeScopeAdopter.cpp:
105426        (WebCore::shadowRootFor):
105427        * html/ColorInputType.cpp:
105428        (WebCore::ColorInputType::createShadowSubtree):
105429        (WebCore::ColorInputType::shadowColorSwatch):
105430        * html/FileInputType.cpp:
105431        (WebCore::FileInputType::createShadowSubtree):
105432        (WebCore::FileInputType::multipleAttributeChanged):
105433        * html/HTMLDetailsElement.cpp:
105434        (WebCore::HTMLDetailsElement::findMainSummary):
105435        * html/HTMLKeygenElement.cpp:
105436        (WebCore::HTMLKeygenElement::shadowSelect):
105437        * html/HTMLMediaElement.cpp:
105438        (WebCore::HTMLMediaElement::mediaControls):
105439        (WebCore::HTMLMediaElement::hasMediaControls):
105440        * html/HTMLSummaryElement.cpp:
105441        * html/HTMLTextAreaElement.cpp:
105442        (WebCore::HTMLTextAreaElement::innerTextElement):
105443        (WebCore::HTMLTextAreaElement::updatePlaceholderText):
105444        * html/InputType.cpp:
105445        (WebCore::InputType::destroyShadowSubtree):
105446        * html/RangeInputType.cpp:
105447        (WebCore::RangeInputType::handleMouseDownEvent):
105448        (WebCore::RangeInputType::createShadowSubtree):
105449        * html/TextFieldInputType.cpp:
105450        (WebCore::TextFieldInputType::createShadowSubtree):
105451        (WebCore::TextFieldInputType::updatePlaceholderText):
105452        * html/ValidationMessage.cpp:
105453        (WebCore::ValidationMessage::deleteBubbleTree):
105454        * html/shadow/HTMLContentElement.cpp:
105455        (WebCore::HTMLContentElement::attach):
105456        (WebCore::HTMLContentElement::detach):
105457        (WebCore::HTMLContentElement::parseAttribute):
105458        * html/shadow/SliderThumbElement.cpp:
105459        (WebCore::sliderThumbElementOf):
105460        (WebCore::RenderSliderContainer::layout):
105461        (WebCore::trackLimiterElementOf):
105462        * page/FocusController.cpp:
105463        (WebCore::shadowRoot):
105464        * rendering/RenderFileUploadControl.cpp:
105465        (WebCore::RenderFileUploadControl::uploadButton):
105466        * svg/SVGTRefElement.cpp:
105467        (WebCore::SVGTRefElement::updateReferencedText):
105468        (WebCore::SVGTRefElement::detachTarget):
105469        * testing/Internals.cpp:
105470        (WebCore::Internals::ensureShadowRoot):
105471        (WebCore::Internals::youngestShadowRoot):
105472        (WebCore::Internals::oldestShadowRoot):
105473
1054742012-02-26  Adam Barth  <abarth@webkit.org>
105475
105476        Extract Supplementable base class from Page and Navigator
105477        https://bugs.webkit.org/show_bug.cgi?id=79624
105478
105479        Reviewed by Hajime Morita.
105480
105481        We'll use this pattern again soon for ScriptExecutionContext.
105482
105483        * CMakeLists.txt:
105484        * GNUmakefile.list.am:
105485        * Modules/gamepad/NavigatorGamepad.cpp:
105486        (WebCore::NavigatorGamepad::from):
105487        * Modules/gamepad/NavigatorGamepad.h:
105488        * Modules/geolocation/NavigatorGeolocation.cpp:
105489        (WebCore::NavigatorGeolocation::from):
105490        * Modules/geolocation/NavigatorGeolocation.h:
105491        * Modules/mediastream/NavigatorMediaStream.cpp:
105492        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
105493        * Modules/mediastream/UserMediaController.cpp:
105494        (WebCore::provideUserMediaTo):
105495        * Modules/mediastream/UserMediaController.h:
105496        (WebCore::UserMediaController::from):
105497        * Target.pri:
105498        * WebCore.gypi:
105499        * WebCore.vcproj/WebCore.vcproj:
105500        * WebCore.xcodeproj/project.pbxproj:
105501        * dom/DeviceMotionController.cpp:
105502        (WebCore::provideDeviceMotionTo):
105503        * dom/DeviceMotionController.h:
105504        (WebCore::DeviceMotionController::from):
105505        * dom/DeviceOrientationController.cpp:
105506        (WebCore::provideDeviceOrientationTo):
105507        * dom/DeviceOrientationController.h:
105508        (WebCore):
105509        (WebCore::DeviceOrientationController::from):
105510        * notifications/NotificationController.cpp:
105511        (WebCore::provideNotification):
105512        * notifications/NotificationController.h:
105513        (WebCore):
105514        (WebCore::NotificationController::from):
105515        * page/DOMWindow.cpp:
105516        (WebCore::DOMWindow::page):
105517        (WebCore):
105518        (WebCore::DOMWindow::addEventListener):
105519        (WebCore::DOMWindow::removeEventListener):
105520        (WebCore::DOMWindow::removeAllEventListeners):
105521        * page/DOMWindow.h:
105522        (WebCore):
105523        (DOMWindow):
105524        * page/Navigator.cpp:
105525        (WebCore):
105526        * page/Navigator.h:
105527        (Navigator):
105528        * page/NavigatorSupplement.cpp: Removed.
105529        * page/NavigatorSupplement.h: Removed.
105530        * page/Page.cpp:
105531        (WebCore):
105532        * page/Page.h:
105533        (Page):
105534        * page/PageSupplement.cpp: Removed.
105535        * page/PageSupplement.h: Removed.
105536        * page/SpeechInput.cpp:
105537        (WebCore::provideSpeechInputTo):
105538        * page/SpeechInput.h:
105539        (WebCore::SpeechInput::from):
105540        * platform/Supplementable.h: Added.
105541        (WebCore):
105542        (Supplement):
105543        (WebCore::Supplement::~Supplement):
105544        (WebCore::Supplement::provideTo):
105545        (WebCore::Supplement::from):
105546        (Supplementable):
105547        (WebCore::Supplementable::provideSupplement):
105548        (WebCore::Supplementable::requireSupplement):
105549
1055502012-02-26  Hajime Morrita  <morrita@chromium.org>
105551
105552        Move ChromeClient::showContextMenu() to ContextMenuClient
105553        https://bugs.webkit.org/show_bug.cgi?id=79427
105554
105555        Reviewed by Adam Barth.
105556
105557        - Removed ChromeClient::showContextMenu(), Chrome::showContextMenu()
105558        - Added ContextMenuController::showContextMenuAt(), ContextMenuClient::showContextMenu()
105559        - Hided showContextMenu() behind ACCESSIBILITY_CONTEXT_MENUS
105560
105561        This change localizes context menu related code and will make it easy to
105562        modularize CONTEXT_MENUS code.
105563
105564        Refactoring. No new tests.
105565
105566        * WebCore.exp.in:
105567        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
105568        (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
105569        * loader/EmptyClients.h:
105570        (EmptyContextMenuClient):
105571        (WebCore::EmptyContextMenuClient::showContextMenu):
105572        * page/ContextMenuClient.h:
105573        (ContextMenuClient):
105574        * page/ContextMenuController.cpp:
105575        (WebCore):
105576        (WebCore::ContextMenuController::showContextMenuAt):
105577        * page/ContextMenuController.h:
105578        (ContextMenuController):
105579        * page/Chrome.cpp:
105580        * page/Chrome.h:
105581        (Chrome):
105582        * page/ChromeClient.h:
105583        (ChromeClient):
105584
1055852012-02-26  Benjamin Poulain  <bpoulain@apple.com>
105586
105587        [Mac] Release localized Strings instead of AutoRelease
105588        https://bugs.webkit.org/show_bug.cgi?id=79552
105589
105590        Reviewed by Sam Weinig.
105591
105592        By using the CoreFoundation API, we can release the memory as soon as
105593        the WTF::String is created.
105594
105595        * WebCore.xcodeproj/project.pbxproj:
105596        * platform/mac/LocalizedStringsMac.cpp: Renamed from Source/WebCore/platform/mac/LocalizedStringsMac.mm.
105597        (WebCore):
105598        (WebCore::localizedString):
105599
1056002012-02-26  Adam Barth  <abarth@webkit.org>
105601
105602        ContextDestructionObserver should live in its own file
105603        https://bugs.webkit.org/show_bug.cgi?id=79619
105604
105605        Reviewed by Hajime Morita.
105606
105607        WebKit prefers to have one class per file.  (This patch is paying a
105608        build system hacking debt I incurred earlier.)
105609
105610        * CMakeLists.txt:
105611        * GNUmakefile.list.am:
105612        * Target.pri:
105613        * WebCore.gypi:
105614        * WebCore.vcproj/WebCore.vcproj:
105615        * WebCore.xcodeproj/project.pbxproj:
105616        * dom/ActiveDOMObject.cpp:
105617        (WebCore):
105618        * dom/ActiveDOMObject.h:
105619        (ActiveDOMObject):
105620        (WebCore::ActiveDOMObject::suspendIfNeededCalled):
105621        (WebCore::ActiveDOMObject::setPendingActivity):
105622        (WebCore::ActiveDOMObject::unsetPendingActivity):
105623        * dom/ContextDestructionObserver.cpp: Added.
105624        (WebCore):
105625        (WebCore::ContextDestructionObserver::ContextDestructionObserver):
105626        (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
105627        (WebCore::ContextDestructionObserver::contextDestroyed):
105628        * dom/ContextDestructionObserver.h: Added.
105629        (WebCore):
105630        (ContextDestructionObserver):
105631        (WebCore::ContextDestructionObserver::scriptExecutionContext):
105632        * dom/DOMAllInOne.cpp:
105633
1056342012-02-26  Dirk Schulze  <krit@webkit.org>
105635
105636        Cleanup of Adobes copyright text. The text got harmonized with copyright texts of other companies. 
105637
105638        Rubber stamped by.
105639
105640        * css/CSSWrapShapes.cpp:
105641        * css/CSSWrapShapes.h:
105642        * css/WebKitCSSRegionRule.cpp:
105643        * css/WebKitCSSRegionRule.h:
105644        * css/WebKitCSSRegionRule.idl:
105645        * css/WebKitCSSShaderValue.cpp:
105646        * css/WebKitCSSShaderValue.h:
105647        * dom/WebKitNamedFlow.cpp:
105648        * dom/WebKitNamedFlow.h:
105649        * dom/WebKitNamedFlow.idl:
105650        * loader/cache/CachedShader.cpp:
105651        * loader/cache/CachedShader.h:
105652        * platform/graphics/filters/CustomFilterMesh.cpp:
105653        * platform/graphics/filters/CustomFilterMesh.h:
105654        * platform/graphics/filters/CustomFilterNumberParameter.h:
105655        * platform/graphics/filters/CustomFilterOperation.cpp:
105656        * platform/graphics/filters/CustomFilterOperation.h:
105657        * platform/graphics/filters/CustomFilterParameter.h:
105658        * platform/graphics/filters/CustomFilterProgram.cpp:
105659        * platform/graphics/filters/CustomFilterProgram.h:
105660        * platform/graphics/filters/CustomFilterProgramClient.h:
105661        * platform/graphics/filters/CustomFilterShader.cpp:
105662        * platform/graphics/filters/CustomFilterShader.h:
105663        * platform/graphics/filters/FECustomFilter.cpp:
105664        * platform/graphics/filters/FECustomFilter.h:
105665        * rendering/FilterEffectObserver.h:
105666        * rendering/RenderFlowThread.cpp:
105667        * rendering/RenderFlowThread.h:
105668        * rendering/RenderRegion.cpp:
105669        * rendering/RenderRegion.h:
105670        * rendering/style/StyleCachedShader.cpp:
105671        * rendering/style/StyleCachedShader.h:
105672        * rendering/style/StyleCustomFilterProgram.h:
105673        * rendering/style/StylePendingShader.h:
105674        * rendering/style/StyleShader.h:
105675
1056762012-02-26  Hyowon Kim  <hw1008.kim@samsung.com>
105677
105678        [EFL] Implementation of GraphicsContext3D for EFL port
105679        https://bugs.webkit.org/show_bug.cgi?id=79452
105680
105681        Reviewed by Noam Rosenthal.
105682
105683        Evas_GL is used to do OpenGL rendering on Evas, in which
105684        a structure 'Evas_GL_API' contains all the OpenGL functions.
105685
105686        GraphicsContext3D in EFL port should call OpenGL functions indirectly
105687        through the Evas_GL_API, and not use GraphicsContext3DOpenGL(Common).
105688
105689        So, we use the GraphicsContext3DPrivate to delegate all OpenGL function calls,
105690        and it will be implemented to use Evas_GL (bug 62961).
105691
105692        No new tests. No behavior change.
105693
105694        * platform/graphics/efl/GraphicsContext3DEfl.cpp: Added.
105695        (WebCore):
105696        (WebCore::GraphicsContext3D::create):
105697        (WebCore::GraphicsContext3D::GraphicsContext3D):
105698        (WebCore::GraphicsContext3D::~GraphicsContext3D):
105699        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
105700        (WebCore::GraphicsContext3D::platformLayer):
105701        (WebCore::GraphicsContext3D::makeContextCurrent):
105702        (WebCore::GraphicsContext3D::isGLES2Compliant):
105703        (WebCore::GraphicsContext3D::activeTexture):
105704        (WebCore::GraphicsContext3D::attachShader):
105705        (WebCore::GraphicsContext3D::bindAttribLocation):
105706        (WebCore::GraphicsContext3D::bindBuffer):
105707        (WebCore::GraphicsContext3D::bindFramebuffer):
105708        (WebCore::GraphicsContext3D::bindRenderbuffer):
105709        (WebCore::GraphicsContext3D::bindTexture):
105710        (WebCore::GraphicsContext3D::blendColor):
105711        (WebCore::GraphicsContext3D::blendEquation):
105712        (WebCore::GraphicsContext3D::blendEquationSeparate):
105713        (WebCore::GraphicsContext3D::blendFunc):
105714        (WebCore::GraphicsContext3D::blendFuncSeparate):
105715        (WebCore::GraphicsContext3D::bufferData):
105716        (WebCore::GraphicsContext3D::bufferSubData):
105717        (WebCore::GraphicsContext3D::checkFramebufferStatus):
105718        (WebCore::GraphicsContext3D::clear):
105719        (WebCore::GraphicsContext3D::clearColor):
105720        (WebCore::GraphicsContext3D::clearDepth):
105721        (WebCore::GraphicsContext3D::clearStencil):
105722        (WebCore::GraphicsContext3D::colorMask):
105723        (WebCore::GraphicsContext3D::compileShader):
105724        (WebCore::GraphicsContext3D::copyTexImage2D):
105725        (WebCore::GraphicsContext3D::copyTexSubImage2D):
105726        (WebCore::GraphicsContext3D::cullFace):
105727        (WebCore::GraphicsContext3D::depthFunc):
105728        (WebCore::GraphicsContext3D::depthMask):
105729        (WebCore::GraphicsContext3D::depthRange):
105730        (WebCore::GraphicsContext3D::detachShader):
105731        (WebCore::GraphicsContext3D::disable):
105732        (WebCore::GraphicsContext3D::disableVertexAttribArray):
105733        (WebCore::GraphicsContext3D::drawArrays):
105734        (WebCore::GraphicsContext3D::drawElements):
105735        (WebCore::GraphicsContext3D::enable):
105736        (WebCore::GraphicsContext3D::enableVertexAttribArray):
105737        (WebCore::GraphicsContext3D::finish):
105738        (WebCore::GraphicsContext3D::flush):
105739        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
105740        (WebCore::GraphicsContext3D::framebufferTexture2D):
105741        (WebCore::GraphicsContext3D::frontFace):
105742        (WebCore::GraphicsContext3D::generateMipmap):
105743        (WebCore::GraphicsContext3D::getActiveAttrib):
105744        (WebCore::GraphicsContext3D::getActiveUniform):
105745        (WebCore::GraphicsContext3D::getAttachedShaders):
105746        (WebCore::GraphicsContext3D::getAttribLocation):
105747        (WebCore::GraphicsContext3D::getBooleanv):
105748        (WebCore::GraphicsContext3D::getBufferParameteriv):
105749        (WebCore::GraphicsContext3D::getContextAttributes):
105750        (WebCore::GraphicsContext3D::getError):
105751        (WebCore::GraphicsContext3D::getFloatv):
105752        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
105753        (WebCore::GraphicsContext3D::getIntegerv):
105754        (WebCore::GraphicsContext3D::getProgramiv):
105755        (WebCore::GraphicsContext3D::getProgramInfoLog):
105756        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
105757        (WebCore::GraphicsContext3D::getShaderiv):
105758        (WebCore::GraphicsContext3D::getShaderInfoLog):
105759        (WebCore::GraphicsContext3D::getShaderSource):
105760        (WebCore::GraphicsContext3D::getString):
105761        (WebCore::GraphicsContext3D::getTexParameterfv):
105762        (WebCore::GraphicsContext3D::getTexParameteriv):
105763        (WebCore::GraphicsContext3D::getUniformfv):
105764        (WebCore::GraphicsContext3D::getUniformiv):
105765        (WebCore::GraphicsContext3D::getUniformLocation):
105766        (WebCore::GraphicsContext3D::getVertexAttribfv):
105767        (WebCore::GraphicsContext3D::getVertexAttribiv):
105768        (WebCore::GraphicsContext3D::getVertexAttribOffset):
105769        (WebCore::GraphicsContext3D::hint):
105770        (WebCore::GraphicsContext3D::isBuffer):
105771        (WebCore::GraphicsContext3D::isEnabled):
105772        (WebCore::GraphicsContext3D::isFramebuffer):
105773        (WebCore::GraphicsContext3D::isProgram):
105774        (WebCore::GraphicsContext3D::isRenderbuffer):
105775        (WebCore::GraphicsContext3D::isShader):
105776        (WebCore::GraphicsContext3D::isTexture):
105777        (WebCore::GraphicsContext3D::lineWidth):
105778        (WebCore::GraphicsContext3D::linkProgram):
105779        (WebCore::GraphicsContext3D::pixelStorei):
105780        (WebCore::GraphicsContext3D::polygonOffset):
105781        (WebCore::GraphicsContext3D::readPixels):
105782        (WebCore::GraphicsContext3D::releaseShaderCompiler):
105783        (WebCore::GraphicsContext3D::renderbufferStorage):
105784        (WebCore::GraphicsContext3D::sampleCoverage):
105785        (WebCore::GraphicsContext3D::scissor):
105786        (WebCore::GraphicsContext3D::shaderSource):
105787        (WebCore::GraphicsContext3D::stencilFunc):
105788        (WebCore::GraphicsContext3D::stencilFuncSeparate):
105789        (WebCore::GraphicsContext3D::stencilMask):
105790        (WebCore::GraphicsContext3D::stencilMaskSeparate):
105791        (WebCore::GraphicsContext3D::stencilOp):
105792        (WebCore::GraphicsContext3D::stencilOpSeparate):
105793        (WebCore::GraphicsContext3D::texImage2D):
105794        (WebCore::GraphicsContext3D::texParameterf):
105795        (WebCore::GraphicsContext3D::texParameteri):
105796        (WebCore::GraphicsContext3D::texSubImage2D):
105797        (WebCore::GraphicsContext3D::uniform1f):
105798        (WebCore::GraphicsContext3D::uniform1fv):
105799        (WebCore::GraphicsContext3D::uniform1i):
105800        (WebCore::GraphicsContext3D::uniform1iv):
105801        (WebCore::GraphicsContext3D::uniform2f):
105802        (WebCore::GraphicsContext3D::uniform2fv):
105803        (WebCore::GraphicsContext3D::uniform2i):
105804        (WebCore::GraphicsContext3D::uniform2iv):
105805        (WebCore::GraphicsContext3D::uniform3f):
105806        (WebCore::GraphicsContext3D::uniform3fv):
105807        (WebCore::GraphicsContext3D::uniform3i):
105808        (WebCore::GraphicsContext3D::uniform3iv):
105809        (WebCore::GraphicsContext3D::uniform4f):
105810        (WebCore::GraphicsContext3D::uniform4fv):
105811        (WebCore::GraphicsContext3D::uniform4i):
105812        (WebCore::GraphicsContext3D::uniform4iv):
105813        (WebCore::GraphicsContext3D::uniformMatrix2fv):
105814        (WebCore::GraphicsContext3D::uniformMatrix3fv):
105815        (WebCore::GraphicsContext3D::uniformMatrix4fv):
105816        (WebCore::GraphicsContext3D::useProgram):
105817        (WebCore::GraphicsContext3D::validateProgram):
105818        (WebCore::GraphicsContext3D::vertexAttrib1f):
105819        (WebCore::GraphicsContext3D::vertexAttrib1fv):
105820        (WebCore::GraphicsContext3D::vertexAttrib2f):
105821        (WebCore::GraphicsContext3D::vertexAttrib2fv):
105822        (WebCore::GraphicsContext3D::vertexAttrib3f):
105823        (WebCore::GraphicsContext3D::vertexAttrib3fv):
105824        (WebCore::GraphicsContext3D::vertexAttrib4f):
105825        (WebCore::GraphicsContext3D::vertexAttrib4fv):
105826        (WebCore::GraphicsContext3D::vertexAttribPointer):
105827        (WebCore::GraphicsContext3D::viewport):
105828        (WebCore::GraphicsContext3D::reshape):
105829        (WebCore::GraphicsContext3D::markContextChanged):
105830        (WebCore::GraphicsContext3D::markLayerComposited):
105831        (WebCore::GraphicsContext3D::layerComposited):
105832        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
105833        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
105834        (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
105835        (WebCore::GraphicsContext3D::createBuffer):
105836        (WebCore::GraphicsContext3D::createFramebuffer):
105837        (WebCore::GraphicsContext3D::createProgram):
105838        (WebCore::GraphicsContext3D::createRenderbuffer):
105839        (WebCore::GraphicsContext3D::createShader):
105840        (WebCore::GraphicsContext3D::createTexture):
105841        (WebCore::GraphicsContext3D::deleteBuffer):
105842        (WebCore::GraphicsContext3D::deleteFramebuffer):
105843        (WebCore::GraphicsContext3D::deleteProgram):
105844        (WebCore::GraphicsContext3D::deleteRenderbuffer):
105845        (WebCore::GraphicsContext3D::deleteShader):
105846        (WebCore::GraphicsContext3D::deleteTexture):
105847        (WebCore::GraphicsContext3D::synthesizeGLError):
105848        (WebCore::GraphicsContext3D::getExtensions):
105849        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
105850        (WebCore::GraphicsContext3D::setContextLostCallback):
105851        (WebCore::GraphicsContext3D::getImageData):
105852        (WebCore::GraphicsContext3D::validateAttributes):
105853        (WebCore::GraphicsContext3D::readRenderingResults):
105854        (WebCore::GraphicsContext3D::reshapeFBOs):
105855        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary):
105856        (WebCore::GraphicsContext3D::isResourceSafe):
105857
1058582012-02-26  James Robinson  <jamesr@chromium.org>
105859
105860        [chromium] Wire up shouldUpdateScrollPositionOnMainThread and nonFastScrollableRegion to compositor
105861        https://bugs.webkit.org/show_bug.cgi?id=79155
105862
105863        Reviewed by Adam Barth.
105864
105865        This hooks up ScrollingCoordinator::setNonFastScrollableRegion() and
105866        ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread() to the chromium compositor
105867        implementation and implements them on the impl thread.
105868
105869        New compositor behavior is covered by unit tests in LayerChromiumTests and CCLayerTreeHostImplTests. The rest is
105870        just glue code.
105871
105872        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
105873        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
105874        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
105875        * platform/graphics/chromium/LayerChromium.cpp:
105876        (WebCore::LayerChromium::LayerChromium):
105877        (WebCore::LayerChromium::setShouldScrollOnMainThread):
105878        (WebCore):
105879        (WebCore::LayerChromium::setNonFastScrollableRegion):
105880        (WebCore::LayerChromium::pushPropertiesTo):
105881        * platform/graphics/chromium/LayerChromium.h:
105882        (WebCore):
105883        (LayerChromium):
105884        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
105885        (WebCore::CCLayerImpl::CCLayerImpl):
105886        * platform/graphics/chromium/cc/CCLayerImpl.h:
105887        (WebCore::CCLayerImpl::shouldScrollOnMainThread):
105888        (WebCore::CCLayerImpl::setShouldScrollOnMainThread):
105889        (CCLayerImpl):
105890        (WebCore::CCLayerImpl::nonFastScrollableRegion):
105891        (WebCore::CCLayerImpl::setNonFastScrollableRegion):
105892        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
105893        (WebCore::CCLayerTreeHostImpl::scrollBegin):
105894
1058952012-02-26  Kentaro Hara  <haraken@chromium.org>
105896
105897        Unreviewed. Rebaselined run-bindings-tests results.
105898
105899        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
105900        (webkit_dom_test_interface_supplemental_method4):
105901
1059022012-02-26  Sheriff Bot  <webkit.review.bot@gmail.com>
105903
105904        Unreviewed, rolling out r108547.
105905        http://trac.webkit.org/changeset/108547
105906        https://bugs.webkit.org/show_bug.cgi?id=79606
105907
105908        Crashes on ClusterFuzz (Requested by inferno-sec on #webkit).
105909
105910        * rendering/RenderBlockLineLayout.cpp:
105911        (WebCore::RenderBlock::layoutInlineChildren):
105912
1059132012-02-25  Adam Barth  <abarth@webkit.org>
105914
105915        Move websockets to Modules/websockets
105916        https://bugs.webkit.org/show_bug.cgi?id=79598
105917
105918        Reviewed by Eric Seidel.
105919
105920        Nowadays, the only ENABLE(WEB_SOCKETS) ifdef in WebCore proper is in
105921        WebCore::Settings, and that will be removed (soon?) once Apple drops
105922        support for the old WebSockets protocol.
105923
105924        * CMakeLists.txt:
105925        * DerivedSources.make:
105926        * DerivedSources.pri:
105927        * GNUmakefile.am:
105928        * GNUmakefile.list.am:
105929        * Modules/websockets: Copied from Source/WebCore/websockets.
105930        * Target.pri:
105931        * WebCore.gyp/WebCore.gyp:
105932        * WebCore.gypi:
105933        * WebCore.pri:
105934        * WebCore.vcproj/WebCore.vcproj:
105935        * WebCore.vcproj/WebCoreCommon.vsprops:
105936        * WebCore.vcproj/copyForwardingHeaders.cmd:
105937        * WebCore.xcodeproj/project.pbxproj:
105938        * websockets: Removed.
105939        * websockets/CloseEvent.h: Removed.
105940        * websockets/CloseEvent.idl: Removed.
105941        * websockets/DOMWindowWebSocket.idl: Removed.
105942        * websockets/ThreadableWebSocketChannel.cpp: Removed.
105943        * websockets/ThreadableWebSocketChannel.h: Removed.
105944        * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Removed.
105945        * websockets/ThreadableWebSocketChannelClientWrapper.h: Removed.
105946        * websockets/WebSocket.cpp: Removed.
105947        * websockets/WebSocket.h: Removed.
105948        * websockets/WebSocket.idl: Removed.
105949        * websockets/WebSocketChannel.cpp: Removed.
105950        * websockets/WebSocketChannel.h: Removed.
105951        * websockets/WebSocketChannelClient.h: Removed.
105952        * websockets/WebSocketDeflater.cpp: Removed.
105953        * websockets/WebSocketDeflater.h: Removed.
105954        * websockets/WebSocketExtensionDispatcher.cpp: Removed.
105955        * websockets/WebSocketExtensionDispatcher.h: Removed.
105956        * websockets/WebSocketExtensionProcessor.h: Removed.
105957        * websockets/WebSocketFrame.h: Removed.
105958        * websockets/WebSocketHandshake.cpp: Removed.
105959        * websockets/WebSocketHandshake.h: Removed.
105960        * websockets/WebSocketHandshakeRequest.cpp: Removed.
105961        * websockets/WebSocketHandshakeRequest.h: Removed.
105962        * websockets/WebSocketHandshakeResponse.cpp: Removed.
105963        * websockets/WebSocketHandshakeResponse.h: Removed.
105964        * websockets/WorkerThreadableWebSocketChannel.cpp: Removed.
105965        * websockets/WorkerThreadableWebSocketChannel.h: Removed.
105966
1059672012-02-25  Benjamin Poulain  <benjamin@webkit.org>
105968
105969        Get rid of KURL::deprecatedString()
105970        https://bugs.webkit.org/show_bug.cgi?id=79594
105971
105972        Reviewed by Andreas Kling.
105973
105974        The method KURL::deprecatedString() is unused, remove it from WebCore.
105975
105976        The last reference to the method was removed in r96779.
105977
105978        * platform/KURL.cpp:
105979        (WebCore):
105980        * platform/KURL.h:
105981        (KURL):
105982        * platform/KURLGoogle.cpp:
105983        (WebCore):
105984        * platform/KURLWTFURL.cpp:
105985        (WebCore):
105986
1059872012-02-25  Benjamin Poulain  <benjamin@webkit.org>
105988
105989        Get rid of copyParsedQueryTo()
105990        https://bugs.webkit.org/show_bug.cgi?id=79590
105991
105992        Reviewed by Andreas Kling.
105993
105994        The function KURL::copyParsedQueryTo() is unused. Remove it from WebCore.
105995
105996        The function was used by HTMLAnchorElement::getParameter() but that feature
105997        was removed in r100164.
105998
105999        * WebCore.order:
106000        * platform/KURL.cpp:
106001        (WebCore):
106002        * platform/KURL.h:
106003        (WebCore):
106004        (KURL):
106005        * platform/KURLGoogle.cpp:
106006        (WebCore):
106007        * platform/KURLWTFURL.cpp:
106008        (WebCore):
106009
1060102012-02-25  Sheriff Bot  <webkit.review.bot@gmail.com>
106011
106012        Unreviewed, rolling out r108924.
106013        http://trac.webkit.org/changeset/108924
106014        https://bugs.webkit.org/show_bug.cgi?id=79597
106015
106016        broke 4 inspector tests (Requested by kling on #webkit).
106017
106018        * dom/StyledElement.cpp:
106019        (WebCore::StyledElement::parseAttribute):
106020
1060212012-02-25  Adam Barth  <abarth@webkit.org>
106022
106023        Fix typo in comment.  This #endif is for a different ENABLE macro.
106024
106025        * page/NavigatorRegisterProtocolHandler.cpp:
106026
1060272012-02-25  Anders Carlsson  <andersca@apple.com>
106028
106029        Move an ASSERT to avoid it firing due to a race condition
106030        https://bugs.webkit.org/show_bug.cgi?id=79596
106031
106032        Reviewed by Andreas Kling.
106033
106034        ScrollingThread::isCurrentThread() can return false if called too early.
106035        Move it into ScrollingThread::initializeRunLoop where we know that the thread has
106036        been set up correctly.
106037
106038        * page/scrolling/ScrollingThread.cpp:
106039        (WebCore::ScrollingThread::threadBody):
106040        * page/scrolling/mac/ScrollingThreadMac.mm:
106041        (WebCore::ScrollingThread::initializeRunLoop):
106042
1060432012-02-25  Andreas Kling  <awesomekling@apple.com>
106044
106045        Setting style="" should destroy the element's inline style.
106046        <http://webkit.org/b/79595>
106047
106048        Reviewed by Anders Carlsson.
106049
106050        There's no reason for an element with style="" to have an inline style object.
106051        Remove the inline style in that case, just like we do when removing the style
106052        attribute altogether.
106053
106054        * dom/StyledElement.cpp:
106055        (WebCore::StyledElement::parseAttribute):
106056
1060572012-02-25  Andreas Kling  <awesomekling@apple.com>
106058
106059        Allow matched property cache for elements with additional attribute style.
106060        <http://webkit.org/b/79583>
106061
106062        Reviewed by Antti Koivisto.
106063
106064        There's no reason to disallow the matched style property cache for elements
106065        that return something from additionalAttributeStyle(). The only requirement
106066        for a property set to be cached is that it either doesn't mutate OR that it
106067        invalidates the document's CSSStyleSelector when doing so.
106068
106069        This allows some more match caching for table-related elements, though we
106070        are still held back by explicitly 'inherited' properties in html.css.
106071
106072        * css/CSSStyleSelector.cpp:
106073        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
106074
1060752012-02-25  Julien Chaffraix  <jchaffraix@webkit.org>
106076
106077        Clean-up RenderTableSection::calcRowLogicalHeight
106078        https://bugs.webkit.org/show_bug.cgi?id=77705
106079
106080        Reviewed by Nikolas Zimmermann.
106081
106082        Refactoring / simplication of the code.
106083
106084        This change removes some variables that were unneeded and were
106085        hiding what the code was really doing. Also some of the code was
106086        split and moved down to RenderTableCell.
106087
106088        * rendering/RenderTableCell.cpp:
106089        (WebCore::RenderTableCell::logicalHeightForRowSizing):
106090        * rendering/RenderTableCell.h:
106091        (RenderTableCell):
106092        Added the previous helper function to calculate the cell's
106093        adjusted logical height.
106094
106095        * rendering/RenderTableSection.cpp:
106096        (WebCore::RenderTableSection::calcRowLogicalHeight):
106097        Removed some variables, simplified the rowspan logic to be clearer
106098        (and added a comment about how we handle rowspans).
106099
1061002012-02-25  Benjamin Poulain  <benjamin@webkit.org>
106101
106102        Add an empty skeleton of KURL for WTFURL
106103        https://bugs.webkit.org/show_bug.cgi?id=78990
106104
106105        Reviewed by Adam Barth.
106106
106107        Add an empty skeleton of KURL based on WTFURL.
106108
106109        With WTFURL, the data of KURL is in an implicitely shared object
106110        named KURLWTFURLImpl.
106111
106112        In KURLWTFURLImpl, KURL created with invalid URL would be stored
106113        as a String. A valid URL would be stored as a ParsedURL.
106114
106115        * ForwardingHeaders/wtf/url/ParsedURL.h: Added.
106116        * WebCore.exp.in:
106117        * WebCore.xcodeproj/project.pbxproj:
106118        * platform/KURL.cpp:
106119        (WebCore):
106120        * platform/KURL.h:
106121        (KURL):
106122        (WebCore::KURL::KURL):
106123        (WebCore::KURL::isHashTableDeletedValue):
106124        (WebCore):
106125        * platform/KURLWTFURL.cpp: Added.
106126        (WebCore):
106127        (WebCore::KURL::KURL):
106128        (WebCore::KURL::copy):
106129        (WebCore::KURL::isNull):
106130        (WebCore::KURL::isEmpty):
106131        (WebCore::KURL::isValid):
106132        (WebCore::KURL::hasPath):
106133        (WebCore::KURL::string):
106134        (WebCore::KURL::protocol):
106135        (WebCore::KURL::host):
106136        (WebCore::KURL::port):
106137        (WebCore::KURL::hasPort):
106138        (WebCore::KURL::user):
106139        (WebCore::KURL::pass):
106140        (WebCore::KURL::path):
106141        (WebCore::KURL::lastPathComponent):
106142        (WebCore::KURL::query):
106143        (WebCore::KURL::fragmentIdentifier):
106144        (WebCore::KURL::hasFragmentIdentifier):
106145        (WebCore::KURL::copyParsedQueryTo):
106146        (WebCore::KURL::baseAsString):
106147        (WebCore::KURL::deprecatedString):
106148        (WebCore::KURL::fileSystemPath):
106149        (WebCore::KURL::protocolIs):
106150        (WebCore::KURL::protocolIsInHTTPFamily):
106151        (WebCore::KURL::setProtocol):
106152        (WebCore::KURL::setHost):
106153        (WebCore::KURL::removePort):
106154        (WebCore::KURL::setPort):
106155        (WebCore::KURL::setHostAndPort):
106156        (WebCore::KURL::setUser):
106157        (WebCore::KURL::setPass):
106158        (WebCore::KURL::setPath):
106159        (WebCore::KURL::setQuery):
106160        (WebCore::KURL::setFragmentIdentifier):
106161        (WebCore::KURL::removeFragmentIdentifier):
106162        (WebCore::KURL::hostStart):
106163        (WebCore::KURL::hostEnd):
106164        (WebCore::KURL::pathStart):
106165        (WebCore::KURL::pathEnd):
106166        (WebCore::KURL::pathAfterLastSlash):
106167        (WebCore::KURL::invalidate):
106168        (WebCore::KURL::isHierarchical):
106169        (WebCore::protocolIs):
106170        (WebCore::equalIgnoringFragmentIdentifier):
106171        (WebCore::protocolHostAndPortAreEqual):
106172        (WebCore::encodeWithURLEscapeSequences):
106173        (WebCore::decodeURLEscapeSequences):
106174        * platform/KURLWTFURLImpl.h: Copied from Source/WebCore/platform/mac/KURLMac.mm.
106175        (WebCore):
106176        (KURLWTFURLImpl):
106177        * platform/cf/KURLCFNet.cpp:
106178        (WebCore):
106179        (WebCore::KURL::KURL):
106180        (WebCore::KURL::createCFURL):
106181        * platform/mac/KURLMac.mm:
106182        (WebCore):
106183        (WebCore::KURL::KURL):
106184        (WebCore::KURL::operator NSURL *):
106185
1061862012-02-25  Anders Carlsson  <andersca@apple.com>
106187
106188        Make the libc++ workaround more targeted
106189        https://bugs.webkit.org/show_bug.cgi?id=79578
106190        <rdar://problem/10933150>
106191
106192        Reviewed by Sam Weinig.
106193
106194        Change the std::move implementation to take a WebCore::TimerHeapReference directly so 
106195        WebCore still builds with a version of libc++ that has the right std::move function template.
106196
106197        * WebCorePrefix.h:
106198        (WebCore):
106199        (move):
106200
1062012012-02-25  Andreas Kling  <awesomekling@apple.com>
106202
106203        Remove HTMLEmbedElement::insertedIntoDocument().
106204        <http://webkit.org/b/79576>
106205
106206        Reviewed by Anders Carlsson.
106207
106208        * html/HTMLEmbedElement.cpp:
106209        * html/HTMLEmbedElement.h:
106210
1062112012-02-25  Adrienne Walker  <enne@google.com>
106212
106213        Fix unused variable warnings in HarfBuzzShaperBase
106214        https://bugs.webkit.org/show_bug.cgi?id=79575
106215
106216        Reviewed by Andreas Kling.
106217
106218        In builds where asserts are not enabled, the error variable is unused.
106219
106220        * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
106221        (WebCore::normalizeSpacesAndMirrorChars):
106222
1062232012-02-25  Andreas Kling  <awesomekling@apple.com>
106224
106225        Remove HTMLTableElement::attach().
106226        <http://webkit.org/b/79574>
106227
106228        Reviewed by Anders Carlsson.
106229
106230        Remove this attach() override since it was only used to assert that
106231        we're not already attached, and this is already done by Node::attach().
106232
106233        * html/HTMLTableElement.cpp:
106234        * html/HTMLTableElement.h:
106235
1062362012-02-25  Andreas Kling  <awesomekling@apple.com>
106237
106238        HTMLTableElement: Avoid CSSParser in createSharedCellStyle().
106239        <http://webkit.org/b/79573>
106240
106241        Reviewed by Anders Carlsson.
106242
106243        * html/HTMLTableElement.cpp:
106244        (WebCore::HTMLTableElement::createSharedCellStyle):
106245
1062462012-02-25  Nikolas Zimmermann  <nzimmermann@rim.com>
106247
106248        Unreviewed, rolling out r108557.
106249        http://trac.webkit.org/changeset/108557
106250        https://bugs.webkit.org/show_bug.cgi?id=77705
106251
106252        Broke svg/zoom/page/zoom-replated-intrinsic-ratio-001.htm.
106253
106254        * rendering/RenderTableCell.cpp:
106255        * rendering/RenderTableCell.h:
106256        (RenderTableCell):
106257        * rendering/RenderTableSection.cpp:
106258        (WebCore::RenderTableSection::calcRowLogicalHeight):
106259
1062602012-02-25  Andreas Kling  <awesomekling@apple.com>
106261
106262        HTMLParamElement: Clean up name/value attribute handling.
106263        <http://webkit.org/b/79559>
106264
106265        Reviewed by Anders Carlsson.
106266
106267        Out-of-line name() and value(), and move the logic from parseAttribute()
106268        into them instead. This makes the class a bit simpler and shrinks it by
106269        two AtomicStrings. Also reduced isURLAttribute() to a two-liner.
106270
106271        * html/HTMLParamElement.cpp:
106272        (WebCore::HTMLParamElement::name):
106273        (WebCore::HTMLParamElement::value):
106274        (WebCore::HTMLParamElement::isURLAttribute):
106275        * html/HTMLParamElement.h:
106276
1062772012-02-24  Tien-Ren Chen  <trchen@chromium.org>
106278
106279        [chromium] Replace RefPtr with OwnPtr for CCLayerImpl tree structure
106280        https://bugs.webkit.org/show_bug.cgi?id=78404
106281
106282        Reviewed by James Robinson.
106283
106284        No new tests. Updated existing test to reflect changes.
106285
106286        * platform/graphics/chromium/CanvasLayerChromium.cpp:
106287        (WebCore::CanvasLayerChromium::createCCLayerImpl):
106288        * platform/graphics/chromium/CanvasLayerChromium.h:
106289        (CanvasLayerChromium):
106290        * platform/graphics/chromium/LayerChromium.cpp:
106291        (WebCore::LayerChromium::createCCLayerImpl):
106292        * platform/graphics/chromium/LayerChromium.h:
106293        (LayerChromium):
106294        * platform/graphics/chromium/PluginLayerChromium.cpp:
106295        (WebCore::PluginLayerChromium::createCCLayerImpl):
106296        * platform/graphics/chromium/PluginLayerChromium.h:
106297        (PluginLayerChromium):
106298        * platform/graphics/chromium/SolidColorLayerChromium.cpp:
106299        (WebCore::SolidColorLayerChromium::createCCLayerImpl):
106300        * platform/graphics/chromium/SolidColorLayerChromium.h:
106301        (SolidColorLayerChromium):
106302        * platform/graphics/chromium/TiledLayerChromium.cpp:
106303        (WebCore::TiledLayerChromium::createCCLayerImpl):
106304        * platform/graphics/chromium/TiledLayerChromium.h:
106305        (TiledLayerChromium):
106306        * platform/graphics/chromium/TreeSynchronizer.cpp:
106307        (WebCore::TreeSynchronizer::synchronizeTrees):
106308        (WebCore::TreeSynchronizer::collectExistingCCLayerImplRecursive):
106309        (WebCore):
106310        (WebCore::TreeSynchronizer::reuseOrCreateCCLayerImpl):
106311        (WebCore::TreeSynchronizer::synchronizeTreeRecursive):
106312        * platform/graphics/chromium/TreeSynchronizer.h:
106313        (TreeSynchronizer):
106314        * platform/graphics/chromium/VideoLayerChromium.cpp:
106315        (WebCore::VideoLayerChromium::createCCLayerImpl):
106316        * platform/graphics/chromium/VideoLayerChromium.h:
106317        (VideoLayerChromium):
106318        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
106319        (WebCore::CCCanvasLayerImpl::create):
106320        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
106321        (WebCore::CCDamageTracker::updateDamageTrackingState):
106322        (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
106323        * platform/graphics/chromium/cc/CCDamageTracker.h:
106324        (CCDamageTracker):
106325        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
106326        (WebCore::CCLayerImpl::CCLayerImpl):
106327        (WebCore::CCLayerImpl::addChild):
106328        (WebCore::sortLayers):
106329        (WebCore::CCLayerImpl::setMaskLayer):
106330        (WebCore::CCLayerImpl::setReplicaLayer):
106331        * platform/graphics/chromium/cc/CCLayerImpl.h:
106332        (WebCore::CCLayerImpl::create):
106333        (WebCore::CCLayerImpl::children):
106334        (CCLayerImpl):
106335        (WebCore):
106336        * platform/graphics/chromium/cc/CCLayerIterator.cpp:
106337        (WebCore):
106338        (WebCore::CCLayerIteratorActions::BackToFront::begin):
106339        (WebCore::CCLayerIteratorActions::BackToFront::end):
106340        (WebCore::CCLayerIteratorActions::BackToFront::next):
106341        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
106342        (WebCore::CCLayerIteratorActions::FrontToBack::end):
106343        (WebCore::CCLayerIteratorActions::FrontToBack::next):
106344        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
106345        * platform/graphics/chromium/cc/CCLayerIterator.h:
106346        (WebCore):
106347        (CCLayerIterator):
106348        (WebCore::CCLayerIterator::begin):
106349        (WebCore::CCLayerIterator::end):
106350        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
106351        (WebCore::CCLayerIterator::CCLayerIterator):
106352        (WebCore::CCLayerIterator::getRawPtr):
106353        (WebCore::CCLayerIterator::currentLayer):
106354        (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
106355        (BackToFront):
106356        (FrontToBack):
106357        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
106358        (WebCore::CCLayerSorter::createGraphNodes):
106359        * platform/graphics/chromium/cc/CCLayerSorter.h:
106360        (CCLayerSorter):
106361        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
106362        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
106363        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
106364        (WebCore::CCLayerTreeHost::reserveTextures):
106365        (WebCore::CCLayerTreeHost::paintLayerContents):
106366        (WebCore::CCLayerTreeHost::updateCompositorResources):
106367        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
106368        (WebCore):
106369        (WebCore::calculateDrawTransformsAndVisibilityInternal):
106370        (WebCore::walkLayersAndCalculateVisibleLayerRects):
106371        (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
106372        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
106373        (CCLayerTreeHostCommon):
106374        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
106375        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
106376        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
106377        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
106378        (WebCore::CCLayerTreeHostImpl::drawLayers):
106379        (WebCore::CCLayerTreeHostImpl::setRootLayer):
106380        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
106381        (CCLayerTreeHostImpl):
106382        (WebCore::CCLayerTreeHostImpl::releaseRootLayer):
106383        (WebCore::CCLayerTreeHostImpl::scrollLayer):
106384        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
106385        (WebCore::CCPluginLayerImpl::create):
106386        * platform/graphics/chromium/cc/CCRenderSurface.h:
106387        (WebCore::CCRenderSurface::layerList):
106388        (CCRenderSurface):
106389        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h:
106390        (WebCore::CCSolidColorLayerImpl::create):
106391        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
106392        (WebCore::CCTiledLayerImpl::create):
106393        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
106394        (WebCore::CCVideoLayerImpl::create):
106395
1063962012-02-24  Andreas Kling  <awesomekling@apple.com>
106397
106398        Don't pass constant strings to CSSParser for presentation attributes.
106399        <http://webkit.org/b/79530>
106400
106401        Reviewed by Anders Carlsson.
106402
106403        "both" -> CSSValueBoth.
106404        "center" -> CSSValueCenter.
106405
106406        * html/HTMLBRElement.cpp:
106407        (WebCore::HTMLBRElement::collectStyleForAttribute):
106408        * html/HTMLElement.cpp:
106409        (WebCore::HTMLElement::collectStyleForAttribute):
106410
1064112012-02-24  Yael Aharon  <yael.aharon@nokia.com>
106412
106413        [Texmap] Add const-ness to TextureMapperShaderManager
106414        https://bugs.webkit.org/show_bug.cgi?id=79545
106415
106416        Reviewed by Noam Rosenthal.
106417        
106418        Add const to new methods.
106419        No new tests.
106420
106421        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
106422        (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
106423        (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
106424        (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
106425        (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
106426        * platform/graphics/texmap/TextureMapperShaderManager.h:
106427        (WebCore::TextureMapperShaderProgram::matrixVariable):
106428        (WebCore::TextureMapperShaderProgram::sourceMatrixVariable):
106429        (WebCore::TextureMapperShaderProgram::sourceTextureVariable):
106430        (WebCore::TextureMapperShaderProgram::opacityVariable):
106431        (TextureMapperShaderProgram):
106432        (TextureMapperShaderProgramSimple):
106433        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
106434        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
106435        (TextureMapperShaderProgramOpacityAndMask):
106436
1064372012-02-24  Tom Sepez  <tsepez@chromium.org>
106438
106439        XSS Auditor targeting legitimate frames as false positives.
106440        https://bugs.webkit.org/show_bug.cgi?id=79397
106441
106442        Reviewed by Adam Barth.
106443
106444        Test: http/tests/security/xssAuditor/script-tag-safe4.html
106445
106446        * html/parser/XSSAuditor.cpp:
106447        (WebCore::XSSAuditor::filterCharacterToken):
106448        (WebCore::XSSAuditor::filterScriptToken):
106449        (WebCore::XSSAuditor::filterObjectToken):
106450        (WebCore::XSSAuditor::filterEmbedToken):
106451        (WebCore::XSSAuditor::filterAppletToken):
106452        (WebCore::XSSAuditor::filterIframeToken):
106453        (WebCore::XSSAuditor::decodedSnippetForToken):
106454        (WebCore):
106455        (WebCore::XSSAuditor::decodedSnippetForName):
106456        (WebCore::XSSAuditor::decodedSnippetForAttribute):
106457        (WebCore::XSSAuditor::decodedSnippetForJavascript):
106458        (WebCore::XSSAuditor::isContainedInRequest):
106459        (WebCore::XSSAuditor::isSameOriginResource):
106460        * html/parser/XSSAuditor.h:
106461
1064622012-02-24  Ian Vollick  <vollick@chromium.org>
106463
106464        [chromium] Plumb animation started notifications from CCLayerTreeHost to GraphicsLayerChromium
106465        https://bugs.webkit.org/show_bug.cgi?id=77646
106466
106467        Reviewed by James Robinson.
106468
106469        * WebCore.gypi:
106470        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
106471        (std):
106472        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
106473        (WebCore::GraphicsLayerChromium::addAnimation):
106474        (WebCore::GraphicsLayerChromium::pauseAnimation):
106475        (WebCore::GraphicsLayerChromium::removeAnimation):
106476        (WebCore::GraphicsLayerChromium::suspendAnimations):
106477        (WebCore::GraphicsLayerChromium::resumeAnimations):
106478        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
106479        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
106480        (WebCore):
106481        (WebCore::GraphicsLayerChromium::notifyAnimationStarted):
106482        (WebCore::GraphicsLayerChromium::notifyAnimationFinished):
106483        * platform/graphics/chromium/GraphicsLayerChromium.h:
106484        (GraphicsLayerChromium):
106485        * platform/graphics/chromium/LayerChromium.cpp:
106486        (WebCore::LayerChromium::LayerChromium):
106487        (WebCore::LayerChromium::setAnimationEvent):
106488        (WebCore):
106489        * platform/graphics/chromium/LayerChromium.h:
106490        (WebCore):
106491        (LayerChromium):
106492        (WebCore::LayerChromium::setLayerAnimationDelegate):
106493        * platform/graphics/chromium/cc/CCAnimationEvents.cpp: Added.
106494        (WebCore):
106495        (WebCore::CCAnimationEvent::CCAnimationEvent):
106496        (WebCore::CCAnimationEvent::~CCAnimationEvent):
106497        (WebCore::CCAnimationEvent::toAnimationStartedEvent):
106498        (WebCore::CCAnimationEvent::toAnimationFinishedEvent):
106499        (WebCore::CCAnimationStartedEvent::create):
106500        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
106501        (WebCore::CCAnimationStartedEvent::~CCAnimationStartedEvent):
106502        (WebCore::CCAnimationStartedEvent::type):
106503        (WebCore::CCAnimationFinishedEvent::create):
106504        (WebCore::CCAnimationFinishedEvent::CCAnimationFinishedEvent):
106505        (WebCore::CCAnimationFinishedEvent::~CCAnimationFinishedEvent):
106506        (WebCore::CCAnimationFinishedEvent::type):
106507        * platform/graphics/chromium/cc/CCAnimationEvents.h:
106508        (WebCore):
106509        (CCAnimationEvent):
106510        (WebCore::CCAnimationEvent::layerId):
106511        (CCAnimationStartedEvent):
106512        (WebCore::CCAnimationStartedEvent::startTime):
106513        (CCAnimationFinishedEvent):
106514        (WebCore::CCAnimationFinishedEvent::animationId):
106515        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
106516        (WebCore::CCLayerAnimationControllerImpl::animate):
106517        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
106518        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
106519        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
106520        (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
106521        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
106522        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
106523        (CCLayerAnimationControllerImpl):
106524        * platform/graphics/chromium/cc/CCLayerAnimationDelegate.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationEvents.h.
106525        (WebCore):
106526        (CCLayerAnimationDelegate):
106527        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
106528        (WebCore::CCLayerTreeHost::setAnimationEvents):
106529        (WebCore::CCLayerTreeHost::setAnimationEventsRecursive):
106530        (WebCore):
106531        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
106532
1065332012-02-24  Abhishek Arya  <inferno@chromium.org>
106534
106535        Regression(r107477): Crash in StaticNodeList::itemWithName.
106536        https://bugs.webkit.org/show_bug.cgi?id=79532
106537
106538        Reviewed by Andreas Kling.
106539
106540        Make sure that node is an element node before checking its id attribute.
106541
106542        Test: fast/mutation/mutation-callback-non-element-crash.html
106543
106544        * dom/StaticNodeList.cpp:
106545        (WebCore::StaticNodeList::itemWithName):
106546
1065472012-02-24  Tony Chang  <tony@chromium.org>
106548
106549        More refactoring in RenderFlexibleBox
106550        https://bugs.webkit.org/show_bug.cgi?id=79533
106551
106552        Reviewed by Ojan Vafai.
106553
106554        No new tests, just refactoring.
106555
106556        * rendering/RenderFlexibleBox.cpp:
106557        (WebCore::RenderFlexibleBox::layoutFlexItems): Move the flipping of RTL+column positions to its own method.
106558        This might be a tiny bit slower, but it's clearer since it's not related to alignment.
106559        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Move the logical height calculation out of the loop.  We only need the final height.
106560        (WebCore::RenderFlexibleBox::alignChildren):
106561        (WebCore::RenderFlexibleBox::flipForRightToLeftColumn):
106562        * rendering/RenderFlexibleBox.h:
106563        (RenderFlexibleBox):
106564
1065652012-02-24  Abhishek Arya  <inferno@chromium.org>
106566
106567        Positioned objects not cleared when moving children
106568        to clone block in multi-column layout.
106569        https://bugs.webkit.org/show_bug.cgi?id=78416
106570
106571        Reviewed by Eric Seidel.
106572
106573        Test: fast/multicol/span/positioned-child-not-removed-crash.html
106574
106575        * rendering/RenderBlock.cpp:
106576        (WebCore::RenderBlock::splitBlocks):
106577
1065782012-02-24  Michael Saboff  <msaboff@apple.com>
106579
106580        Unreviewed, Windows build fix.  Changed "-1" to newly
106581        created constant JSC::Yarr::offsetNoMatch added in r108858.
106582
106583        * platform/text/RegularExpression.cpp:
106584        (WebCore::RegularExpression::match):
106585
1065862012-02-24  Eric Carlson  <eric.carlson@apple.com>
106587
106588        Update TextTrackCue API
106589        https://bugs.webkit.org/show_bug.cgi?id=79368
106590
106591        Change TextTrackCue.alignment to .align, TextTrackCue.linePosition and .textPosition to .line
106592        and .position, and TextTrackCue.direction to .vertical. Change direction values "horizontal" 
106593        to "","vertical" to "rl", and "vertical-lr" to "lr".
106594
106595        Reviewed by Eric Seidel.
106596
106597        No new tests, updated existing tests for API changes.
106598
106599        * html/track/TextTrackCue.cpp:
106600        (WebCore::horizontalKeyword):
106601        (WebCore::verticalGrowingLeftKeyword):
106602        (WebCore):
106603        (WebCore::verticalGrowingRightKeyword):
106604        (WebCore::verticalKeywordOLD):
106605        (WebCore::verticallrKeywordOLD):
106606        (WebCore::TextTrackCue::TextTrackCue):
106607        (WebCore::TextTrackCue::vertical):
106608        (WebCore::TextTrackCue::setVertical):
106609        (WebCore::TextTrackCue::setLine):
106610        (WebCore::TextTrackCue::setPosition):
106611        (WebCore::TextTrackCue::align):
106612        (WebCore::TextTrackCue::setAlign):
106613        (WebCore::TextTrackCue::parseSettings):
106614        * html/track/TextTrackCue.h:
106615        (TextTrackCue):
106616        (WebCore::TextTrackCue::line):
106617        (WebCore::TextTrackCue::position):
106618        * html/track/TextTrackCue.idl:
106619
1066202012-02-24  Adrienne Walker  <enne@google.com>
106621
106622        Fix uninitialized variables in HarfBuzzShaperBase
106623        https://bugs.webkit.org/show_bug.cgi?id=79546
106624
106625        Reviewed by Dirk Pranke.
106626
106627        These were introduced in r108733.
106628
106629        * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp:
106630        (WebCore::HarfBuzzShaperBase::HarfBuzzShaperBase):
106631
1066322012-02-24  Noel Gordon  <noel.gordon@gmail.com>
106633
106634        [chromium] JPEG RGB image with Adode Marker fails to turbo swizzle decode
106635        https://bugs.webkit.org/show_bug.cgi?id=79457
106636
106637        Reviewed by Adam Barth.
106638
106639        If a JPEG has no JFIF marker, the Adode Marker must be used to determine the image
106640        color space for decoding via that markers transform value. Transform 0 images with
106641        3 color components (RGB) fail to decode with libjpeg-turbo when a swizzle decoding
106642        is active. Detect this case and decode using JCS_RGB output color space instead.
106643
106644        Test: fast/images/rgb-jpeg-with-abode-marker-only.html
106645
106646        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
106647        (WebCore::JPEGImageReader::decode):
106648
1066492012-02-24  Joshua Bell  <jsbell@chromium.org>
106650
106651        [V8] IndexedDB: IDBTransaction objects leak in Workers
106652        https://bugs.webkit.org/show_bug.cgi?id=79308
106653
106654        Use a V8RecursionScope whenever Workers call into script, so that
106655        post-script side-effects can be executed.
106656
106657        Reviewed by Tony Chang.
106658
106659        Test: storage/indexeddb/transaction-abort-workers.html
106660
106661        * bindings/v8/ScheduledAction.cpp:
106662        (WebCore::ScheduledAction::execute):
106663        * bindings/v8/V8WorkerContextErrorHandler.cpp:
106664        (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
106665        * bindings/v8/V8WorkerContextEventListener.cpp:
106666        (WebCore::V8WorkerContextEventListener::callListenerFunction):
106667        * bindings/v8/WorkerContextExecutionProxy.cpp: Replace custom recursion tracking.
106668        (WebCore::WorkerContextExecutionProxy::WorkerContextExecutionProxy):
106669        (WebCore::WorkerContextExecutionProxy::runScript):
106670        * bindings/v8/WorkerContextExecutionProxy.h:
106671        (WorkerContextExecutionProxy):
106672
1066732012-02-24  Gregg Tavares  <gman@google.com>
106674
106675        Limit WebGL Errors in Console to 10 per context
106676        https://bugs.webkit.org/show_bug.cgi?id=79387
106677
106678        Reviewed by Kenneth Russell.
106679        
106680        Some apps generated enough errors to overload
106681        the Dev Tools so limit the number of errors.
106682        For a correct app there should never be any
106683        errors so seeing the first few should be enough
106684        to debug.
106685
106686        No new tests as no new functionality
106687
106688        * html/canvas/WebGLRenderingContext.cpp:
106689        (WebCore):
106690        (WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
106691        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
106692        (WebCore::WebGLRenderingContext::initializeNewContext):
106693        (WebCore::WebGLRenderingContext::printGLErrorToConsole):
106694        (WebCore::WebGLRenderingContext::synthesizeGLError):
106695        * html/canvas/WebGLRenderingContext.h:
106696        (WebGLRenderingContext):
106697
1066982012-02-24  Michael Saboff  <msaboff@apple.com>
106699
106700        ASSERT(position < 0) in JSC::Yarr::Interpreter::InputStream::readChecked
106701        https://bugs.webkit.org/show_bug.cgi?id=73728
106702
106703        Reviewed by Gavin Barraclough.
106704
106705        No new tests, refactored usage of JSC::Yarr interpreter.
106706        Should be covered by existing tests.
106707
106708        Changed WebCore callers of JSC::Yarr:Interpreter::interpret() to match the
106709        new signature with unsigned offsets.
106710
106711        * inspector/ContentSearchUtils.cpp:
106712        (WebCore::ContentSearchUtils::findMagicComment):
106713        * platform/text/RegularExpression.cpp:
106714        (WebCore::RegularExpression::match):
106715
1067162012-02-24  Hans Muller  <hmuller@adobe.com>
106717
106718        onclick is not reliable for transformed SVG elements
106719        https://bugs.webkit.org/show_bug.cgi?id=34714
106720
106721        Reviewed by Dirk Schulze.
106722
106723        Use FloatPoints in RenderSVGRoot::nodeAtPoint() when converting the incoming
106724        point to local coordinates.
106725
106726        Test: svg/hittest/svg-small-viewbox.xhtml
106727
106728        * rendering/svg/RenderSVGRoot.cpp:
106729        (WebCore::RenderSVGRoot::nodeAtPoint):
106730
1067312012-02-24  Julien Chaffraix  <jchaffraix@webkit.org>
106732
106733        Implement limited parsing of -webkit-grid-column and -webkit-grid-row
106734        https://bugs.webkit.org/show_bug.cgi?id=79151
106735
106736        Reviewed by Ojan Vafai.
106737
106738        Test: fast/css-grid-layout/grid-item-column-row-get-set.html
106739
106740        This change implements a subset of the grammar:
106741
106742        -webkit-grid-{row|column} := <integer> | 'auto'
106743
106744        * CMakeLists.txt:
106745        * GNUmakefile.list.am:
106746        * Target.pri:
106747        * WebCore.gypi:
106748        * WebCore.vcproj/WebCore.vcproj:
106749        * WebCore.xcodeproj/project.pbxproj:
106750        Added the new files to our build systems.
106751
106752        * css/CSSComputedStyleDeclaration.cpp:
106753        (WebCore::valueForGridPosition): Check that we have the right translated grammar
106754        (this function will be more useful once we implement more of the grammar).
106755        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
106756        * css/CSSStyleSelector.cpp:
106757        (WebCore::CSSStyleSelector::applyProperty):
106758        Added handling for the new properties.
106759
106760        * css/CSSParser.cpp:
106761        (WebCore::CSSParser::parseValue):
106762        Allow only 'auto' or <integer>.
106763
106764        * css/CSSProperty.cpp:
106765        (WebCore::CSSProperty::isInheritedProperty):
106766        grid-colum and grid-row are not inherited.
106767
106768        * css/CSSPropertyNames.in:
106769        Added the 2 new properties.
106770
106771        * rendering/style/RenderStyle.cpp:
106772        (WebCore::RenderStyle::RenderStyle):
106773        (WebCore::RenderStyle::diff):
106774        * rendering/style/RenderStyle.h:
106775        * rendering/style/StyleGridItemData.cpp: Added.
106776        (WebCore::StyleGridItemData::StyleGridItemData):
106777        * rendering/style/StyleGridItemData.h: Added.
106778        (StyleGridItemData):
106779        (WebCore::StyleGridItemData::create):
106780        (WebCore::StyleGridItemData::copy):
106781        (WebCore::StyleGridItemData::operator==):
106782        (WebCore::StyleGridItemData::operator!=):
106783        Implemented the minimum working class.
106784
106785        * rendering/style/StyleRareNonInheritedData.cpp:
106786        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
106787        (WebCore::StyleRareNonInheritedData::operator==):
106788        * rendering/style/StyleRareNonInheritedData.h:
106789        (StyleRareNonInheritedData):
106790        Added StyleGridItemData to the class StyleRareNonInheritedData.
106791
1067922012-02-24  Joshua Bell  <jsbell@chromium.org>
106793
106794        IndexedDB: IDBObjectStore.count() and IDBIndex.count() should accept key argument
106795        https://bugs.webkit.org/show_bug.cgi?id=79422
106796
106797        Reviewed by Tony Chang.
106798
106799        Tests: storage/indexeddb/index-count.html
106800               storage/indexeddb/objectstore-count.html
106801
106802        * storage/IDBIndex.cpp:
106803        (WebCore::IDBIndex::count):
106804        (WebCore):
106805        * storage/IDBIndex.h:
106806        (WebCore::IDBIndex::count):
106807        (IDBIndex):
106808        * storage/IDBIndex.idl:
106809        * storage/IDBObjectStore.cpp:
106810        (WebCore::IDBObjectStore::deleteFunction):
106811        (WebCore::IDBObjectStore::count):
106812        (WebCore):
106813        * storage/IDBObjectStore.h:
106814        (WebCore::IDBObjectStore::count):
106815        (IDBObjectStore):
106816        * storage/IDBObjectStore.idl:
106817
1068182012-02-24  Adam Barth  <abarth@webkit.org>
106819
106820        Move mediastream into Modules/mediastream
106821        https://bugs.webkit.org/show_bug.cgi?id=79517
106822
106823        Reviewed by Eric Seidel.
106824
106825        This patch moves the mediastream directory into Modules.  mediastream
106826        is a self-contained feature and is a good candidate for being a module.
106827
106828        * GNUmakefile.am:
106829        * GNUmakefile.list.am:
106830        * Modules/mediastream: Copied from Source/WebCore/mediastream.
106831        * WebCore.gyp/WebCore.gyp:
106832        * WebCore.gypi:
106833        * mediastream: Removed.
106834        * mediastream/DOMWindowMediaStream.idl: Removed.
106835        * mediastream/LocalMediaStream.cpp: Removed.
106836        * mediastream/LocalMediaStream.h: Removed.
106837        * mediastream/LocalMediaStream.idl: Removed.
106838        * mediastream/MediaStream.cpp: Removed.
106839        * mediastream/MediaStream.h: Removed.
106840        * mediastream/MediaStream.idl: Removed.
106841        * mediastream/MediaStreamEvent.cpp: Removed.
106842        * mediastream/MediaStreamEvent.h: Removed.
106843        * mediastream/MediaStreamEvent.idl: Removed.
106844        * mediastream/MediaStreamList.cpp: Removed.
106845        * mediastream/MediaStreamList.h: Removed.
106846        * mediastream/MediaStreamList.idl: Removed.
106847        * mediastream/MediaStreamRegistry.cpp: Removed.
106848        * mediastream/MediaStreamRegistry.h: Removed.
106849        * mediastream/MediaStreamTrack.cpp: Removed.
106850        * mediastream/MediaStreamTrack.h: Removed.
106851        * mediastream/MediaStreamTrack.idl: Removed.
106852        * mediastream/MediaStreamTrackList.cpp: Removed.
106853        * mediastream/MediaStreamTrackList.h: Removed.
106854        * mediastream/MediaStreamTrackList.idl: Removed.
106855        * mediastream/NavigatorMediaStream.cpp: Removed.
106856        * mediastream/NavigatorMediaStream.h: Removed.
106857        * mediastream/NavigatorMediaStream.idl: Removed.
106858        * mediastream/NavigatorUserMediaError.h: Removed.
106859        * mediastream/NavigatorUserMediaError.idl: Removed.
106860        * mediastream/NavigatorUserMediaErrorCallback.h: Removed.
106861        * mediastream/NavigatorUserMediaErrorCallback.idl: Removed.
106862        * mediastream/NavigatorUserMediaSuccessCallback.h: Removed.
106863        * mediastream/NavigatorUserMediaSuccessCallback.idl: Removed.
106864        * mediastream/PeerConnection.cpp: Removed.
106865        * mediastream/PeerConnection.h: Removed.
106866        * mediastream/PeerConnection.idl: Removed.
106867        * mediastream/SignalingCallback.h: Removed.
106868        * mediastream/SignalingCallback.idl: Removed.
106869        * mediastream/UserMediaClient.h: Removed.
106870        * mediastream/UserMediaController.cpp: Removed.
106871        * mediastream/UserMediaController.h: Removed.
106872        * mediastream/UserMediaRequest.cpp: Removed.
106873        * mediastream/UserMediaRequest.h: Removed.
106874
1068752012-02-24  Abhishek Arya  <inferno@chromium.org>
106876
106877        Overhanging floats not removed from new flex box.
106878        https://bugs.webkit.org/show_bug.cgi?id=79522
106879
106880        Reviewed by Ojan Vafai.
106881
106882        Similar to r69476.
106883
106884        Test: fast/flexbox/overhanging-floats-not-removed-crash.html
106885
106886        * rendering/RenderBox.cpp:
106887        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
106888
1068892012-02-24  Brent Fulgham  <bfulgham@webkit.org>
106890
106891        [WinCairo] Compute more acurate font heights.
106892        https://bugs.webkit.org/show_bug.cgi?id=79524
106893
106894        Reviewed by Adam Roben.
106895
106896        Adjust font handling as suggested by Lynn Neir to use the proper
106897        xHeight value for the font, rather than the fall-back guess
106898        used in the current code.
106899
106900        css1/text_properties/line_height.html
106901
106902        * platform/graphics/win/SimpleFontDataCairoWin.cpp:
106903        (WebCore::SimpleFontData::platformInit): Properly initialize a
106904          few elements.
106905        (WebCore::SimpleFontData::platformWidthForGlyph): Use the Cairo
106906          cairo_scaled_font_text_extents call, rather than attempting
106907          to compute the value from ::GetGlyphOutline.
106908
1069092012-02-24  Tim Horton  <timothy_horton@apple.com>
106910
106911        Infinite repaint loop with SVGImageCache and deferred repaint timers
106912        https://bugs.webkit.org/show_bug.cgi?id=78315
106913        <rdar://problem/10651634>
106914
106915        Reviewed by Dean Jackson.
106916
106917        Only defer image redraw on a timer if we're in layout. This breaks
106918        the repaint loop while still preventing us from drawing inside layout.
106919
106920        No new tests, as the problem only occurs in a nonstandard configuration.
106921
106922        * svg/graphics/SVGImage.cpp:
106923        (WebCore::SVGImage::draw):
106924        (WebCore::SVGImage::frameView):
106925        (WebCore):
106926        * svg/graphics/SVGImage.h:
106927        (WebCore):
106928        * svg/graphics/SVGImageCache.cpp:
106929        (WebCore::SVGImageCache::imageContentChanged):
106930        (WebCore::SVGImageCache::redraw):
106931        (WebCore::SVGImageCache::redrawTimerFired):
106932        (WebCore):
106933        * svg/graphics/SVGImageCache.h:
106934        (SVGImageCache):
106935
1069362012-02-24  Tim Horton  <timothy_horton@apple.com>
106937
106938        SVG should be supported in Dashboard compatibility mode
106939        https://bugs.webkit.org/show_bug.cgi?id=78322
106940        <rdar://problem/5861278>
106941
106942        Reviewed by Dean Jackson.
106943
106944        Enable SVG elements inside Dashboard, more or less reverting r21418.
106945
106946        Tests: http/tests/xmlhttprequest/svg-created-by-xhr-allowed-in-dashboard.html
106947               svg/custom/embedded-svg-allowed-in-dashboard.xml
106948               svg/custom/manually-parsed-embedded-svg-allowed-in-dashboard.html
106949               svg/custom/manually-parsed-svg-allowed-in-dashboard.html
106950               svg/custom/svg-allowed-in-dashboard-object.html
106951
106952        * dom/DOMImplementation.cpp:
106953        (WebCore::DOMImplementation::createDocument):
106954        * dom/Document.cpp:
106955        (WebCore::Document::importNode):
106956        * dom/make_names.pl:
106957        (printFactoryCppFile):
106958
1069592012-02-24  Min Qin  <qinmin@google.com>
106960
106961        Expose a setting to exempt media playback from user gesture requirement after a user gesture is initiated on loading/playing a media
106962        https://bugs.webkit.org/show_bug.cgi?id=79167
106963
106964        Reviewed by Adam Barth.
106965
106966        Test: media/video-play-require-user-gesture.html
106967
106968        * html/HTMLMediaElement.cpp:
106969        (WebCore::HTMLMediaElement::load):
106970        (WebCore::HTMLMediaElement::play):
106971        (WebCore::HTMLMediaElement::removeBehaviorsRestrictionsAfterFirstUserGesture):
106972        (WebCore):
106973        * html/HTMLMediaElement.h:
106974        (HTMLMediaElement):
106975        * testing/Internals.cpp:
106976        (WebCore::Internals::setMediaPlaybackRequiresUserGesture):
106977        (WebCore):
106978        * testing/Internals.h:
106979        (Internals):
106980        * testing/Internals.idl:
106981
1069822012-02-24  Adam Barth  <abarth@webkit.org>
106983
106984        DOMWindow*.idl should have had the same license block as DOMWindow.idl did originally
106985        https://bugs.webkit.org/show_bug.cgi?id=79507
106986
106987        Reviewed by Alexey Proskuryakov.
106988
106989        In moving pieces of DOMWindow.idl into separate files, we mistakenly
106990        changed some of the license blocks.  All these files should have a
106991        license block that matches the file that originally contained the code.
106992
106993        * Modules/intents/DOMWindowIntents.idl:
106994        * fileapi/DOMWindowFileSystem.idl:
106995        * html/DOMWindowHTML.idl:
106996        * html/canvas/DOMWindowWebGL.idl:
106997        * mediastream/DOMWindowMediaStream.idl:
106998        * storage/DOMWindowSQLDatabase.idl:
106999        * svg/DOMWindowSVG.idl:
107000        * webaudio/DOMWindowWebAudio.idl:
107001        * websockets/DOMWindowWebSocket.idl:
107002        * workers/DOMWindowWorker.idl:
107003        * xml/DOMWindowXML.idl:
107004
1070052012-02-24  David Kilzer  <ddkilzer@apple.com>
107006
107007        Use xcrun to find compiler paths for Generate Derived Sources build phase script
107008        <http://webkit.org/b/79512>
107009
107010        Reviewed by Mark Rowe.
107011
107012        * WebCore.xcodeproj/project.pbxproj:
107013        (Generate Derived Sources): Use xcrun to find the path to the
107014        compiler since that works on both iOS and OS X.
107015
1070162012-02-24  Anders Carlsson  <andersca@apple.com>
107017
107018        Crash in TileCache::revalidateTiles
107019        https://bugs.webkit.org/show_bug.cgi?id=79510
107020        <rdar://problem/10928035>
107021
107022        Reviewed by Sam Weinig.
107023
107024        Handle the tile cache layer's PlatformCALayer going away before the
107025        CALayer itself has been deallocated.
107026
107027        * platform/graphics/ca/mac/TileCache.mm:
107028        (WebCore::TileCache::revalidateTiles):
107029
1070302012-02-24  Adam Klein  <adamk@chromium.org>
107031
107032        Don't notify the inspector of Node insertions initiated by the parser
107033        https://bugs.webkit.org/show_bug.cgi?id=79388
107034
107035        Reviewed by Adam Barth.
107036
107037        This is part of a series of changes to make ContainerNode's
107038        implementation simpler and more internally consistent.
107039
107040        I don't know of a way to break on parser-initiated insertions,
107041        and the code already doesn't notify on parser-initiated removes
107042        (in ContainerNode::parserRemoveChild).
107043
107044        No new tests, should already be covered by
107045        inspector/debugger/dom-breakpoints.html.
107046
107047        * dom/ContainerNode.cpp:
107048        (WebCore::ContainerNode::parserInsertBefore):
107049        (WebCore::ContainerNode::parserAddChild):
107050
1070512012-02-24  Daniel Bates  <dbates@webkit.org>
107052
107053        Attempt to fix the Windows and WinCE build after changeset r108809
107054        <http://trac.webkit.org/changeset/108809> (https://bugs.webkit.org/show_bug.cgi?id=38995)
107055
107056        Substitute styleLoadEventSender() for loadEventSender() in HTMLStyleElement.cpp
107057        and substitute linkLoadEventSender() for loadEventSender() in HTMLLinkElement.cpp. 
107058
107059        * html/HTMLLinkElement.cpp:
107060        (WebCore::linkLoadEventSender):
107061        (WebCore::HTMLLinkElement::~HTMLLinkElement):
107062        (WebCore::HTMLLinkElement::dispatchPendingLoadEvents):
107063        (WebCore::HTMLLinkElement::dispatchPendingEvent):
107064        (WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources):
107065        * html/HTMLStyleElement.cpp:
107066        (WebCore::styleLoadEventSender):
107067        (WebCore::HTMLStyleElement::~HTMLStyleElement):
107068        (WebCore::HTMLStyleElement::dispatchPendingLoadEvents):
107069        (WebCore::HTMLStyleElement::dispatchPendingEvent):
107070        (WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources):
107071
1070722012-02-24  Peter Beverloo  <peter@chromium.org>
107073
107074        [Chromium] Fix Chromium Android build by building HarfBuzzShaperBase.cpp
107075        https://bugs.webkit.org/show_bug.cgi?id=79497
107076
107077        Reviewed by Tony Gentilcore.
107078
107079        The Chromium Android build was broken by revision r108733, as the
107080        HarfBuzzShaperBase.cpp file also should have been included for Android.
107081        Fix the build by including it.
107082
107083        * WebCore.gyp/WebCore.gyp:
107084
1070852012-02-24  Yael Aharon  <yael.aharon@nokia.com>
107086
107087        [Texmap] Consolidate the common parts of TextureMapperGL::drawTexture
107088        https://bugs.webkit.org/show_bug.cgi?id=79143
107089
107090        Reviewed by Noam Rosenthal.
107091
107092        Combine the two drawTexture methods into one, and extract the part that
107093        could not be combined into its own method.
107094        No new tests. Refactoring only.
107095
107096        * platform/graphics/texmap/TextureMapperGL.cpp:
107097        (WebCore):
107098        (WebCore::TextureMapperGL::drawTexture):
107099        * platform/graphics/texmap/TextureMapperGL.h:
107100        (WebCore):
107101        (BitmapTextureGL):
107102        (WebCore::BitmapTextureGL::~BitmapTextureGL):
107103        (WebCore::BitmapTextureGL::id):
107104        (WebCore::BitmapTextureGL::relativeSize):
107105        (WebCore::BitmapTextureGL::setTextureMapper):
107106        (WebCore::BitmapTextureGL::BitmapTextureGL):
107107        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
107108        (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
107109        (WebCore):
107110        (WebCore::TextureMapperShaderProgramOpacityAndMask::prepare):
107111        * platform/graphics/texmap/TextureMapperShaderManager.h:
107112        (WebCore):
107113        (WebCore::TextureMapperShaderProgram::prepare):
107114        (WebCore::TextureMapperShaderProgram::matrixVariable):
107115        (WebCore::TextureMapperShaderProgram::sourceMatrixVariable):
107116        (WebCore::TextureMapperShaderProgram::sourceTextureVariable):
107117        (WebCore::TextureMapperShaderProgram::opacityVariable):
107118        (TextureMapperShaderProgram):
107119        (TextureMapperShaderProgramSimple):
107120        (TextureMapperShaderProgramOpacityAndMask):
107121        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
107122        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
107123
1071242012-02-24  Daniel Bates  <dbates@webkit.org>
107125
107126        style element and link element for CSS stylesheet should emit load/error event when sheet loads/fails to load
107127        https://bugs.webkit.org/show_bug.cgi?id=38995
107128
107129        Reviewed by Adam Barth and Nate Chapin.
107130
107131        Tests: fast/dom/HTMLLinkElement/link-onerror-stylesheet-with-existent-and-non-existent-import.html
107132               fast/dom/HTMLLinkElement/link-onerror-stylesheet-with-non-existent-import.html
107133               fast/dom/HTMLLinkElement/link-onerror.html
107134               fast/dom/HTMLLinkElement/link-onload-before-page-load.html
107135               fast/dom/HTMLLinkElement/link-onload-stylesheet-with-import.html
107136               fast/dom/HTMLLinkElement/link-onload.html
107137               fast/dom/HTMLLinkElement/link-onload2.html
107138               fast/dom/HTMLLinkElement/programmatically-add-link-with-onerror-handler.html
107139               fast/dom/HTMLLinkElement/programmatically-add-link-with-onload-handler.html
107140               fast/dom/HTMLStyleElement/programmatically-add-style-with-onerror-handler.html
107141               fast/dom/HTMLStyleElement/programmatically-add-style-with-onload-handler.html
107142               fast/dom/HTMLStyleElement/style-onerror-with-existent-and-non-existent-import.html
107143               fast/dom/HTMLStyleElement/style-onerror.html
107144               fast/dom/HTMLStyleElement/style-onload-before-page-load.html
107145               fast/dom/HTMLStyleElement/style-onload.html
107146               fast/dom/HTMLStyleElement/style-onload2.html
107147
107148        Implements support for firing Load and Error events at HTML Link and HTML Style elements as per
107149        the HTML5 spec. (draft 05/25/2011) section "The link element" <http://www.w3.org/TR/html5/semantics.html#the-link-element>
107150        and "The style element" <http://www.w3.org/TR/html5/semantics.html#the-style-element>, respectively.
107151
107152        * css/CSSImportRule.cpp:
107153        (WebCore::CSSImportRule::setCSSStyleSheet): Modified to call CSSStyleSheet::notifyLoadedSheet()
107154        after the style sheet associated with the @import rule loaded.
107155        * css/CSSStyleSheet.cpp: Added instance variable m_didLoadErrorOccur to track whether a network error
107156        occurred while loading any @import style sheets.
107157        (WebCore::CSSStyleSheet::CSSStyleSheet):
107158        (WebCore::CSSStyleSheet::checkLoaded):
107159        (WebCore):
107160        (WebCore::CSSStyleSheet::notifyLoadedSheet): Added; update m_didLoadErrorOccur to reflect if a network
107161        error occurred while loading a style sheet associated with an @import rule.
107162        * css/CSSStyleSheet.h:
107163        (WebCore):
107164        (CSSStyleSheet):
107165        * dom/Document.cpp:
107166        (WebCore::Document::implicitClose): Call HTML{LinkElement, StyleElement}::dispatchPendingLoadEvents() to
107167        ensure that all pending Load events for link and style elements are dispatched before we fire the Load
107168        event for the window.
107169        * dom/Node.h:
107170        (WebCore::Node::notifyLoadedSheetAndAllCriticalSubresources): Added; as stated in its name, this method is
107171        called once a style sheet and all its critical subresources (@imports) have loaded.
107172        * html/HTMLLinkElement.cpp:
107173        (WebCore::loadEventSender):
107174        (WebCore):
107175        (WebCore::HTMLLinkElement::HTMLLinkElement):
107176        (WebCore::HTMLLinkElement::~HTMLLinkElement): Modified to cancel all pending Load events on destruction.
107177        (WebCore::HTMLLinkElement::parseAttribute): Register event listeners for Load and Error events regardless of whether we
107178        built with link prefetch support.
107179        (WebCore::HTMLLinkElement::setCSSStyleSheet):
107180        (WebCore::HTMLLinkElement::dispatchPendingLoadEvents): Added; called from Document::implicitClose() to
107181        ensure that all pending Load events for link elements have been dispatched before we fire the Load event
107182        for the window.
107183        (WebCore::HTMLLinkElement::dispatchPendingEvent): Added; called by EventSender.
107184        (WebCore::HTMLLinkElement::notifyLoadedSheetAndAllCriticalSubresources): Added.
107185        * html/HTMLLinkElement.h:
107186        (WebCore):
107187        (HTMLLinkElement):
107188        * html/HTMLStyleElement.cpp:
107189        (WebCore::loadEventSender):
107190        (WebCore):
107191        (WebCore::HTMLStyleElement::HTMLStyleElement):
107192        (WebCore::HTMLStyleElement::~HTMLStyleElement): Modified to cancel all pending Load events on destruction.
107193        (WebCore::HTMLStyleElement::parseAttribute): Register event listeners for Load and Error events.
107194        (WebCore::HTMLStyleElement::dispatchPendingLoadEvents): Added; called from Document::implicitClose() to
107195        ensure that all pending Load events for link elements have been dispatched before we fire the Load event
107196        for the window.
107197        (WebCore::HTMLStyleElement::dispatchPendingEvent): Added; called by EventSender.
107198        (WebCore::HTMLStyleElement::notifyLoadedSheetAndAllCriticalSubresources): Added.
107199        * html/HTMLStyleElement.h:
107200        (WebCore):
107201        (HTMLStyleElement):
107202
1072032012-02-24  Adam Roben  <aroben@apple.com>
107204
107205        Mac build fix after r108698
107206
107207        * page/scrolling/mac/ScrollingCoordinatorMac.mm: Added missing #import.
107208
1072092012-02-24  Csaba Osztrogonác  <ossy@webkit.org>
107210
107211        Unreviewed speculative buildfix after r108785 for ENABLE(SVG) && !ENABLE(XSLT) case.
107212
107213        * loader/cache/CachedResourceLoader.cpp:
107214        (WebCore::CachedResourceLoader::canRequest):
107215
1072162012-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
107217
107218        Web Inspector: Do not show scripts panel navigator automatically more than once to the same user.
107219        https://bugs.webkit.org/show_bug.cgi?id=79489
107220
107221        Reviewed by Pavel Feldman.
107222
107223        * inspector/front-end/ScriptsPanel.js:
107224
1072252012-02-24  Philippe Normand  <pnormand@igalia.com>
107226
107227        Fix GTK WebAudio build for WebKitGTK 1.7.90.
107228
107229        Patch by Priit Laes <plaes@plaes.org> on 2012-02-24
107230        Rubber-stamped by Philippe Normand.
107231
107232        * GNUmakefile.list.am: Add AudioBufferCallback.h and
107233        DenormalDisabler.h to the list of files so they get disted in the
107234        tarballs.
107235
1072362012-02-24  Yury Semikhatsky  <yurys@chromium.org>
107237
107238        Web Inspector: show all counters on one graph
107239        https://bugs.webkit.org/show_bug.cgi?id=79484
107240
107241        Now it is possible to hide any counter. All graphs share the same area.
107242        Current values are displayed above that area.
107243
107244        Reviewed by Pavel Feldman.
107245
107246        * English.lproj/localizedStrings.js:
107247        * inspector/front-end/MemoryStatistics.js:
107248        (WebInspector.MemoryStatistics.getDocumentCount):
107249        (WebInspector.MemoryStatistics.getNodeCount):
107250        (WebInspector.MemoryStatistics.getListenerCount):
107251        (WebInspector.MemoryStatistics):
107252        (WebInspector.SwatchCheckbox):
107253        (WebInspector.SwatchCheckbox.prototype.get checked):
107254        (WebInspector.SwatchCheckbox.prototype.set checked):
107255        (WebInspector.SwatchCheckbox.prototype._toggleCheckbox):
107256        (WebInspector.CounterUI):
107257        (WebInspector.CounterUI.prototype._toggleCounterGraph):
107258        (WebInspector.CounterUI.prototype.setRange):
107259        (WebInspector.CounterUI.prototype.updateCurrentValue):
107260        (WebInspector.CounterUI.prototype.clearCurrentValueAndMarker):
107261        (WebInspector.CounterUI.prototype.get visible):
107262        (WebInspector.CounterUI.prototype.saveImageUnderMarker):
107263        (WebInspector.CounterUI.prototype.restoreImageUnderMarker):
107264        (WebInspector.CounterUI.prototype.discardImageUnderMarker):
107265        (WebInspector.MemoryStatistics.prototype._updateSize):
107266        (WebInspector.MemoryStatistics.prototype._draw):
107267        (WebInspector.MemoryStatistics.prototype._onMouseOut):
107268        (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
107269        (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
107270        (WebInspector.MemoryStatistics.prototype._drawGraph):
107271        (WebInspector.MemoryStatistics.prototype._clear):
107272        * inspector/front-end/timelinePanel.css:
107273        (.memory-counter-sidebar-info):
107274        (.memory-counter-sidebar-info .swatch):
107275        (.memory-counter-sidebar-info .title):
107276        (.memory-counter-value):
107277        (#counter-values-bar):
107278
1072792012-02-24  Pavel Feldman  <pfeldman@google.com>
107280
107281        Web Inspector: map Ctrl/Cmd +/- to zoom in hosted mode.
107282        https://bugs.webkit.org/show_bug.cgi?id=79475
107283
107284        (In remote front-end mode, default zoom actions are working.)
107285
107286        Reviewed by Yury Semikhatsky.
107287
107288        * inspector/InspectorFrontendHost.cpp:
107289        (WebCore::InspectorFrontendHost::setZoomFactor):
107290        (WebCore):
107291        * inspector/InspectorFrontendHost.h:
107292        (InspectorFrontendHost):
107293        * inspector/InspectorFrontendHost.idl:
107294        * inspector/front-end/InspectorFrontendHostStub.js:
107295        (.WebInspector.InspectorFrontendHostStub):
107296        (.WebInspector.InspectorFrontendHostStub.prototype.loadResourceSynchronously):
107297        (.WebInspector.InspectorFrontendHostStub.prototype.setZoomFactor):
107298        * inspector/front-end/Settings.js:
107299        (WebInspector.Settings):
107300        * inspector/front-end/inspector.js:
107301        (WebInspector._initializeCapability):
107302        (WebInspector._zoomIn):
107303        (WebInspector._zoomOut):
107304        (WebInspector._resetZoom):
107305        (WebInspector._requestZoom.set InspectorFrontendHost):
107306        (WebInspector._requestZoom):
107307        (WebInspector._doLoadedDoneWithCapabilities.get if):
107308        (WebInspector.documentKeyDown):
107309
1073102012-02-24  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
107311
107312        Refactor EventHandler::handleGestureEvent.
107313        https://bugs.webkit.org/show_bug.cgi?id=79476
107314
107315        Reviewed by Kenneth Rohde Christiansen.
107316
107317        No new tests. No behavior change.
107318
107319        * page/EventHandler.cpp:
107320        (WebCore::EventHandler::handleGestureEvent):
107321        (WebCore::EventHandler::handleGestureTap):
107322        (WebCore::EventHandler::handleGestureScrollUpdate):
107323        * page/EventHandler.h:
107324
1073252012-02-24  Zoltan Horvath  <zoltan@webkit.org>
107326
107327        [Qt] Allow to use WebCore imagedecoders
107328        https://bugs.webkit.org/show_bug.cgi?id=32410
107329
107330        Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default.
107331        By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system, WebKit will build
107332        with WebCore's imagedecoders.
107333
107334        I added NO_RETURN attribute and PLATFORM(QT) conditionals to 2 functions of PNG and
107335        JPEG decoders to avoid compiler warnings because in Qt-port we treat warning as errors (-Werror).
107336
107337        I'm continuing the refactoring of this area and try to use Qt imagedecoders only in
107338        cases when WebCore doesn't support the image format.
107339
107340        Reviewed by Simon Hausmann.
107341
107342        No behavior change, no need new tests.
107343
107344        * Target.pri:
107345        * WebCore.pri:
107346        * platform/MIMETypeRegistry.cpp:
107347        (WebCore::initializeSupportedImageMIMETypes):
107348        (WebCore::initializeSupportedImageMIMETypesForEncoding):
107349        * platform/image-decoders/ImageDecoder.h:
107350        (WebCore::ImageFrame::getAddr):
107351        (ImageFrame):
107352        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
107353        NO_RETURN has been added to a function to avoid warning message.
107354        * platform/image-decoders/png/PNGImageDecoder.cpp:
107355        NO_RETURN has been added to a function to avoid warning message.
107356        (WebCore):
107357        * platform/image-decoders/qt/ImageFrameQt.cpp:
107358        (WebCore):
107359        (WebCore::ImageFrame::asNewNativeImage):
107360
1073612012-02-24  Lynn Neir <lynn.neir@skype.net>
107362
107363        [Windows, WinCairo] Handle indeterminate checkbox state
107364        https://bugs.webkit.org/show_bug.cgi?id=79288
107365
107366        Reviewed by Adam Roben.
107367
107368        Tested by fast/forms/indeterminate.html
107369
107370        * rendering/RenderThemeWin.cpp: Add code to check for indeterminate
107371          state in CheckBox.
107372
1073732012-02-24  Simon Hausmann  <simon.hausmann@nokia.com>
107374
107375        [Qt] Font related problem with newer Qt5
107376        https://bugs.webkit.org/show_bug.cgi?id=79402
107377
107378        Reviewed by Kenneth Rohde Christiansen.
107379
107380        Apply the descent += 1 workaround needed to produce correct metrics only for Qt 4,
107381        because the behaviour has been corrected in Qt 5.
107382
107383        * platform/graphics/qt/SimpleFontDataQt.cpp:
107384        (WebCore::SimpleFontData::platformInit):
107385
1073862012-02-24  Kentaro Hara  <haraken@chromium.org>
107387
107388        Move XML-related APIs from DOMWindow.idl to DOMWindowXML.idl
107389        https://bugs.webkit.org/show_bug.cgi?id=79434
107390
107391        Reviewed by Adam Barth.
107392
107393        For WebKit modularization, this patch moves XML-related APIs
107394        from DOMWindow.idl to DOMWIndowXML.idl.
107395
107396        No tests. No change in behavior.
107397
107398        * xml/DOMWindowXML.idl: Added.
107399        * page/DOMWindow.idl:
107400
107401        * CMakeLists.txt: Added "DOMWindowXML.idl".
107402        * DerivedSources.make: Ditto.
107403        * DerivedSources.pri: Ditto.
107404        * GNUmakefile.list.am: Ditto.
107405        * WebCore.gypi: Ditto.
107406        * WebCore.xcodeproj/project.pbxproj: Ditto.
107407
1074082012-02-24  Renata Hodovan  <reni@webkit.org>
107409
107410        External <use> xlink:href references do not work
107411        https://bugs.webkit.org/show_bug.cgi?id=12499
107412
107413        Reviewed by Nikolas Zimmermann.
107414
107415        Support external references on <use> by introducing CachedSVGDocument.
107416        CachedSVGDocument is a CachedResource specialized for SVGDocuments.
107417        This CachedSVGDocument will be stored for every use element with external reference.
107418        This first patch only contains the new classes to test whether it works on every platform.
107419        So they aren't used anywhere and just a follow-up patch will bind them into the caching system.
107420
107421        No new tests - no change in functionality.
107422
107423        * CMakeLists.txt:
107424        * GNUmakefile.list.am:
107425        * Target.pri:
107426        * WebCore.gypi:
107427        * WebCore.vcproj/WebCore.vcproj:
107428        * WebCore.xcodeproj/project.pbxproj:
107429        * loader/cache/CachedResource.cpp:
107430        (WebCore::defaultPriorityForResourceType):
107431        (WebCore::cachedResourceTypeToTargetType):
107432        * loader/cache/CachedResource.h:
107433        * loader/cache/CachedResourceClient.h:
107434        (CachedResourceClient):
107435        * loader/cache/CachedResourceLoader.cpp:
107436        (WebCore::createResource):
107437        (WebCore::CachedResourceLoader::checkInsecureContent):
107438        (WebCore::CachedResourceLoader::canRequest):
107439        * loader/cache/CachedSVGDocument.cpp: Added.
107440        (WebCore):
107441        (WebCore::CachedSVGDocument::CachedSVGDocument):
107442        (WebCore::CachedSVGDocument::~CachedSVGDocument):
107443        (WebCore::CachedSVGDocument::setEncoding):
107444        (WebCore::CachedSVGDocument::encoding):
107445        (WebCore::CachedSVGDocument::data):
107446        * loader/cache/CachedSVGDocument.h: Added.
107447        (WebCore):
107448        (CachedSVGDocument):
107449        (WebCore::CachedSVGDocument::document):
107450        (WebCore::CachedSVGDocument::schedule):
107451        (CachedSVGDocumentClient):
107452        (WebCore::CachedSVGDocumentClient::~CachedSVGDocumentClient):
107453        (WebCore::CachedSVGDocumentClient::expectedType):
107454        (WebCore::CachedSVGDocumentClient::resourceClientType):
107455
1074562012-02-24  Alexis Menard  <alexis.menard@openbossa.org>
107457
107458        Little optimization in CSSParser::parseShorthand.
107459        https://bugs.webkit.org/show_bug.cgi?id=79356
107460
107461        Reviewed by Tony Chang.
107462
107463        Remove one loop by initializing array values at declaration time.
107464        Also early return when the number of properties parsed are equals
107465        with longhands count of the shorthand. It happens to be very often
107466        the case (e.g. border). Instruments shows an improvement from 19ms
107467        to 17ms on the time spent in this function for the css-parser-yui
107468        benchmark.
107469
107470        No new tests : refactor, exisiting ones should cover.
107471
107472        * css/CSSParser.cpp:
107473        (WebCore::CSSParser::parseShorthand):
107474
1074752012-02-24  Kentaro Hara  <haraken@chromium.org>
107476
107477        Move HTML-related APIs from DOMWindow.idl to DOMWindowHTML.idl
107478        https://bugs.webkit.org/show_bug.cgi?id=79436
107479
107480        Reviewed by Adam Barth.
107481
107482        For WebKit modularization, this patch moves HTML-related APIs
107483        from DOMWindow.idl to DOMWindowHTML.idl.
107484
107485        No tests. No change in behavior.
107486
107487        * html/DOMWindowHTML.idl:
107488        * page/DOMWindow.idl:
107489
1074902012-02-24  Jochen Eisinger  <jochen@chromium.org>
107491
107492        [v8] when a named item on document goes out of scope, actually remove it
107493        https://bugs.webkit.org/show_bug.cgi?id=79409
107494
107495        Reviewed by Adam Barth.
107496
107497        The original change already included the code, but it led to some
107498        problems, so it was reverted in http://trac.webkit.org/changeset/63845.
107499        However, not removing the items leaks a considerable amount of memory,
107500        so I'm adding the code back. The bug that led to the revert was that
107501        the accessor was removed unconditionally. I'm now only removing it,
107502        when the last item with that name is removed.
107503
107504        Test: fast/dom/HTMLDocument/named-item.html
107505
107506        * bindings/v8/V8DOMWindowShell.cpp:
107507        (WebCore::V8DOMWindowShell::namedItemRemoved):
107508
1075092012-02-24  Kentaro Hara  <haraken@chromium.org>
107510
107511        Move Worker-related APIs from DOMWindow.idl to DOMWindowWorker.idl
107512        https://bugs.webkit.org/show_bug.cgi?id=79442
107513
107514        Reviewed by Adam Barth.
107515
107516        For WebKit modularization, this patch moves Worker-related APIs
107517        from DOMWindow.idl to DOMWindowWorker.idl.
107518
107519        No tests. No change in behavior.
107520
107521        * workers/DOMWindowWorker.idl: Added.
107522        * page/DOMWindow.idl:
107523
107524        * CMakeLists.txt:
107525        * DerivedSources.make:
107526        * DerivedSources.pri:
107527        * GNUmakefile.list.am:
107528        * WebCore.gypi:
107529
1075302012-02-24  Robin Cao  <robin.cao@torchmobile.com.cn>
107531
107532        [BlackBerry] Upstream helper classes for skia
107533        https://bugs.webkit.org/show_bug.cgi?id=79216
107534
107535        Reviewed by Antonio Gomes.
107536
107537        Initial upstreaming, no new tests.
107538
107539        * platform/graphics/blackberry/skia/ImageBufferData.h: Added.
107540        (WebCore):
107541        (ImageBufferData):
107542        * platform/graphics/blackberry/skia/PlatformSupport.cpp: Added.
107543        (WebCore):
107544        (WebCore::setFontRenderStyleDefaults):
107545        (WebCore::PlatformSupport::getRenderStyleForStrike):
107546        (WebCore::PlatformSupport::getFontFamilyForCharacters):
107547        * platform/graphics/blackberry/skia/PlatformSupport.h: Added.
107548        (WebCore):
107549        (PlatformSupport):
107550        (FontFamily):
107551
1075522012-02-24  Robin Cao  <robin.cao@torchmobile.com.cn>
107553
107554        [BlackBerry] Upstream ImageBlackBerry in platform/graphics/blackberry
107555        https://bugs.webkit.org/show_bug.cgi?id=79212
107556
107557        Reviewed by Antonio Gomes.
107558
107559        Initial upstreaming, no new tests.
107560
107561        * PlatformBlackBerry.cmake:
107562        * platform/graphics/blackberry/ImageBlackBerry.cpp: Added.
107563        (WebCore):
107564        (WebCore::Image::loadPlatformResource):
107565
1075662012-02-24  Leo Yang  <leo.yang@torchmobile.com.cn>
107567
107568        [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntSize.h
107569        https://bugs.webkit.org/show_bug.cgi?id=79430
107570
107571        Reviewed by Antonio Gomes.
107572
107573        Add conversion convenience between WebCore::IntSize and BlackBerry::Platform::IntSize.
107574
107575        The porting can't be built yet, no new tests.
107576
107577        * platform/graphics/IntSize.h:
107578        (Platform):
107579        (IntSize):
107580
1075812012-02-24  Shinya Kawanaka  <shinyak@chromium.org>
107582
107583        SpellCheckRequest needs to know the context where the spellcheck happened.
107584        https://bugs.webkit.org/show_bug.cgi?id=79320
107585
107586        Reviewed by Hajime Morita.
107587
107588        WebKit clients should be able to get the context how the spellcheck happended.
107589        For example, WebKit clients may want to change the behavior by a spellcheck request is
107590        invoked in typing or in pasting.
107591
107592        This patch added an enum in SpellCheckRequest so that WebKit clients can understand the context.
107593
107594        * editing/Editor.cpp:
107595        (WebCore::Editor::replaceSelectionWithFragment):
107596        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
107597        * editing/SpellChecker.cpp:
107598        (WebCore::SpellCheckRequest::SpellCheckRequest):
107599        (WebCore::SpellCheckRequest::create):
107600        (WebCore::SpellChecker::invokeRequest):
107601        * editing/SpellChecker.h:
107602        (SpellCheckRequest):
107603        (WebCore::SpellCheckRequest::textCheckingRequest):
107604        (WebCore::SpellCheckRequest::processType):
107605        * loader/EmptyClients.h:
107606        (WebCore::EmptyTextCheckerClient::requestCheckingOfString):
107607        * platform/text/TextCheckerClient.h:
107608        (WebCore):
107609        (TextCheckerClient):
107610        * platform/text/TextChecking.h:
107611        (TextCheckingRequest):
107612        (WebCore::TextCheckingRequest::TextCheckingRequest):
107613        (WebCore::TextCheckingRequest::setSequence):
107614        (WebCore::TextCheckingRequest::sequence):
107615        (WebCore::TextCheckingRequest::text):
107616        (WebCore::TextCheckingRequest::mask):
107617        (WebCore::TextCheckingRequest::processType):
107618        (WebCore):
107619
1076202012-02-24  Hayato Ito  <hayato@chromium.org>
107621
107622        Make Node::showTreeForThis (and Node::showTreeForThisAcrossFrame) dump multiple shadow roots.
107623        https://bugs.webkit.org/show_bug.cgi?id=79351
107624
107625        Reviewed by Dimitri Glazkov.
107626
107627        No new tests since these utility functions are only available in debug build.
107628        I manually tested in GDB session.
107629
107630        * dom/Node.cpp:
107631        (WebCore::oldestShadowRootFor):
107632        (WebCore::traverseTreeAndMark):
107633        (WebCore::parentOrHostOrFrameOwner):
107634        (WebCore::showSubTreeAcrossFrame):
107635        * dom/ShadowRoot.h:
107636        (WebCore::ShadowRoot::youngerShadowRoot):
107637        (WebCore::ShadowRoot::olderShadowRoot):
107638        (WebCore::toShadowRoot):
107639        (WebCore):
107640
1076412012-02-24  Pavel Feldman  <pfeldman@chromium.org>
107642
107643        Not reviewed: follow up to inspector's r108331, using more general condition.
107644
107645        * inspector/front-end/JavaScriptSourceFrame.js:
107646        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
107647
1076482012-02-24  Kentaro Hara  <haraken@chromium.org>
107649
107650        Move WebGL APIs from DOMWindow.idl to DOMWindowWebGL.idl
107651        https://bugs.webkit.org/show_bug.cgi?id=79432
107652
107653        Reviewed by Adam Barth.
107654
107655        For WebKit modularization, this patch moves WebGL-related APIs
107656        from DOMWindow.idl to DOMWindowWebGL.idl.
107657
107658        No tests. No change in behavior.
107659
107660        * html/canvas/DOMWindowWebGL.idl: Added.
107661        * page/DOMWindow.idl:
107662
107663        * DerivedSources.make: Added DOMWindowWebGL.idl.
107664        * DerivedSources.pri: Ditto.
107665        * GNUmakefile.list.am: Ditto.
107666        * WebCore.gypi: Ditto.
107667        * WebCore.xcodeproj/project.pbxproj: Ditto.
107668
1076692012-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
107670
107671        Web Inspector: [Regression] network worker tests crash on qt.
107672        https://bugs.webkit.org/show_bug.cgi?id=79263
107673
107674        Reviewed by Pavel Feldman.
107675
107676        * inspector/InspectorPageAgent.cpp:
107677        (WebCore::InspectorPageAgent::createDecoder):
107678        (WebCore::InspectorPageAgent::cachedResourceContent):
107679
1076802012-02-24  Andreas Kling  <awesomekling@apple.com>
107681
107682        Miscellaneous CSSParser dodging in presentation attribute parsing.
107683        <http://webkit.org/b/79468>
107684
107685        Reviewed by Antti Koivisto.
107686
107687        - Bypass CSSParser when adding constant values to attribute styles.
107688        - Added fast paths for the valid HTMLTablePartElement align values.
107689
107690        * html/HTMLEmbedElement.cpp:
107691        (WebCore::HTMLEmbedElement::collectStyleForAttribute):
107692        * html/HTMLHRElement.cpp:
107693        (WebCore::HTMLHRElement::collectStyleForAttribute):
107694        * html/HTMLIFrameElement.cpp:
107695        (WebCore::HTMLIFrameElement::collectStyleForAttribute):
107696        * html/HTMLTableElement.cpp:
107697        (WebCore::HTMLTableElement::collectStyleForAttribute):
107698        * html/HTMLTablePartElement.cpp:
107699        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
107700
1077012012-02-24  Dana Jansens  <danakj@chromium.org>
107702
107703        [chromium] Avoid culling work for fully-non-opaque tiles, and add tracing for draw culling
107704        https://bugs.webkit.org/show_bug.cgi?id=79183
107705
107706        Reviewed by James Robinson.
107707
107708        Addresses performance issues with draw culling by avoiding the work
107709        of mapRect and other function calls when the quad has no opaque area.
107710        And adds a TRACE_EVENT to watch the time spent in draw culling.
107711
107712        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
107713        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
107714        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
107715        (WebCore::CCQuadCuller::cullOccludedQuads):
107716
1077172012-02-24  Vsevolod Vlasov  <vsevik@chromium.org>
107718
107719        Web Inspector: Scripts panel navigator overlay should be shown automatically only one time.
107720        https://bugs.webkit.org/show_bug.cgi?id=79467
107721
107722        Reviewed by Pavel Feldman.
107723
107724        * inspector/front-end/ScriptsPanel.js:
107725        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
107726        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):
107727
1077282012-02-23  MORITA Hajime  <morrita@google.com>
107729
107730        Adding a ShadowRoot to image-backed element causes a crash
107731        https://bugs.webkit.org/show_bug.cgi?id=78878
107732
107733        Reviewed by Dimitri Glazkov.
107734
107735        The crash happened because NodeRenderingContext tried to append a
107736        child to a renderer regardless one isn't capable of holding any
107737        children if it appears in the shadow attaching phase. RenderImage
107738        is one of such renderer classes which aren't capable.
107739
107740        NodeRenderingContext decide whether the contextual node as a child
107741        can create its renderer based on RenderObject::canHaveChildren()
107742        and Node::childShouldCreateRenderer(). But the responsibility
107743        between these two methods are getting confused. which results this
107744        unfortuante crash path.
107745
107746        This change re-aligns the responsibility:
107747
107748        - Now canHaveChildren() purely declares the ability of the
107749          renderer. If the renderer is capable of having children, it
107750          return true regardless of HTML semantics.
107751
107752        - On the other hand, childShouldCreateRenderer() cares about the
107753          semantics. If the element doesn't allow children to be rendered,
107754          this returns false.
107755
107756        - Note that these decision on elements are contextual. Each element
107757          needs to know which role it is playing in the tree composition
107758          algorithm of Shadow DOM. That's why the method parameter is changed
107759          from Node* to NodeRenderingContext.
107760
107761        - Fixed updateFirstLetter() which relied on this confused assumption.
107762          This change introduces RenderDeprecatedFlexibleBox::buttonText()
107763          to refine the relying assumption.
107764
107765        With this change, some decision points are moved from a renderer to an
107766        element. Following renderers no longer stop reject having children:
107767
107768        - RenderButton, RenderListBox, RenderMenuList, RenderMeter,
107769          RenderProgress, RenderTextControl.
107770
107771        Corresponding element for such a render (HTMLProgressElement of
107772        RenderProgress for exaple) now cares about that.
107773
107774        Reviewed by Dimitri Glazkov.
107775
107776        Tests: fast/dom/shadow/shadow-on-image-expected.html
107777               fast/dom/shadow/shadow-on-image.html
107778
107779        * dom/Element.cpp:
107780        (WebCore::Element::childShouldCreateRenderer):
107781        * dom/Element.h:
107782        (Element):
107783        * dom/Node.h:
107784        (WebCore::Node::childShouldCreateRenderer):
107785        * dom/NodeRenderingContext.cpp:
107786        (WebCore::NodeRenderingContext::shouldCreateRenderer):
107787        * dom/NodeRenderingContext.h:
107788        (NodeRenderingContext):
107789        (WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
107790        (WebCore):
107791        * html/HTMLDetailsElement.cpp:
107792        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
107793        * html/HTMLDetailsElement.h:
107794        (HTMLDetailsElement):
107795        * html/HTMLMediaElement.cpp:
107796        (WebCore):
107797        (WebCore::HTMLMediaElement::childShouldCreateRenderer):
107798        * html/HTMLMediaElement.h:
107799        (HTMLMediaElement):
107800        * html/HTMLMeterElement.cpp:
107801        (WebCore::HTMLMeterElement::childShouldCreateRenderer):
107802        (WebCore):
107803        * html/HTMLMeterElement.h:
107804        (HTMLMeterElement):
107805        * html/HTMLProgressElement.cpp:
107806        (WebCore::HTMLProgressElement::childShouldCreateRenderer):
107807        (WebCore):
107808        * html/HTMLProgressElement.h:
107809        (HTMLProgressElement):
107810        * html/HTMLSelectElement.cpp:
107811        (WebCore::HTMLSelectElement::childShouldCreateRenderer):
107812        (WebCore):
107813        * html/HTMLSelectElement.h:
107814        (HTMLSelectElement):
107815        * html/HTMLSummaryElement.cpp:
107816        (WebCore::HTMLSummaryElement::childShouldCreateRenderer):
107817        (WebCore):
107818        * html/HTMLSummaryElement.h:
107819        (HTMLSummaryElement):
107820        * html/HTMLTextFormControlElement.cpp:
107821        (WebCore::HTMLTextFormControlElement::childShouldCreateRenderer):
107822        (WebCore):
107823        * html/HTMLTextFormControlElement.h:
107824        (HTMLTextFormControlElement):
107825        * rendering/RenderBlock.cpp:
107826        (WebCore::RenderBlock::updateFirstLetter):
107827        * rendering/RenderButton.cpp:
107828        * rendering/RenderButton.h:
107829        (RenderButton):
107830        * rendering/RenderDeprecatedFlexibleBox.h:
107831        (WebCore::RenderDeprecatedFlexibleBox::buttonText):
107832        * rendering/RenderListBox.h:
107833        (RenderListBox):
107834        * rendering/RenderMedia.h:
107835        (WebCore::RenderMedia::canHaveChildren):
107836        * rendering/RenderMenuList.h:
107837        (RenderMenuList):
107838        (WebCore::RenderMenuList::hasControlClip):
107839        * rendering/RenderMeter.h:
107840        * rendering/RenderProgress.h:
107841        * rendering/RenderTextControl.h:
107842        * rendering/svg/RenderSVGRoot.h:
107843        (WebCore::RenderSVGRoot::canHaveChildren):
107844        * svg/SVGAElement.cpp:
107845        (WebCore::SVGAElement::childShouldCreateRenderer):
107846        * svg/SVGAElement.h:
107847        (SVGAElement):
107848        * svg/SVGAltGlyphElement.cpp:
107849        (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
107850        * svg/SVGAltGlyphElement.h:
107851        (SVGAltGlyphElement):
107852        * svg/SVGDocument.cpp:
107853        (WebCore::SVGDocument::childShouldCreateRenderer):
107854        * svg/SVGDocument.h:
107855        (SVGDocument):
107856        * svg/SVGElement.cpp:
107857        (WebCore::SVGElement::childShouldCreateRenderer):
107858        * svg/SVGElement.h:
107859        (SVGElement):
107860        * svg/SVGForeignObjectElement.cpp:
107861        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
107862        * svg/SVGForeignObjectElement.h:
107863        (SVGForeignObjectElement):
107864        * svg/SVGSwitchElement.cpp:
107865        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
107866        * svg/SVGSwitchElement.h:
107867        (SVGSwitchElement):
107868        * svg/SVGTRefElement.cpp:
107869        (WebCore::SVGTRefElement::childShouldCreateRenderer):
107870        * svg/SVGTRefElement.h:
107871        (SVGTRefElement):
107872        * svg/SVGTSpanElement.cpp:
107873        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
107874        * svg/SVGTSpanElement.h:
107875        (SVGTSpanElement):
107876        * svg/SVGTextElement.cpp:
107877        (WebCore::SVGTextElement::childShouldCreateRenderer):
107878        * svg/SVGTextElement.h:
107879        (SVGTextElement):
107880        * svg/SVGTextPathElement.cpp:
107881        (WebCore::SVGTextPathElement::childShouldCreateRenderer):
107882        * svg/SVGTextPathElement.h:
107883
1078842012-02-24  Kentaro Hara  <haraken@chromium.org>
107885
107886        Support [Supplemental] on static methods
107887        https://bugs.webkit.org/show_bug.cgi?id=79357
107888
107889        Reviewed by Adam Barth.
107890
107891        [Supplemental] on static methods does not work in CodeGeneratorJS.pm
107892        and CodeGeneratorV8.pm due to mis-ordered if-elsif statements.
107893        This patch fixes it and supports [Supplemental] on static methods.
107894
107895        Test: bindings/scripts/test/TestSupplemental.idl
107896
107897        * bindings/scripts/CodeGeneratorJS.pm: Modified as described above.
107898        (GenerateParametersCheck):
107899        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
107900        (GenerateFunctionCallString):
107901
107902        * bindings/scripts/test/TestSupplemental.idl: Added a test case.
107903
107904        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated run-bindings-tests results.
107905        (WebDOMTestInterface::supplementalMethod4):
107906        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
107907        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
107908        (webkit_dom_test_interface_supplemental_method4):
107909        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
107910        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
107911        (WebCore):
107912        (WebCore::JSTestInterfaceConstructor::getOwnPropertySlot):
107913        (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
107914        (WebCore::jsTestInterfaceConstructorFunctionSupplementalMethod4):
107915        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
107916        (WebCore):
107917        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
107918        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
107919        (-[DOMTestInterface supplementalMethod4]):
107920        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
107921        (TestInterfaceInternal):
107922        (WebCore::TestInterfaceInternal::supplementalMethod4Callback):
107923        (WebCore::ConfigureV8TestInterfaceTemplate):
107924
1079252012-02-24  Tony Chang  <tony@chromium.org>
107926
107927        Small refactor in RenderFlexibleBox::layoutAndPlaceChildren
107928        https://bugs.webkit.org/show_bug.cgi?id=79420
107929
107930        Reviewed by Ojan Vafai.
107931
107932        No new tests, just a refactor.
107933
107934        * rendering/RenderFlexibleBox.cpp:
107935        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Share some of the logic
107936        in computing the cross axis length.
107937
1079382012-02-24  Yury Semikhatsky  <yurys@chromium.org>
107939
107940        Web Inspector: cannot drag timeline overview window when clicking inside the window
107941        https://bugs.webkit.org/show_bug.cgi?id=79453
107942
107943        Reviewed by Pavel Feldman.
107944
107945        * inspector/front-end/timelinePanel.css:
107946        (.timeline-overview-window-rulers):
107947
1079482012-02-24  Sheriff Bot  <webkit.review.bot@gmail.com>
107949
107950        Unreviewed, rolling out r108731.
107951        http://trac.webkit.org/changeset/108731
107952        https://bugs.webkit.org/show_bug.cgi?id=79464
107953
107954        Broke Chromium Win tests (Requested by bashi on #webkit).
107955
107956        * CMakeLists.txt:
107957        * GNUmakefile.list.am:
107958        * Target.pri:
107959        * WebCore.gyp/WebCore.gyp:
107960        * WebCore.gypi:
107961        * WebCore.vcproj/WebCore.vcproj:
107962        * WebCore.xcodeproj/project.pbxproj:
107963        * websockets/WebSocket.cpp:
107964        (WebCore::WebSocket::didConnect):
107965        * websockets/WebSocketChannel.cpp:
107966        (WebCore::WebSocketChannel::connect):
107967        (WebCore::WebSocketChannel::fail):
107968        (WebCore::WebSocketChannel::processFrame):
107969        (WebCore::WebSocketChannel::sendFrame):
107970        * websockets/WebSocketChannel.h:
107971        * websockets/WebSocketDeflateFramer.cpp: Removed.
107972        * websockets/WebSocketDeflateFramer.h: Removed.
107973
1079742012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
107975
107976        Web Inspector: Show scripts panel navigator overlay on the first scripts panel opening.
107977        https://bugs.webkit.org/show_bug.cgi?id=79248
107978
107979        Reviewed by Pavel Feldman.
107980
107981        * inspector/front-end/ScriptsPanel.js:
107982        (WebInspector.ScriptsPanel.prototype.wasShown):
107983        (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
107984        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
107985
1079862012-02-24  Mike Lawther  <mikelawther@chromium.org>
107987
107988        CSS3 calc(): handle non-negative values
107989        https://bugs.webkit.org/show_bug.cgi?id=79188
107990
107991        Reviewed by Daniel Bates.
107992
107993        Some CSS properties (e.g. padding) are required to be non-negative. These
107994        are now restricted to the correct range.
107995
107996        Tests: css3/calc/negative-padding-expected.html
107997               css3/calc/negative-padding.html
107998
107999        * css/CSSCalculationValue.cpp:
108000        (WebCore):
108001        (WebCore::CSSCalcValue::clampToPermittedRange): Added
108002        (WebCore::CSSCalcValue::doubleValue):
108003        (WebCore::CSSCalcValue::isNegative): Added
108004        (WebCore::CSSCalcValue::computeLengthPx):
108005        (WebCore::CSSCalcValue::create):
108006        * css/CSSCalculationValue.h:
108007        (CSSCalcValue):
108008        (WebCore::CSSCalcValue::CSSCalcValue):
108009        * css/CSSParser.cpp:
108010        (WebCore::CSSParser::validCalculationUnit):
108011        (WebCore::CSSParser::parseCalculation):
108012        * css/CSSParser.h:
108013        * platform/CalculationValue.h:
108014
1080152012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
108016
108017        Web Inspector: [Regression] xhr tests are crashing after r108506.
108018        https://bugs.webkit.org/show_bug.cgi?id=79265
108019
108020        Reviewed by Pavel Feldman.
108021
108022        * inspector/InspectorResourceAgent.cpp:
108023        (WebCore::InspectorResourceAgent::setInitialScriptContent):
108024        (WebCore::InspectorResourceAgent::setInitialXHRContent):
108025
1080262012-02-24  Huang Dongsung  <luxtella@company100.net>
108027
108028        Rename LocalStorageThread to StorageThread and LocalStorageTask to StorageTask.
108029        https://bugs.webkit.org/show_bug.cgi?id=79358
108030
108031        Revision 45124 commented FIXME to rename these classes.
108032
108033        Reviewed by Kentaro Hara.
108034
108035        * CMakeLists.txt:
108036        * GNUmakefile.list.am:
108037        * Target.pri:
108038        * WebCore.gypi:
108039        * WebCore.order:
108040        * WebCore.vcproj/WebCore.vcproj:
108041        * WebCore.xcodeproj/project.pbxproj:
108042        * storage/LocalStorageTask.h: Removed.
108043        * storage/StorageSyncManager.cpp:
108044        (WebCore::StorageSyncManager::StorageSyncManager):
108045        (WebCore::StorageSyncManager::scheduleImport):
108046        (WebCore::StorageSyncManager::scheduleSync):
108047        (WebCore::StorageSyncManager::scheduleDeleteEmptyDatabase):
108048        * storage/StorageSyncManager.h:
108049        (WebCore):
108050        (StorageSyncManager):
108051        * storage/StorageTask.cpp: Renamed from Source/WebCore/storage/LocalStorageTask.cpp.
108052        (WebCore):
108053        (WebCore::StorageTask::StorageTask):
108054        (WebCore::StorageTask::~StorageTask):
108055        (WebCore::StorageTask::performTask):
108056        * storage/StorageTask.h: Added.
108057        (WebCore):
108058        (StorageTask):
108059        (WebCore::StorageTask::createImport):
108060        (WebCore::StorageTask::createSync):
108061        (WebCore::StorageTask::createDeleteEmptyDatabase):
108062        (WebCore::StorageTask::createOriginIdentifiersImport):
108063        (WebCore::StorageTask::createSetOriginDetails):
108064        (WebCore::StorageTask::createDeleteOrigin):
108065        (WebCore::StorageTask::createDeleteAllOrigins):
108066        (WebCore::StorageTask::createTerminate):
108067        * storage/StorageThread.cpp: Renamed from Source/WebCore/storage/LocalStorageThread.cpp.
108068        (WebCore):
108069        (WebCore::StorageThread::create):
108070        (WebCore::StorageThread::StorageThread):
108071        (WebCore::StorageThread::~StorageThread):
108072        (WebCore::StorageThread::start):
108073        (WebCore::StorageThread::threadEntryPointCallback):
108074        (WebCore::StorageThread::threadEntryPoint):
108075        (WebCore::StorageThread::scheduleTask):
108076        (WebCore::StorageThread::terminate):
108077        (WebCore::StorageThread::performTerminate):
108078        * storage/StorageThread.h: Renamed from Source/WebCore/storage/LocalStorageThread.h.
108079        (WebCore):
108080        (StorageThread):
108081        * storage/StorageTracker.cpp:
108082        (WebCore::StorageTracker::StorageTracker):
108083        (WebCore::StorageTracker::importOriginIdentifiers):
108084        (WebCore::StorageTracker::setOriginDetails):
108085        (WebCore::StorageTracker::scheduleTask):
108086        (WebCore::StorageTracker::deleteAllOrigins):
108087        (WebCore::StorageTracker::deleteOrigin):
108088        * storage/StorageTracker.h:
108089        (WebCore):
108090        (StorageTracker):
108091        * storage/wince/StorageThreadWinCE.cpp: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.cpp.
108092        (WebCore):
108093        (WebCore::StorageThread::StorageThread):
108094        (WebCore::StorageThread::~StorageThread):
108095        (WebCore::StorageThread::start):
108096        (WebCore::StorageThread::timerFired):
108097        (WebCore::StorageThread::scheduleImport):
108098        (WebCore::StorageThread::scheduleSync):
108099        (WebCore::StorageThread::terminate):
108100        (WebCore::StorageThread::performTerminate):
108101        * storage/wince/StorageThreadWinCE.h: Renamed from Source/WebCore/storage/wince/LocalStorageThreadWinCE.h.
108102        (WebCore):
108103        (StorageThread):
108104        (WebCore::StorageThread::create):
108105
1081062012-02-23  Pavel Feldman  <pfeldman@chromium.org>
108107
108108        Web Inspector: prepare border images on timelines to enable zooming.
108109        https://bugs.webkit.org/show_bug.cgi?id=79360
108110
108111        Reviewed by Yury Semikhatsky.
108112
108113        * inspector/front-end/Images/timelineBarBlue.png:
108114        * inspector/front-end/Images/timelineBarGray.png:
108115        * inspector/front-end/Images/timelineBarGreen.png:
108116        * inspector/front-end/Images/timelineBarOrange.png:
108117        * inspector/front-end/Images/timelineBarPurple.png:
108118        * inspector/front-end/Images/timelineBarRed.png:
108119        * inspector/front-end/Images/timelineBarYellow.png:
108120        * inspector/front-end/Images/timelineHollowPillBlue.png:
108121        * inspector/front-end/Images/timelineHollowPillGray.png:
108122        * inspector/front-end/Images/timelineHollowPillGreen.png:
108123        * inspector/front-end/Images/timelineHollowPillOrange.png:
108124        * inspector/front-end/Images/timelineHollowPillPurple.png:
108125        * inspector/front-end/Images/timelineHollowPillRed.png:
108126        * inspector/front-end/Images/timelineHollowPillYellow.png:
108127        * inspector/front-end/Images/timelinePillBlue.png:
108128        * inspector/front-end/Images/timelinePillGray.png:
108129        * inspector/front-end/Images/timelinePillGreen.png:
108130        * inspector/front-end/Images/timelinePillOrange.png:
108131        * inspector/front-end/Images/timelinePillPurple.png:
108132        * inspector/front-end/Images/timelinePillRed.png:
108133        * inspector/front-end/Images/timelinePillYellow.png:
108134        * inspector/front-end/inspectorCommon.css:
108135        (body):
108136        * inspector/front-end/networkLogView.css:
108137        (.network-graph-bar):
108138        (.resource-cached .network-graph-bar):
108139        (.network-category-documents .network-graph-bar):
108140        (.network-category-documents.resource-cached .network-graph-bar):
108141        (.network-category-stylesheets .network-graph-bar):
108142        (.network-category-stylesheets.resource-cached .network-graph-bar):
108143        (.network-category-images.resource-cached .network-graph-bar):
108144        (.network-category-fonts .network-graph-bar):
108145        (.network-category-fonts.resource-cached .network-graph-bar):
108146        (.network-category-scripts .network-graph-bar):
108147        (.network-category-scripts.resource-cached .network-graph-bar):
108148        (.network-category-xhr .network-graph-bar):
108149        (.network-category-xhr.resource-cached .network-graph-bar):
108150        (.network-category-websockets .network-graph-bar):
108151        (.network-category-websockets.resource-cached .network-graph-bar):
108152
1081532012-02-23  Yury Semikhatsky  <yurys@chromium.org>
108154
108155        Web Inspector: exception in front-end on selecting an element in heap snapshot
108156        https://bugs.webkit.org/show_bug.cgi?id=79447
108157
108158        Fixed a typo in method name and added a check that selected node has
108159        corresponding heap snapshot object before adding that object to the console
108160        as $0 entry.
108161
108162        Reviewed by Pavel Feldman.
108163
108164        * inspector/front-end/DetailedHeapshotView.js:
108165        (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged):
108166
1081672012-02-23  Pavel Feldman  <pfeldman@chromium.org>
108168
108169        Web Inspector: hide color picker upon panel switch.
108170        https://bugs.webkit.org/show_bug.cgi?id=79355
108171
108172        Reviewed by Vsevolod Vlasov.
108173
108174        * inspector/front-end/ElementsPanel.js:
108175        (WebInspector.ElementsPanel.prototype.willHide):
108176        * inspector/front-end/StylesSidebarPane.js:
108177        (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
108178        (WebInspector.StylesSidebarPane.prototype.willHide):
108179
1081802012-02-23  Pavel Feldman  <pfeldman@chromium.org>
108181
108182        Web Inspector: make color review larger in the color picker.
108183        https://bugs.webkit.org/show_bug.cgi?id=79339
108184
108185        Reviewed by Vsevolod Vlasov.
108186
108187        * inspector/front-end/Popover.js:
108188        (WebInspector.Popover.prototype.hide):
108189        * inspector/front-end/Spectrum.js:
108190        * inspector/front-end/elementsPanel.css:
108191        (.spectrum-container):
108192        (.spectrum-color):
108193        (.spectrum-display-value):
108194        (.spectrum-hue):
108195        (.spectrum-fill):
108196        (.spectrum-range-container label):
108197        (.spectrum-range-container input):
108198        (.spectrum-slider):
108199        (.spectrum-container .swatch):
108200        * inspector/front-end/inspector.css:
108201        (.swatch):
108202
1082032012-02-23  Kenichi Ishibashi  <bashi@chromium.org>
108204
108205        [Chromium] Add HarfBuzzShaperBase class
108206        https://bugs.webkit.org/show_bug.cgi?id=79336
108207
108208        Extract a part of ComplexTextControllerHarfBuzz class as
108209        HarfBuzzShaperBase class. This patch intends to share the code between
108210        old HarfBuzz and HarfBuzz-ng.
108211
108212        Reviewed by Tony Chang.
108213
108214        No new tests. No behavior change. Existing tests in fast/text should pass.
108215
108216        * PlatformBlackBerry.cmake: Added HarfBuzzShaperBase.cpp.
108217        * WebCore.gyp/WebCore.gyp: Added HarfBuzzShaperBase.(cpp|h).
108218        * WebCore.gypi: Ditto.
108219        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp:
108220        (WebCore::ComplexTextController::ComplexTextController): Removed redundant arguments.
108221        (WebCore::ComplexTextController::nextScriptRun): Use m_normalizedBuffer and m_normalizedBufferLength instead of m_run.
108222        (WebCore::ComplexTextController::setupFontForScriptRun): Ditto.
108223        (WebCore::ComplexTextController::setGlyphPositions): Ditto.
108224        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h:
108225        (ComplexTextController):
108226        * platform/graphics/harfbuzz/FontHarfBuzz.cpp:
108227        (WebCore::Font::drawComplexText): Removed redundant arguments of ComplexTextController constructor.
108228        (WebCore::Font::floatWidthForComplexText): Ditto.
108229        (WebCore::Font::offsetForPositionForComplexText): Ditto.
108230        (WebCore::Font::selectionRectForComplexText): Ditto.
108231        * platform/graphics/harfbuzz/HarfBuzzShaperBase.cpp: Added.
108232        (WebCore):
108233        (WebCore::HarfBuzzShaperBase::HarfBuzzShaperBase):
108234        (WebCore::normalizeSpacesAndMirrorChars):
108235        (WebCore::HarfBuzzShaperBase::setNormalizedBuffer):
108236        (WebCore::HarfBuzzShaperBase::isWordEnd):
108237        (WebCore::HarfBuzzShaperBase::determineWordBreakSpacing):
108238        (WebCore::HarfBuzzShaperBase::setPadding):
108239        * platform/graphics/harfbuzz/HarfBuzzShaperBase.h: Added.
108240        (WebCore):
108241        (HarfBuzzShaperBase):
108242        (WebCore::HarfBuzzShaperBase::~HarfBuzzShaperBase):
108243        (WebCore::HarfBuzzShaperBase::isCodepointSpace):
108244
1082452012-02-23  Kenichi Ishibashi  <bashi@chromium.org>
108246
108247        Adding WebSocket per-frame DEFLATE extension
108248        https://bugs.webkit.org/show_bug.cgi?id=77522
108249
108250        Add WebSocketDeflateFramer class which handles deflate-frame extension.
108251        This class encapsulates WebSocketDeflater and WebSocketInflater classes,
108252        which depend on zlib, so that WebSocketChannel is not necessary to aware
108253        zlib dependency.
108254
108255        This is the second patch to land. The previous patch broke Chromium Win
108256        release build. r108600 should fix the build failure. I also added
108257        zlib entry to |export_dependent_settings| of |webcore_prerequisites|
108258        target.
108259
108260        Reviewed by Kent Tamura.
108261
108262        Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
108263               http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
108264               http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
108265               http/tests/websocket/tests/hybi/deflate-frame-parameter.html
108266
108267        * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
108268        * GNUmakefile.list.am: Ditto.
108269        * Target.pri: Ditto.
108270        * WebCore.gypi: Ditto.
108271        * WebCore.gyp/WebCore.gyp: Added zlib dependency.
108272        * WebCore.vcproj/WebCore.vcproj: Added WebSocketDeflateFramer.(cpp|h)
108273        * WebCore.xcodeproj/project.pbxproj: Ditto.
108274        * websockets/WebSocket.cpp:
108275        (WebCore::WebSocket::didConnect): Set m_extensions.
108276        * websockets/WebSocketChannel.cpp:
108277        (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
108278        (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
108279        (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
108280        (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
108281        * websockets/WebSocketChannel.h:
108282        * websockets/WebSocketDeflateFramer.cpp: Added.
108283        (WebCore):
108284        (WebSocketExtensionDeflateFrame):
108285        (WebCore::WebSocketExtensionDeflateFrame::create):
108286        (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
108287        (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
108288        (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
108289        (WebCore::WebSocketExtensionDeflateFrame::processResponse):
108290        (WebCore::DeflateResultHolder::DeflateResultHolder):
108291        (WebCore::DeflateResultHolder::~DeflateResultHolder):
108292        (WebCore::DeflateResultHolder::fail):
108293        (WebCore::InflateResultHolder::InflateResultHolder):
108294        (WebCore::InflateResultHolder::~InflateResultHolder):
108295        (WebCore::InflateResultHolder::fail):
108296        (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
108297        (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
108298        (WebCore::WebSocketDeflateFramer::canDeflate):
108299        (WebCore::WebSocketDeflateFramer::enableDeflate):
108300        (WebCore::WebSocketDeflateFramer::deflate):
108301        (WebCore::WebSocketDeflateFramer::resetDeflateContext):
108302        (WebCore::WebSocketDeflateFramer::inflate):
108303        (WebCore::WebSocketDeflateFramer::resetInflateContext):
108304        (WebCore::WebSocketDeflateFramer::didFail):
108305        * websockets/WebSocketDeflateFramer.h: Added.
108306        (WebCore):
108307        (DeflateResultHolder):
108308        (WebCore::DeflateResultHolder::succeeded):
108309        (WebCore::DeflateResultHolder::failureReason):
108310        (InflateResultHolder):
108311        (WebCore::InflateResultHolder::succeeded):
108312        (WebCore::InflateResultHolder::failureReason):
108313        (WebSocketDeflateFramer):
108314        (WebCore::WebSocketDeflateFramer::enabled):
108315
1083162012-02-23  Andy Estes  <aestes@apple.com>
108317
108318        Rename [setS|s]uppressIncrementalRendering to [setS|s]uppressesIncrementalRendering and make it WebPreferences API.
108319        https://bugs.webkit.org/show_bug.cgi?id=79433
108320
108321        Reviewed by Dan Bernstein.
108322
108323        * dom/Document.cpp:
108324        (WebCore::Document::implicitClose):
108325        (WebCore::Document::visualUpdatesAllowed):
108326        * page/Settings.cpp:
108327        (WebCore::Settings::Settings):
108328        * page/Settings.h:
108329        (WebCore::Settings::setSuppressesIncrementalRendering):
108330        (WebCore::Settings::suppressesIncrementalRendering):
108331        (Settings):
108332
1083332012-02-23  Erik Arvidsson  <arv@chromium.org>
108334
108335        Rename DOMWindow to Window in the bindings
108336        https://bugs.webkit.org/show_bug.cgi?id=78721
108337
108338        Reviewed by Adam Barth.
108339
108340        Covered by existing tests.
108341
108342        * inspector/front-end/DetailedHeapshotGridNodes.js:
108343        (WebInspector.HeapSnapshotGenericObjectNode):
108344        (WebInspector.HeapSnapshotGenericObjectNode.prototype.isWindow):
108345        * inspector/front-end/HeapSnapshot.js:
108346        (WebInspector.HeapSnapshotNode.prototype.get isWindow):
108347        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
108348        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
108349        * page/DOMWindow.idl:
108350
1083512012-02-23  Shinya Kawanaka  <shinyak@chromium.org>
108352
108353        NodeRenderingContext should have ShadowRootList instead of ShadowRoot.
108354        https://bugs.webkit.org/show_bug.cgi?id=79079
108355
108356        Reviewed by Dimitri Glazkov.
108357
108358        Apparently NodeRenderingContext should have ShadowRootList instead of ShadowRoot.
108359        This patch changes it.
108360
108361        No new tests. Simple refactoring.
108362
108363        * dom/NodeRenderingContext.cpp:
108364        (WebCore::NodeRenderingContext::NodeRenderingContext):
108365        (WebCore::NodeRenderingContext::hostChildrenChanged):
108366        (WebCore::NodeRenderingContext::shouldCreateRenderer):
108367        * dom/NodeRenderingContext.h:
108368        (WebCore):
108369
1083702012-02-23  Ian Vollick  <vollick@chromium.org>
108371
108372        [chromium] Implement keyframed animations for the cc thread.
108373        https://bugs.webkit.org/show_bug.cgi?id=77229
108374
108375        Reviewed by James Robinson.
108376
108377        * WebCore.gypi:
108378        * platform/graphics/chromium/LayerChromium.cpp:
108379        (WebCore::LayerChromium::hasActiveAnimation):
108380        (WebCore):
108381        * platform/graphics/chromium/LayerChromium.h:
108382        (LayerChromium):
108383        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
108384        (WebCore::CCActiveAnimation::CCActiveAnimation):
108385        (WebCore::CCActiveAnimation::isFinishedAt):
108386        (WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
108387        (WebCore::CCActiveAnimation::cloneForImplThread):
108388        * platform/graphics/chromium/cc/CCActiveAnimation.h:
108389        (WebCore::CCActiveAnimation::curve):
108390        (CCActiveAnimation):
108391        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.cpp: Added.
108392        (WebCore::CCKeyframedFloatAnimationCurve::create):
108393        (WebCore):
108394        (WebCore::CCKeyframedFloatAnimationCurve::CCKeyframedFloatAnimationCurve):
108395        (WebCore::CCKeyframedFloatAnimationCurve::~CCKeyframedFloatAnimationCurve):
108396        (WebCore::CCKeyframedFloatAnimationCurve::duration):
108397        (WebCore::CCKeyframedFloatAnimationCurve::clone):
108398        (WebCore::CCKeyframedFloatAnimationCurve::getValue):
108399        (WebCore::CCKeyframedTransformAnimationCurve::create):
108400        (WebCore::CCKeyframedTransformAnimationCurve::CCKeyframedTransformAnimationCurve):
108401        (WebCore::CCKeyframedTransformAnimationCurve::~CCKeyframedTransformAnimationCurve):
108402        (WebCore::CCKeyframedTransformAnimationCurve::duration):
108403        (WebCore::CCKeyframedTransformAnimationCurve::clone):
108404        (WebCore::CCKeyframedTransformAnimationCurve::getValue):
108405        * platform/graphics/chromium/cc/CCKeyframedAnimationCurve.h: Added.
108406        (WebCore):
108407        (WebCore::CCFloatKeyframe::CCFloatKeyframe):
108408        (CCFloatKeyframe):
108409        (WebCore::CCTransformKeyframe::CCTransformKeyframe):
108410        (CCTransformKeyframe):
108411        (CCKeyframedFloatAnimationCurve):
108412        (CCKeyframedTransformAnimationCurve):
108413        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp:
108414        (WebCore::CCLayerAnimationController::addAnimation):
108415        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
108416        (WebCore::CCLayerAnimationController::hasActiveAnimation):
108417        (CCLayerAnimationController):
108418        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
108419        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
108420
1084212012-02-23  Raymond Toy  <rtoy@google.com>
108422
108423        Use MathExtras round() in timeToSampleFrame
108424        https://bugs.webkit.org/show_bug.cgi?id=79281
108425
108426        Reviewed by Chris Rogers.
108427
108428        No new tests. Existing tests cover this change.
108429
108430        * platform/audio/AudioUtilities.cpp:
108431        (WebCore::AudioUtilities::timeToSampleFrame): Use round(). 
108432
1084332012-02-23  Greg Billock  <gbillock@google.com>
108434
108435        Don't clear IntentRequest callback pointers on stop()
108436
108437        This causes re-entry into ScriptExecutionContext when
108438        the ActiveDOMCallback objects get deleted, which crashes.
108439        Instead, just de-activate the object and wait for
108440        context destruction to clean up.
108441
108442        Test crashes consistently without fix and passes with fix.
108443        Added some test infrastructure to support this test.
108444        https://bugs.webkit.org/show_bug.cgi?id=78638
108445
108446        Reviewed by Adam Barth.
108447
108448        * Modules/intents/IntentRequest.cpp:
108449        (WebCore::IntentRequest::IntentRequest):
108450        (WebCore::IntentRequest::stop):
108451        (WebCore::IntentRequest::postResult):
108452        (WebCore::IntentRequest::postFailure):
108453        * Modules/intents/IntentRequest.h:
108454        (IntentRequest):
108455
1084562012-02-23  Konrad Piascik  <kpiascik@rim.com>
108457
108458        Upstream BlackBerry Cookie Management Classes
108459        https://bugs.webkit.org/show_bug.cgi?id=73654
108460
108461        Reviewed by Rob Buis.
108462
108463        Added ManualTests/cookieSpeedTest.html as well as tested functionality
108464        on the BlackBerry port with http://testsuites.opera.com/cookies/
108465        Passes all non Cookie 2 tests since Cookie 2 is not implemented/supported at this time.
108466        Error handling and extended tests do not all pass and will be updated with future bugs/patches.
108467
108468        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.cpp: Added.
108469        * platform/blackberry/CookieDatabaseBackingStore/CookieDatabaseBackingStore.h: Added.
108470        * platform/blackberry/CookieJarBlackBerry.cpp: Added.
108471        * platform/blackberry/CookieManager.cpp: Added.
108472        * platform/blackberry/CookieManager.h: Added.
108473        * platform/blackberry/CookieMap.cpp: Added.
108474        * platform/blackberry/CookieMap.h: Added.
108475        * platform/blackberry/CookieParser.cpp: Added.
108476        * platform/blackberry/CookieParser.h: Added.
108477        * platform/blackberry/ParsedCookie.cpp: Added.
108478        * platform/blackberry/ParsedCookie.h: Added.
108479
1084802012-02-23  Levi Weintraub  <leviw@chromium.org>
108481
108482        Switch drawLineForBoxSide to use integers
108483        https://bugs.webkit.org/show_bug.cgi?id=78647
108484
108485        Reviewed by Eric Seidel.
108486
108487        drawLineForBoxSide handles painting lines for boxes which must be done on pixel boundaries.
108488        Its interface doesn't make it possible to pixel snap properly within the function itself --
108489        it draws one side of the box at a time, and the logical right and bottom lines can only be
108490        properly determined using the logical top and left positions -- so it needs to be treated 
108491        like a graphics context function, whereby the caller handles the proper pixel snapping before
108492        passing the values in.
108493
108494        No new tests. No change in behavior.
108495
108496        * rendering/LayoutTypes.h:
108497        (WebCore::pixelSnappedIntRectFromEdges): convenience function for returning a pixel snapped
108498        int rect from four LayoutUnits that are its edges (as opposed to position and size).
108499        * rendering/RenderBlock.cpp:
108500        (WebCore::RenderBlock::paintColumnRules): Pixel snapping the column rule rect.
108501        * rendering/RenderBoxModelObject.cpp:
108502        (WebCore::RenderBoxModelObject::paintOneBorderSide): Side rects are now IntRects by the time
108503        they get to paintOneBorderSide.
108504        (WebCore::calculateSideRect): Properly use RoundedRect as IntRects instead of LayoutRects.
108505        (WebCore::RenderBoxModelObject::paintBorderSides): Ditto.
108506        (WebCore::RenderBoxModelObject::paintBorder): Ditto.
108507        (WebCore::calculateSideRectIncludingInner): Ditto.
108508        * rendering/RenderBoxModelObject.h:
108509        (RenderBoxModelObject):
108510        * rendering/RenderInline.cpp:
108511        (WebCore::RenderInline::paintOutlineForLine): Outline widths are related to borders and stored
108512        as ints. Removing an unnecessary conversion to LayoutUnits. Pixel snapping the edges of the box.
108513        * rendering/RenderObject.cpp:
108514        (WebCore::RenderObject::drawLineForBoxSide): Moving back to integers and removing an
108515        unnecessary pixelSnappedIntRect call.
108516        (WebCore::RenderObject::paintOutline): Pixel snapping the column rule rect and using an integer
108517        for outlineOffset.
108518        * rendering/RenderObject.h:
108519        (RenderObject):
108520
1085212012-02-23  Leo Yang  <leo.yang@torchmobile.com.cn>
108522
108523        [BlackBerry] Upstream the BlackBerry change to platform/graphics/IntPoint.h
108524        https://bugs.webkit.org/show_bug.cgi?id=79094
108525
108526        Reviewed by Antonio Gomes.
108527
108528        Add conversion convenience between WebCore::IntPoint and BlackBerry::Platform::IntPoint.
108529
108530        The porting can't be built yet, no new tests.
108531
108532        * platform/graphics/IntPoint.h:
108533        (Platform):
108534        (IntPoint):
108535
1085362012-02-23  Justin Novosad  <junov@chromium.org>
108537
108538        [Chromium] Add profiling trace for deferred canvas rendering
108539        https://bugs.webkit.org/show_bug.cgi?id=79376
108540
108541        Reviewed by Stephen White.
108542
108543        No new tests.
108544
108545        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
108546        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
108547        Profiling trace for the entire method, as well as for
108548        calls to canvas flush and context flush, both of which may
108549        cause deferred operation to be executed.
108550        * platform/graphics/skia/PlatformContextSkia.cpp:
108551        (WebCore::PlatformContextSkia::bitmap):
108552        Inserting a profiling trace in this method because it may cause
108553        deferred draw commands to be executed.
108554
1085552012-02-23  Shinya Kawanaka  <shinyak@chromium.org>
108556
108557        ShadowRootList should have recalculation flag instead of ShadowRoot.
108558        https://bugs.webkit.org/show_bug.cgi?id=79071
108559
108560        Reviewed by Hajime Morita.
108561
108562        When light children or shadow children are changed, we currently re-construct a shadow subtree.
108563        However, when supporting multiple shadow subtrees, all shadow subtrees should be re-constructed.
108564        So ShadowRootList should have re-construction flag instead of ShadowRoot.
108565
108566        Also, re-construction methods in ShadowRoot should be moved to ShadowRootList.
108567
108568        No new tests, should be convered by existing tests.
108569
108570        * dom/Element.cpp:
108571        (WebCore::Element::recalcStyle):
108572        (WebCore::Element::childrenChanged):
108573        * dom/NodeRenderingContext.cpp:
108574        (WebCore::NodeRenderingContext::hostChildrenChanged):
108575        * dom/ShadowRoot.cpp:
108576        (WebCore::ShadowRoot::ShadowRoot):
108577        (WebCore::ShadowRoot::list):
108578        * dom/ShadowRoot.h:
108579        (WebCore):
108580        (ShadowRoot):
108581        * dom/ShadowRootList.cpp:
108582        (WebCore::ShadowRootList::ShadowRootList):
108583        (WebCore::ShadowRootList::reattach):
108584        (WebCore):
108585        (WebCore::ShadowRootList::childNeedsStyleRecalc):
108586        (WebCore::ShadowRootList::needsStyleRecalc):
108587        (WebCore::ShadowRootList::recalcShadowTreeStyle):
108588        (WebCore::ShadowRootList::needsReattachHostChildrenAndShadow):
108589        (WebCore::ShadowRootList::hostChildrenChanged):
108590        (WebCore::ShadowRootList::setNeedsReattachHostChildrenAndShadow):
108591        (WebCore::ShadowRootList::reattachHostChildrenAndShadow):
108592        * dom/ShadowRootList.h:
108593        (WebCore):
108594        (ShadowRootList):
108595        (WebCore::ShadowRootList::clearNeedsReattachHostChildrenAndShadow):
108596        * html/shadow/HTMLContentElement.cpp:
108597        (WebCore::HTMLContentElement::attach):
108598        (WebCore::HTMLContentElement::detach):
108599        (WebCore::HTMLContentElement::parseAttribute):
108600
1086012012-02-23  Roland Steiner  <rolandsteiner@chromium.org>
108602
108603        Unreviewed: add clause in ASSERT missing from r108474.
108604
108605        No new tests. (fix)
108606
108607        * html/HTMLStyleElement.cpp:
108608        (WebCore::HTMLStyleElement::willRemove):
108609
1086102012-02-23  Eric Seidel  <eric@webkit.org>
108611
108612        Split out HTML constructors into new DOMWindowHTML suplemental idl
108613        https://bugs.webkit.org/show_bug.cgi?id=79377
108614
108615        Reviewed by Adam Barth.
108616
108617        * CMakeLists.txt:
108618        * DerivedSources.make:
108619        * DerivedSources.pri:
108620        * GNUmakefile.list.am:
108621        * WebCore.gypi:
108622        * WebCore.xcodeproj/project.pbxproj:
108623        * html/DOMWindowHTML.idl: Added.
108624        * page/DOMWindow.idl:
108625
1086262012-02-23  Eric Seidel  <eric@webkit.org>
108627
108628        Move SVG element constructors out of DOMWindow.idl into a new DOMWindowSVG.idl suplemental
108629        https://bugs.webkit.org/show_bug.cgi?id=79379
108630
108631        Reviewed by Adam Barth.
108632
108633        * CMakeLists.txt:
108634        * DerivedSources.make:
108635        * DerivedSources.pri:
108636        * GNUmakefile.list.am:
108637        * WebCore.gypi:
108638        * WebCore.xcodeproj/project.pbxproj:
108639        * page/DOMWindow.idl:
108640        * svg/DOMWindowSVG.idl: Added.
108641
1086422012-02-23  Jonathan Backer  <backer@chromium.org>
108643
108644        [chromium] Plumb video damage to the damage tracker.
108645        https://bugs.webkit.org/show_bug.cgi?id=79373
108646
108647        Reviewed by James Robinson.
108648
108649        * platform/graphics/chromium/VideoLayerChromium.cpp:
108650        (WebCore::VideoLayerChromium::contentChanged):
108651        (WebCore):
108652        * platform/graphics/chromium/VideoLayerChromium.h:
108653        (VideoLayerChromium):
108654
1086552012-02-23  MORITA Hajime  <morrita@google.com>
108656
108657        This test checks select attribute of content element is valid.
108658        https://bugs.webkit.org/show_bug.cgi?id=65595
108659
108660        Reviewed by Dimitri Glazkov.
108661
108662        This change introduces FrameTree::scopedChild() and
108663        FrameTree::scopedChild(), which can be used for scope-aware
108664        frame lookup. Using these, the named accessor and the indexed
108665        acceccor on Document, and Window.length are now TreeScope
108666        aware. They don't count iframes in Shadow DOM.
108667
108668        This change also removes FrameTree::m_childCount since
108669        Frame::childCount() is no longer in the hot
108670        path. m_scopedChildCount is added instead.
108671
108672        Test: fast/dom/shadow/iframe-shadow.html
108673
108674        * bindings/js/JSDOMWindowCustom.cpp:
108675        (WebCore::childFrameGetter):
108676        (WebCore::indexGetter):
108677        (WebCore::JSDOMWindow::getOwnPropertySlot):
108678        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
108679        * bindings/v8/custom/V8DOMWindowCustom.cpp:
108680        (WebCore::V8DOMWindow::indexedPropertyGetter):
108681        (WebCore::V8DOMWindow::namedPropertyGetter):
108682        (WebCore::V8DOMWindow::namedSecurityCheck):
108683        (WebCore::V8DOMWindow::indexedSecurityCheck):
108684        * page/DOMWindow.cpp:
108685        (WebCore::DOMWindow::length):
108686        * page/Frame.cpp:
108687        (WebCore::Frame::inScope):
108688        (WebCore):
108689        * page/Frame.h:
108690        (WebCore):
108691        (Frame):
108692        * page/FrameTree.cpp:
108693        (WebCore::FrameTree::actuallyAppendChild):
108694        (WebCore::FrameTree::removeChild):
108695        (WebCore::FrameTree::scopedChild):
108696        (WebCore):
108697        (WebCore::FrameTree::scopedChildCount):
108698        (WebCore::FrameTree::childCount):
108699        * page/FrameTree.h:
108700        (WebCore):
108701        (FrameTree):
108702        (WebCore::FrameTree::FrameTree):
108703
1087042012-02-23  Philip Rogers  <pdr@google.com>
108705
108706        Recompute font metrics on scale changes
108707        https://bugs.webkit.org/show_bug.cgi?id=75091
108708
108709        Reviewed by Nikolas Zimmermann.
108710
108711        SVG text metrics depend on the transform from renderer to the svg root
108712        which requires that we propagate transform changes down to text.
108713        This change adds a boolean for tracking transform changes to
108714        SVGViewportContainers and SVGTransformableContainers, and updates
108715        RenderSVGText::layout() to recalculate text metrics if the transform
108716        of an ancestor has changed.
108717
108718        Tests: platform/mac/svg/text/text-rescale.html
108719               platform/mac/svg/text/text-viewbox-rescale.html
108720               svg/text/text-rescale.html
108721               svg/text/text-viewbox-rescale.html
108722
108723        * rendering/RenderObject.h:
108724        (WebCore::RenderObject::isSVGTransformableContainer):
108725        (WebCore::RenderObject::isSVGViewportContainer):
108726        * rendering/svg/RenderSVGContainer.h:
108727        (WebCore::RenderSVGContainer::didTransformToRootUpdate):
108728        * rendering/svg/RenderSVGInlineText.cpp:
108729        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
108730        * rendering/svg/RenderSVGText.cpp:
108731        (WebCore::RenderSVGText::RenderSVGText):
108732        (WebCore::RenderSVGText::layout):
108733        * rendering/svg/RenderSVGText.h:
108734        (WebCore::RenderSVGText::setNeedsTextMetricsUpdate):
108735        (RenderSVGText):
108736        * rendering/svg/RenderSVGTransformableContainer.cpp:
108737        (WebCore::RenderSVGTransformableContainer::RenderSVGTransformableContainer):
108738        (WebCore::RenderSVGTransformableContainer::calculateLocalTransform):
108739        * rendering/svg/RenderSVGTransformableContainer.h:
108740        (WebCore::RenderSVGTransformableContainer::isSVGTransformableContainer):
108741        (WebCore::RenderSVGTransformableContainer::didTransformToRootUpdate):
108742        (RenderSVGTransformableContainer):
108743        * rendering/svg/RenderSVGViewportContainer.cpp:
108744        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
108745        (WebCore::RenderSVGViewportContainer::calcViewport):
108746        * rendering/svg/RenderSVGViewportContainer.h:
108747        (WebCore::RenderSVGViewportContainer::didTransformToRootUpdate):
108748        (RenderSVGViewportContainer):
108749        * rendering/svg/SVGRenderSupport.cpp:
108750        (WebCore::SVGRenderSupport::transformToRootChanged):
108751        (WebCore):
108752        (WebCore::SVGRenderSupport::layoutChildren):
108753        * rendering/svg/SVGRenderSupport.h:
108754        (SVGRenderSupport):
108755
1087562012-02-21  James Robinson  <jamesr@chromium.org>
108757
108758        [chromium] Notify compositor of wheel event registration via ScrollingCoordinator
108759        https://bugs.webkit.org/show_bug.cgi?id=79133
108760
108761        Reviewed by Dimitri Glazkov.
108762
108763        This notifies the chromium compositor of changes to the number of wheel event handlers via ScrollingCoordinator
108764        instead of through ChromeClient/WebViewImpl. This is the path we'll use for other properties in the future and
108765        is more extensible for handling things other than the root layer.
108766
108767        Property behavior is covered by new unit tests in LayerChromiumTests and CCLayerTreeHostImplTest.
108768
108769        * page/scrolling/ScrollingCoordinator.cpp:
108770        * page/scrolling/ScrollingCoordinator.h:
108771        (WebCore):
108772        (ScrollingCoordinator):
108773            Add a ScrollingCoordinatorPrivate so implementations can tack on additional data without having to #ifdef up
108774            ScrollingCoordinator.h/cpp
108775        * page/scrolling/ScrollingCoordinatorNone.cpp:
108776        (WebCore):
108777        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
108778        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
108779        (ScrollingCoordinatorPrivate):
108780            ScrollingCoordinatorPrivate in the chromium implementation keeps a reference to the scroll layer.
108781        (WebCore::ScrollingCoordinatorPrivate::ScrollingCoordinatorPrivate):
108782        (WebCore::ScrollingCoordinatorPrivate::~ScrollingCoordinatorPrivate):
108783        (WebCore::ScrollingCoordinatorPrivate::setScrollLayer):
108784        (WebCore::ScrollingCoordinatorPrivate::scrollLayer):
108785        (WebCore):
108786        (WebCore::ScrollingCoordinator::create):
108787        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
108788        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
108789        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
108790        (WebCore::ScrollingCoordinator::setScrollLayer):
108791        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
108792        (WebCore::ScrollingCoordinator::setScrollParameters):
108793        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
108794        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
108795        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
108796        (WebCore):
108797        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
108798        * platform/graphics/chromium/LayerChromium.cpp:
108799        (WebCore::LayerChromium::LayerChromium):
108800        (WebCore::LayerChromium::setHaveWheelEventHandlers):
108801        (WebCore):
108802        (WebCore::LayerChromium::pushPropertiesTo):
108803        * platform/graphics/chromium/LayerChromium.h:
108804        (LayerChromium):
108805        * platform/graphics/chromium/cc/CCInputHandler.h:
108806        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
108807        (WebCore::CCLayerImpl::CCLayerImpl):
108808        * platform/graphics/chromium/cc/CCLayerImpl.h:
108809        (WebCore::CCLayerImpl::haveWheelEventHandlers):
108810        (WebCore::CCLayerImpl::setHaveWheelEventHandlers):
108811        (CCLayerImpl):
108812        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
108813        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
108814        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
108815        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
108816        (CCLayerTreeHost):
108817        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
108818        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
108819        (WebCore::CCLayerTreeHostImpl::scrollBegin):
108820        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
108821        (CCLayerTreeHostImpl):
108822
1088232012-02-23  No'am Rosenthal  <noam.rosenthal@nokia.com>
108824
108825        [Qt][WK2] Clipping is broken
108826        https://bugs.webkit.org/show_bug.cgi?id=78677
108827
108828        Reviewed by Simon Hausmann.
108829
108830        Rework the clipping stack in TextureMapperGL.
108831        Instead of saving a stack of IntRect scissor clips, we save every clipping change in the
108832        stack, and reapply it when we end the clip. Popping the stack is almost free, since we
108833        don't reapply the stencil but simply change the stencil test index.
108834
108835        In addition, we don't use a special shader for clipping, and we don't apply clipping for
108836        masked children, since they're already clipped because they're rendered into an intermediate
108837        buffer.
108838
108839        This fixes exiting tests in LayoutTests/compositing/overflow.
108840        It also fixes asserts in the leaves demo, as well as asserts in nytimes.com and other sites.
108841
108842        * page/FrameView.cpp:
108843        (WebCore::FrameView::paintContents):
108844        * platform/graphics/texmap/TextureMapperGL.cpp:
108845        (ClipState):
108846        (WebCore::TextureMapperGLData::SharedGLData::ClipState::ClipState):
108847        (SharedGLData):
108848        (WebCore::TextureMapperGLData::SharedGLData::pushClipState):
108849        (WebCore::TextureMapperGLData::SharedGLData::popClipState):
108850        (WebCore::TextureMapperGLData::SharedGLData::scissorClip):
108851        (WebCore::TextureMapperGLData::SharedGLData::applyCurrentClip):
108852        (TextureMapperGLData):
108853        (BitmapTextureGL):
108854        (WebCore::TextureMapperGLData::initStencil):
108855        (WebCore):
108856        (WebCore::TextureMapperGL::beginPainting):
108857        (WebCore::TextureMapperGL::endPainting):
108858        (WebCore::TextureMapperGL::drawTexture):
108859        (WebCore::BitmapTextureGL::initStencil):
108860        (WebCore::BitmapTextureGL::bind):
108861        (WebCore::BitmapTextureGL::destroy):
108862        (WebCore::TextureMapperGL::bindSurface):
108863        (WebCore::TextureMapperGL::beginScissorClip):
108864        (WebCore::TextureMapperGL::beginClip):
108865        (WebCore::TextureMapperGL::endClip):
108866        * platform/graphics/texmap/TextureMapperLayer.cpp:
108867        (WebCore::TextureMapperLayer::paintSelfAndChildren):
108868        * platform/graphics/texmap/TextureMapperShaderManager.cpp:
108869        * platform/graphics/texmap/TextureMapperShaderManager.h:
108870
1088712012-02-23  Sheriff Bot  <webkit.review.bot@gmail.com>
108872
108873        Unreviewed, rolling out r108685.
108874        http://trac.webkit.org/changeset/108685
108875        https://bugs.webkit.org/show_bug.cgi?id=79414
108876
108877        Broke Chromium builds (Requested by enne on #webkit).
108878
108879        * Target.pri:
108880        * WebCore.pri:
108881        * platform/MIMETypeRegistry.cpp:
108882        (WebCore::initializeSupportedImageMIMETypes):
108883        (WebCore::initializeSupportedImageMIMETypesForEncoding):
108884        * platform/image-decoders/ImageDecoder.h:
108885        (WebCore::ImageFrame::getAddr):
108886        (ImageFrame):
108887        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
108888        * platform/image-decoders/png/PNGImageDecoder.cpp:
108889        (WebCore):
108890        * platform/image-decoders/qt/ImageFrameQt.cpp:
108891
1088922012-02-23  Koji Ishii  <kojiishi@gmail.com>
108893
108894        CSS2:text-decoration: <rt> element should not inherit text-decoration property
108895        https://bugs.webkit.org/show_bug.cgi?id=71266
108896
108897        Reviewed by Kentaro Hara.
108898
108899        Tests: fast/ruby/text-decoration-in-descendants-ruby-expected.html
108900               fast/ruby/text-decoration-in-descendants-ruby.html
108901
108902        The spec says "text decorations are not propagated to any out-of-flow descendants":
108903        http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
108904        Floats etc. are fixed in bug 18611, but <rt> is not inline either and therefore
108905        it should be included; it was confirmed at a discussion at www-style.
108906        http://lists.w3.org/Archives/Public/www-style/2011Sep/0238.html
108907
108908        * rendering/RenderObject.cpp:
108909        (WebCore::RenderObject::getTextDecorationColors):
108910
1089112012-02-23  Zoltan Horvath  <zoltan@webkit.org>
108912
108913        [Qt] Allow to use WebCore imagedecoders
108914        https://bugs.webkit.org/show_bug.cgi?id=32410
108915
108916        Add ENABLE(QT_IMAGE_DECODER) guards around Qt imagedecoders and set it to default.
108917        By passing ENABLE_QT_IMAGE_DECODER=0 define to the build system WebKit will build
108918        with WebCore's imagedecoders.
108919
108920        I added NO_RETURN attribute to 2 functions of PNG and JPEG decoders to avoid compiler warnings
108921        because in Qt-port we treat warning as errors (-Werror).
108922
108923        I'm continuing the refactoring of this area and try to use Qt imagedecoders only in 
108924        cases when WebCore doesn't support the image format.
108925
108926        Reviewed by Simon Hausmann.
108927
108928        No behavior change, no need new tests.
108929
108930        * Target.pri:
108931        * WebCore.pri:
108932        * platform/MIMETypeRegistry.cpp:
108933        (WebCore::initializeSupportedImageMIMETypes):
108934        (WebCore::initializeSupportedImageMIMETypesForEncoding):
108935        * platform/image-decoders/ImageDecoder.h:
108936        (WebCore::ImageFrame::getAddr):
108937        (ImageFrame):
108938        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
108939        NO_RETURN has been added to a function to avoid warning message.
108940        * platform/image-decoders/png/PNGImageDecoder.cpp:
108941        NO_RETURN has been added to a function to avoid warning message.
108942        (WebCore):
108943        * platform/image-decoders/qt/ImageFrameQt.cpp:
108944        (WebCore):
108945        (WebCore::ImageFrame::asNewNativeImage):
108946
1089472012-02-23  Dana Jansens  <danakj@chromium.org>
108948
108949        [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
108950        https://bugs.webkit.org/show_bug.cgi?id=75864
108951
108952        Reviewed by James Robinson.
108953
108954        * platform/graphics/chromium/cc/CCLayerIterator.cpp:
108955        (WebCore::CCLayerIteratorActions::BackToFront::begin):
108956        (WebCore::CCLayerIteratorActions::BackToFront::end):
108957        (WebCore::CCLayerIteratorActions::BackToFront::next):
108958        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
108959        (WebCore::CCLayerIteratorActions::FrontToBack::end):
108960        (WebCore::CCLayerIteratorActions::FrontToBack::next):
108961        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
108962        * platform/graphics/chromium/cc/CCLayerIterator.h:
108963        (WebCore::CCLayerIterator::CCLayerIterator):
108964        (WebCore::CCLayerIterator::operator++):
108965        (WebCore::CCLayerIterator::operator==):
108966        (WebCore::CCLayerIterator::operator->):
108967        (WebCore::CCLayerIterator::operator*):
108968        (WebCore::CCLayerIterator::representsTargetRenderSurface):
108969        (WebCore::CCLayerIterator::representsContributingRenderSurface):
108970        (WebCore::CCLayerIterator::currentLayer):
108971        (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
108972        (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
108973        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
108974        (WebCore::CCLayerIterator::targetRenderSurface):
108975        (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
108976        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
108977
1089782012-02-23  Daniel Sievers  <sievers@chromium.org>
108979
108980        [Chromium] Add video stream texture support
108981        https://bugs.webkit.org/show_bug.cgi?id=78398
108982
108983        This upstreams the abstraction used on Android for
108984        hardware video decoding with the compositor.
108985
108986        Most of the interfaces are kept generic and the core
108987        of this change is to allow texturing from an external
108988        texture while receiving notifications (on the compositor
108989        thread if we are running it) when there are new frames to
108990        be displayed.
108991
108992        Reviewed by James Robinson.
108993
108994        * platform/graphics/chromium/Extensions3DChromium.h:
108995        * platform/graphics/chromium/LayerRendererChromium.cpp:
108996        (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
108997        (WebCore::LayerRendererChromium::drawRGBA):
108998        (WebCore::LayerRendererChromium::drawNativeTexture):
108999        (WebCore):
109000        (WebCore::LayerRendererChromium::drawStreamTexture):
109001        (WebCore::LayerRendererChromium::drawVideoQuad):
109002        (WebCore::LayerRendererChromium::streamTextureLayerProgram):
109003        (WebCore::LayerRendererChromium::cleanupSharedObjects):
109004        * platform/graphics/chromium/LayerRendererChromium.h:
109005        (LayerRendererChromium):
109006        * platform/graphics/chromium/ShaderChromium.cpp:
109007        (WebCore::VertexShaderVideoTransform::VertexShaderVideoTransform):
109008        (WebCore):
109009        (WebCore::VertexShaderVideoTransform::init):
109010        (WebCore::VertexShaderVideoTransform::getShaderString):
109011        (WebCore::FragmentShaderOESImageExternal::init):
109012        (WebCore::FragmentShaderOESImageExternal::getShaderString):
109013        * platform/graphics/chromium/ShaderChromium.h:
109014        (VertexShaderVideoTransform):
109015        (WebCore::VertexShaderVideoTransform::matrixLocation):
109016        (WebCore::VertexShaderVideoTransform::texTransformLocation):
109017        (WebCore::VertexShaderVideoTransform::texMatrixLocation):
109018        (WebCore):
109019        (FragmentShaderOESImageExternal):
109020        * platform/graphics/chromium/VideoFrameChromium.h:
109021        * platform/graphics/chromium/VideoFrameProvider.h:
109022        (Client):
109023        (VideoFrameProvider):
109024        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
109025        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
109026        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
109027        (WebCore::CCVideoDrawQuad::matrix):
109028        (CCVideoDrawQuad):
109029        (WebCore::CCVideoDrawQuad::setMatrix):
109030        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
109031        (WebCore):
109032        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
109033        (WebCore::convertVFCFormatToGC3DFormat):
109034        (WebCore::CCVideoLayerImpl::appendQuads):
109035        (WebCore::CCVideoLayerImpl::didReceiveFrame):
109036        (WebCore::CCVideoLayerImpl::didUpdateMatrix):
109037        (WebCore::CCVideoLayerImpl::setNeedsRedraw):
109038        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
109039        (WebCore):
109040        (CCVideoLayerImpl):
109041
1090422012-02-23  Stephen White  <senorblanco@chromium.org>
109043
109044        [chromium] Implement drop-shadow() CSS filter on composited layers.
109045        https://bugs.webkit.org/show_bug.cgi?id=79386
109046
109047        Reviewed by James Robinson.
109048
109049        Covered by css3/filters/effect-drop-shadow-hw.html
109050
109051        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
109052        (WebCore::CCRenderSurfaceFilters::apply):
109053        * platform/graphics/filters/FilterOperation.h:
109054        (WebCore::DropShadowFilterOperation::movesPixels):
109055
1090562012-02-23  Erik Arvidsson  <arv@chromium.org>
109057
109058        Add support for InterfaceName in the bindings
109059        https://bugs.webkit.org/show_bug.cgi?id=79384
109060
109061        Reviewed by Adam Barth.
109062
109063        This makes the interface name part of the idl file instead of being hard coded into the code generators.
109064
109065        * bindings/scripts/CodeGenerator.pm:
109066        (GetVisibleInterfaceName): Extracted from CodeGenerator{JS,V8}.pm and changed to look at the extended attribute.
109067        * bindings/scripts/CodeGeneratorJS.pm:
109068        (GenerateImplementation):
109069        (GenerateConstructorDefinition):
109070        * bindings/scripts/CodeGeneratorV8.pm:
109071        (GenerateImplementation):
109072        * bindings/scripts/IDLAttributes.txt:
109073        * bindings/scripts/test/JS/JSTestObj.cpp:
109074        (WebCore):
109075        * bindings/scripts/test/TestObj.idl:
109076        * bindings/scripts/test/V8/V8TestObj.cpp:
109077        (WebCore::ConfigureV8TestObjTemplate):
109078        * dom/DOMCoreException.idl: Set the InterfaceName.
109079        * html/DOMFormData.idl: Ditto.
109080        * plugins/DOMMimeType.idl: Ditto.
109081        * plugins/DOMMimeTypeArray.idl: Ditto.
109082        * plugins/DOMPlugin.idl: Ditto.
109083        * plugins/DOMPluginArray.idl: Ditto.
109084
1090852012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
109086
109087        REGRESSION(r99076): WebKit pastes the trailing newline into a single-line text field
109088        https://bugs.webkit.org/show_bug.cgi?id=79305
109089
109090        Reviewed by Tony Chang.
109091
109092        The bug was caused by ReplacementFragment::m_hasInterchangeNewlineAtEnd not reset even when
109093        text field's beforeTextInserted event handler removed interchange new lines at the end.
109094        Because the event handler is responsible for trimming new lines, we need to recompute the values
109095        for m_hasInterchangeNewlineAt* after the event dispatch.
109096
109097        Test: editing/input/paste-text-ending-with-interchange-newline.html
109098
109099        * editing/ReplaceSelectionCommand.cpp:
109100        (WebCore::ReplacementFragment::ReplacementFragment):
109101
1091022012-02-23  Andreas Kling  <awesomekling@apple.com>
109103
109104        Make use of StylePropertySet::setProperty(propertyID, CSSValue).
109105        <http://webkit.org/b/79374>
109106
109107        Reviewed by Antti Koivisto.
109108
109109        Use the new setProperty() overload that takes a CSSValue in more places. This allows us
109110        to get rid of 1/3 setProperty() overloads that don't expand shorthands.
109111
109112        * css/StylePropertySet.h:
109113        * css/StylePropertySet.cpp:
109114
109115            Remove the setProperty() overload for specific primitive value types. StyledElement
109116            can take care of this without help from StylePropertySet.
109117
109118        * dom/StyledElement.h:
109119        * dom/StyledElement.cpp:
109120        (WebCore::StyledElement::setInlineStyleProperty):
109121        (WebCore::StyledElement::addPropertyToAttributeStyle):
109122
109123            Switch some functions over to using the setProperty() overload that takes a CSSValue.
109124
109125        * html/HTMLElement.cpp:
109126        (WebCore::HTMLElement::applyBorderAttributeToStyle):
109127        * html/HTMLHRElement.cpp:
109128        (WebCore::HTMLHRElement::collectStyleForAttribute):
109129        * html/HTMLTableElement.cpp:
109130        (WebCore::HTMLTableElement::collectStyleForAttribute):
109131        * html/HTMLTablePartElement.cpp:
109132        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
109133
109134            Use shorthands where possible to shrink the code a bit. Pass border widths as CSS_PX
109135            values directly instead of making a CSSParser round-trip.
109136
1091372012-02-23  Kevin Ollivier  <kevino@theolliviers.com>
109138
109139        [wx] Build fix, use the strings in LocalizedStrings.cpp.
109140
109141        * platform/wx/LocalizedStringsWx.cpp:
109142        (WebCore::localizedString):
109143        (WebCore):
109144
1091452012-02-23  Alok Priyadarshi  <alokp@chromium.org>
109146
109147        Microsoft IE fishtank demo causes assertion in RenderLayer::convertToLayerCoords
109148        https://bugs.webkit.org/show_bug.cgi?id=61964
109149
109150        Reviewed by James Robinson.
109151        
109152        The assertion is caused with the following callstack:
109153        WebCore::RenderLayer::convertToLayerCoords
109154        WebCore::RenderLayerCompositor::layerWillBeRemoved
109155        WebCore::RenderLayer::removeChild
109156        WebCore::RenderLayer::removeOnlyThisLayer
109157        
109158        WebCore::RenderLayer::removeOnlyThisLayer removes itself from the parent
109159        before moving its children to its parent. When WebCore::RenderLayer::convertToLayerCoords
109160        is called for one of the children, it tries to walk to root only to stop at the immediate
109161        parent which was disconnected from the tree in WebCore::RenderLayer::removeOnlyThisLayer.
109162        If removal of layer is delayed until the children has been moved, the ASSERT is avoided.
109163
109164        * rendering/RenderLayer.cpp:
109165        (WebCore::RenderLayer::removeOnlyThisLayer):
109166
1091672012-02-23  Matthew Delaney  <mdelaney@apple.com>
109168
109169        Fix for canvas breakage caused by r108597 from the following:
109170        https://bugs.webkit.org/show_bug.cgi?id=79317
109171
109172        Reviewed by Oliver Hunt.
109173
109174        * html/HTMLCanvasElement.cpp:
109175        (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
109176
1091772012-02-23  Pavel Feldman  <pfeldman@chromium.org>
109178
109179        Web Inspector: mad Redo to Cmd+Shift+Z, not Cmd+Y on a Mac.
109180        https://bugs.webkit.org/show_bug.cgi?id=79341
109181
109182        Reviewed by Timothy Hatcher.
109183
109184        * inspector/front-end/ElementsPanel.js:
109185        (WebInspector.ElementsPanel.prototype.handleShortcut):
109186
1091872012-02-23  Ryosuke Niwa  <rniwa@webkit.org>
109188
109189        Mac build fix after 108629.
109190
109191        * WebCore.exp.in:
109192
1091932012-02-23  Tom Sepez  <tsepez@chromium.org>
109194
109195        [chromium] XSS Auditor bypass via javascript url and control characters
109196        https://bugs.webkit.org/show_bug.cgi?id=79154
109197
109198        Reviewed by Adam Barth.
109199
109200        Test: http/tests/security/xssAuditor/javascript-link-control-char2.html
109201
109202        * html/parser/XSSAuditor.cpp:
109203        (WebCore):
109204        (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
109205
1092062012-02-23  Patrick Gansterer  <paroga@webkit.org>
109207
109208        [CMake] Add WEBKIT_INCLUDE_CONFIG_FILES_IF_EXISTS macro
109209        https://bugs.webkit.org/show_bug.cgi?id=79371
109210
109211        Reviewed by Daniel Bates.
109212
109213        * CMakeLists.txt:
109214
1092152012-02-23  Julien Chaffraix  <jchaffraix@webkit.org>
109216
109217        Cleanup RenderBlock::moveChildrenTo
109218        https://bugs.webkit.org/show_bug.cgi?id=79319
109219
109220        Reviewed by Eric Seidel.
109221
109222        Refactoring, no change in behavior expected.
109223
109224        * rendering/RenderBlock.cpp:
109225        (WebCore::RenderBlock::moveChildrenTo):
109226        Removed inline check that was redundant, switched to |while| to a |for|
109227        to show what's going on more closely and adds a call to moveChildTo to
109228        share more code between the 2 functions.
109229
1092302012-02-23  Simon Hausmann  <simon.hausmann@nokia.com>
109231
109232        [Qt] Add support for touch cancellation
109233        https://bugs.webkit.org/show_bug.cgi?id=79348
109234
109235        Reviewed by Kenneth Rohde Christiansen.
109236
109237        Map Qt touch cancel events to the WebCore equivalent.
109238
109239        No new tests, unskipped existing test for Qt 5.
109240
109241        * platform/PlatformTouchPoint.h:
109242        (PlatformTouchPoint):
109243        * platform/qt/PlatformTouchEventQt.cpp:
109244        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
109245        * platform/qt/PlatformTouchPointQt.cpp:
109246        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
109247
1092482012-02-23  Erik Arvidsson  <arv@chromium.org>
109249
109250        Unreviewed. Rebaseline binding test files.
109251
109252        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp:
109253        (webkit_dom_test_interface_supplemental_method1):
109254        (webkit_dom_test_interface_supplemental_method2):
109255        (webkit_dom_test_interface_get_supplemental_str1):
109256        (webkit_dom_test_interface_get_supplemental_str2):
109257        (webkit_dom_test_interface_set_supplemental_str2):
109258        (webkit_dom_test_interface_get_supplemental_node):
109259        (webkit_dom_test_interface_set_supplemental_node):
109260        (webkit_dom_test_interface_set_property):
109261        (webkit_dom_test_interface_get_property):
109262
1092632012-02-23  Anders Carlsson  <andersca@apple.com>
109264
109265        Crash in ScrollElasticityController::snapRubberBandTimerFired()
109266        https://bugs.webkit.org/show_bug.cgi?id=79372
109267        <rdar://problem/10915193>
109268
109269        Reviewed by Andreas Kling.
109270
109271        Invalidate the rubber-band timer in the ScrollingTreeNodeMac destructor.
109272
109273        * page/scrolling/mac/ScrollingTreeNodeMac.h:
109274        (ScrollingTreeNodeMac):
109275        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
109276        (WebCore::ScrollingTreeNodeMac::~ScrollingTreeNodeMac):
109277        (WebCore):
109278
1092792012-02-23  Pavel Feldman  <pfeldman@chromium.org>
109280
109281        Web Inspector: add experiment that loads stylesheets as links
109282        https://bugs.webkit.org/show_bug.cgi?id=79340
109283
109284        Reviewed by Timothy Hatcher.
109285
109286        * inspector/front-end/Settings.js:
109287        (WebInspector.ExperimentsSettings):
109288        * inspector/front-end/View.js:
109289        (WebInspector.View.prototype._doLoadCSS):
109290
1092912012-02-23  Adam Roben  <aroben@apple.com>
109292
109293        Mac build fix after r108615
109294
109295        * WebCore.exp.in: Added a missing export.
109296
1092972012-02-23  Adam Barth  <abarth@webkit.org>
109298
109299        Move MediaStream related declarations from DOMWindow to DOMWindowMediaStream
109300        https://bugs.webkit.org/show_bug.cgi?id=79343
109301
109302        Reviewed by Eric Seidel.
109303
109304        These declarations belong in the MEDIA_STREAM module.
109305
109306        * GNUmakefile.list.am:
109307        * WebCore.gypi:
109308        * mediastream/DOMWindowMediaStream.idl: Added.
109309        * page/DOMWindow.idl:
109310
1093112012-02-22  Igor Oliveira  <igor.o@sisa.samsung.com>
109312
109313        Every call to RenderObject::setAnimatableStyle() iterates through all m_compositeAnimations: potentially O(N^2)
109314        https://bugs.webkit.org/show_bug.cgi?id=38025
109315
109316        This patchs implements updateAnimationTimerForRenderer, it just checks the timeToNextService for
109317        the current RenderObject reducing the amount of iterations.
109318
109319        Reviewed by Simon Fraser.
109320
109321        * page/animation/AnimationController.cpp:
109322        (WebCore):
109323        (WebCore::AnimationControllerPrivate::updateAnimationTimerForRenderer):
109324        (WebCore::AnimationController::updateAnimations):
109325        * page/animation/AnimationControllerPrivate.h:
109326        (AnimationControllerPrivate):
109327
1093282012-02-22  Hajime Morrita  <morrita@chromium.org>
109329
109330        NOTIFICATIONS should be implemented as PageSupplement
109331        https://bugs.webkit.org/show_bug.cgi?id=79052
109332
109333        Reviewed by Adam Barth.
109334
109335        Turned NotificationController to a PageSupplement.
109336
109337        No new tests. No behavior change.
109338
109339        * notifications/NotificationController.cpp:
109340        (WebCore::NotificationController::clientFrom):
109341        (WebCore):
109342        (WebCore::NotificationController::supplementName):
109343        (WebCore::provideNotification):
109344        * notifications/NotificationController.h:
109345        (NotificationController):
109346        (WebCore::NotificationController::from):
109347        * notifications/NotificationPresenter.h:
109348        (WebCore):
109349        * page/DOMWindow.cpp:
109350        (WebCore::DOMWindow::webkitNotifications):
109351        * page/Page.cpp:
109352        (WebCore::Page::Page):
109353        (WebCore::Page::PageClients::PageClients):
109354        * page/Page.h:
109355        (WebCore):
109356        (PageClients):
109357        (Page):
109358
1093592012-02-22  Dmitry Lomov  <dslomov@google.com>
109360
109361        [Chromium][V8] Support Uint8ClampedArray in postMessage
109362        https://bugs.webkit.org/show_bug.cgi?id=79291.
109363
109364        Reviewed by Kenneth Russell.
109365
109366        Covered by existing tests.
109367
109368        * bindings/v8/SerializedScriptValue.cpp:
109369
1093702012-02-22  Kentaro Hara  <haraken@chromium.org>
109371
109372        Enable Geolocation bindings for GObject
109373        https://bugs.webkit.org/show_bug.cgi?id=79293
109374
109375        Reviewed by Adam Barth.
109376
109377        This patch adds "WebCore::" to supplemental method calls.
109378        This will solve the GTK build failure we have observed in the Geolocation API,
109379        and thus this patch enables the Geolocation API.
109380
109381        * Modules/geolocation/NavigatorGeolocation.idl:
109382        * bindings/scripts/CodeGeneratorGObject.pm:
109383        (GenerateProperty):
109384        (GenerateFunction):
109385
1093862012-02-22  MORITA Hajime  <morrita@google.com>
109387
109388        [Refactoring] Align supplementName() values.
109389        https://bugs.webkit.org/show_bug.cgi?id=79311
109390
109391        Reviewed by Adam Barth.
109392
109393        No new tests. No behavioral change.
109394
109395        * dom/DeviceOrientationController.cpp:
109396        (WebCore::DeviceOrientationController::supplementName):
109397        * mediastream/UserMediaController.cpp:
109398        (WebCore::UserMediaController::supplementName):
109399
1094002012-02-22  Yuta Kitamura  <yutak@chromium.org>
109401
109402        Unreviewed, rolling out r108602.
109403        http://trac.webkit.org/changeset/108602
109404        https://bugs.webkit.org/show_bug.cgi?id=78878
109405
109406        Caused a couple of layout test failures on Chromium bots.
109407
109408        * dom/Element.cpp:
109409        (WebCore::Element::childShouldCreateRenderer):
109410        * dom/Element.h:
109411        (Element):
109412        * dom/Node.h:
109413        (WebCore::Node::childShouldCreateRenderer):
109414        * dom/NodeRenderingContext.cpp:
109415        (WebCore::NodeRenderingContext::shouldCreateRenderer):
109416        * dom/NodeRenderingContext.h:
109417        (NodeRenderingContext):
109418        * html/HTMLDetailsElement.cpp:
109419        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
109420        * html/HTMLDetailsElement.h:
109421        (HTMLDetailsElement):
109422        * html/HTMLMediaElement.cpp:
109423        (WebCore):
109424        * html/HTMLMediaElement.h:
109425        (HTMLMediaElement):
109426        * html/HTMLMeterElement.cpp:
109427        * html/HTMLMeterElement.h:
109428        (HTMLMeterElement):
109429        * html/HTMLProgressElement.cpp:
109430        * html/HTMLProgressElement.h:
109431        (HTMLProgressElement):
109432        * html/HTMLSelectElement.cpp:
109433        * html/HTMLSelectElement.h:
109434        (HTMLSelectElement):
109435        * html/HTMLSummaryElement.cpp:
109436        * html/HTMLSummaryElement.h:
109437        (HTMLSummaryElement):
109438        * html/HTMLTextFormControlElement.cpp:
109439        * html/HTMLTextFormControlElement.h:
109440        (HTMLTextFormControlElement):
109441        * rendering/RenderButton.cpp:
109442        (WebCore::RenderButton::canHaveChildren):
109443        (WebCore):
109444        * rendering/RenderButton.h:
109445        (RenderButton):
109446        * rendering/RenderListBox.h:
109447        (WebCore::RenderListBox::canHaveChildren):
109448        (RenderListBox):
109449        * rendering/RenderMedia.h:
109450        * rendering/RenderMenuList.h:
109451        (WebCore::RenderMenuList::canHaveChildren):
109452        * rendering/RenderMeter.h:
109453        (WebCore::RenderMeter::canHaveChildren):
109454        * rendering/RenderProgress.h:
109455        (WebCore::RenderProgress::canHaveChildren):
109456        * rendering/RenderTextControl.h:
109457        (WebCore::RenderTextControl::canHaveChildren):
109458        * rendering/svg/RenderSVGRoot.h:
109459        (WebCore::RenderSVGRoot::canHaveChildren):
109460        * svg/SVGAElement.cpp:
109461        (WebCore::SVGAElement::childShouldCreateRenderer):
109462        * svg/SVGAElement.h:
109463        (SVGAElement):
109464        * svg/SVGAltGlyphElement.cpp:
109465        (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
109466        * svg/SVGAltGlyphElement.h:
109467        (SVGAltGlyphElement):
109468        * svg/SVGDocument.cpp:
109469        (WebCore::SVGDocument::childShouldCreateRenderer):
109470        * svg/SVGDocument.h:
109471        (SVGDocument):
109472        * svg/SVGElement.cpp:
109473        (WebCore::SVGElement::childShouldCreateRenderer):
109474        * svg/SVGElement.h:
109475        (SVGElement):
109476        * svg/SVGForeignObjectElement.cpp:
109477        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
109478        * svg/SVGForeignObjectElement.h:
109479        (SVGForeignObjectElement):
109480        * svg/SVGSwitchElement.cpp:
109481        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
109482        * svg/SVGSwitchElement.h:
109483        (SVGSwitchElement):
109484        * svg/SVGTRefElement.cpp:
109485        (WebCore::SVGTRefElement::childShouldCreateRenderer):
109486        * svg/SVGTRefElement.h:
109487        (SVGTRefElement):
109488        * svg/SVGTSpanElement.cpp:
109489        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
109490        * svg/SVGTSpanElement.h:
109491        (SVGTSpanElement):
109492        * svg/SVGTextElement.cpp:
109493        (WebCore::SVGTextElement::childShouldCreateRenderer):
109494        * svg/SVGTextElement.h:
109495        (SVGTextElement):
109496        * svg/SVGTextPathElement.cpp:
109497        (WebCore::SVGTextPathElement::childShouldCreateRenderer):
109498        * svg/SVGTextPathElement.h:
109499
1095002012-02-22  Abhishek Arya  <inferno@chromium.org>
109501
109502        Crash in RenderBlock::addChildIgnoringAnonymousColumnBlocks.
109503        https://bugs.webkit.org/show_bug.cgi?id=79043
109504
109505        Reviewed by Julien Chaffraix.
109506
109507        Tests: fast/runin/runin-div-before-child.html
109508               fast/runin/runin-table-before-child.html
109509
109510        * rendering/RenderBlock.cpp:
109511        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): handle
109512        the case of run-in elements and strengthen code to handle cases where
109513        beforeChild is incorrectly set.
109514        * rendering/RenderObject.h: remove anonymousContainer function since
109515        the new logic in RenderBlock does not need it.
109516
1095172012-02-22  Hayato Ito  <hayato@chromium.org>
109518
109519        Make ShadowRootList manage a node distribution.
109520        https://bugs.webkit.org/show_bug.cgi?id=79008
109521
109522        Reviewed by Dimitri Glazkov.
109523
109524        The result of node distributions is currently stored in
109525        ShadowRoot. To support multiple ShadowRoots, such node distribution
109526        information should be managed in one place per shadow host. Now
109527        ShadowRootList takes this responsibility on behalf of owing
109528        multiple ShadowRoots. Clients should ask ShadowRootList for such
109529        information, not for each ShadowRoot.
109530
109531        No tests. No change in behavior.
109532
109533        * dom/NodeRenderingContext.cpp:
109534        (WebCore::NodeRenderingContext::NodeRenderingContext):
109535        * dom/ShadowRoot.cpp:
109536        (WebCore::ShadowRoot::create):
109537        (WebCore::ShadowRoot::attach):
109538        * dom/ShadowRoot.h:
109539        (ShadowRoot):
109540        * dom/ShadowRootList.cpp:
109541        (WebCore::ShadowRootList::insertionPointFor):
109542        (WebCore):
109543        (WebCore::ShadowRootList::isSelectorActive):
109544        (WebCore::ShadowRootList::ensureSelector):
109545        * dom/ShadowRootList.h:
109546        (WebCore):
109547        (ShadowRootList):
109548        (WebCore::ShadowRootList::hasShadowRoot):
109549        (WebCore::ShadowRootList::youngestShadowRoot):
109550        (WebCore::ShadowRootList::oldestShadowRoot):
109551        (WebCore::ShadowRootList::selector):
109552        (WebCore::ShadowRootList::host):
109553        * html/shadow/HTMLContentElement.cpp:
109554        (WebCore::HTMLContentElement::attach):
109555        (WebCore::HTMLContentElement::detach):
109556        * html/shadow/HTMLContentSelector.cpp:
109557        (WebCore::HTMLContentSelector::willSelectOver):
109558        * html/shadow/HTMLContentSelector.h:
109559        (HTMLContentSelector):
109560
1095612012-02-22  Wei James  <james.wei@intel.com>
109562
109563        Add multi channels support in AudioBus and AudioBufferSourceNode
109564        https://bugs.webkit.org/show_bug.cgi?id=79017
109565
109566        Reviewed by Chris Rogers.
109567
109568        Tests: webaudio/up-mixing-mono-51.html
109569               webaudio/up-mixing-mono-stereo.html
109570               webaudio/up-mixing-stereo-51.html
109571
109572        * platform/audio/AudioBus.cpp:
109573        (WebCore::AudioBus::copyFrom):
109574        (WebCore::AudioBus::sumFrom):
109575        (WebCore::AudioBus::processWithGainFromMonoStereo):
109576        (WebCore::AudioBus::processWithGainFrom):
109577
1095782012-02-22  Kentaro Hara  <haraken@chromium.org>
109579
109580        [Supplemental] should support constants
109581        https://bugs.webkit.org/show_bug.cgi?id=79303
109582
109583        Reviewed by Adam Barth.
109584
109585        Given that we have
109586
109587            interface [Supplemental=Y] X { constant int A = 123; }
109588
109589        then the code generator should generate
109590
109591            X::A
109592
109593        to refer to the constant. However, the current code generator generates Y::A instead.
109594        This patch fixes it.
109595
109596        Test: bindings/scripts/test/TestSupplemental.idl
109597
109598        * bindings/scripts/CodeGenerator.pm: Modified as described above.
109599        (GenerateCompileTimeCheckForEnumsIfNeeded):
109600
109601        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
109602        (WebCore):
109603        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
109604        (WebCore):
109605
109606        * page/DOMWindow.h: Moved DOMWindow::FileSystemType to DOMWindowFileSystem::FileSystemType.
109607        (DOMWindow):
109608        * fileapi/DOMWindowFileSystem.h: Ditto.
109609        (DOMWindowFileSystem):
109610        * fileapi/DOMWindowFileSystem.cpp: Ditto.
109611        (WebCore):
109612
1096132012-02-22  MORITA Hajime  <morrita@google.com>
109614
109615        Adding a ShadowRoot to image-backed element causes a crash
109616        https://bugs.webkit.org/show_bug.cgi?id=78878
109617
109618        Reviewed by Dimitri Glazkov.
109619
109620        The crash happened because NodeRenderingContext tried to append a
109621        child to a renderer regardless one isn't capable of holding any
109622        children if it appears in the shadow attaching phase. RenderImage
109623        is one of such renderer classes which aren't capable.
109624
109625        NodeRenderingContext decide whether the contextual node as a child
109626        can create its renderer based on RenderObject::canHaveChildren()
109627        and Node::childShouldCreateRenderer(). But the responsibility
109628        between these two methods are getting confused. which results this
109629        unfortuante crash path.
109630
109631        This change re-aligns the responsibility:
109632
109633        - Now canHaveChildren() purely declares the ability of the
109634          renderer. If the renderer is capable of having children, it
109635          return true regardless of HTML semantics.
109636
109637        - On the other hand, childShouldCreateRenderer() cares about the
109638          semantics. If the element doesn't allow children to be rendered,
109639          this returns false.
109640
109641        - Note that these decision on elements are contextual. Each element
109642          needs to know which role it is playing in the tree composition
109643          algorithm of Shadow DOM. That's why the method parameter is changed
109644          from Node* to NodeRenderingContext.
109645
109646        With this change, some decision points are moved from a renderer to an
109647        element. Following renderers no longer stop reject having children:
109648
109649        - RenderButton, RenderListBox, RenderMenuList, RenderMeter,
109650          RenderProgress, RenderTextControl.
109651
109652        Corresponding element for such a render (HTMLProgressElement of
109653        RenderProgress for exaple) now cares about that.
109654
109655        Tests: fast/dom/shadow/shadow-on-image-expected.html
109656        fast/dom/shadow/shadow-on-image.html
109657
109658        * dom/Element.cpp:
109659        (WebCore::Element::childShouldCreateRenderer):
109660        * dom/Element.h:
109661        (Element):
109662        * dom/Node.h:
109663        * dom/NodeRenderingContext.cpp:
109664        (WebCore::NodeRenderingContext::shouldCreateRenderer):
109665        * dom/NodeRenderingContext.h:
109666        (NodeRenderingContext):
109667        (WebCore::NodeRenderingContext::isOnEncapsulationBoundary):
109668        (WebCore):
109669        * html/HTMLDetailsElement.cpp:
109670        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
109671        * html/HTMLDetailsElement.h:
109672        (HTMLDetailsElement):
109673        * html/HTMLMeterElement.cpp:
109674        (WebCore::HTMLMeterElement::childShouldCreateRenderer):
109675        (WebCore):
109676        * html/HTMLMeterElement.h:
109677        (HTMLMeterElement):
109678        * html/HTMLProgressElement.cpp:
109679        (WebCore::HTMLProgressElement::childShouldCreateRenderer):
109680        * html/HTMLMediaElement.h:
109681        * html/HTMLMediaElement.cpp:
109682        (WebCore::HTMLMediaElement::childShouldCreateRenderer):
109683        (WebCore):
109684        * html/HTMLProgressElement.h:
109685        (HTMLProgressElement):
109686        * html/HTMLSelectElement.cpp:
109687        (WebCore::HTMLSelectElement::childShouldCreateRenderer):
109688        (WebCore):
109689        * html/HTMLSelectElement.h:
109690        (HTMLSelectElement):
109691        * html/HTMLSummaryElement.cpp:
109692        * html/HTMLSummaryElement.h:
109693        (HTMLSummaryElement):
109694        * html/HTMLTextFormControlElement.cpp:
109695        * html/HTMLTextFormControlElement.h:
109696        (HTMLTextFormControlElement):
109697        * rendering/RenderButton.cpp:
109698        * rendering/RenderButton.h:
109699        (RenderButton):
109700        * rendering/RenderListBox.h:
109701        (RenderListBox):
109702        * rendering/RenderMedia.h:
109703        (WebCore::RenderMedia::canHaveChildren):
109704        * rendering/RenderMenuList.h:
109705        * rendering/RenderMeter.h:
109706        * rendering/RenderProgress.h:
109707        * rendering/RenderTextControl.h:
109708        * rendering/svg/RenderSVGRoot.h:
109709        * svg/SVGAElement.cpp:
109710        (WebCore::SVGAElement::childShouldCreateRenderer):
109711        * svg/SVGAElement.h:
109712        (SVGAElement):
109713        * svg/SVGAltGlyphElement.cpp:
109714        (WebCore::SVGAltGlyphElement::childShouldCreateRenderer):
109715        * svg/SVGAltGlyphElement.h:
109716        (SVGAltGlyphElement):
109717        * svg/SVGDocument.cpp:
109718        (WebCore::SVGDocument::childShouldCreateRenderer):
109719        * svg/SVGDocument.h:
109720        (SVGDocument):
109721        * svg/SVGElement.cpp:
109722        (WebCore::SVGElement::childShouldCreateRenderer):
109723        * svg/SVGElement.h:
109724        (SVGElement):
109725        * svg/SVGForeignObjectElement.cpp:
109726        (WebCore::SVGForeignObjectElement::childShouldCreateRenderer):
109727        * svg/SVGForeignObjectElement.h:
109728        (SVGForeignObjectElement):
109729        * svg/SVGSwitchElement.cpp:
109730        (WebCore::SVGSwitchElement::childShouldCreateRenderer):
109731        * svg/SVGSwitchElement.h:
109732        (SVGSwitchElement):
109733        * svg/SVGTRefElement.cpp:
109734        (WebCore::SVGTRefElement::childShouldCreateRenderer):
109735        * svg/SVGTRefElement.h:
109736        (SVGTRefElement):
109737        * svg/SVGTSpanElement.cpp:
109738        (WebCore::SVGTSpanElement::childShouldCreateRenderer):
109739        * svg/SVGTSpanElement.h:
109740        (SVGTSpanElement):
109741        * svg/SVGTextElement.cpp:
109742        (WebCore::SVGTextElement::childShouldCreateRenderer):
109743        * svg/SVGTextElement.h:
109744        (SVGTextElement):
109745        * svg/SVGTextPathElement.cpp:
109746        (WebCore::SVGTextPathElement::childShouldCreateRenderer):
109747        * svg/SVGTextPathElement.h:
109748
1097492012-02-22  Yong Li  <yoli@rim.com>
109750
109751        [BlackBerry] NetworkJob can access deleted objects.
109752        https://bugs.webkit.org/show_bug.cgi?id=79246
109753
109754        Reviewed by Antonio Gomes.
109755
109756        When a NetworkJob is created by unload handler, we still need
109757        to send the request to the server, but we shouldn't save and
109758        keep using the Frame pointer because the frame is being detached.
109759        The NetworkJob will be cancelled by PingLoader as soon as it gets
109760        first response from host.
109761        Also see https://bugs.webkit.org/show_bug.cgi?id=30457.
109762
109763        No new tests because existing test case is good enough like
109764        LayoutTests/http/tests/navigation/image-load-in-unload-handler.html.
109765
109766        * platform/network/blackberry/NetworkJob.cpp:
109767        (WebCore::NetworkJob::NetworkJob):
109768        (WebCore::NetworkJob::initialize):
109769
1097702012-02-22  Kenichi Ishibashi  <bashi@chromium.org>
109771
109772        [WebSocket] Remove zlib.h from WebSocketDeflater.h
109773        https://bugs.webkit.org/show_bug.cgi?id=79298
109774
109775        Use forward declaration and OwnPtr for z_stream to move zlib.h from
109776        .h file to .cpp file.
109777
109778        Reviewed by Kent Tamura.
109779
109780        No new tests. No behavior change.
109781
109782        * websockets/WebSocketDeflater.cpp:
109783        (WebCore::WebSocketDeflater::WebSocketDeflater):
109784        (WebCore::WebSocketDeflater::initialize):
109785        (WebCore::WebSocketDeflater::~WebSocketDeflater):
109786        (WebCore::setStreamParameter):
109787        (WebCore::WebSocketDeflater::addBytes):
109788        (WebCore::WebSocketDeflater::finish):
109789        (WebCore::WebSocketDeflater::reset):
109790        (WebCore::WebSocketInflater::WebSocketInflater):
109791        (WebCore::WebSocketInflater::initialize):
109792        (WebCore::WebSocketInflater::~WebSocketInflater):
109793        (WebCore::WebSocketInflater::addBytes):
109794        (WebCore::WebSocketInflater::finish):
109795        * websockets/WebSocketDeflater.h:
109796        (WebSocketDeflater): Use OwnPtr for m_stream.
109797        (WebSocketInflater): Ditto.
109798
1097992012-02-22  James Robinson  <jamesr@chromium.org>
109800
109801        Remove GraphicsContext3D::paintsIntoCanvasBuffer and unify WebGL and canvas 2d logic
109802        https://bugs.webkit.org/show_bug.cgi?id=79317
109803
109804        Reviewed by Kenneth Russell.
109805
109806        HTMLCanvasElement::paint needs to know whether to attempt to paint the canvas buffer for its context. In the
109807        case of an accelerated canvas or WebGL context, unless we are printing it is typically the composited layer's
109808        responsibility to present the contents and the element itself is only responsible for backgrounds, borders and
109809        the like.  This removes a rather indirect path that WebGL content used to take to accomplish this and unifies
109810        the logic with CanvasRenderingContext2D's, which has the exact same needs.
109811
109812        Covered by existing canvas layout tests.
109813
109814        * html/HTMLCanvasElement.cpp:
109815        (WebCore::HTMLCanvasElement::paintsIntoCanvasBuffer):
109816        (WebCore):
109817        (WebCore::HTMLCanvasElement::paint):
109818        * html/HTMLCanvasElement.h:
109819        (HTMLCanvasElement):
109820        * html/canvas/CanvasRenderingContext.h:
109821        * html/canvas/CanvasRenderingContext2D.cpp:
109822        * html/canvas/CanvasRenderingContext2D.h:
109823        * html/canvas/WebGLRenderingContext.cpp:
109824        (WebCore):
109825        * html/canvas/WebGLRenderingContext.h:
109826        * platform/graphics/GraphicsContext3D.h:
109827
1098282012-02-22  Pablo Flouret  <pablof@motorola.com>
109829
109830        PopStateEvent.state should use the same object as history.state
109831        https://bugs.webkit.org/show_bug.cgi?id=77493
109832
109833        Reviewed by Kentaro Hara.
109834
109835        Tests: fast/loader/stateobjects/state-attribute-history-getter.html
109836               fast/loader/stateobjects/state-attribute-popstate-event.html
109837
109838        * bindings/js/JSPopStateEventCustom.cpp:
109839        (WebCore):
109840        (WebCore::cacheState):
109841        (WebCore::JSPopStateEvent::state):
109842        * bindings/v8/V8HiddenPropertyName.h:
109843        (WebCore):
109844        * bindings/v8/custom/V8HistoryCustom.cpp:
109845        (WebCore::V8History::stateAccessorGetter):
109846        (WebCore::V8History::pushStateCallback):
109847        (WebCore::V8History::replaceStateCallback):
109848        * bindings/v8/custom/V8PopStateEventCustom.cpp:
109849        (WebCore):
109850        (WebCore::cacheState):
109851        (WebCore::V8PopStateEvent::stateAccessorGetter):
109852        * dom/Document.cpp:
109853        (WebCore::Document::enqueuePopstateEvent):
109854        * dom/PopStateEvent.cpp:
109855        (WebCore::PopStateEvent::PopStateEvent):
109856        (WebCore::PopStateEvent::create):
109857        * dom/PopStateEvent.h:
109858        (WebCore):
109859        (PopStateEvent):
109860        (WebCore::PopStateEvent::history):
109861        * dom/PopStateEvent.idl:
109862        * page/History.cpp:
109863        (WebCore::History::stateChanged):
109864        (WebCore):
109865        (WebCore::History::isSameAsCurrentState):
109866        * page/History.h:
109867        (History):
109868
1098692012-02-22  Adam Klein  <adamk@chromium.org>
109870
109871        Remove obsolete FIXMEs from ContainerNode
109872        https://bugs.webkit.org/show_bug.cgi?id=79295
109873
109874        Reviewed by Ryosuke Niwa.
109875
109876        Each of these three identical FIXMEs has since been fixed by adding
109877        "RefPtr<Node> protect(this)" at the top of each method.
109878
109879        * dom/ContainerNode.cpp:
109880        (WebCore::ContainerNode::insertBefore):
109881        (WebCore::ContainerNode::replaceChild):
109882        (WebCore::ContainerNode::removeChild):
1098832012-02-22  Dmitry Lomov  <dslomov@google.com>
109884
109885        [JSC] Implement ArrayBuffer and typed array cloning in JSC
109886        https://bugs.webkit.org/show_bug.cgi?id=79294
109887
109888        Reviewed by Oliver Hunt.
109889
109890        Covered by existing tests.
109891
109892        * bindings/js/SerializedScriptValue.cpp:
109893        (WebCore::typedArrayElementSize):
109894        (WebCore):
109895        (WebCore::CloneSerializer::dumpArrayBufferView):
109896        (CloneSerializer):
109897        (WebCore::CloneSerializer::dumpIfTerminal):
109898        (WebCore::CloneSerializer::write):
109899        (WebCore::CloneDeserializer::readArrayBufferViewSubtag):
109900        (CloneDeserializer):
109901        (WebCore::CloneDeserializer::readArrayBuffer):
109902        (WebCore::CloneDeserializer::readArrayBufferView):
109903        (WebCore::CloneDeserializer::getJSValue):
109904        (WebCore::CloneDeserializer::readTerminal):
109905
1099062012-02-22  Adrienne Walker  <enne@google.com>
109907
109908        [chromium] Unreviewed speculative chromium-mac build fix.
109909        https://bugs.webkit.org/show_bug.cgi?id=75874
109910
109911        This broke in r108581.
109912
109913        * platform/graphics/chromium/cc/CCLayerAnimationController.h:
109914        (WebCore):
109915
1099162012-02-22  Raymond Toy  <rtoy@google.com>
109917
109918        exponentialRampToValue doesn't use starting value
109919        https://bugs.webkit.org/show_bug.cgi?id=78035
109920
109921        Reviewed by Chris Rogers.
109922
109923        Test: webaudio/audioparam-exponentialRampToValueAtTime.html
109924
109925        * webaudio/AudioParamTimeline.cpp:
109926        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Set
109927        starting value for exponential ramp.
109928
1099292012-02-22  Andreas Kling  <awesomekling@apple.com>
109930
109931        Make parsing color presentation attributes do less pointless work.
109932        <http://webkit.org/b/79304>
109933
109934        Reviewed by Antti Koivisto.
109935
109936        Let HTMLElement::addHTMLColorToStyle() construct the color CSSValue directly
109937        rather than passing a string that has to go through CSSParser.
109938
109939        * css/StylePropertySet.cpp:
109940        (WebCore::StylePropertySet::setProperty):
109941        * css/StylePropertySet.h:
109942
109943            Added a setProperty(propertyID, CSSValue) overload that expands shorthand
109944            properties if necessary. Also added a little comment about the behavior
109945            differences between setProperty() overloads.
109946
109947        * html/HTMLElement.cpp:
109948        (WebCore::parseColorStringWithCrazyLegacyRules):
109949
109950            Changed this to return an RGBA32.
109951
109952        (WebCore::HTMLElement::addHTMLColorToStyle):
109953
109954            Figure out the RGB value and construct a (pooled) CSSValue directly.
109955
1099562012-02-22  Ian Vollick  <vollick@chromium.org>
109957
109958        [chromium] Plumb from GraphicsLayer to the cc thread animation code
109959        https://bugs.webkit.org/show_bug.cgi?id=75874
109960
109961        Reviewed by James Robinson.
109962
109963        * WebCore.gypi:
109964        * page/Settings.cpp:
109965        (WebCore::Settings::Settings):
109966        * page/Settings.h:
109967        (WebCore::Settings::setThreadedAnimationEnabled):
109968        (WebCore::Settings::threadedAnimationEnabled):
109969        (Settings):
109970        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
109971        (std):
109972        (WebCore::GraphicsLayerChromium::addChild):
109973        (WebCore::GraphicsLayerChromium::addAnimation):
109974        (WebCore):
109975        (WebCore::GraphicsLayerChromium::pauseAnimation):
109976        (WebCore::GraphicsLayerChromium::removeAnimation):
109977        (WebCore::GraphicsLayerChromium::suspendAnimations):
109978        (WebCore::GraphicsLayerChromium::resumeAnimations):
109979        (WebCore::GraphicsLayerChromium::setContentsToMedia):
109980        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
109981        (WebCore::GraphicsLayerChromium::mapAnimationNameToId):
109982        * platform/graphics/chromium/GraphicsLayerChromium.h:
109983        (GraphicsLayerChromium):
109984        * platform/graphics/chromium/LayerChromium.cpp:
109985        (WebCore::LayerChromium::LayerChromium):
109986        (WebCore::LayerChromium::addAnimation):
109987        (WebCore):
109988        (WebCore::LayerChromium::pauseAnimation):
109989        (WebCore::LayerChromium::removeAnimation):
109990        (WebCore::LayerChromium::suspendAnimations):
109991        (WebCore::LayerChromium::resumeAnimations):
109992        (WebCore::LayerChromium::setLayerAnimationController):
109993        (WebCore::LayerChromium::pushPropertiesTo):
109994        * platform/graphics/chromium/LayerChromium.h:
109995        (WebCore):
109996        (LayerChromium):
109997        (WebCore::LayerChromium::layerAnimationController):
109998        (WebCore::LayerChromium::numChildren):
109999        * platform/graphics/chromium/cc/CCActiveAnimation.cpp:
110000        (WebCore::CCActiveAnimation::create):
110001        (WebCore):
110002        (WebCore::CCActiveAnimation::CCActiveAnimation):
110003        (WebCore::CCActiveAnimation::~CCActiveAnimation):
110004        (WebCore::CCActiveAnimation::isWaiting):
110005        (WebCore::CCActiveAnimation::isRunningOrHasRun):
110006        (WebCore::CCActiveAnimation::cloneForImplThread):
110007        (WebCore::CCActiveAnimation::synchronizeProperties):
110008        * platform/graphics/chromium/cc/CCActiveAnimation.h:
110009        (CCActiveAnimation):
110010        (WebCore::CCActiveAnimation::AnimationSignature::AnimationSignature):
110011        (AnimationSignature):
110012        (WebCore::CCActiveAnimation::id):
110013        (WebCore::CCActiveAnimation::group):
110014        (WebCore::CCActiveAnimation::signature):
110015        * platform/graphics/chromium/cc/CCAnimationCurve.h:
110016        (CCAnimationCurve):
110017        (CCTransformAnimationCurve):
110018        * platform/graphics/chromium/cc/CCAnimationEvents.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCAnimationCurve.h.
110019        (WebCore):
110020        (WebCore::CCAnimationStartedEvent::CCAnimationStartedEvent):
110021        (CCAnimationStartedEvent):
110022        * platform/graphics/chromium/cc/CCLayerAnimationController.cpp: Added.
110023        (WebCore):
110024        (WebCore::CCLayerAnimationController::CCLayerAnimationController):
110025        (WebCore::CCLayerAnimationController::~CCLayerAnimationController):
110026        (WebCore::CCLayerAnimationController::create):
110027        (WebCore::CCLayerAnimationController::addAnimation):
110028        (WebCore::CCLayerAnimationController::pauseAnimation):
110029        (WebCore::CCLayerAnimationController::removeAnimation):
110030        (WebCore::CCLayerAnimationController::suspendAnimations):
110031        (WebCore::CCLayerAnimationController::resumeAnimations):
110032        (WebCore::CCLayerAnimationController::synchronizeAnimations):
110033        (WebCore::CCLayerAnimationController::removeCompletedAnimations):
110034        (WebCore::CCLayerAnimationController::pushNewAnimationsToImplThread):
110035        (WebCore::CCLayerAnimationController::removeAnimationsCompletedOnMainThread):
110036        (WebCore::CCLayerAnimationController::pushAnimationProperties):
110037        (WebCore::CCLayerAnimationController::getActiveAnimation):
110038        (WebCore::CCLayerAnimationController::remove):
110039        * platform/graphics/chromium/cc/CCLayerAnimationController.h: Added.
110040        (WebCore):
110041        (CCLayerAnimationController):
110042        (WebCore::CCLayerAnimationController::activeAnimations):
110043        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp:
110044        (WebCore::CCLayerAnimationControllerImpl::~CCLayerAnimationControllerImpl):
110045        (WebCore):
110046        (WebCore::CCLayerAnimationControllerImpl::animate):
110047        (WebCore::CCLayerAnimationControllerImpl::add):
110048        (WebCore::CCLayerAnimationControllerImpl::getActiveAnimation):
110049        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
110050        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
110051        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
110052        (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
110053        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
110054        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h:
110055        (CCLayerAnimationControllerImplClient):
110056        (CCLayerAnimationControllerImpl):
110057        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
110058        (WebCore::CCLayerImpl::CCLayerImpl):
110059        * platform/graphics/chromium/cc/CCLayerImpl.h:
110060        (CCLayerImpl):
110061        (WebCore::CCLayerImpl::id):
110062        (WebCore::CCLayerImpl::opacity):
110063        (WebCore::CCLayerImpl::transform):
110064        (WebCore::CCLayerImpl::bounds):
110065        (WebCore::CCLayerImpl::layerAnimationController):
110066        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
110067        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
110068        (WebCore::CCLayerTreeHost::setAnimationEvents):
110069        (WebCore):
110070        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
110071        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
110072        (WebCore::CCSettings::CCSettings):
110073        (CCSettings):
110074        (CCLayerTreeHost):
110075        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
110076        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
110077        (WebCore::CCLayerTreeHostImpl::animate):
110078        (WebCore::CCLayerTreeHostImpl::animateLayersRecursive):
110079        (WebCore):
110080        (WebCore::CCLayerTreeHostImpl::animatePageScale):
110081        (WebCore::CCLayerTreeHostImpl::animateLayers):
110082        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
110083        (CCLayerTreeHostImplClient):
110084        (CCLayerTreeHostImpl):
110085        (WebCore::CCLayerTreeHostImpl::needsAnimateLayers):
110086        (WebCore::CCLayerTreeHostImpl::setNeedsAnimateLayers):
110087        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
110088        (WebCore::CCSingleThreadProxy::postAnimationEventsToMainThreadOnImplThread):
110089        (WebCore):
110090        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
110091        (CCSingleThreadProxy):
110092        (WebCore):
110093        (DebugScopedSetMainThread):
110094        (WebCore::DebugScopedSetMainThread::DebugScopedSetMainThread):
110095        (WebCore::DebugScopedSetMainThread::~DebugScopedSetMainThread):
110096        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
110097        (WebCore::CCThreadProxy::postAnimationEventsToMainThreadOnImplThread):
110098        (WebCore):
110099        (WebCore::CCThreadProxy::setAnimationEvents):
110100        * platform/graphics/chromium/cc/CCThreadProxy.h:
110101        (CCThreadProxy):
110102
1101032012-02-22  Anders Carlsson  <andersca@apple.com>
110104
110105        Subframes with scrollable areas must be added to the non-fast scrollable region
110106        https://bugs.webkit.org/show_bug.cgi?id=79306
110107        <rdar://problem/10915564>
110108
110109        Reviewed by Andreas Kling.
110110
110111        When computing the non-fast scrollable region, add subframes with scrollable regions to the region.
110112
110113        * page/scrolling/ScrollingCoordinator.cpp:
110114        (WebCore::computeNonFastScrollableRegion):
110115
1101162012-02-22  Nate Chapin  <japhet@chromium.org>
110117
110118        CachedResourceLoader ignores the Range header
110119        in determineRavlidationPolicy(), resulting in incorrect
110120        cache hits.
110121
110122        Reviewed by Adam Barth.
110123
110124        Test: http/tests/xmlhttprequest/range-test.html
110125        Test written by Aaron Colwell (acolwell@chromium.org).
110126
110127        * loader/cache/CachedResourceLoader.cpp:
110128        (WebCore::CachedResourceLoader::determineRevalidationPolicy):
110129
1101302012-02-22  Antti Koivisto  <antti@apple.com>
110131
110132        REGRESSION (r104060): Web font is not loaded if specified by link element dynamically inserted
110133        https://bugs.webkit.org/show_bug.cgi?id=79186
110134
110135        Reviewed by Andreas Kling.
110136
110137        Test: fast/css/font-face-insert-link.html
110138        
110139        If a dynamically inserted stylesheet contains @font-face rules, we may fail to update the rendering.
110140        
110141        Before r104060 the style selector was destroyed on every style change, and the font selector along with it.
110142        This is no longer the case and we can't rely on comparing font selector pointers when comparing Fonts
110143        for equality. This patch adds version number to the font selector and checks it in Font::operator==.
110144        The version number is incremented when new font-face rules are added to the font selector.
110145        
110146        FontFallbackList is an object shared between Fonts so the extra field shouldn't matter much in terms
110147        of memory.
110148
110149        * css/CSSFontSelector.cpp:
110150        (WebCore::CSSFontSelector::CSSFontSelector):
110151        (WebCore::CSSFontSelector::addFontFaceRule):
110152        * css/CSSFontSelector.h:
110153        (CSSFontSelector):
110154        * platform/graphics/Font.cpp:
110155        (WebCore::Font::operator==):
110156        * platform/graphics/FontFallbackList.cpp:
110157        (WebCore::FontFallbackList::FontFallbackList):
110158        (WebCore::FontFallbackList::invalidate):
110159        * platform/graphics/FontFallbackList.h:
110160        (FontFallbackList):
110161        (WebCore::FontFallbackList::fontSelectorVersion):
110162        * platform/graphics/FontSelector.h:
110163        (FontSelector):
110164
1101652012-02-22  Nate Chapin  <japhet@chromium.org>
110166
110167        Prevent CachedRawResource from sending the same data
110168        chunk multiple times.
110169        https://bugs.webkit.org/show_bug.cgi?id=78810
110170
110171        Reviewed by Adam Barth.
110172
110173        If a CachedRawResource receives data while a CachedRawResourceCallback
110174        timer is active, the incremental data will be sent to the client, followed
110175        but all data received so far, resulting in invalid data. Resolving this adds
110176        complexity to CachedRawResource and requires making a few more CachedResource
110177        functions virtual, so push the callback logic into CachedResource where it can
110178        be implemented more cleanly.
110179
110180        Test: inspector/debugger/script-formatter-console.html
110181            should no longer be flaky.
110182
110183        * loader/cache/CachedRawResource.cpp: CachedRawResourceCallback renamed and moved to CachedResource.
110184        (WebCore::CachedRawResource::didAddClient): More or less the same as sendCallbacks() was.
110185        * loader/cache/CachedRawResource.h:
110186        * loader/cache/CachedResource.cpp:
110187        (WebCore::CachedResource::addClient): Check the return value of addClientToSet() to determine whether
110188            or not to call didAddClient.
110189        (WebCore::CachedResource::didAddClient): May be called during addClient(), or may be called on a timer.
110190            If called on a timer, move the client between sets.
110191        (WebCore::CachedResource::addClientToSet): Determine whether didAddClient() can be called synchronously and
110192            return true if it can.
110193        (WebCore::CachedResource::removeClient): Ensure we cancel pending callbacks if necessary.
110194        (WebCore::CachedResource::CachedResourceCallback::CachedResourceCallback): Renamed and moved from CachedRawResource.
110195        * loader/cache/CachedResource.h:
110196        (WebCore::CachedResource::hasClients): Check m_clientsAwaitingCallback as well as m_clients.
110197        (WebCore::CachedResource::CachedResourceCallback::schedule):
110198        (WebCore::CachedResource::hasClient): Helper for calling contains() on both m_clientsAwaitingCallback and m_clients.
110199
1102002012-02-22  Daniel Bates  <dbates@webkit.org>
110201
110202        Update change log entry for r108561 to reflect removal of "if (m_dispatchSoonList.isEmpty())".
110203        https://bugs.webkit.org/show_bug.cgi?id=78840
110204
110205        Mention removal of unnecessary check for empty list m_dispatchSoonList in EventSender::cancelEvent().
110206
110207        Also, fix the date in the change log entry for changeset r108562 since it landed today (02/22/2012).
110208
1102092012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
110210
110211        Remove the remaining uses of CSSStyleDeclaration in Editor
110212        https://bugs.webkit.org/show_bug.cgi?id=78939
110213
110214        Reviewed by Enrica Casucci.
110215
110216        Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
110217        applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
110218        to StylePropertySet.
110219
110220        * WebCore.exp.in:
110221        * WebCore.xcodeproj/project.pbxproj:
110222        * editing/Editor.cpp:
110223        (WebCore::Editor::applyStyle):
110224        (WebCore::Editor::shouldApplyStyle):
110225        (WebCore::Editor::applyParagraphStyle):
110226        (WebCore::Editor::applyStyleToSelection):
110227        (WebCore::Editor::applyParagraphStyleToSelection):
110228        (WebCore::Editor::setBaseWritingDirection):
110229        (WebCore::Editor::computeAndSetTypingStyle):
110230        * editing/Editor.h:
110231        (WebCore):
110232        (Editor):
110233        * editing/EditorCommand.cpp:
110234        (WebCore::applyCommandToFrame):
110235        (WebCore::executeApplyParagraphStyle):
110236        (WebCore::executeMakeTextWritingDirectionLeftToRight):
110237        (WebCore::executeMakeTextWritingDirectionNatural):
110238        (WebCore::executeMakeTextWritingDirectionRightToLeft):
110239        * loader/EmptyClients.h:
110240        (WebCore::EmptyEditorClient::shouldApplyStyle):
110241        * page/DragController.cpp:
110242        (WebCore::DragController::concludeEditDrag):
110243        * page/EditorClient.h:
110244        (WebCore):
110245        (EditorClient):
110246
1102472012-02-22  Daniel Bates  <dbates@webkit.org>
110248
110249        Abstract ImageEventSender into a general purpose EventSender
110250        https://bugs.webkit.org/show_bug.cgi?id=78840
110251
110252        Reviewed by Adam Barth.
110253
110254        Abstract the functionality in ImageEventSender so that it can be used again.
110255        This functionality may be useful in fixing WebKit Bug #38995.
110256
110257        No functionality was changed; no new tests.
110258
110259        * GNUmakefile.list.am: Added EventSender.h.
110260        * Target.pri: Ditto.
110261        * WebCore.gypi: Ditto.
110262        * WebCore.vcproj/WebCore.vcproj: Ditto.
110263        * WebCore.xcodeproj/project.pbxproj: Ditto.
110264        * dom/EventSender.h: Added.
110265        (WebCore):
110266        (EventSender):
110267        (WebCore::EventSender::eventType):
110268        (WebCore::EventSender::hasPendingEvents):
110269        (WebCore::EventSender::timerFired):
110270        (WebCore::::EventSender):
110271        (WebCore::::dispatchEventSoon):
110272        (WebCore::::cancelEvent): Removed unnecessary check for empty list m_dispatchSoonList;
110273        As far as I can tell this is an artifact of using a
110274        QPtrList data structure for this functionality when it was originally in
110275        DocumentImpl::removeImage() (see <http://trac.webkit.org/browser/trunk/WebCore/khtml/xml/DocumentImpl.cpp?rev=12515#L2302>),
110276        which actually removed items from a list (as opposed to zeroing them out as we do
110277        now).
110278        (WebCore::::dispatchPendingEvents):
110279        * loader/ImageLoader.cpp: Modified to use EventSender.
110280        (WebCore):
110281        (WebCore::ImageLoader::dispatchPendingEvent): Added; called by EventSender when the ImageLoader
110282        should dispatch a pending BeforeLoad or Load event.
110283        * loader/ImageLoader.h:
110284        (WebCore):
110285        (ImageLoader):
110286
1102872012-02-22  Max Vujovic  <mvujovic@adobe.com>
110288
110289        Paddings and borders on root SVG element with viewbox causes child SVG elements to be rendered with the incorrect size
110290        https://bugs.webkit.org/show_bug.cgi?id=78613
110291
110292        Reviewed by Nikolas Zimmermann.
110293
110294        When computing its localToBorderBoxTransform, RenderSVGRoot was using its width and height
110295        as the dimensions of the SVG viewport. However, width and height include CSS borders and
110296        paddings, which are not part of the SVG viewport area. Now, RenderSVGRoot uses its
110297        contentWidth and contentHeight, which correspond to the SVG viewport area.
110298
110299        Tests: svg/custom/svg-root-padding-border-margin-expected.html
110300               svg/custom/svg-root-padding-border-margin.html
110301
110302        * rendering/svg/RenderSVGRoot.cpp:
110303        (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
110304
1103052012-02-22  Raphael Kubo da Costa  <kubo@profusion.mobi>
110306
110307        [EFL] Get rid of GeolocationServiceEfl
110308        https://bugs.webkit.org/show_bug.cgi?id=79270
110309
110310        Reviewed by Adam Barth.
110311
110312        These were just a bunch of dummy files with no real functionality, and
110313        removing them helps the preparation of bug 78853, which will make
110314        client-based geolocation the default.
110315
110316        No new tests, this functionality was not used.
110317
110318        * PlatformEfl.cmake:
110319        * platform/efl/GeolocationServiceEfl.cpp: Removed.
110320        * platform/efl/GeolocationServiceEfl.h: Removed.
110321
1103222012-02-22  Julien Chaffraix  <jchaffraix@webkit.org>
110323
110324        Clean-up RenderTableSection::calcRowLogicalHeight
110325        https://bugs.webkit.org/show_bug.cgi?id=77705
110326
110327        Reviewed by Eric Seidel.
110328
110329        Refactoring / simplication of the code.
110330
110331        This change removes some variables that were unneeded and were
110332        hiding what the code was really doing. Also some of the code was
110333        split and moved down to RenderTableCell.
110334
110335        * rendering/RenderTableCell.cpp:
110336        (WebCore::RenderTableCell::logicalHeightForRowSizing):
110337        * rendering/RenderTableCell.h:
110338        (RenderTableCell):
110339        Added the previous helper function to calculate the cell's
110340        adjusted logical height.
110341
110342        * rendering/RenderTableSection.cpp:
110343        (WebCore::RenderTableSection::calcRowLogicalHeight):
110344        Removed some variables, simplified the rowspan logic to be clearer
110345        (and added a comment about how we handle rowspans).
110346
1103472012-02-22  Adam Barth  <abarth@webkit.org>
110348
110349        Move FILE_SYSTEM code out of DOMWindow and into the fileapi folder
110350        https://bugs.webkit.org/show_bug.cgi?id=79259
110351
110352        Reviewed by Eric Seidel.
110353
110354        This patch is part of our ongoing effort to remove ifdefs from code
110355        classes.  The FILE_SYSTEM code in DOMWindow doesn't really have any
110356        necessary connection to DOMWindow.  DOMWindow is just the context
110357        object that the API hangs off of.
110358
110359        This patch moves the FILE_SYSTEM code into the fileapi folder using
110360        [Supplemental].
110361
110362        * CMakeLists.txt:
110363        * DerivedSources.make:
110364        * DerivedSources.pri:
110365        * GNUmakefile.list.am:
110366        * Target.pri:
110367        * WebCore.gypi:
110368        * fileapi/DOMWindowFileSystem.cpp: Added.
110369        (WebCore):
110370        (WebCore::DOMWindowFileSystem::DOMWindowFileSystem):
110371        (WebCore::DOMWindowFileSystem::~DOMWindowFileSystem):
110372        (WebCore::DOMWindowFileSystem::webkitRequestFileSystem):
110373        (WebCore::DOMWindowFileSystem::webkitResolveLocalFileSystemURL):
110374        * fileapi/DOMWindowFileSystem.h: Added.
110375        (WebCore):
110376        (DOMWindowFileSystem):
110377        * fileapi/DOMWindowFileSystem.idl: Added.
110378        * page/DOMWindow.cpp:
110379        (WebCore):
110380        * page/DOMWindow.h:
110381        (WebCore):
110382        (DOMWindow):
110383        * page/DOMWindow.idl:
110384
1103852012-02-22  Luke Macpherson   <macpherson@chromium.org>
110386
110387        Re-implement many more HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE macros in CSSStyleApplyProperty.
110388        https://bugs.webkit.org/show_bug.cgi?id=79200
110389
110390        Reviewed by Andreas Kling.
110391
110392        No new tests / refactoring only.
110393
110394        * css/CSSStyleApplyProperty.cpp:
110395        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
110396        * css/CSSStyleSelector.cpp:
110397        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
110398        * rendering/style/RenderStyle.h:
110399
1104002012-02-22  Tom Sepez  <tsepez@chromium.org>
110401
110402        XSSAuditor bypass with <svg> tags and html-entities.
110403        https://bugs.webkit.org/show_bug.cgi?id=78836
110404
110405        Reviewed by Adam Barth.
110406
110407        Tests: http/tests/security/xssAuditor/iframe-onload-in-svg-tag.html
110408               http/tests/security/xssAuditor/script-tag-inside-svg-tag.html
110409               http/tests/security/xssAuditor/script-tag-inside-svg-tag2.html
110410               http/tests/security/xssAuditor/script-tag-inside-svg-tag3.html
110411
110412        * html/parser/XSSAuditor.cpp:
110413        (WebCore::isNonCanonicalCharacter):
110414        (WebCore::isTerminatingCharacter):
110415        (WebCore):
110416        (WebCore::startsHTMLCommentAt):
110417        (WebCore::startsSingleLineCommentAt):
110418        (WebCore::fullyDecodeString):
110419        (WebCore::XSSAuditor::XSSAuditor):
110420        (WebCore::XSSAuditor::init):
110421        (WebCore::XSSAuditor::filterToken):
110422        (WebCore::XSSAuditor::filterStartToken):
110423        (WebCore::XSSAuditor::filterEndToken):
110424        (WebCore::XSSAuditor::filterCharacterToken):
110425        (WebCore::XSSAuditor::filterScriptToken):
110426        (WebCore::XSSAuditor::filterObjectToken):
110427        (WebCore::XSSAuditor::filterParamToken):
110428        (WebCore::XSSAuditor::filterEmbedToken):
110429        (WebCore::XSSAuditor::filterAppletToken):
110430        (WebCore::XSSAuditor::filterIframeToken):
110431        (WebCore::XSSAuditor::filterMetaToken):
110432        (WebCore::XSSAuditor::filterBaseToken):
110433        (WebCore::XSSAuditor::filterFormToken):
110434        (WebCore::XSSAuditor::decodedSnippetForAttribute):
110435        (WebCore::XSSAuditor::snippetForJavaScript):
110436        * html/parser/XSSAuditor.h:
110437        (XSSAuditor):
110438
1104392012-02-22  Anders Carlsson  <andersca@apple.com>
110440
110441        Crash when marking cached pages for full style recalc
110442        https://bugs.webkit.org/show_bug.cgi?id=79276
110443        <rdar://problem/10884036>
110444
110445        Reviewed by Beth Dakin.
110446
110447        Guard against a null history item.
110448
110449        * history/BackForwardController.cpp:
110450        (WebCore::BackForwardController::markPagesForFullStyleRecalc):
110451
1104522012-02-22  Ken Buchanan  <kenrb@chromium.org>
110453
110454        Crash from empty anonymous block preceding :before content
110455        https://bugs.webkit.org/show_bug.cgi?id=78250
110456
110457        Reviewed by David Hyatt.
110458
110459        RenderListMarkers getting removed from the tree in updateMarkerLocation()
110460        can leave parent anonymous blocks behind with no children. This was
110461        confusing updateBeforeAfterContent() because it does not expect
110462        an empty block to precede :before content renderers.
110463
110464        Fix is to remove the anonymous block if it will lose all of its children.
110465
110466        * rendering/RenderListItem.cpp:
110467        (WebCore::RenderListItem::updateMarkerLocation):
110468
1104692012-02-22  Abhishek Arya  <inferno@chromium.org>
110470
110471        Crash due to accessing removed parent lineboxes when clearing view selection.
110472        https://bugs.webkit.org/show_bug.cgi?id=79264
110473
110474        Reviewed by Eric Seidel.
110475
110476        When our block needed a full layout, we were deleting our own lineboxes
110477        and letting descendant children (at any level in hierarchy and not just 
110478        immediate children) clear their own lineboxes as we keep laying them out.
110479        This was problematic because those descendant children lineboxes were
110480        pointing to removed parent lineboxes in the meantime. An example scenario
110481        where this would go wrong is first-letter object removal, which can cause
110482        clearing view selection, leading to accessing parent lineboxes. The patch
110483        modifies clearing the entire linebox tree upfront. It shouldn't introduce
110484        performance issues since it will eventually happen as we are laying out
110485        those children.
110486 
110487        Test: fast/css-generated-content/first-letter-textbox-parent-crash.html
110488
110489        * rendering/RenderBlockLineLayout.cpp:
110490        (WebCore::RenderBlock::layoutInlineChildren):
110491
1104922012-02-22  Abhishek Arya  <inferno@chromium.org>
110493
110494        Cloning and linebox issues in multi-column layout.
110495        https://bugs.webkit.org/show_bug.cgi?id=78273
110496
110497        Reviewed by Eric Seidel.
110498
110499        Tests: fast/multicol/span/clone-flexbox.html
110500               fast/multicol/span/clone-summary.html
110501               fast/multicol/span/textbox-not-removed-crash.html
110502
110503        * rendering/RenderBlock.cpp:
110504        (WebCore::RenderBlock::clone): Fix cloning algorithm to take
110505        care of cloning descendant classes of RenderBlock.
110506        (WebCore::RenderBlock::splitBlocks): When we move our inline children
110507        to cloneBlock, we need to clear our entire line box tree. Any descendant
110508        child in the hierarchy could be a part of our line box tree and will
110509        never get cleared since the child has moved to new parent cloneBlock.
110510
1105112012-02-22  Tim Dresser  <tdresser@chromium.org>
110512
110513        CCLayerTreeHostImpl calls didDraw more frequently than willDraw
110514        https://bugs.webkit.org/show_bug.cgi?id=79139
110515
110516        Reviewed by James Robinson.
110517
110518        Ensure that didDraw is called if and only if willDraw was called previously.
110519
110520        CCLayerTreeHostImplTest.didDrawNotCalledOnHiddenLayer has been added to ensure that
110521        hidden layers, for which willDraw is not called, will also not have didDraw called.
110522
110523        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
110524        (WebCore::CCLayerTreeHostImpl::drawLayers):
110525        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
110526        (WebCore::CCVideoLayerImpl::didDraw):
110527
1105282012-02-22  Levi Weintraub  <leviw@chromium.org>
110529
110530        ScrollbarThemeComposite::thumbPosition uses the result of a divide by zero
110531        https://bugs.webkit.org/show_bug.cgi?id=78910
110532
110533        Reviewed by Eric Seidel.
110534
110535        Adding a check to avoid doing a floating point divide by zero and assigning NaN to an integer.
110536        This causes problems with our conversion to subpixel layout, which asserts when we overflow.
110537
110538        * platform/ScrollbarThemeComposite.cpp:
110539        (WebCore::ScrollbarThemeComposite::thumbPosition):
110540
1105412012-02-22  Raymond Liu  <raymond.liu@intel.com>
110542
110543        Have the DynamicsCompressorNode support multi-channel data
110544        https://bugs.webkit.org/show_bug.cgi?id=77856
110545
110546        Reviewed by Chris Rogers.
110547
110548        * platform/audio/DynamicsCompressor.cpp:
110549        (WebCore::DynamicsCompressor::DynamicsCompressor):
110550        (WebCore::DynamicsCompressor::setEmphasisStageParameters):
110551        (WebCore::DynamicsCompressor::process):
110552        (WebCore::DynamicsCompressor::reset):
110553        (WebCore::DynamicsCompressor::setNumberOfChannels):
110554        (WebCore):
110555        * platform/audio/DynamicsCompressor.h:
110556        (DynamicsCompressor):
110557        * platform/audio/DynamicsCompressorKernel.cpp:
110558        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
110559        (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
110560        (WebCore):
110561        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
110562        (WebCore::DynamicsCompressorKernel::process):
110563        (WebCore::DynamicsCompressorKernel::reset):
110564        * platform/audio/DynamicsCompressorKernel.h:
110565        (DynamicsCompressorKernel):
110566        * webaudio/DynamicsCompressorNode.cpp:
110567        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
110568        (WebCore::DynamicsCompressorNode::initialize):
110569
1105702012-02-22  Bear Travis  <betravis@adobe.com>
110571
110572        Not correctly recalculating layout for elements within nested SVG elements
110573        https://bugs.webkit.org/show_bug.cgi?id=77535
110574
110575        Reviewed by Dirk Schulze.
110576
110577        Relatively positioned text is not correctly updating its position when the
110578        size of its nearest viewport changes. Updating to mark text for layout when
110579        viewPort size changes.
110580        
110581        Test: svg/repaint/inner-svg-change-viewPort-relative.svg
110582
110583        * rendering/svg/SVGRenderSupport.cpp:
110584        (WebCore::SVGRenderSupport::layoutChildren):
110585
1105862012-02-22  Alexei Svitkine  <asvitkine@chromium.org>
110587
110588        [chromium] Fix remaining compositing/rubberbanding test failures
110589        https://bugs.webkit.org/show_bug.cgi?id=78008
110590
110591        These were happening due to the fact that ScrollView wasn't updating
110592        the overhang layer when the contentsSize was updated. This is necessary
110593        because calculateOverhangAreasForPainting() takes the contentsSize into
110594        account when determining whether the overhang areas are visible.
110595
110596        Reviewed by James Robinson.
110597
110598        Re-enabled the following tests with updated baselines:
110599        * platform/chromium/compositing/rubberbanding/transform-overhang-e-expected.png:
110600        * platform/chromium/compositing/rubberbanding/transform-overhang-s-expected.png:
110601        * platform/chromium/compositing/rubberbanding/transform-overhang-se-expected.png:
110602        * platform/chromium/test_expectations.txt:
110603
110604        * platform/ScrollView.cpp:
110605        (WebCore::ScrollView::setContentsSize):
110606        (WebCore::ScrollView::scrollContents):
110607        (WebCore::ScrollView::updateOverhangAreas):
110608        (WebCore):
110609        * platform/ScrollView.h:
110610        (ScrollView):
110611
1106122012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
110613
110614        Web Inspector: [Regression] network worker tests crash on qt.
110615        https://bugs.webkit.org/show_bug.cgi?id=79263
110616
110617        Reviewed by Pavel Feldman.
110618
110619        * inspector/InspectorPageAgent.cpp:
110620        (WebCore::InspectorPageAgent::createDecoder):
110621        (WebCore::InspectorPageAgent::cachedResourceContent):
110622
1106232012-02-22  Adrienne Walker  <enne@google.com>
110624
110625        Unreviewed, rolling out r108518.
110626        http://trac.webkit.org/changeset/108518
110627        https://bugs.webkit.org/show_bug.cgi?id=75864
110628
110629        Breaks surfaceOcclusionWithOverlappingSiblingSurfaces unit test.
110630
110631        * WebCore.gypi:
110632        * platform/graphics/chromium/cc/CCLayerIterator.cpp:
110633        (WebCore):
110634        (WebCore::CCLayerIteratorActions::BackToFront::begin):
110635        (WebCore::CCLayerIteratorActions::BackToFront::end):
110636        (WebCore::CCLayerIteratorActions::BackToFront::next):
110637        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
110638        (WebCore::CCLayerIteratorActions::FrontToBack::end):
110639        (WebCore::CCLayerIteratorActions::FrontToBack::next):
110640        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
110641        * platform/graphics/chromium/cc/CCLayerIterator.h:
110642        (WebCore):
110643        (WebCore::CCLayerIterator::CCLayerIterator):
110644        (WebCore::CCLayerIterator::operator++):
110645        (WebCore::CCLayerIterator::operator==):
110646        (WebCore::CCLayerIterator::operator->):
110647        (WebCore::CCLayerIterator::operator*):
110648        (WebCore::CCLayerIterator::representsTargetRenderSurface):
110649        (WebCore::CCLayerIterator::representsContributingRenderSurface):
110650        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
110651        (CCLayerIterator):
110652        (BackToFront):
110653        (FrontToBack):
110654        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
110655        (WebCore):
110656        (CCLayerIteratorPositionValue):
110657        (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
110658        (CCLayerIteratorPosition):
110659        (WebCore::CCLayerIteratorPosition::currentLayer):
110660        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
110661        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
110662        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
110663        (WebCore::CCLayerIteratorPosition::targetRenderSurface):
110664        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
110665        (WebCore::CCLayerIteratorPosition::operator==):
110666
1106672012-02-22  Dan Bernstein  <mitz@apple.com>
110668
110669        REGRESSION (r62632): page-break-inside: avoid is ignored
110670        https://bugs.webkit.org/show_bug.cgi?id=79262
110671
110672        Reviewed by Adele Peterson.
110673
110674        This was disabled in r62632 because of <http://webkit.org/b/41532>. Changes to the
110675        pagination code since then have invalidated that bug, so enabling the feature again does not
110676        re-introduce the bug.
110677
110678        Updated expected results for printing/page-break-inside-avoid.html.
110679
110680        * rendering/RenderBlock.cpp:
110681        (WebCore::RenderBlock::adjustForUnsplittableChild):
110682
1106832012-02-22  Philippe Normand  <pnormand@igalia.com>
110684
110685        [GStreamer] webkitwebsrc: use HTTP referer provided by MediaPlayer
110686        https://bugs.webkit.org/show_bug.cgi?id=79236
110687
110688        Reviewed by Martin Robinson.
110689
110690        Store a pointer to the MediaPlayer object in the private structure
110691        of the WebKitWebSrc element so we can call its public methods,
110692        like ::referrer().
110693
110694        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
110695        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
110696        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
110697        (_WebKitWebSrcPrivate):
110698        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.h:
110699
1107002012-02-22  Martin Robinson  <mrobinson@igalia.com>
110701
110702        [GTK] Clean build is broken when using make -j
110703        https://bugs.webkit.org/show_bug.cgi?id=76388
110704
110705        No new tests. This is just a build fix.
110706
110707        Use order-only dependencies to ensure that built sources are built before
110708        files that depend on them.
110709
110710        * GNUmakefile.am: Establish an order-only dependency on some built sources before starting
110711        to build non-generated sources. Rename some temporary files and variables to be more consistent.
110712        * bindings/gobject/GNUmakefile.am: Updated to reflect new variable names.
110713
1107142012-02-22  Dana Jansens  <danakj@chromium.org>
110715
110716        [Chromium] New CCOcclusionTracker class with tests
110717        https://bugs.webkit.org/show_bug.cgi?id=78549
110718
110719        Reviewed by James Robinson.
110720
110721        Adds a CCOcclusionTrackerBase template class that is able to track occlusion
110722        of layers while traversing the layer tree from front-to-back, with typedefed
110723        versions for the main and impl threads.
110724
110725        At each step of the front-to-back traversal, the class should be notified of
110726        changes to the current render target, and when done working with a layer, the
110727        layer is added the tracked occlusion.
110728
110729        The class provides tests for checking if a rect in content space
110730        for a layer/surface is occluded by others in front of it.
110731
110732        Unit tests: CCOcclusionTrackerTest.cpp
110733
110734        * WebCore.gypi:
110735        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
110736        (WebCore):
110737        (WebCore::::enterTargetRenderSurface):
110738        (WebCore::::finishedTargetRenderSurface):
110739        (WebCore::transformSurfaceOpaqueRegion):
110740        (WebCore::::leaveToTargetRenderSurface):
110741        (WebCore::contentToScreenSpaceTransform):
110742        (WebCore::contentToTargetSurfaceTransform):
110743        (WebCore::computeOcclusionBehindLayer):
110744        (WebCore::::markOccludedBehindLayer):
110745        (WebCore::testContentRectOccluded):
110746        (WebCore::::occluded):
110747        (WebCore::::surfaceOccluded):
110748        (WebCore::rectSubtractRegion):
110749        (WebCore::computeUnoccludedContentRect):
110750        (WebCore::::unoccludedContentRect):
110751        (WebCore::::surfaceUnoccludedContentRect):
110752        (WebCore::::currentOcclusionInScreenSpace):
110753        (WebCore::::currentOcclusionInTargetSurface):
110754        * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
110755        (WebCore):
110756        (CCOcclusionTrackerBase):
110757        (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
110758        (StackObject):
110759
1107602012-02-22  Joshua Bell  <jsbell@chromium.org>
110761
110762        [Chromium] IndexedDB: Integrate with about:tracing
110763        https://bugs.webkit.org/show_bug.cgi?id=78831
110764
110765        Annotate interesting IDB functions so they show up in the
110766        tracing utility included in the Chromium port.
110767
110768        Reviewed by Tony Chang.
110769
110770        * WebCore.gypi:
110771        * WebCore.xcodeproj/project.pbxproj:
110772        * bindings/v8/IDBBindingUtilities.cpp:
110773        (WebCore::createIDBKeyFromSerializedValueAndKeyPath):
110774        (WebCore::injectIDBKeyIntoSerializedValue):
110775        * storage/IDBCursor.cpp:
110776        (WebCore::IDBCursor::direction):
110777        (WebCore::IDBCursor::key):
110778        (WebCore::IDBCursor::primaryKey):
110779        (WebCore::IDBCursor::value):
110780        (WebCore::IDBCursor::update):
110781        (WebCore::IDBCursor::continueFunction):
110782        (WebCore::IDBCursor::deleteFunction):
110783        * storage/IDBCursorBackendImpl.cpp:
110784        (WebCore::IDBCursorBackendImpl::direction):
110785        (WebCore::IDBCursorBackendImpl::key):
110786        (WebCore::IDBCursorBackendImpl::primaryKey):
110787        (WebCore::IDBCursorBackendImpl::value):
110788        (WebCore::IDBCursorBackendImpl::update):
110789        (WebCore::IDBCursorBackendImpl::continueFunction):
110790        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
110791        (WebCore::IDBCursorBackendImpl::deleteFunction):
110792        (WebCore::IDBCursorBackendImpl::prefetchContinue):
110793        (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
110794        (WebCore::IDBCursorBackendImpl::prefetchReset):
110795        (WebCore::IDBCursorBackendImpl::close):
110796        * storage/IDBDatabase.cpp:
110797        (WebCore::IDBDatabase::dispatchEvent):
110798        * storage/IDBIndex.cpp:
110799        (WebCore::IDBIndex::openCursor):
110800        (WebCore::IDBIndex::count):
110801        (WebCore::IDBIndex::openKeyCursor):
110802        (WebCore::IDBIndex::get):
110803        (WebCore::IDBIndex::getKey):
110804        * storage/IDBIndexBackendImpl.cpp:
110805        (WebCore::IDBIndexBackendImpl::openCursorInternal):
110806        (WebCore::IDBIndexBackendImpl::openCursor):
110807        (WebCore::IDBIndexBackendImpl::openKeyCursor):
110808        (WebCore::IDBIndexBackendImpl::countInternal):
110809        (WebCore::IDBIndexBackendImpl::count):
110810        (WebCore::IDBIndexBackendImpl::getInternal):
110811        (WebCore::IDBIndexBackendImpl::get):
110812        (WebCore::IDBIndexBackendImpl::getKey):
110813        * storage/IDBObjectStore.cpp:
110814        (WebCore::IDBObjectStore::name):
110815        (WebCore::IDBObjectStore::keyPath):
110816        (WebCore::IDBObjectStore::indexNames):
110817        (WebCore::IDBObjectStore::transaction):
110818        (WebCore::IDBObjectStore::get):
110819        (WebCore::IDBObjectStore::add):
110820        (WebCore::IDBObjectStore::put):
110821        (WebCore::IDBObjectStore::deleteFunction):
110822        (WebCore::IDBObjectStore::clear):
110823        (WebCore::IDBObjectStore::createIndex):
110824        (WebCore::IDBObjectStore::index):
110825        (WebCore::IDBObjectStore::openCursor):
110826        (WebCore::IDBObjectStore::count):
110827        * storage/IDBObjectStoreBackendImpl.cpp:
110828        (WebCore::IDBObjectStoreBackendImpl::get):
110829        (WebCore::IDBObjectStoreBackendImpl::getInternal):
110830        (WebCore::fetchKeyFromKeyPath):
110831        (WebCore::injectKeyIntoKeyPath):
110832        (WebCore::IDBObjectStoreBackendImpl::put):
110833        (WebCore::IDBObjectStoreBackendImpl::putInternal):
110834        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
110835        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
110836        (WebCore::IDBObjectStoreBackendImpl::clear):
110837        (WebCore::IDBObjectStoreBackendImpl::openCursor):
110838        (WebCore::IDBObjectStoreBackendImpl::openCursorInternal):
110839        (WebCore::IDBObjectStoreBackendImpl::count):
110840        (WebCore::IDBObjectStoreBackendImpl::countInternal):
110841        * storage/IDBRequest.cpp:
110842        (WebCore::IDBRequest::onSuccess):
110843        (WebCore::IDBRequest::onSuccessWithContinuation):
110844        (WebCore::IDBRequest::dispatchEvent):
110845        * storage/IDBTracing.h: Added.
110846        * storage/IDBTransaction.cpp:
110847        (WebCore::IDBTransaction::dispatchEvent):
110848        * storage/IDBTransactionBackendImpl.cpp:
110849        (WebCore::IDBTransactionBackendImpl::abort):
110850        (WebCore::IDBTransactionBackendImpl::commit):
110851        (WebCore::IDBTransactionBackendImpl::taskTimerFired):
110852        (WebCore::IDBTransactionBackendImpl::taskEventTimerFired):
110853
1108542012-02-22  Dana Jansens  <danakj@chromium.org>
110855
110856        [chromium] Push CCLayerIteratorPosition struct into CCLayerIterator class.
110857        https://bugs.webkit.org/show_bug.cgi?id=75864
110858
110859        Reviewed by James Robinson.
110860
110861        * platform/graphics/chromium/cc/CCLayerIterator.cpp:
110862        (WebCore::CCLayerIteratorActions::BackToFront::begin):
110863        (WebCore::CCLayerIteratorActions::BackToFront::end):
110864        (WebCore::CCLayerIteratorActions::BackToFront::next):
110865        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
110866        (WebCore::CCLayerIteratorActions::FrontToBack::end):
110867        (WebCore::CCLayerIteratorActions::FrontToBack::next):
110868        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
110869        * platform/graphics/chromium/cc/CCLayerIterator.h:
110870        (WebCore::CCLayerIterator::CCLayerIterator):
110871        (WebCore::CCLayerIterator::operator++):
110872        (WebCore::CCLayerIterator::operator==):
110873        (WebCore::CCLayerIterator::operator->):
110874        (WebCore::CCLayerIterator::operator*):
110875        (WebCore::CCLayerIterator::representsTargetRenderSurface):
110876        (WebCore::CCLayerIterator::representsContributingRenderSurface):
110877        (WebCore::CCLayerIterator::currentLayer):
110878        (WebCore::CCLayerIterator::currentLayerRepresentsContributingRenderSurface):
110879        (WebCore::CCLayerIterator::currentLayerRepresentsTargetRenderSurface):
110880        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
110881        (WebCore::CCLayerIterator::targetRenderSurface):
110882        (WebCore::CCLayerIterator::targetRenderSurfaceChildren):
110883        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
110884
1108852012-02-22  Pavel Feldman  <pfeldman@google.com>
110886
110887        Web Inspector: console doesn't show properly arrays from which tail values have been deleted
110888        https://bugs.webkit.org/show_bug.cgi?id=79242
110889
110890        Reviewed by Yury Semikhatsky.
110891
110892        * English.lproj/localizedStrings.js:
110893        * inspector/front-end/ConsoleMessage.js:
110894        (WebInspector.ConsoleMessageImpl.prototype._printArray.appendUndefined):
110895        (WebInspector.ConsoleMessageImpl.prototype._printArray):
110896
1108972012-02-22  Pavel Feldman  <pfeldman@google.com>
110898
110899        Web Inspector: warning external font mime (font/font/woff).
110900        https://bugs.webkit.org/show_bug.cgi?id=79244
110901
110902        Reviewed by Yury Semikhatsky.
110903
110904        * inspector/front-end/Resource.js:
110905
1109062012-02-22  Yury Semikhatsky  <yurys@chromium.org>
110907
110908        Web Inspector: use dots as markers on the counter graphs
110909        https://bugs.webkit.org/show_bug.cgi?id=79243
110910
110911        Changed counter graphs marker and counter text styles.
110912
110913        Reviewed by Pavel Feldman.
110914
110915        * English.lproj/localizedStrings.js:
110916        * inspector/front-end/MemoryStatistics.js:
110917        (WebInspector.MemoryStatistics):
110918        (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
110919        (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
110920        (WebInspector.MemoryStatistics.prototype._draw):
110921        (WebInspector.MemoryStatistics.prototype._onMouseOut):
110922        (WebInspector.MemoryStatistics.prototype._onMouseOver):
110923        (WebInspector.MemoryStatistics.prototype._onMouseMove):
110924        (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
110925        (WebInspector.MemoryStatistics.prototype._recordIndexAt):
110926        (WebInspector.MemoryStatistics.prototype._highlightCurrentPositionOnGraphs):
110927        (WebInspector.MemoryStatistics.prototype._clearMarkers):
110928        (WebInspector.MemoryStatistics.prototype._saveImageUnderMarker):
110929        (WebInspector.MemoryStatistics.prototype.refresh):
110930        (WebInspector.MemoryStatistics.prototype._drawPolyline):
110931        (WebInspector.MemoryStatistics.prototype._clear):
110932        * inspector/front-end/timelinePanel.css:
110933        (.memory-counter-sidebar-info):
110934        (.memory-counter-sidebar-info .title):
110935        (.memory-counter-sidebar-info .counter-value):
110936
1109372012-02-22  Pavel Feldman  <pfeldman@google.com>
110938
110939        Web Inspector: make 'glue asynchronous events' optional.
110940        https://bugs.webkit.org/show_bug.cgi?id=79240
110941
110942        Reviewed by Yury Semikhatsky.
110943
110944        * English.lproj/localizedStrings.js:
110945        * inspector/front-end/Images/statusbarButtonGlyphs.png:
110946        * inspector/front-end/TimelinePanel.js:
110947        (WebInspector.TimelinePanel.prototype.get statusBarItems):
110948        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
110949        (WebInspector.TimelinePanel.prototype._glueParentButtonClicked):
110950        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
110951        (WebInspector.TimelinePanel.prototype._repopulateRecords):
110952        (WebInspector.TimelinePanel.prototype._findParentRecord):
110953        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
110954        (WebInspector.TimelinePanel.prototype.sidebarResized):
110955        (WebInspector.TimelineCalculator.prototype.computeBarGraphPercentages):
110956        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
110957        (WebInspector.TimelineRecordGraphRow):
110958        (WebInspector.TimelineRecordGraphRow.prototype.update):
110959        (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
110960        * inspector/front-end/timelinePanel.css:
110961        (.glue-async-status-bar-item .glyph):
110962        (.timeline-start-at-zero-status-bar-item .glyph):
110963
1109642012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
110965
110966        Web Inspector: [REGRESSION] Console xhr logging is broken for async xhrs since r107672.
110967        https://bugs.webkit.org/show_bug.cgi?id=79229
110968
110969        Reviewed by Pavel Feldman.
110970
110971        Test: http/tests/inspector/console-xhr-logging-async.html
110972
110973        * inspector/InspectorResourceAgent.cpp:
110974        (WebCore::InspectorResourceAgent::setInitialScriptContent):
110975        * xml/XMLHttpRequest.cpp:
110976        (WebCore::XMLHttpRequest::didFinishLoading):
110977
1109782012-02-22  Andrey Kosyakov  <caseq@chromium.org>
110979
110980        Web Inspector: fix memory counters and start-at-zero modes of timeline panels to co-exist nicely
110981        https://bugs.webkit.org/show_bug.cgi?id=79241
110982
110983        Reviewed by Yury Semikhatsky.
110984
110985        * inspector/front-end/MemoryStatistics.js:
110986        (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
110987        * inspector/front-end/TimelineOverviewPane.js:
110988        (WebInspector.TimelineOverviewPane):
110989        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
110990        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
110991        (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
110992        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
110993        * inspector/front-end/TimelinePanel.js:
110994        (WebInspector.TimelinePanel.prototype._timelinesOverviewModeChanged):
110995
1109962012-02-22  Andrey Kosyakov  <caseq@chromium.org>
110997
110998        Web Inspector: [experimental] add a mode to display timeline events aligned by the start time
110999        https://bugs.webkit.org/show_bug.cgi?id=79123
111000
111001        Reviewed by Pavel Feldman.
111002
111003        * inspector/front-end/Images/statusbarButtonGlyphs.png:
111004        * inspector/front-end/Settings.js:
111005        (WebInspector.ExperimentsSettings):
111006        * inspector/front-end/TimelineOverviewPane.js:
111007        (WebInspector.TimelineOverviewPane):
111008        (WebInspector.TimelineOverviewPane.prototype._showTimelines):
111009        (WebInspector.TimelineOverviewPane.prototype._showMemoryGraph):
111010        (WebInspector.TimelineOverviewPane.prototype._onWindowChanged):
111011        (WebInspector.TimelineOverviewPane.prototype.setStartAtZero):
111012        (WebInspector.TimelineOverviewPane.prototype.update):
111013        (WebInspector.TimelineOverviewPane.prototype.reset):
111014        (WebInspector.TimelineOverviewWindow):
111015        (WebInspector.TimelineOverviewWindow.prototype.reset):
111016        (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
111017        (WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
111018        (WebInspector.TimelineStartAtZeroOverview):
111019        (WebInspector.TimelineStartAtZeroOverview.prototype.reset):
111020        (WebInspector.TimelineStartAtZeroOverview.prototype.update):
111021        (WebInspector.TimelineStartAtZeroOverview.prototype._filterRecords):
111022        (WebInspector.TimelineStartAtZeroOverview.prototype._buildBar):
111023        (WebInspector.TimelineStartAtZeroOverview.prototype._onWindowChanged):
111024        * inspector/front-end/TimelinePanel.js:
111025        (WebInspector.TimelinePanel.prototype.get statusBarItems):
111026        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
111027        (WebInspector.TimelinePanel.prototype._toggleStartAtZeroButtonClicked):
111028        (WebInspector.TimelinePanel.prototype.get _startAtZero):
111029        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
111030        (WebInspector.TimelinePanel.prototype.sidebarResized):
111031        (WebInspector.TimelinePanel.prototype._onRecordsCleared):
111032        (WebInspector.TimelinePanel.prototype._resetPanel):
111033        (WebInspector.TimelinePanel.prototype._scheduleRefresh):
111034        (WebInspector.TimelinePanel.prototype._refresh):
111035        (WebInspector.TimelinePanel.prototype._filterRecords):
111036        (WebInspector.TimelinePanel.prototype._refreshRecords):
111037        (WebInspector.TimelineCalculator.prototype.computeBarGraphWindowPosition):
111038        (WebInspector.TimelineStartAtZeroCalculator):
111039        (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphPercentages):
111040        (WebInspector.TimelineStartAtZeroCalculator.prototype.computeBarGraphWindowPosition):
111041        (WebInspector.TimelineStartAtZeroCalculator.prototype.calculateWindow):
111042        (WebInspector.TimelineStartAtZeroCalculator.prototype.reset):
111043        (WebInspector.TimelineStartAtZeroCalculator.prototype.updateBoundaries):
111044        (WebInspector.TimelineStartAtZeroCalculator.prototype.formatValue):
111045        (WebInspector.TimelinePanel.FormattedRecord):
111046        (WebInspector.TimelinePanel.FormattedRecord.prototype._generateAggregatedInfo):
111047        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
111048        (WebInspector.TimelinePanel.FormattedRecord.prototype._calculateAggregatedStats):
111049        (WebInspector.TimelinePanel.FormattedRecord.prototype.get aggregatedStats):
111050        (WebInspector.TimelineModel.prototype.get records):
111051        (WebInspector.TimelinePresentationModel):
111052        (WebInspector.TimelinePresentationModel.prototype.reset):
111053        (WebInspector.TimelinePresentationModel.prototype.setWindowIndices):
111054        (WebInspector.TimelineRecordFilter):
111055        (WebInspector.TimelineRecordFilter.prototype.accept):
111056        (WebInspector.TimelineStartAtZeroRecordFilter):
111057        (WebInspector.TimelineStartAtZeroRecordFilter.prototype.accept):
111058        * inspector/front-end/timelinePanel.css:
111059        (.timeline-start-at-zero #timeline-overview-sidebar):
111060        (.timeline-start-at-zero #timeline-overview-grid):
111061        (.timeline-overview-window):
111062        (.timeline-start-at-zero .timeline-overview-window):
111063        (.timeline-start-at-zero .timeline-overview-dividers-background):
111064        (.timeline-overview-window-rulers):
111065        (.timeline-start-at-zero #timeline-overview-memory):
111066        (.popover .timeline-loading):
111067        (.popover .timeline-scripting):
111068        (.popover .timeline-rendering):
111069        (.timeline-start-at-zero-status-bar-item .glyph):
111070        (.timeline-start-at-zero-status-bar-item.toggled-on .glyph):
111071        (.timeline-overview-start-at-zero):
111072        (.timeline-overview-start-at-zero-bars):
111073        (.timeline-overview-start-at-zero-bars .padding):
111074        (.timeline-overview-start-at-zero-bars .timeline-bar-vertical):
111075        (.timeline-bar-vertical div:first-child):
111076        (.timeline-bar-vertical .timeline-loading):
111077        (.timeline-bar-vertical .timeline-scripting):
111078        (.timeline-bar-vertical .timeline-rendering):
111079
1110802012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
111081
111082        [Qt] Disregard previous backing store as soon as possible
111083        https://bugs.webkit.org/show_bug.cgi?id=79232
111084
111085        Reviewed by Simon Hausmann and No'am Rosenthal.
111086
111087        Make it possible to drop non-visible tiles and to test
111088        if the current visible rect is fully covered.
111089
111090        * platform/graphics/TiledBackingStore.cpp:
111091        (WebCore::TiledBackingStore::visibleContentsRect):
111092        (WebCore::TiledBackingStore::coverageRatio):
111093        (WebCore::TiledBackingStore::visibleAreaIsCovered):
111094        (WebCore):
111095        (WebCore::TiledBackingStore::createTiles):
111096        (WebCore::TiledBackingStore::removeAllNonVisibleTiles):
111097        * platform/graphics/TiledBackingStore.h:
111098        (TiledBackingStore):
111099
1111002012-02-22  Simon Hausmann  <simon.hausmann@nokia.com>
111101
111102        [Qt] Move QMenu dependant scrollbar context menu handling out of WebCore
111103        https://bugs.webkit.org/show_bug.cgi?id=79233
111104
111105        Reviewed by Kenneth Rohde Christiansen.
111106
111107        Move the code into WebKit/qt/Api/qwebpage.cpp, the only place where it is called from.
111108
111109        * Target.pri: Remove ScrollbarQt.cpp from build.
111110        * platform/Scrollbar.h: Remove Qt-only context menu handling but make moveThum
111111        accessible from the outside.
111112        * platform/qt/ScrollbarQt.cpp: Removed. Not needed anymore.
111113
1111142012-02-22  Vsevolod Vlasov  <vsevik@chromium.org>
111115
111116        Web Inspector: retrieving content for some XHR requests crashes inspected page renderer
111117        https://bugs.webkit.org/show_bug.cgi?id=79026
111118
111119        Reviewed by Pavel Feldman.
111120
111121        Fixed loading empty xhr content and xhr content decoding that was
111122        broken in r107672.
111123
111124        Tests: http/tests/inspector/network/network-cyrillic-xhr.html
111125               http/tests/inspector/network/network-empty-xhr.html
111126
111127        * inspector/InspectorPageAgent.cpp:
111128        (WebCore):
111129        (WebCore::InspectorPageAgent::createDecoder):
111130        (WebCore::InspectorPageAgent::cachedResourceContent):
111131        * inspector/InspectorPageAgent.h:
111132        (WebCore):
111133        * inspector/NetworkResourcesData.cpp:
111134        (WebCore::NetworkResourcesData::ResourceData::decodeDataToContent):
111135        (WebCore::NetworkResourcesData::responseReceived):
111136        * inspector/NetworkResourcesData.h:
111137        (WebCore::NetworkResourcesData::ResourceData::decoder):
111138        (WebCore::NetworkResourcesData::ResourceData::setDecoder):
111139
1111402012-02-22  Peter Rybin  <peter.rybin@gmail.com>
111141
111142        Web Inspector: CodeGeneratorInspector.py: remove neural-net-style constructions
111143        https://bugs.webkit.org/show_bug.cgi?id=79153
111144
111145        Reviewed by Yury Semikhatsky.
111146
111147        CParamType class removed completely, some ("virtual") methods are
111148        removed. TypeModel notion is added instead with some minor helper
111149        classes and methods.
111150
111151        * inspector/CodeGeneratorInspector.py:
111152        (DomainNameFixes):
111153        (RawTypes.BaseType):
111154        (RawTypes.String):
111155        (RawTypes.String.get_raw_type_model):
111156        (RawTypes.Int):
111157        (RawTypes.Int.get_raw_type_model):
111158        (RawTypes.Number):
111159        (RawTypes.Number.get_raw_type_model):
111160        (RawTypes.Bool):
111161        (RawTypes.Bool.get_raw_type_model):
111162        (RawTypes.Object):
111163        (RawTypes.Object.get_raw_type_model):
111164        (RawTypes.Any):
111165        (RawTypes.Any.get_raw_type_model):
111166        (RawTypes.Array):
111167        (RawTypes.Array.get_raw_type_model):
111168        (replace_right_shift):
111169        (CommandReturnPassModel):
111170        (CommandReturnPassModel.ByReference):
111171        (CommandReturnPassModel.ByReference.__init__):
111172        (CommandReturnPassModel.ByReference.get_return_var_type):
111173        (CommandReturnPassModel.get_output_argument_prefix):
111174        (CommandReturnPassModel.get_output_to_raw_expression):
111175        (CommandReturnPassModel.get_output_parameter_type):
111176        (CommandReturnPassModel.get_set_return_condition):
111177        (CommandReturnPassModel.ByPointer):
111178        (CommandReturnPassModel.ByPointer.__init__):
111179        (CommandReturnPassModel.ByPointer.get_return_var_type):
111180        (TypeModel):
111181        (TypeModel.RefPtrBased):
111182        (TypeModel.RefPtrBased.__init__):
111183        (TypeModel.RefPtrBased.get_optional):
111184        (TypeModel.RefPtrBased.get_command_return_pass_model):
111185        (TypeModel.RefPtrBased.get_input_param_type_text):
111186        (TypeModel.RefPtrBased.get_event_setter_expression_pattern):
111187        (TypeModel.Enum):
111188        (TypeModel.Enum.__init__):
111189        (TypeModel.Enum.get_optional):
111190        (TypeModel.Enum.get_optional.EnumOptional):
111191        (TypeModel.Enum.get_optional.EnumOptional.get_optional):
111192        (TypeModel.Enum.get_optional.EnumOptional.get_command_return_pass_model):
111193        (TypeModel.Enum.get_input_param_type_text):
111194        (TypeModel.Enum.get_event_setter_expression_pattern):
111195        (TypeModel.Enum.get_command_return_pass_model):
111196        (TypeModel.ValueType):
111197        (TypeModel.ValueType.__init__):
111198        (TypeModel.ValueType.get_optional):
111199        (TypeModel.ValueType.get_command_return_pass_model):
111200        (TypeModel.ValueType.get_input_param_type_text):
111201        (TypeModel.ValueType.get_event_setter_expression_pattern):
111202        (TypeModel.ValueType.ValueOptional):
111203        (TypeModel.ValueType.ValueOptional.__init__):
111204        (TypeModel.ValueType.ValueOptional.get_optional):
111205        (TypeModel.ValueType.ValueOptional.get_command_return_pass_model):
111206        (TypeModel.ValueType.ValueOptional.get_input_param_type_text):
111207        (TypeModel.ValueType.ValueOptional.get_event_setter_expression_pattern):
111208        (TypeModel.init_class):
111209        (TypeBindings.create_ad_hoc_type_declaration.Helper):
111210        (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
111211        (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
111212        (TypeBindings.create_type_declaration_.EnumBinding):
111213        (TypeBindings.create_type_declaration_.EnumBinding.get_type_model):
111214        (TypeBindings.create_type_declaration_):
111215        (TypeBindings.create_type_declaration_.get_type_model):
111216        (TypeBindings.create_type_declaration_.get_array_item_c_type_text):
111217        (get_type_model):
111218        (AdHocTypeContextImpl.__init__):
111219        (PlainObjectBinding):
111220        (PlainObjectBinding.get_type_model):
111221        (AdHocTypeContext):
111222        (ArrayBinding.get_array_item_c_type_text):
111223        (ArrayBinding):
111224        (ArrayBinding.get_type_model):
111225        (RawTypeBinding.get_validator_call_text):
111226        (RawTypeBinding.reduce_to_raw_type):
111227        (RawTypeBinding):
111228        (RawTypeBinding.get_type_model):
111229        (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
111230        (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
111231        (MethodGenerateModes.CombinedMode.get_c_param_type_text):
111232        (Generator.go):
111233        (Generator.process_event):
111234        (Generator.process_command):
111235        (Generator.resolve_type_and_generate_ad_hoc):
111236        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
111237        * inspector/InspectorDebuggerAgent.cpp:
111238        (WebCore::InspectorDebuggerAgent::didParseSource):
111239
1112402012-02-21  Vsevolod Vlasov  <vsevik@chromium.org>
111241
111242        Web Inspector: [InspectorIndexedDB] Show IndexedDB views on selection IndexedDB elements in resources panel.
111243        https://bugs.webkit.org/show_bug.cgi?id=79098
111244
111245        Reviewed by Pavel Feldman.
111246
111247        * English.lproj/localizedStrings.js:
111248        * WebCore.gypi:
111249        * WebCore.vcproj/WebCore.vcproj:
111250        * inspector/InspectorIndexedDBAgent.cpp:
111251        (WebCore):
111252        * inspector/compile-front-end.sh:
111253        * inspector/front-end/IndexedDBModel.js:
111254        (WebInspector.IndexedDBModel.prototype._assertFrameId):
111255        (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
111256        (WebInspector.IndexedDBModel.prototype.loadIndexData):
111257        * inspector/front-end/IndexedDBViews.js: Added.
111258        * inspector/front-end/ObjectPropertiesSection.js:
111259        (WebInspector.ObjectPropertiesSection):
111260        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
111261        * inspector/front-end/ResourcesPanel.js:
111262        (WebInspector.ResourcesPanel.prototype.showIndexedDB):
111263        (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
111264        (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
111265        (WebInspector.IDBDatabaseTreeElement):
111266        (WebInspector.IDBDatabaseTreeElement.prototype.get itemURL):
111267        (WebInspector.IDBDatabaseTreeElement.prototype.update):
111268        (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
111269        (WebInspector.IDBObjectStoreTreeElement):
111270        (WebInspector.IDBObjectStoreTreeElement.prototype.get itemURL):
111271        (WebInspector.IDBObjectStoreTreeElement.prototype.update):
111272        (WebInspector.IDBObjectStoreTreeElement.prototype.onselect):
111273        (WebInspector.IDBIndexTreeElement):
111274        (WebInspector.IDBIndexTreeElement.prototype.get itemURL):
111275        (WebInspector.IDBIndexTreeElement.prototype.update):
111276        (WebInspector.IDBIndexTreeElement.prototype.onselect):
111277        * inspector/front-end/WebKit.qrc:
111278        * inspector/front-end/externs.js:
111279        * inspector/front-end/indexedDBViews.css: Added.
111280        * inspector/front-end/inspector.html:
111281
1112822012-02-22  Nikolas Zimmermann  <nzimmermann@rim.com>
111283
111284        REGRESSION(58212): html foreignObjects with positions other than static not hidden correctly when parent has display:none
111285        https://bugs.webkit.org/show_bug.cgi?id=41386
111286
111287        Reviewed by Zoltan Herczeg.
111288
111289        r58212 gave SVGGElements a renderer, regardless if "display: none" was set or not, for various reasons (see change set).
111290        The <g> renderer for such cases is a RenderSVGHiddenContainer. We make sure in SVG that such subtrees are never used
111291        for painting & hittesting - they only exist for the purpose of SVG DOM (query getCTM, etc..) and to create renderers
111292        for child resources, like <g display="none"><linearGradient>.
111293
111294        This concept still works fine for: <g display="none"><foreignObject><body>Foobar</body></foreignObject></g>, as
111295        RenderSVGForeignObject::paint is never called thus we never paint the subtree of the <fO>. If the <body> elements
111296        contains "position: relative" a new layer is created for the <body>. When the document paints we have two seperated
111297        layers, and the <body> layer doesn't know that it's actually inside a "SVG hidden subtree", and gets painted, where it
111298        shouldn't. HTML doesn't have this problems, as a display: none object, never creates a renderer.
111299
111300        The fix is to disallow layer creation in hidden SVG subtrees, to mimic what would happen if we'd follow HTML rules
111301        to not create renderers for display: none objects. This avoids any indirections - as no layers are created anymore.
111302
111303        Tests: svg/foreignObject/fO-display-none-with-relative-pos-content.svg
111304               svg/foreignObject/fO-display-none.svg
111305               svg/foreignObject/fO-parent-display-changes.svg
111306               svg/foreignObject/fO-parent-display-none-with-relative-pos-content.svg
111307               svg/foreignObject/fO-parent-display-none.svg
111308               svg/foreignObject/fO-parent-of-parent-display-none-with-relative-pos-content.svg
111309               svg/foreignObject/fO-parent-of-parent-display-none.svg
111310
111311        * rendering/RenderBoxModelObject.cpp:
111312        (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.
111313        * rendering/RenderObject.cpp:
111314        (WebCore::RenderObject::addChild): Only create layers, if its allowed.
111315        * rendering/RenderObject.h: Add inline layerCreationAllowedForSubtree() helper, that craws the tree to find a RenderSVGHiddenContainer ancestor, if not present, return true.
111316
1113172012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>
111318
111319        Drop clipToImageBuffer from RenderBoxModelObject
111320        https://bugs.webkit.org/show_bug.cgi?id=79225
111321
111322        Reviewed by Nikolas Zimmermann.
111323
111324        -webkit-background-clip: text is a rarely used non-standard
111325        feature uses clipToImageBuffer. It is replaced by
111326        CompositeDestinationIn on a transparent layer. The new
111327        approach has the same speed as the old one.
111328
111329        Existing tests cover this issue.
111330
111331        * rendering/RenderBoxModelObject.cpp:
111332        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
111333
1113342012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
111335
111336        Merge setVisibleRectTrajectoryVector and adjustVisibleRect to
111337        the more descriptive coverWithTilesIfNeeded
111338        https://bugs.webkit.org/show_bug.cgi?id=79230
111339
111340        Reviewed by Simon Hausmann.
111341
111342        Both setVisibleRectTrajectoryVector and the adjustVisibleRect are
111343        used for initiating re-tiling, so make that more obvious and merge
111344        the two.
111345
111346        * platform/graphics/TiledBackingStore.cpp:
111347        (WebCore::TiledBackingStore::coverWithTilesIfNeeded):
111348        * platform/graphics/TiledBackingStore.h:
111349        (TiledBackingStore):
111350
1113512012-02-17  Nikolas Zimmermann  <nzimmermann@rim.com>
111352
111353        REGRESSION: unbalanced transparency layers for clipPath
111354        https://bugs.webkit.org/show_bug.cgi?id=78074
111355
111356        Reviewed by Zoltan Herczeg.
111357
111358        If we're rendering to a mask image buffer, all children are rendered with opacity=1, regardless what their RenderStyles specify.
111359        SVGRenderSupport::finishRenderSVGContent() did not take this into account and always called endTransparencyLayer(). Fix that
111360        by checking if we're rendering to a mask image buffer, if so don't call endTransparencyLayer().
111361
111362        Add new reftest covering both the visual & logical correctness (no assertion).
111363
111364        Tests: svg/clip-path/opacity-assertion-expected.svg
111365               svg/clip-path/opacity-assertion.svg
111366
111367        * rendering/svg/SVGRenderSupport.cpp:
111368        (WebCore::isRenderingMaskImage): Extraced as sharable helper function.
111369        (WebCore::SVGRenderSupport::prepareToRenderSVGContent): Factor out isRenderingMaskImage() function.
111370        (WebCore::SVGRenderSupport::finishRenderSVGContent): Only call endTransparencyLayer(), if we actually called beginTL() first. 
111371
1113722012-02-22  Kenneth Rohde Christiansen  <kenneth@webkit.org>
111373
111374        Improve comments in tiling code.
111375
111376        Rubberstamped by Simon Hausmann.
111377
111378        * platform/graphics/TiledBackingStore.cpp:
111379        (WebCore::TiledBackingStore::createTiles):
111380
1113812012-02-22  'Pavel Feldman'  <pfeldman@google.com>
111382
111383        Not reviewed: build fix.
111384
111385        * inspector/InspectorController.cpp:
111386        * inspector/InspectorController.h:
111387        (InspectorController):
111388
1113892012-02-21  Pavel Feldman  <pfeldman@google.com>
111390
111391        Web Inspector: do not filter out requestAnimationFrame from timeline, implement stop on animation events.
111392        https://bugs.webkit.org/show_bug.cgi?id=79116
111393
111394        Reviewed by Yury Semikhatsky.
111395
111396        * English.lproj/localizedStrings.js:
111397        * dom/ScriptedAnimationController.cpp:
111398        (WebCore::ScriptedAnimationController::registerCallback):
111399        * inspector/InspectorInstrumentation.cpp:
111400        (WebCore):
111401        (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallbackImpl):
111402        (WebCore::InspectorInstrumentation::didCancelAnimationFrameCallbackImpl):
111403        (WebCore::InspectorInstrumentation::willFireAnimationFrameEventImpl):
111404        * inspector/InspectorInstrumentation.h:
111405        (InspectorInstrumentation):
111406        (WebCore::InspectorInstrumentation::didRequestAnimationFrameCallback):
111407        * inspector/InspectorTimelineAgent.cpp:
111408        (TimelineRecordType):
111409        (WebCore::InspectorTimelineAgent::didRequestAnimationFrameCallback):
111410        (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
111411        (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
111412        (WebCore::InspectorTimelineAgent::didFireAnimationFrameEvent):
111413        * inspector/InspectorTimelineAgent.h:
111414        (InspectorTimelineAgent):
111415        * inspector/front-end/BreakpointsSidebarPane.js:
111416        (WebInspector.EventListenerBreakpointsSidebarPane):
111417        (WebInspector.EventListenerBreakpointsSidebarPane.eventNameForUI):
111418        * inspector/front-end/TimelineAgent.js:
111419        * inspector/front-end/TimelinePanel.js:
111420        (WebInspector.TimelinePanel):
111421        (WebInspector.TimelinePanel.prototype.get _recordStyles):
111422        (WebInspector.TimelinePanel.prototype._findParentRecord):
111423        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
111424        (WebInspector.TimelinePanel.prototype._onRecordsCleared):
111425        (WebInspector.TimelinePanel.FormattedRecord):
111426        (WebInspector.TimelinePanel.FormattedRecord.prototype._generatePopupContent):
111427        (WebInspector.TimelinePanel.FormattedRecord.prototype._getRecordDetails):
111428
1114292012-02-22  Changhun Kang  <temoochin@company100.net>
111430
111431        Remove unused class declaration in WebCore/page/scrolling/ScrollingCoordinator.h
111432        https://bugs.webkit.org/show_bug.cgi?id=79175
111433
111434        Reviewed by Kentaro Hara.
111435
111436        * page/scrolling/ScrollingCoordinator.h:
111437        Remove PlatformGestureEvent class declaration.
111438        (WebCore):
111439
1114402012-02-22  Andras Becsi  <andras.becsi@nokia.com>
111441
111442        [Qt][WK2] Fix the N9 build
111443        https://bugs.webkit.org/show_bug.cgi?id=79101
111444
111445        Reviewed by Simon Hausmann.
111446
111447        Fixed the include order of the rolled out r108359 not to break
111448        the build with CONFIG+=force_static_libs_as_shared.
111449
111450        * platform/graphics/OpenGLShims.h: Add missing include.
111451
1114522012-02-22  Shinya Kawanaka  <shinyak@chromium.org>
111453
111454        firstRendererOf() should also return a fallback element renderer in NodeRenderingContext.
111455        https://bugs.webkit.org/show_bug.cgi?id=79180
111456
111457        Reviewed by Hajime Morita.
111458
111459        Currently we have handled AttachingFallback in some special mannger, however if firstRendererOf
111460        and lastRendererOf return a fallback element renderer, we don't need to handle it in such a manner.
111461
111462        We have introduced new attaching phase: AttachingFallbacked, and AttachingNotFallbacked.
111463        They are used for fallback elements.
111464
111465        Added new test cases in:
111466          fast/dom/shadow/shadow-contents-fallback.html
111467          fast/dom/shadow/shadow-contents-fallback-dynamic.html
111468
111469        * dom/NodeRenderingContext.cpp:
111470        (WebCore::NodeRenderingContext::NodeRenderingContext):
111471        (WebCore::firstRendererOf):
111472        (WebCore::lastRendererOf):
111473        (WebCore::NodeRenderingContext::nextRenderer):
111474        (WebCore::NodeRenderingContext::previousRenderer):
111475        (WebCore::NodeRenderingContext::shouldCreateRenderer):
111476        * dom/NodeRenderingContext.h:
111477        * html/shadow/InsertionPoint.h:
111478        (WebCore::isInsertionPoint):
111479        (WebCore):
111480        (WebCore::toInsertionPoint):
111481
1114822012-02-22  Csaba Osztrogonác  <ossy@webkit.org>
111483
111484        [Qt] Unreviewed gardening after r108464.
111485
111486        * Target.pri:
111487
1114882012-02-22  Sheriff Bot  <webkit.review.bot@gmail.com>
111489
111490        Unreviewed, rolling out r108468.
111491        http://trac.webkit.org/changeset/108468
111492        https://bugs.webkit.org/show_bug.cgi?id=79219
111493
111494        Broke Chromium Win release build (Requested by bashi on
111495        #webkit).
111496
111497        * CMakeLists.txt:
111498        * GNUmakefile.list.am:
111499        * Target.pri:
111500        * WebCore.gypi:
111501        * WebCore.vcproj/WebCore.vcproj:
111502        * WebCore.xcodeproj/project.pbxproj:
111503        * websockets/WebSocket.cpp:
111504        (WebCore::WebSocket::didConnect):
111505        * websockets/WebSocketChannel.cpp:
111506        (WebCore::WebSocketChannel::connect):
111507        (WebCore::WebSocketChannel::fail):
111508        (WebCore::WebSocketChannel::processFrame):
111509        (WebCore::WebSocketChannel::sendFrame):
111510        * websockets/WebSocketChannel.h:
111511        * websockets/WebSocketDeflateFramer.cpp: Removed.
111512        * websockets/WebSocketDeflateFramer.h: Removed.
111513
1115142012-02-20  Roland Steiner  <rolandsteiner@chromium.org>
111515
111516        <style scoped>: Add runtime-flag
111517        https://bugs.webkit.org/show_bug.cgi?id=79074
111518
111519        Added runtime-flag.
111520        Query runtime flag when (un)registering a <style scoped> element, and when determineing a style sheet's scope.
111521
111522        Reviewed by Dimitri Glazkov.
111523
111524        No new tests. (no change in functionality)
111525
111526        * bindings/generic/RuntimeEnabledFeatures.cpp:
111527        (WebCore):
111528        * bindings/generic/RuntimeEnabledFeatures.h:
111529        (RuntimeEnabledFeatures):
111530        (WebCore::RuntimeEnabledFeatures::styleScopedEnabled):
111531        (WebCore::RuntimeEnabledFeatures::setStyleScopedEnabled):
111532        * css/CSSStyleSelector.cpp:
111533        (WebCore::CSSStyleSelector::determineScopingElement):
111534        * html/HTMLStyleElement.cpp:
111535        (WebCore::HTMLStyleElement::registerWithScopingNode):
111536        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
111537        * html/HTMLStyleElement.idl:
111538
1115392012-02-21  Alexander Pavlov  <apavlov@chromium.org>
111540
111541        Web Inspector: Audit rules to recommend unprefixing supported CSS properties
111542        https://bugs.webkit.org/show_bug.cgi?id=78985
111543
111544        Reviewed by Pavel Feldman.
111545
111546        * inspector/front-end/AuditCategories.js:
111547        (WebInspector.AuditCategories.PagePerformance.prototype.initialize):
111548        * inspector/front-end/AuditRules.js:
111549        (WebInspector.AuditRules.CSSRuleBase):
111550        (WebInspector.AuditRules.CSSRuleBase.prototype.doRun.sheetsCallback):
111551        (WebInspector.AuditRules.CSSRuleBase.prototype.doRun):
111552        (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet.sheetCallback):
111553        (WebInspector.AuditRules.CSSRuleBase.prototype._visitStyleSheet):
111554        (WebInspector.AuditRules.CSSRuleBase.prototype._visitRule):
111555        (WebInspector.AuditRules.CSSRuleBase.prototype.visitStyleSheet):
111556        (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitStyleSheet):
111557        (WebInspector.AuditRules.CSSRuleBase.prototype.visitRule):
111558        (WebInspector.AuditRules.CSSRuleBase.prototype.didVisitRule):
111559        (WebInspector.AuditRules.CSSRuleBase.prototype.visitProperty):
111560        (WebInspector.AuditRules.VendorPrefixedCSSProperties):
111561        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitStyleSheet):
111562        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitRule):
111563        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.didVisitRule):
111564        (WebInspector.AuditRules.VendorPrefixedCSSProperties.prototype.visitProperty):
111565        * inspector/front-end/ResourceUtils.js:
111566
1115672012-02-22  Shinya Kawanaka  <shinyak@chromium.org>
111568
111569        Node::attach() should be after attaching children in Element::attach().
111570        https://bugs.webkit.org/show_bug.cgi?id=79201
111571
111572        Reviewed by Hajime Morita.
111573
111574        In Element::attach(), Node::attach() is called before attaching children if a shaodw root exists.
111575        This may cause O(N^2) problem in NodeRenderingContext.
111576
111577        No new tests. Existing tests should cover this.
111578
111579        * dom/Element.cpp:
111580        (WebCore::Element::attach):
111581
1115822012-02-22  Kenichi Ishibashi  <bashi@chromium.org>
111583
111584        Adding WebSocket per-frame DEFLATE extension
111585        https://bugs.webkit.org/show_bug.cgi?id=77522
111586
111587        Add WebSocketDeflateFramer class which handles deflate-frame extension.
111588        This class encapsulates WebSocketDeflater and WebSocketInflater classes,
111589        which depend on zlib, so that WebSocketChannel is not necessary to aware
111590        zlib dependency.
111591
111592        Reviewed by Kent Tamura.
111593
111594        Tests: http/tests/websocket/tests/hybi/compressed-control-frame.html
111595               http/tests/websocket/tests/hybi/deflate-frame-comp-bit-onoff.html
111596               http/tests/websocket/tests/hybi/deflate-frame-invalid-parameter.html
111597               http/tests/websocket/tests/hybi/deflate-frame-parameter.html
111598
111599        * CMakeLists.txt: Added WebSocketDeflateFramer.(cpp|h)
111600        * GNUmakefile.list.am: Ditto.
111601        * Target.pri: Ditto.
111602        * WebCore.gypi: Ditto.
111603        * WebCore.vcproj/WebCore.vcproj: Ditto.
111604        * WebCore.xcodeproj/project.pbxproj: Ditto.
111605        * websockets/WebSocket.cpp:
111606        (WebCore::WebSocket::didConnect): Set m_extensions.
111607        * websockets/WebSocketChannel.cpp:
111608        (WebCore::WebSocketChannel::connect): Add deflate-frame extension processor to WebSocketHanshake if deflate can use.
111609        (WebCore::WebSocketChannel::fail): Call m_deflateFramer.didFail().
111610        (WebCore::WebSocketChannel::processFrame): Decompress frames if needed.
111611        (WebCore::WebSocketChannel::sendFrame): Compress frames if possible.
111612        * websockets/WebSocketChannel.h:
111613        * websockets/WebSocketDeflateFramer.cpp: Added.
111614        (WebCore):
111615        (WebSocketExtensionDeflateFrame):
111616        (WebCore::WebSocketExtensionDeflateFrame::create):
111617        (WebCore::WebSocketExtensionDeflateFrame::~WebSocketExtensionDeflateFrame):
111618        (WebCore::WebSocketExtensionDeflateFrame::WebSocketExtensionDeflateFrame):
111619        (WebCore::WebSocketExtensionDeflateFrame::handshakeString):
111620        (WebCore::WebSocketExtensionDeflateFrame::processResponse):
111621        (WebCore::DeflateResultHolder::DeflateResultHolder):
111622        (WebCore::DeflateResultHolder::~DeflateResultHolder):
111623        (WebCore::DeflateResultHolder::fail):
111624        (WebCore::InflateResultHolder::InflateResultHolder):
111625        (WebCore::InflateResultHolder::~InflateResultHolder):
111626        (WebCore::InflateResultHolder::fail):
111627        (WebCore::WebSocketDeflateFramer::WebSocketDeflateFramer):
111628        (WebCore::WebSocketDeflateFramer::createExtensionProcessor):
111629        (WebCore::WebSocketDeflateFramer::canDeflate):
111630        (WebCore::WebSocketDeflateFramer::enableDeflate):
111631        (WebCore::WebSocketDeflateFramer::deflate):
111632        (WebCore::WebSocketDeflateFramer::resetDeflateContext):
111633        (WebCore::WebSocketDeflateFramer::inflate):
111634        (WebCore::WebSocketDeflateFramer::resetInflateContext):
111635        (WebCore::WebSocketDeflateFramer::didFail):
111636        * websockets/WebSocketDeflateFramer.h: Added.
111637        (WebCore):
111638        (DeflateResultHolder):
111639        (WebCore::DeflateResultHolder::succeeded):
111640        (WebCore::DeflateResultHolder::failureReason):
111641        (InflateResultHolder):
111642        (WebCore::InflateResultHolder::succeeded):
111643        (WebCore::InflateResultHolder::failureReason):
111644        (WebSocketDeflateFramer):
111645        (WebCore::WebSocketDeflateFramer::enabled):
111646
1116472012-02-22  Yuta Kitamura  <yutak@chromium.org>
111648
111649        Unreviewed, rolling out r108453.
111650        http://trac.webkit.org/changeset/108453
111651        https://bugs.webkit.org/show_bug.cgi?id=78549
111652
111653        Broke Chromium's webkit_unit_tests.
111654
111655        * WebCore.gypi:
111656        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Removed.
111657        * platform/graphics/chromium/cc/CCOcclusionTracker.h: Removed.
111658
1116592012-02-22  Zoltan Herczeg  <zherczeg@webkit.org>
111660
111661        [Qt] clipToImageBuffer assertion fix in debug mode on Qt.
111662
111663        Rubber stamped by Csaba Osztrogonác.
111664
111665        * platform/graphics/qt/GraphicsContextQt.cpp:
111666        (WebCore::GraphicsContext::restorePlatformState):
111667
1116682012-02-22  Adam Barth  <abarth@webkit.org>
111669
111670        [GTK] fast/frames/frame-dead-region.html crash
111671        https://bugs.webkit.org/show_bug.cgi?id=79205
111672
111673        Unreviewed.
111674
111675        Apparently we're not supposed to call willDetachPage from
111676        CachedFrame::destroy.  This call got added in
111677        http://trac.webkit.org/changeset/108428, but it seems to cause a crash.
111678
111679        * loader/FrameLoader.cpp:
111680        (WebCore::FrameLoader::closeAndRemoveChild):
111681        (WebCore::FrameLoader::detachFromParent):
111682        * page/Frame.h:
111683        (WebCore::Frame::detachFromPage):
111684        * page/Page.cpp:
111685        (WebCore::Page::~Page):
111686
1116872012-02-22  Adam Barth  <abarth@webkit.org>
111688
111689        Move Geolocation code into Modules/geolocation
111690        https://bugs.webkit.org/show_bug.cgi?id=79204
111691
111692        Reviewed by Hajime Morita.
111693
111694        There are still some dangling references into the Geolocation module,
111695        which I will clean up in a followup patch.
111696
111697        * CMakeLists.txt:
111698        * DerivedSources.make:
111699        * DerivedSources.pri:
111700        * GNUmakefile.list.am:
111701        * Modules/geolocation/Geolocation.cpp: Copied from Source/WebCore/page/Geolocation.cpp.
111702        * Modules/geolocation/Geolocation.h: Copied from Source/WebCore/page/Geolocation.h.
111703        * Modules/geolocation/Geolocation.idl: Copied from Source/WebCore/page/Geolocation.idl.
111704        * Modules/geolocation/GeolocationController.cpp: Copied from Source/WebCore/page/GeolocationController.cpp.
111705        * Modules/geolocation/GeolocationController.h: Copied from Source/WebCore/page/GeolocationController.h.
111706        * Modules/geolocation/GeolocationError.h: Copied from Source/WebCore/page/GeolocationError.h.
111707        * Modules/geolocation/GeolocationPosition.h: Copied from Source/WebCore/page/GeolocationPosition.h.
111708        * Modules/geolocation/Geoposition.h: Copied from Source/WebCore/page/Geoposition.h.
111709        * Modules/geolocation/Geoposition.idl: Copied from Source/WebCore/page/Geoposition.idl.
111710        * Modules/geolocation/PositionCallback.h: Copied from Source/WebCore/page/PositionCallback.h.
111711        * Modules/geolocation/PositionCallback.idl: Copied from Source/WebCore/page/PositionCallback.idl.
111712        * Modules/geolocation/PositionError.h: Copied from Source/WebCore/page/PositionError.h.
111713        * Modules/geolocation/PositionError.idl: Copied from Source/WebCore/page/PositionError.idl.
111714        * Modules/geolocation/PositionErrorCallback.h: Copied from Source/WebCore/page/PositionErrorCallback.h.
111715        * Modules/geolocation/PositionErrorCallback.idl: Copied from Source/WebCore/page/PositionErrorCallback.idl.
111716        * Modules/geolocation/PositionOptions.h: Copied from Source/WebCore/page/PositionOptions.h.
111717        * Target.pri:
111718        * WebCore.gypi:
111719        * WebCore.vcproj/WebCore.vcproj:
111720        * WebCore.xcodeproj/project.pbxproj:
111721        * page/Geolocation.cpp: Removed.
111722        * page/Geolocation.h: Removed.
111723        * page/Geolocation.idl: Removed.
111724        * page/GeolocationController.cpp: Removed.
111725        * page/GeolocationController.h: Removed.
111726        * page/GeolocationError.h: Removed.
111727        * page/GeolocationPosition.h: Removed.
111728        * page/Geoposition.h: Removed.
111729        * page/Geoposition.idl: Removed.
111730        * page/PositionCallback.h: Removed.
111731        * page/PositionCallback.idl: Removed.
111732        * page/PositionError.h: Removed.
111733        * page/PositionError.idl: Removed.
111734        * page/PositionErrorCallback.h: Removed.
111735        * page/PositionErrorCallback.idl: Removed.
111736        * page/PositionOptions.h: Removed.
111737
1117382012-02-22  Frederik Gladhorn  <frederik.gladhorn@nokia.com>
111739
111740        [gtk] Accessibility: use find funtion in vector instead of for.
111741        https://bugs.webkit.org/show_bug.cgi?id=77878
111742
111743        Reviewed by Hajime Morita.
111744
111745        Minor cleanup, use the find function from vector.
111746
111747        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
111748        (webkitAccessibleGetIndexInParent):
111749
1117502012-02-22  Ryosuke Niwa  <rniwa@webkit.org>
111751
111752        Remove the remaining uses of CSSStyleDeclaration in Editor
111753        https://bugs.webkit.org/show_bug.cgi?id=78939
111754
111755        Reviewed by Enrica Casucci.
111756
111757        Changed the argument types of shouldApplyStyle, applyParagraphStyle, applyStyleToSelection,
111758        applyParagraphStyleToSelection, and computeAndSetTypingStyle in Editor from CSSStyleDeclaration
111759        to StylePropertySet.
111760
111761        * WebCore.exp.in:
111762        * WebCore.xcodeproj/project.pbxproj:
111763        * editing/Editor.cpp:
111764        (WebCore::Editor::applyStyle):
111765        (WebCore::Editor::shouldApplyStyle):
111766        (WebCore::Editor::applyParagraphStyle):
111767        (WebCore::Editor::applyStyleToSelection):
111768        (WebCore::Editor::applyParagraphStyleToSelection):
111769        (WebCore::Editor::setBaseWritingDirection):
111770        (WebCore::Editor::computeAndSetTypingStyle):
111771        * editing/Editor.h:
111772        (WebCore):
111773        (Editor):
111774        * editing/EditorCommand.cpp:
111775        (WebCore::applyCommandToFrame):
111776        (WebCore::executeApplyParagraphStyle):
111777        (WebCore::executeMakeTextWritingDirectionLeftToRight):
111778        (WebCore::executeMakeTextWritingDirectionNatural):
111779        (WebCore::executeMakeTextWritingDirectionRightToLeft):
111780        * loader/EmptyClients.h:
111781        (WebCore::EmptyEditorClient::shouldApplyStyle):
111782        * page/DragController.cpp:
111783        (WebCore::DragController::concludeEditDrag):
111784        * page/EditorClient.h:
111785        (WebCore):
111786        (EditorClient):
111787
1117882012-02-22  Dana Jansens  <danakj@chromium.org>
111789
111790        [chromium] Cull quads outside of the scissoring damage rect
111791        https://bugs.webkit.org/show_bug.cgi?id=79181
111792
111793        Reviewed by James Robinson.
111794
111795        Quads outside of the partial swap cause us to execute GL operations
111796        that actually use a fair amount of CPU time (enough to affect power
111797        usage). Here we cull quads by only keeping their intersection
111798        with the damage rect used for partial swap.
111799
111800        Unit test: CCQuadCuller.cpp
111801
111802        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
111803        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
111804        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
111805        (WebCore::CCQuadCuller::cullOccludedQuads):
111806        * platform/graphics/chromium/cc/CCQuadCuller.h:
111807        (CCQuadCuller):
111808        * platform/graphics/chromium/cc/CCRenderPass.cpp:
111809        (WebCore::CCRenderPass::optimizeQuads):
111810        * platform/graphics/chromium/cc/CCRenderPass.h:
111811        (CCRenderPass):
111812
1118132012-02-21  Dana Jansens  <danakj@chromium.org>
111814
111815        [Chromium] New CCOcclusionTracker class with tests
111816        https://bugs.webkit.org/show_bug.cgi?id=78549
111817
111818        Reviewed by James Robinson.
111819
111820        Adds a CCOcclusionTrackerBase template class that is able to track occlusion
111821        of layers while traversing the layer tree from front-to-back, with typedefed
111822        versions for the main and impl threads.
111823
111824        At each step of the front-to-back traversal, the class should be notified of
111825        changes to the current render target, and when done working with a layer, the
111826        layer is added the tracked occlusion.
111827
111828        The class provides tests for checking if a rect in content space
111829        for a layer/surface is occluded by others in front of it.
111830
111831        Unit tests: CCOcclusionTrackerTest.cpp
111832
111833        * WebCore.gypi:
111834        * platform/graphics/chromium/cc/CCOcclusionTracker.cpp: Added.
111835        (WebCore):
111836        (WebCore::::enterTargetRenderSurface):
111837        (WebCore::::finishedTargetRenderSurface):
111838        (WebCore::transformSurfaceOpaqueRegion):
111839        (WebCore::::leaveToTargetRenderSurface):
111840        (WebCore::contentToScreenSpaceTransform):
111841        (WebCore::contentToTargetSurfaceTransform):
111842        (WebCore::computeOcclusionBehindLayer):
111843        (WebCore::::markOccludedBehindLayer):
111844        (WebCore::testContentRectOccluded):
111845        (WebCore::::occluded):
111846        (WebCore::::surfaceOccluded):
111847        (WebCore::rectSubtractRegion):
111848        (WebCore::computeUnoccludedContentRect):
111849        (WebCore::::unoccludedContentRect):
111850        (WebCore::::surfaceUnoccludedContentRect):
111851        (WebCore::::currentOcclusionInScreenSpace):
111852        (WebCore::::currentOcclusionInTargetSurface):
111853        * platform/graphics/chromium/cc/CCOcclusionTracker.h: Added.
111854        (WebCore):
111855        (CCOcclusionTrackerBase):
111856        (WebCore::CCOcclusionTrackerBase::CCOcclusionTrackerBase):
111857        (StackObject):
111858
1118592012-02-21  Andreas Kling  <awesomekling@apple.com>
111860
111861        Cache <font face> family lists in CSSValuePool.
111862        <http://webkit.org/b/79195>
111863
111864        Reviewed by Antti Koivisto.
111865
111866        HTMLFontElements with "face" attributes are very common in legacy web content.
111867        Add a String->CSSValue cache for these in CSSValuePool and use it to avoid
111868        reparsing and recreating duplicate font face values.
111869
111870        This knocks 20ms (~1.5%) worth of samples off of the Moz page cycler on my system.
111871
111872        * css/CSSParser.cpp:
111873        (WebCore::CSSParser::parseFontFaceValue):
111874        * css/CSSParser.h:
111875        * css/CSSValuePool.cpp:
111876        (WebCore::CSSValuePool::createFontFaceValue):
111877        * css/CSSValuePool.h:
111878        * html/HTMLFontElement.cpp:
111879        (WebCore::HTMLFontElement::collectStyleForAttribute):
111880
1118812012-02-21  Adam Barth  <abarth@webkit.org>
111882
111883        Separate the implementation of registerProtocolHandler from Navigator.cpp
111884        https://bugs.webkit.org/show_bug.cgi?id=78945
111885
111886        Reviewed by Eric Seidel.
111887
111888        The implementation of registerProtocolHandler needlessly complicates
111889        the implementation of Navigator.cpp.  In principle,
111890        registerProtocolHandler (and possibly registerContentHandler, when we
111891        implement that feature) could be its own module, but that seems like
111892        overkill for one or two files.
111893
111894        * CMakeLists.txt:
111895        * GNUmakefile.list.am:
111896        * Target.pri:
111897        * WebCore.gypi:
111898        * WebCore.vcproj/WebCore.vcproj:
111899        * WebCore.xcodeproj/project.pbxproj:
111900        * page/Navigator.cpp:
111901        (WebCore):
111902        * page/Navigator.h:
111903        (Navigator):
111904        * page/Navigator.idl:
111905
1119062012-02-21  MORITA Hajime  <morrita@google.com>
111907
111908        HasIDFlag and HasClassFlag can be removed.
111909        https://bugs.webkit.org/show_bug.cgi?id=77861
111910
111911        Reviewed by Andreas Kling.
111912
111913        Replaced HasIDFlag and HasClassFlag with a check against
111914        ElementAttributeData. It looks these flags (originally bitfields)
111915        were legacy of ancient era, where we didn't cache @id and @class
111916        values and needed a hash lookup for each check.
111917
111918        No new tests. No behavioral change.
111919
111920        * dom/Element.cpp:
111921        (WebCore::Element::idAttributeChanged):
111922        * dom/Element.h:
111923        (WebCore::Element::hasID):
111924        (WebCore):
111925        (WebCore::Element::hasClass):
111926        (WebCore::Node::hasID):
111927        (WebCore::Node::hasClass):
111928        * dom/ElementAttributeData.h:
111929        (WebCore::ElementAttributeData::hasID):
111930        (WebCore::ElementAttributeData::hasClass):
111931        (ElementAttributeData):
111932        * dom/Node.h:
111933        (Node):
111934        (WebCore::nodeStyleChangeShift):
111935        * dom/StyledElement.cpp:
111936        (WebCore::StyledElement::classAttributeChanged):
111937
1119382012-02-21  Matthew Delaney  <mdelaney@apple.com>
111939
111940        2D Canvas setTransform makes unnecessary matrix mults
111941        https://bugs.webkit.org/show_bug.cgi?id=79190
111942
111943        Reviewed by Dan Bernstein.
111944
111945        No new tests - plenty of current tests using setTransform.
111946
111947        * html/canvas/CanvasRenderingContext2D.cpp:
111948        (WebCore::CanvasRenderingContext2D::setTransform):
111949
1119502012-02-21  MORITA Hajime <morrita@google.com>
111951
111952        INPUT_SPEECH should be implemented as a PageSupplement.
111953        https://bugs.webkit.org/show_bug.cgi?id=79051
111954
111955        Turned SpeechInput to a PageSupplement.
111956
111957        Reviewed by Adam Barth.
111958
111959        No new tests. No behavior change.
111960
111961        * html/shadow/TextControlInnerElements.cpp:
111962        (WebCore::InputFieldSpeechButtonElement::speechInput):
111963        (WebCore::InputFieldSpeechButtonElement::attach):
111964        * page/Page.cpp:
111965        (WebCore::Page::Page):
111966        (WebCore::Page::PageClients::PageClients):
111967        * page/Page.h:
111968        (WebCore):
111969        (PageClients):
111970        (Page):
111971        * page/SpeechInput.cpp:
111972        (WebCore::SpeechInput::supplementName):
111973        (WebCore):
111974        (WebCore::provideSpeechInputTo):
111975        * page/SpeechInput.h:
111976        (SpeechInput):
111977        (WebCore::SpeechInput::from):
111978        * page/SpeechInputClient.h:
111979        (WebCore):
111980
1119812012-02-21  Alexandre Elias  <aelias@google.com>
111982
111983        [chromium] Add three small zoom gesture features
111984        https://bugs.webkit.org/show_bug.cgi?id=74216
111985
111986        Reviewed by James Robinson.
111987
111988        1. Support panning around with two fingers.
111989        2. When double-tap zooming, issue the commit at final/scroll scale as
111990        early as possible.
111991        3. When pinch zooming out, issue a commit at minimum scale to avoid
111992        showing checkerboard.
111993
111994        Added test for panning to CCLayerTreeHostImplTest::pinchGesture.
111995        (The other features are heuristics whose exact behavior we don't need
111996        to lock in with a test.)
111997
111998        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
111999        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
112000        (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
112001        (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
112002        (WebCore::CCLayerTreeHostImpl::computeDoubleTapZoomDeltas):
112003        (WebCore::CCLayerTreeHostImpl::computePinchZoomDeltas):
112004        (WebCore::CCLayerTreeHostImpl::makeScrollAndScaleSet):
112005        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
112006        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
112007
1120082012-02-21  Filip Pizlo  <fpizlo@apple.com>
112009
112010        JSC should be a triple-tier VM
112011        https://bugs.webkit.org/show_bug.cgi?id=75812
112012        <rdar://problem/10079694>
112013
112014        Reviewed by Gavin Barraclough.
112015        
112016        No new tests, because there is no change in behavior.
112017
112018        * CMakeLists.txt:
112019
1120202012-02-21  Kentaro Hara  <haraken@chromium.org>
112021
112022        NavigatorMediaStream.idl defines an interface for NavigatorGamepad
112023        https://bugs.webkit.org/show_bug.cgi?id=79152
112024
112025        Reviewed by Adam Barth.
112026
112027        Fixed a typo: NavigatorGamepad => NavigatorMediaStream
112028
112029        This typo fix just changes the name of generated files:
112030
112031        - V8NavigatorGamepad.h => V8NavigatorMediaStream.h
112032        - V8NavigatorGamepad.cpp => V8NavigatorMediaStream.cpp
112033
112034        The reason why the typo has not caused any serious build issues is that
112035        the generate files for supplemental interfaces are "empty" and not important.
112036        They just exist to control makefile dependencies.
112037
112038        No tests. No change in behavior.
112039
112040        * mediastream/NavigatorMediaStream.idl:
112041
1120422012-02-21  Daniel Sievers  <sievers@chromium.org>
112043
112044        [Chromium] Fix compositor setting color uniforms incorrectly for solid color quads.
112045        https://bugs.webkit.org/show_bug.cgi?id=76017
112046
112047        Reviewed by James Robinson.
112048
112049        * platform/graphics/chromium/LayerRendererChromium.cpp:
112050        (WebCore::LayerRendererChromium::drawSolidColorQuad):
112051
1120522012-02-21  Max Vujovic  <mvujovic@adobe.com>
112053
112054        getCTM() on SVG root element with borders, paddings, and viewbox returns incorrect values
112055        https://bugs.webkit.org/show_bug.cgi?id=78631
112056
112057        Reviewed by Eric Seidel.
112058
112059        SVGSVGElement::currentViewportSize was returning the size of the SVG viewport plus CSS
112060        borders and paddings, causing the CTM calculation to be off.
112061
112062        Test: svg/dom/SVGLocatable-getCTM-svg-root.html
112063
112064        * svg/SVGSVGElement.cpp:
112065        (WebCore::SVGSVGElement::currentViewportSize):
112066
112067            SVGSVGElement::currentViewportSize now uses the contentBoxRect instead of the frameRect.
112068            The contentBoxRect corresponds to the SVG viewport and does not include borders and
112069            paddings.
112070
1120712012-02-21  Robin Cao  <robin.cao@torchmobile.com.cn>
112072
112073        [BlackBerry] Upstream Icon class in platform/graphics/blackberry
112074        https://bugs.webkit.org/show_bug.cgi?id=79088
112075
112076        Reviewed by Antonio Gomes.
112077
112078        Initial upstreaming, no new tests.
112079
112080        * platform/graphics/blackberry/IconBlackBerry.cpp: Added.
112081        (WebCore):
112082        (WebCore::Icon::~Icon):
112083        (WebCore::Icon::paint):
112084        (WebCore::Icon::createIconForFiles):
112085
1120862012-02-21  Kenichi Ishibashi  <bashi@chromium.org>
112087
112088        Rename "reserved1" flag of WebSocketFrame to compress
112089        https://bugs.webkit.org/show_bug.cgi?id=79187
112090
112091        WebSocket deflate-frame extension draft specification defines COMP bit.
112092        http://tools.ietf.org/html/draft-tyoshino-hybi-websocket-perframe-deflate-05#page-11
112093
112094        Reviewed by Kent Tamura.
112095
112096        No new tests. http/tests/websocket/tests/hybi/reserved-bits.html is revised to follow the change.
112097
112098        * websockets/WebSocketChannel.cpp:
112099        (WebCore):
112100        (WebCore::WebSocketChannel::parseFrame): "reserved1" renamed "compress".
112101        (WebCore::WebSocketChannel::processFrame): Removed reserved1 flag check.
112102        (WebCore::makeFrameData):
112103        (WebCore::WebSocketChannel::sendFrame):
112104        * websockets/WebSocketFrame.h: "reserved1" flag renamed "compress".
112105        (WebCore::WebSocketFrame::WebSocketFrame):
112106        (WebSocketFrame):
112107
1121082012-02-21  Yael Aharon  <yael.aharon@nokia.com>
112109
112110        [Texmap] Move all TextureMapper related files to graphics/texmap
112111        https://bugs.webkit.org/show_bug.cgi?id=79141
112112
112113        Reviewed by Martin Robinson.
112114
112115        Move TextureMaooerGL and TextureMapperShaderManager files to graphics/texmap.
112116        No new tests. 
112117
112118        * GNUmakefile.list.am:
112119        * Target.pri:
112120        * WebCore.gypi:
112121        * platform/graphics/qt/GraphicsContext3DQt.cpp
112122        * platform/graphics/opengl/TextureMapperGL.cpp: Removed.
112123        * platform/graphics/opengl/TextureMapperGL.h: Removed.
112124        * platform/graphics/opengl/TextureMapperShaderManager.cpp: Removed.
112125        * platform/graphics/opengl/TextureMapperShaderManager.h: Removed.
112126        * platform/graphics/texmap/TextureMapperGL.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.cpp.
112127        * platform/graphics/texmap/TextureMapperGL.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperGL.h.
112128        * platform/graphics/texmap/TextureMapperShaderManager.cpp: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.cpp.
112129        * platform/graphics/texmap/TextureMapperShaderManager.h: Copied from Source/WebCore/platform/graphics/opengl/TextureMapperShaderManager.h.
112130
1121312012-02-20  MORITA Hajime  <morrita@google.com>
112132
112133        MEDIA_STREAM should be implemented as a PageSupplement.
112134        https://bugs.webkit.org/show_bug.cgi?id=79050
112135
112136        Reviewed by Adam Barth.
112137
112138        Added UserMediaController which implements PageSupplement. This
112139        controller mediates WebCore-to-client communication and lifecycle
112140        management. Then pushed UserMediaController out as a
112141        PageSupplement module.
112142
112143        No new tests. No behavior change.
112144
112145        * WebCore.gypi:
112146        * GNUmakefile.list.am:
112147        * mediastream/NavigatorMediaStream.cpp:
112148        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
112149        * mediastream/UserMediaClient.h:
112150        (WebCore):
112151        * mediastream/UserMediaController.cpp: Added.
112152        (WebCore):
112153        (WebCore::UserMediaController::supplementName):
112154        (WebCore::UserMediaController::UserMediaController):
112155        (WebCore::UserMediaController::~UserMediaController):
112156        (WebCore::UserMediaController::create):
112157        (WebCore::provideUserMediaTo):
112158        * mediastream/UserMediaController.h: Added.
112159        (WebCore):
112160        (UserMediaController):
112161        (WebCore::UserMediaController::client):
112162        (WebCore::UserMediaController::from):
112163        (WebCore::UserMediaController::requestUserMedia):
112164        (WebCore::UserMediaController::cancelUserMediaRequest):
112165        * mediastream/UserMediaRequest.cpp:
112166        (WebCore::UserMediaRequest::create):
112167        (WebCore::UserMediaRequest::UserMediaRequest):
112168        (WebCore::UserMediaRequest::didCompleteQuery):
112169        (WebCore::UserMediaRequest::contextDestroyed):
112170        * mediastream/UserMediaRequest.h:
112171        (WebCore):
112172        (UserMediaRequest):
112173        * page/Page.cpp:
112174        (WebCore::Page::Page):
112175        (WebCore::Page::~Page):
112176        (WebCore::Page::PageClients::PageClients):
112177        * page/Page.h:
112178        (WebCore):
112179        (PageClients):
112180        (Page):
112181
1121822012-02-21  James Robinson  <jamesr@chromium.org>
112183
112184        Node::isContentEditable should only update styles, not layout
112185        https://bugs.webkit.org/show_bug.cgi?id=78637
112186
112187        Reviewed by Ryosuke Niwa.
112188
112189        isContentEditable depends on knowing the node's current computed style, so it has to update styles if they are
112190        out of date.  It does not depend on knowing any layout-derived properties, however, so updating layout is just a
112191        waste of time.
112192
112193        Behavior is covered by existing layout tests, primarily in editing/
112194
112195        * dom/Node.cpp:
112196        (WebCore::Node::isContentEditable):
112197        (WebCore::Node::isContentRichlyEditable):
112198
1121992012-02-21  James Robinson  <jamesr@chromium.org>
112200
112201        Partially revert r108418 - move allowEventDispatch() call back to where it used to be.
112202
112203        Rubber-stamped by Ryosuke Niwa.
112204
112205        Tested by fast/text/find-layout-crash.html
112206
112207        * dom/ContainerNode.cpp:
112208        (WebCore::ContainerNode::removeChildren):
112209
1122102012-02-21  Anders Carlsson  <andersca@apple.com>
112211
112212        Background jitters on pages with background-attachment: fixed
112213        https://bugs.webkit.org/show_bug.cgi?id=79182
112214
112215        Reviewed by Dan Bernstein.
112216
112217        Make sure to update the main frame scroll position before updating the scrolling layer.
112218        This also fixes a (purely theoretical) bug where we wouldn't be updating the main frame
112219        position if the main frame didn't have a scroll layer.
112220
112221        * page/scrolling/ScrollingCoordinator.cpp:
112222        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
112223
1122242012-02-21  Dana Jansens  <danakj@chromium.org>
112225
112226        Early-out in Region::unite() for adding an empty region.
112227        https://bugs.webkit.org/show_bug.cgi?id=79174
112228
112229        Reviewed by Anders Carlsson.
112230
112231        * platform/graphics/Region.cpp:
112232        (WebCore::Region::unite):
112233
1122342012-02-21  Dana Jansens  <danakj@chromium.org>
112235
112236        [chromium] Painting a layer clears opaque rect in untouched tiles
112237        https://bugs.webkit.org/show_bug.cgi?id=79157
112238
112239        Reviewed by James Robinson.
112240
112241        When painting a tiled layer, we would throw away the saved opaque rect
112242        for any tiles that were not part of the paint. So now we check
112243        if we are able to save the existing saved opaque rect in a more
112244        proper way:
112245        1. If any pixels of the saved rect are painted non-opaque, we replace
112246        the saved rect.
112247        2. If an opaque rect is drawn outside of the saved rect, we replace
112248        the saved rect.
112249
112250        Unit test: TiledLayerChromiumTest.cpp
112251
112252        * platform/graphics/chromium/TiledLayerChromium.cpp:
112253        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
112254        (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
112255
1122562012-02-21  Raymond Toy  <rtoy@google.com>
112257
112258        Small typo in AudioPannerNode.cpp
112259        https://bugs.webkit.org/show_bug.cgi?id=75890
112260
112261        Change to check elevation as intended instead of azimuth.
112262        
112263        Reviewed by Chris Rogers.
112264
112265        No new tests for correction of typo.
112266
112267        * webaudio/AudioPannerNode.cpp:
112268        (WebCore::AudioPannerNode::getAzimuthElevation):
112269
1122702012-02-21  Adam Barth  <abarth@webkit.org>
112271
112272        Frame and Navigator shouldn't need to worry about Geolocation
112273        https://bugs.webkit.org/show_bug.cgi?id=78860
112274
112275        Reviewed by Eric Seidel.
112276
112277        This patch removes some Geolocation-specific code from Frame and
112278        Navigator in favor of our new supplemental module mechanism.  We're
112279        still refining the module system, but we seem to be converging on a
112280        simple Observer/Supplement design.
112281
112282        In a future patch, I'll move the remaining Geolocation-related files in
112283        WebCore into Modules/geolocation.  This patch appears to be the first
112284        patch that introduces a module used by all the various build systems,
112285        which is why there's a bit more build system overhead than usual.
112286
112287        * Modules/geolocation: Added.
112288        * Modules/geolocation/NavigatorGeolocation.cpp: Added.
112289        (WebCore):
112290        (WebCore::NavigatorGeolocation::NavigatorGeolocation):
112291        (WebCore::NavigatorGeolocation::~NavigatorGeolocation):
112292        (WebCore::NavigatorGeolocation::pageDestroyed):
112293        (WebCore::NavigatorGeolocation::from):
112294        (WebCore::NavigatorGeolocation::geolocation):
112295        * Modules/geolocation/NavigatorGeolocation.h: Added.
112296        (WebCore):
112297        (NavigatorGeolocation):
112298        * Modules/geolocation/NavigatorGeolocation.idl: Added.
112299            - I've temporarily disabled this API for GObject because it generates
112300              a strange compile error.  Once I land this patch, I'll spend some
112301              more time fixing the compile error.
112302        * page/DOMWindow.cpp:
112303        (WebCore):
112304        * page/DOMWindow.h:
112305        (DOMWindow):
112306        * page/Frame.cpp:
112307        (WebCore::Frame::pageDestroyed):
112308        (WebCore::Frame::transferChildFrameToNewDocument):
112309        * page/FrameDestructionObserver.cpp:
112310        (WebCore::FrameDestructionObserver::pageDestroyed):
112311        (WebCore):
112312        * page/FrameDestructionObserver.h:
112313        (FrameDestructionObserver):
112314        * page/Navigator.cpp:
112315        (WebCore):
112316        * page/Navigator.h:
112317        (WebCore):
112318        (Navigator):
112319        * page/Navigator.idl:
112320
1123212012-02-21  Shawn Singh  <shawnsingh@chromium.org>
112322
112323        [chromium] Refactor CCLayerTreeHostCommon: merge scattered setTargetRenderSurface logic
112324        https://bugs.webkit.org/show_bug.cgi?id=78936
112325
112326        Reviewed by James Robinson.
112327
112328        No change in behavior, the code moved around already covered by existing tests.
112329
112330        In calculateDrawTransformsAndVisibility(), there are two separate
112331        if-else statements where setTargetRenderSurface logic is
112332        performed, and this makes the code less readable and more error
112333        prone. This patch merges the logic, removing the redundant if-else
112334        statements.
112335
112336        This code also merges one other set of if-statements that are
112337        equivalent, if (layer->parent()) and if (layer!=rootLayer).
112338
112339        * platform/graphics/chromium/LayerChromium.cpp:
112340        (WebCore::LayerChromium::createRenderSurface):
112341        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
112342        (WebCore::CCLayerImpl::createRenderSurface):
112343        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
112344        (WebCore::calculateDrawTransformsAndVisibilityInternal):
112345
1123462012-02-21  Kentaro Hara  <haraken@chromium.org>
112347
112348        Remove FIXME from resolve-supplemental.pl
112349        https://bugs.webkit.org/show_bug.cgi?id=79160
112350
112351        Reviewed by Adam Barth.
112352
112353        The IDL attribute checker has been enabled in all build systems.
112354        This patch removes FIXME in resolve-supplemental.pl.
112355        Also, this patch improves a comment in IDLAttributes.txt.
112356
112357        No tests. No change in behavior.
112358
112359        * bindings/scripts/IDLAttributes.txt:
112360        * bindings/scripts/resolve-supplemental.pl:
112361
1123622012-02-21  Emil A Eklund  <eae@chromium.org>
112363
112364        Add FractionalLayoutRect for sub-pixel layout
112365        https://bugs.webkit.org/show_bug.cgi?id=78924
112366
112367        Reviewed by Eric Seidel.
112368
112369        Add FractionalLayoutUnit version of Rect class. Uses FractionalLayoutPoint
112370        and FractionalLayoutSize internally.
112371
112372        Also add conversions to int/float versions of same.
112373
112374        No new tests.
112375
112376        * GNUmakefile.list.am:
112377        * WebCore.vcproj/WebCore.vcproj:
112378        * WebCore.xcodeproj/project.pbxproj:
112379        * platform/graphics/FloatRect.cpp:
112380        (WebCore::FloatRect::FloatRect):
112381        (WebCore):
112382        * platform/graphics/FloatRect.h:
112383        (WebCore):
112384        (FloatRect):
112385        * platform/graphics/FractionalLayoutRect.cpp: Added.
112386        (WebCore):
112387        (WebCore::FractionalLayoutRect::FractionalLayoutRect):
112388        (WebCore::FractionalLayoutRect::intersects):
112389        (WebCore::FractionalLayoutRect::contains):
112390        (WebCore::FractionalLayoutRect::intersect):
112391        (WebCore::FractionalLayoutRect::unite):
112392        (WebCore::FractionalLayoutRect::uniteIfNonZero):
112393        (WebCore::FractionalLayoutRect::scale):
112394        (WebCore::unionRect):
112395        (WebCore::enclosingIntRect):
112396        (WebCore::enclosingFractionalLayoutRect):
112397        (WebCore::pixelSnappedIntRect):
112398        * platform/graphics/FractionalLayoutRect.h: Added.
112399        (WebCore):
112400        (FractionalLayoutRect):
112401        (WebCore::FractionalLayoutRect::FractionalLayoutRect):
112402        (WebCore::FractionalLayoutRect::location):
112403        (WebCore::FractionalLayoutRect::size):
112404        (WebCore::FractionalLayoutRect::setLocation):
112405        (WebCore::FractionalLayoutRect::setSize):
112406        (WebCore::FractionalLayoutRect::x):
112407        (WebCore::FractionalLayoutRect::y):
112408        (WebCore::FractionalLayoutRect::maxX):
112409        (WebCore::FractionalLayoutRect::maxY):
112410        (WebCore::FractionalLayoutRect::width):
112411        (WebCore::FractionalLayoutRect::height):
112412        (WebCore::FractionalLayoutRect::setX):
112413        (WebCore::FractionalLayoutRect::setY):
112414        (WebCore::FractionalLayoutRect::setWidth):
112415        (WebCore::FractionalLayoutRect::setHeight):
112416        (WebCore::FractionalLayoutRect::isEmpty):
112417        (WebCore::FractionalLayoutRect::center):
112418        (WebCore::FractionalLayoutRect::move):
112419        (WebCore::FractionalLayoutRect::moveBy):
112420        (WebCore::FractionalLayoutRect::expand):
112421        (WebCore::FractionalLayoutRect::contract):
112422        (WebCore::FractionalLayoutRect::shiftXEdgeTo):
112423        (WebCore::FractionalLayoutRect::shiftMaxXEdgeTo):
112424        (WebCore::FractionalLayoutRect::shiftYEdgeTo):
112425        (WebCore::FractionalLayoutRect::shiftMaxYEdgeTo):
112426        (WebCore::FractionalLayoutRect::minXMinYCorner):
112427        (WebCore::FractionalLayoutRect::maxXMinYCorner):
112428        (WebCore::FractionalLayoutRect::minXMaxYCorner):
112429        (WebCore::FractionalLayoutRect::maxXMaxYCorner):
112430        (WebCore::FractionalLayoutRect::contains):
112431        (WebCore::FractionalLayoutRect::inflateX):
112432        (WebCore::FractionalLayoutRect::inflateY):
112433        (WebCore::FractionalLayoutRect::inflate):
112434        (WebCore::FractionalLayoutRect::transposedRect):
112435        (WebCore::FractionalLayoutRect::infiniteRect):
112436        (WebCore::intersection):
112437        (WebCore::unionRect):
112438        (WebCore::operator==):
112439        (WebCore::operator!=):
112440        * platform/graphics/IntRect.cpp:
112441        (WebCore::IntRect::IntRect):
112442        (WebCore):
112443        * platform/graphics/IntRect.h:
112444        (WebCore):
112445        (IntRect):
112446
1124472012-02-21  James Robinson  <jamesr@chromium.org>
112448
112449        Enable ScrollingCoordinator in chromium whenever compositing is enabled
112450        https://bugs.webkit.org/show_bug.cgi?id=79165
112451
112452        Reviewed by Adam Barth.
112453
112454        As the title says.
112455
112456        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp:
112457        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
112458        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
112459        (WebCore::ScrollingCoordinator::setScrollLayer):
112460        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
112461        (WebCore::ScrollingCoordinator::setScrollParameters):
112462        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
112463        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
112464            Remove ASSERT_NOT_REACHED()ed from these functions, they are now expected to be called but do nothing.
112465        * rendering/RenderLayerBacking.cpp:
112466        (WebCore::RenderLayerBacking::RenderLayerBacking):
112467            Guard a mac-specific piece of code in #if PLATFORM(MAC). This code already has a FIXME.
112468        * rendering/RenderLayerCompositor.cpp:
112469        (WebCore::shouldCompositeOverflowControls):
112470            Make coordinatesScroll..() sufficient but not necessary for compositing overflow controls. In chromium, we
112471            want to composite overflow controls even for FrameViews that we aren't coordinating via the
112472            ScrollingCoordinator.
112473
1124742012-02-21  Adam Klein  <adamk@chromium.org>
112475
112476        Setting innerText causes DOMSubtreeModified to be dispatched too early
112477        https://bugs.webkit.org/show_bug.cgi?id=79140
112478
112479        Reviewed by Ryosuke Niwa.
112480
112481        Followup to r108152: move children change notifications later in
112482        ContainerNode::removeChildren(), thus making sure Node::inDocument()
112483        is in the correct state when we call into script.
112484
112485        Tests: fast/dom/getElementById-consistency3.html
112486               fast/dom/getElementById-consistency4.html
112487               fast/dom/getElementById-consistency5.html
112488
112489        * dom/ContainerNode.cpp:
112490        (WebCore::ContainerNode::removeChildren):
112491
1124922012-02-15  Ryosuke Niwa  <rniwa@webkit.org>
112493
112494        Assertion failure in TextIterator::handleTextBox
112495        https://bugs.webkit.org/show_bug.cgi?id=78530
112496
112497        Reviewed by Eric Seidel.
112498
112499        The assertion failure was caused by handleTextNodeFirstLetter's updating m_text without clearing
112500        m_sortedTextBoxesPosition. Re-structured handleTextNode so that we always reset m_sortedTextBoxesPosition
112501        when we have a first-letter.
112502
112503        Test: editing/text-iterator/rtl-first-letter-text-iterator-crash.html
112504
112505        * editing/TextIterator.cpp:
112506        (WebCore::TextIterator::handleTextNode):
112507        (WebCore::TextIterator::handleTextBox):
112508        (WebCore::TextIterator::handleTextNodeFirstLetter):
112509
1125102012-02-21  Yael Aharon  <yael.aharon@nokia.com>
112511
112512        Unreviewed build fix.
112513
112514        No new tests.
112515
112516        * platform/graphics/opengl/TextureMapperGL.cpp:
112517
1125182012-02-21  Adam Klein  <adamk@chromium.org>
112519
112520        ContainerNode::childrenChanged must be called immediately after removing children
112521        https://bugs.webkit.org/show_bug.cgi?id=79162
112522
112523        Reviewed by Ryosuke Niwa.
112524
112525        In r108152, a call to childrenChanged() was erroneously moved
112526        below the call to child->removedFromDocument(). This breaks, at the
112527        least, the behavior of the <title> element. This patch corrects the
112528        mistake and adds a test.
112529
112530        Test: fast/dom/title-directionality-removeChild.html
112531
112532        * dom/ContainerNode.cpp:
112533        (WebCore::ContainerNode::removeChild):
112534
1125352012-02-21  Luke Macpherson   <macpherson@chromium.org>
112536
112537        Implement many instances of HANDLE_INHERIT_AND_INITIAL_AND_PRIMITIVE in CSSStyleApplyProperty.
112538        https://bugs.webkit.org/show_bug.cgi?id=79067
112539
112540        Reviewed by Andreas Kling.
112541
112542        No new tests / refactoring only.
112543
112544        * css/CSSStyleApplyProperty.cpp:
112545        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
112546        * css/CSSStyleSelector.cpp:
112547        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
112548        * rendering/style/RenderStyle.h:
112549
1125502012-02-21  Jon Lee  <jonlee@apple.com>
112551
112552        Bring notifications support to WK1 mac
112553        https://bugs.webkit.org/show_bug.cgi?id=78783
112554        <rdar://problem/10610578>
112555
112556        Reviewed by Anders Carlsson.
112557
112558        * WebCore.exp.in: Expose dispatchErrorEvent on Notification.
112559
1125602012-02-21  No'am Rosenthal  <noam.rosenthal@nokia.com>
112561
112562        [Qt] Previous web page appears outside content rect
112563        https://bugs.webkit.org/show_bug.cgi?id=78816
112564
112565        Adjust the scissor clipping by -1, as the glScissor() function requires coordinates and
112566        not sizes.
112567
112568        Reviewed by Kenneth Rohde Christiansen.
112569
112570        No new functionality.
112571
112572        * platform/graphics/opengl/TextureMapperGL.cpp:
112573        (WebCore::scissorClip):
112574
1125752012-02-21  Victor Carbune  <vcarbune@adobe.com>
112576
112577        Added support for pause-on-exit flag on a TextTrackCue.
112578        https://bugs.webkit.org/show_bug.cgi?id=72173
112579
112580        Reviewed by Eric Carlson.
112581
112582        Test: media/track/track-cues-pause-on-exit.html
112583
112584        * html/HTMLMediaElement.cpp:
112585        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Implemented
112586        support for pausing the video if the pause-on-exit flag is set on
112587        a cue that is currently exiting.
112588
1125892012-02-21  Kentaro Hara  <haraken@chromium.org>
112590
112591        Enable the IDL attribute checker in all build systems
112592        https://bugs.webkit.org/show_bug.cgi?id=79090
112593
112594        Reviewed by Adam Barth.
112595
112596        We have enabled the IDL attribute checker in Chromium in r108322.
112597        This patch enables the IDL attribute checker in all other
112598        build systems.
112599
112600        No tests. I manually checked that [Custommm], [CallWith=],
112601        [CallWith=ScriptExecutionContext|Foo] cause build failures.
112602
112603        * CMakeLists.txt:
112604        * DerivedSources.make:
112605        * DerivedSources.pri:
112606        * GNUmakefile.am:
112607        * UseJSC.cmake:
112608        * UseV8.cmake:
112609        * WebCore.vcproj/WebCore.vcproj:
112610        * WebCore.xcodeproj/project.pbxproj:
112611        * bindings/scripts/IDLAttributes.txt: Added [ObjCCustomImplementation]
112612        since I forgot to add it in r108322.
112613
1126142012-02-21  Yael Aharon  <yael.aharon@nokia.com>
112615
112616        [Texmap] Better management of shaders in TextureMapperGL
112617        https://bugs.webkit.org/show_bug.cgi?id=78674
112618 
112619        Reviewed by Noam Rosenthal.
112620 
112621        Split TextureMapperGL.cpp into two files.
112622        Get rid of the enums that we were using to identify shaders and to identify variables.
112623        Switch flip and opaque from using bool to using enums.
112624 
112625        No new tests. This is refactoring only.
112626 
112627        * GNUmakefile.list.am:
112628        * Target.pri:
112629        * WebCore.gypi:
112630        * platform/graphics/OpenGLShims.h:
112631        * platform/graphics/opengl/TextureMapperGL.cpp:
112632        (WebCore):
112633        (SharedGLData):
112634        (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
112635        (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
112636        (WebCore::TextureMapperGLData::TextureMapperGLData):
112637        (TextureMapperGLData):
112638        (WebCore::TextureMapperGL::drawTexture):
112639        (WebCore::TextureMapperGL::drawTextureWithMaskAndOpacity):
112640        (WebCore::TextureMapperGL::drawTextureSimple):
112641        (WebCore::TextureMapperGL::beginClip):
112642        * platform/graphics/opengl/TextureMapperGL.h:
112643        * platform/graphics/opengl/TextureMapperShaderManager.cpp: Added.
112644        (WebCore):
112645        (WebCore::FRAGMENT_SHADER):
112646        (WebCore::TextureMapperShaderProgram::initializeProgram):
112647        (WebCore::TextureMapperShaderProgram::getUniformLocation):
112648        (WebCore::TextureMapperShaderProgram::~TextureMapperShaderProgram):
112649        (WebCore::TextureMapperShaderProgramSimple::create):
112650        (WebCore::TextureMapperShaderProgramSimple::TextureMapperShaderProgramSimple):
112651        (WebCore::TextureMapperShaderProgramSimple::vertexShaderSource):
112652        (WebCore::TextureMapperShaderProgramSimple::fragmentShaderSource):
112653        (WebCore::TextureMapperShaderProgramOpacityAndMask::create):
112654        (WebCore::TextureMapperShaderProgramOpacityAndMask::TextureMapperShaderProgramOpacityAndMask):
112655        (WebCore::TextureMapperShaderProgramOpacityAndMask::vertexShaderSource):
112656        (WebCore::TextureMapperShaderProgramOpacityAndMask::fragmentShaderSource):
112657        (WebCore::TextureMapperShaderProgramClip::create):
112658        (WebCore::TextureMapperShaderProgramClip::TextureMapperShaderProgramClip):
112659        (WebCore::TextureMapperShaderProgramClip::vertexShaderSource):
112660        (WebCore::TextureMapperShaderProgramClip::fragmentShaderSource):
112661        (WebCore::TextureMapperShaderManager::TextureMapperShaderManager):
112662        (WebCore::TextureMapperShaderManager::~TextureMapperShaderManager):
112663        * platform/graphics/opengl/TextureMapperShaderManager.h: Added.
112664        (WebCore):
112665        (WebCore::debugGLCommand):
112666        (TextureMapperShaderProgram):
112667        (WebCore::TextureMapperShaderProgram::id):
112668        (WebCore::TextureMapperShaderProgram::vertexAttrib):
112669        (WebCore::TextureMapperShaderProgram::shaderType):
112670        (TextureMapperShaderProgramSimple):
112671        (WebCore::TextureMapperShaderProgramSimple::matrixVariable):
112672        (WebCore::TextureMapperShaderProgramSimple::sourceMatrixVariable):
112673        (WebCore::TextureMapperShaderProgramSimple::sourceTextureVariable):
112674        (WebCore::TextureMapperShaderProgramSimple::opacityVariable):
112675        (TextureMapperShaderProgramOpacityAndMask):
112676        (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceMatrixVariable):
112677        (WebCore::TextureMapperShaderProgramOpacityAndMask::matrixVariable):
112678        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskMatrixVariable):
112679        (WebCore::TextureMapperShaderProgramOpacityAndMask::sourceTextureVariable):
112680        (WebCore::TextureMapperShaderProgramOpacityAndMask::maskTextureVariable):
112681        (WebCore::TextureMapperShaderProgramOpacityAndMask::opacityVariable):
112682        (TextureMapperShaderProgramClip):
112683        (WebCore::TextureMapperShaderProgramClip::matrixVariable):
112684        (TextureMapperShaderManager):
112685        (WebCore::TextureMapperShaderManager::getShaderProgram):
112686        * platform/graphics/qt/GraphicsContext3DQt.cpp:
112687        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
112688        * platform/graphics/texmap/TextureMapper.h:
112689        (WebCore::BitmapTexture::reset):
112690        (WebCore::BitmapTexture::isOpaque):
112691        (BitmapTexture):
112692
1126932012-02-21  Anders Carlsson  <andersca@apple.com>
112694
112695        The tile cache should keep track of the tile coverage rect
112696        https://bugs.webkit.org/show_bug.cgi?id=79149
112697        <rdar://problem/10877338>
112698
112699        Reviewed by Andreas Kling.
112700
112701        Keep track of the tile coverage rect and use it to avoid trying to iterate over non-existent tiles on large pages.
112702
112703        * platform/graphics/ca/mac/TileCache.h:
112704        (TileCache):
112705        * platform/graphics/ca/mac/TileCache.mm:
112706        (WebCore::TileCache::setNeedsDisplayInRect):
112707        (WebCore::TileCache::revalidateTiles):
112708
1127092012-02-21  Andreas Kling  <awesomekling@apple.com>
112710
112711        Make WebKitCSSShaderValue inherit directly from CSSValue.
112712        <http://webkit.org/b/79144>
112713
112714        Reviewed by Antti Koivisto.
112715
112716        WebKitCSSShaderValue was inheriting from CSSPrimitiveValue but only used
112717        it for storing the shader URL. Moved that to a String member instead.
112718
112719        WebKitCSSShaderValues didn't even return true for isPrimitiveValue() so
112720        there should be no behavior change whatsoever here.
112721
112722        * css/WebKitCSSShaderValue.cpp:
112723        (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
112724        (WebCore::WebKitCSSShaderValue::cachedShader):
112725        (WebCore::WebKitCSSShaderValue::customCssText):
112726        * css/WebKitCSSShaderValue.h:
112727        (WebKitCSSShaderValue):
112728
1127292012-02-21  James Robinson  <jamesr@chromium.org>
112730
112731        Unreviewed windows build fix - avoid return statement after return if USE(ACCELERATED_COMPOSITING) is set.
112732
112733        * page/scrolling/ScrollingCoordinator.cpp:
112734        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
112735
1127362012-02-21  James Robinson  <jamesr@chromium.org>
112737
112738        ScrollingCoordinator::coordinatesScrollingForFrameView should be conditional on compositing being active
112739        https://bugs.webkit.org/show_bug.cgi?id=79126
112740
112741        Reviewed by Anders Carlsson.
112742
112743        The ScrollingCoordinator should only attempt to coordinate scrolling when compositing is active, since it's all
112744        about manipulating GraphicsLayers. Adds a runtime check.
112745
112746        Also removes some stray #if ENABLE(THREADED_SCROLLING) guards that snuck into FrameView.
112747
112748        * page/FrameView.cpp:
112749        (WebCore::FrameView::addFixedObject):
112750        (WebCore::FrameView::removeFixedObject):
112751        * page/scrolling/ScrollingCoordinator.cpp:
112752        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
112753        (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
112754
1127552012-02-21  James Robinson  <jamesr@chromium.org>
112756
112757        Chromium build fix. Unreviwed but rubber-stamped by Antti.
112758
112759        * dom/Document.cpp:
112760        * editing/ReplaceSelectionCommand.cpp:
112761        * inspector/InspectorStyleSheet.h:
112762
1127632012-02-21  Eric Carlson  <eric.carlson@apple.com>
112764
112765        Set Referrer header for media downloads
112766        https://bugs.webkit.org/show_bug.cgi?id=78614
112767
112768        Reviewed by Alexey Proskuryakov.
112769
112770        Test: http/tests/media/video-referer.html was modified to test this change.
112771
112772        * html/HTMLMediaElement.cpp:
112773        (WebCore::HTMLMediaElement::mediaPlayerReferrer): New, return the document's referer.
112774        * html/HTMLMediaElement.h:
112775
112776        * platform/graphics/MediaPlayer.cpp:
112777        (WebCore::MediaPlayer::referrer): New, return the client's mediaPlayerReferrer.
112778        * platform/graphics/MediaPlayer.h:
112779        (WebCore::MediaPlayerClient::mediaPlayerReferrer):
112780
112781        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.h:
112782        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.mm:
112783        (WebCore::MediaPlayerPrivateAVFoundationObjC::createAVAssetForURL): Tell AVFoundation to add
112784            a referer header.
112785
1127862012-02-21  Antti Koivisto  <antti@apple.com>
112787
112788        Not reviewed.
112789
112790        Remove some obsolete comments, use consistent name for propertyID.
112791
112792        * css/StylePropertySet.h:
112793        (StylePropertySet):
112794
1127952012-02-21  Antti Koivisto  <antti@apple.com>
112796
112797        Clean up StylePropertySet included headers
112798        https://bugs.webkit.org/show_bug.cgi?id=79134
112799
112800        Reviewed by Andreas Kling.
112801
112802        Remove unneccesary includes.
112803
112804        * bindings/js/JSDOMBinding.h:
112805        * css/StylePropertySet.cpp:
112806        * css/StylePropertySet.h:
112807        (WebCore):
112808        (StylePropertySet):
112809        * editing/RemoveCSSPropertyCommand.cpp:
112810
1128112012-02-21  Lin Wei  <wei.a.lin@intel.com>
112812
112813        Fix bug from r107672.
112814        https://bugs.webkit.org/show_bug.cgi?id=78773
112815
112816        Before set MediaStreamTrack disable/enable operation,
112817        checking the status of MediaStream that contains this MediaStreamTrack.
112818        if MediaStream is finished, then skipping operation of 
112819        didSetMediaStreamTrackEnabled().
112820
112821        Reviewed by Adam Barth.
112822        * mediastream/MediaStreamTrack.cpp:
112823        (WebCore::MediaStreamTrack::setEnabled):
112824
1128252012-02-21  Julien Chaffraix  <jchaffraix@webkit.org>
112826
112827        Move RenderLayer::scrolledContentOffset calls to a common function
112828        https://bugs.webkit.org/show_bug.cgi?id=76971
112829
112830        Reviewed by David Hyatt.
112831
112832        Refactoring without any change in behavior.
112833
112834        This change adds a RenderBox::scrolledContentOffset function to handle all
112835        the calls that goes through the layer(). This indirection will enable us to
112836        add layer() checks without patching a lot of call sites as part of bug 75568.
112837
112838        We also moved down the concept of scroll offset down to RenderBox where it belongs!
112839
112840        * rendering/RenderLayer.h:
112841        (RenderLayer):
112842        (WebCore::RenderLayer::scrolledContentOffset):
112843        Moved scrolledContent to the private section of the class to prevent misuse.
112844
112845        * rendering/RenderBox.cpp:
112846        (WebCore::RenderBox::scrolledContentOffset):
112847        New function to add an indirection with RenderLayer.
112848
112849        * editing/visible_units.cpp:
112850        (WebCore::absoluteLineDirectionPointToLocalPointInBlock):
112851        * rendering/LayoutState.cpp:
112852        (WebCore::LayoutState::LayoutState):
112853        * rendering/RenderBlock.cpp:
112854        (WebCore::RenderBlock::layoutBlock):
112855        (WebCore::RenderBlock::paintObject):
112856        (WebCore::RenderBlock::selectionGapRectsForRepaint):
112857        (WebCore::RenderBlock::paintSelection):
112858        (WebCore::RenderBlock::nodeAtPoint):
112859        (WebCore::RenderBlock::offsetForContents):
112860        * rendering/RenderBox.cpp:
112861        (WebCore::RenderBox::offsetFromContainer):
112862        (WebCore::RenderBox::computeRectForRepaint):
112863        * rendering/RenderBox.h:
112864        (RenderBox):
112865        * rendering/RenderBoxModelObject.cpp:
112866        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
112867        * rendering/RenderInline.cpp:
112868        (WebCore::RenderInline::clippedOverflowRectForRepaint):
112869        (WebCore::RenderInline::computeRectForRepaint):
112870        (WebCore::RenderInline::offsetFromContainer):
112871        * rendering/RenderObject.cpp:
112872        (WebCore::RenderObject::computeRectForRepaint):
112873        (WebCore::RenderObject::mapLocalToContainer):
112874        (WebCore::RenderObject::mapAbsoluteToLocalPoint):
112875        (WebCore::RenderObject::offsetFromContainer):
112876        * rendering/RenderTextControlSingleLine.cpp:
112877        (WebCore::RenderTextControlInnerBlock::positionForPoint):
112878        Patched all those call sites to use the new function.
112879
1128802012-02-21  Emil A Eklund  <eae@chromium.org>
112881
112882        Remove obsolete float comparison FIXMEs
112883        https://bugs.webkit.org/show_bug.cgi?id=79127
112884
112885        Reviewed by Eric Seidel.
112886
112887        Remove obsolete FIXME comments added back when we were planning to use
112888        floating point units for layout.
112889
112890        No new tests, no code changes.
112891
112892        * page/FrameView.cpp:
112893        (WebCore::FrameView::init):
112894        * rendering/RenderBlock.cpp:
112895        (WebCore::RenderBlock::layoutBlock):
112896        (WebCore::RenderBlock::computeStartPositionDeltaForChildAvoidingFloats):
112897        (WebCore::RenderBlock::getClearDelta):
112898        * rendering/RenderBox.cpp:
112899        (WebCore::RenderBox::computeLogicalHeight):
112900        (WebCore::RenderBox::computeLogicalHeightUsing):
112901        (WebCore::RenderBox::computePercentageLogicalHeight):
112902        * rendering/RenderBoxModelObject.cpp:
112903        (WebCore::ImageQualityController::shouldPaintAtLowQuality):
112904
1129052012-02-21  Alexander Pavlov  <apavlov@chromium.org>
112906
112907        Web Inspector: it is nearly impossible to select and copy text on the Elements panel.
112908        https://bugs.webkit.org/show_bug.cgi?id=60814
112909
112910        Reviewed by Pavel Feldman.
112911
112912        * inspector/front-end/inspector.js:
112913        (WebInspector.documentClick.followLink):
112914        (WebInspector.documentClick):
112915
1129162012-02-21  Abhishek Arya  <inferno@chromium.org>
112917
112918        Crash in RenderTableSection::nodeAtPoint.
112919        https://bugs.webkit.org/show_bug.cgi?id=78922
112920
112921        Reviewed by Julien Chaffraix.
112922
112923        Test: fast/table/table-section-node-at-point-crash.html
112924
112925        * rendering/RenderTableSection.cpp:
112926        (WebCore::RenderTableSection::nodeAtPoint): recalc cells if the
112927        m_needsCellRecalc is set. Otherwise, we will end up accessing
112928        removed table cells.
112929
1129302012-02-21  Antti Koivisto  <antti@apple.com>
112931
112932        Move PropertySetCSSStyleDeclaration to a file of its own
112933        https://bugs.webkit.org/show_bug.cgi?id=79121
112934
112935        Rubber-stamped by Andreas Kling.
112936
112937        This makes StylePropertySet.cpp more readable.
112938
112939        * CMakeLists.txt:
112940        * GNUmakefile.list.am:
112941        * Target.pri:
112942        * WebCore.gypi:
112943        * WebCore.vcproj/WebCore.vcproj:
112944        * WebCore.xcodeproj/project.pbxproj:
112945        * css/PropertySetCSSStyleDeclaration.cpp: Copied from Source/WebCore/css/StylePropertySet.cpp.
112946        (WebCore::PropertySetCSSStyleDeclaration::ref):
112947        (WebCore::PropertySetCSSStyleDeclaration::deref):
112948        (WebCore):
112949        * css/PropertySetCSSStyleDeclaration.h: Added.
112950        (WebCore):
112951        (PropertySetCSSStyleDeclaration):
112952        (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
112953        (WebCore::PropertySetCSSStyleDeclaration::parentElement):
112954        (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
112955        (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
112956        (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
112957        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
112958        (RuleCSSStyleDeclaration):
112959        (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
112960        (WebCore::RuleCSSStyleDeclaration::parentRule):
112961        (WebCore::RuleCSSStyleDeclaration::clearParentRule):
112962        (InlineCSSStyleDeclaration):
112963        (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
112964        (WebCore::InlineCSSStyleDeclaration::parentElement):
112965        (WebCore::InlineCSSStyleDeclaration::clearParentElement):
112966        * css/StylePropertySet.cpp:
112967        (WebCore):
112968
1129692012-02-21  Philippe Normand  <pnormand@igalia.com>
112970
112971        [GTK] WebAudio build is broken
112972        https://bugs.webkit.org/show_bug.cgi?id=79113
112973
112974        Reviewed by Martin Robinson.
112975
112976        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
112977        (webKitWebAudioGStreamerChannelPosition): Set a default value for
112978        the position variable.
112979        * platform/audio/gtk/AudioBusGtk.cpp: Include CString.h, needed
112980        for sharedResourcesPath().
112981
1129822012-02-21  Andreas Kling  <awesomekling@apple.com>
112983
112984        Kill FontFamilyValue.
112985        <http://webkit.org/b/79103>
112986
112987        Reviewed by Antti Koivisto.
112988
112989        Remove FontFamilyValue and replace all usage by CSSPrimitiveValue.
112990        The class was only used to filter font family names, removing bracketed
112991        suffixes, e.g "[Xft]".
112992
112993        This was added to KHTML in 2002 to support the use of specific X11 font
112994        families inside KMail: <https://bugs.kde.org/show_bug.cgi?id=38808>
112995
112996        Test: fast/css/font-family-trailing-bracket-gunk.html
112997
112998        * CMakeLists.txt:
112999        * GNUmakefile.list.am:
113000        * Target.pri:
113001        * WebCore.gypi:
113002        * WebCore.order:
113003        * WebCore.vcproj/WebCore.vcproj:
113004        * WebCore.xcodeproj/project.pbxproj:
113005        * css/CSSFontSelector.cpp:
113006        (WebCore::CSSFontSelector::addFontFaceRule):
113007        * css/CSSParser.cpp:
113008        * css/CSSStyleSelector.cpp:
113009        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
113010        * css/CSSValue.cpp:
113011        (WebCore::CSSValue::cssText):
113012        (WebCore::CSSValue::destroy):
113013        * css/CSSValue.h:
113014        * css/CSSValuePool.cpp:
113015        (WebCore::CSSValuePool::createFontFamilyValue):
113016        * css/CSSValuePool.h:
113017        (CSSValuePool):
113018        * css/FontFamilyValue.cpp: Removed.
113019        * css/FontFamilyValue.h: Removed.
113020
1130212012-02-21  Alexis Menard  <alexis.menard@openbossa.org>
113022
113023        Little optimization for CSSParser::parseFillShorthand.
113024        https://bugs.webkit.org/show_bug.cgi?id=79042
113025
113026        Reviewed by Hajime Morita.
113027
113028        Remove one extra loop that we can combine with the following one
113029        which adds the properties to the parser's list of properties. I also
113030        removed a useless check.
113031        Instruments shows on the css-parser-yui benchmark an improvement
113032        of 13ms (from 77ms spent in the function to 64ms).
113033
113034        No new tests : refactoring, existings tests should cover.
113035
113036        * css/CSSParser.cpp:
113037        (WebCore::CSSParser::parseFillShorthand):
113038
1130392012-02-20  David Hyatt  <hyatt@apple.com>
113040
113041        https://bugs.webkit.org/show_bug.cgi?id=79046
113042        
113043        width of overflow:hidden blocks is wrong when their margins overlap floats.
113044        
113045        Relevant discussion is here: http://lists.w3.org/Archives/Public/www-style/2012Feb/0954.html
113046        
113047        This patch makes the following changes to how objects shrink when avoiding floats:
113048        (1) The containing block width used for percentage calculations is now constant. This means that
113049        an overflow:hidden block with a margin-left of 10% will no longer change what 10% means depending
113050        on the available line width. From a code perspective, containingBlockLogicalWidthForContent and
113051        containingBlockLogicalWidthForContentInRegion no longer contain any special-case code for
113052        shrinkToAvoidFloats() objects.
113053
113054        (2) Now the computation of the logical width for the shrinking object itself handles the adjustments.
113055        Two kinds of adjustments are made for both the start and end margins. Conceptually what we do is shrink
113056        the object to the available line width minus our margins, and then expand the width back out to the content edge
113057        or to the float edge as necessary. If the float fully fits in the margin, then we expand back out to the
113058        content edge. Otherwise if the float doesn't fit, then we expand only to the float edge, making sure our
113059        margin overlaps with the float. This expansion is not performed for negative margins, since our result is already
113060        correct in that case.
113061        
113062        Reviewed by Dan Bernstein.
113063
113064        Added the new tests from the thread on www-style about this issue (from Alan Gresley and George Talbot)
113065        in fast/block/float.
113066
113067        * rendering/RenderBlock.cpp:
113068        (WebCore::RenderBlock::containsFloat):
113069        * rendering/RenderBlock.h:
113070        (WebCore::RenderBlock::containsFloats):
113071        Changed to be const.
113072
113073        (WebCore::RenderBlock::endOffsetForLine):
113074        (WebCore::RenderBlock::endOffsetForContent):
113075        Added endOffsetForXXX methods to mirror their startOffset counterparts. Used by the width adjustment code.
113076
113077        * rendering/RenderBox.cpp:
113078        (WebCore::RenderBox::shrinkLogicalWidthToAvoidFloats):
113079        New method that handles shrinking the logical width to the line width (and then re-expanding back out to the
113080        float and/or content edges as needed).
113081
113082        (WebCore::RenderBox::containingBlockLogicalWidthForContent):
113083        (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
113084        Patched to no longer do the shrinking of objects to avoid floats.
113085
113086        (WebCore::RenderBox::computeLogicalWidthInRegion):
113087        (WebCore::RenderBox::computeLogicalWidthInRegionUsing):
113088        Patched to handle calling the new shrinking code to adjust our logical width.
113089
113090        * rendering/RenderBox.h:
113091        (RenderBox):
113092        The signature of computeLogicalWithUsing changed to be region-specific and to carry along enough information
113093        to efficiently perform the shrinking.
113094
113095        * rendering/RenderTable.cpp:
113096        (WebCore::RenderTable::computeLogicalWidth):
113097        Patched to handle calling the new shrinking code to adjust our logical width.
113098
1130992012-02-21  Sam Weinig  <sam@webkit.org>
113100
113101        Attempt to fix the Snow Leopard build.
113102
113103        * Configurations/Base.xcconfig:
113104
1131052012-02-21  Sam Weinig  <sam@webkit.org>
113106
113107        Use libc++ when building with Clang on Mac
113108        https://bugs.webkit.org/show_bug.cgi?id=78981
113109
113110        Reviewed by Dan Bernstein.
113111
113112        * Configurations/Base.xcconfig:
113113
1131142012-02-21  Adam Roben  <aroben@apple.com>
113115
113116        Mac build fix
113117
113118        * WebCore.xcodeproj/project.pbxproj: Mark TextTrack.h and TextTrackCue.h private so that
113119        WebKit can include them.
113120
1131212012-02-21  Andras Becsi  <andras.becsi@nokia.com>
113122
113123        [Qt][WK2] Fix the N9 build
113124        https://bugs.webkit.org/show_bug.cgi?id=79101
113125
113126        Reviewed by Noam Rosenthal.
113127
113128        No new tests needed.
113129
113130        * platform/graphics/opengl/TextureMapperGL.cpp: Add missing include.
113131
1131322012-02-21  Adam Roben  <aroben@apple.com>
113133
113134        Roll out r108309, r108323, and r108326
113135
113136        They broke the 32-bit Lion build.
113137
113138        Original bugs is <http://webkit.org/b/75812> <rdar://problem/10079694>.
113139
113140        * CMakeLists.txt:
113141
1131422012-02-21  Alexander Pavlov  <apavlov@chromium.org>
113143
113144        Web Inspector: [SuggestBox] textPrompt.css disablement displays garbled suggest box
113145        https://bugs.webkit.org/show_bug.cgi?id=79107
113146
113147        Reviewed by Pavel Feldman.
113148
113149        * inspector/front-end/TextPrompt.js:
113150        (WebInspector.TextPrompt.SuggestBox):
113151        (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
113152        (WebInspector.TextPrompt.SuggestBox.prototype.hide):
113153        (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
113154        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
113155        * inspector/front-end/textPrompt.css:
113156        (.suggest-box):
113157
1131582012-02-21  Yury Semikhatsky  <yurys@chromium.org>
113159
113160        Web Inspector: timeline hangs on a page with deep chain of nested events.
113161        https://bugs.webkit.org/show_bug.cgi?id=79106
113162
113163        Use stack of states instead of recursive calls when traversing records tree to
113164        avoid stack overflow.
113165
113166        Reviewed by Pavel Feldman.
113167
113168        * inspector/front-end/TimelineOverviewPane.js:
113169        (WebInspector.TimelineOverviewPane.prototype._forAllRecords):
113170        * inspector/front-end/TimelinePanel.js:
113171        (WebInspector.TimelinePanel.prototype._filterRecords):
113172
1131732012-02-21  Pavel Feldman  <pfeldman@google.com>
113174
113175        Web Inspector: [crash] upon style modification after navigation
113176        https://bugs.webkit.org/show_bug.cgi?id=79108
113177
113178        Reviewed by Yury Semikhatsky.
113179
113180        * inspector/InspectorHistory.cpp:
113181        (WebCore::InspectorHistory::undo):
113182        (WebCore::InspectorHistory::redo):
113183        (WebCore::InspectorHistory::reset):
113184
1131852012-02-21  Patrick Gansterer  <paroga@webkit.org>
113186
113187        Use WTF::cryptographicallyRandomValues in FileSystemWin.cpp
113188        https://bugs.webkit.org/show_bug.cgi?id=79089
113189
113190        Reviewed by Adam Roben.
113191
113192        Avoid loading and unloading of the crypto library during every
113193        call to openTemporaryFile() and make the code easier.
113194
113195        * platform/win/FileSystemWin.cpp:
113196        (WebCore::openTemporaryFile):
113197
1131982012-02-21  Alexander Færøy  <alexander.faeroy@nokia.com>
113199
113200        Remove stylesheet pointer from StylePropertySet
113201        https://bugs.webkit.org/show_bug.cgi?id=79092
113202
113203        Reviewed by Csaba Osztrogonác.
113204
113205        Qt buildfix after r108345.
113206
113207        * css/CSSParser.cpp:
113208        (WebCore::parseColorValue):
113209
1132102012-02-21  Csaba Osztrogonác  <ossy@webkit.org>
113211
113212        Remove stylesheet pointer from StylePropertySet
113213        https://bugs.webkit.org/show_bug.cgi?id=79092
113214
113215        Reviewed by Antti Koivisto.
113216
113217        Qt buildfix after r108345. We need this workaround because of buggy gcc (4.4.5), which
113218        reported a false warning: 'value$m_ptr' may be used uninitialized in this function
113219
113220        * css/CSSParser.cpp:
113221        (WebCore::parseSimpleLengthValue):
113222
1132232012-02-21  Andreas Kling  <awesomekling@apple.com>
113224
113225        Shrink attribute style property sets after populating them.
113226        <http://webkit.org/b/78972>
113227
113228        Reviewed by Antti Koivisto.
113229
113230        Add a StylePropertySet::shrinkToFit() and call it at the end of updateStyleAttribute()
113231        to minimize the amount of wasted space.
113232
113233        * css/StylePropertySet.h:
113234        (WebCore::StylePropertySet::shrinkToFit):
113235        * dom/StyledElement.cpp:
113236        (WebCore::StyledElement::updateAttributeStyle):
113237
1132382012-02-21  Antti Koivisto  <antti@apple.com>
113239
113240        Remove stylesheet pointer from StylePropertySet
113241        https://bugs.webkit.org/show_bug.cgi?id=79092
113242
113243        Reviewed by Andreas Kling.
113244
113245        The context should be passed as an argument for CSS parser invoking setters that actually need it.
113246        
113247        - Remove the context stylesheet pointer.
113248        - Add context stylesheet argument to setters.
113249        - Drop an unnecessary StylePropertySet constructor, pass strict parsing flag directly.
113250        - Adapt to changes by passing in the context stylesheet where needed.
113251        - Add StyledElement::applyPresentationAttributeToStyle helpers for building up the attribute style.
113252
113253        * css/CSSFontFaceRule.cpp:
113254        (WebCore::CSSFontFaceRule::addSubresourceStyleURLs):
113255        * css/CSSParser.cpp:
113256        (WebCore::parseColorValue):
113257        (WebCore::parseSimpleLengthValue):
113258        (WebCore::CSSParser::parseValue):
113259        (WebCore::CSSParser::parseDeclaration):
113260        (WebCore::CSSParser::createStyleRule):
113261        (WebCore::CSSParser::createFontFaceRule):
113262        (WebCore::CSSParser::createPageRule):
113263        (WebCore::CSSParser::createKeyframeRule):
113264        * css/CSSParser.h:
113265        (CSSParser):
113266        * css/CSSStyleRule.cpp:
113267        (WebCore::CSSStyleRule::addSubresourceStyleURLs):
113268        * css/StylePropertySet.cpp:
113269        (WebCore::PropertySetCSSStyleDeclaration::contextStyleSheet):
113270        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
113271        (RuleCSSStyleDeclaration):
113272        (InlineCSSStyleDeclaration):
113273        (WebCore):
113274        (WebCore::StylePropertySet::StylePropertySet):
113275        (WebCore::StylePropertySet::setProperty):
113276        (WebCore::StylePropertySet::parseDeclaration):
113277        (WebCore::StylePropertySet::addSubresourceStyleURLs):
113278        (WebCore::StylePropertySet::clearParentRule):
113279        (WebCore::StylePropertySet::clearParentElement):
113280        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
113281        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
113282        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
113283        (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
113284        (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
113285        (WebCore::RuleCSSStyleDeclaration::contextStyleSheet):
113286        (WebCore::InlineCSSStyleDeclaration::contextStyleSheet):
113287        (SameSizeAsStylePropertySet):
113288        * css/StylePropertySet.h:
113289        (WebCore::StylePropertySet::create):
113290        (StylePropertySet):
113291        * css/WebKitCSSMatrix.cpp:
113292        (WebCore::WebKitCSSMatrix::setMatrixValue):
113293        * dom/ElementAttributeData.cpp:
113294        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
113295        * dom/StyledElement.cpp:
113296        (WebCore):
113297        (WebCore::StyledElement::parseAttribute):
113298        (WebCore::StyledElement::setInlineStyleProperty):
113299        (WebCore::StyledElement::addSubresourceAttributeURLs):
113300        (WebCore::StyledElement::updateAttributeStyle):
113301        * dom/StyledElement.h:
113302        (StyledElement):
113303        (WebCore::StyledElement::applyPresentationAttributeToStyle):
113304        (WebCore):
113305        * html/HTMLBRElement.cpp:
113306        (WebCore::HTMLBRElement::collectStyleForAttribute):
113307        * html/HTMLBodyElement.cpp:
113308        (WebCore::HTMLBodyElement::collectStyleForAttribute):
113309        * html/HTMLDivElement.cpp:
113310        (WebCore::HTMLDivElement::collectStyleForAttribute):
113311        * html/HTMLElement.cpp:
113312        (WebCore::HTMLElement::applyBorderAttributeToStyle):
113313        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
113314        (WebCore::HTMLElement::collectStyleForAttribute):
113315        (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
113316        (WebCore::HTMLElement::addHTMLLengthToStyle):
113317        (WebCore::HTMLElement::addHTMLColorToStyle):
113318        * html/HTMLElement.h:
113319        (HTMLElement):
113320        * html/HTMLFontElement.cpp:
113321        (WebCore::HTMLFontElement::collectStyleForAttribute):
113322        * html/HTMLHRElement.cpp:
113323        (WebCore::HTMLHRElement::collectStyleForAttribute):
113324        * html/HTMLImageElement.cpp:
113325        (WebCore::HTMLImageElement::collectStyleForAttribute):
113326        * html/HTMLLIElement.cpp:
113327        (WebCore::HTMLLIElement::collectStyleForAttribute):
113328        * html/HTMLMarqueeElement.cpp:
113329        (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
113330        * html/HTMLOListElement.cpp:
113331        (WebCore::HTMLOListElement::collectStyleForAttribute):
113332        * html/HTMLParagraphElement.cpp:
113333        (WebCore::HTMLParagraphElement::collectStyleForAttribute):
113334        * html/HTMLTableCaptionElement.cpp:
113335        (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
113336        * html/HTMLTableCellElement.cpp:
113337        (WebCore::HTMLTableCellElement::collectStyleForAttribute):
113338        * html/HTMLTableElement.cpp:
113339        (WebCore::HTMLTableElement::collectStyleForAttribute):
113340        * html/HTMLTablePartElement.cpp:
113341        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
113342        * html/HTMLTextAreaElement.cpp:
113343        (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
113344        * html/HTMLUListElement.cpp:
113345        (WebCore::HTMLUListElement::collectStyleForAttribute):
113346        * html/canvas/CanvasRenderingContext2D.cpp:
113347        (WebCore::CanvasRenderingContext2D::setFont):
113348        * mathml/MathMLElement.cpp:
113349        (WebCore::MathMLElement::collectStyleForAttribute):
113350        * svg/SVGFontFaceElement.cpp:
113351        (WebCore::SVGFontFaceElement::insertedIntoDocument):
113352        (WebCore::SVGFontFaceElement::removedFromDocument):
113353        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
113354        * svg/SVGImageElement.cpp:
113355        (WebCore::SVGImageElement::collectStyleForAttribute):
113356        * svg/SVGStyledElement.cpp:
113357        (WebCore::SVGStyledElement::collectStyleForAttribute):
113358        * svg/SVGTextContentElement.cpp:
113359        (WebCore::SVGTextContentElement::collectStyleForAttribute):
113360
1133612012-02-21  Yury Semikhatsky  <yurys@chromium.org>
113362
113363        [V8] Web Inspector: set breakpoint/pause doesn't work when worker is in a tight loop
113364        https://bugs.webkit.org/show_bug.cgi?id=79097
113365
113366        Worker script will be interrupted to dispatch all arriving inspector commands.
113367        This way debugger will be operable even if worker is in a tight loop.
113368
113369        Reviewed by Pavel Feldman.
113370
113371        * bindings/js/ScriptDebugServer.h:
113372        (Task):
113373        (WebCore::ScriptDebugServer::Task::~Task):
113374        (ScriptDebugServer):
113375        * bindings/js/WorkerScriptDebugServer.cpp:
113376        (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
113377        (WebCore):
113378        * bindings/js/WorkerScriptDebugServer.h:
113379        (WorkerScriptDebugServer):
113380        * bindings/v8/ScriptDebugServer.cpp:
113381        (WebCore::ScriptDebugServer::interruptAndRun):
113382        * bindings/v8/ScriptDebugServer.h:
113383        (ScriptDebugServer):
113384        * bindings/v8/WorkerScriptDebugServer.cpp:
113385        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
113386        (WebCore::WorkerScriptDebugServer::interruptAndRunTask):
113387        (WebCore):
113388        * bindings/v8/WorkerScriptDebugServer.h:
113389        (v8):
113390        (WebCore):
113391        (WorkerScriptDebugServer):
113392        * inspector/WorkerDebuggerAgent.cpp:
113393        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
113394        (WebCore::WorkerDebuggerAgent::~WorkerDebuggerAgent):
113395        (WebCore):
113396        (WebCore::WorkerDebuggerAgent::interruptAndDispatchInspectorCommands):
113397        * inspector/WorkerDebuggerAgent.h:
113398        (WebCore):
113399        (WorkerDebuggerAgent):
113400        * workers/WorkerMessagingProxy.cpp:
113401        (WebCore):
113402        (WebCore::WorkerMessagingProxy::sendMessageToInspector):
113403        * workers/WorkerRunLoop.cpp:
113404        (WebCore::WorkerRunLoop::run):
113405        (WebCore::WorkerRunLoop::runInMode):
113406        * workers/WorkerRunLoop.h:
113407        (WorkerRunLoop):
113408
1134092012-02-21  'Pavel Feldman'  <pfeldman@google.com>
113410
113411        Not reviewed: fixing Mac build (take 2).
113412
113413        * inspector/InspectorPageAgent.cpp:
113414        (WebCore::InspectorPageAgent::setShowPaintRects):
113415
1134162012-02-21  'Pavel Feldman'  <pfeldman@google.com>
113417
113418        Not reviewed: fixing Mac build.
113419
113420        * inspector/DOMNodeHighlighter.cpp:
113421        (WebCore::DOMNodeHighlighter::drawOutline):
113422        * inspector/DOMNodeHighlighter.h:
113423        (DOMNodeHighlighter):
113424        * inspector/InspectorInstrumentation.cpp:
113425        (WebCore::InspectorInstrumentation::willPaintImpl):
113426        * inspector/InspectorInstrumentation.h:
113427        (InspectorInstrumentation):
113428        (WebCore::InspectorInstrumentation::willPaint):
113429        * inspector/InspectorPageAgent.cpp:
113430        (WebCore::InspectorPageAgent::InspectorPageAgent):
113431        (WebCore::InspectorPageAgent::willPaint):
113432        (WebCore::InspectorPageAgent::didPaint):
113433        * inspector/InspectorPageAgent.h:
113434
1134352012-02-21  Peter Rybin  <peter.rybin@gmail.com>
113436
113437        Web Inspector: Switch Debugger agent to TypeBuilder
113438        https://bugs.webkit.org/show_bug.cgi?id=78390
113439
113440        Reviewed by Vsevolod Vlasov.
113441
113442        Client code is switched to TypeBuilder.
113443
113444        * inspector/CodeGeneratorInspector.py:
113445        * inspector/InjectedScript.cpp:
113446        (WebCore::InjectedScript::evaluateOnCallFrame):
113447        (WebCore::InjectedScript::getFunctionDetails):
113448        (WebCore::InjectedScript::getProperties):
113449        (WebCore::InjectedScript::wrapCallFrames):
113450        * inspector/InjectedScript.h:
113451        (InjectedScript):
113452        * inspector/InspectorDebuggerAgent.cpp:
113453        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
113454        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
113455        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
113456        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
113457        (WebCore::InspectorDebuggerAgent::currentCallFrames):
113458        (WebCore::InspectorDebuggerAgent::didParseSource):
113459        * inspector/InspectorDebuggerAgent.h:
113460        (InspectorDebuggerAgent):
113461
1134622012-02-21  'Pavel Feldman'  <pfeldman@google.com>
113463
113464        Not reviewed: fixing poor merge in r108332.
113465
113466        * inspector/front-end/StylesSidebarPane.js:
113467        (WebInspector.StylePropertiesSection.prototype._handleSelectorClick):
113468        * inspector/front-end/externs.js:
113469
1134702012-02-21  Alexander Pavlov  <apavlov@chromium.org>
113471
113472        Web Inspector: [Styles] Rule source URL tooltip should show line number
113473        https://bugs.webkit.org/show_bug.cgi?id=79087
113474
113475        Reviewed by Pavel Feldman.
113476
113477        * inspector/front-end/StylesSidebarPane.js:
113478        (WebInspector.StylePropertiesSection):
113479        (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
113480
1134812012-02-21  Pavel Feldman  <pfeldman@chomium.org>
113482
113483        Web Inspector: clicking empty space should not re-enter edit mode
113484        https://bugs.webkit.org/show_bug.cgi?id=79024
113485
113486        Reviewed by Vsevolod Vlasov.
113487
113488        * inspector/front-end/StylesSidebarPane.js:
113489        (WebInspector.StylePropertiesSection):
113490        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceMouseDown):
113491        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceClick):
113492
1134932012-02-21  Pavel Feldman  <pfeldman@chomium.org>
113494
113495        Web Inspector: evaluate on hover does not work for large files.
113496        https://bugs.webkit.org/show_bug.cgi?id=79015
113497
113498        Reviewed by Yury Semikhatsky.
113499
113500        * inspector/front-end/JavaScriptSourceFrame.js:
113501        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
113502        (WebInspector.JavaScriptSourceFrame.prototype._highlightExpression):
113503        * inspector/front-end/Popover.js:
113504        (WebInspector.PopoverHelper.prototype._handleMouseAction):
113505        * inspector/front-end/SourceJavaScriptTokenizer.js:
113506        (WebInspector.SourceJavaScriptTokenizer):
113507        (WebInspector.SourceJavaScriptTokenizer.prototype.nextToken):
113508        * inspector/front-end/SourceJavaScriptTokenizer.re2js:
113509
1135102012-02-21  Pavel Feldman  <pfeldman@google.com>
113511
113512        Web Inspector: add "show paint rectangles" setting.
113513        https://bugs.webkit.org/show_bug.cgi?id=79030
113514
113515        Reviewed by Yury Semikhatsky.
113516
113517        * English.lproj/localizedStrings.js:
113518        * inspector/DOMNodeHighlighter.cpp:
113519        (WebCore::DOMNodeHighlighter::drawOutline):
113520        (DOMNodeHighlighter):
113521        * inspector/DOMNodeHighlighter.h:
113522        (WebCore):
113523        (DOMNodeHighlighter):
113524        * inspector/Inspector.json:
113525        * inspector/InspectorController.cpp:
113526        (WebCore::InspectorController::InspectorController):
113527        * inspector/InspectorInstrumentation.cpp:
113528        (WebCore::InspectorInstrumentation::willPaintImpl):
113529        (WebCore::InspectorInstrumentation::didPaintImpl):
113530        * inspector/InspectorInstrumentation.h:
113531        (WebCore):
113532        (InspectorInstrumentation):
113533        (WebCore::InspectorInstrumentation::willPaint):
113534        * inspector/InspectorPageAgent.cpp:
113535        (PageAgentState):
113536        (WebCore::InspectorPageAgent::create):
113537        (WebCore::InspectorPageAgent::InspectorPageAgent):
113538        (WebCore::InspectorPageAgent::setShowPaintRects):
113539        (WebCore):
113540        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
113541        (WebCore::InspectorPageAgent::willPaint):
113542        (WebCore::InspectorPageAgent::didPaint):
113543        (WebCore::InspectorPageAgent::buildObjectForFrame):
113544        * inspector/InspectorPageAgent.h:
113545        (WebCore):
113546        * inspector/front-end/Settings.js:
113547        (WebInspector.Settings):
113548        * inspector/front-end/SettingsScreen.js:
113549        (WebInspector.SettingsScreen):
113550        (WebInspector.SettingsScreen.prototype._showPaintRectsChanged):
113551        * inspector/front-end/inspector.js:
113552        * page/FrameView.cpp:
113553        (WebCore::FrameView::paintContents):
113554        * rendering/RenderLayerBacking.cpp:
113555        (WebCore::RenderLayerBacking::paintContents):
113556
1135572012-02-21  Andras Becsi  <andras.becsi@nokia.com>
113558
113559        [Qt] Clean-up project file after r108310
113560
113561        Reviewed by Csaba Osztrogonác.
113562
113563        No new tests needed.
113564
113565        * Target.pri: Fix path for TextTrack headers.
113566
1135672012-02-17  Philippe Normand  <pnormand@igalia.com>
113568
113569        [GStreamer] media/W3C failures
113570        https://bugs.webkit.org/show_bug.cgi?id=75078
113571
113572        Reviewed by Martin Robinson.
113573
113574        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
113575        (WebCore::MediaPlayerPrivateGStreamer::load): Clean out everything
113576        after file:// url path to cope with media/W3C tests loading
113577        file:///path/to/media.ext?some parameters.
113578
1135792012-02-21  Matt Lilek  <mrl@apple.com>
113580
113581        Not reviewed, build fix for non-client-based Geolocation builds after r107982.
113582
113583        * page/Geolocation.cpp:
113584
1135852012-02-21  Yury Semikhatsky  <yurys@chromium.org>
113586
113587        [V8] Web Inspector: simplify worker debugger implementation
113588        https://bugs.webkit.org/show_bug.cgi?id=79085
113589
113590        There is one instance of WorkerScriptDebugServer per worker thread. We don't
113591        need to resolve WorkerContext from V8::Context anymore.
113592
113593        Reviewed by Pavel Feldman.
113594
113595        * bindings/v8/WorkerScriptDebugServer.cpp:
113596        (WebCore::WorkerScriptDebugServer::WorkerScriptDebugServer):
113597        (WebCore::WorkerScriptDebugServer::addListener):
113598        (WebCore::WorkerScriptDebugServer::removeListener):
113599        (WebCore::WorkerScriptDebugServer::getDebugListenerForContext):
113600        (WebCore::WorkerScriptDebugServer::runMessageLoopOnPause):
113601        * bindings/v8/WorkerScriptDebugServer.h:
113602        (WorkerScriptDebugServer):
113603        * inspector/WorkerDebuggerAgent.cpp:
113604        (WebCore::WorkerDebuggerAgent::WorkerDebuggerAgent):
113605        (WebCore::WorkerDebuggerAgent::startListeningScriptDebugServer):
113606        (WebCore::WorkerDebuggerAgent::stopListeningScriptDebugServer):
113607
1136082012-02-21  Kentaro Hara  <haraken@chromium.org>
113609
113610        Enable the IDL attribute checker in Chromium
113611        https://bugs.webkit.org/show_bug.cgi?id=79082
113612
113613        Reviewed by Adam Barth.
113614
113615        We have fixed 10~ bugs caused by typos of IDL attributes.
113616        This patch adds an IDL attribute checker, which checks if all IDL attributes
113617        used in IDL files are implemented by code generators.
113618
113619            - The IDL attribute checker uses IDLAttributes.txt, which lists all
113620              IDL attributes implemented in code generators. If we want to add
113621              a new IDL attribute, we need to add it to IDLAttributes.txt manually.
113622            - The IDL attribute checker checks if all IDL attributes used in IDL files
113623              are listed in IDLAttributes.txt.
113624            - If the IDL attribute checker fails, the build fails with a verbose error message.
113625
113626        No tests. I manually checked that [Custommm], [CallWith=],
113627        [CallWith=ScriptExecutionContext|Foo] cause build failures.
113628
113629        * WebCore.gyp/WebCore.gyp: Modified to enable the IDL attribute checker.
113630
113631        * bindings/scripts/resolve-supplemental.pl:
113632        (loadIDLAttributes): This method loads a list of IDL attributes from IDLAttributes.txt.
113633        (checkIDLAttributes): This method implementes the IDL attribute checker as described above.
113634        (checkIfIDLAttributesExists):
113635
113636        * bindings/scripts/IDLParser.pm: "1" is not good to represent that
113637        the IDL attribute does not have any value. This patch changed it to "VALUE_IS_MISSING".
113638        (parseExtendedAttributes):
113639        (ParseInterface):
113640        * bindings/scripts/CodeGenerator.pm: Ditto.
113641        (ContentAttributeName):
113642        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
113643        (GenerateNormalAttrGetter):
113644        (GenerateNormalAttrSetter):
113645        (GenerateSingleBatchedAttribute):
113646        (GetRuntimeEnableFunctionName):
113647        * bindings/scripts/IDLAttributes.txt: Added. This file lists all IDL attributes implemented
113648        in code generators.
113649
1136502012-02-21  Patrick Gansterer  <paroga@webkit.org>
113651
113652        Use Win32 API to get file information
113653        https://bugs.webkit.org/show_bug.cgi?id=55336
113654
113655        Reviewed by Adam Roben.
113656
113657        Use FindFirstFile() in favour over _wstat64() to share the code with WinCE.
113658
113659        * platform/win/FileSystemWin.cpp:
113660        (WebCore):
113661        (WebCore::getFindData):
113662        (WebCore::getFileSize):
113663        (WebCore::getFileModificationTime):
113664        (WebCore::fileExists):
113665
1136662012-02-20  Adam Barth  <abarth@webkit.org>
113667
113668        Invalid cast in WebCore::toElement / WebCore::HTMLElementStack::ElementRecord::element
113669        https://bugs.webkit.org/show_bug.cgi?id=78975
113670
113671        Reviewed by Eric Seidel.
113672
113673        We're supposed to set the action attribute on the form element we just
113674        created.  Previously, we assumed the newly created form element would
113675        be on the top of the stack of open elements, but if we're in the table
113676        body insertion mode, the form element gets treated as self closing and
113677        is therefore popped off the stack of open elements.
113678
113679        Fortunately, we already cache a pointer to the most recently inserted
113680        form element on the HTMLConstructionSite, so we can just grab the
113681        element from there.
113682
113683        Test: html5lib/runner.html
113684
113685        * html/parser/HTMLTreeBuilder.cpp:
113686        (WebCore::HTMLTreeBuilder::processIsindexStartTagForInBody):
113687        (WebCore):
113688
1136892012-02-20  Adam Barth  <abarth@webkit.org>
113690
113691        Unite TextTrack-related files with their friends in WebCore/html/track
113692        https://bugs.webkit.org/show_bug.cgi?id=78941
113693
113694        Reviewed by Eric Seidel.
113695
113696        The code that supports <track> seems to be split between the
113697        WebCore/html directory and the WebCore/html/track directory.  This
113698        patch unites this code in the WebCore/html/track directory.
113699
113700        * CMakeLists.txt:
113701        * DerivedSources.make:
113702        * DerivedSources.pri:
113703        * GNUmakefile.list.am:
113704        * WebCore.gypi:
113705        * WebCore.xcodeproj/project.pbxproj:
113706        * html/LoadableTextTrack.cpp: Removed.
113707        * html/LoadableTextTrack.h: Removed.
113708        * html/TextTrack.cpp: Removed.
113709        * html/TextTrack.h: Removed.
113710        * html/TextTrack.idl: Removed.
113711        * html/TextTrackCue.cpp: Removed.
113712        * html/TextTrackCue.h: Removed.
113713        * html/TextTrackCue.idl: Removed.
113714        * html/TextTrackCueList.cpp: Removed.
113715        * html/TextTrackCueList.h: Removed.
113716        * html/TextTrackCueList.idl: Removed.
113717        * html/track/LoadableTextTrack.cpp: Copied from Source/WebCore/html/LoadableTextTrack.cpp.
113718        * html/track/LoadableTextTrack.h: Copied from Source/WebCore/html/LoadableTextTrack.h.
113719        * html/track/TextTrack.cpp: Copied from Source/WebCore/html/TextTrack.cpp.
113720        * html/track/TextTrack.h: Copied from Source/WebCore/html/TextTrack.h.
113721        * html/track/TextTrack.idl: Copied from Source/WebCore/html/TextTrack.idl.
113722        * html/track/TextTrackCue.cpp: Copied from Source/WebCore/html/TextTrackCue.cpp.
113723        * html/track/TextTrackCue.h: Copied from Source/WebCore/html/TextTrackCue.h.
113724        * html/track/TextTrackCue.idl: Copied from Source/WebCore/html/TextTrackCue.idl.
113725        * html/track/TextTrackCueList.cpp: Copied from Source/WebCore/html/TextTrackCueList.cpp.
113726        * html/track/TextTrackCueList.h: Copied from Source/WebCore/html/TextTrackCueList.h.
113727        * html/track/TextTrackCueList.idl: Copied from Source/WebCore/html/TextTrackCueList.idl.
113728
1137292012-02-20  Filip Pizlo  <fpizlo@apple.com>
113730
113731        JSC should be a triple-tier VM
113732        https://bugs.webkit.org/show_bug.cgi?id=75812
113733        <rdar://problem/10079694>
113734
113735        Reviewed by Gavin Barraclough.
113736        
113737        No new tests, because there is no change in behavior.
113738
113739        * CMakeLists.txt:
113740
1137412012-02-20  Benjamin Poulain  <benjamin@webkit.org>
113742
113743        Get rid of the LocalizationStrategy
113744        https://bugs.webkit.org/show_bug.cgi?id=78324
113745
113746        Reviewed by Sam Weinig.
113747
113748        Remove LocalizationStrategy and unify the localization behind
113749        LocalizedStrings.h and LocalizedStrings.cpp.
113750
113751        * CMakeLists.txt:
113752        * GNUmakefile.list.am:
113753        * Target.pri:
113754        * WebCore.exp.in:
113755        * WebCore.gypi:
113756        * WebCore.order:
113757        * WebCore.vcproj/WebCore.vcproj:
113758        * WebCore.xcodeproj/project.pbxproj:
113759        * platform/DefaultLocalizationStrategy.cpp: Removed.
113760        * platform/DefaultLocalizationStrategy.h: Removed.
113761        * platform/LocalizationStrategy.h: Removed.
113762        * platform/LocalizedStrings.cpp:
113763        * platform/LocalizedStrings.h:
113764        (WebCore):
113765        * platform/PlatformStrategies.cpp:
113766        * platform/PlatformStrategies.h:
113767        (WebCore):
113768        (WebCore::PlatformStrategies::PlatformStrategies):
113769        (PlatformStrategies):
113770        * platform/qt/LocalizedStringsQt.cpp: Copied from Source/WebKit/qt/WebCoreSupport/PlatformStrategiesQt.cpp.
113771
1137722012-02-20  Kentaro Hara  <haraken@chromium.org>
113773
113774        Remove [TreatReturnedNullStringAsNull] from HTMLMediaElement.mediaGroup
113775        https://bugs.webkit.org/show_bug.cgi?id=79064
113776
113777        Reviewed by Hajime Morita.
113778
113779        [TreatReturnedNullStringAsNull] is a typo of [TreatReturnedNullStringAs=Null].
113780        But as far as I read the spec
113781        (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#attr-media-mediagroup),
113782        there is no statement about what value should be returned when HTMLMediaElement.mediaGroup
113783        is not yet initialized. In particular, there is no statement that says "null should
113784        be returned when HTMLMediaElement.mediaGroup is not initialized". Thus, instead of
113785        fixing the typo, just removing [TreatReturnedNullStringAsNull] would make sense.
113786        Removing [TreatReturnedNullStringAsNull] does not change the current behavior.
113787
113788        Test: media/media-controller.html (No change in the test results.)
113789
113790        * html/HTMLMediaElement.idl:
113791
1137922012-02-20  Hayato Ito  <hayato@chromium.org>
113793
113794        Use InsertinonPoint instead of HTMLContentElement.
113795        https://bugs.webkit.org/show_bug.cgi?id=78778
113796
113797        Reviewed by Hajime Morita.
113798
113799        Replace HTMLContentElement with InsertionPoint in NodeRenderingContext and HTMLContentSelection.
113800        This is one of followup patches for r108207.
113801
113802        No new tests, no change in behavior.
113803
113804        * dom/NodeRenderingContext.cpp:
113805        (WebCore::nextRendererOf):
113806        (WebCore::previousRendererOf):
113807        (WebCore::firstRendererOf):
113808        (WebCore::lastRendererOf):
113809        * dom/NodeRenderingContext.h:
113810        (WebCore):
113811        (NodeRenderingContext):
113812        (WebCore::NodeRenderingContext::insertionPoint):
113813        * dom/ShadowRoot.cpp:
113814        (WebCore::ShadowRoot::insertionPointFor):
113815        * dom/ShadowRoot.h:
113816        (WebCore):
113817        * html/shadow/HTMLContentElement.cpp:
113818        (WebCore::HTMLContentElement::HTMLContentElement):
113819        (WebCore::HTMLContentElement::attach):
113820        (WebCore::HTMLContentElement::detach):
113821        * html/shadow/HTMLContentElement.h:
113822        (HTMLContentElement):
113823        * html/shadow/HTMLContentSelector.cpp:
113824        (WebCore::HTMLContentSelector::select):
113825        * html/shadow/HTMLContentSelector.h:
113826        (WebCore):
113827        (HTMLContentSelection):
113828        (WebCore::HTMLContentSelection::insertionPoint):
113829        (WebCore::HTMLContentSelection::HTMLContentSelection):
113830        (WebCore::HTMLContentSelection::create):
113831        * html/shadow/InsertionPoint.cpp:
113832        (WebCore::InsertionPoint::InsertionPoint):
113833        * html/shadow/InsertionPoint.h:
113834        (WebCore::InsertionPoint::selections):
113835        (WebCore::InsertionPoint::hasSelection):
113836        (InsertionPoint):
113837
1138382012-02-20  David Barton  <dbarton@mathscribe.com>
113839
113840        MathML internals - code clean-up for RenderMathMLSubSup
113841        https://bugs.webkit.org/show_bug.cgi?id=79063
113842
113843        Reviewed by Eric Seidel.
113844
113845        In the next patch, I will shrink and revise the <msubsup> formatting code. To make this
113846        easier to follow, I am first doing some simple code clean-up.
113847
113848        No new tests.
113849
113850        * rendering/mathml/RenderMathMLRow.cpp:
113851        (WebCore::RenderMathMLRow::layout):
113852        * rendering/mathml/RenderMathMLRow.h:
113853        (WebCore::RenderMathMLRow::isRenderMathMLRow):
113854        * rendering/mathml/RenderMathMLSubSup.cpp:
113855        (WebCore::RenderMathMLSubSup::stretchToHeight):
113856        (WebCore::RenderMathMLSubSup::layout):
113857            - There is no need to iterate over baseWrapper's children since it should have only
113858              one child, the base of the <msubsup>.
113859
1138602012-02-20  Kentaro Hara  <haraken@chromium.org>
113861
113862        Replace [V8Custom=DOMWindowNOP] with [V8Custom]
113863        https://bugs.webkit.org/show_bug.cgi?id=79062
113864
113865        Reviewed by Adam Barth.
113866
113867        [V8Custom=DOMWindowNOP] is not implemented by CodeGeneratorV8.pm.
113868        This patch replaces it with [V8Custom].
113869
113870        No new tests. No change in behavior.
113871
113872        * page/DOMWindow.idl:
113873
1138742012-02-20  Kentaro Hara  <haraken@chromium.org>
113875
113876        [JSGenerateIsReachable=ImplRoot] is not implemented, it should be [JSGenerateIsReachable]
113877        https://bugs.webkit.org/show_bug.cgi?id=79061
113878
113879        Reviewed by Adam Barth.
113880
113881        CSSStyleDeclaration.idl uses [JSGenerateIsReachable=ImplRoot],
113882        but "ImplRoot" is not implemented in CodeGeneratorJS.pm.
113883        This patch replaces [JSGenerateIsReachable=ImplRoot] with [JSGenerateIsReachable].
113884
113885        No tests. No change in behavior.
113886
113887        * css/CSSStyleDeclaration.idl:
113888
1138892012-02-20  Kentaro Hara  <haraken@chromium.org>
113890
113891        [EnabledAtRuntime] in HTMLShadowElement.idl should be [V8EnabledAtRuntime]
113892        https://bugs.webkit.org/show_bug.cgi?id=79058
113893
113894        Reviewed by Adam Barth.
113895
113896        [EnabledAtRuntime] does not exist any longer. It should be [V8EnabledAtRuntime].
113897
113898        No tests.
113899
113900        * html/shadow/HTMLShadowElement.idl:
113901
1139022012-02-20  Kentaro Hara  <haraken@chromium.org>
113903
113904        Replace [Callback=FunctionOnly] with [Callback]
113905        https://bugs.webkit.org/show_bug.cgi?id=79060
113906
113907        Reviewed by Adam Barth.
113908
113909        [Callback=FunctionOnly] is not implemented by any code generator.
113910        This patch replaces it with [Callback].
113911
113912        No tests. No change in behavior.
113913
113914        * Modules/intents/IntentResultCallback.idl:
113915        * Modules/intents/NavigatorIntents.idl:
113916        * dom/RequestAnimationFrameCallback.idl:
113917        * mediastream/NavigatorMediaStream.idl:
113918        * mediastream/NavigatorUserMediaErrorCallback.idl:
113919        * mediastream/NavigatorUserMediaSuccessCallback.idl:
113920        * mediastream/PeerConnection.idl:
113921        * mediastream/SignalingCallback.idl:
113922        * page/PositionCallback.idl:
113923        * page/PositionErrorCallback.idl:
113924
1139252012-02-20  Andy Chen  <andchen@rim.com>
113926
113927        2012-02-17  Andy Chen  <andchen@rim.com>
113928
113929        [BlackBerry] Need to override active/inactive text search highlight color for RenderThemeBlackBerry
113930        https://bugs.webkit.org/show_bug.cgi?id=78920
113931
113932        Override two functions for text search highlight colors so that we can
113933        provide platform specified colors.
113934
113935        Reviewed by Antonio Gomes.
113936
113937        No function change so no new tests.
113938
113939        * platform/blackberry/RenderThemeBlackBerry.cpp:
113940        (WebCore::RenderThemeBlackBerry::platformActiveTextSearchHighlightColor):
113941        (WebCore::RenderThemeBlackBerry::platformInactiveTextSearchHighlightColor):
113942        * platform/blackberry/RenderThemeBlackBerry.h:
113943
1139442012-02-20  John Knottenbelt  <jknotten@chromium.org>
113945
113946        Default canvas backing store to be 1:1 with specified dimensions.
113947        https://bugs.webkit.org/show_bug.cgi?id=78971
113948
113949        Reviewed by Adam Barth.
113950
113951        Although the canvas specification states that the backing image may
113952        be larger than the user-specified dimensions, there are a number of
113953        philip canvas tests that fail when the backing image data is not
113954        1:1 with the specified canvas dimensions. These failures are
113955        tracked in https://bugs.webkit.org/show_bug.cgi?id=73645
113956
113957        This change defaults the canvas backing store to be 1:1 with the
113958        user-specified dimensions, while also providing an
113959        ENABLE(HIGH_DPI_CANVAS) build option to reinstate the original
113960        behaviour, so that the above bug may be more easily fixed.
113961
113962        * html/HTMLCanvasElement.cpp:
113963        (WebCore::HTMLCanvasElement::HTMLCanvasElement):
113964
1139652012-02-20  Mary Wu  <mary.wu@torchmobile.com.cn>
113966
113967        Upstream RenderThemeBlackberry.h/.cpp into WebCore/platform/blackberry
113968        https://bugs.webkit.org/show_bug.cgi?id=78785
113969
113970        Main Contributors:
113971        Daniel Bates <dbates@rim.com>
113972        Bryan Gislason <bgislason@rim.com>
113973        Akash Vaswani <akvaswani@rim.com>
113974        Dave Battista <dbattista@rim.com>
113975        Robin Cao  <robin.cao@torchmobile.com.cn>
113976        Genevieve Mak <gmak@rim.com>
113977        Mike Fenton  <mifenton@rim.com>
113978
113979        Reviewed by Antonio Gomes.
113980
113981        Initial upstream, no new tests.
113982
113983        * platform/blackberry/RenderThemeBlackBerry.cpp: Added.
113984        * platform/blackberry/RenderThemeBlackBerry.h: Added.
113985
1139862012-02-20  Martin Robinson  <mrobinson@igalia.com>
113987
113988        [GTK] [EFL] Collapse duplicate WebGL support code
113989        https://bugs.webkit.org/show_bug.cgi?id=78970
113990
113991        Reviewed by Gustavo Noronha Silva.
113992
113993        No new tests. This just cleans up duplicated code.
113994
113995        Centralize duplicated WebGL code for EFL and GTK+ in the Cairo
113996        directory. This is in preparation for the changes necessary to
113997        connect WebGL to the TextureMapper AC.
113998
113999        * GNUmakefile.list.am: Update source list.
114000        * PlatformEfl.cmake: Update source list.
114001        * platform/graphics/cairo/DrawingBufferCairo.cpp: Renamed from Source/WebCore/platform/graphics/gtk/DrawingBufferGtk.cpp.
114002        * platform/graphics/cairo/GraphicsContext3DCairo.cpp: Integrated the code From GraphicsContext3DGtk.cpp.
114003        * platform/graphics/efl/DrawingBufferEfl.cpp: Removed.
114004        * platform/graphics/efl/GraphicsContext3DEfl.cpp: Removed.
114005        * platform/graphics/gtk/GraphicsContext3DGtk.cpp: Removed.
114006
1140072012-02-20  Martin Robinson  <mrobinson@igalia.com>
114008
114009        [UNIX] Plugin information fields are not interpreted as UTF-8
114010        https://bugs.webkit.org/show_bug.cgi?id=78635
114011
114012        Reviewed by Gustavo Noronha Silva.
114013
114014        Interpret plugin metadata as UTF8 aways. This matches the behavior
114015        of Chromium and the Totem plugin.
114016
114017        This is tested by a change to TestNetscapePlugin and expectations updates.
114018
114019        * plugins/efl/PluginPackageEfl.cpp:
114020        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
114021        * plugins/gtk/PluginPackageGtk.cpp:
114022        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
114023        * plugins/qt/PluginPackageQt.cpp:
114024        (WebCore::PluginPackage::fetchInfo): Use String::fromUTF8.
114025
1140262012-02-20  Martin Robinson  <mrobinson@igalia.com>
114027
114028        [GTK] Web content oftens steals focus from other widgets
114029        https://bugs.webkit.org/show_bug.cgi?id=77791
114030
114031        Reviewed by Gustavo Noronha Silva.
114032
114033        * platform/gtk/WidgetGtk.cpp:
114034        (WebCore::Widget::setFocus): No longer do anything special to try
114035        to grab "real" widget focus. This matches the behavior on Qt.
114036        * plugins/gtk/PluginViewGtk.cpp:
114037        (WebCore::PluginView::setFocus): Moved the focus handling to here.
114038        This ensures that behavior for plugins does not change.
114039
1140402012-02-20  Yael Aharon  <yael.aharon@nokia.com>
114041
114042        Regression (108135) isOpaque() returns uninitialized variable.
114043        https://bugs.webkit.org/show_bug.cgi?id=79049
114044
114045        Reviewed by Noam Rosenthal.
114046
114047        isOpaque() should use the new m_flags instead of the old m_isOpaque.
114048        No new tests. No new functionality.
114049
114050        * platform/graphics/texmap/TextureMapper.h:
114051        (WebCore::BitmapTexture::reset):
114052        (WebCore::BitmapTexture::isOpaque):
114053        (BitmapTexture):
114054
1140552012-02-20  Kentaro Hara  <haraken@chromium.org>
114056
114057        Unreviewed. Rebaselined run-bindings-tests results.
114058
114059        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
114060        * bindings/scripts/test/CPP/WebDOMTestInterface.h:
114061        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
114062        * bindings/scripts/test/CPP/WebDOMTestObj.h:
114063
1140642012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
114065
114066        [Qt][WK2] Clipping is broken
114067        https://bugs.webkit.org/show_bug.cgi?id=78677
114068
114069        It's not necessary to add a full-viewport rect to the scissor clip stack.
114070        It creates a situation where if there's a clip in the page, we return to
114071        the viewport clip instead of applying the WebView's clip we got from the
114072        scenegraph.
114073
114074        Also, it's unnecessary to clip before we paint the layer's content, we should
114075        only clip afterwards, before painting the children. 
114076
114077        Reviewed by Kenneth Rohde Christiansen.
114078
114079        No new functionality.
114080
114081        * platform/graphics/opengl/TextureMapperGL.cpp:
114082        (WebCore::BitmapTextureGL::size):
114083        (WebCore::scissorClip):
114084        (WebCore):
114085        (WebCore::TextureMapperGL::beginScissorClip):
114086        (WebCore::TextureMapperGL::endScissorClip):
114087        * platform/graphics/texmap/TextureMapperLayer.cpp:
114088        (WebCore::TextureMapperLayer::paintSelfAndChildren):
114089
1140902012-02-20  No'am Rosenthal  <noam.rosenthal@nokia.com>
114091
114092        [Texmap] Layers and tiles appear to have missing pixels in their right/bottom borders
114093        https://bugs.webkit.org/show_bug.cgi?id=78961
114094
114095        The relativeSize member should point to one pixel before the edge, since it's used
114096        by glVertexAttribPointer, which takes edge points and not sizes.
114097
114098        Reviewed by Kenneth Rohde Christiansen.
114099
114100        No new funcionality.
114101
114102        * platform/graphics/opengl/TextureMapperGL.cpp:
114103        (WebCore::BitmapTextureGL::didReset):
114104
1141052012-02-20  Kihong Kwon  <kihong.kwon@samsung.com>
114106
114107        Add a new API for the Vibration API(W3C).
114108        https://bugs.webkit.org/show_bug.cgi?id=72010
114109
114110        http://dev.w3.org/2009/dap/vibration/
114111        This patch implements navigator.webkitvibrate() API.
114112        This API operates differently depending upon a given parameter:
114113        1. It cancels vibration when given 0 or [].
114114        2. It gives a vibration duration in milliseconds when given as a single integer value.
114115        3. It gives a vibration pattern when given as an integer array. For instance, [1000 300 1000] generates a vibration of 1000ms followed by 300ms of idle time, and then creates another vibration of 1000ms.
114116
114117        Reviewed by Hajime Morita.
114118
114119        Test: fast/dom/navigator-vibration.html
114120
114121        * CMakeLists.txt:
114122        * Modules/vibration/NavigatorVibration.cpp: Added.
114123        (WebCore):
114124        (WebCore::NavigatorVibration::NavigatorVibration):
114125        (WebCore::NavigatorVibration::~NavigatorVibration):
114126        (WebCore::NavigatorVibration::webkitVibrate):
114127        Add webkitVibrate method to get an array or single integer parameter for vibrating.
114128        They check vibration is activated in the platform, and then call vibrate() in the Vibration class.
114129        * Modules/vibration/NavigatorVibration.h: Added.
114130        (WebCore):
114131        (NavigatorVibration):
114132        * Modules/vibration/NavigatorVibration.idl: Added.
114133        * Modules/vibration/Vibration.cpp: Added.
114134        This class implements the entire vibration logic.
114135        (WebCore):
114136        (WebCore::Vibration::Vibration):
114137        (WebCore::Vibration::~Vibration):
114138        (WebCore::Vibration::create):
114139        (WebCore::Vibration::vibrate):
114140        (WebCore::Vibration::cancelVibration):
114141        (WebCore::Vibration::suspendVibration):
114142        (WebCore::Vibration::resumeVibration):
114143        (WebCore::Vibration::timerStartFired):
114144        (WebCore::Vibration::timerStopFired):
114145        (WebCore::Vibration::supplementName):
114146        (WebCore::Vibration::isActive):
114147        (WebCore::provideVibrationTo):
114148        * Modules/vibration/Vibration.h: Added.
114149        (WebCore):
114150        (Vibration):
114151        (WebCore::Vibration::from):
114152        * Modules/vibration/VibrationClient.h: Added.
114153        vibrate() and cancelVibrate() need to be implemented in the VibrationClient.
114154        (WebCore):
114155        (VibrationClient):
114156        (WebCore::VibrationClient::~VibrationClient):
114157
1141582012-02-20  Yuta Kitamura  <yutak@chromium.org>
114159
114160        Unreviewed, rolling out r108263.
114161        http://trac.webkit.org/changeset/108263
114162        https://bugs.webkit.org/show_bug.cgi?id=77856
114163
114164        Broke Chromium Windows build.
114165
114166        * platform/audio/DynamicsCompressor.cpp:
114167        (WebCore::DynamicsCompressor::DynamicsCompressor):
114168        (WebCore::DynamicsCompressor::setEmphasisStageParameters):
114169        (WebCore::DynamicsCompressor::process):
114170        (WebCore::DynamicsCompressor::reset):
114171        * platform/audio/DynamicsCompressor.h:
114172        (WebCore::DynamicsCompressor::isStereo):
114173        (DynamicsCompressor):
114174        * platform/audio/DynamicsCompressorKernel.cpp:
114175        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
114176        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
114177        (WebCore::DynamicsCompressorKernel::process):
114178        (WebCore::DynamicsCompressorKernel::reset):
114179        * platform/audio/DynamicsCompressorKernel.h:
114180        (DynamicsCompressorKernel):
114181        * webaudio/DynamicsCompressorNode.cpp:
114182        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
114183        (WebCore::DynamicsCompressorNode::initialize):
114184
1141852012-02-20  Raymond Liu  <raymond.liu@intel.com>
114186
114187        Have the DynamicsCompressorNode support multi-channel data
114188        https://bugs.webkit.org/show_bug.cgi?id=77856
114189
114190        Reviewed by Chris Rogers.
114191
114192        * platform/audio/DynamicsCompressor.cpp:
114193        (WebCore::DynamicsCompressor::DynamicsCompressor):
114194        (WebCore::DynamicsCompressor::setEmphasisStageParameters):
114195        (WebCore::DynamicsCompressor::process):
114196        (WebCore::DynamicsCompressor::reset):
114197        (WebCore::DynamicsCompressor::setNumberOfChannels):
114198        (WebCore):
114199        * platform/audio/DynamicsCompressor.h:
114200        (DynamicsCompressor):
114201        * platform/audio/DynamicsCompressorKernel.cpp:
114202        (WebCore::DynamicsCompressorKernel::DynamicsCompressorKernel):
114203        (WebCore::DynamicsCompressorKernel::setNumberOfChannels):
114204        (WebCore):
114205        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
114206        (WebCore::DynamicsCompressorKernel::process):
114207        (WebCore::DynamicsCompressorKernel::reset):
114208        * platform/audio/DynamicsCompressorKernel.h:
114209        (DynamicsCompressorKernel):
114210        * webaudio/DynamicsCompressorNode.cpp:
114211        (WebCore::DynamicsCompressorNode::DynamicsCompressorNode):
114212        (WebCore::DynamicsCompressorNode::initialize):
114213
1142142012-02-20  David Barton  <dbarton@mathscribe.com>
114215
114216        RenderMathMLRow::baselinePosition() only if linePositionMode == PositionOnContainingLine
114217        https://bugs.webkit.org/show_bug.cgi?id=79039
114218
114219        Reviewed by Eric Seidel.
114220
114221        RenderMathMLRow::baselinePosition() is actually unnecessary, but I am deleting it in two
114222        steps. First we add a guard to restrict it to the intended PositionOnContainingLine
114223        case, leaving PositionOfInteriorLineBoxes to a superclass, RenderBlock. This removes
114224        some randomness, and tightens up the results of four existing test files.
114225
114226        Test: mathml/presentation/row.xhtml, fenced.xhtml, mo.xhtml, and mo-stretch.html
114227
114228        * rendering/mathml/RenderMathMLRow.cpp:
114229        (WebCore::RenderMathMLRow::baselinePosition):
114230
1142312012-02-18  Jon Lee  <jonlee@apple.com>
114232
114233        HTML input file control "No File Selected" needs more room in some languages
114234        https://bugs.webkit.org/show_bug.cgi?id=32366
114235        <rdar://problem/4481028>
114236
114237        Reviewed by David Hyatt.
114238
114239        The patch exposes a function to return the "no file(s) selected" label text.
114240
114241        * rendering/RenderTheme.cpp:
114242        (WebCore::RenderTheme::fileListDefaultLabel): Added to expose the text for the label in
114243        file upload controls when nothing has been selected.
114244        (WebCore::RenderTheme::fileListNameForWidth): Refactor to use fileListDefaultLabel().
114245        * rendering/RenderTheme.h: Change fileListNameForWidth() to be a const function.
114246
114247        * rendering/RenderThemeMac.h: Update fileListNameForWidth() to be a const function for
114248        platform implementations.
114249        * rendering/RenderThemeMac.mm:
114250        (WebCore::RenderThemeMac::fileListNameForWidth): Refactor to use fileListDefaultLabel().
114251
114252        Update fileListNameForWidth() to be a const function for platform implementations.
114253        * platform/gtk/RenderThemeGtk.h:
114254        * platform/gtk/RenderThemeGtk.cpp:
114255        * platform/qt/RenderThemeQt.h:
114256        * platform/qt/RenderThemeQt.cpp:
114257
114258        * rendering/RenderFileUploadControl.cpp:
114259        (WebCore::RenderFileUploadControl::computePreferredLogicalWidths): Change the calculation
114260        of the max preferred logical width. Calculate the length of the "no file(s) selected" text,
114261        and include the button and after-button margin. Take the max of that and the original
114262        default width, which was a string of 34 (defaultWidthNumChars) "0"'s, in the case that the
114263        label text is too short.
114264
1142652012-02-20  Gavin Barraclough  <barraclough@apple.com>
114266
114267        Rubber stamped by Sam Weinig.
114268
114269        * bindings/js/JSDOMWindowBase.cpp:
114270        (WebCore::JSDOMWindowBase::allowsAccessFrom):
114271            - Errk, remove dead code from end of function.
114272
1142732012-02-16  Gavin Barraclough  <barraclough@apple.com>
114274
114275        Move special __proto__ property to Object.prototype
114276        https://bugs.webkit.org/show_bug.cgi?id=78409
114277
114278        Reviewed by Oliver Hunt.
114279
114280        Re-implement this as a regular accessor property.  This has three key benefits:
114281        1) It makes it possible for objects to be given properties named __proto__.
114282        2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
114283        3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
114284
114285        * bindings/js/JSDOMWindowBase.cpp:
114286        (WebCore::JSDOMWindowBase::allowsAccessFrom):
114287        (WebCore):
114288            - expose allowsAccessFrom check to JSC.
114289        * bindings/js/JSDOMWindowBase.h:
114290        (JSDOMWindowBase):
114291            - expose allowsAccessFrom check to JSC.
114292
1142932012-02-20  Benjamin Poulain  <benjamin@webkit.org>
114294
114295        Make JSCSSStyleDeclaration work directly with CSS Property ID
114296        https://bugs.webkit.org/show_bug.cgi?id=79014
114297
114298        Reviewed by Geoffrey Garen.
114299
114300        Previously, accessing the CSS property was done by converting from
114301        the JavaScript name to the CSS name, then converting that name to a lowercase
114302        character array, and finally getting the CSS property ID.
114303
114304        This patch cut the indirection and make the code go directly from the
114305        JavaScript name conversion to the CSS property ID.
114306
114307        This improves the performance mainly due to the following:
114308        -avoid dynamic memory allocation
114309        -cut the conversion early when possible
114310        -do not parse the string twice
114311        The previous fast-path optimization was removed because it is no longer
114312        necessary with this change.
114313
114314        The improvement are the following:
114315        -previous fast-path: no change
114316        -previous slow-path: ~3 times faster
114317
114318        Test: fast/dom/CSSStyleDeclaration/access-longest-css-property.html
114319        This just test the edge case of CSSPropertyName.
114320
114321        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
114322        (WebCore::writeWebKitPrefix):
114323        (WebCore::writeEpubPrefix):
114324        (WebCore::cssPropertyIDForJSCSSPropertyName):
114325        (WebCore::isCSSPropertyName):
114326        (WebCore::JSCSSStyleDeclaration::nameGetter):
114327        (WebCore::JSCSSStyleDeclaration::putDelegate):
114328        * css/CSSParser.cpp:
114329        (WebCore::cssPropertyID):
114330        (WebCore):
114331        (WebCore::cssPropertyNameIOSAliasing):
114332        * css/CSSParser.h:
114333        (WebCore):
114334
1143352012-02-20  Dan Bernstein  <mitz@apple.com>
114336
114337        Updated Localizable.strings after r107440.
114338
114339        Rubber-stamped by Joseph Pecoraro.
114340
114341        * English.lproj/Localizable.strings:
114342
1143432012-02-20  David Barton  <dbarton@mathscribe.com>
114344
114345        MathML internals - remove nonOperatorHeight(), hasBase()
114346        https://bugs.webkit.org/show_bug.cgi?id=78977
114347
114348        Reviewed by Eric Seidel.
114349
114350        Stretchy operators, including embellished ones, should stretch to the largest height of
114351        the non-stretchy items in the same explicit or implicit <mrow>.
114352        RenderMathMLRow::layout() used to use hasBase(), isRenderMathMLOperator(), and
114353        nonOperatorHeight() to approximate this height. We now use unembellishedOperator() to
114354        improve this approximation, while also simplifying the code. More plainly, the code used
114355        to skip all operators when estimating this height, instead of just the stretchy ones. We
114356        continue to do that for now, but we more accurately skip all embellished operators
114357        (using our currently implemented approximate definition of this), and use the simple and
114358        true height of the remaining items. In case all items in the row are stretchy,
114359        style()->fontSize() is better than using whatever heights these items currently happen
114360        to be stretched to.
114361
114362        Test: mathml/presentation/mo-stretch.html, and many existing tests
114363
114364        * rendering/mathml/RenderMathMLBlock.cpp:
114365        (WebCore):
114366        * rendering/mathml/RenderMathMLBlock.h:
114367        (WebCore::RenderMathMLBlock::unembellishedOperator):
114368        * rendering/mathml/RenderMathMLRow.cpp:
114369        (WebCore):
114370        (WebCore::RenderMathMLRow::layout):
114371        * rendering/mathml/RenderMathMLRow.h:
114372        (WebCore::RenderMathMLRow::isRenderMathMLRow):
114373        * rendering/mathml/RenderMathMLSubSup.cpp:
114374        (WebCore):
114375        * rendering/mathml/RenderMathMLSubSup.h:
114376        (RenderMathMLSubSup):
114377        * rendering/mathml/RenderMathMLUnderOver.cpp:
114378        (WebCore):
114379        * rendering/mathml/RenderMathMLUnderOver.h:
114380        (RenderMathMLUnderOver):
114381
1143822012-02-17  Anders Carlsson  <andersca@apple.com>
114383
114384        Stop the committer timer when the page is destroyed
114385        https://bugs.webkit.org/show_bug.cgi?id=78907
114386
114387        Reviewed by Adam Roben.
114388
114389        We don't want the committer timer to fire after the scrolling tree has been invalidated,
114390        so stop the committer timer to prevent it from firing and trying to access the scrolling tree.
114391
114392        * page/scrolling/ScrollingCoordinator.cpp:
114393        (WebCore::ScrollingCoordinator::pageDestroyed):
114394
1143952012-02-20  Patrick Gansterer  <paroga@webkit.org>
114396
114397        [WIN] Allow compiling FileSystem without CoreFoundation.
114398        https://bugs.webkit.org/show_bug.cgi?id=79032
114399
114400        Reviewed by Adam Roben.
114401
114402        Add #if USE(CF) around code using the CoreFoundation functions.
114403
114404        * platform/FileSystem.h:
114405        * platform/win/FileSystemWin.cpp:
114406
1144072012-02-20  Robin Cao  <robin.cao@torchmobile.com.cn>
114408
114409        [BlackBerry] Upstream the first few files in platform/graphics/blackberry
114410        https://bugs.webkit.org/show_bug.cgi?id=79023
114411
114412        Reviewed by Antonio Gomes.
114413
114414        Initial upstreaming, no new tests.
114415
114416        * platform/graphics/blackberry/FloatPointBlackBerry.cpp: Added.
114417        (WebCore):
114418        (WebCore::FloatPoint::FloatPoint):
114419        (WebCore::FloatPoint::operator BlackBerry::Platform::FloatPoint):
114420        * platform/graphics/blackberry/FloatRectBlackBerry.cpp: Added.
114421        (WebCore):
114422        (WebCore::FloatRect::FloatRect):
114423        (WebCore::FloatRect::operator BlackBerry::Platform::FloatRect):
114424        * platform/graphics/blackberry/FloatSizeBlackBerry.cpp: Added.
114425        (WebCore):
114426        (WebCore::FloatSize::FloatSize):
114427        (WebCore::FloatSize::operator BlackBerry::Platform::FloatSize):
114428        * platform/graphics/blackberry/IntPointBlackBerry.cpp: Added.
114429        (WebCore):
114430        (WebCore::IntPoint::IntPoint):
114431        (WebCore::IntPoint::operator BlackBerry::Platform::IntPoint):
114432        * platform/graphics/blackberry/IntRectBlackBerry.cpp: Added.
114433        (WebCore):
114434        (WebCore::IntRect::IntRect):
114435        (WebCore::IntRect::operator BlackBerry::Platform::IntRect):
114436        * platform/graphics/blackberry/IntSizeBlackBerry.cpp: Added.
114437        (WebCore):
114438        (WebCore::IntSize::IntSize):
114439        (WebCore::IntSize::operator BlackBerry::Platform::IntSize):
114440
1144412012-02-20  Patrick Gansterer  <paroga@webkit.org>
114442
114443        [WIN] Share openTemporaryFile with WinCE
114444        https://bugs.webkit.org/show_bug.cgi?id=58750
114445
114446        Reviewed by Adam Roben.
114447
114448        Use pathByAppendingComponent instead of PathCombine to share the
114449        code with WinCE. Also use the wide version of Windows functions.
114450
114451        * platform/win/FileSystemWin.cpp:
114452        (WebCore::openTemporaryFile):
114453
1144542012-02-20  Victor Carbune  <victor@rosedu.org>
114455
114456        Added code to support dispatching of missed cues in case of normal playback
114457        and event sorting in case of simultaneous event triggering.
114458
114459        <track>-related events cuechange, enter, and exit should be sorted and filtered before dispatching
114460        https://bugs.webkit.org/show_bug.cgi?id=72171
114461
114462        Reviewed by Eric Carlson.
114463
114464        Tests: media/track/track-cues-missed.html
114465               media/track/track-cues-sorted-before-dispatch.html
114466
114467        * html/HTMLMediaElement.cpp:
114468        (WebCore::HTMLMediaElement::HTMLMediaElement): Added initialization code
114469        for newly added state variables.
114470        (WebCore::trackIndexCompare): Static boolean compare function between
114471        the index of two tracks.
114472        (WebCore):
114473        (WebCore::eventTimeCueCompare): Static boolean compare function between
114474        events associated with text track cues.
114475        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Added code to
114476        sort the events associated with text track cues before dispatching.
114477        Each step from the specification is commented within the code.
114478        (WebCore::HTMLMediaElement::finishSeek): Added a boolean variable that
114479        is needed within the text track update function, to know whether a seek
114480        event has occured before or not.
114481        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged): Moved the update
114482        call for text tracks at the beginning of the function instead of the end.
114483        'ended' events for video should be dispatched after track specific events.
114484        * html/HTMLMediaElement.h: Added variables to keep
114485        state information required by the text track update algorithm (last time
114486        the algorithm was run, and whether a seeking event has occured)
114487        (HTMLMediaElement):
114488
114489        * html/LoadableTextTrack.cpp: Refactored fireCueChangeEvent method
114490        (WebCore::LoadableTextTrack::fireCueChangeEvent): The method dispatches a
114491        synchronous cue change event for the track element.
114492        * html/LoadableTextTrack.h:
114493        (LoadableTextTrack):
114494        * html/TextTrack.cpp: Modified the fireCueChange method, cached track index.
114495        (WebCore::TextTrack::TextTrack):
114496        (WebCore::TextTrack::trackIndex): Cached the track index.
114497        (WebCore):
114498        (WebCore::TextTrack::invalidateTrackIndex): Invalidates the track. Used
114499        when a new track is added in a TextTrackList instance.
114500        * html/TextTrack.h:
114501        (TextTrack):
114502        (WebCore::TextTrack::fireCueChangeEvent): The fireCueChangeEvent has been changed,
114503        as events need to be fired asyncronously.
114504        * html/TextTrackCue.cpp: Added internal variables to keep the current index
114505        position in the track cue order. This is invalidated when an element is
114506        inserted before.
114507        (WebCore::TextTrackCue::TextTrackCue):
114508        (WebCore::TextTrackCue::cueIndex): Getter for the cueIndex.
114509        (WebCore):
114510        (WebCore::TextTrackCue::invalidateCueIndex): Invalidates the currently stored
114511        cue index.
114512        (WebCore::TextTrackCue::dispatchEvent): Event dispatching is done asynchronously
114513        now. This should be the only method used for event dispatching.
114514        (WebCore::TextTrackCue::setIsActive): The setIsActive method no longer dispatches
114515        events, but rather just changes the m_isActive variable.
114516        * html/TextTrackCue.h:
114517        (TextTrackCue):
114518
114519        * html/TextTrackCueList.cpp:
114520        (WebCore::TextTrackCueList::getCueIndex): Retrieves the cue index, in the track cue
114521        order, of a given cue.
114522        (WebCore):
114523        (WebCore::TextTrackCueList::add): Modified the add method such that all the next cue
114524        indexes are invalidated.
114525        (WebCore::TextTrackCueList::invalidateCueIndexes): Invalidates all cue indexes starting
114526        with a specific position.
114527        * html/TextTrackCueList.h:
114528        (TextTrackCueList):
114529        * html/track/TextTrackList.cpp:
114530        (TextTrackList::getTrackIndex): Retrieves the track index position.
114531        (TextTrackList::append): Added method for invalidating the text track index in case of
114532        changing the list contents.
114533        * html/track/TextTrackList.h:
114534        (TextTrackList):
114535
1145362012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
114537
114538        [WebSocket] Move WebSocketChannel::FrameData into a separate header file
114539        https://bugs.webkit.org/show_bug.cgi?id=78682
114540
114541        Extract WebSocketChannel::FrameData as WebSocketFrame. This brings
114542        flexibility to add classes which want to do something for
114543        incoming/outgoing frames (e.g. compression/decompression).
114544
114545        Reviewed by Kent Tamura.
114546
114547        No new tests. No behavior change.
114548
114549        * GNUmakefile.list.am: AddedWebSocketFrame.h
114550        * Target.pri: Ditto.
114551        * WebCore.gypi: Ditto.
114552        * WebCore.vcproj/WebCore.vcproj: Ditto.
114553        * WebCore.xcodeproj/project.pbxproj: Ditto.
114554        * websockets/WebSocketChannel.cpp: Modified to use WebSocketFrame instead of FrameData
114555        (WebCore):
114556        (WebCore::WebSocketChannel::send):
114557        (WebCore::WebSocketChannel::startClosingHandshake):
114558        (WebCore::WebSocketChannel::parseFrame):
114559        (WebCore::WebSocketChannel::processFrame):
114560        (WebCore::WebSocketChannel::enqueueTextFrame):
114561        (WebCore::WebSocketChannel::enqueueRawFrame):
114562        (WebCore::WebSocketChannel::enqueueBlobFrame):
114563        (WebCore::appendMaskedFramePayload): Added.
114564        (WebCore::makeFrameData): Added.
114565        (WebCore::WebSocketChannel::sendFrame):
114566        * websockets/WebSocketChannel.h: Removed FrameData.
114567        (WebSocketChannel):
114568        (QueuedFrame):
114569        * websockets/WebSocketFrame.h: Added.
114570        (WebCore):
114571        (WebSocketFrame):
114572        (WebCore::WebSocketFrame::isNonControlOpCode):
114573        (WebCore::WebSocketFrame::isControlOpCode):
114574        (WebCore::WebSocketFrame::isReservedOpCode):
114575        (WebCore::WebSocketFrame::WebSocketFrame):
114576
1145772012-02-20  Adam Roben  <aroben@apple.com>
114578
114579        32-bit build fix
114580
114581        * platform/FractionalLayoutUnit.h:
114582        (WebCore::FractionalLayoutUnit::setRawValue): Explicitly cast long long to int, since they
114583        are different widths in 32-bit.
114584
1145852012-02-20  Adam Roben  <aroben@apple.com>
114586
114587        Clang build fix
114588
114589        * inspector/InspectorDOMAgent.cpp:
114590        (WebCore::InspectorDOMAgent::willModifyDOMAttr): Removed unused parameter.
114591
1145922012-02-20  Vsevolod Vlasov  <vsevik@chromium.org>
114593
114594        Unreviewed manual rollout of r107970 which breaks table column widths
114595        updates from javascript (e.g. inspector's network panel).
114596
114597        * rendering/FixedTableLayout.cpp:
114598        (WebCore::FixedTableLayout::calcWidthArray):
114599        * rendering/RenderTableCol.h:
114600        (RenderTableCol):
114601
1146022012-02-20  Alexander Pavlov  <apavlov@chromium.org>
114603
114604        Web Inspector: [Styles] Inconsistent alignment of non-parsed properties (having an exclamation mark)
114605        https://bugs.webkit.org/show_bug.cgi?id=79028
114606
114607        Reviewed by Yury Semikhatsky.
114608
114609        * inspector/front-end/elementsPanel.css:
114610        (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
114611
1146122012-02-20  Alexander Pavlov  <apavlov@chromium.org>
114613
114614        Web Inspector: DOMAttrModified should not be fired if the attribute value remains the same
114615        https://bugs.webkit.org/show_bug.cgi?id=79025
114616
114617        Reviewed by Pavel Feldman.
114618
114619        * dom/Element.cpp:
114620        (WebCore::Element::willModifyAttribute):
114621        * inspector/InspectorDOMAgent.cpp:
114622        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
114623        (WebCore::InspectorDOMAgent::willModifyDOMAttr):
114624        (WebCore):
114625        (WebCore::InspectorDOMAgent::didModifyDOMAttr):
114626        * inspector/InspectorDOMAgent.h:
114627        (InspectorDOMAgent):
114628        * inspector/InspectorInstrumentation.cpp:
114629        (WebCore::InspectorInstrumentation::willModifyDOMAttrImpl):
114630        * inspector/InspectorInstrumentation.h:
114631        (InspectorInstrumentation):
114632        (WebCore::InspectorInstrumentation::willModifyDOMAttr):
114633
1146342012-02-20  Kwonjin Jeong  <gram@company100.net>
114635
114636        Correct a typo error in ScrollingCoordinator.h
114637        https://bugs.webkit.org/show_bug.cgi?id=79012
114638
114639        Reviewed by Andreas Kling.
114640
114641        * page/scrolling/ScrollingCoordinator.h:
114642        (ScrollingCoordinator):
114643
1146442012-02-20  Alexander Pavlov  <apavlov@chromium.org>
114645
114646        Web Inspector: [Styles] box-shadow and -webkit-box-shadow properties are not considered color-aware
114647        https://bugs.webkit.org/show_bug.cgi?id=78988
114648
114649        Reviewed by Yury Semikhatsky.
114650
114651        * inspector/front-end/CSSKeywordCompletions.js:
114652
1146532012-02-20  Yosifumi Inoue  <yosin@chromium.org>
114654
114655        [Forms] Spin buttons of number input type should fire both input and change event
114656        https://bugs.webkit.org/show_bug.cgi?id=75067
114657
114658        Reviewed by Kent Tamura.
114659
114660        This patch makes spin button in number input field clicks to fire input and change events as described in WHATWG HTML5 specification.
114661        To implement this behavior, this patch introduces new value DispatchInputAndChangeEvent in TextFieldEventBehavior.
114662
114663        Test: fast/forms/number/spin-button-events.html
114664
114665        * html/HTMLInputElement.cpp:
114666        (WebCore::HTMLInputElement::stepUpFromRenderer): Pass DispatchInputAndChangeEvent instead of DispatchChangeEvent to applyStep, setValue, and setValueAsNumber.
114667        * html/HTMLTextFormControlElement.h: Add new enum value DispatchInputAndChangeEvent to TextFieldEventBehavior.
114668        * html/TextFieldInputType.cpp:
114669        (WebCore::TextFieldInputType::setValue): Handle DispatchInputAndChangeEvent and use RefPtr for element to keep reference.
114670
1146712012-02-20  Shinya Kawanaka  <shinyak@chromium.org>
114672
114673        Attached/Detached state must be testable
114674        https://bugs.webkit.org/show_bug.cgi?id=79010
114675
114676        Reviewed by Hajime Morita.
114677
114678        Added a method to check an element attached or not.
114679
114680        Test: fast/dom/shadow/shadow-root-attached.html
114681
114682        * testing/Internals.cpp:
114683        (WebCore::Internals::attached):
114684        (WebCore):
114685        * testing/Internals.h:
114686        (Internals):
114687        * testing/Internals.idl:
114688
1146892012-02-20  Kenichi Ishibashi  <bashi@chromium.org>
114690
114691        [WebSocket] Add deflater/inflater classes
114692        https://bugs.webkit.org/show_bug.cgi?id=78449
114693
114694        Add WebSocketDeflater/WebSocketInflater classes which wrap zlib
114695        functions. These classes are not used yet, but will be used for
114696        supporting WebSocket deflate-frame extension.
114697
114698        This patch is second try. The previous patch broke Chromium Win
114699        build. I added dependency of zlib to WebCore.gyp. I think it's
114700        OK because Chromium already depends on zlib.
114701
114702        Reviewed by Kent Tamura.
114703
114704        No new tests except for chromium port. Behavior is unchanged.
114705
114706        * GNUmakefile.list.am: Added WebSocketDeflater.(cpp|h).
114707        * WebCore.gyp/WebCore.gyp: Added zlib dependency.
114708        * WebCore.gypi: Added WebSocketDeflater.(cpp|h).
114709        * WebCore.vcproj/WebCore.vcproj: Ditto.
114710        * WebCore.xcodeproj/project.pbxproj: Ditto.
114711        * websockets/WebSocketDeflater.cpp: Added.
114712        (WebCore):
114713        (WebCore::WebSocketDeflater::create):
114714        (WebCore::WebSocketDeflater::WebSocketDeflater):
114715        (WebCore::WebSocketDeflater::initialize):
114716        (WebCore::WebSocketDeflater::~WebSocketDeflater):
114717        (WebCore::setStreamParameter):
114718        (WebCore::WebSocketDeflater::addBytes):
114719        (WebCore::WebSocketDeflater::finish):
114720        (WebCore::WebSocketDeflater::reset):
114721        (WebCore::WebSocketInflater::create):
114722        (WebCore::WebSocketInflater::WebSocketInflater):
114723        (WebCore::WebSocketInflater::initialize):
114724        (WebCore::WebSocketInflater::~WebSocketInflater):
114725        (WebCore::WebSocketInflater::addBytes):
114726        (WebCore::WebSocketInflater::finish):
114727        (WebCore::WebSocketInflater::reset):
114728        * websockets/WebSocketDeflater.h: Added.
114729        (WebCore):
114730        (WebSocketDeflater):
114731        (WebCore::WebSocketDeflater::data):
114732        (WebCore::WebSocketDeflater::size):
114733        (WebSocketInflater):
114734        (WebCore::WebSocketInflater::data):
114735        (WebCore::WebSocketInflater::size):
114736
1147372012-02-20  pfeldman@chomium.org  <pavel.feldman@gmail.com>
114738
114739        Web Inspector: consume undo/redo shortcuts.
114740        https://bugs.webkit.org/show_bug.cgi?id=79016
114741
114742        Reviewed by Vsevolod Vlasov.
114743
114744        * inspector/front-end/ElementsPanel.js:
114745        (WebInspector.ElementsPanel.prototype.handleShortcut):
114746
1147472012-02-20  Philippe Normand  <pnormand@igalia.com>
114748
114749        MediaPlayer: MediaPlayerPrivate registration cleanup
114750        https://bugs.webkit.org/show_bug.cgi?id=78897
114751
114752        Reviewed by Martin Robinson.
114753
114754        * platform/graphics/MediaPlayer.cpp:
114755        (WebCore::installedMediaEngines): Simplified GStreamer Private
114756        player registration by using the PlatformMediaEngineClassName
114757        macro like other players do.
114758
1147592012-02-17  Yury Semikhatsky  <yurys@chromium.org>
114760
114761        [Chromium] Web Inspector: terminated workers are not removed from dedicated worker list
114762        https://bugs.webkit.org/show_bug.cgi?id=78899
114763
114764        Notify inspector about starting context from WorkerContextProxy not from Worker.
114765
114766        Reviewed by Pavel Feldman.
114767
114768        * workers/Worker.cpp:
114769        (WebCore::Worker::notifyFinished):
114770        * workers/WorkerMessagingProxy.cpp:
114771        (WebCore::WorkerMessagingProxy::startWorkerContext):
114772
1147732012-02-19  Keishi Hattori  <keishi@webkit.org>
114774
114775        Use shadowRootList for ColorInputType
114776        https://bugs.webkit.org/show_bug.cgi?id=79007
114777
114778        Reviewed by Kent Tamura.
114779
114780        * html/ColorInputType.cpp:
114781        (WebCore::ColorInputType::createShadowSubtree): Changed shadowRoot to shadowRootList.
114782        (WebCore::ColorInputType::shadowColorSwatch): Changed shadowRoot to shadowRootList.
114783
1147842012-02-19  Shinya Kawanaka  <shinyak@chromium.org>
114785
114786        Introduce InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
114787        https://bugs.webkit.org/show_bug.cgi?id=78771
114788
114789        Reviewed by Hajime Morita.
114790
114791        This patch introduces InsertionPoint, which will be a common base class of HTMLShadowElement and HTMLContentElement.
114792
114793        This is a step for rendering <shadow> correctly, because <shadow> has almost the same function of <content>.
114794        After this patch, we will change NodeRenderingContext and related classes to accept InsertionPoint instead of
114795        HTMLContentElement only.
114796
114797        No new tests, no change in behavior.
114798
114799        * CMakeLists.txt:
114800        * GNUmakefile.list.am:
114801        * Target.pri:
114802        * WebCore.gypi:
114803        * WebCore.vcproj/WebCore.vcproj:
114804        * WebCore.xcodeproj/project.pbxproj:
114805        * html/shadow/HTMLContentElement.cpp:
114806        (WebCore::HTMLContentElement::HTMLContentElement):
114807        (WebCore::HTMLContentElement::attach):
114808        (WebCore::HTMLContentElement::detach):
114809        (WebCore::HTMLContentElement::parseAttribute):
114810        * html/shadow/HTMLContentElement.h:
114811        * html/shadow/InsertionPoint.cpp: Added.
114812        (WebCore):
114813        (WebCore::InsertionPoint::InsertionPoint):
114814        (WebCore::InsertionPoint::~InsertionPoint):
114815        * html/shadow/InsertionPoint.h: Added.
114816        (WebCore):
114817        (InsertionPoint):
114818
1148192012-02-19  Paweł Forysiuk  <tuxator@o2.pl>
114820
114821        [GTK] Can't find webinspector and error page redirection on Windows
114822        https://bugs.webkit.org/show_bug.cgi?id=51616
114823
114824        Create and use an abstraction for finding shared resources on Windows.
114825
114826        Reviewed by Martin Robinson.
114827
114828        * platform/FileSystem.h:
114829        (WebCore):
114830        * platform/audio/gtk/AudioBusGtk.cpp:
114831        (WebCore::AudioBus::loadPlatformResource):
114832        * platform/graphics/gtk/ImageGtk.cpp:
114833        (WebCore::getPathToImageResource):
114834        * platform/gtk/FileSystemGtk.cpp:
114835        (WebCore::sharedResourcesPath):
114836        (WebCore):
114837
1148382012-02-19  James Robinson  <jamesr@chromium.org>
114839
114840        Move stub implementations of ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp
114841        https://bugs.webkit.org/show_bug.cgi?id=78951
114842
114843        Reviewed by Adam Barth.
114844
114845        This move stubs for ScrollingCoordinator functions into ScrollingCoordinatorNone.cpp instead of #ifdefing inside
114846        ScrollingCoordinator.cpp.  The mac port uses ScrollingCoordinator when #if ENABLE(THREADED_SCROLLING) is not set
114847        and implementations in ScrollingCoordinator.cpp / ScrollingCoordinatorMac.mm otherwise.  The chromium port
114848        always uses implementations in ScrollingCoordinatorChromium.cpp.  All other ports use
114849        ScrollingCoordinatorNone.cpp.
114850
114851        * CMakeLists.txt:
114852        * GNUmakefile.list.am:
114853        * Target.pri:
114854        * WebCore.vcproj/WebCore.vcproj:
114855        * WebCore.xcodeproj/project.pbx:
114856        * page/scrolling/ScrollingCoordinator.cpp:
114857        * page/scrolling/ScrollingCoordinatorNone.cpp:
114858        (WebCore):
114859        (WebCore::ScrollingCoordinator::create):
114860        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
114861        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
114862        (WebCore::ScrollingCoordinator::setScrollLayer):
114863        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
114864        (WebCore::ScrollingCoordinator::setScrollParameters):
114865        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
114866        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
114867        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
114868        (WebCore::ScrollingCoordinator::create):
114869        (WebCore):
114870
1148712012-02-19  Kentaro Hara  <haraken@chromium.org>
114872
114873        Rename [CheckDomainSecurity] to [CheckSecurity]
114874        https://bugs.webkit.org/show_bug.cgi?id=78874
114875
114876        Reviewed by Adam Barth.
114877
114878        "Domain security" isn't a term that's used elsewhere.
114879        This patch renames IDL attributes as follows:
114880
114881        - [CheckDomainSecurity] => [CheckSecurity]
114882        - [DoNotCheckDomainSecurity] => [DoNotCheckSecurity]
114883        - [DoNotCheckDomainSecurityOnGetter] => [DoNotCheckSecurityOnGetter]
114884        - [DoNotCheckDomainSecurityOnSetter] => [DoNotCheckSecurityOnSetter]
114885
114886        No tests. No change in behavior.
114887
114888        * bindings/scripts/CodeGeneratorJS.pm:
114889        (GenerateGetOwnPropertyDescriptorBody):
114890        (GenerateImplementation):
114891        * bindings/scripts/CodeGeneratorV8.pm:
114892        (GenerateHeader):
114893        (IsVisibleAcrossOrigins):
114894        (GenerateFunctionCallback):
114895        (GenerateSingleBatchedAttribute):
114896        (GenerateImplementation):
114897        (GenerateToV8Converters):
114898        * bindings/scripts/test/TestDomainSecurity.idl:
114899        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
114900        (WebCore::ConfigureV8TestActiveDOMObjectTemplate):
114901        * page/DOMWindow.idl:
114902        * page/History.idl:
114903        * page/Location.idl:
114904
1149052012-02-19  James Robinson  <jamesr@chromium.org>
114906
114907        Unreviewed, rolling out r108195.
114908        http://trac.webkit.org/changeset/108195
114909        https://bugs.webkit.org/show_bug.cgi?id=77700
114910
114911        Lots of failing ASSERT()s on v8 bots, requested by kling on
114912        #webkit
114913
114914        * bindings/js/JSCSSValueCustom.cpp:
114915        (WebCore::toJS):
114916        * bindings/scripts/CodeGeneratorV8.pm:
114917        (GenerateHeader):
114918
1149192012-02-19  Kentaro Hara  <haraken@chromium.org>
114920
114921        Rename [CheckAccessToNode] to [CheckSecurityForNode]
114922        https://bugs.webkit.org/show_bug.cgi?id=78991
114923
114924        Reviewed by Adam Barth.
114925
114926        For naming consistency with [CheckSecurity], this patch renames
114927        [CheckAccessToNode] to [CheckSecurityForNode].
114928
114929        No tests. No change in behavior.
114930
114931        * bindings/scripts/CodeGeneratorJS.pm:
114932        (GenerateImplementation):
114933        * bindings/scripts/CodeGeneratorV8.pm:
114934        (GenerateNormalAttrGetter):
114935        (GenerateFunctionCallback):
114936        * bindings/scripts/test/TestObj.idl:
114937        * bindings/scripts/test/V8/V8TestObj.cpp:
114938        (WebCore):
114939        * html/HTMLEmbedElement.idl:
114940        * html/HTMLFrameElement.idl:
114941        * html/HTMLIFrameElement.idl:
114942        * html/HTMLObjectElement.idl:
114943        * page/DOMWindow.idl:
114944
1149452012-02-19  James Robinson  <jamesr@chromium.org>
114946
114947        Sort WebCore Xcode project files with sort-Xcode-project-files script. Unreviewed.
114948
114949        * WebCore.xcodeproj/project.pbxproj:
114950
1149512012-02-19  Andreas Kling  <awesomekling@apple.com>
114952
114953        Make CSSValue wrapper getters return unique objects every time.
114954        <http://webkit.org/b/77700>
114955
114956        Reviewed by Antti Koivisto.
114957
114958        Change the behavior of CSSValue getters to return unique JS wrappers every
114959        time they are called. This means we no longer have to deal with the risk
114960        of leaking custom properties between unrelated documents, and are free to
114961        implement global value sharing across WebCore.
114962
114963        This patch will be followed by one making CSSValuePool globally shared,
114964        it's done in two steps to monitor the impact of this change.
114965
114966        * bindings/js/JSCSSValueCustom.cpp:
114967        (WebCore::toJS):
114968        * bindings/scripts/CodeGeneratorV8.pm:
114969        (GenerateHeader):
114970        (IsCSSValueType):
114971
1149722012-02-19  Abhishek Arya  <inferno@chromium.org>
114973
114974        Crash in RenderBlock::splitAnonymousBlocksAroundChild.
114975        https://bugs.webkit.org/show_bug.cgi?id=78994
114976
114977        Reviewed by Eric Seidel.
114978
114979        Generalize splitTablePartsAroundChild to handle splitting
114980        in nested tables.
114981        Table->Table Section->Table Row->Table Cell->Table->Table Section->Table Row
114982
114983        Test: fast/table/table-split-inside-table.html
114984
114985        * rendering/RenderBlock.cpp:
114986        (WebCore::RenderBlock::splitTablePartsAroundChild):
114987
1149882012-02-19  Kalev Lember  <kalevlember@gmail.com>
114989
114990        [GTK] Fix build on platforms where UChar is wchar_t
114991        https://bugs.webkit.org/show_bug.cgi?id=78996
114992
114993        Reviewed by Martin Robinson.
114994
114995        The ICU backend defines UChar as wchar_t for platforms where wchar_t is
114996        16 bits wide, e.g. win32.
114997
114998        * platform/graphics/pango/FontPango.cpp:
114999        (WebCore::utf16ToUtf8): Use reinterpret_cast instead of static_cast.
115000        * platform/gtk/GtkPopupMenu.cpp:
115001        (WebCore::GtkPopupMenu::typeAheadFind): Ditto.
115002
1150032012-02-19  Carlos Garcia Campos  <cgarcia@igalia.com>
115004
115005        Unreviewed. Fix make distcheck issues.
115006
115007        * GNUmakefile.list.am: Add missing header.
115008
1150092012-02-18  Robert Hogan  <robert@webkit.org>
115010
115011        CSS 2.1 failure: inline-box-002.htm fails
115012        https://bugs.webkit.org/show_bug.cgi?id=69210
115013
115014        Reviewed by David Hyatt.
115015
115016        Tests: css2.1/20110323/dynamic-top-change-005.htm
115017               css2.1/20110323/dynamic-top-change-005a.htm
115018               css2.1/20110323/dynamic-top-change-005b.htm
115019               css2.1/20110323/inline-box-002.htm
115020               fast/css/relative-positioned-block-nested-with-inline-parent-dynamic-removed.html
115021               fast/css/relative-positioned-block-nested-with-inline-parent-dynamic.html
115022               fast/css/relative-positioned-block-nested-with-inline-parent-multiple-descendant-blocks-dynamic.html
115023               fast/css/relative-positioned-block-nested-with-inline-parent.html
115024               fast/css/relative-positioned-block-with-inline-ancestor-and-parent-dynamic.html
115025               fast/css/relative-positioned-block-with-inline-ancestor-dynamic-removed.html
115026               fast/css/relative-positioned-block-with-inline-ancestor-dynamic.html
115027               fast/css/relative-positioned-block-with-inline-ancestor.html
115028               fast/css/relative-positioned-block-with-inline-parent-dynamic-removed.html
115029               fast/css/relative-positioned-block-with-inline-parent-dynamic.html
115030               fast/css/relative-positioned-block-with-inline-parent-keeps-style.html
115031               fast/css/relative-positioned-block-with-inline-parent.html
115032
115033        A block within an inline is affected by relative positioning on the inline box. Give
115034        the anonymous block containing the block a layer and make it relative positioned. Then
115035        calculate the offset of the anonymous block's layer by accumulating the offsets from its
115036        inline continuation and the inline continuation's inline parents.
115037        If the position of an inline changes from or to relative positioned then ensure that any
115038        descendant blocks update their position and layer accordingly.
115039
115040        * rendering/RenderBoxModelObject.cpp:
115041        (): add an enum RelPosAxis
115042        (WebCore::accumulateRelativePositionOffsets): 
115043        Total up the offsets of all relatively positioned inlines that are de-facto parents of the relatively 
115044        positioned anonymous block's child block.
115045
115046        (WebCore):
115047        (WebCore::RenderBoxModelObject::relativePositionOffsetX): 
115048        Use accumulateRelativePositionOffsets when calculating the relative position offset of a relatively positioned anonymous block.
115049
115050        (WebCore::RenderBoxModelObject::relativePositionOffsetY): ditto
115051
115052        * rendering/RenderInline.cpp:
115053        (WebCore::hasRelPositionedInlineAncestor): 
115054        Detects if the anonymous block contains a block that is the de-facto descendant of a relatively positioned inline.
115055
115056        (WebCore::updateStyleOfAnonymousBlockContinuations): 
115057        Update the style's positioning for each anonymous block containing a block that is descendant from the inline whose style has changed.
115058
115059        (WebCore::RenderInline::styleDidChange): 
115060        If an inline changes to or from relative positioning ensure that any descendant blocks change to or from relative positioning
115061        as well, unless they still have a relatively positioned ancestor after the current ancestor loses its relative positioning.
115062
115063        (WebCore::RenderInline::addChildIgnoringContinuation): 
115064        If the anonymous block contains a block that is effectively descended from a relatively positioned inline, make it relatively
115065        positioned so the block will respect its inline ancestor's relative positioning.
115066
115067        * rendering/RenderObject.cpp:
115068        (WebCore::RenderObject::propagateStyleToAnonymousChildren): 
115069        Preserve style position in anonymous block continuations when the parent block propagates a style change. 
115070
1150712012-02-18  raman Tenneti  <rtenneti@chromium.org>
115072
115073        Track the NPN protocol version negotiated with the server
115074        https://bugs.webkit.org/show_bug.cgi?id=77349
115075
115076        Reviewed by Darin Fisher..
115077
115078        [chromium] Added ExtraData to WebURLResponse.
115079        
115080        No intended functionality change.
115081
115082        * platform/network/chromium/ResourceResponse.h:
115083        (ExtraData):
115084        (WebCore::ResourceResponse::ExtraData::~ExtraData):
115085        (ResourceResponse):
115086        (WebCore::ResourceResponse::extraData):
115087        (WebCore::ResourceResponse::setExtraData):
115088
1150892012-02-18  Abhishek Arya  <inferno@chromium.org>
115090
115091        Unreviewed, rolling out r107965.
115092        http://trac.webkit.org/changeset/107965
115093        https://bugs.webkit.org/show_bug.cgi?id=78273
115094
115095        crashes
115096
115097        * rendering/RenderBlock.cpp:
115098        (WebCore::RenderBlock::clone):
115099
1151002012-02-18  Sam Weinig  <sam@webkit.org>
115101
115102        Make WebCore compile with libc++ (Part 2)
115103        https://bugs.webkit.org/show_bug.cgi?id=78974
115104
115105        Reviewed by Anders Carlsson.
115106
115107        * config.h:
115108        Disable the DisallowCType check when using libc++.
115109
1151102012-02-18  Sam Weinig  <sam@webkit.org>
115111
115112        Fix the build.
115113
115114        * page/DOMWindow.idl:
115115
1151162012-02-14  Sam Weinig  <sam@webkit.org>
115117
115118        Make WebCore compile with libc++ (Part 1)
115119        https://bugs.webkit.org/show_bug.cgi?id=78974
115120
115121        Reviewed by Anders Carlsson.
115122
115123        Add a workaround for <rdar://problem/10858112>, which cause the standard heap functions
115124        not to work when using an iterator with proxy objects for reference and pointer types.
115125
115126        * WebCorePrefix.h:
115127        (move):
115128        Add an overload of std::move that the heap functions can call successfully.
115129
1151302012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
115131
115132        [wx] Build fixes for C++ bindings after recent changes.
115133        
115134        * bindings/scripts/CodeGeneratorCPP.pm:
115135        (ShouldSkipType):
115136        (GenerateHeader):
115137        * page/DOMWindow.idl:
115138
1151392012-02-18  Kevin Ollivier  <kevino@theolliviers.com>
115140
115141        [wx] Build fix, add new platform method wx impl.
115142
115143        * platform/wx/ContextMenuWx.cpp:
115144        (ContextMenu::itemCount):
115145
1151462012-02-18  Sam Weinig  <sam@webkit.org>
115147
115148        Fix part of the windows build failure.
115149
115150        * WebCore.vcproj/WebCore.vcproj:
115151        Don't build JSWebKitCSSRegionRule.cpp, since it is already being built
115152        as part of DerivedSources.cpp.
115153
1151542012-02-18  Sam Weinig  <sam@webkit.org>
115155
115156        Fix the ENABLE(THREADED_SCROLLING) build.
115157
115158        * page/scrolling/ScrollingCoordinator.cpp:
115159        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
115160        (WebCore::ScrollingCoordinator::setScrollParameters):
115161
1151622012-02-18  Andreas Kling  <awesomekling@apple.com>
115163
115164        HTML: Remove unnecessary attributeChange() overrides.
115165        <http://webkit.org/b/78890>
115166
115167        Reviewed by Anders Carlsson.
115168
115169        Move logic from attributeChanged() overrides into parseAttribute().
115170        This is a step towards making attributeChanged() non-virtual.
115171
115172        * html/HTMLMediaElement.cpp:
115173        (WebCore::HTMLMediaElement::parseAttribute):
115174        * html/HTMLMediaElement.h:
115175        (HTMLMediaElement):
115176        * html/HTMLScriptElement.cpp:
115177        (WebCore::HTMLScriptElement::parseAttribute):
115178        * html/HTMLScriptElement.h:
115179        (HTMLScriptElement):
115180        * html/HTMLTrackElement.cpp:
115181        (WebCore::HTMLTrackElement::parseAttribute):
115182        * html/HTMLTrackElement.h:
115183        (HTMLTrackElement):
115184
1151852012-02-18  Andreas Kling  <awesomekling@apple.com>
115186
115187        Remove Element::createAttribute().
115188        <http://webkit.org/b/78965>
115189
115190        Reviewed by Anders Carlsson.
115191
115192        Switch call sites to use Attribute::create() directly, as there is no magic
115193        in calling Element::createAttribute() anymore (it used to be virtual and handled
115194        differently by StyledElement.)
115195
115196        * dom/Element.cpp:
115197        (WebCore::Element::setAttributeInternal):
115198        * dom/Element.h:
115199        * svg/properties/SVGAnimatedPropertySynchronizer.h:
115200
1152012012-02-18  Andreas Kling  <awesomekling@apple.com>
115202
115203        HTMLBodyElement: Avoid synchronous style recalc when setting link/vlink/alink.
115204        <http://webkit.org/b/78959>
115205
115206        Reviewed by Anders Carlsson.
115207
115208        Mark the body element for deferred style recalc instead of doing it synchronously
115209        when the attributes change.
115210
115211        * html/HTMLBodyElement.cpp:
115212        (WebCore::HTMLBodyElement::parseAttribute):
115213
1152142012-02-18  Martin Robinson  <mrobinson@igalia.com>
115215
115216        Fix the TextureMapper build for non-Qt ports. Qt debug builds
115217        must use RTTI, but GTK+, at least, does not.
115218
115219        * platform/graphics/texmap/TextureMapperLayer.cpp:
115220        (WebCore::TextureMapperLayer::updateBackingStore): Make the RTTI check
115221        Qt only.
115222
1152232012-02-16  Andreas Kling  <awesomekling@apple.com>
115224
115225        FontFamilyValue: Utilize inheritance from CSSPrimitiveValue better.
115226        <http://webkit.org/b/78806>
115227
115228        Reviewed by Antti Koivisto.
115229
115230        Now that FontFamilyValue's string doesn't change after creation, we can just
115231        pass the massaged family name up to the CSSPrimitiveValue constructor and get
115232        cached cssText() for free. This also shrinks FontFamilyValue by sizeof(String)
115233        though that's less of an issue now that we cache them in CSSValuePool.
115234
115235        * css/FontFamilyValue.cpp:
115236        (WebCore::stripFontFamilyJunk):
115237        (WebCore::FontFamilyValue::FontFamilyValue):
115238        * css/FontFamilyValue.h:
115239        (WebCore::FontFamilyValue::familyName):
115240        (FontFamilyValue):
115241
1152422012-02-17  Adam Klein  <adamk@chromium.org>
115243
115244        Avoid inconsistency in Node::inDocument due to DOMSubtreeModified dispatch
115245        https://bugs.webkit.org/show_bug.cgi?id=76087
115246
115247        Reviewed by Ryosuke Niwa.
115248
115249        Move post-removal notifications after call to Node::removeFromDocument
115250        to avoid inconsistent state of Node::inDocument() and thus avoid
115251        inconsistent state in DocumentOrderedMap.
115252
115253        Tests: fast/dom/getElementById-consistency.html
115254               fast/dom/getElementById-consistency2.html
115255
115256        * dom/ContainerNode.cpp:
115257        (WebCore::ContainerNode::removeChild):
115258        * svg/SVGTRefElement.cpp:
115259        (WebCore::SVGTRefElement::updateReferencedText): Fixed to work with new timing of DOMSubtreeModified dispatch.
115260
1152612012-02-17  Joshua Bell  <jsbell@chromium.org>
115262
115263        IndexedDB: Support overloaded methods that take IDBKey or IDBKeyRange
115264        https://bugs.webkit.org/show_bug.cgi?id=78399
115265
115266        Implements IDBObjectStore.delete(IDBKeyRange) to exercise the functionality.
115267
115268        Reviewed by Tony Chang.
115269
115270        Test: storage/indexeddb/delete-range.html
115271
115272        * bindings/scripts/CodeGeneratorV8.pm:
115273        (GenerateFunctionCallString): Use .get() to disambiguate when passing RefPtr.
115274        * bindings/scripts/test/V8/V8TestObj.cpp: Update test expectations.
115275        * storage/IDBLevelDBBackingStore.cpp:
115276        (WebCore):
115277        * storage/IDBObjectStore.cpp:
115278        (WebCore::IDBObjectStore::deleteFunction):
115279        (WebCore):
115280        * storage/IDBObjectStore.h:
115281        (IDBObjectStore):
115282        * storage/IDBObjectStore.idl:
115283        * storage/IDBObjectStoreBackendImpl.cpp:
115284        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
115285        (WebCore):
115286        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
115287        * storage/IDBObjectStoreBackendImpl.h:
115288        (IDBObjectStoreBackendImpl):
115289        * storage/IDBObjectStoreBackendInterface.h:
115290
1152912012-02-17  Kentaro Hara  <haraken@chromium.org>
115292
115293        Replace [V8OnInstance] with [V8Unforgeable]
115294        https://bugs.webkit.org/show_bug.cgi?id=78894
115295
115296        Reviewed by Adam Barth.
115297
115298        [V8OnInstance] means that the method should be defined
115299        (not on a prototype chain but) on a DOM object. It is the
115300        same meaning as [V8Unforgeable]. This patch replaces [V8OnInstance]
115301        with [V8Unforgeable].
115302
115303        No tests. No change in behavior.
115304
115305        * bindings/scripts/CodeGeneratorV8.pm:
115306        (GenerateImplementation):
115307        * page/Location.idl:
115308
1153092012-02-17  James Robinson  <jamesr@chromium.org>
115310
115311        [chromium] Unreviewed build fix. MSVS gyp generator can't handle multiple .cpps with the same name in the same
115312        target from different paths.
115313
115314        * WebCore.gypi:
115315        * page/scrolling/chromium/ScrollingCoordinatorChromium.cpp: Renamed from Source/WebCore/page/scrolling/chromium/ScrollingCoordinator.cpp.
115316        (WebCore):
115317        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
115318        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
115319        (WebCore::ScrollingCoordinator::setScrollLayer):
115320        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
115321        (WebCore::ScrollingCoordinator::setScrollParameters):
115322        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
115323        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
115324
1153252012-02-17  James Robinson  <jamesr@chromium.org>
115326
115327        Unreviewed mac compile fix pt 2
115328
115329        * page/scrolling/ScrollingCoordinator.cpp:
115330        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
115331        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
115332        (WebCore::ScrollingCoordinator::setScrollLayer):
115333        (WebCore::ScrollingCoordinator::setNonFastScrollableRegion):
115334        (WebCore::ScrollingCoordinator::setScrollParameters):
115335        (WebCore::ScrollingCoordinator::setWheelEventHandlerCount):
115336        (WebCore::ScrollingCoordinator::setShouldUpdateScrollLayerPositionOnMainThread):
115337
1153382012-02-17  James Robinson  <jamesr@chromium.org>
115339
115340        Unreviewed mac compile fix (unused parameter warning)
115341
115342        * page/scrolling/ScrollingCoordinator.cpp:
115343        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
115344        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
115345
1153462012-02-14  James Robinson  <jamesr@chromium.org>
115347
115348        Move ScrollingCoordinator out of ENABLE(THREADED_SCROLLING) ifdef and enable on all platforms
115349        https://bugs.webkit.org/show_bug.cgi?id=78401
115350
115351        Reviewed by Adam Barth.
115352
115353        Separates THREADED_SCROLLING from ScrollingCoordinator and enables ScrollingCoordinator-related code on
115354        chromium. ScrollingCoordinator receives scrolling information to be used with an external scrolling source.
115355        ENABLE(THREADED_SCROLLING) enables a codepath that uses a thread in WebCore to handle scrolling related input
115356        events and interact with composited layers.
115357
115358        * WebCore.gyp/WebCore.gyp:
115359        * WebCore.gypi:
115360        * dom/Document.cpp:
115361        (WebCore::wheelEventHandlerCountChanged):
115362        * page/FrameView.cpp:
115363        (WebCore::FrameView::addSlowRepaintObject):
115364        (WebCore::FrameView::removeSlowRepaintObject):
115365        (WebCore::FrameView::performPostLayoutTasks):
115366        * page/Page.cpp:
115367        (WebCore::Page::~Page):
115368        (WebCore):
115369        * page/Page.h:
115370        (Page):
115371        * page/Settings.cpp:
115372        (WebCore::Settings::Settings):
115373        * page/Settings.h:
115374        (Settings):
115375        * page/scrolling/ScrollingCoordinator.cpp:
115376        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
115377        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
115378        (WebCore::ScrollingCoordinator::pageDestroyed):
115379        (WebCore):
115380        * page/scrolling/ScrollingCoordinator.h:
115381        (WebCore):
115382        (ScrollingCoordinator):
115383        * page/scrolling/ScrollingThread.cpp:
115384        (WebCore::ScrollingThread::createThreadIfNeeded):
115385        * page/scrolling/ScrollingTreeState.cpp:
115386        * page/scrolling/ScrollingTreeState.h:
115387        * page/scrolling/chromium/ScrollingCoordinator.cpp: Added.
115388        (WebCore):
115389        (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
115390        (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
115391        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
115392        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
115393        * rendering/RenderLayerBacking.cpp:
115394        (WebCore::RenderLayerBacking::RenderLayerBacking):
115395        * rendering/RenderLayerCompositor.cpp:
115396        (WebCore::RenderLayerCompositor::frameViewDidScroll):
115397        (WebCore::shouldCompositeOverflowControls):
115398        (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
115399        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
115400        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
115401        (WebCore::RenderLayerCompositor::ensureRootLayer):
115402        (WebCore):
115403        * rendering/RenderLayerCompositor.h:
115404        (WebCore):
115405        (RenderLayerCompositor):
115406
1154072012-02-17  Emil A Eklund  <eae@chromium.org>
115408
115409        Add FractionalLayoutPoint for sub-pixel layout
115410        https://bugs.webkit.org/show_bug.cgi?id=78913
115411
115412        Reviewed by Eric Seidel.
115413
115414        Add FractionalLayoutUnit version of Point class and a couple of
115415        conversion methods to the Int and Float versions of same.
115416
115417        No new tests.
115418
115419        * GNUmakefile.list.am:
115420        * WebCore.vcproj/WebCore.vcproj:
115421        * WebCore.xcodeproj/project.pbxproj:
115422        * platform/graphics/FloatPoint.cpp:
115423        (WebCore::FloatPoint::FloatPoint):
115424        (WebCore):
115425        (WebCore::FloatPoint::moveBy):
115426        * platform/graphics/FloatPoint.h:
115427        (WebCore):
115428        (FloatPoint):
115429        * platform/graphics/FractionalLayoutPoint.h: Added.
115430        (WebCore):
115431        (FractionalLayoutPoint):
115432        (WebCore::FractionalLayoutPoint::FractionalLayoutPoint):
115433        (WebCore::FractionalLayoutPoint::zero):
115434        (WebCore::FractionalLayoutPoint::x):
115435        (WebCore::FractionalLayoutPoint::y):
115436        (WebCore::FractionalLayoutPoint::setX):
115437        (WebCore::FractionalLayoutPoint::setY):
115438        (WebCore::FractionalLayoutPoint::move):
115439        (WebCore::FractionalLayoutPoint::moveBy):
115440        (WebCore::FractionalLayoutPoint::scale):
115441        (WebCore::FractionalLayoutPoint::expandedTo):
115442        (WebCore::FractionalLayoutPoint::shrunkTo):
115443        (WebCore::FractionalLayoutPoint::clampNegativeToZero):
115444        (WebCore::FractionalLayoutPoint::transposedPoint):
115445        (WebCore::operator+=):
115446        (WebCore::operator-=):
115447        (WebCore::operator+):
115448        (WebCore::operator-):
115449        (WebCore::operator==):
115450        (WebCore::operator!=):
115451        (WebCore::toPoint):
115452        (WebCore::toSize):
115453        (WebCore::flooredIntPoint):
115454        (WebCore::roundedIntPoint):
115455        (WebCore::ceiledIntPoint):
115456        * platform/graphics/FractionalLayoutSize.cpp:
115457        (WebCore::pixelSnappedIntSize):
115458        * platform/graphics/FractionalLayoutSize.h:
115459        (WebCore):
115460
1154612012-02-17  Ryosuke Niwa  <rniwa@webkit.org>
115462
115463        Move textDirectionForSelection from Editor to EditingStyle
115464        https://bugs.webkit.org/show_bug.cgi?id=78868
115465
115466        Reviewed by Enrica Casucci.
115467
115468        Move textDirectionForSelection from Editor to EditingStyle to centralize the editing code's
115469        dependency on CSSStyleDeclaration.
115470
115471        * editing/EditingStyle.cpp:
115472        (WebCore::EditingStyle::textDirectionForSelection):
115473        (WebCore):
115474        * editing/EditingStyle.h:
115475        (EditingStyle):
115476        * editing/Editor.cpp:
115477        (WebCore):
115478        * editing/Editor.h:
115479        (Editor):
115480        * editing/EditorCommand.cpp:
115481        (WebCore::stateTextWritingDirection):
115482        * editing/ReplaceSelectionCommand.cpp:
115483        * editing/markup.cpp:
115484
1154852012-02-17  David Barton  <dbarton@mathscribe.com>
115486
115487        MathML internals - embellished operators, getBase() accessor functions
115488        https://bugs.webkit.org/show_bug.cgi?id=78617
115489
115490        Reviewed by Eric Seidel.
115491
115492        Define functions that return an unembellished "base", by omitting
115493        subscripts/superscripts, underscripts/overscripts, or denominators. This is needed in
115494        subsequent patches both for correct operator stretching and simple code factoring.
115495
115496        No new tests.
115497
115498        * rendering/mathml/RenderMathMLBlock.h:
115499        (WebCore):
115500        (RenderMathMLBlock):
115501        (WebCore::RenderMathMLBlock::unembellishedOperator):
115502        * rendering/mathml/RenderMathMLFraction.cpp:
115503        (WebCore::RenderMathMLFraction::unembellishedOperator):
115504        (WebCore):
115505        * rendering/mathml/RenderMathMLFraction.h:
115506        (RenderMathMLFraction):
115507        * rendering/mathml/RenderMathMLOperator.h:
115508        (WebCore::RenderMathMLOperator::unembellishedOperator):
115509        * rendering/mathml/RenderMathMLSubSup.cpp:
115510        (WebCore::RenderMathMLSubSup::base):
115511        (WebCore):
115512        (WebCore::RenderMathMLSubSup::unembellishedOperator):
115513        (WebCore::RenderMathMLSubSup::stretchToHeight):
115514            - renamed a variable for clarity, especially in later patches
115515        (WebCore::RenderMathMLSubSup::layout):
115516            - renamed a variable for clarity, especially in later patches
115517        * rendering/mathml/RenderMathMLSubSup.h:
115518        (RenderMathMLSubSup):
115519        * rendering/mathml/RenderMathMLUnderOver.cpp:
115520        (WebCore::RenderMathMLUnderOver::base):
115521        (WebCore):
115522        (WebCore::RenderMathMLUnderOver::unembellishedOperator):
115523        (WebCore::RenderMathMLUnderOver::stretchToHeight):
115524        * rendering/mathml/RenderMathMLUnderOver.h:
115525        (RenderMathMLUnderOver):
115526
1155272012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
115528
115529        [Qt][WK2] Allow opaque tiles
115530        https://bugs.webkit.org/show_bug.cgi?id=78809
115531
115532        Replace the isOpaque boolean in BitmapTexture to a SupportsAlpha flag.
115533        Use reset/didReset instead of a virtual function that has to call the superclass.
115534
115535        Make sure that all calls to BitmapTexture::reset() pass the correct SupportsAlpha flag,
115536        based on the source image.
115537        Since we now disable blending for opaque textures, we also have to make sure that we treat
115538        the depth buffer correctly and bring it back to its previous state.
115539
115540        Reviewed by Kenneth Rohde Christiansen.
115541
115542        No behavior changes.
115543
115544        * platform/graphics/opengl/TextureMapperGL.cpp:
115545        (TextureMapperGLData):
115546        (WebCore::TextureMapperGLData::initStencil):
115547        (WebCore::TextureMapperGLData::TextureMapperGLData):
115548        (BitmapTextureGL):
115549        (WebCore::TextureMapperGL::beginPainting):
115550        (WebCore::TextureMapperGL::endPainting):
115551        (WebCore::TextureMapperGL::drawTexture):
115552        (WebCore::BitmapTextureGL::didReset):
115553        (WebCore::BitmapTextureGL::bind):
115554        (WebCore::TextureMapperGL::beginClip):
115555        * platform/graphics/texmap/TextureMapper.h:
115556        (WebCore::BitmapTexture::BitmapTexture):
115557        (WebCore::BitmapTexture::flags):
115558        (WebCore::BitmapTexture::didReset):
115559        (WebCore::BitmapTexture::reset):
115560        (BitmapTexture):
115561        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
115562        (WebCore::TextureMapperTile::updateContents):
115563        (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
115564        (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded):
115565        (WebCore::TextureMapperTiledBackingStore::updateContents):
115566        * platform/graphics/texmap/TextureMapperBackingStore.h:
115567        (TextureMapperTiledBackingStore):
115568        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
115569        (WebCore::BitmapTextureImageBuffer::didReset):
115570        (WebCore):
115571        * platform/graphics/texmap/TextureMapperImageBuffer.h:
115572        (BitmapTextureImageBuffer):
115573
1155742012-02-17  Stephen Chenney  <schenney@chromium.org>
115575
115576        Crash in SVGAnimateElement due to changed target
115577        https://bugs.webkit.org/show_bug.cgi?id=75096
115578
115579        Reviewed by Nikolas Zimmermann.
115580
115581        The SVGAnimateElement object creates various internal objects
115582        depending on the type of property being animated, which depends on the
115583        target. These objects were not being recreated when the target
115584        changed, and crashes ensued. Now the SVGSMILElement provides a virtual
115585        method that is called when the target changes, and SVGAnimateElement
115586        updates its objects as necessary. We also deactivate the animation
115587        when the target changes, forcing recomputation of other derived
115588        objects.
115589
115590        This change also removes various unnecessary calls to semi-expensive
115591        methods.
115592
115593        Not only does this change fix the new test, it also fixes potential
115594        crashes in other tests that apparently never manifested before (but
115595        manifest when this new test is included in DRT).
115596
115597        Test: svg/animations/svglength-animation-retarget-crash.html
115598
115599        * svg/SVGAnimateElement.cpp:
115600        (WebCore::SVGAnimateElement::hasValidAttributeType):
115601        (WebCore::SVGAnimateElement::calculateAnimatedValue):
115602        (WebCore::SVGAnimateElement::calculateFromAndToValues):
115603        (WebCore::SVGAnimateElement::calculateFromAndByValues):
115604        (WebCore::SVGAnimateElement::resetToBaseValue):
115605        (WebCore::SVGAnimateElement::calculateDistance):
115606        (WebCore):
115607        (WebCore::SVGAnimateElement::targetElementDidChange):
115608        * svg/SVGAnimateElement.h:
115609        (SVGAnimateElement):
115610        * svg/SVGAnimatedTypeAnimator.h:
115611        (SVGAnimatedTypeAnimator):
115612        (WebCore::SVGAnimatedTypeAnimator::type):
115613        * svg/animation/SVGSMILElement.cpp:
115614        (WebCore::SVGSMILElement::targetElement):
115615        (WebCore::SVGSMILElement::resetTargetElement):
115616        (WebCore):
115617        * svg/animation/SVGSMILElement.h:
115618        (SVGSMILElement):
115619        (WebCore::SVGSMILElement::targetElementDidChange):
115620
1156212012-02-17  David Hyatt  <hyatt@apple.com>
115622
115623        https://bugs.webkit.org/show_bug.cgi?id=78934
115624        
115625        Add the -webkit-line-align property to support the alignment of lines in the inline direction
115626        to the line grid.
115627
115628        Reviewed by Dan Bernstein.
115629
115630        Added fast/line-grid/line-align-parsing.html
115631
115632        * css/CSSComputedStyleDeclaration.cpp:
115633        (WebCore):
115634        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
115635        * css/CSSParser.cpp:
115636        (WebCore::CSSParser::parseValue):
115637        * css/CSSPrimitiveValueMappings.h:
115638        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
115639        (WebCore):
115640        (WebCore::CSSPrimitiveValue::operator LineAlign):
115641        * css/CSSProperty.cpp:
115642        (WebCore::CSSProperty::isInheritedProperty):
115643        * css/CSSPropertyNames.in:
115644        * css/CSSStyleApplyProperty.cpp:
115645        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
115646        * css/CSSStyleSelector.cpp:
115647        (WebCore::CSSStyleSelector::applyProperty):
115648        * css/CSSValueKeywords.in:
115649        * rendering/style/RenderStyle.cpp:
115650        (WebCore::RenderStyle::diff):
115651        * rendering/style/RenderStyle.h:
115652        * rendering/style/RenderStyleConstants.h:
115653        * rendering/style/StyleRareInheritedData.cpp:
115654        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
115655        (WebCore::StyleRareInheritedData::operator==):
115656        * rendering/style/StyleRareInheritedData.h:
115657        (StyleRareInheritedData):
115658
1156592012-02-17  Emil A Eklund  <eae@chromium.org>
115660
115661        Add FractionalLayoutSize for sub-pixel layout
115662        https://bugs.webkit.org/show_bug.cgi?id=78852
115663
115664        Reviewed by Eric Seidel.
115665
115666        Add FractionalLayoutUnit version of Size class and a couple of
115667        conversion methods to the Int and Float versions of same.
115668
115669        No new tests.
115670
115671        * CMakeLists.txt:
115672        * GNUmakefile.list.am:
115673        * WebCore.gypi:
115674        * WebCore.vcproj/WebCore.vcproj:
115675        * WebCore.xcodeproj/project.pbxproj:
115676        * platform/graphics/FloatPoint.cpp:
115677        (WebCore::FloatPoint::move):
115678        Add FractionalLayoutSize version of move.
115679
115680        * platform/graphics/FloatPoint.h:
115681        * platform/graphics/FloatSize.cpp:
115682        (WebCore::FloatSize::FloatSize):
115683        Add FloatSize(FractionalLayoutSize) constructor.
115684
115685        * platform/graphics/FloatSize.h:
115686        * platform/graphics/FractionalLayoutSize.cpp: Added.
115687        * platform/graphics/FractionalLayoutSize.h: Added.
115688
1156892012-02-17  Enrica Casucci  <enrica@apple.com>
115690
115691        REGRESSION (r107606): Copy Link writes malformed WebURLsWithTitlesPboardType
115692        data to the pasteboard.
115693        https://bugs.webkit.org/show_bug.cgi?id=78933
115694        <rdar://problem/10874553>
115695        
115696        For this format, the data needs to be placed in the pasteboard as array of arrays
115697        of strings. Currently is it stored as array of strings, which causes the code
115698        that uses this format to break.
115699        
115700        Reviewed by Ryosuke Niwa.
115701
115702        * platform/mac/PlatformPasteboardMac.mm:
115703        (WebCore::PlatformPasteboard::setPathnamesForType):
115704
1157052012-02-17  Abhishek Arya  <inferno@chromium.org>
115706
115707        Incorrect placement of a new child when beforeChild and its
115708        previous sibling are in the same table.
115709        https://bugs.webkit.org/show_bug.cgi?id=78269
115710
115711        Reviewed by Julien Chaffraix.
115712
115713        Tests: fast/table/table-cell-split.html
115714               fast/table/table-row-split.html
115715               fast/table/table-section-split-with-after-content.html
115716               fast/table/table-section-split.html
115717
115718        * rendering/RenderBlock.cpp:
115719        (WebCore::RenderBlock::splitAnonymousBlocksAroundChild): add
115720        call to splitTablePartsAroundChild to take care of splitting the
115721        table first if the child is part of table.
115722        (WebCore::markTableForSectionAndCellRecalculation): add helper to
115723        mark table for complete relayout by invalidating sections and cells.
115724        (WebCore):
115725        (WebCore::moveAllTableChildrenTo): moves children to another table.
115726        (WebCore::RenderBlock::splitTablePartsAroundChild): split table child
115727        and its next siblings into a new table. This allows adding a new
115728        non-table child between the tables.
115729        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): calls
115730        splitTablePartsAroundChild to see if we need to split the table
115731        for adding this new child.
115732        * rendering/RenderBlock.h:
115733        (RenderBlock):
115734        * rendering/RenderObject.cpp:
115735        (WebCore::RenderObject::createAnonymousTable): add helper for
115736        creating anonymous table.
115737        (WebCore):
115738        (WebCore::RenderObject::addChild): use the new helper for creating
115739        anonymous table.
115740        * rendering/RenderObject.h:
115741        (WebCore):
115742        (RenderObject):
115743        (WebCore::RenderObject::isTablePart): add helper to tell if the object
115744        is a table part.
115745
1157462012-02-17  Andreas Kling  <awesomekling@apple.com>
115747
115748        Element: Inline style selector and AX invalidation in attributeChanged().
115749        <http://webkit.org/b/78888>
115750
115751        Reviewed by Antti Koivisto.
115752
115753        Inline the updateAfterAttributeChanged() and recalcStyleIfNeededAfterAttributeChanged()
115754        methods into Element::attributeChanged(). They were separated when we needed them in
115755        StyledElement::attributeChanged(), but that's no longer the case.
115756
115757        * dom/Element.cpp:
115758        (WebCore::Element::attributeChanged):
115759        * dom/Element.h:
115760
1157612012-02-17  David Reveman  <reveman@chromium.org>
115762
115763        [Chromium] Texture eviction doesn't show up in traces.
115764        https://bugs.webkit.org/show_bug.cgi?id=78851
115765
115766        Reviewed by James Robinson.
115767
115768        Add TextureManager::evictTexture() function with TRACE statement so
115769        that texture eviction shows up in traces.
115770
115771        No new tests.
115772
115773        * platform/graphics/chromium/TextureManager.cpp:
115774        (WebCore::TextureManager::evictTexture):
115775        (WebCore):
115776        (WebCore::TextureManager::reduceMemoryToLimit):
115777        * platform/graphics/chromium/TextureManager.h:
115778        (TextureManager):
115779
1157802012-02-17  Kalev Lember  <kalevlember@gmail.com>
115781
115782        Remove unused parameters from WTF threading API
115783        https://bugs.webkit.org/show_bug.cgi?id=78389
115784
115785        Reviewed by Adam Roben.
115786
115787        waitForThreadCompletion() had an out param 'void **result' to get the
115788        'void *' returned by ThreadFunction. However, the implementation in
115789        ThreadingWin.cpp ignored the out param, not filling it in. This had
115790        led to a situation where none of the client code made use of the param
115791        and just ignored it.
115792
115793        To clean this up, the patch changes the signature of ThreadFunction to
115794        return void instead of void* and drops the the unused 'void **result'
115795        parameter from waitForThreadCompletion. Also, all client code is
115796        updated for the API change.
115797
115798        As mentioned in https://bugs.webkit.org/show_bug.cgi?id=78389 , even
115799        though the change only affects internal API, Safari is using it
115800        directly and we'll need to keep the old versions around for ABI
115801        compatibility. For this, the patch adds compatibility wrappers with
115802        the old ABI.
115803
115804        * bindings/js/GCController.cpp:
115805        (WebCore::collect):
115806        (WebCore::GCController::garbageCollectOnAlternateThreadForDebugging):
115807        * fileapi/FileThread.cpp:
115808        (WebCore::FileThread::fileThreadStart):
115809        (WebCore::FileThread::runLoop):
115810        * fileapi/FileThread.h:
115811        (FileThread):
115812        * loader/icon/IconDatabase.cpp:
115813        (WebCore::IconDatabase::close):
115814        (WebCore::IconDatabase::iconDatabaseSyncThreadStart):
115815        (WebCore::IconDatabase::iconDatabaseSyncThread):
115816        (WebCore::IconDatabase::syncThreadMainLoop):
115817        * loader/icon/IconDatabase.h:
115818        (IconDatabase):
115819        * page/scrolling/ScrollingThread.cpp:
115820        (WebCore::ScrollingThread::threadCallback):
115821        * page/scrolling/ScrollingThread.h:
115822        (ScrollingThread):
115823        * platform/audio/HRTFDatabaseLoader.cpp:
115824        (WebCore::databaseLoaderEntry):
115825        (WebCore::HRTFDatabaseLoader::waitForLoaderThreadCompletion):
115826        * platform/audio/ReverbConvolver.cpp:
115827        (WebCore::backgroundThreadEntry):
115828        (WebCore::ReverbConvolver::~ReverbConvolver):
115829        * platform/network/cf/LoaderRunLoopCF.cpp:
115830        (WebCore::runLoaderThread):
115831        * storage/DatabaseThread.cpp:
115832        (WebCore::DatabaseThread::databaseThreadStart):
115833        (WebCore::DatabaseThread::databaseThread):
115834        * storage/DatabaseThread.h:
115835        (DatabaseThread):
115836        * storage/LocalStorageThread.cpp:
115837        (WebCore::LocalStorageThread::threadEntryPointCallback):
115838        (WebCore::LocalStorageThread::threadEntryPoint):
115839        (WebCore::LocalStorageThread::terminate):
115840        * storage/LocalStorageThread.h:
115841        (LocalStorageThread):
115842        * webaudio/AsyncAudioDecoder.cpp:
115843        (WebCore::AsyncAudioDecoder::~AsyncAudioDecoder):
115844        (WebCore::AsyncAudioDecoder::threadEntry):
115845        * webaudio/AsyncAudioDecoder.h:
115846        (AsyncAudioDecoder):
115847        * webaudio/OfflineAudioDestinationNode.cpp:
115848        (WebCore::OfflineAudioDestinationNode::uninitialize):
115849        (WebCore::OfflineAudioDestinationNode::renderEntry):
115850        * webaudio/OfflineAudioDestinationNode.h:
115851        (OfflineAudioDestinationNode):
115852        * workers/WorkerThread.cpp:
115853        (WebCore::WorkerThread::workerThreadStart):
115854        (WebCore::WorkerThread::workerThread):
115855        * workers/WorkerThread.h:
115856        (WorkerThread):
115857
1158582012-02-17  Robert Hogan  <robert@webkit.org>
115859
115860        AppleMac Build fix for r108111
115861
115862        Remove variable that is now unused.
115863
115864        Unreviewed, build fix.
115865
115866        * rendering/RenderBlockLineLayout.cpp:
115867        (WebCore::alwaysRequiresLineBox): Remove lineInfo
115868        (WebCore::requiresLineBox): 
115869        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
115870
1158712012-02-17  Michal Mocny  <mmocny@google.com>
115872
115873        [chromium] GL_CHROMIUM_gpu_memory_manager extension
115874        https://bugs.webkit.org/show_bug.cgi?id=77155
115875
115876        Reviewed by James Robinson.
115877
115878        * platform/graphics/chromium/Extensions3DChromium.h:
115879        (GpuMemoryAllocationChangedCallbackCHROMIUM):
115880        (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
115881        (Extensions3DChromium):
115882
1158832012-01-23  Robert Hogan  <robert@webkit.org>
115884
115885        REGRESSION: empty span creates renders with non-zero height
115886        https://bugs.webkit.org/show_bug.cgi?id=76465
115887
115888        Reviewed by David Hyatt.
115889
115890        Tests: fast/css/empty-span.html
115891               fast/css/non-empty-span.html
115892
115893        Empty inlines with line-height, vertical-alignment or font metrics should only get a linebox if there is some
115894        other content in the line. So only create line boxes for such elements on lines that are not empty.
115895
115896        This patch fixes a regression where an empty inline with line-height was propagating its height to an empty line.
115897        It also fixes cases where lines with content that had a leading empty inline element weren't respecting the 
115898        vertical alignment or font-height of the empty inline.
115899
115900        * rendering/RenderBlockLineLayout.cpp:
115901        (WebCore::RenderBlock::constructLine): only create line boxes for lines that are not empty.
115902        (WebCore::requiresLineBoxForContent): an inline flow with line-height, vertical-alignment, or font-size
115903         will need a linebox if the rest of the line is not empty.
115904        (WebCore):
115905        (WebCore::alwaysRequiresLineBox): rename from inlineFlowRequiresLineBox.
115906        (WebCore::requiresLineBox):
115907        (WebCore::RenderBlock::LineBreaker::nextLineBreak): if the inline flow definitely requires a line, mark
115908         the line non-empty - otherwise hold off.
115909
1159102012-02-17  Raymond Toy  <rtoy@google.com>
115911
115912        RealtimeAnalyserNode does not consistently respect .minDecibels
115913        https://bugs.webkit.org/show_bug.cgi?id=78729
115914
115915        Make use of m_minDecibel consistent.  Clean up some style issues
115916        with names of local variables and style issues with float
115917        constants.
115918        
115919        Reviewed by Chris Rogers.
115920
115921        No new tests because the changes are cosmetic for style issues.
115922
115923        * webaudio/RealtimeAnalyser.cpp:
115924        (WebCore):
115925        (WebCore::RealtimeAnalyser::doFFTAnalysis):
115926        (WebCore::RealtimeAnalyser::getFloatFrequencyData):
115927        (WebCore::RealtimeAnalyser::getByteFrequencyData):
115928        (WebCore::RealtimeAnalyser::getByteTimeDomainData):
115929
1159302012-02-17  Abhishek Arya  <inferno@chromium.org>
115931
115932        :before content incorrectly placed in continuation
115933        when we don't have a first child.
115934        https://bugs.webkit.org/show_bug.cgi?id=78380
115935
115936        Reviewed by David Hyatt.
115937
115938        Test: fast/css-generated-content/before-content-continuation-chain.html
115939
115940        * rendering/RenderObjectChildList.cpp:
115941        (WebCore::RenderObjectChildList::updateBeforeAfterContent):
115942
1159432012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
115944
115945        CSS regions enabled by default
115946        https://bugs.webkit.org/show_bug.cgi?id=78525
115947
115948        Reviewed by David Hyatt.
115949
115950        Test: fast/regions/css-regions-disabled.html
115951
115952        Add a runtime preference to enable/disable regions functionality at runtime(WebKitCSSRegionsEnabled).
115953        CSSRegions are still enabled by default.
115954        In DRT, use layoutTestController.overridePreference("WebKitCSSRegionsEnabled", "0") to disable the css regions functionality.
115955
115956        * WebCore.xcodeproj/project.pbxproj:
115957        * css/CSSParser.cpp:
115958        (WebCore::CSSParser::parseValue):
115959        (WebCore::CSSParser::cssRegionsEnabled):
115960        (WebCore):
115961        (WebCore::CSSParser::parseFlowThread):
115962        (WebCore::CSSParser::parseRegionThread):
115963        (WebCore::CSSParser::createRegionRule):
115964        * css/CSSParser.h:
115965        * dom/Document.cpp:
115966        (WebCore::Document::cssRegionsEnabled):
115967        (WebCore):
115968        (WebCore::Document::webkitGetFlowByName):
115969        * dom/Document.h:
115970        (Document):
115971        * dom/Element.cpp:
115972        (WebCore::Element::webkitRegionOverflow):
115973        * dom/NodeRenderingContext.cpp:
115974        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
115975        * page/Settings.cpp:
115976        (WebCore::Settings::Settings):
115977        * page/Settings.h:
115978        (WebCore::Settings::setCSSRegionsEnabled):
115979        (WebCore::Settings::cssRegionsEnabled):
115980        (Settings):
115981        * rendering/RenderFlowThread.cpp:
115982        (WebCore::RenderFlowThread::RenderFlowThread):
115983        * rendering/RenderObject.cpp:
115984        (WebCore::RenderObject::createObject):
115985        * rendering/RenderRegion.cpp:
115986        (WebCore::RenderRegion::RenderRegion):
115987
1159882012-02-17  Mihnea Ovidenie  <mihnea@adobe.com>
115989
115990        [CSSRegions]Implement NamedFlow::overflow
115991        https://bugs.webkit.org/show_bug.cgi?id=78880
115992
115993        Reviewed by David Hyatt.
115994
115995        Test: fast/regions/webkit-named-flow-overflow.html
115996
115997        * dom/WebKitNamedFlow.cpp:
115998        (WebCore::WebKitNamedFlow::WebKitNamedFlow):
115999        (WebCore::WebKitNamedFlow::overflow):
116000        (WebCore):
116001        * dom/WebKitNamedFlow.h:
116002        (WebCore):
116003        (WebCore::WebKitNamedFlow::create):
116004        (WebKitNamedFlow):
116005        * dom/WebKitNamedFlow.idl:
116006        * rendering/RenderFlowThread.cpp:
116007        (WebCore::RenderFlowThread::RenderFlowThread):
116008        (WebCore::RenderFlowThread::ensureNamedFlow):
116009        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
116010        * rendering/RenderFlowThread.h:
116011
1160122012-02-17  Joe Thomas  <joethomas@motorola.com>
116013
116014        flex-wrap:nowrap should be flex-wrap:none
116015        https://bugs.webkit.org/show_bug.cgi?id=78772
116016
116017        As per the spec http://dev.w3.org/csswg/css3-flexbox/#flex-wrap0, flex-wrap:nowrap should be changed to flex-wrap:none.
116018
116019        Reviewed by Ojan Vafai.
116020
116021        * css/CSSParser.cpp:
116022        (WebCore::CSSParser::parseValue):
116023        * css/CSSPrimitiveValueMappings.h:
116024        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
116025        (WebCore::CSSPrimitiveValue::operator EFlexWrap):
116026        * css/CSSValueKeywords.in:
116027        * rendering/style/RenderStyle.h:
116028        * rendering/style/RenderStyleConstants.h:
116029
1160302012-02-17  Enrica Casucci  <enrica@apple.com>
116031
116032        Refactor DragData class to use PlatformStrategies in the Mac implementation.
116033        https://bugs.webkit.org/show_bug.cgi?id=78768
116034
116035        Reviewed by Darin Adler.
116036
116037        No new tests. No behavior change.
116038
116039        * WebCore.exp.in: Added new exported method of the PlatformPasteboard class.
116040        * platform/DragData.h:
116041        (WebCore::DragData::pasteboardName): Added pasteboardName and removed pasteboard.
116042        * platform/PasteboardStrategy.h: Added color() method.
116043        * platform/PlatformPasteboard.h: Ditto.
116044        * platform/mac/ClipboardMac.mm:
116045        (WebCore::Clipboard::create): Changed to use pasteboardName() method.
116046        * platform/mac/DragDataMac.mm: All the methods below have been changed to use pasteboardName
116047        and the pasteboardStrategy() methods.
116048        (WebCore::DragData::DragData):
116049        (WebCore::DragData::canSmartReplace):
116050        (WebCore::DragData::containsColor):
116051        (WebCore::DragData::containsFiles):
116052        (WebCore::DragData::numberOfFiles):
116053        (WebCore::DragData::asFilenames):
116054        (WebCore::DragData::containsPlainText):
116055        (WebCore::DragData::asPlainText):
116056        (WebCore::DragData::asColor):
116057        (WebCore::DragData::containsCompatibleContent):
116058        (WebCore::DragData::asURL):
116059        (WebCore::DragData::asFragment):
116060        * platform/mac/PlatformPasteboardMac.mm:
116061        (WebCore::PlatformPasteboard::color): Added implementation of the color() method.
116062
1160632012-02-17  Nate Chapin  <japhet@chromium.org>
116064
116065        [Chromium mac] Cursors and background images disappear.
116066        https://bugs.webkit.org/show_bug.cgi?id=78834
116067
116068        The issue occurs because a CachedImage sees that it has no clients
116069        and decide it is safe to purge its m_data buffer. However,
116070        StyleCachedImage is holding a CachedResourceHandle to the
116071        CachedImage, and it can still add a client later. If it does so,
116072        the CachedImage says everything is loaded but has no data.
116073
116074        Reviewed by Adam Barth.
116075
116076        No new tests, since the known repros have resisted reduction.
116077        Tested manually with chrome.angrybirds.com, redfin.com and a
116078        couple of other sites.
116079
116080        * rendering/style/StyleCachedImage.cpp:
116081        * rendering/style/StyleCachedImage.h: Ensure the underlying
116082            CachedImage has a client for the lifetime of the
116083            StyleCachedImage and doesn't purge its buffer. Call
116084            addClient(this) in the constructor and removeClient(this) in
116085            the destructor, then ignore all cache callbacks.
116086
1160872012-02-17  Julien Chaffraix  <jchaffraix@webkit.org>
116088
116089        Table cell's anonymous wrappers are left in the tree, impacting our layout
116090        https://bugs.webkit.org/show_bug.cgi?id=7180
116091
116092        Reviewed by David Hyatt.
116093
116094        Tests: fast/table/table-switch-cell-position-bad-layout-expected.html
116095               fast/table/table-switch-cell-position-bad-layout.html
116096
116097        This patch implements cell's anonymous wrapper removal at detach time.
116098
116099        Trimming the render tree when we remove objects from it would be more complex
116100        to generalize as several objects override the behavior to do their own clean-ups.
116101        This would also open more potential for programming errors.
116102
116103        This change is limited to table cells' as a simple step towards fixing bug 52123
116104        and more generally eliminate some anonymous wrappers from the tree at detach time.
116105
116106        * dom/Node.cpp:
116107        (WebCore::Node::detach):
116108        Patched detach to call destroyAndCleanupAnonymousWrappers. The Document does not need
116109        to clean up any anonymous wrappers on detach.
116110
116111        * rendering/RenderObject.cpp:
116112        (WebCore::RenderObject::destroyAndCleanupAnonymousWrappers):
116113        Added this method to wrap destroy() call and trim the render tree. To avoid slowing down
116114        detach in some cases, added a fast path.
116115
116116        * rendering/RenderObject.h: Added destroyAndCleanupAnonymousWrappers.
116117
1161182012-02-17  Rob Buis  <rbuis@rim.com>
116119
116120        ASSERT (and crash) with dynamically moved <font-face>
116121        https://bugs.webkit.org/show_bug.cgi?id=64839
116122
116123        Reviewed by Antti Koivisto.
116124
116125        Reset the style declaration when rmeoving the font-face element from the document.
116126
116127        Test: svg/custom/font-face-move.svg
116128
116129        * svg/SVGFontFaceElement.cpp:
116130        (WebCore::SVGFontFaceElement::removedFromDocument):
116131
1161322012-02-17  Martin Robinson  <mrobinson@igalia.com>
116133
116134        Fix some warnings encountered during the GTK+ build
116135        https://bugs.webkit.org/show_bug.cgi?id=78911
116136
116137        Reviewed by Xan Lopez.
116138
116139        No new tests. These are just fixes for warnings.
116140
116141        * page/GestureTapHighlighter.cpp: Avoid using potentially signed operations on
116142        a size_t type. Use size_t for iterating over members of a vector.
116143        * platform/graphics/texmap/TextureMapperBackingStore.cpp: Use size_t where necessary.
116144        (WebCore::TextureMapperTiledBackingStore::createOrDestroyTilesIfNeeded): Ditto.
116145        * platform/graphics/texmap/TextureMapperLayer.cpp: Ditto.
116146        (WebCore::TextureMapperLayer::computeTransformsRecursive): Ditto.
116147        (WebCore::TextureMapperLayer::paintSelfAndChildren): Ditto.
116148        (WebCore::TextureMapperLayer::intermediateSurfaceRect): Ditto.
116149
1161502012-02-17  Tim Dresser  <tdresser@chromium.org>
116151
116152        [chromium] Refactor video drawing to be more data driven
116153        https://bugs.webkit.org/show_bug.cgi?id=76720
116154
116155        Reviewed by James Robinson.
116156
116157        CCVideoLayerImpl no longer handles drawing itself, but produces a list of CCVideoDrawQuads.
116158        These quads are then drawn by LayerRendererChromium.
116159
116160        CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
116161        CCLayerImpl::didDraw() is called directly after all drawing has been completed.
116162        CCLayerImpl::draw has been removed.
116163
116164        willDraw and didDraw are used to handle interaction with the VideoFrameProvider
116165        in CCVideoLayerImpl. willDraw gets a frame from the VideoFrameProvider, and
116166        didDraw returns it.
116167
116168        A unit test has been added: CCLayerTreeHostImplTest.didDrawCalledOnAllLayers.
116169        This test ensures that CCLayerImpl::didDraw() is called on all layers,
116170        including layers on different render surfaces.
116171
116172        As this was a refactor, no other tests were added.
116173
116174        * platform/graphics/chromium/LayerRendererChromium.cpp:
116175        (WebCore::LayerRendererChromium::drawYUV):
116176        (WebCore):
116177        (WebCore::LayerRendererChromium::drawSingleTextureVideoQuad):
116178        (WebCore::LayerRendererChromium::drawRGBA):
116179        (WebCore::LayerRendererChromium::drawNativeTexture):
116180        (WebCore::LayerRendererChromium::copyFrameToTextures):
116181        (WebCore::LayerRendererChromium::copyPlaneToTexture):
116182        (WebCore::LayerRendererChromium::drawVideoQuad):
116183        * platform/graphics/chromium/LayerRendererChromium.h:
116184        (LayerRendererChromium):
116185        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
116186        * platform/graphics/chromium/cc/CCLayerImpl.h:
116187        (WebCore::CCLayerImpl::didDraw):
116188        (CCLayerImpl):
116189        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
116190        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
116191        (WebCore::CCLayerTreeHostImpl::drawLayers):
116192        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
116193        (CCLayerTreeHostImpl):
116194        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp:
116195        (WebCore::CCVideoDrawQuad::create):
116196        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
116197        * platform/graphics/chromium/cc/CCVideoDrawQuad.h:
116198        (CCVideoDrawQuad):
116199        (WebCore::CCVideoDrawQuad::textures):
116200        (WebCore::CCVideoDrawQuad::frame):
116201        (WebCore::CCVideoDrawQuad::format):
116202        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
116203        (WebCore::CCVideoLayerImpl::willDraw):
116204        (WebCore::CCVideoLayerImpl::appendQuads):
116205        (WebCore::CCVideoLayerImpl::didDraw):
116206        (WebCore::CCVideoLayerImpl::computeVisibleSize):
116207        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
116208        (CCVideoLayerImpl):
116209        (WebCore::CCVideoLayerImpl::providerMutex):
116210        (WebCore::CCVideoLayerImpl::provider):
116211        (Texture):
116212
1162132012-02-17  Stephen Chenney  <schenney@chromium.org>
116214
116215        Crash at WebCore::SVGUseElement::expandSymbolElementsInShadowTree
116216        https://bugs.webkit.org/show_bug.cgi?id=77639
116217
116218        Reviewed by Nikolas Zimmermann.
116219
116220        Fix a SVG crash in Release builds, although it still crashes in Debug builds.
116221        The crash occurred when an SVG use element attempted to reference a style element while the file
116222        contained an error causing the error banner to display. The fix is to prevent SVGUseElement
116223        from recalculating style during tree building and return immediately when style is recalculated and
116224        the tree is building.
116225
116226        Test: svg/custom/use-referencing-style-crash.svg
116227
116228        * svg/SVGUseElement.cpp:
116229        (WebCore::SVGUseElement::willRecalcStyle): Return false if the tree is being built.
116230        (WebCore::SVGUseElement::didRecalcStyle): Check and return if the tree
116231        is being built and we are not yet ready for style update.
116232
1162332012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
116234
116235        Unreviewed, rolling out r108077.
116236        http://trac.webkit.org/changeset/108077
116237        https://bugs.webkit.org/show_bug.cgi?id=78390
116238
116239        it broke compilation.
116240
116241        * inspector/CodeGeneratorInspector.py:
116242        * inspector/InjectedScript.cpp:
116243        (WebCore::InjectedScript::evaluateOnCallFrame):
116244        (WebCore::InjectedScript::getFunctionDetails):
116245        (WebCore::InjectedScript::getProperties):
116246        (WebCore::InjectedScript::wrapCallFrames):
116247        * inspector/InjectedScript.h:
116248        (InjectedScript):
116249        * inspector/InspectorDebuggerAgent.cpp:
116250        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
116251        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
116252        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
116253        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
116254        (WebCore::InspectorDebuggerAgent::currentCallFrames):
116255        (WebCore::InspectorDebuggerAgent::didParseSource):
116256        * inspector/InspectorDebuggerAgent.h:
116257        (InspectorDebuggerAgent):
116258
1162592012-02-17  Florin Malita  <fmalita@google.com>
116260
116261        chrome.dll!WebCore::SVGTRefElement::updateReferencedText ReadAV@NULL (e85cb8e140071fa7790cad215b0109dc)
116262        https://bugs.webkit.org/show_bug.cgi?id=74858
116263
116264        Reviewed by Nikolas Zimmermann.
116265
116266        Tests: svg/custom/tref-remove-target-crash-expected.svg
116267               svg/custom/tref-remove-target-crash.svg
116268
116269        Add a DOMNodeRemovedFromDocumentEvent listener to detect when the target element is removed. Upon removal,
116270        cleanup all listeners and re-activate the pending resource to attach if the referenced ID is added
116271        at a later time programmatically. Also move the DOMSubtreeModifiedEvent listener from the parent to
116272        the target element to simplify the implementation and reduce the scope.
116273
116274        * svg/SVGTRefElement.cpp:
116275        (WebCore::TargetListener::create):
116276        (WebCore::TargetListener::cast):
116277        (WebCore::TargetListener::clear):
116278        (WebCore::TargetListener::TargetListener):
116279        (WebCore::TargetListener::operator==):
116280        (WebCore::TargetListener::handleEvent):
116281        (WebCore::SVGTRefElement::detachTarget):
116282        (WebCore::SVGTRefElement::buildPendingResource):
116283        * svg/SVGTRefElement.h:
116284
1162852012-02-17  Simon Fraser  <simon.fraser@apple.com>
116286
116287        Fix the build after r108077.
116288
116289        * inspector/CodeGeneratorInspector.py:
116290        (RawTypes.Any.generate_validate_method):
116291
1162922012-02-17  Simon Fraser  <simon.fraser@apple.com>
116293
116294        Avoid using a transparency layer for rgba() border drawing when possible
116295        https://bugs.webkit.org/show_bug.cgi?id=63176
116296
116297        Reviewed by Dan Bernstein.
116298        
116299        The non-radiused border drawing code would use a transparency layer
116300        when drawing any one or more borders with alpha colors. However,
116301        we only need to use a transparency layer when there is a corner
116302        join between the borders being rendered with any one color,
116303        so add a utility function includesAdjacentEdges() that can tell us
116304        that, and use it to avoid making extraneous transparency layers.
116305
116306        Optimization only, no new tests.
116307
116308        * rendering/RenderBoxModelObject.cpp:
116309        (WebCore::includesAdjacentEdges):
116310        (WebCore):
116311        (WebCore::RenderBoxModelObject::paintTranslucentBorderSides):
116312
1163132012-02-17  Pavel Feldman  <pfeldman@google.com>
116314
116315        Not reviewed: Qt minimal build fix.
116316
116317        * inspector/InjectedScript.h:
116318        (WebCore):
116319
1163202012-02-17  Peter Rybin  <peter.rybin@gmail.com>
116321
116322        Web Inspector: Switch Debugger agent to TypeBuilder
116323        https://bugs.webkit.org/show_bug.cgi?id=78390
116324
116325        Reviewed by Vsevolod Vlasov.
116326
116327        Client code is switched to TypeBuilder.
116328
116329        * inspector/CodeGeneratorInspector.py:
116330        * inspector/InjectedScript.cpp:
116331        (WebCore::InjectedScript::evaluateOnCallFrame):
116332        (WebCore::InjectedScript::getFunctionDetails):
116333        (WebCore::InjectedScript::getProperties):
116334        (WebCore::InjectedScript::wrapCallFrames):
116335        * inspector/InjectedScript.h:
116336        (InjectedScript):
116337        * inspector/InspectorDebuggerAgent.cpp:
116338        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
116339        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
116340        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
116341        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
116342        (WebCore::InspectorDebuggerAgent::currentCallFrames):
116343        (WebCore::InspectorDebuggerAgent::didParseSource):
116344        * inspector/InspectorDebuggerAgent.h:
116345        (InspectorDebuggerAgent):
116346
1163472012-02-17  Pavel Feldman  <pfeldman@google.com>
116348
116349        Web Inspector: hide color picker on selected node update.
116350        https://bugs.webkit.org/show_bug.cgi?id=78896
116351
116352        Reviewed by Vsevolod Vlasov.
116353
116354        * inspector/front-end/Spectrum.js:
116355        (WebInspector.Spectrum.prototype.get visible):
116356        (WebInspector.Spectrum.prototype.toggle):
116357        (WebInspector.Spectrum.prototype.show):
116358        * inspector/front-end/StylesSidebarPane.js:
116359        (WebInspector.StylesSidebarPane.prototype.update):
116360        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
116361
1163622012-02-17  Pavel Feldman  <pfeldman@google.com>
116363
116364        Web Inspector: check undo-redo boundaries based on current action index, not history size.
116365        https://bugs.webkit.org/show_bug.cgi?id=78895
116366
116367        Reviewed by Vsevolod Vlasov.
116368
116369        Tests: inspector/elements/perform-undo-undo.html
116370               inspector/styles/perform-undo-perform-of-mergable-action.html
116371
116372        * inspector/InspectorHistory.cpp:
116373        (WebCore::InspectorHistory::perform):
116374
1163752012-02-17  Ilya Tikhonovsky  <loislo@chromium.org>
116376
116377        Unreviewed, rolling out r108071.
116378        http://trac.webkit.org/changeset/108071
116379        https://bugs.webkit.org/show_bug.cgi?id=77155
116380
116381        chromium-mac compilation failed
116382
116383        * platform/graphics/chromium/Extensions3DChromium.h:
116384
1163852012-02-17  Michal Mocny  <mmocny@google.com>
116386
116387        [chromium] GL_CHROMIUM_gpu_memory_manager extension
116388        https://bugs.webkit.org/show_bug.cgi?id=77155
116389
116390        Reviewed by James Robinson.
116391
116392        * platform/graphics/chromium/Extensions3DChromium.h:
116393        (GpuMemoryAllocationChangedCallbackCHROMIUM):
116394        (WebCore::Extensions3DChromium::GpuMemoryAllocationChangedCallbackCHROMIUM::~GpuMemoryAllocationChangedCallbackCHROMIUM):
116395        (Extensions3DChromium):
116396
1163972012-02-17  Raphael Kubo da Costa  <kubo@profusion.mobi>
116398
116399        [CMake, EFL] Unreviewed, fix the build when building with
116400        SHARED_CORE=ON after r107820.
116401
116402        RunLoopEfl.cpp has not been upstreamed yet, and building only
116403        RunLoop.cpp created an .so with some missing, unimplemented
116404        symbols. The BlackBerry port seems to be in the same situation.
116405
116406        The best solution for now is to build RunLoop.cpp only on the
116407        WinCE port.
116408
116409        * CMakeLists.txt: Remove RunLoop.cpp from the list of files to build.
116410        * PlatformWinCE.cmake: Add RunLoop.cpp to the list of files to build.
116411
1164122012-02-17  Pavel Feldman  <pfeldman@google.com>
116413
116414        Web Inspector: a bit of color picker polish
116415        https://bugs.webkit.org/show_bug.cgi?id=78892
116416
116417        - Fixed computed style swatch
116418        - Removed color: caption
116419        - Rendered value as source code, user-selectable
116420        - Removed scroller gap
116421
116422        Reviewed by Yury Semikhatsky.
116423
116424        * English.lproj/localizedStrings.js:
116425        * inspector/front-end/Popover.js:
116426        (WebInspector.Popover.prototype.setCanShrink):
116427        (WebInspector.Popover.prototype._positionElement):
116428        * inspector/front-end/Spectrum.js:
116429        * inspector/front-end/StylesSidebarPane.js:
116430        (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
116431        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
116432        * inspector/front-end/elementsPanel.css:
116433        (.spectrum-container):
116434        (.spectrum-display-value):
116435        (.spectrum-range-container):
116436        * inspector/front-end/popover.css:
116437        (.popover .content.fixed-height):
116438
1164392012-02-17  Pavel Feldman  <pfeldman@google.com>
116440
116441        Web Inspector: color picker does not allow changing the color.
116442        https://bugs.webkit.org/show_bug.cgi?id=78886
116443
116444        Reviewed by Vsevolod Vlasov.
116445
116446        * inspector/front-end/ElementsPanel.js:
116447        (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
116448        * inspector/front-end/Popover.js:
116449        (WebInspector.Popover.prototype.setCanShrink):
116450        (WebInspector.Popover.prototype._positionElement):
116451        * inspector/front-end/Settings.js:
116452        * inspector/front-end/Spectrum.js:
116453        * inspector/front-end/StylesSidebarPane.js:
116454        (WebInspector.StylesSidebarPane):
116455        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
116456
1164572012-02-17  Pavel Feldman  <pfeldman@google.com>
116458
116459        Web Inspector: new image preview has poorly positioned popover arrow.
116460        https://bugs.webkit.org/show_bug.cgi?id=78884
116461
116462        Reviewed by Vsevolod Vlasov.
116463
116464        * inspector/front-end/Popover.js:
116465        (WebInspector.Popover.prototype._positionElement):
116466        * inspector/front-end/utilities.js:
116467        (Element.prototype.boxInWindow):
116468
1164692012-02-17  Pavel Feldman  <pfeldman@google.com>
116470
116471        Web Inspector: enable "Single click CSS editing" experiment by default.
116472        https://bugs.webkit.org/show_bug.cgi?id=78881
116473
116474        Reviewed by Vsevolod Vlasov.
116475
116476        * inspector/front-end/elementsPanel.css:
116477        (.styles-section .properties .enabled-button):
116478
1164792012-02-17  Pavel Feldman  <pfeldman@google.com>
116480
116481        Web Inspector: split innerUpdate into rebuildUpdate and refreshUpdate, make computed styles load lazily.
116482        https://bugs.webkit.org/show_bug.cgi?id=78827
116483
116484        Reviewed by Vsevolod Vlasov.
116485
116486        * inspector/front-end/StylesSidebarPane.js:
116487        (WebInspector.StylesSidebarPane.prototype.update):
116488        (WebInspector.StylesSidebarPane.prototype._refreshUpdate.computedStyleCallback):
116489        (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
116490        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
116491        (WebInspector.StylesSidebarPane.prototype._validateNode):
116492        (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
116493        (WebInspector.StylesSidebarPane.prototype._attributesModified):
116494        (WebInspector.StylesSidebarPane.prototype._attributesRemoved):
116495        (WebInspector.StylesSidebarPane.prototype._styleInvalidated):
116496        (WebInspector.StylesSidebarPane.prototype._innerRefreshUpdate):
116497        (WebInspector.StylesSidebarPane.prototype._innerRebuildUpdate):
116498        (WebInspector.StylesSidebarPane.prototype._nodeStylesUpdatedForTest):
116499        (WebInspector.StylesSidebarPane.prototype._toggleElementStatePane):
116500        (WebInspector.StylesSidebarPane.prototype._createElementStatePane.clickListener):
116501        (WebInspector.StylesSidebarPane.prototype._showUserAgentStylesSettingChanged):
116502        (WebInspector.ComputedStyleSidebarPane.prototype.expand):
116503        (WebInspector.StylePropertyTreeElement.prototype):
116504
1165052012-02-17  No'am Rosenthal  <noam.rosenthal@nokia.com>
116506
116507        [Qt][WK2] Allow partial updates
116508        https://bugs.webkit.org/show_bug.cgi?id=78824
116509
116510        BitmapTextureGL should not zero-fill the textures when resetting.
116511        This was needed in the previous buffer management system, where texture were not completely
116512        filled by the backing store.
116513
116514        Reviewed by Simon Hausmann.
116515
116516        No new behavior.
116517
116518        * platform/graphics/opengl/TextureMapperGL.cpp:
116519        (BitmapTextureGL):
116520        (WebCore::texSubImage2DResourceSafe):
116521        (WebCore):
116522        (WebCore::BitmapTextureGL::reset):
116523
1165242012-02-17  Yosifumi Inoue  <yosin@chromium.org>
116525
116526        [Forms] Integrate InputType::dispatchChangeEventInResponseToSetValue into InputType::setValue
116527        https://bugs.webkit.org/show_bug.cgi?id=78873
116528
116529        Reviewed by Kent Tamura.
116530
116531        This patch moves event dispatch logic to InputType and TextFieldInputType from HTMLInputElement
116532        and merge dispatchChangeEventInResponseToSetValue to setValue.
116533
116534        No new tests. No change in behavior.
116535
116536        * html/HTMLInputElement.cpp:
116537        (WebCore::HTMLInputElement::setValue): Move dispatch logic to InputType and TextFieldInput.
116538        * html/InputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
116539        * html/InputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
116540        (WebCore::InputType::setValue): Move code from dispatchChangeEventInResponseToSetValue.
116541        * html/TextFieldInputType.cpp: Remove dispatchChangeEventInResponseToSetValue implementation.
116542        * html/TextFieldInputType.h: Remove dispatchChangeEventInResponseToSetValue declaration.
116543        (WebCore::TextFieldInputType::setValue): Move code from dispatchChangeEventInResponseToSetValue. Stop dispatching event in InputType::setValue.
116544        * html/HTMLTextFormControlElement.h: Make setTextAsOfLastFormControlChangeEvent to public from protected for accessing from InputType class.
116545
1165462012-02-17  Yury Semikhatsky  <yurys@chromium.org>
116547
116548        Unreviewed. Mac build fix after r108047.
116549
116550        * WebCore.xcodeproj/project.pbxproj:
116551
1165522012-02-16  Andreas Kling  <awesomekling@apple.com>
116553
116554        Removing the last presentation attribute should result in a null attributeStyle().
116555        <http://webkit.org/b/78812>
116556
116557        Reviewed by Antti Koivisto.
116558
116559        If the collectStyleForAttribute() pass in updateAttributeStyle() doesn't encounter any
116560        respected presentation attributes, set a null attributeStyle() instead of an empty one.
116561
116562        * css/CSSStyleSelector.cpp:
116563        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
116564        * dom/StyledElement.cpp:
116565        (WebCore::StyledElement::updateAttributeStyle):
116566
1165672012-02-16  Yury Semikhatsky  <yurys@chromium.org>
116568
116569        Web Inspector: use static counters for estimation of allocated Documents, Nodes and JS EventListeners
116570        https://bugs.webkit.org/show_bug.cgi?id=78825
116571
116572        Introduced static counters of allocated Documents, Nodes and JS EventListeners.
116573        Their values are displayed on the Timeline panel.
116574
116575        Reviewed by Pavel Feldman.
116576
116577        * CMakeLists.txt:
116578        * English.lproj/localizedStrings.js:
116579        * GNUmakefile.list.am:
116580        * Target.pri:
116581        * WebCore.gypi:
116582        * WebCore.vcproj/WebCore.vcproj:
116583        * WebCore.xcodeproj/project.pbxproj:
116584        * bindings/js/JSEventListener.cpp:
116585        (WebCore::JSEventListener::JSEventListener):
116586        (WebCore::JSEventListener::~JSEventListener):
116587        * bindings/v8/V8AbstractEventListener.cpp:
116588        (WebCore::V8AbstractEventListener::V8AbstractEventListener):
116589        (WebCore::V8AbstractEventListener::~V8AbstractEventListener):
116590        * dom/Document.cpp:
116591        (WebCore::Document::Document):
116592        (WebCore::Document::~Document):
116593        * dom/Document.h:
116594        (WebCore::Node::Node):
116595        * dom/Node.cpp:
116596        (WebCore::Node::~Node):
116597        * inspector/InspectorAllInOne.cpp:
116598        * inspector/InspectorController.cpp:
116599        (WebCore::InspectorController::InspectorController):
116600        * inspector/InspectorCounters.cpp: Added.
116601        (WebCore):
116602        (WebCore::InspectorCounters::counterValue):
116603        * inspector/InspectorCounters.h: Added.
116604        (WebCore):
116605        (InspectorCounters):
116606        (WebCore::InspectorCounters::incrementCounter):
116607        (WebCore::InspectorCounters::decrementCounter):
116608        * inspector/InspectorTimelineAgent.cpp:
116609        (WebCore::InspectorTimelineAgent::didCallFunction):
116610        (WebCore::InspectorTimelineAgent::didDispatchEvent):
116611        (WebCore::InspectorTimelineAgent::didWriteHTML):
116612        (WebCore::InspectorTimelineAgent::didFireTimer):
116613        (WebCore::InspectorTimelineAgent::didEvaluateScript):
116614        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
116615        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
116616        * inspector/InspectorTimelineAgent.h:
116617        (WebCore):
116618        (WebCore::InspectorTimelineAgent::create):
116619        (InspectorTimelineAgent):
116620        * inspector/front-end/MemoryStatistics.js:
116621        (WebInspector.MemoryStatistics):
116622        (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
116623        (WebInspector.MemoryStatistics.prototype._draw.getDocumentCount):
116624        (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
116625        * inspector/front-end/TimelinePanel.js:
116626        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
116627
1166282012-02-16  Cris Neckar  <cdn@chromium.org>
116629
116630        Correct a misleading comment regarding string delimiters in CSS parsing.
116631        https://bugs.webkit.org/show_bug.cgi?id=78521
116632
116633        Reviewed by Zoltan Herczeg.
116634
116635        * css/CSSParser.cpp:
116636        (WebCore::CSSParser::lex):
116637
1166382012-02-16  Martin Robinson  <mrobinson@igalia.com>
116639
116640        Fix the TextureMapper build for GTK+.
116641
116642        No new tests. This is just a build fix.
116643
116644        * GNUmakefile.list.am: Add missing files to the build and change spaces to tabs.
116645
1166462012-02-16  Daniel Bates  <dbates@webkit.org>
116647
116648        Add ENABLE(STYLE_SCOPED) around HTMLStyleElement::m_isRegisteredWithScopingNode 
116649
116650        The instance variable HTMLStyleElement::m_isRegisteredWithScopingNode is only
116651        referenced from within ENABLE(STYLE_SCOPED)-guarded code. We should add this
116652        guard around its declaration.
116653
116654        * html/HTMLStyleElement.h:
116655        (HTMLStyleElement):
116656
1166572012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
116658
116659        [v8] v8 doesn't assume to do 'new WebKitShadowRoot(host)'
116660        https://bugs.webkit.org/show_bug.cgi?id=78875
116661
116662        Reviewed by Kentaro Hara.
116663
116664        Since v8 does not assume that we do 'new WebkitShadowRoot(host)', a wrapper object for new WebKitShadowRoot(host)
116665        was saved in DOMObject storage instead of DOMNode storage.
116666
116667        CodeGenerator should handle with DOMNode correctly to solve the problem.
116668
116669        Test: fast/dom/shadow/shadow-root-new.html
116670
116671        * bindings/scripts/CodeGeneratorV8.pm:
116672        (GenerateConstructorCallback):
116673
1166742012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
116675
116676        Unreviewed rollout r107952 because it broke shadow-boundary-events.html and related-target-focusevent.html on mac.
116677        see http://webkit.org/b/78832
116678
116679        * CMakeLists.txt:
116680        * DerivedSources.cpp:
116681        * DerivedSources.make:
116682        * DerivedSources.pri:
116683        * GNUmakefile.list.am:
116684        * Target.pri:
116685        * WebCore.gypi:
116686        * WebCore.xcodeproj/project.pbxproj:
116687        * dom/DOMAllInOne.cpp:
116688        * dom/EventDispatchMediator.cpp:
116689        (WebCore::FocusEventDispatchMediator::create):
116690        (WebCore):
116691        (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
116692        (WebCore::FocusEventDispatchMediator::dispatchEvent):
116693        (WebCore::BlurEventDispatchMediator::create):
116694        (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
116695        (WebCore::BlurEventDispatchMediator::dispatchEvent):
116696        * dom/EventDispatchMediator.h:
116697        (FocusEventDispatchMediator):
116698        (WebCore):
116699        (BlurEventDispatchMediator):
116700        * dom/EventFactory.in:
116701        * dom/FocusEvent.cpp: Removed.
116702        * dom/FocusEvent.h: Removed.
116703        * dom/FocusEvent.idl: Removed.
116704        * dom/Node.cpp:
116705        (WebCore::Node::dispatchFocusInEvent):
116706        (WebCore::Node::dispatchFocusOutEvent):
116707        * dom/UIEvent.cpp:
116708        (WebCore::FocusInEventDispatchMediator::create):
116709        (WebCore):
116710        (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
116711        (WebCore::FocusInEventDispatchMediator::dispatchEvent):
116712        (WebCore::FocusOutEventDispatchMediator::create):
116713        (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
116714        (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
116715        * dom/UIEvent.h:
116716        (FocusInEventDispatchMediator):
116717        (WebCore):
116718        (FocusOutEventDispatchMediator):
116719        * page/DOMWindow.idl:
116720
1167212012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
116722
116723        Another fix for viewport tests
116724
116725        No new tests.
116726
116727        * dom/ViewportArguments.cpp:
116728        (WebCore::numericPrefix): When we don't parse a number, we could either be 
116729        trying to parse junk, which returns NaN, or we could get an empty string, 
116730        which returns 0, so we need to account for that in the assert.
116731
1167322012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
116733
116734        Another build fix for viewport tests
116735
116736        No new tests.
116737
116738        * dom/ViewportArguments.cpp:
116739        (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
116740        parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
116741        we have NaN rather than 0.
116742
1167432012-02-16  Alexandre Elias  <aelias@google.com>
116744
116745        [chromium] Bundle page scale factor and limits in CCLayerTreeHost
116746        https://bugs.webkit.org/show_bug.cgi?id=78762
116747
116748        Setting page scale factor and its limits in separate methods
116749        may cause clamping bugs if one of them makes it to the
116750        impl thread before the other.  Change the API to bundle them together,
116751        which matches the existing impl-side interface.
116752
116753        Reviewed by James Robinson.
116754
116755        No new tests (API change will disallow this type of bug).
116756
116757        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
116758        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
116759        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
116760        (WebCore::CCLayerTreeHost::setPageScaleFactorAndLimits):
116761        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
116762        (CCLayerTreeHost):
116763
1167642012-02-16  Kentaro Hara  <haraken@chromium.org>
116765
116766        Unreviewed. Rebaselined run-bindings-tests results.
116767
116768        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
116769        (WebCore::JSTestEventConstructorConstructor::finishCreation):
116770        * bindings/scripts/test/JS/JSTestInterface.cpp:
116771        (WebCore::JSTestInterfaceConstructor::finishCreation):
116772        * bindings/scripts/test/JS/JSTestObj.cpp:
116773        (WebCore::JSTestObjConstructor::finishCreation):
116774        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
116775        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::finishCreation):
116776
1167772012-02-16  Sami Kyostila  <skyostil@chromium.org>
116778
116779        [chromium] LayerChromium::setNeedsDisplay does not apply contents scale correctly
116780        https://bugs.webkit.org/show_bug.cgi?id=77464
116781
116782        Use bounds() instead of contentBounds() to calculate the region to mark
116783        as needing painting in LayerChromium::setNeedsDisplay(). contentBounds()
116784        includes contents scale, while bounds() does not.
116785
116786        Since this change also means that TiledLayerChromium::setNeedsDisplayRect() is
116787        given an unscaled rectangle, modify that function to scale the rectangle before
116788        using it to invalidate the underlying tiles.
116789
116790        Reviewed by James Robinson.
116791
116792        Tests: New tests added to LayerChromium and TiledLayerChromium unit tests.
116793
116794        * platform/graphics/chromium/LayerChromium.h:
116795        (WebCore::LayerChromium::setNeedsDisplay):
116796        * platform/graphics/chromium/TiledLayerChromium.cpp:
116797        (WebCore::TiledLayerChromium::setNeedsDisplayRect):
116798
1167992012-02-16  Raymond Liu  <raymond.liu@intel.com>
116800
116801        Lazy init for DefaultAudioDestinationNode and OfflineAudioDestinationNode
116802        https://bugs.webkit.org/show_bug.cgi?id=76509
116803
116804        Reviewed by Eric Seidel.
116805
116806        No new tests required.
116807
116808        * webaudio/AudioDestinationNode.h:
116809        * webaudio/AudioNode.h:
116810        (WebCore::AudioNode::sampleRate):
116811        * webaudio/DefaultAudioDestinationNode.cpp:
116812        (WebCore::DefaultAudioDestinationNode::DefaultAudioDestinationNode):
116813        * webaudio/DefaultAudioDestinationNode.h:
116814        * webaudio/OfflineAudioDestinationNode.cpp:
116815        (WebCore::OfflineAudioDestinationNode::OfflineAudioDestinationNode):
116816        * webaudio/OfflineAudioDestinationNode.h:
116817        (WebCore::OfflineAudioDestinationNode::sampleRate):
116818
1168192012-02-16  Shinya Kawanaka  <shinyak@chromium.org>
116820
116821        [Refactoring] Remove location from NodeRenderingContext.
116822        https://bugs.webkit.org/show_bug.cgi?id=78796
116823
116824        Reviewed by Hajime Morita.
116825
116826        This is a simple refactoring to remove m_location from NodeRenderingContext.
116827        TreeLocation is merged into AttachPhase like the following.
116828            LocationUndertermined -> Calculating
116829            LocationNotInTree -> AttachingNotInTree
116830            LocationLightChild -> AttachingStraight / AttachingNotDistributed / AttachingDistributed
116831            LocationShadowChild -> AttachingStraight / AttachingShadowChild / AttachingFallback
116832
116833        We have renamed the enum items of AttachPhase, because not only <content> but also
116834        <shadow> will use the phases. Basically these words are taken from Shadow DOM spec.
116835        'Calculating' means NodeRenderingContext is used not for attaching but for calculating RenderObject.
116836
116837        No new tests, no change in behavior.
116838
116839        * dom/NodeRenderingContext.cpp:
116840        (WebCore::NodeRenderingContext::NodeRenderingContext):
116841        (WebCore::NodeRenderingContext::nextRenderer):
116842        (WebCore::NodeRenderingContext::previousRenderer):
116843        (WebCore::NodeRenderingContext::parentRenderer):
116844        (WebCore::NodeRenderingContext::shouldCreateRenderer):
116845        * dom/NodeRenderingContext.h:
116846        (NodeRenderingContext):
116847        (WebCore::NodeRenderingContext::parentNodeForRenderingAndStyle):
116848
1168492012-02-16  Kent Tamura  <tkent@chromium.org>
116850
116851        Run sort-Xcode-project-file.
116852
116853        * WebCore.xcodeproj/project.pbxproj: Sorted.
116854
1168552012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
116856
116857        Another build fix for viewport tests
116858
116859        No new tests.
116860
116861        * dom/ViewportArguments.cpp:
116862        (WebCore::numericPrefix): We now return NaN instead of 0 when we fail to 
116863        parse a number using charactersToFloatIgnoringJunk, so we need to assert that 
116864        we have NaN rather than 0.
116865
1168662012-02-15  Michael Nordman  <michaeln@google.com>
116867
116868        [chromium] Fix bugs in the implementation of WebDatabase::closeDatabaseImmediately.
116869        https://bugs.webkit.org/show_bug.cgi?id=78841
116870
116871        WebDatabase now delegates this function entirely to DatabaseTracker,
116872        a new closeDatabasesImmediately() has been added for that purpose. That
116873        method posts tasks to the appropiate context thread for each database
116874        instance that should be closed immediately.
116875
116876        The DatabaseTracker getAllOpenDatabases() method has been removed from
116877        the chromium impl because it's unsafe, refs cannot be safely taken on
116878        AbstractDatabase instances in the tracker's collection of open databases.
116879
116880        Add a message to the console log when a database is forcibly closed.
116881
116882        Transactions initiated on a database instance that has been forcibly
116883        closed complete with a transaction error callback.
116884        
116885        This is part of resolving http://crbug.com/98939
116886
116887        Reviewed by David Levin.
116888
116889        No new layout tests, there is no common code way to closeImmediately.
116890        We have coverage for this in py automation tests.
116891
116892        * platform/sql/SQLiteDatabase.cpp:
116893        The closeImmediately code path can result in the underlying sqlite3 handle being
116894        closed earlier than usual and trip some assertions. Updated the assertions to no
116895        longer trigger in this early close case.
116896        (WebCore::SQLiteDatabase::close):
116897        (WebCore::SQLiteDatabase::setMaximumSize):
116898        * platform/sql/SQLiteDatabase.h:
116899        (WebCore::SQLiteDatabase::sqlite3Handle):
116900
116901        * storage/Database.cpp:
116902        (WebCore::Database::closeImmediately): Modified to only be called on the context thread and to log a console message.
116903        (WebCore::Database::changeVersion): Use the private runTransaction helper method.
116904        (WebCore::Database::transaction): Pass a new param required by the runTransaction helper.
116905        (WebCore::Database::readTransaction): Ditto.
116906        (WebCore::callTransactionErrorCallback): Used to defer invocation of the error callback.
116907        (WebCore::Database::runTransaction): Modified to detect when the database has been closed, and
116908        to invoke the error callback in that case. This also avoids creating a reference cycle between
116909        a newly created transaction and the database that previously existed due to a transction being
116910        added and never removed from the Q while in this state.
116911        * storage/Database.h:
116912        * storage/DatabaseSync.cpp:
116913        (WebCore::DatabaseSync::closeImmediately): Modified to only be called on the context thread and to log a console message.
116914        * storage/DatabaseTracker.h:
116915
116916        * storage/chromium/DatabaseTrackerChromium.cpp:
116917        Posts tasks to the appropiate context thread for execution without bumping AbstractDatabase refcounts.
116918        (DatabaseTracker::CloseOneDatabaseImmediatelyTask):
116919        (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::create):
116920        (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::performTask):
116921        (WebCore::DatabaseTracker::CloseOneDatabaseImmediatelyTask::CloseOneDatabaseImmediatelyTask):
116922        (WebCore::DatabaseTracker::closeDatabasesImmediately): 
116923        (WebCore::DatabaseTracker::closeOneDatabaseImmediately):
116924
1169252012-02-16  Dana Jansens  <danakj@chromium.org>
116926
116927        [Chromium] Occlusion tracking with CSS filters
116928        https://bugs.webkit.org/show_bug.cgi?id=77498
116929
116930        Reviewed by James Robinson.
116931
116932        The new CSS filter support within the compositor changes how
116933        occlusion tracking needs to function. A filter can change the
116934        alpha value of pixels, making an otherwise opaque pixel no
116935        longer so. Secondly, a filter may move color values around
116936        on a surface, which can cause otherwise occluded areas to
116937        become visible and require painting.
116938
116939        New unit tests: CCLayerTreeHostTest.cpp
116940
116941        Tests: compositing/culling/filter-occlusion-alpha-large.html
116942               compositing/culling/filter-occlusion-alpha.html
116943               compositing/culling/filter-occlusion-blur-large.html
116944               compositing/culling/filter-occlusion-blur.html
116945
116946        * platform/graphics/chromium/RenderSurfaceChromium.cpp:
116947        (WebCore::RenderSurfaceChromium::RenderSurfaceChromium):
116948        * platform/graphics/chromium/RenderSurfaceChromium.h:
116949        (WebCore::RenderSurfaceChromium::setFilters):
116950        (WebCore::RenderSurfaceChromium::filters):
116951        (WebCore::RenderSurfaceChromium::setNearestAncestorThatMovesPixels):
116952        (WebCore::RenderSurfaceChromium::nearestAncestorThatMovesPixels):
116953        (RenderSurfaceChromium):
116954        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
116955        (WebCore::enterTargetRenderSurface):
116956        (WebCore::CCLayerTreeHost::paintLayerContents):
116957        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
116958        (WebCore::subtreeShouldRenderToSeparateSurface):
116959        (WebCore::calculateDrawTransformsAndVisibilityInternal):
116960        (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
116961        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
116962        (WebCore::CCRenderSurface::CCRenderSurface):
116963        * platform/graphics/chromium/cc/CCRenderSurface.h:
116964        (WebCore::CCRenderSurface::setNearestAncestorThatMovesPixels):
116965        (WebCore::CCRenderSurface::nearestAncestorThatMovesPixels):
116966        (CCRenderSurface):
116967        * platform/graphics/filters/FilterOperation.h:
116968        (FilterOperation):
116969        (WebCore::FilterOperation::affectsOpacity):
116970        (WebCore::FilterOperation::movesPixels):
116971        (WebCore::ReferenceFilterOperation::affectsOpacity):
116972        (WebCore::ReferenceFilterOperation::movesPixels):
116973        (ReferenceFilterOperation):
116974        (WebCore::BasicComponentTransferFilterOperation::affectsOpacity):
116975        (BasicComponentTransferFilterOperation):
116976        (WebCore::BlurFilterOperation::affectsOpacity):
116977        (WebCore::BlurFilterOperation::movesPixels):
116978        (BlurFilterOperation):
116979        (WebCore::DropShadowFilterOperation::affectsOpacity):
116980        (DropShadowFilterOperation):
116981        * platform/graphics/filters/FilterOperations.cpp:
116982        (WebCore::FilterOperations::hasFilterThatAffectsOpacity):
116983        (WebCore):
116984        (WebCore::FilterOperations::hasFilterThatMovesPixels):
116985        * platform/graphics/filters/FilterOperations.h:
116986        (WebCore::FilterOperations::isEmpty):
116987        (FilterOperations):
116988
1169892012-02-16  Leo Yang  <leo.yang@torchmobile.com.cn>
116990
116991        [BlackBerry] Adapt to the removal of WebStringIml.h
116992        https://bugs.webkit.org/show_bug.cgi?id=78784
116993
116994        Reviewed by Antonio Gomes.
116995
116996        WebKit/blackberry/WebCoreSupport/WebStringImpl.h which hasn't been upstreamed
116997        has been removed internally. We should adapt to this removal for the
116998        upstreamed part of the BlackBerry port. Actually WebStringImpl is not necessary
116999        because it just inherits from WTF::StringImpl but adding nothing.
117000
117001        No functionalities changed, no new tests.
117002
117003        * platform/text/blackberry/StringBlackBerry.cpp:
117004        (WTF::String::operator WebString):
117005
1170062012-02-15  Geoffrey Garen  <ggaren@apple.com>
117007
117008        Made Weak<T> single-owner, adding PassWeak<T>
117009        https://bugs.webkit.org/show_bug.cgi?id=78740
117010
117011        Reviewed by Sam Weinig.
117012
117013        * bindings/js/JSDOMBinding.cpp:
117014        (WebCore::jsStringSlowCase): Use PassWeak<T>, as required by our new
117015        hash map API.
117016
117017        * bindings/js/JSDOMBinding.h:
117018        (WebCore::getCachedWrapper):
117019        (WebCore::cacheWrapper): Use PassWeak<T> and raw pointer, as required by
117020        our new hash map API.
117021
117022        * bindings/js/JSEventListener.h:
117023        (WebCore::JSEventListener::setWrapper):
117024        * bindings/js/ScriptWrappable.h:
117025        (WebCore::ScriptWrappable::setWrapper):
117026        * bridge/jsc/BridgeJSC.cpp:
117027        (JSC::Bindings::Instance::createRuntimeObject):
117028        * bridge/runtime_root.cpp:
117029        (JSC::Bindings::RootObject::addRuntimeObject): Use PassWeak<T>, as
117030        required by our new hash map and Weak<T> APIs.
117031
1170322012-02-16  Ryosuke Niwa  <rniwa@webkit.org>
117033
117034        Crash in visiblePositionForIndex
117035        https://bugs.webkit.org/show_bug.cgi?id=77683
117036
117037        Reviewed by Eric Seidel.
117038
117039        Fixed the crash.
117040
117041        Test: editing/execCommand/applyblockelement-visiblepositionforindex-crash.html
117042
117043        * editing/ApplyBlockElementCommand.cpp:
117044        (WebCore::ApplyBlockElementCommand::doApply):
117045        * editing/InsertListCommand.cpp:
117046        (WebCore::InsertListCommand::doApply):
117047        * editing/htmlediting.cpp:
117048        (WebCore::indexForVisiblePosition):
117049        * editing/htmlediting.h:
117050        (WebCore):
117051
1170522012-02-16  Matthew Delaney  <mdelaney@apple.com>
117053
117054        ShadowBlur.cpp's cached content matching needs to consider m_layerSize changes
117055        https://bugs.webkit.org/show_bug.cgi?id=78765
117056
117057        Reviewed by Simon Fraser.
117058
117059        No new tests due to the flaky nature of reproducing the issue.
117060
117061        * platform/graphics/ShadowBlur.cpp:
117062        (WebCore::ScratchBuffer::getScratchBuffer): Make sure to call clearScratchBuffer()
117063        when we create a new ImageBuffer in order to invalidate cached values.
117064        (WebCore::ScratchBuffer::setCachedShadowValues): Roll together matching and setting
117065        of cached values into one method to enforce them being the same.
117066        (WebCore::ScratchBuffer::setCachedInsetShadowValues): Ditto.
117067
117068        Restructure to use new method described above.
117069        (WebCore::ShadowBlur::drawRectShadowWithoutTiling): 
117070        (WebCore::ShadowBlur::drawInsetShadowWithoutTiling):
117071        (WebCore::ShadowBlur::drawInsetShadowWithTiling):
117072        (WebCore::ShadowBlur::drawRectShadowWithTiling):
117073        (WebCore::ShadowBlur::beginShadowLayer):
117074
1170752012-02-16  Dana Jansens  <danakj@chromium.org>
117076
117077        [chromium] Empty divs not transforming overflow correctly
117078        https://bugs.webkit.org/show_bug.cgi?id=78850
117079
117080        Reviewed by James Robinson.
117081
117082        Test: compositing/overflow/transform-in-empty-container.html
117083
117084        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
117085        (WebCore::GraphicsLayerChromium::setSize):
117086
1170872012-02-16  Emil A Eklund  <eae@chromium.org>
117088
117089        Fix use of long long in FractionalLayoutUnit::setRawValue
117090        https://bugs.webkit.org/show_bug.cgi?id=78835
117091
117092        Reviewed by Eric Seidel.
117093
117094        Change setRawValue(long long) to compare against int min and max instead
117095        of using abs as not all platforms we support implement a long long
117096        version of abs or llabs.
117097
117098        No new tests.
117099
117100        * platform/FractionalLayoutUnit.h:
117101        (WebCore::FractionalLayoutUnit::setRawValue):
117102        Compare against int min/max instead of just max with abs.
117103        
117104        (WebCore::FractionalLayoutUnit::isInBounds):
117105        Fix type mismatch warning.
117106        
117107        (WebCore::operator==):
117108        Fix typo.
117109        
117110        (WebCore::operator*):
117111        Use long long version of setRawValue.
117112
1171132012-02-15  Shinya Kawanaka  <shinyak@chromium.org>
117114
117115        Add an internal flag to accept multiple shadow roots for the purpose of tests.
117116        https://bugs.webkit.org/show_bug.cgi?id=78453
117117
117118        Reviewed by Hajime Morita.
117119
117120        This patch introduces a flag to enable multiple shadow subtrees.
117121        This flag is intended to be used for testing purpose for a while.
117122        We will remove it later.
117123
117124        No new tests, no change in behavior.
117125
117126        * WebCore.exp.in:
117127        * bindings/generic/RuntimeEnabledFeatures.cpp:
117128        (WebCore):
117129        * bindings/generic/RuntimeEnabledFeatures.h:
117130        (RuntimeEnabledFeatures):
117131        (WebCore::RuntimeEnabledFeatures::multipleShadowSubtreesEnabled):
117132        (WebCore::RuntimeEnabledFeatures::setMultipleShadowSubtreesEnabled):
117133        * dom/ShadowRoot.cpp:
117134        (WebCore::ShadowRoot::create):
117135        * dom/ShadowRootList.cpp:
117136        (WebCore::ShadowRootList::pushShadowRoot):
117137        * testing/Internals.cpp:
117138        (WebCore::Internals::setMultipleShadowSubtreesEnabled):
117139        (WebCore):
117140        * testing/Internals.h:
117141        (Internals):
117142        * testing/Internals.idl:
117143
1171442012-02-16  Mark Hahnenberg  <mhahnenberg@apple.com>
117145
117146        Fix the broken viewport tests
117147        https://bugs.webkit.org/show_bug.cgi?id=78774
117148
117149        Reviewed by Kenneth Rohde Christiansen.
117150
117151        No new tests.
117152
117153        * dom/ViewportArguments.cpp:
117154        (WebCore::numericPrefix): Changed to use the new charactersToFloatWithJunk function(s).
117155
1171562012-02-16  Cris Neckar  <cdn@chromium.org>
117157
117158        Very large strings could cause the new quoted string to wrap.
117159        https://bugs.webkit.org/show_bug.cgi?id=78387
117160
117161        Reviewed by Eric Seidel.
117162
117163        * css/CSSParser.cpp:
117164        (WebCore::quoteCSSString):
117165
1171662012-02-16  Eric Seidel  <eric@webkit.org>
117167
117168        Add a themeChromiumAndroid.css file for android-specific default styles
117169        https://bugs.webkit.org/show_bug.cgi?id=78547
117170
117171        Reviewed by Adam Barth.
117172
117173        This includes the themeChromiumAndroid.css file from the Chromium-Android port
117174        as well as some addidtional changes they had to html.css.  I believe those
117175        changes were made before themeChromiumAndroid was created, but it's now the better place for this CSS.
117176
117177        * WebCore.gyp/WebCore.gyp:
117178        * css/themeChromiumAndroid.css: Added.
117179        (select[size][multiple]):
117180        (input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="time"], input[type="month"]):
117181        * rendering/RenderThemeChromiumAndroid.cpp:
117182        (WebCore::RenderThemeChromiumAndroid::extraDefaultStyleSheet):
117183        (WebCore):
117184        * rendering/RenderThemeChromiumAndroid.h:
117185        (RenderThemeChromiumAndroid):
117186        (WebCore::RenderThemeChromiumAndroid::delegatesMenuListRendering):
117187        (WebCore::RenderThemeChromiumAndroid::platformTapHighlightColor):
117188
1171892012-02-16  Brady Eidson  <beidson@apple.com>
117190
117191        <rdar://problem/10616280> and https://bugs.webkit.org/show_bug.cgi?id=78767
117192        REGRESSION (r90471) - iAd Producer 2.0.1 produces blank pages
117193
117194        Reviewed by Sam Weinig.
117195
117196        No new tests. (Subtle API change attached to a specific application)
117197
117198        * loader/DocumentLoader.cpp:
117199        (WebCore::DocumentLoader::isLoadingInAPISense): Return true if the app needs the quirk
117200        and there are outstanding subresource loads.
117201
117202        * page/Settings.cpp:
117203        (WebCore::Settings::Settings):
117204        * page/Settings.h:
117205        (WebCore::Settings::setNeedsIsLoadingInAPISenseQuirk):
117206        (WebCore::Settings::needsIsLoadingInAPISenseQuirk):
117207        (Settings):
117208
1172092012-02-16  Kentaro Hara  <haraken@chromium.org>
117210
117211        Remove [ConvertScriptString] from FileReaderSync.idl
117212        https://bugs.webkit.org/show_bug.cgi?id=78335
117213
117214        Reviewed by Eric Seidel.
117215
117216        The spec says that FileReadSync should throw NOT_FOUND_ERR
117217        if a given blob is invalid: http://www.w3.org/TR/FileAPI/#FileReaderSync
117218
117219        By this fix, we can completely remove [ConvertScriptString] from WebKit.
117220
117221        Tests: fast/files/workers/worker-read-blob-sync.html
117222               fast/files/workers/worker-read-file-sync.html
117223
117224        * fileapi/FileReaderSync.cpp: Modified to throw NOT_FOUND_ERR if a blob is invalid.
117225        (WebCore::FileReaderSync::readAsArrayBuffer):
117226        (WebCore::FileReaderSync::readAsBinaryString):
117227        (WebCore::FileReaderSync::readAsText):
117228        (WebCore::FileReaderSync::readAsDataURL):
117229        * fileapi/FileReaderSync.idl:
117230
117231        * bindings/scripts/CodeGeneratorJS.pm: Removed [ConvertScriptString]
117232        since no one is using it.
117233        (NativeToJSValue):
117234        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
117235        (NativeToJSValue):
117236
117237        * bindings/scripts/test/TestObj.idl: Removed a test case for [ConvertScriptString].
117238
117239        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
117240        * bindings/scripts/test/CPP/WebDOMTestObj.h:
117241        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
117242        (webkit_dom_test_obj_get_property):
117243        (webkit_dom_test_obj_class_init):
117244        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
117245        * bindings/scripts/test/JS/JSTestObj.cpp:
117246        (WebCore):
117247        * bindings/scripts/test/JS/JSTestObj.h:
117248        (WebCore):
117249        * bindings/scripts/test/ObjC/DOMTestObj.h:
117250        * bindings/scripts/test/ObjC/DOMTestObj.mm:
117251        * bindings/scripts/test/V8/V8TestObj.cpp:
117252        (WebCore):
117253
117254
1172552012-02-16  Dana Jansens  <danakj@chromium.org>
117256
117257        [chromium] Clipping/Transforms applied in wrong order in opaque paint tracking
117258        https://bugs.webkit.org/show_bug.cgi?id=78775
117259
117260        Reviewed by Stephen White.
117261
117262        The clip was being applied in device coordinates, before transforming the painted
117263        rect into device coordinates. This made any translations get doubly represented,
117264        and gave incorrect paint tracking results.
117265
117266        Test: compositing/culling/unscrolled-within-boxshadow.html
117267
117268        Unit test: PlatformContextSkiaTest.cpp
117269
117270        * platform/graphics/skia/OpaqueRegionSkia.cpp:
117271        (WebCore::OpaqueRegionSkia::didDraw):
117272
1172732012-02-16  Abhishek Arya  <inferno@chromium.org>
117274
117275        Crash with tables in multi-column layout.
117276        https://bugs.webkit.org/show_bug.cgi?id=78415
117277
117278        Reviewed by Julien Chaffraix.
117279
117280        Multi-column code creates anonymous column blocks directly
117281        under RenderTable, thereby violating table layout assumption.
117282        E.g. Captions in this testcase gets reparented to these anonymous
117283        column blocks and when they go away, they are not able to clear
117284        themselves from table's m_captions list (since RenderTable::removeChild
117285        is not called).
117286
117287        Test: fast/multicol/span/table-multi-column-crash.html
117288
117289        * rendering/RenderBlock.cpp:
117290        (WebCore::RenderBlock::containingColumnsBlock):
117291
1172922012-02-16  ChangSeok Oh  <shivamidow@gmail.com>
117293
117294        [GTK] File system api build is broken
117295        https://bugs.webkit.org/show_bug.cgi?id=78479
117296
117297        Reviewed by Philippe Normand.
117298
117299        This patch is a small step to support FileSystem API for GTK port.
117300        As I know, bug58443 also dealt with it, but it looks like the submitted patch
117301        needs to be updated. To do that, I think I need to discuss with the original author.
117302        So, I hope to just fix build break issue in this bug.
117303
117304        No new tests. Implementing the feature is not done yet.
117305
117306        * GNUmakefile.list.am: Added some missing files.
117307        * bindings/js/JSDirectoryEntryCustom.cpp: Added Error.h to use its API.
117308        * platform/AsyncFileSystem.cpp:
117309        (WebCore):
117310        (WebCore::AsyncFileSystem::create): The arguments don't match the declaration in AsyncFileSystem.h.
117311        * platform/gtk/AsyncFileSystemGtk.cpp: Added.
117312        (WebCore):
117313        (WebCore::AsyncFileSystem::isAvailable):
117314        (WebCore::AsyncFileSystem::isValidType):
117315        (WebCore::AsyncFileSystem::create):
117316        (WebCore::AsyncFileSystem::openFileSystem):
117317        (WebCore::AsyncFileSystem::crackFileSystemURL):
117318        (WebCore::AsyncFileSystemGtk::AsyncFileSystemGtk):
117319        (WebCore::AsyncFileSystemGtk::~AsyncFileSystemGtk):
117320        (WebCore::AsyncFileSystemGtk::toURL):
117321        (WebCore::AsyncFileSystemGtk::move):
117322        (WebCore::AsyncFileSystemGtk::copy):
117323        (WebCore::AsyncFileSystemGtk::remove):
117324        (WebCore::AsyncFileSystemGtk::removeRecursively):
117325        (WebCore::AsyncFileSystemGtk::readMetadata):
117326        (WebCore::AsyncFileSystemGtk::createFile):
117327        (WebCore::AsyncFileSystemGtk::createDirectory):
117328        (WebCore::AsyncFileSystemGtk::fileExists):
117329        (WebCore::AsyncFileSystemGtk::directoryExists):
117330        (WebCore::AsyncFileSystemGtk::readDirectory):
117331        (WebCore::AsyncFileSystemGtk::createWriter):
117332        * platform/gtk/AsyncFileSystemGtk.h: Added.
117333        (WebCore):
117334        (AsyncFileSystemGtk):
117335
1173362012-02-16  Adrienne Walker  <enne@google.com>
117337
117338        Handle dirty descendant visibility status in RenderLayer::updateLayerPositionsAfterScroll
117339        https://bugs.webkit.org/show_bug.cgi?id=78286
117340
117341        Reviewed by Julien Chaffraix.
117342
117343        This is an unfortunate bandaid over a corner case where sometimes the
117344        visible descendant status dirty flag is true when this function is
117345        called from FrameView::repaintFixedElementsAfterScrolling. As it
117346        should be cheap to refresh this flag when dirty in most cases (as it
117347        early outs after finding any visible descendant), just lazily update
117348        the dirty flag here to ensure correctness.
117349
117350        * rendering/RenderLayer.cpp:
117351        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
117352
1173532012-02-16  Adam Barth  <abarth@webkit.org>
117354
117355        Chrome::*Geolocation* are just useless pass-throughs to ChromeClient and should be removed
117356        https://bugs.webkit.org/show_bug.cgi?id=78844
117357
117358        Reviewed by Eric Seidel.
117359
117360        These function serve no useful purpose and should be removed.
117361
117362        * page/Chrome.cpp:
117363        (WebCore):
117364        * page/Chrome.h:
117365        (Chrome):
117366        * page/Geolocation.cpp:
117367        (WebCore::Geolocation::reset):
117368        (WebCore::Geolocation::requestPermission):
117369
1173702012-02-16  Sergio Villar Senin  <svillar@igalia.com>
117371
117372        [soup] Move important SoupSession feature initialization to WebCore
117373        https://bugs.webkit.org/show_bug.cgi?id=68602
117374
117375        Reviewed by Martin Robinson.
117376
117377        Moved content sniffer and decoder initialization from WebKit to
117378        WebCore because network stuff will not work as expected without
117379        them. Added also out-of-the-box proxy support to WebCore.
117380
117381        No new tests required as we're just moving stuff from WebKit to
117382        WebCore.
117383
117384        * platform/network/soup/ResourceHandleSoup.cpp:
117385        (WebCore::ResourceHandle::defaultSession):
117386
1173872012-02-16  Julien Chaffraix  <jchaffraix@webkit.org>
117388
117389        thead in table without tbody causes table height doubling
117390        https://bugs.webkit.org/show_bug.cgi?id=37244
117391
117392        Reviewed by Ojan Vafai.
117393
117394        Tests: fast/table/double-height-table-no-tbody-expected.html
117395               fast/table/double-height-table-no-tbody.html
117396
117397        The bug is caused by the layout code would wrongly assuming that a
117398        table without a <tbody> is an empty table. We would set the logical
117399        height to the style's logical height wrongly before inflating the
117400        logical height to account for the section(s). This would cause us
117401        to increase past our needed size thus the bug.
117402
117403        * rendering/RenderTable.cpp:
117404        (WebCore::RenderTable::layout):
117405        A table is empty if it does not have any top section, not just a <tbody>.
117406        The test uncovered an issue with height distribution in layoutRows where we
117407        would distribute the extra height to the first <tbody> not section.
117408
1174092012-02-07  Robert Hogan  <robert@webkit.org>
117410
117411        CSS 2.1 failure: fixed-table-layout-013 and fixed-table-layout-015 fail
117412        https://bugs.webkit.org/show_bug.cgi?id=78027
117413
117414        Reviewed by Julien Chaffraix.
117415
117416        Both of these test the (slightly implicit) rule that width set on column-groups cannot
117417        affect the width of columns in a fixed layout table: http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout
117418        FF, Opera and IE all pass these two tests.
117419
117420        Tests: css2.1/20110323/fixed-table-layout-013.htm
117421               css2.1/20110323/fixed-table-layout-015.htm
117422
117423        * rendering/FixedTableLayout.cpp:
117424        (WebCore::nextCol): A helper function for finding the next column along.
117425        (WebCore::FixedTableLayout::calcWidthArray): Ignore width specified by column groups.
117426        * rendering/RenderTableCol.h:
117427        (WebCore::RenderTableCol::isTableColGroup): Convenience function for identifying column groups.
117428
1174292012-02-16  Philippe Normand  <pnormand@igalia.com>
117430
117431        Unreviewed, rolling out r107941.
117432        http://trac.webkit.org/changeset/107941
117433        https://bugs.webkit.org/show_bug.cgi?id=68602
117434
117435        Broke 23 http tests on GTK
117436
117437        * platform/network/soup/ResourceHandleSoup.cpp:
117438        (WebCore::ResourceHandle::defaultSession):
117439
1174402012-02-16  Tom Sepez  <tsepez@chromium.org>
117441
117442        XSS Auditor bypass with U+2028/2029
117443        https://bugs.webkit.org/show_bug.cgi?id=78732
117444
117445        Reviewed by Adam Barth.
117446
117447        Test: http/tests/security/xssAuditor/script-tag-with-trailing-comment-U2028.html
117448
117449        * html/parser/XSSAuditor.cpp:
117450        (WebCore::isJSNewline):
117451        (WebCore::XSSAuditor::snippetForJavaScript):
117452
1174532012-02-15  Mark Rowe  <mrowe@apple.com>
117454
117455        NPN_GetValueForURL / NPNURLVProxy returns DIRECT when proxy configured via PAC
117456        <http://webkit.org/b/78766> / <rdar://problem/10729283>
117457
117458        Reviewed by Anders Carlsson.
117459
117460        * platform/network/cf/ProxyServerCFNet.cpp:
117461        (WebCore::proxyAutoConfigurationResultCallback): Stop the runloop, and then process
117462        the results that we received.
117463        (WebCore::processProxyServers): Processing of array of proxy configuration information
117464        moved from addProxyServersForURL. Handling of proxy auto-configuration URLs is now handled
117465        by calling CFNetworkExecuteProxyAutoConfigurationURL and waiting synchronously on the result
117466        callback. Doing this synchronously is not great, but it's the best we can do without a lot
117467        of restructuring of the code that calls this. We arbitrarily time out the execution after five
117468        seconds to avoid permanently hanging.
117469        (WebCore::addProxyServersForURL): Call in to our helper function.
117470
1174712012-02-16  Abhishek Arya  <inferno@chromium.org>
117472
117473        Fix clone() function to handle descendant classes of RenderBlock.
117474        https://bugs.webkit.org/show_bug.cgi?id=78273
117475
117476        Reviewed by Eric Seidel.
117477
117478        Test: fast/multicol/span/clone-flexbox-crash.html
117479
117480        * rendering/RenderBlock.cpp:
117481        (WebCore::RenderBlock::clone):
117482
1174832012-02-16  Raul Hudea  <rhudea@adobe.com>
117484
117485        [CSSRegions]overflowRegion tests are flaky
117486        https://bugs.webkit.org/show_bug.cgi?id=78761
117487
117488        Reviewed by Tony Chang.
117489
117490        The overflowRegion tests were updated.
117491
117492        * dom/Element.cpp:
117493        (WebCore::Element::webkitRegionOverflow):
117494
1174952012-02-16  Raul Hudea  <rhudea@adobe.com>
117496
117497        [CSS Regions] Repaint issues when changing innerHTML of content
117498        https://bugs.webkit.org/show_bug.cgi?id=78787
117499
117500        Reviewed by David Hyatt.
117501
117502        The calculation of the clipping rectangle is based on the repaint rectangle,
117503        so it needs to be clipped to the current region, because it might spread over multiple ones.
117504
117505        Test: fast/repaint/region-painting-invalidation.html
117506
117507        * rendering/RenderFlowThread.cpp:
117508        (WebCore::RenderFlowThread::repaintRectangleInRegions):
117509
1175102012-02-16  Adam Roben  <aroben@apple.com>
117511
117512        Roll out r107887
117513
117514        It broke 32-bit builds due to truncation from "long long" to "int".
117515
117516        Original bug is <http://webkit.org/b/76571> Add FractionalLayoutPoint/Size/Rect for
117517        sub-pixel layout
117518
117519        * CMakeLists.txt:
117520        * GNUmakefile.list.am:
117521        * WebCore.gypi:
117522        * WebCore.order:
117523        * WebCore.vcproj/WebCore.vcproj:
117524        * WebCore.xcodeproj/project.pbxproj:
117525        * platform/FractionalLayoutUnit.h:
117526        (WebCore::FractionalLayoutUnit::isInBounds):
117527        (WebCore::operator==):
117528        (WebCore::operator*):
117529        * platform/graphics/FloatPoint.cpp:
117530        * platform/graphics/FloatPoint.h:
117531        (WebCore):
117532        (FloatPoint):
117533        (WebCore::FloatPoint::move):
117534        (WebCore::FloatPoint::moveBy):
117535        * platform/graphics/FloatRect.cpp:
117536        * platform/graphics/FloatRect.h:
117537        (WebCore):
117538        * platform/graphics/FloatSize.cpp:
117539        * platform/graphics/FloatSize.h:
117540        (WebCore):
117541        * platform/graphics/FractionalLayoutPoint.h: Removed.
117542        * platform/graphics/FractionalLayoutRect.cpp: Removed.
117543        * platform/graphics/FractionalLayoutRect.h: Removed.
117544        * platform/graphics/FractionalLayoutSize.cpp: Removed.
117545        * platform/graphics/FractionalLayoutSize.h: Removed.
117546        * platform/graphics/IntRect.cpp:
117547        * platform/graphics/IntRect.h:
117548        (WebCore):
117549        (IntRect):
117550
1175512012-02-16  Pavel Feldman  <pfeldman@google.com>
117552
117553        Web Inspector: cache settings values
117554        https://bugs.webkit.org/show_bug.cgi?id=78815
117555
117556        Reviewed by Vsevolod Vlasov.
117557
117558        * inspector/front-end/Settings.js:
117559        (WebInspector.Setting.prototype.get if):
117560        (WebInspector.Setting.prototype):
117561        (WebInspector.Setting.prototype.):
117562        (WebInspector.Setting.prototype.set this):
117563
1175642012-02-16  Terry Anderson  <tdanderson@chromium.org>
117565
117566        WebKit does not support DOM 3 Events FocusEvent
117567        https://bugs.webkit.org/show_bug.cgi?id=76216
117568
117569        Created a new FocusEvent class (extends UIEvent) with a relatedTarget attribute.  Moved
117570        the {Focus,Blur,FocusIn,FocusOut}EventDispatchMediator classes inside FocusEvent.  Now when
117571        focusin or focusout events are dispatched, a FocusEvent is created with the relatedTarget
117572        attribute set accordingly.  No other logic changes have been made besides adding the
117573        FocusEvent class.
117574
117575        Reviewed by Eric Seidel.
117576
117577        Test: fast/events/related-target-focusevent.html
117578
117579        * CMakeLists.txt:
117580        * DerivedSources.cpp:
117581        * DerivedSources.make:
117582        * DerivedSources.pri:
117583        * GNUmakefile.list.am:
117584        * Target.pri:
117585        * WebCore.gypi:
117586        * WebCore.xcodeproj/project.pbxproj:
117587        * dom/DOMAllInOne.cpp:
117588            - Included mention of FocusEvent / JSFocusEvent in the above files to
117589              allow the patch to build on the different platforms
117590        * dom/EventDispatchMediator.cpp:
117591        * dom/EventDispatchMediator.h:
117592        * dom/EventFactory.in:
117593        * dom/FocusEvent.cpp: Added.
117594        (WebCore):
117595        (WebCore::FocusEvent::FocusEvent):
117596        (WebCore::FocusEvent::~FocusEvent):
117597        (WebCore::FocusEvent::initFocusEvent):
117598        (WebCore::FocusEvent::interfaceName):
117599        (WebCore::FocusInEventDispatchMediator::create):
117600        (WebCore::FocusInEventDispatchMediator::FocusInEventDispatchMediator):
117601        (WebCore::FocusInEventDispatchMediator::dispatchEvent):
117602        (WebCore::FocusInEventDispatchMediator::event):
117603        (WebCore::FocusOutEventDispatchMediator::create):
117604        (WebCore::FocusOutEventDispatchMediator::FocusOutEventDispatchMediator):
117605        (WebCore::FocusOutEventDispatchMediator::dispatchEvent):
117606        (WebCore::FocusOutEventDispatchMediator::event):
117607        (WebCore::FocusEventDispatchMediator::create):
117608        (WebCore::FocusEventDispatchMediator::FocusEventDispatchMediator):
117609        (WebCore::FocusEventDispatchMediator::dispatchEvent):
117610        (WebCore::BlurEventDispatchMediator::create):
117611        (WebCore::BlurEventDispatchMediator::BlurEventDispatchMediator):
117612        (WebCore::BlurEventDispatchMediator::dispatchEvent):
117613        * dom/FocusEvent.h: Copied from Source/WebCore/dom/EventDispatchMediator.h.
117614        (WebCore):
117615        (FocusEvent):
117616        (WebCore::FocusEvent::create):
117617        (WebCore::FocusEvent::relatedTarget):
117618        (WebCore::FocusEvent::setRelatedTarget):
117619        (FocusInEventDispatchMediator):
117620        (FocusOutEventDispatchMediator):
117621        (FocusEventDispatchMediator):
117622        (BlurEventDispatchMediator):
117623        * dom/FocusEvent.idl: Added.
117624        * dom/Node.cpp:
117625        (WebCore::Node::dispatchFocusInEvent):
117626        (WebCore::Node::dispatchFocusOutEvent):
117627        * dom/UIEvent.cpp:
117628        * dom/UIEvent.h:
117629        * page/DOMWindow.idl:
117630
1176312012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
117632
117633        [Texmap] Improve the way we deal with BGRA extension
117634        https://bugs.webkit.org/show_bug.cgi?id=78822
117635
117636        Swizzle the RGBA manually only in OpenGL ES, and only if the extension is not available.
117637        Pass the pixel-format of the images when updating TextureMapperTiledBackingStore.
117638
117639        Reviewed by Kenneth Rohde Christiansen.
117640
117641        No new behavior.
117642
117643        * platform/graphics/opengl/TextureMapperGL.cpp:
117644        (WebCore):
117645        (WebCore::hasExtension):
117646        (WebCore::hasBgraExtension):
117647        (WebCore::BitmapTextureGL::updateContents):
117648        * platform/graphics/texmap/TextureMapperBackingStore.cpp:
117649        (WebCore::TextureMapperTile::updateContents):
117650        (WebCore::TextureMapperTiledBackingStore::updateContentsFromImageIfNeeded):
117651        (WebCore::TextureMapperTiledBackingStore::updateContents):
117652        * platform/graphics/texmap/TextureMapperBackingStore.h:
117653        (TextureMapperTile):
117654        (TextureMapperTiledBackingStore):
117655        (WebCore::TextureMapperTiledBackingStore::updateContents):
117656        * platform/graphics/texmap/TextureMapperLayer.cpp:
117657        (WebCore::TextureMapperLayer::updateBackingStore):
117658
1176592012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
117660
117661        [Gtk][Efl][Qt] Move OpenGLShims out of cairo/ subdirectory
117662        https://bugs.webkit.org/show_bug.cgi?id=78800
117663
117664        Reviewed by Kenneth Rohde Christiansen.
117665
117666        The file is not specific to Cairo and used in other ports. Move it into
117667        common space.
117668
117669        * GNUmakefile.list.am:
117670        * PlatformEfl.cmake:
117671        * Target.pri:
117672        * platform/graphics/OpenGLShims.cpp: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.cpp.
117673        (WebCore):
117674        (WebCore::openGLFunctionTable):
117675        (WebCore::getProcAddress):
117676        (WebCore::lookupOpenGLFunctionAddress):
117677        (WebCore::initializeOpenGLShims):
117678        * platform/graphics/OpenGLShims.h: Renamed from Source/WebCore/platform/graphics/cairo/OpenGLShims.h.
117679        (WebCore):
117680        (_OpenGLFunctionTable):
117681        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
117682        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
117683        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
117684        * platform/graphics/opengl/TextureMapperGL.cpp:
117685        * platform/graphics/qt/Extensions3DQt.cpp:
117686        * platform/graphics/qt/GraphicsContext3DQt.cpp:
117687
1176882012-02-16  No'am Rosenthal  <noam.rosenthal@nokia.com>
117689
117690        [Qt][WK2] Allow opaque tiles
117691        https://bugs.webkit.org/show_bug.cgi?id=78809
117692
117693        Add a supportsAlpha property to TiledBackingStore.
117694        We invalidate all the tiles if that property changes, because the buffers need to be
117695        recreated in a different format.
117696
117697        Reviewed by Kenneth Rohde Christiansen.
117698
117699        No behavior changes.
117700
117701        * platform/graphics/TiledBackingStore.cpp:
117702        (WebCore::TiledBackingStore::TiledBackingStore):
117703        (WebCore::TiledBackingStore::setSupportsAlpha):
117704        (WebCore):
117705        * platform/graphics/TiledBackingStore.h:
117706        (TiledBackingStore):
117707        (WebCore::TiledBackingStore::supportsAlpha):
117708
1177092012-02-16  Sergio Villar Senin  <svillar@igalia.com>
117710
117711        [soup] Move important SoupSession feature initialization to WebCore
117712        https://bugs.webkit.org/show_bug.cgi?id=68602
117713
117714        Reviewed by Martin Robinson.
117715
117716        Moved content sniffer and decoder initialization from WebKit to
117717        WebCore because network stuff will not work as expected without
117718        them. Added also out-of-the-box proxy support to WebCore.
117719
117720        No new tests required as we're just moving stuff from WebKit to
117721        WebCore.
117722
117723        * platform/network/soup/ResourceHandleSoup.cpp:
117724        (WebCore::ResourceHandle::defaultSession):
117725
1177262012-02-16  Pavel Feldman  <pfeldman@google.com>
117727
117728        Web Inspector: remove free flow DOM editing experiment.
117729        https://bugs.webkit.org/show_bug.cgi?id=78813
117730
117731        Reviewed by Yury Semikhatsky.
117732
117733        * inspector/front-end/DOMAgent.js:
117734        (WebInspector.DOMAgent.prototype._markRevision):
117735
1177362012-02-16  Patrick Gansterer  <paroga@webkit.org>
117737
117738        WinCE build fix after r107453.
117739
117740        * platform/FractionalLayoutUnit.h:
117741        (WebCore::FractionalLayoutUnit::isInBounds): Use fabs() instead of abs().
117742
1177432012-02-15  Pavel Feldman  <pfeldman@google.com>
117744
117745        Web Inspector: explicitly mark undoable state from the front-end.
117746        https://bugs.webkit.org/show_bug.cgi?id=78716
117747
117748        Reviewed by Vsevolod Vlasov.
117749
117750        * inspector/InspectorCSSAgent.cpp:
117751        (WebCore::InspectorCSSAgent::toggleProperty):
117752        (WebCore::InspectorCSSAgent::setRuleSelector):
117753        (WebCore::InspectorCSSAgent::addRule):
117754        * inspector/InspectorDOMAgent.cpp:
117755        (WebCore::InspectorDOMAgent::setAttributeValue):
117756        (WebCore::InspectorDOMAgent::setAttributesAsText):
117757        (WebCore::InspectorDOMAgent::removeAttribute):
117758        (WebCore::InspectorDOMAgent::removeNode):
117759        (WebCore::InspectorDOMAgent::setNodeName):
117760        (WebCore::InspectorDOMAgent::setOuterHTML):
117761        (WebCore::InspectorDOMAgent::setNodeValue):
117762        (WebCore::InspectorDOMAgent::moveTo):
117763        * inspector/InspectorHistory.cpp:
117764        (WebCore::InspectorHistory::redo):
117765        * inspector/InspectorHistory.h:
117766        (InspectorHistory):
117767        * inspector/front-end/CSSStyleModel.js:
117768        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
117769        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
117770        (WebInspector.CSSStyleModel.prototype.addRule.callback):
117771        (WebInspector.CSSStyleModel.prototype.addRule):
117772        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
117773        (WebInspector.CSSProperty.prototype.setText.callback):
117774        (WebInspector.CSSProperty.prototype.setText):
117775        (WebInspector.CSSProperty.prototype.setDisabled.callback):
117776        (WebInspector.CSSProperty.prototype.setDisabled):
117777        (WebInspector.CSSStyleSheet.prototype.setText):
117778        * inspector/front-end/DOMAgent.js:
117779        (WebInspector.DOMAgent.prototype._markRevision):
117780        (WebInspector.DOMAgent.prototype.get markUndoableState):
117781
1177822012-02-15  Pavel Feldman  <pfeldman@google.com>
117783
117784        Web Inspector: revert 'modification of DOM upon single click for selected nodes'.
117785        https://bugs.webkit.org/show_bug.cgi?id=78717
117786
117787        Reviewed by Vsevolod Vlasov.
117788
117789        * inspector/front-end/ElementsTreeOutline.js:
117790        (WebInspector.ElementsTreeElement.prototype.onattach):
117791
1177922012-02-16  Pavel Feldman  <pfeldman@google.com>
117793
117794        Web Inspector: move style disable checkboxes to the left
117795        https://bugs.webkit.org/show_bug.cgi?id=78780
117796
117797        Reviewed by Vsevolod Vlasov.
117798
117799        * inspector/front-end/StylesSidebarPane.js:
117800        (WebInspector.StylePropertiesSection):
117801        (WebInspector.StylePropertiesSection.prototype._handleSelectorDoubleClick):
117802        (WebInspector.StylePropertyTreeElement.prototype):
117803        * inspector/front-end/elementsPanel.css:
117804        (.styles-section.matched-styles .properties):
117805        (.styles-section.matched-styles .properties li):
117806        (.styles-section .properties li.parent::before):
117807        (.styles-section .properties li.parent.expanded::before):
117808        (.styles-section.matched-styles .properties li.parent .expand-element):
117809        (.styles-section.matched-styles .properties li.parent.expanded .expand-element):
117810        (.styles-section.computed-style .properties li.parent::before):
117811        (.styles-section.computed-style .properties li.parent.expanded::before):
117812        (.styles-section.matched-styles:not(.read-only):hover .properties .enabled-button):
117813        (.styles-section.matched-styles:not(.read-only) .properties li.disabled .enabled-button):
117814        (.styles-section .properties .enabled-button):
117815        (.styles-section.matched-styles .properties ol.expanded):
117816        * inspector/front-end/treeoutline.js:
117817        (TreeElement.treeElementDoubleClicked):
117818
1178192012-02-16  Yury Semikhatsky  <yurys@chromium.org>
117820
117821        Web Inspector: show memory counter graphics when switching to memory view
117822        https://bugs.webkit.org/show_bug.cgi?id=78808
117823
117824        Switching to memory view in timeline will display memory counters. Counter
117825        graphics know show fair data without approximations between sampling points.
117826
117827        Reviewed by Pavel Feldman.
117828
117829        * English.lproj/localizedStrings.js:
117830        * inspector/front-end/MemoryStatistics.js:
117831        (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
117832        (WebInspector.MemoryStatistics.prototype._calculateXValues):
117833        (WebInspector.MemoryStatistics.prototype._drawPolyline):
117834        * inspector/front-end/TimelinePanel.js:
117835        (WebInspector.TimelinePanel.prototype.get statusBarItems):
117836        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
117837        (WebInspector.TimelinePanel.prototype._timelinesOverviewItemSelected):
117838        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
117839
1178402012-02-16  Ilya Tikhonovsky  <loislo@chromium.org>
117841
117842        Web Inspector: [heap snapshot] It could be useful to have access to the selected heap object from the console.
117843        https://bugs.webkit.org/show_bug.cgi?id=78496
117844
117845        Reviewed by Yury Semikhatsky.
117846
117847       * bindings/js/JSInjectedScriptHostCustom.cpp:
117848        (WebCore::JSInjectedScriptHost::inspectedObject):
117849        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
117850        (WebCore::V8InjectedScriptHost::inspectedObjectCallback):
117851        * inspector/InjectedScriptHost.cpp:
117852        (WebCore::InjectedScriptHost::InjectedScriptHost):
117853        (WebCore::InjectedScriptHost::InspectableObject::get):
117854        (WebCore):
117855        (WebCore::InjectedScriptHost::addInspectedObject):
117856        (WebCore::InjectedScriptHost::clearInspectedObjects):
117857        (WebCore::InjectedScriptHost::inspectedObject):
117858        * inspector/InjectedScriptHost.h:
117859        (InspectableObject):
117860        (WebCore::InjectedScriptHost::InspectableObject::~InspectableObject):
117861        (InjectedScriptHost):
117862        * inspector/InjectedScriptHost.idl:
117863        * inspector/InjectedScriptSource.js:
117864        (.):
117865        * inspector/Inspector.json:
117866        * inspector/InspectorAgent.cpp:
117867        (WebCore::InspectorAgent::domContentLoadedEventFired):
117868        * inspector/InspectorConsoleAgent.cpp:
117869        (InspectableHeapObject):
117870        (WebCore::InspectableHeapObject::InspectableHeapObject):
117871        (WebCore::InspectableHeapObject::get):
117872        (WebCore):
117873        (WebCore::InspectorConsoleAgent::addInspectedHeapObject):
117874        * inspector/InspectorConsoleAgent.h:
117875        (InspectorConsoleAgent):
117876        * inspector/InspectorProfilerAgent.cpp:
117877        (WebCore::InspectorProfilerAgent::resetState):
117878        * inspector/PageConsoleAgent.cpp:
117879        (InspectableNode):
117880        (WebCore::InspectableNode::InspectableNode):
117881        (WebCore::InspectableNode::get):
117882        (WebCore):
117883        (WebCore::PageConsoleAgent::addInspectedNode):
117884        * inspector/front-end/DetailedHeapshotView.js:
117885        (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
117886        (WebInspector.DetailedHeapshotView.prototype._inspectedObjectChanged):
117887
1178882012-02-16  Kihong Kwon  <kihong.kwon@samsung.com>
117889
117890        Add support for unsigned long[] to idl bindings to JSC.
117891        https://bugs.webkit.org/show_bug.cgi?id=78210
117892
117893        Reviewed by Kentaro Hara.
117894
117895        Add support for unsigned long[] parameter type in idl.
117896        This patch adds support just for unsigned long[] parameter type.
117897        (support for other types of array should be done in another patch.)
117898
117899        tests added to TestObj.idl.
117900
117901        * bindings/js/JSDOMBinding.h:
117902        (WebCore::jsUnsignedLongArrayToVector):
117903        * bindings/scripts/CodeGeneratorJS.pm:
117904        (AddIncludesForType):
117905        (JSValueToNative):
117906        (NativeToJSValue):
117907        * bindings/scripts/test/JS/JSTestObj.cpp:
117908        (WebCore):
117909        (WebCore::jsTestObjPrototypeFunctionMethodWithUnsignedLongArray):
117910        * bindings/scripts/test/JS/JSTestObj.h:
117911        (WebCore):
117912        * bindings/scripts/test/TestObj.idl:
117913
1179142012-02-16  Vsevolod Vlasov  <vsevik@chromium.org>
117915
117916        Web Inspector: [InspectorIndexedDB] Add IndexedDB TreeElement to resources panel.
117917        https://bugs.webkit.org/show_bug.cgi?id=78609
117918
117919        Reviewed by Yury Semikhatsky.
117920
117921        Added IndexedDB tree element to resources panel (behind experimental setting).
117922        Test is currently disabled, since we don't run tests with experiments enabled.
117923
117924        * English.lproj/localizedStrings.js:
117925        * WebCore.gypi:
117926        * inspector/front-end/Images/indexedDB.png: Added.
117927        * inspector/front-end/Images/indexedDBIndex.png: Added.
117928        * inspector/front-end/Images/indexedDBObjectStore.png: Added.
117929        * inspector/front-end/IndexedDBModel.js:
117930        (WebInspector.IndexedDBModel):
117931        (WebInspector.IndexedDBModel.prototype.refreshDatabaseNames):
117932        (WebInspector.IndexedDBModel.prototype.refreshDatabase):
117933        (WebInspector.IndexedDBModel.prototype._reset):
117934        (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
117935        (WebInspector.IndexedDBModel.prototype._originRemoved):
117936        (WebInspector.IndexedDBModel.prototype._databaseAdded):
117937        (WebInspector.IndexedDBModel.prototype._databaseRemoved):
117938        (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
117939        (WebInspector.IndexedDBModel.prototype._loadDatabase.callback):
117940        (WebInspector.IndexedDBModel.prototype._loadDatabase):
117941        (WebInspector.IndexedDBModel.Frame):
117942        (WebInspector.IndexedDBModel.DatabaseId):
117943        (WebInspector.IndexedDBModel.DatabaseId.prototype.equals):
117944        (WebInspector.IndexedDBModel.Database):
117945        (WebInspector.IndexedDBModel.Index):
117946        * inspector/front-end/ResourcesPanel.js:
117947        (WebInspector.IndexedDBTreeElement):
117948        (WebInspector.IndexedDBTreeElement.prototype.onexpand):
117949        (WebInspector.IndexedDBTreeElement.prototype._createIndexedDBModel):
117950        (WebInspector.IndexedDBTreeElement.prototype.refreshIndexedDB):
117951        (WebInspector.IndexedDBTreeElement.prototype._indexedDBAdded):
117952        (WebInspector.IndexedDBTreeElement.prototype._indexedDBRemoved):
117953        (WebInspector.IndexedDBTreeElement.prototype._indexedDBLoaded):
117954        (WebInspector.IndexedDBTreeElement.prototype._idbDatabaseTreeElement):
117955        (WebInspector.IDBDatabaseTreeElement):
117956        (WebInspector.IDBDatabaseTreeElement.prototype.update):
117957        (WebInspector.IDBDatabaseTreeElement.prototype.onselect):
117958        (WebInspector.IDBObjectStoreTreeElement):
117959        (WebInspector.IDBObjectStoreTreeElement.prototype.update):
117960        (WebInspector.IDBIndexTreeElement):
117961        (WebInspector.IDBIndexTreeElement.prototype.update):
117962        * inspector/front-end/Settings.js:
117963        (WebInspector.ExperimentsSettings):
117964        * inspector/front-end/WebKit.qrc:
117965        * inspector/front-end/resourcesPanel.css:
117966        (.indexed-db-storage-tree-item .icon):
117967        (.indexed-db-object-store-storage-tree-item .icon):
117968        (.indexed-db-index-storage-tree-item .icon):
117969
1179702012-02-15  Nikolas Zimmermann  <nzimmermann@rim.com>
117971
117972        REGRESSION (Safari 5.0.5 - 5.1): No animation on svg-wow.org/text-effects/text-effects.xhtml
117973        https://bugs.webkit.org/show_bug.cgi?id=65072
117974
117975        Reviewed by Zoltan Herczeg.
117976
117977        Fix EMS/EXS length resolving, when the target context has no renderer, eg.
117978        <text display="none" dy="1em">ABC</text>, myText.dy.baseVal.getItem(0).value()
117979        currently throws, even if <text> has a parent, we could use to resolve the length.
117980
117981        Always fall-back to parent context, to resolve EMS/EXS units, instead of ignoring it.
117982        The current behaviour stays the same, if the target element is not in the document,
117983        then we really can't resolve lengths like this.
117984
117985        Tests: svg/text/ems-display-none.svg
117986               svg/text/exs-display-none.svg
117987
117988        * svg/SVGLengthContext.cpp:
117989        (WebCore::renderStyleForLengthResolving):
117990        (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
117991        (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
117992        (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
117993        (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
117994
1179952012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
117996
117997        Build fix for Qt 5 without QtWidgets.
117998
117999        Reviewed by Tor Arne Vestbø.
118000
118001        The reason why QGLContext is included in Extensions3DQt.cpp is to
118002        achieve an implicit gl.h inclusion (needed for GL_FALSE). This patch
118003        replaces the inclusion with the OpenGLShims.h inclusions, which has
118004        the necessary #ifdefs in place to pull in gl.h with Qt 5 without QtWidgets.
118005
118006        * platform/graphics/qt/Extensions3DQt.cpp:
118007
1180082012-02-16  Shawn Singh  <shawnsingh@chromium.org>
118009
118010        [chromium] Refactor CCLayerTreeHostCommon: create helper function for complex boolean condition
118011        https://bugs.webkit.org/show_bug.cgi?id=78539
118012
118013        Reviewed by James Robinson.
118014
118015        This change should introduce no change in behavior, and its
118016        expected behavior is already covered by existing tests.
118017
118018        In calculateDrawTransformsAndVisibility, there is a complex
118019        boolean condition that indicates whether we should create a
118020        RenderSurface or not. This patch pulls out that boolean logic,
118021        and wraps it in a helper function for much better readability.
118022
118023        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
118024        (WebCore::layerShouldBeSkipped):
118025        (WebCore):
118026        (WebCore::subtreeShouldRenderToSeparateSurface):
118027        (WebCore::calculateDrawTransformsAndVisibilityInternal):
118028
1180292012-02-16  Andrey Kosyakov  <caseq@chromium.org>
118030
118031        Web Inspector: [refactoring] move timeline overview sidebar creation to TimelineOverviewPane
118032        https://bugs.webkit.org/show_bug.cgi?id=78782
118033
118034        Reviewed by Vsevolod Vlasov.
118035
118036        * inspector/front-end/TimelineOverviewPane.js:
118037        (WebInspector.TimelineOverviewPane):
118038        (WebInspector.TimelineOverviewPane.prototype.showTimelines):
118039        (WebInspector.TimelineOverviewPane.prototype.showMemoryGraph):
118040        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
118041        * inspector/front-end/TimelinePanel.js:
118042        (WebInspector.TimelinePanel):
118043        (WebInspector.TimelinePanel.prototype.sidebarResized):
118044
1180452012-02-15  Andreas Kling  <awesomekling@apple.com>
118046
118047        Share font-family CSS values through CSSValuePool.
118048        <http://webkit.org/b/78604>
118049
118050        Reviewed by Darin Adler.
118051
118052        Cache and share FontFamilyValue instances in the per-document CSSValuePool.
118053        This reduces memory consumption by 248 kB on the Moz page cycler (64-bit)
118054        and avoids a bunch of extra work.
118055
118056        This is a regression from the recent attribute style refactoring; previously
118057        the mapped attribute declaration table would ensure that multiple 'font'
118058        elements with the same 'face' value would share the same FontFamilyValue.
118059
118060        We're not yet sharing the entire CSSValueList returned by parseFontFamily()
118061        but this is a step on the way there.
118062
118063        * css/FontFamilyValue.cpp:
118064        * css/FontFamilyValue.h:
118065
118066            Removed appendSpaceSeparated(), making FontFamilyValue immutable.
118067
118068        * css/CSSParser.cpp:
118069        (FontFamilyValueBuilder):
118070        (WebCore::FontFamilyValueBuilder::FontFamilyValueBuilder):
118071        (WebCore::FontFamilyValueBuilder::add):
118072        (WebCore::FontFamilyValueBuilder::commit):
118073        (WebCore::CSSParser::parseFontFamily):
118074
118075            Refactor parseFontFamily() to defer creation of FontFamilyValue until
118076            the whole family name is known. Added a little helper class to avoid
118077            code duplication.
118078
118079        * css/CSSValuePool.h:
118080        * css/CSSValuePool.cpp:
118081        (WebCore::CSSValuePool::createFontFamilyValue):
118082
118083            Added a FontFamilyValue cache to CSSValuePool. All values are tied to
118084            the lifetime of the pool.
118085
1180862012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
118087
118088        [Qt] Move event conversion functions from WebCore to WebKit
118089        https://bugs.webkit.org/show_bug.cgi?id=78788
118090
118091        Reviewed by Kenneth Rohde Christiansen.
118092
118093        Move QtWidgets dependent mouse event constructors out of WebCore
118094        into WebKit, similar to the web event conversions of WebKit2.
118095
118096        * Target.pri:
118097        * platform/PlatformMouseEvent.h:
118098        (PlatformMouseEvent):
118099        * platform/PlatformWheelEvent.h:
118100        (PlatformWheelEvent):
118101
1181022012-02-16  Simon Hausmann  <simon.hausmann@nokia.com>
118103
118104        Unreviewed prospective Qt 4.8/Mac build fix.
118105
118106        Cast the PlatformWidget from QObject* to QWidget* to gain access
118107        to QWidget methods.
118108
118109        * plugins/mac/PluginViewMac.mm:
118110        (WebCore::nativeWindowFor):
118111        (WebCore::cgHandleFor):
118112        (WebCore::topLevelOffsetFor):
118113        (WebCore::PluginView::setFocus):
118114        (WebCore::PluginView::invalidateRect):
118115
1181162012-02-16  Roland Steiner  <rolandsteiner@chromium.org>
118117
118118        <style scoped>: Implement scoped selector matching in the slow path
118119        https://bugs.webkit.org/show_bug.cgi?id=77528
118120
118121        Added scope information to SelectorCheckingContext, SelectorChecker methods and CSSStyleSelector methods.
118122        Added matchOptions struct to CSSStyleSelector similar to SelectorCheckingContext in SelectorChecker.
118123        Adapted the calling sites.
118124
118125        Reviewed by Antti Koivisto.
118126
118127        No new tests. (extended existing tests)
118128
118129        * css/CSSStyleSelector.cpp:
118130        (RuleData):
118131        (RuleSet):
118132        (WebCore::CSSStyleSelector::determineScopingElement):
118133        (WebCore::CSSStyleSelector::collectMatchingRules):
118134        (WebCore::CSSStyleSelector::collectMatchingRulesForRegion):
118135        (WebCore::CSSStyleSelector::matchScopedAuthorRules):
118136        (WebCore::CSSStyleSelector::matchAuthorRules):
118137        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
118138        * css/CSSStyleSelector.h:
118139        (CSSStyleSelector):
118140        (MatchOptions):
118141        (WebCore::CSSStyleSelector::MatchOptions::MatchOptions):
118142        * css/SelectorChecker.cpp:
118143        (WebCore::SelectorChecker::checkSelector):
118144        * css/SelectorChecker.h:
118145        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
118146        (SelectorCheckingContext):
118147        (SelectorChecker):
118148
1181492012-02-15  Patrick Gansterer  <paroga@webkit.org>
118150
118151        Windows build fix for !ENABLE(CSS_FILTERS) after r106593.
118152
118153        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
118154
1181552012-02-15  Antti Koivisto  <antti@apple.com>
118156
118157        Move the context invalidation code out from StylePropertySet
118158        https://bugs.webkit.org/show_bug.cgi?id=78589
118159
118160        Reviewed by Ryosuke Niwa.
118161
118162        StylePropertySet should be independent of its context so that they can in the future
118163        be shared between documents. The context invalidation code should move to the CSSOM wrapper.
118164        
118165        Parent rule and parent element pointers move to the CSSOM wrapper classes. 
118166        
118167        The wrapper is responsible of invalidating the element or document style on mutation.
118168        In case of internal mutation of style attribute, StyledElement takes care of the 
118169        invalidation.
118170        
118171        The StylePropertySet will still have a pointer to the context stylesheet so the patch
118172        doesn't actually reduce memory usage. That pointer will be factored out later.
118173
118174        * css/CSSFontFaceRule.cpp:
118175        (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
118176        * css/CSSFontFaceRule.h:
118177        (WebCore::CSSFontFaceRule::style):
118178        * css/CSSPageRule.cpp:
118179        (WebCore::CSSPageRule::~CSSPageRule):
118180        * css/CSSPageRule.h:
118181        (WebCore::CSSPageRule::style):
118182        (WebCore::CSSPageRule::setDeclaration):
118183        * css/CSSParser.cpp:
118184        (WebCore::CSSParser::createStyleRule):
118185        (WebCore::CSSParser::createFontFaceRule):
118186        (WebCore::CSSParser::createPageRule):
118187        (WebCore::CSSParser::createKeyframeRule):
118188        * css/CSSStyleRule.cpp:
118189        (WebCore::CSSStyleRule::~CSSStyleRule):
118190        * css/CSSStyleRule.h:
118191        (WebCore::CSSStyleRule::style):
118192        (WebCore::CSSStyleRule::setDeclaration):
118193        * css/StylePropertySet.cpp:
118194        (PropertySetCSSStyleDeclaration):
118195        (WebCore::PropertySetCSSStyleDeclaration::parentElement):
118196        (WebCore::PropertySetCSSStyleDeclaration::clearParentRule):
118197        (WebCore::PropertySetCSSStyleDeclaration::clearParentElement):
118198        (WebCore::PropertySetCSSStyleDeclaration::setNeedsStyleRecalc):
118199        (RuleCSSStyleDeclaration):
118200        (WebCore::RuleCSSStyleDeclaration::RuleCSSStyleDeclaration):
118201        (WebCore::RuleCSSStyleDeclaration::parentRule):
118202        (WebCore::RuleCSSStyleDeclaration::clearParentRule):
118203        (WebCore):
118204        (InlineCSSStyleDeclaration):
118205        (WebCore::InlineCSSStyleDeclaration::InlineCSSStyleDeclaration):
118206        (WebCore::InlineCSSStyleDeclaration::parentElement):
118207        (WebCore::InlineCSSStyleDeclaration::clearParentElement):
118208        (WebCore::StylePropertySet::StylePropertySet):
118209        (WebCore::StylePropertySet::removeShorthandProperty):
118210        (WebCore::StylePropertySet::removeProperty):
118211        (WebCore::StylePropertySet::setProperty):
118212        (WebCore::StylePropertySet::parseDeclaration):
118213        (WebCore::StylePropertySet::addParsedProperties):
118214        (WebCore::StylePropertySet::addParsedProperty):
118215        (WebCore::StylePropertySet::merge):
118216        (WebCore::StylePropertySet::removePropertiesInSet):
118217        (WebCore::StylePropertySet::copy):
118218        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
118219        (WebCore::StylePropertySet::ensureRuleCSSStyleDeclaration):
118220        (WebCore::StylePropertySet::ensureInlineCSSStyleDeclaration):
118221        (WebCore::StylePropertySet::clearParentRule):
118222        (WebCore::StylePropertySet::clearParentElement):
118223        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
118224        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
118225        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
118226        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
118227        (WebCore::RuleCSSStyleDeclaration::setNeedsStyleRecalc):
118228        (WebCore::InlineCSSStyleDeclaration::setNeedsStyleRecalc):
118229        * css/StylePropertySet.h:
118230        (WebCore::StylePropertySet::create):
118231        (StylePropertySet):
118232        (WebCore::StylePropertySet::useStrictParsing):
118233        (WebCore::StylePropertySet::contextStyleSheet):
118234        (WebCore::StylePropertySet::setContextStyleSheet):
118235        * css/WebKitCSSKeyframeRule.cpp:
118236        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
118237        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
118238        * css/WebKitCSSKeyframeRule.h:
118239        (WebCore::WebKitCSSKeyframeRule::style):
118240        * dom/ElementAttributeData.cpp:
118241        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
118242        (WebCore::ElementAttributeData::destroyInlineStyleDecl):
118243        * dom/ElementAttributeData.h:
118244        (ElementAttributeData):
118245        * dom/StyledElement.cpp:
118246        (WebCore::StyledElement::insertedIntoDocument):
118247        (WebCore):
118248        (WebCore::StyledElement::removedFromDocument):
118249        (WebCore::StyledElement::parseAttribute):
118250        (WebCore::StyledElement::inlineStyleChanged):
118251        (WebCore::StyledElement::setInlineStyleProperty):
118252        (WebCore::StyledElement::removeInlineStyleProperty):
118253        (WebCore::StyledElement::updateAttributeStyle):
118254        * dom/StyledElement.h:
118255        (StyledElement):
118256        (WebCore::StyledElement::destroyInlineStyleDecl):
118257        * editing/ApplyStyleCommand.cpp:
118258        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
118259        * editing/DeleteButtonController.cpp:
118260        (WebCore::DeleteButtonController::createDeletionUI):
118261        (WebCore::DeleteButtonController::show):
118262        (WebCore::DeleteButtonController::hide):
118263        * editing/Editor.cpp:
118264        (WebCore::Editor::applyEditingStyleToElement):
118265        * editing/RemoveCSSPropertyCommand.cpp:
118266        (WebCore::RemoveCSSPropertyCommand::doApply):
118267        (WebCore::RemoveCSSPropertyCommand::doUnapply):
118268        * editing/ReplaceSelectionCommand.cpp:
118269        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
118270        * html/ColorInputType.cpp:
118271        (WebCore::ColorInputType::updateColorSwatch):
118272        * html/HTMLTextFormControlElement.cpp:
118273        (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
118274        * html/ImageDocument.cpp:
118275        (WebCore::ImageDocument::resizeImageToFit):
118276        (WebCore::ImageDocument::restoreImageSize):
118277        (WebCore::ImageDocument::windowSizeChanged):
118278        * html/ValidationMessage.cpp:
118279        (WebCore::adjustBubblePosition):
118280        (WebCore::ValidationMessage::buildBubbleTree):
118281        * html/shadow/MediaControlElements.cpp:
118282        (WebCore::MediaControlElement::show):
118283        (WebCore::MediaControlElement::hide):
118284        (WebCore::MediaControlPanelElement::setPosition):
118285        (WebCore::MediaControlPanelElement::resetPosition):
118286        (WebCore::MediaControlPanelElement::makeOpaque):
118287        (WebCore::MediaControlPanelElement::makeTransparent):
118288        (WebCore::MediaControlInputElement::show):
118289        (WebCore::MediaControlInputElement::hide):
118290        (WebCore::MediaControlTextTrackContainerElement::updateSizes):
118291        * html/shadow/MeterShadowElement.cpp:
118292        (WebCore::MeterValueElement::setWidthPercentage):
118293        * html/shadow/ProgressShadowElement.cpp:
118294        (WebCore::ProgressValueElement::setWidthPercentage):
118295        * html/shadow/SliderThumbElement.cpp:
118296        (WebCore::TrackLimiterElement::create):
118297        * rendering/RenderLayer.cpp:
118298        (WebCore::RenderLayer::resize):
118299        * rendering/RenderTextControlSingleLine.cpp:
118300        (WebCore::RenderTextControlSingleLine::styleDidChange):
118301        * svg/SVGFontFaceElement.cpp:
118302        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
118303        (WebCore::SVGFontFaceElement::insertedIntoDocument):
118304        (WebCore::SVGFontFaceElement::removeFromMappedElementSheet):
118305
1183062012-02-15  Daniel Cheng  <dcheng@chromium.org>
118307
118308        dataTransfer.types (HTML5 drag & drop) should return DOMStringList
118309        https://bugs.webkit.org/show_bug.cgi?id=30416
118310
118311        Reviewed by Eric Seidel.
118312
118313        This change breaks backwards compatibility; however, since Firefox only supported
118314        event.dataTransfer.types.contains, sites already needed to check whether to use contains or
118315        indexOf. Therefore, the net compatibility effect of this change should be minimal.
118316
118317        Test: fast/events/drag-dataTransfer-live-attributes.html
118318
118319        * bindings/js/JSClipboardCustom.cpp:
118320        (WebCore):
118321        * bindings/v8/custom/V8ClipboardCustom.cpp:
118322        * dom/Clipboard.cpp:
118323        (WebCore::Clipboard::hasStringOfType):
118324        * dom/Clipboard.h:
118325        (WebCore):
118326        (Clipboard):
118327        * dom/Clipboard.idl:
118328        * platform/blackberry/ClipboardBlackBerry.cpp:
118329        (WebCore::ClipboardBlackBerry::types):
118330        * platform/blackberry/ClipboardBlackBerry.h:
118331        (ClipboardBlackBerry):
118332        * platform/chromium/ChromiumDataObject.cpp:
118333        (WebCore::ChromiumDataObject::types):
118334        * platform/chromium/ChromiumDataObject.h:
118335        (ChromiumDataObject):
118336        * platform/chromium/ClipboardChromium.cpp:
118337        (WebCore::ClipboardChromium::types):
118338        (WebCore::ClipboardChromium::mayUpdateItems):
118339        * platform/chromium/ClipboardChromium.h:
118340        (ClipboardChromium):
118341        * platform/chromium/DragDataChromium.cpp:
118342        (WebCore::containsHTML):
118343        (WebCore::DragData::containsURL):
118344        (WebCore::DragData::asURL):
118345        (WebCore::DragData::containsPlainText):
118346        (WebCore::DragData::canSmartReplace):
118347        (WebCore::DragData::asFragment):
118348        * platform/efl/ClipboardEfl.cpp:
118349        (WebCore::ClipboardEfl::types):
118350        * platform/efl/ClipboardEfl.h:
118351        (ClipboardEfl):
118352        * platform/gtk/ClipboardGtk.cpp:
118353        (WebCore::ClipboardGtk::types):
118354        * platform/gtk/ClipboardGtk.h:
118355        (ClipboardGtk):
118356        * platform/mac/ClipboardMac.h:
118357        (ClipboardMac):
118358        * platform/mac/ClipboardMac.mm:
118359        (WebCore::addHTMLClipboardTypesForCocoaType):
118360        (WebCore::ClipboardMac::types):
118361        * platform/qt/ClipboardQt.cpp:
118362        (WebCore::ClipboardQt::types):
118363        * platform/qt/ClipboardQt.h:
118364        (ClipboardQt):
118365        * platform/win/ClipboardWin.cpp:
118366        (WebCore::addMimeTypesForFormat):
118367        (WebCore::ClipboardWin::types):
118368        * platform/win/ClipboardWin.h:
118369        (ClipboardWin):
118370        * platform/wx/ClipboardWx.cpp:
118371        (WebCore::ClipboardWx::types):
118372        * platform/wx/ClipboardWx.h:
118373        (ClipboardWx):
118374
1183752012-02-15  Bear Travis  <betravis@adobe.com>
118376
118377        Repaint issues on changing 'viewBox' of inner SVG
118378        https://bugs.webkit.org/show_bug.cgi?id=77903
118379
118380        Reviewed by Nikolas Zimmermann.
118381
118382        Do not update the child viewbox/viewport transform to its parent
118383        coordinate system until after layout has stored the old bounds for
118384        repainting purposes.
118385        
118386        Test: svg/repaint/inner-svg-change-viewBox-contract.svg
118387
118388        * rendering/svg/RenderSVGViewportContainer.cpp:
118389        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
118390        (WebCore::RenderSVGViewportContainer::calcViewport):
118391        (WebCore):
118392        (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
118393        (WebCore::RenderSVGViewportContainer::localToParentTransform):
118394        * rendering/svg/RenderSVGViewportContainer.h:
118395        (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
118396        (RenderSVGViewportContainer):
118397        * svg/SVGSVGElement.cpp:
118398        (WebCore::SVGSVGElement::svgAttributeChanged):
118399
1184002012-02-15  Bear Travis  <betravis@adobe.com>
118401
118402        Repaint issues on changing 'viewBox' of inner SVG
118403        https://bugs.webkit.org/show_bug.cgi?id=77903
118404
118405        Reviewed by Nikolas Zimmermann.
118406
118407        Do not update the child viewbox/viewport transform to its parent
118408        coordinate system until after layout has stored the old bounds for
118409        repainting purposes.
118410        
118411        Test: svg/repaint/inner-svg-change-viewBox-contract.svg
118412
118413        * rendering/svg/RenderSVGViewportContainer.cpp:
118414        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
118415        (WebCore::RenderSVGViewportContainer::calcViewport):
118416        (WebCore):
118417        (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
118418        (WebCore::RenderSVGViewportContainer::localToParentTransform):
118419        * rendering/svg/RenderSVGViewportContainer.h:
118420        (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
118421        (RenderSVGViewportContainer):
118422        * svg/SVGSVGElement.cpp:
118423        (WebCore::SVGSVGElement::svgAttributeChanged):
118424
1184252012-02-15  Daniel Cheng  <dcheng@chromium.org>
118426
118427        dataTransfer.types (HTML5 drag & drop) should return DOMStringList
118428        https://bugs.webkit.org/show_bug.cgi?id=30416
118429
118430        Reviewed by Eric Seidel.
118431
118432        This change breaks backwards compatibility; however, since Firefox only supported
118433        event.dataTransfer.types.contains, sites already needed to check whether to use contains or
118434        indexOf. Therefore, the net compatibility effect of this change should be minimal.
118435
118436        Test: fast/events/drag-dataTransfer-live-attributes.html
118437
118438        * bindings/js/JSClipboardCustom.cpp:
118439        (WebCore):
118440        * bindings/v8/custom/V8ClipboardCustom.cpp:
118441        * dom/Clipboard.cpp:
118442        (WebCore::Clipboard::hasStringOfType):
118443        * dom/Clipboard.h:
118444        (WebCore):
118445        (Clipboard):
118446        * dom/Clipboard.idl:
118447        * platform/blackberry/ClipboardBlackBerry.cpp:
118448        (WebCore::ClipboardBlackBerry::types):
118449        * platform/blackberry/ClipboardBlackBerry.h:
118450        (ClipboardBlackBerry):
118451        * platform/chromium/ChromiumDataObject.cpp:
118452        (WebCore::ChromiumDataObject::types):
118453        * platform/chromium/ChromiumDataObject.h:
118454        (ChromiumDataObject):
118455        * platform/chromium/ClipboardChromium.cpp:
118456        (WebCore::ClipboardChromium::types):
118457        (WebCore::ClipboardChromium::mayUpdateItems):
118458        * platform/chromium/ClipboardChromium.h:
118459        (ClipboardChromium):
118460        * platform/chromium/DragDataChromium.cpp:
118461        (WebCore::containsHTML):
118462        (WebCore::DragData::containsURL):
118463        (WebCore::DragData::asURL):
118464        (WebCore::DragData::containsPlainText):
118465        (WebCore::DragData::canSmartReplace):
118466        (WebCore::DragData::asFragment):
118467        * platform/efl/ClipboardEfl.cpp:
118468        (WebCore::ClipboardEfl::types):
118469        * platform/efl/ClipboardEfl.h:
118470        (ClipboardEfl):
118471        * platform/gtk/ClipboardGtk.cpp:
118472        (WebCore::ClipboardGtk::types):
118473        * platform/gtk/ClipboardGtk.h:
118474        (ClipboardGtk):
118475        * platform/mac/ClipboardMac.h:
118476        (ClipboardMac):
118477        * platform/mac/ClipboardMac.mm:
118478        (WebCore::addHTMLClipboardTypesForCocoaType):
118479        (WebCore::ClipboardMac::types):
118480        * platform/qt/ClipboardQt.cpp:
118481        (WebCore::ClipboardQt::types):
118482        * platform/qt/ClipboardQt.h:
118483        (ClipboardQt):
118484        * platform/win/ClipboardWin.cpp:
118485        (WebCore::addMimeTypesForFormat):
118486        (WebCore::ClipboardWin::types):
118487        * platform/win/ClipboardWin.h:
118488        (ClipboardWin):
118489        * platform/wx/ClipboardWx.cpp:
118490        (WebCore::ClipboardWx::types):
118491        * platform/wx/ClipboardWx.h:
118492        (ClipboardWx):
118493
1184942012-02-15  Bear Travis  <betravis@adobe.com>
118495
118496        Repaint issues on changing 'viewBox' of inner SVG
118497        https://bugs.webkit.org/show_bug.cgi?id=77903
118498
118499        Reviewed by Nikolas Zimmermann.
118500
118501        Do not update the child viewbox/viewport transform to its parent
118502        coordinate system until after layout has stored the old bounds for
118503        repainting purposes.
118504        
118505        Test: svg/repaint/inner-svg-change-viewBox-contract.svg
118506
118507        * rendering/svg/RenderSVGViewportContainer.cpp:
118508        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer):
118509        (WebCore::RenderSVGViewportContainer::calcViewport):
118510        (WebCore):
118511        (WebCore::RenderSVGViewportContainer::calculateLocalTransform):
118512        (WebCore::RenderSVGViewportContainer::localToParentTransform):
118513        * rendering/svg/RenderSVGViewportContainer.h:
118514        (WebCore::RenderSVGViewportContainer::setNeedsTransformUpdate):
118515        (RenderSVGViewportContainer):
118516        * svg/SVGSVGElement.cpp:
118517        (WebCore::SVGSVGElement::svgAttributeChanged):
118518
1185192012-02-15  Anders Carlsson  <andersca@apple.com>
118520
118521        Fix unused parameter warnings.
118522
118523        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
118524        (-[WebTileCacheLayer setContentsScale:]):
118525
1185262012-02-15  Emil A Eklund  <eae@chromium.org>
118527
118528        Convert RenderFrameSet to LayoutUnits in preparation for turning on subpixel layout
118529        https://bugs.webkit.org/show_bug.cgi?id=78526
118530
118531        Reviewed by Eric Seidel.
118532
118533        Revert paintColumnBorder and paintRowBorder to IntRect and pixel snap in
118534        paint before calling them. This way the rounding logic is contained in a
118535        single place (in paint).
118536
118537        No new tests, no new functionality.
118538
118539        * rendering/RenderFrameSet.cpp:
118540        (WebCore::RenderFrameSet::paintColumnBorder):
118541        (WebCore::RenderFrameSet::paintRowBorder):
118542        (WebCore::RenderFrameSet::paint):
118543        (WebCore::RenderFrameSet::getCursor):
118544        * rendering/RenderFrameSet.h:
118545        (RenderFrameSet):
118546
1185472012-02-15  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
118548
118549        Add FractionalLayoutPoint/Size/Rect for sub-pixel layout
118550        https://bugs.webkit.org/show_bug.cgi?id=76571
118551
118552        Reviewed by Eric Seidel.
118553
118554        Add fixed point versions of the Point, Size and Rect classes using
118555        the new FractionalLayoutPoint type and.
118556
118557        FractionalLayoutPoint, FractionalLayoutSize and FractionalLayoutRect are
118558        Point, Size and Rect implementations respectively using this new type.
118559
118560        No new tests.
118561
118562        * CMakeLists.txt:
118563        * GNUmakefile.list.am:
118564        * WebCore.gypi:
118565        * WebCore.order:
118566        * WebCore.vcproj/WebCore.vcproj:
118567        * WebCore.xcodeproj/project.pbxproj:
118568        * platform/FractionalLayoutUnit.h:
118569        Fixed a couple of typos and signed/unsigned bugs.
118570
118571        * platform/graphics/FloatPoint.cpp:
118572        (WebCore::FloatPoint::FloatPoint):
118573        Add explicit FloatPoint(FractionalLayoutPoint) constructor.
118574        
118575        (WebCore::FloatPoint::move):
118576        Add move(FractionalLayoutSize) implementation.
118577        
118578        (WebCore::FloatPoint::moveBy):
118579        Add moveBy(FractionalLayoutPoint) implementation.
118580
118581        * platform/graphics/FloatPoint.h:
118582        * platform/graphics/FloatRect.cpp:
118583        (WebCore::FloatRect::FloatRect):
118584        Add explicit FloatRectFractionalLayoutRect) constructor.
118585        
118586        * platform/graphics/FloatRect.h:
118587        (WebCore):
118588        (FloatRect):
118589        * platform/graphics/FloatSize.cpp:
118590        (WebCore::FloatSize::FloatSize):
118591        Add explicit FloatSize(FractionalLayoutSize) constructor.
118592
118593        * platform/graphics/FloatSize.h:
118594        * platform/graphics/FractionalLayoutPoint.h: Added.
118595        * platform/graphics/FractionalLayoutRect.cpp: Added.
118596        * platform/graphics/FractionalLayoutRect.h: Added.
118597        * platform/graphics/FractionalLayoutSize.cpp: Added.
118598        * platform/graphics/FractionalLayoutSize.h: Added.
118599        * platform/graphics/IntRect.cpp:
118600        (WebCore::IntRect::IntRect):
118601        Add explicit IntRect(FractionalLayoutRect) constructor.
118602
118603        * platform/graphics/IntRect.h:
118604
1186052012-02-15  Kentaro Hara  <haraken@chromium.org>
118606
118607        [Mac] PasteboardMac.mm build fails
118608        https://bugs.webkit.org/show_bug.cgi?id=78655
118609
118610        Reviewed by Enrica Casucci.
118611
118612        This patch fixes the code to make a plain text for pasted file names.
118613        The code should return a string of concatenated file names.
118614
118615        Test: editing/pasteboard/drag-files-to-editable-element.html
118616
118617        * platform/mac/PasteboardMac.mm:
118618        (WebCore::Pasteboard::plainText):
118619
1186202012-02-15  Anders Carlsson  <andersca@apple.com>
118621
118622        Another attempt at fixing the Snow Leopard build.
118623
118624        * platform/graphics/ca/mac/TileCache.mm:
118625        (WebCore::TileCache::setContentsScale):
118626
1186272012-02-15  Pablo Flouret  <pablof@motorola.com>
118628
118629        Add support for the translate attribute in html elements.
118630        https://bugs.webkit.org/show_bug.cgi?id=78751
118631
118632        Reviewed by Adam Barth.
118633
118634        The translate attribute is used to specify whether an element's
118635        attribute values and the values of its Text node children are to be
118636        translated when the page is localized, or whether to leave them
118637        unchanged.
118638
118639        Details at http://www.whatwg.org/specs/web-apps/current-work/multipage/elements.html#attr-translate
118640
118641        Test: fast/dom/HTMLElement/translate.html
118642
118643        * html/HTMLAttributeNames.in:
118644        * html/HTMLElement.cpp:
118645        (WebCore::HTMLElement::translateAttributeMode):
118646        (WebCore):
118647        (WebCore::HTMLElement::translate):
118648        (WebCore::HTMLElement::setTranslate):
118649        * html/HTMLElement.h:
118650        (HTMLElement):
118651        * html/HTMLElement.idl:
118652
1186532012-02-15  Sami Kyostila  <skyostil@google.com>
118654
118655        Add -webkit-overflow-scrolling CSS property
118656        https://bugs.webkit.org/show_bug.cgi?id=78664
118657
118658        Reviewed by Eric Seidel.
118659
118660        Add a CSS property indicating that an element with overflow scrolling
118661        should follow the platform's behavior for touch scrollable user
118662        interface objects. For instance, this property could enable momentum
118663        scrolling for the element if that is the platform convention.
118664
118665        The property has two possible values: auto (default) and touch. The
118666        former does not alter overflow scrolling behavior, while the latter
118667        activates touch scrolling.
118668
118669        As a side effect, enabling touch scrolling also causes an element to
118670        gain a stacking context. This is to allow the implementation to promote
118671        the scrolling contents into a render layer, which can be translated more
118672        efficiently.
118673
118674        This property was introduced with iOS 5 WebKit. Another implementation
118675        is in Chrome for Android.
118676
118677        Test: platform/chromium/compositing/overflow/overflow-scrolling-touch-stacking-context.html
118678
118679        * css/CSSComputedStyleDeclaration.cpp:
118680        (WebCore):
118681        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
118682        * css/CSSParser.cpp:
118683        (WebCore::CSSParser::parseValue):
118684        * css/CSSProperty.cpp:
118685        (WebCore::CSSProperty::isInheritedProperty):
118686        * css/CSSPropertyNames.in:
118687        * css/CSSStyleSelector.cpp:
118688        (WebCore::CSSStyleSelector::adjustRenderStyle):
118689        (WebCore::CSSStyleSelector::applyProperty):
118690        * css/CSSValueKeywords.in:
118691        * rendering/style/RenderStyle.h:
118692        * rendering/style/StyleRareInheritedData.cpp:
118693        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
118694        (WebCore::StyleRareInheritedData::operator==):
118695        * rendering/style/StyleRareInheritedData.h:
118696        (StyleRareInheritedData):
118697
1186982012-02-15  Levi Weintraub  <leviw@chromium.org>
118699
118700        Add zeroLayoutUnit constant.
118701        https://bugs.webkit.org/show_bug.cgi?id=78747
118702
118703        Reviewed by Eric Seidel.
118704
118705        Converting call sites where LayoutUnits and raw zeros are in ternary operations
118706        and templatized function calls (like std::max and min) to use a new zeroLayoutUnit
118707        constant instead of the raw zero.
118708
118709        No new tests. No change in behavior.
118710
118711        * rendering/InlineFlowBox.cpp:
118712        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
118713        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
118714        (WebCore::InlineFlowBox::paintFillLayer):
118715        (WebCore::InlineFlowBox::paintBoxDecorations):
118716        (WebCore::InlineFlowBox::paintMask):
118717        (WebCore::InlineFlowBox::computeOverAnnotationAdjustment):
118718        * rendering/LayoutTypes.h:
118719        (WebCore):
118720        * rendering/RenderBlock.cpp:
118721        (WebCore::RenderBlock::MarginInfo::MarginInfo):
118722        (WebCore::RenderBlock::adjustFloatingBlock):
118723        (WebCore::RenderBlock::paintColumnRules):
118724        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
118725        (WebCore::RenderBlock::getClearDelta):
118726        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
118727        (WebCore::getHeightForLineCount):
118728        (WebCore::RenderBlock::adjustForUnsplittableChild):
118729        * rendering/RenderBlock.h:
118730        (WebCore::RenderBlock::paginationStrut):
118731        (WebCore::RenderBlock::pageLogicalOffset):
118732        * rendering/RenderBlockLineLayout.cpp:
118733        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
118734        (WebCore::RenderBlock::addOverflowFromInlineChildren):
118735        * rendering/RenderBox.cpp:
118736        (WebCore::RenderBox::positionForPoint):
118737        * rendering/RenderBox.h:
118738        (WebCore::RenderBox::minYVisualOverflow):
118739        (WebCore::RenderBox::minXVisualOverflow):
118740        (RenderBox):
118741        * rendering/RenderBoxModelObject.cpp:
118742        (WebCore::RenderBoxModelObject::offsetLeft):
118743        (WebCore::RenderBoxModelObject::offsetTop):
118744        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
118745        * rendering/RenderFieldset.cpp:
118746        (WebCore::RenderFieldset::paintBoxDecorations):
118747        * rendering/RenderFileUploadControl.cpp:
118748        (WebCore::nodeWidth):
118749        * rendering/RenderFlowThread.cpp:
118750        (WebCore::RenderFlowThread::layout):
118751        (WebCore::RenderFlowThread::computeLogicalWidth):
118752        * rendering/RenderInline.cpp:
118753        (WebCore::RenderInline::paintOutlineForLine):
118754        * rendering/RenderLayer.cpp:
118755        (WebCore::RenderLayer::resize):
118756        * rendering/RenderListBox.cpp:
118757        (WebCore::RenderListBox::listIndexAtOffset):
118758        (WebCore::RenderListBox::verticalScrollbarWidth):
118759        * rendering/RenderMarquee.cpp:
118760        (WebCore::RenderMarquee::computePosition):
118761        * rendering/RenderObject.cpp:
118762        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
118763        * rendering/RenderReplaced.cpp:
118764        (WebCore::RenderReplaced::computePreferredLogicalWidths):
118765        * rendering/RenderTable.cpp:
118766        (WebCore::RenderTable::convertStyleLogicalWidthToComputedWidth):
118767        (WebCore::RenderTable::layout):
118768        * rendering/RenderTable.h:
118769        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
118770        * rendering/mathml/RenderMathMLSubSup.cpp:
118771        (WebCore::RenderMathMLSubSup::layout):
118772
1187732012-02-15  Alexey Proskuryakov  <ap@apple.com>
118774
118775        Crash after trying to use FileReader in a document with null origin string
118776        https://bugs.webkit.org/show_bug.cgi?id=78649
118777
118778        Reviewed by Enrica Casucci.
118779
118780        Test: fast/files/null-origin-string.html
118781
118782        * fileapi/FileReaderLoader.cpp: (WebCore::FileReaderLoader::~FileReaderLoader):
118783        HashMaps don't like empty keys, and they don't like removing keys that have never been added.
118784
1187852012-02-15  Anders Carlsson  <andersca@apple.com>
118786
118787        Attempt to fix the Snow Leopard build.
118788
118789        * platform/graphics/ca/mac/TileCache.mm:
118790        (WebCore::TileCache::createTileLayer):
118791        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
118792        (-[WebTileCacheLayer setContentsScale:]):
118793
1187942012-02-15  Dan Bernstein  <mitz@apple.com>
118795
118796        REGRESSION (r107836): fast/box-shadow/spread.html and fast/writing-mode/box-shadow-*.html tests failing
118797        https://bugs.webkit.org/show_bug.cgi?id=78759
118798
118799        Reviewed by Simon Fraser.
118800
118801        * rendering/InlineFlowBox.cpp:
118802        (WebCore::InlineFlowBox::boxShadowCanBeAppliedToBackground): Added. Returns false if
118803        paintFillLayer() would push a clip before painting the layer, thus preventing it from casting
118804        its own shadow.
118805        (WebCore::InlineFlowBox::paintBoxDecorations): Pass this as an additional parameter to
118806        boxShadowShouldBeAppliedToBackground().
118807        * rendering/InlineFlowBox.h:
118808        * rendering/RenderBoxModelObject.cpp:
118809        (WebCore::RenderBoxModelObject::paintFillLayerExtended): Pass the InlineFlowBox along to
118810        boxShadowShouldBeAppliedToBackground().
118811        (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added an InlineFlowBox
118812        parameter. If non-0, check boxShadowCanBeAppliedToBackground(). Also check for shadow spread,
118813        and for the case of border radius with a background image, in which paintFillLayerExtended uses
118814        clipping. Finally, fixed a bug in the for() loop for finding the last background layer which
118815        was noticed by Tony Chang.
118816        * rendering/RenderBoxModelObject.h:
118817        * rendering/RenderTableCell.cpp:
118818        (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground):
118819        * rendering/RenderTableCell.h:
118820
1188212012-02-15  Erik Arvidsson  <arv@chromium.org>
118822
118823        Expose Window constructor
118824        https://bugs.webkit.org/show_bug.cgi?id=78722
118825
118826        Reviewed by Adam Barth.
118827
118828        Test: fast/dom/Window/window-constructor-presence.html
118829
118830        * page/DOMWindow.idl:
118831
1188322012-02-15  Kelly Norton  <knorton@google.com>
118833
118834        fill-opacity does not render properly only on Chromium Mac.
118835        https://bugs.webkit.org/show_bug.cgi?id=78624
118836
118837        Reviewed by Stephen White.
118838
118839        Test: svg/text/text-fill-opacity.svg
118840
118841        * platform/graphics/skia/FontSkia.cpp:
118842        (WebCore::Font::drawGlyphs):
118843
1188442012-02-15  Leo Yang  <leo.yang@torchmobile.com.cn>
118845
118846        [BlackBerry] Upstream WebPageClient.h
118847        https://bugs.webkit.org/show_bug.cgi?id=78660
118848
118849        Reviewed by Antonio Gomes.
118850
118851        Header inclusion fix, no new test.
118852
118853        * plugins/blackberry/PluginViewPrivateBlackBerry.h:
118854        Add #include <BlackBerryPlatformIntRectRegion.h>
118855        and #include <BlackBerryPlatformGraphics.h> because they
118856        are being removed from WebKit/blackberry/Api/WebPageClient.h.
118857
1188582012-02-15  Tim Horton  <timothy_horton@apple.com>
118859
118860        REGRESSION(r105057): Dynamically changing <tspan> offsets is broken
118861        https://bugs.webkit.org/show_bug.cgi?id=78385
118862        <rdar://problem/10832932>
118863
118864        Reviewed by Simon Fraser.
118865
118866        Don't short-circuit buildLayoutAttributesIfNeeded if m_textPositions is already full;
118867        we can't skip rebuilding the layout attributes, just walking the tree to acquire the
118868        positioning lists (invalidation of positioning lists is already covered by textDOMChanged).
118869
118870        Test: svg/text/tspan-dynamic-positioning.svg
118871
118872        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
118873        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded):
118874
1188752012-02-15  Tommy Widenflycht  <tommyw@google.com>
118876
118877        MediaStream API: Removing SecurityContext from the embedder API
118878        https://bugs.webkit.org/show_bug.cgi?id=73816
118879
118880        Reviewed by Darin Fisher.
118881
118882        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
118883
118884        * mediastream/PeerConnection.cpp:
118885        (WebCore::PeerConnection::PeerConnection):
118886        * platform/mediastream/PeerConnectionHandler.h:
118887        (WebCore):
118888        (PeerConnectionHandler):
118889        * platform/mediastream/gstreamer/PeerConnectionHandler.cpp:
118890        (WebCore::PeerConnectionHandler::create):
118891        (WebCore::PeerConnectionHandler::PeerConnectionHandler):
118892
1188932012-02-15  Nate Chapin  <japhet@chromium.org>
118894
118895        Fix test regressons from r107672.
118896        https://bugs.webkit.org/show_bug.cgi?id=76564
118897
118898        Move setting CachedRawResource::m_identifer from
118899        data() to setResponse(). WorkerScriptLoader depends
118900        on the identifier being set correctly during setResponse()
118901        in order to correctly mark itself as a ScriptResource in
118902        the inspector.
118903
118904        Reviewed by Adam Barth.
118905
118906        Fixes several worker script loading tests.
118907
118908        * loader/cache/CachedRawResource.cpp:
118909        (WebCore::CachedRawResource::data):
118910        (WebCore::CachedRawResource::setResponse):
118911
1189122012-02-15  Enrica Casucci  <enrica@apple.com>
118913
118914        REGRESSION: "Copy image" fails...copies image URL instead.
118915        https://bugs.webkit.org/show_bug.cgi?id=78723
118916        <rdar://problem/10869104>
118917
118918        During the refactoring of the Pasteboard class some code was lost.
118919        When placing an NSImage in the NSPasteboard as NSTIFFPboardType, we need
118920        to use the its TIFF representation.
118921        
118922        Reviewed by Andy Estes.
118923
118924        * platform/mac/PasteboardMac.mm:
118925        (WebCore::Pasteboard::writeImage):
118926
1189272012-01-31  Raphael Kubo da Costa  <kubo@profusion.mobi>
118928
118929        [soup] Add support for multiple SoupSessions.
118930        https://bugs.webkit.org/show_bug.cgi?id=77341
118931
118932        Reviewed by Gustavo Noronha Silva.
118933
118934        Make the libsoup network backend support multiple SoupSessions. This is
118935        accomplished by using the NetworkingContext classes, which now have a
118936        `soupSession()' method when the libsoup backend is being used.
118937
118938        libsoup's ResourceHandle implementation now retrieves the SoupSession
118939        via the NetworkingContext it receives instead of relying on
118940        defaultSession(). defaultSession() is still used when a null
118941        NetworkingContext is passed to ResourceHandle::start (for example, via
118942        webkit_download_start).
118943
118944        The CookieJar implementation retrieves the SoupSession from the
118945        NetworkingContext as much as possible as well -- the functions used by
118946        WebKit2 could not be converted, though, as they seem to assume there is
118947        only one shared cookie jar.
118948
118949        No new tests, covered by the existing ones.
118950
118951        * platform/network/NetworkingContext.h:
118952        (NetworkingContext): Add soupSession() method if USE(SOUP) is set.
118953        * platform/network/ResourceHandleInternal.h:
118954        (ResourceHandleInternal):
118955        * platform/network/soup/CookieJarSoup.cpp:
118956        (WebCore::cookieJarForDocument):
118957        (WebCore):
118958        (WebCore::defaultCookieJar):
118959        (WebCore::setCookies):
118960        (WebCore::cookies):
118961        (WebCore::cookieRequestHeaderFieldValue):
118962        (WebCore::cookiesEnabled):
118963        * platform/network/soup/ResourceHandleSoup.cpp:
118964        (WebCore::ResourceHandleInternal::soupSession): Add method to retrieve
118965        a SoupSession from a NetworkingContext and fallback to defaultSession()
118966        if there's no valid NetworkingContext.
118967        (WebCore):
118968        (WebCore::ensureSessionIsInitialized): Only change or use the default
118969        cookie jar if the SoupSession being changed is the default one.
118970        (WebCore::sendRequestCallback):
118971        (WebCore::startHTTPRequest):
118972        (WebCore::ResourceHandle::cancel):
118973        (WebCore::startNonHTTPRequest):
118974
1189752012-02-15  Anders Carlsson  <andersca@apple.com>
118976
118977        The TileCache object should be deallocated on the main thread
118978        https://bugs.webkit.org/show_bug.cgi?id=78757
118979        <rdar://problem/10866161>
118980
118981        Reviewed by Sam Weinig.
118982
118983        Since the WebTileCacheLayer can be deleted on the scrolling thread, we need to make sure that the underlying
118984        TileCache object is actually destroyed on the main thread.
118985
118986        * platform/graphics/ca/mac/TileCache.h:
118987        * platform/graphics/ca/mac/TileCache.mm:
118988        (WebCore::TileCache::~TileCache):
118989        Assert that this object is being destroyed on the main thread.
118990
118991        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
118992        (-[WebTileCacheLayer dealloc]):
118993        If dealloc is being called from a non-main thread, make sure to delete the tile cache object on the main thread.
118994
1189952012-02-15  Anders Carlsson  <andersca@apple.com>
118996
118997        Scrolling Coordinator must be deleted on the main thread
118998        https://bugs.webkit.org/show_bug.cgi?id=78756
118999        <rdar://problem/10866167>
119000
119001        Reviewed by Sam Weinig.
119002
119003        ScrollingTree::invalidate will finish breaking the cycle between the scrolling coordinator and the
119004        scrolling tree by dereffing the scrolling coordinator. We need to make sure that this happens on the main
119005        thread because the scrolling coordinator expects to be destroyed from there.
119006
119007        * page/scrolling/ScrollingTree.cpp:
119008        (WebCore::derefScrollingCoordinator):
119009        (WebCore):
119010        (WebCore::ScrollingTree::invalidate):
119011
1190122012-02-15  Anders Carlsson  <andersca@apple.com>
119013
119014        Scrolling coordinator should handle pages being restored from the page cache
119015        https://bugs.webkit.org/show_bug.cgi?id=78753
119016        <rdar://problem/10866171>
119017
119018        Reviewed by Sam Weinig.
119019
119020        Replace ScrollingCoordinator::frameViewScrollLayerDidChange with a new member function,
119021        ScrollingCoordinator::frameViewRootLayerDidChange which is called whenever the root layer
119022        of the frame view changes (which happens on back/forward navigation as well).
119023
119024        In this function, reset the scrolling tree state from the frame view.
119025
119026        * page/scrolling/ScrollingCoordinator.cpp:
119027        (WebCore::scrollLayerForFrameView):
119028        Add a helper function.
119029
119030        (WebCore::ScrollingCoordinator::frameViewRootLayerDidChange):
119031        Reset the entire scrolling tree state.
119032
119033        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
119034        Call the newly added helper function.
119035
119036        * page/scrolling/ScrollingCoordinator.h:
119037        (ScrollingCoordinator):
119038        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
119039        Remove frameViewScrollLayerDidChange.
119040
119041        * rendering/RenderLayerCompositor.cpp:
119042        (WebCore::RenderLayerCompositor::ensureRootLayer):
119043        Remove call to ScrollingCoordinator::frameViewScrollLayerDidChange.
119044
119045        (WebCore::RenderLayerCompositor::attachRootLayer):
119046        Call ScrollingCoordinator::frameViewRootLayerDidChange.
119047
1190482012-02-15  Enrica Casucci  <enrica@apple.com>
119049
119050        Refactor ClipboardMac class to use PlatformStrategies.
119051        https://bugs.webkit.org/show_bug.cgi?id=78554
119052
119053        Reviewed by Anders Carlsson.
119054
119055        No new tests. No change in behavior.
119056
119057        * WebCore.exp.in: Added new exported methods of the PlatformPasteboard class
119058        * editing/mac/EditorMac.mm:
119059        (WebCore::Editor::newGeneralClipboard): Use name based pasteboard references.
119060        * page/DragClient.h:
119061        (WebCore::DragClient::declareAndWriteDragImage): Ditto.
119062        * page/mac/EventHandlerMac.mm:
119063        (WebCore::EventHandler::createDraggingClipboard): Ditto.
119064        * platform/PasteboardStrategy.h: Added new methods to get a unique pasteboard name
119065        and the pasteboard change count.
119066        * platform/PlatformPasteboard.h: Ditto.
119067        * platform/mac/ClipboardMac.h:
119068        (WebCore::ClipboardMac::create): Using name based pasteboard.
119069        (WebCore::ClipboardMac::pasteboardName): Replacing the old pasteboard() method.
119070        * platform/mac/ClipboardMac.mm: All the methods below have been modified to avoid
119071        using Objective-C types and direct access to NSPasteboard object.
119072        (WebCore::Clipboard::create):
119073        (WebCore::ClipboardMac::ClipboardMac):
119074        (WebCore::ClipboardMac::hasData):
119075        (WebCore::cocoaTypeFromHTMLClipboardType):
119076        (WebCore::utiTypeFromCocoaType):
119077        (WebCore::addHTMLClipboardTypesForCocoaType):
119078        (WebCore::ClipboardMac::clearData):
119079        (WebCore::ClipboardMac::clearAllData):
119080        (WebCore::absoluteURLsFromPasteboardFilenames):
119081        (WebCore::absoluteURLsFromPasteboard):
119082        (WebCore::ClipboardMac::getData):
119083        (WebCore::ClipboardMac::setData):
119084        (WebCore::ClipboardMac::types):
119085        (WebCore::ClipboardMac::files):
119086        (WebCore::ClipboardMac::setDragImage):
119087        (WebCore::ClipboardMac::writeRange):
119088        (WebCore::ClipboardMac::writePlainText):
119089        (WebCore::ClipboardMac::writeURL):
119090        (WebCore::ClipboardMac::declareAndWriteDragImage):
119091        * platform/mac/PasteboardMac.mm:
119092        (WebCore::Pasteboard::writeClipboard): Using name based pasteboard reference.
119093        * platform/mac/PlatformPasteboardMac.mm:
119094        (WebCore::PlatformPasteboard::getPathnamesForType): Fixed to support NSArray and NString content.
119095        (WebCore::PlatformPasteboard::changeCount): Added.
119096        (WebCore::PlatformPasteboard::uniqueName): Added.
119097
1190982012-02-15  Anders Carlsson  <andersca@apple.com>
119099
119100        TileCache needs to support setting the contents scale
119101        https://bugs.webkit.org/show_bug.cgi?id=78741
119102        <rdar://problem/10710773>
119103
119104        Reviewed by Sam Weinig.
119105
119106        * platform/graphics/ca/mac/TileCache.h:
119107        * platform/graphics/ca/mac/TileCache.mm:
119108        (WebCore::TileCache::setContentsScale):
119109        Update the contents scale of all the tiles and then revalidate the tile cache since tiles
119110        might have come and gone as a result of setting the contents scale.
119111        
119112        (WebCore::TileCache::createTileLayer):
119113        Set the contents scale of the tile layer.
119114
119115        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
119116        (-[WebTileCacheLayer setContentsScale:]):
119117        Call TileCache::setContentsScale.
119118
1191192012-02-15  Anders Carlsson  <andersca@apple.com>
119120
119121        Try to fix the Chromium build and remove a snarky comment in the process.
119122
119123        * platform/chromium/PopupListBox.cpp:
119124        (WebCore::PopupListBox::handleWheelEvent):
119125
1191262012-02-15  Anders Carlsson  <andersca@apple.com>
119127
119128        Wheel events should be re-dispatched to the scrolling thread
119129        https://bugs.webkit.org/show_bug.cgi?id=78731
119130        <rdar://problem/10866144>
119131
119132        Reviewed by Sam Weinig.
119133
119134        When threaded scrolling is enabled, all the state is assumed to be kept in the scrolling tree,
119135        on the scrolling thread. This means that even if we do end up processing an event on the main thread
119136        (because of wheel event handlers for example), we still have to dispatch the wheel event back to the
119137        scrolling thread.
119138
119139        * page/FrameView.cpp:
119140        (WebCore::FrameView::wheelEvent):
119141        Move wheelEvent from ScrollView and ask the scrolling coordinator to handle the wheel event.
119142
119143        * page/scrolling/ScrollingCoordinator.cpp:
119144        (WebCore::ScrollingCoordinator::handleWheelEvent):
119145        Dispatch the event to the scrolling thread, unless it will start a gesture. In that case we'll return false
119146        so that information will be passed back to the UI process.
119147        
119148        (ScrollingCoordinator):
119149        * platform/ScrollView.cpp:
119150        * platform/ScrollView.h:
119151        Move wheelEvent to FrameView.
119152
1191532012-02-15  Mark Hahnenberg  <mhahnenberg@apple.com>
119154
119155        RootObject::finalize can cause a crash in object->invalidate()
119156        https://bugs.webkit.org/show_bug.cgi?id=78645
119157
119158        Reviewed by Geoffrey Garen.
119159
119160        No new tests.
119161
119162        * bridge/runtime_root.cpp:
119163        (JSC::Bindings::RootObject::finalize): Added a stack-allocated RefPtr to protect the RootObject
119164        during the call to invalidate().
119165
1191662012-02-15  Dan Bernstein  <mitz@apple.com>
119167
119168        <rdar://problem/10870238> Box shadow drawing takes an unnecessarily slow code path in some single-shadow, opaque-background cases
119169        https://bugs.webkit.org/show_bug.cgi?id=78728
119170
119171        In some cases, when there is only one normal box shadow, and the box has an opaque background,
119172        it is possible to draw the box shadow by having the background cast it directly. This appears
119173        to be faster than the generic code path that uses a separate drawing pass to cast the shadow,
119174        clipping out the border box and the shadow-casting box.
119175
119176        Reviewed by Dave Hyatt.
119177
119178        No new tests, because behavior is unchanged.
119179
119180        * rendering/InlineFlowBox.cpp:
119181        (WebCore::InlineFlowBox::paintBoxDecorations): Changed to not paint normal box shadows if
119182        they are going to be cast by the background.
119183        * rendering/RenderBox.cpp:
119184        (WebCore::RenderBox::paintBoxDecorations): Ditto.
119185        * rendering/RenderBox.h: Made determineBackgroundBleedAvoidance() protected.
119186        * rendering/RenderBoxModelObject.cpp:
119187        (WebCore::applyBoxShadowForBackground): Added this helper function, which applies the first
119188        normal shadow from the given RenderStyle to the given GraphicsContext.
119189        (WebCore::RenderBoxModelObject::paintFillLayerExtended): Added calls to
119190        applyBoxShadowForBackground() before drawing the background color when needed.
119191        (WebCore::RenderBoxModelObject::boxShadowShouldBeAppliedToBackground): Added. Returns true
119192        in some of the cases where the box shadow can be cast by the background directly.
119193        * rendering/RenderBoxModelObject.h:
119194        * rendering/RenderFieldset.cpp:
119195        (WebCore::RenderFieldset::paintBoxDecorations): Changed to not paint normal box shadows if
119196        they are going to be cast by the background.
119197        * rendering/RenderTable.cpp:
119198        (WebCore::RenderTable::paintBoxDecorations): Ditto.
119199        * rendering/RenderTableCell.cpp:
119200        (WebCore::RenderTableCell::boxShadowShouldBeAppliedToBackground): Added this override that
119201        always returns false, because table cells sometimes apply a clip before drawing the background.
119202        * rendering/RenderTableCell.h:
119203
1192042012-02-15  Ojan Vafai  <ojan@chromium.org>
119205
119206        getComputedStyle of flex-item-align:auto should resolve to it's parent's flex-align value
119207        https://bugs.webkit.org/show_bug.cgi?id=76326
119208
119209        Reviewed by Tony Chang.
119210
119211        * css/CSSComputedStyleDeclaration.cpp:
119212        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
119213
1192142012-02-15  Sadrul Habib Chowdhury  <sadrul@chromium.org>
119215
119216        Notify ChromeClient when touch-event handlers are installed/removed.
119217        https://bugs.webkit.org/show_bug.cgi?id=77440
119218
119219        Reviewed by Darin Fisher and Ryosuke Niwa.
119220
119221        Keep a count of the number of touch-event handlers and notify the
119222        embedder when the count changes. Depending on the count, the embedder
119223        can decide whether or not to dispatch touch events to webkit.
119224
119225        * dom/Document.cpp:
119226        (WebCore::Document::Document):
119227        (WebCore::Document::didAddTouchEventHandler):
119228        (WebCore):
119229        (WebCore::Document::didRemoveTouchEventHandler):
119230        * dom/Document.h:
119231        (WebCore::Document::touchEventHandlerCount):
119232        (Document):
119233        * dom/Node.cpp:
119234        (WebCore::isTouchEventType):
119235        (WebCore::tryAddEventListener):
119236        (WebCore::tryRemoveEventListener):
119237        * loader/EmptyClients.h:
119238        (WebCore::EmptyChromeClient::numTouchEventHandlersChanged):
119239        * page/ChromeClient.h:
119240        (ChromeClient):
119241        * page/Frame.cpp:
119242        (WebCore::Frame::notifyChromeClientWheelEventHandlerCountChanged):
119243        (WebCore::Frame::notifyChromeClientTouchEventHandlerCountChanged):
119244        (WebCore):
119245        * page/Frame.h:
119246        (Frame):
119247
1192482012-02-15  Eric Carlson  <eric.carlson@apple.com>
119249
119250        Unset the active flag when TextTrackCues go away
119251        https://bugs.webkit.org/show_bug.cgi?id=72552
119252
119253        Reviewed by Maciej Stachowiak.
119254
119255        Test: media/track/track-active-cues.html
119256
119257        * html/HTMLMediaElement.cpp:
119258        (WebCore::HTMLMediaElement::loadTimerFired): Configure new text tracks before preparing to load
119259            so we know about all tracks when resource selection begins.
119260        (WebCore::HTMLMediaElement::prepareForLoad): Call updateActiveTextTrackCues after setting
119261            to m_readyState is HAVE_NOTHING so all cues get deactivated. Don't build list of 
119262            available text tracks because resource selection won't actually start until after the load timer fires.
119263        (WebCore::HTMLMediaElement::loadInternal): Build list of non-disabled tracks.
119264        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):  Clear the active flag on all cues
119265            when m_readyState is HAVE_NOTHING or m_player is 0.
119266        (WebCore::HTMLMediaElement::setReadyState): Don't update m_readyState when tracks which haven't
119267            loaded yet will prevent events from firing. Call updateActiveTextTrackCues to ensure that the
119268            first cue(s) are shown as soon as possible.
119269        (WebCore::HTMLMediaElement::userCancelledLoad): Call updateActiveTextTrackCues when when m_readyState 
119270            is HAVE_NOTHING so all cues get deactivated.
119271
1192722012-02-15  Jessie Berlin  <jberlin@apple.com>
119273
119274        WebCore build exceeds address space on 32-bit Windows builders (again).
119275        https://bugs.webkit.org/show_bug.cgi?id=78724
119276
119277        Reviewed by Jon Honeycutt.
119278
119279        Add the rest of the inspector .cpp files to the InspectorAllInOne.cpp file in Production and
119280        Release builds.
119281
119282        * WebCore.vcproj/WebCore.vcproj:
119283        In the process, let VS have its way with this file.
119284
119285        * inspector/InspectorAllInOne.cpp:
119286
1192872012-02-15  Anders Carlsson  <andersca@apple.com>
119288
119289        Remove ScrollableArea::handleGestureEvent
119290        https://bugs.webkit.org/show_bug.cgi?id=78661
119291
119292        Reviewed by Adam Roben.
119293
119294        ScrollableArea::handleGestureEvent ends up being a no-op so remove it and the related code.
119295
119296        * page/EventHandler.cpp:
119297        (WebCore::EventHandler::handleGestureEvent):
119298        * platform/ScrollAnimator.cpp:
119299        * platform/ScrollAnimator.h:
119300        (ScrollAnimator):
119301        * platform/ScrollView.cpp:
119302        (WebCore::ScrollView::wheelEvent):
119303        * platform/ScrollView.h:
119304        (ScrollView):
119305        * platform/ScrollableArea.cpp:
119306        * platform/ScrollableArea.h:
119307        (ScrollableArea):
119308
1193092012-02-14  Stephen White  <senorblanco@chromium.org>
119310
119311        Fix for incorrect/offset image in CSS filters (non-composited path)
119312        https://bugs.webkit.org/show_bug.cgi?id=78626
119313
119314        Reviewed by Darin Adler.
119315
119316        Test: css3/filters/multiple-filters-invalidation.html
119317
119318        * rendering/FilterEffectRenderer.cpp:
119319        (WebCore::FilterEffectRenderer::prepare):
119320        When invalidating results, invalidate all intermediate filter
119321        results, not just the last effect's result.
119322
1193232012-02-15  Alexander Pavlov  <apavlov@chromium.org>
119324
119325        Web Inspector: "Minus" (Delete) button disappears for hovered watch expression in Watches pane
119326        https://bugs.webkit.org/show_bug.cgi?id=78714
119327
119328        Reviewed by Pavel Feldman.
119329
119330        * inspector/front-end/WatchExpressionsSidebarPane.js:
119331        (WebInspector.WatchExpressionsSection.prototype._mouseOut):
119332
1193332012-02-15  Patrick Gansterer  <paroga@webkit.org>
119334
119335        [CMake] Move RunLoop to WebCore/platform
119336        https://bugs.webkit.org/show_bug.cgi?id=78504
119337
119338        Reviewed by Adam Roben.
119339
119340        r105475 moved RunLoop.cpp from WebKit2 to WebCore, but missed the CMake based ports.
119341
119342        * CMakeLists.txt:
119343        * PlatformWinCE.cmake:
119344
1193452012-02-15  Zoltan Herczeg  <zherczeg@webkit.org>
119346
119347        Remove clipToImageBuffer from SourceAlpha and feComposite
119348        https://bugs.webkit.org/show_bug.cgi?id=78355
119349
119350        Reviewed by Nikolas Zimmermann.
119351
119352        The implementation of clipToImageBuffer is inefficient on
119353        non-mac platforms, so we would benefit if remove it.
119354
119355        Existing tests cover this feature.
119356
119357        * platform/graphics/filters/FEComposite.cpp:
119358        (WebCore::FEComposite::platformApplySoftware):
119359        * platform/graphics/filters/SourceAlpha.cpp:
119360        (WebCore::SourceAlpha::platformApplySoftware):
119361
1193622012-02-15  Simon Hausmann  <simon.hausmann@nokia.com>
119363
119364        [Qt] Replace use of QGLWidget/QGLContext with QOpenGLContext and QSurface for Qt 5
119365        https://bugs.webkit.org/show_bug.cgi?id=78694
119366
119367        Reviewed by Noam Rosenthal.
119368
119369        Typedef PlatformGraphicsContext3D and PlatformGraphicsSurface3D to QOpenGLContext
119370        and QSurface for Qt 5. Use these APIs to change the current context and get the
119371        procedure addresses. Removed QGraphicsObject inheritance remainder while we're at it,
119372        because that code path is obsolete.
119373
119374        * platform/graphics/GraphicsContext3D.h:
119375        * platform/graphics/cairo/OpenGLShims.cpp:
119376        (WebCore::getProcAddress):
119377        * platform/graphics/cairo/OpenGLShims.h:
119378        * platform/graphics/qt/GraphicsContext3DQt.cpp:
119379        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
119380        (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
119381        (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
119382        (WebCore::GraphicsContext3D::~GraphicsContext3D):
119383
1193842012-02-15  Simon Hausmann  <simon.hausmann@nokia.com>
119385
119386        [Qt] Move Qt platform specific GL Context/Surface creation out of WebCore into WebKit
119387        https://bugs.webkit.org/show_bug.cgi?id=78692
119388
119389        Reviewed by Noam Rosenthal.
119390
119391        Replace the "glWidget" term in the GraphicsContext with "surface" and delegate
119392        the context and surface creation to the page client.
119393
119394        * platform/graphics/GraphicsContext3D.h:
119395        * platform/graphics/qt/GraphicsContext3DQt.cpp:
119396        (GraphicsContext3DPrivate):
119397        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
119398        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
119399        (WebCore::GraphicsContext3DPrivate::blitMultisampleFramebufferAndRestoreContext):
119400        (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
119401        (WebCore::GraphicsContext3D::GraphicsContext3D):
119402        (WebCore::GraphicsContext3D::~GraphicsContext3D):
119403        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
119404        * platform/qt/QWebPageClient.h:
119405        (QWebPageClient):
119406
1194072012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
119408
119409        [Texmap] Support filters in TextureMapperImageBuffer
119410        https://bugs.webkit.org/show_bug.cgi?id=76026
119411
119412        Implement GraphicsLayer::setFilters for TextureMapper, and pass the filters all the way
119413        to BitmapTextureImageBuffer. This does not introduce a new filters implementation, but
119414        rather uses the non-AC implementation. A complete implementation will be needed in
119415        TextureMapperGL, which can use some of the glue in this code.
119416
119417        Reviewed by Kenneth Rohde Christiansen.
119418
119419        Unskipped 10 tests in css3/filters.
119420
119421        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
119422        (WebCore):
119423        (WebCore::GraphicsLayerTextureMapper::setFilters):
119424        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
119425        (GraphicsLayerTextureMapper):
119426        * platform/graphics/texmap/TextureMapper.h:
119427        (BitmapTexture):
119428        (WebCore::BitmapTexture::applyFilters):
119429        * platform/graphics/texmap/TextureMapperImageBuffer.cpp:
119430        (WebCore):
119431        (WebCore::BitmapTextureImageBuffer::applyFilters):
119432        * platform/graphics/texmap/TextureMapperImageBuffer.h:
119433        (BitmapTextureImageBuffer):
119434        * platform/graphics/texmap/TextureMapperLayer.cpp:
119435        (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
119436        (WebCore):
119437        (WebCore::applyFilters):
119438        (WebCore::TextureMapperLayer::paintRecursive):
119439        (WebCore::TextureMapperLayer::syncCompositingStateSelf):
119440        * platform/graphics/texmap/TextureMapperLayer.h:
119441        (State):
119442
1194432012-02-15  Simon Hausmann  <simon.hausmann@nokia.com>
119444
119445        [Qt] Clean up fallback rendering of GraphicsContext3D to Canvas
119446        https://bugs.webkit.org/show_bug.cgi?id=78690
119447
119448        Reviewed by Noam Rosenthal.
119449
119450        Use the common paintRenderingResultsToCanvas code to retrieve the
119451        pixels from the FBO and use a Qt port specific paintToCanvas
119452        implementation to wrap the pixels into a QImage and render it
119453        into the graphics context, just like it's done for the other ports.
119454
119455        This removes the QGraphicsObject based paint, which is an now 
119456        obsolete method of rendering.
119457
119458        * platform/graphics/GraphicsContext3D.h:
119459        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
119460        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
119461        * platform/graphics/qt/GraphicsContext3DQt.cpp:
119462        (GraphicsContext3DPrivate):
119463        (WebCore::GraphicsContext3D::paintToCanvas):
119464
1194652012-02-14  Simon Hausmann  <simon.hausmann@nokia.com>
119466
119467        [Qt] Eliminate first set of QtWidgets dependencies from WebCore
119468        https://bugs.webkit.org/show_bug.cgi?id=78611
119469
119470        Reviewed by Kenneth Rohde Christiansen.
119471
119472        * bindings/js/ScriptControllerQt.cpp: Remove unused include.
119473        * page/qt/EventHandlerQt.cpp:
119474        (WebCore::EventHandler::tabsToAllFormControls): Replace import
119475        of private Qt(Widgets) variable with the default of Qt 5, where
119476        it is also not configurable.
119477        * platform/ContextMenu.h: Remove unused include.
119478        * platform/ContextMenuItem.h: Ditto.
119479        * platform/Widget.h: Use QObject as type for PlatformWidget
119480        instead of QWidget.
119481        * platform/graphics/Icon.h:
119482        (Icon): Prefer QImage over QIcon for storage.
119483        * platform/graphics/gstreamer/PlatformVideoWindowPrivate.h:
119484        (WebCore): Make it compile with QWindow for Qt 5 and QWidget for Qt 4.
119485        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
119486        (FullScreenVideoWindow::FullScreenVideoWindow):
119487        (FullScreenVideoWindow::keyPressEvent):
119488        (FullScreenVideoWindow::event):
119489        (FullScreenVideoWindow::showFullScreen):
119490        (PlatformVideoWindow::PlatformVideoWindow):
119491        * platform/graphics/qt/IconQt.cpp: Revert the implementation of this class
119492        back to notImplemented(). It was trying to load the actual file as QIcon
119493        instead of trying to find a symbolic icon for the given file. We should
119494        probably use the QMimeType API in Qt 5 once it becomes available.
119495        (WebCore::Icon::createIconForFiles):
119496        (WebCore::Icon::paint):
119497        * platform/graphics/qt/ImageQt.cpp:
119498        (graphics): Remove use of QStyle for retrieving icons. Code moved to
119499        WebCoreSupport instead.
119500        * platform/qt/ContextMenuQt.cpp: Removed unused include.
119501        * platform/qt/PlatformScreenQt.cpp: Add #ifdefs to use QScreen API
119502        with Qt 5.
119503        (WebCore::screenDepth):
119504        (WebCore::screenDepthPerComponent):
119505        (WebCore::screenIsMonochrome):
119506        (WebCore::screenRect):
119507        (WebCore::screenAvailableRect):
119508        * platform/qt/QWebPageClient.h: Add hook for showing/hiding widget.
119509        (WebCore):
119510        (QWebPageClient):
119511        * platform/qt/SoundQt.cpp:
119512        (WebCore::systemBeep): Beep is not implemented in Qt 5 and its use is
119513        questionable. Move back to notImplemented() until proper QPA API becomes
119514        available in Qt 5 (if ever...).
119515        * platform/qt/WidgetQt.cpp: Delegate QWidget specific show/hide calls
119516        to the PageClient, out of WebCore.
119517        (WebCore::Widget::Widget):
119518        (WebCore::Widget::show):
119519        (WebCore::Widget::hide):
119520        * plugins/PluginView.h: Remove unused include.
119521        * rendering/RenderTreeAsText.cpp:
119522        (WebCore::RenderTreeAsText::writeRenderObject): When dumping properties of
119523        QWidget, use the QObject property API to retrieve the values instead of
119524        QWidget specific API. Removed the mask from the dump as it's not available
119525        as property and our layout tests don't seem to use it.
119526
1195272012-02-15  Alexander Pavlov  <apavlov@chromium.org>
119528
119529        Web Inspector: Fix minor design issues in the Spectrum color picker
119530        https://bugs.webkit.org/show_bug.cgi?id=78693
119531
119532        Drive-by: frontend compilability fixes.
119533
119534        Reviewed by Pavel Feldman.
119535
119536        * English.lproj/localizedStrings.js:
119537        * inspector/compile-front-end.sh:
119538        * inspector/front-end/ElementsPanel.js:
119539        * inspector/front-end/Popover.js:
119540        * inspector/front-end/Spectrum.js:
119541        (WebInspector.Spectrum.rgbaToHSVA):
119542        (WebInspector.Spectrum.prototype.set color):
119543        (WebInspector.Spectrum.prototype.get isVisible):
119544        (WebInspector.Spectrum.prototype.toggle):
119545        (WebInspector.Spectrum.prototype.show):
119546        (WebInspector.Spectrum.prototype.hide):
119547        * inspector/front-end/StylesSidebarPane.js:
119548        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
119549        * inspector/front-end/elementsPanel.css:
119550        (.spectrum-container):
119551        (.spectrum-top):
119552        (.spectrum-color):
119553        (.spectrum-hue):
119554        (.spectrum-fill):
119555        (.spectrum-range-container):
119556        (.spectrum-range-container *):
119557        (.spectrum-range-container label):
119558        (.spectrum-range-container input):
119559        (.swatch, .spectrum-dragger, .spectrum-slider):
119560        (.spectrum-sat):
119561        (.spectrum-val):
119562        (.spectrum-dragger):
119563        (.spectrum-slider):
119564        * inspector/front-end/inspector.css:
119565        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment):
119566
1195672012-02-15  Yury Semikhatsky  <yurys@chromium.org>
119568
119569        Unreviewed. Build fix after r107806
119570
119571        * inspector/InjectedScript.cpp:
119572        (WebCore::InjectedScript::callFunctionWithEvalEnabled):
119573        * inspector/InjectedScript.h:
119574        (InjectedScript):
119575
1195762012-02-15  Yury Semikhatsky  <yurys@chromium.org>
119577
119578        Web Inspector: crash when inspecting an element on a page with eval disabled by CSP
119579        https://bugs.webkit.org/show_bug.cgi?id=78705
119580
119581        Inspector functions in injected script may use eval so we need to make sure
119582        it is allowed for inspector code on pages where it is prohibited by CSP.
119583
119584        Reviewed by Pavel Feldman.
119585
119586        Test: inspector/elements/resolve-node-blocked.html
119587
119588        * inspector/InjectedScript.cpp:
119589        (WebCore::InjectedScript::nodeForObjectId):
119590        (WebCore::InjectedScript::wrapCallFrames):
119591        (WebCore::InjectedScript::wrapObject):
119592        (WebCore::InjectedScript::releaseObjectGroup):
119593        (WebCore::InjectedScript::callFunctionWithEvalEnabled):
119594        (WebCore):
119595        (WebCore::InjectedScript::makeCall):
119596        * inspector/InjectedScript.h:
119597        (InjectedScript):
119598
1195992012-02-13  Brian Grinstead  <briangrinstead@gmail.com>
119600
119601        Web Inspector: Add colorpicker functionality to color swatches in Styles Sidebar
119602        https://bugs.webkit.org/show_bug.cgi?id=71262
119603
119604        Reviewed by Pavel Feldman.
119605
119606        * English.lproj/localizedStrings.js:
119607        * WebCore.gypi:
119608        * WebCore.vcproj/WebCore.vcproj:
119609        * inspector/front-end/Settings.js:
119610        * inspector/front-end/Spectrum.js: Added.
119611        (WebInspector.Spectrum.hueDrag):
119612        (WebInspector.Spectrum.colorDrag):
119613        (WebInspector.Spectrum.alphaDrag):
119614        (WebInspector.Spectrum):
119615        (WebInspector.Spectrum.hsvaToRGBA):
119616        (WebInspector.Spectrum.rgbaToHSVA):
119617        (WebInspector.Spectrum.draggable.prevent):
119618        (WebInspector.Spectrum.draggable.move):
119619        (WebInspector.Spectrum.draggable.start):
119620        (WebInspector.Spectrum.draggable.stop):
119621        (WebInspector.Spectrum.draggable):
119622        (WebInspector.Spectrum.prototype.set color):
119623        (WebInspector.Spectrum.prototype.get color):
119624        (WebInspector.Spectrum.prototype.get outputColorFormat):
119625        (WebInspector.Spectrum.prototype.get colorHueOnly):
119626        (WebInspector.Spectrum.prototype.set displayText):
119627        (WebInspector.Spectrum.prototype._onchange):
119628        (WebInspector.Spectrum.prototype._updateHelperLocations):
119629        (WebInspector.Spectrum.prototype._updateUI):
119630        (WebInspector.Spectrum.prototype.toggle):
119631        (WebInspector.Spectrum.prototype.show):
119632        (WebInspector.Spectrum.prototype.reposition):
119633        (WebInspector.Spectrum.prototype.hide):
119634        * inspector/front-end/StylesSidebarPane.js:
119635        (WebInspector.StylesSidebarPane):
119636        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.):
119637        * inspector/front-end/WebKit.qrc:
119638        * inspector/front-end/inspector.css:
119639        (.swatch):
119640        (.swatch-inner):
119641        (.spectrum-container):
119642        (.spectrum-top):
119643        (.spectrum-color):
119644        (.spectrum-hue):
119645        (.spectrum-fill):
119646        (.spectrum-range-container):
119647        (.spectrum-range-container *):
119648        (.spectrum-range-container label):
119649        (.spectrum-range-container input):
119650        (.swatch, .spectrum-dragger, .spectrum-slider):
119651        (.spectrum-sat):
119652        (.spectrum-val):
119653        (.spectrum-dragger):
119654        (.spectrum-slider):
119655        * inspector/front-end/inspector.html:
119656
1196572012-02-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
119658
119659        [Qt] Be smarter with tile usages during tiling
119660        https://bugs.webkit.org/show_bug.cgi?id=78243
119661
119662        Reviewed by Simon Hausmann.
119663
119664        The keep rect used to know what existing tiles to keep around, is now a
119665        padding (in tile dimensions) around the usual cover rect. With usual,
119666        I mean to point out that we take our panning optimization into account.
119667
119668        We also do a good effort at keeping the amount of tiles steady, by not
119669        simply intersecting our areas with the contentRect, but moving it
119670        first into legal bounds and then expanding in opposite direction to
119671        cover a similar amount of pixels.
119672
119673        In the future the cover area should be calculated given available
119674        system memory.
119675
119676        * platform/graphics/TiledBackingStore.cpp:
119677        (WebCore):
119678        (WebCore::TiledBackingStore::TiledBackingStore):
119679        (WebCore::TiledBackingStore::createTiles):
119680        (WebCore::TiledBackingStore::adjustForContentsRect):
119681        (WebCore::TiledBackingStore::computeCoverAndKeepRect):
119682        (WebCore::TiledBackingStore::tileRectForCoordinate):
119683        * platform/graphics/TiledBackingStore.h:
119684        (TiledBackingStore):
119685
1196862012-02-13  Vsevolod Vlasov  <vsevik@chromium.org>
119687
119688        Web Inspector: [InspectorIndexedDB] Pass data entries from object stores and indexes to front-end.
119689        https://bugs.webkit.org/show_bug.cgi?id=78503
119690
119691        Reviewed by Yury Semikhatsky.
119692
119693        Test: http/tests/inspector/indexeddb/database-data.html
119694
119695        * bindings/js/SerializedScriptValue.cpp:
119696        (WebCore::SerializedScriptValue::deserializeForInspector):
119697        (WebCore):
119698        * bindings/js/SerializedScriptValue.h:
119699        (SerializedScriptValue):
119700        * bindings/v8/SerializedScriptValue.cpp:
119701        (WebCore::SerializedScriptValue::deserializeForInspector):
119702        (WebCore):
119703        * bindings/v8/SerializedScriptValue.h:
119704        (SerializedScriptValue):
119705        * inspector/InjectedScript.cpp:
119706        (WebCore::InjectedScript::wrapObject):
119707        (WebCore::InjectedScript::wrapSerializedObject):
119708        (WebCore):
119709        (WebCore::InjectedScript::canAccessInspectedWindow):
119710        * inspector/InjectedScript.h:
119711        (InjectedScript):
119712        * inspector/Inspector.json:
119713        * inspector/InspectorController.cpp:
119714        (WebCore::InspectorController::InspectorController):
119715        * inspector/InspectorIndexedDBAgent.cpp:
119716        (WebCore):
119717        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
119718        (WebCore::assertFrame):
119719        (WebCore::assertDocument):
119720        (WebCore::InspectorIndexedDBAgent::requestData):
119721        * inspector/InspectorIndexedDBAgent.h:
119722        (WebCore):
119723        (WebCore::InspectorIndexedDBAgent::create):
119724        (InspectorIndexedDBAgent):
119725        * inspector/front-end/IndexedDBModel.js:
119726        (WebInspector.IndexedDBModel.idbKeyFromKey):
119727        (WebInspector.IndexedDBModel.keyFromIDBKey):
119728        (WebInspector.IndexedDBModel.keyRangeFromIDBKeyRange):
119729        (WebInspector.IndexedDBModel.prototype._loadDatabase):
119730        (WebInspector.IndexedDBModel.prototype.loadObjectStoreData):
119731        (WebInspector.IndexedDBModel.prototype.loadIndexData):
119732        (WebInspector.IndexedDBModel.Entry):
119733        (WebInspector.IndexedDBRequestManager):
119734        (WebInspector.IndexedDBRequestManager.prototype._requestData.innerCallback):
119735        (WebInspector.IndexedDBRequestManager.prototype._requestData):
119736        (WebInspector.IndexedDBRequestManager.prototype.requestObjectStoreData):
119737        (WebInspector.IndexedDBRequestManager.prototype._objectStoreDataLoaded):
119738        (WebInspector.IndexedDBRequestManager.prototype.requestIndexData):
119739        (WebInspector.IndexedDBRequestManager.prototype._indexDataLoaded):
119740        (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
119741        (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
119742        (WebInspector.IndexedDBRequestManager.prototype._reset):
119743        (WebInspector.IndexedDBRequestManager.DataRequest):
119744        (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
119745        (WebInspector.IndexedDBDispatcher.prototype.objectStoreDataLoaded):
119746        (WebInspector.IndexedDBDispatcher.prototype.indexDataLoaded):
119747
1197482012-02-15  Hajime Morrita  <morrita@chromium.org>
119749
119750        REGRESSION(r107518): DeviceOrientationController doesn't remove registered DOMWindows
119751        https://bugs.webkit.org/show_bug.cgi?id=78683
119752
119753        Reviewed by Kentaro Hara.
119754        
119755        A copy-n-paste disaster. This change fixed it by calling correct methods.
119756
119757        No new tests. Needs browser side mocking for testing this.
119758        A Chromium automated test covers this.
119759
119760        * page/DOMWindow.cpp:
119761        (WebCore::DOMWindow::removeAllEventListeners):
119762        * page/Page.cpp:
119763        (WebCore::Page::provideSupplement):
119764        (WebCore::Page::requireSupplement):
119765        * page/Page.h: Fix typo.
119766        (Page):
119767
1197682012-02-15  Roland Steiner  <rolandsteiner@chromium.org>
119769
119770        Unreviewed, quick build fix for 107792
119771
119772        * inspector/DOMEditor.cpp:
119773        (WebCore::DOMEditor::RemoveAttributeAction::redo):
119774
1197752012-02-15  Tony Gentilcore  <tonyg@chromium.org>
119776
119777        [chromium] Don't use increased FontCache size on Android
119778        https://bugs.webkit.org/show_bug.cgi?id=78656
119779
119780        Reviewed by Adam Barth.
119781
119782        The chromium port uses a larger font cache size because it increases
119783        performance on the intl1 and intl2 page cyclers. However, on Android
119784        devices where resources are more constrained, it isn't desireable to
119785        allow the FontCache to grow so big.
119786
119787        No new tests because no testable difference in functionality.
119788
119789        * platform/graphics/FontCache.cpp:
119790        (WebCore):
119791
1197922012-02-15  Roland Steiner  <rolandsteiner@chromium.org>
119793
119794        <style scoped>: Allow <style scoped> as a direct child of a ShadowRoot
119795        https://bugs.webkit.org/show_bug.cgi?id=77853
119796
119797        Moved registration code from Element to Node. updated Internals and build files accordingly.
119798        Moved registration data members from ElementRareData to NodeRareData.
119799        Forward willRemove() from host element into shadow DOM tree.
119800
119801        Reviewed by Dimitri Glazkov.
119802
119803        Test: fast/css/style-scoped/registering-shadowroot.html
119804
119805        * WebCore.exp.in:
119806        * dom/Element.cpp:
119807        (WebCore::Element::willRemove):
119808        * dom/Element.h:
119809        (Element):
119810        * dom/ElementRareData.h:
119811        (ElementRareData):
119812        (WebCore::ElementRareData::ElementRareData):
119813        * dom/Node.cpp:
119814        (WebCore):
119815        (WebCore::Node::hasScopedHTMLStyleChild):
119816        (WebCore::Node::numberOfScopedHTMLStyleChildren):
119817        (WebCore::Node::registerScopedHTMLStyleChild):
119818        (WebCore::Node::unregisterScopedHTMLStyleChild):
119819        * dom/Node.h:
119820        (Node):
119821        * dom/NodeRareData.h:
119822        (WebCore::NodeRareData::NodeRareData):
119823        (NodeRareData):
119824        (WebCore::NodeRareData::registerScopedHTMLStyleChild):
119825        (WebCore::NodeRareData::unregisterScopedHTMLStyleChild):
119826        (WebCore::NodeRareData::hasScopedHTMLStyleChild):
119827        (WebCore::NodeRareData::numberOfScopedHTMLStyleChildren):
119828        * dom/ShadowRootList.cpp:
119829        (WebCore::ShadowRootList::willRemove):
119830        (WebCore):
119831        * dom/ShadowRootList.h:
119832        (ShadowRootList):
119833        * html/HTMLStyleElement.cpp:
119834        (WebCore::HTMLStyleElement::registerWithScopingNode):
119835        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
119836        * testing/Internals.cpp:
119837        (WebCore::Internals::numberOfScopedHTMLStyleChildren):
119838        * testing/Internals.h:
119839        (Internals):
119840        * testing/Internals.idl:
119841
1198422012-02-14  Pavel Feldman  <pfeldman@chromium.org>
119843
119844        Web Inspector: implement redo for DOM actions.
119845        https://bugs.webkit.org/show_bug.cgi?id=78601
119846
119847        Reviewed by Yury Semikhatsky.
119848
119849        * inspector/DOMEditor.cpp:
119850        (WebCore::DOMEditor::RemoveChildAction::perform):
119851        (WebCore::DOMEditor::RemoveChildAction::redo):
119852        (DOMEditor::RemoveChildAction):
119853        (WebCore::DOMEditor::InsertBeforeAction::redo):
119854        (DOMEditor::InsertBeforeAction):
119855        (WebCore::DOMEditor::RemoveAttributeAction::perform):
119856        (WebCore::DOMEditor::RemoveAttributeAction::redo):
119857        (DOMEditor::RemoveAttributeAction):
119858        (WebCore::DOMEditor::SetAttributeAction::perform):
119859        (WebCore::DOMEditor::SetAttributeAction::redo):
119860        (DOMEditor::SetAttributeAction):
119861        (WebCore::DOMEditor::SetOuterHTMLAction::redo):
119862        (DOMEditor::SetOuterHTMLAction):
119863        (WebCore::DOMEditor::ReplaceWholeTextAction::perform):
119864        (WebCore::DOMEditor::ReplaceWholeTextAction::redo):
119865        (DOMEditor::ReplaceWholeTextAction):
119866        (WebCore::DOMEditor::ReplaceChildNodeAction::perform):
119867        (WebCore::DOMEditor::ReplaceChildNodeAction::redo):
119868        (DOMEditor::ReplaceChildNodeAction):
119869        (WebCore::DOMEditor::SetNodeValueAction::perform):
119870        (WebCore::DOMEditor::SetNodeValueAction::redo):
119871        (DOMEditor::SetNodeValueAction):
119872        * inspector/Inspector.json:
119873        * inspector/InspectorCSSAgent.cpp:
119874        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
119875        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
119876        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::redo):
119877        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
119878        (InspectorCSSAgent::SetPropertyTextAction):
119879        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
119880        (WebCore::InspectorCSSAgent::SetPropertyTextAction::redo):
119881        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
119882        (WebCore::InspectorCSSAgent::TogglePropertyAction::redo):
119883        (InspectorCSSAgent::TogglePropertyAction):
119884        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::perform):
119885        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::redo):
119886        (InspectorCSSAgent::SetRuleSelectorAction):
119887        (WebCore::InspectorCSSAgent::AddRuleAction::perform):
119888        (WebCore::InspectorCSSAgent::AddRuleAction::redo):
119889        (InspectorCSSAgent::AddRuleAction):
119890        * inspector/InspectorDOMAgent.cpp:
119891        (WebCore::InspectorDOMAgent::setNodeValue):
119892        (WebCore::InspectorDOMAgent::redo):
119893        (WebCore):
119894        * inspector/InspectorDOMAgent.h:
119895        (InspectorDOMAgent):
119896        * inspector/InspectorHistory.cpp:
119897        (WebCore::InspectorHistory::InspectorHistory):
119898        (WebCore::InspectorHistory::perform):
119899        (WebCore::InspectorHistory::markUndoableState):
119900        (WebCore::InspectorHistory::undo):
119901        (WebCore::InspectorHistory::redo):
119902        (WebCore):
119903        * inspector/InspectorHistory.h:
119904        (Action):
119905        (InspectorHistory):
119906        * inspector/front-end/CSSStyleModel.js:
119907        (WebInspector.CSSStyleModel):
119908        (WebInspector.CSSStyleModel.prototype._undoRedoRequested):
119909        (WebInspector.CSSStyleModel.prototype._undoRedoCompleted):
119910        * inspector/front-end/DOMAgent.js:
119911        (WebInspector.DOMAgent.prototype.get undo):
119912        (WebInspector.DOMAgent.prototype.redo):
119913        * inspector/front-end/ElementsPanel.js:
119914        (WebInspector.ElementsPanel.prototype.handleShortcut):
119915
1199162012-02-15  Yuta Kitamura  <yutak@chromium.org>
119917
119918        WebSocket: MessageEvent fired during send() on workers
119919        https://bugs.webkit.org/show_bug.cgi?id=76521
119920
119921        Reviewed by David Levin.
119922
119923        WebSocket's message event should not be invoked while a synchronous operation
119924        (send() and bufferedAmount) is in progress.
119925
119926        Test: http/tests/websocket/tests/hybi/workers/no-onmessage-in-sync-op.html
119927
119928        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
119929        Added #if ENABLE(WORKERS) because ThreadableWebSocketChannelClientWrapper is not used
119930        if Web Workers is not available.
119931        Changed access label because private members were declared as protected with no good reason.
119932        (WebCore::ThreadableWebSocketChannelClientWrapper::ThreadableWebSocketChannelClientWrapper):
119933        Receive ScriptExecutionContext so we can post a task that should be executed later.
119934        (WebCore::ThreadableWebSocketChannelClientWrapper::create):
119935        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasksCallback):
119936        (WebCore::ThreadableWebSocketChannelClientWrapper::processPendingTasks):
119937        * websockets/ThreadableWebSocketChannelClientWrapper.h:
119938        * websockets/WorkerThreadableWebSocketChannel.cpp:
119939        (WebCore::WorkerThreadableWebSocketChannel::WorkerThreadableWebSocketChannel):
119940
1199412012-02-15  No'am Rosenthal  <noam.rosenthal@nokia.com>
119942
119943        [Texmap] Divide TextureMapperNode.cpp to 3 files.
119944        https://bugs.webkit.org/show_bug.cgi?id=76660
119945
119946        Rename TextureMapperNode to TextureMapperLayer.
119947
119948        Reviewed by Kenneth Rohde Christiansen.
119949
119950        No new tests.
119951
119952        * GNUmakefile.list.am:
119953        * Target.pri:
119954        * WebCore.gypi:
119955        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
119956        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
119957        (WebCore::GraphicsLayerTextureMapper::notifyChange):
119958        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
119959        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
119960        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
119961        (WebCore::GraphicsLayerTextureMapper::setParent):
119962        (WebCore::GraphicsLayerTextureMapper::setChildren):
119963        (WebCore::GraphicsLayerTextureMapper::addChild):
119964        (WebCore::GraphicsLayerTextureMapper::addChildAtIndex):
119965        (WebCore::GraphicsLayerTextureMapper::addChildAbove):
119966        (WebCore::GraphicsLayerTextureMapper::addChildBelow):
119967        (WebCore::GraphicsLayerTextureMapper::replaceChild):
119968        (WebCore::GraphicsLayerTextureMapper::removeFromParent):
119969        (WebCore::GraphicsLayerTextureMapper::setMaskLayer):
119970        (WebCore::GraphicsLayerTextureMapper::setReplicatedByLayer):
119971        (WebCore::GraphicsLayerTextureMapper::setPosition):
119972        (WebCore::GraphicsLayerTextureMapper::setAnchorPoint):
119973        (WebCore::GraphicsLayerTextureMapper::setSize):
119974        (WebCore::GraphicsLayerTextureMapper::setTransform):
119975        (WebCore::GraphicsLayerTextureMapper::setChildrenTransform):
119976        (WebCore::GraphicsLayerTextureMapper::setPreserves3D):
119977        (WebCore::GraphicsLayerTextureMapper::setMasksToBounds):
119978        (WebCore::GraphicsLayerTextureMapper::setDrawsContent):
119979        (WebCore::GraphicsLayerTextureMapper::setContentsOpaque):
119980        (WebCore::GraphicsLayerTextureMapper::setBackfaceVisibility):
119981        (WebCore::GraphicsLayerTextureMapper::setOpacity):
119982        (WebCore::GraphicsLayerTextureMapper::setContentsRect):
119983        (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
119984        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
119985        (WebCore::GraphicsLayerTextureMapper::syncCompositingStateForThisLayerOnly):
119986        (WebCore::GraphicsLayerTextureMapper::syncCompositingState):
119987        (WebCore::GraphicsLayerTextureMapper::addAnimation):
119988        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
119989        (WebCore):
119990        (GraphicsLayerTextureMapper):
119991        (WebCore::GraphicsLayerTextureMapper::layer):
119992        * platform/graphics/texmap/TextureMapperLayer.cpp: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperNode.cpp.
119993        (WebCore):
119994        (WebCore::toTextureMapperLayer):
119995        (WebCore::TextureMapperLayer::rootLayer):
119996        (WebCore::TextureMapperLayer::setTransform):
119997        (WebCore::TextureMapperLayer::clearBackingStoresRecursive):
119998        (WebCore::TextureMapperLayer::computeTransformsRecursive):
119999        (WebCore::TextureMapperLayer::updateBackingStore):
120000        (WebCore::TextureMapperLayer::paint):
120001        (WebCore::TextureMapperLayer::paintSelf):
120002        (WebCore::TextureMapperLayer::compareGraphicsLayersZValue):
120003        (WebCore::TextureMapperLayer::sortByZOrder):
120004        (WebCore::TextureMapperLayer::paintSelfAndChildren):
120005        (WebCore::TextureMapperLayer::intermediateSurfaceRect):
120006        (WebCore::TextureMapperLayer::shouldPaintToIntermediateSurface):
120007        (WebCore::TextureMapperLayer::isVisible):
120008        (WebCore::TextureMapperLayer::paintSelfAndChildrenWithReplica):
120009        (WebCore::TextureMapperLayer::paintRecursive):
120010        (WebCore::TextureMapperLayer::~TextureMapperLayer):
120011        (WebCore::TextureMapperLayer::syncCompositingState):
120012        (WebCore::TextureMapperLayer::syncCompositingStateSelf):
120013        (WebCore::TextureMapperLayer::descendantsOrSelfHaveRunningAnimations):
120014        (WebCore::TextureMapperLayer::syncAnimations):
120015        (WebCore::TextureMapperLayer::syncAnimationsRecursively):
120016        * platform/graphics/texmap/TextureMapperLayer.h: Renamed from Source/WebCore/platform/graphics/texmap/TextureMapperNode.h.
120017        (WebCore):
120018        (TextureMapperPaintOptions):
120019        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
120020        (TextureMapperLayer):
120021        (WebCore::TextureMapperLayer::TextureMapperLayer):
120022        (WebCore::TextureMapperLayer::size):
120023        (WebCore::TextureMapperLayer::setOpacity):
120024        (WebCore::TextureMapperLayer::setTextureMapper):
120025        (WebCore::TextureMapperLayer::setShouldUpdateBackingStoreFromLayer):
120026        (WebCore::TextureMapperLayer::setBackingStore):
120027        (WebCore::TextureMapperLayer::backingStore):
120028        (WebCore::TextureMapperLayer::texture):
120029        (WebCore::TextureMapperLayer::layerRect):
120030        (State):
120031        (WebCore::TextureMapperLayer::State::State):
120032
1200332012-02-15  Hayato Ito  <hayato@chromium.org>
120034
120035        ShadowRoot: Remove a public static factory function which doesn't have any callers.
120036        https://bugs.webkit.org/show_bug.cgi?id=78668
120037
120038        Reviewed by Kent Tamura.
120039
120040        No tests. No change in behavior.
120041
120042        * dom/ShadowRoot.cpp:
120043        (WebCore::ShadowRoot::create):
120044        * dom/ShadowRoot.h:
120045        (ShadowRoot):
120046
1200472012-02-14  Hao Zheng  <zhenghao@chromium.org>
120048
120049        Cleanup pending transaction queue in Database.
120050        https://bugs.webkit.org/show_bug.cgi?id=75048
120051
120052        Reviewed by David Levin.
120053
120054        Each SQLTransaction has 3 SQLCallbackWrappers, and each of them
120055        holds a ref to WorkerContext. As a result, if the worker thread is
120056        stopped before all SQLTransactions are finished, the ASSERT of
120057        m_workerContext->hasOneRef() in WorkerThread::workerThread() would fail.
120058
120059        No new tests.
120060        REGRESSION(r103429) fast/workers/storage/use-same-database-in-page-and-workers.html asserts
120061
120062        * storage/Database.cpp:
120063        (WebCore::Database::close): Cleanup pending transaction queue in close().
120064        * storage/SQLCallbackWrapper.h:
120065        (WebCore::SQLCallbackWrapper::clear):
120066        (SafeReleaseTask): Make SafeReleaseTask a cleanup task, which is
120067        necessary because at the time of SafeReleaseTask is performed,
120068        WorkerRunLoop has been terminated and only runs cleanup tasks.
120069        (WebCore::SQLCallbackWrapper::SafeReleaseTask::create):
120070        (WebCore::SQLCallbackWrapper::SafeReleaseTask::performTask):
120071        (WebCore::SQLCallbackWrapper::SafeReleaseTask::isCleanupTask):
120072        (WebCore::SQLCallbackWrapper::SafeReleaseTask::SafeReleaseTask):
120073
1200742012-02-14  Antti Koivisto  <antti@apple.com>
120075
120076        https://bugs.webkit.org/show_bug.cgi?id=78662
120077        CSSStyleSelector should not rely on parent rule pointer in StylePropertySet
120078
120079        Reviewed by Andreas Kling.
120080
120081        Pass the rule pointer down to the style applying so we don't need to rely on
120082        StylePropertySet having one.
120083
120084        To make this easier the patch also refactors the matched properties vector to
120085        be part of MatchResult object instead of a member of CSSStyleSelector.
120086        
120087        Rename Declaration -> Properties.
120088        
120089        * css/CSSFontSelector.cpp:
120090        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
120091        * css/CSSStyleSelector.cpp:
120092        (WebCore::CSSStyleSelector::CSSStyleSelector):
120093        (WebCore::CSSStyleSelector::sweepMatchedPropertiesCache):
120094        (WebCore::CSSStyleSelector::addMatchedProperties):
120095        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules):
120096        (WebCore::CSSStyleSelector::matchScopedAuthorRules):
120097        (WebCore::CSSStyleSelector::matchAuthorRules):
120098        (WebCore::CSSStyleSelector::matchUserRules):
120099        (WebCore::CSSStyleSelector::matchUARules):
120100        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
120101        (WebCore::CSSStyleSelector::matchAllRules):
120102        (WebCore):
120103        (WebCore::CSSStyleSelector::initForStyleResolve):
120104        (WebCore::CSSStyleSelector::matchesRuleSet):
120105        (WebCore::CSSStyleSelector::styleForElement):
120106        (WebCore::CSSStyleSelector::styleForKeyframe):
120107        (WebCore::CSSStyleSelector::pseudoStyleForElement):
120108        (WebCore::CSSStyleSelector::styleForPage):
120109        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
120110        (WebCore::isInsideRegionRule):
120111        (WebCore::CSSStyleSelector::applyProperties):
120112        (WebCore::CSSStyleSelector::applyMatchedProperties):
120113        (WebCore::CSSStyleSelector::computeMatchedPropertiesHash):
120114        (WebCore::operator==):
120115        (WebCore::operator!=):
120116        (WebCore::CSSStyleSelector::findFromMatchedPropertiesCache):
120117        (WebCore::CSSStyleSelector::addToMatchedPropertiesCache):
120118        (WebCore::CSSStyleSelector::invalidateMatchedPropertiesCache):
120119        (WebCore::isCacheableInMatchedPropertiesCache):
120120        (WebCore::CSSStyleSelector::matchPageRules):
120121        * css/CSSStyleSelector.h:
120122        (CSSStyleSelector):
120123        (WebCore::CSSStyleSelector::addMatchedRule):
120124        (WebCore::CSSStyleSelector::MatchedProperties::MatchedProperties):
120125        (MatchedProperties):
120126        (MatchResult):
120127        (MatchedPropertiesCacheItem):
120128
1201292012-02-14  Takashi Toyoshima  <toyoshim@chromium.org>
120130
120131        WebSocketChannel minor refactoring for code manageability
120132        https://bugs.webkit.org/show_bug.cgi?id=78576
120133
120134        Reviewed by Kent Tamura.
120135
120136        Change the first argument type of WebSocketChannel
120137        from ScriptExecutionContext to Document.
120138        WebSocketChannel always assume this ScriptExecutionContext must
120139        inherit Document. Then, it results in many static cast.
120140        It isn't readable and dangerous against future code changes.
120141
120142        * websockets/ThreadableWebSocketChannel.cpp: Pass the first argument for WebSocketChannel as Document.
120143        (WebCore::ThreadableWebSocketChannel::create):
120144        * websockets/WebSocketChannel.cpp: Replace all ScriptExecutionContext* m_context descriptions to Document* m_document.
120145        (WebCore::WebSocketChannel::WebSocketChannel):
120146        (WebCore::WebSocketChannel::connect):
120147        (WebCore::WebSocketChannel::fail):
120148        (WebCore::WebSocketChannel::disconnect):
120149        (WebCore::WebSocketChannel::didOpenSocketStream):
120150        (WebCore::WebSocketChannel::didCloseSocketStream):
120151        (WebCore::WebSocketChannel::didReceiveSocketStreamData):
120152        (WebCore::WebSocketChannel::didFailSocketStream):
120153        (WebCore::WebSocketChannel::processBuffer):
120154        (WebCore::WebSocketChannel::processOutgoingFrameQueue):
120155        * websockets/WebSocketChannel.h: Change the first argument for construction to Document and hold it as Document m_document.
120156        (WebCore):
120157        (WebCore::WebSocketChannel::create):
120158        (WebSocketChannel):
120159        * websockets/WorkerThreadableWebSocketChannel.cpp: Pass the first argument for WebSocketChannel as Document.
120160        (WebCore::WorkerThreadableWebSocketChannel::Peer::Peer):
120161
1201622012-02-14  Noel Gordon  <noel.gordon@gmail.com>
120163
120164        Unreviewed, rolling out r107774.
120165        http://trac.webkit.org/changeset/107774
120166        https://bugs.webkit.org/show_bug.cgi?id=78661
120167
120168        Broke Chromium build
120169
120170        * page/EventHandler.cpp:
120171        (WebCore::EventHandler::handleGestureEvent):
120172        * platform/ScrollAnimator.cpp:
120173        (WebCore):
120174        (WebCore::ScrollAnimator::handleGestureEvent):
120175        * platform/ScrollAnimator.h:
120176        (ScrollAnimator):
120177        * platform/ScrollView.cpp:
120178        (WebCore::ScrollView::wheelEvent):
120179        * platform/ScrollView.h:
120180        (ScrollView):
120181        * platform/ScrollableArea.cpp:
120182        (WebCore):
120183        (WebCore::ScrollableArea::handleGestureEvent):
120184        * platform/ScrollableArea.h:
120185        (ScrollableArea):
120186
1201872012-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
120188
120189        Unreviewed, rolling out r107766.
120190        http://trac.webkit.org/changeset/107766
120191        https://bugs.webkit.org/show_bug.cgi?id=78665
120192
120193        Breaks Chromium Win build (Requested by bashi1 on #webkit).
120194
120195        * GNUmakefile.list.am:
120196        * WebCore.gypi:
120197        * WebCore.vcproj/WebCore.vcproj:
120198        * WebCore.xcodeproj/project.pbxproj:
120199        * websockets/WebSocketDeflater.cpp: Removed.
120200        * websockets/WebSocketDeflater.h: Removed.
120201
1202022012-02-14  Anders Carlsson  <andersca@apple.com>
120203
120204        Remove ScrollableArea::handleGestureEvent
120205        https://bugs.webkit.org/show_bug.cgi?id=78661
120206
120207        Reviewed by Sam Weinig.
120208
120209        ScrollableArea::handleGestureEvent ends up being a no-op so remove it and the related code. 
120210
120211        * page/EventHandler.cpp:
120212        (WebCore::EventHandler::handleGestureEvent):
120213        * platform/ScrollAnimator.cpp:
120214        * platform/ScrollAnimator.h:
120215        (ScrollAnimator):
120216        * platform/ScrollView.cpp:
120217        (WebCore::ScrollView::wheelEvent):
120218        * platform/ScrollView.h:
120219        (ScrollView):
120220        * platform/ScrollableArea.cpp:
120221        * platform/ScrollableArea.h:
120222        (ScrollableArea):
120223
1202242012-02-14  Kentaro Hara  <haraken@chromium.org>
120225
120226        [JSC] Cache the number of non-custom constructor arguments
120227        https://bugs.webkit.org/show_bug.cgi?id=78195
120228
120229        Reviewed by Darin Adler.
120230
120231        If [ConstructorParameters=] is specified, JSC caches the number of constructor
120232        arguments for performance. However, at present, [ConstructorParameters=] is specified
120233        on a small part of constructors (It appears that people have forgotten to
120234        add [ConstructorParameters=]). Thus, for non-custom constructors, this patch modifies
120235        CodeGeneratorJS.pm so that it caches the number of constructor arguments automatically
120236        without [ConstructorParameters=] (CodeGeneratorJS.pm can know the number of arguments
120237        by the [Constructor=...] signature).
120238
120239        Test: fast/js/constructor-length.html
120240
120241        * bindings/scripts/CodeGeneratorJS.pm:
120242        (GenerateConstructorDefinition):
120243
1202442012-02-14  Mark Rowe  <mrowe@apple.com>
120245
120246        <http://webkit.org/b/78658> platformUserPreferredLanguages is leaking all of the language codes
120247
120248        Reviewed by Darin Adler.
120249
120250        * platform/mac/Language.mm:
120251        (WebCore::httpStyleLanguageCode): Switch to using RetainPtr's for temporaries to make the ownership
120252        more explicit. Switch to returning a WTF::String so that the caller doesn't have to worry about
120253        ownership at all. Change the name to reflect the lack of transfer of ownership.
120254        (WebCore::platformUserPreferredLanguages):
120255
1202562012-02-14  Kentaro Hara  <haraken@chromium.org>
120257
120258        [Mac] PasteboardMac.mm build fails
120259        https://bugs.webkit.org/show_bug.cgi?id=78655
120260
120261        Reviewed by Hajime Morita.
120262
120263        Although the bots have been working fine, PasteboardMac.mm build fails
120264        in our local Mac environments due to an uninitialized variable:
120265
120266            /Users/haraken/WebKit/Source/WebCore/platform/mac/PasteboardMac.mm:322: warning: 'string' may be used uninitialized in this function
120267
120268        This patch initializes the 'string' to nil to fix the build failure.
120269
120270        No tests. No change in behavior.
120271
120272        * platform/mac/PasteboardMac.mm:
120273        (WebCore::Pasteboard::plainText):
120274
1202752012-02-14  Kenichi Ishibashi  <bashi@chromium.org>
120276
120277        [WebSocket] Add extension attribute support
120278        https://bugs.webkit.org/show_bug.cgi?id=78557
120279
120280        Implement WebSocket "extensions" attribute that holds a list of
120281        extension the server accepted. No change in behavior at this time
120282        because we don't send any extension on handshake.
120283
120284        Reviewed by Kent Tamura.
120285
120286        No new tests. http/tests/websocket/tests/hybi/extensions.html checks the value of this attribute.
120287
120288        * websockets/ThreadableWebSocketChannel.h: Add extensions().
120289        (ThreadableWebSocketChannel):
120290        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
120291        (WebCore::ThreadableWebSocketChannelClientWrapper::extensions): Added.
120292        (WebCore):
120293        (WebCore::ThreadableWebSocketChannelClientWrapper::setExtensions): Added.
120294        * websockets/ThreadableWebSocketChannelClientWrapper.h:
120295        (ThreadableWebSocketChannelClientWrapper):
120296        * websockets/WebSocket.cpp: Added m_extensions member variable.
120297        (WebCore::WebSocket::WebSocket):
120298        (WebCore::WebSocket::extensions): Returns m_extensions.
120299        * websockets/WebSocket.h:
120300        * websockets/WebSocketChannel.cpp:
120301        (WebCore::WebSocketChannel::extensions): Added.
120302        (WebCore):
120303        * websockets/WebSocketChannel.h:
120304        (WebSocketChannel):
120305        * websockets/WebSocketExtensionDispatcher.cpp:
120306        (WebCore::WebSocketExtensionDispatcher::fail): Added.
120307        (WebCore::WebSocketExtensionDispatcher::processHeaderValue): Stores accepted extensions.
120308        (WebCore::WebSocketExtensionDispatcher::acceptedExtensions): Added.
120309        (WebCore):
120310        (WebCore::WebSocketExtensionDispatcher::acceptedExtensions): Added.
120311        * websockets/WebSocketExtensionDispatcher.h:
120312        (WebSocketExtensionDispatcher):
120313        * websockets/WebSocketHandshake.cpp:
120314        (WebCore::WebSocketHandshake::acceptedExtensions): Added.
120315        (WebCore):
120316        * websockets/WebSocketHandshake.h:
120317        * websockets/WorkerThreadableWebSocketChannel.cpp:
120318        (WebCore::WorkerThreadableWebSocketChannel::extensions): Added.
120319        (WebCore):
120320        (WebCore::workerContextDidConnect): Calls ThreadableWebSocketChannelClientWrapper::setExtensions().
120321        (WebCore::WorkerThreadableWebSocketChannel::Peer::didConnect): Passes extensions as an argument.
120322        * websockets/WorkerThreadableWebSocketChannel.h:
120323        (WorkerThreadableWebSocketChannel):
120324
1203252012-02-14  Kentaro Hara  <haraken@chromium.org>
120326
120327        Rename [JSGenerateToJS] to [JSGenerateToJSObject]
120328        https://bugs.webkit.org/show_bug.cgi?id=78490
120329
120330        Reviewed by Adam Barth.
120331
120332        This patch renames [JSGenerateToJS] to [JSGenerateToJSObject],
120333        for naming consistency with [CustomToJSObject], [JSCustomToJSObject] and [V8CustomToJSObject].
120334
120335        No tests. No change in behavior.
120336
120337        * bindings/scripts/CodeGeneratorJS.pm:
120338        (GenerateHeader):
120339        (GenerateImplementation):
120340        * dom/WebKitNamedFlow.idl:
120341        * fileapi/DirectoryEntry.idl:
120342        * fileapi/DirectoryEntrySync.idl:
120343        * fileapi/File.idl:
120344        * fileapi/FileEntry.idl:
120345        * fileapi/FileEntrySync.idl:
120346        * html/DOMFormData.idl:
120347        * html/DOMSettableTokenList.idl:
120348        * html/DOMURL.idl:
120349        * html/MediaController.idl:
120350        * mediastream/LocalMediaStream.idl:
120351        * webaudio/AudioBufferCallback.idl:
120352        * webaudio/AudioBufferSourceNode.idl:
120353        * webaudio/AudioDestinationNode.idl:
120354        * webaudio/AudioGain.idl:
120355        * webaudio/AudioGainNode.idl:
120356        * webaudio/AudioPannerNode.idl:
120357        * webaudio/AudioProcessingEvent.idl:
120358        * webaudio/BiquadFilterNode.idl:
120359        * webaudio/ConvolverNode.idl:
120360        * webaudio/DelayNode.idl:
120361        * webaudio/DynamicsCompressorNode.idl:
120362        * webaudio/HighPass2FilterNode.idl:
120363        * webaudio/JavaScriptAudioNode.idl:
120364        * webaudio/LowPass2FilterNode.idl:
120365        * webaudio/MediaElementAudioSourceNode.idl:
120366        * webaudio/OfflineAudioCompletionEvent.idl:
120367        * webaudio/RealtimeAnalyserNode.idl:
120368        * webaudio/WaveShaperNode.idl:
120369        * workers/SharedWorker.idl:
120370        * workers/Worker.idl:
120371
1203722012-02-14  Kenichi Ishibashi  <bashi@chromium.org>
120373
120374        [WebSocket] Add deflater/inflater classes
120375        https://bugs.webkit.org/show_bug.cgi?id=78449
120376
120377        Add WebSocketDeflater/WebSocketInflater classes which wrap zlib
120378        functions. These classes are not used yet, but will be used for
120379        supporting WebSocket deflate-frame extension.
120380
120381        Reviewed by Kent Tamura.
120382
120383        No new tests except for chromium port. Behavior is unchanged.
120384
120385        * GNUmakefile.list.am: Added.WebSocketDeflater.(cpp|h).
120386        * WebCore.gypi: Ditto.
120387        * WebCore.vcproj/WebCore.vcproj: Ditto.
120388        * WebCore.xcodeproj/project.pbxproj: Ditto.
120389        * websockets/WebSocketDeflater.cpp: Added.
120390        (WebCore):
120391        (WebCore::WebSocketDeflater::create):
120392        (WebCore::WebSocketDeflater::WebSocketDeflater):
120393        (WebCore::WebSocketDeflater::initialize):
120394        (WebCore::WebSocketDeflater::~WebSocketDeflater):
120395        (WebCore::WebSocketDeflater::addBytes):
120396        (WebCore::WebSocketDeflater::finish):
120397        (WebCore::WebSocketDeflater::reset):
120398        (WebCore::WebSocketInflater::create):
120399        (WebCore::WebSocketInflater::WebSocketInflater):
120400        (WebCore::WebSocketInflater::initialize):
120401        (WebCore::WebSocketInflater::~WebSocketInflater):
120402        (WebCore::WebSocketInflater::addBytes):
120403        (WebCore::WebSocketInflater::finish):
120404        (WebCore::WebSocketInflater::reset):
120405        * websockets/WebSocketDeflater.h: Added.
120406        (WebCore):
120407        (WebSocketDeflater):
120408        (WebCore::WebSocketDeflater::data):
120409        (WebCore::WebSocketDeflater::size):
120410        (WebSocketInflater):
120411        (WebCore::WebSocketInflater::data):
120412        (WebCore::WebSocketInflater::size):
120413
1204142012-02-14  Dana Jansens  <danakj@chromium.org>
120415
120416        [chromium] Compare filters on impl thread when setting them, and test setting in unit tests
120417        https://bugs.webkit.org/show_bug.cgi?id=78643
120418
120419        Reviewed by James Robinson.
120420
120421        Add setFilters() coverage to CCLayerImplTest.cpp
120422
120423        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
120424        (WebCore::CCLayerImpl::setFilters):
120425
1204262012-02-14  Ryosuke Niwa  <rniwa@webkit.org>
120427
120428        Crash in deleteInsignificantText
120429        https://bugs.webkit.org/show_bug.cgi?id=78567
120430
120431        Reviewed by Eric Seidel.
120432
120433        Fix the crash. Also update layout at the beginning of each call to deleteInsignificantText
120434        since the previous call may have mutated the DOM.
120435
120436        Test: editing/inserting/delete-insignificant-text-crash.html
120437
120438        * editing/CompositeEditCommand.cpp:
120439        (WebCore::CompositeEditCommand::deleteInsignificantText):
120440
1204412012-02-14  Levi Weintraub  <leviw@chromium.org>
120442
120443        Prepare RenderLayerBacking and RenderLayerCompositor for subpixel layout
120444        https://bugs.webkit.org/show_bug.cgi?id=78630
120445
120446        Reviewed by Simon Fraser.
120447
120448        In our transition to subpixel layout in the render tree, we continue to pass RenderLayerBacking
120449        and RenderLayerCompositor integer (pixel) sizes and positions. This patch moves nearly all
120450        methods and members on these two classes back to integers, and applies pixel snapping logic to
120451        LayoutUnits pulled in.
120452
120453        No new tests. No change in behavior.
120454
120455        * rendering/RenderBox.h:
120456        (WebCore::RenderBox::pixelSnappedLayoutOverflowRect): Convenience function for getting pixel
120457        snapped overflow bounds.
120458        * rendering/RenderLayerBacking.cpp:
120459        (WebCore):
120460        (WebCore::RenderLayerBacking::updateCompositedBounds): Switch to integers and pixel snapping the
120461        clipping bounds.
120462        (WebCore::clipBox): Returns a pixel snapped rect.
120463        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Using pixelSnappedLayerCoords. Removing
120464        pixelSnappedIntRect calls to clipBox since this is now an IntRect.
120465        (WebCore::RenderLayerBacking::computeTransformOrigin): Switching to operate on a pixel snapped rect.
120466        (WebCore::RenderLayerBacking::computePerspectiveOrigin): Ditto.
120467        (WebCore::RenderLayerBacking::contentOffsetInCompostingLayer): Returns a size based on m_compositingBounds,
120468        which is now an IntSize.
120469        (WebCore::RenderLayerBacking::contentsBox): Switching to use pixel snapped values from the render tree.
120470        (WebCore::RenderLayerBacking::setContentsNeedDisplayInRect): This now takes in and outputs integers.
120471        (WebCore::RenderLayerBacking::paintIntoLayer): Uses a pixel snapped rect for the dirty rect.
120472        (WebCore::paintScrollbar): Scrollbars are Widgets & painted natively, so they should use integers.
120473        (WebCore::RenderLayerBacking::paintContents): We now properly take in an integer clip rect, as it's
120474        used for the scrollbars. 
120475        (WebCore::RenderLayerBacking::startAnimation): Using pixel snapped values for animations and transitions.
120476        (WebCore::RenderLayerBacking::startTransition): Ditto.
120477        (WebCore::RenderLayerBacking::compositedBounds): Composited bounds are now properly stored as integers.
120478        (WebCore::RenderLayerBacking::setCompositedBounds): Ditto.
120479        * rendering/RenderLayerBacking.h:
120480        (RenderLayerBacking):
120481        * rendering/RenderLayerCompositor.cpp:
120482        (WebCore::RenderLayerCompositor::calculateCompositedBounds): Composited bounds are pixel snapped, but
120483        we use LayoutUnits up until we snap and return.
120484        (WebCore::RenderLayerCompositor::addToOverlapMap): Overlap mapping uses our integer positions. Switching
120485        it back to operating on them.
120486        (WebCore::RenderLayerCompositor::addToOverlapMapRecursive): Ditto.
120487        (WebCore::RenderLayerCompositor::overlapsCompositedLayers): Ditto.
120488        (WebCore::RenderLayerCompositor::computeCompositingRequirements): Using integers.
120489        (WebCore::RenderLayerCompositor::frameViewDidChangeLocation): FrameViews are on integer bounds. We now
120490        properly use these as integers.
120491        (WebCore::RenderLayerCompositor::frameViewDidScroll): Ditto.
120492        (WebCore::RenderLayerCompositor::recursiveRepaintLayerRect): Switching to use integers and
120493        pixelSnappedLayerCoords.
120494        (WebCore::RenderLayerCompositor::repaintCompositedLayersAbsoluteRect): Ditto.
120495        (WebCore::RenderLayerCompositor::updateRootLayerPosition): Using integer positions, which are what
120496        the apis used already returned.
120497        (WebCore::RenderLayerCompositor::requiresCompositingForPlugin): Using pixel snapped values.
120498        (WebCore::RenderLayerCompositor::requiresCompositingForFrame): Ditto.
120499        (WebCore::paintScrollbar): Scrollbars should always use integers.
120500        (WebCore::RenderLayerCompositor::paintContents): Switching to use an integer clip rect.
120501        (WebCore::RenderLayerCompositor::ensureRootLayer): Using values from new pixelSnappedLayoutOverflowRect
120502        method on RenderBox to ensure we're using values that are pixel snapped to the proper location.
120503        (WebCore::RenderLayerCompositor::destroyRootLayer): Properly calling scrollbar invalidation methods
120504        with integers.
120505        * rendering/RenderLayerCompositor.h:
120506        (RenderLayerCompositor):
120507
1205082012-02-14  Anders Carlsson  <andersca@apple.com>
120509
120510        Swipe gestures don't work if main frame has a horizontal scrollbar
120511        https://bugs.webkit.org/show_bug.cgi?id=78650
120512        <rdar://problem/10864993>
120513
120514        Reviewed by Sam Weinig.
120515
120516        Change ScrollingTree::tryToHandleWheelEvent so we can indicate that an event was
120517        processed by the scrolling tree but that we should indicate back to WebKit that it wasn't handled.
120518
120519        * page/scrolling/ScrollingTree.cpp:
120520        (WebCore::ScrollingTree::ScrollingTree):
120521        Initialize new member variables.
120522
120523        (WebCore::ScrollingTree::tryToHandleWheelEvent):
120524        If the wheel event will start a swipe gesture, return DidNotHandleEvent.
120525
120526        (WebCore::ScrollingTree::updateBackForwardState):
120527        This can now be called from any thread, so use a mutex.
120528
120529        (WebCore::ScrollingTree::setMainFramePinState):
120530        New function that will set the current main frame pin state.
120531
120532        (WebCore::ScrollingTree::canGoBack):
120533        (WebCore::ScrollingTree::canGoForward):
120534        Put locks around these.
120535
120536        (WebCore::ScrollingTree::willWheelEventStartSwipeGesture):
120537        Helper function that returns whether the given wheel event will start a swipe gesture
120538        because the main frame is pinned to the left/right and we can go back/forward.
120539
120540        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
120541        (WebCore::ScrollingTreeNodeMac::update):
120542        Call updateMainFramePinState if the frame geometry changes.
120543
120544        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
120545        Call updateMainFramePinState.
120546
120547        (WebCore::ScrollingTreeNodeMac::updateMainFramePinState):
120548        Compute the main frame pin state and set it on the scrolling tree.
120549
1205502012-02-14  Brian Weinstein  <bweinstein@apple.com>
120551
120552        Web Inspector: Add the ability to show the resources panel on launch
120553        https://bugs.webkit.org/show_bug.cgi?id=78641
120554
120555        Reviewed by Timothy Hatcher.
120556
120557        * WebCore.exp.in: Add a new function to be exported.
120558        * inspector/InspectorFrontendClientLocal.cpp:
120559        (WebCore::InspectorFrontendClientLocal::showResources): Call showResources on load.
120560        * inspector/InspectorFrontendClientLocal.h:
120561        (InspectorFrontendClientLocal):
120562        * inspector/front-end/InspectorFrontendAPI.js:
120563        (InspectorFrontendAPI.showResources): Show the resources panel.
120564
1205652012-02-14  Enrica Casucci  <enrica@apple.com>
120566
120567        REGRESSION (r107568-r107627): Crash when copying in WebCore::SharedBuffer::hasPlatformData().
120568        https://bugs.webkit.org/show_bug.cgi?id=78577
120569
120570        Reviewed by Dan Bernstein.
120571
120572        * platform/mac/PlatformPasteboardMac.mm:
120573        (WebCore::PlatformPasteboard::setBufferForType): Missing null check when
120574        setting data to the NSPasteboard.
120575
1205762012-02-14  Ryosuke Niwa  <rniwa@webkit.org>
120577
120578        Crash in WebCore::SVGElement::removedFromDocument
120579        https://bugs.webkit.org/show_bug.cgi?id=77270
120580
120581        Reviewed by Adam Barth.
120582
120583        Add a protector before calling NodeRemovalDispatcher::dispatch since
120584        NodeRemovalDispatcher::dispatch may remove the last RefPtr to this node.
120585
120586        Test: fast/dom/Range/surround-contents-font-face-crash.svg
120587
120588        * dom/ContainerNodeAlgorithms.h:
120589        (WebCore::Private::addChildNodesToDeletionQueue):
120590
1205912012-02-14  Matt Lilek  <mrl@apple.com>
120592
120593        Don't ENABLE_DASHBOARD_SUPPORT unconditionally on all Mac platforms
120594        https://bugs.webkit.org/show_bug.cgi?id=78629
120595
120596        Reviewed by David Kilzer.
120597
120598        * Configurations/FeatureDefines.xcconfig:
120599
1206002012-02-14  Andreas Kling  <awesomekling@apple.com>
120601
120602        Avoid full style recalc when presentation attributes change.
120603        <http://webkit.org/b/78636>
120604
120605        Reviewed by Antti Koivisto.
120606
120607        Use setNeedsStyleRecalc(InlineStyleChange) when a presentation attribute changes
120608        to reduce the amount of work done in recalcStyle().
120609
120610        * dom/StyledElement.cpp:
120611        (WebCore::StyledElement::attributeChanged):
120612
1206132012-02-14  Ramya Chandrasekaran  <cramya@google.com>
120614
120615        Last character display for passwords in Android.
120616        https://bugs.webkit.org/show_bug.cgi?id=78532
120617
120618        Reviewed by Adam Barth.
120619
120620        * page/Settings.cpp:
120621        (WebCore::Settings::Settings):
120622
1206232012-02-14  Joshua Bell  <jsbell@chromium.org>
120624
120625        IndexedDB: Invalid dates should not be valid keys
120626        https://bugs.webkit.org/show_bug.cgi?id=78622
120627
120628        Reviewed by Tony Chang.
120629
120630        Tests: storage/indexeddb/invalid-keys.html
120631               storage/indexeddb/factory-cmp.html
120632
120633        * bindings/v8/IDBBindingUtilities.cpp: Special case for NaN Dates.
120634        (WebCore::createIDBKeyFromValue):
120635
1206362012-02-14  Ken Buchanan  <kenrb@chromium.org>
120637
120638        Crash from line break iterators in counter content
120639        https://bugs.webkit.org/show_bug.cgi?id=72977
120640
120641        Reviewed by David Hyatt.
120642
120643        Calculating the width of counter text can sometimes cause the
120644        underlying text buffer to change. This patch causes the iterator
120645        to reset appropriately when this happens.
120646
120647        * rendering/RenderBlockLineLayout.cpp:
120648        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
120649
1206502012-02-14  Levi Weintraub  <leviw@chromium.org>
120651
120652        Update usage of LayoutUnits in RenderLayer
120653        https://bugs.webkit.org/show_bug.cgi?id=78511
120654
120655        Reviewed by Simon Fraser.
120656
120657        Updating RenderLayer to properly use LayoutUnits. See descriptions below for the rationale behind all
120658        the changes. Also adding a roundedIntSize method that takes a LayoutSize.
120659
120660        No new tests. No change in behavior.
120661
120662        * rendering/LayoutTypes.h:
120663        (WebCore::roundedIntSize): Inline method that currently does nothing, but will round a LayoutSize
120664        to an IntSize.
120665        * rendering/RenderLayer.cpp:
120666        (WebCore::RenderLayer::updateLayerPositions): Switching repaint and outline boxes to LayoutRects, as
120667        it's important to keep the precision of these rects until handing off to the embedder (in FrameView).
120668        (WebCore::RenderLayer::computeRepaintRects): Repaint rects should be preserved in subpixel units until
120669        being passed to the embedding layer. This prevents needless repaints.
120670        (WebCore::RenderLayer::convertToPixelSnappedLayerCoords): Convenience function to return pixel snapped rects
120671        (WebCore):
120672        (WebCore::RenderLayer::convertToLayerCoords): Fixing a style flaw.
120673        (WebCore::RenderLayer::scrollRectToVisible): Pixel snapping the rect when handing off to the embedder.
120674        (WebCore::RenderLayer::maximumScrollPosition): Scroll offsets are rounded.
120675        (WebCore::RenderLayer::scrollCornerRect): Scrollbars are drawn natively and should be positioned on pixel
120676        boundaries.
120677        (WebCore::RenderLayer::scrollCornerAndResizerRect): Resize corner doesn't influence the size/position of
120678        render objects. It is only painted and hit tested. Therefor it should use integers.
120679        (WebCore::RenderLayer::offsetFromResizeCorner): Ditto.
120680        (WebCore::RenderLayer::positionOverflowControls): Overflow controls are drawn natively and should be
120681        positioned on integer boundaries.
120682        (WebCore::RenderLayer::paintOverflowControls): Ditto.
120683        (WebCore::RenderLayer::paintScrollCorner): Ditto.
120684        (WebCore::RenderLayer::drawPlatformResizerImage): Ditto.
120685        (WebCore::RenderLayer::paintResizer): Ditto.
120686        (WebCore::RenderLayer::hitTestOverflowControls): Hit testing & overflow controls both use integers.
120687        (WebCore::RenderLayer::clipToRect): Clipping to actual painted (pixel snapped) layer bounds in the
120688        graphics context.
120689        (WebCore::RenderLayer::paintLayerContents): Calling paintOverflowControls at pixel bounds.
120690        (WebCore::RenderLayer::hitTest): Intersecting the hit test area with pixel snapped boundaries.
120691        (WebCore::RenderLayer::setBackingNeedsRepaintInRect): Sending pixelSnapped rects to the backing
120692        store, which only cares about pixels, and hence integers.
120693        * rendering/RenderLayer.h:
120694        (WebCore::RenderLayer::scrolledContentOffset): RenderLayer's scroll offsets are used in platform
120695        code, so we need to return them as integers. Rounding the scroll overflow before adding it to the
120696        scroll offset, which was already stored in integers.
120697        (RenderLayer):
120698
1206992012-02-14  Abhishek Arya  <inferno@chromium.org>
120700
120701        Crash in NavigationScheduler::schedule.
120702        https://bugs.webkit.org/show_bug.cgi?id=78297
120703
120704        Reviewed by Adam Barth.
120705
120706        Protect frame pointer and navigation scheduler when we stop the
120707        load (when redirect is scheduled during a load). Also, dont fire
120708        the navigation scheduler timer when we know that frameloader is
120709        going away.
120710
120711        Test: http/tests/navigation/navigation-redirect-schedule-crash.html
120712
120713        * loader/NavigationScheduler.cpp:
120714        (WebCore::NavigationScheduler::schedule):
120715
1207162012-02-14  Alexis Menard  <alexis.menard@openbossa.org>
120717
120718        font shorthand with inherit keyword incorrectly parsed and rendered
120719        https://bugs.webkit.org/show_bug.cgi?id=20181
120720
120721        Reviewed by Tony Chang.
120722
120723        As stated in http://www.w3.org/TR/CSS21/changes.html#q142
120724        if the inherit (and also by extension initial) is encountered in the
120725        middle of the shorthand then the property becomes invalid.
120726
120727        Test: fast/css/font-shorthand-mix-inherit.html
120728
120729        * css/CSSParser.cpp:
120730        (WebCore::CSSParser::parseFont):
120731        (WebCore::CSSParser::parseFontFamily):
120732
1207332012-02-14  Abhishek Arya  <inferno@chromium.org>
120734
120735        Crash due to incorrect firing of mutation event during class attribute parsing.
120736        https://bugs.webkit.org/show_bug.cgi?id=78537
120737
120738        Reviewed by Ryosuke Niwa.
120739
120740        Test: fast/dom/class-attr-change-double-mutation-fire.html
120741
120742        * dom/StyledElement.cpp:
120743        (WebCore::StyledElement::classAttributeChanged):
120744
1207452012-02-14  Mike Lawther  <mikelawther@chromium.org>
120746
120747        CSS3 calc: add isZero implementations to catch divide by zero
120748        https://bugs.webkit.org/show_bug.cgi?id=78603
120749
120750        Reviewed by Ojan Vafai.
120751
120752        * css/CSSCalculationValue.cpp:
120753        (WebCore::CSSCalcPrimitiveValue::isZero):
120754        (CSSCalcPrimitiveValue):
120755        (WebCore::CSSCalcBinaryOperation::isZero):
120756        (CSSCalcBinaryOperation):
120757        * css/CSSCalculationValue.h:
120758        (CSSCalcExpressionNode):
120759
1207602012-02-12  Timothy Hatcher  <timothy@apple.com>
120761
120762        Don't include CachedResources that haven't downloaded when populating the Web Inspector on load.
120763
120764        https://webkit.org/b/78447
120765        rdar://problem/10843542
120766
120767        Reviewed by Brian Weinstein.
120768
120769        Test: inspector/protocol/page-agent.html
120770
120771        * inspector/InspectorPageAgent.cpp:
120772        (WebCore::InspectorPageAgent::cachedResourcesForFrame): Skip CachedFonts and CachedImages that
120773        return true for stillNeedsLoad.
120774        * loader/cache/CachedFont.h:
120775        (WebCore::CachedFont::stillNeedsLoad): Added.
120776
1207772012-02-12  Timothy Hatcher  <timothy@apple.com>
120778
120779        Web Inspector: include failed and canceled in FrameResourceTree.
120780
120781        https://webkit.org/b/78445
120782
120783        Reviewed by Pavel Feldman.
120784
120785        Test: inspector/protocol/page-agent.html
120786
120787        * WebCore.xcodeproj/project.pbxproj: Added Inspector.json, Inspector-0.1.json and Inspector-1.0.json
120788        for quick access and easy editing.
120789        * inspector/Inspector.json: Added failed and canceled as optional properties to the object for resources in FrameResourceTree.
120790        * inspector/InspectorPageAgent.cpp:
120791        (WebCore::InspectorPageAgent::buildObjectForFrameTree): Set those properties.
120792
1207932012-02-14  Csaba Osztrogonác  <ossy@webkit.org>
120794
120795        Typo fix after r107707.
120796
120797        * platform/graphics/texmap/TextureMapperNode.cpp:
120798        (WebCore::TextureMapperNode::updateBackingStore):
120799
1208002012-02-14  Andrey Kosyakov  <caseq@chromium.org>
120801
120802        Web Inspector: [refactoring] extract TimelineOverviewWindow from TimelineOverviewPanel
120803        https://bugs.webkit.org/show_bug.cgi?id=78599
120804
120805        Reviewed by Pavel Feldman.
120806
120807        * inspector/front-end/TimelineOverviewPane.js:
120808        (WebInspector.TimelineOverviewPane):
120809        (WebInspector.TimelineOverviewPane.prototype.reset):
120810        (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
120811        (WebInspector.TimelineOverviewWindow):
120812        (WebInspector.TimelineOverviewWindow.prototype.reset):
120813        (WebInspector.TimelineOverviewWindow.prototype.scrollWindow):
120814        (WebInspector.TimelineOverviewWindow.prototype._windowResizeDragging):
120815        (WebInspector.TimelineOverviewWindow.prototype._dragWindow):
120816        (WebInspector.TimelineOverviewWindow.prototype._windowSelectorDragging):
120817        (WebInspector.TimelineOverviewWindow.prototype._endWindowSelectorDragging):
120818        (WebInspector.TimelineOverviewWindow.prototype._windowDragging):
120819        (WebInspector.TimelineOverviewWindow.prototype._resizeWindowRight):
120820        (WebInspector.TimelineOverviewWindow.prototype._resizeWindowMaximum):
120821        (WebInspector.TimelineOverviewWindow.prototype._setWindowPosition):
120822        (WebInspector.TimelineOverviewWindow.prototype._endWindowDragging):
120823        (WebInspector.TimelinePanel.WindowSelector):
120824
1208252012-02-14  Vsevolod Vlasov  <vsevik@chromium.org>
120826
120827        Web Inspector: Make ScriptsNavigator default file selector.
120828        https://bugs.webkit.org/show_bug.cgi?id=78349
120829
120830        Reviewed by Pavel Feldman.
120831
120832        Moved ScriptsNavigator out of experiments.
120833        Introduced new setting "useScriptsNavigator" with true as default value.
120834        Updated scripts panel tests related to file selector.
120835
120836        Tests: inspector/debugger/scripts-combobox-file-selector-history.html
120837               inspector/debugger/scripts-file-selector.html
120838
120839        * English.lproj/localizedStrings.js:
120840        * inspector/front-end/DebuggerPresentationModel.js:
120841        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
120842        * inspector/front-end/ScriptsNavigator.js:
120843        (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
120844        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
120845        * inspector/front-end/ScriptsPanel.js:
120846        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
120847        (WebInspector.ScriptsPanel.prototype._addUISourceCode):
120848        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
120849        * inspector/front-end/Settings.js:
120850        (WebInspector.ExperimentsSettings):
120851        * inspector/front-end/SettingsScreen.js:
120852        (WebInspector.SettingsScreen):
120853
1208542012-02-14  No'am Rosenthal  <noam.rosenthal@nokia.com>
120855
120856        [Qt][Texmap] Refactor backing-store code in TextureMapper
120857        https://bugs.webkit.org/show_bug.cgi?id=78305
120858
120859        Instead of dealing with tiling inside of TextureMapperNode, we now deal with that in a new
120860        TextureMapperBackingStore class. Since the class is abstract, WebKit2 can overload it to
120861        support remotely-managed tiles.
120862        The backing-store for directly composited images is handled separately, in a new class
120863        TextureMapperCompositedImage. The TextureMapper implementation decides the dimension of
120864        the tiles, for example 2000 in the case of OpenGL.
120865        Also, directly composited content is now handled correctly, by painting it after the regular
120866        content and not as part of the same texture.
120867
120868        To make this work, the functions in TextureMapperPlatformLayers had to become non-const,
120869        thus the changes to that file and GraphicsContext3DQt.
120870
120871        Reviewed by Kenneth Rohde Christiansen.
120872
120873        No new functionality, no new tests.
120874
120875        * GNUmakefile.list.am:
120876        * Target.pri:
120877        * WebCore.gypi:
120878        * platform/graphics/opengl/TextureMapperGL.h:
120879        (WebCore::TextureMapperGL::maxTextureDimension):
120880        * platform/graphics/qt/GraphicsContext3DQt.cpp:
120881        (GraphicsContext3DPrivate):
120882        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
120883        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
120884        (WebCore::GraphicsLayerTextureMapper::GraphicsLayerTextureMapper):
120885        (WebCore::GraphicsLayerTextureMapper::didSynchronize):
120886        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplay):
120887        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
120888        (WebCore::GraphicsLayerTextureMapper::setNeedsDisplayInRect):
120889        (WebCore::GraphicsLayerTextureMapper::addChildBelow):
120890        (WebCore):
120891        (WebCore::GraphicsLayerTextureMapper::getContentsLayer):
120892        (WebCore::GraphicsLayerTextureMapper::setContentsToImage):
120893        (WebCore::GraphicsLayerTextureMapper::setContentsToMedia):
120894        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
120895        (GraphicsLayerTextureMapper):
120896        (WebCore::GraphicsLayerTextureMapper::platformLayer):
120897        (WebCore::GraphicsLayerTextureMapper::needsDisplay):
120898        (WebCore::GraphicsLayerTextureMapper::needsDisplayRect):
120899        * platform/graphics/texmap/TextureMapper.cpp:
120900        * platform/graphics/texmap/TextureMapper.h:
120901        (WebCore::TextureMapper::maxTextureDimension):
120902        (TextureMapper):
120903        * platform/graphics/texmap/TextureMapperBackingStore.cpp: Added.
120904        * platform/graphics/texmap/TextureMapperBackingStore.h: Added.
120905        * platform/graphics/texmap/TextureMapperNode.cpp:
120906        (WebCore::TextureMapperNode::backingStore):
120907        (WebCore::TextureMapperNode::updateBackingStore):
120908        (WebCore::TextureMapperNode::paint):
120909        (WebCore::TextureMapperNode::paintSelf):
120910        (WebCore::TextureMapperNode::intermediateSurfaceRect):
120911        (WebCore::TextureMapperNode::paintRecursive):
120912        (WebCore::TextureMapperNode::syncCompositingStateSelf):
120913        (WebCore::TextureMapperNode::syncCompositingState):
120914        * platform/graphics/texmap/TextureMapperNode.h:
120915        (TextureMapperPaintOptions):
120916        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
120917        (WebCore::TextureMapperNode::TextureMapperNode):
120918        (TextureMapperNode):
120919        (WebCore::TextureMapperNode::setBackingStore):
120920        (WebCore::TextureMapperNode::texture):
120921        (WebCore::TextureMapperNode::layerRect):
120922        (WebCore::TextureMapperNode::createBackingStore):
120923        (State):
120924        (WebCore::TextureMapperNode::State::State):
120925        * platform/graphics/texmap/TextureMapperPlatformLayer.h:
120926        (TextureMapperPlatformLayer):
120927        (WebCore::TextureMapperPlatformLayer::swapBuffers):
120928
1209292012-02-14  Shinya Kawanaka  <shinyak@google.com>
120930
120931        Use youngestShadowRoot and oldestShadowRoot instead of Element::shadowRoot().
120932        https://bugs.webkit.org/show_bug.cgi?id=78455
120933
120934        Reviewed by Hajime Morita.
120935
120936        Element::shadowRoot() was used for these 3 purposes.
120937        1. checks a shadow root exists.
120938        2. gets author shadow root.
120939        3. gets user agent shadow root.
120940
120941        We have to distinguish them when implementing multiple shadow subtrees.
120942
120943        Calling for (1), (2), and (3) are convered to hasShadowRoot(),
120944        ShadowRootList()->youngestShadowRoot(), and ShadowRootList()->oldestShadowRoot() respectively.
120945
120946        No new tests, no change in behavior.
120947
120948        * WebCore.exp.in:
120949        * dom/Document.cpp:
120950        (WebCore::Document::buildAccessKeyMap):
120951        * dom/Element.cpp:
120952        (WebCore::Element::insertedIntoDocument):
120953        (WebCore::Element::removedFromDocument):
120954        (WebCore::Element::insertedIntoTree):
120955        (WebCore::Element::removedFromTree):
120956        (WebCore::Element::attach):
120957        (WebCore::Element::detach):
120958        (WebCore::Element::recalcStyle):
120959        (WebCore::Element::ensureShadowRoot):
120960        (WebCore::Element::childrenChanged):
120961        (WebCore::Element::focus):
120962        * dom/Element.h:
120963        (Element):
120964        * dom/EventDispatcher.cpp:
120965        (WebCore::isShadowHost):
120966        * dom/Node.cpp:
120967        (WebCore::shadowRoot):
120968        * dom/NodeRenderingContext.cpp:
120969        (WebCore::NodeRenderingContext::NodeRenderingContext):
120970        * dom/ShadowRoot.cpp:
120971        (WebCore::ShadowRoot::create):
120972        * dom/ShadowRootList.cpp:
120973        (WebCore::ShadowRootList::insertedIntoDocument):
120974        (WebCore):
120975        (WebCore::ShadowRootList::removedFromDocument):
120976        (WebCore::ShadowRootList::insertedIntoTree):
120977        (WebCore::ShadowRootList::removedFromTree):
120978        (WebCore::ShadowRootList::hostChildrenChanged):
120979        (WebCore::ShadowRootList::attach):
120980        (WebCore::ShadowRootList::detach):
120981        * dom/ShadowRootList.h:
120982        (ShadowRootList):
120983        * dom/TreeScopeAdopter.cpp:
120984        (WebCore::shadowRootFor):
120985        * html/FileInputType.cpp:
120986        (WebCore::FileInputType::createShadowSubtree):
120987        (WebCore::FileInputType::multipleAttributeChanged):
120988        * html/HTMLDetailsElement.cpp:
120989        (WebCore::HTMLDetailsElement::createShadowSubtree):
120990        (WebCore::HTMLDetailsElement::findMainSummary):
120991        * html/HTMLInputElement.cpp:
120992        (WebCore::HTMLInputElement::createShadowSubtree):
120993        * html/HTMLKeygenElement.cpp:
120994        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
120995        (WebCore::HTMLKeygenElement::shadowSelect):
120996        * html/HTMLMediaElement.cpp:
120997        (WebCore::HTMLMediaElement::mediaControls):
120998        (WebCore::HTMLMediaElement::hasMediaControls):
120999        * html/HTMLMeterElement.cpp:
121000        (WebCore::HTMLMeterElement::createShadowSubtree):
121001        * html/HTMLProgressElement.cpp:
121002        (WebCore::HTMLProgressElement::createShadowSubtree):
121003        * html/HTMLSummaryElement.cpp:
121004        (WebCore::HTMLSummaryElement::createShadowSubtree):
121005        * html/HTMLTextAreaElement.cpp:
121006        (WebCore::HTMLTextAreaElement::createShadowSubtree):
121007        (WebCore::HTMLTextAreaElement::innerTextElement):
121008        (WebCore::HTMLTextAreaElement::updatePlaceholderText):
121009        * html/InputType.cpp:
121010        (WebCore::InputType::destroyShadowSubtree):
121011        * html/RangeInputType.cpp:
121012        (WebCore::RangeInputType::handleMouseDownEvent):
121013        (WebCore::RangeInputType::createShadowSubtree):
121014        * html/TextFieldInputType.cpp:
121015        (WebCore::TextFieldInputType::createShadowSubtree):
121016        (WebCore::TextFieldInputType::updatePlaceholderText):
121017        * html/ValidationMessage.cpp:
121018        (WebCore::ValidationMessage::deleteBubbleTree):
121019        * html/shadow/SliderThumbElement.cpp:
121020        (WebCore::sliderThumbElementOf):
121021        (WebCore::RenderSliderContainer::layout):
121022        (WebCore::trackLimiterElementOf):
121023        * page/FocusController.cpp:
121024        (WebCore::shadowRoot):
121025        * rendering/RenderFileUploadControl.cpp:
121026        (WebCore::RenderFileUploadControl::uploadButton):
121027        * svg/SVGTRefElement.cpp:
121028        (WebCore::SVGTRefElement::updateReferencedText):
121029        * testing/Internals.cpp:
121030        (WebCore::Internals::ensureShadowRoot):
121031        (WebCore::Internals::shadowRoot):
121032        (WebCore):
121033        (WebCore::Internals::youngestShadowRoot):
121034        (WebCore::Internals::oldestShadowRoot):
121035        * testing/Internals.h:
121036        (Internals):
121037        * testing/Internals.idl:
121038
1210392012-02-14  Alexander Pavlov  <apavlov@chromium.org>
121040
121041        Elements panel needs to be able to preview images
121042        https://bugs.webkit.org/show_bug.cgi?id=21570
121043
121044        Reviewed by Pavel Feldman.
121045
121046        * inspector/front-end/ElementsPanel.js:
121047        (WebInspector.ElementsPanel):
121048        (WebInspector.ElementsPanel.prototype.willHide):
121049        (WebInspector.ElementsPanel.prototype._getPopoverAnchor):
121050        (WebInspector.ElementsPanel.prototype._loadDimensionsForNode.resolvedNode.dimensions):
121051        (WebInspector.ElementsPanel.prototype._loadDimensionsForNode.resolvedNode):
121052        (WebInspector.ElementsPanel.prototype._loadDimensionsForNode):
121053        (WebInspector.ElementsPanel.prototype._showPopover.dimensionsCallback):
121054        (WebInspector.ElementsPanel.prototype._showPopover.showPopover):
121055        (WebInspector.ElementsPanel.prototype._showPopover.buildPopoverContents):
121056        (WebInspector.ElementsPanel.prototype._showPopover):
121057        * inspector/front-end/ElementsTreeOutline.js:
121058        (WebInspector.ElementsTreeOutline.prototype._onmousemove):
121059        * inspector/front-end/StylesSidebarPane.js:
121060        (WebInspector.StylePropertyTreeElement.prototype.updateTitle.get g):
121061        (WebInspector.StylePropertyTreeElement.prototype.updateTitle):
121062        * inspector/front-end/elementsPanel.css:
121063        (.image-preview-container):
121064        (.image-preview-container img):
121065
1210662012-02-14  Pavel Feldman  <pfeldman@chromium.org>
121067
121068        Web Inspector: List expansion arrows is pointing down even
121069        when the list of eventListeners are hidden in the Elements tab
121070        https://bugs.webkit.org/show_bug.cgi?id=78360
121071
121072        Reviewed by Timothy Hatcher.
121073
121074        * inspector/front-end/elementsPanel.css:
121075        (.section .event-bar .header):
121076        (.section .event-bars .event-bar .header .title):
121077        (.section .event-bar .header .subtitle):
121078        (.section .event-bar .header::before):
121079        (.section .event-bar.expanded .header::before):
121080
1210812012-02-14  Hayato Ito  <hayato@chromium.org>
121082
121083        Make ShadowRoot.nodeType return DOCUMENT_FRAGMENT_NODE.
121084        https://bugs.webkit.org/show_bug.cgi?id=77514
121085
121086        Reviewed by Dimitri Glazkov.
121087
121088        NodeType.SHADOW_ROOT_NODE type is finally gone.
121089
121090        * bindings/js/JSNodeCustom.cpp:
121091        (WebCore::createWrapperInline):
121092        * bindings/objc/DOM.mm:
121093        (kitClass):
121094        * bindings/v8/custom/V8NodeCustom.cpp:
121095        (WebCore::toV8Slow):
121096        * dom/ContainerNode.cpp:
121097        (WebCore::collectTargetNodes):
121098        (WebCore::ContainerNode::replaceChild):
121099        * dom/Document.cpp:
121100        (WebCore::Document::importNode):
121101        (WebCore::Document::childTypeAllowed):
121102        (WebCore::Document::canReplaceChild):
121103        * dom/Node.cpp:
121104        (WebCore::Node::dumpStatistics):
121105        (WebCore::Node::isDefaultNamespace):
121106        (WebCore::Node::lookupPrefix):
121107        (WebCore::Node::lookupNamespaceURI):
121108        (WebCore::appendTextContent):
121109        (WebCore::Node::setTextContent):
121110        * dom/Node.h:
121111        * dom/Range.cpp:
121112        (WebCore::lengthOfContentsInNode):
121113        (WebCore::Range::processContentsBetweenOffsets):
121114        (WebCore::Range::insertNode):
121115        (WebCore::Range::checkNodeWOffset):
121116        (WebCore::Range::checkNodeBA):
121117        (WebCore::Range::selectNode):
121118        (WebCore::Range::selectNodeContents):
121119        (WebCore::Range::surroundContents):
121120        * dom/ShadowRoot.cpp:
121121        * dom/ShadowRoot.h:
121122        (ShadowRoot):
121123        (WebCore::toShadowRoot):
121124        * editing/FrameSelection.cpp:
121125        (WebCore::nodeIsDetachedFromDocument):
121126        (WebCore):
121127        (WebCore::FrameSelection::textWillBeReplaced):
121128        * editing/MarkupAccumulator.cpp:
121129        (WebCore::MarkupAccumulator::appendStartMarkup):
121130        * html/parser/HTMLElementStack.cpp:
121131        (WebCore::HTMLNames::isRootNode):
121132        (WebCore::HTMLElementStack::pushRootNode):
121133        * html/parser/HTMLElementStack.h:
121134        (WebCore::isInHTMLNamespace):
121135        * inspector/InspectorDOMAgent.cpp:
121136        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
121137        (WebCore::InspectorDOMAgent::buildObjectForNode):
121138        * xml/XPathUtil.cpp:
121139        (WebCore::XPath::isValidContextNode):
121140
1211412012-02-14  Andreas Kling  <awesomekling@apple.com>
121142
121143        StylePropertySet: Try to find a CSSValuePool for identifier values.
121144        <http://webkit.org/b/78590>
121145
121146        Reviewed by Antti Koivisto.
121147
121148        For StylePropertySets with a parent element (inline and attribute style),
121149        grab at the parentElement()->document() to locate a CSSValuePool.
121150        This code will change soon in the CSSOM refactoring and moreso once we
121151        figure out how to have a global CSSValuePool, but I'm hoping it will buy
121152        us some perf back in the meantime.
121153
121154        * css/StylePropertySet.cpp:
121155        (WebCore::StylePropertySet::setProperty):
121156
1211572012-02-14  Nikolas Zimmermann  <nzimmermann@rim.com>
121158
121159        Convert svg/animations to use SMIL methods for driving the timeline
121160        https://bugs.webkit.org/show_bug.cgi?id=78422
121161
121162        Reviewed by Hajime Morita.
121163
121164        Fix last-minute typo in clearTimesWithDynamicOrigins, leading to assertions browsing the W3C SVG animation tests.
121165        Covered by existing tests in svg/animations.
121166
121167        * svg/SVGAnimationElement.cpp: Remove unused endedActiveInterval.
121168        * svg/SVGAnimationElement.h: Ditto.
121169        * svg/animation/SVGSMILElement.cpp:
121170        (WebCore::clearTimesWithDynamicOrigins): Fix order of walking the times list.
121171        (WebCore::SVGSMILElement::reset): Move calls to clearTimesWithDynamicOrigins into endedActiveInterval.
121172        (WebCore::SVGSMILElement::endedActiveInterval):
121173        * svg/animation/SVGSMILElement.h:
121174        (SVGSMILElement): Devirtualize endedActiveInterval.
121175
1211762012-02-14  Sheriff Bot  <webkit.review.bot@gmail.com>
121177
121178        Unreviewed, rolling out r107661.
121179        http://trac.webkit.org/changeset/107661
121180        https://bugs.webkit.org/show_bug.cgi?id=78591
121181
121182        crash on lion/qt bots (Requested by hayato on #webkit).
121183
121184        * bindings/js/JSNodeCustom.cpp:
121185        (WebCore::createWrapperInline):
121186        * bindings/objc/DOM.mm:
121187        (kitClass):
121188        * bindings/v8/custom/V8NodeCustom.cpp:
121189        (WebCore::toV8Slow):
121190        * dom/ContainerNode.cpp:
121191        (WebCore::collectTargetNodes):
121192        (WebCore::ContainerNode::replaceChild):
121193        * dom/Document.cpp:
121194        (WebCore::Document::importNode):
121195        (WebCore::Document::childTypeAllowed):
121196        (WebCore::Document::canReplaceChild):
121197        * dom/Node.cpp:
121198        (WebCore::Node::dumpStatistics):
121199        (WebCore::Node::isDefaultNamespace):
121200        (WebCore::Node::lookupPrefix):
121201        (WebCore::Node::lookupNamespaceURI):
121202        (WebCore::appendTextContent):
121203        (WebCore::Node::setTextContent):
121204        * dom/Node.h:
121205        * dom/Range.cpp:
121206        (WebCore::lengthOfContentsInNode):
121207        (WebCore::Range::processContentsBetweenOffsets):
121208        (WebCore::Range::insertNode):
121209        (WebCore::Range::checkNodeWOffset):
121210        (WebCore::Range::checkNodeBA):
121211        (WebCore::Range::selectNode):
121212        (WebCore::Range::selectNodeContents):
121213        (WebCore::Range::surroundContents):
121214        * dom/ShadowRoot.cpp:
121215        (WebCore::ShadowRoot::nodeType):
121216        (WebCore):
121217        * dom/ShadowRoot.h:
121218        (ShadowRoot):
121219        (WebCore::toShadowRoot):
121220        * editing/FrameSelection.cpp:
121221        (WebCore::FrameSelection::textWillBeReplaced):
121222        * editing/MarkupAccumulator.cpp:
121223        (WebCore::MarkupAccumulator::appendStartMarkup):
121224        * html/parser/HTMLElementStack.cpp:
121225        (WebCore::HTMLNames::isRootNode):
121226        (WebCore::HTMLElementStack::pushRootNode):
121227        * html/parser/HTMLElementStack.h:
121228        (WebCore::isInHTMLNamespace):
121229        * inspector/InspectorDOMAgent.cpp:
121230        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
121231        (WebCore::InspectorDOMAgent::buildObjectForNode):
121232        * xml/XPathUtil.cpp:
121233        (WebCore::XPath::isValidContextNode):
121234
1212352012-02-14  Hayato Ito  <hayato@chromium.org>
121236
121237        Fix typo. HTMLContentSeleciton -> HTMLContentSelection.
121238        https://bugs.webkit.org/show_bug.cgi?id=78571
121239
121240        Reviewed by Hajime Morita.
121241
121242        No tests. No change in behavior.
121243
121244        * dom/NodeRenderingContext.cpp:
121245        (WebCore::nextRendererOf):
121246        (WebCore::previousRendererOf):
121247        (WebCore::firstRendererOf):
121248        (WebCore::lastRendererOf):
121249        * dom/ShadowRoot.cpp:
121250        (WebCore::ShadowRoot::insertionPointFor):
121251        * html/shadow/HTMLContentElement.cpp:
121252        (WebCore::HTMLContentElement::attach):
121253        * html/shadow/HTMLContentSelector.cpp:
121254        (WebCore::HTMLContentSelection::append):
121255        (WebCore::HTMLContentSelection::unlink):
121256        (WebCore::HTMLContentSelectionList::find):
121257        (WebCore::HTMLContentSelectionList::append):
121258        (WebCore::HTMLContentSelector::select):
121259        (WebCore::HTMLContentSelector::unselect):
121260        (WebCore::HTMLContentSelector::findFor):
121261        * html/shadow/HTMLContentSelector.h:
121262        (HTMLContentSelection):
121263        (WebCore::HTMLContentSelection::next):
121264        (WebCore::HTMLContentSelection::previous):
121265        (WebCore::HTMLContentSelection::HTMLContentSelection):
121266        (WebCore::HTMLContentSelection::create):
121267        (WebCore::HTMLContentSelectionList::first):
121268        (WebCore::HTMLContentSelectionList::last):
121269        (HTMLContentSelectionList):
121270        (WebCore::HTMLContentSelectionSet::add):
121271        (WebCore::HTMLContentSelectionSet::remove):
121272        (HTMLContentSelectionSet):
121273        (WebCore::HTMLContentSelectionSet::Translator::equal):
121274        (WebCore::HTMLContentSelectionSet::Hash::hash):
121275        (WebCore::HTMLContentSelectionSet::Hash::equal):
121276        (WebCore::HTMLContentSelectionSet::find):
121277        (HTMLContentSelector):
121278
1212792012-02-14  Mike Lawther  <mikelawther@chromium.org>
121280
121281        CSS3 calc: embed calc expressions in CSSPrimitiveValue
121282        https://bugs.webkit.org/show_bug.cgi?id=78446
121283
121284        Reviewed by Ojan Vafai.
121285        
121286        Adds calc expressions to CSSPrimitiveValue. This enables simple (ie no mixing of
121287        percents with numbers/lengths) expressions to be evaluated on most properties.
121288
121289        Tests: css3/calc/block-mask-overlay-image-outset-expected.html
121290               css3/calc/css3-radial-gradients-expected.html
121291               css3/calc/gradient-color-stops-expected.html
121292
121293        * css/CSSCalculationValue.cpp:
121294        (WebCore::CSSCalcValue::computeLengthPx):
121295        (WebCore):
121296        (WebCore::CSSCalcPrimitiveValue::doubleValue):
121297        (CSSCalcPrimitiveValue):
121298        (WebCore::CSSCalcPrimitiveValue::computeLengthPx):
121299        (CSSCalcBinaryOperation):
121300        (WebCore::CSSCalcBinaryOperation::computeLengthPx):
121301        * css/CSSCalculationValue.h:
121302        (CSSCalcExpressionNode):
121303        (CSSCalcValue):
121304        * css/CSSParser.cpp:
121305        (WebCore::CSSParser::createPrimitiveNumericValue):
121306        (WebCore::CSSParser::parseValidPrimitive):
121307        * css/CSSPrimitiveValue.cpp:
121308        (WebCore::isValidCSSUnitTypeForDoubleConversion):
121309        (WebCore::CSSPrimitiveValue::primitiveType):
121310        (WebCore::CSSPrimitiveValue::init):
121311        (WebCore):
121312        (WebCore::CSSPrimitiveValue::cleanup):
121313        (WebCore::CSSPrimitiveValue::computeLengthDouble):
121314        (WebCore::CSSPrimitiveValue::getDoubleValue):
121315        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
121316        (WebCore::CSSPrimitiveValue::customCssText):
121317        * css/CSSPrimitiveValue.h:
121318        (WebCore):
121319        (WebCore::CSSPrimitiveValue::isLength):
121320        (WebCore::CSSPrimitiveValue::isNumber):
121321        (WebCore::CSSPrimitiveValue::isPercentage):
121322        (WebCore::CSSPrimitiveValue::isPx):
121323        (WebCore::CSSPrimitiveValue::isCalculated):
121324        (WebCore::CSSPrimitiveValue::isCalculatedPercentageNumber):
121325        (WebCore::CSSPrimitiveValue::isCalculatedPercentageLength):
121326        (CSSPrimitiveValue):
121327        (WebCore::CSSPrimitiveValue::getValue):
121328        (WebCore::CSSPrimitiveValue::cssCalcValue):
121329        * css/CSSStyleApplyProperty.cpp:
121330        (WebCore::ApplyPropertyBorderRadius::applyValue):
121331
1213322012-02-14  Pavel Feldman  <pfeldman@chromium.org>
121333
121334        Not reviewed: follow up to r107683: protect inspector sidebar from updating
121335        while inserting new rule.
121336
121337        * inspector/front-end/StylesSidebarPane.js:
121338        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
121339        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
121340
1213412012-02-14  Rick Byers  <rbyers@.com>
121342
121343        Extend Chromium V8 tracing to cover more cases
121344        https://bugs.webkit.org/show_bug.cgi?id=78507
121345
121346        Reviewed by Eric Seidel.
121347
121348        No tests modified because this affects only chrome tracing which we
121349        currently don't try to validate with automated tests.
121350
121351        * bindings/v8/V8EventListener.cpp:
121352        (WebCore::V8EventListener::callListenerFunction):
121353        * bindings/v8/V8Proxy.cpp:
121354        (WebCore::V8Proxy::instrumentedCallFunction):
121355        (WebCore::V8Proxy::newInstance):
121356
1213572012-02-14  Pavel Feldman  <pfeldman@google.com>
121358
121359        Web Inspector: fire stylesheet changed event upon CSS modifications.
121360        https://bugs.webkit.org/show_bug.cgi?id=78500
121361
121362        Reviewed by Yury Semikhatsky.
121363
121364        * inspector/Inspector.json:
121365        * inspector/InspectorCSSAgent.cpp:
121366        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::mergeId):
121367        (InspectorCSSAgent::SetStyleSheetTextAction):
121368        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::merge):
121369        (WebCore::InspectorCSSAgent::setStyleSheetText):
121370        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
121371        (WebCore::InspectorCSSAgent::bindStyleSheet):
121372        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
121373        (WebCore::InspectorCSSAgent::styleSheetChanged):
121374        (WebCore):
121375        * inspector/InspectorCSSAgent.h:
121376        (InspectorCSSAgent):
121377        * inspector/InspectorStyleSheet.cpp:
121378        (WebCore::InspectorStyleSheet::create):
121379        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
121380        (WebCore::InspectorStyleSheet::reparseStyleSheet):
121381        (WebCore::InspectorStyleSheet::setRuleSelector):
121382        (WebCore::InspectorStyleSheet::addRule):
121383        (WebCore::InspectorStyleSheet::deleteRule):
121384        (WebCore::InspectorStyleSheet::setPropertyText):
121385        (WebCore::InspectorStyleSheet::toggleProperty):
121386        (WebCore::InspectorStyleSheet::fireStyleSheetChanged):
121387        (WebCore):
121388        (WebCore::InspectorStyleSheetForInlineStyle::create):
121389        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
121390        * inspector/InspectorStyleSheet.h:
121391        (WebCore::InspectorStyleSheet::Listener::~Listener):
121392        (Listener):
121393        (InspectorStyleSheet):
121394        (InspectorStyleSheetForInlineStyle):
121395        * inspector/front-end/CSSStyleModel.js:
121396        (WebInspector.CSSStyleModel):
121397        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
121398        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
121399        (WebInspector.CSSStyleModel.prototype.addRule):
121400        (WebInspector.CSSStyleModel.prototype.addRule.callback):
121401        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged.callback):
121402        (WebInspector.CSSStyleModel.prototype._fireStyleSheetChanged):
121403        (WebInspector.CSSStyleModel.prototype.setStyleSheetText):
121404        (WebInspector.CSSStyleModel.prototype._undoRequested):
121405        (WebInspector.CSSStyleModel.prototype._undoCompleted):
121406        (WebInspector.CSSStyleDeclaration.prototype.insertPropertyAt):
121407        (WebInspector.CSSProperty.prototype.setText):
121408        (WebInspector.CSSProperty.prototype.setText.callback):
121409        (WebInspector.CSSProperty.prototype.setDisabled.callback):
121410        (WebInspector.CSSProperty.prototype.setDisabled):
121411        (WebInspector.CSSStyleSheet.prototype.setText):
121412        (WebInspector.CSSDispatcher.prototype.mediaQueryResultChanged):
121413        (WebInspector.CSSDispatcher.prototype.styleSheetChanged):
121414        * inspector/front-end/DOMAgent.js:
121415        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
121416        (WebInspector.DOMAgent.prototype.get undo):
121417        * inspector/front-end/ElementsPanel.js:
121418        (WebInspector.ElementsPanel.prototype.handleShortcut):
121419
1214202012-02-11  Nikolas Zimmermann  <nzimmermann@rim.com>
121421
121422        Convert svg/animations to use SMIL methods for driving the timeline
121423        https://bugs.webkit.org/show_bug.cgi?id=78422
121424
121425        Reviewed by Dirk Schulze.
121426
121427        Switch the svg/animations tests to use SVGSVGElement.setCurrentTime to drive the animation timeline.
121428        This should fix all flakiness we previously had with these tests - and as nice side-effect we're now
121429        using the standard SVG methods to drive the timeline, and thus have more coverage for these methods.
121430        It already exposed several SMIL bugs, that had to be fixed, before this worked:
121431
121432        - beginElement()/endElement() modify the begin/end times of a SVGSMILElement. When beginElement() is
121433          called a new begin time is added to the list - and the same happens for endElement() with the end list.
121434          Unfortunately the begin/end times never get removed again, leading to incorrect instance time resolving
121435          when begin/endElement is called repeatedly, combined with moving the timeline through setCurrentTime.
121436
121437          SMIL3 specifically demands that all 'dynamic' times in the begin/endTimes list, such that got inserted
121438          via beginElement/endElement - get removed if the begin/endTimes list is updated. Why?
121439          When calling beginElement, then endElement, then beginElement again, the begin/endTimes lists should be
121440          identical, w/o leftovers from any previous begin/endElement call.
121441
121442          To keep track of that introduce SMILTimeWithOrigin, which holds a SMILTime and an Origin enum,
121443          which determines whether this SMILTime was created by the parser or dynamically created via
121444          beginElement/endElement.
121445
121446        - SMILTimeContainer::setElapsed() (called by SVGSVGElement::setCurrentTime) forgot to update the
121447          animation state, when it was not paused.
121448
121449        - document.getElementsByTagName('animateMotion')[0], always returned 'object SVGElement', instead of
121450          SVGAnimateMotion element making it impossible to query the animation start time, as the interfaces
121451          from SVGAnimationElement were not available. Fix that by removing the last hacks from svgtags.in,
121452          now that all IDLs are available.
121453
121454        Now that we use SVGSVGElement::setCurrentTime to drive the animation testing, we can remove
121455        the DRT specific sampleSVGAnimationAtTime functionality, and its code springled all over WebCore.
121456
121457        Covered by all existing tests in svg/animations.
121458
121459        * WebCore.exp.in: Remove sampleAnimationAtTime() symbols.
121460        * WebCore.order: Ditto.
121461        * svg/SVGAnimationElement.cpp: Add a flag to begin/endElement, SMILTimeWithOrigin::ScriptOrigin, to indicate that these are dynamic SMILTimes, added by a script. 
121462        (WebCore::SVGAnimationElement::beginElementAt):
121463        (WebCore::SVGAnimationElement::endElementAt):
121464        * svg/SVGDocumentExtensions.cpp: Remove sampleAnimationAtTime.
121465        * svg/SVGDocumentExtensions.h: Ditto.
121466        * svg/animation/SMILTime.h: Add SMILTimeWithOrigin helper.
121467        (SMILTimeWithOrigin): Needs a SMILTime and an Origin enum entry.
121468        (WebCore::SMILTimeWithOrigin::SMILTimeWithOrigin):
121469        (WebCore::SMILTimeWithOrigin::time): Returns the SMILTime.
121470        (WebCore::SMILTimeWithOrigin::originIsScript): Determines if this SMILTime got added by a script.
121471        (WebCore::operator<): Used by std::sort.
121472        * svg/animation/SMILTimeContainer.cpp:
121473        (WebCore::SMILTimeContainer::setElapsed): Always call updateAnimations, even if the animation is not paused. Use the right elpased time value, to seek precisely to the desired position.
121474        (WebCore::SMILTimeContainer::timerFired): Cleanup code, no need for a local variable 'elapsed'.
121475        (WebCore::SMILTimeContainer::updateAnimations): Remove DRT specific sampling code, which is no longer needed.
121476        * svg/animation/SMILTimeContainer.h: Remove sampleAnimationAtTime.
121477        * svg/animation/SVGSMILElement.cpp:
121478        (WebCore::SVGSMILElement::SVGSMILElement): Only call resolveFirstInterval, not reset, from the constructor - it wastes unnecessary time, as everything is already initialized.
121479        (WebCore::clearTimesWithDynamicOrigins): Helper function to clear all SMILTimes from the begin/endTimes list, that are dynamic.
121480        (WebCore::SVGSMILElement::reset): Clear begin/endTimes lists, on any reset() call (when driving the animation timeline through setElapsed).
121481        (WebCore::SVGSMILElement::insertedIntoDocument): m_beginTimes now stores SMILTimeWithOrigins, adapt the code.
121482        (WebCore::sortTimeList): Ditto.
121483        (WebCore::SVGSMILElement::parseBeginOrEnd): Ditto.
121484        (WebCore::SVGSMILElement::addBeginTime): Ditto.
121485        (WebCore::SVGSMILElement::addEndTime): Ditto.
121486        (WebCore::extractTimeFromVector): Ditto.
121487        (WebCore::SVGSMILElement::findInstanceTime): Ditto.
121488        * svg/animation/SVGSMILElement.h: 
121489        * svg/svgtags.in: Enable animateMotion/hkern/mpath JS interfaces, which were not enabled, despite their IDLs existed.
121490
1214912012-02-14  Pavel Feldman  <pfeldman@chromium.org>
121492
121493        Web Inspector: [REGRESSION] Copy Stack Trace is broken
121494        https://bugs.webkit.org/show_bug.cgi?id=78583
121495
121496        Reviewed by Yury Semikhatsky.
121497
121498        Test: inspector/debugger/copy-stack-trace.html
121499
121500        * inspector/front-end/CallStackSidebarPane.js:
121501        (WebInspector.CallStackSidebarPane.prototype._copyStackTrace):
121502
1215032012-02-14  Eric Seidel  <eric@webkit.org>
121504
121505        Upstream Android's support for SK_B32_SHIFT to JPEGImageEncoder
121506        https://bugs.webkit.org/show_bug.cgi?id=78540
121507
121508        Reviewed by Adam Barth.
121509
121510        * platform/image-encoders/skia/JPEGImageEncoder.cpp:
121511        (WebCore::encodePixels):
121512
1215132012-02-13  Pavel Feldman  <pfeldman@chromium.org>
121514
121515        [Qt] inspector/styles/undo-add-new-rule.html crashes
121516        https://bugs.webkit.org/show_bug.cgi?id=78502
121517
121518        Reviewed by Yury Semikhatsky.
121519
121520        * inspector/InspectorStyleSheet.cpp:
121521        (WebCore::InspectorStyleSheet::deleteRule):
121522
1215232012-02-13  Nate Chapin  <japhet@chromium.org>
121524
121525        Reuse CachedRawResources (e.g., XHRs) that are stored
121526        in the MemoryCache when appropriate.
121527        https://bugs.webkit.org/show_bug.cgi?id=76564
121528
121529        Reviewed by Antti Koivisto.
121530
121531        No new tests, expected behavior covered by existing tests.
121532
121533        * html/DOMURL.cpp:
121534        (WebCore::DOMURL::revokeObjectURL): Objects shouldn't remain in the
121535            MemoryCache if revokeObjectURL is called on them.
121536        * inspector/InspectorPageAgent.cpp:
121537        (WebCore::InspectorPageAgent::cachedResourceContent): Add CachedRawResource support.
121538        * inspector/InspectorResourceAgent.cpp:
121539        (WebCore::InspectorResourceAgent::setCacheDisabled): Immediately
121540            evict resources, rather than waiting for navigation, since XHRs
121541            should hit the cache if it has been disabled.
121542        * loader/cache/CachedRawResource.cpp:
121543        (CachedRawResourceCallback): Encapsulates the async callback for
121544            a cache hit for CachedRawResources.
121545        (WebCore::CachedRawResource::sendCallbacks): Do the work defered in didAddClient.
121546        (WebCore::CachedRawResource::didAddClient): Scheduled a CachedRawResourceCallback if
121547            we already have a response, since async XHRs may not play nicely with receiving
121548            their data synchronously.
121549        (WebCore::CachedRawResource::removeClient): Ensure we cancel a callback to a client if
121550            it removes itself.
121551        (WebCore::CachedRawResource::canReuse): Provide some basic rules for when a
121552            CachedRawResource can be reused.
121553        * loader/cache/CachedRawResource.h:
121554        * loader/cache/CachedResource.h:
121555        * loader/cache/CachedResourceLoader.cpp:
121556        (WebCore::CachedResourceLoader::determineRevalidationPolicy): Don't automatically reload
121557            CachedRawResources, and add a check for whether this request has already been
121558            made conditional.
121559        * xml/XMLHttpRequest.cpp:
121560
1215612012-02-13  Dana Jansens  <danakj@chromium.org>
121562
121563        [chromium] Set opaque flag on SkBitmap in per-tile layer updater
121564        https://bugs.webkit.org/show_bug.cgi?id=78498
121565
121566        Reviewed by Stephen White.
121567
121568        No new tests.
121569
121570        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
121571        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
121572        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
121573        (SkPictureCanvasLayerTextureUpdater):
121574        (WebCore::SkPictureCanvasLayerTextureUpdater::layerIsOpaque):
121575
1215762012-02-13  W. James MacLean  <wjmaclean@chromium.org>
121577
121578        [chromium] Remove obsolete zoom animation pathway.
121579        https://bugs.webkit.org/show_bug.cgi?id=78359
121580
121581        Reviewed by James Robinson.
121582
121583        Tests for existing pathways should not be broken. Tests for removed pathway removed previously.
121584
121585        This patch removes dead code from the previous incarnation of zoom animation for chromium.
121586
121587        * page/EventHandler.cpp:
121588        (WebCore::EventHandler::handleGestureEvent):
121589        * page/FrameView.cpp:
121590        * page/FrameView.h:
121591        (FrameView):
121592        * platform/ScrollAnimator.cpp:
121593        (WebCore::ScrollAnimator::ScrollAnimator):
121594        * platform/ScrollAnimator.h:
121595        (ScrollAnimator):
121596        * platform/ScrollAnimatorNone.cpp:
121597        (WebCore::ScrollAnimatorNone::ScrollAnimatorNone):
121598        (WebCore::ScrollAnimatorNone::animationTimerFired):
121599        * platform/ScrollAnimatorNone.h:
121600        (ScrollAnimatorNone):
121601        * platform/ScrollableArea.cpp:
121602        * platform/ScrollableArea.h:
121603        * testing/InternalSettings.cpp:
121604        * testing/InternalSettings.h:
121605        (InternalSettings):
121606        * testing/InternalSettings.idl:
121607        * testing/Internals.cpp:
121608
1216092012-02-13  Shinya Kawanaka  <shinyak@chromium.org>
121610
121611        [Regression] r107650 broke the windows build.
121612        https://bugs.webkit.org/show_bug.cgi?id=78569
121613
121614        Build fix, Unreviewed.
121615
121616        The variable defined in switch statement should not escape from the switch statement.
121617
121618        * dom/Element.cpp:
121619        (WebCore::Element::webkitRegionOverflow):
121620
1216212012-02-13  ChangSeok Oh  <shivamidow@gmail.com>
121622
121623        [GTK] Mutation Observers build is broken
121624        https://bugs.webkit.org/show_bug.cgi?id=78433
121625
121626        Reviewed by Martin Robinson.
121627
121628        Added some files missed.
121629
121630        No new tests since no new feature.
121631
121632        * GNUmakefile.list.am:
121633
1216342012-02-13  Hayato Ito  <hayato@chromium.org>
121635
121636        Make ShadowRoot.nodeType return DOCUMENT_FRAGMENT_NODE.
121637        https://bugs.webkit.org/show_bug.cgi?id=77514
121638
121639        Reviewed by Dimitri Glazkov.
121640
121641        NodeType.SHADOW_ROOT_NODE type is finally gone.
121642
121643        * bindings/js/JSNodeCustom.cpp:
121644        (WebCore::createWrapperInline):
121645        * bindings/objc/DOM.mm:
121646        (kitClass):
121647        * bindings/v8/custom/V8NodeCustom.cpp:
121648        (WebCore::toV8Slow):
121649        * dom/ContainerNode.cpp:
121650        (WebCore::collectTargetNodes):
121651        (WebCore::ContainerNode::replaceChild):
121652        * dom/Document.cpp:
121653        (WebCore::Document::importNode):
121654        (WebCore::Document::childTypeAllowed):
121655        (WebCore::Document::canReplaceChild):
121656        * dom/Node.cpp:
121657        (WebCore::Node::dumpStatistics):
121658        (WebCore::Node::isDefaultNamespace):
121659        (WebCore::Node::lookupPrefix):
121660        (WebCore::Node::lookupNamespaceURI):
121661        (WebCore::appendTextContent):
121662        (WebCore::Node::setTextContent):
121663        * dom/Node.h:
121664        * dom/Range.cpp:
121665        (WebCore::lengthOfContentsInNode):
121666        (WebCore::Range::processContentsBetweenOffsets):
121667        (WebCore::Range::insertNode):
121668        (WebCore::Range::checkNodeWOffset):
121669        (WebCore::Range::checkNodeBA):
121670        (WebCore::Range::selectNode):
121671        (WebCore::Range::selectNodeContents):
121672        (WebCore::Range::surroundContents):
121673        * dom/ShadowRoot.cpp:
121674        * dom/ShadowRoot.h:
121675        (ShadowRoot):
121676        (WebCore::toShadowRoot):
121677        * editing/FrameSelection.cpp:
121678        (WebCore::nodeIsDetachedFromDocument):
121679        (WebCore):
121680        (WebCore::FrameSelection::textWillBeReplaced):
121681        * editing/MarkupAccumulator.cpp:
121682        (WebCore::MarkupAccumulator::appendStartMarkup):
121683        * html/parser/HTMLElementStack.cpp:
121684        (WebCore::HTMLNames::isRootNode):
121685        (WebCore::HTMLElementStack::pushRootNode):
121686        * html/parser/HTMLElementStack.h:
121687        (WebCore::isInHTMLNamespace):
121688        * inspector/InspectorDOMAgent.cpp:
121689        (WebCore::InspectorDOMAgent::pushChildNodesToFrontend):
121690        (WebCore::InspectorDOMAgent::buildObjectForNode):
121691        * xml/XPathUtil.cpp:
121692        (WebCore::XPath::isValidContextNode):
121693
1216942012-02-13  Ojan Vafai  <ojan@chromium.org>
121695
121696        rtl + flex-direction:column is positioning elements incorrectly
121697        https://bugs.webkit.org/show_bug.cgi?id=78555
121698
121699        Reviewed by Tony Chang.
121700
121701        Do the y-axis flipping after we have adjusted the y-position for
121702        flex-align instead of before.
121703
121704        Tests: css3/flexbox/flex-align-baseline.html
121705               css3/flexbox/flex-align-end.html
121706
121707        * rendering/RenderFlexibleBox.cpp:
121708        (WebCore::RenderFlexibleBox::alignChildren):
121709        The amount we adjust by also needs to be flipped for rtl+column,
121710        so the flipping needs to be done after we align the flex items.
121711
1217122012-02-09  Ojan Vafai  <ojan@chromium.org>
121713
121714        nesting horizontal flexboxes is broken
121715        https://bugs.webkit.org/show_bug.cgi?id=76867
121716
121717        Reviewed by David Hyatt.
121718
121719        This is copied from RenderDeprecatedFlexibleBox and updated
121720        for RenderFlexibleBox and to handle vertical writing mode.
121721
121722        Tests: css3/flexbox/preferred-widths-orthogonal.html
121723               css3/flexbox/preferred-widths.html
121724
121725        * rendering/RenderBlock.cpp:
121726        (WebCore::RenderBlock::computePreferredLogicalWidths):
121727        * rendering/RenderFlexibleBox.cpp:
121728        (WebCore::marginWidthForChild):
121729        (WebCore):
121730        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
121731        * rendering/RenderFlexibleBox.h:
121732        (RenderFlexibleBox):
121733
1217342012-02-13  Anders Carlsson  <andersca@apple.com>
121735
121736        The tile cache layer should have its background set to the page background
121737        https://bugs.webkit.org/show_bug.cgi?id=78560
121738        <rdar://problem/10857472>
121739
121740        Reviewed by Sam Weinig.
121741
121742        * page/FrameView.cpp:
121743        (WebCore::FrameView::recalculateScrollbarOverlayStyle):
121744        Inform the RenderLayerCompositor that the background color has changed.
121745
121746        * platform/graphics/ca/GraphicsLayerCA.cpp:
121747        (WebCore::GraphicsLayerCA::updateLayerBackgroundColor):
121748        For tile cache layers we don't need a separate contents layer for the background color so
121749        just set the background color on the layer directly.
121750
121751        * rendering/RenderLayerCompositor.cpp:
121752        (WebCore::RenderLayerCompositor::documentBackgroundColorDidChange):
121753        If the root render layer is using a tile cache layer, update its background color.
121754
1217552012-02-13  Raul Hudea  <rhudea@adobe.com>
121756
121757        Implement Element.webkitRegionOverflow
121758
121759        [CSSRegions][CSSOM] Implement Element.regionOverflow
121760        https://bugs.webkit.org/show_bug.cgi?id=77863
121761
121762        Reviewed by David Hyatt.
121763
121764        On each layout, compute the overflowState for each region belonging to the flow thread
121765
121766        Tests: fast/regions/element-region-overflow-state-vertical-rl.html
121767               fast/regions/element-region-overflow-state.html
121768
121769        * dom/Element.cpp:
121770        (WebCore::Element::webkitRegionOverflow):
121771        (WebCore):
121772        * dom/Element.h:
121773        * dom/Element.idl:
121774        * rendering/RenderBlock.cpp:
121775        (WebCore::RenderBlock::computeOverflow):
121776        * rendering/RenderFlowThread.cpp:
121777        (WebCore::RenderFlowThread::computeOverflowStateForRegions):
121778        (WebCore):
121779        * rendering/RenderFlowThread.h:
121780        * rendering/RenderRegion.cpp:
121781        (WebCore::RenderRegion::RenderRegion):
121782        * rendering/RenderRegion.h:
121783        (RenderRegion):
121784        (WebCore::RenderRegion::regionState):
121785        (WebCore::RenderRegion::setRegionState):
121786
1217872012-02-13  Alexey Proskuryakov  <ap@apple.com>
121788
121789        File API IDLs are incorrect in Xcode project
121790        https://bugs.webkit.org/show_bug.cgi?id=78551
121791
121792        Rubber-stamped by Dan Bernstein.
121793
121794        * WebCore.xcodeproj/project.pbxproj: Corrected paths, and added missing files.
121795
1217962012-02-13  Benjamin Poulain  <bpoulain@apple.com>
121797
121798        SharedBuffer::getSomeData() can potentially return a pointer past the data
121799        https://bugs.webkit.org/show_bug.cgi?id=77799
121800
121801        Reviewed by David Kilzer.
121802
121803        The expected behavior from SharedBuffer::getSomeData() is to return a size and pointer of value 0
121804        if position is past the data.
121805
121806        However, the code handling the memory mapped data is before the code ensuring the aforementioned
121807        condition. It is possible to return a pointer past the data, and a non-null size.
121808
121809        This patch aims at preventing such invalid memory access by checking position is in the boundaries
121810        before any attempt is made to return the data.
121811
121812        * platform/SharedBuffer.cpp:
121813        (WebCore::SharedBuffer::getSomeData):
121814
1218152012-02-13  Benjamin Poulain  <bpoulain@apple.com>
121816
121817        SharedBuffer::getSomeData() must support m_dataArray if NETWORK_CFDATA_ARRAY_CALLBACK is defined
121818        https://bugs.webkit.org/show_bug.cgi?id=77718
121819
121820        Reviewed by David Kilzer.
121821
121822        Previously, the last part of SharedBuffer::getSomeData() was systematically accessing
121823        the data from the segments. When NETWORK_CFDATA_ARRAY_CALLBACK is defined, there can
121824        be data in m_dataArray past the segment.
121825
121826        The previous code was making invalid memory access pass the segment vector. This patch
121827        adds support for getting the data out of m_dataArray to make SharedBuffer::getSomeData()
121828        works with NETWORK_CFDATA_ARRAY_CALLBACK.
121829
121830        This is covered by existing tests when NETWORK_CFDATA_ARRAY_CALLBACK is defined.
121831        The test 'fast/events/constructors/track-event-constructor.html' is a reliable test
121832        for this.
121833
121834        * platform/SharedBuffer.cpp:
121835        (WebCore::SharedBuffer::getSomeData):
121836        * platform/SharedBuffer.h:
121837        (SharedBuffer):
121838        * platform/cf/SharedBufferCF.cpp:
121839        (WebCore):
121840        (WebCore::SharedBuffer::copySomeDataFromDataArray):
121841
1218422012-02-13  Anders Carlsson  <andersca@apple.com>
121843
121844        Force slow-scrolling mode when there are position:fixed elements on a page
121845        https://bugs.webkit.org/show_bug.cgi?id=78553
121846        <rdar://problem/10247934>
121847
121848        Reviewed by Dan Bernstein.
121849
121850        Eventually, the scrolling tree will know about fixed positioning layers so their position can be updated
121851        when the scroll layer position is updated. For now we'll take the simple route however.
121852
121853        * page/FrameView.cpp:
121854        (WebCore::FrameView::addFixedObject):
121855        (WebCore::FrameView::removeFixedObject):
121856        Inform the scrolling coordinator when the number of fixed objects changes between 0 and 1.
121857
121858        * page/FrameView.h:
121859        (WebCore::FrameView::hasFixedObjects):
121860        Make this public.
121861
121862        * page/scrolling/ScrollingCoordinator.cpp:
121863        (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
121864        Call updateShouldUpdateScrollLayerPositionOnMainThread.
121865
121866        (WebCore::ScrollingCoordinator::frameViewHasFixedObjectsDidChange):
121867        Call updateShouldUpdateScrollLayerPositionOnMainThread.
121868
121869        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
121870        Make sure to update compositing layers here. Normally, they will be updated by layout but doing a layout
121871        here is too intrusive since it could potentially change the size of the page.
121872
121873        (WebCore::ScrollingCoordinator::updateShouldUpdateScrollLayerPositionOnMainThread):
121874        If we have fixed objects or slow repaint objects we need to update the scroll layer position on the main thread.
121875
1218762012-02-13  Adrienne Walker  <enne@google.com>
121877
121878        [chromium] Use HashMap<..., OwnPtr<Tile>> for compositor tilemap
121879        https://bugs.webkit.org/show_bug.cgi?id=74154
121880
121881        Reviewed by James Robinson.
121882
121883        Covered by the compositing/ layout tests.
121884
121885        * platform/graphics/chromium/TiledLayerChromium.cpp:
121886        (WebCore::UpdatableTile::create):
121887        (WebCore::UpdatableTile::UpdatableTile):
121888        (WebCore::TiledLayerChromium::createTile):
121889        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
121890        (WebCore::CCLayerTilingData::addTile):
121891        (WebCore::CCLayerTilingData::takeTile):
121892        (WebCore::CCLayerTilingData::tileAt):
121893        * platform/graphics/chromium/cc/CCLayerTilingData.h:
121894        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
121895        (WebCore::DrawableTile::create):
121896        (WebCore::DrawableTile::DrawableTile):
121897        (WebCore::CCTiledLayerImpl::createTile):
121898
1218992012-02-13  Kentaro Hara  <haraken@chromium.org>
121900
121901        Add [CustomToJSObject] to interfaces which have custom toJS() and toV8()
121902        https://bugs.webkit.org/show_bug.cgi?id=78489
121903
121904        Reviewed by Adam Barth.
121905
121906        This is the final step to remove hard-coding from HasCustomToV8Implementation()
121907        in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [CustomToJSObject]
121908        for interfaces which have custom toJS() and custom toV8().
121909
121910        No tests. No change in behavior.
121911
121912        * bindings/scripts/CodeGeneratorJS.pm:
121913        (GenerateHeader):
121914        (GenerateImplementation):
121915        * bindings/scripts/CodeGeneratorV8.pm:
121916        (GenerateHeader):
121917
121918        * bindings/scripts/test/TestTypedArray.idl:
121919        * css/CSSRule.idl:
121920        * css/CSSValue.idl:
121921        * css/StyleSheet.idl:
121922        * dom/Document.idl:
121923        * dom/Event.idl:
121924        * dom/Node.idl:
121925        * fileapi/Blob.idl:
121926        * fileapi/Entry.idl:
121927        * fileapi/EntrySync.idl:
121928        * html/HTMLCollection.idl:
121929        * html/ImageData.idl:
121930        * html/canvas/ArrayBufferView.idl:
121931        * html/canvas/DataView.idl:
121932        * html/canvas/Float32Array.idl:
121933        * html/canvas/Float64Array.idl:
121934        * html/canvas/Int16Array.idl:
121935        * html/canvas/Int32Array.idl:
121936        * html/canvas/Int8Array.idl:
121937        * html/canvas/Uint16Array.idl:
121938        * html/canvas/Uint32Array.idl:
121939        * html/canvas/Uint8Array.idl:
121940        * html/canvas/Uint8ClampedArray.idl:
121941        * storage/IDBAny.idl:
121942        * storage/IDBKey.idl:
121943        * svg/SVGPathSeg.idl:
121944
1219452012-02-13  Arun Patole  <bmf834@motorola.com>
121946
121947        Chrome crashes when attempting to add cue to track element
121948        https://bugs.webkit.org/show_bug.cgi?id=77951
121949
121950        Reviewed by Eric Carlson.
121951
121952        Allocate text track's text track list of cues before using it.
121953
121954        * html/TextTrack.cpp:
121955        (WebCore::TextTrack::cues):
121956        (WebCore::TextTrack::addCue):
121957        (WebCore::TextTrack::removeCue): return if text track list of cues is not allocated.
121958        (WebCore::TextTrack::ensureTextTrackCueList):Added.
121959        * html/TextTrack.h:
121960        (TextTrack):
121961
1219622012-02-13  Andy Estes  <aestes@apple.com>
121963
121964        Fix the Windows build.
121965
121966        * platform/PlatformPasteboard.h:
121967        (PlatformPasteboard):
121968
1219692012-02-13  Abhishek Arya  <inferno@chromium.org>
121970
121971        Crash with button in multi-column layout.
121972        https://bugs.webkit.org/show_bug.cgi?id=78378
121973
121974        Reviewed by David Hyatt.
121975
121976        Button creates an anonymous wrapper and expects that new children
121977        be added to its m_inner anonymous block. However, splitBlock code
121978        incorrectly creates column blocks directly under the button.
121979
121980        Test: fast/multicol/span/split-flow-anonymous-wrapper-crash.html
121981
121982        * rendering/RenderBlock.cpp:
121983        (WebCore::RenderBlock::containingColumnsBlock):
121984        (WebCore::RenderBlock::columnsBlockForSpanningElement):
121985
1219862012-02-09  Ojan Vafai  <ojan@chromium.org>
121987
121988        nesting horizontal flexboxes is broken
121989        https://bugs.webkit.org/show_bug.cgi?id=76867
121990
121991        Reviewed by David Hyatt.
121992
121993        This is copied from RenderDeprecatedFlexibleBox and updated
121994        for RenderFlexibleBox and to handle vertical writing mode.
121995
121996        Tests: css3/flexbox/preferred-widths-orthogonal.html
121997               css3/flexbox/preferred-widths.html
121998
121999        * rendering/RenderBlock.cpp:
122000        (WebCore::RenderBlock::computePreferredLogicalWidths):
122001        * rendering/RenderFlexibleBox.cpp:
122002        (WebCore::marginWidthForChild):
122003        (WebCore):
122004        (WebCore::RenderFlexibleBox::computePreferredLogicalWidths):
122005        * rendering/RenderFlexibleBox.h:
122006        (RenderFlexibleBox):
122007
1220082012-02-13  Mihnea Ovidenie  <mihnea@adobe.com>
122009
122010        Crash in RenderFlowThread::setRegionBoxesRegionStyle
122011        https://bugs.webkit.org/show_bug.cgi?id=78298
122012
122013        Reviewed by David Hyatt.
122014
122015        Test: fast/regions/set-box-style-in-region-crash.html
122016
122017        We have to make sure that anonymous block objects get their information in RenderFlowThread
122018        removed properly.
122019
122020        * dom/Node.cpp:
122021        (WebCore::Node::diff):
122022        Correct a comment.
122023        * rendering/RenderBlock.cpp:
122024        (WebCore::RenderBlock::collapseAnonymousBoxChild):
122025        Remove the information for anonymous block from render flow thread.
122026        * rendering/RenderFlowThread.cpp:
122027        (WebCore::RenderFlowThread::removeFlowChildInfo):
122028        (WebCore):
122029        (WebCore::RenderFlowThread::setRegionRangeForBox):
122030        Do not set region range if the flow thread does not have regions.
122031        * rendering/RenderFlowThread.h:
122032        * rendering/RenderObject.cpp:
122033        (WebCore::RenderObject::willBeDestroyed):
122034        Add an assert to make sure that after we remove an object, there is no remaining info
122035        in any render flow thread.
122036
1220372012-02-13  Tony Chang  <tony@chromium.org>
122038
122039        Unreviewed, rolling out r107582.
122040        http://trac.webkit.org/changeset/107582
122041        https://bugs.webkit.org/show_bug.cgi?id=78349
122042
122043        Broke three inspector interactive_ui_tests
122044
122045        * English.lproj/localizedStrings.js:
122046        * inspector/front-end/DebuggerPresentationModel.js:
122047        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
122048        * inspector/front-end/ScriptsNavigator.js:
122049        (WebInspector.ScriptsNavigator.prototype._removeUISourceCode.get while):
122050        (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
122051        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
122052        * inspector/front-end/ScriptsPanel.js:
122053        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
122054        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
122055        * inspector/front-end/Settings.js:
122056        (WebInspector.ExperimentsSettings):
122057        * inspector/front-end/SettingsScreen.js:
122058        (WebInspector.SettingsScreen):
122059
1220602012-02-13  Abhishek Arya  <inferno@chromium.org>
122061
122062        Incorrect children placement in multi-column layout.
122063        https://bugs.webkit.org/show_bug.cgi?id=78160
122064
122065        Reviewed by David Hyatt.
122066
122067        Test: fast/multicol/span/clone-before-after-content-crash.html
122068
122069        * rendering/RenderBlock.cpp:
122070        (WebCore::RenderBlock::clone): no longer need to take care of making
122071        children noninline (remove fix r105769) since moveChild functions take
122072        care of adding the child properly if type of children differ. this
122073        function just makes sure to set the right value of childrenInline property.
122074        (WebCore::RenderBlock::splitBlocks): similar to moveChild functions below.
122075        (WebCore::RenderBlock::moveChildTo): when child is fullRemoveInsert (across
122076        different parents, e.g clones), we should use addChild function to make sure
122077        it handles the case of different type of children between fromBlock and
122078        toBlock correctly (specifically making children non-inline/wrapping inline
122079        children under anonymous blocks.).
122080        (WebCore::RenderBlock::moveChildrenTo):
122081        * rendering/RenderBlock.h:
122082        (RenderBlock):
122083        (WebCore::RenderBlock::moveAllChildrenTo): Rename to->toBlock.
122084        (WebCore::RenderBlock::moveChildrenTo): Rename to->toBlock.
122085
1220862012-02-13  Stephen White  <senorblanco@chromium.org>
122087
122088        [chromium] Implement Brightness and Contrast filters on composited
122089        layers.  Fix Saturation filter.
122090        https://bugs.webkit.org/show_bug.cgi?id=78527
122091
122092        Reviewed by Kenneth Russell.
122093
122094        Will be covered by existing tests in css3/filters, when enabled.
122095
122096        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp:
122097        (WebCore::CCRenderSurfaceFilters::apply):
122098
1220992012-02-13  Anders Carlsson  <andersca@apple.com>
122100
122101        Turn off edge antialiasing for tile cache tile layers
122102        https://bugs.webkit.org/show_bug.cgi?id=78533
122103        <rdar://problem/10710798>
122104
122105        Reviewed by Sam Weinig.
122106
122107        * platform/graphics/ca/mac/TileCache.mm:
122108        (WebCore::TileCache::createTileLayer):
122109
1221102012-02-13  Enrica Casucci  <enrica@apple.com>
122111
122112        Build fix. Unreviewed.
122113
122114        * WebCore.xcodeproj/project.pbxproj:
122115
1221162012-02-13  Brady Eidson  <beidson@apple.com>
122117
122118        <rdar://problem/7196487> and https://bugs.webkit.org/show_bug.cgi?id=26777
122119        Add https pages to the page cache in some cases
122120
122121        Reviewed by Anders Carlsson.
122122
122123        Test: http/tests/navigation/https-in-page-cache.html
122124
122125        * history/PageCache.cpp:
122126        (WebCore::PageCache::canCachePageContainingThisFrame): Allow HTTPS pages that do not specify cache-control: no-cache
122127          or cache-control: no-store into the page cache. This will match Firefox's behavior for HTTPS in their bfcache.
122128
1221292012-02-10  Enrica Casucci  <enrica@apple.com>
122130
122131        Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
122132        https://bugs.webkit.org/show_bug.cgi?id=78282
122133
122134        This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
122135        now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
122136        WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
122137        class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
122138        interface but this one more step in the direction of removing access to NSPasteboard from
122139        the WebProcess.
122140        As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
122141
122142        Reviewed by Anders Carlsson.
122143
122144        No new tests. No change in behavior, just code refactoring.
122145
122146        * WebCore.exp.in: Added exported class PlatformPasteboard.
122147        * WebCore.xcodeproj/project.pbxproj: Added new files to the build.
122148        * editing/mac/EditorMac.mm:
122149        (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
122150        * platform/Pasteboard.h:
122151
122152        * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
122153        * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
122154        * platform/PlatformStrategies.h:
122155        (WebCore::PlatformStrategies::pasteboardStrategy): Added.
122156        * platform/mac/DragDataMac.mm:
122157        (WebCore::DragData::canSmartReplace):
122158        (WebCore::insertablePasteboardTypes): 
122159        (WebCore::DragData::asURL):
122160        * platform/mac/PasteboardMac.mm:
122161        (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
122162        (WebCore::writableTypesForURL): Ditto.
122163        (WebCore::createWritableTypesForImage): Ditto.
122164        (WebCore::writableTypesForImage): Ditto.
122165        (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
122166        (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
122167        (WebCore::Pasteboard::writeSelectionForTypes): Ditto.
122168        (WebCore::Pasteboard::writePlainText): Ditto.
122169        (WebCore::Pasteboard::writeSelection): Ditto.
122170        (WebCore::writeURLForTypes): Ditto.
122171        (WebCore::Pasteboard::writeURL): Ditto.
122172        (WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
122173        (WebCore::Pasteboard::writeImage): Ditto.
122174        (WebCore::Pasteboard::writeClipboard): Ditto.
122175        (WebCore::Pasteboard::canSmartReplace): Ditto.
122176        (WebCore::Pasteboard::plainText): Ditto.
122177        (WebCore::documentFragmentWithRTF): Ditto.
122178        (WebCore::Pasteboard::documentFragment): Ditto.
122179        * platform/mac/PlatformPasteboardMac.mm: Added.
122180        (WebCore::PlatformPasteboard::PlatformPasteboard):
122181        (WebCore::PlatformPasteboard::getTypes):
122182        (WebCore::PlatformPasteboard::bufferForType):
122183        (WebCore::PlatformPasteboard::getPathnamesForType):
122184        (WebCore::PlatformPasteboard::stringForType):
122185        (WebCore::PlatformPasteboard::copy):
122186        (WebCore::PlatformPasteboard::setTypes):
122187        (WebCore::PlatformPasteboard::setBufferForType):
122188        (WebCore::PlatformPasteboard::setPathnamesForType):
122189        (WebCore::PlatformPasteboard::setStringForType):
122190
1221912012-02-13  Raul Hudea  <rhudea@adobe.com>
122192
122193        [CSS Regions] Inconsistent text selection behavior in regions
122194        https://bugs.webkit.org/show_bug.cgi?id=76456
122195
122196        Reviewed by David Hyatt.
122197
122198        Use the proper bounding rect when doing hit testing on flow threads.
122199        Based on initial patch by Alexandru Chiculita.
122200
122201        Test: fast/regions/hit-test-region.html
122202
122203        * rendering/RenderFlowThread.cpp:
122204        (WebCore::RenderFlowThread::hitTestRegion):
122205        * rendering/RenderLayer.cpp:
122206        (WebCore::RenderLayer::hitTest):
122207        * rendering/RenderRegion.cpp:
122208        (WebCore::RenderRegion::nodeAtPoint):
122209
1222102012-02-12  Andy Estes  <aestes@apple.com>
122211
122212        [Windows] Add API to enable inverted color drawing on a WebView
122213        https://bugs.webkit.org/show_bug.cgi?id=77382
122214
122215        Reviewed by Adam Roben.
122216
122217        Implement CACFLayerTreeHost::setShouldInvertColors(), which instructs
122218        the layer tree host to render composited content with inverted colors.
122219
122220        Test: platform/win/inverted-colors/non-composited.html
122221
122222        * platform/graphics/ca/win/CACFLayerTreeHost.cpp:
122223        (WebCore::CACFLayerTreeHost::setShouldInvertColors):
122224        (WebCore):
122225        * platform/graphics/ca/win/CACFLayerTreeHost.h:
122226        (CACFLayerTreeHost):
122227        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.cpp: Use
122228        SOFT_LINK_OPTIONAL since WKCACFViewSetShouldInvertColors might not
122229        exist in older versions of WebKitQuartzCoreAdditions.
122230        (WebCore::WKCACFViewLayerTreeHost::setShouldInvertColors):
122231        (WebCore):
122232        * platform/graphics/ca/win/WKCACFViewLayerTreeHost.h:
122233        (WKCACFViewLayerTreeHost):
122234
1222352012-02-13  Anders Carlsson  <andersca@apple.com>
122236
122237        The scrolling tree needs to know about the back forward state of the page
122238        https://bugs.webkit.org/show_bug.cgi?id=78523
122239        <rdar://problem/10756548>
122240
122241        Reviewed by Sam Weinig.
122242
122243        In order to know if a page should rubber-band in the horizontal direction, the scrolling tree
122244        needs to know about the back/forward state of the page.
122245
122246        * WebCore.exp.in:
122247        Export new symbols.
122248
122249        * WebCore.xcodeproj/project.pbxproj:
122250        * page/scrolling/ScrollingTree.cpp:
122251        (WebCore::ScrollingTree::ScrollingTree):
122252        Initialize m_canGoBack and m_canGoForward.
122253
122254        (WebCore::ScrollingTree::updateBackForwardState):
122255        Update m_canGoBack and m_canGoForward.
122256
122257        * page/scrolling/ScrollingTree.h:
122258        (WebCore::ScrollingTree::canGoBack):
122259        (WebCore::ScrollingTree::canGoForward):
122260        Add getters.
122261
122262        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
122263        (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection):
122264        Implement this, using canGoBack and canGoForward.
122265
1222662012-02-13  Brady Eidson  <beidson@apple.com>
122267
122268        https://bugs.webkit.org/show_bug.cgi?id=78520
122269        Cleanup PageCache::canCachePageContainingThisFrame readability
122270
122271        Reviewed by Anders Carlsson.
122272
122273        No new tests. (Code cleanup, no change in behavior)
122274
122275        * history/PageCache.cpp:
122276        (WebCore::PageCache::canCachePageContainingThisFrame): Store three commonly
122277          getter-accessed variables in local variables for readability.
122278
1222792012-02-13  Timothy Hatcher  <timothy@apple.com>
122280
122281        Don't include a separator before the "Inspect Element" context menu item when the context menu is empty.
122282
122283        https://webkit.org/b/78312
122284
122285        Reviewed by Brian Weinstein.
122286
122287        * page/ContextMenuController.cpp:
122288        (WebCore::ContextMenuController::addInspectElementItem): Check itemCount before appending the separator.
122289        * platform/gtk/ContextMenuGtk.cpp:
122290        (WebCore::ContextMenu::itemCount): Added. Implement so this builds on GTK.
122291
1222922012-02-13  Patrick Gansterer  <paroga@webkit.org>
122293
122294        [WIN] Define HWND_MESSAGE if not done already
122295        https://bugs.webkit.org/show_bug.cgi?id=78341
122296
122297        Reviewed by Adam Roben.
122298
122299        HWND_MESSAGE is not defined on WinCE.
122300        Set it to 0 when not defined to avoid #ifdefs.
122301
122302        * platform/win/PasteboardWin.cpp:
122303        (WebCore::Pasteboard::Pasteboard):
122304        * platform/win/WindowsExtras.h:
122305        (WebCore):
122306
1223072012-02-13  Chris Fleizach  <cfleizach@apple.com>
122308
122309        AX: <mark> element should be exposed through attributes
122310        https://bugs.webkit.org/show_bug.cgi?id=75727
122311
122312        Reviewed by Beth Dakin.
122313
122314        Exposes an attribute indicating that an element has highlighting through attributedStringForRange.
122315        Also allows the search mechanism to find elements with this style.
122316
122317        Test: platform/mac/accessibility/attributed-string-includes-highlighting.html
122318
122319        * accessibility/AccessibilityObject.cpp:
122320        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
122321        (WebCore::AccessibilityObject::hasHighlighting):
122322        * accessibility/AccessibilityObject.h:
122323        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
122324        (createAccessibilitySearchKeyMap):
122325        (AXAttributeStringSetStyle):
122326
1223272012-02-13  Chris Fleizach  <cfleizach@apple.com>
122328
122329        AX: the web area should report that focus can be set to itself
122330        https://bugs.webkit.org/show_bug.cgi?id=78272
122331
122332        Reviewed by Beth Dakin.
122333
122334        Test: platform/mac/accessibility/webarea-can-set-focus.html
122335
122336        * accessibility/AccessibilityRenderObject.cpp:
122337        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
122338        * accessibility/AccessibilityTable.cpp:
122339        (WebCore::AccessibilityTable::isDataTable):
122340           Fixed erroneous comment.
122341
1223422012-02-13  Patrick Gansterer  <paroga@webkit.org>
122343
122344        Port RunLoop to WinCE
122345        https://bugs.webkit.org/show_bug.cgi?id=76781
122346
122347        Reviewed by Adam Roben.
122348
122349        * platform/win/RunLoopWin.cpp:
122350        (WebCore::RunLoop::registerRunLoopMessageWindowClass):
122351
1223522012-02-10  Vsevolod Vlasov  <vsevik@chromium.org>
122353
122354        Web Inspector: Make ScriptsNavigator default file selector.
122355        https://bugs.webkit.org/show_bug.cgi?id=78349
122356
122357        Reviewed by Pavel Feldman.
122358
122359        Moved ScriptsNavigator out of experiments.
122360        Introduced new setting "useScriptsNavigator" with true as default value.
122361        Updated scripts panel tests related to file selector.
122362
122363        Tests: inspector/debugger/scripts-combobox-file-selector-history.html
122364               inspector/debugger/scripts-file-selector.html
122365
122366        * English.lproj/localizedStrings.js:
122367        * inspector/front-end/DebuggerPresentationModel.js:
122368        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
122369        * inspector/front-end/ScriptsNavigator.js:
122370        (WebInspector.ScriptsNavigator.prototype._removeUISourceCode):
122371        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
122372        * inspector/front-end/ScriptsPanel.js:
122373        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
122374        (WebInspector.ScriptsPanel.prototype._addUISourceCode):
122375        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
122376        * inspector/front-end/Settings.js:
122377        (WebInspector.ExperimentsSettings):
122378        * inspector/front-end/SettingsScreen.js:
122379        (WebInspector.SettingsScreen):
122380
1223812012-02-13  Andreas Kling  <awesomekling@apple.com>
122382
122383        Make HTMLTableCaptionElement inherit from HTMLElement.
122384        <http://webkit.org/b/78505>
122385
122386        Reviewed by Antti Koivisto.
122387
122388        HTMLTableCaptionElement was already bypassing its base class (HTMLTablePartElement)
122389        and calling up to HTMLElement in all its overrides. Just make it an HTMLElement
122390        instead since it doesn't use anything from HTMLTablePartElement.
122391        Remove parseAttribute() overload since it's no longer needed.
122392
122393        * html/HTMLTableCaptionElement.cpp:
122394        (WebCore::HTMLTableCaptionElement::HTMLTableCaptionElement):
122395        (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
122396        (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
122397        * html/HTMLTableCaptionElement.h:
122398
1223992012-02-13  Andreas Kling  <awesomekling@apple.com>
122400
122401        HTMLMarqueeElement: Don't cache presence of truespeed attribute.
122402        <http://webkit.org/b/78483>
122403
122404        Reviewed by Antti Koivisto.
122405
122406        Out-of-line minimumDelay() and look up the "truespeed" attribute there instead
122407        of caching the minimum delay in parseAttribute().
122408        Remove HTMLMarqueeElement::parseAttribute() as it's no longer needed.
122409
122410        * html/HTMLMarqueeElement.cpp:
122411        (WebCore::HTMLMarqueeElement::HTMLMarqueeElement):
122412        (WebCore::HTMLMarqueeElement::minimumDelay):
122413        * html/HTMLMarqueeElement.h:
122414        (HTMLMarqueeElement):
122415
1224162012-02-13  Andrey Kosyakov  <caseq@chromium.org>
122417
122418        Web Inspector: [refactoring] factor common timeline UI state into TimelinePresentationModel
122419        https://bugs.webkit.org/show_bug.cgi?id=78501
122420
122421        Reviewed by Pavel Feldman.
122422
122423        * inspector/front-end/TimelineOverviewPane.js:
122424        (WebInspector.TimelineOverviewPane):
122425        (WebInspector.TimelineOverviewPane.prototype._onCategoryVisibilityChanged):
122426        (WebInspector.TimelineOverviewPane.prototype.update):
122427        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
122428        (WebInspector.TimelineOverviewPane.prototype._setWindowPosition):
122429        (WebInspector.TimelineOverviewPane.prototype.scrollWindow):
122430        * inspector/front-end/TimelinePanel.js:
122431        (WebInspector.TimelinePanel):
122432        (WebInspector.TimelinePanel.prototype._createTopPane):
122433        (WebInspector.TimelinePanel.prototype.get statusBarItems):
122434        (WebInspector.TimelinePanel.prototype.get _recordStyles):
122435        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
122436        (WebInspector.TimelinePanel.prototype._createTimelineCategoryStatusBarCheckbox):
122437        (WebInspector.TimelinePanel.prototype._onCategoryCheckboxClicked):
122438        (WebInspector.TimelinePanel.prototype._innerAddRecordToTimeline):
122439        (WebInspector.TimelinePanel.prototype.sidebarResized):
122440        (WebInspector.TimelinePanel.prototype._updateBoundaries):
122441        (WebInspector.TimelinePanel.prototype._showPopover):
122442        (WebInspector.TimelinePresentationModel):
122443        (WebInspector.TimelinePresentationModel.prototype.get categories):
122444        (WebInspector.TimelinePresentationModel.prototype.addCategory):
122445        (WebInspector.TimelinePresentationModel.prototype.setWindowPosition):
122446        (WebInspector.TimelinePresentationModel.prototype.setCategoryVisibility):
122447
1224482012-02-13  Joel Webber  <jgw@google.com>
122449
122450        Use requestAnimationFrame callbacks to pump CSS animations
122451        https://bugs.webkit.org/show_bug.cgi?id=64591
122452
122453        Reviewed by James Robinson.
122454
122455        No new tests needed (covered by tests in animations/*).
122456
122457        * page/FrameView.cpp:
122458        (WebCore::FrameView::serviceScriptedAnimations):
122459        * page/animation/AnimationController.cpp:
122460        (WebCore::AnimationControllerPrivate::updateAnimations):
122461        (WebCore::AnimationControllerPrivate::updateAnimationTimer):
122462        (WebCore::AnimationControllerPrivate::fireEventsAndUpdateStyle):
122463        (WebCore::AnimationControllerPrivate::animationFrameCallbackFired):
122464        (WebCore::AnimationController::updateAnimations):
122465        (WebCore::AnimationController::serviceAnimations):
122466        * page/animation/AnimationController.h:
122467        * page/animation/AnimationControllerPrivate.h:
122468
1224692012-02-13  Patrick Gansterer  <paroga@webkit.org>
122470
122471        Add WindowsExtras.h
122472        https://bugs.webkit.org/show_bug.cgi?id=78340
122473
122474        Reviewed by Adam Roben.
122475
122476        Add a new file to share common code for Win32/WinCE differences.
122477
122478        * platform/win/PopupMenuWin.cpp:
122479        (WebCore::PopupMenuWin::PopupMenuWndProc):
122480        * platform/win/RunLoopWin.cpp:
122481        (WebCore::RunLoop::RunLoopWndProc):
122482        * platform/win/WindowsExtras.h: Added.
122483        (WebCore):
122484        (WebCore::getWindowPointer):
122485        (WebCore::setWindowPointer):
122486
1224872012-02-13  Andreas Kling  <awesomekling@apple.com>
122488
122489        Don't mark element for style recalc when modifying its attribute style.
122490        <http://webkit.org/b/78497>
122491
122492        Reviewed by Antti Koivisto.
122493
122494        StylePropertySet::setNeedsStyleRecalc() shouldn't do anything for attribute styles.
122495        Their invalidation is handled exclusively by StyledElement::attributeChanged().
122496        Elements with presentation attributes were being marked for style recalc twice,
122497        once when the attribute changed, and again during attribute style update, below the
122498        call to collectStyleForAttribute().
122499
122500        * css/StylePropertySet.cpp:
122501        (WebCore::StylePropertySet::setNeedsStyleRecalc):
122502
1225032012-02-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
122504
122505        Move attribute storage from NamedNodeMap to ElementAttributeData
122506        https://bugs.webkit.org/show_bug.cgi?id=77674
122507
122508        Reviewed by Andreas Kling.
122509
122510        Move m_attributes vector from NamedNodeMap to ElementAttributeData. Make the
122511        remaining callsites interact with ElementAttributeData if possible. The parsing
122512        code is still interacting with NamedNodeMap, so some functions remained as
122513        wrappers there. A next change will it use ElementAttributeData instead.
122514
122515        The code for DOM exported functions remained in NamedNodeMap. This implementation
122516        should move to Element in a next change, too.
122517
122518        * dom/Attr.h:
122519        (Attr):
122520        * dom/Element.cpp:
122521        (WebCore::Element::setAttribute):
122522        (WebCore::Element::setAttributeInternal):
122523        (WebCore::Element::parserSetAttributeMap):
122524        (WebCore::Element::removeAttribute):
122525        (WebCore::Element::hasAttribute):
122526        (WebCore::Element::hasAttributeNS):
122527        (WebCore::Element::normalizeAttributes):
122528        * dom/Element.h:
122529        (Element):
122530        (WebCore::Element::ensureUpdatedAttributes):
122531        (WebCore::Element::ensureAttributeData):
122532        (WebCore):
122533        (WebCore::Element::updatedAttributeData):
122534        (WebCore::Element::ensureUpdatedAttributeData):
122535        These *AttributeData functions are the correct correct way for callers to touch
122536        the details of attribute storage. The "updated" variants will update invalid
122537        attributes before return.
122538
122539        (WebCore::Element::setAttributesFromElement):
122540        * dom/ElementAttributeData.cpp:
122541        (WebCore::ElementAttributeData::~ElementAttributeData):
122542        (WebCore):
122543        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
122544        (WebCore::ElementAttributeData::addAttribute):
122545        (WebCore::ElementAttributeData::removeAttribute):
122546        (WebCore::ElementAttributeData::detachAttributesFromElement):
122547        (WebCore::ElementAttributeData::copyAttributesToVector):
122548        (WebCore::ElementAttributeData::getAttributeItemIndexSlowCase):
122549        (WebCore::ElementAttributeData::setAttributes): Make use of the assumption that
122550        this will only be called with a valid Element, since the only call site is an
122551        Element method.
122552        (WebCore::ElementAttributeData::clearAttributes):
122553        (WebCore::ElementAttributeData::replaceAttribute): Make use of the assumption
122554        this will only be called with a valid Element, since the only call site return
122555        early if there's no Element.
122556        * dom/ElementAttributeData.h:
122557        (ElementAttributeData):
122558        (WebCore::ElementAttributeData::length):
122559        (WebCore::ElementAttributeData::isEmpty):
122560        (WebCore::ElementAttributeData::attributeItem):
122561        (WebCore::ElementAttributeData::removeAttribute):
122562        (WebCore):
122563        (WebCore::ElementAttributeData::getAttributeItem):
122564        (WebCore::ElementAttributeData::getAttributeItemIndex):
122565        * dom/NamedNodeMap.cpp:
122566        (WebCore::NamedNodeMap::getNamedItem):
122567        (WebCore::NamedNodeMap::removeNamedItem):
122568        (WebCore::NamedNodeMap::setNamedItem):
122569        (WebCore::NamedNodeMap::item):
122570        (WebCore::NamedNodeMap::detachFromElement):
122571        * dom/NamedNodeMap.h:
122572        (WebCore::NamedNodeMap::length):
122573        (WebCore::NamedNodeMap::isEmpty):
122574        (WebCore::NamedNodeMap::attributeItem):
122575        (WebCore::NamedNodeMap::getAttributeItem):
122576        (WebCore::NamedNodeMap::getAttributeItemIndex):
122577        (WebCore::NamedNodeMap::shrinkToLength):
122578        (WebCore::NamedNodeMap::reserveInitialCapacity):
122579        (WebCore::NamedNodeMap::addAttribute):
122580        (WebCore::NamedNodeMap::removeAttribute):
122581        (NamedNodeMap):
122582        * dom/StyledElement.cpp:
122583        (WebCore::StyledElement::updateAttributeStyle):
122584        * dom/StyledElement.h:
122585        (WebCore::StyledElement::ensureInlineStyleDecl):
122586        * html/HTMLInputElement.cpp:
122587        (WebCore::HTMLInputElement::updateType):
122588        * svg/properties/SVGAnimatedPropertySynchronizer.h:
122589        * xml/parser/XMLDocumentParserQt.cpp:
122590        (WebCore::XMLDocumentParser::XMLDocumentParser):
122591
1225922012-02-13  Alexei Filippov  <alexeif@chromium.org>
122593
122594        Web Inspector: wrong percent calculations for empty snapshot.
122595        https://bugs.webkit.org/show_bug.cgi?id=78329
122596
122597        Reviewed by Yury Semikhatsky.
122598
122599        * inspector/front-end/DetailedHeapshotGridNodes.js:
122600        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
122601
1226022012-02-13  Alexei Filippov  <alexeif@chromium.org>
122603
122604        Web Inspector: add class filter to heap profiler.
122605        https://bugs.webkit.org/show_bug.cgi?id=78362
122606
122607        Reviewed by Yury Semikhatsky.
122608
122609        * inspector/front-end/DataGrid.js:
122610        (WebInspector.DataGrid.prototype.insertChild):
122611        * inspector/front-end/DetailedHeapshotView.js:
122612        (WebInspector.HeapSnapshotSortableDataGrid.prototype._performSorting):
122613        (WebInspector.HeapSnapshotConstructorsDataGrid):
122614        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype._nameFilterChanged):
122615        (WebInspector.DetailedHeapshotView.prototype._changeNameFilter):
122616        * inspector/front-end/heapProfiler.css:
122617        (.detailed-heapshot-view .constructors-view-grid):
122618        (.detailed-heapshot-view .constructors-view-toolbar):
122619        (.detailed-heapshot-view .constructors-view-toolbar input.constructors-view-filter):
122620
1226212012-02-13  Peter Rybin  <peter.rybin@gmail.com>
122622
122623        Web Inspector: In Inspector.json PropertyDescriptor.writable should be declared optional
122624        https://bugs.webkit.org/show_bug.cgi?id=77917
122625
122626        Reviewed by Pavel Feldman.
122627
122628        Property descriptor is fixed in Inspector.json. Also retroactively in
122629        0.1 and 1.0.
122630        Injected script in instructed to never return null property values.
122631
122632        * inspector/InjectedScriptSource.js:
122633        (.):
122634        * inspector/Inspector-0.1.json:
122635        * inspector/Inspector-1.0.json:
122636        * inspector/Inspector.json:
122637
1226382012-02-13  ChangSeok Oh  <shivamidow@gmail.com>
122639
122640        [GTK] Revise configuration for MHTML
122641        https://bugs.webkit.org/show_bug.cgi?id=78364
122642
122643        Reviewed by Gustavo Noronha Silva.
122644
122645        Added mhtml directory and removed target files duplicated to build when enabling mhtml.
122646        Archive.cpp, ArchiveFactory.cpp & their headers are included at the above line.
122647        This duplication has caused build-break if mhtml is enabled.
122648
122649        No new tests, since no new features.
122650
122651        * GNUmakefile.am:
122652        * GNUmakefile.list.am:
122653
1226542012-02-06  Raphael Kubo da Costa  <kubo@profusion.mobi>
122655
122656        [EFL] Drop support for the Curl network backend.
122657        https://bugs.webkit.org/show_bug.cgi?id=77874
122658
122659        Reviewed by Eric Seidel.
122660
122661        Nobody seems to be maintaining the Curl backend in WebCore, the
122662        EFL port developers all seem to be using the Soup backend and the
122663        port itself has many features which are only implemented for the
122664        latter.
122665
122666        No new tests, just some dependency plumbing.
122667
122668        * PlatformEfl.cmake: Build the glib/soup source files
122669        unconditionally.
122670        * platform/efl/FileSystemEfl.cpp: Remove ENABLE(GLIB_SUPPORT) check.
122671
1226722012-02-13  Pavel Feldman  <pfeldman@google.com>
122673
122674        Web Inspector: wrap settings selector text and adding a rule with undoable actions.
122675        https://bugs.webkit.org/show_bug.cgi?id=78482
122676
122677        Reviewed by Yury Semikhatsky.
122678
122679        Tests: inspector/styles/undo-add-new-rule.html
122680               inspector/styles/undo-set-selector-text.html
122681
122682        * inspector/InspectorCSSAgent.cpp:
122683        (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
122684        (InspectorCSSAgent::StyleSheetAction):
122685        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
122686        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
122687        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
122688        (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
122689        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
122690        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
122691        (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
122692        (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
122693        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
122694        (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
122695        (InspectorCSSAgent::SetRuleSelectorAction):
122696        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::SetRuleSelectorAction):
122697        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::perform):
122698        (WebCore::InspectorCSSAgent::SetRuleSelectorAction::undo):
122699        (WebCore):
122700        (InspectorCSSAgent::AddRuleAction):
122701        (WebCore::InspectorCSSAgent::AddRuleAction::AddRuleAction):
122702        (WebCore::InspectorCSSAgent::AddRuleAction::perform):
122703        (WebCore::InspectorCSSAgent::AddRuleAction::undo):
122704        (WebCore::InspectorCSSAgent::AddRuleAction::newRuleId):
122705        (WebCore::InspectorCSSAgent::setStyleSheetText):
122706        (WebCore::InspectorCSSAgent::setPropertyText):
122707        (WebCore::InspectorCSSAgent::toggleProperty):
122708        (WebCore::InspectorCSSAgent::setRuleSelector):
122709        (WebCore::InspectorCSSAgent::addRule):
122710        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
122711        (WebCore::InspectorCSSAgent::bindStyleSheet):
122712        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
122713        (WebCore::InspectorCSSAgent::styleSheetChanged):
122714        * inspector/InspectorCSSAgent.h:
122715        (InspectorCSSAgent):
122716        * inspector/InspectorStyleSheet.cpp:
122717        (WebCore::InspectorStyleSheet::create):
122718        (WebCore::InspectorStyleSheet::InspectorStyleSheet):
122719        (WebCore::InspectorStyleSheet::reparseStyleSheet):
122720        (WebCore::InspectorStyleSheet::ruleSelector):
122721        (WebCore):
122722        (WebCore::InspectorStyleSheet::setRuleSelector):
122723        (WebCore::InspectorStyleSheet::addRule):
122724        (WebCore::InspectorStyleSheet::deleteRule):
122725        (WebCore::InspectorStyleSheet::setPropertyText):
122726        (WebCore::InspectorStyleSheet::toggleProperty):
122727        (WebCore::InspectorStyleSheet::fireStyleSheetChanged):
122728        (WebCore::InspectorStyleSheetForInlineStyle::create):
122729        (WebCore::InspectorStyleSheetForInlineStyle::InspectorStyleSheetForInlineStyle):
122730        * inspector/InspectorStyleSheet.h:
122731        (InspectorStyleSheet):
122732        (WebCore::InspectorStyleSheet::styleId):
122733        (InspectorStyleSheetForInlineStyle):
122734
1227352012-02-13  Hayato Ito  <hayato@chromium.org>
122736
122737        Rename names defined in ContentInclutionSelector to more intuitive names.
122738        https://bugs.webkit.org/show_bug.cgi?id=78333
122739
122740        Reviewed by Hajime Morita.
122741
122742        This is just refactoring, renaming non-intuitive names to more intuitive names
122743        so that they match the terms in the spec.
122744
122745        No tests. No change in behavior.
122746
122747        * CMakeLists.txt:
122748        * GNUmakefile.list.am:
122749        * Target.pri:
122750        * WebCore.gypi:
122751        * WebCore.vcproj/WebCore.vcproj:
122752        * WebCore.xcodeproj/project.pbxproj:
122753        * dom/NodeRenderingContext.cpp:
122754        (WebCore::NodeRenderingContext::NodeRenderingContext):
122755        (WebCore::nextRendererOf):
122756        (WebCore::previousRendererOf):
122757        (WebCore::firstRendererOf):
122758        (WebCore::lastRendererOf):
122759        (WebCore::NodeRenderingContext::nextRenderer):
122760        (WebCore::NodeRenderingContext::previousRenderer):
122761        * dom/NodeRenderingContext.h:
122762        (NodeRenderingContext):
122763        (WebCore::NodeRenderingContext::insertionPoint):
122764        * dom/ShadowRoot.cpp:
122765        (WebCore::ShadowRoot::insertionPointFor):
122766        (WebCore::ShadowRoot::isSelectorActive):
122767        (WebCore::ShadowRoot::attach):
122768        (WebCore::ShadowRoot::selector):
122769        (WebCore::ShadowRoot::ensureSelector):
122770        * dom/ShadowRoot.h:
122771        (WebCore):
122772        (ShadowRoot):
122773        * html/shadow/ContentInclusionSelector.h: Removed.
122774        * html/shadow/HTMLContentElement.cpp:
122775        (WebCore::HTMLContentElement::HTMLContentElement):
122776        (WebCore::HTMLContentElement::attach):
122777        (WebCore::HTMLContentElement::detach):
122778        * html/shadow/HTMLContentElement.h:
122779        (WebCore):
122780        (WebCore::HTMLContentElement::selections):
122781        (WebCore::HTMLContentElement::hasSelection):
122782        (HTMLContentElement):
122783        * html/shadow/HTMLContentSelector.cpp: Renamed from Source/WebCore/html/shadow/ContentInclusionSelector.cpp.
122784        (WebCore):
122785        (WebCore::HTMLContentSeleciton::append):
122786        (WebCore::HTMLContentSeleciton::unlink):
122787        (WebCore::HTMLContentSelectionList::HTMLContentSelectionList):
122788        (WebCore::HTMLContentSelectionList::~HTMLContentSelectionList):
122789        (WebCore::HTMLContentSelectionList::find):
122790        (WebCore::HTMLContentSelectionList::clear):
122791        (WebCore::HTMLContentSelectionList::append):
122792        (WebCore::HTMLContentSelector::HTMLContentSelector):
122793        (WebCore::HTMLContentSelector::~HTMLContentSelector):
122794        (WebCore::HTMLContentSelector::select):
122795        (WebCore::HTMLContentSelector::unselect):
122796        (WebCore::HTMLContentSelector::findFor):
122797        (WebCore::HTMLContentSelector::didSelect):
122798        (WebCore::HTMLContentSelector::willSelectOver):
122799        * html/shadow/HTMLContentSelector.h: Added.
122800        (WebCore):
122801        (HTMLContentSeleciton):
122802        (WebCore::HTMLContentSeleciton::insertionPoint):
122803        (WebCore::HTMLContentSeleciton::node):
122804        (WebCore::HTMLContentSeleciton::next):
122805        (WebCore::HTMLContentSeleciton::previous):
122806        (WebCore::HTMLContentSeleciton::HTMLContentSeleciton):
122807        (WebCore::HTMLContentSeleciton::create):
122808        (HTMLContentSelectionList):
122809        (WebCore::HTMLContentSelectionList::first):
122810        (WebCore::HTMLContentSelectionList::last):
122811        (WebCore::HTMLContentSelectionList::isEmpty):
122812        (HTMLContentSelectionSet):
122813        (WebCore::HTMLContentSelectionSet::add):
122814        (WebCore::HTMLContentSelectionSet::remove):
122815        (WebCore::HTMLContentSelectionSet::isEmpty):
122816        (Translator):
122817        (WebCore::HTMLContentSelectionSet::Translator::hash):
122818        (WebCore::HTMLContentSelectionSet::Translator::equal):
122819        (WebCore::HTMLContentSelectionSet::Hash::hash):
122820        (WebCore::HTMLContentSelectionSet::Hash::equal):
122821        (Hash):
122822        (WebCore::HTMLContentSelectionSet::find):
122823        (HTMLContentSelector):
122824        (WebCore::HTMLContentSelector::hasCandidates):
122825        * testing/Internals.cpp:
122826        (WebCore::Internals::includerFor):
122827
1228282012-02-13  No'am Rosenthal  <noam.rosenthal@nokia.com>
122829
122830        [Texmap] morphing-cubes animation appears too close when clicking the button
122831        https://bugs.webkit.org/show_bug.cgi?id=78476
122832
122833        Fixed bug in TextureMapperAnimation that made transform animations that go to/from identity
122834        to not work.
122835
122836        Reviewed by Simon Hausmann.
122837
122838        No behavior changes.
122839
122840        * platform/graphics/texmap/TextureMapperAnimation.cpp:
122841        (WebCore::applyTransformAnimation):
122842
1228432012-02-13  Yosifumi Inoue  <yosin@chromium.org>
122844
122845        [Forms] Use enum instead of bool for HTMLInputElement::setValue
122846        https://bugs.webkit.org/show_bug.cgi?id=75217
122847
122848        Reviewed by Kent Tamura.
122849
122850        Use TextFieldEventBehavior enum instead of sendChangeEvent bool
122851        parameter for HTMLInputElement::setValue method. This new enum
122852        parameter will be extended to dispatch input and change events
122853        when user agent populates input field as specified in
122854        "Common events behavior" of HTML5 standard.
122855
122856        This patch is required for fixing bug 75067 "[Forms] Spin buttons
122857        of number input type should fire both input and change event."
122858
122859        No new tests. Existing tests cover this patch.
122860
122861        * html/BaseButtonInputType.cpp:
122862        (WebCore::BaseButtonInputType::setValue):
122863        * html/BaseButtonInputType.h:
122864        * html/BaseCheckableInputType.cpp:
122865        (WebCore::BaseCheckableInputType::setValue):
122866        * html/BaseCheckableInputType.h:
122867        * html/BaseDateAndTimeInputType.cpp:
122868        (WebCore::BaseDateAndTimeInputType::setValueAsNumber):
122869        * html/BaseDateAndTimeInputType.h:
122870        * html/CheckboxInputType.cpp:
122871        (WebCore::CheckboxInputType::willDispatchClick):
122872        * html/ColorInputType.cpp:
122873        (WebCore::ColorInputType::setValue):
122874        * html/ColorInputType.h:
122875        * html/FileInputType.cpp:
122876        (WebCore::FileInputType::setValue):
122877        * html/FileInputType.h:
122878        * html/HTMLInputElement.cpp:
122879        (WebCore::HTMLInputElement::applyStep):
122880        (WebCore::HTMLInputElement::stepUp):
122881        (WebCore::HTMLInputElement::stepDown):
122882        (WebCore::HTMLInputElement::setChecked):
122883        (WebCore::HTMLInputElement::setValueForUser):
122884        (WebCore::HTMLInputElement::setValue):
122885        (WebCore::HTMLInputElement::setValueInternal):
122886        (WebCore::HTMLInputElement::setValueAsNumber):
122887        (WebCore::HTMLInputElement::stepUpFromRenderer):
122888        * html/HTMLInputElement.h:
122889        * html/HTMLTextFormControlElement.h:
122890        * html/HiddenInputType.cpp:
122891        (WebCore::HiddenInputType::setValue):
122892        * html/HiddenInputType.h:
122893        * html/InputType.cpp:
122894        (WebCore::InputType::setValueAsNumber):
122895        (WebCore::InputType::setValue):
122896        * html/InputType.h:
122897        * html/NumberInputType.cpp:
122898        (WebCore::NumberInputType::setValueAsNumber):
122899        * html/NumberInputType.h:
122900        * html/RadioInputType.cpp:
122901        (WebCore::RadioInputType::willDispatchClick):
122902        * html/RangeInputType.cpp:
122903        (WebCore::RangeInputType::setValueAsNumber):
122904        (WebCore::RangeInputType::handleKeydownEvent):
122905        (WebCore::RangeInputType::setValue):
122906        * html/RangeInputType.h:
122907        * html/TextFieldInputType.cpp:
122908        (WebCore::TextFieldInputType::setValue):
122909        * html/TextFieldInputType.h:
122910
1229112012-02-13  Andreas Kling  <awesomekling@apple.com>
122912
122913        Move attribute style invalidation to attributeChanged().
122914        <http://webkit.org/b/78461>
122915
122916        Reviewed by Antti Koivisto.
122917
122918        Moved attribute style invalidation out of the parseAttribute() overloads
122919        and added an "isPresentationAttribute(Attribute*) virtual to StyledElement.
122920        Returning true for a given Attribute will cause attribute style invalidation
122921        when that attribute passes through attributeChanged().
122922
122923        Removed a couple of parseAttribute() overloads whose only remaining purpose
122924        was invalidating attribute style.
122925
122926        For form elements that deliberately don't map the "align" attribute, added
122927        short-circuits in isPresentationAttribute instead of falling back to the
122928        respective base class (which may othweise then map "align")
122929
122930        * dom/StyledElement.cpp:
122931        (WebCore::StyledElement::attributeChanged):
122932        * dom/StyledElement.h:
122933        (WebCore::StyledElement::isPresentationAttribute):
122934        * html/HTMLBRElement.cpp:
122935        (WebCore::HTMLBRElement::isPresentationAttribute):
122936        * html/HTMLBRElement.h:
122937        * html/HTMLBodyElement.cpp:
122938        (WebCore::HTMLBodyElement::isPresentationAttribute):
122939        (WebCore::HTMLBodyElement::collectStyleForAttribute):
122940        (WebCore::HTMLBodyElement::parseAttribute):
122941        * html/HTMLBodyElement.h:
122942        * html/HTMLButtonElement.cpp:
122943        (WebCore::HTMLButtonElement::isPresentationAttribute):
122944        (WebCore::HTMLButtonElement::parseAttribute):
122945        * html/HTMLButtonElement.h:
122946        * html/HTMLDivElement.cpp:
122947        (WebCore::HTMLDivElement::isPresentationAttribute):
122948        * html/HTMLDivElement.h:
122949        * html/HTMLElement.cpp:
122950        (WebCore::HTMLElement::isPresentationAttribute):
122951        (WebCore::HTMLElement::parseAttribute):
122952        * html/HTMLElement.h:
122953        * html/HTMLEmbedElement.cpp:
122954        (WebCore::HTMLEmbedElement::isPresentationAttribute):
122955        (WebCore::HTMLEmbedElement::parseAttribute):
122956        * html/HTMLEmbedElement.h:
122957        * html/HTMLFontElement.cpp:
122958        (WebCore::HTMLFontElement::isPresentationAttribute):
122959        * html/HTMLFontElement.h:
122960        * html/HTMLFrameSetElement.cpp:
122961        (WebCore::HTMLFrameSetElement::isPresentationAttribute):
122962        (WebCore::HTMLFrameSetElement::parseAttribute):
122963        * html/HTMLFrameSetElement.h:
122964        * html/HTMLHRElement.cpp:
122965        (WebCore::HTMLHRElement::isPresentationAttribute):
122966        (WebCore::HTMLHRElement::collectStyleForAttribute):
122967        * html/HTMLHRElement.h:
122968        * html/HTMLIFrameElement.cpp:
122969        (WebCore::HTMLIFrameElement::isPresentationAttribute):
122970        (WebCore::HTMLIFrameElement::collectStyleForAttribute):
122971        (WebCore::HTMLIFrameElement::parseAttribute):
122972        * html/HTMLIFrameElement.h:
122973        * html/HTMLImageElement.cpp:
122974        (WebCore::HTMLImageElement::isPresentationAttribute):
122975        (WebCore::HTMLImageElement::collectStyleForAttribute):
122976        (WebCore::HTMLImageElement::parseAttribute):
122977        * html/HTMLImageElement.h:
122978        * html/HTMLInputElement.cpp:
122979        (WebCore::HTMLInputElement::isPresentationAttribute):
122980        (WebCore::HTMLInputElement::collectStyleForAttribute):
122981        (WebCore::HTMLInputElement::parseAttribute):
122982        * html/HTMLInputElement.h:
122983        * html/HTMLLIElement.cpp:
122984        (WebCore::HTMLLIElement::isPresentationAttribute):
122985        (WebCore::HTMLLIElement::parseAttribute):
122986        * html/HTMLLIElement.h:
122987        * html/HTMLMarqueeElement.cpp:
122988        (WebCore::HTMLMarqueeElement::isPresentationAttribute):
122989        (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
122990        (WebCore::HTMLMarqueeElement::parseAttribute):
122991        * html/HTMLMarqueeElement.h:
122992        * html/HTMLOListElement.cpp:
122993        (WebCore::HTMLOListElement::isPresentationAttribute):
122994        (WebCore::HTMLOListElement::parseAttribute):
122995        * html/HTMLOListElement.h:
122996        * html/HTMLObjectElement.cpp:
122997        (WebCore::HTMLObjectElement::isPresentationAttribute):
122998        (WebCore::HTMLObjectElement::parseAttribute):
122999        * html/HTMLObjectElement.h:
123000        * html/HTMLParagraphElement.cpp:
123001        (WebCore::HTMLParagraphElement::isPresentationAttribute):
123002        * html/HTMLParagraphElement.h:
123003        * html/HTMLPlugInElement.cpp:
123004        (WebCore::HTMLPlugInElement::isPresentationAttribute):
123005        (WebCore::HTMLPlugInElement::collectStyleForAttribute):
123006        * html/HTMLPlugInElement.h:
123007        * html/HTMLPreElement.cpp:
123008        (WebCore::HTMLPreElement::isPresentationAttribute):
123009        (WebCore::HTMLPreElement::collectStyleForAttribute):
123010        * html/HTMLPreElement.h:
123011        * html/HTMLSelectElement.cpp:
123012        (WebCore::HTMLSelectElement::isPresentationAttribute):
123013        (WebCore::HTMLSelectElement::parseAttribute):
123014        * html/HTMLSelectElement.h:
123015        * html/HTMLTableCaptionElement.cpp:
123016        (WebCore::HTMLTableCaptionElement::isPresentationAttribute):
123017        (WebCore::HTMLTableCaptionElement::parseAttribute):
123018        * html/HTMLTableCaptionElement.h:
123019        * html/HTMLTableCellElement.cpp:
123020        (WebCore::HTMLTableCellElement::isPresentationAttribute):
123021        (WebCore::HTMLTableCellElement::collectStyleForAttribute):
123022        (WebCore::HTMLTableCellElement::parseAttribute):
123023        * html/HTMLTableCellElement.h:
123024        * html/HTMLTableColElement.cpp:
123025        (WebCore::HTMLTableColElement::isPresentationAttribute):
123026        (WebCore::HTMLTableColElement::parseAttribute):
123027        * html/HTMLTableColElement.h:
123028        * html/HTMLTableElement.cpp:
123029        (WebCore::HTMLTableElement::isPresentationAttribute):
123030        (WebCore::HTMLTableElement::parseAttribute):
123031        * html/HTMLTableElement.h:
123032        * html/HTMLTablePartElement.cpp:
123033        (WebCore::HTMLTablePartElement::isPresentationAttribute):
123034        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
123035        * html/HTMLTablePartElement.h:
123036        * html/HTMLTextAreaElement.cpp:
123037        (WebCore::HTMLTextAreaElement::isPresentationAttribute):
123038        (WebCore::HTMLTextAreaElement::parseAttribute):
123039        * html/HTMLTextAreaElement.h:
123040        * html/HTMLUListElement.cpp:
123041        (WebCore::HTMLUListElement::isPresentationAttribute):
123042        (WebCore::HTMLUListElement::collectStyleForAttribute):
123043        * html/HTMLUListElement.h:
123044        * html/HTMLVideoElement.cpp:
123045        (WebCore::HTMLVideoElement::isPresentationAttribute):
123046        (WebCore::HTMLVideoElement::parseAttribute):
123047        * html/HTMLVideoElement.h:
123048        * mathml/MathMLElement.cpp:
123049        (WebCore::MathMLElement::isPresentationAttribute):
123050        (WebCore::MathMLElement::collectStyleForAttribute):
123051        * mathml/MathMLElement.h:
123052        * svg/SVGImageElement.cpp:
123053        (WebCore::SVGImageElement::isPresentationAttribute):
123054        (WebCore::SVGImageElement::parseAttribute):
123055        * svg/SVGImageElement.h:
123056        * svg/SVGStyledElement.cpp:
123057        (WebCore::SVGStyledElement::isPresentationAttribute):
123058        (WebCore::SVGStyledElement::parseAttribute):
123059        * svg/SVGStyledElement.h:
123060        * svg/SVGTextContentElement.cpp:
123061        (WebCore::SVGTextContentElement::isPresentationAttribute):
123062        (WebCore::SVGTextContentElement::parseAttribute):
123063        * svg/SVGTextContentElement.h:
123064
1230652012-02-13  Kentaro Hara  <haraken@chromium.org>
123066
123067        Add [JSCustomToJSObject] IDL attribute to interfaces that have
123068        custom toJS() but do not have custom toV8()
123069        https://bugs.webkit.org/show_bug.cgi?id=78466
123070
123071        Reviewed by Adam Barth.
123072
123073        This is the second step to remove hard-coding in HasCustomToV8Implementation()
123074        in CodeGeneratorV8.pm. This patch replaces [JSCustomToJS] with [JSCustomToJSObject]
123075        for interfaces which have custom toJS() but do not have custom toV8().
123076
123077        No tests. No change in behavior.
123078
123079        * bindings/scripts/CodeGeneratorJS.pm:
123080        (GenerateHeader):
123081        (GenerateImplementation):
123082        * bindings/scripts/CodeGeneratorV8.pm:
123083        (HasCustomToV8Implementation): I found that AbstractWorker and CanvasRenderingContext
123084        are the only IDL files to which I need to add [JSCustomToJSObject].
123085        Other IDL files which had been listed here do not have [JSCustomToJS].
123086        * html/canvas/CanvasRenderingContext.idl:
123087        * workers/AbstractWorker.idl:
123088
1230892012-02-13  Andreas Kling  <awesomekling@apple.com>
123090
123091        Avoid unnecessary work when evaluating style sharing candidates.
123092        <http://webkit.org/b/78220>
123093
123094        Reviewed by Antti Koivisto.
123095
123096        Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups.
123097        Remove comparison of attributes that are reflected in the attribute styles (cellpadding.)
123098        Moved comparison of "type" and "readonly" attributes into the more specific
123099        canShareStyleWithControl() since they are only relevant for input elements. Don't bother
123100        calling isFormControlElement() on both elements as they already have the same tagQName().
123101
123102        Altogether this knocks off ~8ms worth of samples per cycle of the "Moz" page cycler test.
123103
123104        * css/CSSStyleSelector.cpp:
123105        (WebCore::CSSStyleSelector::canShareStyleWithControl):
123106        (WebCore::CSSStyleSelector::canShareStyleWithElement):
123107        (WebCore::isCommonAttributeSelectorAttribute):
123108
1231092012-02-13  Arko Saha  <arko@motorola.com>
123110
123111        <summary> is not keyboard accessible.
123112        https://bugs.webkit.org/show_bug.cgi?id=75478
123113
123114        Reviewed by Hajime Morita.
123115
123116        Toggle the content of <details> element on pressing Enter or Spacebar
123117        key on a focused <summary> element.
123118
123119        Test: fast/html/details-keyboard-show-hide.html
123120
123121        * html/HTMLSummaryElement.cpp:
123122        (WebCore::HTMLSummaryElement::supportsFocus):
123123        (WebCore):
123124        (WebCore::HTMLSummaryElement::defaultEventHandler):
123125        * html/HTMLSummaryElement.h:
123126        (HTMLSummaryElement):
123127
1231282012-02-13  Gavin Barraclough  <barraclough@apple.com>
123129
123130        https://bugs.webkit.org/show_bug.cgi?id=78434
123131        Unreviewed - temporarily reverting r107498 will I fix a couple of testcases.
123132
123133        * bindings/js/JSDOMWindowBase.cpp:
123134        (WebCore):
123135        * bindings/js/JSDOMWindowBase.h:
123136        (JSDOMWindowBase):
123137
1231382012-02-13  Ilya Tikhonovsky  <loislo@chromium.org>
123139
123140        Web Inspector: get rid of cycles in containment view of an object.
123141        https://bugs.webkit.org/show_bug.cgi?id=78462
123142
123143        Reviewed by Yury Semikhatsky.
123144
123145        * inspector/front-end/DetailedHeapshotGridNodes.js:
123146        (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
123147        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
123148
1231492012-02-12  Adam Barth  <abarth@webkit.org>
123150
123151        Remove ENABLE(MEDIA_STREAM) from Navigator.h
123152        https://bugs.webkit.org/show_bug.cgi?id=78467
123153
123154        Reviewed by Kentaro Hara.
123155
123156        Navigator.webkitGetUser media doesn't really have anything to do with
123157        Navigator.cpp.  This patch moves it into the mediastream directory and
123158        removes the ENABLE(MEDIA_STREAM) ifdefs in Navigator.h and
123159        Navigator.cpp.
123160
123161        * GNUmakefile.list.am:
123162        * WebCore.gypi:
123163        * mediastream/NavigatorMediaStream.cpp: Added.
123164        (WebCore):
123165        (WebCore::NavigatorMediaStream::NavigatorMediaStream):
123166        (WebCore::NavigatorMediaStream::~NavigatorMediaStream):
123167        (WebCore::NavigatorMediaStream::webkitGetUserMedia):
123168        * mediastream/NavigatorMediaStream.h: Added.
123169        (WebCore):
123170        (NavigatorMediaStream):
123171        * mediastream/NavigatorMediaStream.idl: Added.
123172        * page/Navigator.cpp:
123173        (WebCore):
123174        * page/Navigator.h:
123175        (WebCore):
123176        (Navigator):
123177        * page/Navigator.idl:
123178
1231792012-02-12  Adam Barth  <abarth@webkit.org>
123180
123181        Navigator.webkitGetUserMedia doesn't need to be custom
123182        https://bugs.webkit.org/show_bug.cgi?id=78464
123183
123184        Reviewed by Eric Seidel.
123185
123186        The code generator has gotten smarter since this function was added.
123187
123188        * GNUmakefile.list.am:
123189        * UseV8.cmake:
123190        * WebCore.gypi:
123191        * bindings/js/JSNavigatorCustom.cpp: Removed.
123192        * bindings/v8/custom/V8NavigatorCustom.cpp: Removed.
123193        * page/Navigator.idl:
123194
1231952012-02-12  Adam Barth  <abarth@webkit.org>
123196
123197        Move ENABLE(GAMEPAD) logic out of Navigator.h/cpp
123198        https://bugs.webkit.org/show_bug.cgi?id=78457
123199
123200        Reviewed by Hajime Morita.
123201
123202        This patch moves GAMEPAD-specific logic out of Navigator by introducing
123203        the concept of a NavigatorSupplement, analogous to the recently
123204        introduced PageSupplement.
123205
123206        * Modules/gamepad/NavigatorGamepad.cpp:
123207        (WebCore::NavigatorGamepad::from):
123208        (WebCore):
123209        (WebCore::NavigatorGamepad::webkitGamepads):
123210        (WebCore::NavigatorGamepad::gamepads):
123211        * Modules/gamepad/NavigatorGamepad.h:
123212        (NavigatorGamepad):
123213        * WebCore.gypi:
123214        * dom/DeviceMotionController.cpp:
123215        (WebCore::DeviceMotionController::supplementName):
123216        * page/Navigator.cpp:
123217        (WebCore::Navigator::provideSupplement):
123218        (WebCore):
123219        (WebCore::Navigator::requireSupplement):
123220        * page/Navigator.h:
123221        (Navigator):
123222        * page/Page.h:
123223        (Page):
123224        * page/PageSupplement.h:
123225            - This patch cleans up some nits in PageSupplement.
123226        (WebCore):
123227        (PageSupplement):
123228
1232292012-02-12  Kentaro Hara  <haraken@chromium.org>
123230
123231        Add a [V8CustomToJSObject] IDL attribute
123232        https://bugs.webkit.org/show_bug.cgi?id=78450
123233
123234        Reviewed by Adam Barth.
123235
123236        This is the first step to remove hard-coding in HasCustomToV8Implementation()
123237        in CodeGeneratorV8.pm. This patch adds [V8CustomToJSObject]
123238        to interfaces which have custom toV8() but do not have custom toJS().
123239
123240        No tests. No change in behavior.
123241
123242        * bindings/scripts/CodeGeneratorV8.pm: Replaced hard-coding with [V8CustomToJSObject].
123243        (HasCustomToV8Implementation):
123244
123245        * css/CSSStyleSheet.idl: Added [V8CustomToJSObject].
123246        * dom/DOMStringMap.idl:
123247        * dom/Element.idl:
123248        * dom/NamedNodeMap.idl:
123249        * html/DOMTokenList.idl:
123250        * html/HTMLDocument.idl:
123251        * html/HTMLElement.idl:
123252        * html/canvas/CanvasPixelArray.idl:
123253        * inspector/ScriptProfile.idl:
123254        * inspector/ScriptProfileNode.idl:
123255        * page/DOMWindow.idl:
123256        * page/Location.idl:
123257        * svg/SVGDocument.idl:
123258        * svg/SVGElement.idl:
123259        * workers/WorkerContext.idl:
123260
1232612012-02-12  David Barr  <davidbarr@chromium.org>
123262
123263        CSS3 currentColor on outline-color gets treated as inherit
123264        https://bugs.webkit.org/show_bug.cgi?id=73180
123265
123266        Reviewed by Antti Koivisto.
123267
123268        The CSS2 and CSS3 UI modules state that outline-color
123269        is not inherited. Make it so.
123270        http://www.w3.org/TR/CSS2/ui.html#propdef-outline-color
123271        http://www.w3.org/TR/css3-ui/#outline-color
123272
123273        Test: fast/css/outline-currentcolor.html
123274
123275        * css/CSSStyleApplyProperty.cpp:
123276        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
123277
1232782012-02-12  Antti Koivisto  <antti@apple.com>
123279
123280        CSSPageRule should inherit from CSSRule instead of CSSStyleRule
123281        https://bugs.webkit.org/show_bug.cgi?id=78452
123282
123283        Reviewed by Anders Carlsson.
123284
123285        This matches CSSOM and eliminates the only subclass of CSSStyleRule, enabling further refactoring.
123286
123287        * css/CSSPageRule.cpp:
123288        (WebCore::CSSPageRule::CSSPageRule):
123289        (WebCore::CSSPageRule::~CSSPageRule):
123290        (WebCore):
123291        (WebCore::CSSPageRule::selectorText):
123292        (WebCore::CSSPageRule::setSelectorText):
123293        (WebCore::CSSPageRule::cssText):
123294        * css/CSSPageRule.h:
123295        (CSSPageRule):
123296        (WebCore::CSSPageRule::style):
123297        (WebCore::CSSPageRule::selector):
123298        (WebCore::CSSPageRule::properties):
123299        (WebCore::CSSPageRule::adoptSelectorVector):
123300        (WebCore::CSSPageRule::setDeclaration):
123301        * css/CSSRule.cpp:
123302        (WebCore::CSSRule::cssText):
123303        * css/CSSStyleRule.cpp:
123304        (WebCore::CSSStyleRule::generateSelectorText):
123305        * css/CSSStyleSelector.cpp:
123306        (WebCore::RuleSet::pageRules):
123307        (RuleSet):
123308        (WebCore::RuleSet::addPageRule):
123309        (WebCore::comparePageRules):
123310        (WebCore::CSSStyleSelector::matchPageRules):
123311        (WebCore::CSSStyleSelector::matchPageRulesForList):
123312        * css/CSSStyleSelector.h:
123313        (CSSStyleSelector):
123314
1233152012-02-12  Shinya Kawanaka  <shinyak@google.com>
123316
123317        Introduce ShadowRootList.
123318        https://bugs.webkit.org/show_bug.cgi?id=78069
123319
123320        Reviewed by Hajime Morita.
123321
123322        This is a step to implement multiple shadow subtrees.
123323
123324        This patch introduces a shadow root list. ShadowRootList is a doubly linked list,
123325        and each shadow root now has a younger shadow root and older shadow root,
123326        which are a previous element and a next element respectively.
123327        Since a visual tree traversal, which will be introduced in coming patches, will need a older shadow root,
123328        we make a shadow root list a doubly linked list.
123329
123330        However, ShadowRootList does not have more than one shadow root now.
123331        This will be changed in a series of coming patches.
123332
123333        Element::shadowRoot(), setShadowRoot(), ensureShadowRoot(), and removeShadowRoot() are
123334        emulated using ShadowRootList for a while. These API will be replaced to ShadowRootList API later.
123335
123336        No new tests, no change in behavior.
123337
123338        * CMakeLists.txt:
123339        * GNUmakefile.list.am:
123340        * Target.pri:
123341        * WebCore.gypi:
123342        * WebCore.xcodeproj/project.pbxproj:
123343        * dom/DOMAllInOne.cpp:
123344        * dom/Element.cpp:
123345        (WebCore::Element::hasShadowRoot):
123346          Retruns true if an element has a shadowRoot.
123347        (WebCore::Element::shadowRootList):
123348          Gets shadow root list if any.
123349        (WebCore::Element::shadowRoot):
123350          Gets the first shadow root from the shadow root list.
123351        (WebCore::Element::setShadowRoot):
123352          Sets the first shadow root to the shadow root list.
123353        (WebCore::Element::removeShadowRoot):
123354          Removes all the shadow roots in the shadow root list.
123355        * dom/Element.h:
123356        (WebCore):
123357        (Element):
123358        * dom/ElementRareData.h:
123359        (ElementRareData):
123360        (WebCore::ElementRareData::ElementRareData):
123361          Has shadow root lists instead of shadow root.
123362        (WebCore::ElementRareData::~ElementRareData):
123363        * dom/ShadowRoot.cpp:
123364        (WebCore::ShadowRoot::ShadowRoot):
123365        (WebCore::ShadowRoot::~ShadowRoot):
123366        * dom/ShadowRoot.h:
123367        (ShadowRoot):
123368        (WebCore::ShadowRoot::youngerShadowRoot):
123369        (WebCore::ShadowRoot::olderShadowRoot):
123370        * dom/ShadowRootList.cpp: Added.
123371        (WebCore):
123372        (WebCore::ShadowRootList::ShadowRootList):
123373        (WebCore::ShadowRootList::~ShadowRootList):
123374        (WebCore::ShadowRootList::pushShadowRoot):
123375          Adds a shadow root into the list. Currently we limit the list can have only one shadow root.
123376        (WebCore::ShadowRootList::popShadowRoot):
123377          Removes and returns the youngest shadow root if any.
123378        * dom/ShadowRootList.h: Added.
123379        (WebCore):
123380        (ShadowRootList):
123381        (WebCore::ShadowRootList::hasShadowRoot):
123382        (WebCore::ShadowRootList::youngestShadowRoot):
123383        (WebCore::ShadowRootList::oldestShadowRoot):
123384
1233852012-02-12  Shinya Kawanaka  <shinyak@google.com>
123386
123387        INPUT shouldn't create ShadowRoot dynamically.
123388        https://bugs.webkit.org/show_bug.cgi?id=77930
123389
123390        Reviewed by Dimitri Glazkov.
123391
123392        When input type is changed, ShadowRoot was being re-created. This makes it difficult to
123393        support multiple shadow subtrees. This patch makes input re-use the existing shadow root
123394        instead of re-creating a shaow root. A shadow root should be created when an element is created.
123395
123396        Since media control elements are implemented using input elements, these elements should also
123397        create a shadow root in their construction phase.
123398
123399        Test: fast/dom/shadow/input-shadow-nochange.html
123400        Tests related to media controls should be covered by existing tests.
123401
123402        * html/ColorInputType.cpp:
123403        (WebCore::ColorInputType::createShadowSubtree):
123404        * html/FileInputType.cpp:
123405        (WebCore::FileInputType::createShadowSubtree):
123406        (WebCore::FileInputType::multipleAttributeChanged):
123407        * html/HTMLInputElement.cpp:
123408        (WebCore::HTMLInputElement::createShadowSubtree):
123409        * html/InputType.cpp:
123410        (WebCore::InputType::destroyShadowSubtree):
123411        * html/RangeInputType.cpp:
123412        (WebCore::RangeInputType::createShadowSubtree):
123413        * html/TextFieldInputType.cpp:
123414        (WebCore::TextFieldInputType::createShadowSubtree):
123415        * html/shadow/MediaControlElements.cpp:
123416          Creates a shadow tree in the construction phase.
123417        (WebCore::MediaControlPanelMuteButtonElement::create):
123418        (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
123419        (WebCore::MediaControlPlayButtonElement::create):
123420        (WebCore::MediaControlSeekForwardButtonElement::create):
123421        (WebCore::MediaControlSeekBackButtonElement::create):
123422        (WebCore::MediaControlRewindButtonElement::create):
123423        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
123424        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
123425        (WebCore::MediaControlTimelineElement::create):
123426        (WebCore::MediaControlVolumeSliderElement::create):
123427        (WebCore::MediaControlFullscreenVolumeSliderElement::create):
123428        (WebCore::MediaControlFullscreenButtonElement::create):
123429        (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
123430        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
123431
1234322012-02-12  Shinya Kawanaka  <shinyak@google.com>
123433
123434        SVGTRefElement shouldn't create a shadow root dynamically.
123435        https://bugs.webkit.org/show_bug.cgi?id=77938
123436
123437        Reviewed by Hajime Morita.
123438
123439        SVGTRefElement creates a shadow root dynamically. This will cause a problem to support
123440        multiple shadow subtrees. So it should be created in a constructor phase.
123441
123442        Test: svg/custom/tref-shadowdom.html
123443
123444        * svg/SVGTRefElement.cpp:
123445        (WebCore::SVGTRefElement::create):
123446        (WebCore::SVGTRefElement::createShadowSubtree):
123447        (WebCore):
123448        (WebCore::SVGTRefElement::updateReferencedText):
123449        * svg/SVGTRefElement.h:
123450        (SVGTRefElement):
123451
1234522012-02-12  Kentaro Hara  <haraken@chromium.org>
123453
123454        Unreviewed. Rebaselined run-bindings-tests results.
123455
123456        * bindings/scripts/test/JS/JSFloat64Array.cpp:
123457        (WebCore):
123458        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
123459        (WebCore):
123460        (WebCore::JSTestActiveDOMObject::destroy):
123461        (WebCore::JSTestActiveDOMObject::~JSTestActiveDOMObject):
123462        * bindings/scripts/test/JS/JSTestActiveDOMObject.h:
123463        (JSTestActiveDOMObject):
123464        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
123465        (WebCore):
123466        (WebCore::JSTestCustomNamedGetter::destroy):
123467        (WebCore::JSTestCustomNamedGetter::~JSTestCustomNamedGetter):
123468        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h:
123469        (JSTestCustomNamedGetter):
123470        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
123471        (WebCore):
123472        (WebCore::JSTestEventConstructor::destroy):
123473        (WebCore::JSTestEventConstructor::~JSTestEventConstructor):
123474        * bindings/scripts/test/JS/JSTestEventConstructor.h:
123475        (JSTestEventConstructor):
123476        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
123477        (WebCore):
123478        (WebCore::JSTestEventTarget::destroy):
123479        (WebCore::JSTestEventTarget::~JSTestEventTarget):
123480        * bindings/scripts/test/JS/JSTestEventTarget.h:
123481        (JSTestEventTarget):
123482        * bindings/scripts/test/JS/JSTestInterface.cpp:
123483        (WebCore):
123484        (WebCore::JSTestInterface::destroy):
123485        (WebCore::JSTestInterface::~JSTestInterface):
123486        * bindings/scripts/test/JS/JSTestInterface.h:
123487        (JSTestInterface):
123488        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
123489        (WebCore):
123490        (WebCore::JSTestMediaQueryListListener::destroy):
123491        (WebCore::JSTestMediaQueryListListener::~JSTestMediaQueryListListener):
123492        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
123493        (JSTestMediaQueryListListener):
123494        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
123495        (WebCore):
123496        (WebCore::JSTestNamedConstructor::destroy):
123497        (WebCore::JSTestNamedConstructor::~JSTestNamedConstructor):
123498        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
123499        (JSTestNamedConstructor):
123500        * bindings/scripts/test/JS/JSTestObj.cpp:
123501        (WebCore):
123502        (WebCore::JSTestObj::destroy):
123503        (WebCore::JSTestObj::~JSTestObj):
123504        * bindings/scripts/test/JS/JSTestObj.h:
123505        (JSTestObj):
123506        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
123507        (WebCore):
123508        (WebCore::JSTestSerializedScriptValueInterface::destroy):
123509        (WebCore::JSTestSerializedScriptValueInterface::~JSTestSerializedScriptValueInterface):
123510        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
123511        (JSTestSerializedScriptValueInterface):
123512
1235132012-02-12  Abhishek Arya  <inferno@chromium.org>
123514
123515        Regression (r104528): Crash when moving nodes across documents.
123516        https://bugs.webkit.org/show_bug.cgi?id=78432
123517
123518        Reviewed by Hajime Morita.
123519
123520        Test: fast/dom/node-move-to-new-document-crash-main.html
123521
123522        * dom/TreeScopeAdopter.cpp:
123523        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
123524        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
123525        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
123526
1235272012-02-12  Hajime Morrita  <morrita@chromium.org>
123528
123529        Page should have less intrusive way to associate API implementation objects.
123530        https://bugs.webkit.org/show_bug.cgi?id=78085
123531
123532        Reviewed by Adam Barth.
123533
123534        Introducing PageSupplement interface to attach behind-the-flag-ish
123535        objects to Page instances.
123536
123537        This change aims to improve modularity of Modules/ entries. With
123538        PageSupplement mechinary, we can eliminate ifdef conditionals from
123539        Page.h/Page.cpp and are able to add Modules/ entries without
123540        touching non-Module WebCore files. WebKit API classes like WebPage
123541        can "provide" these objects dynamically during the Page setup phase.
123542
123543        In this change, DeviceMotionController and
123544        DeviceOrientationController is updated to adopt PageSupplement
123545        inteface for an illustrative purpose because they are going to
123546        move into Modules/ shortly. Other Page associated API backing
123547        objects also should be transformed to PageSupplement family.
123548
123549        Reviewed by Adam Barth.
123550
123551        No new tests. No behavior change.
123552
123553        * CMakeLists.txt:
123554        * GNUmakefile.list.am:
123555        * Target.pri:
123556        * WebCore.gypi:
123557        * WebCore.vcproj/WebCore.vcproj:
123558        * WebCore.xcodeproj/project.pbxproj:
123559        * dom/DeviceMotionClient.h:
123560        (WebCore):
123561        * dom/DeviceMotionController.cpp:
123562        (WebCore::DeviceMotionController::supplementName):
123563        (WebCore):
123564        (WebCore::DeviceMotionController::isActiveAt):
123565        (WebCore::provideDeviceMotionTo):
123566        * dom/DeviceMotionController.h:
123567        (DeviceMotionController):
123568        (WebCore::DeviceMotionController::from):
123569        * dom/DeviceOrientationClient.h:
123570        (WebCore):
123571        * dom/DeviceOrientationController.cpp:
123572        (WebCore::DeviceOrientationController::supplementName):
123573        (WebCore):
123574        (WebCore::DeviceOrientationController::isActiveAt):
123575        (WebCore::provideDeviceOrientationTo):
123576        * dom/DeviceOrientationController.h:
123577        (DeviceOrientationController):
123578        (WebCore::DeviceOrientationController::from):
123579        * dom/Document.cpp:
123580        (WebCore::Document::suspendActiveDOMObjects):
123581        (WebCore::Document::resumeActiveDOMObjects):
123582        * history/PageCache.cpp:
123583        (WebCore::logCanCachePageDecision):
123584        (WebCore::PageCache::canCache):
123585        * page/DOMWindow.cpp:
123586        (WebCore::DOMWindow::addEventListener):
123587        (WebCore::DOMWindow::removeEventListener):
123588        (WebCore::DOMWindow::removeAllEventListeners):
123589        * page/PageSupplement.cpp:
123590        (WebCore::PageSupplement::~PageSupplement):
123591        (WebCore::PageSupplement::provideTo):
123592        (WebCore::PageSupplement::from):
123593        * page/PageSupplement.h:
123594        * page/Page.cpp:
123595        (WebCore::Page::Page):
123596        (WebCore::Page::~Page):
123597        (WebCore::Page::provideSupplement):
123598        (WebCore):
123599        (WebCore::Page::requireSupplement):
123600        (WebCore::Page::notifyDestroyedToSupplements):
123601        (WebCore::Page::PageClients::PageClients):
123602        * page/Page.h:
123603        (WebCore):
123604        (PageClients):
123605        (Page):
123606        * svg/graphics/SVGImage.cpp:
123607        (WebCore::SVGImage::dataChanged):
123608
1236092012-02-12  Nico Weber  <nicolasweber@gmx.de>
123610
123611        [chromium/mac] Change the type of webkit_system_interface from static_library to none
123612        https://bugs.webkit.org/show_bug.cgi?id=78441
123613
123614        This target exists only run an action and to add a dependency to the
123615        action's output to targets depending on webkit_system_interface.
123616        This is what target type 'none' is for. With this, no dummy source
123617        file is needed, and no empty libwebkit_system_interface.a is created.
123618        This also fixes this (harmless) libtool warning:
123619
123620        libtool: warning for library: libwebkit_system_interface.a the table
123621        of contents is empty (no object file members in the library define
123622        global symbols)
123623
123624        Reviewed by Adam Barth.
123625
123626        * WebCore.gyp/WebCore.gyp:
123627        * WebCore.gyp/mac/Empty.cpp: Removed.
123628
1236292012-02-12  Kenichi Ishibashi  <bashi@chromium.org>
123630
123631        If @font-face does not provide an explicit italic/bold variant, regular is used.
123632        https://bugs.webkit.org/show_bug.cgi?id=34147
123633
123634        Reviewed by Dan Bernstein.
123635
123636        Update @font-face handling code so that it matches @font-face behavior to the current draft of CSS3 Font spec. The original patch was written by yusukes@chromium.org.
123637        - Drops support for "bolder", "lighter", and "all" value. These are no longer allowed.
123638        - Only allows one value for font-style and font-weight.
123639
123640        Tests: fast/css/font-face-synthetic-bold-italic.html
123641               fast/css/font-face-weight-matching.html
123642
123643        * css/CSSFontSelector.cpp:
123644        (WebCore::CSSFontSelector::addFontFaceRule): Removed "all", "lighter", "bolder" handling code.
123645        (WebCore::compareFontFaces):Updated the weight matching algortihm.
123646        * css/CSSParser.cpp:
123647        (WebCore::CSSParser::parseValue): Replaced parseFontStyle() call with checking primitive values.
123648        (WebCore::CSSParser::parseFontWeight): Changed to allow only primitive values.
123649        (WebCore::CSSParser::createFontFaceRule): Removed checks for font-weight and font-style.
123650        (WebCore::CSSParser::deleteFontFaceOnlyValues): Ditto.
123651        * css/CSSParser.h: Removed parseFontStyle().
123652
1236532012-02-12  David Reveman  <reveman@chromium.org>
123654
123655        [Chromium] Avoid unnecessary memset in per-tile layer updater.
123656        https://bugs.webkit.org/show_bug.cgi?id=78426
123657
123658        Reviewed by Stephen White.
123659
123660        Use our own SkBitmap and call SkBitmap::allocPixels() instead of
123661        letting SkDevice construct a SkBitmap. This avoids an unnecessary
123662        memset otherwise done by SkDevice.
123663
123664        No new tests.
123665
123666        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
123667        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
123668        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
123669        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
123670        (Texture):
123671
1236722012-02-12  Joe Thomas  <joethomas@motorola.com>
123673
123674        Add toText and isTextNode helpers in Text class.
123675        https://bugs.webkit.org/show_bug.cgi?id=78140
123676
123677        Added a new helper function toText() in dom/Text.h which does the type casting operation to Text object.
123678        Modified the code to make use of this helper function.
123679
123680        Reviewed by Adam Barth.
123681
123682        No new tests.
123683
123684        * accessibility/AccessibilityRenderObject.cpp:
123685        (WebCore::accessibleNameForNode):
123686        * bindings/v8/custom/V8NodeCustom.cpp:
123687        (WebCore::toV8Slow):
123688        * css/SelectorChecker.cpp:
123689        (WebCore::SelectorChecker::checkOneSelector):
123690        * dom/Attr.cpp:
123691        (WebCore::Attr::childrenChanged):
123692        * dom/Element.cpp:
123693        (WebCore::Element::recalcStyle):
123694        * dom/Node.cpp:
123695        (WebCore::Node::normalize):
123696        * dom/Position.cpp:
123697        (WebCore::Position::containerText):
123698        (WebCore::Position::leadingWhitespacePosition):
123699        * dom/Range.cpp:
123700        (WebCore::Range::insertNode):
123701        (WebCore::Range::getBorderAndTextQuads):
123702        * dom/ScriptElement.cpp:
123703        (WebCore::ScriptElement::scriptContent):
123704        * dom/ShadowRoot.cpp:
123705        (WebCore::ShadowRoot::recalcShadowTreeStyle):
123706        * dom/Text.h: Added new helper function toText.
123707        (WebCore::toText): new helper function which does the type casting operation to Text object.
123708        (WebCore):
123709        * editing/ApplyBlockElementCommand.cpp:
123710        (WebCore::isNewLineAtPosition):
123711        (WebCore::ApplyBlockElementCommand::endOfNextParagrahSplittingTextNodesIfNeeded):
123712        * editing/ApplyStyleCommand.cpp:
123713        (WebCore::ApplyStyleCommand::splitTextAtEnd):
123714        (WebCore::ApplyStyleCommand::splitTextElementAtEnd):
123715        (WebCore::ApplyStyleCommand::joinChildTextNodes):
123716        * editing/BreakBlockquoteCommand.cpp:
123717        (WebCore::BreakBlockquoteCommand::doApply):
123718        * editing/CompositeEditCommand.cpp:
123719        (WebCore::CompositeEditCommand::insertNodeAt):
123720        (WebCore::CompositeEditCommand::positionOutsideTabSpan):
123721        (WebCore::CompositeEditCommand::canRebalance):
123722        (WebCore::CompositeEditCommand::rebalanceWhitespaceAt):
123723        (WebCore::CompositeEditCommand::prepareWhitespaceAtPositionForSplit):
123724        (WebCore::CompositeEditCommand::deleteInsignificantText):
123725        (WebCore::CompositeEditCommand::removePlaceholderAt):
123726        (WebCore::CompositeEditCommand::cleanupAfterDeletion):
123727        (WebCore::CompositeEditCommand::breakOutOfEmptyMailBlockquotedParagraph):
123728        * editing/DeleteSelectionCommand.cpp:
123729        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
123730        (WebCore::DeleteSelectionCommand::fixupWhitespace):
123731        * editing/Editor.cpp:
123732        (WebCore::Editor::setComposition):
123733        * editing/InsertLineBreakCommand.cpp:
123734        (WebCore::InsertLineBreakCommand::doApply):
123735        * editing/InsertParagraphSeparatorCommand.cpp:
123736        (WebCore::InsertParagraphSeparatorCommand::doApply):
123737        * editing/InsertTextCommand.cpp:
123738        (WebCore::InsertTextCommand::insertTab):
123739        * editing/MarkupAccumulator.cpp:
123740        (WebCore::MarkupAccumulator::appendStartMarkup):
123741        * editing/ReplaceSelectionCommand.cpp:
123742        (WebCore::ReplaceSelectionCommand::removeUnrenderedTextNodesAtEnds):
123743        (WebCore::ReplaceSelectionCommand::addSpacesForSmartReplace):
123744        (WebCore::ReplaceSelectionCommand::insertAsListItems):
123745        (WebCore::ReplaceSelectionCommand::performTrivialReplace):
123746        * editing/htmlediting.cpp:
123747        (WebCore::lineBreakExistsAtPosition):
123748        * editing/visible_units.cpp:
123749        (WebCore::startPositionForLine):
123750        (WebCore::endPositionForLine):
123751        (WebCore::startOfParagraph):
123752        (WebCore::endOfParagraph):
123753        * html/HTMLElement.cpp:
123754        (WebCore::replaceChildrenWithFragment):
123755        (WebCore::replaceChildrenWithText):
123756        (WebCore::mergeWithNextTextNode):
123757        * html/HTMLObjectElement.cpp:
123758        (WebCore::HTMLObjectElement::hasFallbackContent):
123759        (WebCore::HTMLObjectElement::updateDocNamedItem):
123760        * html/HTMLOptionElement.cpp:
123761        (WebCore::HTMLOptionElement::setText):
123762        * html/HTMLScriptElement.cpp:
123763        (WebCore::HTMLScriptElement::setText):
123764        * html/HTMLTextAreaElement.cpp:
123765        (WebCore::HTMLTextAreaElement::defaultValue):
123766        * html/HTMLTextFormControlElement.cpp:
123767        (WebCore::HTMLTextFormControlElement::innerTextValue):
123768        (WebCore::HTMLTextFormControlElement::valueWithHardLineBreaks):
123769        * html/HTMLTitleElement.cpp:
123770        (WebCore::HTMLTitleElement::text):
123771        (WebCore::HTMLTitleElement::setText):
123772        * inspector/InspectorDOMAgent.cpp:
123773        (WebCore::InspectorDOMAgent::setNodeValue):
123774        * rendering/RenderText.cpp:
123775        (WebCore::RenderText::originalText):
123776        * rendering/RenderTextFragment.cpp:
123777        (WebCore::RenderTextFragment::originalText):
123778        (WebCore::RenderTextFragment::previousCharacter):
123779
1237802012-02-12  Kentaro Hara  <haraken@chromium.org>
123781
123782        Remove [CPPCustom] from CodeGeneratorCPP.pm
123783        https://bugs.webkit.org/show_bug.cgi?id=78342
123784
123785        Reviewed by Adam Barth.
123786
123787        This patch removes [CPPCustom].
123788
123789        [CPPCustom] has been used in DOMWindow.location only to indicate that
123790        DOMWindow.location should be ignored in CPP. However, there are many
123791        other attributes and methods that CPP does not support (e.g. [CallWith=...],
123792        [CustomSetter], etc), and they are not yet marked with [CPPCustom].
123793        CPP just generates "meaningless" code for those unsupported attributes
123794        and methods. Ideally we can mark all unsupported attributes and methods
123795        with [CPPCustom], but it would not be so practical. Otherwise, removing
123796        [CPPCustom] would make sense. The side effect of removing [CPPCustom]
123797        is just that CPP will generate "meaningless" code for DOMWindow.location.
123798
123799        No tests. No change in behavior.
123800
123801        * bindings/scripts/CodeGeneratorCPP.pm:
123802        (ShouldSkipType):
123803        * page/DOMWindow.idl:
123804
1238052012-02-12  Kentaro Hara  <haraken@chromium.org>
123806
123807        Rename [JSCustomPrototypeDefineOwnProperty] to [JSCustomDefineOwnPropertyOnPrototype]
123808        https://bugs.webkit.org/show_bug.cgi?id=78354
123809
123810        Reviewed by Adam Barth.
123811
123812        This patch renames [JSCustomPrototypeDefineOwnProperty] to
123813        [JSCustomDefineOwnPropertyOnPrototype], for naming consistency with
123814        [JSCustomDefineOwnProperty] and [JSCustomNamedGetterOnPrototype].
123815
123816        No tests. No change in behavior.
123817
123818        * bindings/scripts/CodeGeneratorJS.pm:
123819        (GenerateHeader):
123820        * page/Location.idl:
123821
1238222012-02-11  Filip Pizlo  <fpizlo@apple.com>
123823
123824        It should be possible to send all JSC debug logging to a file
123825        https://bugs.webkit.org/show_bug.cgi?id=78418
123826
123827        Reviewed by Sam Weinig.
123828        
123829        Introduced wtf/DataLog, which defines WTF::dataFile, WTF::dataLog,
123830        and WTF::dataLogV. Changed all debugging- and profiling-related printfs
123831        to use WTF::dataLog() or one of its friends. By default, debug logging
123832        goes to stderr, unless you change the setting in wtf/DataLog.cpp.
123833
123834        No new tests because behavior is unchanged.
123835
123836        * ForwardingHeaders/wtf/DataLog.h: Added.
123837
1238382012-02-11  Gavin Barraclough  <barraclough@apple.com>
123839
123840        Move special __proto__ property to Object.prototype
123841        https://bugs.webkit.org/show_bug.cgi?id=78409
123842
123843        Reviewed by Oliver Hunt.
123844
123845        Re-implement this as a regular accessor property.  This has three key benefits:
123846        1) It makes it possible for objects to be given properties named __proto__.
123847        2) Object.prototype.__proto__ can be deleted, preventing object prototypes from being changed.
123848        3) This largely removes the magic used the implement __proto__, it can just be made a regular accessor property.
123849
123850        * bindings/js/JSDOMWindowBase.cpp:
123851        (WebCore::JSDOMWindowBase::allowsAccessFrom):
123852        (WebCore):
123853            - expose allowsAccessFrom check to JSC.
123854        * bindings/js/JSDOMWindowBase.h:
123855        (JSDOMWindowBase):
123856            - expose allowsAccessFrom check to JSC.
123857
1238582012-02-11  Benjamin Poulain  <benjamin@webkit.org>
123859
123860        Get rid of WebCore::URLString
123861        https://bugs.webkit.org/show_bug.cgi?id=78429
123862
123863        Reviewed by Adam Barth.
123864
123865        URLString is unused, remove the class.
123866
123867        * GNUmakefile.list.am:
123868        * WebCore.gypi:
123869        * WebCore.xcodeproj/project.pbxproj:
123870        * platform/KURL.cpp:
123871        * platform/KURL.h:
123872        (KURL):
123873        * platform/URLString.h: Removed.
123874
1238752012-02-11  Sam Weinig  <sam@webkit.org>
123876
123877        Fix the windows build.
123878
123879        Since Windows uses an all-in-one file to compile, the isRespectedPresentationAttribute()
123880        functions all need unique names.
123881
123882        * html/HTMLBodyElement.cpp:
123883        * html/HTMLHRElement.cpp:
123884        * html/HTMLIFrameElement.cpp:
123885        * html/HTMLImageElement.cpp:
123886        * html/HTMLInputElement.cpp:
123887        * html/HTMLMarqueeElement.cpp:
123888        * html/HTMLPlugInElement.cpp:
123889        * html/HTMLTableCellElement.cpp:
123890        * html/HTMLTablePartElement.cpp:
123891        * mathml/MathMLElement.cpp:
123892
1238932012-02-11  Anders Carlsson  <andersca@apple.com>
123894
123895        Overlay scrollbars don't appear when scrolling on the scrolling thread
123896        https://bugs.webkit.org/show_bug.cgi?id=78427
123897
123898        Reviewed by Sam Weinig.
123899
123900        Add a ScrollAnimator::notifyContentAreaScrolled and call it from ScrollAnimator::notifyContentAreaScrolled.
123901        It is then overridden in ScrollAnimatorMac to tickle AppKit so that overlay scrollbars will be shown.
123902
123903        * platform/ScrollAnimator.h:
123904        (WebCore::ScrollAnimator::notifyContentAreaScrolled):
123905        (ScrollAnimator):
123906        * platform/ScrollableArea.cpp:
123907        (WebCore::ScrollableArea::notifyScrollPositionChanged):
123908        * platform/mac/ScrollAnimatorMac.h:
123909        (ScrollAnimatorMac):
123910        * platform/mac/ScrollAnimatorMac.mm:
123911        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
123912        (WebCore::ScrollAnimatorMac::notifyContentAreaScrolled):
123913        (WebCore):
123914
1239152012-02-11  Anders Carlsson  <andersca@apple.com>
123916
123917        Implement more ScrollElasticityControllerClient member functions
123918        https://bugs.webkit.org/show_bug.cgi?id=78425
123919        <rdar://problem/10710727>
123920
123921        Reviewed by Sam Weinig.
123922
123923        * page/scrolling/ScrollingTreeNode.h:
123924        (ScrollingTreeNode):
123925        (WebCore::ScrollingTreeNode::horizontalScrollElasticity):
123926        (WebCore::ScrollingTreeNode::verticalScrollElasticity):
123927        (WebCore::ScrollingTreeNode::hasEnabledHorizontalScrollbar):
123928        (WebCore::ScrollingTreeNode::hasEnabledVerticalScrollbar):
123929        Add new getters.
123930
123931        * page/scrolling/mac/ScrollingTreeNodeMac.h:
123932        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
123933        (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
123934        (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
123935        (WebCore::ScrollingTreeNodeMac::stretchAmount):
123936        (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
123937        (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
123938        (WebCore::ScrollingTreeNodeMac::canScrollVertically):
123939        (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
123940        (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
123941        (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
123942        (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
123943        (WebCore::ScrollingTreeNodeMac::scrollByWithoutContentEdgeConstraints):
123944        Implement ScrollElasticityControllerClient member functions.
123945
1239462012-02-11  Antti Koivisto  <antti@apple.com>
123947
123948        Add size assert for Length
123949        https://bugs.webkit.org/show_bug.cgi?id=78420
123950
123951        Rubber-stamped by Andreas Kling.
123952
123953        Length type is memory critical and must not grow.
123954
123955        * platform/Length.cpp:
123956        (SameSizeAsLength):
123957        (WebCore):
123958
1239592012-02-11  Anders Carlsson  <andersca@apple.com>
123960
123961        Pass wheel events to a scroll elasticity controller on the scrolling thread
123962        https://bugs.webkit.org/show_bug.cgi?id=78421
123963
123964        Reviewed by Sam Weinig.
123965
123966        Add a ScrollElasticityController to ScrollingTreeNodeMac and pass wheel events to it.
123967        Fix ScrollingTreeNodeMac::scrollBy to clamp by the minimum and maximum scroll positions.
123968
123969        * page/scrolling/mac/ScrollingTreeNodeMac.h:
123970        (ScrollingTreeNodeMac):
123971        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
123972        (WebCore::ScrollingTreeNodeMac::ScrollingTreeNodeMac):
123973        (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
123974        (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
123975        (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
123976        (WebCore::ScrollingTreeNodeMac::minimumScrollPosition):
123977        (WebCore):
123978        (WebCore::ScrollingTreeNodeMac::maximumScrollPosition):
123979        (WebCore::ScrollingTreeNodeMac::scrollBy):
123980
1239812012-02-11  Andreas Kling  <awesomekling@apple.com>
123982
123983        Attribute styles should be created lazily.
123984        <http://webkit.org/b/78381>
123985
123986        Reviewed by Antti Koivisto.
123987
123988        TL;DR summary: Lazily construct the StyledElement::attributeStyle() instead of
123989        moving properties in/out of it in parseAttribute(). This allows us to enable
123990        the matched declaration cache for elements with presentation attributes.
123991
123992        The matched declaration cache has been disabled for elements with presentation
123993        attributes because attributeStyle() was mutable, and (simply put) the cache maps
123994        a set of StylePropertySet pointers to a resulting RenderStyle. This requires
123995        that the StylePropertySets are immutable.
123996
123997        To make them immutable, we now construct the attribute style lazily by adding
123998        a flag (to Node) that gets set in parseAttribute() when a presentation attribute
123999        respected by the element changes. A subsequent call to attributeStyle() checks
124000        the flag and rebuilds the style by looping over the attributes and calling the
124001        new virtual StyledElement::collectStyleForAttribute() on each one. Any dangling
124002        references to the previous attribute style will be garbage collected by the
124003        cache in CSSStyleSelector::sweepMatchedDeclarationCache().
124004
124005        * css/CSSStyleSelector.cpp:
124006        (WebCore::CSSStyleSelector::matchAllRules):
124007
124008            Enable matched declaration cache for elements with attribute style.
124009
124010        * dom/Node.h:
124011        (WebCore::Node::attributeStyleDirty):
124012        (WebCore::Node::setAttributeStyleDirty):
124013        (WebCore::Node::clearAttributeStyleDirty):
124014
124015            Add a Node flag to signify that a presentation attribute has changed and
124016            the attribute style needs to be rebuilt.
124017
124018        * dom/ElementAttributeData.h:
124019        * dom/ElementAttributeData.cpp:
124020        (WebCore::ElementAttributeData::setAttributeStyle):
124021
124022            Added a setter for the attribute style, called by updateAttributeStyle().
124023
124024        * dom/StyledElement.cpp:
124025        (WebCore::StyledElement::addHTMLLengthToStyle):
124026        (WebCore::StyledElement::addHTMLColorToStyle):
124027
124028            Moved and renamed two of the old addCSS* helpers from StyledElement.
124029
124030        (WebCore::StyledElement::updateAttributeStyle):
124031
124032            Called by attributeStyle() in case the "attribute style dirty" flag is
124033            set. Rebuilds the attribute style from scratch by looping over the
124034            attribute map and calling collectStyleForAttribute() on each attribute.
124035
124036        * dom/StyledElement.h:
124037        (WebCore::StyledElement::collectStyleForAttribute):
124038        (WebCore::StyledElement::attributeStyle):
124039        (WebCore::StyledElement::setNeedsAttributeStyleUpdate):
124040
124041            Helper, sets the attribute style dirty flag and marks the element for
124042            full style recalc. This is what parseAttribute() calls in subclasses
124043            when they encounter a presentation attribute.
124044
124045        * html/HTMLBRElement.cpp:
124046        (WebCore::HTMLBRElement::collectStyleForAttribute):
124047        (WebCore::HTMLBRElement::parseAttribute):
124048        * html/HTMLBRElement.h:
124049        * html/HTMLBodyElement.cpp:
124050        (WebCore::isRespectedPresentationAttribute):
124051        (WebCore::HTMLBodyElement::collectStyleForAttribute):
124052        (WebCore::HTMLBodyElement::parseAttribute):
124053        * html/HTMLBodyElement.h:
124054        * html/HTMLDivElement.cpp:
124055        (WebCore::HTMLDivElement::collectStyleForAttribute):
124056        (WebCore::HTMLDivElement::parseAttribute):
124057        * html/HTMLDivElement.h:
124058        * html/HTMLElement.cpp:
124059        (WebCore::HTMLElement::applyBorderAttributeToStyle):
124060        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
124061        (WebCore::HTMLElement::collectStyleForAttribute):
124062        (WebCore::HTMLElement::parseAttribute):
124063        (WebCore::HTMLElement::applyAlignmentAttributeToStyle):
124064        * html/HTMLElement.h:
124065        * html/HTMLEmbedElement.cpp:
124066        (WebCore::HTMLEmbedElement::collectStyleForAttribute):
124067        (WebCore::HTMLEmbedElement::parseAttribute):
124068        * html/HTMLEmbedElement.h:
124069        * html/HTMLFontElement.cpp:
124070        (WebCore::HTMLFontElement::collectStyleForAttribute):
124071        (WebCore::HTMLFontElement::parseAttribute):
124072        * html/HTMLFontElement.h:
124073        * html/HTMLFrameSetElement.cpp:
124074        (WebCore::HTMLFrameSetElement::collectStyleForAttribute):
124075        (WebCore::HTMLFrameSetElement::parseAttribute):
124076        * html/HTMLFrameSetElement.h:
124077        * html/HTMLHRElement.cpp:
124078        (WebCore::isRespectedPresentationAttribute):
124079        (WebCore::HTMLHRElement::collectStyleForAttribute):
124080        (WebCore::HTMLHRElement::parseAttribute):
124081        * html/HTMLHRElement.h:
124082        * html/HTMLIFrameElement.cpp:
124083        (WebCore::HTMLIFrameElement::collectStyleForAttribute):
124084        (WebCore::HTMLIFrameElement::parseAttribute):
124085        * html/HTMLIFrameElement.h:
124086        * html/HTMLImageElement.cpp:
124087        (WebCore::isRespectedPresentationAttribute):
124088        (WebCore::HTMLImageElement::collectStyleForAttribute):
124089        (WebCore::HTMLImageElement::parseAttribute):
124090        * html/HTMLImageElement.h:
124091        * html/HTMLInputElement.cpp:
124092        (WebCore::isRespectedPresentationAttribute):
124093        (WebCore::HTMLInputElement::collectStyleForAttribute):
124094        (WebCore::HTMLInputElement::parseAttribute):
124095        * html/HTMLInputElement.h:
124096        * html/HTMLLIElement.cpp:
124097        (WebCore::HTMLLIElement::collectStyleForAttribute):
124098        (WebCore::HTMLLIElement::parseAttribute):
124099        * html/HTMLLIElement.h:
124100        * html/HTMLMarqueeElement.cpp:
124101        (WebCore::isRespectedPresentationAttribute):
124102        (WebCore::HTMLMarqueeElement::collectStyleForAttribute):
124103        (WebCore::HTMLMarqueeElement::parseAttribute):
124104        * html/HTMLMarqueeElement.h:
124105        * html/HTMLOListElement.cpp:
124106        (WebCore::HTMLOListElement::collectStyleForAttribute):
124107        (WebCore::HTMLOListElement::parseAttribute):
124108        * html/HTMLOListElement.h:
124109        * html/HTMLObjectElement.cpp:
124110        (WebCore::HTMLObjectElement::collectStyleForAttribute):
124111        (WebCore::HTMLObjectElement::parseAttribute):
124112        * html/HTMLObjectElement.h:
124113        * html/HTMLParagraphElement.cpp:
124114        (WebCore::HTMLParagraphElement::collectStyleForAttribute):
124115        (WebCore::HTMLParagraphElement::parseAttribute):
124116        * html/HTMLParagraphElement.h:
124117        * html/HTMLPlugInElement.cpp:
124118        (WebCore::isRespectedPresentationAttribute):
124119        (WebCore::HTMLPlugInElement::collectStyleForAttribute):
124120        (WebCore::HTMLPlugInElement::parseAttribute):
124121        * html/HTMLPlugInElement.h:
124122        * html/HTMLPreElement.cpp:
124123        (WebCore::HTMLPreElement::collectStyleForAttribute):
124124        (WebCore::HTMLPreElement::parseAttribute):
124125        * html/HTMLPreElement.h:
124126        * html/HTMLTableCaptionElement.cpp:
124127        (WebCore::HTMLTableCaptionElement::collectStyleForAttribute):
124128        (WebCore::HTMLTableCaptionElement::parseAttribute):
124129        * html/HTMLTableCaptionElement.h:
124130        * html/HTMLTableCellElement.cpp:
124131        (WebCore::isRespectedPresentationAttribute):
124132        (WebCore::HTMLTableCellElement::collectStyleForAttribute):
124133        (WebCore::HTMLTableCellElement::parseAttribute):
124134        * html/HTMLTableCellElement.h:
124135        * html/HTMLTableColElement.cpp:
124136        (WebCore::HTMLTableColElement::collectStyleForAttribute):
124137        (WebCore::HTMLTableColElement::parseAttribute):
124138        * html/HTMLTableColElement.h:
124139        * html/HTMLTableElement.cpp:
124140        (WebCore::getBordersFromFrameAttributeValue):
124141        (WebCore::HTMLTableElement::collectStyleForAttribute):
124142        (WebCore::HTMLTableElement::parseAttribute):
124143        * html/HTMLTableElement.h:
124144        * html/HTMLTablePartElement.cpp:
124145        (WebCore::isRespectedPresentationAttribute):
124146        (WebCore::HTMLTablePartElement::collectStyleForAttribute):
124147        (WebCore::HTMLTablePartElement::parseAttribute):
124148        * html/HTMLTablePartElement.h:
124149        * html/HTMLTextAreaElement.cpp:
124150        (WebCore::HTMLTextAreaElement::collectStyleForAttribute):
124151        (WebCore::HTMLTextAreaElement::parseAttribute):
124152        * html/HTMLTextAreaElement.h:
124153        * html/HTMLUListElement.cpp:
124154        (WebCore::HTMLUListElement::collectStyleForAttribute):
124155        (WebCore::HTMLUListElement::parseAttribute):
124156        * html/HTMLUListElement.h:
124157        * html/HTMLVideoElement.cpp:
124158        (WebCore::HTMLVideoElement::collectStyleForAttribute):
124159        (WebCore::HTMLVideoElement::parseAttribute):
124160        * html/HTMLVideoElement.h:
124161        * mathml/MathMLElement.cpp:
124162        (WebCore::isRespectedPresentationAttribute):
124163        (WebCore::MathMLElement::collectStyleForAttribute):
124164        (WebCore::MathMLElement::parseAttribute):
124165        * mathml/MathMLElement.h:
124166        * svg/SVGImageElement.cpp:
124167        (WebCore::SVGImageElement::collectStyleForAttribute):
124168        (WebCore::SVGImageElement::parseAttribute):
124169        * svg/SVGImageElement.h:
124170        * svg/SVGStyledElement.cpp:
124171        (WebCore::SVGStyledElement::collectStyleForAttribute):
124172        (WebCore::SVGStyledElement::parseAttribute):
124173        * svg/SVGStyledElement.h:
124174        * svg/SVGTextContentElement.cpp:
124175        (WebCore::SVGTextContentElement::collectStyleForAttribute):
124176        (WebCore::SVGTextContentElement::parseAttribute):
124177        * svg/SVGTextContentElement.h:
124178
124179            Split handling of presentation attributes between parseAttribute() and
124180            collectStyleForAttribute() as appropriate. Some minor refactorings here and
124181            there (mostly in HTMLTableElement) to avoid excessive code duplication.
124182            Also sprinkled FIXMEs about inefficiencies we should clean up.
124183
1241842012-02-11   Arko Saha  <arko@motorola.com>
124185
124186        HTML 5: Support click() method on HTMLElement.
124187        https://bugs.webkit.org/show_bug.cgi?id=27880
124188
124189        Reviewed by Timothy Hatcher.
124190
124191        Test: fast/dom/click-method-on-html-element.html
124192
124193        * bindings/objc/PublicDOMInterfaces.h: Added click() method in DOMHTMLElement
124194        with availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
124195        * html/HTMLButtonElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
124196        * html/HTMLElement.idl: Added click() IDL method.
124197        * html/HTMLInputElement.idl: Moved click() method under LANGUAGE_OBJECTIVE_C.
124198
1241992012-02-11  Martin Robinson  <mrobinson@igalia.com>
124200
124201        [GStreamer] html5test.com says that gstreamer ports do not support WebM for audio
124202        https://bugs.webkit.org/show_bug.cgi?id=78244
124203
124204        Reviewed by Eric Seidel.
124205
124206        Specifically advertise support for audio/webm when we support the vorbis
124207        audio codec. This is necessary because gstreamer doesn't advertise it.
124208
124209        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
124210        (WebCore::mimeTypeCache): Add an override for audio/webm.
124211
1242122012-02-11  Anders Carlsson  <andersca@apple.com>
124213
124214        Try to fix the Windows build.
124215
124216        * platform/win/PopupMenuWin.cpp:
124217        (WebCore::PopupMenuWin::scrollToRevealSelection):
124218
1242192012-02-08  Stephen White  <senorblanco@chromium.org>
124220
124221        [chromium] Enable CSS filters on composited layers.
124222        https://bugs.webkit.org/show_bug.cgi?id=77266
124223
124224        Reviewed by James Robinson.
124225
124226        Will be covered by existing tests in css3/filters (when enabled).
124227
124228        * WebCore.gypi:
124229        Add CCRenderSurfaceFilters.* to the Chromium build.
124230        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
124231        (WebCore::GraphicsLayerChromium::setFilters):
124232        * platform/graphics/chromium/GraphicsLayerChromium.h:
124233        Override setFilters() virtual from GraphicsLayer.
124234        * platform/graphics/chromium/LayerChromium.cpp:
124235        (WebCore::LayerChromium::setFilters):
124236        Implement setFilters() to cache the filters here...
124237        (WebCore::LayerChromium::pushPropertiesTo):
124238        ... and push them to the CCLayerImpl at commit time.
124239        * platform/graphics/chromium/LayerChromium.h:
124240        (WebCore::LayerChromium::filters):
124241        Implement accessor.
124242        * platform/graphics/chromium/RenderSurfaceChromium.h:
124243        (WebCore::RenderSurfaceChromium::setFilters):
124244        Implement stub version of setFilters(), to satisfy the templates.
124245        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
124246        (WebCore::CCLayerImpl::setFilters):
124247        Implement setter to receive filters at commit time.
124248        * platform/graphics/chromium/cc/CCLayerImpl.h:
124249        (WebCore::CCLayerImpl::filters):
124250        Implement member var and accessor for filters.
124251        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
124252        (WebCore::calculateDrawTransformsAndVisibilityInternal):
124253        Add another clause here to force creation of a RenderSurface when
124254        filters are present, and to forward them from the layer to the
124255        RenderSurface.
124256        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
124257        (WebCore::CCRenderSurface::draw):
124258        (WebCore::CCRenderSurface::drawLayer):
124259        Check for filters at draw time, apply them, and forward the result
124260        through the drawing traversal.
124261        (WebCore::CCRenderSurface::drawSurface):
124262        If filter bitmap is present, bind it instead of the normal
124263        RenderSurface texture.
124264        (WebCore::CCRenderSurface::applyFilters):
124265        Apply filters to the render surface texture, and return the result.
124266        This function is a no-op for the threaded compositor, due to use
124267        of the SharedGraphicsContext3D.
124268        * platform/graphics/chromium/cc/CCRenderSurface.h:
124269        (WebCore::CCRenderSurface::setFilters):
124270        (WebCore::CCRenderSurface::filters):
124271        (CCRenderSurface):
124272        Filters getters and setters.
124273        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.cpp: Added.
124274        (WebCore::CCRenderSurfaceFilters::apply):
124275        External interface for this (static) class.  All internal
124276        implementation and helper functions are in the unnamed namespace.
124277        * platform/graphics/chromium/cc/CCRenderSurfaceFilters.h: Added.
124278
1242792012-02-11  Andreas Kling  <awesomekling@apple.com>
124280
124281        Node.isEqualNode() compares attributes twice.
124282        <http://webkit.org/b/78414>
124283
124284        Reviewed by Anders Carlsson.
124285
124286        A single pass across the attribute maps should be enough for anyone.
124287
124288        Added a test verifying correct behavior of Node.isEqualNode() when comparing
124289        two elements, one of which has had attributes that were all removed,
124290        resulting in an empty but non-null NamedNodeMap hanging off of the element.
124291        Note that this change is not fixing a regression, I'm just adding the test
124292        since I came close to introducing a bug here.
124293
124294        Test: fast/dom/isEqualNode-after-removeAttribute.html
124295
124296        * dom/Node.cpp:
124297        (WebCore::Node::isEqualNode):
124298
1242992012-02-11  Andreas Kling  <awesomekling@apple.com>
124300
124301        HTMLTablePartElement: Add helper method to find parent table.
124302        <http://webkit.org/b/78413>
124303
124304        Reviewed by Anders Carlsson.
124305
124306        Add HTMLTablePartElement::findParentTable() and use that in subclasses instead
124307        of duplicating the code.
124308
124309        * html/HTMLTableCellElement.cpp:
124310        (WebCore::HTMLTableCellElement::additionalAttributeStyle):
124311        * html/HTMLTableColElement.cpp:
124312        (WebCore::HTMLTableColElement::additionalAttributeStyle):
124313        * html/HTMLTablePartElement.cpp:
124314        (WebCore::HTMLTablePartElement::findParentTable):
124315        (WebCore):
124316        * html/HTMLTablePartElement.h:
124317        (WebCore):
124318        (HTMLTablePartElement):
124319        * html/HTMLTableSectionElement.cpp:
124320        (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
124321
1243222012-02-11  Andreas Kling  <awesomekling@apple.com>
124323
124324        Use Element's hasName/hasID flags to avoid unnecessary work when looking up name/id attributes.
124325        <http://webkit.org/b/77845>
124326
124327        Reviewed by Anders Carlsson.
124328
124329        Have Element::getIdAttribute() check the hasID() flag before looking up the attribute.
124330        Add an Element::getNameAttribute() to do the same thing with hasName().
124331        Update call sites to make use of these helpers whenever possible.
124332
124333        * accessibility/AccessibilityRenderObject.cpp:
124334        (WebCore::AccessibilityRenderObject::accessibilityDescription):
124335        * dom/DocumentOrderedMap.cpp:
124336        (WebCore::keyMatchesId):
124337        * dom/Element.h:
124338        (Element):
124339        (WebCore::Element::getIdAttribute):
124340        (WebCore):
124341        (WebCore::Element::getNameAttribute):
124342        * dom/NameNodeList.cpp:
124343        (WebCore::NameNodeList::nodeMatches):
124344        * dom/StaticHashSetNodeList.cpp:
124345        (WebCore::StaticHashSetNodeList::itemWithName):
124346        * dom/StaticNodeList.cpp:
124347        (WebCore::StaticNodeList::itemWithName):
124348        * html/HTMLAnchorElement.cpp:
124349        (WebCore::HTMLAnchorElement::name):
124350        * html/HTMLAppletElement.cpp:
124351        (WebCore::HTMLAppletElement::createRenderer):
124352        * html/HTMLCollection.cpp:
124353        (WebCore::HTMLCollection::checkForNameMatch):
124354        (WebCore::HTMLCollection::updateNameCache):
124355        * html/HTMLEmbedElement.cpp:
124356        (WebCore::HTMLEmbedElement::updateWidget):
124357        * html/HTMLFormCollection.cpp:
124358        (WebCore::HTMLFormCollection::updateNameCache):
124359        * html/HTMLFormControlElement.cpp:
124360        (WebCore::HTMLFormControlElement::formControlName):
124361        * html/HTMLFormElement.cpp:
124362        (WebCore::HTMLFormElement::name):
124363        * html/HTMLFrameElementBase.cpp:
124364        (WebCore::HTMLFrameElementBase::setNameAndOpenURL):
124365        * html/HTMLMetaElement.cpp:
124366        (WebCore::HTMLMetaElement::name):
124367        * html/HTMLNameCollection.cpp:
124368        (WebCore::HTMLNameCollection::itemAfter):
124369        * html/HTMLObjectElement.cpp:
124370        (WebCore::HTMLObjectElement::updateWidget):
124371        (WebCore::HTMLObjectElement::updateDocNamedItem):
124372        (WebCore::HTMLObjectElement::containsJavaApplet):
124373        (WebCore::HTMLObjectElement::formControlName):
124374        * inspector/InspectorPageAgent.cpp:
124375        (WebCore::InspectorPageAgent::buildObjectForFrame):
124376        * page/Frame.cpp:
124377        (WebCore::Frame::matchLabelsAgainstElement):
124378        * rendering/svg/RenderSVGResourceContainer.cpp:
124379        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
124380        * svg/SVGSVGElement.cpp:
124381        (WebCore::SVGSVGElement::getElementById):
124382
1243832012-02-11  Sheriff Bot  <webkit.review.bot@gmail.com>
124384
124385        Unreviewed, rolling out r107435.
124386        http://trac.webkit.org/changeset/107435
124387        https://bugs.webkit.org/show_bug.cgi?id=78410
124388
124389        It broke the Qt build (Requested by Ossy on #webkit).
124390
124391        * WebCore.exp.in:
124392        * WebCore.xcodeproj/project.pbxproj:
124393        * editing/mac/EditorMac.mm:
124394        (WebCore::Editor::writeSelectionToPasteboard):
124395        * platform/Pasteboard.h:
124396        (WebCore):
124397        (Pasteboard):
124398        * platform/PasteboardStrategy.h: Removed.
124399        * platform/PlatformPasteboard.h: Removed.
124400        * platform/PlatformStrategies.h:
124401        (WebCore):
124402        (WebCore::PlatformStrategies::PlatformStrategies):
124403        (PlatformStrategies):
124404        * platform/mac/DragDataMac.mm:
124405        (WebCore::DragData::canSmartReplace):
124406        (WebCore::insertablePasteboardTypes):
124407        (WebCore::DragData::asURL):
124408        * platform/mac/PasteboardMac.mm:
124409        (WebCore):
124410        (WebCore::selectionPasteboardTypes):
124411        (WebCore::writableTypesForURL):
124412        (WebCore::createWritableTypesForImage):
124413        (WebCore::writableTypesForImage):
124414        (WebCore::Pasteboard::Pasteboard):
124415        (WebCore::Pasteboard::clear):
124416        (WebCore::Pasteboard::writeSelectionForTypes):
124417        (WebCore::Pasteboard::writePlainText):
124418        (WebCore::Pasteboard::writeSelection):
124419        (WebCore::writeURLForTypes):
124420        (WebCore::Pasteboard::writeURL):
124421        (WebCore::writeFileWrapperAsRTFDAttachment):
124422        (WebCore::Pasteboard::writeImage):
124423        (WebCore::Pasteboard::writeClipboard):
124424        (WebCore::Pasteboard::canSmartReplace):
124425        (WebCore::Pasteboard::plainText):
124426        (WebCore::documentFragmentWithRTF):
124427        (WebCore::Pasteboard::documentFragment):
124428        * platform/mac/PlatformPasteboardMac.mm: Removed.
124429
1244302012-02-10  Antti Koivisto  <antti@apple.com>
124431
124432        Move CSSOM wrapper pointer out of StylePropertySet
124433        https://bugs.webkit.org/show_bug.cgi?id=78406
124434
124435        Reviewed by Andreas Kling.
124436        
124437        Most StylePropertySet instances never have CSSOM wrappers so having a pointer to one in
124438        each and and every object makes no sense.
124439
124440        Move the PropertySetCSSStyleDeclaration instances to a global HashMap. This shrinks
124441        StylePropertySet by a pointer.
124442        
124443        Added COMPILE_ASSERT for StylePropertySet size.
124444
124445        * css/StylePropertySet.cpp:
124446        (WebCore):
124447        (WebCore::StylePropertySet::StylePropertySet):
124448        (WebCore::StylePropertySet::~StylePropertySet):
124449        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
124450        * css/StylePropertySet.h:
124451        (StylePropertySet):
124452
1244532012-02-10  David Barton  <dbarton@mathscribe.com>
124454
124455        MathML internals - use createXXX() function naming, ASSERT()s
124456        https://bugs.webkit.org/show_bug.cgi?id=78384
124457
124458        Reviewed by Eric Seidel.
124459
124460        Standard RefPtr function naming uses "createXXX" instead of "makeXXX".
124461        I also added a couple of ASSERT()s.
124462
124463        No new tests.
124464
124465        * rendering/mathml/RenderMathMLBlock.cpp:
124466        (WebCore::RenderMathMLBlock::createBlockStyle):
124467        * rendering/mathml/RenderMathMLBlock.h:
124468        (RenderMathMLBlock):
124469        * rendering/mathml/RenderMathMLFenced.cpp:
124470        (WebCore::RenderMathMLFenced::createOperatorStyle):
124471        (WebCore::RenderMathMLFenced::makeFences):
124472        (WebCore::RenderMathMLFenced::addChild):
124473        * rendering/mathml/RenderMathMLFenced.h:
124474        (RenderMathMLFenced):
124475        * rendering/mathml/RenderMathMLFraction.cpp:
124476        (WebCore::RenderMathMLFraction::addChild):
124477        * rendering/mathml/RenderMathMLRoot.cpp:
124478        (WebCore::RenderMathMLRoot::addChild):
124479        * rendering/mathml/RenderMathMLSubSup.cpp:
124480        (WebCore::RenderMathMLSubSup::RenderMathMLSubSup):
124481        * rendering/mathml/RenderMathMLUnderOver.cpp:
124482        (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
124483        (WebCore::RenderMathMLUnderOver::addChild):
124484
1244852012-02-10  Dan Bernstein  <mitz@apple.com>
124486
124487        Non-threaded scrolling build fix.
124488
124489        * page/FrameView.cpp:
124490        (WebCore::FrameView::requestScrollPositionUpdate):
124491
1244922012-02-10  Edward O'Connor  <eoconnor@apple.com>
124493
124494        Change values for WEBKIT_KEYFRAMES_RULE, WEBKIT_KEYFRAME_RULE
124495        https://bugs.webkit.org/show_bug.cgi?id=71293
124496
124497        Reviewed by Chris Marrin.
124498
124499        Tests: animations/animation-css-rule-types.html
124500
124501        * css/CSSRule.h: Change WEBKIT_KEYFRAMES_RULE to 7 and
124502        WEBKIT_KEYFRAME_RULE to 8.
124503        * css/CSSRule.idl: Ditto.
124504
1245052012-02-10  Eric Seidel  <eric@webkit.org>
124506
124507        AtomicMarkupTokenBase::initializeAttributes should not create a StringImpl if it doesn't need to
124508        https://bugs.webkit.org/show_bug.cgi?id=78394
124509
124510        Reviewed by Adam Barth.
124511
124512        On the very next line is passes value to Attribute::create which takes
124513        an AtomicString, so this code was just allocating a StringImpl (every time)
124514        only to (much of the time) just release that StringImpl on the next line
124515        when it got the AtomicString instead.
124516
124517        I discovered this while looking at DOM/Events.html, but it's unclear
124518        if this fix actually makes that benchmark faster.
124519
124520        * xml/parser/MarkupTokenBase.h:
124521        (WebCore::::initializeAttributes):
124522
1245232012-02-10  Anders Carlsson  <andersca@apple.com>
124524
124525        Always update the scroll position through the scrolling coordinator
124526        https://bugs.webkit.org/show_bug.cgi?id=78403
124527
124528        Reviewed by Sam Weinig.
124529
124530        To get correct behavior, we always want to update the scrolling layer position
124531        on the scrolling thread. Do this by allowing the scrolling coordinator to intercept
124532        scroll position update requests and send them to the scrolling tree.
124533
124534        * page/FrameView.cpp:
124535        (WebCore::FrameView::requestScrollPositionUpdate):
124536        Let the scrolling coordinator have a go at updating the scroll position for this frame view.
124537
124538        * page/scrolling/ScrollingCoordinator.cpp:
124539        (WebCore::ScrollingCoordinator::requestScrollPositionUpdate):
124540        If it's a frame view we're coordinating scrolling for, tell the scrolling tree to update 
124541        the scroll position.
124542
124543        * page/scrolling/ScrollingTree.cpp:
124544        (WebCore::ScrollingTree::setMainFrameScrollPosition):
124545        Call through to the scrolling tree node.
124546
124547        * page/scrolling/ScrollingTreeNode.h:
124548        Add a new pure virtual setScrollPosition member function.
124549
124550        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
124551        Move most of the code from scrollBy here.
124552
124553        (WebCore::ScrollingTreeNodeMac::setScrollLayerPosition):
124554        Rename this member function from setScrollPosition to avoid conflicts.
124555
124556        (WebCore::ScrollingTreeNodeMac::scrollBy):
124557        Just call setScsrollPosition.
124558
124559        * platform/ScrollableArea.cpp:
124560        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
124561        Call requestScrollPositionUpdate, which allows subclasses of scrollable area to intercept
124562        the scroll operation and call it asynchronously.
124563
1245642012-02-10  Anders Carlsson  <andersca@apple.com>
124565
124566        ScrollableArea should have a function for noting that the scroll position changed
124567        https://bugs.webkit.org/show_bug.cgi?id=78402
124568
124569        Reviewed by Sam Weinig.
124570
124571        The scrolling coordinator needs a specialized function to call whenever the main frame
124572        scrolling position has changed, so add ScrollableArea::notifyScrollPositionChanged and
124573        call it from the scrolling coordinator.
124574
124575        * page/scrolling/ScrollingCoordinator.cpp:
124576        (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
124577        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
124578        * platform/ScrollableArea.cpp:
124579        (WebCore::ScrollableArea::notifyScrollPositionChanged):
124580        New function.
124581
124582        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
124583        Call ScrollableArea::notifyScrollPositionChanged.
124584
1245852012-02-09  Levi Weintraub  <leviw@chromium.org>
124586
124587        Unreviewed build fix.
124588
124589        Fixing the build by removing a duplicate definition of pixelSnappedIntRect in LayoutTypes.h and
124590        removing conflict markers from the changelog.
124591
124592        * rendering/LayoutTypes.h:
124593        (pixelSnappedIntRect):
124594        * ChangeLog:
124595
1245962012-02-09  Levi Weintraub  <leviw@chromium.org>
124597
124598        Add pixelSnappedIntRect method
124599        https://bugs.webkit.org/show_bug.cgi?id=78054
124600
124601        Reviewed by Eric Seidel.
124602
124603        This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
124604        pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
124605        engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to 
124606        understand we're using sub-pixel units).
124607
124608        No new tests. No change in behavior.
124609
124610        * accessibility/AccessibilityRenderObject.cpp:
124611        (WebCore::AccessibilityRenderObject::isOffScreen):
124612        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
124613        * dom/Range.cpp:
124614        (WebCore::Range::boundingBox):
124615        * html/HTMLCanvasElement.cpp:
124616        (WebCore::HTMLCanvasElement::paint):
124617        * html/shadow/TextControlInnerElements.cpp:
124618        (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
124619        * page/Frame.cpp:
124620        (WebCore::Frame::nodeImage):
124621        * page/FrameView.cpp:
124622        (WebCore::FrameView::repaintContentRectangle):
124623        (WebCore::FrameView::doDeferredRepaints):
124624        (WebCore::FrameView::windowClipRectForLayer):
124625        * platform/graphics/GraphicsLayer.cpp:
124626        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
124627        * rendering/InlineFlowBox.cpp:
124628        (WebCore::InlineFlowBox::paint):
124629        * rendering/LayoutTypes.h:
124630        (WebCore::pixelSnappedIntRect):
124631        (WebCore):
124632        * rendering/RenderBlock.cpp:
124633        (WebCore::RenderBlock::paintColumnContents):
124634        (WebCore::RenderBlock::selectionGaps):
124635        * rendering/RenderBox.cpp:
124636        (WebCore::RenderBox::paintBoxDecorations):
124637        (WebCore::RenderBox::pushContentsClip):
124638        * rendering/RenderBoxModelObject.cpp:
124639        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
124640        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
124641        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
124642        (WebCore::RenderBoxModelObject::paintBoxShadow):
124643        * rendering/RenderDetailsMarker.cpp:
124644        (WebCore::RenderDetailsMarker::paint):
124645        * rendering/RenderFlowThread.cpp:
124646        (WebCore::RenderFlowThread::paintIntoRegion):
124647        * rendering/RenderFrameSet.cpp:
124648        (WebCore::RenderFrameSet::paintColumnBorder):
124649        (WebCore::RenderFrameSet::paintRowBorder):
124650        (WebCore::RenderFrameSet::positionFramesWithFlattening):
124651        * rendering/RenderImage.cpp:
124652        (WebCore::RenderImage::paintReplaced):
124653        * rendering/RenderLayer.cpp:
124654        (WebCore::RenderLayer::scrollRectToVisible):
124655        (WebCore::RenderLayer::positionOverflowControls):
124656        (WebCore::RenderLayer::calculateRects):
124657        * rendering/RenderLayerBacking.cpp:
124658        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
124659        (WebCore::paintScrollbar):
124660        * rendering/RenderLayerCompositor.cpp:
124661        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
124662        * rendering/RenderObject.cpp:
124663        (WebCore::RenderObject::drawLineForBoxSide):
124664        (WebCore::RenderObject::addPDFURLRect):
124665        * rendering/RenderTextControlSingleLine.cpp:
124666        (WebCore::RenderTextControlSingleLine::showPopup):
124667        (WebCore::RenderTextControlSingleLine::paint):
124668        * rendering/RenderWidget.cpp:
124669        (WebCore::RenderWidget::paint):
124670        * rendering/style/RenderStyle.cpp:
124671        (WebCore::RenderStyle::getRoundedBorderFor):
124672        (WebCore::RenderStyle::getRoundedInnerBorderFor):
124673
1246742012-02-09  Levi Weintraub  <leviw@chromium.org>
124675
124676        Add pixelSnappedIntRect method
124677        https://bugs.webkit.org/show_bug.cgi?id=78054
124678
124679        Reviewed by Eric Seidel.
124680
124681        This patch introduces a pixelSnappedIntRect method that will snap a sub-pixel LayoutRect to
124682        pixel boundaries. These pixel snapped forms are what is used to communicate with the graphics
124683        engine (to paint at whole pixel boundaries) and the embedding app (so they don't need to 
124684        understand we're using sub-pixel units).
124685
124686        No new tests. No change in behavior.
124687
124688        * accessibility/AccessibilityRenderObject.cpp:
124689        (WebCore::AccessibilityRenderObject::isOffScreen):
124690        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
124691        * dom/Range.cpp:
124692        (WebCore::Range::boundingBox):
124693        * html/HTMLCanvasElement.cpp:
124694        (WebCore::HTMLCanvasElement::paint):
124695        * html/shadow/TextControlInnerElements.cpp:
124696        (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
124697        * page/Frame.cpp:
124698        (WebCore::Frame::nodeImage):
124699        * page/FrameView.cpp:
124700        (WebCore::FrameView::repaintContentRectangle):
124701        (WebCore::FrameView::doDeferredRepaints):
124702        (WebCore::FrameView::windowClipRectForLayer):
124703        * platform/graphics/GraphicsLayer.cpp:
124704        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
124705        * rendering/InlineFlowBox.cpp:
124706        (WebCore::InlineFlowBox::paint):
124707        * rendering/LayoutTypes.h:
124708        (WebCore::pixelSnappedIntRect):
124709        (WebCore):
124710        * rendering/RenderBlock.cpp:
124711        (WebCore::RenderBlock::paintColumnContents):
124712        (WebCore::RenderBlock::selectionGaps):
124713        * rendering/RenderBox.cpp:
124714        (WebCore::RenderBox::paintBoxDecorations):
124715        (WebCore::RenderBox::pushContentsClip):
124716        * rendering/RenderBoxModelObject.cpp:
124717        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
124718        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
124719        (WebCore::RenderBoxModelObject::drawBoxSideFromPath):
124720        (WebCore::RenderBoxModelObject::paintBoxShadow):
124721        * rendering/RenderDetailsMarker.cpp:
124722        (WebCore::RenderDetailsMarker::paint):
124723        * rendering/RenderFlowThread.cpp:
124724        (WebCore::RenderFlowThread::paintIntoRegion):
124725        * rendering/RenderFrameSet.cpp:
124726        (WebCore::RenderFrameSet::paintColumnBorder):
124727        (WebCore::RenderFrameSet::paintRowBorder):
124728        (WebCore::RenderFrameSet::positionFramesWithFlattening):
124729        * rendering/RenderImage.cpp:
124730        (WebCore::RenderImage::paintReplaced):
124731                * rendering/RenderLayer.cpp:
124732        (WebCore::RenderLayer::scrollRectToVisible):
124733        (WebCore::RenderLayer::positionOverflowControls):
124734        (WebCore::RenderLayer::calculateRects):
124735        * rendering/RenderLayerBacking.cpp:
124736        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
124737        (WebCore::paintScrollbar):
124738        * rendering/RenderLayerCompositor.cpp:
124739        (WebCore::RenderLayerCompositor::calculateCompositedBounds):
124740        * rendering/RenderObject.cpp:
124741        (WebCore::RenderObject::drawLineForBoxSide):
124742        (WebCore::RenderObject::addPDFURLRect):
124743        * rendering/RenderTextControlSingleLine.cpp:
124744        (WebCore::RenderTextControlSingleLine::showPopup):
124745        (WebCore::RenderTextControlSingleLine::paint):
124746        * rendering/RenderWidget.cpp:
124747        (WebCore::RenderWidget::paint):
124748        * rendering/style/RenderStyle.cpp:
124749        (WebCore::RenderStyle::getRoundedBorderFor):
124750        (WebCore::RenderStyle::getRoundedInnerBorderFor):
124751
1247522012-02-10  Brian Weinstein  <bweinstein@apple.com>
124753
124754        Web Inspector: Add the ability to jump to the source for a given frame
124755        https://bugs.webkit.org/show_bug.cgi?id=78396
124756
124757        Reviewed by Tim Hatcher.
124758
124759        * WebCore.exp.in: Add a new exported function.
124760        * inspector/InspectorController.cpp: Add and expose the InspectorPageAgent.
124761        (WebCore::InspectorController::InspectorController): Set m_pageAgent.
124762        * inspector/InspectorController.h: Add m_pageAgent.
124763        (WebCore::InspectorController::pageAgent): Return m_pageAgent.
124764
124765        * inspector/InspectorFrontendClientLocal.cpp:
124766        (WebCore::InspectorFrontendClientLocal::showMainResourceForFrame): Get the inspector's frame ID
124767            of the frame that was passed in, and add a call to evaluate on load.
124768        * inspector/InspectorFrontendClientLocal.h:
124769
124770        * inspector/front-end/InspectorFrontendAPI.js:
124771        (InspectorFrontendAPI.showMainResourceForFrame): Add a FIXME to show the source code for the main
124772            resource of the given frame.
124773
1247742012-02-10  Vineet Chaudhary  <rgf748@motorola.com>
124775
124776        https://bugs.webkit.org/show_bug.cgi?id=72756
124777        DOMHTMLElement’s accessKey property is declared as available in WebKit version that didn’t have it. 
124778
124779        Reviewed by Timothy Hatcher.
124780
124781        No new tests.
124782
124783        * bindings/objc/PublicDOMInterfaces.h: Moving accessKey property to DOMHTMLElement
124784          with an appropriate availability macro AVAILABLE_AFTER_WEBKIT_VERSION_5_1.
124785          Also Moving accessKey property to HTMLAnchorElement, HTMLAreaElement, HTMLButtonElement,
124786          HTMLInputElement, HTMLLabelElement, HTMLLegendElement  and HTMLTextAreaElement idls
124787          with an availability macro AVAILABLE_WEBKIT_VERSION_1_3_AND_LATER_BUT_DEPRECATED_AFTER_WEBKIT_VERSION_5_1.
124788        * html/HTMLAnchorElement.idl: Adding accessKey entries back to idls under LANGUAGE_OBJECTIVE_C.
124789        * html/HTMLAreaElement.idl: Ditto.
124790        * html/HTMLButtonElement.idl: Ditto.
124791        * html/HTMLInputElement.idl: Ditto.
124792        * html/HTMLLabelElement.idl: Ditto.
124793        * html/HTMLLegendElement.idl: Ditto.
124794        * html/HTMLTextAreaElement.idl: Ditto.
124795
1247962012-02-10  Beth Dakin  <bdakin@apple.com>
124797
124798        Speculative build fix.
124799
124800        * platform/win/PopupMenuWin.cpp:
124801        (WebCore::PopupMenuWin::scrollToRevealSelection):
124802
1248032012-02-10  Adam Klein  <adamk@chromium.org>
124804
124805        Enable MUTATION_OBSERVERS by default on all platforms
124806        https://bugs.webkit.org/show_bug.cgi?id=78196
124807
124808        Reviewed by Ojan Vafai.
124809
124810        * Configurations/FeatureDefines.xcconfig:
124811        * UseV8.cmake: Add some previously-missing files.
124812        * WebCore.vcproj/WebCore.vcproj: ditto.
124813        * bindings/js/JSBindingsAllInOne.cpp: ditto.
124814        * dom/DOMAllInOne.cpp: ditto.
124815
1248162012-02-10  Emil A Eklund  <eae@chromium.org> and Levi Weintraub  <leviw@chromium.org>
124817
124818        Add FractionalLayoutUnit type for sub-pixel layout
124819        https://bugs.webkit.org/show_bug.cgi?id=77485
124820
124821        Reviewed by Eric Seidel.
124822
124823        Add fixed point implementation (FractionalLayoutUnit).
124824
124825        FractionalLayoutUnit represents values as multiples of 1/60th pixel. This allows us
124826        to represent sub-pixel values using integer math and avoids floating point precision
124827        problems.
124828
124829        No new tests.
124830
124831        * WebCore.vcproj/WebCore.vcproj:
124832        * WebCore.xcodeproj/project.pbxproj:
124833        * platform/FractionalLayoutUnit.h: Added.
124834
1248352012-02-10  Adam Langley  <agl@chromium.org>
124836
124837        Don't lowercase ping URLs.
124838
124839        Previously, ping URLs would be lowercased when splitting them apart.
124840        URLs are not, however, case-insensitive.
124841
124842        https://bugs.webkit.org/show_bug.cgi?id=78371
124843
124844        Reviewed by Tony Chang.
124845
124846        * html/HTMLAnchorElement.cpp:
124847        (WebCore::HTMLAnchorElement::sendPings): Don't lowercase URL.
124848
1248492012-02-10  Ojan Vafai  <ojan@chromium.org>
124850
124851        flex-pack:center and flex-item-align:center should do true centering
124852        https://bugs.webkit.org/show_bug.cgi?id=77385
124853
124854        Reviewed by Tony Chang.
124855
124856        Also, removed passing totalPositiveFlexibility around. We don't
124857        need to know about positive/negative flex once we run the flexing algorithm.
124858        We used to need to know this in order to flex margins, but margins can
124859        no longer be flexed.
124860
124861        Test: css3/flexbox/true-centering.html
124862
124863        * rendering/RenderFlexibleBox.cpp:
124864        (WebCore::RenderFlexibleBox::layoutFlexItems):
124865        (WebCore::initialPackingOffset):
124866        (WebCore::packingSpaceBetweenChildren):
124867        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
124868        (WebCore::RenderFlexibleBox::layoutColumnReverse):
124869        * rendering/RenderFlexibleBox.h:
124870        (RenderFlexibleBox):
124871
1248722012-02-10  Mark Hahnenberg  <mhahnenberg@apple.com>
124873
124874        Split MarkedSpace into destructor and destructor-free subspaces
124875        https://bugs.webkit.org/show_bug.cgi?id=77761
124876
124877        Reviewed by Geoffrey Garen.
124878
124879        No new tests.
124880
124881        * bindings/js/JSDOMWindowShell.cpp: Removed old operator new, which was just used in the create
124882        function so that we can use allocateCell instead.
124883        (WebCore):
124884        * bindings/js/JSDOMWindowShell.h:
124885        (WebCore::JSDOMWindowShell::create):
124886        (JSDOMWindowShell):
124887        * bindings/scripts/CodeGeneratorJS.pm: Added destructor back to root JS DOM nodes (e.g. JSNode, etc)
124888        because their destroy functions need to be called, so we don't want the NeedsDestructor struct to 
124889        think they don't need destruction due to having empty/trivial destructors.
124890        Removed ASSERT_HAS_TRIVIAL_DESTRUCTOR from all JS DOM wrapper auto-generated objects because their 
124891        ancestors now have non-trivial destructors. 
124892        (GenerateHeader):
124893        (GenerateImplementation):
124894        (GenerateConstructorDefinition):
124895
1248962012-02-10  Anders Carlsson  <andersca@apple.com>
124897
124898        Remove a bunch of unused ScrollableArea member functions
124899        https://bugs.webkit.org/show_bug.cgi?id=78388
124900
124901        Reviewed by Beth Dakin.
124902
124903        * platform/ScrollableArea.cpp:
124904        * platform/ScrollableArea.h:
124905
1249062012-02-10  Pavel Podivilov  <podivilov@chromium.org>
124907
124908        Fix a few typos in IDL exception names.
124909        https://bugs.webkit.org/show_bug.cgi?id=78356
124910
124911        Reviewed by Adam Barth.
124912
124913        * dom/Node.idl:
124914        * notifications/NotificationCenter.idl:
124915        * page/Navigator.idl:
124916
1249172012-02-10  Benjamin Poulain  <bpoulain@apple.com>
124918
124919        DefaultLocalizationStrategy::htmlSelectMultipleItems() should use size_t instead of int
124920        https://bugs.webkit.org/show_bug.cgi?id=78374
124921
124922        Reviewed by Joseph Pecoraro.
124923
124924        The value comes from size_t and is converted to int for no good reason. We should use
124925        size_t.
124926
124927        * platform/DefaultLocalizationStrategy.cpp:
124928        (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
124929        * platform/DefaultLocalizationStrategy.h:
124930        (DefaultLocalizationStrategy):
124931
1249322012-02-10  Anders Carlsson  <andersca@apple.com>
124933
124934        More ScrollableArea cleanup
124935        https://bugs.webkit.org/show_bug.cgi?id=78383
124936
124937        Reviewed by Beth Dakin.
124938
124939        Get rid of setScrollOriginX and setScrollOriginY. Make ScrollableArea::setScrollOrigin private.
124940
124941        * platform/ScrollView.cpp:
124942        (WebCore::ScrollView::updateScrollbars):
124943        * platform/ScrollableArea.cpp:
124944        (WebCore::ScrollableArea::setScrollOrigin):
124945        * platform/ScrollableArea.h:
124946        (ScrollableArea):
124947
1249482012-02-10  Kentaro Hara  <haraken@chromium.org>
124949
124950        Rename [JSCustomPrototypePutDelegate] to [JSCustomNamedGetterOnPrototype]
124951        https://bugs.webkit.org/show_bug.cgi?id=78353
124952
124953        Reviewed by Adam Barth.
124954
124955        [JSCustomPrototypePutDelegate] is used to write custom code for named
124956        getters on a prototype interface. "PutDelegate" is just a method name
124957        in implementation and not so descriptive. This patch renames it to
124958        [JSCustomNamedGetterOnPrototype]. This is also for naming consistency
124959        with [CustomNamedGetter].
124960
124961        No tests. No change in behavior.
124962
124963        * bindings/scripts/CodeGeneratorJS.pm:
124964        (GenerateHeader):
124965        (GenerateImplementation):
124966        * page/Location.idl:
124967
1249682012-02-10  Enrica Casucci  <enrica@apple.com>
124969
124970        Refactor Mac platform implementation of the Pasteboard class to use Platform Strategies.
124971        https://bugs.webkit.org/show_bug.cgi?id=78282
124972
124973        This patch removes any accesss to the NSPasteboard object from the Pasteboard class which
124974        now makes use of a new pasteboardStrategy object that is implemented both in WebKit and
124975        WebKit2. The actual access to NSPasteboard is now performed inside the PlatformPasteboard
124976        class. Currently both WebKit and WebKit2 use the same implementation of the PasteboardStrategy
124977        interface but this one more step in the direction of removing access to NSPasteboard from
124978        the WebProcess.
124979        As part of the refactoring the I've reduced to a minimum the use of OBJ-C classes.
124980        
124981        Reviewed by Anders Carlsson.
124982
124983        No new tests. No change in behavior, just code refactoring.
124984
124985        * WebCore.exp.in: Added exported class PlatformPasteboard.
124986        * WebCore.xcodeproj/project.pbxproj: Added new files to the build.
124987        * editing/mac/EditorMac.mm:
124988        (WebCore::Editor::writeSelectionToPasteboard): New method signature that doesn't use OBJ-C types.
124989        * platform/Pasteboard.h:
124990
124991        * platform/PasteboardStrategy.h: Added PasteboardStrategy abstract class.
124992        * platform/PlatformPasteboard.h: Added. This class implements access to NSPasteboard.
124993        * platform/PlatformStrategies.h:
124994        (WebCore::PlatformStrategies::pasteboardStrategy): Added.
124995        * platform/mac/DragDataMac.mm:
124996        (WebCore::DragData::canSmartReplace):
124997        (WebCore::insertablePasteboardTypes): 
124998        (WebCore::DragData::asURL):
124999        * platform/mac/PasteboardMac.mm:
125000        (WebCore::selectionPasteboardTypes): Changed to use Vector<String> instead of NSArray.
125001        (WebCore::writableTypesForURL): Ditto.
125002        (WebCore::createWritableTypesForImage): Ditto.
125003        (WebCore::writableTypesForImage): Ditto.
125004        (WebCore::Pasteboard::Pasteboard): Removed access to NSPasteboard.
125005        (WebCore::Pasteboard::clear): Modified to use platformStrategies()->pasteboardStrategy().
125006        (WebCore::Pasteboard::writeSelectionForTypes): Ditto.
125007        (WebCore::Pasteboard::writePlainText): Ditto.
125008        (WebCore::Pasteboard::writeSelection): Ditto.
125009        (WebCore::writeURLForTypes): Ditto.
125010        (WebCore::Pasteboard::writeURL): Ditto.
125011        (WebCore::writeFileWrapperAsRTFDAttachment): Ditto.
125012        (WebCore::Pasteboard::writeImage): Ditto.
125013        (WebCore::Pasteboard::writeClipboard): Ditto.
125014        (WebCore::Pasteboard::canSmartReplace): Ditto.
125015        (WebCore::Pasteboard::plainText): Ditto.
125016        (WebCore::documentFragmentWithRTF): Ditto.
125017        (WebCore::Pasteboard::documentFragment): Ditto.
125018        * platform/mac/PlatformPasteboardMac.mm: Added.
125019        (WebCore::PlatformPasteboard::PlatformPasteboard):
125020        (WebCore::PlatformPasteboard::getTypes):
125021        (WebCore::PlatformPasteboard::bufferForType):
125022        (WebCore::PlatformPasteboard::getPathnamesForType):
125023        (WebCore::PlatformPasteboard::stringForType):
125024        (WebCore::PlatformPasteboard::copy):
125025        (WebCore::PlatformPasteboard::setTypes):
125026        (WebCore::PlatformPasteboard::setBufferForType):
125027        (WebCore::PlatformPasteboard::setPathnamesForType):
125028        (WebCore::PlatformPasteboard::setStringForType):
125029
1250302012-02-10  Kentaro Hara  <haraken@chromium.org>
125031
125032        Rename [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor]
125033        https://bugs.webkit.org/show_bug.cgi?id=78352
125034
125035        Reviewed by Adam Barth.
125036
125037        [JSCustomGetOwnPropertySlotDelegate] is used for "flexibly customizable"
125038        named getter. It allows us to write custom code for getOwnPropertySlotDelegate()
125039        and getOwnPropertyDescriptorDelegate(). To clarify that, we can rename
125040        [JSCustomGetOwnPropertySlotDelegate] to [JSCustomGetOwnPropertySlotAndDescriptor].
125041
125042        No tests. No change in behavior.
125043
125044        * bindings/scripts/CodeGeneratorJS.pm:
125045        (GenerateGetOwnPropertySlotBody):
125046        (GenerateGetOwnPropertyDescriptorBody):
125047        (GenerateHeader):
125048        (GenerateImplementation):
125049
125050        * html/HTMLAppletElement.idl:
125051        * html/HTMLEmbedElement.idl:
125052        * html/HTMLObjectElement.idl:
125053        * page/History.idl:
125054        * page/Location.idl:
125055        * workers/WorkerContext.idl:
125056
1250572012-02-10  Anders Carlsson  <andersca@apple.com>
125058
125059        Minor ScrollAnimatorMac cleanup
125060        https://bugs.webkit.org/show_bug.cgi?id=78375
125061
125062        Reviewed by Beth Dakin.
125063
125064        Get rid of adjustScrollXPositionIfNecessary and adjustScrollYPositionIfNecessary.
125065        Also, reduce nesting in willAdd/didAdd functions by using early returns.
125066
125067        * platform/mac/ScrollAnimatorMac.h:
125068        (ScrollAnimatorMac):
125069        * platform/mac/ScrollAnimatorMac.mm:
125070        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
125071        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
125072        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
125073        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
125074        (WebCore::ScrollAnimatorMac::immediateScrollBy):
125075
1250762012-02-10  Anders Carlsson  <andersca@apple.com>
125077
125078        Minor ScrollableArea cleanup
125079        https://bugs.webkit.org/show_bug.cgi?id=78372
125080
125081        Reviewed by Beth Dakin.
125082
125083        Get rid of scrollToXOffsetWithoutAnimation and scrollToYOffsetWithoutAnimation.
125084
125085        * platform/ScrollableArea.cpp:
125086        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
125087        * platform/ScrollableArea.h:
125088        * rendering/RenderListBox.cpp:
125089        (WebCore::RenderListBox::computeLogicalHeight):
125090        (WebCore::RenderListBox::scrollToRevealElementAtListIndex):
125091        (WebCore::RenderListBox::setScrollTop):
125092
1250932012-02-10  Benjamin Poulain  <bpoulain@apple.com>
125094
125095        [Mac] DYLIB_INSTALL_NAME_BASE should not be prefixed by the SDKROOT
125096        https://bugs.webkit.org/show_bug.cgi?id=78320
125097
125098        Reviewed by Joseph Pecoraro.
125099
125100        <rdar://problem/10839750>
125101
125102        * Configurations/WebCore.xcconfig:
125103
1251042012-02-10  Anders Carlsson  <andersca@apple.com>
125105
125106        Update the non-fast-scrollable region for subframe layout as well
125107        https://bugs.webkit.org/show_bug.cgi?id=78366
125108        <rdar://problem/10844064>
125109
125110        Reviewed by Beth Dakin.
125111
125112        * page/scrolling/ScrollingCoordinator.cpp:
125113        (WebCore::computeNonFastScrollableRegion):
125114        Move the non-fast-scrollable region computation out into a new function.
125115
125116        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
125117        Always recompute the non-fast-scrollable region whenever a frame view's layout is updated,
125118        not just the main frame.
125119
1251202012-02-09  Chris Marrin  <cmarrin@apple.com>
125121
125122        Implement hardware animation of CSS filters
125123        https://bugs.webkit.org/show_bug.cgi?id=78155
125124
125125        Added logic to PlatformCAAnimation to return enough information
125126        to GraphicsLayerCA to be able to construct a keyPath animation
125127        for each filter property. Some filters need to animate multiple
125128        properties per filter, so PlatformCAAnimation also returns the number
125129        of properties per filter and then an animation is constructed for 
125130        each one. Also added all the support logic to handle hardware filter
125131        animation in the higher level logic, just like we do for transforms and
125132        opacity.
125133
125134        Also stubbed out new PlatformCAAnimation functions for Windows. We don't yet
125135        support hardware filters on Windows.
125136
125137        Reviewed by Dean Jackson.
125138
125139        Tests: css3/filters/filter-animation-from-none-hw.html
125140               css3/filters/filter-animation-from-none-multi-hw.html
125141               css3/filters/filter-animation-from-none-multi.html
125142               css3/filters/filter-animation-hw.html
125143               css3/filters/filter-animation-multi-hw.html
125144               css3/filters/filter-animation-multi.html
125145
125146        * page/animation/AnimationBase.cpp:
125147        (WebCore):
125148        (PropertyWrapperAcceleratedFilter):
125149        (WebCore::PropertyWrapperAcceleratedFilter::PropertyWrapperAcceleratedFilter):
125150        (WebCore::PropertyWrapperAcceleratedFilter::animationIsAccelerated):
125151        (WebCore::PropertyWrapperAcceleratedFilter::blend):
125152        (WebCore::AnimationBase::ensurePropertyMap):
125153        * platform/graphics/GraphicsLayer.cpp:
125154        (WebCore):
125155        (WebCore::filterOperationsAt):
125156        (WebCore::GraphicsLayer::validateFilterOperations):
125157        * platform/graphics/GraphicsLayer.h:
125158        (WebCore):
125159        (FilterAnimationValue):
125160        (WebCore::FilterAnimationValue::FilterAnimationValue):
125161        (WebCore::FilterAnimationValue::clone):
125162        (WebCore::FilterAnimationValue::value):
125163        (GraphicsLayer):
125164        * platform/graphics/GraphicsLayerClient.h:
125165        * platform/graphics/ca/GraphicsLayerCA.cpp:
125166        (WebCore::propertyIdToString):
125167        (WebCore::GraphicsLayerCA::moveOrCopyAnimations):
125168        (WebCore::GraphicsLayerCA::addAnimation):
125169        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
125170        (WebCore::GraphicsLayerCA::createAnimationFromKeyframes):
125171        (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
125172        (WebCore):
125173        (WebCore::GraphicsLayerCA::createFilterAnimationsFromKeyframes):
125174        (WebCore::GraphicsLayerCA::createBasicAnimation):
125175        (WebCore::GraphicsLayerCA::createKeyframeAnimation):
125176        (WebCore::GraphicsLayerCA::setFilterAnimationEndpoints):
125177        (WebCore::GraphicsLayerCA::setFilterAnimationKeyframes):
125178        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
125179        (WebCore::GraphicsLayerCA::cloneLayer):
125180        * platform/graphics/ca/GraphicsLayerCA.h:
125181        (GraphicsLayerCA):
125182        * platform/graphics/ca/PlatformCAAnimation.h:
125183        (PlatformCAAnimation):
125184        * platform/graphics/ca/mac/PlatformCAAnimationMac.mm:
125185        (PlatformCAAnimation::setFromValue):
125186        (PlatformCAAnimation::setToValue):
125187        (PlatformCAAnimation::setValues):
125188        (PlatformCAAnimation::numAnimatedFilterProperties):
125189        (PlatformCAAnimation::animatedFilterPropertyName):
125190        * platform/graphics/ca/win/PlatformCAAnimationWin.cpp:
125191        (PlatformCAAnimation::setFromValue):
125192        (PlatformCAAnimation::setToValue):
125193        (PlatformCAAnimation::setValues):
125194        (PlatformCAAnimation::numAnimatedFilterProperties):
125195        (PlatformCAAnimation::animatedFilterPropertyName):
125196        * platform/graphics/filters/FilterOperation.h:
125197        (FilterOperation):
125198        (WebCore::FilterOperation::isDefault):
125199        (DefaultFilterOperation):
125200        (WebCore::DefaultFilterOperation::create):
125201        (WebCore::DefaultFilterOperation::operator==):
125202        (WebCore::DefaultFilterOperation::isDefault):
125203        (WebCore::DefaultFilterOperation::DefaultFilterOperation):
125204        (WebCore):
125205        * rendering/RenderLayer.h:
125206        (WebCore::RenderLayer::hasFilter):
125207        (RenderLayer):
125208        * rendering/RenderLayerBacking.cpp:
125209        (WebCore::RenderLayerBacking::startAnimation):
125210        (WebCore::RenderLayerBacking::startTransition):
125211        (WebCore::RenderLayerBacking::graphicsLayerToCSSProperty):
125212        (WebCore::RenderLayerBacking::cssToGraphicsLayerProperty):
125213
1252142012-02-10  Peter Rybin  <peter.rybin@gmail.com>
125215
125216        Web Inspector: CodeGeneratorInspector.py: properly resolve output types of commands
125217        https://bugs.webkit.org/show_bug.cgi?id=78025
125218
125219        Reviewed by Vsevolod Vlasov.
125220
125221        Code for generating ad-hoc types is added. It was reused from event
125222        generator part.
125223
125224        * inspector/CodeGeneratorInspector.py:
125225        (Generator.process_event):
125226        (Generator.process_command):
125227        (Generator.resolve_type_and_generate_ad_hoc):
125228        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext):
125229        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix):
125230        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix):
125231        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
125232        (Generator.resolve_type_and_generate_ad_hoc.AdHocTypeContext.add_type):
125233        (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener):
125234        (Generator.resolve_type_and_generate_ad_hoc.InterfaceForwardListener.add_type_data):
125235        (Generator.resolve_type_and_generate_ad_hoc.InterfaceResolveContext):
125236        (Generator.resolve_type_and_generate_ad_hoc.InterfaceGenerateContext):
125237        (Generator):
125238
1252392012-02-10  Kentaro Hara  <haraken@chromium.org>
125240
125241        Rename [CustomPropertyNames] to [CustomEnumerateProperty]
125242        https://bugs.webkit.org/show_bug.cgi?id=78351
125243
125244        Reviewed by Adam Barth.
125245
125246        This patch renames [CustomPropertyNames] to [CustomEnumerateProperty],
125247        for clarification and for naming consistency with [CustomDeleteProperty].
125248
125249        No tests. No change in behavior.
125250
125251        * bindings/scripts/CodeGeneratorJS.pm:
125252        (GenerateHeader):
125253        (GenerateImplementation):
125254        * bindings/scripts/CodeGeneratorV8.pm:
125255        (GenerateHeaderNamedAndIndexedPropertyAccessors):
125256        (GenerateImplementationNamedPropertyGetter):
125257
125258        * css/CSSStyleDeclaration.idl:
125259        * dom/DOMStringMap.idl:
125260        * page/DOMWindow.idl:
125261        * page/History.idl:
125262        * page/Location.idl:
125263        * storage/Storage.idl:
125264
1252652012-02-09  Antti Koivisto  <antti@apple.com>
125266
125267        Use underlying property set to refcount PropertySetCSSStyleDeclaration
125268        https://bugs.webkit.org/show_bug.cgi?id=78257
125269
125270        Reviewed by Andreas Kling.
125271
125272        Clean up the PropertySetCSSStyleDeclaration refcounting. PropertySetCSSStyleDeclaration now
125273        forwards the ref/deref to the underlying StylePropertySet.
125274
125275        Also made CSSComputedStyleDeclaration construction use the standard create() pattern.
125276
125277        * css/CSSComputedStyleDeclaration.cpp:
125278        (WebCore::CSSComputedStyleDeclaration::ref):
125279        (WebCore):
125280        (WebCore::CSSComputedStyleDeclaration::deref):
125281        * css/CSSComputedStyleDeclaration.h:
125282        (WebCore::CSSComputedStyleDeclaration::create):
125283        (CSSComputedStyleDeclaration):
125284        (WebCore):
125285        * css/CSSStyleDeclaration.h:
125286        (CSSStyleDeclaration):
125287        * css/StylePropertySet.cpp:
125288        (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
125289        (WebCore):
125290        (WebCore::StylePropertySet::~StylePropertySet):
125291        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
125292        (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
125293        * css/StylePropertySet.h:
125294        * editing/ApplyStyleCommand.cpp:
125295        (WebCore::ApplyStyleCommand::splitAncestorsWithUnicodeBidi):
125296        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
125297        (WebCore::highestEmbeddingAncestor):
125298        (WebCore::ApplyStyleCommand::computedFontSize):
125299        * editing/EditingStyle.cpp:
125300        (WebCore::EditingStyle::init):
125301        (WebCore::EditingStyle::removeStyleAddedByNode):
125302        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
125303        (WebCore::EditingStyle::triStateOfStyle):
125304        (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
125305        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
125306        (WebCore::backgroundColorInEffect):
125307        * editing/Editor.cpp:
125308        (WebCore::Editor::textDirectionForSelection):
125309        * inspector/InspectorCSSAgent.cpp:
125310        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
125311        * page/DOMWindow.cpp:
125312        (WebCore::DOMWindow::getComputedStyle):
125313        * svg/SVGAnimateElement.cpp:
125314        (WebCore::getPropertyValue):
125315        * svg/animation/SMILTimeContainer.cpp:
125316        (WebCore::SMILTimeContainer::baseValueFor):
125317
1253182012-02-10  Alexander Pavlov  <apavlov@chromium.org>
125319
125320        Web Inspector: [TextPrompt] TAB should complete suggestions up to their common prefix in Console
125321        https://bugs.webkit.org/show_bug.cgi?id=78236
125322
125323        Reviewed by Vsevolod Vlasov.
125324
125325        * inspector/front-end/TextPrompt.js:
125326        (WebInspector.TextPrompt.prototype._completionsReady):
125327        (WebInspector.TextPrompt.prototype._completeCommonPrefix):
125328        (WebInspector.TextPrompt.prototype.acceptSuggestion):
125329        (WebInspector.TextPrompt.prototype.tabKeyPressed):
125330
1253312012-02-10  Pavel Feldman  <pfeldman@google.com>
125332
125333        Web Inspector: implement undo for setOuterHTML via undo-ing nested primitive commands.
125334        https://bugs.webkit.org/show_bug.cgi?id=78346
125335
125336        Reviewed by Yury Semikhatsky.
125337
125338        Tests: inspector/elements/undo-set-outer-html-2.html
125339               inspector/elements/undo-set-outer-html.html
125340
125341        * inspector/DOMEditor.cpp:
125342        (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
125343        (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
125344        (WebCore::DOMEditor::InsertBeforeAction::undo):
125345        (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction):
125346        (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction):
125347        (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
125348        (WebCore::DOMEditor::SetOuterHTMLAction::perform):
125349        (WebCore::DOMEditor::SetOuterHTMLAction::undo):
125350        (DOMEditor::SetOuterHTMLAction):
125351        (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction):
125352        (DOMEditor::ReplaceChildNodeAction):
125353        (WebCore::DOMEditor::ReplaceChildNodeAction::ReplaceChildNodeAction):
125354        (WebCore::DOMEditor::ReplaceChildNodeAction::perform):
125355        (WebCore::DOMEditor::ReplaceChildNodeAction::undo):
125356        (WebCore):
125357        (DOMEditor::SetNodeValueAction):
125358        (WebCore::DOMEditor::SetNodeValueAction::SetNodeValueAction):
125359        (WebCore::DOMEditor::SetNodeValueAction::perform):
125360        (WebCore::DOMEditor::SetNodeValueAction::undo):
125361        (WebCore::DOMEditor::insertBefore):
125362        (WebCore::DOMEditor::removeChild):
125363        (WebCore::DOMEditor::setAttribute):
125364        (WebCore::DOMEditor::removeAttribute):
125365        (WebCore::DOMEditor::setOuterHTML):
125366        (WebCore::DOMEditor::replaceWholeText):
125367        (WebCore::DOMEditor::replaceChild):
125368        (WebCore::DOMEditor::setNodeValue):
125369        (WebCore::populateErrorString):
125370        * inspector/DOMEditor.h:
125371        (DOMEditor):
125372        * inspector/DOMPatchSupport.cpp:
125373        (WebCore::DOMPatchSupport::patchDocument):
125374        (WebCore):
125375        (WebCore::DOMPatchSupport::DOMPatchSupport):
125376        (WebCore::DOMPatchSupport::patchNode):
125377        (WebCore::DOMPatchSupport::innerPatchNode):
125378        (WebCore::DOMPatchSupport::innerPatchChildren):
125379        (WebCore::DOMPatchSupport::insertBeforeAndMarkAsUsed):
125380        (WebCore::DOMPatchSupport::removeChildAndMoveToNew):
125381        * inspector/DOMPatchSupport.h:
125382        (WebCore):
125383        (DOMPatchSupport):
125384        * inspector/InspectorCSSAgent.cpp:
125385        (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
125386        (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
125387        (InspectorCSSAgent::StyleSheetAction):
125388        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
125389        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
125390        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
125391        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
125392        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
125393        (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
125394        (WebCore::InspectorCSSAgent::setStyleSheetText):
125395        (WebCore::InspectorCSSAgent::setPropertyText):
125396        (WebCore::InspectorCSSAgent::toggleProperty):
125397        (WebCore::InspectorCSSAgent::assertStyleSheetForId):
125398        * inspector/InspectorDOMAgent.cpp:
125399        (WebCore::InspectorDOMAgent::toErrorString):
125400        (WebCore):
125401        (WebCore::InspectorDOMAgent::setAttributesAsText):
125402        (WebCore::InspectorDOMAgent::setOuterHTML):
125403        (WebCore::InspectorDOMAgent::undo):
125404        * inspector/InspectorDOMAgent.h:
125405        (InspectorDOMAgent):
125406        * inspector/InspectorHistory.cpp:
125407        (WebCore::InspectorHistory::perform):
125408        (WebCore::InspectorHistory::undo):
125409        * inspector/InspectorHistory.h:
125410        (WebCore):
125411        (Action):
125412        (InspectorHistory):
125413        * inspector/InspectorPageAgent.cpp:
125414        (WebCore::InspectorPageAgent::setDocumentContent):
125415        * inspector/InspectorStyleSheet.cpp:
125416        (WebCore::InspectorStyle::setPropertyText):
125417        (WebCore::InspectorStyle::toggleProperty):
125418        (WebCore::InspectorStyleSheet::setPropertyText):
125419        (WebCore::InspectorStyleSheet::toggleProperty):
125420        * inspector/InspectorStyleSheet.h:
125421        (InspectorStyle):
125422        (InspectorStyleSheet):
125423
1254242012-02-10  Kentaro Hara  <haraken@chromium.org>
125425
125426        Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]
125427        https://bugs.webkit.org/show_bug.cgi?id=78327
125428
125429        Reviewed by Adam Barth.
125430
125431        This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack],
125432        and removes [CustomArgumentHandling].
125433
125434        Test: bindings/scripts/test/TestObj.idl
125435
125436        * bindings/scripts/CodeGeneratorJS.pm: Modified to replace
125437        [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack].
125438        (GenerateCallWith):
125439        (GenerateParametersCheck):
125440        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
125441        (GenerateCallWith):
125442        * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
125443        (SkipFunction):
125444        (GenerateFunction):
125445        * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling]
125446        from the skipped list. By this fix, CodeGeneratorCPP.pm will generate
125447        meaningless code for attributes or methods which was previously marked as
125448        [CustomArgumentHandling], but this change will be harmless.
125449        (ShouldSkipType):
125450
125451        * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order.
125452        (WebCore::V8Console::assertCallback):
125453        * page/Console.cpp: Ditto.
125454        (WebCore::Console::assertCondition):
125455        (WebCore::Console::timeEnd):
125456        * page/Console.h: Ditto.
125457        (Console):
125458
125459        * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack].
125460
125461        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
125462        (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute):
125463        (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute):
125464        (WebDOMTestObj::withScriptArgumentsAndCallStack):
125465        * bindings/scripts/test/CPP/WebDOMTestObj.h:
125466        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
125467        (webkit_dom_test_obj_with_script_arguments_and_call_stack):
125468        (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute):
125469        (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute):
125470        (webkit_dom_test_obj_get_property):
125471        (webkit_dom_test_obj_class_init):
125472        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
125473        * bindings/scripts/test/JS/JSTestObj.cpp:
125474        (WebCore):
125475        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
125476        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
125477        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
125478        * bindings/scripts/test/JS/JSTestObj.h:
125479        (WebCore):
125480        * bindings/scripts/test/ObjC/DOMTestObj.h:
125481        * bindings/scripts/test/ObjC/DOMTestObj.mm:
125482        (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]):
125483        (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]):
125484        (-[DOMTestObj withScriptArgumentsAndCallStack]):
125485        * bindings/scripts/test/V8/V8TestObj.cpp:
125486        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter):
125487        (TestObjInternal):
125488        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter):
125489        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback):
125490        (WebCore):
125491        (WebCore::ConfigureV8TestObjTemplate):
125492
1254932012-02-10  Carlos Garcia Campos  <cgarcia@igalia.com>
125494
125495        [GTK] KURL::fileSystemPath() doesn't work if uri contains #
125496        https://bugs.webkit.org/show_bug.cgi?id=78339
125497
125498        Reviewed by Philippe Normand.
125499
125500        * platform/gtk/KURLGtk.cpp:
125501        (WebCore::KURL::fileSystemPath): Use GFile API instead of
125502        g_filename_from_uri() to convert the uri to a local
125503        path. g_file_get_path() removes the anchor from the uri and
125504        returns a valid path instead of NULL.
125505
1255062012-02-10  Pablo Flouret  <pablof@motorola.com>
125507
125508        CodeGeneratorJS doesn't always generate visitChildren() implementation when required
125509        https://bugs.webkit.org/show_bug.cgi?id=78336
125510
125511        Reviewed by Kentaro Hara.
125512        
125513        In an IDL for an interface that declares no functions, but has
125514        attributes with [CachedAttribute], the implementation of visitChildren()
125515        is not generated by the JSC code generator.
125516
125517        * bindings/scripts/CodeGeneratorJS.pm:
125518        (GenerateImplementation):
125519        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
125520        (WebCore::JSTestSerializedScriptValueInterface::visitChildren):
125521        (WebCore):
125522
1255232012-02-10  Noel Gordon  <noel.gordon@gmail.com>
125524
125525        [chromium] Increase JPEG decoding performance some more
125526        https://bugs.webkit.org/show_bug.cgi?id=78323
125527
125528        Reviewed by Adam Barth.
125529
125530        Increase JPEG image decoding speed by another 9% (avg) according to libjpeg-turbo tjbench.
125531
125532        No new tests. Covered by many existing tests, all requiring subsequent rebaselines.
125533
125534        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
125535        (dctMethod): Fast decode on the jpeg-turbo using ports (Chrome Android, Chrome, Chromium).
125536        (WebCore::JPEGImageReader::decode): Select DCT method via a helper routine.
125537
1255382012-02-10  Vsevolod Vlasov  <vsevik@chromium.org>
125539
125540        Web Inspector: FileSelector should not depend on DebuggerPresentationModel.
125541        https://bugs.webkit.org/show_bug.cgi?id=78337
125542
125543        Reviewed by Pavel Feldman.
125544
125545        * inspector/front-end/ScriptsNavigator.js:
125546        (WebInspector.ScriptsNavigator):
125547        (WebInspector.ScriptsNavigator.prototype._showScriptFoldersSettingChanged):
125548        (WebInspector.ScriptsNavigator.prototype.reset):
125549        * inspector/front-end/ScriptsPanel.js:
125550        (WebInspector.ScriptsPanel.prototype._reset):
125551        (WebInspector.ScriptsPanel.FileSelector.prototype.replaceUISourceCodes):
125552        (WebInspector.ScriptsPanel.FileSelector.prototype.reset):
125553        (WebInspector.ScriptsPanel.ComboBoxFileSelector):
125554        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.reset):
125555
1255562012-02-10  Kentaro Hara  <haraken@chromium.org>
125557
125558        Remove [ConvertingNullStringTo] from CloseEvent.idl
125559        https://bugs.webkit.org/show_bug.cgi?id=78328
125560
125561        Reviewed by Adam Barth.
125562
125563        In CloseEvent.idl, [ConvertingNullStringTo] is a typo of [ConvertNullStringTo],
125564        (although in bug 78108, [ConvertNullStringTo] was renamed to [TreatReturnedNullStringAs]).
125565
125566        Anyway, the spec says that "The reason attribute must return the value it was
125567        initialized to. When the object is created, this attribute must be initialized to empty string."
125568        http://dev.w3.org/html5/websockets/#event-definitions
125569        Thus, this patch removes [ConvertingNullStringTo] from CloseEvent.idl.
125570
125571        Test: fast/events/constructors/close-event-constructor.html
125572
125573        * websockets/CloseEvent.idl:
125574
1255752012-02-10  Pavel Feldman  <pfeldman@google.com>
125576
125577        [Qt] REGRESSION(r107242): It made 5 inspector tests crash in debug mode
125578        https://bugs.webkit.org/show_bug.cgi?id=78330
125579
125580        Reviewed by Yury Semikhatsky.
125581
125582        * inspector/DOMPatchSupport.cpp:
125583        (WebCore::DOMPatchSupport::innerPatchChildren):
125584
1255852012-02-09  Andrey Kosyakov  <caseq@chromium.org>
125586
125587        Web Inspector: [refactoring] TimelineModel should not depend on TimelinePanel
125588        https://bugs.webkit.org/show_bug.cgi?id=78254
125589
125590        Reviewed by Yury Semikhatsky.
125591
125592        * inspector/front-end/TimelinePanel.js:
125593        (WebInspector.TimelinePanel):
125594        (WebInspector.TimelinePanel.prototype._loadFromFile):
125595        (WebInspector.TimelinePanel.prototype._toggleTimelineButtonClicked):
125596        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
125597        (WebInspector.TimelinePanel.prototype._clearPanel):
125598        (WebInspector.TimelinePanel.prototype._onRecordsCleared):
125599        (WebInspector.TimelineModel):
125600        (WebInspector.TimelineModel.prototype.startRecord):
125601        (WebInspector.TimelineModel.prototype.stopRecord):
125602        (WebInspector.TimelineModel.prototype._onRecordAdded):
125603        (WebInspector.TimelineModel.prototype._addRecord):
125604        (WebInspector.TimelineModel.prototype._loadNextChunk):
125605        (WebInspector.TimelineModel.prototype._loadFromFile):
125606        (WebInspector.TimelineModel.prototype._reset):
125607
1256082012-02-09  Kentaro Hara  <haraken@chromium.org>
125609
125610        Unreviewed, rolling out r107368.
125611        http://trac.webkit.org/changeset/107368
125612        https://bugs.webkit.org/show_bug.cgi?id=78327
125613
125614        break GTK build
125615
125616        * bindings/scripts/CodeGeneratorCPP.pm:
125617        (ShouldSkipType):
125618        * bindings/scripts/CodeGeneratorGObject.pm:
125619        (SkipFunction):
125620        (GenerateFunction):
125621        * bindings/scripts/CodeGeneratorJS.pm:
125622        (GenerateCallWith):
125623        (GenerateParametersCheck):
125624        * bindings/scripts/CodeGeneratorV8.pm:
125625        (GenerateFunctionCallback):
125626        (GenerateCallWith):
125627        (GenerateFunctionCallString):
125628        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
125629        * bindings/scripts/test/CPP/WebDOMTestObj.h:
125630        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
125631        (webkit_dom_test_obj_get_property):
125632        (webkit_dom_test_obj_class_init):
125633        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
125634        * bindings/scripts/test/JS/JSTestObj.cpp:
125635        (WebCore):
125636        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
125637        * bindings/scripts/test/JS/JSTestObj.h:
125638        (WebCore):
125639        * bindings/scripts/test/ObjC/DOMTestObj.h:
125640        * bindings/scripts/test/ObjC/DOMTestObj.mm:
125641        (-[DOMTestObj customArgsAndException:]):
125642        * bindings/scripts/test/TestObj.idl:
125643        * bindings/scripts/test/V8/V8TestObj.cpp:
125644        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
125645        (TestObjInternal):
125646        (WebCore):
125647        (WebCore::ConfigureV8TestObjTemplate):
125648        * bindings/v8/custom/V8ConsoleCustom.cpp:
125649        (WebCore::V8Console::assertCallback):
125650        * page/Console.cpp:
125651        (WebCore::Console::assertCondition):
125652        (WebCore::Console::timeEnd):
125653        * page/Console.h:
125654        (Console):
125655        * page/Console.idl:
125656
1256572012-02-09  Zoltan Herczeg  <zherczeg@webkit.org>
125658
125659        Heap-buffer-overflow in WebCore::CSSParser::lex
125660        https://bugs.webkit.org/show_bug.cgi?id=77402
125661
125662        Reviewed by Antti Koivisto.
125663
125664        Comments should check only a single \0 terminator.
125665
125666        Test: fast/css/parsing-css-comment.html
125667
125668        * css/CSSParser.cpp:
125669        (WebCore::CSSParser::lex):
125670
1256712012-02-09  Kentaro Hara  <haraken@chromium.org>
125672
125673        Replace [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack]
125674        https://bugs.webkit.org/show_bug.cgi?id=78327
125675
125676        Reviewed by Adam Barth.
125677
125678        This patch replaces [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack],
125679        and removes [CustomArgumentHandling].
125680
125681        Test: bindings/scripts/test/TestObj.idl
125682
125683        * bindings/scripts/CodeGeneratorJS.pm: Modified to replace
125684        [CustomArgumentHandling] with [CallWith=ScriptArguments|CallStack].
125685        (GenerateCallWith):
125686        (GenerateParametersCheck):
125687        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
125688        (GenerateCallWith):
125689        * bindings/scripts/CodeGeneratorCPP.pm: Simply removed [CustomArgumentHandling]
125690        from the skipped list. By this fix, CodeGeneratorCPP.pm will generate
125691        meaningless code for attributes or methods which was previously marked as
125692        [CustomArgumentHandling], but this change will be harmless.
125693        (ShouldSkipType):
125694        * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
125695        (SkipFunction):
125696        (GenerateFunction):
125697
125698        * bindings/v8/custom/V8ConsoleCustom.cpp: Changed the argument order.
125699        (WebCore::V8Console::assertCallback):
125700        * page/Console.cpp: Ditto.
125701        (WebCore::Console::assertCondition):
125702        (WebCore::Console::timeEnd):
125703        * page/Console.h: Ditto.
125704        (Console):
125705
125706        * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=ScriptArguments|CallStack].
125707
125708        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
125709        (WebDOMTestObj::withScriptArgumentsAndCallStackAttribute):
125710        (WebDOMTestObj::setWithScriptArgumentsAndCallStackAttribute):
125711        (WebDOMTestObj::withScriptArgumentsAndCallStack):
125712        * bindings/scripts/test/CPP/WebDOMTestObj.h:
125713        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
125714        (webkit_dom_test_obj_with_script_arguments_and_call_stack):
125715        (webkit_dom_test_obj_get_with_script_arguments_and_call_stack_attribute):
125716        (webkit_dom_test_obj_set_with_script_arguments_and_call_stack_attribute):
125717        (webkit_dom_test_obj_get_property):
125718        (webkit_dom_test_obj_class_init):
125719        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
125720        * bindings/scripts/test/JS/JSTestObj.cpp:
125721        (WebCore):
125722        (WebCore::jsTestObjWithScriptArgumentsAndCallStackAttribute):
125723        (WebCore::setJSTestObjWithScriptArgumentsAndCallStackAttribute):
125724        (WebCore::jsTestObjPrototypeFunctionWithScriptArgumentsAndCallStack):
125725        * bindings/scripts/test/JS/JSTestObj.h:
125726        (WebCore):
125727        * bindings/scripts/test/ObjC/DOMTestObj.h:
125728        * bindings/scripts/test/ObjC/DOMTestObj.mm:
125729        (-[DOMTestObj withScriptArgumentsAndCallStackAttribute]):
125730        (-[DOMTestObj setWithScriptArgumentsAndCallStackAttribute:]):
125731        (-[DOMTestObj withScriptArgumentsAndCallStack]):
125732        * bindings/scripts/test/V8/V8TestObj.cpp:
125733        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrGetter):
125734        (TestObjInternal):
125735        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackAttributeAttrSetter):
125736        (WebCore::TestObjInternal::withScriptArgumentsAndCallStackCallback):
125737        (WebCore):
125738        (WebCore::ConfigureV8TestObjTemplate):
125739
1257402012-02-09  Adam Barth  <abarth@webkit.org>
125741
125742        Dromaeo/dom-traverse.html should go fast
125743        https://bugs.webkit.org/show_bug.cgi?id=78307
125744
125745        Reviewed by Eric Seidel.
125746
125747        This patch improves Dromaeo/dom-traverse.html by roughly 2.5% by
125748        removing a branch.  Previously, we null-checked the result of
125749        V8DOMWrapper::getWrapper in a hot code path, but the only case where we
125750        return a non-empty wrapper comes from a cold code path.  By pushing the
125751        null check into the cold codepath, we eliminate the branch from the
125752        hot code path.
125753
125754        This patch also annotates the branches in the hot code path with their
125755        likely outcome.  I didn't measure a statistically significant
125756        improvement with that aspect of the change, but it seems worthwhile.
125757
125758        * bindings/scripts/CodeGeneratorV8.pm:
125759        (GenerateHeader):
125760        * bindings/v8/V8DOMWrapper.cpp:
125761        (WebCore::getExistingWrapperInline):
125762        (WebCore):
125763        (WebCore::V8DOMWrapper::getExistingWrapperSlow):
125764        (WebCore::V8DOMWrapper::getWrapperSlow):
125765        * bindings/v8/V8DOMWrapper.h:
125766        (WebCore::V8DOMWrapper::getExistingWrapper):
125767        (V8DOMWrapper):
125768        (WebCore::V8DOMWrapper::getWrapper):
125769        * bindings/v8/custom/V8NodeCustom.cpp:
125770        (WebCore::toV8Slow):
125771
1257722012-02-09  Emil A Eklund  <eae@chromium.org>
125773
125774        Convert Frame/FrameView to LayoutUnits in preparation for turning on subpixel layout
125775        https://bugs.webkit.org/show_bug.cgi?id=78311
125776
125777        Reviewed by Eric Seidel.
125778
125779        No new tests, no new functionality.
125780
125781        * page/Frame.cpp:
125782        (WebCore::Frame::nodeImage):
125783        Pixel snap painting rect for image to ensure that it is painted aligned
125784        to device pixels. This avoids avoid unwanted anti-aliasing.
125785
125786        * page/FrameView.cpp:
125787        (WebCore::FrameView::windowClipRectForLayer):
125788        Pixel snap clip rects as all window coordinates and sizes are exposed as
125789        integers.
125790
125791        * page/GestureTapHighlighter.cpp:
125792        * page/Page.cpp:
125793        (WebCore::Page::addRelevantRepaintedObject):
125794        As the painting is done aligned on pixel boundaries we need to pixel snap
125795        the view rect when checking if it intersects the objects paint rect.
125796
125797        * page/mac/FrameMac.mm:
125798        (WebCore::Frame::snapshotDragImage):
125799        (WebCore::Frame::nodeImage):
125800        Pixel snap painting rect for image to ensure that it is painted aligned
125801        to device pixels. This avoids avoid unwanted anti-aliasing.
125802
125803        * page/win/FrameCGWin.cpp:
125804        (WebCore::Frame::nodeImage):
125805        Pixel snap painting rect for image to ensure that it is painted aligned
125806        to device pixels. This avoids avoid unwanted anti-aliasing.
125807
125808        * rendering/LayoutTypes.h:
125809        (WebCore::pixelSnappedIntRect):
125810        (WebCore):
125811        No-op implementation of pixelSnappedIntRect for now.
125812
1258132012-02-09  Kenichi Ishibashi  <bashi@chromium.org>
125814
125815        Add WebSocket extension support
125816        https://bugs.webkit.org/show_bug.cgi?id=78079
125817
125818        This patch introduces WebSocketExtensionDispatcher class, which creates client's
125819        Sec-WebSocket-Extensions header field and parses the server response.
125820        This patch doesn't add any actual extension, so no changes in behavior.
125821
125822        Reviewed by Kent Tamura.
125823
125824        No new tests except for chromium port.
125825
125826        * CMakeLists.txt: Added WebSocketExtensionDispatcher.(cpp|h) and WebSocketExtensionProcessor.h.
125827        * GNUmakefile.list.am: Ditto.
125828        * Target.pri: Ditto.
125829        * WebCore.gypi: Ditto.
125830        * WebCore.vcproj/WebCore.vcproj: Ditto.
125831        * WebCore.xcodeproj/project.pbxproj: Ditto.
125832        * websockets/WebSocketExtensionDispatcher.cpp: Added.
125833        (WebCore):
125834        (ExtensionParser):
125835        (WebCore::ExtensionParser::ExtensionParser):
125836        (WebCore::ExtensionParser::currentToken):
125837        (WebCore::ExtensionParser::finished):
125838        (WebCore::ExtensionParser::parsedSuccessfully):
125839        (WebCore::isTokenCharacter):
125840        (WebCore::isSeparator):
125841        (WebCore::ExtensionParser::skipSpaces):
125842        (WebCore::ExtensionParser::consumeToken):
125843        (WebCore::ExtensionParser::consumeQuotedString):
125844        (WebCore::ExtensionParser::consumeQuotedStringOrToken):
125845        (WebCore::ExtensionParser::consumeCharacter):
125846        (WebCore::WebSocketExtensionDispatcher::reset):
125847        (WebCore::WebSocketExtensionDispatcher::addProcessor):
125848        (WebCore::WebSocketExtensionDispatcher::createHeaderValue):
125849        (WebCore::WebSocketExtensionDispatcher::processHeaderValue):
125850        (WebCore::WebSocketExtensionDispatcher::failureReason):
125851        * websockets/WebSocketExtensionDispatcher.h: Added.
125852        (WebCore):
125853        (WebSocketExtensionDispatcher):
125854        (WebCore::WebSocketExtensionDispatcher::WebSocketExtensionDispatcher):
125855        * websockets/WebSocketExtensionProcessor.h: Added.
125856        (WebCore):
125857        (WebSocketExtensionProcessor):
125858        (WebCore::WebSocketExtensionProcessor::~WebSocketExtensionProcessor):
125859        (WebCore::WebSocketExtensionProcessor::extensionToken):
125860        (WebCore::WebSocketExtensionProcessor::failureReason):
125861        (WebCore::WebSocketExtensionProcessor::WebSocketExtensionProcessor):
125862        * websockets/WebSocketHandshake.cpp:
125863        (WebCore::WebSocketHandshake::clientHandshakeMessage): Adds extension header value if exists.
125864        (WebCore::WebSocketHandshake::clientHandshakeRequest): Ditto.
125865        (WebCore::WebSocketHandshake::reset): Resets WebSocketExtensionDispatcher object.
125866        (WebCore::WebSocketHandshake::serverHandshakeResponse): Removed.
125867        (WebCore::WebSocketHandshake::addExtensionProcessor): Added.
125868        (WebCore::WebSocketHandshake::readHTTPHeaders): Parses and checks every time Sec-WebSocket-Extensions header appears.
125869        (WebCore::WebSocketHandshake::checkResponseHeaders): Removed the check of Sec-WebSocket-Extensions.
125870        * websockets/WebSocketHandshake.h: Removed serverHandshakeResponse().
125871
1258722012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>
125873
125874        Avoid compositing invisible fixed positioned elements
125875        https://bugs.webkit.org/show_bug.cgi?id=78186
125876
125877        Reviewed by James Robinson.
125878
125879        Test: compositing/layer-creation/fixed-position-out-of-view.html
125880
125881        * rendering/RenderLayerCompositor.cpp:
125882        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
125883
1258842012-02-09  Timothy Hatcher  <timothy@apple.com>
125885
125886        Prevent attaching when inspecting the Web Inspector.
125887
125888        https://webkit.org/b/78304
125889
125890        Reviewed by Brian Weinstein.
125891
125892        * inspector/InspectorFrontendClientLocal.cpp:
125893        (WebCore::InspectorFrontendClientLocal::canAttachWindow): Prevent attaching when the page is an inspector page.
125894
1258952012-02-09  Dana Jansens  <danakj@chromium.org>
125896
125897        [Chromium] Assertion failure minX <= maxX in Region.cpp
125898        https://bugs.webkit.org/show_bug.cgi?id=78038
125899
125900        Reviewed by James Robinson.
125901
125902        Covered by existing tests (should make them stop asserting).
125903
125904        Clamp sizes for composited layers coming out of WebCore to make sure they are valid non-negative values.
125905
125906        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
125907        (WebCore::GraphicsLayerChromium::setSize):
125908
1259092012-02-09  Gregg Tavares  <gman@google.com>
125910
125911        Make WebGLRenderingContext::printWarningToConsole safer
125912        https://bugs.webkit.org/show_bug.cgi?id=78284
125913
125914        Reviewed by Kenneth Russell.
125915
125916        No new tests because no change in functionality.
125917
125918        * html/canvas/WebGLRenderingContext.cpp:
125919        (WebCore):
125920        (WebCore::WebGLRenderingContext::printWarningToConsole):
125921
1259222012-02-09  W. James MacLean  <wjmaclean@chromium.org>
125923
125924        [chromium] Add support for starting page/scale animations on CC impl thread from WebViewImpl
125925        https://bugs.webkit.org/show_bug.cgi?id=77872
125926
125927        Reviewed by James Robinson.
125928
125929        Added unit test.
125930
125931        Provides a pathway to invoke CCLayerTreeHostImpl::startPageScaleAnimation() from
125932        WebViewImpl. This is intended to support scale and scroll animations, such as WebInputEvent::GestureDoubleTap.
125933
125934        * platform/CrossThreadCopier.h:
125935        (WebCore):
125936        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
125937        (WebCore::CCLayerTreeHost::startPageScaleAnimation):
125938        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
125939        (CCLayerTreeHost):
125940        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
125941        (CCLayerTreeHostImpl):
125942        * platform/graphics/chromium/cc/CCProxy.h:
125943        (CCProxy):
125944        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
125945        (WebCore::CCSingleThreadProxy::startPageScaleAnimation):
125946        (WebCore):
125947        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
125948        (CCSingleThreadProxy):
125949        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
125950        (WebCore::CCThreadProxy::startPageScaleAnimation):
125951        (WebCore):
125952        (WebCore::CCThreadProxy::requestStartPageScaleAnimationOnImplThread):
125953        * platform/graphics/chromium/cc/CCThreadProxy.h:
125954        (CCThreadProxy):
125955
1259562012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>
125957
125958        [Chromium] TiledLayerChromium::protectVisibleTileTextures() should only protect the visible textures
125959        https://bugs.webkit.org/show_bug.cgi?id=78249
125960
125961        Reviewed by James Robinson.
125962
125963        * platform/graphics/chromium/TiledLayerChromium.cpp:
125964        (WebCore::TiledLayerChromium::protectVisibleTileTextures):
125965
1259662012-02-09  Hayato Ito  <hayato@chromium.org>
125967
125968        Add Node::isShadowElement() member function.
125969        https://bugs.webkit.org/show_bug.cgi?id=78201
125970
125971        Reviewed by Dimitri Glazkov.
125972
125973        No tests. No change in behavior. An upcoming change requires this to detect HTMLShadowElement.
125974
125975        * dom/Node.h:
125976        (Node):
125977        (WebCore::Node::isShadowElement):
125978        * html/shadow/HTMLShadowElement.h:
125979        (WebCore::HTMLShadowElement::isShadowElement):
125980
1259812012-02-09  Ryosuke Niwa  <rniwa@webkit.org>
125982
125983        CachedResourceLoader is destroyed before CSSFontSelector is destroyed
125984        https://bugs.webkit.org/show_bug.cgi?id=77817
125985
125986        Reviewed by Adam Barth.
125987
125988        Explicitly clear style selector before destorying the cached resource loader.
125989
125990        No new tests but PerformanceTests/Parser/html5-full-render.html was crashing
125991        on performance bots due to this bug.
125992
125993        * dom/Document.cpp:
125994        (WebCore::Document::~Document):
125995
1259962012-02-09  Anders Carlsson  <andersca@apple.com>
125997
125998        Update the scroll layer position on the main thread when we have slow repaint objects
125999        https://bugs.webkit.org/show_bug.cgi?id=78300
126000        <rdar://problem/10710754>
126001
126002        Reviewed by Dan Bernstein.
126003
126004        When we have slow repaint objects (background-attachment: fixed), we need to update the
126005        scroll layer position on the main thread, otherwise the web page will appear to jiggle.
126006    
126007        * page/FrameView.cpp:
126008        (WebCore::FrameView::addSlowRepaintObject):
126009        (WebCore::FrameView::removeSlowRepaintObject):
126010        Call ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange if needed.
126011
126012        * page/FrameView.h:
126013        (WebCore::FrameView::hasSlowRepaintObjects):
126014        Add new getter.
126015
126016        * page/scrolling/ScrollingCoordinator.cpp:
126017        (WebCore::ScrollingCoordinator::frameViewHasSlowRepaintObjectsDidChange):
126018        Call ScrollingTreeNode::shouldUpdateScrollLayerPositionOnMainThread.
126019
126020        (WebCore::ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition):
126021        New function that will update both the main frame scroll position and the scroll layer position.
126022
126023        * page/scrolling/ScrollingTree.cpp:
126024        (WebCore::ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition):
126025        Dispatch a call to ScrollingCoordinator::updateMainFrameScrollPositionAndScrollLayerPosition on the main thread.
126026
126027        * page/scrolling/ScrollingTreeNode.cpp:
126028        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
126029        Initialize m_shouldUpdateScrollLayerPositionOnMainThread.
126030
126031        (WebCore::ScrollingTreeNode::update):
126032        Set m_shouldUpdateScrollLayerPositionOnMainThread.
126033
126034        * page/scrolling/ScrollingTreeState.cpp:
126035        (WebCore::ScrollingTreeState::ScrollingTreeState):
126036        Initialize m_shouldUpdateScrollLayerPositionOnMainThread.
126037
126038        (WebCore::ScrollingTreeState::setShouldUpdateScrollLayerPositionOnMainThread):
126039        Update m_shouldUpdateScrollLayerPositionOnMainThread if needed.
126040
126041        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
126042        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
126043        Assert that we're not supposed to update the scroll layer position on the main thread.
126044
126045        (WebCore::ScrollingTreeNodeMac::scrollBy):
126046        If we're supposed to update the scroll layer position on the main thread, 
126047        call ScrollingTree::updateMainFrameScrollPositionAndScrollLayerPosition.
126048
126049        * rendering/RenderLayerCompositor.cpp:
126050        (WebCore::RenderLayerCompositor::frameViewDidScroll):
126051        If the frame view has its scrolling coordinated by a scrolling coordinator, don't update the scroll layer position.
126052
1260532012-02-09  Anders Carlsson  <andersca@apple.com>
126054
126055        FrameView::addSlowRepaintObject() doesn't update m_canBlitOnScroll correctly
126056        https://bugs.webkit.org/show_bug.cgi?id=78291
126057
126058        Reviewed by Dan Bernstein.
126059
126060        m_slowRepaintObjectCount needs to be incremented before calling updateCanBlitOnScrollRecursively(),
126061        because otherwise useSlowRepaints() will return false even though we have to use slow repaints.
126062
126063        I was unable to make a layout test for this because it requires that updateCanBlitOnScrollRecursively() isn't
126064        called again after m_slowRepaintObjectCount has been incremented.
126065
126066        * page/FrameView.cpp:
126067        (WebCore::FrameView::addSlowRepaintObject):
126068
1260692012-02-09  Ojan Vafai  <ojan@chromium.org>
126070
126071        Remove TreeOrderIterator and iterate over the child boxes directly.
126072        https://bugs.webkit.org/show_bug.cgi?id=78294
126073
126074        Reviewed by Tony Chang.
126075
126076        No new tests. This is purely a refactor. No change in behavior. 
126077
126078        * rendering/RenderFlexibleBox.cpp:
126079        (WebCore::RenderFlexibleBox::layoutFlexItems):
126080        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
126081        * rendering/RenderFlexibleBox.h:
126082        (RenderFlexibleBox):
126083        (FlexOrderHashTraits):
126084        (WebCore::RenderFlexibleBox::FlexOrderHashTraits::emptyValue):
126085        (WebCore::RenderFlexibleBox::FlexOrderHashTraits::constructDeletedValue):
126086        (WebCore::RenderFlexibleBox::FlexOrderHashTraits::isDeletedValue):
126087
1260882012-02-09  Kentaro Hara  <haraken@chromium.org>
126089
126090        Code generators should support multiple values for the [CallWith=] attribute
126091        https://bugs.webkit.org/show_bug.cgi?id=78224
126092
126093        Reviewed by Adam Barth.
126094
126095        Currently we can specify only one value for one [CallWith=],
126096        like [CallWith=ScriptExecutionContext] or [CallWith=ScriptState].
126097        To reduce redundant IDL attributes, we are planning to support multiple
126098        values for [CallWith=], like [CallWith=ScriptExecutionContext|ScriptArguments|CallStack].
126099        This patch makes a change on code generators to support it.
126100
126101        Test: bindings/scripts/test/TestObj.idl
126102        No change in WebKit behavior since IDL files have not yet used [CallWith=X|Y|Z].
126103
126104        * bindings/scripts/CodeGenerator.pm: Modified to support [CallWith=X|Y|Z].
126105        (ExtendedAttributeContains):
126106        * bindings/scripts/CodeGeneratorJS.pm:
126107        (GenerateImplementation):
126108        (GenerateCallWith):
126109        (GenerateParametersCheck):
126110        (GenerateImplementationFunctionCall):
126111        (GenerateConstructorDeclaration):
126112        (GenerateConstructorDefinition):
126113        * bindings/scripts/CodeGeneratorV8.pm:
126114        (GenerateNormalAttrGetter):
126115        (GenerateNormalAttrSetter):
126116        (GenerateCallWith):
126117        (GenerateFunctionCallString):
126118
126119        * bindings/scripts/test/TestObj.idl: Added test cases for [CallWith=X|Y|Z].
126120
126121        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
126122        (WebDOMTestObj::withScriptExecutionContextAndScriptStateAttribute):
126123        (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateAttribute):
126124        (WebDOMTestObj::withScriptExecutionContextAndScriptStateAttributeRaises):
126125        (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateAttributeRaises):
126126        (WebDOMTestObj::withScriptExecutionContextAndScriptStateWithSpacesAttribute):
126127        (WebDOMTestObj::setWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
126128        (WebDOMTestObj::withScriptExecutionContextAndScriptState):
126129        (WebDOMTestObj::withScriptExecutionContextAndScriptStateObjException):
126130        (WebDOMTestObj::withScriptExecutionContextAndScriptStateWithSpaces):
126131        * bindings/scripts/test/CPP/WebDOMTestObj.h:
126132        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
126133        (webkit_dom_test_obj_with_script_execution_context_and_script_state):
126134        (webkit_dom_test_obj_with_script_execution_context_and_script_state_obj_exception):
126135        (webkit_dom_test_obj_with_script_execution_context_and_script_state_with_spaces):
126136        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute):
126137        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute):
126138        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_attribute_raises):
126139        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_attribute_raises):
126140        (webkit_dom_test_obj_get_with_script_execution_context_and_script_state_with_spaces_attribute):
126141        (webkit_dom_test_obj_set_with_script_execution_context_and_script_state_with_spaces_attribute):
126142        (webkit_dom_test_obj_get_property):
126143        (webkit_dom_test_obj_class_init):
126144        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
126145        * bindings/scripts/test/JS/JSTestObj.cpp:
126146        (WebCore):
126147        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttribute):
126148        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
126149        (WebCore::jsTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
126150        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttribute):
126151        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateAttributeRaises):
126152        (WebCore::setJSTestObjWithScriptExecutionContextAndScriptStateWithSpacesAttribute):
126153        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptState):
126154        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateObjException):
126155        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContextAndScriptStateWithSpaces):
126156        * bindings/scripts/test/JS/JSTestObj.h:
126157        (WebCore):
126158        * bindings/scripts/test/ObjC/DOMTestObj.h:
126159        * bindings/scripts/test/ObjC/DOMTestObj.mm:
126160        (-[DOMTestObj withScriptExecutionContextAndScriptStateAttribute]):
126161        (-[DOMTestObj setWithScriptExecutionContextAndScriptStateAttribute:]):
126162        (-[DOMTestObj withScriptExecutionContextAndScriptStateAttributeRaises]):
126163        (-[DOMTestObj setWithScriptExecutionContextAndScriptStateAttributeRaises:]):
126164        (-[DOMTestObj withScriptExecutionContextAndScriptStateWithSpacesAttribute]):
126165        (-[DOMTestObj setWithScriptExecutionContextAndScriptStateWithSpacesAttribute:]):
126166        (-[DOMTestObj withScriptExecutionContextAndScriptState]):
126167        (-[DOMTestObj withScriptExecutionContextAndScriptStateObjException]):
126168        (-[DOMTestObj withScriptExecutionContextAndScriptStateWithSpaces]):
126169        * bindings/scripts/test/V8/V8TestObj.cpp:
126170        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeAttrGetter):
126171        (TestObjInternal):
126172        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeAttrSetter):
126173        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrGetter):
126174        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateAttributeRaisesAttrSetter):
126175        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrGetter):
126176        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesAttributeAttrSetter):
126177        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateCallback):
126178        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateObjExceptionCallback):
126179        (WebCore::TestObjInternal::withScriptExecutionContextAndScriptStateWithSpacesCallback):
126180        (WebCore):
126181
1261822012-02-09  Kentaro Hara  <haraken@chromium.org>
126183
126184        Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]
126185        https://bugs.webkit.org/show_bug.cgi?id=78108
126186
126187        Reviewed by Adam Barth.
126188
126189        [ConvertNullStringTo=] is not descriptive. To clarify that it specifies
126190        the behavior when the null string is returned by WebCore, this patch renames
126191        [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]. This change is also
126192        for naming consistency with [TreatNullAs] and [TreatUndefinedAs].
126193
126194        No tests. No change in behavior.
126195
126196        * bindings/scripts/CodeGeneratorJS.pm:
126197        (GenerateGetOwnPropertySlotBody):
126198        (NativeToJSValue):
126199        * bindings/scripts/CodeGeneratorV8.pm:
126200        (GenerateImplementationIndexer):
126201        (NativeToJSValue):
126202        * bindings/scripts/test/TestObj.idl:
126203        * css/CSSCharsetRule.idl:
126204        * css/CSSImportRule.idl:
126205        * css/CSSPageRule.idl:
126206        * css/CSSRule.idl:
126207        * css/CSSStyleDeclaration.idl:
126208        * css/CSSStyleRule.idl:
126209        * css/CSSValue.idl:
126210        * css/MediaList.idl:
126211        * css/StyleSheet.idl:
126212        * css/WebKitCSSKeyframesRule.idl:
126213        * dom/Attr.idl:
126214        * dom/CharacterData.idl:
126215        * dom/Clipboard.idl:
126216        * dom/DOMStringList.idl:
126217        * dom/Document.idl:
126218        * dom/DocumentType.idl:
126219        * dom/Element.idl:
126220        * dom/Entity.idl:
126221        * dom/MutationRecord.idl:
126222        * dom/Node.idl:
126223        * dom/Notation.idl:
126224        * dom/ProcessingInstruction.idl:
126225        * html/DOMTokenList.idl:
126226        * html/DOMURL.idl:
126227        * html/HTMLMediaElement.idl:
126228        * html/canvas/WebGLDebugShaders.idl:
126229        * html/canvas/WebGLRenderingContext.idl:
126230        * page/DOMWindow.idl:
126231        * storage/IDBObjectStore.idl:
126232        * storage/IDBRequest.idl:
126233        * storage/Storage.idl:
126234        * storage/StorageEvent.idl:
126235        * websockets/WebSocket.idl:
126236        * xml/XMLHttpRequest.idl:
126237        * xml/XPathNSResolver.idl:
126238        * xml/XSLTProcessor.idl:
126239
1262402012-02-09  Tony Chang  <tony@chromium.org>
126241
126242        more refactoring of RenderFlexibleBox in preparation for multiline
126243        https://bugs.webkit.org/show_bug.cgi?id=78281
126244
126245        Reviewed by Ojan Vafai.
126246
126247        Previously, we were creating Vector of each flex item's preferred size in document order,
126248        but for multiline, we need to break the lines in the flex order.  I just removed this code
126249        since it was the wrong order.
126250
126251        Instead, have 2 funtions, computeMainAxisPreferredSizes which only does the necessary
126252        layouts and margin computations to compute preferred sizes and computeFlexOrder which
126253        does the work of computing the flex order, preferred sizes, positive/negative flex.
126254
126255        For multiline, we will have computeFlexOrder drive a while loop and it will return the
126256        flex items, preferred size, and positive/negative flex values for each line.
126257
126258        No new tests, just refactoring.
126259
126260        * rendering/RenderFlexibleBox.cpp:
126261        (WebCore::RenderFlexibleBox::layoutFlexItems):
126262        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes): Only layout auto sized children and set margins.
126263        (WebCore::RenderFlexibleBox::computeFlexOrder): Compute flex order, preferred size, positive/negative flex.
126264        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Use the precomputed flex order.
126265        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use the precomputed flex order.
126266        (WebCore::RenderFlexibleBox::layoutColumnReverse): Use the precomputed flex order.
126267        (WebCore::RenderFlexibleBox::alignChildren): Use the precomputed flex order.
126268        * rendering/RenderFlexibleBox.h:
126269        (RenderFlexibleBox):
126270
1262712012-02-09  Kentaro Hara  <haraken@chromium.org>
126272
126273        Rename [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue]
126274        https://bugs.webkit.org/show_bug.cgi?id=78200
126275
126276        Reviewed by Adam Barth.
126277
126278        [Optional=CallWithDefaultValue] and [Optional=CallWithNullValue] are confusing.
126279
126280        - [Optional=CallWithDefaultValue] indicates that a missing value should be treated
126281        as if the JavaScript undefined is passed.
126282        - [Optional=CallWithNullValue] indicates that a missing value should be treated as
126283        the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).
126284        - Actually, the difference between [Optional=CallWithDefaultValue] and
126285        [Optional=CallWithNullValue] will appear only when the type of the missing value
126286        is DOMString. In case of [Optional=CallWithDefaultValue], the missing value is
126287        converted to the string "undefined". On the other hand, in case of
126288        [Optional=CallWithNullValue], the missing value is converted to the WebKit null string.
126289
126290        With these observations, this patch renames as follows:
126291
126292        - Rename [Optional=CallWithDefaultValue] to [Optional=DefaultIsUndefined].
126293        - Rename [Optional=CallWithNullValue] to [Optional=DefaultIsNullString].
126294
126295        Test: bindings/scripts/test/TestObj.idl
126296
126297        * bindings/js/JSDOMBinding.h: Renamed MissingIsEmpty to DefaultIsNullString,
126298        renamed MissingIsUndefined to DefaultIsUndefined.
126299        * bindings/v8/V8Binding.h: Ditto.
126300        * bindings/v8/custom/V8BindingMacros.h: Ditto.
126301
126302        * bindings/scripts/CodeGeneratorJS.pm: Modified to support the renaming.
126303        (GenerateParametersCheck):
126304        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
126305        (GenerateParametersCheck):
126306        (RequiresCustomSignature):
126307
126308        * bindings/scripts/test/TestObj.idl: Renamed [Optional=...] as described above.
126309        * bindings/scripts/test/TestInterface.idl: Ditto.
126310        * bindings/scripts/test/TestNamedConstructor.idl: Ditto.
126311
126312        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
126313        (WebDOMTestObj::methodWithOptionalString):
126314        (WebDOMTestObj::methodWithOptionalStringIsUndefinedString):
126315        (WebDOMTestObj::methodWithOptionalStringIsNullString):
126316        * bindings/scripts/test/CPP/WebDOMTestObj.h:
126317        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
126318        (webkit_dom_test_obj_method_with_optional_string):
126319        (webkit_dom_test_obj_method_with_optional_string_is_undefined_string):
126320        (webkit_dom_test_obj_method_with_optional_string_is_null_string):
126321        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
126322        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
126323        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
126324        * bindings/scripts/test/JS/JSTestObj.cpp:
126325        (WebCore):
126326        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
126327        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsUndefinedString):
126328        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalStringIsNullString):
126329        * bindings/scripts/test/JS/JSTestObj.h:
126330        (WebCore):
126331        * bindings/scripts/test/ObjC/DOMTestObj.h:
126332        * bindings/scripts/test/ObjC/DOMTestObj.mm:
126333        (-[DOMTestObj methodWithOptionalString:]):
126334        (-[DOMTestObj methodWithOptionalStringIsUndefinedString:]):
126335        (-[DOMTestObj methodWithOptionalStringIsNullString:]):
126336        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
126337        (WebCore::V8TestNamedConstructorConstructorCallback):
126338        * bindings/scripts/test/V8/V8TestObj.cpp:
126339        (WebCore::TestObjInternal::methodWithOptionalStringCallback):
126340        (TestObjInternal):
126341        (WebCore::TestObjInternal::methodWithOptionalStringIsUndefinedStringCallback):
126342        (WebCore::TestObjInternal::methodWithOptionalStringIsNullStringCallback):
126343        (WebCore):
126344
126345        * Modules/gamepad/GamepadList.idl: Renamed [Optional=...] as described above.
126346        * Modules/intents/Intent.idl:
126347        * css/CSSMediaRule.idl:
126348        * css/CSSPrimitiveValue.idl:
126349        * css/CSSRuleList.idl:
126350        * css/CSSStyleDeclaration.idl:
126351        * css/CSSStyleSheet.idl:
126352        * css/CSSValueList.idl:
126353        * css/MediaList.idl:
126354        * css/MediaQueryList.idl:
126355        * css/MediaQueryListListener.idl:
126356        * css/StyleMedia.idl:
126357        * css/StyleSheetList.idl:
126358        * css/WebKitCSSKeyframesRule.idl:
126359        * css/WebKitCSSMatrix.idl:
126360        * dom/CharacterData.idl:
126361        * dom/ClientRectList.idl:
126362        * dom/CompositionEvent.idl:
126363        * dom/CustomEvent.idl:
126364        * dom/DOMImplementation.idl:
126365        * dom/DOMStringList.idl:
126366        * dom/DataTransferItem.idl:
126367        * dom/DataTransferItemList.idl:
126368        * dom/DeviceMotionEvent.idl:
126369        * dom/DeviceOrientationEvent.idl:
126370        * dom/Document.idl:
126371        * dom/Element.idl:
126372        * dom/Event.idl:
126373        * dom/HashChangeEvent.idl:
126374        * dom/KeyboardEvent.idl:
126375        * dom/MessageEvent.idl:
126376        * dom/MouseEvent.idl:
126377        * dom/MutationEvent.idl:
126378        * dom/NamedNodeMap.idl:
126379        * dom/Node.idl:
126380        * dom/NodeFilter.idl:
126381        * dom/NodeList.idl:
126382        * dom/OverflowEvent.idl:
126383        * dom/Range.idl:
126384        * dom/ShadowRoot.idl:
126385        * dom/Text.idl:
126386        * dom/TextEvent.idl:
126387        * dom/TouchEvent.idl:
126388        * dom/UIEvent.idl:
126389        * dom/WheelEvent.idl:
126390        * html/DOMFormData.idl:
126391        * html/HTMLAllCollection.idl:
126392        * html/HTMLAudioElement.idl:
126393        * html/HTMLCanvasElement.idl:
126394        * html/HTMLCollection.idl:
126395        * html/HTMLDocument.idl:
126396        * html/HTMLElement.idl:
126397        * html/HTMLInputElement.idl:
126398        * html/HTMLMediaElement.idl:
126399        * html/HTMLOptionElement.idl:
126400        * html/HTMLOptionsCollection.idl:
126401        * html/HTMLSelectElement.idl:
126402        * html/HTMLTableElement.idl:
126403        * html/HTMLTableRowElement.idl:
126404        * html/HTMLTableSectionElement.idl:
126405        * html/HTMLTextAreaElement.idl:
126406        * html/TextTrackCue.idl:
126407        * html/canvas/CanvasGradient.idl:
126408        * html/canvas/CanvasRenderingContext2D.idl:
126409        * html/canvas/Float32Array.idl:
126410        * html/canvas/Float64Array.idl:
126411        * html/canvas/Int16Array.idl:
126412        * html/canvas/Int32Array.idl:
126413        * html/canvas/Int8Array.idl:
126414        * html/canvas/OESVertexArrayObject.idl:
126415        * html/canvas/Uint16Array.idl:
126416        * html/canvas/Uint32Array.idl:
126417        * html/canvas/Uint8Array.idl:
126418        * html/canvas/Uint8ClampedArray.idl:
126419        * page/Console.idl:
126420        * page/DOMSelection.idl:
126421        * page/DOMWindow.idl:
126422        * page/History.idl:
126423        * page/Location.idl:
126424        * plugins/DOMMimeTypeArray.idl:
126425        * plugins/DOMPlugin.idl:
126426        * plugins/DOMPluginArray.idl:
126427        * storage/IDBDatabase.idl:
126428        * storage/StorageEvent.idl:
126429        * svg/ElementTimeControl.idl:
126430        * svg/SVGDocument.idl:
126431        * svg/SVGElementInstanceList.idl:
126432        * svg/SVGFEDropShadowElement.idl:
126433        * svg/SVGFEGaussianBlurElement.idl:
126434        * svg/SVGFEMorphologyElement.idl:
126435        * svg/SVGFilterElement.idl:
126436        * svg/SVGLocatable.idl:
126437        * svg/SVGMarkerElement.idl:
126438        * svg/SVGPathElement.idl:
126439        * svg/SVGSVGElement.idl:
126440        * svg/SVGStylable.idl:
126441        * svg/SVGTests.idl:
126442        * svg/SVGTextContentElement.idl:
126443        * webaudio/AudioNode.idl:
126444        * workers/SharedWorker.idl:
126445        * workers/WorkerContext.idl:
126446        * xml/DOMParser.idl:
126447        * xml/XMLSerializer.idl:
126448        * xml/XPathEvaluator.idl:
126449        * xml/XPathExpression.idl:
126450        * xml/XPathNSResolver.idl:
126451        * xml/XPathResult.idl:
126452
1264532012-02-09  Matthew Delaney  <mdelaney@apple.com>
126454
126455        getComputedStyle() returns different values for different zoom levels
126456        https://bugs.webkit.org/show_bug.cgi?id=32230
126457
126458        Reviewed by Beth Dakin.
126459
126460        Test: fast/css/getComputedStyle/getComputedStyle-zoom-and-background-size.html
126461
126462        * css/CSSComputedStyleDeclaration.cpp:
126463        (WebCore::fillSizeToCSSValue): Pass down the RenderStyle for use in adjusting
126464        values to account for zoom.
126465        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Adjust additional
126466        properties that are affected by zoom.
126467
1264682012-02-09  Kentaro Hara  <haraken@chromium.org>
126469
126470        Rename [Return] to [CustomReturn]
126471        https://bugs.webkit.org/show_bug.cgi?id=78225
126472
126473        Reviewed by Adam Barth.
126474
126475        [Return] is used to handle custom code for a returned value.
126476        To clarify it, this patch renames [Return] to [CustomReturn].
126477
126478        No tests. No change in behavior.
126479
126480        * bindings/scripts/CodeGeneratorCPP.pm:
126481        (GenerateImplementation):
126482        * bindings/scripts/CodeGeneratorGObject.pm:
126483        (GenerateFunction):
126484        * bindings/scripts/CodeGeneratorObjC.pm:
126485        (GenerateImplementation):
126486        * dom/Node.idl:
126487
1264882012-02-09  Levi Weintraub  <leviw@chromium.org>
126489
126490        Add roundedIntPoint method for LayoutPoints
126491        https://bugs.webkit.org/show_bug.cgi?id=78262
126492
126493        Reviewed by Eric Seidel.
126494
126495        Adding a roundedIntPoint method that operates on a LayoutPoint. Currently, this does
126496        nothing as LayoutPoint is a typedef to IntPoint. When we enable sub-pixel LayoutUnits,
126497        this is a critical part in our pixel snapping strategy, where we round the logical top-
126498        left point, then snap the right and bottom edges.
126499
126500        Also using this new method where we wish to convert LayoutPoints to IntPoints, which
126501        we're currently doing implicitly (since they're the same thing).
126502
126503        No new tests. No change in functionality.
126504
126505        * accessibility/AccessibilityRenderObject.cpp:
126506        (WebCore::AccessibilityRenderObject::visiblePositionForPoint):
126507        (WebCore::AccessibilityRenderObject::accessibilityHitTest):
126508        * page/EventHandler.cpp:
126509        (WebCore::EventHandler::eventMayStartDrag):
126510        (WebCore::EventHandler::hitTestResultAtPoint):
126511        (WebCore::EventHandler::selectCursor):
126512        * rendering/LayoutTypes.h:
126513        (WebCore::roundedIntPoint):
126514        (WebCore):
126515        * rendering/RenderEmbeddedObject.cpp:
126516        (WebCore::RenderEmbeddedObject::getReplacementTextGeometry):
126517        * rendering/RenderFlowThread.cpp:
126518        (WebCore::RenderFlowThread::paintIntoRegion):
126519        * rendering/RenderFrameSet.cpp:
126520        (WebCore::RenderFrameSet::getCursor):
126521        * rendering/RenderImage.cpp:
126522        (WebCore::RenderImage::paintReplaced):
126523        * rendering/RenderLayer.cpp:
126524        (WebCore::RenderLayer::scrollRectToVisible):
126525        (WebCore::RenderLayer::offsetFromResizeCorner):
126526        (WebCore::RenderLayer::isPointInResizeControl):
126527        (WebCore::RenderLayer::paintLayerContents):
126528        * rendering/RenderLayerBacking.cpp:
126529        (WebCore::RenderLayerBacking::paintContents):
126530        * rendering/RenderLayerCompositor.cpp:
126531        (WebCore::RenderLayerCompositor::paintContents):
126532        * rendering/mathml/RenderMathMLBlock.cpp:
126533        (WebCore::RenderMathMLBlock::paint):
126534        * rendering/mathml/RenderMathMLFraction.cpp:
126535        (WebCore::RenderMathMLFraction::paint):
126536        * rendering/mathml/RenderMathMLRoot.cpp:
126537        (WebCore::RenderMathMLRoot::paint):
126538        * rendering/mathml/RenderMathMLSquareRoot.cpp:
126539        (WebCore::RenderMathMLSquareRoot::paint):
126540
1265412012-02-09  John Bates  <jbates@google.com>
126542
126543        [Chromium] Add chromium-style tracing support
126544        https://bugs.webkit.org/show_bug.cgi?id=76885
126545
126546        Reviewed by Darin Fisher.
126547
126548        This code enables WebKit trace events to pass through more data to the
126549        chromium platform tracing API and generally to use the full tracing
126550        API provided by chromium.
126551
126552        * bindings/v8/V8Proxy.cpp:
126553        (WebCore::V8Proxy::evaluate): Replace old tracing API.
126554        * page/Console.cpp:
126555        (WebCore::Console::time): Replace old tracing API.
126556        (WebCore::Console::timeEnd): Replace old tracing API.
126557        * platform/chromium/PlatformSupport.h:
126558        * platform/chromium/TraceEvent.h:
126559        (WebCore::TraceEvent::TraceID::TraceID):
126560        (WebCore::TraceEvent::TraceID::data):
126561        (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
126562        (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
126563        (WebCore::TraceEvent::setTraceValue):
126564        (WebCore::TraceEvent::addTraceEvent):
126565        (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
126566        (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
126567        (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
126568        (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
126569        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
126570        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
126571        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
126572        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):
126573
1265742012-02-09  David Hyatt  <hyatt@apple.com>
126575
126576        https://bugs.webkit.org/show_bug.cgi?id=78256
126577        
126578        Rename line-grid-snap to line-snap so that it matches the draft proposal for the
126579        property.
126580
126581        Reviewed by Dan Bernstein.
126582
126583        * css/CSSComputedStyleDeclaration.cpp:
126584        (WebCore):
126585        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
126586        * css/CSSParser.cpp:
126587        (WebCore::CSSParser::parseValue):
126588        * css/CSSPrimitiveValueMappings.h:
126589        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
126590        (WebCore::CSSPrimitiveValue::operator LineSnap):
126591        * css/CSSProperty.cpp:
126592        (WebCore::CSSProperty::isInheritedProperty):
126593        * css/CSSPropertyNames.in:
126594        * css/CSSStyleApplyProperty.cpp:
126595        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
126596        * css/CSSStyleSelector.cpp:
126597        (WebCore::CSSStyleSelector::applyProperty):
126598        * rendering/RootInlineBox.cpp:
126599        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
126600        (WebCore::RootInlineBox::lineSnapAdjustment):
126601        * rendering/RootInlineBox.h:
126602        (RootInlineBox):
126603        * rendering/style/RenderStyle.cpp:
126604        (WebCore::RenderStyle::diff):
126605        * rendering/style/RenderStyle.h:
126606        * rendering/style/RenderStyleConstants.h:
126607        * rendering/style/StyleRareInheritedData.cpp:
126608        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
126609        (WebCore::StyleRareInheritedData::operator==):
126610        * rendering/style/StyleRareInheritedData.h:
126611        (StyleRareInheritedData):
126612
1266132012-02-09  Benjamin Poulain  <bpoulain@apple.com>
126614
126615        The localization of htmlSelectMultipleItems() needs better support of pluralization
126616        https://bugs.webkit.org/show_bug.cgi?id=78197
126617
126618        Reviewed by Joseph Pecoraro.
126619
126620        For translation, the localization of 0 and 1 depends on the language.
126621
126622        * English.lproj/Localizable.strings:
126623        * platform/DefaultLocalizationStrategy.cpp:
126624        (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
126625
1266262012-02-09  Anders Carlsson  <andersca@apple.com>
126627
126628        ScrollingTreeNodeMac should implement ScrollElasticityController
126629        https://bugs.webkit.org/show_bug.cgi?id=78277
126630
126631        Reviewed by Andreas Kling.
126632
126633        Add stubbed out implementations of the ScrollElasticityController member functions.
126634
126635        * page/scrolling/mac/ScrollingTreeNodeMac.h:
126636        (ScrollingTreeNodeMac):
126637        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
126638        (WebCore::ScrollingTreeNodeMac::allowsHorizontalStretching):
126639        (WebCore):
126640        (WebCore::ScrollingTreeNodeMac::allowsVerticalStretching):
126641        (WebCore::ScrollingTreeNodeMac::stretchAmount):
126642        (WebCore::ScrollingTreeNodeMac::pinnedInDirection):
126643        (WebCore::ScrollingTreeNodeMac::canScrollHorizontally):
126644        (WebCore::ScrollingTreeNodeMac::canScrollVertically):
126645        (WebCore::ScrollingTreeNodeMac::shouldRubberBandInDirection):
126646        (WebCore::ScrollingTreeNodeMac::absoluteScrollPosition):
126647        (WebCore::ScrollingTreeNodeMac::immediateScrollBy):
126648        (WebCore::ScrollingTreeNodeMac::immediateScrollByWithoutContentEdgeConstraints):
126649        (WebCore::ScrollingTreeNodeMac::startSnapRubberbandTimer):
126650        (WebCore::ScrollingTreeNodeMac::stopSnapRubberbandTimer):
126651
1266522012-02-09  Adrienne Walker  <enne@google.com>
126653
126654        [chromium] Correct potential double reserveTextures() in CCLayerTreeHost
126655        https://bugs.webkit.org/show_bug.cgi?id=78258
126656
126657        Reviewed by James Robinson.
126658
126659        This isn't a problem currently, because scrollbar layers don't create
126660        render surfaces. However, if this ever got used for other layers, we
126661        could call reserve on them twice needlessly. It's also just bad form
126662        to have an iterator doing the wrong thing.
126663
126664        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
126665        (WebCore::CCLayerTreeHost::reserveTextures):
126666
1266672012-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
126668
126669        Unreviewed, rolling out r107261.
126670        http://trac.webkit.org/changeset/107261
126671        https://bugs.webkit.org/show_bug.cgi?id=78274
126672
126673        It has regressed svg/W3C-SVG-1.1/styling-css-05-b.svg (using
126674        lang() selectors) (Requested by jchaffraix on #webkit).
126675
126676        * css/CSSStyleSelector.cpp:
126677        (WebCore::CSSStyleSelector::canShareStyleWithControl):
126678        (WebCore::CSSStyleSelector::canShareStyleWithElement):
126679        (WebCore::isCommonAttributeSelectorAttribute):
126680
1266812012-02-09  Joshua Bell  <jsbell@chromium.org>
126682
126683        [Chromium] IndexedDB: IDBVersionChangeRequest V8 wrapper not generated as ActiveDOMObject
126684        https://bugs.webkit.org/show_bug.cgi?id=78167
126685
126686        Add ActiveDOMObject annotation to IDBVersionChangeRequest.idl; it is not
126687        automagically inherited from IDBRequest.idl.
126688
126689        Reviewed by Adam Barth.
126690
126691        Test: storage/indexeddb/versionchangerequest-activedomobject.html
126692
126693        * storage/IDBVersionChangeRequest.idl:
126694
1266952012-02-09  Anders Carlsson  <andersca@apple.com>
126696
126697        The scrolling tree should know more about the scrollbar state
126698        https://bugs.webkit.org/show_bug.cgi?id=78268
126699
126700        Reviewed by Andreas Kling.
126701
126702        With this change, the scroll tree now keeps track of the horizontal scroll elasticity,
126703        the vertical scroll elasticity and whether the page has enabled scrollbars.
126704
126705        This is needed in order to make rubber-banding work correctly when doing fast scrolling.
126706
126707        * page/scrolling/ScrollingCoordinator.cpp:
126708        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
126709        * page/scrolling/ScrollingTreeNode.cpp:
126710        (WebCore::ScrollingTreeNode::ScrollingTreeNode):
126711        (WebCore::ScrollingTreeNode::update):
126712        * page/scrolling/ScrollingTreeNode.h:
126713        (ScrollingTreeNode):
126714        * page/scrolling/ScrollingTreeState.cpp:
126715        (WebCore::ScrollingTreeState::ScrollingTreeState):
126716        (WebCore::ScrollingTreeState::setHorizontalScrollElasticity):
126717        (WebCore):
126718        (WebCore::ScrollingTreeState::setVerticalScrollElasticity):
126719        (WebCore::ScrollingTreeState::setHasEnabledHorizontalScrollbar):
126720        (WebCore::ScrollingTreeState::setHasEnabledVerticalScrollbar):
126721        * page/scrolling/ScrollingTreeState.h:
126722        (WebCore::ScrollingTreeState::horizontalScrollElasticity):
126723        (ScrollingTreeState):
126724        (WebCore::ScrollingTreeState::verticalScrollElasticity):
126725        (WebCore::ScrollingTreeState::hasEnabledHorizontalScrollbar):
126726        (WebCore::ScrollingTreeState::hasEnabledVerticalScrollbar):
126727
1267282012-02-09  Xianzhu Wang  <wangxianzhu@chromium.org>
126729
126730        Unnecessary and incorrect invalidation about composited fixed-position layers
126731        https://bugs.webkit.org/show_bug.cgi?id=75638
126732
126733        When a FrameView scrolls, composited fixed-position layers should
126734        not contribute to the invalidation rect of the root layer.
126735
126736        Reviewed by Simon Fraser.
126737
126738        No new tests. Haven't found a good way to test this programatically.
126739
126740        * page/FrameView.cpp:
126741        (WebCore::FrameView::scrollContentsFastPath):
126742
1267432012-02-09  Sheriff Bot  <webkit.review.bot@gmail.com>
126744
126745        Unreviewed, rolling out r107035.
126746        http://trac.webkit.org/changeset/107035
126747        https://bugs.webkit.org/show_bug.cgi?id=78253
126748
126749        Regressed DOMDivWalk (Requested by arv on #webkit).
126750
126751        * Target.pri:
126752        * UseV8.cmake:
126753        * WebCore.gypi:
126754        * bindings/scripts/CodeGeneratorV8.pm:
126755        (GenerateNormalAttrGetter):
126756        (HasCustomToV8Implementation):
126757        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
126758        (WebCore::toV8):
126759        (WebCore):
126760        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Copied from Source/WebCore/bindings/v8/custom/V8NamedNodeMapCustom.cpp.
126761        (WebCore):
126762        (WebCore::toV8):
126763        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
126764        (WebCore::toV8):
126765        (WebCore):
126766
1267672012-02-09  David Barton  <dbarton@mathscribe.com>
126768
126769        MathML internals for bug 52444 fix - type checking, PassRefPtr
126770        https://bugs.webkit.org/show_bug.cgi?id=78180
126771
126772        Reviewed by Eric Seidel.
126773        
126774        static_cast<Element*>(node()) is done in methods in RenderMathMLFenced.cpp and a few
126775        other files. It is more type-safe if the RenderMathMLFenced() or other constructor only
126776        accepts an Element*, not a Node*. Also a couple functions were changed to return a
126777        PassRefPtr instead of a RefPtr.
126778
126779        No new tests.
126780
126781        * rendering/mathml/RenderMathMLFenced.cpp:
126782        (WebCore::RenderMathMLFenced::RenderMathMLFenced):
126783        (WebCore::RenderMathMLFenced::updateFromElement):
126784        (WebCore::RenderMathMLFenced::makeOperatorStyle):
126785        (WebCore::RenderMathMLFenced::makeFences):
126786        (WebCore::RenderMathMLFenced::addChild):
126787        * rendering/mathml/RenderMathMLFenced.h:
126788        (RenderMathMLFenced):
126789        * rendering/mathml/RenderMathMLFraction.cpp:
126790        (WebCore::RenderMathMLFraction::RenderMathMLFraction):
126791        * rendering/mathml/RenderMathMLFraction.h:
126792        (RenderMathMLFraction):
126793        * rendering/mathml/RenderMathMLMath.cpp:
126794        (WebCore::RenderMathMLMath::RenderMathMLMath):
126795        * rendering/mathml/RenderMathMLMath.h:
126796        (RenderMathMLMath):
126797        * rendering/mathml/RenderMathMLOperator.cpp:
126798        (WebCore::RenderMathMLOperator::RenderMathMLOperator):
126799        (WebCore::RenderMathMLOperator::updateFromElement):
126800        (WebCore::RenderMathMLOperator::createStackableStyle):
126801        (WebCore::RenderMathMLOperator::createGlyph):
126802        * rendering/mathml/RenderMathMLOperator.h:
126803        (RenderMathMLOperator):
126804        * rendering/mathml/RenderMathMLRoot.cpp:
126805        (WebCore::RenderMathMLRoot::RenderMathMLRoot):
126806        (WebCore::RenderMathMLRoot::layout):
126807        * rendering/mathml/RenderMathMLRoot.h:
126808        (RenderMathMLRoot):
126809        * rendering/mathml/RenderMathMLRow.cpp:
126810        (WebCore::RenderMathMLRow::RenderMathMLRow):
126811        * rendering/mathml/RenderMathMLRow.h:
126812        (RenderMathMLRow):
126813        * rendering/mathml/RenderMathMLSquareRoot.cpp:
126814        (WebCore::RenderMathMLSquareRoot::RenderMathMLSquareRoot):
126815        * rendering/mathml/RenderMathMLSquareRoot.h:
126816        (RenderMathMLSquareRoot):
126817        * rendering/mathml/RenderMathMLSubSup.cpp:
126818        (WebCore::RenderMathMLSubSup::addChild):
126819        * rendering/mathml/RenderMathMLSubSup.h:
126820        (RenderMathMLSubSup):
126821        * rendering/mathml/RenderMathMLUnderOver.cpp:
126822        (WebCore::RenderMathMLUnderOver::RenderMathMLUnderOver):
126823        * rendering/mathml/RenderMathMLUnderOver.h:
126824        (RenderMathMLUnderOver):
126825
1268262012-02-09  Andreas Kling  <awesomekling@apple.com>
126827
126828        Avoid unnecessary work when evaluating style sharing candidates.
126829        <http://webkit.org/b/78220>
126830
126831        Reviewed by Antti Koivisto.
126832
126833        Do the cheap checks (bitfields, pointers) before calling virtuals and doing hash lookups.
126834        Remove comparison of attributes that are reflected in the attribute styles (cellpadding,
126835        lang and xml:lang.) Moved comparison of "type" and "readonly" attributes into the more
126836        specific canShareStyleWithControl() since they are only relevant for input elements.
126837        Don't bother calling isFormControlElement() on both elements since we already know they
126838        have the same tagQName().
126839
126840        Altogether this knocks off 8-9ms worth of samples per cycle of the "Moz" page cycler test.
126841
126842        * css/CSSStyleSelector.cpp:
126843        (WebCore::CSSStyleSelector::canShareStyleWithControl):
126844        (WebCore::CSSStyleSelector::canShareStyleWithElement):
126845        (WebCore::isCommonAttributeSelectorAttribute):
126846
1268472012-02-09  Mike Lawther  <mikelawther@chromium.org>
126848
126849        CSS3 calc() - remove mod
126850        https://bugs.webkit.org/show_bug.cgi?id=78226
126851
126852        mod has been removed from the spec for calc().
126853
126854        Reviewed by Ojan Vafai.
126855
126856        * css/CSSCalculationValue.cpp:
126857        (WebCore::CSSCalcBinaryOperation::create):
126858        (WebCore::CSSCalcBinaryOperation::evaluate):
126859        (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
126860        * css/CSSGrammar.y:
126861        * platform/CalculationValue.h:
126862
1268632012-02-09  Pavel Feldman  <pfeldman@google.com>
126864
126865        Web Inspector: rename DOMEditor to DOMPatchSupport, move undoable actions from
126866        InspectorDOMAgent to the new DOMEditor.
126867        https://bugs.webkit.org/show_bug.cgi?id=78245
126868
126869        Reviewed by Yury Semikhatsky.
126870
126871        * CMakeLists.txt:
126872        * GNUmakefile.list.am:
126873        * Target.pri:
126874        * WebCore.gypi:
126875        * WebCore.vcproj/WebCore.vcproj:
126876        * WebCore.xcodeproj/project.pbxproj:
126877        * inspector/DOMEditor.cpp:
126878        (DOMEditor::DOMAction):
126879        (WebCore::DOMEditor::DOMAction::DOMAction):
126880        (WebCore::DOMEditor::DOMAction::perform):
126881        (WebCore::DOMEditor::DOMAction::undo):
126882        (DOMEditor::RemoveChildAction):
126883        (WebCore::DOMEditor::RemoveChildAction::RemoveChildAction):
126884        (WebCore::DOMEditor::RemoveChildAction::perform):
126885        (WebCore::DOMEditor::RemoveChildAction::undo):
126886        (DOMEditor::InsertBeforeAction):
126887        (WebCore::DOMEditor::InsertBeforeAction::InsertBeforeAction):
126888        (WebCore::DOMEditor::InsertBeforeAction::perform):
126889        (WebCore::DOMEditor::InsertBeforeAction::undo):
126890        (DOMEditor::RemoveAttributeAction):
126891        (WebCore::DOMEditor::RemoveAttributeAction::RemoveAttributeAction):
126892        (WebCore::DOMEditor::RemoveAttributeAction::perform):
126893        (WebCore::DOMEditor::RemoveAttributeAction::undo):
126894        (DOMEditor::SetAttributeAction):
126895        (WebCore::DOMEditor::SetAttributeAction::SetAttributeAction):
126896        (WebCore::DOMEditor::SetAttributeAction::perform):
126897        (WebCore::DOMEditor::SetAttributeAction::undo):
126898        (DOMEditor::SetOuterHTMLAction):
126899        (WebCore::DOMEditor::SetOuterHTMLAction::SetOuterHTMLAction):
126900        (WebCore::DOMEditor::SetOuterHTMLAction::perform):
126901        (WebCore::DOMEditor::SetOuterHTMLAction::undo):
126902        (WebCore::DOMEditor::SetOuterHTMLAction::newNode):
126903        (DOMEditor::ReplaceWholeTextAction):
126904        (WebCore::DOMEditor::ReplaceWholeTextAction::ReplaceWholeTextAction):
126905        (WebCore::DOMEditor::ReplaceWholeTextAction::perform):
126906        (WebCore::DOMEditor::ReplaceWholeTextAction::undo):
126907        (WebCore::DOMEditor::DOMEditor):
126908        (WebCore):
126909        (WebCore::DOMEditor::~DOMEditor):
126910        (WebCore::DOMEditor::insertBefore):
126911        (WebCore::DOMEditor::removeChild):
126912        (WebCore::DOMEditor::setAttribute):
126913        (WebCore::DOMEditor::removeAttribute):
126914        (WebCore::DOMEditor::setOuterHTML):
126915        (WebCore::DOMEditor::replaceWholeText):
126916        * inspector/DOMEditor.h:
126917        (WebCore):
126918        (DOMEditor):
126919        * inspector/DOMPatchSupport.cpp: Copied from Source/WebCore/inspector/DOMEditor.cpp.
126920        (WebCore::DOMPatchSupport::DOMPatchSupport):
126921        (WebCore::DOMPatchSupport::~DOMPatchSupport):
126922        (WebCore::DOMPatchSupport::patchDocument):
126923        (WebCore::DOMPatchSupport::patchNode):
126924        (WebCore::DOMPatchSupport::innerPatchNode):
126925        (WebCore):
126926        (WebCore::DOMPatchSupport::diff):
126927        (WebCore::DOMPatchSupport::innerPatchChildren):
126928        (WebCore::DOMPatchSupport::createDigest):
126929        (WebCore::DOMPatchSupport::insertBefore):
126930        (WebCore::DOMPatchSupport::removeChild):
126931        (WebCore::DOMPatchSupport::markNodeAsUsed):
126932        (WebCore::DOMPatchSupport::dumpMap):
126933        * inspector/DOMPatchSupport.h: Copied from Source/WebCore/inspector/DOMEditor.h.
126934        (DOMPatchSupport):
126935        * inspector/InspectorDOMAgent.cpp:
126936        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
126937        (WebCore::InspectorDOMAgent::setFrontend):
126938        (WebCore::InspectorDOMAgent::clearFrontend):
126939        (WebCore::InspectorDOMAgent::reset):
126940        (WebCore::InspectorDOMAgent::setAttributeValue):
126941        (WebCore::InspectorDOMAgent::setAttributesAsText):
126942        (WebCore::InspectorDOMAgent::removeAttribute):
126943        (WebCore::InspectorDOMAgent::removeNode):
126944        (WebCore::InspectorDOMAgent::setNodeName):
126945        (WebCore::InspectorDOMAgent::setOuterHTML):
126946        (WebCore::InspectorDOMAgent::setNodeValue):
126947        (WebCore::InspectorDOMAgent::moveTo):
126948        * inspector/InspectorDOMAgent.h:
126949        (WebCore):
126950        (InspectorDOMAgent):
126951        * inspector/InspectorPageAgent.cpp:
126952        (WebCore::InspectorPageAgent::setDocumentContent):
126953
1269542012-02-09  Mark Rowe  <mrowe@apple.com>
126955
126956        REGRESSION (r104746): iframes load PDFs as media documents
126957        <http://webkit.org/b/77079> / <rdar://problem/10757933>
126958
126959        Roll out r104746 since it completely broke support for loading PDF documents in subframes.
126960
126961        Reviewed by Adam Treat.
126962
126963        * dom/DOMImplementation.cpp:
126964        (WebCore::DOMImplementation::createDocument):
126965
1269662012-02-09  Andrey Kosyakov  <caseq@chromium.org>
126967
126968        Web Inspector: [refactoring] take _showShortEvents out of timeline calculator
126969        https://bugs.webkit.org/show_bug.cgi?id=78230
126970
126971        Reviewed by Pavel Feldman.
126972
126973        * inspector/front-end/TimelinePanel.js:
126974        (WebInspector.TimelinePanel):
126975        (WebInspector.TimelinePanel.prototype._toggleFilterButtonClicked):
126976        (WebInspector.TimelinePanel.prototype._refresh):
126977        (WebInspector.TimelinePanel.prototype._addToRecordsWindow):
126978
1269792012-02-08  Dan Vrátil  <dvratil@redhat.com>, Milan Crha <mcrha@redhat.com>
126980
126981        [GTK] Embedded GtkWidgets are not drawn
126982        https://bugs.webkit.org/show_bug.cgi?id=63451
126983
126984        Remove widget from it's parent container when GtkPluginWidget is destroyed.
126985        Remove paint() method because real expose even is used for drawing child widgets now.
126986
126987        Reviewed by Martin Robinson.
126988
126989        * platform/gtk/GtkPluginWidget.cpp:
126990        (WebCore::GtkPluginWidget::~GtkPluginWidget):
126991        (WebCore):
126992        * platform/gtk/GtkPluginWidget.h:
126993        (GtkPluginWidget):
126994
1269952012-02-09  Arun Patole  <arun.patole@motorola.com>
126996
126997        Setting media element 'src' attribute to "" should trigger load
126998        https://bugs.webkit.org/show_bug.cgi?id=47907
126999
127000        Reviewed by Eric Carlson.
127001
127002        Test: media/video-src-empty.html
127003
127004        * html/HTMLMediaElement.cpp:
127005        (WebCore::HTMLMediaElement::attributeChanged):Trigger a load, as long as the 'src' attribute is present.
127006
1270072012-02-09  Jonathan Backer  <backer@chromium.org>
127008
127009        [chromium] Add setNeedsRedraw to WebWidget
127010        https://bugs.webkit.org/show_bug.cgi?id=77555
127011
127012        Reviewed by James Robinson.
127013
127014        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
127015        (WebCore::CCLayerTreeHost::setNeedsRedraw):
127016        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
127017        (WebCore::CCLayerTreeHostImpl::setFullRootLayerDamage):
127018        (WebCore):
127019        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
127020        (CCLayerTreeHostImpl):
127021        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
127022        (WebCore::CCSingleThreadProxy::setNeedsRedraw):
127023        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
127024        (WebCore::CCThreadProxy::setNeedsRedraw):
127025        (WebCore::CCThreadProxy::setFullRootLayerDamageOnImplThread):
127026        (WebCore):
127027        * platform/graphics/chromium/cc/CCThreadProxy.h:
127028        (CCThreadProxy):
127029
1270302012-02-09  Pavel Feldman  <pfeldman@google.com>
127031
127032        Web Inspector: fix setOuterHTML for the case that adds / removes duplicate.
127033        https://bugs.webkit.org/show_bug.cgi?id=78235
127034
127035        Reviewed by Yury Semikhatsky.
127036
127037        * inspector/DOMEditor.cpp:
127038        (WebCore::DOMEditor::diff):
127039        (WebCore::DOMEditor::innerPatchChildren):
127040        (WebCore):
127041        (WebCore::nodeName):
127042        (WebCore::DOMEditor::dumpMap):
127043        * inspector/DOMEditor.h:
127044        (DOMEditor):
127045
1270462012-02-09  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
127047
127048        Ensure timers and other active DOM objects do not fire in suspended documents.
127049        https://bugs.webkit.org/show_bug.cgi?id=53733
127050
127051        ScriptExecutionContext now remembers it has suspended active DOM objects
127052        and suspends all newly installed active DOM objects as well.
127053
127054        All create-calls active DOM objects now calls the post constructor method
127055        suspendIfNeeded that updates the suspend state. It is post constructor
127056        because the suspend/resume functions are virtual and thus can not be called
127057        from constructors.
127058
127059        Reviewed by Mihai Parparita.
127060
127061        Test: fast/events/suspend-timers.html
127062
127063        * Modules/intents/IntentRequest.cpp:
127064        (WebCore::IntentRequest::create):
127065        * bindings/generic/ActiveDOMCallback.cpp:
127066        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
127067        * dom/ActiveDOMObject.cpp:
127068        (WebCore::ActiveDOMObject::ActiveDOMObject):
127069        (WebCore::ActiveDOMObject::~ActiveDOMObject):
127070        (WebCore::ActiveDOMObject::suspendIfNeeded):
127071        * dom/ActiveDOMObject.h:
127072        (WebCore::ActiveDOMObject::suspendIfNeededCalled):
127073        * dom/DocumentEventQueue.cpp:
127074        (WebCore::DocumentEventQueue::DocumentEventQueue):
127075        * dom/ScriptExecutionContext.cpp:
127076        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
127077        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
127078        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
127079        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
127080        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
127081        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
127082        (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
127083        * dom/ScriptExecutionContext.h:
127084        (ScriptExecutionContext):
127085        (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
127086        * fileapi/DOMFileSystem.cpp:
127087        (WebCore::DOMFileSystem::create):
127088        * fileapi/FileReader.cpp:
127089        (WebCore::FileReader::create):
127090        * fileapi/FileReader.h:
127091        * fileapi/FileWriter.cpp:
127092        (WebCore::FileWriter::create):
127093        * fileapi/FileWriter.h:
127094        * history/CachedFrame.cpp:
127095        (WebCore::CachedFrame::CachedFrame):
127096        * html/HTMLAudioElement.cpp:
127097        (WebCore::HTMLAudioElement::create):
127098        (WebCore::HTMLAudioElement::createForJSConstructor):
127099        * html/HTMLMarqueeElement.cpp:
127100        (WebCore::HTMLMarqueeElement::create):
127101        * html/HTMLVideoElement.cpp:
127102        (WebCore::HTMLVideoElement::create):
127103        * mediastream/PeerConnection.cpp:
127104        (WebCore::PeerConnection::create):
127105        * notifications/Notification.cpp:
127106        (WebCore::Notification::create):
127107        * notifications/NotificationCenter.cpp:
127108        (WebCore::NotificationCenter::create):
127109        * notifications/NotificationCenter.h:
127110        * page/DOMTimer.cpp:
127111        (WebCore::DOMTimer::install):
127112        (WebCore::DOMTimer::fired):
127113        * page/EventSource.cpp:
127114        (WebCore::EventSource::create):
127115        * page/SuspendableTimer.cpp:
127116        (WebCore::SuspendableTimer::SuspendableTimer):
127117        * storage/IDBDatabase.cpp:
127118        (WebCore::IDBDatabase::create):
127119        * storage/IDBRequest.cpp:
127120        (WebCore::IDBRequest::create):
127121        * storage/IDBTransaction.cpp:
127122        (WebCore::IDBTransaction::create):
127123        * storage/IDBVersionChangeRequest.cpp:
127124        (WebCore::IDBVersionChangeRequest::create):
127125        * webaudio/AudioContext.cpp:
127126        (WebCore::AudioContext::create):
127127        (WebCore::AudioContext::createOfflineContext):
127128        * websockets/WebSocket.cpp:
127129        (WebCore::WebSocket::create):
127130        * websockets/WebSocket.h:
127131        * workers/SharedWorker.cpp:
127132        (WebCore::SharedWorker::create):
127133        * workers/Worker.cpp:
127134        (WebCore::Worker::create):
127135        * xml/XMLHttpRequest.cpp:
127136        (WebCore::XMLHttpRequest::create):
127137
1271382012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>
127139
127140        Unreviewed followup for r107235.
127141
127142        * inspector/front-end/ScriptsPanel.js:
127143        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
127144        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):
127145
1271462012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>
127147
127148        Web Inspector: Support hiding scripts panel debug sidebar.
127149        https://bugs.webkit.org/show_bug.cgi?id=77543
127150
127151        Reviewed by Pavel Feldman.
127152
127153        * English.lproj/localizedStrings.js:
127154        * WebCore.gypi:
127155        * WebCore.vcproj/WebCore.vcproj:
127156        * inspector/compile-front-end.sh:
127157        * inspector/front-end/Dialog.js:
127158        (WebInspector.Dialog):
127159        (WebInspector.DialogDelegate.prototype.show):
127160        * inspector/front-end/Images/navigatorPinButton.png: Added.
127161        * inspector/front-end/Images/navigatorShowHideButton.png: Added.
127162        * inspector/front-end/ScriptsNavigator.js:
127163        (WebInspector.ScriptsNavigator):
127164        (WebInspector.ScriptsNavigator.prototype.get view):
127165        (WebInspector.ScriptsNavigator.prototype.get element):
127166        (WebInspector.ScriptsNavigator.prototype.show):
127167        (WebInspector.ScriptsNavigator.prototype.focus):
127168        * inspector/front-end/ScriptsPanel.js:
127169        (WebInspector.ScriptsPanel.prototype._fileSelected):
127170        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
127171        (WebInspector.ScriptsPanel.prototype._createNavigatorControls):
127172        (WebInspector.ScriptsPanel.prototype._createNavigatorControlButton):
127173        (WebInspector.ScriptsPanel.prototype._toggleNavigator):
127174        (WebInspector.ScriptsPanel.prototype._hidePinnedNavigator):
127175        (WebInspector.ScriptsPanel.prototype.set _pinNavigator):
127176        (WebInspector.ScriptsPanel.prototype.set _showNavigatorOverlay):
127177        (WebInspector.ScriptsPanel.prototype._hideNavigatorOverlay):
127178        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWasShown):
127179        (WebInspector.ScriptsPanel.prototype._navigatorOverlayWillHide):
127180        * inspector/front-end/SidebarOverlay.js: Added.
127181        * inspector/front-end/SplitView.js:
127182        (WebInspector.SplitView.prototype.get resizable):
127183        (WebInspector.SplitView.prototype.hideMainElement):
127184        (WebInspector.SplitView.prototype.showMainElement):
127185        (WebInspector.SplitView.prototype.hideSidebarElement):
127186        (WebInspector.SplitView.prototype.showSidebarElement):
127187        (WebInspector.SplitView.prototype._resizerDragging):
127188        * inspector/front-end/TabbedEditorContainer.js:
127189        (WebInspector.TabbedEditorContainer.prototype.get element):
127190        * inspector/front-end/WebKit.qrc:
127191        * inspector/front-end/dialog.css:
127192        * inspector/front-end/inspector.html:
127193        * inspector/front-end/scriptsPanel.css:
127194
1271952012-02-09  Alexei Filippov  <alexeif@chromium.org>
127196
127197        Web Inspector: Show percentage by default in heap profiler.
127198        https://bugs.webkit.org/show_bug.cgi?id=78103
127199
127200        Reviewed by Pavel Feldman.
127201
127202        * inspector/front-end/DetailedHeapshotGridNodes.js:
127203        (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
127204        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
127205        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
127206        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
127207        * inspector/front-end/DetailedHeapshotView.js:
127208        (WebInspector.DetailedHeapshotView.profileCallback):
127209        (WebInspector.DetailedHeapshotView):
127210        (WebInspector.DetailedHeapshotView.prototype.get statusBarItems):
127211        (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
127212        (WebInspector.DetailedHeapshotView.prototype._updateFilterOptions):
127213        * inspector/front-end/UIUtils.js:
127214        (Number.withThousandsSeparator):
127215        * inspector/front-end/heapProfiler.css:
127216        (.detailed-heapshot-view .data-grid span.percent-column):
127217
1272182012-02-09  Ilya Tikhonovsky  <loislo@chromium.org>
127219
127220        Web Inspector: Timeline memory graph would have been more useful if it had used minUsedHeapSize as the lower bound. Currently it uses zero as the lower bound.
127221        https://bugs.webkit.org/show_bug.cgi?id=78222
127222
127223        Reviewed by Pavel Feldman.
127224
127225        * inspector/front-end/TimelineOverviewPane.js:
127226        (WebInspector.HeapGraph):
127227        (WebInspector.HeapGraph.prototype.update):
127228        * inspector/front-end/timelinePanel.css:
127229        (.memory-graph-label):
127230        (.max.memory-graph-label):
127231        (.min.memory-graph-label):
127232
1272332012-02-09  Alexander Pavlov  <apavlov@chromium.org>
127234
127235        Web Inspector: Update protocol and UI to follow bug 77204 (Kill per-Attribute style declarations)
127236        https://bugs.webkit.org/show_bug.cgi?id=77962
127237
127238        Reviewed by Pavel Feldman.
127239
127240        * English.lproj/localizedStrings.js:
127241        * inspector/Inspector.json:
127242        * inspector/InspectorCSSAgent.cpp:
127243        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
127244        (WebCore::InspectorCSSAgent::buildObjectForAttributesStyle):
127245        * inspector/InspectorCSSAgent.h:
127246        (InspectorCSSAgent):
127247        * inspector/front-end/AuditRules.js:
127248        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
127249        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
127250        * inspector/front-end/CSSStyleModel.js:
127251        (WebInspector.CSSStyleModel.prototype.getInlineStylesAsync):
127252        * inspector/front-end/StylesSidebarPane.js:
127253        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.inlineCallback):
127254        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
127255        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules.get continue):
127256
1272572012-02-08  Pavel Feldman  <pfeldman@google.com>
127258
127259        Web Inspector: toggle Edit as HTML on F2, drag nodes up / down upon Ctrl(Cmd) Up / Down.
127260        https://bugs.webkit.org/show_bug.cgi?id=78123
127261
127262        Reviewed by Yury Semikhatsky.
127263
127264        * English.lproj/localizedStrings.js:
127265        * inspector/InspectorDOMAgent.cpp:
127266        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
127267        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
127268        (InspectorDOMAgent::SetOuterHTMLAction):
127269        * inspector/front-end/ElementsPanel.js:
127270        (WebInspector.ElementsPanel.prototype._registerShortcuts):
127271        (WebInspector.ElementsPanel.prototype.handleShortcut):
127272        * inspector/front-end/ElementsTreeOutline.js:
127273        (WebInspector.ElementsTreeOutline.prototype._ondragstart):
127274        (WebInspector.ElementsTreeOutline.prototype._ondragover):
127275        (WebInspector.ElementsTreeOutline.prototype._doMove):
127276        (WebInspector.ElementsTreeOutline.prototype._ondragend):
127277        (WebInspector.ElementsTreeOutline.prototype._populateContextMenu):
127278        (WebInspector.ElementsTreeOutline.prototype.handleShortcut):
127279        (WebInspector.ElementsTreeOutline.prototype._toggleEditAsHTML):
127280        (WebInspector.ElementsTreeOutline.prototype._selectNodeAfterEdit):
127281        (WebInspector.ElementsTreeElement.prototype._startEditingAsHTML.commit):
127282        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted.changeTagNameCallback):
127283        (WebInspector.ElementsTreeElement.prototype._tagNameEditingCommitted):
127284        * inspector/front-end/UIUtils.js:
127285
1272862012-02-09  Roland Steiner  <rolandsteiner@chromium.org>
127287
127288        SelectorChecker::checkSelector: move parameters into a struct
127289        https://bugs.webkit.org/show_bug.cgi?id=77525
127290
127291        Added 'SelectorCheckingContext' struct to hold parameters for the function.
127292        Adapted calling sites.
127293        (fixing change log after the commit message got bungled up).
127294
127295        Reviewed by Antti Koivisto.
127296
127297        No new tests. (refactoring)
127298
127299        * css/CSSStyleSelector.cpp:
127300        (WebCore::CSSStyleSelector::checkSelector):
127301        * css/SelectorChecker.cpp:
127302        (WebCore::SelectorChecker::checkSelector):
127303        (WebCore):
127304        (WebCore::SelectorChecker::checkOneSelector):
127305        * css/SelectorChecker.h:
127306        (SelectorCheckingContext):
127307        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
127308        (SelectorChecker):
127309
1273102012-02-09  Philip Rogers  <pdr@google.com>
127311
127312        Fix mirroring with SVG fonts
127313        https://bugs.webkit.org/show_bug.cgi?id=77067
127314
127315        Reviewed by Nikolas Zimmermann.
127316
127317        SVG fonts were incorrectly handling mirrored characters in bidi text.
127318        In this change I added the function createStringWithMirroredCharacters
127319        which handles mirroring the characters when selecting glyphs for SVG
127320        fonts. I also made a small cosmetic change in the function
127321        charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
127322        which better reflects what it actually does.
127323
127324        Several new tests were added to test mirroring with SVG fonts in the
127325        presence of Arabic forms and non-BMP characters.
127326
127327        Tests: svg/custom/glyph-selection-arabic-forms.svg
127328               svg/custom/glyph-selection-bidi-mirror.svg
127329               svg/custom/glyph-selection-non-bmp.svg
127330
127331        * platform/graphics/SVGGlyph.cpp:
127332        (WebCore::charactersWithArabicForm):
127333        * svg/SVGFontData.cpp:
127334        (WebCore::SVGFontData::applySVGGlyphSelection):
127335        (WebCore::SVGFontData::createStringWithMirroredCharacters):
127336        * svg/SVGFontData.h:
127337        (SVGFontData):
127338
1273392012-02-09  Vsevolod Vlasov  <vsevik@chromium.org>
127340
127341        Web Inspector: Scripts navigator fails to reopen previously closed script.
127342        https://bugs.webkit.org/show_bug.cgi?id=78212
127343
127344        Reviewed by Pavel Feldman.
127345
127346        * inspector/front-end/ScriptsPanel.js:
127347        (WebInspector.ScriptsPanel.prototype._reset):
127348        (WebInspector.ScriptsPanel.prototype._showFile):
127349        (WebInspector.ScriptsPanel.prototype._editorClosed):
127350        * inspector/front-end/TabbedEditorContainer.js:
127351        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
127352
1273532012-02-09  Shinya Kawanaka  <shinyak@google.com>
127354
127355        ASSERT_NO_EXCEPTION should be initialized with non-zero value.
127356        https://bugs.webkit.org/show_bug.cgi?id=78194
127357
127358        Reviewed by Hajime Morita.
127359
127360        ExceptionCode should not be checked without initializing it.
127361        However, we encountered a bug that breaks this rule.
127362        It was missed until now because ExceptionCode is sometimes set to 0 even if it is not initialized.
127363        This patch ensures it is initialized as non-zero value.
127364
127365        No new tests, no change in behavior.
127366
127367        * dom/ExceptionCodePlaceholder.cpp:
127368        (WebCore::NoExceptionAssertionChecker::NoExceptionAssertionChecker):
127369        (WebCore::NoExceptionAssertionChecker::~NoExceptionAssertionChecker):
127370        * dom/ExceptionCodePlaceholder.h:
127371        (NoExceptionAssertionChecker):
127372
1273732012-02-09  Roland Steiner  <rolandsteiner@chromium.org>
127374
127375        Unreviewed, rolling out r107197.
127376        http://trac.webkit.org/changeset/107197
127377        https://bugs.webkit.org/show_bug.cgi?id=77525
127378
127379        broke Chromium Linux
127380
127381        * css/CSSStyleSelector.cpp:
127382        (WebCore::CSSStyleSelector::checkSelector):
127383        * css/SelectorChecker.cpp:
127384        (WebCore::SelectorChecker::checkSelector):
127385        (WebCore):
127386        (WebCore::SelectorChecker::checkOneSelector):
127387        * css/SelectorChecker.h:
127388
1273892012-02-09  Kentaro Hara  <haraken@chromium.org>
127390
127391        Unreviewed, rolling out r107182, r107186, r107189, r107191,
127392        and r107199.
127393        http://trac.webkit.org/changeset/107182
127394        http://trac.webkit.org/changeset/107186
127395        http://trac.webkit.org/changeset/107189
127396        http://trac.webkit.org/changeset/107191
127397        http://trac.webkit.org/changeset/107199
127398        https://bugs.webkit.org/show_bug.cgi?id=78200
127399
127400        Layout tests of JSC-related port are crashing
127401
127402        * Modules/gamepad/GamepadList.idl:
127403        * Modules/intents/Intent.idl:
127404        * bindings/js/JSDOMBinding.h:
127405        * bindings/scripts/CodeGeneratorJS.pm:
127406        (GenerateGetOwnPropertySlotBody):
127407        (GenerateParametersCheck):
127408        (NativeToJSValue):
127409        (GenerateConstructorDefinition):
127410        * bindings/scripts/CodeGeneratorV8.pm:
127411        (GenerateParametersCheck):
127412        (GenerateImplementationIndexer):
127413        (RequiresCustomSignature):
127414        (NativeToJSValue):
127415        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
127416        * bindings/scripts/test/CPP/WebDOMTestObj.h:
127417        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
127418        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
127419        * bindings/scripts/test/JS/JSFloat64Array.cpp:
127420        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
127421        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
127422        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
127423        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
127424        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp:
127425        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
127426        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
127427        (WebCore::jsTestEventTargetPrototypeFunctionItem):
127428        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
127429        * bindings/scripts/test/JS/JSTestInterface.cpp:
127430        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
127431        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
127432        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
127433        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
127434        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
127435        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
127436        * bindings/scripts/test/JS/JSTestObj.cpp:
127437        (WebCore):
127438        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
127439        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
127440        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
127441        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
127442        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
127443        (WebCore::jsTestObjPrototypeFunctionIdbKey):
127444        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
127445        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
127446        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
127447        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
127448        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
127449        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
127450        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
127451        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
127452        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
127453        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
127454        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
127455        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
127456        (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
127457        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
127458        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
127459        (WebCore::jsTestObjPrototypeFunctionConvert1):
127460        (WebCore::jsTestObjPrototypeFunctionConvert2):
127461        (WebCore::jsTestObjPrototypeFunctionConvert3):
127462        (WebCore::jsTestObjPrototypeFunctionConvert4):
127463        (WebCore::jsTestObjPrototypeFunctionConvert5):
127464        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
127465        * bindings/scripts/test/JS/JSTestObj.h:
127466        (WebCore):
127467        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
127468        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
127469        * bindings/scripts/test/ObjC/DOMTestObj.h:
127470        * bindings/scripts/test/ObjC/DOMTestObj.mm:
127471        * bindings/scripts/test/TestInterface.idl:
127472        * bindings/scripts/test/TestNamedConstructor.idl:
127473        * bindings/scripts/test/TestObj.idl:
127474        * bindings/scripts/test/V8/V8Float64Array.cpp:
127475        (WebCore::Float64ArrayInternal::fooCallback):
127476        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp:
127477        (WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
127478        (WebCore::TestActiveDOMObjectInternal::postMessageCallback):
127479        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp:
127480        (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
127481        * bindings/scripts/test/V8/V8TestEventTarget.cpp:
127482        (WebCore::TestEventTargetInternal::itemCallback):
127483        (WebCore::TestEventTargetInternal::dispatchEventCallback):
127484        * bindings/scripts/test/V8/V8TestInterface.cpp:
127485        (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
127486        (WebCore::V8TestInterface::constructorCallback):
127487        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp:
127488        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
127489        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
127490        (WebCore::V8TestNamedConstructorConstructorCallback):
127491        * bindings/scripts/test/V8/V8TestObj.cpp:
127492        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
127493        (WebCore::TestObjInternal::intMethodWithArgsCallback):
127494        (WebCore::TestObjInternal::objMethodWithArgsCallback):
127495        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
127496        (WebCore::TestObjInternal::idbKeyCallback):
127497        (WebCore::TestObjInternal::optionsObjectCallback):
127498        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
127499        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
127500        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
127501        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
127502        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
127503        (WebCore::TestObjInternal::overloadedMethod1Callback):
127504        (WebCore::TestObjInternal::overloadedMethod2Callback):
127505        (WebCore::TestObjInternal::overloadedMethod3Callback):
127506        (WebCore::TestObjInternal::overloadedMethod4Callback):
127507        (WebCore::TestObjInternal::overloadedMethod6Callback):
127508        (WebCore::TestObjInternal::overloadedMethod7Callback):
127509        (WebCore::TestObjInternal::classMethodWithOptionalCallback):
127510        (WebCore::TestObjInternal::overloadedMethod11Callback):
127511        (WebCore::TestObjInternal::overloadedMethod12Callback):
127512        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
127513        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
127514        (WebCore::TestObjInternal::convert1Callback):
127515        (WebCore::TestObjInternal::convert2Callback):
127516        (WebCore::TestObjInternal::convert3Callback):
127517        (WebCore::TestObjInternal::convert4Callback):
127518        (WebCore::TestObjInternal::convert5Callback):
127519        (WebCore::TestObjInternal::strictFunctionCallback):
127520        (WebCore):
127521        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
127522        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
127523        * bindings/v8/V8Binding.h:
127524        * bindings/v8/custom/V8BindingMacros.h:
127525        * css/CSSCharsetRule.idl:
127526        * css/CSSImportRule.idl:
127527        * css/CSSMediaRule.idl:
127528        * css/CSSPageRule.idl:
127529        * css/CSSPrimitiveValue.idl:
127530        * css/CSSRule.idl:
127531        * css/CSSRuleList.idl:
127532        * css/CSSStyleDeclaration.idl:
127533        * css/CSSStyleRule.idl:
127534        * css/CSSStyleSheet.idl:
127535        * css/CSSValue.idl:
127536        * css/CSSValueList.idl:
127537        * css/MediaList.idl:
127538        * css/MediaQueryList.idl:
127539        * css/MediaQueryListListener.idl:
127540        * css/StyleMedia.idl:
127541        * css/StyleSheet.idl:
127542        * css/StyleSheetList.idl:
127543        * css/WebKitCSSKeyframesRule.idl:
127544        * css/WebKitCSSMatrix.idl:
127545        * dom/Attr.idl:
127546        * dom/CharacterData.idl:
127547        * dom/ClientRectList.idl:
127548        * dom/Clipboard.idl:
127549        * dom/CompositionEvent.idl:
127550        * dom/CustomEvent.idl:
127551        * dom/DOMImplementation.idl:
127552        * dom/DOMStringList.idl:
127553        * dom/DataTransferItem.idl:
127554        * dom/DataTransferItemList.idl:
127555        * dom/DeviceMotionEvent.idl:
127556        * dom/DeviceOrientationEvent.idl:
127557        * dom/Document.idl:
127558        * dom/DocumentType.idl:
127559        * dom/Element.idl:
127560        * dom/Entity.idl:
127561        * dom/Event.idl:
127562        * dom/HashChangeEvent.idl:
127563        * dom/KeyboardEvent.idl:
127564        * dom/MessageEvent.idl:
127565        * dom/MouseEvent.idl:
127566        * dom/MutationEvent.idl:
127567        * dom/MutationRecord.idl:
127568        * dom/NamedNodeMap.idl:
127569        * dom/Node.idl:
127570        * dom/NodeFilter.idl:
127571        * dom/NodeList.idl:
127572        * dom/Notation.idl:
127573        * dom/OverflowEvent.idl:
127574        * dom/ProcessingInstruction.idl:
127575        * dom/Range.idl:
127576        * dom/ShadowRoot.idl:
127577        * dom/Text.idl:
127578        * dom/TextEvent.idl:
127579        * dom/TouchEvent.idl:
127580        * dom/UIEvent.idl:
127581        * dom/WheelEvent.idl:
127582        * html/DOMFormData.idl:
127583        * html/DOMTokenList.idl:
127584        * html/DOMURL.idl:
127585        * html/HTMLAllCollection.idl:
127586        * html/HTMLAudioElement.idl:
127587        * html/HTMLCanvasElement.idl:
127588        * html/HTMLCollection.idl:
127589        * html/HTMLDocument.idl:
127590        * html/HTMLElement.idl:
127591        * html/HTMLInputElement.idl:
127592        * html/HTMLMediaElement.idl:
127593        * html/HTMLOptionElement.idl:
127594        * html/HTMLOptionsCollection.idl:
127595        * html/HTMLSelectElement.idl:
127596        * html/HTMLTableElement.idl:
127597        * html/HTMLTableRowElement.idl:
127598        * html/HTMLTableSectionElement.idl:
127599        * html/HTMLTextAreaElement.idl:
127600        * html/TextTrackCue.idl:
127601        * html/canvas/CanvasGradient.idl:
127602        * html/canvas/CanvasRenderingContext2D.idl:
127603        * html/canvas/Float32Array.idl:
127604        * html/canvas/Float64Array.idl:
127605        * html/canvas/Int16Array.idl:
127606        * html/canvas/Int32Array.idl:
127607        * html/canvas/Int8Array.idl:
127608        * html/canvas/OESVertexArrayObject.idl:
127609        * html/canvas/Uint16Array.idl:
127610        * html/canvas/Uint32Array.idl:
127611        * html/canvas/Uint8Array.idl:
127612        * html/canvas/Uint8ClampedArray.idl:
127613        * html/canvas/WebGLDebugShaders.idl:
127614        * html/canvas/WebGLRenderingContext.idl:
127615        * page/Console.idl:
127616        * page/DOMSelection.idl:
127617        * page/DOMWindow.idl:
127618        * page/History.idl:
127619        * page/Location.idl:
127620        * plugins/DOMMimeTypeArray.idl:
127621        * plugins/DOMPlugin.idl:
127622        * plugins/DOMPluginArray.idl:
127623        * storage/IDBDatabase.idl:
127624        * storage/IDBObjectStore.idl:
127625        * storage/IDBRequest.idl:
127626        * storage/Storage.idl:
127627        * storage/StorageEvent.idl:
127628        * svg/ElementTimeControl.idl:
127629        * svg/SVGDocument.idl:
127630        * svg/SVGElementInstanceList.idl:
127631        * svg/SVGFEDropShadowElement.idl:
127632        * svg/SVGFEGaussianBlurElement.idl:
127633        * svg/SVGFEMorphologyElement.idl:
127634        * svg/SVGFilterElement.idl:
127635        * svg/SVGLocatable.idl:
127636        * svg/SVGMarkerElement.idl:
127637        * svg/SVGPathElement.idl:
127638        * svg/SVGSVGElement.idl:
127639        * svg/SVGStylable.idl:
127640        * svg/SVGTests.idl:
127641        * svg/SVGTextContentElement.idl:
127642        * webaudio/AudioNode.idl:
127643        * websockets/WebSocket.idl:
127644        * workers/SharedWorker.idl:
127645        * workers/WorkerContext.idl:
127646        * xml/DOMParser.idl:
127647        * xml/XMLHttpRequest.idl:
127648        * xml/XMLSerializer.idl:
127649        * xml/XPathEvaluator.idl:
127650        * xml/XPathExpression.idl:
127651        * xml/XPathNSResolver.idl:
127652        * xml/XPathResult.idl:
127653        * xml/XSLTProcessor.idl:
127654
1276552012-02-09  Shinya Kawanaka  <shinyak@google.com>
127656
127657        Disable adding a shadow root to elements having a dynamic built-in shadow root.
127658        https://bugs.webkit.org/show_bug.cgi?id=77935
127659
127660        Reviewed by Hajime Morita.
127661
127662        We temporarily disable adding a shadow root in elements having a dynamic user agent shadow root.
127663        These shadow roots are currently created using Element::ensureShadowRoot.
127664        So we don't check the condition if a shadow root is created eaither using Element::ensureShadowRoot
127665        or ShadowRoot::CreatingUserAgentShadowRoot is specified for ShadowRoot::create.
127666
127667        Test: fast/dom/shadow/shadow-disable.html
127668
127669        * dom/Element.cpp:
127670        (WebCore::Element::ensureShadowRoot):
127671        * dom/ShadowRoot.cpp:
127672        (WebCore::allowsUserShadowRoot):
127673        (WebCore):
127674        (WebCore::ShadowRoot::create):
127675        * dom/ShadowRoot.h:
127676        (ShadowRoot):
127677        * html/HTMLDetailsElement.cpp:
127678        (WebCore::HTMLDetailsElement::createShadowSubtree):
127679          ShadowRoot::CreatingUserAgentShadowRoot is specified.
127680        * html/HTMLKeygenElement.cpp:
127681        (WebCore::HTMLKeygenElement::HTMLKeygenElement): ditto.
127682        * html/HTMLMeterElement.cpp:
127683        (WebCore::HTMLMeterElement::createShadowSubtree): ditto.
127684        * html/HTMLProgressElement.cpp:
127685        (WebCore::HTMLProgressElement::createShadowSubtree): ditto.
127686        * html/HTMLSummaryElement.cpp:
127687        (WebCore::HTMLSummaryElement::createShadowSubtree): ditto.
127688        * html/HTMLTextAreaElement.cpp:
127689        (WebCore::HTMLTextAreaElement::createShadowSubtree): ditto.
127690
1276912012-02-08  Alexander Pavlov  <apavlov@chromium.org>
127692
127693        Web Inspector: hovering over element with :hover style halts inspector
127694        https://bugs.webkit.org/show_bug.cgi?id=78086
127695
127696        Reviewed by Pavel Feldman.
127697
127698        Test: inspector/styles/updates-throttled.html
127699
127700        * inspector/front-end/StylesSidebarPane.js:
127701        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
127702        (WebInspector.StylesSidebarPane.prototype._innerUpdate.computedStyleCallback):
127703        (WebInspector.StylesSidebarPane.prototype._innerUpdate):
127704
1277052012-02-09  Kentaro Hara  <haraken@chromium.org>
127706
127707        Unreviewed. Fix build failure caused by r107191.
127708
127709        * bindings/scripts/CodeGeneratorJS.pm:
127710        (GenerateParametersCheck):
127711        * bindings/scripts/CodeGeneratorV8.pm:
127712        (GenerateParametersCheck):
127713
1277142012-02-09  Roland Steiner  <rolandsteiner@chromium.org>
127715
127716        SelectorChecker::checkSelector: move parameters into a struct
127717        https://bugs.webkit.org/show_bug.cgi?id=77525
127718
127719        Added 'SelectorCheckingContext' struct to hold parameters for the function.
127720        Adapted calling sites.
127721
127722        Reviewed by Antti Koivisto.
127723
127724        No new tests. (refactoring)
127725
127726        * css/CSSStyleSelector.cpp:
127727        (WebCore::CSSStyleSelector::checkSelector):
127728        * css/SelectorChecker.cpp:
127729        (WebCore::SelectorChecker::checkSelector):
127730        (WebCore):
127731        (WebCore::SelectorChecker::checkOneSelector):
127732        * css/SelectorChecker.h:
127733        (SelectorCheckingContext):
127734        (WebCore::SelectorChecker::SelectorCheckingContext::SelectorCheckingContext):
127735        (SelectorChecker):
127736
1277372012-02-09  Kent Tamura  <tkent@chromium.org>
127738
127739        Do not localize numbers in scientific notation
127740        https://bugs.webkit.org/show_bug.cgi?id=78208
127741
127742        Reviewed by Hajime Morita.
127743
127744        For a preparation of fixing http://wkb.ug/62939, we stop supporting
127745        localized numbers in scientific notation in <input type=number>.
127746
127747        We're going to change number localization processing so that it replaces
127748        letters one by one. It will be very hard to support scientific notation.
127749
127750        * html/NumberInputType.cpp:
127751        (WebCore::isE): A helper functio for String::find() to detect scientific notation.
127752        (WebCore::NumberInputType::visibleValue): Avoid localization for scientific notation.
127753        (WebCore::NumberInputType::convertFromVisibleValue): ditto.
127754        (WebCore::NumberInputType::isAcceptableValue):
127755        Use convertFromVisibleValue, also stop accepting a standard format as a fallback.
127756
1277572012-02-09  Leo Yang  <leo.yang@torchmobile.com.cn>
127758
127759        EntryBase.cpp is missing in CMake build system when turning on ENABLE_FILE_SYSTEM
127760        https://bugs.webkit.org/show_bug.cgi?id=78190
127761
127762        Reviewed by Antonio Gomes.
127763
127764        EntryBase.cpp is not in the CMake build system, which causes build failure (undefined
127765        symbols to EntryBase) when turning on ENABLE_FILE_SYSTEM.
127766
127767        Build system fix, no new tests.
127768
127769        * CMakeLists.txt:
127770
1277712012-02-09  Andreas Kling  <awesomekling@apple.com>
127772
127773        REGRESSION(r53878): Input elements don't share their styles if the document contains no validity style rules.
127774        <http://webkit.org/b/69400>
127775
127776        Reviewed by Kent Tamura.
127777
127778        Don't reject style sharing candidates prematurely just because the document doesn't
127779        have any :valid or :invalid selectors.
127780
127781        * css/CSSStyleSelector.cpp:
127782        (WebCore::CSSStyleSelector::canShareStyleWithControl):
127783
1277842012-02-09  Kentaro Hara  <haraken@chromium.org>
127785
127786        Unreviewed. Fixed typo in the following files. [TreatUndefinedAs] => [TreatAsUndefined].
127787
127788        * bindings/scripts/CodeGeneratorJS.pm:
127789        (GenerateParametersCheck):
127790
127791        * bindings/scripts/test/TestObj.idl:
127792
127793        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
127794        (WebDOMTestObj::methodWithOptionalIsUndefinedString):
127795        * bindings/scripts/test/CPP/WebDOMTestObj.h:
127796        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
127797        (webkit_dom_test_obj_method_with_optional_is_undefined_string):
127798        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
127799        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
127800        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
127801        * bindings/scripts/test/JS/JSTestObj.cpp:
127802        (WebCore):
127803        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsUndefinedString):
127804        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
127805        (WebCore::jsTestObjPrototypeFunctionConvert5):
127806        * bindings/scripts/test/JS/JSTestObj.h:
127807        (WebCore):
127808        * bindings/scripts/test/ObjC/DOMTestObj.h:
127809        * bindings/scripts/test/ObjC/DOMTestObj.mm:
127810        (-[DOMTestObj methodWithOptionalIsUndefinedString:]):
127811        * bindings/scripts/test/V8/V8TestObj.cpp:
127812        (WebCore::TestObjInternal::methodWithOptionalIsUndefinedStringCallback):
127813        (WebCore):
127814
1278152012-02-09  Kentaro Hara  <haraken@chromium.org>
127816
127817        Unreviewed. Fixed typo in the following files. [TreatReturnedNullStringTo=] => [TreatReturnedNullStringAs=].
127818
127819        * bindings/scripts/test/TestObj.idl:
127820        * css/CSSCharsetRule.idl:
127821        * css/CSSImportRule.idl:
127822        * css/CSSPageRule.idl:
127823        * css/CSSRule.idl:
127824        * css/CSSStyleDeclaration.idl:
127825        * css/CSSStyleRule.idl:
127826        * css/CSSValue.idl:
127827        * css/MediaList.idl:
127828        * css/StyleSheet.idl:
127829        * css/WebKitCSSKeyframesRule.idl:
127830        * dom/Attr.idl:
127831        * dom/CharacterData.idl:
127832        * dom/Clipboard.idl:
127833        * dom/DOMStringList.idl:
127834        * dom/Document.idl:
127835        * dom/DocumentType.idl:
127836        * dom/Element.idl:
127837        * dom/Entity.idl:
127838        * dom/MutationRecord.idl:
127839        * dom/Node.idl:
127840        * dom/Notation.idl:
127841        * dom/ProcessingInstruction.idl:
127842        * html/DOMTokenList.idl:
127843        * html/DOMURL.idl:
127844        * html/HTMLMediaElement.idl:
127845        * html/canvas/WebGLDebugShaders.idl:
127846        * html/canvas/WebGLRenderingContext.idl:
127847        * page/DOMWindow.idl:
127848        * storage/IDBObjectStore.idl:
127849        * storage/IDBRequest.idl:
127850        * storage/Storage.idl:
127851        * storage/StorageEvent.idl:
127852        * websockets/WebSocket.idl:
127853        * xml/XMLHttpRequest.idl:
127854        * xml/XPathNSResolver.idl:
127855        * xml/XSLTProcessor.idl:
127856
1278572012-02-08  Kentaro Hara  <haraken@chromium.org>
127858
127859        Rename [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]
127860        https://bugs.webkit.org/show_bug.cgi?id=78108
127861
127862        Reviewed by Adam Barth.
127863
127864        [ConvertNullStringTo=] is not descriptive. To clarify that it specifies
127865        the behavior when the null string is returned by WebCore, this patch renames
127866        [ConvertNullStringTo=] to [TreatReturnedNullStringAs=]. This change is also
127867        for naming consistency with [TreatNullAs] and [TreatUndefinedAs].
127868
127869        No tests. No change in behavior.
127870
127871        * bindings/scripts/CodeGeneratorJS.pm:
127872        (GenerateGetOwnPropertySlotBody):
127873        (NativeToJSValue):
127874        * bindings/scripts/CodeGeneratorV8.pm:
127875        (GenerateImplementationIndexer):
127876        (NativeToJSValue):
127877
127878        * bindings/scripts/test/TestObj.idl: No change in run-bindings-tests results.
127879
127880        * css/CSSCharsetRule.idl:
127881        * css/CSSImportRule.idl:
127882        * css/CSSPageRule.idl:
127883        * css/CSSRule.idl:
127884        * css/CSSStyleDeclaration.idl:
127885        * css/CSSStyleRule.idl:
127886        * css/CSSValue.idl:
127887        * css/MediaList.idl:
127888        * css/StyleSheet.idl:
127889        * css/WebKitCSSKeyframesRule.idl:
127890        * dom/Attr.idl:
127891        * dom/CharacterData.idl:
127892        * dom/Clipboard.idl:
127893        * dom/DOMStringList.idl:
127894        * dom/Document.idl:
127895        * dom/DocumentType.idl:
127896        * dom/Element.idl:
127897        * dom/Entity.idl:
127898        * dom/MutationRecord.idl:
127899        * dom/Node.idl:
127900        * dom/Notation.idl:
127901        * dom/ProcessingInstruction.idl:
127902        * html/DOMTokenList.idl:
127903        * html/DOMURL.idl:
127904        * html/HTMLMediaElement.idl:
127905        * html/canvas/WebGLDebugShaders.idl:
127906        * html/canvas/WebGLRenderingContext.idl:
127907        * page/DOMWindow.idl:
127908        * storage/IDBObjectStore.idl:
127909        * storage/IDBRequest.idl:
127910        * storage/Storage.idl:
127911        * storage/StorageEvent.idl:
127912        * websockets/WebSocket.idl:
127913        * xml/XMLHttpRequest.idl:
127914        * xml/XPathNSResolver.idl:
127915        * xml/XSLTProcessor.idl:
127916
1279172012-02-08  Andreas Kling  <awesomekling@apple.com>
127918
127919        Simplify ownership of StyledElement::additionalAttributeStyles().
127920        <http://webkit.org/b/78204>
127921
127922        Reviewed by Anders Carlsson.
127923
127924        Change additionalAttributeStyle() to return a raw pointer rather than a PassRefPtr.
127925
127926        * css/CSSStyleSelector.cpp:
127927        (WebCore::CSSStyleSelector::matchAllRules):
127928        (WebCore::CSSStyleSelector::canShareStyleWithElement):
127929        * dom/StyledElement.h:
127930        (WebCore::StyledElement::additionalAttributeStyle):
127931        * html/HTMLTableCellElement.cpp:
127932        (WebCore::HTMLTableCellElement::additionalAttributeStyle):
127933        * html/HTMLTableCellElement.h:
127934        (HTMLTableCellElement):
127935        * html/HTMLTableColElement.cpp:
127936        (WebCore::HTMLTableColElement::additionalAttributeStyle):
127937        * html/HTMLTableColElement.h:
127938        (HTMLTableColElement):
127939        * html/HTMLTableElement.cpp:
127940        (WebCore::HTMLTableElement::additionalAttributeStyle):
127941        (WebCore::HTMLTableElement::additionalCellStyle):
127942        (WebCore::HTMLTableElement::additionalGroupStyle):
127943        * html/HTMLTableElement.h:
127944        (HTMLTableElement):
127945        * html/HTMLTableSectionElement.cpp:
127946        (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
127947        * html/HTMLTableSectionElement.h:
127948        (HTMLTableSectionElement):
127949
1279502012-02-08  Kentaro Hara  <haraken@chromium.org>
127951
127952        Rename [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue]
127953        https://bugs.webkit.org/show_bug.cgi?id=78200
127954
127955        Reviewed by Adam Barth.
127956
127957        [Optional=CallWithDefalutValue] and [Optional=CallWithNullValue] are confusing.
127958
127959        - [Optional=CallWithDefalutValue] indicates that a missing value should be treated
127960        as if the JavaScript undefined is passed.
127961        - [Optional=CallWithNullValue] indicates that a missing value should be treated as
127962        the WebKit null value (i.e. JSValue() or v8::Local<v8::Value>()).
127963        - Actually, the difference between [Optional=CallWithDefalutValue] and
127964        [Optional=CallWithNullValue] appears only when the type of the missing value is DOMString.
127965        In case of [Optional=CallWithDefalutValue], the missing value is converted to the string
127966        "undefined". On the other hand, in case of [Optional=CallWithNullValue], the missing
127967        value is converted to the WebKit null string.
127968
127969        With these observations, this patch renames them as follows:
127970
127971        - Rename [Optional=CallWithDefalutValue] to [Optional=TreatAsUndefined].
127972        - Remove [Optional=CallWithNullValue]. Instead, we use
127973        [Optional=TreatAsUndefined, TreatUndefinedAs=NullString].
127974
127975        Test: bindings/scripts/test/TestInterface.idl
127976
127977        * bindings/js/JSDOMBinding.h: Renamed MissingIsUndefined to MissingIsUndefinedValue,
127978        renamed MissingIsEmpty to MissingIsNullValue.
127979        * bindings/v8/V8Binding.h: Ditto.
127980        * bindings/v8/custom/V8BindingMacros.h: Ditto.
127981
127982        * bindings/scripts/CodeGeneratorJS.pm: Modified to support the IDL attribute renaming.
127983        (GenerateParametersCheck):
127984        (GenerateConstructorDefinition):
127985        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
127986        (GenerateParametersCheck):
127987        (RequiresCustomSignature):
127988
127989        * Modules/gamepad/GamepadList.idl: Renamed IDL attributes as described above.
127990        * Modules/intents/Intent.idl:
127991        * css/CSSMediaRule.idl:
127992        * css/CSSPrimitiveValue.idl:
127993        * css/CSSRuleList.idl:
127994        * css/CSSStyleDeclaration.idl:
127995        * css/CSSStyleSheet.idl:
127996        * css/CSSValueList.idl:
127997        * css/MediaList.idl:
127998        * css/MediaQueryList.idl:
127999        * css/MediaQueryListListener.idl:
128000        * css/StyleMedia.idl:
128001        * css/StyleSheetList.idl:
128002        * css/WebKitCSSKeyframesRule.idl:
128003        * css/WebKitCSSMatrix.idl:
128004        * dom/CharacterData.idl:
128005        * dom/ClientRectList.idl:
128006        * dom/CompositionEvent.idl:
128007        * dom/CustomEvent.idl:
128008        * dom/DOMImplementation.idl:
128009        * dom/DOMStringList.idl:
128010        * dom/DataTransferItem.idl:
128011        * dom/DataTransferItemList.idl:
128012        * dom/DeviceMotionEvent.idl:
128013        * dom/DeviceOrientationEvent.idl:
128014        * dom/Document.idl:
128015        * dom/Element.idl:
128016        * dom/Event.idl:
128017        * dom/HashChangeEvent.idl:
128018        * dom/KeyboardEvent.idl:
128019        * dom/MessageEvent.idl:
128020        * dom/MouseEvent.idl:
128021        * dom/MutationEvent.idl:
128022        * dom/NamedNodeMap.idl:
128023        * dom/Node.idl:
128024        * dom/NodeFilter.idl:
128025        * dom/NodeList.idl:
128026        * dom/OverflowEvent.idl:
128027        * dom/Range.idl:
128028        * dom/ShadowRoot.idl:
128029        * dom/Text.idl:
128030        * dom/TextEvent.idl:
128031        * dom/TouchEvent.idl:
128032        * dom/UIEvent.idl:
128033        * dom/WheelEvent.idl:
128034        * html/DOMFormData.idl:
128035        * html/HTMLAllCollection.idl:
128036        * html/HTMLAudioElement.idl:
128037        * html/HTMLCanvasElement.idl:
128038        * html/HTMLCollection.idl:
128039        * html/HTMLDocument.idl:
128040        * html/HTMLElement.idl:
128041        * html/HTMLInputElement.idl:
128042        * html/HTMLMediaElement.idl:
128043        * html/HTMLOptionElement.idl:
128044        * html/HTMLOptionsCollection.idl:
128045        * html/HTMLSelectElement.idl:
128046        * html/HTMLTableElement.idl:
128047        * html/HTMLTableRowElement.idl:
128048        * html/HTMLTableSectionElement.idl:
128049        * html/HTMLTextAreaElement.idl:
128050        * html/TextTrackCue.idl:
128051        * html/canvas/CanvasGradient.idl:
128052        * html/canvas/CanvasRenderingContext2D.idl:
128053        * html/canvas/Float32Array.idl:
128054        * html/canvas/Float64Array.idl:
128055        * html/canvas/Int16Array.idl:
128056        * html/canvas/Int32Array.idl:
128057        * html/canvas/Int8Array.idl:
128058        * html/canvas/OESVertexArrayObject.idl:
128059        * html/canvas/Uint16Array.idl:
128060        * html/canvas/Uint32Array.idl:
128061        * html/canvas/Uint8Array.idl:
128062        * html/canvas/Uint8ClampedArray.idl:
128063        * page/Console.idl:
128064        * page/DOMSelection.idl:
128065        * page/DOMWindow.idl:
128066        * page/History.idl:
128067        * page/Location.idl:
128068        * plugins/DOMMimeTypeArray.idl:
128069        * plugins/DOMPlugin.idl:
128070        * plugins/DOMPluginArray.idl:
128071        * storage/IDBDatabase.idl:
128072        * storage/StorageEvent.idl:
128073        * svg/ElementTimeControl.idl:
128074        * svg/SVGDocument.idl:
128075        * svg/SVGElementInstanceList.idl:
128076        * svg/SVGFEDropShadowElement.idl:
128077        * svg/SVGFEGaussianBlurElement.idl:
128078        * svg/SVGFEMorphologyElement.idl:
128079        * svg/SVGFilterElement.idl:
128080        * svg/SVGLocatable.idl:
128081        * svg/SVGMarkerElement.idl:
128082        * svg/SVGPathElement.idl:
128083        * svg/SVGSVGElement.idl:
128084        * svg/SVGStylable.idl:
128085        * svg/SVGTests.idl:
128086        * svg/SVGTextContentElement.idl:
128087        * webaudio/AudioNode.idl:
128088        * workers/SharedWorker.idl:
128089        * workers/WorkerContext.idl:
128090        * xml/DOMParser.idl:
128091        * xml/XMLSerializer.idl:
128092        * xml/XPathEvaluator.idl:
128093        * xml/XPathExpression.idl:
128094        * xml/XPathNSResolver.idl:
128095        * xml/XPathResult.idl:
128096
128097        * bindings/scripts/test/TestInterface.idl: Added test cases for [Optional],
128098        [Optional=TreatAsUndefined] and [Optional=TreatAsUndefined, TreatUndefinedAs=NullString]
128099        * bindings/scripts/test/TestNamedConstructor.idl: Renamed IDL attributes as described above.
128100        * bindings/scripts/test/TestObj.idl: Ditto.
128101
128102        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated run-bindings-tests results.
128103        (WebDOMTestObj::methodWithOptionalString):
128104        (WebDOMTestObj::methodWithOptionalIsTreatAsUndefinedString):
128105        (WebDOMTestObj::methodWithOptionalIsNullStringString):
128106        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
128107        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
128108        (webkit_dom_test_obj_method_with_optional_string):
128109        (webkit_dom_test_obj_method_with_optional_is_treat_as_undefined_string):
128110        (webkit_dom_test_obj_method_with_optional_is_null_string_string):
128111        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
128112        * bindings/scripts/test/JS/JSFloat64Array.cpp: Ditto.
128113        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
128114        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Ditto.
128115        (WebCore::jsTestActiveDOMObjectPrototypeFunctionExcitingFunction):
128116        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
128117        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
128118        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
128119        * bindings/scripts/test/JS/JSTestEventTarget.cpp: Ditto.
128120        (WebCore::jsTestEventTargetPrototypeFunctionItem):
128121        (WebCore::jsTestEventTargetPrototypeFunctionDispatchEvent):
128122        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
128123        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
128124        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
128125        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
128126        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
128127        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
128128        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
128129        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
128130        (WebCore):
128131        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
128132        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
128133        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
128134        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
128135        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
128136        (WebCore::jsTestObjPrototypeFunctionIdbKey):
128137        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
128138        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
128139        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
128140        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
128141        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
128142        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalString):
128143        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsTreatAsUndefinedString):
128144        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalIsNullStringString):
128145        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
128146        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
128147        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
128148        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
128149        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
128150        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
128151        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
128152        (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional):
128153        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
128154        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
128155        (WebCore::jsTestObjPrototypeFunctionConvert1):
128156        (WebCore::jsTestObjPrototypeFunctionConvert2):
128157        (WebCore::jsTestObjPrototypeFunctionConvert3):
128158        (WebCore::jsTestObjPrototypeFunctionConvert4):
128159        (WebCore::jsTestObjPrototypeFunctionConvert5):
128160        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
128161        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
128162        (WebCore):
128163        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
128164        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
128165        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
128166        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
128167        (-[DOMTestObj methodWithOptionalString:]):
128168        (-[DOMTestObj methodWithOptionalIsTreatAsUndefinedString:]):
128169        (-[DOMTestObj methodWithOptionalIsNullStringString:]):
128170        * bindings/scripts/test/V8/V8Float64Array.cpp: Ditto.
128171        (WebCore::Float64ArrayInternal::fooCallback):
128172        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Ditto.
128173        (WebCore::TestActiveDOMObjectInternal::excitingFunctionCallback):
128174        (WebCore::TestActiveDOMObjectInternal::postMessageCallback):
128175        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
128176        (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
128177        * bindings/scripts/test/V8/V8TestEventTarget.cpp: Ditto.
128178        (WebCore::TestEventTargetInternal::itemCallback):
128179        (WebCore::TestEventTargetInternal::dispatchEventCallback):
128180        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
128181        (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
128182        (WebCore::V8TestInterface::constructorCallback):
128183        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Ditto.
128184        (WebCore::TestMediaQueryListListenerInternal::methodCallback):
128185        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
128186        (WebCore::V8TestNamedConstructorConstructorCallback):
128187        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
128188        (WebCore::TestObjInternal::voidMethodWithArgsCallback):
128189        (WebCore::TestObjInternal::intMethodWithArgsCallback):
128190        (WebCore::TestObjInternal::objMethodWithArgsCallback):
128191        (WebCore::TestObjInternal::methodThatRequiresAllArgsAndThrowsCallback):
128192        (WebCore::TestObjInternal::idbKeyCallback):
128193        (WebCore::TestObjInternal::optionsObjectCallback):
128194        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
128195        (WebCore::TestObjInternal::methodWithOptionalArgCallback):
128196        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback):
128197        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
128198        (WebCore::TestObjInternal::methodWithOptionalStringCallback):
128199        (TestObjInternal):
128200        (WebCore::TestObjInternal::methodWithOptionalIsTreatAsUndefinedStringCallback):
128201        (WebCore::TestObjInternal::methodWithOptionalIsNullStringStringCallback):
128202        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback):
128203        (WebCore::TestObjInternal::overloadedMethod1Callback):
128204        (WebCore::TestObjInternal::overloadedMethod2Callback):
128205        (WebCore::TestObjInternal::overloadedMethod3Callback):
128206        (WebCore::TestObjInternal::overloadedMethod4Callback):
128207        (WebCore::TestObjInternal::overloadedMethod6Callback):
128208        (WebCore::TestObjInternal::overloadedMethod7Callback):
128209        (WebCore::TestObjInternal::classMethodWithOptionalCallback):
128210        (WebCore::TestObjInternal::overloadedMethod11Callback):
128211        (WebCore::TestObjInternal::overloadedMethod12Callback):
128212        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback):
128213        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback):
128214        (WebCore::TestObjInternal::convert1Callback):
128215        (WebCore::TestObjInternal::convert2Callback):
128216        (WebCore::TestObjInternal::convert3Callback):
128217        (WebCore::TestObjInternal::convert4Callback):
128218        (WebCore::TestObjInternal::convert5Callback):
128219        (WebCore::TestObjInternal::strictFunctionCallback):
128220        (WebCore):
128221        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp: Ditto.
128222        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
128223
1282242012-02-08  Kentaro Hara  <haraken@chromium.org>
128225
128226        Rename [HasNumericIndexGetter] to [NumericIndexedGetter]
128227        https://bugs.webkit.org/show_bug.cgi?id=78096
128228
128229        Reviewed by Adam Barth.
128230
128231        This patch renames [HasNumericIndexGetter] to [NumericIndexedGetter],
128232        for naming consistency with [IndexedGetter] and [CustomIndexedGetter].
128233
128234        No tests. No change in behavior.
128235
128236        * bindings/scripts/CodeGeneratorJS.pm:
128237        (GenerateGetOwnPropertySlotBody):
128238        (GenerateGetOwnPropertyDescriptorBody):
128239        (GenerateHeader):
128240        (GenerateImplementation):
128241        * bindings/scripts/CodeGeneratorV8.pm:
128242        (GenerateHeaderNamedAndIndexedPropertyAccessors):
128243        (GenerateImplementationIndexer):
128244
128245        * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
128246
128247        * html/canvas/CanvasPixelArray.idl:
128248        * html/canvas/Float32Array.idl:
128249        * html/canvas/Float64Array.idl:
128250        * html/canvas/Int16Array.idl:
128251        * html/canvas/Int32Array.idl:
128252        * html/canvas/Int8Array.idl:
128253        * html/canvas/Uint16Array.idl:
128254        * html/canvas/Uint32Array.idl:
128255        * html/canvas/Uint8Array.idl:
128256        * html/canvas/Uint8ClampedArray.idl:
128257
1282582012-02-08  Tony Chang  <tony@chromium.org>
128259
128260        refactor RenderFlexibleBox to return preferred sizes of all children
128261        https://bugs.webkit.org/show_bug.cgi?id=78169
128262
128263        Reviewed by Ojan Vafai.
128264
128265        This is in preparation for multi-line flexbox. We need the preferred
128266        size of each child so we can compute where the multi-line breaks happen.
128267
128268        No new tests, just refactoring.
128269
128270        * rendering/RenderFlexibleBox.cpp:
128271        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForChild): Renamed from preferredMainAxisContentExtentForFlexItem because
128272        other methods are ForChild rather than ForFlexItem.
128273        (WebCore::RenderFlexibleBox::layoutFlexItems):
128274        (WebCore::RenderFlexibleBox::computeMainAxisPreferredSizes):
128275        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
128276        * rendering/RenderFlexibleBox.h:
128277        (RenderFlexibleBox):
128278
1282792012-02-08  Shinya Kawanaka  <shinyak@google.com>
128280
128281        Stop calling Element::ensureShadowRoot() if it is used in construction phase.
128282        https://bugs.webkit.org/show_bug.cgi?id=77929
128283
128284        Reviewed by Hajime Morita.
128285
128286        ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
128287        So we want to remove Element::ensureShadowRoot().
128288        This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
128289
128290        No new tests, no change in behavior.
128291
128292        * dom/ShadowRoot.cpp:
128293        (WebCore::ShadowRoot::create):
128294          Initialize exception code before calling appendChild.
128295        * html/HTMLDetailsElement.cpp:
128296        (WebCore::HTMLDetailsElement::createShadowSubtree):
128297        * html/HTMLKeygenElement.cpp:
128298        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
128299        * html/HTMLMeterElement.cpp:
128300        (WebCore::HTMLMeterElement::createShadowSubtree):
128301        * html/HTMLProgressElement.cpp:
128302        (WebCore::HTMLProgressElement::createShadowSubtree):
128303        * html/HTMLSummaryElement.cpp:
128304        (WebCore::HTMLSummaryElement::createShadowSubtree):
128305        * html/HTMLTextAreaElement.cpp:
128306        (WebCore::HTMLTextAreaElement::createShadowSubtree):
128307
1283082012-02-08  David Reveman  <reveman@chromium.org>
128309
128310        [Chromium] Avoid unnecessary full tile updates without breaking atomicity of commits.
128311        https://bugs.webkit.org/show_bug.cgi?id=76740
128312
128313        Reviewed by James Robinson.
128314
128315        Allow the final batch of texture uploads to be performed without
128316        allocating new textures and re-painting complete tiles.
128317
128318        This patch is tested by the following unit test:
128319        - CCLayerTreeHostTestAtomicCommitWithPartialUpdate.runMultiThread
128320        - TiledLayerChromiumTest.partialUpdates
128321
128322        * platform/graphics/chromium/TiledLayerChromium.cpp:
128323        (WebCore::UpdatableTile::UpdatableTile):
128324        (UpdatableTile):
128325        (WebCore::TiledLayerChromium::updateCompositorResources):
128326        (WebCore):
128327        (WebCore::TiledLayerChromium::tileOnlyNeedsPartialUpdate):
128328        (WebCore::TiledLayerChromium::tileNeedsBufferedUpdate):
128329        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
128330        * platform/graphics/chromium/TiledLayerChromium.h:
128331        (TiledLayerChromium):
128332        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
128333        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
128334        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
128335        (WebCore::CCLayerTreeHost::updateLayers):
128336        (WebCore::CCLayerTreeHost::requestPartialTextureUpdate):
128337        (WebCore):
128338        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
128339        (WebCore::CCSettings::CCSettings):
128340        (CCSettings):
128341        (CCLayerTreeHost):
128342        * platform/graphics/chromium/cc/CCProxy.h:
128343        (CCProxy):
128344        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
128345        (WebCore::CCSingleThreadProxy::doCommit):
128346        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
128347        (WebCore::CCSingleThreadProxy::maxPartialTextureUpdates):
128348        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
128349        (WebCore::CCTextureUpdater::append):
128350        (WebCore):
128351        (WebCore::CCTextureUpdater::appendPartial):
128352        (WebCore::CCTextureUpdater::hasMoreUpdates):
128353        (WebCore::CCTextureUpdater::update):
128354        (WebCore::CCTextureUpdater::clear):
128355        * platform/graphics/chromium/cc/CCTextureUpdater.h:
128356        (CCTextureUpdater):
128357        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
128358        (WTF):
128359        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
128360        (WebCore::CCThreadProxy::maxPartialTextureUpdates):
128361        * platform/graphics/chromium/cc/CCThreadProxy.h:
128362        (CCThreadProxy):
128363
1283642012-02-07  MORITA Hajime  <morrita@google.com>
128365
128366        Replacement text should be available from the marker.
128367        https://bugs.webkit.org/show_bug.cgi?id=77934
128368
128369        Reviewed by Kent Tamura.
128370
128371        On spellchecking, TextCheckingResult can contain a replacement text
128372        which is usable both for an automatic replacement and for showing a suggestion.
128373
128374        But when marking a misspelled word ragarding to returned
128375        TextCheckingResult, Editor uses only the misspelled range data and
128376        discards the replacement value. Then it asks the same value again
128377        when showing suggestion/autocorrection.
128378
128379        It would be great if the marker holds the replacement text
128380        and Editor can use it on suggesting a correction, without any re-request.
128381        This is especially true in the case when it needs IPC messaging for spellchecking:
128382        We can save one round-trip by this technique.
128383
128384        Here is actual change:
128385
128386        - Passed the replacement text to addMarker() for for misspelling markers.
128387          Note that this is done only for the unified checker path because legacy
128388          TextCheckerClient API doesn't provide such a replacement.
128389        - Added an Internals API to retrieve a description text on a marker.
128390
128391        Test: editing/spelling/spelling-marker-description.html
128392
128393        * WebCore.exp.in:
128394        * editing/Editor.cpp:
128395        (WebCore::Editor::markAndReplaceFor):
128396        * testing/Internals.cpp:
128397        (WebCore::Internals::markerAt):
128398        (WebCore):
128399        (WebCore::Internals::markerRangeForNode):
128400        (WebCore::Internals::markerDescriptionForNode):
128401        * testing/Internals.h:
128402        (WebCore):
128403        (Internals):
128404        * testing/Internals.idl:
128405
1284062012-02-08  Eric Seidel  <eric@webkit.org>
128407
128408        Remove more cruft now that HTMLIsIndexElement is gone
128409        https://bugs.webkit.org/show_bug.cgi?id=77887
128410
128411        Reviewed by Darin Adler.
128412
128413        Just removing dead code, thus no tests.
128414        There is likely more to remove after this.
128415
128416        * CMakeLists.txt:
128417        * GNUmakefile.list.am:
128418        * Target.pri:
128419        * WebCore.gypi:
128420        * WebCore.vcproj/WebCore.vcproj:
128421        * WebCore.xcodeproj/project.pbxproj:
128422        * html/HTMLInputElement.cpp:
128423        * html/HTMLInputElement.h:
128424        (HTMLInputElement):
128425        * html/InputType.cpp:
128426        (WebCore::createInputTypeFactoryMap):
128427        * html/InputType.h:
128428        (InputTypeNames):
128429        * html/IsIndexInputType.cpp: Removed.
128430        * html/IsIndexInputType.h: Removed.
128431        * rendering/HitTestResult.cpp:
128432        (WebCore::HitTestResult::isContentEditable):
128433
1284342012-02-08  Andreas Kling  <awesomekling@apple.com>
128435
128436        Increased style sharing for elements with presentation attributes.
128437        <http://webkit.org/b/78199>
128438
128439        Reviewed by Antti Koivisto.
128440
128441        When determining whether two elements can share style, we can do a lot better.
128442        Instead of comparing the attribute maps for exact equality, do a property-by-property
128443        comparison of the attributeStyle() and the additionalAttributeStyle() (if any.)
128444
128445        This increases our style sharing hit rate and shaves 100ms off of each cycle on
128446        Chromium's "Moz" page cycler test on my machine.
128447
128448        The function that compares attribute styles has O(n^2) runtime in the worst case,
128449        where n is the number of properties in the styles. However, given the low number of
128450        properties found in attribute styles, this should be fine, and it doesn't seem to
128451        heat up in profiles.
128452
128453        * css/CSSStyleSelector.cpp:
128454        (WebCore::attributeStylesEqual):
128455        (WebCore::CSSStyleSelector::canShareStyleWithElement):
128456
1284572012-02-08  Raymond Liu  <raymond.liu@intel.com>
128458
128459        Fix the caculation of preDelayFrames in DynamicsCompressorKernel
128460        https://bugs.webkit.org/show_bug.cgi?id=78057
128461
128462        Reviewed by Chris Rogers.
128463
128464        No new tests required.
128465
128466        * platform/audio/DynamicsCompressorKernel.cpp:
128467        (WebCore::DynamicsCompressorKernel::setPreDelayTime):
128468
1284692012-02-08  Adam Klein  <adamk@chromium.org>
128470
128471        DOM mutations should not be delivered on worker threads
128472        https://bugs.webkit.org/show_bug.cgi?id=77898
128473
128474        Reviewed by Dmitry Titov.
128475
128476        In V8RecursionScope, only call WebKitMutationObserver::deliverAllMutations
128477        if in a Document context.
128478
128479        This is accomplished through a change to V8Proxy::instrumentedCallFunction
128480        (which now takes a Frame* instead of a Page*), requiring an update to all
128481        callers of that function (accounting for the majority of files changed
128482        in this patch).
128483
128484        Added ASSERT(isMainThread()) in a deliverAllMutations to confirm that
128485        it's no longer called on worker threads, and in enqueueMutationRecord,
128486        where the same global store of active observers is accessed.
128487
128488        See also http://crbug.com/112586, where the problem was initially
128489        reported.
128490
128491        * bindings/v8/ScriptFunctionCall.cpp:
128492        (WebCore::ScriptCallback::call):
128493        * bindings/v8/V8NodeFilterCondition.cpp:
128494        (WebCore::V8NodeFilterCondition::acceptNode):
128495        * bindings/v8/V8Proxy.cpp:
128496        (WebCore::V8Proxy::runScript):
128497        (WebCore::V8Proxy::callFunction):
128498        (WebCore::V8Proxy::instrumentedCallFunction):
128499        * bindings/v8/V8Proxy.h:
128500        (WebCore):
128501        (V8Proxy):
128502        * bindings/v8/V8RecursionScope.cpp:
128503        (WebCore::V8RecursionScope::didLeaveScriptContext):
128504        * bindings/v8/V8RecursionScope.h:
128505        (WebCore):
128506        (WebCore::V8RecursionScope::V8RecursionScope):
128507        (V8RecursionScope):
128508        (WebCore::V8RecursionScope::~V8RecursionScope):
128509        * bindings/v8/V8WindowErrorHandler.cpp:
128510        (WebCore::V8WindowErrorHandler::callListenerFunction):
128511        * bindings/v8/custom/V8CustomVoidCallback.cpp:
128512        (WebCore::invokeCallback):
128513        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
128514        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
128515        * dom/WebKitMutationObserver.cpp:
128516        (WebCore::WebKitMutationObserver::enqueueMutationRecord):
128517        (WebCore::WebKitMutationObserver::deliverAllMutations):
128518
1285192012-02-08  Anders Carlsson  <andersca@apple.com>
128520
128521        Don't use the wheel event handler count to track if a page has horizontal scrollbars
128522        https://bugs.webkit.org/show_bug.cgi?id=78192
128523
128524        Reviewed by Andreas Kling.
128525
128526        Stop calling Document::didAddWheelEventHandler and Document::didRemoveWheelEventHandler when
128527        adding and removing scrollbars.
128528
128529        * page/FrameView.cpp:
128530        * page/FrameView.h:
128531        (FrameView):
128532        * rendering/RenderLayer.cpp:
128533        * rendering/RenderLayer.h:
128534
1285352012-02-08  Igor Oliveira  <igor.o@sisa.samsung.com>
128536
128537        Implement reverse animation direction
128538
128539        Implement reverse animation direction
128540        https://bugs.webkit.org/show_bug.cgi?id=60525
128541
128542        Implement reverse and alternate-reverse direction.
128543
128544        Reviewed by Dean Jackson.
128545
128546        Tests: animations/animation-direction-alternate-reverse.html
128547               animations/animation-direction-reverse.html
128548               animations/fill-mode-reverse.html
128549
128550        * css/CSSParser.cpp:
128551        (WebCore::CSSParser::parseAnimationDirection):
128552        * css/CSSStyleSelector.cpp:
128553        (WebCore::CSSStyleSelector::mapAnimationDirection):
128554        * css/CSSValueKeywords.in:
128555        * page/WebKitAnimation.cpp:
128556        (WebCore::WebKitAnimation::direction):
128557        * page/WebKitAnimation.h:
128558        * page/animation/AnimationBase.cpp:
128559        (WebCore::AnimationBase::fractionalTime):
128560        * platform/animation/Animation.h:
128561        (Animation):
128562        * platform/graphics/texmap/TextureMapperAnimation.cpp:
128563        (WebCore):
128564        (WebCore::shouldReverseAnimationValue):
128565        (WebCore::normalizedAnimationValue):
128566
1285672012-02-08  James Robinson  <jamesr@chromium.org>
128568
128569        [chromium] Avoid creating a temporary GraphicsContext3D if someone requests the WebView's GraphicsContext3D before initialization is complete
128570        https://bugs.webkit.org/show_bug.cgi?id=78154
128571
128572        Reviewed by Kenneth Russell.
128573
128574        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
128575        (WebCore::CCSingleThreadProxy::context):
128576
1285772012-02-08  David Hyatt  <hyatt@apple.com>
128578
128579        https://bugs.webkit.org/show_bug.cgi?id=78157
128580        
128581        Make multi-column layout work with line grids that are outside of the multi-column
128582        block.
128583
128584        Reviewed by Dan Bernstein.
128585
128586        Added new tests in fast/line-grid.
128587
128588        * rendering/LayoutState.cpp:
128589        (WebCore::LayoutState::LayoutState):
128590        (WebCore::LayoutState::propagateLineGridInfo):
128591        (WebCore::LayoutState::establishLineGrid):
128592        (WebCore):
128593        (WebCore::LayoutState::computeLineGridPaginationOrigin):
128594        * rendering/LayoutState.h:
128595        (WebCore::LayoutState::LayoutState):
128596        (WebCore::LayoutState::lineGrid):
128597        (WebCore::LayoutState::lineGridOffset):
128598        (WebCore::LayoutState::lineGridPaginationOrigin):
128599        (WebCore::LayoutState::needsBlockDirectionLocationSetBeforeLayout):
128600        (LayoutState):
128601        * rendering/RenderBlock.cpp:
128602        (WebCore::RenderBlock::layoutBlockChildren):
128603        * rendering/RenderBlockLineLayout.cpp:
128604        (WebCore::RenderBlock::layoutInlineChildren):
128605        * rendering/RenderView.h:
128606        (WebCore::RenderView::pushLayoutState):
128607        * rendering/RootInlineBox.cpp:
128608        (WebCore::RootInlineBox::lineGridSnapAdjustment):
128609
1286102012-02-08  Matthew Delaney  <mdelaney@apple.com>
128611
128612        GeneratorGeneratedImage::drawPattern does not factor in its destination context's scale when generating its image tiles
128613
128614        https://bugs.webkit.org/show_bug.cgi?id=67729
128615        <rdar://problem/10087050>
128616
128617        Reviewed by Beth Dakin.
128618
128619        No new tests, current pixel tests will cover this. Though some pixel results might improve to become less pixel-y.
128620
128621        * platform/graphics/GeneratorGeneratedImage.cpp:
128622        (WebCore::GeneratorGeneratedImage::draw): Updated context to destContext for consistency.
128623        (WebCore::GeneratorGeneratedImage::drawPattern): Taught drawPattern about the destination
128624        scale factor to avoid having low-res generated images such as gradients in certain cases.
128625        * platform/graphics/GraphicsContext.cpp:
128626        (WebCore::GraphicsContext::createCompatibleBuffer): Have the image buffer match the
128627        context acceleration setting as well.
128628
1286292012-02-08  Adam Klein  <adamk@chromium.org>
128630
128631        Simplify and correct mutation delivery timing for JSC
128632        https://bugs.webkit.org/show_bug.cgi?id=78172
128633
128634        Reviewed by Adam Barth.
128635
128636        Instead of keeping a static recursion counter in JSMainThreadExecState,
128637        simply wait for a state change from non-null ExecState to null ExecState.
128638        Because s_mainThreadState is initially null, this equivalent to
128639        waiting for s_recursionLevel to rewind to zero.
128640
128641        This also properly handles the usage of JSMainThreadNullState (and
128642        does not do mutation delivery), since that class is only used by
128643        non-JS bindings. Now fast/mutation/end-of-task-delivery.html properly
128644        fails, whereas it was passing before due to usage of the ObjC DOM API
128645        from DumpRenderTree.
128646
128647        * bindings/js/JSMainThreadExecState.cpp:
128648        (WebCore):
128649        * bindings/js/JSMainThreadExecState.h: Added a comment explaining the purpose of JSMainThreadNullState.
128650        (WebCore::JSMainThreadExecState::JSMainThreadExecState):
128651        (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
128652        (JSMainThreadExecState):
128653        (WebCore):
128654
1286552012-02-08  Kentaro Hara  <haraken@chromium.org>
128656
128657        Remove [ConvertToString] from CodeGeneratorCPP.pm and rename
128658        it to [ObjCImplementedAsUnsignedLong]
128659        https://bugs.webkit.org/show_bug.cgi?id=78100
128660
128661        Reviewed by Eric Seidel.
128662
128663        Now [ConvertToString] is used by ObjC's HTMLElement.size only.
128664        This patch removes [ConvertToString] code from CodeGeneratorCPP.pm,
128665        and renames [ConvertToString] to [ObjCImplementedAsUnsignedLong].
128666
128667        No tests. No change in behavior.
128668
128669        * bindings/scripts/CodeGeneratorCPP.pm:
128670        (GenerateImplementation):
128671        * bindings/scripts/CodeGeneratorObjC.pm:
128672        (GenerateImplementation):
128673        * html/HTMLInputElement.idl: Removed FIXME comment, because the latest spec
128674        says HTMLInputElement.size should be unsigned long.
128675        (http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#the-input-element)
128676
1286772012-02-08  Leo Yang  <leo.yang@torchmobile.com.cn>
128678
128679        REGRESSION(r84194): Build fails when turning on ENABLE_FILE_SYSTEM
128680        https://bugs.webkit.org/show_bug.cgi?id=78088
128681
128682        Reviewed by Antonio Gomes.
128683
128684        WebCore::getDOMObjectWrapper was changed to WebCore::wrap in r84194.
128685        Adapt to this change in JSEntryCustom.cpp and JSEntrySyncCustom.cpp.
128686
128687        Build fix, no new tests.
128688
128689        * bindings/js/JSEntryCustom.cpp:
128690        (WebCore::toJS):
128691        * bindings/js/JSEntrySyncCustom.cpp:
128692        (WebCore::toJS):
128693
1286942012-02-08  Dana Jansens  <danakj@chromium.org>
128695
128696        [Chromium] Fix opaque tracking for box shadows and non-composited child elements
128697        https://bugs.webkit.org/show_bug.cgi?id=78073
128698
128699        Reviewed by Stephen White.
128700
128701        Tests: compositing/culling/scrolled-within-boxshadow.html
128702               compositing/culling/translated-boxshadow.html
128703
128704        Unit tests: PlatformContextSkiaTest.cpp
128705
128706        When painting a box shadow, a filter is applied to the skia canvas, that can make
128707        pixels painted with an opaque color end up non-opaque. So consider image/mask/color
128708        filters when deciding if a paint is opaque.
128709
128710        Also when painting the background of an element with a box shadow, the background is
128711        painted with a transform on the skia canvas based on the size of the box shadow. This
128712        transform needs to be considered when tracking an opaque paint.
128713
128714        However, when a layer's contentRect position is non-zero, we translate the GraphicsContext
128715        to put the contentRect at 0,0 in the skia canvas. For tracking opaque regions in the resulting
128716        layer, we need to unto this translation. Scaling can also occur which we must undo. So we pass
128717        the transform in to PlatformContextSkia to go from the SkCanvas back to the layer's content
128718        coordinate space. Opaque paints can then be tracked in the layer's content space rather than
128719        in the skia canvas space.
128720
128721        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
128722        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
128723        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp:
128724        (WebCore::CanvasLayerTextureUpdater::paintContents):
128725        * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
128726        (WebCore):
128727        (CanvasLayerTextureUpdater):
128728        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
128729        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
128730        * platform/graphics/skia/OpaqueRegionSkia.cpp:
128731        (WebCore::paintIsOpaque):
128732        (WebCore::OpaqueRegionSkia::didDrawRect):
128733        (WebCore::OpaqueRegionSkia::didDrawPath):
128734        (WebCore::OpaqueRegionSkia::didDrawPoints):
128735        (WebCore::OpaqueRegionSkia::didDrawBounded):
128736        (WebCore::OpaqueRegionSkia::didDraw):
128737        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
128738        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
128739        * platform/graphics/skia/OpaqueRegionSkia.h:
128740        (WebCore):
128741        (OpaqueRegionSkia):
128742        * platform/graphics/skia/PlatformContextSkia.cpp:
128743        (WebCore::PlatformContextSkia::didDrawRect):
128744        (WebCore::PlatformContextSkia::didDrawPath):
128745        (WebCore::PlatformContextSkia::didDrawPoints):
128746        (WebCore::PlatformContextSkia::didDrawBounded):
128747        * platform/graphics/skia/PlatformContextSkia.h:
128748        (PlatformContextSkia):
128749        (WebCore::PlatformContextSkia::setOpaqueRegionTransform):
128750
1287512012-02-08  Kentaro Hara  <haraken@chromium.org>
128752
128753        Remove [CustomHeader] from CanvasPixelArray and rename [CustomHeader] to [JSCustomHeader]
128754        https://bugs.webkit.org/show_bug.cgi?id=78089
128755
128756        Reviewed by Adam Barth.
128757
128758        This patch removes [CustomHeader] from CanvasPixelArray.idl, since CanvasPixelArrayCustom.h
128759        does not exist. (The reason why missing CanvasPixelArrayCustom.h has not caused build failure
128760        is that [CustomHeader] has been JSC-specific and JSC has not enabled CanvasPixelArray.)
128761        Also, this patch renames [CustomHeader] to [JSCustomHeader], since whether a given class
128762        should have custom header or not will depend on JavaScript bindings.
128763
128764        No tests. No change in behavior.
128765
128766        * bindings/scripts/CodeGeneratorJS.pm:
128767        (GenerateHeader):
128768        * dom/Node.idl:
128769        * html/canvas/CanvasPixelArray.idl:
128770
1287712012-02-08  Zalan Bujtas  <zbujtas@gmail.com>
128772
128773        Dispatch updateViewportArguments(), when Document is finished
128774        restoring from page cache.
128775
128776        https://bugs.webkit.org/show_bug.cgi?id=77943
128777
128778        Reviewed by Kenneth Rohde Christiansen.
128779
128780        Move updateViewportArguments() call from setPageInCache() to
128781        documentDidResumeFromPageCache() to ensure, that the Document is
128782        fully resumed from the page cache and attached to the mainframe,
128783        when the viewport arguments are updated.
128784
128785        No tests. No change in behaviour.
128786
128787        * dom/Document.cpp:
128788        (WebCore::Document::setInPageCache):
128789        (WebCore::Document::documentDidResumeFromPageCache):
128790
1287912012-02-08  Shawn Singh  <shawnsingh@chromium.org>
128792
128793        [chromium] Remove incorrect early exit in CCDamageTracker
128794        https://bugs.webkit.org/show_bug.cgi?id=76924
128795
128796        Reviewed by James Robinson.
128797
128798        New unit test added to CCDamageTrackerTest.cpp
128799
128800        This patch does three things: (1) adds unit test that demonstrates
128801        that early exiting in CCDamageTracker is wrong, (2) removes the
128802        early exit and cleans up the surrounding code, and (3) re-names
128803        several functions in CCDamageTracker so that state updating is
128804        implied by the name, and not just a bad side-effect of the functions.
128805
128806        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
128807        (WebCore::CCDamageTracker::updateDamageTrackingState):
128808        (WebCore::CCDamageTracker::trackDamageFromActiveLayers):
128809        (WebCore::CCDamageTracker::trackDamageFromSurfaceMask):
128810        (WebCore::CCDamageTracker::trackDamageFromLeftoverRects):
128811        * platform/graphics/chromium/cc/CCDamageTracker.h:
128812        (CCDamageTracker):
128813        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
128814        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
128815
1288162012-02-08  James Robinson  <jamesr@chromium.org>
128817
128818        [chromium] Check that we can make the SharedGraphicsContext3D current before returning
128819        https://bugs.webkit.org/show_bug.cgi?id=78142
128820
128821        Reviewed by Stephen White.
128822
128823        If we can't make the context current, we can't use it.
128824
128825        * platform/graphics/gpu/SharedGraphicsContext3D.cpp:
128826        (WebCore::SharedGraphicsContext3D::get):
128827
1288282012-02-08  Abhishek Arya  <inferno@chromium.org>
128829
128830        Crash in Node::normalize.
128831        https://bugs.webkit.org/show_bug.cgi?id=78135
128832
128833        Reviewed by Ryosuke Niwa.
128834
128835        No new tests. Original testcase does not reduce to manageable
128836        extent.
128837
128838        * dom/Node.cpp:
128839        (WebCore::Node::normalize):
128840
1288412012-02-08  Antoine Labour  <piman@chromium.org>
128842
128843        Make WebGL context current early to check validity
128844        https://bugs.webkit.org/show_bug.cgi?id=78141
128845
128846        Reviewed by James Robinson.
128847
128848        Covered by existing tests
128849
128850        * html/canvas/WebGLRenderingContext.cpp:
128851        (WebCore):
128852        (WebCore::WebGLRenderingContext::create):
128853
1288542012-02-08  Jonathan Backer  <backer@chromium.org>
128855
128856        [chromium] Disable root layer clears on release builds.
128857        https://bugs.webkit.org/show_bug.cgi?id=77478
128858
128859        Reviewed by James Robinson.
128860
128861        * platform/graphics/chromium/LayerRendererChromium.cpp:
128862        (WebCore::LayerRendererChromium::clearRenderSurface):
128863        (WebCore::LayerRendererChromium::drawRenderPass):
128864        * platform/graphics/chromium/LayerRendererChromium.h:
128865        (LayerRendererChromium):
128866
1288672012-02-08  Anders Carlsson  <andersca@apple.com>
128868
128869        Add a content shadow layer to the render layer compositor
128870        https://bugs.webkit.org/show_bug.cgi?id=78133
128871        <rdar://problem/10797742>
128872
128873        Reviewed by Beth Dakin.
128874
128875        Have the render layer compositor optionally create a content shadow layer,
128876        and add a ScrollbarTheme::setUpContentShadowLayer member function that subclasses
128877        can use to set content shadow properties.
128878
128879        * platform/mac/ScrollbarThemeMac.mm:
128880        (WebCore::ScrollbarThemeMac::setUpContentShadowLayer):
128881        Set the layer properties once, and set the shadow path on every call, since we know that this
128882        function will be called every time the size of the content shadow layer changes.
128883
128884        * rendering/RenderLayerCompositor.cpp:
128885        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
128886        Reposition the content shadow layer, and call ScrollbarTheme::setUpContentShadowLayer if the size changes.
128887
128888        (WebCore::RenderLayerCompositor::requiresContentShadowLayer):
128889        Add new helper function.
128890
128891        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
128892        Create a content shadow layer if needed.
128893
1288942012-02-07  Andy Estes  <aestes@apple.com>
128895
128896        REGRESSION (r102983): ClicktoFlash drawing of old style youtube embeds missing until resize
128897        https://bugs.webkit.org/show_bug.cgi?id=77167
128898
128899        Reviewed by Eric Seidel.
128900
128901        Test: plugins/layout-in-beforeload-listener-affects-plugin-loading.html
128902
128903        r102983 made FrameView::updateWidgets() check if the DOM node actually
128904        needs a widget update before calling updateWidget(). Due to historical
128905        reasons, however, updateWidget() can be legitimately called twice: once
128906        at attach time for non-Netscape plug-ins and once at layout time for
128907        Netscape plug-ins.
128908
128909        If the widget represents a Netscape plug-in, but updateWidget() is
128910        called for the CreateOnlyNonNetscapePlugins case after the DOM node was
128911        marked as needing an update, updateWidget() will clear the update flag
128912        and prevent a second call to updateWidget() at layout time for the
128913        CreateAnyWidgetType case.
128914
128915        As much as I loathe adding to the code duplication between
128916        HTMLEmbedElement::updateWidget() and HTMLObjectElement::updateWidget(),
128917        the simplest solution seems to be marking the DOM node as needing
128918        update in the case where we are calling updateWidget() for the
128919        CreateOnlyNonNetscapePlugins case and we know we will be loading a
128920        Netscape plug-in.
128921
128922        * html/HTMLEmbedElement.cpp:
128923        (WebCore::HTMLEmbedElement::updateWidget): Call
128924        setNeedsWidgetUpdate(true) if pluginCreationOption is
128925        CreateOnlyNonNetscapePlugins but we will load a Netscape plug-in.
128926        * html/HTMLObjectElement.cpp:
128927        (WebCore::HTMLObjectElement::updateWidget): Ditto.
128928        * html/HTMLPlugInElement.cpp:
128929        (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent): Remove an
128930        invalid assertion that prevents the layout test from running in a Debug
128931        configuration.
128932
1289332012-02-07  Ojan Vafai  <ojan@chromium.org>
128934
128935        Floated flexboxes render as regular RenderBlocks
128936        https://bugs.webkit.org/show_bug.cgi?id=77909
128937
128938        Reviewed by Eric Seidel.
128939
128940        Add grid/flexbox cases to adjusting the display of floated/positioned
128941        elements. Also, move this logic into a switch statement. This makes
128942        the code more readable and gives compile warnings when new display types
128943        are added that aren't handled here.
128944
128945        Test: css3/flexbox/floated-flexbox.html
128946
128947        * css/CSSStyleSelector.cpp:
128948        (WebCore::adjustDisplay):
128949        (WebCore):
128950        (WebCore::CSSStyleSelector::adjustRenderStyle):
128951
1289522012-02-08  Dirk Schulze  <krit@webkit.org>
128953
128954        viewBox on nested SVG causes wrong content size for relative values
128955        https://bugs.webkit.org/show_bug.cgi?id=69459
128956
128957        Reviewed by Nikolas.
128958
128959        In the past we just checked the change of the viewport size of the root SVG element. If the size changed, all childs
128960        with relative length values needed a relayout. We did not consider that we might have other viewports in the document.
128961        Childs with relative lengths had a strange zooming, if just the viewport size of an inner SVG element changed.
128962
128963        With this patch we check if the size of the nearest viewport changes. Is this the case, childs with relative lengths
128964        need a relayout.
128965
128966        Test: inner-svg-change-viewBox.svg
128967
128968        * rendering/svg/RenderSVGContainer.cpp:
128969        (WebCore::RenderSVGContainer::layout):
128970        * rendering/svg/RenderSVGContainer.h:
128971        (RenderSVGContainer):
128972        (WebCore::RenderSVGContainer::determineIfLayoutSizeChanged): Check if we need layout and have relative length values.
128973        * rendering/svg/RenderSVGRoot.cpp:
128974        (WebCore::RenderSVGRoot::layout): Remove resetting 'viewport size changed' flag for code operability. No influence on the layout.
128975        * rendering/svg/RenderSVGViewportContainer.cpp:
128976        (WebCore::RenderSVGViewportContainer::RenderSVGViewportContainer): Add a flag that indicates that the viewport size changes.
128977        (WebCore::RenderSVGViewportContainer::determineIfLayoutSizeChanged): The flag gets set during the layout phase of the SVG element if the size changes.
128978        (WebCore):
128979        * rendering/svg/RenderSVGViewportContainer.h:
128980        (WebCore::RenderSVGViewportContainer::isLayoutSizeChanged): Added getter to get flag status.
128981        (RenderSVGViewportContainer):
128982        (WebCore::toRenderSVGViewportContainer): Added casting function for constant RenderObjects.
128983        (WebCore):
128984        * rendering/svg/SVGRenderSupport.cpp:
128985        (WebCore::layoutSizeOfNearestViewportChanged): Search the nearest viewport and check if the size changed.
128986        (WebCore):
128987        (WebCore::SVGRenderSupport::layoutChildren): Don't check the roots viewport for size changes, but the nearest viewport.
128988        * svg/SVGSVGElement.cpp:
128989        (WebCore::SVGSVGElement::svgAttributeChanged): Added viewBoxAttr to the list of attributes that cause relayout.
128990
1289912012-02-08  Gregg Tavares  <gman@google.com>
128992
128993        Implement new WEBGL compressed texture extensions
128994        https://bugs.webkit.org/show_bug.cgi?id=77066
128995
128996        This removes the old experimental compressed
128997        texture extension and implements the first new
128998        one.
128999
129000        A test is in the WebGL conformance tests in
129001        extensions/webgl-compressed-texture-s3tc.html
129002        and will be copied here in a future patch.
129003
129004        Reviewed by Kenneth Russell.
129005
129006        No new tests. Test coming in future patch.
129007
129008        * CMakeLists.txt:
129009        * DerivedSources.make:
129010        * GNUmakefile.list.am:
129011        * Target.pri:
129012        * WebCore.gypi:
129013        * WebCore.xcodeproj/project.pbxproj:
129014        * bindings/js/JSWebGLRenderingContextCustom.cpp:
129015        (WebCore::toJS):
129016        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
129017        (WebCore::toV8Object):
129018        * html/canvas/WebGLCompressedTextureS3TC.cpp: Added.
129019        (WebCore):
129020        (WebCore::WebGLCompressedTextureS3TC::WebGLCompressedTextureS3TC):
129021        (WebCore::WebGLCompressedTextureS3TC::~WebGLCompressedTextureS3TC):
129022        (WebCore::WebGLCompressedTextureS3TC::getName):
129023        (WebCore::WebGLCompressedTextureS3TC::create):
129024        (WebCore::WebGLCompressedTextureS3TC::supported):
129025        * html/canvas/WebGLCompressedTextureS3TC.h: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
129026        (WebCore):
129027        (WebGLCompressedTextureS3TC):
129028        * html/canvas/WebGLCompressedTextureS3TC.idl: Renamed from Source/WebCore/html/canvas/WebGLCompressedTextures.idl.
129029        * html/canvas/WebGLCompressedTextures.cpp: Removed.
129030        * html/canvas/WebGLCompressedTextures.h: Removed.
129031        * html/canvas/WebGLExtension.h:
129032        * html/canvas/WebGLGetInfo.cpp:
129033        (WebCore::WebGLGetInfo::WebGLGetInfo):
129034        (WebCore):
129035        (WebCore::WebGLGetInfo::getWebGLUnsignedIntArray):
129036        * html/canvas/WebGLGetInfo.h:
129037        * html/canvas/WebGLObject.cpp:
129038        * html/canvas/WebGLRenderingContext.cpp:
129039        (WebCore):
129040        (WebCore::WebGLRenderingContext::addCompressedTextureFormat):
129041        (WebCore::WebGLRenderingContext::compressedTexImage2D):
129042        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
129043        (WebCore::WebGLRenderingContext::getExtension):
129044        (WebCore::WebGLRenderingContext::getParameter):
129045        (WebCore::WebGLRenderingContext::getSupportedExtensions):
129046        (WebCore::WebGLRenderingContext::validateCompressedTexFormat):
129047        (WebCore::WebGLRenderingContext::validateCompressedTexFuncData):
129048        (WebCore::WebGLRenderingContext::validateCompressedTexDimensions):
129049        (WebCore::WebGLRenderingContext::validateCompressedTexSubDimensions):
129050        * html/canvas/WebGLRenderingContext.h:
129051        (WebCore):
129052        (WebGLRenderingContext):
129053        * html/canvas/WebGLRenderingContext.idl:
129054
1290552012-02-08  Ilya Tikhonovsky  <loislo@chromium.org>
129056
129057        Web Inspector: heap snapshot: implement Distance column in Object's retaining tree.
129058        https://bugs.webkit.org/show_bug.cgi?id=78113
129059
129060        Retaining path list was replaced with Retaining tree some time ago.
129061        But it was not so useful when we want to track the retaining path from an object to a DOM Window node.
129062
129063        Drive by fix: sort doesn't work in retaining tree panel.
129064        Drive by fix: save/load child nodes doesn't work for the retaining tree panel.
129065
129066        Reviewed by Yury Semikhatsky.
129067
129068        * inspector/front-end/DetailedHeapshotGridNodes.js:
129069        (WebInspector.HeapSnapshotObjectNode):
129070        (WebInspector.HeapSnapshotObjectNode.prototype._childHashForEntity): save/load children fix
129071        (WebInspector.HeapSnapshotObjectNode.prototype._childHashForNode): save/load children fix
129072        (WebInspector.HeapSnapshotObjectNode.prototype.comparator):
129073        (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
129074        * inspector/front-end/DetailedHeapshotView.js:
129075        (WebInspector.HeapSnapshotContainmentDataGrid):
129076        (WebInspector.HeapSnapshotRetainmentDataGrid):
129077        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype._sortFields):
129078        * inspector/front-end/HeapSnapshot.js:
129079        (WebInspector.HeapSnapshotRetainerEdge.prototype.set retainerIndex):
129080        (WebInspector.HeapSnapshotRetainerEdge.prototype.set edgeIndex):
129081        (WebInspector.HeapSnapshotRetainerEdge.prototype.get _node):
129082        (WebInspector.HeapSnapshotRetainerEdge.prototype.get _edge):
129083        (WebInspector.HeapSnapshotNode.prototype.get distanceToWindow):
129084        (WebInspector.HeapSnapshot.prototype._init):
129085        (WebInspector.HeapSnapshot.prototype._buildRetainers):
129086        (WebInspector.HeapSnapshot.prototype._calculateObjectToWindowDistance):
129087        (WebInspector.HeapSnapshot.prototype._bfs):
129088        (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
129089        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeFieldName):
129090        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeField):
129091        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareEdgeAndNode):
129092        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndEdge):
129093        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort.compareNodeAndNode):
129094        (WebInspector.HeapSnapshotEdgesProvider.prototype.sort):
129095        (WebInspector.HeapSnapshotNodesProvider.prototype._serialize):
129096        * inspector/front-end/heapProfiler.css:
129097        (.detailed-heapshot-view .data-grid td.distanceToWindow-column):
129098
1290992012-02-08  Anders Carlsson  <andersca@apple.com>
129100
129101        Fix assertion in svg/dom/SVGStyledElement-pendingResource-crash.html
129102        https://bugs.webkit.org/show_bug.cgi?id=78126
129103
129104        Reviewed by Dan Bernstein.
129105
129106        This broke in r106977 when I tried to change an early return into an ASSERT,
129107        so let's bring back the early return.
129108
129109        * page/FrameView.cpp:
129110        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
129111
1291122012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
129113
129114        Unreviewed, rolling out r106920, r106924, r106933, r106939,
129115        and r107090.
129116        http://trac.webkit.org/changeset/106920
129117        http://trac.webkit.org/changeset/106924
129118        http://trac.webkit.org/changeset/106933
129119        http://trac.webkit.org/changeset/106939
129120        http://trac.webkit.org/changeset/107090
129121        https://bugs.webkit.org/show_bug.cgi?id=78124
129122
129123        Something is completely wrong this change (Requested by
129124        Ossy_gardener on #webkit).
129125
129126        * platform/FileSystem.h:
129127        (WebCore):
129128        * platform/qt/FileSystemQt.cpp:
129129
1291302012-02-08  David Hyatt  <hyatt@apple.com>
129131
129132        https://bugs.webkit.org/show_bug.cgi?id=78122
129133        
129134        Add support for the "contains" value for line-grid-snap. This value centers the line box in between the
129135        text-top and text-bottom of the minimum number of grid lines that enclose the line box. This is useful for
129136        centering headers in a line grid.
129137
129138        Reviewed by Adam Roben.
129139
129140        Added a new test in fast/line-grid.
129141
129142        * rendering/RootInlineBox.cpp:
129143        (WebCore::RootInlineBox::lineGridSnapAdjustment):
129144
1291452012-02-08  Cary Clark  <caryclark@google.com>
129146
129147        [Skia Mac] Make misspelling underline dots unclipped
129148        https://bugs.webkit.org/show_bug.cgi?id=78117
129149        http://code.google.com/p/chromium/issues/detail?id=113154
129150
129151        Reviewed by Stephen White.
129152
129153        No new tests. Existing layout tests cover this.
129154
129155        As is done on the CoreGraphics Mac platform, adjust the
129156        underline width to remove partial dots, not including the
129157        trailing transparent pixel column.
129158
129159        * platform/graphics/skia/GraphicsContextSkia.cpp:
129160        (WebCore::GraphicsContext::drawLineForTextChecking):
129161
1291622012-02-08  Pavel Feldman  <pfeldman@google.com>
129163
129164        Web Inspector: bind entire subtree upon childNodeInserted so that text node were accounted.
129165        https://bugs.webkit.org/show_bug.cgi?id=78116
129166
129167        Reviewed by Yury Semikhatsky.
129168
129169        * inspector/front-end/DOMAgent.js:
129170        (WebInspector.DOMNode):
129171        (WebInspector.DOMDocument):
129172        (WebInspector.DOMAgent.prototype._setDocument):
129173        (WebInspector.DOMAgent.prototype._setDetachedRoot):
129174        (WebInspector.DOMAgent.prototype._setChildNodes):
129175        (WebInspector.DOMAgent.prototype._childNodeRemoved):
129176        (WebInspector.DOMAgent.prototype._unbind):
129177
1291782012-02-08  Peter Rybin  <peter.rybin@gmail.com>
129179
129180        Web Inspector: Optional out arguments are not supported in the Web Inspector protocol, which breaks the implementation
129181        https://bugs.webkit.org/show_bug.cgi?id=77967
129182
129183        Reviewed by Yury Semikhatsky.
129184
129185        Condition for RefPtr-based types added. This is more-or-less a hack
129186        and it's should be redone together with the switch to type-safe API.
129187
129188        * inspector/CodeGeneratorInspector.py:
129189        (Generator.process_command):
129190
1291912012-02-07  Yury Semikhatsky  <yurys@chromium.org>
129192
129193        Web Inspector: inspected object wrapper should be released by InjectedScript when popover closes
129194        https://bugs.webkit.org/show_bug.cgi?id=77972
129195
129196        When object popover is shown the object under cursor is resolved and its
129197        wrapper is put into 'popover' object wrapper group. The group is discarded
129198        when the popover closes.
129199
129200        Reviewed by Pavel Feldman.
129201
129202        * bindings/js/ScriptProfiler.cpp:
129203        (WebCore::ScriptProfiler::objectByHeapObjectId):
129204        * bindings/js/ScriptProfiler.h:
129205        (WebCore):
129206        (ScriptProfiler):
129207        * bindings/v8/ScriptProfiler.cpp:
129208        (WebCore::ScriptProfiler::objectByHeapObjectId):
129209        (WebCore):
129210        * bindings/v8/ScriptProfiler.h:
129211        (WebCore):
129212        (ScriptProfiler):
129213        * inspector/Inspector.json:
129214        * inspector/InspectorProfilerAgent.cpp:
129215        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
129216        * inspector/InspectorProfilerAgent.h:
129217        (InspectorProfilerAgent):
129218        * inspector/front-end/DetailedHeapshotGridNodes.js:
129219        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
129220        * inspector/front-end/DetailedHeapshotView.js:
129221        (WebInspector.DetailedHeapshotView.prototype._resolveObjectForPopover):
129222        * inspector/front-end/JavaScriptSourceFrame.js:
129223        (WebInspector.JavaScriptSourceFrame):
129224        (WebInspector.JavaScriptSourceFrame.prototype._resolveObjectForPopover):
129225        (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
129226        * inspector/front-end/ObjectPopoverHelper.js:
129227        (WebInspector.ObjectPopoverHelper):
129228        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
129229        (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
129230
1292312012-02-08  Mario Sanchez Prada  <msanchez@igalia.com>
129232
129233        [Gtk] atk_text_get_text_at_offset() fails to provide the correct line for list items whose text wraps
129234        https://bugs.webkit.org/show_bug.cgi?id=73431
129235
129236        Reviewed by Chris Fleizach.
129237
129238        Don't replace item's markers with the objectReplacementCharacter
129239        character, as they will be treated in an special way later on.
129240
129241        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
129242        (textForRenderer): Don't append the objectReplacementCharacter
129243        character for list item's markers.
129244
1292452012-02-08  Pavel Feldman  <pfeldman@google.com>
129246
129247        Web Inspector: do not clear entire tree map upon last element deletion.
129248        https://bugs.webkit.org/show_bug.cgi?id=78112
129249
129250        Reviewed by Yury Semikhatsky.
129251
129252        * inspector/front-end/treeoutline.js:
129253        (TreeOutline.prototype._forgetChildrenRecursive):
129254
1292552012-02-08  Kaustubh Atrawalkar  <kaustubh@motorola.com>
129256
129257        Migrate createObjectURL & revokeObjectURL to static (Class) methods.
129258        https://bugs.webkit.org/show_bug.cgi?id=74386
129259
129260        Reviewed by Kentaro Hara.
129261
129262        Move createObjectURL & revokeObjectURL from DOMURL implementation to
129263        static methods as per specs - http://www.w3.org/TR/FileAPI/#creating-revoking
129264
129265        Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
129266        Already Existing:
129267            fast/files/revoke-blob-url.html
129268            fast/dom/window-domurl-crash.html
129269            fast/files/apply-blob-url-to-img.html
129270            fast/files/create-blob-url-crash.html
129271            fast/files/workers/inline-worker-via-blob-url.html
129272
129273        * GNUmakefile.list.am:
129274        * Target.pri:
129275        * WebCore.gypi:
129276        * WebCore.vcproj/WebCore.vcproj:
129277        * WebCore.xcodeproj/project.pbxproj:
129278        * dom/ScriptExecutionContext.cpp:
129279        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
129280        (WebCore::ScriptExecutionContext::fileThread):
129281        (WebCore):
129282        (WebCore::ScriptExecutionContext::publicURLManager):
129283        * dom/ScriptExecutionContext.h:
129284        (WebCore):
129285        (ScriptExecutionContext):
129286        * html/DOMURL.cpp:
129287        (WebCore):
129288        (WebCore::DOMURL::createObjectURL): Changed to static.
129289        (WebCore::DOMURL::revokeObjectURL): ditto.
129290        * html/DOMURL.h:
129291        (DOMURL):
129292        (WebCore::DOMURL::create):
129293        * html/DOMURL.idl:
129294        * html/PublicURLManager.h: Added.
129295        (WebCore):
129296        (PublicURLManager):
129297        (WebCore::PublicURLManager::create):
129298        (WebCore::PublicURLManager::contextDestroyed):
129299        (WebCore::PublicURLManager::blobURLs):
129300        (WebCore::PublicURLManager::streamURLs):
129301        * page/DOMWindow.cpp: Removed object initialization for DOMURL.
129302        (WebCore):
129303        * page/DOMWindow.h: ditto.
129304        (DOMWindow):
129305        * page/DOMWindow.idl:
129306        * workers/WorkerContext.cpp:
129307        (WebCore):
129308        * workers/WorkerContext.h:
129309        (WorkerContext):
129310        * workers/WorkerContext.idl:
129311
1293122012-02-01  Brian Grinstead  <briangrinstead@gmail.com>
129313
129314        Web Inspector: Add changes for Spectrum colorpicker
129315        https://bugs.webkit.org/show_bug.cgi?id=75454
129316
129317        Reviewed by Pavel Feldman.
129318
129319        * inspector/front-end/Color.js:
129320        (WebInspector.Color.fromRGB):
129321        * inspector/front-end/utilities.js:
129322        (Element.prototype.totalOffsetLeft):
129323        (Element.prototype.totalOffsetTop):
129324        (Element.prototype.totalOffset):
129325        (Element.prototype.scrollOffset):
129326        ():
129327
1293282012-02-08  Alexander Pavlov  <apavlov@chromium.org>
129329
129330        Web Inspector: Avoid an avalanche of "class" attribute modifications in WatchExpressionsSidebarPane
129331        https://bugs.webkit.org/show_bug.cgi?id=78102
129332
129333        Reviewed by Vsevolod Vlasov.
129334
129335        * inspector/front-end/WatchExpressionsSidebarPane.js:
129336        (WebInspector.WatchExpressionsSection.prototype._updateHoveredElement):
129337
1293382012-02-08  Antaryami Pandia  <antaryami.pandia@motorola.com>
129339
129340        CSS2 overflow: scrollbar not visible on SELECT elements when overflow: scroll is set.
129341        https://bugs.webkit.org/show_bug.cgi?id=69993
129342
129343        Reviewed by Simon Fraser.
129344
129345        The issue was that for overflow:scroll, currently webkit always places the horizontal
129346        and vertical scrollbar. But Since the listbox renderer handles its scrolling,
129347        we should not set scrollbar for list-box.
129348
129349        Tests: fast/css/getComputedStyle/computed-style-select-overflow.html
129350               fast/forms/select-overflow-scroll-inherited.html
129351               fast/forms/select-overflow-scroll.html
129352
129353        * rendering/RenderBlock.cpp:
129354        (WebCore::RenderBlock::layoutBlock):
129355        * rendering/RenderLayer.cpp:
129356        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
129357
1293582012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
129359
129360        feImage doesn't invalidate when its target SVG element is animated
129361        https://bugs.webkit.org/show_bug.cgi?id=73860
129362
129363        Reviewed by Dirk Schulze.
129364
129365        Consider following testcase:
129366        <defs>
129367            <rect id="rect" fill="red" width="50" height="50"/>
129368            <filter id="filter">
129369                <feImage xlink:href="#rect"/>
129370            </filter>
129371        </defs>
129372        <rect width="50" height="50" filter="url(#filter)"/>
129373
129374        If the <rect id="rect"> gets changed dynamically (attribute/property/style change) the <feImage>
129375        doesn't notice this, as there's no link between the <rect> and the <feImage>, as the <rect> is not
129376        a child of the <feImage/>. To get invalidations working for these situations, we have to track
129377        the referencingElement & referencedElement in SVGDocumentExtensions.
129378
129379        Fixes parts the SVG-Wow twirl testcase and David Daileys SVG waves example.
129380
129381        Tests: svg/filters/feImage-animated-transform-on-target-rect.svg
129382               svg/filters/feImage-late-indirect-update.svg
129383               svg/filters/feImage-mutliple-targets-id-change.svg
129384               svg/filters/feImage-target-attribute-change-with-use-indirection-2.svg
129385               svg/filters/feImage-target-attribute-change-with-use-indirection.svg
129386               svg/filters/feImage-target-attribute-change.svg
129387               svg/filters/feImage-target-inline-style-change.svg
129388               svg/filters/feImage-target-property-change.svg
129389               svg/filters/feImage-target-style-change.svg
129390
129391        * rendering/svg/RenderSVGResource.cpp:
129392        (WebCore::removeFromFilterCacheAndInvalidateDependencies): Renamed from removeFromFilterCache, as it has another purpose now.
129393        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation): s/removeFromFilterCache/removeFromFilterCacheAndInvalidateDependencies/.
129394        * rendering/svg/RenderSVGResource.h: Removed removeFromFilterCache, it got inlined.
129395        * svg/SVGDocumentExtensions.cpp: Add a new HashMap<SVGElement*, OwnPtr<HashSet<SVGElement*> > > used for dependency tracking.
129396        (WebCore::SVGDocumentExtensions::setOfElementsReferencingTarget): Returns all elements the passed in element depends on.
129397        (WebCore::SVGDocumentExtensions::addElementReferencingTarget): Register element 'a' referencing target 'b'.
129398        (WebCore::SVGDocumentExtensions::removeAllTargetReferencesForElement): Called by element 'a' on destruction or any target change.
129399        (WebCore::SVGDocumentExtensions::removeAllElementReferencesForTarget): Called by element 'b' on destruction.
129400        * svg/SVGDocumentExtensions.h: Expose new methods.
129401        * svg/SVGElement.cpp:
129402        (WebCore::SVGElement::~SVGElement): Call remove removeAllElementReferencesForTarget on destruction.
129403        * svg/SVGFEImageElement.cpp:
129404        (WebCore::SVGFEImageElement::clearResourceReferences):
129405        (WebCore::SVGFEImageElement::buildPendingResource):
129406
1294072012-02-08  Kihong Kwon  <kihong.kwon@samsung.com>
129408
129409        [EFL] Using string method instead of char* operation in the platformLanguage().
129410        https://bugs.webkit.org/show_bug.cgi?id=78077
129411
129412        Reviewed by Andreas Kling.
129413
129414        No new tests. Just fix a bug of platformLanguage function.
129415
129416        * platform/efl/LanguageEfl.cpp:
129417        (WebCore::platformLanguage):
129418        Change char* operation to string operation.
129419
1294202012-02-08  Alexander Pavlov  <apavlov@chromium.org>
129421
129422        Web Inspector: Touch event emulation fails for iframes
129423        https://bugs.webkit.org/show_bug.cgi?id=77987
129424
129425        Reviewed by Pavel Feldman.
129426
129427        Test: fast/events/touch/emulated-touch-iframe.html
129428
129429        * page/EventHandler.cpp:
129430        (WebCore::EventHandler::handleMouseReleaseEvent):
129431
1294322012-02-08  Andreas Kling  <awesomekling@apple.com>
129433
129434        StyledElement: Manully setNeedsStyleRecalc() after adding CSSProperties directly.
129435        <http://webkit.org/b/78068>
129436
129437        Rubber-stamped by Ryosuke Niwa.
129438
129439        Turns out that setProperty() with a CSSProperty has quite different behavior from
129440        the other setProperty() methods. We should probably clean that up (separately.)
129441        For now, simply call setNeedsStyleRecalc() manually in the addCSS* functions that
129442        use setProperty(CSSProperty).
129443
129444        * dom/StyledElement.cpp:
129445        (WebCore::StyledElement::addCSSProperty):
129446        (WebCore::StyledElement::addCSSImageProperty):
129447
1294482012-02-08  Sheriff Bot  <webkit.review.bot@gmail.com>
129449
129450        Unreviewed, rolling out r107050.
129451        http://trac.webkit.org/changeset/107050
129452        https://bugs.webkit.org/show_bug.cgi?id=78094
129453
129454        May crash editing tests (Requested by morrita on #webkit).
129455
129456        * html/HTMLDetailsElement.cpp:
129457        (WebCore::HTMLDetailsElement::createShadowSubtree):
129458        * html/HTMLKeygenElement.cpp:
129459        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
129460        * html/HTMLMeterElement.cpp:
129461        (WebCore::HTMLMeterElement::createShadowSubtree):
129462        * html/HTMLProgressElement.cpp:
129463        (WebCore::HTMLProgressElement::createShadowSubtree):
129464        * html/HTMLSummaryElement.cpp:
129465        (WebCore::HTMLSummaryElement::createShadowSubtree):
129466        * html/HTMLTextAreaElement.cpp:
129467        (WebCore::HTMLTextAreaElement::createShadowSubtree):
129468
1294692012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
129470
129471        [Qt] REGRESSION(r106918): It made svg/zoom/page/zoom-foreignObject.svg crash with Qt5-WK1
129472        https://bugs.webkit.org/show_bug.cgi?id=77995
129473
129474        Reviewed by Csaba Osztrogonác.
129475
129476        From the stack traces it's obvious that SVGImageChromeClient tried to invalidate the root view,
129477        while its SVGImage was being destructed, due to an updateStyleIfNeeded() call, coming
129478        from frameDetached(). There's no point in redrawing there, so we should just stop it.
129479
129480        Covered by existing tests on the Qt but, unfortunately I couldn't reproduce it on Mac.
129481
129482        * svg/graphics/SVGImage.cpp:
129483        (WebCore::SVGImageChromeClient::invalidateContentsAndRootView): Stop invalidating if m_page is 0.
129484        (WebCore::SVGImage::~SVGImage): Clear m_page, so that SVGImageChromeClient knows we're destructing.
129485        * svg/graphics/SVGImage.h:
129486
1294872012-02-08  Pablo Flouret  <pablof@motorola.com>
129488
129489        Add state attribute to history's dom interface.
129490        https://bugs.webkit.org/show_bug.cgi?id=76035
129491
129492        Reviewed by Kentaro Hara.
129493
129494        Tests: fast/loader/stateobjects/state-attribute-object-types.html
129495               fast/loader/stateobjects/state-attribute-only-one-deserialization.html
129496
129497        * bindings/js/JSHistoryCustom.cpp:
129498        (WebCore::JSHistory::state):
129499        (WebCore):
129500        (WebCore::JSHistory::pushState):
129501        (WebCore::JSHistory::replaceState):
129502        * bindings/v8/custom/V8HistoryCustom.cpp:
129503        (WebCore::V8History::stateAccessorGetter):
129504        (WebCore):
129505        (WebCore::V8History::pushStateCallback):
129506        (WebCore::V8History::replaceStateCallback):
129507        * page/History.cpp:
129508        (WebCore::History::History):
129509        (WebCore::History::state):
129510        (WebCore):
129511        (WebCore::History::stateInternal):
129512        (WebCore::History::stateChanged):
129513        * page/History.h:
129514        (History):
129515        * page/History.idl:
129516
1295172012-02-08  Nikolas Zimmermann  <nzimmermann@rim.com>
129518
129519        SVGLoad event fires too early
129520        https://bugs.webkit.org/show_bug.cgi?id=78084
129521
129522        Reviewed by Hajime Morita.
129523
129524        SVGLoad event fires too early, making it impossible to use the vanilla repaint.js harness (runRepaintTest).
129525
129526        We're using a hack called runSVGRepaintTest() at the moment in trunk, which runs runRepaintTest() from a 0ms timer,
129527        which is not reliable. The main difference between HTML onload and SVG onload is that HTMLs event is a "window event",
129528        thus dispatched through DOMWindow (eg. <body onload="alert(event.target)" will yield Document,
129529        <svg onload="alert(evt.target)"> will say SVGSVGElement).
129530
129531        Consider:
129532        <svg onload="alert('1')>
129533        <g onload="alert('2)">
129534        <rect onload="alert('3')"/>
129535        </svg>
129536
129537        As soon as the <rect> finishes parsing (SVGElement::finishedParsingChildren), it's SVGLoad event is fired.
129538        So first you'll see '3', then '2', then '1'.
129539
129540        Using:
129541        <svg onload="alert('1')>
129542        <g onload="alert('2)">
129543        <image xlink:href="someExternal.jpg" onload="alert('3')"/>
129544        </svg>
129545
129546        will yield the same SVGLoad order. When using <image externalREsourcesRequired="true", first the '1' will fire,
129547        then '3', then '2', all as expected and specified in SVG.
129548
129549        http://www.w3.org/TR/SVG/interact.html#LoadEvent says:
129550        "The event is triggered at the point at which the user agent has fully parsed the element and its descendants and is
129551        ready to act appropriately upon that element, such as being ready to render the element to the target device. Referenced
129552        external resources that are required must be loaded, parsed and ready to render before the event is triggered. Optional
129553        external resources are not required to be ready for the event to be triggered."
129554
129555        What we don't implement correctly is the second part of the first sentence: "and is ready to act appropriately upon that
129556        element, such as being ready to render the element to the target device". We currently fire the SVGLoad event, right after
129557        </svg> is seen, if no externalResourceRequired="true" attributes are set anywhere. This is not wrong, but not correct for
129558        WebKit, as we're not yet "ready to render".
129559
129560        HTML fires its window onload event from Document::implicitClose(), where it calls Document::dispatchWindowLoadEvent.
129561        At this point we're ready to render. So I'm now aligning the timing of the outermost <svg> elements SVGLoad event, to be
129562        equal to HTML. This lets use use the repaint.js harness w/o any special SVG tricks.
129563
129564        Covered by existing tests.
129565
129566        * dom/Document.cpp:
129567        (WebCore::Document::implicitClose): Dispatch SVGLoad event for outermost <svg> elements from here, as HTML does for its window onload event.
129568        * svg/SVGDocumentExtensions.cpp:
129569        (WebCore::SVGDocumentExtensions::dispatchSVGLoadEventToOutermostSVGElements): Sends a SVGLoad event to all outermost <svg> elements in a document, if possible.
129570        There can be multiple ones, if using <svg><foreignObject><svg>... - the <svg> in the <fO> also acts as outermost <svg> element.
129571        * svg/SVGDocumentExtensions.h: Add new dispatchSVGLoadEventToOutermostSVGElements() helper.
129572        * svg/SVGElement.cpp:
129573        (WebCore::SVGElement::isOutermostSVGSVGElement): Moved from SVGSVGElement into SVGElement, and renamed from isOutermostSVG().
129574        (WebCore::SVGElement::sendSVGLoadEventIfPossible): Don't dispatch load events to outermost <svg> elements, if Document::implicitClose() wasn't called yet.
129575        (WebCore::SVGElement::finishParsingChildren): Stop using the default SVGLoad dispatching logic for outermost <svg> elements.
129576        * svg/SVGElement.h: Add isOutermostSVGSVGElement().
129577        * svg/SVGSVGElement.cpp: Rename isOutermostSVG to isOutermostSVGSVGElement.
129578        (WebCore::SVGSVGElement::currentScale):
129579        (WebCore::SVGSVGElement::setCurrentScale):
129580        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
129581        (WebCore::SVGSVGElement::createRenderer):
129582        * svg/SVGSVGElement.h: Move isOutermostSVG() to SVGElement.
129583        * svg/SVGStyledElement.cpp:
129584        (WebCore::SVGStyledElement::title): Rename isOutermostSVG to isOutermostSVGSVGElement.
129585
1295862012-02-08  Alexander Pavlov  <apavlov@chromium.org>
129587
129588        Web Inspector: [CRASH] InspectorDOMAgent::updateTouchEventEmulationInPage()
129589        https://bugs.webkit.org/show_bug.cgi?id=78090
129590
129591        Reviewed by Vsevolod Vlasov.
129592
129593        * inspector/InspectorDOMAgent.cpp:
129594        (WebCore::InspectorDOMAgent::updateTouchEventEmulationInPage):
129595
1295962012-02-07  Alexander Pavlov  <apavlov@chromium.org>
129597
129598        Web Inspector: Closed computed style sidebar pane rebuilds, resulting in slowness
129599        https://bugs.webkit.org/show_bug.cgi?id=77865
129600
129601        Reviewed by Pavel Feldman.
129602
129603        Test: inspector/styles/lazy-computed-style.html
129604
129605        * inspector/front-end/StylesSidebarPane.js:
129606        (WebInspector.StylesSidebarPane):
129607        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
129608        (WebInspector.StylesSidebarPane.prototype._refreshComputedStyleSection):
129609        (WebInspector.ComputedStyleSidebarPane.prototype.expand):
129610        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
129611
1296122012-02-08  Tommy Widenflycht  <tommyw@google.com>
129613
129614        MediaStream API: Adding the onstatechange callback to PeerConnection
129615        https://bugs.webkit.org/show_bug.cgi?id=77954
129616
129617        When readyState changes a callback should be triggered.
129618
129619        Reviewed by Adam Barth.
129620
129621        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
129622
129623        * dom/EventNames.h:
129624        (WebCore):
129625        * mediastream/PeerConnection.cpp:
129626        (WebCore::PeerConnection::changeReadyState):
129627        * mediastream/PeerConnection.h:
129628        (PeerConnection):
129629        (WebCore::PeerConnection::didChangeState):
129630        * mediastream/PeerConnection.idl:
129631        * platform/mediastream/PeerConnectionHandlerClient.h:
129632        (PeerConnectionHandlerClient):
129633
1296342012-02-08  Kentaro Hara  <haraken@chromium.org>
129635
129636        Rename [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL
129637        https://bugs.webkit.org/show_bug.cgi?id=77963
129638
129639        Reviewed by Adam Barth.
129640
129641        This patch renames [DelegatingPutFunction] IDL to [CustomNamedSetter] IDL,
129642        for clarification and for naming consistency with [NamedGetter] and [CustomIndexedSetter].
129643
129644        No tests. No change in behavior.
129645
129646        * bindings/scripts/CodeGeneratorJS.pm:
129647        (GenerateHeader):
129648        (GenerateImplementation):
129649        * bindings/scripts/CodeGeneratorV8.pm:
129650        (GenerateHeaderNamedAndIndexedPropertyAccessors):
129651        (GenerateImplementationIndexer):
129652        (GenerateImplementationNamedPropertyGetter):
129653        * bindings/scripts/test/TestInterface.idl:
129654        * css/CSSStyleDeclaration.idl:
129655        * dom/DOMStringMap.idl:
129656        * html/HTMLAppletElement.idl:
129657        * html/HTMLEmbedElement.idl:
129658        * html/HTMLObjectElement.idl:
129659        * page/History.idl:
129660        * page/Location.idl:
129661        * storage/Storage.idl:
129662
1296632012-02-08  Kentaro Hara  <haraken@chromium.org>
129664
129665        Replace [CheckNodeSecurity] with [CheckAccessToNode]
129666        https://bugs.webkit.org/show_bug.cgi?id=77971
129667
129668        Reviewed by Adam Barth.
129669
129670        [CheckNodeSecurity] is not implemented by code generators.
129671        This patch replaces [CheckNodeSecurity] with [CheckAccessToNode].
129672
129673        Test: http/tests/security/cross-frame-access-frameelement.html
129674
129675        * page/DOMWindow.idl:
129676
1296772012-02-08  Kentaro Hara  <haraken@chromium.org>
129678
129679        Rename [CustomPushEventHandlerScope] to [JSCustomPushEventHandlerScope]
129680        https://bugs.webkit.org/show_bug.cgi?id=78081
129681
129682        Reviewed by Adam Barth.
129683
129684        [CustomPushEventHandlerScope] is a JSC-specific IDL attribute.
129685        This patch renames it to [JSCustomPushEventHandlerScope]
129686
129687        No tests. No change in behavior.
129688
129689        * bindings/scripts/CodeGeneratorJS.pm:
129690        (GenerateHeader):
129691        * dom/Node.idl:
129692        * html/HTMLElement.idl:
129693
1296942012-02-06  Kentaro Hara  <haraken@chromium.org>
129695
129696        Add "JS" prefix to JSC-specific IDLs
129697        https://bugs.webkit.org/show_bug.cgi?id=77846
129698
129699        Reviewed by Darin Adler.
129700
129701        In bug 77693, we have added "JS" prefix to several JSC specific IDLs.
129702        This patch adds "JS" prefix to the remaining JSC specific IDLs.
129703        Specifically, this patch renames IDLs as follows:
129704
129705        [CustomDefineOwnProperty] => [JSCustomDefineOwnProperty]
129706        [CustomPrototypeDefineOwnProperty] => [JSCustomPrototypeDefineOwnProperty]
129707        [GenerateNativeConverter] => [JSGenerateToNativeObject]  (Note: For naming consistency
129708        with [JSGenerateToJS] and [JSCustomToNativeObject])
129709        [DelegatingGetOwnPropertySlot] => [JSCustomGetOwnPropertySlotDelegate]  (Note: Should be prefixed "JS",
129710        should be prefixed with "Custom", and for naming consistency with [CustomGetOwnPropertySlot])
129711
129712        No tests. No change in behavior.
129713
129714        * bindings/scripts/CodeGeneratorJS.pm:
129715        (GenerateGetOwnPropertySlotBody):
129716        (GenerateGetOwnPropertyDescriptorBody):
129717        (GenerateHeader):
129718        (GenerateImplementation):
129719        * bindings/scripts/test/TestTypedArray.idl:
129720        * dom/Attr.idl:
129721        * dom/DataTransferItemList.idl:
129722        * dom/Document.idl:
129723        * dom/DocumentType.idl:
129724        * dom/Element.idl:
129725        * dom/Node.idl:
129726        * fileapi/DirectoryEntry.idl:
129727        * fileapi/DirectoryEntrySync.idl:
129728        * fileapi/File.idl:
129729        * fileapi/FileEntry.idl:
129730        * fileapi/FileEntrySync.idl:
129731        * fileapi/WebKitBlobBuilder.idl:
129732        * html/DOMFormData.idl:
129733        * html/DOMURL.idl:
129734        * html/HTMLAppletElement.idl:
129735        * html/HTMLCanvasElement.idl:
129736        * html/HTMLElement.idl:
129737        * html/HTMLEmbedElement.idl:
129738        * html/HTMLImageElement.idl:
129739        * html/HTMLMediaElement.idl:
129740        * html/HTMLObjectElement.idl:
129741        * html/HTMLOptionElement.idl:
129742        * html/HTMLOptionsCollection.idl:
129743        * html/HTMLTableCaptionElement.idl:
129744        * html/HTMLTableSectionElement.idl:
129745        * html/HTMLVideoElement.idl:
129746        * html/TextTrackCue.idl:
129747        * html/canvas/Float32Array.idl:
129748        * html/canvas/Float64Array.idl:
129749        * html/canvas/Int16Array.idl:
129750        * html/canvas/Int32Array.idl:
129751        * html/canvas/Int8Array.idl:
129752        * html/canvas/Uint16Array.idl:
129753        * html/canvas/Uint32Array.idl:
129754        * html/canvas/Uint8Array.idl:
129755        * html/canvas/Uint8ClampedArray.idl:
129756        * mediastream/LocalMediaStream.idl:
129757        * page/DOMWindow.idl:
129758        * page/History.idl:
129759        * page/Location.idl:
129760        * storage/StorageInfo.idl:
129761        * svg/SVGElement.idl:
129762        * svg/SVGElementInstance.idl:
129763        * workers/DedicatedWorkerContext.idl:
129764        * workers/SharedWorker.idl:
129765        * workers/SharedWorkerContext.idl:
129766        * workers/Worker.idl:
129767        * workers/WorkerContext.idl:
129768
1297692012-02-07  Kentaro Hara  <haraken@chromium.org>
129770
129771        Rename [HasOverridingNameGetter] attribute to [CustomNamedGetter] attribute
129772        https://bugs.webkit.org/show_bug.cgi?id=78076
129773
129774        Reviewed by Adam Barth.
129775
129776        This patch renames the [HasOverridingNameGetter] attribute to the
129777        [CustomNamedGetter] attribute, for naming consistency with [CustomNamedSetter].
129778
129779        Test: bindings/scripts/test/TestCustomNamedGetter.idl
129780
129781        * bindings/scripts/CodeGeneratorJS.pm:
129782        (GenerateGetOwnPropertySlotBody):
129783        (GenerateGetOwnPropertyDescriptorBody):
129784        (GenerateHeader):
129785        (GenerateImplementation):
129786        * bindings/scripts/CodeGeneratorV8.pm:
129787        (GenerateHeaderNamedAndIndexedPropertyAccessors):
129788        (GenerateImplementationNamedPropertyGetter):
129789
129790        * html/HTMLDocument.idl:
129791        * html/HTMLFormElement.idl:
129792        * html/HTMLFrameSetElement.idl:
129793
129794        * bindings/scripts/test/TestCustomNamedGetter.idl: Renamed from Source/WebCore/bindings/scripts/test/TestOverridingNameGetter.idl.
129795
129796        * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.cpp: Updated run-bindings-tests results.
129797        (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate::WebDOMTestCustomNamedGetterPrivate):
129798        (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetterPrivate):
129799        (WebDOMTestCustomNamedGetter::WebDOMTestCustomNamedGetter):
129800        (WebDOMTestCustomNamedGetter::operator=):
129801        (WebDOMTestCustomNamedGetter::impl):
129802        (WebDOMTestCustomNamedGetter::~WebDOMTestCustomNamedGetter):
129803        (WebDOMTestCustomNamedGetter::anotherFunction):
129804        (toWebCore):
129805        (toWebKit):
129806        * bindings/scripts/test/CPP/WebDOMTestCustomNamedGetter.h: Ditto.
129807        (WebCore):
129808        (WebDOMTestCustomNamedGetter):
129809        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.cpp: Ditto.
129810        (WebKit):
129811        (WebKit::kit):
129812        (webkit_dom_test_custom_named_getter_another_function):
129813        (WebKit::core):
129814        (webkit_dom_test_custom_named_getter_finalize):
129815        (webkit_dom_test_custom_named_getter_set_property):
129816        (webkit_dom_test_custom_named_getter_get_property):
129817        (webkit_dom_test_custom_named_getter_constructed):
129818        (webkit_dom_test_custom_named_getter_class_init):
129819        (webkit_dom_test_custom_named_getter_init):
129820        (WebKit::wrapTestCustomNamedGetter):
129821        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetter.h: Ditto.
129822        (_WebKitDOMTestCustomNamedGetter):
129823        (_WebKitDOMTestCustomNamedGetterClass):
129824        * bindings/scripts/test/GObject/WebKitDOMTestCustomNamedGetterPrivate.h: Ditto.
129825        (WebKit):
129826        * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Ditto.
129827        * bindings/scripts/test/JS/JSTestCustomNamedGetter.cpp: Ditto.
129828        (WebCore):
129829        (WebCore::JSTestCustomNamedGetterConstructor::JSTestCustomNamedGetterConstructor):
129830        (WebCore::JSTestCustomNamedGetterConstructor::finishCreation):
129831        (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertySlot):
129832        (WebCore::JSTestCustomNamedGetterConstructor::getOwnPropertyDescriptor):
129833        (WebCore::JSTestCustomNamedGetterPrototype::self):
129834        (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertySlot):
129835        (WebCore::JSTestCustomNamedGetterPrototype::getOwnPropertyDescriptor):
129836        (WebCore::JSTestCustomNamedGetter::JSTestCustomNamedGetter):
129837        (WebCore::JSTestCustomNamedGetter::finishCreation):
129838        (WebCore::JSTestCustomNamedGetter::createPrototype):
129839        (WebCore::JSTestCustomNamedGetter::destroy):
129840        (WebCore::JSTestCustomNamedGetter::getOwnPropertySlot):
129841        (WebCore::JSTestCustomNamedGetter::getOwnPropertyDescriptor):
129842        (WebCore::jsTestCustomNamedGetterConstructor):
129843        (WebCore::JSTestCustomNamedGetter::getConstructor):
129844        (WebCore::jsTestCustomNamedGetterPrototypeFunctionAnotherFunction):
129845        (WebCore::isObservable):
129846        (WebCore::JSTestCustomNamedGetterOwner::isReachableFromOpaqueRoots):
129847        (WebCore::JSTestCustomNamedGetterOwner::finalize):
129848        (WebCore::toJS):
129849        (WebCore::toTestCustomNamedGetter):
129850        * bindings/scripts/test/JS/JSTestCustomNamedGetter.h: Ditto.
129851        (WebCore):
129852        (JSTestCustomNamedGetter):
129853        (WebCore::JSTestCustomNamedGetter::create):
129854        (WebCore::JSTestCustomNamedGetter::createStructure):
129855        (WebCore::JSTestCustomNamedGetter::impl):
129856        (WebCore::JSTestCustomNamedGetter::releaseImpl):
129857        (WebCore::JSTestCustomNamedGetter::releaseImplIfNotNull):
129858        (JSTestCustomNamedGetterOwner):
129859        (WebCore::wrapperOwner):
129860        (WebCore::wrapperContext):
129861        (JSTestCustomNamedGetterPrototype):
129862        (WebCore::JSTestCustomNamedGetterPrototype::create):
129863        (WebCore::JSTestCustomNamedGetterPrototype::createStructure):
129864        (WebCore::JSTestCustomNamedGetterPrototype::JSTestCustomNamedGetterPrototype):
129865        (JSTestCustomNamedGetterConstructor):
129866        (WebCore::JSTestCustomNamedGetterConstructor::create):
129867        (WebCore::JSTestCustomNamedGetterConstructor::createStructure):
129868        * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
129869        * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.h: Ditto.
129870        * bindings/scripts/test/ObjC/DOMTestCustomNamedGetter.mm: Ditto.
129871        (-[DOMTestCustomNamedGetter dealloc]):
129872        (-[DOMTestCustomNamedGetter finalize]):
129873        (-[DOMTestCustomNamedGetter anotherFunction:]):
129874        (core):
129875        (kit):
129876        * bindings/scripts/test/ObjC/DOMTestCustomNamedGetterInternal.h: Ditto.
129877        (WebCore):
129878        * bindings/scripts/test/V8/V8TestCustomNamedGetter.cpp: Ditto.
129879        (WebCore):
129880        (TestCustomNamedGetterInternal):
129881        (WebCore::TestCustomNamedGetterInternal::V8_USE):
129882        (WebCore::TestCustomNamedGetterInternal::anotherFunctionCallback):
129883        (WebCore::ConfigureV8TestCustomNamedGetterTemplate):
129884        (WebCore::V8TestCustomNamedGetter::GetRawTemplate):
129885        (WebCore::V8TestCustomNamedGetter::GetTemplate):
129886        (WebCore::V8TestCustomNamedGetter::HasInstance):
129887        (WebCore::V8TestCustomNamedGetter::wrapSlow):
129888        (WebCore::V8TestCustomNamedGetter::derefObject):
129889        * bindings/scripts/test/V8/V8TestCustomNamedGetter.h: Ditto.
129890        (WebCore):
129891        (V8TestCustomNamedGetter):
129892        (WebCore::V8TestCustomNamedGetter::toNative):
129893        (WebCore::V8TestCustomNamedGetter::existingWrapper):
129894        (WebCore::V8TestCustomNamedGetter::wrap):
129895        (WebCore::toV8):
129896
1298972012-02-07  Emil A Eklund  <eae@chromium.org>
129898
129899        Revert TableSection cell and border calculations to integers
129900        https://bugs.webkit.org/show_bug.cgi?id=77918
129901
129902        Reviewed by Eric Seidel.
129903
129904        Change RenderTableSection cell width, row height and border calculations
129905        back to use integers. Table layout is done on integer bounds to comply
129906        with the specification and to ensure that columns given the same width,
129907        including percentage widths, are rendered with identical widths. The same
129908        applies to heights.
129909
129910        No new tests.
129911
129912        * rendering/RenderTableSection.cpp:
129913        (WebCore::RenderTableSection::setCellLogicalWidths):
129914        (WebCore::RenderTableSection::calcRowLogicalHeight):
129915        (WebCore::RenderTableSection::layoutRows):
129916        (WebCore::RenderTableSection::calcOuterBorderBefore):
129917        (WebCore::RenderTableSection::calcOuterBorderAfter):
129918        (WebCore::RenderTableSection::calcOuterBorderStart):
129919        (WebCore::RenderTableSection::calcOuterBorderEnd):
129920        (WebCore::RenderTableSection::paintObject):
129921        (WebCore::RenderTableSection::nodeAtPoint):
129922        * rendering/RenderTableSection.h:
129923        (RenderTableSection):
129924        (WebCore::RenderTableSection::RowStruct::RowStruct):
129925        (WebCore::RenderTableSection::outerBorderBefore):
129926        (WebCore::RenderTableSection::outerBorderAfter):
129927        (WebCore::RenderTableSection::outerBorderStart):
129928        (WebCore::RenderTableSection::outerBorderEnd):
129929
1299302012-02-07  Robert Kroeger  <rjkroege@chromium.org>
129931
129932        [chromium] Remove the no longer necessary Chromium gesture recognizer.
129933        https://bugs.webkit.org/show_bug.cgi?id=77492
129934
129935        Reviewed by Adam Barth.
129936
129937        * WebCore.gypi:
129938        * platform/PlatformGestureRecognizer.h: Removed.
129939        * platform/chromium/FramelessScrollView.h:
129940        (WebCore):
129941        (FramelessScrollView):
129942        * platform/chromium/GestureRecognizerChromium.cpp: Removed.
129943        * platform/chromium/GestureRecognizerChromium.h: Removed.
129944        * platform/chromium/PopupContainer.cpp:
129945        (WebCore):
129946        * platform/chromium/PopupContainer.h:
129947        * platform/chromium/PopupListBox.cpp:
129948        (WebCore):
129949        * platform/chromium/PopupListBox.h:
129950        (PopupListBox):
129951
1299522012-02-07  Erik Arvidsson  <arv@chromium.org>
129953
129954        [V8] Allow bindings for attributes on DOM nodes to also set a named hidden reference
129955        https://bugs.webkit.org/show_bug.cgi?id=78052
129956
129957        Reviewed by Nate Chapin.
129958
129959        Before this patch the code generator did not add the named hidden reference when the data node
129960        was a DOM Node. This lead to us having to create custom toV8 bindings in a few places.
129961
129962        Covered by existing tests
129963
129964        * Target.pri:
129965        * UseV8.cmake:
129966        * WebCore.gypi:
129967        * bindings/scripts/CodeGeneratorV8.pm:
129968        (GenerateNormalAttrGetter):
129969        (HasCustomToV8Implementation):
129970        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
129971        * bindings/v8/custom/V8DOMTokenListCustom.cpp: Removed.
129972        * bindings/v8/custom/V8NamedNodeMapCustom.cpp:
129973
1299742012-02-07  Kentaro Hara  <haraken@chromium.org>
129975
129976        [GTK] Ignore [Custom] attributes in CodeGeneratorGObject.pm
129977        https://bugs.webkit.org/show_bug.cgi?id=78059
129978
129979        Reviewed by Adam Barth.
129980
129981        CodeGeneratorGObject.pm does not support custom attributes.
129982        We can skip generating code for attributes with [Custom].
129983        The change would make sense, since CodeGeneratorGObject.pm already
129984        skips attributes with [CustomGetter] or [CustomSetter].
129985
129986        Test: bindings/scripts/test/TestObj.idl
129987
129988        * bindings/scripts/CodeGeneratorGObject.pm:
129989        (SkipAttribute):
129990        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
129991
1299922012-02-07  Emil A Eklund  <eae@chromium.org>
129993
129994        Add pixelSnappedX/Y/Width/Height methods
129995        https://bugs.webkit.org/show_bug.cgi?id=78040
129996
129997        Reviewed by Eric Seidel.
129998
129999        Add pixel snapped versions of x/y/width/height methods. These return the
130000        same value as the x/w/width/height methods for now but once we move over
130001        to sub pixel layout they will snap the subpixel value to a device pixel
130002        and return an integer value.
130003
130004        When snapping the left and top edge is simply rounded to the nearest
130005        device pixel.
130006        The right and bottom edges are computed by subtracting the rounded left/
130007        top edge from the precise location and size. This ensures that the edges
130008        all line up with device pixels and that the total size of an object,
130009        including borders, is at most one pixel off.
130010
130011        In summary, the values are computed as follows:
130012                x: round(x)
130013                y: round(y)
130014                maxX: round(x + width)
130015                maxY: round(y + height)
130016                width: round(x + width) - round(x)
130017                height: round(y + height) - round(y)
130018
130019        We use the term pixel snapped to indicate that the numbers are not merely
130020        rounded. This also matches the naming used by the line box tree.
130021
130022        No new tests, no functionality changes.
130023
130024        * page/PrintContext.cpp:
130025        (WebCore::PrintContext::pageNumberForElement):
130026        * rendering/RenderBlock.cpp:
130027        (WebCore::::collectIfNeeded):
130028        * rendering/RenderBlock.h:
130029        (RenderBlock):
130030        (WebCore::RenderBlock::pixelSnappedLogicalRightOffsetForLine):
130031        (WebCore::RenderBlock::pixelSnappedLogicalLeftOffsetForLine):
130032        (WebCore::RenderBlock::FloatingObject::pixelSnappedX):
130033        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxX):
130034        (WebCore::RenderBlock::FloatingObject::pixelSnappedY):
130035        (WebCore::RenderBlock::FloatingObject::pixelSnappedMaxY):
130036        (WebCore::RenderBlock::FloatingObject::pixelSnappedWidth):
130037        (WebCore::RenderBlock::FloatingObject::pixelSnappedHeight):
130038        (FloatingObject):
130039        (WebCore::RenderBlock::pixelSnappedLogicalTopForFloat):
130040        (WebCore::RenderBlock::pixelSnappedLogicalBottomForFloat):
130041        (WebCore::RenderBlock::pixelSnappedLogicalLeftForFloat):
130042        (WebCore::RenderBlock::pixelSnappedLogicalRightForFloat):
130043        * rendering/RenderBlockLineLayout.cpp:
130044        (WebCore::LineWidth::shrinkAvailableWidthForNewFloatIfNeeded):
130045        * rendering/RenderBox.cpp:
130046        (WebCore::RenderBox::pixelSnappedClientWidth):
130047        (WebCore):
130048        (WebCore::RenderBox::pixelSnappedClientHeight):
130049        (WebCore::RenderBox::scrollHeight):
130050        * rendering/RenderBox.h:
130051        (WebCore::RenderBox::pixelSnappedWidth):
130052        (WebCore::RenderBox::pixelSnappedHeight):
130053        (RenderBox):
130054        (WebCore::RenderBox::pixelSnappedOffsetWidth):
130055        (WebCore::RenderBox::pixelSnappedOffsetHeight):
130056        (WebCore::RenderBox::clientLogicalWidth):
130057        (WebCore::RenderBox::clientLogicalHeight):
130058        * rendering/RenderBoxModelObject.cpp:
130059        (WebCore::RenderBoxModelObject::pixelSnappedOffsetWidth):
130060        (WebCore):
130061        (WebCore::RenderBoxModelObject::pixelSnappedOffsetHeight):
130062        * rendering/RenderBoxModelObject.h:
130063        (WebCore::RenderBoxModelObject::pixelSnappedOffsetLeft):
130064        (WebCore::RenderBoxModelObject::pixelSnappedOffsetTop):
130065        (RenderBoxModelObject):
130066        * rendering/RenderLayer.cpp:
130067        (WebCore::RenderLayer::pixelSnappedScrollWidth):
130068        (WebCore):
130069        (WebCore::RenderLayer::pixelSnappedScrollHeight):
130070        (WebCore::RenderLayer::computeScrollDimensions):
130071        (WebCore::RenderLayer::updateScrollInfoAfterLayout):
130072        * rendering/RenderLayer.h:
130073        (RenderLayer):
130074        * rendering/RenderListBox.cpp:
130075        (WebCore::RenderListBox::scrollHeight):
130076        * rendering/RenderTheme.cpp:
130077        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
130078        * rendering/RenderTreeAsText.cpp:
130079        (WebCore::write):
130080
1300812012-02-07  Mike Lawther  <mikelawther@chromium.org>
130082
130083        CSS3 calc() - simple parse time evaluation
130084        https://bugs.webkit.org/show_bug.cgi?id=77960
130085
130086        Adds simple number/percent expression evaluation. rgb() and hsl() functions now
130087        allow simple calc() expressions.
130088
130089        Reviewed by Ojan Vafai.
130090
130091        * css/CSSCalculationValue.cpp:
130092        (WebCore):
130093        (WebCore::CSSCalcValue::doubleValue):
130094        (WebCore::CSSCalcPrimitiveValue::doubleValue):
130095        (WebCore::CSSCalcBinaryOperation::doubleValue):
130096        (CSSCalcBinaryOperation):
130097        (WebCore::CSSCalcBinaryOperation::evaluate):
130098        * css/CSSCalculationValue.h:
130099        (CSSCalcExpressionNode):
130100        (WebCore::CSSCalcValue::isInt):
130101        (CSSCalcValue):
130102        * css/CSSParser.cpp:
130103        (WebCore::CSSParser::parsedDouble):
130104
1301052012-02-07  Andreas Kling  <awesomekling@apple.com>
130106
130107        REGRESSION(r106668-r106889): Chromium page cycler tests (Intl2) performance regressions.
130108        <http://webkit.org/b/78068>
130109
130110        Reviewed by Ryosuke Niwa.
130111
130112        Create CSS_IDENT values for attribute styles in the document's CSSValuePool.
130113        This regressed in r106756 and I suspect it'll fix up the cycler regression.
130114
130115        * dom/StyledElement.cpp:
130116        (WebCore::StyledElement::addCSSProperty):
130117
1301182012-02-07  Noel Gordon  <noel.gordon@gmail.com>
130119
130120        Remove TextureMapperQt from the gyp projects
130121        https://bugs.webkit.org/show_bug.cgi?id=78055
130122
130123        Reviewed by Noam Rosenthal.
130124
130125        TextureMapperQt.{cpp,h} were removed in r106659, remove references to
130126        these files from the gyp projects.
130127
130128        * WebCore.gypi:
130129
1301302012-02-07  Tony Chang  <tony@chromium.org>
130131
130132        merge DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
130133        https://bugs.webkit.org/show_bug.cgi?id=78036
130134
130135        Reviewed by Darin Adler.
130136
130137        In r89362, we started running the preprocessor through CSSPropertyNames.in.
130138        Now we can move DashboardSupportCSSPropertyNames.in into CSSPropertyNames.in
130139        and wrap it in an #if.
130140
130141        No new tests, build refactoring.
130142
130143        * Configurations/FeatureDefines.xcconfig: Add ENABLE_DASHBOARD_SUPPORT to FEATURE_DEFINES.
130144        * DerivedSources.make: Remove DashboardSupportCSSPropertyNames.in.
130145        * DerivedSources.pri: Remove DashboardSupportCSSPropertyNames.in.
130146        * WebCore.xcodeproj/project.pbxproj: Remove DashboardSupportCSSPropertyNames.in.
130147        * css/CSSPropertyNames.in: Wrap -webkit-dashboard-region in an #if.
130148        * css/DashboardSupportCSSPropertyNames.in: Removed.
130149
1301502012-02-07  Xingnan Wang  <xingnan.wang@intel.com>
130151
130152        Enable IPP for FFTFrame
130153        https://bugs.webkit.org/show_bug.cgi?id=75522
130154
130155        Reviewed by Tony Chang.
130156
130157        Add the FFTFrame implementation using Intel IPP's DFT algorithm.
130158
130159        * WebCore.gyp/WebCore.gyp:
130160        * WebCore.gypi:
130161        * platform/audio/FFTFrame.h:
130162        (FFTFrame):
130163        * platform/audio/FFTFrameStub.cpp:
130164        * platform/audio/ipp/FFTFrameIPP.cpp: Added.
130165        (WebCore):
130166        (WebCore::FFTFrame::FFTFrame):
130167        (WebCore::FFTFrame::initialize):
130168        (WebCore::FFTFrame::cleanup):
130169        (WebCore::FFTFrame::~FFTFrame):
130170        (WebCore::FFTFrame::multiply):
130171        (WebCore::FFTFrame::doFFT):
130172        (WebCore::FFTFrame::doInverseFFT):
130173        (WebCore::FFTFrame::realData):
130174        (WebCore::FFTFrame::imagData):
130175        (WebCore::FFTFrame::getUpToDateComplexData):
130176
1301772012-02-07  Adrienne Walker  <enne@google.com>
130178
130179        Properly detect top level frames when propogating compositing
130180        https://bugs.webkit.org/show_bug.cgi?id=78033
130181
130182        Reviewed by James Robinson.
130183
130184        There's no need to enumerate all tag names when searching for a
130185        top-level frame. If a render view's document has a frame, then that
130186        frame is not the top-level one.
130187
130188        * rendering/RenderLayerCompositor.cpp:
130189        (WebCore::RenderLayerCompositor::shouldPropagateCompositingToEnclosingFrame):
130190        * rendering/RenderLayerCompositor.h:
130191        (RenderLayerCompositor):
130192
1301932012-02-07  Chris Palmer  <palmer@google.com>
130194
130195        Resolve crash in FrameLoader::checkTimerFired.
130196        https://bugs.webkit.org/show_bug.cgi?id=77907
130197
130198        Reviewed by Eric Seidel.
130199
130200        Test is LayoutTests/http/tests/appcache/deferred-events-delete-while-raising-timer.html.
130201
130202        * loader/FrameLoader.cpp:
130203        (WebCore::FrameLoader::checkTimerFired):
130204
1302052012-02-07  Yong Li  <yoli@rim.com>
130206
130207        [BlackBerry] NetworkJob should stop redirecting when the request is cleared by client
130208        https://bugs.webkit.org/show_bug.cgi?id=78029
130209
130210        Reviewed by Rob Buis.
130211
130212        When a redirect is rejected by security origin check, the ResourceRequest
130213        will be cleared (see DocumentThreadableLoader::redirectReceived()). In this
130214        case, we should stop handling the request.
130215
130216        No new tests because existing tests (like http:/tests/xmlhttprequest/redirect-cross
130217        -origin-tripmine.html) can cover this.
130218
130219        * platform/network/blackberry/NetworkJob.cpp:
130220        (WebCore::NetworkJob::startNewJobWithRequest):
130221
1302222012-02-07  David Barton  <dbarton@mathscribe.com>
130223
130224        Remove extraneous MathML code before bug 52444 fix
130225        https://bugs.webkit.org/show_bug.cgi?id=78034
130226
130227        Reviewed by Eric Seidel.
130228        
130229        Per Darin Adler, I am breaking up the patch fixing bug 52444 into smaller pieces.
130230        This patch removes a couple unused functions, some extra blank lines, unused #include
130231        directives, etc., and adds a very few WebKit-standard changes to these files.
130232
130233        No new tests.
130234
130235        * rendering/mathml/RenderMathMLBlock.cpp:
130236        (WebCore):
130237        * rendering/mathml/RenderMathMLBlock.h:
130238        (WebCore::RenderMathMLBlock::getBoxModelObjectHeight):
130239            - changed to a static member function since 'this' is unused;
130240              removed redundant non-const version
130241        (WebCore::RenderMathMLBlock::getBoxModelObjectWidth):
130242            - changed to a static member function since 'this' is unused;
130243              removed redundant non-const version
130244        (WebCore):
130245        * rendering/mathml/RenderMathMLFraction.cpp:
130246        * rendering/mathml/RenderMathMLMath.cpp:
130247        * rendering/mathml/RenderMathMLMath.h:
130248        * rendering/mathml/RenderMathMLOperator.h:
130249        (WebCore):
130250        * rendering/mathml/RenderMathMLRoot.cpp:
130251        * rendering/mathml/RenderMathMLRow.cpp:
130252        * rendering/mathml/RenderMathMLRow.h:
130253        * rendering/mathml/RenderMathMLSquareRoot.cpp:
130254        * rendering/mathml/RenderMathMLSquareRoot.h:
130255        * rendering/mathml/RenderMathMLSubSup.cpp:
130256        * rendering/mathml/RenderMathMLSubSup.h:
130257        * rendering/mathml/RenderMathMLUnderOver.cpp:
130258        * rendering/mathml/RenderMathMLUnderOver.h:
130259
1302602012-02-07  David Reveman  <reveman@chromium.org>
130261
130262        [Chromium] REGRESSION(r101854): Causing large amounts of unnecessary repainting.
130263        https://bugs.webkit.org/show_bug.cgi?id=78020
130264
130265        Reviewed by James Robinson.
130266
130267        Revert r101854.
130268
130269        This patch is tested by the following unit test:
130270        - TextureManagerTest.requestTextureExceedingPreferredLimit
130271
130272        * platform/graphics/chromium/ManagedTexture.cpp:
130273        (WebCore::ManagedTexture::reserve):
130274        * platform/graphics/chromium/TextureManager.cpp:
130275        (WebCore::TextureManager::requestTexture):
130276        * platform/graphics/chromium/TextureManager.h:
130277        (TextureManager):
130278
1302792012-02-07  Anders Carlsson  <andersca@apple.com>
130280
130281        Use the non-fast-scrollable region to detect when we can't do fast scrolling
130282        https://bugs.webkit.org/show_bug.cgi?id=78056
130283        <rdar://problem/10247932>
130284
130285        Reviewed by Sam Weinig.
130286
130287        * page/scrolling/ScrollingCoordinator.cpp:
130288        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
130289        Actually set the non-fast scrollable region on the scrolling tree state.
130290
130291        * page/scrolling/ScrollingTree.cpp:
130292        (WebCore::ScrollingTree::tryToHandleWheelEvent):
130293        Check if the wheel event's position is inside the non-fast-scrollable region
130294        and return false if it is.
130295
130296        (WebCore::ScrollingTree::updateMainFrameScrollPosition):
130297        Store the cached main frame scroll position so we can use it in tryToHandleWheelEvent.
130298
130299        * platform/graphics/Region.cpp:
130300        * platform/graphics/Region.h:
130301        Add a simple contains(const IntPoint&) member function.
130302
1303032012-02-07  Dan Bernstein  <mitz@apple.com>
130304
130305        <rdar://problem/10475450> Synthetic bold is illegible under some scaling transforms
130306        https://bugs.webkit.org/show_bug.cgi?id=78044
130307
130308        Reviewed by Beth Dakin.
130309
130310        Tests: fast/text/synthetic-bold-transformed-expected.html
130311               fast/text/synthetic-bold-transformed.html
130312
130313        * platform/graphics/mac/FontMac.mm:
130314        (WebCore::Font::drawGlyphs): Changed to interpret syntheticBoldOffset as a length in device pixels.
130315
1303162012-02-07  Levi Weintraub  <leviw@chromium.org>
130317
130318        Update LayoutUnit usage in ColumnInfo and RenderFrameSet
130319        https://bugs.webkit.org/show_bug.cgi?id=77914
130320
130321        Reviewed by Eric Seidel.
130322
130323        Updating ColumnInfo and RenderFrameSet to use LayoutUnits
130324        instead of directly referencing integers for locations and
130325        distances.
130326
130327        No new tests. No changed behavior.
130328
130329        * rendering/ColumnInfo.h:
130330        (WebCore::ColumnInfo::forcedBreakOffset):
130331        (WebCore::ColumnInfo::maximumDistanceBetweenForcedBreaks):
130332        (ColumnInfo):
130333        * rendering/RenderFrameSet.cpp:
130334        (WebCore::RenderFrameSet::paintColumnBorder):
130335        (WebCore::RenderFrameSet::paintRowBorder):
130336        * rendering/RenderFrameSet.h:
130337        (RenderFrameSet):
130338
1303392012-02-07  Adam Klein  <adamk@chromium.org>
130340
130341        Add JSC support for delivering mutations when the outermost script context exits
130342        https://bugs.webkit.org/show_bug.cgi?id=70289
130343
130344        Reviewed by Eric Seidel.
130345
130346        The meat of this change is in JSMainThreadExecState, where a counter
130347        is incremented every time WebCore calls into JSC and decremented every
130348        time it returns. When the counter reaches zero, any pending mutations
130349        are delivered (this mirrors very similar code in V8Proxy and V8RecursionScope).
130350
130351        The rest of the changes are of two sorts: compilation/logic fixes for
130352        JSC code when ENABLE(MUTATION_OBSERVERS) is true, and additional
130353        usages of JSMainThreadExecState so as to trigger the above
130354        increment/decrements at the appropriate times.
130355
130356        * bindings/js/JSCustomXPathNSResolver.cpp:
130357        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
130358        Use JSMainThreadExecState instead of JSC::call.
130359        * bindings/js/JSDictionary.cpp:
130360        (WebCore::JSDictionary::convertValue): Add support
130361        for tryGetProperty with a HashMap<AtomicString>.
130362        * bindings/js/JSDictionary.h:
130363        * bindings/js/JSErrorHandler.cpp:
130364        (WebCore::JSErrorHandler::handleEvent):
130365        Use JSMainThreadExecState instead of JSC::call.
130366        * bindings/js/JSHTMLDocumentCustom.cpp:
130367        (WebCore::JSHTMLDocument::open):
130368        Use JSMainThreadExecState instead of JSC::call.
130369        * bindings/js/JSMainThreadExecState.cpp:
130370        (WebCore::JSMainThreadExecState::didLeaveScriptContext):
130371        * bindings/js/JSMainThreadExecState.h:
130372        (WebCore::JSMainThreadExecState::JSMainThreadExecState):
130373        Increment a static recursion level counter.
130374        (WebCore::JSMainThreadExecState::~JSMainThreadExecState):
130375        Decrement a static recursion level counter and, if we are
130376        at zero (the outermost script invocation), deliver any
130377        outstanding mutation records.
130378        * bindings/js/JSNodeFilterCondition.cpp:
130379        (WebCore::JSNodeFilterCondition::acceptNode):
130380        Use JSMainThreadExecState instead of JSC::call.
130381        * bindings/js/JSWebKitMutationObserverCustom.cpp:
130382        (WebCore::JSWebKitMutationObserver::observe):
130383        Fix JSDictionary logic, add support for attributeFilter.
130384
1303852012-02-07  Anders Carlsson  <andersca@apple.com>
130386
130387        Fix build.
130388
130389        * platform/ScrollableArea.h:
130390        (WebCore::ScrollableArea::scrollableAreaBoundingBox):
130391
1303922012-02-07  Levi Weintraub  <leviw@chromium.org>
130393
130394        [SVG] Use element disappears after scripted change
130395        https://bugs.webkit.org/show_bug.cgi?id=74392
130396
130397        Reviewed by Eric Seidel.
130398
130399        Solution uncovered by Nikolas Zimmermann. Removing an early return that caused
130400        SVGUseElements to not update the shadow root's style, and therefor not render
130401        correctly.
130402
130403        Test: svg/custom/use-disappears-after-style-update.svg
130404
130405        * svg/SVGUseElement.cpp:
130406        (WebCore::SVGUseElement::didRecalcStyle):
130407
1304082012-02-07  Kentaro Hara  <haraken@chromium.org>
130409
130410        Rename [v8OnProto] IDL attribute to [V8OnProto] IDL attribute
130411        https://bugs.webkit.org/show_bug.cgi?id=77973
130412
130413        Reviewed by Adam Barth.
130414
130415        This patch renames [v8OnProto] to [V8OnProto], since V8 specific IDL
130416        attributes should be prefixed by "V8".
130417
130418        No tests. No change in behavior.
130419
130420        * bindings/scripts/CodeGeneratorV8.pm:
130421        (GenerateNormalAttrGetter):
130422        (GenerateNormalAttrSetter):
130423        (GenerateSingleBatchedAttribute):
130424        (GenerateImplementation):
130425
1304262011-10-10  Jer Noble  <jer.noble@apple.com>
130427
130428        media/audio-data-url.html test broken on Lion
130429        https://bugs.webkit.org/show_bug.cgi?id=69779
130430
130431        Reviewed by Eric Carlson.
130432
130433        Do not use "OpenForPlayback" attribute on data:// urls, as CoreMedia/QuickTime X cannot
130434        handle those URLs.
130435
130436        * platform/graphics/mac/MediaPlayerPrivateQTKit.mm:
130437        (WebCore::MediaPlayerPrivateQTKit::createQTMovie):
130438
1304392012-02-07  Anders Carlsson  <andersca@apple.com>
130440
130441        Scrolling tree should keep track of region we can't do fast scrolling for
130442        https://bugs.webkit.org/show_bug.cgi?id=78050
130443
130444        Reviewed by Dan Bernstein.
130445
130446        We currently won't do fast scrolling for subframes and other types of scrollable areas.
130447        Because of this, we'll have the scrolling tree keep a region of the page for which we can't
130448        do fast scrolling. This region will be updated after layout.
130449
130450        * page/FrameView.cpp:
130451        (WebCore::FrameView::scrollableAreaBoundingBox):
130452        Return the bounding box.
130453
130454        * page/scrolling/ScrollingCoordinator.cpp:
130455        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
130456        Go through all the scrollable areas in this frame view and compute the region which we can't do
130457        fast scrolling for.
130458
130459        * page/scrolling/ScrollingTree.cpp:
130460        (WebCore::ScrollingTree::commitNewTreeState):
130461        Update the non-fast-scrollable region.
130462
130463        * page/scrolling/ScrollingTreeState.cpp:
130464        (WebCore::ScrollingTreeState::setNonFastScrollableRegion):
130465        Set the non-fast-scrollable region if it's changed.
130466
130467        * platform/ScrollableArea.h:
130468        Add scrollableAreaBoundingBox member function.
130469
130470        * rendering/RenderLayer.cpp:
130471        (WebCore::RenderLayer::scrollableAreaBoundingBox):
130472        Return the bounding box.
130473
130474        * rendering/RenderListBox.cpp:
130475        (WebCore::RenderListBox::scrollableAreaBoundingBox):
130476        Return the bounding box.
130477
1304782012-02-07  Levi Weintraub  <leviw@chromium.org>
130479
130480        unicode-bidi:plaintext is supposed to be effective on display:inline elements too
130481        https://bugs.webkit.org/show_bug.cgi?id=73310
130482
130483        Reviewed by Eric Seidel.
130484
130485        Adding support for unicode-bidi: plaintext as a property on inlines. These are treated
130486        like unicode-bidi: isolate with the addition of their directionality being determined
130487        by the UBA.
130488
130489        Tests: fast/text/international/inline-plaintext-is-isolated-expected.html
130490               fast/text/international/inline-plaintext-is-isolated.html
130491               fast/text/international/inline-plaintext-relayout-with-leading-neutrals-expected.html
130492               fast/text/international/inline-plaintext-relayout-with-leading-neutrals.html
130493               fast/text/international/inline-plaintext-with-generated-content-expected.html
130494               fast/text/international/inline-plaintext-with-generated-content.html
130495
130496        * platform/text/UnicodeBidi.h:
130497        (WebCore::isIsolated): Added this convenience function as Plaintext and Isolate Unicode-Bidi values
130498        are both treated as isolated content.
130499        * rendering/InlineIterator.h:
130500        (WebCore::notifyObserverEnteredObject): Inline now supports Unicode-Bidi Plaintext.
130501        (WebCore::notifyObserverWillExitObject): Ditto.
130502        (WebCore::bidiFirstSkippingEmptyInlines): Changed to support being called without a resolver.
130503        (WebCore::isIsolatedInline): Inline now supports Unicode-Bidi: Plaintext.
130504        * rendering/RenderBlockLineLayout.cpp:
130505        (WebCore::determineDirectionality): Generalized for inlines.
130506        (WebCore::constructBidiRuns): Added support for Unicode-Bidi: Plaintext as an isolated inline.
130507        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Fixed comment.
130508        (WebCore::RenderBlock::determineStartPosition): Fixed comment and switched to updated
130509        bidiFirstSkippingEmptyInlines.
130510
1305112012-02-07  Kentaro Hara  <haraken@chromium.org>
130512
130513        [Refactoring] Use the [IsWorkerContext] IDL in CodeGeneratorV8.pm
130514        https://bugs.webkit.org/show_bug.cgi?id=77957
130515
130516        Reviewed by Adam Barth.
130517
130518        This patch replaces IsSubType("WorkerContext") and something equivalent that
130519        with the [IsWorkerContext] IDL.
130520
130521        No tests. No change in behavior.
130522
130523        * bindings/scripts/CodeGeneratorV8.pm:
130524        (GetInternalFields):
130525        (GenerateConstructorGetter):
130526        (GenerateImplementation):
130527
1305282012-02-07  David Reveman  <reveman@chromium.org>
130529
130530        [Chromium] Crash when using per-tile painting on Windows.
130531        https://bugs.webkit.org/show_bug.cgi?id=75715
130532
130533        Reviewed by James Robinson.
130534
130535        PlatformCanvas constructor on win32 expects forth argument to be a
130536        shared section handle. Passing a pointer to a system memory causes
130537        it to crash. Fix this by not using the PlatformCanvas API for
130538        SkCanvas construction in per-tile texture uploader.
130539
130540        Tested with manual tests.
130541
130542        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
130543        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
130544        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
130545        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
130546        (Texture):
130547
1305482012-02-07  Jer Noble  <jer.noble@apple.com>
130549
130550        Unreviewed build fix; make OSStatus the explicit return type for CMTimebase functions.
130551
130552        * platform/mac/PlatformClockCM.mm:
130553
1305542012-02-07  James Robinson  <jamesr@chromium.org>
130555
130556        [chromium] Allow retaining texture across frames in composited video playback and correctly handle lost context
130557        https://bugs.webkit.org/show_bug.cgi?id=77923
130558
130559        Reviewed by Kenneth Russell.
130560
130561        Thanks to r106840, we can improve the video playback mode a bit. Instead of creating a new texture on every
130562        frame, this attempts to reuse the texture from the previous frame unless the context is lost. Also improves
130563        error checking in case the TextureManager cannot successfully reserve memory for the texture.
130564
130565        Tested manually by killing the GPU process with an html5 video playing and verifying that the video playback
130566        continues and that we don't create a new set of textures for each plane on each frame.
130567
130568        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
130569        (WebCore::CCVideoLayerImpl::draw):
130570        (WebCore::CCVideoLayerImpl::reserveTextures):
130571
1305722012-02-07  Matthew Delaney  <mdelaney@apple.com>
130573
130574        https://bugs.webkit.org/show_bug.cgi?id=77912
130575        Removing old CG shadow code.
130576        
130577        A CG-specific shadow offset hack was added in http://trac.webkit.org/changeset/34317
130578        for this particular setShadow method. However, this shadow offset adjustment for CG
130579        has since moved down into platform specific code. Thus, this offset adjustment here
130580        is now redundant.
130581
130582        The CG-only shadow setting code block in this setShadow method is now redundant.
130583        Since it sets the shadow values to the CGContext directly - and not to the State object -
130584        it will be overwritten later by any subsequent calls to setting shadow values such as
130585        blur, offset, or shadow color.
130586
130587        Reviewed by Simon Fraser.
130588
130589        No new tests. Current canvas tests cover this path.
130590
130591        * html/canvas/CanvasRenderingContext2D.cpp:
130592        (WebCore::CanvasRenderingContext2D::setShadow):
130593
1305942012-02-07  James Robinson  <jamesr@chromium.org>
130595
130596        [chromium] Gracefully handle compositor initialization failure in single-threaded proxy
130597        https://bugs.webkit.org/show_bug.cgi?id=78013
130598
130599        Reviewed by Kenneth Russell.
130600
130601        If compositor initialization fails it's not safe to proceed through the rest of the frame process. This adds
130602        some early outs.
130603
130604        Tested manually by forcing the first makeContextCurrent() call fail.
130605
130606        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
130607        (WebCore::CCLayerTreeHost::updateLayers):
130608        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
130609        (CCLayerTreeHost):
130610        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
130611        (WebCore::CCSingleThreadProxy::compositeAndReadback):
130612        (WebCore::CCSingleThreadProxy::compositeImmediately):
130613        (WebCore::CCSingleThreadProxy::commitIfNeeded):
130614        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
130615        (CCSingleThreadProxy):
130616
1306172012-02-07  Brady Eidson  <beidson@apple.com>
130618
130619        <rdar://problem/9567286> and https://bugs.webkit.org/show_bug.cgi?id=78003
130620        WebKit associates credentials with the wrong site if the authentication challenge takes place after a redirect chain
130621
130622        Reviewed by Alexey Proskuryakov.
130623
130624        Test: http/tests/loading/authentication-after-redirect-stores-wrong-credentials/authentication-after-redirect-stores-wrong-credentials.html
130625
130626        Associate the credential with the URL of the challenge itself, not the original request:
130627        * platform/network/cf/ResourceHandleCFNet.cpp:
130628        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge): 
130629        (WebCore::ResourceHandle::receivedCredential):
130630        * platform/network/mac/ResourceHandleMac.mm:
130631        (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
130632        (WebCore::ResourceHandle::receivedCredential):
130633
1306342012-02-07  Tony Chang  <tony@chromium.org>
130635
130636        move warning about css values and render style constants closer to where it applies
130637        https://bugs.webkit.org/show_bug.cgi?id=78017
130638
130639        Reviewed by Darin Adler.
130640
130641        Move the warning about keeping RenderStyleConstnats.h enums and
130642        CSSValueKeywords.in values in the same order closer to the properties
130643        that the warning applies to. The warning was easy to miss and was
130644        confusing since it doesn't apply to most values.
130645
130646        Also refactor 2 conversion functions to
130647        enumerate the possible values so the order doesn't matter.
130648
130649        No new tests, just refactoring and comment cleanup.
130650
130651        * css/CSSPrimitiveValueMappings.h:
130652        (WebCore::CSSPrimitiveValue::operator EListStylePosition): Name all possible values and add a NOT_REACHED().
130653        (WebCore::CSSPrimitiveValue::operator EUserModify): Name all possible values and add a NOT_REACHED().
130654        * css/CSSValueKeywords.in:
130655        * css/SVGCSSPropertyNames.in:
130656        * css/SVGCSSValueKeywords.in:
130657        * rendering/style/RenderStyleConstants.h:
130658
1306592012-02-06  Jer Noble  <jer.noble@apple.com>
130660
130661        Use CMClock as a timing source for PlatformClock where available.
130662        https://bugs.webkit.org/show_bug.cgi?id=77885
130663
130664        Reviewed by Eric Carlson.
130665
130666        No new tests; performance improvement covered by existing test cases.
130667
130668        * WebCore.xcodeproj/project.pbxproj:
130669        * platform/Clock.cpp:
130670        (Clock::create): Use PlatformClockCM if available.
130671        * platform/mac/PlatformClockCM.h: Added.
130672        (WebCore::PlatformClockCM::playRate):
130673        (WebCore::PlatformClockCM::isRunning):
130674        * platform/mac/PlatformClockCM.mm: Added.
130675        (PlatformClockCM::PlatformClockCM):
130676        (PlatformClockCM::initializeWithTimingSource):
130677        (PlatformClockCM::setCurrentTime):
130678        (PlatformClockCM::currentTime):
130679        (PlatformClockCM::setPlayRate):
130680        (PlatformClockCM::start):
130681        (PlatformClockCM::stop):
130682
1306832012-02-06  Anders Carlsson  <andersca@apple.com>
130684
130685        ScrollableAreaSet should be moved from Page to FrameView
130686        https://bugs.webkit.org/show_bug.cgi?id=62762
130687
130688        Reviewed by Beth Dakin.
130689
130690        It makes more sense for the set of scrollable areas to be per frame view instead of per page;
130691        scrollable areas are associated with a containing frame view and their lifecycle follows the lifecycle of the
130692        frame view much more closely. This could even fix a bunch of crashes where a scrollable area outlived its containing page.
130693
130694        * WebCore.exp.in:
130695        Replace the Page member functions with FrameView member functions instead.
130696
130697        * page/EventHandler.cpp:
130698        (WebCore::EventHandler::mouseMoved):
130699        Check if the frame view contains the given layer.
130700
130701        (WebCore::EventHandler::updateMouseEventTargetNode):
130702        Ditto.
130703
130704        * page/FocusController.cpp:
130705        (WebCore::contentAreaDidShowOrHide):
130706        Add helper function.
130707
130708        (WebCore::FocusController::setContainingWindowIsVisible):
130709        Call contentAreaDidShowOrHide for the main frame view, and for all scrollable areas
130710        inside all subframe views.
130711
130712        * page/FrameView.cpp:
130713        (WebCore::FrameView::FrameView):
130714        Use early returns to make the code more clear. Also, don't add the scrollable area to the set here.
130715
130716        (WebCore::FrameView::~FrameView):
130717        Don't remove the scrollable area here.
130718
130719        (WebCore::FrameView::zoomAnimatorTransformChanged):
130720        m_page is gone so use m_frame->page() instead.
130721
130722        (WebCore::FrameView::setAnimatorsAreActive):
130723        Call ScrollAnimator::setIsActive for all the scrollable areas in this frame view. Previously we used to do
130724        this for all scrollable areas on the page, but since setAnimatorsAreActive will be called for each document,
130725        this will be done implicitly.
130726
130727        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
130728        Call ScrollableArea::contentDidPaint for this frame view and all its immediate scrollable areas. Previously, we used
130729        to do this for all scrollable areas on the page, but we only need to do it for this frame view.
130730
130731        (WebCore::FrameView::scrollAnimatorEnabled):
130732        Get the page from m_frame since m_page is gone.
130733
130734        (WebCore::FrameView::addScrollableArea):
130735        (WebCore::FrameView::removeScrollableArea):
130736        (WebCore::FrameView::containsScrollableArea):
130737        Move these member functions here from Page.
130738
130739        (WebCore::FrameView::addChild):
130740        If we are adding a frame view, add it to the scrollable area set.
130741
130742        (WebCore::FrameView::removeChild):
130743        If we are removing a frame view, remove it from the scrollable area set.
130744
130745        * page/FrameView.h:
130746        Move the member function declarations and the scrollable area set member variable here from Page.
130747
130748        * page/Page.cpp:
130749        (WebCore::Page::~Page):
130750        Don't call disconnectPage on the scrollable areas anymore.
130751
130752        * platform/ScrollView.h:
130753        (ScrollView):
130754        Make addChild and removeChild virtual.
130755
130756        * platform/ScrollableArea.h:
130757        Remove disconnectFromPage.
130758
130759        * rendering/RenderLayer.cpp:
130760        (WebCore::RenderLayer::RenderLayer):
130761        (WebCore::RenderLayer::~RenderLayer):
130762        (WebCore::RenderLayer::styleChanged):
130763        The frame view now keeps track of the scrollable areas.
130764
130765        * rendering/RenderLayer.h:
130766        Remove the page member variable and disconnectFromPage.
130767
130768        * rendering/RenderListBox.cpp:
130769        (WebCore::RenderListBox::RenderListBox):
130770        (WebCore::RenderListBox::~RenderListBox):
130771        The frame view now keeps track of the scrollable areas.
130772
130773        * rendering/RenderListBox.h:
130774        Remove the page member variable and disconnectFromPage.
130775
1307762012-02-07  Matthew Delaney  <mdelaney@apple.com>
130777
130778        Remove redundant checks in CanvasRenderingContext2D.cpp
130779        https://bugs.webkit.org/show_bug.cgi?id=78000
130780
130781        Reviewed by Dan Bernstein.
130782
130783        * html/canvas/CanvasRenderingContext2D.cpp:
130784        (WebCore::CanvasRenderingContext2D::setShadowColor):
130785        (WebCore::CanvasRenderingContext2D::setShadow):
130786        (WebCore::CanvasRenderingContext2D::drawImage):
130787
1307882012-02-07  Abhishek Arya  <inferno@chromium.org>
130789
130790        Crash in ContainerNode functions due to mutation events.
130791        https://bugs.webkit.org/show_bug.cgi?id=77999
130792
130793        Reviewed by Ryosuke Niwa.
130794
130795        Add RefPtr to protect premature deletion of this due to mutation events.
130796
130797        Tests: fast/dom/remove-body-during-body-replacement.html
130798               fast/dom/remove-body-during-body-replacement2.html
130799
130800        * dom/ContainerNode.cpp:
130801        (WebCore::ContainerNode::insertBefore):
130802        (WebCore::ContainerNode::replaceChild):
130803        (WebCore::ContainerNode::removeChild):
130804        (WebCore::ContainerNode::appendChild):
130805
1308062012-02-07  Dana Jansens  <danakj@chromium.org>
130807
130808        [Chromium] Memory bug during occlusion tracking if Vector::append() needs to reallocate the buffer
130809        https://bugs.webkit.org/show_bug.cgi?id=77996
130810
130811        Reviewed by James Robinson.
130812
130813        We're holding onto the last element in the Vector and then calling
130814        append(). If append() reallocates the Vector's buffer, the pointer
130815        is no longer valid.
130816
130817        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
130818        (WebCore::enterTargetRenderSurface):
130819
1308202012-02-07  Abhishek Arya  <inferno@chromium.org>
130821
130822        Crash due to column style not updated on post block
130823        in splitInlines.
130824        https://bugs.webkit.org/show_bug.cgi?id=77939
130825
130826        Reviewed by Julien Chaffraix.
130827
130828        Test: fast/multicol/span/split-inline-wrong-post-block-crash.html
130829
130830        * rendering/RenderInline.cpp:
130831        (WebCore::RenderInline::splitFlow):
130832
1308332012-02-07  Peter Rybin  <peter.rybin@gmail.com>
130834
130835        Web Inspector: CodeGeneratorInspector.py: extend Array validator functionality
130836        https://bugs.webkit.org/show_bug.cgi?id=77919
130837
130838        Patch by Peter Rybin <peter.rybin@gmail.com> on 2012-02-07
130839        Reviewed by Yury Semikhatsky.
130840
130841        Array validator method runtimeCast is added, internal backing method
130842        is moved from .cpp to .h (it's template anyway), boolean validator is
130843        supported.
130844
130845        * inspector/CodeGeneratorInspector.py:
130846        (RawTypes.Bool.get_validate_method_params.ValidateMethodParams):
130847        (RawTypes.Bool.get_validate_method_params):
130848        (TypeBuilder):
130849
1308502012-02-07  Dean Jackson  <dino@apple.com>
130851
130852        Apple/Safari: Enable WebGL multisampling on ATI cards
130853        for OS X 10.7.2 and above.
130854        https://bugs.webkit.org/show_bug.cgi?id=77922
130855
130856        Address review comments by Alexey Proskuryakov and Mark Rowe.
130857
130858        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
130859        (WebCore::systemAllowsMultisamplingOnATICards):
130860
1308612012-02-07  Dean Jackson  <dino@apple.com>
130862
130863        Apple/Safari: Enable WebGL multisampling on ATI cards
130864        for OS X 10.7.2 and above.
130865        https://bugs.webkit.org/show_bug.cgi?id=77922
130866
130867        Reviewed by Chris Marrin.
130868
130869        Follow Chrome's lead to allow WebGL antialiasing
130870        on ATI cards as long as we're on 10.7.2 and above.
130871
130872        No new tests. Covered by existing tests.
130873
130874        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
130875        (WebCore::systemAllowsMultisamplingOnATICards):
130876        (WebCore):
130877        (WebCore::GraphicsContext3D::validateAttributes):
130878
1308792012-02-07  Pavel Feldman  <pfeldman@google.com>
130880
130881        Web Inspector: add generic support for undo-ing DOM edits.
130882        https://bugs.webkit.org/show_bug.cgi?id=77875
130883
130884        Reviewed by Yury Semikhatsky.
130885
130886        This change introduces InspectorHistory::Action that encapsulates all DOM modifications
130887        initiated by the inspector. There is a way to undo these actions up until the undoable
130888        state marker.
130889
130890        Tests: inspector/elements/undo-dom-edits-2.html
130891               inspector/elements/undo-dom-edits.html
130892               inspector/styles/undo-add-property.html
130893               inspector/styles/undo-change-property.html
130894               inspector/styles/undo-property-toggle.html
130895
130896        * CMakeLists.txt:
130897        * GNUmakefile.list.am:
130898        * Target.pri:
130899        * WebCore.gypi:
130900        * WebCore.vcproj/WebCore.vcproj:
130901        * WebCore.xcodeproj/project.pbxproj:
130902        * inspector/Inspector.json:
130903        * inspector/InspectorAllInOne.cpp:
130904        * inspector/InspectorCSSAgent.cpp:
130905        (InspectorCSSAgent::StyleSheetAction):
130906        (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
130907        (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
130908        (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
130909        (WebCore):
130910        (InspectorCSSAgent::SetStyleSheetTextAction):
130911        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
130912        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
130913        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
130914        (InspectorCSSAgent::SetPropertyTextAction):
130915        (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
130916        (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
130917        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
130918        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
130919        (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
130920        (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
130921        (InspectorCSSAgent::TogglePropertyAction):
130922        (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
130923        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
130924        (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
130925        (WebCore::InspectorCSSAgent::getStyleSheetText):
130926        (WebCore::InspectorCSSAgent::setStyleSheetText):
130927        (WebCore::InspectorCSSAgent::setPropertyText):
130928        (WebCore::InspectorCSSAgent::toggleProperty):
130929        * inspector/InspectorCSSAgent.h:
130930        (InspectorCSSAgent):
130931        * inspector/InspectorDOMAgent.cpp:
130932        (InspectorDOMAgent::DOMAction):
130933        (WebCore::InspectorDOMAgent::DOMAction::DOMAction):
130934        (WebCore::InspectorDOMAgent::DOMAction::perform):
130935        (WebCore::InspectorDOMAgent::DOMAction::undo):
130936        (WebCore):
130937        (InspectorDOMAgent::RemoveChildAction):
130938        (WebCore::InspectorDOMAgent::RemoveChildAction::RemoveChildAction):
130939        (WebCore::InspectorDOMAgent::RemoveChildAction::perform):
130940        (WebCore::InspectorDOMAgent::RemoveChildAction::undo):
130941        (InspectorDOMAgent::InsertBeforeAction):
130942        (WebCore::InspectorDOMAgent::InsertBeforeAction::InsertBeforeAction):
130943        (WebCore::InspectorDOMAgent::InsertBeforeAction::perform):
130944        (WebCore::InspectorDOMAgent::InsertBeforeAction::undo):
130945        (InspectorDOMAgent::RemoveAttributeAction):
130946        (WebCore::InspectorDOMAgent::RemoveAttributeAction::RemoveAttributeAction):
130947        (WebCore::InspectorDOMAgent::RemoveAttributeAction::perform):
130948        (WebCore::InspectorDOMAgent::RemoveAttributeAction::undo):
130949        (InspectorDOMAgent::SetAttributeAction):
130950        (WebCore::InspectorDOMAgent::SetAttributeAction::SetAttributeAction):
130951        (WebCore::InspectorDOMAgent::SetAttributeAction::perform):
130952        (WebCore::InspectorDOMAgent::SetAttributeAction::undo):
130953        (InspectorDOMAgent::SetOuterHTMLAction):
130954        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::SetOuterHTMLAction):
130955        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::perform):
130956        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::undo):
130957        (WebCore::InspectorDOMAgent::SetOuterHTMLAction::newNode):
130958        (InspectorDOMAgent::ReplaceWholeTextAction):
130959        (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::ReplaceWholeTextAction):
130960        (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::perform):
130961        (WebCore::InspectorDOMAgent::ReplaceWholeTextAction::undo):
130962        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
130963        (WebCore::InspectorDOMAgent::reset):
130964        (WebCore::InspectorDOMAgent::setAttributeValue):
130965        (WebCore::InspectorDOMAgent::setAttributesAsText):
130966        (WebCore::InspectorDOMAgent::removeAttribute):
130967        (WebCore::InspectorDOMAgent::removeNode):
130968        (WebCore::InspectorDOMAgent::setNodeName):
130969        (WebCore::InspectorDOMAgent::setOuterHTML):
130970        (WebCore::InspectorDOMAgent::setNodeValue):
130971        (WebCore::InspectorDOMAgent::moveTo):
130972        (WebCore::InspectorDOMAgent::undo):
130973        (WebCore::InspectorDOMAgent::markUndoableState):
130974        * inspector/InspectorDOMAgent.h:
130975        (InspectorDOMAgent):
130976        (WebCore::InspectorDOMAgent::history):
130977        * inspector/InspectorHistory.cpp: Added.
130978        (WebCore::InspectorHistory::Action::Action):
130979        (WebCore):
130980        (WebCore::InspectorHistory::Action::~Action):
130981        (WebCore::InspectorHistory::Action::toString):
130982        (WebCore::InspectorHistory::Action::isUndoableStateMark):
130983        (WebCore::InspectorHistory::Action::mergeId):
130984        (WebCore::InspectorHistory::Action::merge):
130985        (WebCore::InspectorHistory::InspectorHistory):
130986        (WebCore::InspectorHistory::~InspectorHistory):
130987        (WebCore::InspectorHistory::perform):
130988        (WebCore::InspectorHistory::markUndoableState):
130989        (WebCore::InspectorHistory::undo):
130990        (WebCore::InspectorHistory::reset):
130991        * inspector/InspectorHistory.h: Added.
130992        (WebCore):
130993        (InspectorHistory):
130994        (Action):
130995        * inspector/InspectorStyleSheet.cpp:
130996        (WebCore::InspectorStyle::setPropertyText):
130997        (WebCore::InspectorStyle::styleText):
130998        (WebCore::InspectorStyleSheet::addRule):
130999        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
131000        (WebCore::InspectorStyleSheet::buildObjectForStyle):
131001        (WebCore::InspectorStyleSheet::setPropertyText):
131002        (WebCore::InspectorStyleSheet::getText):
131003        (WebCore::InspectorStyleSheetForInlineStyle::getText):
131004        * inspector/InspectorStyleSheet.h:
131005        (InspectorStyle):
131006        (InspectorStyleSheet):
131007        (InspectorStyleSheetForInlineStyle):
131008        * inspector/front-end/CSSStyleModel.js:
131009        (WebInspector.CSSProperty.prototype.setText):
131010        * inspector/front-end/ElementsPanel.js:
131011        (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
131012        (WebInspector.ElementsPanel.prototype._updateSidebars):
131013        (WebInspector.ElementsPanel.prototype.handleShortcut):
131014        * inspector/front-end/StylesSidebarPane.js:
131015        (WebInspector.StylePropertiesSection.prototype.onpopulate):
131016        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
131017        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
131018        (WebInspector.StylePropertyTreeElement):
131019        (WebInspector.StylePropertyTreeElement.prototype):
131020
1310212012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
131022
131023        Unreviewed, rolling out r106935.
131024        http://trac.webkit.org/changeset/106935
131025        https://bugs.webkit.org/show_bug.cgi?id=77994
131026
131027        "Crashes runMultiThread webkit_unit_test" (Requested by tonyg-
131028        cr on #webkit).
131029
131030        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
131031        (WebCore::CCLayerTreeHost::setNeedsRedraw):
131032        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
131033        (WebCore::CCSingleThreadProxy::setNeedsRedraw):
131034        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
131035        (WebCore::CCThreadProxy::setNeedsRedraw):
131036        * platform/graphics/chromium/cc/CCThreadProxy.h:
131037        (CCThreadProxy):
131038
1310392012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
131040
131041        Unreviewed, rolling out r106932.
131042        http://trac.webkit.org/changeset/106932
131043        https://bugs.webkit.org/show_bug.cgi?id=77988
131044
131045        Breaks Mac bots (Requested by pfeldman on #webkit).
131046
131047        * CMakeLists.txt:
131048        * GNUmakefile.list.am:
131049        * Target.pri:
131050        * WebCore.gypi:
131051        * WebCore.vcproj/WebCore.vcproj:
131052        * WebCore.xcodeproj/project.pbxproj:
131053        * inspector/Inspector.json:
131054        * inspector/InspectorAllInOne.cpp:
131055        * inspector/InspectorCSSAgent.cpp:
131056        (WebCore::InspectorCSSAgent::getStyleSheetText):
131057        (WebCore::InspectorCSSAgent::setStyleSheetText):
131058        (WebCore::InspectorCSSAgent::setPropertyText):
131059        (WebCore::InspectorCSSAgent::toggleProperty):
131060        * inspector/InspectorCSSAgent.h:
131061        (InspectorCSSAgent):
131062        * inspector/InspectorDOMAgent.cpp:
131063        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
131064        (WebCore::InspectorDOMAgent::reset):
131065        (WebCore::InspectorDOMAgent::setAttributeValue):
131066        (WebCore::InspectorDOMAgent::setAttributesAsText):
131067        (WebCore::InspectorDOMAgent::removeAttribute):
131068        (WebCore::InspectorDOMAgent::removeNode):
131069        (WebCore::InspectorDOMAgent::setNodeName):
131070        (WebCore::InspectorDOMAgent::setOuterHTML):
131071        (WebCore::InspectorDOMAgent::setNodeValue):
131072        (WebCore::InspectorDOMAgent::moveTo):
131073        * inspector/InspectorDOMAgent.h:
131074        (InspectorDOMAgent):
131075        * inspector/InspectorHistory.cpp: Removed.
131076        * inspector/InspectorHistory.h: Removed.
131077        * inspector/InspectorStyleSheet.cpp:
131078        (WebCore::InspectorStyle::setPropertyText):
131079        (WebCore::InspectorStyle::styleText):
131080        (WebCore::InspectorStyleSheet::addRule):
131081        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
131082        (WebCore::InspectorStyleSheet::buildObjectForStyle):
131083        (WebCore::InspectorStyleSheet::setPropertyText):
131084        (WebCore::InspectorStyleSheet::text):
131085        (WebCore::InspectorStyleSheetForInlineStyle::text):
131086        * inspector/InspectorStyleSheet.h:
131087        (InspectorStyle):
131088        (InspectorStyleSheet):
131089        (InspectorStyleSheetForInlineStyle):
131090        * inspector/front-end/CSSStyleModel.js:
131091        (WebInspector.CSSProperty.prototype.setText):
131092        * inspector/front-end/ElementsPanel.js:
131093        (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
131094        (WebInspector.ElementsPanel.prototype.handleShortcut):
131095        * inspector/front-end/StylesSidebarPane.js:
131096        (WebInspector.StylePropertiesSection.prototype.onpopulate):
131097        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
131098        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
131099        (WebInspector.StylePropertyTreeElement):
131100        (WebInspector.StylePropertyTreeElement.prototype):
131101
1311022012-02-07  Priit Laes  <plaes@plaes.org>
131103
131104        [GTK] Build failure with --enable-web-audio
131105        https://bugs.webkit.org/show_bug.cgi?id=77978
131106
131107        Reviewed by Gustavo Noronha Silva.
131108
131109        * GNUmakefile.list.am: Include AudioSourceProviderClient.h
131110
1311112012-02-07  Alexei Filippov  <alexeif@chromium.org>
131112
131113        Web Inspector: fix objects duplication when switching filter in heap profiler.
131114        https://bugs.webkit.org/show_bug.cgi?id=77974
131115
131116        Reviewed by Yury Semikhatsky.
131117
131118        * inspector/front-end/DetailedHeapshotView.js:
131119        (WebInspector.HeapSnapshotConstructorsDataGrid.prototype.populateChildren):
131120
1311212012-02-07  Jonathan Backer  <backer@chromium.org>
131122
131123        [chromium] Add setNeedsRedraw to WebWidget
131124        https://bugs.webkit.org/show_bug.cgi?id=77555
131125
131126        Reviewed by James Robinson.
131127
131128        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
131129        (WebCore::CCLayerTreeHost::setNeedsRedraw):
131130        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
131131        (WebCore::CCSingleThreadProxy::setNeedsRedraw):
131132        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
131133        (WebCore::CCThreadProxy::setNeedsRedraw):
131134        (WebCore::CCThreadProxy::resetDamageTrackerOnImplThread):
131135        (WebCore):
131136        * platform/graphics/chromium/cc/CCThreadProxy.h:
131137        (CCThreadProxy):
131138
1311392012-02-07  Michael Brüning  <michael.bruning@nokia.com>
131140
131141        [Qt][WK2] Compute and set cache capacities using the current CacheModel
131142        https://bugs.webkit.org/show_bug.cgi?id=73918
131143
131144        Reviewed by Kenneth Rohde Christiansen.
131145
131146        No new tests. (build fix)
131147
131148        * platform/qt/FileSystemQt.cpp:
131149        (WebCore::getVolumeFreeSizeForPath):
131150
1311512012-02-07  Pavel Feldman  <pfeldman@google.com>
131152
131153        Web Inspector: add generic support for undo-ing DOM edits.
131154        https://bugs.webkit.org/show_bug.cgi?id=77875
131155
131156        Reviewed by Yury Semikhatsky.
131157
131158        This change introduces InspectorHistory::Action that encapsulates all DOM modifications
131159        initiated by the inspector. There is a way to undo these actions up until the undoable
131160        state marker.
131161
131162        Tests: inspector/elements/undo-dom-edits-2.html
131163               inspector/elements/undo-dom-edits.html
131164               inspector/styles/undo-add-property.html
131165               inspector/styles/undo-change-property.html
131166               inspector/styles/undo-property-toggle.html
131167
131168        * CMakeLists.txt:
131169        * GNUmakefile.list.am:
131170        * Target.pri:
131171        * WebCore.gypi:
131172        * WebCore.vcproj/WebCore.vcproj:
131173        * WebCore.xcodeproj/project.pbxproj:
131174        * inspector/Inspector.json:
131175        * inspector/InspectorAllInOne.cpp:
131176        * inspector/InspectorCSSAgent.cpp:
131177        (InspectorCSSAgent::StyleSheetAction):
131178        (WebCore::InspectorCSSAgent::StyleSheetAction::StyleSheetAction):
131179        (WebCore::InspectorCSSAgent::StyleSheetAction::perform):
131180        (WebCore::InspectorCSSAgent::StyleSheetAction::undo):
131181        (WebCore):
131182        (InspectorCSSAgent::SetStyleSheetTextAction):
131183        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::SetStyleSheetTextAction):
131184        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::perform):
131185        (WebCore::InspectorCSSAgent::SetStyleSheetTextAction::undo):
131186        (InspectorCSSAgent::SetPropertyTextAction):
131187        (WebCore::InspectorCSSAgent::SetPropertyTextAction::SetPropertyTextAction):
131188        (WebCore::InspectorCSSAgent::SetPropertyTextAction::toString):
131189        (WebCore::InspectorCSSAgent::SetPropertyTextAction::perform):
131190        (WebCore::InspectorCSSAgent::SetPropertyTextAction::undo):
131191        (WebCore::InspectorCSSAgent::SetPropertyTextAction::mergeId):
131192        (WebCore::InspectorCSSAgent::SetPropertyTextAction::merge):
131193        (InspectorCSSAgent::TogglePropertyAction):
131194        (WebCore::InspectorCSSAgent::TogglePropertyAction::TogglePropertyAction):
131195        (WebCore::InspectorCSSAgent::TogglePropertyAction::perform):
131196        (WebCore::InspectorCSSAgent::TogglePropertyAction::undo):
131197        (WebCore::InspectorCSSAgent::getStyleSheetText):
131198        (WebCore::InspectorCSSAgent::setStyleSheetText):
131199        (WebCore::InspectorCSSAgent::setPropertyText):
131200        (WebCore::InspectorCSSAgent::toggleProperty):
131201        * inspector/InspectorCSSAgent.h:
131202        (InspectorCSSAgent):
131203        * inspector/InspectorDOMAgent.cpp:
131204        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
131205        (WebCore::InspectorDOMAgent::reset):
131206        (WebCore::InspectorDOMAgent::setAttributeValue):
131207        (WebCore::InspectorDOMAgent::setAttributesAsText):
131208        (WebCore::InspectorDOMAgent::removeAttribute):
131209        (WebCore::InspectorDOMAgent::removeNode):
131210        (WebCore::InspectorDOMAgent::setNodeName):
131211        (WebCore::InspectorDOMAgent::setOuterHTML):
131212        (WebCore::InspectorDOMAgent::setNodeValue):
131213        (WebCore::InspectorDOMAgent::moveTo):
131214        (WebCore::InspectorDOMAgent::undo):
131215        (WebCore):
131216        (WebCore::InspectorDOMAgent::markUndoableState):
131217        * inspector/InspectorDOMAgent.h:
131218        (InspectorDOMAgent):
131219        (WebCore::InspectorDOMAgent::history):
131220        * inspector/InspectorHistory.cpp: Added.
131221        (WebCore::InspectorHistory::Action::Action):
131222        (WebCore):
131223        (WebCore::InspectorHistory::Action::~Action):
131224        (WebCore::InspectorHistory::Action::toString):
131225        (WebCore::InspectorHistory::Action::isUndoableStateMark):
131226        (WebCore::InspectorHistory::Action::mergeId):
131227        (WebCore::InspectorHistory::Action::merge):
131228        (WebCore::InspectorHistory::InspectorHistory):
131229        (WebCore::InspectorHistory::~InspectorHistory):
131230        (WebCore::InspectorHistory::perform):
131231        (WebCore::InspectorHistory::markUndoableState):
131232        (WebCore::InspectorHistory::undo):
131233        (WebCore::InspectorHistory::reset):
131234        * inspector/InspectorHistory.h: Added.
131235        (WebCore):
131236        (InspectorHistory):
131237        (Action):
131238        * inspector/InspectorStyleSheet.cpp:
131239        (WebCore::InspectorStyle::setPropertyText):
131240        (WebCore::InspectorStyle::styleText):
131241        (WebCore::InspectorStyleSheet::addRule):
131242        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
131243        (WebCore::InspectorStyleSheet::buildObjectForStyle):
131244        (WebCore::InspectorStyleSheet::setPropertyText):
131245        (WebCore::InspectorStyleSheet::getText):
131246        (WebCore::InspectorStyleSheetForInlineStyle::getText):
131247        * inspector/InspectorStyleSheet.h:
131248        (InspectorStyle):
131249        (InspectorStyleSheet):
131250        (InspectorStyleSheetForInlineStyle):
131251        * inspector/front-end/CSSStyleModel.js:
131252        (WebInspector.CSSProperty.prototype.setText):
131253        * inspector/front-end/ElementsPanel.js:
131254        (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
131255        (WebInspector.ElementsPanel.prototype._updateSidebars):
131256        (WebInspector.ElementsPanel.prototype.handleShortcut):
131257        * inspector/front-end/StylesSidebarPane.js:
131258        (WebInspector.StylePropertiesSection.prototype.onpopulate):
131259        (WebInspector.StylePropertiesSection.prototype.addNewBlankProperty):
131260        (WebInspector.ComputedStylePropertiesSection.prototype.onpopulate):
131261        (WebInspector.StylePropertyTreeElement):
131262        (WebInspector.StylePropertyTreeElement.prototype):
131263
1312642012-02-07  Chris Guan  <chris.guan@torchmobile.com.cn>
131265
131266        [Blackberry] Clean up Networkjob and Networkmanger: remove unused variables in release build and change some public functions into be private ones
131267        https://bugs.webkit.org/show_bug.cgi?id=77926
131268
131269        Reviewed by Rob Buis.
131270
131271        1. rename clientIsOk to isClientAvailable.
131272        2. m_isRunning is only for an ASSERT in NetWorkManager, So move out from
131273        release build but keep available in debug build.
131274        
131275        No changes in behavior, so no new tests.
131276
131277        * platform/network/blackberry/NetworkJob.cpp:
131278        (WebCore::NetworkJob::NetworkJob):
131279        (WebCore::NetworkJob::handleNotifyDataReceived):
131280        (WebCore::NetworkJob::handleNotifyDataSent):
131281        (WebCore::NetworkJob::handleNotifyClose):
131282        (WebCore::NetworkJob::startNewJobWithRequest):
131283        (WebCore::NetworkJob::sendResponseIfNeeded):
131284        (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
131285        * platform/network/blackberry/NetworkJob.h:
131286        (NetworkJob):
131287        (WebCore::NetworkJob::isClientAvailable):
131288
1312892012-02-06  Yury Semikhatsky  <yurys@chromium.org>
131290
131291        Web Inspector: don't mark object is queriable if it is only reachable by internal reference
131292        https://bugs.webkit.org/show_bug.cgi?id=77877
131293
131294        Reviewed by Pavel Feldman.
131295
131296        * inspector/front-end/HeapSnapshot.js:
131297        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
131298
1312992012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
131300
131301        Unreviewed, rolling out r106909.
131302        http://trac.webkit.org/changeset/106909
131303        https://bugs.webkit.org/show_bug.cgi?id=77965
131304
131305        ~20 tests are crashing on chromium win release bot. (Requested
131306        by loislo on #webkit).
131307
131308        * html/HTMLDetailsElement.cpp:
131309        (WebCore::HTMLDetailsElement::createShadowSubtree):
131310        * html/HTMLKeygenElement.cpp:
131311        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
131312        * html/HTMLMeterElement.cpp:
131313        (WebCore::HTMLMeterElement::createShadowSubtree):
131314        * html/HTMLProgressElement.cpp:
131315        (WebCore::HTMLProgressElement::createShadowSubtree):
131316        * html/HTMLSummaryElement.cpp:
131317        (WebCore::HTMLSummaryElement::createShadowSubtree):
131318        * html/HTMLTextAreaElement.cpp:
131319        (WebCore::HTMLTextAreaElement::createShadowSubtree):
131320
1313212012-02-07  Andreas Kling  <awesomekling@apple.com>
131322
131323        REGRESSION(r106819): ~28% or so performance regression on the ManInBlue HTML benchmark
131324        <http://webkit.org/b/77952>
131325
131326        Reviewed by Andreas Kling.
131327        Patch by Ryosuke Niwa.
131328
131329        The performance regression was caused by using ensureAttributeData() which forces the
131330        regeneration of invalidated attributes ("style" and SVG animatable attributes.)
131331        Added an ensureAttributeDataWithoutUpdate() helper that only ensures the presence
131332        of ElementAttributeData, not the validity of its contents. Use that when grabbing
131333        at an element's inline and attribute styles.
131334
131335        * dom/Element.h:
131336        (Element):
131337        (WebCore::Element::ensureAttributeDataWithoutUpdate):
131338        * dom/StyledElement.h:
131339        (WebCore::StyledElement::ensureInlineStyleDecl):
131340        (WebCore::StyledElement::ensureAttributeStyle):
131341
1313422012-02-07  Michael Brüning  <michael.bruning@nokia.com>
131343
131344        [Qt][WK2] Compute and set cache capacities using the current CacheModel
131345        https://bugs.webkit.org/show_bug.cgi?id=73918
131346
131347        Reviewed by Csaba Osztrogonác.
131348
131349        No new tests. (build fix).
131350
131351        * platform/qt/FileSystemQt.cpp:
131352
1313532012-02-07  Michael Brüning  <michael.bruning@nokia.com>
131354
131355        [Qt][WK2] Compute and set cache capacities using the current CacheModel
131356        https://bugs.webkit.org/show_bug.cgi?id=73918
131357
131358        Reviewed by Kenneth Rohde Christiansen.
131359
131360        No new tests. (Not applicable)
131361
131362        Added OS-specific implementation for retrieving the free disk space.
131363
131364        * platform/FileSystem.h:
131365        (WebCore):
131366        * platform/qt/FileSystemQt.cpp:
131367        (WebCore::getVolumeFreeSizeForPath):
131368        (WebCore):
131369
1313702012-02-07  Kenneth Rohde Christiansen  <kenneth@webkit.org>
131371
131372        [Inspector] Add the Nokia N9 user agent
131373        https://bugs.webkit.org/show_bug.cgi?id=77949
131374
131375        Reviewed by Simon Hausmann.
131376
131377        * inspector/front-end/SettingsScreen.js:
131378        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
131379
1313802012-02-07  Alexander Pavlov  <apavlov@chromium.org>
131381
131382        [CRASH] bool EventHandler::dispatchSyntheticTouchEventIfEnabled(const PlatformMouseEvent& event) references a NULL pointer
131383        https://bugs.webkit.org/show_bug.cgi?id=77953
131384
131385        Reviewed by Andreas Kling.
131386
131387        * page/EventHandler.cpp:
131388        (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled):
131389
1313902012-02-07  Sheriff Bot  <webkit.review.bot@gmail.com>
131391
131392        Unreviewed, rolling out r106912.
131393        http://trac.webkit.org/changeset/106912
131394        https://bugs.webkit.org/show_bug.cgi?id=77947
131395
131396        "AppleWebKit build is broken" (Requested by haraken on
131397        #webkit).
131398
131399        * dom/ScriptExecutionContext.cpp:
131400        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
131401        (WebCore):
131402        * dom/ScriptExecutionContext.h:
131403        (WebCore):
131404        (ScriptExecutionContext):
131405        * html/DOMURL.cpp:
131406        (WebCore::DOMURL::DOMURL):
131407        (WebCore):
131408        (WebCore::DOMURL::~DOMURL):
131409        (WebCore::DOMURL::contextDestroyed):
131410        (WebCore::DOMURL::createObjectURL):
131411        (WebCore::DOMURL::revokeObjectURL):
131412        * html/DOMURL.h:
131413        (WebCore::DOMURL::create):
131414        (DOMURL):
131415        * html/DOMURL.idl:
131416        * html/PublicURLManager.h: Removed.
131417        * page/DOMWindow.cpp:
131418        (WebCore):
131419        (WebCore::DOMWindow::webkitURL):
131420        * page/DOMWindow.h:
131421        (DOMWindow):
131422        * page/DOMWindow.idl:
131423        * workers/WorkerContext.cpp:
131424        (WebCore):
131425        (WebCore::WorkerContext::webkitURL):
131426        * workers/WorkerContext.h:
131427        (WorkerContext):
131428        * workers/WorkerContext.idl:
131429
1314302012-02-07  Kentaro Hara  <haraken@chromium.org>
131431
131432        Unreviewed, rolling out r106862.
131433        http://trac.webkit.org/changeset/106862
131434        https://bugs.webkit.org/show_bug.cgi?id=77510
131435
131436        Mac build fails if we manually remove generated code
131437
131438        * DerivedSources.make:
131439        * bindings/scripts/generate-bindings.pl:
131440        (generateEmptyHeaderAndCpp):
131441        * bindings/scripts/resolve-supplemental.pl:
131442        * bindings/scripts/update-idl-needs-rebuild.pl: Removed.
131443
1314442012-02-07  Kaustubh Atrawalkar  <kaustubh@motorola.com>
131445
131446        Migrate createObjectURL & revokeObjectURL to static (Class) methods.
131447        https://bugs.webkit.org/show_bug.cgi?id=74386
131448
131449        Reviewed by David Levin.
131450
131451        Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
131452        Already Existing:
131453            fast/files/revoke-blob-url.html
131454            fast/dom/window-domurl-crash.html
131455            fast/files/apply-blob-url-to-img.html
131456            fast/files/create-blob-url-crash.html
131457            fast/files/workers/inline-worker-via-blob-url.html
131458
131459        * dom/ScriptExecutionContext.cpp:
131460        (WebCore::ScriptExecutionContext::fileThread):
131461        (WebCore):
131462        (WebCore::ScriptExecutionContext::publicURLManager):
131463        * dom/ScriptExecutionContext.h:
131464        (WebCore):
131465        (ScriptExecutionContext):
131466        * html/DOMURL.cpp:
131467        (WebCore):
131468        (WebCore::DOMURL::createObjectURL): Changed to static.
131469        (WebCore::DOMURL::revokeObjectURL): ditto.
131470        * html/DOMURL.h:
131471        (DOMURL):
131472        (WebCore::DOMURL::create):
131473        * html/DOMURL.idl:
131474        * html/PublicURLManager.h: Added.
131475        (WebCore):
131476        (PublicURLManager):
131477        (WebCore::PublicURLManager::create):
131478        (WebCore::PublicURLManager::contextDestroyed):
131479        (WebCore::PublicURLManager::blobURLs):
131480        (WebCore::PublicURLManager::streamURLs):
131481        * page/DOMWindow.cpp: Removed object initialization for DOMURL.
131482        (WebCore):
131483        * page/DOMWindow.h: ditto.
131484        (DOMWindow):
131485        * page/DOMWindow.idl:
131486        * workers/WorkerContext.cpp:
131487        (WebCore):
131488        * workers/WorkerContext.h:
131489        (WorkerContext):
131490        * workers/WorkerContext.idl:
131491
1314922012-02-03  Vsevolod Vlasov  <vsevik@chromium.org>
131493
131494        http/tests/inspector/indexeddb/database-structure.html failing on chromium win/linux
131495        https://bugs.webkit.org/show_bug.cgi?id=77661
131496
131497        Reviewed by Yury Semikhatsky.
131498
131499        * inspector/InspectorIndexedDBAgent.cpp:
131500        (WebCore):
131501
1315022012-02-07  Hayato Ito  <hayato@chromium.org>
131503
131504        Fix build on Mac with '--shadow-dom'.
131505        https://bugs.webkit.org/show_bug.cgi?id=77940
131506
131507        Reviewed by Hajime Morita.
131508
131509        * WebCore.xcodeproj/project.pbxproj:
131510
1315112012-02-06  Shinya Kawanaka  <shinyak@google.com>
131512
131513        Stop calling Element::ensureShadowRoot() if it is used in construction phase.
131514        https://bugs.webkit.org/show_bug.cgi?id=77929
131515
131516        Reviewed by Hajime Morita.
131517
131518        ShadowRoot's life cycle can be consufing If Element::ensureShadowRoot() is used.
131519        So we want to remove Element::ensureShadowRoot().
131520        This patch replaces Element::ensureShadowRoot() if it is used in object construction phase.
131521
131522        No new tests, no change in behavior.
131523
131524        * html/HTMLDetailsElement.cpp:
131525        (WebCore::HTMLDetailsElement::createShadowSubtree):
131526        * html/HTMLKeygenElement.cpp:
131527        (WebCore::HTMLKeygenElement::HTMLKeygenElement):
131528        * html/HTMLMeterElement.cpp:
131529        (WebCore::HTMLMeterElement::createShadowSubtree):
131530        * html/HTMLProgressElement.cpp:
131531        (WebCore::HTMLProgressElement::createShadowSubtree):
131532        * html/HTMLSummaryElement.cpp:
131533        (WebCore::HTMLSummaryElement::createShadowSubtree):
131534        * html/HTMLTextAreaElement.cpp:
131535        (WebCore::HTMLTextAreaElement::createShadowSubtree):
131536
1315372012-02-06  Shinya Kawanaka  <shinyak@google.com>
131538
131539        Remove Element::ensureShadowRoot export.
131540        https://bugs.webkit.org/show_bug.cgi?id=77932
131541
131542        Reviewed by Hajime Morita.
131543
131544        Removes Element::ensureShadowRoot export.
131545
131546        No new tests, no change in behavior.
131547
131548        * WebCore.exp.in:
131549
1315502012-02-06  Ilya Tikhonovsky  <loislo@chromium.org>
131551
131552        Unreviewed. Web Inspector: rename Artificial to Synthetic according to v8 patch r10614.
131553
131554        * inspector/front-end/DetailedHeapshotGridNodes.js:
131555        * inspector/front-end/HeapSnapshot.js:
131556        (WebInspector.HeapSnapshotNode.prototype.get isSynthetic):
131557        (WebInspector.HeapSnapshot.prototype._init):
131558
1315592012-02-06  Hayato Ito  <hayato@chromium.org>
131560
131561        Implement querySelector on ShadowRoot.
131562        https://bugs.webkit.org/show_bug.cgi?id=77714
131563
131564        Reviewed by Dimitri Glazkov.
131565
131566        * dom/SelectorQuery.cpp:
131567        (WebCore::nodeIsRootNodeOfTreeScope):
131568        (WebCore):
131569        (WebCore::SelectorDataList::execute):
131570
1315712012-02-06  Martin Robinson  <mrobinson@igalia.com> and Nayan Kumar K  <nayankk@motorola.com>
131572
131573        [GTK] Add TextureMapperGL implementation
131574        https://bugs.webkit.org/show_bug.cgi?id=75308
131575
131576        Reviewed by Alejandro G. Castro.
131577
131578        No new tests. This will be covered by accelerated compositing and
131579        3D CSS transform tests eventually.
131580
131581        * GNUmakefile.list.am: Added some files necessary to build TextureMapperGL.
131582        * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added implementations.
131583        * platform/graphics/cairo/TextureMapperGLCairo.h: Updated member list.
131584        * platform/graphics/gtk/WindowGLContext.h: Added.
131585        * platform/graphics/gtk/WindowGLContextGLX.cpp: Added.
131586        * platform/graphics/opengl/TextureMapperGL.cpp: Use the GL shims on GTK.
131587
1315882012-02-06  Emil A Eklund  <eae@chromium.org>
131589
131590        Change baselinePosition and lineHeight to LayoutUnit
131591        https://bugs.webkit.org/show_bug.cgi?id=77905
131592
131593        Reviewed by Eric Seidel.
131594
131595        Change the virtual baselinePosition and lineHeight methods to return
131596        LayoutUnits as they are both computed from the height and top/bottom
131597        margins (or width and left/right margins for vertical text), all of
131598        which are LayoutUnits.
131599
131600        No new tests.
131601
131602        * platform/efl/RenderThemeEfl.cpp:
131603        (WebCore::RenderThemeEfl::baselinePosition):
131604        * platform/efl/RenderThemeEfl.h:
131605        (RenderThemeEfl):
131606        * platform/gtk/RenderThemeGtk.cpp:
131607        (WebCore::RenderThemeGtk::baselinePosition):
131608        * platform/gtk/RenderThemeGtk.h:
131609        (RenderThemeGtk):
131610        * platform/qt/RenderThemeQt.cpp:
131611        (WebCore::RenderThemeQt::baselinePosition):
131612        * platform/qt/RenderThemeQt.h:
131613        (RenderThemeQt):
131614        * rendering/RenderListMarker.cpp:
131615        (WebCore::RenderListMarker::lineHeight):
131616        (WebCore::RenderListMarker::baselinePosition):
131617        * rendering/RenderListMarker.h:
131618        (RenderListMarker):
131619        * rendering/RenderSlider.cpp:
131620        (WebCore::RenderSlider::baselinePosition):
131621        * rendering/RenderSlider.h:
131622        (RenderSlider):
131623        * rendering/RootInlineBox.h:
131624        (WebCore::RootInlineBox::baselinePosition):
131625        (WebCore::RootInlineBox::lineHeight):
131626        * rendering/mathml/RenderMathMLFraction.cpp:
131627        (WebCore::RenderMathMLFraction::baselinePosition):
131628        * rendering/mathml/RenderMathMLFraction.h:
131629        (RenderMathMLFraction):
131630        * rendering/mathml/RenderMathMLOperator.cpp:
131631        (WebCore::RenderMathMLOperator::baselinePosition):
131632        * rendering/mathml/RenderMathMLOperator.h:
131633        (RenderMathMLOperator):
131634        * rendering/mathml/RenderMathMLRow.cpp:
131635        (WebCore::RenderMathMLRow::baselinePosition):
131636        * rendering/mathml/RenderMathMLRow.h:
131637        (RenderMathMLRow):
131638        * rendering/mathml/RenderMathMLSubSup.cpp:
131639        (WebCore::RenderMathMLSubSup::baselinePosition):
131640        * rendering/mathml/RenderMathMLSubSup.h:
131641        (RenderMathMLSubSup):
131642        * rendering/mathml/RenderMathMLUnderOver.cpp:
131643        (WebCore::RenderMathMLUnderOver::baselinePosition):
131644        * rendering/mathml/RenderMathMLUnderOver.h:
131645        (RenderMathMLUnderOver):
131646
1316472012-02-06  Xianzhu Wang  <wangxianzhu@chromium.org>
131648
131649        Avoid Page::updateViewportArguments() if the causing frame is not the main frame
131650        https://bugs.webkit.org/show_bug.cgi?id=77387
131651
131652        Reviewed by Kenneth Rohde Christiansen.
131653
131654        * dom/Document.cpp:
131655        (WebCore::Document::processViewport):
131656        (WebCore::Document::updateViewportArguments):
131657        (WebCore::Document::setInPageCache):
131658        * dom/Document.h:
131659        (Document):
131660        * html/HTMLBodyElement.cpp:
131661        (WebCore::HTMLBodyElement::insertedIntoDocument):
131662        * page/Frame.cpp:
131663        (WebCore::Frame::setDocument):
131664        * page/Page.cpp:
131665        (WebCore::Page::viewportArguments):
131666        (WebCore):
131667        * page/Page.h:
131668        (Page):
131669
1316702012-02-06  Martin Robinson  <mrobinson@igalia.com>
131671
131672        Fix some miscellaneous 'make dist' error for WebKitGTK+.
131673
131674        * GNUmakefile.list.am: Add some missing Shadow DOM files to the
131675        source list.
131676
1316772012-02-06  Dana Jansens  <danakj@chromium.org>
131678
131679        Add contains() test to Region
131680        https://bugs.webkit.org/show_bug.cgi?id=72294
131681
131682        Reviewed by Anders Carlsson.
131683
131684        * platform/graphics/Region.cpp:
131685        (WebCore::Region::contains):
131686        (WebCore):
131687        * platform/graphics/Region.h:
131688        (Region):
131689        (Shape):
131690        (WebCore::operator==):
131691        (WebCore):
131692
1316932012-02-06  Kentaro Hara  <haraken@chromium.org>
131694
131695        Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
131696        [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
131697        https://bugs.webkit.org/show_bug.cgi?id=77852
131698
131699        Reviewed by Adam Barth.
131700
131701        This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
131702        [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
131703
131704        [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
131705        constant value is equal to the expected constant value)
131706        [ReturnsNew] => [ReturnNewObject] (For clarification)
131707        [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
131708        with other [*Getter] IDLs)
131709        [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
131710        with other [*Setter] IDLs)
131711        [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
131712        name in implementation)
131713
131714        No tests. No change in behavior.
131715
131716        * bindings/scripts/CodeGenerator.pm:
131717        (ShouldCheckEnums):
131718        (GenerateCompileTimeCheckForEnumsIfNeeded):
131719        * bindings/scripts/CodeGeneratorJS.pm:
131720        (GenerateHeader):
131721        (GenerateImplementation):
131722        (NativeToJSValue):
131723        * bindings/scripts/CodeGeneratorV8.pm:
131724        (GenerateSingleBatchedAttribute):
131725        (GenerateFunctionCallString):
131726        (NativeToJSValue):
131727
131728        * bindings/scripts/test/TestObj.idl:
131729        * bindings/scripts/test/TestTypedArray.idl:
131730
131731        * bindings/scripts/test/JS/JSTestInterface.cpp:
131732        (WebCore):
131733        * bindings/scripts/test/JS/JSTestObj.cpp:
131734        (WebCore):
131735        * bindings/scripts/test/V8/V8TestInterface.cpp:
131736        (WebCore):
131737        * bindings/scripts/test/V8/V8TestObj.cpp:
131738        (WebCore):
131739
131740        * css/WebKitCSSFilterValue.idl:
131741        * css/WebKitCSSTransformValue.idl:
131742        * dom/DOMCoreException.idl:
131743        * dom/Document.idl:
131744        * dom/EventException.idl:
131745        * dom/RangeException.idl:
131746        * fileapi/FileException.idl:
131747        * fileapi/OperationNotAllowedException.idl:
131748        * html/HTMLFormElement.idl:
131749        * html/canvas/Float32Array.idl:
131750        * html/canvas/Float64Array.idl:
131751        * html/canvas/Int16Array.idl:
131752        * html/canvas/Int32Array.idl:
131753        * html/canvas/Int8Array.idl:
131754        * html/canvas/OESStandardDerivatives.idl:
131755        * html/canvas/OESVertexArrayObject.idl:
131756        * html/canvas/Uint16Array.idl:
131757        * html/canvas/Uint32Array.idl:
131758        * html/canvas/Uint8Array.idl:
131759        * html/canvas/Uint8ClampedArray.idl:
131760        * html/canvas/WebGLCompressedTextures.idl:
131761        * html/canvas/WebGLDebugRendererInfo.idl:
131762        * html/canvas/WebGLRenderingContext.idl:
131763        * inspector/JavaScriptCallFrame.idl:
131764        * loader/appcache/DOMApplicationCache.idl:
131765        * page/Console.idl:
131766        * page/DOMWindow.idl:
131767        * page/Location.idl:
131768        * storage/IDBCursor.idl:
131769        * storage/IDBDatabaseException.idl:
131770        * storage/IDBObjectStore.idl:
131771        * storage/SQLException.idl:
131772        * svg/SVGComponentTransferFunctionElement.idl:
131773        * svg/SVGException.idl:
131774        * svg/SVGFEBlendElement.idl:
131775        * svg/SVGFEColorMatrixElement.idl:
131776        * svg/SVGFECompositeElement.idl:
131777        * svg/SVGFEConvolveMatrixElement.idl:
131778        * svg/SVGFEDisplacementMapElement.idl:
131779        * svg/SVGFEMorphologyElement.idl:
131780        * svg/SVGFETurbulenceElement.idl:
131781        * svg/SVGGradientElement.idl:
131782        * xml/XMLHttpRequestException.idl:
131783        * xml/XPathException.idl:
131784
1317852012-02-06  James Robinson  <jamesr@chromium.org>
131786
131787        [chromium] canvas demo is slow due to unnecessary resource cleanups
131788        https://bugs.webkit.org/show_bug.cgi?id=77135
131789
131790        Reviewed by Kenneth Russell.
131791
131792        This defers dropping a ManagedTexture until it is evicted by the manager, the layer is destroyed, the
131793        TextureManager is destroyed, or the layer is added to a CCLayerTreeHost that has a different texture manager. In
131794        particular, removing a layer from a CCLayerTreeHost and then adding it back to the same host does not drop any
131795        ManagedTextures unless the manager has to evict it for other reasons. This provides a big speedup on sites that
131796        rebuild the compositing tree frequently.
131797
131798        New unit test added for ManagedTexture / TextureManager interaction.
131799
131800        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
131801        (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
131802        (WebCore::Canvas2DLayerChromium::setTextureManager):
131803        * platform/graphics/chromium/Canvas2DLayerChromium.h:
131804        (Canvas2DLayerChromium):
131805        * platform/graphics/chromium/LayerChromium.cpp:
131806        (WebCore::LayerChromium::setLayerTreeHost):
131807        * platform/graphics/chromium/LayerChromium.h:
131808        (LayerChromium):
131809        * platform/graphics/chromium/ManagedTexture.cpp:
131810        (WebCore::ManagedTexture::setTextureManager):
131811        (WebCore):
131812        (WebCore::ManagedTexture::steal):
131813        (WebCore::ManagedTexture::clear):
131814        * platform/graphics/chromium/ManagedTexture.h:
131815        (ManagedTexture):
131816        * platform/graphics/chromium/RenderSurfaceChromium.h:
131817        (RenderSurfaceChromium):
131818        * platform/graphics/chromium/TiledLayerChromium.cpp:
131819        (WebCore::TiledLayerChromium::setLayerTreeHost):
131820        (WebCore):
131821        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
131822        * platform/graphics/chromium/TiledLayerChromium.h:
131823
1318242012-02-06  Kentaro Hara  <haraken@chromium.org>
131825
131826        Unreviewed, rolling out r106883.
131827        http://trac.webkit.org/changeset/106883
131828        https://bugs.webkit.org/show_bug.cgi?id=77852
131829
131830        build failure around Chromium V8 bindings
131831
131832        * bindings/scripts/CodeGenerator.pm:
131833        (ShouldCheckEnums):
131834        (GenerateCompileTimeCheckForEnumsIfNeeded):
131835        * bindings/scripts/CodeGeneratorJS.pm:
131836        (GenerateHeader):
131837        (GenerateImplementation):
131838        (NativeToJSValue):
131839        * bindings/scripts/CodeGeneratorV8.pm:
131840        (GenerateSingleBatchedAttribute):
131841        (GenerateFunctionCallString):
131842        (NativeToJSValue):
131843        * bindings/scripts/test/JS/JSTestInterface.cpp:
131844        (WebCore):
131845        * bindings/scripts/test/JS/JSTestObj.cpp:
131846        (WebCore):
131847        * bindings/scripts/test/TestObj.idl:
131848        * bindings/scripts/test/TestTypedArray.idl:
131849        * bindings/scripts/test/V8/V8TestInterface.cpp:
131850        (WebCore):
131851        * bindings/scripts/test/V8/V8TestObj.cpp:
131852        (WebCore):
131853        * css/WebKitCSSFilterValue.idl:
131854        * css/WebKitCSSTransformValue.idl:
131855        * dom/DOMCoreException.idl:
131856        * dom/Document.idl:
131857        * dom/EventException.idl:
131858        * dom/RangeException.idl:
131859        * fileapi/FileException.idl:
131860        * fileapi/OperationNotAllowedException.idl:
131861        * html/HTMLFormElement.idl:
131862        * html/canvas/Float32Array.idl:
131863        * html/canvas/Float64Array.idl:
131864        * html/canvas/Int16Array.idl:
131865        * html/canvas/Int32Array.idl:
131866        * html/canvas/Int8Array.idl:
131867        * html/canvas/OESStandardDerivatives.idl:
131868        * html/canvas/OESVertexArrayObject.idl:
131869        * html/canvas/Uint16Array.idl:
131870        * html/canvas/Uint32Array.idl:
131871        * html/canvas/Uint8Array.idl:
131872        * html/canvas/Uint8ClampedArray.idl:
131873        * html/canvas/WebGLCompressedTextures.idl:
131874        * html/canvas/WebGLDebugRendererInfo.idl:
131875        * html/canvas/WebGLRenderingContext.idl:
131876        * inspector/JavaScriptCallFrame.idl:
131877        * loader/appcache/DOMApplicationCache.idl:
131878        * page/Console.idl:
131879        * page/DOMWindow.idl:
131880        * page/Location.idl:
131881        * storage/IDBCursor.idl:
131882        * storage/IDBDatabaseException.idl:
131883        * storage/IDBObjectStore.idl:
131884        * storage/SQLException.idl:
131885        * svg/SVGComponentTransferFunctionElement.idl:
131886        * svg/SVGException.idl:
131887        * svg/SVGFEBlendElement.idl:
131888        * svg/SVGFEColorMatrixElement.idl:
131889        * svg/SVGFECompositeElement.idl:
131890        * svg/SVGFEConvolveMatrixElement.idl:
131891        * svg/SVGFEDisplacementMapElement.idl:
131892        * svg/SVGFEMorphologyElement.idl:
131893        * svg/SVGFETurbulenceElement.idl:
131894        * svg/SVGGradientElement.idl:
131895        * xml/XMLHttpRequestException.idl:
131896        * xml/XPathException.idl:
131897
1318982012-02-06  Yongsheng Zhu  <yongsheng.zhu@intel.com>
131899
131900        WebGL must allocate smaller drawing buffer when the allocation fails. 
131901        https://bugs.webkit.org/show_bug.cgi?id=76654
131902
131903        Reviewed by Kenneth Russell.
131904
131905        Test: fast/canvas/webgl/drawingbuffer-test.html
131906
131907        * platform/graphics/gpu/DrawingBuffer.cpp:
131908        (WebCore):
131909        (WebCore::DrawingBuffer::create):
131910        (WebCore::DrawingBuffer::reset):
131911
1319122012-02-06  Kentaro Hara  <haraken@chromium.org>
131913
131914        Unreviewed. Rebaselined run-bindings-tests results.
131915
131916        * bindings/scripts/test/V8/V8TestObj.cpp:
131917        (WebCore::TestObjInternal::optionsObjectCallback):
131918
1319192012-02-06  Levi Weintraub  <leviw@chromium.org>
131920
131921        Correct usage of LayoutUnits in dom, editing, page, accessibility, inspector, and loader
131922        https://bugs.webkit.org/show_bug.cgi?id=77891
131923
131924        Reviewed by Darin Adler.
131925
131926        Updating the usage of LayoutUnits in the dom, editing, page, accessibility, inspector, and loader
131927        directories to properly use LayoutUnits vs ints.
131928
131929        No new tests. No new behavior.
131930
131931        * accessibility/AccessibilityObject.h:
131932        (WebCore::AccessibilityObject::boundsForVisiblePositionRange):
131933        (WebCore::AccessibilityObject::doAXBoundsForRange):
131934        * accessibility/AccessibilityRenderObject.cpp:
131935        (WebCore::AccessibilityRenderObject::isOffScreen):
131936        (WebCore::AccessibilityRenderObject::clickPoint):
131937        (WebCore::AccessibilityRenderObject::boundsForVisiblePositionRange):
131938        (WebCore::AccessibilityRenderObject::doAXBoundsForRange):
131939        (WebCore::AccessibilityRenderObject::accessibilityImageMapHitTest):
131940        * accessibility/AccessibilityRenderObject.h:
131941        (AccessibilityRenderObject):
131942        * accessibility/AccessibilitySlider.cpp:
131943        (WebCore::AccessibilitySlider::elementAccessibilityHitTest):
131944        * accessibility/AccessibilitySlider.h:
131945        (AccessibilitySlider):
131946        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
131947        (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
131948        * css/CSSComputedStyleDeclaration.cpp:
131949        (WebCore::computedTransform):
131950        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
131951        * dom/Clipboard.h:
131952        (WebCore::Clipboard::dragLocation):
131953        (Clipboard):
131954        * dom/DocumentMarkerController.cpp:
131955        (WebCore::DocumentMarkerController::renderedRectsForMarkers):
131956        * dom/DocumentMarkerController.h:
131957        * dom/Element.cpp:
131958        (WebCore::Element::screenRect):
131959        * dom/Element.h:
131960        (Element):
131961        * editing/Editor.cpp:
131962        (WebCore::Editor::rangeForPoint):
131963        (WebCore::Editor::firstRectForRange):
131964        * editing/RenderedPosition.cpp:
131965        (WebCore::RenderedPosition::absoluteRect):
131966        * editing/RenderedPosition.h:
131967        (WebCore::RenderedPosition::absoluteRect):
131968        (RenderedPosition):
131969        * editing/VisiblePosition.h:
131970        (VisiblePosition):
131971        * inspector/DOMNodeHighlighter.cpp:
131972        * loader/SubframeLoader.cpp:
131973        (WebCore::SubframeLoader::createJavaAppletWidget):
131974        * loader/SubframeLoader.h:
131975        (SubframeLoader):
131976        * page/EventHandler.cpp:
131977        (WebCore::EventHandler::handleMousePressEvent):
131978        * page/Frame.cpp:
131979        (WebCore::Frame::nodeImage):
131980        * page/win/FrameCGWin.cpp:
131981        (WebCore::Frame::nodeImage):
131982
1319832012-02-05  Kentaro Hara  <haraken@chromium.org>
131984
131985        Rename [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
131986        [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs
131987        https://bugs.webkit.org/show_bug.cgi?id=77852
131988
131989        Reviewed by Adam Barth.
131990
131991        This patch renames [DontCheckEnums], [ReturnsNew], [DoNotCheckDomainSecurityOnGet],
131992        [DoNotCheckDomainSecurityOnSet] and [ImplementationFunction] IDLs for clarification.
131993
131994        [DontCheckEnums] => [DoNotCheckConstants]  (This IDL inserts assertions to check if a
131995        constant value is equal to the expected constant value)
131996        [ReturnsNew] => [ReturnNewObject] (For clarification)
131997        [DoNotCheckDomainSecurityOnGet] => [DoNotCheckDomainSecurityOnGetter] (For naming consistency
131998        with other [*Getter] IDLs)
131999        [DoNotCheckDomainSecurityOnSet] => [DoNotCheckDomainSecurityOnSetter] (For naming consistency
132000        with other [*Setter] IDLs)
132001        [ImplementationFunction=] => [ImplementedAs=] (For clarification. This IDL specifies a method
132002        name in implementation)
132003
132004        No tests. No change in behavior.
132005
132006        * bindings/scripts/CodeGenerator.pm:
132007        (ShouldCheckEnums):
132008        (GenerateCompileTimeCheckForEnumsIfNeeded):
132009        * bindings/scripts/CodeGeneratorJS.pm:
132010        (GenerateHeader):
132011        (GenerateImplementation):
132012        (NativeToJSValue):
132013        * bindings/scripts/CodeGeneratorV8.pm:
132014        (GenerateSingleBatchedAttribute):
132015        (GenerateFunctionCallString):
132016        (NativeToJSValue):
132017
132018        * bindings/scripts/test/TestObj.idl:
132019        * bindings/scripts/test/TestTypedArray.idl:
132020
132021        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests results.
132022        (WebCore):
132023        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
132024        (WebCore):
132025        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
132026        (WebCore):
132027        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
132028        (WebCore):
132029
132030        * bindings/scripts/test/TestObj.idl:
132031        * bindings/scripts/test/TestTypedArray.idl:
132032        * css/WebKitCSSFilterValue.idl:
132033        * css/WebKitCSSTransformValue.idl:
132034        * dom/DOMCoreException.idl:
132035        * dom/Document.idl:
132036        * dom/EventException.idl:
132037        * dom/RangeException.idl:
132038        * fileapi/FileException.idl:
132039        * fileapi/OperationNotAllowedException.idl:
132040        * html/HTMLFormElement.idl:
132041        * html/canvas/Float32Array.idl:
132042        * html/canvas/Float64Array.idl:
132043        * html/canvas/Int16Array.idl:
132044        * html/canvas/Int32Array.idl:
132045        * html/canvas/Int8Array.idl:
132046        * html/canvas/OESStandardDerivatives.idl:
132047        * html/canvas/OESVertexArrayObject.idl:
132048        * html/canvas/Uint16Array.idl:
132049        * html/canvas/Uint32Array.idl:
132050        * html/canvas/Uint8Array.idl:
132051        * html/canvas/Uint8ClampedArray.idl:
132052        * html/canvas/WebGLCompressedTextures.idl:
132053        * html/canvas/WebGLDebugRendererInfo.idl:
132054        * html/canvas/WebGLRenderingContext.idl:
132055        * inspector/JavaScriptCallFrame.idl:
132056        * loader/appcache/DOMApplicationCache.idl:
132057        * page/Console.idl:
132058        * page/DOMWindow.idl:
132059        * page/Location.idl:
132060        * storage/IDBCursor.idl:
132061        * storage/IDBDatabaseException.idl:
132062        * storage/IDBObjectStore.idl:
132063        * storage/SQLException.idl:
132064        * svg/SVGComponentTransferFunctionElement.idl:
132065        * svg/SVGException.idl:
132066        * svg/SVGFEBlendElement.idl:
132067        * svg/SVGFEColorMatrixElement.idl:
132068        * svg/SVGFECompositeElement.idl:
132069        * svg/SVGFEConvolveMatrixElement.idl:
132070        * svg/SVGFEDisplacementMapElement.idl:
132071        * svg/SVGFEMorphologyElement.idl:
132072        * svg/SVGFETurbulenceElement.idl:
132073        * svg/SVGGradientElement.idl:
132074        * xml/XMLHttpRequestException.idl:
132075
1320762012-02-06  Stephen Chenney  <schenney@chromium.org>
132077
132078        RenderSVGShape::strokeContains will fail for some strokes
132079        https://bugs.webkit.org/show_bug.cgi?id=76931
132080
132081        Reviewed by Darin Adler.
132082
132083        Adding support for rounded zero-length endcaps for SVG path hit
132084        testing.
132085
132086        Tests: svg/hittest/zero-length-butt-cap-path.xhtml
132087               svg/hittest/zero-length-round-cap-path.xhtml
132088               svg/hittest/zero-length-square-cap-path.xhtml
132089
132090        * rendering/svg/RenderSVGShape.cpp:
132091        (WebCore::RenderSVGShape::strokeContains):
132092
1320932012-02-06  Gregg Tavares  <gman@google.com>
132094
132095        Add webGLErrorsToConsoleEnabled Settings flag
132096        https://bugs.webkit.org/show_bug.cgi?id=77696
132097
132098        Reviewed by Kenneth Russell.
132099
132100        No new tests as there is no change in behavior.
132101
132102        * html/canvas/WebGLRenderingContext.cpp:
132103        (WebCore):
132104        (WebCore::WebGLRenderingContext::setupFlags):
132105        * page/Settings.cpp:
132106        (WebCore::Settings::Settings):
132107        * page/Settings.h:
132108        (Settings):
132109        (WebCore::Settings::webGLErrorsToConsoleEnabled):
132110
1321112012-02-06  Emil A Eklund  <eae@chromium.org>
132112
132113        Convert PopupMenuClient::clientPadding over to new layout abstraction
132114        https://bugs.webkit.org/show_bug.cgi?id=77798
132115
132116        Reviewed by Eric Seidel.
132117
132118        Change PopupMenuClient and all classes inheriting from it to use the new
132119        layout types for padding.
132120
132121        No new tests.
132122
132123        * platform/PopupMenuClient.h:
132124        (PopupMenuClient):
132125        * rendering/RenderMenuList.h:
132126        * rendering/RenderTextControlSingleLine.cpp:
132127        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
132128        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
132129        * rendering/RenderTextControlSingleLine.h:
132130
1321312012-02-06  Philip Rogers  <pdr@google.com>
132132
132133        Fix color animations by value
132134        https://bugs.webkit.org/show_bug.cgi?id=77812
132135
132136        Reviewed by Darin Adler.
132137
132138        Test: svg/animations/animate-color-fill-from-by.html
132139
132140        * svg/SVGAnimatedColor.cpp:
132141        (WebCore::SVGAnimatedColorAnimator::calculateFromAndByValues):
132142
1321432012-02-03  Jer Noble  <jer.noble@apple.com>
132144
132145        REGRESSION (r104303): Clicking inline video controls gives the video a focus ring
132146        https://bugs.webkit.org/show_bug.cgi?id=77288
132147
132148        Reviewed by Darin Adler.
132149
132150        Test: media/video-mouse-focus.html
132151
132152        Do not allow media elements to be focused by mouse click by overriding isMouseFocusable
132153        and returning false.
132154
132155        * html/HTMLMediaElement.cpp:
132156        (WebCore::HTMLMediaElement::isMouseFocusable):
132157        * html/HTMLMediaElement.h:
132158
1321592012-02-06  Anders Carlsson  <andersca@apple.com>
132160
132161        Overlay scrollbars flash when window is simply activated
132162        https://bugs.webkit.org/show_bug.cgi?id=77911
132163        <rdar://problem/10211995>
132164
132165        Reviewed by Kenneth Russell.
132166
132167        Add a new member function, FocusController::setContainingWindowIsVisible, and move the code
132168        that calls ScrollableArea::contentAreaDidShow/ScrollableArea::contentAreaDidHide there, since
132169        we only want to flash scrollers when the window becomes visible.
132170
132171        * WebCore.exp.in:
132172        * page/FocusController.cpp:
132173        (WebCore::FocusController::FocusController):
132174        (WebCore::FocusController::setActive):
132175        (WebCore::FocusController::setContainingWindowIsVisible):
132176        (WebCore):
132177        * page/FocusController.h:
132178        (FocusController):
132179        (WebCore::FocusController::containingWindowIsVisible):
132180
132181        * platform/mac/ScrollAnimatorMac.mm:
132182        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
132183        Call ScrollAnimatorMac::contentAreaWillPaint here, since that will trigger AppKit to flash the scrollers.
132184
1321852012-02-06  Greg Simon  <gregsimon@chromium.org>
132186
132187        postMessage leaks MemoryEvent object
132188        https://bugs.webkit.org/show_bug.cgi?id=77893
132189
132190        Reviewed by Adam Barth.
132191
132192        Changed from PassRefPtr().leakRef() to RefPtr.get() when 
132193        calling into FrameLoaderClient to stop +1 extra ref.
132194
132195        * page/DOMWindow.cpp:
132196        (WebCore::DOMWindow::postMessageTimerFired):
132197
1321982012-02-06  Ehsan Akhgari  <ehsan.akhgari@gmail.com>
132199
132200        WebGL conformance test misc/functions-returning-strings.html fails
132201        https://bugs.webkit.org/show_bug.cgi?id=77149
132202
132203        Make sure that WebGL methods returning strings don't return null when
132204        they run successfully.
132205
132206        Reviewed by Kenneth Russell.
132207
132208        Test: fast/canvas/webgl/functions-returning-strings.html
132209
132210        * html/canvas/WebGLRenderingContext.cpp:
132211        (WebCore):
132212        (WebCore::WebGLRenderingContext::getProgramInfoLog):
132213        (WebCore::WebGLRenderingContext::getShaderInfoLog):
132214        (WebCore::WebGLRenderingContext::getShaderSource):
132215        (WebCore::WebGLRenderingContext::ensureNotNull):
132216        * html/canvas/WebGLRenderingContext.h:
132217        (WebGLRenderingContext):
132218
1322192012-02-06  Enrica Casucci  <enrica@apple.com>
132220
132221        Refactor Mac platform implementation of the Pasteboard class.
132222        https://bugs.webkit.org/show_bug.cgi?id=77567
132223        
132224        The goal of this change is to remove the majority of the methods in
132225        the class interface that are Mac specific.
132226        writeSelectionForTypes has been left to support OS X services.
132227        Some of the methods have been turned into static functions.
132228        The method asURL was being used only by the DragData class and its
132229        implementation has been moved there.
132230        This is a first step in the direction of removing NSPasteboard access from
132231        the WebProcess for WebKit2 (https://bugs.webkit.org/show_bug.cgi?id=77259)
132232        leaving the WebKit1 behavior unchanged.
132233
132234        Reviewed by Alexey Proskuryakov.
132235
132236        No new tests. No changes in behavior.
132237
132238        * platform/Pasteboard.h: Removed most of the Mac specific methods.
132239        * platform/mac/ClipboardMac.mm:
132240        (WebCore::ClipboardMac::writeRange):
132241        (WebCore::ClipboardMac::writeURL):
132242        * platform/mac/DragDataMac.mm:
132243        (WebCore::DragData::asURL): Moved code from PasteboardMac.mm. Removed FIXME
132244        because we only want to handle the case of single file, otherwise the user
132245        doesn't know which of the files has been chosen.
132246        * platform/mac/PasteboardMac.mm:
132247        (WebCore::writeURLForTypes):
132248        (WebCore::Pasteboard::writeURL):
132249        (WebCore::writeFileWrapperAsRTFDAttachment): Now a static function.
132250        (WebCore::Pasteboard::writeImage):
132251        (WebCore::documentFragmentWithImageResource): Ditto.
132252        (WebCore::documentFragmentWithRTF): Ditto.
132253        (WebCore::Pasteboard::documentFragment):
132254
1322552012-02-06  James Robinson  <jamesr@chromium.org>
132256
132257        [chromium] Drop tiles completely outside of layer bounds when resizing to a smaller size
132258        https://bugs.webkit.org/show_bug.cgi?id=77910
132259
132260        Reviewed by Kenneth Russell.
132261
132262        When resizing a tiled layer to a smaller size, drop all tiles that lie completely outside the new layer bounds.
132263        This avoids attempting to access out-of-bounds tiles when iterating over all tiles in the tiler, which triggers
132264        ASSERT()s, as well as saves some memory.
132265
132266        New unit test added to TiledLayerChromiumTest.
132267
132268        * platform/graphics/chromium/TiledLayerChromium.cpp:
132269        (WebCore::TiledLayerChromium::invalidateRect):
132270        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
132271        (WebCore::CCLayerTilingData::setBounds):
132272
1322732012-02-06  Chris Rogers  <crogers@google.com>
132274
132275        zvmul incorrectly multiplies complex arrays on Windows.
132276        https://bugs.webkit.org/show_bug.cgi?id=77900
132277
132278        Reviewed by Kenneth Russell.
132279
132280        * platform/audio/VectorMath.cpp:
132281        (WebCore::VectorMath::zvmul):
132282
1322832012-02-06  Andreas Kling  <awesomekling@apple.com>
132284
132285        REGRESSION(r106756): 10% performance hit on DOM/Template.
132286        <http://webkit.org/b/77831>
132287
132288        Reviewed by Ryosuke Niwa.
132289
132290        Let the StylePropertySet used for element attribute style have the element as its parent.
132291        This is accomplished by adding an m_parentIsElement bit to StylePropertySet and sharing
132292        some of the internal logic with inline styles.
132293
132294        In the end, this means that CSSParser will now pick up the document's CSSValuePool when
132295        parsing properties for attribute styles, which fixes the perf regression from r106756.
132296
132297        * css/StylePropertySet.cpp:
132298        (WebCore::StylePropertySet::StylePropertySet):
132299        (WebCore::StylePropertySet::contextStyleSheet):
132300
132301            Find contextStyleSheet via the parentElement() when there is one.
132302
132303        (WebCore::StylePropertySet::setNeedsStyleRecalc):
132304
132305            Always set FullStyleChange for attribute style mutations. We can probably use the
132306            same lighter invalidation as inline styles, but that's a topic for another patch.
132307
132308        * css/StylePropertySet.h:
132309        (WebCore::StylePropertySet::createInline):
132310        (WebCore::StylePropertySet::createAttributeStyle):
132311        (WebCore::StylePropertySet::parentRuleInternal):
132312        (WebCore::StylePropertySet::clearParentRule):
132313        (StylePropertySet):
132314        (WebCore::StylePropertySet::parentElement):
132315        (WebCore::StylePropertySet::clearParentElement):
132316
132317            Added m_parentIsElement bit and update assertions as appropriate to not just
132318            cover the inline style case. Added a createAttributeStyle() helper to create
132319            a StylePropertySet for use as Element::attributeStyle().
132320
132321        * dom/StyledElement.h:
132322        * dom/ElementAttributeData.h:
132323        * dom/ElementAttributeData.cpp:
132324        (WebCore::ElementAttributeData::ensureAttributeStyle):
132325
132326            Use StylePropertySet::createAttributeStyle().
132327
132328        * dom/StyledElement.cpp:
132329        (WebCore::StyledElement::removeCSSProperties):
132330        (WebCore::StyledElement::addCSSProperty):
132331        (WebCore::StyledElement::addCSSImageProperty):
132332
132333            Remove setNeedsStyleRecalc() calls since that is now handled automatically by
132334            StylePropertySet's mutation methods.
132335
1323362012-02-06  Kentaro Hara  <haraken@chromium.org>
132337
132338        In AppleWebKit, stop rebuilding IDLs that need not to be rebuilt
132339        https://bugs.webkit.org/show_bug.cgi?id=77510
132340
132341        Reviewed by Adam Barth.
132342
132343        Currently, if any IDL file is updated, all IDL files are rebuilt.
132344        This patch stops rebuilding IDL files which are not modified nor
132345        whose supplemental dependencies are not changed.
132346
132347        The new build flow is as follows:
132348
132349            supplemental.dep : $(ALL_IDLS)
132350                perl resolve-supplemental.pl ...
132351
132352            %.idl-needs-rebuild : %.idl supplemental.dep
132353                perl update-idl-needs-rebuild.pl ...
132354
132355            JS%.cpp : %.idl-needs-rebuild
132356                perl generate-bindings.pl ...
132357
132358        resolve-supplemental.pl generates the following supplemental.dep.
132359        The number in () is the last access timestamp of the file.
132360
132361            A.idl(1200)
132362            B.idl(1000) B-supplemental1.idl(800) B-supplemental2.idl(1200)
132363            C.idl(1000)
132364
132365        update-idl-needs-rebuild.pl for X.idl touches X.idl-needs-rebuild,
132366        if X.idl-needs-rebuild is older than X.idl or the IDL files which are
132367        supplementing X.idl. For example, if the timestamps of A.idl-needs-rebuild,
132368        B.idl-needs-rebuild and C.idl-needs-rebuild are all 1000, then A.idl-needs-rebuild
132369        and B.idl-needs-rebuild will be touched.
132370
132371        Even if no IDL files are modified, update-idl-needs-rebuild.pl can run for all IDL files,
132372        but generate-bindings.pl won't run. If any IDL file is updated, resolve-supplemental.pl
132373        will run once, update-idl-needs-rebuild.pl will run for all IDL files, and
132374        generate-bindings.pl will run for the IDL files which are modified or whose
132375        dependencies are changed.
132376
132377        No tests. I manually confirmed the followings:
132378        - Touch Element.idl, then only Element.idl is rebuilt
132379        - Touch DOMWindow.idl, then only DOMWindow.idl is rebuilt
132380        - Touch DOMWindowWebAudio.idl, then only DOMWindow.idl and DOMWindowWebAudio.idl are rebuilt
132381
132382        * DerivedSources.make: Modified the build flow as described above.
132383        * bindings/scripts/generate-bindings.pl: Modified to read an IDL file path from .idl-needs-rebuild.
132384        * bindings/scripts/update-idl-needs-rebuild.pl: Added. Touches X.idl-needs-rebuild if
132385        the X.idl-needs-rebuild is older than X.idl or the IDL files which are supplementing X.idl.
132386        (touch):
132387
1323882012-02-06  Wei James  <james.wei@intel.com>
132389
132390        AudioBus need to support stereo->mono down mix in copyFrom sumFrom etc.
132391        https://bugs.webkit.org/show_bug.cgi?id=77609
132392
132393        Reviewed by Kenneth Russell.
132394
132395        Test: webaudio/stereo2mono-down-mixing.html
132396
132397        * platform/audio/AudioBus.cpp:
132398        (WebCore):
132399        (WebCore::AudioBus::copyFrom):
132400        (WebCore::AudioBus::sumFrom):
132401
1324022012-02-06  Cris Neckar  <cdn@chromium.org>
132403
132404        Add RefPtrs for parent and sibling counter nodes
132405        https://bugs.webkit.org/show_bug.cgi?id=75212
132406
132407        Reviewed by Adam Barth.
132408
132409        Test: fast/css/counters/reparent-table-children-with-counters-crash.html
132410
132411        * rendering/RenderCounter.cpp:
132412        (WebCore::findPlaceForCounter):
132413        (WebCore::makeCounterNode):
132414        (WebCore::updateCounters):
132415
1324162012-02-06  Kalev Lember  <kalevlember@gmail.com>
132417
132418        [GTK] Add missing pango include dir to fix build
132419        https://bugs.webkit.org/show_bug.cgi?id=77832
132420
132421        Reviewed by Martin Robinson.
132422
132423        * GNUmakefile.am: Added $(PANGO_CFLAGS) to libWebCore_la_CPPFLAGS.
132424
1324252012-02-06  Jochen Eisinger  <jochen@chromium.org>
132426
132427        Before accessing a frame's script controller in V8 bindings, first check that the frame actually exists
132428        https://bugs.webkit.org/show_bug.cgi?id=77370
132429
132430        Reviewed by Adam Barth.
132431
132432        I don't have a working reproduction of the crash yet. As soon as I have
132433        one,  I will add new layout tests.
132434
132435        * bindings/v8/PageScriptDebugServer.cpp:
132436        (WebCore::PageScriptDebugServer::addListener):
132437        * bindings/v8/ScheduledAction.cpp:
132438        (WebCore::ScheduledAction::execute):
132439        * bindings/v8/ScriptCachedFrameData.cpp:
132440        (WebCore::ScriptCachedFrameData::restore):
132441        * page/DOMTimer.cpp:
132442        (WebCore::DOMTimer::DOMTimer): remove temporary debug code
132443
1324442012-02-06  James Robinson  <jamesr@chromium.org>
132445
132446        Support detaching TextureManager from ManagedTexture
132447        https://bugs.webkit.org/show_bug.cgi?id=77655
132448
132449        Reviewed by Kenneth Russell.
132450        Initial patch by Alok Priyadarshi.
132451
132452        TextureManager now holds references to the textures it manages.
132453        This allows TextureManager to inform managed textures when it gets deleted
132454        so that the texture that outlive the TextureManager can handle the situation gracefully.
132455
132456        Unit test in TextureManagerTest.cpp
132457
132458        * platform/graphics/chromium/ManagedTexture.cpp:
132459        (WebCore::ManagedTexture::ManagedTexture):
132460        (WebCore::ManagedTexture::~ManagedTexture):
132461        (WebCore):
132462        (WebCore::ManagedTexture::managerWillDie):
132463        (WebCore::ManagedTexture::isValid):
132464        (WebCore::ManagedTexture::reserve):
132465        (WebCore::ManagedTexture::unreserve):
132466        (WebCore::ManagedTexture::steal):
132467        (WebCore::ManagedTexture::reset):
132468        * platform/graphics/chromium/ManagedTexture.h:
132469        (WebCore::ManagedTexture::manager):
132470        (ManagedTexture):
132471        (WebCore::ManagedTexture::isReserved):
132472        * platform/graphics/chromium/TextureManager.cpp:
132473        (WebCore::TextureManager::~TextureManager):
132474        (WebCore):
132475        (WebCore::TextureManager::setPreferredMemoryLimitBytes):
132476        (WebCore::TextureManager::registerTexture):
132477        (WebCore::TextureManager::unregisterTexture):
132478        * platform/graphics/chromium/TextureManager.h:
132479        (WebCore):
132480        (TextureManager):
132481
1324822012-02-06  Anders Carlsson  <andersca@apple.com>
132483
132484        Wheel event handler count not updated when adding handlers to the window
132485        https://bugs.webkit.org/show_bug.cgi?id=77895
132486
132487        Reviewed by Dan Bernstein.
132488
132489        Test: fast/events/wheelevent-handler-count.html
132490
132491        * page/DOMWindow.cpp:
132492        (WebCore::DOMWindow::addEventListener):
132493        (WebCore::DOMWindow::removeEventListener):
132494        Update the wheel event count.
132495
132496        * testing/Internals.cpp:
132497        (WebCore::Internals::wheelEventHandlerCount):
132498        * testing/Internals.h:
132499        * testing/Internals.idl:
132500        Add wheelEventHandlerCount to window.internals.
132501
1325022012-02-06  Matthew Delaney  <mdelaney@apple.com>
132503
132504        toDataURL() uses stale data after putImageData()
132505        https://bugs.webkit.org/show_bug.cgi?id=65767
132506
132507        This patch fixes the issue we've encountered of getting back
132508        stale copies of the CGContext of accelerated ImageBuffers who have seen
132509        putImageData calls but have not been drawn into via the CG API.
132510        This issue is fixed by modifying the way we implement putImageData
132511        in ImageBufferCG to draw the bits wrapped in a CGImage while the CGContext
132512        is in a state where the data will effectively be copied (as is needed for
132513        implementing putImageData) instead of directly modifying the bits of the IOSurface.
132514
132515        Reviewed by Chris Marrin.
132516
132517        Test: fast/canvas/check-stale-putImageData, pixel test to check that the canvas is in fact painted.
132518
132519        * platform/graphics/cg/ImageBufferCG.cpp: Implement new way of putting image data.
132520        * platform/graphics/ImageBuffer.h: Merged two previously separate put data calls
132521            into a single and more sensibly named 'putByteArray', since that's what it does!
132522
132523        * WebCore.exp.in: Added new WKSI call for use in ImageBufferCG.cpp
132524        * platform/mac/WebCoreSystemInterface.h:
132525        * platform/mac/WebCoreSystemInterface.mm:
132526
132527        Using new method name.
132528        * html/canvas/CanvasRenderingContext2D.cpp:
132529        * platform/graphics/ImageBuffer.cpp:
132530        * platform/graphics/ShadowBlur.cpp:        
132531        * platform/graphics/filters/FEColorMatrix.cpp:
132532        * platform/graphics/filters/FEDropShadow.cpp:
132533        * platform/graphics/filters/FilterEffect.cpp:
132534
132535        Updated other ports' ImageBuffers to use new method.
132536        * platform/graphics/cairo/ImageBufferCairo.cpp:
132537        * platform/graphics/qt/ImageBufferQt.cpp:
132538        * platform/graphics/skia/ImageBufferSkia.cpp:
132539        * platform/graphics/wince/ImageBufferWinCE.cpp:
132540        * platform/graphics/wx/ImageBufferWx.cpp:
132541
1325422012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
132543
132544        Provide more attribute methods in Element
132545        https://bugs.webkit.org/show_bug.cgi?id=77800
132546
132547        Reviewed by Ryosuke Niwa.
132548
132549        Reduce the clients of NamedNodeMap. This will make easier to change the
132550        implementation of our attribute storage. The clients now use Element methods
132551        that expose Attribute* accessors.
132552
132553        Instead of checking the existence of NamedNodeMap, clients can call
132554        hasAttributes() or hasAttributesWithoutUpdate() (that skips updating invalid
132555        style or animation svg attributes).
132556
132557        If there are attributes, they can be accessed by index via attributeCount() /
132558        attributeItem(), as well as by QualifiedName. Those accessors assume there are an
132559        attribute storage.
132560
132561        * css/SelectorChecker.cpp:
132562        (WebCore::anyAttributeMatches):
132563        (WebCore::SelectorChecker::checkOneSelector):
132564        * css/SelectorChecker.h:
132565        (WebCore::SelectorChecker::checkExactAttribute):
132566        * dom/DatasetDOMStringMap.cpp:
132567        (WebCore::DatasetDOMStringMap::getNames):
132568        (WebCore::DatasetDOMStringMap::item):
132569        (WebCore::DatasetDOMStringMap::contains):
132570        * dom/Document.cpp:
132571        (WebCore::Document::importNode): use setAttributesFromElement() instead of manually copying.
132572        * dom/Element.h:
132573        (Element):
132574        (WebCore::Element::hasAttributesWithoutUpdate):
132575        (WebCore):
132576        (WebCore::Element::attributeCount):
132577        (WebCore::Element::attributeItem):
132578        (WebCore::Element::getAttributeItem):
132579        (WebCore::Element::removeAttribute):
132580        * dom/Node.cpp:
132581        (WebCore::Node::isDefaultNamespace):
132582        (WebCore::Node::lookupNamespaceURI):
132583        (WebCore::Node::lookupNamespacePrefix):
132584        (WebCore::Node::compareDocumentPosition):
132585        * editing/ApplyStyleCommand.cpp:
132586        (WebCore::hasNoAttributeOrOnlyStyleAttribute):
132587        (WebCore::isEmptyFontTag):
132588        * editing/EditingStyle.cpp:
132589        (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
132590        * editing/InsertParagraphSeparatorCommand.cpp:
132591        (WebCore::highestVisuallyEquivalentDivBelowRoot):
132592        * editing/MarkupAccumulator.cpp:
132593        (WebCore::MarkupAccumulator::appendElement):
132594        * editing/markup.cpp:
132595        (WebCore::completeURLs):
132596        (WebCore::StyledMarkupAccumulator::appendElement):
132597        * html/HTMLEmbedElement.cpp:
132598        (WebCore::HTMLEmbedElement::parametersForPlugin):
132599        * html/HTMLInputElement.cpp:
132600        (WebCore::HTMLInputElement::updateType):
132601        * html/HTMLObjectElement.cpp:
132602        (WebCore::HTMLObjectElement::parametersForPlugin):
132603        * html/HTMLParamElement.cpp:
132604        (WebCore::HTMLParamElement::isURLAttribute):
132605        * html/parser/HTMLFormattingElementList.cpp:
132606        (WebCore::attributeCountWithoutUpdate):
132607        (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
132608        (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition): Store Attribute*
132609        to avoid looking up the right element again by name.
132610        * inspector/DOMEditor.cpp:
132611        (WebCore::DOMEditor::innerPatchNode):
132612        (WebCore::DOMEditor::createDigest):
132613        * inspector/InspectorDOMAgent.cpp:
132614        (WebCore::InspectorDOMAgent::setAttributesAsText):
132615        (WebCore::InspectorDOMAgent::performSearch):
132616        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
132617        * page/PageSerializer.cpp:
132618        (WebCore::isCharsetSpecifyingNode):
132619        * svg/SVGStyledElement.cpp:
132620        (WebCore::SVGStyledElement::getPresentationAttribute):
132621        * xml/XPathFunctions.cpp:
132622        (WebCore::XPath::FunLang::evaluate):
132623        * xml/XPathNodeSet.cpp:
132624        (WebCore::XPath::NodeSet::traversalSort):
132625        * xml/XPathStep.cpp:
132626        (WebCore::XPath::Step::nodesInAxis):
132627        * xml/parser/XMLDocumentParserLibxml2.cpp:
132628        (WebCore::XMLDocumentParser::XMLDocumentParser):
132629        * xml/parser/XMLTreeBuilder.cpp:
132630        (WebCore::XMLTreeBuilder::XMLTreeBuilder):
132631
1326322012-02-06  Joshua Bell  <jsbell@chromium.org>
132633
132634        IndexedDB: Raise exception during add/put call if autoIncrement key insertion will fail
132635        https://bugs.webkit.org/show_bug.cgi?id=77374
132636
132637        If a put request will use a key generator, try inserting a dummy key during the sync
132638        put() call to check if the key insertion will succeed so an exception can be raised
132639        early, rather than deferring to the asynchronous task.
132640
132641        Reviewed by Tony Chang.
132642
132643        Test: storage/indexeddb/keypath-edges.html
132644
132645        * storage/IDBObjectStoreBackendImpl.cpp:
132646        (WebCore::IDBObjectStoreBackendImpl::put):
132647
1326482012-02-06  Gustavo Noronha Silva  <gns@gnome.org>
132649
132650        Add a null check for the gdkwindow, that will happen if the window
132651        is not mapped.
132652
132653        Reviewed by Martin Robinson.
132654
132655        * platform/gtk/GtkUtilities.cpp:
132656        (WebCore::convertWidgetPointToScreenPoint):
132657
1326582012-02-06  Eugene Girard  <girard@chromium.org>
132659
132660        IndexedDB createObjectStore should throw if options arg is invalid
132661        Added logic to OptionsObject to determine if an invalid object was created.
132662        Javascript bindings now detect invalid OptionsObject's and throw TypeError when found.
132663        https://bugs.webkit.org/show_bug.cgi?id=58471
132664
132665        Reviewed by Adam Barth.
132666
132667        Test: storage/indexeddb/createObjectStore-bad-options.html
132668
132669        * bindings/scripts/CodeGeneratorV8.pm:
132670        (GenerateParametersCheck):
132671        * bindings/v8/OptionsObject.cpp:
132672        (WebCore::OptionsObject::isObject):
132673        * bindings/v8/OptionsObject.h:
132674
1326752012-02-06  Sheriff Bot  <webkit.review.bot@gmail.com>
132676
132677        Unreviewed, rolling out r106797 and r106806.
132678        http://trac.webkit.org/changeset/106797
132679        http://trac.webkit.org/changeset/106806
132680        https://bugs.webkit.org/show_bug.cgi?id=77888
132681
132682        The change is still causing some crashes in webaudio/ on the
132683        Chromium bots (Requested by jchaffraix on #webkit).
132684
132685        * Modules/intents/IntentRequest.cpp:
132686        (WebCore::IntentRequest::create):
132687        * bindings/generic/ActiveDOMCallback.cpp:
132688        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
132689        * dom/ActiveDOMObject.cpp:
132690        (WebCore::ActiveDOMObject::ActiveDOMObject):
132691        (WebCore::ActiveDOMObject::~ActiveDOMObject):
132692        * dom/ActiveDOMObject.h:
132693        (ActiveDOMObject):
132694        * dom/DocumentEventQueue.cpp:
132695        (WebCore::DocumentEventQueue::DocumentEventQueue):
132696        * dom/ScriptExecutionContext.cpp:
132697        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
132698        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
132699        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
132700        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
132701        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
132702        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
132703        * dom/ScriptExecutionContext.h:
132704        (ScriptExecutionContext):
132705        * fileapi/DOMFileSystem.cpp:
132706        (WebCore::DOMFileSystem::create):
132707        * fileapi/FileReader.cpp:
132708        (WebCore):
132709        * fileapi/FileReader.h:
132710        (WebCore::FileReader::create):
132711        * fileapi/FileWriter.cpp:
132712        (WebCore):
132713        * fileapi/FileWriter.h:
132714        (WebCore::FileWriter::create):
132715        * history/CachedFrame.cpp:
132716        (WebCore::CachedFrame::CachedFrame):
132717        * html/HTMLAudioElement.cpp:
132718        (WebCore::HTMLAudioElement::create):
132719        (WebCore::HTMLAudioElement::createForJSConstructor):
132720        * html/HTMLMarqueeElement.cpp:
132721        (WebCore::HTMLMarqueeElement::create):
132722        * html/HTMLVideoElement.cpp:
132723        (WebCore::HTMLVideoElement::create):
132724        * mediastream/PeerConnection.cpp:
132725        (WebCore::PeerConnection::create):
132726        * notifications/Notification.cpp:
132727        (WebCore::Notification::create):
132728        * notifications/NotificationCenter.cpp:
132729        * notifications/NotificationCenter.h:
132730        (WebCore::NotificationCenter::create):
132731        * page/DOMTimer.cpp:
132732        (WebCore::DOMTimer::install):
132733        (WebCore::DOMTimer::fired):
132734        * page/EventSource.cpp:
132735        (WebCore::EventSource::create):
132736        * page/SuspendableTimer.cpp:
132737        (WebCore::SuspendableTimer::SuspendableTimer):
132738        * storage/IDBDatabase.cpp:
132739        (WebCore::IDBDatabase::create):
132740        * storage/IDBRequest.cpp:
132741        (WebCore::IDBRequest::create):
132742        * storage/IDBTransaction.cpp:
132743        (WebCore::IDBTransaction::create):
132744        * storage/IDBVersionChangeRequest.cpp:
132745        (WebCore::IDBVersionChangeRequest::create):
132746        * webaudio/AudioContext.cpp:
132747        (WebCore::AudioContext::create):
132748        * websockets/WebSocket.cpp:
132749        * websockets/WebSocket.h:
132750        (WebCore::WebSocket::create):
132751        * workers/SharedWorker.cpp:
132752        (WebCore::SharedWorker::create):
132753        * workers/Worker.cpp:
132754        (WebCore::Worker::create):
132755        * xml/XMLHttpRequest.cpp:
132756        (WebCore::XMLHttpRequest::create):
132757
1327582012-02-06  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
132759
132760        Move style related functions from NamedNodeMap to ElementAttributeData
132761        https://bugs.webkit.org/show_bug.cgi?id=77879
132762
132763        Reviewed by Ryosuke Niwa.
132764
132765        This commit also removes the NamedNodeMap::mappedAttributeCount(),
132766        which is a leftover from removal of mapped attributes.
132767
132768        * dom/ElementAttributeData.cpp:
132769        (WebCore::ElementAttributeData::ensureInlineStyleDecl):
132770        (WebCore):
132771        (WebCore::ElementAttributeData::destroyInlineStyleDecl):
132772        (WebCore::ElementAttributeData::ensureAttributeStyle):
132773        * dom/ElementAttributeData.h:
132774        (WebCore::ElementAttributeData::inlineStyleDecl):
132775        (ElementAttributeData):
132776        (WebCore::ElementAttributeData::attributeStyle):
132777        * dom/NamedNodeMap.cpp:
132778        * dom/NamedNodeMap.h:
132779        * dom/StyledElement.h:
132780        (StyledElement):
132781        (WebCore::StyledElement::inlineStyleDecl):
132782        (WebCore::StyledElement::ensureInlineStyleDecl):
132783        (WebCore::StyledElement::attributeStyle):
132784        (WebCore::StyledElement::ensureAttributeStyle):
132785        (WebCore::StyledElement::destroyInlineStyleDecl):
132786
1327872012-02-06  Abhishek Arya  <inferno@chromium.org>
132788
132789        Crash in SubframeLoader::loadSubframe.
132790        https://bugs.webkit.org/show_bug.cgi?id=77345
132791
132792        Reviewed by Nate Chapin.
132793
132794        Mutation event when loading subframe can blow away the
132795        main frame. Add a RefPtr to protect against that.
132796
132797        Test: fast/frames/subframe-load-crash-main.html
132798
132799        * loader/SubframeLoader.cpp:
132800        (WebCore::SubframeLoader::loadSubframe):
132801
1328022012-02-06  ChangSeok Oh  <shivamidow@gmail.com>
132803
132804        Initial implementation of GraphicsContext3DOpenGLES.cpp
132805        https://bugs.webkit.org/show_bug.cgi?id=76248
132806
132807        Reviewed by Martin Robinson.
132808
132809        Implemented APIs in GraphicsContext3DOpenGLES.cpp according to the GLES spec. roughly.
132810        But no way to run these codes right now, because they need an extra port
132811        specific implementation to work. I plan to add these extra codes for the GTK port
132812        in the next patch. And also this patch doesn't support anti-aliasing yet. Another bug
132813        will deal with it.
132814        Moved some APIs in GraphicsContext3DOpenGLES.cpp to GraphicsContext3DCommon.cpp.
132815        It looks it could be shared between gl and gles.
132816        Two helper functions are added to avoid code duplication in GraphicsContext3D.
132817        Added a missing period at the end of comment lines.
132818
132819        No new tests required.
132820        We'll be able to verify this patch by using the existing webgl test cases.
132821
132822        * platform/graphics/GraphicsContext3D.h: Add build flag to access stencilBuffer & depthBuffer for gles.
132823        (WebCore):
132824        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
132825        (WebCore::GraphicsContext3D::reshapeFBOs): Helper function extracted from GC3D::reshape to resize regular & multisampled FBOs.
132826        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Helper function to resolve multisampling.
132827        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
132828        (WebCore::GraphicsContext3D::validateAttributes): Add condition to disable antialiasing & packedDepthStencilExtension for GLES.
132829        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
132830        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
132831
132832        Following APIs looked shareable so that moved into GC3DOpenGLCommon.cpp.
132833        (WebCore::GraphicsContext3D::prepareTexture):
132834        (WebCore):
132835        (WebCore::GraphicsContext3D::readRenderingResults):
132836        (WebCore::GraphicsContext3D::reshape):
132837        (WebCore::GraphicsContext3D::bindFramebuffer):
132838        (WebCore::GraphicsContext3D::copyTexImage2D):
132839        (WebCore::GraphicsContext3D::copyTexSubImage2D):
132840        (WebCore::GraphicsContext3D::getActiveUniform):
132841        (WebCore::GraphicsContext3D::readPixels):
132842
132843        Added a missing period at the end of comment line.
132844        (WebCore::GraphicsContext3D::compileShader):
132845        (WebCore::GraphicsContext3D::getActiveAttrib):
132846        (WebCore::GraphicsContext3D::uniform2fv):
132847        (WebCore::GraphicsContext3D::uniform3fv):
132848        (WebCore::GraphicsContext3D::uniform4fv):
132849        (WebCore::GraphicsContext3D::uniform2iv):
132850        (WebCore::GraphicsContext3D::uniform3iv):
132851        (WebCore::GraphicsContext3D::uniform4iv):
132852        (WebCore::GraphicsContext3D::uniformMatrix2fv):
132853        (WebCore::GraphicsContext3D::uniformMatrix3fv):
132854        (WebCore::GraphicsContext3D::uniformMatrix4fv):
132855        (WebCore::GraphicsContext3D::texSubImage2D):
132856
132857        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp:
132858        (WebCore::GraphicsContext3D::reshapeFBOs): Same with the above.
132859        (WebCore::GraphicsContext3D::resolveMultisamplingIfNecessary): Same with the above.
132860
132861        Brief explanation about what the differences are between gl and gles.
132862        (WebCore::GraphicsContext3D::renderbufferStorage): Removed codes for converting GLES parameter to GL parameter.
132863        (WebCore::GraphicsContext3D::getIntegerv): Removed codes that emulate GLES.
132864        (WebCore::GraphicsContext3D::texImage2D): Removed codes for converting GLES parameter to GL parameter.
132865
1328662012-02-06  Alexander Pavlov  <apavlov@chromium.org>
132867
132868        Web Inspector: [Meta] Allow emulation of touch events
132869        https://bugs.webkit.org/show_bug.cgi?id=77096
132870
132871        Reviewed by Pavel Feldman.
132872
132873        This is the inspector part of the change, core part implementation tracked in bug 77105.
132874
132875        * English.lproj/localizedStrings.js:
132876        * inspector/Inspector.json:
132877        * inspector/InspectorDOMAgent.cpp:
132878        (DOMAgentState):
132879        (WebCore::InspectorDOMAgent::clearFrontend):
132880        (WebCore::InspectorDOMAgent::restore):
132881        (WebCore):
132882        (WebCore::InspectorDOMAgent::updateTouchEventEmulationInDocuments):
132883        (WebCore::InspectorDOMAgent::setTouchEmulationEnabled):
132884        * inspector/InspectorDOMAgent.h:
132885        (InspectorDOMAgent):
132886        * inspector/front-end/DOMAgent.js:
132887        (WebInspector.DOMAgent.prototype._captureDOM):
132888        (WebInspector.DOMAgent.prototype._emulateTouchEventsChanged):
132889        * inspector/front-end/Settings.js:
132890        (WebInspector.Settings):
132891        * inspector/front-end/SettingsScreen.js:
132892        (WebInspector.SettingsScreen):
132893
1328942012-02-06  Chris Guan  <chris.guan@torchmobile.com.cn>
132895
132896        [Blackberry] Non-supported about: operations never stops loading
132897        https://bugs.webkit.org/show_bug.cgi?id=76366
132898
132899        Reviewed by Rob Buis.
132900
132901        If user typed a non-supported "about:" scheme such as "about:nonsupport",
132902        the loadAboutURL() function in NetworkManger should recognize and handle it as 
132903        an error of invalid url.
132904
132905        * platform/network/blackberry/NetworkJob.cpp:
132906        (WebCore::NetworkJob::loadAboutURL):
132907        (WebCore::NetworkJob::handleAbout):
132908        * platform/network/blackberry/NetworkJob.h:
132909        (NetworkJob):
132910        * platform/network/blackberry/NetworkManager.cpp:
132911        (WebCore::NetworkManager::startJob):
132912
1329132012-02-06  Alexander Pavlov  <apavlov@chromium.org>
132914
132915        Web Inspector: Remove unused disabledComputedProperties from methods in StylesSidebarPane
132916        https://bugs.webkit.org/show_bug.cgi?id=77876
132917
132918        Reviewed by Pavel Feldman.
132919
132920        * inspector/front-end/StylesSidebarPane.js:
132921        (WebInspector.StylesSidebarPane.prototype._refreshUpdate):
132922        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
132923        (WebInspector.StylesSidebarPane.prototype._markUsedProperties):
132924        (WebInspector.StylesSidebarPane.prototype._refreshSectionsForStyleRules):
132925        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
132926        (WebInspector.StylePropertiesSection.prototype.onpopulate):
132927        (WebInspector.ComputedStylePropertiesSection):
132928        (WebInspector.ComputedStylePropertiesSection.prototype._isPropertyInherited):
132929
1329302012-02-06  Alexei Filippov  <alexeif@chromium.org>
132931
132932        Web Inspector: Redesign summary view / retaining tree contents
132933        https://bugs.webkit.org/show_bug.cgi?id=77870
132934
132935        Reviewed by Pavel Feldman.
132936
132937        1. Make object IDs less contrast.
132938        2. Put array indices in [].
132939        3. Do not write type if it's just "Object".
132940
132941        * inspector/front-end/DetailedHeapshotGridNodes.js:
132942        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
132943        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
132944        (WebInspector.HeapSnapshotObjectNode.prototype._emptyData):
132945        (WebInspector.HeapSnapshotObjectNode.prototype._enhanceData):
132946        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
132947        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
132948        * inspector/front-end/heapProfiler.css:
132949        (.detailed-heapshot-view .console-formatted-id):
132950        (.detailed-heapshot-view td.object-column span.grayed):
132951
1329522012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
132953
132954        [Texmap][Qt] Avoid an image copy when uploading textures in WebKit1
132955        https://bugs.webkit.org/show_bug.cgi?id=77748
132956
132957        Reviewed by Kenneth Rohde Christiansen.
132958
132959        Use QPixmap::buffer() API to get access to the QPixmap's pixels without implicit copies.
132960
132961        Instrumentation shows that the deep image copies created from TextureMapperGL are
132962        eliminated.
132963
132964        * platform/graphics/opengl/TextureMapperGL.cpp:
132965        (WebCore::BitmapTextureGL::updateContents):
132966
1329672012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
132968
132969        LayoutTest failures on r106797
132970        https://bugs.webkit.org/show_bug.cgi?id=77868
132971
132972        Call suspendIfNeeded from subclass of IDBRequest, IDBVersionChangeRequest.
132973
132974        Reviewed by Simon Hausmann.
132975
132976        * storage/IDBVersionChangeRequest.cpp:
132977        (WebCore::IDBVersionChangeRequest::create):
132978
1329792012-02-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
132980
132981        [Qt] Implement ImageBuffer::copyImage(ImageBuffer::DontCopyBackingStore)
132982        https://bugs.webkit.org/show_bug.cgi?id=77689
132983
132984        Reviewed by Kenneth Rohde Christiansen.
132985
132986        Use StillImageQt::createForRendering when using DontCopyBackingStore.
132987        Enable DontCopyBackingStore in TextureMapperNode.
132988        This removes deep copies resulting from the use of ImageBuffer.
132989
132990        Instrumentation shows that deep image copies resulted from ImageBuffer are eliminated.
132991
132992        * platform/graphics/qt/ImageBufferQt.cpp:
132993        (WebCore::ImageBuffer::copyImage):
132994        * platform/graphics/texmap/TextureMapperNode.cpp:
132995        (WebCore::TextureMapperNode::renderContent):
132996
1329972012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
132998
132999        WebGestureEvent can not encode delta and area.
133000        https://bugs.webkit.org/show_bug.cgi?id=77728
133001
133002        Add area field to PlatformGestureEvent.
133003
133004        Reviewed by Kenneth Rohde Christiansen.
133005
133006        * platform/PlatformGestureEvent.h:
133007        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
133008        (WebCore::PlatformGestureEvent::area):
133009
1330102012-02-06  Charles Wei  <charles.wei@torchmobile.com.cn>
133011
133012        [BlackBerry]Use extension for a mimetype as the suggested extension
133013        if the url file doesn't have an extension.
133014        https://bugs.webkit.org/show_bug.cgi?id=76779
133015
133016        Reviewed by Antonio Gomes.
133017
133018        No new tests. 
133019
133020        * platform/network/blackberry/NetworkJob.cpp:
133021        (WebCore::NetworkJob::sendResponseIfNeeded):
133022
1330232012-02-06  Kentaro Hara  <haraken@chromium.org>
133024
133025        Rename [HasIndexGetter], [HasNameGetter] and [HasCustomIndexSetter] IDLs
133026        https://bugs.webkit.org/show_bug.cgi?id=77848
133027
133028        Reviewed by Adam Barth.
133029
133030        For naming consistency with [CustomGetter] and [CustomSetter],
133031        this patch renames the following IDLs:
133032
133033        [HasIndexGetter] => [IndexedGetter]  (Remove "Has". This IDL is for "indexed" properties
133034        in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-indexed-properties)
133035        [HasCustomIndexSetter] => [CustomIndexedSetter]  (Ditto.)
133036        [HasNameGetter] => [NamedGetter] (Remove "Has". This IDL is for "named" properties
133037        in the Web IDL: http://dev.w3.org/2006/webapi/WebIDL/#idl-named-properties)
133038
133039        No tests. No change in behavior.
133040
133041        * bindings/scripts/CodeGeneratorJS.pm:
133042        (GenerateGetOwnPropertySlotBody):
133043        (GenerateGetOwnPropertyDescriptorBody):
133044        (GenerateHeader):
133045        (GenerateImplementation):
133046        * bindings/scripts/CodeGeneratorV8.pm:
133047        (GenerateHeaderNamedAndIndexedPropertyAccessors):
133048        (GenerateImplementationIndexer):
133049        (GenerateImplementationNamedPropertyGetter):
133050
133051        * bindings/scripts/test/TestEventTarget.idl: No change in run-bindings-tests results.
133052        * bindings/scripts/test/TestTypedArray.idl: Ditto.
133053
133054        * Modules/gamepad/GamepadList.idl:
133055        * css/CSSRuleList.idl:
133056        * css/CSSStyleDeclaration.idl:
133057        * css/CSSValueList.idl:
133058        * css/MediaList.idl:
133059        * css/StyleSheetList.idl:
133060        * css/WebKitCSSFilterValue.idl:
133061        * css/WebKitCSSKeyframesRule.idl:
133062        * css/WebKitCSSTransformValue.idl:
133063        * dom/ClientRectList.idl:
133064        * dom/DOMStringList.idl:
133065        * dom/DOMStringMap.idl:
133066        * dom/DataTransferItemList.idl:
133067        * dom/NamedNodeMap.idl:
133068        * dom/NodeList.idl:
133069        * dom/TouchList.idl:
133070        * fileapi/EntryArray.idl:
133071        * fileapi/EntryArraySync.idl:
133072        * fileapi/FileList.idl:
133073        * html/DOMSettableTokenList.idl:
133074        * html/DOMTokenList.idl:
133075        * html/HTMLAllCollection.idl:
133076        * html/HTMLCollection.idl:
133077        * html/HTMLFormElement.idl:
133078        * html/HTMLOptionsCollection.idl:
133079        * html/HTMLPropertiesCollection.idl:
133080        * html/HTMLSelectElement.idl:
133081        * html/TextTrackCueList.idl:
133082        * html/canvas/CanvasPixelArray.idl:
133083        * html/canvas/Float32Array.idl:
133084        * html/canvas/Float64Array.idl:
133085        * html/canvas/Int16Array.idl:
133086        * html/canvas/Int32Array.idl:
133087        * html/canvas/Int8Array.idl:
133088        * html/canvas/Uint16Array.idl:
133089        * html/canvas/Uint32Array.idl:
133090        * html/canvas/Uint8Array.idl:
133091        * html/canvas/Uint8ClampedArray.idl:
133092        * html/track/TextTrackList.idl:
133093        * mediastream/MediaStreamList.idl:
133094        * mediastream/MediaStreamTrackList.idl:
133095        * page/SpeechInputResultList.idl:
133096        * page/WebKitAnimationList.idl:
133097        * plugins/DOMMimeTypeArray.idl:
133098        * plugins/DOMPlugin.idl:
133099        * plugins/DOMPluginArray.idl:
133100        * storage/Storage.idl:
133101
1331022012-02-06  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
133103
133104        Ensure timers and other active DOM objects do not fire in suspended documents.
133105        https://bugs.webkit.org/show_bug.cgi?id=53733
133106
133107        ScriptExecutionContext now remembers it has suspended active DOM objects
133108        and suspends all newly installed active DOM objects as well.
133109
133110        All create-calls active DOM objects now calls the post constructor method
133111        suspendIfNeeded that updates the suspend state. It is post constructor
133112        because the suspend/resume functions are virtual and thus can not be called
133113        from constructors.
133114
133115        Reviewed by Mihai Parparita.
133116
133117        Test: fast/events/suspend-timers.html
133118
133119        * Modules/intents/IntentRequest.cpp:
133120        (WebCore::IntentRequest::create):
133121        * bindings/generic/ActiveDOMCallback.cpp:
133122        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
133123        * dom/ActiveDOMObject.cpp:
133124        (WebCore::ActiveDOMObject::ActiveDOMObject):
133125        (WebCore::ActiveDOMObject::~ActiveDOMObject):
133126        (WebCore::ActiveDOMObject::suspendIfNeeded):
133127        * dom/ActiveDOMObject.h:
133128        (WebCore::ActiveDOMObject::suspendIfNeededCalled):
133129        * dom/DocumentEventQueue.cpp:
133130        (WebCore::DocumentEventQueue::DocumentEventQueue):
133131        * dom/ScriptExecutionContext.cpp:
133132        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
133133        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
133134        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
133135        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
133136        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
133137        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
133138        (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
133139        * dom/ScriptExecutionContext.h:
133140        (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
133141        * fileapi/DOMFileSystem.cpp:
133142        (WebCore::DOMFileSystem::create):
133143        * fileapi/FileReader.cpp:
133144        (WebCore::FileReader::create):
133145        * fileapi/FileReader.h:
133146        * fileapi/FileWriter.cpp:
133147        (WebCore::FileWriter::create):
133148        * fileapi/FileWriter.h:
133149        * history/CachedFrame.cpp:
133150        (WebCore::CachedFrame::CachedFrame):
133151        * html/HTMLAudioElement.cpp:
133152        (WebCore::HTMLAudioElement::create):
133153        * html/HTMLMarqueeElement.cpp:
133154        (WebCore::HTMLMarqueeElement::create):
133155        * html/HTMLVideoElement.cpp:
133156        (WebCore::HTMLVideoElement::create):
133157        * mediastream/PeerConnection.cpp:
133158        (WebCore::PeerConnection::create):
133159        * notifications/Notification.cpp:
133160        (WebCore::Notification::create):
133161        * notifications/NotificationCenter.cpp:
133162        (WebCore::NotificationCenter::create):
133163        * notifications/NotificationCenter.h:
133164        * page/DOMTimer.cpp:
133165        (WebCore::DOMTimer::install):
133166        (WebCore::DOMTimer::fired):
133167        * page/EventSource.cpp:
133168        (WebCore::EventSource::create):
133169        * page/SuspendableTimer.cpp:
133170        (WebCore::SuspendableTimer::SuspendableTimer):
133171        * storage/IDBDatabase.cpp:
133172        (WebCore::IDBDatabase::create):
133173        * storage/IDBRequest.cpp:
133174        (WebCore::IDBRequest::create):
133175        * storage/IDBTransaction.cpp:
133176        (WebCore::IDBTransaction::create):
133177        * webaudio/AudioContext.cpp:
133178        (WebCore::AudioContext::create):
133179        * websockets/WebSocket.cpp:
133180        (WebCore::WebSocket::create):
133181        * websockets/WebSocket.h:
133182        * workers/SharedWorker.cpp:
133183        (WebCore::SharedWorker::create):
133184        * workers/Worker.cpp:
133185        (WebCore::Worker::create):
133186        * xml/XMLHttpRequest.cpp:
133187        (WebCore::XMLHttpRequest::create):
133188
1331892012-02-06  Philippe Normand  <pnormand@igalia.com>
133190
133191        Adding FFTFrameGStreamer.cpp that I forgot to commit
133192        in r106537. That new file was reviewed in https://bugs.webkit.org/show_bug.cgi?id=73545.
133193
133194        * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
133195
1331962012-02-06  Hayato Ito  <hayato@chromium.org>
133197
133198        Add <shadow> element, which is guarded by SHADOW_DOM flag.
133199        https://bugs.webkit.org/show_bug.cgi?id=76435
133200
133201        Reviewed by Dimitri Glazkov.
133202
133203        Test: fast/dom/shadow/shadow-element.html
133204
133205        * CMakeLists.txt:
133206        * DerivedSources.cpp:
133207        * DerivedSources.make:
133208        * DerivedSources.pri:
133209        * GNUmakefile.list.am:
133210        * Target.pri:
133211        * WebCore.gypi:
133212        * WebCore.vcproj/WebCore.vcproj:
133213        * WebCore.xcodeproj/project.pbxproj:
133214        * html/HTMLElementsAllInOne.cpp:
133215        * html/HTMLTagNames.in:
133216        * html/shadow/HTMLShadowElement.cpp: Added.
133217        (WebCore):
133218        (WebCore::HTMLShadowElement::HTMLShadowElement):
133219        (WebCore::HTMLShadowElement::create):
133220        (WebCore::HTMLShadowElement::~HTMLShadowElement):
133221        * html/shadow/HTMLShadowElement.h: Added.
133222        (WebCore):
133223        (HTMLShadowElement):
133224        * html/shadow/HTMLShadowElement.idl: Added.
133225
1332262012-02-06  Joe Thomas  <joethomas@motorola.com>
133227
133228        https://bugs.webkit.org/show_bug.cgi?id=76995.
133229        WebKit fails IETC :indeterminate and input type=radio test.
133230
133231        All input types should respect indeterminate property(getter and setter). This is true with other browsers.
133232        Indeterminate appearance for radio input type is supported by IOS platform. Webkit need not support indeterminate appearance
133233        for radio input type on other platforms.
133234
133235        Reviewed by Kent Tamura.
133236
133237        Test: fast/forms/indeterminate-input-types.html
133238
133239        * html/CheckboxInputType.cpp:
133240        (WebCore::CheckboxInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
133241        (WebCore):
133242        * html/CheckboxInputType.h:
133243        (CheckboxInputType):
133244        * html/HTMLInputElement.cpp:
133245        (WebCore::HTMLInputElement::setIndeterminate): Removed the check isCheckable().
133246        (WebCore::HTMLInputElement::isIndeterminate): Checks indeterminate appearance is supported.
133247        (WebCore):
133248        * html/HTMLInputElement.h:
133249        (HTMLInputElement):
133250        * html/InputType.cpp:
133251        (WebCore::InputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
133252        (WebCore):
133253        * html/InputType.h:
133254        (InputType):
133255        * html/RadioInputType.cpp:
133256        (WebCore::RadioInputType::willDispatchClick): Indeterminate related code is moved to IOS specific.
133257        (WebCore::RadioInputType::didDispatchClick): Ditto.
133258        (WebCore::RadioInputType::supportsIndeterminateAppearance): Checks indeterminate appearance is supported.
133259        (WebCore):
133260        * html/RadioInputType.h:
133261        (RadioInputType):
133262
1332632012-02-06  Robin Cao  <robin.cao@torchmobile.com.cn>
133264
133265        [BlackBerry] Remove unused variable in PluginViewBlackBerry
133266        https://bugs.webkit.org/show_bug.cgi?id=77847
133267
133268        Reviewed by Kentaro Hara.
133269
133270        No changes in behavior, so no new tests.
133271
133272        * plugins/blackberry/PluginViewBlackBerry.cpp:
133273        (WebCore::PluginView::updatePluginWidget):
133274
1332752012-02-06  Peter Rybin  <peter.rybin@gmail.com>
133276
133277        Web Inspector: Fix CallArgument type in Inspector.json
133278        https://bugs.webkit.org/show_bug.cgi?id=77839
133279
133280        Reviewed by Yury Semikhatsky.
133281
133282        Protocol description is fixed: field type is changed. No changes to
133283        program code are necessary.
133284
133285        * inspector/Inspector-0.1.json:
133286        * inspector/Inspector-1.0.json:
133287        * inspector/Inspector.json:
133288
1332892012-02-05  Gavin Barraclough  <barraclough@apple.com>
133290
133291        Remove JSObject defineGetter/defineSetter lookupGetter/lookupSetter
133292        https://bugs.webkit.org/show_bug.cgi?id=77451
133293
133294        Reviewed by Sam Weinig.
133295
133296        These can now all be implemented in terms of defineOwnProperty & getPropertyDescriptor.
133297        Also remove initializeGetterSetterProperty, since this is equivalent to putDirectAccessor.
133298
133299        * bindings/js/JSDOMWindowCustom.cpp:
133300        (WebCore):
133301        (WebCore::JSDOMWindow::defineOwnProperty):
133302        * bindings/js/JSDOMWindowShell.cpp:
133303        (WebCore):
133304        * bindings/js/JSDOMWindowShell.h:
133305        (JSDOMWindowShell):
133306        * bindings/js/JSLocationCustom.cpp:
133307        (WebCore::JSLocation::defineOwnProperty):
133308        (WebCore::JSLocationPrototype::defineOwnProperty):
133309        * bindings/scripts/CodeGeneratorJS.pm:
133310        (GenerateHeader):
133311        * page/DOMWindow.idl:
133312        * page/Location.idl:
133313
1333142012-02-06  Carlos Garcia Campos  <cgarcia@igalia.com>
133315
133316        Unreviewed. Fix make distrcheck.
133317
133318        * GNUmakefile.am: Fix typo in inspector json file.
133319        * GNUmakefile.list.am: Remove non existent file.
133320
1333212012-02-06  Yury Semikhatsky  <yurys@chromium.org>
133322
133323        Unreviewed. Qt minimal compilation fix after r106777.
133324
133325        * inspector/InspectorDatabaseAgent.h: added missing #if ENABLED guards.
133326
1333272012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
133328
133329        Web Inspector: REGRESSION detached dom nodes aren't highlighted
133330        https://bugs.webkit.org/show_bug.cgi?id=77829
133331
133332        This functionality was lost when I replaced (Native roots) with (Detached DOM trees) on v8 side.
133333
133334        Reviewed by Yury Semikhatsky.
133335
133336        * inspector/front-end/HeapSnapshot.js:
133337        (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTreesRoot):
133338        (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
133339
1333402012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
133341
133342        Web Inspector: get rid of artificial heap snapshot nodes from the retaining tree.
133343        https://bugs.webkit.org/show_bug.cgi?id=77850
133344
133345        Reviewed by Yury Semikhatsky.
133346
133347        * inspector/front-end/DetailedHeapshotGridNodes.js:
133348        (WebInspector.HeapSnapshotObjectNode):
133349        (WebInspector.HeapSnapshotObjectNode.prototype.updateHasChildren):
133350        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
133351        * inspector/front-end/HeapSnapshot.js:
133352        (WebInspector.HeapSnapshotNode.prototype.get isArtificial):
133353        (WebInspector.HeapSnapshot.prototype._init):
133354
1333552012-02-05  Peter Rybin  <peter.rybin@gmail.com>
133356
133357        Web Inspector: CodeGeneratorInspector.py: switch domain agents to formal interfaces in BackendDispatcher
133358        https://bugs.webkit.org/show_bug.cgi?id=77444
133359
133360        Reviewed by Yury Semikhatsky.
133361
133362        All agent code is switched to formal interfaces. Actual agent class
133363        names and includes are dropped from InspectorBackendDispatcher.h.
133364
133365        * inspector/CodeGeneratorInspector.py:
133366        (DomainNameFixes.get_fixed_data):
133367        (Generator.go):
133368        * inspector/InspectorAgent.h:
133369        * inspector/InspectorApplicationCacheAgent.h:
133370        * inspector/InspectorCSSAgent.cpp:
133371        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
133372        * inspector/InspectorCSSAgent.h:
133373        (InspectorCSSAgent):
133374        * inspector/InspectorConsoleAgent.h:
133375        * inspector/InspectorDOMAgent.cpp:
133376        (WebCore::InspectorDOMAgent::highlightNode):
133377        * inspector/InspectorDOMAgent.h:
133378        (InspectorDOMAgent):
133379        * inspector/InspectorDOMDebuggerAgent.h:
133380        * inspector/InspectorDOMStorageAgent.h:
133381        * inspector/InspectorDatabaseAgent.h:
133382        * inspector/InspectorDebuggerAgent.cpp:
133383        (WebCore::InspectorDebuggerAgent::setBreakpoint):
133384        (WebCore::InspectorDebuggerAgent::continueToLocation):
133385        * inspector/InspectorDebuggerAgent.h:
133386        (InspectorDebuggerAgent):
133387        * inspector/InspectorFileSystemAgent.h:
133388        * inspector/InspectorIndexedDBAgent.h:
133389        * inspector/InspectorMemoryAgent.h:
133390        * inspector/InspectorPageAgent.h:
133391        * inspector/InspectorProfilerAgent.cpp:
133392        (WebCore::InspectorProfilerAgent::getProfile):
133393        (WebCore::InspectorProfilerAgent::removeProfile):
133394        * inspector/InspectorProfilerAgent.h:
133395        (InspectorProfilerAgent):
133396        * inspector/InspectorResourceAgent.cpp:
133397        (WebCore::InspectorResourceAgent::setExtraHTTPHeaders):
133398        * inspector/InspectorResourceAgent.h:
133399        (InspectorResourceAgent):
133400        * inspector/InspectorRuntimeAgent.h:
133401        * inspector/InspectorTimelineAgent.cpp:
133402        (WebCore::InspectorTimelineAgent::start):
133403        * inspector/InspectorTimelineAgent.h:
133404        (InspectorTimelineAgent):
133405        * inspector/InspectorWorkerAgent.cpp:
133406        (WebCore::InspectorWorkerAgent::sendMessageToWorker):
133407        * inspector/InspectorWorkerAgent.h:
133408        (InspectorWorkerAgent):
133409
1334102012-02-05  Kentaro Hara  <haraken@chromium.org>
133411
133412        Rename [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
133413        [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString]
133414        https://bugs.webkit.org/show_bug.cgi?id=77611
133415
133416        Reviewed by Adam Barth.
133417
133418        While the Web IDL spec requires [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString],
133419        the current WebKit treats them as (not an empty string but) a null string.
133420        To avoid confusion, this patch renames [TreatNullAs=EmptyString] to [TreatNullAs=NullString],
133421        and [TreatUndefinedAs=EmptyString] to [TreatUndefinedAs=NullString].
133422        (Eventually we should fix WebKit so that it uses an empty string and then
133423        rename them to [TreatNullAs=EmptyString] and [TreatUndefinedAs=EmptyString].)
133424
133425        No tests. No change in behavior.
133426
133427        * bindings/scripts/CodeGeneratorJS.pm: Added FIXME.
133428        (JSValueToNative):
133429        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
133430        (GetNativeTypeFromSignature):
133431
133432        * bindings/scripts/test/TestObj.idl:
133433        * css/CSSCharsetRule.idl:
133434        * css/CSSPageRule.idl:
133435        * css/CSSRule.idl:
133436        * css/CSSStyleDeclaration.idl:
133437        * css/CSSStyleRule.idl:
133438        * css/CSSValue.idl:
133439        * css/MediaList.idl:
133440        * css/WebKitCSSKeyframesRule.idl:
133441        * dom/Attr.idl:
133442        * dom/CharacterData.idl:
133443        * dom/DOMImplementation.idl:
133444        * dom/Document.idl:
133445        * dom/Element.idl:
133446        * dom/NamedNodeMap.idl:
133447        * dom/Node.idl:
133448        * dom/ProcessingInstruction.idl:
133449        * dom/ShadowRoot.idl:
133450        * fileapi/Blob.idl:
133451        * fileapi/DirectoryEntry.idl:
133452        * fileapi/DirectoryEntrySync.idl:
133453        * fileapi/Entry.idl:
133454        * fileapi/EntrySync.idl:
133455        * fileapi/WebKitBlobBuilder.idl:
133456        * html/HTMLAnchorElement.idl:
133457        * html/HTMLButtonElement.idl:
133458        * html/HTMLCanvasElement.idl:
133459        * html/HTMLDocument.idl:
133460        * html/HTMLElement.idl:
133461        * html/HTMLFieldSetElement.idl:
133462        * html/HTMLFormElement.idl:
133463        * html/HTMLFrameElement.idl:
133464        * html/HTMLInputElement.idl:
133465        * html/HTMLKeygenElement.idl:
133466        * html/HTMLMediaElement.idl:
133467        * html/HTMLObjectElement.idl:
133468        * html/HTMLOutputElement.idl:
133469        * html/HTMLScriptElement.idl:
133470        * html/HTMLSelectElement.idl:
133471        * html/HTMLTextAreaElement.idl:
133472        * html/HTMLTitleElement.idl:
133473        * html/canvas/CanvasRenderingContext2D.idl:
133474        * page/Console.idl:
133475        * page/DOMWindow.idl:
133476        * storage/StorageEvent.idl:
133477        * svg/SVGAngle.idl:
133478        * svg/SVGElement.idl:
133479        * svg/SVGLength.idl:
133480        * svg/SVGScriptElement.idl:
133481
1334822012-02-05  Kentaro Hara  <haraken@chromium.org>
133483
133484        Rename [JSCCustom*] IDL to [JSCustom*] IDL
133485        https://bugs.webkit.org/show_bug.cgi?id=77844
133486
133487        Reviewed by Adam Barth.
133488
133489        Most existing JSC-specific IDLs have "JS" prefix. We can rename [JSCCustom] to
133490        [JSCustom], [JSCCustomGetter] to [JSCustomGetter], and [JSCCustomSetter] to
133491        [JSCustomSetter].
133492
133493        No tests. No change in behavior.
133494
133495        * bindings/scripts/CodeGeneratorJS.pm:
133496        (GenerateHeader):
133497        (GenerateImplementation):
133498        * css/CSSStyleDeclaration.idl:
133499        * html/HTMLDocument.idl:
133500        * html/canvas/DataView.idl:
133501        * page/DOMWindow.idl:
133502        * page/MemoryInfo.idl:
133503        * webaudio/ConvolverNode.idl:
133504        * webaudio/DOMWindowWebAudio.idl:
133505        * webaudio/WaveShaperNode.idl:
133506        * websockets/DOMWindowWebSocket.idl:
133507        * workers/WorkerContext.idl:
133508
1335092012-02-05  ChangSeok Oh  <shivamidow@gmail.com>
133510
133511        [EFL] Enable WebGL with glx backend
133512        https://bugs.webkit.org/show_bug.cgi?id=77308
133513
133514        Reviewed by Martin Robinson.
133515
133516        Implemented WebGL feature for EFL port. The way is very similar to the one of GTK port.
133517
133518        No new tests required. We can verify this feature with the existing test cases.
133519
133520        * CMakeLists.txt: Revised common files required for WebGL.
133521        * PlatformEfl.cmake: Added EFL specific files.
133522        * html/HTMLCanvasElement.cpp:
133523        (WebCore::HTMLCanvasElement::getContext):
133524        * platform/graphics/ANGLEWebKitBridge.h:
133525        * platform/graphics/GraphicsContext3D.h:
133526        (WebCore):
133527        (WebCore::GraphicsContext3D::platformTexture):
133528        (GraphicsContext3D):
133529        (WebCore::GraphicsContext3D::paintsIntoCanvasBuffer):
133530        * platform/graphics/efl/DrawingBufferEfl.cpp: Copied from GTK port.
133531        (WebCore):
133532        (WebCore::DrawingBuffer::DrawingBuffer):
133533        (WebCore::DrawingBuffer::~DrawingBuffer):
133534        (WebCore::DrawingBuffer::platformColorBuffer):
133535        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
133536        * platform/graphics/efl/GraphicsContext3DEfl.cpp: Almost same with GraphicsContext3DGtk.cpp.
133537        (WebCore::GraphicsContext3D::create):
133538        (WebCore::GraphicsContext3D::GraphicsContext3D):
133539        (WebCore::GraphicsContext3D::~GraphicsContext3D):
133540        (WebCore::GraphicsContext3D::makeContextCurrent):
133541        (WebCore::GraphicsContext3D::platformGraphicsContext3D):
133542        (WebCore::GraphicsContext3D::isGLES2Compliant):
133543        * platform/graphics/opengl/Extensions3DOpenGL.cpp:
133544        (WebCore::Extensions3DOpenGL::createVertexArrayOES):
133545        (WebCore::Extensions3DOpenGL::deleteVertexArrayOES):
133546        (WebCore::Extensions3DOpenGL::isVertexArrayOES):
133547        (WebCore::Extensions3DOpenGL::bindVertexArrayOES):
133548        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
133549        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp:
133550
1335512012-02-05  Abhishek Arya  <inferno@chromium.org>
133552
133553        Crash in FormSubmission::create.
133554        https://bugs.webkit.org/show_bug.cgi?id=77813
133555
133556        Reviewed by Kent Tamura.
133557
133558        Test: fast/forms/form-submission-create-crash.xhtml
133559
133560        * loader/FormSubmission.cpp:
133561        (WebCore::FormSubmission::create):
133562
1335632012-02-05  Andreas Kling  <awesomekling@apple.com>
133564
133565        Remove unused file MappedAttributeEntry.h.
133566        <http://webkit.org/b/77841>
133567
133568        Reviewed by Anders Carlsson.
133569
133570        * GNUmakefile.list.am:
133571        * WebCore.gypi:
133572        * WebCore.vcproj/WebCore.vcproj:
133573        * WebCore.xcodeproj/project.pbxproj:
133574        * dom/MappedAttributeEntry.h: Removed.
133575        * dom/StyledElement.h:
133576
1335772012-02-05  Andreas Kling  <awesomekling@apple.com>
133578
133579        StyledElement: Rename parseMappedAttribute() to parseAttribute().
133580        <http://webkit.org/b/77830>
133581
133582        Reviewed by Anders Carlsson.
133583
133584        Rename across the board and decorate subclasses with OVERRIDE.
133585
1335862012-02-05  Gustavo Noronha Silva  <gns@gnome.org>
133587
133588        Unreviewed syntax fix.
133589
133590        * English.lproj/localizedStrings.js:
133591
1335922012-02-05  Andreas Kling  <awesomekling@apple.com>
133593
133594        Swedish buildfix.
133595
133596        * dom/Document.cpp:
133597        (WebCore::wheelEventHandlerCountChanged):
133598
1335992012-02-05  Anders Carlsson  <andersca@apple.com>
133600
133601        The scrolling tree should be aware of any wheel event handlers on the page
133602        https://bugs.webkit.org/show_bug.cgi?id=77840
133603
133604        Reviewed by Andreas Kling.
133605
133606        If there are wheel event handlers on the page, any wheel events must be redispatched
133607        to the main thread so they can go through the DOM event handling.
133608
133609        * dom/Document.cpp:
133610        (WebCore::wheelEventHandlerCountChanged):
133611        Inform the scrolling coordinator that the wheel event count changed.
133612
133613        (WebCore::Document::didAddWheelEventHandler):
133614        (WebCore::Document::didRemoveWheelEventHandler):
133615        Call wheelEventHandlerCountChanged.
133616
133617        * page/scrolling/ScrollingCoordinator.cpp:
133618        (WebCore::ScrollingCoordinator::frameViewWheelEventHandlerCountChanged):
133619        Call recomputeWheelEventHandlerCount.
133620
133621        (WebCore::ScrollingCoordinator::recomputeWheelEventHandlerCount):
133622        Update the scrolling tree state.
133623
133624        * page/scrolling/ScrollingTree.cpp:
133625        (WebCore::ScrollingTree::ScrollingTree):
133626        Initialize m_hasWheelEventHandlers to false.
133627
133628        (WebCore::ScrollingTree::tryToHandleWheelEvent):
133629        If m_hasWheelEventHandlers is true, bail.
133630
133631        (WebCore::ScrollingTree::commitNewTreeState):
133632        Update m_hasWheelEventHandlers.
133633
133634        * page/scrolling/ScrollingTreeState.cpp:
133635        (WebCore::ScrollingTreeState::ScrollingTreeState):
133636        (WebCore::ScrollingTreeState::setWheelEventHandlerCount):
133637        Add getter and setter for the wheel event handler count.
133638
1336392012-02-05  Andreas Kling  <awesomekling@apple.com>
133640
133641        Remove mapped vs non-mapped attribute distinction.
133642        <http://webkit.org/b/77827>
133643
133644        Reviewed by Antti Koivisto.
133645
133646        Removed the isMappedAttribute flag from Attribute as it no longer serves
133647        a practical purpose. Previously, StyledElement would generate mapped
133648        attributes and plain Element would generate non-mapped ones.
133649
133650        The distinction is now made much more clearly by dividing the work between
133651        Element's and StyledElement's attributeChanged() methods. The only thing
133652        that StyledElement wants to do in addition to what Element does is
133653        calling parseMappedAttribute() (which we'll rename in a later patch.)
133654
133655        * dom/Attribute.cpp:
133656        (WebCore::Attribute::clone):
133657        * dom/Attribute.h:
133658        (WebCore::Attribute::create):
133659        (WebCore::Attribute::Attribute):
133660        (Attribute):
133661        * dom/Document.cpp:
133662        (WebCore::Document::createAttributeNS):
133663        * dom/Element.cpp:
133664        (WebCore::Element::attributeChanged):
133665        * dom/Element.h:
133666        (Element):
133667        * dom/Node.cpp:
133668        (WebCore::Node::dumpStatistics):
133669        * dom/StyledElement.cpp:
133670        (WebCore::StyledElement::attributeChanged):
133671        (WebCore::StyledElement::parseMappedAttribute):
133672        * dom/StyledElement.h:
133673        (StyledElement):
133674        * html/parser/HTMLConstructionSite.cpp:
133675        (WebCore):
133676        * html/parser/HTMLTreeBuilder.cpp:
133677        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
133678        * html/parser/TextDocumentParser.cpp:
133679        (WebCore::TextDocumentParser::insertFakePreElement):
133680        * svg/SVGStyledElement.cpp:
133681        (WebCore::SVGStyledElement::getPresentationAttribute):
133682        * xml/parser/MarkupTokenBase.h:
133683        (WebCore::::initializeAttributes):
133684
1336852012-02-05  Andreas Kling  <awesomekling@apple.com>
133686
133687        Kill CSSMappedAttributeDeclaration.
133688        <http://webkit.org/b/77820>
133689
133690        Reviewed by Antti Koivisto.
133691
133692        Replace all use of CSSMappedAttributeDeclaration by StylePropertySet.
133693        Moved the setNeedsStyleRecalc() calls from CSSMappedAttributeDeclaration
133694        to the add/remove-CSS-property helpers in StyledElement.
133695
133696        This removes one step of indirection for attribute styles and reduces
133697        the size of elements that have presentational attributes by one pointer.
133698
133699        * CMakeLists.txt:
133700        * GNUmakefile.list.am:
133701        * Target.pri:
133702        * WebCore.gypi:
133703        * WebCore.order:
133704        * WebCore.vcproj/WebCore.vcproj:
133705        * WebCore.xcodeproj/project.pbxproj:
133706        * dom/CSSMappedAttributeDeclaration.cpp: Removed.
133707        * dom/CSSMappedAttributeDeclaration.h: Removed.
133708        * dom/DOMAllInOne.cpp:
133709
133710            Remove CSSMappedAttributeDeclaration.{cpp,h}
133711
133712        * css/CSSParser.h:
133713        * css/CSSParser.cpp:
133714        (WebCore::parseSimpleLengthValue):
133715
133716            Remove CSSParser::parseMappedAttributeValue(), we now use parseValue()
133717            directly instead. We lose the benefit of caching new CSSValues in the
133718            document's CSSValuePool but this optimization can be added back later.
133719
133720        * css/CSSStyleSelector.cpp:
133721        (WebCore::CSSStyleSelector::matchAllRules):
133722        * dom/ElementAttributeData.h:
133723        (ElementAttributeData):
133724        * dom/NamedNodeMap.cpp:
133725        (WebCore::NamedNodeMap::ensureAttributeStyle):
133726        * dom/NamedNodeMap.h:
133727        (WebCore::NamedNodeMap::attributeStyle):
133728        (NamedNodeMap):
133729        * dom/StyledElement.cpp:
133730        (WebCore::StyledElement::removeCSSProperties):
133731        (WebCore::StyledElement::addCSSProperty):
133732        (WebCore::StyledElement::addCSSImageProperty):
133733        (WebCore::StyledElement::addCSSLength):
133734        (WebCore::StyledElement::addCSSColor):
133735        * dom/StyledElement.h:
133736        (WebCore):
133737        (WebCore::StyledElement::attributeStyle):
133738        (WebCore::StyledElement::ensureAttributeStyle):
133739        * inspector/InspectorCSSAgent.cpp:
133740        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
133741
1337422012-02-05  Ilya Tikhonovsky  <loislo@chromium.org>
133743
133744        Web Inspector: beautify retaining tree items view.
133745        https://bugs.webkit.org/show_bug.cgi?id=77810
133746
133747        Reviewed by Yury Semikhatsky.
133748
133749        * inspector/front-end/DetailedHeapshotGridNodes.js:
133750        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
133751        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
133752        * inspector/front-end/heapProfiler.css:
133753        (.cycled-ancessor-node):
133754        * inspector/front-end/profilesPanel.css:
133755
1337562012-02-04  Shawn Singh  <shawnsingh@chromium.org>
133757
133758        [chromium] Add support to force full damage in CCDamageTracker
133759        https://bugs.webkit.org/show_bug.cgi?id=76805
133760
133761        Reviewed by James Robinson.
133762
133763        Unit test added to CCDamageTrackerTest.cpp.
133764
133765        This feature is needed for events that should cause the entire
133766        surface to be damaged, even if layers themselves had only partial
133767        damage or no damage at all. For example, tab-switching is one such
133768        event.
133769
133770        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
133771        (WebCore::CCDamageTracker::CCDamageTracker):
133772        (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
133773        * platform/graphics/chromium/cc/CCDamageTracker.h:
133774        (WebCore::CCDamageTracker::forceFullDamageNextUpdate):
133775        (CCDamageTracker):
133776
1337772012-02-04  Anders Carlsson  <andersca@apple.com>
133778
133779        Remove dead code from ScrollingCoordinator
133780        https://bugs.webkit.org/show_bug.cgi?id=77821
133781
133782        Reviewed by Sam Weinig.
133783
133784        * WebCore.exp.in:
133785        * page/scrolling/ScrollingCoordinator.cpp:
133786        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
133787        * page/scrolling/ScrollingCoordinator.h:
133788        (ScrollingCoordinator):
133789        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
133790        (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
133791        * rendering/RenderLayerCompositor.cpp:
133792        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
133793        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
133794
1337952012-02-04  Anders Carlsson  <andersca@apple.com>
133796
133797        The scrolling tree should inform the main scrolling coordinator when the scroll position changes
133798        https://bugs.webkit.org/show_bug.cgi?id=77818
133799
133800        Reviewed by Sam Weinig.
133801
133802        * page/scrolling/ScrollingCoordinator.cpp:
133803        (WebCore::ScrollingCoordinator::updateMainFrameScrollPosition):
133804        Set the main frame scroll position.
133805
133806        * page/scrolling/ScrollingTree.cpp:
133807        (WebCore::ScrollingTree::updateMainFrameScrollPosition):
133808        Call ScrollingCoordinator::updateMainFrameScrollPosition on the main thread.
133809
133810        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
133811        (WebCore::ScrollingTreeNodeMac::scrollBy):
133812        Call ScrollingTree::updateMainFrameScrollPosition.
133813
1338142012-02-04  Andreas Kling  <awesomekling@apple.com>
133815
133816        Element: Remove unnecessary attributeChanged() argument.
133817        <http://webkit.org/b/77814>
133818
133819        Reviewed by Ryosuke Niwa.
133820
133821        Remove the 'preserveDecls' argument to Element::attributeChanged() as that is no
133822        longer needed after the removal of per-attribute style declarations.
133823        Decorated subclass overrides with OVERRIDE since we're touching the lines.
133824
133825        Also removed an old inaccurate comment in NamedNodeMap::setAttributes() - calling
133826        attributeChanged() is absolutely necessary to initialize element-specific state.
133827
133828        * dom/Element.cpp:
133829        (WebCore::Element::attributeChanged):
133830        * dom/Element.h:
133831        (Element):
133832        * dom/NamedNodeMap.cpp:
133833        (WebCore::NamedNodeMap::setAttributes):
133834        * dom/StyledElement.cpp:
133835        (WebCore::StyledElement::attributeChanged):
133836        * dom/StyledElement.h:
133837        (StyledElement):
133838        * html/HTMLInputElement.cpp:
133839        (WebCore::HTMLInputElement::updateType):
133840        * html/HTMLMediaElement.cpp:
133841        (WebCore::HTMLMediaElement::attributeChanged):
133842        * html/HTMLMediaElement.h:
133843        (HTMLMediaElement):
133844        * html/HTMLScriptElement.cpp:
133845        (WebCore::HTMLScriptElement::attributeChanged):
133846        * html/HTMLScriptElement.h:
133847        (HTMLScriptElement):
133848        * html/HTMLTrackElement.cpp:
133849        (WebCore::HTMLTrackElement::attributeChanged):
133850        * html/HTMLTrackElement.h:
133851        (HTMLTrackElement):
133852        * svg/SVGAnimationElement.cpp:
133853        (WebCore::SVGAnimationElement::attributeChanged):
133854        * svg/SVGAnimationElement.h:
133855        * svg/SVGElement.cpp:
133856        (WebCore::SVGElement::attributeChanged):
133857        * svg/SVGElement.h:
133858        (SVGElement):
133859        * svg/animation/SVGSMILElement.cpp:
133860        (WebCore::SVGSMILElement::attributeChanged):
133861        * svg/animation/SVGSMILElement.h:
133862        (SVGSMILElement):
133863
1338642012-02-04  Ken Buchanan  <kenrb@chromium.org>
133865
133866        Crash when reparenting children of flexible boxes
133867        https://bugs.webkit.org/show_bug.cgi?id=77458
133868
133869        Reviewed by Ojan Vafai.
133870
133871        This fixes some regressions I introduced in r106150. RenderBlock::
133872        removeChild needs to be careful about not collapsing anonymous
133873        blocks underneath flexible boxes, and also about node ordering
133874        when there is an after block.
133875
133876        * rendering/RenderBlock.cpp:
133877        (WebCore::RenderBlock::removeChild):
133878        (WebCore::RenderBlock::collapseAnonymousBoxChild):
133879
1338802012-02-04  Ryosuke Niwa  <rniwa@webkit.org>
133881
133882        Debug build fix after r106715.
133883
133884        * html/HTMLDetailsElement.cpp:
133885        (WebCore::DetailsSummaryElement::create):
133886
1338872012-02-04  Andreas Kling  <awesomekling@apple.com>
133888
133889        Unreviewed test fix after r106740.
133890        <http://webkit.org/b/77204>
133891
133892        Disable matched declaration caching for elements with attribute style until we can
133893        figure out how it's supposed to work.
133894
133895        * css/CSSStyleSelector.cpp:
133896        (WebCore::CSSStyleSelector::matchAllRules):
133897
1338982012-02-03  Andreas Kling  <awesomekling@apple.com>
133899
133900        Kill per-Attribute style declarations.
133901        <http://webkit.org/b/77204>
133902
133903        Reviewed by Antti Koivisto.
133904
133905        TL;DR summary: Remove the per-Attribute style declarations and replace them by a single
133906        style declaration on StyledElement that acts as a secondary inline style.
133907
133908        The previous design was conceived in the Age of the Old Web(tm) where the majority of
133909        element styling was accomplished via attributes. Nowadays, CSS is a much better tool for
133910        this and we should optimize around that instead.
133911
133912        StyledElements now have an attributeStyle() which contains all the styling from attributes.
133913        parseMappedAttribute() is responsible for adding/removing properties to the attributeStyle
133914        as the corresponding attributes come in/out of the element.
133915
133916        Each Attribute instance shrinks by one pointer, each element that has attributes grows by
133917        one pointer. The styles from individual attributes are no longer shared, so content that
133918        uses a lot of repeating styling attributes will see a slight memory regression from this.
133919        Future improvements to this could enable sharing the attributeStyle between elements that
133920        have the same exact attributes to mitigate some of the damage.
133921
133922        There should be no web-facing behavior change from this, but it does break two things:
133923
133924        - The Inspector feature for displaying per-attribute styles. To keep things manageable,
133925          this patch simply files all the attribute styles together under an anonymous attribute
133926          in the Inspector.
133927
133928        - The Obj-C DOM binding for Attr::style() has to be kept for compatibility reasons,
133929          though it's already deprecated. It will now always return nil, since there's no way to
133930          retrieve a live style declaration that's specific to a certain Attr.
133931
133932        * css/CSSStyleSelector.cpp:
133933        (WebCore::CSSStyleSelector::matchAllRules):
133934        (WebCore::CSSStyleSelector::canShareStyleWithElement):
133935        * dom/Attr.h:
133936        (WebCore):
133937        (Attr):
133938        (WebCore::Attr::style):
133939        * dom/Attribute.cpp:
133940        (WebCore::Attribute::clone):
133941        * dom/Attribute.h:
133942        (WebCore):
133943        (WebCore::Attribute::create):
133944        (WebCore::Attribute::createMapped):
133945        (Attribute):
133946        (WebCore::Attribute::Attribute):
133947        * dom/CSSMappedAttributeDeclaration.cpp:
133948        (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
133949        (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
133950        * dom/CSSMappedAttributeDeclaration.h:
133951        (CSSMappedAttributeDeclaration):
133952        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
133953        * dom/Element.h:
133954        (Element):
133955        * dom/ElementAttributeData.h:
133956        (ElementAttributeData):
133957        * dom/NamedNodeMap.cpp:
133958        (WebCore::NamedNodeMap::ensureAttributeStyle):
133959        (WebCore):
133960        * dom/NamedNodeMap.h:
133961        (WebCore::NamedNodeMap::attributeStyle):
133962        (NamedNodeMap):
133963        * dom/StyledElement.cpp:
133964        (WebCore):
133965        (WebCore::StyledElement::attributeChanged):
133966        (WebCore::StyledElement::removeCSSProperties):
133967        (WebCore::StyledElement::addCSSProperty):
133968        (WebCore::StyledElement::addCSSImageProperty):
133969        (WebCore::StyledElement::addCSSLength):
133970        (WebCore::StyledElement::addCSSColor):
133971        * dom/StyledElement.h:
133972        (StyledElement):
133973        (WebCore::StyledElement::removeCSSProperty):
133974        (WebCore::StyledElement::attributeStyle):
133975        (WebCore::StyledElement::ensureAttributeStyle):
133976        * html/HTMLBRElement.cpp:
133977        (WebCore::HTMLBRElement::parseMappedAttribute):
133978        * html/HTMLBRElement.h:
133979        (HTMLBRElement):
133980        * html/HTMLBodyElement.cpp:
133981        (WebCore::HTMLBodyElement::parseMappedAttribute):
133982        * html/HTMLBodyElement.h:
133983        (HTMLBodyElement):
133984        * html/HTMLDivElement.cpp:
133985        (WebCore::HTMLDivElement::parseMappedAttribute):
133986        * html/HTMLDivElement.h:
133987        (HTMLDivElement):
133988        * html/HTMLElement.cpp:
133989        (WebCore::HTMLElement::applyBorderAttribute):
133990        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
133991        (WebCore::HTMLElement::parseMappedAttribute):
133992        (WebCore::HTMLElement::removeHTMLAlignment):
133993        (WebCore):
133994        (WebCore::HTMLElement::addHTMLAlignmentToStyledElement):
133995        (WebCore::HTMLElement::setContentEditable):
133996        * html/HTMLElement.h:
133997        (HTMLElement):
133998        * html/HTMLEmbedElement.cpp:
133999        (WebCore::HTMLEmbedElement::parseMappedAttribute):
134000        * html/HTMLEmbedElement.h:
134001        (HTMLEmbedElement):
134002        * html/HTMLFontElement.cpp:
134003        (WebCore::HTMLFontElement::parseMappedAttribute):
134004        * html/HTMLFontElement.h:
134005        (HTMLFontElement):
134006        * html/HTMLFrameSetElement.cpp:
134007        (WebCore::HTMLFrameSetElement::parseMappedAttribute):
134008        * html/HTMLFrameSetElement.h:
134009        (HTMLFrameSetElement):
134010        * html/HTMLHRElement.cpp:
134011        (WebCore::HTMLHRElement::parseMappedAttribute):
134012        * html/HTMLHRElement.h:
134013        (HTMLHRElement):
134014        * html/HTMLIFrameElement.cpp:
134015        (WebCore::HTMLIFrameElement::parseMappedAttribute):
134016        * html/HTMLIFrameElement.h:
134017        (HTMLIFrameElement):
134018        * html/HTMLImageElement.cpp:
134019        (WebCore::HTMLImageElement::parseMappedAttribute):
134020        * html/HTMLImageElement.h:
134021        (HTMLImageElement):
134022        * html/HTMLInputElement.cpp:
134023        (WebCore::HTMLInputElement::parseMappedAttribute):
134024        * html/HTMLInputElement.h:
134025        (HTMLInputElement):
134026        * html/HTMLLIElement.cpp:
134027        (WebCore::HTMLLIElement::parseMappedAttribute):
134028        * html/HTMLLIElement.h:
134029        (HTMLLIElement):
134030        * html/HTMLMarqueeElement.cpp:
134031        (WebCore::HTMLMarqueeElement::parseMappedAttribute):
134032        * html/HTMLMarqueeElement.h:
134033        (HTMLMarqueeElement):
134034        * html/HTMLOListElement.cpp:
134035        (WebCore::HTMLOListElement::parseMappedAttribute):
134036        * html/HTMLOListElement.h:
134037        (HTMLOListElement):
134038        * html/HTMLOutputElement.cpp:
134039        * html/HTMLOutputElement.h:
134040        (HTMLOutputElement):
134041        * html/HTMLParagraphElement.cpp:
134042        (WebCore::HTMLParagraphElement::parseMappedAttribute):
134043        * html/HTMLParagraphElement.h:
134044        (HTMLParagraphElement):
134045        * html/HTMLPlugInElement.cpp:
134046        (WebCore::HTMLPlugInElement::parseMappedAttribute):
134047        * html/HTMLPlugInElement.h:
134048        (HTMLPlugInElement):
134049        * html/HTMLPreElement.cpp:
134050        (WebCore::HTMLPreElement::parseMappedAttribute):
134051        * html/HTMLPreElement.h:
134052        (HTMLPreElement):
134053        * html/HTMLTableCaptionElement.cpp:
134054        (WebCore::HTMLTableCaptionElement::parseMappedAttribute):
134055        * html/HTMLTableCaptionElement.h:
134056        (HTMLTableCaptionElement):
134057        * html/HTMLTableCellElement.cpp:
134058        (WebCore::HTMLTableCellElement::parseMappedAttribute):
134059        * html/HTMLTableCellElement.h:
134060        (HTMLTableCellElement):
134061        * html/HTMLTableColElement.cpp:
134062        (WebCore::HTMLTableColElement::parseMappedAttribute):
134063        * html/HTMLTableColElement.h:
134064        (HTMLTableColElement):
134065        * html/HTMLTableElement.cpp:
134066        (WebCore::HTMLTableElement::parseMappedAttribute):
134067        * html/HTMLTableElement.h:
134068        (HTMLTableElement):
134069        * html/HTMLTablePartElement.cpp:
134070        (WebCore):
134071        (WebCore::HTMLTablePartElement::parseMappedAttribute):
134072        * html/HTMLTablePartElement.h:
134073        * html/HTMLTextAreaElement.cpp:
134074        (WebCore::HTMLTextAreaElement::parseMappedAttribute):
134075        * html/HTMLUListElement.cpp:
134076        (WebCore::HTMLUListElement::parseMappedAttribute):
134077        * html/HTMLUListElement.h:
134078        (HTMLUListElement):
134079        * html/HTMLVideoElement.cpp:
134080        (WebCore::HTMLVideoElement::parseMappedAttribute):
134081        * inspector/InspectorCSSAgent.cpp:
134082        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
134083        * mathml/MathMLElement.cpp:
134084        (WebCore::MathMLElement::parseMappedAttribute):
134085        * mathml/MathMLElement.h:
134086        * svg/SVGImageElement.cpp:
134087        (WebCore::SVGImageElement::parseMappedAttribute):
134088        * svg/SVGStyledElement.cpp:
134089        (WebCore::SVGStyledElement::parseMappedAttribute):
134090        (WebCore::SVGStyledElement::getPresentationAttribute):
134091        * svg/SVGStyledElement.h:
134092        (SVGStyledElement):
134093        * svg/SVGTextContentElement.cpp:
134094        (WebCore::SVGTextContentElement::parseMappedAttribute):
134095
1340962012-02-03  Ilya Tikhonovsky  <loislo@chromium.org>
134097
134098        Web Inspector: get rid of cycles in retaining tree
134099        https://bugs.webkit.org/show_bug.cgi?id=77801
134100
134101        Drive by fix: 'retained by' prefix was removed.
134102
134103        Reviewed by Yury Semikhatsky.
134104
134105        * inspector/front-end/DetailedHeapshotGridNodes.js:
134106        (WebInspector.HeapSnapshotObjectNode):
134107        (WebInspector.HeapSnapshotObjectNode.prototype._updateHasChildren):
134108        (WebInspector.HeapSnapshotObjectNode.prototype._createChildNode):
134109        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
134110        * inspector/front-end/profilesPanel.css:
134111        (.cycled-ancessor-node):
134112
1341132012-02-04  Kentaro Hara  <haraken@chromium.org>
134114
134115        Add the "JS" prefix to JSC specific IDL attributes
134116        https://bugs.webkit.org/show_bug.cgi?id=77693
134117
134118        Reviewed by Darin Adler.
134119
134120        Some JSC specific IDLs do not have "JS" prefix, e.g. [CustomIsReachable].
134121        It might be OK since JSC is the main JavaScript engine in WebKit, but
134122        distinguishing IDLs widely used in WebKit and IDLs used in JSC only would help
134123        people understand the role of IDLs.
134124
134125        This patch renames the following JSC specific IDLs:
134126
134127            CustomFinalize => JSCustomFinalize
134128            CustomIsReachable => JSCustomIsReachable
134129            CustomMarkFunction => JSCustomMarkFunction
134130            CustomToJS => JSCustomToJS
134131            CustomNativeConverter => JSCustomToNativeObject (Note: For naming consistency with [JSCustomToJS])
134132            GenerateIsReachable => JSGenerateIsReachable
134133            GenerateToJS => JSGenerateToJS
134134            NoStaticTables => JSNoStaticTables
134135            WindowEventListener => JSWindowEventListener
134136            InlineGetOwnPropertySlot => JSInlineGetOwnPropertySlot
134137            DelegatingPrototypePutFunction => JSCustomPrototypePutDelegate
134138
134139        No tests. No changes in behavior.
134140
134141        * bindings/scripts/CodeGeneratorJS.pm:
134142        (GenerateGetOwnPropertySlotBody):
134143        (GenerateGetOwnPropertyDescriptorBody):
134144        (GenerateHeader):
134145        (GenerateImplementation):
134146        * bindings/scripts/CodeGeneratorV8.pm:
134147        (HasCustomToV8Implementation):
134148
134149        * bindings/scripts/test/TestTypedArray.idl: No change in run-bindings-tests results.
134150
134151        * css/CSSRule.idl:
134152        * css/CSSRuleList.idl:
134153        * css/CSSStyleDeclaration.idl:
134154        * css/CSSValue.idl:
134155        * css/MediaList.idl:
134156        * css/MediaQueryListListener.idl:
134157        * css/StyleMedia.idl:
134158        * css/StyleSheet.idl:
134159        * css/StyleSheetList.idl:
134160        * dom/Attr.idl:
134161        * dom/DOMCoreException.idl:
134162        * dom/DOMImplementation.idl:
134163        * dom/DOMStringMap.idl:
134164        * dom/Document.idl:
134165        * dom/Element.idl:
134166        * dom/ErrorEvent.idl:
134167        * dom/Event.idl:
134168        * dom/EventException.idl:
134169        * dom/EventListener.idl:
134170        * dom/MessageChannel.idl:
134171        * dom/MessageEvent.idl:
134172        * dom/MessagePort.idl:
134173        * dom/NamedNodeMap.idl:
134174        * dom/Node.idl:
134175        * dom/NodeFilter.idl:
134176        * dom/NodeIterator.idl:
134177        * dom/NodeList.idl:
134178        * dom/TreeWalker.idl:
134179        * dom/WebKitNamedFlow.idl:
134180        * fileapi/Blob.idl:
134181        * fileapi/DOMFileSystem.idl:
134182        * fileapi/DOMFileSystemSync.idl:
134183        * fileapi/DirectoryEntry.idl:
134184        * fileapi/DirectoryEntrySync.idl:
134185        * fileapi/DirectoryReader.idl:
134186        * fileapi/DirectoryReaderSync.idl:
134187        * fileapi/Entry.idl:
134188        * fileapi/EntryArray.idl:
134189        * fileapi/EntryArraySync.idl:
134190        * fileapi/EntrySync.idl:
134191        * fileapi/File.idl:
134192        * fileapi/FileEntry.idl:
134193        * fileapi/FileEntrySync.idl:
134194        * fileapi/FileError.idl:
134195        * fileapi/FileException.idl:
134196        * fileapi/FileList.idl:
134197        * fileapi/FileReader.idl:
134198        * fileapi/FileReaderSync.idl:
134199        * fileapi/FileWriter.idl:
134200        * fileapi/Metadata.idl:
134201        * fileapi/OperationNotAllowedException.idl:
134202        * fileapi/WebKitBlobBuilder.idl:
134203        * html/DOMFormData.idl:
134204        * html/DOMSettableTokenList.idl:
134205        * html/DOMTokenList.idl:
134206        * html/DOMURL.idl:
134207        * html/HTMLAllCollection.idl:
134208        * html/HTMLBodyElement.idl:
134209        * html/HTMLCollection.idl:
134210        * html/HTMLFrameSetElement.idl:
134211        * html/ImageData.idl:
134212        * html/MediaController.idl:
134213        * html/TextTrack.idl:
134214        * html/TextTrackCue.idl:
134215        * html/VoidCallback.idl:
134216        * html/canvas/ArrayBuffer.idl:
134217        * html/canvas/ArrayBufferView.idl:
134218        * html/canvas/CanvasRenderingContext.idl:
134219        * html/canvas/DataView.idl:
134220        * html/canvas/Float32Array.idl:
134221        * html/canvas/Float64Array.idl:
134222        * html/canvas/Int16Array.idl:
134223        * html/canvas/Int32Array.idl:
134224        * html/canvas/Int8Array.idl:
134225        * html/canvas/OESStandardDerivatives.idl:
134226        * html/canvas/OESTextureFloat.idl:
134227        * html/canvas/OESVertexArrayObject.idl:
134228        * html/canvas/Uint16Array.idl:
134229        * html/canvas/Uint32Array.idl:
134230        * html/canvas/Uint8Array.idl:
134231        * html/canvas/Uint8ClampedArray.idl:
134232        * html/canvas/WebGLCompressedTextures.idl:
134233        * html/canvas/WebGLDebugRendererInfo.idl:
134234        * html/canvas/WebGLDebugShaders.idl:
134235        * html/canvas/WebGLLoseContext.idl:
134236        * html/canvas/WebGLRenderingContext.idl:
134237        * html/track/TextTrackList.idl:
134238        * loader/appcache/DOMApplicationCache.idl:
134239        * mediastream/LocalMediaStream.idl:
134240        * page/BarInfo.idl:
134241        * page/Console.idl:
134242        * page/DOMSelection.idl:
134243        * page/DOMWindow.idl:
134244        * page/EventSource.idl:
134245        * page/Geolocation.idl:
134246        * page/History.idl:
134247        * page/Location.idl:
134248        * page/Navigator.idl:
134249        * page/Screen.idl:
134250        * page/WorkerNavigator.idl:
134251        * plugins/DOMMimeTypeArray.idl:
134252        * plugins/DOMPluginArray.idl:
134253        * storage/Database.idl:
134254        * storage/DatabaseSync.idl:
134255        * storage/IDBAny.idl:
134256        * storage/IDBKey.idl:
134257        * storage/SQLError.idl:
134258        * storage/SQLException.idl:
134259        * storage/SQLResultSet.idl:
134260        * storage/SQLResultSetRowList.idl:
134261        * storage/SQLTransaction.idl:
134262        * storage/SQLTransactionSync.idl:
134263        * storage/Storage.idl:
134264        * svg/SVGElementInstance.idl:
134265        * svg/SVGPathSeg.idl:
134266        * webaudio/AudioBufferCallback.idl:
134267        * webaudio/AudioBufferSourceNode.idl:
134268        * webaudio/AudioContext.idl:
134269        * webaudio/AudioDestinationNode.idl:
134270        * webaudio/AudioGain.idl:
134271        * webaudio/AudioGainNode.idl:
134272        * webaudio/AudioPannerNode.idl:
134273        * webaudio/AudioProcessingEvent.idl:
134274        * webaudio/BiquadFilterNode.idl:
134275        * webaudio/ConvolverNode.idl:
134276        * webaudio/DelayNode.idl:
134277        * webaudio/DynamicsCompressorNode.idl:
134278        * webaudio/HighPass2FilterNode.idl:
134279        * webaudio/JavaScriptAudioNode.idl:
134280        * webaudio/LowPass2FilterNode.idl:
134281        * webaudio/MediaElementAudioSourceNode.idl:
134282        * webaudio/OfflineAudioCompletionEvent.idl:
134283        * webaudio/RealtimeAnalyserNode.idl:
134284        * webaudio/WaveShaperNode.idl:
134285        * websockets/CloseEvent.idl:
134286        * websockets/WebSocket.idl:
134287        * workers/AbstractWorker.idl:
134288        * workers/DedicatedWorkerContext.idl:
134289        * workers/SharedWorker.idl:
134290        * workers/SharedWorkerContext.idl:
134291        * workers/Worker.idl:
134292        * workers/WorkerContext.idl:
134293        * workers/WorkerLocation.idl:
134294        * xml/XMLHttpRequest.idl:
134295        * xml/XMLHttpRequestException.idl:
134296        * xml/XMLHttpRequestProgressEvent.idl:
134297        * xml/XMLHttpRequestUpload.idl:
134298        * xml/XPathResult.idl:
134299
1343002012-02-04  Emil A Eklund  <eae@chromium.org>
134301
134302        Convert RenderTheme over to new layout abstraction
134303        https://bugs.webkit.org/show_bug.cgi?id=77783
134304
134305        Reviewed by Eric Seidel.
134306
134307        Change the RenderTheme classes to use the new layout abstraction as a
134308        part of the ongoing conversion work.
134309
134310        No new tests.
134311
134312        * rendering/RenderTheme.cpp:
134313        (WebCore::RenderTheme::paint):
134314        (WebCore::RenderTheme::volumeSliderOffsetFromMuteButton):
134315        (WebCore::RenderTheme::baselinePosition):
134316        (WebCore::RenderTheme::adjustRepaintRect):
134317        (WebCore::RenderTheme::meterSizeForBounds):
134318        * rendering/RenderTheme.h:
134319        (RenderTheme):
134320        (WebCore::RenderTheme::paintCapsLockIndicator):
134321        * rendering/RenderThemeChromiumMac.h:
134322        (RenderThemeChromiumMac):
134323        * rendering/RenderThemeChromiumMac.mm:
134324        (WebCore::RenderThemeChromiumMac::volumeSliderOffsetFromMuteButton):
134325        * rendering/RenderThemeChromiumSkia.cpp:
134326        (WebCore::RenderThemeChromiumSkia::convertToPaintingRect):
134327        (WebCore::RenderThemeChromiumSkia::paintSearchFieldCancelButton):
134328        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsDecoration):
134329        (WebCore::RenderThemeChromiumSkia::paintSearchFieldResultsButton):
134330        * rendering/RenderThemeChromiumSkia.h:
134331        * rendering/RenderThemeMac.h:
134332        (RenderThemeMac):
134333        * rendering/RenderThemeMac.mm:
134334        (WebCore::RenderThemeMac::adjustRepaintRect):
134335        (WebCore::RenderThemeMac::inflateRect):
134336        (WebCore::RenderThemeMac::setControlSize):
134337        (WebCore::RenderThemeMac::paintCapsLockIndicator):
134338        (WebCore::RenderThemeMac::paintMenuList):
134339        (WebCore::RenderThemeMac::meterSizeForBounds):
134340        (WebCore::RenderThemeMac::paintMenuListButtonGradients):
134341        (WebCore::RenderThemeMac::setPopupButtonCellState):
134342        (WebCore::RenderThemeMac::paintSearchFieldCancelButton):
134343        (WebCore::RenderThemeMac::volumeSliderOffsetFromMuteButton):
134344        * rendering/RenderThemeSafari.cpp:
134345        (WebCore::RenderThemeSafari::baselinePosition):
134346        * rendering/RenderThemeSafari.h:
134347        (RenderThemeSafari):
134348        * rendering/RenderThemeWin.cpp:
134349        (WebCore::RenderThemeWin::paintSearchFieldCancelButton):
134350        (WebCore::RenderThemeWin::paintSearchFieldResultsDecoration):
134351        (WebCore::RenderThemeWin::paintSearchFieldResultsButton):
134352        (WebCore::RenderThemeWin::volumeSliderOffsetFromMuteButton):
134353        * rendering/RenderThemeWin.h:
134354        (RenderThemeWin):
134355
1343562012-02-04  Stephen White  <senorblanco@chromium.org>
134357
134358        [chromium] Fix multi-second hangs in compositor invalidating large layers
134359        https://bugs.webkit.org/show_bug.cgi?id=77774
134360
134361        Reviewed by James Robinson.
134362
134363        Correctness covered by existing tests.
134364
134365        * platform/graphics/chromium/TiledLayerChromium.cpp:
134366        (WebCore::TiledLayerChromium::pushPropertiesTo):
134367        Remove tiles from the tiler when they are invalid (ie., no longer have
134368        texture backing).
134369        (WebCore::TiledLayerChromium::invalidateRect):
134370        Instead of iterating over the tile indices (which may be very large),
134371        iterate over the tile hash map instead.
134372
1343732012-02-04  Swapna P  <spottabathini@innominds.com>
134374
134375        Reviewed by Antonio Gomes.
134376        
134377        Bug: iframe with scrolling=no incorrectly autoscrollable
134378        https://bugs.webkit.org/show_bug.cgi?id=61558
134379        
134380        Added check for frame scrolling mode just before applying scroll on frame content in function RenderLayer::scrollRect
134381        
134382        Testcase: LayoutTests/fast/events/autoscroll-with-non-scrollable-parent.html
134383        
134384        * rendering/RenderLayer.cpp:
134385        (WebCore::RenderLayer::scrollRectToVisible):
134386
1343872012-02-03  Tim Horton  <timothy_horton@apple.com>
134388
134389        Canvas-into-canvas drawing should respect backing store scale ratio
134390        https://bugs.webkit.org/show_bug.cgi?id=77784
134391        <rdar://problem/10549729>
134392
134393        Reviewed by Dan Bernstein.
134394
134395        Respect the backing store scale ratio when drawing a canvas into another
134396        canvas via ctx.drawImage(canvas, x, y). Previous behavior caused canvas
134397        drawing to differ based on the size of the backing store, which is ideally
134398        an implementation detail to authors.
134399
134400        Also, rename the source canvas arguments to CanvasRenderingContext2D::drawImage
134401        to be more clear.
134402
134403        No new tests.
134404
134405        * html/canvas/CanvasRenderingContext2D.cpp:
134406        (WebCore::CanvasRenderingContext2D::drawImage):
134407
1344082012-02-03  Beth Dakin  <bdakin@apple.com>
134409
134410        https://bugs.webkit.org/show_bug.cgi?id=77782
134411        WebPageProxy::didNewFirstVisuallyNonEmptyLayout should is called more than 
134412        once on some pages with frames
134413        -and corresponding-
134414        <rdar://problem/10798474>
134415
134416        Reviewed by Sam Weinig.
134417
134418        startCountingRelevantRepaintedObjects() should only be called for the main 
134419        frame. Otherwise, the counter will be re-set inappropriately, and 
134420        didNewFirstVisuallyNonEmptyLayout may even end up firing more than once. 
134421        * page/FrameView.cpp:
134422        (WebCore::FrameView::performPostLayoutTasks):
134423
1344242012-02-03  Benjamin Poulain  <bpoulain@apple.com>
134425
134426        Reduce the memory allocations of WebCore's cssPropertyName()
134427        https://bugs.webkit.org/show_bug.cgi?id=74782
134428
134429        Reviewed by Geoffrey Garen.
134430
134431        Add a fast path to avoid the use of the StringBuilder.
134432
134433        The string builder is needed for two cases:
134434        -CSS prefix (the character after the prefix must be uppercase)
134435        -JavaScript CamelCase name for CSS properties
134436
134437        We can skip all memory allocations if the property is not in those
134438        two cases. We start by testing the string for uppercase characters,
134439        and just return the an identical string.
134440
134441        This patch create a "fast case" 2.7 times faster than previously.
134442        The "slow case" is 2-3% slower due to the additional check at the beginning.
134443
134444        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
134445        (WebCore):
134446        (WebCore::containsASCIIUpperChar):
134447        (WebCore::cssPropertyName):
134448        (WebCore::isCSSPropertyName):
134449
1344502012-02-03  Anders Carlsson  <andersca@apple.com>
134451
134452        WebKit2 should dispatch wheel events to the new ScrollingTree class
134453        https://bugs.webkit.org/show_bug.cgi?id=77795
134454
134455        Reviewed by Andreas Kling.
134456
134457        * WebCore.exp.in:
134458        Add new symbols needed by WebKit2.
134459
134460        * WebCore.xcodeproj/project.pbxproj:
134461        Make ScrollingTree.h private so it can be included by WebKit2.
134462
134463        * page/scrolling/ScrollingCoordinator.cpp:
134464        (WebCore::ScrollingCoordinator::scrollingTree):
134465        * page/scrolling/ScrollingCoordinator.h:
134466        Add a scrolling tree getter.
134467
1344682012-02-03  Dmitry Lomov  <dslomov@google.com>
134469
134470        [Chromium] WebCore::toV8Context crashes if DomWindow::frame() returns null.
134471        https://bugs.webkit.org/show_bug.cgi?id=77686.
134472
134473        Reviewed by Adam Barth.
134474
134475        * bindings/v8/V8Helpers.cpp:
134476        (WebCore::toV8Context):
134477
1344782012-02-03  Anders Carlsson  <andersca@apple.com>
134479
134480        The scrolling tree should be able to handle wheel events
134481        https://bugs.webkit.org/show_bug.cgi?id=77794
134482
134483        Reviewed by Andreas Kling.
134484
134485        * page/scrolling/ScrollingTree.cpp:
134486        (WebCore::ScrollingTree::tryToHandleWheelEvent):
134487        New function. Currently this always returns that it was able to handle the wheel event,
134488        but this will change in the future.
134489
134490        (WebCore::ScrollingTree::handleWheelEvent):
134491        Ask the root node to handle the wheel event.
134492
134493        * page/scrolling/ScrollingTreeNode.h:
134494        Add a handleWheelEvent pure virtual member function.
134495
134496        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
134497        (WebCore::ScrollingTreeNodeMac::handleWheelEvent):
134498        Call scrollBy for now. Eventually this should use a scroll elasticity controller to handle
134499        things like rubber-banding.
134500
134501        (WebCore::ScrollingTreeNodeMac::scrollPosition):
134502        (WebCore::ScrollingTreeNodeMac::setScrollPosition):
134503        Add getters and setters for the scroll position.
134504
134505        (WebCore::ScrollingTreeNodeMac::scrollBy):
134506        Update the scroll position given the offset.
134507
1345082012-02-03  Ryosuke Niwa  <rniwa@webkit.org>
134509
134510        Crash in Node::dispatchSubtreeModifiedEvent
134511        https://bugs.webkit.org/show_bug.cgi?id=77449
134512
134513        Reviewed by Alexey Proskuryakov.
134514
134515        The bug was caused by appendChild not retaining this pointer.
134516        This is normally okay because there's another owner within JSC/V8 binding code that
134517        holds onto the node but this isn't the case when nodes are created as a part
134518        of setting document.title. Fixed the crash by retaining the pointer as needed.
134519
134520        Test: fast/dom/remove-body-during-title-creation.html
134521
134522        * dom/ContainerNode.cpp:
134523        (WebCore::ContainerNode::appendChild):
134524
1345252012-02-03  Anders Carlsson  <andersca@apple.com>
134526
134527        Apply changed properties from the updated scrolling tree state
134528        https://bugs.webkit.org/show_bug.cgi?id=77792
134529
134530        Reviewed by Andreas Kling.
134531
134532        * page/scrolling/ScrollingTreeNode.cpp:
134533        (WebCore::ScrollingTreeNode::update):
134534        Update the tree node properties from the scrolling tree state.
134535
134536        * page/scrolling/ScrollingTreeNode.h:
134537        (WebCore::ScrollingTreeNode::scrollingTree):
134538        (WebCore::ScrollingTreeNode::viewportRect):
134539        (WebCore::ScrollingTreeNode::contentsSize):
134540        Add getters.
134541
134542        * page/scrolling/ScrollingTreeState.h:
134543        (WebCore::ScrollingTreeState::changedProperties):
134544        New function for accessing the changed properties of the scrolling tree state.
134545
134546        * page/scrolling/mac/ScrollingTreeNodeMac.h:
134547        * page/scrolling/mac/ScrollingTreeNodeMac.mm:
134548        (WebCore::ScrollingTreeNodeMac::update):
134549        Update the scroll layer from the scrolling tree if necessary.
134550
1345512012-02-03  Brady Eidson  <beidson@apple.com>
134552
134553        <rdar://problem/10742441> and https://bugs.webkit.org/show_bug.cgi?id=77766
134554        Need a WK2 API to filter which subframes go into WebArchives as they are created.
134555
134556        Reviewed by Darin Adler.
134557
134558        This adds a filter callback object that allows clients to get called back for each
134559        subframe that might be added to a WebArchive.
134560
134561        API only, No new layout tests.
134562
134563        * WebCore.exp.in:
134564        * loader/archive/cf/LegacyWebArchive.cpp:
134565        (WebCore::LegacyWebArchive::create):
134566        (WebCore::LegacyWebArchive::createFromSelection):
134567        * loader/archive/cf/LegacyWebArchive.h:
134568        (FrameFilter):
134569        (WebCore:: FrameFilter::~ FrameFilter):
134570        (LegacyWebArchive):
134571
1345722012-02-03  Joshua Bell  <jsbell@chromium.org>
134573
134574        IndexedDB: Key generators not rolled back if insertion fails or is aborted
134575        https://bugs.webkit.org/show_bug.cgi?id=77060
134576
134577        Reviewed by Tony Chang.
134578
134579        Test: storage/indexeddb/key-generator.html
134580
134581        * storage/IDBObjectStoreBackendImpl.cpp:
134582        (WebCore::IDBObjectStoreBackendImpl::put): Add abort task to reset cache.
134583        (WebCore::IDBObjectStoreBackendImpl::revertAutoIncrementKeyCache):
134584        (WebCore):
134585        (WebCore::IDBObjectStoreBackendImpl::putInternal): Reset cache on error.
134586        * storage/IDBObjectStoreBackendImpl.h:
134587        (IDBObjectStoreBackendImpl):
134588
1345892012-02-03  Tony Chang  <tony@chromium.org>
134590
134591        positive and negative flex values are not being cleared on style changes
134592        https://bugs.webkit.org/show_bug.cgi?id=77771
134593
134594        Reviewed by Ojan Vafai.
134595
134596        If the width or height was a flex() value, but is no longer a flex
134597        value, we weren't clearing the positive and negative flex values in
134598        RenderStyle.
134599
134600        Test: css3/flexbox/flex-no-flex.html
134601
134602        * css/CSSStyleApplyProperty.cpp:
134603        (WebCore::ApplyPropertyLength::applyValue):
134604
1346052012-02-03  James Robinson  <jamesr@chromium.org>
134606
134607        [chromium] Defer makeContextCurrent in compositor until first frame
134608        https://bugs.webkit.org/show_bug.cgi?id=77269
134609
134610        Reviewed by Kenneth Russell.
134611
134612        There are situations where we need to instantiate a compositor, but can't call makeContextCurrent() until some
134613        initialization work completes on another thread that we cannot block for. This defers the first
134614        makeContextCurrent() call until we need to produce the first frame at which point we know the call can succeed,
134615        assuming that the scheduler does the right thing.
134616
134617        This is accomplished by splitting up proxy initialization into two pieces:
134618        *) initializeContext() which attempts to instantiate a GraphicsContext3D. This can fail if we can't make a
134619        context at all, in which case we abort completely and return NULL from CCLayerTreeHost::create().
134620
134621        *) initializeLayerRenderer() which uses the previously-created context to instantiate our compositor objects and
134622            grab our renderer capabilities. This can fail if the context is not usable for compositing, which we report
134623            to the client as a lost context event.
134624
134625        Internally this introduces a new state to the CCLayerTreeHostImpl where it has a context but does not yet have a
134626        LayerRendererChromium, which has fairly minimal impact. One other change is that we don't instantiate the
134627        TextureManagers until we have the renderer capabilities, but this isn't necessary until we want to start
134628        painting so it doesn't have any impact outside of some overly intrustive unit tests.
134629
134630        * platform/graphics/chromium/ContentLayerChromium.cpp:
134631        (WebCore::ContentLayerChromium::paintContentsIfDirty):
134632        (WebCore::ContentLayerChromium::createTextureUpdater):
134633        * platform/graphics/chromium/ContentLayerChromium.h:
134634        (ContentLayerChromium):
134635        * platform/graphics/chromium/ImageLayerChromium.cpp:
134636        (WebCore::ImageLayerChromium::paintContentsIfDirty):
134637        * platform/graphics/chromium/ImageLayerChromium.h:
134638        (ImageLayerChromium):
134639        * platform/graphics/chromium/TiledLayerChromium.cpp:
134640        * platform/graphics/chromium/TiledLayerChromium.h:
134641        (WebCore::TiledLayerChromium::setSampledTexelFormat):
134642        (TiledLayerChromium):
134643        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
134644        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
134645        (WebCore::CCLayerTreeHost::initialize):
134646        (WebCore::CCLayerTreeHost::initializeLayerRenderer):
134647        (WebCore):
134648        (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
134649        (WebCore::CCLayerTreeHost::compositeAndReadback):
134650        (WebCore::CCLayerTreeHost::finishAllRendering):
134651        (WebCore::CCLayerTreeHost::setViewportSize):
134652        (WebCore::CCLayerTreeHost::setVisible):
134653        (WebCore::CCLayerTreeHost::updateLayers):
134654        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
134655        (CCLayerTreeHost):
134656        ():
134657        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
134658        (WebCore::CCLayerTreeHostImpl::isContextLost):
134659        * platform/graphics/chromium/cc/CCProxy.h:
134660        (CCProxy):
134661        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
134662        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
134663        (WebCore::CCSingleThreadProxy::compositeAndReadback):
134664        (WebCore::CCSingleThreadProxy::initializeContext):
134665        (WebCore::CCSingleThreadProxy::initializeLayerRenderer):
134666        (WebCore::CCSingleThreadProxy::layerRendererCapabilities):
134667        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
134668        (CCSingleThreadProxy):
134669        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
134670        (WebCore::CCThreadProxy::CCThreadProxy):
134671        (WebCore::CCThreadProxy::compositeAndReadback):
134672        (WebCore::CCThreadProxy::initializeContext):
134673        (WebCore):
134674        (WebCore::CCThreadProxy::initializeLayerRenderer):
134675        (WebCore::CCThreadProxy::layerRendererCapabilities):
134676        (WebCore::CCThreadProxy::initializeImplOnImplThread):
134677        (WebCore::CCThreadProxy::initializeContextOnImplThread):
134678        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
134679        * platform/graphics/chromium/cc/CCThreadProxy.h:
134680        (CCThreadProxy):
134681
1346822012-02-03  James Robinson  <jamesr@chromium.org>
134683
134684        Unreviewed compile fix for chromium - add commas after entries in list in WebCore.gypi
134685
134686        * WebCore.gypi:
134687
1346882012-02-03  Andreas Kling  <awesomekling@apple.com>
134689
134690        Unreviewed build fix attempt after r106695.
134691
134692        CSSMutableStyleDeclaration was renamed to StylePropertySet.
134693
134694        * bindings/scripts/CodeGeneratorCPP.pm:
134695        (AddIncludesForType):
134696        * bindings/scripts/CodeGeneratorV8.pm:
134697        (AddIncludesForType):
134698        * bindings/v8/V8DOMWindowShell.cpp:
134699        * bindings/v8/V8DOMWrapper.cpp:
134700        * bindings/v8/V8Proxy.cpp:
134701
1347022012-02-03  Yong Li  <yoli@rim.com>
134703
134704        [BlackBerry] Let userIdleTime() return maximum number instead of 0 as
134705        most of other ports do.
134706        https://bugs.webkit.org/show_bug.cgi?id=77769
134707
134708        Reviewed by Rob Buis.
134709
134710        userIdleTime() should return a big number so it won't block page cache
134711        from releasing cached pages. See PageCache::releaseAutoreleasedPagesNowOrReschedule().
134712
134713        No new tests as no visible functional changes.
134714
134715        * platform/blackberry/SystemTimeBlackBerry.cpp:
134716        (WebCore::userIdleTime):
134717
1347182012-02-03  Anders Carlsson  <andersca@apple.com>
134719
134720        Commit scrolling tree state changes to the scrolling tree
134721        https://bugs.webkit.org/show_bug.cgi?id=77780
134722
134723        Reviewed by Darin Adler.
134724
134725        * WebCore.xcodeproj/project.pbxproj:
134726        * page/scrolling/ScrollingCoordinator.cpp:
134727        (WebCore::ScrollingCoordinator::commitTreeState):
134728        Send the new scrolling tree state over to the ScrollingTree on the scrolling thread.
134729
134730        * page/scrolling/ScrollingTree.cpp:
134731        (WebCore::ScrollingTree::ScrollingTree):
134732        Create a root node.
134733
134734        (WebCore::ScrollingTree::commitNewTreeState):
134735        Update the root node.
134736
134737        * page/scrolling/ScrollingTreeNode.cpp: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
134738        * page/scrolling/ScrollingTreeNode.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
134739        Stub out an abstract ScrollingTreeNode class.
134740
134741        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
134742        (WebCore::ScrollingCoordinator::frameViewScrollLayerDidChange):
134743        Update the scroll layer on the tree state.
134744
134745        * page/scrolling/mac/ScrollingTreeNodeMac.h: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
134746        * page/scrolling/mac/ScrollingTreeNodeMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTree.cpp.
134747        Stub out the concrete ScrollingTreeNodeMac subclass.
134748
1347492012-02-03  Antti Koivisto  <antti@apple.com>
134750
134751        Rename CSSMutableStyleDeclaration.h/.cpp to StylePropertySet.h/.cpp 
134752        https://bugs.webkit.org/show_bug.cgi?id=77779
134753
134754        Reviewed by Darin Adler.
134755
134756        Match the new class name.
134757
134758        * CMakeLists.txt:
134759        * GNUmakefile.list.am:
134760        * Target.pri:
134761        * WebCore.gypi:
134762        * WebCore.vcproj/WebCore.vcproj:
134763        * WebCore.xcodeproj/project.pbxproj:
134764        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
134765        * bindings/js/JSDOMBinding.h:
134766        * bindings/scripts/CodeGeneratorJS.pm:
134767        (NativeToJSValue):
134768        * bindings/scripts/CodeGeneratorObjC.pm:
134769        (AddIncludesForType):
134770        * css/CSSAllInOne.cpp:
134771        * css/CSSComputedStyleDeclaration.cpp:
134772        * css/CSSFontFaceRule.cpp:
134773        * css/CSSFontFaceRule.h:
134774        * css/CSSFontSelector.cpp:
134775        * css/CSSMutableStyleDeclaration.cpp: Removed.
134776        * css/CSSMutableStyleDeclaration.h: Removed.
134777        * css/CSSPageRule.cpp:
134778        * css/CSSParser.cpp:
134779        * css/CSSStyleRule.cpp:
134780        * css/CSSStyleRule.h:
134781        * css/StylePropertySet.cpp: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.cpp.
134782        * css/StylePropertySet.h: Copied from Source/WebCore/css/CSSMutableStyleDeclaration.h.
134783        * css/WebKitCSSKeyframeRule.cpp:
134784        * css/WebKitCSSKeyframeRule.h:
134785        * css/WebKitCSSKeyframesRule.cpp:
134786        * css/WebKitCSSMatrix.cpp:
134787        * dom/CSSMappedAttributeDeclaration.h:
134788        * dom/ElementAttributeData.h:
134789        * dom/StyledElement.cpp:
134790        * dom/StyledElement.h:
134791        * editing/ApplyStyleCommand.cpp:
134792        * editing/DeleteButtonController.cpp:
134793        * editing/EditingStyle.cpp:
134794        * editing/Editor.cpp:
134795        * editing/EditorCommand.cpp:
134796        * editing/RemoveCSSPropertyCommand.cpp:
134797        * editing/ReplaceSelectionCommand.cpp:
134798        * editing/markup.cpp:
134799        * html/canvas/CanvasRenderingContext2D.cpp:
134800        * html/shadow/MeterShadowElement.cpp:
134801        * inspector/InspectorCSSAgent.cpp:
134802        * inspector/InspectorDOMAgent.cpp:
134803        * page/DragController.cpp:
134804        * page/Frame.cpp:
134805        * rendering/RenderLayer.cpp:
134806        * rendering/RenderTreeAsText.cpp:
134807        * svg/SVGFontFaceElement.h:
134808        (WebCore):
134809
1348102012-02-03  Mihnea Ovidenie  <mihnea@adobe.com>
134811
134812        Crash in RenderFlowThread::setRegionBoxesRegionStyle
134813        https://bugs.webkit.org/show_bug.cgi?id=77474
134814
134815        Reviewed by David Hyatt.
134816
134817        Flexbox and deprecated flexible box should also compute their region range
134818        when they are part of a named flow. Until now, only RenderBlock elements
134819        were doing that. Flexbox and deprecated flexible box, while implementing
134820        their own layoutBlock method, were not doing that.
134821
134822        Tests: fast/regions/flexbox-in-region-crash.html
134823               fast/regions/select-in-region-crash.html
134824
134825        * rendering/RenderBlock.cpp:
134826        (WebCore::RenderBlock::computeInitialRegionRangeForBlock):
134827        (WebCore):
134828        (WebCore::RenderBlock::computeRegionRangeForBlock):
134829        (WebCore::RenderBlock::layoutBlock):
134830        * rendering/RenderBlock.h:
134831        (RenderBlock):
134832        * rendering/RenderDeprecatedFlexibleBox.cpp:
134833        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
134834        * rendering/RenderFlexibleBox.cpp:
134835        (WebCore::RenderFlexibleBox::layoutBlock):
134836        * rendering/RenderFlowThread.cpp:
134837        (WebCore::RenderFlowThread::removeRegionFromThread):
134838        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
134839        * rendering/RenderRegion.cpp:
134840        (WebCore::RenderRegion::RenderRegion):
134841        (WebCore::RenderRegion::paintReplaced):
134842        * rendering/RenderRegion.h:
134843        (RenderRegion):
134844
1348452012-02-03  Anders Carlsson  <andersca@apple.com>
134846
134847        Update the tree state after layout and add a way to commit it
134848        https://bugs.webkit.org/show_bug.cgi?id=77767
134849
134850        Reviewed by Andreas Kling.
134851
134852        * page/FrameView.cpp:
134853        (WebCore::FrameView::performPostLayoutTasks):
134854        Call ScrollingCoordinator::frameViewLayoutUpdated if we have a scrolling coordinator.
134855
134856        * page/scrolling/ScrollingCoordinator.cpp:
134857        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
134858        Initialize m_scrollingTreeStateCommitterTimer.
134859
134860        (WebCore::ScrollingCoordinator::frameViewLayoutUpdated):
134861        Update the viewport rect and contents size of the frame view.
134862
134863        (WebCore::ScrollingCoordinator::scheduleTreeStateCommit):
134864        Schedule a tree state commit unless we've already scheduled one or there are no changed properties.
134865
134866        (WebCore::ScrollingCoordinator::scrollingTreeStateCommitterTimerFired):
134867        Call commitTreeState().
134868
134869        (WebCore::ScrollingCoordinator::commitTreeStateIfNeeded):
134870        Commit the tree state unless there are no changed properties.
134871
134872        (WebCore::ScrollingCoordinator::commitTreeState):
134873        Commit the tree state. We currently don't do anything with the committed state yet.
134874
134875        * page/scrolling/ScrollingCoordinator.h:
134876        Add new member functions and the timer member variable.
134877
134878        * page/scrolling/ScrollingTreeState.cpp:
134879        (WebCore::ScrollingTreeState::commit):
134880        Copy the current tree state and restore the changed properties on the original.
134881
134882        * page/scrolling/ScrollingTreeState.h:
134883        (WebCore::ScrollingTreeState::hasChangedProperties):
134884        Return whether there are any changed properties in the tree state.
134885
1348862012-02-03  Andreas Kling  <awesomekling@apple.com>
134887
134888        HTMLElement: Clean up tabindex attribute parsing.
134889        <http://webkit.org/b/77763>
134890
134891        Reviewed by Antti Koivisto.
134892
134893        Remove an unnecessary getAttribute() call when parsing tabindexAttr.
134894
134895        * html/HTMLElement.cpp:
134896        (WebCore::HTMLElement::parseMappedAttribute):
134897
1348982012-02-03  Anders Carlsson  <andersca@apple.com>
134899
134900        ScrollingTreeState should keep track of the scroll layer
134901        https://bugs.webkit.org/show_bug.cgi?id=77762
134902
134903        Reviewed by Andreas Kling.
134904
134905        * WebCore.xcodeproj/project.pbxproj:
134906        * page/scrolling/ScrollingTreeState.h:
134907        (ScrollingTreeState):
134908        * page/scrolling/mac/ScrollingTreeStateMac.mm: Copied from Source/WebCore/page/scrolling/ScrollingTreeState.h.
134909        (WebCore):
134910        (WebCore::ScrollingTreeState::platformScrollLayer):
134911        (WebCore::ScrollingTreeState::setScrollLayer):
134912
1349132012-02-03  Antti Koivisto  <antti@apple.com>
134914
134915        https://bugs.webkit.org/show_bug.cgi?id=77740
134916        Split CSSMutableStyleDeclaration into separate internal and CSSOM types 
134917
134918        Reviewed by Andreas Kling and Darin Adler.
134919
134920        Split the CSSMutableStyleDeclaration into an internal type (StylePropertySet) and a CSSOM implementation type (PropertySetCSSStyleDeclaration).
134921        
134922        To keep things somewhat manageable, this patch does NOT
134923
134924        - rename or add any files (so files names won't match types)
134925        - rename fields, methods or variables to match new type names (like CSSStyleRule::declaration() -> CSSStyleRule::propertySet())
134926        - try to realize any memory or performance gains (StylePropertySet loses the vptr but gains PropertySetCSSStyleDeclaration*)
134927
134928        * WebCore.exp.in:
134929        * css/CSSComputedStyleDeclaration.cpp:
134930        (WebCore::CSSComputedStyleDeclaration::copy):
134931        (WebCore::CSSComputedStyleDeclaration::makeMutable):
134932        (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
134933        * css/CSSComputedStyleDeclaration.h:
134934        (WebCore):
134935        (CSSComputedStyleDeclaration):
134936        * css/CSSFontFaceRule.h:
134937        (WebCore::CSSFontFaceRule::style):
134938        (WebCore::CSSFontFaceRule::declaration):
134939        (WebCore::CSSFontFaceRule::setDeclaration):
134940        (CSSFontFaceRule):
134941        * css/CSSFontSelector.cpp:
134942        (WebCore::CSSFontSelector::addFontFaceRule):
134943        * css/CSSMutableStyleDeclaration.cpp:
134944        (PropertySetCSSStyleDeclaration):
134945        (WebCore::PropertySetCSSStyleDeclaration::create):
134946        (WebCore::PropertySetCSSStyleDeclaration::PropertySetCSSStyleDeclaration):
134947        (WebCore):
134948        (WebCore::StylePropertySet::StylePropertySet):
134949        (WebCore::StylePropertySet::~StylePropertySet):
134950        (WebCore::StylePropertySet::deref):
134951        (WebCore::StylePropertySet::contextStyleSheet):
134952        (WebCore::StylePropertySet::copyPropertiesFrom):
134953        (WebCore::StylePropertySet::getPropertyValue):
134954        (WebCore::StylePropertySet::borderSpacingValue):
134955        (WebCore::StylePropertySet::appendFontLonghandValueIfExplicit):
134956        (WebCore::StylePropertySet::fontValue):
134957        (WebCore::StylePropertySet::get4Values):
134958        (WebCore::StylePropertySet::getLayeredShorthandValue):
134959        (WebCore::StylePropertySet::getShorthandValue):
134960        (WebCore::StylePropertySet::getCommonValue):
134961        (WebCore::StylePropertySet::getPropertyCSSValue):
134962        (WebCore::StylePropertySet::removeShorthandProperty):
134963        (WebCore::StylePropertySet::removeProperty):
134964        (WebCore::StylePropertySet::setNeedsStyleRecalc):
134965        (WebCore::StylePropertySet::propertyIsImportant):
134966        (WebCore::StylePropertySet::getPropertyShorthand):
134967        (WebCore::StylePropertySet::isPropertyImplicit):
134968        (WebCore::StylePropertySet::setProperty):
134969        (WebCore::StylePropertySet::parseDeclaration):
134970        (WebCore::StylePropertySet::addParsedProperties):
134971        (WebCore::StylePropertySet::addParsedProperty):
134972        (WebCore::StylePropertySet::asText):
134973        (WebCore::StylePropertySet::merge):
134974        (WebCore::StylePropertySet::addSubresourceStyleURLs):
134975        (WebCore::StylePropertySet::copyBlockProperties):
134976        (WebCore::StylePropertySet::removeBlockProperties):
134977        (WebCore::StylePropertySet::removePropertiesInSet):
134978        (WebCore::StylePropertySet::findPropertyWithId):
134979        (WebCore::StylePropertySet::propertyMatches):
134980        (WebCore::StylePropertySet::removeEquivalentProperties):
134981        (WebCore::StylePropertySet::copy):
134982        (WebCore::StylePropertySet::copyPropertiesInSet):
134983        (WebCore::StylePropertySet::ensureCSSStyleDeclaration):
134984        (WebCore::PropertySetCSSStyleDeclaration::length):
134985        (WebCore::PropertySetCSSStyleDeclaration::item):
134986        (WebCore::PropertySetCSSStyleDeclaration::parentRule):
134987        (WebCore::PropertySetCSSStyleDeclaration::cssText):
134988        (WebCore::PropertySetCSSStyleDeclaration::setCssText):
134989        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValue):
134990        (WebCore::PropertySetCSSStyleDeclaration::getPropertyValue):
134991        (WebCore::PropertySetCSSStyleDeclaration::getPropertyPriority):
134992        (WebCore::PropertySetCSSStyleDeclaration::getPropertyShorthand):
134993        (WebCore::PropertySetCSSStyleDeclaration::isPropertyImplicit):
134994        (WebCore::PropertySetCSSStyleDeclaration::setProperty):
134995        (WebCore::PropertySetCSSStyleDeclaration::removeProperty):
134996        (WebCore::PropertySetCSSStyleDeclaration::getPropertyCSSValueInternal):
134997        (WebCore::PropertySetCSSStyleDeclaration::getPropertyValueInternal):
134998        (WebCore::PropertySetCSSStyleDeclaration::setPropertyInternal):
134999        (WebCore::PropertySetCSSStyleDeclaration::parentStyleSheet):
135000        (WebCore::PropertySetCSSStyleDeclaration::copy):
135001        (WebCore::PropertySetCSSStyleDeclaration::makeMutable):
135002        (WebCore::PropertySetCSSStyleDeclaration::cssPropertyMatches):
135003        * css/CSSMutableStyleDeclaration.h:
135004        (WebCore):
135005        (StylePropertySet):
135006        (WebCore::StylePropertySet::create):
135007        (WebCore::StylePropertySet::createInline):
135008        * css/CSSPageRule.h:
135009        (WebCore):
135010        * css/CSSParser.cpp:
135011        (WebCore::parseColorValue):
135012        (WebCore::parseSimpleLengthValue):
135013        (WebCore::CSSParser::parseValue):
135014        (WebCore::CSSParser::parseDeclaration):
135015        (WebCore::CSSParser::createStyleRule):
135016        (WebCore::CSSParser::createFontFaceRule):
135017        (WebCore::CSSParser::createPageRule):
135018        (WebCore::CSSParser::createKeyframeRule):
135019        * css/CSSParser.h:
135020        (WebCore):
135021        (CSSParser):
135022        * css/CSSStyleDeclaration.h:
135023        (WebCore):
135024        (CSSStyleDeclaration):
135025        * css/CSSStyleRule.h:
135026        (WebCore::CSSStyleRule::style):
135027        (WebCore::CSSStyleRule::setDeclaration):
135028        (WebCore::CSSStyleRule::declaration):
135029        (CSSStyleRule):
135030        * css/CSSStyleSelector.cpp:
135031        (WebCore::leftToRightDeclaration):
135032        (WebCore::rightToLeftDeclaration):
135033        (WebCore::CSSStyleSelector::addMatchedDeclaration):
135034        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
135035        (WebCore::CSSStyleSelector::matchAllRules):
135036        (WebCore::CSSStyleSelector::styleForKeyframe):
135037        (WebCore::isInsideRegionRule):
135038        (WebCore::CSSStyleSelector::applyDeclaration):
135039        (WebCore::CSSStyleSelector::applyDeclarations):
135040        (WebCore::CSSStyleSelector::matchPageRulesForList):
135041        * css/CSSStyleSelector.h:
135042        (CSSStyleSelector):
135043        (MatchedStyleDeclaration):
135044        * css/WebKitCSSKeyframeRule.cpp:
135045        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
135046        * css/WebKitCSSKeyframeRule.h:
135047        (WebCore::WebKitCSSKeyframeRule::style):
135048        (WebCore::WebKitCSSKeyframeRule::declaration):
135049        (WebKitCSSKeyframeRule):
135050        * css/WebKitCSSMatrix.cpp:
135051        (WebCore::WebKitCSSMatrix::setMatrixValue):
135052        * dom/Attr.h:
135053        (WebCore::Attr::style):
135054        * dom/Attribute.h:
135055        (WebCore::Attribute::decl):
135056        * dom/CSSMappedAttributeDeclaration.h:
135057        (WebCore::CSSMappedAttributeDeclaration::declaration):
135058        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
135059        (CSSMappedAttributeDeclaration):
135060        * dom/Document.cpp:
135061        (WebCore::Document::createCSSStyleDeclaration):
135062        * dom/ElementAttributeData.h:
135063        (ElementAttributeData):
135064        * dom/NamedNodeMap.cpp:
135065        (WebCore::NamedNodeMap::ensureInlineStyleDecl):
135066        * dom/NamedNodeMap.h:
135067        (WebCore::NamedNodeMap::inlineStyleDecl):
135068        (NamedNodeMap):
135069        * dom/StyledElement.cpp:
135070        (WebCore::StyledElement::updateStyleAttribute):
135071        (WebCore::StyledElement::copyNonAttributeProperties):
135072        (WebCore::StyledElement::addSubresourceAttributeURLs):
135073        * dom/StyledElement.h:
135074        (WebCore::StyledElement::additionalAttributeStyle):
135075        (WebCore::StyledElement::inlineStyleDecl):
135076        (WebCore::StyledElement::ensureInlineStyleDecl):
135077        * editing/ApplyStyleCommand.cpp:
135078        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
135079        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
135080        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
135081        (WebCore::ApplyStyleCommand::removeCSSStyle):
135082        (WebCore::ApplyStyleCommand::addBlockStyle):
135083        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
135084        * editing/DeleteButtonController.cpp:
135085        (WebCore::DeleteButtonController::createDeletionUI):
135086        * editing/EditingStyle.cpp:
135087        (WebCore::copyEditingProperties):
135088        (WebCore::editingStyleFromComputedStyle):
135089        (WebCore):
135090        (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
135091        (HTMLElementEquivalent):
135092        (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
135093        (HTMLTextDecorationEquivalent):
135094        (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
135095        (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
135096        (HTMLAttributeEquivalent):
135097        (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
135098        (WebCore::HTMLAttributeEquivalent::attributeValueAsCSSValue):
135099        (WebCore::EditingStyle::EditingStyle):
135100        (WebCore::getRGBAFontColor):
135101        (WebCore::EditingStyle::setProperty):
135102        (WebCore::EditingStyle::setStyle):
135103        (WebCore::EditingStyle::overrideWithStyle):
135104        (WebCore::EditingStyle::extractAndRemoveTextDirection):
135105        (WebCore::EditingStyle::removeStyleAddedByNode):
135106        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
135107        (WebCore::EditingStyle::triStateOfStyle):
135108        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
135109        (WebCore::EditingStyle::elementIsStyledSpanOrHTMLEquivalent):
135110        (WebCore::elementMatchesAndPropertyIsNotInInlineStyleDecl):
135111        (WebCore::EditingStyle::mergeStyle):
135112        (WebCore::styleFromMatchedRulesForElement):
135113        (WebCore::EditingStyle::mergeStyleFromRules):
135114        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
135115        (WebCore::removePropertiesInStyle):
135116        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
135117        (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
135118        (WebCore::EditingStyle::forceInline):
135119        (WebCore::reconcileTextDecorationProperties):
135120        (WebCore::StyleChange::StyleChange):
135121        (WebCore::setTextDecorationProperty):
135122        (WebCore::StyleChange::extractTextStyles):
135123        (WebCore::diffTextDecorations):
135124        (WebCore::fontWeightIsBold):
135125        (WebCore::getTextAlignment):
135126        (WebCore::getPropertiesNotIn):
135127        (WebCore::getIdentifierValue):
135128        (WebCore::isTransparentColorValue):
135129        (WebCore::hasTransparentBackgroundColor):
135130        * editing/EditingStyle.h:
135131        (WebCore):
135132        (WebCore::EditingStyle::create):
135133        (EditingStyle):
135134        (WebCore::EditingStyle::style):
135135        (StyleChange):
135136        * editing/Editor.cpp:
135137        (WebCore::Editor::setBaseWritingDirection):
135138        (WebCore::Editor::applyEditingStyleToElement):
135139        * editing/EditorCommand.cpp:
135140        (WebCore::applyCommandToFrame):
135141        (WebCore::executeApplyStyle):
135142        (WebCore::executeToggleStyleInList):
135143        (WebCore::executeApplyParagraphStyle):
135144        (WebCore::executeMakeTextWritingDirectionLeftToRight):
135145        (WebCore::executeMakeTextWritingDirectionNatural):
135146        (WebCore::executeMakeTextWritingDirectionRightToLeft):
135147        * editing/FrameSelection.cpp:
135148        (WebCore::FrameSelection::copyTypingStyle):
135149        * editing/FrameSelection.h:
135150        (WebCore):
135151        * editing/RemoveCSSPropertyCommand.cpp:
135152        (WebCore::RemoveCSSPropertyCommand::doApply):
135153        (WebCore::RemoveCSSPropertyCommand::doUnapply):
135154        * editing/ReplaceSelectionCommand.cpp:
135155        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
135156        * editing/ReplaceSelectionCommand.h:
135157        (WebCore):
135158        * editing/markup.cpp:
135159        (WebCore):
135160        (StyledMarkupAccumulator):
135161        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
135162        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
135163        (WebCore::propertyMissingOrEqualToNone):
135164        * html/HTMLTableCellElement.cpp:
135165        (WebCore::HTMLTableCellElement::additionalAttributeStyle):
135166        * html/HTMLTableCellElement.h:
135167        (HTMLTableCellElement):
135168        * html/HTMLTableColElement.cpp:
135169        (WebCore::HTMLTableColElement::additionalAttributeStyle):
135170        * html/HTMLTableColElement.h:
135171        (HTMLTableColElement):
135172        * html/HTMLTableElement.cpp:
135173        (WebCore::leakBorderStyle):
135174        (WebCore::HTMLTableElement::additionalAttributeStyle):
135175        (WebCore::HTMLTableElement::createSharedCellStyle):
135176        (WebCore::HTMLTableElement::additionalCellStyle):
135177        (WebCore::leakGroupBorderStyle):
135178        (WebCore::HTMLTableElement::additionalGroupStyle):
135179        * html/HTMLTableElement.h:
135180        (HTMLTableElement):
135181        * html/HTMLTableSectionElement.cpp:
135182        (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
135183        * html/HTMLTableSectionElement.h:
135184        (HTMLTableSectionElement):
135185        * html/ValidationMessage.cpp:
135186        (WebCore::adjustBubblePosition):
135187        * html/canvas/CanvasRenderingContext2D.cpp:
135188        (WebCore::CanvasRenderingContext2D::setFont):
135189        * html/shadow/MediaControlElements.cpp:
135190        (WebCore::MediaControlPanelElement::setPosition):
135191        (WebCore::MediaControlPanelElement::resetPosition):
135192        (WebCore::MediaControlPanelElement::makeOpaque):
135193        (WebCore::MediaControlPanelElement::makeTransparent):
135194        * html/shadow/SliderThumbElement.cpp:
135195        (WebCore::TrackLimiterElement::create):
135196        * inspector/InspectorCSSAgent.cpp:
135197        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
135198        * inspector/InspectorStyleSheet.cpp:
135199        (WebCore::InspectorStyle::setPropertyText):
135200        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
135201        * page/DragController.cpp:
135202        (WebCore::DragController::concludeEditDrag):
135203        * page/PageSerializer.cpp:
135204        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
135205        * page/PageSerializer.h:
135206        (WebCore):
135207        (PageSerializer):
135208        * rendering/RenderLayer.cpp:
135209        (WebCore::RenderLayer::resize):
135210        * rendering/RenderTreeAsText.cpp:
135211        (WebCore::isEmptyOrUnstyledAppleStyleSpan):
135212        * svg/SVGFontFaceElement.cpp:
135213        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
135214
1352152012-02-03  Jochen Eisinger  <jochen@chromium.org>
135216
135217        Remove unneccesary canExecuteScripts check from v8 bindings, and correctly indeicate when we're about to execute a script
135218        https://bugs.webkit.org/show_bug.cgi?id=76704
135219
135220        Reviewed by Adam Barth.
135221
135222        Test: http/tests/security/isolatedWorld/sandboxed-iframe.html
135223
135224        * bindings/v8/ScheduledAction.cpp:
135225        (WebCore::ScheduledAction::execute):
135226        * bindings/v8/V8EventListener.cpp:
135227        (WebCore::V8EventListener::callListenerFunction):
135228        * bindings/v8/V8LazyEventListener.cpp:
135229        (WebCore::V8LazyEventListener::callListenerFunction):
135230        * bindings/v8/V8Proxy.cpp:
135231        (WebCore::V8Proxy::handleOutOfMemory):
135232        (WebCore::toV8Context):
135233
1352342012-02-03  Anders Carlsson  <andersca@apple.com>
135235
135236        Add ScrollingTreeState class
135237        https://bugs.webkit.org/show_bug.cgi?id=77756
135238
135239        Reviewed by Andreas Kling.
135240
135241        Add a new ScrollingTreeState whose intent is to be a data container for the current
135242        scrolling tree state. the ScrollingCoordinator class will update it and periodically
135243        send over the new state to the ScrollingTree object on the scrolling thread.
135244
135245        * WebCore.xcodeproj/project.pbxproj:
135246        * page/scrolling/ScrollingCoordinator.cpp:
135247        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
135248        * page/scrolling/ScrollingCoordinator.h:
135249        (WebCore):
135250        (ScrollingCoordinator):
135251        * page/scrolling/ScrollingTreeState.cpp: Added.
135252        (WebCore):
135253        (WebCore::ScrollingTreeState::create):
135254        (WebCore::ScrollingTreeState::ScrollingTreeState):
135255        (WebCore::ScrollingTreeState::~ScrollingTreeState):
135256        (WebCore::ScrollingTreeState::setViewportRect):
135257        (WebCore::ScrollingTreeState::setContentsSize):
135258        * page/scrolling/ScrollingTreeState.h: Added.
135259        (WebCore):
135260        (ScrollingTreeState):
135261        (WebCore::ScrollingTreeState::viewportRect):
135262        (WebCore::ScrollingTreeState::contentsSize):
135263
1352642012-02-03  Beth Dakin  <bdakin@apple.com>
135265
135266        https://bugs.webkit.org/show_bug.cgi?id=77691
135267        Fix PlatformScreen layering violation and PlatformScreenMac's incorrect use 
135268        of device scale
135269
135270        Reviewed by Andy Estes.
135271
135272        Make screenAvailableRect() and screenRect() take a Widget again instead of a 
135273        FrameView since taking a FrameView is a layering violation.
135274        * WebCore.exp.in:
135275        * platform/PlatformScreen.h:
135276        (WebCore):
135277        * platform/blackberry/PlatformScreenBlackBerry.cpp:
135278        (WebCore::screenAvailableRect):
135279        (WebCore::screenRect):
135280        * platform/chromium/PlatformScreenChromium.cpp:
135281        (WebCore::screenRect):
135282        (WebCore::screenAvailableRect):
135283        * platform/chromium/PlatformSupport.h:
135284        (WebCore):
135285        (PlatformSupport):
135286        * platform/efl/PlatformScreenEfl.cpp:
135287        (WebCore::screenRect):
135288        (WebCore::screenAvailableRect):
135289        * platform/gtk/PlatformScreenGtk.cpp:
135290        (WebCore::screenRect):
135291        (WebCore::screenAvailableRect):
135292        * platform/qt/PlatformScreenQt.cpp:
135293        (WebCore::screenRect):
135294        (WebCore::screenAvailableRect):
135295        * platform/win/PlatformScreenWin.cpp:
135296        (WebCore::screenRect):
135297        (WebCore::screenAvailableRect):
135298        * platform/wx/ScreenWx.cpp:
135299        (WebCore::screenRect):
135300        (WebCore::screenAvailableRect):
135301
135302        It's wrong for the deviceScaleFactor to be taken into consideration here at 
135303        all.
135304        * platform/mac/PlatformScreenMac.mm:
135305        (WebCore::screenRect):
135306        (WebCore::screenAvailableRect):
135307        (WebCore::toUserSpace):
135308        (WebCore::toDeviceSpace):
135309
1353102012-02-03  Dan Bernstein  <mitz@apple.com>
135311
135312        <rdar://problem/10352073> Floating image leaves hole in previous column when wrapped to next column
135313        https://bugs.webkit.org/show_bug.cgi?id=77694
135314
135315        Reviewed by Darin Adler.
135316
135317        Tests: fast/dynamic/float-moved-downwards-for-pagination-expected.html
135318               fast/dynamic/float-moved-downwards-for-pagination.html
135319
135320        * rendering/RenderBlock.cpp:
135321        (WebCore::RenderBlock::clearFloats): When determining which lines to dirty,
135322        also check for changes to the top edge of the float, which can happen when
135323        float gets pushed down by a pagination strut.
135324
1353252012-02-03  Alexis Menard  <alexis.menard@openbossa.org>
135326
135327        REGRESSION (r105401-105403): Blue flash on css border transition
135328        https://bugs.webkit.org/show_bug.cgi?id=77491
135329
135330        Reviewed by Simon Fraser.
135331
135332        The new blend function added with r105403 takes unsigned as parameters therefore
135333        we have to be careful to not overflow in case the to is less than from (animating
135334        from 400 to 0 for example).
135335
135336        Test: animations/animation-border-overflow.html
135337
135338        * platform/animation/AnimationUtilities.h:
135339        (WebCore::blend):
135340
1353412012-02-03  Justin Novosad  <junov@chromium.org>
135342
135343        [Chromium] ImageBufferSkia: remove unnecessary overload of flush in
135344        AcceleratedDeviceContext
135345        https://bugs.webkit.org/show_bug.cgi?id=77741
135346
135347        Reviewed by Stephen White.
135348
135349        Removing dead code.
135350
135351        * platform/graphics/skia/ImageBufferSkia.cpp:
135352        (AcceleratedDeviceContext):
135353
1353542012-02-03  Balazs Kelemen  <kbalazs@webkit.org>
135355
135356        Speculative unreviewed build fix for Qt-Windows
135357        after http://trac.webkit.org/changeset/106659.
135358
135359        * platform/graphics/texmap/TextureMapper.h:
135360        (WebCore::TextureMapper::platformCreateAccelerated):
135361
1353622012-02-03  Sheriff Bot  <webkit.review.bot@gmail.com>
135363
135364        Unreviewed, rolling out r106654.
135365        http://trac.webkit.org/changeset/106654
135366        https://bugs.webkit.org/show_bug.cgi?id=77742
135367
135368        triggers asserts on mac, win, gtk, qt debug bots (Requested by
135369        philn-tp on #webkit).
135370
135371        * Modules/intents/IntentRequest.cpp:
135372        (WebCore::IntentRequest::create):
135373        * bindings/generic/ActiveDOMCallback.cpp:
135374        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
135375        * dom/ActiveDOMObject.cpp:
135376        (WebCore::ActiveDOMObject::ActiveDOMObject):
135377        (WebCore::ActiveDOMObject::~ActiveDOMObject):
135378        * dom/ActiveDOMObject.h:
135379        (ActiveDOMObject):
135380        * dom/DocumentEventQueue.cpp:
135381        (WebCore::DocumentEventQueue::DocumentEventQueue):
135382        * dom/ScriptExecutionContext.cpp:
135383        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
135384        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
135385        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
135386        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
135387        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
135388        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
135389        * dom/ScriptExecutionContext.h:
135390        (ScriptExecutionContext):
135391        * fileapi/DOMFileSystem.cpp:
135392        (WebCore::DOMFileSystem::create):
135393        * fileapi/FileReader.cpp:
135394        (WebCore):
135395        * fileapi/FileReader.h:
135396        (WebCore::FileReader::create):
135397        * fileapi/FileWriter.cpp:
135398        (WebCore):
135399        * fileapi/FileWriter.h:
135400        (WebCore::FileWriter::create):
135401        * history/CachedFrame.cpp:
135402        (WebCore::CachedFrame::CachedFrame):
135403        * html/HTMLAudioElement.cpp:
135404        (WebCore::HTMLAudioElement::create):
135405        * html/HTMLMarqueeElement.cpp:
135406        (WebCore::HTMLMarqueeElement::create):
135407        * html/HTMLVideoElement.cpp:
135408        (WebCore::HTMLVideoElement::create):
135409        * mediastream/PeerConnection.cpp:
135410        (WebCore::PeerConnection::create):
135411        * notifications/Notification.cpp:
135412        (WebCore::Notification::create):
135413        * notifications/NotificationCenter.cpp:
135414        * notifications/NotificationCenter.h:
135415        (WebCore::NotificationCenter::create):
135416        * page/DOMTimer.cpp:
135417        (WebCore::DOMTimer::install):
135418        (WebCore::DOMTimer::fired):
135419        * page/EventSource.cpp:
135420        (WebCore::EventSource::create):
135421        * page/SuspendableTimer.cpp:
135422        (WebCore::SuspendableTimer::SuspendableTimer):
135423        * storage/IDBDatabase.cpp:
135424        (WebCore::IDBDatabase::create):
135425        * storage/IDBRequest.cpp:
135426        (WebCore::IDBRequest::create):
135427        * storage/IDBTransaction.cpp:
135428        (WebCore::IDBTransaction::create):
135429        * webaudio/AudioContext.cpp:
135430        (WebCore::AudioContext::create):
135431        * websockets/WebSocket.cpp:
135432        * websockets/WebSocket.h:
135433        (WebCore::WebSocket::create):
135434        * workers/SharedWorker.cpp:
135435        (WebCore::SharedWorker::create):
135436        * workers/Worker.cpp:
135437        (WebCore::Worker::create):
135438        * xml/XMLHttpRequest.cpp:
135439        (WebCore::XMLHttpRequest::create):
135440
1354412012-02-03  Kentaro Hara  <haraken@chromium.org>
135442
135443        Add the "V8" prefix to V8 specific IDL attributes
135444        https://bugs.webkit.org/show_bug.cgi?id=77713
135445
135446        Reviewed by Adam Barth.
135447
135448        This patch adds the "V8" prefix to a V8 specific IDL attribute:
135449        [EnabledAtRuntime] => [V8EnabledAtRuntime]
135450
135451        No tests. No change in behavior.
135452
135453        * bindings/scripts/CodeGeneratorV8.pm:
135454        (GenerateHeader):
135455        (GenerateImplementation):
135456        (GetRuntimeEnableFunctionName):
135457
135458        * bindings/scripts/test/TestObj.idl:
135459        * bindings/scripts/test/V8/V8TestObj.cpp: Updated the run-bindings-tests results.
135460        (WebCore::ConfigureV8TestObjTemplate):
135461
135462        * Modules/gamepad/NavigatorGamepad.idl:
135463        * dom/Clipboard.idl:
135464        * dom/Document.idl:
135465        * dom/Element.idl:
135466        * dom/MouseEvent.idl:
135467        * dom/ShadowRoot.idl:
135468        * html/HTMLInputElement.idl:
135469        * html/HTMLMediaElement.idl:
135470        * html/HTMLTrackElement.idl:
135471        * html/TextTrack.idl:
135472        * html/TextTrackCue.idl:
135473        * html/TextTrackCueList.idl:
135474        * html/shadow/HTMLContentElement.idl:
135475        * html/track/TextTrackList.idl:
135476        * html/track/TrackEvent.idl:
135477        * page/DOMWindow.idl:
135478        * page/History.idl:
135479        * page/Navigator.idl:
135480        * storage/DOMWindowSQLDatabase.idl:
135481        * webaudio/DOMWindowWebAudio.idl:
135482        * websockets/DOMWindowWebSocket.idl:
135483        * workers/WorkerContext.idl:
135484        * xml/XMLHttpRequest.idl:
135485
1354862012-02-03  Alexei Filippov  <alexeif@chromium.org>
135487
135488        Web Inspector: Retained size for classes is too conservative in heap profiler
135489        https://bugs.webkit.org/show_bug.cgi?id=77726
135490
135491        Reviewed by Yury Semikhatsky.
135492
135493        Makes retained size of all objects of particular class show correct value
135494        in Summary view of heap profiler.
135495
135496        * inspector/front-end/DetailedHeapshotGridNodes.js:
135497        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
135498        * inspector/front-end/HeapSnapshot.js:
135499        (WebInspector.HeapSnapshot.prototype._buildAggregates):
135500        (WebInspector.HeapSnapshot.prototype._buildAggregates.forDominatedNodes):
135501
1355022012-02-02  Alexander Pavlov  <apavlov@chromium.org>
135503
135504        Web Inspector: Introduce "Copy XPath" popup menu item for DOM elements
135505        https://bugs.webkit.org/show_bug.cgi?id=77619
135506
135507        Reviewed by Vsevolod Vlasov.
135508
135509        XPath is optimized whenever an element has the "id" attribute.
135510
135511        Test: inspector/elements/node-xpath.xhtml
135512
135513        * English.lproj/localizedStrings.js:
135514        * inspector/front-end/DOMAgent.js:
135515        (WebInspector.DOMNode.XPathStep):
135516        (WebInspector.DOMNode.XPathStep.prototype.toString):
135517        (WebInspector.DOMNode.prototype.copyXPath):
135518        (WebInspector.DOMNode.prototype.isXMLNode):
135519        (WebInspector.DOMNode.prototype.xPath):
135520        (WebInspector.DOMNode.prototype._xPathValue):
135521        (WebInspector.DOMNode.prototype._xPathIndex):
135522        * inspector/front-end/ElementsTreeOutline.js:
135523        (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
135524
1355252012-02-03  Dana Jansens  <danakj@chromium.org>
135526
135527        [Chromium] Use the current clip when marking paints as opaque
135528        https://bugs.webkit.org/show_bug.cgi?id=77582
135529
135530        Reviewed by Stephen White.
135531
135532        New unit test in PlatformContextSkiaTest.cpp
135533
135534        * platform/graphics/skia/OpaqueRegionSkia.cpp:
135535        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
135536        * platform/graphics/skia/PlatformContextSkia.h:
135537        (WebCore::PlatformContextSkia::canvas):
135538
1355392012-02-03  Yury Semikhatsky  <yurys@chromium.org>
135540
135541        inspector/debugger/pause-in-inline-script.html asserts in chromium debug
135542        https://bugs.webkit.org/show_bug.cgi?id=77663
135543
135544        Make ASSERT in MainResourceLoader not fail if debugger hits breakpoint
135545        in the main resource inline script.
135546
135547        Reviewed by Pavel Feldman.
135548
135549        Test: inspector/debugger/pause-in-inline-script.html
135550
135551        * bindings/js/ScriptDebugServer.h:
135552        (WebCore::ScriptDebugServer::isPaused):
135553        (ScriptDebugServer):
135554        * bindings/v8/ScriptDebugServer.h:
135555        (ScriptDebugServer):
135556        * inspector/InspectorDebuggerAgent.cpp:
135557        (WebCore::InspectorDebuggerAgent::didClearMainFrameWindowObject):
135558        (WebCore):
135559        (WebCore::InspectorDebuggerAgent::isPaused):
135560        * inspector/InspectorDebuggerAgent.h:
135561        (InspectorDebuggerAgent):
135562        * inspector/InspectorInstrumentation.cpp:
135563        (WebCore::InspectorInstrumentation::isDebuggerPausedImpl):
135564        (WebCore):
135565        * inspector/InspectorInstrumentation.h:
135566        (InspectorInstrumentation):
135567        (WebCore::InspectorInstrumentation::isDebuggerPaused):
135568        (WebCore):
135569        * loader/MainResourceLoader.cpp:
135570        (WebCore::MainResourceLoader::didFinishLoading):
135571
1355722012-02-03  Kentaro Hara  <haraken@chromium.org>
135573
135574        Fix typo
135575        https://bugs.webkit.org/show_bug.cgi?id=77708
135576
135577        Reviewed by Adam Roben.
135578
135579        This patch fixes typos: [ObjCLegacyUnamedParameters] => [ObjCLegacyUnnamedParameters]
135580
135581        No tests. No change in behavior.
135582
135583        * css/CSSMediaRule.idl:
135584        * css/CSSPrimitiveValue.idl:
135585        * css/CSSStyleDeclaration.idl:
135586        * css/CSSStyleSheet.idl:
135587        * dom/CharacterData.idl:
135588        * dom/DOMImplementation.idl:
135589        * dom/Document.idl:
135590        * dom/Element.idl:
135591        * dom/Event.idl:
135592        * dom/EventTarget.idl:
135593        * dom/MouseEvent.idl:
135594        * dom/MutationEvent.idl:
135595        * dom/NamedNodeMap.idl:
135596        * dom/Node.idl:
135597        * dom/Range.idl:
135598        * dom/UIEvent.idl:
135599        * html/HTMLSelectElement.idl:
135600        * xml/XPathExpression.idl:
135601
1356022012-02-03  No'am Rosenthal  <noam.rosenthal@nokia.com>
135603
135604        [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
135605        https://bugs.webkit.org/show_bug.cgi?id=77148
135606
135607        Reviewed by Martin Robinson.
135608
135609        Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
135610        which responds to an "Software" mode of TextureMapper, instead of creating subclasses
135611        of TextureMapper directly. This allows using the software fallback of TextureMapper by any
135612        sort.
135613
135614        To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
135615        an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
135616        as converting data to/from Image references in Qt generates unnecessary deep copies of the
135617        image data.
135618
135619        Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
135620        3D transforms in cross platform code.
135621        After this patch everything renders the same. An additional bug report was created to allow
135622        ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
135623
135624        Covered extensively by existing tests, no behavioral changes.
135625
135626        * Target.pri:
135627        * platform/graphics/GraphicsContext.cpp:
135628        * platform/graphics/GraphicsContext.h:
135629        (WebCore):
135630        (GraphicsContext):
135631        * platform/graphics/cairo/TextureMapperCairo.cpp:
135632        * platform/graphics/opengl/TextureMapperGL.cpp:
135633        (TextureMapperGLData):
135634        (BitmapTextureGL):
135635        (WebCore::BitmapTextureGL::BitmapTextureGL):
135636        (WebCore::TextureMapperGL::beginPainting):
135637        (WebCore::BitmapTextureGL::reset):
135638        (WebCore):
135639        (WebCore::swizzleBGRAToRGBA):
135640        (WebCore::BitmapTextureGL::updateContents):
135641        (WebCore::BitmapTextureGL::destroy):
135642        (WebCore::TextureMapperGL::bindSurface):
135643        (WebCore::TextureMapper::platformCreateAccelerated):
135644        * platform/graphics/opengl/TextureMapperGL.h:
135645        (TextureMapperGL):
135646        (WebCore::TextureMapperGL::accelerationMode):
135647        (WebCore):
135648        * platform/graphics/qt/GraphicsContext3DQt.cpp:
135649        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
135650        * platform/graphics/qt/GraphicsContextQt.cpp:
135651        (WebCore):
135652        (WebCore::GraphicsContext::get3DTransform):
135653        (WebCore::GraphicsContext::concat3DTransform):
135654        (WebCore::GraphicsContext::set3DTransform):
135655        * platform/graphics/qt/TextureMapperQt.cpp: Removed.
135656        * platform/graphics/qt/TextureMapperQt.h: Removed.
135657        * platform/graphics/texmap/TextureMapper.cpp:
135658        (WebCore):
135659        (BitmapTextureImageBuffer):
135660        (TextureMapperImageBuffer):
135661        * platform/graphics/texmap/TextureMapper.h:
135662        (WebCore::BitmapTexture::BitmapTexture):
135663        (BitmapTexture):
135664        (WebCore::BitmapTexture::bpp):
135665        (WebCore::BitmapTexture::isOpaque):
135666        (WebCore::TextureMapper::setGraphicsContext):
135667        (WebCore::TextureMapper::graphicsContext):
135668        (TextureMapper):
135669        (WebCore::TextureMapper::TextureMapper):
135670        (WebCore::TextureMapper::platformCreateAccelerated):
135671        * platform/graphics/texmap/TextureMapperNode.cpp:
135672        (WebCore::TextureMapperNode::renderContent):
135673        (WebCore::TextureMapperNode::setContentsTileBackBuffer):
135674        * platform/graphics/texmap/TextureMapperNode.h:
135675        (TextureMapperNode):
135676
1356772012-01-27  Yury Semikhatsky  <yurys@chromium.org>
135678
135679        Web Inspector: console evaluation doesn't work on breakpoint in pages with CSP
135680        https://bugs.webkit.org/show_bug.cgi?id=77203
135681
135682        Inspector console evaluation now works when debugger is paused in a page with
135683        content-security-policy prohibiting evals.
135684
135685        Reviewed by Pavel Feldman.
135686
135687        Test: inspector/debugger/eval-on-pause-blocked.html
135688
135689        * bindings/js/JSInjectedScriptHostCustom.cpp:
135690        * bindings/js/ScriptState.cpp:
135691        (WebCore::evalEnabled):
135692        (WebCore):
135693        (WebCore::setEvalEnabled):
135694        * bindings/js/ScriptState.h:
135695        (WebCore):
135696        * bindings/v8/ScriptObject.h:
135697        (WebCore::ScriptObject::ScriptObject):
135698        * bindings/v8/ScriptState.cpp:
135699        (WebCore::evalEnabled):
135700        (WebCore):
135701        (WebCore::setEvalEnabled):
135702        * bindings/v8/ScriptState.h:
135703        (WebCore):
135704        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
135705        * inspector/InjectedScript.cpp:
135706        (WebCore::InjectedScript::makeCall):
135707        * inspector/InjectedScriptHost.idl:
135708        * inspector/InjectedScriptSource.js:
135709        (.):
135710
1357112012-02-03  Rob Buis  <rbuis@rim.com>
135712
135713        Upstream targetType usage on ResourceRequest for BlackBerry port
135714        https://bugs.webkit.org/show_bug.cgi?id=77649
135715
135716        Reviewed by Antonio Gomes.
135717
135718        Upstream bits that make use of targetType enum.
135719
135720        * loader/PingLoader.cpp:
135721        (WebCore::PingLoader::loadImage):
135722        (WebCore::PingLoader::sendPing):
135723        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
135724        * platform/network/blackberry/ResourceRequest.h:
135725        (ResourceRequest):
135726        (WebCore::ResourceRequest::targetType):
135727        (WebCore::ResourceRequest::setTargetType):
135728        * xml/XMLHttpRequest.cpp:
135729        (WebCore::XMLHttpRequest::createRequest):
135730
1357312012-02-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
135732
135733        Ensure timers and other active DOM objects do not fire in suspended documents.
135734        https://bugs.webkit.org/show_bug.cgi?id=53733
135735
135736        ScriptExecutionContext now remembers it has suspended active DOM objects
135737        and suspends all newly installed active DOM objects as well.
135738
135739        All create-calls active DOM objects now calls the post constructor method
135740        suspendIfNeeded that updates the suspend state. It is post constructor
135741        because the suspend/resume functions are virtual and thus can not be called
135742        from constructors.
135743
135744        Reviewed by Mihai Parparita.
135745
135746        Test: fast/events/suspend-timers.html
135747
135748        * Modules/intents/IntentRequest.cpp:
135749        (WebCore::IntentRequest::create):
135750        * bindings/generic/ActiveDOMCallback.cpp:
135751        (WebCore::ActiveDOMCallback::ActiveDOMCallback):
135752        * dom/ActiveDOMObject.cpp:
135753        (WebCore::ActiveDOMObject::ActiveDOMObject):
135754        (WebCore::ActiveDOMObject::~ActiveDOMObject):
135755        (WebCore::ActiveDOMObject::suspendIfNeeded):
135756        * dom/ActiveDOMObject.h:
135757        (WebCore::ActiveDOMObject::suspendIfNeededCalled):
135758        * dom/DocumentEventQueue.cpp:
135759        (WebCore::DocumentEventQueue::DocumentEventQueue):
135760        * dom/ScriptExecutionContext.cpp:
135761        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
135762        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
135763        (WebCore::ScriptExecutionContext::canSuspendActiveDOMObjects):
135764        (WebCore::ScriptExecutionContext::suspendActiveDOMObjects):
135765        (WebCore::ScriptExecutionContext::resumeActiveDOMObjects):
135766        (WebCore::ScriptExecutionContext::stopActiveDOMObjects):
135767        (WebCore::ScriptExecutionContext::suspendActiveDOMObjectIfNeeded):
135768        * dom/ScriptExecutionContext.h:
135769        (WebCore::ScriptExecutionContext::activeDOMObjectsAreSuspended):
135770        * fileapi/DOMFileSystem.cpp:
135771        (WebCore::DOMFileSystem::create):
135772        * fileapi/FileReader.cpp:
135773        (WebCore::FileReader::create):
135774        * fileapi/FileReader.h:
135775        * fileapi/FileWriter.cpp:
135776        (WebCore::FileWriter::create):
135777        * fileapi/FileWriter.h:
135778        * history/CachedFrame.cpp:
135779        (WebCore::CachedFrame::CachedFrame):
135780        * html/HTMLAudioElement.cpp:
135781        (WebCore::HTMLAudioElement::create):
135782        * html/HTMLMarqueeElement.cpp:
135783        (WebCore::HTMLMarqueeElement::create):
135784        * html/HTMLVideoElement.cpp:
135785        (WebCore::HTMLVideoElement::create):
135786        * mediastream/PeerConnection.cpp:
135787        (WebCore::PeerConnection::create):
135788        * notifications/Notification.cpp:
135789        (WebCore::Notification::create):
135790        * notifications/NotificationCenter.cpp:
135791        (WebCore::NotificationCenter::create):
135792        * notifications/NotificationCenter.h:
135793        * page/DOMTimer.cpp:
135794        (WebCore::DOMTimer::install):
135795        (WebCore::DOMTimer::fired):
135796        * page/EventSource.cpp:
135797        (WebCore::EventSource::create):
135798        * page/SuspendableTimer.cpp:
135799        (WebCore::SuspendableTimer::SuspendableTimer):
135800        * storage/IDBDatabase.cpp:
135801        (WebCore::IDBDatabase::create):
135802        * storage/IDBRequest.cpp:
135803        (WebCore::IDBRequest::create):
135804        * storage/IDBTransaction.cpp:
135805        (WebCore::IDBTransaction::create):
135806        * webaudio/AudioContext.cpp:
135807        (WebCore::AudioContext::create):
135808        * websockets/WebSocket.cpp:
135809        (WebCore::WebSocket::create):
135810        * websockets/WebSocket.h:
135811        * workers/SharedWorker.cpp:
135812        (WebCore::SharedWorker::create):
135813        * workers/Worker.cpp:
135814        (WebCore::Worker::create):
135815        * xml/XMLHttpRequest.cpp:
135816        (WebCore::XMLHttpRequest::create):
135817
1358182012-02-03  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
135819
135820        Do not ASSERT on TouchStationary TouchPoint state.
135821        https://bugs.webkit.org/show_bug.cgi?id=77620
135822
135823        Reviewed by Kenneth Rohde Christiansen.
135824
135825        * page/EventHandler.cpp:
135826        (WebCore::eventNameForTouchPointState): Explicitly show that TouchStationary is asserted.
135827        (WebCore::EventHandler::handleTouchEvent):
135828            Remove TouchStationary from ASSERT. The value of HitTestRequest is restored to the
135829            value it should have if hittested, but is not used.
135830
1358312012-02-03  Kentaro Hara  <haraken@chromium.org>
135832
135833        Add the "ObjC" prefix to ObjC specific IDL attributes
135834        https://bugs.webkit.org/show_bug.cgi?id=77708
135835
135836        Reviewed by Adam Barth.
135837
135838        This patch adds the "ObjC" prefix to ObjC specific IDL attributes, as follows:
135839
135840            [Polymorphic] => [ObjCPolymorphic]
135841            [OldStyleObjC] => [ObjCLegacyUnamedParameters]
135842            [UsesView] => [ObjCUseDefaultView] (Note: Renamed for clarification)
135843
135844        No tests. No changes in behavior.
135845
135846        * bindings/scripts/CodeGeneratorObjC.pm:
135847        (GenerateHeader):
135848        (GenerateImplementation):
135849        * css/CSSMediaRule.idl:
135850        * css/CSSPrimitiveValue.idl:
135851        * css/CSSRule.idl:
135852        * css/CSSStyleDeclaration.idl:
135853        * css/CSSStyleSheet.idl:
135854        * css/CSSValue.idl:
135855        * css/StyleSheet.idl:
135856        * dom/CharacterData.idl:
135857        * dom/DOMImplementation.idl:
135858        * dom/Document.idl:
135859        * dom/Element.idl:
135860        * dom/Event.idl:
135861        * dom/EventTarget.idl:
135862        * dom/MouseEvent.idl:
135863        * dom/MutationEvent.idl:
135864        * dom/NamedNodeMap.idl:
135865        * dom/Node.idl:
135866        * dom/Range.idl:
135867        * dom/UIEvent.idl:
135868        * html/HTMLCollection.idl:
135869        * html/HTMLSelectElement.idl:
135870        * svg/SVGPathSeg.idl:
135871        * xml/XPathExpression.idl:
135872
1358732012-02-03  MORITA Hajime  <morrita@google.com>
135874
135875        TypingCommand should be prepared against detached document.
135876        https://bugs.webkit.org/show_bug.cgi?id=77216
135877
135878        Reviewed by Ryosuke Niwa.
135879
135880        Added null checks for document()->frame().
135881
135882        No new tests. Just tighten guards for possible codepaths.
135883
135884        * editing/TypingCommand.cpp:
135885        (WebCore::TypingCommand::markMisspellingsAfterTyping):
135886        (WebCore::TypingCommand::typingAddedToOpenCommand):
135887        (WebCore::TypingCommand::deleteKeyPressed):
135888        (WebCore::TypingCommand::forwardDeleteKeyPressed):
135889
1358902012-02-03  Kentaro Hara  <haraken@chromium.org>
135891
135892        Rename [DontEnum] IDL to [NotEnumerable] IDL
135893        https://bugs.webkit.org/show_bug.cgi?id=77710
135894
135895        Reviewed by Adam Barth.
135896
135897        [DontEnum] is a negation of [[Enumerable]] in the ECMAScript spec
135898        (8.6.1 of http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-262.pdf).
135899        This patch renames [DontEnum] to [NotEnumerable].
135900
135901        No tests. No change in behavior.
135902
135903        * bindings/scripts/CodeGeneratorJS.pm:
135904        (GenerateAttributesHashTable):
135905        (GenerateImplementation):
135906        * bindings/scripts/CodeGeneratorV8.pm:
135907        (GenerateSingleBatchedAttribute):
135908        (GenerateImplementation):
135909
135910        * css/WebKitCSSMatrix.idl:
135911        * dom/DOMCoreException.idl:
135912        * dom/Document.idl:
135913        * dom/Element.idl:
135914        * dom/EventException.idl:
135915        * dom/RangeException.idl:
135916        * fileapi/FileException.idl:
135917        * fileapi/OperationNotAllowedException.idl:
135918        * html/DOMTokenList.idl:
135919        * html/HTMLAnchorElement.idl:
135920        * html/HTMLBodyElement.idl:
135921        * html/HTMLFrameSetElement.idl:
135922        * html/HTMLInputElement.idl:
135923        * page/DOMSelection.idl:
135924        * page/DOMWindow.idl:
135925        * page/Location.idl:
135926        * storage/IDBDatabaseException.idl:
135927        * storage/Storage.idl:
135928        * svg/SVGElementInstance.idl:
135929        * svg/SVGException.idl:
135930        * workers/WorkerLocation.idl:
135931        * xml/XMLHttpRequestException.idl:
135932        * xml/XPathException.idl:
135933
1359342012-02-03  Kentaro Hara  <haraken@chromium.org>
135935
135936        Rename [InitializedByConstructor] IDL to [InitializedByEventConstructor] IDL
135937        https://bugs.webkit.org/show_bug.cgi?id=77711
135938
135939        Reviewed by Adam Barth.
135940
135941        [InitializedByConstructor] can be used only when [ConstructorTemplate=Event]
135942        is specified on the interface. This patch renames [InitializedByConstructor] to
135943        [InitializedByEventConstructor] for clarification.
135944
135945        No tests. No change in behavior.
135946
135947        * bindings/scripts/CodeGeneratorJS.pm:
135948        (GenerateConstructorDefinition):
135949        * bindings/scripts/CodeGeneratorV8.pm:
135950        (GenerateEventConstructorCallback):
135951
135952        * bindings/scripts/test/TestEventConstructor.idl:
135953        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Updated the run-bindings-tests results.
135954        (WebCore):
135955
135956        * dom/BeforeLoadEvent.idl:
135957        * dom/CustomEvent.idl:
135958        * dom/ErrorEvent.idl:
135959        * dom/Event.idl:
135960        * dom/HashChangeEvent.idl:
135961        * dom/MessageEvent.idl:
135962        * dom/OverflowEvent.idl:
135963        * dom/PageTransitionEvent.idl:
135964        * dom/PopStateEvent.idl:
135965        * dom/ProgressEvent.idl:
135966        * dom/WebKitAnimationEvent.idl:
135967        * dom/WebKitTransitionEvent.idl:
135968        * html/canvas/WebGLContextEvent.idl:
135969        * html/track/TrackEvent.idl:
135970        * storage/StorageEvent.idl:
135971        * websockets/CloseEvent.idl:
135972
1359732012-02-03  Kentaro Hara  <haraken@chromium.org>
135974
135975        Add the "CPP" prefix to CPP specific IDL attributes
135976        https://bugs.webkit.org/show_bug.cgi?id=77707
135977
135978        Reviewed by Adam Barth.
135979
135980        This patch adds the "CPP" prefix to a CPP specific IDL attribute.
135981        Specifically, this patch renames [PureInterface] to [CPPPureInterface]
135982
135983        No tests. No change in behavior.
135984
135985        * bindings/scripts/CodeGeneratorCPP.pm:
135986        (GenerateHeader):
135987        (GenerateImplementation):
135988        * css/MediaQueryListListener.idl:
135989        * dom/EventListener.idl:
135990        * dom/EventTarget.idl:
135991        * dom/NodeFilter.idl:
135992
1359932012-01-27  Alexander Pavlov  <apavlov@chromium.org>
135994
135995        Implement touch event emulation in the WebCore layer
135996        https://bugs.webkit.org/show_bug.cgi?id=77105
135997
135998        Reviewed by Ryosuke Niwa.
135999
136000        This change essentially maps mouse events into single-touch events in the following way:
136001        - mousedown -> touchstart
136002        - mouseup -> touchend
136003        - mousemove -> touchmove (between mousedown and mouseup).
136004
136005        Test: fast/events/touch/emulate-touch-events.html
136006
136007        * page/EventHandler.cpp:
136008        (SyntheticTouchPoint): A synthetic touch point built from PlatformMouseEvent.
136009        (WebCore::SyntheticTouchPoint::SyntheticTouchPoint):
136010        (SyntheticSingleTouchEvent): A synthetic touch point event built from PlatformMouseEvent.
136011        (WebCore::SyntheticSingleTouchEvent::SyntheticSingleTouchEvent):
136012        (WebCore::EventHandler::handleMouseReleaseEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
136013        (WebCore::EventHandler::handleMousePressEvent): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
136014        (WebCore::EventHandler::mouseMoved): Invoke maybeDispatchSyntheticTouchEvent() and bail out if necessary.
136015        (WebCore::EventHandler::dispatchSyntheticTouchEventIfEnabled): Dispatch a synthetic touch event if necessary.
136016        * page/EventHandler.h: Added new method.
136017        * page/Settings.cpp:
136018        (WebCore::Settings::Settings): Added m_touchEventEmulationEnabled initializer.
136019        * page/Settings.h: Added m_touchEventEmulationEnabled, getter, and setter.
136020        (WebCore::Settings::setTouchEventEmulationEnabled): Added.
136021        (WebCore::Settings::isTouchEventEmulationEnabled): Added.
136022        * platform/PlatformTouchPoint.h:
136023        (WebCore::PlatformTouchPoint::PlatformTouchPoint): Unconditionally compile the parameterless ctor.
136024        * testing/InternalSettings.cpp:
136025        (WebCore::InternalSettings::setTouchEventEmulationEnabled): Added for testing.
136026        * testing/InternalSettings.h: Added setTouchEventEmulationEnabled() for testing.
136027        * testing/InternalSettings.idl: Added setTouchEventEmulationEnabled() for testing.
136028
1360292012-02-03  Kentaro Hara  <haraken@chromium.org>
136030
136031        Remove [NoCPPCustom] IDL
136032        https://bugs.webkit.org/show_bug.cgi?id=77704
136033
136034        Reviewed by Adam Barth.
136035
136036        This patch removes [NoCPPCustom], by replacing [Custom, NoCPPCustom]
136037        in HTMLDocument.idl with [JSCCustom, V8Custom].
136038
136039        No tests. No change in behavior.
136040
136041        * bindings/scripts/CodeGeneratorCPP.pm:
136042        (ShouldSkipType):
136043        * html/HTMLDocument.idl:
136044
1360452012-02-03  Kentaro Hara  <haraken@chromium.org>
136046
136047        Remove [LegacyParent] from CodeGeneratorGObject.pm, and rename it to [JSLegacyParent]
136048        https://bugs.webkit.org/show_bug.cgi?id=77706
136049
136050        Reviewed by Adam Barth.
136051
136052        This patch removes dead code about [LegacyParent] from CodeGeneratorGObject.pm,
136053        and renames [LegacyParent] to [JSLegacyParent].
136054
136055        No tests. No changes in behavior.
136056
136057        * bindings/scripts/CodeGeneratorGObject.pm:
136058        (Generate):
136059        * bindings/scripts/CodeGeneratorJS.pm:
136060        (GetParentClassName):
136061        (GenerateHeader):
136062        (GenerateImplementation):
136063        * page/DOMWindow.idl:
136064        * workers/WorkerContext.idl:
136065
1360662012-02-03  Pavel Feldman  <pfeldman@google.com>
136067
136068        Web Inspector: preserve elements panel selection upon node drag'n'drop
136069        https://bugs.webkit.org/show_bug.cgi?id=77722
136070
136071        Reviewed by Vsevolod Vlasov.
136072
136073        Test: inspector/elements/move-node.html
136074
136075        * inspector/front-end/DOMAgent.js:
136076        (WebInspector.DOMAgent.prototype._markRevision):
136077        * inspector/front-end/ElementsTreeOutline.js:
136078        (WebInspector.ElementsTreeOutline.prototype._ondrop):
136079        (WebInspector.ElementsTreeOutline.prototype._doMove.callback):
136080        (WebInspector.ElementsTreeOutline.prototype._doMove):
136081
1360822012-02-03  Shinya Kawanaka  <shinyak@google.com>
136083
136084       Reimplement DETAILS and SUMMARY using selector query.
136085        https://bugs.webkit.org/show_bug.cgi?id=75930
136086
136087        Reviewed by Hajime Morita.
136088
136089        DETAILS is reimplemented using content element and its fallback feature.
136090        We don't need to recreate DOM even if SUMMARY is removed from or added into DETAILS.
136091
136092        No new tests, should be covered by existing tests.
136093
136094        * html/HTMLDetailsElement.cpp:
136095        (WebCore::DetailsSummaryElement::fallbackSummary):
136096          Takes fallback element of content summary.
136097        (DetailsSummaryElement):
136098        (WebCore::DetailsSummaryElement::create):
136099          Creates a fallback element also.
136100        (WebCore):
136101        (WebCore::HTMLDetailsElement::create):
136102        (WebCore::HTMLDetailsElement::HTMLDetailsElement):
136103        (WebCore::HTMLDetailsElement::createShadowSubtree):
136104        (WebCore::HTMLDetailsElement::findMainSummary):
136105        (WebCore::HTMLDetailsElement::parseMappedAttribute):
136106        (WebCore::HTMLDetailsElement::childShouldCreateRenderer):
136107        (WebCore::HTMLDetailsElement::toggleOpen):
136108        * html/HTMLDetailsElement.h:
136109        (HTMLDetailsElement):
136110        * html/HTMLSummaryElement.cpp:
136111        (WebCore::HTMLSummaryElement::isMainSummary):
136112
1361132012-02-03  Jochen Eisinger  <jochen@chromium.org>
136114
136115        Crash when trying to add a timer to a detached document.
136116        https://bugs.webkit.org/show_bug.cgi?id=77692
136117
136118        Reviewed by Alexey Proskuryakov.
136119
136120        In http://webkit.org/b/77370, a timer is fired on a detached document.
136121        Since a document clears all timers when it is detached, and it
136122        shouldn't be possible to add a timer to a detached document, we crash
136123        if this should happen anyway. This will hopefully result in an easier
136124        to debug crash dump.
136125
136126        * page/DOMTimer.cpp:
136127        (WebCore::DOMTimer::DOMTimer):
136128
1361292012-02-03  Shinya Kawanaka  <shinyak@google.com>
136130
136131        Stop calling Element::ensureShadowRoot in Internals.
136132        https://bugs.webkit.org/show_bug.cgi?id=77612
136133
136134        Reviewed by Hajime Morita.
136135
136136        We want to check a shadow root is built-in or created by users to support multiple shadow subtrees.
136137        But Element::ensureShadowRoot() makes it difficult, because it doesn't care about the returning shadow element
136138        is built-in or user generated, so let's remove Element::ensureShadowRoot().
136139
136140        As a first step, this patch removes ensureShadowRoot() in Internals.
136141
136142        No new tests, because no changes in behavior.
136143
136144        * WebCore.exp.in:
136145        * testing/Internals.cpp:
136146        (WebCore::Internals::ensureShadowRoot):
136147
1361482012-02-02  Alexei Filippov  <alexeif@chromium.org>
136149
136150        Web Inspector: Always show percents together with counters in heap inspector.
136151        https://bugs.webkit.org/show_bug.cgi?id=77434
136152
136153        Reviewed by Pavel Feldman.
136154
136155        * inspector/front-end/DetailedHeapshotGridNodes.js:
136156        (WebInspector.HeapSnapshotGridNode.prototype._toPercentString):
136157        (WebInspector.HeapSnapshotGridNode.prototype._createValueCell):
136158        (WebInspector.HeapSnapshotGenericObjectNode.prototype.createCell):
136159        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
136160        (WebInspector.HeapSnapshotConstructorNode.prototype.createCell):
136161        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
136162        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
136163        * inspector/front-end/DetailedHeapshotView.js:
136164        (WebInspector.HeapSnapshotContainmentDataGrid):
136165        (WebInspector.HeapSnapshotConstructorsDataGrid):
136166        (WebInspector.HeapSnapshotDiffDataGrid):
136167        (WebInspector.HeapSnapshotDominatorsDataGrid):
136168        (WebInspector.DetailedHeapshotView.prototype._mouseDownInContentsGrid):
136169        (WebInspector.DetailedHeapshotView.prototype.get _isShowingAsPercent):
136170        (WebInspector.DetailedHeapshotView.prototype._percentClicked):
136171        * inspector/front-end/heapProfiler.css:
136172        (.detailed-heapshot-view .data-grid span.percent-column):
136173
1361742012-02-02  Matt Falkenhagen  <falken@chromium.org>
136175
136176        Use content-language from http-equiv to set document locale and font
136177        https://bugs.webkit.org/show_bug.cgi?id=76701
136178
136179        Reviewed by Darin Adler.
136180
136181        So far, only content-language set through http-equiv is used; the HTTP Content-Language
136182        header is not yet supported.
136183
136184        Tests: fast/text/content-language-case-insensitivity.html
136185               fast/text/content-language-mapped-to-webkit-locale.html
136186               fast/text/international/content-language-font-selection-expected.html
136187               fast/text/international/content-language-font-selection.html
136188               fast/text/international/content-language-with-subtags-expected.html
136189               fast/text/international/content-language-with-subtags.html
136190
136191        * css/CSSStyleSelector.cpp:
136192        (WebCore::CSSStyleSelector::styleForDocument): Use content language when selecting initial font.
136193        * dom/Document.cpp:
136194        (WebCore::Document::setContentLanguage): Recalculate style so language is taken into account.
136195        (WebCore):
136196        * dom/Document.h:
136197        (Document):
136198
1361992012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
136200
136201        Unreviewed, rolling out r106620.
136202        http://trac.webkit.org/changeset/106620
136203        https://bugs.webkit.org/show_bug.cgi?id=77716
136204
136205        It broke non ENABLE(3D_RENDERING) builds (Requested by
136206        Ossy_morning on #webkit).
136207
136208        * GNUmakefile.list.am:
136209        * Target.pri:
136210        * WebCore.gypi:
136211        * platform/graphics/GraphicsContext.h:
136212        (WebCore):
136213        (GraphicsContext):
136214        * platform/graphics/cairo/TextureMapperCairo.cpp:
136215        (WebCore::TextureMapper::create):
136216        (WebCore):
136217        * platform/graphics/opengl/TextureMapperGL.cpp:
136218        (Entry):
136219        (DirectlyCompositedImageRepository):
136220        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::findOrCreate):
136221        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::deref):
136222        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::DirectlyCompositedImageRepository):
136223        (WebCore::TextureMapperGLData::DirectlyCompositedImageRepository::~DirectlyCompositedImageRepository):
136224        (TextureMapperGLData):
136225        (BitmapTextureGL):
136226        (WebCore::BitmapTextureGL::isOpaque):
136227        (WebCore::BitmapTextureGL::pack):
136228        (WebCore::BitmapTextureGL::unpack):
136229        (WebCore::BitmapTextureGL::isPacked):
136230        (WebCore::BitmapTextureGL::BitmapTextureGL):
136231        (WebCore::TextureMapperGL::beginPainting):
136232        (WebCore::BitmapTextureGL::reset):
136233        (WebCore::BitmapTextureGL::beginPaint):
136234        (WebCore::BitmapTextureGL::endPaint):
136235        (WebCore):
136236        (WebCore::BitmapTextureGL::updateContents):
136237        (WebCore::BitmapTextureGL::updateRawContents):
136238        (WebCore::BitmapTextureGL::setContentsToImage):
136239        (WebCore::BitmapTextureGL::destroy):
136240        (WebCore::TextureMapperGL::bindSurface):
136241        * platform/graphics/opengl/TextureMapperGL.h:
136242        (TextureMapperGL):
136243        (WebCore::TextureMapperGL::allowSurfaceForRoot):
136244        (BGRA32PremultimpliedBuffer):
136245        (WebCore::BGRA32PremultimpliedBuffer::~BGRA32PremultimpliedBuffer):
136246        (WebCore):
136247        * platform/graphics/qt/GraphicsContext3DQt.cpp:
136248        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
136249        * platform/graphics/qt/GraphicsContextQt.cpp:
136250        * platform/graphics/qt/TextureMapperQt.cpp: Added.
136251        (WebCore):
136252        (WebCore::BitmapTextureQt::destroy):
136253        (WebCore::BitmapTextureQt::reset):
136254        (WebCore::BitmapTextureQt::beginPaint):
136255        (WebCore::BitmapTextureQt::endPaint):
136256        (WebCore::BitmapTextureQt::updateContents):
136257        (WebCore::BitmapTextureQt::save):
136258        (WebCore::BitmapTextureQt::setContentsToImage):
136259        (WebCore::BitmapTextureQt::pack):
136260        (WebCore::BitmapTextureQt::unpack):
136261        (WebCore::TextureMapperQt::beginClip):
136262        (WebCore::TextureMapperQt::endClip):
136263        (WebCore::TextureMapperQt::viewportSize):
136264        (WebCore::TextureMapperQt::TextureMapperQt):
136265        (WebCore::TextureMapperQt::setGraphicsContext):
136266        (WebCore::TextureMapperQt::graphicsContext):
136267        (WebCore::TextureMapperQt::bindSurface):
136268        (WebCore::TextureMapperQt::drawTexture):
136269        (WebCore::TextureMapper::create):
136270        (WebCore::TextureMapperQt::createTexture):
136271        (WebCore::BitmapTextureQt::BitmapTextureQt):
136272        (WebCore::TextureMapperQt::beginPainting):
136273        (WebCore::TextureMapperQt::endPainting):
136274        (BGRA32PremultimpliedBufferQt):
136275        (WebCore::BGRA32PremultimpliedBufferQt::beginPaint):
136276        (WebCore::BGRA32PremultimpliedBufferQt::endPaint):
136277        (WebCore::BGRA32PremultimpliedBufferQt::data):
136278        (WebCore::BGRA32PremultimpliedBuffer::create):
136279        (WebCore::uidForImage):
136280        * platform/graphics/qt/TextureMapperQt.h: Added.
136281        (WebCore):
136282        (BitmapTextureQt):
136283        (WebCore::BitmapTextureQt::~BitmapTextureQt):
136284        (WebCore::BitmapTextureQt::size):
136285        (WebCore::BitmapTextureQt::isValid):
136286        (WebCore::BitmapTextureQt::sourceRect):
136287        (WebCore::BitmapTextureQt::isPacked):
136288        (WebCore::BitmapTextureQt::painter):
136289        (TextureMapperQt):
136290        (WebCore::TextureMapperQt::allowSurfaceForRoot):
136291        (WebCore::TextureMapperQt::initialize):
136292        (WebCore::TextureMapperQt::create):
136293        (WebCore::TextureMapperQt::currentPainter):
136294        * platform/graphics/texmap/TextureMapper.cpp:
136295        * platform/graphics/texmap/TextureMapper.h:
136296        (WebCore::BitmapTexture::BitmapTexture):
136297        (WebCore::BitmapTexture::allowOfflineTextureUpload):
136298        (BitmapTexture):
136299        (WebCore::BitmapTexture::pack):
136300        (WebCore::BitmapTexture::unpack):
136301        (WebCore::BitmapTexture::isPacked):
136302        (WebCore::BitmapTexture::updateRawContents):
136303        (WebCore::BitmapTexture::beginPaintMedia):
136304        (WebCore::BitmapTexture::save):
136305        (WebCore::BitmapTexture::lock):
136306        (WebCore::BitmapTexture::unlock):
136307        (WebCore::BitmapTexture::isLocked):
136308        (TextureMapper):
136309        (WebCore::TextureMapper::viewportSize):
136310        (WebCore::TextureMapper::setViewportSize):
136311        (WebCore::TextureMapper::allowPartialUpdates):
136312        (WebCore::TextureMapper::isOpenGLBacked):
136313        (WebCore::TextureMapper::setTransform):
136314        (WebCore::TextureMapper::transform):
136315        * platform/graphics/texmap/TextureMapperImageBuffer.cpp: Removed.
136316        * platform/graphics/texmap/TextureMapperImageBuffer.h: Removed.
136317        * platform/graphics/texmap/TextureMapperNode.cpp:
136318        (WebCore::TextureMapperNode::renderContent):
136319        (WebCore::TextureMapperNode::setContentsTileBackBuffer):
136320        * platform/graphics/texmap/TextureMapperNode.h:
136321        (TextureMapperNode):
136322
1363232012-02-02  Keishi Hattori  <keishi@webkit.org>
136324
136325        ColorInputType needs to use ensureInlineStyleDecl
136326        https://bugs.webkit.org/show_bug.cgi?id=77699
136327
136328        Reviewed by Kent Tamura.
136329
136330        Because WebCore internally should use the more specific CSSMutableStyleDeclaration
136331        http://trac.webkit.org/changeset/105739
136332
136333        * html/ColorInputType.cpp:
136334        (WebCore::ColorInputType::updateColorSwatch):
136335
1363362012-02-02  Roland Steiner  <rolandsteiner@chromium.org>
136337
136338        Simplify SelectorChecker::checkSelector and checkOneSelector
136339        https://bugs.webkit.org/show_bug.cgi?id=77697
136340
136341        Make use of Element::previous/nextElementSibling.
136342        Made those methods inline.
136343        Simplify code in checkSelector and checkOneSelector, esp. for first/nth/nth-last/last/only-child implementations.
136344
136345        Reviewed by Andreas Kling.
136346
136347        No new tests. (refactoring)
136348
136349        * css/SelectorChecker.cpp:
136350        (WebCore::SelectorChecker::checkSelector):
136351        (WebCore::SelectorChecker::checkOneSelector):
136352        * dom/Element.cpp:
136353        * dom/Element.h:
136354        (WebCore::Element::previousElementSibling):
136355        (WebCore):
136356        (WebCore::Element::nextElementSibling):
136357
1363582012-02-02  Keishi Hattori  <keishi@webkit.org>
136359
136360        ColorChooserClient is missing a virtual destructor
136361        https://bugs.webkit.org/show_bug.cgi?id=77698
136362
136363        Reviewed by Kent Tamura.
136364
136365        * platform/ColorChooserClient.h:
136366        (WebCore::ColorChooserClient::~ColorChooserClient): Added.
136367
1363682012-02-02  Keishi Hattori  <keishi@webkit.org>
136369
136370        Remove OVERRIDE from ColorInputType::valueAsColor
136371        https://bugs.webkit.org/show_bug.cgi?id=77701
136372
136373        Reviewed by Kent Tamura.
136374
136375        * html/ColorInputType.h:
136376        (WebCore::ColorInputType::valueAsColor):
136377
1363782012-02-02  Bear Travis  <betravis@adobe.com>
136379
136380        Support 'disabled' attribute on SVGStyleElement
136381        https://bugs.webkit.org/show_bug.cgi?id=52130
136382
136383        Adding disabled property to SVGStyleElement, which
136384        mirrors the functionality added to HTMLStyleElement
136385        for DOM1. The disabled property reflects and sets
136386        the disabled state of its style sheet.
136387
136388        Based off of patch for bug 25287
136389
136390        Reviewed by Dirk Schulze.
136391
136392        Test: svg/dom/SVGStyleElement/disable-svg-style-element.html
136393
136394        * svg/SVGStyleElement.cpp:
136395        (WebCore::SVGStyleElement::disabled):
136396        (WebCore):
136397        (WebCore::SVGStyleElement::setDisabled):
136398        * svg/SVGStyleElement.h:
136399        (SVGStyleElement):
136400        * svg/SVGStyleElement.idl:
136401
1364022012-02-02  Hayato Ito  <hayato@chromium.org>
136403
136404        Make ShadowRoot interface inherit DocumentFragment interface in IDL.
136405        https://bugs.webkit.org/show_bug.cgi?id=77511
136406
136407        Reviewed by Kentaro Hara.
136408
136409        This patch contains only the change of IDL to isolate issues.
136410        Other changes, such as tests for querySelector of ShadowRoot, will be added in follow-up patches.
136411
136412        No tests. No change in behavior.
136413
136414        * dom/ShadowRoot.idl:
136415
1364162012-02-02  Raymond Toy  <rtoy@google.com>
136417
136418        Check parameters to biquad filters
136419        https://bugs.webkit.org/show_bug.cgi?id=71413
136420
136421        Reviewed by Kenneth Russell.
136422
136423        Tests added for each filter type and for the limiting cases for
136424        each filter type.
136425
136426        * platform/audio/Biquad.cpp:
136427        (WebCore::Biquad::setLowpassParams):
136428        (WebCore::Biquad::setHighpassParams):
136429        (WebCore::Biquad::setLowShelfParams):
136430        (WebCore::Biquad::setHighShelfParams):
136431        (WebCore::Biquad::setPeakingParams):
136432        (WebCore::Biquad::setAllpassParams):
136433        (WebCore::Biquad::setNotchParams):
136434        (WebCore::Biquad::setBandpassParams):
136435        Check for invalid parameters and clip them to something sensible.
136436        Also check for the limiting cases and try to use the limiting form
136437        of the z-transform for the biquad.  Some issues cannot be
136438        consistently handled because the z-transform is not continuous as
136439        the parameters approach the limit.
136440
1364412012-02-02  No'am Rosenthal  <noam.rosenthal@nokia.com>
136442
136443        [Qt][Texmap] Refactor TextureMapper API to use ImageBuffers when possible.
136444        https://bugs.webkit.org/show_bug.cgi?id=77148
136445
136446        Reviewed by Martin Robinson.
136447
136448        Removed TextureMapperQt, and instead created a TextureMapperImageBuffer class,
136449        which responds to an "Software" mode of TextureMapper, instead of creating subclasses
136450        of TextureMapper directly. This allows using the software fallback of TextureMapper by any
136451        sort.
136452
136453        To make the ImageBuffer backend easier, content updates to BitmapTexture can now use either
136454        an image, or a raw data pointer. The raw data pointer is provided for performance reasons,
136455        as converting data to/from Image references in Qt generates unnecessary deep copies of the
136456        image data.
136457
136458        Also, functions that use TransformationMatrix were added to GraphicsContext, to allow for
136459        3D transforms in cross platform code.
136460        After this patch everything renders the same. An additional bug report was created to allow
136461        ImageBuffer shallow image copies: https://bugs.webkit.org/show_bug.cgi?id=77689
136462
136463        Covered extensively by existing tests, no behavioral changes.
136464
136465        * Target.pri:
136466        * platform/graphics/GraphicsContext.cpp:
136467        * platform/graphics/GraphicsContext.h:
136468        (WebCore):
136469        (GraphicsContext):
136470        * platform/graphics/cairo/TextureMapperCairo.cpp:
136471        * platform/graphics/opengl/TextureMapperGL.cpp:
136472        (TextureMapperGLData):
136473        (BitmapTextureGL):
136474        (WebCore::BitmapTextureGL::BitmapTextureGL):
136475        (WebCore::TextureMapperGL::beginPainting):
136476        (WebCore::BitmapTextureGL::reset):
136477        (WebCore):
136478        (WebCore::swizzleBGRAToRGBA):
136479        (WebCore::BitmapTextureGL::updateContents):
136480        (WebCore::BitmapTextureGL::destroy):
136481        (WebCore::TextureMapperGL::bindSurface):
136482        (WebCore::TextureMapper::platformCreateAccelerated):
136483        * platform/graphics/opengl/TextureMapperGL.h:
136484        (TextureMapperGL):
136485        (WebCore::TextureMapperGL::accelerationMode):
136486        (WebCore):
136487        * platform/graphics/qt/GraphicsContext3DQt.cpp:
136488        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
136489        * platform/graphics/qt/GraphicsContextQt.cpp:
136490        (WebCore):
136491        (WebCore::GraphicsContext::get3DTransform):
136492        (WebCore::GraphicsContext::concat3DTransform):
136493        (WebCore::GraphicsContext::set3DTransform):
136494        * platform/graphics/qt/TextureMapperQt.cpp: Removed.
136495        * platform/graphics/qt/TextureMapperQt.h: Removed.
136496        * platform/graphics/texmap/TextureMapper.cpp:
136497        (WebCore):
136498        (BitmapTextureImageBuffer):
136499        (TextureMapperImageBuffer):
136500        * platform/graphics/texmap/TextureMapper.h:
136501        (WebCore::BitmapTexture::BitmapTexture):
136502        (BitmapTexture):
136503        (WebCore::BitmapTexture::bpp):
136504        (WebCore::BitmapTexture::isOpaque):
136505        (WebCore::TextureMapper::setGraphicsContext):
136506        (WebCore::TextureMapper::graphicsContext):
136507        (TextureMapper):
136508        (WebCore::TextureMapper::TextureMapper):
136509        (WebCore::TextureMapper::platformCreateAccelerated):
136510        * platform/graphics/texmap/TextureMapperNode.cpp:
136511        (WebCore::TextureMapperNode::renderContent):
136512        (WebCore::TextureMapperNode::setContentsTileBackBuffer):
136513        * platform/graphics/texmap/TextureMapperNode.h:
136514        (TextureMapperNode):
136515
1365162012-02-02  Adam Barth  <abarth@webkit.org>
136517
136518        Rename checkNodeSecurity and allowsAccessFromFrame to have sensible names
136519        https://bugs.webkit.org/show_bug.cgi?id=75796
136520
136521        Reviewed by Eric Seidel.
136522
136523        As requested by Darin Adler, this patch renames these functions be
136524        clear that we're asking whether the access should be allowed rather
136525        than explicitly allowing the access.
136526
136527        * bindings/generic/BindingSecurity.h:
136528        (BindingSecurity):
136529        (WebCore::::shouldAllowAccessToNode):
136530        (WebCore::::allowSettingFrameSrcToJavascriptUrl):
136531        * bindings/js/JSDOMBinding.cpp:
136532        (WebCore::shouldAllowAccessToNode):
136533        (WebCore::shouldAllowAccessToFrame):
136534        * bindings/js/JSDOMBinding.h:
136535        (WebCore):
136536        * bindings/js/JSHTMLFrameElementCustom.cpp:
136537        (WebCore::allowSettingJavascriptURL):
136538        * bindings/js/JSHistoryCustom.cpp:
136539        (WebCore::JSHistory::getOwnPropertySlotDelegate):
136540        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
136541        (WebCore::JSHistory::putDelegate):
136542        (WebCore::JSHistory::deleteProperty):
136543        (WebCore::JSHistory::getOwnPropertyNames):
136544        * bindings/js/JSLocationCustom.cpp:
136545        (WebCore::JSLocation::getOwnPropertySlotDelegate):
136546        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
136547        (WebCore::JSLocation::putDelegate):
136548        (WebCore::JSLocation::deleteProperty):
136549        (WebCore::JSLocation::getOwnPropertyNames):
136550        (WebCore::JSLocation::toStringFunction):
136551        * bindings/js/ScriptController.cpp:
136552        (WebCore::ScriptController::canAccessFromCurrentOrigin):
136553        * bindings/scripts/CodeGeneratorJS.pm:
136554        (GenerateGetOwnPropertyDescriptorBody):
136555        (GenerateImplementation):
136556        * bindings/scripts/CodeGeneratorV8.pm:
136557        (GenerateNormalAttrGetter):
136558        (GenerateFunctionCallback):
136559        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
136560        (WebCore::JSTestActiveDOMObject::getOwnPropertyDescriptor):
136561        * bindings/scripts/test/JS/JSTestObj.cpp:
136562        (WebCore::jsTestObjContentDocument):
136563        (WebCore::jsTestObjPrototypeFunctionGetSVGDocument):
136564        * bindings/scripts/test/V8/V8TestObj.cpp:
136565        (WebCore::TestObjInternal::contentDocumentAttrGetter):
136566        (WebCore::TestObjInternal::getSVGDocumentCallback):
136567
1365682012-02-02  Kalev Lember  <kalevlember@gmail.com>
136569
136570        [GTK] Make gtk+ symbols available to WidgetBackingStoreCairo.cpp
136571        https://bugs.webkit.org/show_bug.cgi?id=77679
136572
136573        WidgetBackingStoreCairo.cpp uses GTK+ symbols, so we need it in
136574        webcoregtk_sources instead of webcore_sources.
136575
136576        Reviewed by Martin Robinson.
136577
136578        * GNUmakefile.list.am: Move WidgetBackingStoreCairo.cpp to webcoregtk.
136579
1365802012-02-02  Shinya Kawanaka  <shinyak@google.com>
136581
136582        StyleRecalc should occur when shadow root exists and light children are changed.
136583        https://bugs.webkit.org/show_bug.cgi?id=76262
136584
136585        Reviewed by Hajime Morita.
136586
136587        When light children is changed, the element included in HTMLContentElement may also be changed.
136588        So we have to recalculate inclusion of content element again.
136589
136590        Test: fast/dom/shadow/shadow-contents-fallback-dynamic.html
136591
136592        * dom/Element.cpp:
136593        (WebCore::Element::childrenChanged):
136594
1365952012-02-02  Ami Fischman  <fischman@chromium.org>
136596
136597        Avoid crashing renderer when GPU process dies by not caching textures between video frames.
136598        https://bugs.webkit.org/show_bug.cgi?id=77654
136599
136600        Reviewed by James Robinson.
136601
136602        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
136603        (WebCore::CCVideoLayerImpl::draw):
136604
1366052012-02-02  Anders Carlsson  <andersca@apple.com>
136606
136607        Add ScrollingTree class
136608        https://bugs.webkit.org/show_bug.cgi?id=77695
136609
136610        Reviewed by Andreas Kling.
136611
136612        * WebCore.xcodeproj/project.pbxproj:
136613        Add new files.
136614
136615        * page/scrolling/ScrollingCoordinator.cpp:
136616        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
136617        Create a scrolling tree.
136618
136619        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
136620        Assert that the scrolling tree is null.
136621
136622        (WebCore::ScrollingCoordinator::pageDestroyed):
136623        Null out the scrolling tree member variable and tell it to invalidate itself.
136624
136625        * page/scrolling/ScrollingTree.cpp: Added.
136626
136627        (WebCore::ScrollingTree::invalidate):
136628        Null out the scrolling coordinator, breaking the reference cycle between the scrolling
136629        coordinator and the scrolling tree.
136630    
136631        * page/scrolling/ScrollingTree.h: Added.
136632
1366332012-02-02  Tim Dresser  <tdresser@chromium.org>
136634
136635        Refactor plugin drawing to be more data driven
136636        https://bugs.webkit.org/show_bug.cgi?id=76715
136637
136638        Reviewed by James Robinson.
136639
136640        CCPluginLayerImpl no longer handles drawing itself, but produces a list of CCPluginDrawQuads.
136641        These quads are then drawn by LayerRendererChromium.
136642
136643        CCLayerImpl::willDraw(LayerRendererChromium*) is called directly before appendQuads.
136644        This allows for CCLayerImpl objects to allocate textures before appendQuads is called.
136645
136646        This is a refactor, so no new tests were added.
136647        Flash was tested manually on Linux and Mac.
136648
136649        * platform/graphics/chromium/LayerRendererChromium.cpp:
136650        (WebCore::PluginProgramBinding::set):
136651        (PluginProgramBinding):
136652        (WebCore):
136653        (WebCore::TexStretchPluginProgramBinding::set):
136654        (TexStretchPluginProgramBinding):
136655        (WebCore::TexTransformPluginProgramBinding::set):
136656        (TexTransformPluginProgramBinding):
136657        (WebCore::LayerRendererChromium::drawPluginQuad):
136658        * platform/graphics/chromium/cc/CCLayerImpl.h:
136659        (WebCore::CCLayerImpl::willDraw):
136660        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
136661        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
136662        * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp:
136663        (WebCore::CCPluginDrawQuad::create):
136664        (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
136665        * platform/graphics/chromium/cc/CCPluginDrawQuad.h:
136666        (CCPluginDrawQuad):
136667        (WebCore::CCPluginDrawQuad::uvRect):
136668        (WebCore::CCPluginDrawQuad::textureId):
136669        (WebCore::CCPluginDrawQuad::flipped):
136670        (WebCore::CCPluginDrawQuad::ioSurfaceWidth):
136671        (WebCore::CCPluginDrawQuad::ioSurfaceHeight):
136672        (WebCore::CCPluginDrawQuad::ioSurfaceTextureId):
136673        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
136674        (WebCore::CCPluginLayerImpl::willDraw):
136675        (WebCore::CCPluginLayerImpl::appendQuads):
136676        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
136677        (CCPluginLayerImpl):
136678
1366792012-01-29  Pablo Flouret  <pablof@motorola.com>
136680
136681        V8 idl code generator doesn't handle SerializedScriptValue attributes properly.
136682        https://bugs.webkit.org/show_bug.cgi?id=77295
136683
136684        Reviewed by Kentaro Hara.
136685
136686        Only the case of one (and only one) SerializedScriptValue attribute was
136687        handled, and it was deserialized eagerly in the constructor instead of
136688        generating getters/setters. This patch gets rid of that behavior and
136689        generates the getters and setters instead (similar to what the JSC
136690        generator does).
136691        Also handle the case of SSV attributes with [CachedAttribute]
136692        declaration, caching the deserialized value in a hidden attribute on the
136693        object.
136694
136695        * bindings/scripts/CodeGeneratorV8.pm:
136696        (GenerateNormalAttrGetter):
136697        (GenerateNormalAttrSetter):
136698        (GenerateConstructorCallback):
136699        (GenerateNamedConstructorCallback):
136700        (GenerateSingleBatchedAttribute):
136701        (GenerateImplementation):
136702        (GenerateToV8Converters):
136703        (JSValueToNative):
136704        (NativeToJSValue):
136705        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
136706        (WebDOMTestSerializedScriptValueInterface::setValue):
136707        (WebDOMTestSerializedScriptValueInterface::readonlyValue):
136708        (WebDOMTestSerializedScriptValueInterface::cachedValue):
136709        (WebDOMTestSerializedScriptValueInterface::setCachedValue):
136710        (WebDOMTestSerializedScriptValueInterface::cachedReadonlyValue):
136711        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.h:
136712        (WebDOMTestSerializedScriptValueInterface):
136713        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.cpp:
136714        (webkit_dom_test_serialized_script_value_interface_set_value):
136715        (webkit_dom_test_serialized_script_value_interface_get_readonly_value):
136716        (webkit_dom_test_serialized_script_value_interface_get_cached_value):
136717        (webkit_dom_test_serialized_script_value_interface_set_cached_value):
136718        (webkit_dom_test_serialized_script_value_interface_get_cached_readonly_value):
136719        (webkit_dom_test_serialized_script_value_interface_get_property):
136720        (webkit_dom_test_serialized_script_value_interface_class_init):
136721        * bindings/scripts/test/GObject/WebKitDOMTestSerializedScriptValueInterface.h:
136722        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
136723        ():
136724        (WebCore::jsTestSerializedScriptValueInterfaceReadonlyValue):
136725        (WebCore):
136726        (WebCore::jsTestSerializedScriptValueInterfaceCachedValue):
136727        (WebCore::jsTestSerializedScriptValueInterfaceCachedReadonlyValue):
136728        (WebCore::JSTestSerializedScriptValueInterface::put):
136729        (WebCore::setJSTestSerializedScriptValueInterfaceValue):
136730        (WebCore::setJSTestSerializedScriptValueInterfaceCachedValue):
136731        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
136732        (JSTestSerializedScriptValueInterface):
136733        (JSTestSerializedScriptValueInterfacePrototype):
136734        (WebCore):
136735        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.h:
136736        * bindings/scripts/test/ObjC/DOMTestSerializedScriptValueInterface.mm:
136737        (-[DOMTestSerializedScriptValueInterface setValue:]):
136738        (-[DOMTestSerializedScriptValueInterface readonlyValue]):
136739        (-[DOMTestSerializedScriptValueInterface cachedValue]):
136740        (-[DOMTestSerializedScriptValueInterface setCachedValue:]):
136741        (-[DOMTestSerializedScriptValueInterface cachedReadonlyValue]):
136742        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
136743        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
136744        (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrGetter):
136745        (TestSerializedScriptValueInterfaceInternal):
136746        (WebCore::TestSerializedScriptValueInterfaceInternal::valueAttrSetter):
136747        (WebCore::TestSerializedScriptValueInterfaceInternal::readonlyValueAttrGetter):
136748        (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrGetter):
136749        (WebCore::TestSerializedScriptValueInterfaceInternal::cachedValueAttrSetter):
136750        (WebCore::TestSerializedScriptValueInterfaceInternal::cachedReadonlyValueAttrGetter):
136751        ():
136752        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
136753        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
136754        (WebCore::V8TestSerializedScriptValueInterface::wrapSlow):
136755
1367562012-02-02  Adam Barth  <abarth@webkit.org>
136757
136758        BMW Car Configuration Page doesn't work (Only manifests in Chromium)
136759        https://bugs.webkit.org/show_bug.cgi?id=77312
136760
136761        Reviewed by Dimitri Glazkov.
136762
136763        When we autogenerated the event factory, we missed the check for
136764        whether touch events were enabled at runtime:
136765        http://trac.webkit.org/changeset/97933/trunk/Source/WebCore/dom/Document.cpp
136766
136767        This patch adds the check back.
136768
136769        Unfortunately, there isn't a testing frame work for
136770        RuntimeEnabledFeatures.  The main difficulty is that these static bools
136771        need to be set when WebKit is initialized and can't be changed (which
136772        is why they're not part of WebCore::Settings).  To test them properly,
136773        we'd need a testing framework that booted up WebKit for each test.
136774
136775        We could test this particular change (which doesn't need the bool to be
136776        constant through the runtime of WebKit), but that would create a
136777        sandtrap for future patches who might thing that this testing framework
136778        can really be used to test RuntimeEnabledFeatures.
136779
136780        The net result is that Chromium is going to end up living with the
136781        non-default codepath for these settings being untested, which will lead
136782        to regressions like this one.  If we ened up with a bunch of these
136783        regressions, we'll likely end up with a testing framework similar to
136784        Chromium's browsers_tests, which create a fresh subprocess for each
136785        test.
136786
136787        * dom/EventFactory.in:
136788        * dom/make_event_factory.pl:
136789        (defaultItemFactory):
136790        (generateImplementation):
136791
1367922012-02-02  Justin Novosad  <junov@chromium.org>
136793
136794        [Chromium] Use SkCanvas::flush in skia port
136795        https://bugs.webkit.org/show_bug.cgi?id=77463
136796
136797        Reviewed by Stephen White.
136798
136799        Code cleanup in skia port. Using SkCanvas::flush to remove
136800        unnecessary dependency on GrContext.  Removed unnecessary inclusions
136801        and forward declarations of GrContext in several source files.
136802
136803        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
136804        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
136805        * platform/graphics/chromium/LayerRendererChromium.cpp:
136806        * platform/graphics/chromium/LayerRendererChromium.h:
136807        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
136808        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
136809        * platform/graphics/chromium/cc/CCProxy.h:
136810        * platform/graphics/skia/PlatformContextSkia.cpp:
136811
1368122012-02-02  Chris Marrin  <cmarrin@apple.com>
136813
136814        Turn on CSS Filters on Windows
136815        https://bugs.webkit.org/show_bug.cgi?id=76667
136816
136817        Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
136818
136819        Reviewed by Adele Peterson.
136820
136821        * WebCore.vcproj/copyForwardingHeaders.cmd:
136822        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
136823        (PlatformCALayer::setFilters):
136824        (PlatformCALayer::filtersCanBeComposited):
136825
1368262012-02-02  Jon Lee  <jonlee@apple.com>
136827
136828        Clear shown notifications when context is no longer active
136829        https://bugs.webkit.org/show_bug.cgi?id=77363
136830        <rdar://problem/10568907>
136831
136832        Reviewed by Darin Adler.
136833
136834        * notifications/NotificationPresenter.h: Add new virtual function to clear notifications
136835        associated with a given execution context. By default the notifications are left alone, as
136836        before. Individual implementations can override to allow notifications to clear them.
136837
136838        * notifications/NotificationCenter.cpp:
136839        (WebCore::NotificationCenter::disconnectFrame): When disconnecting the page from the frame, we
136840        call clearNotifications().
136841        * page/Frame.cpp:
136842        (WebCore::Frame::pageDestroyed): When the page is destroyed, tell the DOM window to reset notifications.
136843
1368442012-02-02  Anders Carlsson  <andersca@apple.com>
136845
136846        The overhang area layer should have a linen background
136847        https://bugs.webkit.org/show_bug.cgi?id=77670
136848        <rdar://problem/10797727>
136849
136850        Reviewed by Andreas Kling.
136851
136852        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
136853        (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
136854        Add an #ifdef so that scroll position clamping can be disabled. This will be
136855        removed once rubber-banding works properly.
136856
136857        * platform/ScrollbarTheme.h:
136858        (WebCore::ScrollbarTheme::setUpOverhangAreasLayerContents):
136859        Add new empty function.
136860
136861        * platform/mac/ScrollbarThemeMac.h:
136862        (ScrollbarThemeMac):
136863        * platform/mac/ScrollbarThemeMac.mm:
136864        (WebCore::linenBackgroundColor):
136865        Helper function for getting the CGColorRef that represents the linen background color.
136866
136867        (WebCore::ScrollbarThemeMac::setUpOverhangAreasLayerContents):
136868        Set the linen background color as the overhang areas layer background color.
136869
136870        * rendering/RenderLayerCompositor.cpp:
136871        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
136872        Call ScrollbarTheme::setUpOverhangAreasLayerContents.
136873
1368742012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
136875
136876        Unreviewed, rolling out r106566.
136877        http://trac.webkit.org/changeset/106566
136878        https://bugs.webkit.org/show_bug.cgi?id=77673
136879
136880        Broke the Windows build (Requested by jessieberlin on
136881        #webkit).
136882
136883        * WebCore.vcproj/copyForwardingHeaders.cmd:
136884        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
136885
1368862012-02-02  Tommy Widenflycht  <tommyw@google.com>
136887
136888        [chromium] MediaStream API: Adding the embedding code for MediaStreamCenter
136889        https://bugs.webkit.org/show_bug.cgi?id=73130
136890
136891        Reviewed by Darin Fisher.
136892
136893        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
136894
136895        * mediastream/UserMediaClient.h:
136896        (UserMediaClient):
136897        * mediastream/UserMediaRequest.cpp:
136898        (WebCore::UserMediaRequest::didCompleteQuery):
136899        * mediastream/UserMediaRequest.h:
136900        (UserMediaRequest):
136901        (WebCore::UserMediaRequest::audio):
136902        (WebCore::UserMediaRequest::video):
136903        (WebCore::UserMediaRequest::cameraPreferenceUser):
136904        (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
136905        * platform/mediastream/MediaStreamCenter.cpp:
136906        (WebCore):
136907        (WebCore::MediaStreamCenter::queryMediaStreamSources):
136908        * platform/mediastream/MediaStreamCenter.h:
136909        (WebCore):
136910        (MediaStreamSourcesQueryClient):
136911        (MediaStreamCenter):
136912
1369132012-02-02  Raymond Toy  <rtoy@google.com>
136914
136915        Constant values to set "distanceModel" are undefined
136916        https://bugs.webkit.org/show_bug.cgi?id=74273
136917
136918        Reviewed by Kenneth Russell.
136919
136920        Tests: webaudio/distance-exponential.html
136921               webaudio/distance-inverse.html
136922               webaudio/distance-linear.html
136923
136924        * webaudio/AudioPannerNode.h: Define enum for the new constants
136925        for the distance models.
136926        * webaudio/AudioPannerNode.idl: Define matching constants for the
136927        distance models.
136928
1369292012-02-02  Raymond Toy  <rtoy@google.com>
136930
136931        Illegal panner model values should throw an exception
136932        https://bugs.webkit.org/show_bug.cgi?id=77235
136933
136934        Reviewed by Kenneth Russell.
136935
136936        Modified existing panner-set-model test to catch exceptions.
136937        Debug build should not crash anymore.
136938
136939        * webaudio/AudioPannerNode.cpp:
136940        (WebCore::AudioPannerNode::setPanningModel):  Throw exception for
136941        invalid model values.
136942        * webaudio/AudioPannerNode.h:
136943        (AudioPannerNode): Update declaration
136944        * webaudio/AudioPannerNode.idl: Setting panner model can throw
136945        exception. 
136946
1369472012-02-02  Kentaro Hara  <haraken@chromium.org>
136948
136949        Rename [ConvertUndefinedOrNullToNullString] to
136950        [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString]
136951        https://bugs.webkit.org/show_bug.cgi?id=77611
136952
136953        Reviewed by Adam Barth.
136954
136955        This patch renames [ConvertUndefinedOrNullToNullString] to
136956        [TreatNullAs=EmptyString, TreatUndefinedAs=EmptyString], according to the spec
136957        (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs,
136958        http://dev.w3.org/2006/webapi/WebIDL/#TreatUndefinedAs).
136959
136960        No tests. No changes in behavior.
136961
136962        * bindings/scripts/CodeGeneratorJS.pm:
136963        (JSValueToNative):
136964        * bindings/scripts/CodeGeneratorV8.pm:
136965        (GetNativeTypeFromSignature):
136966        * dom/DOMImplementation.idl:
136967        * dom/Document.idl:
136968        * fileapi/Blob.idl:
136969        * fileapi/DirectoryEntry.idl:
136970        * fileapi/DirectoryEntrySync.idl:
136971        * fileapi/Entry.idl:
136972        * fileapi/EntrySync.idl:
136973        * fileapi/WebKitBlobBuilder.idl:
136974        * html/HTMLButtonElement.idl:
136975        * html/HTMLCanvasElement.idl:
136976        * html/HTMLFieldSetElement.idl:
136977        * html/HTMLInputElement.idl:
136978        * html/HTMLKeygenElement.idl:
136979        * html/HTMLObjectElement.idl:
136980        * html/HTMLOutputElement.idl:
136981        * html/HTMLSelectElement.idl:
136982        * html/HTMLTextAreaElement.idl:
136983        * page/Console.idl:
136984        * page/DOMWindow.idl:
136985
136986        * bindings/scripts/test/TestObj.idl: No changes in run-bindings-tests results.
136987
1369882012-02-02  Anders Carlsson  <andersca@apple.com>
136989
136990        NPAPI will not send mouse up events when mouse is outside plugin area
136991        https://bugs.webkit.org/show_bug.cgi?id=77657
136992        <rdar://problem/10160674>
136993
136994        Reviewed by Andreas Kling.
136995
136996        Export EventHandler::setCapturingMouseEventsNode.
136997
136998        * WebCore.exp.in:
136999
1370002012-02-02  Antti Koivisto  <antti@apple.com>
137001
137002        Move remaining implementation from CSSStyleDeclaration to subclasses 
137003        https://bugs.webkit.org/show_bug.cgi?id=77621
137004
137005        Reviewed by Andreas Kling.
137006
137007        This leaves CSSStyleDeclaration a near-pure CSSOM interface.
137008
137009        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
137010        (WebCore::isCSSPropertyName):
137011        (WebCore::JSCSSStyleDeclaration::putDelegate):
137012        * css/CSSComputedStyleDeclaration.cpp:
137013        (WebCore::CSSComputedStyleDeclaration::parentRule):
137014        (WebCore):
137015        * css/CSSComputedStyleDeclaration.h:
137016        (CSSComputedStyleDeclaration):
137017        * css/CSSMutableStyleDeclaration.cpp:
137018        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
137019        (WebCore::CSSMutableStyleDeclaration::contextStyleSheet):
137020        (WebCore):
137021        (WebCore::CSSMutableStyleDeclaration::parentRule):
137022        * css/CSSMutableStyleDeclaration.h:
137023        (WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
137024        (WebCore::CSSMutableStyleDeclaration::parentRuleInternal):
137025        (WebCore::CSSMutableStyleDeclaration::clearParentRule):
137026        (CSSMutableStyleDeclaration):
137027        (WebCore::CSSMutableStyleDeclaration::parentElement):
137028        (WebCore::CSSMutableStyleDeclaration::clearParentElement):
137029        (WebCore::CSSMutableStyleDeclaration::parentStyleSheet):
137030        * css/CSSParser.cpp:
137031        (WebCore::parseColorValue):
137032        (WebCore::parseSimpleLengthValue):
137033        (WebCore::CSSParser::parseValue):
137034        (WebCore::CSSParser::parseDeclaration):
137035        * css/CSSStyleDeclaration.cpp:
137036        (WebCore):
137037        * css/CSSStyleDeclaration.h:
137038        (CSSStyleDeclaration):
137039        (WebCore::CSSStyleDeclaration::parentStyleSheet):
137040        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
137041        * css/CSSStyleRule.cpp:
137042        (WebCore::CSSStyleRule::setSelectorText):
137043                            
137044            Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
137045
137046        * css/CSSStyleRule.h:
137047        (WebCore::CSSStyleRule::setDeclaration):
137048        * css/CSSStyleSelector.cpp:
137049        (WebCore::isInsideRegionRule):
137050        (WebCore::CSSStyleSelector::applyDeclaration):
137051        * css/WebKitCSSKeyframeRule.cpp:
137052        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
137053        * page/PageSerializer.cpp:
137054        (WebCore::PageSerializer::serializeFrame):
137055        (WebCore::PageSerializer::serializeCSSStyleSheet):
137056        (WebCore::PageSerializer::retrieveResourcesForCSSRule):
137057        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
137058        * page/PageSerializer.h:
137059        
137060            Eliminate unnecessary call to CSSMutableStyleDeclaration::parentStyleSheet()
137061        
137062        (WebCore):
137063        (PageSerializer):
137064
1370652012-02-02  Chris Marrin  <cmarrin@apple.com>
137066
137067        Turn on CSS Filters on Windows
137068        https://bugs.webkit.org/show_bug.cgi?id=76667
137069
137070        Turning on CSS_FILTERS flag for Windows and fixed a couple of resultant build errors
137071
137072        Reviewed by Adele Peterson.
137073
137074        * WebCore.vcproj/copyForwardingHeaders.cmd:
137075        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
137076        (PlatformCALayer::setFilters):
137077        (PlatformCALayer::filtersCanBeComposited):
137078
1370792012-02-02  Anders Carlsson  <andersca@apple.com>
137080
137081        Move ScrollingThread to its own file
137082        https://bugs.webkit.org/show_bug.cgi?id=77652
137083
137084        Reviewed by Sam Weinig.
137085
137086        This just shuffles some classes around and makes ScrollingCoordinator call into ScrollingThread.
137087        Hopefully we'll be able to make ScrollingThread use the new WebCore::RunLoop class eventually.
137088
137089        * WebCore.xcodeproj/project.pbxproj:
137090        * page/scrolling/ScrollingCoordinator.cpp:
137091        (WebCore::ScrollingCoordinator::handleWheelEvent):
137092        * page/scrolling/ScrollingCoordinator.h:
137093        (ScrollingCoordinator):
137094        * page/scrolling/ScrollingThread.cpp: Added.
137095        (WebCore):
137096        (WebCore::ScrollingThread::ScrollingThread):
137097        (WebCore::ScrollingThread::isCurrentThread):
137098        (WebCore::ScrollingThread::dispatch):
137099        (WebCore::ScrollingThread::shared):
137100        (WebCore::ScrollingThread::createThreadIfNeeded):
137101        (WebCore::ScrollingThread::threadCallback):
137102        (WebCore::ScrollingThread::threadBody):
137103        (WebCore::ScrollingThread::dispatchFunctionsFromScrollingThread):
137104        * page/scrolling/ScrollingThread.h: Added.
137105        (WebCore):
137106        (ScrollingThread):
137107        * page/scrolling/mac/ScrollingCoordinatorMac.mm:
137108        (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
137109        (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
137110        * page/scrolling/mac/ScrollingThreadMac.mm: Added.
137111        (WebCore):
137112        (WebCore::ScrollingThread::initializeRunLoop):
137113        (WebCore::ScrollingThread::wakeUpRunLoop):
137114        (WebCore::ScrollingThread::threadRunLoopSourceCallback):
137115
1371162012-02-02  Sheriff Bot  <webkit.review.bot@gmail.com>
137117
137118        Unreviewed, rolling out r106551.
137119        http://trac.webkit.org/changeset/106551
137120        https://bugs.webkit.org/show_bug.cgi?id=77648
137121
137122        Breaking mac and gtk tests due to font differences. (Requested
137123        by _pdr_ on #webkit).
137124
137125        * platform/graphics/SVGGlyph.cpp:
137126        (WebCore::charactersWithArabicForm):
137127        * svg/SVGFontData.cpp:
137128        (WebCore::SVGFontData::applySVGGlyphSelection):
137129        * svg/SVGFontData.h:
137130        (SVGFontData):
137131
1371322012-02-02  Alexander Pavlov  <apavlov@chromium.org>
137133
137134        Web Inspector: [REGRESSION] Slow continuous DOM traversal with Up/Down keys
137135        https://bugs.webkit.org/show_bug.cgi?id=77643
137136
137137        Reviewed by Pavel Feldman.
137138
137139        Test: inspector/styles/updates-during-dom-traversal.html
137140
137141        * inspector/front-end/StylesSidebarPane.js:
137142        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
137143
1371442012-02-02  Claudio Saavedra  <csaavedra@igalia.com> and Martin Robinson  <mrobinson@igalia.com>
137145
137146        [GTK] WebKitWebView won't work in a GtkOffscreenWindow
137147        https://bugs.webkit.org/show_bug.cgi?id=76911
137148
137149        Reviewed by Philippe Normand.
137150
137151        * platform/gtk/GtkUtilities.cpp:
137152        (WebCore::widgetIsOnscreenToplevelWindow): Added this helper.
137153        * platform/gtk/GtkUtilities.h:
137154        (WebCore): Added helper declaration.
137155
1371562012-02-02  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
137157
137158        Update active and hover state on touch release.
137159        https://bugs.webkit.org/show_bug.cgi?id=77620
137160
137161        Reviewed by Kenneth Rohde Christiansen.
137162
137163        * rendering/HitTestRequest.h:
137164        (WebCore::HitTestRequest::move):
137165        (WebCore::HitTestRequest::release):
137166        (WebCore::HitTestRequest::touchEvent):
137167        (WebCore::HitTestRequest::mouseEvent):
137168        (WebCore::HitTestRequest::touchMove):
137169        (WebCore::HitTestRequest::touchRelease):
137170            Rename the enum values in HitTestRequest to be mouse/touch
137171            agnostic, and add value for recognizing touch events.
137172        * rendering/RenderFrameSet.cpp:
137173        (WebCore::RenderFrameSet::nodeAtPoint): Update for HitTestRequest rename.
137174        * rendering/RenderLayer.cpp:
137175        (WebCore::RenderLayer::hitTest): ditto
137176        (WebCore::RenderLayer::updateHoverActiveState): Reset hoverstate on touch release.
137177        * page/EventHandler.cpp:
137178        (WebCore::EventHandler::updateSelectionForMouseDrag): Update for HitTestRequest rename.
137179        (WebCore::EventHandler::handleMouseMoveEvent): ditto
137180        (WebCore::EventHandler::handleMouseReleaseEvent): ditto
137181        (WebCore::EventHandler::hoverTimerFired): ditto
137182        (WebCore::EventHandler::dragSourceEndedAt): ditto
137183        (WebCore::EventHandler::handleTouchEvent): Hittest touch release to reset
137184            active and hover states and add touch enum to all touch hittests.
137185
1371862012-02-02  Pavel Feldman  <pfeldman@google.com>
137187
137188        Web Inspector: enable editing of selected rows on single click in elements panel.
137189        https://bugs.webkit.org/show_bug.cgi?id=77627
137190
137191        Reviewed by Vsevolod Vlasov.
137192
137193        * inspector/front-end/ElementsTreeOutline.js:
137194        (WebInspector.ElementsTreeElement.prototype.onattach):
137195        (WebInspector.ElementsTreeElement.prototype.onselect):
137196        (WebInspector.ElementsTreeElement.prototype._mouseDown):
137197        * inspector/front-end/treeoutline.js:
137198        (TreeElement.prototype.selectOnMouseDown):
137199        (TreeElement.prototype.select):
137200
1372012012-02-02  Philip Rogers  <pdr@google.com>
137202
137203        Fix mirroring with SVG fonts
137204        https://bugs.webkit.org/show_bug.cgi?id=77067
137205
137206        Reviewed by Nikolas Zimmermann.
137207
137208        SVG fonts were incorrectly handling mirrored characters in bidi text.
137209        In this change I added the function createStringWithMirroredCharacters
137210        which handles mirroring the characters when selecting glyphs for SVG
137211        fonts. I also made a small cosmetic change in the function
137212        charactersWithArabicForm, changing the bool parameter "mirror" to "rtl"
137213        which better reflects what it actually does.
137214
137215        Several new tests were added to test mirroring with SVG fonts in the
137216        presence of Arabic forms and non-BMP characters.
137217
137218        Tests: svg/custom/glyph-selection-arabic-forms.svg
137219               svg/custom/glyph-selection-bidi-mirror.svg
137220               svg/custom/glyph-selection-non-bmp.svg
137221
137222        * platform/graphics/SVGGlyph.cpp:
137223        (WebCore::charactersWithArabicForm):
137224        * svg/SVGFontData.cpp:
137225        (WebCore::SVGFontData::applySVGGlyphSelection):
137226        (WebCore::SVGFontData::createStringWithMirroredCharacters):
137227        * svg/SVGFontData.h:
137228        (SVGFontData):
137229
1372302012-02-02  Pavel Feldman  <pfeldman@google.com>
137231
137232        Web Inspector: add experiment for single click styles editing.
137233        https://bugs.webkit.org/show_bug.cgi?id=77624
137234
137235        Reviewed by Vsevolod Vlasov.
137236
137237        * inspector/front-end/Settings.js:
137238        (WebInspector.ExperimentsSettings):
137239        * inspector/front-end/StylesSidebarPane.js:
137240        (WebInspector.StylePropertiesSection):
137241        (WebInspector.StylePropertyTreeElement.prototype.onattach):
137242        (WebInspector.StylePropertyTreeElement.prototype._mouseDown):
137243        (WebInspector.StylePropertyTreeElement.prototype._resetMouseDownElement):
137244        (WebInspector.StylePropertyTreeElement.prototype):
137245        (WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
137246
1372472012-02-02  Kenneth Rohde Christiansen  <kenneth@webkit.org>
137248
137249        Make the tap highlighting work for all test cases
137250        https://bugs.webkit.org/show_bug.cgi?id=77626
137251
137252        Reviewed by Simon Hausmann.
137253
137254        Clean up of the current code to make it more generic. Now uses
137255        addFocusRingRects for finding the areas to highlight.
137256
137257        Tested by current manual tests.
137258
137259        * page/GestureTapHighlighter.cpp:
137260        (WebCore::GestureTapHighlighter::pathForNodeHighlight):
137261
1372622012-02-02  Mario Sanchez Prada  <msanchez@igalia.com>
137263
137264        [Gtk] atk_text_get_text_at_offset() sometimes fails to provide the correct line
137265        https://bugs.webkit.org/show_bug.cgi?id=72382
137266
137267        Reviewed by Martin Robinson.
137268
137269        Do not add unnecesary blanks at the end of a line of text.
137270
137271        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
137272        (textForRenderer): Do not just append a '\n' at the end of a line
137273        if the linebreak for that line was already considered.
137274
1372752012-02-02  Raul Hudea  <rhudea@adobe.com>
137276
137277        Regions should ignore the saved currentRenderFlowThread during repainting
137278        because if there are imbricated flow threads, it might end using the wrong one.
137279
137280        [CSSRegions] Assert failure in RenderView::computeRectForRepaint
137281        https://bugs.webkit.org/show_bug.cgi?id=77430
137282
137283        Reviewed by David Hyatt.
137284
137285        Test: fast/regions/imbricated-flow-threads-crash.html
137286
137287        * rendering/RenderFlowThread.cpp:
137288        (CurrentRenderFlowThreadDisabler):
137289        (WebCore::CurrentRenderFlowThreadDisabler::CurrentRenderFlowThreadDisabler):
137290        (WebCore::CurrentRenderFlowThreadDisabler::~CurrentRenderFlowThreadDisabler):
137291        (WebCore):
137292        (WebCore::RenderFlowThread::repaintRectangleInRegions):
137293
1372942012-02-02  Kinuko Yasuda  <kinuko@chromium.org>
137295
137296        Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory (re-landing r105395)
137297        https://bugs.webkit.org/show_bug.cgi?id=76551
137298
137299        Reviewed by David Levin.
137300
137301        Moved the implementation of crackFileSystemURL() and toURL() from
137302        WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
137303        so that each platform can extend/implement their behavior if necessary.
137304
137305        No new tests as it has no functional changes.
137306
137307        * fileapi/DOMFileSystemBase.cpp: Moved crackFileSystemURL() to AsyncFileSystem.
137308        * fileapi/DOMFileSystemBase.h:
137309        (DOMFileSystemBase):
137310        * fileapi/EntryBase.cpp: Moved toURL() to AsyncFileSystem.
137311        (WebCore::EntryBase::toURL):
137312        * page/DOMWindow.cpp: Made corresponding callsite changes.
137313        (WebCore::DOMWindow::webkitRequestFileSystem):
137314        (WebCore::DOMWindow::webkitResolveLocalFileSystemURL):
137315        * page/DOMWindow.h:
137316        * platform/AsyncFileSystem.cpp:
137317        (WebCore::AsyncFileSystem::isValidType): Added.
137318        * platform/AsyncFileSystem.h:
137319        (AsyncFileSystem):
137320        * workers/WorkerContext.cpp: Made corresponding callsite changes.
137321        (WebCore::WorkerContext::webkitRequestFileSystem):
137322        (WebCore::WorkerContext::webkitRequestFileSystemSync):
137323        (WebCore::WorkerContext::webkitResolveLocalFileSystemURL):
137324        (WebCore::WorkerContext::webkitResolveLocalFileSystemSyncURL):
137325        * workers/WorkerContext.h:
137326
1373272012-02-02  Yury Semikhatsky  <yurys@chromium.org>
137328
137329        Web Inspector: pause on uncaugh exceptions state is not properly restored
137330        https://bugs.webkit.org/show_bug.cgi?id=77558
137331
137332        'Pause on exceptions' state is now stored in InspectorState object so that it is
137333        properly restored on inspected process change.
137334
137335        Reviewed by Vsevolod Vlasov.
137336
137337        * inspector/InspectorDebuggerAgent.cpp:
137338        (DebuggerAgentState):
137339        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
137340        (WebCore::InspectorDebuggerAgent::disable):
137341        (WebCore::InspectorDebuggerAgent::restore):
137342        (WebCore::InspectorDebuggerAgent::setPauseOnExceptions):
137343        (WebCore):
137344        (WebCore::InspectorDebuggerAgent::setPauseOnExceptionsImpl):
137345        * inspector/InspectorDebuggerAgent.h:
137346        (InspectorDebuggerAgent):
137347
1373482012-02-02  Kentaro Hara  <haraken@chromium.org>
137349
137350        The third argument of addEventListener/removeEventListener of PeerConnection should be optional
137351        https://bugs.webkit.org/show_bug.cgi?id=77606
137352
137353        Reviewed by Adam Barth.
137354
137355        This patch corrects a typo in PeerConnection.idl, i.e. [optional] => [Optional].
137356
137357        Test: fast/mediastream/peerconnection-eventlistener-optional-argument.html
137358
137359        * mediastream/PeerConnection.idl:
137360
1373612012-02-02  Rakesh KN  <rakesh.kn@motorola.com>
137362
137363        hidden attribute on <input type=file /> suppresses the file selection dialog
137364        https://bugs.webkit.org/show_bug.cgi?id=58208
137365
137366        Reviewed by Ryosuke Niwa.
137367
137368        We want to allow opening file dialog on hidden element when click() is called
137369        on the element. The behaviour is similar to Firefox and IE.
137370
137371        Added manual test as the file dialog opens only on user gesture.
137372
137373        * html/FileInputType.cpp:
137374        (WebCore::FileInputType::handleDOMActivateEvent):
137375        Removed renderer check as input can be hidden.
137376
1373772012-02-01  Philippe Normand  <pnormand@igalia.com>
137378
137379        [GStreamer] FFTFrame implementation
137380        https://bugs.webkit.org/show_bug.cgi?id=73545
137381
137382        Reviewed by Chris Rogers.
137383
137384        FFTFrame implementation based on GStreamer's FFT processing
137385        library.
137386
137387        No new tests, existing WebAudio tests cover this.
137388
137389        * GNUmakefile.am:
137390        * GNUmakefile.list.am:
137391        * platform/audio/FFTFrame.h:
137392        * platform/audio/FFTFrameStub.cpp:
137393        * platform/audio/gstreamer/FFTFrameGStreamer.cpp: Added.
137394        (WebCore::FFTFrame::FFTFrame):
137395        (WebCore::FFTFrame::initialize):
137396        (WebCore::FFTFrame::cleanup):
137397        (WebCore::FFTFrame::~FFTFrame):
137398        (WebCore::FFTFrame::multiply):
137399        (WebCore::FFTFrame::doFFT):
137400        (WebCore::FFTFrame::doInverseFFT):
137401        (WebCore::FFTFrame::realData):
137402        (WebCore::FFTFrame::imagData):
137403
1374042012-02-02  Kentaro Hara  <haraken@chromium.org>
137405
137406        Rename [CheckFrameSecurity] and [SVGCheckSecurity] to [CheckAccessToNode]
137407        https://bugs.webkit.org/show_bug.cgi?id=77601
137408
137409        Reviewed by Adam Barth.
137410
137411        [CheckFrameSecurity] and [SVGCheckSecurity] have the same meaning; i.e. generate code
137412        to check allowAccessToNode() for a given attribute or method. This patch renames them
137413        to [CheckAccessToNode].
137414
137415        No tests. No changes in behavior.
137416
137417        * bindings/scripts/CodeGeneratorJS.pm:
137418        (GenerateImplementation):
137419        * bindings/scripts/CodeGeneratorV8.pm:
137420        (GenerateNormalAttrGetter):
137421        (GenerateFunctionCallback):
137422        * html/HTMLEmbedElement.idl:
137423        * html/HTMLFrameElement.idl:
137424        * html/HTMLIFrameElement.idl:
137425        * html/HTMLObjectElement.idl:
137426
137427        * bindings/scripts/test/TestObj.idl:
137428        * bindings/scripts/test/V8/V8TestObj.cpp: Updated the test results.
137429        (WebCore):
137430
1374312012-02-01  Kentaro Hara  <haraken@chromium.org>
137432
137433        Rename [V8DisallowShadowing] to [V8Unforgeable]
137434        https://bugs.webkit.org/show_bug.cgi?id=77599
137435
137436        Reviewed by Adam Barth.
137437
137438        This patch renames [V8DisallowShadowing] to [V8Unforgeable], following the Web IDL
137439        spec (http://dev.w3.org/2006/webapi/WebIDL/#Unforgeable).
137440
137441        No tests. No change in behavior.
137442
137443        * bindings/scripts/CodeGeneratorV8.pm:
137444        (GenerateNormalAttrGetter):
137445        (GenerateSingleBatchedAttribute):
137446        (GenerateImplementation):
137447        * page/DOMWindow.idl:
137448        * page/Location.idl:
137449
1374502012-02-01  Kentaro Hara  <haraken@chromium.org>
137451
137452        Rename [ConvertNullToNullString] to [TreatNullAs=EmptyString]
137453        https://bugs.webkit.org/show_bug.cgi?id=77602
137454
137455        Reviewed by Adam Barth.
137456
137457        This patch renames [ConvertNullToNullString] to [TreatNullAs=EmptyString],
137458        according to the spec (http://dev.w3.org/2006/webapi/WebIDL/#TreatNullAs).
137459
137460        No tests. No changes in behavior.
137461
137462        * bindings/scripts/CodeGeneratorJS.pm:
137463        (JSValueToNative):
137464        * bindings/scripts/CodeGeneratorV8.pm:
137465        (GetNativeTypeFromSignature):
137466
137467        * css/CSSCharsetRule.idl:
137468        * css/CSSPageRule.idl:
137469        * css/CSSRule.idl:
137470        * css/CSSStyleDeclaration.idl:
137471        * css/CSSStyleRule.idl:
137472        * css/CSSValue.idl:
137473        * css/MediaList.idl:
137474        * css/WebKitCSSKeyframesRule.idl:
137475        * dom/Attr.idl:
137476        * dom/CharacterData.idl:
137477        * dom/DOMImplementation.idl:
137478        * dom/Document.idl:
137479        * dom/Element.idl:
137480        * dom/NamedNodeMap.idl:
137481        * dom/Node.idl:
137482        * dom/ProcessingInstruction.idl:
137483        * dom/ShadowRoot.idl:
137484        * html/HTMLAnchorElement.idl:
137485        * html/HTMLButtonElement.idl:
137486        * html/HTMLDocument.idl:
137487        * html/HTMLElement.idl:
137488        * html/HTMLFormElement.idl:
137489        * html/HTMLFrameElement.idl:
137490        * html/HTMLInputElement.idl:
137491        * html/HTMLMediaElement.idl:
137492        * html/HTMLOutputElement.idl:
137493        * html/HTMLScriptElement.idl:
137494        * html/HTMLSelectElement.idl:
137495        * html/HTMLTextAreaElement.idl:
137496        * html/HTMLTitleElement.idl:
137497        * html/canvas/CanvasRenderingContext2D.idl:
137498        * page/DOMWindow.idl:
137499        * storage/StorageEvent.idl:
137500        * svg/SVGAngle.idl:
137501        * svg/SVGElement.idl:
137502        * svg/SVGLength.idl:
137503        * svg/SVGScriptElement.idl:
137504
137505        * bindings/scripts/test/TestObj.idl: No change in the run-bindings-tests results.
137506
1375072012-02-01  Kentaro Hara  <haraken@chromium.org>
137508
137509        Remove [GenerateConstructor] from IDL files
137510        https://bugs.webkit.org/show_bug.cgi?id=77598
137511
137512        Reviewed by Adam Barth.
137513
137514        [GenerateConstructor] is used in some IDL files but it is not implemented
137515        in code generators. I could not find any history about [GenerateConstructor]
137516        in code generators. This patch removes them from IDL files.
137517
137518        Maybe we want to replace [GenerateConstructor] with [Constructor] eventually,
137519        but currently no tests are written for their constructors (e.g. "new DOMTokenList()").
137520        So simply removing them would make sense.
137521
137522        No new tests. No change in behavior.
137523
137524        * dom/DOMStringList.idl:
137525        * html/DOMSettableTokenList.idl:
137526        * html/DOMTokenList.idl:
137527        * svg/SVGFEConvolveMatrixElement.idl:
137528        * webaudio/AudioPannerNode.idl:
137529
1375302012-02-01  Eric Carlson  <eric.carlson@apple.com>
137531
137532        Consider user's preferred language when choosing text tracks
137533        https://bugs.webkit.org/show_bug.cgi?id=74121
137534
137535        Reviewed by Alexey Proskuryakov.
137536
137537        Tests: media/track/track-language-preference.html
137538               media/track/track-prefer-captions.html
137539
137540        * html/HTMLMediaElement.cpp:
137541        (WebCore::HTMLMediaElement::loadTimerFired): configureTextTracks -> configureNewTextTracks.
137542        (WebCore::HTMLMediaElement::textTracksAreReady): Add more comments.
137543        (WebCore::HTMLMediaElement::textTrackModeChanged): Ditto.
137544        (WebCore::HTMLMediaElement::showingTrackWithSameKind): Minor restructuring.
137545        (WebCore::HTMLMediaElement::userIsInterestedInThisTrackKind): Renamed from userIsInterestedInThisTrack,
137546            don't consider user's language preference.
137547        (WebCore::HTMLMediaElement::configureTextTrackGroup): New, configure all tracks in a group, 
137548            considering user's kind and language preferences.
137549        (WebCore::HTMLMediaElement::configureNewTextTracks): New, configure all newly added tracks.
137550        * html/HTMLMediaElement.h:
137551        (WebCore::HTMLMediaElement::TrackGroup::TrackGroup):
137552        (TrackGroup):
137553
137554        * platform/Language.cpp:
137555        (WebCore::canonicalLanguageIdentifier): New, create a canonicalized version of a language string.
137556        (WebCore::bestMatchingLanguage): New, return the language from the list that best matches the 
137557            specified language.
137558        (WebCore::preferredLanguageFromList): New, return the language in the specified list that best
137559            matches the user's language preference.
137560        * platform/Language.h:
137561
137562        * testing/Internals.cpp:
137563        (WebCore::Internals::setShouldDisplayTrackType): New, allow DRT to set the track type preference.
137564        (WebCore::Internals::shouldDisplayTrackType): New, allow DRT to read the track type preference.
137565        * testing/Internals.h:
137566        * testing/Internals.idl:
137567
1375682012-02-01  Hayato Ito  <hayato@chromium.org>
137569
137570        Change class hierarycy so that ShadowRoot can inherit DocumentFragment.
137571        https://bugs.webkit.org/show_bug.cgi?id=76693
137572
137573        Reviewed by Darin Adler.
137574
137575        Make ShadowRoot inherit DocumentFragment so that it matches the class hierarchy of IDL in the spec.
137576        TreeScope becomes a separated class, which is now inherited by Document and ShadowRoot using multiple-inheritance.
137577        This patch is pre-requirement for coming IDL change.
137578
137579        No tests. No change in behavior.
137580
137581        * dom/Document.cpp:
137582        (WebCore::Document::Document):
137583        (WebCore::Document::~Document):
137584        (WebCore::Document::buildAccessKeyMap):
137585        (WebCore::Document::childrenChanged):
137586        (WebCore::Document::attach):
137587        (WebCore::Document::detach):
137588        * dom/Document.h:
137589        (Document):
137590        * dom/DocumentFragment.cpp:
137591        (WebCore::DocumentFragment::DocumentFragment):
137592        * dom/DocumentFragment.h:
137593        (DocumentFragment):
137594        * dom/DocumentOrderedMap.cpp:
137595        (WebCore::DocumentOrderedMap::get):
137596        * dom/ShadowRoot.cpp:
137597        (WebCore::ShadowRoot::ShadowRoot):
137598        (WebCore::ShadowRoot::~ShadowRoot):
137599        (WebCore::ShadowRoot::attach):
137600        * dom/ShadowRoot.h:
137601        * dom/TreeScope.cpp:
137602        (WebCore::TreeScope::TreeScope):
137603        (WebCore::TreeScope::~TreeScope):
137604        (WebCore::TreeScope::setParentTreeScope):
137605        (WebCore::TreeScope::getImageMap):
137606        (WebCore::TreeScope::findAnchor):
137607        * dom/TreeScope.h:
137608        (WebCore):
137609        (WebCore::TreeScope::rootNode):
137610        (TreeScope):
137611        * dom/TreeScopeAdopter.cpp:
137612        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
137613        * page/DragController.cpp:
137614        (WebCore::asFileInput):
137615        * page/FocusController.cpp:
137616        (WebCore::ownerOfTreeScope):
137617        (WebCore::FocusController::nextFocusableNode):
137618        (WebCore::FocusController::previousFocusableNode):
137619
1376202012-02-01  Benjamin Poulain  <bpoulain@apple.com>
137621
137622        WorkerScriptController::evaluate() should not return anything
137623        https://bugs.webkit.org/show_bug.cgi?id=77587
137624
137625        Reviewed by Adam Barth.
137626
137627        Remove the return value from WorkerScriptController as it is
137628        (and should be) unused.
137629
137630        * bindings/js/WorkerScriptController.cpp:
137631        (WebCore::WorkerScriptController::evaluate):
137632        * bindings/js/WorkerScriptController.h:
137633        (WorkerScriptController):
137634        * bindings/v8/WorkerScriptController.cpp:
137635        (WebCore::WorkerScriptController::evaluate):
137636        * bindings/v8/WorkerScriptController.h:
137637        (WorkerScriptController):
137638
1376392012-02-01  Kentaro Hara  <haraken@chromium.org>
137640
137641        Remove [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
137642        [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators
137643        https://bugs.webkit.org/show_bug.cgi?id=77585
137644
137645        Reviewed by Adam Barth.
137646
137647        This patch removes [DelegatingPrototypeGetOwnPropertySlot], [HasCustomIndexGetter],
137648        [HasIndexSetter], [JSConstructorTemplate] and [NonEmpty] from code generators,
137649        since they are not used by no IDL files.
137650
137651        No tests. No change in behavior.
137652
137653        * bindings/scripts/CodeGenerator.pm:
137654        (GetterExpression):
137655        * bindings/scripts/CodeGeneratorJS.pm:
137656        (GenerateGetOwnPropertySlotBody):
137657        (GenerateGetOwnPropertyDescriptorBody):
137658        (GenerateHeader):
137659        (GenerateImplementation):
137660        (IsConstructable):
137661        (IsConstructorTemplate):
137662
137663        * bindings/scripts/test/TestObj.idl:
137664        * bindings/scripts/test/CPP/WebDOMTestObj.cpp: Updated the run-bindings-tests results.
137665        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
137666        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
137667        (webkit_dom_test_obj_set_property):
137668        (webkit_dom_test_obj_get_property):
137669        (webkit_dom_test_obj_class_init):
137670        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
137671        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
137672        (WebCore):
137673        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
137674        (WebCore):
137675        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
137676        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
137677        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
137678        (WebCore):
137679
1376802012-02-01  Shinya Kawanaka  <shinyak@google.com>
137681
137682        Select attribute of HTMLContentElement should be able be changed dynamically.
137683        https://bugs.webkit.org/show_bug.cgi?id=76261
137684
137685        Reviewed by Hajime Morita.
137686
137687        When select attribute is changed, the flag to recalc style is set.
137688
137689        Test: fast/dom/shadow/content-element-select-dynamic.html
137690
137691        * html/shadow/HTMLContentElement.cpp:
137692        (WebCore::HTMLContentElement::parseMappedAttribute):
137693          Sets recalc style when select is changed.
137694        * html/shadow/HTMLContentElement.h:
137695        (HTMLContentElement):
137696
1376972012-02-01  Kentaro Hara  <haraken@chromium.org>
137698
137699        Remove [ImplementationUUID] and [InterfaceUUID] from html/canvas/*.idl
137700        https://bugs.webkit.org/show_bug.cgi?id=77589
137701
137702        Reviewed by Adam Barth.
137703
137704        [ImplementationUUID] and [InterfaceUUID] are used in html/canvas/*.idl,
137705        but they are not implemented in code generators and thus have no meaning.
137706        This patch removes them.
137707
137708        No tests. No change in behavior.
137709
137710        * html/canvas/CanvasGradient.idl:
137711        * html/canvas/CanvasPattern.idl: The file is now empty though.
137712        * html/canvas/CanvasRenderingContext.idl:
137713        * html/canvas/CanvasRenderingContext2D.idl:
137714        * html/canvas/WebGLRenderingContext.idl:
137715
1377162012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
137717
137718        Unreviewed, rolling out r106408.
137719        http://trac.webkit.org/changeset/106408
137720        https://bugs.webkit.org/show_bug.cgi?id=77592
137721
137722        crashes in chromium mac release tests (Requested by japhet on
137723        #webkit).
137724
137725        * platform/graphics/Region.cpp:
137726        * platform/graphics/Region.h:
137727        (Region):
137728        (Shape):
137729
1377302012-02-01  No'am Rosenthal  <noam.rosenthal@nokia.com>
137731
137732        [Texmap] Use glScissors for clipping in TextureMapperGL when possible
137733        https://bugs.webkit.org/show_bug.cgi?id=77575
137734
137735        Reviewed by Martin Robinson.
137736
137737        Maintain a clipping stack, that helps us use stencils in conjunction with scissors.
137738        We apply scissors when the clip region is rectalinear, and stencil when it's not.
137739
137740        No behavior changes so no new tests.
137741
137742        * platform/graphics/opengl/TextureMapperGL.cpp:
137743        (SharedGLData):
137744        (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
137745        (WebCore::TextureMapperGL::drawTexture):
137746        (WebCore::TextureMapperGL::bindSurface):
137747        (WebCore):
137748        (WebCore::scissorClip):
137749        (WebCore::TextureMapperGL::beginScissorClip):
137750        (WebCore::TextureMapperGL::endScissorClip):
137751        (WebCore::TextureMapperGL::beginClip):
137752        (WebCore::TextureMapperGL::endClip):
137753        * platform/graphics/opengl/TextureMapperGL.h:
137754        (TextureMapperGL):
137755
1377562012-02-01  Anders Carlsson  <andersca@apple.com>
137757
137758        Move the scrolling coordinator to page/scrolling
137759        https://bugs.webkit.org/show_bug.cgi?id=77590
137760
137761        Reviewed by Dan Bernstein.
137762
137763        Put scrolling related files in page/scrolling to avoid cluttering the page directory.
137764
137765        * WebCore.xcodeproj/project.pbxproj:
137766        * page/scrolling/ScrollingCoordinator.cpp: Renamed from Source/WebCore/page/ScrollingCoordinator.cpp.
137767        * page/scrolling/ScrollingCoordinator.h: Renamed from Source/WebCore/page/ScrollingCoordinator.h.
137768        * page/scrolling/mac/ScrollingCoordinatorMac.mm: Renamed from Source/WebCore/page/mac/ScrollingCoordinatorMac.mm.
137769
1377702012-02-01  Kentaro Hara  <haraken@chromium.org>
137771
137772        Remove [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
137773        [v8implname] and [v8referenceattr] from code generators
137774        https://bugs.webkit.org/show_bug.cgi?id=77588
137775
137776        Reviewed by Adam Barth.
137777
137778        This patch removes [ObjCPrefix], [V8ConstructorTemplate], [allowAccessToNode],
137779        [v8implname] and [v8referenceattr] from code generators, since they are not used
137780        by any IDL files.
137781
137782        No tests. No changes in behavior.
137783
137784        * bindings/scripts/CodeGeneratorJS.pm:
137785        (GenerateImplementation):
137786        * bindings/scripts/CodeGeneratorObjC.pm:
137787        (GenerateHeader):
137788        (GenerateImplementation):
137789        * bindings/scripts/CodeGeneratorV8.pm:
137790        (IsConstructable):
137791        (IsConstructorTemplate):
137792        (GenerateNormalAttrGetter):
137793        (GenerateFunctionCallString):
137794
1377952012-02-01  Pablo Flouret  <pablof@motorola.com>
137796
137797        Support targetOrigin = "/" in postMessage for sending messages to same origin as source document.
137798        https://bugs.webkit.org/show_bug.cgi?id=77580
137799
137800        Reviewed by Adam Barth.
137801
137802        No new tests. Modified http/tests/security/postMessage/target-origin.html
137803        to test this case as well.
137804
137805        * page/DOMWindow.cpp:
137806        (WebCore::DOMWindow::postMessage):
137807
1378082012-02-01  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
137809
137810        Avoid creating NamedNodeMap unnecessarily
137811        https://bugs.webkit.org/show_bug.cgi?id=77574
137812
137813        Reviewed by Ryosuke Niwa.
137814
137815        The method Element::attributes() was being used for multiple things in our
137816        codebase: (1) as the getter for NamedNodeMap exposed to DOM, (2) as a way to other WebCore
137817        code get the "attribute storage" (currently inside NamedNodeMap), and (3) as a way to
137818        get the attribute storage creating one if necessary.
137819
137820        This commit separate the jobs in different functions:
137821
137822        1) attributes() keeps being the DOM getter, and loses its boolean parameter.
137823
137824        2) updatedAttributes() updates the invalid attributes and returns the attribute
137825        storage. If we don't have one, return 0.
137826
137827        3) ensureUpdatedAttributes() updates the invalid attributes and forces the
137828        creation of attribute storage to return.
137829
137830        There is also another way to get to the attribute storage currently, via
137831        attributeMap(), which doesn't update the attributes for possible changes in Style
137832        or SVG attributes.
137833
137834        Note that the new functions are not available in Node class, so C++ code manipulating
137835        attributes should cast to Element.
137836
137837        This separation also made easier to spot and fix some places where we do not
137838        need to create the attribute storage if it doesn't exist.
137839
137840        No new tests, this commit shouldn't change the behavior of existing code.
137841
137842        * css/SelectorChecker.cpp:
137843        (WebCore::SelectorChecker::checkOneSelector):
137844        * dom/DatasetDOMStringMap.cpp:
137845        (WebCore::DatasetDOMStringMap::getNames):
137846        (WebCore::DatasetDOMStringMap::item):
137847        (WebCore::DatasetDOMStringMap::contains):
137848        * dom/Document.cpp:
137849        (WebCore::Document::importNode):
137850        * dom/Element.cpp:
137851        (WebCore::Element::setAttribute):
137852        (WebCore::Element::hasAttributes):
137853        (WebCore::Element::setAttributeNode):
137854        (WebCore::Element::setAttributeNodeNS):
137855        (WebCore::Element::removeAttributeNode):
137856        (WebCore::Element::getAttributeNode):
137857        (WebCore::Element::getAttributeNodeNS):
137858        (WebCore::Element::hasAttribute):
137859        (WebCore::Element::hasAttributeNS):
137860        (WebCore::Element::normalizeAttributes):
137861        * dom/Element.h:
137862        (Element):
137863        (WebCore::Element::attributes):
137864        (WebCore::Element::ensureAttributeData):
137865        (WebCore::Element::ensureUpdatedAttributes):
137866        (WebCore::Element::updatedAttributes):
137867        (WebCore::Element::setAttributesFromElement):
137868        (WebCore::Element::ensureAttributeMap): Made const to be reused by ensureUpdatedAttributes().
137869        (WebCore::Element::updateInvalidAttributes):
137870        (WebCore):
137871        * dom/NamedNodeMap.cpp:
137872        (WebCore::NamedNodeMap::mapsEquivalent): Having no attributes is equivalent to
137873        not having an attribute storage because the attribute storage is lazily created.
137874        * dom/Node.cpp:
137875        (WebCore::Node::isEqualNode): Do not force the creation of attribute storage to
137876        compare two nodes.
137877        (WebCore::Node::isDefaultNamespace): Use updatedAttributes(). Since we iterate
137878        using length, it's OK if the attribute storage is empty.
137879        (WebCore::Node::lookupNamespaceURI): Ditto.
137880        (WebCore::Node::lookupNamespacePrefix): Ditto.
137881        (WebCore::Node::compareDocumentPosition): Ditto.
137882        * editing/ApplyStyleCommand.cpp:
137883        (WebCore::hasNoAttributeOrOnlyStyleAttribute):
137884        (WebCore::isEmptyFontTag):
137885        * editing/CompositeEditCommand.cpp:
137886        (WebCore::CompositeEditCommand::isRemovableBlock): Use isElementNode() explicitly
137887        to identify non-Element nodes, then use hasAttributes() if is Element.
137888        * editing/InsertParagraphSeparatorCommand.cpp:
137889        (WebCore::highestVisuallyEquivalentDivBelowRoot):
137890        * editing/MarkupAccumulator.cpp:
137891        (WebCore::MarkupAccumulator::appendElement): Do not create the attribute storage
137892        unnecessarily.
137893        * editing/htmlediting.cpp:
137894        (WebCore::areIdenticalElements): Do not create the attribute storage
137895        unnecessarily. Use mapsEquivalent() for comparing the attributes.
137896        * editing/markup.cpp:
137897        (WebCore::completeURLs): Do not create the attribute storage unnecessarily.
137898        (WebCore::StyledMarkupAccumulator::appendElement): Ditto.
137899        (WebCore::isPlainTextMarkup): hasAttributes() will avoid creating the attribute
137900        storage unnecessarily.
137901        * html/HTMLEmbedElement.cpp:
137902        (WebCore::HTMLEmbedElement::parametersForPlugin):
137903        * html/HTMLObjectElement.cpp:
137904        (WebCore::HTMLObjectElement::parametersForPlugin):
137905        * html/HTMLParamElement.cpp:
137906        (WebCore::HTMLParamElement::isURLAttribute): Do not create the attribute storage
137907        unnecessarily.
137908        * html/parser/HTMLConstructionSite.cpp:
137909        (WebCore::HTMLConstructionSite::mergeAttributesFromTokenIntoElement): Use
137910        ensureUpdatedAttributes() since we will add new attributes.
137911        (WebCore):
137912        * inspector/InspectorCSSAgent.cpp:
137913        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
137914        * inspector/InspectorDOMAgent.cpp:
137915        (WebCore::InspectorDOMAgent::setAttributesAsText):
137916        (WebCore::InspectorDOMAgent::performSearch):
137917        (WebCore::InspectorDOMAgent::buildArrayForElementAttributes):
137918        * page/PageSerializer.cpp:
137919        (WebCore::isCharsetSpecifyingNode): Do not assume attributeMap will exist.
137920        * svg/properties/SVGAnimatedPropertySynchronizer.h: Use ensureUpdatedAttributes()
137921        since we will add new attributes.
137922        * xml/XPathFunctions.cpp:
137923        (WebCore::XPath::FunLang::evaluate): Do not create the attribute storage
137924        unnecessarily.
137925        * xml/XPathNodeSet.cpp:
137926        (WebCore::XPath::NodeSet::traversalSort):
137927        * xml/XPathStep.cpp:
137928        (WebCore::XPath::Step::nodesInAxis): Use isElementNode() instead of comparing
137929        nodeType() manually. Do not create the attribute storage unnecessarily.
137930        * xml/parser/XMLDocumentParserLibxml2.cpp:
137931        (WebCore::XMLDocumentParser::XMLDocumentParser): Do not create the attribute
137932        storage unnecessarily.
137933        * xml/parser/XMLDocumentParserQt.cpp:
137934        (WebCore::XMLDocumentParser::XMLDocumentParser): Ditto.
137935        * xml/parser/XMLTreeBuilder.cpp:
137936        (WebCore::XMLTreeBuilder::XMLTreeBuilder): Ditto.
137937
1379382012-02-01  Adam Barth  <abarth@webkit.org>
137939
137940        contentDispositionType misparses the Content-Disposition header in some obscure corner cases
137941        https://bugs.webkit.org/show_bug.cgi?id=77577
137942
137943        Reviewed by Eric Seidel.
137944
137945        The contentDispositionType extracts the disposition-type from the
137946        Content-Disposition header.  According to RFC 6266 (and previous RFCs),
137947        the disposition-type must be an RFC 2616 token.  Rather than enforce
137948        this general rule, we had special-cased some examples (including
137949        name=foo and filename=bar).  This patch generalizes our check to
137950        properly validate that the disposition-type is an RFC 2616 token.
137951
137952        In conjunction with some other work in the Chromium network stack, this
137953        causes Chromium to pass the following tests:
137954
137955          http://greenbytes.de/tech/tc2231/#inlonlyquoted
137956          http://greenbytes.de/tech/tc2231/#attonlyquoted
137957
137958        Without this patch, these test cases neither trigger a navigation nor a
137959        download in Chromium.  This patch does not appear to cause any visible
137960        change in Safari.  (Safari passes these tests both before and after
137961        this patch.)
137962
137963        * platform/network/HTTPParsers.cpp:
137964        (WebCore::isRFC2616Token):
137965        (WebCore::contentDispositionType):
137966            - This patch also adds a comment to
137967              filenameFromHTTPContentDisposition, which explains some of the
137968              was this function incorrectly implements the requirements in
137969              RFC 6266.  Resolving these issues is a subject for a future
137970              patch.
137971        * platform/network/HTTPParsers.h:
137972
1379732012-02-01  Dan Bernstein  <mitz@apple.com>
137974
137975        WebCore part of <rdar://problem/10442663> Paginated display does not respect page-break-{before,after}
137976        https://bugs.webkit.org/show_bug.cgi?id=77505
137977
137978        Reviewed by Darin Adler.
137979
137980        * page/Page.h:
137981        (WebCore::Page::Pagination::Pagination): Added initializer for the behavesLikeColumns member
137982        variable.
137983        (WebCore::Page::Pagination::operator==): Added comparison of behavesLikeColumns values.
137984        (Pagination): Added behavesLikeColumns member variable. When set to false (the default),
137985        paginated display respects the page-break-{before,after} properties rather than the
137986        column-break-{before,after} ones.
137987        * rendering/ColumnInfo.h:
137988        (WebCore::ColumnInfo::ColumnInfo): Added initializer for the m_paginationUnit member.
137989        (WebCore::ColumnInfo::paginationUnit): Added this getter.
137990        (WebCore::ColumnInfo::setPaginationUnit): Added this setter.
137991        (ColumnInfo): Added m_paginationUnit member. It defaults to Column.
137992        * rendering/LayoutState.h:
137993        (WebCore::LayoutState::isPaginatingColumns): Changed to check the pagination unit.
137994        * rendering/RenderBlock.cpp:
137995        (WebCore::RenderBlock::layoutBlock): Added code to set the pagination unit in the ColumnInfo.
137996        (WebCore::RenderBlock::paginationUnit): Added. The base class implementation returns Column.
137997        * rendering/RenderBlock.h:
137998        * rendering/RenderView.cpp:
137999        (WebCore::RenderView::paginationUnit): Added this override that returns Page, unless
138000        this is the RenderView for the main frame and pagination is set to behave like columns.
138001        * rendering/RenderView.h:
138002
1380032012-02-01  Florin Malita  <fmalita@google.com>
138004
138005        Backgrounds in HTML inside foreignObject don't draw
138006        https://bugs.webkit.org/show_bug.cgi?id=23111
138007
138008        Reviewed by Eric Seidel.
138009
138010        Test: svg/foreignObject/body-background.svg
138011
138012        * rendering/RenderBox.cpp:
138013        (WebCore::RenderBox::paintBackground):
138014        Tweak the <body> background inhibiting logic to allow drawing when the element is embedded in FOs.
138015
138016
1380172012-02-01  Gustavo Lima Chaves  <glima@profusion.mobi>
138018
138019        Make one able to set the local storage (tracker) database dir's path
138020        https://bugs.webkit.org/show_bug.cgi?id=77006
138021
138022        Reviewed by Darin Adler.
138023
138024        There are no behavior changes with the diff, so no need for new tests.
138025
138026        * storage/StorageTracker.cpp:
138027        (WebCore::StorageTracker::setDatabaseDirectoryPath):
138028        (WebCore):
138029        (WebCore::StorageTracker::databaseDirectoryPath):
138030        * storage/StorageTracker.h:
138031        (StorageTracker):
138032
1380332012-02-01  Anders Carlsson  <andersca@apple.com>
138034
138035        Fix Window build.
138036
138037        * platform/graphics/avfoundation/cf/MediaPlayerPrivateAVFoundationCF.cpp:
138038        (WebCore::LayerClient::platformCALayerDidCreateTiles):
138039        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
138040        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::LayerClient::platformCALayerDidCreateTiles):
138041
1380422012-02-01  John Yani  <vanuan@gmail.com>
138043
138044        GetMIMEDescription should return const char *
138045        https://bugs.webkit.org/show_bug.cgi?id=77297
138046
138047        Reviewed by Alexey Proskuryakov.
138048
138049        No new tests. No change in behaviour.
138050
138051        * plugins/blackberry/PluginPackageBlackBerry.cpp:
138052        (WebCore::PluginPackage::fetchInfo):
138053        * plugins/efl/PluginPackageEfl.cpp:
138054        (WebCore):
138055        (WebCore::PluginPackage::fetchInfo):
138056        * plugins/npapi.h:
138057        * plugins/npfunctions.h:
138058        * plugins/qt/PluginPackageQt.cpp:
138059        (WebCore::PluginPackage::fetchInfo):
138060
1380612012-02-01  Timothy Hatcher  <timothy@apple.com>
138062
138063        Consolidate duplicate "willHide" functions in DetailedHeapshotView.js to fix
138064        a syntax error in JSC and make the Inspector open again in Release builds.
138065
138066        https://webkit.org/b/77424
138067
138068        Reviewed by Brian Weinstein.
138069
138070        * inspector/front-end/DetailedHeapshotView.js:
138071        (WebInspector.DetailedHeapshotView.prototype.willHide): Consolidated.
138072        (WebInspector.DetailedHeapshotView.prototype.willHide): Removed.
138073
1380742012-02-01  Justin Novosad  <junov@chromium.org>
138075
138076        [Chromium] Enable deferred canvas rendering in the skia port
138077        https://bugs.webkit.org/show_bug.cgi?id=76732
138078
138079        Reviewed by Stephen White.
138080
138081        No new tests: covered by existing canvas layout tests
138082
138083        Adding a new setting to enable deferred 2d canvas rendering.
138084        Added support for deferred 2d canvas rendering in ImageBufferSkia
138085        and Canvas2DLayerChromium, mostly plumbing. Deffered rendering
138086        implementation is provided by skia (class SkDeferredCanvas).
138087
138088        * html/HTMLCanvasElement.cpp:
138089        (WebCore::HTMLCanvasElement::shouldDefer):
138090        (WebCore):
138091        (WebCore::HTMLCanvasElement::createImageBuffer):
138092        * html/HTMLCanvasElement.h:
138093        (HTMLCanvasElement):
138094        * page/Settings.cpp:
138095        (WebCore::Settings::Settings):
138096        (WebCore::Settings::setAccelerated2dCanvasEnabled):
138097        (WebCore):
138098        (WebCore::Settings::setDeferred2dCanvasEnabled):
138099        * page/Settings.h:
138100        (Settings):
138101        (WebCore::Settings::deferred2dCanvasEnabled):
138102        * platform/graphics/ImageBuffer.h:
138103        (WebCore::ImageBuffer::create):
138104        (ImageBuffer):
138105        * platform/graphics/cairo/ImageBufferCairo.cpp:
138106        (WebCore::ImageBuffer::ImageBuffer):
138107        * platform/graphics/cg/ImageBufferCG.cpp:
138108        (WebCore::ImageBuffer::ImageBuffer):
138109        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
138110        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
138111        (WebCore):
138112        (WebCore::Canvas2DLayerChromium::setCanvas):
138113        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
138114        * platform/graphics/chromium/Canvas2DLayerChromium.h:
138115        (Canvas2DLayerChromium):
138116        * platform/graphics/qt/ImageBufferQt.cpp:
138117        (WebCore::ImageBuffer::ImageBuffer):
138118        * platform/graphics/skia/ImageBufferSkia.cpp:
138119        (AcceleratedDeviceContext):
138120        (WebCore::AcceleratedDeviceContext::AcceleratedDeviceContext):
138121        (WebCore::AcceleratedDeviceContext::prepareForDraw):
138122        (WebCore::AcceleratedDeviceContext::flush):
138123        (WebCore):
138124        (WebCore::createAcceleratedCanvas):
138125        (WebCore::ImageBuffer::ImageBuffer):
138126        * platform/graphics/wince/ImageBufferWinCE.cpp:
138127        (WebCore::ImageBuffer::ImageBuffer):
138128        * platform/graphics/wx/ImageBufferWx.cpp:
138129        (WebCore::ImageBuffer::ImageBuffer):
138130
1381312012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
138132
138133        Gcc build fix after r106482.
138134
138135        * platform/graphics/ca/GraphicsLayerCA.h:
138136        (GraphicsLayerCA):
138137
1381382012-02-01  Beth Dakin  <bdakin@apple.com>
138139
138140        https://bugs.webkit.org/show_bug.cgi?id=77383
138141        Add a different didFirstVisuallNonEmptyLayout heuristic to experiment with
138142        -and corresponding-
138143        <rdar://problem/10709560>
138144
138145        Reviewed by Sam Weinig.
138146
138147        The goal is to re-vamp didFirstVisuallyNonEmptyLayout to be more accurate. 
138148        This patch adds a new heuristic called didNewFirstVisuallNonEmptyLayout and 
138149        leaves the old one for the time being. That is temporary.
138150
138151        The heuristic for didNewFirstVisuallNonEmptyLayout is to count relevant 
138152        painted RenderObjects on Page.
138153        * page/Page.cpp:
138154        (WebCore::Page::Page):
138155        (WebCore::Page::setPaintedObjectsCounterThreshold):
138156        (WebCore::Page::addRelevantRepaintedObject):
138157        * page/Page.h:
138158        (WebCore):
138159        (Page):
138160        (WebCore::Page::startCountingRepaintedObjects):
138161        * WebCore.exp.in:
138162
138163        Start counting relevant painted RenderObjects on the page once the first 
138164        layout is complete.
138165        * page/FrameView.cpp:
138166        (WebCore::FrameView::performPostLayoutTasks):
138167
138168        Machinery for firing didNewFirstVisuallNonEmptyLayout.
138169        * loader/EmptyClients.h:
138170        (WebCore::EmptyFrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
138171        * loader/FrameLoader.cpp:
138172        (WebCore::FrameLoader::didNewFirstVisuallyNonEmptyLayout):
138173        (WebCore):
138174        * loader/FrameLoader.h:
138175        (FrameLoader):
138176        * loader/FrameLoaderClient.h:
138177        (WebCore::FrameLoaderClient::dispatchDidNewFirstVisuallyNonEmptyLayout):
138178
138179        These RenderObjects are the ones that this api currently consider to be 
138180        relevant. If their repaint rects intersect with the viewRect, then they are 
138181        added to the relevant objects set on the Page.
138182        * rendering/InlineBox.cpp:
138183        (WebCore::InlineBox::paint):
138184        * rendering/InlineTextBox.cpp:
138185        (WebCore::InlineTextBox::paint):
138186        * rendering/RenderEmbeddedObject.cpp:
138187        (WebCore::RenderEmbeddedObject::paintReplaced):
138188        * rendering/RenderHTMLCanvas.cpp:
138189        (WebCore::RenderHTMLCanvas::paintReplaced):
138190        * rendering/RenderImage.cpp:
138191        (WebCore::RenderImage::paintReplaced):
138192        * rendering/RenderRegion.cpp:
138193        (WebCore::RenderRegion::paintReplaced):
138194        * rendering/RenderReplaced.cpp:
138195        (WebCore::RenderReplaced::paint):
138196        * rendering/RenderVideo.cpp:
138197        (WebCore::RenderVideo::paintReplaced):
138198        * rendering/svg/RenderSVGRoot.cpp:
138199        (WebCore::RenderSVGRoot::paintReplaced):
138200
1382012012-02-01  Alexis Menard  <alexis.menard@openbossa.org>
138202
138203        CSSStyleDeclaration.getPropertyPriority() fails for CSS shorthand properties with 'important' priority
138204        https://bugs.webkit.org/show_bug.cgi?id=49058
138205
138206        Reviewed by Andreas Kling.
138207
138208        CSSMutableStyleDeclaration::getPropertyPriority was not handling shorthands properly. Shorthands are
138209        not part of the property list of the style so we need to query the longhands which are the one added
138210        in the list. Only if the longhands have equal priority the shorthand priority is known. I also renamed
138211        getPropertyPriority (not the CSSOM exposed method) to something more consistent with WebKit naming guidelines.
138212
138213        Test: fast/css/shorthand-priority.html
138214
138215        * css/CSSMutableStyleDeclaration.cpp:
138216        (WebCore::CSSMutableStyleDeclaration::propertyIsImportant):
138217        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
138218        (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
138219        * css/CSSMutableStyleDeclaration.h:
138220        (CSSMutableStyleDeclaration):
138221        * editing/EditingStyle.cpp:
138222        (WebCore::EditingStyle::extractAndRemoveTextDirection):
138223        (WebCore::EditingStyle::collapseTextDecorationProperties):
138224        (WebCore::EditingStyle::conflictsWithInlineStyleOfElement):
138225        (WebCore::setTextDecorationProperty):
138226        * editing/RemoveCSSPropertyCommand.cpp:
138227        (WebCore::RemoveCSSPropertyCommand::doApply):
138228
1382292012-02-01  Ryosuke Niwa  <rniwa@webkit.org>
138230
138231        Crash in EventHandler::updateDragAndDrop
138232        https://bugs.webkit.org/show_bug.cgi?id=77569
138233
138234        Reviewed by Alexey Proskuryakov.
138235
138236        Test: fast/events/remove-target-with-shadow-in-drag.html
138237
138238        * page/EventHandler.cpp:
138239        (WebCore::EventHandler::updateDragAndDrop):
138240
1382412012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
138242
138243        Unreviewed, rolling out r106382.
138244        http://trac.webkit.org/changeset/106382
138245        https://bugs.webkit.org/show_bug.cgi?id=77571
138246
138247        Causing chromium crashes in PNGImageDecoder (Requested by
138248        japhet on #webkit).
138249
138250        * bindings/v8/V8Proxy.cpp:
138251        (WebCore::V8Proxy::evaluate):
138252        * page/Console.cpp:
138253        (WebCore::Console::time):
138254        (WebCore::Console::timeEnd):
138255        * platform/chromium/PlatformSupport.h:
138256        * platform/chromium/TraceEvent.h:
138257        (internal):
138258        (ScopeTracer):
138259        (WebCore::internal::ScopeTracer::ScopeTracer):
138260        (WebCore::internal::ScopeTracer::~ScopeTracer):
138261
1382622012-02-01  Anders Carlsson  <andersca@apple.com>
138263
138264        Reviewed by Darin Adler.
138265
138266        Simplify the code that creates a new tile layer by getting a reference to the RetainPtr<WebTileLayer>&
138267        slot in the hash map and assign directly into it.
138268
138269        * platform/graphics/ca/mac/TileCache.mm:
138270        (WebCore::TileCache::revalidateTiles):
138271
1382722012-02-01  Anders Carlsson  <andersca@apple.com>
138273
138274        Tile cache doesn't have an upper limit
138275        https://bugs.webkit.org/show_bug.cgi?id=77564
138276        <rdar://problem/10710744>
138277
138278        Reviewed by Darin Adler.
138279
138280        Cache enough tiles to cover 3x the visible height and 2x the visible width of the page,
138281        and drop tiles that are outside that area.
138282
138283        * platform/graphics/ca/GraphicsLayerCA.cpp:
138284        (WebCore::GraphicsLayerCA::platformCALayerDidCreateTiles):
138285        Call GraphicsLayerClient::notifySyncRequired here, which will schedule a layer flush and ensure that
138286        the page layout is up to date before the new tiles are painted.
138287
138288        * platform/graphics/ca/PlatformCALayerClient.h:
138289        Add platformCALayerDidCreateTiles member function.
138290
138291        * platform/graphics/ca/mac/TileCache.h:
138292        Update for new/removed member functions and member variables.
138293
138294        * platform/graphics/ca/mac/TileCache.mm:
138295        (WebCore::TileCache::TileCache):
138296        Initialize the tile revalidation timer.
138297
138298        (WebCore::TileCache::tileCacheLayerBoundsChanged):
138299        If we don't have any tiles at all right now, revalidate the tiles immediately. Otherwise,
138300        schedule the revalidation timer.
138301
138302        (WebCore::TileCache::setNeedsDisplayInRect):
138303        Return early if we have no tiles.
138304
138305        (WebCore::TileCache::visibleRectChanged):
138306        Schedule tile revalidation.
138307
138308        (WebCore::TileCache::rectForTileIndex):
138309        New helper function that returns the bounds rect of a tile given its tile index.
138310
138311        (WebCore::TileCache::getTileIndexRangeForRect):
138312        Clamp the rect to the bounds of the tile cache layer.
138313
138314        (WebCore::TileCache::scheduleTileRevalidation):
138315        Schedule the revalidation timer if it hasn't already been scheduled.
138316
138317        (WebCore::TileCache::tileRevalidationTimerFired):
138318        Call revalidateTiles.
138319
138320        (WebCore::TileCache::revalidateTiles):
138321        Compute the tile coverage rect and remove all tiles that are outside. Create new tiles for any
138322        parts of the tile coverage rect that don't have tiles already.
138323
138324        (WebCore::TileCache::tileLayerAtIndex):
138325        Remove invalid assertions.
138326
1383272012-02-01  Max Vujovic  <mvujovic@adobe.com>
138328
138329        Add support for fixed and percent min-width on the table element for table-layout: auto to
138330        match Firefox and Opera's behavior.
138331
138332        In FixedTableLayout.cpp, the computePreferredLogicalWidths method looks like it has
138333        issues based on the comment: "FIXME: This entire calculation is incorrect for both
138334        minwidth and maxwidth." (minwidth and maxwidth refer to the preferred widths, not the
138335        min-width and max-width styles). I have not implemented min-width for FixedTableLayout
138336        in this patch since it requires some more research around that comment.
138337
138338        min-width and max-width on the table element was discussed on the www-style list:
138339        http://lists.w3.org/Archives/Public/www-style/2012Jan/0684.html
138340
138341        min-width is not implemented on <table> for table-layout: auto
138342        https://bugs.webkit.org/show_bug.cgi?id=76553
138343
138344        Reviewed by Julien Chaffraix.
138345
138346        Test: fast/table/min-width.html
138347
138348        * rendering/AutoTableLayout.cpp:
138349        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
138350
138351            If the min or max preferred logical width is less than a fixed min width style, it is
138352            set to the fixed min width style. Like a percent width style, a percent min-width style
138353            does not affect the min or max preferred logical widths computed by the table layout
138354            algorithm. RenderTable's computeLogicalWidth method handles percent min-width styles.
138355
138356            min-width for the table-layout: fixed case has been split out into this bug:
138357            https://bugs.webkit.org/show_bug.cgi?id=76948
138358
138359        * rendering/RenderTable.cpp:
138360        (WebCore::RenderTable::computeLogicalWidth):
138361
138362            If the RenderStyle's logical min width is defined and greater than the logical width
138363            calculation, this method sets the logical width to the logical min width.
138364
138365        (WebCore::RenderTable::convertStyleWidthToComputedWidth):
138366
138367            This new method generalizes and factors out logic from RenderTable::computeLogicalWidth
138368            that converted the width style to a computed value in the fixed and percent case.
138369            RenderTable::computeLogicalWidth now calls this method to determine the computed values
138370            for both the width style and the min-width style. In the future, it can also be used for
138371            the max-width style.
138372
138373            Note that this method handles the special CSS table case, which requires borders and
138374            paddings to be included in the computed width calculation. This applies to all width
138375            styles, including width, min-width, and max-width. Before, this special case was handled
138376            in RenderTable::computeLogicalWidth.
138377
138378        * rendering/RenderTable.h:
138379
1383802012-02-01  Brian Salomon  <bsalomon@google.com>
138381
138382        [SKIA/CHROMIUM] Perform getImageData format conversions using Skia
138383        https://bugs.webkit.org/show_bug.cgi?id=77553
138384
138385        Reviewed by Stephen White.
138386
138387        Many existing canvas tests exercise this functionality.
138388
138389        * platform/graphics/skia/ImageBufferSkia.cpp:
138390        (WebCore::getImageData):
138391
1383922012-02-01  Nate Chapin  <japhet@chromium.org>
138393
138394        preventDefault() in a mousedown in a subframe should not
138395        prevent the scrollbar from handling mouse movements if the
138396        cursor leaves the subframe.
138397        https://bugs.webkit.org/show_bug.cgi?id=73097
138398
138399        Reviewed by Darin Adler.
138400
138401        Test: fast/events/scroll-div-with-prevent-default-in-subframe.html
138402
138403        * page/EventHandler.cpp:
138404        (WebCore::EventHandler::handleMousePressEvent):
138405
1384062012-02-01  Mario Sanchez Prada  <msanchez@igalia.com>
138407
138408        [GTK] editing/inserting/4960120-2.html flaky crash
138409        https://bugs.webkit.org/show_bug.cgi?id=76815
138410
138411        Reviewed by Martin Robinson.
138412
138413        Check if the node for the first parent object not ignoring
138414        accessibility is null before using it. This might happen with
138415        certain kind of accessibility objects, such as the root one (the
138416        scroller containing the webArea object as its only child).
138417
138418        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
138419        (objectFocusedAndCaretOffsetUnignored): Add missing null check.
138420
1384212012-02-01  Antti Koivisto  <antti@apple.com>
138422
138423        Make CSSMappedAttributeDeclaration have CSSMutableStyleDeclaration instead of being one
138424        https://bugs.webkit.org/show_bug.cgi?id=77545
138425
138426        Reviewed by Andreas Kling.
138427
138428        This is the easiest path for eliminating the last remaining subclass of CSSMutableStyleDeclaration.
138429        
138430        On negative side this increases memory use of CSSMappedAttributeDeclaration by one ptr and refcount
138431        (it loses the vptr) in total.
138432        
138433        This is not meant to be the end state, just an intermediate refactoring step. CSSMappedAttributeDeclaration
138434        should clearly be renamed too but this patch doesn't do that. It might not exist in its current form
138435        much longer.
138436
138437        * css/CSSMutableStyleDeclaration.cpp:
138438        (WebCore::CSSMutableStyleDeclaration::setProperty):
138439        (WebCore::CSSMutableStyleDeclaration::merge):
138440        * css/CSSMutableStyleDeclaration.h:
138441
138442            Remove protected section. No subclasses remain.        
138443            Rename setPropertyInternal() to setProperty(). All public methods here are internal.
138444        
138445        (CSSMutableStyleDeclaration):
138446        * css/CSSParser.cpp:
138447        (WebCore::CSSParser::parseMappedAttributeValue):
138448        * dom/Attribute.cpp:
138449        (WebCore::Attribute::clone):
138450        * dom/Attribute.h:
138451        (Attribute):
138452        (WebCore::Attribute::decl):
138453        (WebCore::Attribute::mappedAttributeDeclaration):
138454        (WebCore::Attribute::setMappedAttributeDeclaration):
138455        (WebCore::Attribute::Attribute):
138456        * dom/CSSMappedAttributeDeclaration.cpp:
138457        (WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
138458        (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
138459        (WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
138460        * dom/CSSMappedAttributeDeclaration.h:
138461        (CSSMappedAttributeDeclaration):
138462        (WebCore::CSSMappedAttributeDeclaration::declaration):
138463        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
138464        
138465            Make CSSMutableStyleDeclaration a member instead of the base class.
138466        
138467        * dom/StyledElement.cpp:
138468        (WebCore::StyledElement::attributeChanged):
138469        (WebCore::StyledElement::removeCSSProperty):
138470        (WebCore::StyledElement::addCSSProperty):
138471        (WebCore::StyledElement::addCSSImageProperty):
138472        (WebCore::StyledElement::addCSSLength):
138473        (WebCore::StyledElement::addCSSColor):
138474        (WebCore::StyledElement::createMappedDecl):
138475        * svg/SVGStyledElement.cpp:
138476        (WebCore::SVGStyledElement::getPresentationAttribute):
138477
1384782012-02-01  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
138479
138480        [Qt] Set all PlatformTouchPoint values possible from a QTouch event.
138481        https://bugs.webkit.org/show_bug.cgi?id=77442
138482
138483        Reviewed by Kenneth Rohde Christiansen.
138484
138485        * platform/qt/PlatformTouchPointQt.cpp:
138486        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
138487
1384882012-02-01  Peter Rybin  <peter.rybin@gmail.com>
138489
138490        Web Inspector: CodeGeneratorInspector.py: move type builder code to dedicated InspectorTypeBuilder .h/.cpp
138491        https://bugs.webkit.org/show_bug.cgi?id=77471
138492
138493        Reviewed by Yury Semikhatsky.
138494
138495        Code is moved physically to other file -- generator is changed accrodingly.
138496
138497        * inspector/CodeGeneratorInspector.py:
138498        (String):
138499        (provides):
138500        (typename):
138501        (Array):
138502
1385032012-02-01  Yury Semikhatsky  <yurys@chromium.org>
138504
138505        Web Inspector: debugger reports wrong sources when paused in inline script on page reload
138506        https://bugs.webkit.org/show_bug.cgi?id=77548
138507
138508        V8 returns treats each script source as ending with \n, now we take
138509        this into account when reporting script line count to the inspector
138510        front-end.
138511
138512        Reviewed by Vsevolod Vlasov.
138513
138514        Test: inspector/debugger/pause-in-inline-script.html
138515
138516        * bindings/js/ScriptDebugServer.cpp:
138517        (WebCore::ScriptDebugServer::dispatchDidParseSource):
138518        * bindings/v8/DebuggerScript.js:
138519
1385202012-02-01  Shinya Kawanaka  <shinyak@google.com>
138521
138522        Content element should be able to be dynamically added/removed/replaced in a shadow tree.
138523        https://bugs.webkit.org/show_bug.cgi?id=76611
138524
138525        Reviewed by Hajime Morita
138526
138527        When a content element is added/removed/replaced in a shadow tree, we have to recreate
138528        the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
138529        when content element is removed. (When added, it is recalculated.)
138530        This patch enables us to recalcurate the shadow tree when content element is removed.
138531
138532        Test: fast/dom/shadow/content-element-move.html
138533
138534        * dom/Element.cpp:
138535        (WebCore::Element::attach):
138536          If a shadow root exists, attaches shadow tree before attaching child elements.
138537        * dom/ShadowRoot.cpp:
138538          Added a flag to recalculate shadow tree.
138539        (WebCore::ShadowRoot::ShadowRoot):
138540        (WebCore::ShadowRoot::recalcShadowTreeStyle):
138541          Recalculates light children and shadow tree.
138542        (WebCore::ShadowRoot::setNeedsReattachHostChildrenAndShadow):
138543        (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
138544          Detaches shadow tree and host light children, and attaches them again.
138545        * dom/ShadowRoot.h:
138546        (WebCore::ShadowRoot::clearNeedsReattachHostChildrenAndShadow):
138547        (WebCore::ShadowRoot::needsReattachHostChildrenAndShadow):
138548        * html/shadow/HTMLContentElement.cpp:
138549        (WebCore::HTMLContentElement::attach):
138550          Does not need to detach included elements, because they are not attached in ContainerNode anymore.
138551        (WebCore::HTMLContentElement::detach):
138552          When a content element detached, reattaches a shadow tree.
138553
1385542012-02-01  Peter Beverloo  <peter@chromium.org>
138555
138556        getIntersectionList causes transforms to be recalculated in SVG
138557        https://bugs.webkit.org/show_bug.cgi?id=77179
138558
138559        Reviewed by Nikolas Zimmermann.
138560
138561        Introduce a local variable to store the element's local-to-parent
138562        transformation matrix in, removing the need for the const_cast and
138563        stopping us from modifying any matrices elsewhere.
138564
138565        Test: svg/custom/intersection-list-transforms.svg
138566
138567        * rendering/svg/RenderSVGModelObject.cpp:
138568        (WebCore::getElementCTM):
138569
1385702012-02-01  Vsevolod Vlasov  <vsevik@chromium.org>
138571
138572        Web Inspector: [InspectorIndexedDB] Add tests for database names and database structure requests.
138573        https://bugs.webkit.org/show_bug.cgi?id=77439
138574
138575        Reviewed by Pavel Feldman.
138576
138577        Tests: http/tests/inspector/indexeddb/database-names.html
138578               http/tests/inspector/indexeddb/database-structure.html
138579
138580        * inspector/front-end/IndexedDBModel.js:
138581        (WebInspector.IndexedDBModel.prototype.refreshDatabase):
138582
1385832012-01-31  Vsevolod Vlasov  <vsevik@chromium.org>
138584
138585        Web Inspector: Scripts navigator becomes empty after "show folders" settings change.
138586        https://bugs.webkit.org/show_bug.cgi?id=77441
138587
138588        Reviewed by Pavel Feldman.
138589
138590        * inspector/front-end/ScriptsNavigator.js:
138591        (WebInspector.ScriptsNavigator.prototype._reset):
138592        * inspector/front-end/utilities.js:
138593
1385942012-02-01  Shawn Singh  <shawnsingh@chromium.org>
138595
138596        Fix the semantics of passing contentsVisible flag to GraphicsLayers
138597        https://bugs.webkit.org/show_bug.cgi?id=76975
138598
138599        Reviewed by Simon Fraser.
138600
138601        This patch is covered by existing tests, in particular
138602        compositing/visibility/layer-visible-content.html; its
138603        expectations are rebaselined.
138604
138605        * rendering/RenderLayerBacking.cpp:
138606        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
138607
1386082012-02-01  Philippe Normand  <pnormand@igalia.com>
138609
138610        Unreviewed, another GTK build fix after r106446.
138611
138612        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
138613        Restore webKitWebSrcGetProtocols as it was before r106446.
138614
1386152012-02-01  Philippe Normand  <pnormand@igalia.com>
138616
138617        Unreviewed, GTK build fix after r106446.
138618
138619        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
138620
1386212012-02-01  Sheriff Bot  <webkit.review.bot@gmail.com>
138622
138623        Unreviewed, rolling out r106432.
138624        http://trac.webkit.org/changeset/106432
138625        https://bugs.webkit.org/show_bug.cgi?id=77529
138626
138627        it breaks tests (Requested by shinyak on #webkit).
138628
138629        * dom/Element.cpp:
138630        (WebCore::Element::attach):
138631        * dom/ShadowRoot.cpp:
138632        (WebCore::ShadowRoot::recalcShadowTreeStyle):
138633        * dom/ShadowRoot.h:
138634        (ShadowRoot):
138635        * html/shadow/HTMLContentElement.cpp:
138636        (WebCore::HTMLContentElement::attach):
138637        (WebCore::HTMLContentElement::detach):
138638
1386392012-02-01  Hayato Ito  <hayato@chromium.org>
138640
138641        Remove unnecessary [OldStyleObjC] from ShadowRoot.idl.
138642        https://bugs.webkit.org/show_bug.cgi?id=77516
138643
138644        Reviewed by Kentaro Hara.
138645
138646        No new tests. No change in behavior.
138647
138648        * dom/ShadowRoot.idl:
138649
1386502012-01-26  Philippe Normand  <pnormand@igalia.com>
138651
138652        [GStreamer] 0.11 webkitwebsrc
138653        https://bugs.webkit.org/show_bug.cgi?id=77086
138654
138655        Port the webkitwebsrc element to GStreamer 0.11 APIs.
138656
138657        Reviewed by Gustavo Noronha Silva.
138658
138659        No new tests, existing http media layout tests should cover this.
138660
138661        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
138662        (webkit_web_src_class_init):
138663
1386642012-01-31  Hans Wennborg  <hans@chromium.org>
138665
138666        Speech Input: Report speech element rect relative to window rather than frame
138667        https://bugs.webkit.org/show_bug.cgi?id=76443
138668
138669        Reviewed by Darin Fisher.
138670
138671        When requesting speech input, report the speech element rect relative
138672        to the window rather than the frame. The embedder will typically use
138673        this position to show a bubble indicating that speech recognition is
138674        in progress.
138675
138676        Test: fast/speech/bubble-position.html
138677
138678        * html/shadow/TextControlInnerElements.cpp:
138679        (WebCore::InputFieldSpeechButtonElement::startSpeechInput):
138680
1386812012-01-31  Andreas Kling  <awesomekling@apple.com>
138682
138683        Make elements that don't have attributes smaller.
138684        <http://webkit.org/b/76876>
138685
138686        Reviewed by Sam Weinig and Antti Koivisto.
138687
138688        Move the inline style declaration from StyledElement to ElementAttributeData, since having
138689        an inline style declaration also implies having a style attribute on the element.
138690        This saves one CPU word per element that has no attributes.
138691
138692        This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
138693        HTML5 spec at <http://whatwg.org/c>.
138694
138695        This was rolled out once because of a performance regression which has been averted this
138696        time around by adding an Element::ensureAttributeMap() so we can force creation of the
138697        NamedNodeMap without also serializing the inline style for the "style" attribute.
138698
138699        * dom/Element.h:
138700        (Element):
138701        (WebCore::Element::ensureAttributeMap):
138702        (WebCore):
138703        * dom/ElementAttributeData.h:
138704        (ElementAttributeData):
138705        * dom/NamedNodeMap.cpp:
138706        (WebCore::NamedNodeMap::ensureInlineStyleDecl):
138707        (WebCore):
138708        (WebCore::NamedNodeMap::destroyInlineStyleDecl):
138709        * dom/NamedNodeMap.h:
138710        (WebCore::NamedNodeMap::inlineStyleDecl):
138711        (NamedNodeMap):
138712        * dom/StyledElement.cpp:
138713        (WebCore::StyledElement::addSubresourceAttributeURLs):
138714        * dom/StyledElement.h:
138715        (WebCore::StyledElement::inlineStyleDecl):
138716        (WebCore::StyledElement::ensureInlineStyleDecl):
138717        (StyledElement):
138718        (WebCore::StyledElement::destroyInlineStyleDecl):
138719
1387202012-01-31  Hayato Ito  <hayato@chromium.org>
138721
138722        Add APIs, getElementsByXXX family, to ShadowRoot IDL.
138723        https://bugs.webkit.org/show_bug.cgi?id=77323
138724
138725        Reviewed by Dimitri Glazkov.
138726
138727        Add APIs (getElementById, getElemesntByTagName, getElementsByClassName and getElementsByTagNameNS)
138728        to ShadowRoot IDL.
138729
138730        * dom/ShadowRoot.idl:
138731
1387322012-01-31  Shinya Kawanaka  <shinyak@google.com>
138733
138734        Content element should be able to be dynamically added/removed/replaced in a shadow tree.
138735        https://bugs.webkit.org/show_bug.cgi?id=76611
138736
138737        Reviewed by Hajime Morita.
138738
138739        When a content element is added/removed/replaced in a shadow tree, we have to recreate
138740        the shadow tree to recalculate inclusions of content elements. Currently we didn't recalculate it
138741        when content element is removed. (When added, it is recalculated.)
138742        This patch enables us to recalcurate the shadow tree when content element is removed.
138743
138744        Test: fast/dom/shadow/content-element-move.html
138745
138746        * dom/Element.cpp:
138747        (WebCore::Element::attach):
138748          If a shadow root exists, attaches shadow tree before attaching child elements.
138749        * dom/ShadowRoot.cpp:
138750        (WebCore::ShadowRoot::recalcShadowTreeStyle):
138751          Recalculates light children and shadow tree.
138752        (WebCore::ShadowRoot::reattachHostChildrenAndShadow):
138753          Detaches shadow tree and host light children, and attaches them again.
138754        * dom/ShadowRoot.h:
138755          Added a flag to recalculate shadow tree.
138756        (WebCore::ShadowRoot::setNeedsShadowTreeStyleRecalc):
138757        (WebCore::ShadowRoot::clearNeedsShadowTreeStyleRecalc):
138758        (WebCore::ShadowRoot::needsShadowTreeStyleRecalc):
138759        * html/shadow/HTMLContentElement.cpp:
138760        (WebCore::HTMLContentElement::attach):
138761          Does not need to detach included elements, because they are not attached in ContainerNode anymore.
138762        (WebCore::HTMLContentElement::detach):
138763          When a content element detached, reattaches a shadow tree.
138764
1387652012-01-31  Joe Thomas  <joethomas@motorola.com>
138766
138767        https://bugs.webkit.org/show_bug.cgi?id=76801
138768        Listboxes incorrectly display contents when cleared and then re-populated.
138769
138770        Whenever the number of items in the listbox is less than the size of listbox (number of visible items the listbox can accomodate),
138771        we set the listbox scroll-offset to zero. The scroll-offset of the Scrollbar should also be set to 0 so that when the listbox is re-populated,
138772        scrollbar position and the content inside the listbox are in sync.
138773
138774        Reviewed by Andreas Kling.
138775
138776        Tests: fast/forms/listbox-clear-restore.html
138777
138778        * rendering/RenderListBox.cpp:
138779        (WebCore::RenderListBox::computeLogicalHeight): Setting the scroll-offset of the Scrollbar to 0 when scrollbar is not needed.
138780
1387812012-01-31  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
138782
138783        Unreviewed. Fix build break after r106373.
138784
138785        * CMakeLists.txt:
138786
1387872012-01-31  Adam Barth  <abarth@webkit.org>
138788
138789        HTMLPreloadScanner should understand the <base> element
138790        https://bugs.webkit.org/show_bug.cgi?id=77231
138791
138792        Reviewed by Eric Seidel.
138793
138794        Previously, the HTMLPreloadScanner would ignore the <base> element when
138795        preloading resources.  If there was a <base> tag, this could cause the
138796        preload scanner to make a bunch of useless requests.
138797
138798        This patch teaches the preload scanner to use <base> tags to better
138799        predict which URLs will be used by the document.
138800
138801        Tests: fast/preloader/first-base-tag-scanned-wins.html
138802               fast/preloader/first-base-tag-wins.html
138803               fast/preloader/understands-base-tag.html
138804
138805        * dom/Document.cpp:
138806        (WebCore::Document::completeURL):
138807        (WebCore):
138808        * dom/Document.h:
138809        (Document):
138810        (WebCore::Document::baseElementURL):
138811        * html/parser/HTMLPreloadScanner.cpp:
138812        (WebCore::HTMLNames::PreloadTask::PreloadTask):
138813        (WebCore::HTMLNames::PreloadTask::processAttributes):
138814        (WebCore::HTMLNames::PreloadTask::preload):
138815        (WebCore::HTMLNames::PreloadTask::baseElementHref):
138816        (PreloadTask):
138817        (WebCore::HTMLPreloadScanner::scan):
138818        (WebCore::HTMLPreloadScanner::processToken):
138819        (WebCore::HTMLPreloadScanner::updatePredictedBaseElementURL):
138820        (WebCore):
138821        * html/parser/HTMLPreloadScanner.h:
138822        (HTMLPreloadScanner):
138823
1388242012-01-31  Raymond Liu  <raymond.liu@intel.com>
138825
138826        Dynamic allocate AudioBus with required number of channels for AudioNodeInput
138827        https://bugs.webkit.org/show_bug.cgi?id=76516
138828
138829        Reviewed by Kenneth Russell.
138830
138831        No new tests required.
138832
138833        * webaudio/AudioBasicProcessorNode.cpp:
138834        (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
138835        * webaudio/AudioChannelMerger.cpp:
138836        (WebCore::AudioChannelMerger::checkNumberOfChannelsForInput):
138837        * webaudio/AudioGainNode.cpp:
138838        (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
138839        * webaudio/AudioNode.cpp:
138840        (WebCore::AudioNode::checkNumberOfChannelsForInput):
138841        * webaudio/AudioNode.h:
138842        * webaudio/AudioNodeInput.cpp:
138843        (WebCore::AudioNodeInput::AudioNodeInput):
138844        (WebCore::AudioNodeInput::updateInternalBus):
138845        (WebCore::AudioNodeInput::internalSummingBus):
138846        * webaudio/AudioNodeInput.h:
138847
1388482012-01-31  Alexey Proskuryakov  <ap@apple.com>
138849
138850        REGRESSION (WebKit2): event.keyCode is always zero when typing in Russian
138851        https://bugs.webkit.org/show_bug.cgi?id=77473
138852        <rdar://problem/10751357>
138853
138854        Reviewed by Darin Adler.
138855
138856        Test: platform/mac/fast/events/non-roman-key-code.html
138857
138858        * WebCore.exp.in:
138859        * platform/mac/PlatformEventFactoryMac.h:
138860        * platform/mac/PlatformEventFactoryMac.mm:
138861        (WebCore::keyIdentifierForKeyEvent):
138862        (WebCore::windowsKeyCodeForKeyEvent):
138863        Export functions for reuse in WebKit2. I did not attempt any larger refactoring at this time.
138864
1388652012-01-31  Gregg Tavares  <gman@google.com>
138866
138867        Make WebGL put synthesized errors in the JS console
138868        https://bugs.webkit.org/show_bug.cgi?id=77267
138869
138870        Reviewed by Kenneth Russell.
138871
138872        No new functionality so no new tests.
138873
138874        * html/canvas/WebGLCompressedTextures.cpp:
138875        (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
138876        (WebCore::WebGLCompressedTextures::compressedTexImage2D):
138877        (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
138878        * html/canvas/WebGLCompressedTextures.h:
138879        (WebGLCompressedTextures):
138880        * html/canvas/WebGLDebugShaders.cpp:
138881        (WebCore::WebGLDebugShaders::getTranslatedShaderSource):
138882        * html/canvas/WebGLRenderingContext.cpp:
138883        (WebCore::WebGLRenderingContext::activeTexture):
138884        (WebCore::WebGLRenderingContext::attachShader):
138885        (WebCore::WebGLRenderingContext::bindAttribLocation):
138886        (WebCore::WebGLRenderingContext::checkObjectToBeBound):
138887        (WebCore::WebGLRenderingContext::bindBuffer):
138888        (WebCore::WebGLRenderingContext::bindFramebuffer):
138889        (WebCore::WebGLRenderingContext::bindRenderbuffer):
138890        (WebCore::WebGLRenderingContext::bindTexture):
138891        (WebCore::WebGLRenderingContext::blendEquation):
138892        (WebCore::WebGLRenderingContext::blendEquationSeparate):
138893        (WebCore::WebGLRenderingContext::blendFunc):
138894        (WebCore::WebGLRenderingContext::blendFuncSeparate):
138895        (WebCore::WebGLRenderingContext::bufferData):
138896        (WebCore::WebGLRenderingContext::bufferSubData):
138897        (WebCore::WebGLRenderingContext::checkFramebufferStatus):
138898        (WebCore::WebGLRenderingContext::clear):
138899        (WebCore::WebGLRenderingContext::compileShader):
138900        (WebCore::WebGLRenderingContext::compressedTexImage2D):
138901        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
138902        (WebCore::WebGLRenderingContext::copyTexImage2D):
138903        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
138904        (WebCore::WebGLRenderingContext::createShader):
138905        (WebCore::WebGLRenderingContext::deleteObject):
138906        (WebCore::WebGLRenderingContext::depthRange):
138907        (WebCore::WebGLRenderingContext::detachShader):
138908        (WebCore::WebGLRenderingContext::disable):
138909        (WebCore::WebGLRenderingContext::disableVertexAttribArray):
138910        (WebCore::WebGLRenderingContext::validateWebGLObject):
138911        (WebCore::WebGLRenderingContext::drawArrays):
138912        (WebCore::WebGLRenderingContext::drawElements):
138913        (WebCore::WebGLRenderingContext::enable):
138914        (WebCore::WebGLRenderingContext::enableVertexAttribArray):
138915        (WebCore::WebGLRenderingContext::framebufferRenderbuffer):
138916        (WebCore::WebGLRenderingContext::framebufferTexture2D):
138917        (WebCore::WebGLRenderingContext::generateMipmap):
138918        (WebCore::WebGLRenderingContext::getActiveAttrib):
138919        (WebCore::WebGLRenderingContext::getActiveUniform):
138920        (WebCore::WebGLRenderingContext::getAttachedShaders):
138921        (WebCore::WebGLRenderingContext::getAttribLocation):
138922        (WebCore::WebGLRenderingContext::getBufferParameter):
138923        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter):
138924        (WebCore::WebGLRenderingContext::getParameter):
138925        (WebCore::WebGLRenderingContext::getProgramParameter):
138926        (WebCore::WebGLRenderingContext::getProgramInfoLog):
138927        (WebCore::WebGLRenderingContext::getRenderbufferParameter):
138928        (WebCore::WebGLRenderingContext::getShaderParameter):
138929        (WebCore::WebGLRenderingContext::getShaderInfoLog):
138930        (WebCore::WebGLRenderingContext::getShaderSource):
138931        (WebCore::WebGLRenderingContext::getTexParameter):
138932        (WebCore::WebGLRenderingContext::getUniform):
138933        (WebCore::WebGLRenderingContext::getUniformLocation):
138934        (WebCore::WebGLRenderingContext::getVertexAttrib):
138935        (WebCore::WebGLRenderingContext::hint):
138936        (WebCore::WebGLRenderingContext::isEnabled):
138937        (WebCore::WebGLRenderingContext::linkProgram):
138938        (WebCore::WebGLRenderingContext::pixelStorei):
138939        (WebCore::WebGLRenderingContext::readPixels):
138940        (WebCore::WebGLRenderingContext::renderbufferStorage):
138941        (WebCore::WebGLRenderingContext::scissor):
138942        (WebCore::WebGLRenderingContext::shaderSource):
138943        (WebCore::WebGLRenderingContext::stencilFunc):
138944        (WebCore::WebGLRenderingContext::stencilFuncSeparate):
138945        (WebCore::WebGLRenderingContext::stencilMaskSeparate):
138946        (WebCore::WebGLRenderingContext::texImage2DBase):
138947        (WebCore::WebGLRenderingContext::texImage2DImpl):
138948        (WebCore::WebGLRenderingContext::texImage2D):
138949        (WebCore::WebGLRenderingContext::videoFrameToImage):
138950        (WebCore::WebGLRenderingContext::texParameter):
138951        (WebCore::WebGLRenderingContext::texSubImage2DBase):
138952        (WebCore::WebGLRenderingContext::texSubImage2DImpl):
138953        (WebCore::WebGLRenderingContext::texSubImage2D):
138954        (WebCore::WebGLRenderingContext::uniform1f):
138955        (WebCore::WebGLRenderingContext::uniform1fv):
138956        (WebCore::WebGLRenderingContext::uniform1i):
138957        (WebCore::WebGLRenderingContext::uniform1iv):
138958        (WebCore::WebGLRenderingContext::uniform2f):
138959        (WebCore::WebGLRenderingContext::uniform2fv):
138960        (WebCore::WebGLRenderingContext::uniform2i):
138961        (WebCore::WebGLRenderingContext::uniform2iv):
138962        (WebCore::WebGLRenderingContext::uniform3f):
138963        (WebCore::WebGLRenderingContext::uniform3fv):
138964        (WebCore::WebGLRenderingContext::uniform3i):
138965        (WebCore::WebGLRenderingContext::uniform3iv):
138966        (WebCore::WebGLRenderingContext::uniform4f):
138967        (WebCore::WebGLRenderingContext::uniform4fv):
138968        (WebCore::WebGLRenderingContext::uniform4i):
138969        (WebCore::WebGLRenderingContext::uniform4iv):
138970        (WebCore::WebGLRenderingContext::uniformMatrix2fv):
138971        (WebCore::WebGLRenderingContext::uniformMatrix3fv):
138972        (WebCore::WebGLRenderingContext::uniformMatrix4fv):
138973        (WebCore::WebGLRenderingContext::useProgram):
138974        (WebCore::WebGLRenderingContext::validateProgram):
138975        (WebCore::WebGLRenderingContext::vertexAttrib1f):
138976        (WebCore::WebGLRenderingContext::vertexAttrib1fv):
138977        (WebCore::WebGLRenderingContext::vertexAttrib2f):
138978        (WebCore::WebGLRenderingContext::vertexAttrib2fv):
138979        (WebCore::WebGLRenderingContext::vertexAttrib3f):
138980        (WebCore::WebGLRenderingContext::vertexAttrib3fv):
138981        (WebCore::WebGLRenderingContext::vertexAttrib4f):
138982        (WebCore::WebGLRenderingContext::vertexAttrib4fv):
138983        (WebCore::WebGLRenderingContext::vertexAttribPointer):
138984        (WebCore::WebGLRenderingContext::viewport):
138985        (WebCore::WebGLRenderingContext::forceLostContext):
138986        (WebCore::WebGLRenderingContext::loseContextImpl):
138987        (WebCore::WebGLRenderingContext::forceRestoreContext):
138988        (WebCore::WebGLRenderingContext::validateTextureBinding):
138989        (WebCore::WebGLRenderingContext::validateLocationLength):
138990        (WebCore::WebGLRenderingContext::validateSize):
138991        (WebCore::WebGLRenderingContext::validateString):
138992        (WebCore::WebGLRenderingContext::validateTexFuncFormatAndType):
138993        (WebCore::WebGLRenderingContext::validateTexFuncLevel):
138994        (WebCore::WebGLRenderingContext::validateTexFuncParameters):
138995        (WebCore::WebGLRenderingContext::validateTexFuncData):
138996        (WebCore::WebGLRenderingContext::validateDrawMode):
138997        (WebCore::WebGLRenderingContext::validateStencilSettings):
138998        (WebCore::WebGLRenderingContext::validateStencilFunc):
138999        (WebCore::WebGLRenderingContext::validateFramebufferFuncParameters):
139000        (WebCore::WebGLRenderingContext::validateBlendEquation):
139001        (WebCore::WebGLRenderingContext::validateBlendFuncFactors):
139002        (WebCore::WebGLRenderingContext::validateCapability):
139003        (WebCore::WebGLRenderingContext::validateUniformParameters):
139004        (WebCore::WebGLRenderingContext::validateUniformMatrixParameters):
139005        (WebCore::WebGLRenderingContext::validateBufferDataParameters):
139006        (WebCore::WebGLRenderingContext::validateHTMLImageElement):
139007        (WebCore::WebGLRenderingContext::vertexAttribfImpl):
139008        (WebCore::WebGLRenderingContext::vertexAttribfvImpl):
139009        (WebCore::WebGLRenderingContext::maybeRestoreContext):
139010        (WebCore):
139011        (WebCore::WebGLRenderingContext::synthesizeGLError):
139012        * html/canvas/WebGLRenderingContext.h:
139013        (WebGLRenderingContext):
139014
1390152012-01-31  Raymond Liu  <raymond.liu@intel.com>
139016
139017        Clean up m_processLock logic in AudioBasicProcessorNode and AudioGainNode
139018        https://bugs.webkit.org/show_bug.cgi?id=76772
139019
139020        Reviewed by Kenneth Russell.
139021
139022        No new tests required.
139023
139024        * webaudio/AudioBasicProcessorNode.cpp:
139025        (WebCore::AudioBasicProcessorNode::process):
139026        (WebCore::AudioBasicProcessorNode::checkNumberOfChannelsForInput):
139027        * webaudio/AudioBasicProcessorNode.h:
139028        * webaudio/AudioGainNode.cpp:
139029        (WebCore::AudioGainNode::process):
139030        (WebCore::AudioGainNode::checkNumberOfChannelsForInput):
139031        * webaudio/AudioGainNode.h:
139032        (AudioGainNode):
139033
1390342012-01-31  Adam Klein  <adamk@chromium.org>
139035
139036        ProcessingInstruction should not be a ContainerNode
139037        https://bugs.webkit.org/show_bug.cgi?id=75141
139038
139039        Reviewed by Darin Adler.
139040
139041        Per the DOM spec, ProcessingInstruction can't have any children.
139042        And the WebCore behavior already matches the spec by always returning
139043        false for childTypeAllowed(). This change simplifies
139044        ProcessingInstruction's implementation by making it subclass Node
139045        instead of ContainerNode.
139046
139047        Test: fast/dom/processing-instruction-appendChild-exceptions.xhtml
139048
139049        * dom/ContainerNode.cpp: Moved dispatchBeforeLoadEvent up to Node.
139050        * dom/ContainerNode.h:
139051        * dom/Node.cpp:
139052        (WebCore::Node::dispatchBeforeLoadEvent): Moved up from ContainerNode
139053        since it's used both by ProcessingInstruction and various Element
139054        subclasses.
139055        * dom/Node.h:
139056        * dom/ProcessingInstruction.cpp:
139057        (WebCore::ProcessingInstruction::ProcessingInstruction): Call Node constructor.
139058        (WebCore::ProcessingInstruction::insertedIntoDocument): Call Node impl.
139059        (WebCore::ProcessingInstruction::removedFromDocument): ditto.
139060        (WebCore::ProcessingInstruction::finishParsingChildren): ditto.
139061        * dom/ProcessingInstruction.h:
139062
1390632012-01-31  Matthew Delaney  <mdelaney@apple.com>
139064
139065        Failing 2d.shadow.enable.off.2.html on Lion
139066        https://bugs.webkit.org/show_bug.cgi?id=77489
139067
139068        Reviewed by Dan Bernstein.
139069
139070        The canvas spec requires that shadows not be drawn under certain
139071        circumstances outlined here: http://www.whatwg.org/specs/web-apps/current-work/#shadows
139072        This patch adds in those checks which allows us to pass now (on Lion)
139073        the philip canvas test that was checking that constraint.
139074
139075        No new tests. Unskipping the test on Lion that this patch fixes.
139076
139077        * html/canvas/CanvasRenderingContext2D.cpp:
139078        (WebCore::CanvasRenderingContext2D::setAllAttributesToDefault):
139079        (WebCore::CanvasRenderingContext2D::setShadow):
139080        (WebCore::CanvasRenderingContext2D::applyShadow):
139081        (WebCore::CanvasRenderingContext2D::shouldDrawShadows):
139082        * html/canvas/CanvasRenderingContext2D.h:
139083        (CanvasRenderingContext2D):
139084
1390852012-01-31  Anders Carlsson  <andersca@apple.com>
139086
139087        TileCache::setNeedsDisplayInRect cleanup
139088        https://bugs.webkit.org/show_bug.cgi?id=77486
139089
139090        Reviewed by Andreas Kling.
139091
139092        * platform/graphics/ca/mac/TileCache.h:
139093        * platform/graphics/ca/mac/TileCache.mm:
139094        (WebCore::TileCache::setNeedsDisplayInRect):
139095        TileCache::tileLayerAtIndex can in the future return nil, so cope with that. Also, replace
139096        nested if statements with continue statements.
139097
139098        (WebCore::TileCache::getTileIndexRangeForRect):
139099        Rename this to better indicate that it returns a range of indices.
139100
1391012012-01-31  Dana Jansens  <danakj@chromium.org>
139102
139103        Add contains() test to Region
139104        https://bugs.webkit.org/show_bug.cgi?id=72294
139105
139106        Reviewed by Anders Carlsson.
139107
139108        * platform/graphics/Region.cpp:
139109        (WebCore::Region::contains):
139110        (WebCore):
139111        * platform/graphics/Region.h:
139112        (Region):
139113        (Shape):
139114        (WebCore::operator==):
139115        (WebCore):
139116
1391172012-01-31  Sami Kyostila  <skyostil@chromium.org>
139118
139119        [chromium] Compositor debug borders are not scaled correctly
139120        https://bugs.webkit.org/show_bug.cgi?id=77468
139121
139122        Use CCLayerImpl::contentBounds() instead of CCLayerImpl::bounds() to calculate debug
139123        border geometry so that the borders are properly scaled.
139124
139125        Reviewed by James Robinson.
139126
139127        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
139128        (WebCore::CCLayerImpl::appendDebugBorderQuad):
139129
1391302012-01-31  Sheriff Bot  <webkit.review.bot@gmail.com>
139131
139132        Unreviewed, rolling out r106376.
139133        http://trac.webkit.org/changeset/106376
139134        https://bugs.webkit.org/show_bug.cgi?id=77481
139135
139136        Broke WebGLLayerChromiumTest in webkit_unit_tests (Requested
139137        by kbr_google on #webkit).
139138
139139        * platform/graphics/gpu/DrawingBuffer.cpp:
139140        (WebCore):
139141        (WebCore::DrawingBuffer::reset):
139142
1391432012-01-31  Mihnea Ovidenie  <mihnea@adobe.com>
139144
139145        [CSSRegions]Reduce the cases when the box style in region is computed
139146        https://bugs.webkit.org/show_bug.cgi?id=77446
139147
139148        Reviewed by David Hyatt.
139149
139150        Covered by existing region style tests.
139151
139152        * rendering/RenderRegion.cpp:
139153        (WebCore::RenderRegion::setRegionBoxesRegionStyle):
139154        (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
139155
1391562012-01-31  Anders Carlsson  <andersca@apple.com>
139157
139158        Put tiles in a HashMap
139159        https://bugs.webkit.org/show_bug.cgi?id=77480
139160
139161        Reviewed by Antti Koivisto.
139162
139163        Put tiles in a hash map keyed off the tile index.
139164
139165        * platform/graphics/ca/mac/TileCache.h:
139166        Shuffle member variables around so the order makes more sense.
139167        Add the tile map.
139168
139169        * platform/graphics/ca/mac/TileCache.mm:
139170        (WebCore::TileCache::TileCache):
139171        Update member initializers.
139172
139173        (WebCore::TileCache::setNeedsDisplayInRect):
139174        Call tileLayerAtIndex instead of tileLayerAtPosition.
139175
139176        (WebCore::TileCache::setAcceleratesDrawing):
139177        (WebCore::TileCache::setTileDebugBorderWidth):
139178        (WebCore::TileCache::setTileDebugBorderColor):
139179        Iterate over the hash map instead of the sublayers.
139180
139181        (WebCore::TileCache::resizeTileGrid):
139182        Add the created layers to the map.
139183
139184        (WebCore::TileCache::tileLayerAtIndex):
139185        Rename from tileLayerAtPoint to better reflect that this member function
139186        returns a tile layer at the given index and not the given point.
139187
1391882012-01-31  Antti Koivisto  <antti@apple.com>
139189
139190        Make CSSOM style() return CSSStyleDeclaration*
139191        https://bugs.webkit.org/show_bug.cgi?id=77475
139192
139193        Reviewed by Anders Carlsson
139194
139195        CSSStyleRule::style() and some other places return CSSMutableStyleDeclaration. 
139196        They should return the plain CSSOM type instead.
139197        
139198        CSSMutableStyleDeclaration* should be available through non-CSSOM function.
139199
139200        * css/CSSFontFaceRule.h:
139201        (WebCore::CSSFontFaceRule::style):
139202        (WebCore::CSSFontFaceRule::declaration):
139203        * css/CSSFontSelector.cpp:
139204        (WebCore::CSSFontSelector::addFontFaceRule):
139205        * css/CSSStyleRule.h:
139206        (WebCore::CSSStyleRule::style):
139207        (WebCore::CSSStyleRule::declaration):
139208        * css/CSSStyleSelector.cpp:
139209        (WebCore::CSSStyleSelector::styleForKeyframe):
139210        * css/WebKitCSSKeyframeRule.h:
139211        (WebCore):
139212        (WebCore::WebKitCSSKeyframeRule::style):
139213        (WebCore::WebKitCSSKeyframeRule::declaration):
139214        (WebKitCSSKeyframeRule):
139215        * editing/EditingStyle.cpp:
139216        (WebCore::styleFromMatchedRulesForElement):
139217        * inspector/InspectorStyleSheet.cpp:
139218        (WebCore::InspectorStyleSheet::revalidateStyle):
139219        * page/PageSerializer.cpp:
139220        (WebCore::PageSerializer::retrieveResourcesForCSSRule):
139221        * svg/SVGFontFaceElement.cpp:
139222        (WebCore::SVGFontFaceElement::parseMappedAttribute):
139223        (WebCore::SVGFontFaceElement::fontFamily):
139224        (WebCore::SVGFontFaceElement::rebuildFontFace):
139225
1392262012-01-31  Scott Graham  <scottmg@chromium.org>
139227
139228        [Chromium] Remove references to gyp cygwin build target
139229        https://bugs.webkit.org/show_bug.cgi?id=77253
139230
139231        Reviewed by Julien Chaffraix.
139232
139233        Target dependency is no longer required, it's done earlier in the
139234        build process.
139235
139236        * WebCore.gyp/WebCore.gyp:
139237
1392382012-01-31  Jon Lee  <jonlee@apple.com>
139239
139240        Hidden form elements do not save their state prior to form submission
139241        https://bugs.webkit.org/show_bug.cgi?id=77391
139242        <rdar://problem/10563108>
139243
139244        Reviewed by Brady Eidson.
139245
139246        Test: fast/forms/state-restore-hidden.html
139247
139248        * html/HiddenInputType.cpp: Teach hidden inputs to save and restore their state.
139249        (WebCore::HiddenInputType::saveFormControlState):
139250        (WebCore::HiddenInputType::restoreFormControlState):
139251        * html/HiddenInputType.h:
139252        (HiddenInputType):
139253
1392542012-01-31  Joshua Bell  <jsbell@chromium.org>
139255
139256        IndexedDB: IDBCursor.update() should raise exception if key changed
139257        https://bugs.webkit.org/show_bug.cgi?id=76952
139258
139259        Move the test from the async task to the synchronous call, per spec. Also re-ordered the tests
139260        done during the synchronous call and the asynchronous task to follow the spec order.
139261
139262        Reviewed by Tony Chang.
139263
139264        Tests: storage/indexeddb/cursor-update.html
139265
139266        * storage/IDBObjectStoreBackendImpl.cpp:
139267        (WebCore::IDBObjectStoreBackendImpl::put): Added check during update() call, order checks per spec.
139268        (WebCore::IDBObjectStoreBackendImpl::putInternal): Move effective key calculation inline.
139269        * storage/IDBObjectStoreBackendImpl.h: Removed selectKeyForPut method.
139270
1392712012-01-31  Anders Carlsson  <andersca@apple.com>
139272
139273        Inform the tile cache whenever the visible rect changes
139274        https://bugs.webkit.org/show_bug.cgi?id=77470
139275
139276        Reviewed by Andreas Kling.
139277
139278        * platform/graphics/GraphicsLayer.h:
139279        (WebCore::GraphicsLayer::visibleRectChanged):
139280        Add empty function.
139281
139282        * platform/graphics/ca/GraphicsLayerCA.cpp:
139283        (WebCore::GraphicsLayerCA::visibleRectChanged):
139284        Call through to the PlatformCALayer.
139285
139286        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
139287        (PlatformCALayer::visibleRectChanged):
139288        Call through to the underlying WebTileCacheLayer.
139289
139290        * platform/graphics/ca/mac/TileCache.mm:
139291        (WebCore::TileCache::visibleRectChanged):
139292        Add empty stub.
139293
139294        (WebCore::TileCache::visibleRect):
139295        Add new (currently unused) helper function that returns the visible rect of the
139296        tile cache layer.
139297
139298        * platform/graphics/ca/mac/WebTileCacheLayer.h:
139299        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
139300        (-[WebTileCacheLayer visibleRectChanged]):
139301        Call through to the TielCache object.
139302
139303        * platform/graphics/ca/win/PlatformCALayerWin.cpp:
139304        (PlatformCALayer::visibleRectChanged):
139305        Add stub.
139306
139307        * rendering/RenderLayerCompositor.cpp:
139308        (WebCore::RenderLayerCompositor::frameViewDidScroll):
139309        Call GraphicsLayer::visibleRectChanged.
139310
1393112012-01-31  Antti Koivisto  <antti@apple.com>
139312
139313        Remove CSSStyleDeclaration isElementStyleDeclaration bit
139314        https://bugs.webkit.org/show_bug.cgi?id=77460
139315
139316        Reviewed by Andreas Kling.
139317
139318        Inline style declaration is now the only type of style declaration with element parent.
139319        We can remove the bit and the associated logic.
139320
139321        * bindings/js/JSDOMBinding.h:
139322        (WebCore::root):
139323        * css/CSSMutableStyleDeclaration.cpp:
139324        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
139325        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
139326        * css/CSSMutableStyleDeclaration.h:
139327        (WebCore::CSSMutableStyleDeclaration::createInline):
139328        (CSSMutableStyleDeclaration):
139329        * css/CSSStyleDeclaration.cpp:
139330        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
139331        (WebCore):
139332        (WebCore::CSSStyleDeclaration::parentStyleSheet):
139333        * css/CSSStyleDeclaration.h:
139334        (WebCore::CSSStyleDeclaration::parentRule):
139335        (WebCore::CSSStyleDeclaration::clearParentRule):
139336        (WebCore::CSSStyleDeclaration::parentElement):
139337        (WebCore::CSSStyleDeclaration::clearParentElement):
139338        (CSSStyleDeclaration):
139339
1393402012-01-31  Dana Jansens  <danakj@chromium.org>
139341
139342        [chromium] Compute occlusion during paint loop
139343        https://bugs.webkit.org/show_bug.cgi?id=76858
139344
139345        Reviewed by James Robinson.
139346
139347        New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
139348
139349        * platform/graphics/FloatRect.cpp:
139350        (WebCore::enclosedIntRect):
139351        (WebCore):
139352        * platform/graphics/FloatRect.h:
139353        (WebCore):
139354        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
139355        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
139356        * platform/graphics/chromium/Canvas2DLayerChromium.h:
139357        (Canvas2DLayerChromium):
139358        * platform/graphics/chromium/ContentLayerChromium.cpp:
139359        (WebCore::ContentLayerChromium::paintContentsIfDirty):
139360        * platform/graphics/chromium/ContentLayerChromium.h:
139361        (ContentLayerChromium):
139362        * platform/graphics/chromium/ImageLayerChromium.cpp:
139363        (WebCore::ImageLayerChromium::paintContentsIfDirty):
139364        * platform/graphics/chromium/ImageLayerChromium.h:
139365        (ImageLayerChromium):
139366        * platform/graphics/chromium/LayerChromium.cpp:
139367        (WebCore::LayerChromium::contentToScreenSpaceTransform):
139368        (WebCore):
139369        (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
139370        (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
139371        * platform/graphics/chromium/LayerChromium.h:
139372        (WebCore):
139373        (WebCore::LayerChromium::paintContentsIfDirty):
139374        (LayerChromium):
139375        * platform/graphics/chromium/RenderSurfaceChromium.h:
139376        (RenderSurfaceChromium):
139377        * platform/graphics/chromium/TiledLayerChromium.cpp:
139378        (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
139379        * platform/graphics/chromium/TiledLayerChromium.h:
139380        (WebCore):
139381        ():
139382        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
139383        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
139384        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
139385        (RenderSurfaceRegion):
139386        (WebCore):
139387        (WebCore::pushTargetRenderSurfaceRegion):
139388        (WebCore::popAndPushTargetRenderSurfaceRegion):
139389        (WebCore::CCLayerTreeHost::paintLayerContents):
139390        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
139391        (WebCore):
139392        ():
139393        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
139394
1393952012-01-31  John Bates  <jbates@google.com>
139396
139397        [Chromium] Add chromium-style tracing support
139398        https://bugs.webkit.org/show_bug.cgi?id=76885
139399
139400        Reviewed by Darin Fisher.
139401
139402        This code enables WebKit trace events to pass through more data to the
139403        chromium platform tracing API and generally to use the full tracing
139404        API provided by chromium.
139405
139406        * bindings/v8/V8Proxy.cpp:
139407        (WebCore::V8Proxy::evaluate): Replace old tracing API.
139408        * page/Console.cpp:
139409        (WebCore::Console::time): Replace old tracing API.
139410        (WebCore::Console::timeEnd): Replace old tracing API.
139411        * platform/chromium/PlatformSupport.h:
139412        * platform/chromium/TraceEvent.h:
139413        (WebCore::TraceEvent::TraceID::TraceID):
139414        (WebCore::TraceEvent::TraceID::data):
139415        (WebCore::TraceEvent::TraceStringWithCopy::TraceStringWithCopy):
139416        (WebCore::TraceEvent::TraceStringWithCopy::operator const char* ):
139417        (WebCore::TraceEvent::setTraceValue):
139418        (WebCore::TraceEvent::addTraceEvent):
139419        (WebCore::TraceEvent::TraceEndOnScopeClose::TraceEndOnScopeClose):
139420        (WebCore::TraceEvent::TraceEndOnScopeClose::~TraceEndOnScopeClose):
139421        (WebCore::TraceEvent::TraceEndOnScopeClose::initialize):
139422        (WebCore::TraceEvent::TraceEndOnScopeClose::addEventIfEnabled):
139423        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::TraceEndOnScopeCloseThreshold):
139424        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::~TraceEndOnScopeCloseThreshold):
139425        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::initialize):
139426        (WebCore::TraceEvent::TraceEndOnScopeCloseThreshold::addEventIfEnabled):
139427
1394282012-01-31  Ryosuke Niwa  <rniwa@webkit.org>
139429
139430        Crash in DeleteSelectionCommand::handleGeneralDelete when attempting to delete the start block
139431        https://bugs.webkit.org/show_bug.cgi?id=77077
139432
139433        Reviewed by Enrica Casucci.
139434
139435        The crash was caused by a missing null check after removing the position out of the start block.
139436        Fixed the bug by adding an early return.
139437
139438        Tests: editing/deleting/delete-start-block.html
139439               editing/selection/move-into-empty-root-inline-box.html
139440
139441        * editing/DeleteSelectionCommand.cpp:
139442        (WebCore::DeleteSelectionCommand::handleGeneralDelete):
139443
1394442012-01-31  Rafael Brandao  <rafael.lobo@openbossa.org>
139445
139446        HTMLIsIndexElement should not expose HTMLInputElement properties
139447        https://bugs.webkit.org/show_bug.cgi?id=76095
139448
139449        Reviewed by Eric Seidel.
139450
139451        This is a buildfix for r106373.
139452
139453        * DerivedSources.pri: Removed reference to HTMLIsIndexElement.idl
139454
1394552012-01-31  Yongsheng Zhu  <yongsheng.zhu@intel.com>
139456
139457        WebGL must allocate smaller drawing buffer when the allocation fails. 
139458        https://bugs.webkit.org/show_bug.cgi?id=76654
139459
139460        Reviewed by Kenneth Russell.
139461
139462        Test: fast/canvas/webgl/drawingbuffer-test.html
139463
139464        * platform/graphics/gpu/DrawingBuffer.cpp:
139465        (WebCore):
139466        (WebCore::DrawingBuffer::create):
139467        (WebCore::DrawingBuffer::reset):
139468
1394692012-01-25  Eric Seidel  <eric@webkit.org>
139470
139471        HTMLIsIndexElement should not expose HTMLInputElement properties
139472        https://bugs.webkit.org/show_bug.cgi?id=76095
139473
139474        Reviewed by Adam Barth.
139475
139476        document.createElement("isindex") should produce an HTMLUnknownElement
139477        per the HTML5 spec.  The parser automagically translates <isindex> into
139478        a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
139479
139480        This patch just removes our support for HTMLIsIndexElement.  The parser
139481        support was already in.  Having support for HTMLIsIndexElement was causing
139482        one of the IE TestCenter tests to fail.
139483
139484        Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
139485
139486        * DerivedSources.cpp:
139487        * DerivedSources.make:
139488        * DerivedSources.pri:
139489        * GNUmakefile.list.am:
139490        * Target.pri:
139491        * WebCore.exp.in:
139492        * WebCore.gypi:
139493        * WebCore.order:
139494        * WebCore.vcproj/WebCore.vcproj:
139495        * WebCore.xcodeproj/project.pbxproj:
139496        * bindings/gobject/GNUmakefile.am:
139497        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
139498        (WebKit::createHTMLElementWrapper):
139499        * bindings/objc/DOM.mm:
139500        (WebCore::createElementClassMap):
139501        * bindings/objc/DOMHTML.h:
139502        * bindings/objc/PublicDOMInterfaces.h:
139503        * html/HTMLElementsAllInOne.cpp:
139504        * html/HTMLIsIndexElement.cpp: Removed.
139505        * html/HTMLIsIndexElement.h: Removed.
139506        * html/HTMLIsIndexElement.idl: Removed.
139507        * html/HTMLTagNames.in:
139508        * page/DOMWindow.idl:
139509
1395102012-01-31  Alexis Menard  <alexis.menard@openbossa.org>
139511
139512        Unreviewed include cleanup.
139513
139514        Tested locally on Qt and Chromium port.
139515
139516        * dom/Node.cpp:
139517
1395182012-01-31  Arko Saha  <arko@motorola.com>
139519
139520        The spec renamed addTrack() to addTextTrack().
139521        https://bugs.webkit.org/show_bug.cgi?id=77381
139522
139523        Reviewed by Eric Carlson.
139524
139525        Renamed addTrack() to addTextTrack().
139526        Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/the-video-element.html#media-elements
139527
139528        * html/HTMLMediaElement.cpp:
139529        (WebCore::HTMLMediaElement::addTextTrack):
139530        * html/HTMLMediaElement.h:
139531        (WebCore::HTMLMediaElement::addTextTrack):
139532        * html/HTMLMediaElement.idl:
139533
1395342012-01-31  Peter Rybin  <peter.rybin@gmail.com>
139535
139536        Web Inspector: CodeGeneratorInspector.py: reimplement generated array types
139537        https://bugs.webkit.org/show_bug.cgi?id=77289
139538
139539        Reviewed by Vsevolod Vlasov.
139540
139541        Arrays are now rendered as a single template class. Its type-specific
139542        details are provided by an additional ArrayItemHelper class that is
139543        defined using C++ specialization technique.
139544
139545        * inspector/CodeGeneratorInspector.py:
139546        (RawTypes.String):
139547        (RawTypes.String.get_array_item_raw_c_type_text):
139548        (RawTypes.Int):
139549        (RawTypes.Int.get_array_item_raw_c_type_text):
139550        (RawTypes.Number):
139551        (RawTypes.Number.get_array_item_raw_c_type_text):
139552        (RawTypes.Bool):
139553        (RawTypes.Bool.get_array_item_raw_c_type_text):
139554        (RawTypes.Object):
139555        (RawTypes.Object.get_array_item_raw_c_type_text):
139556        (RawTypes.Any):
139557        (RawTypes.Any.get_array_item_raw_c_type_text):
139558        (RawTypes.Array):
139559        (RawTypes.Array.get_array_item_raw_c_type_text):
139560        (RawTypes):
139561        (TypeBindings.create_type_declaration_.EnumBinding):
139562        (TypeBindings.create_type_declaration_.EnumBinding.get_array_item_c_type_text):
139563        (TypeBindings.create_type_declaration_.PlainString):
139564        (TypeBindings.create_type_declaration_.PlainString.get_array_item_c_type_text):
139565        (TypeBindings.create_type_declaration_.TypedefString):
139566        (TypeBindings.create_type_declaration_.TypedefString.get_array_item_c_type_text):
139567        (StructItemTraits):
139568        (get_array_item_c_type_text):
139569        (PlainObjectBinding):
139570        (PlainObjectBinding.get_array_item_c_type_text):
139571        (AdHocTypeContext):
139572        (AdHocTypeContext.get_type_name_fix):
139573        (AdHocTypeContext.add_type):
139574        (ArrayBinding):
139575        (ArrayBinding.resolve_inner):
139576        (ArrayBinding.resolve_inner.ResolveData):
139577        (ArrayBinding.request_user_runtime_cast):
139578        (ArrayBinding.request_internal_runtime_cast):
139579        (ArrayBinding.get_code_generator):
139580        (ArrayBinding.get_code_generator.CodeGenerator):
139581        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
139582        (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
139583        (ArrayBinding.get_code_generator.CodeGenerator.register_use):
139584        (ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
139585        (ArrayBinding.get_validator_call_text):
139586        (ArrayBinding.get_in_c_type_text):
139587        (ArrayBinding.get_array_item_c_type_text):
139588        (ArrayBinding.get_setter_value_expression_pattern):
139589        (ArrayBinding.reduce_to_raw_type):
139590        (RawTypeBinding.get_array_item_c_type_text):
139591        (ArrayItemHelper):
139592        (typename):
139593        (ArrayOf):
139594        (Traits):
139595
1395962012-01-31  Antti Koivisto  <antti@apple.com>
139597
139598        Parent SVGFontFaceElements style declaration to the rule
139599        https://bugs.webkit.org/show_bug.cgi?id=77421
139600
139601        Reviewed by Adam Roben.
139602
139603        For some reason the declaration is parented to the element which adds a bunch of unnecessary special case code.
139604        The invalidation on mutation is done explicitly by SVGFontFaceElement so that is not affected. The declaration
139605        is not exposed so the change is not observable with a test.
139606
139607        * css/CSSFontFaceRule.cpp:
139608        (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
139609        * css/CSSMutableStyleDeclaration.h:
139610        (WebCore::CSSMutableStyleDeclaration::createInline):
139611        * svg/SVGFontFaceElement.cpp:
139612        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
139613        (WebCore::SVGFontFaceElement::parseMappedAttribute):
139614        (WebCore::SVGFontFaceElement::fontFamily):
139615        (WebCore::SVGFontFaceElement::rebuildFontFace):
139616        * svg/SVGFontFaceElement.h:
139617        
139618            Remove the unnecessary m_styleDeclaration field, access through m_fontFaceRule instead.
139619
1396202012-01-31  Kenneth Rohde Christiansen  <kenneth@webkit.org>
139621
139622        Tap highlighting: Support better outlines for multiline inlines
139623        https://bugs.webkit.org/show_bug.cgi?id=77428
139624
139625        Reviewed by Simon Hausmann.
139626
139627        Covered by manual tests.
139628
139629        Do not use the linesBoundingBox anymore but draw a custom path
139630        with rounded corners. Inlines are drawn as max 3 rects, first
139631        line rect, joined middle rect and the rect for the last line.
139632
139633        * page/GestureTapHighlighter.cpp:
139634        * platform/graphics/Path.h: Make addBeziersForRoundedRect public.
139635
1396362012-01-31  Alexei Filippov  <alexeif@chromium.org>
139637
139638        Web Inspector: show sizes in bytes instead of KB, MB in heap profiler.
139639        https://bugs.webkit.org/show_bug.cgi?id=77199
139640
139641        Reviewed by Pavel Feldman.
139642
139643        * inspector/front-end/DetailedHeapshotGridNodes.js:
139644        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
139645        (WebInspector.HeapSnapshotInstanceNode.prototype._enhanceData):
139646        (WebInspector.HeapSnapshotConstructorNode.prototype.get data):
139647        (WebInspector.HeapSnapshotDiffNode.prototype.get data):
139648        * inspector/front-end/UIUtils.js:
139649        (Number.withThousandsSeparator):
139650
1396512012-01-26  Hans Wennborg  <hans@chromium.org>
139652
139653        Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
139654        https://bugs.webkit.org/show_bug.cgi?id=77083
139655
139656        Reviewed by Darin Fisher.
139657
139658        Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
139659        implementation.
139660
139661        No new tests, just refactoring.
139662
139663        * GNUmakefile.list.am:
139664        * Target.pri:
139665        * WebCore.gypi:
139666        * WebCore.vcproj/WebCore.vcproj:
139667        * WebCore.xcodeproj/project.pbxproj:
139668        * platform/mock/SpeechInputClientMock.cpp: Removed.
139669        * platform/mock/SpeechInputClientMock.h: Removed.
139670
1396712012-01-31  Pavel Feldman  <pfeldman@google.com>
139672
139673        Web Inspector: boost protocol version to 1.0
139674        https://bugs.webkit.org/show_bug.cgi?id=77408
139675
139676        Reviewed by Yury Semikhatsky.
139677
139678        * inspector/Inspector-1.0.json: Copied from Source/WebCore/inspector/Inspector.json.
139679        * inspector/Inspector.json:
139680
1396812012-01-31  Roland Steiner  <rolandsteiner@chromium.org>
139682
139683        <style scoped>: Improve shortcut code for cases where <style scoped> isn't used
139684        https://bugs.webkit.org/show_bug.cgi?id=77410
139685
139686        Move shortcut from setupScopingElementStack(), do it at the calling sites instead
139687        (where a larger chunk of work can be skipped).
139688
139689        Reviewed by Antti Koivisto.
139690
139691        No new tests. (refactoring)
139692
139693        * css/CSSStyleSelector.cpp:
139694        (WebCore::CSSStyleSelector::setupScopingElementStack): remove shortcut code
139695        (WebCore::CSSStyleSelector::pushParent): add shortcut code
139696        (WebCore::CSSStyleSelector::matchScopedAuthorRules): factor matching scoped rules out from matchAuthorRules
139697        (WebCore::CSSStyleSelector::matchAuthorRules): add shortcut code
139698        * css/CSSStyleSelector.h:
139699        (CSSStyleSelector): add matchScopedAuthorRules
139700
1397012012-01-31  Pavel Feldman  <pfeldman@google.com>
139702
139703        Web Inspector: DOMDebugger.setEventListenerBreakpoint should accept regular DOM event names.
139704        https://bugs.webkit.org/show_bug.cgi?id=77409
139705
139706        Reviewed by Yury Semikhatsky.
139707
139708        * inspector/Inspector.json:
139709        * inspector/InspectorDOMDebuggerAgent.cpp:
139710        (WebCore::InspectorDOMDebuggerAgent::setEventListenerBreakpoint):
139711        (WebCore):
139712        (WebCore::InspectorDOMDebuggerAgent::setInstrumentationBreakpoint):
139713        (WebCore::InspectorDOMDebuggerAgent::setBreakpoint):
139714        (WebCore::InspectorDOMDebuggerAgent::removeEventListenerBreakpoint):
139715        (WebCore::InspectorDOMDebuggerAgent::removeInstrumentationBreakpoint):
139716        (WebCore::InspectorDOMDebuggerAgent::removeBreakpoint):
139717        (WebCore::InspectorDOMDebuggerAgent::pauseOnNativeEventIfNeeded):
139718        * inspector/InspectorDOMDebuggerAgent.h:
139719        (InspectorDOMDebuggerAgent):
139720        * inspector/InspectorInstrumentation.cpp:
139721        (WebCore::InspectorInstrumentation::didInstallTimerImpl):
139722        (WebCore::InspectorInstrumentation::didRemoveTimerImpl):
139723        (WebCore::InspectorInstrumentation::willHandleEventImpl):
139724        (WebCore::InspectorInstrumentation::willFireTimerImpl):
139725        (WebCore::InspectorInstrumentation::pauseOnNativeEventIfNeeded):
139726        * inspector/InspectorInstrumentation.h:
139727        (InspectorInstrumentation):
139728        * inspector/front-end/BreakpointsSidebarPane.js:
139729        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._setBreakpoint):
139730        (WebInspector.EventListenerBreakpointsSidebarPane.prototype._removeBreakpoint):
139731
1397322012-01-31  Pablo Flouret  <pablof@motorola.com>
139733
139734        Fix compilation errors on build-webkit --debug --no-workers on mac.
139735        https://bugs.webkit.org/show_bug.cgi?id=75869
139736
139737        Reviewed by Adam Barth.
139738
139739        * WebCore.exp.in:
139740
1397412012-01-30  Konrad Piascik  <kpiascik@rim.com>
139742
139743        Web Inspector: [BlackBerry] Add BlackBerry UA Strings to the Inspector's UA switcher
139744        https://bugs.webkit.org/show_bug.cgi?id=77343
139745
139746        Reviewed by Yury Semikhatsky.
139747
139748        * inspector/front-end/SettingsScreen.js:
139749        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
139750
1397512012-01-30  Yury Semikhatsky  <yurys@chromium.org>
139752
139753        Web Inspector: should be possible to step through all event listeners when event listener breakpoint is hit
139754        https://bugs.webkit.org/show_bug.cgi?id=77331
139755
139756        Inspector instrumentation is called before and after each event handler invokation.
139757        In case inspector front-end is closed it is no-op, otherwise it may stop execution
139758        on an event listener breakpoint.
139759
139760        Reviewed by Pavel Feldman.
139761
139762        Test: inspector/debugger/step-through-event-listeners.html
139763
139764        * dom/EventTarget.cpp:
139765        (WebCore::EventTarget::fireEventListeners):
139766        * inspector/InspectorInstrumentation.cpp:
139767        (WebCore::InspectorInstrumentation::willDispatchEventImpl):
139768        (WebCore::InspectorInstrumentation::willHandleEventImpl):
139769        (WebCore):
139770        (WebCore::InspectorInstrumentation::didHandleEventImpl):
139771        (WebCore::InspectorInstrumentation::didDispatchEventImpl):
139772        (WebCore::InspectorInstrumentation::willDispatchEventOnWindowImpl):
139773        (WebCore::InspectorInstrumentation::didDispatchEventOnWindowImpl):
139774        * inspector/InspectorInstrumentation.h:
139775        (InspectorInstrumentation):
139776        (WebCore::InspectorInstrumentation::willHandleEvent):
139777        (WebCore):
139778        (WebCore::InspectorInstrumentation::didHandleEvent):
139779
1397802011-01-30  Hayato Ito  <hayato@chromium.org>
139781
139782        Attach light children after removing a shadow root.
139783        https://bugs.webkit.org/show_bug.cgi?id=74267
139784
139785        Reviewed by Ryosuke Niwa.
139786
139787        Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
139788               fast/dom/shadow/dynamically-created-shadow-root.html:
139789
139790        * dom/Element.cpp:
139791        (WebCore::Element::removeShadowRoot):
139792
1397932012-01-30  Sheriff Bot  <webkit.review.bot@gmail.com>
139794
139795        Unreviewed, rolling out r106324.
139796        http://trac.webkit.org/changeset/106324
139797        https://bugs.webkit.org/show_bug.cgi?id=77406
139798
139799        Broke CCLayerTreeHostTestLayerOcclusion.runMultiThread and
139800        runSingleThread (Requested by yuzo1 on #webkit).
139801
139802        * platform/graphics/FloatRect.cpp:
139803        * platform/graphics/FloatRect.h:
139804        (WebCore):
139805        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
139806        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
139807        * platform/graphics/chromium/Canvas2DLayerChromium.h:
139808        (WebCore):
139809        (Canvas2DLayerChromium):
139810        * platform/graphics/chromium/ContentLayerChromium.cpp:
139811        (WebCore::ContentLayerChromium::paintContentsIfDirty):
139812        * platform/graphics/chromium/ContentLayerChromium.h:
139813        (WebCore):
139814        (ContentLayerChromium):
139815        * platform/graphics/chromium/ImageLayerChromium.cpp:
139816        (WebCore::ImageLayerChromium::paintContentsIfDirty):
139817        * platform/graphics/chromium/ImageLayerChromium.h:
139818        (WebCore):
139819        (ImageLayerChromium):
139820        * platform/graphics/chromium/LayerChromium.cpp:
139821        * platform/graphics/chromium/LayerChromium.h:
139822        (WebCore):
139823        (WebCore::LayerChromium::paintContentsIfDirty):
139824        (LayerChromium):
139825        * platform/graphics/chromium/RenderSurfaceChromium.h:
139826        * platform/graphics/chromium/TiledLayerChromium.cpp:
139827        * platform/graphics/chromium/TiledLayerChromium.h:
139828        (WebCore):
139829        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
139830        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
139831        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
139832        (WebCore::CCLayerTreeHost::paintLayerContents):
139833        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
139834        (WebCore):
139835        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
139836        (WebCore::enclosedIntRect):
139837        (WebCore):
139838
1398392012-01-30  Raymond Liu  <raymond.liu@intel.com>
139840
139841        Fix ASSERT fail within AudioBus::processWithGainFrom()
139842        https://bugs.webkit.org/show_bug.cgi?id=76685
139843
139844        Reviewed by Daniel Bates.
139845
139846        Test: webaudio/audionode-connect-order.html
139847
139848        * webaudio/AudioBasicProcessorNode.cpp:
139849        (WebCore::AudioBasicProcessorNode::AudioBasicProcessorNode):
139850
1398512012-01-30  Roland Steiner  <rolandsteiner@chromium.org>
139852
139853        <style scoped>: Implement scoped stylesheets and basic application
139854        https://bugs.webkit.org/show_bug.cgi?id=73190
139855
139856        Implementing support for <style scoped>:
139857        Add a vector stack to CSSStyleSelector that keeps track of encountered scoping elements. This is
139858        used for O(1) access to all relevant style sheets for a given element.
139859        Adapt matching of author style sheets to also consult appropriate scoped sheets.
139860        Finally, prevent style sharing from crossing into/out of scoped style boundaries.
139861
139862        Reviewed by Antti Koivisto.
139863
139864        Tests: fast/css/style-scoped/style-scoped-attach.html
139865               fast/css/style-scoped/style-scoped-basic.html
139866               fast/css/style-scoped/style-scoped-detach.html
139867               fast/css/style-scoped/style-scoped-remove-scoped.html
139868               fast/css/style-scoped/style-scoped-set-scoped.html
139869
139870        * css/CSSStyleSelector.cpp:
139871        (RuleSet):
139872        (WebCore::CSSStyleSelector::CSSStyleSelector): add code for scoped style sheets
139873        (WebCore::CSSStyleSelector::collectFeatures): ditto
139874        (WebCore):
139875        (WebCore::CSSStyleSelector::determineScopingElement): determine whether an author sheet is scoped (and to which scope), or global
139876        (WebCore::CSSStyleSelector::scopedRuleSetForElement): returns the RuleSet for the <style scoped> contained by the passed-in element (if any), or 0
139877        (WebCore::CSSStyleSelector::appendAuthorStylesheets): add code for scoped style sheets
139878        (WebCore::CSSStyleSelector::setupScopingElementStack): determine scoping element ancestors of the given element
139879        (WebCore::CSSStyleSelector::pushParent): simplify and refactor SelectorChecker::pushParent, as code in CSStyleSelector needs partial access
139880        (WebCore::CSSStyleSelector::popParent): ditto
139881        (WebCore::CSSStyleSelector::sortAndTransferMatchedRules): helper function
139882        (WebCore::CSSStyleSelector::matchAuthorRules): use AuthorRuleSetIterator to iterate over all relevant RuleSets
139883        (WebCore::CSSStyleSelector::matchRules): adapt for scoped style rules
139884        (WebCore::CSSStyleSelector::matchAllRules): ditto
139885        (WebCore::CSSStyleSelector::locateCousinList): prevent style sharing across scope boundaries
139886        (WebCore::CSSStyleSelector::canShareStyleWithElement): ditto
139887        (WebCore::CSSStyleSelector::locateSharedStyle): ditto
139888        (WebCore::CSSStyleSelector::pseudoStyleForElement): changed call to matchAuthorRules
139889        (WebCore::CSSStyleSelector::styleForPage): add comment
139890        (WebCore::CSSStyleSelector::checkRegionStyle): add global scope parameter
139891        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement): changed call to matchAuthorRules
139892        (WebCore::RuleSet::addRulesFromSheet): adapt for scoped style rules
139893        * css/CSSStyleSelector.h:
139894        (CSSStyleSelector):
139895        (WebCore::CSSStyleSelector::ScopeStackFrame::ScopeStackFrame): struct holding an Element pointer and a RuleSet pointer, to be used in a Vector
139896        (WebCore::CSSStyleSelector::scopingElementStackIsConsistent): returns if the last seen parent matches the passed-in element
139897        * css/SelectorChecker.cpp:
139898        (WebCore::SelectorChecker::setupParentStack): set up the parent stack (refactoring)
139899        (WebCore::SelectorChecker::pushParent): simplify and refactor
139900        * css/SelectorChecker.h:
139901        (WebCore::SelectorChecker::popParent): ditto
139902        (WebCore::SelectorChecker::parentStackIsEmpty): ditto
139903        (WebCore::SelectorChecker::parentStackIsConsistent): make parameter const
139904
1399052012-01-30  Dana Jansens  <danakj@chromium.org>
139906
139907        [chromium] Compute occlusion during paint loop
139908        https://bugs.webkit.org/show_bug.cgi?id=76858
139909
139910        Reviewed by James Robinson.
139911
139912        New unit tests in TiledLayerChromiumTest.cpp, CCLayerTreeHostCommonTest.cpp, CCLayerTreeHostTest.cpp
139913
139914        * platform/graphics/FloatRect.cpp:
139915        (WebCore::enclosedIntRect):
139916        (WebCore):
139917        * platform/graphics/FloatRect.h:
139918        (WebCore):
139919        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
139920        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
139921        * platform/graphics/chromium/Canvas2DLayerChromium.h:
139922        (Canvas2DLayerChromium):
139923        * platform/graphics/chromium/ContentLayerChromium.cpp:
139924        (WebCore::ContentLayerChromium::paintContentsIfDirty):
139925        * platform/graphics/chromium/ContentLayerChromium.h:
139926        (ContentLayerChromium):
139927        * platform/graphics/chromium/ImageLayerChromium.cpp:
139928        (WebCore::ImageLayerChromium::paintContentsIfDirty):
139929        * platform/graphics/chromium/ImageLayerChromium.h:
139930        (ImageLayerChromium):
139931        * platform/graphics/chromium/LayerChromium.cpp:
139932        (WebCore::LayerChromium::contentToScreenSpaceTransform):
139933        (WebCore):
139934        (WebCore::LayerChromium::addSelfToOccludedScreenSpace):
139935        (WebCore::LayerChromium::isPaintedAxisAlignedInScreen):
139936        * platform/graphics/chromium/LayerChromium.h:
139937        (WebCore):
139938        (WebCore::LayerChromium::paintContentsIfDirty):
139939        (LayerChromium):
139940        * platform/graphics/chromium/RenderSurfaceChromium.h:
139941        (RenderSurfaceChromium):
139942        * platform/graphics/chromium/TiledLayerChromium.cpp:
139943        (WebCore::TiledLayerChromium::addSelfToOccludedScreenSpace):
139944        * platform/graphics/chromium/TiledLayerChromium.h:
139945        (WebCore):
139946        ():
139947        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
139948        (WebCore::CCLayerTreeHost::paintContentsIfDirty):
139949        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
139950        (RenderSurfaceRegion):
139951        (WebCore):
139952        (WebCore::pushTargetRenderSurfaceRegion):
139953        (WebCore::popAndPushTargetRenderSurfaceRegion):
139954        (WebCore::CCLayerTreeHost::paintLayerContents):
139955        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
139956        (WebCore):
139957        ():
139958        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
139959
1399602012-01-30  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
139961
139962        Add ElementAttributeData class to replace internal uses of NamedNodeMap
139963        https://bugs.webkit.org/show_bug.cgi?id=77233
139964
139965        Reviewed by Andreas Kling.
139966
139967        Move part of non-DOM functionality of NamedNodeMap into a separate class. This is
139968        the first step toward the goal of separating NamedNodeMap from internal attribute
139969        storage, as described in https://bugs.webkit.org/show_bug.cgi?id=75069.
139970
139971        The internal attribute storage is exposed as attributeData() in Element, and when
139972        necessary (because it has no back pointer to Element) via methods in Element.
139973
139974        No new tests. Except from setClass() change this is just moving the code, no new
139975        feature was added.
139976
139977        * CMakeLists.txt:
139978        * GNUmakefile.list.am:
139979        * Target.pri:
139980        * WebCore.gypi:
139981        * WebCore.xcodeproj/project.pbxproj:
139982        * dom/DOMAllInOne.cpp:
139983        * dom/Element.cpp:
139984        (WebCore::Element::idAttributeChanged):
139985        * dom/Element.h:
139986        (WebCore::Element::attributeData):
139987        (WebCore::Element::ensureAttributeData):
139988        (Element):
139989        (WebCore::Element::idForStyleResolution):
139990        * dom/ElementAttributeData.cpp: Added.
139991        (WebCore):
139992        (WebCore::ElementAttributeData::setClass): the only caller of this function
139993        already deal with the case when the element has no class, so don't do it here.
139994        * dom/ElementAttributeData.h: Added.
139995        (WebCore):
139996        (ElementAttributeData):
139997        (WebCore::ElementAttributeData::clearClass):
139998        (WebCore::ElementAttributeData::classNames):
139999        (WebCore::ElementAttributeData::idForStyleResolution):
140000        (WebCore::ElementAttributeData::setIdForStyleResolution):
140001        (WebCore::ElementAttributeData::ElementAttributeData):
140002        * dom/NamedNodeMap.cpp:
140003        (WebCore::NamedNodeMap::clearAttributes):
140004        * dom/NamedNodeMap.h:
140005        (WebCore::NamedNodeMap::attributeData):
140006        (NamedNodeMap):
140007        * dom/StyledElement.cpp:
140008        (WebCore::StyledElement::classAttributeChanged):
140009        * dom/StyledElement.h:
140010        (WebCore::StyledElement::classNames):
140011        * html/ClassList.cpp:
140012        (WebCore::ClassList::classNames):
140013
1400142012-01-30  Gregg Tavares  <gman@chromium.org>
140015
140016        Add Plumming to get graphics error messages to JS Console
140017        https://bugs.webkit.org/show_bug.cgi?id=77238
140018
140019        Reviewed by Kenneth Russell.
140020
140021        No new tests. No change in behavior.
140022
140023        * html/canvas/WebGLRenderingContext.cpp:
140024        (WebGLRenderingContextErrorMessageCallback):
140025        (WebCore::WebGLRenderingContextErrorMessageCallback::WebGLRenderingContextErrorMessageCallback):
140026        (WebCore::WebGLRenderingContextErrorMessageCallback::onErrorMessage):
140027        (WebCore::WebGLRenderingContextErrorMessageCallback::~WebGLRenderingContextErrorMessageCallback):
140028        (WebCore):
140029        (WebCore::WebGLRenderingContext::create):
140030        (WebCore::WebGLRenderingContext::initializeNewContext):
140031        (WebCore::WebGLRenderingContext::~WebGLRenderingContext):
140032        * html/canvas/WebGLRenderingContext.h:
140033        (WebGLRenderingContext):
140034        * platform/graphics/GraphicsContext3D.h:
140035        (ErrorMessageCallback):
140036        (WebCore::GraphicsContext3D::ErrorMessageCallback::~ErrorMessageCallback):
140037        (GraphicsContext3D):
140038        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
140039        (WebCore::GraphicsContext3D::setErrorMessageCallback):
140040        (WebCore):
140041        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
140042        (WebCore::GraphicsContext3D::setErrorMessageCallback):
140043        (WebCore):
140044        * platform/graphics/qt/GraphicsContext3DQt.cpp:
140045        (WebCore::GraphicsContext3D::setErrorMessageCallback):
140046        (WebCore):
140047
1400482012-01-30  Anders Carlsson  <andersca@apple.com>
140049
140050        Simplify RenderLayerCompositor::frameViewDidScroll
140051        https://bugs.webkit.org/show_bug.cgi?id=77398
140052
140053        Reviewed by Sam Weinig.
140054
140055        Remove the scrollPosition parameter from RenderLayerCompositor::frameViewDidScroll; we can just get it
140056        from the associated FrameView object.
140057
140058        * page/FrameView.cpp:
140059        (WebCore::FrameView::scrollPositionChanged):
140060        * rendering/RenderLayerCompositor.cpp:
140061        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
140062        Call frameViewDidScroll() here instead of setting the scroll layer position explicitly.
140063
140064        (WebCore::RenderLayerCompositor::frameViewDidScroll):
140065        (WebCore::RenderLayerCompositor::ensureRootLayer):
140066        * rendering/RenderLayerCompositor.h:
140067        (RenderLayerCompositor):
140068
1400692012-01-30  Pablo Flouret  <pablof@motorola.com>
140070
140071        Don't select the next selectable index when deselecting an option in select elements with size set to a value greater than one.
140072        https://bugs.webkit.org/show_bug.cgi?id=76389
140073
140074        Reviewed by Kent Tamura.
140075
140076        This behavior matches the rest of the browsers.
140077
140078        Test: fast/forms/select/option-selecting.html
140079
140080        * html/HTMLSelectElement.cpp:
140081        (WebCore::HTMLSelectElement::optionSelectionStateChanged):
140082
1400832012-01-30  Anders Carlsson  <andersca@apple.com>
140084
140085        Scrollbars don't show when scrolling on the scrolling thread
140086        https://bugs.webkit.org/show_bug.cgi?id=77396
140087        <rdar://problem/10710736>
140088
140089        Reviewed by Sam Weinig.
140090
140091        Use ScrollAnimator::scrollToOffsetWithoutAnimation when updating the frame view scroll offset,
140092        since that function will end up invalidating the scrollbars correctly.
140093
140094        * page/ScrollingCoordinator.cpp:
140095        (WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):
140096
1400972012-01-30  Anders Carlsson  <andersca@apple.com>
140098
140099        Show repaint counters in individual tiles
140100        https://bugs.webkit.org/show_bug.cgi?id=77390
140101        <rdar://problem/10767967>
140102
140103        Reviewed by Darin Adler.
140104
140105        * platform/graphics/ca/mac/TileCache.h:
140106        * platform/graphics/ca/mac/TileCache.mm:
140107        (WebCore::TileCache::setNeedsDisplayInRect):
140108        Make sure to invalidate the repaint counter rect if necessary.
140109
140110        (WebCore::TileCache::drawLayer):
140111        Draw the repaint counter.
140112
140113        (WebCore::TileCache::showRepaintCounter):
140114        New function that determines whether we should show repaint counters for the given tile cache.
140115
140116        * platform/graphics/ca/mac/WebTileLayer.h:
140117        * platform/graphics/ca/mac/WebTileLayer.mm:
140118        (-[WebTileLayer incrementRepaintCount]):
140119        Add method for getting the repaint count.
140120
1401212012-01-30  Dan Bernstein  <mitz@apple.com>
140122
140123        <rdar://problem/10778045> REGRESSION (r91935): text-combine fails
140124        https://bugs.webkit.org/show_bug.cgi?id=77373
140125
140126        Reviewed by Darin Adler.
140127
140128        Removed tests that were failing because of this bug from the Lion skipped
140129        list.
140130
140131        * platform/graphics/mac/GlyphPageTreeNodeMac.cpp:
140132        (WebCore::GlyphPage::fill): Changed to use CTFontGetGlyphsForCharacters,
140133        rather than wkGetVerticalGlyphsForCharacters, for non-fullwidth fonts.
140134
1401352012-01-30  Christopher Hutten-Czapski  <chutten@rim.com>
140136
140137        BlackBerry - Support Proxy-Authenticate headers when a proxy is configured
140138        https://bugs.webkit.org/show_bug.cgi?id=77361
140139
140140        Though we have a proxy configured, we might not have the auth
140141        credentials it requires. Support Proxy-Authenticate for that case.
140142
140143        Reviewed by George Staikos.
140144
140145        * platform/network/blackberry/NetworkJob.cpp:
140146        (WebCore::NetworkJob::handleNotifyHeaderReceived):
140147        (WebCore::NetworkJob::handleAuthHeader):
140148        (WebCore::NetworkJob::sendRequestWithCredentials):
140149        * platform/network/blackberry/NetworkJob.h:
140150        * platform/network/blackberry/NetworkManager.cpp:
140151        (WebCore::NetworkManager::startJob):
140152
1401532012-01-27  James Robinson  <jamesr@chromium.org>
140154
140155        [chromium] Remove unnecessary retry logic in LayerRendererChromium initialization for accelerated painting
140156        https://bugs.webkit.org/show_bug.cgi?id=77247
140157
140158        Reviewed by Kenneth Russell.
140159
140160        The accelerate painting setting is done differently from other capability-dependent settings for no good reason,
140161        requiring that we retry initialization with different settings. For all other settings we set the capabilities
140162        bit to true if the setting is requested and if the required capabilities exist on the underlying context.
140163
140164        * platform/graphics/chromium/LayerRendererChromium.cpp:
140165        (WebCore::LayerRendererChromium::create):
140166        (WebCore::LayerRendererChromium::initialize):
140167        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
140168        (WebCore::CCLayerTreeHostImpl::initializeLayerRenderer):
140169
1401702012-01-30  Brady Eidson  <beidson@apple.com>
140171
140172        <rdar://problem/10707072>
140173        Crashes in WebProcess at WebCore::Node::rendererIsNeeded
140174
140175        Reviewed by Darin Adler.
140176
140177        In specific circumstances a plugin element can be without a render style at the point in time where
140178        the page navigated and enters the page cache.
140179
140180        When this is the cash, the element should not enter into the "custom style for renderer" mode and should
140181        instead use the default render style machinery.
140182
140183        Test: plugins/crash-restoring-pluging-page-from-page-cache.html
140184
140185        * html/HTMLPlugInImageElement.cpp:
140186        (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache): Only setHasCustomStyleForRenderer and 
140187          forceRecalc if there actually is a custom style to be used.
140188        (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache): Only clearHasCustomStyleForRenderer if there
140189          actually was a custom style to be cleared.
140190        (WebCore::HTMLPlugInImageElement::customStyleForRenderer): This should only be called if there actually is a 
140191          custom style to be used. Otherwise the element would have to fallback to the "normal" RenderStyle which might
140192          not exist.
140193
1401942012-01-30  Anders Carlsson  <andersca@apple.com>
140195
140196        Show debug borders for individual tile cache tiles
140197        https://bugs.webkit.org/show_bug.cgi?id=77388
140198
140199        Reviewed by Sam Weinig.
140200
140201        * platform/graphics/GraphicsLayer.cpp:
140202        (WebCore::GraphicsLayer::updateDebugIndicators):
140203        Give tile cache tiles a thin dark blue border.
140204
140205        * platform/graphics/ca/mac/TileCache.h:
140206        (WebCore::TileCache::tileDebugBorderWidth):
140207        (WebCore::TileCache::tileDebugBorderColor):
140208        Add getters and member variables for the tile debug border width and color.
140209
140210        * platform/graphics/ca/mac/TileCache.mm:
140211        (WebCore::TileCache::TileCache):
140212        Initialize m_tileDebugBorderWidth.
140213
140214        (WebCore::TileCache::setTileDebugBorderWidth):
140215        Update the border width of each tile layer.
140216
140217        (WebCore::TileCache::setTileDebugBorderColor):
140218        Update the border color of each tile layer.
140219
140220        (WebCore::TileCache::createTileLayer):
140221        Set the border color and border width.
140222
140223        * platform/graphics/ca/mac/WebTileCacheLayer.h:
140224        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
140225        (-[WebTileCacheLayer borderColor]):
140226        (-[WebTileCacheLayer setBorderColor:]):
140227        (-[WebTileCacheLayer borderWidth]):
140228        (-[WebTileCacheLayer setBorderWidth:]):
140229        Call through to the TileCache.
140230
140231        * platform/graphics/mac/WebLayer.mm:
140232        (drawLayerContents):
140233        Don't draw the repaint counter for tile cache layers, each tile will maintain its own repaint counter.
140234
1402352012-01-30  Rakesh KN  <rakesh.kn@motorola.com>
140236
140237        single-file input elements should refuse multi-file drags
140238        https://bugs.webkit.org/show_bug.cgi?id=25913
140239
140240        Reviewed by Eric Seidel.
140241
140242        Refuse the multiple file drags onto a single file input element.
140243
140244        No new tests: Covered by existing tests, updated the expected results.
140245
140246        * page/DragController.cpp:
140247        (WebCore::DragController::tryDocumentDrag):
140248        Setting the dragSession.numberOfItemsToBeAccepted to 0 so that drag operation is none if the
140249        file input element under mouse is single input type and number of files dragged onto that
140250        input element are more than 1.
140251
1402522012-01-30  Dana Jansens  <danakj@chromium.org>
140253
140254        [chromium] Use region reported painted opaque for draw culling
140255        https://bugs.webkit.org/show_bug.cgi?id=76015
140256
140257        Reviewed by James Robinson.
140258
140259        New unit tests in CCTiledLayerImplTest.cpp, CCQuadCullerTest.cpp, CCLayerTreeHostImplTest.cpp
140260
140261        * platform/graphics/chromium/LayerChromium.cpp:
140262        (WebCore::LayerChromium::setOpaque):
140263        * platform/graphics/chromium/TiledLayerChromium.cpp:
140264        (UpdatableTile):
140265        (WebCore::TiledLayerChromium::pushPropertiesTo):
140266        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
140267        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
140268        (WebCore::CCDrawQuad::opaqueRect):
140269        (WebCore):
140270        * platform/graphics/chromium/cc/CCDrawQuad.h:
140271        (CCDrawQuad):
140272        (WebCore::CCDrawQuad::needsBlending):
140273        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
140274        (WebCore::CCQuadCuller::cullOccludedQuads):
140275        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
140276        (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
140277        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
140278        (WebCore::CCTileDrawQuad::create):
140279        (WebCore::CCTileDrawQuad::CCTileDrawQuad):
140280        * platform/graphics/chromium/cc/CCTileDrawQuad.h:
140281        (CCTileDrawQuad):
140282        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
140283        (DrawableTile):
140284        (WebCore::DrawableTile::opaqueRect):
140285        (WebCore::DrawableTile::setOpaqueRect):
140286        (WebCore::CCTiledLayerImpl::appendQuads):
140287        (WebCore::CCTiledLayerImpl::pushTileProperties):
140288        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
140289        (CCTiledLayerImpl):
140290
1402912012-01-30  Ryosuke Niwa  <rniwa@webkit.org>
140292
140293        Crash in previousLinePosition when moving into a root inline box without leaves
140294        https://bugs.webkit.org/show_bug.cgi?id=76812
140295
140296        Reviewed by Enrica Casucci.
140297
140298        The crash was caused by us assuming that every root inline box has at least one leaf,
140299        which isn't true when we create inline boxes for an empty text run with margin, border, etc...
140300
140301        Test: editing/selection/move-into-empty-root-inline-box.html
140302
140303        * editing/visible_units.cpp:
140304        (WebCore::previousLinePosition):
140305        (WebCore::nextLinePosition):
140306
1403072012-01-30  Levi Weintraub  <leviw@chromium.org>
140308
140309        !m_insideRegionPaint assertion in RenderRegion.cpp is invalid
140310        https://bugs.webkit.org/show_bug.cgi?id=77372
140311
140312        Reviewed by David Hyatt.
140313
140314        Removing the !m_insideRegionPaint assertion that's in three functions in
140315        RenderRegion. It's triggering in numerous layout tests and isn't valid.
140316
140317        No new tests as this just removes assertions.
140318
140319        * rendering/RenderRegion.cpp:
140320        (WebCore::RenderRegion::setRenderBoxRegionInfo):
140321        (WebCore::RenderRegion::takeRenderBoxRegionInfo):
140322        (WebCore::RenderRegion::removeRenderBoxRegionInfo):
140323
1403242012-01-30  Adrienne Walker  <enne@google.com>
140325
140326        [chromium] Always pre-reserve scrollbar and scroll corner textures
140327        https://bugs.webkit.org/show_bug.cgi?id=77251
140328
140329        Reviewed by James Robinson.
140330
140331        Add a flag to LayerChromium that says that a layer's textures should
140332        always be reserved. Prior to painting layers, find all layers marked
140333        as such and reserve their textures. This will prevent texture memory
140334        limits from being hit before the root layer's scrollbars are reserved
140335        and painted.
140336
140337        * platform/graphics/chromium/LayerChromium.cpp:
140338        (WebCore::LayerChromium::LayerChromium):
140339        * platform/graphics/chromium/LayerChromium.h:
140340        (LayerChromium):
140341        (WebCore::LayerChromium::reserveTextures):
140342        (WebCore::LayerChromium::setAlwaysReserveTextures):
140343        (WebCore::LayerChromium::alwaysReserveTextures):
140344        * platform/graphics/chromium/TiledLayerChromium.cpp:
140345        (WebCore::TiledLayerChromium::reserveTextures):
140346        * platform/graphics/chromium/TiledLayerChromium.h:
140347        ():
140348        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
140349        (WebCore::CCLayerTreeHost::updateLayers):
140350        (WebCore::CCLayerTreeHost::reserveTextures):
140351        (WebCore):
140352        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
140353        ():
140354
1403552012-01-30  Beth Dakin  <bdakin@apple.com>
140356
140357        Speculative 32-bit build-fix.
140358
140359        * WebCore.exp.in:
140360
1403612012-01-30  Mihnea Ovidenie  <mihnea@adobe.com>
140362
140363        [CSSRegions]Add support for background-color in region styling
140364        https://bugs.webkit.org/show_bug.cgi?id=71488
140365
140366        Reviewed by David Hyatt.
140367
140368        Based on work by Alexandru Chiculita (achicu@adobe.com).
140369        Previous patches for region styling were touching RenderObject::style() method. After several attempts to avoid regressions
140370        (including caching of RenderObject::style() pointer in most used methods), we decided to attempt a different approach:
140371        Step1: before each region is repainted, we compute the style for each box that falls into the region
140372        Step2: before paint, we store the box original style
140373        Step3: paint the region contents using the style in region
140374        Step4: after paint is finished, we restore the box original style (and store the box style in region for future region paint)
140375
140376        Tests for region styling are also enabled with this patch.
140377
140378        * WebCore.exp.in:
140379        * rendering/RenderFlowThread.cpp:
140380        (WebCore::RenderFlowThread::clearRenderBoxCustomStyle):
140381        (WebCore::RenderFlowThread::setRegionRangeForBox):
140382        * rendering/RenderFlowThread.h:
140383        ():
140384        * rendering/RenderLayer.cpp:
140385        (WebCore::RenderLayer::paint):
140386        (WebCore::RenderLayer::hitTest):
140387        * rendering/RenderObject.cpp:
140388        * rendering/RenderObject.h:
140389        (WebCore::RenderObject::style):
140390        (RenderObject):
140391        * rendering/RenderObjectChildList.cpp:
140392        (WebCore::RenderObjectChildList::removeChildNode):
140393        * rendering/RenderRegion.cpp:
140394        (WebCore::RenderRegion::RenderRegion):
140395        (WebCore::RenderRegion::setRegionBoxesRegionStyle):
140396        (WebCore):
140397        (WebCore::RenderRegion::restoreRegionBoxesOriginalStyle):
140398        (WebCore::RenderRegion::paintReplaced):
140399        (WebCore::RenderRegion::setRenderBoxRegionInfo):
140400        (WebCore::RenderRegion::takeRenderBoxRegionInfo):
140401        (WebCore::RenderRegion::removeRenderBoxRegionInfo):
140402        (WebCore::RenderRegion::renderBoxRegionStyle):
140403        (WebCore::RenderRegion::computeStyleInRegion):
140404        (WebCore::RenderRegion::clearBoxStyleInRegion):
140405        * rendering/RenderRegion.h:
140406        (RenderRegion):
140407        * rendering/RenderView.cpp:
140408        (WebCore::RenderView::RenderView):
140409        * rendering/RenderView.h:
140410        (WebCore):
140411        (RenderView):
140412
1404132012-01-30  Jessie Berlin  <jberlin@apple.com>
140414
140415        WebCore build exceeds address space on 32-bit Windows builders (again).
140416        https://bugs.webkit.org/show_bug.cgi?id=77357
140417
140418        Reviewed by Adam Roben.
140419
140420        Add an Inspector All-In-One file, but only use it in Release and Production builds.
140421        This differs from our other All-In-One files, but it is a better approach because it makes
140422        debugging possible in the Debug configuration (the symbols will be in the correct .obj file
140423        for the original .cpp files).
140424
140425        * WebCore.vcproj/WebCore.vcproj:
140426        Also, let VS have its way with the vcproj file.
140427        * inspector/InspectorAllInOne.cpp: Added.
140428
1404292012-01-28  Matthew Delaney  <mdelaney@apple.com>
140430
140431        Limit periodic flushing inside ImageBufferCG to just Lion
140432        https://bugs.webkit.org/show_bug.cgi?id=77353
140433        <rdar://problem/10328309>
140434
140435        Reviewed by Chris Marrin.
140436
140437        * platform/graphics/cg/ImageBufferCG.cpp:
140438        * platform/graphics/cg/ImageBufferDataCG.h:
140439
1404402012-01-30  Tommy Widenflycht  <tommyw@google.com>
140441
140442        Memory leak caused by PeerConnection add a NULL media stream
140443        https://bugs.webkit.org/show_bug.cgi?id=76150
140444
140445        It was my missunderstanding that the IDL keyword [StrictTypeChecking] also protects against
140446        null or undefined arguments, it doesn't. Added checks for null pointers.
140447
140448        Reviewed by Adam Barth.
140449
140450        Test: fast/mediastream/peerconnection-addstream.html
140451
140452        * mediastream/PeerConnection.cpp:
140453        (WebCore::PeerConnection::addStream):
140454        (WebCore::PeerConnection::removeStream):
140455
1404562012-01-26  Andy Estes  <aestes@apple.com>
140457
140458        [Windows] Optionally invert colors when drawing to a WebView's backing store.
140459        https://bugs.webkit.org/show_bug.cgi?id=77168
140460
140461        Reviewed by Sam Weinig.
140462
140463        * css/CSSPrimitiveValueMappings.h: Assert that CompositeDifference is
140464        not converted to a CSS value. Exposing a new compositing operation to
140465        CSS is outside the scope of this patch.
140466        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
140467        * platform/graphics/GraphicsTypes.h: Add CompositeDifference as a
140468        CompositeOperator. Also, remove an outdated comment.
140469        * platform/graphics/cg/GraphicsContextCG.cpp:
140470        (WebCore::GraphicsContext::setPlatformCompositeOperation): Map
140471        CompositeDifference to kCGBlendModeDifference.
140472
1404732012-01-28  Matthew Delaney  <mdelaney@apple.com>
140474
140475        Limit the shadow offset CG hack to just SL and Lion
140476        https://bugs.webkit.org/show_bug.cgi?id=77348
140477        <rdar://problem/10158016>
140478
140479        Reviewed by Chris Marrin.
140480
140481        No new tests, current tests cover this.
140482
140483        * platform/graphics/cg/GraphicsContextCG.cpp:
140484        (WebCore::GraphicsContext::setPlatformShadow):
140485
1404862012-01-30  Beth Dakin  <bdakin@apple.com>
140487
140488        https://bugs.webkit.org/show_bug.cgi?id=77263
140489        PlatformScreenMac should not rely on NSWindow for important bits of data
140490
140491        Reviewed by Geoff Garen.
140492
140493        The main problem is that we cannot rely on the NSWindow for information about 
140494        the deviceScaleFactor because we cannot access an NSWindow from within 
140495        WebCore for WebKit2 windows. Instead, we can fetch it from 
140496        WebCore::deviceScaleFactor(), but we need a Frame to call that. So 
140497        screenAvailableRect and screenRect both now take a FrameView* instead of a 
140498        Widget*. All existing call sites actually sent a FrameView in anyway, so this 
140499        is not a big change, but it does require touching a lot of platforms.
140500        * WebCore.exp.in:
140501        * platform/PlatformScreen.h:
140502        (WebCore):
140503        * platform/blackberry/PlatformScreenBlackBerry.cpp:
140504        (WebCore::screenAvailableRect):
140505        (WebCore::screenRect):
140506        * platform/chromium/PlatformScreenChromium.cpp:
140507        (WebCore::screenRect):
140508        (WebCore::screenAvailableRect):
140509        * platform/chromium/PlatformSupport.h:
140510        (WebCore):
140511        (PlatformSupport):
140512        ():
140513        * platform/efl/PlatformScreenEfl.cpp:
140514        (WebCore::screenRect):
140515        (WebCore::screenAvailableRect):
140516        * platform/gtk/PlatformScreenGtk.cpp:
140517        (WebCore::screenRect):
140518        (WebCore::screenAvailableRect):
140519        * platform/qt/PlatformScreenQt.cpp:
140520        (WebCore::screenRect):
140521        (WebCore::screenAvailableRect):
140522        * platform/win/PlatformScreenWin.cpp:
140523        (WebCore::screenRect):
140524        (WebCore::screenAvailableRect):
140525        * platform/wx/ScreenWx.cpp:
140526        (WebCore::screenRect):
140527        (WebCore::screenAvailableRect):
140528
140529        The Mac-only functions toUserSpace() and toDeviceSpace() were also updated to 
140530        take a parameter for the deviceScaleFactor.
140531        * platform/mac/PlatformScreenMac.mm:
140532        (WebCore::screenRect):
140533        (WebCore::screenAvailableRect):
140534        (WebCore::toUserSpace):
140535        (WebCore::toDeviceSpace):
140536
1405372012-01-30  Antti Koivisto  <antti@apple.com>
140538
140539        Kill CSSMutableStyleDeclarationConstIterator
140540        https://bugs.webkit.org/show_bug.cgi?id=77342
140541
140542        Reviewed by Sam Weinig.
140543
140544        CSSMutableStyleDeclaration is an array and should be iterated using an index. This simplifies the code.
140545
140546        * css/CSSMutableStyleDeclaration.cpp:
140547        (WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
140548        (WebCore::CSSMutableStyleDeclaration::removeProperty):
140549        (WebCore::CSSMutableStyleDeclaration::setProperty):
140550        (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
140551        (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
140552        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
140553        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
140554        (WebCore::CSSMutableStyleDeclaration::merge):
140555        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
140556        * css/CSSMutableStyleDeclaration.h:
140557        (WebCore):
140558        (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
140559        (CSSMutableStyleDeclaration):
140560        * css/CSSStyleDeclaration.cpp:
140561        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
140562        * css/CSSStyleDeclaration.h:
140563        (CSSStyleDeclaration):
140564        ():
140565        * css/CSSStyleSelector.cpp:
140566        (WebCore::CSSStyleSelector::styleForKeyframe):
140567        (WebCore::CSSStyleSelector::applyDeclaration):
140568        * editing/EditingStyle.cpp:
140569
1405702012-01-30  Michael Saboff  <msaboff@apple.com>
140571
140572        Dromaeo tests call parseSimpleLengthValue() on 8 bit strings
140573        https://bugs.webkit.org/show_bug.cgi?id=76649
140574
140575        Reviewed by Geoffrey Garen.
140576
140577        No functionality change, therefore no new tests.
140578
140579        Added 8 bit patch for parseSimpleLengthValue().
140580
140581        * css/CSSParser.cpp:
140582        (WebCore::parseSimpleLengthValue):
140583
1405842012-01-30  Michael Saboff  <msaboff@apple.com>
140585
140586        WebCore decodeEscapeSequences unnecessarily converts 8 bit strings to 16 bit when decoding.
140587        https://bugs.webkit.org/show_bug.cgi?id=76648
140588
140589        Reviewed by Geoffrey Garen.
140590
140591        Using new overloaded append(String&, offset, length)  member to build result string.
140592        The new member properly handles 8/16 bit-ness of strings.
140593
140594        Functionality not changed, therefore no new tests.
140595
140596        * platform/text/DecodeEscapeSequences.h:
140597        (WebCore::decodeEscapeSequences):
140598
1405992012-01-30  Pavel Feldman  <pfeldman@google.com>
140600
140601        Not reviewed: follow up to r105625, use proper event categoty in inspector frontend.
140602
140603        * inspector/front-end/BreakpointsSidebarPane.js:
140604        (WebInspector.EventListenerBreakpointsSidebarPane):
140605
1406062012-01-30  Parag Radke  <nrqv63@motorola.com>
140607
140608        REGRESSION (r82580): Reproducible crash in CSSPrimitiveValue::computeLengthDouble
140609        https://bugs.webkit.org/show_bug.cgi?id=61989
140610
140611        Reviewed by Simon Fraser.
140612
140613        According to css3 specs when font-size is specified in 'rems' for an element implies the font-size
140614        of the root element. In this case as HTML element has a property 'display:none' and hence renderer 
140615        is NULL causes this crash.
140616
140617        Test: fast/css/fontsize-unit-rems-crash.html
140618
140619        * css/CSSPrimitiveValue.cpp:
140620        (WebCore::CSSPrimitiveValue::computeLengthDouble):
140621        Added a null check for the root element's RenderStyle as it can be null in case of html has a property
140622        hidden or display:none.
140623
1406242012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
140625
140626        [Qt] WKTR: Use a software rendering pipiline when running tests.
140627        https://bugs.webkit.org/show_bug.cgi?id=76708
140628
140629        Reviewed by Kenneth Rohde Christiansen.
140630
140631        * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
140632        (WebCore::TextureMapperQt::setGraphicsContext):
140633        * platform/graphics/qt/TextureMapperQt.h:
140634        (WebCore::TextureMapperQt::initialize):
140635
1406362012-01-27  Enrica Casucci  <enrica@apple.com>
140637
140638        Remove all references to NSPasteboard objects from the Pasteboard
140639        class interface on Mac.
140640        https://bugs.webkit.org/show_bug.cgi?id=77261
140641        
140642        This is cleanup work needed as first step in the direction of
140643        removing access to NSPasteboard from the WebProcess.
140644        This way all access to the NSPasteboard object are internal to
140645        the class.
140646        Removed static methods taking NSPasteboard as paramenter and changed
140647        the constructor of the class to take the pasteboard name instead of
140648        the NSPasteboard object.
140649
140650        Reviewed by Alexey Proskuryakov.
140651
140652        No new tests. There is no change in behavior.
140653
140654        * editing/Editor.cpp: Removed ununsed private method writeSelectionToPasteboard.
140655        (WebCore):
140656        * editing/Editor.h: Ditto.
140657        (Editor):
140658        ():
140659        * editing/mac/EditorMac.mm:
140660        (WebCore::Editor::writeSelectionToPasteboard):
140661        (WebCore::Editor::readSelectionFromPasteboard):
140662        * platform/Pasteboard.h:
140663        (Pasteboard):
140664        * platform/mac/ClipboardMac.mm:
140665        (WebCore::ClipboardMac::writeRange):
140666        (WebCore::ClipboardMac::writePlainText):
140667        (WebCore::ClipboardMac::writeURL):
140668        * platform/mac/DragDataMac.mm:
140669        (WebCore::DragData::asPlainText):
140670        (WebCore::DragData::asURL):
140671        (WebCore::DragData::asFragment):
140672        * platform/mac/PasteboardMac.mm:
140673        (WebCore::Pasteboard::generalPasteboard):
140674        (WebCore::Pasteboard::Pasteboard):
140675        (WebCore::Pasteboard::writeSelectionForTypes): Added.
140676        (WebCore::Pasteboard::writePlainText):
140677        (WebCore::Pasteboard::writeSelection):
140678        (WebCore::Pasteboard::writeURLForTypes): Added.
140679        (WebCore::Pasteboard::writeURL):
140680        (WebCore::Pasteboard::writeImage):
140681
1406822012-01-29  Antti Koivisto  <antti@apple.com>
140683
140684        Reduce non-CSSOM API of CSSStyleDeclaration
140685        https://bugs.webkit.org/show_bug.cgi?id=77299
140686
140687        Reviewed by Andreas Kling.
140688
140689        CSSStyleDeclaration should expose the CSSOM API only. Subclasses should expose the internal API only. 
140690        This will move us closer to being able to split the CSSOM API from the internal implementation.
140691        
140692        - Make CSSStyleDeclaration CSSOM functions virtual, internal functions non-virtual.
140693        - Move implementations to subclasses (CSSComputedStyleDeclaration, CSSMutableStyleDeclaration).
140694        - Make CSSOM functions in the subclasses private (making it harder to invoke them internally).
140695        - Switch a bunch of places to use internal API instead of CSSOM.
140696
140697        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
140698        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
140699        (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
140700        
140701            Switch to *Internal versions of the CSSOM functions.
140702        
140703        * css/CSSComputedStyleDeclaration.cpp:
140704        (WebCore):
140705        (WebCore::CSSComputedStyleDeclaration::length):
140706        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
140707        (WebCore::CSSComputedStyleDeclaration::copyPropertiesInSet):
140708        
140709            Move copyPropertiesInSet to subclasses, devirtualize.
140710            
140711        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
140712        (WebCore::CSSComputedStyleDeclaration::getPropertyValue):
140713        (WebCore::CSSComputedStyleDeclaration::getPropertyPriority):
140714        (WebCore::CSSComputedStyleDeclaration::getPropertyShorthand):
140715        (WebCore::CSSComputedStyleDeclaration::isPropertyImplicit):
140716        (WebCore::CSSComputedStyleDeclaration::setProperty):
140717        (WebCore::CSSComputedStyleDeclaration::removeProperty):
140718        * css/CSSComputedStyleDeclaration.h:
140719        (CSSComputedStyleDeclaration):
140720        * css/CSSFontFaceRule.cpp:
140721        (WebCore::CSSFontFaceRule::cssText):
140722        * css/CSSMutableStyleDeclaration.cpp:
140723        (WebCore::CSSMutableStyleDeclaration::length):
140724        (WebCore::CSSMutableStyleDeclaration::asText):
140725        (WebCore::CSSMutableStyleDeclaration::cssText):
140726        (WebCore):
140727        (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
140728        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
140729        (WebCore::CSSMutableStyleDeclaration::getPropertyPriority):
140730        (WebCore::CSSMutableStyleDeclaration::getPropertyShorthand):
140731        (WebCore::CSSMutableStyleDeclaration::isPropertyImplicit):
140732        (WebCore::CSSMutableStyleDeclaration::setProperty):
140733        (WebCore::CSSMutableStyleDeclaration::removeProperty):
140734        (WebCore::CSSMutableStyleDeclaration::copyPropertiesInSet):
140735        
140736            Move copyPropertiesInSet to subclasses, devirtualize.
140737        
140738        (WebCore::CSSMutableStyleDeclaration::cssPropertyMatches):
140739        (WebCore::CSSMutableStyleDeclaration::removeEquivalentProperties):
140740        
140741            Move diff() to CSSMutableStyleDeclaration, rename to removeEquivalentProperties, switch to mutate
140742            this object instead of the argument object.
140743    
140744        * css/CSSMutableStyleDeclaration.h:
140745        (CSSMutableStyleDeclaration):
140746        (WebCore::CSSMutableStyleDeclaration::propertyCount):
140747        (WebCore::CSSMutableStyleDeclaration::isEmpty):
140748        (WebCore::CSSMutableStyleDeclaration::propertyAt):
140749        
140750            Expose properties and property count internally (iterator should be removed in favor of these).
140751        
140752        * css/CSSStyleDeclaration.cpp:
140753        (WebCore):
140754        * css/CSSStyleDeclaration.h:
140755        (CSSStyleDeclaration):
140756        (WebCore::CSSStyleDeclaration::getPropertyCSSValueInternal):
140757        (WebCore::CSSStyleDeclaration::getPropertyValueInternal):
140758        (WebCore::CSSStyleDeclaration::setPropertyInternal):
140759        
140760            Add *Internal versions of some CSSOM APIs to support some editing and bindings uses.
140761            These take propertyIDs instead of strings names.
140762
140763        * css/CSSStyleRule.cpp:
140764        (WebCore::CSSStyleRule::cssText):
140765        * css/CSSStyleSelector.cpp:
140766        (WebCore::leftToRightDeclaration):
140767        (WebCore::rightToLeftDeclaration):
140768        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
140769        (WebCore::CSSStyleSelector::matchPageRulesForList):
140770        * css/WebKitCSSKeyframeRule.cpp:
140771        (WebCore::WebKitCSSKeyframeRule::cssText):
140772        * dom/StyledElement.cpp:
140773        (WebCore::StyledElement::updateStyleAttribute):
140774        * editing/ApplyStyleCommand.cpp:
140775        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
140776        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
140777        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
140778        (WebCore::ApplyStyleCommand::applyInlineStyleToPushDown):
140779        (WebCore::ApplyStyleCommand::addBlockStyle):
140780        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
140781        * editing/EditingStyle.cpp:
140782        ():
140783        (WebCore::copyEditingProperties):
140784        (WebCore):
140785        (WebCore::propertyCSSValue):
140786        (WebCore::getRGBAFontColor):
140787        (WebCore::EditingStyle::overrideWithStyle):
140788        (WebCore::EditingStyle::removeStyleAddedByNode):
140789        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
140790        (WebCore::EditingStyle::triStateOfStyle):
140791        (WebCore::EditingStyle::styleIsPresentInComputedStyleOfNode):
140792        (WebCore::EditingStyle::prepareToApplyAt):
140793        (WebCore::removePropertiesInStyle):
140794        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
140795        (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
140796        (WebCore::StyleChange::StyleChange):
140797        (WebCore::fontWeightIsBold):
140798        (WebCore::getPropertiesNotIn):
140799        (WebCore::getIdentifierValue):
140800        (WebCore::hasTransparentBackgroundColor):
140801        * editing/EditingStyle.h:
140802        
140803            Adapt to changes.
140804    
140805        (WebCore):
140806        * editing/ReplaceSelectionCommand.cpp:
140807        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
140808        (WebCore::handleStyleSpansBeforeInsertion):
140809        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
140810        * editing/mac/EditorMac.mm:
140811        (WebCore::styleForSelectionStart):
140812        * editing/markup.cpp:
140813        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
140814        (WebCore::StyledMarkupAccumulator::appendElement):
140815        * html/ImageDocument.cpp:
140816        (WebCore::ImageDocument::resizeImageToFit):
140817        (WebCore::ImageDocument::restoreImageSize):
140818        (WebCore::ImageDocument::windowSizeChanged):
140819        * html/canvas/CanvasRenderingContext2D.cpp:
140820        (WebCore::CanvasRenderingContext2D::setFont):
140821        * html/canvas/CanvasStyle.cpp:
140822        (WebCore::currentColor):
140823        * inspector/InspectorStyleSheet.cpp:
140824        (WebCore::InspectorStyleSheet::revalidateStyle):
140825        * page/PageSerializer.cpp:
140826        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
140827        * rendering/RenderTreeAsText.cpp:
140828        (WebCore::isEmptyOrUnstyledAppleStyleSpan):
140829        * svg/SVGStyledElement.cpp:
140830        (WebCore::SVGStyledElement::getPresentationAttribute):
140831
1408322012-01-30  Pavel Feldman  <pfeldman@google.com>
140833
140834        Web Inspector: protocol validator should fail if one of response fields turns optional
140835        https://bugs.webkit.org/show_bug.cgi?id=76452
140836
140837        Reviewed by Yury Semikhatsky.
140838
140839        * inspector/Inspector-0.1.json:
140840        * inspector/Inspector.json:
140841        * inspector/generate-inspector-protocol-version:
140842        (compare_commands):
140843        (compare_events):
140844        (compare_params_list):
140845        (compare_types):
140846        (self_test):
140847
1408482012-01-30  Yury Semikhatsky  <yurys@chromium.org>
140849
140850        Web Inspector: keyboard navigation through comparison view in heap profiler should update retainers view
140851        https://bugs.webkit.org/show_bug.cgi?id=77326
140852
140853        Keyboard navigation in the detailed heap snapshot view now updates retainers view.
140854
140855        Reviewed by Pavel Feldman.
140856
140857        * inspector/front-end/DataGrid.js: Added SelectedNode/DeselectedNode events to DataGrid.
140858        (WebInspector.DataGridNode.prototype.select):
140859        (WebInspector.DataGridNode.prototype.deselect):
140860        * inspector/front-end/DetailedHeapshotView.js:
140861        (WebInspector.DetailedHeapshotView.prototype._selectionChanged):
140862        (WebInspector.DetailedHeapshotView.prototype._setRetainmentDataGridSource):
140863
1408642012-01-30  Yury Semikhatsky  <yurys@chromium.org>
140865
140866        Unreviewed. Fix inspector front-end compilation.
140867
140868        * inspector/front-end/RemoteObject.js:
140869        (WebInspector.RemoteObject):
140870        (WebInspector.RemoteObject.fromPayload):
140871
1408722012-01-30  Roland Steiner  <rolandsteiner@chromium.org>
140873
140874        Node::parentOrHostElement(): Node::shadowHost() already returns an Element*
140875        https://bugs.webkit.org/show_bug.cgi?id=77332
140876
140877        Reviewed by Kent Tamura.
140878
140879        No new tests. (simple refactoring)
140880
140881        * dom/Node.cpp:
140882        (WebCore::Node::parentOrHostElement):
140883
1408842012-01-30  Carlos Garcia Campos  <cgarcia@igalia.com>
140885
140886        Unreviewed. Fix make distcheck.
140887
140888        * GNUmakefile.am: Add idl files in Source/WebCore/html/shadow/ to
140889        EXTRA_DIST.
140890        * GNUmakefile.list.am: Add missing files.
140891
1408922012-01-27  Vsevolod Vlasov  <vsevik@chromium.org>
140893
140894        Web Inspector: TabbedEditorContainer should save open tabs.
140895        https://bugs.webkit.org/show_bug.cgi?id=76912
140896
140897        Reviewed by Pavel Feldman.
140898
140899        Test: inspector/tabbed-editors-history.html
140900
140901        * inspector/front-end/ScriptsPanel.js:
140902        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded):
140903        (WebInspector.ScriptsPanel.prototype._reset):
140904        (WebInspector.ScriptsPanel.prototype._showFile):
140905        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
140906        (WebInspector.ScriptsPanel.prototype._editorSelected):
140907        (WebInspector.EditorContainer.prototype.uiSourceCodeAdded):
140908        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
140909        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
140910        * inspector/front-end/TabbedEditorContainer.js:
140911        (WebInspector.TabbedEditorContainer):
140912        (WebInspector.TabbedEditorContainer.prototype.showFile):
140913        (WebInspector.TabbedEditorContainer.prototype._editorClosedByUserAction):
140914        (WebInspector.TabbedEditorContainer.prototype._editorSelectedByUserAction):
140915        (WebInspector.TabbedEditorContainer.prototype._updateHistory.tabIdToURL):
140916        (WebInspector.TabbedEditorContainer.prototype._updateHistory):
140917        (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
140918        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
140919        (WebInspector.TabbedEditorContainer.prototype._tabSelected):
140920        (WebInspector.TabbedEditorContainer.prototype.reset):
140921        (WebInspector.TabbedEditorContainer.History):
140922        (WebInspector.TabbedEditorContainer.History.prototype.index):
140923        (WebInspector.TabbedEditorContainer.History.prototype.update):
140924        (WebInspector.TabbedEditorContainer.History.prototype.remove):
140925        (WebInspector.TabbedEditorContainer.History.prototype.save):
140926        * inspector/front-end/TabbedPane.js:
140927        (WebInspector.TabbedPane.prototype.appendTab):
140928        (WebInspector.TabbedPane.prototype.closeTab):
140929        (WebInspector.TabbedPane.prototype._innerCloseTab):
140930        (WebInspector.TabbedPane.prototype.closeAllTabs):
140931        (WebInspector.TabbedPane.prototype.lastOpenedTabIds):
140932        (WebInspector.TabbedPane.prototype._tabsSelectChanged):
140933
1409342012-01-30  Alexander Pavlov  <apavlov@chromium.org>
140935
140936        Web Inspector: [Styles] Unable to paste and subsequently edit multiple properties in the Styles pane
140937        https://bugs.webkit.org/show_bug.cgi?id=77209
140938
140939        Reviewed by Pavel Feldman.
140940
140941        Check if the property value contains a ";" before kicking the freeflow text update.
140942
140943        * inspector/front-end/StylesSidebarPane.js:
140944        (WebInspector.StylePropertyTreeElement.prototype):
140945
1409462012-01-30  Vsevolod Vlasov  <vsevik@chromium.org>
140947
140948        Web Inspector: Change Open Resource and Go To function shortcuts in scripts panel.
140949        https://bugs.webkit.org/show_bug.cgi?id=77321
140950
140951        Reviewed by Pavel Feldman.
140952
140953        * inspector/front-end/FilteredItemSelectionDialog.js:
140954        (WebInspector.JavaScriptOutlineDialog.createShortcut):
140955        (WebInspector.OpenResourceDialog.createShortcut):
140956        * inspector/front-end/ScriptsPanel.js:
140957
1409582012-01-30  Yury Semikhatsky  <yurys@chromium.org>
140959
140960        Web Inspector: hide function popover in heap snapshot view before navigating to the function definition
140961        https://bugs.webkit.org/show_bug.cgi?id=77330
140962
140963        Reviewed by Pavel Feldman.
140964
140965        * inspector/front-end/DetailedHeapshotView.js:
140966        (WebInspector.DetailedHeapshotView.prototype.willHide):
140967
1409682012-01-30  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
140969
140970        [BlackBerry] Credential backing store implementation
140971        https://bugs.webkit.org/show_bug.cgi?id=76761
140972
140973        Reviewed by Antonio Gomes.
140974
140975        Implemented credential backing store database and related
140976        operations in class CredentialBackingStore.
140977
140978        * platform/network/blackberry/CredentialBackingStore.cpp:
140979        (WebCore::CredentialBackingStore::~CredentialBackingStore):
140980        (WebCore::CredentialBackingStore::open):
140981        (WebCore::CredentialBackingStore::close):
140982        (WebCore::CredentialBackingStore::addLogin):
140983        (WebCore::CredentialBackingStore::updateLogin):
140984        (WebCore::CredentialBackingStore::hasLogin):
140985        (WebCore::CredentialBackingStore::getLogin):
140986        (WebCore::CredentialBackingStore::removeLogin):
140987        (WebCore::CredentialBackingStore::clear):
140988
1409892012-01-30  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
140990
140991        Only send resize events when layout size changes.
140992        https://bugs.webkit.org/show_bug.cgi?id=77212
140993
140994        When using fixed layout the widget size is the size of content, therefore
140995        resize checks must check against layoutsize and not widget size.
140996
140997        Reviewed by Kenneth Rohde Christiansen.
140998
140999        Needs to be manual tests because the test framework does not currently
141000        support testing fixed layout.
141001
141002        Tests: ManualTests/resize-events.html
141003
141004        * page/FrameView.cpp:
141005        (WebCore::FrameView::layout):
141006        (WebCore::FrameView::performPostLayoutTasks):
141007
1410082012-01-30  Pavel Feldman  <pfeldman@google.com>
141009
141010        Web Inspector: TimelinePanel does not respect InspectorFrontendHost.canSaveAs
141011        https://bugs.webkit.org/show_bug.cgi?id=77301
141012
141013        Reviewed by Vsevolod Vlasov.
141014
141015        * inspector/front-end/TimelinePanel.js:
141016        (WebInspector.TimelinePanel.prototype._registerShortcuts):
141017
1410182012-01-30  Nikolas Zimmermann  <nzimmermann@rim.com>
141019
141020        Not reviewed. Fix Clang build for real after r106218.
141021
141022        * inspector/CodeGeneratorInspector.py:
141023        (Generator.go): Add virtual destructor to the ABCs.
141024
1410252012-01-30  Shinya Kawanaka  <shinyak@google.com>
141026
141027        No need to keep anonymous RenderBlock in DETAILS.
141028        https://bugs.webkit.org/show_bug.cgi?id=77322
141029
141030        Reviewed by Hajime Morita.
141031
141032        Anonymous RenderBlock of DETAILS element was not squashed when detaching them.
141033        However, it should be removed.
141034
141035        No new tests. Should be covered by existing tests.
141036
141037        * rendering/RenderBlock.cpp:
141038        (WebCore::canMergeContiguousAnonymousBlocks):
141039
1410402012-01-30  Zoltan Herczeg  <zherczeg@webkit.org>
141041
141042        Custom written CSS lexer
141043        https://bugs.webkit.org/show_bug.cgi?id=70107
141044
141045        Rubber Stamped by Csaba Osztrogonác.
141046
141047        Do not advance pointer at the end of input, just
141048        keep returning with END_TOKEN.
141049
141050        * css/CSSParser.cpp:
141051        (WebCore::CSSParser::lex):
141052
1410532012-01-30  Shinya Kawanaka  <shinyak@google.com>
141054
141055        The query selector for HTMLContentElement should follow the shadow dom spec.
141056        https://bugs.webkit.org/show_bug.cgi?id=75946
141057
141058        Reviewed by Hajime Morita.
141059
141060        Checks the query selector of HTMLContentElement is valid.
141061        If not valid, the selector won't match anything, and shows fallback element.
141062
141063        Test: fast/dom/shadow/content-selector-query.html
141064
141065        * html/shadow/ContentSelectorQuery.cpp:
141066        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
141067        (WebCore::ContentSelectorQuery::isValidSelector):
141068        (WebCore::ContentSelectorQuery::matches):
141069          When a select query is not valid, any element won't be matched.
141070        (WebCore::validateSubSelector):
141071        (WebCore::validateSelector):
141072        (WebCore::ContentSelectorQuery::validateSelectorList):
141073          Validate selectors.
141074        * html/shadow/ContentSelectorQuery.h:
141075        * html/shadow/HTMLContentElement.cpp:
141076        (WebCore::HTMLContentElement::isSelectValid):
141077          Returns true if select attribute is valid.
141078        * html/shadow/HTMLContentElement.h:
141079        * testing/Internals.cpp:
141080        (WebCore::Internals::isValidContentSelect):
141081        * testing/Internals.h:
141082        * testing/Internals.idl:
141083
1410842012-01-30  Hans Wennborg  <hans@chromium.org>
141085
141086        Unreviewed, rolling out r106219.
141087        http://trac.webkit.org/changeset/106219
141088        https://bugs.webkit.org/show_bug.cgi?id=77083
141089
141090        This broke Chromium's test_shell.
141091
141092        * GNUmakefile.list.am:
141093        * Target.pri:
141094        * WebCore.gypi:
141095        * WebCore.vcproj/WebCore.vcproj:
141096        * WebCore.xcodeproj/project.pbxproj:
141097        * platform/mock/SpeechInputClientMock.cpp: Added.
141098        (WebCore):
141099        (WebCore::SpeechInputClientMock::SpeechInputClientMock):
141100        (WebCore::SpeechInputClientMock::setListener):
141101        (WebCore::SpeechInputClientMock::startRecognition):
141102        (WebCore::SpeechInputClientMock::stopRecording):
141103        (WebCore::SpeechInputClientMock::cancelRecognition):
141104        (WebCore::SpeechInputClientMock::addRecognitionResult):
141105        (WebCore::SpeechInputClientMock::clearResults):
141106        (WebCore::SpeechInputClientMock::timerFired):
141107        * platform/mock/SpeechInputClientMock.h: Added.
141108        (WebCore):
141109        (SpeechInputClientMock):
141110
1411112012-01-30  Yury Semikhatsky  <yurys@chromium.org>
141112
141113        Unreviewed. Clang build fix after r106218
141114
141115        * inspector/CodeGeneratorInspector.py:
141116
1411172012-01-30  ChangSeok Oh  <shivamidow@gmail.com>
141118
141119        Make GraphicsContext3DPrivate of GTK port shareable.
141120        https://bugs.webkit.org/show_bug.cgi?id=77296
141121
141122        Reviewed by Eric Seidel.
141123
141124        GraphicsContext3DPrivate.cpp/h of GTK port look shareable with another port
141125        using glx backend for WebGL. For example, EFL port.
141126        Moved GraphicsContext3DPrivate.cpp and its header into Source/WebCore/platform/graphics/glx.
141127
141128        No new tests required, because of no new feature.
141129
141130        * GNUmakefile.am:
141131        * GNUmakefile.list.am:
141132        * platform/graphics/glx/GraphicsContext3DPrivate.cpp: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.cpp.
141133        (sharedDisplay):
141134        (WebCore):
141135        (WebCore::activeGraphicsContexts):
141136        (WebCore::GraphicsContext3DPrivate::addActiveGraphicsContext):
141137        (WebCore::GraphicsContext3DPrivate::removeActiveGraphicsContext):
141138        (WebCore::GraphicsContext3DPrivate::cleanupActiveContextsAtExit):
141139        (WebCore::GraphicsContext3DPrivate::create):
141140        (WebCore::GraphicsContext3DPrivate::createPbufferContext):
141141        (WebCore::GraphicsContext3DPrivate::createPixmapContext):
141142        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
141143        (WebCore::GraphicsContext3DPrivate::~GraphicsContext3DPrivate):
141144        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
141145        * platform/graphics/glx/GraphicsContext3DPrivate.h: Renamed from Source/WebCore/platform/graphics/gtk/GraphicsContext3DPrivate.h.
141146        (WebCore):
141147        (GraphicsContext3DPrivate):
141148
1411492012-01-26  Hans Wennborg  <hans@chromium.org>
141150
141151        Speech Input: move MockSpeechInputClient into Chromium DumpRenderTree implementation
141152        https://bugs.webkit.org/show_bug.cgi?id=77083
141153
141154        Reviewed by Darin Fisher.
141155
141156        Remove SpeechInputClientMock. The mock is moving to the DumpRenderTree
141157        implementation.
141158
141159        No new tests, just refactoring.
141160
141161        * GNUmakefile.list.am:
141162        * Target.pri:
141163        * WebCore.gypi:
141164        * WebCore.vcproj/WebCore.vcproj:
141165        * WebCore.xcodeproj/project.pbxproj:
141166        * platform/mock/SpeechInputClientMock.cpp: Removed.
141167        * platform/mock/SpeechInputClientMock.h: Removed.
141168
1411692012-01-30  Peter Rybin  <peter.rybin@gmail.com>
141170
141171        Web Inspector: CodeGeneratorInspector.py: clean InspectorBackendDispatcher.h
141172        https://bugs.webkit.org/show_bug.cgi?id=77062
141173
141174        Reviewed by Yury Semikhatsky.
141175
141176        Code generator is changed. Now it generates InspectorBackendDispatcher
141177        as an abstract class so that implementation details could be fully
141178        hidden in .cpp file in a separate 'impl' class. This should make .h
141179        file more clear.
141180        Also new formal interfaces to domain agents are generated. This is an
141181        improvement over the current case when interfaces to agents are
141182        definen implicitly at calling sites.
141183
141184        * inspector/CodeGeneratorInspector.py:
141185        (RawTypes):
141186        (RawTypes.OutputPassModel):
141187        (RawTypes.OutputPassModel.ByPointer):
141188        (RawTypes.OutputPassModel.ByPointer.get_argument_prefix):
141189        (RawTypes.OutputPassModel.ByPointer.get_parameter_type_suffix):
141190        (RawTypes.OutputPassModel.ByReference):
141191        (RawTypes.OutputPassModel.ByReference.get_argument_prefix):
141192        (RawTypes.OutputPassModel.ByReference.get_parameter_type_suffix):
141193        (RawTypes.BaseType.is_event_param_check_optional):
141194        (RawTypes.String):
141195        (RawTypes.String.get_output_pass_model):
141196        (RawTypes.String.is_heavy_value):
141197        (RawTypes.Int):
141198        (RawTypes.Int.get_output_pass_model):
141199        (RawTypes.Int.is_heavy_value):
141200        (RawTypes.Number):
141201        (RawTypes.Number.get_output_pass_model):
141202        (RawTypes.Number.is_heavy_value):
141203        (RawTypes.Bool.get_c_param_type):
141204        (RawTypes.Bool):
141205        (RawTypes.Bool.get_output_pass_model):
141206        (RawTypes.Bool.is_heavy_value):
141207        (RawTypes.Object):
141208        (RawTypes.Object.get_output_pass_model):
141209        (RawTypes.Object.is_heavy_value):
141210        (RawTypes.Any.get_c_initializer):
141211        (RawTypes.Any):
141212        (RawTypes.Any.get_output_pass_model):
141213        (RawTypes.Any.is_heavy_value):
141214        (RawTypes.Array):
141215        (RawTypes.Array.get_output_pass_model):
141216        (RawTypes.Array.is_heavy_value):
141217        (InspectorBackendDispatcherImpl):
141218        (void):
141219        (Generator):
141220        (Generator.go):
141221        (Generator.process_command):
141222        * inspector/InspectorController.cpp:
141223        (WebCore::InspectorController::connectFrontend):
141224        * inspector/WorkerInspectorController.cpp:
141225        (WebCore::WorkerInspectorController::connectFrontend):
141226
1412272012-01-29  Zoltan Herczeg  <zherczeg@webkit.org>
141228
141229        Custom written CSS lexer
141230        https://bugs.webkit.org/show_bug.cgi?id=70107
141231
141232        Reviewed by Antti Koivisto and Oliver Hunt.
141233
141234        This patch replaces the flex based CSS lexer to a
141235        new, custom written one. The new code is more
141236        than 2 times faster according to oprofile and CPU
141237        cycle counters.
141238
141239        The code structure is quite straightforward: it choose
141240        the possible token group based on the first character
141241        and employ utility functions to parse the longer than
141242        one character long ones. Most of the utilities are inline
141243        to make the lexer fast.
141244
141245        All build systems updated. Including removing the flex support.
141246
141247        Existing tests cover this feature.
141248
141249        * CMakeLists.txt:
141250        * DerivedSources.make:
141251        * DerivedSources.pri:
141252        * GNUmakefile.am:
141253        * GNUmakefile.list.am:
141254        * WebCore.gyp/WebCore.gyp:
141255        * WebCore.gyp/scripts/action_maketokenizer.py: Removed.
141256        * WebCore.gypi:
141257        * WebCore.vcproj/WebCore.vcproj:
141258        * WebCore.xcodeproj/project.pbxproj:
141259        * css/CSSParser.cpp:
141260        (WebCore::CSSParser::CSSParser):
141261        (WebCore::CSSParser::setupParser):
141262        (WebCore::parseSimpleLengthValue):
141263        (WebCore::mightBeRGBA):
141264        (WebCore::mightBeRGB):
141265        ():
141266        (WebCore::isCSSLetter):
141267        (WebCore):
141268        (WebCore::isCSSEscape):
141269        (WebCore::isURILetter):
141270        (WebCore::isIdentifierStartAfterDash):
141271        (WebCore::isEqualToCSSIdentifier):
141272        (WebCore::checkAndSkipEscape):
141273        (WebCore::skipWhiteSpace):
141274        (WebCore::CSSParser::isIdentifierStart):
141275        (WebCore::CSSParser::checkAndSkipString):
141276        (WebCore::CSSParser::parseEscape):
141277        (WebCore::CSSParser::parseIdentifier):
141278        (WebCore::CSSParser::parseString):
141279        (WebCore::CSSParser::parseURI):
141280        (WebCore::CSSParser::parseUnicodeRange):
141281        (WebCore::CSSParser::parseNthChild):
141282        (WebCore::CSSParser::parseNthChildExtra):
141283        (WebCore::CSSParser::detectFunctionTypeToken):
141284        (WebCore::CSSParser::detectMediaQueryToken):
141285        (WebCore::CSSParser::detectNumberToken):
141286        (WebCore::CSSParser::detectDashToken):
141287        (WebCore::CSSParser::detectAtToken):
141288        (WebCore::CSSParser::lex):
141289        (WebCore::CSSParser::markSelectorListStart):
141290        (WebCore::CSSParser::markSelectorListEnd):
141291        (WebCore::CSSParser::markRuleBodyStart):
141292        (WebCore::CSSParser::markRuleBodyEnd):
141293        (WebCore::CSSParser::markPropertyStart):
141294        (WebCore::CSSParser::markPropertyEnd):
141295        * css/CSSParser.h:
141296        (WebCore::CSSParser::token):
141297        (CSSParser):
141298        ():
141299        * css/tokenizer.flex: Removed.
141300
1413012012-01-29  Dale Curtis  <dalecurtis@chromium.org>
141302
141303        Prepare WebCore.gyp for ffmpeg source transition.
141304        https://bugs.webkit.org/show_bug.cgi?id=77254
141305
141306        We're migrating our ffmpeg repo from a set of patches living on top of
141307        a tarball to an actual git fork of upstream.  The paths have changed
141308        slightly.
141309
141310        In order to not break the current build, we'll keep both paths around
141311        until the transition is complete.  Afterward the 'patched-ffmpeg' path
141312        will be removed.
141313
141314        Reviewed by Tony Chang.
141315
141316        No new tests. GYP change, if it doesn't work, nothing will compile.
141317
141318        * WebCore.gyp/WebCore.gyp:
141319
1413202012-01-29  Hayato Ito  <hayato@chromium.org>
141321
141322        Add a ShadowRoot constructor as 'WebKitShadowRootConstructor', enabled by SHADOW_DOM flag.
141323        https://bugs.webkit.org/show_bug.cgi?id=76354
141324
141325        Reviewed by Hajime Morita.
141326
141327        We use vendor-prefixed name, 'WebKitShadowRoot', instead of 'ShadowRoot'
141328        since this is a feature under development.
141329
141330        * dom/ShadowRoot.cpp:
141331        (WebCore::ShadowRoot::create):
141332        (WebCore):
141333        * dom/ShadowRoot.h:
141334        (WebCore):
141335        (ShadowRoot):
141336        * dom/ShadowRoot.idl:
141337        * page/DOMWindow.idl:
141338
1413392012-01-29  Noel Gordon  <noel.gordon@gmail.com>
141340
141341        [chromium] Use decoding swizzle only on libjpeg-turbo 1.1.90+
141342        https://bugs.webkit.org/show_bug.cgi?id=74286
141343
141344        Reviewed by Kenneth Russell.
141345
141346        No new tests. Covered by many existing tests: in particular 
141347            fast/images/*, fast/canvas/*,
141348            tables/mozilla/bugs/bug29314.html
141349            tables/mozilla/bugs/bug13169.html
141350            tables/mozilla/bugs/bug10565.html
141351            tables/mozilla/bugs/bug11026.html
141352            fast/repaint/backgroundSizeRepaint.html
141353            fast/repaint/block-layout-inline-children-replaced.html
141354            fast/repaint/clipped-relative.html
141355            fast/repaint/selected-replaced.html
141356            tables/mozilla/bugs/bug12908-1.html
141357
141358        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
141359        (rgbOutputColorSpace): Swizzle decode iff libjpeg-turbo is r732 or above.
141360
1413612012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
141362
141363        Unreviewed, rolling out r105999.
141364        http://trac.webkit.org/changeset/105999
141365        https://bugs.webkit.org/show_bug.cgi?id=77304
141366
141367        Validating that this caused a performance regression in page
141368        load tests. (Requested by leviw on #webkit).
141369
141370        * dom/NamedNodeMap.cpp:
141371        * dom/NamedNodeMap.h:
141372        (NamedNodeMap):
141373        * dom/StyledElement.cpp:
141374        (WebCore::StyledElement::updateStyleAttribute):
141375        (WebCore::StyledElement::createInlineStyleDecl):
141376        (WebCore):
141377        (WebCore::StyledElement::destroyInlineStyleDecl):
141378        (WebCore::StyledElement::ensureInlineStyleDecl):
141379        (WebCore::StyledElement::style):
141380        (WebCore::StyledElement::addSubresourceAttributeURLs):
141381        * dom/StyledElement.h:
141382        (WebCore::StyledElement::inlineStyleDecl):
141383        (StyledElement):
141384
1413852012-01-29  Sheriff Bot  <webkit.review.bot@gmail.com>
141386
141387        Unreviewed, rolling out r106109.
141388        http://trac.webkit.org/changeset/106109
141389        https://bugs.webkit.org/show_bug.cgi?id=77302
141390
141391        It made tests crash (Requested by Ossy_weekend on #webkit).
141392
141393        * platform/graphics/qt/TextureMapperQt.cpp:
141394        (WebCore::TextureMapperQt::setGraphicsContext):
141395        * platform/graphics/qt/TextureMapperQt.h:
141396        (WebCore::TextureMapperQt::initialize):
141397
1413982012-01-28  Alexander Færøy  <ahf@0x90.dk>
141399
141400        [Qt] Remove references to CSSBorderImageValue.h in Target.pri
141401        https://bugs.webkit.org/show_bug.cgi?id=77277
141402
141403        Reviewed by Antonio Gomes.
141404
141405        CSSBorderImageValue.h was removed in r105502.
141406
141407        * Target.pri:
141408
1414092012-01-28  Julien Chaffraix  <jchaffraix@webkit.org>
141410
141411        REGRESSION (r94016): Element with visibility:hidden but visible descendant may not be properly repainted
141412        https://bugs.webkit.org/show_bug.cgi?id=76126
141413
141414        Reviewed by Simon Fraser.
141415
141416        Tests: fast/layers/scroll-no-visible-content-but-visible-descendant-expected.html
141417               fast/layers/scroll-no-visible-content-but-visible-descendant.html
141418
141419        The optimization missed out that if the current layer does not have some visible content
141420        (m_hasVisibleContent is false), a descendant could totally be visible and would need to
141421        have its repaint rectangles recomputed.
141422
141423        * rendering/RenderLayer.cpp:
141424        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
141425        Bail out only if the layer doesn't have visible content AND no visible descendants.
141426
1414272012-01-27  Chris Marrin  <cmarrin@apple.com>
141428
141429        Get rid of TransformOperationList
141430        https://bugs.webkit.org/show_bug.cgi?id=77249
141431
141432        Reviewed by Dan Bernstein.
141433
141434        Changed fetchTransformOperationList to validateTransformOperations and got rid of separately generated list
141435        of transform operations. These are not needed, they are already available in the keyframe lists and they
141436        make it more difficult to add support for hardware animated filters. No behavior changes.
141437
141438
141439        * platform/graphics/GraphicsLayer.cpp:
141440        (WebCore::GraphicsLayer::validateTransformOperations):
141441        * platform/graphics/GraphicsLayer.h:
141442        (GraphicsLayer):
141443        * platform/graphics/ca/GraphicsLayerCA.cpp:
141444        (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
141445        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
141446        * platform/graphics/ca/GraphicsLayerCA.h:
141447        ():
141448        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
141449        (WebCore::GraphicsLayerTextureMapper::addAnimation):
141450        * platform/graphics/texmap/TextureMapperAnimation.cpp:
141451        (WebCore::applyTransformAnimation):
141452        (WebCore::TextureMapperAnimation::TextureMapperAnimation):
141453        (WebCore::TextureMapperAnimation::applyInternal):
141454        * platform/graphics/texmap/TextureMapperAnimation.h:
141455        (TextureMapperAnimation):
141456
1414572012-01-27  Raymond Toy  <rtoy@google.com>
141458
141459        AudioPannerNode::setPanningModel() does not update m_panningModel properly
141460        https://bugs.webkit.org/show_bug.cgi?id=66830
141461
141462        Reviewed by Kenneth Russell.
141463
141464        Test: webaudio/panner-set-model.html
141465
141466        * webaudio/AudioPannerNode.cpp:
141467        (WebCore::AudioPannerNode::setPanningModel):  Update
141468        m_panningModel appropriately.  Also silently do nothing if the
141469        model is invalid.
141470
1414712012-01-27  Chris Rogers  <crogers@google.com>
141472
141473        HRTFPanner could have high-quality mode for smoother transitions
141474        https://bugs.webkit.org/show_bug.cgi?id=76470
141475
141476        Reviewed by Kenneth Russell.
141477
141478        * platform/audio/HRTFPanner.cpp:
141479        (WebCore):
141480        (WebCore::HRTFPanner::HRTFPanner):
141481        (WebCore::HRTFPanner::reset):
141482        (WebCore::HRTFPanner::calculateDesiredAzimuthIndexAndBlend):
141483        (WebCore::HRTFPanner::pan):
141484        * platform/audio/HRTFPanner.h:
141485        (HRTFPanner):
141486        ():
141487
1414882012-01-27  Mike Lawther  <mikelawther@chromium.org>
141489
141490        CSS calc parsing stage
141491        https://bugs.webkit.org/show_bug.cgi?id=57082
141492
141493        This is the parsing stage of calc. The expressions are evaluated and 
141494        expression trees are generated. CSS values are not created yet - that
141495        will happen in a subsequent commit. 
141496
141497        Reviewed by David Hyatt.
141498
141499        No functional change - covered by existing tests in LayoutTests/css3/calc.
141500
141501        * CMakeLists.txt:
141502        * GNUmakefile.list.am:
141503        * Target.pri:
141504        * WebCore.gypi:
141505        * WebCore.vcproj/WebCore.vcproj:
141506        * WebCore.xcodeproj/project.pbxproj:
141507        * css/CSSCalculationValue.cpp: Added.
141508        (WebCore):
141509        (WebCore::unitCategory):
141510        (WebCore::CSSCalcValue::customCssText):
141511        (WebCore::CSSCalcExpressionNode::~CSSCalcExpressionNode):
141512        (CSSCalcPrimitiveValue):
141513        (WebCore::CSSCalcPrimitiveValue::create):
141514        (WebCore::CSSCalcPrimitiveValue::cssText):
141515        (WebCore::CSSCalcPrimitiveValue::CSSCalcPrimitiveValue):
141516        ():
141517        (CSSCalcBinaryOperation):
141518        (WebCore::CSSCalcBinaryOperation::create):
141519        (WebCore::CSSCalcBinaryOperation::CSSCalcBinaryOperation):
141520        (WebCore::checkDepthAndIndex):
141521        (CSSCalcExpressionNodeParser):
141522        (WebCore::CSSCalcExpressionNodeParser::parseCalc):
141523        (Value):
141524        (WebCore::CSSCalcExpressionNodeParser::operatorValue):
141525        (WebCore::CSSCalcExpressionNodeParser::parseValue):
141526        (WebCore::CSSCalcExpressionNodeParser::parseValueTerm):
141527        (WebCore::CSSCalcExpressionNodeParser::parseValueMultiplicativeExpression):
141528        (WebCore::CSSCalcExpressionNodeParser::parseAdditiveValueExpression):
141529        (WebCore::CSSCalcExpressionNodeParser::parseValueExpression):
141530        (WebCore::CSSCalcValue::create):
141531        * css/CSSCalculationValue.h: Added.
141532        (WebCore):
141533        ():
141534        (CSSCalcExpressionNode):
141535        (WebCore::CSSCalcExpressionNode::category):
141536        (WebCore::CSSCalcExpressionNode::isInt):
141537        (WebCore::CSSCalcExpressionNode::isZero):
141538        (WebCore::CSSCalcExpressionNode::CSSCalcExpressionNode):
141539        (CSSCalcValue):
141540        (WebCore::CSSCalcValue::category):
141541        (WebCore::CSSCalcValue::isInt):
141542        (WebCore::CSSCalcValue::CSSCalcValue):
141543        * css/CSSParser.cpp:
141544        (WebCore::CSSParser::validCalculationUnit):
141545        (WebCore):
141546        (WebCore::CSSParser::validUnit):
141547        (WebCore::CSSParser::createPrimitiveNumericValue):
141548        (WebCore::CSSParser::parseValidPrimitive):
141549        (WebCore::CSSParser::parseValue):
141550        (WebCore::CSSParser::parseFillPositionComponent):
141551        (WebCore::CSSParser::parsedDouble):
141552        (WebCore::CSSParser::isCalculation):
141553        (WebCore::CSSParser::colorIntFromValue):
141554        (WebCore::CSSParser::parseColorParameters):
141555        (WebCore::CSSParser::parseHSLParameters):
141556        (WebCore::ShadowParseContext::ShadowParseContext):
141557        (WebCore::ShadowParseContext::commitLength):
141558        (WebCore::ShadowParseContext::commitStyle):
141559        (ShadowParseContext):
141560        (WebCore::CSSParser::parseShadow):
141561        (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
141562        (WebCore::BorderImageSliceParseContext::commitNumber):
141563        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
141564        (BorderImageSliceParseContext):
141565        (WebCore::CSSParser::parseBorderImageSlice):
141566        (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
141567        (WebCore::BorderImageQuadParseContext::commitNumber):
141568        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
141569        (BorderImageQuadParseContext):
141570        (WebCore::CSSParser::parseBorderImageQuad):
141571        (WebCore::CSSParser::parseCalculation):
141572        * css/CSSParser.h:
141573        ():
141574        (CSSParser):
141575        * css/CSSValue.cpp:
141576        (WebCore::CSSValue::cssText):
141577        (WebCore::CSSValue::destroy):
141578        * css/CSSValue.h:
141579        (WebCore::CSSValue::isCalculationValue):
141580        ():
141581        * css/SVGCSSParser.cpp:
141582        (WebCore::CSSParser::parseSVGValue):
141583        * platform/CalculationValue.cpp: Added.
141584        (WebCore):
141585        * platform/CalculationValue.h: Added.
141586        (WebCore):
141587        ():
141588
1415892012-01-27  Anders Carlsson  <andersca@apple.com>
141590
141591        WebTileLayers should honor the acceleratesDrawing flag
141592        https://bugs.webkit.org/show_bug.cgi?id=77242
141593        <rdar://problem/10622128>
141594
141595        Reviewed by Dan Bernstein.
141596
141597        * platform/graphics/ca/mac/TileCache.h:
141598        (WebCore::TileCache::acceleratesDrawing):
141599        Add getter.
141600
141601        * platform/graphics/ca/mac/TileCache.mm:
141602        (WebCore::TileCache::TileCache):
141603        Initialize m_acceleratesDrawing.
141604
141605        (WebCore::TileCache::setAcceleratesDrawing):
141606        Set m_acceleratesDrawing and go through all tile layers and update the flag.
141607
141608        (WebCore::TileCache::createTileLayer):
141609        Call -[CALayer setAcceleratesDrawing:] on the newly created layer.
141610
141611        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
141612        (-[WebTileCacheLayer setAcceleratesDrawing:]):
141613        (-[WebTileCacheLayer acceleratesDrawing]):
141614        Call through to the TileCache object.
141615
1416162012-01-27  Raymond Toy  <rtoy@google.com>
141617
141618        Round time to sample frame
141619        https://bugs.webkit.org/show_bug.cgi?id=76659
141620
141621        Three major changes:
141622
141623        1. Modify timeToSampleFrame to round the time to the sample frame
141624        and add support for Visual Studio to round the time in the same
141625        way as on gcc. (The issue is that Visual Studio uses x87
141626        instructions with 80-bit floats.)  This makes Visual Studio more
141627        consistent with the results with gcc.
141628
141629        2. Change the current time variable from keeping time in seconds
141630        to keeping time in sample frames.  This minimizes rounding except
141631        when needed for the Javascript API.
141632
141633        3. Update AudioBufferSourceNode::process to use samples (instead
141634        of time) as much as possible to reduce round-off effects.
141635
141636        Reviewed by Kenneth Russell.
141637
141638        Tests: Added note-grain-on test to exercise precise
141639        timing. Existing tests (gain and audiobuffersource-playbackrate)
141640        also cover some of these changes, and the equalpower panner test is
141641        modified to enable the tests for the offset of the impulses.
141642
141643        * platform/audio/AudioUtilities.cpp:
141644        (WebCore::AudioUtilities::timeToSampleFrame): Moved from
141645        AudioParamTimeLine and slightly modified, and updated to round
141646        operations consistently.  Add special flags for Visual Studio to
141647        generate code with rounding that is consistent with gcc.
141648        * platform/audio/AudioUtilities.h: Declare new function.
141649        * webaudio/AudioBufferSourceNode.cpp:
141650        (WebCore::AudioBufferSourceNode::process): Use new functions to
141651        convert time to sample frame.  Update code to use integer
141652        arithmetic as much as possible.
141653        (WebCore::AudioBufferSourceNode::renderFromBuffer): Use
141654        timeToSampleFrame to convert time to sample frame.
141655        * webaudio/AudioContext.h: Define new currentSample method to get
141656        the current sample.
141657        * webaudio/AudioDestinationNode.cpp:
141658        (WebCore::AudioDestinationNode::provideInput): Use new function to
141659        convert sample frame to time.  Update
141660        * webaudio/AudioDestiationNode.h: Rename m_currentTime to
141661        m_currentSample, add method to return current Sample.  Update
141662        currentTime() method to compute time from the current sample.
141663        * webaudio/AudioParamTimeline.cpp:
141664        (WebCore::AudioParamTimeline::valuesForTimeRangeImpl): Remove
141665        timeToSampleFrame and use new function in AudioUtilities to
141666        convert time to sample frame.
141667
1416682012-01-27  Adrienne Walker  <enne@google.com>
141669
141670        [chromium] Don't ever skip drawing the non-composited content layer
141671        https://bugs.webkit.org/show_bug.cgi?id=77236
141672
141673        Reviewed by James Robinson.
141674
141675        Since the root layer has its textures potentially reserved last in a
141676        front-to-back iteration, don't ever skip drawing it if we can't
141677        reserve its textures. Instead, checkerboard and draw background color
141678        quads instead to fill the viewport. This behavior is tied to the
141679        backgroundFillsViewport setting.
141680
141681        * platform/graphics/chromium/TiledLayerChromium.cpp:
141682        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
141683        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
141684        (WebCore::CCLayerTilingData::reset):
141685        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
141686        (WebCore::CCTiledLayerImpl::appendQuads):
141687
1416882012-01-27  Martin Robinson  <mrobinson@igalia.com>
141689
141690        Fix a warning in the GTK+ build.
141691
141692        Reviewed by Gustavo Noronha Silva.
141693
141694        No new tests. This should not change behavior.
141695
141696        * plugins/gtk/PluginViewGtk.cpp:
141697        (WebCore::PluginView::platformStart): Use reinterpet_cast to convert X11 Windows into void pointers.
141698
1416992012-01-27  Tien-Ren Chen  <trchen@chromium.org>
141700
141701        [chromium] CCLayerTreeHostImpl minor code cleanup
141702        https://bugs.webkit.org/show_bug.cgi?id=77181
141703
141704        Fix a typo in comments and group functions properly.
141705        Replace duplicated content size code with function.
141706
141707        Reviewed by James Robinson.
141708
141709        No new tests. No change in behavior.
141710
141711        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
141712        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
141713        (WebCore::CCLayerTreeHostImpl::contentSize):
141714        (WebCore):
141715        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
141716        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
141717        (CCLayerTreeHostImpl):
141718
1417192012-01-27  Kevin Ollivier  <kevino@theolliviers.com>
141720
141721        [wx] Unreviewed. Build fix, add missing header.
141722
141723        * rendering/svg/SVGImageBufferTools.h:
141724
1417252012-01-27  Victor Carbune  <victor@rosedu.org>
141726
141727        Added the GenericEventQueue class in order to generalize asynchronous
141728        event dispatching in HTMLMediaElement.
141729
141730        In order to support asynchronous events dispatched by HTMLTrackElement
141731        there is a need for a generalized implementation of an event queue to
141732        be used for both HTMLMediaElement and Text Tracks.
141733
141734        https://bugs.webkit.org/show_bug.cgi?id=76110
141735
141736        Reviewed by Eric Carlson.
141737
141738        No new tests. No new functionality, only refactoring.
141739
141740        * CMakeLists.txt:
141741        * GNUmakefile.list.am:
141742        * Target.pri:
141743        * WebCore.gypi:
141744        * WebCore.vcproj/WebCore.vcproj:
141745        * WebCore.xcodeproj/project.pbxproj:
141746
141747        * dom/GenericEventQueue.cpp: Added. Implements the abstract class EventQueue.
141748        (WebCore::GenericEventQueue::GenericEventQueue):
141749        (WebCore::GenericEventQueue::~GenericEventQueue):
141750        (WebCore::GenericEventQueue::enqueueEvent): Append an event to the current
141751        pending event list.
141752        (WebCore::GenericEventQueue::cancelEvent): Removes an event from the current
141753        pending event list.
141754        (WebCore::GenericEventQueue::timerFired): Callback method when the timer fires.
141755        Dispatches all events that are currently pending.
141756        (WebCore::GenericEventQueue::close): Closes the event queue such that it cannot
141757        be used anymore.
141758        (WebCore::GenericEventQueue::cancelAllEvents): Removes all pending events.
141759        (WebCore::GenericEventQueue::hasPendingEvents): True if there are pending events.
141760        * dom/GenericEventQueue.h: Added.
141761
141762        * html/HTMLMediaElement.cpp:
141763        (WebCore::HTMLMediaElement::HTMLMediaElement):
141764        (WebCore::HTMLMediaElement::scheduleEvent): Refactored method to enqueue
141765        the scheduled event on the GenericEventQueue instance.
141766        (WebCore::HTMLMediaElement::cancelPendingEventsAndCallbacks): Ditto.
141767        (WebCore::HTMLMediaElement::hasPendingActivity): Ditto.
141768        (WebCore::HTMLMediaElement::dispatchEvent): This method is overriden
141769        to keep an evidence when a canPlay event is fired.
141770        * html/HTMLMediaElement.h:
141771
1417722012-01-27  Martin Robinson  <mrobinson@igalia.com>
141773
141774        Fix a warning in the GTK+ build.
141775
141776        Reviewed by Gustavo Noronha Silva.
141777
141778        No new tests. This should not change behavior.
141779
141780        * plugins/gtk/PluginViewGtk.cpp:
141781        (WebCore::PluginView::platformStart): Use reinterpet_cast to convert X11 Windows into void pointers.
141782
1417832012-01-27  Benjamin Poulain  <bpoulain@apple.com>
141784
141785        Speed up the prefix matching of cssPropertyName()
141786        https://bugs.webkit.org/show_bug.cgi?id=77158
141787
141788        Reviewed by Geoffrey Garen.
141789
141790        This patch improves the performance by:
141791        -not checking the PropertyName with all 7 prefix
141792         (now, in the worse case, 2 prefixes are checked)
141793        -avoiding the conversion 8bits->16bits by using String::operator[]
141794         instead of ::characters()
141795
141796        To avoid checking every prefix, the code branch based on the first
141797        characters of the propertyName.
141798        The remaining of the prefix is checked character by characters like before.
141799
141800        When accessing CSS property, this gives a 13% improvement when there is no prefix.
141801        There is no performance regression for the matching of prefix, including for the first one
141802        of the previous matching code ("css").
141803
141804        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
141805        ():
141806        (WebCore::matchesCSSPropertyNamePrefix):
141807        (WebCore):
141808        (WebCore::getCSSPropertyNamePrefix):
141809        (WebCore::cssPropertyName):
141810
1418112012-01-27  Ken Buchanan  <kenrb@chromium.org>
141812
141813        Crash in updateFirstLetter() from unnecessary anonymous block
141814        https://bugs.webkit.org/show_bug.cgi?id=72675
141815
141816        Reviewed by David Hyatt.
141817
141818        There was a problem with anonymous blocks not getting removed when
141819        their only block flow siblings are removed if they also have non-block
141820        flow first-letter siblings (i.e. floats). This patch modifies
141821        RenderBlock::removeChild() to look for this situation and strip out
141822        unnecessary anonymous container blocks if it occurs.
141823
141824        * rendering/RenderBlock.cpp:
141825        (WebCore::RenderBlock::removeChild):
141826        (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
141827        * rendering/RenderBlock.h:
141828        (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
141829
1418302012-01-27  Fady Samuel  <fsamuel@chromium.org>
141831
141832        Rename shouldLayoutFixedElementsRelativeToFrame and make it a setting
141833        https://bugs.webkit.org/show_bug.cgi?id=76459
141834
141835        Reviewed by Darin Fisher.
141836
141837        This should be a setting because it is independent of a particular frame and
141838        should be preserved even if the mainframe changes.
141839
141840        Renamed (set)ShouldLayoutFixedElementsRelativeToFrame to 
141841        (set)FixedElementsLayoutRelativeToFrame due to the connotation
141842        the word "should" may have in this context: If set, 
141843        position:fixed elements will ALWAYS be laid out relative to the frame.
141844
141845
141846        * WebCore.exp.in:
141847        * page/FrameView.cpp:
141848        (WebCore::FrameView::reset):
141849        (WebCore::FrameView::scrollXForFixedPosition):
141850        (WebCore::FrameView::scrollYForFixedPosition):
141851        (WebCore::FrameView::fixedElementsLayoutRelativeToFrame):
141852        (WebCore):
141853        * page/FrameView.h:
141854        (FrameView):
141855        * page/Settings.cpp:
141856        (WebCore::Settings::Settings):
141857        (WebCore::Settings::setFixedElementsLayoutRelativeToFrame):
141858        (WebCore):
141859        * page/Settings.h:
141860        (Settings):
141861        (WebCore::Settings::fixedElementsLayoutRelativeToFrame):
141862        * rendering/RenderBox.cpp:
141863        (WebCore::RenderBox::fixedElementLaysOutRelativeToFrame):
141864        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
141865        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
141866        * rendering/RenderBox.h:
141867        (RenderBox):
141868        * testing/InternalSettings.cpp:
141869        (WebCore::InternalSettings::setFixedElementsLayoutRelativeToFrame):
141870        * testing/InternalSettings.h:
141871        (InternalSettings):
141872        * testing/InternalSettings.idl:
141873
1418742012-01-27  Kentaro Hara  <haraken@chromium.org>
141875
141876        Support the [Supplemental] IDL for constants
141877        https://bugs.webkit.org/show_bug.cgi?id=77228
141878
141879        Reviewed by Adam Barth.
141880
141881        We have supported the [Supplemental] IDL for attributes and methods.
141882        This patch supports it for constants.
141883
141884        Test: bindings/scripts/test/TestSupplemental.idl
141885
141886        * bindings/scripts/generate-bindings.pl:
141887        Supported [Supplemental] constants.
141888        Updated some comments.
141889
141890        * bindings/scripts/test/TestSupplemental.idl:
141891        Added test cases for [Supplemental] constants.
141892
141893        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Updated the test results.
141894        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
141895        (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
141896        (WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
141897        (WebCore):
141898        (WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT1):
141899        (WebCore::jsTestInterfaceSUPPLEMENTAL_CONSTANT2):
141900        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
141901        (WebCore):
141902        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
141903        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
141904        (WebCore::ConfigureV8TestInterfaceTemplate):
141905
1419062012-01-27  Anders Carlsson  <andersca@apple.com>
141907
141908        When threaded scrolling is enabled for a FrameView, always put scrollbars in layers
141909        https://bugs.webkit.org/show_bug.cgi?id=77232
141910        <rdar://problem/10766708>
141911
141912        Reviewed by Beth Dakin.
141913
141914        * page/ScrollingCoordinator.cpp:
141915        (WebCore::ScrollingCoordinator::coordinatesScrollingForFrameView):
141916        * page/ScrollingCoordinator.h:
141917        Add a new helper function.
141918
141919        * rendering/RenderLayerCompositor.cpp:
141920        (WebCore::shouldCompositeOverflowControls):
141921        Make this take a FrameView, check with the scrolling coordinator if the overflow controls should be composited.
141922
141923        (WebCore::RenderLayerCompositor::requiresHorizontalScrollbarLayer):
141924        (WebCore::RenderLayerCompositor::requiresVerticalScrollbarLayer):
141925        (WebCore::RenderLayerCompositor::requiresScrollCornerLayer):
141926        Update for the change to make shouldCompositeOverflowControls take a FrameView.
141927
1419282012-01-24  Vincent Scheib  <scheib@chromium.org>
141929
141930        Pointer Lock: Implement pointer interface
141931        https://bugs.webkit.org/show_bug.cgi?id=75762
141932
141933        Reviewed by Julien Chaffraix.
141934
141935        Implement the navigator.pointer interface via a new
141936        PointerLockController class, as per
141937        http://dvcs.w3.org/hg/webevents/raw-file/default/mouse-lock.html.
141938
141939        The implementation is being made in steps, the feature is still behind
141940        compile-time and run-time flags, 'webkit' prefixed, and not yet enabled
141941        in any browser. (Chromium has a developer flag required.) Follow-up
141942        work will include handling DOM elements being removed, making all
141943        callbacks asynchronous, iframe permissions (similar to Full Screen),
141944        etc.
141945
141946        PointerLockController maintains state of which Element is the current
141947        lock target and the success and failure callbacks. ChromeClient has
141948        methods added to expose the required state change requests.
141949
141950        Tests: pointer-lock/lock-already-locked.html
141951               pointer-lock/lock-fail-responses.html
141952               pointer-lock/mouse-event-delivery.html
141953               pointer-lock/pointerlocklost-event.html
141954
141955        * WebCore.gypi:
141956        * dom/EventNames.h:
141957        * page/ChromeClient.h:
141958        (WebCore::ChromeClient::requestPointerLock):
141959        (WebCore::ChromeClient::requestPointerUnlock):
141960        (WebCore::ChromeClient::isPointerLocked):
141961        * page/Navigator.cpp:
141962        (WebCore::Navigator::webkitPointer):
141963        * page/Page.cpp:
141964        (WebCore::Page::Page):
141965        * page/Page.h:
141966        (WebCore::Page::pointerLockController):
141967        * page/PointerLock.cpp:
141968        (WebCore::PointerLock::PointerLock):
141969        (WebCore::PointerLock::create):
141970        (WebCore::PointerLock::lock):
141971        (WebCore::PointerLock::unlock):
141972        (WebCore::PointerLock::isLocked):
141973        * page/PointerLock.h:
141974        (WebCore::PointerLock::create):
141975        * page/PointerLockController.cpp: Added.
141976        (WebCore::PointerLockController::PointerLockController):
141977        (WebCore::PointerLockController::requestPointerLock):
141978        (WebCore::PointerLockController::requestPointerUnlock):
141979        (WebCore::PointerLockController::isLocked):
141980        (WebCore::PointerLockController::didAcquirePointerLock):
141981        (WebCore::PointerLockController::didNotAcquirePointerLock):
141982        (WebCore::PointerLockController::didLosePointerLock):
141983        (WebCore::PointerLockController::dispatchLockedMouseEvent):
141984        * page/PointerLockController.h: Copied from Source/WebCore/page/PointerLock.h.
141985
1419862012-01-27  Abhishek Arya  <inferno@chromium.org>
141987
141988        Crash in DocumentLoader::detachFromFrame.
141989        https://bugs.webkit.org/show_bug.cgi?id=62764
141990
141991        Reviewed by Brady Eidson.
141992
141993        r105556 didn't fix the crash because canceling the
141994        main resource loader blows away both the current
141995        document loader and frame underneath. Both protectors
141996        are also used in stopLoading() when m_mainResourceLoader->cancel()
141997        is called. Also, tested the fix under ASAN.
141998
141999        * loader/DocumentLoader.cpp:
142000        (WebCore::DocumentLoader::detachFromFrame):
142001
1420022012-01-27  Tony Chang  <tony@chromium.org>
142003
142004        flexbox scrollbars don't take flex-direction into account
142005        https://bugs.webkit.org/show_bug.cgi?id=70772
142006
142007        Reviewed by Darin Adler.
142008
142009        This fixes a bug where we always used the logicalScrollbarHeight.
142010        For column flow, this was incorrect.
142011
142012        Also fix a bug where we didn't include the trailing border+padding+scrollbar when computing the
142013        height of a column flow.
142014
142015        Tests: css3/flexbox/cross-axis-scrollbar-expected.html
142016               css3/flexbox/cross-axis-scrollbar.html
142017
142018        * rendering/RenderFlexibleBox.cpp:
142019        (WebCore::RenderFlexibleBox::crossAxisScrollbarExtent): Add a direction aware method for getting the scrollbar size.
142020        (WebCore):
142021        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Use crossAxisScrollbarExtent.
142022        * rendering/RenderFlexibleBox.h:
142023        (RenderFlexibleBox):
142024
1420252012-01-27  Kentaro Hara  <haraken@chromium.org>
142026
142027        Unreviewed. Rebasedlined run-bindings-tests results.
142028
142029        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
142030        (WebDOMTestInterface::supplementalMethod1):
142031        (WebDOMTestInterface::supplementalMethod2):
142032
1420332012-01-27  No'am Rosenthal  <noam.rosenthal@nokia.com>
142034
142035        [Qt][WK2] Child layers appear in wrong position when scrolling
142036        https://bugs.webkit.org/show_bug.cgi?id=77063
142037
142038        Reviewed by Simon Fraser.
142039
142040        When using the delegatesScrolling mode in FrameView, the compositor doesn't need
142041        to control the special clip/scroll layers. Also, when we change that mode, we need to let
142042        the compositor reset its backing-stores and rebuild them without scrolling/clipping.
142043
142044        This is tested by compositing tests, when run with Qt in touch mode.
142045
142046        * page/FrameView.cpp:
142047        (WebCore::FrameView::delegatesScrollingDidChange):
142048        (WebCore):
142049        * page/FrameView.h:
142050        (FrameView):
142051        * platform/ScrollView.cpp:
142052        (WebCore::ScrollView::setDelegatesScrolling):
142053        * platform/ScrollView.h:
142054        (WebCore::ScrollView::delegatesScrollingDidChange):
142055        * rendering/RenderLayerCompositor.cpp:
142056        (WebCore::RenderLayerCompositor::requiresScrollLayer):
142057
1420582012-01-27  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
142059
142060        Removed unused method from CSSStyleSelector
142061        https://bugs.webkit.org/show_bug.cgi?id=77190
142062
142063        Reviewed by Andreas Kling.
142064
142065        * css/CSSStyleSelector.h:
142066        (CSSStyleSelector):
142067
1420682012-01-27  Zeno Albisser  <zeno@webkit.org>
142069
142070        [Qt][Mac] Build fails after adding ICU support (r105997).
142071        https://bugs.webkit.org/show_bug.cgi?id=77118
142072
142073        Use SmareReplaceCF.cpp code path if platform Mac.
142074
142075        Reviewed by Tor Arne Vestbø.
142076
142077        * Target.pri:
142078
1420792012-01-27  Ilya Tikhonovsky  <loislo@chromium.org>
142080
142081        Web Inspector: detailed heap snapshot: Replace (Native objects) root element
142082        with '(Detached DOM trees)' and '(Document DOM trees)'
142083        https://bugs.webkit.org/show_bug.cgi?id=77201
142084
142085        I think it'd be nice to replace one group containing all native objects with
142086        separate groups for different types of native objects.
142087
142088        Reviewed by Yury Semikhatsky.
142089
142090        * bindings/v8/RetainedDOMInfo.cpp:
142091        (WebCore::RetainedDOMInfo::GetGroupLabel):
142092        (WebCore):
142093        * bindings/v8/RetainedDOMInfo.h:
142094        (RetainedDOMInfo):
142095
1420962012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>
142097
142098        <feImage> doesn't work with local references when using primitiveUnits="objectBoundingBox"
142099        https://bugs.webkit.org/show_bug.cgi?id=77205
142100
142101        Reviewed by Antti Koivisto.
142102
142103        Consider following testcase:
142104        <svg width="1000" height="500">
142105        <defs>
142106            <circle id="c" cx="50%" cy="50%" r="10%"/>
142107            <filter id="f" filterUnits="userSpaceOnUse" x="0" y="0" width="100" height="100" primitiveUnits="objectBoundingBox">
142108                <feImage xlink:href="#c"/>
142109            </filter>
142110        </defs>
142111        <rect width="100" height="100" filter="url(#f)"/>
142112        </svg>
142113
142114        The <svg> has a viewport of 1000x50. The <circle> in the <defs> element is resolved as <circle cx="500" cy="250" r="79"/>,
142115        as the context for this element (looking at it isolated!) is the viewport of the <svg>. We then setup a 0x0 - 100x100 rect
142116        in user space, which gets filtered, by a filter, also defined in user space (for simplicity), but with primitiveUnits="objectBoundingBox".
142117
142118        That means that the default subregion of the filter effect <feImage/> which has no inputs, is defined in the SVG 1.1 spec to be equal to
142119        the filter region, which is 0x0-100x100 in user space. This <feImage/> is supposed to produce a 100x100 image, containing a circle in the
142120        middle (aka. <circle cx="50" cy="50".../>), but it doesn't, as the <circle> it's trying to paint, is laid out at 500x250, and thus outside
142121        the 100x100 sized image buffer.
142122
142123        So how to resolve this?
142124        The RenderSVGShape thats owned by the <circle> generates its Path value by calling cx().value(lengthContext) and the SVGLengthContext here
142125        resolves to the <svg>. That happens on _layout_. If we would want to change the SVGLengthContext in this case (what I originally planned!)
142126        to carry a custom 100x100 viewport, we'd need to relayout. Unfortunately this is not an option, as this would mean that
142127        SVGImageBufferTools::renderSubtreeToImageBuffer, would need to relayout its children first, but we produce the filter images when painting.
142128        This is very dangerous and has just recently been fixed so that SVGImageBufferTools can ASSERT(!item->needsLayout()) when painting the
142129        subtree to an image buffer.
142130
142131        The only sane solution I see, that does not require relayouts, is to make a map between the <circle> bounding box in user space (500x250
142132        center point) to the filter primitive subregion space (here: 100x100 center point), and concat that transformation before painting the
142133        subtree to the image buffer. Of course this approach only works if all values of the <circle> are relative. If someone uses
142134        <circle id="c" cx="50%" cy="666"> the transformation that I'm looking for is undefined. We'd really need to create a new Path here, to
142135        resolve only cx against the new viewport, and not cy.
142136
142137        Though in practice it turns out this is not a problem. All use cases of feImage + primitiveUnits="objectBoundingBox" link to elements
142138        that are completely defined in percentual values, as this is really the only thing which makes sense - otherwise you can always switch
142139        back to primtiveUnits="userSpaceOnUse". Anyhow, I'm going to fix all known wild-life test cases by my approach, and say we don't support
142140        using mixed length units when referencing those elements from feImages with primitiveUnits="objectBoundingBox".
142141
142142        Adding lots of new testcases, trying all the different feImage modes.
142143
142144        Tests: svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-objectBoundingBox.svg
142145               svg/filters/feImage-filterUnits-objectBoundingBox-primitiveUnits-userSpaceOnUse.svg
142146               svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-objectBoundingBox.svg
142147               svg/filters/feImage-filterUnits-userSpaceOnUse-primitiveUnits-userSpaceOnUse.svg
142148               svg/filters/feImage-position.svg
142149               svg/filters/feImage-subregions-preseveAspectRatio-none-with-viewBox.svg
142150               svg/filters/feImage-subregions-preseveAspectRatio-none.svg
142151               svg/filters/feImage-subregions.svg
142152
142153        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
142154        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion): Reverse logic, simplifying the code a bit. Remove FEImage special cases (absoluteSubregion).
142155        * svg/SVGLengthContext.h: Make determineViewport() public, for use in FEImage.
142156        * svg/graphics/filters/SVGFEImage.cpp:
142157        (WebCore::FEImage::determineAbsolutePaintRect): Don't apply preserveAspectRatio transformation for local elements, it's not defined and breaks content.
142158        (WebCore::FEImage::platformApplySoftware): Figure out the absolute subregion by utilizing filterPrimitiveSubregion() as FETurbulence does.
142159                                                   Map between filter primitive subregion and target object space for primitiveUnits="objectBoundingBox" support on SVG element references.
142160        * svg/graphics/filters/SVGFEImage.h: Remove absoluteSubregion member & setter, it's no longer needed.
142161
1421622012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
142163
142164        Web Inspector: Scripts panel: fix event dispatching between FileSelector and EditorContainer.
142165        https://bugs.webkit.org/show_bug.cgi?id=77126
142166
142167        Reviewed by Pavel Feldman.
142168
142169        * inspector/front-end/ScriptsPanel.js:
142170        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
142171        (WebInspector.ScriptsPanel.prototype._reset):
142172        (WebInspector.ScriptsPanel.prototype._showSourceLine):
142173        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
142174        (WebInspector.ScriptsPanel.prototype._editorClosed):
142175        (WebInspector.ScriptsPanel.prototype._editorSelected):
142176        (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
142177        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
142178        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
142179        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
142180        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
142181        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
142182        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
142183        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
142184        * inspector/front-end/TabbedEditorContainer.js:
142185        (WebInspector.TabbedEditorContainer):
142186        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
142187        (WebInspector.TabbedEditorContainer.prototype._tabSelected):
142188        (WebInspector.TabbedEditorContainer.prototype.reset):
142189
1421902012-01-27  Nikolas Zimmermann  <nzimmermann@rim.com>
142191
142192        <feImage> DOM mutation problems
142193        https://bugs.webkit.org/show_bug.cgi?id=77198
142194
142195        Reviewed by Antti Koivisto.
142196
142197        Consider <feImage xlink:href="#rect"/>, where <rect> gets dynamically added to the tree.
142198        Currently <feImage> doesn't notice this, as it doesn't register itself pending on "#rect".
142199
142200        Integrate <feImage> properly within the pending resources concept, fixing the bug.
142201
142202        Tests: svg/filters/feImage-target-add-to-document.svg
142203               svg/filters/feImage-target-changes-id.svg
142204               svg/filters/feImage-target-id-change.svg
142205               svg/filters/feImage-target-reappend-to-document.svg
142206               svg/filters/feImage-target-remove-from-document.svg
142207
142208        * svg/SVGFEImageElement.cpp: Rename invalidateImageResource to clearResourceReferences.
142209        (WebCore::SVGFEImageElement::~SVGFEImageElement): Call clearResourceReferences.
142210        (WebCore::SVGFEImageElement::clearResourceReferences): Remove any occurence of m_targetImage, it's no longer used.
142211        (WebCore::SVGFEImageElement::requestImageResource): requestImageResource is now called by buildPendingResource.
142212        (WebCore::SVGFEImageElement::buildPendingResource): Called whenever any element that we depend on gets resolved - now invalidates the <filter>.
142213        (WebCore::SVGFEImageElement::parseMappedAttribute): Don't start loading from parseMappedAttribute.
142214        (WebCore::SVGFEImageElement::svgAttributeChanged): Start loading from here, for consistency with SVGImageElement.
142215        (WebCore::SVGFEImageElement::insertedIntoDocument): Invoke buildPendingResource(), if we enter the tree.
142216        (WebCore::SVGFEImageElement::removedFromDocument): Clear m_cachedImage as soon as we get removed from the tree.
142217        (WebCore::SVGFEImageElement::build): Clean up this function, m_targetImage is no longer exist.
142218        * svg/SVGFEImageElement.h: Remove OwnPtr<ImageBuffer> m_targetImage, which is no longer used.
142219
1422202012-01-26  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
142221
142222        [Qt] WKTR: Use a software rendering pipiline when running tests.
142223        https://bugs.webkit.org/show_bug.cgi?id=76708
142224
142225        Reviewed by Kenneth Rohde Christiansen.
142226
142227        * platform/graphics/qt/TextureMapperQt.cpp: Allow setting the context to null.
142228        (WebCore::TextureMapperQt::setGraphicsContext):
142229        * platform/graphics/qt/TextureMapperQt.h:
142230        (WebCore::TextureMapperQt::initialize):
142231
1422322012-01-27  Branimir Lambov  <blambov@google.com>
142233
142234        SVG filters incorrectly move elements
142235        https://bugs.webkit.org/show_bug.cgi?id=73643
142236
142237        Reviewed by Nikolas Zimmermann.
142238
142239        Fixes SVG image buffer creation to use the enclosing integer rect
142240        instead of unstable rounded coordinates with scaling which was causing
142241        animated images to jump around under filters. The image buffer was not 
142242        aligned on a pixel boundary, and thus the positions and sizes of anything
142243        drawn under that filter changed by 1-2 pixels compared to the same
142244        elements drawn without an intermediate buffer, or drawn with a buffer
142245        with a different target rectangle. 
142246        
142247        The change improves the positioning of clip paths, masks and filters.
142248
142249        Tests: svg/clip-path/clip-in-clip.svg
142250               svg/clip-path/clipper-placement-issue.svg
142251               svg/filters/filter-placement-issue.svg
142252
142253        * platform/graphics/filters/FETile.cpp:
142254        (WebCore::FETile::platformApplySoftware):
142255        * rendering/svg/RenderSVGResourceClipper.cpp:
142256        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
142257        * rendering/svg/RenderSVGResourceFilter.cpp:
142258        (WebCore::RenderSVGResourceFilter::applyResource):
142259        * rendering/svg/RenderSVGResourceGradient.cpp:
142260        (WebCore::createMaskAndSwapContextForTextGradient):
142261        (WebCore::clipToTextMask):
142262        * rendering/svg/RenderSVGResourceMasker.cpp:
142263        (WebCore::RenderSVGResourceMasker::applyResource):
142264        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
142265        * rendering/svg/RenderSVGResourcePattern.cpp:
142266        (WebCore::RenderSVGResourcePattern::createTileImage):
142267        * rendering/svg/SVGImageBufferTools.cpp:
142268        (WebCore::SVGImageBufferTools::createImageBuffer):
142269        (WebCore::SVGImageBufferTools::createImageBufferForPattern):
142270        (WebCore::SVGImageBufferTools::clipToImageBuffer):
142271        (WebCore::SVGImageBufferTools::clampedAbsoluteTargetRect):
142272        (WebCore::SVGImageBufferTools::clampedAbsoluteSize):
142273        * rendering/svg/SVGImageBufferTools.h:
142274        (WebCore::SVGImageBufferTools::calcImageBufferRect):
142275
1422762012-01-25  Yury Semikhatsky  <yurys@chromium.org>
142277
142278        Web Inspector: should be possible to open function declaration from script popover
142279        https://bugs.webkit.org/show_bug.cgi?id=76913
142280
142281        Added inferred/display function name and source location to the popover in scripts panel.
142282        Now when a function is hovered user can navigate to its definition.
142283
142284        Reviewed by Pavel Feldman.
142285
142286        Test: inspector/debugger/function-details.html
142287
142288        * bindings/js/JSInjectedScriptHostCustom.cpp:
142289        (WebCore::JSInjectedScriptHost::functionDetails):
142290        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
142291        (WebCore::V8InjectedScriptHost::functionDetailsCallback):
142292        * inspector/InjectedScript.cpp:
142293        (WebCore::InjectedScript::getFunctionDetails):
142294        * inspector/InjectedScript.h:
142295        (InjectedScript):
142296        * inspector/InjectedScriptHost.idl:
142297        * inspector/InjectedScriptSource.js:
142298        (.):
142299        * inspector/Inspector.json:
142300        * inspector/InspectorDebuggerAgent.cpp:
142301        (WebCore::InspectorDebuggerAgent::getFunctionDetails):
142302        * inspector/InspectorDebuggerAgent.h:
142303        (InspectorDebuggerAgent):
142304        * inspector/front-end/DebuggerPresentationModel.js:
142305        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyFunctionLocation):
142306        * inspector/front-end/ObjectPopoverHelper.js:
142307        (WebInspector.ObjectPopoverHelper):
142308        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover.showObjectPopover.):
142309        (WebInspector.ObjectPopoverHelper.prototype._showObjectPopover):
142310        (WebInspector.ObjectPopoverHelper.prototype._onHideObjectPopover):
142311        * inspector/front-end/ObjectPropertiesSection.js:
142312        (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
142313        (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
142314        * inspector/front-end/RemoteObject.js:
142315        (WebInspector.RemoteObject):
142316        (WebInspector.RemoteObject.fromPayload):
142317        (WebInspector.RemoteObject.prototype.get functionName):
142318        * inspector/front-end/scriptsPanel.css:
142319        (.function-location-link):
142320        (.function-popover-title):
142321        (.function-popover-title .function-name):
142322
1423232012-01-26  Noel Gordon  <noel.gordon@gmail.com>
142324
142325        Remove FIXME: ColorProfile encapsulation as a Vector<char> works well 
142326        https://bugs.webkit.org/show_bug.cgi?id=77176
142327
142328        Reviewed by Adam Barth.
142329
142330        No new tests. No change in behavior.
142331
142332        * platform/image-decoders/ImageDecoder.h:
142333
1423342012-01-26  Matthew Delaney  <mdelaney@apple.com>
142335
142336        ImageBuffer::draw should deep copy if drawing to an accelerated context
142337        https://bugs.webkit.org/show_bug.cgi?id=77185
142338
142339        Reviewed by Simon Fraser.
142340
142341        No new tests since any test for this issue would be flaky at best.
142342
142343        * platform/graphics/cg/ImageBufferCG.cpp: Deep copy when drawing ourself into
142344            an accelerated context for both draw and drawPattern.
142345        (WebCore::ImageBuffer::draw):
142346        (WebCore::ImageBuffer::drawPattern):
142347
1423482012-01-26  Kevin Ollivier  <kevino@theolliviers.com>
142349
142350        [wx] Unreviewed. Build fixes.
142351        - Remove some constructors not generated by CPP bindings
142352          from being added to CPP binding headers
142353        - Keyboard event fixes after modifier changes
142354        - Add stubs for Language and RunLoop platform methods
142355
142356        * bindings/scripts/CodeGeneratorCPP.pm:
142357        (GetNamespaceForClass):
142358        (GenerateImplementation):
142359        * platform/mac/WebCoreSystemInterface.h:
142360        * platform/wx/KeyboardEventWx.cpp:
142361        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
142362        * platform/wx/LanguageWx.cpp: Added.
142363        (WebCore):
142364        (WebCore::platformLanguage):
142365        (WebCore::platformUserPreferredLanguages):
142366        * platform/wx/RunLoopWx.cpp: Added.
142367        (WebCore):
142368        (WebCore::RunLoop::run):
142369        (WebCore::RunLoop::stop):
142370        (WebCore::RunLoop::RunLoop):
142371        (WebCore::RunLoop::~RunLoop):
142372        (WebCore::RunLoop::wakeUp):
142373        * storage/DOMWindowSQLDatabase.idl:
142374        * webaudio/DOMWindowWebAudio.idl:
142375        * websockets/DOMWindowWebSocket.idl:
142376
1423772012-01-26  Sheriff Bot  <webkit.review.bot@gmail.com>
142378
142379        Unreviewed, rolling out r105486.
142380        http://trac.webkit.org/changeset/105486
142381        https://bugs.webkit.org/show_bug.cgi?id=77182
142382
142383        This patch doesn't take web workers into account. (Requested
142384        by dave_levin on #webkit).
142385
142386        * html/DOMURL.cpp:
142387        (WebCore::DOMURL::DOMURL):
142388        (WebCore::DOMURL::~DOMURL):
142389        (WebCore::DOMURL::contextDestroyed):
142390        (WebCore):
142391        (WebCore::DOMURL::createObjectURL):
142392        (WebCore::DOMURL::revokeObjectURL):
142393        * html/DOMURL.h:
142394        (WebCore::DOMURL::create):
142395        (DOMURL):
142396        * html/DOMURL.idl:
142397        * page/DOMWindow.cpp:
142398        (WebCore):
142399        (WebCore::DOMWindow::webkitURL):
142400        * page/DOMWindow.h:
142401        (DOMWindow):
142402        ():
142403        * page/DOMWindow.idl:
142404        * workers/WorkerContext.cpp:
142405        (WebCore):
142406        (WebCore::WorkerContext::webkitURL):
142407        (WebCore::WorkerContext::webkitRequestFileSystem):
142408        * workers/WorkerContext.h:
142409        (WorkerContext):
142410        ():
142411        * workers/WorkerContext.idl:
142412
1424132012-01-26  Noel Gordon  <noel.gordon@gmail.com>
142414
142415        Cleanup JPEGImageDecoder includes
142416        https://bugs.webkit.org/show_bug.cgi?id=77171
142417
142418        Reviewed by Adam Barth.
142419
142420        No new tests. Refactoring cleanup only.
142421
142422        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
142423
1424242012-01-26  Tim Horton  <hortont424@gmail.com>
142425
142426        3D transformed elements hide when showing the print dialog
142427        https://bugs.webkit.org/show_bug.cgi?id=45894
142428        <rdar://problem/7441593>
142429
142430        Reviewed by Andy Estes.
142431
142432        Suspend updates of the compositing layer tree while printing is taking place,
142433        preventing on-screen layers from moving to their print-mode positions.
142434
142435        No new tests, as WebKitTestRunner doesn't support putting the document
142436        into printing mode.
142437
142438        * page/FrameView.cpp:
142439        (WebCore::FrameView::syncCompositingStateForThisFrame):
142440        (WebCore::FrameView::paintContents):
142441        * platform/graphics/ca/LayerFlushScheduler.h:
142442        (WebCore::LayerFlushScheduler::isSuspended): Added.
142443
1424442012-01-26  Pablo Flouret  <pablof@motorola.com>
142445
142446        Fix bad code generated by the JSC idl code generator for [CachedAttribute] attributes
142447        https://bugs.webkit.org/show_bug.cgi?id=77165
142448
142449        Reviewed by Oliver Hunt.
142450
142451        Missing parameter in a call to deserialize() and using 'this' in the
142452        attribute accessor functions (which are static).
142453
142454        * bindings/scripts/CodeGeneratorJS.pm:
142455        (GenerateImplementation):
142456        (NativeToJSValue):
142457        * bindings/scripts/test/JS/JSTestObj.cpp:
142458        (WebCore::jsTestObjCachedAttribute1):
142459        (WebCore::jsTestObjCachedAttribute2):
142460        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
142461        (WebCore::jsTestSerializedScriptValueInterfaceValue):
142462
1424632012-01-26  W. James MacLean  <wjmaclean@chromium.org>
142464
142465        [chromium] Allow modification of size of partially occluded quads during culling to reduce pixel overdraw.
142466        https://bugs.webkit.org/show_bug.cgi?id=76349
142467
142468        Reviewed by James Robinson.
142469
142470        Prior to this patch, draw culling either rejects a DrawQuad because it is completely
142471        occluded, or draws the entire quad (even if it is largely occluded). This patch
142472        attempts to reduce the number of pixels drawn by determining if a partially
142473        occluded DrawQuad can be resized to a smaller quad, based on what portion of the
142474        DrawQuad is actually visible, and performing that resizing where possible.
142475
142476        Added cases to existing unit tests.
142477
142478        * platform/graphics/chromium/LayerRendererChromium.cpp:
142479        (WebCore::LayerRendererChromium::drawTileQuad):
142480        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
142481        (WebCore::CCDrawQuad::CCDrawQuad):
142482        * platform/graphics/chromium/cc/CCDrawQuad.h:
142483        (WebCore::CCDrawQuad::setQuadVisibleRect):
142484        (WebCore::CCDrawQuad::quadVisibleRect):
142485        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
142486        (WebCore::rectSubtractRegion):
142487        (WebCore::CCQuadCuller::cullOccludedQuads):
142488
1424892012-01-26  Anders Carlsson  <andersca@apple.com>
142490
142491        Scrollbars disappear when switching from legacy to overlay scrollbars
142492        https://bugs.webkit.org/show_bug.cgi?id=77166
142493
142494        Reviewed by Dan Bernstein.
142495
142496        * platform/ScrollView.cpp:
142497        (WebCore::ScrollView::scrollbarStyleChanged):
142498        Call positionScrollbarLayers to make sure that the new scrollbar layers are positioned correctly.
142499
142500        * platform/mac/ScrollAnimatorMac.mm:
142501        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
142502        Call ScrollbarThemeMac::setNewPainterForScrollbar after making the call to the scrollbar painter controller
142503        to set the horizontal or vertical imp, since setting the imp will reset the knob style.
142504
1425052012-01-26  Adam Barth  <abarth@webkit.org>
142506
142507        NULL ptr in WebCore::ContainerNode::parserAddChild
142508        https://bugs.webkit.org/show_bug.cgi?id=76258
142509
142510        Reviewed by Eric Seidel.
142511
142512        Test: fast/parser/nested-fragment-parser-crash.html
142513
142514        We always need a parent element to attach to.  In crazy cases, we can
142515        have elements in the stack of open elements that are already detached
142516        from the DOM.  In those cases, they don't have a parent, so we aren't
142517        able to enforce the maximum DOM depth.  (Fortunately, they're not
142518        attached to the DOM anymore so we don't need to enforce the maximum DOM
142519        depth!)
142520
142521        * html/parser/HTMLConstructionSite.cpp:
142522        (WebCore::HTMLConstructionSite::attachLater):
142523        (WebCore::HTMLConstructionSite::fosterParent):
142524
1425252012-01-26  Cris Neckar  <cdn@chromium.org>
142526
142527        The registration of schemes is currently racey as they are not registered from the main thread. 
142528        Getting rid of the assert that ensures that we are registering from the main thread until we can fix this.
142529
142530        Thank you ap@webkit for helping us identify this.
142531
142532        https://bugs.webkit.org/show_bug.cgi?id=77160
142533
142534        Reviewed by Adam Barth.
142535
142536        * platform/SchemeRegistry.cpp:
142537        (WebCore::CORSEnabledSchemes):
142538
1425392012-01-26  Anders Carlsson  <andersca@apple.com>
142540
142541        We don't need to always repaint overlay scrollbars if they're in layers
142542        https://bugs.webkit.org/show_bug.cgi?id=77159
142543
142544        Reviewed by Beth Dakin.
142545
142546        If a scrollable area has overlay scrollbars we'll always invalidate both scrollbars, regardless of
142547        whether both scroll offsets actually change since they're translucent and we want to draw the new page
142548        contents underneath.
142549        
142550        However, if the scrollbars are painted into GraphicsLayers they'll be composited by the GPU, and so we don't
142551        need to repaint them unless the corresponding scroll offset actually changes (which is handled in Scrollbar::updateThumb).
142552
142553        * platform/ScrollableArea.cpp:
142554        (WebCore::ScrollableArea::setScrollOffsetFromAnimation):
142555
1425562012-01-26  Joshua Bell  <jsbell@chromium.org>
142557
142558        IndexedDB: WebCore::IDBKey objects are leaked
142559        https://bugs.webkit.org/show_bug.cgi?id=77114
142560
142561        Reviewed by Tony Chang.
142562
142563        Fixing memory leaks, no new tests.
142564
142565        * storage/IDBKey.h:
142566        (WebCore::IDBKey::createInvalid):
142567        (WebCore::IDBKey::createNumber):
142568        (WebCore::IDBKey::createString):
142569        (WebCore::IDBKey::createDate):
142570        (WebCore::IDBKey::createArray):
142571
1425722012-01-25  Cris Neckar  <cdn@chromium.org>
142573
142574        Add a scheme registry for CORS requests. Allow simple CORS requests to be made to registered schemes.
142575        https://bugs.webkit.org/show_bug.cgi?id=77041
142576
142577        Reviewed by Alexey Proskuryakov.
142578
142579        * loader/DocumentThreadableLoader.cpp:
142580        (WebCore::DocumentThreadableLoader::makeSimpleCrossOriginAccessRequest):
142581        * platform/SchemeRegistry.cpp:
142582        (WebCore::CORSEnabledSchemes):
142583        (WebCore):
142584        (WebCore::SchemeRegistry::registerCORSEnabledScheme):
142585        (WebCore::SchemeRegistry::isCORSEnabledScheme):
142586        * platform/SchemeRegistry.h:
142587        (SchemeRegistry):
142588
1425892012-01-26  Noel Gordon  <noel.gordon@gmail.com>
142590
142591        File extension for webp files is .webp
142592        https://bugs.webkit.org/show_bug.cgi?id=76982
142593
142594        Reviewed by Adam Barth.
142595
142596        No new tests. No change in behavior.
142597
142598        * platform/image-decoders/webp/WEBPImageDecoder.h:
142599        (WebCore::WEBPImageDecoder::filenameExtension):
142600
1426012012-01-26  Alok Priyadarshi  <alokp@chromium.org>
142602
142603        [chromium] Remove dead and unnecessary code related to LayerChromium::cleanupResources
142604        https://bugs.webkit.org/show_bug.cgi?id=77137
142605
142606        Reviewed by James Robinson.
142607
142608        No new test needed. Only removing dead code.
142609
142610        * platform/graphics/chromium/LayerChromium.cpp:
142611        * platform/graphics/chromium/LayerChromium.h:
142612        (WebCore::LayerChromium::layerTreeHost):
142613        * platform/graphics/chromium/TiledLayerChromium.cpp:
142614        (WebCore::TiledLayerChromium::setLayerTreeHost):
142615
1426162012-01-26  Anders Carlsson  <andersca@apple.com>
142617
142618        Move horizontal rubber-band checks to ScrollElasticityController::handleWheelEvent
142619        https://bugs.webkit.org/show_bug.cgi?id=77147
142620
142621        Reviewed by Adam Roben.
142622
142623        * platform/mac/ScrollAnimatorMac.h:
142624        (ScrollAnimatorMac):
142625        * platform/mac/ScrollAnimatorMac.mm:
142626        (WebCore::ScrollAnimatorMac::handleWheelEvent):
142627        Always call ScrollElasticityController::handleWheelEvent, and only call didBeginScrollGesture and
142628        didEndScrollGesture if the event was actually handled.
142629
142630        (WebCore::ScrollAnimatorMac::shouldRubberBandInDirection):
142631        Implement this.
142632
142633        * platform/mac/ScrollElasticityController.h:
142634        * platform/mac/ScrollElasticityController.mm:
142635        (WebCore::ScrollElasticityController::handleWheelEvent):
142636        Check if we should rubber-band and return false if we shouldn't.
142637
142638        (WebCore::ScrollElasticityController::shouldRubberBandInHorizontalDirection):
142639        Ask the client if we should rubber-band.
142640
1426412012-01-19  James Robinson  <jamesr@chromium.org>
142642
142643        [chromium] Remove setLayerTreeHost nonsense on lost context
142644        https://bugs.webkit.org/show_bug.cgi?id=76675
142645
142646        Reviewed by Kenneth Russell.
142647
142648        This code isn't needed any more. On a lost context event, we drop all TextureManager-managed textures through
142649        the proxy and no layer types need special lost context handling.
142650
142651        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
142652        (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
142653
1426542012-01-26  Anders Carlsson  <andersca@apple.com>
142655
142656        Simplify checking of whether we should rubberband horizontally
142657        https://bugs.webkit.org/show_bug.cgi?id=77141
142658
142659        Reviewed by Adam Roben.
142660
142661        Have a single check for horizontal rubber-banding in both directions. This is in preparation
142662        for moving this code into ScrollElasticityController.
142663
142664        * platform/mac/ScrollAnimatorMac.mm:
142665        (WebCore::shouldRubberBandInHorizontalDirection):
142666        (WebCore::ScrollAnimatorMac::handleWheelEvent):
142667
1426682012-01-26  Scott Graham  <scottmg@chomium.org>
142669
142670        Fix include path in gyp file for V8InternalSettings.h
142671        https://bugs.webkit.org/show_bug.cgi?id=77128
142672
142673        Reviewed by Kent Tamura.
142674
142675        * WebCore.gyp/WebCore.gyp:
142676
1426772012-01-26  James Robinson  <jamesr@chromium.org>
142678
142679        We shouldn't synchronously update styles on all documents after running script
142680        https://bugs.webkit.org/show_bug.cgi?id=46761
142681
142682        Reviewed by Simon Fraser.
142683
142684        Currently we call Document::updateStyleForAllDocuments() after invoking any event or timeout handler. This is
142685        slow since it iterates over the entire document tree and defeats our recalcStyle timer batching. It is
142686        unnecessary as any code that depends on styles or the render tree being up to date must call
142687        updateStyleIfNeeded() on the document it is accessing.
142688
142689        The first reference I can find to this code is in r798 in the file WebCore/khtml/xml/domnode_impl.cpp. It's been
142690        cargo culted forward ever since.
142691
142692        * bindings/ScriptControllerBase.cpp:
142693        (WebCore::ScriptController::executeScript):
142694        * bindings/js/ScheduledAction.cpp:
142695        (WebCore::ScheduledAction::execute):
142696        * bindings/js/ScriptController.cpp:
142697        (WebCore::ScriptController::ScriptController):
142698        (WebCore::ScriptController::executeScriptInWorld):
142699        * bindings/js/ScriptController.h:
142700        * bindings/v8/ScheduledAction.cpp:
142701        (WebCore::ScheduledAction::execute):
142702        * bindings/v8/ScriptController.cpp:
142703        (WebCore::ScriptController::ScriptController):
142704        * bindings/v8/ScriptController.h:
142705        * dom/ScriptElement.cpp:
142706        (WebCore::ScriptElement::executeScript):
142707        * inspector/InspectorClient.cpp:
142708        (WebCore::InspectorClient::doDispatchMessageOnFrontendPage):
142709
1427102012-01-26  Anders Carlsson  <andersca@apple.com>
142711
142712        Get rid of ScrollElasticityController::beginScrollGesture()
142713        https://bugs.webkit.org/show_bug.cgi?id=77138
142714
142715        Reviewed by Adam Roben.
142716
142717        ScrollElasticityController::handleWheelEvent now checks if the wheel event phase is
142718        PlatformWheelEventPhaseBegan and sets up the gesture state if it is.
142719
142720        * platform/mac/ScrollAnimatorMac.mm:
142721        (WebCore::ScrollAnimatorMac::handleWheelEvent):
142722        * platform/mac/ScrollElasticityController.h:
142723        (ScrollElasticityController):
142724        * platform/mac/ScrollElasticityController.mm:
142725        (WebCore::ScrollElasticityController::handleWheelEvent):
142726
1427272012-01-26  Anders Carlsson  <andersca@apple.com>
142728
142729        Get rid of ScrollElasticityController::endScrollGesture()
142730        https://bugs.webkit.org/show_bug.cgi?id=77134
142731
142732        Reviewed by Adam Roben.
142733
142734        Just make ScrollElasticityController::handleWheelEvent call snapRubberBand if the wheel
142735        event phase is PlatformWheelEventPhaseEnded.
142736
142737        * platform/mac/ScrollAnimatorMac.mm:
142738        (WebCore::ScrollAnimatorMac::handleWheelEvent):
142739        * platform/mac/ScrollElasticityController.h:
142740        (ScrollElasticityController):
142741        * platform/mac/ScrollElasticityController.mm:
142742        (WebCore::ScrollElasticityController::handleWheelEvent):
142743
1427442012-01-26  Abhishek Arya  <inferno@chromium.org>
142745
142746        Crash in SVGSVGElement::currentViewBoxRect.
142747        https://bugs.webkit.org/show_bug.cgi?id=77121
142748
142749        Reviewed by Nikolas Zimmermann.
142750
142751        Symbols shouldn't be rendered. Revert the ASSERT
142752        from r105513 into a hard check.
142753
142754        Test: svg/custom/symbol-viewport-element-crash.svg
142755
142756        * svg/SVGLengthContext.cpp:
142757        (WebCore::SVGLengthContext::determineViewport):
142758
1427592012-01-26  Anders Carlsson  <andersca@apple.com>
142760
142761        Inline beginScrollGesture/endScrollGesture in handleWheelEvent
142762        https://bugs.webkit.org/show_bug.cgi?id=77133
142763
142764        Reviewed by Andreas Kling.
142765
142766        * platform/mac/ScrollAnimatorMac.h:
142767        (ScrollAnimatorMac):
142768        * platform/mac/ScrollAnimatorMac.mm:
142769        (WebCore::ScrollAnimatorMac::handleWheelEvent):
142770
1427712012-01-26  Anders Carlsson  <andersca@apple.com>
142772
142773        No need to set m_haveScrolledSincePageLoad in beginScrollGesture
142774        https://bugs.webkit.org/show_bug.cgi?id=77132
142775
142776        Reviewed by Andreas Kling.
142777
142778        m_haveScrolledSincePageLoad is already set to true in handleWheelEvent so we don't need
142779        to set it to true again.
142780
142781        * platform/mac/ScrollAnimatorMac.mm:
142782        (WebCore::ScrollAnimatorMac::beginScrollGesture):
142783
1427842012-01-26  Anders Carlsson  <andersca@apple.com>
142785
142786        Simplify checking for whether we should rubberband or not when at the edge
142787        https://bugs.webkit.org/show_bug.cgi?id=77131
142788
142789        Reviewed by Beth Dakin.
142790
142791        We only need to check once if we're pinned at either edge whether we should rubber-band
142792        or not. Do this when the wheel event phase is PlatformWheelEventPhaseBegan. This lets us
142793        remove a bunch of code that would keep track of the current horizontal scroll direction.
142794
142795        * platform/mac/ScrollAnimatorMac.h:
142796        (ScrollAnimatorMac):
142797        * platform/mac/ScrollAnimatorMac.mm:
142798        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
142799        (WebCore::ScrollAnimatorMac::handleWheelEvent):
142800        (WebCore::ScrollAnimatorMac::beginScrollGesture):
142801
1428022012-01-26  Eli Fidler  <efidler@rim.com>
142803
142804        [JSC] Inspector instrumentation for JavaScript calls.
142805        https://bugs.webkit.org/show_bug.cgi?id=40119
142806
142807        Reviewed by Geoffrey Garen.
142808
142809        Covered by existing Chromium inspector tests
142810
142811        * bindings/js/JSCallbackData.cpp:
142812        (WebCore::JSCallbackData::invokeCallback):
142813        * bindings/js/JSEventListener.cpp:
142814        (WebCore::JSEventListener::handleEvent):
142815        * bindings/js/JSMainThreadExecState.h:
142816        (WebCore::JSMainThreadExecState::instrumentedCall):
142817        * inspector/InspectorInstrumentation.cpp:
142818        (WebCore::InspectorInstrumentation::willCallFunctionImpl):
142819
1428202012-01-26  Mike Reed  <reed@google.com>
142821
142822        Signal to skia to force A8 text from LCD output, but only when we have to disable LCD because we're in a layer
142823        https://bugs.webkit.org/show_bug.cgi?id=76547
142824
142825        Reviewed by Stephen White.
142826
142827        Existing tests should confirm nothing is broken. Antialiased text
142828        is disabled in layouttests, so they should be unaffected by the
142829        difference in antialiasing quality.
142830
142831        * platform/graphics/skia/SkiaFontWin.cpp:
142832        (WebCore::setupPaintForFont):
142833
142834
1428352012-01-26  Anders Carlsson  <andersca@apple.com>
142836
142837        Use PlatformWheelEvent::phase() to determine if a scroll gesture begins or ends
142838        https://bugs.webkit.org/show_bug.cgi?id=77127
142839
142840        Reviewed by Beth Dakin.
142841
142842        * platform/mac/ScrollAnimatorMac.h:
142843        (ScrollAnimatorMac):
142844        Remove handleGestureEvent.
142845
142846        * platform/mac/ScrollAnimatorMac.mm:
142847        (WebCore::ScrollAnimatorMac::handleWheelEvent):
142848        Look at the event phase to determine when to call didBeginGesture and didEndGesture.
142849
1428502012-01-26  Benjamin Poulain  <benjamin@webkit.org>
142851
142852        Using strncmp() for comparing scheme and port numbers is inefficient
142853        https://bugs.webkit.org/show_bug.cgi?id=75821
142854
142855        Reviewed by Darin Adler.
142856
142857        Replace the equal() function comparing 2 arbitrary strings by a template
142858        comparing the string to an array, character by character.
142859
142860        This is only used for small strings: the schemes and the ports.
142861
142862        * platform/KURL.cpp:
142863        (WebCore::equal):
142864        (WebCore::isDefaultPortForScheme):
142865        (WebCore::isNonFileHierarchicalScheme):
142866        (WebCore::isCanonicalHostnameLowercaseForScheme):
142867
1428682012-01-26  Anders Carlsson  <andersca@apple.com>
142869
142870        WebWheelEvent::Phase and PlatformWheelEvent::Phase declarations should match AppKit
142871        https://bugs.webkit.org/show_bug.cgi?id=77123
142872
142873        Reviewed by Beth Dakin.
142874
142875        * platform/PlatformWheelEvent.h:
142876        ():
142877        * platform/mac/PlatformEventFactoryMac.mm:
142878        (WebCore::phaseForEvent):
142879
1428802012-01-26  Daniel Cheng  <dcheng@chromium.org>
142881
142882        Revert code changes from r105800
142883        https://bugs.webkit.org/show_bug.cgi?id=77071
142884
142885        The strings are already lowercased in EventHandler.cpp:findDropZone() so there's
142886        no need to call lower() again.
142887
142888        Reviewed by Tony Chang.
142889
142890        Covered by existing tests.
142891
142892        * dom/Clipboard.cpp:
142893        (WebCore::Clipboard::hasDropZoneType):
142894
1428952012-01-26  Stephen Chenney  <schenney@chromium.org>
142896
142897        REGRESSION (r91125): Polyline tool in google docs is broken
142898        https://bugs.webkit.org/show_bug.cgi?id=65796
142899
142900        Reviewed by Nikolas Zimmermann.
142901
142902        It turns out that the CG problem is a design decision. The bounding code
142903        returns CGRectNull for cases where a bound is ill-defined, rather than the
142904        empty bound as expected.
142905
142906        I'm also removing the workaround for isEmpty to get correct zero length paths.
142907        It is no longer necessary.
142908
142909        Tested by existing layout tests.
142910
142911        * platform/graphics/cg/PathCG.cpp: Removed path empty and path bound testing classes.
142912        (WebCore::Path::boundingRect): Added check for CGRectNull
142913        (WebCore::Path::fastBoundingRect): Added check for CGRectNull
142914        (WebCore::Path::strokeBoundingRect): Added check for CGRectNull
142915        (WebCore::Path::isEmpty): Reverted to former behavior, just using CGPathIsEmpty.
142916        (WebCore::Path::hasCurrentPoint): Reverted to former behavior, using isEmpty.
142917        (WebCore::Path::transform): Reverted to former behavior, using isEmpty.
142918
1429192012-01-26  Andreas Kling  <awesomekling@apple.com>
142920
142921        Refactor application of additional style attributes for table elements.
142922        <http://webkit.org/b/77095>
142923
142924        Reviewed by Darin Adler.
142925
142926        The primary purpose of this change is to reduce usage of CSSMappedAttributeDeclaration.
142927        Instead of using the mapped attribute decl table for additional table style, just use
142928        regular CSSMutableStyleDeclarations. We cache them all globally, except for the style
142929        that's shared between a table's cells. That one is cached per-table since it depends
142930        on the table's border and padding.
142931
142932        * dom/CSSMappedAttributeDeclaration.cpp:
142933        (WebCore::CSSMappedAttributeDeclaration::~CSSMappedAttributeDeclaration):
142934        * dom/MappedAttributeEntry.h:
142935
142936            Remove the concept of persistent CSSMappedAttributeDeclarations. The hunk in
142937            ~CSSMappedAttributeDeclaration was wildly wrong since it would leave stale pointers
142938            in the decl table, but unreachable since we always leaked one ref to those decls.
142939
142940        * dom/StyledElement.h:
142941        (WebCore::StyledElement::additionalAttributeStyle):
142942        * html/HTMLTableCellElement.cpp:
142943        (WebCore::HTMLTableCellElement::additionalAttributeStyle):
142944        * html/HTMLTableCellElement.h:
142945        (HTMLTableCellElement):
142946        * html/HTMLTableColElement.cpp:
142947        (WebCore::HTMLTableColElement::additionalAttributeStyle):
142948        * html/HTMLTableColElement.h:
142949        (HTMLTableColElement):
142950        * html/HTMLTableElement.cpp:
142951        (WebCore::HTMLTableElement::parseMappedAttribute):
142952        (WebCore::leakBorderStyle):
142953        (WebCore::HTMLTableElement::additionalAttributeStyle):
142954        (WebCore::HTMLTableElement::createSharedCellStyle):
142955        (WebCore::HTMLTableElement::additionalCellStyle):
142956        (WebCore::leakGroupBorderStyle):
142957        (WebCore::HTMLTableElement::additionalGroupStyle):
142958        * html/HTMLTableElement.h:
142959        (HTMLTableElement):
142960        * html/HTMLTableSectionElement.cpp:
142961        (WebCore::HTMLTableSectionElement::additionalAttributeStyle):
142962        * html/HTMLTableSectionElement.h:
142963        (HTMLTableSectionElement):
142964
142965            Instead of collecting additional style decls into a vector, switch over to a
142966            "PassRefPtr<CSSMutableStyleDeclaration> additionalAttributeStyle()".
142967            All style declarations that can be reused for all elements are cached at the return
142968            sites, leaving only the shared table cell style which we cache on HTMLTableElement.
142969            Also removed the canHaveAdditionalAttributeStyleDecls() virtual since the default
142970            additionalAttributeStyle() will just return 0.
142971
142972        * css/CSSStyleSelector.cpp:
142973        (WebCore::CSSStyleSelector::matchAllRules):
142974
142975            Updated for the new additional style conventions.
142976
1429772012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
142978
142979        Web Inspector: Scripts panel editor container should be based on UISourceCode objects, not SourceFrames.
142980        https://bugs.webkit.org/show_bug.cgi?id=77098
142981
142982        Reviewed by Pavel Feldman.
142983
142984        * inspector/front-end/ScriptsNavigator.js:
142985        * inspector/front-end/ScriptsPanel.js:
142986        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
142987        (WebInspector.ScriptsPanel.prototype.get visibleView):
142988        (WebInspector.ScriptsPanel.prototype.viewForFile):
142989        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
142990        (WebInspector.EditorContainer):
142991        (WebInspector.EditorContainer.prototype.get visibleView):
142992        (WebInspector.EditorContainer.prototype.showFile):
142993        (WebInspector.EditorContainer.prototype.setFileIsDirty):
142994        (WebInspector.EditorContainer.prototype.replaceFiles):
142995        (WebInspector.EditorContainer.prototype.reset):
142996        (WebInspector.EditorContainerDelegate):
142997        (WebInspector.EditorContainerDelegate.prototype.viewForFile):
142998        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
142999        (WebInspector.ScriptsPanel.SingleFileEditorContainer):
143000        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get visibleView):
143001        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showFile):
143002        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setFileIsDirty):
143003        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceFiles):
143004        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
143005        * inspector/front-end/TabbedEditorContainer.js:
143006        (WebInspector.TabbedEditorContainer):
143007        (WebInspector.TabbedEditorContainer.prototype.get visibleView):
143008        (WebInspector.TabbedEditorContainer.prototype._titleForFile):
143009        (WebInspector.TabbedEditorContainer.prototype._tooltipForFile):
143010        (WebInspector.TabbedEditorContainer.prototype._appendFileTab):
143011        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
143012        (WebInspector.TabbedEditorContainer.prototype._tabSelected):
143013        (WebInspector.TabbedEditorContainer.prototype.replaceFiles.get if):
143014        (WebInspector.TabbedEditorContainer.prototype.replaceFiles):
143015        (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty.get if):
143016        (WebInspector.TabbedEditorContainer.prototype.setFileIsDirty):
143017        (WebInspector.TabbedEditorContainer.prototype.reset):
143018
1430192012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
143020
143021        SVG + <object> tests are flakey
143022        https://bugs.webkit.org/show_bug.cgi?id=77099
143023
143024        Reviewed by Andreas Kling.
143025
143026        Bug 76447 changed the way RenderSVGRoot figures out its size. Previously RenderSVGRoot directly called out to the
143027        ownerRenderer (RenderEmbeddedObject) to compute its replaced size when embedded through eg. <object> element,
143028        which was quite hacky. It now relies on the ownerRenderers availableLogicalWidth/Height to be correctly set,
143029        which requires that the ownerRenderer is always laid out before the RenderSVGRoot and not the other way round.
143030
143031        This is the source of current flakiness bugs.
143032
143033        In trunk FrameView contains several special hacks, to layout the ownerRenderers view, after the RenderSVGRoots view
143034        finished layout. This worked without flakiness as RenderSVGRoot used to directly call computeReplacedLogicalWidth/Height
143035        on the ownerRenderer, which is now gone. Fortunately we can keep the new design, and can remove all hacks out of
143036        RenderSVGRoot/FrameView, if we can guarantee that the ownerRenderer FrameView is laid out before the RenderSVGRoot FrameView.
143037
143038        This is a much less error-prone approach as the previous one. This lets us run nrwt --tolerance 0 -p svg -g again,
143039        without 100% reproducable failing svg/wicd tests. (There's still one unrelated error, before guard malloc mode passes fully).
143040
143041        Test: svg/wicd/sizing-flakiness.html (Adjusted version of the rightsizing test, made to fail with trunk w/o this patch.)
143042
143043        * page/FrameView.cpp: Remove m_inLayoutParentView.
143044        (WebCore::FrameView::FrameView): Remove no longer needed m_inLayoutParentView.
143045        (WebCore::FrameView::forceLayoutParentViewIfNeeded): Simplify, no need to call updateWidgetPositions anymore, nor to clear/query flags in RenderSVGRoot.
143046        (WebCore::FrameView::layout): Call forceLayoutParentViewIfNeeded() before laying out the embedded document, to guarantee the correct order.
143047        * page/FrameView.h:
143048        (FrameView): Remove m_inLayoutParentView.
143049        * rendering/svg/RenderSVGRoot.cpp:
143050        (WebCore::RenderSVGRoot::RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument.
143051        (WebCore::resolveLengthAttributeForSVG): Remove outcommented code, that went in by accident.
143052        (WebCore::RenderSVGRoot::layout): Remove m_needsSizeNegotiationWithHostDocument handling which is now incorrect and no longer needed.
143053        * rendering/svg/RenderSVGRoot.h:
143054        (RenderSVGRoot): Remove m_needsSizeNegotiationWithHostDocument + accessors.
143055
1430562012-01-23  Andreas Kling  <awesomekling@apple.com>
143057
143058        Make elements that don't have attributes smaller.
143059        <http://webkit.org/b/76876>
143060
143061        Reviewed by Antti Koivisto.
143062
143063        Move the inline style declaration from StyledElement to NamedNodeMap, since having
143064        an inline style declaration also implies having a style attribute on the element.
143065        This saves one CPU word per element that has no attributes.
143066
143067        This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
143068        HTML5 spec at <http://whatwg.org/c>.
143069
143070        * dom/NamedNodeMap.cpp:
143071        (WebCore::NamedNodeMap::ensureInlineStyleDecl):
143072        (WebCore::NamedNodeMap::destroyInlineStyleDecl):
143073        (WebCore::NamedNodeMap::createInlineStyleDecl):
143074        * dom/NamedNodeMap.h:
143075        (WebCore::NamedNodeMap::inlineStyleDecl):
143076        * dom/StyledElement.cpp:
143077        (WebCore::StyledElement::updateStyleAttribute):
143078        (WebCore::StyledElement::addSubresourceAttributeURLs):
143079        * dom/StyledElement.h:
143080        (WebCore::StyledElement::inlineStyleDecl):
143081        (WebCore::StyledElement::ensureInlineStyleDecl):
143082        (WebCore::StyledElement::destroyInlineStyleDecl):
143083
1430842012-01-26  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
143085
143086        [Qt] Use ICU if available
143087        https://bugs.webkit.org/show_bug.cgi?id=76821
143088
143089        Reviewed by Simon Hausmann.
143090
143091        Adding correct sources to a Qt 5 based build.
143092
143093        No new tests, it's just a build dependency change.
143094
143095        * Target.pri:
143096
1430972012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
143098
143099        Not reviewed. Fix mac build after r105988.
143100
143101        * WebCore.exp.in:
143102
1431032012-01-26  Nándor Huszka  <huszka.nandor@stud.u-szeged.hu>
143104
143105        [WK2] WebKitTestRunner needs layoutTestController.setGeolocationPermission
143106        https://bugs.webkit.org/show_bug.cgi?id=42545
143107
143108        Reviewed by Zoltan Herczeg.
143109
143110        No need for new tests, there is no behavior change.
143111
143112        Added a line to file which copies the forwarding headers.
143113
143114        * WebCore.vcproj/copyForwardingHeaders.cmd:
143115
1431162012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
143117
143118        Not reviewed. Fix Qt build after r105978.
143119
143120        * rendering/svg/RenderSVGResourceClipper.cpp: Add missing Frame/FrameView includes.
143121        * rendering/svg/RenderSVGResourceSolidColor.cpp: Ditto.
143122        * rendering/svg/SVGInlineTextBox.cpp: Ditto.
143123        * rendering/svg/SVGRenderSupport.cpp: Ditto.
143124
1431252012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
143126
143127        Not reviewed. Fix non-AllInOne builds after r105978.
143128
143129        * rendering/svg/RenderSVGResource.cpp:
143130
1431312012-01-26  Vsevolod Vlasov  <vsevik@chromium.org>
143132
143133        Unreviewed inspector closure compilation fix.
143134
143135        * inspector/front-end/externs.js:
143136        (WebInspector.closeDrawerView):
143137
1431382012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
143139
143140        Not reviewed. Fix release builds after r105978.
143141
143142        * rendering/svg/SVGInlineTextBox.cpp:
143143        (WebCore::SVGInlineTextBox::paintSelectionBackground): Remove unused variable.
143144
1431452012-01-26  Kent Tamura  <tkent@chromium.org>
143146
143147        Unreviewed, rolling out r105968.
143148        http://trac.webkit.org/changeset/105968
143149        https://bugs.webkit.org/show_bug.cgi?id=76995
143150
143151        Incorrect behavior change
143152
143153        * html/HTMLInputElement.cpp:
143154        (WebCore::HTMLInputElement::setIndeterminate):
143155
1431562012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
143157
143158        crash in WebCore::RenderSVGContainer::paint
143159        https://bugs.webkit.org/show_bug.cgi?id=69714
143160
143161        Reviewed by Dirk Schulze.
143162
143163        When RenderSVGResourceClipper draws its children to a mask, it requires some special constraints:
143164        - fill-opacity/stroke-opacity/opacity forced to 1
143165        - masker/filter resources shouldn't be applied to the children
143166        - fill must be set to the initial fill paint server for all children (solid black)
143167        - stroke must be set to the initial stroke paint server for all children (none)
143168
143169        This was achieved before by mutating the style of the children, which made them need a relayout.
143170        SVGImageBufferTools:renderSubtreeToImageBuffer thus needed to layout the children, if needed, before painting.
143171
143172        This can be completly avoided, when changing RenderSVGResourceClipper to avoid style mutations.
143173        Introduce a new "PaintBehaviorRenderingSVGMask", and set the current FrameViews paintBehaviour to this
143174        state, before painting the subtree. This way we can detect that we're rendering a clip mask, without
143175        having to mutate the style of the children and without having to relayout.
143176
143177        We can now ASSERT(!item->needsLayout()) in renderSubtreeToImageBuffer.
143178
143179        Tests: svg/clip-path/clip-path-tspan-and-stroke.svg
143180               svg/custom/layout-loop.svg
143181
143182        * rendering/PaintPhase.h:
143183        * rendering/svg/RenderSVGResource.cpp:
143184        (WebCore::requestPaintingResource):
143185        * rendering/svg/RenderSVGResourceClipper.cpp:
143186        (WebCore::RenderSVGResourceClipper::RenderSVGResourceClipper):
143187        (WebCore::RenderSVGResourceClipper::removeAllClientsFromCache):
143188        (WebCore::RenderSVGResourceClipper::removeClientFromCache):
143189        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
143190        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
143191        * rendering/svg/RenderSVGResourceClipper.h:
143192        * rendering/svg/RenderSVGResourceMasker.cpp:
143193        (WebCore::RenderSVGResourceMasker::applyResource):
143194        (WebCore::RenderSVGResourceMasker::drawContentIntoMaskImage):
143195        * rendering/svg/RenderSVGResourceMasker.h:
143196        * rendering/svg/RenderSVGResourcePattern.cpp:
143197        (WebCore::RenderSVGResourcePattern::createTileImage):
143198        * rendering/svg/RenderSVGResourceSolidColor.cpp:
143199        (WebCore::RenderSVGResourceSolidColor::applyResource):
143200        * rendering/svg/SVGImageBufferTools.cpp:
143201        (WebCore::SVGImageBufferTools::renderSubtreeToImageBuffer):
143202        * rendering/svg/SVGInlineTextBox.cpp:
143203        (WebCore::SVGInlineTextBox::paintSelectionBackground):
143204        (WebCore::SVGInlineTextBox::paint):
143205        * rendering/svg/SVGRenderSupport.cpp:
143206        (WebCore::SVGRenderSupport::prepareToRenderSVGContent):
143207
1432082012-01-26  Nikolas Zimmermann  <nzimmermann@rim.com>
143209
143210        Not reviewed. Try to fix Gtk build - JSShadowRoot.cpp can't be found, fix by looking for it in the derived sources.
143211
143212        * GNUmakefile.list.am:
143213
1432142012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
143215
143216        Web Inspector: Improve user experience of advanced search panel closing.
143217        https://bugs.webkit.org/show_bug.cgi?id=76983
143218
143219        Reviewed by Pavel Feldman.
143220
143221        Added close button to search panel.
143222        Esc now closes the panel even when search filed has focus.
143223
143224        * English.lproj/localizedStrings.js:
143225        * inspector/front-end/AdvancedSearchController.js:
143226        (WebInspector.AdvancedSearchController.prototype.close):
143227        (WebInspector.SearchView):
143228        (WebInspector.SearchView.prototype._onKeyDown):
143229        (WebInspector.SearchView.prototype._closeButtonPressed):
143230        * inspector/front-end/inspector.css:
143231        (.search-view .search-panel):
143232        (.search-view .search-panel button.search-close-button):
143233        * inspector/front-end/inspector.js:
143234        (WebInspector._escPressed):
143235        (WebInspector.closeDrawerView):
143236
1432372012-01-26  Joe Thomas  <joethomas@motorola.com>
143238
143239        https://bugs.webkit.org/show_bug.cgi?id=76995.
143240        WebKit fails IETC :indeterminate and input type=radio test.
143241
143242        As per the HTML spec http://www.whatwg.org/specs/web-apps/current-work/multipage/the-input-element.html#dom-input-indeterminate,
143243        only checkbox input type should respect the indeterminate state.
143244        Removed the support for indeterminate state for radio input types.
143245
143246        Reviewed by Eric Seidel.
143247
143248        Modified the existing test cases.
143249
143250        * html/HTMLInputElement.cpp:
143251        (WebCore::HTMLInputElement::setIndeterminate): Indeterminate state is supported only for checkbox input type.
143252
1432532012-01-25  Daniel Cheng  <dcheng@chromium.org>
143254
143255        [chromium] Fix ClipboardChromium::validateFilename to actually operate on extensions
143256        https://bugs.webkit.org/show_bug.cgi?id=76996
143257
143258        As it turns out, we were always calling validateFilename on a data object with an empty
143259        extension. Now we call it on an actual extension so that it's sanitized.
143260
143261        Reviewed by Tony Chang.
143262
143263        Unit test: webkit_unit_tests --gtest_filter=ClipboardChromium.*
143264
143265        * WebCore.gypi:
143266        * platform/chromium/ClipboardChromium.cpp:
143267        (WebCore::writeImageToDataObject):
143268        * platform/chromium/ClipboardChromium.h:
143269        (ClipboardChromium):
143270        * platform/chromium/ClipboardChromiumLinux.cpp: Removed.
143271        * platform/chromium/ClipboardChromiumPosix.cpp: Renamed from Source/WebCore/platform/chromium/ClipboardChromiumMac.cpp.
143272        (WebCore):
143273        (WebCore::isInvalidFileCharacter):
143274        (WebCore::ClipboardChromium::validateFilename):
143275        * platform/chromium/ClipboardChromiumWin.cpp:
143276        (WebCore):
143277        (WebCore::ClipboardChromium::validateFilename):
143278
1432792012-01-25  James Robinson  <jamesr@chromium.org>
143280
143281        [chromium] Rollout r100751, this mechanism does not work and is very slow
143282        https://bugs.webkit.org/show_bug.cgi?id=77055
143283
143284        Unreviewed rollout of http://trac.webkit.org/changeset/100751. The refresh rate mechanism is not implemented,
143285        but it still triggers a very slow codepath and triggers races on some platforms.
143286
143287        * platform/PlatformScreen.h:
143288        (WebCore):
143289        * platform/chromium/PlatformScreenChromium.cpp:
143290        * platform/chromium/PlatformSupport.h:
143291        (PlatformSupport):
143292        ():
143293        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
143294        (WebCore::CCSettings::CCSettings):
143295        (CCSettings):
143296        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
143297        (WebCore::CCThreadProxy::initializeImplOnImplThread):
143298
1432992012-01-25  Mark Rowe  <mrowe@apple.com>
143300
143301        Reapply Daniel Bates's build fix from r105847 after the exact same issue was reintroduced in r105930.
143302        
143303        Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105930>.
143304        (https://bugs.webkit.org/show_bug.cgi?id=75049)
143305
143306        Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
143307        LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
143308        WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
143309
143310        * platform/KURL.h:
143311        (WebCore::KURL::innerURL):
143312
1433132012-01-25  Eric Seidel  <eric@webkit.org>
143314
143315        Unreviewed, rolling out r105940.
143316        http://trac.webkit.org/changeset/105940
143317        https://bugs.webkit.org/show_bug.cgi?id=76095
143318
143319        Only half this change landed
143320
143321        * DerivedSources.cpp:
143322        * DerivedSources.make:
143323        * DerivedSources.pri:
143324
1433252012-01-25  Mark Rowe  <mrowe@apple.com>
143326
143327        Build in to an alternate location when USE_STAGING_INSTALL_PATH is set.
143328
143329        <rdar://problem/10609417> Adopt USE_STAGING_INSTALL_PATH
143330
143331        Reviewed by David Kilzer.
143332
143333        * Configurations/WebCore.xcconfig: Define NORMAL_WEBCORE_FRAMEWORKS_DIR, which contains
143334        the path where WebCore is normally installed. Update WEBCORE_FRAMEWORKS_DIR to point to
143335        the staged frameworks directory when USE_STAGING_INSTALL_PATH is set. Define
143336        NORMAL_PRODUCTION_FRAMEWORKS_DIR, which contains the path where our public frameworks
143337        are normally installed. Update PRODUCTION_FRAMEWORKS_DIR to point to the staged frameworks
143338        directory when USE_STAGING_INSTALL_PATH is set. Always set the framework's install name
143339        based on the normal framework location. This prevents an incorrect install name from being
143340        used when installing in to the staged frameworks directory. Look for our other frameworks
143341        in the staged frameworks directory when USE_STAGING_INSTALL_PATH is set.
143342
1433432012-01-25  Eric Seidel  <eric@webkit.org>
143344
143345        "text" and "URL" legacy clipboard types should not be case sensitive
143346        https://bugs.webkit.org/show_bug.cgi?id=76947
143347
143348        Reviewed by Adam Barth.
143349
143350        This matches the HTML5 spec which says the first thing to do is to lowercase
143351        the type before comparing.
143352        I also removed the stripping of whitespace since that is not part of the modern spec (and no tests failed as a result of removal).
143353        Turns out we already had a test for case sensitivity, but it was disabled on Mac
143354        so I just re-enabled it and have added failing expectations for the parts
143355        of the test we still fail.
143356
143357        * platform/mac/ClipboardMac.mm:
143358        (WebCore::cocoaTypeFromHTMLClipboardType):
143359        (WebCore::ClipboardMac::getData):
143360
1433612012-01-25  Eric Seidel  <eric@webkit.org>
143362
143363        HTMLIsIndexElement should not expose HTMLInputElement properties
143364        https://bugs.webkit.org/show_bug.cgi?id=76095
143365
143366        Reviewed by Adam Barth.
143367
143368        document.createElement("isindex") should produce an HTMLUnknownElement
143369        per the HTML5 spec.  The parser automagically translates <isindex> into
143370        a whole dom tree roughly representing what <isindex> used to do 15 years ago. :)
143371
143372        This patch just removes our support for HTMLIsIndexElement.  The parser
143373        support was already in.  Having support for HTMLIsIndexElement was causing
143374        one of the IE TestCenter tests to fail.
143375
143376        Test: fast/dom/HTMLIsIndexElement/prototype-chain.html
143377
143378        * DerivedSources.cpp:
143379        * DerivedSources.make:
143380        * DerivedSources.pri:
143381        * GNUmakefile.list.am:
143382        * Target.pri:
143383        * WebCore.exp.in:
143384        * WebCore.gypi:
143385        * WebCore.order:
143386        * WebCore.vcproj/WebCore.vcproj:
143387        * WebCore.xcodeproj/project.pbxproj:
143388        * bindings/gobject/GNUmakefile.am:
143389        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp:
143390        (WebKit::createHTMLElementWrapper):
143391        * bindings/objc/DOM.mm:
143392        (WebCore::createElementClassMap):
143393        * bindings/objc/DOMHTML.h:
143394        * bindings/objc/PublicDOMInterfaces.h:
143395        * html/HTMLElementsAllInOne.cpp:
143396        * html/HTMLIsIndexElement.cpp: Removed.
143397        * html/HTMLIsIndexElement.h: Removed.
143398        * html/HTMLIsIndexElement.idl: Removed.
143399        * html/HTMLTagNames.in:
143400        * page/DOMWindow.idl:
143401
1434022012-01-25  Eric Seidel  <eric@webkit.org>
143403
143404        HTMLEmbedObject should match HTMLObjectElement by stopping any load when it is removed from beforeload
143405        https://bugs.webkit.org/show_bug.cgi?id=74360
143406
143407        Reviewed by Adam Barth.
143408
143409        Neither of these !renderer() checks is strictly necessary since requestObject()
143410        makes the same check.  However requestObject() asserts before it makes that
143411        check, so it makes sense to add the check to HTMLEmebedObject instead of
143412        removing the check from HTMLObjectElement.
143413        I also moved the protect RefPtr to before the beforeload dispatch since
143414        beforeload can remove the whole DOM element (as this test does) and
143415        thus I beleive the renderer() check could be checking free'd memory.
143416
143417        Updated fast/dom/beforeload/remove-flash-in-beforeload-listener.html to test
143418        <embed> as well as <object>.
143419
143420        * html/HTMLEmbedElement.cpp:
143421        (WebCore::HTMLEmbedElement::updateWidget):
143422        * html/HTMLObjectElement.cpp:
143423        (WebCore::HTMLObjectElement::updateWidget):
143424
1434252012-01-25  Kent Tamura  <tkent@chromium.org>
143426
143427        Move focus/blur handling code of HTMLInputElement to InputType
143428        https://bugs.webkit.org/show_bug.cgi?id=76984
143429
143430        Reviewed by Dimitri Glazkov.
143431
143432        No new tests. Just a refactoring.
143433
143434        * html/HTMLInputElement.cpp:
143435        (WebCore::HTMLInputElement::handleFocusEvent):
143436        Move the code to PasswordInputType::handleFocusEvent().
143437        (WebCore::HTMLInputElement::handleBlurEvent):
143438        Move the code to TextFieldInputType::handleBlurEvent() and
143439        PasswordInputType::handleBlurEvent().
143440        * html/InputType.cpp:
143441        (WebCore::InputType::handleFocusEvent):
143442        * html/InputType.h:
143443        (InputType): Add handleFocusEvent().
143444        * html/PasswordInputType.cpp:
143445        (WebCore::PasswordInputType::handleFocusEvent):
143446        Move the code for type=password from HTMLInputElement::handleFocusEvent().
143447        (WebCore::PasswordInputType::handleBlurEvent):
143448        Move the code for tyep=password from HTMLInputElement::handleBlurEvent().
143449        * html/PasswordInputType.h:
143450        (PasswordInputType): Add handleFocusEvent() and handleBlurEvent().
143451        * html/TextFieldInputType.cpp:
143452        (WebCore::TextFieldInputType::handleBlurEvent):
143453        Move the code for text field types from HTMLInputElement::handleBlurEvent().
143454        * html/TextFieldInputType.h:
143455        (TextFieldInputType): Add handleBlurEvent().
143456
1434572012-01-25  Adam Barth  <abarth@webkit.org>
143458
143459        Node.cpp shouldn't duplicate QualifiedName parsing logic
143460        https://bugs.webkit.org/show_bug.cgi?id=76672
143461
143462        Reviewed by Eric Seidel.
143463
143464        I added this code out of ignorance that this logic already existed in
143465        Document.cpp.  In a future patch, we should consider moving it to
143466        QualifiedName.cpp.
143467
143468        * dom/Node.cpp:
143469        (WebCore):
143470        (WebCore::Node::checkSetPrefix):
143471
1434722012-01-25  Eric Seidel  <eric@webkit.org>
143473
143474        Share more code between updateWidget implementations in HTMLEmbedElement and HTMLObjectElement
143475        https://bugs.webkit.org/show_bug.cgi?id=74340
143476
143477        Reviewed by Adam Barth.
143478
143479        I'm preparing to unify these two methods, and starting by sharing more code between them.
143480
143481        * html/HTMLEmbedElement.cpp:
143482        (WebCore::HTMLEmbedElement::updateWidget):
143483        * html/HTMLObjectElement.cpp:
143484        (WebCore::HTMLObjectElement::updateWidget):
143485        * html/HTMLPlugInElement.cpp:
143486        (WebCore::HTMLPlugInElement::guardedDispatchBeforeLoadEvent):
143487        * html/HTMLPlugInElement.h:
143488
1434892012-01-25  Eric Uhrhane  <ericu@chromium.org>
143490
143491        Add full support for filesystem URLs.
143492        https://bugs.webkit.org/show_bug.cgi?id=75049
143493
143494        Reviewed by Adam Barth.
143495
143496        No new tests; existing layout tests cover the basic functionality, and
143497        the new functionality won't be there until Chromium adds it.  This patch
143498        merely enables that, without changing behavior.
143499
143500        * fileapi/EntryBase.cpp:
143501        (WebCore::EntryBase::toURL): Add missing escaping of URL path.
143502
143503        * page/SecurityOrigin.cpp:
143504        (WebCore::extractInnerURL): Use innerURL member, if it's populated.
143505
143506        * platform/KURL.h:
143507        (WebCore::KURL::innerURL): Add innerURL member.
143508
143509        * platform/KURLGoogle.cpp:
143510        (WebCore::KURLGooglePrivate::KURLGooglePrivate):
143511        (WebCore::KURLGooglePrivate::operator=):
143512        Add copy constructor and operator=, which are now needed since
143513        m_innerURL needs special handling.
143514        (WebCore::KURLGooglePrivate::setUtf8):
143515        (WebCore::KURLGooglePrivate::setAscii):
143516        Add calls to initInnerURL.
143517        (WebCore::KURLGooglePrivate::initInnerURL):
143518        Add method to init/copy m_innerURL.
143519        (WebCore::KURLGooglePrivate::copyTo):
143520        Handle m_innerURL during copies.
143521        (WebCore::encodeWithURLEscapeSequences):
143522        Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
143523
143524        * platform/KURLGooglePrivate.h:
143525        (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
143526
1435272012-01-25  Daniel Cheng  <dcheng@chromium.org>
143528
143529        [chromium] Refactor Clipboard invalidate for DataTransferItem/DataTransferItemList into a wrapper
143530        https://bugs.webkit.org/show_bug.cgi?id=76993
143531
143532        We want to unify the backing data store for ClipboardChromium and DataTransferItems. For
143533        that, we want use a similar representation to DataTransferItem list inside
143534        ChromiumDataObject.  However, since ChromiumDataObject should be valid in scopes where
143535        Clipboard is not (e.g. default drag processing), we need to separate the clipboard
143536        invalidation logic into a wrapper class.
143537
143538        Reviewed by Tony Chang.
143539
143540        Covered by existing tests.
143541
143542        * platform/chromium/ClipboardChromium.cpp:
143543        ():
143544        (WebCore::ClipboardChromium::items):
143545        * platform/chromium/DataTransferItemChromium.cpp:
143546        (WebCore::DataTransferItemChromium::getAsString):
143547        * platform/chromium/DataTransferItemListChromium.cpp:
143548        (WebCore::DataTransferItemListChromium::length):
143549        (WebCore::DataTransferItemListChromium::item):
143550        (WebCore::DataTransferItemListChromium::deleteItem):
143551        (WebCore::DataTransferItemListChromium::clear):
143552        (WebCore::DataTransferItemListChromium::add):
143553
1435542012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
143555
143556        [Texmap] Divide TextureMapperNode.cpp to 3 files.
143557        https://bugs.webkit.org/show_bug.cgi?id=76660
143558
143559         Reviewed by Kenneth Rohde Christiansen.
143560
143561         Split the animation part of TextureMapperNode out to a separate file, called
143562         TextureMapperAnimation.
143563         Provide a clean interface for that class, that allows separating the internals of the scene
143564         painting from the internals of the animation interpolation.
143565
143566         No new tests. Existing animation tests cover this.
143567
143568         * GNUmakefile.list.am:
143569        * Target.pri:
143570        * WebCore.gypi:
143571        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
143572        (WebCore::GraphicsLayerTextureMapper::addAnimation):
143573        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
143574        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
143575        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
143576        (GraphicsLayerTextureMapper):
143577        * platform/graphics/texmap/TextureMapperNode.cpp:
143578        (WebCore::TextureMapperNode::syncCompositingStateSelf):
143579        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
143580        (WebCore::TextureMapperNode::syncAnimations):
143581        (WebCore::TextureMapperNode::syncAnimationsRecursively):
143582        (WebCore::TextureMapperNode::syncCompositingState):
143583        * platform/graphics/texmap/TextureMapperNode.h:
143584        (TextureMapperNode):
143585
1435862012-01-25  Hajime Morita  <morrita@google.com>
143587
143588        ENABLE_SHADOW_DOM should be available via build-webkit --shadow-dom
143589        https://bugs.webkit.org/show_bug.cgi?id=76863
143590
143591        Reviewed by Dimitri Glazkov.
143592
143593        Added a feature flag.
143594
143595        No tests, it's a behid flag configuration change.
143596
143597        * CMakeLists.txt:
143598        * Configurations/FeatureDefines.xcconfig:
143599        * DerivedSources.cpp:
143600        * DerivedSources.make:
143601        * DerivedSources.pri:
143602        * GNUmakefile.am:
143603        * GNUmakefile.list.am:
143604        * WebCore.vcproj/WebCore.vcproj:
143605        * WebCore.xcodeproj/project.pbxproj:
143606
1436072012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
143608
143609        Unreviewed, rolling out r105906.
143610        http://trac.webkit.org/changeset/105906
143611        https://bugs.webkit.org/show_bug.cgi?id=77038
143612
143613        Breaks compositing/visibility/layer-visible-content.html and
143614        compositing/visibility/visibility-image-layers-dynamic.html
143615        (Requested by leviw|gardening on #webkit).
143616
143617        * rendering/RenderLayerBacking.cpp:
143618        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
143619
1436202012-01-25  Mike Fenton  <mifenton@rim.com>
143621
143622        Page Up and Page Down mappings are backwards on BlackBerry port.
143623        https://bugs.webkit.org/show_bug.cgi?id=77021
143624
143625        Fix Page Up and Page Down mappings as they are reversed.
143626
143627        Reviewed by Antonio Gomes.
143628
143629        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
143630        (WebCore::keyIdentifierForBlackBerryCharacter):
143631        (WebCore::windowsKeyCodeForBlackBerryCharacter):
143632
1436332012-01-25  Hajime Morita  <morrita@google.com>
143634
143635        <content> should create HTMLContentElement object
143636        https://bugs.webkit.org/show_bug.cgi?id=76439
143637
143638        Reviewed by Dimitri Glazkov.
143639
143640        - Added HTMLContentElement.idl which has @select attribute.
143641        - Added "content" element.
143642
143643        Both are behind ENABLE_SHADOW_DOM.
143644
143645        Tests: fast/dom/shadow/content-element-api.html
143646               fast/dom/shadow/content-element-outside-shadow.html
143647
143648        * CMakeLists.txt:
143649        * DerivedSources.cpp:
143650        * DerivedSources.make:
143651        * DerivedSources.pri:
143652        * GNUmakefile.list.am:
143653        * WebCore.gypi:
143654        * WebCore.vcproj/WebCore.vcproj:
143655        * WebCore.xcodeproj/project.pbxproj:
143656        * html/HTMLTagNames.in:
143657        * html/shadow/HTMLContentElement.cpp:
143658        (WebCore::contentTagName):
143659        (WebCore):
143660        (WebCore::HTMLContentElement::create):
143661        * html/shadow/HTMLContentElement.h:
143662        (HTMLContentElement):
143663        * html/shadow/HTMLContentElement.idl: Added.
143664
1436652012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
143666
143667        Unreviewed, rolling out r105828.
143668        http://trac.webkit.org/changeset/105828
143669        https://bugs.webkit.org/show_bug.cgi?id=77036
143670
143671        Caused many crashes in ClusterFuzz and PerformanceTests
143672        (Requested by inferno-sec on #webkit).
143673
143674        * rendering/RenderBlock.cpp:
143675        (WebCore::RenderBlock::removeChild):
143676        * rendering/RenderBlock.h:
143677        (RenderBlock):
143678
1436792012-01-25  Shawn Singh  <shawnsingh@chromium.org>
143680
143681        Fix the semantics of passing contentsVisible flag to GraphicsLayers
143682        https://bugs.webkit.org/show_bug.cgi?id=76975
143683
143684        Reviewed by Simon Fraser.
143685
143686        This patch is covered by existing tests, in particular
143687        compositing/visibility/layer-visible-content.html; its
143688        expectations are rebaselined.
143689
143690        * rendering/RenderLayerBacking.cpp:
143691        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
143692
1436932012-01-25  Tony Chang  <tony@chromium.org>
143694
143695        support overflow:auto and overflow:scroll in new flexbox
143696        https://bugs.webkit.org/show_bug.cgi?id=76953
143697
143698        Reviewed by David Hyatt.
143699
143700        Tests: css3/flexbox/flexbox-overflow-auto-expected.html
143701               css3/flexbox/flexbox-overflow-auto.html
143702
143703        * rendering/RenderBox.cpp:
143704        (WebCore::RenderBox::addLayoutOverflow): In the case of reverse flexboxen, we can overflow up or to the left (like horizontal-bt or rtl content).
143705        * rendering/RenderFlexibleBox.cpp:
143706        (WebCore::RenderFlexibleBox::layoutBlock): Call updateScrollInfoAfterLayout() to add overflow scrollbars.
143707        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): In row-reverse, offset the start of the content by the scrollbar.
143708        (WebCore::RenderFlexibleBox::layoutColumnReverse): In column-reverse, offset the start of the content by the scrollbar.
143709        * rendering/RenderFlexibleBox.h:
143710        (RenderFlexibleBox): Make isHorizontalFlow public.
143711        * rendering/style/RenderStyle.h:
143712        (WebCore::RenderStyleBitfields::isReverseFlexDirection): Convenience method.
143713
1437142012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
143715
143716        Unreviewed, rolling out r105885.
143717        http://trac.webkit.org/changeset/105885
143718        https://bugs.webkit.org/show_bug.cgi?id=77027
143719
143720        Causes assertions in Position. (Requested by leviw|gardening
143721        on #webkit).
143722
143723        * dom/Position.cpp:
143724        (WebCore::Position::upstream):
143725        (WebCore::Position::downstream):
143726        * dom/PositionIterator.cpp:
143727        * dom/PositionIterator.h:
143728        (PositionIterator):
143729        * editing/htmlediting.cpp:
143730        (WebCore::nextCandidate):
143731        (WebCore::nextVisuallyDistinctCandidate):
143732        (WebCore::previousCandidate):
143733        (WebCore::previousVisuallyDistinctCandidate):
143734
1437352012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
143736
143737        border-image should be implemented like a shorthand.
143738        https://bugs.webkit.org/show_bug.cgi?id=76697
143739
143740        Reviewed by Tony Chang.
143741
143742        Make sure that border-image is implemented like a shorthand : when we parse
143743        it we set the correct value to its longhands. The code was not doing it
143744        previously as we inherited the old implementation of -webkit-border-image which
143745        is not a shorthand but a regular property. It will then increase
143746        style.length for a given element as we now expand the longhands.
143747        The behavior stays the same for -webkit-border-image.
143748
143749        Test: fast/css/border-image-style-length.html
143750
143751        * css/CSSParser.cpp:
143752        (WebCore::CSSParser::parseValue):
143753        (WebCore::BorderImageParseContext::BorderImageParseContext):
143754        (WebCore::BorderImageParseContext::commitWebKitBorderImage):
143755        (WebCore::BorderImageParseContext::commitBorderImage):
143756        (BorderImageParseContext):
143757        (WebCore::BorderImageParseContext::commitBorderImageProperty):
143758        (WebCore::CSSParser::parseBorderImage):
143759        * css/CSSParser.h:
143760        ():
143761        * css/CSSPropertyLonghand.cpp:
143762        (WebCore::initShorthandMap):
143763        * css/CSSStyleApplyProperty.cpp:
143764        ():
143765        (WebCore::ApplyPropertyExpanding::applyInheritValue):
143766        (WebCore::ApplyPropertyExpanding::applyInitialValue):
143767        (WebCore::ApplyPropertyExpanding::applyValue):
143768        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
143769        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
143770        * css/CSSStyleSelector.cpp:
143771        (WebCore::CSSStyleSelector::mapNinePieceImage):
143772        * page/animation/AnimationBase.cpp:
143773        (WebCore::AnimationBase::ensurePropertyMap):
143774        (WebCore::addShorthandProperties):
143775        * rendering/style/RenderStyle.h:
143776        (WebCore::RenderStyleBitfields::borderImageSlices):
143777        (WebCore::RenderStyleBitfields::borderImageWidth):
143778        (WebCore::RenderStyleBitfields::borderImageOutset):
143779        (RenderStyleBitfields):
143780        (WebCore::RenderStyleBitfields::setBorderImageSlices):
143781        (WebCore::RenderStyleBitfields::setBorderImageWidth):
143782        (WebCore::RenderStyleBitfields::setBorderImageOutset):
143783
1437842012-01-23  MORITA Hajime  <morrita@google.com>
143785
143786        [Refactoring][Internals] Should have InternalSettings
143787        https://bugs.webkit.org/show_bug.cgi?id=76424
143788
143789        Reviewed by Kent Tamura.
143790
143791        This change extracted setting related method from window.internals
143792        to window.internals.settings object.
143793        - Invoked Internals::reset() in the constructor to employ Document object.
143794        - Moved setting and configuration related Internals methods to
143795          newly introduced InternalSettings object.
143796
143797        No new tests, covered by existing tests.
143798
143799        * DerivedSources.make:
143800        * DerivedSources.pri:
143801        * GNUmakefile.am:
143802        * GNUmakefile.list.am:
143803        * Target.pri:
143804        * WebCore.gyp/WebCore.gyp:
143805        * WebCore.gypi:
143806        * WebCore.vcproj/WebCoreTestSupport.vcproj:
143807        * WebCore.xcodeproj/project.pbxproj:
143808        * testing/InternalSettings.cpp: Added.
143809        (WebCore::InternalSettings::create):
143810        (WebCore::InternalSettings::~InternalSettings):
143811        (WebCore::InternalSettings::InternalSettings):
143812        (WebCore::InternalSettings::settings):
143813        (WebCore::InternalSettings::document):
143814        (WebCore::InternalSettings::page):
143815        (WebCore::InternalSettings::setInspectorResourcesDataSizeLimits):
143816        (WebCore::InternalSettings::setForceCompositingMode):
143817        (WebCore::InternalSettings::setAcceleratedFiltersEnabled):
143818        (WebCore::InternalSettings::setEnableCompositingForFixedPosition):
143819        (WebCore::InternalSettings::setEnableCompositingForScrollableFrames):
143820        (WebCore::InternalSettings::setAcceleratedDrawingEnabled):
143821        (WebCore::InternalSettings::setEnableScrollAnimator):
143822        (WebCore::InternalSettings::setZoomAnimatorTransform):
143823        (WebCore::InternalSettings::setZoomParameters):
143824        (WebCore::InternalSettings::setMockScrollbarsEnabled):
143825        (WebCore::InternalSettings::setPasswordEchoEnabled):
143826        (WebCore::InternalSettings::setPasswordEchoDurationInSeconds):
143827        (WebCore::InternalSettings::setShouldLayoutFixedElementsRelativeToFrame):
143828        (WebCore::InternalSettings::setUnifiedTextCheckingEnabled):
143829        (WebCore::InternalSettings::unifiedTextCheckingEnabled):
143830        (WebCore::InternalSettings::pageScaleFactor):
143831        (WebCore::InternalSettings::setPageScaleFactor):
143832        (WebCore::InternalSettings::setPerTileDrawingEnabled):
143833        * testing/InternalSettings.h: Added.
143834        * testing/InternalSettings.idl: Added.
143835        * testing/Internals.cpp:
143836        (WebCore::Internals::create):
143837        (WebCore::Internals::Internals):
143838        (WebCore::Internals::reset):
143839        * testing/Internals.h:
143840        (WebCore::Internals::settings):
143841        * testing/Internals.idl:
143842        * testing/js/WebCoreTestSupport.cpp:
143843        (WebCoreTestSupport::injectInternalsObject):
143844        * testing/v8/WebCoreTestSupport.cpp:
143845        (WebCoreTestSupport::injectInternalsObject):
143846
1438472012-01-25  Alexis Menard  <alexis.menard@openbossa.org>
143848
143849        border-image should not crash when the source is not specified.
143850        https://bugs.webkit.org/show_bug.cgi?id=77001
143851
143852        Reviewed by Andreas Kling.
143853
143854        This bug was introduced by r105502 but was exposed by r105738.
143855        The image-source of a border-image is not mandatory therefore it
143856        may happen that you have no value set for it. WebCore::createBorderImageValue
143857        was wrongly assuming that the image is always set. This problem also required a bit
143858        of refactoring in CSSStyleSelector::mapNinePieceImage to take into account that
143859        the image could be optional (just like other properties).
143860
143861        Test: fast/css/border-image-null-image-crash.html
143862
143863        * css/CSSBorderImage.cpp:
143864        (WebCore::createBorderImageValue):
143865        * css/CSSStyleSelector.cpp:
143866        (WebCore::CSSStyleSelector::mapNinePieceImage):
143867
1438682012-01-25  Kenneth Rohde Christiansen  <kenneth@webkit.org>
143869
143870        [Qt] Implement tap feedback respecting -webkit-tap-highlight-color
143871        https://bugs.webkit.org/show_bug.cgi?id=76914
143872
143873        Reviewed by Simon Hausmann.
143874
143875        Implement highlighting of dom nodes with a rounded rect, respecting
143876        the color of -webkit-tap-highlight-color and any transform applied
143877        to the element.
143878
143879        Tested with manual test.
143880
143881        * Target.pri:
143882        * page/GestureTapHighlighter.cpp: Added.
143883        (WebCore::GestureTapHighlighter::pathForNodeHighlight):
143884        * page/GestureTapHighlighter.h: Added.
143885
1438862012-01-25  Joshua Bell  <jsbell@chromium.org>
143887
143888        IndexedDB: Need to distinguish key paths that don't yield value vs. yield invalid key
143889        https://bugs.webkit.org/show_bug.cgi?id=76487
143890
143891        Implement the precondition checks for IDBObjectStore.add/put operations: raise an error
143892        if there is a key generator (autoIncrement) and the path yields a value and the value
143893        is not a valid key; raise an error if any of the index key paths yield a value which
143894        is not a valid key.
143895
143896        Reviewed by Tony Chang.
143897
143898        Tests: storage/indexeddb/keypath-edges.html
143899               storage/indexeddb/objectstore-basics.html
143900
143901        * storage/IDBObjectStoreBackendImpl.cpp:
143902        (WebCore::IDBObjectStoreBackendImpl::put):
143903
1439042012-01-25  Yong Li  <yoli@rim.com>
143905
143906        https://bugs.webkit.org/show_bug.cgi?id=65377
143907        Skip the entire node when it is right to do so, instead of stepping
143908        through every character, so we save CPU time on checking every position
143909        unnecessarily.
143910
143911        Reviewed by Darin Adler.
143912
143913        Test: perf/selection-skip-hidden-node.html
143914
143915        * dom/Position.cpp:
143916        (WebCore::Position::upstream):
143917        (WebCore::Position::downstream):
143918        * dom/PositionIterator.cpp:
143919        (WebCore::PositionIterator::moveToLeafNodeStart):
143920        (WebCore::PositionIterator::moveToLeafNodeEnd):
143921        * dom/PositionIterator.h:
143922        * editing/htmlediting.cpp:
143923        (WebCore::nextCandidate):
143924        (WebCore::nextVisuallyDistinctCandidate):
143925        (WebCore::previousCandidate):
143926        (WebCore::previousVisuallyDistinctCandidate):
143927
1439282012-01-25  Kaustubh Atrawalkar  <kaustubh@motorola.com>
143929
143930        Remove unnecessary member variable from PluginView.
143931        https://bugs.webkit.org/show_bug.cgi?id=76909
143932
143933        Reviewed by Adam Roben.
143934
143935        No new tests needed.
143936
143937        * plugins/PluginView.cpp:
143938        (WebCore::PluginView::getURLNotify):
143939        (WebCore::PluginView::getURL):
143940        (WebCore::PluginView::PluginView):
143941        (WebCore::PluginView::handlePost):
143942        (WebCore::PluginView::getValueForURL):
143943        (WebCore::PluginView::setValueForURL):
143944        * plugins/PluginView.h:
143945
1439462012-01-25  Yael Aharon  <yael.aharon@nokia.com>
143947
143948        [Qt] Build fix when using force_static_libs_as_shared
143949        https://bugs.webkit.org/show_bug.cgi?id=76832
143950
143951        Reviewed by Simon Hausmann.
143952
143953        Add a dependency on QtWidgets, when compiling against Qt5.
143954
143955        No new tests. This is a build fix.
143956
143957        * Target.pri:
143958
1439592012-01-25  Sami Kyostila  <skyostil@chromium.org>
143960
143961        Clipping of render layer boundaries does not take page scale into account
143962        https://bugs.webkit.org/show_bug.cgi?id=76850
143963
143964        Reviewed by Simon Fraser.
143965
143966        When inserting render layers into the compositor's overlap map, the
143967        layer boundaries are clipped against any potential parent clip rects.
143968        The clip rects are given in CSS coordinates, while the render layer
143969        boundaries are in scaled CSS coordinates, so the result is incorrect.
143970        This patch scales the clip rects before calculating the intersection.
143971
143972        Test: compositing/overflow/overflow-scaled-descendant-overlapping.html
143973
143974        * rendering/RenderLayerCompositor.cpp:
143975        (WebCore::RenderLayerCompositor::addToOverlapMap):
143976
1439772012-01-25  Stephen Chenney  <schenney@chromium.org>
143978
143979        Linecaps wrong for zero length lines
143980        https://bugs.webkit.org/show_bug.cgi?id=71820
143981
143982        Reviewed by Nikolas Zimmermann.
143983
143984        Total reworking of the method used to draw zero-length linecaps for
143985        SVG. This patch works for all zero length sub-paths.
143986
143987        Tests: svg/stroke/zero-length-path-linecap-rendering.svg
143988               svg/stroke/zero-length-subpaths-linecap-rendering.svg
143989
143990        * rendering/svg/RenderSVGShape.cpp: Significant refactoring to enable
143991          new implementation and clarify code.
143992        (WebCore::RenderSVGShape::createShape):
143993        (WebCore::RenderSVGShape::strokeContains):
143994        (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
143995        (WebCore::RenderSVGShape::zeroLengthSubpathRect):
143996        (WebCore::RenderSVGShape::zeroLengthLinecapPath):
143997        (WebCore::RenderSVGShape::nonScalingStrokePath):
143998        (WebCore::RenderSVGShape::setupNonScalingStrokeTransform):
143999        (WebCore::RenderSVGShape::fillShape):
144000        (WebCore::RenderSVGShape::strokePath):
144001        (WebCore::RenderSVGShape::fillAndStrokePath):
144002        (WebCore::RenderSVGShape::updateCachedBoundaries):
144003        (WebCore::RenderSVGShape::processZeroLengthSubpaths):
144004        * rendering/svg/RenderSVGShape.h: Declarations for new methods.
144005        * rendering/svg/SVGSubpathData.h: Class for finding zero length subpaths.
144006        * svg/SVGPathBuilder.h: Fix typos
144007        * svg/SVGPathConsumer.h: Fix typos
144008        * svg/SVGPathSegListBuilder.h: Fix typos
144009        * svg/SVGPathTraversalStateBuilder.h: Fix typos
144010
1440112012-01-23  Yury Semikhatsky  <yurys@chromium.org>
144012
144013        Web Inspector: show memory counter graphs in timeline panel
144014        https://bugs.webkit.org/show_bug.cgi?id=76843
144015
144016        Timeline panel is extended with several graphs depicting total node count,
144017        number of DOM groups and event listeners. This feature is hidden behind
144018        experimental setting.
144019
144020        Reviewed by Pavel Feldman.
144021
144022        * English.lproj/localizedStrings.js:
144023        * inspector/Inspector.json:
144024        * inspector/InspectorController.cpp:
144025        (WebCore::InspectorController::InspectorController):
144026        * inspector/InspectorTimelineAgent.cpp:
144027        (WebCore::InspectorTimelineAgent::setDomCountersEnabled):
144028        (WebCore::InspectorTimelineAgent::didCallFunction):
144029        (WebCore::InspectorTimelineAgent::didDispatchEvent):
144030        (WebCore::InspectorTimelineAgent::didWriteHTML):
144031        (WebCore::InspectorTimelineAgent::didFireTimer):
144032        (WebCore::InspectorTimelineAgent::didEvaluateScript):
144033        (WebCore::InspectorTimelineAgent::setHeapSizeStatistic):
144034        (WebCore::InspectorTimelineAgent::collectDomCounters):
144035        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
144036        * inspector/InspectorTimelineAgent.h:
144037        (WebCore::InspectorTimelineAgent::create):
144038        * inspector/TimelineRecordFactory.cpp:
144039        * inspector/front-end/Settings.js:
144040        (WebInspector.ExperimentsSettings):
144041        * inspector/front-end/TimelinePanel.js:
144042        (WebInspector.TimelinePanel):
144043        (WebInspector.MemoryStatistics):
144044        (WebInspector.MemoryStatistics.prototype.setTopPosition):
144045        (WebInspector.MemoryStatistics.prototype.setSidebarWidth):
144046        (WebInspector.MemoryStatistics.prototype._sidebarResized):
144047        (WebInspector.MemoryStatistics.prototype._updateSize):
144048        (WebInspector.MemoryStatistics.prototype._updateSidebarSize):
144049        (WebInspector.MemoryStatistics.prototype._createCounterSidebarElement):
144050        (WebInspector.MemoryStatistics.prototype.addTimlineEvent):
144051        (WebInspector.MemoryStatistics.prototype._draw.getGroupCount):
144052        (WebInspector.MemoryStatistics.prototype._draw.getNodeCount):
144053        (WebInspector.MemoryStatistics.prototype._draw.getListenerCount):
144054        (WebInspector.MemoryStatistics.prototype._draw):
144055        (WebInspector.MemoryStatistics.prototype._calculateVisibleIndexes):
144056        (WebInspector.MemoryStatistics.prototype._onMouseOver):
144057        (WebInspector.MemoryStatistics.prototype._refreshCurrentValues):
144058        (WebInspector.MemoryStatistics.prototype.visible):
144059        (WebInspector.MemoryStatistics.prototype.show):
144060        (WebInspector.MemoryStatistics.prototype.refresh):
144061        (WebInspector.MemoryStatistics.prototype.hide):
144062        (WebInspector.MemoryStatistics.prototype._setVerticalClip):
144063        (WebInspector.MemoryStatistics.prototype._calculateXValues):
144064        (WebInspector.MemoryStatistics.prototype._drawPolyline):
144065        (WebInspector.MemoryStatistics.prototype._drawBottomBound):
144066        (WebInspector.MemoryStatistics.prototype._clear):
144067        (WebInspector.TimelinePanel.prototype._startSplitterDragging):
144068        (WebInspector.TimelinePanel.prototype._splitterDragging):
144069        (WebInspector.TimelinePanel.prototype._endSplitterDragging):
144070        (WebInspector.TimelinePanel.prototype._setSplitterPosition):
144071        (WebInspector.TimelinePanel.prototype.get statusBarItems):
144072        (WebInspector.TimelinePanel.prototype._createStatusbarButtons):
144073        (WebInspector.TimelinePanel.prototype._toggleMemoryStatistics):
144074        (WebInspector.TimelinePanel.prototype._onTimelineEventRecorded):
144075        (WebInspector.TimelinePanel.prototype.sidebarResized):
144076        (WebInspector.TimelinePanel.prototype._refresh):
144077        * inspector/front-end/timelinePanel.css:
144078        (#timeline-memory-splitter):
144079        (#memory-counters-graph):
144080        (#memory-graphs-container):
144081        (#memory-graphs-container .split-view-contents):
144082        (.timeline-marker):
144083        (.memory-counter-sidebar-info):
144084        (.memory-counter-sidebar-info.bottom-border-visible):
144085
1440862012-01-25  Joseph Pecoraro  <pecoraro@apple.com>
144087
144088        <http://webkit.org/b/76941> Web Inspector: Remove Unused InspectorFrontendHost.search Stub
144089
144090        Reviewed by Pavel Feldman.
144091
144092        * inspector/front-end/InspectorFrontendHostStub.js:
144093
1440942012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
144095
144096        Unreviewed inspector style fix.
144097
144098        * inspector/front-end/tabbedPane.css:
144099        (.tabbed-pane-header-tab-close-button):
144100        (select.tabbed-pane-header-tabs-drop-down-select):
144101
1441022012-01-25  Pablo Flouret  <pablof@motorola.com>
144103
144104        Fix incorrect behavior in HTMLCollection.prototype.item().
144105        https://bugs.webkit.org/show_bug.cgi?id=74468
144106
144107        Reviewed by Adam Barth.
144108
144109        HTMLCollection.prototype.item("someString") was falling back to
144110        .namedItem("someString"), which is wrong per spec. Also align the
144111        handling of various other types of objects passed as the argument with
144112        the spec and the rest of the browsers.
144113
144114        Test: fast/dom/collection-item.html
144115
144116        * bindings/js/JSHTMLCollectionCustom.cpp: Remove custom implementation of item().
144117        * bindings/v8/custom/V8HTMLCollectionCustom.cpp: Ditto.
144118        * html/HTMLCollection.idl: Remove [Custom] in item(), it's not needed.
144119
1441202012-01-25  Sheriff Bot  <webkit.review.bot@gmail.com>
144121
144122        Unreviewed, rolling out r105858.
144123        http://trac.webkit.org/changeset/105858
144124        https://bugs.webkit.org/show_bug.cgi?id=77004
144125
144126        It made many tests crash on Qt (Requested by Ossy on #webkit).
144127
144128        * GNUmakefile.list.am:
144129        * Target.pri:
144130        * WebCore.gypi:
144131        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
144132        (WebCore::GraphicsLayerTextureMapper::addAnimation):
144133        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
144134        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
144135        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
144136        (GraphicsLayerTextureMapper):
144137        * platform/graphics/texmap/TextureMapperAnimation.cpp: Removed.
144138        * platform/graphics/texmap/TextureMapperAnimation.h: Removed.
144139        * platform/graphics/texmap/TextureMapperNode.cpp:
144140        (WebCore::TextureMapperNode::syncCompositingStateSelf):
144141        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
144142        (WebCore::normalizedAnimationValue):
144143        (WebCore):
144144        (WebCore::TextureMapperNode::applyOpacityAnimation):
144145        (WebCore::solveEpsilon):
144146        (WebCore::solveCubicBezierFunction):
144147        (WebCore::solveStepsFunction):
144148        (WebCore::applyTimingFunction):
144149        (WebCore::TextureMapperNode::applyTransformAnimation):
144150        (WebCore::TextureMapperNode::applyAnimationFrame):
144151        (WebCore::TextureMapperNode::applyAnimation):
144152        (WebCore::TextureMapperNode::hasOpacityAnimation):
144153        (WebCore::TextureMapperNode::hasTransformAnimation):
144154        (WebCore::TextureMapperNode::syncAnimations):
144155        (WebCore::TextureMapperNode::syncAnimationsRecursively):
144156        (WebCore::TextureMapperNode::syncCompositingState):
144157        (WebCore::TextureMapperAnimation::TextureMapperAnimation):
144158        * platform/graphics/texmap/TextureMapperNode.h:
144159        (TextureMapperAnimation):
144160        (WebCore::TextureMapperAnimation::create):
144161        (WebCore):
144162        (TextureMapperNode):
144163
1441642012-01-25  Kenichi Ishibashi  <bashi@chromium.org>
144165
144166        fast/text/unicode-variation-selector.html doesn't pass on Lion
144167        https://bugs.webkit.org/show_bug.cgi?id=76041
144168
144169        Reviewed by Dan Bernstein.
144170
144171        Consumes non-BMP marks in advanceByCombiningCharacterSequence() to take into
144172        account Ideographic variation selectors (these are non-BMP marks).
144173
144174        No new tests. fast/text/unicode-variation-selector.html should pass on Lion.
144175
144176        * platform/graphics/mac/ComplexTextController.cpp:
144177        (WebCore::advanceByCombiningCharacterSequence): Use Unicode code point
144178        to iterate the loop which consumes marks.
144179
1441802012-01-25  Ilya Tikhonovsky  <loislo@chromium.org>
144181
144182        Web Inspector: DetailedHeapSnapshot: adjust node name cell format for the retainers tree.
144183        https://bugs.webkit.org/show_bug.cgi?id=76989
144184
144185        Reviewed by Pavel Feldman.
144186
144187        * English.lproj/localizedStrings.js:
144188        * inspector/front-end/DetailedHeapshotGridNodes.js:
144189        (WebInspector.HeapSnapshotGenericObjectNode.prototype._createObjectCell):
144190        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
144191        (WebInspector.HeapSnapshotObjectNode):
144192        (WebInspector.HeapSnapshotObjectNode.prototype._prefixObjectCell):
144193        (WebInspector.HeapSnapshotObjectNode.prototype._postfixObjectCell):
144194        * inspector/front-end/HeapSnapshot.js:
144195        (WebInspector.HeapSnapshotEdgesProvider.prototype._serialize):
144196
1441972012-01-25  Vsevolod Vlasov  <vsevik@chromium.org>
144198
144199        Web Inspector: [InspectorIndexedDB] Pass Database, object stores and indexes meta information to frontend.
144200        https://bugs.webkit.org/show_bug.cgi?id=76711
144201
144202        Reviewed by Yury Semikhatsky.
144203
144204        * inspector/Inspector.json:
144205        * inspector/InspectorIndexedDBAgent.cpp:
144206        (WebCore):
144207        (WebCore::assertDocument):
144208        (WebCore::assertIDBFactory):
144209        (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
144210        (WebCore::InspectorIndexedDBAgent::requestDatabase):
144211        * inspector/InspectorIndexedDBAgent.h:
144212        (InspectorIndexedDBAgent):
144213        * inspector/front-end/IndexedDBModel.js:
144214        (WebInspector.IndexedDBModel):
144215        (WebInspector.IndexedDBModel.prototype._frameDetached):
144216        (WebInspector.IndexedDBModel.prototype._reset):
144217        (WebInspector.IndexedDBModel.prototype._originAddedToFrame):
144218        (WebInspector.IndexedDBModel.prototype._originRemovedFromFrame):
144219        (WebInspector.IndexedDBModel.prototype._originRemoved):
144220        (WebInspector.IndexedDBModel.prototype._updateOriginDatabaseNames):
144221        (WebInspector.IndexedDBModel.prototype._databaseRemoved):
144222        (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
144223        (WebInspector.IndexedDBModel.prototype._loadDatabase):
144224        (WebInspector.IndexedDBModel.Frame):
144225        (WebInspector.IndexedDBModel.Database):
144226        (WebInspector.IndexedDBModel.ObjectStore):
144227        (WebInspector.IndexedDBModel.ObjectStoreIndex):
144228        (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
144229        (WebInspector.IndexedDBRequestManager.prototype.requestDatabase.innerCallback):
144230        (WebInspector.IndexedDBRequestManager.prototype.requestDatabase):
144231        (WebInspector.IndexedDBRequestManager.prototype._databaseLoaded):
144232        (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
144233        (WebInspector.IndexedDBRequestManager.prototype._databaseRemoved):
144234        (WebInspector.IndexedDBRequestManager.prototype._reset):
144235        (WebInspector.IndexedDBRequestManager.DatabaseRequest):
144236        (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
144237        (WebInspector.IndexedDBDispatcher.prototype.databaseLoaded):
144238
1442392012-01-25  Peter Rybin  <peter.rybin@gmail.com>
144240
144241        Web Inspector: CodeGeneratorInspector.py: add optional runtime validator
144242        https://bugs.webkit.org/show_bug.cgi?id=76676
144243
144244        Reviewed by Yury Semikhatsky.
144245
144246        Generator algorithm is redone significantly.
144247
144248        * inspector/CodeGeneratorInspector.py:
144249        (RawTypes.BaseType):
144250        (RawTypes.BaseType.request_raw_internal_runtime_cast):
144251        (RawTypes.BaseType.generate_validate_method_impl):
144252        (RawTypes):
144253        (RawTypes.generate_validate_methods):
144254        (RawTypes.String):
144255        (RawTypes.String.generate_validate_method):
144256        (RawTypes.String.get_raw_validator_call_text):
144257        (RawTypes.Int):
144258        (RawTypes.Int.generate_validate_method):
144259        (RawTypes.Int.get_raw_validator_call_text):
144260        (RawTypes.Number):
144261        (RawTypes.Number.generate_validate_method):
144262        (RawTypes.Number.get_raw_validator_call_text):
144263        (RawTypes.Bool):
144264        (RawTypes.Bool.generate_validate_method):
144265        (RawTypes.Bool.get_raw_validator_call_text):
144266        (RawTypes.Object):
144267        (RawTypes.Object.generate_validate_method):
144268        (RawTypes.Object.get_raw_validator_call_text):
144269        (RawTypes.Any):
144270        (RawTypes.Any.generate_validate_method):
144271        (RawTypes.Any.get_raw_validator_call_text):
144272        (RawTypes.Array):
144273        (RawTypes.Array.generate_validate_method):
144274        (RawTypes.Array.get_raw_validator_call_text):
144275        (TypeBindings.create_named_type_declaration.Helper):
144276        (TypeBindings.create_ad_hoc_type_declaration.Helper):
144277        (TypeBindings.create_type_declaration_.EnumBinding):
144278        (TypeBindings.create_type_declaration_.EnumBinding.resolve_inner):
144279        (TypeBindings.create_type_declaration_.EnumBinding.request_user_runtime_cast):
144280        (TypeBindings.create_type_declaration_.EnumBinding.request_internal_runtime_cast):
144281        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
144282        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
144283        (TypeBindings.create_type_declaration_.EnumBinding.get_validator_call_text):
144284        (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
144285        (TypeBindings.create_type_declaration_.PlainString):
144286        (TypeBindings.create_type_declaration_.PlainString.resolve_inner):
144287        (TypeBindings.create_type_declaration_.PlainString.request_user_runtime_cast):
144288        (TypeBindings.create_type_declaration_.PlainString.request_internal_runtime_cast):
144289        (TypeBindings.create_type_declaration_.PlainString.get_validator_call_text):
144290        (TypeBindings.create_type_declaration_.TypedefString):
144291        (TypeBindings.create_type_declaration_.TypedefString.resolve_inner):
144292        (TypeBindings.create_type_declaration_.TypedefString.request_user_runtime_cast):
144293        (TypeBindings.create_type_declaration_.TypedefString.request_internal_runtime_cast):
144294        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
144295        (TypeBindings.create_type_declaration_.TypedefString.get_validator_call_text):
144296        (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
144297        (TypeBindings.create_type_declaration_.ClassBinding):
144298        (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner):
144299        (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.PropertyData):
144300        (TypeBindings.create_type_declaration_.ClassBinding.resolve_inner.ResolveData):
144301        (TypeBindings.create_type_declaration_.ClassBinding.request_user_runtime_cast):
144302        (TypeBindings.create_type_declaration_.ClassBinding.request_internal_runtime_cast):
144303        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
144304        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
144305        (get_validator_call_text):
144306        (get_in_c_type_text):
144307        (AdHocTypeContextImpl):
144308        (AdHocTypeContextImpl.__init__):
144309        (AdHocTypeContextImpl.get_type_name_fix):
144310        (AdHocTypeContextImpl.get_type_name_fix.NameFix):
144311        (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
144312        (AdHocTypeContextImpl.add_type):
144313        (PlainObjectBinding):
144314        (PlainObjectBinding.resolve_inner):
144315        (PlainObjectBinding.request_user_runtime_cast):
144316        (PlainObjectBinding.request_internal_runtime_cast):
144317        (PlainObjectBinding.get_validator_call_text):
144318        (ArrayBinding):
144319        (ArrayBinding.resolve_inner):
144320        (ArrayBinding.resolve_inner.AdHocTypeContext):
144321        (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix):
144322        (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix):
144323        (ArrayBinding.resolve_inner.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
144324        (ArrayBinding.resolve_inner.AdHocTypeContext.add_type):
144325        (ArrayBinding.resolve_inner.ResolveData):
144326        (ArrayBinding.request_user_runtime_cast):
144327        (ArrayBinding.request_internal_runtime_cast):
144328        (ArrayBinding.get_code_generator):
144329        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
144330        (ArrayBinding.get_validator_call_text):
144331        (ArrayBinding.get_in_c_type_text):
144332        (RawTypeBinding.resolve_inner):
144333        (RawTypeBinding):
144334        (RawTypeBinding.request_user_runtime_cast):
144335        (RawTypeBinding.request_internal_runtime_cast):
144336        (RawTypeBinding.get_validator_call_text):
144337        (TypeData.get_name):
144338        (TypeData):
144339        (TypeData.get_domain_name):
144340        (resolve_param_type):
144341        (NeedRuntimeCastRequest):
144342        (NeedRuntimeCastRequest.__init__):
144343        (NeedRuntimeCastRequest.acknowledge):
144344        (NeedRuntimeCastRequest.is_acknowledged):
144345        (resolve_all_types):
144346        (resolve_all_types.ForwardListener):
144347        (resolve_all_types.ForwardListener.add_type_data):
144348        (resolve_all_types.ResolveContext):
144349        (Generator):
144350        (Generator.go):
144351        (Generator.process_event):
144352        (Generator.process_event.AdHocTypeContext):
144353        (Generator.process_event.AdHocTypeContext.add_type):
144354        (Generator.process_event.EventForwardListener):
144355        (Generator.process_event.EventForwardListener.add_type_data):
144356        (Generator.process_event.EventResolveContext):
144357        (Generator.process_event.EventGenerateContext):
144358        (Generator.process_types.GenerateContext):
144359        (Generator.process_types.create_type_builder_caller.call_type_builder):
144360        (Generator.process_types.generate_forward_callback):
144361        * inspector/InspectorValues.h:
144362        (WebCore::InspectorObject::size):
144363
1443642012-01-25  Anton Muhin  <antonm@chromium.org>
144365
144366        Unreview manual revert of r105843.
144367
144368        * fileapi/EntryBase.cpp:
144369        (WebCore::EntryBase::toURL):
144370        * page/SecurityOrigin.cpp:
144371        (WebCore::extractInnerURL):
144372        * platform/KURL.h:
144373        (KURL):
144374        * platform/KURLGoogle.cpp:
144375        (WebCore):
144376        (WebCore::KURLGooglePrivate::setUtf8):
144377        (WebCore::KURLGooglePrivate::setAscii):
144378        (WebCore::KURLGooglePrivate::initProtocolIsInHTTPFamily):
144379        (WebCore::KURLGooglePrivate::copyTo):
144380        (WebCore::encodeWithURLEscapeSequences):
144381        * platform/KURLGooglePrivate.h:
144382        (KURLGooglePrivate):
144383
1443842012-01-25  Noel Gordon  <noel.gordon@gmail.com>
144385
144386        Use maximum image dimension definition from libwebp
144387        https://bugs.webkit.org/show_bug.cgi?id=76980
144388
144389        Reviewed by Kent Tamura.
144390
144391        No new tests, no change in behavior.
144392
144393        * platform/image-encoders/skia/WEBPImageEncoder.cpp:
144394        (WebCore::encodePixels): s/WEBP_MAX_DIMENSION/WEBPImageEncoder::MaximumImageDimension/
144395        * platform/image-encoders/skia/WEBPImageEncoder.h:
144396        (): Remove local definition of the maximum webp image dimension
144397
1443982012-01-25  Noel Gordon  <noel.gordon@gmail.com>
144399
144400        JPEGDecoder should use imageDecoder colorProfile helpers
144401        https://bugs.webkit.org/show_bug.cgi?id=76968
144402        
144403        Reviewed by Adam Barth.
144404
144405        No new tests. Cover by existing tests, in particular:
144406          fast/images/ycbcr-with-cmyk-color-profile.html
144407          fast/images/gray-scale-jpeg-with-color-profile.html
144408          fast/images/cmyk-jpeg-with-color-profile.html
144409          fast/images/color-jpeg-with-color-profile.html
144410
144411        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp: white-space removals via Xcode.
144412        (WebCore::readColorProfile):  Use ImageDecoder.h color profile helper routines.
144413        (WebCore::JPEGImageReader::JPEGImageReader):
144414        (WebCore::JPEGImageReader::decode):
144415
1444162012-01-25  No'am Rosenthal  <noam.rosenthal@nokia.com>
144417
144418        [Texmap] Divide TextureMapperNode.cpp to 3 files.
144419        https://bugs.webkit.org/show_bug.cgi?id=76660
144420
144421        Reviewed by Kenneth Rohde Christiansen.
144422
144423        Split the animation part of TextureMapperNode out to a separate file, called
144424        TextureMapperAnimation.
144425        Provide a clean interface for that class, that allows separating the internals of the scene
144426        painting from the internals of the animation interpolation.
144427
144428        No new tests. Existing animation tests cover this.
144429
144430        * GNUmakefile.list.am: Added new TextureMapper-related files.
144431        * Target.pri: Added new TextureMapper-related files.
144432        * WebCore.gypi: Added new TextureMapper-related files.
144433        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
144434        (WebCore::GraphicsLayerTextureMapper::addAnimation):
144435        (WebCore::GraphicsLayerTextureMapper::pauseAnimation):
144436        (WebCore::GraphicsLayerTextureMapper::removeAnimation):
144437        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
144438        * platform/graphics/texmap/TextureMapperAnimation.cpp: Added.
144439        * platform/graphics/texmap/TextureMapperAnimation.h: Added.
144440        * platform/graphics/texmap/TextureMapperNode.cpp:
144441        (WebCore::TextureMapperNode::syncCompositingStateSelf):
144442        (WebCore::TextureMapperNode::descendantsOrSelfHaveRunningAnimations):
144443        (WebCore::TextureMapperNode::syncAnimations):
144444        (WebCore::TextureMapperNode::syncAnimationsRecursively):
144445        (WebCore::TextureMapperNode::syncCompositingState):
144446        * platform/graphics/texmap/TextureMapperNode.h:
144447
1444482012-01-25  Roland Steiner  <rolandsteiner@chromium.org>
144449
144450        <style scoped>: Implement registering of <style scoped> with the scoping element
144451        https://bugs.webkit.org/show_bug.cgi?id=67790
144452
144453        Implement registering of a <style> element with its parent element if the 'scoped' attribute is set.
144454        Update the registration whenever the 'scoped' attribute is changed,
144455        or the <style> element eneters or leaves the tree.
144456
144457        Also, extend windows.internals to allow for testing of the registration ref-counting.
144458
144459        Reviewed by Dimitri Glazkov.
144460
144461        Test: fast/css/style-scoped/registering.html
144462
144463        * WebCore.exp.in:
144464        * dom/Element.cpp:
144465        (WebCore::Element::hasScopedHTMLStyleChild):
144466        (WebCore::Element::numberOfScopedHTMLStyleChildren):
144467        (WebCore::Element::registerScopedHTMLStyleChild):
144468        (WebCore::Element::unregisterScopedHTMLStyleChild):
144469        * dom/Element.h:
144470        * dom/ElementRareData.h:
144471        (WebCore::ElementRareData::ElementRareData):
144472        (WebCore::ElementRareData::registerScopedHTMLStyleChild):
144473        (WebCore::ElementRareData::unregisterScopedHTMLStyleChild):
144474        (WebCore::ElementRareData::hasScopedHTMLStyleChild):
144475        (WebCore::ElementRareData::numberOfScopedHTMLStyleChildren):
144476        * html/HTMLStyleElement.cpp:
144477        (WebCore::HTMLStyleElement::HTMLStyleElement):
144478        (WebCore::HTMLStyleElement::~HTMLStyleElement):
144479        (WebCore::HTMLStyleElement::parseMappedAttribute):
144480        (WebCore::HTMLStyleElement::registerWithScopingNode):
144481        (WebCore::HTMLStyleElement::unregisterWithScopingNode):
144482        (WebCore::HTMLStyleElement::insertedIntoDocument):
144483        (WebCore::HTMLStyleElement::removedFromDocument):
144484        (WebCore::HTMLStyleElement::willRemove):
144485        * html/HTMLStyleElement.h:
144486        * testing/Internals.cpp:
144487        (WebCore::Internals::numberOfScopedHTMLStyleChildren):
144488        * testing/Internals.h:
144489        * testing/Internals.idl:
144490
1444912012-01-24  Daniel Bates  <dbates@webkit.org>
144492
144493        Attempt to fix Mac build after changeset <http://trac.webkit.org/changeset/105843>
144494        (https://bugs.webkit.org/show_bug.cgi?id=75049)
144495
144496        Don't include NotImplemented.h in KURL.h since NotImplemented.h includes Logging.h, which defines
144497        LOG_CHANNEL_PREFIX to be "Log". And this conflicts with the inclusion of WebKitLogging.h in
144498        WebHTMLView.mm (which would have defined LOG_CHANNEL_PREFIX to be "WebKitLog").
144499
144500        * platform/KURL.h:
144501        (WebCore::KURL::innerURL):
144502
1445032012-01-24  Vangelis Kokkevis  <vangelis@chromium.org>
144504
144505        [chromium] Ignore m_skipsDraw in TiledLayerChromium::drawsContent()
144506        https://bugs.webkit.org/show_bug.cgi?id=76735
144507
144508        This is to add skipped layers to their RenderSurface's layer list so that they
144509        are considered in the next update. Without this change, m_skipsDraw = false sticks
144510        with the layer for the remainder of its lifetime.
144511
144512        Reviewed by James Robinson.
144513
144514        Tests: Unit test (TiledLayerChromiumTest.cpp)
144515
144516        * platform/graphics/chromium/TiledLayerChromium.cpp:
144517        (WebCore::TiledLayerChromium::drawsContent):
144518        * platform/graphics/chromium/TiledLayerChromium.h:
144519        (WebCore::TiledLayerChromium::skipsDraw):
144520
1445212012-01-24  Kentaro Hara  <haraken@chromium.org>
144522
144523        Invalidate r105697, r105766, r105809 and r105805
144524        https://bugs.webkit.org/show_bug.cgi?id=76970
144525
144526        Reviewed by Adam Barth.
144527
144528        I've been trying to stop rebuilding .h/.cpp files generated by
144529        unchanged IDLs (bug 76836), but the approach was wrong.
144530        This patch invalidates patches committed in r105697, r105766,
144531        r105809 and r105805.
144532
144533        In r105697, r105766, r105809 and r105805, I modified CodeGenerator*.pm
144534        so that they overwrite .h/.cpp files only when the bytes differ.
144535        By this fix, we were able to stop rebuilding .h/.cpp files that are not
144536        changed. However, the fix has made generate-bindings.pl run for almost
144537        all IDLs every time. The reason is as follows:
144538
144539        (0) Assume that there are A.idl, B.idl and C.idl.
144540
144541        (1) Modify A.idl.
144542        (2) First build.
144543        (3) supplemental_dependency.tmp is updated.
144544        (4) generate-bindings.pl runs for A.idl, B.idl and C.idl.
144545        (5) A.h and A.cpp are updated. B.h, B.cpp, C.h and C.cpp are not updated.
144546
144547        (6) Second build.
144548        (7) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
144549        (8) B.h, B.cpp, C.h and C.cpp are not updated.
144550
144551        (9) Third build.
144552        (10) Since B.h, B.cpp, C.h and C.cpp are older than supplemental_dependency.tmp, generate-bindings.pl runs for B.idl and C.idl.
144553        (11) B.h, B.cpp, C.h and C.cpp are not updated.
144554        ...
144555
144556        We should fix the bug somehow, but how to fix it is not obvious.
144557        For the time being, this patch invalidates r105697, r105766, r105809
144558        and r105805.
144559
144560        No tests. No change in behavior.
144561
144562        * bindings/scripts/CodeGenerator.pm:
144563        (UpdateFile):
144564        * bindings/scripts/CodeGeneratorCPP.pm:
144565        (WriteData):
144566        * bindings/scripts/CodeGeneratorJS.pm:
144567        (WriteData):
144568        * bindings/scripts/CodeGeneratorObjC.pm:
144569        (WriteData):
144570        * bindings/scripts/CodeGeneratorV8.pm:
144571        (WriteData):
144572
1445732012-01-24  Eric Uhrhane  <ericu@chromium.org>
144574
144575        Add full support for filesystem URLs.
144576        https://bugs.webkit.org/show_bug.cgi?id=75049
144577
144578        Reviewed by Adam Barth.
144579
144580        No new tests; existing layout tests cover the basic functionality, and
144581        the new functionality won't be there until Chromium adds it.  This patch
144582        merely enables that, without changing behavior.
144583
144584        * fileapi/EntryBase.cpp:
144585        (WebCore::EntryBase::toURL): Add missing escaping of URL path.
144586
144587        * page/SecurityOrigin.cpp:
144588        (WebCore::extractInnerURL): Use innerURL member, if it's populated.
144589
144590        * platform/KURL.h:
144591        (WebCore::KURL::innerURL): Add innerURL member.
144592
144593        * platform/KURLGoogle.cpp:
144594        (WebCore::KURLGooglePrivate::KURLGooglePrivate):
144595        (WebCore::KURLGooglePrivate::operator=):
144596        Add copy constructor and operator=, which are now needed since
144597        m_innerURL needs special handling.
144598        (WebCore::KURLGooglePrivate::setUtf8):
144599        (WebCore::KURLGooglePrivate::setAscii):
144600        Add calls to initInnerURL.
144601        (WebCore::KURLGooglePrivate::initInnerURL):
144602        Add method to init/copy m_innerURL.
144603        (WebCore::KURLGooglePrivate::copyTo):
144604        Handle m_innerURL during copies.
144605        (WebCore::encodeWithURLEscapeSequences):
144606        Unescape %2F ['/'] in paths; it's much more readable, and it's safe.
144607
144608        * platform/KURLGooglePrivate.h:
144609        (WebCore::KURLGooglePrivate::innerURL): Add accessor for new m_innerURL.
144610
1446112012-01-24  Ken Buchanan  <kenrb@chromium.org>
144612
144613        Crash in updateFirstLetter() from unnecessary anonymous block
144614        https://bugs.webkit.org/show_bug.cgi?id=72675
144615
144616        Reviewed by David Hyatt.
144617
144618        There was a problem with anonymous blocks not getting removed when
144619        their only block flow siblings are removed if they also have non-block
144620        flow first-letter siblings (i.e. floats). This patch modifies
144621        RenderBlock::removeChild() to look for this situation and strip out
144622        unnecessary anonymous container blocks if it occurs.
144623
144624        * rendering/RenderBlock.cpp:
144625        (WebCore::RenderBlock::removeChild):
144626        (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
144627        * rendering/RenderBlock.h:
144628        (WebCore::RenderBlock::collapseAnonymousBoxChild): Added
144629
1446302012-01-24  Daniel Cheng  <dcheng@chromium.org>
144631
144632        [chromium] event.dataTransfer.types should not return "Text" or "URL"
144633        https://bugs.webkit.org/show_bug.cgi?id=76218
144634
144635        Per the spec, "Text" and "URL" are special values handled for IE compatibility reasons in
144636        dataTransfer.setData() and dataTransfer.getData(). These values should not be exposed
144637        elsewhere.
144638
144639        Reviewed by Tony Chang.
144640
144641        Test: fast/events/dropzone-005.html
144642
144643        * platform/chromium/ChromiumDataObject.cpp:
144644        (WebCore::ChromiumDataObject::types):
144645        (WebCore::ChromiumDataObject::getData):
144646        * platform/chromium/DragDataChromium.cpp:
144647        (WebCore::DragData::containsURL):
144648        (WebCore::DragData::asURL):
144649        (WebCore::DragData::canSmartReplace):
144650
1446512012-01-24  Daniel Cheng  <dcheng@chromium.org>
144652
144653        Make DataTransferItemList::length() const.
144654        https://bugs.webkit.org/show_bug.cgi?id=76946
144655
144656        Just a const-correctness change.
144657
144658        Reviewed by Tony Chang.
144659
144660        No new tests since no functionality changed.
144661
144662        * dom/DataTransferItemList.h:
144663        (DataTransferItemList):
144664        * platform/chromium/DataTransferItemListChromium.cpp:
144665        (WebCore::DataTransferItemListChromium::length):
144666        * platform/chromium/DataTransferItemListChromium.h:
144667        (DataTransferItemListChromium):
144668        * platform/qt/DataTransferItemListQt.cpp:
144669        (WebCore::DataTransferItemListQt::length):
144670        * platform/qt/DataTransferItemListQt.h:
144671        (DataTransferItemListQt):
144672
1446732012-01-24  Tony Chang  <tony@chromium.org>
144674
144675        REGRESSION(r103245): can't scroll left/up using scrollbar controls of overflowing elements
144676        https://bugs.webkit.org/show_bug.cgi?id=76317
144677
144678        Reviewed by Darin Adler.
144679
144680        Test: scrollbars/scroll-rtl-or-bt-layer.html
144681
144682        * rendering/RenderLayer.cpp:
144683        (WebCore::RenderLayer::updateScrollInfoAfterLayout): Call scrollToOffsetWithoutAnimation since we're always
144684        scrolling to the just computed offset.
144685
1446862012-01-24  Mark Rowe  <mrowe@apple.com>
144687
144688        Fix all of the builds after r105812.
144689
144690        * loader/EmptyClients.h: Move the #include in to the correct #if.
144691
1446922012-01-24  Dmitry Lomov  <dslomov@google.com>
144693
144694        [Chromium][V8] DOMWindow::postMessage crashes if window disassociated with frame.
144695        https://bugs.webkit.org/show_bug.cgi?id=76944.
144696
144697        Reviewed by David Levin.
144698
144699        * bindings/v8/V8Proxy.cpp:
144700        (WebCore::V8Proxy::retrieveWindowForCallingContext):
144701        * bindings/v8/V8Proxy.h:
144702        * bindings/v8/custom/V8DOMWindowCustom.cpp:
144703        (WebCore::handlePostMessageCallback):
144704
1447052012-01-24  Geoffrey Garen  <ggaren@apple.com>
144706
144707        Updated bindings test expectations after my last patch.
144708
144709        Not reviewed.
144710
144711        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp:
144712        (WebCore::jsTestActiveDOMObjectPrototypeFunctionPostMessage):
144713        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
144714        (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
144715        * bindings/scripts/test/JS/JSTestEventTarget.cpp:
144716        (WebCore::jsTestEventTargetPrototypeFunctionAddEventListener):
144717        (WebCore::jsTestEventTargetPrototypeFunctionRemoveEventListener):
144718        * bindings/scripts/test/JS/JSTestInterface.cpp:
144719        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
144720        (WebCore::setJSTestInterfaceSupplementalStr2):
144721        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
144722        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
144723        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
144724        * bindings/scripts/test/JS/JSTestObj.cpp:
144725        (WebCore::setJSTestObjStringAttr):
144726        (WebCore::setJSTestObjStringAttrWithGetterException):
144727        (WebCore::setJSTestObjStringAttrWithSetterException):
144728        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
144729        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
144730        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
144731        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
144732        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
144733        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
144734        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
144735        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
144736        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
144737        (WebCore::jsTestObjPrototypeFunctionStrictFunction):
144738        * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp:
144739        (WebCore::jsTestOverridingNameGetterPrototypeFunctionAnotherFunction):
144740        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
144741        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
144742
1447432012-01-24  Greg Billock  <gbillock@google.com>
144744
144745        Change dispatchIntent API to pure virtual in FrameLoaderClient.
144746
144747        The Windows compiler needs this to deal with the forward declaration
144748        of WebCore::IntentRequest.
144749        https://bugs.webkit.org/show_bug.cgi?id=76940
144750
144751        Reviewed by Adam Barth.
144752
144753        * loader/EmptyClients.h:
144754        (WebCore::EmptyFrameLoaderClient::dispatchIntent):
144755        * loader/FrameLoaderClient.h:
144756
1447572012-01-24  Kentaro Hara  <haraken@chromium.org>
144758
144759        CodeGeneratorJS.pm should overwrite the output .h/.cpp
144760        only if the bytes differ
144761        https://bugs.webkit.org/show_bug.cgi?id=76922
144762
144763        Reviewed by Darin Adler.
144764
144765        This is one of steps to stop rebuilding .h/.cpp files
144766        generated by unchanged IDLs (bug 76836).
144767        This patch makes a change on CodeGeneratorJS.pm so that
144768        it overwrites the output .h/.cpp only if the bytes differ.
144769
144770        No tests. No change in behavior.
144771        I manually confirmed that when I add a new attribute to Element.idl,
144772        the time-stamps of unrelated JS*.h and JS*.cpp do not change.
144773
144774        * bindings/scripts/CodeGeneratorJS.pm:
144775        (WriteData): Used UpdateFileIfChanged().
144776
1447772012-01-24  Kentaro Hara  <haraken@chromium.org>
144778
144779        CodeGeneratorCPP.pm should overwrite the output .h/.cpp
144780        only if the bytes differ
144781        https://bugs.webkit.org/show_bug.cgi?id=76926
144782
144783        Reviewed by Adam Barth.
144784
144785        This is one of steps to stop rebuilding .h/.cpp files
144786        generated by unchanged IDLs (bug 76836).
144787        This patch makes a change on CodeGeneratorCPP.pm so that
144788        it overwrites the output .h/.cpp only if the bytes differ.
144789
144790        No tests. No change in behavior.
144791        Manually confirm that when you add a new attribute to Element.idl,
144792        the time-stamps of unrelated WebDOM*.h and WebDOM*.cpp do not change.
144793
144794        * bindings/scripts/CodeGeneratorCPP.pm:
144795        (WriteData): Used UpdateFileIfChanged().
144796
1447972012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
144798
144799        Unreviewed, rolling out r105238.
144800        http://trac.webkit.org/changeset/105238
144801        https://bugs.webkit.org/show_bug.cgi?id=76943
144802
144803        Remove the assert text hack as it served its purpose.
144804        (Requested by dave_levin on #webkit).
144805
144806        * dom/ActiveDOMObject.cpp:
144807        (WebCore::ContextDestructionObserver::ContextDestructionObserver):
144808        (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
144809        (WebCore::ActiveDOMObject::ActiveDOMObject):
144810        (WebCore::ActiveDOMObject::~ActiveDOMObject):
144811        * storage/DatabaseSync.cpp:
144812        (WebCore::DatabaseSync::openDatabaseSync):
144813        (WebCore::DatabaseSync::~DatabaseSync):
144814        (WebCore::DatabaseSync::changeVersion):
144815        (WebCore::DatabaseSync::runTransaction):
144816
1448172012-01-24  Kentaro Hara  <haraken@chromium.org>
144818
144819        [Refactoring] In CodeGeneratorGObject.pm, merge
144820        GeneratePrivateHeader() into WriteData()
144821        https://bugs.webkit.org/show_bug.cgi?id=76923
144822
144823        Reviewed by Adam Barth.
144824
144825        This patch merges GeneratePrivateHeader() into WriteData(),
144826        so that all code to output .h/.cpp is managed by WriteData(),
144827        just like other CodeGenerator*.pm does.
144828
144829        No tests. No change in behavior.
144830        Confirm that GTK/GObject build passes.
144831
144832        * bindings/scripts/CodeGeneratorGObject.pm:
144833        (Generate):
144834        (WriteData): Copied GeneratePrivateHeader() to here.
144835        Removed $hasLegacyParen, $hasRealParent and $hasParent
144836        since they are not used.
144837        (GenerateInterface):
144838
1448392012-01-24  Daniel Cheng  <dcheng@chromium.org>
144840
144841        dropzone does not normalize type strings
144842        https://bugs.webkit.org/show_bug.cgi?id=76925
144843
144844        Per the HTML spec, we are supposed to normalize types during dropzone processing by
144845        lowercasing them.
144846
144847        Reviewed by Tony Chang.
144848
144849        Tests: fast/events/dropzone-002.html
144850
144851        * dom/Clipboard.cpp:
144852        (WebCore::Clipboard::hasDropZoneType):
144853
1448542012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
144855
144856        [GTK] Refactor GTK's accessibilitity code to be more modular
144857        https://bugs.webkit.org/show_bug.cgi?id=76783
144858
144859        Reviewed by Martin Robinson.
144860
144861        Don't expose functions for the ATK interfaces in header files.
144862
144863        Expose only the initialization function for each interface, and
144864        use the generic functions from ATK interfaces where needed.
144865
144866        * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp:
144867        (webkitAccessibleActionDoAction): Made this function static.
144868        (webkitAccessibleActionGetNActions): Ditto.
144869        (webkitAccessibleActionGetDescription): Ditto.
144870        (webkitAccessibleActionGetKeybinding): Ditto.
144871        (webkitAccessibleActionGetName): Ditto.
144872        (webkitAccessibleActionInterfaceInit): Moved to the bottom.
144873        * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Removed all
144874        functions but the one for initializing the interface from here.
144875
144876        * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp:
144877        (webkitAccessibleComponentRefAccessibleAtPoint): Made this function static.
144878        (webkitAccessibleComponentGetExtents): Ditto.
144879        (webkitAccessibleComponentGrabFocus): Ditto.
144880        (webkitAccessibleComponentInterfaceInit): Moved to the bottom.
144881        * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Removed all
144882        functions but the one for initializing the interface from here.
144883
144884        * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp:
144885        (webkitAccessibleDocumentGetAttributeValue): Made this function static.
144886        (webkitAccessibleDocumentGetAttributes): Ditto.
144887        (webkitAccessibleDocumentGetLocale): Ditto.
144888        (webkitAccessibleDocumentInterfaceInit): Moved to the bottom.
144889        * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Removed all
144890        functions but the one for initializing the interface from here.
144891
144892        * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp:
144893        (webkitAccessibleEditableTextSetRunAttributes): Made this function static.
144894        (webkitAccessibleEditableTextSetTextContents): Ditto.
144895        (webkitAccessibleEditableTextInsertText): Ditto.
144896        (webkitAccessibleEditableTextCopyText): Ditto.
144897        (webkitAccessibleEditableTextCutText): Ditto.
144898        (webkitAccessibleEditableTextDeleteText): Ditto.
144899        (webkitAccessibleEditableTextPasteText): Ditto.
144900        (webkitAccessibleEditableTextInterfaceInit): Moved to the bottom.
144901        * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Removed all
144902        functions but the one for initializing the interface from here.
144903
144904        * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp:
144905        (webkitAccessibleHyperlinkImplGetHyperlink): Made this function static.
144906        (webkitAccessibleHyperlinkImplInterfaceInit): Moved to the bottom.
144907        * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Removed all
144908        functions but the one for initializing the interface from here.
144909
144910        * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp:
144911        (webkitAccessibleHypertextGetLink): Made this function static.
144912        (webkitAccessibleHypertextGetNLinks): Ditto.
144913        (webkitAccessibleHypertextGetLinkIndex): Ditto.
144914        (webkitAccessibleHypertextInterfaceInit): Moved to the bottom.
144915        * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Removed all
144916        functions but the one for initializing the interface from here.
144917
144918        * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp:
144919        (webkitAccessibleImageGetImagePosition): Made this function static.
144920        (webkitAccessibleImageGetImageDescription): Ditto.
144921        (webkitAccessibleImageGetImageSize): Ditto.
144922        (webkitAccessibleImageInterfaceInit): Moved to the bottom.
144923        * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Removed all
144924        functions but the one for initializing the interface from here.
144925
144926        * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp:
144927        (webkitAccessibleSelectionAddSelection): Made this function static.
144928        (webkitAccessibleSelectionClearSelection): Ditto.
144929        (webkitAccessibleSelectionRefSelection): Ditto.
144930        (webkitAccessibleSelectionGetSelectionCount): Ditto.
144931        (webkitAccessibleSelectionIsChildSelected): Ditto.
144932        (webkitAccessibleSelectionRemoveSelection): Ditto.
144933        (webkitAccessibleSelectionSelectAllSelection): Ditto.
144934        (webkitAccessibleSelectionInterfaceInit): Moved to the bottom.
144935        * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Removed all
144936        functions but the one for initializing the interface from here.
144937
144938        * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp:
144939        (webkitAccessibleTableRefAt): Made this function static.
144940        (webkitAccessibleTableGetIndexAt): Ditto.
144941        (webkitAccessibleTableGetColumnAtIndex): Ditto.
144942        (webkitAccessibleTableGetRowAtIndex): Ditto.
144943        (webkitAccessibleTableGetNColumns): Ditto.
144944        (webkitAccessibleTableGetNRows): Ditto.
144945        (webkitAccessibleTableGetColumnExtentAt): Ditto.
144946        (webkitAccessibleTableGetRowExtentAt): Ditto.
144947        (webkitAccessibleTableGetColumnHeader): Ditto.
144948        (webkitAccessibleTableGetRowHeader): Ditto.
144949        (webkitAccessibleTableGetCaption): Ditto.
144950        (webkitAccessibleTableGetColumnDescription): Ditto.
144951        (webkitAccessibleTableGetRowDescription): Ditto.
144952        (webkitAccessibleTableInterfaceInit): Moved to the bottom.
144953        * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Removed all
144954        functions but the one for initializing the interface from here.
144955
144956        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp:
144957        (textForRenderer): Made this function static.
144958        (textForObject): Ditto.
144959        (webkitAccessibleTextGetText): Ditto.
144960        (webkitAccessibleTextGetTextAfterOffset): Ditto.
144961        (webkitAccessibleTextGetTextAtOffset): Ditto.
144962        (webkitAccessibleTextGetTextBeforeOffset): Ditto.
144963        (webkitAccessibleTextGetCharacterAtOffset): Ditto.
144964        (webkitAccessibleTextGetCaretOffset): Ditto.
144965        (webkitAccessibleTextGetRunAttributes): Ditto.
144966        (webkitAccessibleTextGetDefaultAttributes): Ditto.
144967        (webkitAccessibleTextGetCharacterExtents): Ditto.
144968        (webkitAccessibleTextGetRangeExtents): Ditto.
144969        (webkitAccessibleTextGetCharacterCount): Ditto.
144970        (webkitAccessibleTextGetOffsetAtPoint): Ditto.
144971        (webkitAccessibleTextGetNSelections): Ditto.
144972        (webkitAccessibleTextGetSelection): Ditto.
144973        (webkitAccessibleTextAddSelection): Ditto.
144974        (webkitAccessibleTextSetSelection): Ditto.
144975        (webkitAccessibleTextRemoveSelection): Ditto.
144976        (webkitAccessibleTextSetCaretOffset): Ditto.
144977        (webkitAccessibleTextInterfaceInit): Moved to the bottom.
144978        * accessibility/gtk/WebKitAccessibleInterfaceText.h: Removed all
144979        functions but the one for initializing the interface from here.
144980
144981        * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp:
144982        (webkitAccessibleValueGetCurrentValue): Made this function static.
144983        (webkitAccessibleValueGetMaximumValue): Ditto.
144984        (webkitAccessibleValueGetMinimumValue): Ditto.
144985        (webkitAccessibleValueSetCurrentValue): Ditto.
144986        (webkitAccessibleValueGetMinimumIncrement): Ditto.
144987        (webkitAccessibleValueInterfaceInit): Moved to the bottom.
144988        * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Removed all
144989        functions but the one for initializing the interface from here.
144990
144991        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
144992        (webkitAccessibleGetName): Replace call to
144993        webkitAccessibleTextGetText with atk_text_get_text.
144994
1449952012-01-24  James Robinson  <jamesr@chromium.org>
144996
144997        [chromium] Add null check for ContentLayerChromium::m_delegate back to ContentLayerChromium::drawsContent()
144998        https://bugs.webkit.org/show_bug.cgi?id=76887
144999
145000        Reviewed by Dimitri Glazkov.
145001
145002        A ContentLayerChromium's m_delegate pointer is nulled out when its owning GraphicsLayerChromium is destroyed.
145003        It's possible in some circumstances for this to happen during painting. The null check for this pointer was
145004        erroneously removed from the base class TiledLayerChromium in r105460.
145005
145006        No new tests since we don't know how to reproduce this sort of layer mutation during paint (not for lack of
145007        trying!). Fix based on crash reports from the field.
145008
145009        * platform/graphics/chromium/ContentLayerChromium.cpp:
145010        (WebCore::ContentLayerChromium::drawsContent):
145011        * platform/graphics/chromium/ContentLayerChromium.h:
145012
1450132012-01-16  Robert Hogan  <robert@webkit.org>
145014
145015        REGRESSION (r102040): Wrong column widths when row has colspan and unwrappable text
145016        https://bugs.webkit.org/show_bug.cgi?id=74874
145017
145018        Reviewed by Julien Chaffraix.
145019
145020        Tests: fast/css/min-width-with-spanned-cell-fixed.html
145021               fast/css/min-width-with-spanned-cell.html
145022
145023        A cell with unwrappable text must be as wide as the text is long. If it is a colspan in a table whose
145024        columns are all percent and the width of the span cell is wider than the cells it spans in any other 
145025        row then it will squeeze those cells beyond the width required to display their contents.
145026
145027        To fix this ensure that the squeezing of cells within a span respects the minimum width determined by
145028        their contents. The squeezing remains for fixed layout tables as per FF and Opera.
145029
145030        * rendering/AutoTableLayout.cpp:
145031        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
145032
1450332012-01-24  Tommy Widenflycht  <tommyw@google.com>
145034
145035        MediaStream API: Split the MediaStream track list into audio/video specific ones.
145036        https://bugs.webkit.org/show_bug.cgi?id=76614
145037
145038        The latest draft of the WebRTC standard have split the MediaStream combined track list
145039        into audio/video specific ones.
145040
145041        Reviewed by Darin Fisher.
145042
145043        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
145044
145045        * mediastream/LocalMediaStream.cpp:
145046        (WebCore::LocalMediaStream::create):
145047        (WebCore::LocalMediaStream::LocalMediaStream):
145048        * mediastream/LocalMediaStream.h:
145049        * mediastream/MediaStream.cpp:
145050        (WebCore::processTrackList):
145051        (WebCore::MediaStream::create):
145052        (WebCore::MediaStream::MediaStream):
145053        * mediastream/MediaStream.h:
145054        (WebCore::MediaStream::audioTracks):
145055        (WebCore::MediaStream::videoTracks):
145056        * mediastream/MediaStream.idl:
145057        * mediastream/MediaStreamTrack.cpp:
145058        (WebCore::MediaStreamTrack::create):
145059        (WebCore::MediaStreamTrack::MediaStreamTrack):
145060        (WebCore::MediaStreamTrack::kind):
145061        (WebCore::MediaStreamTrack::label):
145062        (WebCore::MediaStreamTrack::enabled):
145063        (WebCore::MediaStreamTrack::setEnabled):
145064        (WebCore::MediaStreamTrack::component):
145065        * mediastream/MediaStreamTrack.h:
145066        * mediastream/UserMediaClient.h:
145067        * mediastream/UserMediaRequest.cpp:
145068        (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
145069        (WebCore::UserMediaRequest::succeed):
145070        * mediastream/UserMediaRequest.h:
145071        * platform/mediastream/MediaStreamCenter.cpp:
145072        (WebCore::MediaStreamCenter::queryMediaStreamSources):
145073        (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
145074        * platform/mediastream/MediaStreamCenter.h:
145075        * platform/mediastream/MediaStreamDescriptor.h:
145076        (WebCore::MediaStreamDescriptor::create):
145077        (WebCore::MediaStreamDescriptor::numberOfAudioComponents):
145078        (WebCore::MediaStreamDescriptor::audioComponent):
145079        (WebCore::MediaStreamDescriptor::numberOfVideoComponents):
145080        (WebCore::MediaStreamDescriptor::videoComponent):
145081        (WebCore::MediaStreamDescriptor::MediaStreamDescriptor):
145082
1450832012-01-24  Sheriff Bot  <webkit.review.bot@gmail.com>
145084
145085        Unreviewed, rolling out r105738.
145086        http://trac.webkit.org/changeset/105738
145087        https://bugs.webkit.org/show_bug.cgi?id=76930
145088
145089        caused fast/css/getComputedStyle/computed-style-border-
145090        image.html to crash (Requested by kling on #webkit).
145091
145092        * dom/NamedNodeMap.cpp:
145093        * dom/NamedNodeMap.h:
145094        * dom/StyledElement.cpp:
145095        (WebCore::StyledElement::updateStyleAttribute):
145096        (WebCore::StyledElement::createInlineStyleDecl):
145097        (WebCore::StyledElement::destroyInlineStyleDecl):
145098        (WebCore::StyledElement::ensureInlineStyleDecl):
145099        (WebCore::StyledElement::style):
145100        (WebCore::StyledElement::addSubresourceAttributeURLs):
145101        * dom/StyledElement.h:
145102        (WebCore::StyledElement::inlineStyleDecl):
145103
1451042012-01-24  Parag Radke  <nrqv63@motorola.com>
145105
145106        REGRESSION (r73385): Marquee with behavior="alternate" is not working
145107        https://bugs.webkit.org/show_bug.cgi?id=64230
145108
145109        Reviewed by Simon Fraser.
145110
145111        This patch gives correct content width for marquee, which computes
145112        correct start position to scroll marquee.
145113
145114        Test: fast/html/marquee-alternate.html
145115
145116        * rendering/RenderBlock.cpp:
145117        (WebCore::RenderBlock::computePreferredLogicalWidths):
145118        We need(style()->marqueeBehavior() != MALTERNATE) check as we always need the marquee's 
145119        actual content width to compute the initial/end position in case of 'MALTERNATE'.
145120        So we need to calculate the logical width in Alternate case even if fixed width is specified
145121        as content has to animate between renderBox().right().x() - contentWidth() and 
145122        renderBox().left().x() + contentWidth().
145123        
145124        * rendering/RenderMarquee.cpp:
145125        (WebCore::RenderMarquee::computePosition):
145126        Using PreferredLogicalWidth in place of LayoutOverflow for calculating correct content width.
145127
1451282012-01-24  Andreas Kling  <awesomekling@apple.com>
145129
145130        RenderInline: Skip caching the computed line height.
145131        <http://webkit.org/b/76929>
145132
145133        Reviewed by David Hyatt.
145134
145135        Stop caching the computed line height on RenderInline and make retrieving it from
145136        RenderStyle slightly cheaper, freeing up 4 bytes per RenderInline instance.
145137        This appears to be mostly performance neutral, I don't get more than the occasional
145138        sample hit when instrumenting heavier web pages.
145139
145140        This reduces memory consumption by 228 kB (both 32/64-bit) when viewing the full
145141        HTML5 spec at <http://whatwg.org/c>.
145142
145143        * rendering/RenderInline.cpp:
145144        (WebCore::RenderInline::RenderInline):
145145        (WebCore::RenderInline::styleDidChange):
145146        (WebCore::RenderInline::lineHeight):
145147        * rendering/RenderInline.h:
145148        * rendering/style/RenderStyle.h:
145149        (WebCore::RenderStyle::computedLineHeight):
145150
145151            Optimize computedLineHeight() to mitigate some of the damage of calling
145152            it more often.
145153
1451542012-01-24  Abhishek Arya  <inferno@chromium.org>
145155
145156        Crash when rendering -webkit-column-span.
145157        https://bugs.webkit.org/show_bug.cgi?id=73265
145158
145159        Reviewed by David Hyatt.
145160
145161        This patch addresses 2 problems causing crashes in multi-column layout
145162        1. Trying to render -webkit-column-span for :before, :after caused
145163           re-entrancy in updateBeforeAfterContent while working on splitFlow.
145164        2. Cloning a block which has its :before, :after content not added yet,
145165           caused issues because cloneBlock will definitely have its :before,
145166           :after content created when setStyle() is called. So, we would
145167           overwrite cloneBlock with a wrong childrenInline value.
145168
145169        Tests: fast/multicol/clone-block-children-inline-mismatch-crash.html
145170               fast/multicol/span/generated-child-split-flow-crash.html
145171
145172        * rendering/RenderBlock.cpp:
145173        (WebCore::RenderBlock::clone):
145174        (WebCore::RenderBlock::columnsBlockForSpanningElement):
145175
1451762012-01-22  Robert Hogan  <robert@webkit.org>
145177
145178        Incorrect positioning of floating pseudo-elements in table captions
145179        https://bugs.webkit.org/show_bug.cgi?id=76664
145180
145181        Reviewed by Julien Chaffraix.
145182
145183        Tests: fast/table/caption-encloses-overhanging-float-expected.html
145184               fast/table/caption-encloses-overhanging-float.html
145185
145186        Allow table captions to expand and enclose overhanging floats. When performing
145187        layout on a caption ensure that its logical top is set so that it does not mistakenly
145188        conclude that floats in a previous sibling are intruding into it when they're not.
145189
145190        Mostly diagnosed by Abhishek Arya.
145191
145192        * rendering/RenderBlock.cpp:
145193        (WebCore::RenderBlock::expandsToEncloseOverhangingFloats): add table captions to the list
145194         that can enclosed overhanging floats.
145195        * rendering/RenderTable.cpp:
145196        (WebCore::RenderTable::layoutCaption): use the best available approximation of the caption's logical
145197         top offset before laying it out.
145198        (WebCore::RenderTable::layout):
145199        * rendering/RenderTable.h:
145200
1452012012-01-24  Kentaro Hara  <haraken@chromium.org>
145202
145203        In CodeGeneratorV8.pm, overwrite the output .h/.cpp
145204        only if the bytes differ
145205        https://bugs.webkit.org/show_bug.cgi?id=76920
145206
145207        Reviewed by Darin Adler.
145208
145209        This is one of steps to stop rebuilding .h/.cpp files
145210        generated by unchanged IDLs (bug 76836).
145211        This patch makes a change on CodeGeneratorV8.pm so that
145212        it overwrites the output .h/.cpp only if the bytes differ.
145213
145214        No tests. No change in behavior.
145215        I manually confirmed that when I add a new attribute to Element.idl,
145216        the time-stamps of unrelated V8*.h and V8*.cpp do not change.
145217
145218        * bindings/scripts/CodeGeneratorV8.pm:
145219        (WriteData): Used UpdateFileIfChanged().
145220
1452212012-01-24  Kentaro Hara  <haraken@chromium.org>
145222
145223        [Refactoring] Remove finish() from all CodeGenerator*.pm
145224        https://bugs.webkit.org/show_bug.cgi?id=76918
145225
145226        Reviewed by Darin Adler.
145227
145228        Now finish() is empty in all CodeGenerator*.pm. This patch removes them.
145229
145230        No tests. No change in behavior.
145231
145232        * bindings/scripts/CodeGenerator.pm:
145233        (ProcessDocument):
145234        * bindings/scripts/CodeGeneratorCPP.pm:
145235        * bindings/scripts/CodeGeneratorGObject.pm:
145236        * bindings/scripts/CodeGeneratorJS.pm:
145237        * bindings/scripts/CodeGeneratorObjC.pm:
145238        * bindings/scripts/CodeGeneratorV8.pm:
145239
1452402012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
145241
145242        Web Inspector: incorrect highlight position when searching in console
145243        https://bugs.webkit.org/show_bug.cgi?id=76837
145244
145245        Reviewed by Yury Semikhatsky.
145246
145247        * inspector/front-end/ConsoleMessage.js:
145248        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
145249        (WebInspector.ConsoleMessageImpl.prototype.clearHighlight):
145250        (WebInspector.ConsoleMessageImpl.prototype.highlightSearchResults):
145251        (WebInspector.ConsoleMessageImpl.prototype._highlightSearchResultsInElement):
145252        (WebInspector.ConsoleMessageImpl.prototype.matchesRegex):
145253
1452542012-01-23  Simon Fraser  <simon.fraser@apple.com>
145255
145256        Show layer borders for scrollbar layers
145257        https://bugs.webkit.org/show_bug.cgi?id=76888
145258
145259        Reviewed by Beth Dakin.
145260        
145261        When compositing layer borders are showing, show the borders
145262        for scrollbars layers. This reduces confusion about whether scrollbars
145263        are rendering into their own layers.
145264        
145265        Requires a new parameter to two GraphicsLayerClient methods.
145266
145267        * platform/graphics/GraphicsLayer.h:
145268        (WebCore::GraphicsLayer::showDebugBorders):
145269        (WebCore::GraphicsLayer::showRepaintCounter):
145270        * platform/graphics/GraphicsLayerClient.h:
145271        * rendering/RenderLayerBacking.cpp:
145272        (WebCore::RenderLayerBacking::showDebugBorders):
145273        (WebCore::RenderLayerBacking::showRepaintCounter):
145274        * rendering/RenderLayerBacking.h:
145275        * rendering/RenderLayerCompositor.cpp:
145276        (WebCore::RenderLayerCompositor::showDebugBorders):
145277        (WebCore::RenderLayerCompositor::showRepaintCounter):
145278        * rendering/RenderLayerCompositor.h:
145279
1452802012-01-24  David Levin  <levin@chromium.org>
145281
145282        [windows] Convert usage of GetDC to HWndDC Part 3.
145283        https://bugs.webkit.org/show_bug.cgi?id=76889
145284
145285        Reviewed by Adam Roben.
145286
145287        No new functionality so no new tests.
145288
145289        * platform/graphics/win/UniscribeController.cpp:
145290        (WebCore::UniscribeController::shapeAndPlaceItem): Simple replacement.
145291        (WebCore::UniscribeController::shape): Use the delayed allocation.
145292        * platform/win/PopupMenuWin.cpp:
145293        (WebCore::PopupMenuWin::paint): Fix a dc leak and use the dellayed allocation.
145294
1452952012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145296
145297        [GTK] Refactor GTK's accessibilitity code to be more modular
145298        https://bugs.webkit.org/show_bug.cgi?id=76783
145299
145300        Reviewed by Martin Robinson.
145301
145302        Fix coding style in the ATK AccessibilityObject wrapper.
145303
145304        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
145305        (webkitAccessibleGetName):
145306        (webkitAccessibleGetDescription):
145307        (webkitAccessibleGetParent):
145308        (webkitAccessibleGetNChildren):
145309        (webkitAccessibleRefChild):
145310        (webkitAccessibleGetIndexInParent):
145311        (webkitAccessibleGetAttributes):
145312        (atkRole):
145313        (webkitAccessibleGetRole):
145314        (setAtkStateSetFromCoreObject):
145315        (webkitAccessibleRefStateSet):
145316        (webkitAccessibleRefRelationSet):
145317        (webkitAccessibleInit):
145318        (webkitAccessibleFinalize):
145319        (webkit_accessible_class_init):
145320
1453212012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145322
145323        [GTK] Refactor GTK's accessibilitity code to be more modular
145324        https://bugs.webkit.org/show_bug.cgi?id=76783
145325
145326        Reviewed by Martin Robinson.
145327
145328        Cleanup the list of includes in WebKitAccessibleWrapperAtk.cpp.
145329
145330        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Removes
145331        'include' lines that are no longer needed after the refactor.
145332
1453332012-01-24  Raphael Kubo da Costa  <kubo@profusion.mobi>
145334
145335        [EFL] Remove CookieJarEfl.cpp
145336        https://bugs.webkit.org/show_bug.cgi?id=76916
145337
145338        Reviewed by Gustavo Noronha Silva.
145339
145340        CookieJarEfl.cpp has not been used for years -- we either need
145341        CookieJarCurl or CookieJarSoup depending on the chosen network
145342        backend.
145343
145344        No new tests, just an unused file being removed.
145345
145346        * WebCore.gypi: Remove reference to CookieJarEfl.cpp.
145347        * platform/efl/CookieJarEfl.cpp: Removed.
145348
1453492012-01-24  Abhishek Arya  <inferno@chromium.org>
145350
145351        Crash when accessing removed parent in InlineTextBox.
145352        https://bugs.webkit.org/show_bug.cgi?id=72982
145353
145354        Reviewed by James Robinson.
145355
145356        The crash happens because:
145357        1. We add heading element(h1) before the span element(span1),
145358           causing splitflow on the anonymous block containing BeforeText,
145359           span1(and SpanText) and AfterText.
145360        2. span1 moves to the cloneBlock (continuation).
145361        3. Our anonymous block and cloneBlock are both marked for layout,
145362           however we still have a copy of our lineboxes with its childs
145363           as the textboxes belonging to SpanText.
145364        4. Our anonymous block only child BeforeText is getting removed,
145365           so we dont have any children anymore and we delete our lineboxes,
145366           leaving behind the children textboxes belonging to SpanText.
145367        5. SpanText is getting destroyed, so it tries to inform removed
145368           parent lineboxes causing the crash.
145369
145370        Test: fast/block/block-remove-child-delete-line-box-crash.html
145371
145372        * rendering/RenderBlock.cpp:
145373        (WebCore::RenderBlock::removeChild):
145374
1453752012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145376
145377        [GTK] Refactor GTK's accessibilitity code to be more modular
145378        https://bugs.webkit.org/show_bug.cgi?id=76783
145379
145380        Reviewed by Martin Robinson.
145381
145382        New files for the implementation of the AtkTable interface,
145383        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145384
145385        * accessibility/gtk/WebKitAccessibleInterfaceTable.cpp: Added.
145386        (core):
145387        (cell):
145388        (cellIndex):
145389        (cellAtIndex):
145390        (webkitAccessibleTableInterfaceInit):
145391        (webkitAccessibleTableRefAt):
145392        (webkitAccessibleTableGetIndexAt):
145393        (webkitAccessibleTableGetColumnAtIndex):
145394        (webkitAccessibleTableGetRowAtIndex):
145395        (webkitAccessibleTableGetNColumns):
145396        (webkitAccessibleTableGetNRows):
145397        (webkitAccessibleTableGetColumnExtentAt):
145398        (webkitAccessibleTableGetRowExtentAt):
145399        (webkitAccessibleTableGetColumnHeader):
145400        (webkitAccessibleTableGetRowHeader):
145401        (webkitAccessibleTableGetCaption):
145402        (webkitAccessibleTableGetColumnDescription):
145403        (webkitAccessibleTableGetRowDescription):
145404        * accessibility/gtk/WebKitAccessibleInterfaceTable.h: Added.
145405        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
145406        related to the implementation of the AtkTable interface.
145407
145408        Add new files to build files.
145409
145410        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceTable.[h|cpp].
145411        * WebCore.gypi: Ditto.
145412
1454132012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
145414
145415        Web Inspector: Scripts panel tabbed editor container should have gray background when there are no open tabs.
145416        https://bugs.webkit.org/show_bug.cgi?id=76903
145417
145418        Reviewed by Yury Semikhatsky.
145419
145420        * inspector/front-end/TabbedPane.js:
145421        (WebInspector.TabbedPane.prototype._updateTabElements):
145422        * inspector/front-end/tabbedPane.css:
145423        (.tabbed-pane-content.has-no-tabs):
145424
1454252012-01-24  Vsevolod Vlasov  <vsevik@chromium.org>
145426
145427        Web Inspector: OpenResourceDialog should work when there are no open tabs in scripts panel.
145428        https://bugs.webkit.org/show_bug.cgi?id=76907
145429
145430        Reviewed by Yury Semikhatsky.
145431
145432        * inspector/front-end/FilteredItemSelectionDialog.js:
145433        (WebInspector.OpenResourceDialog.install):
145434        * inspector/front-end/ScriptsPanel.js:
145435
1454362012-01-24  Peter Rybin  <peter.rybin@gmail.com>
145437
145438        Web Inspector: CodeGeneratorInspector.py: put TypeBuilder namespace in a separate sources
145439        https://bugs.webkit.org/show_bug.cgi?id=76868
145440
145441        Reviewed by Yury Semikhatsky.
145442
145443        Configurations of (hopefully) all build systems are fixed.
145444
145445        * CMakeLists.txt:
145446        * DerivedSources.make:
145447        * DerivedSources.pri:
145448        * GNUmakefile.am:
145449        * GNUmakefile.list.am:
145450        * WebCore.gyp/WebCore.gyp:
145451        * WebCore.gypi:
145452        * WebCore.vcproj/WebCore.vcproj:
145453        * WebCore.xcodeproj/project.pbxproj:
145454        * inspector/CodeGeneratorInspector.py:
145455        (dash_to_camelcase):
145456        (InspectorFrontend_h):
145457        (InspectorBackendDispatcher_h):
145458
1454592012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145460
145461        [GTK] Refactor GTK's accessibilitity code to be more modular
145462        https://bugs.webkit.org/show_bug.cgi?id=76783
145463
145464        Reviewed by Martin Robinson.
145465
145466        New files for the implementation of the AtkText interface,
145467        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145468
145469        * accessibility/gtk/WebKitAccessibleInterfaceText.cpp: Added.
145470        (core):
145471        (textForRenderer):
145472        (textForObject):
145473        (getGailTextUtilForAtk):
145474        (getPangoLayoutForAtk):
145475        (baselinePositionForRenderObject):
145476        (getAttributeSetForAccessibilityObject):
145477        (compareAttribute):
145478        (attributeSetDifference):
145479        (accessibilityObjectLength):
145480        (getAccessibilityObjectForOffset):
145481        (getRunAttributesFromAccesibilityObject):
145482        (textExtents):
145483        (getSelectionOffsetsForObject):
145484        (webkitAccessibleTextInterfaceInit):
145485        (webkitAccessibleTextGetText):
145486        (webkitAccessibleTextGetTextAfterOffset):
145487        (webkitAccessibleTextGetTextAtOffset):
145488        (webkitAccessibleTextGetTextBeforeOffset):
145489        (webkitAccessibleTextGetCharacterAtOffset):
145490        (webkitAccessibleTextGetCaretOffset):
145491        (webkitAccessibleTextGetRunAttributes):
145492        (webkitAccessibleTextGetDefaultAttributes):
145493        (webkitAccessibleTextGetCharacterExtents):
145494        (webkitAccessibleTextGetRangeExtents):
145495        (webkitAccessibleTextGetCharacterCount):
145496        (webkitAccessibleTextGetOffsetAtPoint):
145497        (webkitAccessibleTextGetNSelections):
145498        (webkitAccessibleTextGetSelection):
145499        (webkitAccessibleTextAddSelection):
145500        (webkitAccessibleTextRemoveSelection):
145501        (webkitAccessibleTextSetSelection):
145502        (webkitAccessibleTextSetCaretOffset):
145503        * accessibility/gtk/WebKitAccessibleInterfaceText.h: Added.
145504
145505        Move common function selectionBelongsToObject out from the wrapper
145506        to the utility file, used from WebKitAccessibleInterfaceText.cpp.
145507
145508        * accessibility/gtk/WebKitAccessibleUtil.cpp:
145509        (selectionBelongsToObject): Taken from WebKitAccessibleWrapperAtk.cpp.
145510        * accessibility/gtk/WebKitAccessibleUtil.h:
145511        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
145512        implementation of selectionBelongsToObject, and the code related
145513        to the implementation of the AtkText interface.
145514        (webkit_accessible_get_name): Update call to the former function
145515        webkit_accessible_text_get_text and use the new function name.
145516        (webkit_accessible_table_get_column_description): Ditto.
145517        (webkit_accessible_table_get_row_description): Ditto.
145518
145519        Add new files to build files.
145520
145521        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceText.[h|cpp].
145522        * WebCore.gypi: Ditto.
145523
1455242012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145525
145526        [GTK] Refactor GTK's accessibilitity code to be more modular
145527        https://bugs.webkit.org/show_bug.cgi?id=76783
145528
145529        Reviewed by Martin Robinson.
145530
145531        New files for the implementation of the AtkValue interface,
145532        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145533
145534        * accessibility/gtk/WebKitAccessibleInterfaceValue.cpp: Added.
145535        (core):
145536        (webkitAccessibleValueInterfaceInit):
145537        (webkitAccessibleValueGetCurrentValue):
145538        (webkitAccessibleValueGetMaximumValue):
145539        (webkitAccessibleValueGetMinimumValue):
145540        (webkitAccessibleValueSetCurrentValue):
145541        (webkitAccessibleValueGetMinimumIncrement):
145542        * accessibility/gtk/WebKitAccessibleInterfaceValue.h: Added.
145543        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
145544        related to the implementation of the AtkValue interface.
145545
145546        Add new files to build files.
145547
145548        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceValue.[h|cpp].
145549        * WebCore.gypi: Ditto.
145550
1455512012-01-24  Antti Koivisto  <antti@apple.com>
145552
145553        Reduce internal use of CSSStyleDeclaration base class
145554        https://bugs.webkit.org/show_bug.cgi?id=76904
145555
145556        Reviewed by Andreas Kling.
145557
145558        Internally WebCore should use the more specific CSSMutableStyleDeclaration and CSSComputedStyleDeclaration types.
145559        The CSSStyleDeclaration base should be used in the DOM API functions only. This will make it easier to separate 
145560        internal style sheet implementation from the DOM in the future.
145561        
145562        - Switch CSSStyleDeclaration -> CSSMutableStyleDeclaration where feasible
145563        - Use StyledElement::ensureInlineStyleDecl() instead of Element::style() (which is a DOM API function)
145564        - Remove Attribute::style() which looks like a DOM API function but is not exposed.
145565
145566        * css/CSSMutableStyleDeclaration.h:
145567        (WebCore::CSSMutableStyleDeclaration::getPropertyCSSValue):
145568        * dom/Attr.h:
145569        (WebCore::Attr::style):
145570        * dom/Attribute.h:
145571        * editing/EditingStyle.cpp:
145572        (WebCore::HTMLElementEquivalent::propertyExistsInStyle):
145573        (WebCore::HTMLElementEquivalent::valueIsPresentInStyle):
145574        (WebCore::HTMLTextDecorationEquivalent::propertyExistsInStyle):
145575        (WebCore::HTMLTextDecorationEquivalent::valueIsPresentInStyle):
145576        (WebCore::HTMLAttributeEquivalent::valueIsPresentInStyle):
145577        * editing/Editor.cpp:
145578        (WebCore::Editor::applyEditingStyleToElement):
145579        * editing/markup.cpp:
145580        (WebCore::StyledMarkupAccumulator::wrapWithStyleNode):
145581        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag):
145582        (WebCore::propertyMissingOrEqualToNone):
145583        * inspector/InspectorCSSAgent.cpp:
145584        (WebCore::InspectorCSSAgent::buildArrayForAttributeStyles):
145585        * page/DragController.cpp:
145586        (WebCore::DragController::concludeEditDrag):
145587        * page/PageSerializer.cpp:
145588        (WebCore::PageSerializer::serializeFrame):
145589        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
145590        * page/PageSerializer.h:
145591        * rendering/RenderLayer.cpp:
145592        (WebCore::RenderLayer::resize):
145593        * svg/SVGStyledElement.cpp:
145594        (WebCore::SVGStyledElement::getPresentationAttribute):
145595
1455962012-01-23  Andreas Kling  <awesomekling@apple.com>
145597
145598        Make elements that don't have attributes smaller.
145599        <http://webkit.org/b/76876>
145600
145601        Reviewed by Antti Koivisto.
145602
145603        Move the inline style declaration from StyledElement to NamedNodeMap, since having
145604        an inline style declaration also implies having a style attribute on the element.
145605        This saves one CPU word per element that has no attributes.
145606
145607        This reduces memory consumption by 412 kB (on 64-bit) when viewing the full
145608        HTML5 spec at <http://whatwg.org/c>.
145609
145610        * dom/NamedNodeMap.cpp:
145611        (WebCore::NamedNodeMap::ensureInlineStyleDecl):
145612        (WebCore::NamedNodeMap::destroyInlineStyleDecl):
145613        (WebCore::NamedNodeMap::createInlineStyleDecl):
145614        * dom/NamedNodeMap.h:
145615        (WebCore::NamedNodeMap::inlineStyleDecl):
145616        * dom/StyledElement.cpp:
145617        (WebCore::StyledElement::updateStyleAttribute):
145618        (WebCore::StyledElement::addSubresourceAttributeURLs):
145619        * dom/StyledElement.h:
145620        (WebCore::StyledElement::inlineStyleDecl):
145621        (WebCore::StyledElement::ensureInlineStyleDecl):
145622        (WebCore::StyledElement::destroyInlineStyleDecl):
145623
1456242012-01-24  No'am Rosenthal  <noam.rosenthal@nokia.com>
145625
145626        [Qt][WK2] Qt's cross-process AC copies images excessively when updating tiles.
145627        https://bugs.webkit.org/show_bug.cgi?id=76877
145628
145629        Reviewed by Kenneth Rohde Christiansen.
145630
145631        Add BitmapTexture::updateRawContents(), which allows uploading image data to a texture
145632        without changing its format or swizzling RGB. The data has to be in the texture's native
145633        format.
145634
145635        No new tests, this affects performance on all existing tests.
145636
145637        * platform/graphics/opengl/TextureMapperGL.cpp:
145638        (WebCore::BitmapTextureGL::updateRawContents):
145639        * platform/graphics/qt/TextureMapperQt.cpp:
145640        * platform/graphics/texmap/TextureMapper.h:
145641        (WebCore::BitmapTexture::updateRawContents):
145642        * platform/graphics/texmap/TextureMapperNode.cpp:
145643        (WebCore::TextureMapperNode::setContentsTileBackBuffer):
145644        * platform/graphics/texmap/TextureMapperNode.h:
145645
1456462012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>
145647
145648        Web Inspector: inspector/debugger/dom-breakpoints.html started to fail after r105642
145649        https://bugs.webkit.org/show_bug.cgi?id=76908
145650
145651        Reviewed by Yury Semikhatsky.
145652
145653        * css/CSSMutableStyleDeclaration.cpp:
145654
1456552012-01-24  Csaba Osztrogonác  <ossy@webkit.org>
145656
145657        [Refactoring] Make finish() of CodeGeneratorJS.pm empty
145658        https://bugs.webkit.org/show_bug.cgi?id=76846
145659
145660        Reviewed by Tor Arne Vestbø.
145661
145662        * bindings/scripts/CodeGeneratorJS.pm: Warning fix after r105683.
145663        (WriteData):
145664
1456652012-01-24  Andras Becsi  <andras.becsi@nokia.com>
145666
145667        [Qt] Fix the build with the newes Qt5 hashes
145668        https://bugs.webkit.org/show_bug.cgi?id=76657
145669
145670        Reviewed by Simon Hausmann.
145671
145672        No new tests needed.
145673
145674        * platform/graphics/cairo/OpenGLShims.cpp:
145675        (WebCore::getProcAddress): Adopt API changes.
145676
1456772012-01-24  Ádám Kallai  <Kallai.Adam@stud.u-szeged.hu>
145678
145679        [Qt] Incremental build problem.
145680        https://bugs.webkit.org/show_bug.cgi?id=74687
145681
145682        It is necessary to set mathattrs.in dependency for generating MathMLNames.cpp file.
145683
145684        Reviewed by Csaba Osztrogonác.
145685
145686        * DerivedSources.pri:
145687        I added missing depend.
145688
1456892012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145690
145691        [GTK] Refactor GTK's accessibilitity code to be more modular
145692        https://bugs.webkit.org/show_bug.cgi?id=76783
145693
145694        Reviewed by Martin Robinson.
145695
145696        New files for the implementation of the AtkSelection interface,
145697        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145698
145699        * accessibility/gtk/WebKitAccessibleInterfaceSelection.cpp: Added.
145700        (core):
145701        (listObjectForSelection):
145702        (optionFromList):
145703        (optionFromSelection):
145704        (webkitAccessibleSelectionInterfaceInit):
145705        (webkitAccessibleSelectionAddSelection):
145706        (webkitAccessibleSelectionClearSelection):
145707        (webkitAccessibleSelectionRefSelection):
145708        (webkitAccessibleSelectionGetSelectionCount):
145709        (webkitAccessibleSelectionIsChildSelected):
145710        (webkitAccessibleSelectionRemoveSelection):
145711        (webkitAccessibleSelectionSelectAllSelection):
145712        * accessibility/gtk/WebKitAccessibleInterfaceSelection.h: Added.
145713        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
145714        related to the implementation of the AtkSelection interface.
145715
145716        Add new files to build files.
145717
145718        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceSelection.[h|cpp].
145719        * WebCore.gypi: Ditto.
145720
1457212012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145722
145723        [GTK] Refactor GTK's accessibilitity code to be more modular
145724        https://bugs.webkit.org/show_bug.cgi?id=76783
145725
145726        Reviewed by Martin Robinson.
145727
145728        New files for the implementation of the AtkImage interface,
145729        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145730
145731        * accessibility/gtk/WebKitAccessibleInterfaceImage.cpp: Added.
145732        (core):
145733        (webkitAccessibleImageInterfaceInit):
145734        (webkitAccessibleImageGetImagePosition):
145735        (webkitAccessibleImageGetImageDescription):
145736        (webkitAccessibleImageGetImageSize):
145737        * accessibility/gtk/WebKitAccessibleInterfaceImage.h: Added.
145738        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
145739        related to the implementation of the AtkImage interface.
145740
145741        Add new files to build files.
145742
145743        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceImage.[h|cpp].
145744        * WebCore.gypi: Ditto.
145745
1457462012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145747
145748        [GTK] Refactor GTK's accessibilitity code to be more modular
145749        https://bugs.webkit.org/show_bug.cgi?id=76783
145750
145751        Reviewed by Martin Robinson.
145752
145753        New files for the implementation of the AtkHypertext interface,
145754        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145755
145756        * accessibility/gtk/WebKitAccessibleInterfaceHypertext.cpp: Added.
145757        (core):
145758        (webkitAccessibleHypertextInterfaceInit):
145759        (webkitAccessibleHypertextGetLink):
145760        (webkitAccessibleHypertextGetNLinks):
145761        (webkitAccessibleHypertextGetLinkIndex):
145762        * accessibility/gtk/WebKitAccessibleInterfaceHypertext.h: Added.
145763        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
145764        related to the implementation of the AtkHypertext interface.
145765
145766        Add new files to build files.
145767
145768        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHypertext.[h|cpp].
145769        * WebCore.gypi: Ditto.
145770
1457712012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145772
145773        [GTK] Refactor GTK's accessibilitity code to be more modular
145774        https://bugs.webkit.org/show_bug.cgi?id=76783
145775
145776        Reviewed by Martin Robinson.
145777
145778        New files for the implementation of the AtkHyperlinkImpl interface,
145779        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145780
145781        * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.cpp: Added.
145782        (webkitAccessibleHyperlinkImplInterfaceInit):
145783        (webkitAccessibleHyperlinkImplGetHyperlink):
145784        * accessibility/gtk/WebKitAccessibleInterfaceHyperlinkImpl.h: Added.
145785        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
145786        related to the implementation of the AtkHyperlinkImpl interface.
145787        (webkit_accessible_class_init):
145788
145789        Add new files to build files.
145790
145791        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceHyperlinkImpl.[h|cpp].
145792        * WebCore.gypi: Ditto.
145793
1457942012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145795
145796        [GTK] Refactor GTK's accessibilitity code to be more modular
145797        https://bugs.webkit.org/show_bug.cgi?id=76783
145798
145799        Reviewed by Martin Robinson.
145800
145801        New files for the implementation of the AtkEditableText interface,
145802        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145803
145804        * accessibility/gtk/WebKitAccessibleInterfaceEditableText.cpp: Added.
145805        (core):
145806        (webkitAccessibleEditableTextInterfaceInit):
145807        (webkitAccessibleEditableTextSetRunAttributes):
145808        (webkitAccessibleEditableTextSetTextContents):
145809        (webkitAccessibleEditableTextInsertText):
145810        (webkitAccessibleEditableTextCopyText):
145811        (webkitAccessibleEditableTextCutText):
145812        (webkitAccessibleEditableTextDeleteText):
145813        (webkitAccessibleEditableTextPasteText):
145814        * accessibility/gtk/WebKitAccessibleInterfaceEditableText.h: Added.
145815        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
145816        related to the implementation of the AtkEditableText interface.
145817
145818        Add new files to build files.
145819
145820        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceEditableText.[h|cpp].
145821        * WebCore.gypi: Ditto.
145822
1458232012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145824
145825        [GTK] Refactor GTK's accessibilitity code to be more modular
145826        https://bugs.webkit.org/show_bug.cgi?id=76783
145827
145828        Reviewed by Martin Robinson.
145829
145830        New files for the implementation of the AtkDocument interface,
145831        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145832
145833        * accessibility/gtk/WebKitAccessibleInterfaceDocument.cpp: Added.
145834        (core):
145835        (documentAttributeValue):
145836        (webkitAccessibleDocumentInterfaceInit):
145837        (webkitAccessibleDocumentGetAttributeValue):
145838        (webkitAccessibleDocumentGetAttributes):
145839        (webkitAccessibleDocumentGetLocale):
145840        * accessibility/gtk/WebKitAccessibleInterfaceDocument.h: Added.
145841
145842        Move common function addAttributeToSet() out from the wrapper to
145843        the utility file, used from WebKitAccessibleInterfaceDocument.cpp.
145844
145845        * accessibility/gtk/WebKitAccessibleUtil.cpp:
145846        (addToAtkAttributeSet): Taken from WebKitAccessibleWrapperAtk.cpp.
145847        * accessibility/gtk/WebKitAccessibleUtil.h:
145848        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
145849        implementation of addAttributeToSet, as well as all the code related
145850        to the implementation of the AtkDocument interface.
145851
145852        Add new files to build files.
145853
145854        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceDocument.[h|cpp].
145855        * WebCore.gypi: Ditto.
145856
1458572012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145858
145859        [GTK] Refactor GTK's accessibilitity code to be more modular
145860        https://bugs.webkit.org/show_bug.cgi?id=76783
145861
145862        Reviewed by Martin Robinson.
145863
145864        New files for the implementation of the AtkComponent interface,
145865        containing the related code from WebKitAccessibleWrapperAtk.cpp.
145866
145867        * accessibility/gtk/WebKitAccessibleInterfaceComponent.cpp: Added.
145868        (core):
145869        (atkToContents):
145870        (webkitAccessibleComponentInterfaceInit):
145871        (webkitAccessibleComponentRefAccessibleAtPoint):
145872        (webkitAccessibleComponentGetExtents):
145873        (webkitAccessibleComponentGrabFocus):
145874        * accessibility/gtk/WebKitAccessibleInterfaceComponent.h: Added.
145875
145876        Move common function contentsToAtk() out from the wrapper to the
145877        utility file, used from WebKitAccessibleInterfaceComponent.cpp.
145878
145879        * accessibility/gtk/WebKitAccessibleUtil.cpp:
145880        (contentsRelativeToAtkCoordinateType): Taken from WebKitAccessibleWrapperAtk.cpp.
145881        * accessibility/gtk/WebKitAccessibleUtil.h:
145882        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove local
145883        implementation of contentsToAtk, as well as all the code related
145884        to the implementation of the AtkComponent interface.
145885
145886        Add new files to build files.
145887
145888        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceComponent.[h|cpp].
145889        * WebCore.gypi: Ditto.
145890
1458912012-01-24  Kentaro Hara  <haraken@chromium.org>
145892
145893        [Refactoring] Makes finish() of CodeGeneratorV8.pm empty
145894        https://bugs.webkit.org/show_bug.cgi?id=76841
145895
145896        Reviewed by Adam Barth.
145897
145898        This is one of steps to stop rebuilding .h/.cpp files
145899        generated by unchanged IDLs (bug 76836).
145900
145901        As refactoring, we are planning to remove finish() from
145902        all CodeGenerators. This patch makes finish() of
145903        CodeGeneratorV8.pm empty.
145904
145905        No new tests. No change in behavior.
145906
145907        * bindings/scripts/CodeGeneratorV8.pm:
145908        (finish): Made it empty. We will remove finish() after
145909        making finish() of all CodeGenerators empty.
145910        (GenerateInterface): Modified to call WriteData().
145911        (WriteData): Simple code refactoring.
145912        Removed if(defined $IMPL).
145913        Removed if(defined $HEADER).
145914        $IMPL -> IMPL.
145915        $HEADER -> HEADER.
145916
1459172012-01-24  Mario Sanchez Prada  <msanchez@igalia.com>
145918
145919        Unreviewed build fix for GTK after r105698.
145920
145921        * bindings/js/JSPeerConnectionCustom.cpp:
145922        (WebCore::JSPeerConnectionConstructor::constructJSPeerConnection):
145923
1459242012-01-24  Kent Tamura  <tkent@chromium.org>
145925
145926        Fix build erros on Mac by r105706.
145927        https://bugs.webkit.org/show_bug.cgi?id=76763
145928
145929        * html/canvas/WebGLRenderingContext.cpp:
145930        (WebCore::WebGLRenderingContext::compressedTexImage2D): Removed unused argument names.
145931        (WebCore::WebGLRenderingContext::compressedTexSubImage2D): ditto.
145932
1459332012-01-23  Kent Tamura  <tkent@chromium.org>
145934
145935        Introduce RadioButtonGroup class to keep track of the group members and required state
145936        https://bugs.webkit.org/show_bug.cgi?id=74909
145937
145938        Reviewed by Darin Adler.
145939
145940        RadioButtonGroup contains a set of member radio buttons in the group,
145941        and "required" status of the group. This helps implementing correct
145942        radio button validity, and improving performance of updating validity
145943        status of radio buttons.
145944
145945        This change fixes the following bugs:
145946        - A radio button should be "required" if one of a member of the same
145947          group has the "required" attribute.
145948          https://bugs.webkit.org/show_bug.cgi?id=76365
145949        - :invalid style is not applied when a checked radio button is removed
145950          from its radio group
145951          https://bugs.webkit.org/show_bug.cgi?id=74914
145952        - Loading a page with N radio buttons in a group takes O(N^2) time.
145953
145954        Tests: fast/forms/radio/radio-live-validation-style.html
145955               perf/adding-radio-buttons.html
145956
145957        * dom/CheckedRadioButtons.cpp:
145958        (WebCore::RadioButtonGroup::isEmpty):
145959        (WebCore::RadioButtonGroup::isRequired):
145960        (WebCore::RadioButtonGroup::checkedButton):
145961        (WebCore::RadioButtonGroup::RadioButtonGroup):
145962        (WebCore::RadioButtonGroup::create):
145963        (WebCore::RadioButtonGroup::isValid):
145964        (WebCore::RadioButtonGroup::setCheckedButton):
145965        (WebCore::RadioButtonGroup::add):
145966        (WebCore::RadioButtonGroup::updateCheckedState):
145967        (WebCore::RadioButtonGroup::requiredAttributeChanged):
145968        (WebCore::RadioButtonGroup::remove):
145969        (WebCore::RadioButtonGroup::setNeedsValidityCheckForAllButtons):
145970        Add RadioButtonGroup class. It keeps track of pointers to member radio
145971        buttons and required status of the group in addition to the checked
145972        radio button pointer.
145973
145974        (WebCore::CheckedRadioButtons::CheckedRadioButtons):
145975        (WebCore::CheckedRadioButtons::~CheckedRadioButtons):
145976        Define empty constructor and destructor in order to avoid exposing
145977        RadioButtonGroup class.
145978
145979        (WebCore::CheckedRadioButtons::addButton):
145980        (WebCore::CheckedRadioButtons::updateCheckedState):
145981        (WebCore::CheckedRadioButtons::requiredAttributeChanged):
145982        (WebCore::CheckedRadioButtons::checkedButtonForGroup):
145983        (WebCore::CheckedRadioButtons::isInRequiredGroup):
145984        (WebCore::CheckedRadioButtons::removeButton):
145985        Change the HashMap member of this class so that it maps a group name to
145986        a RadioButtonGroup object. These functions just get a RadioButtonGroup
145987        object and call a corresponding member function of RadioButtonGroup.
145988
145989        * dom/CheckedRadioButtons.h: Update declarations.
145990
145991        * html/HTMLFormControlElement.cpp:
145992        (WebCore::HTMLFormControlElement::parseMappedAttribute):
145993        (WebCore::HTMLFormControlElement::requiredAttributeChanged):
145994        Move a part of parseMappedAttribute() into requiredAttributeChanged().
145995        * html/HTMLFormControlElement.h: Add requiredAttributeChanged().
145996        * html/HTMLInputElement.cpp:
145997        (WebCore::HTMLInputElement::valueMissing):
145998        Move required check code to InputType::valueMissing implementations.
145999        RadioInputType needs special handling for checking required state.
146000        readOnly() and disabled() are unnecessary because willValidate() checks them.
146001        (WebCore::HTMLInputElement::setChecked):
146002        Call new function CheckedRadioButtons::updateCheckedState() instead of
146003        removeButton() and updateCheckedRadioButtons().
146004        (WebCore::HTMLInputElement::requiredAttributeChanged):
146005        Override this to call CheckedRadioButtons::requiredAttributeChanged().
146006        * html/HTMLInputElement.h: Add requiredAttributeChanged().
146007        * html/RadioInputType.cpp:
146008        (WebCore::RadioInputType::valueMissing):
146009        Check required state by CheckedRadioButtons::isInRequiredGroup().
146010        * html/RadioInputType.h: Remove attach().
146011
146012        * html/CheckboxInputType.cpp:
146013        (WebCore::CheckboxInputType::valueMissing):
146014          Move required check from HTMLInputElement::valueMissing().
146015        * html/FileInputType.cpp:
146016        (WebCore::FileInputType::valueMissing): ditto.
146017        * html/TextFieldInputType.cpp:
146018        (WebCore::TextFieldInputType::valueMissing): ditto.
146019
1460202012-01-24  Noel Gordon  <noel.gordon@gmail.com>
146021
146022        [chromium] PNG image with CMYK ICC color profile renders color-inverted and squashed
146023        https://bugs.webkit.org/show_bug.cgi?id=76804
146024
146025        Reviewed by Adam Barth.
146026
146027        Use color profiles for PNG images only if their embedded color profile is from an RGB
146028        color space input device.
146029
146030        Test: fast/images/rgb-png-with-cmyk-color-profile.html
146031
146032        * platform/image-decoders/ImageDecoder.h:
146033        (WebCore::ImageDecoder::rgbColorProfile): Return true if the profile has an RGB color space.
146034        (WebCore::ImageDecoder::inputDeviceColorProfile): Return true if the profile is from an input device.
146035        * platform/image-decoders/png/PNGImageDecoder.cpp:
146036        (WebCore::readColorProfile): Ignore PNG image embedded color profile unless the profile
146037        comes from an RGB color space input device.
146038        (WebCore::PNGImageDecoder::headerAvailable): Minor white-space removals courtesy Xcode.
146039
1460402012-01-23  Pavel Podivilov  <podivilov@chromium.org>
146041
146042        Web Inspector: fix sticky DOM breakpoints.
146043        https://bugs.webkit.org/show_bug.cgi?id=64437
146044
146045        Reviewed by Yury Semikhatsky.
146046
146047        * inspector/front-end/DOMBreakpointsSidebarPane.js:
146048        (WebInspector.DOMBreakpointsSidebarPane.prototype._inspectedURLChanged):
146049
1460502012-01-24  Gregg Tavares  <gman@google.com>
146051
146052        Expose WebGL texture compression methods on WebGLRenderingContext
146053        https://bugs.webkit.org/show_bug.cgi?id=76763
146054
146055        Reviewed by Kenneth Russell.
146056
146057        Test: fast/canvas/webgl/compressed-tex-image.html
146058
146059        * html/canvas/WebGLRenderingContext.cpp:
146060        (WebCore::WebGLRenderingContext::compressedTexImage2D):
146061        (WebCore::WebGLRenderingContext::compressedTexSubImage2D):
146062        * html/canvas/WebGLRenderingContext.h:
146063        * html/canvas/WebGLRenderingContext.idl:
146064
1460652012-01-24  Kenichi Ishibashi  <bashi@chromium.org>
146066
146067        [V8] Add Uint8ClampedArray support
146068        https://bugs.webkit.org/show_bug.cgi?id=76803
146069
146070        Reviewed by Kenneth Russell.
146071
146072        No new tests. fast/js/script-tests/dfg-uint8clampedarray.js should pass on chromium port.
146073
146074        * WebCore.gypi: Added required files.
146075        * bindings/scripts/CodeGeneratorV8.pm:
146076        (IsTypedArrayType): Added Uint8ClampedArray.
146077        * bindings/v8/SerializedScriptValue.cpp: Added the tag for Uint8ClampedArray.
146078        (WebCore::V8ObjectMap::Writer::writeArrayBufferView): Appends the tag when buffer is Uint8ClampedArray.
146079        (WebCore::V8ObjectMap::Reader::readArrayBufferView): Creates Uint8ClampedArray instance when the tag represents Uint8ClampedArray.
146080        * bindings/v8/custom/V8ArrayBufferViewCustomScript.js:
146081        * bindings/v8/custom/V8Uint8ClampedArrayCustom.cpp: Added.
146082        (WebCore::V8Uint8ClampedArray::constructorCallback):
146083        (WebCore::V8Uint8ClampedArray::setCallback):
146084        (WebCore::toV8):
146085        * page/Crypto.cpp: Added isUnsignedByteClampedArray() call to isIntegerArray().
146086        * page/DOMWindow.idl: Removed ifdefs.
146087        * workers/WorkerContext.idl: Added Uint8ArrayConstructor.
146088
1460892012-01-24  Ilya Tikhonovsky  <loislo@chromium.org>
146090
146091        Unreviewed build fix for GTK Debug build after r105698.
146092
146093        * bindings/js/JSNavigatorCustom.cpp:
146094        (WebCore::JSNavigator::webkitGetUserMedia):
146095
1460962012-01-23  Scott Graham  <scottmg@chromium.org>
146097
146098        Avoid spurious rebuilds on vs2010 due to DerivedSources not existing
146099        https://bugs.webkit.org/show_bug.cgi?id=76873
146100
146101        Reviewed by Adam Barth.
146102
146103        * WebCore.gyp/WebCore.gyp:
146104
1461052012-01-23  Geoffrey Garen  <ggaren@apple.com>
146106
146107        JSValue::toString() should return a JSString* instead of a UString
146108        https://bugs.webkit.org/show_bug.cgi?id=76861
146109
146110        Reviewed by Gavin Barraclough.
146111
146112        Mechanical changes to call value() after calling toString(), to
146113        convert from "JS string" (JSString*) to "C++ string" (UString), since
146114        toString() no longer returns a "C++ string".
146115
146116        * bindings/js/IDBBindingUtilities.cpp:
146117        (WebCore::createIDBKeyFromValue):
146118        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
146119        (WebCore::JSCSSStyleDeclaration::getPropertyCSSValue):
146120        * bindings/js/JSClipboardCustom.cpp:
146121        (WebCore::JSClipboard::clearData):
146122        (WebCore::JSClipboard::getData):
146123        * bindings/js/JSCustomXPathNSResolver.cpp:
146124        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
146125        * bindings/js/JSDOMBinding.cpp:
146126        (WebCore::valueToStringWithNullCheck):
146127        (WebCore::valueToStringWithUndefinedOrNullCheck):
146128        (WebCore::reportException):
146129        * bindings/js/JSDOMFormDataCustom.cpp:
146130        (WebCore::JSDOMFormData::append):
146131        * bindings/js/JSDOMStringMapCustom.cpp:
146132        (WebCore::JSDOMStringMap::putDelegate):
146133        * bindings/js/JSDOMWindowCustom.cpp:
146134        (WebCore::JSDOMWindow::setLocation):
146135        (WebCore::JSDOMWindow::open):
146136        (WebCore::JSDOMWindow::addEventListener):
146137        (WebCore::JSDOMWindow::removeEventListener):
146138        * bindings/js/JSDeviceMotionEventCustom.cpp:
146139        (WebCore::JSDeviceMotionEvent::initDeviceMotionEvent):
146140        * bindings/js/JSDeviceOrientationEventCustom.cpp:
146141        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
146142        * bindings/js/JSDictionary.cpp:
146143        (WebCore::JSDictionary::convertValue):
146144        * bindings/js/JSDocumentCustom.cpp:
146145        (WebCore::JSDocument::setLocation):
146146        * bindings/js/JSEventListener.cpp:
146147        (WebCore::JSEventListener::handleEvent):
146148        * bindings/js/JSHTMLAllCollectionCustom.cpp:
146149        (WebCore::callHTMLAllCollection):
146150        (WebCore::JSHTMLAllCollection::item):
146151        (WebCore::JSHTMLAllCollection::namedItem):
146152        * bindings/js/JSHTMLCanvasElementCustom.cpp:
146153        (WebCore::JSHTMLCanvasElement::getContext):
146154        * bindings/js/JSHTMLCollectionCustom.cpp:
146155        (WebCore::JSHTMLCollection::item):
146156        (WebCore::JSHTMLCollection::namedItem):
146157        * bindings/js/JSHTMLDocumentCustom.cpp:
146158        (WebCore::documentWrite):
146159        * bindings/js/JSHTMLInputElementCustom.cpp:
146160        (WebCore::JSHTMLInputElement::setSelectionDirection):
146161        (WebCore::JSHTMLInputElement::setSelectionRange):
146162        * bindings/js/JSInspectorFrontendHostCustom.cpp:
146163        (WebCore::JSInspectorFrontendHost::showContextMenu):
146164        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
146165        (WebCore::JSJavaScriptCallFrame::evaluate):
146166        * bindings/js/JSLocationCustom.cpp:
146167        (WebCore::JSLocation::setHref):
146168        (WebCore::JSLocation::setProtocol):
146169        (WebCore::JSLocation::setHost):
146170        (WebCore::JSLocation::setHostname):
146171        (WebCore::JSLocation::setPort):
146172        (WebCore::JSLocation::setPathname):
146173        (WebCore::JSLocation::setSearch):
146174        (WebCore::JSLocation::setHash):
146175        (WebCore::JSLocation::replace):
146176        (WebCore::JSLocation::assign):
146177        * bindings/js/JSMessageEventCustom.cpp:
146178        (WebCore::handleInitMessageEvent):
146179        * bindings/js/JSSQLTransactionCustom.cpp:
146180        (WebCore::JSSQLTransaction::executeSql):
146181        * bindings/js/JSSQLTransactionSyncCustom.cpp:
146182        (WebCore::JSSQLTransactionSync::executeSql):
146183        * bindings/js/JSSharedWorkerCustom.cpp:
146184        (WebCore::JSSharedWorkerConstructor::constructJSSharedWorker):
146185        * bindings/js/JSStorageCustom.cpp:
146186        (WebCore::JSStorage::putDelegate):
146187        * bindings/js/JSWebGLRenderingContextCustom.cpp:
146188        (WebCore::JSWebGLRenderingContext::getExtension):
146189        * bindings/js/JSWebSocketCustom.cpp:
146190        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
146191        (WebCore::JSWebSocket::send):
146192        (WebCore::JSWebSocket::close):
146193        * bindings/js/JSWorkerContextCustom.cpp:
146194        (WebCore::JSWorkerContext::importScripts):
146195        * bindings/js/JSWorkerCustom.cpp:
146196        (WebCore::JSWorkerConstructor::constructJSWorker):
146197        * bindings/js/JSXMLHttpRequestCustom.cpp:
146198        (WebCore::JSXMLHttpRequest::open):
146199        (WebCore::JSXMLHttpRequest::send):
146200        * bindings/js/JSXSLTProcessorCustom.cpp:
146201        (WebCore::JSXSLTProcessor::setParameter):
146202        (WebCore::JSXSLTProcessor::getParameter):
146203        (WebCore::JSXSLTProcessor::removeParameter):
146204        * bindings/js/ScheduledAction.cpp:
146205        (WebCore::ScheduledAction::create):
146206        * bindings/js/ScriptEventListener.cpp:
146207        (WebCore::eventListenerHandlerBody):
146208        * bindings/js/ScriptValue.cpp:
146209        (WebCore::ScriptValue::toString):
146210        * bindings/scripts/CodeGeneratorJS.pm:
146211        (GenerateEventListenerCall):
146212        (JSValueToNative):
146213        (GenerateConstructorDefinition):
146214        * bridge/c/c_utility.cpp:
146215        (JSC::Bindings::convertValueToNPVariant):
146216        * bridge/jni/jni_jsobject.mm:
146217        (JavaJSObject::convertValueToJObject):
146218        * bridge/jni/jsc/JNIUtilityPrivate.cpp:
146219        (JSC::Bindings::convertArrayInstanceToJavaArray):
146220        (JSC::Bindings::convertValueToJValue):
146221        * bridge/jni/jsc/JavaFieldJSC.cpp:
146222        (JavaField::dispatchValueFromInstance):
146223        (JavaField::valueFromInstance):
146224        (JavaField::dispatchSetValueToInstance):
146225        (JavaField::setValueToInstance):
146226        * bridge/jni/jsc/JavaInstanceJSC.cpp:
146227        (JavaInstance::invokeMethod):
146228        * testing/js/JSInternalsCustom.cpp:
146229        (WebCore::JSInternals::setUserPreferredLanguages):
146230
1462312012-01-23  Kentaro Hara  <haraken@chromium.org>
146232
146233        In CodeGeneratorObjC.pm, overwrite the output .h/.mm
146234        only if the bytes differ
146235        https://bugs.webkit.org/show_bug.cgi?id=76874
146236
146237        Reviewed by Adam Barth.
146238
146239        This is one of steps to stop rebuilding .h/.cpp/.mm files
146240        generated by unchanged IDLs (bug 76836).
146241        This patch makes a change on CodeGeneratorObjC.pm so that
146242        it overwrites the output .h/.mm only if the bytes differ.
146243
146244        No tests. No change in behavior.
146245        I manually confirmed that when I add a new attribute to Element.idl,
146246        the time-stamps of unrelated DOM*.h and DOM*.mm do not change.
146247
146248        * bindings/scripts/CodeGenerator.pm:
146249        (UpdateFileIfChanged): Added. This method writes data to a file
146250        only if the data is different from the data in the current file.
146251        * bindings/scripts/CodeGeneratorObjC.pm:
146252        (WriteData): Used UpdateFileIfChanged().
146253
1462542012-01-23  Alexey Proskuryakov  <ap@apple.com>
146255
146256        REGRESSION: Downloaded file name fallback encodings are not set correctly
146257        https://bugs.webkit.org/show_bug.cgi?id=76862
146258
146259        Reviewed by Adam Barth.
146260
146261        Tests: http/tests/download/default-encoding.html
146262               http/tests/download/form-submission-result.html
146263               http/tests/download/inherited-encoding.html
146264               http/tests/download/literal-utf-8.html
146265
146266        * loader/DocumentWriter.cpp:
146267        * loader/DocumentWriter.h:
146268        Removed deprecatedFrameEncoding. Due to changes in Document::encoding behavior, it can now
146269        be used in its place.
146270
146271        * loader/FrameLoader.cpp: (WebCore::FrameLoader::addExtraFieldsToRequest): Instead of hunting
146272        down a correct loader (and active one is not always correct any more), just use opening document's
146273        encoding.
146274
1462752012-01-23  Ojan Vafai  <ojan@chromium.org>
146276
146277        Implement flex-pack:distribute
146278        https://bugs.webkit.org/show_bug.cgi?id=76864
146279
146280        Reviewed by Tony Chang.
146281
146282        See http://dev.w3.org/csswg/css3-flexbox/#flex-pack.
146283
146284        * css/CSSParser.cpp:
146285        (WebCore::CSSParser::parseValue):
146286        * css/CSSPrimitiveValueMappings.h:
146287        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
146288        (WebCore::CSSPrimitiveValue::operator EFlexPack):
146289        * css/CSSValueKeywords.in:
146290        * rendering/RenderFlexibleBox.cpp:
146291        (WebCore::initialPackingOffset):
146292        (WebCore::packingSpaceBetweenChildren):
146293        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
146294        (WebCore::RenderFlexibleBox::layoutColumnReverse):
146295        * rendering/style/RenderStyleConstants.h:
146296        * rendering/style/StyleFlexibleBoxData.h:
146297
1462982012-01-23  Luke Macpherson   <macpherson@chromium.org>
146299
146300        Implement CSS clip property in CSSStyleApplyProperty.
146301        https://bugs.webkit.org/show_bug.cgi?id=74913
146302
146303        Reviewed by Andreas Kling.
146304
146305        No new tests / refactoring only.
146306
146307        * css/CSSPrimitiveValue.h:
146308        * css/CSSPrimitiveValueMappings.h:
146309        (WebCore::CSSPrimitiveValue::convertToLength):
146310        This new function aims to provide a single call for converting many CSSPrimitiveValue
146311        values to Lengths. It is templated to allow the caller to specify which conversions
146312        are appropriate depending on the context in which the value is used.
146313        * css/CSSStyleApplyProperty.cpp:
146314        (WebCore::ApplyPropertyClip::convertToLength):
146315        (WebCore::ApplyPropertyClip::applyInheritValue):
146316        (WebCore::ApplyPropertyClip::applyInitialValue):
146317        (WebCore::ApplyPropertyClip::applyValue):
146318        (WebCore::ApplyPropertyClip::createHandler):
146319        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
146320        * css/CSSStyleSelector.cpp:
146321        (WebCore::CSSStyleSelector::applyProperty):
146322
1463232012-01-23  Tom Sepez  <tsepez@chromium.org>
146324
146325        decodeEscapeSequences() not correct for some encodings (GBK, Big5, ...).
146326        https://bugs.webkit.org/show_bug.cgi?id=71316
146327
146328        Reviewed by Daniel Bates.
146329
146330        Pass trailing unescaped bytes into the character set decoder to get correct
146331        results in the presence of encodings which re-use ASCII values in sequences.
146332        
146333        Tests: http/tests/navigation/anchor-frames-gbk.html
146334               http/tests/security/xssAuditor/iframe-onload-GBK-char.html
146335               http/tests/security/xssAuditor/img-onerror-GBK-char.html
146336               http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode-16bit-unicode.html
146337               http/tests/security/xssAuditor/script-tag-Big5-char-twice-url-encode.html
146338               http/tests/security/xssAuditor/script-tag-Big5-char.html
146339               http/tests/security/xssAuditor/script-tag-Big5-char2.html
146340
146341        * platform/text/DecodeEscapeSequences.h:
146342        (WebCore::Unicode16BitEscapeSequence::findInString):
146343        (WebCore::Unicode16BitEscapeSequence::findEndOfRun):
146344        (WebCore::Unicode16BitEscapeSequence::decodeRun):
146345        (WebCore::URLEscapeSequence::findInString):
146346        (WebCore::URLEscapeSequence::findEndOfRun):
146347        (WebCore::URLEscapeSequence::decodeRun):
146348        (WebCore::decodeEscapeSequences):
146349
1463502012-01-23  Adam Barth  <abarth@webkit.org>
146351
146352        Fix a build break in a clean compile of the Chromium port (at least
146353        reported by tbreisacher).
146354
146355        * css/CSSStyleDeclaration.cpp:
146356
1463572012-01-23  Zan Dobersek  <zandobersek@gmail.com>
146358
146359        [GTK] editing/deleting/5408255.html results are incorrect
146360        https://bugs.webkit.org/show_bug.cgi?id=53644
146361
146362        Reviewed by Martin Robinson.
146363
146364        When the WEBKIT_TOP_LEVEL environment variable is set, resources
146365        should be loaded from the source tree to which the variable is
146366        pointing. This approach is used when performing testing on the
146367        Gtk port.
146368
146369        No new tests, changes cause one test to pass.
146370
146371        * platform/graphics/gtk/ImageGtk.cpp:
146372        (getPathToImageResource): Also make changes to the resource path
146373        construction code on Windows.
146374        (WebCore::Image::loadPlatformResource):
146375
1463762012-01-23  Julien Chaffraix  <jchaffraix@webkit.org>
146377
146378        Crash in WebCore::RenderTableSection::rowLogicalHeightChanged
146379        https://webkit.org/b/76842
146380
146381        Reviewed by Darin Adler.
146382
146383        Test: fast/table/crash-section-logical-height-changed-needsCellRecalc.html
146384
146385        The issue was that we would access our section's structure when it was dirty.
146386
146387        * rendering/RenderTableSection.cpp:
146388        (WebCore::RenderTableSection::rowLogicalHeightChanged):
146389        Bail out if we need cells recalculation as our internal structure is not up-to-date
146390        and we will recompute all the rows' heights as part of the recomputation anyway.
146391
1463922012-01-23  Kentaro Hara  <haraken@chromium.org>
146393
146394        [Refactoring] Make finish() of CodeGeneratorJS.pm empty
146395        https://bugs.webkit.org/show_bug.cgi?id=76846
146396
146397        Reviewed by Adam Barth.
146398
146399        This is one of steps to stop rebuilding .h/.cpp files generated
146400        by unchanged IDLs (bug 76836).
146401
146402        As a refactoring, we are planning to remove finish() from all
146403        CodeGenerators. In this bug, we make finish() of CodeGeneratorJS.pm
146404        empty.
146405
146406        No new tests. No change in behavior.
146407
146408        * bindings/scripts/CodeGeneratorJS.pm:
146409        (finish): Made it empty. We will remove finish() after
146410        making finish() of all CodeGenerators empty.
146411        (GenerateInterface): Modified to call WriteData().
146412        (WriteData): Simple code refactoring.
146413        Removed if(defined $IMPL).
146414        Removed if(defined $HEADER).
146415        Removed if(defined $DEPS).
146416        $IMPL -> IMPL.
146417        $HEADER -> HEADER.
146418        $DEPS -> DEPS.
146419
1464202012-01-23  Shawn Singh  <shawnsingh@chromium.org>
146421
146422        [chromium] updateRect is incorrect when contentBounds != bounds
146423        https://bugs.webkit.org/show_bug.cgi?id=72919
146424
146425        Reviewed by James Robinson.
146426
146427        Unit test added to TiledLayerChromiumTest.cpp
146428
146429        The m_updateRect member in LayerChromium types is used to track
146430        what was painted for that layer. For tiled layers (especially
146431        image layers), the updateRect was being given with respect to the
146432        size of the content, rather than the size of the layer. This patch
146433        adds a conversion so that updateRect is always with respect to the
146434        layer size, so that damage tracking will work correctly in those
146435        cases.
146436
146437        * platform/graphics/chromium/LayerChromium.h:
146438        * platform/graphics/chromium/TiledLayerChromium.cpp:
146439        (WebCore::TiledLayerChromium::updateCompositorResources):
146440
1464412012-01-23  Konrad Piascik  <kpiascik@rim.com>
146442
146443        Web Inspector: Make "Copy as HTML" use the same copy functions as other copy methods.
146444        https://bugs.webkit.org/show_bug.cgi?id=76706
146445
146446        Reviewed by Pavel Feldman.
146447
146448        Changed DOMAgent.copyNode to call getOuterHTML and use the callback function to
146449        return the text to InspectorFrontendHost.copyText.  This will make all copy
146450        functions use the same code path.
146451
146452        Not testable.
146453
146454        * inspector/Inspector.json:
146455        * inspector/InspectorDOMAgent.cpp:
146456        * inspector/InspectorDOMAgent.h:
146457        * inspector/front-end/DOMAgent.js:
146458        (WebInspector.DOMNode.prototype.copyNode.copy):
146459        (WebInspector.DOMNode.prototype.copyNode):
146460
1464612012-01-23  Luke Macpherson   <macpherson@chromium.org>
146462
146463        Make zoom multiplier float instead of double to match RenderStyle::effectiveZoom etc. and thus avoid unnecessary precision conversions.
146464        https://bugs.webkit.org/show_bug.cgi?id=69490
146465
146466        Reviewed by Andreas Kling.
146467
146468        Covered by existing tests.
146469
146470        * css/CSSPrimitiveValue.cpp:
146471        (WebCore::CSSPrimitiveValue::computeLength):
146472        Use float multiplier instead of double.
146473        (WebCore::CSSPrimitiveValue::computeLengthDouble):
146474        Use float multiplier instead of double.
146475        * css/CSSPrimitiveValue.h:
146476        Change type signatures of computeLength template prototype.
146477
1464782012-01-23  Priit Laes  <plaes@plaes.org>
146479
146480        [GTK][PATCH] More build silencing with (AM_V_...)
146481        https://bugs.webkit.org/show_bug.cgi?id=76791
146482
146483        Reviewed by Gustavo Noronha Silva.
146484
146485        * GNUmakefile.am: Silence is golden...
146486
1464872012-01-23  Arko Saha  <nghq36@motorola.com>
146488
146489        MicroData: Remove ExceptionCode& from setAttribute() call.
146490        https://bugs.webkit.org/show_bug.cgi?id=76695
146491
146492        Reviewed by Hajime Morita.
146493
146494        Changeset http://trac.webkit.org/changeset/103296 removed unused
146495        ExceptionCode& argument from Element::setAttribute(QualifiedName).
146496        Hence updating all calls to setAttribute() method in MicroData code.
146497
146498        * html/HTMLAnchorElement.cpp:
146499        (WebCore::HTMLAnchorElement::setItemValueText):
146500        * html/HTMLAreaElement.cpp:
146501        (WebCore::HTMLAreaElement::setItemValueText):
146502        * html/HTMLEmbedElement.cpp:
146503        (WebCore::HTMLEmbedElement::setItemValueText):
146504        * html/HTMLIFrameElement.cpp:
146505        (WebCore::HTMLIFrameElement::setItemValueText):
146506        * html/HTMLImageElement.cpp:
146507        (WebCore::HTMLImageElement::setItemValueText):
146508        * html/HTMLLinkElement.cpp:
146509        (WebCore::HTMLLinkElement::setItemValueText):
146510        * html/HTMLMediaElement.cpp:
146511        (WebCore::HTMLMediaElement::setItemValueText):
146512        * html/HTMLMetaElement.cpp:
146513        (WebCore::HTMLMetaElement::setItemValueText):
146514        * html/HTMLObjectElement.cpp:
146515        (WebCore::HTMLObjectElement::setItemValueText):
146516        * html/HTMLSourceElement.cpp:
146517        (WebCore::HTMLSourceElement::setItemValueText):
146518        * html/HTMLTrackElement.cpp:
146519        (WebCore::HTMLTrackElement::setItemValueText):
146520
1465212012-01-23  Hayato Ito  <hayato@chromium.org>
146522
146523        Fix crash when a focused node is removed while in processing focusin event.
146524        https://bugs.webkit.org/show_bug.cgi?id=76656
146525
146526        Reviewed by Dimitri Glazkov.
146527
146528        Test: fast/events/focus-remove-focuesed-node.html
146529
146530        * dom/Document.cpp:
146531        (WebCore::Document::setFocusedNode):
146532
1465332012-01-23  David Levin  <levin@chromium.org>
146534
146535        [windows] Convert usages of GetDC to HWndDC Part 1.
146536        https://bugs.webkit.org/show_bug.cgi?id=76744
146537
146538        Reviewed by Adam Roben.
146539
146540        No new functionality so no new tests.
146541
146542        * platform/graphics/win/FontCacheWin.cpp:
146543        (WebCore::FontCache::getFontDataForCharacters): Changed GetDC to HWndDC
146544        and removed ReleaseDC.
146545        (WebCore::createGDIFont): Ditto.
146546        (WebCore::FontCache::getTraitsInFamily): Ditto.
146547        * platform/graphics/win/FontPlatformDataWin.cpp:
146548        (WebCore::FontPlatformData::FontPlatformData): Ditto.
146549        * platform/graphics/win/SimpleFontDataCGWin.cpp:
146550        (WebCore::SimpleFontData::platformInit): Ditto.
146551        * platform/graphics/win/SimpleFontDataWin.cpp:
146552        (WebCore::SimpleFontData::initGDIFont): Ditto.
146553        (WebCore::SimpleFontData::containsCharacters): Ditto.
146554        (WebCore::SimpleFontData::determinePitch): Ditto.
146555        (WebCore::SimpleFontData::boundsForGDIGlyph): Ditto.
146556        (WebCore::SimpleFontData::widthForGDIGlyph): Ditto.
146557        (WebCore::SimpleFontData::scriptFontProperties): Ditto.
146558        * platform/win/CursorWin.cpp:
146559        (WebCore::createSharedCursor): Ditto.
146560        * platform/win/DragImageCGWin.cpp:
146561        (WebCore::scaleDragImage): Ditto.
146562        (WebCore::createDragImageFromImage): Ditto.
146563        * platform/win/DragImageWin.cpp:
146564        (WebCore::createDragImageForLink): Ditto.
146565        * platform/win/PasteboardWin.cpp:
146566        (WebCore::Pasteboard::writeImage): Ditto.
146567
1465682012-01-23  Martin Robinson  <mrobinson@igalia.com>
146569
146570        [GTK] Scrollbars do not respect the has-backward-stepper and has-forward-stepper properties
146571        https://bugs.webkit.org/show_bug.cgi?id=76747
146572
146573        Reviewed by Gustavo Noronha Silva.
146574
146575        No new tests. Regressions are covered by existing tests, but testing
146576        different GTK+ theme configurations is not possible yet.
146577
146578        * platform/gtk/ScrollbarThemeGtk.cpp:
146579        (WebCore::ScrollbarThemeGtk::backButtonRect): If there is no back stepper, return an empty rect.
146580        (WebCore::ScrollbarThemeGtk::forwardButtonRect): If there is no forward stepper, return an empty rect.
146581        (WebCore::ScrollbarThemeGtk::trackRect): Adjust track rect calculation to account for when there is
146582        no steppers.
146583        * platform/gtk/ScrollbarThemeGtk.h: New members describing whether there are primary steppers.
146584        * platform/gtk/ScrollbarThemeGtk2.cpp:
146585        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Look at the theme to determine if there
146586        are primary foward and back steppers.
146587        * platform/gtk/ScrollbarThemeGtk3.cpp:
146588        (WebCore::ScrollbarThemeGtk::updateThemeProperties): Ditto.
146589
1465902012-01-23  Ryosuke Niwa  <rniwa@webkit.org>
146591
146592        REGRESSION(r105396): drag state is not cleared after each drag
146593        https://bugs.webkit.org/show_bug.cgi?id=76878
146594
146595        Reviewed by Alexey Proskuryakov.
146596
146597        Revert a part of r105396 that made performDragAndDrop not call clearDragState
146598        when the default action was not prevented since it caused a regression.
146599
146600        I'm pretty certain always calling clearDragState in performDragAndDrop is wrong
146601        but I can't think of a test case where this becomes a problem at the moment.
146602        Since this area is not well tested, revert the change instead of making further
146603        changes to the code base.
146604
146605        Tests: fast/events/clear-drag-state.html
146606               fast/events/clear-edit-drag-state.html
146607
146608        * page/EventHandler.cpp:
146609        (WebCore::EventHandler::performDragAndDrop):
146610
1466112012-01-23  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
146612
146613        Fixed typo in exception messages
146614        https://bugs.webkit.org/show_bug.cgi?id=76710
146615
146616        Reviewed by Alexey Proskuryakov.
146617
146618        * dom/DOMCoreException.cpp:
146619        * fileapi/FileException.cpp:
146620        * storage/SQLTransaction.cpp:
146621        (WebCore::SQLTransaction::openTransactionAndPreflight):
146622        (WebCore::SQLTransaction::postflightAndCommit):
146623        * xml/XMLHttpRequestException.cpp:
146624
1466252012-01-18  David Levin  <levin@chromium.org>
146626
146627        Allow delayed DC allocation in HWndDC.
146628        https://bugs.webkit.org/show_bug.cgi?id=76737
146629
146630        Reviewed by Adam Roben.
146631
146632        No new functionality exposed so no new tests.
146633
146634        * platform/win/HWndDC.h: Changed this slightly to allow
146635        for allocating a window DC after the initial creation since
146636        this pattern occurrs in several places so this makes it easy to
146637        replace them in an upcoming change.
146638        (WebCore::HWndDC::HWndDC):
146639        (WebCore::HWndDC::~HWndDC):
146640        (WebCore::HWndDC::setHWnd):
146641        (WebCore::HWndDC::clear):
146642
1466432012-01-23  Arko Saha  <nghq36@motorola.com>
146644
146645        MicroData: Compilation error while building Webkit with --microdata.
146646        https://bugs.webkit.org/show_bug.cgi?id=76703
146647
146648        Reviewed by Hajime Morita.
146649
146650        * dom/MicroDataItemList.cpp:
146651        (WebCore::MicroDataItemList::MicroDataItemList):
146652        (WebCore::MicroDataItemList::~MicroDataItemList):
146653        * dom/MicroDataItemList.h:
146654        * dom/NodeRareData.h:
146655        (WebCore::NodeRareData::properties):
146656        * html/HTMLPropertiesCollection.cpp:
146657        (WebCore::HTMLPropertiesCollection::create):
146658        (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
146659        * html/HTMLPropertiesCollection.h:
146660
1466612012-01-13  David Levin  <levin@chromium.org>
146662
146663        [chromium] Convert uses of GetDC to HWndDC.
146664        https://bugs.webkit.org/show_bug.cgi?id=76290
146665
146666        Reviewed by Dmitry Titov.
146667
146668        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
146669        (WebCore::createFontIndirectAndGetWinName):
146670        (WebCore::fontContainsCharacter):
146671        (WebCore::FontCache::getLastResortFallbackFont):
146672        (WebCore::FontCache::getTraitsInFamily):
146673        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
146674        (WebCore::FontPlatformData::scriptFontProperties):
146675        * platform/graphics/chromium/FontUtilsChromiumWin.cpp:
146676        (WebCore::FontMap::getAscent):
146677        (WebCore::FontMap::getSpaceGlyph):
146678        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
146679        (WebCore::fillBMPGlyphs):
146680        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
146681        (WebCore::SimpleFontData::platformInit):
146682        (WebCore::SimpleFontData::determinePitch):
146683        (WebCore::SimpleFontData::platformWidthForGlyph):
146684        * platform/graphics/chromium/UniscribeHelper.cpp:
146685        (WebCore::UniscribeHelper::EnsureCachedDCCreated):
146686        * rendering/RenderThemeChromiumWin.cpp:
146687        (WebCore::systemFontSize):
146688        (WebCore::pointsToPixels):
146689
1466902012-01-23  Joe Thomas  <joethomas@motorola.com>
146691
146692        https://bugs.webkit.org/show_bug.cgi?id=75799
146693        Calling intersectsNode on a detached range should throw.
146694
146695        INVALID_STATE_ERR exception should be thrown if intersectsNode is called on a detached Range.
146696
146697        Reviewed by Darin Adler.
146698
146699        Test: fast/dom/Range/range-intersectsNode-exception.html
146700
146701        * dom/Range.cpp:
146702        (WebCore::Range::intersectsNode): Throwing INVALID_STATE_ERR exception if the range is detached.
146703
1467042012-01-23  Daniel Cheng  <dcheng@chromium.org>
146705
146706        Convert DataTransferItem/DataTransferItemList back into an interface class
146707        https://bugs.webkit.org/show_bug.cgi?id=76856
146708
146709        When Qt implemented the DataTransferItemList, a lot of logic was moved into the shared
146710        classes since Chromium/Qt happened to implement it the same way. Now that I want to do some
146711        refactoring/cleanup work to better implement DataTransferItemList in Chromium, we won't
146712        share the same data anymore so it doesn't make sense to keep that code in a common location.
146713
146714        Reviewed by David Levin.
146715
146716        Covered by existing tests.
146717
146718        * CMakeLists.txt:
146719        * GNUmakefile.list.am:
146720        * Target.pri:
146721        * WebCore.gypi:
146722        * WebCore.vcproj/WebCore.vcproj:
146723        * WebCore.xcodeproj/project.pbxproj:
146724        * dom/DataTransferItem.cpp:
146725        * dom/DataTransferItem.h:
146726        * dom/DataTransferItemList.cpp: Removed.
146727        * dom/DataTransferItemList.h:
146728        * platform/chromium/ClipboardChromium.cpp:
146729        (WebCore::ClipboardChromium::mayUpdateItems):
146730        * platform/chromium/DataTransferItemChromium.cpp:
146731        (WebCore::DataTransferItemChromium::create):
146732        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
146733        (WebCore::DataTransferItemChromium::getAsString):
146734        (WebCore::DataTransferItemChromium::getAsFile):
146735        (WebCore::DataTransferItemChromium::clipboardChromium):
146736        * platform/chromium/DataTransferItemChromium.h:
146737        (WebCore::DataTransferItemChromium::kind):
146738        (WebCore::DataTransferItemChromium::type):
146739        * platform/chromium/DataTransferItemListChromium.cpp:
146740        (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
146741        * platform/chromium/DataTransferItemListChromium.h:
146742        * platform/qt/DataTransferItemListQt.cpp:
146743        (WebCore::DataTransferItemListQt::DataTransferItemListQt):
146744        (WebCore::DataTransferItemListQt::length):
146745        (WebCore::DataTransferItemListQt::item):
146746        (WebCore::DataTransferItemListQt::deleteItem):
146747        (WebCore::DataTransferItemListQt::clear):
146748        (WebCore::DataTransferItemListQt::add):
146749        * platform/qt/DataTransferItemListQt.h:
146750        * platform/qt/DataTransferItemQt.cpp:
146751        (WebCore::DataTransferItemQt::create):
146752        (WebCore::DataTransferItemQt::DataTransferItemQt):
146753        (WebCore::DataTransferItemQt::getAsString):
146754        (WebCore::DataTransferItemQt::getAsFile):
146755        * platform/qt/DataTransferItemQt.h:
146756        (WebCore::DataTransferItemQt::kind):
146757        (WebCore::DataTransferItemQt::type):
146758
1467592012-01-23  Andreas Kling  <awesomekling@apple.com>
146760
146761        Unreviewed buildfix for ENABLE(MUTATION_OBSERVERS) following r105642.
146762
146763        * css/CSSMutableStyleDeclaration.cpp:
146764
1467652012-01-23  Philip Rogers  <pdr@google.com>
146766
146767        Update uniteIfNonZero to use isZero.
146768        https://bugs.webkit.org/show_bug.cgi?id=76637
146769
146770        Reviewed by Darin Adler.
146771
146772        No new tests. (I found no existing codepath that would be affected by
146773        this change but I think this change is still valuable in preventing
146774        future bugs.)
146775
146776        * platform/graphics/FloatRect.cpp:
146777        (WebCore::FloatRect::uniteIfNonZero):
146778
146779        The following change is a minor followup to
146780        https://bugs.webkit.org/show_bug.cgi?id=76177#c12 and is not directly
146781        related to the rest of this patch.
146782        * rendering/svg/SVGRenderSupport.cpp:
146783        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
146784
1467852012-01-23  Antti Koivisto  <antti@apple.com>
146786
146787        Eliminate CSSElementStyleDeclaration
146788        https://bugs.webkit.org/show_bug.cgi?id=76848
146789
146790        Reviewed by Andreas Kling.
146791
146792        CSSElementStyleDeclaration has little functionality. It can merge with CSSMutableStyleDeclaration simplifying the code.
146793        
146794        Having an element parent is mutually exclusive with having a css rule parent. We can keep them in a union. This also
146795        shrinks all inline style declarations by one pointer.
146796
146797        * CMakeLists.txt:
146798        * GNUmakefile.list.am:
146799        * Target.pri:
146800        * WebCore.gypi:
146801        * WebCore.vcproj/WebCore.vcproj:
146802        * WebCore.xcodeproj/project.pbxproj:
146803        * bindings/js/JSDOMBinding.h:
146804        (WebCore::root):
146805        * css/CSSAllInOne.cpp:
146806        * css/CSSElementStyleDeclaration.cpp: Removed.
146807        * css/CSSElementStyleDeclaration.h: Removed.
146808        * css/CSSMutableStyleDeclaration.cpp:
146809        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
146810        * css/CSSMutableStyleDeclaration.h:
146811        (WebCore::CSSMutableStyleDeclaration::createInline):
146812        (WebCore::CSSMutableStyleDeclaration::createForSVGFontFaceElement):
146813        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
146814        * css/CSSStyleDeclaration.cpp:
146815        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
146816        (WebCore::CSSStyleDeclaration::parentStyleSheet):
146817        
146818            Merge the CSSElementStyleDeclaration::styleSheet() logic here.
146819        
146820        * css/CSSStyleDeclaration.h:
146821        (WebCore::CSSStyleDeclaration::parentRule):
146822        (WebCore::CSSStyleDeclaration::clearParentRule):
146823        (WebCore::CSSStyleDeclaration::parentElement):
146824        (WebCore::CSSStyleDeclaration::clearParentElement):
146825        * css/CSSStyleRule.cpp:
146826        (WebCore::CSSStyleRule::setSelectorText):
146827        
146828            CSSStyleRule's style declaration can't have isElementStyleDeclaration set, the dead code can be removed.
146829            This is asserted in setDeclaration() and again implicitly in the destructor (by clearParentRule()).
146830        
146831        * dom/StyledElement.cpp:
146832        (WebCore::StyledElement::createInlineStyleDecl):
146833        (WebCore::StyledElement::destroyInlineStyleDecl):
146834        (WebCore::StyledElement::ensureInlineStyleDecl):
146835        (WebCore::StyledElement::copyNonAttributeProperties):
146836        * dom/StyledElement.h:
146837        (WebCore::StyledElement::inlineStyleDecl):
146838        * editing/ApplyStyleCommand.cpp:
146839        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
146840        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
146841        * editing/DeleteButtonController.cpp:
146842        (WebCore::DeleteButtonController::createDeletionUI):
146843        * html/ValidationMessage.cpp:
146844        (WebCore::adjustBubblePosition):
146845        * html/shadow/MediaControlElements.cpp:
146846        (WebCore::MediaControlPanelElement::setPosition):
146847        (WebCore::MediaControlPanelElement::resetPosition):
146848        (WebCore::MediaControlPanelElement::makeOpaque):
146849        (WebCore::MediaControlPanelElement::makeTransparent):
146850        * html/shadow/SliderThumbElement.cpp:
146851        (WebCore::TrackLimiterElement::create):
146852        * svg/SVGFontFaceElement.cpp:
146853        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
146854
1468552012-01-23  Benjamin Poulain  <bpoulain@apple.com>
146856
146857        Use OVERRIDE for PopupMenuClient's implementations
146858        https://bugs.webkit.org/show_bug.cgi?id=76774
146859
146860        Reviewed by Darin Adler.
146861
146862        * rendering/RenderMenuList.h: Also sort the methods to the same
146863        order as PopupMenuClient.
146864        * rendering/RenderTextControlSingleLine.h:
146865
1468662012-01-23  Xianzhu Wang  <wangxianzhu@chromium.org>
146867
146868        Basic enhancements to StringBuilder
146869        https://bugs.webkit.org/show_bug.cgi?id=67081
146870
146871        These changes are because we explicitly disallowed StringBuilder's
146872        copy constructor and assignment operator, and the change of return
146873        type of StringBuilder::toString().
146874
146875        Reviewed by Darin Adler.
146876
146877        No new tests. All layout tests and unit tests should run as before.
146878
146879        * platform/graphics/win/MediaPlayerPrivateQuickTimeVisualContext.cpp:
146880        (WebCore::MediaPlayerPrivateQuickTimeVisualContext::setUpCookiesForQuickTime):
146881        * svg/SVGPathStringBuilder.h:
146882        (WebCore::SVGPathStringBuilder::cleanup):
146883
1468842012-01-23  W. James MacLean  <wjmaclean@chromium.org>
146885
146886        [chromium] Add WebSolidColorLayer interface to draw non-textured color layers from Aura.
146887        https://bugs.webkit.org/show_bug.cgi?id=75732
146888
146889        Reviewed by James Robinson.
146890
146891        Add WebSolidColorLayer to paint solid-color layers without a backing texture.
146892
146893        Test: unit test for CCSolidColorLayerImpl.
146894
146895        * WebCore.gypi:
146896        * platform/graphics/chromium/SolidColorLayerChromium.cpp: Added.
146897        (WebCore::SolidColorLayerChromium::createCCLayerImpl):
146898        (WebCore::SolidColorLayerChromium::create):
146899        (WebCore::SolidColorLayerChromium::SolidColorLayerChromium):
146900        (WebCore::SolidColorLayerChromium::~SolidColorLayerChromium):
146901        * platform/graphics/chromium/SolidColorLayerChromium.h: Added.
146902        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.cpp: Added.
146903        (WebCore::CCSolidColorLayerImpl::CCSolidColorLayerImpl):
146904        (WebCore::CCSolidColorLayerImpl::~CCSolidColorLayerImpl):
146905        (WebCore::CCSolidColorLayerImpl::quadTransform):
146906        (WebCore::CCSolidColorLayerImpl::appendQuads):
146907        * platform/graphics/chromium/cc/CCSolidColorLayerImpl.h: Added.
146908        (WebCore::CCSolidColorLayerImpl::create):
146909        (WebCore::CCSolidColorLayerImpl::layerTypeAsString):
146910
1469112012-01-23  Antti Koivisto  <antti@apple.com>
146912
146913        Attempt to fix Qt build.
146914    
146915        Not reviewed.
146916
146917        * css/CSSElementStyleDeclaration.cpp:
146918        * css/CSSElementStyleDeclaration.h:
146919        (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
146920
1469212012-01-23  Andreas Kling  <awesomekling@apple.com>
146922
146923        Move m_rootEditableElementForSelectionOnMouseDown off of HTMLAnchorElement.
146924        <http://webkit.org/b/76833>
146925
146926        Reviewed by Antti Koivisto.
146927
146928        Move HTMLAnchorElement::m_rootEditableElementForSelectionOnMouseDown to a rare
146929        data-style hashmap, effectively shrinking HTMLAnchorElement by one CPU word.
146930
146931        The pointer is only used during interactive event handling, so it shouldn't have
146932        any noticeable effects on web performance.
146933
146934        This reduces memory consumption by 256 kB (on 64-bit) when viewing the full
146935        HTML5 spec at <http://whatwg.org/c>.
146936
146937        * html/HTMLAnchorElement.cpp:
146938        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
146939        (WebCore::HTMLAnchorElement::~HTMLAnchorElement):
146940        (WebCore::HTMLAnchorElement::defaultEventHandler):
146941        (WebCore::HTMLAnchorElement::treatLinkAsLiveForEventType):
146942        (WebCore::rootEditableElementMap):
146943        (WebCore::HTMLAnchorElement::rootEditableElementForSelectionOnMouseDown):
146944        (WebCore::HTMLAnchorElement::setRootEditableElementForSelectionOnMouseDown):
146945        * html/HTMLAnchorElement.h:
146946
1469472012-01-23  Antti Koivisto  <antti@apple.com>
146948
146949        Eliminate CSSElementStyleDeclaration subclasses
146950        https://bugs.webkit.org/show_bug.cgi?id=76827
146951
146952        Reviewed by Andreas Kling.
146953
146954        CSSInlineStyleDeclaration and FontFaceStyleDeclaration serve no real purpose.
146955
146956        * GNUmakefile.list.am:
146957        * Target.pri:
146958        * WebCore.gypi:
146959        * WebCore.vcproj/WebCore.vcproj:
146960        * WebCore.xcodeproj/project.pbxproj:
146961        * css/CSSElementStyleDeclaration.cpp:
146962        (WebCore::CSSElementStyleDeclaration::createForSVGFontFaceElement):
146963        (WebCore::CSSElementStyleDeclaration::styleSheet):
146964        * css/CSSElementStyleDeclaration.h:
146965        (WebCore::CSSElementStyleDeclaration::createInline):
146966        (WebCore::toCSSElementStyleDeclaration):
146967        * css/CSSInlineStyleDeclaration.h: Removed.
146968        * css/CSSMutableStyleDeclaration.cpp:
146969        * dom/StyledElement.cpp:
146970        (WebCore::StyledElement::createInlineStyleDecl):
146971        (WebCore::StyledElement::ensureInlineStyleDecl):
146972        (WebCore::StyledElement::copyNonAttributeProperties):
146973        * dom/StyledElement.h:
146974        (WebCore::StyledElement::inlineStyleDecl):
146975        * editing/ApplyStyleCommand.cpp:
146976        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
146977        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
146978        * editing/DeleteButtonController.cpp:
146979        (WebCore::DeleteButtonController::createDeletionUI):
146980        * html/ValidationMessage.cpp:
146981        (WebCore::adjustBubblePosition):
146982        * html/shadow/MediaControlElements.cpp:
146983        (WebCore::MediaControlPanelElement::setPosition):
146984        (WebCore::MediaControlPanelElement::resetPosition):
146985        (WebCore::MediaControlPanelElement::makeOpaque):
146986        (WebCore::MediaControlPanelElement::makeTransparent):
146987        * html/shadow/SliderThumbElement.cpp:
146988        (WebCore::TrackLimiterElement::create):
146989        * svg/SVGFontFaceElement.cpp:
146990        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
146991
1469922012-01-23  Pavel Feldman  <pfeldman@google.com>
146993
146994        Not reviewed: annotate inspector's js so that it compiled.
146995
146996        * inspector/front-end/ElementsTreeOutline.js:
146997        * inspector/front-end/TextPrompt.js:
146998        (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
146999        (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
147000
1470012012-01-23  Philippe Normand  <pnormand@igalia.com>
147002
147003        [GStreamer] fix WebAudio build after r105431
147004        https://bugs.webkit.org/show_bug.cgi?id=76819
147005
147006        Reviewed by Martin Robinson.
147007
147008        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp:
147009        (WebCore::copyGstreamerBuffersToAudioChannel): Use mutableData()
147010        when copying.
147011        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
147012        (webKitWebAudioSrcLoop): Drop constness when setting the buffer
147013        data pointer.
147014
1470152012-01-23  Pavel Feldman  <pfeldman@google.com>
147016
147017        Web Inspector: add touch events to the event listeners list.
147018        https://bugs.webkit.org/show_bug.cgi?id=76830
147019
147020        Reviewed by Yury Semikhatsky.
147021
147022        * English.lproj/localizedStrings.js:
147023        * inspector/InjectedScriptSource.js:
147024        (.):
147025        * inspector/front-end/BreakpointsSidebarPane.js:
147026        (WebInspector.EventListenerBreakpointsSidebarPane):
147027
1470282012-01-23  Pavel Feldman  <pfeldman@google.com>
147029
147030        Web Inspector: inspector close button is missing in the dock-to-right mode.
147031        https://bugs.webkit.org/show_bug.cgi?id=76829
147032
147033        Reviewed by Timothy Hatcher.
147034
147035        * inspector/front-end/inspector.js:
147036        (WebInspector.set attached):
147037        (WebInspector.get _setCompactMode):
147038
1470392012-01-23  Vsevolod Vlasov  <vsevik@chromium.org>
147040
147041        Web Inspector: IndexedDBModel should keep track of requests sent to the backend.
147042        https://bugs.webkit.org/show_bug.cgi?id=76705
147043
147044        Reviewed by Pavel Feldman.
147045
147046        * inspector/Inspector.json:
147047        * inspector/InspectorIndexedDBAgent.cpp:
147048        (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
147049        * inspector/InspectorIndexedDBAgent.h:
147050        * inspector/front-end/IndexedDBModel.js:
147051        (WebInspector.IndexedDBModel):
147052        (WebInspector.IndexedDBModel.prototype._frameDetached):
147053        (WebInspector.IndexedDBModel.prototype._reset):
147054        (WebInspector.IndexedDBModel.prototype._loadDatabaseNamesForFrame):
147055        (WebInspector.IndexedDBRequestManager):
147056        (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame.innerCallback):
147057        (WebInspector.IndexedDBRequestManager.prototype.requestDatabaseNamesForFrame):
147058        (WebInspector.IndexedDBRequestManager.prototype._databaseNamesLoaded):
147059        (WebInspector.IndexedDBRequestManager.prototype._requestId):
147060        (WebInspector.IndexedDBRequestManager.prototype._frameDetached):
147061        (WebInspector.IndexedDBRequestManager.prototype._reset):
147062        (WebInspector.IndexedDBRequestManager.DatabasesForFrameRequest):
147063        (WebInspector.IndexedDBDispatcher):
147064        (WebInspector.IndexedDBDispatcher.prototype.databaseNamesLoaded):
147065
1470662012-01-23  Pavel Feldman  <pfeldman@google.com>
147067
147068        Web Inspector: Inspecting an element inside an iframe no longer works
147069        https://bugs.webkit.org/show_bug.cgi?id=76808
147070
147071        Reviewed by Timothy Hatcher.
147072
147073        Test: http/tests/inspector/inspect-element.html
147074
147075        * inspector/InspectorDOMAgent.cpp:
147076        (WebCore::InspectorDOMAgent::innerParentNode):
147077        * inspector/front-end/DOMAgent.js:
147078        (WebInspector.DOMNode.prototype.getChildNodes.mycallback):
147079        (WebInspector.DOMNode.prototype.getChildNodes):
147080        (WebInspector.DOMNode.prototype._setChildrenPayload):
147081        * inspector/front-end/ElementsTreeOutline.js:
147082        (WebInspector.ElementsTreeOutline.prototype._selectedNodeChanged):
147083
1470842012-01-23  Andrey Kosyakov  <caseq@chromium.org>
147085
147086        Web Inspector: response.bodySize in HAR is invalid (negative) for cached resources
147087        https://bugs.webkit.org/show_bug.cgi?id=76823
147088
147089        Reviewed by Yury Semikhatsky.
147090
147091        - fix response.bodySize for cached resources;
147092        Also some drive-by fixes:
147093        - pretty-print HAR when exported
147094        - proper annotation for JSON.stringify()
147095        - de-obfuscate a piece of code in TimelinePanel
147096
147097        * inspector/front-end/HAREntry.js:
147098        (WebInspector.HAREntry.prototype.get responseBodySize):
147099        * inspector/front-end/NetworkPanel.js:
147100        (WebInspector.NetworkLogView.prototype._exportAll):
147101        (WebInspector.NetworkLogView.prototype._exportResource):
147102
1471032012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
147104
147105        [GTK] Refactor GTK's accessibilitity code to be more modular
147106        https://bugs.webkit.org/show_bug.cgi?id=76783
147107
147108        Reviewed by Martin Robinson.
147109
147110        New files for the implementation of the AtkAction interface,
147111        containing the related code from WebKitAccessibleWrapperAtk.cpp.
147112
147113        * accessibility/gtk/WebKitAccessibleInterfaceAction.cpp: Added.
147114        (core):
147115        (webkitAccessibleActionInterfaceInit):
147116        (webkitAccessibleActionDoAction):
147117        (webkitAccessibleActionGetNActions):
147118        (webkitAccessibleActionGetDescription):
147119        (webkitAccessibleActionGetKeybinding):
147120        (webkitAccessibleActionGetName):
147121        * accessibility/gtk/WebKitAccessibleInterfaceAction.h: Added.
147122
147123        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Remove code
147124        related to the implementation of the AtkAction interface.
147125
147126        Add new files to build files.
147127
147128        * GNUmakefile.list.am: Add WebKitAccessibleInterfaceAction.[h|cpp].
147129        * WebCore.gypi: Ditto.
147130
1471312012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
147132
147133        SVG animation repaint issue with image and dynamic clipPath
147134        https://bugs.webkit.org/show_bug.cgi?id=76559
147135
147136        Reviewed by Zoltan Herczeg.
147137
147138        Based on patch by Kelly Norton <knorton@google.com>. I extended the patch
147139        to correctly handle relative length resolution as well.
147140
147141        RenderSVGImage doesn't react on setNeedsBoundariesUpdate() calls
147142        and thus fails to update its boundaries in some cases.
147143
147144        The logic is also inconsistent, compared to the other renderers.
147145        Fix that properly, by reusing the method used in RenderSVGViewportContainer.
147146        Call calculateImageViewport() immediately, after initializing the LayoutRepainter.
147147        Previously we resolved the image viewport in RenderSVGImage::updateFromElement. This is
147148        wrong, as it queries the frameRect() of the RenderSVGRoot in a state, where the renderer
147149        still needs layout, leading to wrong results.
147150
147151        I turned Kellys manual testcase into a predictable test, see svg/repaint/image-with-clip-path.svg
147152        Relative sized image handling is tested in svg/custom/relative-sized-image.xhtml now.
147153
147154        Tests: svg/custom/relative-sized-image.xhtml
147155               svg/repaint/image-with-clip-path.svg
147156
147157        * rendering/svg/RenderSVGImage.cpp:
147158        (WebCore::RenderSVGImage::RenderSVGImage):
147159        (WebCore::RenderSVGImage::updateImageViewport):
147160        (WebCore::RenderSVGImage::layout):
147161        * rendering/svg/RenderSVGImage.h:
147162        (WebCore::RenderSVGImage::setNeedsBoundariesUpdate):
147163        * svg/SVGImageElement.cpp:
147164        (WebCore::SVGImageElement::svgAttributeChanged):
147165
1471662012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
147167
147168        <feImage> has problems referencing local elements
147169        https://bugs.webkit.org/show_bug.cgi?id=76800
147170
147171        Reviewed by Zoltan Herczeg.
147172
147173        <feImage> referencing local elements are currently rendered into an ImageBuffer
147174        by SVGFEImageElement, using the local coordinates of the referenced renderer.
147175
147176        This approach is buggy and should be avoided, by moving the rendering fully
147177        into SVGFEImage, which takes care of respecting the correct transformations.
147178
147179        This fixes <feImage> + local references, which currently breaks two tests in trunk.
147180        Covered by existing tests.
147181
147182        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
147183        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
147184        * svg/SVGFEImageElement.cpp:
147185        (WebCore::SVGFEImageElement::build):
147186        * svg/graphics/filters/SVGFEImage.cpp:
147187        (WebCore::FEImage::FEImage):
147188        (WebCore::FEImage::createWithImage):
147189        (WebCore::FEImage::createWithIRIReference):
147190        (WebCore::FEImage::determineAbsolutePaintRect):
147191        (WebCore::FEImage::referencedRenderer):
147192        (WebCore::FEImage::platformApplySoftware):
147193        (WebCore::FEImage::externalRepresentation):
147194        * svg/graphics/filters/SVGFEImage.h:
147195        (WebCore::FEImage::~FEImage):
147196        * svg/graphics/filters/SVGFilter.h:
147197        (WebCore::SVGFilter::absoluteTransform):
147198
1471992012-01-23  Nikolas Zimmermann  <nzimmermann@rim.com>
147200
147201        Not reviewed. Fix Mac build, by exporting a new symbol.
147202
147203        * WebCore.exp.in:
147204
1472052012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
147206
147207        [GTK] Refactor GTK's accessibilitity code to be more modular
147208        https://bugs.webkit.org/show_bug.cgi?id=76783
147209
147210        Reviewed by Martin Robinson.
147211
147212        Move common function returnString() from the wrapper and
147213        hyperlink implementations to a new utility file.
147214
147215        * accessibility/gtk/WebKitAccessibleUtil.cpp: Added.
147216        (returnString): Taken from WebKitAccessibleWrapperAtk.cpp and
147217        WebKitAccessibleHyperlink.cpp
147218        * accessibility/gtk/WebKitAccessibleUtil.h: Added.
147219
147220        * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Remove local
147221        implementation of returnString.
147222        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Ditto.
147223
147224        Add new files to build files.
147225
147226        * GNUmakefile.list.am: Add WebKitAccessibleUtil.[h|cpp].
147227        * WebCore.gypi: Ditto.
147228
1472292012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
147230
147231        [GTK] Refactor GTK's accessibilitity code to be more modular
147232        https://bugs.webkit.org/show_bug.cgi?id=76783
147233
147234        Reviewed by Martin Robinson.
147235
147236        Fix typo in class struct (parent class field had the wrong type),
147237        fix coding style issues and update date in headers.
147238
147239        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
147240        * accessibility/gtk/WebKitAccessibleHyperlink.h:
147241
1472422012-01-23  Mario Sanchez Prada  <msanchez@igalia.com>
147243
147244        [GTK] Refactor GTK's accessibilitity code to be more modular
147245        https://bugs.webkit.org/show_bug.cgi?id=76783
147246
147247        Reviewed by Martin Robinson.
147248
147249        Rename WebKitAccessible's public functions to follow WebKit's
147250        coding style and update callers.
147251
147252        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp:
147253        (webkitAccessibleNew): Renamed from webkit_accessible_new.
147254        (webkitAccessibleGetAccessibilityObject): Likewise.
147255        (webkitAccessibleDetach):Likewise.
147256        (webkitAccessibleGetFocusedElement): Likewise.
147257        * accessibility/gtk/WebKitAccessibleWrapperAtk.h:
147258
147259        Update calls to WebKitAccessible's public functions.
147260
147261        * accessibility/gtk/AXObjectCacheAtk.cpp:
147262        (WebCore::AXObjectCache::detachWrapper): Update call.
147263        (WebCore::AXObjectCache::attachWrapper): Ditto.
147264        * accessibility/gtk/WebKitAccessibleHyperlink.cpp:
147265        (core): Update call.
147266
1472672012-01-19  Kenichi Ishibashi  <bashi@chromium.org>
147268
147269        WebKit fails IETC composition event types
147270        https://bugs.webkit.org/show_bug.cgi?id=76690
147271
147272        Reviewed by Ryosuke Niwa.
147273
147274        Dispatches at least one compositionupdate event.
147275        The spec(*) says that a composition session includes one or more
147276        compositionupdate event(s).
147277        Other major browsers (Firefox and IE) don't populate the data attribute
147278        of the compositionstart event, but we set the given text in the data
147279        attribute to minimize the effect of this change.
147280
147281        (*) http://dev.w3.org/2006/webapi/DOM-Level-3-Events/html/DOM3-Events.html#events-compositionevents
147282
147283        Updated existing test: fast/fast/events/ime-composition-events-001.html.
147284
147285        * editing/Editor.cpp:
147286        (WebCore::Editor::setComposition):
147287
1472882012-01-22  Mario Sanchez Prada  <msanchez@igalia.com>
147289
147290        [GTK] Refactor GTK's accessibilitity code to be more modular
147291        https://bugs.webkit.org/show_bug.cgi?id=76783
147292
147293        Reviewed by Martin Robinson.
147294
147295        Rename the file for the ATK AccessibilityObject wrapper to be more
147296        coherent with the rest of the files in the same directory.
147297
147298        * accessibility/gtk/WebKitAccessibleWrapperAtk.cpp: Renamed from
147299        Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.cpp.
147300        (fallbackObject):
147301        (returnString):
147302        (core):
147303        (webkit_accessible_get_name):
147304        (webkit_accessible_get_description):
147305        (setAtkRelationSetFromCoreObject):
147306        (isRootObject):
147307        (atkParentOfRootObject):
147308        (webkit_accessible_get_parent):
147309        (getNChildrenForTable):
147310        (webkit_accessible_get_n_children):
147311        (getChildForTable):
147312        (webkit_accessible_ref_child):
147313        (getIndexInParentForCellInRow):
147314        (webkit_accessible_get_index_in_parent):
147315        (addAttributeToSet):
147316        (webkit_accessible_get_attributes):
147317        (atkRole):
147318        (webkit_accessible_get_role):
147319        (selectionBelongsToObject):
147320        (isTextWithCaret):
147321        (setAtkStateSetFromCoreObject):
147322        (webkit_accessible_ref_state_set):
147323        (webkit_accessible_ref_relation_set):
147324        (webkit_accessible_init):
147325        (webkit_accessible_finalize):
147326        (webkit_accessible_class_init):
147327        (webkit_accessible_get_type):
147328        (webkit_accessible_action_do_action):
147329        (webkit_accessible_action_get_n_actions):
147330        (webkit_accessible_action_get_description):
147331        (webkit_accessible_action_get_keybinding):
147332        (webkit_accessible_action_get_name):
147333        (atk_action_interface_init):
147334        (listObjectForSelection):
147335        (optionFromList):
147336        (optionFromSelection):
147337        (webkit_accessible_selection_add_selection):
147338        (webkit_accessible_selection_clear_selection):
147339        (webkit_accessible_selection_ref_selection):
147340        (webkit_accessible_selection_get_selection_count):
147341        (webkit_accessible_selection_is_child_selected):
147342        (webkit_accessible_selection_remove_selection):
147343        (webkit_accessible_selection_select_all_selection):
147344        (atk_selection_interface_init):
147345        (utf8Substr):
147346        (convertUniCharToUTF8):
147347        (textForRenderer):
147348        (textForObject):
147349        (webkit_accessible_text_get_text):
147350        (getGailTextUtilForAtk):
147351        (getPangoLayoutForAtk):
147352        (webkit_accessible_text_get_text_after_offset):
147353        (webkit_accessible_text_get_text_at_offset):
147354        (webkit_accessible_text_get_text_before_offset):
147355        (webkit_accessible_text_get_character_at_offset):
147356        (webkit_accessible_text_get_caret_offset):
147357        (baselinePositionForRenderObject):
147358        (getAttributeSetForAccessibilityObject):
147359        (compareAttribute):
147360        (attributeSetDifference):
147361        (accessibilityObjectLength):
147362        (getAccessibilityObjectForOffset):
147363        (getRunAttributesFromAccesibilityObject):
147364        (webkit_accessible_text_get_run_attributes):
147365        (webkit_accessible_text_get_default_attributes):
147366        (textExtents):
147367        (webkit_accessible_text_get_character_extents):
147368        (webkit_accessible_text_get_range_extents):
147369        (webkit_accessible_text_get_character_count):
147370        (webkit_accessible_text_get_offset_at_point):
147371        (getSelectionOffsetsForObject):
147372        (webkit_accessible_text_get_n_selections):
147373        (webkit_accessible_text_get_selection):
147374        (webkit_accessible_text_add_selection):
147375        (webkit_accessible_text_set_selection):
147376        (webkit_accessible_text_remove_selection):
147377        (webkit_accessible_text_set_caret_offset):
147378        (atk_text_interface_init):
147379        (webkit_accessible_editable_text_set_run_attributes):
147380        (webkit_accessible_editable_text_set_text_contents):
147381        (webkit_accessible_editable_text_insert_text):
147382        (webkit_accessible_editable_text_copy_text):
147383        (webkit_accessible_editable_text_cut_text):
147384        (webkit_accessible_editable_text_delete_text):
147385        (webkit_accessible_editable_text_paste_text):
147386        (atk_editable_text_interface_init):
147387        (contentsToAtk):
147388        (atkToContents):
147389        (webkit_accessible_component_ref_accessible_at_point):
147390        (webkit_accessible_component_get_extents):
147391        (webkit_accessible_component_grab_focus):
147392        (atk_component_interface_init):
147393        (webkit_accessible_image_get_image_position):
147394        (webkit_accessible_image_get_image_description):
147395        (webkit_accessible_image_get_image_size):
147396        (atk_image_interface_init):
147397        (cell):
147398        (cellIndex):
147399        (cellAtIndex):
147400        (webkit_accessible_table_ref_at):
147401        (webkit_accessible_table_get_index_at):
147402        (webkit_accessible_table_get_column_at_index):
147403        (webkit_accessible_table_get_row_at_index):
147404        (webkit_accessible_table_get_n_columns):
147405        (webkit_accessible_table_get_n_rows):
147406        (webkit_accessible_table_get_column_extent_at):
147407        (webkit_accessible_table_get_row_extent_at):
147408        (webkit_accessible_table_get_column_header):
147409        (webkit_accessible_table_get_row_header):
147410        (webkit_accessible_table_get_caption):
147411        (webkit_accessible_table_get_column_description):
147412        (webkit_accessible_table_get_row_description):
147413        (atk_table_interface_init):
147414        (webkitAccessibleHypertextGetLink):
147415        (webkitAccessibleHypertextGetNLinks):
147416        (webkitAccessibleHypertextGetLinkIndex):
147417        (atkHypertextInterfaceInit):
147418        (webkitAccessibleHyperlinkImplGetHyperlink):
147419        (atkHyperlinkImplInterfaceInit):
147420        (documentAttributeValue):
147421        (webkit_accessible_document_get_attribute_value):
147422        (webkit_accessible_document_get_attributes):
147423        (webkit_accessible_document_get_locale):
147424        (atk_document_interface_init):
147425        (webkitAccessibleValueGetCurrentValue):
147426        (webkitAccessibleValueGetMaximumValue):
147427        (webkitAccessibleValueGetMinimumValue):
147428        (webkitAccessibleValueSetCurrentValue):
147429        (webkitAccessibleValueGetMinimumIncrement):
147430        (atkValueInterfaceInit):
147431        (GetAtkInterfaceTypeFromWAIType):
147432        (getInterfaceMaskFromObject):
147433        (getUniqueAccessibilityTypeName):
147434        (getAccessibilityTypeFromObject):
147435        (webkit_accessible_new):
147436        (webkit_accessible_get_accessibility_object):
147437        (webkit_accessible_detach):
147438        (webkit_accessible_get_focused_element):
147439        (objectFocusedAndCaretOffsetUnignored):
147440        * accessibility/gtk/WebKitAccessibleWrapperAtk.h: Renamed from
147441        Source/WebCore/accessibility/gtk/AccessibilityObjectWrapperAtk.h.
147442
147443        Update the include for the AccessibilityObject wrapper header.
147444
147445        * accessibility/gtk/AXObjectCacheAtk.cpp: Update include.
147446        * accessibility/gtk/WebKitAccessibleHyperlink.cpp: Ditto.
147447        * accessibility/gtk/WebKitAccessibleHyperlink.h: Ditto.
147448        * editing/gtk/FrameSelectionGtk.cpp:
147449
147450        Update filename for the ATK wrapper in build files.
147451
147452        * GNUmakefile.list.am: Updated.
147453        * WebCore.gypi: Updated.
147454
1474552012-01-20  Pavel Feldman  <pfeldman@google.com>
147456
147457        Web Inspector: PageAgent.open() dosen't belong to the protocol.
147458        https://bugs.webkit.org/show_bug.cgi?id=74790
147459
147460        Reviewed by Yury Semikhatsky.
147461
147462        * inspector/Inspector.json:
147463        * inspector/InspectorFrontendClient.h:
147464        * inspector/InspectorFrontendClientLocal.cpp:
147465        (WebCore::InspectorFrontendClientLocal::openInNewTab):
147466        * inspector/InspectorFrontendClientLocal.h:
147467        * inspector/InspectorFrontendHost.cpp:
147468        (WebCore::InspectorFrontendHost::openInNewTab):
147469        * inspector/InspectorFrontendHost.h:
147470        * inspector/InspectorFrontendHost.idl:
147471        * inspector/InspectorPageAgent.cpp:
147472        (WebCore::InspectorPageAgent::navigate):
147473        * inspector/InspectorPageAgent.h:
147474        * inspector/front-end/ImageView.js:
147475        (WebInspector.ImageView.prototype._openInNewTab):
147476        * inspector/front-end/InspectorFrontendHostStub.js:
147477        (.WebInspector.InspectorFrontendHostStub.prototype.openInNewTab):
147478        * inspector/front-end/NetworkPanel.js:
147479        (WebInspector.NetworkDataGridNode.prototype._openInNewTab):
147480        * inspector/front-end/ResourcesPanel.js:
147481        (WebInspector.FrameResourceTreeElement.prototype.ondblclick):
147482        * inspector/front-end/inspector.js:
147483        (WebInspector.openResource):
147484
1474852012-01-23  Ilya Tikhonovsky  <loislo@chromium.org>
147486
147487        Web Inspector: DetailedHeapSnapshot: Replace the list of retainers with the expandable tree (to get rid of cycles)
147488        https://bugs.webkit.org/show_bug.cgi?id=76813
147489
147490        Reviewed by Pavel Feldman.
147491
147492        * English.lproj/localizedStrings.js:
147493        * inspector/front-end/DetailedHeapshotGridNodes.js:
147494        (WebInspector.HeapSnapshotObjectNode):
147495        * inspector/front-end/DetailedHeapshotView.js:
147496        (WebInspector.HeapSnapshotContainmentDataGrid.prototype.setDataSource):
147497        (WebInspector.HeapSnapshotRetainmentDataGrid):
147498        (WebInspector.HeapSnapshotRetainmentDataGrid.prototype.reset):
147499        (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
147500        * inspector/front-end/HeapSnapshot.js:
147501        (WebInspector.HeapSnapshot.prototype.createRetainingEdgesProvider):
147502        (WebInspector.HeapSnapshotEdgesProvider):
147503        * inspector/front-end/HeapSnapshotProxy.js:
147504        (WebInspector.HeapSnapshotProxy.prototype.createEdgesProvider):
147505        (WebInspector.HeapSnapshotProxy.prototype.createRetainingEdgesProvider):
147506
1475072012-01-20  Andrey Kosyakov  <caseq@chromium.org>
147508
147509        Web Inspector: HAR pageref attributes are wrong and inconsistent with pages array
147510        https://bugs.webkit.org/show_bug.cgi?id=76398
147511
147512        Reviewed by Pavel Feldman.
147513
147514        - introduce a notion of LoadPage;
147515        - move page load times to LoadPage;
147516        - associate network resources with LoadPage;
147517        - export pages for all available resoruces to HAR, not just the last page;
147518        - use page ids, not document URLs in HAR entries to refer to pages;
147519        - use page URL as a title field of a HAR page;
147520
147521        * inspector/front-end/AuditsPanel.js:
147522        (WebInspector.AuditsPanel):
147523        * inspector/front-end/HAREntry.js:
147524        (WebInspector.HAREntry.prototype.build):
147525        (WebInspector.HAREntry.prototype.get responseCompression):
147526        (WebInspector.HARLog.prototype._buildPages):
147527        (WebInspector.HARLog.prototype._convertPage):
147528        (WebInspector.HARLog.prototype._pageEventTime):
147529        * inspector/front-end/NetworkLog.js:
147530        (WebInspector.NetworkLog):
147531        (WebInspector.NetworkLog.prototype._mainFrameNavigated):
147532        (WebInspector.NetworkLog.prototype._onResourceStarted):
147533        (WebInspector.Page):
147534        (WebInspector.Page.prototype.get id):
147535        (WebInspector.Page.prototype.get url):
147536        (WebInspector.Page.prototype.get contentLoadTime):
147537        (WebInspector.Page.prototype.set contentLoadTime):
147538        (WebInspector.Page.prototype.get loadTime):
147539        (WebInspector.Page.prototype.set loadTime):
147540        (WebInspector.Page.prototype.get startTime):
147541        (WebInspector.Page.prototype._bindResource):
147542        * inspector/front-end/NetworkManager.js:
147543        (WebInspector.NetworkDispatcher.prototype.requestServedFromMemoryCache):
147544        * inspector/front-end/Resource.js:
147545        (WebInspector.Resource.prototype.get page):
147546        (WebInspector.Resource.prototype.set page):
147547        * inspector/front-end/ResourceTreeModel.js:
147548        (WebInspector.ResourceTreeFrame):
147549        (WebInspector.ResourceTreeFrame.prototype.get page):
147550        (WebInspector.PageDispatcher.prototype.domContentEventFired):
147551        (WebInspector.PageDispatcher.prototype.loadEventFired):
147552
1475532012-01-22  Mario Sanchez Prada  <msanchez@igalia.com>
147554
147555        [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
147556        https://bugs.webkit.org/show_bug.cgi?id=76069
147557
147558        Reviewed by Martin Robinson.
147559
147560        Fix bug introduced with patch for Bug 72830.
147561
147562        * accessibility/AccessibilityObject.cpp:
147563        (WebCore::AccessibilityObject::isDescendantOfObject): New function,
147564        to check if an accessibility object is a descendant of other object.
147565        (WebCore::AccessibilityObject::isAncestorOfObject): New function,
147566        to check if an accessibility object is an ancestor of other object.
147567        * accessibility/AccessibilityObject.h:
147568
147569        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
147570        (webkit_accessible_text_get_caret_offset): Make sure to pass the
147571        right reference object to objectFocusedAndCaretOffsetUnignored.
147572        (objectFocusedAndCaretOffsetUnignored): Use positionBeforeNode
147573        instead of firstPositionInNode for calculating the begining of the
147574        range used to calculate the offsets. Ensure that the reference
147575        object is never a descendant of the actual object being returned.
147576
147577        * editing/gtk/FrameSelectionGtk.cpp:
147578        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
147579        Pass the right accessibility object associated with the current
147580        selection to objectFocusedAndCaretOffsetUnignored.
147581
1475822012-01-21  David Reveman  <reveman@chromium.org>
147583
147584        [Chromium] Incremental texture updates are not atomic.
147585        https://bugs.webkit.org/show_bug.cgi?id=72672
147586
147587        Reviewed by Adam Barth.
147588
147589        Use a new set of textures for each commit when incremental
147590        texture updates are enabled.
147591
147592        This patch is tested by the following unit test:
147593        - CCLayerTreeHostTestAtomicCommit.runMultiThread
147594
147595        * platform/graphics/chromium/ManagedTexture.cpp:
147596        (WebCore::ManagedTexture::ManagedTexture):
147597        (WebCore::ManagedTexture::steal):
147598        * platform/graphics/chromium/ManagedTexture.h:
147599        * platform/graphics/chromium/TiledLayerChromium.cpp:
147600        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
147601        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
147602        (WebCore::CCLayerTreeHost::initialize):
147603        (WebCore::CCLayerTreeHost::commitComplete):
147604        (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
147605        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
147606        (WebCore::CCSettings::CCSettings):
147607        * platform/graphics/chromium/cc/CCProxy.h:
147608        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
147609        (WebCore::CCSingleThreadProxy::partialTextureUpdateCapability):
147610        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
147611        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
147612        (WebCore::CCThreadProxy::partialTextureUpdateCapability):
147613        * platform/graphics/chromium/cc/CCThreadProxy.h:
147614
1476152012-01-21  Pablo Flouret  <pablof@motorola.com>
147616
147617        Add .url attribute alongside .URL in EventSource and WebSocket to comply with the specs but not break existing usage.
147618        https://bugs.webkit.org/show_bug.cgi?id=40899
147619
147620        Reviewed by Adam Barth.
147621
147622        Tests: fast/eventsource/eventsource-url-attribute.html
147623               http/tests/websocket/tests/hixie76/url-attribute.html
147624               http/tests/websocket/tests/hybi/url-attribute.html
147625
147626        * page/EventSource.idl:
147627        * websockets/WebSocket.idl:
147628
1476292012-01-21  Sheriff Bot  <webkit.review.bot@gmail.com>
147630
147631        Unreviewed, rolling out r105564.
147632        http://trac.webkit.org/changeset/105564
147633        https://bugs.webkit.org/show_bug.cgi?id=76792
147634
147635        Does not compile on Chromium Mac (Requested by abarth on
147636        #webkit).
147637
147638        * platform/graphics/chromium/ManagedTexture.cpp:
147639        * platform/graphics/chromium/ManagedTexture.h:
147640        * platform/graphics/chromium/TiledLayerChromium.cpp:
147641        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
147642        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
147643        (WebCore::CCLayerTreeHost::initialize):
147644        (WebCore::CCLayerTreeHost::commitComplete):
147645        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
147646        (WebCore::CCSettings::CCSettings):
147647        * platform/graphics/chromium/cc/CCProxy.h:
147648        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
147649        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
147650        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
147651        * platform/graphics/chromium/cc/CCThreadProxy.h:
147652
1476532012-01-20  Chris Marrin  <cmarrin@apple.com>
147654
147655        Implement hardware accelerated Brightness and contrast filters
147656        https://bugs.webkit.org/show_bug.cgi?id=75521
147657        https://bugs.webkit.org/show_bug.cgi?id=76719
147658
147659        Reviewed by Simon Fraser.
147660
147661        Implemented hardware accelerated brightness and contrast filters. This also fixes
147662        the bug where grayscale filter was accidentally never getting hardware accelerated.
147663        It also complies with proposed spec changes for the brightness filter to be additive 
147664        rather than multiplicative, according to https://bugs.webkit.org/show_bug.cgi?id=76719. 
147665        Had to make both fixes in the same patch because I had to change the allowed brightness
147666        values for the hardware version, so I had to change the software version as well.
147667
147668        Tests: css3/filters/effect-brightness-hw.html
147669               css3/filters/effect-contrast-hw.html
147670
147671        * css/CSSParser.cpp:
147672        (WebCore::CSSParser::parseBuiltinFilterArguments):
147673        * css/CSSStyleSelector.cpp:
147674        (WebCore::CSSStyleSelector::createFilterOperations):
147675        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
147676        (PlatformCALayer::setFilters):
147677        (PlatformCALayer::filtersCanBeComposited):
147678        * rendering/FilterEffectRenderer.cpp:
147679        (WebCore::FilterEffectRenderer::build):
147680
1476812012-01-21  Nikolas Zimmermann  <nzimmermann@rim.com>
147682
147683        <feImage> ignores preserveAspectRatio="none"
147684        https://bugs.webkit.org/show_bug.cgi?id=76780
147685
147686        Reviewed by Antti Koivisto.
147687
147688        preserveAspectRatio="none" was ignored in SVGFEImage. It always called transformRect() w/o checking
147689        whether it was supposed to transform the rect or not - move code from RenderSVGImage right into
147690        transformRect(), to do nothing if preserveAspectRatio="none" was given.
147691
147692        Test: svg/filters/feImage-preserveAspectratio.svg
147693
147694        * rendering/svg/RenderSVGImage.cpp:
147695        (WebCore::RenderSVGImage::paint):
147696        * svg/SVGPreserveAspectRatio.cpp:
147697        (WebCore::SVGPreserveAspectRatio::transformRect):
147698
1476992012-01-21  Jochen Eisinger  <jochen@chromium.org>
147700
147701        history.replaceState should update the HistoryItem to use a GET method if previously non-GET (POST)
147702        https://bugs.webkit.org/show_bug.cgi?id=76721
147703
147704        Reviewed by Mihai Parparita.
147705
147706        Tests: http/tests/history/replacestate-post-to-get-2.html
147707               http/tests/history/replacestate-post-to-get.html
147708
147709        * loader/HistoryController.cpp:
147710        (WebCore::HistoryController::replaceState):
147711
1477122012-01-21  Florin Malita  <fmalita@google.com>
147713
147714        Null dereference in SVGDocumentExtensions::removePendingResource when updating <use>'s href
147715        https://bugs.webkit.org/show_bug.cgi?id=69284
147716
147717        Reviewed by Nikolas Zimmermann.
147718
147719        Test: svg/custom/use-crash-pending-resource.svg
147720
147721        The crash is caused by assumptions in SVGUseElement that xlink:href is the only
147722        pending resource. This patch adds support for dealing with multiple pending resources.
147723
147724        * rendering/svg/RenderSVGResourceContainer.cpp:
147725        (WebCore::RenderSVGResourceContainer::registerResource):
147726        * svg/SVGDocumentExtensions.cpp:
147727        (WebCore::SVGDocumentExtensions::hasPendingResource):
147728        (WebCore::SVGDocumentExtensions::isElementPendingResources):
147729        (WebCore::SVGDocumentExtensions::isElementPendingResource):
147730        (WebCore::SVGDocumentExtensions::removePendingResourceForElement):
147731        * svg/SVGDocumentExtensions.h:
147732        * svg/SVGStyledElement.cpp:
147733        (WebCore::SVGStyledElement::buildPendingResourcesIfNeeded):
147734        (WebCore::SVGStyledElement::clearHasPendingResourcesIfPossible):
147735        Renamed SVGDocumentExtensions::hasPendingResources -> Renamed SVGDocumentExtensions::hasPendingResource.
147736        Renamed SVGDocumentExtensions::isElementInPendingResources -> SVGDocumentExtensions::isElementPendingResources.
147737        Added support for querying and removing pending resources for a specific element.
147738
147739        * svg/SVGUseElement.cpp:
147740        (WebCore::SVGUseElement::svgAttributeChanged):
147741        (WebCore::SVGUseElement::buildPendingResource):
147742        Refactored to support multiple pending resources.
147743
1477442012-01-21  Stephen Chenney  <schenney@chromium.org>
147745
147746        REGRESSION (Safari 5.0.5 - ToT): crash in SVG test http://dev.w3.org/SVG/profiles/1.1F2/test/harness/htmlObjectApproved/animate-elem-39-t.html
147747        https://bugs.webkit.org/show_bug.cgi?id=64671
147748
147749        Reviewed by Nikolas Zimmermann.
147750
147751        No new tests. This change is to fix crashes in existing tests.
147752
147753        * svg/animation/SVGSMILElement.cpp:
147754        (WebCore::SVGSMILElement::beginListChanged): If the new begin time is
147755        later than the current end time, and the event time is also after then
147756        end time (but we have not yet updated to that time) and the animation
147757        is active, we need to make the animation inactive explicitly.
147758
1477592012-01-21  Benjamin Poulain  <bpoulain@apple.com>
147760
147761        PopupMenuClient::multiple() should be const
147762        https://bugs.webkit.org/show_bug.cgi?id=76771
147763
147764        Reviewed by Kent Tamura.
147765
147766        * platform/PopupMenuClient.h:
147767        (WebCore::PopupMenuClient::multiple):
147768        * rendering/RenderMenuList.cpp:
147769        (WebCore::RenderMenuList::multiple):
147770        * rendering/RenderMenuList.h:
147771
1477722012-01-20  Mark Pilgrim  <pilgrim@chromium.org>
147773
147774        Switch indexeddb to use supplemental IDL for DOMWindow
147775        https://bugs.webkit.org/show_bug.cgi?id=76723
147776
147777        Reviewed by Adam Barth.
147778
147779        No new tests required, all existing tests pass.
147780
147781        * Modules/indexeddb: Added.
147782        * Modules/indexeddb/DOMWindowIndexedDatabase.cpp: Added. webkitIndexedDB() method previously in DOMWindow.cpp
147783        (WebCore::DOMWindowIndexedDatabase::DOMWindowIndexedDatabase):
147784        (WebCore::DOMWindowIndexedDatabase::~DOMWindowIndexedDatabase):
147785        (WebCore::DOMWindowIndexedDatabase::webkitIndexedDB):
147786        * Modules/indexeddb/DOMWindowIndexedDatabase.h: Added.
147787        * Modules/indexeddb/DOMWindowIndexedDatabase.idl: Added. attributes previously in DOMWindow.idl
147788        * WebCore.gyp/WebCore.gyp: add Modules/indexeddb/ directory
147789        * WebCore.gypi: add Modules/indexeddb/*
147790        * page/DOMWindow.cpp: remove webkitIndexedDB() method, add accessor methods for m_idbFactory
147791        (WebCore::DOMWindow::getIDBFactory):
147792        (WebCore::DOMWindow::setIDBFactory):
147793        * page/DOMWindow.h:
147794        * page/DOMWindow.idl:
147795
1477962012-01-20  David Levin  <levin@chromium.org>
147797
147798        Allow isContextThread to be called while in ~ScriptExecutionContext.
147799        https://bugs.webkit.org/show_bug.cgi?id=76756
147800
147801        Reviewed by Adam Barth.
147802
147803        It is possible for objects to get torn down or get called from ~ScriptExecutionContext
147804        and in turn call isContextThread. The resulting behavior is undefined. This change defines
147805        the behavior. I don't know of any places that do this but I have a test that is rarely
147806        failing due to isContextThread being false. This is my best guess as to why, and I
147807        don't see a reason to try to avoid calling isContextThread at this point.
147808
147809        No new functionality exposed so no new tests.
147810
147811        * dom/ScriptExecutionContext.h:
147812        (WebCore::ScriptExecutionContext::isContextThread):
147813
1478142012-01-20  Alexandre Elias  <aelias@google.com>
147815
147816        [chromium] Write unit tests for compositor-thread zooming
147817        https://bugs.webkit.org/show_bug.cgi?id=71529
147818
147819        Reviewed by James Robinson.
147820
147821        Add unit tests for pinch zoom and page scale animation.  Includes
147822        small cleanups in CCLayerTreeHostImpl for testability.
147823
147824        * platform/graphics/chromium/cc/CCInputHandler.h:
147825        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
147826        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
147827        (WebCore::CCLayerTreeHostImpl::setViewportSize):
147828        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
147829
1478302012-01-20  David Reveman  <reveman@chromium.org>
147831
147832        [Chromium] Incremental texture updates are not atomic.
147833        https://bugs.webkit.org/show_bug.cgi?id=72672
147834
147835        Reviewed by James Robinson.
147836
147837        Use a new set of textures for each commit when incremental
147838        texture updates are enabled.
147839
147840        This patch is tested by the following unit test:
147841        - CCLayerTreeHostTestAtomicCommit.runMultiThread
147842
147843        * platform/graphics/chromium/ManagedTexture.cpp:
147844        (WebCore::ManagedTexture::ManagedTexture):
147845        (WebCore::ManagedTexture::steal):
147846        * platform/graphics/chromium/ManagedTexture.h:
147847        * platform/graphics/chromium/TiledLayerChromium.cpp:
147848        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
147849        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
147850        (WebCore::CCLayerTreeHost::initialize):
147851        (WebCore::CCLayerTreeHost::commitComplete):
147852        (WebCore::CCLayerTreeHost::deleteTextureAfterCommit):
147853        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
147854        (WebCore::CCSettings::CCSettings):
147855        * platform/graphics/chromium/cc/CCProxy.h:
147856        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
147857        (WebCore::CCSingleThreadProxy::partialTextureUpdateCapability):
147858        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
147859        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
147860        (WebCore::CCThreadProxy::partialTextureUpdateCapability):
147861        * platform/graphics/chromium/cc/CCThreadProxy.h:
147862
1478632012-01-20  Chris Rogers  <crogers@google.com>
147864
147865        De-zippering incorrectly snaps to target gain
147866        https://bugs.webkit.org/show_bug.cgi?id=76741
147867
147868        Reviewed by Kenneth Russell.
147869
147870        * platform/audio/AudioBus.cpp:
147871
1478722012-01-20  Dana Jansens  <danakj@chromium.org>
147873
147874        [chromium] Partially filled pixels do not occlude pixels below them.
147875        https://bugs.webkit.org/show_bug.cgi?id=76658
147876
147877        Reviewed by James Robinson.
147878
147879        Test: compositing/culling/tile-occlusion-boundaries.html
147880
147881        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
147882        (WebCore::enclosedIntRect):
147883        (WebCore::CCQuadCuller::cullOccludedQuads):
147884
1478852012-01-20  Ami Fischman  <fischman@chromium.org>
147886
147887        Small cleanup of {get,put}CurrentFrame for  WebMediaPlayerClientImpl/CCVideoLayerImpl.
147888        https://bugs.webkit.org/show_bug.cgi?id=76332
147889
147890        Reviewed by James Robinson.
147891
147892        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
147893        (WebCore::CCVideoLayerImpl::draw):
147894
1478952012-01-20  Brady Eidson  <beidson@apple.com>
147896
147897        <rdar://problem/9328684> and https://bugs.webkit.org/show_bug.cgi?id=62764
147898        Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
147899
147900        Reviewed by Sam Weinig.
147901
147902        No way to reproduce without special malloc debugging and that doesn't even reproduce on all platforms.  So still no test.
147903
147904        * loader/DocumentLoader.cpp:
147905        (WebCore::DocumentLoader::detachFromFrame): Protect m_frame for the duration of this method.
147906
1479072012-01-20  Alexey Proskuryakov  <ap@apple.com>
147908
147909        WebCore should not send invalid URLs to client createWindow methods.
147910        https://bugs.webkit.org/show_bug.cgi?id=39017
147911
147912        Unreviewed test fix.
147913
147914        * page/DOMWindow.cpp: (WebCore::DOMWindow::createWindow): Let empty URLs through.
147915
1479162012-01-20  Sam Weinig  <sam@webkit.org>
147917
147918        Make WebCore RunLoop work for WebKit1
147919        https://bugs.webkit.org/show_bug.cgi?id=76739
147920
147921        Reviewed by Anders Carlsson.
147922
147923        * platform/RunLoop.cpp:
147924        Specialize RunLoop initialization for Mac, where it can happen on any thread.
147925        
147926        * platform/RunLoop.h:
147927        Add RunLoop constructor that takes a CFRunLoopRef on the mac for initializing
147928        the main thread.
147929
147930        * platform/mac/RunLoopMac.mm:
147931        (WebCore::RunLoop::initializeMainRunLoop):
147932        Add new implementation that can work from any thread (and multiple threads at the
147933        same time if necessary).
147934
147935        (WebCore::RunLoop::current):
147936        Treat the main thread specially, not storing it in thread specific data.
147937
147938        (WebCore::RunLoop::main):
147939        Copy main accessor since it needs access to the file static.
147940
147941        (WebCore::RunLoop::RunLoop):
147942        Add constructor which takes a CFRunLoopRef.
147943
1479442012-01-20  Tim Horton  <timothy_horton@apple.com>
147945
147946        Crash in RenderSVGResourceContainer::markAllClientsForInvalidation
147947        https://bugs.webkit.org/show_bug.cgi?id=76606
147948        <rdar://problem/10720970>
147949
147950        Reviewed by Dirk Schulze.
147951
147952        Notify SVGResourcesCache and superclass when RenderSVGInline is about
147953        to be destroyed, preventing a crash.
147954
147955        Test: svg/custom/crash-inline-container-client.html
147956
147957        * rendering/svg/RenderSVGInline.cpp:
147958        (WebCore::RenderSVGInline::willBeDestroyed):
147959        * rendering/svg/RenderSVGInline.h:
147960
1479612012-01-20  Alexey Proskuryakov  <ap@apple.com>
147962
147963        WebCore should not send invalid URLs to client createWindow methods.
147964        https://bugs.webkit.org/show_bug.cgi?id=39017
147965
147966        Reviewed by Sam Weinig.
147967
147968        Test: fast/dom/window/open-invalid-url.html
147969
147970        * page/DOMWindow.cpp: (WebCore::DOMWindow::createWindow): Bail out early for invalid URLs.
147971
1479722012-01-20  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
147973
147974        Remove unused variable in RenderReplaced after r105513
147975        https://bugs.webkit.org/show_bug.cgi?id=76742
147976
147977        Reviewed by Daniel Bates.
147978
147979        * rendering/RenderReplaced.cpp:
147980        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
147981        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
147982
1479832012-01-20  Jonathan Backer  <backer@chromium.org>
147984
147985        [chromium] Plumb damage from accelerated canvas 2D.
147986        https://bugs.webkit.org/show_bug.cgi?id=76728
147987
147988        Reviewed by Kenneth Russell.
147989
147990        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
147991        (WebCore::Canvas2DLayerChromium::contentChanged):
147992
1479932012-01-20  Julien Chaffraix  <jchaffraix@webkit.org>
147994
147995        Crash in RenderTable::borderBefore
147996        https://bugs.webkit.org/show_bug.cgi?id=75215
147997
147998        Reviewed by David Hyatt.
147999
148000        Test: fast/table/crash-beforeBorder-dirty-section.html
148001
148002        This is a regression from r97661 that added some calls to get the object's borders but tables are a
148003        special case and they may need to recompute some sections' pointers.
148004
148005        The whole sections' pointers lazy recomputation logic is unfortunately far from being bullet proof and
148006        this change is only a mitigation for the current crash.
148007
148008        * rendering/RenderTable.cpp:
148009        (WebCore::RenderTable::borderBefore):
148010        (WebCore::RenderTable::borderAfter):
148011        Make sure we recompute our sections. The change was made here to avoid hitting the
148012        path used inside the table code (ie outerBorder{Before|After}) that shouldn't be
148013        affected.
148014
148015        * rendering/RenderTable.h:
148016        (WebCore::RenderTable::topSection):
148017        Added an ASSERT to catch more bad use in the future.
148018
1480192012-01-20  Marc-Andre Decoste  <mad@chromium.org>
148020
148021        Add proper offset to position right click to simulate a context menu invocation.
148022        https://bugs.webkit.org/show_bug.cgi?id=76421
148023
148024        Reviewed by Ojan Vafai.
148025
148026        Manual tests only because DRT doesn't support context menu key.
148027
148028        * page/EventHandler.cpp:
148029        (WebCore::EventHandler::sendContextMenuEventForKey):
148030
1480312012-01-20  Sheriff Bot  <webkit.review.bot@gmail.com>
148032
148033        Unreviewed, rolling out r105426.
148034        http://trac.webkit.org/changeset/105426
148035        https://bugs.webkit.org/show_bug.cgi?id=76726
148036
148037        Might have caused a 20% regression in the PLT (Requested by
148038        abarth|gardener on #webkit).
148039
148040        * rendering/RenderObject.h:
148041        (WebCore::RenderObject::style):
148042
1480432012-01-20  Sadrul Habib Chowdhury  <sadrul@chromium.org>
148044
148045        [chromium] Revert a couple of changes in fileapi/ that break tests in chromeos.
148046        https://bugs.webkit.org/show_bug.cgi?id=76718
148047
148048        Reviewed by Darin Fisher.
148049
148050        * fileapi/BlobURL.cpp:
148051        (WebCore::BlobURL::getIdentifier):
148052        (WebCore::BlobURL::createBlobURL):
148053        * fileapi/BlobURL.h:
148054        (WebCore::BlobURL::blobProtocol):
148055        * fileapi/DOMFileSystemBase.cpp:
148056        (WebCore::DOMFileSystemBase::crackFileSystemURL):
148057        * fileapi/DOMFileSystemBase.h:
148058        * fileapi/EntryBase.cpp:
148059        (WebCore::EntryBase::toURL):
148060        * fileapi/FileWriter.cpp:
148061        (WebCore::FileWriter::write):
148062        (WebCore::FileWriter::truncate):
148063        * page/DOMWindow.cpp:
148064        (WebCore::DOMWindow::webkitRequestFileSystem):
148065        * page/DOMWindow.h:
148066        * platform/AsyncFileSystem.cpp:
148067        * platform/AsyncFileSystem.h:
148068        * workers/WorkerContext.cpp:
148069        (WebCore::WorkerContext::webkitRequestFileSystem):
148070        (WebCore::WorkerContext::webkitRequestFileSystemSync):
148071
1480722012-01-20  Tim Dresser  <tdresser@chromium.org>
148073
148074        Refactor canvas drawing to be more data driven
148075        https://bugs.webkit.org/show_bug.cgi?id=76635
148076
148077        CCCanvasLayerImpl no longer handles drawing itself, but produces a list of CCCanvasDrawQuads.
148078        These quads are then drawn by LayerRendererChromium.
148079
148080        This is a refactor, so no new tests were added.
148081
148082        Reviewed by James Robinson.
148083
148084        * platform/graphics/chromium/LayerRendererChromium.cpp:
148085        (WebCore::LayerRendererChromium::drawCanvasQuad):
148086        * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp:
148087        (WebCore::CCCanvasDrawQuad::create):
148088        (WebCore::CCCanvasDrawQuad::CCCanvasDrawQuad):
148089        * platform/graphics/chromium/cc/CCCanvasDrawQuad.h:
148090        (WebCore::CCCanvasDrawQuad::textureId):
148091        (WebCore::CCCanvasDrawQuad::hasAlpha):
148092        (WebCore::CCCanvasDrawQuad::premultipliedAlpha):
148093        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
148094        (WebCore::CCCanvasLayerImpl::appendQuads):
148095        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
148096
1480972012-01-19  Abhishek Arya  <inferno@chromium.org>
148098
148099        Crash in xsltParseGlobalVariable.
148100        https://bugs.webkit.org/show_bug.cgi?id=75978
148101
148102        Reviewed by Andreas Kling.
148103
148104        The code missed to reset the stylesheet pointer after we fail
148105        to compile the XSLT stylesheet. As a result, the stylesheet gets
148106        reused with a removed document in the next transformToFragment call.
148107
148108        Test: fast/xsl/xslt-transform-to-fragment-crash.html
148109
148110        * xml/XSLTProcessorLibxslt.cpp:
148111        (WebCore::XSLTProcessor::transformToString):
148112
1481132012-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>
148114
148115        REGRESSION (r98852): apple.com navigation bar is broken under full-page zoom
148116        https://bugs.webkit.org/show_bug.cgi?id=76249
148117
148118        Reviewed by Andreas Kling.
148119
148120        Fix regression with full-page zoom & border-image. paintNinePieceImage() expects local, unzoomed coordinates.
148121        Restore the behaviour as it was before r98852, fixing the regression.
148122
148123        Test: fast/borders/scaled-border-image.html
148124
148125        * rendering/RenderBoxModelObject.cpp:
148126        (WebCore::RenderBoxModelObject::paintNinePieceImage):
148127
1481282012-01-20  Mihnea Ovidenie  <mihnea@adobe.com>
148129
148130        [CSSRegion]Expose DOM interface for WebKitCSSRegionRule
148131        https://bugs.webkit.org/show_bug.cgi?id=73985
148132
148133        Reviewed by Antti Koivisto.
148134
148135        Start by exposing the interface and the cssRules attribute of type CSSRuleList.
148136        Test: fast/regions/webkit-region-rule.html
148137
148138        * CMakeLists.txt:
148139        * DerivedSources.cpp:
148140        * DerivedSources.make:
148141        * DerivedSources.pri:
148142        * GNUmakefile.list.am:
148143        * WebCore.gypi:
148144        * WebCore.vcproj/WebCore.vcproj:
148145        * WebCore.xcodeproj/project.pbxproj:
148146        * bindings/js/JSCSSRuleCustom.cpp:
148147        (WebCore::toJS):
148148        * bindings/objc/DOMCSS.mm:
148149        (kitClass):
148150        * bindings/v8/custom/V8CSSRuleCustom.cpp:
148151        (WebCore::toV8):
148152        * css/WebKitCSSRegionRule.cpp:
148153        * css/WebKitCSSRegionRule.h:
148154        * css/WebKitCSSRegionRule.idl:
148155        * page/DOMWindow.idl:
148156
1481572012-01-20  Nikolas Zimmermann  <nzimmermann@rim.com>
148158
148159        Differentiate between SVG/CSS width/height attributes/properties
148160        https://bugs.webkit.org/show_bug.cgi?id=76447
148161
148162        Reviewed by Antti Koivisto.
148163
148164        Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
148165        SVG width/height attributes and the CSS width/height properties. They need to be treated independently
148166        when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.
148167
148168        Fixes several bugs in the LayoutTests/svg/custom/*object*sizing tests, we now match Opera perfectly. FF still has some bugs, and IE9 as well.
148169
148170        * css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
148171        * rendering/RenderBox.h:
148172        (WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.
148173        * rendering/RenderBoxModelObject.cpp:
148174        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.
148175        * rendering/RenderImage.cpp:
148176        (WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
148177        (WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.
148178        * rendering/RenderImage.h: Ditto.
148179        * rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.
148180        (WebCore::firstContainingBlockWithLogicalWidth): Refactored.
148181        (WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
148182        (WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
148183        (WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
148184        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
148185        (WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.
148186        * rendering/RenderReplaced.h:
148187        * rendering/svg/RenderSVGRoot.cpp:
148188        (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation): Only determine the intrinsic size & ratio using the SVG width/height attributes, not the CSS width/height properties, as it's specified.
148189        (WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
148190        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
148191        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
148192        * rendering/svg/RenderSVGRoot.h:
148193        * rendering/svg/RenderSVGViewportContainer.h:
148194        (WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.
148195        * svg/SVGLengthContext.cpp:
148196        (WebCore::SVGLengthContext::determineViewport): Finally clean up this hell, and make it easy to understand. Only need to resolve lengths against either RenderSVGRoot or RenderSVGViewportContainer now.
148197        * svg/SVGSVGElement.cpp: 
148198        (WebCore::SVGSVGElement::viewport): Remove wrong code and disable this. Its not used, and we have no test coverage for it. Its current implementation didn't make any sense.
148199        (WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
148200        (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
148201        (WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
148202        (WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
148203        (WebCore::SVGSVGElement::currentViewportSize): Ditto.
148204        (WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport -  a direct transliteration from the spec.
148205        (WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
148206        (WebCore::SVGSVGElement::intrinsicWidth): Helper.
148207        (WebCore::SVGSVGElement::intrinsicHeight): Ditto.
148208        * svg/SVGSVGElement.h:
148209        * svg/graphics/SVGImage.cpp:
148210        (WebCore::SVGImage::size): Cleanup code.
148211        (WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
148212        (WebCore::SVGImage::hasRelativeHeight): Ditto.
148213        (WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.
148214        * svg/graphics/SVGImage.h:
148215
1482162012-01-20  Sami Kyostila  <skyostil@chromium.org>
148217
148218        window.innerWidth/Height should not include page scale
148219        https://bugs.webkit.org/show_bug.cgi?id=76555
148220
148221        The DOM attributes window.innerWidth and window.innerHeight should be in
148222        CSS pixels instead of device pixels. Currently the text zoom factor is
148223        cancelled out when calculating these values, but the same also needs to
148224        be done for the page scale.
148225
148226        There is an additional subtlety concerning frames/iframes since their
148227        visible content rectangle is already in (unscaled) CSS pixels. By using
148228        Frame::frameScaleFactor() we avoid unnecessarily cancelling out the page
148229        scale factor in this case.
148230
148231        Reviewed by Kenneth Rohde Christiansen.
148232
148233        Tests: fast/dom/iframe-inner-size-scaling.html
148234               fast/dom/window-inner-size-scaling.html
148235
148236        * page/DOMWindow.cpp:
148237        (WebCore::DOMWindow::innerHeight):
148238        (WebCore::DOMWindow::innerWidth):
148239
1482402012-01-20  Kinuko Yasuda  <kinuko@chromium.org>
148241
148242        Add DataTransferItems support for drag-and-drop'ed files and texts
148243        https://bugs.webkit.org/show_bug.cgi?id=76367
148244
148245        Reviewed by Tony Chang.
148246
148247        Per http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransfer-interface
148248        the new interface should also support drag-and-dropped files and texts in
148249        addition to pasted texts/images.  The user apps should also be able to add
148250        texts/files to the drag store by calling event.dataTransfer.items.add().
148251
148252        This patch adds drag-and-drop'ed items support in DataTransferItem and
148253        DataTransferItemList so that they work for dropped files and texts (as well as
148254        the copy-pasted texts/images).
148255
148256        This patch also adds customized toJS()/toV8() code to Blob/File javascript
148257        binding so that the JS code can get either Blob or File underlying object
148258        where the API returns Blob. This change is necessary since we return Blob
148259        from DataTransferItem.getAsFile() for pasted images but want to return File
148260        for dropped files.
148261
148262        Tests: editing/pasteboard/data-transfer-items-drag-drop-file.html
148263               editing/pasteboard/data-transfer-items-drag-drop-string.html
148264
148265        * GNUmakefile.list.am: Added entries for the new {JS,V8}BlobCustom.
148266        * Target.pri: Ditto.
148267        * UseJSC.cmake: Ditto.
148268        * WebCore.gypi: Ditto.
148269        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
148270        * bindings/js/JSBlobCustom.cpp: Added toJS custom code that returns File or
148271        Blob depending on the return value of isFile().
148272        (WebCore::toJS):
148273        * bindings/v8/custom/V8BlobCustom.cpp: Added toV8 custom code.
148274        (WebCore::toV8):
148275        * dom/DataTransferItem.h: Added a new create() method which takes File.
148276        * dom/DataTransferItemList.cpp: Added add(File) method.
148277        (WebCore::DataTransferItemList::add):
148278        * dom/DataTransferItemList.h: Ditto.
148279        * dom/DataTransferItemList.idl: Ditto.
148280        * fileapi/Blob.idl: Added CustomToJS for toJS/toV8.
148281        * platform/chromium/ClipboardChromium.cpp: Added code for drag-and-drop'ed items.
148282        (WebCore::ClipboardChromium::items): Revised.
148283        (WebCore::ClipboardChromium::mayUpdateItems): Added.
148284        (WebCore::ClipboardChromium::isStorageUpdated): Added.
148285        * platform/chromium/ClipboardChromium.h:
148286        * platform/chromium/DataTransferItemChromium.cpp: Added a new constructor that
148287        takes File and updated getAsFile() to make it support dropped files.
148288        (WebCore::DataTransferItem::create):
148289        (WebCore::DataTransferItemChromium::DataTransferItemChromium):
148290        (WebCore::DataTransferItemChromium::getAsFile):
148291        * platform/chromium/DataTransferItemChromium.h:
148292        * platform/chromium/DataTransferItemListChromium.cpp:
148293        (WebCore::DataTransferItemListChromium::addInternalItem):
148294        * platform/chromium/DataTransferItemListChromium.cpp: Added overrides implementation for m_item accessors to make them reflect the changes in the owner clipboard.
148295        (WebCore::DataTransferItemListChromium::length):
148296        (WebCore::DataTransferItemListChromium::item):
148297        (WebCore::DataTransferItemListChromium::deleteItem):
148298        (WebCore::DataTransferItemListChromium::clear):
148299        (WebCore::DataTransferItemListChromium::add):
148300        (WebCore::DataTransferItemListChromium::mayUpdateItems): Added.
148301        * platform/qt/DataTransferItemQt.cpp: Added a new constructor that takes File and updated
148302        getAsFile() to make it support dropped files.
148303        (WebCore::DataTransferItem::create):
148304        (WebCore::DataTransferItemQt::DataTransferItemQt):
148305        (WebCore::DataTransferItemQt::getAsFile):
148306        * platform/qt/DataTransferItemQt.h:
148307
1483082012-01-20  Alexis Menard  <alexis.menard@openbossa.org>
148309
148310        remove CSSBorderImageValue
148311        https://bugs.webkit.org/show_bug.cgi?id=75563
148312
148313        Reviewed by Tony Chang.
148314
148315        Remove CSSBorderImageValue as border-image is a shorthand therefore we don't
148316        need a dedicated CSS class type for it. CSSBorderImageValue was here for
148317        -webkit-border-image which is not a shorthand. This is the first step to move border-image
148318        close to a correct shorthand implementation while keeping -webkit-border-image being a regular
148319        CSS property.
148320
148321        No new tests : It's a refactor, existing tests should cover it.
148322
148323        * CMakeLists.txt:
148324        * GNUmakefile.list.am:
148325        * Target.pri:
148326        * WebCore.gypi:
148327        * WebCore.order:
148328        * WebCore.vcproj/WebCore.vcproj:
148329        * WebCore.xcodeproj/project.pbxproj:
148330        * css/CSSAllInOne.cpp:
148331        * css/CSSBorderImage.cpp: Added.
148332        (WebCore::createBorderImageValue):
148333        * css/CSSBorderImage.h: Added.
148334        * css/CSSBorderImageValue.cpp: Removed.
148335        * css/CSSBorderImageValue.h: Removed.
148336        * css/CSSComputedStyleDeclaration.cpp:
148337        (WebCore::valueForNinePieceImage):
148338        * css/CSSParser.cpp:
148339        (WebCore::BorderImageParseContext::commitBorderImage):
148340        * css/CSSStyleSelector.cpp:
148341        (WebCore::CSSStyleSelector::mapNinePieceImage):
148342        * css/CSSValue.cpp:
148343        (WebCore::CSSValue::addSubresourceStyleURLs):
148344        (WebCore::CSSValue::cssText):
148345        (WebCore::CSSValue::destroy):
148346        * css/CSSValue.h:
148347
1483482012-01-20  Hayato Ito  <hayato@chromium.org>
148349
148350        Add ShadowRoot.idl which is enabled by newly introduced SHADOW_DOM flag.
148351        https://bugs.webkit.org/show_bug.cgi?id=76353
148352
148353        Reviewed by Hajime Morita.
148354
148355        Add ShadowRoot.idl, which is enabled only on chromium port since this is
148356        under development feature.
148357        ShadowRoot.idl contains minimum API so that we can test it.
148358        Other APIs should be added on other changes so that we can isolate issues.
148359
148360        Test: fast/dom/shadow/shadow-root-js-api.html
148361
148362        * WebCore.gypi:
148363        * bindings/generic/RuntimeEnabledFeatures.cpp:
148364        * bindings/generic/RuntimeEnabledFeatures.h:
148365        (WebCore::RuntimeEnabledFeatures::shadowDOMEnabled):
148366        (WebCore::RuntimeEnabledFeatures::setShadowDOMEnabled):
148367        * dom/ShadowRoot.h:
148368        (WebCore::ShadowRoot::host):
148369        * dom/ShadowRoot.idl: Added.
148370        * testing/Internals.cpp:
148371        (WebCore::Internals::ensureShadowRoot):
148372        (WebCore::Internals::shadowRoot):
148373        * testing/Internals.h:
148374        * testing/Internals.idl:
148375
1483762012-01-19  Kent Tamura  <tkent@chromium.org>
148377
148378        Change LocalizedNumber interface
148379        https://bugs.webkit.org/show_bug.cgi?id=76613
148380
148381        Reviewed by Hajime Morita.
148382
148383        Change the functions of LocalizedNumber from:
148384          double parseLocalizedNumber(const String&);
148385          String formatLocalizedNumber(double, unsigned fractionDigits);
148386        To:
148387          String convertToLocalizedNumber(const String&, usnigned fractionDigits);
148388          String convertFromLocalizedNumber(const String&);
148389        in order that we can avoid conversion from/to a double value.
148390
148391        The fractionDigits argumetn of convertToLocalizedNumber() will be
148392        removed in the future.  We need it because we'd like to recycle the old
148393        functions to implement new functions for now and functions in
148394        LocalizedNumber can't call functions in HTMLParserIdioms.cpp.
148395
148396        No new tests because the change doesn't make any behavior change.
148397
148398        * html/NumberInputType.cpp:
148399        (WebCore::NumberInputType::visibleValue):
148400        Use convertToLocalizedNumber.
148401        (WebCore::NumberInputType::convertFromVisibleValue):
148402        Use convertFromLocalizedNumber.
148403        (WebCore::NumberInputType::isAcceptableValue): ditto.
148404        * platform/text/LocalizedNumber.h:
148405        Remove parseLocalizedNumber and formatLocalizedNumber, and
148406        introduce convertToLocalizedNumber and convertFromLocalizedNumber.
148407        * platform/text/LocalizedNumberICU.cpp:
148408        (WebCore::parseLocalizedNumber): Make this static.
148409        (WebCore::formatLocalizedNumber): Make this static.
148410        (WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
148411        (WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.
148412        * platform/text/LocalizedNumberNone.cpp:
148413        (WebCore::convertToLocalizedNumber):
148414        Implement this as a function returning the input string.
148415        (WebCore::convertFromLocalizedNumber): ditto.
148416        * platform/text/mac/LocalizedNumberMac.mm:
148417        (WebCore::parseLocalizedNumber): Make this static.
148418        (WebCore::formatLocalizedNumber): Make this static.
148419        (WebCore::convertToLocalizedNumber): Implement this with formatLocalizedNumber.
148420        (WebCore::convertFromLocalizedNumber): Implement this with parseLocalizedNumber.
148421
1484222012-01-19  Pavel Feldman  <pfeldman@google.com>
148423
148424        Web Inspector: problem with Ctrl - <arrows> shortcuts in Scripts panel
148425        https://bugs.webkit.org/show_bug.cgi?id=76622
148426
148427        Reviewed by Yury Semikhatsky.
148428
148429        * inspector/front-end/InspectorView.js:
148430        (WebInspector.InspectorView.prototype._keyDown):
148431        * inspector/front-end/TextViewer.js:
148432        (WebInspector.TextViewer.prototype.set readOnly):
148433        (WebInspector.TextViewer.prototype._cancelEditing):
148434        (WebInspector.TextViewer.prototype.wasShown):
148435        (WebInspector.TextViewer.prototype.willHide):
148436        * inspector/front-end/UIUtils.js:
148437        (WebInspector.isInEditMode):
148438        * inspector/front-end/inspector.js:
148439        (WebInspector.documentKeyDown):
148440
1484412012-01-19  Kaustubh Atrawalkar  <kaustubh@motorola.com> & Erik Arvidsson  <arv@chromium.org>
148442
148443        Migrate createObjectURL & revokeObjectURL to static (Class) methods.
148444        https://bugs.webkit.org/show_bug.cgi?id=74386
148445
148446        Reviewed by Adam Barth.
148447
148448        Test: fast/dom/DOMURL/check-instanceof-domurl-functions.html
148449        Already Existing -
148450            fast/files/revoke-blob-url.html
148451            fast/dom/window-domurl-crash.html
148452            fast/files/apply-blob-url-to-img.html
148453            fast/files/create-blob-url-crash.html
148454            fast/files/workers/inline-worker-via-blob-url.html
148455
148456        * html/DOMURL.cpp: Added HashMap for local static objects.
148457        (WebCore::PublicURLManager::PublicURLManager):
148458        (WebCore::PublicURLManager::contextDestroyed):
148459        (WebCore::PublicURLManager::blobURLs):
148460        (WebCore::PublicURLManager::streamURLs):
148461        (WebCore::publicURLManagerMap):
148462        (WebCore::publicURLManager):
148463        (WebCore::publicBlobURLs):
148464        (WebCore::publicStreamURLs):
148465        (WebCore::DOMURL::createObjectURL): Changed to static.
148466        (WebCore::DOMURL::revokeObjectURL): ditto.
148467        * html/DOMURL.h:
148468        (WebCore::DOMURL::create):
148469        (WebCore::DOMURL::~DOMURL):
148470        (WebCore::DOMURL::DOMURL):
148471        * html/DOMURL.idl:
148472        * page/DOMWindow.cpp: Removed object initialization for DOMURL.
148473        * page/DOMWindow.h: ditto.
148474        * page/DOMWindow.idl: ditto.
148475        * workers/WorkerContext.cpp: ditto.
148476        * workers/WorkerContext.h: ditto.
148477        * workers/WorkerContext.idl: ditto.
148478
1484792012-01-20  Alexandru Chiculita  <achicu@adobe.com>
148480
148481        CSS Shaders: Add a Settings flag to enable/disable CSS Shaders at runtime
148482        https://bugs.webkit.org/show_bug.cgi?id=76444
148483        
148484        Added setCSSCustomFilterEnabled/isCSSCustomFilterEnabled that is false by default.
148485        I've enabled it by default on Apple Mac, to make sure there's no behavior change. Anyway, CSS shaders need
148486        WebGL enabled, so it ends up being disabled by default.
148487
148488        Reviewed by Nikolas Zimmermann.
148489
148490        Test: css3/filters/effect-custom-disabled.html
148491
148492        * css/CSSParser.cpp:
148493        (WebCore::CSSParser::parseFilter):
148494            Do not parse the custom() function when shaders are disabled.
148495            
148496        * css/CSSStyleSelector.cpp:
148497        (WebCore::CSSStyleSelector::applyProperty):
148498            Do not overwrite the old style->filter() if parsing fails.
148499            
148500        (WebCore::CSSStyleSelector::createFilterOperations):
148501            Do not continue if one custom() filter fails to parse.
148502            
148503        * page/Settings.cpp:
148504        (WebCore::Settings::Settings):
148505        * page/Settings.h:
148506        (WebCore::Settings::setCSSCustomFilterEnabled):
148507        (WebCore::Settings::isCSSCustomFilterEnabled):
148508        * rendering/FilterEffectRenderer.cpp:
148509        (WebCore::isCSSCustomFilterEnabled):
148510        (WebCore::FilterEffectRenderer::build):
148511            Avoid creating the filter when shaders are disabled. It may happen to get here if shaders were disabled between parsing and rendering.
148512        
1485132012-01-19  Shinya Kawanaka  <shinyak@google.com>
148514
148515        Node::canHaveLightChildRendererWithShadow is not used anywhere.
148516        https://bugs.webkit.org/show_bug.cgi?id=76627
148517
148518        Reviewed by Darin Adler.
148519
148520        Since Node::canHaveLightChildRendererWithShadow is not overriden anywhere, and it returns always false.
148521        We can remove it.
148522
148523        No new tests, because no change in behavior.
148524
148525        * dom/Node.h:
148526        * dom/NodeRenderingContext.cpp:
148527        (WebCore::NodeRenderingContext::shouldCreateRenderer):
148528
1485292012-01-19  Kinuko Yasuda  <kinuko@chromium.org>
148530
148531        Cleanup: make constant variable names in fileapi/ conform to WebKit's coding guideline
148532        https://bugs.webkit.org/show_bug.cgi?id=76625
148533
148534        Reviewed by David Levin.
148535
148536        No new tests as this patch has no functional changes.
148537
148538        * fileapi/BlobURL.cpp:
148539        (WebCore::BlobURL::getIdentifier):
148540        (WebCore::BlobURL::createBlobURL):
148541        * fileapi/BlobURL.h:
148542        * fileapi/FileWriter.cpp:
148543        (WebCore::FileWriter::write):
148544        (WebCore::FileWriter::truncate):
148545        * platform/AsyncFileSystem.cpp:
148546        (WebCore::AsyncFileSystem::crackFileSystemURL):
148547        (WebCore::AsyncFileSystem::toURL):
148548        (WebCore::AsyncFileSystem::isAvailable):
148549        * platform/AsyncFileSystem.h:
148550
1485512012-01-18  Sam Weinig  <sam@webkit.org>
148552
148553        Move RunLoop to WebCore/platform
148554        https://bugs.webkit.org/show_bug.cgi?id=76471
148555
148556        Reviewed by Anders Carlsson.
148557
148558        * GNUmakefile.list.am:
148559        * Target.pri:
148560        * WebCore.exp.in:
148561        * WebCore.vcproj/WebCore.vcproj:
148562        * WebCore.xcodeproj/project.pbxproj:
148563        Add newly moved files.
148564
148565        * platform/RunLoop.cpp: Moved from Source/WebKit2/Platform/RunLoop.cpp.
148566        * platform/RunLoop.h: Moved from Source/WebKit2/Platform/RunLoop.h.
148567        * platform/gtk/RunLoopGtk.cpp: Moved from Source/WebKit2/Platform/gtk/RunLoopGtk.cpp.
148568        * platform/mac/RunLoopMac.mm: Moved from Source/WebKit2/Platform/mac/RunLoopMac.mm.
148569        * platform/qt/RunLoopQt.cpp: Moved from Source/WebKit2/Platform/qt/RunLoopQt.cpp.
148570        * platform/win/RunLoopWin.cpp: Moved from Source/WebKit2/Platform/win/RunLoopWin.cpp.
148571        Move the files.
148572
1485732012-01-19  Pablo Flouret  <pablof@motorola.com>
148574
148575        Fix inconsistent text selection behavior with option-shift-left/right/up/down.
148576        https://bugs.webkit.org/show_bug.cgi?id=75652
148577
148578        Reviewed by Enrica Casucci.
148579
148580        On Mac, selecting backwards by word, line or paragraph from the middle
148581        of some text, and then going forward leaves the caret back in the middle
148582        with no selection, instead of directly selecting to the other end of the
148583        word/line/paragraph (Unix/Windows behavior). Fix this by adding a new
148584        editing behavior to control whether the selection should go across the
148585        initial position of the caret directly or not in situations like the one
148586        outlined above.
148587
148588        Test: editing/selection/selection-extend-should-not-move-across-caret-on-mac.html
148589
148590        * editing/EditingBehavior.h:
148591        (WebCore::EditingBehavior::shouldExtendSelectionByWordOrLineAcrossCaret):
148592        * editing/FrameSelection.cpp:
148593        (WebCore::FrameSelection::modify):
148594
1485952012-01-19  Simon Fraser  <simon.fraser@apple.com>
148596
148597        Regression (r98735): Video chat moles in Gmail render incorrectly on Mac OS
148598        https://bugs.webkit.org/show_bug.cgi?id=75682
148599
148600        Reviewed by James Robinson.
148601        
148602        RenderLayerBacking::isSimpleContainerCompositingLayer() gave incorret
148603        results in the case where the layer itself was visibility:hidden, but
148604        where it had visible, non-composited descendant layers.
148605        
148606        Fix by breaking RenderLayerBacking::hasVisibleNonCompositingDescendants()
148607        into two methods, one that tests for renderers in this layer which
148608        render stuff (and are thus affected by visibility on this layer), and
148609        another which walks descendant, non-composited layers looking for those
148610        which are visible.
148611        
148612        Removed an early return in the "renderObject->node()->isDocumentNode()"
148613        clause, because we want to run the same code that we run for non-document
148614        nodes.
148615
148616        Test: compositing/visibility/layer-visible-content.html
148617
148618        * rendering/RenderLayerBacking.cpp:
148619        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer):
148620        (WebCore::RenderLayerBacking::containsNonEmptyRenderers):
148621        (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendantLayers):
148622        * rendering/RenderLayerBacking.h:
148623
1486242012-01-19  Alexandre Elias  <aelias@google.com>
148625
148626        [chromium] Draw gutter quads outside root content layer
148627        https://bugs.webkit.org/show_bug.cgi?id=76328
148628
148629        Reviewed by James Robinson.
148630
148631        Add new layer property "backgroundCoversViewport".  If the content
148632        layers don't fully cover the render surface, this code calculates the
148633        difference between the root clip rect and the root content layer and
148634        draws up to four background-color quads in exactly the area that would
148635        be undrawn.
148636
148637        Test: CCTiledLayerImplTest::backgroundCoversViewport
148638
148639        * platform/graphics/chromium/LayerChromium.cpp:
148640        (WebCore::LayerChromium::LayerChromium):
148641        (WebCore::LayerChromium::setBackgroundCoversViewport):
148642        (WebCore::LayerChromium::pushPropertiesTo):
148643        * platform/graphics/chromium/LayerChromium.h:
148644        (WebCore::LayerChromium::backgroundCoversViewport):
148645        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
148646        (WebCore::CCLayerImpl::CCLayerImpl):
148647        (WebCore::CCLayerImpl::setBackgroundCoversViewport):
148648        * platform/graphics/chromium/cc/CCLayerImpl.h:
148649        (WebCore::CCLayerImpl::backgroundCoversViewport):
148650        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
148651        (WebCore::CCTiledLayerImpl::appendQuads):
148652
1486532012-01-19  Cary Clark  <caryclark@google.com>
148654
148655        [Skia Mac] Match style of platform error underline for misspellings
148656        https://bugs.webkit.org/show_bug.cgi?id=76556
148657
148658        Reviewed by Stephen White.
148659
148660        Add Darwin-specific code in Skia to draw the error underline so that
148661        it matches the CoreGraphics style.
148662
148663        Many existing layout tests inadvertantly trigger the misspelling
148664        underline by including the word 'foo' in an editable field. Those
148665        tests are temporarily suppressed separately in an edit to
148666        test_expectations.txt.
148667
148668        * platform/graphics/skia/GraphicsContextSkia.cpp:
148669        (WebCore::GraphicsContext::drawLineForTextChecking):
148670
1486712012-01-19  No'am Rosenthal  <noam.rosenthal@nokia.com>
148672
148673        [Texmap] TextureMapper creates two many big intermediate surfaces
148674        https://bugs.webkit.org/show_bug.cgi?id=76336
148675
148676        Reviewed by Simon Hausmann.
148677
148678        The following has been done to optimize surface allocation:
148679        1. Instead of using a viewport-size surface, use a surface in the size of the layer's
148680           bounding rect and apply the transform after the content has been rendered into it.
148681        2. Avoid generating intermediate surface for occasions where they're not necessary,
148682           such as nested reflections without opacity.
148683        3. Releasing of textures from the pool is now implicit, based on refCount.
148684        4. Do not use intermediate surfaces for preserve-3d layers. This is in alignment with
148685           other ports.
148686
148687        Tests in LayoutTests/compositing/masks and LayoutTests/compositing/reflection cover this.
148688
148689        * platform/graphics/texmap/TextureMapper.cpp:
148690        (WebCore::TextureMapper::acquireTextureFromPool):
148691        * platform/graphics/texmap/TextureMapper.h:
148692        * platform/graphics/texmap/TextureMapperNode.cpp:
148693        (WebCore::TextureMapperNode::paintSelf):
148694        (WebCore::TextureMapperNode::paintSelfAndChildren):
148695        (WebCore::TextureMapperNode::intermediateSurfaceRect):
148696        (WebCore::TextureMapperNode::shouldPaintToIntermediateSurface):
148697        (WebCore::TextureMapperNode::isVisible):
148698        (WebCore::TextureMapperNode::paintSelfAndChildrenWithReplica):
148699        (WebCore::TextureMapperNode::paintRecursive):
148700        (WebCore::TextureMapperNode::syncCompositingStateSelf):
148701        (WebCore::TextureMapperNode::syncCompositingState):
148702        * platform/graphics/texmap/TextureMapperNode.h:
148703        (WebCore::TextureMapperPaintOptions::TextureMapperPaintOptions):
148704
1487052012-01-19  Eric Seidel  <eric@webkit.org>
148706
148707        Assertion failure in WebCore::HTMLFrameElementBase::insertedIntoDocument()
148708        https://bugs.webkit.org/show_bug.cgi?id=50312
148709
148710        Reviewed by Alexey Proskuryakov.
148711
148712        Removed the ASSERT and updated the comment.
148713
148714        Test: fast/frames/assert-on-insertedIntoDocument.html
148715
148716        * html/HTMLFrameElementBase.cpp:
148717        (WebCore::HTMLFrameElementBase::insertedIntoDocument):
148718
1487192012-01-19  James Robinson  <jamesr@chromium.org>
148720
148721        [chromium] Remove CCLayerDelegate, add ContentLayerDelegate for painting
148722        https://bugs.webkit.org/show_bug.cgi?id=76663
148723
148724        Reviewed by Kenneth Russell.
148725
148726        CCLayerDelegate used to be an interface with a half-dozen callbacks on it, but now it has only one call -
148727        paintContents() - and that one call is only valid for one subclass of LayerChromium, ContentLayerChromium. This
148728        removes the CCLayerDelegate pointer from LayerChromium and adds a ContentLayerDelegate for the paint call.
148729
148730        The majority of the code changes in this patch are removing the nil parameter from various places that construct
148731        LayerChromium instances. Also tightens the type of GraphicsLayerChromium::m_layer to ContentLayerChromium.
148732
148733        Refactoring/removing dead code, so no new tests.
148734
148735        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
148736        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
148737        * platform/graphics/chromium/CanvasLayerChromium.cpp:
148738        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
148739        * platform/graphics/chromium/CanvasLayerChromium.h:
148740        * platform/graphics/chromium/ContentLayerChromium.cpp:
148741        (WebCore::ContentLayerPainter::create):
148742        (WebCore::ContentLayerPainter::ContentLayerPainter):
148743        (WebCore::ContentLayerChromium::create):
148744        (WebCore::ContentLayerChromium::ContentLayerChromium):
148745        * platform/graphics/chromium/ContentLayerChromium.h:
148746        (WebCore::ContentLayerDelegate::~ContentLayerDelegate):
148747        (WebCore::ContentLayerChromium::clearDelegate):
148748        * platform/graphics/chromium/DrawingBufferChromium.cpp:
148749        (WebCore::DrawingBuffer::platformLayer):
148750        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
148751        (WebCore::GraphicsLayerChromium::~GraphicsLayerChromium):
148752        (WebCore::GraphicsLayerChromium::setContentsToImage):
148753        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
148754        (WebCore::GraphicsLayerChromium::setContentsToMedia):
148755        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
148756        * platform/graphics/chromium/GraphicsLayerChromium.h:
148757        * platform/graphics/chromium/ImageLayerChromium.cpp:
148758        (WebCore::ImageLayerChromium::create):
148759        (WebCore::ImageLayerChromium::ImageLayerChromium):
148760        * platform/graphics/chromium/ImageLayerChromium.h:
148761        * platform/graphics/chromium/LayerChromium.cpp:
148762        (WebCore::LayerChromium::create):
148763        (WebCore::LayerChromium::LayerChromium):
148764        * platform/graphics/chromium/LayerChromium.h:
148765        * platform/graphics/chromium/PluginLayerChromium.cpp:
148766        (WebCore::PluginLayerChromium::create):
148767        (WebCore::PluginLayerChromium::PluginLayerChromium):
148768        * platform/graphics/chromium/PluginLayerChromium.h:
148769        * platform/graphics/chromium/TiledLayerChromium.cpp:
148770        (WebCore::TiledLayerChromium::TiledLayerChromium):
148771        (WebCore::TiledLayerChromium::drawsContent):
148772        * platform/graphics/chromium/TiledLayerChromium.h:
148773        * platform/graphics/chromium/VideoLayerChromium.cpp:
148774        (WebCore::VideoLayerChromium::create):
148775        (WebCore::VideoLayerChromium::VideoLayerChromium):
148776        * platform/graphics/chromium/VideoLayerChromium.h:
148777        * platform/graphics/chromium/WebGLLayerChromium.cpp:
148778        (WebCore::WebGLLayerChromium::create):
148779        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
148780        * platform/graphics/chromium/WebGLLayerChromium.h:
148781
1487822012-01-19  Greg Billock  <gbillock@google.com>
148783
148784        [Coverity] Fix uninitialized constructor defects in .../html
148785        https://bugs.webkit.org/show_bug.cgi?id=74965
148786
148787        Reviewed by Simon Fraser.
148788
148789        Test: fast/canvas/script-tests/canvas-webkitLineDash.js
148790
148791        * html/HTMLFormCollection.cpp:
148792        (WebCore::HTMLFormCollection::HTMLFormCollection):
148793        * html/StepRange.cpp:
148794        (WebCore::StepRange::StepRange):
148795        * html/canvas/CanvasRenderingContext2D.cpp:
148796        (WebCore::CanvasRenderingContext2D::State::State):
148797        * html/canvas/CanvasStyle.h:
148798        (WebCore::CanvasStyle::CMYKAValues::CMYKAValues):
148799        * html/canvas/WebGLGetInfo.cpp:
148800        (WebCore::WebGLGetInfo::WebGLGetInfo):
148801        * html/parser/CSSPreloadScanner.cpp:
148802        (WebCore::CSSPreloadScanner::CSSPreloadScanner):
148803        * html/track/WebVTTParser.cpp:
148804        (WebCore::WebVTTParser::WebVTTParser):
148805
1488062012-01-19  Alexandru Chiculita  <achicu@adobe.com>
148807
148808        CSS Shaders: Remove the setTimeout from the layout tests
148809        https://bugs.webkit.org/show_bug.cgi?id=76535
148810
148811        Reviewed by Tony Chang.
148812
148813        We had setTimeout on old tests because the snapshot picture was taken too early, before the shaders were loaded.
148814        The problem was that the RenderLayer was notified that the shader was loaded only after the onload event was triggered,
148815        so a simple setTimeout(0) would have fixed the issue, but better than that would be to to always call CachedResource::data 
148816        in CachedShader::data, which notifies the load earlier (before onload).
148817
148818        No new tests, just removed the setTimeout from old ones.
148819
148820        * loader/cache/CachedShader.cpp:
148821        (WebCore::CachedShader::data):
148822
1488232012-01-19  Min Qin  <qinmin@google.com>
148824
148825        Improve touch handling performance by reusing the hitTest result
148826        https://bugs.webkit.org/show_bug.cgi?id=75506
148827
148828        Reviewed by Adam Barth.
148829
148830        This is a performance optimization and should not cause behavior changes. Existing tests should cover it.
148831
148832        * page/EventHandler.cpp:
148833        (WebCore::EventHandler::handleTouchEvent):
148834
1488352012-01-19  Jon Lee  <jonlee@apple.com>
148836
148837        Add text-overflow support that allows placeholder and value text to show an ellipsis when not focused
148838        https://bugs.webkit.org/show_bug.cgi?id=76118
148839        <rdar://problem/9271742>
148840
148841        Reviewed by Dan Bernstein.
148842
148843        Tests: fast/css/text-overflow-input-focus-placeholder-expected.html
148844               fast/css/text-overflow-input-focus-placeholder.html
148845               fast/css/text-overflow-input-focus-value-expected.html
148846               fast/css/text-overflow-input-focus-value.html
148847               fast/css/text-overflow-input.html
148848
148849        * rendering/RenderTextControlSingleLine.cpp:
148850        (WebCore::RenderTextControlSingleLine::styleDidChange): When the style of the text control
148851        changes, we update the text overflow property of the placeholder.
148852        (WebCore::RenderTextControlSingleLine::createInnerTextStyle): When the style of the text control
148853        changes, we update the text overflow property of the inner text block.
148854        (WebCore::RenderTextControlSingleLine::textShouldBeTruncated): The text of the value and placeholder should
148855        only contain the ellipsis if the input's text-overflow property is set to ellipsis, and the input is not focused.
148856        * rendering/RenderTextControlSingleLine.h:
148857
1488582012-01-19  Mark Hahnenberg  <mhahnenberg@apple.com>
148859
148860        Implement a new allocator for backing stores
148861        https://bugs.webkit.org/show_bug.cgi?id=75181
148862
148863        Reviewed by Filip Pizlo.
148864
148865        No new tests.
148866
148867        Added forwarding header for new CheckedBoolean used in the bump allocator.
148868
148869        * ForwardingHeaders/wtf/CheckedBoolean.h: Added.
148870
1488712012-01-13  Ryosuke Niwa  <rniwa@webkit.org>
148872
148873        Crash in CompositeEditCommand::ensureComposition
148874        https://bugs.webkit.org/show_bug.cgi?id=76207
148875
148876        Reviewed by Chang Shu.
148877
148878        The crash was caused by TypingCommand not kept alive when new editing commands are executed
148879        during adding more typings to the open last typing command since m_lastEditCommand is replaced
148880        by the new command. Fixed the bug by keeping them alive a little longer with RefPtr.
148881
148882        Test: editing/execCommand/editing-command-while-executing-typing-command-crash.html
148883
148884        * editing/FrameSelection.cpp:
148885        (WebCore::shouldStopBlinkingDueToTypingCommand):
148886        (WebCore::FrameSelection::updateAppearance):
148887        * editing/TypingCommand.cpp:
148888        (WebCore::TypingCommand::deleteSelection):
148889        (WebCore::TypingCommand::deleteKeyPressed):
148890        (WebCore::TypingCommand::forwardDeleteKeyPressed):
148891        (WebCore::TypingCommand::insertText):
148892        (WebCore::TypingCommand::insertLineBreak):
148893        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
148894        (WebCore::TypingCommand::insertParagraphSeparator):
148895        (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
148896        (WebCore::TypingCommand::closeTyping):
148897        * editing/TypingCommand.h:
148898
1488992012-01-19  Andreas Kling  <awesomekling@apple.com>
148900
148901        Unreviewed debug build fix.
148902
148903        Remove ASSERT that the cached match is cacheable (we don't store that flag anymore.)
148904
148905        * css/CSSStyleSelector.cpp:
148906        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
148907
1489082012-01-19  Robert Hogan  <robert@webkit.org>
148909
148910        Fix Debug build after r105433
148911
148912        Unreviewed, build fix.
148913
148914        * rendering/RenderTable.cpp:
148915        (WebCore::RenderTable::recalcCollapsedBorders):
148916
1489172012-01-19  Andreas Kling  <awesomekling@apple.com>
148918
148919        CSSStyleSelector: Factor 'isCacheable' flag out of MatchedResult.
148920        <http://webkit.org/b/76376>
148921
148922        Reviewed by Antti Koivisto.
148923
148924        Break up the MatchResult struct into MatchResult and MatchRanges. The matched
148925        declaration cache only needs the ranges, so we save 4 bytes per entry.
148926
148927        * css/CSSStyleSelector.cpp:
148928        (WebCore::CSSStyleSelector::matchAllRules):
148929        (WebCore::CSSStyleSelector::matchUARules):
148930        (WebCore::CSSStyleSelector::pseudoStyleForElement):
148931        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
148932        (WebCore::operator==):
148933        (WebCore::operator!=):
148934        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
148935        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
148936        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
148937        * css/CSSStyleSelector.h:
148938        (WebCore::CSSStyleSelector::MatchRanges::MatchRanges):
148939        (WebCore::CSSStyleSelector::MatchResult::MatchResult):
148940
1489412012-01-19  Eric Carlson  <eric.carlson@apple.com>
148942
148943        https://bugs.webkit.org/show_bug.cgi?id=75192
148944
148945        Reviewed by Darin Adler.
148946
148947        Notify the media element when tracks are added to and removed from a document instead of
148948        a tree because we don't want to trigger loading unless a track element is in the document.
148949
148950        Test: media/track/track-delete-during-setup.html
148951
148952        * html/HTMLMediaElement.cpp:
148953        (WebCore::HTMLMediaElement::trackWasRemoved): Renamed from trackWillBeRemoved because it is
148954            now called after removal.
148955        * html/HTMLMediaElement.h:
148956
148957        * html/HTMLTrackElement.cpp:
148958        (WebCore::HTMLTrackElement::insertedIntoDocument): Was insertedIntoTree. Use this instead
148959            because we care about when a track is inserted and removed from a document, not a tree.
148960        (WebCore::HTMLTrackElement::removedFromDocument): Ditto.
148961        * html/HTMLTrackElement.h:
148962
1489632012-01-18  Robert Hogan  <robert@webkit.org>
148964
148965        Hit ASSERTION FAILED: table()->collapseBorders() on techcrunch.com
148966        https://bugs.webkit.org/show_bug.cgi?id=76405
148967
148968        Reviewed by Julien Chaffraix.
148969
148970        Tests: fast/css/nested-table-with-collapsed-borders.html
148971
148972        Change recalcCollapsedBorders() so that it only collects border values for the current
148973        table. Calculating the borders for nested tables was wrong as well as wasting cycles, though it would never
148974        have impacted rendering since a cell only paints the borders that match its own.
148975
148976        * rendering/RenderTable.cpp:
148977        (WebCore::RenderTable::recalcCollapsedBorders):
148978
1489792012-01-18  Jer Noble  <jer.noble@apple.com>
148980
148981        Make WebAudio API const-correct.
148982        https://bugs.webkit.org/show_bug.cgi?id=76573
148983
148984        Reviewed by Daniel Bates.
148985
148986        No new tests; no net change in functionality, so covered by existing tests.
148987
148988        The non-const data() accessor was renamed mutableData() to expose const-correctness
148989        bugs during compile time:
148990        * platform/audio/AudioChannel.h:
148991        (WebCore::AudioChannel::mutableData):
148992
148993        The following functions were made const correct:
148994        * platform/audio/AudioArray.h:
148995        (WebCore::AudioArray::copyToRange):
148996        * platform/audio/AudioBus.h:
148997        (WebCore::AudioBus::createBufferFromRange):
148998        (WebCore::AudioBus::createBySampleRateConverting):
148999        (WebCore::AudioBus::createByMixingToMono):
149000        * platform/audio/FFTConvolver.cpp:
149001        (WebCore::FFTConvolver::process):
149002        * platform/audio/FFTConvolver.h:
149003        * platform/audio/FFTFrame.cpp:
149004        (WebCore::FFTFrame::doPaddedFFT):
149005        (WebCore::FFTFrame::doFFT):
149006        * platform/audio/FFTFrame.h:
149007        * platform/audio/ReverbConvolverStage.cpp:
149008        (WebCore::ReverbConvolverStage::ReverbConvolverStage):
149009        (WebCore::ReverbConvolverStage::process):
149010        * platform/audio/ReverbConvolverStage.h:
149011        * platform/audio/ReverbInputBuffer.cpp:
149012        (WebCore::ReverbInputBuffer::write):
149013        * platform/audio/ReverbInputBuffer.h:
149014        * platform/audio/SincResampler.cpp:
149015        (WebCore::SincResampler::process):
149016        * platform/audio/SincResampler.h:
149017        * platform/audio/ZeroPole.cpp:
149018        (WebCore::ZeroPole::process):
149019        * platform/audio/ZeroPole.h:
149020        * platform/audio/AudioBus.cpp:
149021        (WebCore::AudioBus::channelByType):
149022        * platform/audio/AudioBus.h:
149023        (WebCore::AudioBus::gain):
149024        * platform/audio/AudioDSPKernelProcessor.cpp:
149025        (WebCore::AudioDSPKernelProcessor::process):
149026        * platform/audio/AudioDSPKernelProcessor.h:
149027        * platform/audio/AudioProcessor.h:
149028        * platform/audio/DynamicsCompressor.cpp:
149029        (WebCore::DynamicsCompressor::process):
149030        * platform/audio/DynamicsCompressor.h:
149031        * platform/audio/DynamicsCompressorKernel.cpp:
149032        (WebCore::DynamicsCompressorKernel::process):
149033        * platform/audio/DynamicsCompressorKernel.h:
149034        * platform/audio/EqualPowerPanner.cpp:
149035        (WebCore::EqualPowerPanner::pan):
149036        * platform/audio/EqualPowerPanner.h:
149037        * platform/audio/HRTFElevation.h:
149038        (WebCore::HRTFElevation::numberOfAzimuths):
149039        * platform/audio/HRTFPanner.cpp:
149040        (WebCore::HRTFPanner::pan):
149041        * platform/audio/HRTFPanner.h:
149042        * platform/audio/Panner.h:
149043        * platform/audio/Reverb.cpp:
149044        (WebCore::Reverb::process):
149045        * platform/audio/Reverb.h:
149046        * platform/audio/ReverbConvolver.cpp:
149047        (WebCore::ReverbConvolver::process):
149048        * platform/audio/ReverbConvolver.h:
149049        * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
149050        (WebCore::FFTFrame::doFFT):
149051        * platform/audio/mkl/FFTFrameMKL.cpp:
149052        (WebCore::FFTFrame::doFFT):
149053
149054        The following functions were modified to use the renamed mutableData() accessor:
149055        * platform/audio/AudioBus.cpp:
149056        (WebCore::AudioBus::processWithGainFromMonoStereo):
149057        (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
149058        * platform/audio/AudioChannel.cpp:
149059        (WebCore::AudioChannel::scale):
149060        (WebCore::AudioChannel::copyFrom):
149061        (WebCore::AudioChannel::copyFromRange):
149062        (WebCore::AudioChannel::sumFrom):
149063        * platform/audio/AudioDSPKernelProcessor.cpp:
149064        (WebCore::AudioDSPKernelProcessor::process):
149065        * platform/audio/AudioResampler.cpp:
149066        (WebCore::AudioResampler::process):
149067        * platform/audio/DynamicsCompressor.cpp:
149068        (WebCore::DynamicsCompressor::process):
149069        * platform/audio/EqualPowerPanner.cpp:
149070        (WebCore::EqualPowerPanner::pan):
149071        * platform/audio/HRTFKernel.cpp:
149072        (WebCore::extractAverageGroupDelay):
149073        (WebCore::HRTFKernel::HRTFKernel):
149074        (WebCore::HRTFKernel::createImpulseResponse):
149075        * platform/audio/HRTFPanner.cpp:
149076        (WebCore::HRTFPanner::pan):
149077        * platform/audio/MultiChannelResampler.cpp:
149078        (WebCore::MultiChannelResampler::process):
149079        * platform/audio/Reverb.cpp:
149080        (WebCore::Reverb::process):
149081        * platform/audio/ReverbConvolver.cpp:
149082        (WebCore::ReverbConvolver::ReverbConvolver):
149083        (WebCore::ReverbConvolver::process):
149084        * platform/audio/mac/AudioFileReaderMac.cpp:
149085        (WebCore::AudioFileReader::createBus):
149086        * platform/audio/mac/FFTFrameMac.cpp:
149087        (WebCore::FFTFrame::doFFT):
149088        * webaudio/AudioBufferSourceNode.cpp:
149089        (WebCore::AudioBufferSourceNode::process):
149090        (WebCore::AudioBufferSourceNode::renderFromBuffer):
149091        * webaudio/BiquadProcessor.cpp:
149092        (WebCore::BiquadProcessor::process):
149093        * webaudio/JavaScriptAudioNode.cpp:
149094        (WebCore::JavaScriptAudioNode::process):
149095        * webaudio/OfflineAudioDestinationNode.cpp:
149096        (WebCore::OfflineAudioDestinationNode::render):
149097        * webaudio/RealtimeAnalyser.cpp:
149098        (WebCore::RealtimeAnalyser::writeInput):
149099        * webaudio/WaveShaperProcessor.cpp:
149100        (WebCore::WaveShaperProcessor::process):
149101
1491022012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
149103
149104        Unreviewed, inspector closure compilation fix.
149105
149106        * inspector/front-end/ScriptsPanel.js:
149107        * inspector/front-end/TabbedEditorContainer.js:
149108
1491092012-01-19  David Hyatt  <hyatt@apple.com>
149110
149111        https://bugs.webkit.org/show_bug.cgi?id=76644
149112
149113        Before landing support for centering, fix the keyword value to match the latest draft.
149114        The new keyword is "contain" instead of "bounds."
149115
149116        Revised the existing parsing tests to reflect the updated value.
149117
149118        Reviewed by Dan Bernstein.
149119
149120        * css/CSSParser.cpp:
149121        (WebCore::CSSParser::parseValue):
149122        * css/CSSPrimitiveValueMappings.h:
149123        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
149124        (WebCore::CSSPrimitiveValue::operator LineGridSnap):
149125        * css/CSSValueKeywords.in:
149126        * rendering/style/RenderStyleConstants.h:
149127
1491282012-01-19  Joi Sigurdsson  <joi@chromium.org>
149129
149130        Enable use of precompiled headers in Chromium port on Windows.
149131
149132        Bug 76381 - Use precompiled headers in Chromium port on Windows
149133        https://bugs.webkit.org/show_bug.cgi?id=76381
149134
149135        Reviewed by Tony Chang.
149136
149137        No new tests needed; if the change builds and existing tests pass
149138        that should provide enough coverage.
149139
149140        * WebCore.gyp/WebCore.gyp: Include WinPrecompile.gypi.
149141
1491422012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
149143
149144        Web Inspector: Switching tabs in TabbedEditorContainer should reveal selected script in navigator.
149145        https://bugs.webkit.org/show_bug.cgi?id=76636
149146
149147        Reviewed by Pavel Feldman.
149148
149149        Renamed FileSelector's ScriptSelected event into FileSelected, added EditorSelected
149150        event to EditorContainer.
149151        Renamed _showSourceFrame into _showFile.
149152        Made _uiSourceCodeRemoved reuse _removeSourceFrame.
149153
149154        * inspector/front-end/ScriptsNavigator.js:
149155        (WebInspector.ScriptsNavigator.prototype.scriptSelected):
149156        * inspector/front-end/ScriptsPanel.js:
149157        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
149158        (WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
149159        (WebInspector.ScriptsPanel.prototype._editorSelected):
149160        (WebInspector.ScriptsPanel.prototype._fileSelected):
149161        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
149162        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
149163        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
149164        * inspector/front-end/TabbedEditorContainer.js:
149165        (WebInspector.TabbedEditorContainer):
149166        (WebInspector.TabbedEditorContainer.prototype._tabSelected):
149167
1491682012-01-19  Mihnea Ovidenie  <mihnea@adobe.com>
149169
149170        [CSSRegions]Add support for background-color in region styling
149171        https://bugs.webkit.org/show_bug.cgi?id=71488
149172
149173        Reviewed by David Hyatt.
149174
149175        This patch enables region styling again. The region styling tests were also added back. 
149176        With the improvements from https://bugs.webkit.org/show_bug.cgi?id=76265, hopefully we will not see the same 3% regressions
149177        in performance.
149178
149179        * rendering/RenderObject.h:
149180        (WebCore::RenderObject::style):
149181
1491822012-01-16  Jer Noble  <jer.noble@apple.com>
149183
149184        Crash at WebCore::MediaControlRootElement::makeOpaque + 97
149185        https://bugs.webkit.org/show_bug.cgi?id=76391
149186
149187        Reviewed by John Sullivan.
149188
149189        No new tests; Speculative fix for crash.
149190
149191        Crash report data suggests this crash is occurring as the document is being
149192        closed.  Check the nullity of document()->page() before deref-ing.
149193
149194        * html/shadow/MediaControlElements.cpp:
149195        (WebCore::MediaControlPanelElement::makeOpaque):
149196
1491972012-01-19  Ken Buchanan <kenrb@chromium.org>
149198
149199        Layout Test fast/text/international/spaces-combined-in-vertical-text.html is failing
149200        https://bugs.webkit.org/show_bug.cgi?id=75787
149201
149202        Reviewed by Simon Fraser.
149203
149204        This is a tweak to my patch in r104322. On some platforms
149205        RenderCombineText::combineText() can abort early during inline
149206        iteration, causing this loop in skipLeadingWhitespace to spin,
149207        hence the layout test timeouts. This patch accounts for that
149208        condition and makes the loop iteration more robust.
149209
149210        No new test because this is fixing a failure on an existing test.
149211
149212        * rendering/RenderBlockLineLayout.cpp:
149213        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
149214
1492152012-01-19  Jer Noble  <jer.noble@apple.com>
149216
149217        HRTFPanner not rendering correctly on mac port
149218        https://bugs.webkit.org/show_bug.cgi?id=76397
149219
149220        Reviewed by Eric Carlson.
149221
149222        No new tests; HRTF results are currently not testable.
149223
149224        Re-generate the Composite.wav file from its constituent azimuth & elevation files.
149225
149226        * platform/audio/resources/Composite.wav:
149227
1492282012-01-19  David Hyatt  <hyatt@apple.com>
149229
149230        https://bugs.webkit.org/show_bug.cgi?id=76577
149231        
149232        Fix crash when nested line grids are used. Make sure to bail out if no line grid
149233        is found rather than crashing.
149234
149235        Reviewed by Dan Bernstein.
149236
149237        Added fast/line-grid/line-grid-nested.html.
149238
149239        * rendering/LayoutState.cpp:
149240        (WebCore::LayoutState::establishLineGrid):
149241
1492422012-01-18  Enrica Casucci  <enrica@apple.com>
149243
149244        editingAttributedStringFromRange in WebHTMLConverter does not handle NSUnderlineStyleAttributeName.
149245        https://bugs.webkit.org/show_bug.cgi?id=76588
149246        <rdar://problem/9325183>
149247
149248        Reviewed by Dan Bernstein.
149249
149250        Added TestWebKitAPI test.
149251
149252        * platform/mac/HTMLConverter.mm:
149253        (+[WebHTMLConverter editingAttributedStringFromRange:]):
149254
1492552012-01-18  Alexander Pavlov  <apavlov@chromium.org>
149256
149257        Web Inspector: Implement screen resolution emulation backend
149258        https://bugs.webkit.org/show_bug.cgi?id=76532
149259
149260        Reviewed by Pavel Feldman.
149261
149262        The emulation affects [min-|max-]device-(width|height) media queries, window.screen.(width|height),
149263        and window.inner(Width|Height).
149264
149265        Test: inspector/styles/override-screen-size.html
149266
149267        * css/MediaQueryEvaluator.cpp:
149268        (WebCore::device_heightMediaFeatureEval): Apply device-height override if necessary.
149269        (WebCore::device_widthMediaFeatureEval): Apply device-width override if necessary.
149270        * inspector/Inspector.json:
149271        * inspector/InspectorCSSAgent.cpp:
149272        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
149273        (WebCore::InspectorCSSAgent::startSelectorProfiler):
149274        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
149275        (WebCore::InspectorCSSAgent::willMatchRule):
149276        (WebCore::InspectorCSSAgent::didMatchRule):
149277        (WebCore::InspectorCSSAgent::willProcessRule):
149278        (WebCore::InspectorCSSAgent::didProcessRule):
149279        * inspector/InspectorInstrumentation.cpp:
149280        (WebCore::InspectorInstrumentation::applyScreenWidthOverrideImpl):
149281        (WebCore::InspectorInstrumentation::applyScreenHeightOverrideImpl):
149282        * inspector/InspectorInstrumentation.h:
149283        (WebCore::InspectorInstrumentation::applyScreenWidthOverride):
149284        (WebCore::InspectorInstrumentation::applyScreenHeightOverride):
149285        * inspector/InspectorPageAgent.cpp:
149286        (WebCore::InspectorPageAgent::InspectorPageAgent):
149287        (WebCore::InspectorPageAgent::restore):
149288        (WebCore::InspectorPageAgent::disable):
149289        (WebCore::InspectorPageAgent::setScreenSizeOverride):
149290        (WebCore::InspectorPageAgent::applyScreenWidthOverride):
149291        (WebCore::InspectorPageAgent::applyScreenHeightOverride):
149292        (WebCore::InspectorPageAgent::updateFrameViewFixedLayout):
149293        (WebCore::InspectorPageAgent::clearFrameViewFixedLayout):
149294        (WebCore::InspectorPageAgent::setFrameViewFixedLayout):
149295        * inspector/InspectorPageAgent.h:
149296        * page/DOMWindow.cpp:
149297        (WebCore::DOMWindow::innerHeight): Apply height override if necessary.
149298        (WebCore::DOMWindow::innerWidth): Apply width override if necessary.
149299        * page/Screen.cpp:
149300        (WebCore::Screen::height): Apply height override if necessary.
149301        (WebCore::Screen::width): Apply width override if necessary.
149302
1493032012-01-18  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
149304
149305        [Qt] Handle the layers visible rect calculation on the web process.
149306        https://bugs.webkit.org/show_bug.cgi?id=74720
149307
149308        Reviewed by Noam Rosenthal.
149309
149310        Remove all visible rect calculation related code from TextureMapperNode.
149311
149312        * platform/graphics/texmap/TextureMapperNode.cpp:
149313        * platform/graphics/texmap/TextureMapperNode.h:
149314
1493152012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
149316
149317        Web Inspector: Improve focus switching in scripts panel.
149318        https://bugs.webkit.org/show_bug.cgi?id=76628
149319
149320        Reviewed by Pavel Feldman.
149321
149322        * inspector/front-end/Dialog.js:
149323        (WebInspector.Dialog.prototype._hide):
149324        * inspector/front-end/FilteredItemSelectionDialog.js:
149325        (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
149326        (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
149327        * inspector/front-end/ScriptsNavigator.js:
149328        (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
149329        * inspector/front-end/ScriptsPanel.js:
149330        (WebInspector.ScriptsPanel.prototype._showSourceLine):
149331
1493322012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
149333
149334        Web Inspector: Add isSelfOrAnsector and isSelfOrDescendant methods to utilities.
149335        https://bugs.webkit.org/show_bug.cgi?id=76618
149336
149337        Added isSelfOrAncestor, isSelfOrDescendant and WebInspector.restoreFocusFromElement methods.
149338
149339        Reviewed by Pavel Feldman.
149340
149341        * inspector/front-end/Drawer.js:
149342        * inspector/front-end/HelpScreen.js:
149343        (WebInspector.HelpScreen.prototype._onBlur):
149344        * inspector/front-end/MetricsSidebarPane.js:
149345        (WebInspector.MetricsSidebarPane.prototype._handleKeyDown):
149346        * inspector/front-end/Popover.js:
149347        * inspector/front-end/ScriptsPanel.js:
149348        (WebInspector.ScriptsPanel.prototype.showUISourceCode):
149349        * inspector/front-end/StylesSidebarPane.js:
149350        ():
149351        * inspector/front-end/TextPrompt.js:
149352        (WebInspector.TextPrompt.prototype.detach):
149353        (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
149354        * inspector/front-end/TextViewer.js:
149355        (WebInspector.TextEditorMainPanel.prototype._updateSelectionOnStartEditing):
149356        (WebInspector.TextEditorMainPanel.prototype._handleDOMUpdates):
149357        * inspector/front-end/UIUtils.js:
149358        (WebInspector.startEditing.cleanUpAfterEditing):
149359        (WebInspector.restoreFocusFromElement):
149360        * inspector/front-end/utilities.js:
149361        (Element.prototype.isInsertionCaretInside):
149362        ():
149363
1493642012-01-19  Andreas Kling  <awesomekling@apple.com>
149365
149366        DynamicNodeList: Simplify internal Caches object.
149367        <http://webkit.org/b/76600>
149368
149369        Reviewed by Ryosuke Niwa.
149370
149371        Move m_caches from DynamicSubtreeNodeList and ChildNodeList up into DynamicNodeList.
149372        Remove the inheritance from RefCounted and store it simply as "Caches m_caches"
149373        This avoids one heap allocation per DynamicNodeList. Also reordered the Caches members
149374        to pack slightly better on 64-bit.
149375
149376        * dom/ChildNodeList.cpp:
149377        (WebCore::ChildNodeList::ChildNodeList):
149378        (WebCore::ChildNodeList::length):
149379        (WebCore::ChildNodeList::item):
149380        * dom/ChildNodeList.h:
149381        * dom/DynamicNodeList.cpp:
149382        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
149383        (WebCore::DynamicSubtreeNodeList::length):
149384        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
149385        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
149386        (WebCore::DynamicSubtreeNodeList::item):
149387        * dom/DynamicNodeList.h:
149388        (WebCore::DynamicNodeList::invalidateCache):
149389        * dom/Node.cpp:
149390        (WebCore::NodeRareData::clearChildNodeListCache):
149391
1493922012-01-19  Vsevolod Vlasov  <vsevik@chromium.org>
149393
149394        Web Inspector: TabbedPane closeAllTabs does not close all tabs.
149395        https://bugs.webkit.org/show_bug.cgi?id=76624
149396
149397        Reviewed by Pavel Feldman.
149398
149399        * inspector/front-end/ScriptsPanel.js:
149400        * inspector/front-end/TabbedPane.js:
149401        (WebInspector.TabbedPane.prototype.closeAllTabs):
149402
1494032012-01-18  Rob Buis  <rbuis@rim.com>
149404
149405        image/pjpeg not supported for decoding on BlackBerry platform
149406        https://bugs.webkit.org/show_bug.cgi?id=76595
149407
149408        Reviewed by Antonio Gomes.
149409
149410        Add image/pjpeg as one of the supported types for image decoding on BlackBerry platform.
149411
149412        * platform/MIMETypeRegistry.cpp:
149413        (WebCore::initializeSupportedImageMIMETypes):
149414
1494152012-01-19  Sheriff Bot  <webkit.review.bot@gmail.com>
149416
149417        Unreviewed, rolling out r105402.
149418        http://trac.webkit.org/changeset/105402
149419        https://bugs.webkit.org/show_bug.cgi?id=76623
149420
149421        Layout test problems (Requested by WildFox on #webkit).
149422
149423        * css/svg.css:
149424        (svg):
149425        * rendering/RenderBox.h:
149426        (WebCore::RenderBox::computeIntrinsicRatioInformation):
149427        * rendering/RenderBoxModelObject.cpp:
149428        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
149429        * rendering/RenderImage.cpp:
149430        (WebCore::RenderImage::computeReplacedLogicalWidth):
149431        (WebCore::RenderImage::computeIntrinsicRatioInformation):
149432        * rendering/RenderImage.h:
149433        * rendering/RenderReplaced.cpp:
149434        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
149435        (WebCore::RenderReplaced::logicalHeightIsAuto):
149436        (WebCore::RenderReplaced::computeReplacedLogicalHeight):
149437        * rendering/RenderReplaced.h:
149438        * rendering/svg/RenderSVGRoot.cpp:
149439        (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation):
149440        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
149441        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
149442        * rendering/svg/RenderSVGRoot.h:
149443        * rendering/svg/RenderSVGViewportContainer.h:
149444        * svg/SVGLengthContext.cpp:
149445        (WebCore::SVGLengthContext::determineViewport):
149446        * svg/SVGSVGElement.cpp:
149447        (WebCore::SVGSVGElement::viewport):
149448        (WebCore::SVGSVGElement::parseMappedAttribute):
149449        (WebCore::updateCSSForAttribute):
149450        (WebCore::SVGSVGElement::svgAttributeChanged):
149451        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
149452        (WebCore::SVGSVGElement::currentViewBoxRect):
149453        * svg/SVGSVGElement.h:
149454        * svg/graphics/SVGImage.cpp:
149455        (WebCore::SVGImage::size):
149456        (WebCore::SVGImage::computeIntrinsicDimensions):
149457        * svg/graphics/SVGImage.h:
149458
1494592012-01-19  Alexis Menard  <alexis.menard@openbossa.org>
149460
149461        Strange Result for getComputedStyle on borderWidth set in em
149462        https://bugs.webkit.org/show_bug.cgi?id=18294
149463
149464        Reviewed by Tony Chang.
149465
149466        BorderValue stores its width on a 12 bits unsigned. This patch 
149467        increase it to 27. The patch also modify the way to set the 
149468        width or to get it, we now use a unsigned rather than a short.
149469
149470        Test: fast/css/border-width-large.html
149471
149472        * css/CSSPrimitiveValue.cpp:
149473        (WebCore::CSSPrimitiveValue::computeLength):
149474        * css/CSSStyleApplyProperty.cpp:
149475        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
149476        * page/animation/AnimationBase.cpp:
149477        (WebCore::blendFunc):
149478        (WebCore::AnimationBase::ensurePropertyMap):
149479        * platform/animation/AnimationUtilities.h:
149480        (WebCore::blend):
149481        * rendering/RenderTheme.cpp:
149482        (WebCore::RenderTheme::adjustStyle):
149483        * rendering/style/BorderData.h:
149484        (WebCore::BorderData::borderLeftWidth):
149485        (WebCore::BorderData::borderRightWidth):
149486        (WebCore::BorderData::borderTopWidth):
149487        (WebCore::BorderData::borderBottomWidth):
149488        * rendering/style/BorderValue.h:
149489        (WebCore::BorderValue::width):
149490        * rendering/style/RenderStyle.cpp:
149491        * rendering/style/RenderStyle.h:
149492        (WebCore::RenderStyleBitfields::borderLeftWidth):
149493        (WebCore::RenderStyleBitfields::borderRightWidth):
149494        (WebCore::RenderStyleBitfields::borderTopWidth):
149495        (WebCore::RenderStyleBitfields::borderBottomWidth):
149496        (WebCore::RenderStyleBitfields::setBorderLeftWidth):
149497        (WebCore::RenderStyleBitfields::setBorderRightWidth):
149498        (WebCore::RenderStyleBitfields::setBorderTopWidth):
149499        (WebCore::RenderStyleBitfields::setBorderBottomWidth):
149500        (WebCore::RenderStyleBitfields::initialBorderWidth):
149501        (WebCore::RenderStyleBitfields::initialColumnRuleWidth):
149502        (WebCore::RenderStyleBitfields::initialOutlineWidth):
149503
1495042012-01-18  Nikolas Zimmermann  <nzimmermann@rim.com>
149505
149506        Differentiate between SVG/CSS width/height attributes/properties
149507        https://bugs.webkit.org/show_bug.cgi?id=76447
149508
149509        Reviewed by Antti Koivisto.
149510
149511        Remove a gazillion of hacks out of our SVG implementation, by correctly differentiating between the
149512        SVG width/height attributes and the CSS width/height properties. They need to be treated independently
149513        when handling the intrinsic size negotiation, according to both CSS 2.1 & SVG 1.1 2nd Edition specs.
149514
149515        Fixes several bugs in the LayoutTests/svg/custom/*object*sizing tests, we now match Opera perfectly. FF still has some bugs, and IE9 as well.
149516
149517        * css/svg.css: Remove hardcoded, width/height: 100% on <svg>.
149518        * rendering/RenderBox.h:
149519        (WebCore::RenderBox::computeIntrinsicRatioInformation): Make 'intrinsicRatio' a float, and add 'intrinsicSize' as seperated FloatSize, to avoid confusion.
149520        * rendering/RenderBoxModelObject.cpp:
149521        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): Add forgotton case for percentage intrinsic sizes, that lead to workarounds in other places, that can now be removed.
149522        * rendering/RenderImage.cpp:
149523        (WebCore::RenderImage::computeReplacedLogicalWidth): Directly use imageHasRelativeWidth/Height(), it does differentiate between SVG/CSS width/height attributes/properties now.
149524        (WebCore::RenderImage::computeIntrinsicRatioInformation): Adapt to 'intrinsicRatio' argument change.
149525        * rendering/RenderImage.h: Ditto.
149526        * rendering/RenderReplaced.cpp: Refactor existing code, break out firstContainingBlockWithLogicalWidth/hasReplacedLogicalWidth/hasReplacedLogicalHeight/hasAutoHeightOrContainingBlockWithAutoHeight.
149527        (WebCore::firstContainingBlockWithLogicalWidth): Refactored.
149528        (WebCore::RenderReplaced::hasReplacedLogicalWidth): Refactored, and exported, so SVGSVGElement::widthAttributeEstablishesViewport() can use it.
149529        (WebCore::hasAutoHeightOrContainingBlockWithAutoHeight): Refactored.
149530        (WebCore::RenderReplaced::hasReplacedLogicalHeight): Refactored, and exported, so SVGSVGElement::heightAttributeEstablishesViewport() can use it.
149531        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Adapt to 'intrinsicRatio' changes ('intrinsicSize' is now decoupled from it). Refactor so that RenderSVGRoot can directly use it as well!
149532        (WebCore::RenderReplaced::computeReplacedLogicalHeight): Ditto.
149533        * rendering/RenderReplaced.h:
149534        * rendering/svg/RenderSVGRoot.cpp:
149535        (WebCore::RenderSVGRoot::computeIntrinsicRatioInformation): Only determine the intrinsic size & ratio using the SVG width/height attributes, not the CSS width/height properties, as it's specified.
149536        (WebCore::resolveLengthAttributeForSVG): Helper function for computeReplacedLogicalWidth/Height, that scales Length values that come from SVG width/height attributes.
149537        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Finally remove home-brewn size computation logic - it can be fully shared with RenderReplaced now that we inherit from it.
149538        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
149539        * rendering/svg/RenderSVGRoot.h:
149540        * rendering/svg/RenderSVGViewportContainer.h:
149541        (WebCore::RenderSVGViewportContainer::viewport): Export viewport() for easier length resolution.
149542        * svg/SVGLengthContext.cpp:
149543        (WebCore::SVGLengthContext::determineViewport): Finally clean up this hell, and make it easy to understand. Only need to resolve lengths against either RenderSVGRoot or RenderSVGViewportContainer now.
149544        * svg/SVGSVGElement.cpp: 
149545        (WebCore::SVGSVGElement::viewport): Remove wrong code and disable this. Its not used, and we have no test coverage for it. Its current implementation didn't make any sense.
149546        (WebCore::SVGSVGElement::parseMappedAttribute): Remove hacks mapping SVG width/height attributes to CSS properties.
149547        (WebCore::SVGSVGElement::svgAttributeChanged): Ditto.
149548        (WebCore::SVGSVGElement::localCoordinateSpaceTransform): Refactored.
149549        (WebCore::SVGSVGElement::currentViewBoxRect): Ditto.
149550        (WebCore::SVGSVGElement::currentViewportSize): Ditto.
149551        (WebCore::SVGSVGElement::widthAttributeEstablishesViewport): Main logic determining if the SVG or CSS properties establish the viewport -  a direct transliteration from the spec.
149552        (WebCore::SVGSVGElement::heightAttributeEstablishesViewport): Ditto.
149553        (WebCore::SVGSVGElement::intrinsicWidth): Helper.
149554        (WebCore::SVGSVGElement::intrinsicHeight): Ditto.
149555        * svg/SVGSVGElement.h:
149556        * svg/graphics/SVGImage.cpp:
149557        (WebCore::SVGImage::size): Cleanup code.
149558        (WebCore::SVGImage::hasRelativeWidth): Added, avoids hacks in RenderBoxModelObject.
149559        (WebCore::SVGImage::hasRelativeHeight): Ditto.
149560        (WebCore::SVGImage::computeIntrinsicDimensions): Make use of new SVGSVGElement::computeIntrinsicDimensions.
149561        * svg/graphics/SVGImage.h:
149562
1495632012-01-19  Ryosuke Niwa  <rniwa@webkit.org>
149564
149565        drop event isn't fired for contentEditable in edit drag
149566        https://bugs.webkit.org/show_bug.cgi?id=57185
149567
149568        Reviewed by Adam Barth.
149569
149570        Dispatch drop and dragend events after edit drag per HTML5 spec:
149571        http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#drag-and-drop-processing-model
149572
149573        There are two major differences between the spec and WebKit's new behavior:
149574
149575        While the spec says we have to insert the dragged contents immediately after dispatching drop event
149576        and delete the source in the default event handler of dragend event, doing so in WebKit is extremely
149577        difficult because of the way we manage the selection. Instead, we continue to delete the source
149578        and insert the dragged contents immediately after the drop event; this behavior matches that of Firefox 9.
149579
149580        When the dragged contents and the destination of the move is in the same text node, ReplaceSelectionCommand
149581        may end up replacing it with a new text node. But this removal causes a problem when EventHandler uses
149582        the node to dispatch dragend event because the node is "orphaned" from its parent at that point. To mitigate
149583        this issue, we update the dragState's m_dragSrc when the node is orphaned by the edit drag. While this behavior
149584        may differ from the spec and other browsers, not delivering dragend to the editing host seems strictly worse than
149585        dispatching it at the slightly wrong target.
149586
149587        Tests: fast/events/moving-text-should-fire-drop-and-dragend-events-2.html
149588               fast/events/moving-text-should-fire-drop-and-dragend-events.html
149589
149590        * page/DragController.cpp:
149591        (WebCore::DragController::performDrag): Dispatch drop event even when m_isHandlingDrag is true as long
149592        as DragDestinationActionDHTML is an acceptable action.
149593        (WebCore::DragController::concludeEditDrag): Call updateDragStateAfterEditDragIfNeeded after inserting
149594        the dragged contents. This is necessary when ReplaceSelectionCommand or MoveSelectionCommand modifies
149595        the source node while inserting the dragged contents.
149596        * page/EventHandler.cpp:
149597        (WebCore::EventHandler::performDragAndDrop): Clear the drag state only if drop event's default action
149598        was prevented so that we dispatch dragevent event later.
149599        (WebCore::EventHandler::updateDragStateAfterEditDragIfNeeded): Update dragState's m_dragSrc when the node
149600        is orphaned. See above for the rationale.
149601        * page/EventHandler.h:
149602
1496032012-01-18  Kinuko Yasuda  <kinuko@chromium.org>
149604
149605        Cleanup: Move chrome-specific filesystem type handling code (for FileSystem API) under chromium directory
149606        https://bugs.webkit.org/show_bug.cgi?id=76551
149607
149608        Reviewed by Darin Fisher.
149609
149610        Moved the implementation of crackFileSystemURL() and toURL() from
149611        WebCore/fileapi/DOMFileSystemBase into WebCore/platform/AsyncFileSystem
149612        so that each platform can extend/implement their behavior if necessary.
149613
149614        No new tests since this patch has no functionality changes. (Existing
149615        tests should pass)
149616
149617        * fileapi/DOMFileSystemBase.cpp: Moved the implementation of
149618        crackFileSystemURL() to AsyncFileSystem
149619        (WebCore::DOMFileSystemBase::crackFileSystemURL):
149620        * fileapi/DOMFileSystemBase.h:
149621        * fileapi/EntryBase.cpp: Moved the implementation of toURL() to AsyncFileSystem
149622        (WebCore::EntryBase::toURL):
149623        * page/DOMWindow.cpp: Removed chrome-specific type handling code.
149624        (WebCore::DOMWindow::webkitRequestFileSystem):
149625        * page/DOMWindow.h: Removed chrome-specific filesystem type
149626        (EXTERNAL).
149627        * platform/AsyncFileSystem.cpp: Added default implementation of toURL() and crackFileSystemURL()
149628        (WebCore::AsyncFileSystem::toURL):
149629        (WebCore::AsyncFileSystem::crackFileSystemURL):
149630        * platform/AsyncFileSystem.h:
149631        * workers/WorkerContext.cpp: Removed chrome-specific type handling code.
149632        (WebCore::WorkerContext::webkitRequestFileSystem):
149633        (WebCore::WorkerContext::webkitRequestFileSystemSync):
149634
1496352012-01-19  Mihnea Ovidenie  <mihnea@adobe.com>
149636
149637        Cache RenderStyle pointer as a method to avoid performance regression for region styling
149638        https://bugs.webkit.org/show_bug.cgi?id=76265
149639
149640        Reviewed by David Hyatt.
149641
149642        No new tests since this is just refactoring.
149643        When region styling was enabled in https://bugs.webkit.org/show_bug.cgi?id=71488,
149644        it introduced a performance regression due to the change of RenderObject::style() method.
149645        This patch tries to avoid a new performance regression when region styling will be enabled again.
149646
149647        * rendering/RenderBlock.cpp:
149648        (WebCore::RenderBlock::MarginInfo::MarginInfo):
149649        (WebCore::RenderBlock::styleWillChange):
149650        (WebCore::RenderBlock::layoutBlock):
149651        (WebCore::RenderBlock::layoutBlockChildren):
149652        (WebCore::RenderBlock::layoutBlockChild):
149653        (WebCore::RenderBlock::computePreferredLogicalWidths):
149654        (WebCore::getBorderPaddingMargin):
149655        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
149656        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
149657        * rendering/RenderBlockLineLayout.cpp:
149658        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
149659        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
149660        * rendering/RenderBox.cpp:
149661        (WebCore::RenderBox::willBeDestroyed):
149662        (WebCore::RenderBox::styleWillChange):
149663        (WebCore::RenderBox::styleDidChange):
149664        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
149665        (WebCore::RenderBox::computeRectForRepaint):
149666        (WebCore::RenderBox::computeLogicalWidthInRegion):
149667        (WebCore::RenderBox::computeLogicalWidthUsing):
149668        (WebCore::RenderBox::computeLogicalHeight):
149669        (WebCore::RenderBox::computePercentageLogicalHeight):
149670        (WebCore::RenderBox::computePositionedLogicalHeight):
149671        * rendering/RenderBoxModelObject.cpp:
149672        (WebCore::RenderBoxModelObject::styleWillChange):
149673        (WebCore::RenderBoxModelObject::updateBoxModelInfoFromStyle):
149674        * rendering/RenderInline.cpp:
149675        (WebCore::RenderInline::styleDidChange):
149676        * rendering/RenderText.cpp:
149677        (WebCore::RenderText::styleDidChange):
149678        (WebCore::RenderText::computePreferredLogicalWidths):
149679
1496802012-01-19  Kazuhiro Inaba  <kinaba@chromium.org>
149681
149682        [Chromium] Random characters got rendered as empty boxes or with incorrect glyphs even when a font is present
149683        https://bugs.webkit.org/show_bug.cgi?id=76508
149684
149685        Reviewed by Kent Tamura.
149686
149687        Wrapped GetGlyphIndices() API calls so that when they failed we trigger font
149688        loading outside the sandbox and retry the call.
149689
149690        No new auto tests since the bug involves the system's occasional cache behavior
149691        and thus there's no reliable way to reproduce and test the situation.
149692
149693        * platform/graphics/chromium/GlyphPageTreeNodeChromiumWin.cpp:
149694        (WebCore::getGlyphIndices):
149695        GDI call wrapper ensuring fonts to be loaded.
149696        (WebCore::initSpaceGlyph):
149697        Changed to use the wrapper function.
149698        (WebCore::fillBMPGlyphs):
149699        Changed to use the wrapper function.
149700        Introduced scoped HDC management by HWndDC.
149701        (WebCore::GlyphPage::fill):
149702
1497032012-01-19  Adam Barth  <abarth@webkit.org>
149704
149705        createAttributeNS should understand that "xmlns" is allowed in the http://www.w3.org/2000/xmlns/
149706        https://bugs.webkit.org/show_bug.cgi?id=76579
149707
149708        Reviewed by Eric Seidel.
149709
149710        This patch cleans up a tiny corner case involving the (somewhat
149711        magical) xmlns attribute that we uncovered when working on
149712        setAttributeNS.
149713
149714        Tests: fast/dom/Document/createAttributeNS-namespace-err.html
149715
149716        * dom/Document.cpp:
149717        (WebCore::Document::importNode):
149718        (WebCore::Document::hasValidNamespaceForElements):
149719        (WebCore::Document::hasValidNamespaceForAttributes):
149720        (WebCore::Document::createElementNS):
149721        (WebCore::Document::createAttributeNS):
149722        * dom/Document.h:
149723        * dom/Element.cpp:
149724        (WebCore::Element::setAttributeNS):
149725
1497262012-01-19  Roland Steiner  <rolandsteiner@chromium.org>
149727
149728        Unreviewed build fix for DEBUG: remove comparison of an unsigned variable with '>= 0' in ASSERT.
149729
149730        No new tests. (no functionality change)
149731
149732        * webaudio/AudioNodeOutput.cpp:
149733        (WebCore::AudioNodeOutput::AudioNodeOutput):
149734
1497352012-01-18  Li Yin  <li.yin@intel.com>
149736
149737        [v8] Low efficiency of writing long string from web application to plugin.
149738        https://bugs.webkit.org/show_bug.cgi?id=76592
149739
149740        The efficiency will be improved by 300 times in the best case, when the
149741        size of string reaches 1MB.
149742
149743        Reviewed by Adam Barth.
149744
149745        * bindings/v8/V8NPUtils.cpp:
149746        (WebCore::convertV8ObjectToNPVariant):
149747
1497482012-01-18  Adam Barth  <abarth@webkit.org>
149749
149750        Assigning to Element.prefix should throw exception when using illegal characters
149751        https://bugs.webkit.org/show_bug.cgi?id=76589
149752
149753        Reviewed by Eric Seidel.
149754
149755        This patch fixes a FIXME and implements the INVALID_CHARACTER_ERR
149756        exception described in
149757        http://www.w3.org/TR/DOM-Level-3-Core/core.html#ID-NodeNSPrefix
149758
149759        Tests: fast/dom/Element/prefix-setter-exception.html
149760
149761        * dom/Node.cpp:
149762        (WebCore::isValidNameStartCharacter):
149763        (WebCore::isValidNameCharacter):
149764        (WebCore::hasInvalidValidNameCharacters):
149765        (WebCore::Node::checkSetPrefix):
149766
1497672012-01-18  Shinya Kawanaka  <shinyak@google.com>
149768
149769        ShadowContent query should be able to have fallback elements.
149770        https://bugs.webkit.org/show_bug.cgi?id=75306
149771
149772        Reviewed by Hajime Morita.
149773
149774        When no elements are selected by a shadow content element selector query,
149775        light children are selected as a fallback elements.
149776
149777        Test: fast/dom/shadow/shadow-contents-fallback.html
149778
149779        * dom/NodeRenderingContext.cpp:
149780        (WebCore::NodeRenderingContext::NodeRenderingContext):
149781          Considers fallback phase. When no elements are chosen, the phase is set to 'fallback'.
149782        (WebCore::NodeRenderingContext::nextRenderer):
149783          Takes fallback phase into account.
149784        (WebCore::NodeRenderingContext::previousRenderer): ditto.
149785        * dom/NodeRenderingContext.h:
149786        * html/shadow/HTMLContentElement.cpp:
149787        (WebCore::HTMLContentElement::attach):
149788          Calculates inclusions before attaching light children.
149789        * html/shadow/HTMLContentElement.h:
149790        (WebCore::HTMLContentElement::hasInclusion):
149791
1497922012-01-18  Kent Tamura  <tkent@chromium.org>
149793
149794        REGRESSION(r100111): A 'change' event does not fire when a mouse drag
149795        occurs to switch elements in a listbox <select>
149796        https://bugs.webkit.org/show_bug.cgi?id=76244
149797
149798        Reviewed by Hajime Morita.
149799
149800        Test: fast/forms/select/listbox-drag-in-non-multiple.html
149801
149802        * html/HTMLSelectElement.cpp:
149803        (WebCore::HTMLSelectElement::updateSelectedState):
149804        Do not update m_activeSelectionState for non-multiple <select>.
149805        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
149806        Use setActiveSelection*Index() and updateListBoxSelection(true) instead
149807        of updateSelectedState() because updateSelectedState() updates
149808        m_lastOnChangeSelection and will prevent the mouseup handler from
149809        dispatching 'change' event.
149810        We should not call listBoxOnChange() in the mousemove handler in order
149811        to align the behavior of IE and Firefox.
149812
1498132012-01-18  Eric Seidel  <eric@webkit.org>
149814
149815        setAttributeNS should comply with the obscure rules of DOM2, just like createAttributeNS and createElementNS do
149816        https://bugs.webkit.org/show_bug.cgi?id=76143
149817
149818        Reviewed by Adam Barth.
149819
149820        Test: fast/dom/Element/setAttributeNS-namespace-err.html
149821
149822        * dom/Element.cpp:
149823        (WebCore::Element::setAttributeNS):
149824
1498252012-01-18  Sheriff Bot  <webkit.review.bot@gmail.com>
149826
149827        Unreviewed, rolling out r105376.
149828        http://trac.webkit.org/changeset/105376
149829        https://bugs.webkit.org/show_bug.cgi?id=76601
149830
149831        Roll 76493 back in after discussion with jsbell (Requested by
149832        rolandsteiner on #webkit).
149833
149834        * bindings/v8/IDBBindingUtilities.cpp:
149835        (WebCore::injectIDBKeyIntoSerializedValue):
149836
1498372012-01-18  Ian Vollick  <vollick@chromium.org>
149838
149839        [chromium] Create a base-class CCAnimation to represent compositor animations
149840        https://bugs.webkit.org/show_bug.cgi?id=73233
149841
149842        Adds a kernel for running animations on the chromium compositor
149843        thread.
149844
149845        Reviewed by Kenneth Russell.
149846
149847        * WebCore.gypi:
149848        * platform/graphics/chromium/cc/CCActiveAnimation.cpp: Added.
149849        (WebCore::CCActiveAnimation::CCActiveAnimation):
149850        (WebCore::CCActiveAnimation::setRunState):
149851        (WebCore::CCActiveAnimation::isFinishedAt):
149852        (WebCore::CCActiveAnimation::trimTimeToCurrentIteration):
149853        * platform/graphics/chromium/cc/CCActiveAnimation.h: Added.
149854        (WebCore::CCActiveAnimation::create):
149855        (WebCore::CCActiveAnimation::~CCActiveAnimation):
149856        (WebCore::CCActiveAnimation::group):
149857        (WebCore::CCActiveAnimation::targetProperty):
149858        (WebCore::CCActiveAnimation::runState):
149859        (WebCore::CCActiveAnimation::iterations):
149860        (WebCore::CCActiveAnimation::setIterations):
149861        (WebCore::CCActiveAnimation::startTime):
149862        (WebCore::CCActiveAnimation::setStartTime):
149863        (WebCore::CCActiveAnimation::isFinished):
149864        (WebCore::CCActiveAnimation::animationCurve):
149865        * platform/graphics/chromium/cc/CCAnimationCurve.cpp: Added.
149866        (WebCore::CCAnimationCurve::toFloatAnimationCurve):
149867        (WebCore::CCAnimationCurve::toTransformAnimationCurve):
149868        * platform/graphics/chromium/cc/CCAnimationCurve.h: Added.
149869        (WebCore::CCAnimationCurve::~CCAnimationCurve):
149870        (WebCore::CCFloatAnimationCurve::~CCFloatAnimationCurve):
149871        (WebCore::CCFloatAnimationCurve::type):
149872        (WebCore::CCTransformAnimationCurve::~CCTransformAnimationCurve):
149873        (WebCore::CCTransformAnimationCurve::type):
149874        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.cpp: Added.
149875        (WebCore::CCLayerAnimationControllerImpl::create):
149876        (WebCore::CCLayerAnimationControllerImpl::CCLayerAnimationControllerImpl):
149877        (WebCore::CCLayerAnimationControllerImpl::animate):
149878        (WebCore::CCLayerAnimationControllerImpl::add):
149879        (WebCore::CCLayerAnimationControllerImpl::getActiveAnimation):
149880        (WebCore::CCLayerAnimationControllerImpl::hasActiveAnimation):
149881        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForNextTick):
149882        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForStartTime):
149883        (WebCore::CCLayerAnimationControllerImpl::startAnimationsWaitingForTargetAvailability):
149884        (WebCore::CCLayerAnimationControllerImpl::resolveConflicts):
149885        (WebCore::CCLayerAnimationControllerImpl::purgeFinishedAnimations):
149886        (WebCore::CCLayerAnimationControllerImpl::tickAnimations):
149887        * platform/graphics/chromium/cc/CCLayerAnimationControllerImpl.h: Added.
149888        (WebCore::CCLayerAnimationControllerImplClient::~CCLayerAnimationControllerImplClient):
149889
1498902012-01-18  Sheriff Bot  <webkit.review.bot@gmail.com>
149891
149892        Unreviewed, rolling out r105331.
149893        http://trac.webkit.org/changeset/105331
149894        https://bugs.webkit.org/show_bug.cgi?id=76599
149895
149896        May have broken Chromium InjectIDBKey browser_test (Requested
149897        by rolandsteiner on #webkit).
149898
149899        * bindings/v8/IDBBindingUtilities.cpp:
149900        (WebCore::injectIDBKeyIntoSerializedValue):
149901
1499022012-01-18  Raymond Liu  <raymond.liu@intel.com>
149903
149904        Remove some unused code in AudioContext
149905        https://bugs.webkit.org/show_bug.cgi?id=76506
149906
149907        Reviewed by Kenneth Russell.
149908
149909        No new tests required.
149910
149911        * webaudio/AudioContext.cpp:
149912        (WebCore::AudioContext::constructCommon):
149913        (WebCore::AudioContext::uninitialize):
149914        * webaudio/AudioContext.h:
149915
1499162012-01-18  Raymond Liu  <raymond.liu@intel.com>
149917
149918        Only create AudioBus with required number of channels for AudioNodeOutput
149919        https://bugs.webkit.org/show_bug.cgi?id=76417
149920
149921        Reviewed by Kenneth Russell.
149922
149923        No new tests required.
149924
149925        * webaudio/AudioNodeOutput.cpp:
149926        (WebCore::AudioNodeOutput::AudioNodeOutput):
149927        (WebCore::AudioNodeOutput::setNumberOfChannels):
149928        (WebCore::AudioNodeOutput::updateInternalBus):
149929        (WebCore::AudioNodeOutput::updateNumberOfChannels):
149930        (WebCore::AudioNodeOutput::pull):
149931        * webaudio/AudioNodeOutput.h:
149932
1499332012-01-18  Andreas Kling  <awesomekling@apple.com>
149934
149935        Cache and reuse the NodeList returned by Node::childNodes().
149936        <http://webkit.org/b/76591>
149937
149938        Reviewed by Ryosuke Niwa.
149939
149940        Instead of only caching the DynamicNodeList::Caches for .childNodes on NodeRareData,
149941        cache the full ChildNodeList object. Lifetime management is left to wrappers who
149942        invalidate the cached (raw) pointer via Node::removeCachedChildNodeList(), called
149943        from ~ChildNodeList().
149944
149945        This is a slight behavior change, in that Node.childNodes === Node.childNodes will
149946        now be true. This matches the behavior of both Firefox and Opera.
149947
149948        This reduces memory consumption by 192 kB (on 32-bit) when viewing the full
149949        HTML5 spec at <http://whatwg.org/c>
149950
149951        Test: fast/dom/gc-9.html
149952              fast/dom/node-childNodes-idempotence.html
149953
149954        * dom/Node.cpp:
149955        (WebCore::Node::childNodes):
149956        * dom/NodeRareData.h:
149957        (WebCore::NodeRareData::NodeRareData):
149958        (WebCore::NodeRareData::childNodeList):
149959        (WebCore::NodeRareData::setChildNodeList):
149960
149961            Only construct one ChildNodeList per Node and store it on NodeRareData for
149962            retrieval across childNodes() calls.
149963
149964        * dom/ChildNodeList.h:
149965        (WebCore::ChildNodeList::create):
149966        * dom/ChildNodeList.cpp:
149967        (WebCore::ChildNodeList::ChildNodeList):
149968
149969            Construct the Caches at creation instead of passing it to the constructor.
149970
149971        (WebCore::ChildNodeList::reset):
149972
149973            Added, resets the internal cache.
149974
149975        (WebCore::ChildNodeList::~ChildNodeList):
149976
149977            Call Node::removeCachedChildNodeList().
149978
149979        * dom/DynamicNodeList.cpp:
149980        * dom/DynamicNodeList.h:
149981
149982            Have DynamicNodeList (and subclasses) respond "true" to isDynamicNodeList().
149983            Previously only DynamicSubtreeNodeList (and subclasses) were doing this.
149984            Without it, JSC may GC our ChildNodeLists prematurely (due to NodeList's
149985            isReachableFromOpaqueRoots() implementation checking isDynamicNodeList().)
149986
149987        * dom/Node.h:
149988        * dom/Node.cpp:
149989        (WebCore::Node::removeCachedChildNodeList):
149990
149991            Added for ~ChildNodeList() to remove the pointer to itself from the Node.
149992
149993        (WebCore::NodeRareData::clearChildNodeListCache):
149994
149995            Call ChildNodeList::reset().
149996
1499972012-01-18  James Robinson  <jamesr@chromium.org>
149998
149999        Unreviewed, rolling out r105366.
150000        http://trac.webkit.org/changeset/105366
150001        https://bugs.webkit.org/show_bug.cgi?id=76015
150002
150003        Breaks CCLayerTreeHostImplTest unit test
150004
150005        * platform/graphics/chromium/TiledLayerChromium.cpp:
150006        (WebCore::TiledLayerChromium::pushPropertiesTo):
150007        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
150008        * platform/graphics/chromium/cc/CCDrawQuad.h:
150009        (WebCore::CCDrawQuad::drawsOpaque):
150010        (WebCore::CCDrawQuad::needsBlending):
150011        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
150012        (WebCore::CCQuadCuller::cullOccludedQuads):
150013        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp:
150014        (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
150015        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
150016        (WebCore::CCTileDrawQuad::create):
150017        (WebCore::CCTileDrawQuad::CCTileDrawQuad):
150018        * platform/graphics/chromium/cc/CCTileDrawQuad.h:
150019        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
150020        (WebCore::CCTiledLayerImpl::appendQuads):
150021        (WebCore::CCTiledLayerImpl::syncTextureId):
150022        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
150023
1500242012-01-18  Thiago Marcos P. Santos  <tmpsantos@gmail.com>
150025
150026        Save two ID checks on CSS Min/Width property validation
150027        https://bugs.webkit.org/show_bug.cgi?id=76565
150028
150029        The same validation is done again in the next case statement. Check for
150030        CSSValueIntrinsic and CSSValueMinIntrinsic was done twice when the value
150031        is a number.
150032
150033        Reviewed by Andreas Kling.
150034
150035        * css/CSSParser.cpp:
150036        (WebCore::CSSParser::parseValue):
150037
1500382012-01-18  Dana Jansens  <danakj@chromium.org>
150039
150040        [chromium] Use region reported painted opaque for draw culling
150041        https://bugs.webkit.org/show_bug.cgi?id=76015
150042
150043        Reviewed by James Robinson.
150044
150045        New unit tests in CCQuadCullerTest.cpp and CCTiledLayerImplTest.cpp
150046
150047        * platform/graphics/chromium/TiledLayerChromium.cpp:
150048        (WebCore::TiledLayerChromium::pushPropertiesTo):
150049        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
150050        * platform/graphics/chromium/cc/CCDrawQuad.h:
150051        (WebCore::CCDrawQuad::opaqueRect):
150052        (WebCore::CCDrawQuad::needsBlending):
150053        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
150054        (WebCore::CCQuadCuller::cullOccludedQuads):
150055        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp:
150056        (WebCore::CCTileDrawQuad::create):
150057        (WebCore::CCTileDrawQuad::CCTileDrawQuad):
150058        * platform/graphics/chromium/cc/CCTileDrawQuad.h:
150059        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
150060        (WebCore::DrawableTile::opaqueRect):
150061        (WebCore::DrawableTile::setOpaqueRect):
150062        (WebCore::CCTiledLayerImpl::appendQuads):
150063        (WebCore::CCTiledLayerImpl::pushTileProperties):
150064        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
150065
1500662012-01-18  Victoria Kirst  <vrk@chromium.org>
150067
150068        HTMLMediaElement should fire 'progress' event before 'idle' if it was previously loading
150069        https://bugs.webkit.org/show_bug.cgi?id=76568
150070
150071        Reviewed by Eric Carlson.
150072
150073        This fires a progress event when going from a non-empty state to idle,
150074        for the same reason that a progress event is fired when going from a
150075        non-idle state to loaded. Also consolidated logic in a single helper method.
150076
150077        No new tests because the decision of if/when a user agent sets the network state
150078        to idle is up to the user agent in this scenario.
150079
150080        * html/HTMLMediaElement.cpp:
150081        (WebCore::HTMLMediaElement::setNetworkState):
150082        (WebCore::HTMLMediaElement::changeNetworkStateFromLoadingToIdle):
150083        * html/HTMLMediaElement.h:
150084
1500852012-01-18  Jon Lee  <jonlee@apple.com>
150086
150087        [WK2] Sync call for notifications permissions causes flashes on gmail.com
150088        https://bugs.webkit.org/show_bug.cgi?id=76570
150089        <rdar://problem/10647155>
150090
150091        Reviewed by Anders Carlsson and Sam Weinig.
150092
150093        * WebCore.exp.in: Export SecurityOrigin::toString().
150094
150095        Add runtime setting to enable/disable notifications.
150096
150097        * page/Settings.cpp:
150098        (WebCore::Settings::Settings):
150099        * page/Settings.h: Add new bit for whether notifications are enabled.
150100        (WebCore::Settings::setNotificationsEnabled):
150101        (WebCore::Settings::notificationsEnabled):
150102
1501032012-01-18  Eric Carlson  <eric.carlson@apple.com>
150104
150105        Provide access to user's list of preferred languages
150106        https://bugs.webkit.org/show_bug.cgi?id=76138
150107
150108        Reviewed by Timothy Hatcher.
150109
150110        No new tests, tested by fast/harness/user-preferred-language.html.
150111
150112        * platform/mac/Language.mm:
150113        (WebCore::platformUserPreferredLanguages): Don't over-release a the CFStrings returned by 
150114            CFLocaleCopyPreferredLanguages.
150115
1501162012-01-18  Joshua Bell  <jsbell@chromium.org>
150117
150118        IndexedDB: Implement create-intermediate-objects semantics when injecting values via keyPaths
150119        https://bugs.webkit.org/show_bug.cgi?id=76493
150120
150121        Reviewed by Tony Chang.
150122
150123        Tests: storage/indexeddb/objectstore-autoincrement.html
150124
150125        * bindings/v8/IDBBindingUtilities.cpp:
150126        (WebCore::injectIDBKeyIntoSerializedValue):
150127
1501282012-01-18  Joshua Bell  <jsbell@chromium.org>
150129
150130        IndexedDB: Invalid keys yielded by key paths should raise exceptions, not error callbacks
150131        https://bugs.webkit.org/show_bug.cgi?id=76075
150132
150133        Reviewed by Tony Chang.
150134
150135        Tests: storage/indexeddb/objectstore-basics.html
150136
150137        * storage/IDBObjectStoreBackendImpl.cpp:
150138        (WebCore::IDBObjectStoreBackendImpl::put):
150139
1501402012-01-18  Dana Jansens  <danakj@chromium.org>
150141
150142        [chromium] Fix compile error from bug #76211
150143        https://bugs.webkit.org/show_bug.cgi?id=76575
150144
150145        Reviewed by James Robinson.
150146
150147        No new tests. Fixing compile only.
150148
150149        * platform/graphics/chromium/ImageLayerChromium.cpp:
150150        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
150151
1501522012-01-18  Adam Barth  <abarth@webkit.org>
150153
150154        REGRESSION (r104000): AdBlock extension fails to load/function
150155        https://bugs.webkit.org/show_bug.cgi?id=75554
150156
150157        Reviewed by Andy Estes.
150158
150159        Previously, we would claim the documentElement was available before
150160        we'd actually attached it to the DOM (which we now do via the
150161        attachment queue).  This issue was noted in the code with a FIXME
150162        comment, but there was no test coverage for the issue.  This patch
150163        resolves the FIXME and adds a test.
150164
150165        Test: userscripts/document-element-available-at-start.html
150166
150167        * html/parser/HTMLConstructionSite.cpp:
150168        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
150169
1501702012-01-18  Eric Carlson  <eric.carlson@apple.com>
150171
150172        Provide access to user's list of preferred languages
150173        https://bugs.webkit.org/show_bug.cgi?id=76138
150174
150175        Reviewed by Alexey Proskuryakov.
150176
150177        Test: fast/harness/user-preferred-language.html
150178
150179        * WebCore.exp.in: Export the new functions.
150180        * WebCore.order: Ditto.
150181
150182        * Target.pri: Include new files.
150183        * WebCore.gypi: Ditto.
150184        * WebCore.vcproj/WebCoreTestSupport.vcproj: Ditto.
150185        * WebCore.xcodeproj/project.pbxproj: Ditto.
150186
150187        * platform/Language.cpp:
150188        (WebCore::defaultLanguage): Return userPreferredLanguages[0].
150189        (WebCore::preferredLanguagesOverride): New, return the languages override.
150190        (WebCore::overrideUserPreferredLanguages): New, set the languages override.
150191        (WebCore::userPreferredLanguages): New, return the languages array.
150192        * platform/Language.h:
150193
150194        * platform/blackberry/LocalizedStringsBlackBerry.cpp:
150195        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
150196        (WebCore::platformUserPreferredLanguages): New.
150197
150198        * platform/chromium/LanguageChromium.cpp:
150199        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
150200        (WebCore::platformUserPreferredLanguages): New.
150201
150202        * platform/efl/LanguageEfl.cpp:
150203        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
150204        (WebCore::platformUserPreferredLanguages): New.
150205
150206        * platform/gtk/LanguageGtk.cpp:
150207        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
150208        (WebCore::platformUserPreferredLanguages): New.
150209
150210        * platform/mac/Language.mm:
150211        (+[WebLanguageChangeObserver _webkit_languagePreferencesDidChange]): Flag the user languages
150212            as invalid.
150213        (WebCore::platformLanguage): Removed.
150214        (WebCore::platformUserPreferredLanguages): New, return the list of user preferred languages.
150215
150216        * platform/qt/LanguageQt.cpp:
150217        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
150218        (WebCore::platformUserPreferredLanguages): New.
150219
150220        * platform/win/LanguageWin.cpp:
150221        (WebCore::platformLanguage): Renamed from platformDefaultLanguage, now static.
150222        (WebCore::platformUserPreferredLanguages): New.
150223
150224        * testing/Internals.cpp:
150225        (WebCore::Internals::userPreferredLanguages): New, return the platform's user preferred languages.
150226        (WebCore::Internals::setUserPreferredLanguages): New, override the user's preferred languages.
150227        * testing/Internals.h:
150228        * testing/Internals.idl: Add userPreferredLanguages.
150229
150230        * testing/js/JSInternalsCustom.cpp:
150231        (WebCore::JSInternals::userPreferredLanguages): New.
150232        (WebCore::JSInternals::setUserPreferredLanguages): New.
150233
150234        * testing/v8/V8InternalsCustom.cpp:
150235        (WebCore::V8Internals::userPreferredLanguagesAccessorGetter): New.
150236        (WebCore::V8Internals::userPreferredLanguagesAccessorSetter): New.
150237
1502382012-01-18  Dana Jansens  <danakj@chromium.org>
150239
150240        [chromium] Enable tracking opaque region in Skia graphics context, return it from LayerTextureUpdater
150241        https://bugs.webkit.org/show_bug.cgi?id=76211
150242
150243        Reviewed by James Robinson.
150244
150245        New unit tests in LayerTextureUpdaterTest.cpp
150246
150247        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
150248        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
150249        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
150250        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp:
150251        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
150252        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
150253        * platform/graphics/chromium/ContentLayerChromium.cpp:
150254        (WebCore::ContentLayerChromium::createTextureUpdater):
150255        * platform/graphics/chromium/LayerTextureUpdater.h:
150256        (WebCore::LayerTextureUpdater::prepareToUpdate):
150257        * platform/graphics/chromium/PlatformCanvas.h:
150258        (WebCore::PlatformCanvas::Painter::skiaContext):
150259        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp:
150260        (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
150261        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
150262        (WebCore::SkPictureCanvasLayerTextureUpdater::setOpaque):
150263        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
150264        * platform/graphics/chromium/TiledLayerChromium.cpp:
150265        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
150266
1502672012-01-18  Tim Dresser  <tdresser@chromium.org>
150268
150269        [chromium] Refactor canvas, plugin, and video drawing to be more data-driven
150270        https://bugs.webkit.org/show_bug.cgi?id=76274
150271
150272        Reviewed by James Robinson.
150273
150274        This is the first step in refactoring canvas, plugin, and video drawing.
150275        The CCCustomLayerDrawQuad implementation has been copied to CCCanvasDrawQuad, CCPluginDrawQuad and CCVideoDrawQuad.
150276        All references to CustomLayer have been removed.
150277
150278        As this is a refactor, no new tests were added. CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers was modified to
150279        no longer test culling.
150280
150281        * WebCore.gypi:
150282        * platform/graphics/chromium/LayerRendererChromium.cpp:
150283        (WebCore::LayerRendererChromium::drawQuad):
150284        (WebCore::LayerRendererChromium::drawCanvasQuad):
150285        (WebCore::LayerRendererChromium::drawVideoQuad):
150286        (WebCore::LayerRendererChromium::drawPluginQuad):
150287        * platform/graphics/chromium/LayerRendererChromium.h:
150288        * platform/graphics/chromium/cc/CCCanvasDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.
150289        (WebCore::CCCanvasDrawQuad::create):
150290        (WebCore::CCCanvasDrawQuad::CCCanvasDrawQuad):
150291        * platform/graphics/chromium/cc/CCCanvasDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.
150292        (WebCore::CCCanvasDrawQuad::layer):
150293        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
150294        (WebCore::CCCanvasLayerImpl::appendQuads):
150295        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
150296        * platform/graphics/chromium/cc/CCDrawQuad.cpp:
150297        (WebCore::CCDrawQuad::toCanvasDrawQuad):
150298        (WebCore::CCDrawQuad::toVideoDrawQuad):
150299        (WebCore::CCDrawQuad::toPluginDrawQuad):
150300        * platform/graphics/chromium/cc/CCDrawQuad.h:
150301        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
150302        (WebCore::CCLayerImpl::appendQuads):
150303        * platform/graphics/chromium/cc/CCPluginDrawQuad.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.
150304        (WebCore::CCPluginDrawQuad::create):
150305        (WebCore::CCPluginDrawQuad::CCPluginDrawQuad):
150306        * platform/graphics/chromium/cc/CCPluginDrawQuad.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.
150307        (WebCore::CCPluginDrawQuad::layer):
150308        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
150309        (WebCore::CCPluginLayerImpl::appendQuads):
150310        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
150311        * platform/graphics/chromium/cc/CCQuadCuller.cpp:
150312        * platform/graphics/chromium/cc/CCVideoDrawQuad.cpp: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp.
150313        (WebCore::CCVideoDrawQuad::create):
150314        (WebCore::CCVideoDrawQuad::CCVideoDrawQuad):
150315        * platform/graphics/chromium/cc/CCVideoDrawQuad.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h.
150316        (WebCore::CCVideoDrawQuad::layer):
150317        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
150318        (WebCore::CCVideoLayerImpl::appendQuads):
150319        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
150320
1503212012-01-18  Vsevolod Vlasov  <vsevik@chromium.org>
150322
150323        Web Inspector: Unsafe cross origin access errors should show stack trace in console.
150324        https://bugs.webkit.org/show_bug.cgi?id=73099
150325
150326        Reviewed by Pavel Feldman.
150327
150328        Test: http/tests/inspector/console-cross-origin-iframe-logging.html
150329
150330        * bindings/v8/V8Proxy.cpp:
150331        (WebCore::V8Proxy::reportUnsafeAccessTo):
150332        * dom/ScriptExecutionContext.cpp:
150333        (WebCore::ScriptExecutionContext::addConsoleMessage):
150334        * dom/ScriptExecutionContext.h:
150335        * loader/FrameLoader.cpp:
150336        (WebCore::FrameLoader::shouldAllowNavigation):
150337        * page/Console.cpp:
150338        (WebCore::Console::addMessage):
150339        * page/Console.h:
150340        * page/DOMWindow.cpp:
150341        (WebCore::PostMessageTimer::PostMessageTimer):
150342        (WebCore::PostMessageTimer::stackTrace):
150343        (WebCore::DOMWindow::postMessage):
150344        (WebCore::DOMWindow::postMessageTimerFired):
150345        (WebCore::DOMWindow::printErrorMessage):
150346
1503472012-01-18  Pablo Flouret  <pablof@motorola.com>
150348
150349        Add [CallWith] support for attributes in JSC/V8 idl code generators.
150350        Part of https://bugs.webkit.org/show_bug.cgi?id=76035
150351
150352        Reviewed by Adam Barth.
150353
150354        * bindings/scripts/CodeGeneratorJS.pm:
150355        (GenerateImplementation):
150356        (GenerateAttributeCallWith):
150357        * bindings/scripts/CodeGeneratorV8.pm:
150358        (GenerateNormalAttrGetter):
150359        (GenerateNormalAttrSetter):
150360        (GenerateAttributeCallWith):
150361        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
150362        (WebDOMTestObj::withScriptStateAttribute):
150363        (WebDOMTestObj::setWithScriptStateAttribute):
150364        (WebDOMTestObj::withScriptExecutionContextAttribute):
150365        (WebDOMTestObj::setWithScriptExecutionContextAttribute):
150366        (WebDOMTestObj::withScriptStateAttributeRaises):
150367        (WebDOMTestObj::setWithScriptStateAttributeRaises):
150368        (WebDOMTestObj::withScriptExecutionContextAttributeRaises):
150369        (WebDOMTestObj::setWithScriptExecutionContextAttributeRaises):
150370        * bindings/scripts/test/CPP/WebDOMTestObj.h:
150371        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
150372        (webkit_dom_test_obj_get_with_script_state_attribute):
150373        (webkit_dom_test_obj_set_with_script_state_attribute):
150374        (webkit_dom_test_obj_get_with_script_execution_context_attribute):
150375        (webkit_dom_test_obj_set_with_script_execution_context_attribute):
150376        (webkit_dom_test_obj_get_with_script_state_attribute_raises):
150377        (webkit_dom_test_obj_set_with_script_state_attribute_raises):
150378        (webkit_dom_test_obj_get_with_script_execution_context_attribute_raises):
150379        (webkit_dom_test_obj_set_with_script_execution_context_attribute_raises):
150380        (webkit_dom_test_obj_set_property):
150381        (webkit_dom_test_obj_get_property):
150382        (webkit_dom_test_obj_class_init):
150383        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
150384        * bindings/scripts/test/JS/JSTestObj.cpp:
150385        (WebCore::jsTestObjWithScriptStateAttribute):
150386        (WebCore::jsTestObjWithScriptExecutionContextAttribute):
150387        (WebCore::jsTestObjWithScriptStateAttributeRaises):
150388        (WebCore::jsTestObjWithScriptExecutionContextAttributeRaises):
150389        (WebCore::setJSTestObjWithScriptStateAttribute):
150390        (WebCore::setJSTestObjWithScriptExecutionContextAttribute):
150391        (WebCore::setJSTestObjWithScriptStateAttributeRaises):
150392        (WebCore::setJSTestObjWithScriptExecutionContextAttributeRaises):
150393        * bindings/scripts/test/JS/JSTestObj.h:
150394        * bindings/scripts/test/ObjC/DOMTestObj.h:
150395        * bindings/scripts/test/ObjC/DOMTestObj.mm:
150396        (-[DOMTestObj withScriptStateAttribute]):
150397        (-[DOMTestObj setWithScriptStateAttribute:]):
150398        (-[DOMTestObj withScriptExecutionContextAttribute]):
150399        (-[DOMTestObj setWithScriptExecutionContextAttribute:]):
150400        (-[DOMTestObj withScriptStateAttributeRaises]):
150401        (-[DOMTestObj setWithScriptStateAttributeRaises:]):
150402        (-[DOMTestObj withScriptExecutionContextAttributeRaises]):
150403        (-[DOMTestObj setWithScriptExecutionContextAttributeRaises:]):
150404        * bindings/scripts/test/TestObj.idl:
150405        * bindings/scripts/test/V8/V8TestObj.cpp:
150406        (WebCore::TestObjInternal::withScriptStateAttributeAttrGetter):
150407        (WebCore::TestObjInternal::withScriptStateAttributeAttrSetter):
150408        (WebCore::TestObjInternal::withScriptExecutionContextAttributeAttrGetter):
150409        (WebCore::TestObjInternal::withScriptExecutionContextAttributeAttrSetter):
150410        (WebCore::TestObjInternal::withScriptStateAttributeRaisesAttrGetter):
150411        (WebCore::TestObjInternal::withScriptStateAttributeRaisesAttrSetter):
150412        (WebCore::TestObjInternal::withScriptExecutionContextAttributeRaisesAttrGetter):
150413        (WebCore::TestObjInternal::withScriptExecutionContextAttributeRaisesAttrSetter):
150414
1504152012-01-18  Tim Horton  <timothy_horton@apple.com>
150416
150417        [CG] Rasterized scaling of transformed SVG shapes with gradient fill and -webkit-svg-shadow applied
150418        https://bugs.webkit.org/show_bug.cgi?id=76482
150419        <rdar://problem/10415483>
150420
150421        Reviewed by Simon Fraser.
150422
150423        Scale the CGLayer used when filling or stroking a shadowed path or rect with
150424        a gradient in GraphicsContextCG. Previously, the CGLayer was created and rendered
150425        into at the untransformed size of the shape, leading to pixelation when it was
150426        then scaled up and drawn into the destination.
150427
150428        Add AffineTransform::mapSize() to map a size through a transformation.
150429
150430        Test: svg/custom/transform-with-shadow-and-gradient.svg
150431
150432        * platform/graphics/cg/GraphicsContextCG.cpp:
150433        (WebCore::GraphicsContext::fillPath):
150434        (WebCore::GraphicsContext::strokePath):
150435        (WebCore::GraphicsContext::fillRect):
150436        (WebCore::GraphicsContext::strokeRect):
150437        * platform/graphics/transforms/AffineTransform.cpp:
150438        (WebCore::AffineTransform::mapSize): Added.
150439        * platform/graphics/transforms/AffineTransform.h:
150440
1504412012-01-18  Dominic Mazzoni  <dmazzoni@google.com>
150442
150443        Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
150444        https://bugs.webkit.org/show_bug.cgi?id=73460
150445
150446        Reviewed by Chris Fleizach.
150447
150448        Tests: platform/chromium/accessibility/scroll-to-global-point-main-window.html
150449               platform/chromium/accessibility/scroll-to-global-point-nested.html
150450               platform/chromium/accessibility/scroll-to-global-point-iframe.html
150451               platform/chromium/accessibility/scroll-to-global-point-iframe-nested.html
150452               platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html
150453               platform/chromium/accessibility/scroll-to-make-visible-iframe.html
150454               platform/chromium/accessibility/scroll-to-make-visible-main-window.html
150455               platform/chromium/accessibility/scroll-to-make-visible-nested.html
150456               platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html
150457
150458        * accessibility/AccessibilityObject.cpp:
150459        (WebCore::computeBestScrollOffset):
150460        (WebCore::AccessibilityObject::scrollToMakeVisible):
150461        (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
150462        (WebCore::AccessibilityObject::scrollToGlobalPoint):
150463        * accessibility/AccessibilityObject.h:
150464        (WebCore::AccessibilityObject::getScrollableAreaIfScrollable):
150465        (WebCore::AccessibilityObject::scrollTo):
150466        * accessibility/AccessibilityRenderObject.cpp:
150467        (WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
150468        (WebCore::AccessibilityRenderObject::scrollTo):
150469        * accessibility/AccessibilityRenderObject.h:
150470        * accessibility/AccessibilityScrollView.cpp:
150471        (WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
150472        (WebCore::AccessibilityScrollView::scrollTo):
150473        * accessibility/AccessibilityScrollView.h:
150474
1504752012-01-17  Alexey Proskuryakov  <ap@apple.com>
150476
150477        file:// doesn't work as base URL
150478        https://bugs.webkit.org/show_bug.cgi?id=76496
150479
150480        Reviewed by Darin Adler.
150481
150482        Test: fast/url/degenerate-file-base.html
150483
150484        * platform/KURL.cpp: (WebCore::KURL::parse): Handle degenerate file URLs properly.
150485
1504862012-01-18  Ilya Tikhonovsky  <loislo@chromium.org>
150487
150488        [chromium] Web Inspector: highlight DOM nodes from detached DOM trees.
150489        https://bugs.webkit.org/show_bug.cgi?id=76545
150490
150491        Reviewed by Yury Semikhatsky.
150492
150493        * inspector/front-end/DetailedHeapshotGridNodes.js:
150494        (WebInspector.HeapSnapshotGenericObjectNode):
150495        (WebInspector.HeapSnapshotGenericObjectNode.prototype.get data):
150496        * inspector/front-end/HeapSnapshot.js:
150497        (WebInspector.HeapSnapshotNode.prototype.get isNativeRoot):
150498        (WebInspector.HeapSnapshotNode.prototype.get isDetachedDOMTree):
150499        (WebInspector.HeapSnapshot.prototype._init):
150500        (WebInspector.HeapSnapshot.prototype._markDetachedDOMTreeNodes):
150501        (WebInspector.HeapSnapshot.prototype._markQueriableHeapObjects):
150502        (WebInspector.HeapSnapshot.prototype._calculateFlags):
150503        * inspector/front-end/heapProfiler.css:
150504        (.detached-dom-tree-node):
150505
1505062012-01-18  Pavel Feldman  <pfeldman@google.com>
150507
150508        Web Inspector: there should be a way to set HTML for given frame.
150509        https://bugs.webkit.org/show_bug.cgi?id=76548
150510
150511        Reviewed by Yury Semikhatsky.
150512
150513        * inspector/Inspector.json:
150514        * inspector/InspectorPageAgent.cpp:
150515        (WebCore::InspectorPageAgent::setDocumentContent):
150516        * inspector/InspectorPageAgent.h:
150517        * inspector/front-end/DOMAgent.js:
150518        (WebInspector.DOMModelResourceBinding.prototype.setContent.callbackWrapper):
150519        (WebInspector.DOMModelResourceBinding.prototype.setContent):
150520
1505212012-01-18  Sergio Villar Senin  <svillar@igalia.com>
150522
150523        [GTK] [regression] A couple of tests failing after r105253
150524        https://bugs.webkit.org/show_bug.cgi?id=76549
150525
150526        Reviewed by Gustavo Noronha Silva.
150527
150528        Fixes a regression added by r105253. The method that
150529        RenderThemeGtk needs to overwrite is popsMenuBySpaceOrReturn()
150530        instead of popsMenuByArrowKeys().
150531
150532        No new tests as it's already covered by
150533        fast/forms/select-popup-pagekeys.html and
150534        fast/forms/select/menulist-onchange-fired-with-key-up-down.html
150535        that started to fail after the revision mentioned above.
150536
150537        * platform/gtk/RenderThemeGtk.h:
150538        (WebCore::RenderThemeGtk::popsMenuBySpaceOrReturn):
150539
1505402012-01-18  Andrey Kosyakov  <caseq@chromium.org>
150541
150542        Web Inspector: omit compression field in HAR entries for resources coming from cache
150543        https://bugs.webkit.org/show_bug.cgi?id=76543
150544
150545        Reviewed by Yury Semikhatsky.
150546
150547        * inspector/front-end/HAREntry.js:
150548        (WebInspector.HAREntry.prototype._buildContent):
150549        (WebInspector.HAREntry.prototype.get responseCompression):
150550
1505512012-01-18  Mihnea Ovidenie  <mihnea@adobe.com>
150552
150553        [CSSRegions]Fix region style code in CSSStyleSelector
150554        https://bugs.webkit.org/show_bug.cgi?id=76453
150555
150556        Reviewed by Antti Koivisto.
150557
150558        Follow up after comments in https://bugs.webkit.org/show_bug.cgi?id=76064.
150559        With the new approach, the css rule specificity is correctly taken into account
150560        when applying the region style rule.
150561        No new tests, the region style tests are still disabled.
150562
150563        * css/CSSStyleSelector.cpp:
150564        (WebCore::RuleSet::RuleSetSelectorPair::RuleSetSelectorPair):
150565        (WebCore::CSSStyleSelector::CSSStyleSelector):
150566        (WebCore::CSSStyleSelector::addMatchedDeclaration):
150567        (WebCore::CSSStyleSelector::collectMatchingRules):
150568        (WebCore::CSSStyleSelector::collectMatchingRulesForRegion):
150569        (WebCore::CSSStyleSelector::matchRules):
150570        (WebCore::CSSStyleSelector::collectMatchingRulesForList):
150571        (WebCore::CSSStyleSelector::matchAllRules):
150572        (WebCore::CSSStyleSelector::styleForElement):
150573        (WebCore::CSSStyleSelector::pseudoStyleForElement):
150574        (WebCore::CSSStyleSelector::checkRegionStyle):
150575        (WebCore::CSSStyleSelector::checkRegionSelector):
150576        (WebCore::RuleData::RuleData):
150577        (WebCore::RuleSet::RuleSet):
150578        (WebCore::RuleSet::addRule):
150579        (WebCore::RuleSet::addRegionRule):
150580        (WebCore::RuleSet::addRulesFromSheet):
150581        (WebCore::isInsideRegionRule):
150582        (WebCore::CSSStyleSelector::applyDeclaration):
150583        (WebCore::CSSStyleSelector::applyDeclarations):
150584        (WebCore::CSSStyleSelector::isValidRegionStyleProperty):
150585        (WebCore::CSSStyleSelector::applyProperty):
150586        * css/CSSStyleSelector.h:
150587
1505882012-01-17  Jer Noble  <jer.noble@apple.com>
150589
150590        Mac fails to fire an 'error' event for a <video> <source> having an URL with no file extension
150591        https://bugs.webkit.org/show_bug.cgi?id=76494
150592
150593        Reviewed by Eric Carlson.
150594
150595        No new tests; fixes compositing/video/video-with-invalid-source.html. Modified 
150596        media/video-source-error-no-candidate.html to check error condition.
150597
150598        When we run out of media engines for a given resource, inform the media player client
150599        that resource loading failed by calling mediaPlayerResourceNotSupported().
150600
150601        * html/HTMLMediaElement.cpp:
150602        (WebCore::HTMLMediaElement::mediaPlayerResourceNotSupported):
150603        * html/HTMLMediaElement.h:
150604        * platform/graphics/MediaPlayer.cpp:
150605        (WebCore::MediaPlayer::loadWithNextMediaEngine):
150606        * platform/graphics/MediaPlayer.h:
150607        (WebCore::MediaPlayerClient::mediaPlayerResourceNotSupported):
150608
1506092012-01-18  Alexandru Chiculita  <achicu@adobe.com>
150610
150611        CSS Shaders: Parse float parameters for the custom() filter syntax
150612        https://bugs.webkit.org/show_bug.cgi?id=76253
150613
150614        Reviewed by Nikolas Zimmermann.
150615
150616        Custom CSS filters allow passing parameters from CSS to the underlying rendering technology (in this case WebGL Shaders).
150617        This patch adds support for parameters of types float, vec2, vec3 and vec4.
150618
150619        https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html#feCustomParamsAttribute
150620
150621        Tests: css3/filters/effect-custom-combined-missing.html
150622               css3/filters/effect-custom-parameters.html
150623
150624        * GNUmakefile.list.am:
150625        * Target.pri:
150626        * WebCore.gypi:
150627        * WebCore.vcproj/WebCore.vcproj:
150628        * WebCore.xcodeproj/project.pbxproj:
150629            Added CustomFilterParameter.h, CustomFilterNumberParameter.h and CustomFilterOperation.cpp to the projects.
150630
150631        * css/CSSComputedStyleDeclaration.cpp:
150632        (WebCore::CSSComputedStyleDeclaration::valueForCustomFilterNumberParameter):
150633        (WebCore::CSSComputedStyleDeclaration::valueForCustomFilterParameter):
150634        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
150635            Added the computed parameters in alphabetic order (CustomFilterOperation always keeps the parameters sorted).
150636        * css/CSSComputedStyleDeclaration.h:
150637        * css/CSSStyleSelector.cpp:
150638        (WebCore::sortParametersByNameComparator):
150639        (WebCore::CSSStyleSelector::parseCustomFilterNumberParamter):
150640        (WebCore::CSSStyleSelector::parseCustomFilterParameterList):
150641        (WebCore::CSSStyleSelector::createCustomFilterOperation):
150642            Added parsing for float, vec2, vec3 and vec4. The values are space separated.
150643
150644        * css/CSSStyleSelector.h:
150645        * platform/graphics/filters/CustomFilterNumberParameter.h: Added.
150646        (WebCore::CustomFilterNumberParameter::create):
150647        (WebCore::CustomFilterNumberParameter::size):
150648        (WebCore::CustomFilterNumberParameter::valueAt):
150649        (WebCore::CustomFilterNumberParameter::addValue):
150650        (WebCore::CustomFilterNumberParameter::CustomFilterNumberParameter):
150651
150652        * platform/graphics/filters/CustomFilterOperation.cpp: Added.
150653        (WebCore::CustomFilterOperation::CustomFilterOperation):
150654        (WebCore::CustomFilterOperation::~CustomFilterOperation):
150655            Moved constructor and destructor in CustomFilterOperation.cpp to avoid including CustomFilterParameter everywhere.
150656        (WebCore::CustomFilterOperation::hasSortedParameterList):
150657            Debug runtime check that we always have parameters in alphabetic order.
150658
150659        * platform/graphics/filters/CustomFilterOperation.h:
150660        (WebCore::CustomFilterOperation::create):
150661        (WebCore::CustomFilterOperation::parameters):
150662            Just added the parameters list. Not using a map, but keeping the items sorted by name. We need them sorted
150663            to make it easy and fast to merge two CustomFilterOperations during animations.
150664
150665        * platform/graphics/filters/CustomFilterParameter.h: Added.
150666        (WebCore::CustomFilterParameter::~CustomFilterParameter):
150667        (WebCore::CustomFilterParameter::parameterType):
150668        (WebCore::CustomFilterParameter::name):
150669        (WebCore::CustomFilterParameter::CustomFilterParameter):
150670        * platform/graphics/filters/CustomFilterShader.cpp:
150671        (WebCore::CustomFilterShader::uniformLocationByName):
150672        * platform/graphics/filters/CustomFilterShader.h:
150673
150674        * platform/graphics/filters/FECustomFilter.cpp:
150675        (WebCore::FECustomFilter::FECustomFilter):
150676        (WebCore::FECustomFilter::create):
150677        (WebCore::FECustomFilter::platformApplySoftware):
150678        (WebCore::FECustomFilter::bindProgramNumberParameters):
150679        (WebCore::FECustomFilter::bindProgramParameters):
150680            Added code that maps the parameters from CSS to WebGL.
150681        (WebCore::FECustomFilter::bindProgramAndBuffers):
150682        * platform/graphics/filters/FECustomFilter.h:
150683
150684        * rendering/FilterEffectRenderer.cpp:
150685        (WebCore::FilterEffectRenderer::build):
150686            Fixed a case when the filter was not created, letting the filter add itself as a source of its own. 
150687            Also added a test case for this particular case: css3/filters/effect-custom-combined-missing.html.
150688
1506892012-01-18  Andrey Kosyakov  <caseq@chromium.org>
150690
150691        Web Inspector: resource tree model leaks frames
150692        https://bugs.webkit.org/show_bug.cgi?id=76533
150693
150694        Reviewed by Pavel Feldman.
150695
150696        * inspector/front-end/ResourceTreeModel.js:
150697        (WebInspector.ResourceTreeModel.prototype._frameDetached):
150698        (WebInspector.ResourceTreeModel.prototype._removeFrame):
150699        (WebInspector.ResourceTreeFrame.prototype._removeChildFrame):
150700
1507012012-01-17  Vsevolod Vlasov  <vsevik@chromium.org>
150702
150703        Web Inspector: Enable support for Open Script dialog based on FilteredItemSelectionDialog.
150704        https://bugs.webkit.org/show_bug.cgi?id=76466
150705
150706        Reviewed by Pavel Feldman.
150707
150708        * English.lproj/localizedStrings.js:
150709        * inspector/front-end/FilteredItemSelectionDialog.js:
150710        (WebInspector.JavaScriptOutlineDialog.createShortcut):
150711        (WebInspector.OpenResourceDialog.filterOutEmptyURLs):
150712        (WebInspector.OpenResourceDialog):
150713        (WebInspector.OpenResourceDialog.install):
150714        (WebInspector.OpenResourceDialog._show):
150715        (WebInspector.OpenResourceDialog.createShortcut):
150716        (WebInspector.OpenResourceDialog.prototype.itemTitleAt):
150717        (WebInspector.OpenResourceDialog.prototype.itemKeyAt):
150718        (WebInspector.OpenResourceDialog.prototype.itemsCount):
150719        (WebInspector.OpenResourceDialog.prototype.requestItems):
150720        (WebInspector.OpenResourceDialog.prototype.selectItem):
150721        * inspector/front-end/ScriptsPanel.js:
150722        (WebInspector.ScriptsPanel.prototype.showUISourceCode):
150723
1507242012-01-18  Pavel Feldman  <pfeldman@google.com>
150725
150726        Not reviewed: follow up to r105262, fixing front-end compilation.
150727
150728        * inspector/front-end/DOMAgent.js:
150729        (WebInspector.DOMDocument):
150730        (WebInspector.DOMModelResourceBinding.prototype.setContent.setOuterHTML):
150731
1507322012-01-17  Pavel Feldman  <pfeldman@google.com>
150733
150734        Web Inspector: track HTML revisions when editing DOM and / or upon free flow edits.
150735        https://bugs.webkit.org/show_bug.cgi?id=76457
150736
150737        Reviewed by Yury Semikhatsky.
150738
150739        Test: inspector/elements/set-html-via-resource.html
150740
150741        * inspector/DOMEditor.cpp:
150742        (WebCore::DOMEditor::patchNode):
150743        * inspector/InspectorDOMAgent.cpp:
150744        (WebCore::InspectorDOMAgent::getOuterHTML):
150745        (WebCore::InspectorDOMAgent::setOuterHTML):
150746        (WebCore::InspectorDOMAgent::buildObjectForNode):
150747        * inspector/front-end/DOMAgent.js:
150748        (WebInspector.DOMNode):
150749        (WebInspector.DOMNode.prototype.setNodeName):
150750        (WebInspector.DOMNode.prototype.setNodeValue):
150751        (WebInspector.DOMNode.prototype.setAttribute):
150752        (WebInspector.DOMNode.prototype.setAttributeValue):
150753        (WebInspector.DOMNode.prototype.removeAttribute):
150754        (WebInspector.DOMNode.prototype.getChildNodes.mycallback):
150755        (WebInspector.DOMNode.prototype.getChildNodes):
150756        (WebInspector.DOMNode.prototype.setOuterHTML):
150757        (WebInspector.DOMNode.prototype.removeNode):
150758        (WebInspector.DOMNode.prototype.moveTo):
150759        (WebInspector.DOMDocument):
150760        (WebInspector.DOMAgent):
150761        (WebInspector.DOMAgent.prototype._setDocument):
150762        (WebInspector.DOMAgent.prototype._buildHighlightConfig):
150763        (WebInspector.DOMAgent.prototype._markRevision):
150764        (WebInspector.DOMAgent.prototype._captureDOM.callback):
150765        (WebInspector.DOMAgent.prototype._captureDOM):
150766        (WebInspector.DOMModelResourceBinding.prototype.setContent):
150767        (WebInspector.DOMModelResourceBinding.prototype.setContent.setOuterHTML):
150768        (WebInspector.DOMModelResourceBinding.prototype.setContent.withDocument):
150769        * inspector/front-end/ElementsTreeOutline.js:
150770        (WebInspector.ElementsTreeElement.prototype._attributeEditingCommitted):
150771
1507722012-01-18  Andrey Kosyakov  <caseq@chromium.org>
150773
150774        Web Inspector: Popover does not disappear, causes debugger failure.
150775        https://bugs.webkit.org/show_bug.cgi?id=71363
150776
150777        Reviewed by Pavel Feldman.
150778
150779        This is a work-around simple enough for a merge. The real fix would
150780        be to get TextViewer to manage the highlight on its own, so it's not
150781        accidently removed while re-building DOM for the text chunk.
150782
150783        * inspector/front-end/JavaScriptSourceFrame.js:
150784        (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
150785
1507862012-01-18  Shinya Kawanaka  <shinyak@google.com>
150787
150788        Unreviewed build fix.
150789        https://bugs.webkit.org/show_bug.cgi?id=76525
150790
150791        Removed missing build headers.
150792
150793        * WebCore.xcodeproj/project.pbxproj:
150794
1507952012-01-18  Jun Mukai  <mukai@chromium.org>
150796
150797        Use RenderTheme in HTMLSelectElement instead of #defines.
150798        <http://webkit.org/b/76519>
150799
150800        Reviewed by Kent Tamura.
150801
150802        Tests: no new tests because of no behavioral changes.
150803
150804        * html/HTMLSelectElement.cpp:
150805        (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
150806        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
150807        * platform/gtk/RenderThemeGtk.h:
150808        (WebCore::RenderThemeGtk::popsMenuByArrowKeys):
150809        * rendering/RenderTheme.h:
150810        (WebCore::RenderTheme::popsMenuByArrowKeys):
150811        (WebCore::RenderTheme::popsMenuBySpaceOrReturn):
150812        * rendering/RenderThemeChromiumLinux.h:
150813        (WebCore::RenderThemeChromiumLinux::popsMenuBySpaceOrReturn):
150814        * rendering/RenderThemeMac.h:
150815        (WebCore::RenderThemeMac::popsMenuByArrowKeys):
150816
1508172012-01-18  Abhishek Arya  <inferno@chromium.org>
150818
150819        Crash in FrameView::forceLayoutParentViewIfNeeded.        
150820        https://bugs.webkit.org/show_bug.cgi?id=76309
150821
150822        Reviewed by Nikolas Zimmermann.
150823
150824        updateWidgetPositions can blow away the owning renderer
150825        and its frameview, so need to protect it with refptr.
150826
150827        Test: svg/dom/parent-view-layout-crash.html
150828
150829        * page/FrameView.cpp:
150830        (WebCore::FrameView::forceLayoutParentViewIfNeeded):
150831
1508322012-01-18  Shinya Kawanaka  <shinyak@google.com>
150833
150834        Move ShadowContentElement from dom/ to html/ and make ShadowContentElement subclass of HTMLElement.
150835        https://bugs.webkit.org/show_bug.cgi?id=76241
150836
150837        Reviewed by Dimitri Glazkov.
150838
150839        Renamed ShadowContentElement to HTMLContentElement, and move it from dom/ to html/.
150840        Also, ShadowInclusionSelector and ShadowContentSelectorQuery are renamed to
150841        Content InclusionSelector and ContentSelectorQuery respectively.
150842
150843        No new tests, because no change in behavior.
150844
150845        * CMakeLists.txt:
150846        * GNUmakefile.list.am:
150847        * Target.pri:
150848        * WebCore.exp.in:
150849        * WebCore.gypi:
150850        * WebCore.vcproj/WebCore.vcproj:
150851        * WebCore.xcodeproj/project.pbxproj:
150852        * dom/DOMAllInOne.cpp:
150853        * dom/NodeRenderingContext.cpp:
150854        (WebCore::nextRendererOf):
150855        (WebCore::previousRendererOf):
150856        (WebCore::firstRendererOf):
150857        (WebCore::lastRendererOf):
150858        (WebCore::NodeRenderingContext::nextRenderer):
150859        (WebCore::NodeRenderingContext::previousRenderer):
150860        * dom/NodeRenderingContext.h:
150861        (WebCore::NodeRenderingContext::includer):
150862        * dom/ShadowRoot.cpp:
150863        (WebCore::ShadowRoot::includerFor):
150864        (WebCore::ShadowRoot::inclusions):
150865        (WebCore::ShadowRoot::ensureInclusions):
150866        * dom/ShadowRoot.h:
150867        * html/HTMLDetailsElement.cpp:
150868        (WebCore::DetailsContentElement::DetailsContentElement):
150869        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
150870        * html/HTMLElementsAllInOne.cpp:
150871        * html/HTMLSummaryElement.cpp:
150872        (WebCore::SummaryContentElement::SummaryContentElement):
150873        * html/shadow/ContentInclusionSelector.cpp: Renamed from Source/WebCore/dom/ShadowInclusionSelector.cpp.
150874        (WebCore::ShadowInclusion::append):
150875        (WebCore::ShadowInclusion::unlink):
150876        (WebCore::ShadowInclusionList::ShadowInclusionList):
150877        (WebCore::ShadowInclusionList::~ShadowInclusionList):
150878        (WebCore::ShadowInclusionList::find):
150879        (WebCore::ShadowInclusionList::clear):
150880        (WebCore::ShadowInclusionList::append):
150881        (WebCore::ContentInclusionSelector::ContentInclusionSelector):
150882        (WebCore::ContentInclusionSelector::~ContentInclusionSelector):
150883        (WebCore::ContentInclusionSelector::select):
150884        (WebCore::ContentInclusionSelector::unselect):
150885        (WebCore::ContentInclusionSelector::findFor):
150886        (WebCore::ContentInclusionSelector::didSelect):
150887        (WebCore::ContentInclusionSelector::willSelectOver):
150888        * html/shadow/ContentInclusionSelector.h: Renamed from Source/WebCore/dom/ShadowInclusionSelector.h.
150889        (WebCore::ShadowInclusion::includer):
150890        (WebCore::ShadowInclusion::content):
150891        (WebCore::ShadowInclusion::next):
150892        (WebCore::ShadowInclusion::previous):
150893        (WebCore::ShadowInclusion::ShadowInclusion):
150894        (WebCore::ShadowInclusion::create):
150895        (WebCore::ShadowInclusionList::first):
150896        (WebCore::ShadowInclusionList::last):
150897        (WebCore::ShadowInclusionList::isEmpty):
150898        (WebCore::ShadowInclusionSet::add):
150899        (WebCore::ShadowInclusionSet::remove):
150900        (WebCore::ShadowInclusionSet::isEmpty):
150901        (WebCore::ShadowInclusionSet::Translator::hash):
150902        (WebCore::ShadowInclusionSet::Translator::equal):
150903        (WebCore::ShadowInclusionSet::Hash::hash):
150904        (WebCore::ShadowInclusionSet::Hash::equal):
150905        (WebCore::ShadowInclusionSet::find):
150906        (WebCore::ContentInclusionSelector::hasCandidates):
150907        * html/shadow/ContentSelectorQuery.cpp: Renamed from Source/WebCore/dom/ShadowContentSelectorQuery.cpp.
150908        (WebCore::ContentSelectorQuery::ContentSelectorQuery):
150909        (WebCore::ContentSelectorQuery::matches):
150910        * html/shadow/ContentSelectorQuery.h: Renamed from Source/WebCore/dom/ShadowContentSelectorQuery.h.
150911        * html/shadow/HTMLContentElement.cpp: Renamed from Source/WebCore/dom/ShadowContentElement.cpp.
150912        (WebCore::HTMLContentElement::create):
150913        (WebCore::HTMLContentElement::HTMLContentElement):
150914        (WebCore::HTMLContentElement::~HTMLContentElement):
150915        (WebCore::HTMLContentElement::attach):
150916        (WebCore::HTMLContentElement::detach):
150917        (WebCore::HTMLContentElement::select):
150918        (WebCore::HTMLContentElement::setSelect):
150919        * html/shadow/HTMLContentElement.h: Renamed from Source/WebCore/dom/ShadowContentElement.h.
150920        (WebCore::HTMLContentElement::inclusions):
150921        (WebCore::HTMLContentElement::isContentElement):
150922        (WebCore::HTMLContentElement::rendererIsNeeded):
150923        (WebCore::HTMLContentElement::createRenderer):
150924        (WebCore::toHTMLContentElement):
150925        * testing/Internals.cpp:
150926        (WebCore::Internals::createContentElement):
150927        * testing/Internals.h:
150928        * testing/Internals.idl:
150929
1509302012-01-17  Nikolas Zimmermann  <nzimmermann@rim.com>
150931
150932        RenderSVGRoot should inherit from RenderReplaced
150933        https://bugs.webkit.org/show_bug.cgi?id=76446
150934
150935        Reviewed by Zoltan Herczeg.
150936
150937        Let RenderSVGRoot inherit from RenderReplaced, instead of faking RenderReplaced, by inherting from RenderBox
150938        and calling setReplaced(true) in the constructor. The outermost <svg> element is a replaced element in the
150939        sense of CSS, and thus this is just a logical move. It fixes some issues where the <svg> root appeared
150940        as selection leaf, covered by existing tests.
150941
150942        It allows us to simplify the painting, as outlines, etc. are painted by RenderReplaced now.
150943        While I was it, speed up the local to border box computations by caching the result.
150944
150945        * rendering/RenderReplaced.cpp:
150946        (WebCore::RenderReplaced::paint):
150947        * rendering/svg/RenderSVGRoot.cpp:
150948        (WebCore::RenderSVGRoot::RenderSVGRoot):
150949        (WebCore::RenderSVGRoot::layout):
150950        (WebCore::RenderSVGRoot::paintReplaced):
150951        (WebCore::RenderSVGRoot::willBeDestroyed):
150952        (WebCore::RenderSVGRoot::styleWillChange):
150953        (WebCore::RenderSVGRoot::styleDidChange):
150954        (WebCore::RenderSVGRoot::updateFromElement):
150955        (WebCore::RenderSVGRoot::buildLocalToBorderBoxTransform):
150956        (WebCore::RenderSVGRoot::localToParentTransform):
150957        (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
150958        (WebCore::RenderSVGRoot::mapLocalToContainer):
150959        (WebCore::RenderSVGRoot::nodeAtPoint):
150960        * rendering/svg/RenderSVGRoot.h:
150961        (WebCore::RenderSVGRoot::canHaveChildren):
150962        (WebCore::RenderSVGRoot::canBeSelectionLeaf):
150963        * svg/SVGSVGElement.cpp:
150964        (WebCore::SVGSVGElement::setupInitialView):
150965
1509662012-01-17  Sheriff Bot  <webkit.review.bot@gmail.com>
150967
150968        Unreviewed, rolling out r105244.
150969        http://trac.webkit.org/changeset/105244
150970        https://bugs.webkit.org/show_bug.cgi?id=76518
150971
150972        broke Chromium Mac (Requested by rolandsteiner on #webkit).
150973
150974        * accessibility/AccessibilityObject.cpp:
150975        (WebCore::AccessibilityObject::checkboxOrRadioValue):
150976        * accessibility/AccessibilityObject.h:
150977        * accessibility/AccessibilityRenderObject.cpp:
150978        * accessibility/AccessibilityRenderObject.h:
150979        * accessibility/AccessibilityScrollView.cpp:
150980        * accessibility/AccessibilityScrollView.h:
150981
1509822012-01-17  Hajime Morrita  <morrita@chromium.org>
150983
150984        [Internals] Should be able to access corresponding Document object.
150985        https://bugs.webkit.org/show_bug.cgi?id=76425
150986
150987        Reviewed by Adam Barth.
150988
150989        - Allow FrameDestructionObserver to re-setting the Frame reference.
150990        - Make Internals a subclass of FrameDestructionObserver.
150991
150992        Since Internals::reset() is called for each test, we can access
150993        the acive Frame object during the test. The frame reference will be
150994        used by coming changes.
150995
150996        No new tests. Covered by existing tests.
150997
150998        * WebCore.exp.in:
150999        * page/FrameDestructionObserver.cpp:
151000        (WebCore::FrameDestructionObserver::FrameDestructionObserver):
151001        (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
151002        (WebCore::FrameDestructionObserver::observe):
151003        * page/FrameDestructionObserver.h:
151004        * testing/Internals.cpp:
151005        (WebCore::Internals::Internals):
151006        (WebCore::Internals::reset):
151007        * testing/Internals.h:
151008
1510092012-01-17  Dominic Mazzoni  <dmazzoni@google.com>
151010
151011        Accessibility: Chromium needs methods to scroll an object into view or to a specific location.
151012        https://bugs.webkit.org/show_bug.cgi?id=73460
151013
151014        Reviewed by Chris Fleizach.
151015
151016        Tests: platform/chromium/accessibility/scroll-to-global-point-main-window.html
151017               platform/chromium/accessibility/scroll-to-global-point-nested.html
151018               platform/chromium/accessibility/scroll-to-make-visible-div-overflow.html
151019               platform/chromium/accessibility/scroll-to-make-visible-iframe.html
151020               platform/chromium/accessibility/scroll-to-make-visible-main-window.html
151021               platform/chromium/accessibility/scroll-to-make-visible-nested.html
151022               platform/chromium/accessibility/scroll-to-make-visible-with-subfocus.html
151023
151024        * accessibility/AccessibilityObject.cpp:
151025        (WebCore::computeBestScrollOffset):
151026        (WebCore::AccessibilityObject::scrollToMakeVisible):
151027        (WebCore::AccessibilityObject::scrollToMakeVisibleWithSubFocus):
151028        (WebCore::AccessibilityObject::scrollToGlobalPoint):
151029        * accessibility/AccessibilityObject.h:
151030        (WebCore::AccessibilityObject::getScrollableAreaIfScrollable):
151031        (WebCore::AccessibilityObject::scrollTo):
151032        * accessibility/AccessibilityRenderObject.cpp:
151033        (WebCore::AccessibilityRenderObject::getScrollableAreaIfScrollable):
151034        (WebCore::AccessibilityRenderObject::scrollTo):
151035        * accessibility/AccessibilityRenderObject.h:
151036        * accessibility/AccessibilityScrollView.cpp:
151037        (WebCore::AccessibilityScrollView::getScrollableAreaIfScrollable):
151038        (WebCore::AccessibilityScrollView::scrollTo):
151039        * accessibility/AccessibilityScrollView.h:
151040
1510412012-01-17  Joe Thomas  <joethomas@motorola.com>
151042
151043        https://bugs.webkit.org/show_bug.cgi?id=75089
151044        Access-Control-Request-Headers value should be lowercase
151045
151046        Access-Control-Request-Headers is used when issuing a preflight request to let the server know
151047        the HTTP headers that will be used when the actual request is made.
151048        As per the W3C specification, Access-Control-Request-Headers value should be set in lowercase.
151049
151050        Reviewed by Alexey Proskuryakov.
151051
151052        Test: http/tests/xmlhttprequest/access-control-preflight-request-header-lowercase.html
151053
151054        * loader/CrossOriginAccessControl.cpp:
151055        (WebCore::createAccessControlPreflightRequest): setting Access-Control-Request-Headers value to lowercase
151056
1510572012-01-17  Hayato Ito  <hayato@chromium.org>
151058
151059        Clean EventContext and move phase-tweaking logic to EventDispatcher.
151060        https://bugs.webkit.org/show_bug.cgi?id=76414
151061
151062        Reviewed by Dimitri Glazkov.
151063
151064        No tests. No change in behavior.
151065
151066        * dom/EventContext.cpp:
151067        (WebCore::EventContext::handleLocalEvents):
151068        * dom/EventContext.h:
151069        (WebCore::EventContext::currentTargetSameAsTarget):
151070        * dom/EventDispatcher.cpp:
151071        (WebCore::EventDispatcher::dispatchEvent):
151072
1510732012-01-17  David Levin  <levin@chromium.org>
151074
151075        Need to figure out which assert is firing when worker-read-blob-async.html fails.
151076        https://bugs.webkit.org/show_bug.cgi?id=76503
151077
151078        Reviewed by Adam Barth.
151079
151080        No new functionality exposed so no new tests.
151081
151082        This is just a quick and dirty way to make these asserts unique
151083        to expose which one of them is firing on a machine that doesn't have a
151084        good stack trace.
151085
151086        * dom/ActiveDOMObject.cpp:
151087        (WebCore::ContextDestructionObserver::ContextDestructionObserver):
151088        (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
151089        (WebCore::ActiveDOMObject::ActiveDOMObject):
151090        (WebCore::ActiveDOMObject::~ActiveDOMObject):
151091        * storage/DatabaseSync.cpp:
151092        (WebCore::DatabaseSync::openDatabaseSync):
151093        (WebCore::DatabaseSync::~DatabaseSync):
151094        (WebCore::DatabaseSync::changeVersion):
151095        (WebCore::DatabaseSync::runTransaction):
151096
1510972012-01-17  Matthew Delaney  <mdelaney@apple.com>
151098
151099        On post-Lion releases, preserve the Lion behavior where WebKit explicitly calls -setGeometryFlipped on the hosting layer for applications that were linked on Lion or earlier.
151100        <rdar://problem/10692025>
151101
151102        Reviewed by Simon Fraser.
151103
151104        * platform/mac/WebCoreSystemInterface.h: Added in new function for checking if linked-on-or-before Lion.
151105        * platform/mac/WebCoreSystemInterface.mm: Ditto.
151106
1511072012-01-17  Yongsheng Zhu  <yongsheng.zhu@intel.com>
151108
151109        Clear 'm_size' of DrawingBuffer in the 'clear' function
151110        https://bugs.webkit.org/show_bug.cgi?id=76239
151111
151112        Reviewed by Kenneth Russell.
151113        
151114        Clear the resources of DrawingBuffer but don't clear 'm_size'. This makes
151115        's_currentResourceUsePixels' is not calculated correctly.
151116
151117        * platform/graphics/gpu/DrawingBuffer.cpp:
151118        (WebCore::DrawingBuffer::clear):
151119
1511202012-01-17  Philip Rogers  <pdr@google.com>
151121
151122        Fix getBBox for perpendicular paths
151123        https://bugs.webkit.org/show_bug.cgi?id=76177
151124
151125        Reviewed by Darin Adler.
151126
151127        Test: svg/custom/getBBox-perpendicular-path.svg
151128
151129        * platform/graphics/FloatRect.cpp:
151130        (WebCore::FloatRect::unite):
151131        (WebCore::FloatRect::uniteEvenIfEmpty):
151132        (WebCore::FloatRect::uniteIfNonZero):
151133        * platform/graphics/FloatRect.h:
151134        * rendering/svg/SVGRenderSupport.cpp:
151135        (WebCore::SVGRenderSupport::computeContainerBoundingBoxes):
151136
1511372012-01-17  Kenneth Russell  <kbr@google.com>
151138
151139        [chromium] Apply color profiles in more cases
151140        https://bugs.webkit.org/show_bug.cgi?id=76498
151141
151142        Reviewed by Stephen White.
151143
151144        Not adding new tests, as application of the color profile is not
151145        guaranteed for images used as textures in WebGL. Ran existing
151146        WebGL layout tests; all pass.
151147
151148        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
151149        (WebCore::ImageFrame::setStatus):
151150
1511512012-01-17  Nate Chapin  <japhet@chromium.org>
151152
151153        Ensure we don't cancel revalidation of a CachedResource
151154        in the middle of successful revalidation.
151155        It's more reliable to enforce this in CachedResource than in
151156        SubresourceLoader.
151157        https://bugs.webkit.org/show_bug.cgi?id=75713
151158
151159        Reviewed by Adam Barth.
151160
151161        No new test, the buggy case requires a non-stubbed window.print().
151162
151163        * loader/SubresourceLoader.cpp:
151164        (WebCore::SubresourceLoader::didReceiveResponse):
151165        (WebCore::SubresourceLoader::didFinishLoading):
151166        * loader/SubresourceLoader.h:
151167        * loader/cache/CachedResource.cpp:
151168        (WebCore::CachedResource::CachedResource):
151169        (WebCore::CachedResource::clearResourceToRevalidate):
151170        (WebCore::CachedResource::switchClientsToRevalidatedResource):
151171        * loader/cache/CachedResource.h:
151172
1511732012-01-17  Stephen Chenney  <schenney@chromium.org>
151174
151175        NULL ptr in WebCore::RenderSVGInlineText::localCaretRect
151176        https://bugs.webkit.org/show_bug.cgi?id=75851
151177
151178        Reviewed by Ryosuke Niwa.
151179
151180        Added a check for null box in localCaretRect, to match test in other
151181        implementations. Adding a manual test because the crash is not reproducible
151182        in DRT.
151183
151184        Test: ManualTests/svg-modify-deleted-selection.svg
151185
151186        * rendering/svg/RenderSVGInlineText.cpp:
151187        (WebCore::RenderSVGInlineText::localCaretRect):
151188
1511892012-01-17  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
151190
151191        Uint8ClampedArray support
151192        https://bugs.webkit.org/show_bug.cgi?id=74455
151193
151194        Reviewed by Filip Pizlo.
151195
151196        Test: fast/js/dfg-uint8clampedarray.html
151197
151198        * CMakeLists.txt:
151199        * DerivedSources.cpp:
151200        * DerivedSources.make:
151201        * DerivedSources.pri:
151202        * ForwardingHeaders/wtf/Uint8ClampedArray.h: Added.
151203        * GNUmakefile.list.am:
151204        * Target.pri:
151205        * UseJSC.cmake:
151206        * WebCore.xcodeproj/project.pbxproj:
151207        * bindings/js/JSBindingsAllInOne.cpp:
151208        * bindings/js/JSDOMWindowCustom.cpp:
151209        * bindings/js/JSUint8ClampedArrayCustom.cpp: Added.
151210        (WebCore::JSUint8ClampedArray::indexSetter):
151211        (WebCore::toJS):
151212        (WebCore::JSUint8ClampedArray::set):
151213        (WebCore::JSUint8ClampedArrayConstructor::constructJSUint8ClampedArray):
151214        * bindings/scripts/CodeGeneratorJS.pm:
151215        (IsTypedArrayType):
151216        (GenerateHeader):
151217        * html/canvas/Uint8ClampedArray.idl: Added.
151218        * page/DOMWindow.idl:
151219
1512202012-01-17  Abhishek Arya  <inferno@chromium.org>
151221
151222        Crash in in WebCore::EventHandler::mouseMoved.
151223        https://bugs.webkit.org/show_bug.cgi?id=76462
151224
151225        Reviewed by Ryosuke Niwa.
151226
151227        handleMouseMoveEvent call in EventHandler::mouseMoved can
151228        blow away the frame from underneath. Protect it with a frameview
151229        refptr.        
151230
151231        Test: fast/events/mouse-moved-remove-frame-crash.html
151232
151233        * page/EventHandler.cpp:
151234        (WebCore::EventHandler::mouseMoved):
151235
1512362012-01-17  Sam Weinig  <sam@webkit.org>
151237
151238        Add helper macro for forward declaring objective-c classes
151239        https://bugs.webkit.org/show_bug.cgi?id=76485
151240
151241        Reviewed by Anders Carlsson.
151242
151243        * accessibility/AccessibilityObject.h:
151244        * bindings/js/ScriptController.h:
151245        * bridge/objc/objc_utility.h:
151246        * page/DragClient.h:
151247        * page/EditorClient.h:
151248        * platform/AutodrainedPool.h:
151249        * platform/ContextMenuItem.h:
151250        * platform/Cursor.h:
151251        * platform/DragData.h:
151252        * platform/DragImage.h:
151253        * platform/KURL.h:
151254        * platform/Pasteboard.h:
151255        * platform/PlatformKeyboardEvent.h:
151256        * platform/PlatformMenuDescription.h:
151257        * platform/PlatformScreen.h:
151258        * platform/SharedBuffer.h:
151259        * platform/Widget.h:
151260        * platform/cf/SchedulePair.h:
151261        * platform/graphics/BitmapImage.h:
151262        * platform/graphics/FontPlatformData.h:
151263        * platform/graphics/GraphicsContext3D.h:
151264        * platform/graphics/GraphicsLayer.h:
151265        * platform/graphics/Icon.h:
151266        * platform/graphics/Image.h:
151267        * platform/graphics/MediaPlayer.h:
151268        * platform/graphics/avfoundation/objc/MediaPlayerPrivateAVFoundationObjC.h:
151269        * platform/graphics/ca/PlatformCAAnimation.h:
151270        * platform/graphics/ca/mac/TileCache.h:
151271        * platform/graphics/mac/ColorMac.h:
151272        * platform/graphics/mac/MediaPlayerPrivateQTKit.h:
151273        * platform/graphics/mac/MediaPlayerProxy.h:
151274        * platform/mac/ClipboardMac.h:
151275        * platform/mac/LocalCurrentGraphicsContext.h:
151276        * platform/mac/PasteboardHelper.h:
151277        * platform/mac/PopupMenuMac.h:
151278        * platform/mac/ScrollAnimatorMac.h:
151279        * platform/mac/WebCoreSystemInterface.h:
151280        * platform/network/ResourceHandle.h:
151281        * platform/network/ResourceHandleClient.h:
151282        * platform/network/ResourceHandleInternal.h:
151283        * platform/network/cf/AuthenticationChallenge.h:
151284        * platform/network/cf/ResourceError.h:
151285        * platform/network/cf/ResourceRequest.h:
151286        * platform/network/cf/ResourceResponse.h:
151287        * rendering/RenderThemeMac.h:
151288        Deploy OBJC_CLASS for a little code reduction.
151289
1512902012-01-17  Andreas Kling  <awesomekling@apple.com>
151291
151292        SpaceSplitString: Share equivalent string piece vectors.
151293        <http://webkit.org/b/76458>
151294
151295        Reviewed by Antti Koivisto.
151296
151297        Make SpaceSplitStringData ref-counted and cache them in a hashmap to reduce memory
151298        usage and avoid redundant string splitting work.  This reduces memory consumption
151299        by 618 kB (on 64-bit) when viewing the full HTML5 spec at <http://whatwg.org/c>
151300
151301        * dom/SpaceSplitString.h:
151302
151303            Add the source string to SpaceSplitStringData so we have a key for uncaching
151304            in the destructor. Also bumped the vector's inline size from 2 to 4.
151305
151306        * dom/SpaceSplitString.cpp:
151307        (WebCore::sharedDataMap):
151308        (WebCore::SpaceSplitStringData::create):
151309        (WebCore::SpaceSplitStringData::createUnique):
151310        (WebCore::SpaceSplitStringData::SpaceSplitStringData):
151311        (WebCore::SpaceSplitString::SpaceSplitString):
151312        (WebCore::SpaceSplitString::set):
151313        (WebCore::SpaceSplitStringData::createVector):
151314
151315            Added create helpers for SpaceSplitStringData. Moved case folding from
151316            createVector() to create(AtomicString). Added a hash map for caching
151317            AtomicString -> SpaceSplitStringData.
151318
151319        (WebCore::SpaceSplitStringData::~SpaceSplitStringData):
151320
151321            Remove the SpaceSplitStringData from the sharedDataMap().
151322
151323        * dom/SpaceSplitString.cpp:
151324        (WebCore::SpaceSplitString::ensureUnique):
151325
151326            Added, detaches from the shared SpaceSplitStringData if necessary.
151327
151328        (WebCore::SpaceSplitStringData::add):
151329        (WebCore::SpaceSplitStringData::remove):
151330
151331            Assert that add() and remove() are only used on unique SpaceSplitStringData.
151332
151333        (WebCore::SpaceSplitString::add):
151334        (WebCore::SpaceSplitString::remove):
151335
151336            Call ensureUnique() to potentially detach from a shared SpaceSplitStringData
151337            before making modifications.
151338
151339        * dom/SpaceSplitString.cpp:
151340        (WebCore::SpaceSplitStringData::containsAll):
151341
151342            Added gratuitous fast path for containsAll(*this).
151343
1513442012-01-12  David Hyatt  <hyatt@apple.com>
151345
151346        https://bugs.webkit.org/show_bug.cgi?id=76197
151347        
151348        Implementation of baseline grid alignment. This patch implements line grid tracking in the layout state,
151349        and also implements the snapping of lines to baselines. It works with normal flow, positioning and floats and
151350        with pagination, as long as the grid is inside the pagination context and not outside.
151351
151352        Reviewed by Simon Fraser.
151353
151354        Added a bunch of new tests in fast/line-grid.
151355
151356        * WebCore.xcodeproj/project.pbxproj:
151357        * rendering/InlineFlowBox.h:
151358        (WebCore::InlineFlowBox::setHasTextChildren):
151359        * rendering/LayoutState.cpp:
151360        (WebCore::LayoutState::LayoutState):
151361        (WebCore::LayoutState::propagateLineGridInfo):
151362        (WebCore::LayoutState::establishLineGrid):
151363        * rendering/LayoutState.h:
151364        (WebCore::LayoutState::LayoutState):
151365        (WebCore::LayoutState::pageLogicalHeight):
151366        (WebCore::LayoutState::currentLineGrid):
151367        (WebCore::LayoutState::currentLineGridOffset):
151368        (WebCore::LayoutState::layoutOffset):
151369        (WebCore::LayoutState::needsBlockDirectionLocationSetBeforeLayout):
151370        * rendering/RenderBlock.cpp:
151371        (WebCore::RenderBlock::layoutBlockChildren):
151372        (WebCore::RenderBlock::layoutPositionedObjects):
151373        (WebCore::RenderBlock::insertFloatingObject):
151374        (WebCore::RenderBlock::positionNewFloats):
151375        (WebCore::RenderBlock::pageLogicalTopForOffset):
151376        (WebCore::RenderBlock::adjustLinePositionForPagination):
151377        * rendering/RenderBlock.h:
151378        (WebCore::RenderBlock::lineGridBox):
151379        (WebCore::RenderBlock::setLineGridBox):
151380        (WebCore::RenderBlock::RenderBlockRareData::RenderBlockRareData):
151381        * rendering/RenderBlockLineLayout.cpp:
151382        (WebCore::RenderBlock::layoutInlineChildren):
151383        (WebCore::RenderBlock::layoutLineGridBox):
151384        * rendering/RenderFlowThread.cpp:
151385        (WebCore::RenderFlowThread::regionLogicalTopForLine):
151386        * rendering/RenderFlowThread.h:
151387        * rendering/RenderView.h:
151388        (WebCore::RenderView::pushLayoutState):
151389        * rendering/RootInlineBox.cpp:
151390        (WebCore::RootInlineBox::alignBoxesInBlockDirection):
151391        (WebCore::RootInlineBox::lineGridSnapAdjustment):
151392        * rendering/RootInlineBox.h:
151393
1513942012-01-17  Tim Horton  <timothy_horton@apple.com>
151395
151396        -webkit-cross-fade doesn't respect background-size
151397        https://bugs.webkit.org/show_bug.cgi?id=74902
151398        <rdar://problem/10605289>
151399
151400        Reviewed by Simon Fraser.
151401
151402        CrossfadeGeneratedImage should report its intrinsic size, instead of
151403        improperly conforming to the size of its container.
151404
151405        Test: css3/images/cross-fade-background-size.html
151406
151407        * platform/graphics/CrossfadeGeneratedImage.h:
151408        (WebCore::CrossfadeGeneratedImage::setContainerSize):
151409        (WebCore::CrossfadeGeneratedImage::usesContainerSize):
151410        (WebCore::CrossfadeGeneratedImage::hasRelativeWidth):
151411        (WebCore::CrossfadeGeneratedImage::hasRelativeHeight):
151412        (WebCore::CrossfadeGeneratedImage::size):
151413
1514142012-01-17  Vsevolod Vlasov  <vsevik@chromium.org>
151415
151416        Web Inspector: Refactor JavaScriptOutlineDialog: extract FilteredItemSelectionDialog and reuse DialogDelegate.
151417        https://bugs.webkit.org/show_bug.cgi?id=76455
151418
151419        Reviewed by Yury Semikhatsky.
151420
151421        * WebCore.gypi:
151422        * WebCore.vcproj/WebCore.vcproj:
151423        * inspector/compile-front-end.sh:
151424        * inspector/front-end/Dialog.js:
151425        (WebInspector.Dialog):
151426        (WebInspector.Dialog.prototype._hide):
151427        * inspector/front-end/FilteredItemSelectionDialog.js: Added.
151428        (WebInspector.FilteredItemSelectionDialog):
151429        (WebInspector.FilteredItemSelectionDialog.prototype.position):
151430        (WebInspector.FilteredItemSelectionDialog.prototype.focus):
151431        (WebInspector.FilteredItemSelectionDialog.prototype.willHide):
151432        (WebInspector.FilteredItemSelectionDialog.prototype.onEnter):
151433        (WebInspector.FilteredItemSelectionDialog.prototype.get _itemsLoaded):
151434        (WebInspector.FilteredItemSelectionDialog.prototype._createItemElement):
151435        (WebInspector.FilteredItemSelectionDialog.prototype._hideItemElement):
151436        (WebInspector.FilteredItemSelectionDialog.prototype._itemElementVisible):
151437        (WebInspector.FilteredItemSelectionDialog.prototype._showItemElement):
151438        (WebInspector.FilteredItemSelectionDialog.prototype._checkItemAt):
151439        (WebInspector.FilteredItemSelectionDialog.prototype._createSearchRegExp):
151440        (WebInspector.FilteredItemSelectionDialog.prototype._filterItems):
151441        (WebInspector.FilteredItemSelectionDialog.prototype._onKeyDown):
151442        (WebInspector.FilteredItemSelectionDialog.prototype._scheduleFilter):
151443        (WebInspector.FilteredItemSelectionDialog.prototype._updateSelection):
151444        (WebInspector.FilteredItemSelectionDialog.prototype._onMouseMove):
151445        (WebInspector.FilteredItemSelectionDialog.prototype._onScroll):
151446        (WebInspector.FilteredItemSelectionDialog.prototype._highlightItems):
151447        (WebInspector.FilteredItemSelectionDialog.prototype._clearHighlight):
151448        (WebInspector.FilteredItemSelectionDialog.prototype._clearElementHighlight.changes.this._elementHighlightChanges.get if):
151449        (WebInspector.FilteredItemSelectionDialog.prototype._clearElementHighlight):
151450        (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem.get var):
151451        (WebInspector.FilteredItemSelectionDialog.prototype._highlightItem):
151452        (WebInspector.FilteredItemSelectionDialog.prototype._itemElementInViewport):
151453        (WebInspector.SelectionDialogContentProvider):
151454        (WebInspector.SelectionDialogContentProvider.prototype.itemTitleAt):
151455        (WebInspector.SelectionDialogContentProvider.prototype.itemKeyAt):
151456        (WebInspector.SelectionDialogContentProvider.prototype.itemsCount):
151457        (WebInspector.SelectionDialogContentProvider.prototype.requestItems):
151458        (WebInspector.SelectionDialogContentProvider.prototype.selectItem):
151459        (WebInspector.JavaScriptOutlineDialog):
151460        (WebInspector.JavaScriptOutlineDialog.didAddChunk):
151461        (WebInspector.JavaScriptOutlineDialog.install):
151462        (WebInspector.JavaScriptOutlineDialog._show):
151463        (WebInspector.JavaScriptOutlineDialog.createShortcut):
151464        (WebInspector.JavaScriptOutlineDialog.prototype.itemTitleAt):
151465        (WebInspector.JavaScriptOutlineDialog.prototype.itemKeyAt):
151466        (WebInspector.JavaScriptOutlineDialog.prototype.itemsCount):
151467        (WebInspector.JavaScriptOutlineDialog.prototype.requestItems):
151468        (WebInspector.JavaScriptOutlineDialog.prototype.selectItem):
151469        (WebInspector.JavaScriptOutlineDialog.prototype._appendItemElements):
151470        * inspector/front-end/JavaScriptOutlineDialog.js: Removed.
151471        * inspector/front-end/WebKit.qrc:
151472        * inspector/front-end/filteredItemSelectionDialog.css: Renamed from Source/WebCore/inspector/front-end/javaScriptOutlineDialog.css.
151473        (.js-outline-dialog > input):
151474        (.js-outline-dialog > div.progress):
151475        (.js-outline-dialog > div.container):
151476        (.js-outline-dialog > .container > div.item):
151477        (.js-outline-dialog > .container > div.item.selected):
151478        (.js-outline-dialog > .container > div.item > span.highlight):
151479        * inspector/front-end/inspector.html:
151480
1514812012-01-17  Peter Rybin  <peter.rybin@gmail.com>
151482
151483        Web Inspector: CodeGeneratorInspector.py: start using typedefs
151484        https://bugs.webkit.org/show_bug.cgi?id=76382
151485
151486        Reviewed by Yury Semikhatsky.
151487
151488        Generator is patched accordingly.
151489
151490        * inspector/CodeGeneratorInspector.py:
151491        (EnumConstants.get_enum_constant_code):
151492        (TypeBuilderPass):
151493        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
151494        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
151495        (TypeBindings.create_type_declaration_):
151496        (TypeBindings.create_type_declaration_.PlainString):
151497        (TypeBindings.create_type_declaration_.PlainString.get_code_generator):
151498        (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
151499        (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
151500        (TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text):
151501        (TypeBindings.create_type_declaration_.TypedefString):
151502        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator):
151503        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator):
151504        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder):
151505        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.generate_type_builder.String):
151506        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.register_use):
151507        (TypeBindings.create_type_declaration_.TypedefString.get_code_generator.CodeGenerator.get_generate_pass_id):
151508        (TypeBindings.create_type_declaration_.TypedefString.reduce_to_raw_type):
151509        (TypeBindings.create_type_declaration_.TypedefString.get_setter_value_expression_pattern):
151510        (TypeBindings.create_type_declaration_.TypedefString.get_in_c_type_text):
151511        (get_generate_pass_id):
151512        (ArrayBinding.get_code_generator.CodeGenerator):
151513        (ArrayBinding.get_code_generator.CodeGenerator.get_generate_pass_id):
151514        (Generator.process_types.create_type_builder_caller):
151515        (Generator.process_types.create_type_builder_caller.call_type_builder):
151516        (Generator.process_types):
151517
1515182012-01-11  Yury Semikhatsky  <yurys@chromium.org>
151519
151520        Web Inspector: provide basic information about DOM character data size
151521        https://bugs.webkit.org/show_bug.cgi?id=76059
151522
151523        Memory agent allows to estimate size of DOM character data and size of WebCore
151524        strings held by JavaScript objects.
151525
151526        Reviewed by Pavel Feldman.
151527
151528        * bindings/js/ScriptProfiler.h:
151529        (WebCore::ScriptProfiler::visitExternalJSStrings):
151530        * bindings/v8/ScriptProfiler.cpp:
151531        (WebCore::ScriptProfiler::visitExternalJSStrings):
151532        * bindings/v8/ScriptProfiler.h:
151533        * bindings/v8/V8Binding.cpp:
151534        (WebCore::WebCoreStringResource::visitStrings):
151535        (WebCore::V8BindingPerIsolateData::visitJSExternalStrings):
151536        * bindings/v8/V8Binding.h:
151537        * inspector/DOMWrapperVisitor.h:
151538        * inspector/Inspector.json:
151539        * inspector/InspectorMemoryAgent.cpp:
151540        (WebCore::CharacterDataStatistics::DOMTreeStatistics::DOMTreeStatistics):
151541        (WebCore::CharacterDataStatistics::DOMTreeStatistics::collectNodeStatistics):
151542        (WebCore::CharacterDataStatistics::CounterVisitor::CounterVisitor):
151543        (WebCore::CharacterDataStatistics::CounterVisitor::domGroups):
151544        (WebCore::CharacterDataStatistics::CounterVisitor::strings):
151545        (WebCore::CharacterDataStatistics::CounterVisitor::visitNode):
151546        (WebCore::CharacterDataStatistics::CounterVisitor::visitJSExternalString):
151547        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
151548        * inspector/InspectorMemoryAgent.h:
151549
1515502012-01-17  Vsevolod Vlasov  <vsevik@chromium.org>
151551
151552        Web Inspector: Dialogs style and DialogDelegate interface fixes.
151553        https://bugs.webkit.org/show_bug.cgi?id=76449
151554
151555        Reviewed by Pavel Feldman.
151556
151557        * inspector/front-end/Dialog.js:
151558        (WebInspector.Dialog):
151559        (WebInspector.Dialog.currentInstance):
151560        (WebInspector.Dialog.show):
151561        (WebInspector.Dialog.hide):
151562        (WebInspector.Dialog.prototype._hide):
151563        (WebInspector.Dialog.prototype._onGlassPaneFocus):
151564        (WebInspector.Dialog.prototype._onFocus):
151565        (WebInspector.Dialog.prototype._position):
151566        (WebInspector.Dialog.prototype._onKeyDown):
151567        (WebInspector.DialogDelegate.prototype.wasShown):
151568        (WebInspector.DialogDelegate.prototype.position):
151569        (WebInspector.DialogDelegate.prototype.focus):
151570        (WebInspector.DialogDelegate.prototype.onEnter):
151571        (WebInspector.DialogDelegate.prototype.willHide):
151572        * inspector/front-end/GoToLineDialog.js:
151573        (WebInspector.GoToLineDialog):
151574        (WebInspector.GoToLineDialog.prototype.focus):
151575        (WebInspector.GoToLineDialog.prototype._onGoClick):
151576        (WebInspector.GoToLineDialog.prototype._applyLineNumber):
151577        (WebInspector.GoToLineDialog.prototype.onEnter):
151578        * inspector/front-end/dialog.css:
151579        (.dialog):
151580
1515812012-01-17  Yury Semikhatsky  <yurys@chromium.org>
151582
151583        Web Inspector: ConsoleMessage.cpp and InspectorResourceAgent.cpp doesn't conform to Inspector.json
151584        https://bugs.webkit.org/show_bug.cgi?id=76403
151585
151586        A couple of protocol fixes.
151587
151588        Reviewed by Pavel Feldman.
151589
151590        * inspector/ConsoleMessage.cpp: return 'log' in case some unsupported value is passed.
151591        We cannot omit that return statement as GCC would complain on missing return statement
151592        despite all enum values are listed.
151593        (WebCore::messageTypeValue):
151594        * inspector/Inspector-0.1.json: fixed v0.1 protocol definition.
151595        * inspector/Inspector.json: made CachedResource.response field optional.
151596
1515972012-01-17  Ilya Tikhonovsky  <loislo@chromium.org>
151598
151599        [Chromium] Web Inspector: remove "Document DOM tree" class and "Detached DOM tree" from the Summary view.
151600        https://bugs.webkit.org/show_bug.cgi?id=76450
151601
151602        Reviewed by Yury Semikhatsky.
151603
151604        * inspector/front-end/HeapSnapshot.js:
151605        (WebInspector.HeapSnapshot.prototype._buildAggregates):
151606
1516072012-01-17  Nikolas Zimmermann  <nzimmermann@rim.com>
151608
151609        Large SVG text layout performance regression in r81168
151610        https://bugs.webkit.org/show_bug.cgi?id=65711
151611
151612        Reviewed by Zoltan Herczeg.
151613
151614        Final patch fixing the performance regression from r81168 plus giving us more performance we ever had.
151615        The testcase attached to bug 65711 creates 200 tspans as <text> children, and modifies just the first <tspan>s
151616        content periodically using a timer. It ran with <3 FPS in release builds before, and now at around 60 FPS,
151617        where the most dominant code path remaining is CG painting text. Still theres room to optimize further, as
151618        Intruments shows.
151619
151620        Historically we rebuilt all SVGTextLayoutAttributes stored in the RenderSVGInlineText, whenever any
151621        children of the <text> subtree changed, in any way. This lead to a recomputation of the x/y/dx/dy/rotate
151622        value lists, for the whole tree, a recreation of the line box tree and finally a measurement of all characters
151623        in the subtree.
151624
151625        This patch, and its previous patches preparing this, introduces progressive relayout for the SVG text subtree.
151626        DOM tree mutations, x/y/dx/dy/rotate value lists changes, and measuring-all-characters are now strictly decoupled.
151627
151628        #1) x/y/dx/dy/rotate list changes:
151629        The x/y/dx/dy/rotate lists are only ever rebuilt, if they change or upon the initial RenderSVGText layout.
151630        This information is now cached in the so-called SVGCharacterDataMap, in each of the SVGTextLayoutAttributes,
151631        associated with a specific RenderSVGInlineText.
151632
151633        #2) DOM tree mutations:
151634        If a new RenderSVGInlineText gets added to the tree, we have to create SVGTextLayoutAttributes for the new
151635        renderer, measure its characters, and cache the information in the attributes. Adding a new renderer to
151636        a SVG <text> subtree can affect the positioning of the previous and next sibling in the tree, due the
151637        whitespace merging logic. Example:
151638
151639        <text y="50" x="50 100 150">A<tspan></tspan> C</text>:
151640        RenderSVGText {text} at (50,36) size 111x18 contains 1 chunk(s)
151641          RenderSVGInlineText {#text} at (0,0) size 12x18
151642            chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"
151643          RenderSVGTSpan {tspan} at (0,0) size 0x0
151644          RenderSVGInlineText {#text} at (50,0) size 61x18
151645            chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 4.00: " "
151646            chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 1 width 11.00: "C"
151647
151648        <text y="50" x="50 100 150">A<tspan>B</tspan> C</text>:
151649        RenderSVGText {text} at (50,36) size 115x18 contains 1 chunk(s)
151650          RenderSVGInlineText {#text} at (0,0) size 12x18
151651            chunk 1 text run 1 at (50.00,50.00) startOffset 0 endOffset 1 width 12.00: "A"
151652          RenderSVGTSpan {tspan} at (0,0) size 11x18
151653            RenderSVGInlineText {#text} at (50,0) size 11x18
151654              chunk 1 text run 1 at (100.00,50.00) startOffset 0 endOffset 1 width 11.00: "B"
151655          RenderSVGInlineText {#text} at (100,0) size 15x18
151656            chunk 1 text run 1 at (150.00,50.00) startOffset 0 endOffset 2 width 15.00: " C"
151657
151658        Its obvious that adding a #text node as child to the <tspan> potentially affects the next & previous
151659        siblings in the DOM tree. Take extra care of these possibilities, by properly remeasuring not only
151660        the newly added renderer, but also the previous & next siblings layout attributes.
151661
151662        Mutation of text nodes, or removal of text/tspan elements from the tree is handled in the same way.
151663
151664        #3) Measuring the text subtree:
151665        Don't cache the metrics information in the SVGRootInlineBox, as it doesn't survive relayouts (RenderSVGText::layout).
151666        They're stored in the SVGTextLayoutAttributes, and will be updated if the underlying text content changes.
151667
151668        Tests: svg/text/append-text-node-to-tspan.html
151669               svg/text/modify-text-node-in-tspan.html
151670               svg/text/remove-text-node-from-tspan.html
151671
151672        * rendering/svg/RenderSVGInline.cpp:
151673        (WebCore::RenderSVGInline::addChild):
151674        * rendering/svg/RenderSVGInline.h:
151675        * rendering/svg/RenderSVGInlineText.cpp:
151676        (WebCore::RenderSVGInlineText::willBeDestroyed):
151677        (WebCore::RenderSVGInlineText::setTextInternal):
151678        (WebCore::RenderSVGInlineText::styleDidChange):
151679        * rendering/svg/RenderSVGInlineText.h:
151680        (WebCore::RenderSVGInlineText::layoutAttributes):
151681        * rendering/svg/RenderSVGText.cpp:
151682        (WebCore::recursiveUpdateLayoutAttributes):
151683        (WebCore::RenderSVGText::layoutAttributesChanged):
151684        (WebCore::findPreviousAndNextAttributes):
151685        (WebCore::RenderSVGText::layoutAttributesWillBeDestroyed):
151686        (WebCore::RenderSVGText::textDOMChanged):
151687        (WebCore::RenderSVGText::layout):
151688        (WebCore::RenderSVGText::addChild):
151689        (WebCore::recursiveCollectLayoutAttributes):
151690        (WebCore::RenderSVGText::rebuildLayoutAttributes):
151691        * rendering/svg/RenderSVGText.h:
151692        (WebCore::RenderSVGText::layoutAttributes):
151693        * rendering/svg/SVGRootInlineBox.cpp:
151694        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
151695        (WebCore::findFirstAndLastAttributesInVector):
151696        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
151697        (WebCore::SVGRootInlineBox::reorderValueLists):
151698        * rendering/svg/SVGRootInlineBox.h:
151699        * rendering/svg/SVGTextLayoutAttributes.h:
151700        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
151701        (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):
151702        * rendering/svg/SVGTextLayoutEngine.cpp:
151703        (WebCore::SVGTextLayoutEngine::SVGTextLayoutEngine):
151704        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
151705        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics):
151706        (WebCore::SVGTextLayoutEngine::currentVisualCharacterMetrics):
151707        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
151708        * rendering/svg/SVGTextLayoutEngine.h:
151709        (WebCore::SVGTextLayoutEngine::layoutAttributes):
151710        * rendering/svg/SVGTextMetrics.h:
151711        * rendering/svg/SVGTextMetricsBuilder.cpp:
151712        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
151713        * rendering/svg/SVGTextQuery.cpp:
151714        (WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
151715        * svg/SVGTextContentElement.cpp:
151716        (WebCore::SVGTextContentElement::childrenChanged):
151717
1517182012-01-11  Alexander Pavlov  <apavlov@chromium.org>
151719
151720        Web Inspector: [TextPrompt] Autocomplete adds unwanted text that's hard to remove
151721        https://bugs.webkit.org/show_bug.cgi?id=76058
151722
151723        Reviewed by Pavel Feldman.
151724
151725        As per the results of a war room:
151726        - Auto-suggest only after user typing (avoid showing suggestions when navigating through the user input.)
151727        - Do not select the first item if the suggest box is shown at the end of prompt (to allow Enter to commit the input.)
151728        - Only show grayed autocompletion at the end of prompt (otherwise show a suggest box with the first item selected.)
151729        - Grayed autocompletion can only be accepted with the End or Right keys.
151730        - Enter can accept a selected suggestion item from the list, without committing the input.
151731        - Retain the CSS model editing behavior as close to the existing one as possible.
151732        - Enable PageUp/PageDown to navigate the suggest box items.
151733
151734        * inspector/front-end/StylesSidebarPane.js:
151735        (WebInspector.StylePropertyTreeElement.prototype):
151736        ():
151737        * inspector/front-end/TextPrompt.js:
151738        (WebInspector.TextPrompt.prototype.set text):
151739        (WebInspector.TextPrompt.prototype._removeSuggestionAids):
151740        (WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
151741        (WebInspector.TextPrompt.prototype._selectStart):
151742        (WebInspector.TextPrompt.prototype.onKeyDown):
151743        (WebInspector.TextPrompt.prototype.acceptAutoComplete):
151744        (WebInspector.TextPrompt.prototype.complete):
151745        (WebInspector.TextPrompt.prototype._completionsReady):
151746        (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
151747        (WebInspector.TextPrompt.prototype.tabKeyPressed):
151748        (WebInspector.TextPrompt.prototype.downKeyPressed):
151749        (WebInspector.TextPrompt.prototype.pageUpKeyPressed):
151750        (WebInspector.TextPrompt.prototype.pageDownKeyPressed):
151751        (WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
151752        (WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
151753        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
151754        (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
151755        (WebInspector.TextPrompt.SuggestBox.prototype._canShowBox):
151756        (WebInspector.TextPrompt.SuggestBox.prototype._rememberRowCountPerViewport):
151757        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
151758        (WebInspector.TextPrompt.SuggestBox.prototype.pageUpKeyPressed):
151759        (WebInspector.TextPrompt.SuggestBox.prototype.pageDownKeyPressed):
151760        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
151761
1517622012-01-17  Alexander Pavlov  <apavlov@chromium.org>
151763
151764        Web Inspector: CSS backend doesn't conform to Inspector.json
151765        https://bugs.webkit.org/show_bug.cgi?id=76402
151766
151767        Reviewed by Yury Semikhatsky.
151768
151769        * inspector/Inspector.json:
151770        * inspector/InspectorStyleSheet.cpp:
151771        (WebCore::InspectorStyleSheet::buildObjectForStyle):
151772
1517732012-01-17  Tommy Widenflycht  <tommyw@google.com>
151774
151775        MediaStream API: Add the mediaStream constructor
151776        https://bugs.webkit.org/show_bug.cgi?id=76436
151777
151778        Adding support for creating a MediaStream using a collection of MediaStreamTracks.
151779
151780        Reviewed by Adam Barth.
151781
151782        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
151783
151784        * mediastream/MediaStream.cpp:
151785        (WebCore::MediaStream::create):
151786        * mediastream/MediaStream.h:
151787        * mediastream/MediaStream.idl:
151788        * mediastream/MediaStreamTrack.cpp:
151789        (WebCore::MediaStreamTrack::component):
151790        * mediastream/MediaStreamTrack.h:
151791        * platform/mediastream/MediaStreamCenter.cpp:
151792        (WebCore::MediaStreamCenter::didConstructMediaStream):
151793        * platform/mediastream/MediaStreamCenter.h:
151794
1517952012-01-17  Joshua Bell  <jsbell@chromium.org>
151796
151797        IndexedDB: IDBIndex.get/getKey should yield undefined, not an error
151798        https://bugs.webkit.org/show_bug.cgi?id=76116
151799
151800        Pass an undefined value (for IDBIndex.get()) or a null key
151801        (for IDBIndex.getKey()) back as the result, rather than raising
151802        an exception.
151803
151804        Reviewed by Adam Barth.
151805
151806        Tests: storage/indexeddb/index-basics.html
151807               storage/indexeddb/cursor-index-delete.html
151808               storage/indexeddb/duplicates.html
151809
151810        * storage/IDBIndexBackendImpl.cpp:
151811        (WebCore::IDBIndexBackendImpl::getInternal):
151812        * storage/IDBRequest.cpp:
151813        (WebCore::IDBRequest::onSuccess):
151814
1518152012-01-17  Luke Macpherson   <macpherson@chromium.org>
151816
151817        Remove references to CSSPrimitiveValue::primitiveType().
151818        https://bugs.webkit.org/show_bug.cgi?id=76363
151819
151820        Reviewed by Hajime Morita.
151821
151822        No new tests / refactoring only.
151823
151824        Goal is to remove primitiveType() completely. Only code left using it after this patch is in SVG.
151825        I've introduced some abstractions in CSSPrimitiveValue for time and angles to reduce duplicated code elsewhere.
151826
151827        * css/CSSComputedStyleDeclaration.cpp:
151828        (WebCore::CSSComputedStyleDeclaration::cssPropertyMatches):
151829        * css/CSSParser.cpp:
151830        (WebCore::CSSParser::parseColor):
151831        * css/CSSPrimitiveValue.cpp:
151832        (WebCore::CSSPrimitiveValue::computeDegrees):
151833        * css/CSSPrimitiveValue.h:
151834        (WebCore::CSSPrimitiveValue::isAngle):
151835        (WebCore::CSSPrimitiveValue::isAttr):
151836        (WebCore::CSSPrimitiveValue::isCounter):
151837        (WebCore::CSSPrimitiveValue::isFontIndependentLength):
151838        (WebCore::CSSPrimitiveValue::isLength):
151839        (WebCore::CSSPrimitiveValue::isPx):
151840        (WebCore::CSSPrimitiveValue::isRect):
151841        (WebCore::CSSPrimitiveValue::isRGBColor):
151842        (WebCore::CSSPrimitiveValue::isShape):
151843        (WebCore::CSSPrimitiveValue::isTime):
151844        (WebCore::CSSPrimitiveValue::computeTime):
151845        * css/CSSStyleSelector.cpp:
151846        (WebCore::convertToLength):
151847        (WebCore::createGridTrackBreadth):
151848        (WebCore::CSSStyleSelector::applyProperty):
151849        (WebCore::CSSStyleSelector::mapFillSize):
151850        (WebCore::CSSStyleSelector::mapFillXPosition):
151851        (WebCore::CSSStyleSelector::mapFillYPosition):
151852        (WebCore::CSSStyleSelector::mapAnimationDelay):
151853        (WebCore::CSSStyleSelector::mapAnimationDuration):
151854        (WebCore::CSSStyleSelector::mapNinePieceImageSlice):
151855        (WebCore::CSSStyleSelector::mapNinePieceImageQuad):
151856        (WebCore::CSSStyleSelector::colorFromPrimitiveValue):
151857        (WebCore::CSSStyleSelector::createTransformOperations):
151858        (WebCore::CSSStyleSelector::createCustomFilterOperation):
151859        (WebCore::CSSStyleSelector::createFilterOperations):
151860        * css/MediaQueryEvaluator.cpp:
151861        (WebCore::parseAspectRatio):
151862        (WebCore::numberValue):
151863        (WebCore::computeLength):
151864        * editing/EditingStyle.cpp:
151865        (WebCore::cssValueToRGBA):
151866        (WebCore::EditingStyle::extractFontSizeDelta):
151867        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
151868        (WebCore::isCSSValueLength):
151869        (WebCore::hasTransparentBackgroundColor):
151870
1518712012-01-16  Hajime Morrita  <morrita@chromium.org>
151872
151873        [Internals] member varaibles should follow naming convention.
151874        https://bugs.webkit.org/show_bug.cgi?id=76426
151875
151876        Reviewed by Kent Tamura.
151877
151878        No new tests. Just a rename.
151879
151880        * testing/Internals.cpp:
151881        (WebCore::Internals::Internals):
151882        (WebCore::Internals::setPasswordEchoEnabled):
151883        (WebCore::Internals::setPasswordEchoDurationInSeconds):
151884        (WebCore::Internals::reset):
151885        * testing/Internals.h:
151886
1518872012-01-16  Hayato Ito  <hayato@chromium.org>
151888
151889        Implement multiple AT_TARGET event dispatching in regard to shadow tree.
151890        https://bugs.webkit.org/show_bug.cgi?id=76217
151891
151892        Reviewed by Dimitri Glazkov.
151893
151894        The original motivation is to fix the regression: Event.eventPhase is not set to 2
151895        (at target) when handling dblclick event in <input> element.
151896        Since the issue is not specific to <input> element, but general one, this patch fixes
151897        the regression by adapting a living draft spec of shadow DOM.
151898        This won't break a compatibility if there is no shadow boundaries in event dispatching.
151899        See the following shadow dom spec how multiple AT_TARGET events work.
151900        http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#event-dispatch
151901
151902        * dom/EventContext.cpp:
151903        (WebCore::EventContext::handleLocalEvents):
151904
1519052012-01-16  Jason Liu  <jason.liu@torchmobile.com.cn>
151906
151907        platformRequest(QNX) need to get the conditional information from ResourceRequest.
151908        https://bugs.webkit.org/show_bug.cgi?id=75216
151909
151910        Reviewed by George Staikos.
151911
151912        Pass the isConditional() flag in ResourceRequest to the QNX platform's network request.
151913        QNX platform's network needs this flag to determine whether to use disk-cache.
151914
151915        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
151916        (ResourceRequest::initializePlatformRequest):
151917
1519182012-01-16  Robert Hogan  <robert@webkit.org>
151919
151920        Heap-use-after-free in WebCore::RenderBlock::selectionGaps
151921        https://bugs.webkit.org/show_bug.cgi?id=75013
151922
151923        Reviewed by David Hyatt.
151924
151925        Test: fast/table/multiple-captions-crash3.html
151926              fast/table/multiple-captions-crash4.html
151927              fast/table/multiple-captions-crash5.html
151928
151929        When a child float is removed, the parent needs to ensure any reference to the
151930        child is also removed from the floating objects list in any sibling block that 
151931        it intruded into.
151932
151933        * rendering/RenderBlock.cpp:
151934        (WebCore::RenderBlock::markSiblingsWithFloatsForLayout):
151935        * rendering/RenderBox.cpp:
151936        (WebCore::RenderBox::removeFloatingOrPositionedChildFromBlockLists):
151937
1519382012-01-16  Enrica Casucci  <enrica@apple.com>
151939
151940        REGRESSION: r102553 Autocorrection bubble doesn't show up
151941        https://bugs.webkit.org/show_bug.cgi?id=76408
151942        <rdar://problem/10644746>
151943
151944        Prior to r102553 Editor::markAllMisspellingsAndBadGrammarInRanges() used to pass its
151945        textCheckingOptions directly to markAndReplaceFor(). Now a request object is used,
151946        but, when the object is created, the TextCheckingTypeShowCorrectionPanel flag is dropped.
151947        
151948        Reviewed by Darin Adler.
151949
151950        * editing/Editor.cpp:
151951        (WebCore::Editor::resolveTextCheckingTypeMask): Add TextCheckingTypeShowCorrectionPanel to
151952        the returned checkingTypes when appropriate.
151953
1519542012-01-16  Jon Lee  <jonlee@apple.com>
151955
151956        Build fix for r105086.
151957
151958        * Configurations/FeatureDefines.xcconfig:
151959        * notifications/NotificationCenter.idl: change to use ENABLE_TEXT_NOTIFICATIONS_ONLY, which is only defined on Mac platform.
151960
1519612012-01-16  Andreas Kling  <awesomekling@apple.com>
151962
151963        Fix typo in StyledElement::mappedAttributeCount().
151964        <http://webkit.org/b/76393>
151965
151966        Rubber-stamped by Antti Koivisto.
151967
151968        * dom/StyledElement.h:
151969        (WebCore::StyledElement::mappedAttributeCount): Less &&, more ?:
151970
1519712012-01-16  Jon Lee  <jonlee@apple.com>
151972
151973        Build fix for r105086.
151974
151975        * notifications/NotificationCenter.idl: expand ENABLE macro for .idl.
151976
1519772012-01-16  Antti Koivisto  <antti@apple.com>
151978
151979        Cache CSSStyleSelector::Features in RuleSets
151980        https://bugs.webkit.org/show_bug.cgi?id=76337
151981
151982        Reviewed by Andreas Kling.
151983
151984        Currently whenever the style selector is updated we go through all the applicable rules and
151985        collect the used features again. We should keep the features around as part of the RuleSets
151986        and update them incrementally. Collecting the features will then be just a matter of taking
151987        the union of all features used by the RuleSets.
151988        
151989        This is 1-2% CPU time reduction (engadget, nytimes) due less time spent in feature collection.
151990        
151991        This also simplifies the code by removing the need to cache the default style sheet features
151992        separately. 
151993
151994        * css/CSSStyleSelector.cpp:
151995        
151996            Remove the global siblingRulesInDefaultStyle and uncommonAttributeRulesInDefaultStyle RuleSets.
151997            These are now part of the cached features of the defaultStyle.
151998        
151999        (WebCore::RuleSet::features):
152000        
152001            Add a field for caching the features.
152002        
152003        (WebCore::makeRuleSet):
152004        (WebCore::CSSStyleSelector::collectFeatures):
152005        
152006            Unify the features of all RuleSets.
152007            Create RuleSets for sibling and uncommon attribute lookups at the end.
152008        
152009        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
152010        (WebCore::CSSStyleSelector::Features::add):
152011        (WebCore::ensureDefaultStyleSheetsForElement):
152012        (WebCore::CSSStyleSelector::locateSharedStyle):
152013        (WebCore::collectFeaturesFromSelector):
152014        (WebCore::collectFeaturesFromRuleData):
152015        (WebCore::RuleSet::addToRuleSet):
152016        (WebCore::RuleSet::addRule):
152017        
152018            Collect the features when adding the rules rather than as a separate pass through all the rules.
152019        
152020        * css/CSSStyleSelector.h:
152021        (WebCore::CSSStyleSelector::usesSiblingRules):
152022        (WebCore::CSSStyleSelector::RuleSelectorPair::RuleSelectorPair):
152023        
152024            Use Vector instead of a RuleSet for sibling and uncommon attribute selectors so unifying
152025            Features is simpler.
152026
1520272012-01-16  Simon Fraser  <simon.fraser@apple.com>
152028
152029        Huge filter area cause hangs and malloc failures
152030        https://bugs.webkit.org/show_bug.cgi?id=75711
152031
152032        Reviewed by Dean Jackson.
152033        
152034        Filtering an element with a child that had a huge negative text-indent
152035        was extremely slow, because transparencyClipBox() returned a huge rect.
152036        
152037        Add a method, paintingExtent(), that wraps transparencyClipBox()
152038        and intersects it with the paintDirtyRect to constrain the size
152039        of the rect used for filters and transparency layers.
152040
152041        Transparency layer extent is not testable in layout tests.
152042
152043        * rendering/RenderLayer.cpp:
152044        (WebCore::RenderLayer::paintingExtent):
152045        (WebCore::RenderLayer::beginTransparencyLayers): Floating point literals are required
152046        to avoid ambiguous constructor call.
152047        (WebCore::RenderLayer::paintLayer):
152048        (WebCore::RenderLayer::paintLayerContents):
152049        * rendering/RenderLayer.h:
152050
1520512012-01-16  Simon Fraser  <simon.fraser@apple.com>
152052
152053        Borders and box masks behave incorrectly with overlapping offsets
152054        https://bugs.webkit.org/show_bug.cgi?id=76137
152055
152056        Reviewed by Dean Jackson.
152057        
152058        There are some correct behaviors for -webkit-mask-box-image where
152059        parts of the mask are missing (when the sum of the slice sizes is
152060        greater than one dimension of the image). To render correctly
152061        in these cases, always use a transparency layer when rendering
152062        the mask.
152063
152064        Test: fast/backgrounds/mask-box-image.html
152065
152066        * rendering/RenderBox.cpp:
152067        (WebCore::RenderBox::paintMaskImages):
152068
1520692012-01-16  Simon Fraser  <simon.fraser@apple.com>
152070
152071        Filtered element with composited content beneath it must be composited
152072        https://bugs.webkit.org/show_bug.cgi?id=76322
152073
152074        Reviewed by Dean Jackson.
152075        
152076        If a RenderLayer has a filter effect, and a composited descendant, then
152077        that layer must also be composited so that the filter is applied via
152078        the compositing system, rather than via painting (otherwise the filter
152079        will not affect the descendant).
152080
152081        Test: css3/filters/filtered-compositing-descendant.html
152082
152083        * rendering/RenderLayerCompositor.cpp:
152084        (WebCore::RenderLayerCompositor::requiresCompositingWhenDescendantsAreCompositing):
152085
1520862012-01-16  Andreas Kling  <awesomekling@apple.com>
152087
152088        Fix assertion failure in mappedAttributesEquivalent().
152089        <http://webkit.org/b/76393>
152090
152091        Rubber-stamped by Antti Koivisto.
152092
152093        The assertion that two mapped attributes with matching name/value will always
152094        have the exact same decl() was wrong, so make it a proper check once again.
152095
152096        * css/CSSStyleSelector.cpp:
152097        (WebCore::mappedAttributesEquivalent):
152098
1520992012-01-16  Jon Lee  <jonlee@apple.com>
152100
152101        Remove HTML notifications support on Mac
152102        https://bugs.webkit.org/show_bug.cgi?id=76401
152103        <rdar://problem/10589881>
152104
152105        Reviewed by Sam Weinig.
152106
152107        * notifications/NotificationCenter.idl:
152108
1521092012-01-16  xueqing huang  <huangxueqing@baidu.com>
152110
152111        Add offline web applications API applicationCache.abort.
152112        https://bugs.webkit.org/show_bug.cgi?id=76270
152113
152114        Reviewed by Alexey Proskuryakov.
152115
152116        Tests:
152117        http/tests/appcache/abort-cache-onchecking.html
152118        http/tests/appcache/abort-cache-onchecking-manifest-404.html
152119        http/tests/appcache/abort-cache-onchecking-resource-404.html
152120        http/tests/appcache/abort-cache-ondownloading.html
152121        http/tests/appcache/abort-cache-ondownloading-manifest-404.html
152122        http/tests/appcache/abort-cache-ondownloading-resource-404.html
152123        http/tests/appcache/abort-cache-onprogress.html
152124
152125        * loader/appcache/ApplicationCacheGroup.cpp:
152126        (WebCore::ApplicationCacheGroup::abort):
152127        * loader/appcache/ApplicationCacheGroup.h:
152128        * loader/appcache/ApplicationCacheHost.cpp:
152129        (WebCore::ApplicationCacheHost::abort):
152130        * loader/appcache/ApplicationCacheHost.h:
152131        * loader/appcache/DOMApplicationCache.cpp:
152132        (WebCore::DOMApplicationCache::abort):
152133        * loader/appcache/DOMApplicationCache.h:
152134        * loader/appcache/DOMApplicationCache.idl:
152135
1521362012-01-16  Andreas Kling  <awesomekling@apple.com>
152137
152138        Remove caching of mapped attribute count on NamedNodeMap.
152139        <http://webkit.org/b/76393>
152140
152141        Reviewed by Antti Koivisto.
152142
152143        Stop caching the mapped attribute count on Element's attribute map, effectively
152144        shrinking NamedNodeMap by one CPU word. The price we pay is always walking over
152145        the map in matchAllRules(), even if it has no mapped attribute styles.
152146
152147        This reduces memory consumption by 605 kB (on 64-bit) when viewing the full
152148        HTML5 spec at <http://whatwg.org/c>
152149
152150        * css/CSSStyleSelector.cpp:
152151        (WebCore::mappedAttributesEquivalent):
152152
152153            Moved here from NamedNodeMap::mappedMapsEquivalent() to accomodate the only
152154            user under the added assumption that the two attribute maps have the same
152155            number of mapped attributes.
152156
152157        (WebCore::CSSStyleSelector::matchAllRules):
152158
152159            We don't have NamedNodeMap::hasMappedAttributes() at our convenience any
152160            more so walk the attribute map (if there is one) looking for styles to add.
152161
152162        (WebCore::CSSStyleSelector::canShareStyleWithElement):
152163
152164            Compare the elements' mapped attribute counts at an earlier time. This is
152165            slightly more expensive but we used to do it near the end anyway and this
152166            ends up rejecting elements that can't share style before doing a lot of
152167            semi-expensive checks.
152168
152169        * dom/StyledElement.h:
152170        (WebCore::StyledElement::mappedAttributeCount):
152171        * dom/NamedNodeMap.h:
152172        (WebCore::NamedNodeMap::mappedAttributeCount):
152173        * dom/NamedNodeMap.cpp:
152174        (WebCore::NamedNodeMap::clearAttributes):
152175
152176            Remove NamedNodeMap::m_mappedAttributeCount and add a function that walks
152177            the attribute map counting the attributes that have a decl().
152178
152179        * dom/NamedNodeMap.h:
152180        * dom/StyledElement.cpp:
152181        (WebCore::StyledElement::attributeChanged):
152182
152183            Remove declAdded()/declRemoved() callbacks.
152184
1521852012-01-16  Jer Noble  <jer.noble@apple.com>
152186
152187        Unreviewed build fix.
152188
152189        Added necessary header files to VectorMath.cpp to fix Chromium compile error.
152190
152191        * platform/audio/VectorMath.cpp:
152192
1521932011-12-12  Jer Noble  <jer.noble@apple.com>
152194
152195        WebAudio: Optimize AudioChannel::maxAbsValue().
152196        https://bugs.webkit.org/show_bug.cgi?id=74359
152197
152198        Reviewed by Eric Carlson.
152199
152200        No new tests; optimization of existing code, so covered by existing test cases.
152201
152202        * platform/audio/AudioChannel.cpp:
152203        (WebCore::AudioChannel::maxAbsValue): Replace implementation with optimized vector math 
152204            operation.
152205        * platform/audio/VectorMath.cpp:
152206        (WebCore::VectorMath::vmaxmgv): Vector math operation for determining maximum
152207            magnitude in a vector.
152208        * platform/audio/VectorMath.h:
152209
1522102012-01-16  Joe Thomas  <joethomas@motorola.com>
152211
152212        https://bugs.webkit.org/show_bug.cgi?id=41210
152213        Cross Origin XMLHttpRequest can not expose headers indicated in Access-Control-Expose-Headers HTTP Response Header
152214
152215        Parsing the "Access-Control-Expose-Headers" in the XMLHTTPRequest response header.
152216        If the custom response-header is part of Access-Control-Expose-Headers, then consider that custom response-header as a valid one.
152217
152218        Reviewed by Alexey Proskuryakov.
152219
152220        Test: http/tests/xmlhttprequest/access-control-response-with-expose-headers.html
152221
152222        * loader/CrossOriginAccessControl.cpp:
152223        (WebCore::parseAccessControlExposeHeadersAllowList):  parsing logic of Access-Control-Expose-Headers
152224        * loader/CrossOriginAccessControl.h:
152225        * xml/XMLHttpRequest.cpp:
152226        (WebCore::XMLHttpRequest::getAllResponseHeaders): checking whether the custom response-header is part of "Access-Control-Expose-Headers"
152227        (WebCore::XMLHttpRequest::getResponseHeader):  checking whether the custom response-header is part of "Access-Control-Expose-Headers"
152228
1522292012-01-16  Pavel Feldman  <pfeldman@google.com>
152230
152231        Web Inspector: timeline record bars may overlap with the records column
152232        https://bugs.webkit.org/show_bug.cgi?id=76387
152233
152234        Reviewed by Yury Semikhatsky.
152235
152236        * inspector/front-end/timelinePanel.css:
152237        (#timeline-container .split-view-sidebar-left):
152238
1522392012-01-13  Alexander Pavlov  <apavlov@chromium.org>
152240
152241        Web Inspector: styles sidebar rendering is broken
152242        https://bugs.webkit.org/show_bug.cgi?id=76065
152243
152244        Reviewed by Pavel Feldman.
152245
152246        * inspector/front-end/StylesSidebarPane.js:
152247        (WebInspector.StylePropertiesSection):
152248        * inspector/front-end/elementsPanel.css:
152249        (.styles-section .header .subtitle):
152250        (.styles-section .properties):
152251
1522522012-01-16  Csaba Osztrogonác  <ossy@webkit.org>
152253
152254        [Qt] Inremental build problem revealed by https://bugs.webkit.org/show_bug.cgi?id=74455
152255
152256        Reviewed by Tor Arne Vestbø.
152257
152258        * DerivedSources.pri: supplemental_dependency.tmp must depends on idl files too.
152259
1522602012-01-16  Pavel Feldman  <pfeldman@google.com>
152261
152262        Web Inspector: do not merge iframes into a single DOM hierarchy.
152263        https://bugs.webkit.org/show_bug.cgi?id=76383
152264
152265        Reviewed by Timothy Hatcher.
152266
152267        * inspector/DOMEditor.h:
152268        * inspector/Inspector.json:
152269        * inspector/InspectorDOMAgent.cpp:
152270        (WebCore::InspectorDOMAgent::unbind):
152271        (WebCore::InspectorDOMAgent::buildObjectForNode):
152272        (WebCore::InspectorDOMAgent::innerFirstChild):
152273        (WebCore::InspectorDOMAgent::innerParentNode):
152274        * inspector/front-end/CSSStyleModel.js:
152275        (WebInspector.CSSStyleModel.prototype.setRuleSelector.callback):
152276        (WebInspector.CSSStyleModel.prototype.setRuleSelector):
152277        (WebInspector.CSSStyleModel.prototype.addRule.callback):
152278        (WebInspector.CSSStyleModel.prototype.addRule):
152279        (WebInspector.CSSStyleModel.prototype._ownerDocumentId):
152280        * inspector/front-end/DOMAgent.js:
152281        (WebInspector.DOMNode):
152282        (WebInspector.DOMNode.prototype.getChildNodes):
152283        (WebInspector.DOMNode.prototype._insertChild):
152284        (WebInspector.DOMNode.prototype._setChildrenPayload):
152285        (WebInspector.DOMDocument):
152286        (WebInspector.DOMAgent.prototype._setDetachedRoot):
152287        * inspector/front-end/ElementsTreeOutline.js:
152288
1522892012-01-16  Vsevolod Vlasov  <vsevik@chromium.org>
152290
152291        Web Inspector: setCurrentFocusElement should not update selection when focus is moved to text field or text area.
152292        https://bugs.webkit.org/show_bug.cgi?id=76384
152293
152294        Reviewed by Timothy Hatcher.
152295
152296        * inspector/front-end/JavaScriptOutlineDialog.js:
152297        (WebInspector.JavaScriptOutlineDialog):
152298        * inspector/front-end/UIUtils.js:
152299        (WebInspector._isTextEditingElement):
152300        (WebInspector.setCurrentFocusElement):
152301
1523022012-01-16  Nikolas Zimmermann  <nzimmermann@rim.com>
152303
152304        Large SVG text layout performance regression in r81168
152305        https://bugs.webkit.org/show_bug.cgi?id=65711
152306
152307        Reviewed by Zoltan Herczeg.
152308
152309        Enable simple code path in SVGTextMetricsBuilder, allowing fast-measurement of simple text.
152310        This affects the geometry of several <text> elements, thus several tests need rebaselining.
152311
152312        * rendering/svg/SVGTextMetricsBuilder.cpp:
152313        (WebCore::SVGTextMetricsBuilder::advance):
152314        (WebCore::SVGTextMetricsBuilder::advanceComplexText):
152315
1523162012-01-16  Peter Rybin  <peter.rybin@gmail.com>
152317
152318        Web Inspector: CodeGeneratorInspector.py: generate array types.
152319        https://bugs.webkit.org/show_bug.cgi?id=75284
152320
152321        Reviewed by Yury Semikhatsky.
152322
152323        New classes are generated for ecah array type instance. Some includes
152324        and ifdefs are fixed.
152325
152326        * inspector/CodeGeneratorInspector.py:
152327        (ArrayBinding):
152328        (ArrayBinding.get_code_generator):
152329        (ArrayBinding.get_code_generator.CodeGenerator):
152330        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
152331        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
152332        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
152333        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
152334        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
152335        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
152336        (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
152337        (ArrayBinding.get_code_generator.CodeGenerator.register_use):
152338        (ArrayBinding.get_in_c_type_text):
152339        (ArrayBinding.get_setter_value_expression_pattern):
152340        (ArrayBinding.reduce_to_raw_type):
152341        (RawTypeBinding):
152342        (RawTypeBinding.__init__):
152343        (RawTypeBinding.get_code_generator):
152344        (RawTypeBinding.get_in_c_type_text):
152345        (RawTypeBinding.get_setter_value_expression_pattern):
152346        (RawTypeBinding.reduce_to_raw_type):
152347        (TypeData.__init__):
152348        (TypeData.get_binding):
152349        * inspector/ConsoleMessage.cpp:
152350        * inspector/InspectorValues.h:
152351
1523522012-01-15  Pavel Feldman  <pfeldman@chromium.org>
152353
152354        Web Inspector: editing body multiplies head
152355        https://bugs.webkit.org/show_bug.cgi?id=62272
152356
152357        Reviewed by Yury Semikhatsky.
152358
152359        Test: inspector/elements/set-outer-html-body.html
152360
152361        * inspector/DOMEditor.cpp:
152362        (WebCore::DOMEditor::patchDocument):
152363        (WebCore::DOMEditor::patchNode):
152364        (WebCore::DOMEditor::innerPatchChildren):
152365        (WebCore::DOMEditor::insertBefore):
152366        * inspector/DOMEditor.h:
152367        * inspector/InspectorDOMAgent.cpp:
152368        (WebCore::InspectorDOMAgent::setOuterHTML):
152369
1523702012-01-16  Nikolas Zimmermann  <nzimmermann@rim.com>
152371
152372        Large SVG text layout performance regression in r81168
152373        https://bugs.webkit.org/show_bug.cgi?id=65711
152374
152375        Reviewed by Zoltan Herczeg.
152376
152377        Change the way we store x/y/dx/dy/rotate values for a <text> element and its ancestors.
152378
152379        SVGTextLayoutAttributesBuilder used to hold a Vector<float> for x/y/dx/dy/rotate, each as big
152380        as the whole text subtree length. For each character, that has an absolute position, or rotation
152381        the value was stored in this list. For all other characters a special empty value marker was stored.
152382
152383        This is highly inefficient, and is now replaced with a HashMap<unsigned, SVGCharacterData> where
152384        SVGCharacterData is a struct, holding float x/y/dx/dy/rotate. The code is now optimized for the
152385        common case, where only a few characters actually specify such values, eg:
152386        <text x="50" y="90">looooong text<tspan x="50" y="30">abc</tspan></text>.
152387
152388        NOTE: There are still some inefficiencies in this patch (especially the copying of SVGTextLayoutAttributes).
152389        To keep the patch size smaller, I decided to fix this in another patch, and only fix the memory issue with this patch.
152390
152391        This reduces the memory consumption from 35MB to 10MB on the attached testcase in bug 65711.
152392
152393        Doesn't affect any test, yet. A follow-up commit will enable the usage of the simple code path, using WidthIterator,
152394        in SVGTextMetricsBuilder, which will result in several layout test changes, because of geometry changes.
152395
152396        * rendering/svg/RenderSVGInlineText.cpp:
152397        (WebCore::RenderSVGInlineText::RenderSVGInlineText):
152398        (WebCore::RenderSVGInlineText::characterStartsNewTextChunk):
152399        * rendering/svg/RenderSVGInlineText.h:
152400        (WebCore::RenderSVGInlineText::layoutAttributes):
152401        * rendering/svg/RenderSVGText.cpp:
152402        (WebCore::RenderSVGText::layout):
152403        (WebCore::recursiveCollectLayoutAttributes):
152404        (WebCore::RenderSVGText::rebuildLayoutAttributes):
152405        * rendering/svg/RenderSVGText.h:
152406        * rendering/svg/SVGRootInlineBox.cpp:
152407        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
152408        (WebCore::SVGRootInlineBox::layoutCharactersInTextBoxes):
152409        (WebCore::SVGRootInlineBox::closestLeafChildForPosition):
152410        (WebCore::swapItemsInLayoutAttributes):
152411        (WebCore::findFirstAndLastAttributesInVector):
152412        (WebCore::reverseInlineBoxRangeAndValueListsIfNeeded):
152413        * rendering/svg/SVGTextLayoutAttributes.cpp:
152414        (WebCore::SVGTextLayoutAttributes::clear):
152415        (WebCore::dumpSVGCharacterDataMapValue):
152416        (WebCore::SVGTextLayoutAttributes::dump):
152417        * rendering/svg/SVGTextLayoutAttributes.h:
152418        (WebCore::SVGTextLayoutAttributes::characterDataMap):
152419        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
152420        (WebCore::SVGTextLayoutAttributesBuilder::SVGTextLayoutAttributesBuilder):
152421        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForTextRenderer):
152422        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesForWholeTree):
152423        (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForTextRenderer):
152424        (WebCore::SVGTextLayoutAttributesBuilder::rebuildMetricsForWholeTree):
152425        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributesIfNeeded):
152426        (WebCore::processRenderSVGInlineText):
152427        (WebCore::SVGTextLayoutAttributesBuilder::collectTextPositioningElements):
152428        (WebCore::SVGTextLayoutAttributesBuilder::buildLayoutAttributes):
152429        (WebCore::updateCharacterData):
152430        (WebCore::SVGTextLayoutAttributesBuilder::fillCharacterDataMap):
152431        * rendering/svg/SVGTextLayoutAttributesBuilder.h:
152432        (WebCore::SVGTextLayoutAttributesBuilder::clearTextPositioningElements):
152433        * rendering/svg/SVGTextLayoutEngine.cpp:
152434        (WebCore::SVGTextLayoutEngine::updateRelativePositionAdjustmentsIfNeeded):
152435        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterAttributes):
152436        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath):
152437        * rendering/svg/SVGTextLayoutEngine.h:
152438        (WebCore::SVGTextLayoutEngine::layoutAttributes):
152439        * rendering/svg/SVGTextMetricsBuilder.cpp:
152440        (WebCore::SVGTextMetricsBuilder::advance):
152441        (WebCore::SVGTextMetricsBuilder::advanceComplexText):
152442        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
152443        * rendering/svg/SVGTextQuery.cpp:
152444        (WebCore::SVGTextQuery::modifyStartEndPositionsRespectingLigatures):
152445
1524462012-01-15  Andreas Kling  <awesomekling@apple.com>
152447
152448        CSSCanvasValue can't be renamed, enforce this at compile-time.
152449        <http://webkit.org/b/76352>
152450
152451        Reviewed by Antti Koivisto.
152452
152453        Have the CSSCanvasValue constructor take the name as an argument instead of
152454        having a setName() that's only called from one place in CSSParser.
152455
152456        * css/CSSCanvasValue.h:
152457        (WebCore::CSSCanvasValue::create):
152458        (WebCore::CSSCanvasValue::CSSCanvasValue):
152459        * css/CSSParser.cpp:
152460        (WebCore::CSSParser::parseCanvas):
152461
1524622012-01-16  Andreas Kling  <awesomekling@apple.com>
152463
152464        CSSStyleSelector: Dodge parser when creating default LTR/RTL declarations.
152465        <http://webkit.org/b/76374>
152466
152467        Reviewed by Antti Koivisto.
152468
152469        Pass CSSValueLtr/CSSValueRtl directly to setProperty() instead of parsing "ltr"/"rtl".
152470
152471        * css/CSSStyleSelector.cpp:
152472        (WebCore::leftToRightDeclaration):
152473        (WebCore::rightToLeftDeclaration):
152474
1524752012-01-16  Carlos Garcia Campos  <cgarcia@igalia.com>
152476
152477        Unreviewed. Fix make distcheck.
152478
152479        * GNUmakefile.list.am: Add missing files.
152480
1524812012-01-16  Roland Steiner  <rolandsteiner@chromium.org>
152482
152483        CSSStyleSelector constructor and appendAuthorStylesheets() contain duplicated code
152484        https://bugs.webkit.org/show_bug.cgi?id=76043
152485
152486        Re-use appendAuthorStylesheets() from within CSSStyleSelector constructor.
152487
152488        Reviewed by Antti Koivisto.
152489
152490        No new tests. (refactoring)
152491
152492        * css/CSSStyleSelector.cpp:
152493        (WebCore::CSSStyleSelector::CSSStyleSelector):
152494        * css/StyleSheetList.h:
152495        (WebCore::StyleSheetList::vector):
152496
1524972012-01-16  Shinya Kawanaka  <shinyak@google.com>
152498
152499        [crash] Renderer crashes when spell checking a disabled input field.
152500        https://bugs.webkit.org/show_bug.cgi?id=75941
152501
152502        Reviewed by Hajime Morita.
152503
152504        We confirm the selection is editable before replacing text.
152505
152506        Tests: ManualTests/editing-disabled-node-replace-crash.html
152507
152508        * editing/Editor.cpp:
152509        (WebCore::Editor::replaceSelectionWithFragment):
152510        * editing/ReplaceSelectionCommand.cpp:
152511        (WebCore::ReplaceSelectionCommand::doApply):
152512
1525132012-01-16  Pablo Flouret  <pablof@motorola.com>
152514
152515        Fix compilation errors on build-webkit --debug --no-svg --no-svg-fonts --no-svg-dom-objc-bindings on mac.
152516        https://bugs.webkit.org/show_bug.cgi?id=75865
152517
152518        Reviewed by Hajime Morita.
152519
152520        * WebCore.exp.in:
152521        * css/CSSStyleApplyProperty.cpp:
152522        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
152523        * loader/cache/CachedImage.cpp:
152524        (WebCore::CachedImage::setContainerSizeForRenderer):
152525        (WebCore::CachedImage::imageSizeForRenderer):
152526        * platform/graphics/FontFastPath.cpp:
152527        (WebCore::Font::drawGlyphBuffer):
152528        * rendering/FilterEffectRenderer.cpp:
152529        * svg/SVGElementInstance.idl:
152530
1525312012-01-16  Pablo Flouret  <pablof@motorola.com>
152532
152533        Compilation error on build-webkit --debug --no-request-animation-frame on mac.
152534        https://bugs.webkit.org/show_bug.cgi?id=75875
152535
152536        Reviewed by Hajime Morita.
152537
152538        * dom/Document.cpp:
152539        (WebCore::Document::windowScreenDidChange):
152540
1525412012-01-16  Csaba Osztrogonác  <ossy@webkit.org>
152542
152543        Web Inspector: Fix GoToLineDialog and extract common dialog functionality.
152544        https://bugs.webkit.org/show_bug.cgi?id=69341
152545
152546        Unreviewed trivial buildfix/typo fix after r105043.
152547
152548        * inspector/front-end/WebKit.qrc:
152549
1525502011-10-11  Vsevolod Vlasov  <vsevik@chromium.org>
152551
152552        Web Inspector: Fix GoToLineDialog and extract common dialog functionality.
152553        https://bugs.webkit.org/show_bug.cgi?id=69341
152554
152555        Fixed dialog: in old implementation dialog never hides if you press mouse button
152556        on Go button and release it somewhere else.
152557        Dialog functionality extracted to be used for search dialog.
152558
152559        Reviewed by Pavel Feldman.
152560
152561        * WebCore.gypi:
152562        * WebCore.vcproj/WebCore.vcproj:
152563        * inspector/compile-front-end.sh:
152564        * inspector/front-end/Dialog.js: Added.
152565        (WebInspector.Dialog):
152566        (WebInspector.Dialog.show):
152567        (WebInspector.Dialog.prototype._hide):
152568        (WebInspector.Dialog.prototype._onFocus):
152569        (WebInspector.Dialog.prototype._doFocus):
152570        (WebInspector.Dialog.prototype._position):
152571        (WebInspector.Dialog.prototype._onKeyDown):
152572        (WebInspector.Dialog.prototype._onClick):
152573        (WebInspector.DialogDelegate):
152574        (WebInspector.DialogDelegate.prototype.get defaultFocusedElement):
152575        (WebInspector.DialogDelegate.prototype.get okButton):
152576        (WebInspector.DialogDelegate.prototype.onAction):
152577        * inspector/front-end/GoToLineDialog.js:
152578        (WebInspector.GoToLineDialog):
152579        (WebInspector.GoToLineDialog._show):
152580        (WebInspector.GoToLineDialog.prototype.get defaultFocusedElement):
152581        (WebInspector.GoToLineDialog.prototype.get okButton):
152582        (WebInspector.GoToLineDialog.prototype.onAction):
152583        * inspector/front-end/WebKit.qrc:
152584        * inspector/front-end/dialog.css: Renamed from Source/WebCore/inspector/front-end/goToLineDialog.css.
152585        (.dialog-glass-pane):
152586        (.dialog):
152587        (.dialog-contents):
152588        (.go-to-line-dialog input):
152589        (.go-to-line-dialog button):
152590        (.go-to-line-dialog button:active):
152591        * inspector/front-end/inspector.html:
152592
1525932012-01-16  Jochen Eisinger  <jochen@chromium.org>
152594
152595        ScriptRunner should also keep references to pending async scripts
152596        https://bugs.webkit.org/show_bug.cgi?id=76350
152597
152598        Reviewed by Adam Barth.
152599
152600        The CachedResourceLoader only keeps a raw pointer to a ScriptElement.
152601        If an async ScriptElement is removed from the document before it is
152602        executed, it might be garbage collected before the script is loaded, so
152603        it's never run.
152604
152605        By making the ScriptRunner keep an explicit reference to the
152606        ScriptElement while it's loading (as is done for sync ScriptElements),
152607        we can guarantee that the ScriptElement lives until it is executed.
152608
152609        No more flaky timeouts: http/tests/misc/async-script.html:
152610
152611        * dom/ScriptElement.cpp:
152612        (WebCore::ScriptElement::prepareScript):
152613        (WebCore::ScriptElement::notifyFinished):
152614        * dom/ScriptRunner.cpp:
152615        (WebCore::ScriptRunner::~ScriptRunner):
152616        (WebCore::ScriptRunner::queueScriptForExecution):
152617        (WebCore::ScriptRunner::notifyScriptReady):
152618        * dom/ScriptRunner.h:
152619        (WebCore::ScriptRunner::hasPendingScripts):
152620
1526212012-01-16  Renata Hodovan  <reni@webkit.org>
152622
152623        Unreviewed build fix; added WebCore.exp.in changes lost in r105036.
152624
152625        * WebCore.exp.in:
152626
1526272012-01-15  Xinchao He  <xinchao.he@intel.com>
152628
152629        Add DeviceOrientationEvent.absolute
152630        https://bugs.webkit.org/show_bug.cgi?id=51742
152631
152632        Reviewed by Darin Fisher.
152633
152634        This patch add the DeviceOrientationEvent.absolute to follow the
152635        latest w3c device orientation event spec.
152636        http://www.w3.org/TR/orientation-event/
152637
152638
152639        * bindings/js/JSDeviceOrientationEventCustom.cpp:
152640        (WebCore::JSDeviceOrientationEvent::absolute):
152641        (WebCore::JSDeviceOrientationEvent::initDeviceOrientationEvent):
152642        * bindings/v8/custom/V8DeviceOrientationEventCustom.cpp:
152643        (WebCore::V8DeviceOrientationEvent::absoluteAccessorGetter):
152644        (WebCore::V8DeviceOrientationEvent::initDeviceOrientationEventCallback):
152645        * dom/DeviceOrientation.cpp:
152646        (WebCore::DeviceOrientation::create):
152647        (WebCore::DeviceOrientation::DeviceOrientation):
152648        (WebCore::DeviceOrientation::absolute):
152649        (WebCore::DeviceOrientation::canProvideAbsolute):
152650        * dom/DeviceOrientation.h:
152651        * dom/DeviceOrientationEvent.idl:
152652
1526532012-01-15  Luke Macpherson   <macpherson@chromium.org>
152654
152655        Remove external references to CSSPrimitiveValue::UnitTypes enum.
152656        https://bugs.webkit.org/show_bug.cgi?id=76229
152657
152658        Reviewed by Darin Adler.
152659
152660        No new tests / refactoring only.
152661
152662        * css/CSSFontSelector.cpp:
152663        (WebCore::CSSFontSelector::addFontFaceRule):
152664        * css/CSSGradientValue.cpp:
152665        (WebCore::CSSGradientValue::addStops):
152666        (WebCore::positionFromValue):
152667        (WebCore::CSSGradientValue::isCacheable):
152668        (WebCore::CSSRadialGradientValue::resolveRadius):
152669        (WebCore::CSSRadialGradientValue::createGradient):
152670        * css/CSSPrimitiveValue.h:
152671        (WebCore::CSSPrimitiveValue::isUnitTypeLength):
152672        (WebCore::CSSPrimitiveValue::isFontRelativeLength):
152673        (WebCore::CSSPrimitiveValue::isIdent):
152674        (WebCore::CSSPrimitiveValue::isNumber):
152675        (WebCore::CSSPrimitiveValue::isPercentage):
152676        (WebCore::CSSPrimitiveValue::isString):
152677        (WebCore::CSSPrimitiveValue::isURI):
152678        * css/CSSStyleApplyProperty.cpp:
152679        (WebCore::ApplyPropertyLength::applyValue):
152680        (WebCore::ApplyPropertyBorderRadius::applyValue):
152681        (WebCore::ApplyPropertyFontSize::applyValue):
152682        (WebCore::ApplyPropertyCursor::applyValue):
152683        (WebCore::ApplyPropertyPageSize::applyValue):
152684        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
152685        (WebCore::ApplyPropertyZoom::applyValue):
152686
1526872012-01-15  Pablo Flouret  <pablof@motorola.com>
152688
152689        Fix compilation errors on build-webkit --debug --no-video on mac.
152690        https://bugs.webkit.org/show_bug.cgi?id=75867
152691
152692        Reviewed by Philippe Normand.
152693
152694        - Some exported HTMLMediaElement symbols were guarded by FULLSCREEN_API
152695          feature instead of VIDEO.
152696        - Unused parameter warning in CanvasRenderingContext::wouldTaintOrigin().
152697        - RenderThemeMac::shouldShowPlaceholderWhenFocused() implementation
152698          wrongly guarded by VIDEO feature.
152699
152700        * WebCore.exp.in:
152701        * html/canvas/CanvasRenderingContext.cpp:
152702        (WebCore::CanvasRenderingContext::wouldTaintOrigin):
152703        * rendering/RenderThemeMac.mm:
152704
1527052012-01-15  Andreas Kling  <awesomekling@apple.com>
152706
152707        CSSParser: Fix failing assertion below BorderImageQuadParseContext.
152708        <http://webkit.org/b/76346> and <rdar://problem/10584969>
152709
152710        Reviewed by Antti Koivisto.
152711
152712        No longer asserts: fast/borders/inline-mask-overlay-image-outset-vertical-rl.html
152713
152714        * css/CSSParser.cpp:
152715        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
152716        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
152717
152718            Clone CSSValues by copying the RefPtrs instead of going through
152719            the CSSValuePool's create-from-double factory. This prevents an
152720            assertion when the incoming value is CSSValueAuto.
152721
1527222011-08-30  Robert Hogan  <robert@webkit.org>
152723
152724        <embed> width and height properties propagate to parent object node
152725        https://bugs.webkit.org/show_bug.cgi?id=17688
152726
152727        Reviewed by Eric Seidel.
152728
152729        Test: fast/images/embed-does-not-propagate-dimensions-to-object-ancestor.html
152730
152731        WebKit seems to have inherited this behaviour from KHTML. When the width/height
152732        of an <embed> element is set, it propagates the values up to any parent <object>
152733        element. There doesn't seem to be any good reason for this and it is not consistent
152734        with the behaviour of Firefox and Opera.
152735
152736        * html/HTMLEmbedElement.cpp:
152737        (WebCore::HTMLEmbedElement::insertedIntoDocument):
152738        (WebCore::HTMLEmbedElement::attributeChanged): Removed
152739        * html/HTMLEmbedElement.h:
152740        (WebCore::HTMLEmbedElement::attributeChanged): Removed
152741
1527422011-12-30  Robert Hogan  <robert@webkit.org>
152743
152744        compareBorders() is called too often during painting
152745        https://bugs.webkit.org/show_bug.cgi?id=73349
152746
152747        Reviewed by Julien Chaffraix.
152748
152749        Collapsed borders are re-calculated every time they are painted.
152750        This is unnecessary, they only change with the layout or style so calculate and
152751        cache them whenever the layout or style changes and use the cached values when
152752        painting. The cache is stored in the table section so that the memory footprint
152753        of a table is only increased when it has collapsing borders.
152754
152755        The gain in performance here consists of skipping collapsed border computation
152756        during painting. The only path that incurs a small performance penalty is the 
152757        additional get/set on the cache when a collapsed border is computed. This penalty only applies
152758        during style change, layout, or when the width of the table is calculated. The computed
152759        border value is not stored in the cache when it has been calculated without its color
152760        for borderHalfStart and co., so that code path is unaffected by this change.
152761
152762        No new tests, covered by existing collapsed border tests.
152763
152764        * rendering/RenderTableCell.cpp:
152765        (WebCore::RenderTableCell::willBeDestroyed): remove entries from collapsed border cache
152766        (WebCore::RenderTableCell::collapsedStartBorder):
152767         Compute, and also cache if the full border including color was computed. 
152768        (WebCore::RenderTableCell::computeCollapsedStartBorder):
152769        (WebCore::RenderTableCell::collapsedEndBorder): ditto
152770        (WebCore::RenderTableCell::computeCollapsedEndBorder):
152771        (WebCore::RenderTableCell::collapsedBeforeBorder): ditto
152772        (WebCore::RenderTableCell::computeCollapsedBeforeBorder):
152773        (WebCore::RenderTableCell::collapsedAfterBorder): ditto
152774        (WebCore::RenderTableCell::computeCollapsedAfterBorder):
152775        (WebCore::RenderTableCell::cachedCollapsedLeftBorder):
152776         Inline the function since it is only called in paintCollapsedBorders and remove
152777         includeColor as a parameter. Move the call to the table's style to the caller rather
152778         than call it 4 times in a row. Use the cached border values directly.
152779        (WebCore::RenderTableCell::cachedCollapsedRightBorder): ditto
152780        (WebCore::RenderTableCell::cachedCollapsedTopBorder): ditto
152781        (WebCore::RenderTableCell::cachedCollapsedBottomBorder): ditto
152782        (WebCore::RenderTableCell::paintCollapsedBorders):
152783         This function always uses the collapsed border cache now.
152784        * rendering/RenderTableCell.h:
152785         Make the collapsed border functions private.
152786        * rendering/RenderTableSection.cpp:
152787        (WebCore::RenderTableSection::removeCachedCollapsedBorders): The cache is deleted by the HashMap
152788         since it is the only owner of the cached item.
152789        (WebCore::RenderTableSection::setCachedCollapsedBorder):
152790        (WebCore::RenderTableSection::cachedCollapsedBorder):
152791         This will assert if there is no cached collapsed border for the side of the 
152792         cell requested by the caller.
152793        * rendering/RenderTableSection.h:
152794         HashMap wouldn't let me use CollapsedBorderSide in the key value for the cache
152795         so use int instead.
152796
1527972012-01-14  David Levin  <levin@chromium.org>
152798
152799        HWndDC should be in platform/win instead of wtf.
152800        https://bugs.webkit.org/show_bug.cgi?id=76314
152801
152802        Reviewed by Sam Weinig.
152803
152804        No new functionality, so no new tests.
152805
152806        * WebCore.gypi:
152807        * WebCore.vcproj/WebCore.vcproj:
152808        * platform/win/HWndDC.h: Renamed from Source/JavaScriptCore/wtf/win/HWndDCWin.h.
152809        I also made the class non-copyable.
152810        (WebCore::HWndDC::HWndDC):
152811        (WebCore::HWndDC::~HWndDC):
152812        (WebCore::HWndDC::operator HDC):
152813
1528142012-01-14  Adam Treat  <atreat@rim.com>
152815
152816        https://bugs.webkit.org/show_bug.cgi?id=76339
152817
152818        Take a page from the Gtk and Qt ports and quiet these logs unless they
152819        are explicitly enabled via environment variable.
152820
152821        Reviewed by George Staikos.
152822
152823        * platform/blackberry/LoggingBlackBerry.cpp:
152824        (WebCore::initializeLoggingChannelsIfNecessary):
152825
1528262011-11-09  Robert Hogan  <robert@webkit.org>
152827
152828        CSS 2.1 failure: outline-color-applies-to* tests fail
152829        https://bugs.webkit.org/show_bug.cgi?id=71944
152830
152831        Reviewed by Julien Chaffraix.
152832
152833        Paint the outline color for row, row-group, header-group and footer-group
152834        elements.
152835
152836        Tests: css2.1/20110323/outline-color-applies-to-001.htm
152837               css2.1/20110323/outline-color-applies-to-002.htm
152838               css2.1/20110323/outline-color-applies-to-003.htm
152839               css2.1/20110323/outline-color-applies-to-004.htm
152840               css2.1/20110323/outline-color-applies-to-005.htm
152841               css2.1/20110323/outline-color-applies-to-006.htm
152842               css2.1/20110323/outline-color-applies-to-007.htm
152843               css2.1/20110323/outline-color-applies-to-008.htm
152844               css2.1/20110323/outline-color-applies-to-009.htm
152845               css2.1/20110323/outline-color-applies-to-010.htm
152846               (There is no outline-color-applies-to-011.htm in the test suite.)
152847               css2.1/20110323/outline-color-applies-to-012.htm
152848               css2.1/20110323/outline-color-applies-to-013.htm
152849               css2.1/20110323/outline-color-applies-to-014.htm
152850               css2.1/20110323/outline-color-applies-to-015.htm
152851               fast/css/outline-color-self-painting-row.htm
152852
152853        * rendering/RenderTableRow.cpp:
152854        (WebCore::RenderTableRow::paintOutlineForRowIfNeeded): Wrapper function for painting the outline for the row.
152855         This is used by RenderTableSection::paintObject and RenderTableRow::paint
152856        (WebCore::RenderTableRow::paint): For rows with a self-painting layer, paint the outline. Tested by
152857         fast/css/outline-color-self-painting-row.htm.
152858        * rendering/RenderTableSection.cpp:
152859        (WebCore::RenderTableSection::paint): Paint the outline for header-group, row-group and footer-groups.
152860        (WebCore::RenderTableSection::paintObject): When iterating through the cells paint the outline of rows as required.
152861        Doing it here avoids the need to walk the RenderTableSection's tree separately elsewhere.
152862
1528632012-01-14  Simon Fraser  <simon.fraser@apple.com>
152864
152865        Unmatched transparency layer begin/end on a filtered element with an opacity ancestor
152866        https://bugs.webkit.org/show_bug.cgi?id=76329
152867
152868        Reviewed by Dan Bernstein.
152869
152870        When doing a paint with painting disabled on the GraphicsContext, as we do
152871        for updating control tints, or computing text rectangles on Find, do not
152872        apply filter effects. This is both a performance gain, and fixes an issue
152873        with mismatched begin/end transparency layers.
152874        
152875        Manual test:
152876            ManualTests/filters/opacity-above-filter.html
152877
152878        * rendering/RenderLayer.cpp:
152879        (WebCore::RenderLayer::paintLayerContents):
152880
1528812012-01-13  Ojan Vafai  <ojan@chromium.org>
152882
152883        Implement flex-align
152884        https://bugs.webkit.org/show_bug.cgi?id=75782
152885
152886        Reviewed by Tony Chang.
152887
152888        * css/CSSComputedStyleDeclaration.cpp:
152889        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
152890        Intentially gets computed style for flex-item-align:auto wrong.
152891        Will fix this in a followup patch.
152892        * css/CSSParser.cpp:
152893        (WebCore::CSSParser::parseValue):
152894        * css/CSSProperty.cpp:
152895        (WebCore::CSSProperty::isInheritedProperty):
152896        * css/CSSPropertyNames.in:
152897        * css/CSSStyleApplyProperty.cpp:
152898        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
152899        * css/CSSStyleSelector.cpp:
152900        (WebCore::CSSStyleSelector::applyProperty):
152901        * rendering/RenderBox.cpp:
152902        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
152903        * rendering/RenderFlexibleBox.cpp:
152904        (WebCore::flexAlignForChild):
152905        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
152906        (WebCore::RenderFlexibleBox::alignChildren):
152907        * rendering/style/RenderStyle.h:
152908        (WebCore::RenderStyleBitfields::flexAlign):
152909        (WebCore::RenderStyleBitfields::setFlexAlign):
152910        (WebCore::RenderStyleBitfields::initialFlexAlign):
152911        (WebCore::RenderStyleBitfields::initialFlexItemAlign):
152912        * rendering/style/StyleFlexibleBoxData.cpp:
152913        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
152914        (WebCore::StyleFlexibleBoxData::operator==):
152915        * rendering/style/StyleFlexibleBoxData.h:
152916
1529172012-01-13  Brent Fulgham  <bfulgham@webkit.org>
152918
152919        [Windows, WinCairo] Build correction after r104919.
152920
152921        * WebCore.vcproj/WebCore.vcproj: Exclude ShadowContentSelectorQuery.cpp
152922          from the build, since it is built as part of DOMAllInOne.cpp.
152923
1529242012-01-13  Vincent Scheib  <scheib@chromium.org>
152925
152926        Pointer Lock: Change isLocked() from operator to attribute isLocked
152927        https://bugs.webkit.org/show_bug.cgi?id=76311
152928
152929        Reviewed by Adam Barth.
152930
152931        This patch implements the recent Mouse Lock Specification update
152932        changing navigator.pointer.isLocked() to .isLocked.
152933
152934        Test pointer-lock/pointer-lock-api.html updated to new spec.
152935
152936        * page/PointerLock.idl:
152937
1529382012-01-13  Raymond Toy  <rtoy@google.com>
152939
152940        noteOn, noteGrainOn and noteOff idl should take doubles
152941        https://bugs.webkit.org/show_bug.cgi?id=76073
152942
152943        Reviewed by Adam Barth.
152944
152945        Existing audiobuffersource-playbackrate and gain tests cover the
152946        noteOn and noteOff changes.
152947
152948        * webaudio/AudioBufferSourceNode.idl: noteOn, noteGrainOn, and
152949        noteOff take doubles.
152950
1529512012-01-13  Beth Dakin  <bdakin@apple.com>
152952
152953        https://bugs.webkit.org/show_bug.cgi?id=71230
152954        Clicking where the overlay scroll track would be should not scroll the page
152955        -and corresponding-
152956        <rdar://problem/9585424>
152957
152958        Reviewed by Alexey Proskuryakov.
152959
152960        These new functions indicate whether the scrollbar should participate in hit 
152961        testing. Non-overlay scrollbars always should, so they return true. Overlay 
152962        scrollbars consult the animator, which checks the current alpha. 
152963        * platform/ScrollAnimator.h:
152964        (WebCore::ScrollAnimator::shouldScrollbarParticipateInHitTesting):
152965        * platform/Scrollbar.cpp:
152966        (WebCore::Scrollbar:: shouldParticipateInHitTesting):
152967        * platform/Scrollbar.h:
152968        * platform/mac/ScrollAnimatorMac.h:
152969        * platform/mac/ScrollAnimatorMac.mm:
152970        (WebCore::ScrollAnimatorMac:: shouldScrollbarParticipateInHitTesting):
152971
152972        In these hit-testing functions, only hit-test when the scrollbar should 
152973        participate.
152974        * platform/ScrollView.cpp:
152975        (WebCore::ScrollView::scrollbarAtPoint):
152976        * rendering/RenderEmbeddedObject.cpp:
152977        (WebCore::RenderEmbeddedObject::nodeAtPoint):
152978        * rendering/RenderLayer.cpp:
152979        (WebCore::RenderLayer::hitTestOverflowControls):
152980        * rendering/RenderListBox.cpp:
152981        (WebCore::RenderListBox::isPointInOverflowControl):
152982
1529832012-01-13  Dan Bernstein  <mitz@apple.com>
152984
152985        REGRESSION: svg/custom/use-instanceRoot-event-listeners.xhtml & svg/custom/pointer-events-invalid-fill.svg broken on the Bots
152986        https://bugs.webkit.org/show_bug.cgi?id=76254
152987
152988        Reviewed by Anders Carlsson.
152989
152990        * css/CSSFontSelector.cpp:
152991        (WebCore::CSSFontSelector::beginLoadTimerFired): Added a call to
152992        CachedResourceLoader::loadDone() after decrementing the request count. This allows the
152993        frame loader to see that the request count is zero and dispatch didFinishLoad. 
152994
1529952012-01-13  Jer Noble  <jer.noble@apple.com>
152996
152997        WebAudio: Optimize calculateNormalizationScale().
152998        https://bugs.webkit.org/show_bug.cgi?id=74372
152999
153000        Reviewed by Eric Carlson.
153001
153002        No new tests; optimization of existing code, so covered by existing test cases.
153003
153004        * platform/audio/Reverb.cpp:
153005        (WebCore::calculateNormalizationScale): Replace implementation with optimized vector
153006            math operation.
153007        (WebCore::Reverb::Reverb):
153008        * platform/audio/VectorMath.cpp:
153009        (WebCore::VectorMath::vsvesq): Vector math operation for squared sum of elements.
153010        * platform/audio/VectorMath.h:
153011
1530122012-01-13  Nico Weber  <thakis@chromium.org>
153013
153014        Remove a unused variable.
153015        https://bugs.webkit.org/show_bug.cgi?id=76307
153016
153017        Reviewed by James Robinson.
153018
153019        * platform/mac/ScrollElasticityController.mm:
153020        (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
153021
1530222012-01-13  Nate Chapin  <japhet@chromium.org>
153023
153024        Revert most of the multipart changes in
153025        http://trac.webkit.org/changeset/104756.
153026        https://bugs.webkit.org/show_bug.cgi?id=76297
153027
153028        Reviewed by Alexey Proskuryakov.
153029
153030        http/tests/multipart/invalid-image-data.html
153031        should stop asserting on chromium win dbg.
153032
153033        * loader/SubresourceLoader.cpp:
153034        (WebCore::SubresourceLoader::didReceiveResponse):
153035        (WebCore::SubresourceLoader::didReceiveData):
153036        (WebCore::SubresourceLoader::sendDataToResource):
153037
1530382011-01-13  Jer Noble  <jer.noble@apple.com>
153039
153040        WebAudio: Use float instead of double values for gain operations.
153041        https://bugs.webkit.org/show_bug.cgi?id=74345
153042
153043        Reviewed by Sam Weinig.
153044
153045        No new tests; optimization of existing code, so covered by existing test cases.
153046
153047        The following functions now take or operate on floats instead of doubles:
153048        (WebCore::AudioBus::scale):
153049        (WebCore::AudioBus::processWithGainFrom):
153050        (WebCore::AudioBus::copyWithGainFrom):
153051        (WebCore::AudioBus::sumWithGainFrom):
153052        * platform/audio/AudioBus.h:
153053        (WebCore::AudioBus::setGain):
153054        (WebCore::AudioBus::gain):
153055        * platform/audio/AudioChannel.cpp:
153056        (WebCore::AudioChannel::scale):
153057        * platform/audio/AudioChannel.h:
153058        * webaudio/AudioBufferSourceNode.cpp:
153059        (WebCore::AudioBufferSourceNode::process):
153060        * webaudio/AudioBufferSourceNode.h:
153061        * webaudio/AudioGainNode.h:
153062        * webaudio/AudioPannerNode.h:
153063
1530642012-01-13  Greg Billock  <gbillock@google.com>
153065
153066        Don't use pending activity notification in IntentRequest
153067        https://bugs.webkit.org/show_bug.cgi?id=76302
153068
153069        Reviewed by Adam Barth.
153070
153071        * Modules/intents/IntentRequest.cpp:
153072        (WebCore::IntentRequest::IntentRequest):
153073        (WebCore::IntentRequest::postResult):
153074        (WebCore::IntentRequest::postFailure):
153075
1530762012-01-13  Raymond Toy  <rtoy@google.com>
153077
153078        EQUALPOWER panner incorrectly computes gain
153079        https://bugs.webkit.org/show_bug.cgi?id=75767
153080
153081        Reviewed by Kenneth Russell.
153082
153083        Layout test added.
153084
153085        * platform/audio/EqualPowerPanner.cpp:
153086        (WebCore::EqualPowerPanner::pan):  Correct the formula.
153087
1530882012-01-13  Ojan Vafai  <ojan@chromium.org>
153089
153090        Unreviewed, rolling out r104972.
153091        http://trac.webkit.org/changeset/104972
153092        https://bugs.webkit.org/show_bug.cgi?id=75782
153093
153094        Broke some tests
153095
153096        * css/CSSComputedStyleDeclaration.cpp:
153097        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
153098        * css/CSSParser.cpp:
153099        (WebCore::CSSParser::parseValue):
153100        * css/CSSProperty.cpp:
153101        (WebCore::CSSProperty::isInheritedProperty):
153102        * css/CSSPropertyNames.in:
153103        * css/CSSStyleApplyProperty.cpp:
153104        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
153105        * css/CSSStyleSelector.cpp:
153106        (WebCore::CSSStyleSelector::applyProperty):
153107        * rendering/RenderBox.cpp:
153108        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
153109        * rendering/RenderFlexibleBox.cpp:
153110        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
153111        (WebCore::RenderFlexibleBox::alignChildren):
153112        * rendering/style/RenderStyle.h:
153113        (WebCore::RenderStyleBitfields::initialFlexItemAlign):
153114        * rendering/style/StyleFlexibleBoxData.cpp:
153115        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
153116        (WebCore::StyleFlexibleBoxData::operator==):
153117        * rendering/style/StyleFlexibleBoxData.h:
153118
1531192012-01-13  Anders Carlsson  <andersca@apple.com>
153120
153121        -[WebTileCacheLayer setNeedsDisplay] doesn't trigger invalidation
153122        https://bugs.webkit.org/show_bug.cgi?id=76299
153123
153124        Reviewed by Simon Fraser.
153125
153126        Override -[WebTileCacheLayer setNeedsDisplay] and call TileCache::setNeedsDisplay from there,
153127        instead of ending up with a huge rectangle in TileCache::setNeedsDisplayInRect which causes our
153128        tile computation logic to fail due to integer overflow when converting from CGFloats to ints.
153129
153130        * platform/graphics/ca/mac/TileCache.h:
153131        * platform/graphics/ca/mac/TileCache.mm:
153132        (WebCore::TileCache::setNeedsDisplay):
153133        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
153134        (-[WebTileCacheLayer setNeedsDisplay]):
153135
1531362012-01-12  Ojan Vafai  <ojan@chromium.org>
153137
153138        Implement flex-align
153139        https://bugs.webkit.org/show_bug.cgi?id=75782
153140
153141        Reviewed by Tony Chang.
153142
153143        * css/CSSComputedStyleDeclaration.cpp:
153144        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
153145        Not 100% sure about this, but I think the computed value of
153146        flex-item-align needs to take the parent's flex-align into
153147        account for computed auto values.
153148        * css/CSSParser.cpp:
153149        (WebCore::CSSParser::parseValue):
153150        * css/CSSProperty.cpp:
153151        (WebCore::CSSProperty::isInheritedProperty):
153152        * css/CSSPropertyNames.in:
153153        * css/CSSStyleApplyProperty.cpp:
153154        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
153155        * css/CSSStyleSelector.cpp:
153156        (WebCore::CSSStyleSelector::applyProperty):
153157        * rendering/RenderBox.cpp:
153158        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
153159        * rendering/RenderFlexibleBox.cpp:
153160        (WebCore::flexAlign):
153161        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
153162        (WebCore::RenderFlexibleBox::alignChildren):
153163        * rendering/style/RenderStyle.h:
153164        (WebCore::RenderStyleBitfields::flexAlign):
153165        (WebCore::RenderStyleBitfields::setFlexAlign):
153166        (WebCore::RenderStyleBitfields::initialFlexAlign):
153167        (WebCore::RenderStyleBitfields::initialFlexItemAlign):
153168        * rendering/style/StyleFlexibleBoxData.cpp:
153169        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
153170        (WebCore::StyleFlexibleBoxData::operator==):
153171        * rendering/style/StyleFlexibleBoxData.h:
153172
1531732012-01-13  Simon Fraser  <simon.fraser@apple.com>
153174
153175        Rename GraphicsContext* argument in various RenderLayer methods
153176        https://bugs.webkit.org/show_bug.cgi?id=76283
153177
153178        Reviewed by James Robinson/Anders Carlsson.
153179
153180        Rename the GraphicsContext* parameter "p" in various RenderLayer
153181        methods to "context". "p" was a historical name from when it was
153182        called Painter.
153183
153184        * rendering/RenderLayer.cpp:
153185        (WebCore::RenderLayer::beginTransparencyLayers):
153186        (WebCore::RenderLayer::paint):
153187        (WebCore::RenderLayer::paintOverlayScrollbars):
153188        (WebCore::RenderLayer::restoreClip):
153189        (WebCore::RenderLayer::paintLayer):
153190        (WebCore::RenderLayer::paintLayerContentsAndReflection):
153191        (WebCore::RenderLayer::paintLayerContents):
153192        (WebCore::RenderLayer::paintList):
153193
1531942012-01-13  Mihnea Ovidenie  <mihnea@adobe.com>
153195
153196        [CSSRegions]Add back region style code removed in r104036
153197        https://bugs.webkit.org/show_bug.cgi?id=76064
153198
153199        Reviewed by David Hyatt.
153200
153201        No new tests. The region style tests are still skipped. A follow up patch will enable
153202        both region style for background-color and region style tests.
153203
153204        * WebCore.exp.in:
153205        * css/CSSStyleSelector.cpp:
153206        (WebCore::RuleData::useInRegionStyle):
153207        (WebCore::CSSStyleSelector::CSSStyleSelector):
153208        (WebCore::CSSStyleSelector::addMatchedDeclaration):
153209        (WebCore::CSSStyleSelector::matchRules):
153210        (WebCore::CSSStyleSelector::matchAllRules):
153211        (WebCore::CSSStyleSelector::initForRegionStyling):
153212        (WebCore::CSSStyleSelector::initRegionRules):
153213        (WebCore::CSSStyleSelector::styleForElement):
153214        (WebCore::CSSStyleSelector::pseudoStyleForElement):
153215        (WebCore::RuleData::RuleData):
153216        (WebCore::RuleSet::RuleSet):
153217        (WebCore::RuleSet::addToRuleSet):
153218        (WebCore::CSSStyleSelector::applyDeclarations):
153219        (WebCore::isValidRegionStyleProperty):
153220        (WebCore::CSSStyleSelector::applyProperty):
153221        * css/CSSStyleSelector.h:
153222        (WebCore::CSSStyleSelector::setRegionForStyling):
153223        (WebCore::CSSStyleSelector::regionForStyling):
153224        (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
153225        * rendering/RenderFlowThread.cpp:
153226        (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
153227        (WebCore::RenderFlowThread::setRegionRangeForBox):
153228        * rendering/RenderFlowThread.h:
153229        * rendering/RenderLayer.cpp:
153230        (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
153231        (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
153232        (WebCore::RenderLayer::paint):
153233        (WebCore::RenderLayer::hitTest):
153234        * rendering/RenderObject.cpp:
153235        (WebCore::RenderObject::styleInRegion):
153236        * rendering/RenderObject.h:
153237        (WebCore::RenderObject::canHaveRegionStyle):
153238        * rendering/RenderObjectChildList.cpp:
153239        (WebCore::RenderObjectChildList::removeChildNode):
153240        * rendering/RenderRegion.cpp:
153241        (WebCore::RenderRegion::renderObjectRegionStyle):
153242        (WebCore::RenderRegion::computeStyleInRegion):
153243        (WebCore::RenderRegion::clearObjectStyleInRegion):
153244        * rendering/RenderRegion.h:
153245        * rendering/RenderView.cpp:
153246        (WebCore::RenderView::RenderView):
153247        * rendering/RenderView.h:
153248        (WebCore::RenderView::currentRenderRegion):
153249        (WebCore::RenderView::setCurrentRenderRegion):
153250
1532512012-01-13  Kenneth Russell  <kbr@google.com>
153252
153253        Unreviewed build fix; added project.pbxproj changes lost in r104954.
153254        https://bugs.webkit.org/show_bug.cgi?id=75906
153255
153256        * WebCore.xcodeproj/project.pbxproj:
153257
1532582012-01-13  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
153259
153260        TextureMapper: Extract layer transform logic to a LayerTransform class.
153261        https://bugs.webkit.org/show_bug.cgi?id=76291
153262
153263        Reviewed by Noam Rosenthal.
153264
153265        * GNUmakefile.list.am:
153266        * Target.pri:
153267        * WebCore.gypi:
153268        * platform/graphics/texmap/LayerTransform.cpp: Added.
153269        (WebCore::LayerTransform::LayerTransform):
153270        (WebCore::LayerTransform::setPosition):
153271        (WebCore::LayerTransform::setSize):
153272        (WebCore::LayerTransform::setAnchorPoint):
153273        (WebCore::LayerTransform::setFlattening):
153274        (WebCore::LayerTransform::setLocalTransform):
153275        (WebCore::LayerTransform::setChildrenTransform):
153276        (WebCore::LayerTransform::combined):
153277        (WebCore::LayerTransform::combinedForChildren):
153278        (WebCore::LayerTransform::combineTransforms):
153279        (WebCore::LayerTransform::combineTransformsForChildren):
153280        * platform/graphics/texmap/LayerTransform.h: Added.
153281        * platform/graphics/texmap/TextureMapperNode.cpp:
153282        (WebCore::TextureMapperNode::setTransform):
153283        (WebCore::TextureMapperNode::computeTransformsRecursive):
153284        (WebCore::TextureMapperNode::collectVisibleContentsRects):
153285        (WebCore::TextureMapperNode::paintSelf):
153286        (WebCore::TextureMapperNode::compareGraphicsLayersZValue):
153287        (WebCore::TextureMapperNode::paintSelfAndChildren):
153288        (WebCore::TextureMapperNode::paintReflection):
153289        (WebCore::TextureMapperNode::syncCompositingStateSelf):
153290        * platform/graphics/texmap/TextureMapperNode.h:
153291        (WebCore::TextureMapperNode::TextureMapperNode):
153292
1532932012-01-13  Kenneth Russell  <kbr@google.com>
153294
153295        Unreviewed, build fix for unused argument warning after r104954.
153296        https://bugs.webkit.org/show_bug.cgi?id=75906
153297
153298        Also fixed up somebody's bad merge in Source/WebCore/ChangeLog.
153299
153300        * html/canvas/WebGLObject.cpp:
153301        (WebCore::WebGLObject::WebGLObject):
153302
1533032012-01-13  Raphael Kubo da Costa  <kubo@profusion.mobi>
153304
153305        [soup] Initialize m_soupFlags in all ResourceResponse constructors.
153306
153307        Rubber-stamped by Gustavo Noronha Silva.
153308
153309        m_soupFlags was being initialized in two of the three ResourceResponse
153310        constructors, causing some trouble in
153311        FrameLoaderClient::dispatchDidReceiveResponse (ports which use
153312        ResourceRequest::setSoupMessageFlags with the response's unitialized
153313        flags).
153314
153315        * platform/network/soup/ResourceResponse.h:
153316        (WebCore::ResourceResponse::ResourceResponse):
153317
1533182012-01-13  Alexey Proskuryakov  <ap@apple.com>
153319
153320        CFURLRef to KURL conversion shouldn't turn raw paths into file URLs
153321        https://bugs.webkit.org/show_bug.cgi?id=76251
153322
153323        Reviewed by Dan Bernstein.
153324
153325        * platform/cf/KURLCFNet.cpp: (WebCore::KURL::KURL): Removed the offending code.
153326
1533272012-01-13  Konrad Piascik  <kpiascik@rim.com>
153328
153329        Web Inspector: Disconnecting the front-end does not disable profiling.
153330        https://bugs.webkit.org/show_bug.cgi?id=76213
153331
153332        Reviewed by Pavel Feldman.
153333
153334        Not testable.
153335
153336        * inspector/InspectorProfilerAgent.cpp:
153337        (WebCore::InspectorProfilerAgent::clearFrontend):
153338
1533392012-01-13  Andreas Kling  <awesomekling@apple.com>
153340
153341        JSC/DOM bindings: Reduce HandleHeap churn in cacheWrapper().
153342        <http://webkit.org/b/76271>
153343
153344        Reviewed by Darin Adler.
153345
153346        Use JSC::Weak::swap() to move JSDOMWrappers into the DOMWrapperWorld's wrapper map.
153347        This avoids invoking the JSC::Weak copy constructor and associated HandleHeap churn.
153348
153349        * bindings/js/JSDOMBinding.h:
153350        (WebCore::cacheWrapper):
153351
1533522012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
153353
153354        Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
153355        https://bugs.webkit.org/show_bug.cgi?id=76264
153356
153357        Reviewed by Pavel Feldman.
153358
153359        * CMakeLists.txt:
153360        * WebCore.gypi:
153361        * WebCore.vcproj/WebCore.vcproj:
153362        * inspector/CodeGeneratorInspector.py:
153363        * inspector/Inspector.json:
153364        * inspector/InspectorController.cpp:
153365        (WebCore::InspectorController::InspectorController):
153366        * inspector/InspectorIndexedDBAgent.cpp: Added.
153367        (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
153368        (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
153369        (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
153370        (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
153371        (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
153372        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
153373        (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
153374        (WebCore::InspectorIndexedDBAgent::setFrontend):
153375        (WebCore::InspectorIndexedDBAgent::clearFrontend):
153376        (WebCore::InspectorIndexedDBAgent::restore):
153377        (WebCore::InspectorIndexedDBAgent::enable):
153378        (WebCore::InspectorIndexedDBAgent::disable):
153379        (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
153380        * inspector/InspectorIndexedDBAgent.h: Added.
153381        (WebCore::InspectorIndexedDBAgent::create):
153382        * inspector/InspectorPageAgent.cpp:
153383        (WebCore::InspectorPageAgent::buildObjectForFrame):
153384        * inspector/compile-front-end.sh:
153385        * inspector/front-end/IndexedDBModel.js: Added.
153386        * inspector/front-end/ResourceTreeModel.js:
153387        (WebInspector.ResourceTreeFrame):
153388        (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
153389        (WebInspector.ResourceTreeFrame.prototype._navigate):
153390        * inspector/front-end/WebKit.qrc:
153391        * inspector/front-end/inspector.html:
153392
1533932012-01-13  Sheriff Bot  <webkit.review.bot@gmail.com>
153394
153395        Unreviewed, rolling out r104935.
153396        http://trac.webkit.org/changeset/104935
153397        https://bugs.webkit.org/show_bug.cgi?id=76277
153398
153399        Breaks AppleWin compilation (Requested by vsevik on #webkit).
153400
153401        * CMakeLists.txt:
153402        * WebCore.gypi:
153403        * WebCore.vcproj/WebCore.vcproj:
153404        * inspector/CodeGeneratorInspector.py:
153405        * inspector/Inspector.json:
153406        * inspector/InspectorController.cpp:
153407        (WebCore::InspectorController::InspectorController):
153408        * inspector/InspectorIndexedDBAgent.cpp: Removed.
153409        * inspector/InspectorIndexedDBAgent.h: Removed.
153410        * inspector/InspectorPageAgent.cpp:
153411        (WebCore::InspectorPageAgent::buildObjectForFrame):
153412        * inspector/compile-front-end.sh:
153413        * inspector/front-end/IndexedDBModel.js: Removed.
153414        * inspector/front-end/ResourceTreeModel.js:
153415        (WebInspector.ResourceTreeFrame):
153416        (WebInspector.ResourceTreeFrame.prototype._navigate):
153417        * inspector/front-end/WebKit.qrc:
153418        * inspector/front-end/inspector.html:
153419
1534202012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
153421
153422        Web Inspector: [InspectorIndexedDB] Add InspectorIndexedDBAgent and IndexedDBModel, pass database names to inspector.
153423        https://bugs.webkit.org/show_bug.cgi?id=76264
153424
153425        Reviewed by Pavel Feldman.
153426
153427        * CMakeLists.txt:
153428        * WebCore.gypi:
153429        * WebCore.vcproj/WebCore.vcproj:
153430        * inspector/CodeGeneratorInspector.py:
153431        * inspector/Inspector.json:
153432        * inspector/InspectorController.cpp:
153433        (WebCore::InspectorController::InspectorController):
153434        * inspector/InspectorIndexedDBAgent.cpp: Added.
153435        (WebCore::InspectorIndexedDBAgent::FrontendProvider::create):
153436        (WebCore::InspectorIndexedDBAgent::FrontendProvider::~FrontendProvider):
153437        (WebCore::InspectorIndexedDBAgent::FrontendProvider::frontend):
153438        (WebCore::InspectorIndexedDBAgent::FrontendProvider::clearFrontend):
153439        (WebCore::InspectorIndexedDBAgent::FrontendProvider::FrontendProvider):
153440        (WebCore::InspectorIndexedDBAgent::InspectorIndexedDBAgent):
153441        (WebCore::InspectorIndexedDBAgent::~InspectorIndexedDBAgent):
153442        (WebCore::InspectorIndexedDBAgent::setFrontend):
153443        (WebCore::InspectorIndexedDBAgent::clearFrontend):
153444        (WebCore::InspectorIndexedDBAgent::restore):
153445        (WebCore::InspectorIndexedDBAgent::enable):
153446        (WebCore::InspectorIndexedDBAgent::disable):
153447        (WebCore::InspectorIndexedDBAgent::requestDatabaseNamesForFrame):
153448        * inspector/InspectorIndexedDBAgent.h: Added.
153449        (WebCore::InspectorIndexedDBAgent::create):
153450        * inspector/InspectorPageAgent.cpp:
153451        (WebCore::InspectorPageAgent::buildObjectForFrame):
153452        * inspector/compile-front-end.sh:
153453        * inspector/front-end/IndexedDBModel.js: Added.
153454        * inspector/front-end/ResourceTreeModel.js:
153455        (WebInspector.ResourceTreeFrame):
153456        (WebInspector.ResourceTreeFrame.prototype.get securityOrigin):
153457        (WebInspector.ResourceTreeFrame.prototype._navigate):
153458        * inspector/front-end/WebKit.qrc:
153459        * inspector/front-end/inspector.html:
153460
1534612012-01-13  Simon Hausmann  <simon.hausmann@nokia.com>
153462
153463        [Qt] Fix build when using TextureMapper with OpenGL/ES
153464        https://bugs.webkit.org/show_bug.cgi?id=76268
153465
153466        Reviewed by Tor Arne Vestbø.
153467
153468        * WebCore.pri: When the texture mapper uses OpenGL/ES, then it also relies on the
153469        availability of libEGL by using eglGetCurrentContext(). In that case we need to link against
153470        libEGL.
153471
1534722012-01-13  Jochen Eisinger  <jochen@chromium.org>
153473
153474        Don't artifically keep IDBDatabase objects alive if there are no references to it.
153475        https://bugs.webkit.org/show_bug.cgi?id=75859
153476
153477        Originally, this code was added to keep the IDBDatabase object alive
153478        even if no reference from JavaScript to the object existed, because
153479        running transactions could still send events for this database
153480        connection. Meanwhile, transactions are marked as active DOM objects
153481        during their lifetime, and they keep a RefPtr to the IDBDatabase
153482        object, so this hack is no longer required.
153483
153484        Reviewed by Tony Gentilcore.
153485
153486        Test: storage/indexeddb/delete-closed-database-object.html
153487
153488        * storage/IDBDatabase.cpp:
153489        * storage/IDBDatabase.h:
153490
1534912012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
153492
153493        TextureMapper: Do the node transform computation when painting.
153494        https://bugs.webkit.org/show_bug.cgi?id=74721
153495
153496        Reviewed by Noam Rosenthal.
153497
153498        The transform of the node tree was built during the syncCompositingState
153499        step. This would cause an ASSERT with QWebView, trying to use a dirty transform
153500        state since the rootTextureMapperNode in QWebFramePrivate::renderCompositedLayers
153501        doesn't run the sync step after getting the world transform set.
153502
153503        This moves the transform computation from the sync to the paint step to
153504        prevent making sure that the sync step has been run on all nodes before painting.
153505
153506        * platform/graphics/texmap/TextureMapperNode.cpp:
153507        (WebCore::TextureMapperNode::computeTransformsRecursive):
153508        (WebCore::TextureMapperNode::computeTiles):
153509        Remove an unused variable.
153510        (WebCore::TextureMapperNode::paint):
153511        (WebCore::TextureMapperNode::syncAnimationsRecursively):
153512        (WebCore::TextureMapperNode::syncCompositingState):
153513        * platform/graphics/texmap/TextureMapperNode.h:
153514
1535152012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
153516
153517        TextureMapper: Simplify transform manipulations.
153518        https://bugs.webkit.org/show_bug.cgi?id=74719
153519
153520        Reviewed by Noam Rosenthal.
153521
153522        - Make sure that the replica node has a complete transform and
153523          use it directly instead of keeping a copy in the source.
153524        - Apply the origin and position translation only once, on the
153525          target and descendants transforms.
153526        - Use to2dTransform() on !preserves3D layers instead of doing
153527          the flattening manually.
153528        - Remove mentions of perspective as this is handled by WebCore
153529          through the children transform.
153530        - Apply the inverse target transform on the replica only where it
153531          is needed in paintReflection since it uses the full transform in paintSelf.
153532        - Merge the base and local transforms.
153533
153534        * platform/graphics/texmap/TextureMapperNode.cpp:
153535        (WebCore::TextureMapperNode::setTransform):
153536        (WebCore::TextureMapperNode::computeTransformsSelf):
153537        (WebCore::TextureMapperNode::computeAllTransforms):
153538        (WebCore::TextureMapperNode::paintSelf):
153539        (WebCore::TextureMapperNode::paintReflection):
153540        * platform/graphics/texmap/TextureMapperNode.h:
153541
1535422012-01-12  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
153543
153544        TextureMapper: Fix the fillsForward transform adjustment in syncAnimations.
153545        https://bugs.webkit.org/show_bug.cgi?id=76184
153546
153547        Reviewed by Noam Rosenthal.
153548
153549        Also make the intention clearer by using setTransform and setOpacity.
153550
153551        * platform/graphics/texmap/TextureMapperNode.cpp:
153552        (WebCore::TextureMapperNode::syncAnimations):
153553
1535542012-01-13  Vsevolod Vlasov  <vsevik@chromium.org>
153555
153556        Unreviewed inspector scripts navigator style fixes.
153557
153558        * inspector/front-end/scriptsPanel.css:
153559        (#scripts-editor-container-tabbed-pane .tabbed-pane-header-tab):
153560
1535612012-01-13  Jochen Eisinger  <jochen@chromium.org>
153562
153563        Once we prepared a script element for execution, execute it, even if the script element was meanwhile removed from the dom tree.
153564        https://bugs.webkit.org/show_bug.cgi?id=76083
153565
153566        Reviewed by Adam Barth.
153567
153568        This bug was caught by the following IE Test Center test:
153569
153570        http://samples.msdn.microsoft.com/ietestcenter/HTML5/show_async_test.htm?11_RemovingAsyncScript
153571
153572        Test: http/tests/misc/async-script-removed.html
153573              http/tests/misc/async-script.html
153574
153575        * dom/ScriptElement.cpp:
153576        * dom/ScriptElement.h:
153577        * dom/ScriptRunner.cpp:
153578        (WebCore::ScriptRunner::queueScriptForExecution):
153579        * html/HTMLScriptElement.cpp:
153580        * html/HTMLScriptElement.h:
153581        * svg/SVGScriptElement.cpp:
153582        * svg/SVGScriptElement.h:
153583
1535842012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>
153585
153586        Large SVG text layout performance regression in r81168
153587        https://bugs.webkit.org/show_bug.cgi?id=65711
153588
153589        Reviewed by Antti Koivisto.
153590
153591        Finish SVGTextMetricsBuilder introduction, tested in my local svg-text-performance branch.
153592        SVGTextMetricsBuilder has two public methods:
153593        a) SVGTextMetricsBuilder::measureTextRenderer(RenderSVGInlineText*)
153594           It will be used exclusively for non-initial, incremental layout changes. Once the inital
153595           text layout ran, any mutation of eg. a child text node of a <tspan>, will only trigger
153596           a rebuild of the layout attributes associated with the passed in renderer.
153597
153598        b) SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes(RenderSVGText*, RenderSVGInlineText* stopAtLeaf, SVGCharacterDataMap& allCharactersMap)
153599           stopAtLeaf=0:
153600           This carries out the initial layout phase. It measures all characters of the whole <text> subtree, and stores the SVGTextMetrics for each character
153601           in the SVGTextLayoutAttributes, stored in the RenderSVGInlineText object. It requires a SVGCharacterDataMap allCharactersMap as input argument,
153602           which contains a HashMap<unsigned, {float x, y, dx, dy, rotate}>, which maps each character position to a set of x/y/dx/dy/rotate values.
153603           The SVGCharacterDataMap living in SVGTextLayoutAttributes will be filled, from the global "allCharactersMap", so that each RenderSVGInlineText only
153604           stores the positioning information for its children, if any.
153605
153606           Note: SVGTextMetricsBuilder is not yet deployed, so this talks about the design, once everything is landed.
153607
153608           stopAtLeaf!=0:
153609           This is never used for the initial layout phase. If the initial layout is done, and eg. a <tspan> is added to the <text> subtree, we no longer
153610           need to rebuild the metrics map & layout attributes for the whole tree, but only for the desired <tspan>, and its previous/next sibling, if present
153611           (which may be affected by the inclusion of another node inbetween them).
153612
153613        SVGTextMetricsBuilder is now finished, and will be used in the next patch chunk.
153614        Doesn't affect any tests yet.
153615
153616        * rendering/svg/SVGTextLayoutAttributes.h:
153617        (WebCore::SVGTextLayoutAttributes::clear):
153618        (WebCore::SVGCharacterData::SVGCharacterData):
153619        * rendering/svg/SVGTextMetricsBuilder.cpp:
153620        (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
153621        (WebCore::SVGTextMetricsBuilder::currentCharacterStartsSurrogatePair):
153622        (WebCore::SVGTextMetricsBuilder::advance):
153623        (WebCore::SVGTextMetricsBuilder::advanceSimpleText):
153624        (WebCore::SVGTextMetricsBuilder::advanceComplexText):
153625        (WebCore::SVGTextMetricsBuilder::initializeMeasurementWithTextRenderer):
153626        (WebCore::MeasureTextData::MeasureTextData):
153627        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
153628        (WebCore::SVGTextMetricsBuilder::walkTree):
153629        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
153630        (WebCore::SVGTextMetricsBuilder::buildMetricsAndLayoutAttributes):
153631        * rendering/svg/SVGTextMetricsBuilder.h:
153632
1536332012-01-13  Pavel Feldman  <pfeldman@google.com>
153634
153635        Not reviewed: Fixing Win builders.
153636
153637        * inspector/DOMEditor.cpp:
153638        (WebCore::DOMEditor::diff):
153639
1536402012-01-13  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
153641
153642        [EFL] Add 'Copy Image Address' to context menu.
153643        https://bugs.webkit.org/show_bug.cgi?id=76153
153644
153645        Reviewed by Andreas Kling.
153646
153647        Enables 'Copy Image Address' option to context menu in WebKit-EFL as it is enabled in GTK and QT ports.
153648
153649        * page/ContextMenuController.cpp:
153650        (WebCore::ContextMenuController::contextMenuItemSelected):
153651        (WebCore::ContextMenuController::populate):
153652        (WebCore::ContextMenuController::checkOrEnableIfNeeded):
153653        * platform/ContextMenuItem.h:
153654        * platform/LocalizationStrategy.h:
153655        * platform/LocalizedStrings.cpp:
153656        * platform/LocalizedStrings.h:
153657        * platform/efl/LocalizedStringsEfl.cpp:
153658        (WebCore::contextMenuItemTagCopyImageUrlToClipboard):
153659
1536602012-01-13  Pavel Feldman  <pfeldman@google.com>
153661
153662        Not reviewed: 32bit build fix.
153663
153664        * inspector/DOMEditor.cpp:
153665        * inspector/DOMEditor.h:
153666
1536672012-01-13  Mario Sanchez Prada  <msanchez@igalia.com>
153668
153669        Unreviewed, rolling out r104905.
153670        http://trac.webkit.org/changeset/104905
153671        https://bugs.webkit.org/show_bug.cgi?id=76267
153672
153673        This patch broke tests in the GTK 64bit Debug bot (Requested
153674        by msanchez on #webkit).
153675
153676        * editing/gtk/FrameSelectionGtk.cpp:
153677        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
153678
1536792012-01-13  Pavel Feldman  <pfeldman@google.com>
153680
153681        Web Inspector: make HTML editing preserve node identity when node nesting level changes.
153682        https://bugs.webkit.org/show_bug.cgi?id=76183
153683
153684        Reviewed by Yury Semikhatsky.
153685
153686        Test: inspector/elements/set-outer-html-2.html
153687
153688        * inspector/DOMEditor.cpp:
153689        (WebCore::DOMEditor::patchDocument):
153690        (WebCore::DOMEditor::patchNode):
153691        (WebCore::DOMEditor::innerPatchHTMLElement):
153692        (WebCore::DOMEditor::innerPatchNode):
153693        (WebCore::DOMEditor::diff):
153694        (WebCore::DOMEditor::innerPatchChildren):
153695        (WebCore::DOMEditor::createDigest):
153696        (WebCore::DOMEditor::insertBefore):
153697        (WebCore::DOMEditor::removeChild):
153698        (WebCore::DOMEditor::markNodeAsUsed):
153699        (WebCore::DOMEditor::dumpMap):
153700        * inspector/DOMEditor.h:
153701        * inspector/InspectorDOMAgent.cpp:
153702        (WebCore::InspectorDOMAgent::setOuterHTML):
153703
1537042012-01-13  Shinya Kawanaka  <shinyak@google.com>
153705
153706        ShadowContentElement should be able to use query.
153707        https://bugs.webkit.org/show_bug.cgi?id=75302
153708
153709        Reviewed by Hajime Morita.
153710
153711        This patch introduces a selector to query elements in ShadowContentElement.
153712        This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
153713
153714        Tests: fast/dom/shadow/shadow-contents-select-expected.html
153715               fast/dom/shadow/shadow-contents-select.html
153716
153717        * CMakeLists.txt:
153718        * GNUmakefile.list.am:
153719        * Target.pri:
153720        * WebCore.gypi:
153721        * WebCore.vcproj/WebCore.vcproj:
153722        * WebCore.xcodeproj/project.pbxproj:
153723        * dom/DOMAllInOne.cpp:
153724        * dom/SelectorQuery.cpp:
153725        (WebCore::SelectorDataList::SelectorDataList):
153726          Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
153727        (WebCore::SelectorDataList::initialize):
153728        (WebCore::SelectorDataList::matches):
153729        (WebCore::SelectorDataList::queryAll):
153730        (WebCore::SelectorDataList::queryFirst):
153731        (WebCore::SelectorDataList::canUseIdLookup):
153732        (WebCore::SelectorDataList::execute):
153733        (WebCore::SelectorQuery::SelectorQuery):
153734        (WebCore::SelectorQuery::queryAll):
153735        (WebCore::SelectorQuery::queryFirst):
153736        * dom/SelectorQuery.h:
153737        (WebCore::SelectorDataList::size):
153738        * dom/ShadowContentElement.cpp:
153739        (WebCore::ShadowContentElement::select):
153740        (WebCore::ShadowContentElement::setSelect):
153741        * dom/ShadowContentElement.h:
153742        * dom/ShadowContentSelectorQuery.cpp: Added.
153743        (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
153744        (WebCore::ShadowContentSelectorQuery::matches):
153745          Returns true if Node is matched by the query.
153746        * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
153747        * dom/ShadowInclusionSelector.cpp:
153748        (WebCore::ShadowInclusionSelector::select):
153749        * dom/ShadowInclusionSelector.h:
153750        * html/HTMLAttributeNames.in:
153751        * html/HTMLDetailsElement.cpp:
153752        (WebCore::summaryQuerySelector):
153753        (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
153754        (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
153755
1537562012-01-13  Ilya Tikhonovsky  <loislo@chromium.org>
153757
153758        Web Inspector: Detailed heap snapshot. _calculateFlags is too slow on a large heap snapshot.
153759        https://bugs.webkit.org/show_bug.cgi?id=76252
153760
153761        _calculateFlags speed is about 10k edges per second.
153762        It requires 150sec for the snapshot with 1.5m edges.
153763        The root of problem is var node = list.shift();
153764        shift() is not effective in term of memory and cpu.
153765        In our case it can be replaced with pop().
153766        Now the function works 40 times faster.
153767
153768        Drive by change: if statement was reformatted a bit for better readability.
153769
153770        Reviewed by Yury Semikhatsky.
153771
153772        * inspector/front-end/HeapSnapshot.js:
153773        (WebInspector.HeapSnapshot.prototype._calculateFlags):
153774
1537752012-01-13  Alexander Pavlov  <apavlov@chromium.org>
153776
153777        Web Inspector: [Chromium] JavaScriptOutlineDialog fails to open
153778        https://bugs.webkit.org/show_bug.cgi?id=76259
153779
153780        Reviewed by Yury Semikhatsky.
153781
153782        * WebCore.gypi:
153783
1537842012-01-13  Kentaro Hara  <haraken@chromium.org>
153785
153786        text-decorations should not be propagated to floating, absolutely or fixed
153787        positioned decendants
153788        https://bugs.webkit.org/show_bug.cgi?id=18611
153789
153790        Reviewed by Darin Adler.
153791
153792        Previously text-decorations were propagated to all child elements,
153793        but they should not be propagated to out-of-flow descendants,
153794        i.e. floating, absolutely or fixed positioned elements.
153795
153796        The spec says "text decorations are not propagated to any out-of-flow descendants":
153797        http://www.w3.org/TR/2011/WD-css3-text-20110901/#decoration
153798
153799        Test: fast/css/text-decoration-in-descendants.html
153800
153801        * rendering/RenderObject.cpp:
153802        (WebCore::RenderObject::getTextDecorationColors):
153803
1538042012-01-13  Kent Tamura  <tkent@chromium.org>
153805
153806        REGRESSION (r104668): Crash in HTMLFormElement destructor if the
153807        document contains radio groups with the identical name.
153808        https://bugs.webkit.org/show_bug.cgi?id=76206
153809
153810        Reviewed by Darin Adler.
153811
153812        Test: fast/forms/radio/radio-group-document-destruction.html
153813
153814        * html/HTMLInputElement.cpp:
153815        (WebCore::HTMLInputElement::~HTMLInputElement):
153816        setForm(0) may register this to a document-level radio button group.
153817        We need to unregister this from the group because
153818        Document::checkedRadioButtons() is still accessible from other objects.
153819
1538202012-01-13  Mario Sanchez Prada  <msanchez@igalia.com>
153821
153822        [GTK] ATK text-caret-moved and text-selection-changed events not being emitted
153823        https://bugs.webkit.org/show_bug.cgi?id=76069
153824
153825        Reviewed by Martin Robinson.
153826
153827        Fix bug introduced with patch for Bug 72830.
153828
153829        * editing/gtk/FrameSelectionGtk.cpp:
153830        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
153831        Pass the right accessibility object associated with the current
153832        selection to objectFocusedAndCaretOffsetUnignored.
153833
1538342012-01-13  Alexandru Chiculita  <achicu@adobe.com>
153835
153836        Refactor RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer()/paintLayerContents() to avoid duplicate code
153837        https://bugs.webkit.org/show_bug.cgi?id=75983
153838
153839        Reviewed by Simon Fraser.
153840
153841        No new tests, just merging two duplicate methods.
153842
153843        * rendering/RenderLayer.cpp:
153844        (WebCore::RenderLayer::paintLayer):
153845            This method is used only in non-composited mode, so I've moved the check for composited mode much earlier.
153846
153847        (WebCore::RenderLayer::paintLayerContentsAndReflection):
153848            Also used just in non-composited mode, it will draw the reflection and then just call paintLayerContents.
153849
153850        (WebCore::RenderLayer::paintLayerContents):
153851            Old method, that is now used by both composited and non-composited mode. I've added 3 more flags used to render the
153852            Graphics layers: Background, Foreground and Mask.
153853
153854        * rendering/RenderLayer.h:
153855        * rendering/RenderLayerBacking.cpp:
153856        (WebCore::RenderLayerBacking::paintIntoLayer):
153857            Removed all the code and delegated the work to RenderLayer::paintLayerContents.
153858
1538592012-01-12  Gavin Barraclough  <barraclough@apple.com>
153860
153861        Clean up putDirect (part 2)
153862        https://bugs.webkit.org/show_bug.cgi?id=76232
153863
153864        Reviewed by Sam Weinig.
153865
153866        Rename putWithAttributes to putDirectVirtual.
153867
153868        * bindings/js/JSDOMWindowShell.cpp:
153869        (WebCore::JSDOMWindowShell::putDirectVirtual):
153870        * bindings/js/JSDOMWindowShell.h:
153871
1538722012-01-12  MORITA Hajime  <morrita@google.com>
153873
153874        [Chromium] JSExportMacros.h should be visible.
153875        https://bugs.webkit.org/show_bug.cgi?id=76147
153876
153877        Reviewed by Tony Chang.
153878
153879        No new tests. No behavior change.
153880
153881        * config.h:
153882
1538832012-01-12  ChangSeok Oh  <shivamidow@gmail.com>
153884
153885        Split GraphicsContext3DOpenGL into several files
153886        https://bugs.webkit.org/show_bug.cgi?id=75462
153887
153888        Reviewed by Kenneth Russell.
153889
153890        Split GraphicsContext3DOpenGL.cpp into three files, GraphicsContext3DOpenGLCommon.cpp,
153891        GraphicsContext3DOpenGL.cpp & GraphicsContext3DOpenGLES.cpp so that makes gles support possible
153892        for WebGL etc. Most of common APIs between gl and gles are in GraphicsContext3DOpenGLCommon.cpp.
153893        The other gl and gles specific APIs are placed apart in GraphicsContext3DOpenGL.cpp &
153894        GraphicsContext3DOpenGLES.cpp
153895
153896        No new tests required.
153897
153898        * GNUmakefile.list.am: Added GraphicsContext3DOpenGLCommon.cpp
153899        * Target.pri: Added GraphicsContext3DOpenGLCommon.cpp
153900        * WebCore.gypi: Added GraphicsContext3DOpenGLCommon.cpp
153901        * WebCore.xcodeproj/project.pbxproj: Added GraphicsContext3DOpenGLCommon.cpp
153902        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
153903        (WebCore::GraphicsContext3D::readPixels):
153904        (WebCore::GraphicsContext3D::renderbufferStorage):
153905        * platform/graphics/opengl/GraphicsContext3DOpenGLCommon.cpp: Copied from Source/WebCore/platform/graphics/opengl/GraphicsContext3DOpenGL.cpp.
153906        (WebCore::GraphicsContext3D::validateAttributes):
153907        (WebCore::GraphicsContext3D::isResourceSafe):
153908        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
153909        (WebCore::GraphicsContext3D::paintCompositedResultsToCanvas):
153910        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
153911        (WebCore::GraphicsContext3D::getInternalFramebufferSize):
153912        (WebCore::GraphicsContext3D::activeTexture):
153913        (WebCore::GraphicsContext3D::attachShader):
153914        (WebCore::GraphicsContext3D::bindAttribLocation):
153915        (WebCore::GraphicsContext3D::bindBuffer):
153916        (WebCore::GraphicsContext3D::bindRenderbuffer):
153917        (WebCore::GraphicsContext3D::bindTexture):
153918        (WebCore::GraphicsContext3D::blendColor):
153919        (WebCore::GraphicsContext3D::blendEquation):
153920        (WebCore::GraphicsContext3D::blendEquationSeparate):
153921        (WebCore::GraphicsContext3D::blendFunc):
153922        (WebCore::GraphicsContext3D::blendFuncSeparate):
153923        (WebCore::GraphicsContext3D::bufferData):
153924        (WebCore::GraphicsContext3D::bufferSubData):
153925        (WebCore::GraphicsContext3D::checkFramebufferStatus):
153926        (WebCore::GraphicsContext3D::clearColor):
153927        (WebCore::GraphicsContext3D::clear):
153928        (WebCore::GraphicsContext3D::clearDepth):
153929        (WebCore::GraphicsContext3D::clearStencil):
153930        (WebCore::GraphicsContext3D::colorMask):
153931        (WebCore::GraphicsContext3D::compileShader):
153932        (WebCore::GraphicsContext3D::cullFace):
153933        (WebCore::GraphicsContext3D::depthFunc):
153934        (WebCore::GraphicsContext3D::depthMask):
153935        (WebCore::GraphicsContext3D::depthRange):
153936        (WebCore::GraphicsContext3D::detachShader):
153937        (WebCore::GraphicsContext3D::disable):
153938        (WebCore::GraphicsContext3D::disableVertexAttribArray):
153939        (WebCore::GraphicsContext3D::drawArrays):
153940        (WebCore::GraphicsContext3D::drawElements):
153941        (WebCore::GraphicsContext3D::enable):
153942        (WebCore::GraphicsContext3D::enableVertexAttribArray):
153943        (WebCore::GraphicsContext3D::finish):
153944        (WebCore::GraphicsContext3D::flush):
153945        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
153946        (WebCore::GraphicsContext3D::framebufferTexture2D):
153947        (WebCore::GraphicsContext3D::frontFace):
153948        (WebCore::GraphicsContext3D::generateMipmap):
153949        (WebCore::GraphicsContext3D::getActiveAttrib):
153950        (WebCore::GraphicsContext3D::getAttachedShaders):
153951        (WebCore::GraphicsContext3D::getAttribLocation):
153952        (WebCore::GraphicsContext3D::getContextAttributes):
153953        (WebCore::GraphicsContext3D::getError):
153954        (WebCore::GraphicsContext3D::getString):
153955        (WebCore::GraphicsContext3D::hint):
153956        (WebCore::GraphicsContext3D::isBuffer):
153957        (WebCore::GraphicsContext3D::isEnabled):
153958        (WebCore::GraphicsContext3D::isFramebuffer):
153959        (WebCore::GraphicsContext3D::isProgram):
153960        (WebCore::GraphicsContext3D::isRenderbuffer):
153961        (WebCore::GraphicsContext3D::isShader):
153962        (WebCore::GraphicsContext3D::isTexture):
153963        (WebCore::GraphicsContext3D::lineWidth):
153964        (WebCore::GraphicsContext3D::linkProgram):
153965        (WebCore::GraphicsContext3D::pixelStorei):
153966        (WebCore::GraphicsContext3D::polygonOffset):
153967        (WebCore::GraphicsContext3D::releaseShaderCompiler):
153968        (WebCore::GraphicsContext3D::sampleCoverage):
153969        (WebCore::GraphicsContext3D::scissor):
153970        (WebCore::GraphicsContext3D::shaderSource):
153971        (WebCore::GraphicsContext3D::stencilFunc):
153972        (WebCore::GraphicsContext3D::stencilFuncSeparate):
153973        (WebCore::GraphicsContext3D::stencilMask):
153974        (WebCore::GraphicsContext3D::stencilMaskSeparate):
153975        (WebCore::GraphicsContext3D::stencilOp):
153976        (WebCore::GraphicsContext3D::stencilOpSeparate):
153977        (WebCore::GraphicsContext3D::texParameterf):
153978        (WebCore::GraphicsContext3D::texParameteri):
153979        (WebCore::GraphicsContext3D::uniform1f):
153980        (WebCore::GraphicsContext3D::uniform1fv):
153981        (WebCore::GraphicsContext3D::uniform2f):
153982        (WebCore::GraphicsContext3D::uniform2fv):
153983        (WebCore::GraphicsContext3D::uniform3f):
153984        (WebCore::GraphicsContext3D::uniform3fv):
153985        (WebCore::GraphicsContext3D::uniform4f):
153986        (WebCore::GraphicsContext3D::uniform4fv):
153987        (WebCore::GraphicsContext3D::uniform1i):
153988        (WebCore::GraphicsContext3D::uniform1iv):
153989        (WebCore::GraphicsContext3D::uniform2i):
153990        (WebCore::GraphicsContext3D::uniform2iv):
153991        (WebCore::GraphicsContext3D::uniform3i):
153992        (WebCore::GraphicsContext3D::uniform3iv):
153993        (WebCore::GraphicsContext3D::uniform4i):
153994        (WebCore::GraphicsContext3D::uniform4iv):
153995        (WebCore::GraphicsContext3D::uniformMatrix2fv):
153996        (WebCore::GraphicsContext3D::uniformMatrix3fv):
153997        (WebCore::GraphicsContext3D::uniformMatrix4fv):
153998        (WebCore::GraphicsContext3D::useProgram):
153999        (WebCore::GraphicsContext3D::validateProgram):
154000        (WebCore::GraphicsContext3D::vertexAttrib1f):
154001        (WebCore::GraphicsContext3D::vertexAttrib1fv):
154002        (WebCore::GraphicsContext3D::vertexAttrib2f):
154003        (WebCore::GraphicsContext3D::vertexAttrib2fv):
154004        (WebCore::GraphicsContext3D::vertexAttrib3f):
154005        (WebCore::GraphicsContext3D::vertexAttrib3fv):
154006        (WebCore::GraphicsContext3D::vertexAttrib4f):
154007        (WebCore::GraphicsContext3D::vertexAttrib4fv):
154008        (WebCore::GraphicsContext3D::vertexAttribPointer):
154009        (WebCore::GraphicsContext3D::viewport):
154010        (WebCore::GraphicsContext3D::getBooleanv):
154011        (WebCore::GraphicsContext3D::getBufferParameteriv):
154012        (WebCore::GraphicsContext3D::getFloatv):
154013        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
154014        (WebCore::GraphicsContext3D::getProgramiv):
154015        (WebCore::GraphicsContext3D::getProgramInfoLog):
154016        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
154017        (WebCore::GraphicsContext3D::getShaderiv):
154018        (WebCore::GraphicsContext3D::getShaderInfoLog):
154019        (WebCore::GraphicsContext3D::getShaderSource):
154020        (WebCore::GraphicsContext3D::getTexParameterfv):
154021        (WebCore::GraphicsContext3D::getTexParameteriv):
154022        (WebCore::GraphicsContext3D::getUniformfv):
154023        (WebCore::GraphicsContext3D::getUniformiv):
154024        (WebCore::GraphicsContext3D::getUniformLocation):
154025        (WebCore::GraphicsContext3D::getVertexAttribfv):
154026        (WebCore::GraphicsContext3D::getVertexAttribiv):
154027        (WebCore::GraphicsContext3D::getVertexAttribOffset):
154028        (WebCore::GraphicsContext3D::texSubImage2D):
154029        (WebCore::GraphicsContext3D::compressedTexImage2D):
154030        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
154031        (WebCore::GraphicsContext3D::createBuffer):
154032        (WebCore::GraphicsContext3D::createFramebuffer):
154033        (WebCore::GraphicsContext3D::createProgram):
154034        (WebCore::GraphicsContext3D::createRenderbuffer):
154035        (WebCore::GraphicsContext3D::createShader):
154036        (WebCore::GraphicsContext3D::createTexture):
154037        (WebCore::GraphicsContext3D::deleteBuffer):
154038        (WebCore::GraphicsContext3D::deleteFramebuffer):
154039        (WebCore::GraphicsContext3D::deleteProgram):
154040        (WebCore::GraphicsContext3D::deleteRenderbuffer):
154041        (WebCore::GraphicsContext3D::deleteShader):
154042        (WebCore::GraphicsContext3D::deleteTexture):
154043        (WebCore::GraphicsContext3D::synthesizeGLError):
154044        (WebCore::GraphicsContext3D::markContextChanged):
154045        (WebCore::GraphicsContext3D::markLayerComposited):
154046        (WebCore::GraphicsContext3D::layerComposited):
154047        (WebCore::GraphicsContext3D::getExtensions):
154048        * platform/graphics/opengl/GraphicsContext3DOpenGLES.cpp: Added.
154049        (WebCore::GraphicsContext3D::readRenderingResults):
154050        (WebCore::GraphicsContext3D::reshape):
154051        (WebCore::GraphicsContext3D::prepareTexture):
154052        (WebCore::GraphicsContext3D::bindFramebuffer):
154053        (WebCore::GraphicsContext3D::copyTexImage2D):
154054        (WebCore::GraphicsContext3D::copyTexSubImage2D):
154055        (WebCore::GraphicsContext3D::getActiveUniform):
154056        (WebCore::GraphicsContext3D::readPixels):
154057        (WebCore::GraphicsContext3D::renderbufferStorage):
154058        (WebCore::GraphicsContext3D::getIntegerv):
154059        (WebCore::GraphicsContext3D::texImage2D):
154060
1540612012-01-12  Wei James  <james.wei@intel.com>
154062
154063        Add vsma in VectorMath to handle vector scale multiply and add and use it in AudioBus
154064        https://bugs.webkit.org/show_bug.cgi?id=75835
154065
154066        When summing a audio bus, the source is multiplied with the scale and
154067        then summed into the destination bus. Add this function to fulfill it.
154068
154069        Reviewed by Kenneth Russell.
154070
154071        * platform/audio/AudioBus.cpp:
154072        * platform/audio/VectorMath.cpp:
154073        (WebCore::VectorMath::vsma):
154074        * platform/audio/VectorMath.h:
154075
1540762012-01-12  James Simonsen  <simonjam@chromium.org>
154077
154078        Web Inspector: [Chomium] Resources loaded with 304 status code have receiving time of 15000 days in network panel.
154079        https://bugs.webkit.org/show_bug.cgi?id=76176
154080
154081        Reviewed by Nate Chapin.
154082
154083        No new tests. Can't trigger this with inspector tests. Will add one when the Resource Timing API is in.
154084
154085        * loader/SubresourceLoader.cpp:
154086        (WebCore::SubresourceLoader::didReceiveResponse): Use monotonic time.
154087
1540882012-01-12  Alexey Proskuryakov  <ap@apple.com>
154089
154090        NSURL to KURL conversion shouldn't turn raw paths into file URLs
154091        https://bugs.webkit.org/show_bug.cgi?id=76234
154092
154093        Reviewed by Darin Adler.
154094
154095        * platform/mac/KURLMac.mm: (WebCore::KURL::KURL): Removed this code.
154096
1540972012-01-12  Anders Carlsson  <andersca@apple.com>
154098
154099        Create a GraphicsLayer for the overhang areas if threaded scrolling is enabled
154100        https://bugs.webkit.org/show_bug.cgi?id=76220
154101
154102        Reviewed by Simon Fraser.
154103
154104        * page/FrameView.cpp:
154105        Remove PLATFORM(CHROMIUM) #ifdefs.
154106
154107        * page/FrameView.h:
154108        Ditto.
154109
154110        * platform/ScrollView.cpp:
154111        (WebCore::ScrollView::wheelEvent):
154112        Ditto.
154113
154114        * platform/ScrollableArea.h:
154115        Ditto.
154116
154117        * rendering/RenderLayerCompositor.cpp:
154118        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
154119        Ditto.
154120
154121        (WebCore::RenderLayerCompositor::requiresOverhangAreasLayer):
154122        Make this return true if we have a scrolling coordinator.
154123
154124        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
154125        Remove PLATFORM(CHROMIUM) #ifdefs. Fix a bug the overhang layer was being added above the clip layer.
154126
154127        (WebCore::RenderLayerCompositor::destroyRootLayer):
154128        Remove PLATFORM(CHROMIUM) #ifdefs.
154129        
154130        * rendering/RenderLayerCompositor.h:
154131        Ditto.
154132
1541332012-01-12  Kenichi Ishibashi  <bashi@chromium.org>
154134
154135        Move SimpleFontDataSkia.cpp to Source/WebCore/platform/graphics/skia
154136        https://bugs.webkit.org/show_bug.cgi?id=76155
154137
154138        Reviewed by Tony Chang.
154139
154140        No new tests. No behavior change.
154141
154142        * PlatformBlackBerry.cmake:
154143        * WebCore.gyp/WebCore.gyp:
154144        * WebCore.gypi:
154145        * platform/graphics/skia/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/harfbuzz/SimpleFontDataSkia.cpp.
154146        (WebCore::SimpleFontData::platformInit):
154147        (WebCore::SimpleFontData::platformCharWidthInit):
154148        (WebCore::SimpleFontData::platformDestroy):
154149        (WebCore::SimpleFontData::createScaledFontData):
154150        (WebCore::SimpleFontData::smallCapsFontData):
154151        (WebCore::SimpleFontData::emphasisMarkFontData):
154152        (WebCore::SimpleFontData::containsCharacters):
154153        (WebCore::SimpleFontData::determinePitch):
154154        (WebCore::SimpleFontData::platformBoundsForGlyph):
154155        (WebCore::SimpleFontData::platformWidthForGlyph):
154156
1541572012-01-12  Benjamin Poulain  <bpoulain@apple.com>
154158
154159        A Frame with frame flattening can be stuck in a state in which performPostLayoutTasks() is never executed
154160        https://bugs.webkit.org/show_bug.cgi?id=76154
154161
154162        Reviewed by Beth Dakin.
154163
154164        In a frame with inSubframeLayoutWithFrameFlattening == true, if
154165        -m_hasPendingPostLayoutTasks == true
154166        -FrameView::unscheduleRelayout() is executed
154167        -->the timer m_postLayoutTasksTimer is stopped
154168        -->no timer is scheduled due to m_hasPendingPostLayoutTasks == true && inSubframeLayoutWithFrameFlattening == true
154169
154170        This patch revert the handling of the postLayoutTasks to its state prior to r66552.
154171
154172        The timer itself is used as the only state to know if post layout tasks are scheduled.
154173
154174        For the case without frame flattening:
154175        -Prior to this patch, when FrameView::unscheduleRelayout() was executed, the postLayoutTasksTimer was killed,
154176        and the post layout tasks would be executed during the next layout().
154177        -After this patch, the post layout tasks stay scheduled and are executed on the next event loop if layout()
154178        was not invoked before.
154179
154180        * page/FrameView.cpp:
154181        (WebCore::FrameView::FrameView):
154182        (WebCore::FrameView::~FrameView):
154183        (WebCore::FrameView::reset):
154184        (WebCore::FrameView::layout):
154185        (WebCore::FrameView::unscheduleRelayout):
154186        (WebCore::FrameView::flushAnyPendingPostLayoutTasks):
154187        (WebCore::FrameView::performPostLayoutTasks):
154188        * page/FrameView.h:
154189
1541902012-01-12  Yongjun Zhang  <yongjun_zhang@apple.com>
154191
154192        Reviewed by Benjamin Poulain.
154193
154194        https://bugs.webkit.org/show_bug.cgi?id=75991
154195        Make the code in MemoryPressureHandler::respondToMemoryPressure shareable.
154196
154197        Move memory pressure handling code inside a new function (releaseMemory) so that
154198        we could shared it between mac and iOS.
154199
154200        * Configurations/WebCore.xcconfig: add MemoryPressureHandlerMac.mm into iOS build.
154201        * platform/MemoryPressureHandler.h:
154202        * platform/mac/MemoryPressureHandlerMac.mm:
154203        (WebCore::MemoryPressureHandler::respondToMemoryPressure):
154204        (WebCore::MemoryPressureHandler::releaseMemory):
154205
1542062012-01-12  Eric Seidel  <eric@webkit.org>
154207
154208        Refactor DOMImplementation.hasFeature logic into helper functions.
154209        https://bugs.webkit.org/show_bug.cgi?id=76212
154210
154211        Reviewed by Adam Barth.
154212
154213        This patch should not have any behavior change.  The goal was
154214        to move our feature detection towards a more modular architecture
154215        (as that seems to be the current trend in webkit).  In a future
154216        patch we could easily move the SVG feature detection into the
154217        SVG directory, for example.  I've also added a list of all the
154218        Event3 features (currently commented out) which makes it obvious
154219        how many we're missing.
154220
154221        * dom/DOMImplementation.cpp:
154222        (WebCore::isSVG10Feature):
154223        (WebCore::isSVG11Feature):
154224        (WebCore::isEvents2Feature):
154225        (WebCore::isEvents3Feature):
154226        (WebCore::DOMImplementation::hasFeature):
154227
1542282012-01-12  Adam Barth  <abarth@webkit.org>
154229
154230        NodeIterator loses track of the reference node when the reference node is removed from the document (IETC ni_removeReferenceNode)
154231        https://bugs.webkit.org/show_bug.cgi?id=76146
154232
154233        Reviewed by Eric Seidel.
154234
154235        In the case where we're removing the reference node we can end up with
154236        the wrong reference node.  This patch makes sure we traverse outside of
154237        the removed node's subtree.
154238
154239        This bug was caught by the following IE Test Center test:
154240
154241        http://samples.msdn.microsoft.com/ietestcenter/domtraversal/showdomtraversaltest.htm?ni_removeReferenceNode
154242
154243        Our new behavior also match Firefox.
154244
154245        I experimented a bit with adding ASSERT_NOT_REACHED to various branches
154246        in NodeIterator::updateForNodeRemoval, and it seems our test coverage
154247        for this function is relatively poor.  In the future, we should
154248        consider adding more tests for this complicated function.
154249
154250        Test: fast/dom/node-iterator-reference-node-removed.html
154251
154252        * dom/NodeIterator.cpp:
154253        (WebCore::NodeIterator::updateForNodeRemoval):
154254
1542552012-01-12  Joshua Bell  <jsbell@chromium.org>
154256
154257        IndexedDB: Throw exception if IDBCursor.continue() called with key equal to current
154258        https://bugs.webkit.org/show_bug.cgi?id=76100
154259
154260        The fix for https://bugs.webkit.org/show_bug.cgi?id=74213 missed the "or equal" clause
154261        in the spec.
154262
154263        Reviewed by Tony Chang.
154264
154265        Test: storage/indexeddb/cursor-continue.html
154266
154267        * storage/IDBCursorBackendImpl.cpp:
154268        (WebCore::IDBCursorBackendImpl::continueFunction):
154269
1542702012-01-12  Jon Lee  <jonlee@apple.com>
154271
154272        Setting value on a select element to a non existing option value should clear selection
154273        https://bugs.webkit.org/show_bug.cgi?id=67233
154274        <rdar://problem/10057159>
154275
154276        Reviewed by Darin Adler.
154277
154278        Test: fast/forms/select/setting-to-invalid-value.html
154279
154280        * html/HTMLSelectElement.cpp:
154281        (WebCore::HTMLSelectElement::setValue): Clear the selection in the cases where we cannot
154282        find an option with the specified value. The spec states to clear the selectedness of all
154283        options first. To avoid calling setSelectedIndex() multiple times, we clear the selected
154284        option(s) only when don't find the appropriate option.
154285
154286        Also, correct the sentence style of a comment.
154287
1542882012-01-12  Jer Noble  <jer.noble@apple.com>
154289
154290        Unreviewed build fix after r104858.
154291
154292        NSDataReadingMappedIfSafe is not defined on <= 10.6.  Use NSDataReadingMapped on that platform instead.
154293
154294        * platform/audio/mac/AudioBusMac.mm:
154295        (WebCore::AudioBus::loadPlatformResource):
154296
1542972012-01-12  Dana Jansens  <danakj@chromium.org>
154298
154299        [skia] Track a simple opaque area when painting via PlatformContextSkia and save in LayerTextureUpdater
154300        https://bugs.webkit.org/show_bug.cgi?id=74352
154301
154302        Reviewed by Stephen White.
154303
154304        New unit tests in PlatformContextSkiaTest.cpp
154305
154306        * WebCore.gypi:
154307        * platform/graphics/skia/GraphicsContextSkia.cpp:
154308        (WebCore::GraphicsContext::clearRect):
154309        (WebCore::GraphicsContext::drawConvexPolygon):
154310        (WebCore::GraphicsContext::drawEllipse):
154311        (WebCore::drawOuterPath):
154312        (WebCore::drawInnerPath):
154313        (WebCore::GraphicsContext::drawFocusRing):
154314        (WebCore::GraphicsContext::drawLine):
154315        (WebCore::GraphicsContext::drawLineForTextChecking):
154316        (WebCore::GraphicsContext::drawLineForText):
154317        (WebCore::GraphicsContext::fillPath):
154318        (WebCore::GraphicsContext::fillRect):
154319        (WebCore::GraphicsContext::fillRoundedRect):
154320        (WebCore::GraphicsContext::strokeArc):
154321        (WebCore::GraphicsContext::strokePath):
154322        (WebCore::GraphicsContext::strokeRect):
154323        * platform/graphics/skia/ImageSkia.cpp:
154324        (WebCore::paintSkBitmap):
154325        * platform/graphics/skia/OpaqueRegionSkia.cpp: Added.
154326        (WebCore::OpaqueRegionSkia::OpaqueRegionSkia):
154327        (WebCore::OpaqueRegionSkia::~OpaqueRegionSkia):
154328        (WebCore::OpaqueRegionSkia::asRect):
154329        (WebCore::xfermodeIsOpaque):
154330        (WebCore::xfermodePreservesOpaque):
154331        (WebCore::paintIsOpaque):
154332        (WebCore::OpaqueRegionSkia::didDrawRect):
154333        (WebCore::OpaqueRegionSkia::didDrawPath):
154334        (WebCore::OpaqueRegionSkia::didDrawPoints):
154335        (WebCore::OpaqueRegionSkia::didDrawBounded):
154336        (WebCore::OpaqueRegionSkia::didDraw):
154337        (WebCore::OpaqueRegionSkia::didDrawUnbounded):
154338        (WebCore::OpaqueRegionSkia::markRectAsOpaque):
154339        (WebCore::OpaqueRegionSkia::markRectAsNonOpaque):
154340        * platform/graphics/skia/OpaqueRegionSkia.h: Added.
154341        * platform/graphics/skia/PlatformContextSkia.cpp:
154342        (WebCore::PlatformContextSkia::PlatformContextSkia):
154343        (WebCore::PlatformContextSkia::clippedToImage):
154344        (WebCore::PlatformContextSkia::drawRect):
154345        (WebCore::PlatformContextSkia::paintSkPaint):
154346        (WebCore::PlatformContextSkia::didDrawRect):
154347        (WebCore::PlatformContextSkia::didDrawPath):
154348        (WebCore::PlatformContextSkia::didDrawPoints):
154349        (WebCore::PlatformContextSkia::didDrawBounded):
154350        * platform/graphics/skia/PlatformContextSkia.h:
154351        (WebCore::PlatformContextSkia::setTrackOpaqueRegion):
154352        (WebCore::PlatformContextSkia::opaqueRegion):
154353
1543542012-01-12  Beth Dakin  <bdakin@apple.com>
154355
154356        https://bugs.webkit.org/show_bug.cgi?id=76209
154357        Support expanded scrollbars
154358        -and corresponding-
154359        <rdar://problem/10527734>
154360
154361        Reviewed by Sam Weinig.
154362
154363        All this really requires is leaving the proper amount of space for the 
154364        expanded width.
154365        * platform/mac/NSScrollerImpDetails.h:
154366        * platform/mac/ScrollbarThemeMac.mm:
154367        (WebCore::supportsExpandedScrollbars):
154368        (WebCore::ScrollbarThemeMac::scrollbarThickness):
154369
1543702011-12-12  Jer Noble  <jer.noble@apple.com>
154371
154372        WebAudio: Enable USE_CONCATENATED_IMPULSE_RESPONSES on Mac port.
154373        https://bugs.webkit.org/show_bug.cgi?id=74328
154374
154375        Reviewed by Eric Carlson.
154376
154377        No new tests; no net change in functionality.
154378
154379        * WebCore.xcodeproj/project.pbxproj: Added SincResampler class, Composite.wav to the project.
154380            Removed IRC_*.wav resources from the project.
154381        * platform/audio/AudioBus.cpp:
154382        (WebCore::AudioBus::createBySampleRateConverting): Uncommented this function
154383        * platform/audio/AudioBus.h:
154384        * platform/audio/HRTFElevation.cpp:
154385
1543862011-12-12  Jer Noble  <jer.noble@apple.com>
154387
154388        WebAudio: AudioBus::loadPlatformResource should mmap file on Mac port.
154389        https://bugs.webkit.org/show_bug.cgi?id=74326
154390
154391        Reviewed by Darin Adler.
154392
154393        No new tests; no net change in functionality.
154394
154395        Use NSDataReadingMappedIfSafe when reading platform audio file data.
154396
154397        * platform/audio/mac/AudioBusMac.mm:
154398        (WebCore::AudioBus::loadPlatformResource):
154399
1544002011-12-12  Jer Noble  <jer.noble@apple.com>
154401
154402        WebAudio: Use Logging instead of printf.
154403        https://bugs.webkit.org/show_bug.cgi?id=74322
154404
154405        Reviewed by Darin Adler.
154406
154407        No new tests; no net change in functionality.
154408
154409        Add a new WebCoreLogLevel for WebAudio, and use this new log level instead of 
154410        printf statements in webaudio classes.
154411
154412        * platform/Logging.cpp:
154413        (WebCore::getChannelFromName):
154414        * platform/Logging.h:
154415        * platform/mac/LoggingMac.mm:
154416        (WebCore::InitializeLoggingChannelsIfNecessary):
154417        * platform/audio/FFTFrame.cpp:
154418        (WebCore::FFTFrame::print):
154419        * webaudio/DefaultAudioDestinationNode.cpp:
154420        (WebCore::DefaultAudioDestinationNode::initialize):
154421
1544222012-01-12  Anders Carlsson  <andersca@apple.com>
154423
154424        Make ScrollElasticityController members private
154425        https://bugs.webkit.org/show_bug.cgi?id=76208
154426
154427        Reviewed by Andreas Kling.
154428
154429        * platform/mac/ScrollAnimatorMac.mm:
154430        (WebCore::ScrollAnimatorMac::endScrollGesture):
154431        Call ScrollElasticityController::endScrollGesture.
154432
154433        * platform/mac/ScrollElasticityController.h:
154434        Make members private.
154435
154436        * platform/mac/ScrollElasticityController.mm:
154437        (WebCore::ScrollElasticityController::endScrollGesture):
154438        Call snapRubberBand.
154439
154440        (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
154441        Call stopSnapRubberbandTimer.
154442
1544432012-01-12  Anders Carlsson  <andersca@apple.com>
154444
154445        Move wheel event handling to ScrollElasticityController::handleWheelEvent
154446        https://bugs.webkit.org/show_bug.cgi?id=76205
154447
154448        Reviewed by Andreas Kling.
154449
154450        Move the code in ScrollAnimatorMac::smoothScrollWithEvent to ScrollElasticityController::handleWheelEvent and
154451        change ScrollAnimatorMac::handleWheelEvent to just call ScrollElasticityController::handleWheelEvent.
154452        This means that we'll not set m_haveScrolledSincePageLoad = true anymore (we used to set it in ScrollAnimatorMac::smoothScrollWithEvent),
154453        but we already set it to true in ScrollAnimatorMac::handleWheelEvent so it already had no effect.
154454
154455        * platform/mac/ScrollAnimatorMac.h:
154456        * platform/mac/ScrollAnimatorMac.mm:
154457        (WebCore::ScrollAnimatorMac::handleWheelEvent):
154458        * platform/mac/ScrollElasticityController.h:
154459        * platform/mac/ScrollElasticityController.mm:
154460        (WebCore::elasticDeltaForReboundDelta):
154461        (WebCore::scrollWheelMultiplier):
154462        (WebCore::ScrollElasticityController::handleWheelEvent):
154463
1544642012-01-12  Simon Fraser  <simon.fraser@apple.com>
154465
154466        Borders and box masks behave incorrectly with overlapping offsets
154467        https://bugs.webkit.org/show_bug.cgi?id=76137
154468
154469        Reviewed by Dave Hyatt.
154470        
154471        When border-image-slice sizes add up to more than the height or width
154472        of the border-image, the middle sections should not be rendered, per spec.
154473        
154474        Test: fast/borders/border-image-slice-constrained.html
154475
154476        * rendering/RenderBoxModelObject.cpp:
154477        (WebCore::RenderBoxModelObject::paintNinePieceImage):
154478
1544792012-01-12  Anders Carlsson  <andersca@apple.com>
154480
154481        Make all calls to pinnedInDirection go through the ScrollElasticityController
154482        https://bugs.webkit.org/show_bug.cgi?id=76204
154483
154484        Reviewed by Andreas Kling.
154485
154486        * platform/mac/ScrollAnimatorMac.mm:
154487        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
154488
1544892012-01-12  Stephen White  <senorblanco@chromium.org>
154490
154491        [chromium] Re-enable Skia feColorMatrix filter implementation.
154492        https://bugs.webkit.org/show_bug.cgi?id=76186
154493
154494        This code was landed in http://trac.webkit.org/changeset/104566 and
154495        partially reverted in http://trac.webkit.org/changeset/104632 due
154496        to problems with the Windows Shared builder.  Those problems have
154497        been fixed in r3006, since rolled into Chrome.
154498
154499        Reviewed by Kenneth Russell.
154500
154501        Covered by SVG feColorMatrix tests.
154502
154503        * WebCore.gypi:
154504        * platform/graphics/filters/FEColorMatrix.h:
154505
1545062012-01-12  Anders Carlsson  <andersca@apple.com>
154507
154508        Add allowsHorizontalStretching and allowsVerticalStretching to ScrollElasticityControllerClient
154509        https://bugs.webkit.org/show_bug.cgi?id=76202
154510
154511        Reviewed by Andreas Kling.
154512
154513        * platform/mac/ScrollAnimatorMac.h:
154514        * platform/mac/ScrollAnimatorMac.mm:
154515        (WebCore::ScrollAnimatorMac::allowsVerticalStretching):
154516        (WebCore::ScrollAnimatorMac::allowsHorizontalStretching):
154517        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
154518        * platform/mac/ScrollElasticityController.h:
154519
1545202012-01-12  Anders Carlsson  <andersca@apple.com>
154521
154522        Move snapRubberBand to ScrollElasticityController
154523        https://bugs.webkit.org/show_bug.cgi?id=76200
154524
154525        Reviewed by Andreas Kling.
154526
154527        * platform/mac/ScrollAnimatorMac.h:
154528        * platform/mac/ScrollAnimatorMac.mm:
154529        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
154530        (WebCore::ScrollAnimatorMac::endScrollGesture):
154531        * platform/mac/ScrollElasticityController.h:
154532        * platform/mac/ScrollElasticityController.mm:
154533        (systemUptime):
154534        (WebCore::ScrollElasticityController::snapRubberBand):
154535
1545362012-01-12  Antti Koivisto  <antti@apple.com>
154537
154538        REGRESSION(r104060): Setting user stylesheet may leave CSSStyleSelector with stale rule pointers 
154539        https://bugs.webkit.org/show_bug.cgi?id=76191
154540
154541        Reviewed by Andreas Kling.
154542        
154543        Setting the user style sheet frees the existing user style sheet data structures. The code
154544        in Document::updatePageGroupUserSheets then relies on styleSelectorChanged to clear the
154545        style selector so it is not left with stale pointers. However under certain conditions
154546        involving pending stylesheets it may bail out quickly without clearing.
154547        
154548        Document::styleSelectorChanged has to take care that it never leaves the style selector stale
154549        even when bailing out early.
154550
154551        Test: fast/css/user-stylesheet-crash.html
154552
154553        * dom/Document.cpp:
154554        (WebCore::Document::styleSelectorChanged):
154555
1545562012-01-12  Nat Duca  <nduca@chromium.org>
154557
154558        [chromium] Turn off FrameRateController timesource when it is not needed
154559        https://bugs.webkit.org/show_bug.cgi?id=76149
154560
154561        Reviewed by James Robinson.
154562
154563        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
154564        (WebCore::CCDelayBasedTimeSource::active):
154565        * platform/graphics/chromium/cc/CCFrameRateController.cpp:
154566        (WebCore::CCFrameRateController::setActive):
154567        (WebCore::CCFrameRateController::onTimerTick):
154568        * platform/graphics/chromium/cc/CCFrameRateController.h:
154569        * platform/graphics/chromium/cc/CCScheduler.cpp:
154570        (WebCore::CCScheduler::CCScheduler):
154571        (WebCore::CCScheduler::setVisible):
154572        (WebCore::CCScheduler::processScheduledActions):
154573        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
154574        (WebCore::CCSchedulerStateMachine::vsyncCallbackNeeded):
154575        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
154576        * platform/graphics/chromium/cc/CCTimeSource.h:
154577
1545782012-01-12  Anders Carlsson  <andersca@apple.com>
154579
154580        Move snapRubberBandTimerFired to ScrollElasticityController
154581        https://bugs.webkit.org/show_bug.cgi?id=76196
154582
154583        Reviewed by Andreas Kling.
154584
154585        * platform/mac/ScrollAnimatorMac.mm:
154586        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
154587        * platform/mac/ScrollElasticityController.h:
154588        * platform/mac/ScrollElasticityController.mm:
154589        (WebCore::elasticDeltaForTimeDelta):
154590        (WebCore::roundTowardZero):
154591        (WebCore::roundToDevicePixelTowardZero):
154592        (WebCore::ScrollElasticityController::snapRubberBandTimerFired):
154593
1545942012-01-12  Joshua Bell  <jsbell@chromium.org>
154595
154596        IndexedDB: Raise NON_TRANSIENT_ERR when invalid mode specified for transaction
154597        https://bugs.webkit.org/show_bug.cgi?id=76072
154598
154599        Spec was updated to detail what should be thrown: http://www.w3.org/Bugs/Public/show_bug.cgi?id=11406
154600
154601        Reviewed by Tony Chang.
154602
154603        Tests: storage/indexeddb/transaction-basics.html
154604
154605        * storage/IDBDatabase.cpp:
154606        (WebCore::IDBDatabase::transaction):
154607
1546082012-01-12  Anders Carlsson  <andersca@apple.com>
154609
154610        Remove the last non-ScrollElasticityController call from ScrollAnimatorMac::snapRubberBandTimerFired
154611        https://bugs.webkit.org/show_bug.cgi?id=76193
154612
154613        Reviewed by Andreas Kling.
154614
154615        Use ScrollElasticityControllerClient::immediateScrollBy for the final scroll before the rubber-band timer stops.
154616
154617        * platform/mac/ScrollAnimatorMac.mm:
154618        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
154619
1546202011-09-26  Jer Noble  <jer.noble@apple.com>
154621
154622        Emit an error event when a request to enter full-screen is rejected.
154623        https://bugs.webkit.org/show_bug.cgi?id=62320
154624
154625        Reviewed by Eric Carlson.
154626
154627        Tests: fullscreen/full-screen-request-rejected.html
154628               fullscreen/full-screen-request-removed.html
154629
154630        When a request to enter full-screen is rejected, emit an event 
154631        (webkitfullscreenerror) in response.  But emit the event during the next
154632        trip through the run-loop, like the webkitfullscreenchange event, and so a new
154633        timer and queue are necessary.
154634
154635        * dom/Document.cpp:
154636        (WebCore::Document::requestFullScreenForElement): Emit the error event
154637            if the request does not pass all our requirements.
154638        * dom/Document.h: Add new ivars.
154639        * dom/Document.idl: Add support for setting an onfullscreenerror attribute.
154640        * dom/Element.h: Ditto.
154641        * dom/Element.idl: Ditto.
154642        * dom/EventNames.h: Add the name for the error event.
154643
1546442012-01-12  Beth Dakin  <bdakin@apple.com>
154645
154646        https://bugs.webkit.org/show_bug.cgi?id=76133
154647        ScrollAnimatorMac::mouseEnteredScrollbar() and mouseExitedScrollbar() should 
154648        only do stuff for legacy scrollbars
154649        -and corresponding-
154650        <rdar://problem/10603290>
154651
154652        Reviewed by Sam Weinig.
154653
154654        * platform/mac/ScrollAnimatorMac.mm:
154655        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
154656        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
154657
1546582012-01-12  Dan Bernstein  <mitz@apple.com>
154659
154660        When generating derived sources, use the same compiler that is used to compile WebCore.
154661
154662        Fixes <http://webkit.org/b/76189>
154663        [mac] When compiling WebCore with clang, llvm-gcc is used to generate derived sources
154664
154665        Reviewed by Mark Rowe.
154666
154667        * DerivedSources.make: Changed to use the CC environment variable instead of hardcoded gcc.
154668        * WebCore.xcodeproj/project.pbxproj: Set the CC environment variable, if not already set,
154669        according to TARGET_GCC_VERSION. CC is used by DerivedSources.make and some of the perl
154670        scripts it invokes.
154671
1546722012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>
154673
154674        [Qt] Unreviewed build fix after r104828.
154675
154676        * platform/qt/RenderThemeQtMobile.cpp:
154677        (WebCore::StylePainterMobile::findComboButton):
154678
1546792012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
154680
154681        Unreviewed, rolling out r104829.
154682        http://trac.webkit.org/changeset/104829
154683        https://bugs.webkit.org/show_bug.cgi?id=76188
154684
154685        it broke qt-minimal (Requested by loislo1 on #webkit).
154686
154687        * inspector/CodeGeneratorInspector.py:
154688        (CodeGenerator):
154689        (CodeGenerator.generate_type_builder):
154690        (CodeGenerator.generate_type_builder.AdHocTypeContext):
154691        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
154692        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
154693        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
154694        (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
154695        (CodeGenerator.register_use):
154696        (RawTypesBinding):
154697        (RawTypesBinding.get_code_generator):
154698        (RawTypesBinding.get_in_c_type_text):
154699        (RawTypesBinding.get_setter_value_expression_pattern):
154700        (RawTypesBinding.reduce_to_raw_type):
154701        (TypeData.__init__):
154702        * inspector/InspectorValues.h:
154703
1547042012-01-12  Pavel Podivilov  <podivilov@chromium.org>
154705
154706        Web Inspector: [JSC] //@ sourceURL is not respected.
154707        https://bugs.webkit.org/show_bug.cgi?id=65532
154708
154709        Reviewed by Pavel Feldman.
154710
154711        Test: inspector/debugger/source-url-comment.html
154712
154713        * bindings/js/ScriptDebugServer.cpp:
154714        (WebCore::ScriptDebugServer::dispatchDidParseSource):
154715        * inspector/ContentSearchUtils.cpp:
154716        (WebCore::ContentSearchUtils::findMagicComment):
154717        (WebCore::ContentSearchUtils::findSourceURL):
154718        (WebCore::ContentSearchUtils::findSourceMapURL):
154719        * inspector/ContentSearchUtils.h:
154720
1547212012-01-12  Csaba Osztrogonác  <ossy@webkit.org>
154722
154723        [Qt] Unreviewed trivial buildfix after r104828.
154724
154725        * platform/qt/RenderThemeQtMobile.cpp:
154726        (WebCore::StylePainterMobile::findComboButton):
154727
1547282012-01-12  Peter Rybin  <peter.rybin@gmail.com>
154729
154730        Web Inspector: CodeGeneratorInspector.py: generate array types.
154731        https://bugs.webkit.org/show_bug.cgi?id=75284
154732
154733        Reviewed by Yury Semikhatsky.
154734
154735        New classes are generated for ecah array type instance.
154736
154737        * inspector/CodeGeneratorInspector.py:
154738        (ArrayBinding):
154739        (ArrayBinding.get_code_generator):
154740        (ArrayBinding.get_code_generator.CodeGenerator):
154741        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder):
154742        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext):
154743        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
154744        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
154745        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
154746        (ArrayBinding.get_code_generator.CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
154747        (ArrayBinding.get_code_generator.CodeGenerator.generate_forward_declaration):
154748        (ArrayBinding.get_code_generator.CodeGenerator.register_use):
154749        (ArrayBinding.get_in_c_type_text):
154750        (ArrayBinding.get_setter_value_expression_pattern):
154751        (ArrayBinding.reduce_to_raw_type):
154752        (RawTypeBinding):
154753        (RawTypeBinding.__init__):
154754        (RawTypeBinding.get_code_generator):
154755        (RawTypeBinding.get_in_c_type_text):
154756        (RawTypeBinding.get_setter_value_expression_pattern):
154757        (RawTypeBinding.reduce_to_raw_type):
154758        (TypeData.__init__):
154759        (TypeData.get_binding):
154760        * inspector/InspectorValues.h:
154761
1547622012-01-12  Pierre Rossi  <pierre.rossi@gmail.com>
154763
154764        [Qt] Avoid string operations in mobile theme's caching mechanism
154765        https://bugs.webkit.org/show_bug.cgi?id=75010
154766
154767        The string operations constantly performed in the mobile theme
154768        to fetch or put controls in the pixmap cache can be pretty expensive.
154769        The new mechanism harnesses the QPixmapCache::Key API instead.
154770
154771        Reviewed by Kenneth Rohde Christiansen.
154772
154773        No new tests, internal refactoring.
154774
154775        * platform/qt/RenderThemeQtMobile.cpp:
154776        (WebCore::qHash):
154777        (WebCore::StylePainterMobile::findCachedControl):
154778        (WebCore::StylePainterMobile::insertIntoCache):
154779        (WebCore::StylePainterMobile::findCheckBox):
154780        (WebCore::StylePainterMobile::drawRadio):
154781        (WebCore::StylePainterMobile::findRadio):
154782        (WebCore::StylePainterMobile::drawMultipleComboButton):
154783        (WebCore::StylePainterMobile::drawSimpleComboButton):
154784        (WebCore::StylePainterMobile::getButtonImageSize):
154785        (WebCore::StylePainterMobile::findComboButton):
154786        (WebCore::StylePainterMobile::findLineEdit):
154787        (WebCore::StylePainterMobile::findPushButton):
154788        (WebCore::StylePainterMobile::drawComboBox):
154789        (WebCore::StylePainterMobile::drawProgress):
154790        (WebCore::StylePainterMobile::drawSliderThumb):
154791        (WebCore::RenderThemeQtMobile::paintTextField):
154792        (WebCore::RenderThemeQtMobile::paintMenuList):
154793        * platform/qt/RenderThemeQtMobile.h:
154794        (WebCore::KeyIdentifier::KeyIdentifier):
154795        (WebCore::KeyIdentifier::operator==):
154796
1547972012-01-12  Sheriff Bot  <webkit.review.bot@gmail.com>
154798
154799        Unreviewed, rolling out r104805.
154800        http://trac.webkit.org/changeset/104805
154801        https://bugs.webkit.org/show_bug.cgi?id=76180
154802
154803        Breaks apple win compilation. (Requested by vsevik on
154804        #webkit).
154805
154806        * CMakeLists.txt:
154807        * GNUmakefile.list.am:
154808        * Target.pri:
154809        * WebCore.exp.in:
154810        * WebCore.gypi:
154811        * WebCore.vcproj/WebCore.vcproj:
154812        * WebCore.xcodeproj/project.pbxproj:
154813        * dom/DOMAllInOne.cpp:
154814        * dom/SelectorQuery.cpp:
154815        (WebCore::SelectorQuery::SelectorQuery):
154816        (WebCore::SelectorQuery::queryAll):
154817        (WebCore::SelectorQuery::queryFirst):
154818        (WebCore::SelectorQuery::canUseIdLookup):
154819        (WebCore::SelectorQuery::execute):
154820        * dom/SelectorQuery.h:
154821        * dom/ShadowContentElement.cpp:
154822        (WebCore::ShadowContentElement::create):
154823        (WebCore::ShadowContentElement::ShadowContentElement):
154824        (WebCore::ShadowContentElement::shouldInclude):
154825        * dom/ShadowContentElement.h:
154826        * dom/ShadowContentSelectorQuery.cpp: Removed.
154827        * dom/ShadowContentSelectorQuery.h: Removed.
154828        * dom/ShadowInclusionSelector.cpp:
154829        (WebCore::ShadowInclusionSelector::select):
154830        * dom/ShadowInclusionSelector.h:
154831        * html/HTMLDetailsElement.cpp:
154832        (WebCore::DetailsContentElement::DetailsContentElement):
154833        (WebCore::DetailsContentElement::shouldInclude):
154834        (WebCore::DetailsSummaryElement::DetailsSummaryElement):
154835        (WebCore::DetailsSummaryElement::shouldInclude):
154836        * html/HTMLSummaryElement.cpp:
154837        (WebCore::SummaryContentElement::SummaryContentElement):
154838        * testing/Internals.cpp:
154839        (WebCore::Internals::createShadowContentElement):
154840        * testing/Internals.h:
154841        * testing/Internals.idl:
154842
1548432012-01-12  Zoltan Herczeg  <zherczeg@webkit.org>
154844
154845        Fix turbulence bug when stitch tiles enabled and rendered in parallel
154846        https://bugs.webkit.org/show_bug.cgi?id=76042
154847
154848        Reviewed by Nikolas Zimmermann.
154849
154850        The width / height / wrap members are used by all threads
154851        in the same time. The patch makes them local for all threads.
154852
154853        Fixes the layout fails in svg/dynamic-updates/SVGFETurbulence*
154854
154855        * platform/graphics/filters/FETurbulence.cpp:
154856        (WebCore::FETurbulence::noise2D):
154857        (WebCore::Noise::if):
154858        (WebCore::FETurbulence::calculateTurbulenceValueForPoint):
154859        (WebCore::FETurbulence::fillRegion):
154860        * platform/graphics/filters/FETurbulence.h:
154861        (WebCore::FETurbulence::PaintingData::PaintingData):
154862        (WebCore::FETurbulence::StitchData::StitchData):
154863
1548642012-01-12  Ilya Tikhonovsky  <loislo@chromium.org>
154865
154866        Web Inspector: performance: restore 'log 300 messages into console' test.
154867        https://bugs.webkit.org/show_bug.cgi?id=76170
154868
154869        It was removed in order of transition from layout tests to perf tests.
154870
154871        Reviewed by Yury Semikhatsky.
154872
154873        * inspector/front-end/ConsoleView.js:
154874        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView.scrollIntoView):
154875        (WebInspector.ConsoleView.prototype._scheduleScrollIntoView):
154876
1548772012-01-12  Hans Wennborg  <hans@chromium.org>
154878
154879        Speech input: Send text to correct element even if focus has changed
154880        https://bugs.webkit.org/show_bug.cgi?id=76071
154881
154882        Reviewed by Steve Block.
154883
154884        Make sure that the text from speech input ends up in the correct
154885        element even if focus has changed since the user clicked on it.
154886
154887        Test: fast/speech/change-focus.html
154888
154889        * html/shadow/TextControlInnerElements.cpp:
154890        (WebCore::InputFieldSpeechButtonElement::setRecognitionResult):
154891
1548922012-01-10  Pavel Podivilov  <podivilov@chromium.org>
154893
154894        Web Inspector: make source urls relative to source map url.
154895        https://bugs.webkit.org/show_bug.cgi?id=75968
154896
154897        Reviewed by Yury Semikhatsky.
154898
154899        * inspector/front-end/CompilerSourceMapping.js:
154900        (WebInspector.ClosureCompilerSourceMapping):
154901        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
154902        (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
154903
1549042012-01-12  Nikolas Zimmermann  <nzimmermann@rim.com>
154905
154906        Not reviewed. Fix WebKit build after r104803, by setting ScriptCallStack.h role to private.
154907
154908        * WebCore.xcodeproj/project.pbxproj:
154909
1549102012-01-12  Shinya Kawanaka  <shinyak@google.com>
154911
154912        ShadowContentElement should be able to use query.
154913        https://bugs.webkit.org/show_bug.cgi?id=75302
154914
154915        Reviewed by Hajime Morita.
154916
154917        This patch introduces a selector to query elements in ShadowContentElement.
154918        This can be used instead of ShadowContentElement::shouldInclude in more sophisticated ways.
154919
154920        Tests: fast/dom/shadow/shadow-contents-select-expected.html
154921               fast/dom/shadow/shadow-contents-select.html
154922
154923        * CMakeLists.txt:
154924        * GNUmakefile.list.am:
154925        * Target.pri:
154926        * WebCore.exp.in:
154927        * WebCore.gypi:
154928        * WebCore.vcproj/WebCore.vcproj:
154929        * WebCore.xcodeproj/project.pbxproj:
154930        * dom/DOMAllInOne.cpp:
154931        * dom/SelectorQuery.cpp:
154932        (WebCore::SelectorDataList::SelectorDataList):
154933          Extracted from SelectorQueryto share codes with ShadowContentSelectorQuery.
154934        (WebCore::SelectorDataList::initialize):
154935        (WebCore::SelectorDataList::matches):
154936        (WebCore::SelectorDataList::queryAll):
154937        (WebCore::SelectorDataList::queryFirst):
154938        (WebCore::SelectorDataList::canUseIdLookup):
154939        (WebCore::SelectorDataList::execute):
154940        (WebCore::SelectorQuery::SelectorQuery):
154941        (WebCore::SelectorQuery::queryAll):
154942        (WebCore::SelectorQuery::queryFirst):
154943        * dom/SelectorQuery.h:
154944        (WebCore::SelectorDataList::size):
154945        * dom/ShadowContentElement.cpp:
154946        (WebCore::selectAttr):
154947        (WebCore::ShadowContentElement::create):
154948        (WebCore::ShadowContentElement::ShadowContentElement):
154949        (WebCore::ShadowContentElement::select):
154950        * dom/ShadowContentElement.h:
154951        * dom/ShadowContentSelectorQuery.cpp: Added.
154952        (WebCore::ShadowContentSelectorQuery::ShadowContentSelectorQuery):
154953        (WebCore::ShadowContentSelectorQuery::matches):
154954          Returns true if Node is matched by the query.
154955        * dom/ShadowContentSelectorQuery.h: Copied from Source/WebCore/dom/ShadowContentElement.h.
154956        * dom/ShadowInclusionSelector.cpp:
154957        (WebCore::ShadowInclusionSelector::select):
154958        * dom/ShadowInclusionSelector.h:
154959        * html/HTMLDetailsElement.cpp:
154960        (WebCore::summaryQuerySelector):
154961        (WebCore::DetailsContentElement::DetailsContentElement): Re-implemented using query.
154962        (WebCore::DetailsSummaryElement::DetailsSummaryElement): ditto.
154963        * html/HTMLSummaryElement.cpp:
154964        (WebCore::SummaryContentElement::SummaryContentElement):
154965        * testing/Internals.cpp:
154966        (WebCore::Internals::createShadowContentElement):
154967        * testing/Internals.h:
154968        * testing/Internals.idl:
154969
1549702012-01-11  Vsevolod Vlasov  <vsevik@chromium.org>
154971
154972        Make default console messages line numbers consistent.
154973        https://bugs.webkit.org/show_bug.cgi?id=74075
154974
154975        Reviewed by Pavel Feldman.
154976
154977        Added default values for Console::addMessage sourceURL, lineNumber and
154978        callStack parameters, moved lineNumber after sourceURL.
154979        Made virtual method ScriptExecutionContext::addMessage private
154980        Added default values to ScriptExecutionContext::AddConsoleMessage sourceURL, lineNumber and
154981        callStack parameters, moved lineNumber after sourceURL.
154982        Reorder ScriptExecutionContext::logExceptionToConsole parameters, move lineNumber after sourceURL.
154983        Reordered sourceURL and lineNumber parameters in inspector methods.
154984        Made all calls to Console::addMessage() pass 0 as lineNumber by default (i.e. when line number is unknown / irrelevant).
154985        Unset line numbers are not printed to console in QT now.
154986
154987        * bindings/js/JSCustomXPathNSResolver.cpp:
154988        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
154989        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
154990        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
154991        * dom/Document.cpp:
154992        (WebCore::Document::logExceptionToConsole):
154993        (WebCore::Document::addMessage):
154994        * dom/Document.h:
154995        * dom/ScriptExecutionContext.cpp:
154996        (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
154997        (WebCore::ScriptExecutionContext::reportException):
154998        (WebCore::ScriptExecutionContext::addConsoleMessage):
154999        * dom/ScriptExecutionContext.h:
155000        * dom/UIEvent.cpp:
155001        (WebCore::UIEvent::warnDeprecatedLayerXYUsage):
155002        * dom/ViewportArguments.cpp:
155003        (WebCore::reportViewportWarning):
155004        * html/HTMLFormElement.cpp:
155005        (WebCore::HTMLFormElement::validateInteractively):
155006        * html/canvas/WebGLRenderingContext.cpp:
155007        (WebCore::WebGLRenderingContext::printWarningToConsole):
155008        * inspector/ConsoleMessage.cpp:
155009        (WebCore::ConsoleMessage::ConsoleMessage):
155010        * inspector/ConsoleMessage.h:
155011        * inspector/InspectorConsoleAgent.cpp:
155012        (WebCore::InspectorConsoleAgent::enable):
155013        (WebCore::InspectorConsoleAgent::addMessageToConsole):
155014        (WebCore::InspectorConsoleAgent::stopTiming):
155015        (WebCore::InspectorConsoleAgent::count):
155016        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
155017        * inspector/InspectorConsoleAgent.h:
155018        * inspector/InspectorConsoleInstrumentation.h:
155019        (WebCore::InspectorInstrumentation::addMessageToConsole):
155020        * inspector/InspectorInstrumentation.cpp:
155021        (WebCore::InspectorInstrumentation::addMessageToConsoleImpl):
155022        * inspector/InspectorInstrumentation.h:
155023        * inspector/InspectorProfilerAgent.cpp:
155024        (WebCore::InspectorProfilerAgent::addProfileFinishedMessageToConsole):
155025        (WebCore::InspectorProfilerAgent::addStartProfilingMessageToConsole):
155026        * loader/FrameLoader.cpp:
155027        (WebCore::FrameLoader::checkIfDisplayInsecureContent):
155028        (WebCore::FrameLoader::checkIfRunInsecureContent):
155029        (WebCore::FrameLoader::reportLocalLoadFailed):
155030        (WebCore::FrameLoader::shouldAllowNavigation):
155031        * loader/MainResourceLoader.cpp:
155032        (WebCore::MainResourceLoader::didReceiveResponse):
155033        * loader/appcache/ApplicationCacheGroup.cpp:
155034        (WebCore::ApplicationCacheGroup::didReceiveResponse):
155035        (WebCore::ApplicationCacheGroup::didFinishLoading):
155036        (WebCore::ApplicationCacheGroup::didFail):
155037        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse):
155038        (WebCore::ApplicationCacheGroup::didFinishLoadingManifest):
155039        (WebCore::ApplicationCacheGroup::checkIfLoadIsComplete):
155040        * loader/cache/CachedResourceLoader.cpp:
155041        (WebCore::CachedResourceLoader::printAccessDeniedMessage):
155042        * page/Console.cpp:
155043        (WebCore::Console::addMessage):
155044        (WebCore::Console::groupEnd):
155045        * page/Console.h:
155046        * page/DOMWindow.cpp:
155047        (WebCore::DOMWindow::postMessageTimerFired):
155048        (WebCore::DOMWindow::printErrorMessage):
155049        * storage/AbstractDatabase.cpp:
155050        (WebCore::AbstractDatabase::logErrorMessage):
155051        * svg/SVGDocumentExtensions.cpp:
155052        (WebCore::reportMessage):
155053        * websockets/WebSocket.cpp:
155054        (WebCore::WebSocket::connect):
155055        * websockets/WebSocketChannel.cpp:
155056        (WebCore::WebSocketChannel::fail):
155057        (WebCore::WebSocketChannel::didFailSocketStream):
155058        * workers/DefaultSharedWorkerRepository.cpp:
155059        (WebCore::postConsoleMessageTask):
155060        (WebCore::SharedWorkerProxy::postConsoleMessageToWorkerObject):
155061        * workers/SharedWorkerContext.cpp:
155062        (WebCore::SharedWorkerContext::logExceptionToConsole):
155063        * workers/SharedWorkerContext.h:
155064        * workers/WorkerContext.cpp:
155065        (WebCore::WorkerContext::logExceptionToConsole):
155066        (WebCore::WorkerContext::addMessage):
155067        (WebCore::WorkerContext::addMessageToWorkerConsole):
155068        * workers/WorkerContext.h:
155069        * workers/WorkerMessagingProxy.cpp:
155070        (WebCore::postConsoleMessageTask):
155071        * xml/XSLTProcessorLibxslt.cpp:
155072        (WebCore::XSLTProcessor::parseErrorFunc):
155073        * xml/XSLTProcessorQt.cpp:
155074        (WebCore::XSLTMessageHandler::handleMessage):
155075
1550762012-01-12  Mihnea Ovidenie  <mihnea@adobe.com>
155077
155078        Add RenderStyle::isPositioned() helper method
155079        https://bugs.webkit.org/show_bug.cgi?id=75959
155080
155081        Reviewed by Tony Chang.
155082
155083        No new tests since this is refactoring of existing code.
155084        Replace (style()->position() == AbsolutePosition || style()->position() == FixedPosition) 
155085        with (style()->isPositioned()).
155086        Replace (style()->position() != AbsolutePosition && style()->position() != FixedPosition) 
155087        with (!style()->isPositioned()).
155088
155089        * rendering/RenderBox.cpp:
155090        (WebCore::RenderBox::updateBoxModelInfoFromStyle):
155091        (WebCore::RenderBox::offsetFromContainer):
155092        * rendering/RenderBoxModelObject.cpp:
155093        (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint):
155094        * rendering/RenderInline.cpp:
155095        (WebCore::RenderInline::computeRectForRepaint):
155096        * rendering/RenderObject.cpp:
155097        (WebCore::RenderObject::markContainingBlocksForLayout):
155098        (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
155099        (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
155100        * rendering/style/RenderStyle.h:
155101        (WebCore::RenderStyleBitfields::isPositioned):
155102
1551032012-01-11  KwangHyuk Kim  <hyuki.kim@samsung.com>
155104
155105        [EFL] Rename parameter and variable name 'r' to 'rect' in IntRectEfl.cpp.
155106        https://bugs.webkit.org/show_bug.cgi?id=76140
155107
155108        Reviewed by Andreas Kling.
155109
155110        No new tests : Just for change of parameter and variable name.
155111
155112        * platform/graphics/efl/IntRectEfl.cpp:
155113        (WebCore::IntRect::IntRect):
155114        (WebCore::IntRect::operator Eina_Rectangle):
155115
1551162012-01-11  Shinya Kawanaka  <shinyak@google.com>
155117
155118        QuerySelector should not have side effect.
155119        https://bugs.webkit.org/show_bug.cgi?id=75298
155120
155121        Reviewed by Antti Koivisto.
155122
155123        Since SelectorChecker is not collecting-rules-only mode, it may set some flags in render styles
155124        if some pseudo types (e.g. first-of-type) are used.
155125
155126        No new tests. Covered by existing tests.
155127
155128        * dom/SelectorQuery.cpp:
155129        (WebCore::SelectorQuery::SelectorQuery):
155130          Made collecting rules only.
155131
1551322012-01-11  Dan Bernstein  <mitz@apple.com>
155133
155134        <rdar://problem/10679035> Implement font-variant-ligatures: {no-}common-ligatures
155135        https://bugs.webkit.org/show_bug.cgi?id=76103
155136
155137        Reviewed by Sam Weinig.
155138
155139        Tests: fast/css/parsing-font-variant-ligatures.html
155140               fast/text/font-variant-ligatures-expected.html
155141               fast/text/font-variant-ligatures.html
155142
155143        Added support for all font-variant-ligatures values in the style system and in
155144        FontDescription, and made the {no-}common-ligatures value keywords control basic ligatures.
155145        The {no-}{discretionary,historical}-ligatures keywords have no effect on rendering at this
155146        time.
155147
155148        font-variant-ligatures was not made part of the font shorthand property.
155149
155150        * css/CSSComputedStyleDeclaration.cpp:
155151        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
155152        font-variant-ligatures.
155153        * css/CSSParser.cpp:
155154        (WebCore::CSSParser::parseValue): Added code to handle font-variant-ligatures.
155155        (WebCore::CSSParser::parseFontVariantLigatures): Added. Parses font-variant-ligatures.
155156        * css/CSSParser.h:
155157        * css/CSSProperty.cpp:
155158        (WebCore::CSSProperty::isInheritedProperty): Added font-variant-ligatures to the set of
155159        inherited properties.
155160        * css/CSSPropertyNames.in: Added -webkit-font-variant-ligatures.
155161        * css/CSSStyleApplyProperty.cpp:
155162        (WebCore::ApplyPropertyFontVariantLigatures::applyInheritValue): Added. Copies
155163        {common,discretionary,historical}LigaturesState from the parent style font description.
155164        (WebCore::ApplyPropertyFontVariantLigatures::applyInitialValue): Added. Sets
155165        {common,discretionary,historical}LigaturesState to normal.
155166        (WebCore::ApplyPropertyFontVariantLigatures::applyValue): Added.
155167        (WebCore::ApplyPropertyFontVariantLigatures::createHandler): Added.
155168        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for
155169        font-variant-ligatures.
155170        * css/CSSStyleSelector.cpp:
155171        (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
155172        affect the font.
155173        (WebCore::CSSStyleSelector::applyProperty): Added CSSPropertyWebkitFontVariantLigatures to
155174        the switch statement, which needs to list all values in SVG-disabled builds.
155175        * css/CSSValueKeywords.in: Added the value keywords
155176        {no-}{common,discretionary,historical}-ligatures.
155177        * platform/graphics/Font.h:
155178        (WebCore::Font::typesettingFeatures): Changed to enable ligatures if common ligatures are
155179        enabled in the font description, disable them if they are disabled, and leave them to the
155180        default (determined by the text-rendering property) if they are in the normal state.
155181        * platform/graphics/FontDescription.h:
155182        (WebCore::FontDescription::FontDescription): Added initializers.
155183        (WebCore::FontDescription::commonLigaturesState): Added this accessor.
155184        (WebCore::FontDescription::discretionaryLigaturesState): Ditto.
155185        (WebCore::FontDescription::historicalLigaturesState): Ditto.
155186        (WebCore::FontDescription::setCommonLigaturesState): Ditto.
155187        (WebCore::FontDescription::setDiscretionaryLigaturesState): Ditto.
155188        (WebCore::FontDescription::setHistoricalLigaturesState): Ditto.
155189        (WebCore::FontDescription::operator==): Updated to compare the ligatures state members.
155190
1551912012-01-11  Adrienne Walker  <enne@google.com>
155192
155193        Repaint all graphics layers when their renderer offset changes
155194        https://bugs.webkit.org/show_bug.cgi?id=75730
155195
155196        Reviewed by Simon Fraser.
155197
155198        In RenderLayerBacking, only the main graphics layer gets repainted
155199        when the offset changes. If the offset on other graphics layers (e.g.
155200        the foreground layer) changes, they should get repainted as well.
155201
155202        Test: compositing/geometry/foreground-offset-change.html
155203
155204        * platform/graphics/GraphicsLayer.cpp:
155205        (WebCore::GraphicsLayer::setOffsetFromRenderer):
155206        (WebCore::GraphicsLayer::paintGraphicsLayerContents):
155207        * platform/graphics/GraphicsLayer.h:
155208        * rendering/RenderLayerBacking.cpp:
155209        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
155210        (WebCore::RenderLayerBacking::paintContents):
155211
1552122012-01-11  Scott Violet  <sky@google.com>
155213
155214        [chromium] TiledLayerChromium drops invalidates that occur during
155215        LayerTextureUpdater::prepareToUpdate
155216        https://bugs.webkit.org/show_bug.cgi?id=76067
155217
155218        Reviewed by James Robinson.
155219
155220        Test coverage in TiledLayerChromiumTest.
155221
155222        * platform/graphics/chromium/TiledLayerChromium.cpp:
155223        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
155224
1552252012-01-11  Kentaro Hara  <haraken@chromium.org>
155226
155227        [JSC] Remove redundant arguments from [Supplemental] custom methods
155228        https://bugs.webkit.org/show_bug.cgi?id=76127
155229
155230        Reviewed by Adam Barth.
155231
155232        Since in JSC a callback of custom methods is non-static, we do not need
155233        to pass a pointer of an implementation object.
155234
155235        Before (JSTestInterface.cpp):
155236            JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
155237            {
155238                JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
155239                TestInterface* impl = static_cast<TestInterface*>(castedThis->impl());
155240                return castedThis->supplementalStr3(impl, exec);
155241            }
155242
155243        After (JSTestInterface.cpp):
155244            JSValue jsTestInterfaceSupplementalStr3(ExecState* exec, JSValue slotBase, ...)
155245            {
155246                JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
155247                 return castedThis->supplementalStr3(exec);  // JSTestInterface knows 'impl'.
155248            }
155249
155250        Tests: bindings/scripts/test/TestInterface.idl
155251               http/tests/websocket/tests/*
155252               webaudio/*
155253
155254        * bindings/scripts/CodeGeneratorJS.pm:
155255        (GenerateHeader): Previously when we specify [CustomGetter, CustomSetter], the header for
155256        the custom setter was not generated. This patch fixes the bug.
155257        (GenerateImplementation):
155258
155259        * bindings/js/JSDOMWindowWebAudioCustom.cpp: Removed redundant DOMWindow* from webkitAudioContext().
155260        (WebCore::JSDOMWindow::webkitAudioContext):
155261        * bindings/js/JSDOMWindowWebSocketCustom.cpp: Removed redundant DOMWindow* from webSocket().
155262        (WebCore::JSDOMWindow::webSocket):
155263
155264        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
155265        (WebCore::jsTestInterfaceSupplementalStr3):
155266        (WebCore::setJSTestInterfaceSupplementalStr3):
155267        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
155268
1552692012-01-11  Adam Barth  <abarth@webkit.org>
155270
155271        iframe sandbox doesn't block autofocus (IETC automatic-feature-block-autofocus-form-control)
155272        https://bugs.webkit.org/show_bug.cgi?id=76120
155273
155274        Reviewed by Eric Seidel.
155275
155276        Test: fast/forms/no-autofocus-in-sandbox.html
155277
155278        * html/HTMLFormControlElement.cpp:
155279        (WebCore::shouldAutofocus):
155280            - The HTML5 spec says that we shouldn't autofocus elements when the
155281              automatic features are sandboxed.
155282
1552832012-01-11  Beth Dakin  <bdakin@apple.com>
155284
155285        https://bugs.webkit.org/show_bug.cgi?id=75904
155286        WebKit 1: Scrollbar uiStateTransitionProgress requires tracking the mouse all 
155287        the time
155288        -and corresponding-
155289        <rdar://problem/10498816>
155290
155291        Reviewed by Darin Adler.
155292
155293        This patch gets rid of the optional parameter called onlyUpdateScrollbars for 
155294        mouseMoved() and instead moves that functionality into its own function 
155295        called passMouseMovedEventToScrollbars().
155296        * WebCore.exp.in:
155297        * page/EventHandler.cpp:
155298        (WebCore::EventHandler::mouseMoved):
155299        (WebCore::EventHandler::passMouseMovedEventToScrollbars):
155300        * page/EventHandler.h:
155301        * page/mac/EventHandlerMac.mm:
155302        (WebCore::EventHandler::passMouseMovedEventToScrollbars):
155303
1553042012-01-11  Joshua Bell  <jsbell@chromium.org>
155305
155306        IndexedDB: Methods should throw TRANSACTION_INACTIVE_ERR when transaction is completed/aborted
155307        https://bugs.webkit.org/show_bug.cgi?id=76108
155308
155309        Updated IDBDatabaseException error codes to match spec (the pre-DOM4 version),
155310        including updated description strings, and changed relevant store and index 
155311        methods to raise the expected exception type now that it is detailed in the spec.
155312
155313        Reviewed by Tony Chang.
155314
155315        Tests: storage/indexeddb/transaction-basics.html
155316
155317        * storage/IDBCursorBackendImpl.cpp:
155318        (WebCore::IDBCursorBackendImpl::continueFunction):
155319        (WebCore::IDBCursorBackendImpl::prefetchContinue):
155320        * storage/IDBDatabaseException.cpp:
155321        * storage/IDBDatabaseException.h:
155322        * storage/IDBDatabaseException.idl:
155323        * storage/IDBIndexBackendImpl.cpp:
155324        (WebCore::IDBIndexBackendImpl::openCursor):
155325        (WebCore::IDBIndexBackendImpl::openKeyCursor):
155326        (WebCore::IDBIndexBackendImpl::count):
155327        (WebCore::IDBIndexBackendImpl::get):
155328        (WebCore::IDBIndexBackendImpl::getKey):
155329        * storage/IDBObjectStoreBackendImpl.cpp:
155330        (WebCore::IDBObjectStoreBackendImpl::get):
155331        (WebCore::IDBObjectStoreBackendImpl::put):
155332        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
155333        (WebCore::IDBObjectStoreBackendImpl::clear):
155334        (WebCore::IDBObjectStoreBackendImpl::createIndex):
155335        (WebCore::IDBObjectStoreBackendImpl::deleteIndex):
155336        (WebCore::IDBObjectStoreBackendImpl::openCursor):
155337        (WebCore::IDBObjectStoreBackendImpl::count):
155338
1553392012-01-11  Kentaro Hara  <haraken@chromium.org>
155340
155341        Implement the [Supplemental] IDL for custom methods
155342        https://bugs.webkit.org/show_bug.cgi?id=76036
155343
155344        Reviewed by Adam Barth.
155345
155346        We have implemented the [Supplemental] IDL for non-custom methods in bug 75944.
155347        This patch implements it for custom methods. This patch modifies only CodeGeneratorV8.pm,
155348        since CodeGeneratorJS.pm requires no change and other code generators
155349        do not support custom methods.
155350
155351        Test: bindings/scripts/test/TestSupplemental.idl
155352
155353        * bindings/scripts/CodeGeneratorV8.pm:
155354        (GenerateHeader):
155355
155356        * bindings/scripts/test/TestSupplemental.idl: Added a custom method with the [Supplemental] IDL.
155357
155358        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated the test result.
155359        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod3):
155360        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
155361        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
155362        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
155363        (-[DOMTestInterface supplementalMethod3]):
155364        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
155365
1553662011-12-21  Shaw Andy  <andy.shaw@digia.com>
155367
155368        Fix build issue on Windows when Qt is configured with -ltcg
155369        https://bugs.webkit.org/show_bug.cgi?id=75003
155370
155371        Rubber-stamped by Simon Hausmann.
155372
155373        * WebCore.pri:
155374
1553752012-01-09  Avi Drissman  <avi@chromium.org>
155376
155377        https://bugs.webkit.org/show_bug.cgi?id=75860
155378        [Chromium Mac] no background is drawn for input elements
155379
155380        Reviewed by Eric Seidel.
155381
155382        Reverts r104240 for Chromium. Unfortunately the code that uses Cocoa
155383        API misbehaves when built with the 10.5 SDK, so we use SPI. For now.
155384
155385        * rendering/RenderThemeChromiumMac.h:
155386        * rendering/RenderThemeChromiumMac.mm:
155387        (WebCore::RenderThemeChromiumMac::paintTextField):
155388
1553892012-01-11  Adam Barth  <abarth@webkit.org>
155390
155391        iframe sandbox doesn't block videos from autoplaying (IETC automatic-feature-block-autoplay-video)
155392        https://bugs.webkit.org/show_bug.cgi?id=76111
155393
155394        Reviewed by Eric Seidel.
155395
155396        Test: media/no-auto-play-in-sandbox.html
155397
155398        * dom/SecurityContext.h:
155399            - Add a flag for sandboxing automatic features, per the HTML5 spec.
155400        * html/HTMLMediaElement.cpp:
155401        (WebCore::HTMLMediaElement::setReadyState):
155402            - Implement requirement in the HTML5 spec to not autoplay media
155403              when automatic features are sandboxed.
155404
1554052012-01-11  Nate Chapin  <japhet@chromium.org>
155406
155407        SubresourceLoader cleanup post r100311.
155408        1. Simplify matching incrementRequestCount()/decrementRequestCount() calls.
155409        2. Remove CachedImage custom code from SubresourceLoader.
155410        3. Add a bunch of ASSERTs.
155411        4. Remove the multipart-only call to didReceiveData() from didReceiveResponse(),
155412           since didReceiveData() would get called immediately after anyway.
155413        https://bugs.webkit.org/show_bug.cgi?id=75887
155414
155415        Reviewed by Adam Barth.
155416
155417        No new tests, refactor only.
155418
155419        * loader/SubresourceLoader.cpp:
155420        (WebCore::SubresourceLoader::didReceiveResponse): Remove multipart special case, handle it in didReceiveData().
155421        (WebCore::SubresourceLoader::didReceiveData): Handle multipart state here, since we will receive only one
155422             didReceiveData() call per multipart segment, but no didFinishLoading() call.
155423        * loader/SubresourceLoader.h: Add a RequestCountTracker subclass to reduce complexity of ensuring we don't
155424            decrement request count twice on CachedResourceLoader.
155425        * loader/cache/CachedImage.cpp:
155426        (WebCore::CachedImage::setResponse): Move CachedImage::clear() call out of SubresourceLoader, since it's
155427            kind of a layering violation as is.
155428        * loader/cache/CachedImage.h:
155429        * loader/cache/CachedResource.cpp:
155430
1554312012-01-11  Joshua Bell  <jsbell@chromium.org>
155432
155433        IndexedDB: Version change transaction should abort if constraints fail during createIndex
155434        https://bugs.webkit.org/show_bug.cgi?id=76094
155435
155436        Reviewed by Tony Chang.
155437
155438        Test: storage/indexeddb/index-population.html
155439
155440        * storage/IDBIndexBackendImpl.cpp:
155441        (WebCore::IDBIndexBackendImpl::addingKeyAllowed):
155442        * storage/IDBIndexBackendImpl.h:
155443        * storage/IDBLevelDBBackingStore.cpp:
155444        (WebCore::IDBLevelDBBackingStore::forEachObjectStoreRecord):
155445        * storage/IDBObjectStoreBackendImpl.cpp:
155446
1554472012-01-11  Greg Billock  <gbillock@google.com>
155448
155449        Switch web intents to use supplemental IDL for DOMWindow
155450        https://bugs.webkit.org/show_bug.cgi?id=76092
155451
155452        Reviewed by Adam Barth.
155453
155454        * Modules/intents/DOMWindowIntents.idl: Added.
155455        * WebCore.gypi:
155456        * page/DOMWindow.idl:
155457
1554582012-01-11  Kent Tamura  <tkent@chromium.org>
155459
155460        Rename HTMLInputElement::setDefaultName to setInitialName.
155461        https://bugs.webkit.org/show_bug.cgi?id=76039
155462
155463        Reviewed by Darin Adler.
155464
155465        Rename setDefaultName to setInitialName, make it protected, and add two
155466        assertions.
155467
155468        This change should not change any behavior.
155469
155470        Test: fast/forms/isindex-name.html
155471
155472        * html/HTMLInputElement.cpp:
155473        (WebCore::HTMLInputElement::setInitialName):
155474        - Renamed from setDefaultName.
155475        - Add assertions.
155476        * html/HTMLInputElement.h:
155477        Rename setDefaultName to setInitialName, and move it to protected.
155478        * html/HTMLIsIndexElement.cpp:
155479        (WebCore::HTMLIsIndexElement::HTMLIsIndexElement):
155480        Update a setDefaultName callsite.
155481        (WebCore::HTMLIsIndexElement::parseMappedAttribute):
155482        A style fix.
155483
1554842012-01-11  Adam Treat  <atreat@rim.com>
155485
155486        https://bugs.webkit.org/show_bug.cgi?id=76088
155487        The common case of content type = text/plain is not optimized and the plugin database is initialized instead
155488
155489        In the dom/DOMImplementation.cpp file you can find the comment that text/plain is
155490        optimized so that the plugin database is not loaded. Unfortunately, this has been
155491        regressed since the patch for http://bugs.webkit.org/show_bug.cgi?id=16815 which
155492        refactored a bunch of the plugin code.  Now, the plugin database is initialized
155493        before we handle text/plain.  This line in DOMImplementation.cpp triggers
155494        the plugin initialization:
155495
155496                pluginData = frame->page()->pluginData();
155497
155498        The case of image types != PDF and the case of HTML5 video content type are also
155499        not optimized to be handled before plugin initialization.
155500
155501        The solution is to refactor so all of these content types are handled before
155502        we initialize the plugin database.
155503
155504        Reviewed by Adam Treat.
155505
155506        * dom/DOMImplementation.cpp:
155507        (WebCore::DOMImplementation::createDocument):
155508
1555092012-01-11  Alexandre Elias  <aelias@google.com>
155510
155511        [chromium] Make Skia canvas opaque for root layer tiles
155512        https://bugs.webkit.org/show_bug.cgi?id=75939
155513
155514        Reviewed by James Robinson.
155515
155516        Skia has extra optimizations if a bitmap has the "opaque" flag -- in
155517        particular, it doesn't do an unnecessary memset at creation time.
155518        Pass down the LayerChromium's opaque flag to Skia.
155519
155520        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp:
155521        (WebCore::BitmapCanvasLayerTextureUpdater::setIsNonCompositedContent):
155522        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
155523        * platform/graphics/chromium/ContentLayerChromium.cpp:
155524        (WebCore::ContentLayerChromium::createTextureUpdater):
155525        * platform/graphics/chromium/LayerTextureUpdater.h:
155526        (WebCore::LayerTextureUpdater::setIsNonCompositedContent):
155527        * platform/graphics/chromium/PlatformCanvas.cpp:
155528        (WebCore::PlatformCanvas::PlatformCanvas):
155529        (WebCore::PlatformCanvas::resize):
155530        * platform/graphics/chromium/PlatformCanvas.h:
155531        (WebCore::PlatformCanvas::setOpaque):
155532        (WebCore::PlatformCanvas::opaque):
155533        * platform/graphics/chromium/TiledLayerChromium.cpp:
155534        (WebCore::TiledLayerChromium::setIsNonCompositedContent):
155535
1555362012-01-11  Greg Billock  <gbillock@google.com>
155537
155538        [Coverity] Address some uninit constructor issues in WebCore/dom
155539        https://bugs.webkit.org/show_bug.cgi?id=74977
155540
155541        Reviewed by Ryosuke Niwa.
155542
155543        * css/SelectorChecker.h:
155544        (WebCore::SelectorChecker::ParentStackFrame::ParentStackFrame):
155545        * dom/DeviceMotionData.cpp:
155546        (WebCore::DeviceMotionData::DeviceMotionData):
155547        * dom/DeviceOrientation.cpp:
155548        (WebCore::DeviceOrientation::DeviceOrientation):
155549
1555502012-01-11  Kenneth Russell  <kbr@google.com>
155551
155552        [chromium] Color profiles are incorrect for images without premultiplied alpha
155553        https://bugs.webkit.org/show_bug.cgi?id=75999
155554
155555        Reviewed by Stephen White.
155556
155557        Don't apply the color profile if the user has requested separate alpha.
155558
155559        Test: fast/canvas/webgl/texture-color-profile.html
155560
155561        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
155562        (WebCore::ImageFrame::setStatus):
155563
1555642012-01-11  No'am Rosenthal  <noam.rosenthal@nokia.com>
155565
155566        [Qt][Texmap] LayoutTests/compositing/masks/masked-ancestor does not render correctly.
155567        https://bugs.webkit.org/show_bug.cgi?id=75910
155568
155569        Reviewed by Simon Hausmann.
155570
155571        Handle the mask surface correctly when drawing in two passes. Also, improve the readability
155572        of the code that decides whether to draw in two passes.
155573
155574        LayoutTests/compositing/masks/masked-ancestor.html tests this.
155575
155576        * platform/graphics/texmap/TextureMapperNode.cpp:
155577        (WebCore::TextureMapperNode::computeAllTransforms):
155578        (WebCore::TextureMapperNode::hasMoreThanOneTile):
155579        (WebCore::TextureMapperNode::paintRecursive):
155580        * platform/graphics/texmap/TextureMapperNode.h:
155581
1555822012-01-11  Dmitry Titov  <dimich@chromium.org>
155583
155584        Add new CSS enum value to a switch() in CSSStyleSelector::applyProperty() to fix compile error.
155585        https://bugs.webkit.org/show_bug.cgi?id=76081
155586
155587        Reviewed by David Levin.
155588
155589        * css/CSSStyleSelector.cpp:
155590        (WebCore::CSSStyleSelector::applyProperty):
155591
1555922012-01-11  Alexey Proskuryakov  <ap@apple.com>
155593
155594        Reviewed by Darin Adler. Prepared by Sheriff Bot. Rolling out r94902.
155595        http://trac.webkit.org/changeset/94902
155596        https://bugs.webkit.org/show_bug.cgi?id=75905
155597
155598        Disagrees with general direction for WebKit, and makes
155599        refactoring harder (Requested by ap on #webkit).
155600
155601        * loader/DocumentWriter.cpp:
155602        (WebCore::DocumentWriter::deprecatedFrameEncoding):
155603        * loader/DocumentWriter.h:
155604        * loader/FrameLoader.cpp:
155605        (WebCore::FrameLoader::addExtraFieldsToRequest):
155606        * platform/network/ResourceRequestBase.cpp:
155607        (WebCore::ResourceRequestBase::adopt):
155608        (WebCore::ResourceRequestBase::copyData):
155609        (WebCore::ResourceRequestBase::setResponseContentDispositionEncodingFallbackArray):
155610        * platform/network/ResourceRequestBase.h:
155611
1556122012-01-11  Eli Fidler  <efidler@rim.com>
155613
155614        Fix OpenGL dependency in CMake build system
155615        https://bugs.webkit.org/show_bug.cgi?id=73559
155616
155617        Reviewed by Daniel Bates.
155618
155619        * CMakeLists.txt:
155620        * PlatformEfl.cmake:
155621
1556222012-01-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
155623
155624        Use HashMap<OwnPtr> for RenderBoxRegionInfo map in RenderRegion
155625        https://bugs.webkit.org/show_bug.cgi?id=75348
155626
155627        Reviewed by Darin Adler.
155628
155629        * rendering/RenderFlowThread.cpp:
155630        (WebCore::RenderFlowThread::logicalWidthChangedInRegions): use OwnPtr.
155631        * rendering/RenderRegion.cpp:
155632        (WebCore::RenderRegion::setRenderBoxRegionInfo): use HashMap::add() instead of
155633        get() potentially followed by set().
155634        (WebCore::RenderRegion::takeRenderBoxRegionInfo): change to return PassOwnPtr.
155635        (WebCore::RenderRegion::removeRenderBoxRegionInfo):
155636        (WebCore::RenderRegion::deleteAllRenderBoxRegionInfo):
155637        * rendering/RenderRegion.h:
155638
1556392012-01-11  Joel Webber  <jgw@google.com>
155640
155641        Implement setCurrentTime() and pauseAnimations() on SVGSVGElement
155642        https://bugs.webkit.org/show_bug.cgi?id=12073
155643
155644        Reviewed by Nikolas Zimmermann.
155645
155646        Adds the ability to reset an SVGSMILElement internally. SVGSMILElements are no longer removed
155647        from their containers when they become inactive, because they sometimes have to be reactivated
155648        when the container's current time is changed.
155649
155650        Test: svg/animations/animate-setcurrenttime.html
155651
155652        * svg/SVGSVGElement.cpp:
155653        (WebCore::SVGSVGElement::setCurrentTime):
155654        * svg/animation/SMILTimeContainer.cpp:
155655        (WebCore::SMILTimeContainer::SMILTimeContainer):
155656        (WebCore::SMILTimeContainer::begin):
155657        (WebCore::SMILTimeContainer::pause):
155658        (WebCore::SMILTimeContainer::setElapsed):
155659        (WebCore::SMILTimeContainer::updateAnimations):
155660        * svg/animation/SMILTimeContainer.h:
155661        * svg/animation/SVGSMILElement.cpp:
155662        (WebCore::SVGSMILElement::reset):
155663        * svg/animation/SVGSMILElement.h:
155664
1556652012-01-11  Peter Rybin  <peter.rybin@gmail.com>
155666
155667        Web Inspector: CodeGeneratorInspector.py: fix codestyle of generated enums
155668        https://bugs.webkit.org/show_bug.cgi?id=76062
155669
155670        Reviewed by Yury Semikhatsky.
155671
155672        This only changes how constants are named in generated .h file.
155673
155674        * inspector/CodeGeneratorInspector.py:
155675
1556762012-01-11  Pavel Feldman  <pfeldman@google.com>
155677
155678        Web Inspector: "undefined" instead of error message in the SourceFrame.
155679        https://bugs.webkit.org/show_bug.cgi?id=76060
155680
155681        Reviewed by Yury Semikhatsky.
155682
155683        * inspector/front-end/ConsoleMessage.js:
155684        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
155685        (WebInspector.ConsoleMessageImpl.prototype.get message):
155686
1556872012-01-11  Pavel Feldman  <pfeldman@google.com>
155688
155689        Web Inspector: make setOuterHTML use new DOMEditor, cover it with tests.
155690        https://bugs.webkit.org/show_bug.cgi?id=76056
155691
155692        Reviewed by Yury Semikhatsky.
155693
155694        Test: inspector/elements/set-outer-html.html
155695
155696        * inspector/DOMEditor.cpp:
155697        (WebCore::DOMEditor::Digest::Digest):
155698        (WebCore::DOMEditor::patchDocument):
155699        (WebCore::DOMEditor::patchNode):
155700        (WebCore::DOMEditor::innerPatchHTMLElement):
155701        (WebCore::DOMEditor::innerPatchNode):
155702        (WebCore::DOMEditor::diff):
155703        (WebCore::DOMEditor::innerPatchChildren):
155704        (WebCore::DOMEditor::createDigest):
155705        * inspector/DOMEditor.h:
155706        * inspector/Inspector-0.1.json:
155707        * inspector/Inspector.json:
155708        * inspector/InspectorDOMAgent.cpp:
155709        (WebCore::InspectorDOMAgent::setOuterHTML):
155710        * inspector/InspectorDOMAgent.h:
155711        * inspector/front-end/DOMAgent.js:
155712        (WebInspector.DOMNode):
155713        (WebInspector.DOMNode.prototype._renumber):
155714        * inspector/front-end/ElementsTreeOutline.js:
155715        ():
155716
1557172012-01-10  Alexander Pavlov  <apavlov@chromium.org>
155718
155719        Web Inspector: introduce "source" column in the CSS profiler.
155720        https://bugs.webkit.org/show_bug.cgi?id=75378
155721
155722        Reviewed by Pavel Feldman.
155723
155724        Rules are no longer merged by their selectors but are shown one per profile entry, with a link to
155725        their selector in the source whenever the latter is available.
155726
155727        * inspector/Inspector.json:
155728        * inspector/InspectorCSSAgent.cpp:
155729        (WebCore::RuleMatchingStats::RuleMatchingStats):
155730        (WebCore::SelectorProfile::makeKey):
155731        (WebCore::SelectorProfile::startSelector):
155732        (WebCore::SelectorProfile::commitSelector):
155733        (WebCore::SelectorProfile::commitSelectorTime):
155734        (WebCore::SelectorProfile::toInspectorObject):
155735        (WebCore::InspectorCSSAgent::willMatchRule):
155736        (WebCore::InspectorCSSAgent::willProcessRule):
155737        (WebCore::InspectorCSSAgent::buildArrayForRuleList):
155738        * inspector/InspectorStyleSheet.cpp:
155739        (WebCore::InspectorStyleSheet::styleSheetURL):
155740        (WebCore::InspectorStyleSheet::finalURL):
155741        (WebCore::InspectorStyleSheet::setRuleSelector):
155742        * inspector/InspectorStyleSheet.h:
155743        * inspector/front-end/CSSSelectorProfileView.js:
155744        (WebInspector.CSSSelectorDataGridNode.prototype.get rawData):
155745        (WebInspector.CSSSelectorDataGridNode.prototype.createCell):
155746        (WebInspector.CSSSelectorProfileView):
155747        (WebInspector.CSSSelectorProfileView.prototype._createProfileNodes):
155748        (WebInspector.CSSSelectorProfileView.prototype._sortProfile.sourceComparator):
155749        (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
155750        * inspector/front-end/ProfilesPanel.js:
155751        (WebInspector.ProfilesPanel.prototype.sidebarResized):
155752        * inspector/front-end/dataGrid.css:
155753        (.data-grid:focus tr.selected a):
155754
1557552012-01-11  Peter Rybin  <peter.rybin@gmail.com>
155756
155757        Web Inspector: CodeGeneratorInspector.py: generate enum types.
155758        https://bugs.webkit.org/show_bug.cgi?id=74954
155759
155760        Reviewed by Yury Semikhatsky.
155761
155762        Internal map of string contants is created. C enums are created for
155763        each JSON enum.
155764
155765        * inspector/CodeGeneratorInspector.py:
155766        (EnumConstants.add_constant):
155767        (EnumConstants):
155768        (EnumConstants.get_enum_constant_code):
155769        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
155770        (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
155771        (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
155772        (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
155773        (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
155774        (get_in_c_type_text):
155775        (get_setter_value_expression_pattern):
155776        (PlainObjectBinding.get_in_c_type_text):
155777        (PlainObjectBinding.get_setter_value_expression_pattern):
155778        (RawTypesBinding.get_in_c_type_text):
155779        (RawTypesBinding.get_setter_value_expression_pattern):
155780        (get_annotated_type_text):
155781        (MethodGenerateModes.get_modes):
155782        (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
155783        (MethodGenerateModes.StrictParameterMode):
155784        (MethodGenerateModes.StrictParameterMode.get_setter_value_expression):
155785        (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
155786        (MethodGenerateModes.RawParameterMode):
155787        (MethodGenerateModes.RawParameterMode.get_setter_value_expression):
155788        (MethodGenerateModes.CombinedMode.get_c_param_type_text):
155789        (MethodGenerateModes):
155790        (MethodGenerateModes.CombinedMode):
155791        (MethodGenerateModes.CombinedMode.get_setter_value_expression):
155792
1557932012-01-11  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
155794
155795        Avoid separate heap allocation for each RenderRegionRange in RenderFlowThread
155796        https://bugs.webkit.org/show_bug.cgi?id=75908
155797
155798        Reviewed by Darin Adler.
155799
155800        There's no benefit in explicit allocating RenderRegionRange in the heap. So this
155801        patch changes the RenderRegionRangeMap to use the value type directly instead of
155802        the pointer.
155803
155804        * rendering/RenderFlowThread.cpp:
155805        (WebCore::RenderFlowThread::removeRegionFromThread):
155806        (WebCore::RenderFlowThread::layout):
155807        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
155808        (WebCore::RenderFlowThread::setRegionRangeForBox):
155809        (WebCore::RenderFlowThread::getRegionRangeForBox):
155810        * rendering/RenderFlowThread.h: add default constructor to act as emptyValue()
155811        for HashMap.
155812
1558132012-01-09  Alexandru Chiculita  <achicu@adobe.com>
155814
155815        [CSS Shaders] Move CustomFilterOperation to the platform layer
155816        https://bugs.webkit.org/show_bug.cgi?id=74652
155817
155818        Reviewed by Chris Marrin.
155819
155820        FilterOperations are now part of the platform code and cannot reference style classes directly, but
155821        CustomFilterOperation requires to link to the CachedShader for the vertex and the fragment shader.
155822        
155823        The fix is to introduce another object that will actually keep a link to the cached resources, so in this patch 
155824        I'm adding a new class called CustomFilterProgram that will sit in the
155825        platform/graphics/filters directory and will be referenced from CustomFilterOperation.
155826
155827        CustomFilterProgram is the base class of StyleCustomFilterProgram that is created from 
155828        CSSStyleSelector when a new CustomFilterOperation is created. StyleCustomFilterProgram is responsible
155829        with loading and keeping references to the StyleCachedShaders and the CachedShaders.
155830
155831        More patches will follow with optimizations about reusing 3D graphics contexts and compiled shaders.
155832
155833        Tests: css3/filters/custom-filter-shader-cache.html
155834               css3/filters/missing-custom-filter-shader.html
155835
155836        * CMakeLists.txt:
155837        * GNUmakefile.list.am:
155838        * Target.pri:
155839        * WebCore.gypi:
155840        * WebCore.vcproj/WebCore.vcproj:
155841        * WebCore.xcodeproj/project.pbxproj:
155842        * css/CSSComputedStyleDeclaration.cpp:
155843        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
155844        * css/CSSStyleSelector.cpp:
155845        (WebCore::CSSStyleSelector::loadPendingShaders):
155846        (WebCore::CSSStyleSelector::createCustomFilterOperation):
155847            Updated to use the StyleCustomFilterProgram instead of the CustomFilterOperation.
155848        
155849        * platform/graphics/filters/CustomFilterOperation.h: Renamed from Source/WebCore/rendering/style/CustomFilterOperation.h.
155850        (WebCore::CustomFilterOperation::create):
155851            Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
155852            
155853        (WebCore::CustomFilterOperation::program): Returns the CustomFilterProgram.
155854        
155855        (WebCore::CustomFilterOperation::CustomFilterOperation):
155856            Accepts a CustomFilterProgram instead of vertex and fragment CachedShaders.
155857            
155858        * platform/graphics/filters/CustomFilterProgram.cpp: Added.
155859        (WebCore::CustomFilterProgram::CustomFilterProgram):
155860        (WebCore::CustomFilterProgram::~CustomFilterProgram):
155861        (WebCore::CustomFilterProgram::addClient):
155862        (WebCore::CustomFilterProgram::removeClient):
155863        (WebCore::CustomFilterProgram::notifyClients):
155864        (WebCore::CustomFilterProgram::createShaderWithContext):
155865        * platform/graphics/filters/CustomFilterProgram.h: Added.
155866        * platform/graphics/filters/CustomFilterProgramClient.h: Added.
155867        (WebCore::CustomFilterProgramClient::~CustomFilterProgramClient):
155868        
155869        * platform/graphics/filters/FECustomFilter.cpp:
155870            FECustomFilter will not use strings anymore. It will just get a reference to the CustomFilterProgram.
155871        
155872        (WebCore::FECustomFilter::FECustomFilter):
155873        (WebCore::FECustomFilter::create):
155874        (WebCore::FECustomFilter::initializeContext):
155875            Using the CustomFilterProgram to generate the CustomFilterShader instance. A better name for CustomFilterShader
155876            would be CustomFilterCompiledProgram, but I would prefer to make that change in a different patch.
155877        
155878        * platform/graphics/filters/FECustomFilter.h:
155879        * rendering/FilterEffectRenderer.cpp:
155880        (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
155881        (WebCore::FilterEffectRenderer::build):
155882        (WebCore::FilterEffectRenderer::notifyCustomFilterProgramLoaded):
155883        (WebCore::FilterEffectRenderer::removeCustomFilterClients):
155884        * rendering/FilterEffectRenderer.h:
155885        * rendering/style/StyleCustomFilterProgram.h: Added.
155886        (WebCore::StyleCustomFilterProgram::create):
155887        (WebCore::StyleCustomFilterProgram::setVertexShader):
155888        (WebCore::StyleCustomFilterProgram::vertexShader):
155889        (WebCore::StyleCustomFilterProgram::setFragmentShader):
155890        (WebCore::StyleCustomFilterProgram::fragmentShader):
155891        (WebCore::StyleCustomFilterProgram::vertexShaderString):
155892        (WebCore::StyleCustomFilterProgram::fragmentShaderString):
155893        (WebCore::StyleCustomFilterProgram::isLoaded):
155894        (WebCore::StyleCustomFilterProgram::willHaveClients):
155895        (WebCore::StyleCustomFilterProgram::didRemoveLastClient):
155896        (WebCore::StyleCustomFilterProgram::notifyFinished):
155897        (WebCore::StyleCustomFilterProgram::StyleCustomFilterProgram):
155898
1558992012-01-11  Alexandru Chiculita  <achicu@adobe.com>
155900
155901        CSS Filters: apply the filters in RenderLayerBacking::paintIntoLayer when filters cannot be composited in hardware
155902        https://bugs.webkit.org/show_bug.cgi?id=75842
155903
155904        Reviewed by Simon Fraser.
155905
155906        RenderLayers have two possible states: composited or not. When composited the RenderLayerBacking::paintIntoLayer is used
155907        to render the result inside the graphics context of the GraphicsLayer. When not composited the RenderLayer::paintLayer method will draw
155908        the result in the graphics context of the parent layer. 
155909
155910        Because a recent patch forced creation of composited layers for filters, this patch makes RenderLayerBacking::paintIntoLayer aware
155911        that it might need to apply the filters when the composition engine failed to apply them in platform code.
155912
155913        No new tests needed, I've just updated some of the old tests to force disable the accelerated composition
155914        so that we can still test software painted filters.
155915
155916        * platform/graphics/GraphicsLayer.h:
155917        (WebCore::GraphicsLayer::clearFilters):
155918        * platform/graphics/ca/GraphicsLayerCA.cpp:
155919        (WebCore::GraphicsLayerCA::setFilters):
155920            If filtersCanBeComposited() is false we need to reset the CoreAnimation layer to remove any previously applied filter.
155921        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
155922        (PlatformCALayer::filtersCanBeComposited):
155923            Added grayscale, brightness and contrast in the list of not accelerated filters. Otherwise an assert if triggered.
155924        * rendering/FilterEffectRenderer.cpp:
155925        (WebCore::FilterEffectRenderer::updateBackingStore):
155926            Moved this method from RenderLayer::updateFilterBackingStore. It had no dependencies on RenderLayer.
155927        (WebCore::FilterEffectRendererHelper::beginFilterEffect):
155928        (WebCore::FilterEffectRendererHelper::applyFilterEffect):
155929            Consolidated the filter rendering inside this helper class that is now used in both RenderLayerBacking::paintIntoLayer and RenderLayer::paintLayer.
155930        * rendering/FilterEffectRenderer.h:
155931        (WebCore::FilterEffectRendererHelper::FilterEffectRendererHelper):
155932        (WebCore::FilterEffectRendererHelper::haveFilterEffect):
155933        (WebCore::FilterEffectRendererHelper::hasStartedFilterEffect):
155934        * rendering/RenderLayer.cpp:
155935        (WebCore::RenderLayer::paintLayer):
155936            Filters should apply after the opacity is applied, so I moved this down to paintLayerContents.
155937        (WebCore::RenderLayer::paintLayerContents):
155938        * rendering/RenderLayer.h:
155939        (WebCore::RenderLayer::filter):
155940        * rendering/RenderLayerBacking.cpp:
155941        (WebCore::RenderLayerBacking::paintIntoLayer):
155942            Added software fallback rendering of the filters on composited RenderLayers.
155943
1559442012-01-11  Jochen Eisinger  <jochen@chromium.org>
155945
155946        Move the check for canExecuteScripts out of V8Proxy::retrieve
155947        https://bugs.webkit.org/show_bug.cgi?id=75533
155948
155949        Reviewed by Adam Barth.
155950
155951        This change doesn't move the check to custom/generated bindings for
155952        individual objects, as these won't get executed if scripts are disabled
155953        anyway.
155954
155955        No new tests. No functional change.
155956
155957        * bindings/v8/PageScriptDebugServer.cpp:
155958        (WebCore::PageScriptDebugServer::addListener):
155959        * bindings/v8/ScheduledAction.cpp:
155960        (WebCore::ScheduledAction::execute):
155961        * bindings/v8/ScriptCachedFrameData.cpp:
155962        (WebCore::ScriptCachedFrameData::restore):
155963        * bindings/v8/V8DOMWrapper.cpp:
155964        (WebCore::V8DOMWrapper::instantiateV8Object):
155965        * bindings/v8/V8EventListener.cpp:
155966        (WebCore::V8EventListener::callListenerFunction):
155967        * bindings/v8/V8LazyEventListener.cpp:
155968        (WebCore::V8LazyEventListener::callListenerFunction):
155969        (WebCore::V8LazyEventListener::prepareListenerObject):
155970        * bindings/v8/V8Proxy.cpp:
155971        (WebCore::V8Proxy::handleOutOfMemory):
155972        (WebCore::V8Proxy::retrieve):
155973        (WebCore::toV8Context):
155974
1559752012-01-11  Kentaro Hara  <haraken@chromium.org>
155976
155977        ShouldSkipTypeInHeader() and ShouldSkipTypeInImplementation() should be the same
155978        https://bugs.webkit.org/show_bug.cgi?id=76030
155979
155980        Reviewed by Adam Barth.
155981
155982        Because the attributes/methods that do not appear in the implementation
155983        do not need to appear in the header.
155984
155985        Tests: bindings/scripts/test/TestCallback.idl
155986               bindings/scripts/test/TestObj.idl
155987
155988        * bindings/scripts/CodeGeneratorCPP.pm:
155989        (ShouldSkipType): Renamed from ShouldSkipTypeInImplementation().
155990        (GenerateHeader): Replaced ShouldSkipTypeInImplementation() with ShouldSkipType(),
155991        and replaced ShouldSkipTypeInHeader() with ShouldSkipType().
155992        (GenerateImplementation): Ditto.
155993        * bindings/scripts/test/CPP/WebDOMTestCallback.h: Updated the test result.
155994        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
155995
1559962012-01-11  Zoltan Herczeg  <zherczeg@webkit.org>
155997
155998        Fix more style errors in CSSParser.cpp (followup patch)
155999        https://bugs.webkit.org/show_bug.cgi?id=76038
156000
156001        Reviewed by Nikolas Zimmermann.
156002
156003        The previous was: http://trac.webkit.org/changeset/104576
156004        This patch mostly contains C cast to static_cast rewrites.
156005
156006        * css/CSSParser.cpp:
156007        (WebCore::CSSParser::parseValue):
156008        (WebCore::CSSParser::parseBackgroundColor):
156009        (WebCore::ShadowParseContext::commitLength):
156010        (WebCore::BorderImageSliceParseContext::commitNumber):
156011        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
156012        (WebCore::BorderImageQuadParseContext::commitNumber):
156013        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
156014        (WebCore::parseDeprecatedGradientPoint):
156015
1560162012-01-11  Nikolas Zimmermann  <nzimmermann@rim.com>
156017
156018        Not reviewed. Fix release builds.
156019
156020        * rendering/svg/SVGTextMetricsBuilder.cpp:
156021        (WebCore::SVGTextMetricsBuilder::measureTextRenderer):
156022
1560232012-01-11  Kentaro Hara  <haraken@chromium.org>
156024
156025        REGRESSION(r101445): [V8] Generated code for custom getters and setters
156026        with the [Supplemental] IDL is wrong
156027        https://bugs.webkit.org/show_bug.cgi?id=76034
156028
156029        Reviewed by Adam Barth.
156030
156031        This patch fixes the class name of the implementation of custom getters
156032        and setters, as follows.
156033
156034        Previous V8TestInterface.cpp:
156035            // Attribute 'supplementalStr3'
156036            {"supplementalStr3", V8TestSupplemental::supplementalStr3AccessorGetter, V8TestSupplemental::supplementalStr3AccessorSetter, ...},
156037
156038        New V8TestInterface.cpp:
156039            // Attribute 'supplementalStr3'
156040            {"supplementalStr3", V8TestInterface::supplementalStr3AccessorGetter, V8TestInterface::supplementalStr3AccessorSetter, ...},
156041
156042        Test: bindings/scripts/test/TestInterface.idl
156043              bindings/scripts/test/TestSupplemental.idl
156044
156045        * bindings/scripts/CodeGeneratorV8.pm:
156046        (GenerateSingleBatchedAttribute):
156047        * bindings/scripts/test/V8/V8TestInterface.cpp:
156048
1560492012-01-10  Nikolas Zimmermann  <nzimmermann@rim.com>
156050
156051        Large SVG text layout performance regression in r81168
156052        https://bugs.webkit.org/show_bug.cgi?id=65711
156053
156054        Reviewed by Zoltan Herczeg.
156055
156056        Introduce SVGTextMetricsBuilder, which will be used to speed-up measuring of SVG text,
156057        by using the simple code path, whenever possibly. It's not enabled yet, as it requires
156058        a restructurization of SVGTextLayoutAttributesBuilder - its the first chunk of a set
156059        of patches, that all together fix the performance regression and much more :-)
156060
156061        Doesn't affect any tests, SVGTextMetricsBuilder is not turned on yet.
156062
156063        * CMakeLists.txt: Add SVGTextMetricsBuilder.cpp/h to build.
156064        * GNUmakefile.list.am: Ditto.
156065        * Target.pri: Ditto.
156066        * WebCore.gypi: Ditto.
156067        * WebCore.vcproj/WebCore.vcproj: Ditto.
156068        * WebCore.xcodeproj/project.pbxproj: Ditto.
156069        * platform/graphics/Font.h:
156070        (WebCore::Font::codePath): Make it public, to be usable from SVGTextMetricsBuilder.
156071        * rendering/svg/RenderSVGAllInOne.cpp: Add SVGTextMetricsBuilder.cpp to build.
156072        * rendering/svg/RenderSVGText.cpp:
156073        * rendering/svg/RenderSVGText.h:
156074        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
156075        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes): SVGTextMetrics::emptyMetrics() is gone, adapt code.
156076        * rendering/svg/SVGTextLayoutEngine.cpp:
156077        (WebCore::SVGTextLayoutEngine::currentLogicalCharacterMetrics): Ditto.
156078        (WebCore::SVGTextLayoutEngine::layoutTextOnLineOrPath): Ditto.
156079        * rendering/svg/SVGTextMetrics.cpp:
156080        (WebCore::SVGTextMetrics::SVGTextMetrics): Made public, now used in SVGTextLayoutEngine.
156081        (WebCore::SVGTextMetrics::constructTextRun): Move to public static function, to be usable from SVGTextMetricsBuilder.
156082        * rendering/svg/SVGTextMetrics.h:
156083        (WebCore::SVGTextMetrics::isEmpty): Add new isEmpty method, which replaces the == empyMetrics().
156084        (WebCore::SVGTextMetrics::setWidth): Remove friendship with SVGTextLayoutAttributesBuilder, and make it public, to avoid another friendship.
156085        * rendering/svg/SVGTextMetricsBuilder.cpp: Added.
156086        (WebCore::SVGTextMetricsBuilder::SVGTextMetricsBuilder):
156087        (WebCore::SVGTextMetricsBuilder::advance):
156088        (WebCore::SVGTextMetricsBuilder::advanceSimpleText): New variant using WidthIterator directly, this is finally possible as SVG Fonts have been integrated into the glyph pages concept a while ago.
156089        (WebCore::SVGTextMetricsBuilder::advanceComplexText): Complex code path, accounting for sum of glyph widths != run width.
156090        (WebCore::SVGTextMetricsBuilder::measureTextRenderer): Either measure the text renderer, or just figure out lastCharacter.
156091        (WebCore::SVGTextMetricsBuilder::walkTreeUntilSpecificLeafIsReached): Walks SVG <text> tree, correctly computing "lastCharacter" until the leaf is reached.
156092        (WebCore::SVGTextMetricsBuilder::measureAllCharactersOfRenderer): Use above method.
156093        * rendering/svg/SVGTextMetricsBuilder.h: Added.
156094
1560952012-01-11  Dan Bernstein  <mitz@apple.com>
156096
156097        <rdar://problem/10674686> Implement the font-kerning CSS property
156098        https://bugs.webkit.org/show_bug.cgi?id=76033
156099
156100        Reviewed by Darin Adler.
156101
156102        Tests: fast/text/font-kerning-expected.html
156103               fast/text/font-kerning.html
156104
156105        * css/CSSComputedStyleDeclaration.cpp:
156106        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Added code to handle
156107        font-kerning.
156108        * css/CSSParser.cpp:
156109        (WebCore::CSSParser::parseValue): Ditto.
156110        * css/CSSPrimitiveValueMappings.h:
156111        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Added mapping from FontDescription::Kerning.
156112        (WebCore::CSSPrimitiveValue::operator FontDescription::Kerning): Added mapping to
156113        FontDescription::Kerning.
156114        * css/CSSProperty.cpp:
156115        (WebCore::CSSProperty::isInheritedProperty): Added font-kerning to the set of inherited
156116        properties.
156117        * css/CSSPropertyNames.in: Added -webkit-font-kerning.
156118        * css/CSSStyleApplyProperty.cpp:
156119        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Added a handler for font-kerning.
156120        * css/CSSStyleSelector.cpp:
156121        (WebCore::CSSStyleSelector::applyDeclaration): Updated for the number of properties that
156122        affect the font.
156123        * platform/graphics/Font.h:
156124        (WebCore::Font::typesettingFeatures): Changed to enable kerning if font-kerning is set to
156125        normal, disable it if font-kerning is set to none, and leave it to the default (determined
156126        by the text-rendering property) if font-kerning is set to auto.
156127        * platform/graphics/FontDescription.h:
156128        (WebCore::FontDescription::FontDescription): Added a Kerning enum.
156129        (WebCore::FontDescription::kerning): Added this getter.
156130        (WebCore::FontDescription::setKerning): Added this setter.
156131        (WebCore::FontDescription::operator==): Updated to compare the m_kerning member.
156132
1561332012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
156134
156135        Build fix. Forgot to revert Node.h.
156136
156137        * dom/Node.h:
156138
1561392012-01-10  Ryosuke Niwa  <rniwa@webkit.org>
156140
156141        Revert r104210. It turned out that this patch makes improving the node list caches harder.
156142
156143        * dom/Attr.cpp:
156144        (WebCore::Attr::setValue):
156145        (WebCore::Attr::childrenChanged):
156146        * dom/DynamicNodeList.cpp:
156147        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
156148        (WebCore::DynamicSubtreeNodeList::length):
156149        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
156150        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
156151        (WebCore::DynamicSubtreeNodeList::item):
156152        (WebCore::DynamicSubtreeNodeList::invalidateCache):
156153        (WebCore::DynamicSubtreeNodeList::Caches::create):
156154        (WebCore::DynamicSubtreeNodeList::Caches::reset):
156155        * dom/DynamicNodeList.h:
156156        * dom/Element.cpp:
156157        (WebCore::Element::updateAfterAttributeChanged):
156158        * dom/Node.cpp:
156159        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
156160        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
156161        (WebCore::Node::notifyLocalNodeListsLabelChanged):
156162        (WebCore::Node::itemTypeAttributeChanged):
156163        (WebCore::NodeListsNodeData::invalidateCaches):
156164        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
156165        * dom/NodeRareData.h:
156166        * html/HTMLElement.cpp:
156167        (WebCore::HTMLElement::parseMappedAttribute):
156168        * html/HTMLLabelElement.cpp:
156169        (WebCore::HTMLLabelElement::parseMappedAttribute):
156170        * html/HTMLLabelElement.h:
156171
1561722012-01-10  Sheriff Bot  <webkit.review.bot@gmail.com>
156173
156174        Unreviewed, rolling out r104263 and r104381.
156175        http://trac.webkit.org/changeset/104263
156176        http://trac.webkit.org/changeset/104381
156177        https://bugs.webkit.org/show_bug.cgi?id=76029
156178
156179        Preparation to rollout r104210 (Requested by rniwa on
156180        #webkit).
156181
156182        * dom/DynamicNodeList.cpp:
156183        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):
156184        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache):
156185        (WebCore::DynamicSubtreeNodeList::length):
156186        (WebCore::DynamicSubtreeNodeList::item):
156187        * dom/DynamicNodeList.h:
156188        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid):
156189        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid):
156190        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent):
156191
1561922012-01-10  David Kilzer  <ddkilzer@apple.com>
156193
156194        Add TestWebKitAPI tests for KURL
156195        <http://webkit.org/b/75774>
156196
156197        Reviewed by Adam Barth.
156198
156199        * WebCore.exp.in: Export additional KURL methods used in
156200        testing.
156201
1562022012-01-10  Jer Noble  <jer.noble@apple.com>
156203
156204        Crash in HTMLMediaElement::shouldDisableSleep()
156205        https://bugs.webkit.org/show_bug.cgi?id=76025
156206
156207        Reviewed by Dan Bernstein.
156208
156209        Check nullity of m_player before dereferencing.
156210
156211        * html/HTMLMediaElement.cpp:
156212        (WebCore::HTMLMediaElement::shouldDisableSleep):
156213
1562142012-01-04  Kent Tamura  <tkent@chromium.org>
156215
156216        A radio button not in a document should not join a radio button group
156217        https://bugs.webkit.org/show_bug.cgi?id=45719
156218
156219        Reviewed by Darin Adler.
156220
156221        As per the standard and other browser behaviors, we should not add a
156222        radio button not in a document to a radio button group.
156223
156224        So, CheckedRadioButton member functions should be called in
156225        insertedIntoDocument() and removedFromDocument(), and they should do
156226        nothing if the specified radio button is not in a document.
156227
156228        This change also fixes a bug that form owner change by 'form' attribute
156229        didn't update radio button groups correctly.
156230
156231        Test: fast/forms/radio/radio-group.html
156232
156233        * dom/CheckedRadioButtons.cpp:
156234        (WebCore::shouldMakeRadioGroup): A helper function to check <input> state.
156235        (WebCore::CheckedRadioButtons::addButton):
156236        - Change the argument type: HTMLFormControlElement* -> HTMLInputElement*.
156237        - Use shouldMakeRadioGroup().
156238        (WebCore::CheckedRadioButtons::removeButton): ditto.
156239        * dom/CheckedRadioButtons.h:
156240         Change the argument types of addButton() and removeButton():
156241         HTMLFormControlElement* -> HTMLInputElement*.
156242        * html/FormAssociatedElement.cpp:
156243         Do not update m_form except in setForm() and formWillBeDestroyed().
156244         This helps us to call registerFormElement() and removeFromElement()
156245         correctly, and call willChangeForm()/didChangeForm() hooks correctly.
156246        (WebCore::FormAssociatedElement::FormAssociatedElement):
156247        (WebCore::FormAssociatedElement::~FormAssociatedElement):
156248        (WebCore::FormAssociatedElement::insertedIntoTree):
156249        (WebCore::FormAssociatedElement::removedFromTree):
156250        (WebCore::FormAssociatedElement::setForm):
156251        (WebCore::FormAssociatedElement::willChangeForm):
156252        This virtual function is called before the owner form is updated.
156253        (WebCore::FormAssociatedElement::didChangeForm):
156254        This virtual function is called after the owner form was updated.
156255        (WebCore::FormAssociatedElement::formWillBeDestroyed):
156256        - Renamaed from formDestroyed()
156257        - Add calls to willChangeForm() and didChangeForm().
156258        (WebCore::FormAssociatedElement::resetFormOwner): Use setForm().
156259        (WebCore::FormAssociatedElement::formAttributeChanged): ditto.
156260        * html/FormAssociatedElement.h:
156261        * html/HTMLFormControlElement.cpp:
156262        (WebCore::HTMLFormControlElement::HTMLFormControlElement): Use setForm().
156263        (WebCore::HTMLFormControlElement::~HTMLFormControlElement):
156264        removeFormElement() is not needed. ~FormAssociatedElement() treats it.
156265        (WebCore::HTMLFormControlElement::parseMappedAttribute):
156266        No need to handle CheckedRadioButtons here. It is handled by HTMLInputElement.
156267        (WebCore::HTMLFormControlElement::insertedIntoTree): ditto.
156268        * html/HTMLFormElement.cpp:
156269        (WebCore::HTMLFormElement::~HTMLFormElement):
156270         Rename formDestroyed() with willDestroyForm().
156271        (WebCore::HTMLFormElement::registerFormElement):
156272        We don't need to handle radio button groups here.
156273        (WebCore::HTMLFormElement::removeFormElement): ditto.
156274        * html/HTMLInputElement.cpp:
156275        (WebCore::HTMLInputElement::~HTMLInputElement):
156276        Calls setForm(0) so that it calls correct virtual functions of
156277        HTMLInputElement.
156278        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
156279        Checking attached() was wrong.
156280        (WebCore::HTMLInputElement::willChangeForm):
156281        Remove this radio button from a radio button group for the old form.
156282        (WebCore::HTMLInputElement::didChangeForm):
156283        Add this radio button to a radio button group for the new form.
156284        (WebCore::HTMLInputElement::insertedIntoDocument):
156285        Add CheckedRadioButtons::addButton() call.
156286        (WebCore::HTMLInputElement::removedFromDocument):
156287        Add CheckedRadioButtons::removeButton() call.
156288        (WebCore::HTMLInputElement::didMoveToNewDocument):
156289        We don't need to handle CheckedRadioButton() here because
156290        removedFromDocument() handles it.
156291        * html/HTMLInputElement.h:
156292        * html/HTMLObjectElement.cpp:
156293        (WebCore::HTMLObjectElement::HTMLObjectElement): Use setForm().
156294        (WebCore::HTMLObjectElement::~HTMLObjectElement):
156295        removeFormElement() is not needed. ~FormAssociatedElement() treats it.
156296
1562972012-01-10  Kentaro Hara  <haraken@chromium.org>
156298
156299        Remove redundant code from DOMWindowSQLDatabase.cpp
156300        https://bugs.webkit.org/show_bug.cgi?id=76010
156301
156302        Reviewed by Adam Barth.
156303
156304        This patch removes redundant code from DOMWindowSQLDatabase.cpp.
156305
156306        - Remove window->frame() check, since window->frame() is always true when
156307          window->isCurrentlyDisplayedInFrame() is true.
156308        - window->frame()->document() can just be window->document()
156309
156310        Tests: storage/open-database-creation-callback-isolated-world.html
156311               storage/open-database-creation-callback.html
156312               storage/open-database-empty-version.html
156313               storage/open-database-over-quota.html
156314               storage/open-database-set-empty-version.html
156315               storage/open-database-while-transaction-in-progress.html
156316
156317        * storage/DOMWindowSQLDatabase.cpp:
156318        (WebCore::DOMWindowSQLDatabase::openDatabase):
156319
1563202012-01-10  Dale Curtis  <dalecurtis@chromium.org>
156321
156322        Repaint video controls when buffering during pause.
156323        https://bugs.webkit.org/show_bug.cgi?id=73957
156324
156325        Pipes support for a new bufferingProgressed() method on MediaControls
156326        elements. Allows controls to be repainted as data buffers when paused.
156327
156328        Reviewed by Hajime Morita.
156329
156330        Test: http/tests/media/video-buffering-repaints-controls.html
156331
156332        * html/HTMLMediaElement.cpp:
156333        (WebCore::HTMLMediaElement::setNetworkState):
156334        (WebCore::HTMLMediaElement::progressEventTimerFired):
156335        * html/shadow/MediaControlRootElement.cpp:
156336        (WebCore::MediaControlRootElement::bufferingProgressed):
156337        * html/shadow/MediaControlRootElement.h:
156338        * html/shadow/MediaControlRootElementChromium.cpp:
156339        (WebCore::MediaControlRootElementChromium::bufferingProgressed):
156340        * html/shadow/MediaControlRootElementChromium.h:
156341        * html/shadow/MediaControls.h:
156342
1563432012-01-10  Daniel Cheng  <dcheng@chromium.org>
156344
156345        [chromium] Pasteboard::documentFragment should fall back to text if there's no HTML text
156346        https://bugs.webkit.org/show_bug.cgi?id=75923
156347
156348        Reviewed by Tony Chang.
156349
156350        Test: editing/pasteboard/pasting-empty-html-falls-back-to-text.html
156351
156352        * platform/chromium/PasteboardChromium.cpp:
156353        (WebCore::Pasteboard::documentFragment):
156354
1563552012-01-10  Kentaro Hara  <haraken@chromium.org>
156356
156357        Use the [Supplemental] IDL in SQLDatabase
156358        https://bugs.webkit.org/show_bug.cgi?id=76004
156359
156360        Reviewed by Adam Barth.
156361
156362        We've been working on WebKit modularization. By using the [Supplemental] IDL,
156363        we can move SQLDatabase related code from WebCore/page/DOMWindow.{h,cpp,idl}
156364        to WebCore/storage/DOMWindowSQLDatabase.{h,cpp,idl}.
156365
156366        Tests: storage/open-database-creation-callback-isolated-world.html
156367               storage/open-database-creation-callback.html
156368               storage/open-database-empty-version.html
156369               storage/open-database-over-quota.html
156370               storage/open-database-set-empty-version.html
156371               storage/open-database-while-transaction-in-progress.html
156372
156373        * CMakeLists.txt: Added DOMWindowSQLDatabase.{idl,h,cpp} to the build script.
156374        * DerivedSources.make: Ditto.
156375        * DerivedSources.pri: Ditto.
156376        * GNUmakefile.list.am: Ditto.
156377        * Target.pri: Ditto.
156378        * WebCore.gypi: Ditto.
156379        * WebCore.vcproj/WebCore.vcproj: Ditto.
156380        * WebCore.xcodeproj/project.pbxproj: Ditto.
156381
156382        * page/DOMWindow.cpp: Removed SQLDatabase related code.
156383        * page/DOMWindow.idl: Ditto.
156384        * page/DOMWindow.h: Ditto. Moved isCurrentlyDisplayedInFrame() from private: to public:
156385        so that DOMWindowSQLDatabase::openDatabase() can access it.
156386
156387        * storage/DOMWindowSQLDatabase.cpp: Added. Moved openDatabase() from DOMWindow.cpp to here.
156388        (WebCore::DOMWindowSQLDatabase::openDatabase):
156389        * storage/DOMWindowSQLDatabase.h: Added. Moved openDatabase() from DOMWindow.h to here.
156390        * storage/DOMWindowSQLDatabase.idl: Added. Using the [Supplemental] IDL, moved openDatabase()
156391        and SQLException from DOMWindow.idl to here.
156392
1563932012-01-10  Chris Marrin  <cmarrin@apple.com>
156394
156395        CIFilter version of Sepia Tone filter doesn't match software
156396        https://bugs.webkit.org/show_bug.cgi?id=75129
156397
156398        Reviewed by Simon Fraser.
156399
156400        Changed sepia tone filter to use a CIColorMatrix filter with
156401        values that match sw filter.
156402
156403        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
156404        (interp):
156405        (PlatformCALayer::setFilters):
156406
1564072012-01-10  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
156408
156409        [Qt][WK2]REGRESSION(r102435): It made tst_QQuickWebView::show() crash
156410        https://bugs.webkit.org/show_bug.cgi?id=74176
156411
156412        Reviewed by Noam Rosenthal.
156413
156414        Replaces static global GL resource holder with holder shared between
156415        TextureMapperGL instances created on the same GL context. Also adds
156416        deallocation of GL resources when last TextureMapperGL instance on the 
156417        current GL context gets deleted.
156418
156419        Tested by multipleWebViewWindows and multipleWebViews Qt WK2 API tests.
156420
156421        * platform/graphics/opengl/TextureMapperGL.cpp:
156422        (WebCore::TextureMapperGLData::SharedGLData::getCurrentGLContext):
156423        (WebCore::TextureMapperGLData::SharedGLData::glContextDataMap):
156424        (WebCore::TextureMapperGLData::SharedGLData::currentSharedGLData):
156425        (WebCore::TextureMapperGLData::SharedGLData::ProgramInfo::ProgramInfo):
156426        (WebCore::TextureMapperGLData::SharedGLData::createShaderProgram):
156427        (WebCore::TextureMapperGLData::SharedGLData::deleteShaderProgram):
156428        (WebCore::TextureMapperGLData::SharedGLData::SharedGLData):
156429        (WebCore::TextureMapperGLData::SharedGLData::~SharedGLData):
156430        (WebCore::TextureMapperGLData::sharedGLData):
156431        (WebCore::TextureMapperGLData::TextureMapperGLData):
156432        (WebCore::TextureMapperGLData::SharedGLData::initializeShaders):
156433        (WebCore::TextureMapperGL::beginPainting):
156434        (WebCore::TextureMapperGL::drawTexture):
156435        (WebCore::BitmapTextureGL::bind):
156436        (WebCore::TextureMapperGL::bindSurface):
156437        (WebCore::TextureMapperGL::beginClip):
156438        (WebCore::TextureMapperGL::endClip):
156439        * platform/graphics/opengl/TextureMapperGL.h:
156440
1564412012-01-10  Simon Fraser  <simon.fraser@apple.com>
156442
156443        Disabled mock scrollbars should draw differently
156444        https://bugs.webkit.org/show_bug.cgi?id=75995
156445
156446        Reviewed by James Robinson.
156447        
156448        When the scrollbar is disabled, paint the entire track of
156449        mock scrollbars with a lighter gray, and hide the thumb.
156450
156451        No tests, since mock scrollbars aren't enabled by default on Mac yet.
156452
156453        * platform/mock/ScrollbarThemeMock.cpp:
156454        (WebCore::ScrollbarThemeMock::paintTrackBackground):
156455        (WebCore::ScrollbarThemeMock::paintThumb):
156456
1564572012-01-10  Tony Chang  <tony@chromium.org>
156458
156459        Need to handle absolutely positioned elements inside flexboxes
156460        https://bugs.webkit.org/show_bug.cgi?id=70793
156461
156462        Reviewed by David Hyatt.
156463
156464        Tests: css3/flexbox/insert-text-crash.html
156465               css3/flexbox/position-absolute-child.html
156466
156467        * rendering/RenderFlexibleBox.cpp:
156468        (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent): Skip the size of positioned elements.
156469        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm): Add placeholders for positioned elements.
156470        (WebCore::RenderFlexibleBox::prepareChildForPositionedLayout): Positions the layer for the positioned child.
156471        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Handle positioned elements.
156472        (WebCore::RenderFlexibleBox::layoutColumnReverse): Adjust the main axis offset of the layer for positioned elements.
156473        * rendering/RenderFlexibleBox.h:
156474
1564752012-01-10  Nat Duca  <nduca@chromium.org>
156476
156477        [chromium] Reuse old timebase when activating CCDelayBasedTimeSource
156478        https://bugs.webkit.org/show_bug.cgi?id=75938
156479
156480        Reviewed by James Robinson.
156481
156482        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
156483        (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
156484        (WebCore::CCDelayBasedTimeSource::setActive):
156485        (WebCore::CCDelayBasedTimeSource::onTimerFired):
156486        (WebCore::CCDelayBasedTimeSource::postNextTickTask):
156487        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
156488
1564892012-01-10  Kentaro Hara  <haraken@chromium.org>
156490
156491        Support the [Supplemental] IDL on methods
156492        https://bugs.webkit.org/show_bug.cgi?id=75944
156493
156494        Reviewed by Adam Barth.
156495
156496        The spec for the [Supplemental] IDL:
156497        http://dev.w3.org/2006/webapi/WebIDL/#dfn-supplemental-interface
156498
156499        Currently the [Supplemental] IDL is supported on attributes but not supported
156500        on methods. This patch makes a change to support it.
156501
156502        Specifically, assume the following IDL:
156503
156504            interface [Supplemental=X] Y {
156505                void func();
156506            }
156507
156508        Then the code generator generates the following V8X.cpp.
156509
156510            void funcCallback(Arguments& args) {
156511                X* imp = V8X::toNative(args.Holder());
156512                Y::func(imp);
156513            }
156514
156515        Similar code is also generated for JS, ObjC, GObject and CPP bindings.
156516
156517        Test: bindings/scripts/test/TestSupplemental.idl
156518
156519        * bindings/scripts/CodeGeneratorCPP.pm: Modified as described above.
156520        (GenerateImplementation):
156521        * bindings/scripts/CodeGeneratorGObject.pm: Ditto.
156522        (GenerateFunction):
156523        * bindings/scripts/CodeGeneratorJS.pm: Ditto.
156524        (GenerateParametersCheck):
156525        * bindings/scripts/CodeGeneratorObjC.pm: Ditto.
156526        (GenerateImplementation):
156527        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
156528        (GenerateFunctionCallString):
156529        * bindings/scripts/generate-bindings.pl: Ditto.
156530
156531        * bindings/scripts/test/TestSupplemental.idl: Added test cases for [Supplemental] methods.
156532
156533        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated the test result.
156534        (WebDOMTestInterface::supplementalMethod1):
156535        (WebDOMTestInterface::supplementalMethod2):
156536        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
156537        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
156538        (webkit_dom_test_interface_supplemental_method1):
156539        (webkit_dom_test_interface_supplemental_method2):
156540        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
156541        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
156542        (WebCore::JSTestInterfacePrototype::getOwnPropertySlot):
156543        (WebCore::JSTestInterfacePrototype::getOwnPropertyDescriptor):
156544        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod1):
156545        (WebCore::jsTestInterfacePrototypeFunctionSupplementalMethod2):
156546        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
156547        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
156548        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
156549        (-[DOMTestInterface supplementalMethod1]):
156550        (-[DOMTestInterface supplementalMethod2:objArg:]):
156551        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
156552        (WebCore::TestInterfaceInternal::supplementalMethod1Callback):
156553        (WebCore::TestInterfaceInternal::supplementalMethod2Callback):
156554        (WebCore::ConfigureV8TestInterfaceTemplate):
156555
1565562012-01-10  Kentaro Hara  <haraken@chromium.org>
156557
156558        [Refactoring] Rename attributes in TestSupplemental.idl to clarify
156559        that they are supplemental attributes
156560        https://bugs.webkit.org/show_bug.cgi?id=75942
156561
156562        Reviewed by Adam Barth.
156563
156564        This patch just renames attributes in TestSupplemental.idl
156565        to make it easy to find in {JS,V8,WebKitDOM,DOM,WebDOM}TestInterface.cpp
156566        which attributes originate from TestSupplemental.idl.
156567
156568        * bindings/scripts/test/TestSupplemental.idl: Just renamed three attributes.
156569
156570        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated the test result.
156571        (WebDOMTestInterface::supplementalStr1):
156572        (WebDOMTestInterface::supplementalStr2):
156573        (WebDOMTestInterface::setSupplementalStr2):
156574        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
156575        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
156576        (webkit_dom_test_interface_get_supplemental_str1):
156577        (webkit_dom_test_interface_get_supplemental_str2):
156578        (webkit_dom_test_interface_set_supplemental_str2):
156579        (webkit_dom_test_interface_set_property):
156580        (webkit_dom_test_interface_get_property):
156581        (webkit_dom_test_interface_class_init):
156582        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
156583        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
156584        (WebCore::jsTestInterfaceSupplementalStr1):
156585        (WebCore::jsTestInterfaceSupplementalStr2):
156586        (WebCore::jsTestInterface):
156587        (WebCore::setJSTestInterfaceSupplementalStr2):
156588        (WebCore::setJSTestInterface):
156589        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
156590        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
156591        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
156592        (-[DOMTestInterface supplementalStr1]):
156593        (-[DOMTestInterface supplementalStr2]):
156594        (-[DOMTestInterface setSupplementalStr2:]):
156595        (-[DOMTestInterface ]):
156596        (-[DOMTestInterface set:]):
156597        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
156598        (WebCore::TestInterfaceInternal::supplementalStr1AttrGetter):
156599        (WebCore::TestInterfaceInternal::supplementalStr2AttrGetter):
156600        (WebCore::TestInterfaceInternal::supplementalStr2AttrSetter):
156601
1566022012-01-10  John Bauman  <jbauman@chromium.org>
156603
156604        [chromium] Correctly recreate DrawingBuffer on lost device
156605        https://bugs.webkit.org/show_bug.cgi?id=75912
156606
156607        Reviewed by Kenneth Russell.
156608
156609        Create new drawing buffer on new context, not old lost context. Also,
156610        make sure to bind new drawing buffer.
156611
156612        No new tests.
156613
156614        * html/canvas/WebGLRenderingContext.cpp:
156615        (WebCore::WebGLRenderingContext::maybeRestoreContext):
156616
1566172012-01-10  Stephen White  <senorblanco@chromium.org>
156618
156619        [Chromium] Partial revert of r104566, since it breaks the shared
156620        library build on Windows.
156621        https://bugs.webkit.org/show_bug.cgi?id=75994
156622
156623        Reviewed by Dmitry Titov.
156624
156625        Covered by SVG feColorMatrix tests (see LayoutTests/ChangeLog).
156626
156627        * WebCore.gypi:
156628        * platform/graphics/filters/FEColorMatrix.h:
156629
1566302012-01-10  Simon Fraser  <simon.fraser@apple.com>
156631
156632        Clean up RenderLayerBacking code that looks for the body
156633        https://bugs.webkit.org/show_bug.cgi?id=39502
156634
156635        Reviewed by Dave Hyatt.
156636        
156637        Consolidate code that propagates the <body> background to the
156638        root, adding a utility method on RenderObject that is called
156639        by RenderBox and RenderLayerBacking.
156640        
156641        Removed an unused method in RenderLayerBacking.
156642        
156643        The compositiong changes are not testable, since rendererBackgroundColor()
156644        is only used by fullscreen at present.
156645
156646        Tests: fast/backgrounds/root-background-propagation.html
156647               fast/backgrounds/root-background-propagation2.html
156648
156649        * rendering/RenderBox.cpp:
156650        (WebCore::RenderBox::paintRootBoxFillLayers):
156651        * rendering/RenderLayerBacking.cpp:
156652        (WebCore::RenderLayerBacking::rendererBackgroundColor):
156653        * rendering/RenderLayerBacking.h:
156654        * rendering/RenderObject.cpp:
156655        (WebCore::RenderObject::rendererForRootBackground):
156656        * rendering/RenderObject.h:
156657
1566582012-01-10  Dana Jansens  <danakj@chromium.org>
156659
156660        [chromium] Create iterators for the RenderSurface-Layer tree
156661        https://bugs.webkit.org/show_bug.cgi?id=74203
156662
156663        Reviewed by James Robinson.
156664
156665        New unit tests: CCLayerIteratorTest.cpp
156666
156667        * WebCore.gypi:
156668        * platform/graphics/chromium/RenderSurfaceChromium.h:
156669        * platform/graphics/chromium/cc/CCLayerIterator.cpp: Added.
156670        (WebCore::CCLayerIteratorActions::BackToFront::begin):
156671        (WebCore::CCLayerIteratorActions::BackToFront::end):
156672        (WebCore::CCLayerIteratorActions::BackToFront::next):
156673        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
156674        (WebCore::CCLayerIteratorActions::FrontToBack::end):
156675        (WebCore::CCLayerIteratorActions::FrontToBack::next):
156676        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
156677        * platform/graphics/chromium/cc/CCLayerIterator.h: Added.
156678        (WebCore::CCLayerIterator::CCLayerIterator):
156679        (WebCore::CCLayerIterator::begin):
156680        (WebCore::CCLayerIterator::end):
156681        (WebCore::CCLayerIterator::operator++):
156682        (WebCore::CCLayerIterator::operator==):
156683        (WebCore::CCLayerIterator::operator!=):
156684        (WebCore::CCLayerIterator::operator->):
156685        (WebCore::CCLayerIterator::operator*):
156686        (WebCore::CCLayerIterator::representsTargetRenderSurface):
156687        (WebCore::CCLayerIterator::representsContributingRenderSurface):
156688        (WebCore::CCLayerIterator::representsItself):
156689        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
156690        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
156691        (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
156692        (WebCore::CCLayerIteratorPosition::currentLayer):
156693        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
156694        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
156695        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
156696        (WebCore::CCLayerIteratorPosition::targetRenderSurface):
156697        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
156698        (WebCore::CCLayerIteratorPosition::operator==):
156699        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
156700        (WebCore::CCLayerTreeHost::paintLayerContents):
156701        (WebCore::CCLayerTreeHost::updateCompositorResources):
156702        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
156703        (WebCore::walkLayersAndCalculateVisibleLayerRects):
156704        * platform/graphics/chromium/cc/CCRenderSurface.h:
156705
1567062012-01-10  Ojan Vafai  <ojan@chromium.org>
156707
156708        Rename flex-align to flex-item-align.
156709        https://bugs.webkit.org/show_bug.cgi?id=75929
156710
156711        Reviewed by Darin Adler.
156712
156713        The spec has changed and now flex-align will be set on
156714        the flexbox itself.
156715
156716        * css/CSSComputedStyleDeclaration.cpp:
156717        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
156718        * css/CSSParser.cpp:
156719        (WebCore::CSSParser::parseValue):
156720        * css/CSSPrimitiveValueMappings.h:
156721        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
156722        (WebCore::CSSPrimitiveValue::operator EFlexAlign):
156723        * css/CSSProperty.cpp:
156724        (WebCore::CSSProperty::isInheritedProperty):
156725        * css/CSSPropertyNames.in:
156726        * css/CSSStyleApplyProperty.cpp:
156727        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
156728        * css/CSSStyleSelector.cpp:
156729        (WebCore::CSSStyleSelector::applyProperty):
156730        * rendering/RenderBox.cpp:
156731        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
156732        * rendering/RenderFlexibleBox.cpp:
156733        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
156734        (WebCore::RenderFlexibleBox::alignChildren):
156735        * rendering/style/RenderStyle.h:
156736        (WebCore::RenderStyleBitfields::flexItemAlign):
156737        (WebCore::RenderStyleBitfields::setFlexItemAlign):
156738        (WebCore::RenderStyleBitfields::initialFlexItemAlign):
156739        * rendering/style/RenderStyleConstants.h:
156740        * rendering/style/StyleFlexibleBoxData.cpp:
156741        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
156742        (WebCore::StyleFlexibleBoxData::operator==):
156743        * rendering/style/StyleFlexibleBoxData.h:
156744
1567452012-01-10  Eric Carlson  <eric.carlson@apple.com>
156746
156747        Replace TextTrackCue "getCueAsSource" method with "text" attribute
156748        https://bugs.webkit.org/show_bug.cgi?id=75646
156749
156750        Reviewed by Darin Adler.
156751
156752        Test: media/track/track-cue-mutable-text.html
156753
156754        * html/HTMLMediaElement.h: getCueAsSource() -> text().
156755
156756        * html/TextTrackCue.cpp:
156757        (WebCore::TextTrackCue::setText): New. Set cue text and clear the document fragment.
156758        (WebCore::TextTrackCue::getCueAsHTML): Allocate the document fragment if it doesn't exist.
156759        * html/TextTrackCue.h:
156760        (WebCore::TextTrackCue::text):
156761        * html/TextTrackCue.idl: getCueAsSource() -> text().
156762
156763        * html/shadow/MediaControlRootElement.cpp:
156764        (WebCore::MediaControlRootElement::updateTextTrackDisplay): getCueAsSource() -> text().
156765        * html/shadow/MediaControlRootElementChromium.cpp:
156766        (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay): getCueAsSource() -> text().
156767
156768        * html/track/WebVTTParser.cpp:
156769        (WebCore::WebVTTParser::collectCueText): processCueText is dead, long live createNewCue.
156770        (WebCore::WebVTTParser::createDocumentFragmentFromCueText): New, split out of processCueText.
156771            Create a document fragment from the String argument.
156772        (WebCore::WebVTTParser::createNewCue): Split out of processCueText.
156773        (WebCore::WebVTTParser::constructTreeFromToken): Add a comment pointing to the spec section
156774            with the rules for DOM construction.
156775        * html/track/WebVTTParser.h:
156776
1567772012-01-10  Jer Noble  <jer.noble@apple.com>
156778
156779        REGRESSION (r102024): Having the Bing homepage open prevents idle sleep
156780        https://bugs.webkit.org/show_bug.cgi?id=75972
156781
156782        Reviewed by Oliver Hunt.
156783
156784        No new tests; no testing infrastructure exists to test display sleep assertions.
156785
156786        Only disable idle and display sleep when a video element is not paused, not looping, and
156787        has both a video and audio track.
156788
156789        * html/HTMLMediaElement.cpp:
156790        (WebCore::HTMLMediaElement::mediaPlayerRateChanged): Factor into updateDisableSleep() and
156791            shouldDisplaySleep().
156792        (WebCore::HTMLMediaElement::setLoop): Ditto.
156793        (WebCore::HTMLMediaElement::attributeChanged): Ditto.
156794        (WebCore::HTMLMediaElement::updateDisableSleep):
156795        (WebCore::HTMLMediaElement::shouldDisableSleep):
156796        * html/HTMLMediaElement.h:
156797
1567982012-01-09  Matthew Delaney  <mdelaney@apple.com>
156799
156800        [Mac] Accelerate canvas layers with the same logic as accelerating the canvas itself
156801        https://bugs.webkit.org/show_bug.cgi?id=75921
156802
156803        Reviewed by Simon Fraser.
156804
156805        No new tests. Does not affect detectable behavior.
156806
156807        * rendering/RenderLayerCompositor.cpp: Use canvas's shouldAccelerate to avoid asking
156808        uninitialized canvas's if they're accelerated or not.
156809        (WebCore::RenderLayerCompositor::updateBacking):
156810
1568112012-01-10  Daniel Sievers  <sievers@chromium.org>
156812
156813        [Chromium] Do not recreate texture updater for image layer if one exists.
156814        https://bugs.webkit.org/show_bug.cgi?id=75589
156815
156816        Reviewed by James Robinson.
156817
156818        Test: platform/chromium/compositing/img-layer-grow.html
156819
156820        * platform/graphics/chromium/ImageLayerChromium.cpp:
156821        (WebCore::ImageLayerChromium::createTextureUpdater):
156822
1568232012-01-10  Mike Reed  <reed@google.com>
156824
156825        [skia] not all convex paths are convex, so recompute convexity for the problematic ones
156826        https://bugs.webkit.org/show_bug.cgi?id=75960
156827
156828        Reviewed by Stephen White.
156829
156830        No new tests.
156831        See related chrome issue
156832        http://code.google.com/p/chromium/issues/detail?id=108605
156833
156834        * platform/graphics/skia/GraphicsContextSkia.cpp:
156835        (WebCore::setPathFromConvexPoints):
156836
1568372012-01-10  Gavin Barraclough  <barraclough@apple.com>
156838
156839        Do not allow Array length to be set if it is non-configurable
156840        https://bugs.webkit.org/show_bug.cgi?id=75935
156841
156842        Reviewed by Sam Weinig.
156843
156844        * bindings/js/SerializedScriptValue.cpp:
156845        (WebCore::CloneDeserializer::deserialize):
156846            - remove unnecessary call to JSArray::setLength.
156847
1568482012-01-10  Adrienne Walker  <enne@google.com>
156849
156850        [chromium] Draw debug tile borders on composited layers
156851        https://bugs.webkit.org/show_bug.cgi?id=75680
156852
156853        Reviewed by James Robinson.
156854
156855        On tiled layers, draw debug borders on the tiles themselves. By
156856        default, these are one pixel wide and transparent, so should be
156857        unobtrusive but informative. They are triggered when the layer itself
156858        would have a debug border via the existing flags.
156859
156860        Also, fix the drawDebugBorderQuad function to handle arbitrarily
156861        positioned quads, not just full layer quads. Also, fix alpha issue
156862        with debug borders.
156863
156864        * platform/graphics/chromium/LayerRendererChromium.cpp:
156865        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
156866        * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp:
156867        (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
156868        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
156869        (WebCore::CCLayerImpl::appendDebugBorderQuad):
156870        (WebCore::CCLayerImpl::quadTransform):
156871        (WebCore::CCLayerImpl::hasDebugBorders):
156872        * platform/graphics/chromium/cc/CCLayerImpl.h:
156873        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
156874        (WebCore::CCTiledLayerImpl::appendQuads):
156875
1568762012-01-10  Joseph Pecoraro  <pecoraro@apple.com>
156877
156878        Web Inspector: Missing Implementation of Public InspectorDOMAgent Function
156879        https://bugs.webkit.org/show_bug.cgi?id=75759
156880
156881        Follow-up: Remove the unused method. Keep the setter private.
156882
156883        Reviewed by Pavel Feldman.
156884
156885        * inspector/InspectorDOMAgent.cpp:
156886        * inspector/InspectorDOMAgent.h:
156887
1568882012-01-10  Pavel Feldman  <pfeldman@google.com>
156889
156890        Not reviewed, follow up to r104586: fix assertion within the loop.
156891
156892        * inspector/DOMEditor.cpp:
156893        (WebCore::DOMEditor::patchChildren):
156894
1568952012-01-10  Brady Eidson  <beidson@apple.com>
156896
156897        <rdar://problem/9328684> and https://bugs.webkit.org/show_bug.cgi?id=62764
156898        Frequent crashes due to null frame below ApplicationCacheHost::scheduleLoadFallbackResourceFromApplicationCache
156899 
156900        Reviewed by Maciej Stachowiak.
156901
156902        This is a non-reproducible high volume crash, so no test :(. 
156903
156904        * loader/DocumentLoader.cpp:
156905        (WebCore::DocumentLoader::stopLoading): Don't re-run actual "stop loading" logic if the document loader is already
156906          stopping loading. Also add an ASSERT that might catch cases where new loads may have been started while old loads
156907          were being stopped.
156908        (WebCore::DocumentLoader::detachFromFrame): Be conservative and stop loading when we detach a document loader from a frame. 
156909
1569102012-01-10  Pavel Feldman  <pfeldman@google.com>
156911
156912        Not reviewed: fixing the Mac build.
156913
156914        * inspector/DOMEditor.cpp:
156915        (WebCore::DOMEditor::patchChildren):
156916
1569172012-01-09  Jer Noble  <jer.noble@apple.com>
156918
156919        Elements can appear over fullscreen video
156920        https://bugs.webkit.org/show_bug.cgi?id=75913
156921
156922        Reviewed by Simon Fraser.
156923
156924        No new tests; updated fullscreen/full-screen-zIndex.html to trigger error condition.
156925
156926        RenderFullScreenPlaceholder inherits the pre-fullscreen element's style, causing a stacking
156927        context to be created.  Instead of making the placeholder the parent of the RenderFullScreen
156928        object, make the two renderers siblings.  Then the stacking context created by the placeholder
156929        will not affect the z-ordering of the RenderFullScreen.
156930
156931        * rendering/RenderFullScreen.cpp:
156932        (RenderFullScreen::wrapRenderer):
156933        (RenderFullScreen::unwrapRenderer):
156934        (RenderFullScreen::createPlaceholder):
156935
1569362012-01-10  Pavel Feldman  <pfeldman@google.com>
156937
156938        Web Inspector: add "free flow DOM editing" experiment.
156939        https://bugs.webkit.org/show_bug.cgi?id=75955
156940
156941        This change enables HTML editing from Resources panel experiment.
156942
156943        Reviewed by Yury Semikhatsky.
156944
156945        * CMakeLists.txt:
156946        * English.lproj/localizedStrings.js:
156947        * GNUmakefile.list.am:
156948        * Target.pri:
156949        * WebCore.gypi:
156950        * WebCore.vcproj/WebCore.vcproj:
156951        * WebCore.xcodeproj/project.pbxproj:
156952        * inspector/DOMEditor.cpp: Added.
156953        (WebCore::DOMEditor::DOMEditor):
156954        (WebCore::DOMEditor::~DOMEditor):
156955        (WebCore::DOMEditor::patch):
156956        (WebCore::DOMEditor::NodeDigest::NodeDigest):
156957        (WebCore::DOMEditor::patchElement):
156958        (WebCore::DOMEditor::patchNode):
156959        (WebCore::DOMEditor::patchChildren):
156960        (WebCore::addStringToSHA1):
156961        (WebCore::DOMEditor::createNodeDigest):
156962        * inspector/DOMEditor.h: Added.
156963        * inspector/InspectorDOMAgent.cpp:
156964        (WebCore::InspectorDOMAgent::setOuterHTML):
156965        * inspector/front-end/DOMAgent.js:
156966        (WebInspector.DOMAgent):
156967        (WebInspector.DOMModelResourceBinding):
156968        (WebInspector.DOMModelResourceBinding.prototype.setContent):
156969        (WebInspector.DOMModelResourceBinding.prototype.canSetContent):
156970        * inspector/front-end/Settings.js:
156971        (WebInspector.ExperimentsSettings):
156972
1569732012-01-10  Stephen Chenney  <schenney@chromium.org>
156974
156975        [Chromium] Shift PathSkia to use Skia's new RawIter
156976        https://bugs.webkit.org/show_bug.cgi?id=75703
156977
156978        Reviewed by Nikolas Zimmermann.
156979
156980        No new tests required - covered by existing tests.
156981
156982        * platform/graphics/Path.h: Added comments ont he return values from iteration.
156983        * platform/graphics/skia/PathSkia.cpp:
156984        (WebCore::Path::apply): Switched to SkPath::RawIter
156985
1569862012-01-10  Peter Beverloo  <peter@chromium.org>
156987
156988        [Chromium] Use SkFontHost::GetUnitsPerEm instead of advanced type
156989        metrics for Android in FontPlatformData
156990        https://bugs.webkit.org/show_bug.cgi?id=75702
156991
156992        Reviewed by Stephen White.
156993
156994        Since Skia for Android doesn't implement advanced type metric routines,
156995        use an alternative method to calculate the number of font units for an
156996        em size. This will be exercized by existing layout tests, as it's being
156997        used by the ComplexTextController.
156998
156999        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp:
157000        (WebCore::FontPlatformData::emSizeInFontUnits):
157001
1570022012-01-10  Vsevolod Vlasov  <vsevik@chromium.org>
157003
157004        Unreviewed, inspector style fix.
157005
157006        Web Inspector: elements tree is shifted 12px to the right.
157007        https://bugs.webkit.org/show_bug.cgi?id=75609
157008
157009        * inspector/front-end/elementsPanel.css:
157010        (#elements-content):
157011
1570122012-01-10  Zoltan Herczeg  <zherczeg@webkit.org>
157013
157014        Fix style errors in CSSParser.cpp
157015        https://bugs.webkit.org/show_bug.cgi?id=75854
157016
157017        Reviewed by Nikolas Zimmermann.
157018
157019        Minor style fixes.
157020
157021        * css/CSSParser.cpp:
157022        (WebCore::CSSParser::parseValue):
157023        (WebCore::CSSParser::parseShadow):
157024        (WebCore::isBorderImageRepeatKeyword):
157025        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
157026        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
157027        (WebCore::filterInfoForName):
157028
1570292012-01-10  Julien Chaffraix  <jchaffraix@webkit.org>
157030
157031        REGRESSION (r93614): Safari Reader doesn't repaint correctly when scrolling
157032        https://bugs.webkit.org/show_bug.cgi?id=67100
157033
157034        Reviewed by Dan Bernstein.
157035
157036        Tests: fast/layers/scroll-with-transform-composited-layer.html
157037               fast/layers/scroll-with-transform-layer.html
157038
157039        The regression came from a previous optimization that was wrongly kept after r93614.
157040
157041        * rendering/RenderLayer.cpp:
157042        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
157043        Remove the early return for transformed layer. This change worked as we used
157044        to call updateLayerPositions from scrollTo which would call updateLayerPosition on
157045        all our descendants. After r93614, this is no longer the case and we explicitely need
157046        to call updateLayerPosition on our descendants from updateLayerPositionsAfterScroll.
157047
1570482012-01-10  Stephen White  <senorblanco@chromium.org>
157049
157050        Fix Chrome/Mac build.
157051
157052        Build fix; unreviewed.
157053
157054        * platform/graphics/filters/skia/FEColorMatrixSkia.cpp:
157055        (WebCore::luminanceToAlphaMatrix):
157056
1570572012-01-06  Stephen White  <senorblanco@chromium.org>
157058
157059        [Skia] Switch FEColorMatrix to use a skia-based implementation when
157060        compiling with USE(SKIA).  This change will also switch the software
157061        implementation of FEGaussianBlur to the skia implementation (ie.,
157062        it removes the acceleration check).
157063        https://bugs.webkit.org/show_bug.cgi?id=75582
157064
157065        Reviewed by Dirk Schulze.
157066
157067        Covered by svg/W3C-SVG-1.1/filters-color-01-b.svg and friends (will
157068        need a rebaseline).
157069
157070        * WebCore.gypi:
157071        Add FEColorMatrixSkia.cpp to the build.
157072        * platform/graphics/filters/FEColorMatrix.h:
157073        Add platformApplySkia().
157074        * platform/graphics/filters/FEGaussianBlur.cpp:
157075        (WebCore::FEGaussianBlur::platformApplySoftware):
157076        Remove skia-specific code from FEGaussianBlur::platformApplySoftware().
157077        * platform/graphics/filters/FEGaussianBlur.h:
157078        Make platformApplySkia() virtual, and put it behind #if USE(SKIA).
157079        * platform/graphics/filters/FilterEffect.cpp:
157080        (WebCore::FilterEffect::apply):
157081        Call out to platformApplySkia(), or fall back to
157082        platformApplySoftware().
157083        * platform/graphics/filters/FilterEffect.h:
157084        Add platformApplySkia().
157085        * platform/graphics/filters/skia/FEColorMatrixSkia.cpp: Added.
157086        (WebCore::saturateMatrix):
157087        (WebCore::hueRotateMatrix):
157088        (WebCore::luminanceToAlphaMatrix):
157089        (WebCore::FEColorMatrix::platformApplySkia):
157090        Process color matrix effect, by calling out to generic matrix
157091        version of SkColorMatrixFilter.
157092        * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp:
157093        (WebCore::FEGaussianBlur::platformApplySkia):
157094        Change the signature of FEGaussianBlur::platformApplySkia to be an
157095        override of the new FilterEffect base class version.
157096
1570972012-01-10  Pavel Feldman  <pfeldman@google.com>
157098
157099        Web Inspector: fix DebuggerPresentationModel::uiSourceCodes - do not iterate
157100        over same raw source code multiple times.
157101        https://bugs.webkit.org/show_bug.cgi?id=75953
157102
157103        Reviewed by Yury Semikhatsky.
157104
157105        * inspector/front-end/DebuggerPresentationModel.js:
157106        (WebInspector.DebuggerPresentationModel):
157107        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
157108        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
157109        (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
157110        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
157111        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
157112
1571132012-01-10  No'am Rosenthal  <noam.rosenthal@nokia.com>
157114
157115        [Qt] Enable CSS_FILTERS in Qt build
157116        https://bugs.webkit.org/show_bug.cgi?id=75777
157117
157118        Enable CSS_FILTERS and unskip the tests.
157119
157120        Reviewed by Kenneth Rohde Christiansen.
157121
157122        Filter tests are now unskipped for Qt.
157123
157124        * Target.pri: add missing files to build.
157125
1571262012-01-10  Pavel Feldman  <pfeldman@google.com>
157127
157128        Web Inspector: typo: NetworkAgent.canClearBrowserCache -> NetworkAgent.canClearBrowserCookies.
157129        https://bugs.webkit.org/show_bug.cgi?id=75949
157130
157131        Reviewed by Andreas Kling.
157132
157133        * inspector/front-end/NetworkPanel.js:
157134        (WebInspector.NetworkLogView):
157135
1571362012-01-10  pfeldman@chomium.org  <pavel.feldman@gmail.com>
157137
157138        Web Inspector: restore front-end compilation
157139        https://bugs.webkit.org/show_bug.cgi?id=75625
157140
157141        Reviewed by Yury Semikhatsky.
157142
157143        * inspector/front-end/ScriptsPanel.js:
157144        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
157145        * inspector/front-end/TabbedPane.js:
157146        * inspector/front-end/externs.js:
157147        (WebInspector.isCompactMode):
157148        * inspector/front-end/treeoutline.js:
157149
1571502012-01-10  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
157151
157152        Add NULL checks to setting access obtained on frame and document.
157153        https://bugs.webkit.org/show_bug.cgi?id=72002
157154
157155        Reviewed by Andreas Kling.
157156
157157        Adds NULL checks to setting object where it's required.
157158        Generally WebCore checks NULL which may be returned from setting object obtained
157159        on frame or document but in some cases these are skipped. These checks are not
157160        needed to setting's access on page object.
157161
157162        * html/HTMLCanvasElement.cpp:
157163        (WebCore::HTMLCanvasElement::shouldAccelerate):
157164        * loader/DocumentLoader.cpp:
157165        (WebCore::DocumentLoader::scheduleArchiveLoad):
157166        * loader/SubframeLoader.cpp:
157167        (WebCore::SubframeLoader::requestPlugin):
157168        * loader/appcache/ApplicationCacheGroup.cpp:
157169        (WebCore::ApplicationCacheGroup::selectCache):
157170        (WebCore::ApplicationCacheGroup::selectCacheWithoutManifestURL):
157171        * page/DragController.cpp:
157172        (WebCore::DragController::draggableNode):
157173        * page/EventHandler.cpp:
157174        (WebCore::EventHandler::handleMouseReleaseEvent):
157175        * page/FocusController.cpp:
157176        (WebCore::FocusController::advanceFocusInDocumentOrder):
157177        * rendering/RenderFrameSet.cpp:
157178        (WebCore::RenderFrameSet::flattenFrameSet):
157179        * rendering/RenderIFrame.cpp:
157180        (WebCore::RenderIFrame::flattenFrame):
157181        * rendering/RenderLayerCompositor.cpp:
157182        (WebCore::RenderLayerCompositor::updateBacking):
157183        * rendering/RenderText.cpp:
157184        (WebCore::SecureTextTimer::restartWithNewText):
157185
1571862012-01-10  Andreas Kling  <awesomekling@apple.com>
157187
157188        Matched declaration cache should support mapped attribute declarations.
157189        <http://webkit.org/b/75948>
157190
157191        Reviewed by Antti Koivisto.
157192
157193        Support caching of matches that include mapped attribute declarations.
157194        To make this possible, let the cache hold references to the matched style declarations.
157195        Otherwise, declarations are assumed to survive until ~CSSStyleSelector, which may not
157196        be the case for CSSMappedAttributeDeclaration.
157197
157198        To avoid hoarding of stale CSSMappedAttributeDeclarations in the cache, do a sweep for
157199        every 100 additions and garbage collect any entries containing a declaration that is
157200        only referenced by the cache.
157201
157202        This increases cache hit rate by up to ~10% on the Alexa top sites.
157203
157204        * css/CSSStyleSelector.cpp:
157205        (WebCore::CSSStyleSelector::CSSStyleSelector):
157206        (WebCore::CSSStyleSelector::sweepMatchedDeclarationCache):
157207        (WebCore::CSSStyleSelector::matchAllRules):
157208        (WebCore::CSSStyleSelector::applyDeclarations):
157209        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
157210        * css/CSSStyleSelector.h:
157211
1572122012-01-10  Kenichi Ishibashi  <bashi@chromium.org>
157213
157214        Complex path should be used when UVS exists in text run
157215        https://bugs.webkit.org/show_bug.cgi?id=75289
157216
157217        Uses complex path when a text run contains UVS. The range from U+180B to U+180D already uses complex path.
157218        Removes unnecessary functions that were added by r102915.
157219
157220        Reviewed by Dan Bernstein.
157221
157222        No new tests. fast/text/unicode-variation-selector.html should take care of this change.
157223
157224        * platform/graphics/Font.cpp:
157225        (WebCore::Font::codePath): Use Complex path when the text run contains UVS.
157226        * platform/graphics/SimpleFontData.h: Removed updateGlyphWithVariationSelector().
157227        * platform/graphics/SurrogatePairAwareTextIterator.cpp: Removed unnecessary static functions.
157228        * platform/graphics/SurrogatePairAwareTextIterator.h: Removed hasTrailingVariationSelector().
157229        * platform/graphics/WidthIterator.cpp:
157230        (WebCore::WidthIterator::advance): Removed UVS detection code.
157231        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp: Removed updateGlyphWithVariationSelector().
157232        * platform/graphics/freetype/SimpleFontDataFreeType.cpp: Ditto.
157233        * platform/graphics/harfbuzz/SimpleFontDataSkia.cpp: Ditto.
157234        * platform/graphics/mac/SimpleFontDataMac.mm: Ditto.
157235        * platform/graphics/pango/SimpleFontDataPango.cpp: Ditto.
157236        * platform/graphics/qt/SimpleFontDataQt.cpp: Ditto.
157237        * platform/graphics/win/SimpleFontDataWin.cpp: Ditto.
157238        * platform/graphics/wince/SimpleFontDataWinCE.cpp: Ditto.
157239        * platform/graphics/wx/SimpleFontDataWx.cpp: Ditto.
157240
1572412012-01-10  Kenichi Ishibashi  <bashi@chromium.org>
157242
157243        WebFonts are re-fetched from the server upon Document::styleSelectorChanged call.
157244        https://bugs.webkit.org/show_bug.cgi?id=73419
157245
157246        Holds the CachedFont handle in CSSFontFaceSrcValue so that avoiding re-validation during style recalculation.
157247
157248        Reviewed by Dan Bernstein.
157249
157250        Test: http/tests/css/font-face-src-loading.html
157251
157252        * css/CSSFontFaceSrcValue.cpp:
157253        (WebCore::CSSFontFaceSrcValue::cachedFont): Added.
157254        * css/CSSFontFaceSrcValue.h:
157255        * css/CSSFontSelector.cpp:
157256        (WebCore::CSSFontSelector::addFontFaceRule): Gets the CachedFont from CSSFontFaceSrcValue object. The object will request the resource if it doesn't exist.
157257
1572582012-01-10  pfeldman@chomium.org  <pavel.feldman@gmail.com>
157259
157260        Web Inspector: introduce experimental setting that makes source files always editable
157261        https://bugs.webkit.org/show_bug.cgi?id=75626
157262
157263        Reviewed by Timothy Hatcher.
157264
157265        * English.lproj/localizedStrings.js:
157266        * inspector/front-end/JavaScriptSourceFrame.js:
157267        (WebInspector.JavaScriptSourceFrame):
157268        (WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
157269        * inspector/front-end/NetworkPanel.js:
157270        (WebInspector.NetworkLogView):
157271        * inspector/front-end/ScriptsNavigator.js:
157272        (WebInspector.NavigatorScriptTreeElement.prototype.onselect):
157273        * inspector/front-end/Settings.js:
157274        (WebInspector.ExperimentsSettings):
157275        * inspector/front-end/SourceFrame.js:
157276        (WebInspector.SourceFrame):
157277        (WebInspector.SourceFrame.prototype.get statusBarItems):
157278        (WebInspector.SourceFrame.prototype.setReadOnly):
157279        * inspector/front-end/inspector.js:
157280        (WebInspector.loaded):
157281
1572822012-01-09  Sheriff Bot  <webkit.review.bot@gmail.com>
157283
157284        Unreviewed, rolling out r104507.
157285        http://trac.webkit.org/changeset/104507
157286        https://bugs.webkit.org/show_bug.cgi?id=75936
157287
157288        Broke webkit_unit_tests (Requested by dimich on #webkit).
157289
157290        * WebCore.gypi:
157291        * platform/graphics/chromium/RenderSurfaceChromium.h:
157292        * platform/graphics/chromium/cc/CCLayerIterator.cpp: Removed.
157293        * platform/graphics/chromium/cc/CCLayerIterator.h: Removed.
157294        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Removed.
157295        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
157296        (WebCore::CCLayerTreeHost::paintLayerContents):
157297        (WebCore::CCLayerTreeHost::updateCompositorResources):
157298        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
157299        (WebCore::walkLayersAndCalculateVisibleLayerRects):
157300        * platform/graphics/chromium/cc/CCRenderSurface.h:
157301
1573022012-01-09  Rob Buis  <rbuis@rim.com>
157303
157304        Upstream change to disable input[color] css rules for BlackBerry port
157305        https://bugs.webkit.org/show_bug.cgi?id=75719
157306
157307        Reviewed by Antonio Gomes.
157308
157309        Do not enable default css color rules for input["color"] for BlackBerry port.
157310
157311        * CMakeLists.txt:
157312
1573132012-01-09  Greg Billock  <gbillock@google.com>
157314
157315        Implement navigator.startActivity; add IntentRequest object for managing web intents callbacks.
157316        Web content will invoke navigator.startActivity to launch a new Web
157317        Intents call. Each such call will map to an IntentRequest broker
157318        object which is used by client code to correlate any return data to
157319        the (optional) callbacks supplied by web content calls.
157320        https://bugs.webkit.org/show_bug.cgi?id=75756
157321
157322        Reviewed by Adam Barth.
157323
157324        Test: webintents/web-intents-api.html
157325
157326        * Modules/intents/Intent.cpp: Added.
157327        (WebCore::Intent::identifier):
157328        (WebCore::Intent::setIdentifier):
157329        * Modules/intents/Intent.h: Added.
157330        * Modules/intents/Intent.idl: Added.
157331        * Modules/intents/IntentResultCallback.h: Added.
157332        (WebCore::IntentResultCallback::~IntentResultCallback):
157333        * Modules/intents/IntentResultCallback.idl: Added.
157334        * Modules/intents/IntentsRequest.cpp: Added.
157335        * Modules/intents/IntentsRequest.h: Added.
157336        * WebCore.gyp/WebCore.gyp:
157337        * WebCore.gypi:
157338        * bindings/scripts/CodeGeneratorV8.pm:
157339        (GetNativeTypeForCallbacks):
157340        * loader/FrameLoaderClient.h:
157341        (WebCore::FrameLoaderClient::dispatchIntent):
157342
1573432012-01-09  Dan Bernstein  <mitz@apple.com>
157344
157345        -[DOMRange renderedImageForcingBlackText:] fails with non-user-selectable text
157346        https://bugs.webkit.org/show_bug.cgi?id=75920
157347
157348        Reviewed by Darin Adler.
157349
157350        Test: added to TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm
157351
157352        * page/mac/FrameMac.mm:
157353        (WebCore::Frame::rangeImage): Removed the requirement that the start and end positions used
157354        for setting the selection in the render tree be candidates.
157355
1573562012-01-06  Hajime Morrita  <morrita@chromium.org>
157357
157358        [Refactoring] Moving between TreeScopes should be done by its own class.
157359        https://bugs.webkit.org/show_bug.cgi?id=75290
157360
157361        Reviewed by Ryosuke Niwa.
157362
157363        This change extracted Node::setTreeScopeRecursively(),
157364        setDocumentRecursively() and a part of setDocument() into a new
157365        class called TreeScopeAdopter. By doing this, the idea of
157366        moving a node from scope to scope, that was originally hidden
157367        behind the forest of Node APIs, has become clearer.
157368
157369        Note that this change is a preparation for Bug 59816.
157370
157371        No new tests. No behavioral change.
157372
157373        * CMakeLists.txt:
157374        * GNUmakefile.list.am:
157375        * Target.pri:
157376        * WebCore.gypi:
157377        * WebCore.vcproj/WebCore.vcproj:
157378        * WebCore.xcodeproj/project.pbxproj:
157379        * dom/ContainerNode.cpp: Followed the renaming.
157380        (WebCore::ContainerNode::takeAllChildrenFrom):
157381        (WebCore::ContainerNode::insertBefore):
157382        (WebCore::ContainerNode::replaceChild):
157383        (WebCore::ContainerNode::removeBetween):
157384        (WebCore::ContainerNode::removeChildren):
157385        (WebCore::ContainerNode::appendChild):
157386        (WebCore::ContainerNode::parserAddChild):
157387        * dom/DOMAllInOne.cpp:
157388        * dom/Document.cpp: Followed te renaming.
157389        (WebCore::Document::setDocType):
157390        (WebCore::Document::adoptNode):
157391        * dom/Element.cpp: Followed te renaming.
157392        (WebCore::Element::removeShadowRoot):
157393        * dom/Node.cpp:
157394        (WebCore::Node::setDocument):
157395        (WebCore::Node::setTreeScope):
157396        (WebCore::Node::didMoveToNewDocument):
157397        * dom/Node.h:
157398        * dom/TreeScope.h:
157399        * dom/TreeScope.cpp:
157400        (WebCore::TreeScope::adoptIfNeeded): moved from setTreeScopeRecursively()
157401        * dom/TreeScopeAdopter.cpp: Added.
157402        (WebCore::TreeScopeAdopter::TreeScopeAdopter):
157403        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
157404        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
157405        (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
157406        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
157407        * dom/TreeScopeAdopter.h: Added.
157408        (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
157409        (WebCore::TreeScopeAdopter::execute):
157410        (WebCore::TreeScopeAdopter::needsScopeChange()):
157411        (WebCore::TreeScopeAdopter::shadowRootFor):
157412
1574132012-01-09  Adam Barth  <abarth@webkit.org>
157414
157415        run-bindings-tests should exercise all the IDL attributes we use
157416        https://bugs.webkit.org/show_bug.cgi?id=75900
157417
157418        Reviewed by Eric Seidel.
157419
157420        I just grepped through the code generator script for IDL attributes and
157421        wrote tests for them.
157422
157423        * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.cpp: Added.
157424        * bindings/scripts/test/CPP/WebDOMTestActiveDOMObject.h: Added.
157425        * bindings/scripts/test/CPP/WebDOMTestEventTarget.cpp: Added.
157426        * bindings/scripts/test/CPP/WebDOMTestEventTarget.h: Added.
157427        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
157428        * bindings/scripts/test/CPP/WebDOMTestObj.h:
157429        * bindings/scripts/test/CPP/WebDOMTestOverridingNameGetter.cpp: Added.
157430        * bindings/scripts/test/CPP/WebDOMTestOverridingNameGetter.h: Added.
157431        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.cpp: Added.
157432        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObject.h: Added.
157433        * bindings/scripts/test/GObject/WebKitDOMTestActiveDOMObjectPrivate.h: Added.
157434        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.cpp: Added.
157435        * bindings/scripts/test/GObject/WebKitDOMTestEventTarget.h: Added.
157436        * bindings/scripts/test/GObject/WebKitDOMTestEventTargetPrivate.h: Added.
157437        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
157438        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
157439        * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.cpp: Added.
157440        * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetter.h: Added.
157441        * bindings/scripts/test/GObject/WebKitDOMTestOverridingNameGetterPrivate.h: Added.
157442        * bindings/scripts/test/JS/JSTestActiveDOMObject.cpp: Added.
157443        * bindings/scripts/test/JS/JSTestActiveDOMObject.h: Added.
157444        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
157445        * bindings/scripts/test/JS/JSTestEventTarget.cpp: Added.
157446        * bindings/scripts/test/JS/JSTestEventTarget.h: Added.
157447        * bindings/scripts/test/JS/JSTestInterface.cpp:
157448        * bindings/scripts/test/JS/JSTestInterface.h:
157449        * bindings/scripts/test/JS/JSTestObj.cpp:
157450        * bindings/scripts/test/JS/JSTestObj.h:
157451        * bindings/scripts/test/JS/JSTestOverridingNameGetter.cpp: Added.
157452        * bindings/scripts/test/JS/JSTestOverridingNameGetter.h: Added.
157453        * bindings/scripts/test/ObjC/DOMTestActiveDOMObjectInternal.h: Added.
157454        * bindings/scripts/test/ObjC/DOMTestEventTarget.h: Added.
157455        * bindings/scripts/test/ObjC/DOMTestEventTarget.mm: Added.
157456        * bindings/scripts/test/ObjC/DOMTestEventTargetInternal.h: Added.
157457        * bindings/scripts/test/ObjC/DOMTestObj.h:
157458        * bindings/scripts/test/ObjC/DOMTestObj.mm:
157459        * bindings/scripts/test/ObjC/DOMTestOverridingNameGetter.h: Added.
157460        * bindings/scripts/test/ObjC/DOMTestOverridingNameGetter.mm: Added.
157461        * bindings/scripts/test/ObjC/DOMTestOverridingNameGetterInternal.h: Added.
157462        * bindings/scripts/test/TestDomainSecurity.idl: Added.
157463        * bindings/scripts/test/TestEventConstructor.idl:
157464        * bindings/scripts/test/TestEventTarget.idl: Added.
157465        * bindings/scripts/test/TestInterface.idl:
157466        * bindings/scripts/test/TestObj.idl:
157467        * bindings/scripts/test/TestOverridingNameGetter.idl: Added.
157468        * bindings/scripts/test/V8/V8TestActiveDOMObject.cpp: Added.
157469        * bindings/scripts/test/V8/V8TestActiveDOMObject.h: Added.
157470        * bindings/scripts/test/V8/V8TestEventConstructor.cpp:
157471        * bindings/scripts/test/V8/V8TestEventTarget.cpp: Added.
157472        * bindings/scripts/test/V8/V8TestEventTarget.h: Added.
157473        * bindings/scripts/test/V8/V8TestInterface.h:
157474        * bindings/scripts/test/V8/V8TestObj.cpp:
157475        * bindings/scripts/test/V8/V8TestOverridingNameGetter.cpp: Added.
157476        * bindings/scripts/test/V8/V8TestOverridingNameGetter.h: Added.
157477
1574782012-01-09  Nat Duca  <nduca@chromium.org>
157479
157480        [chromium] Add documentation to updater classes
157481        https://bugs.webkit.org/show_bug.cgi?id=75866
157482
157483        Reviewed by James Robinson.
157484
157485        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
157486        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
157487        * platform/graphics/chromium/CanvasLayerTextureUpdater.h:
157488        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
157489        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h:
157490
1574912012-01-09  Adam Barth  <abarth@webkit.org>
157492
157493        Remove unused variable from CodeGeneratorV8
157494        https://bugs.webkit.org/show_bug.cgi?id=75895
157495
157496        Reviewed by Eric Seidel.
157497
157498        Unused variables aren't worth keeping around.
157499
157500        * bindings/scripts/CodeGeneratorV8.pm:
157501        (GenerateHeader):
157502        (GenerateImplementation):
157503
1575042012-01-09  Dana Jansens  <danakj@chromium.org>
157505
157506        [chromium] Create iterators for the RenderSurface-Layer tree
157507        https://bugs.webkit.org/show_bug.cgi?id=74203
157508
157509        Reviewed by James Robinson.
157510
157511        New unit tests: CCLayerIteratorTest.cpp
157512
157513        * WebCore.gypi:
157514        * platform/graphics/chromium/RenderSurfaceChromium.h:
157515        * platform/graphics/chromium/cc/CCLayerIterator.cpp: Added.
157516        (WebCore::CCLayerIteratorActions::BackToFront::begin):
157517        (WebCore::CCLayerIteratorActions::BackToFront::end):
157518        (WebCore::CCLayerIteratorActions::BackToFront::next):
157519        (WebCore::CCLayerIteratorActions::FrontToBack::begin):
157520        (WebCore::CCLayerIteratorActions::FrontToBack::end):
157521        (WebCore::CCLayerIteratorActions::FrontToBack::next):
157522        (WebCore::CCLayerIteratorActions::FrontToBack::goToHighestInSubtree):
157523        * platform/graphics/chromium/cc/CCLayerIterator.h: Added.
157524        (WebCore::CCLayerIterator::CCLayerIterator):
157525        (WebCore::CCLayerIterator::begin):
157526        (WebCore::CCLayerIterator::end):
157527        (WebCore::CCLayerIterator::operator++):
157528        (WebCore::CCLayerIterator::operator==):
157529        (WebCore::CCLayerIterator::operator!=):
157530        (WebCore::CCLayerIterator::operator->):
157531        (WebCore::CCLayerIterator::operator*):
157532        (WebCore::CCLayerIterator::representsTargetRenderSurface):
157533        (WebCore::CCLayerIterator::representsContributingRenderSurface):
157534        (WebCore::CCLayerIterator::representsItself):
157535        (WebCore::CCLayerIterator::targetRenderSurfaceLayer):
157536        * platform/graphics/chromium/cc/CCLayerIteratorPosition.h: Added.
157537        (WebCore::CCLayerIteratorPosition::CCLayerIteratorPosition):
157538        (WebCore::CCLayerIteratorPosition::currentLayer):
157539        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsContributingRenderSurface):
157540        (WebCore::CCLayerIteratorPosition::currentLayerRepresentsTargetRenderSurface):
157541        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceLayer):
157542        (WebCore::CCLayerIteratorPosition::targetRenderSurface):
157543        (WebCore::CCLayerIteratorPosition::targetRenderSurfaceChildren):
157544        (WebCore::CCLayerIteratorPosition::operator==):
157545        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
157546        (WebCore::CCLayerTreeHost::paintLayerContents):
157547        (WebCore::CCLayerTreeHost::updateCompositorResources):
157548        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
157549        (WebCore::walkLayersAndCalculateVisibleLayerRects):
157550        * platform/graphics/chromium/cc/CCRenderSurface.h:
157551
1575522012-01-09  Joshua Bell  <jsbell@chromium.org>
157553
157554        IndexedDB: Throw exception if IDBCursor.continue() called with lower key than current
157555        https://bugs.webkit.org/show_bug.cgi?id=74213
157556
157557        Reviewed by Tony Chang.
157558
157559        * storage/IDBCursorBackendImpl.cpp:
157560        (WebCore::IDBCursorBackendImpl::continueFunction):
157561
1575622012-01-09  Justin Novosad  <junov@chromium.org>
157563
157564        [chromium win] Creating lots of temporary canvas contexts will crash.
157565        https://bugs.webkit.org/show_bug.cgi?id=68420
157566
157567        When using the skia port, the allocation of 2d canvas backing stores
157568        no longer needs to be done through a platform API (GDI/CG) because
157569        canvases now use skia for drawing text.  Removing the allocation through
157570        GDI on windows prevents resource exhaustion due to unreferenced canvases
157571        that are awaiting garbage collection.
157572
157573        Reviewed by Stephen White.
157574
157575        No new tests: Relying on existing canvas layout tests.
157576
157577        * html/HTMLCanvasElement.cpp:
157578        (WebCore::HTMLCanvasElement::createImageBuffer):
157579        * platform/graphics/ImageBuffer.h:
157580        * platform/graphics/skia/ImageBufferSkia.cpp:
157581        (WebCore::createNonPlatformCanvas):
157582        (WebCore::ImageBuffer::ImageBuffer):
157583
1575842012-01-09  Avi Drissman  <avi@chromium.org>
157585
157586        https://bugs.webkit.org/show_bug.cgi?id=75860
157587        [Chromium Mac] no background is drawn for input elements
157588
157589        Reviewed by Dimitri Glazkov.
157590
157591        Reverts r104240 for Chromium. Unfortunately the code that uses Cocoa
157592        API misbehaves when built with the 10.5 SDK, so we use SPI. For now.
157593
157594        * rendering/RenderThemeChromiumMac.h:
157595        * rendering/RenderThemeChromiumMac.mm:
157596        (WebCore::RenderThemeChromiumMac::paintTextField):
157597
1575982012-01-09  Pablo Flouret  <pablof@motorola.com>
157599
157600        Compilation error on build-webkit --debug --no-3d-canvas on mac.
157601        https://bugs.webkit.org/show_bug.cgi?id=75878
157602
157603        Reviewed by Alexey Proskuryakov.
157604
157605        * html/canvas/WebGLContextEvent.cpp:
157606
1576072012-01-09  Tom Sepez  <tsepez@chromium.org>
157608
157609        Treat code="" attribute in embed tags similarly to applet tags.
157610        https://bugs.webkit.org/show_bug.cgi?id=75871
157611
157612        Reviewed by Daniel Bates.
157613
157614        Tests: http/tests/security/xssAuditor/embed-tag-code-attribute-2.html
157615               http/tests/security/xssAuditor/embed-tag-code-attribute.html
157616
157617        * html/parser/XSSAuditor.cpp:
157618        (WebCore::XSSAuditor::filterEmbedToken):
157619
1576202012-01-09  Justin Novosad  <junov@chromium.org>
157621
157622        [Chromium] remove all references to the legacy accelerated 2d Canvas
157623        implementation
157624        https://bugs.webkit.org/show_bug.cgi?id=75108
157625
157626        Purging an old settings flag that is no longer referenced
157627
157628        Reviewed by Darin Fisher.
157629
157630        * page/Settings.cpp:
157631        (WebCore::Settings::Settings):
157632        * page/Settings.h:
157633
1576342012-01-09  Eric Carlson  <eric.carlson@apple.com>
157635
157636        REGRESSION(r104327?): media/track/track-cues-cuechange.html and track-cues-enter-exit.html 
157637        intermittently time out, media/track/track-cues-seeking and  fails
157638        https://bugs.webkit.org/show_bug.cgi?id=75817
157639
157640        Unreviewed, fix a problem introduced in r104327.
157641
157642        No new tests, covered by existing tests.
157643
157644        * html/HTMLMediaElement.cpp:
157645        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_ignoreTrackDisplayUpdate.
157646
1576472012-01-09  Raymond Toy  <rtoy@google.com>
157648
157649        Add normalize attribute to ConvolverNode to disable normalization.
157650        https://bugs.webkit.org/show_bug.cgi?id=75126
157651
157652        Reviewed by Kenneth Russell.
157653
157654        Tests added in convolution-mono-mono.html.
157655
157656        * platform/audio/Reverb.cpp:
157657        (WebCore::Reverb::Reverb): Add extra arg to indicate whether
157658        normalization is enabled or not, and do it.
157659        * platform/audio/Reverb.h: Update declaration.
157660        * webaudio/ConvolverNode.cpp:
157661        (WebCore::ConvolverNode::ConvolverNode): Initialize attribute (to
157662        true).
157663        (WebCore::ConvolverNode::setBuffer): Call Reverb with
157664        normalization argument.
157665        * webaudio/ConvolverNode.h:
157666        (WebCore::ConvolverNode::normalize): New method to return
157667        normalization. 
157668        (WebCore::ConvolverNode::setNormalize):  New method to set
157669        normalization. 
157670        * webaudio/ConvolverNode.idl: Add normalize attribute.
157671        * LayoutTests/webaudio/convolution-mono-mono.html:
157672        * LayoutTests/webaudio/convolution-mono-mono-expected.txt:
157673        * LayoutTests/webaudio/resources/convolution-testing.js:
157674        Test for convolution.  Tests only work when normalization is
157675        disabled.
157676
1576772012-01-09  Judy Hao  <judy.liqiong-hao@nokia.com>
157678
157679        [GStreamer] webkitwebsrc: pad template is leaked
157680        https://bugs.webkit.org/show_bug.cgi?id=74224
157681
157682        Reviewed by Philippe Normand.
157683
157684        Use a GstPadTemplate smart pointer in webkit_web_src_init to
157685        avoid a memory leak.
157686
157687        Fixing memory leaks. So, no new test case is introduced.
157688
157689        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
157690        (webkit_web_src_init):
157691
1576922012-01-09  Xianzhu Wang  <wangxianzhu@chromium.org>
157693
157694        Avoid unnecessary TextureManager::reduceMemoryToLimit().
157695        https://bugs.webkit.org/show_bug.cgi?id=75632
157696
157697        Unnecessary TextureManager::reduceMemoryToLimit() will cause some tile
157698        textures that are required soon to be unnecessarily removed/replaced,
157699        and degrade performance, sometimes significantly.
157700
157701        For example, CCLayerTreeHost::setViewport will be called during
157702        scrolling. The original code would call TextureManager::reduceMemoryToLimit(),
157703        causing some textures unnecessarily discarded and then recreated
157704        repeatedly during scrolling.
157705
157706        It's also unnecessary to call TextureManager::reduceMemoryToLimit()
157707        from TextureManager::setPreferredMemoryLimitBytes() because the limit
157708        is not a hard limit. The callers should call reduceMemoryToLimit()
157709        explicitly if it wants it when setting the preferred memory limit.
157710
157711        Reviewed by James Robinson.
157712
157713        Tests: webkit_unit_tests --gtest_filter=TextureManagerTest.*:CCLayerTreeHostTestSetViewportSize.*
157714
157715        * platform/graphics/chromium/LayerRendererChromium.cpp:
157716        (WebCore::LayerRendererChromium::finishDrawingFrame): Call reduceMemoryToLimit() explicitly
157717        * platform/graphics/chromium/TextureManager.cpp:
157718        (WebCore::TextureManager::setPreferredMemoryLimitBytes): Removed call to reduceMemoryToLimit().
157719        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
157720        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
157721        (WebCore::CCLayerTreeHost::setViewportSize): Changed name from setViewport(). Check change of viewportSize.
157722        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
157723        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
157724        (WebCore::CCLayerTreeHostImpl::setViewportSize): Changed name from setViewport()
157725        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
157726
1577272012-01-09  Sami Kyostila  <skyostil@chromium.org>
157728
157729        [Chromium] JPEG RGB swizzling order should match platform pixel format
157730        https://bugs.webkit.org/show_bug.cgi?id=75861
157731
157732        Choose between JCS_EXT_BGRX and JCS_EXT_RGBX channel swizzling
157733        based on the configured Skia 32-bit pixel format.
157734
157735        Reviewed by Kenneth Russell.
157736
157737        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
157738        (rgbOutputColorSpace):
157739
1577402012-01-09  Alexis Menard  <alexis.menard@openbossa.org>
157741
157742        getComputedStyle for border-radius is not implemented.
157743        https://bugs.webkit.org/show_bug.cgi?id=75630
157744
157745        Reviewed by Tony Chang.
157746
157747        Implement getComputedStyle for border-radius shorthand property.
157748
157749        Test: fast/css/getComputedStyle/getComputedStyle-border-radius-shorthand.html
157750
157751        * css/CSSComputedStyleDeclaration.cpp:
157752        (WebCore::getBorderRadiusCornerValues):
157753        (WebCore::getBorderRadiusCornerValue):
157754        (WebCore::getBorderRadiusShorthandValue):
157755        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
157756
1577572012-01-09  Sheriff Bot  <webkit.review.bot@gmail.com>
157758
157759        Unreviewed, rolling out r104418.
157760        http://trac.webkit.org/changeset/104418
157761        https://bugs.webkit.org/show_bug.cgi?id=75855
157762
157763        we still need to build against CG on Mac sometimes (Requested
157764        by epoger on #webkit).
157765
157766        * WebCore.gyp/WebCore.gyp:
157767
1577682012-01-09  Martin Robinson  <mrobinson@igalia.com>
157769
157770        [GTK] [AC] Simplify accelerated compositing build options
157771        https://bugs.webkit.org/show_bug.cgi?id=75518
157772
157773        Reviewed by Gustavo Noronha Silva.
157774
157775        * GNUmakefile.am: Automatically enable 3D rendering when AC is available.
157776        * GNUmakefile.list.am: Clean up a comment.
157777
1577782012-01-09  Antti Koivisto  <antti@apple.com>
157779
157780        possible regression: r104060 maybe causing crashes
157781        https://bugs.webkit.org/show_bug.cgi?id=75676
157782
157783        Reviewed by Andreas Kling.
157784
157785        Based on the stacks, CSSStyleSelector may be getting deleted from under the
157786        CSSStyleSelector::appendAuthorStylesheets call. Protect by temporarily detaching
157787        from the document. Also add assertions to catch the case.
157788        
157789        No test, there is no known repro and the fix is speculative.
157790
157791        * dom/Document.cpp:
157792        (WebCore::Document::Document):
157793        (WebCore::Document::setDocType):
157794        (WebCore::Document::childrenChanged):
157795        (WebCore::Document::clearStyleSelector):
157796        (WebCore::Document::updateActiveStylesheets):
157797        * dom/Document.h:
157798
1577992012-01-09  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
157800
157801        Use Vector<OwnPtr> for m_viewportDependentMediaQueryResults in CSSStyleSelector
157802        https://bugs.webkit.org/show_bug.cgi?id=75723
157803
157804        Reviewed by Andreas Kling.
157805
157806        * css/CSSStyleSelector.cpp:
157807        (WebCore::CSSStyleSelector::~CSSStyleSelector):
157808        (WebCore::CSSStyleSelector::addViewportDependentMediaQueryResult):
157809        * css/CSSStyleSelector.h:
157810
1578112012-01-09  Alexis Menard  <alexis.menard@openbossa.org>
157812
157813        Extend CSSValueList to allow slash separated lists.
157814        https://bugs.webkit.org/show_bug.cgi?id=75841
157815
157816        Reviewed by Andreas Kling.
157817
157818        Multiple CSS properties are using slash to separate
157819        various parts (e.g. border-radius) so having this
157820        feature available in CSSValueList will make it easier
157821        in the future to support these properties.
157822
157823        No new tests : existing ones should cover the refactor.
157824
157825        * css/CSSInitialValue.h:
157826        (WebCore::CSSInitialValue::isImplicit):
157827        (WebCore::CSSInitialValue::CSSInitialValue):
157828        * css/CSSValue.cpp:
157829        (WebCore::CSSValue::isImplicitInitialValue):
157830        * css/CSSValue.h:
157831        In order for CSSValue to not grow I moved m_isImplicitInitialValue
157832        back to CSSInitialValue as this object is used only in CSSValuePool
157833        and is allocated only twice.
157834        (WebCore::CSSValue::CSSValue):
157835        * css/CSSValueList.cpp:
157836        (WebCore::CSSValueList::CSSValueList):
157837        (WebCore::CSSValueList::copy):
157838        Fix also usage of PassRefPtr.
157839        (WebCore::CSSValueList::customCssText):
157840        Refactor to use StringBuilder.
157841        * css/CSSValueList.h:
157842        (WebCore::CSSValueList::createCommaSeparated):
157843        (WebCore::CSSValueList::createSpaceSeparated):
157844        (WebCore::CSSValueList::createSlashSeparated):
157845        * css/WebKitCSSFilterValue.cpp:
157846        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
157847        * css/WebKitCSSTransformValue.cpp:
157848        (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
157849
1578502012-01-09  No'am Rosenthal  <noam.rosenthal@nokia.com>
157851
157852        [Texmap] Move surface management from TextureMapperNode to TextureMapper
157853        https://bugs.webkit.org/show_bug.cgi?id=75779
157854
157855        Instead of a TextureMapperSurfaceManager class inside of TextureMapperNode.cpp, we now
157856        maintain that surface pool inside of the TextureMapper class. This will later allow us to
157857        allocate intermediate surface from within TextureMapperGL, a functionality we need for
157858        filters.
157859
157860        Also, surfaces are not automatically created with the viewport size, but rather with the
157861        size passed as a parameter. The surface from the pool is the smallest texture that is
157862        larger than the required size, or any texture if such texture is not yet allocated.
157863
157864        Reviewed by Kenneth Rohde Christiansen.
157865
157866        Tests in LayoutTests/compositing already cover this.
157867
157868        * GNUmakefile.list.am: Added TextureMapper.cpp to the build.
157869        * Target.pri: Added TextureMapper.cpp to the build.
157870        * WebCore.gypi: Added TextureMapper.cpp to the build.
157871        * platform/graphics/texmap/TextureMapper.cpp: Added.
157872        * platform/graphics/texmap/TextureMapper.h:
157873        * platform/graphics/texmap/TextureMapperNode.cpp:
157874        (WebCore::TextureMapperNode::paint):
157875        (WebCore::TextureMapperNode::paintReflection):
157876        (WebCore::TextureMapperNode::paintRecursive):
157877        * platform/graphics/texmap/TextureMapperNode.h:
157878        (WebCore::TextureMapperNode::TextureMapperNode):
157879
1578802012-01-09  Mario Sanchez Prada  <msanchez@igalia.com>
157881
157882        [Gtk] Regression: text-inserted events lack text inserted and current line
157883        https://bugs.webkit.org/show_bug.cgi?id=72830
157884
157885        Reviewed by Martin Robinson.
157886
157887        Fix issue getting the exposed text for an accessibility object at,
157888        before of after a given offset, after changing it at least once.
157889
157890        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
157891        (webkit_accessible_class_init): Don't initialize
157892        gailTextUtilQuark, it won't be used anymore.
157893        (getGailTextUtilForAtk): Don't cache the GailTextUtil as object
157894        data, but create a new one each time this function is called.
157895        (webkit_accessible_text_get_caret_offset): Simplified code by
157896        using the new focusedObjectAndCaretOffsetUnignored function,
157897        instead of the old objectAndOffsetUnignored function.
157898        (focusedObjectAndCaretOffsetUnignored): Rewrite of the old
157899        objectAndOffsetUnignored function so it now needs less
157900        parameters than before and takes care of carefully selecting the
157901        start and end visible positions to calculate the position of the
157902        caret from the point of view of the accessibility object of
157903        reference passed as the only input parameter now. Updated callers.
157904        * accessibility/gtk/AccessibilityObjectWrapperAtk.h:
157905
157906        * editing/gtk/FrameSelectionGtk.cpp:
157907        (WebCore::FrameSelection::notifyAccessibilityForSelectionChange):
157908        Simplified code by calling to focusedObjectAndCaretOffsetUnignored
157909        function, instead of the old objectAndOffsetUnignored function.
157910
1579112012-01-09  Antti Koivisto  <antti@apple.com>
157912
157913        Subtree invalidation on stylesheet change
157914        https://bugs.webkit.org/show_bug.cgi?id=75834
157915
157916        Reviewed by Andreas Kling.
157917        
157918        Currently if we add a stylesheet with scoped selectors and matching scope elements exist,
157919        we recalculate the entire document style. It is sufficient to invalidate the subtrees 
157920        matching the scope only.
157921        
157922        This allows us to do less full style recalcs on many popular web sites (nytimes.com for example).
157923        Subtree recalcs are typically much cheaper.
157924        
157925        Test: fast/css/id-or-class-before-stylesheet.html
157926
157927        * dom/Document.cpp:
157928        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
157929        (WebCore::Document::analyzeStylesheetChange):
157930        (WebCore::Document::updateActiveStylesheets):
157931        * dom/Document.h:
157932
1579332012-01-09  Carlos Garcia Campos  <cgarcia@igalia.com>
157934
157935        Unreviewed. Fix make distcheck issues.
157936
157937        * GNUmakefile.list.am: Add missing header.
157938
1579392012-01-09  Kentaro Hara  <haraken@chromium.org>
157940
157941        [Refactoring] Use join(", ", @arguments) to build a method argument string
157942        in CodeGeneratorJS.pm
157943        https://bugs.webkit.org/show_bug.cgi?id=75830
157944
157945        Reviewed by Adam Barth.
157946
157947        The code in CodeGeneratorJS.pm to build a method argument string is dirty
157948        and error-prone. It is concatenating arguments one by one judging whether
157949        ", " is necessary or not. This patch refactors the code so that it pushes
157950        all arguments into @arguments and then builds a method string by
157951        join(", ", @arguments).
157952
157953        Test: bindings/scripts/test/*
157954
157955        * bindings/scripts/CodeGeneratorJS.pm:
157956        (GenerateImplementation):
157957        (GenerateParametersCheck):
157958        (GenerateImplementationFunctionCall):
157959
1579602012-01-09  Andreas Kling  <awesomekling@apple.com>
157961
157962        CSSMutableStyleDeclaration: Remove propertiesEqual().
157963        <http://webkit.org/b/75829>
157964
157965        Reviewed by Antti Koivisto.
157966
157967        Remove propertiesEqual() since it was wrong (it only compared CSSValue pointers,
157968        not the actual values.)
157969
157970        Skip comparing the style declarations in NamedNodeMap::mappedMapsEquivalent()
157971        and just compare pointers instead. This is possible because the declarations
157972        all come from the mapped attribute/declaration table.
157973
157974        * css/CSSMutableStyleDeclaration.h:
157975        * dom/NamedNodeMap.cpp:
157976        (WebCore::NamedNodeMap::mappedMapsEquivalent):
157977
1579782012-01-09  Adam Barth  <abarth@webkit.org>
157979
157980        insertAdjacentHTML doesn't play nice with DocumentFragment
157981        https://bugs.webkit.org/show_bug.cgi?id=75826
157982
157983        Reviewed by Eric Seidel.
157984
157985        Test: fast/dom/insertAdjacentHTML-DocumentFragment-crash.html
157986
157987        Document nodes aren't the only non-Element ContainerNodes.
157988
157989        * html/HTMLElement.cpp:
157990        (WebCore::contextElementForInsertion):
157991
1579922012-01-09  Andreas Kling  <awesomekling@apple.com>
157993
157994        CSSStyleSelector: Any attribute with a decl() can be assumed to be mapped.
157995        <http://webkit.org/b/75832>
157996
157997        Reviewed by Antti Koivisto.
157998
157999        Replace isMappedAttribute() check with an assertion. Only a mapped attribute
158000        will have an associated style declaration.
158001
158002        * css/CSSStyleSelector.cpp:
158003        (WebCore::CSSStyleSelector::matchAllRules):
158004
1580052012-01-09  Kentaro Hara  <haraken@chromium.org>
158006
158007        [Refactoring] Use join(", ", @arguments) to build a method argument
158008        string in CodeGeneratorV8.pm
158009        https://bugs.webkit.org/show_bug.cgi?id=75828
158010
158011        Reviewed by Darin Adler.
158012
158013        The code in CodeGeneratorV8.pm to build a method argument string is dirty
158014        and error-prone. It is concatenating arguments one by one judging whether
158015        ", " is necessary or not. This patch refactors the code so that it pushes
158016        all arguments into @arguments and then builds a method string by
158017        join(", ", @arguments).
158018
158019        Test: bindings/scripts/test/*
158020
158021        * bindings/scripts/CodeGeneratorV8.pm:
158022        (GenerateFunctionCallString):
158023
1580242012-01-08  Benjamin Poulain  <benjamin@webkit.org>
158025
158026        Build fix: ScrollAnimatorMac has missing initializer in systemUptime()
158027        https://bugs.webkit.org/show_bug.cgi?id=75827
158028
158029        Reviewed by Darin Adler.
158030
158031        Explicitly initialize the struct timeval to avoid compiler warnings.
158032
158033        * platform/mac/ScrollAnimatorMac.mm:
158034        (systemUptime):
158035
1580362012-01-08  ChangSeok Oh  <shivamidow@gmail.com>
158037
158038        Memory allocation mismatch by using adoptArrayPtr in GraphicsContext3DOpenGL.cpp
158039        https://bugs.webkit.org/show_bug.cgi?id=75820
158040
158041        Reviewed by Darin Adler.
158042
158043        Dbates submitted a patch to release fastMalloc allocation
158044        in GraphicsContext3DOpenGL.cpp properly.
158045        See http://trac.webkit.org/browser/trunk/Source/WebCore/ChangeLog?rev=104395
158046        But one thing similar to the above still remains mismatched.
158047
158048        No new tests required.
158049
158050        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
158051        (WebCore::GraphicsContext3D::getShaderInfoLog):
158052
1580532012-01-08  Leo Yang  <leo.yang@torchmobile.com.cn>
158054
158055        [BlackBerry] Use the concrete FrameNetworkingContextBlackBerry to access Frame
158056        https://bugs.webkit.org/show_bug.cgi?id=75611
158057
158058        Reviewed by Antonio Gomes.
158059
158060        In platform/network/blackberry/ResourceHandleBlackBerry.cpp, we were using
158061        NetworkingContext::wrappedFrame() to access the frame associated with the
158062        networking context. NetworkingContext::wrappedFrame() was added as a virtual
158063        function by the BlackBerry porting internally. It's unnecessary because
158064        FrameNetworkingContextBlackBerry inherits from FrameNetworkingContext which
158065        has a protected frame() member which is exported as public in
158066        FrameNetworkingContextBlackBerry. We don't want to upstream wrappedFrame()
158067        as a specific change of the BlackBerry porting in
158068        platform/network/NetworkingContext.h, so use the concrete networking context
158069        FrameNetworkingContextBlackBerry to access the associated frame.
158070
158071        No functionalities changed, no new tests.
158072
158073        * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
158074        (WebCore::ResourceHandle::start):
158075        (WebCore::ResourceHandle::loadResourceSynchronously):
158076
1580772012-01-08  Sheriff Bot  <webkit.review.bot@gmail.com>
158078
158079        Unreviewed, rolling out r104421.
158080        http://trac.webkit.org/changeset/104421
158081        https://bugs.webkit.org/show_bug.cgi?id=75816
158082
158083        Need to rebaseline some tests on Linux (Requested by noamr on
158084        #webkit).
158085
158086        * Target.pri:
158087
1580882012-01-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
158089
158090        [Qt] Enable CSS_FILTERS in Qt build
158091        https://bugs.webkit.org/show_bug.cgi?id=75777
158092
158093        Enable CSS_FILTERS and unskip the tests.
158094
158095        Reviewed by Kenneth Rohde Christiansen.
158096
158097        Filter tests are now unskipped for Qt.
158098
158099        * Target.pri: add missing files to build.
158100
1581012012-01-08  Adam Barth  <abarth@webkit.org>
158102
158103        [Chromium] Remove use_skia option from GYP
158104        https://bugs.webkit.org/show_bug.cgi?id=75811
158105
158106        Reviewed by Ryosuke Niwa.
158107
158108        The CG configuration of Chromium Mac is no longer supported.
158109
158110        * WebCore.gyp/WebCore.gyp:
158111
1581122012-01-08  Benjamin Poulain  <benjamin@webkit.org>
158113
158114        Valid canonical URLs should have a lowercase hostname
158115        https://bugs.webkit.org/show_bug.cgi?id=75771
158116
158117        Reviewed by Adam Barth.
158118
158119        According to the RFC 3986 (and other browsers implementation), the hostname
158120        of valid canonical URLs should be lowercase.
158121
158122        This patch lowercase the hostname in KURL::parse() similarily to what we
158123        do for the scheme.
158124
158125        Tests: fast/url/host-lowercase-per-scheme.html
158126               fast/url/safari-extension.html
158127
158128        * platform/KURL.cpp:
158129        (WebCore::isCanonicalHostnameLowercaseForScheme):
158130        (WebCore::KURL::parse):
158131
1581322012-01-08  Adam Barth  <abarth@webkit.org>
158133
158134        Rename checkNodeSecurity and allowsAccessFromFrame to have sensible names
158135        https://bugs.webkit.org/show_bug.cgi?id=75796
158136
158137        Reviewed by Sam Weinig.
158138
158139        This patch contains only renames and FIXME comments.  No behavior change.
158140
158141        * bindings/js/JSDOMBinding.cpp:
158142        (WebCore::allowAccessToNode):
158143        (WebCore::allowAccessToFrame):
158144        * bindings/js/JSDOMBinding.h:
158145        * bindings/js/JSHTMLFrameElementCustom.cpp:
158146        (WebCore::allowSettingJavascriptURL):
158147        * bindings/js/JSHistoryCustom.cpp:
158148        (WebCore::JSHistory::getOwnPropertySlotDelegate):
158149        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
158150        (WebCore::JSHistory::putDelegate):
158151        (WebCore::JSHistory::deleteProperty):
158152        (WebCore::JSHistory::getOwnPropertyNames):
158153        * bindings/js/JSLocationCustom.cpp:
158154        (WebCore::JSLocation::getOwnPropertySlotDelegate):
158155        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
158156        (WebCore::JSLocation::putDelegate):
158157        (WebCore::JSLocation::deleteProperty):
158158        (WebCore::JSLocation::getOwnPropertyNames):
158159        (WebCore::JSLocation::toStringFunction):
158160        * bindings/js/ScriptController.cpp:
158161        (WebCore::ScriptController::canAccessFromCurrentOrigin):
158162        * bindings/scripts/CodeGeneratorJS.pm:
158163        (GenerateGetOwnPropertyDescriptorBody):
158164        (GenerateImplementation):
158165        * bindings/scripts/CodeGeneratorV8.pm:
158166        (GenerateNormalAttrGetter):
158167        (GenerateFunctionCallback):
158168
1581692012-01-08  Adam Barth  <abarth@webkit.org>
158170
158171        Remove deprecated toDynamicFrame and unused [CallWith=DynamicFrame]
158172        https://bugs.webkit.org/show_bug.cgi?id=75795
158173
158174        Reviewed by Eric Seidel.
158175
158176        We've succeeded in removing all the callers fo this function, including
158177        all the uses of CallWith=DynamicFrame in IDL files.
158178
158179        * bindings/js/JSDOMBinding.cpp:
158180        * bindings/js/JSDOMBinding.h:
158181        * bindings/scripts/CodeGeneratorJS.pm:
158182        (GenerateParametersCheck):
158183        * bindings/scripts/CodeGeneratorV8.pm:
158184        (GenerateFunctionCallString):
158185        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
158186        * bindings/scripts/test/CPP/WebDOMTestObj.h:
158187        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
158188        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
158189        * bindings/scripts/test/JS/JSTestObj.cpp:
158190        * bindings/scripts/test/JS/JSTestObj.h:
158191        * bindings/scripts/test/ObjC/DOMTestObj.h:
158192        * bindings/scripts/test/ObjC/DOMTestObj.mm:
158193        * bindings/scripts/test/TestObj.idl:
158194        * bindings/scripts/test/V8/V8TestObj.cpp:
158195
1581962012-01-08  Adam Barth  <abarth@webkit.org>
158197
158198        NeedsUserGestureCheck IDL attribute is no longer used
158199        https://bugs.webkit.org/show_bug.cgi?id=75794
158200
158201        Reviewed by Eric Seidel.
158202
158203        This IDL attribute is no longer used because we use static state to
158204        keep track of the user gesture state.  We can delete the code that
158205        supports it.
158206
158207        * bindings/scripts/CodeGeneratorCPP.pm:
158208        * bindings/scripts/CodeGeneratorGObject.pm:
158209        * bindings/scripts/CodeGeneratorJS.pm:
158210        * bindings/scripts/CodeGeneratorV8.pm:
158211        * bindings/scripts/test/TestObj.idl:
158212
1582132012-01-08  Adam Barth  <abarth@webkit.org>
158214
158215        Remove unused security functions from V8 bindings
158216        https://bugs.webkit.org/show_bug.cgi?id=75797
158217
158218        Reviewed by Eric Seidel.
158219
158220        This functions have no callers.  They can be removed.
158221
158222        * bindings/v8/ScriptController.cpp:
158223        * bindings/v8/ScriptController.h:
158224        * bindings/v8/specialization/V8BindingState.cpp:
158225        * bindings/v8/specialization/V8BindingState.h:
158226
1582272012-01-08  Pratik Solanki  <psolanki@apple.com>
158228
158229        Assertion failure under SharedBuffer::append() when NETWORK_CFDATA_ARRAY_CALLBACK is enabled
158230        https://bugs.webkit.org/show_bug.cgi?id=75656
158231
158232        Reviewed by Darin Adler.
158233
158234        Update the implementation of SubresourceLoader::didReceiveDataArray() to conform to the
158235        refactoring done as part of bug 71149 in r100311.
158236
158237        * loader/SubresourceLoader.cpp:
158238        (WebCore::SubresourceLoader::didReceiveData):
158239        (WebCore::SubresourceLoader::errorLoadingResource):
158240        * loader/SubresourceLoader.h:
158241        * loader/cf/SubresourceLoaderCF.cpp:
158242        (WebCore::SubresourceLoader::didReceiveDataArray):
158243
1582442012-01-08  Steve Block  <steveblock@google.com>
158245
158246        Remove V8-specific Java Bridge code
158247        https://bugs.webkit.org/show_bug.cgi?id=75801
158248
158249        Reviewed by Darin Adler.
158250
158251        Also remove superfluous JSC and V8 guards, as the code is now used only
158252        with JSC.
158253
158254        No new tests, removing dead code only.
158255
158256        * WebCore.gypi:
158257        * bridge/jni/JNIUtility.cpp:
158258        (JSC::Bindings::javaTypeFromClassName):
158259        (JSC::Bindings::signatureFromJavaType):
158260        (JSC::Bindings::getJNIField):
158261        (JSC::Bindings::callJNIMethod):
158262        * bridge/jni/JavaType.h:
158263        * bridge/jni/jsc/JavaMethodJSC.cpp:
158264        (appendClassName):
158265        (JavaMethod::signature):
158266        * bridge/jni/v8/JNIUtilityPrivate.cpp: Removed.
158267        * bridge/jni/v8/JNIUtilityPrivate.h: Removed.
158268        * bridge/jni/v8/JavaClassV8.h: Removed.
158269        * bridge/jni/v8/JavaFieldV8.h: Removed.
158270        * bridge/jni/v8/JavaInstanceV8.h: Removed.
158271        * bridge/jni/v8/JavaMethodV8.h: Removed.
158272        * bridge/jni/v8/JavaNPObjectV8.cpp: Removed.
158273        * bridge/jni/v8/JavaNPObjectV8.h: Removed.
158274        * bridge/jni/v8/JavaValueV8.h: Removed.
158275        * bridge/jsc/BridgeJSC.h:
158276
1582772012-01-08  Sheriff Bot  <webkit.review.bot@gmail.com>
158278
158279        Unreviewed, rolling out r104403.
158280        http://trac.webkit.org/changeset/104403
158281        https://bugs.webkit.org/show_bug.cgi?id=75803
158282
158283        It broke all tests on Qt5 (Requested by Ossy_weekend on
158284        #webkit).
158285
158286        * Target.pri:
158287
1582882012-01-08  Antti Koivisto  <antti@apple.com>
158289
158290        Don't create style selector in Element::recalcStyleIfNeededAfterAttributeChanged if it doesn't exist
158291        https://bugs.webkit.org/show_bug.cgi?id=75802
158292
158293        Rubber-stamped by Andreas Kling.
158294
158295        Element::recalcStyleIfNeededAfterAttributeChanged shouldn't create style selector for attribute 
158296        check if it doesn't already exist. We are going to need a full style recalc anyway in that case
158297        and the constructed style selector may get throw out again.
158298
158299        * dom/Element.cpp:
158300        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
158301
1583022012-01-08  No'am Rosenthal  <noam.rosenthal@nokia.com>
158303
158304        [Qt] Enable CSS_FILTERS in Qt build
158305        https://bugs.webkit.org/show_bug.cgi?id=75777
158306
158307        Enable CSS_FILTERS and unskip the tests.
158308
158309        Reviewed by Kenneth Rohde Christiansen.
158310
158311        Filter tests are now unskipped for Qt.
158312
158313        * Target.pri: add missing files to build.
158314
1583152012-01-07  Antti Koivisto  <antti@apple.com>
158316
158317        REGRESSION (r104060): Layout Test fast/media/viewport-media-query.html is occasionally failing
158318        https://bugs.webkit.org/show_bug.cgi?id=75633
158319
158320        Reviewed by Andreas Kling.
158321        
158322        If something triggers CSSStyleSelector construction very early, before documentElement is known,
158323        it won't be able to resolve viewport-related media queries. In the included test case
158324        the attribute on <html> element triggers the style selector creation. I can't repro
158325        the fast/media/viewport-media-query.html failure but I suspect it is the same issue with
158326        a different mechanism for early CSSStyleSelector construction.
158327        
158328        - Reset style selector on documentElement change.
158329        - Remove the code for lazy documentElement initialization. It is not an useful optimization,
158330          the children of Document rarely change.
158331
158332        Test: fast/media/viewport-media-query-synchronous.html
158333
158334        * WebCore.exp.in:
158335        * dom/Document.cpp:
158336        (WebCore::Document::childrenChanged):
158337        * dom/Document.h:
158338        (WebCore::Document::documentElement):
158339
1583402012-01-07  Andreas Kling  <awesomekling@apple.com>
158341
158342        Attempt to regenerate bindings on the Windows bot.
158343
158344        * html/HTMLCollection.h:
158345
1583462012-01-07  Daniel Bates  <dbates@webkit.org>
158347
158348        Memory allocator mismatch; Use operator new[] with OwnArrayPtr instead of fastMalloc()
158349
158350        Rubber-stamped by Adam Barth.
158351
158352        Currently getProgramInfoLog() in GraphicsContext3DOpenGL.cpp assumes that operator new[]
158353        and fastMalloc() are equivalent when it adopts a fastMalloc() allocated buffer. Notice,
158354        OwnArrayPtr ultimately calls delete[] on destruction. When GLOBAL_FASTMALLOC_NEW is disabled,
158355        it isn't true that operator new[], operator delete[] are equivalent to fastMalloc(), fastFree(),
158356        respectively. Hence, there may be a mismatch between the allocation and deallocation
158357        routines. Therefore, we should allocate the array to be adopted by OwnArrayPtr using
158358        operator new[].
158359
158360        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
158361        (WebCore::GraphicsContext3D::getProgramInfoLog):
158362
1583632012-01-07  Chris Marrin  <cmarrin@apple.com>
158364
158365        Fixed ANGLE build for GNU and QT broken in https://trac.webkit.org/changeset/104363
158366
158367        Unreviewed.
158368
158369        * GNUmakefile.list.am:
158370        * Target.pri:
158371
1583722012-01-07  Andreas Kling  <awesomekling@apple.com>
158373
158374        Unreviewed C++ bindings build fix after r104383.
158375
158376        Use WTF::getPtr() to grab at impl pointer since they could be either RefPtr or raw.
158377
158378        * bindings/scripts/CodeGeneratorCPP.pm:
158379        (GenerateImplementation):
158380        * bindings/scripts/test/CPP/WebDOMTestCallback.cpp:
158381        (WebDOMTestCallback::impl):
158382        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp:
158383        (WebDOMTestEventConstructor::impl):
158384        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp:
158385        (WebDOMTestInterface::impl):
158386        * bindings/scripts/test/CPP/WebDOMTestMediaQueryListListener.cpp:
158387        (WebDOMTestMediaQueryListListener::impl):
158388        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp:
158389        (WebDOMTestNamedConstructor::impl):
158390        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
158391        (WebDOMTestObj::impl):
158392        * bindings/scripts/test/CPP/WebDOMTestSerializedScriptValueInterface.cpp:
158393        (WebDOMTestSerializedScriptValueInterface::impl):
158394
1583952012-01-07  Andreas Kling  <awesomekling@apple.com>
158396
158397        Simplify HTMLCollection ownership model.
158398        <http://webkit.org/b/75437>
158399
158400        Reviewed by Sam Weinig.
158401
158402        Remove HTMLCollection's inheritance from RefCounted and use OwnPtr to store it.
158403        Added ref()/deref() methods that forward to the collection's base node, these
158404        are only ever used by DOM wrappers.
158405
158406        This is a behavior change, HTMLCollection wrappers now keep the base node alive.
158407
158408        Test: fast/dom/htmlcollection-protects-base.html
158409
158410        * html/HTMLCollection.h:
158411        (WebCore::HTMLCollection::ref):
158412        (WebCore::HTMLCollection::deref):
158413
158414            Removed inheritance from RefCounted. Added ref/deref that forward the refs
158415            to the collection's base Node.
158416
158417        * dom/Element.cpp:
158418        (WebCore::Element::~Element):
158419        * dom/Document.h:
158420        * dom/Document.cpp:
158421        (WebCore::Document::~Document):
158422        * html/HTMLFormElement.cpp:
158423        (WebCore::HTMLFormElement::~HTMLFormElement):
158424        * html/HTMLSelectElement.h:
158425        * html/HTMLSelectElement.cpp:
158426
158427            Remove HTMLCollection::detachFromNode() and call sites.
158428
158429        * html/HTMLAllCollection.cpp:
158430        (WebCore::HTMLAllCollection::namedItemWithIndex):
158431        * html/HTMLCollection.cpp:
158432        (WebCore::HTMLCollection::HTMLCollection):
158433        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
158434        (WebCore::HTMLCollection::itemAfter):
158435        (WebCore::HTMLCollection::calcLength):
158436        (WebCore::HTMLCollection::length):
158437        (WebCore::HTMLCollection::item):
158438        (WebCore::HTMLCollection::nextItem):
158439        (WebCore::HTMLCollection::namedItem):
158440        (WebCore::HTMLCollection::updateNameCache):
158441        (WebCore::HTMLCollection::hasNamedItem):
158442        (WebCore::HTMLCollection::namedItems):
158443        (WebCore::HTMLCollection::tags):
158444        * html/HTMLFormCollection.cpp:
158445        (WebCore::HTMLFormCollection::calcLength):
158446        (WebCore::HTMLFormCollection::item):
158447        (WebCore::HTMLFormCollection::getNamedItem):
158448        (WebCore::HTMLFormCollection::namedItem):
158449        (WebCore::HTMLFormCollection::updateNameCache):
158450        * html/HTMLNameCollection.cpp:
158451        (WebCore::HTMLNameCollection::itemAfter):
158452        * html/HTMLOptionsCollection.cpp:
158453        (WebCore::HTMLOptionsCollection::add):
158454        (WebCore::HTMLOptionsCollection::remove):
158455        (WebCore::HTMLOptionsCollection::selectedIndex):
158456        (WebCore::HTMLOptionsCollection::setSelectedIndex):
158457        (WebCore::HTMLOptionsCollection::setLength):
158458        * html/HTMLPropertiesCollection.cpp:
158459        (WebCore::HTMLPropertiesCollection::length):
158460        (WebCore::HTMLPropertiesCollection::item):
158461        (WebCore::HTMLPropertiesCollection::names):
158462
158463            Removed base node null-checks and assertions. Added one assertion to
158464            the HTMLCollection constructor (that m_base is non-null.)
158465
158466        * dom/Document.h:
158467        * dom/Document.cpp:
158468        (WebCore::Document::openSearchDescriptionURL):
158469        (WebCore::Document::cachedCollection):
158470        (WebCore::Document::images):
158471        (WebCore::Document::applets):
158472        (WebCore::Document::embeds):
158473        (WebCore::Document::plugins):
158474        (WebCore::Document::objects):
158475        (WebCore::Document::scripts):
158476        (WebCore::Document::links):
158477        (WebCore::Document::forms):
158478        (WebCore::Document::anchors):
158479        (WebCore::Document::all):
158480        (WebCore::Document::windowNamedItems):
158481        (WebCore::Document::documentNamedItems):
158482        * bindings/js/JSDOMWindowCustom.cpp:
158483        (WebCore::namedItemGetter):
158484        * bindings/js/JSHTMLDocumentCustom.cpp:
158485        (WebCore::JSHTMLDocument::nameGetter):
158486        (WebCore::JSHTMLDocument::all):
158487        * bindings/v8/custom/V8DOMWindowCustom.cpp:
158488        (WebCore::V8DOMWindow::namedPropertyGetter):
158489        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
158490        (WebCore::V8HTMLDocument::GetNamedProperty):
158491        * dom/ElementRareData.h:
158492        (WebCore::ElementRareData::ensureCachedHTMLCollection):
158493        * dom/NodeRareData.h:
158494        (WebCore::NodeRareData::properties):
158495        * html/HTMLAllCollection.h:
158496        * html/HTMLAllCollection.cpp:
158497        (WebCore::HTMLAllCollection::create):
158498        * html/HTMLCollection.h:
158499        * html/HTMLCollection.cpp:
158500        (WebCore::HTMLCollection::create):
158501        (WebCore::HTMLCollection::HTMLCollection):
158502        * html/HTMLDataListElement.cpp:
158503        (WebCore::HTMLDataListElement::options):
158504        * html/HTMLDataListElement.h:
158505        * html/HTMLElement.cpp:
158506        (WebCore::HTMLElement::children):
158507        * html/HTMLElement.h:
158508        * html/HTMLSelectElement.h:
158509        (WebCore::HTMLSelectElement::options):
158510        * html/HTMLFormCollection.h:
158511        * html/HTMLFormElement.h:
158512        * html/HTMLFormElement.cpp:
158513        (WebCore::HTMLFormElement::elements):
158514        * html/HTMLNameCollection.h:
158515        (WebCore::HTMLNameCollection::create):
158516        * html/HTMLFormCollection.cpp:
158517        (WebCore::HTMLFormCollection::create):
158518        * html/HTMLMapElement.cpp:
158519        (WebCore::HTMLMapElement::imageElement):
158520        (WebCore::HTMLMapElement::areas):
158521        * html/HTMLMapElement.h:
158522        * html/HTMLPropertiesCollection.h:
158523        * html/HTMLTableElement.cpp:
158524        (WebCore::HTMLTableElement::rows):
158525        (WebCore::HTMLTableElement::tBodies):
158526        * html/HTMLTableElement.h:
158527        * html/HTMLTableRowElement.cpp:
158528        (WebCore::HTMLTableRowElement::insertCell):
158529        (WebCore::HTMLTableRowElement::deleteCell):
158530        (WebCore::HTMLTableRowElement::cells):
158531        * html/HTMLTableRowElement.h:
158532        * html/HTMLTableRowsCollection.cpp:
158533        (WebCore::HTMLTableRowsCollection::create):
158534        (WebCore::HTMLTableRowsCollection::itemAfter):
158535        * html/HTMLTableRowsCollection.h:
158536        * html/HTMLTableSectionElement.h:
158537        * html/HTMLTableSectionElement.cpp:
158538        (WebCore::HTMLTableSectionElement::insertRow):
158539        (WebCore::HTMLTableSectionElement::deleteRow):
158540        (WebCore::HTMLTableSectionElement::rows):
158541        * html/HTMLInputElement.cpp:
158542        (WebCore::HTMLInputElement::selectedOption):
158543        * html/HTMLOptionsCollection.h:
158544        * html/HTMLOptionsCollection.cpp:
158545        (WebCore::HTMLOptionsCollection::create):
158546        * html/HTMLPropertiesCollection.cpp:
158547        (WebCore::HTMLPropertiesCollection::create):
158548        * Source/WebCore/accessibility/AccessibilityRenderObject.cpp:
158549        (WebCore::AccessibilityRenderObject::getDocumentLinks):
158550
158551            Store cached HTMLCollections in OwnPtrs. Methods that used to return
158552            PassRefPtr<HTMLCollection> now simply return HTMLCollection*.
158553            Updated call sites as appropriate.
158554
1585552012-01-07  Adam Barth  <abarth@webkit.org>
158556
158557        Attempt to fix Qt build.
158558
158559        * page/Geolocation.cpp:
158560        (WebCore::Geolocation::Geolocation):
158561
1585622012-01-06  Ryosuke Niwa  <rniwa@webkit.org>
158563
158564        REGRESSION(r104210): Crash inside DynamicSubtreeNodeList::length
158565        https://bugs.webkit.org/show_bug.cgi?id=75731
158566
158567        Reviewed by Andreas Kling.
158568
158569        The crash was caused by DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent
158570        using m_cachedItem as a way to access the document. Changed SubtreeCaches to use
158571        DynamicSubtreeNodeList's m_node instead.
158572
158573        Test: fast/dom/node-list-length-after-removing-node.html
158574
158575        * dom/DynamicNodeList.cpp:
158576        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):
158577        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache):
158578        (WebCore::DynamicSubtreeNodeList::length):
158579        (WebCore::DynamicSubtreeNodeList::item):
158580        * dom/DynamicNodeList.h:
158581        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid):
158582        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid):
158583        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItem):
158584        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent):
158585
1585862012-01-07  Adam Barth  <abarth@webkit.org>
158587
158588        Disconnecting DOMWindow properties is fragile and overly complicated
158589        https://bugs.webkit.org/show_bug.cgi?id=75699
158590
158591        Reviewed by Alexey Proskuryakov.
158592
158593        Previously, we had to carefully check every object tree hanging off of
158594        DOMWindow to make sure that every property correctly disconnected
158595        itself and all its subobjects from the Frame when the DOMWindow
158596        disconnected from the Frame.
158597
158598        This patch introduces DOMWindowProperty, which is a base class that
158599        handles this work automagically, ensuring that we won't have any
158600        dangling Frame pointers and removing a bunch of boilerplate code.
158601
158602        * CMakeLists.txt:
158603        * GNUmakefile.list.am:
158604        * Target.pri:
158605        * WebCore.gypi:
158606        * WebCore.vcproj/WebCore.vcproj:
158607        * css/StyleMedia.cpp:
158608        (WebCore::StyleMedia::StyleMedia):
158609        * css/StyleMedia.h:
158610        (WebCore::StyleMedia::create):
158611        * loader/appcache/DOMApplicationCache.cpp:
158612        (WebCore::DOMApplicationCache::DOMApplicationCache):
158613        (WebCore::DOMApplicationCache::disconnectFrame):
158614        * loader/appcache/DOMApplicationCache.h:
158615        * page/BarInfo.cpp:
158616        (WebCore::BarInfo::BarInfo):
158617        * page/BarInfo.h:
158618        * page/Console.cpp:
158619        (WebCore::Console::Console):
158620        (WebCore::Console::memory):
158621        * page/Console.h:
158622        * page/DOMSelection.cpp:
158623        (WebCore::DOMSelection::DOMSelection):
158624        * page/DOMSelection.h:
158625        * page/DOMWindow.cpp:
158626        (WebCore::DOMWindow::registerProperty):
158627        (WebCore::DOMWindow::unregisterProperty):
158628        (WebCore::DOMWindow::clear):
158629        * page/DOMWindow.h:
158630        * page/Geolocation.cpp:
158631        (WebCore::Geolocation::Geolocation):
158632        (WebCore::Geolocation::disconnectFrame):
158633        * page/Geolocation.h:
158634        * page/History.cpp:
158635        (WebCore::History::History):
158636        * page/History.h:
158637        * page/Location.cpp:
158638        (WebCore::Location::Location):
158639        * page/Location.h:
158640        * page/Navigator.cpp:
158641        (WebCore::Navigator::Navigator):
158642        (WebCore::Navigator::~Navigator):
158643        * page/Navigator.h:
158644        * page/Performance.cpp:
158645        (WebCore::Performance::Performance):
158646        (WebCore::Performance::memory):
158647        * page/Performance.h:
158648        * page/PerformanceNavigation.cpp:
158649        (WebCore::PerformanceNavigation::PerformanceNavigation):
158650        * page/PerformanceNavigation.h:
158651        * page/PerformanceTiming.cpp:
158652        (WebCore::PerformanceTiming::PerformanceTiming):
158653        * page/PerformanceTiming.h:
158654        * page/Screen.cpp:
158655        (WebCore::Screen::Screen):
158656        * page/Screen.h:
158657        * plugins/DOMMimeTypeArray.cpp:
158658        (WebCore::DOMMimeTypeArray::DOMMimeTypeArray):
158659        * plugins/DOMMimeTypeArray.h:
158660        * plugins/DOMPluginArray.cpp:
158661        (WebCore::DOMPluginArray::DOMPluginArray):
158662        * plugins/DOMPluginArray.h:
158663        * storage/Storage.cpp:
158664        (WebCore::Storage::Storage):
158665        * storage/Storage.h:
158666
1586672012-01-06  Mark Rowe  <mrowe@apple.com>
158668
158669        REGRESSION (r83075): Save as PDF does not generate any links for webkit.org and others
158670        <http://webkit.org/b/75768> <rdar://problem/10659258>
158671
158672        Use RenderObject::hasOutline when determining whether to always create line boxes so that
158673        we take in to consideration whether we'll be creating PDF link rects.
158674
158675        Reviewed by Dan Bernstein.
158676
158677        * rendering/RenderInline.cpp:
158678        (WebCore::RenderInline::styleDidChange):
158679
1586802012-01-06  Sheriff Bot  <webkit.review.bot@gmail.com>
158681
158682        Unreviewed, rolling out r104373 and r104374.
158683        http://trac.webkit.org/changeset/104373
158684        http://trac.webkit.org/changeset/104374
158685        https://bugs.webkit.org/show_bug.cgi?id=75769
158686
158687        Too many assertion failures. (Requested by kling on #webkit).
158688
158689        * bindings/js/JSDOMWindowCustom.cpp:
158690        (WebCore::namedItemGetter):
158691        * bindings/js/JSHTMLDocumentCustom.cpp:
158692        (WebCore::JSHTMLDocument::nameGetter):
158693        (WebCore::JSHTMLDocument::all):
158694        * bindings/v8/custom/V8DOMWindowCustom.cpp:
158695        (WebCore::V8DOMWindow::namedPropertyGetter):
158696        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
158697        (WebCore::V8HTMLDocument::GetNamedProperty):
158698        * dom/Document.cpp:
158699        (WebCore::Document::~Document):
158700        (WebCore::Document::openSearchDescriptionURL):
158701        (WebCore::Document::cachedCollection):
158702        (WebCore::Document::images):
158703        (WebCore::Document::applets):
158704        (WebCore::Document::embeds):
158705        (WebCore::Document::plugins):
158706        (WebCore::Document::objects):
158707        (WebCore::Document::scripts):
158708        (WebCore::Document::links):
158709        (WebCore::Document::forms):
158710        (WebCore::Document::anchors):
158711        (WebCore::Document::all):
158712        (WebCore::Document::windowNamedItems):
158713        (WebCore::Document::documentNamedItems):
158714        * dom/Document.h:
158715        * dom/Element.cpp:
158716        (WebCore::Element::~Element):
158717        * dom/ElementRareData.h:
158718        (WebCore::ElementRareData::cachedHTMLCollection):
158719        (WebCore::ElementRareData::ensureCachedHTMLCollection):
158720        * dom/NodeRareData.h:
158721        (WebCore::NodeRareData::properties):
158722        * html/HTMLAllCollection.cpp:
158723        (WebCore::HTMLAllCollection::create):
158724        (WebCore::HTMLAllCollection::namedItemWithIndex):
158725        * html/HTMLAllCollection.h:
158726        * html/HTMLCollection.cpp:
158727        (WebCore::HTMLCollection::HTMLCollection):
158728        (WebCore::HTMLCollection::create):
158729        (WebCore::HTMLCollection::detachFromNode):
158730        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
158731        (WebCore::HTMLCollection::itemAfter):
158732        (WebCore::HTMLCollection::calcLength):
158733        (WebCore::HTMLCollection::length):
158734        (WebCore::HTMLCollection::item):
158735        (WebCore::HTMLCollection::nextItem):
158736        (WebCore::HTMLCollection::namedItem):
158737        (WebCore::HTMLCollection::updateNameCache):
158738        (WebCore::HTMLCollection::hasNamedItem):
158739        (WebCore::HTMLCollection::namedItems):
158740        (WebCore::HTMLCollection::tags):
158741        * html/HTMLCollection.h:
158742        * html/HTMLDataListElement.cpp:
158743        (WebCore::HTMLDataListElement::options):
158744        * html/HTMLDataListElement.h:
158745        * html/HTMLElement.cpp:
158746        (WebCore::HTMLElement::children):
158747        * html/HTMLElement.h:
158748        * html/HTMLFormCollection.cpp:
158749        (WebCore::HTMLFormCollection::create):
158750        (WebCore::HTMLFormCollection::calcLength):
158751        (WebCore::HTMLFormCollection::item):
158752        (WebCore::HTMLFormCollection::getNamedItem):
158753        (WebCore::HTMLFormCollection::namedItem):
158754        (WebCore::HTMLFormCollection::updateNameCache):
158755        * html/HTMLFormCollection.h:
158756        * html/HTMLFormElement.cpp:
158757        (WebCore::HTMLFormElement::~HTMLFormElement):
158758        (WebCore::HTMLFormElement::elements):
158759        * html/HTMLFormElement.h:
158760        * html/HTMLInputElement.cpp:
158761        (WebCore::HTMLInputElement::selectedOption):
158762        * html/HTMLMapElement.cpp:
158763        (WebCore::HTMLMapElement::imageElement):
158764        (WebCore::HTMLMapElement::areas):
158765        * html/HTMLMapElement.h:
158766        * html/HTMLNameCollection.cpp:
158767        (WebCore::HTMLNameCollection::itemAfter):
158768        * html/HTMLNameCollection.h:
158769        (WebCore::HTMLNameCollection::create):
158770        * html/HTMLOptionsCollection.cpp:
158771        (WebCore::HTMLOptionsCollection::create):
158772        (WebCore::HTMLOptionsCollection::add):
158773        (WebCore::HTMLOptionsCollection::remove):
158774        (WebCore::HTMLOptionsCollection::selectedIndex):
158775        (WebCore::HTMLOptionsCollection::setSelectedIndex):
158776        (WebCore::HTMLOptionsCollection::setLength):
158777        * html/HTMLOptionsCollection.h:
158778        * html/HTMLPropertiesCollection.cpp:
158779        (WebCore::HTMLPropertiesCollection::create):
158780        (WebCore::HTMLPropertiesCollection::length):
158781        (WebCore::HTMLPropertiesCollection::item):
158782        (WebCore::HTMLPropertiesCollection::names):
158783        * html/HTMLPropertiesCollection.h:
158784        * html/HTMLSelectElement.cpp:
158785        (WebCore::HTMLSelectElement::~HTMLSelectElement):
158786        (WebCore::HTMLSelectElement::options):
158787        * html/HTMLSelectElement.h:
158788        * html/HTMLTableElement.cpp:
158789        (WebCore::HTMLTableElement::~HTMLTableElement):
158790
1587912012-01-06  Andreas Kling  <awesomekling@apple.com>
158792
158793        Unreviewed build fix after r104373.
158794
158795        * html/HTMLTableElement.cpp:
158796        (WebCore::HTMLTableElement::~HTMLTableElement):
158797
1587982012-01-06  Andreas Kling  <awesomekling@apple.com>
158799
158800        Simplify HTMLCollection ownership model.
158801        <http://webkit.org/b/75437>
158802
158803        Reviewed by Sam Weinig.
158804
158805        Remove HTMLCollection's inheritance from RefCounted and use OwnPtr to store it.
158806        Added ref()/deref() methods that forward to the collection's base node, these
158807        are only ever used by DOM wrappers.
158808
158809        This is a behavior change, HTMLCollection wrappers now keep the base node alive.
158810
158811        Test: fast/dom/htmlcollection-protects-base.html
158812
158813        * html/HTMLCollection.h:
158814        (WebCore::HTMLCollection::ref):
158815        (WebCore::HTMLCollection::deref):
158816
158817            Removed inheritance from RefCounted. Added ref/deref that forward the refs
158818            to the collection's base Node.
158819
158820        * dom/Element.cpp:
158821        (WebCore::Element::~Element):
158822        * dom/Document.h:
158823        * dom/Document.cpp:
158824        (WebCore::Document::~Document):
158825        * html/HTMLFormElement.cpp:
158826        (WebCore::HTMLFormElement::~HTMLFormElement):
158827        * html/HTMLSelectElement.h:
158828        * html/HTMLSelectElement.cpp:
158829
158830            Remove HTMLCollection::detachFromNode() and call sites.
158831
158832        * html/HTMLAllCollection.cpp:
158833        (WebCore::HTMLAllCollection::namedItemWithIndex):
158834        * html/HTMLCollection.cpp:
158835        (WebCore::HTMLCollection::HTMLCollection):
158836        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
158837        (WebCore::HTMLCollection::itemAfter):
158838        (WebCore::HTMLCollection::calcLength):
158839        (WebCore::HTMLCollection::length):
158840        (WebCore::HTMLCollection::item):
158841        (WebCore::HTMLCollection::nextItem):
158842        (WebCore::HTMLCollection::namedItem):
158843        (WebCore::HTMLCollection::updateNameCache):
158844        (WebCore::HTMLCollection::hasNamedItem):
158845        (WebCore::HTMLCollection::namedItems):
158846        (WebCore::HTMLCollection::tags):
158847        * html/HTMLFormCollection.cpp:
158848        (WebCore::HTMLFormCollection::calcLength):
158849        (WebCore::HTMLFormCollection::item):
158850        (WebCore::HTMLFormCollection::getNamedItem):
158851        (WebCore::HTMLFormCollection::namedItem):
158852        (WebCore::HTMLFormCollection::updateNameCache):
158853        * html/HTMLNameCollection.cpp:
158854        (WebCore::HTMLNameCollection::itemAfter):
158855        * html/HTMLOptionsCollection.cpp:
158856        (WebCore::HTMLOptionsCollection::add):
158857        (WebCore::HTMLOptionsCollection::remove):
158858        (WebCore::HTMLOptionsCollection::selectedIndex):
158859        (WebCore::HTMLOptionsCollection::setSelectedIndex):
158860        (WebCore::HTMLOptionsCollection::setLength):
158861        * html/HTMLPropertiesCollection.cpp:
158862        (WebCore::HTMLPropertiesCollection::length):
158863        (WebCore::HTMLPropertiesCollection::item):
158864        (WebCore::HTMLPropertiesCollection::names):
158865
158866            Removed base node null-checks and assertions. Added one assertion to
158867            the HTMLCollection constructor (that m_base is non-null.)
158868
158869        * dom/Document.h:
158870        * dom/Document.cpp:
158871        (WebCore::Document::openSearchDescriptionURL):
158872        (WebCore::Document::cachedCollection):
158873        (WebCore::Document::images):
158874        (WebCore::Document::applets):
158875        (WebCore::Document::embeds):
158876        (WebCore::Document::plugins):
158877        (WebCore::Document::objects):
158878        (WebCore::Document::scripts):
158879        (WebCore::Document::links):
158880        (WebCore::Document::forms):
158881        (WebCore::Document::anchors):
158882        (WebCore::Document::all):
158883        (WebCore::Document::windowNamedItems):
158884        (WebCore::Document::documentNamedItems):
158885        * bindings/js/JSDOMWindowCustom.cpp:
158886        (WebCore::namedItemGetter):
158887        * bindings/js/JSHTMLDocumentCustom.cpp:
158888        (WebCore::JSHTMLDocument::nameGetter):
158889        (WebCore::JSHTMLDocument::all):
158890        * bindings/v8/custom/V8DOMWindowCustom.cpp:
158891        (WebCore::V8DOMWindow::namedPropertyGetter):
158892        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
158893        (WebCore::V8HTMLDocument::GetNamedProperty):
158894        * dom/ElementRareData.h:
158895        (WebCore::ElementRareData::ensureCachedHTMLCollection):
158896        * dom/NodeRareData.h:
158897        (WebCore::NodeRareData::properties):
158898        * html/HTMLAllCollection.h:
158899        * html/HTMLAllCollection.cpp:
158900        (WebCore::HTMLAllCollection::create):
158901        * html/HTMLCollection.h:
158902        * html/HTMLCollection.cpp:
158903        (WebCore::HTMLCollection::create):
158904        (WebCore::HTMLCollection::HTMLCollection):
158905        * html/HTMLDataListElement.cpp:
158906        (WebCore::HTMLDataListElement::options):
158907        * html/HTMLDataListElement.h:
158908        * html/HTMLElement.cpp:
158909        (WebCore::HTMLElement::children):
158910        * html/HTMLElement.h:
158911        * html/HTMLSelectElement.h:
158912        (WebCore::HTMLSelectElement::options):
158913        * html/HTMLFormCollection.h:
158914        * html/HTMLFormElement.h:
158915        * html/HTMLFormElement.cpp:
158916        (WebCore::HTMLFormElement::elements):
158917        * html/HTMLNameCollection.h:
158918        (WebCore::HTMLNameCollection::create):
158919        * html/HTMLFormCollection.cpp:
158920        (WebCore::HTMLFormCollection::create):
158921        * html/HTMLMapElement.cpp:
158922        (WebCore::HTMLMapElement::imageElement):
158923        (WebCore::HTMLMapElement::areas):
158924        * html/HTMLMapElement.h:
158925        * html/HTMLPropertiesCollection.h:
158926        * html/HTMLTableElement.cpp:
158927        (WebCore::HTMLTableElement::rows):
158928        (WebCore::HTMLTableElement::tBodies):
158929        * html/HTMLTableElement.h:
158930        * html/HTMLTableRowElement.cpp:
158931        (WebCore::HTMLTableRowElement::insertCell):
158932        (WebCore::HTMLTableRowElement::deleteCell):
158933        (WebCore::HTMLTableRowElement::cells):
158934        * html/HTMLTableRowElement.h:
158935        * html/HTMLTableRowsCollection.cpp:
158936        (WebCore::HTMLTableRowsCollection::create):
158937        (WebCore::HTMLTableRowsCollection::itemAfter):
158938        * html/HTMLTableRowsCollection.h:
158939        * html/HTMLTableSectionElement.h:
158940        * html/HTMLTableSectionElement.cpp:
158941        (WebCore::HTMLTableSectionElement::insertRow):
158942        (WebCore::HTMLTableSectionElement::deleteRow):
158943        (WebCore::HTMLTableSectionElement::rows):
158944        * html/HTMLInputElement.cpp:
158945        (WebCore::HTMLInputElement::selectedOption):
158946        * html/HTMLOptionsCollection.h:
158947        * html/HTMLOptionsCollection.cpp:
158948        (WebCore::HTMLOptionsCollection::create):
158949        * html/HTMLPropertiesCollection.cpp:
158950        (WebCore::HTMLPropertiesCollection::create):
158951
158952            Store cached HTMLCollections in OwnPtrs. Methods that used to return
158953            PassRefPtr<HTMLCollection> now simply return HTMLCollection*.
158954            Updated call sites as appropriate.
158955
1589562012-01-06  Adam Barth  <abarth@webkit.org>
158957
158958        DOMWindow should be a FrameDestructionObserver
158959        https://bugs.webkit.org/show_bug.cgi?id=75697
158960
158961        Reviewed by Alexey Proskuryakov.
158962
158963        DOMWindow plays exactly the role of a FrameDestructionObserver, just
158964        with special-case code.  It should just use the general-case code.
158965
158966        * page/DOMWindow.cpp:
158967        (WebCore::DOMWindow::DOMWindow):
158968        (WebCore::DOMWindow::~DOMWindow):
158969        (WebCore::DOMWindow::frameDestroyed):
158970        * page/DOMWindow.h:
158971        * page/Frame.cpp:
158972        (WebCore::Frame::~Frame):
158973        (WebCore::Frame::clearDOMWindow):
158974        (WebCore::Frame::setDOMWindow):
158975        * page/Frame.h:
158976
1589772012-01-06  Joseph Pecoraro  <pecoraro@apple.com>
158978
158979        Web Inspector: Missing Implementation of Public InspectorDOMAgent Function
158980        https://bugs.webkit.org/show_bug.cgi?id=75759
158981
158982        Implement missing accessor and make setter public.
158983
158984        Reviewed by Timothy Hatcher.
158985
158986        * inspector/InspectorDOMAgent.cpp:
158987        (WebCore::InspectorDOMAgent::searchingForNodeInPage):
158988        * inspector/InspectorDOMAgent.h:
158989
1589902012-01-06  W. James MacLean  <wjmaclean@chromium.org>
158991
158992        [Chromium] Cull occluded tiles in tiled layers
158993        https://bugs.webkit.org/show_bug.cgi?id=70533
158994
158995        Reviewed by James Robinson.
158996
158997        Unit test provided, must pass all existing GPU layout tests.
158998
158999        * WebCore.gypi:
159000        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
159001        (WebCore::CCLayerImpl::appendQuads):
159002        (WebCore::CCLayerImpl::quadTransform):
159003        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
159004        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
159005        (WebCore::CCLayerTreeHostImpl::optimizeRenderPasses):
159006        (WebCore::CCLayerTreeHostImpl::drawLayers):
159007        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
159008        * platform/graphics/chromium/cc/CCQuadCuller.cpp: Added.
159009        (std::swap):
159010        (WebCore::regionContainsRect):
159011        (WebCore::CCQuadCuller::cullOccludedQuads):
159012        * platform/graphics/chromium/cc/CCQuadCuller.h: Added.
159013        (WebCore::CCQuadCuller::CCQuadCuller):
159014        * platform/graphics/chromium/cc/CCRenderPass.cpp:
159015        (WebCore::CCRenderPass::optimizeQuads):
159016        * platform/graphics/chromium/cc/CCRenderPass.h:
159017
1590182012-01-06  Anders Carlsson  <andersca@apple.com>
159019
159020        Move more rubberbanding code into ScrollAnimatorMac::smoothScrollWithEvent
159021        https://bugs.webkit.org/show_bug.cgi?id=75750
159022
159023        Reviewed by Sam Weinig.
159024
159025        * platform/mac/ScrollAnimatorMac.h:
159026        * platform/mac/ScrollAnimatorMac.mm:
159027        (WebCore::ScrollAnimatorMac::handleWheelEvent):
159028        Move rubberbanding related code into smoothScrollWithEvent.
159029
159030        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
159031        Move code here from handleWheelEvent and made the function return a boolean.
159032
159033        (WebCore::ScrollAnimatorMac::snapRubberBand):
159034        Call the client.
159035
159036        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
159037        Ditto.
159038
1590392012-01-06  Greg Billock  <gbillock@google.com>
159040
159041        WebCore implementation of the Intent object
159042        See http://dvcs.w3.org/hg/web-intents/raw-file/tip/spec/Overview.html
159043        for draft spec.
159044
159045        https://bugs.webkit.org/show_bug.cgi?id=73051
159046
159047        Reviewed by Adam Barth.
159048
159049        Test: web-intents/web-intents-api.html
159050
159051        * WebCore.gypi:
159052        * page/DOMWindow.idl:
159053        * Modules/intents/Intent.cpp: Added.
159054        (WebCore::Intent::Intent):
159055        (WebCore::Intent::action):
159056        (WebCore::Intent::setAction):
159057        (WebCore::Intent::type):
159058        (WebCore::Intent::setType):
159059        (WebCore::Intent::data):
159060        (WebCore::Intent::setData):
159061        (WebCore::Intent::create):
159062        * Modules/intents/Intent.h: Added.
159063        * Modules/intents/Intent.idl: Added.
159064
1590652012-01-06  Tim Horton  <timothy_horton@apple.com>
159066
159067        [cg] userSpaceOnUse SVG Patterns have the wrong origin
159068        https://bugs.webkit.org/show_bug.cgi?id=75741
159069        <rdar://problem/9383222>
159070
159071        Reviewed by Simon Fraser.
159072
159073        The transformation from pattern space to user space should use the userToBase CTM,
159074        not the current CTM.
159075
159076        Test: svg/custom/pattern-userSpaceOnUse-userToBaseTransform.xhtml
159077
159078        * platform/graphics/cg/GraphicsContextCG.cpp:
159079        (WebCore::GraphicsContext::applyStrokePattern):
159080        (WebCore::GraphicsContext::applyFillPattern):
159081        (WebCore::GraphicsContext::getCTM):
159082        * platform/graphics/cg/TransformationMatrixCG.cpp:
159083        (WebCore::AffineTransform::AffineTransform): Add a AffineTransform(CGAffineTransform) constructor
159084        * platform/graphics/transforms/AffineTransform.h:
159085
1590862012-01-05  Simon Fraser  <simon.fraser@apple.com>
159087
159088        Avoid falling into tiled layers more often when the device scale factor is > 1
159089        <rdar://problem/10588725>
159090
159091        Reviewed by John Sullivan.
159092        
159093        Stop taking the device scale factor into account when deciding to make
159094        tiled layers.
159095
159096        Test: compositing/tiled-layers-hidpi.html
159097
159098        * platform/graphics/ca/GraphicsLayerCA.cpp:
159099        (WebCore::GraphicsLayerCA::requiresTiledLayer):
159100
1591012012-01-06  Ryosuke Niwa  <rniwa@webkit.org>
159102
159103        Touch a bunch of files in an attempt to fix Mac release builds.
159104
159105        * accessibility/AXObjectCache.cpp:
159106        (WebCore::AXObjectCache::get):
159107        * accessibility/AccessibilityAllInOne.cpp:
159108        * editing/visible_units.cpp:
159109        (WebCore::previousBoundary):
159110
1591112012-01-06  No'am Rosenthal  <noam.rosenthal@nokia.com>
159112
159113        Enable a compositing trigger for filters
159114        https://bugs.webkit.org/show_bug.cgi?id=75658
159115
159116        This will enable forcing the compositing code path when filters exist for a RenderObject.
159117
159118        Reviewed by Simon Fraser.
159119
159120        No new functionality so no new tests.
159121
159122        * page/ChromeClient.h:
159123        * rendering/RenderLayerCompositor.cpp:
159124        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
159125        (WebCore::RenderLayerCompositor::requiresCompositingForFilters):
159126        * rendering/RenderLayerCompositor.h:
159127
1591282012-01-06  Anders Carlsson  <andersca@apple.com>
159129
159130        Add and use ScrollElasticityControllerClient::absoluteScrollPosition
159131        https://bugs.webkit.org/show_bug.cgi?id=75744
159132
159133        Reviewed by Dan Bernstein.
159134
159135        * platform/mac/ScrollAnimatorMac.h:
159136        * platform/mac/ScrollAnimatorMac.mm:
159137        (WebCore::ScrollAnimatorMac::absoluteScrollPosition):
159138        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
159139        * platform/mac/ScrollElasticityController.h:
159140
1591412012-01-06  Adam Barth  <abarth@webkit.org>
159142
159143        Move FrameDestructionObserver to its own file
159144        https://bugs.webkit.org/show_bug.cgi?id=75693
159145
159146        Reviewed by Eric Seidel.
159147
159148        We should have one class per file, on general principles.  Also, this
159149        make it possible to use this class in DOMWindow without introducing a
159150        circular include dependency.
159151
159152        * CMakeLists.txt:
159153        * GNUmakefile.list.am:
159154        * Target.pri:
159155        * WebCore.gypi:
159156        * WebCore.vcproj/WebCore.vcproj:
159157        * page/Frame.cpp:
159158        * page/Frame.h:
159159        * page/FrameDestructionObserver.cpp: Added.
159160        (WebCore::FrameDestructionObserver::FrameDestructionObserver):
159161        (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
159162        (WebCore::FrameDestructionObserver::frameDestroyed):
159163        * page/FrameDestructionObserver.h: Added.
159164        (WebCore::FrameDestructionObserver::frame):
159165        * plugins/DOMMimeType.h:
159166        * plugins/DOMPlugin.h:
159167
1591682012-01-06  Anders Carlsson  <andersca@apple.com>
159169
159170        Fix Snow Leopard build.
159171
159172        * platform/mac/ScrollAnimatorMac.mm:
159173        (WebCore::ScrollAnimatorMac::immediateScrollBy):
159174        Move the function definition inside #if ENABLE(RUBBER_BANDING).
159175
1591762012-01-04  Jon Lee  <jonlee@apple.com>
159177
159178        Clicking on the cancel button on readonly and disabled search fields darkens as if the search field was editable
159179        https://bugs.webkit.org/show_bug.cgi?id=69886
159180        <rdar://problem/10070187>
159181
159182        Reviewed by Adele Peterson.
159183
159184        Tests: ManualTests/search-cancel-button.html
159185
159186        * rendering/RenderThemeMac.mm:
159187        (WebCore::RenderThemeMac::paintSearchFieldCancelButton): If the input is readonly and/or disabled, force the cell to
159188        render without highlight.
159189
1591902012-01-06  Simon Fraser  <simon.fraser@apple.com>
159191
159192        Mitigate scrollbar differences when running pixel tests
159193        https://bugs.webkit.org/show_bug.cgi?id=67217
159194
159195        Reviewed by Dan Bernstein.
159196
159197        Export WebCore::Settings::mockScrollbarsEnabled() for DRT.
159198
159199        * WebCore.exp.in:
159200
1592012012-01-06  Tom Sepez  <tsepez@chromium.org>
159202
159203        Pass Content-Security-Policy directives to worker threads.
159204        https://bugs.webkit.org/show_bug.cgi?id=73242
159205
159206        Reviewed by David Levin.
159207
159208        Tests: http/tests/security/contentSecurityPolicy/shared-worker-connect-src-allowed.html
159209               http/tests/security/contentSecurityPolicy/shared-worker-connect-src-blocked.html
159210               http/tests/security/contentSecurityPolicy/worker-connect-src-allowed.html
159211               http/tests/security/contentSecurityPolicy/worker-connect-src-blocked.html
159212
159213        * page/ContentSecurityPolicy.h:
159214        (WebCore::ContentSecurityPolicy::policy):
159215        (WebCore::ContentSecurityPolicy::headerType):
159216        * workers/DedicatedWorkerContext.cpp:
159217        (WebCore::DedicatedWorkerContext::DedicatedWorkerContext):
159218        * workers/DedicatedWorkerContext.h:
159219        (WebCore::DedicatedWorkerContext::create):
159220        * workers/DedicatedWorkerThread.cpp:
159221        (WebCore::DedicatedWorkerThread::create):
159222        (WebCore::DedicatedWorkerThread::DedicatedWorkerThread):
159223        (WebCore::DedicatedWorkerThread::createWorkerContext):
159224        * workers/DedicatedWorkerThread.h:
159225        * workers/DefaultSharedWorkerRepository.cpp:
159226        (WebCore::SharedWorkerScriptLoader::notifyFinished):
159227        (WebCore::DefaultSharedWorkerRepository::workerScriptLoaded):
159228        * workers/DefaultSharedWorkerRepository.h:
159229        * workers/SharedWorkerContext.cpp:
159230        (WebCore::SharedWorkerContext::SharedWorkerContext):
159231        * workers/SharedWorkerContext.h:
159232        (WebCore::SharedWorkerContext::create):
159233        * workers/SharedWorkerThread.cpp:
159234        (WebCore::SharedWorkerThread::create):
159235        (WebCore::SharedWorkerThread::SharedWorkerThread):
159236        (WebCore::SharedWorkerThread::createWorkerContext):
159237        * workers/SharedWorkerThread.h:
159238        * workers/WorkerContext.cpp:
159239        (WebCore::WorkerContext::WorkerContext):
159240        * workers/WorkerContext.h:
159241        * workers/WorkerMessagingProxy.cpp:
159242        (WebCore::WorkerMessagingProxy::startWorkerContext):
159243        * workers/WorkerThread.cpp:
159244        (WebCore::WorkerThreadStartupData::create):
159245        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
159246        (WebCore::WorkerThread::WorkerThread):
159247        (WebCore::WorkerThread::workerThread):
159248        * workers/WorkerThread.h:
159249
1592502012-01-06  Mihnea Ovidenie  <mihnea@adobe.com>
159251
159252        [CSSRegions]Crash while collecting svg elements in render flow thread.
159253        https://bugs.webkit.org/show_bug.cgi?id=73735
159254
159255        Reviewed by David Hyatt.
159256
159257        Tests: fast/regions/svg-doc-fragment-not-collected-expected.html
159258               fast/regions/svg-doc-fragment-not-collected.html
159259               fast/regions/svg-element-not-collected-expected.html
159260               fast/regions/svg-element-not-collected.html
159261               fast/regions/svg-root-element-collected.html
159262
159263        By allowing only svg root elements to be collected in a render flow thread,
159264        the svg render tree is properly constructed, thus prevented a possible further crash.
159265
159266        * dom/NodeRenderingContext.cpp:
159267        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
159268
1592692012-01-06  Eric Carlson  <eric.carlson@apple.com>
159270
159271        Make TextTrackCue more mutable
159272        https://bugs.webkit.org/show_bug.cgi?id=72555
159273
159274        Reviewed by Anders Carlsson.
159275
159276        Test: media/track/track-cue-mutable.html
159277
159278        * html/HTMLMediaElement.cpp:
159279        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Do nothing if the "ignore cue updates"
159280            flag is set
159281        (WebCore::HTMLMediaElement::textTrackAddCues): Block cue updates until all of the new cues have
159282            been added, then call updateActiveTextTrackCues so update the display if necessary.
159283        (WebCore::HTMLMediaElement::textTrackRemoveCues): Block cue updates until all of the new cues have
159284            been removed, then call updateActiveTextTrackCues so update the display if necessary.
159285        (WebCore::HTMLMediaElement::textTrackAddCue): Call updateActiveTextTrackCues so update the display if necessary.
159286        (WebCore::HTMLMediaElement::textTrackRemoveCue): Ditto.
159287        * html/HTMLMediaElement.h:
159288        (WebCore::HTMLMediaElement::ignoreTrackDisplayUpdateRequests):
159289        (WebCore::HTMLMediaElement::beginIgnoringTrackDisplayUpdateRequests):
159290        (WebCore::HTMLMediaElement::endIgnoringTrackDisplayUpdateRequests):
159291
159292        * html/TextTrack.cpp:
159293        (WebCore::TextTrack::cueWillChange): New, remove the cue from the media element because its
159294            position in the interval tree is based on start and end times.
159295        (WebCore::TextTrack::cueDidChange): Add the cue to the media element.
159296        * html/TextTrack.h:
159297
159298        * html/TextTrackCue.cpp:
159299        (WebCore::startKeyword): New, use a static String for the constant.
159300        (WebCore::middleKeyword): Ditto.
159301        (WebCore::endKeyword): Ditto.
159302        (WebCore::horizontalKeyword): Ditto.
159303        (WebCore::verticalKeyword): Ditto.
159304        (WebCore::verticallrKeyword): Ditto.
159305        (WebCore::TextTrackCue::cueWillChange): New, tell the track the cue is about to change.
159306        (WebCore::TextTrackCue::cueDidChange): New, tell the track the cue has changed.
159307        (WebCore::TextTrackCue::setId): New, attribute is mutable.
159308        (WebCore::TextTrackCue::setStartTime): Ditto.
159309        (WebCore::TextTrackCue::setEndTime): Ditto.
159310        (WebCore::TextTrackCue::setPauseOnExit): Ditto.
159311        (WebCore::TextTrackCue::direction): Ditto.
159312        (WebCore::TextTrackCue::setDirection): Ditto.
159313        (WebCore::TextTrackCue::setSnapToLines): Ditto.
159314        (WebCore::TextTrackCue::setLinePosition): Ditto.
159315        (WebCore::TextTrackCue::setTextPosition): Ditto.
159316        (WebCore::TextTrackCue::setSize): Ditto.
159317        (WebCore::TextTrackCue::alignment): Ditto.
159318        (WebCore::TextTrackCue::setAlignment): Ditto.
159319        (WebCore::TextTrackCue::parseSettings): Use the static strings.
159320        * html/TextTrackCue.h:
159321        (WebCore::TextTrackCue::id):
159322        (WebCore::TextTrackCue::startTime):
159323        (WebCore::TextTrackCue::endTime):
159324        (WebCore::TextTrackCue::pauseOnExit):
159325        * html/TextTrackCue.idl:
159326
1593272012-01-06  Oliver Hunt  <oliver@apple.com>
159328
159329        DFG no longer optimises CanvasPixelArray
159330        https://bugs.webkit.org/show_bug.cgi?id=75729
159331
159332        Reviewed by Gavin Barraclough.
159333
159334        Remove the custom ClassInfo for CanvasPixelArray as that is
159335        defeating ByteArray optimisation, and is no longer needed
159336        anyway as it was only there to change the visible name.
159337
159338        * bindings/js/JSImageDataCustom.cpp:
159339        (WebCore::toJS):
159340
1593412012-01-06  Ken Buchanan  <kenrb@chromium.org>
159342
159343        ASSERT failure due to combine-text with preceding spaces
159344        https://bugs.webkit.org/show_bug.cgi?id=65147
159345
159346        Reviewed by David Hyatt.
159347
159348        A couple of ASSERTs were failing due to a parsing problem when
159349        advancing an inline iterator to the next linebreak in a
159350        RenderCombineText. skipLeadingWhitespace advances the iterator
159351        over leading whitespace but when searching for the line break
159352        nextLineBreak would call RenderCombineText::combineText(),
159353        collapsing the text so that the iterator is pointing past the
159354        end of it.
159355
159356        This patch causes combineText() to be called during
159357        skipLeadingWhiteSpace before iteration over the RenderCombineText
159358        begins.
159359
159360        * rendering/RenderBlockLineLayout.cpp:
159361        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
159362        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
159363
1593642012-01-06  Anders Carlsson  <andersca@apple.com>
159365
159366        Make ScrollAnimatorMac::snapRubberBandTimerFired use m_scrollElasticityController in more places
159367        https://bugs.webkit.org/show_bug.cgi?id=75726
159368
159369        Reviewed by Sam Weinig.
159370
159371        * platform/mac/ScrollAnimatorMac.h:
159372        * platform/mac/ScrollAnimatorMac.mm:
159373        (WebCore::ScrollAnimatorMac::canScrollHorizontally):
159374        (WebCore::ScrollAnimatorMac::canScrollVertically):
159375        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
159376        * platform/mac/ScrollElasticityController.h:
159377
1593782012-01-06  Pratik Solanki  <psolanki@apple.com>
159379
159380        WebKit1 fails to compile with USE(CFNETWORK) and HAVE(NETWORK_CFDATA_ARRAY_CALLBACK)
159381        https://bugs.webkit.org/show_bug.cgi?id=75675
159382
159383        Reviewed by Oliver Hunt.
159384
159385        * platform/network/cf/ResourceHandleCFNet.cpp:
159386        (WebCore::willCacheResponse):
159387
1593882012-01-06  Abhishek Arya  <inferno@chromium.org>
159389
159390        Crash with range selection across different documents.
159391        https://bugs.webkit.org/show_bug.cgi?id=74285
159392
159393        Reviewed by Ryosuke Niwa.
159394
159395        Test: fast/dom/Range/range-selection-across-documents-crash.html
159396
159397        * page/DOMSelection.cpp:
159398        (WebCore::DOMSelection::addRange):
159399
1594002012-01-06  Sam Weinig  <sam@webkit.org>
159401
159402        Remove unused OwnFastMallocPtr class.
159403        https://bugs.webkit.org/show_bug.cgi?id=75722
159404
159405        Reviewed by Geoffrey Garen.
159406
159407        * ForwardingHeaders/wtf/OwnFastMallocPtr.h: Removed.
159408        * bindings/js/JSWebGLRenderingContextCustom.cpp:
159409
1594102012-01-06  Tony Chang  <tony@chromium.org>
159411
159412        Need to relayout when stretching the height of a flex item
159413        https://bugs.webkit.org/show_bug.cgi?id=75661
159414
159415        Reviewed by Ojan Vafai.
159416
159417        Test: css3/flexbox/flex-align-stretch.html
159418
159419        * rendering/RenderFlexibleBox.cpp:
159420        (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent): Always clear the override size since
159421        it may be set when aligning.
159422        (WebCore::RenderFlexibleBox::alignChildren): Only relayout if the height changed.
159423
1594242012-01-06  Anders Carlsson  <andersca@apple.com>
159425
159426        Add ScrollElasticityControllerClient::immediateScrollBy
159427        https://bugs.webkit.org/show_bug.cgi?id=75720
159428
159429        Reviewed by Andreas Kling.
159430
159431        Add a new ScrollElasticityControllerClient::immediateScrollBy client member function.
159432        Also, make ScrollAnimatorMac::smoothScrollWithEvent calls go through the ScrollElasticityController
159433        in preparation for moving that function to ScrollElasticityController.
159434
159435        * platform/mac/ScrollAnimatorMac.h:
159436        * platform/mac/ScrollAnimatorMac.mm:
159437        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
159438        * platform/mac/ScrollElasticityController.h:
159439
1594402012-01-06  Wei James  <james.wei@intel.com>
159441
159442        Use VectorMath lib when possible to optimize the processing in WebAudio AudioBus
159443        https://bugs.webkit.org/show_bug.cgi?id=75334
159444
159445        Reviewed by Kenneth Russell.
159446
159447        * platform/audio/AudioBus.cpp:
159448        (WebCore::AudioBus::processWithGainFromMonoStereo):
159449
1594502012-01-06  Jer Noble  <jer.noble@apple.com>
159451
159452        Fullscreen video controller can't be dragged the first time I enter fullscreen
159453        https://bugs.webkit.org/show_bug.cgi?id=75709
159454
159455        Reviewed by Eric Carlson.
159456
159457        No new tests; updated video-controls-drag.html.
159458
159459        When the media controls are created, check to see if we are full screen, and pass
159460        that information to the newly created controls.
159461
159462        * html/HTMLMediaElement.cpp:
159463        (WebCore::HTMLMediaElement::createMediaControls):
159464
1594652012-01-05  Jer Noble  <jer.noble@apple.com>
159466
159467        Media Element: scrubbing in full-screen mode breaks playback.
159468        https://bugs.webkit.org/show_bug.cgi?id=75650
159469
159470        Reviewed by John Sullivan.
159471
159472        Test: fullscreen/video-controls-timeline.html
159473
159474        Only begin scrubbing if the panel itself is the mousedown event target.
159475
159476        * html/shadow/MediaControlElements.cpp:
159477        (WebCore::MediaControlPanelElement::defaultEventHandler):
159478
1594792012-01-05  Jer Noble  <jer.noble@apple.com>
159480
159481        REGRESSION (r90797): Full screen video HUD cannot be dragged horizontally
159482        https://bugs.webkit.org/show_bug.cgi?id=75200
159483
159484        Reviewed by Eric Carlson.
159485
159486        Test: fullscreen/video-controls-drag.html
159487
159488        The !important rules in fullscreenQuickTime.css are overriding the styles added by the 
159489        drag operation in MediaControlElements.cpp.  Give the panel a "dragged" class in setPosition
159490        (clearing it in resetPosition) that allows the !important rules to apply only when the 
159491        panel is not dragged.
159492
159493        * css/fullscreenQuickTime.css:
159494        (video:-webkit-full-screen::-webkit-media-controls-panel):
159495        (video:-webkit-full-screen::-webkit-media-controls-panel:not(.dragged)):
159496        * html/shadow/MediaControlElements.cpp:
159497        (WebCore::MediaControlPanelElement::setPosition):
159498        (WebCore::MediaControlPanelElement::resetPosition):
159499
1595002012-01-05  Antti Koivisto  <antti@apple.com>
159501
159502        REGRESSION (r104060): fast/forms/textarea-metrics.html is failing
159503        https://bugs.webkit.org/show_bug.cgi?id=75644
159504
159505        Reviewed by Alexey Proskuryakov.
159506
159507        We need to clear the style selector on doc type change as the doc type
159508        may affect interpretation of the stylesheets. r104060 extended the life
159509        of the style selector in some cases, exposing this problem.
159510
159511        * dom/Document.cpp:
159512        (WebCore::Document::setDocType):
159513
1595142012-01-06  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
159515
159516        [Qt] Move listing of include paths and libs to pri files in sources
159517
159518        Includepaths are sometimes modified by non-Qt contributors so keeping
159519        them in files inside Sources makes it more likely that they are updated
159520        along with project files for the other ports.
159521
159522        Using pri files instead of prf files for this also has the benefit that
159523        the include() from the main target file can be parsed and followed by
159524        Qt Creator -- something that does not work with load().
159525
159526        Dependency from a target to a library through the WEBKIT variable are
159527        handled through forwarding-files in Tools/qmake/mkspecs/modules, which
159528        set the source root of the module and include the right pri file.
159529
159530        Ideally we'd use the variant of include() that takes an optional
159531        namespace to read the variables into, or the fromfile() function,
159532        but both of these add an overhead of about 40% on the total qmake
159533        runtime, due to making a deep copy of all the variables in the
159534        project or re-reading all the prf files from scratch.
159535
159536        Reviewed by Simon Hausmann.
159537        Reviewed by Ossy.
159538
159539        * Target.pri:
159540        * WebCore.pri: Renamed from Tools/qmake/mkspecs/features/webcore.prf.
159541
1595422012-01-06  Adam Barth  <abarth@webkit.org>
159543
159544        FrameDestructionObserver should be more full-service
159545        https://bugs.webkit.org/show_bug.cgi?id=75690
159546
159547        Reviewed by Eric Seidel.
159548
159549        This patch moves code common to both subclasses of
159550        FrameDestructionObserver into FrameDestructionObserver itself.  As we
159551        add more subclasses, we don't want to keep copy/pasting this code.
159552
159553        * page/Frame.cpp:
159554        (WebCore::FrameDestructionObserver::FrameDestructionObserver):
159555        (WebCore::FrameDestructionObserver::~FrameDestructionObserver):
159556        (WebCore::FrameDestructionObserver::frameDestroyed):
159557        * page/Frame.h:
159558        (WebCore::FrameDestructionObserver::frame):
159559        * plugins/DOMMimeType.cpp:
159560        (WebCore::DOMMimeType::DOMMimeType):
159561        (WebCore::DOMMimeType::~DOMMimeType):
159562        * plugins/DOMMimeType.h:
159563        * plugins/DOMPlugin.cpp:
159564        (WebCore::DOMPlugin::DOMPlugin):
159565        (WebCore::DOMPlugin::~DOMPlugin):
159566        * plugins/DOMPlugin.h:
159567
1595682012-01-06  Dale Curtis  <dalecurtis@chromium.org>
159569
159570        Move MediaDocument styles into CSS. Set black background for chromium.
159571        https://bugs.webkit.org/show_bug.cgi?id=74123
159572
159573        Reviewed by Eric Seidel.
159574
159575        Test: platform/chromium/media/video-black-bg-in-media-document.html
159576
159577        * css/mediaControls.css:
159578        (body:-webkit-full-page-media):
159579        (video:-webkit-full-page-media):
159580        * css/mediaControlsChromium.css:
159581        (body:-webkit-full-page-media):
159582        * html/MediaDocument.cpp:
159583        (WebCore::MediaDocumentParser::createDocumentStructure):
159584
1595852012-01-06  Alice Boxhall  <aboxhall@chromium.org>
159586
159587        Report correct line number for non-native editable text elements.
159588        https://bugs.webkit.org/show_bug.cgi?id=71263
159589
159590        Reviewed by Ryosuke Niwa.
159591
159592        A non-native editable text element is an element with an ARIA role of "textbox", which is
159593        set on an element which behaves like an editable text element (such as a textarea, text
159594        input field or contenteditable text), but whose behaviour is controlled by the author rather
159595        than the browser.
159596
159597        This change makes certain methods on Node, and related methods in htmlediting and
159598        visible_units, aware of the notion that an element may be editable only from the point of
159599        view of assistive technology (via the ARIA textbox role), via the EditableType enum added to
159600        EditingBoundary.h.
159601
159602        This is so that AccessibilityObject::lineForPosition() can use previousLinePosition(), and
159603        AccessibilityRenderObject::indexForVisiblePosition() can use highestEditableRoot(), in a way
159604        that respects non-native editability.
159605
159606        Test: accessibility/textbox-role-reports-line-number.html
159607
159608        * accessibility/AXObjectCache.cpp:
159609        (WebCore::AXObjectCache::rootAXEditableElement): Returns the root element which is
159610        editable from the point of view of assistive technology, whether natively or otherwise.
159611        (WebCore::AXObjectCache::nodeIsTextControl): Whether the given node is considered an
159612        editable text element by assistive technology, natively or otherwise.
159613        * accessibility/AccessibilityObject.cpp:
159614        (WebCore::AccessibilityObject::lineForPosition): Modified to request the previous line
159615        position in an element which is editable to Accessibility.
159616        * accessibility/AccessibilityRenderObject.cpp:
159617        (WebCore::AccessibilityRenderObject::indexForVisiblePosition): Modified to request the
159618        highest root element which is editable to Accessibility.
159619        * dom/Node.cpp:
159620        (WebCore::Node::rendererIsEditableToAccessibility): Whether this node is editable to
159621        Accessibility for the given EditableLevel.
159622        (WebCore::Node::rootEditableElement): Overloaded version of this method which takes an
159623        EditableType enum value indicating whether non-native editability is to be respected.
159624        * dom/Node.h:
159625        (WebCore::Node::rendererIsEditable): Overloaded version of this method which takes an
159626        EditableType enum value indicating whether non-native editability is to be respected.
159627        (WebCore::Node::rendererIsRichlyEditable):  Overloaded version of this method which takes
159628        an EditableType enum value indicating whether non-native editability is to be respected.
159629        * editing/EditingBoundary.h:
159630        * editing/htmlediting.cpp:
159631        (WebCore::highestEditableRoot): Added optional EditableType parameter.
159632        (WebCore::isEditablePosition): Added optional EditableType parameter.
159633        (WebCore::isRichlyEditablePosition): Added optional EditableType parameter.
159634        (WebCore::editableRootForPosition): Added optional EditableType parameter.
159635        * editing/htmlediting.h:
159636        * editing/visible_units.cpp:
159637        (WebCore::previousLeafWithSameEditability): Added optional EditableType parameter.
159638        (WebCore::previousLinePosition): Added optional EditableType parameter.
159639        (WebCore::nextLeafWithSameEditability): Added optional EditableType parameter.
159640        (WebCore::nextLinePosition): Added optional EditableType parameter.
159641        * editing/visible_units.h:
159642
1596432012-01-05  Kent Tamura  <tkent@chromium.org>
159644
159645        Fix a crash by importing an element of which local name ends with ":input".
159646        https://bugs.webkit.org/show_bug.cgi?id=75103
159647
159648        Reviewed by Ryosuke Niwa.
159649
159650        Test: fast/dom/importNode-confusing-localName.html
159651
159652        * dom/Document.cpp:
159653        (WebCore::Document::importNode): Pass QualifiedName of the source elemnt
159654        to createElement() in order to avoid unnecessary serialization and
159655        parsing of the qualified name
159656
1596572012-01-06  Alexis Menard  <alexis.menard@openbossa.org>
159658
159659        Move HTMLFormControlElementWithState class in its own header file.
159660        https://bugs.webkit.org/show_bug.cgi?id=75482
159661
159662        Reviewed by Kent Tamura.
159663
159664        Move HTMLFormControlElementWithState class which was mixed in HTMLFormControlElement
159665        files into its own header file and its own implementation file.
159666
159667        No new tests : the existing ones should cover the refactoring.
159668
159669        * CMakeLists.txt:
159670        * GNUmakefile.list.am:
159671        * Target.pri:
159672        * WebCore.gypi:
159673        * WebCore.vcproj/WebCore.vcproj:
159674        * WebCore.xcodeproj/project.pbxproj:
159675        * html/HTMLElementsAllInOne.cpp:
159676        * html/HTMLFormControlElement.cpp:
159677        * html/HTMLFormControlElement.h:
159678        * html/HTMLKeygenElement.h:
159679        * html/HTMLSelectElement.h:
159680        * html/HTMLTextFormControlElement.h:
159681
1596822012-01-06  Sheriff Bot  <webkit.review.bot@gmail.com>
159683
159684        Unreviewed, rolling out r104268.
159685        http://trac.webkit.org/changeset/104268
159686        https://bugs.webkit.org/show_bug.cgi?id=75689
159687
159688        It broke the mac build (Requested by Ossy on #webkit).
159689
159690        * CMakeLists.txt:
159691        * GNUmakefile.list.am:
159692        * Target.pri:
159693        * WebCore.gypi:
159694        * WebCore.vcproj/WebCore.vcproj:
159695        * WebCore.xcodeproj/project.pbxproj:
159696        * html/HTMLElementsAllInOne.cpp:
159697        * html/HTMLFormControlElement.cpp:
159698        (WebCore::HTMLFormControlElementWithState::HTMLFormControlElementWithState):
159699        (WebCore::HTMLFormControlElementWithState::~HTMLFormControlElementWithState):
159700        (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
159701        (WebCore::HTMLFormControlElementWithState::shouldAutocomplete):
159702        (WebCore::HTMLFormControlElementWithState::shouldSaveAndRestoreFormControlState):
159703        (WebCore::HTMLFormControlElementWithState::finishParsingChildren):
159704        * html/HTMLFormControlElement.h:
159705        (WebCore::HTMLFormControlElementWithState::canContainRangeEndPoint):
159706        (WebCore::HTMLFormControlElementWithState::saveFormControlState):
159707        (WebCore::HTMLFormControlElementWithState::restoreFormControlState):
159708        * html/HTMLFormControlElementWithState.cpp: Removed.
159709        * html/HTMLFormControlElementWithState.h: Removed.
159710        * html/HTMLKeygenElement.h:
159711        * html/HTMLSelectElement.h:
159712        * html/HTMLTextFormControlElement.h:
159713
1597142012-01-06  Sheriff Bot  <webkit.review.bot@gmail.com>
159715
159716        Unreviewed, rolling out r104259 and r104261.
159717        http://trac.webkit.org/changeset/104259
159718        http://trac.webkit.org/changeset/104261
159719        https://bugs.webkit.org/show_bug.cgi?id=75688
159720
159721        Caused assertion failures (Requested by rniwa on #webkit).
159722
159723        * CMakeLists.txt:
159724        * GNUmakefile.list.am:
159725        * Target.pri:
159726        * WebCore.gypi:
159727        * WebCore.vcproj/WebCore.vcproj:
159728        * WebCore.xcodeproj/project.pbxproj:
159729        * dom/ContainerNode.cpp:
159730        (WebCore::ContainerNode::takeAllChildrenFrom):
159731        (WebCore::ContainerNode::insertBefore):
159732        (WebCore::ContainerNode::replaceChild):
159733        (WebCore::ContainerNode::removeBetween):
159734        (WebCore::ContainerNode::removeChildren):
159735        (WebCore::ContainerNode::appendChild):
159736        (WebCore::ContainerNode::parserAddChild):
159737        * dom/DOMAllInOne.cpp:
159738        * dom/Document.cpp:
159739        (WebCore::Document::setDocType):
159740        (WebCore::Document::adoptNode):
159741        * dom/Element.cpp:
159742        (WebCore::Element::removeShadowRoot):
159743        * dom/Node.cpp:
159744        (WebCore::Node::setDocument):
159745        (WebCore::Node::setTreeScopeRecursively):
159746        (WebCore::Node::setDocumentRecursively):
159747        (WebCore::Node::didMoveToNewDocument):
159748        * dom/Node.h:
159749        * dom/TreeScope.cpp:
159750        * dom/TreeScope.h:
159751        * dom/TreeScopeAdopter.cpp: Removed.
159752        * dom/TreeScopeAdopter.h: Removed.
159753
1597542012-01-05  Dan Bernstein  <mitz@apple.com>
159755
159756        <rdar://problem/10633760> Update copyright strings
159757
159758        Reviewed by Mark Rowe.
159759
159760        * Info.plist:
159761
1597622012-01-05  Alexis Menard  <alexis.menard@openbossa.org>
159763
159764        Move HTMLFormControlElementWithState class in its own header file.
159765        https://bugs.webkit.org/show_bug.cgi?id=75482
159766
159767        Reviewed by Kent Tamura.
159768
159769        Move HTMLFormControlElementWithState class which was mixed in HTMLFormControlElement
159770        files into its own header file and its own implementation file.
159771
159772        No new tests : the existing ones should cover the refactoring.
159773
159774        * CMakeLists.txt:
159775        * GNUmakefile.list.am:
159776        * Target.pri:
159777        * WebCore.gypi:
159778        * WebCore.vcproj/WebCore.vcproj:
159779        * WebCore.xcodeproj/project.pbxproj:
159780        * html/HTMLElementsAllInOne.cpp:
159781        * html/HTMLFormControlElement.cpp:
159782        * html/HTMLFormControlElement.h:
159783        * html/HTMLKeygenElement.h:
159784        * html/HTMLSelectElement.h:
159785        * html/HTMLTextFormControlElement.h:
159786
1597872012-01-05  Wei James  <james.wei@intel.com>
159788
159789        Optimize with memcpy instead of copying frame by frame in Realtimeanalyser::doFFTAnalysis
159790        https://bugs.webkit.org/show_bug.cgi?id=74693
159791
159792        Reviewed by Kenneth Russell.
159793
159794        * webaudio/RealtimeAnalyser.cpp:
159795        (WebCore::RealtimeAnalyser::doFFTAnalysis):
159796
1597972012-01-05  Ryosuke Niwa  <rniwa@webkit.org>
159798
159799        REGRESSION(r104210): Dromaeo DOM test score is lower
159800        https://bugs.webkit.org/show_bug.cgi?id=75679
159801
159802        Reviewed by Andreas Kling.
159803
159804        The regression was caused by isDomVersionConsistent not being able to obtain the tree version
159805        inside isLengthCacheValid when m_cachedItem is null. Fix the regression by always setting
159806        m_cachedItem to some node when caching the length so that we can obtain the tree version later.
159807
159808        Also address Antti's review comment to fit m_cachedLength, m_isLengthCacheValid, and
159809        m_isItemCacheValid all in 32-bit.
159810
159811        * dom/DynamicNodeList.cpp:
159812        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache):
159813
1598142012-01-05  Hajime Morrita  <morrita@chromium.org>
159815
159816        Unreviewed bad merge fix for r104259 which dropped a line from r104210.
159817
159818        * dom/TreeScopeAdopter.cpp:
159819        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
159820
1598212012-01-05  Yongjun Zhang  <yongjun_zhang@apple.com>
159822
159823        https://bugs.webkit.org/show_bug.cgi?id=75593
159824        Reviewed by Alexey Proskuryakov.
159825
159826        Null-check 'page' variable before use, to follow the common usage pattern of m_frame->page()
159827        throughout the rest of FrameView.cpp.
159828
159829        * page/FrameView.cpp:
159830        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
159831
1598322012-01-04  Hajime Morrita  <morrita@chromium.org>
159833
159834        [Refactoring] Moving between TreeScopes should be done by its own class.
159835        https://bugs.webkit.org/show_bug.cgi?id=75290
159836
159837        Reviewed by Ryosuke Niwa.
159838
159839        This change extracted Node::setTreeScopeRecursively(),
159840        setDocumentRecursively() and a part of setDocument() into a new
159841        class called TreeScopeAdopter. By doing this, the idea of
159842        moving a node from scope to scope, that was originally hidden
159843        behind the forest of Node APIs, has become clearer.
159844
159845        Note that this change is a preparation for Bug 59816.
159846
159847        No new tests. No behavioral change.
159848
159849        * CMakeLists.txt:
159850        * GNUmakefile.list.am:
159851        * Target.pri:
159852        * WebCore.gypi:
159853        * WebCore.vcproj/WebCore.vcproj:
159854        * WebCore.xcodeproj/project.pbxproj:
159855        * dom/ContainerNode.cpp: Followed the renaming.
159856        (WebCore::ContainerNode::takeAllChildrenFrom):
159857        (WebCore::ContainerNode::insertBefore):
159858        (WebCore::ContainerNode::replaceChild):
159859        (WebCore::ContainerNode::removeBetween):
159860        (WebCore::ContainerNode::removeChildren):
159861        (WebCore::ContainerNode::appendChild):
159862        (WebCore::ContainerNode::parserAddChild):
159863        * dom/DOMAllInOne.cpp:
159864        * dom/Document.cpp: Followed te renaming.
159865        (WebCore::Document::setDocType):
159866        (WebCore::Document::adoptNode):
159867        * dom/Element.cpp: Followed te renaming.
159868        (WebCore::Element::removeShadowRoot):
159869        * dom/Node.cpp:
159870        (WebCore::Node::setDocument):
159871        (WebCore::Node::setTreeScope):
159872        (WebCore::Node::didMoveToNewDocument):
159873        * dom/Node.h:
159874        * dom/TreeScope.h:
159875        * dom/TreeScope.cpp:
159876        (WebCore::TreeScope::adoptIfNeeded): moved from setTreeScopeRecursively()
159877        * dom/TreeScopeAdopter.cpp: Added.
159878        (WebCore::TreeScopeAdopter::TreeScopeAdopter):
159879        (WebCore::TreeScopeAdopter::moveTreeToNewScope):
159880        (WebCore::TreeScopeAdopter::moveTreeToNewDocument):
159881        (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
159882        (WebCore::TreeScopeAdopter::moveNodeToNewDocument):
159883        * dom/TreeScopeAdopter.h: Added.
159884        (WebCore::TreeScopeAdopter::ensureDidMoveToNewDocumentWasCalled):
159885        (WebCore::TreeScopeAdopter::execute):
159886        (WebCore::TreeScopeAdopter::needsScopeChange()):
159887        (WebCore::TreeScopeAdopter::shadowRootFor):
159888
1598892012-01-05  Jochen Eisinger  <jochen@chromium.org>
159890
159891        Disallow access to DOM storage from detached frames.
159892        https://bugs.webkit.org/show_bug.cgi?id=61326
159893
159894        Reviewed by Adam Barth.
159895
159896        * storage/StorageAreaImpl.cpp:
159897        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
159898
1598992012-01-05  No'am Rosenthal  <noam.rosenthal@nokia.com>
159900
159901        [Qt][Texmap] Convert shaders in TextureMapperGL to use a macro
159902        https://bugs.webkit.org/show_bug.cgi?id=75598
159903
159904        Use VERTEX_SHADER() and FRAGMENT_SHADER() macros, instead of quoted string literals when
159905        declaring shaders in TextureMapperGL.
159906
159907        We need two macros to account for the differences between OpenGL and OpenGL ES2.
159908
159909        Reviewed by Martin Robinson.
159910
1599112012-01-05  Ryosuke Niwa  <rniwa@webkit.org>
159912
159913        sizeof(CSSRule) is 20 instead of 12 on Windows
159914        https://bugs.webkit.org/show_bug.cgi?id=75665
159915
159916        Reviewed by Darin Fisher.
159917
159918        Unlike gcc and clang, MSVC pads each consecutive member variables of the same type
159919        in bitfields. e.g. if you have:
159920
159921        sturct AB {
159922        unsigned m_1 : 31;
159923        bool m_2 : 1;
159924        }
159925
159926        then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang
159927        only allocate sizeof(unsigned) * 1 for AB.
159928
159929        Fix the bloat by turning all bitfields in CSSRule either signed or unsigned integers.
159930
159931        * css/CSSRule.cpp:
159932        * css/CSSRule.h:
159933        (WebCore::CSSRule::sourceLine):
159934        (WebCore::CSSRule::setSourceLine):
159935        (WebCore::CSSRule::hasCachedSelectorText):
159936        (WebCore::CSSRule::setHasCachedSelectorText):
159937        * css/CSSStyleRule.cpp:
159938        (WebCore::CSSStyleRule::CSSStyleRule):
159939        (WebCore::CSSStyleRule::cleanup):
159940        (WebCore::CSSStyleRule::selectorText):
159941        (WebCore::CSSStyleRule::setSelectorText):
159942        * css/CSSStyleRule.h:
159943
1599442012-01-05  David Grogan  <dgrogan@chromium.org>
159945
159946        IndexedDB: fix cursor prefetch crash
159947        http://crbug.com/108071
159948        https://bugs.webkit.org/show_bug.cgi?id=75596
159949
159950        Reviewed by Tony Chang.
159951
159952        Test: storage/indexeddb/prefetch-bugfix-108071.html
159953        Note: DumpRenderTree doesn't exercise the bug, it only occurs in
159954        multi-process chromium.  The layout test will soon be run as a
159955        chromium ui test: http://codereview.chromium.org/9108004
159956
159957        * storage/IDBCursorBackendImpl.cpp:
159958        (WebCore::IDBCursorBackendImpl::IDBCursorBackendImpl):
159959        (WebCore::IDBCursorBackendImpl::~IDBCursorBackendImpl): Destroy
159960        cursors before their objectstores.
159961        (WebCore::IDBCursorBackendImpl::prefetchReset): Don't run continue if
159962        the cursor is closed.
159963        (WebCore::IDBCursorBackendImpl::close): Set a closed flag.
159964        * storage/IDBCursorBackendImpl.h:
159965
1599662012-01-04  James Robinson  <jamesr@chromium.org>
159967
159968        [chromium] Route all animate calls through CCLayerTreeHost in composited mode to simplify rate limiting logic
159969        https://bugs.webkit.org/show_bug.cgi?id=75577
159970
159971        Reviewed by Darin Fisher.
159972
159973        This internalizes the animation rate limiting logic to CCLayerTreeHost and removes the setters/getters for the
159974        m_animating flag. This requires that all animation updates have to go through CCLayerTreeHost to get the right
159975        rate limiting behavior, regardless of which proxy is being used.
159976
159977        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
159978        (WebCore::CCLayerTreeHost::updateAnimations):
159979        (WebCore::CCLayerTreeHost::layout):
159980        (WebCore::CCLayerTreeHost::startRateLimiter):
159981        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
159982        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
159983        (WebCore::CCThreadProxy::beginFrameAndCommit):
159984
1599852012-01-05  Justin Novosad  <junov@chromium.org>
159986
159987        [Chromium] NativeImageSkia should mark SkBitmaps as immutable
159988        https://bugs.webkit.org/show_bug.cgi?id=74962
159989
159990        Removed m_isDataComplete from class NativeImageSkia. Instead, data
159991        completeness will be tracked through SkBitmap::setImmutable/
159992        isImmutable.  The immutable state signifies that the pixel data
159993        will no longer change for the lifetime of the bitmap, which corresponds
159994        to the semantic of the old m_isDataComplete member. setImmutable is
159995        also called on the cached resized bitmap, since it too is invariant for
159996        its life time. Temporary resized bitmaps are also marked as immutable
159997        since they technically are.
159998
159999        Reviewed by Stephen White.
160000
160001        * platform/graphics/skia/NativeImageSkia.cpp:
160002        (WebCore::NativeImageSkia::NativeImageSkia):
160003        (WebCore::NativeImageSkia::resizedBitmap):
160004        (WebCore::NativeImageSkia::shouldCacheResampling):
160005        * platform/graphics/skia/NativeImageSkia.h:
160006        (WebCore::NativeImageSkia::setDataComplete):
160007        (WebCore::NativeImageSkia::isDataComplete):
160008
1600092012-01-05  Sheriff Bot  <webkit.review.bot@gmail.com>
160010
160011        Unreviewed, rolling out r104231.
160012        http://trac.webkit.org/changeset/104231
160013        https://bugs.webkit.org/show_bug.cgi?id=75668
160014
160015        Breaks the Qt build (Requested by abarth on #webkit).
160016
160017        * platform/SchemeRegistry.cpp:
160018        * platform/SchemeRegistry.h:
160019
1600202012-01-05  Beth Dakin  <bdakin@apple.com>
160021
160022        https://bugs.webkit.org/show_bug.cgi?id=75654
160023        Text fields should draw using NSTextFieldCell instead of WebKitSystemInterface
160024
160025        Reviewed by John Sullivan.
160026
160027        This change should not have any affect on tests or real web sites. It just changed 
160028        the implementation under the hood to the more modern NSCell approach.
160029        * rendering/RenderThemeMac.h:
160030        * rendering/RenderThemeMac.mm:
160031        (WebCore::RenderThemeMac::paintTextField):
160032        (WebCore::RenderThemeMac::textField):
160033
1600342012-01-05  Ryosuke Niwa  <rniwa@webkit.org>
160035
160036        Add a compile-time assertion for the size of CSSValue
160037        https://bugs.webkit.org/show_bug.cgi?id=75635
160038
160039        Reviewed by Tony Chang.
160040
160041        Tightened the compile-time assertion.
160042
160043        * css/CSSValue.cpp:
160044
1600452012-01-05  Adam Barth  <abarth@webkit.org>
160046
160047        [V8] CodeGeneration for SerializedScriptValue doesn't play nice with [Constructor]
160048        https://bugs.webkit.org/show_bug.cgi?id=75641
160049
160050        Reviewed by David Levin.
160051
160052        Rather than generate getters for SerializedScriptValues, we eagerly
160053        deserialize them into JavaScript objects.  However, previously, we were
160054        only doing that for DOM wrappers created by taking an existing C++
160055        object and wrapping it.  For objects created with Constructors (e.g.,
160056        those with the [Constructor] attribute), we need to do this eager
160057        deserialization during the constructor as well.
160058
160059        This bug isn't observable yet, but it is causing the WebIntent test
160060        being added in Bug 73051 to fail.
160061
160062        Test: TestSerializedScriptValueInterface.idl
160063              webintents/web-intents-api.html (after Bug 73051 lands)
160064
160065        * bindings/scripts/CodeGeneratorV8.pm:
160066        (GenerateEagerDeserialization):
160067        (GenerateConstructorCallback):
160068        (GenerateNamedConstructorCallback):
160069        (GenerateImplementation):
160070        (GenerateToV8Converters):
160071        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
160072        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::constructJSTestSerializedScriptValueInterface):
160073        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getConstructData):
160074        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
160075        * bindings/scripts/test/TestSerializedScriptValueInterface.idl:
160076        * bindings/scripts/test/V8/V8TestInterface.cpp:
160077        (WebCore::V8TestInterface::constructorCallback):
160078        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp:
160079        (WebCore::V8TestNamedConstructorConstructorCallback):
160080        * bindings/scripts/test/V8/V8TestObj.cpp:
160081        (WebCore::V8TestObj::constructorCallback):
160082        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.cpp:
160083        (WebCore::V8TestSerializedScriptValueInterface::constructorCallback):
160084        (WebCore::ConfigureV8TestSerializedScriptValueInterfaceTemplate):
160085        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h:
160086
1600872012-01-05  Adam Barth  <abarth@webkit.org>
160088
160089        Introduce Platform namespace for WebCore/platform
160090        https://bugs.webkit.org/show_bug.cgi?id=75653
160091
160092        Reviewed by Eric Seidel.
160093
160094        This patch introduces the Platform namespace for WebCore/platform.
160095        Introducing this namespace will help us find and fix layering
160096        violations in preparation for moving WebCore/platform to Platform.
160097
160098        * platform/SchemeRegistry.cpp:
160099        * platform/SchemeRegistry.h:
160100
1601012012-01-05  Ryosuke Niwa  <rniwa@webkit.org>
160102
160103        Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
160104        https://bugs.webkit.org/show_bug.cgi?id=73853
160105
160106        Reviewed by Antti Koivisto.
160107
160108        Lazily invalidate the node list caches instead of invaliding them at the time of modification. We use
160109        the DOM tree version to detect whether caches need to be invalidated or not. We now invalidate caches more
160110        frequently after this patch (in particular, invalidates caches that are stored on nodes not present in
160111        the ancestry of the modified nodes); however, our study on major Web sites such as Gmail, Facebook, Twitter,
160112        etc... indicate that about 1% of real-world usage benefits from keeping the caches alive across different
160113        DOM tree versions.
160114
160115        In order to invalidate caches lazily, this patch adds replaces the type of m_caches in DynamicSubtreeNodeList
160116        by DynamicSubtreeNodeList::SubtreeCaches which encapsulates member variables in DynamicNodeList::Caches and
160117        invalidates values as needed. Also this change allows m_caches to be allocated as a part of
160118        DynamicSubtreeNodeList instead of a separate ref-counted object.
160119
160120        * dom/Attr.cpp:
160121        (WebCore::Attr::setValue):
160122        (WebCore::Attr::childrenChanged):
160123        * dom/DynamicNodeList.cpp:
160124        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
160125        (WebCore::DynamicSubtreeNodeList::length):
160126        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
160127        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
160128        (WebCore::DynamicSubtreeNodeList::item):
160129        (WebCore::DynamicSubtreeNodeList::invalidateCache):
160130        (WebCore::DynamicNodeList::Caches::create):
160131        (WebCore::DynamicNodeList::Caches::reset):
160132        * dom/DynamicNodeList.h:
160133        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::SubtreeCaches): Added.
160134        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid): Added.
160135        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid): Added.
160136        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedLength): Added.
160137        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItem): Added.
160138        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItemOffset): Added.
160139        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache): Added.
160140        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache): Added.
160141        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::reset): Added.
160142        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent): Added.
160143        * dom/Element.cpp:
160144        (WebCore::Element::updateAfterAttributeChanged):
160145        * dom/Node.cpp:
160146        (WebCore::Node::setTreeScopeRecursively): Clear caches when a node moves from one document to another.
160147        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Only clears child node list of Attr.
160148        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Only clears child node list.
160149        (WebCore::NodeListsNodeData::invalidateCaches): Merged with invalidateCachesThatDependOnAttributes.
160150        * dom/Node.h:
160151        * dom/NodeRareData.h:
160152        * html/HTMLElement.cpp:
160153        (WebCore::HTMLElement::parseMappedAttribute):
160154        * html/HTMLLabelElement.cpp:
160155        * html/HTMLLabelElement.h:
160156
1601572012-01-05  Ojan Vafai  <ojan@chromium.org>
160158
160159        IE quirk for percentage size on a table element doesn't work with orthogonal writing modes
160160        https://bugs.webkit.org/show_bug.cgi?id=70195
160161
160162        Reviewed by Eric Seidel.
160163
160164        Remove this quirk entirely. Mozilla and Opera don't implement it and IE
160165        doesn't restrict the quirk to standards mode. As it's unlikely for
160166        webkit-only content to hit this quirk (e.g. use tables for layout),
160167        it should be relatively safe to match Mozilla/Opera here.
160168
160169        Test: fast/writing-mode/table-percent-width-quirk.html
160170
160171        * rendering/RenderBlock.cpp:
160172        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
160173
1601742012-01-05  Tien Ren Chen  <trchen@chromium.org>
160175
160176        [chromium] Add CCTimer class for the compositor
160177        https://bugs.webkit.org/show_bug.cgi?id=74769
160178
160179        Reviewed by James Robinson.
160180
160181        Add a simple timer class for CCThread that the timered task can be
160182        manually cancelled.
160183
160184        * WebCore.gypi:
160185        * platform/graphics/chromium/cc/CCTimer.cpp: Added.
160186        (WebCore::CCTimerTask::CCTimerTask):
160187        (WebCore::CCTimerTask::~CCTimerTask):
160188        (WebCore::CCTimerTask::performTask):
160189        (WebCore::CCTimer::CCTimer):
160190        (WebCore::CCTimer::~CCTimer):
160191        (WebCore::CCTimer::startOneShot):
160192        (WebCore::CCTimer::stop):
160193        * platform/graphics/chromium/cc/CCTimer.h: Added.
160194        (WebCore::CCTimerClient::~CCTimerClient):
160195        (WebCore::CCTimer::isActive):
160196
1601972012-01-05  Eric Carlson  <eric.carlson@apple.com>
160198
160199        Implement temporal dimension portion of Media Fragments URI specification for video/audio
160200        https://bugs.webkit.org/show_bug.cgi?id=65838
160201
160202        Reviewed by Sam Weinig.
160203
160204        Tests: media/media-fragments/TC0001-TC0009.html
160205               media/media-fragments/TC0010-TC0019.html
160206               media/media-fragments/TC0020-TC0029.html
160207               media/media-fragments/TC0030-TC0039.html
160208               media/media-fragments/TC0040-TC0049.html
160209               media/media-fragments/TC0050-TC0059.html
160210               media/media-fragments/TC0060-TC0069.html
160211               media/media-fragments/TC0070-TC0079.html
160212               media/media-fragments/TC0080-TC0089.html
160213               media/media-fragments/TC0090-TC0099.html
160214
160215        * CMakeLists.txt: Add fragment parser files.
160216        * GNUmakefile.list.am: Ditto.
160217        * Target.pri: Ditto.
160218        * WebCore.gypi: Ditto.
160219        * WebCore.vcproj/WebCore.vcproj: Ditto.
160220        * WebCore.xcodeproj/project.pbxproj: Ditto.
160221
160222        * html/HTMLMediaElement.cpp:
160223        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_fragmentStartTime and m_fragmentEndTime.
160224        (WebCore::HTMLMediaElement::setReadyState): Check for and parse a media fragment once readyState
160225            reaches HAVE_METADATA, apply it once it reaches HAVE_CURRENT_DATA.
160226        (WebCore::HTMLMediaElement::initialTime): Return the fragment start time if possible.
160227        (WebCore::HTMLMediaElement::playbackProgressTimerFired): Pause if the time is >= the fragment
160228            end time.
160229        (WebCore::HTMLMediaElement::prepareMediaFragmentURI): Look for a temporal fragment.
160230        (WebCore::HTMLMediaElement::applyMediaFragmentURI): Apply the fragment, if any.
160231        * html/HTMLMediaElement.h:
160232
160233        * html/MediaFragmentURIParser.cpp: Added.
160234        (WebCore::skipWhiteSpace):
160235        (WebCore::collectDigits):
160236        (WebCore::collectFraction):
160237        (WebCore::MediaFragmentURIParser::invalidTimeValue):
160238        (WebCore::MediaFragmentURIParser::MediaFragmentURIParser):
160239        (WebCore::MediaFragmentURIParser::startTime):
160240        (WebCore::MediaFragmentURIParser::endTime):
160241        (WebCore::MediaFragmentURIParser::parseFragments):
160242        (WebCore::MediaFragmentURIParser::parseTimeFragment):
160243        (WebCore::MediaFragmentURIParser::parseNPTFragment):
160244        (WebCore::MediaFragmentURIParser::parseNPTTime):
160245        * html/MediaFragmentURIParser.h: Added.
160246        (WebCore::MediaFragmentURIParser::~MediaFragmentURIParser):
160247        (WebCore::MediaFragmentURIParser::create):
160248
1602492012-01-05  ChangSeok Oh  <shivamidow@gmail.com>
160250
160251        Remove style warning in GraphicsContext3DOpenGL.cpp
160252        https://bugs.webkit.org/show_bug.cgi?id=75466
160253
160254        Reviewed by Kenneth Russell.
160255
160256        Relocated some headers according to alphabetical order & modified indentation.
160257        And used OwnArrayPtr to deal with character array.
160258
160259        No new tests required. 
160260
160261        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
160262        (WebCore::GraphicsContext3D::getString):
160263        (WebCore::GraphicsContext3D::releaseShaderCompiler):
160264        (WebCore::GraphicsContext3D::getProgramInfoLog):
160265        (WebCore::GraphicsContext3D::getShaderiv):
160266        (WebCore::GraphicsContext3D::getShaderInfoLog):
160267        (WebCore::GraphicsContext3D::getShaderSource):
160268
1602692012-01-05  Ken Buchanan <kenrb@chromium.org>
160270
160271        Crash due to reparenting of relpositioned object under anonymous block
160272        https://bugs.webkit.org/show_bug.cgi?id=70848
160273
160274        The associated test case creates a condition where a relative
160275        positioned renderer is a descendant of an anonymous block for a
160276        table column. The anonymous block is the containingBlock() for the
160277        relpositioned renderer. Removal of a div causes the anonymous blocks to
160278        be merged, and the renderer becomes a descendant of a different block.
160279        Since the new containingBlock() has an empty positionedObject list,
160280        the relpositioned renderer does not get layout after being dirtied.
160281
160282        This patch changes containingBlock() so that it returns the container
160283        of an anonymous block for positioned objects, not the anonymous
160284        block itself. It also adds an ASSERT to insertPositionedObject()
160285        to flag any other cases where something is trying to create a
160286        positioned object list on an anonymous block.
160287
160288        Reviewed by David Hyatt.
160289
160290        * rendering/RenderBlock.cpp:
160291        (WebCore::RenderBlock::insertPositionedObject):
160292        * rendering/RenderObject.cpp:
160293        (WebCore::RenderObject::containingBlock):
160294
1602952012-01-05  Jian Li  <jianli@chromium.org>
160296
160297        FileReader needs addEventListener
160298        https://bugs.webkit.org/show_bug.cgi?id=42723
160299
160300        Reviewed by Adam Barth.
160301
160302        Test: fast/files/file-reader-event-listener.html
160303
160304        * fileapi/FileReader.idl:
160305
1603062012-01-04  Pratik Solanki  <psolanki@apple.com>
160307
160308        Remove deprecated calls from CookieJarCFNet.cpp
160309        https://bugs.webkit.org/show_bug.cgi?id=68958
160310
160311        Reviewed by Sam Weinig.
160312
160313        * platform/network/cf/CookieJarCFNet.cpp:
160314        (WebCore::cookieDomain):
160315        (WebCore::cookieExpirationTime):
160316        (WebCore::cookieName):
160317        (WebCore::cookiePath):
160318        (WebCore::cookieValue):
160319
1603202012-01-05  Fady Samuel  <fsamuel@chromium.org>
160321
160322        Move scalePageBy from eventSender to window.internals
160323        https://bugs.webkit.org/show_bug.cgi?id=64512
160324
160325        Reviewed by Simon Fraser.
160326
160327        Added setPageScaleFactor to window.internals.
160328        Renamed window.internals.getPageScaleFactor to window.internals.pageScaleFactor
160329        to match the webkit style.
160330
160331        * testing/Internals.cpp:
160332        (WebCore::Internals::pageScaleFactor):
160333        (WebCore::Internals::setPageScaleFactor):
160334        * testing/Internals.h:
160335        * testing/Internals.idl:
160336
1603372012-01-05  Cary Clark  <caryclark@google.com>
160338
160339        [Skia Mac] Rounded bezel style button needs one more local graphics context to scale
160340        https://bugs.webkit.org/show_bug.cgi?id=75623
160341        http://code.google.com/p/chromium/issues/detail?id=108749
160342
160343        In paintButton(), the local context is set up first, and later the context is
160344        scaled if there's a zoomFactor. Skia creates the CoreGraphics context to draw the
160345        button into without that scale factor. To fix this, another local context is added
160346        after the parameter context scale, before the button draw. The first local context
160347        is still required to restore the parameter context state.
160348
160349        Reviewed by Stephen White.
160350
160351        * platform/chromium/ThemeChromiumMac.mm:
160352        (WebCore::paintButton):
160353
1603542012-01-05  Alexis Menard  <alexis.menard@openbossa.org>
160355
160356        getComputedStyle for background is not implemented.
160357        https://bugs.webkit.org/show_bug.cgi?id=75539
160358
160359        Reviewed by Tony Chang.
160360
160361        Implement getComputedStyle for background.
160362
160363        Test: fast/css/getComputedStyle/getComputedStyle-background-shorthand.html
160364
160365        * css/CSSComputedStyleDeclaration.cpp:
160366        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
160367
1603682012-01-05  Ryosuke Niwa  <rniwa@webkit.org>
160369
160370        DOM Attribute tests on Dromaeo spends 2.7% of time in hasSelectorForAttribute
160371        https://bugs.webkit.org/show_bug.cgi?id=75569
160372
160373        Reviewed by Andreas Kling.
160374
160375        Check needsStyleRecalc() first to avoid unnecessary hash lookups.
160376
160377        * dom/Element.cpp:
160378        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
160379
1603802012-01-05  Grzegorz Czajkowski  <g.czajkowski@samsung.com>
160381
160382        [EFL] Replace alloca to C++ new placement.
160383        https://bugs.webkit.org/show_bug.cgi?id=72017
160384
160385        Reviewed by Andreas Kling.
160386
160387        Replaces alloca to C++ new placement as it is not very portable.
160388        It allows to skip checking of memory allocation as new never returns NULL.
160389        According to Edje's documentation type of val (member of Edje_Message_Float_Set)
160390        is double so I changed it to avoid undefined behaviour.
160391
160392        * platform/efl/ScrollbarEfl.cpp:
160393        (ScrollbarEfl::updateThumbPositionAndProportion):
160394
1603952012-01-05  Benjamin Poulain  <bpoulain@apple.com>
160396
160397        Remove duplicate file references from WebCore.xcodeproj
160398        https://bugs.webkit.org/show_bug.cgi?id=75581
160399
160400        Reviewed by Andreas Kling.
160401
160402        Many generated DOMSVG files had two references.
160403
160404        In platform/graphics, there was two arm directory
160405        with the same files related to ARM Neon.
160406
160407        * WebCore.xcodeproj/project.pbxproj:
160408
1604092012-01-05  Antti Koivisto  <antti@apple.com>
160410
160411        Improve SelectorChecker::determineSelectorScopes
160412        https://bugs.webkit.org/show_bug.cgi?id=75619
160413
160414        Reviewed by Andreas Kling.
160415
160416        SelectorChecker::determineSelectorScopes currently searches to the end of the selector chain and
160417        then sees if the last one is suitable to be a scope. A better algorithm will find a scope from
160418        anywhere in the chain.
160419        
160420        With this patch we search the whole chain for potential scopes. We now prefer id scopes
160421        over class scopes. Scopes can be found for rules using sibling selectors too.
160422        
160423        On both engadget.com and nytimes.com, we can now skip one more full style recalc due to 
160424        the improved stylesheet analysis. 
160425
160426        * css/SelectorChecker.cpp:
160427        (WebCore::SelectorChecker::determineSelectorScopes):
160428
1604292012-01-05  Carlos Garcia Campos  <cgarcia@igalia.com>
160430
160431        [GTK] Use the default screen in PlatformScreenGtk methods when they are called with a NULL widget
160432        https://bugs.webkit.org/show_bug.cgi?id=75620
160433
160434        Reviewed by Philippe Normand.
160435
160436        We are currently retuning an empty rectangle for
160437        screenRect/screenAvailableRect and 0 for getVisual.
160438
160439        * platform/gtk/PlatformScreenGtk.cpp:
160440        (WebCore::getVisual):
160441        (WebCore::screenRect):
160442        (WebCore::screenAvailableRect):
160443
1604442012-01-05  Alpha Lam  <hclam@chromium.org>
160445
160446        Unreviewed. Build fix.
160447
160448        Adding missing const_cast<> to fix compilation failures due to r104143.
160449
160450        * platform/audio/VectorMath.cpp:
160451        (WebCore::VectorMath::zvmul):
160452
1604532012-01-05  Adam Barth  <abarth@webkit.org>
160454
160455        Move Gamepad declarations from Navigator.idl into Modules/gamepad
160456        https://bugs.webkit.org/show_bug.cgi?id=75559
160457
160458        Reviewed by Eric Seidel.
160459
160460        This patch moves the gamepad-related declarations in Navigator.idl into
160461        Modules/gamepad.  The next step is to move the state into
160462        Modules/gamepad as well.
160463
160464        * Modules/gamepad/NavigatorGamepad.cpp: Added.
160465        (WebCore::NavigatorGamepad::NavigatorGamepad):
160466        (WebCore::NavigatorGamepad::~NavigatorGamepad):
160467        (WebCore::NavigatorGamepad::webkitGamepads):
160468        * Modules/gamepad/NavigatorGamepad.h: Added.
160469        * Modules/gamepad/NavigatorGamepad.idl: Added.
160470        * WebCore.gypi:
160471        * page/Navigator.cpp:
160472        (WebCore::Navigator::gamepads):
160473        * page/Navigator.h:
160474        * page/Navigator.idl:
160475
1604762012-01-05  Alexis Menard  <alexis.menard@openbossa.org>
160477
160478        getComputedStyle for border-image is not implemented.
160479        https://bugs.webkit.org/show_bug.cgi?id=75347
160480
160481        Reviewed by Tony Chang.
160482
160483        Implement getComputedStyle for border-color.
160484
160485        fast/css/getComputedStyle/computed-style-border-image.html was extended to cover the
160486        new feature.
160487
160488        * css/CSSComputedStyleDeclaration.cpp:
160489        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
160490
1604912012-01-05  Xingnan Wang  <xingnan.wang@intel.com>
160492
160493        Add a SSE2 optimized function zvmul in VectorMatch
160494        https://bugs.webkit.org/show_bug.cgi?id=74842
160495
160496        Reviewed by Kenneth Russell.
160497
160498        Use zvmul in FFTFrameFFMPEG.cpp::multiply() and FFTFrameMac.cpp::multiply().
160499
160500        * platform/audio/VectorMath.cpp:
160501        (WebCore::VectorMath::zvmul):
160502        * platform/audio/VectorMath.h:
160503        * platform/audio/ffmpeg/FFTFrameFFMPEG.cpp:
160504        (WebCore::FFTFrame::multiply):
160505        * platform/audio/mac/FFTFrameMac.cpp:
160506        (WebCore::FFTFrame::multiply):
160507
1605082012-01-05  Alpha Lam  <hclam@chromium.org>
160509
160510        Unreviewed. Build fix for Chromium Mac Clang build.
160511
160512        Push using namespace WTF to .cpp file from .h file.
160513
160514        * platform/text/TextCodecASCIIFastPath.h:
160515        * platform/text/TextCodecLatin1.cpp:
160516        * platform/text/TextCodecUTF8.cpp:
160517
1605182012-01-05  Max Vujovic  <mvujovic@adobe.com>
160519
160520        WebKit adds vertical paddings and borders to the fixed width of CSS tables
160521        https://bugs.webkit.org/show_bug.cgi?id=74955
160522
160523        Reviewed by Julien Chaffraix.
160524
160525        Test: fast/table/css-table-width.html
160526
160527        * rendering/RenderTable.cpp:
160528        (WebCore::RenderTable::computeLogicalWidth):
160529
160530            Changed the width calculation for CSS tables to take into account horizontal
160531            paddings and borders instead of vertical paddings and borders.
160532
1605332012-01-05  Peter Beverloo  <peter@chromium.org>
160534
160535        [Chromium] Upstream the RenderTheme and ScrollbarTheme for Android
160536        https://bugs.webkit.org/show_bug.cgi?id=74614
160537
160538        Reviewed by Adam Barth.
160539
160540        Upstream the RenderTheme and ScrollbarTheme for Android. These are
160541        mostly derived from their Linux variants.
160542
160543        RenderThemeChromiumAndroid inherits from RenderThemeChromiumLinux and
160544        only overrides the three methods which have different behavior.
160545        Scrollbars will be drawn in the threaded compositor for Android (which
160546        will be upstreamed later), but for increased layout test parity we'll
160547        match Chromium-Linux.
160548
160549        No new tests. This code will be exercised by existing layout tests, and
160550        by manually verifying that theme parts render as expected.
160551
160552        * WebCore.gyp/WebCore.gyp:
160553        * WebCore.gypi:
160554        * platform/chromium/ScrollbarThemeChromiumAndroid.cpp: Added.
160555        (WebCore::ScrollbarTheme::nativeTheme):
160556        (WebCore::ScrollbarThemeChromiumAndroid::scrollbarThickness):
160557        (WebCore::ScrollbarThemeChromiumAndroid::paintScrollbarBackground):
160558        (WebCore::ScrollbarThemeChromiumAndroid::shouldCenterOnThumb):
160559        (WebCore::ScrollbarThemeChromiumAndroid::buttonSize):
160560        (WebCore::ScrollbarThemeChromiumAndroid::minimumThumbLength):
160561        * platform/chromium/ScrollbarThemeChromiumAndroid.h: Added.
160562        * rendering/RenderThemeChromiumAndroid.cpp: Added.
160563        (WebCore::RenderThemeChromiumAndroid::create):
160564        (WebCore::RenderTheme::themeForPage):
160565        (WebCore::RenderThemeChromiumAndroid::~RenderThemeChromiumAndroid):
160566        (WebCore::RenderThemeChromiumAndroid::systemColor):
160567        (WebCore::RenderThemeChromiumAndroid::adjustInnerSpinButtonStyle):
160568        * rendering/RenderThemeChromiumAndroid.h: Added.
160569        * rendering/RenderThemeChromiumLinux.cpp:
160570        * rendering/RenderThemeChromiumLinux.h:
160571
1605722012-01-05  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
160573
160574        Fix potential superlinear runtime of multiple indirect adjenceny combinators.
160575        https://bugs.webkit.org/show_bug.cgi?id=75083
160576
160577        Reviewed by Antti Koivisto.
160578
160579        A sequence of indirect adjencency combinator such as "li ~ li ~ la" could with the
160580        former algorithm potentially do an quadratic number of element matches.
160581        The recursive matching algorithm now detects cases where all siblings have
160582        failed one indirect sibling match and fails the entire selector.
160583
160584        Test: perf/nested-combined-selectors.html
160585
160586        * css/SelectorChecker.cpp:
160587        (WebCore::SelectorChecker::checkSelector): Return SelectorFailsAllSiblings when
160588        all siblings have failed a selector component.
160589        * css/SelectorChecker.h: Add SelectorFailsAllSiblings enum value
160590
1605912012-01-05  Andreas Kling  <awesomekling@apple.com>
160592
160593        InspectorStyleSheet: Avoid cloning CSSRuleLists.
160594        <http://webkit.org/b/75603>
160595
160596        Reviewed by Ryosuke Niwa.
160597
160598        Don't filter out @charset rules from CSSRuleLists. This was forcing us to clone
160599        the stylesheet rule list, and is unnecessary since InspectorStyleSheet disregards
160600        any rule that isn't either a style rule or a rule with an internal rule list.
160601
160602        * inspector/InspectorStyleSheet.cpp:
160603        (WebCore::asCSSRuleList):
160604        (WebCore::InspectorStyleSheet::buildObjectForStyleSheet):
160605
160606            Don't pass omitCharsetRules=true to the CSSRuleList constructor.
160607
1606082012-01-05  Andreas Kling  <awesomekling@apple.com>
160609
160610        Make elements with attributes smaller by eliminating the ref count in NamedNodeMap.
160611        <http://webkit.org/b/75068>
160612
160613        Reviewed by Antti Koivisto.
160614
160615        Remove NamedNodeMap's inheritance from RefCounted and forward the ref()/deref()
160616        calls to its owner Element, effectively reducing the size of an element that has
160617        attributes by 4 bytes.
160618
160619        This reduces memory consumption by 311 kB when viewing the full HTML5 spec.
160620
160621        * dom/NamedNodeMap.cpp:
160622        (WebCore::NamedNodeMap::ref):
160623        (WebCore::NamedNodeMap::deref):
160624
160625            Added. Forwards the operation to m_element. Only ever used by the DOM wrappers.
160626
160627        * dom/NamedNodeMap.h:
160628        (WebCore::NamedNodeMap::create):
160629        * dom/DocumentType.h:
160630        * dom/Element.cpp:
160631        (WebCore::Element::parserSetAttributeMap):
160632        * dom/Element.h:
160633        * html/parser/HTMLConstructionSite.cpp:
160634        * html/parser/HTMLToken.h:
160635        (WebCore::AtomicHTMLToken::AtomicHTMLToken):
160636        * html/parser/HTMLTreeBuilder.cpp:
160637        (WebCore::HTMLTreeBuilder::processFakeStartTag):
160638        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
160639        * html/parser/HTMLTreeBuilder.h:
160640        * html/parser/TextDocumentParser.cpp:
160641        (WebCore::TextDocumentParser::insertFakePreElement):
160642        * xml/parser/MarkupTokenBase.h:
160643        (WebCore::AtomicMarkupTokenBase::AtomicMarkupTokenBase):
160644        (WebCore::AtomicMarkupTokenBase::takeAttributes):
160645        * xml/parser/XMLToken.h:
160646        (WebCore::AtomicXMLToken::AtomicXMLToken):
160647
160648            Store NamedNodeMap in OwnPtr/PassOwnPtr, rather than RefPtr/PassRefPtr.
160649
1606502012-01-05  Benjamin Poulain  <benjamin@webkit.org>
160651
160652        Improve charactersAreAllASCII() to compare multiple characters at a time
160653        https://bugs.webkit.org/show_bug.cgi?id=74063
160654
160655        Reviewed by Darin Adler.
160656
160657        Move some part of TextCodecASCIIFastPath.h to WTF in ASCIIFastPath.h.
160658        The function isAllASCII() is changed to the template version which now works
160659        with both LChar and UChar.
160660
160661        * ForwardingHeaders/wtf/text/ASCIIFastPath.h: Added.
160662        * platform/text/TextCodecASCIIFastPath.h:
160663        (WebCore::copyASCIIMachineWord):
160664        * platform/text/TextCodecLatin1.cpp:
160665        (WebCore::TextCodecLatin1::decode):
160666        * platform/text/TextCodecUTF8.cpp:
160667        (WebCore::TextCodecUTF8::decode):
160668
1606692012-01-05  Eric Uhrhane  <ericu@chromium.org>
160670
160671       [fileapi] WebKitFlags should not be constructable per Directories & System spec
160672       https://bugs.webkit.org/show_bug.cgi?id=68916
160673
160674       Reviewed by Eric Seidel.
160675
160676       Remove IDL for the object and all DOM references to it.
160677       * fileapi/WebKitFlags.idl: Removed.
160678       * page/DOMWindow.idl:
160679       * workers/WorkerContext.idl:
160680       Remove references to the JSC/V8 objects compiled from the IDL.
160681       * bindings/js/JSDirectoryEntryCustom.cpp:
160682       (WebCore::JSDirectoryEntry::getFile):
160683       (WebCore::JSDirectoryEntry::getDirectory):
160684       * bindings/js/JSDirectoryEntrySyncCustom.cpp:
160685       (WebCore::getFlags):
160686       * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
160687       (WebCore::V8DirectoryEntry::getDirectoryCallback):
160688       (WebCore::V8DirectoryEntry::getFileCallback):
160689       * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
160690       (WebCore::getFlags):
160691       Fix up build files.
160692       * WebCore.gypi:
160693       * WebCore.vcproj/WebCore.vcproj:
160694       * WebCore.xcodeproj/project.pbxproj:
160695       * WebCore/CMakeLists.txt:
160696       * WebCore/CodeGenerators.pri:
160697       * WebCore/DerivedSources.cpp:
160698       * WebCore/DerivedSources.make:
160699       * WebCore/GNUmakefile.list.am:
160700
1607012012-01-05  Ken Buchanan  <kenrb@chromium.org>
160702
160703        Crash due to first-letter block processing
160704        https://bugs.webkit.org/show_bug.cgi?id=74009
160705
160706        Fixing the way updateFirstLetter() finds the remaining text fragment
160707        for a given first-letter. Previously this was unreliable in some
160708        circumstances.
160709
160710        This patch provides a reliable mechanism to identify the remaining
160711        text by storing first-letter to remaining text associations in a
160712        hash map, managed by methods in RenderBoxModelObject.
160713
160714        Reviewed by David Hyatt.
160715
160716        * rendering/RenderBlock.cpp:
160717        (WebCore::RenderBlock::updateFirstLetter)
160718        * rendering/RenderBoxModelObject.cpp:
160719        (WebCore::RenderBoxModelObject::willBeDestroyed):
160720        (WebCore::RenderBoxModelObject::setFirstLetterRemainingText): Added
160721        (WebCore::RenderBoxModelObject::firstLetterRemainingText): Added
160722        * rendering/RenderBoxModelObject.h:
160723        (WebCore::RenderBoxModelObject::setFirstLetterRemainingText): Added
160724        (WebCore::RenderBoxModelObject::firstLetterRemainingText): Added
160725
1607262012-01-05  Mihnea Ovidenie  <mihnea@adobe.com>
160727
160728        Crash in RenderRegion::getRegionRangeForBox.
160729        https://bugs.webkit.org/show_bug.cgi?id=74781
160730
160731        Reviewed by David Hyatt.
160732
160733        Test: fast/regions/region-range-for-box-crash.html
160734
160735        This patch fixes 2 issues:
160736        1. When removing a region from a flow thread, we clear the region range information for boxes since
160737        this information is accurate only after the regions are laid out.
160738        2. While the regions are invalidated (content of flow thread is not yet laid out in regions), the
160739        functions that ask for properties of content in regions should bail out early.
160740
160741        * rendering/RenderBlock.cpp:
160742        (WebCore::RenderBlock::regionAtBlockOffset):
160743        (WebCore::RenderBlock::logicalWidthChangedInRegions):
160744        * rendering/RenderBox.cpp:
160745        (WebCore::RenderBox::clearRenderBoxRegionInfo):
160746        * rendering/RenderFlowThread.cpp:
160747        (WebCore::RenderFlowThread::removeRegionFromThread):
160748        (WebCore::RenderFlowThread::repaintRectangleInRegions):
160749        (WebCore::RenderFlowThread::mapFromFlowToRegion):
160750        (WebCore::RenderFlowThread::contentLogicalWidthOfFirstRegion):
160751        (WebCore::RenderFlowThread::contentLogicalHeightOfFirstRegion):
160752        (WebCore::RenderFlowThread::contentLogicalLeftOfFirstRegion):
160753        (WebCore::RenderFlowThread::firstRegion):
160754        (WebCore::RenderFlowThread::lastRegion):
160755        (WebCore::RenderFlowThread::getRegionRangeForBox):
160756        * rendering/RenderFlowThread.h:
160757
1607582012-01-04  Sheriff Bot  <webkit.review.bot@gmail.com>
160759
160760        Unreviewed, rolling out r104084.
160761        http://trac.webkit.org/changeset/104084
160762        https://bugs.webkit.org/show_bug.cgi?id=75600
160763
160764        Likely kills dom-perf benchmark in chromium
160765        http://build.chromium.org/f/chromium/perf/linux-
160766        release/dom_perf/report.html?history=150&rev=116444 (Requested
160767        by dslomov on #webkit).
160768
160769        * dom/Attr.cpp:
160770        (WebCore::Attr::setValue):
160771        (WebCore::Attr::childrenChanged):
160772        * dom/DynamicNodeList.cpp:
160773        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
160774        (WebCore::DynamicSubtreeNodeList::length):
160775        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
160776        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
160777        (WebCore::DynamicSubtreeNodeList::item):
160778        (WebCore::DynamicSubtreeNodeList::invalidateCache):
160779        (WebCore::DynamicSubtreeNodeList::Caches::create):
160780        (WebCore::DynamicSubtreeNodeList::Caches::reset):
160781        * dom/DynamicNodeList.h:
160782        * dom/Element.cpp:
160783        (WebCore::Element::updateAfterAttributeChanged):
160784        * dom/Node.cpp:
160785        (WebCore::Node::setTreeScopeRecursively):
160786        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
160787        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
160788        (WebCore::Node::notifyLocalNodeListsLabelChanged):
160789        (WebCore::Node::itemTypeAttributeChanged):
160790        (WebCore::NodeListsNodeData::invalidateCaches):
160791        (WebCore::NodeListsNodeData::invalidateCachesThatDependOnAttributes):
160792        * dom/Node.h:
160793        * dom/NodeRareData.h:
160794        * html/HTMLElement.cpp:
160795        (WebCore::HTMLElement::parseMappedAttribute):
160796        * html/HTMLLabelElement.cpp:
160797        (WebCore::HTMLLabelElement::parseMappedAttribute):
160798        * html/HTMLLabelElement.h:
160799
1608002012-01-04  James Robinson  <jamesr@chromium.org>
160801
160802        [chromium] Remove chromium compositor support for unused zoomAnimatorTransform
160803        https://bugs.webkit.org/show_bug.cgi?id=75585
160804
160805        Reviewed by Kenneth Russell.
160806
160807        Removes compositor support for zoomAnimatorTransform property. This code is unused and never was used.
160808        Zoom animations are handled by adjusting the page scale factor and scroll offsets.
160809
160810        * platform/graphics/chromium/LayerChromium.h:
160811        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
160812        * platform/graphics/chromium/cc/CCLayerImpl.h:
160813        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
160814        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
160815        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
160816        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
160817        (WebCore::calculateDrawTransformsAndVisibilityInternal):
160818        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
160819        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
160820
1608212012-01-04  Kenneth Russell  <kbr@google.com>
160822
160823        Fix semantics of WEBKIT_WEBGL_lose_context
160824        https://bugs.webkit.org/show_bug.cgi?id=75053
160825
160826        Reviewed by James Robinson.
160827
160828        Updated WEBGL_lose_context extension to match WebGL spec's
160829        behavior:
160830
160831          - loseContext() causes the context to be lost immediately, but
160832            the webglcontextlost event isn't dispatched until JavaScript
160833            returns.
160834          - restoreContext() may only be called once dispatch of the
160835            webglcontextlost event has completed, *and* if that event handler
160836            prevented the default behavior of the event.
160837          - restoreContext() performs its work asynchronously. The context
160838            is not restored until just before the webglcontextrestored event
160839            is dispatched.
160840
160841        * html/canvas/WebGLRenderingContext.cpp:
160842        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
160843        (WebCore::WebGLRenderingContext::forceLostContext):
160844        (WebCore::WebGLRenderingContext::forceRestoreContext):
160845        (WebCore::WebGLRenderingContext::dispatchContextLostEvent):
160846        (WebCore::WebGLRenderingContext::maybeRestoreContext):
160847        * html/canvas/WebGLRenderingContext.h:
160848
1608492011-12-30  Ryosuke Niwa  <rniwa@webkit.org>
160850
160851        Inserting nodes is slow due to Node::notifyNodeListsAttributeChanged (20%+)
160852        https://bugs.webkit.org/show_bug.cgi?id=73853
160853
160854        Reviewed by Antti Koivisto.
160855
160856        Lazily invalidate the node list caches instead of invaliding them at the time of modification. We use
160857        the DOM tree version to detect whether caches need to be invalidated or not. We now invalidate caches more
160858        frequently after this patch (in particular, invalidates caches that are stored on nodes not present in
160859        the ancestry of the modified nodes); however, our study on major Web sites such as Gmail, Facebook, Twitter,
160860        etc... indicate that about 1% of real-world usage benefits from keeping the caches alive across different
160861        DOM tree versions.
160862
160863        In order to invalidate caches lazily, this patch adds replaces the type of m_caches in DynamicSubtreeNodeList
160864        by DynamicSubtreeNodeList::SubtreeCaches which encapsulates member variables in DynamicNodeList::Caches and
160865        invalidates values as needed. Also this change allows m_caches to be allocated as a part of
160866        DynamicSubtreeNodeList instead of a separate ref-counted object.
160867
160868        * dom/Attr.cpp:
160869        (WebCore::Attr::setValue):
160870        (WebCore::Attr::childrenChanged):
160871        * dom/DynamicNodeList.cpp:
160872        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
160873        (WebCore::DynamicSubtreeNodeList::length):
160874        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
160875        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
160876        (WebCore::DynamicSubtreeNodeList::item):
160877        (WebCore::DynamicSubtreeNodeList::invalidateCache):
160878        (WebCore::DynamicNodeList::Caches::create):
160879        (WebCore::DynamicNodeList::Caches::reset):
160880        * dom/DynamicNodeList.h:
160881        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::SubtreeCaches): Added.
160882        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isLengthCacheValid): Added.
160883        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::isItemCacheValid): Added.
160884        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedLength): Added.
160885        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItem): Added.
160886        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::cachedItemOffset): Added.
160887        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setLengthCache): Added.
160888        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::setItemCache): Added.
160889        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::reset): Added.
160890        (WebCore::DynamicSubtreeNodeList::SubtreeCaches::domVersionIsConsistent): Added.
160891        * dom/Element.cpp:
160892        (WebCore::Element::updateAfterAttributeChanged):
160893        * dom/Node.cpp:
160894        (WebCore::Node::setTreeScopeRecursively): Clear caches when a node moves from one document to another.
160895        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged): Only clears child node list of Attr.
160896        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged): Only clears child node list.
160897        (WebCore::NodeListsNodeData::invalidateCaches): Merged with invalidateCachesThatDependOnAttributes.
160898        * dom/Node.h:
160899        * dom/NodeRareData.h:
160900        * html/HTMLElement.cpp:
160901        (WebCore::HTMLElement::parseMappedAttribute):
160902        * html/HTMLLabelElement.cpp:
160903        * html/HTMLLabelElement.h:
160904
1609052012-01-04  Ryosuke Niwa  <rniwa@webkit.org>
160906
160907        Revert unintentional changes to Element.cpp in r104068.
160908
160909        * dom/Element.cpp:
160910        (WebCore::Element::recalcStyleIfNeededAfterAttributeChanged):
160911
1609122012-01-03  Ryosuke Niwa  <rniwa@webkit.org>
160913
160914        REGRESSION (r92823): Background color not preserved when copying and pasting a table row
160915        https://bugs.webkit.org/show_bug.cgi?id=75330
160916
160917        Reviewed by Tony Chang.
160918
160919        The bug was caused by the background color of the wrapping style overriding the background color
160920        in a matched rule of a highest element to be serialized. Fixed the bug by removing the conflicting
160921        background color prior to the merge.
160922
160923        Tests: editing/pasteboard/copy-element-with-conflicting-background-color-from-rule-expected.html
160924               editing/pasteboard/copy-element-with-conflicting-background-color-from-rule.html
160925
160926        * editing/EditingStyle.cpp:
160927        (WebCore::editingStyleFromComputedStyle):
160928        (WebCore::EditingStyle::removeStyleAddedByNode):
160929        (WebCore::EditingStyle::removeStyleConflictingWithStyleOfNode):
160930
1609312012-01-03  Antti Koivisto  <antti@apple.com>
160932
160933        Reviewed by Dave Hyatt.
160934
160935        Analyze stylesheet scope to minimize style recalcs
160936        https://bugs.webkit.org/show_bug.cgi?id=75508
160937        
160938        It is a relatively common pattern to use inline stylesheets in document body where all rules are scoped using descendant selector
160939
160940        <style>
160941        #foo {...}
160942        #foo div {...}
160943        #foo .bar {...}
160944        </style>
160945
160946        When this pattern is used it is also common that the rules only apply to elements that come after the style element. 
160947
160948        When the set of active stylesheets changes we invalidate and recompute the entire document style. This is very expensive. We can 
160949        detect the case above and avoid the style recalc.
160950        
160951        On engadget.com, this patch cuts the time spent in style recalcs to roughly half. There are further savings from reduced 
160952        relayouts. In total the engine CPU time used over the page load is reduced by ~10%.
160953
160954        * css/CSSStyleSelector.cpp:
160955        (WebCore::CSSStyleSelector::CSSStyleSelector):
160956        (WebCore::CSSStyleSelector::collectFeatures):
160957        
160958            Refactor feature collection from constructor to a separate function.
160959        
160960        (WebCore::CSSStyleSelector::appendAuthorStylesheets):
160961        
160962            New function for non-destructively updating the style selector.
160963        
160964        (WebCore::CSSStyleSelector::Features::clear):
160965        
160966            Clear the features for another collection.
160967            
160968        (WebCore::CSSStyleSelector::determineStylesheetSelectorScopes):
160969        
160970            Find if all rules on a stylesheetare scoped to some set of ids and classes.
160971        
160972        (WebCore::CSSStyleSelector::styleForDocument):
160973        
160974            Add optional font selector argument. We updated the correct base style font on style selector construction but that is no longer sufficient
160975            as font selector may be updated without reconstructing the style selector.
160976        
160977        (WebCore::RuleSet::addRulesFromSheet):
160978        
160979            Invalidate the matched declaration cache in case of new font-face rules.
160980        
160981        * css/CSSStyleSelector.h:
160982        * css/SelectorChecker.cpp:
160983        (WebCore::SelectorChecker::determineSelectorScopes):
160984        
160985            Find if all rules on a selector list are scoped to some set of ids and classes.
160986        
160987        * css/SelectorChecker.h:
160988        * dom/Document.cpp:
160989        (WebCore::Document::Document):
160990        (WebCore::Document::recalcStyle):
160991        
160992            Pass the font selector, if exists, to styleForDocument so we always have the base font up to date.
160993        
160994        (WebCore::Document::combineCSSFeatureFlags):
160995        (WebCore::Document::resetCSSFeatureFlags):
160996        (WebCore::Document::createStyleSelector):
160997
160998            Refactor css feature flag resetting to functions.
160999        
161000        (WebCore::Document::removePendingSheet):
161001        
161002            Use new PendingStylesheetCompleted flag when new stylesheets arrive.
161003
161004        (WebCore::Document::styleSelectorChanged):
161005
161006            Skip style recalc if it is not needed.
161007
161008        (WebCore::Document::collectActiveStylesheets):
161009        
161010            Refactor collecting stylesheets to a separate function.
161011        
161012        (WebCore::Document::testAddedStylesheetRequiresStyleRecalc):
161013        
161014            Determine the scopes and use hasElementWithId/getElementsByClassName to figure out if any scoped elements currently exist in the tree.
161015        
161016        (WebCore::Document::analyzeStylesheetChange):
161017        
161018            Figure out if we can update the style selector incrementally and if we can skip the style recalc.
161019        
161020        (WebCore::Document::updateActiveStylesheets):
161021        
161022            Renamed from recalcStyleSelector.
161023            Invoke the new analysis functions.
161024        
161025        * dom/Document.h:
161026
1610272012-01-04  Igor Oliveira  <igor.oliveira@openbossa.org>
161028
161029        Share fractional time code between AnimationBase and KeyframeAnimation
161030        https://bugs.webkit.org/show_bug.cgi?id=75549
161031
161032        Remove left over from changeset 104045.
161033
161034        Unreviewed trivial fix.
161035
161036        * page/animation/AnimationBase.cpp:
161037        (WebCore::AnimationBase::fractionalTime):
161038
1610392012-01-04  Igor Oliveira  <igor.oliveira@openbossa.org>
161040
161041        Share fractional time code between AnimationBase and KeyframeAnimation
161042        https://bugs.webkit.org/show_bug.cgi?id=75549
161043
161044        Share fractional time calculation between AnimationBase and KeyframeAnimation.
161045
161046        Reviewed by Simon Fraser.
161047
161048        * page/animation/AnimationBase.cpp:
161049        (WebCore::AnimationBase::fractionalTime):
161050        (WebCore::AnimationBase::progress):
161051        * page/animation/AnimationBase.h:
161052        * page/animation/KeyframeAnimation.cpp:
161053        (WebCore::KeyframeAnimation::fetchIntervalEndpointsForProperty):
161054
1610552012-01-03  Vangelis Kokkevis  <vangelis@chromium.org>
161056
161057        [chromium] Bypass the shadow texture copy for accelerated
161058        canvas when running the compositor in single threaded mode.
161059        https://bugs.webkit.org/show_bug.cgi?id=75146
161060
161061        The texture copy fails on Windows as glCopyTexImage2D() doesn't
161062        support BGRA source textures.
161063        This change also modifies Canvas2DLayerChromium::updateCompositorResources
161064        to call glCopyTexSubImage2D() instead of glCopyTexImage2D() so that
161065        the copy can work with texture allocated via the glTexStorage2D
161066        extension.
161067
161068        Reviewed by James Robinson.
161069
161070        Tests: Canvas2DLayerChromiumTest.cpp
161071
161072        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
161073        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
161074        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
161075        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
161076        (WebCore::Canvas2DLayerChromium::setTextureManager):
161077        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
161078        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
161079        (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
161080        (WebCore::Canvas2DLayerChromium::cleanupResources):
161081        * platform/graphics/chromium/Canvas2DLayerChromium.h:
161082
1610832012-01-04  Adam Roben  <aroben@apple.com>
161084
161085        Use one big printf command instead of many chained echo commands to generate idl_files.tmp
161086
161087        This works around a bug in Cygwin where sh.exe will crash if given a too-long sequence of
161088        &&-chained commands.
161089
161090        Fixes <http://webkit.org/b/75546> <rdar://problem/10622193> REGRESSION (r103519): WebCore's
161091        DerivedSources.make crashes sh.exe if path to WebKit source tree is long enough
161092
161093        Reviewed by Antti Koivisto.
161094
161095        * DerivedSources.make: Change the '(echo foo && echo bar && echo baz && echo -n) >
161096        ./idl_files.tmp' command to 'printf "foo\nbar\nbaz\n" > ./idl_files.tmp'. We use the
161097        patsubst function to append "\n" to each IDL filename, then use the subst function to remove
161098        the spaces between the filenames.
161099
1611002012-01-04  Mihnea Ovidenie  <mihnea@adobe.com>
161101
161102        [CSSRegions]Rollout support for background-color region styling
161103        https://bugs.webkit.org/show_bug.cgi?id=75007
161104
161105        Reviewed by Tony Chang.
161106
161107        Removed functionality, therefore no new tests. Since this is a temporary rollout,
161108        the tests for region-style with background-color are not removed in this patch, just skipped.
161109
161110        * WebCore.exp.in:
161111        * css/CSSStyleSelector.cpp:
161112        (WebCore::CSSStyleSelector::CSSStyleSelector):
161113        (WebCore::CSSStyleSelector::addMatchedDeclaration):
161114        (WebCore::CSSStyleSelector::matchRules):
161115        (WebCore::CSSStyleSelector::matchAllRules):
161116        (WebCore::CSSStyleSelector::styleForElement):
161117        (WebCore::CSSStyleSelector::pseudoStyleForElement):
161118        (WebCore::RuleData::RuleData):
161119        (WebCore::RuleSet::RuleSet):
161120        (WebCore::RuleSet::addToRuleSet):
161121        (WebCore::CSSStyleSelector::applyDeclarations):
161122        (WebCore::CSSStyleSelector::applyProperty):
161123        * css/CSSStyleSelector.h:
161124        * rendering/RenderFlowThread.cpp:
161125        (WebCore::RenderFlowThread::setRegionRangeForBox):
161126        * rendering/RenderFlowThread.h:
161127        * rendering/RenderLayer.cpp:
161128        (WebCore::RenderLayer::paint):
161129        (WebCore::RenderLayer::hitTest):
161130        * rendering/RenderObject.cpp:
161131        * rendering/RenderObject.h:
161132        * rendering/RenderObjectChildList.cpp:
161133        (WebCore::RenderObjectChildList::removeChildNode):
161134        * rendering/RenderRegion.cpp:
161135        * rendering/RenderRegion.h:
161136        * rendering/RenderView.cpp:
161137        (WebCore::RenderView::RenderView):
161138        * rendering/RenderView.h:
161139
1611402012-01-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
161141
161142        [Qt] Introduce new qmake variable 'WEBKIT' for signaling dependencies
161143
161144        The custom qmake variable 'WEBKIT' is used for signaling that a
161145        target depends in some way on other subproject of the WebKit
161146        project. For now this is limited to the set of intermediate
161147        libraries: wtf, javascriptcore, webcore, and webkit2.
161148
161149        This replaces the previous convension of using load(foo) for
161150        just include paths, and CONFIG += foo to also link against foo.
161151
161152        Adding a dependency results in additional include paths being
161153        available, and potentially linking to the library. This is
161154        decided by the build system based on conditions such as what
161155        kind of target is being built and the general build config.
161156
161157        An advantage to his approach is that it simplifies the individual
161158        foo.prf files, for example by allowing us to use INCLUDEPATH +=
161159        and LIBS += as normal instead of prepending.
161160
161161        Reviewed by Simon Hausmann.
161162
161163        * Target.pri:
161164
1611652012-01-03  Adam Barth  <abarth@webkit.org>
161166
161167        HTMLConstructionSite::attach shouldn't return a value
161168        https://bugs.webkit.org/show_bug.cgi?id=75520
161169
161170        Reviewed by Eric Seidel.
161171
161172        We used to return a value to avoid some refchurn, but now that we're
161173        using tasks, we always need to take that reference.  Removing the
161174        return value lets us remove the template parameter, which is a boon.
161175        This patch has no impact on the html-parser.html benchmark.
161176
161177        * html/parser/HTMLConstructionSite.cpp:
161178        (WebCore::HTMLConstructionSite::attachLater):
161179        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
161180        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagInBody):
161181        (WebCore::HTMLConstructionSite::insertDoctype):
161182        (WebCore::HTMLConstructionSite::insertComment):
161183        (WebCore::HTMLConstructionSite::insertCommentOnDocument):
161184        (WebCore::HTMLConstructionSite::insertCommentOnHTMLHtmlElement):
161185        (WebCore::HTMLConstructionSite::insertHTMLHeadElement):
161186        (WebCore::HTMLConstructionSite::insertHTMLBodyElement):
161187        (WebCore::HTMLConstructionSite::insertHTMLFormElement):
161188        (WebCore::HTMLConstructionSite::insertHTMLElement):
161189        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
161190        (WebCore::HTMLConstructionSite::insertScriptElement):
161191        (WebCore::HTMLConstructionSite::insertForeignElement):
161192        (WebCore::HTMLConstructionSite::insertTextNode):
161193        (WebCore::HTMLConstructionSite::reconstructTheActiveFormattingElements):
161194        (WebCore::HTMLConstructionSite::fosterParent):
161195        * html/parser/HTMLConstructionSite.h:
161196
1611972012-01-03  Adam Barth  <abarth@webkit.org>
161198
161199        Fix assert when foster parenting self-closing elements
161200        https://bugs.webkit.org/show_bug.cgi?id=75527
161201
161202        Unreviewed.
161203
161204        * html/parser/HTMLConstructionSite.cpp:
161205        (WebCore::HTMLConstructionSite::fosterParent):
161206            - We can't execute this task immediately because the code for
161207              self-closing elements wants to set the self-closing flag.
161208              Instead, we queue the task.
161209
1612102012-01-03  Charles Wei  <charles.wei@torchmobile.com.cn>
161211
161212        [BlackBerry] Need to support credentials in the URL
161213        https://bugs.webkit.org/show_bug.cgi?id=75341
161214
161215        Reviewed by George Staikos.
161216
161217        No new tests required.
161218
161219        * platform/network/blackberry/NetworkJob.cpp:
161220        (WebCore::NetworkJob::sendRequestWithCredentials):
161221
1612222012-01-03  Noel Gordon  <noel.gordon@gmail.com>
161223
161224        [chromium] Use data decoding swizzle for turbo JPEG grayscale images
161225        https://bugs.webkit.org/show_bug.cgi?id=75189
161226
161227        Reviewed by Adam Barth.
161228
161229        No new tests.  Covered by exiting tests, in particular for grayscale
161230        images that were corrupted by earlier versions on libjpeg-turbo:
161231
161232        tables/mozilla/bugs/bug29314.html
161233        tables/mozilla/bugs/bug13169.html
161234        tables/mozilla/bugs/bug10565.html
161235        tables/mozilla/bugs/bug11026.html
161236        fast/repaint/backgroundSizeRepaint.html
161237        fast/repaint/block-layout-inline-children-replaced.html
161238        fast/repaint/clipped-relative.html
161239        fast/repaint/selected-replaced.html
161240        tables/mozilla/bugs/bug12908-1.html
161241
161242        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
161243        (WebCore::JPEGImageReader::decode):  Use a data decoding swizzle for
161244        JCS_GRAYSCALE images.
161245
1612462012-01-03  Adam Barth  <abarth@webkit.org>
161247
161248        Minor speed improvement in HTML parser
161249        https://bugs.webkit.org/show_bug.cgi?id=75517
161250
161251        Reviewed by Eric Seidel.
161252
161253        This improves the html-parser.html benchmark by 0.3%.  I don't think
161254        that's actually anything to write home about, but this patch makes me
161255        feel better about my life.
161256
161257        * html/parser/HTMLFormattingElementList.cpp:
161258        (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
161259
1612602012-01-03  Kentaro Hara  <haraken@chromium.org>
161261
161262        Remove temporary code that we've inserted to implement the [Supplemental] IDL incrementally
161263        https://bugs.webkit.org/show_bug.cgi?id=75510
161264
161265        Reviewed by Adam Barth.
161266
161267        Now all build systems support the [Supplemental] IDL. This patch removes all
161268        temporary code that we've inserted to implement the [Supplemental] IDL.
161269
161270        No tests. No change in behavior. Confirm that all builds pass.
161271
161272        * bindings/js/JSDOMWindowCustom.cpp:
161273        * bindings/scripts/CodeGeneratorJS.pm:
161274        (GenerateHeader):
161275        * bindings/scripts/generate-bindings.pl:
161276        * page/DOMWindow.idl: Removed all attributes with a temporal [Supplemented] IDL.
161277
1612782012-01-03  Karl Koscher  <supersat@chromium.org>
161279
161280        Give embedders a chance to handle postMessage calls
161281        https://bugs.webkit.org/show_bug.cgi?id=73883
161282
161283        To support cross-process postMessage calls in Chromium (bug 73337), we need to intercept 
161284        postMessage calls to proxy windows. Originally we were just going to add a native event
161285        listener on the Chromium side, but that required more changes to WebKit and was a bit of
161286        a hack. See bug 73359 for a discuss about moving to this approach.
161287
161288        Reviewed by Adam Barth.
161289
161290        Test: platform/chromium/fast/events/intercept-postmessage.html
161291
161292        * loader/FrameLoaderClient.h:
161293        (WebCore::FrameLoaderClient::willCheckAndDispatchPostMessage): new method to allow the
161294            embedder to intercept postMessage calls
161295        * page/DOMWindow.cpp:
161296        (WebCore::DOMWindow::postMessageTimerFired): add a call to
161297            FrameLoaderClient::willCheckAndDispatchPostMessage
161298
1612992012-01-03  Eric Penner  <epenner@google.com>
161300
161301        [chromium] Prevent crashing due to NULL texture updater.
161302        https://bugs.webkit.org/show_bug.cgi?id=75288
161303
161304        Reviewed by James Robinson.
161305
161306        * platform/graphics/chromium/ContentLayerChromium.cpp:
161307        * platform/graphics/chromium/ContentLayerChromium.h:
161308        * platform/graphics/chromium/ImageLayerChromium.cpp:
161309        * platform/graphics/chromium/ImageLayerChromium.h:
161310
1613112012-01-03  Shawn Singh  <shawnsingh@chromium.org>
161312
161313        [chromium] CCLayerSorter accidentally reverses order of some layers.
161314        https://bugs.webkit.org/show_bug.cgi?id=75046
161315
161316        Reviewed by James Robinson.
161317
161318        Unit test added to CCLayerSorterTest.cpp
161319
161320        Fixes two related bugs that were causing z-ordering problems in
161321        layers when preserves3D triggers the need for layer sorting.
161322
161323        The first problem was that CCLayerSorter accidentally reversed the
161324        order of layers when there was no sorting dependency between them.
161325
161326        The second problem was that zDiff had numerical precision problems
161327        that forced sorting dependencies that were sometimes incorrect,
161328        when the dependencies should not have existed.
161329
161330        * platform/graphics/chromium/cc/CCLayerSorter.cpp:
161331        (WebCore::CCLayerSorter::checkOverlap):
161332        (WebCore::CCLayerSorter::sort):
161333
1613342012-01-03  Leo Yang  <leo.yang@torchmobile.com.cn>
161335
161336        [BlackBerry] Add support of blob form data to the BlackBerry port
161337        https://bugs.webkit.org/show_bug.cgi?id=75218
161338
161339        Pass FormDataElement::encodedBlob type of form data to the BlackBerry
161340        platform request to support blob data and blob file range.
161341
161342        Reviewed by George Staikos.
161343
161344        The port can't be built now, no new tests so far.
161345
161346        * platform/network/blackberry/ResourceRequestBlackBerry.cpp:
161347        (WebCore::ResourceRequest::initializePlatformRequest):
161348
1613492012-01-03  Adam Barth  <abarth@webkit.org>
161350
161351        Two null crashes in Treebuilder
161352        https://bugs.webkit.org/show_bug.cgi?id=66101
161353
161354        Reviewed by Eric Seidel.
161355
161356        The underly issue with causing the crash is that we're re-entering the
161357        tree builder.  We've done a bunch of point fixes around tree builder
161358        re-entrancy, but neither the implementation nor the specification are
161359        really designed to handle re-entrancy.
161360
161361        Firefox avoids this problem by putting the parser on its own thread.  I
161362        don't think we're quite ready to do that yet (although we will
161363        eventually, presumably, as computers become ever more parallel).  The
161364        approach in this patch is to queue up the DOM mutations and actually
161365        perform them on a shallower stack.  That's essentially the approach
161366        we've used for executing <scripts>.
161367
161368        This patch queues up DOM modifications and executes them from a clean
161369        call stack, stopping us from re-entering the tree builder.  We might
161370        need to experiment with exactly where to kick off the queue, but this
161371        location seems reasonable and fixes the crash.
161372
161373        Test: fast/parser/re-enter-and-crash.html
161374
161375        * html/parser/HTMLConstructionSite.cpp:
161376        (WebCore::executeTask):
161377            - Add a helper function for actually executing a queue DOM
161378              mutation.
161379        (WebCore::HTMLConstructionSite::attach):
161380            - Instead of actually attaching the element to the DOM, this
161381              function now queues the element for attachment.  In a follow-up
161382              patch, I plan to change this function to return void (and I'll
161383              probably rename it to something that makes it clear that it only
161384              queues the attachment).
161385        (WebCore::HTMLConstructionSite::executeQueuedTasks):
161386        (WebCore::HTMLConstructionSite::insertDoctype):
161387            - Setting the compatmode from the Doctype requires the doctype to
161388              actually be in the DOM, so we need to execute our queued tasks
161389              synchronously.  We can likely improve this function by passing
161390              the Doctype element explicitly in a follow-up patch.
161391        (WebCore::HTMLConstructionSite::insertSelfClosingHTMLElement):
161392        (WebCore::HTMLConstructionSite::insertTextNode):
161393        (WebCore::HTMLConstructionSite::findFosterSite):
161394        (WebCore::HTMLConstructionSite::fosterParent):
161395        * html/parser/HTMLConstructionSite.h:
161396        (WebCore::HTMLConstructionSiteTask::HTMLConstructionSiteTask):
161397            - Add a task object that holds on to the relevant elements.  We
161398              define some vector traits for this object to match the traits on
161399              RefPtr (which make Vector operations faster by explaining that
161400              this type is moveable without having to churn reference counts).
161401        * html/parser/HTMLElementStack.cpp:
161402        (WebCore::HTMLElementStack::pushCommon):
161403            - We delay the "begin parsing" call until we actually attach the
161404              element to the DOM.  That splits the responsibility for calling
161405              begin/finished, which is less than ideal, but I didn't see
161406              another solution.
161407        * html/parser/HTMLTreeBuilder.cpp:
161408        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
161409            - Kick off the queued mutations.
161410
1614112012-01-03  Adam Barth  <abarth@webkit.org>
161412
161413        view-source doesn't colorize </script> correctly
161414        https://bugs.webkit.org/show_bug.cgi?id=62971
161415
161416        Reviewed by Eric Seidel.
161417
161418        The reason these tags weren't colorized correctly was because the
161419        characters for the end tags where consumed by the tokenizer at the same
161420        time as it consumed the text of the script tag.  These characters are
161421        buffered internally by the tokenizer because the tokenizer is searching
161422        for "an appropriate end tag", which is "</script>" in this case.
161423
161424        I tried a number of different approaches to fixing this bug.  The
161425        approach in this patch adds an accessor to the tokenizer to read out
161426        the buffered characters.  This approach makes it easier for the
161427        HTMLSourceTracker to get exactly the right value for these buffered
161428        characters without having to do a complicated simulation of the
161429        buffering itself.
161430
161431        Tests: fast/frames/viewsource-plain-text-tags.html:
161432
161433        * html/parser/HTMLViewSourceParser.cpp:
161434        (WebCore::HTMLViewSourceParser::pumpTokenizer):
161435        * html/parser/HTMLDocumentParser.cpp:
161436        (WebCore::HTMLDocumentParser::pumpTokenizer):
161437          - Give the HTMLSourceTracker a pointer to the tokenizer so it can ask
161438            for the buffered characters.
161439        * html/parser/HTMLSourceTracker.cpp:
161440        (WebCore::HTMLSourceTracker::start):
161441          - The idea here is to treat characters buffered internally by the
161442            tokenizer the same way we treat characters that were contained in a
161443            previous segment of source.  We copy them into our accumulation
161444            buffer and adjust the token base offset to account for the extra
161445            characters.
161446        (WebCore::HTMLSourceTracker::end):
161447          - Don't consier the character buffered by the tokenizer to be part of
161448            the token we've just finished.
161449        (WebCore::HTMLSourceTracker::sourceForToken):
161450          - Remove the assumption that all of the m_previousSource is contained
161451            in the source for the current token.  Because we now understand
161452            that the tokenizer can buffer some characters internally, we might
161453            not exhaust the m_previousSource.
161454        * html/parser/HTMLSourceTracker.h:
161455          - Rename m_sourceFromPreviousSegments to m_previousSource and changed
161456            to a SegementedString to avoid extra mallocs we keep appending tiny
161457            segments.
161458          - Rename m_source to m_currentSource to contrast nicely with
161459            m_previousSource.
161460        * html/parser/HTMLTokenizer.cpp:
161461        (WebCore::HTMLTokenizer::flushBufferedEndTag):
161462        (WebCore::HTMLTokenizer::nextToken):
161463          - Previously, we cleared the temporary buffer lazily when we needed
161464            to add new characters to it.  Now we clear it eagerly so that it's
161465            length tells us whether we're currently using it to store
161466            characters.
161467          - Previously, we weren't storing the character that we used to
161468            terminate the appropriate end tag (e.g., the > in </script>)
161469            because we didn't need to "unbuffer" that character into the
161470            HTMLToken::appendToCharacter.  Now, we do store that character in
161471            the temporary buffer so that the HTMLSourceTracker can see that
161472            character.
161473        (WebCore::HTMLTokenizer::bufferedCharacters):
161474        * html/parser/HTMLTokenizer.h:
161475        (WebCore::HTMLTokenizer::numberOfBufferedCharacters):
161476          - Add accessor methods to copy out the buffered characters.
161477          - Also, unrelated to the rest of this patch, I made the constructor
161478            for HTMLTokenizer explicit because it takes only a single
161479            paramater, per the style guide.
161480        * platform/text/SegmentedString.cpp:
161481        (WebCore::SegmentedString::clear):
161482          - SegmentedString::clear wasn't clearing all of its state.  I don't
161483            think this issue was actually observable, but I noticed it when
161484            working on this patch, so I fixed it.
161485
1614862012-01-03  Benjamin Poulain  <bpoulain@apple.com>
161487
161488        Exclude Mac's PlatformEventFactory from iOS
161489        https://bugs.webkit.org/show_bug.cgi?id=75493
161490
161491        Reviewed by Sam Weinig.
161492
161493        Move PlatformEventFactory.(h|cpp) to PlatformEventFactoryMac(h|cpp) and exclude the file
161494        from iOS build.
161495
161496        * Configurations/WebCore.xcconfig: Also exclude EventHandlerMac for consistency.
161497        * WebCore.xcodeproj/project.pbxproj:
161498        * page/mac/EventHandlerMac.mm:
161499        * platform/mac/PlatformEventFactoryMac.h: Renamed from Source/WebCore/platform/mac/PlatformEventFactory.h.
161500        * platform/mac/PlatformEventFactoryMac.mm: Renamed from Source/WebCore/platform/mac/PlatformEventFactory.mm.
161501        (WebCore::globalPoint):
161502        (WebCore::globalPointForEvent):
161503        (WebCore::pointForEvent):
161504        (WebCore::mouseButtonForEvent):
161505        (WebCore::mouseEventTypeForEvent):
161506        (WebCore::clickCountForEvent):
161507        (WebCore::momentumPhaseForEvent):
161508        (WebCore::phaseForEvent):
161509        (WebCore::gestureEventTypeForEvent):
161510        (WebCore::textFromEvent):
161511        (WebCore::unmodifiedTextFromEvent):
161512        (WebCore::keyIdentifierForKeyEvent):
161513        (WebCore::isKeypadEvent):
161514        (WebCore::windowsKeyCodeForKeyEvent):
161515        (WebCore::isKeyUpEvent):
161516        (WebCore::modifiersForEvent):
161517        (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
161518        (WebCore::PlatformEventFactory::createPlatformMouseEvent):
161519        (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
161520        (WebCore::PlatformEventFactory::createPlatformWheelEvent):
161521        (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
161522        (WebCore::PlatformEventFactory::createPlatformKeyboardEvent):
161523        (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
161524        (WebCore::PlatformEventFactory::createPlatformGestureEvent):
161525
1615262012-01-03  Wei James  <james.wei@intel.com>
161527
161528        Optimize AudioBufferSourceNode process by avoiding interpolation when pitchRate==1
161529        https://bugs.webkit.org/show_bug.cgi?id=74592
161530
161531        Reviewed by Kenneth Russell.
161532
161533        Covered by existing webaudio layout tests, especially webaudio/audiobuffersource-playbackrate.html
161534
161535        * webaudio/AudioBufferSourceNode.cpp:
161536        (WebCore::AudioBufferSourceNode::renderSilenceAndFinishIfNotLooping):
161537        (WebCore::AudioBufferSourceNode::renderFromBuffer):
161538        * webaudio/AudioBufferSourceNode.h:
161539
1615402012-01-03  Joseph Pecoraro  <pecoraro@apple.com>
161541
161542        Web Inspector: Access to Node Highlighting info without drawing
161543        https://bugs.webkit.org/show_bug.cgi?id=75504
161544
161545        Provide a "getHighlight" method alongside "drawHighlight" that
161546        gets most of the important node highlighting information. This
161547        can be used by a port to do its own node highlighting or provide
161548        extra content without interfering with the highlight rects.
161549
161550        Reviewed by Timothy Hatcher.
161551
161552        * WebCore.xcodeproj/project.pbxproj:
161553        Privately expose the Highlight struct in DOMNodeHighlighter.h.
161554
161555        * inspector/DOMNodeHighlighter.cpp:
161556        (WebCore::DOMNodeHighlighter::drawHighlight):
161557        (WebCore::DOMNodeHighlighter::getHighlight):
161558        * inspector/DOMNodeHighlighter.h:
161559        Reuse the existing draw code to instead populate
161560        the Highlight struct with the information it is
161561        about to draw, and only draw if there is a context.
161562
161563        * inspector/InspectorController.cpp:
161564        (WebCore::InspectorController::getHighlight):
161565        * inspector/InspectorController.h:
161566        * inspector/InspectorDOMAgent.cpp:
161567        (WebCore::InspectorDOMAgent::getHighlight):
161568        * inspector/InspectorDOMAgent.h:
161569        Get highlight information by going through getHighlight
161570        in InspectorController. This is alongside drawHighlight.
161571
1615722012-01-03  Shawn Singh  <shawnsingh@chromium.org>
161573
161574        [chromium] Push drawsContent and contentsVisible into accelerated compositor
161575        https://bugs.webkit.org/show_bug.cgi?id=71209
161576
161577        Reviewed by James Robinson.
161578
161579        Tests: compositing/visibility/visibility-simple-canvas2d-layer.html
161580               compositing/visibility/visibility-simple-video-layer.html
161581               compositing/visibility/visibility-simple-webgl-layer.html
161582
161583        Rebaselined compositing/visibility/visibility-image-layers.html
161584
161585        The CSS visibility property was not being properly obeyed by many
161586        specialized layer types in the accelerated compositor. The root of
161587        the problem was that drawsContent and contentsVisible flags were
161588        not properly propagated into the compositor. This patch removes
161589        the drawsContent() callback, and instead makes sure that
161590        drawsContent and contentsVisible are "pushed" through the
161591        accelerated compositor.
161592
161593        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
161594        (WebCore::Canvas2DLayerChromium::drawsContent):
161595        * platform/graphics/chromium/ContentLayerChromium.cpp:
161596        * platform/graphics/chromium/ContentLayerChromium.h:
161597        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
161598        (WebCore::GraphicsLayerChromium::setDrawsContent):
161599        (WebCore::GraphicsLayerChromium::setContentsVisible):
161600        (WebCore::GraphicsLayerChromium::setContentsToImage):
161601        (WebCore::GraphicsLayerChromium::setContentsToCanvas):
161602        (WebCore::GraphicsLayerChromium::setContentsToMedia):
161603        (WebCore::GraphicsLayerChromium::updateLayerIsDrawable):
161604        (WebCore::GraphicsLayerChromium::setupContentsLayer):
161605        * platform/graphics/chromium/GraphicsLayerChromium.h:
161606        * platform/graphics/chromium/LayerChromium.cpp:
161607        (WebCore::LayerChromium::LayerChromium):
161608        (WebCore::LayerChromium::setIsDrawable):
161609        * platform/graphics/chromium/LayerChromium.h:
161610        (WebCore::LayerChromium::drawsContent):
161611        * platform/graphics/chromium/PluginLayerChromium.h:
161612        * platform/graphics/chromium/TiledLayerChromium.cpp:
161613        (WebCore::TiledLayerChromium::drawsContent):
161614        * platform/graphics/chromium/VideoLayerChromium.h:
161615        * platform/graphics/chromium/WebGLLayerChromium.cpp:
161616        (WebCore::WebGLLayerChromium::drawsContent):
161617        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
161618        (WebCore::CCLayerImpl::dumpLayerProperties):
161619
1616202012-01-03  Shawn Singh  <shawnsingh@chromium.org>
161621
161622        [chromium] Make sure root damage rect gets passed to renderer
161623        https://bugs.webkit.org/show_bug.cgi?id=74893
161624
161625        Reviewed by James Robinson.
161626
161627        Unit test added to CCLayerTreeHostImplTest.cpp
161628
161629        * platform/graphics/chromium/LayerRendererChromium.cpp:
161630        (WebCore::LayerRendererChromium::swapBuffers):
161631        * platform/graphics/chromium/LayerRendererChromium.h:
161632        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
161633        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
161634        (WebCore::CCLayerTreeHostImpl::swapBuffers):
161635        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
161636
1616372012-01-03  Yuzhu Shen  <yzshen@chromium.org>
161638
161639        v8 binding: npCreateV8ScriptObject() should not returned an existing V8NPObject if the rootObject doesn't match
161640        https://bugs.webkit.org/show_bug.cgi?id=74515
161641
161642        Reviewed by Nate Chapin.
161643
161644        Test: http/tests/plugins/create-v8-script-objects.html
161645
161646        * bindings/v8/NPV8Object.cpp:
161647        (WebCore::freeV8NPObject):
161648        (WebCore::npCreateV8ScriptObject):
161649
1616502012-01-03  Jon Lee  <jonlee@apple.com>
161651
161652        Leak of WebNotificationClient when page is destroyed
161653        https://bugs.webkit.org/show_bug.cgi?id=74980
161654        <rdar://problem/10611231>
161655
161656        Reviewed by Mark Rowe.
161657
161658        * notifications/NotificationController.cpp:
161659        (WebCore::NotificationController::~NotificationController): Notify the client
161660        that the controller has been destroyed.
161661        * notifications/NotificationPresenter.h: Add notificationControllerDestroyed()
161662        callback to the client interface.
161663
1616642012-01-03  Alexis Menard  <alexis.menard@openbossa.org>
161665
161666        getComputedStyle for list-style is not implemented.
161667        https://bugs.webkit.org/show_bug.cgi?id=75443
161668
161669        Reviewed by Tony Chang.
161670
161671        Implement getComputedStyle for list-style.
161672
161673        Test: fast/css/getComputedStyle/getComputedStyle-list-style-shorthand.html
161674
161675        * css/CSSComputedStyleDeclaration.cpp:
161676        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
161677
1616782012-01-03  Adrienne Walker  <enne@google.com>
161679
161680        [chromium] Remove unneeded content vs. layer space distinction in tiled layers
161681        https://bugs.webkit.org/show_bug.cgi?id=75498
161682
161683        Reviewed by James Robinson.
161684
161685        Long ago, before scrollbars became their own layers, tiled layers had
161686        a distinction between content space (what's mostly called layer space
161687        elsewhere) and layer space (the transformed content space). It seemed
161688        like this transform could get reused for supporting RTL pages, but as
161689        that's not the case, it should be eradicated.
161690
161691        Tiled layers now deal with everything in "layer space", which is a 2d
161692        rectangle starting at (0, 0) in the top left of the layer and
161693        extending to contentBounds() in the bottom right.
161694
161695        As no code actually set the tiler position, this change should be a
161696        no-op.
161697
161698        Test: LayoutTests/compositing/
161699
161700        * platform/graphics/chromium/TiledLayerChromium.cpp:
161701        (WebCore::UpdatableTile::isDirty):
161702        (WebCore::UpdatableTile::clearDirty):
161703        (WebCore::TiledLayerChromium::updateCompositorResources):
161704        (WebCore::TiledLayerChromium::createTile):
161705        (WebCore::TiledLayerChromium::invalidateRect):
161706        (WebCore::TiledLayerChromium::protectTileTextures):
161707        (WebCore::TiledLayerChromium::prepareToUpdateTiles):
161708        (WebCore::TiledLayerChromium::prepareToUpdate):
161709        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
161710        (WebCore::TiledLayerChromium::needsIdlePaint):
161711        (WebCore::TiledLayerChromium::idlePaintRect):
161712        * platform/graphics/chromium/TiledLayerChromium.h:
161713        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
161714        (WebCore::CCLayerTilingData::operator=):
161715        (WebCore::CCLayerTilingData::layerRectToTileIndices):
161716        (WebCore::CCLayerTilingData::tileRect):
161717        * platform/graphics/chromium/cc/CCLayerTilingData.h:
161718        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
161719        (WebCore::CCTiledLayerImpl::appendQuads):
161720
1617212011-12-22  Joseph Pecoraro  <pecoraro@apple.com>
161722
161723        Implement Date and Time Input Value Sanitization
161724        https://bugs.webkit.org/show_bug.cgi?id=59951
161725
161726        Sanitize non-parsable incoming strings to the empty string.
161727
161728        Reviewed by Kent Tamura.
161729
161730        Covered by existing tests.
161731
161732        * html/BaseDateAndTimeInputType.h:
161733        * html/BaseDateAndTimeInputType.cpp:
161734        (WebCore::BaseDateAndTimeInputType::sanitizeValue): check if the
161735        incoming string is valid. If not just return the empty string.
161736
1617372012-01-03  Julien Chaffraix  <jchaffraix@webkit.org>
161738
161739        RenderLayer::backgroundClipRect should not check parent()
161740        https://bugs.webkit.org/show_bug.cgi?id=73731
161741
161742        Reviewed by Simon Fraser.
161743
161744        Clean-up only, no expected change in behavior.
161745
161746        * rendering/RenderLayer.cpp:
161747        (WebCore::backgroundClipRectForPosition): Changed RenderObject::isPositioned() to
161748        a check for AbsolutePosition for consistency but also as this is equivalent due to:
161749        - the previous check for FixedPosition.
161750        - RenderView, which is positioned, will never goes to this code as it has no parent().
161751
161752        (WebCore::RenderLayer::backgroundClipRect): Removed the parent() check. While at
161753        it, also moved the inline initialization of |backgroundClipRect| to its own function
161754        and removed a |view| check as the associated ASSERT seems to never have been reached.
161755
1617562012-01-03  Alexey Proskuryakov  <ap@apple.com>
161757
161758        <rdar://problem/10637779> REGRESSION (r102247): Focus ring is not drawn around a button
161759
161760        Rubber-stamped by Dan Bernstein.
161761
161762        * platform/mac/ThemeMac.mm: (WebCore::updateStates): Flip an incorrect conditional, this code
161763        should run on Snow Leopard and Lion.
161764
1617652012-01-03  Alexis Menard  <alexis.menard@openbossa.org>
161766
161767        getComputedStyle should return shorthands property with the minimum number of sides possible.
161768        https://bugs.webkit.org/show_bug.cgi?id=75434
161769
161770        Reviewed by Tony Chang.
161771
161772        As stated in http://www.w3.org/TR/DOM-Level-2-Style/css.html#CSS-CSS2Properties we should
161773        return shorthands properties with the minimum number of sides possible.
161774
161775        Existing tests have been updated accordingly.
161776
161777        * css/CSSComputedStyleDeclaration.cpp:
161778        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
161779        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForSidesShorthand):
161780        * css/CSSComputedStyleDeclaration.h:
161781
1617822012-01-03  Martin Robinson  <mrobinson@igalia.com>
161783
161784        [GTK] GTK+ 3 theming code does not use the GtkOrientable style class
161785        https://bugs.webkit.org/show_bug.cgi?id=72789
161786
161787        Reviewed by Philippe Normand.
161788
161789        No new tests. Testing GTK+ theming is quite difficult
161790        because no two distributions have the same set of themes.
161791        Current tests prevent regressions.
161792
161793        * platform/gtk/RenderThemeGtk3.cpp:
161794        (WebCore::applySliderStyleContextClasses): Added this helper that
161795        properly handles the orientable style class.
161796        (WebCore::RenderThemeGtk::paintSliderTrack): Use the new helper.
161797        (WebCore::RenderThemeGtk::paintSliderThumb): Ditto.
161798        * platform/gtk/ScrollbarThemeGtk3.cpp:
161799        (WebCore::applyScrollbarStyleContextClasses): Added this helper that
161800        properly handles the orientable style class.
161801        (WebCore::ScrollbarThemeGtk::paintTrackBackground): Use the new helper.
161802        (WebCore::ScrollbarThemeGtk::paintScrollbarBackground): Ditto.
161803        (WebCore::ScrollbarThemeGtk::paintThumb): Ditto.
161804        (WebCore::ScrollbarThemeGtk::paintButton): Ditto.
161805
1618062012-01-03  Florin Malita  <fmalita@google.com>
161807
161808        NULL ptr in WebCore::SVGStyledTransformableElement::animatedLocalTransform
161809        https://bugs.webkit.org/show_bug.cgi?id=75227
161810
161811        Reviewed by Dirk Schulze.
161812
161813        Test: svg/custom/webkit-transform-crash.html
161814
161815        * svg/SVGStyledTransformableElement.cpp:
161816        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
161817        Add a null-renderer check.
161818
1618192012-01-03  Alexis Menard  <alexis.menard@openbossa.org>
161820
161821        getComputedStyle for border is not implemented.
161822        https://bugs.webkit.org/show_bug.cgi?id=75319
161823
161824        Reviewed by Tony Chang.
161825
161826        Implement getComputedStyle for border.
161827
161828        fast/css/getComputedStyle/getComputedStyle-border-shorthand.html was extented.
161829
161830        * css/CSSComputedStyleDeclaration.cpp:
161831        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
161832
1618332012-01-03  Alexis Menard  <alexis.menard@openbossa.org>
161834
161835        Sort the WebCore Xcode project file
161836
161837        Reviewed by Dimitri Glazkov.
161838
161839        * WebCore.xcodeproj/project.pbxproj:
161840
1618412012-01-03  Adrienne Walker  <enne@google.com>
161842
161843        [chromium] Set tiler bounds explicitly rather than growing them
161844        https://bugs.webkit.org/show_bug.cgi?id=75331
161845
161846        Reviewed by James Robinson.
161847
161848        Rather than only growing bounds, make the bounds on the tiler be set
161849        explicitly by TiledLayerChromium. This patch now properly invalidates
161850        regions when the bounds change.
161851
161852        * platform/graphics/chromium/TiledLayerChromium.cpp:
161853        (WebCore::TiledLayerChromium::updateBounds):
161854        (WebCore::TiledLayerChromium::prepareToUpdate):
161855        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
161856        * platform/graphics/chromium/TiledLayerChromium.h:
161857        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
161858        (WebCore::CCLayerTilingData::setBounds):
161859        (WebCore::CCLayerTilingData::bounds):
161860        * platform/graphics/chromium/cc/CCLayerTilingData.h:
161861
1618622012-01-03  Martin Robinson  <mrobinson@igalia.com>
161863
161864        [GTK] Slider thumb is not centered on the track with the unico theme
161865        https://bugs.webkit.org/show_bug.cgi?id=72802
161866
161867        Reviewed by Philippe Normand.
161868
161869        No new tests. This only applies to certain GTK+ themes.
161870        Existing tests cover the default GTK+ theme.
161871
161872        * platform/gtk/RenderThemeGtk3.cpp:
161873        (WebCore::RenderThemeGtk::paintSliderThumb): Do not resize the
161874        slider thumb by the trough border.
161875
1618762012-01-03  Adrienne Walker  <enne@google.com>
161877
161878        [chromium] Make tiled layer's tiler always exist
161879        https://bugs.webkit.org/show_bug.cgi?id=75329
161880
161881        Reviewed by James Robinson.
161882
161883        TiledLayerChromium has some awkward code to handle lazily creating the
161884        tiler, including lots of null checks and shadowing the tile size.
161885        Instead, always create the tiler up front. As values change that
161886        invalidate all tiles, reset it rather than clear the pointer.
161887
161888        * platform/graphics/chromium/LayerChromium.cpp:
161889        (WebCore::LayerChromium::setIsNonCompositedContent):
161890        * platform/graphics/chromium/LayerChromium.h:
161891        * platform/graphics/chromium/TiledLayerChromium.cpp:
161892        (WebCore::TiledLayerChromium::TiledLayerChromium):
161893        (WebCore::TiledLayerChromium::cleanupResources):
161894        (WebCore::TiledLayerChromium::setTileSize):
161895        (WebCore::TiledLayerChromium::setBorderTexelOption):
161896        (WebCore::TiledLayerChromium::drawsContent):
161897        (WebCore::TiledLayerChromium::updateCompositorResources):
161898        (WebCore::TiledLayerChromium::setTilingOption):
161899        (WebCore::TiledLayerChromium::pushPropertiesTo):
161900        (WebCore::TiledLayerChromium::setIsNonCompositedContent):
161901        (WebCore::TiledLayerChromium::invalidateRect):
161902        (WebCore::TiledLayerChromium::protectTileTextures):
161903        (WebCore::TiledLayerChromium::prepareToUpdate):
161904        (WebCore::TiledLayerChromium::prepareToUpdateIdle):
161905        (WebCore::TiledLayerChromium::needsIdlePaint):
161906        (WebCore::TiledLayerChromium::idlePaintRect):
161907        * platform/graphics/chromium/TiledLayerChromium.h:
161908        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
161909        (WebCore::CCLayerTilingData::setBorderTexelOption):
161910        * platform/graphics/chromium/cc/CCLayerTilingData.h:
161911        * platform/graphics/gpu/TilingData.cpp:
161912        (WebCore::TilingData::setHasBorderTexels):
161913        * platform/graphics/gpu/TilingData.h:
161914
1619152012-01-03  Kentaro Hara  <haraken@chromium.org>
161916
161917        Unreviewed. Rebaselined run-bindings-tests results.
161918
161919        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
161920        (WebCore::JSTestEventConstructor::destroy):
161921        * bindings/scripts/test/JS/JSTestEventConstructor.h:
161922        (WebCore::JSTestEventConstructor::releaseImplIfNotNull):
161923        * bindings/scripts/test/JS/JSTestInterface.cpp:
161924        (WebCore::JSTestInterface::destroy):
161925        * bindings/scripts/test/JS/JSTestInterface.h:
161926        (WebCore::JSTestInterface::releaseImplIfNotNull):
161927        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
161928        (WebCore::JSTestMediaQueryListListener::destroy):
161929        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
161930        (WebCore::JSTestMediaQueryListListener::releaseImplIfNotNull):
161931        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
161932        (WebCore::JSTestNamedConstructor::destroy):
161933        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
161934        (WebCore::JSTestNamedConstructor::releaseImplIfNotNull):
161935        * bindings/scripts/test/JS/JSTestObj.cpp:
161936        (WebCore::JSTestObj::destroy):
161937        * bindings/scripts/test/JS/JSTestObj.h:
161938        (WebCore::JSTestObj::releaseImplIfNotNull):
161939        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
161940        (WebCore::JSTestSerializedScriptValueInterface::destroy):
161941        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
161942        (WebCore::JSTestSerializedScriptValueInterface::releaseImplIfNotNull):
161943
1619442012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
161945
161946        [GTK] Fix scrollbars size with GTK+ 3.x
161947        https://bugs.webkit.org/show_bug.cgi?id=75467
161948
161949        Reviewed by Xan Lopez.
161950
161951        * platform/gtk/RenderThemeGtk3.cpp:
161952        (WebCore::getStyleContext): Add the style class for the given
161953        widget type to the GtkWidgetPath when creating GtkStyleContext
161954        objects.
161955
1619562012-01-03  Alexis Menard  <alexis.menard@openbossa.org>
161957
161958        getComputedStyle for outline is not implemented.
161959        https://bugs.webkit.org/show_bug.cgi?id=75441
161960
161961        Reviewed by Antonio Gomes.
161962
161963        Implement getComputedStyle for outline.
161964
161965        Test: fast/css/getComputedStyle/getComputedStyle-outline-shorthand.html
161966
161967        * css/CSSComputedStyleDeclaration.cpp:
161968        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
161969
1619702012-01-03  Carlos Garcia Campos  <cgarcia@igalia.com>
161971
161972        [GTK] Use gdk_screen_get_monitor_workarea() when available for screenAvailableRect()
161973        https://bugs.webkit.org/show_bug.cgi?id=75435
161974
161975        Reviewed by Martin Robinson.
161976
161977        * platform/gtk/GtkVersioning.c:
161978        (getScreenCurrentDesktop):
161979        (getScreenWorkArea):
161980        (gdk_screen_get_monitor_workarea): Implement it when GTK+ < 3.3.6.
161981        * platform/gtk/GtkVersioning.h:
161982        * platform/gtk/PlatformScreenGtk.cpp:
161983        (WebCore::screenAvailableRect): Use
161984        gdk_screen_get_monitor_workarea() instead of our own
161985        implementation.
161986
1619872012-01-02  Kentaro Hara  <haraken@chromium.org>
161988
161989        REGRESSION(r103919): Remove resolve-supplemental.pl from the WebCore target in Xcode
161990        https://bugs.webkit.org/show_bug.cgi?id=75458
161991
161992        Reviewed by Adam Barth.
161993
161994        At r103919, we added resolve-supplemental.pl to WebCore.framework/Resources,
161995        but we should have added it to the project without adding it to any target.
161996        This patch fixes it.
161997
161998        No tests. No change in behavior.
161999
162000        * WebCore.xcodeproj/project.pbxproj:
162001
1620022012-01-02  Kentaro Hara  <haraken@chromium.org>
162003
162004        Enable the [Supplemental] IDL on GTK/GObject
162005        https://bugs.webkit.org/show_bug.cgi?id=75411
162006
162007        Reviewed by Adam Barth.
162008
162009        This patch enables the [Supplemental] IDL on GObject bindings of GTK
162010        by changing the build flow of bindings/gobject/GNUmakefile.am as follows.
162011
162012        - Previous build flow:
162013            foreach $idl (all IDL files) {
162014                generate-bindings.pl depends on $idl;
162015                generate-bindings.pl reads $idl;
162016                generate-bindings.pl generates .h and .cpp files for $idl;
162017            }
162018
162019        - New build flow (See the discussions in bug 72138 for more details):
162020            resolve-supplemental.pl depends on all IDL files;
162021            resolve-supplemental.pl reads all IDL files;
162022            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
162023            resolve-supplemental.pl outputs supplemental_dependency.tmp;
162024            foreach $idl (all IDL files) {
162025                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
162026                generate-bindings.pl reads $idl;
162027                generate-bindings.pl reads supplemental_dependency.tmp;
162028                generate-bindings.pl generates .h and .cpp files for $idl,
162029                    including all attributes in the IDL files that are implementing $idl;
162030            }
162031
162032        Tests: Confirm that build succeeds.
162033               http/tests/websocket/tests/*
162034
162035        * GNUmakefile.am:
162036        * bindings/gobject/GNUmakefile.am:
162037
1620382012-01-02  Kentaro Hara  <haraken@chromium.org>
162039
162040        Add resolve-supplemental.pl to project.pbxproj
162041        https://bugs.webkit.org/show_bug.cgi?id=75426
162042
162043        Reviewed by Adam Barth.
162044
162045        We should have added "resolve-supplemental.pl" to build scripts of AppleWebKit
162046        when we enabled the [Supplemental] IDL on AppleWebKit at r103519.
162047        This is a follow-up patch for it.
162048
162049        No tests. Just confirm that the AppleWebKit build passes.
162050
162051        * WebCore.xcodeproj/project.pbxproj:
162052
1620532012-01-02  Kentaro Hara  <haraken@chromium.org>
162054
162055        Add resolve-supplemental.pl to build scripts of AppleWin
162056        https://bugs.webkit.org/show_bug.cgi?id=75412
162057
162058        Reviewed by Adam Barth.
162059
162060        We should have added "resolve-supplemental.pl" to build scripts of AppleWin
162061        when we enabled the [Supplemental] IDL on AppleWin at r103519.
162062        This is a follow-up patch for it.
162063
162064        No tests. Just confirm that the AppleWin build passes.
162065
162066        * WebCore.vcproj/MigrateScripts:
162067        * WebCore.vcproj/WebCore.vcproj:
162068
1620692012-01-02  Sam Weinig  <sam@webkit.org>
162070
162071        Fix the build.
162072
162073        * bindings/scripts/CodeGeneratorJS.pm:
162074
1620752012-01-02  Andy Estes  <aestes@apple.com>
162076
162077        Fix the Windows build after r103888.
162078
162079        * WebCore.vcproj/WebCore.vcproj: Remove CollectionCache.{cpp, h} from
162080        the WebCore vcproj.
162081
1620822012-01-02  Sam Weinig  <sam@webkit.org>
162083
162084        REGRESSION(r100517): We're leaking many, many DOM objects!
162085        https://bugs.webkit.org/show_bug.cgi?id=75451
162086
162087        Reviewed by Mark Rowe.
162088
162089        * bindings/scripts/CodeGeneratorJS.pm:
162090        Add a temporary workaround to the problem of handle finalizers
162091        not getting called by adding back the destructors (or rather
162092        their replacement, destroy() functions).
162093
1620942012-01-02  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
162095
162096        Fix chromium mac build after r103905
162097        https://bugs.webkit.org/show_bug.cgi?id=75436
162098
162099        Reviewed by Csaba Osztrogonác.
162100
162101        Adding parenthesis to disambiguate because clang gives error
162102        "expression is not assignable".
162103
162104        * rendering/svg/RenderSVGResourceGradient.cpp:
162105        (WebCore::RenderSVGResourceGradient::applyResource):
162106
1621072011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
162108
162109        Use HashMap<OwnPtr> in RenderSVGResourceGradient
162110        https://bugs.webkit.org/show_bug.cgi?id=75364
162111
162112        Reviewed by Daniel Bates.
162113
162114        * rendering/svg/RenderSVGResourceGradient.cpp:
162115        (WebCore::RenderSVGResourceGradient::removeAllClientsFromCache):
162116        (WebCore::RenderSVGResourceGradient::removeClientFromCache):
162117        (WebCore::RenderSVGResourceGradient::applyResource): avoid looking
162118        up the hash twice by using HashMap::add().
162119        * rendering/svg/RenderSVGResourceGradient.h: rename m_gradient to m_gradientMap.
162120
1621212012-01-02  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
162122
162123        [Qt] Fix qmake warning about unescaped backslashes
162124
162125        Reviewed by Ossy.
162126
162127        * DerivedSources.pri:
162128
1621292012-01-02  Carlos Garcia Campos  <cgarcia@igalia.com>
162130
162131        Unreviewed. Fix make distcheck issue.
162132
162133        * GNUmakefile.am: Add resolve-supplemental.pl script to
162134        EXTRA_DIST.
162135
1621362012-01-01  Andreas Kling  <awesomekling@apple.com>
162137
162138        Clear HTMLCollection's internal cache on construction.
162139        <http://webkit.org/b/75423>
162140
162141        Reviewed by Antti Koivisto.
162142
162143        * html/HTMLCollection.h:
162144        * html/HTMLCollection.cpp:
162145        (WebCore::HTMLCollection::HTMLCollection):
162146        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
162147
1621482012-01-01  Eunmi Lee  <eunmi15.lee@samsung.com>
162149
162150        [EFL] Move function to get dpi to the WebCore/platform/efl/EflScreenUtilities.cpp.
162151        https://bugs.webkit.org/show_bug.cgi?id=75292
162152
162153        Reviewed by Andreas Kling.
162154
162155        Move ewk_util_dpi_get() function in the ewk_util.cpp to the
162156        WebCore/platform/efl/EflScreenUtilities.cpp in order to use it in the WebKit2.
162157        The function's name is changed to getDPI().
162158
162159        * PlatformEfl.cmake:
162160        * platform/efl/EflScreenUtilities.cpp: Added.
162161        (WebCore::getDPI):
162162        * platform/efl/EflScreenUtilities.h: Added.
162163
1621642012-01-01  Andreas Kling  <awesomekling@apple.com>
162165
162166        Merge CollectionCache into HTMLCollection.
162167        <http://webkit.org/b/75423>
162168
162169        Reviewed by Anders Carlsson.
162170
162171        - Move the members of CollectionCache into HTMLCollection.
162172        - Renamed resetCollectionInfo() to invalidateCacheIfNeeded().
162173        - Removed a bunch of overkill HashMap::checkConsistency() calls.
162174
162175        * CMakeLists.txt:
162176        * GNUmakefile.list.am:
162177        * Target.pri:
162178        * WebCore.gypi:
162179        * WebCore.xcodeproj/project.pbxproj:
162180        * html/CollectionCache.cpp: Removed.
162181        * html/CollectionCache.h: Removed.
162182
162183            Remove CollectionCache.
162184
162185        * html/HTMLAllCollection.cpp:
162186        (WebCore::HTMLAllCollection::namedItemWithIndex):
162187        * html/HTMLCollection.cpp:
162188        (WebCore::HTMLCollection::HTMLCollection):
162189        (WebCore::HTMLCollection::~HTMLCollection):
162190        (WebCore::HTMLCollection::invalidateCacheIfNeeded):
162191        (WebCore::HTMLCollection::length):
162192        (WebCore::HTMLCollection::item):
162193        (WebCore::HTMLCollection::nextItem):
162194        (WebCore::HTMLCollection::namedItem):
162195        (WebCore::HTMLCollection::updateNameCache):
162196        (WebCore::HTMLCollection::hasNamedItem):
162197        (WebCore::HTMLCollection::namedItems):
162198        (WebCore::HTMLCollection::append):
162199        * html/HTMLCollection.h:
162200        * html/HTMLFormCollection.cpp:
162201        (WebCore::HTMLFormCollection::item):
162202        (WebCore::HTMLFormCollection::getNamedItem):
162203        (WebCore::HTMLFormCollection::nextItem):
162204        (WebCore::HTMLFormCollection::namedItem):
162205        (WebCore::HTMLFormCollection::updateNameCache):
162206
162207            HTMLCollection's m_info and info() become "struct m_cache" (protected.)
162208
162209        * html/HTMLOptionsCollection.cpp:
162210        * html/HTMLOptionsCollection.h:
162211        * html/HTMLSelectElement.cpp:
162212        (WebCore::HTMLSelectElement::setRecalcListItems):
162213
162214            Expose HTMLCollection::invalidateCacheIfNeeded() so we can call it from
162215            HTMLSelectElement::setRecalcListItems().
162216
162217        * html/HTMLFormCollection.h:
162218
162219            Remove stale declaration of formCollectionInfo() which no longer exists.
162220
1622212012-01-01  Andreas Kling  <awesomekling@apple.com>
162222
162223        Move the remaining collections to caching on their respective base nodes.
162224        <http://webkit.org/b/75416>
162225
162226        Reviewed by Anders Carlsson.
162227
162228        Add a (lazily-allocated) array of HTMLCollections to ElementRareData and cache
162229        the various collections on their base node rather than recreating them every time.
162230
162231        Test: fast/dom/collection-idempotence.html
162232              fast/dom/gc-9.html
162233
162234        * html/CollectionType.h:
162235        * dom/ElementRareData.h:
162236        (WebCore::ElementRareData::hasCachedHTMLCollections):
162237        (WebCore::ElementRareData::cachedHTMLCollection):
162238        (WebCore::ElementRareData::ensureCachedHTMLCollection):
162239        * dom/Element.h:
162240        * dom/Element.cpp:
162241        (WebCore::Element::ensureCachedHTMLCollection):
162242
162243            Plumbing to cache HTMLCollections on ElementRareData.
162244
162245        (WebCore::Element::~Element):
162246
162247            Detach any cached collections from an element when it's destroyed.
162248
162249        * html/HTMLCollection.h:
162250        * html/HTMLCollection.cpp:
162251        (WebCore::HTMLCollection::HTMLCollection):
162252        (WebCore::HTMLCollection::create):
162253        (WebCore::HTMLCollection::~HTMLCollection):
162254        (WebCore::HTMLCollection::detachFromNode):
162255        * html/HTMLTableRowsCollection.cpp:
162256        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
162257        * html/HTMLOptionsCollection.cpp:
162258        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
162259        * html/HTMLFormCollection.cpp:
162260        (WebCore::HTMLFormCollection::HTMLFormCollection):
162261        * dom/Document.cpp:
162262        (WebCore::Document::cachedCollection):
162263
162264            Consolidate the HTMLCollection constructors and get rid of the hacks to
162265            optionally retain the base node.
162266
162267        * html/HTMLDataListElement.cpp:
162268        (WebCore::HTMLDataListElement::options):
162269        * html/HTMLElement.cpp:
162270        (WebCore::HTMLElement::children):
162271        * html/HTMLMapElement.cpp:
162272        (WebCore::HTMLMapElement::areas):
162273        * html/HTMLTableElement.cpp:
162274        (WebCore::HTMLTableElement::tBodies):
162275        * html/HTMLTableRowElement.cpp:
162276        (WebCore::HTMLTableRowElement::cells):
162277        * html/HTMLTableSectionElement.cpp:
162278        (WebCore::HTMLTableSectionElement::rows):
162279
162280            Cached collections!
162281
1622822012-01-01  Raymond Liu  <raymond.liu@intel.com>
162283
162284        Use overload methods to implement [Optional] parameters in AudioNode.idl
162285        https://bugs.webkit.org/show_bug.cgi?id=75402
162286
162287        Reviewed by Adam Barth.
162288
162289        No new tests required.
162290
162291        * GNUmakefile.list.am:
162292        * UseV8.cmake:
162293        * WebCore.gypi:
162294        * WebCore.xcodeproj/project.pbxproj:
162295        * bindings/js/JSAudioNodeCustom.cpp: Removed.
162296        * bindings/v8/custom/V8AudioNodeCustom.cpp: Removed.
162297        * webaudio/AudioNode.cpp:
162298        (WebCore::AudioNode::connect):
162299        (WebCore::AudioNode::disconnect):
162300        * webaudio/AudioNode.h:
162301        * webaudio/AudioNode.idl:
162302
1623032011-12-20  Robert Hogan  <robert@webkit.org>
162304
162305        CSS 2.1 failure: border-collapse-offset-002.htm fails
162306        https://bugs.webkit.org/show_bug.cgi?id=71705
162307
162308        Reviewed by Julien Chaffraix.
162309
162310        Tests: css2.1/20110323/border-collapse-offset-002-expected.html
162311               fast/css/caption-width-absolute-position-offset-top.htm
162312               fast/css/caption-width-absolute-position.htm
162313               fast/css/caption-width-fixed-position-offset-top.htm
162314               fast/css/caption-width-fixed-position.htm
162315               fast/css/caption-width-relative-position-offset-top.htm
162316               fast/css/caption-width-relative-position.htm
162317
162318        Table captions are implemented as children of the table but have a special
162319        requirement to expand to the full width of the table rather than just the 'available'
162320        width, i.e. the full width minus padding and borders.
162321
162322        To accomodate this create a RenderTableCaption object that reimplements containingBlockLogicalWidthForContent()
162323        to return the full width of the containing block (i.e. the table) rather than the available width.
162324
162325
162326        * CMakeLists.txt: Add RenderTableCaption.[cpp|h]
162327        * GNUmakefile.list.am: Add RenderTableCaption.[cpp|h]
162328        * Target.pri: Add RenderTableCaption.[cpp|h]
162329        * WebCore.gypi: Add RenderTableCaption.[cpp|h]
162330        * WebCore.vcproj/WebCore.vcproj: Add RenderTableCaption.[cpp|h]
162331        * WebCore.xcodeproj/project.pbxproj: Add RenderTableCaption.[cpp|h]
162332        * rendering/RenderBlock.cpp:
162333        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use RenderTableCaption
162334        * rendering/RenderObject.cpp:
162335        (WebCore::RenderObject::createObject): Add RenderTableCaption.[cpp|h]
162336        (WebCore::RenderObject::addChild): ditto
162337        * rendering/RenderObject.h:
162338        (WebCore::RenderObject::isTableCaption):
162339        * rendering/RenderTable.cpp:
162340        (WebCore::RenderTable::addChild):
162341        * rendering/RenderTable.h:
162342        * rendering/RenderTableCaption.cpp: Added.
162343        (WebCore::RenderTableCaption::RenderTableCaption): Implement RenderTableCaption
162344        (WebCore::RenderTableCaption::~RenderTableCaption):
162345        (WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Return the containing block's full width rather than it's available width.
162346        * rendering/RenderTableCaption.h: Added.
162347        (WebCore::RenderTableCaption::isTableCaption):
162348        (WebCore::toRenderTableCaption):
162349        * rendering/RenderingAllInOne.cpp:
162350
1623512012-01-01  Kentaro Hara  <haraken@chromium.org>
162352
162353        Unreviewed. Rebaselined run-bindings-tests results.
162354
162355        * bindings/scripts/test/CPP/WebDOMTestSupplemental.cpp: Added.
162356        * bindings/scripts/test/CPP/WebDOMTestSupplemental.h: Added.
162357        * bindings/scripts/test/GObject/WebKitDOMTestSupplemental.cpp: Added.
162358        * bindings/scripts/test/GObject/WebKitDOMTestSupplemental.h: Added.
162359        * bindings/scripts/test/ObjC/DOMTestSupplemental.cpp: Added.
162360        * bindings/scripts/test/ObjC/DOMTestSupplemental.h: Added.
162361
1623622012-01-01  Andreas Kling  <awesomekling@apple.com>
162363
162364        Make HTMLCollections play nice after their base node is gone.
162365        <http://webkit.org/b/75410>
162366
162367        Reviewed by Anders Carlsson.
162368
162369        Added HTMLCollection::detachFromNode() and call that from destructors of nodes
162370        with cached collections.
162371
162372        Sprinkled checks/assertions where applicable to make sure HTMLCollections are
162373        empty after their associated node has been destroyed.
162374
162375        This is a slight change in behavior, as collections would previously keep
162376        their nodes alive indefinitely. Added a test to document this.
162377
162378        Test: fast/dom/htmlcollection-zombies.html
162379
162380        * dom/Document.cpp:
162381        (WebCore::Document::~Document):
162382        * html/HTMLAllCollection.cpp:
162383        (WebCore::HTMLAllCollection::namedItemWithIndex):
162384        * html/HTMLCollection.cpp:
162385        (WebCore::HTMLCollection::detachFromNode):
162386        (WebCore::HTMLCollection::resetCollectionInfo):
162387        (WebCore::HTMLCollection::itemAfter):
162388        (WebCore::HTMLCollection::calcLength):
162389        (WebCore::HTMLCollection::length):
162390        (WebCore::HTMLCollection::item):
162391        (WebCore::HTMLCollection::nextItem):
162392        (WebCore::HTMLCollection::namedItem):
162393        (WebCore::HTMLCollection::updateNameCache):
162394        (WebCore::HTMLCollection::hasNamedItem):
162395        (WebCore::HTMLCollection::namedItems):
162396        (WebCore::HTMLCollection::tags):
162397        * html/HTMLCollection.h:
162398        * html/HTMLFormCollection.cpp:
162399        (WebCore::HTMLFormCollection::calcLength):
162400        (WebCore::HTMLFormCollection::item):
162401        (WebCore::HTMLFormCollection::getNamedItem):
162402        (WebCore::HTMLFormCollection::getNamedFormItem):
162403        (WebCore::HTMLFormCollection::namedItem):
162404        (WebCore::HTMLFormCollection::updateNameCache):
162405        * html/HTMLFormElement.cpp:
162406        (WebCore::HTMLFormElement::~HTMLFormElement):
162407        * html/HTMLNameCollection.cpp:
162408        (WebCore::HTMLNameCollection::itemAfter):
162409        * html/HTMLOptionsCollection.cpp:
162410        (WebCore::HTMLOptionsCollection::add):
162411        (WebCore::HTMLOptionsCollection::remove):
162412        (WebCore::HTMLOptionsCollection::selectedIndex):
162413        (WebCore::HTMLOptionsCollection::setSelectedIndex):
162414        (WebCore::HTMLOptionsCollection::setLength):
162415        * html/HTMLPropertiesCollection.cpp:
162416        (WebCore::HTMLPropertiesCollection::length):
162417        (WebCore::HTMLPropertiesCollection::item):
162418        (WebCore::HTMLPropertiesCollection::names):
162419        * html/HTMLSelectElement.cpp:
162420        (WebCore::HTMLSelectElement::~HTMLSelectElement):
162421        * html/HTMLSelectElement.h:
162422        * html/HTMLTableElement.cpp:
162423        (WebCore::HTMLTableElement::~HTMLTableElement):
162424        * html/HTMLTableElement.h:
162425        * html/HTMLTableRowsCollection.cpp:
162426        (WebCore::HTMLTableRowsCollection::itemAfter):
162427
1624282012-01-01  Andreas Kling  <awesomekling@apple.com>
162429
162430        HTMLCollection: Remove the constructor's custom CollectionCache* argument.
162431        <http://webkit.org/b/75414>
162432
162433        Reviewed by Anders Carlsson.
162434
162435        We no longer need to initialize HTMLCollections with a custom CollectionCache,
162436        so remove the argument from the constructor.
162437
162438        * html/HTMLCollection.cpp:
162439        (WebCore::HTMLCollection::HTMLCollection):
162440        * html/HTMLCollection.h:
162441        * html/HTMLFormCollection.cpp:
162442        (WebCore::HTMLFormCollection::HTMLFormCollection):
162443        * html/HTMLNameCollection.cpp:
162444        (WebCore::HTMLNameCollection::HTMLNameCollection):
162445        * html/HTMLOptionsCollection.cpp:
162446        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
162447        * html/HTMLTableRowsCollection.cpp:
162448        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
162449
1624502011-12-31  Dan Bernstein  <mitz@apple.com>
162451
162452        WebCore changes for: REGRESSION (WebKit2): Cursor, hover states not updated when page scrolls under stationary mouse pointer
162453        https://bugs.webkit.org/show_bug.cgi?id=75405
162454
162455        Reviewed by Anders Carlsson.
162456
162457        Test: fast/events/frame-scroll-fake-mouse-move.html
162458
162459        * page/FrameView.cpp:
162460        (WebCore::FrameView::scrollPositionChanged): Added a call to
162461        EventHandler::dispatchFakeMouseMoveEventSoon().
162462
1624632012-01-01  Andreas Kling  <awesomekling@apple.com>
162464
162465        Cache named item collections on Document, not just their caches.
162466        <http://webkit.org/b/75403>
162467
162468        Reviewed by Anders Carlsson.
162469
162470        Keep two maps of name -> RefPtr<HTMLNameCollection> on Document. We already
162471        had maps for the CollectionCaches and were creating the HTMLNameCollections
162472        every time they were accessed. We now let the collections create and manage
162473        the CollectionCaches instead of Document.
162474
162475        No new tests since these collections are not exposed to the web.
162476
162477        * dom/Document.h:
162478        * dom/Document.cpp:
162479        (WebCore::Document::windowNamedItems):
162480        (WebCore::Document::documentNamedItems):
162481
162482            Replace the name/CollectionCache maps by name/HTMLNameCollection maps.
162483
162484        * bindings/js/JSDOMWindowCustom.cpp:
162485        (WebCore::namedItemGetter):
162486        * bindings/js/JSHTMLDocumentCustom.cpp:
162487        (WebCore::JSHTMLDocument::nameGetter):
162488
162489            Pass names as AtomicStrings to Document's collection getters.
162490
162491        * html/HTMLNameCollection.h:
162492        (WebCore::HTMLNameCollection::create):
162493        * html/HTMLNameCollection.cpp:
162494        (WebCore::HTMLNameCollection::HTMLNameCollection):
162495
162496            Store the name in an AtomicString instead of a String, incidentally
162497            making traversal of HTMLNameCollections more efficient.
162498
162499        * html/CollectionType.h:
162500
162501            Remove two now-unneeded constants.
162502
1625032012-01-01  Andreas Kling  <awesomekling@apple.com>
162504
162505        Remove Document::collectionInfo() and let collections manage their caches.
162506        <http://webkit.org/b/75401>
162507
162508        Reviewed by Anders Carlsson.
162509
162510        Remove the CollectionCaches from Document and have the document's collections
162511        create and manage the caches on-demand instead. This is a step towards merging
162512        CollectionCache into HTMLCollection.
162513
162514        * dom/Document.h:
162515        * dom/Document.cpp:
162516        * html/HTMLCollection.cpp:
162517        (WebCore::HTMLCollection::HTMLCollection):
162518        * html/HTMLOptionsCollection.cpp:
162519
1625202012-01-01  Andreas Kling  <awesomekling@apple.com>
162521
162522        RenderThemeMac: Avoid double hash lookup in systemColor().
162523        <http://webkit.org/b/75409>
162524
162525        Reviewed by Anders Carlsson.
162526
162527        * rendering/RenderThemeMac.mm:
162528        (WebCore::RenderThemeMac::systemColor):
162529
1625302012-01-01  Andreas Kling  <awesomekling@apple.com>
162531
162532        CSSStyleSelector: Avoid double hash lookup in keyframeStylesForAnimation().
162533        <http://webkit.org/b/75408>
162534
162535        Reviewed by Anders Carlsson.
162536
162537        * css/CSSStyleSelector.cpp:
162538        (WebCore::CSSStyleSelector::keyframeStylesForAnimation):
162539
1625402012-01-01  Andreas Kling  <awesomekling@apple.com>
162541
162542        KeyframeAnimation: Use hash lookups to determine if property is animated.
162543        <http://webkit.org/b/75407>
162544
162545        Reviewed by Anders Carlsson.
162546
162547        Clean out an old FIXME about using hash lookups instead of iterating over
162548        the properties.
162549
162550        * page/animation/KeyframeAnimation.cpp:
162551        (WebCore::KeyframeAnimation::hasAnimationForProperty):
162552        (WebCore::KeyframeAnimation::affectsProperty):
162553
1625542011-12-31  Dan Bernstein  <mitz@apple.com>
162555
162556        WebCore change for <rdar://problem/10463059> Cannot print USPS shipping labels
162557        http://webkit.org/b/72801
162558
162559        Reviewed by Anders Carlsson and Alexey Proskuryakov.
162560
162561        * WebCore.exp.in: Exported Chrome::print().
162562
1625632011-12-31  Dan Bernstein  <mitz@apple.com>
162564
162565        WebCore changes for <rdar://problem/8750356> REGRESSION (WebKit2): Printing a subframe containing a PDF prints the on-screen view instead of the entire PDF document
162566        <http://webkit.org/b/75232>
162567
162568        Reviewed by Alexey Proskuryakov.
162569
162570        * WebCore.exp.in: Exported PluginDocument::pluginWidget().
162571        * WebCore.xcodeproj/project.pbxproj: Promoted PluginDocument.h to private.
162572        * html/PluginDocument.h: Fixed a typo in a comment.
162573
1625742011-12-30  Andreas Kling  <awesomekling@apple.com>
162575
162576        Cache and reuse the HTMLTableElement.rows collection.
162577        <http://webkit.org/b/75398>
162578
162579        Reviewed by Anders Carlsson.
162580
162581        Let HTMLTableElement::rows() cache the returned collection and tie it to the
162582        lifetime of the form.
162583
162584        Test: fast/dom/table-rows-collection-idempotence.html
162585              fast/dom/gc-9.html
162586
162587        * html/HTMLTableElement.h:
162588        * html/HTMLTableElement.cpp:
162589        (WebCore::HTMLTableElement::rows):
162590
162591            Cache the HTMLTableRowsCollection returned by rows() on the HTMLTableElement.
162592            Remove the per-table CollectionCache and let the collection manage that.
162593
162594        * html/HTMLTableRowsCollection.h:
162595        * html/HTMLTableRowsCollection.cpp:
162596        (WebCore::HTMLTableRowsCollection::HTMLTableRowsCollection):
162597        (WebCore::HTMLTableRowsCollection::create):
162598
162599            Tell the base class constructor to not retain the back-pointer to the table.
162600
1626012011-12-30  Andreas Kling  <awesomekling@apple.com>
162602
162603        Cache and reuse the HTMLSelectElement.options collection.
162604        <http://webkit.org/b/75399>
162605
162606        Reviewed by Anders Carlsson.
162607
162608        Let HTMLSelectElement::options() cache the returned collection and tie it to the
162609        lifetime of the form. This shrinks HTMLSelectElement by sizeof(CollectionCache)
162610        minus one pointer.
162611
162612        Test: fast/dom/select-options-collection-idempotence.html
162613              fast/gc-9.html
162614
162615        * html/HTMLSelectElement.h:
162616        * html/HTMLSelectElement.cpp:
162617        (WebCore::HTMLSelectElement::options):
162618
162619            Cache the HTMLOptionsCollection returned by options() on the HTMLSelectElement.
162620            Remove the per-select CollectionCache and let the collection manage that.
162621
162622        * html/HTMLOptionsCollection.h:
162623        * html/HTMLOptionsCollection.cpp:
162624        (WebCore::HTMLOptionsCollection::create):
162625        (WebCore::HTMLOptionsCollection::HTMLOptionsCollection):
162626
162627            Tell the base class constructor to not retain the back-pointer to the element.
162628
162629        * html/HTMLSelectElement.cpp:
162630        (WebCore::HTMLSelectElement::setRecalcListItems):
162631        * html/HTMLOptionsCollection.cpp:
162632        (WebCore::HTMLOptionsCollection::invalidateCache):
162633
162634            Added so HTMLSelectElement can invalidate the collection without triggering
162635            unnecessary instantiation of a CollectionCache.
162636
1626372011-12-30  Kentaro Hara  <haraken@chromium.org>
162638
162639        Enable the [Supplemental] IDL on CMake
162640        https://bugs.webkit.org/show_bug.cgi?id=75345
162641
162642        Reviewed by Daniel Bates.
162643
162644        This patch enables the [Supplemental] IDL on CMake by changing the build
162645        flow of CMake as follows.
162646
162647        - Previous build flow:
162648            foreach $idl (all IDL files) {
162649                generate-bindings.pl depends on $idl;
162650                generate-bindings.pl reads $idl;
162651                generate-bindings.pl generates .h and .cpp files for $idl;
162652            }
162653
162654        - New build flow (See the discussions in bug 72138 for more details):
162655            resolve-supplemental.pl depends on all IDL files;
162656            resolve-supplemental.pl reads all IDL files;
162657            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
162658            resolve-supplemental.pl outputs supplemental_dependency.tmp;
162659            foreach $idl (all IDL files) {
162660                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
162661                generate-bindings.pl reads $idl;
162662                generate-bindings.pl reads supplemental_dependency.tmp;
162663                generate-bindings.pl generates .h and .cpp files for $idl,
162664                    including all attributes in the IDL files that are implementing $idl;
162665            }
162666
162667        Tests: Confirm that build succeeds.
162668               http/tests/websocket/tests/*
162669
162670        * CMakeLists.txt:
162671        * UseJSC.cmake: Modified to reflect the new build flow as described above.
162672        * UseV8.cmake: Ditto.
162673
1626742011-12-30  Robert Hogan  <robert@webkit.org>
162675
162676        REGRESSION (r94492): Text is shifted to the right in some buttons in the Mac App Store
162677        https://bugs.webkit.org/show_bug.cgi?id=74723
162678
162679        Reviewed by Dan Bernstein.
162680
162681        Tests: fast/css/absolute-inline-alignment-2.html
162682               fast/css/absolute-inline-alignment.html
162683
162684        Inline positioned elements in the leading spaces of an inline run need to align to 
162685        adjacent text, so add them to the run as they're encountered.
162686
162687        * rendering/RenderBlockLineLayout.cpp:
162688        (WebCore::LineInfo::LineInfo): Keep a count of positioned objects encountered when
162689         skipping leading whitespace.
162690        (WebCore::LineInfo::runsFromLeadingWhitespace):
162691        (WebCore::LineInfo::resetRunsFromLeadingWhitespace):
162692        (WebCore::LineInfo::incrementRunsFromLeadingWhitespace):
162693        (WebCore::RenderBlock::constructLine): Leading positioned objects should not be considered
162694         when deciding the number of runs in a line. Otherwise they would contribute towards line 
162695         height themselves and prevent a free-standing BR following the positioned object from providing a full 
162696         20px of height.
162697        (WebCore::RenderBlock::layoutRunsAndFloatsInRange): Since a run containing line-breaks will enter
162698         skipLeadingWhitespace for each new line we reset the count every time so that the count of positioned
162699         objects we encounter only affects the line they appear on. This case is covered by 
162700         fast/inline/styledEmptyInlinesWithBRs.html
162701        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace): Add a run for each inline positioned object
162702         encountered in leading white space. Keep a count of them so that they can be excluded from
162703         the total number of runs in constructLine. 
162704
1627052011-12-30  Raymond Liu  <raymond.liu@intel.com>
162706
162707        Remove unnecessary [Custom] attribute in CanvasRenderingContext2D.idl
162708        https://bugs.webkit.org/show_bug.cgi?id=75376
162709
162710        Reviewed by Adam Barth.
162711
162712        No new tests required.
162713
162714        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
162715        * html/canvas/CanvasRenderingContext2D.idl:
162716
1627172011-12-30  Andreas Kling  <awesomekling@apple.com>
162718
162719        Cache and reuse the HTMLFormElement.elements collection.
162720        <http://webkit.org/b/75375>
162721
162722        Reviewed by Anders Carlsson.
162723
162724        Let HTMLFormElement::elements() cache the returned collection and tie it to the
162725        lifetime of the form. This reduces memory consumption by ~70 kB (on 64-bit) when
162726        viewing your average popular post on reddit.com.
162727
162728        Test: fast/dom/form-elements-collection-idempotence.html
162729              fast/dom/gc-9.html
162730
162731        * html/HTMLFormElement.h:
162732        * html/HTMLFormElement.cpp:
162733        (WebCore::HTMLFormElement::elements):
162734
162735            Cache the HTMLFormCollection returned by elements() on the HTMLFormElement.
162736            Remove the per-form CollectionCache and let the collection manage that.
162737
162738        * html/HTMLCollection.h:
162739        * html/HTMLCollection.cpp:
162740        (WebCore::HTMLCollection::HTMLCollection):
162741        (WebCore::HTMLCollection::create):
162742
162743            Have the HTMLCollection constructor take a bool argument that decides whether
162744            we retain the base node pointer or not. This mechanism is a temporary measure
162745            until all collection types are owned by their respective base nodes.
162746
162747        * html/HTMLFormCollection.h:
162748        * html/HTMLFormCollection.cpp:
162749        (WebCore::HTMLFormCollection::HTMLFormCollection):
162750        (WebCore::HTMLFormCollection::create):
162751
162752            Tell the base class constructor to not retain the back-pointer to the form.
162753
1627542011-12-30  Andreas Kling  <awesomekling@apple.com>
162755
162756        Unreviewed buildfix after r103841.
162757
162758        * inspector/InspectorMemoryAgent.cpp:
162759
1627602011-12-30  Andreas Kling  <awesomekling@apple.com>
162761
162762        CSSStyleDeclaration: Only allow setting parent rule at construction.
162763        <http://webkit.org/b/75391>
162764
162765        Reviewed by Dan Bernstein.
162766
162767        A CSSStyleDeclaration should only ever belong to one CSSRule. Enforce this
162768        at compile-time by replacing setParentRule(CSSRule*) with clearParentRule().
162769
162770        * css/CSSFontFaceRule.cpp:
162771        (WebCore::CSSFontFaceRule::~CSSFontFaceRule):
162772        * css/CSSStyleDeclaration.h:
162773        (WebCore::CSSStyleDeclaration::clearParentRule):
162774        * css/CSSStyleRule.cpp:
162775        (WebCore::CSSStyleRule::~CSSStyleRule):
162776        * css/WebKitCSSKeyframeRule.cpp:
162777        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
162778
1627792011-12-30  Andreas Kling  <awesomekling@apple.com>
162780
162781        WebKitCSSKeyframeRule.style.parentRule should point to the keyframe rule.
162782        <http://webkit.org/b/75336>
162783
162784        Reviewed by Antti Koivisto.
162785
162786        Let CSS animation keyframe rules .style.parentRule point back to the keyframe
162787        board, rather than the keyframes rule containing it.
162788
162789        Test: fast/css/css-keyframe-style-parentRule.html
162790
162791        * css/CSSParser.cpp:
162792        (WebCore::CSSParser::createKeyframeRule):
162793        * css/WebKitCSSKeyframeRule.cpp:
162794        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
162795
162796            Set the CSSMutableStyleDeclaration's parent rule when creating it instead
162797            of in WebKitCSSKeyframeRule::setDeclaration(). Add assertion to make sure
162798            it's only called with declarations already parented to the keyframe rule.
162799
162800        * css/WebKitCSSKeyframesRule.cpp:
162801        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
162802        (WebCore::WebKitCSSKeyframesRule::append):
162803        (WebCore::WebKitCSSKeyframesRule::deleteRule):
162804
162805            Stop reparenting keyframe rules' style declarations to the keyframes rule.
162806
1628072011-12-30  Yury Semikhatsky  <yurys@chromium.org>
162808
162809        Web Inspector: use typed front-end API in the memory agent
162810        https://bugs.webkit.org/show_bug.cgi?id=75382
162811
162812        Memory agent now uses generate C++ API for communicating to the front-end.
162813
162814        Reviewed by Pavel Feldman.
162815
162816        * inspector/InspectorMemoryAgent.cpp:
162817        (WebCore::DOMTreeStatistics::CounterVisitor::CounterVisitor):
162818        (WebCore::DOMTreeStatistics::CounterVisitor::counters):
162819        (WebCore::DOMTreeStatistics::CounterVisitor::visitNode):
162820
1628212011-12-30  Pavel Feldman  <pfeldman@google.com>
162822
162823        Web Inspector: migrate from "attached" to "compact" styles.
162824        https://bugs.webkit.org/show_bug.cgi?id=75381
162825
162826        When front-end is docked to right, it should look like "detached", but is still "attached".
162827        Use "compact" mode instead of "attached" mode in the styles to mitigate it.
162828
162829        Reviewed by Yury Semikhatsky.
162830
162831        * inspector/front-end/SearchController.js:
162832        (WebInspector.SearchController.prototype.updateSearchLabel):
162833        * inspector/front-end/Toolbar.js:
162834        (WebInspector.Toolbar.prototype.set compact):
162835        (WebInspector.Toolbar.prototype._toolbarDragStart):
162836        (WebInspector.Toolbar.prototype._toolbarDrag):
162837        * inspector/front-end/helpScreen.css:
162838        (body.compact .help-window-outer):
162839        (body.compact .help-window-main):
162840        (body.compact .help-window-caption):
162841        (body.compact .help-close-button):
162842        (body.compact .help-content):
162843        * inspector/front-end/inspector.css:
162844        (body.compact #toolbar):
162845        (body.compact.port-qt #toolbar):
162846        (body.compact.inactive #toolbar):
162847        (body.compact #search-toolbar-label):
162848        (body.compact #toolbar-dropdown-arrow):
162849        (body.compact #search):
162850        (body.compact.port-qt .toolbar-item.close-left, body.compact.port-qt .toolbar-item.close-right):
162851        (body.compact #main):
162852        * inspector/front-end/inspector.js:
162853        (WebInspector.set attached):
162854        (WebInspector.get isCompactMode):
162855        (WebInspector.get _setCompactMode):
162856        (WebInspector._installDockToRight.listener.get if):
162857        (WebInspector._installDockToRight.listener):
162858        * inspector/front-end/inspectorCommon.css:
162859        (body.dock-to-right):
162860        (body.dock-to-right.inactive):
162861
1628622011-12-30  Sheriff Bot  <webkit.review.bot@gmail.com>
162863
162864        Unreviewed, rolling out r103794.
162865        http://trac.webkit.org/changeset/103794
162866        https://bugs.webkit.org/show_bug.cgi?id=75379
162867
162868        the ASSERT is triggered by several tests (Requested by
162869        jchaffraix on #webkit).
162870
162871        * rendering/RenderTable.cpp:
162872        (WebCore::RenderTable::RenderTable):
162873        (WebCore::RenderTable::addChild):
162874        (WebCore::RenderTable::layout):
162875        (WebCore::RenderTable::recalcSections):
162876        (WebCore::RenderTable::outerBorderAfter):
162877        (WebCore::RenderTable::sectionAbove):
162878        (WebCore::RenderTable::sectionBelow):
162879        * rendering/RenderTable.h:
162880        (WebCore::RenderTable::header):
162881        (WebCore::RenderTable::footer):
162882        (WebCore::RenderTable::firstBody):
162883        (WebCore::RenderTable::hasSections):
162884        (WebCore::RenderTable::topSection):
162885
1628862011-12-29  Pavel Feldman  <pfeldman@google.com>
162887
162888        Web Inspector: enable dock-to-right view (still need embedders to support it).
162889        https://bugs.webkit.org/show_bug.cgi?id=75360
162890
162891        Reviewed by Yury Semikhatsky.
162892
162893        * English.lproj/localizedStrings.js:
162894        * inspector/front-end/Settings.js:
162895        (WebInspector.Settings):
162896        * inspector/front-end/SettingsScreen.js:
162897        (WebInspector.SettingsScreen):
162898        * inspector/front-end/inspector.js:
162899        (WebInspector.set attached):
162900        (WebInspector._renderAsAttached.get return):
162901        (WebInspector._renderAsAttached):
162902        (WebInspector._installDockToRight.updateToolbar):
162903
1629042011-12-29  Raymond Liu  <raymond.liu@intel.com>
162905
162906        Use IDL overloads in AudioContext.idl for createBuffer
162907        https://bugs.webkit.org/show_bug.cgi?id=75293
162908
162909        Reviewed by Adam Barth.
162910
162911        No new tests required.
162912
162913        * bindings/js/JSAudioContextCustom.cpp:
162914        * bindings/v8/custom/V8AudioContextCustom.cpp:
162915        * webaudio/AudioContext.cpp:
162916        (WebCore::AudioContext::createBuffer):
162917        * webaudio/AudioContext.h:
162918        * webaudio/AudioContext.idl:
162919
1629202011-12-29  Andreas Kling  <awesomekling@apple.com>
162921
162922        HTMLDivElement: Remove unnecessary variable in parseMappedAttribute().
162923        <http://webkit.org/b/75363>
162924
162925        Reviewed by Daniel Bates.
162926
162927        * html/HTMLDivElement.cpp:
162928        (WebCore::HTMLDivElement::parseMappedAttribute):
162929
1629302011-12-29  Andreas Kling  <awesomekling@apple.com>
162931
162932        HTMLParagraphElement: Remove unnecessary variable in parseMappedAttribute().
162933        <http://webkit.org/b/75362>
162934
162935        Reviewed by Daniel Bates.
162936
162937        * html/HTMLParagraphElement.cpp:
162938        (WebCore::HTMLParagraphElement::parseMappedAttribute):
162939
1629402011-12-29  Andreas Kling  <awesomekling@apple.com>
162941
162942        Use HashMap<OwnPtr> for Document's named item collection caches.
162943        <http://webkit.org/b/75335>
162944
162945        Reviewed by Daniel Bates.
162946
162947        * dom/Document.cpp:
162948        (WebCore::Document::~Document):
162949
162950            Remove now-unneeded deleteAllValues() loop.
162951
162952        (WebCore::Document::nameCollectionInfo):
162953
162954            Use add() instead of find()/add() to avoid one extra hash lookup.
162955
162956        * dom/Document.h:
162957
162958            Switch the value type of m_nameCollectionInfo to use OwnPtr.
162959
1629602011-12-29  David Barton  <dbarton@mathscribe.com>
162961
162962        mfenced skips the first separator if the separators attribute contains multiple separators
162963        https://bugs.webkit.org/show_bug.cgi?id=57697
162964
162965        Reviewed by Dan Bernstein.
162966
162967        Added 2 test cases.
162968
162969        * rendering/mathml/RenderMathMLFenced.cpp:
162970        (WebCore::RenderMathMLFenced::addChild):
162971            - Thanks to Xun Sun <xun.sun@intel.com> for the off-by-one error fix.
162972
1629732011-12-29  Alexis Menard  <alexis.menard@openbossa.org>
162974
162975        Enable the [Supplemental] IDL on Qt.
162976        https://bugs.webkit.org/show_bug.cgi?id=75274
162977
162978        Reviewed by Andreas Kling.
162979
162980        http://trac.webkit.org/changeset/103783 broke the Qt SL bot.
162981        This patch fixes the problem by using 'tr' rather than 'sed' which
162982        seems to be more consistent between Mac and Linux.
162983
162984        * DerivedSources.pri:
162985
1629862011-12-29  Vsevolod Vlasov  <vsevik@chromium.org>
162987
162988        Web Inspector: Scripts navigator should support incremental search by typing.
162989        https://bugs.webkit.org/show_bug.cgi?id=75349
162990
162991        Reviewed by Pavel Feldman.
162992
162993        * inspector/front-end/ScriptsNavigator.js:
162994        (WebInspector.ScriptsNavigator):
162995        (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
162996        (WebInspector.ScriptsNavigator.prototype.show):
162997        (WebInspector.ScriptsNavigator.prototype._reset):
162998        (WebInspector.NavigatorTreeOutline):
162999        (WebInspector.NavigatorTreeOutline.prototype.scriptTreeElements):
163000        (WebInspector.NavigatorTreeOutline.prototype.searchStarted):
163001        (WebInspector.NavigatorTreeOutline.prototype.searchFinished):
163002        (WebInspector.BaseNavigatorTreeElement.prototype.onreveal):
163003        (WebInspector.BaseNavigatorTreeElement.prototype.set titleText):
163004        (WebInspector.BaseNavigatorTreeElement.prototype.matchesSearchText):
163005        * inspector/front-end/inspector.css:
163006        (.outline-disclosure ol.search-match-not-found li.selected .selection):
163007        (.outline-disclosure ol.search-match-found li.selected):
163008        (.outline-disclosure ol.search-match-found li.selected *):
163009        (.outline-disclosure ol.search-match-found li.parent.selected::before):
163010        (.outline-disclosure ol.search-match-found li.parent.expanded.selected::before):
163011        * inspector/front-end/scriptsPanel.css:
163012        (#scripts-navigator-tree-search-box):
163013        (#scripts-navigator-tree-search-box.visible):
163014        (#scripts-navigator-tree-search-box > input):
163015        (.scripts.panel .navigator .search-match-found li.selected .selection):
163016        (.scripts.panel .navigator .search-match-not-found li.selected .selection):
163017        (.scripts.panel .navigator .searching li.selected .selection):
163018        * inspector/front-end/treeoutline.js:
163019        (TreeOutline):
163020        (TreeOutline.prototype._treeKeyPress):
163021        (TreeOutline.prototype._startSearch.focusSearchInput):
163022        (TreeOutline.prototype._startSearch):
163023        (TreeOutline.prototype._searchTextChanged):
163024        (TreeOutline.prototype._showSearchMatchElement):
163025        (TreeOutline.prototype._searchInputKeyDown):
163026        (TreeOutline.prototype._nextSearchMatch):
163027        (TreeOutline.prototype._previousSearchMatch):
163028        (TreeOutline.prototype._searchInputBlur):
163029        (TreeOutline.prototype._searchFinished):
163030        (TreeOutline.prototype.stopSearch):
163031
1630322011-12-29  Vsevolod Vlasov  <vsevik@chromium.org>
163033
163034        Web Inspector: Scripts navigator should trim long file names and show full url in tooltip.
163035        https://bugs.webkit.org/show_bug.cgi?id=75343
163036
163037        Reviewed by Pavel Feldman.
163038
163039        Test: inspector/debugger/ui-source-code-display-name.html
163040
163041        * inspector/front-end/ScriptsNavigator.js:
163042        (WebInspector.ScriptsNavigator.prototype.setScriptSourceIsDirty):
163043        * inspector/front-end/ScriptsPanel.js:
163044        (WebInspector.ScriptsPanel.EditorContainer.prototype.showSourceFrame):
163045        (WebInspector.ScriptsPanel.EditorContainer.prototype.replaceSourceFrames):
163046        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showSourceFrame):
163047        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
163048        * inspector/front-end/TabbedEditorContainer.js:
163049        (WebInspector.TabbedEditorContainer):
163050        (WebInspector.TabbedEditorContainer.prototype._appendSourceFrameTab):
163051        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
163052        (WebInspector.TabbedEditorContainer.prototype._replaceSourceFrameTab.get if):
163053        (WebInspector.TabbedEditorContainer.prototype._replaceSourceFrameTab):
163054        (WebInspector.TabbedEditorContainer.prototype.get replaceSourceFrames):
163055        (WebInspector.TabbedEditorContainer.prototype.reset):
163056        * inspector/front-end/TabbedPane.js:
163057        (WebInspector.TabbedPane.prototype.appendTab):
163058        (WebInspector.TabbedPane.prototype.changeTabTooltip):
163059        (WebInspector.TabbedPaneTab):
163060        (WebInspector.TabbedPaneTab.prototype.get tooltip):
163061        (WebInspector.TabbedPaneTab.prototype.set tooltip):
163062        (WebInspector.TabbedPaneTab.prototype._createTabElement):
163063        * inspector/front-end/UISourceCode.js:
163064        (WebInspector.UISourceCode.prototype._parseURL):
163065        * inspector/front-end/utilities.js:
163066        ():
163067
1630682011-12-29  Alexis Menard  <alexis.menard@openbossa.org>
163069
163070        getComputedStyle for margin is not implemented.
163071        https://bugs.webkit.org/show_bug.cgi?id=75358
163072
163073        Reviewed by Andreas Kling.
163074
163075        Implement getComputedStyle for margin.
163076
163077        Test: fast/css/getComputedStyle/getComputedStyle-margin-shorthand.html
163078
163079        * css/CSSComputedStyleDeclaration.cpp:
163080        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
163081
1630822011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
163083
163084        Use HashMap<OwnPtr> in RenderSVGResourcePattern
163085        https://bugs.webkit.org/show_bug.cgi?id=75361
163086
163087        Reviewed by Andreas Kling.
163088
163089        * rendering/svg/RenderSVGResourcePattern.cpp:
163090        (WebCore::RenderSVGResourcePattern::removeAllClientsFromCache):
163091        (WebCore::RenderSVGResourcePattern::removeClientFromCache):
163092        (WebCore::RenderSVGResourcePattern::applyResource): use HashMap::add() to avoid
163093        looking up the hash twice.
163094        * rendering/svg/RenderSVGResourcePattern.h: rename m_pattern to m_patternMap to
163095        improve readability a little bit.
163096
1630972011-12-29  Alexis Menard  <alexis.menard@openbossa.org>
163098
163099        getComputedStyle for padding is not implemented.
163100        https://bugs.webkit.org/show_bug.cgi?id=75352
163101
163102        Reviewed by Andreas Kling.
163103
163104        Implement getComputedStyle for padding shorthand property.
163105
163106        Test: fast/css/getComputedStyle/getComputedStyle-padding-shorthand.html
163107
163108        * css/CSSComputedStyleDeclaration.cpp:
163109        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
163110
1631112011-12-29  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
163112
163113        Use HashMap<OwnPtr> in OriginAccessMap
163114        https://bugs.webkit.org/show_bug.cgi?id=75327
163115
163116        Reviewed by Andreas Kling.
163117
163118        * page/SecurityPolicy.cpp:
163119        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
163120        (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
163121        (WebCore::SecurityPolicy::resetOriginAccessWhitelists):
163122
1631232011-12-29  Pavel Podivilov  <podivilov@chromium.org>
163124
163125        Web Inspector: support sourceMappingURL magic comment.
163126        https://bugs.webkit.org/show_bug.cgi?id=75356
163127
163128        Reviewed by Pavel Feldman.
163129
163130        * inspector/ContentSearchUtils.cpp:
163131        (WebCore::ContentSearchUtils::findSourceMapURL):
163132        * inspector/ContentSearchUtils.h:
163133        * inspector/InspectorDebuggerAgent.cpp:
163134        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
163135
1631362011-12-29  Alexander Pavlov  <apavlov@chromium.org>
163137
163138        Web Inspector: Suggest pop-over doesn't hide on tab switch
163139        https://bugs.webkit.org/show_bug.cgi?id=73611
163140
163141        Reviewed by Pavel Feldman.
163142
163143        * inspector/front-end/ConsoleView.js:
163144        (WebInspector.ConsoleView.prototype.willHide):
163145        * inspector/front-end/TextPrompt.js:
163146        (WebInspector.TextPrompt.prototype.complete):
163147        (WebInspector.TextPrompt.prototype._completionsReady):
163148        (WebInspector.TextPrompt.prototype.acceptSuggestion):
163149        (WebInspector.TextPrompt.prototype.hideSuggestBox):
163150        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
163151
1631522011-12-28  Alexander Pavlov  <apavlov@chromium.org>
163153
163154        Web Inspector: Implement CSS selector profiler
163155        https://bugs.webkit.org/show_bug.cgi?id=74004
163156
163157        Reviewed by Pavel Feldman.
163158
163159        This implementation of CSS selector profiler measures the total time required to match a certain selector
163160        against DOM nodes and apply the style declaration properties to the particular element,
163161        as well as the number of selector  matches (i.e. the number of nodes that matched the selector.)
163162        The results are approximate due to internal matching algorithm optimizations (shared styles et al.)
163163        Multiple selectors with the same selectorText are coalesced into a single record.
163164
163165        * English.lproj/localizedStrings.js:
163166        * WebCore.gypi:
163167        * WebCore.vcproj/WebCore.vcproj:
163168        * inspector/compile-front-end.sh:
163169        * inspector/front-end/CSSSelectorProfileView.js: Added.
163170        (WebInspector.CSSSelectorDataGridNode):
163171        (WebInspector.CSSSelectorDataGridNode.prototype.get rawData):
163172        (WebInspector.CSSSelectorProfileView):
163173        (WebInspector.CSSSelectorProfileView.prototype.get statusBarItems):
163174        (WebInspector.CSSSelectorProfileView.prototype.get profile):
163175        (WebInspector.CSSSelectorProfileView.prototype.set profile):
163176        (WebInspector.CSSSelectorProfileView.prototype._createProfileNodes):
163177        (WebInspector.CSSSelectorProfileView.prototype.rebuildGridItems):
163178        (WebInspector.CSSSelectorProfileView.prototype.refreshData):
163179        (WebInspector.CSSSelectorProfileView.prototype.refreshShowAsPercents):
163180        (WebInspector.CSSSelectorProfileView.prototype._sortProfile.get selectorComparator):
163181        (WebInspector.CSSSelectorProfileView.prototype._sortProfile.timeComparator):
163182        (WebInspector.CSSSelectorProfileView.prototype._sortProfile.matchesComparator):
163183        (WebInspector.CSSSelectorProfileView.prototype._sortProfile):
163184        (WebInspector.CSSSelectorProfileType):
163185        (WebInspector.CSSSelectorProfileType.prototype.get buttonTooltip):
163186        (WebInspector.CSSSelectorProfileType.prototype.buttonClicked):
163187        (WebInspector.CSSSelectorProfileType.prototype.get treeItemTitle):
163188        (WebInspector.CSSSelectorProfileType.prototype.get description):
163189        (WebInspector.CSSSelectorProfileType.prototype.reset):
163190        (WebInspector.CSSSelectorProfileType.prototype.isRecordingProfile):
163191        (WebInspector.CSSSelectorProfileType.prototype.setRecordingProfile):
163192        (WebInspector.CSSSelectorProfileType.prototype.startRecordingProfile):
163193        (WebInspector.CSSSelectorProfileType.prototype.stopRecordingProfile):
163194        (WebInspector.CSSSelectorProfileType.prototype.createSidebarTreeElementForProfile):
163195        (WebInspector.CSSSelectorProfileType.prototype.createView):
163196        * inspector/front-end/DetailedHeapshotView.js:
163197        * inspector/front-end/ProfileView.js:
163198        * inspector/front-end/ProfilesPanel.js:
163199        (WebInspector.ProfileType.prototype.reset):
163200        (WebInspector.ProfilesPanel.prototype._reset):
163201        (WebInspector.ProfilesPanel.prototype.addProfileHeader):
163202        (WebInspector.ProfilesPanel.prototype._removeTemporaryProfile):
163203        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
163204        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
163205        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
163206        (WebInspector.ProfilerDispatcher.prototype.addProfileHeader):
163207        * inspector/front-end/WebKit.qrc:
163208        * inspector/front-end/inspector.html:
163209        * inspector/front-end/profilesPanel.css:
163210
1632112011-12-29  Sheriff Bot  <webkit.review.bot@gmail.com>
163212
163213        Unreviewed, rolling out r103798.
163214        http://trac.webkit.org/changeset/103798
163215        https://bugs.webkit.org/show_bug.cgi?id=75353
163216
163217        some small scrollbar differences are making the tests fail on
163218        several platforms (Requested by jchaffraix on #webkit).
163219
163220        * rendering/RenderLayer.cpp:
163221        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
163222
1632232011-12-29  Alexander Pavlov  <apavlov@chromium.org>
163224
163225        Web Inspector: Focus of the DOM tree is not restored when switching to the Elements panel
163226        https://bugs.webkit.org/show_bug.cgi?id=75351
163227
163228        Reviewed by Yury Semikhatsky.
163229
163230        * inspector/front-end/ElementsPanel.js:
163231        (WebInspector.ElementsPanel.prototype.wasShown):
163232
1632332011-12-29  Julien Chaffraix  <jchaffraix@webkit.org>
163234
163235        REGRESSION (r93614): Safari Reader doesn't repaint correctly when scrolling
163236        https://bugs.webkit.org/show_bug.cgi?id=67100
163237
163238        Reviewed by Dan Bernstein.
163239
163240        Tests: fast/layers/scroll-with-transform-composited-layer-expected.html
163241               fast/layers/scroll-with-transform-composited-layer.html
163242               fast/layers/scroll-with-transform-layer-expected.html
163243               fast/layers/scroll-with-transform-layer.html
163244
163245        The regression came from a previous optimization that was wrongly kept after r93614.
163246
163247        * rendering/RenderLayer.cpp:
163248        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
163249        Remove the early return for transformed layer. This change worked as we used
163250        to call updateLayerPositions from scrollTo which would call updateLayerPosition on
163251        all our descendants. After r93614, this is no longer the case and we explicitely need
163252        to call updateLayerPosition on our descendants from updateLayerPositionsAfterScroll.
163253
1632542011-12-29  Alexander Pavlov  <apavlov@chromium.org>
163255
163256        Web Inspector: Tree views can be collapsed/hidden using the keyboard arrows
163257        https://bugs.webkit.org/show_bug.cgi?id=46272
163258
163259        Reviewed by Yury Semikhatsky.
163260
163261        WebInspector.SidebarSectionTreeElement which is not selectable has also been made non-collapsible
163262        and expanded by default.
163263
163264        * inspector/front-end/AuditsPanel.js:
163265        (WebInspector.AuditsPanel):
163266        * inspector/front-end/ProfilesPanel.js:
163267        (WebInspector.ProfilesPanel.prototype._registerProfileType):
163268        * inspector/front-end/SidebarTreeElement.js:
163269        (WebInspector.SidebarSectionTreeElement):
163270        (WebInspector.SidebarSectionTreeElement.prototype.selectable.false.collapse):
163271        * inspector/front-end/TimelinePanel.js:
163272        (WebInspector.TimelinePanel):
163273
1632742011-12-29  Pavel Feldman  <pfeldman@google.com>
163275
163276        Web Inspector: [chromium] pass dock to side request to the embedder.
163277        https://bugs.webkit.org/show_bug.cgi?id=75344
163278
163279        Reviewed by Yury Semikhatsky.
163280
163281        I'd like to enable dock-to-right for the front-end window. This is a background work
163282        to pass control flow from the front-end to the front-end host.
163283
163284        * inspector/InspectorFrontendClient.h:
163285        * inspector/InspectorFrontendClientLocal.h:
163286        (WebCore::InspectorFrontendClientLocal::requestSetDockSide):
163287        * inspector/InspectorFrontendHost.cpp:
163288        (WebCore::InspectorFrontendHost::requestSetDockSide):
163289        * inspector/InspectorFrontendHost.h:
163290        * inspector/InspectorFrontendHost.idl:
163291        * inspector/front-end/InspectorFrontendHostStub.js:
163292        (.WebInspector.InspectorFrontendHostStub.prototype.requestAttachWindow):
163293        (.WebInspector.InspectorFrontendHostStub.prototype.requestDetachWindow):
163294        (.WebInspector.InspectorFrontendHostStub.prototype.requestSetDockSide):
163295
1632962011-12-28  Pavel Podivilov  <podivilov@chromium.org>
163297
163298        Web Inspector: add "enable source maps" checkbox setting.
163299        https://bugs.webkit.org/show_bug.cgi?id=75311
163300
163301        Reviewed by Pavel Feldman.
163302
163303        When "enable source maps" is on, all auto detected source maps are silently applied.
163304
163305        * English.lproj/localizedStrings.js:
163306        * inspector/front-end/DebuggerPresentationModel.js:
163307        * inspector/front-end/JavaScriptSourceFrame.js:
163308        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
163309        * inspector/front-end/RawSourceCode.js:
163310        (WebInspector.RawSourceCode):
163311        (WebInspector.RawSourceCode.prototype.setFormatted):
163312        (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
163313        (WebInspector.RawSourceCode.prototype._updateSourceMapping):
163314        (WebInspector.RawSourceCode.prototype._createUISourceCode):
163315        * inspector/front-end/Settings.js:
163316        (WebInspector.Settings):
163317        * inspector/front-end/SettingsScreen.js:
163318        (WebInspector.SettingsScreen):
163319        * inspector/front-end/UISourceCode.js:
163320        (WebInspector.UISourceCode):
163321        * inspector/front-end/inspector.js:
163322        (WebInspector._toolbarItemClicked):
163323
1633242011-12-29  Julien Chaffraix  <jchaffraix@webkit.org>
163325
163326        Tighten our checks for needsSectionRecalc in RenderTable
163327        https://bugs.webkit.org/show_bug.cgi?id=73972
163328
163329        Reviewed by Adam Barth.
163330
163331        Refactoring covered under the new tests.
163332
163333        Now most of the functions use the header, first body and footer's 
163334        getters that checks if we need a section recalculation. The only
163335        exceptions are addChild and recalcSections as they can be called
163336        with the bit set.
163337
163338        * rendering/RenderTable.cpp:
163339        (WebCore::RenderTable::layout):
163340        (WebCore::RenderTable::outerBorderAfter):
163341        (WebCore::RenderTable::sectionAbove):
163342        (WebCore::RenderTable::sectionBelow):
163343        Updated the previous functions to use the sections' getters.
163344
163345        (WebCore::RenderTable::RenderTable):
163346        (WebCore::RenderTable::addChild):
163347        (WebCore::RenderTable::recalcSections):
163348        Update the previous functions after the 2 renames
163349        (see below).
163350
163351        * rendering/RenderTable.h:
163352        (WebCore::RenderTable::header):
163353        (WebCore::RenderTable::footer):
163354        (WebCore::RenderTable::firstBody):
163355        Added some ASSERT here. Also renamed m_head to m_header
163356        and m_foot to m_footer to match the getter and to avoid
163357        unneeded abbreviation.
163358
163359        (WebCore::RenderTable::hasSections):
163360        (WebCore::RenderTable::topSection):
163361        Updated the previous functions to use the section getters.
163362
1633632011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
163364
163365        Use HashMap<OwnPtr> for UserScriptMap and UserStyleSheetMap
163366        https://bugs.webkit.org/show_bug.cgi?id=75323
163367
163368        Reviewed by Darin Adler.
163369
163370        * dom/Document.cpp:
163371        (WebCore::Document::pageGroupUserSheets):
163372        * page/PageGroup.cpp:
163373        (WebCore::PageGroup::addUserScriptToWorld):
163374        (WebCore::PageGroup::addUserStyleSheetToWorld):
163375        (WebCore::PageGroup::removeUserScriptFromWorld):
163376        (WebCore::PageGroup::removeUserStyleSheetFromWorld): fix a small mistake in
163377        previous code. Now the entry for world is removed (and deleted) only if its
163378        stylesheet vector is empty.
163379        (WebCore::PageGroup::removeUserScriptsFromWorld):
163380        (WebCore::PageGroup::removeUserStyleSheetsFromWorld):
163381        (WebCore::PageGroup::removeAllUserContent):
163382        * page/UserScriptTypes.h:
163383        * page/UserStyleSheetTypes.h:
163384
1633852011-12-28  Andreas Kling  <awesomekling@apple.com>
163386
163387        Reduce memory used by NamedNodeMap.
163388        <http://webkit.org/b/75333>
163389
163390        Reviewed by Sam Weinig.
163391
163392        Give NamedNodeMap's attribute vector an inline capacity of 4. The vast majority
163393        of elements have <= 4 attributes, and if they don't have any we normally don't
163394        allocate an attribute map at all.
163395
163396        This reduces memory consumption by 1.2MB (on 64-bit) when loading the full HTML5
163397        spec at <http://whatwg.org/c>.
163398
163399        * dom/NamedNodeMap.h:
163400
1634012011-12-28  Andreas Kling  <awesomekling@apple.com>
163402
163403        Reduce memory used by SpaceSplitString.
163404        <http://webkit.org/b/75315>
163405
163406        Reviewed by Sam Weinig.
163407
163408        Split the string upon creation instead of waiting until it's accessed.
163409        This allows us to get rid of all data members except the substring vector.
163410        Since we're storing AtomicStrings, this is way more memory-efficient than
163411        the previous implementation in the majority of cases.
163412
163413        Also reduced the inline capcity of the vector to 2 (from 8), after testing
163414        showed this to cover 90% of the cases on the Alexa top sites.
163415
163416        All in all this reduces memory consumption by 1.1MB (on 64-bit) when
163417        loading the full HTML5 spec at <http://whatwg.org/c>. On that same page,
163418        less than 2ms is spent (on my MBP) splitting the ~20000 strings.
163419
163420        * dom/SpaceSplitString.cpp:
163421        (WebCore::SpaceSplitStringData::createVector):
163422        (WebCore::SpaceSplitStringData::containsAll):
163423        (WebCore::SpaceSplitStringData::remove):
163424        * dom/SpaceSplitString.h:
163425        (WebCore::SpaceSplitStringData::SpaceSplitStringData):
163426        (WebCore::SpaceSplitStringData::contains):
163427        (WebCore::SpaceSplitStringData::size):
163428        (WebCore::SpaceSplitStringData::operator[]):
163429
1634302011-12-28  ChangSeok Oh  <shivamidow@gmail.com>
163431
163432        [GTK] Fix compilation issue when selecting opengl for Accelerated compositing
163433        https://bugs.webkit.org/show_bug.cgi?id=75309
163434
163435        Reviewed by Martin Robinson.
163436
163437        Add TextureMapperGL and TextureMapperGLCairo files.
163438        They define new classes required to implement TextureMapperGL for GTK port.
163439
163440        No new tests required.
163441
163442        * GNUmakefile.list.am:
163443        * platform/graphics/cairo/TextureMapperGLCairo.cpp: Added.
163444        (WebCore::BGRA32PremultimpliedBufferCairo::BGRA32PremultimpliedBufferCairo):
163445        (WebCore::BGRA32PremultimpliedBufferCairo::~BGRA32PremultimpliedBufferCairo):
163446        (WebCore::BGRA32PremultimpliedBufferCairo::beginPaint):
163447        (WebCore::BGRA32PremultimpliedBufferCairo::data):
163448        (WebCore::BGRA32PremultimpliedBufferCairo::endPaint):
163449        (WebCore::uidForImage):
163450        (WebCore::BGRA32PremultimpliedBuffer::create):
163451        * platform/graphics/cairo/TextureMapperGLCairo.h: Added.
163452
1634532011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>
163454
163455        Unreviewed, rolling out r103782.
163456        http://trac.webkit.org/changeset/103782
163457        https://bugs.webkit.org/show_bug.cgi?id=75328
163458
163459        broke origin-whitelisting-removal.html (Requested by kling on
163460        #webkit).
163461
163462        * page/SecurityPolicy.cpp:
163463        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
163464        (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
163465        (WebCore::SecurityPolicy::resetOriginAccessWhitelists):
163466
1634672011-12-28  Kentaro Hara  <haraken@chromium.org>
163468
163469        Enable the [Supplemental] IDL on Qt
163470        https://bugs.webkit.org/show_bug.cgi?id=75274
163471
163472        Reviewed by Adam Barth.
163473
163474        This patch enables the [Supplemental] IDL on Qt by changing the build
163475        flow of Qt as follows.
163476
163477        - Previous build flow:
163478            foreach $idl (all IDL files) {
163479                generate-bindings.pl depends on $idl;
163480                generate-bindings.pl reads $idl;
163481                generate-bindings.pl generates .h and .cpp files for $idl;
163482            }
163483
163484        - New build flow (See the discussions in bug 72138 for more details):
163485            resolve-supplemental.pl depends on all IDL files;
163486            resolve-supplemental.pl reads all IDL files;
163487            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
163488            resolve-supplemental.pl outputs supplemental_dependency.tmp;
163489            foreach $idl (all IDL files) {
163490                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
163491                generate-bindings.pl reads $idl;
163492                generate-bindings.pl reads supplemental_dependency.tmp;
163493                generate-bindings.pl generates .h and .cpp files for $idl,
163494                    including all attributes in the IDL files that are implementing $idl;
163495            }
163496
163497        Tests: Confirm that build succeeds.
163498               http/tests/websocket/tests/*
163499
163500        * DerivedSources.pri: Described the above build flow.
163501
1635022011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
163503
163504        Use HashMap<OwnPtr> in OriginAccessMap
163505        https://bugs.webkit.org/show_bug.cgi?id=75327
163506
163507        Reviewed by Andreas Kling.
163508
163509        * page/SecurityPolicy.cpp:
163510        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
163511        (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
163512        (WebCore::SecurityPolicy::resetOriginAccessWhitelists):
163513
1635142011-12-28  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
163515
163516        Use HashMap<OwnPtr> for ProgressTracker's items
163517        https://bugs.webkit.org/show_bug.cgi?id=75326
163518
163519        Reviewed by Andreas Kling.
163520
163521        * loader/ProgressTracker.cpp:
163522        (WebCore::ProgressTracker::~ProgressTracker): although is empty, the destructor was
163523        kept so in the header file we can forward declare ProgressItem and use in an OwnPtr.
163524        (WebCore::ProgressTracker::reset):
163525        (WebCore::ProgressTracker::incrementProgress):
163526        (WebCore::ProgressTracker::completeProgress): removed a useless assignment to item
163527        member just before it is deleted.
163528        * loader/ProgressTracker.h:
163529
1635302011-12-28  Alexis Menard  <alexis.menard@openbossa.org>
163531
163532        getComputedStyle for border-color is not implemented.
163533        https://bugs.webkit.org/show_bug.cgi?id=75324
163534
163535        Reviewed by Andreas Kling.
163536
163537        Implement getComputedStyle for border-color.
163538
163539        Test: fast/css/getComputedStyle/getComputedStyle-border-color-shorthand.html
163540
163541        * css/CSSComputedStyleDeclaration.cpp:
163542        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
163543
1635442011-12-28  Darin Adler  <darin@apple.com>
163545
163546        Use OwnPtr to handle lifetime and deletion of FontFace objects
163547        https://bugs.webkit.org/show_bug.cgi?id=75221
163548
163549        Reviewed by Daniel Bates.
163550
163551        * css/CSSFontFaceSource.cpp:
163552        (WebCore::CSSFontFaceSource::getFontData): Use add instead of get/set to read and
163553        then later fill a cache. Use new version of registerCustomFont that takes PassOwnPtr.
163554        * css/CSSSegmentedFontFace.cpp:
163555        (WebCore::CSSSegmentedFontFace::getFontData): Ditto.
163556
163557        * dom/Document.cpp:
163558        (WebCore::Document::registerCustomFont): Take a PassOwnPtr instead of raw pointer.
163559        * dom/Document.h: Ditto.
163560
1635612011-12-28  Adam Barth  <abarth@webkit.org>
163562
163563        "Fake" insertion mode in HTMLTreeBuilder doesn't do anything
163564        https://bugs.webkit.org/show_bug.cgi?id=75322
163565
163566        Reviewed by Darin Adler.
163567
163568        This machinery isn't needed anymore now that we're using the new
163569        foreign content hotness.
163570
163571        * html/parser/HTMLTreeBuilder.cpp:
163572        * html/parser/HTMLTreeBuilder.h:
163573        (WebCore::HTMLTreeBuilder::setInsertionMode):
163574
1635752011-12-28  Alexis Menard  <alexis.menard@openbossa.org>
163576
163577        getComputedStyle for border-style is not implemented.
163578        https://bugs.webkit.org/show_bug.cgi?id=75312
163579
163580        Reviewed by Andreas Kling.
163581
163582        Implement getComputedStyle for border-style.
163583
163584        Test: fast/css/getComputedStyle/getComputedStyle-border-style-shorthand.html
163585
163586        * css/CSSComputedStyleDeclaration.cpp:
163587        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
163588
1635892011-12-28  Alexis Menard  <alexis.menard@openbossa.org>
163590
163591        getComputedStyle for border-bottom, border-top, border-left, border-right is not implemented.
163592        https://bugs.webkit.org/show_bug.cgi?id=74743
163593
163594        Reviewed by Tony Chang.
163595
163596        Implement getComputedStyle for border-top, border-bottom, border-right, border-left.
163597
163598        Test: fast/css/getComputedStyle/getComputedStyle-border-shorthand.html
163599
163600        * css/CSSComputedStyleDeclaration.cpp:
163601        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
163602        (WebCore::CSSComputedStyleDeclaration::getCSSPropertyValuesForShorthandProperties):
163603        * css/CSSComputedStyleDeclaration.h:
163604
1636052011-12-28  Robert Hogan  <robert@webkit.org>
163606
163607        Inline flow not learning height of all text descendants
163608        https://bugs.webkit.org/show_bug.cgi?id=75305
163609
163610        Reviewed by Dan Bernstein.
163611
163612        Tests: fast/inline/nested-text-descendants-expected.html
163613               fast/inline/nested-text-descendants.html
163614
163615        The root inline box would only learn it had text descendants if its first grandchild
163616        was text. It wasn't informed of subsequent text grandchildren so could not factor them 
163617        into its calculation of the line height.
163618        To fix this, propagate the existence of a text descendant to the root inline box
163619        by walking up through the text child's ancestors.
163620
163621        * rendering/InlineFlowBox.cpp:
163622        (WebCore::setHasTextDescendantsOnAncestors):
163623        (WebCore::InlineFlowBox::addToLine):
163624        * rendering/InlineFlowBox.h:
163625        (WebCore::InlineFlowBox::setHasTextDescendants):
163626
1636272011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>
163628
163629        Unreviewed, rolling out r103620.
163630        http://trac.webkit.org/changeset/103620
163631        https://bugs.webkit.org/show_bug.cgi?id=75316
163632
163633        Causes many crashes (Requested by abarth on #webkit).
163634
163635        * loader/FrameLoaderClient.h:
163636        * page/DOMWindow.cpp:
163637        (WebCore::DOMWindow::postMessageTimerFired):
163638
1636392011-12-28  Alexander Pavlov  <apavlov@chromium.org>
163640
163641        [V8][Chromium] 'randomString' in document.body.style always returns true
163642        https://bugs.webkit.org/show_bug.cgi?id=75313
163643
163644        Reviewed by Adam Barth.
163645
163646        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
163647        (WebCore::V8CSSStyleDeclaration::namedPropertyQuery):
163648
1636492011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>
163650
163651        Web Inspector: Add domain.png to WebCore.gypi / WebKit.qrc.
163652        https://bugs.webkit.org/show_bug.cgi?id=75310
163653
163654        Reviewed by Pavel Feldman.
163655
163656        * WebCore.gypi:
163657        * inspector/front-end/WebKit.qrc:
163658
1636592011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>
163660
163661        Web Inspector: ExperimentsSettings causes warning on chromium when reading localizedStrings.
163662        https://bugs.webkit.org/show_bug.cgi?id=75299
163663
163664        Reviewed by Pavel Feldman.
163665
163666        * inspector/front-end/Settings.js:
163667        (WebInspector.ExperimentsSettings):
163668        * inspector/front-end/SettingsScreen.js:
163669        (WebInspector.SettingsScreen.prototype._createExperimentCheckbox):
163670
1636712011-12-28  Vsevolod Vlasov  <vsevik@chromium.org>
163672
163673        Web Inspector: Scripts panel: add debug sidebar resizer to TabbedEditorContainer.
163674        https://bugs.webkit.org/show_bug.cgi?id=75300
163675
163676        Reviewed by Pavel Feldman.
163677
163678        * inspector/front-end/ScriptsPanel.js:
163679        * inspector/front-end/scriptsPanel.css:
163680        (#scripts-debug-sidebar-resizer-widget):
163681
1636822011-12-28  Alexander Pavlov  <apavlov@chromium.org>
163683
163684        Web Inspector: Introduce a Profiler launcher view similar to that in the Audits panel
163685        https://bugs.webkit.org/show_bug.cgi?id=75228
163686
163687        Reviewed by Pavel Feldman.
163688
163689        * English.lproj/localizedStrings.js:
163690        * WebCore.gypi:
163691        * WebCore.vcproj/WebCore.vcproj:
163692        * inspector/front-end/AuditLauncherView.js:
163693        (WebInspector.AuditLauncherView):
163694        * inspector/front-end/AuditsPanel.js:
163695        (WebInspector.AuditsPanel):
163696        * inspector/front-end/DetailedHeapshotView.js:
163697        (WebInspector.DetailedHeapshotProfileType):
163698        (WebInspector.DetailedHeapshotProfileType.prototype.get treeItemTitle):
163699        (WebInspector.DetailedHeapshotProfileType.prototype.get description):
163700        * inspector/front-end/ProfileLauncherView.js: Added.
163701        (WebInspector.ProfileLauncherView):
163702        (WebInspector.ProfileLauncherView.prototype.setUpEventListeners):
163703        (WebInspector.ProfileLauncherView.prototype.addProfileType):
163704        (WebInspector.ProfileLauncherView.prototype._controlButtonClicked):
163705        (WebInspector.ProfileLauncherView.prototype._updateControls):
163706        (WebInspector.ProfileLauncherView.prototype._profileTypeChanged):
163707        (WebInspector.ProfileLauncherView.prototype._onProfileStarted):
163708        (WebInspector.ProfileLauncherView.prototype._onProfileFinished):
163709        * inspector/front-end/ProfileView.js:
163710        (WebInspector.CPUProfileType):
163711        (WebInspector.CPUProfileType.prototype.get treeItemTitle):
163712        (WebInspector.CPUProfileType.prototype.get description):
163713        * inspector/front-end/ProfilesPanel.js:
163714        (WebInspector.ProfileType.prototype.get treeItemTitle):
163715        (WebInspector.ProfileType.prototype.get description):
163716        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
163717        (WebInspector.ProfilesPanel.prototype.toggleRecordButton):
163718        (WebInspector.ProfilesPanel.prototype._onProfileTypeSelected):
163719        (WebInspector.ProfilesPanel.prototype._reset):
163720        (WebInspector.ProfilesPanel.prototype._showLauncherView):
163721        (WebInspector.ProfilesPanel.prototype._registerProfileType):
163722        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
163723        (WebInspector.ProfilesPanel.prototype._updateInterface):
163724        (WebInspector.ProfileTypeTreeElement):
163725        (WebInspector.ProfileTypeTreeElement.prototype.collapse):
163726        (WebInspector.ProfilesSidebarTreeElement):
163727        (WebInspector.ProfilesSidebarTreeElement.prototype.onattach):
163728        (WebInspector.ProfilesSidebarTreeElement.prototype.onselect):
163729        (WebInspector.ProfilesSidebarTreeElement.prototype.get selectable):
163730        (WebInspector.ProfilesSidebarTreeElement.prototype.refresh):
163731        * inspector/front-end/WebKit.qrc:
163732        * inspector/front-end/WelcomeView.js: Removed.
163733        * inspector/front-end/auditsPanel.css:
163734        (.audit-launcher-view .audit-launcher-view-content):
163735        (.audit-launcher-view div.button-container):
163736        (.panel-enabler-view.audit-launcher-view label):
163737        (.panel-enabler-view.audit-launcher-view label.disabled):
163738        * inspector/front-end/inspector.html:
163739        * inspector/front-end/panelEnablerView.css:
163740        (.panel-enabler-view img):
163741        (.panel-enabler-view .flexible-space):
163742        (.panel-enabler-view button:not(.status-bar-item)):
163743        (body.inactive .panel-enabler-view button, .panel-enabler-view button:disabled):
163744        (.panel-enabler-view input[type="radio"]):
163745        (.panel-enabler-view input[type="radio"]:active:not(:disabled)):
163746        (.panel-enabler-view input[type="radio"]:checked):
163747        (.panel-enabler-view input[type="radio"]:checked:active):
163748        * inspector/front-end/profilesPanel.css:
163749        (.profile-launcher-view-tree-item > .icon):
163750        (.profile-launcher-view-content):
163751        (.profile-launcher-view-content h1):
163752        (.panel-enabler-view.profile-launcher-view form):
163753        (.panel-enabler-view.profile-launcher-view label):
163754        (.profile-launcher-view-content p):
163755        (.panel-enabler-view.profile-launcher-view button:not(.status-bar-item)):
163756        (.profile-launcher-view-content button.running:not(.status-bar-item)):
163757        (body.inactive .profile-launcher-view-content button.running:not(.status-bar-item)):
163758
1637592011-12-28  Sheriff Bot  <webkit.review.bot@gmail.com>
163760
163761        Unreviewed, rolling out r103763.
163762        http://trac.webkit.org/changeset/103763
163763        https://bugs.webkit.org/show_bug.cgi?id=75307
163764
163765        "Compilation fails on Snow Leopard" (Requested by yurys on
163766        #webkit).
163767
163768        * inspector/CodeGeneratorInspector.py:
163769        (Helper):
163770        (create_ad_hoc_type_declaration.Helper):
163771        (CodeGenerator.generate_type_builder):
163772        (get_in_c_type_text):
163773
1637742011-12-28  Peter Rybin  <peter.rybin@gmail.com>
163775
163776        Web Inspector: CodeGeneratorInspector.py: generate enum types.
163777        https://bugs.webkit.org/show_bug.cgi?id=74954
163778
163779        Reviewed by Yury Semikhatsky.
163780
163781        Internal map of string contants is created. C enums are created for
163782        each JSON enum.
163783
163784        * inspector/CodeGeneratorInspector.py:
163785        (EnumConstants.add_constant):
163786        (EnumConstants):
163787        (EnumConstants.get_enum_constant_code):
163788        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
163789        (TypeBindings.create_type_declaration_.EnumBinding.get_in_c_type_text):
163790        (TypeBindings.create_type_declaration_.EnumBinding.get_setter_value_expression_pattern):
163791        (TypeBindings.create_type_declaration_.PlainString.reduce_to_raw_type):
163792        (TypeBindings.create_type_declaration_.PlainString.get_setter_value_expression_pattern):
163793        (get_in_c_type_text):
163794        (get_setter_value_expression_pattern):
163795        (PlainObjectBinding.get_in_c_type_text):
163796        (PlainObjectBinding.get_setter_value_expression_pattern):
163797        (RawTypesBinding.get_in_c_type_text):
163798        (RawTypesBinding.get_setter_value_expression_pattern):
163799        (get_annotated_type_text):
163800        (MethodGenerateModes.get_modes):
163801        (MethodGenerateModes.StrictParameterMode.get_c_param_type_text):
163802        (MethodGenerateModes.StrictParameterMode):
163803        (MethodGenerateModes.StrictParameterMode.get_setter_value_expression):
163804        (MethodGenerateModes.RawParameterMode.get_c_param_type_text):
163805        (MethodGenerateModes.RawParameterMode):
163806        (MethodGenerateModes.RawParameterMode.get_setter_value_expression):
163807        (MethodGenerateModes.CombinedMode.get_c_param_type_text):
163808        (MethodGenerateModes):
163809        (MethodGenerateModes.CombinedMode):
163810        (MethodGenerateModes.CombinedMode.get_setter_value_expression):
163811
1638122011-12-28  Hans Wennborg  <hans@chromium.org>
163813
163814        IndexedDB: IDBKeyRange constructor should throw when lower > upper
163815        https://bugs.webkit.org/show_bug.cgi?id=74705
163816
163817        Reviewed by Tony Chang.
163818
163819        Make IDBKeyRange throw an exception when lower > upper,
163820        or lower == upper and one or both of the bounds is open.
163821
163822        Tested in storage/indexeddb/keyrange.html.
163823
163824        * storage/IDBKeyRange.cpp:
163825        (WebCore::IDBKeyRange::bound):
163826
1638272011-12-28  Alexander Pavlov  <apavlov@chromium.org>
163828
163829        Web Inspector: [protocol] empty enum constant should be replaced with identifier
163830        https://bugs.webkit.org/show_bug.cgi?id=75273
163831
163832        Reviewed by Yury Semikhatsky.
163833
163834        * inspector/Inspector.json:
163835        * inspector/InspectorCSSAgent.cpp:
163836        (WebCore::InspectorCSSAgent::asInspectorStyleSheet):
163837        (WebCore::InspectorCSSAgent::detectOrigin):
163838        * inspector/InspectorStyleSheet.cpp:
163839        (WebCore::InspectorStyleSheet::buildObjectForRule):
163840        * inspector/front-end/CSSStyleModel.js:
163841        (WebInspector.CSSRule.prototype.get isRegular):
163842
1638432011-12-27  Pavel Feldman  <pfeldman@google.com>
163844
163845        Web Inspector: complete annotating SDK component.
163846        https://bugs.webkit.org/show_bug.cgi?id=75259
163847
163848        Reviewed by Yury Semikhatsky.
163849
163850        * inspector/front-end/DebuggerPresentationModel.js:
163851        (WebInspector.DebuggerPresentationModel.prototype._addScript):
163852        * inspector/front-end/NetworkManager.js:
163853        (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
163854        (WebInspector.NetworkDispatcher.prototype._isNull):
163855        (WebInspector.NetworkDispatcher.prototype.webSocketCreated):
163856        * inspector/front-end/Resource.js:
163857        (WebInspector.Resource.displayName):
163858        * inspector/front-end/ResourceTreeModel.js:
163859        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
163860        (WebInspector.ResourceTreeModel.prototype._consoleMessageAdded):
163861        (WebInspector.ResourceTreeFrame.prototype.get name):
163862        * inspector/front-end/TabbedEditorContainer.js:
163863
1638642011-12-27  Anantanarayanan G Iyengar  <ananta@chromium.org>
163865
163866        Crash in the WebKit accessibility code while attempting to retrieve the title UI element.
163867        https://bugs.webkit.org/show_bug.cgi?id=75279
163868
163869        Reviewed by Ryosuke Niwa.
163870
163871        Fix a crash in the the WebKit accessibility code which occurs while retrieving
163872        the title UI clement. The fix is to NULL check the RenderObject::node return value.
163873
163874        No test added as there is no reduction.
163875
163876        * accessibility/AccessibilityRenderObject.cpp:
163877        (WebCore::AccessibilityRenderObject::titleUIElement):
163878
1638792011-12-27  Dominic Cooney  <dominicc@chromium.org>
163880
163881        Remove initWebKitAnimationEvent method
163882        https://bugs.webkit.org/show_bug.cgi?id=71698
163883
163884        Reviewed by Ojan Vafai.
163885
163886        Now that WebKitAnimationEvent has a constructor, we don't need
163887        this
163888        method. <https://www.w3.org/Bugs/Public/show_bug.cgi?id=15338> is
163889        tracking the change to the CSS Animations spec.
163890
163891        * dom/WebKitAnimationEvent.cpp:
163892        * dom/WebKitAnimationEvent.h:
163893        * dom/WebKitAnimationEvent.idl:
163894
1638952011-12-27  Dominic Cooney   <dominicc@chromium.org>
163896
163897        Remove initWebKitTransitionEvent method
163898        https://bugs.webkit.org/show_bug.cgi?id=71701
163899
163900        Reviewed by Ojan Vafai.
163901
163902        Now that WebKitTransitionEvent has a constructor, we don't need
163903        this
163904        method. <https://www.w3.org/Bugs/Public/show_bug.cgi?id=15339> is
163905        tracking the change to the CSS Transitions spec.
163906
163907        * dom/WebKitTransitionEvent.cpp:
163908        * dom/WebKitTransitionEvent.h:
163909        * dom/WebKitTransitionEvent.idl:
163910
1639112011-12-27  Tony Chang  <tony@chromium.org>
163912
163913        Move HarfBuzz files into their own directory
163914        https://bugs.webkit.org/show_bug.cgi?id=72780
163915
163916        Reviewed by Daniel Bates.
163917
163918        FontCacheLinux.cpp got moved to platform/graphics/skia/FontCacheSkia.cpp since it wasn't HarfBuzz specific.
163919
163920        I used HarfBuzz in filenames since that seems to be how the name is capitalized on the project home page.
163921
163922        Fixed some style errors caught by the style checker.
163923
163924        * PlatformBlackBerry.cmake:
163925        * WebCore.gyp/WebCore.gyp:
163926        * WebCore.gypi:
163927        * platform/graphics/chromium/FontPlatformData.h:
163928        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.cpp.
163929        * platform/graphics/harfbuzz/ComplexTextControllerHarfBuzz.h: Renamed from Source/WebCore/platform/graphics/chromium/ComplexTextControllerLinux.h.
163930        * platform/graphics/harfbuzz/FontHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontLinux.cpp.
163931        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.cpp.
163932        * platform/graphics/harfbuzz/FontPlatformDataHarfBuzz.h: Renamed from Source/WebCore/platform/graphics/chromium/FontPlatformDataLinux.h.
163933        * platform/graphics/harfbuzz/HarfBuzzSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/HarfbuzzSkia.cpp.
163934        * platform/graphics/harfbuzz/HarfBuzzSkia.h: Renamed from Source/WebCore/platform/graphics/chromium/HarfbuzzSkia.h.
163935        * platform/graphics/harfbuzz/SimpleFontDataSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/SimpleFontDataLinux.cpp.
163936        * platform/graphics/skia/FontCacheSkia.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FontCacheLinux.cpp.
163937        * platform/graphics/skia/GlyphPageTreeNodeSkia.cpp:
163938
1639392011-12-27  Huang Dongsung  <luxtella@company100.net>
163940
163941        [TexMap][QT] The fragment shader in OpenGL ES2 requires the default precision
163942        qualifier.
163943        https://bugs.webkit.org/show_bug.cgi?id=75168
163944
163945        Reviewed by Noam Rosenthal.
163946
163947        No new functionality so no new tests.
163948
163949        * platform/graphics/opengl/TextureMapperGL.cpp:
163950        (WebCore::TextureMapperGL::initializeShaders):
163951
1639522011-12-27  Ryosuke Niwa  <rniwa@webkit.org>
163953
163954        [Chromium] uninitialized variable in fakeMouseMoveEventTimerFired
163955        https://bugs.webkit.org/show_bug.cgi?id=75263
163956
163957        Reviewed by Tony Chang.
163958
163959        The failure was caused by PlatformKeyboardEvent::getCurrentModifierState in PlatformKeyboardEventChromium.cpp
163960        not initializing arguments on Linux. Fixed the failure by always assigning false to the arguments.
163961
163962        But we should really fix this function for Linux. Not recognizing any modifier isn't great.
163963
163964        * platform/chromium/PlatformKeyboardEventChromium.cpp:
163965        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
163966
1639672011-12-27  Kentaro Hara  <haraken@chromium.org>
163968
163969        WIP: Enable the [Supplemental] IDL on Gtk
163970        https://bugs.webkit.org/show_bug.cgi?id=74972
163971
163972        Reviewed by Adam Barth.
163973
163974        This patch enables the [Supplemental] IDL on Gtk by changing the build
163975        flow of Gtk as follows.
163976
163977        - Previous build flow:
163978            foreach $idl (all IDL files) {
163979                generate-bindings.pl depends on $idl;
163980                generate-bindings.pl reads $idl;
163981                generate-bindings.pl generates .h and .cpp files for $idl;
163982            }
163983
163984        - New build flow (See the discussions in bug 72138 for more details):
163985            resolve-supplemental.pl depends on all IDL files;
163986            resolve-supplemental.pl reads all IDL files;
163987            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
163988            resolve-supplemental.pl outputs supplemental_dependency.tmp;
163989            foreach $idl (all IDL files) {
163990                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
163991                generate-bindings.pl reads $idl;
163992                generate-bindings.pl reads supplemental_dependency.tmp;
163993                generate-bindings.pl generates .h and .cpp files for $idl,
163994                    including all attributes in the IDL files that are implementing $idl;
163995            }
163996
163997        Tests: Confirm that build succeeds.
163998               http/tests/websocket/tests/*
163999
164000        * GNUmakefile.am: Described the above build flow.
164001        * GNUmakefile.list.am: Added a list of IDL files. Instead, removed a list of JS*.h and JS*.cpp
164002        that are generated by the IDL files.
164003
1640042011-12-27  Tony Chang  <tony@chromium.org>
164005
164006        [chromium] When building with clang, enable -Wglobal-constructors
164007        https://bugs.webkit.org/show_bug.cgi?id=74365
164008
164009        Reviewed by Adam Barth.
164010
164011        * WebCore.gyp/WebCore.gyp:
164012
1640132011-12-27  Tony Chang  <tony@chromium.org>
164014
164015        [chromium] really enable wpo for WebCore libs and for WTF
164016        https://bugs.webkit.org/show_bug.cgi?id=75264
164017
164018        Reviewed by Adam Barth.
164019
164020        * WebCore.gyp/WebCore.gyp: The variable was getting clobbered by the
164021        value set in common.gypi.  Use a target_defaults instead to set the
164022        variable.  I tested manually on my Windows machine and
164023        WholeProgramOptimization is getting set when buildtype is Official.
164024
1640252011-12-27  Tony Chang  <tony@chromium.org>
164026
164027        [chromium] remove references to files no longer in the tree
164028        https://bugs.webkit.org/show_bug.cgi?id=75262
164029
164030        Reviewed by Adam Barth.
164031
164032        * WebCore.gypi: platform/mac/PlatformMouseEventMac.mm and platform/mac/WheelEventMac.mm
164033        were removed in r103652.
164034
1640352011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
164036
164037        Unreviewed web inspector localizedStrings.js fix.
164038
164039        * English.lproj/localizedStrings.js:
164040
1640412011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
164042
164043        Web Inspector: Introduce support for experimental settings.
164044        https://bugs.webkit.org/show_bug.cgi?id=75250
164045
164046        Reviewed by Pavel Feldman.
164047
164048        * English.lproj/localizedStrings.js:
164049        * inspector/front-end/ScriptsPanel.js:
164050        * inspector/front-end/Settings.js:
164051        (WebInspector.ExperimentsSettings):
164052        (WebInspector.ExperimentsSettings.prototype.get experiments):
164053        (WebInspector.ExperimentsSettings.prototype.get experimentsEnabled):
164054        (WebInspector.ExperimentsSettings.prototype._createExperiment):
164055        (WebInspector.ExperimentsSettings.prototype.set _cleanUpSetting.get var):
164056        (WebInspector.ExperimentsSettings.prototype.set _cleanUpSetting):
164057        (set WebInspector.Experiment):
164058        (WebInspector.Experiment.prototype.get name):
164059        (WebInspector.Experiment.prototype.get title):
164060        (WebInspector.Experiment.prototype.isEnabled):
164061        (WebInspector.Experiment.prototype.setEnabled):
164062        (set WebInspector):
164063        * inspector/front-end/SettingsScreen.js:
164064        (WebInspector.SettingsScreen):
164065        (WebInspector.SettingsScreen.prototype._createExperimentsWarningSubsection):
164066        (WebInspector.SettingsScreen.prototype._createExperimentCheckbox.listener):
164067        (WebInspector.SettingsScreen.prototype._createExperimentCheckbox):
164068        * inspector/front-end/helpScreen.css:
164069        (.settings-experiments-warning-subsection-warning):
164070        (.settings-experiments-warning-subsection-message):
164071
1640722011-12-27  Alexander Pavlov  <apavlov@chromium.org>
164073
164074        Web Inspector: exception when scrolling in JavaScriptOutline dialog with empty query
164075        https://bugs.webkit.org/show_bug.cgi?id=75255
164076
164077        Reviewed by Pavel Feldman.
164078
164079        * inspector/front-end/JavaScriptOutlineDialog.js:
164080        (WebInspector.JavaScriptOutlineDialog.prototype._onScroll):
164081
1640822011-12-27  Pavel Feldman  <pfeldman@google.com>
164083
164084        Web Inspector: add more annotations on SDK classes.
164085        https://bugs.webkit.org/show_bug.cgi?id=75247
164086
164087        Reviewed by Yury Semikhatsky.
164088
164089        * inspector/Inspector.json:
164090        * inspector/compile-front-end.sh:
164091        * inspector/front-end/ApplicationCacheModel.js:
164092        (WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
164093        * inspector/front-end/BreakpointManager.js:
164094        (WebInspector.BreakpointManager.prototype._breakpoint):
164095        * inspector/front-end/Color.js:
164096        (WebInspector.Color.prototype.get shorthex):
164097        (WebInspector.Color.prototype.get hex):
164098        (WebInspector.Color.prototype.get rgb):
164099        (WebInspector.Color.prototype.get hsl):
164100        (WebInspector.Color.prototype.get nickname):
164101        (WebInspector.Color.prototype.hasShortHex):
164102        (WebInspector.Color.prototype._individualRGBValueToFloatValue):
164103        (WebInspector.Color.prototype._rgbStringsToHex):
164104        (WebInspector.Color.prototype._parse.this.nickname.set 2):
164105        (WebInspector.Color.prototype._parse.this.hsla.set 1):
164106        (WebInspector.Color.prototype._parse.this.rgba.set 0):
164107        (WebInspector.Color.prototype._parse.set WebInspector):
164108        (WebInspector.Color.prototype._parse):
164109        * inspector/front-end/CompilerSourceMapping.js:
164110        * inspector/front-end/ConsoleModel.js:
164111        * inspector/front-end/ContentProviders.js:
164112        (WebInspector.ScriptContentProvider):
164113        (WebInspector.ConcatenatedScriptsContentProvider):
164114        (WebInspector.CompilerSourceMappingContentProvider):
164115        (WebInspector.StaticContentProvider):
164116        * inspector/front-end/CookieParser.js:
164117        (WebInspector.CookieParser.KeyValue):
164118        (WebInspector.CookieParser.prototype.parseCookie):
164119        (WebInspector.CookieParser.prototype.parseSetCookie):
164120        (WebInspector.CookieParser.prototype._extractKeyValue):
164121        * inspector/front-end/DOMStorage.js:
164122        * inspector/front-end/Database.js:
164123        (WebInspector.DatabaseDispatcher.prototype.sqlTransactionSucceeded):
164124        (WebInspector.DatabaseDispatcher.prototype.sqlTransactionFailed):
164125        * inspector/front-end/DebuggerModel.js:
164126        (WebInspector.DebuggerModel.Location):
164127        (WebInspector.DebuggerModel.prototype._failedToParseScriptSource):
164128        * inspector/front-end/DebuggerPresentationModel.js:
164129        (WebInspector.DebuggerPresentationModelResourceBinding.prototype._setContentWithInitialContent):
164130        * inspector/front-end/ElementsTreeOutline.js:
164131        * inspector/front-end/HAREntry.js:
164132        * inspector/front-end/NetworkLog.js:
164133        (WebInspector.NetworkLog.prototype._mainFrameNavigated):
164134        * inspector/front-end/Placard.js:
164135        * inspector/front-end/RawSourceCode.js:
164136        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
164137        (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
164138        * inspector/front-end/RemoteObject.js:
164139        (WebInspector.RemoteObject.fromPrimitiveValue):
164140        (WebInspector.RemoteObject.prototype.setPropertyValue.propertySetCallback):
164141        (WebInspector.RemoteObject.prototype.setPropertyValue):
164142        (WebInspector.LocalJSONObject.prototype.get hasChildren):
164143        (WebInspector.LocalJSONObject.prototype._children):
164144        * inspector/front-end/Resource.js:
164145        (WebInspector.Resource.restoreRevisions):
164146        (WebInspector.Resource.prototype.get queryParameters):
164147        (WebInspector.Resource.prototype.get formParameters):
164148        (WebInspector.Resource.prototype.isHttpFamily):
164149        * inspector/front-end/ResourceCategory.js:
164150        * inspector/front-end/ResourceUtils.js:
164151        * inspector/front-end/ScopeChainSidebarPane.js:
164152        (WebInspector.ScopeChainSidebarPane.prototype.update):
164153        * inspector/front-end/Script.js:
164154        (WebInspector.Script.prototype.isInlineScript):
164155        * inspector/front-end/ScriptFormatter.js:
164156        (WebInspector.ScriptFormatter.positionToLocation):
164157        * inspector/front-end/WelcomeView.js:
164158        (WebInspector.WelcomeView.prototype.addMessage):
164159        * inspector/front-end/externs.js:
164160        (Array.prototype.upperBound):
164161
1641622011-12-27  Vsevolod Vlasov  <vsevik@chromium.org>
164163
164164        Web Inspector: Scripts panel tabbed editor does not reopen closed tabs.
164165        https://bugs.webkit.org/show_bug.cgi?id=75245
164166
164167        Reviewed by Pavel Feldman.
164168
164169        * inspector/front-end/NetworkItemView.js:
164170        (WebInspector.NetworkItemView):
164171        * inspector/front-end/TabbedEditorContainer.js:
164172        (WebInspector.TabbedEditorContainer):
164173        (WebInspector.TabbedEditorContainer.prototype._tabClosed):
164174        * inspector/front-end/TabbedPane.js:
164175        (WebInspector.TabbedPane.prototype.closeTab):
164176        (WebInspector.TabbedPane.prototype.selectTab):
164177
1641782011-12-27  Yury Semikhatsky  <yurys@chromium.org>
164179
164180        Web Inspector: report per document JS event listener count
164181        https://bugs.webkit.org/show_bug.cgi?id=74298
164182
164183        This patch adds JS event listener count to the memory agent
164184        report.
164185
164186        Reviewed by Pavel Feldman.
164187
164188        Test: inspector/dom-statistics.html
164189
164190        * inspector/Inspector.json:
164191        * inspector/InspectorMemoryAgent.cpp:
164192
1641932011-12-27  Alexander Pavlov  <apavlov@chromium.org>
164194
164195        Web Inspector: [REGRESSION] Go to Function dialog always has a minimal height
164196        https://bugs.webkit.org/show_bug.cgi?id=75254
164197
164198        Reviewed by Yury Semikhatsky.
164199
164200        * inspector/front-end/scriptsPanel.css:
164201        (.script-view):
164202
1642032011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>
164204
164205        Web Inspector: Create tabbed editor for scripts panel.
164206        https://bugs.webkit.org/show_bug.cgi?id=75230
164207
164208        Reviewed by Pavel Feldman.
164209
164210        * WebCore.gypi:
164211        * WebCore.vcproj/WebCore.vcproj:
164212        * inspector/compile-front-end.sh:
164213        * inspector/front-end/ScriptsNavigator.js:
164214        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes.get if):
164215        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
164216        (WebInspector.NavigatorScriptTreeElement.prototype.ondblclick):
164217        (WebInspector.NavigatorScriptTreeElement.prototype.onenter):
164218        * inspector/front-end/ScriptsPanel.js:
164219        * inspector/front-end/TabbedEditorContainer.js: Added.
164220        * inspector/front-end/TabbedPane.js:
164221        (WebInspector.TabbedPane.prototype.get visibleView):
164222        (WebInspector.TabbedPane.prototype.get selectedTabId):
164223        (WebInspector.TabbedPane.prototype.closeAllTabs):
164224        (WebInspector.TabbedPane.prototype.changeTabTitle):
164225        (WebInspector.TabbedPane.prototype.changeTabView):
164226        (WebInspector.TabbedPaneTab):
164227        (WebInspector.TabbedPaneTab.prototype.get title):
164228        (WebInspector.TabbedPaneTab.prototype.set title):
164229        (WebInspector.TabbedPaneTab.prototype.get view):
164230        (WebInspector.TabbedPaneTab.prototype.set view):
164231        (WebInspector.TabbedPaneTab.prototype._createTabElement):
164232        * inspector/front-end/WebKit.qrc:
164233        * inspector/front-end/inspector.html:
164234        * inspector/front-end/scriptsPanel.css:
164235        (.scripts-views-container):
164236        (.script-view):
164237        (#scripts-editor-container-tabbed-pane .tabbed-pane-header):
164238        (#scripts-editor-container-tabbed-pane .tabbed-pane-header-contents):
164239        (#scripts-editor-container-tabbed-pane .tabbed-pane-content):
164240
1642412011-12-27  Pavel Feldman  <pfeldman@google.com>
164242
164243        Not reviewed: Rolling out r103703 for breaking Canvas2DLayerChromiumTest.testFullLifecycle.
164244
164245        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
164246        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
164247        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
164248        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
164249        (WebCore::Canvas2DLayerChromium::setTextureManager):
164250        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
164251        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
164252        (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
164253        (WebCore::Canvas2DLayerChromium::cleanupResources):
164254        * platform/graphics/chromium/Canvas2DLayerChromium.h:
164255
1642562011-12-22  Vangelis Kokkevis  <vangelis@chromium.org>
164257
164258        [chromium] Bypass the shadow texture copy for accelerated
164259        canvas when running the compositor in single threaded mode.
164260        https://bugs.webkit.org/show_bug.cgi?id=75146
164261
164262        The texture copy fails on Windows as glCopyTexImage2D() doesn't
164263        support BGRA source textures. 
164264        This change also modified Canvas2DLayerChromium::updateCompositorResources
164265        to call glCopyTexSubImage2D() instead of glCopyTexImage2D() so that
164266        the copy can work with texture allocated via the glTexStorage2D
164267        extension.
164268
164269        Reviewed by James Robinson.
164270
164271
164272        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
164273        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
164274        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
164275        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
164276        (WebCore::Canvas2DLayerChromium::setTextureManager):
164277        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
164278        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
164279        (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
164280        (WebCore::Canvas2DLayerChromium::cleanupResources):
164281        * platform/graphics/chromium/Canvas2DLayerChromium.h:
164282
1642832011-12-26  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
164284
164285        [EFL][WK2] Implement context menu for EFL port.
164286        https://bugs.webkit.org/show_bug.cgi?id=74995
164287
164288        Reviewed by Anders Carlsson.
164289
164290        Implement missing ContextMenuEfl class in order to support WK2's context menu.
164291        Because WK2's context menu still needs WebCore's context menu implementation.
164292        And of course, this patch also can be used for WK1 without CROSS_PLATFORM_CONTEXT_MENU
164293        option.
164294
164295        * platform/ContextMenu.h:
164296        * platform/ContextMenuItem.h:
164297        * platform/PlatformMenuDescription.h:
164298        * platform/efl/ContextMenuEfl.cpp:
164299        (WebCore::ContextMenu::~ContextMenu):
164300        (WebCore::ContextMenu::appendItem):
164301        (WebCore::ContextMenu::insertItem):
164302        (WebCore::ContextMenu::itemCount):
164303        (WebCore::ContextMenu::setPlatformDescription):
164304        (WebCore::ContextMenu::platformDescription):
164305        (WebCore::ContextMenu::releasePlatformDescription):
164306        (WebCore::platformMenuDescription):
164307        (WebCore::contextMenuItemVector):
164308        * platform/efl/ContextMenuItemEfl.cpp:
164309        (WebCore::ContextMenuItem::ContextMenuItem):
164310        (WebCore::ContextMenuItem::~ContextMenuItem):
164311        (WebCore::ContextMenuItem::setType):
164312        (WebCore::ContextMenuItem::type):
164313        (WebCore::ContextMenuItem::setAction):
164314        (WebCore::ContextMenuItem::action):
164315        (WebCore::ContextMenuItem::setTitle):
164316        (WebCore::ContextMenuItem::title):
164317        (WebCore::ContextMenuItem::setChecked):
164318        (WebCore::ContextMenuItem::checked):
164319        (WebCore::ContextMenuItem::setEnabled):
164320        (WebCore::ContextMenuItem::enabled):
164321
1643222011-12-26  Hajime Morrita  <morrita@chromium.org>
164323
164324        [Refactoring] Node::setTreeScopeRecursively() doesn't need includeRoot parameter
164325        https://bugs.webkit.org/show_bug.cgi?id=75240
164326
164327        Reviewed by Anders Carlsson.
164328
164329        No new tests. No behavior change.
164330
164331        * dom/Node.cpp:
164332        (WebCore::Node::setTreeScopeRecursively):
164333        * dom/Node.h:
164334
1643352011-12-26  Darin Adler  <darin@apple.com>
164336
164337        Use OwnPtr and OwnArrayPtr in a couple more places
164338        https://bugs.webkit.org/show_bug.cgi?id=75211
164339
164340        Reviewed by Andreas Kling.
164341
164342        I had a patch with some changes from a while back from going through all sorts of
164343        classes and changing code to use adoptPtr. Most were landed long ago, these are the
164344        ones that still apply.
164345
164346        There are six pieces here that could each be landed separately.
164347        The big one is CSSParser.
164348
164349        * css/CSSGrammar.y: Update for members and functions that now
164350        return PassOwnPtr instead of raw pointers.
164351        * css/CSSParser.cpp:
164352        (WebCore::CSSParser::CSSParser): Remove explicit construction
164353        for m_valueList and m_data since OwnPtr and OwnArrayPtr initialize
164354        to zero without it.
164355        (WebCore::CSSParser::~CSSParser): Removed delete m_valueList and
164356        fastFree(m_data) since OwnPtr and OwnArrayPtr handle that.
164357        (WebCore::CSSParser::setupParser): Use adoptArrayPtr and new for
164358        the character array instead of fastFree/fastMalloc. Added get
164359        function calls as needed.
164360        (WebCore::CSSParser::parseValue): Added get function calls as needed.
164361        (WebCore::CSSParser::parseContent): Ditto.
164362        (WebCore::CSSParser::parseFillProperty): Ditto.
164363        (WebCore::CSSParser::parseTransformOriginShorthand): Ditto.
164364        (WebCore::CSSParser::parseBorderImage): Ditto.
164365        (WebCore::CSSParser::parseTransformOrigin): Ditto.
164366        (WebCore::CSSParser::parsePerspectiveOrigin): Ditto.
164367        (WebCore::CSSParser::sinkFloatingValueList): Changed to return PassOwnPtr.
164368        The adoptPtr call is here.
164369        (WebCore::CSSParser::sinkFloatingFunction): Ditto.
164370        (WebCore::CSSParser::markSelectorListStart): Added get function calls as needed.
164371        (WebCore::CSSParser::markSelectorListEnd): Ditto.
164372        (WebCore::CSSParser::markRuleBodyStart): Ditto.
164373        (WebCore::CSSParser::markRuleBodyEnd): Ditto.
164374        (WebCore::CSSParser::markPropertyStart): Ditto.
164375        (WebCore::CSSParser::markPropertyEnd): Ditto.
164376        * css/CSSParser.h: Moved conditional includes to their own paragraph.
164377        Made sinkFloatingValueList and sinkFloatingFunction return PassOwnPtr.
164378        Made m_valueList an OwnPtr and m_data an OwnArrayPtr.
164379        * css/SVGCSSParser.cpp:
164380        (WebCore::CSSParser::parseSVGValue): Added a call to the get function.
164381
164382        * html/PluginDocument.h: Made isPluginDocument private. Also marked all the
164383        functions that are overriding here as OVERRIDE since I was touching the header.
164384
164385        * html/parser/HTMLToken.h:
164386        (WebCore::HTMLTokenTypes::DoctypeData::DoctypeData): Removed an unneeded line
164387        explicitly initializing the base class.
164388
164389        * page/animation/AnimationBase.cpp:
164390        (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper): Fixed indent.
164391
164392        * rendering/style/RenderStyle.h: Moved conditional includes to their own paragraph.
164393
164394        * xml/parser/MarkupTokenBase.h:
164395        (WebCore::MarkupTokenBase::beginDOCTYPE): Removed unneeded parentheses.
164396
1643972011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>
164398
164399        Web Inspector: Extract FileEditor from ScriptsPanel.
164400        https://bugs.webkit.org/show_bug.cgi?id=75229
164401
164402        Reviewed by Pavel Feldman.
164403
164404        * inspector/front-end/JavaScriptSourceFrame.js:
164405        (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
164406        * inspector/front-end/ScriptsNavigator.js:
164407        * inspector/front-end/ScriptsPanel.js:
164408        (WebInspector.ScriptsPanel.prototype._reset):
164409        (WebInspector.ScriptsPanel.prototype.get visibleView):
164410        (WebInspector.ScriptsPanel.prototype._updateScriptViewStatusBarItems):
164411        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced.get if):
164412        (WebInspector.ScriptsPanel.EditorContainer):
164413        (WebInspector.ScriptsPanel.EditorContainer.prototype.get currentSourceFrame):
164414        (WebInspector.ScriptsPanel.EditorContainer.prototype.show):
164415        (WebInspector.ScriptsPanel.EditorContainer.prototype.showSourceFrame):
164416        (WebInspector.ScriptsPanel.EditorContainer.prototype.isSourceFrameOpen):
164417        (WebInspector.ScriptsPanel.EditorContainer.prototype.replaceSourceFrames):
164418        (WebInspector.ScriptsPanel.EditorContainer.prototype.setSourceFrameIsDirty):
164419        (WebInspector.ScriptsPanel.EditorContainer.prototype.reset):
164420        (WebInspector.ScriptsPanel.SingleFileEditorContainer):
164421        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.get currentSourceFrame):
164422        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.show):
164423        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.showSourceFrame):
164424        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.isSourceFrameOpen):
164425        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.replaceSourceFrames):
164426        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.setSourceFrameIsDirty):
164427        (WebInspector.ScriptsPanel.SingleFileEditorContainer.prototype.reset):
164428        * inspector/front-end/UISourceCode.js:
164429        (WebInspector.UISourceCode.prototype.get domain):
164430        (WebInspector.UISourceCode.prototype.get folderName):
164431        (WebInspector.UISourceCode.prototype.get fileName):
164432        (WebInspector.UISourceCode.prototype.get displayName):
164433        (WebInspector.UISourceCode.prototype._parseURL):
164434
1644352011-12-26  Darin Adler  <darin@apple.com>
164436
164437        Fix mutation observer build after didMoveToNewDocument change
164438        https://bugs.webkit.org/show_bug.cgi?id=75224
164439
164440        Reviewed by Hajime Morita.
164441
164442        * dom/Node.cpp:
164443        (WebCore::willCallDidMoveToNewDocument): Added.
164444        (WebCore::didMoveToNewDocumentWasCalled): Added.
164445        (WebCore::Node::setDocument): Call new debugging function.
164446        (WebCore::Node::didMoveToNewDocument): Ditto. Also use ASSERT_UNUSED
164447        unconditionally rather than UNUSED_PARAM inside and #if. Also added
164448        a new assertion that checks that hte old document was passed through
164449        properly.
164450
1644512011-12-26  Alexander Pavlov  <apavlov@chromium.org>
164452
164453        Web Inspector: [Scripts] Implement iterative match highlighting in the "Go to Function" dialog item list
164454        https://bugs.webkit.org/show_bug.cgi?id=75226
164455
164456        Reviewed by Pavel Feldman.
164457
164458        * inspector/front-end/JavaScriptOutlineDialog.js:
164459        (WebInspector.JavaScriptOutlineDialog):
164460        (WebInspector.JavaScriptOutlineDialog.prototype._createSearchRegExp):
164461        (WebInspector.JavaScriptOutlineDialog.prototype._filterFunctions):
164462        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.previousItem):
164463        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.nextItem):
164464        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown):
164465        (WebInspector.JavaScriptOutlineDialog.prototype._updateSelection):
164466        (WebInspector.JavaScriptOutlineDialog.prototype._onScroll):
164467        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter):
164468        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype.highlightViewportItems):
164469        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype.clearHighlight):
164470        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype._highlightItem):
164471        (WebInspector.JavaScriptOutlineDialog.MatchHighlighter.prototype._viewportRowRange):
164472        * inspector/front-end/javaScriptOutlineDialog.css:
164473        (.js-outline-dialog > .container > div.item > span.highlight):
164474
1644752011-12-26  Vsevolod Vlasov  <vsevik@chromium.org>
164476
164477        Web Inspector: Extract FileSelector from ScriptsPanel.
164478        https://bugs.webkit.org/show_bug.cgi?id=75173
164479
164480        Reviewed by Pavel Feldman.
164481
164482        * inspector/front-end/ScriptsNavigator.js:
164483        (WebInspector.ScriptsNavigator):
164484        (WebInspector.ScriptsNavigator.prototype.get defaultFocusedElement):
164485        (WebInspector.ScriptsNavigator.prototype.show):
164486        (WebInspector.ScriptsNavigator.prototype.setScriptSourceIsDirty):
164487        (WebInspector.ScriptsNavigator.prototype.replaceUISourceCodes):
164488        (WebInspector.ScriptsNavigator.prototype.scriptSelected):
164489        * inspector/front-end/ScriptsPanel.js:
164490        (WebInspector.ScriptsPanel.prototype.get defaultFocusedElement):
164491        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
164492        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
164493        (WebInspector.ScriptsPanel.prototype._reset):
164494        (WebInspector.ScriptsPanel.prototype._showSourceLine):
164495        (WebInspector.ScriptsPanel.prototype._showAndRevealInFileSelector):
164496        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
164497        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
164498        (WebInspector.ScriptsPanel.prototype._scriptSelected):
164499        (WebInspector.ScriptsPanel.FileSelector):
164500        (WebInspector.ScriptsPanel.FileSelector.prototype.get defaultFocusedElement):
164501        (WebInspector.ScriptsPanel.FileSelector.prototype.show):
164502        (WebInspector.ScriptsPanel.FileSelector.prototype.addUISourceCode):
164503        (WebInspector.ScriptsPanel.FileSelector.prototype.isScriptSourceAdded):
164504        (WebInspector.ScriptsPanel.FileSelector.prototype.revealUISourceCode):
164505        (WebInspector.ScriptsPanel.FileSelector.prototype.setScriptSourceIsDirty):
164506        (WebInspector.ScriptsPanel.FileSelector.prototype.replaceUISourceCodes):
164507        (WebInspector.ScriptsPanel.ComboBoxFileSelector):
164508        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.get defaultFocusedElement):
164509        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.show):
164510        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.showDebugSidebarResizeWidget):
164511        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.addUISourceCode):
164512        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.isScriptSourceAdded):
164513        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.revealUISourceCode):
164514        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._innerRevealUISourceCode):
164515        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addToHistory):
164516        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.replaceUISourceCodes):
164517        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._showScriptFoldersSettingChanged):
164518        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._reset):
164519        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype.setScriptSourceIsDirty):
164520        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._createEditorToolbar):
164521        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.get var):
164522        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered.optionCompare):
164523        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect.insertOrdered):
164524        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._addOptionToFilesSelect):
164525        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._resetFilesSelect):
164526        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._updateBackAndForwardButtons):
164527        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goBack):
164528        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._goForward):
164529        (WebInspector.ScriptsPanel.ComboBoxFileSelector.prototype._filesSelectChanged):
164530        * inspector/front-end/inspector.html:
164531        * inspector/front-end/utilities.js:
164532        ():
164533
1645342011-12-26  Alexander Pavlov  <apavlov@chromium.org>
164535
164536        Web Inspector: Implement "Go to Function" dialog for JavaScript
164537        https://bugs.webkit.org/show_bug.cgi?id=75092
164538
164539        Reviewed by Pavel Feldman.
164540
164541        * English.lproj/localizedStrings.js:
164542        * WebCore.gypi:
164543        * WebCore.vcproj/WebCore.vcproj:
164544        * inspector/compile-front-end.sh:
164545        * inspector/front-end/JavaScriptOutlineDialog.js: Added.
164546        (WebInspector.JavaScriptOutlineDialog.onMouseDown):
164547        (WebInspector.JavaScriptOutlineDialog):
164548        (WebInspector.JavaScriptOutlineDialog.didAddChunk):
164549        (WebInspector.JavaScriptOutlineDialog.install):
164550        (WebInspector.JavaScriptOutlineDialog._show):
164551        (WebInspector.JavaScriptOutlineDialog.createShortcut):
164552        (WebInspector.JavaScriptOutlineDialog.prototype._resizeWindow):
164553        (WebInspector.JavaScriptOutlineDialog.prototype._appendItemElements):
164554        (WebInspector.JavaScriptOutlineDialog.prototype._createSearchRegExp):
164555        (WebInspector.JavaScriptOutlineDialog.prototype._filterFunctions):
164556        (WebInspector.JavaScriptOutlineDialog.prototype._selectFirstItem):
164557        (WebInspector.JavaScriptOutlineDialog.prototype._hide):
164558        (WebInspector.JavaScriptOutlineDialog.prototype._onBlur):
164559        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.previousItem):
164560        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown.nextItem):
164561        (WebInspector.JavaScriptOutlineDialog.prototype._onKeyDown):
164562        (WebInspector.JavaScriptOutlineDialog.prototype._scheduleFilter):
164563        (WebInspector.JavaScriptOutlineDialog.prototype._updateSelection):
164564        (WebInspector.JavaScriptOutlineDialog.prototype._onClick):
164565        (WebInspector.JavaScriptOutlineDialog.prototype._onMouseMove):
164566        (WebInspector.JavaScriptOutlineDialog.prototype._highlightFunctionLine):
164567        * inspector/front-end/JavaScriptSourceFrame.js:
164568        (WebInspector.JavaScriptSourceFrame.prototype.get uiSourceCode):
164569        * inspector/front-end/ScriptsPanel.js:
164570        (WebInspector.ScriptsPanel.prototype._didBuildOutlineChunk):
164571        (WebInspector.ScriptsPanel.prototype._reset):
164572        (WebInspector.ScriptsPanel.prototype.requestVisibleScriptOutline):
164573        (WebInspector.ScriptsPanel.prototype._createEditorToolbar):
164574        * inspector/front-end/WebKit.qrc:
164575        * inspector/front-end/inspector.html:
164576        * inspector/front-end/javaScriptOutlineDialog.css: Added.
164577        (.js-outline-dialog):
164578        (.js-outline-dialog > input):
164579        (.js-outline-dialog > div.progress):
164580        (.js-outline-dialog > div.container):
164581        (.js-outline-dialog > .container > div.item):
164582        (.js-outline-dialog > .container > div.item.selected):
164583
1645842011-12-26  Pavel Feldman  <pfeldman@google.com>
164585
164586        Web Inspector: make SDK compilation component self-contained.
164587        https://bugs.webkit.org/show_bug.cgi?id=75172
164588
164589        Reviewed by Yury Semikhatsky.
164590
164591        * inspector/compile-front-end.sh:
164592        * inspector/front-end/ConsoleMessage.js:
164593        (WebInspector.ConsoleMessageImpl):
164594        (WebInspector.ConsoleMessageImpl.prototype.get stackTrace):
164595        (WebInspector.ConsoleMessageImpl.prototype.clone):
164596        * inspector/front-end/ConsoleModel.js:
164597        (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
164598        (WebInspector.ConsoleMessage):
164599        (WebInspector.ConsoleMessage.prototype.isErrorOrWarning):
164600        (WebInspector.ConsoleMessage.prototype.updateRepeatCount):
164601        (WebInspector.ConsoleMessage.prototype.clone):
164602        * inspector/front-end/DebuggerPresentationModel.js:
164603        (WebInspector.DebuggerPresentationModel.prototype._consoleMessageAdded):
164604        * inspector/front-end/ResourceUtils.js:
164605        * inspector/front-end/UIUtils.js:
164606        (WebInspector.resetToolbarColors):
164607        (WebInspector.populateHrefContextMenu):
164608
1646092011-12-26  Hajime Morrita  <morrita@google.com>
164610
164611        Unreviewed bad merge fix.
164612
164613        * svg/SVGSVGElement.cpp:
164614        (WebCore::SVGSVGElement::didMoveToNewDocument):
164615
1646162011-12-25  Hajime Morrita  <morrita@chromium.org>
164617
164618        https://bugs.webkit.org/show_bug.cgi?id=74067
164619        Refactoring: Unitfy willMoveToNewDocument() and didMoveToNewDocument()
164620
164621        Reviewed by Darin Adler.
164622
164623        No new tests. No behavior change.
164624
164625        This change combines two method Node::willMoveToNewOwnerDocument() and Node::didMoveToNewOwnerDocument()
164626        into Node::didMoveToNewDocument(Document* oldDocument).
164627
164628        The intention of this change is:
164629        - Making upcoming refactoring (Bug 59816) possible. The refactoring will turn Node::m_document into
164630          Node::m_treeScope, and we will no longer have Node::setDocument() where we can invoke both
164631          willMoveToNewDocument() and didMoveToNewDocument() at once.
164632        - Killing one extra virtual method call.
164633        - Making the concept of "move" clearer by keeping such an operation into the single method.
164634
164635        * dom/Node.cpp:
164636        (WebCore::setWillMoveToNewDocumentWasCalled):
164637        (WebCore::setDidMoveToNewDocumentWasCalled):
164638        (WebCore::Node::setDocument):
164639        (WebCore::Node::didMoveToNewDocument):
164640        * dom/Node.h:
164641        * dom/StyledElement.cpp:
164642        (WebCore::StyledElement::attributeChanged):
164643        * html/FormAssociatedElement.cpp:
164644        (WebCore::FormAssociatedElement::didMoveToNewDocument):
164645        * html/FormAssociatedElement.h:
164646        * html/HTMLFormControlElement.cpp:
164647        (WebCore::HTMLFormControlElement::didMoveToNewDocument):
164648        (WebCore::HTMLFormControlElementWithState::didMoveToNewDocument):
164649        * html/HTMLFormControlElement.h:
164650        * html/HTMLFormElement.cpp:
164651        (WebCore::HTMLFormElement::didMoveToNewDocument):
164652        * html/HTMLFormElement.h:
164653        * html/HTMLImageElement.cpp:
164654        (WebCore::HTMLImageElement::didMoveToNewDocument):
164655        * html/HTMLImageElement.h:
164656        * html/HTMLInputElement.cpp:
164657        (WebCore::HTMLInputElement::didMoveToNewDocument):
164658        * html/HTMLInputElement.h:
164659        * html/HTMLMediaElement.cpp:
164660        (WebCore::HTMLMediaElement::didMoveToNewDocument):
164661        * html/HTMLMediaElement.h:
164662        * html/HTMLObjectElement.cpp:
164663        (WebCore::HTMLObjectElement::didMoveToNewDocument):
164664        * html/HTMLObjectElement.h:
164665        * html/HTMLPlugInImageElement.cpp:
164666        (WebCore::HTMLPlugInImageElement::didMoveToNewDocument):
164667        * html/HTMLPlugInImageElement.h:
164668        * html/HTMLVideoElement.cpp:
164669        (WebCore::HTMLVideoElement::didMoveToNewDocument):
164670        * html/HTMLVideoElement.h:
164671        * html/ImageDocument.cpp:
164672        (WebCore::ImageDocumentElement::didMoveToNewDocument):
164673        * html/ImageInputType.cpp:
164674        (WebCore::ImageInputType::willMoveToNewDocument):
164675        * loader/ImageLoader.cpp:
164676        (WebCore::ImageLoader::elementDidMoveToNewDocument):
164677        * loader/ImageLoader.h:
164678        * svg/SVGImageElement.cpp:
164679        (WebCore::SVGImageElement::didMoveToNewDocument):
164680        * svg/SVGImageElement.h:
164681        * svg/SVGSVGElement.cpp:
164682        (WebCore::SVGSVGElement::didMoveToNewDocument):
164683        * svg/SVGSVGElement.h:
164684
1646852011-12-25  Kentaro Hara  <haraken@chromium.org>
164686
164687        REGRESSION(r102987): Fix the filename prefix of the generated empty .h
164688        and .cpp files for [Supplemental] IDLs
164689        https://bugs.webkit.org/show_bug.cgi?id=75082
164690
164691        Reviewed by Darin Adler.
164692
164693        In bug 74481, we changed generate-bindings.pl so that it generates empty .h
164694        and .cpp files for the [Supplemental] IDLs. However, the filename prefixes of
164695        those .h and .cpp files are wrong. This patch fixes the prefixes as follows:
164696
164697            generator=JS  => JS*.h, JS*.cpp
164698            generator=V8  => V8*.h, V8*.cpp
164699            generator=ObjC  => DOM*.h, DOM*.cpp
164700            generator=GObject  => WebKitDOM*.h, WebKitDOM*.cpp
164701            generator=CPP  => WebDOM*.h, WebDOM*.cpp
164702
164703        No new tests. No change in behavior.
164704        I confirmed that the names of generated .h and .cpp files are correct.
164705
164706        * bindings/scripts/CodeGenerator.pm:
164707        (FileNamePrefix): Returns the prefix of file names.
164708        * bindings/scripts/CodeGeneratorCPP.pm:
164709        (GenerateInterface): Uses CodeGenerator::FileNamePrefix.
164710        * bindings/scripts/CodeGeneratorGObject.pm:
164711        (GenerateInterface): Ditto.
164712        * bindings/scripts/CodeGeneratorJS.pm:
164713        (GenerateInterface): Ditto.
164714        * bindings/scripts/CodeGeneratorObjC.pm:
164715        (GenerateInterface): Ditto.
164716        * bindings/scripts/CodeGeneratorV8.pm:
164717        (GenerateInterface): Ditto.
164718        * bindings/scripts/generate-bindings.pl:
164719        (generateEmptyHeaderAndCpp): Ditto.
164720
1647212011-12-25  Dan Bernstein  <mitz@apple.com>
164722
164723        WebCore changes for: Find indicators overlap when a match spans multiple text boxes
164724        https://bugs.webkit.org/show_bug.cgi?id=75220
164725
164726        Reviewed by Darin Adler.
164727
164728        * WebCore.exp.in: Exported new unionRect(const Vector<FloatRect>&) and existing
164729        FloatRect::intersects().
164730        * platform/graphics/FloatRect.cpp:
164731        (WebCore::unionRect): Added.
164732        * platform/graphics/FloatRect.h:
164733
1647342011-12-25  Darin Adler  <darin@apple.com>
164735
164736        Use OwnPtr for CSSFontFace::m_sources
164737        https://bugs.webkit.org/show_bug.cgi?id=75219
164738
164739        Reviewed by Dan Bernstein.
164740
164741        * css/CSSFontFace.cpp:
164742        (WebCore::CSSFontFace::isLoaded): Use the same size_t idiom here as in the rest
164743        of the functions.
164744        (WebCore::CSSFontFace::isValid): Ditto. Also removed unneeded empty special casing.
164745        (WebCore::CSSFontFace::addSource): Changed to take a PassOwnPtr. Reordered so the
164746        PassOwnPtr zeroing does not cause trouble.
164747        (WebCore::CSSFontFace::getFontData): Added call to get.
164748        (WebCore::CSSFontFace::hasSVGFontFaceSource): Use the same size_t idiom here as in
164749        the rest of the functions.
164750
164751        * css/CSSFontFace.h: Use PassOwnPtr for addSource argument, and Vector<OwnPtr> for
164752        the m_sources vector.
164753
164754        * css/CSSFontSelector.cpp:
164755        (WebCore::CSSFontSelector::addFontFaceRule): Use OwnPtr and PassOwnPtr for font face
164756        sources that are passed to addSource.
164757
164758        * css/CSSSegmentedFontFace.cpp: Added a now-needed include.
164759
1647602011-12-24  Jarred Nicholls  <jarred@sencha.com>
164761
164762        Allow XMLHttpRequest responseType to be set at any state up to and including HEADERS_RECEIVED
164763        https://bugs.webkit.org/show_bug.cgi?id=75190
164764
164765        XMLHttpRequest.responseType should be modifiable at any state up to and including the
164766        HEADERS_RECEIVED state. Therefore, subsequent calls to open() should not reset responseType
164767        to its default value, and calls to open() must follow the same spec mandate set forth in
164768        setResponseType() for synchronous HTTP(S) requests made from the window context.
164769
164770        Reviewed by Alexey Proskuryakov.
164771
164772        Tests: fast/xmlhttprequest/xmlhttprequest-responsetype-before-open-sync-request.html
164773               fast/xmlhttprequest/xmlhttprequest-responsetype-before-open.html
164774               fast/xmlhttprequest/xmlhttprequest-responsetype-set-at-headers-received.html
164775
164776        * xml/XMLHttpRequest.cpp:
164777        (WebCore::XMLHttpRequest::setResponseType):
164778        Prevent setting the value only when in LOADING and DONE states. No longer check if
164779        m_loader is present, which is instantiated on a call to send(), because responseType
164780        can be safely changed after a request is sent.
164781        (WebCore::XMLHttpRequest::open):
164782        Do not reset m_responseTypeCode to the default value, and prevent calls to open()
164783        for synchronous HTTP(S) requests made from the window context when m_responseTypeCode
164784        is not the default value.
164785
1647862011-12-25  Sam Weinig  <sam@webkit.org>
164787
164788        Fix tests failing as a result of r103643
164789        https://bugs.webkit.org/show_bug.cgi?id=75209
164790
164791        Reviewed by Dan Bernstein.
164792
164793        Switch accidental switch of default scroll granularity from 
164794        ScrollByPageWheelEvent back to ScrollByPixelWheelEvent.
164795
164796        * platform/mac/PlatformEventFactory.mm:
164797        (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
164798
1647992011-12-25  Darin Adler  <darin@apple.com>
164800
164801        Change CSS canvas code that does HashMap get/set to use the more efficient add idiom
164802        https://bugs.webkit.org/show_bug.cgi?id=75204
164803
164804        Reviewed by Dan Bernstein.
164805
164806        * dom/Document.cpp:
164807        (WebCore::Document::getCSSCanvasContext): Change local variable name of element to
164808        element; it's not the function result, so not good to name it result.
164809        (WebCore::Document::getCSSCanvasElement): Use add instead of get/set so we only do
164810        one hash table lookup.
164811
1648122011-12-24  Andreas Kling  <awesomekling@apple.com>
164813
164814        CSSElementStyleDeclarations should never move between elements.
164815        <http://webkit.org/b/75198>
164816
164817        Reviewed by Anders Carlsson.
164818
164819        Have the CSSElementStyleDeclaration subclasses take a StyledElement* in
164820        the constructor and replace setElement(StyledElement*) by clearElement().
164821
164822        No behavior change, just enforcing the current behavior at compile-time.
164823
164824        * css/CSSElementStyleDeclaration.h:
164825        (WebCore::CSSElementStyleDeclaration::clearElement):
164826        (WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
164827        * css/CSSInlineStyleDeclaration.h:
164828        (WebCore::CSSInlineStyleDeclaration::create):
164829        (WebCore::CSSInlineStyleDeclaration::CSSInlineStyleDeclaration):
164830        * dom/StyledElement.cpp:
164831        (WebCore::StyledElement::createInlineStyleDecl):
164832        (WebCore::StyledElement::destroyInlineStyleDecl):
164833        * svg/SVGFontFaceElement.cpp:
164834        (WebCore::FontFaceStyleDeclaration::FontFaceStyleDeclaration):
164835
1648362011-12-23  Andreas Kling  <awesomekling@apple.com>
164837
164838        Decouple CSSMappedAttributeDeclaration from element completely.
164839        <http://webkit.org/b/75187>
164840
164841        Reviewed by Darin Adler.
164842
164843        Let CSSMappedAttributeDeclaration inherit from CSSMutableDeclaration instead
164844        of CSSElementStyleDeclaration. Add methods to CSSMappedAttributeDeclaration
164845        for setting properties that also take a StyledElement* and use that mechanism
164846        instead of temporarily associating an element with the declaration.
164847
164848        This reduces the size of mapped attributes by 4/8 bytes, but more importantly
164849        opens a number of ways to simplify style declarations in future patches.
164850
164851        * css/CSSMutableStyleDeclaration.h:
164852        * dom/CSSMappedAttributeDeclaration.cpp:
164853        (WebCore::CSSMappedAttributeDeclaration::setNeedsStyleRecalc):
164854        (WebCore::CSSMappedAttributeDeclaration::setMappedImageProperty):
164855        (WebCore::CSSMappedAttributeDeclaration::setMappedLengthProperty):
164856        (WebCore::CSSMappedAttributeDeclaration::setMappedProperty):
164857        (WebCore::CSSMappedAttributeDeclaration::removeMappedProperty):
164858        * dom/CSSMappedAttributeDeclaration.h:
164859        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
164860
164861            Add/move methods to CSSMappedAttributeDeclaration for setting/removing
164862            properties that also take a StyledElement*. That element is used for
164863            scheduling style recalc and passing the right document to CSSParser.
164864
164865        * css/CSSParser.h:
164866        * css/CSSParser.cpp:
164867        (WebCore::parseColorValue):
164868        (WebCore::parseSimpleLengthValue):
164869        (WebCore::CSSParser::parseValue):
164870        (WebCore::CSSParser::parseMappedAttributeValue):
164871
164872            Added a parsedMappedAttributeValue() alternative to parseValue() that
164873            takes a StyledElement*.
164874
164875        * dom/StyledElement.h:
164876        * html/HTMLElement.cpp:
164877        (WebCore::HTMLElement::setContentEditable):
164878
164879            Add (and use) a StyledElement::removeCSSProperty() complement to the
164880            addCSS*() functions.
164881
164882        * dom/StyledElement.cpp:
164883        (WebCore::StyledElement::attributeChanged):
164884        (WebCore::StyledElement::removeCSSProperty):
164885        (WebCore::StyledElement::addCSSProperty):
164886        (WebCore::StyledElement::addCSSImageProperty):
164887        (WebCore::StyledElement::addCSSLength):
164888        (WebCore::StyledElement::addCSSColor):
164889        (WebCore::StyledElement::createMappedDecl):
164890        * html/HTMLTableElement.cpp:
164891        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
164892        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
164893        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
164894        (WebCore::HTMLTableElement::addSharedGroupDecls):
164895
164896            Use the setMapped*Property() functions to plumb the element through.
164897
164898        * css/CSSElementStyleDeclaration.h:
164899
164900            Update comment about CSSElementStyleDeclaration's subclasses.
164901
1649022011-12-24  Jarred Nicholls  <jarred@sencha.com>
164903
164904        Allow XMLHttpRequest withCredentials to be set prior to a call to open()
164905        https://bugs.webkit.org/show_bug.cgi?id=75194
164906
164907        XMLHttpRequest.withCredentials attribute should be modifiable prior to the OPENED state per
164908        the W3C spec. See http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-withcredentials-attribute
164909
164910        Reviewed by Alexey Proskuryakov.
164911
164912        Test: fast/xmlhttprequest/xmlhttprequest-withcredentials-before-open.html
164913
164914        * xml/XMLHttpRequest.cpp:
164915        (WebCore::XMLHttpRequest::setWithCredentials):
164916        Prevent setting the value only after the OPENED state.
164917
1649182011-12-24  Andreas Kling  <awesomekling@apple.com>
164919
164920        Remove empty inline RenderStyle destructor.
164921        <http://webkit.org/b/75188>
164922
164923        Rubber-stamped by Anders "Ordvits" Carlsson.
164924
164925        * rendering/style/RenderStyle.h:
164926
1649272011-12-24  Andreas Kling  <awesomekling@apple.com>
164928
164929        RenderStyle: Inline the destructor.
164930        <http://webkit.org/b/75188>
164931
164932        Reviewed by Kenneth Rohde Christiansen.
164933
164934        The (empty) RenderStyle destructor gets a little hot sometimes, reaching up
164935        to 0.4% when loading the full HTML5 spec. Inline it to remove the pointless
164936        function call.
164937
164938        * rendering/style/RenderStyle.cpp:
164939        * rendering/style/RenderStyle.h:
164940        (WebCore::RenderStyleBitfields::~RenderStyle):
164941
1649422011-12-23  Noel Gordon  <noel.gordon@gmail.com>
164943
164944        JPEG decoders should only save color profile markers if color management is enabled
164945        https://bugs.webkit.org/show_bug.cgi?id=75182
164946
164947        Reviewed by Adam Barth.
164948
164949        No new tests. Covered by existing tests.
164950            fast/images/ycbcr-with-cmyk-color-profile.html
164951            fast/images/gray-scale-jpeg-with-color-profile.html
164952            fast/images/cmyk-jpeg-with-color-profile.html
164953            fast/images/color-jpeg-with-color-profile.html
164954
164955        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
164956        (WebCore::JPEGImageReader::JPEGImageReader):  Store color profile (JPEG_APP0 + 2) markers
164957        using the iccjpeg helper setup_read_icc_profile() if color management is enabled.
164958
1649592011-12-23  Alice Boxhall  <aboxhall@chromium.org>
164960
164961        Fix crash when adding paragraph in contenteditable with role=textbox.
164962        https://bugs.webkit.org/show_bug.cgi?id=75159
164963
164964        Reviewed by Ryosuke Niwa.
164965
164966        Test: accessibility/textbox-role-on-contenteditable-crash.html
164967
164968        * accessibility/AccessibilityRenderObject.cpp:
164969        (WebCore::AccessibilityRenderObject::childrenChanged): Use rendererIsEditable() rather than isContentEditable()
164970        as this method is called during render layouts, and isContentEditable() triggers a layout update, which crashes.
164971
1649722011-12-23  Noel Gordon  <noel.gordon@gmail.com>
164973
164974        [chromium] JPEG image with CMYK ICC color profile renders color-inverted and squashed
164975        https://bugs.webkit.org/show_bug.cgi?id=74400
164976
164977        Reviewed by Adam Barth.
164978
164979        Use color profiles for GRAYSCALE, RGB, YCbCr, CMYK and YCCK jpeg images only if their
164980        embedded color profile is from an RGB color space input device.
164981
164982        Test:
164983           fast/images/ycbcr-with-cmyk-color-profile.html
164984               - YCbCr image, with CMYK output device color profile.
164985        Existing Tests:
164986           fast/images/gray-scale-jpeg-with-color-profile.html
164987               - YCbCr image, with GRAY input device color profile.
164988           fast/images/cmyk-jpeg-with-color-profile.html
164989               - YCCK image, with CMYK output device color profile.
164990           fast/images/color-jpeg-with-color-profile.html
164991               - YCbCr image, with RGB input device color profile.
164992
164993        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
164994        (WebCore::rgbColorProfile): Return true if the profile has an RGB color space.
164995        (WebCore::inputDeviceColorProfile): Return true if the profile is from an input device.
164996        (WebCore::readColorProfile): Ignore the embedded color profile unless if it is from
164997        an RGB color space input device.
164998        (WebCore::JPEGImageReader::decode):
164999
1650002011-12-23  Dan Bernstein  <mitz@apple.com>
165001
165002        Print dlerror() when dyld functions fail unexpectedly
165003        https://bugs.webkit.org/show_bug.cgi?id=75185
165004
165005        Reviewed by Sam Weinig.
165006
165007        * platform/mac/SoftLinking.h:
165008
1650092011-12-23  Sam Weinig  <sam@webkit.org>
165010
165011        Start extracting platform specific bits out of PlatformEvents
165012        https://bugs.webkit.org/show_bug.cgi?id=75063
165013
165014        Reviewed by Anders Carlsson.
165015
165016        * WebCore.exp.in:
165017        Update exports.
165018
165019        * WebCore.xcodeproj/project.pbxproj:
165020        Add factory, remove implementation files for mac PlatformWheelEvent
165021        and PlatformMouseEvent.
165022
165023        * page/mac/EventHandlerMac.mm:
165024        (WebCore::EventHandler::wheelEvent):
165025        (WebCore::EventHandler::keyEvent):
165026        (WebCore::EventHandler::currentPlatformMouseEvent):
165027        Switch to use the factory.
165028
165029        * platform/PlatformEvent.h:
165030        (WebCore::PlatformEvent::shiftKey):
165031        (WebCore::PlatformEvent::ctrlKey):
165032        (WebCore::PlatformEvent::altKey):
165033        (WebCore::PlatformEvent::metaKey):
165034        (WebCore::PlatformEvent::modifiers):
165035        (WebCore::PlatformEvent::PlatformEvent):
165036        Switch to storing the modifiers as bits on an unsigned
165037        instead of as individual bools.
165038
165039        * platform/PlatformGestureEvent.h:
165040        Remove unused timestamp member.
165041
165042        * platform/PlatformKeyboardEvent.h:
165043        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
165044        (WebCore::PlatformKeyboardEvent::keyIdentifier):
165045        (WebCore::PlatformKeyboardEvent::macCharCode):
165046        (WebCore::PlatformKeyboardEvent::isSystemKey):
165047        Give this class a more consistent interface across platforms,
165048        and remove constructor that took an NSEvent.
165049
165050        * platform/PlatformMouseEvent.h:
165051        Remove constructor that took an NSEvent (and an unused constructor that took
165052        many arguments) as well as some free functions for point conversion.
165053
165054        * platform/PlatformWheelEvent.h:
165055        Remove constructor that took an NSEvent and an unnecessary override of the timestamp()
165056        function.
165057
165058        * platform/mac/KeyEventMac.mm:
165059        Removed constructor and moved helpers to PlatformEventFactory.
165060
165061        * platform/mac/PlatformEventFactory.h: Added.
165062        * platform/mac/PlatformEventFactory.mm: Added.
165063        (WebCore::globalPoint):
165064        (WebCore::globalPointForEvent):
165065        (WebCore::pointForEvent):
165066        (WebCore::mouseButtonForEvent):
165067        (WebCore::mouseEventTypeForEvent):
165068        (WebCore::clickCountForEvent):
165069        (WebCore::momentumPhaseForEvent):
165070        (WebCore::phaseForEvent):
165071        (WebCore::gestureEventTypeForEvent):
165072        (WebCore::textFromEvent):
165073        (WebCore::unmodifiedTextFromEvent):
165074        (WebCore::keyIdentifierForKeyEvent):
165075        (WebCore::isKeypadEvent):
165076        (WebCore::windowsKeyCodeForKeyEvent):
165077        (WebCore::isKeyUpEvent):
165078        (WebCore::modifiersForEvent):
165079        (WebCore::PlatformMouseEventBuilder::PlatformMouseEventBuilder):
165080        (WebCore::PlatformEventFactory::createPlatformMouseEvent):
165081        (WebCore::PlatformWheelEventBuilder::PlatformWheelEventBuilder):
165082        (WebCore::PlatformEventFactory::createPlatformWheelEvent):
165083        (WebCore::PlatformKeyboardEventBuilder::PlatformKeyboardEventBuilder):
165084        (WebCore::PlatformEventFactory::createPlatformKeyboardEvent):
165085        (WebCore::PlatformGestureEventBuilder::PlatformGestureEventBuilder):
165086        (WebCore::PlatformEventFactory::createPlatformGestureEvent):
165087        Consolidate platform event creation logic and add factory functions.
165088
165089        * platform/mac/PlatformMouseEventMac.mm: Removed.
165090        * platform/mac/WheelEventMac.mm: Removed.
165091
165092        * platform/mac/WebCoreSystemInterface.h:
165093        * platform/mac/WebCoreSystemInterface.mm:
165094        Expose wkGetNSEventKeyChar in WebCore.
165095
165096        * platform/gtk/PlatformKeyboardEventGtk.cpp:
165097        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
165098        * platform/gtk/PlatformMouseEventGtk.cpp:
165099        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
165100        * platform/gtk/PlatformWheelEventGtk.cpp:
165101        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
165102        * platform/qt/PlatformKeyboardEventQt.cpp:
165103        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
165104        * platform/qt/PlatformMouseEventQt.cpp:
165105        (WebCore::mouseEventModifiersFromQtKeyboardModifiers):
165106        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
165107        * platform/qt/PlatformTouchEventQt.cpp:
165108        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
165109        * platform/win/KeyEventWin.cpp:
165110        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
165111        * platform/win/WheelEventWin.cpp:
165112        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
165113        Update for new variables/names.
165114
1651152011-12-22  Andreas Kling  <kling@webkit.org>
165116
165117        CSSParser: Avoid creating dummy declaration in parseColor() slow path.
165118        <http://webkit.org/b/75104>
165119
165120        Reviewed by Darin Adler.
165121
165122        We only needed the dummy declaration to trigger the instantiation of
165123        a CSSValuePool. Added an ensureCSSValuePool() method and have parseColor()
165124        call that instead.
165125
165126        Also renamed the fast-path parseColor() to fastParseColor() and reordered
165127        the arguments for consistency with the slow-path parseColor().
165128
165129        * css/CSSParser.cpp:
165130        (WebCore::parseColorValue):
165131        (WebCore::CSSParser::parseColor):
165132        (WebCore::CSSParser::ensureCSSValuePool):
165133        (WebCore::CSSParser::fastParseColor):
165134        (WebCore::CSSParser::parseColorFromValue):
165135        * css/CSSParser.h:
165136
1651372011-12-21  Andreas Kling  <kling@webkit.org>
165138
165139        Automate elements' registration as document namedItem/extraNamedItem.
165140        <http://webkit.org/b/74991>
165141
165142        Reviewed by Antti Koivisto.
165143
165144        Remove caching of the "id" and "name" attributes on applet, embed, form,
165145        image and object elements. We were caching them to keep the document's
165146        map of named and "extra named" (named by id) item counts in sync.
165147
165148        Instead, add a hook to Element::willModifyAttribute() that detects when
165149        the attributes are being changed and handle the registration/unregistration
165150        automatically if the element returns true for shouldRegisterAsNamedItem()
165151        or shouldRegisterAsExtraNamedItem() respectively.
165152
165153        This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.
165154
165155        IFrame elements retain the old mechanism for now, as there are some subtle
165156        differences to how that's handled.
165157
165158        * dom/Node.h:
165159        (WebCore::Node::hasName):
165160        (WebCore::Node::setHasName):
165161
165162            Cache whether we have a "name" attribute or not (1 bit on Node.)
165163            This is done in order to minimize the overhead added to Element's
165164            insertedIntoDocument() and removeFromDocument().
165165
165166        * dom/StyledElement.cpp:
165167        (WebCore::StyledElement::attributeChanged):
165168
165169            Update the Node's has-name flag as appropriate.
165170
165171        * dom/Element.cpp:
165172        (WebCore::Element::updateNamedItemRegistration):
165173        (WebCore::Element::updateExtraNamedItemRegistration):
165174
165175            Added. Called when the "name" and "id" attributes are changed.
165176            Updates the document's named item maps accordingly.
165177
165178        (WebCore::Element::insertedIntoDocument):
165179        (WebCore::Element::removedFromDocument):
165180
165181            Make sure updateName() is called in addition to updateId() when applicable.
165182
165183        * dom/Element.h:
165184        (WebCore::Element::shouldRegisterAsNamedItem):
165185        (WebCore::Element::shouldRegisterAsExtraNamedItem):
165186
165187            Added. If an element returns true for these, it will be automatically
165188            registered with the document when the name/id attribute changes.
165189
165190        (WebCore::Element::updateId):
165191        (WebCore::Element::updateName):
165192
165193            Register/unregister from the document's named item maps as appropriate.
165194
165195        (WebCore::Element::willModifyAttribute):
165196
165197            Add updateName() hook in addition to the existing updateId() hook.
165198
165199        * dom/NamedNodeMap.cpp:
165200        (WebCore::NamedNodeMap::setAttributes):
165201
165202            Make sure updateName() is called when we're cloning the attributes
165203            from another element.
165204
165205        * html/HTMLAppletElement.cpp:
165206        (WebCore::HTMLAppletElement::parseMappedAttribute):
165207        * html/HTMLAppletElement.h:
165208        * html/HTMLEmbedElement.cpp:
165209        (WebCore::HTMLEmbedElement::parseMappedAttribute):
165210        (WebCore::HTMLEmbedElement::insertedIntoDocument):
165211        * html/HTMLEmbedElement.h:
165212        * html/HTMLFormElement.cpp:
165213        (WebCore::HTMLFormElement::insertedIntoDocument):
165214        (WebCore::HTMLFormElement::removedFromDocument):
165215        (WebCore::HTMLFormElement::parseMappedAttribute):
165216        * html/HTMLFormElement.h:
165217        * html/HTMLImageElement.cpp:
165218        (WebCore::HTMLImageElement::parseMappedAttribute):
165219        (WebCore::HTMLImageElement::insertedIntoDocument):
165220        * html/HTMLImageElement.h:
165221        * html/HTMLObjectElement.cpp:
165222        (WebCore::HTMLObjectElement::parseMappedAttribute):
165223        (WebCore::HTMLObjectElement::insertedIntoDocument):
165224        (WebCore::HTMLObjectElement::removedFromDocument):
165225        * html/HTMLObjectElement.h:
165226        * html/HTMLPlugInElement.h:
165227
165228            Remove duplicated code that is now handled by Element.
165229
165230        * html/HTMLObjectElement.cpp:
165231        (WebCore::HTMLObjectElement::updateDocNamedItem):
165232        (WebCore::HTMLObjectElement::formControlName):
165233
165234            Use fastGetAttribute() since we no longer cache the name.
165235
1652362011-12-23  Anders Carlsson  <andersca@apple.com>
165237
165238        Add two (currently unused) new member functions to ScrollElasticityControllerClient
165239        https://bugs.webkit.org/show_bug.cgi?id=75179
165240
165241        Reviewed by Dan Bernstein.
165242
165243        This is so we'll be able to move more code to ScrollElasticityController.
165244
165245        * platform/mac/ScrollAnimatorMac.h:
165246        * platform/mac/ScrollAnimatorMac.mm:
165247        (WebCore::ScrollAnimatorMac::pinnedInDirection):
165248        (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
165249        * platform/mac/ScrollElasticityController.h:
165250
1652512011-12-23  Simon Fraser  <simon.fraser@apple.com>
165252
165253        Blur filter doesn't invalidate enough
165254        https://bugs.webkit.org/show_bug.cgi?id=74891
165255
165256        Reviewed by Darin Adler.
165257        
165258        Take the effects of filters into account for repainting; we need
165259        to inflate the repaint rect by the outsets provided by the filter.
165260        
165261        Test: css3/filters/filter-repaint.html
165262
165263        * rendering/RenderBox.cpp:
165264        (WebCore::RenderBox::computeRectForRepaint):
165265        * rendering/RenderInline.cpp:
165266        (WebCore::RenderInline::computeRectForRepaint):
165267
1652682011-12-23  Simon Fraser  <simon.fraser@apple.com>
165269
165270        Filters should apply to inline elements
165271        https://bugs.webkit.org/show_bug.cgi?id=75152
165272
165273        Reviewed by Darin Adler.
165274        
165275        Filters need to cause creation of RenderLayers for inlines, just like
165276        opacity and masks do.
165277
165278        Test: css3/filters/filtered-inline.html
165279
165280        * rendering/RenderInline.h:
165281        (WebCore::RenderInline::requiresLayer):
165282        * rendering/RenderTableRow.h: Remove an obviously incorrect comment.
165283
1652842011-12-23  Jarred Nicholls  <jarred@sencha.com>
165285
165286        Synchronous XHR in window context should not support new XHR responseTypes for HTTP(S) requests
165287        https://bugs.webkit.org/show_bug.cgi?id=72154
165288
165289        Per the latest W3C editor draft: http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html
165290        This is a spec-mandated attempt to thwart and otherwise discourage the use of synchronous XHR
165291        in the window context by deliberately not exposing newer functionality. Here we are disabling
165292        the use of responseType in synchronous HTTP(S) XHR requests from the window context.
165293
165294        When a user attempts this action, an InvalidAccessError exception is thrown and a message is
165295        printed to the console to further explain.
165296
165297        Renamed reportUnsafeUsage to a more generic name, and hoisted it up so it would be defined
165298        earlier and thus referenceable by setResponseType.
165299
165300        Reviewed by Alexey Proskuryakov.
165301
165302        Test: fast/xmlhttprequest/xmlhttprequest-responsetype-sync-request.html
165303
165304        * xml/XMLHttpRequest.cpp:
165305        (WebCore::logConsoleError):
165306        reportUnsafeUsage -> logConsoleError
165307        (WebCore::XMLHttpRequest::setResponseType):
165308        (WebCore::XMLHttpRequest::setRequestHeader):
165309        reportUnsafeUsage -> logConsoleError
165310        (WebCore::XMLHttpRequest::getResponseHeader):
165311        reportUnsafeUsage -> logConsoleError
165312        (WebCore::XMLHttpRequest::didFail):
165313        reportUnsafeUsage -> logConsoleError
165314
1653152011-12-23  Alexander Pavlov  <apavlov@chromium.org>
165316
165317        Web Inspector: Implement a worker for parsing out JavaScript function data
165318        https://bugs.webkit.org/show_bug.cgi?id=75166
165319
165320        Reviewed by Pavel Feldman.
165321
165322        Test: inspector/debugger/script-extract-outline.html
165323
165324        * inspector/front-end/ScriptFormatter.js:
165325        (WebInspector.ScriptFormatter.prototype.formatContent):
165326        * inspector/front-end/ScriptFormatterWorker.js:
165327        (onmessage):
165328        (format):
165329        (getChunkCount):
165330        ():
165331        (Array.prototype.keySet):
165332
1653332011-12-23  Ilya Tikhonovsky  <loislo@chromium.org>
165334
165335        Unreviewed, rolling out r103624.
165336        http://trac.webkit.org/changeset/103624
165337        https://bugs.webkit.org/show_bug.cgi?id=68916
165338
165339        Broke Snow Leopard builders
165340
165341        * CMakeLists.txt:
165342        * DerivedSources.cpp:
165343        * DerivedSources.pri:
165344        * GNUmakefile.list.am:
165345        * WebCore.gypi:
165346        * WebCore.xcodeproj/project.pbxproj:
165347        * bindings/js/JSDirectoryEntryCustom.cpp:
165348        (WebCore::JSDirectoryEntry::getFile):
165349        (WebCore::JSDirectoryEntry::getDirectory):
165350        * bindings/js/JSDirectoryEntrySyncCustom.cpp:
165351        (WebCore::getFlags):
165352        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
165353        (WebCore::V8DirectoryEntry::getDirectoryCallback):
165354        (WebCore::V8DirectoryEntry::getFileCallback):
165355        * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
165356        (WebCore::getFlags):
165357        * fileapi/WebKitFlags.idl: Added.
165358        * page/DOMWindow.idl:
165359        * workers/WorkerContext.idl:
165360
1653612011-12-23  Eric Uhrhane  <ericu@chromium.org>
165362
165363       [fileapi] WebKitFlags should not be constructable per Directories & System spec
165364       https://bugs.webkit.org/show_bug.cgi?id=68916
165365
165366       Reviewed by Eric Seidel.
165367
165368       Remove IDL for the object and all DOM references to it.
165369       * fileapi/WebKitFlags.idl: Removed.
165370       * page/DOMWindow.idl:
165371       * workers/WorkerContext.idl:
165372       Remove references to the JSC/V8 objects compiled from the IDL.
165373       * bindings/js/JSDirectoryEntryCustom.cpp:
165374       (WebCore::JSDirectoryEntry::getFile):
165375       (WebCore::JSDirectoryEntry::getDirectory):
165376       * bindings/js/JSDirectoryEntrySyncCustom.cpp:
165377       (WebCore::getFlags):
165378       * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
165379       (WebCore::V8DirectoryEntry::getDirectoryCallback):
165380       (WebCore::V8DirectoryEntry::getFileCallback):
165381       * bindings/v8/custom/V8DirectoryEntrySyncCustom.cpp:
165382       (WebCore::getFlags):
165383       Fix up build files.
165384       * WebCore.gypi:
165385       * WebCore.vcproj/WebCore.vcproj:
165386       * WebCore.xcodeproj/project.pbxproj:
165387       * WebCore/CMakeLists.txt:
165388       * WebCore/CodeGenerators.pri:
165389       * WebCore/DerivedSources.cpp:
165390       * WebCore/GNUmakefile.list.am:
165391
1653922011-12-23  Pavel Feldman  <pfeldman@google.com>
165393
165394        Web Inspector: Migrate to native Function.prototype.bind; fix front-end compilation with the
165395        version of compiler that respects Function.prototype.bind.
165396        https://bugs.webkit.org/show_bug.cgi?id=75170
165397
165398        Reviewed by Yury Semikhatsky.
165399
165400        * inspector/front-end/ApplicationCacheModel.js:
165401        * inspector/front-end/CSSKeywordCompletions.js:
165402        (WebInspector.CSSKeywordCompletions.colors):
165403        * inspector/front-end/CSSStyleModel.js:
165404        * inspector/front-end/CompilerSourceMapping.js:
165405        * inspector/front-end/DOMAgent.js:
165406        (WebInspector.DOMAgent.prototype.pushNodeToFrontend):
165407        (WebInspector.DOMAgent.prototype.pushNodeByPathToFrontend):
165408        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable.onDocumentAvailable):
165409        (WebInspector.DOMAgent.prototype._dispatchWhenDocumentAvailable):
165410        (WebInspector.DOMAgent.prototype._loadNodeAttributes):
165411        (WebInspector.DOMAgent.prototype.querySelector):
165412        (WebInspector.DOMAgent.prototype.querySelectorAll):
165413        * inspector/front-end/DebuggerModel.js:
165414        * inspector/front-end/DebuggerPresentationModel.js:
165415        * inspector/front-end/ExtensionAPI.js:
165416        (injectedExtensionAPI.InspectorExtensionAPI):
165417        (injectedExtensionAPI):
165418        * inspector/front-end/ExtensionPanel.js:
165419        * inspector/front-end/NetworkManager.js:
165420        (WebInspector.NetworkManager.prototype.enableResourceTracking):
165421        (WebInspector.NetworkManager.prototype.disableResourceTracking):
165422        * inspector/front-end/Script.js:
165423        * inspector/front-end/Settings.js:
165424        * inspector/front-end/TextPrompt.js:
165425        (WebInspector.TextPrompt.prototype.complete):
165426        * inspector/front-end/utilities.js:
165427
1654282011-12-23  Leo Yang  <leo.yang@torchmobile.com.cn>
165429
165430        [BlackBerry] Add the BlackBerry specific pauseLoad(bool) to ResourceHandle
165431        https://bugs.webkit.org/show_bug.cgi?id=75162
165432
165433        Reviewed by George Staikos.
165434
165435        The porting can be built now, no new tests so far.
165436
165437        * platform/network/ResourceHandle.h:
165438
1654392011-12-23  Karl Koscher  <supersat@chromium.org>
165440
165441        Give embedders a chance to handle postMessage calls
165442        https://bugs.webkit.org/show_bug.cgi?id=73883
165443
165444        To support cross-process postMessage calls in Chromium (bug 73337), we need to intercept 
165445        postMessage calls to proxy windows. Originally we were just going to add a native event
165446        listener on the Chromium side, but that required more changes to WebKit and was a bit of
165447        a hack. See bug 73359 for a discuss about moving to this approach.
165448
165449        Reviewed by Adam Barth.
165450
165451        Test: platform/chromium/fast/events/intercept-postmessage.html
165452
165453        * loader/FrameLoaderClient.h:
165454        (WebCore::FrameLoaderClient::willCheckAndDispatchPostMessage): new method to allow the
165455            embedder to intercept postMessage calls
165456        * page/DOMWindow.cpp:
165457        (WebCore::DOMWindow::postMessageTimerFired): add a call to
165458            FrameLoaderClient::willCheckAndDispatchPostMessage
165459
1654602011-12-23  Tom Sepez  <tsepez@chromium.org>
165461
165462        XSLT-created HTML documents do not inherit content-security-policy from originally loaded XML.
165463        https://bugs.webkit.org/show_bug.cgi?id=75043
165464
165465        Reviewed by Adam Barth.
165466
165467        Test: http/tests/security/contentSecurityPolicy/xsl-img-blocked.php
165468
165469        * page/ContentSecurityPolicy.cpp:
165470        (WebCore::ContentSecurityPolicy::copyStateFrom):
165471        (WebCore::ContentSecurityPolicy::didReceiveHeader):
165472        * page/ContentSecurityPolicy.h:
165473        * xml/XSLTProcessor.cpp:
165474        (WebCore::XSLTProcessor::createDocumentFromSource):
165475
1654762011-12-23  Darin Adler  <darin@apple.com>
165477
165478        REGRESSION (r97533): Optgroup label is not disabled
165479        https://bugs.webkit.org/show_bug.cgi?id=74869
165480
165481        Reviewed by Alexey Proskuryakov.
165482
165483        * rendering/RenderMenuList.cpp:
165484        (WebCore::RenderMenuList::itemIsEnabled): Added back a line of code that was
165485        accidentally deleted as part of the refactoring in r97533. This line of code
165486        ensures that any items that are not option elements are disabled.
165487
1654882011-12-19  Alexander Pavlov  <apavlov@chromium.org>
165489
165490        Web Inspector: Add CSSStyleSelector instrumentation calls towards implementing a CSS selector profiler
165491        https://bugs.webkit.org/show_bug.cgi?id=74863
165492
165493        Performance checks run on PerformanceTest/Parser/html5-full-render.html did not result in any noticeable
165494        perf regression, as the instrumentation calls are inline and bail out early if there are no
165495        Web Inspector frontends open.
165496
165497        Reviewed by Antti Koivisto.
165498
165499        No new tests, as the functionality is not bound to any user-visible outputs.
165500
165501        * css/CSSStyleSelector.cpp:
165502        (WebCore::CSSStyleSelector::matchRulesForList):
165503        (WebCore::CSSStyleSelector::applyDeclaration):
165504        * inspector/InspectorInstrumentation.cpp:
165505        (WebCore::InspectorInstrumentation::willMatchRuleImpl):
165506        (WebCore::InspectorInstrumentation::didMatchRuleImpl):
165507        (WebCore::InspectorInstrumentation::willProcessRuleImpl):
165508        (WebCore::InspectorInstrumentation::didProcessRuleImpl):
165509        * inspector/InspectorInstrumentation.h:
165510        (WebCore::InspectorInstrumentation::willMatchRule):
165511        (WebCore::InspectorInstrumentation::didMatchRule):
165512        (WebCore::InspectorInstrumentation::willProcessRule):
165513        (WebCore::InspectorInstrumentation::didProcessRule):
165514
1655152011-12-23  Ivan Briano  <ivan@profusion.mobi>
165516
165517        [EFL] Fix building with Glib support disabled
165518        https://bugs.webkit.org/show_bug.cgi?id=70990
165519
165520        Reviewed by Martin Robinson.
165521
165522        Add forward declaration for cairo_surface_t, missing when building
165523        the EFL port with Glib disabled.
165524
165525        * platform/cairo/WidgetBackingStore.h:
165526
1655272011-12-23  Adam Klein  <adamk@chromium.org>
165528
165529        Minimize callsites and duplication of before/after advice for attribute mutations
165530        https://bugs.webkit.org/show_bug.cgi?id=75054
165531
165532        Reviewed by Ryosuke Niwa.
165533
165534        r103452 helpfully made before and after advice regarding attribute
165535        changes symmetrical. This change finishes that work, by pulling
165536        together all the before/after work, not just the crumbs previously
165537        covered. This includes incrementing Document::domTreeVersion()
165538        when an attribute is about to be changed, Inspector instrumentation,
165539        and MutationEvent dispatch. This is in addition to the previous code,
165540        which handled enqueueing MutationRecords for MutationObservers and
165541        updating the Document's list of IDs.
165542
165543        The only change in behavior should be in InspectorInstrumentation,
165544        which causes DOM breakpoints to occur for more cases of Attribute
165545        mutation. This seems like more correct behavior, and a test has
165546        been included to exercise it.
165547
165548        Hopefully the last Attribute-related refactor for awhile.
165549
165550        * dom/Attr.cpp:
165551        (WebCore::Attr::setValue): Update to call didModifyAttribute instead
165552        of attributeChanged.
165553        * dom/Element.cpp:
165554        (WebCore::Element::removeAttribute): Got rid of
165555        removeAttributeInternal as most of that logic moved back into
165556        NamedNodeMap::removeAttribute.
165557        (WebCore::Element::setAttributeInternal): Reorganized to read better
165558        now that only some cases result in calls to will/didModifyAttribute.
165559        (WebCore::Element::willModifyAttribute): Un-inlined and added
165560        incDOMTreeVersion and InspectorInstrumentation calls.
165561        (WebCore::Element::didModifyAttribute): New method which encapsulates
165562        calling attributeChanged, InspectorInstrumentation, and MutationEvents.
165563        (WebCore::Element::didRemoveAttribute): New method which encapsulates
165564        calling attributeChanged, InspectorInstrumentation, and MutationEvents.
165565        Separate from didModifyAttribute because it has special handling of
165566        the removed Attribute's value.
165567        * dom/Element.h:
165568        (WebCore::Element::willRemoveAttribute): New method which delegates to
165569        willModifyAttribute as appropriate.
165570        * dom/NamedNodeMap.cpp:
165571        (WebCore::NamedNodeMap::setNamedItem): Simplified.
165572        (WebCore::NamedNodeMap::removeNamedItem): Simplified.
165573        (WebCore::NamedNodeMap::addAttribute): Added calls to will/didModifyAttribute.
165574        (WebCore::NamedNodeMap::removeAttribute): ditto.
165575        (WebCore::NamedNodeMap::replaceAttribute): ditto.
165576        * svg/properties/SVGAnimatedPropertySynchronizer.h: Reverted changes
165577        made in r103452 now that addAttribute/removeAttribute once again
165578        call attributeChanged appropriately.
165579
1655802011-12-22  Matt Falkenhagen  <falken@chromium.org>
165581
165582        Map 'lang' and xml:lang attributes to '-webkit-locale' CSS property for use with font fallback and text-transform
165583        https://bugs.webkit.org/show_bug.cgi?id=67586
165584
165585        Original patch by Jungshik Shin <jshin@chromium.org>
165586
165587        Reviewed by Darin Adler.
165588
165589        Tests: fast/text/lang-mapped-to-webkit-locale.xhtml
165590               fast/text/xml-lang-ignored-in-html.html
165591
165592        * html/HTMLElement.cpp:
165593        (WebCore::HTMLElement::mapLanguageAttributeToLocale):
165594        (WebCore::HTMLElement::parseMappedAttribute): Map 'lang' and 'xml:lang' to -webkit-locale.
165595        * html/HTMLElement.h:
165596
1655972011-12-22  Ryosuke Niwa  <rniwa@webkit.org>
165598
165599        WinCE build fix after r103539.
165600
165601        * rendering/svg/RenderSVGResource.cpp:
165602        (WebCore::RenderSVGResource::removeFromFilterCache):
165603
1656042011-12-22  Chris Marrin  <cmarrin@apple.com>
165605
165606        Crash and incorrect behavior when switching between hardware and software CSS filters
165607        https://bugs.webkit.org/show_bug.cgi?id=75130
165608
165609        Reviewed by Simon Fraser.
165610
165611        Test: css3/filters/crash-hw-sw-switch.html
165612
165613        Backing store on layer gets fixed up (added or removed) after style change is evaluated
165614        so the state of the m_filter variable might not match the current filter state. Added
165615        updateOrRemoveFilterEffect() call to ensureBacking() and clearBacking() to get the
165616        m_filter property in the right state. Also added an ASSERT() where the crash was
165617        occuring.
165618
165619        * rendering/RenderLayer.cpp:
165620        (WebCore::RenderLayer::paintLayer):
165621        (WebCore::RenderLayer::ensureBacking):
165622        (WebCore::RenderLayer::clearBacking):
165623
1656242011-12-22  Jon Lee  <jonlee@apple.com>
165625
165626        Radio buttons cut in download movie sheet
165627        https://bugs.webkit.org/show_bug.cgi?id=75128
165628        <rdar://problem/9399450>
165629
165630        Reviewed by Dan Bernstein.
165631
165632        Test: compositing/overflow/theme-affects-visual-overflow.html
165633
165634        The clipping comes from the fact the visual overflow rect of the radio button's
165635        RenderBlock is not expanded to accommodate for the size of the button on the Mac
165636        platform. We use the existing RenderTheme::adjustRepaintRect() to make the
165637        appropriate adjustment. This, consequently, makes it unnecessary to have to
165638        recalculate it for repaint.
165639
165640        * rendering/RenderBlock.cpp:
165641        (WebCore::RenderBlock::computeOverflow): As part of the overflow computation, we
165642        make a call to addVisualOverflowFromTheme().
165643        (WebCore::RenderBlock::addVisualOverflowFromTheme): Ask the theme to inflate the
165644        RenderBlock's rect if necessary, and add that to the visual overflow rect.
165645        * rendering/RenderBlock.h: Added addVisualOverflowFromTheme().
165646        * rendering/RenderBox.cpp:
165647        (WebCore::RenderBox::clippedOverflowRectForRepaint): Remove the call to
165648        adjustRepaintRect() since the rectangle r already uses the new visual overflow
165649        rect.
165650        * rendering/RenderReplaced.cpp:
165651        (WebCore::RenderReplaced::clippedOverflowRectForRepaint): Remove the call to
165652        adjustRepaintRect() since the rectangle r already uses the new visual overflow
165653        rect.
165654
1656552011-12-22  Chris Rogers  <crogers@google.com>
165656
165657        Fix mac build breakage - add SincResampler files to WebCore.xcodeproj
165658        https://bugs.webkit.org/show_bug.cgi?id=75139
165659
165660        Unreviewed build fix.
165661
165662        * WebCore.xcodeproj/project.pbxproj:
165663
1656642011-12-22  Simon Fraser  <simon.fraser@apple.com>
165665
165666        Animating some CSS filter values is wrong
165667        https://bugs.webkit.org/show_bug.cgi?id=75122
165668
165669        Reviewed by Chris Marrin.
165670        
165671        Fix some reversed filter animation behavior for brightness,
165672        contrast and drop-shadow filters.
165673
165674        Test: css3/filters/filter-animation-from-none.html
165675
165676        * platform/graphics/filters/FilterOperation.cpp:
165677        (WebCore::BasicComponentTransferFilterOperation::blend): Just use the global blend() function.
165678        (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Add CONTRAST and BRIGHTNESS to the sswitch.
165679        (WebCore::GammaFilterOperation::blend): Fix the ordering.
165680        (WebCore::DropShadowFilterOperation::blend): Fix the ordering.
165681
1656822011-12-22  Chris Rogers  <crogers@google.com>
165683
165684        Fix mac build caused by improper include of "Locker.h"
165685        https://bugs.webkit.org/show_bug.cgi?id=75134
165686
165687        Unreviewed build fix.
165688
165689        * webaudio/MediaElementAudioSourceNode.cpp:
165690
1656912011-12-22  Anders Carlsson  <andersca@apple.com>
165692
165693        More ScrollAnimatorMac cleanup
165694        https://bugs.webkit.org/show_bug.cgi?id=75127
165695
165696        Reviewed by Andreas Kling.
165697
165698        Introduce a immediateScrollByWithoutContentEdgeConstraints and use it whenever we want to scroll by an
165699        offset instead of doing the setConstrainsScrollingToContentEdge dance.
165700
165701        * platform/mac/ScrollAnimatorMac.h:
165702        * platform/mac/ScrollAnimatorMac.mm:
165703        (WebCore::ScrollAnimatorMac::immediateScrollByWithoutContentEdgeConstraints):
165704        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
165705        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
165706
1657072011-12-22  Chris Rogers  <crogers@google.com>
165708
165709        Implement MediaElementAudioSourceNode::setFormat() so numberOfChannels and sampleRate are accounted for
165710        https://bugs.webkit.org/show_bug.cgi?id=75057
165711
165712        Reviewed by Eric Carlson.
165713
165714        * GNUmakefile.list.am:
165715        * WebCore.gypi:
165716        * WebCore.xcodeproj/project.pbxproj:
165717        Add MultiChannelResampler source files to makefiles.
165718        * platform/audio/MultiChannelResampler.cpp: Added.
165719        (WebCore::MultiChannelResampler::MultiChannelResampler):
165720        (WebCore::MultiChannelResampler::process):
165721        * platform/audio/MultiChannelResampler.h: Added.
165722        Add MultiChannelResampler implementation which uses one SincResampler per channel.
165723        * webaudio/MediaElementAudioSourceNode.cpp:
165724        (WebCore::MediaElementAudioSourceNode::create):
165725        (WebCore::MediaElementAudioSourceNode::MediaElementAudioSourceNode):
165726        (WebCore::MediaElementAudioSourceNode::setFormat):
165727        (WebCore::MediaElementAudioSourceNode::process):
165728        Implement MediaElementAudioSourceNode::setFormat() so that we can
165729        properly setup a sample-rate converter and set the number of channels
165730        of the MediaElementAudioSourceNode output.
165731        * webaudio/MediaElementAudioSourceNode.h:
165732
1657332011-12-22  Chris Fleizach  <cfleizach@apple.com>
165734
165735        AX: WebKit should ignore ARIA role=presentation on focusable elements
165736        https://bugs.webkit.org/show_bug.cgi?id=75101
165737
165738        Reviewed by Darin Adler.
165739
165740        If an element is focusable, the presentational role must be ignored, lest the user not be able
165741        to interact with something important.
165742
165743        Test: accessibility/presentational-elements-with-focus.html
165744
165745        * accessibility/AccessibilityRenderObject.cpp:
165746        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
165747        (WebCore::AccessibilityRenderObject::determineAriaRoleAttribute):
165748        (WebCore::AccessibilityRenderObject::inheritsPresentationalRole):
165749
1657502011-12-22  Anders Carlsson  <andersca@apple.com>
165751
165752        Use immediateScrollBy instead of immediateScrollTo where possible
165753        https://bugs.webkit.org/show_bug.cgi?id=75124
165754
165755        Reviewed by Sam Weinig.
165756
165757        Instead of computing the position to scroll to, just compute the delta and use scrollBy instead.
165758
165759        * platform/mac/ScrollAnimatorMac.mm:
165760        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
165761        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
165762
1657632011-12-22  Anders Carlsson  <andersca@apple.com>
165764
165765        Remove a private ScrollAnimatorMac getter/setter and just update the member variable directly
165766        https://bugs.webkit.org/show_bug.cgi?id=75121
165767
165768        Reviewed by Sam Weinig.
165769
165770        * platform/mac/ScrollAnimatorMac.h:
165771        * platform/mac/ScrollAnimatorMac.mm:
165772        (WebCore::ScrollAnimatorMac::setIsActive):
165773        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
165774
1657752011-12-22  Anders Carlsson  <andersca@apple.com>
165776
165777        Simplify ScrollAnimatorMac scrollByDelta functions
165778        https://bugs.webkit.org/show_bug.cgi?id=75120
165779
165780        Reviewed by Sam Weinig.
165781
165782        Merge immediateScrollByDeltaX and immediateScrollByDeltaY to a single function and rename it
165783        to immediateScrollBy. Also, rename immediateScrollToPoint to immediateScrollTo.
165784        
165785        * platform/mac/ScrollAnimatorMac.h:
165786        * platform/mac/ScrollAnimatorMac.mm:
165787        (WebCore::ScrollAnimatorMac::scrollToOffsetWithoutAnimation):
165788        (WebCore::ScrollAnimatorMac::immediateScrollTo):
165789        (WebCore::ScrollAnimatorMac::immediateScrollBy):
165790        (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
165791        (WebCore::ScrollAnimatorMac::smoothScrollWithEvent):
165792        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
165793
1657942011-12-22  Anders Carlsson  <andersca@apple.com>
165795
165796        Make some ScrollAnimatorMac member functions private
165797        https://bugs.webkit.org/show_bug.cgi?id=75117
165798
165799        Reviewed by Sam Weinig.
165800
165801        Make virtual member functions and functions that are only called from ScrollAnimatorMac private.
165802
165803        * platform/mac/ScrollAnimatorMac.h:
165804
1658052011-12-22  Anders Carlsson  <andersca@apple.com>
165806
165807        Move some member variables out of ScrollElasticityController
165808        https://bugs.webkit.org/show_bug.cgi?id=75115
165809
165810        Reviewed by Adam Roben.
165811
165812        Move a couple of member variables that aren't related to rubberbanding out from
165813        ScrollElasticityController and back into ScrollAnimatorMac and remove now unneeded
165814        ScrollElasticityControllerClient member functions as well.
165815
165816        * platform/mac/ScrollAnimatorMac.h:
165817        * platform/mac/ScrollAnimatorMac.mm:
165818        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
165819        (WebCore::ScrollAnimatorMac::handleWheelEvent):
165820        (WebCore::ScrollAnimatorMac::beginScrollGesture):
165821        * platform/mac/ScrollElasticityController.h:
165822        * platform/mac/ScrollElasticityController.mm:
165823        (WebCore::ScrollElasticityController::ScrollElasticityController):
165824        (WebCore::ScrollElasticityController::beginScrollGesture):
165825
1658262011-12-22  Balazs Kelemen  <kbalazs@webkit.org>
165827
165828        Fix debug build with assertions disabled
165829        https://bugs.webkit.org/show_bug.cgi?id=75075
165830
165831        Reviewed by Darin Adler.
165832
165833        Check whether assertions are disabled instead of NDEBUG
165834        where appropriate to avoid "defined but not used" warnings.
165835
165836        No change in behaviour so no new tests.
165837
165838        * loader/cache/MemoryCache.cpp:
165839        (WebCore::MemoryCache::insertInLRUList):
165840        (WebCore::MemoryCache::removeFromLiveDecodedResourcesList):
165841        (WebCore::MemoryCache::insertInLiveDecodedResourcesList):
165842        * rendering/RenderBlock.cpp:
165843        (WebCore::RenderBlock::layoutBlockChild):
165844        * rendering/RenderLayer.cpp:
165845        (WebCore::RenderLayer::updateLayerPositions):
165846
1658472011-12-22  Anders Carlsson  <andersca@apple.com>
165848
165849        Get rid of didStartAnimatedScroll and didCompleteAnimatedScroll
165850        https://bugs.webkit.org/show_bug.cgi?id=75107
165851
165852        Reviewed by Adam Roben.
165853
165854        This is another step towards removing the display throttling in WebKit2.
165855
165856        * page/ChromeClient.h:
165857        * page/FrameView.cpp:
165858        * page/FrameView.h:
165859        * platform/ScrollableArea.h:
165860        * platform/mac/ScrollAnimatorMac.mm:
165861        (WebCore::ScrollAnimatorMac::scroll):
165862        (WebCore::ScrollAnimatorMac::immediateScrollToPointForScrollAnimation):
165863
1658642011-12-22  Anders Carlsson  <andersca@apple.com>
165865
165866        Remove didStartRubberBand and didCompleteRubberBand callbacks
165867        https://bugs.webkit.org/show_bug.cgi?id=75102
165868
165869        Reviewed by Adam Roben.
165870
165871        The code to do display throttling in WebKit2 is complex and doesn't really help us except
165872        on an old benchmark that's no longer representative of real-world behavior; let's rip it out instead.
165873
165874        * page/ChromeClient.h:
165875        * page/FrameView.cpp:
165876        * page/FrameView.h:
165877        * platform/ScrollView.cpp:
165878        * platform/ScrollView.h:
165879        * platform/ScrollableArea.h:
165880        * platform/mac/ScrollAnimatorMac.mm:
165881        (WebCore::ScrollAnimatorMac::snapRubberBandTimerFired):
165882        * rendering/RenderLayer.cpp:
165883        * rendering/RenderLayer.h:
165884
1658852011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>
165886
165887        Web Inspector: [Regression] Network item view is not displayed.
165888        https://bugs.webkit.org/show_bug.cgi?id=75100
165889
165890        Not reviewed, one line css fix.
165891
165892        * inspector/front-end/networkPanel.css:
165893        (.network-item-view.visible):
165894
1658952011-12-22  Andreas Kling  <kling@webkit.org>
165896
165897        NamedNodeMap: Get rid of declCount().
165898        <http://webkit.org/b/74948>
165899
165900        Reviewed by Darin Adler.
165901
165902        We already have the number of mapped attribute declarations in the map
165903        stored in m_mappedAttributeCount (updated by declAdded()/declRemoved())
165904        so compare that in mappedMapsEquivalent() to skip one loop over the map.
165905
165906        * dom/NamedNodeMap.cpp:
165907        (WebCore::NamedNodeMap::mappedMapsEquivalent):
165908        * dom/NamedNodeMap.h:
165909
1659102011-12-22  Andreas Kling  <kling@webkit.org>
165911
165912        SnowLeopard crashes due to thread-unsafe EventListenerIterator ASSERTs
165913        <http://webkit.org/b/74260>
165914
165915        Reviewed by Darin Adler.
165916
165917        Guard EventListenerMap::m_activeIteratorCount with a mutex.
165918
165919        * dom/EventListenerMap.cpp:
165920        (WebCore::activeIteratorCountMutex):
165921        (WebCore::EventListenerMap::assertNoActiveIterators):
165922        (WebCore::EventListenerMap::clear):
165923        (WebCore::EventListenerMap::add):
165924        (WebCore::EventListenerMap::remove):
165925        (WebCore::EventListenerMap::find):
165926        (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
165927        (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
165928        (WebCore::EventListenerIterator::EventListenerIterator):
165929        (WebCore::EventListenerIterator::~EventListenerIterator):
165930        * dom/EventListenerMap.h:
165931        (WebCore::EventListenerMap::assertNoActiveIterators):
165932
1659332011-12-22  Vsevolod Vlasov  <vsevik@chromium.org>
165934
165935        Web Inspector: TabbedPane should support closeable tabs, hiding tabs into drop down menu.
165936        https://bugs.webkit.org/show_bug.cgi?id=75085
165937
165938        Reviewed by Pavel Feldman.
165939
165940        Test: inspector/tabbed-pane-tabs-to-show.html
165941
165942        * WebCore.gypi:
165943        * WebCore.vcproj/WebCore.vcproj:
165944        * inspector/front-end/ScriptsNavigator.js:
165945        (WebInspector.ScriptsNavigator):
165946        * inspector/front-end/TabbedPane.js:
165947        (WebInspector.TabbedPane):
165948        (WebInspector.TabbedPane.prototype.set shrinkableTabs):
165949        (WebInspector.TabbedPane.prototype.set closeableTabs):
165950        (WebInspector.TabbedPane.prototype.appendTab):
165951        (WebInspector.TabbedPane.prototype.closeTab):
165952        (WebInspector.TabbedPane.prototype.selectTab):
165953        (WebInspector.TabbedPane.prototype.onResize):
165954        (WebInspector.TabbedPane.prototype._updateTabElements):
165955        (WebInspector.TabbedPane.prototype._showTabElement):
165956        (WebInspector.TabbedPane.prototype._hideTabElement):
165957        (WebInspector.TabbedPane.prototype._createDropDownButton):
165958        (WebInspector.TabbedPane.prototype._updateTabsDropDown):
165959        (WebInspector.TabbedPane.prototype._populateDropDownFromIndex):
165960        (WebInspector.TabbedPane.prototype._tabsSelectChanged):
165961        (WebInspector.TabbedPane.prototype._measureDropDownButton):
165962        (WebInspector.TabbedPane.prototype._updateWidths):
165963        (WebInspector.TabbedPane.prototype._calculateMaxWidth.var):
165964        (WebInspector.TabbedPane.prototype._calculateMaxWidth):
165965        (WebInspector.TabbedPane.prototype._hideCurrentTab):
165966        (WebInspector.TabbedPaneTab):
165967        (WebInspector.TabbedPaneTab.prototype.get id):
165968        (WebInspector.TabbedPaneTab.prototype.get tabElement):
165969        (WebInspector.TabbedPaneTab.prototype.get measuredWidth):
165970        (WebInspector.TabbedPaneTab.prototype.get width):
165971        (WebInspector.TabbedPaneTab.prototype.set width):
165972        (WebInspector.TabbedPaneTab.prototype._createTabElement):
165973        (WebInspector.TabbedPaneTab.prototype._measure):
165974        (WebInspector.TabbedPaneTab.prototype._tabSelected):
165975        (WebInspector.TabbedPaneTab.prototype._tabClosed):
165976        * inspector/front-end/WebKit.qrc:
165977        * inspector/front-end/inspector.css:
165978        * inspector/front-end/scriptsPanel.css:
165979        (#scripts-navigator-tabbed-pane .tabbed-pane-header-contents):
165980        * inspector/front-end/tabbedPane.css: Added.
165981
1659822011-12-22  Chris Fleizach  <cfleizach@apple.com>
165983
165984        AX: attributed strings do not include AXHeading information when a link is contained within the heading
165985        https://bugs.webkit.org/show_bug.cgi?id=75059
165986
165987        Reviewed by Darin Adler.
165988
165989        An attributed string should contain the heading level of an ancestor node if it exists.
165990        This change allows the ancestor to be higher up in the hierarchy than just the direct parent.
165991
165992        Test: platform/mac/accessibility/heading-and-link-attributed-string.html
165993
165994        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
165995          (AXAttributeStringSetHeadingLevel):
165996
1659972011-12-22  Chris Fleizach  <cfleizach@apple.com>
165998
165999        AX: Title attribute should not be used in AXTitle
166000        https://bugs.webkit.org/show_bug.cgi?id=75027
166001
166002        Reviewed by Darin Adler.
166003
166004        Accessibility has been incorrectly exposing the title attribute through AXTitle. The title
166005        attribute better corresponds with a help tag for accessibility clients.
166006
166007        Test: platform/mac/accessibility/title-attribute-not-used-as-axtitle.html
166008
166009        * accessibility/AccessibilityRenderObject.cpp:
166010        (WebCore::AccessibilityRenderObject::title):
166011            Don't use the title attribute.
166012        (WebCore::AccessibilityRenderObject::exposesTitleUIElement):
166013            Change the semantics around when a checkbox or radio button combines it's title ui element. The change
166014            makes it so that we will expose the title ui element when the control already has a label. Otherwise
166015            the title ui element is hidden, and it's text is used as the AXTitle for the control.
166016        (WebCore::AccessibilityRenderObject::titleUIElement):
166017            Change this method so it always returns the title ui element, and then leave it up to exposesTitleUIElement
166018            to determine whether it should be shown.
166019        * accessibility/AccessibilityTableCell.h:
166020        (WebCore::AccessibilityTableCell::exposesTitleUIElement):
166021            There's no special logic for table cells that have title ui elements, and we don't want to use
166022            the logic in AccessibilityRenderObject, hence the override here.
166023        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
166024        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
166025
1660262011-12-22  Chris Fleizach  <cfleizach@apple.com>
166027
166028        AX: aria-describedby should not be part of AXDescription (should be a part of AXHelp)
166029        https://bugs.webkit.org/show_bug.cgi?id=75052
166030
166031        Reviewed by Darin Adler.
166032
166033        According to the ARIA spec, aria-describedby is a more detailed description that is akin to help, rather
166034        than a description describing the actual object.
166035
166036        As such, it makes more sense for this attribute to be exposed under help text.
166037
166038        * accessibility/AccessibilityRenderObject.cpp:
166039        (WebCore::AccessibilityRenderObject::helpText):
166040        (WebCore::AccessibilityRenderObject::ariaAccessibilityDescription):
166041
1660422011-12-22  Mariusz Grzegorczyk  <mariusz.g@samsung.com>
166043
166044        [EFL] Missing plugins support for efl port
166045        https://bugs.webkit.org/show_bug.cgi?id=44505
166046
166047        Reviewed by Anders Carlsson.
166048
166049        Basic functionality of plugins for efl port.
166050
166051        Template version, so no new tests are needed.
166052
166053        * PlatformEfl.cmake:
166054        * plugins/PluginView.h:
166055        * plugins/efl/PluginDataEfl.cpp: Added. Copied from plugins/gtk/PluginDataGtk.cpp.
166056        (WebCore::PluginData::initPlugins): Fill mime/description/extension maps for plugins.
166057        (WebCore::PluginData::refresh): Refresh plugin's database.
166058        * plugins/efl/PluginPackageEfl.cpp: Added. Copied from plugins/gtk/PluginPackageGtk.cpp.
166059        (WebCore::PluginPackage::fetchInfo): Get info from plugin's library about name and mime supported.
166060        (WebCore::PluginPackage::NPVersion):
166061        (WebCore::PluginPackage::load): Load plugin.
166062        * plugins/efl/PluginViewEfl.cpp: Added. Copied from plugins/gtk/PluginViewGtk.cpp.
166063        (WebCore::PluginView::dispatchNPEvent):
166064        (WebCore::PluginView::handleFocusInEvent):
166065        (WebCore::PluginView::handleFocusOutEvent):
166066        (WebCore::PluginView::handleKeyboardEvent):
166067        (WebCore::PluginView::handleMouseEvent):
166068        (WebCore::PluginView::updatePluginWidget):
166069        (WebCore::PluginView::setFocus):
166070        (WebCore::PluginView::show):
166071        (WebCore::PluginView::hide):
166072        (WebCore::PluginView::paint):
166073        (WebCore::PluginView::setParent):
166074        (WebCore::PluginView::setNPWindowRect):
166075        (WebCore::PluginView::setNPWindowIfNeeded):
166076        (WebCore::PluginView::setParentVisible):
166077        (WebCore::PluginView::handlePostReadFile):
166078        (WebCore::PluginView::platformGetValueStatic):
166079        (WebCore::PluginView::platformGetValue):
166080        (WebCore::PluginView::invalidateRect):
166081        (WebCore::PluginView::invalidateRegion):
166082        (WebCore::PluginView::forceRedraw):
166083        (WebCore::PluginView::platformStart):
166084        (WebCore::PluginView::platformDestroy):
166085
1660862011-12-22  Pavel Podivilov  <podivilov@chromium.org>
166087
166088        Web Inspector: add "install source map" to JS source frame context menu.
166089        https://bugs.webkit.org/show_bug.cgi?id=74181
166090
166091        Reviewed by Pavel Feldman.
166092
166093        Add "install source map" to source frame context menu when source map url is auto detected.
166094
166095        * English.lproj/localizedStrings.js:
166096        * inspector/front-end/CompilerSourceMapping.js:
166097        (WebInspector.ClosureCompilerSourceMapping.prototype.load):
166098        (WebInspector.ClosureCompilerSourceMapping.prototype._parseSections):
166099        * inspector/front-end/DebuggerPresentationModel.js:
166100        (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
166101        * inspector/front-end/JavaScriptSourceFrame.js:
166102        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
166103        (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
166104        * inspector/front-end/RawSourceCode.js:
166105        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
166106        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
166107        (WebInspector.RawSourceCode.prototype._createSourceMapping):
166108        (WebInspector.RawSourceCode.prototype._createUISourceCode):
166109        * inspector/front-end/UISourceCode.js:
166110        (WebInspector.UISourceCode):
166111
1661122011-12-22  Branimir Lambov  <blambov@google.com>
166113
166114        SVG: "filter" race condition may prevent SVG elements from being re-drawn
166115        https://bugs.webkit.org/show_bug.cgi?id=53088
166116
166117        Reviewed by Nikolas Zimmermann.
166118
166119        Added code to explicitly invalidate data cached by filters applied to
166120        an invalidated object or one of its parents.
166121
166122        Test: svg/filters/filter-refresh.svg
166123
166124        * rendering/svg/RenderSVGResource.cpp:
166125        (WebCore::RenderSVGResource::removeFromFilterCache):
166126        (WebCore::RenderSVGResource::markForLayoutAndParentResourceInvalidation):
166127        Added code to invalidate any filters applied to any of the parents.
166128        * rendering/svg/RenderSVGResource.h:
166129        * rendering/svg/RenderSVGResourceContainer.cpp:
166130        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
166131        Replaced a duplicate of RenderSVGResource::
166132        markForLayoutAndParentResourceInvalidation with a call to the method.
166133        * rendering/svg/SVGResourcesCache.cpp:
166134        (WebCore::SVGResourcesCache::clientLayoutChanged):
166135        Removed filter invalidation code as this function would not be called if
166136        the filter isn't already invalidated.
166137        (WebCore::SVGResourcesCache::clientStyleChanged):
166138        (WebCore::SVGResourcesCache::clientUpdatedFromElement):
166139        Replaced filter invalidation with a markForLayoutAndParentResourceInvalidation
166140        call as all filters in the ancestor chain need to be invalidated.
166141
1661422011-12-22  Leo Yang  <leo.yang@torchmobile.com.cn>
166143
166144        [BlackBerry] Upstream the BlackBerry change to ResourceHandle.h
166145        https://bugs.webkit.org/show_bug.cgi?id=75061
166146
166147        Reviewed by George Staikos.
166148
166149        No functionality change to the existing code, no new tests.
166150
166151        * platform/network/ResourceHandle.h:
166152
1661532011-12-22  Alexandru Chiculita  <achicu@adobe.com>
166154
166155        [CSS Shaders] Follow up bug to fix issues mentioned in comment 23 from bug 73317
166156        https://bugs.webkit.org/show_bug.cgi?id=74840
166157        
166158        Some comments were added on bug 73317 after the patch was reviewed and committed.
166159        This patch is fixing those issues, mostly about coding style and some missing comments.
166160        
166161        The initial patch had no explanation about the feature in the ChangeLog, so I'm including the description
166162        in this patch:
166163        
166164        CSS Shaders allow a designer to use a pair of WebGL vertex and fragment shaders to alter the final
166165        rendering of a specific element. The navigator will render the element inside a texture and map it
166166        to a mesh. The mesh is formed by equal sized quads, that depending on the mesh style, attached or detached,
166167        can be stitched or separated. The number of quads can be changed from CSS.
166168        
166169        Usually the vertex shader is changing the vertices of the mesh, while the fragment shader affects only the color
166170        that is rendered to screen (for example lighting effects).
166171        
166172        More info about CSS Shaders can be found in the specification
166173        https://dvcs.w3.org/hg/FXTF/raw-file/tip/custom/index.html
166174        
166175        Also a good tutorial is published here
166176        http://www.adobe.com/devnet/html5/articles/css-shaders.html
166177        
166178        Initially we are using the software filter effects pipeline. It uploads the image to the GPU, applies
166179        the shaders, reads it back to CPU and continues the rendering. The advantage of using the software pipeline is that
166180        it can be enabled on all the platforms that have WebGL support. The obvious disadvantage is performance: copies from CPU
166181        memory to GPU memory and the CPU will need to wait the GPU to finish before it could continue. In following 
166182        patches the shaders will be integrated in the hardware accelerated pipeline, so that no copies and, most 
166183        important, no waits will be required.
166184        
166185        Also, the new syntax counts total number of the lines and the columns, not just the
166186        additional lines and columns, so the minimum accepted and the default value is now 1 by 1.
166187
166188        Reviewed by Nikolas Zimmermann.
166189
166190        Some tests were updated for the default mesh size change.
166191
166192        * css/CSSParser.cpp:
166193            Only accept non-zero positive int values for mesh sizes.
166194            
166195        (WebCore::CSSParser::parseCustomFilter):
166196        * css/CSSStyleSelector.cpp:
166197            Updated the default mesh size to be 1 column with 1 line.
166198            
166199        (WebCore::CSSStyleSelector::createCustomFilterOperation):
166200        * loader/cache/CachedShader.cpp:
166201        (WebCore::CachedShader::shaderString):
166202            Corrected the CachedShader to use a StringBuilder. Also there was an incorrect 
166203            cast to bool, which resulted from a copy/paste from CachedScript which still has
166204            both same issues.
166205            
166206        (WebCore::CachedShader::data):
166207        * loader/cache/CachedShader.h:
166208        * platform/graphics/filters/CustomFilterMesh.cpp:
166209        (WebCore::MeshGenerator::MeshGenerator):
166210        (WebCore::MeshGenerator::verticesCount):
166211        (WebCore::MeshGenerator::generateAttachedMesh):
166212        (WebCore::MeshGenerator::generateDetachedMesh):
166213        (WebCore::CustomFilterMesh::CustomFilterMesh):
166214        * platform/graphics/filters/CustomFilterMesh.h:
166215        (WebCore::CustomFilterMesh::create):
166216        * platform/graphics/filters/CustomFilterShader.cpp:
166217        (WebCore::CustomFilterShader::CustomFilterShader):
166218            Exploded the body of the constructor into smaller helper functions.
166219            
166220        (WebCore::CustomFilterShader::compileShader):
166221        (WebCore::CustomFilterShader::linkProgram):
166222        (WebCore::CustomFilterShader::initializeParameterLocations):
166223        * platform/graphics/filters/CustomFilterShader.h:
166224        * platform/graphics/filters/FECustomFilter.cpp:
166225        (WebCore::orthogonalProjectionMatrix):
166226            Passing a TransformationMatrix by reference to be filled with the result matrix, instead
166227            of returning it by value. Also changed the name of the method.
166228            
166229        (WebCore::FECustomFilter::FECustomFilter):
166230        (WebCore::FECustomFilter::platformApplySoftware):
166231            Created some helper functions to make this method shorter.
166232            
166233        (WebCore::FECustomFilter::initializeContext):
166234        (WebCore::FECustomFilter::resizeContext):
166235        (WebCore::FECustomFilter::bindVertexAttribute):
166236        (WebCore::FECustomFilter::bindProgramAndBuffers):
166237        * platform/graphics/filters/FECustomFilter.h:
166238
1662392011-12-12  Pavel Podivilov  <podivilov@chromium.org>
166240
166241        Web Inspector: fix source map url resolving.
166242        https://bugs.webkit.org/show_bug.cgi?id=74305
166243
166244        Reviewed by Pavel Feldman.
166245
166246        Also fix the bug with repeated source urls in mapping sections.
166247
166248        * inspector/front-end/CompilerSourceMapping.js:
166249        (WebInspector.ClosureCompilerSourceMapping):
166250        (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
166251        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
166252        (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
166253        * inspector/front-end/DebuggerPresentationModel.js:
166254        (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
166255        * inspector/front-end/utilities.js:
166256        (String.prototype.asParsedURL):
166257
1662582011-12-09  Pavel Podivilov  <podivilov@chromium.org>
166259
166260        Web Inspector: auto detect source map url.
166261        https://bugs.webkit.org/show_bug.cgi?id=74088
166262
166263        Reviewed by Pavel Feldman.
166264
166265        Check to see if "X-SourceMap" HTTP response header was sent with script resource.
166266        Header value will be used as auto suggestion for source map url in UI.
166267
166268        * inspector/Inspector.json:
166269        * inspector/InspectorDebuggerAgent.cpp:
166270        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
166271        (WebCore::InspectorDebuggerAgent::didParseSource):
166272        * inspector/InspectorDebuggerAgent.h:
166273        * inspector/front-end/DebuggerModel.js:
166274        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
166275        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
166276        * inspector/front-end/RawSourceCode.js:
166277        (WebInspector.RawSourceCode):
166278        * inspector/front-end/Script.js:
166279        (WebInspector.Script):
166280
1662812011-12-22  Kentaro Hara  <haraken@chromium.org>
166282
166283        Change the build flow of AppleWebKit to use the [Supplemental] IDL
166284        https://bugs.webkit.org/show_bug.cgi?id=74900
166285
166286        Reviewed by Adam Barth.
166287
166288        This is the final step for bug 74599. This patch changes the build flow
166289        of DerivedSources.make as follows, and thus enable the [Supplemental] IDL.
166290
166291        - Previous build flow:
166292            foreach $idl (all IDL files) {
166293                generate-bindings.pl depends on $idl;
166294                generate-bindings.pl reads $idl;
166295                generate-bindings.pl generates .h and .cpp files for $idl;
166296            }
166297
166298        - New build flow (See the discussions in bug 72138 for more details):
166299            resolve-supplemental.pl depends on all IDL files;
166300            resolve-supplemental.pl reads all IDL files;
166301            resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
166302            resolve-supplemental.pl outputs supplemental_dependency.tmp;
166303            foreach $idl (all IDL files) {
166304                generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
166305                generate-bindings.pl reads $idl;
166306                generate-bindings.pl reads supplemental_dependency.tmp;
166307                generate-bindings.pl generates .h and .cpp files for $idl,
166308                    including all attributes in the IDL files that are implementing $idl;
166309            }
166310
166311        Tests: Confirm that build succeeds.
166312               http/tests/websocket/tests/*
166313
166314        * DerivedSources.make: Described the build flow as described above.
166315        Added a list of IDL files. Instead, removed a list of JS*.h and JS*.cpp
166316        which are generated by the IDL files.
166317
1663182011-12-22  Eric Uhrhane  <ericu@chromium.org>
166319
166320        [filesystem] Remove old filesystem naming restrictions
166321        https://bugs.webkit.org/show_bug.cgi?id=62813
166322
166323        Reviewed by David Levin.
166324
166325        * fileapi/DOMFilePath.cpp:
166326        (WebCore::DOMFilePath::isValidPath): Replace strict restrictions with
166327        minimal safety [no files named "." or "..", no use of '\\' or '\0' in
166328        paths, no use of '/' in file names].
166329
1663302011-12-22  Greg Billock  <gbillock@google.com>
166331
166332        [Coverity] Address use-after-free report in MemoryCache
166333        https://bugs.webkit.org/show_bug.cgi?id=74970
166334
166335        Reviewed by Eric Seidel.
166336
166337        * loader/cache/MemoryCache.cpp:
166338        (WebCore::MemoryCache::revalidationSucceeded):
166339
1663402011-12-22  Tom Sepez  <tsepez@chromium.org>
166341
166342        XSLT-created HTML documents do not inherit first party for cookies from originally loaded XML.
166343        https://bugs.webkit.org/show_bug.cgi?id=74757
166344
166345        Reviewed by Alexey Proskuryakov.
166346
166347        Tests: http/tests/security/cookies/first-party-cookie-allow-xslt.xml
166348               http/tests/security/cookies/third-party-cookie-blocking-xslt.xml
166349
166350        * xml/XSLTProcessor.cpp:
166351        (WebCore::XSLTProcessor::createDocumentFromSource):
166352
1663532011-12-22  Daniel Jalkut  <jalkut@red-sweater.com>
166354
166355        WebKit editing throws exception when monochrome color dragged onto text
166356        https://bugs.webkit.org/show_bug.cgi?id=74775
166357
166358        Reviewed by Ryosuke Niwa.
166359
166360        Handle non-RGB colorspace colors in the Mac platform drag manager. Fixes NSException thrown 
166361        when dragging monochrome colors to contentEditable regions.
166362
166363        Manual test added to trunk/ManualTests/drag-color-to-contenteditable.html
166364
166365        * platform/mac/DragDataMac.mm:
166366        (WebCore::DragData::asColor):
166367
1663682011-12-22  Peter Rybin  <peter.rybin@gmail.com>
166369
166370        Web Inspector: CodeGeneratorInspector.py: generate anonymous types.
166371        https://bugs.webkit.org/show_bug.cgi?id=74890
166372
166373        Reviewed by Yury Semikhatsky.
166374
166375        Anonymous types are generated. Forward declarations are generated.
166376
166377        In general it now generates C++ types for anonymous object types from
166378        JSON. It takes a name from the type declaration site, usually a
166379        parameter name. This all is explained in comments in generated file. Also
166380        all generated types now refer to other generated types in setter
166381        methods -- but this is commented out in generated code for now. All
166382        necessary forward declarations are also added. Anonymous enums are
166383        generated, but they are in comments too, because we didn't have
166384        solution about form the enums should have in C++ API.
166385
166386        Internally:
166387        The change reorganizes type bindings — a polymorphous "code generator"
166388        object is factored out from binding.
166389        A helper class Writer is added to allow generating code with ajustable
166390        indentations and to support insertion points where additional code can
166391        be inserted retroactively.
166392        ForwardListener class is used for preparing necessary forward
166393        declarations.
166394        AdHocTypeContext conception is a speculative abstract class that is
166395        needed wherever anonymous type can emerge.
166396
166397        * inspector/CodeGeneratorInspector.py:
166398        (fix_type_name.Result.output_comment):
166399        (Writer.__init__):
166400        (Writer.newline):
166401        (Writer.append):
166402        (Writer.newline_multiline):
166403        (Writer.append_multiline):
166404        (Writer.get_indented):
166405        (Writer):
166406        (Writer.insert_writer):
166407        (TypeBindings.create_named_type_declaration.Helper.write_doc):
166408        (TypeBindings.create_named_type_declaration.Helper):
166409        (TypeBindings.create_named_type_declaration.Helper.add_to_forward_listener):
166410        (TypeBindings.create_named_type_declaration):
166411        (TypeBindings.create_ad_hoc_type_declaration.Helper.write_doc):
166412        (TypeBindings.create_ad_hoc_type_declaration.Helper):
166413        (TypeBindings.create_ad_hoc_type_declaration.Helper.add_to_forward_listener):
166414        (TypeBindings.create_ad_hoc_type_declaration):
166415        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.generate_type_builder):
166416        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator):
166417        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator.CodeGenerator.register_use):
166418        (TypeBindings.create_type_declaration_.EnumBinding.get_code_generator):
166419        (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder.String):
166420        (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.generate_type_builder):
166421        (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator):
166422        (TypeBindings.create_type_declaration_.PlainString.get_code_generator.CodeGenerator.register_use):
166423        (TypeBindings.create_type_declaration_.PlainString.get_code_generator):
166424        (TypeBindings.create_type_declaration_.PlainString.get_in_c_type_text.name):
166425        (TypeBindings.create_type_declaration_.PlainString):
166426        (TypeBindings.create_type_declaration_):
166427        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator):
166428        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator):
166429        (TypeBindings.create_type_declaration_.ClassBinding.get_code_generator.CodeGenerator.generate_type_builder):
166430        (AdHocTypeContextImpl.__init__):
166431        (AdHocTypeContextImpl.get_type_name_fix.NameFix):
166432        (AdHocTypeContextImpl.get_type_name_fix.NameFix.output_comment):
166433        (AdHocTypeContextImpl.get_type_name_fix):
166434        (AdHocTypeContextImpl):
166435        (AdHocTypeContextImpl.call_generate_type_builder):
166436        (generate_forward_declaration):
166437        (register_use):
166438        (get_in_c_type_text):
166439        (reduce_to_raw_type):
166440        (PlainObjectBinding.get_code_generator):
166441        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix):
166442        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
166443        (CodeGenerator.generate_type_builder.AdHocTypeContext.get_type_name_fix):
166444        (CodeGenerator.generate_type_builder.AdHocTypeContext):
166445        (CodeGenerator.generate_type_builder.AdHocTypeContext.call_generate_type_builder):
166446        (CodeGenerator.generate_type_builder):
166447        (CodeGenerator):
166448        (CodeGenerator.register_use):
166449        (RawTypesBinding.get_code_generator):
166450        (RawTypesBinding.get_in_c_type_text):
166451        (RawTypesBinding):
166452        (RawTypesBinding.reduce_to_raw_type):
166453        (TypeData.__init__):
166454        (TypeData.get_json_type):
166455        (resolve_param_type):
166456        (Generator.go):
166457        (Generator.process_event.NoOpForwardListener):
166458        (Generator.process_event.NoOpForwardListener.add_type_data):
166459        (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix):
166460        (Generator.process_event.AdHocTypeContext.get_type_name_fix.NameFix.output_comment):
166461        (Generator.process_event.AdHocTypeContext.get_type_name_fix):
166462        (Generator.process_event.AdHocTypeContext):
166463        (Generator.process_event.AdHocTypeContext.call_generate_type_builder):
166464        (Generator.process_event):
166465        (Generator.process_types.ForwardListener):
166466        (Generator.process_types.ForwardListener.add_type_data):
166467        (Generator.process_types.generate_all_domains_code.namespace_lazy_generator):
166468        (Generator.process_types.generate_all_domains_code):
166469        (Generator.process_types.call_type_builder):
166470        (Generator.process_types.generate_forward_callback):
166471        (Generator):
166472        (Generator.process_types):
166473        (flatten_list.fill_recursive):
166474        (flatten_list):
166475
1664762011-12-22  Hans Muller  <hmuller@adobe.com>
166477
166478        Onloadend event is not supported in XMLHttpRequest
166479        https://bugs.webkit.org/show_bug.cgi?id=40952
166480
166481        Reviewed by Julien Chaffraix.
166482
166483        Added support for the loadend ProgressEvent to XMLHttpRequest and XMLHttpRequestUpload.
166484        A new method, dispatchEventAndLoadEnd(), was added to XMLHttpRequestProgressEventThrottle
166485        and XMLHttpRequestUpload to foolproof the common case of dispatching a load, abort,
166486        or error event followed by a loadend event.
166487
166488        Tests: http/tests/xmlhttprequest/onloadend-event-after-abort.html
166489               http/tests/xmlhttprequest/onloadend-event-after-error.html
166490               http/tests/xmlhttprequest/onloadend-event-after-load.html
166491               http/tests/xmlhttprequest/onloadend-event-after-sync-requests.html
166492               http/tests/xmlhttprequest/upload-onloadend-event-after-abort.html
166493               http/tests/xmlhttprequest/upload-onloadend-event-after-load.html
166494               http/tests/xmlhttprequest/upload-onloadend-event-after-sync-requests.html
166495
166496        * xml/XMLHttpRequest.cpp:
166497        (WebCore::XMLHttpRequest::callReadyStateChangeListener):
166498        (WebCore::XMLHttpRequest::abort):
166499        (WebCore::XMLHttpRequest::networkError):
166500        (WebCore::XMLHttpRequest::abortError):
166501        (WebCore::XMLHttpRequest::didSendData):
166502        * xml/XMLHttpRequest.h:
166503        * xml/XMLHttpRequest.idl:
166504        * xml/XMLHttpRequestProgressEventThrottle.cpp:
166505        (WebCore::XMLHttpRequestProgressEventThrottle::dispatchEventAndLoadEnd):
166506        * xml/XMLHttpRequestProgressEventThrottle.h:
166507        * xml/XMLHttpRequestUpload.cpp:
166508        (WebCore::XMLHttpRequestUpload::dispatchEventAndLoadEnd):
166509        * xml/XMLHttpRequestUpload.h:
166510        * xml/XMLHttpRequestUpload.idl:
166511
1665122011-12-22  Mark Pilgrim  <pilgrim@chromium.org>
166513
166514        [FileSystem API] Entry.getMetadata successCallback is required
166515        https://bugs.webkit.org/show_bug.cgi?id=69638
166516
166517        Reviewed by Eric Seidel.
166518
166519        Test: fast/filesystem/simple-required-arguments-getmetadata.html
166520
166521        * fileapi/Entry.idl: remove [Optional] flag from successCallback parameter
166522
1665232011-12-22  Ilya Tikhonovsky  <loislo@chromium.org>
166524
166525        Unreviewed, rolling out r103405.
166526        http://trac.webkit.org/changeset/103405
166527        https://bugs.webkit.org/show_bug.cgi?id=74088
166528
166529        it broke WorkerDevToolsSanityTest.InspectSharedWorker
166530
166531        * inspector/Inspector.json:
166532        * inspector/InspectorDebuggerAgent.cpp:
166533        (WebCore::InspectorDebuggerAgent::didParseSource):
166534        * inspector/InspectorDebuggerAgent.h:
166535        * inspector/front-end/DebuggerModel.js:
166536        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
166537        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
166538        * inspector/front-end/RawSourceCode.js:
166539        (WebInspector.RawSourceCode):
166540        * inspector/front-end/Script.js:
166541        (WebInspector.Script):
166542        (WebInspector.Script.prototype.searchInContent):
166543
1665442011-12-21  Darin Adler  <darin@apple.com>
166545
166546        Make ~CSSParserSelector use Vector<OwnPtr>
166547        https://bugs.webkit.org/show_bug.cgi?id=73782
166548
166549        Reviewed by Alexey Proskuryakov.
166550
166551        * css/CSSParserValues.cpp:
166552        (WebCore::CSSParserSelector::~CSSParserSelector): Use Vector<OwnPtr>
166553        so we don't have to call leakPtr or deleteAllValues.
166554
1665552011-12-21  Yosifumi Inoue  <yosin@chromium.org>
166556
166557        [Forms] Selection change by type-ahead doesn't fire 'change' event
166558        https://bugs.webkit.org/show_bug.cgi?id=74590
166559
166560        Reviewed by Kent Tamura.
166561
166562        This patch changes when onchange event fired in select element for:
166563        1 Fire onchange event for type ahead selection.
166564        2 Don't fire onchange event for Enter key. We've already fired onchange event for cursor key
166565          and type ahead selection. So, onchange for Enter key is redundant. This behavior is 
166566          compatible to IE(9.0.8112.16421) and Opera(9.80) on Windows. FF(8.01) doesn't fire onchange
166567          by cursor key selection change and type ahead. FF requires Enter key press to fire onchange
166568          event.
166569
166570        Test: fast/forms/select/menulist-type-ahead-find.html
166571
166572        * html/HTMLSelectElement.cpp:
166573        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Don't fire onchange event for Entry key.
166574        (WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
166575        calling selectOption method.
166576
1665772011-12-21  Darin Adler  <darin@apple.com>
166578
166579        Tweak and comment some transform-related code
166580        https://bugs.webkit.org/show_bug.cgi?id=68670
166581
166582        Reviewed by Daniel Bates.
166583
166584        * platform/mac/ScrollbarThemeMac.mm:
166585        (WebCore::ScrollbarThemeMac::paint): Added a FIXME about additional overhead paid here
166586        when the scale factor is 2x.
166587        * rendering/RenderBoxModelObject.cpp:
166588        (WebCore::RenderBoxModelObject::paintBoxShadow): Added a FIXME about this check possibly
166589        being wrong, and also changed the local vairable name so the check need not stretch over
166590        multiple lines.
166591
1665922011-12-21  Kent Tamura  <tkent@chromium.org>
166593
166594        Change the item type of Document::m_formElementsWithState from Element*
166595        to HTMLFormControlElementWithState*.
166596        https://bugs.webkit.org/show_bug.cgi?id=74998
166597
166598        Reviewed by Andreas Kling.
166599
166600        No new tests. Just refactoring.
166601
166602        * dom/Document.cpp:
166603        (WebCore::Document::formElementsState): Use HTMLFormControlElementWithState*.
166604        * dom/Document.h:
166605        (WebCore::Document::registerFormElementWithState): Change the argument type.
166606        (WebCore::Document::unregisterFormElementWithState): ditto.
166607        (WebCore::Document::formElements): Renamed from getFormElements().
166608        * dom/Element.h:
166609        Removed shouldSaveAndRestoreFormControlState(), saveFormControlState(),
166610        and restoreFormControlState() because they are not called for Element
166611        anymore.
166612        * html/HTMLFormControlElement.h:
166613        - Make formControlName() and formControlType() public.
166614         They are called from Document class.
166615        - Make shouldSaveAndRestoreFormControlState() public, and non-virtual.
166616         This is called from Document class, and no other classes override this.
166617        (WebCore::HTMLFormControlElementWithState::saveFormControlState):
166618        Moved from Element.
166619        (WebCore::HTMLFormControlElementWithState::restoreFormControlState): ditto.
166620        * html/HTMLInputElement.cpp:
166621        (WebCore::HTMLInputElement::updateCheckedRadioButtons):
166622        Use HTMLFormControlElementWithState* instead of Element*.
166623
1666242011-12-21  Alexandre Elias  <aelias@google.com>
166625
166626        [chromium] Always use border texels on platforms using pageScaleDelta
166627        https://bugs.webkit.org/show_bug.cgi?id=74226
166628
166629        Reviewed by James Robinson.
166630
166631        On platforms where the root layer can be zoomed in at draw time
166632        (pageScaleDelta), we want to turn on border texels in order for
166633        scaling to use GL_LINEAR instead of GL_NEAREST.
166634
166635        No new tests. (Flag flip.)
166636
166637        * platform/graphics/chromium/TiledLayerChromium.cpp:
166638        (WebCore::TiledLayerChromium::prepareToUpdate):
166639
1666402011-12-21  Dale Curtis  <dalecurtis@chromium.org>
166641
166642        [chromium] Scale audio, video tags in MediaDocument to fit in window.
166643        https://bugs.webkit.org/show_bug.cgi?id=73948
166644
166645        Add CSS max-height: 100%, max-width: 100% settings to the audio and
166646        video tags when in MediaDocuments.
166647
166648        Reviewed by Eric Seidel.
166649
166650        Test: media/video-scales-in-media-document.html
166651
166652        * css/mediaControlsChromium.css:
166653        (audio:-webkit-full-page-media, video:-webkit-full-page-media):
166654
1666552011-12-21  Konrad Piascik  <kpiascik@rim.com>
166656
166657        Implement the JavaScriptCore bindings for eventListenerHandlerLocation
166658        https://bugs.webkit.org/show_bug.cgi?id=74313
166659
166660        Reviewed by Eric Seidel.
166661
166662        Implemented the JavaScriptCore binding to allow Web Inspector to
166663        show the function name and line number for an event listener in
166664        the Elements panel.
166665
166666        Tested by opening up a page which has a registered event listener in Safari
166667        and checking if the Elements panel script name and line number are present
166668        and clickable.
166669
166670        * ForwardingHeaders/runtime/Executable.h: Added.
166671        * ForwardingHeaders/wtf/SegmentedVector.h: Added.
166672        * bindings/js/ScriptEventListener.cpp:
166673        (WebCore::eventListenerHandlerLocation):
166674
1666752011-12-21  Chris Guan  <chris.guan@torchmobile.com.cn>
166676
166677        Upstream the Multipart feature in Blackberry port
166678        https://bugs.webkit.org/show_bug.cgi?id=73533
166679
166680        Reviewed by Rob Buis.
166681
166682        I refactored Multipart code of Blackberry port. Moved Multipart into
166683        Blackerry network layer and removed the dependence of std::string.
166684
166685        Initial upstream, no new test cases.
166686
166687        * platform/network/blackberry/DeferredData.cpp:
166688        (WebCore::DeferredData::deferMultipartHeaderReceived):
166689        (WebCore::DeferredData::processHeaders):
166690        (WebCore::DeferredData::processDeferredData):
166691        * platform/network/blackberry/DeferredData.h:
166692        (WebCore::DeferredData::hasDeferredData):
166693        * platform/network/blackberry/NetworkJob.cpp:
166694        (WebCore::NetworkJob::notifyMultipartHeaderReceived):
166695        (WebCore::NetworkJob::handleNotifyMultipartHeaderReceived):
166696        (WebCore::NetworkJob::handleNotifyDataReceived):
166697        (WebCore::NetworkJob::handleNotifyClose):
166698        (WebCore::NetworkJob::startNewJobWithRequest):
166699        (WebCore::NetworkJob::sendResponseIfNeeded):
166700        (WebCore::NetworkJob::sendMultipartResponseIfNeeded):
166701        * platform/network/blackberry/NetworkJob.h:
166702
1667032011-12-21  Eric Carlson  <eric.carlson@apple.com>
166704
166705        Fix text track cue font size and colors
166706        https://bugs.webkit.org/show_bug.cgi?id=75051
166707
166708        Reviewed by Darin Adler.
166709
166710        No new tests, updated media/track/track-cue-rendering.html for the changes.
166711
166712        * css/mediaControls.css:
166713        (video::-webkit-media-text-track-container): Match WebVTT spec.
166714        (video::-webkit-media-text-track-display): Ditto.
166715
166716        * html/shadow/MediaControlElements.cpp:
166717        (WebCore::MediaControlTextTrackContainerElement::updateSizes): Change font size from  4% of the
166718            video height to 5% as per the spec. Don't enforce a minimum size.
166719
1667202011-12-21  Andreas Kling  <kling@webkit.org>
166721
166722        Unreviewed, rolling out r103473.
166723        http://trac.webkit.org/changeset/103473
166724        https://bugs.webkit.org/show_bug.cgi?id=74991
166725
166726        Overestimated my superpowers a bit here.
166727
166728        * dom/Element.cpp:
166729        (WebCore::Element::attributeChanged):
166730        (WebCore::Element::insertedIntoDocument):
166731        (WebCore::Element::removedFromDocument):
166732        * dom/Element.h:
166733        (WebCore::Element::updateId):
166734        (WebCore::Element::willModifyAttribute):
166735        * dom/NamedNodeMap.cpp:
166736        (WebCore::NamedNodeMap::setAttributes):
166737        * dom/Node.h:
166738        * html/HTMLAppletElement.cpp:
166739        (WebCore::HTMLAppletElement::parseMappedAttribute):
166740        (WebCore::HTMLAppletElement::insertedIntoDocument):
166741        (WebCore::HTMLAppletElement::removedFromDocument):
166742        * html/HTMLAppletElement.h:
166743        * html/HTMLEmbedElement.cpp:
166744        (WebCore::HTMLEmbedElement::parseMappedAttribute):
166745        (WebCore::HTMLEmbedElement::insertedIntoDocument):
166746        (WebCore::HTMLEmbedElement::removedFromDocument):
166747        * html/HTMLEmbedElement.h:
166748        * html/HTMLFormElement.cpp:
166749        (WebCore::HTMLFormElement::insertedIntoDocument):
166750        (WebCore::HTMLFormElement::removedFromDocument):
166751        (WebCore::HTMLFormElement::parseMappedAttribute):
166752        * html/HTMLFormElement.h:
166753        * html/HTMLImageElement.cpp:
166754        (WebCore::HTMLImageElement::parseMappedAttribute):
166755        (WebCore::HTMLImageElement::insertedIntoDocument):
166756        (WebCore::HTMLImageElement::removedFromDocument):
166757        * html/HTMLImageElement.h:
166758        * html/HTMLObjectElement.cpp:
166759        (WebCore::HTMLObjectElement::parseMappedAttribute):
166760        (WebCore::HTMLObjectElement::insertedIntoDocument):
166761        (WebCore::HTMLObjectElement::removedFromDocument):
166762        (WebCore::HTMLObjectElement::updateDocNamedItem):
166763        (WebCore::HTMLObjectElement::formControlName):
166764        * html/HTMLObjectElement.h:
166765        * html/HTMLPlugInElement.h:
166766
1667672011-12-21  Simon Fraser  <simon.fraser@apple.com>
166768
166769        Clean up RenderLayer code that applies filters and transforms
166770        https://bugs.webkit.org/show_bug.cgi?id=75032
166771        
166772        This also fixes:
166773            Nested filters not working as expected
166774            https://bugs.webkit.org/show_bug.cgi?id=75029
166775            
166776            Filter region is computed incorrectly
166777            https://bugs.webkit.org/show_bug.cgi?id=74889
166778
166779        Reviewed by James Robinson.
166780
166781        RenderLayer::paintLayer() had this confusing behavior where,
166782        for transforms, it would change the CTM and then re-enter
166783        the method with a bit set. This was partially, but incorrectly
166784        copied for filters, so things like nested filters didn't work,
166785        and the case of a filter + transform was confused.
166786        
166787        Clean up by making RenderLayer::paintLayer() be a fairly simple
166788        method that handles the re-entering with bit set, for both
166789        transforms and filters. The bulk of the code in RenderLayer::paintLayer()
166790        is now in RenderLayer::paintLayerContents(). There is no
166791        behavior change for transforms.
166792        
166793        There are two fixes for filters. First, instead of just using
166794        the layer size to compute the bounds of the filtered region,
166795        use transparencyClipBox() which already takes descendents, box
166796        decorations etc into account (it's what we use for opacity).
166797        Some cleanup of the coordinate math, and separation from transforms
166798        code was also achieved.
166799        
166800        Second, make sure we toggle off the PaintLayerAppliedFilters bit
166801        (which was renamed for clarity) for sublayers, so that sublayers
166802        paint their filters correctly.
166803
166804        Tests: css3/filters/filter-region.html
166805               css3/filters/nested-filters.html
166806
166807        * rendering/RenderLayer.cpp:
166808        (WebCore::RenderLayer::paintLayer):
166809        (WebCore::RenderLayer::paintLayerContents):
166810        (WebCore::RenderLayer::updateFilterBackingStore):
166811        * rendering/RenderLayer.h:
166812
1668132011-12-21  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
166814
166815        Discard event data not followed by an empty line before eof when parsing an event-stream
166816        https://bugs.webkit.org/show_bug.cgi?id=68833
166817
166818        Reviewed by Alexey Proskuryakov.
166819
166820        Test: http/tests/eventsource/eventsource-eof.html
166821
166822        * page/EventSource.cpp:
166823        (WebCore::EventSource::didFinishLoading):
166824        (WebCore::EventSource::parseEventStreamLine):
166825        * page/EventSource.h:
166826
1668272011-12-21  Andreas Kling  <kling@webkit.org>
166828
166829        Automate elements' registration as document namedItem/extraNamedItem.
166830        <http://webkit.org/b/74991>
166831
166832        Reviewed by Antti Koivisto.
166833
166834        Remove caching of the "id" and "name" attributes on applet, embed, form,
166835        image and object elements. We were caching them to keep the document's
166836        map of named and "extra named" (named by id) item counts in sync.
166837
166838        Instead, add a hook to Element::willModifyAttribute() that detects when
166839        the attributes are being changed and handle the registration/unregistration
166840        automatically if the element returns true for shouldRegisterAsNamedItem()
166841        or shouldRegisterAsExtraNamedItem() respectively.
166842
166843        This shrinks the elements by two AtomicStrings (8 or 16 bytes) each.
166844
166845        IFrame elements retain the old mechanism for now, as there are some subtle
166846        differences to how that's handled.
166847
166848        * dom/Node.h:
166849        (WebCore::Node::hasName):
166850        (WebCore::Node::setHasName):
166851
166852            Cache whether we have a "name" attribute or not (1 bit on Node.)
166853            This is done in order to minimize the overhead added to Element's
166854            insertedIntoDocument() and removeFromDocument().
166855
166856        * dom/Element.cpp:
166857        (WebCore::Element::updateNamedItemRegistration):
166858        (WebCore::Element::updateExtraNamedItemRegistration):
166859
166860            Added. Called when the "name" and "id" attributes are changed.
166861            Updates the document's named item maps accordingly.
166862
166863        (WebCore::Element::insertedIntoDocument):
166864        (WebCore::Element::removedFromDocument):
166865
166866            Make sure updateName() is called in addition to updateId() when applicable.
166867
166868        (WebCore::Element::attributeChanged):
166869
166870            Update the Node's has-name flag as appropriate.
166871
166872        * dom/Element.h:
166873        (WebCore::Element::shouldRegisterAsNamedItem):
166874        (WebCore::Element::shouldRegisterAsExtraNamedItem):
166875
166876            Added. If an element returns true for these, it will be automatically
166877            registered with the document when the name/id attribute changes.
166878
166879        (WebCore::Element::updateId):
166880        (WebCore::Element::updateName):
166881
166882            Register/unregister from the document's named item maps as appropriate.
166883
166884        (WebCore::Element::willModifyAttribute):
166885
166886            Add updateName() hook in addition to the existing updateId() hook.
166887
166888        * dom/NamedNodeMap.cpp:
166889        (WebCore::NamedNodeMap::setAttributes):
166890
166891            Make sure updateName() is called when we're cloning the attributes
166892            from another element.
166893
166894        * html/HTMLAppletElement.cpp:
166895        (WebCore::HTMLAppletElement::parseMappedAttribute):
166896        * html/HTMLAppletElement.h:
166897        * html/HTMLEmbedElement.cpp:
166898        (WebCore::HTMLEmbedElement::parseMappedAttribute):
166899        (WebCore::HTMLEmbedElement::insertedIntoDocument):
166900        * html/HTMLEmbedElement.h:
166901        * html/HTMLFormElement.cpp:
166902        (WebCore::HTMLFormElement::insertedIntoDocument):
166903        (WebCore::HTMLFormElement::removedFromDocument):
166904        (WebCore::HTMLFormElement::parseMappedAttribute):
166905        * html/HTMLFormElement.h:
166906        * html/HTMLImageElement.cpp:
166907        (WebCore::HTMLImageElement::parseMappedAttribute):
166908        (WebCore::HTMLImageElement::insertedIntoDocument):
166909        * html/HTMLImageElement.h:
166910        * html/HTMLObjectElement.cpp:
166911        (WebCore::HTMLObjectElement::parseMappedAttribute):
166912        (WebCore::HTMLObjectElement::insertedIntoDocument):
166913        (WebCore::HTMLObjectElement::removedFromDocument):
166914        * html/HTMLObjectElement.h:
166915        * html/HTMLPlugInElement.h:
166916
166917            Remove duplicated code that is now handled by Element.
166918
166919        * html/HTMLObjectElement.cpp:
166920        (WebCore::HTMLObjectElement::updateDocNamedItem):
166921        (WebCore::HTMLObjectElement::formControlName):
166922
166923            Use fastGetAttribute() since we no longer cache the name.
166924
1669252011-12-21  Wyatt Carss  <wcarss@chromium.org>
166926
166927        Reviewed by Ryosuke Niwa.
166928
166929        strong and b should be font-weight: bold, not bolder
166930        https://bugs.webkit.org/show_bug.cgi?id=56400
166931
166932        Test: fast/html/font-weight-bold-for-b-and-strong.html
166933
166934        * css/html.css:
166935        (strong, b):
166936
1669372011-12-21  Florin Malita  <fmalita@google.com>
166938
166939        Improper handling of foreignobjects nested in svg groups
166940        https://bugs.webkit.org/show_bug.cgi?id=69762
166941
166942        Reviewed by Nikolas Zimmermann.
166943
166944        Tests: svg/foreignObject/repaint-rect-coordinates-expected.html
166945               svg/foreignObject/repaint-rect-coordinates.html
166946
166947        * rendering/svg/RenderSVGForeignObject.h:
166948        (WebCore::RenderSVGForeignObject::objectBoundingBox):
166949        (WebCore::RenderSVGForeignObject::strokeBoundingBox):
166950        (WebCore::RenderSVGForeignObject::repaintRectInLocalCoordinates):
166951        Return local coordinates.
166952
1669532011-12-21  Anders Carlsson  <andersca@apple.com>
166954
166955        Make it possible to use contents layers in scrollbars
166956        https://bugs.webkit.org/show_bug.cgi?id=75044
166957
166958        Reviewed by Simon Fraser.
166959
166960        * page/ScrollingCoordinator.h:
166961        * page/mac/ScrollingCoordinatorMac.mm:
166962        (WebCore::ScrollingCoordinator::frameViewHorizontalScrollbarLayerDidChange):
166963        (WebCore::ScrollingCoordinator::frameViewVerticalScrollbarLayerDidChange):
166964        Don't pass const GraphicsLayers to these member functions; we need to be able to mutate them.
166965
166966        * platform/ScrollView.cpp:
166967        (positionScrollbarLayer):
166968        If the scrollbar layer has a contents layer, just update its contents rect. Otherwise,
166969        invalidate the scrollbar layer.
166970
1669712011-12-21  Anders Carlsson  <andersca@apple.com>
166972
166973        Always reposition the scrollbar layers when the frame view size changes
166974        https://bugs.webkit.org/show_bug.cgi?id=75035
166975
166976        Reviewed by Darin Adler.
166977
166978        * rendering/RenderLayerCompositor.cpp:
166979        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
166980        Remove the layersChanged check and unconditionally call positionScrollbarLayers(). This only
166981        worked by accident before because we were recreating horizontal and vertical scrollbars on every call.
166982
1669832011-12-21  Michał Pakuła vel Rutka  <m.pakula@samsung.com>
166984
166985        [EFL] Add 'Select All' option to context menus in WebKit-EFL.
166986        https://bugs.webkit.org/show_bug.cgi?id=74920
166987
166988        Reviewed by Eric Seidel.
166989
166990        Enable 'Select All' option to context menus called on input fields in WebKit-EFL
166991        as it is enabled in GTK and QT ports.
166992
166993        * page/ContextMenuController.cpp:
166994        (WebCore::ContextMenuController::contextMenuItemSelected): Add 'Select All' option.
166995        (WebCore::ContextMenuController::populate): Append 'Select All' item.
166996        (WebCore::ContextMenuController::checkOrEnableIfNeeded): Enable 'Select All' option.
166997        * platform/ContextMenuItem.h: Add 'Select All' option.
166998        * platform/LocalizationStrategy.h: Add constructor for 'Select All' option.
166999        * platform/LocalizedStrings.h: Add constructor for 'Select All' option.
167000
1670012011-12-20  Adam Klein  <adamk@chromium.org>
167002
167003        Make calls to willModifyAttribute and attributeChanged symmetrical
167004        https://bugs.webkit.org/show_bug.cgi?id=74987
167005
167006        Reviewed by Ryosuke Niwa.
167007
167008        Previously, calls to Element::willModifyAttribute sometimes happened
167009        in one method while calls to Element::attributeChanged happened in
167010        another. This change makes them symmetrical for all the cases I know
167011        about: setAttribute, removeAttribute, setNamedItem, removeNamedItem.
167012
167013        To accomplish this, NamedNodeMap::addAttribute, removeAttribute, and
167014        replaceAttribute have been reduced to their pure functionality of
167015        manipulating m_attributes, and their callers are left responsible for
167016        properly notifying the Element of the underlying changes.
167017
167018        One other bit of refactoring was done: to simplify
167019        Element::setAttribute, it now dispatches to
167020        Element::removeAttributeInternal if the incoming value is null.
167021
167022        No new tests, no change in behavior.
167023
167024        * dom/Attribute.h:
167025        * dom/Element.cpp:
167026        (WebCore::Element::removeAttribute):
167027        (WebCore::Element::removeAttributeInternal): Added, sharing code
167028        between the two removeAttribute overloads.
167029        (WebCore::Element::setAttributeInternal):
167030        * dom/Element.h:
167031        * dom/NamedNodeMap.cpp:
167032        (WebCore::NamedNodeMap::setNamedItem):
167033        (WebCore::NamedNodeMap::removeNamedItem):
167034        (WebCore::NamedNodeMap::addAttribute):
167035        (WebCore::NamedNodeMap::removeAttribute):
167036        (WebCore::NamedNodeMap::replaceAttribute):
167037        * svg/properties/SVGAnimatedPropertySynchronizer.h:
167038        Call Element::setAttribute unless the attribute is already present,
167039        and add a comment explaining why the code looks the way it does.
167040
1670412011-12-21  Adrienne Walker  <enne@google.com>
167042
167043        Unreviewed, rolling out r103408.
167044        http://trac.webkit.org/changeset/103408
167045        https://bugs.webkit.org/show_bug.cgi?id=75017
167046
167047        WorkerDevToolsSanityTest.InspectSharedWorker is failing
167048        (Requested by loislo_ on #webkit).
167049
167050        * inspector/front-end/CompilerSourceMapping.js:
167051        (WebInspector.ClosureCompilerSourceMapping):
167052        (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
167053        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
167054        * inspector/front-end/DebuggerPresentationModel.js:
167055        (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
167056        * inspector/front-end/utilities.js:
167057        (String.prototype.asParsedURL):
167058
1670592011-12-21  Stephen White  <senorblanco@chromium.org>
167060
167061        Fix CSS filters crash on zero-sized elements.
167062        https://bugs.webkit.org/show_bug.cgi?id=75020
167063
167064        Reviewed by Dean Jackson.
167065
167066        Test: css3/filters/filter-empty-element-crash.html
167067
167068        * rendering/FilterEffectRenderer.cpp:
167069        (WebCore::FilterEffectRenderer::inputContext):
167070        Protect against null ImageBuffer.
167071        * rendering/RenderLayer.cpp:
167072        (WebCore::RenderLayer::paintLayer):
167073        Protect against null GraphicsContext.
167074
1670752011-12-21  Anders Carlsson  <andersca@apple.com>
167076
167077        Inform the scrolling coordinator when scrollbar layers come and go
167078        https://bugs.webkit.org/show_bug.cgi?id=75028
167079
167080        Reviewed by Andreas Kling and Simon Fraser.
167081
167082        * page/ScrollingCoordinator.h:
167083        * page/mac/ScrollingCoordinatorMac.mm:
167084        (WebCore::ScrollingCoordinator::setFrameViewHorizontalScrollbarLayer):
167085        (WebCore::ScrollingCoordinator::setFrameViewVerticalScrollbarLayer):
167086        * rendering/RenderLayerCompositor.cpp:
167087        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
167088
1670892011-12-20  Dmitry Lomov  <dslomov@google.com>
167090
167091        [Chromium] DatabaseTrackerChromium: iterating DatabaseSet races with Database disposal on worker thread 
167092        https://bugs.webkit.org/show_bug.cgi?id=74554
167093
167094        Reviewed by David Levin.
167095
167096        Covered by existing tests in fast/workers/storage.
167097
167098        * storage/chromium/DatabaseTrackerChromium.cpp:
167099        (WebCore::NotifyDatabaseObserverOnCloseTask::create):
167100        (WebCore::NotifyDatabaseObserverOnCloseTask::performTask):
167101        (WebCore::NotifyDatabaseObserverOnCloseTask::isCleanupTask):
167102        (WebCore::NotifyDatabaseObserverOnCloseTask::NotifyDatabaseObserverOnCloseTask):
167103        (WebCore::DatabaseTracker::removeOpenDatabase):
167104
1671052011-12-21  Eric Carlson  <eric.carlson@apple.com>
167106
167107        HTMLMediaElement::configureTextTrackDisplay is unnecessary
167108        https://bugs.webkit.org/show_bug.cgi?id=74945
167109
167110        Reviewed by Darin Adler.
167111
167112        Nothing to test, just removing redundant code. Correct behavior tested by 
167113        media/track/track-cue-rendering.html and media/track/track-cue-nothing-to-render.html.
167114
167115        * html/HTMLMediaElement.cpp:
167116        (WebCore::HTMLMediaElement::configureTextTrackDisplay): Don't show and hide track, just call
167117            updateTextTrackDisplay and it will do the right thing.
167118
1671192011-12-21  Anders Carlsson  <andersca@apple.com>
167120
167121        ScrollingCoordinator functions should take FrameView objects
167122        https://bugs.webkit.org/show_bug.cgi?id=75023
167123
167124        Reviewed by Sam Weinig.
167125
167126        * page/ScrollingCoordinator.cpp:
167127        (WebCore::ScrollingCoordinator::syncFrameViewGeometry):
167128        * page/ScrollingCoordinator.h:
167129        * page/mac/ScrollingCoordinatorMac.mm:
167130        (WebCore::ScrollingCoordinator::setFrameViewScrollLayer):
167131        * rendering/RenderLayerCompositor.cpp:
167132        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
167133        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
167134        (WebCore::RenderLayerCompositor::ensureRootLayer):
167135
1671362011-12-21  Anders Carlsson  <andersca@apple.com>
167137
167138        Get rid of ScrollableAreaClient
167139        https://bugs.webkit.org/show_bug.cgi?id=75021
167140
167141        Reviewed by Sam Weinig.
167142
167143        The ScrollableAreaClient interface will just add an extra level of indirection between ScrollableArea and
167144        ScrollAnimator, which is unnecessary. Eventually I'd like to rename ScrollAnimator to something that better reflects
167145        all the different responsibilities it currently has.
167146
167147        * WebCore.exp.in:
167148        * page/FrameView.cpp:
167149        (WebCore::FrameView::FrameView):
167150        * page/ScrollingCoordinator.cpp:
167151        * page/ScrollingCoordinator.h:
167152        * platform/ScrollView.cpp:
167153        (WebCore::ScrollView::ScrollView):
167154        * platform/ScrollView.h:
167155        * platform/ScrollableArea.cpp:
167156        (WebCore::ScrollableArea::ScrollableArea):
167157        * platform/ScrollableArea.h:
167158        * platform/ScrollableAreaClient.h: Removed.
167159
1671602011-12-21  Anders Carlsson  <andersca@apple.com>
167161
167162        Don't recreate scrollbar layers whenever the frame view size changes
167163        https://bugs.webkit.org/show_bug.cgi?id=75018
167164
167165        Reviewed by Darin Adler and Simon Fraser.
167166
167167        * rendering/RenderLayerCompositor.cpp:
167168        (WebCore::RenderLayerCompositor::updateOverflowControlsLayers):
167169
1671702011-12-20  Andrey Kosyakov  <caseq@chromium.org>
167171
167172        Web Inspector: [Extension API] refactor extension API build code, expose experimental APIs conditionally in chromium
167173        https://bugs.webkit.org/show_bug.cgi?id=74941
167174
167175        Reviewed by Pavel Feldman.
167176
167177        * WebCore.gypi:
167178        * inspector/front-end/ExtensionAPI.js:
167179        (buildPlatformExtensionAPI.platformExtensionAPI):
167180        (buildPlatformExtensionAPI):
167181        (buildExtensionAPIInjectedScript):
167182        * inspector/front-end/ExtensionServer.js:
167183        (WebInspector.ExtensionServer.prototype._addExtensions):
167184        (WebInspector.ExtensionServer.prototype._addExtension):
167185        (window.addExtension):
167186
1671872011-12-12  Pavel Podivilov  <podivilov@chromium.org>
167188
167189        Web Inspector: fix source map url resolving.
167190        https://bugs.webkit.org/show_bug.cgi?id=74305
167191
167192        Reviewed by Pavel Feldman.
167193
167194        Also fix the bug with repeated source urls in mapping sections.
167195
167196        * inspector/front-end/CompilerSourceMapping.js:
167197        (WebInspector.ClosureCompilerSourceMapping):
167198        (WebInspector.ClosureCompilerSourceMapping.prototype.sources):
167199        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
167200        (WebInspector.ClosureCompilerSourceMapping.prototype._resolveSourceMapURL):
167201        * inspector/front-end/DebuggerPresentationModel.js:
167202        (WebInspector.DebuggerPresentationModel.prototype.installCompilerSourceMapping):
167203        * inspector/front-end/utilities.js:
167204        (String.prototype.asParsedURL):
167205
1672062011-12-21  Renata Hodovan  <reni@webkit.org>
167207
167208        New renderer for SVGRectElement
167209        https://bugs.webkit.org/show_bug.cgi?id=65769
167210
167211        Rubber-stamped by Zoltan Herczeg.
167212
167213        Change the return value of RenderSVGRect::renderName() from RenderSVGPath to RenderSVGRect.
167214        This is a follow-up patch of r101517 to correct the DRT output.
167215
167216        * rendering/svg/RenderSVGRect.h:
167217        (WebCore::RenderSVGRect::renderName):
167218
1672192011-12-21  Vsevolod Vlasov  <vsevik@chromium.org>
167220
167221        Web Inspector: TabbedPane should use tabElement width measuring to layout tab elements when width is too small to fit them.
167222        https://bugs.webkit.org/show_bug.cgi?id=75005
167223
167224        Reviewed by Pavel Feldman.
167225
167226        Test: inspector/tabbed-pane-max-tab-width-calculation.html
167227
167228        * inspector/front-end/NetworkItemView.js:
167229        (WebInspector.NetworkItemView.prototype.wasShown):
167230        * inspector/front-end/TabbedPane.js:
167231        (WebInspector.TabbedPane):
167232        (WebInspector.TabbedPane.prototype.appendTab):
167233        (WebInspector.TabbedPane.prototype._createTabElement):
167234        (WebInspector.TabbedPane.prototype.onResize):
167235        (WebInspector.TabbedPane.prototype._maybeMeasureAndUpdate):
167236        (WebInspector.TabbedPane.prototype._measureTab):
167237        (WebInspector.TabbedPane.prototype._updateWidths):
167238        (WebInspector.TabbedPane.prototype._calculateMaxWidth):
167239        (WebInspector.TabbedPaneTab):
167240        * inspector/front-end/inspector.css:
167241        (.tabbed-pane-header):
167242        (.tabbed-pane-header-tabs):
167243        (.tabbed-pane-header-tab):
167244        (.tabbed-pane-header-tab.measuring):
167245        (.tabbed-pane-header-tab.selected):
167246        * inspector/front-end/scriptsPanel.css:
167247        (#scripts-navigator-tabbed-pane .tabbed-pane-header-tabs):
167248
1672492011-12-09  Pavel Podivilov  <podivilov@chromium.org>
167250
167251        Web Inspector: auto detect source map url.
167252        https://bugs.webkit.org/show_bug.cgi?id=74088
167253
167254        Reviewed by Pavel Feldman.
167255
167256        Check to see if "X-SourceMap" HTTP response header was sent with script resource.
167257        Header value will be used as auto suggestion for source map url in UI.
167258
167259        * inspector/Inspector.json:
167260        * inspector/InspectorDebuggerAgent.cpp:
167261        (WebCore::InspectorDebuggerAgent::sourceMapURLForScript):
167262        (WebCore::InspectorDebuggerAgent::didParseSource):
167263        * inspector/InspectorDebuggerAgent.h:
167264        * inspector/front-end/DebuggerModel.js:
167265        (WebInspector.DebuggerModel.prototype._parsedScriptSource):
167266        (WebInspector.DebuggerDispatcher.prototype.scriptParsed):
167267        * inspector/front-end/RawSourceCode.js:
167268        (WebInspector.RawSourceCode):
167269        * inspector/front-end/Script.js:
167270        (WebInspector.Script):
167271
1672722011-12-21  Pierre Rossi  <pierre.rossi@gmail.com>
167273
167274        [Qt] Mobile theme refinements
167275        https://bugs.webkit.org/show_bug.cgi?id=74727
167276
167277        Mostly to replace most of the rounded-rect-shaped
167278        controls with squircle-shaped ones.
167279
167280        Reviewed by Kenneth Rohde Christiansen.
167281
167282        No new tests needed.
167283
167284        * platform/qt/RenderThemeQtMobile.cpp:
167285        (WebCore::drawControlBackground):
167286        (WebCore::painterScale):
167287        (WebCore::borderPen):
167288        (WebCore::StylePainterMobile::drawCheckableBackground): Toned down the gradient a bit.
167289        (WebCore::StylePainterMobile::findCheckBox):
167290        (WebCore::StylePainterMobile::drawRadio):
167291        (WebCore::StylePainterMobile::findRadio):
167292        (WebCore::StylePainterMobile::drawMultipleComboButton): increase spacing between the dots.
167293        (WebCore::StylePainterMobile::drawSimpleComboButton): attempt to improve readability.
167294        (WebCore::StylePainterMobile::getButtonImageSize):
167295        (WebCore::StylePainterMobile::findComboButton):
167296        (WebCore::StylePainterMobile::drawLineEdit):
167297        (WebCore::StylePainterMobile::findLineEdit):
167298        (WebCore::StylePainterMobile::drawPushButton):
167299        (WebCore::StylePainterMobile::findPushButton):
167300        (WebCore::StylePainterMobile::drawComboBox):
167301        (WebCore::StylePainterMobile::drawProgress):
167302        (WebCore::StylePainterMobile::drawSliderThumb):
167303        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
167304        (WebCore::RenderThemeQtMobile::paintTextField):
167305        * platform/qt/RenderThemeQtMobile.h:
167306
1673072011-12-21  Alexander Pavlov  <apavlov@chromium.org>
167308
167309        Web Inspector: CSSStyleSheet::cssRules can return 0 and InspectorStyleSheet dosen't check
167310        https://bugs.webkit.org/show_bug.cgi?id=74938
167311
167312        Prevent security checks when retrieving a just-added CSS rule from the "inspector stylesheet".
167313
167314        Reviewed by Pavel Feldman.
167315
167316        * inspector/InspectorStyleSheet.cpp:
167317        (WebCore::InspectorStyleSheet::addRule):
167318
1673192011-12-21  Renata Hodovan  <reni@webkit.org>
167320
167321        Fulfill FIXME in  HTMLLinkElement.h.
167322        https://bugs.webkit.org/show_bug.cgi?id=74278
167323
167324        Rename isStyleSheetLoading() method to styleSheetIsLoading().
167325        This new one has the correct grammar.
167326
167327        Reviewed by Darin Adler.
167328
167329        No new tests because the functionality remains the same.
167330
167331        * dom/Document.cpp:
167332        (WebCore::Document::recalcStyleSelector):
167333        * html/HTMLLinkElement.cpp:
167334        (WebCore::HTMLLinkElement::setDisabledState):
167335        (WebCore::HTMLLinkElement::styleSheetIsLoading):
167336        (WebCore::HTMLLinkElement::sheetLoaded):
167337        * html/HTMLLinkElement.h:
167338
1673392011-12-21  Yosifumi Inoue  <yosin@chromium.org>
167340
167341        [Forms] Add OVERRIDE to WebCore/html/*InputType.h
167342        https://bugs.webkit.org/show_bug.cgi?id=74996
167343
167344        Reviewed by Kent Tamura.
167345
167346        No new tests. Changes are just for compilation.
167347
167348        * html/BaseButtonInputType.h: Add OVERRIDE.
167349        * html/BaseCheckableInputType.h: Add OVERRIDE.
167350        * html/BaseDateAndTimeInputType.h: Add OVERRIDE.
167351        * html/BaseTextInputType.h: Add OVERRIDE.
167352        * html/ButtonInputType.h: Add OVERRIDE.
167353        * html/CheckboxInputType.h: Add OVERRIDE.
167354        * html/ColorInputType.h: Add OVERRIDE.
167355        * html/DateInputType.h: Add OVERRIDE.
167356        * html/DateTimeInputType.h: Add OVERRIDE.
167357        * html/DateTimeLocalInputType.h: Add OVERRIDE.
167358        * html/EmailInputType.h: Add OVERRIDE.
167359        * html/FileInputType.h: Add OVERRIDE.
167360        * html/HiddenInputType.h: Add OVERRIDE.
167361        * html/ImageInputType.h: Add OVERRIDE.
167362        * html/IsIndexInputType.h: Add OVERRIDE.
167363        * html/MonthInputType.h: Add OVERRIDE.
167364        * html/NumberInputType.h: Add OVERRIDE.
167365        * html/PasswordInputType.h: Add OVERRIDE.
167366        * html/RadioInputType.h: Add OVERRIDE.
167367        * html/RangeInputType.h: Add OVERRIDE.
167368        * html/ResetInputType.h: Add OVERRIDE.
167369        * html/SearchInputType.h: Add OVERRIDE.
167370        * html/SubmitInputType.h: Add OVERRIDE.
167371        * html/TelephoneInputType.h: Add OVERRIDE.
167372        * html/TextFieldInputType.h: Add OVERRIDE.
167373        * html/TextInputType.h: Add OVERRIDE.
167374        * html/TimeInputType.h: Add OVERRIDE.
167375        * html/URLInputType.h: Add OVERRIDE.
167376        * html/WeekInputType.h: Add OVERRIDE.
167377
1673782011-12-21  Matt Falkenhagen  <falken@chromium.org>
167379
167380        Add all ICU languages to LocaleToScriptMappingDefault.cpp
167381        https://bugs.webkit.org/show_bug.cgi?id=67274
167382
167383        Reviewed by Kent Tamura.
167384
167385        This better mimics the behavior of LocaleToScriptMappingICU.cpp. ICU
167386        languages from ICU 3.6 are added. Also, script suffix in locale is
167387        handled, so for example "fa_Latn" is mapped to Latin while "fa" is mapped to
167388        Arabic.
167389
167390        No new tests, there is no visible effect until default per-script fonts
167391        are added to non-ICU ports (alternatively, we could extend DumpRenderTree 
167392        to support overridePreference for per-script fonts as in bug 71110).
167393
167394        * platform/text/LocaleToScriptMappingDefault.cpp:
167395        (WebCore::getScriptCode): add script name to script code mapping
167396        (WebCore::localeToScriptCodeForFontSelection): add ICU languages to map 
167397
1673982011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>
167399
167400        Upstream PageClientBlackBerry.h into WebCore/platform/blackberry
167401        https://bugs.webkit.org/show_bug.cgi?id=74169
167402
167403        Reviewed by Daniel Bates.
167404
167405        Initial upstream, no new tests.
167406
167407        * platform/blackberry/PageClientBlackBerry.h: Added.
167408
1674092011-12-20  Mary Wu  <mary.wu@torchmobile.com.cn>
167410
167411        Upstream PlatformMouseEvent and LocalizedStrings into WebCore/platform/blackberry
167412        https://bugs.webkit.org/show_bug.cgi?id=74383
167413
167414        Reviewed by Daniel Bates.
167415
167416        Other Main Contributors:
167417        Rob Buis <rbuis@rim.com>
167418        Mike Fenton <mifenton@rim.com> 
167419
167420        Initial upstream, no new tests.
167421
167422        * PlatformBlackBerry.cmake: Modified to rename Localizations.cpp to LocalizedStringsBlackBerry.cpp
167423        * platform/blackberry/LocalizedStringsBlackBerry.cpp: Added.
167424        * platform/blackberry/PlatformMouseEventBlackBerry.cpp: Added.
167425
1674262011-12-20  Peter Rybin  <peter.rybin@gmail.com>
167427
167428        Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
167429        https://bugs.webkit.org/show_bug.cgi?id=69366
167430
167431        Reviewed by Pavel Feldman.
167432
167433        Generator fixed and all usages are changed manually.
167434
167435        * inspector/CodeGeneratorInspector.py:
167436        (RawTypes.BaseType):
167437        (RawTypes.BaseType.get_output_argument_prefix):
167438        (RawTypes.Object.get_output_argument_prefix):
167439        (RawTypes.Array.get_output_argument_prefix):
167440        (RawTypes):
167441        (Generator.process_command):
167442        * inspector/InspectorApplicationCacheAgent.cpp:
167443        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
167444        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
167445        * inspector/InspectorApplicationCacheAgent.h:
167446        * inspector/InspectorCSSAgent.cpp:
167447        (WebCore::InspectorCSSAgent::clearFrontend):
167448        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
167449        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
167450        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
167451        (WebCore::InspectorCSSAgent::getAllStyleSheets):
167452        (WebCore::InspectorCSSAgent::getStyleSheet):
167453        (WebCore::InspectorCSSAgent::setPropertyText):
167454        (WebCore::InspectorCSSAgent::toggleProperty):
167455        (WebCore::InspectorCSSAgent::setRuleSelector):
167456        (WebCore::InspectorCSSAgent::addRule):
167457        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
167458        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
167459        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
167460        * inspector/InspectorCSSAgent.h:
167461        * inspector/InspectorDOMAgent.cpp:
167462        (WebCore::InspectorDOMAgent::getDocument):
167463        (WebCore::InspectorDOMAgent::querySelectorAll):
167464        (WebCore::InspectorDOMAgent::getEventListenersForNode):
167465        (WebCore::InspectorDOMAgent::getSearchResults):
167466        (WebCore::InspectorDOMAgent::resolveNode):
167467        (WebCore::InspectorDOMAgent::getAttributes):
167468        * inspector/InspectorDOMAgent.h:
167469        * inspector/InspectorDOMStorageAgent.cpp:
167470        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
167471        * inspector/InspectorDOMStorageAgent.h:
167472        * inspector/InspectorDatabaseAgent.cpp:
167473        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
167474        * inspector/InspectorDatabaseAgent.h:
167475        * inspector/InspectorDebuggerAgent.cpp:
167476        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
167477        (WebCore::InspectorDebuggerAgent::setBreakpoint):
167478        (WebCore::InspectorDebuggerAgent::searchInContent):
167479        (WebCore::InspectorDebuggerAgent::setScriptSource):
167480        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
167481        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
167482        * inspector/InspectorDebuggerAgent.h:
167483        * inspector/InspectorMemoryAgent.cpp:
167484        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
167485        * inspector/InspectorMemoryAgent.h:
167486        * inspector/InspectorPageAgent.cpp:
167487        (WebCore::InspectorPageAgent::getCookies):
167488        (WebCore::InspectorPageAgent::getResourceTree):
167489        (WebCore::InspectorPageAgent::searchInResource):
167490        (WebCore::InspectorPageAgent::searchInResources):
167491        * inspector/InspectorPageAgent.h:
167492        * inspector/InspectorProfilerAgent.cpp:
167493        (WebCore::InspectorProfilerAgent::getProfileHeaders):
167494        (WebCore::InspectorProfilerAgent::getProfile):
167495        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
167496        * inspector/InspectorProfilerAgent.h:
167497        * inspector/InspectorRuntimeAgent.cpp:
167498        (WebCore::InspectorRuntimeAgent::evaluate):
167499        (WebCore::InspectorRuntimeAgent::callFunctionOn):
167500        (WebCore::InspectorRuntimeAgent::getProperties):
167501        * inspector/InspectorRuntimeAgent.h:
167502
1675032011-12-20  Eric Penner  <epenner@google.com>
167504
167505        [chromium] m_triggerIdlePaints not reset after a compositeAndReadback
167506        https://bugs.webkit.org/show_bug.cgi?id=74974
167507
167508        Reviewed by James Robinson.
167509
167510        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
167511        (WebCore::CCLayerTreeHost::compositeAndReadback):
167512
1675132011-12-20  David Levin  <levin@chromium.org>
167514
167515        Move misplaced assert in SQLiteStatement.cpp
167516        https://bugs.webkit.org/show_bug.cgi?id=74975
167517
167518        Reviewed by Dmitry Titov.
167519
167520        The test is coming with bug 74666.
167521
167522        * platform/sql/SQLiteStatement.cpp:
167523        (WebCore::SQLiteStatement::step): If a database was interrupted
167524        before the prepare method was called, then m_isPrepared will be
167525        false, so I moved the assert to be after the check for interrupted.
167526
1675272011-12-20  Eric Carlson  <eric.carlson@apple.com>
167528
167529        WebVTT cues sometimes render when they should not
167530        https://bugs.webkit.org/show_bug.cgi?id=74873
167531
167532        Not reviewed: update Chromium to pass new test added in r103371.
167533
167534        * html/shadow/MediaControlRootElementChromium.cpp:
167535        (WebCore::MediaControlRootElementChromium::updateTextTrackDisplay):
167536
1675372011-12-20  Andreas Kling  <kling@webkit.org>
167538
167539        HTMLOptionsCollection: Remove incorrect FIXME about having a base class.
167540        <http://webkit.org/b/74973>
167541
167542        Reviewed by Alexey Proskuryakov.
167543
167544        HTMLOptionsCollection should indeed inherit from HTMLCollection according to
167545        current HTML5, so remove the comment saying we should change that.
167546
167547        Spec: http://www.whatwg.org/specs/web-apps/current-work/#htmloptionscollection
167548
167549        * html/HTMLOptionsCollection.idl:
167550
1675512011-12-20  Florin Malita  <fmalita@google.com>
167552
167553        td element ignores zero width/height input element
167554        https://bugs.webkit.org/show_bug.cgi?id=74636
167555
167556        Reviewed by Kent Tamura.
167557
167558        Test: fast/forms/input-zero-width.html
167559
167560        * rendering/RenderTextControl.cpp:
167561        (WebCore::RenderTextControl::computePreferredLogicalWidths):
167562        Relax the attribute test to allow setting widths == 0.
167563
1675642011-12-20  Adam Klein  <adamk@chromium.org>
167565
167566        Avoid unnecessary work when removing attributes from an element
167567        https://bugs.webkit.org/show_bug.cgi?id=74953
167568
167569        Reviewed by Ryosuke Niwa.
167570
167571        Various codepaths in Element and NamedNodeMap repeatedly search
167572        through the list of attributes during a single operation. To avoid
167573        this, I've added new getters to NamedNodeMap that return indices
167574        rather than Attribute*s (they return WTF::notFound if no match is
167575        found). These new methods are now used during removeAttribute
167576        operations, as well as setAttribute and NamedNodeMap::setNamedItem
167577        (along with a new replaceAttribute helper method).
167578
167579        The other optimization here involves the creation/destruction
167580        of never-references Attr nodes. This is now avoided by calling
167581        NamedNodeMap::removeAttribute directly instead of going through
167582        NamedNodeMap::removeNamedItem.
167583
167584        As a cleanup after the above changes, the ExceptionCode argument is
167585        gone from Element::removeAttribute and friends (it was never set
167586        previously). The bulk of the files mentioned below are simply updating
167587        callers to these methods.
167588
167589        No new tests, no change in behavior expected.
167590
167591        * dom/DatasetDOMStringMap.cpp:
167592        (WebCore::DatasetDOMStringMap::deleteItem):
167593        * dom/Element.cpp:
167594        (WebCore::Element::removeAttribute):
167595        (WebCore::Element::setBooleanAttribute):
167596        (WebCore::Element::removeAttributeNS):
167597        (WebCore::Element::setAttribute):
167598        (WebCore::Element::setAttributeInternal):
167599        * dom/Element.h:
167600        * dom/Element.idl:
167601        * dom/NamedNodeMap.cpp:
167602        (WebCore::NamedNodeMap::setNamedItem):
167603        (WebCore::NamedNodeMap::removeNamedItem):
167604        (WebCore::NamedNodeMap::getAttributeItemIndexSlowCase):
167605        (WebCore::NamedNodeMap::replaceAttribute):
167606        (WebCore::NamedNodeMap::removeAttribute):
167607        * dom/NamedNodeMap.h:
167608        (WebCore::NamedNodeMap::getAttributeItem):
167609        (WebCore::NamedNodeMap::getAttributeItemIndex):
167610        (WebCore::NamedNodeMap::removeAttribute):
167611        * editing/ApplyStyleCommand.cpp:
167612        (WebCore::ApplyStyleCommand::pushDownInlineStyleAroundNode):
167613        * editing/InsertParagraphSeparatorCommand.cpp:
167614        (WebCore::InsertParagraphSeparatorCommand::cloneHierarchyUnderNewBlock):
167615        * editing/SplitElementCommand.cpp:
167616        (WebCore::SplitElementCommand::executeApply):
167617        * html/HTMLElement.cpp:
167618        (WebCore::HTMLElement::setContentEditable):
167619        * html/HTMLInputElement.cpp:
167620        (WebCore::HTMLInputElement::setType):
167621        * inspector/InspectorDOMAgent.cpp:
167622        (WebCore::InspectorDOMAgent::setAttributesAsText):
167623        (WebCore::InspectorDOMAgent::removeAttribute):
167624        * svg/SVGUseElement.cpp:
167625        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement):
167626
1676272011-12-20  Eric Carlson  <eric.carlson@apple.com>
167628
167629        WebVTT cues sometimes render when they should not
167630        https://bugs.webkit.org/show_bug.cgi?id=74873
167631
167632        Reviewed by Darin Adler.
167633
167634        Test: media/track/track-cue-nothing-to-render.html
167635
167636        * html/shadow/MediaControlRootElement.cpp:
167637        (WebCore::MediaControlRootElement::updateTextTrackDisplay): Don't return early if the current
167638            cue is empty so the previous cue is removed.
167639
1676402011-12-20  Ami Fischman  <fischman@chromium.org>
167641
167642        Don't crash on the second time VideoLayerChromium::createCCVideoLayer() is called
167643        https://bugs.webkit.org/show_bug.cgi?id=74963
167644
167645        Reviewed by James Robinson.
167646
167647        Manually tested by force-dropping the layer tree in CCLayerTreeHost::didBecomeInvisibleOnImplThread().
167648        Crashed before the fix, doesn't crash after.
167649
167650        * platform/graphics/chromium/VideoLayerChromium.cpp:
167651        (WebCore::VideoLayerChromium::VideoLayerChromium):
167652        (WebCore::VideoLayerChromium::~VideoLayerChromium):
167653        (WebCore::VideoLayerChromium::createCCLayerImpl):
167654        * platform/graphics/chromium/VideoLayerChromium.h:
167655
1676562011-12-20  Scott Graham  <scottmg@chromium.org>
167657
167658        wouldTaintOrigin m_cleanURLs cache grows very large when data urls used
167659        https://bugs.webkit.org/show_bug.cgi?id=74957
167660
167661        Reviewed by Kenneth Russell.
167662
167663        No new tests, but memory usage of CanvasRenderingContext::m_cleanURLs
167664        is reduced.
167665
167666        * html/canvas/CanvasRenderingContext.cpp:
167667        (WebCore::CanvasRenderingContext::wouldTaintOrigin):
167668
1676692011-12-20  Greg Billock  <gbillock@google.com>
167670
167671        Change adoptPtr(new ...) to ...::create in Page.cpp
167672        https://bugs.webkit.org/show_bug.cgi?id=74457
167673
167674        Reviewed by Darin Adler.
167675
167676        * dom/DeviceMotionController.cpp:
167677        (WebCore::DeviceMotionController::create):
167678        * dom/DeviceMotionController.h:
167679        * dom/DeviceOrientationController.cpp:
167680        (WebCore::DeviceOrientationController::create):
167681        * dom/DeviceOrientationController.h:
167682        * editing/FrameSelection.cpp:
167683        (WebCore::DragCaretController::create):
167684        * editing/FrameSelection.h:
167685        * history/BackForwardController.cpp:
167686        (WebCore::BackForwardController::create):
167687        * history/BackForwardController.h:
167688        * inspector/InspectorController.cpp:
167689        (WebCore::InspectorController::create):
167690        * inspector/InspectorController.h:
167691        * loader/ProgressTracker.cpp:
167692        (WebCore::ProgressTracker::create):
167693        * loader/ProgressTracker.h:
167694        * notifications/NotificationController.cpp:
167695        (WebCore::NotificationController::create):
167696        * notifications/NotificationController.h:
167697        * page/Chrome.cpp:
167698        (WebCore::Chrome::create):
167699        * page/Chrome.h:
167700        * page/ContextMenuController.cpp:
167701        (WebCore::ContextMenuController::create):
167702        * page/ContextMenuController.h:
167703        * page/DragController.cpp:
167704        (WebCore::DragController::create):
167705        * page/DragController.h:
167706        * page/FocusController.cpp:
167707        (WebCore::FocusController::create):
167708        * page/FocusController.h:
167709        * page/GeolocationController.cpp:
167710        (WebCore::GeolocationController::create):
167711        * page/GeolocationController.h:
167712        * page/Page.cpp:
167713        (WebCore::Page::Page):
167714        (WebCore::Page::initGroup):
167715        (WebCore::Page::speechInput):
167716        * page/PageGroup.cpp:
167717        (WebCore::PageGroup::create):
167718        * page/PageGroup.h:
167719        * page/Settings.cpp:
167720        (WebCore::Settings::create):
167721        * page/Settings.h:
167722        * page/SpeechInput.cpp:
167723        (WebCore::SpeechInput::create):
167724        * page/SpeechInput.h:
167725
1677262011-12-20  Ryosuke Niwa  <rniwa@webkit.org>
167727
167728        Mac build fix after r103354.
167729
167730        * platform/mac/ScrollAnimatorMac.mm:
167731        (systemUptime):
167732
1677332011-12-20  Anders Carlsson  <andersca@apple.com>
167734
167735        Add ScrollableArea::contentsResized and have it call the scroll animator
167736        https://bugs.webkit.org/show_bug.cgi?id=74966
167737
167738        Reviewed by Sam Weinig.
167739
167740        * WebCore.exp.in:
167741        * page/FrameView.cpp:
167742        (WebCore::FrameView::setContentsSize):
167743        (WebCore::FrameView::contentsResized):
167744        * page/FrameView.h:
167745        * platform/ScrollView.h:
167746        * platform/ScrollableArea.cpp:
167747        (WebCore::ScrollableArea::contentsResized):
167748        * platform/ScrollableArea.h:
167749
1677502011-12-20  Simon Fraser  <simon.fraser@apple.com>
167751
167752        requestAnimationFrame on Mac fires at 60fps even when drawing is much slower
167753        https://bugs.webkit.org/show_bug.cgi?id=74964
167754
167755        Reviewed by Chris Marrin.
167756        
167757        On Mac requestAnimationFrame uses a CVDisplayLink, sending notifications
167758        from the display link thread to the main thread that the display link fired.
167759        However, there was no throttling on these notifications; if processing an event
167760        took a long time, notifications would pile up, and then get handled after
167761        the slow event completed.
167762        
167763        This would cause JS animations which animate by changing style to report
167764        60fps when their display framerate was much lower.
167765        
167766        Fix by throttling notifications from the display link thread to the web
167767        thread; if the previous event hasn't completed yet, don't send any new ones.
167768
167769        No new tests, since testing this runtime behavior is hard.
167770
167771        * platform/graphics/DisplayRefreshMonitor.cpp:
167772        (WebCore::DisplayRefreshMonitor::DisplayRefreshMonitor):
167773        (WebCore::DisplayRefreshMonitor::refreshDisplayOnMainThread):
167774        (WebCore::DisplayRefreshMonitor::notifyClients): Factored out of the
167775        static refreshDisplayOnMainThread method so we can use 'this'.
167776        * platform/graphics/DisplayRefreshMonitor.h:
167777        * platform/graphics/mac/DisplayRefreshMonitorMac.cpp:
167778        (WebCore::DisplayRefreshMonitor::displayLinkFired):
167779
1677802011-12-20  Greg Billock  <gbillock@google.com>
167781
167782        [Coverity] Fix leak in V8HTMLDocument
167783        https://bugs.webkit.org/show_bug.cgi?id=74943
167784
167785        Reviewed by Adam Barth.
167786
167787        * bindings/v8/custom/V8HTMLDocumentCustom.cpp:
167788        (WebCore::V8HTMLDocument::openCallback):
167789
1677902011-12-20  Sailesh Agrawal <sail@chromium.org>
167791
167792        Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
167793        https://bugs.webkit.org/show_bug.cgi?id=61144
167794
167795        Reviewed by Beth Dakin.
167796
167797        At a high level the main changes are:
167798            - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
167799            - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
167800            - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
167801            - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing
167802
167803        No new tests. Just refactoring.
167804
167805        * WebCore.gyp/WebCore.gyp:
167806        * WebCore.gypi:
167807        * WebCore.xcodeproj/project.pbxproj:
167808        * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
167809        * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
167810        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
167811        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
167812        * platform/chromium/ScrollbarThemeChromiumMac.h:
167813        * platform/chromium/ScrollbarThemeChromiumMac.mm:
167814        (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
167815        (WebCore::scrollbarPainterPaintTrack):
167816        (WebCore::ScrollbarThemeChromiumMac::paint):
167817        * platform/mac/EmptyProtocolDefinitions.h:
167818        * platform/mac/NSScrollerImpDetails.h:
167819        (WebCore::isScrollbarOverlayAPIAvailable):
167820        * platform/mac/NSScrollerImpDetails.mm: Added.
167821        (WebCore::isScrollbarOverlayAPIAvailable):
167822        (WebCore::recommendedScrollerStyle):
167823        * platform/mac/ScrollAnimatorMac.h:
167824        * platform/mac/ScrollAnimatorMac.mm:
167825        (scrollbarPainterForScrollbar):
167826        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
167827        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
167828        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
167829        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
167830        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
167831        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
167832        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
167833        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
167834        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
167835        (WebCore::ScrollAnimatorMac::willStartLiveResize):
167836        (WebCore::ScrollAnimatorMac::contentsResized):
167837        (WebCore::ScrollAnimatorMac::willEndLiveResize):
167838        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
167839        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
167840        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
167841        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
167842        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
167843        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
167844        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
167845        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
167846        (WebCore::ScrollAnimatorMac::cancelAnimations):
167847        (WebCore::ScrollAnimatorMac::setIsActive):
167848        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
167849        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
167850        * platform/mac/ScrollElasticityController.h:
167851        * platform/mac/ScrollbarThemeMac.h:
167852        * platform/mac/ScrollbarThemeMac.mm:
167853        (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
167854        (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
167855        (WebCore::updateArrowPlacement):
167856        (WebCore::ScrollbarThemeMac::registerScrollbar):
167857        (WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
167858        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
167859        (WebCore::ScrollbarThemeMac::scrollbarThickness):
167860        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
167861        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
167862        (WebCore::ScrollbarThemeMac::hasButtons):
167863        (WebCore::ScrollbarThemeMac::hasThumb):
167864        (WebCore::ScrollbarThemeMac::minimumThumbLength):
167865        (WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
167866        (WebCore::ScrollbarThemeMac::updateEnabledState):
167867        (WebCore::scrollbarPainterPaint):
167868        (WebCore::ScrollbarThemeMac::paint):
167869
1678702011-12-20  Tony Chang  <tony@chromium.org>
167871
167872        sizeof(RenderStyle) is 64 instead of 56 on Windows (x86)
167873        https://bugs.webkit.org/show_bug.cgi?id=74876
167874
167875        Reviewed by Ryosuke Niwa.
167876
167877        Move bit fields into a new class and use unsigned for all types so we
167878        align at 4 byte bounds. Also move the initializers into the header
167879        file (has the side benefit of not needing to duplicate the initializers
167880        in 3 places).
167881
167882        Enable the compile assert on Windows.
167883
167884        * rendering/style/RenderStyle.cpp:
167885        (WebCore::RenderStyle::RenderStyle):
167886        * rendering/style/RenderStyle.h:
167887        (WebCore::RenderStyleBitfields::affectedByUncommonAttributeSelectors):
167888        (WebCore::RenderStyleBitfields::setAffectedByUncommonAttributeSelectors):
167889        (WebCore::RenderStyleBitfields::unique):
167890        (WebCore::RenderStyleBitfields::setUnique):
167891        (WebCore::RenderStyleBitfields::affectedByEmpty):
167892        (WebCore::RenderStyleBitfields::emptyState):
167893        (WebCore::RenderStyleBitfields::setEmptyState):
167894        (WebCore::RenderStyleBitfields::childrenAffectedByFirstChildRules):
167895        (WebCore::RenderStyleBitfields::setChildrenAffectedByFirstChildRules):
167896        (WebCore::RenderStyleBitfields::childrenAffectedByLastChildRules):
167897        (WebCore::RenderStyleBitfields::setChildrenAffectedByLastChildRules):
167898        (WebCore::RenderStyleBitfields::childrenAffectedByDirectAdjacentRules):
167899        (WebCore::RenderStyleBitfields::setChildrenAffectedByDirectAdjacentRules):
167900        (WebCore::RenderStyleBitfields::childrenAffectedByForwardPositionalRules):
167901        (WebCore::RenderStyleBitfields::setChildrenAffectedByForwardPositionalRules):
167902        (WebCore::RenderStyleBitfields::childrenAffectedByBackwardPositionalRules):
167903        (WebCore::RenderStyleBitfields::setChildrenAffectedByBackwardPositionalRules):
167904        (WebCore::RenderStyleBitfields::firstChildState):
167905        (WebCore::RenderStyleBitfields::setFirstChildState):
167906        (WebCore::RenderStyleBitfields::lastChildState):
167907        (WebCore::RenderStyleBitfields::setLastChildState):
167908        (WebCore::RenderStyleBitfields::childIndex):
167909        (WebCore::RenderStyleBitfields::setChildIndex):
167910        (WebCore::RenderStyleBitfields::setHasExplicitlyInheritedProperties):
167911        (WebCore::RenderStyleBitfields::hasExplicitlyInheritedProperties):
167912
1679132011-12-20  Tony Chang  <tony@chromium.org>
167914
167915        [chromium] enable WPO for WebCore libs in official builds
167916        https://bugs.webkit.org/show_bug.cgi?id=74947
167917
167918        Reviewed by James Robinson.
167919
167920        Also move enable_wexit_time_destructors to the top level variables
167921        so we don't have to add it to all targets.
167922
167923        * WebCore.gyp/WebCore.gyp:
167924
1679252011-12-20  Anders Carlsson  <andersca@apple.com>
167926
167927        Add ScrollableArea wrappers for a bunch of ScrollAnimator member functions
167928        https://bugs.webkit.org/show_bug.cgi?id=74951
167929
167930        Reviewed by Sam Weinig.
167931
167932        * WebCore.exp.in:
167933        * page/EventHandler.cpp:
167934        (WebCore::EventHandler::mouseMoved):
167935        (WebCore::EventHandler::updateMouseEventTargetNode):
167936        * page/FocusController.cpp:
167937        (WebCore::FocusController::setActive):
167938        * page/FrameView.cpp:
167939        (WebCore::FrameView::didMoveOnscreen):
167940        (WebCore::FrameView::willMoveOffscreen):
167941        (WebCore::FrameView::notifyPageThatContentAreaWillPaint):
167942        * platform/ScrollableArea.cpp:
167943        (WebCore::ScrollableArea::contentAreaWillPaint):
167944        (WebCore::ScrollableArea::mouseEnteredContentArea):
167945        (WebCore::ScrollableArea::mouseExitedContentArea):
167946        (WebCore::ScrollableArea::mouseMovedInContentArea):
167947        (WebCore::ScrollableArea::mouseEnteredScrollbar):
167948        (WebCore::ScrollableArea::mouseExitedScrollbar):
167949        (WebCore::ScrollableArea::contentAreaDidShow):
167950        (WebCore::ScrollableArea::contentAreaDidHide):
167951        * platform/ScrollableArea.h:
167952        * platform/ScrollableAreaClient.h:
167953        * platform/Scrollbar.cpp:
167954        (WebCore::Scrollbar::mouseEntered):
167955        (WebCore::Scrollbar::mouseExited):
167956        (WebCore::Scrollbar::mouseUp):
167957
1679582011-12-20  Jarred Nicholls  <jarred@sencha.com>
167959
167960        Perform case insensitive matching on MIME types in XHR
167961        https://bugs.webkit.org/show_bug.cgi?id=74800
167962
167963        Perform case insensitive matching on responseMIMEType() in didReceiveData().
167964        Workaround case sensitive matching by DOMImplementation::isXMLMIMEType() in responseIsXML().
167965
167966        Reviewed by Darin Adler.
167967
167968        Tests: http/tests/xmlhttprequest/xmlhttprequest-mimetype-mixed-case.html
167969               http/tests/xmlhttprequest/xmlhttprequest-overridemimetype-mixed-case.html
167970
167971        * xml/XMLHttpRequest.cpp:
167972        (WebCore::XMLHttpRequest::didReceiveData):
167973        (WebCore::XMLHttpRequest::responseIsXML):
167974
1679752011-12-20  Adam Klein  <adamk@chromium.org>
167976
167977        Remove no-op DOMAttr* event dispatch methods from Element
167978        https://bugs.webkit.org/show_bug.cgi?id=74946
167979
167980        Reviewed by Darin Adler.
167981
167982        The removed methods had their bodies #if 0'd out, so this should have
167983        no effect on anything.
167984
167985        * dom/Element.cpp:
167986        * dom/Element.h:
167987        * dom/NamedNodeMap.cpp:
167988        (WebCore::NamedNodeMap::addAttribute):
167989        (WebCore::NamedNodeMap::removeAttribute):
167990
1679912011-12-20  Anders Carlsson  <andersca@apple.com>
167992
167993        ScrollableArea should have an optional ScrollableAreaClient
167994        https://bugs.webkit.org/show_bug.cgi?id=74949
167995
167996        Reviewed by Sam Weinig.
167997
167998        * WebCore.exp.in:
167999        * WebCore.xcodeproj/project.pbxproj:
168000        * page/FrameView.cpp:
168001        (WebCore::scrollableAreaClient):
168002        (WebCore::FrameView::FrameView):
168003        * page/ScrollingCoordinator.cpp:
168004        (WebCore::ScrollingCoordinator::scrollableAreaClientForFrame):
168005        * page/ScrollingCoordinator.h:
168006        * platform/ScrollView.cpp:
168007        (WebCore::ScrollView::ScrollView):
168008        * platform/ScrollView.h:
168009        * platform/ScrollableArea.cpp:
168010        (WebCore::ScrollableArea::ScrollableArea):
168011        * platform/ScrollableArea.h:
168012        * platform/ScrollableAreaClient.h: Added.
168013        (WebCore::ScrollableAreaClient::~ScrollableAreaClient):
168014        (WebCore::ScrollableAreaClient::ScrollableAreaClient):
168015
1680162011-12-19  Adam Klein  <adamk@chromium.org>
168017
168018        Rename Element::setAttributeMap to parserSetAttributeMap and limit its use to the parser
168019        https://bugs.webkit.org/show_bug.cgi?id=74885
168020
168021        Reviewed by Ryosuke Niwa.
168022
168023        Element::setAttributeMap is currently used by the parser in cases
168024        where a NamedNodeMap of attributes has already been allocated and
168025        transfers ownership to the Element. Other uses in WebCore don't have
168026        this ownership-transfer requirement, and so are more clearly expressed
168027        with normal setAttribute calls.
168028
168029        Eliminating non-parser callers allows the code to make safe
168030        assumptions about the state of the Element it's called on: no need to
168031        worry about, e.g., updating the id in the document's cache or
168032        enqueueing mutation records.
168033
168034        No new tests, no change in behavior expected.
168035
168036        * dom/Element.cpp:
168037        (WebCore::Element::parserSetAttributeMap): Renamed, added assertions
168038        to make sure it's not called unexpectedly, update comments.
168039        * dom/Element.h:
168040        * html/HTMLViewSourceDocument.cpp: Use setAttribute instead of setAttributeMap.
168041        (WebCore::HTMLViewSourceDocument::createContainingTable):
168042        (WebCore::HTMLViewSourceDocument::addSpanWithClassName):
168043        (WebCore::HTMLViewSourceDocument::addLine):
168044        (WebCore::HTMLViewSourceDocument::addBase):
168045        (WebCore::HTMLViewSourceDocument::addLink):
168046        * html/parser/HTMLConstructionSite.cpp: Reference new name.
168047        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
168048        (WebCore::HTMLConstructionSite::insertScriptElement):
168049        (WebCore::HTMLConstructionSite::createElement):
168050        (WebCore::HTMLConstructionSite::createHTMLElement):
168051        * html/track/WebVTTParser.cpp:
168052        (WebCore::WebVTTParser::constructTreeFromToken): Use setAttribute instead of setAttributeMap.
168053        Also get rid of an unnecessary String -> AtomicString conversion.
168054
1680552011-12-20  Iain Merrick  <husky@google.com>
168056
168057        Remove unused parameter from RenderLayerCompositor::rebuildCompositingLayerTree
168058        https://bugs.webkit.org/show_bug.cgi?id=74936
168059
168060        Reviewed by Simon Fraser.
168061
168062        Pure refactoring, no change in functionality.
168063
168064        * rendering/RenderLayerCompositor.cpp:
168065        (WebCore::RenderLayerCompositor::updateCompositingLayers):
168066        (WebCore::RenderLayerCompositor::rebuildCompositingLayerTree):
168067        * rendering/RenderLayerCompositor.h:
168068
1680692011-12-20  Tony Chang  <tony@chromium.org>
168070
168071        RenderStyle::InheritedFlags and RenderStyle::NonInheritedFlags members should be 4 byte aligned
168072        https://bugs.webkit.org/show_bug.cgi?id=74880
168073
168074        Reviewed by Ryosuke Niwa.
168075
168076        Use unsigned for all types so we get 4 byte boundaries (unsigned char
168077        means we try to align to 1 byte boundaries) and add setters and
168078        getters for bool members.
168079
168080        Move some members around to make sure we're aligned to 4 byte boundaries.
168081
168082        * rendering/style/RenderStyle.cpp:
168083        (WebCore::RenderStyle::copyNonInheritedFrom):
168084        * rendering/style/RenderStyle.h:
168085        (WebCore::InheritedFlags::NonInheritedFlags::affectedByHover):
168086        (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByHover):
168087        (WebCore::InheritedFlags::NonInheritedFlags::affectedByActive):
168088        (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByActive):
168089        (WebCore::InheritedFlags::NonInheritedFlags::affectedByDrag):
168090        (WebCore::InheritedFlags::NonInheritedFlags::setAffectedByDrag):
168091        (WebCore::InheritedFlags::NonInheritedFlags::isLink):
168092        (WebCore::InheritedFlags::NonInheritedFlags::setIsLink):
168093        (WebCore::InheritedFlags::setBitDefaults):
168094        (WebCore::InheritedFlags::affectedByHoverRules):
168095        (WebCore::InheritedFlags::affectedByActiveRules):
168096        (WebCore::InheritedFlags::affectedByDragRules):
168097        (WebCore::InheritedFlags::setAffectedByHoverRules):
168098        (WebCore::InheritedFlags::setAffectedByActiveRules):
168099        (WebCore::InheritedFlags::setAffectedByDragRules):
168100        (WebCore::InheritedFlags::isLink):
168101        (WebCore::InheritedFlags::setIsLink):
168102
1681032011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>
168104
168105        Regression(99212): table rows get incorrect height after changing some cells' height
168106        https://bugs.webkit.org/show_bug.cgi?id=74303
168107
168108        Reviewed by Darin Adler.
168109
168110        Tests: fast/table/resize-table-binding-cell.html
168111               fast/table/resize-table-cell.html
168112               fast/table/resize-table-row.html
168113
168114        r99212 wrongly implemented the row's logicalHeight recalculation.
168115        The original code would use recalcCells which would properly recalculate a
168116        row logicalHeight by iterating over the table's cells but throwing out the
168117        existing result.
168118
168119        Our approach is just to recompute our row's logicalHeight and leave the
168120        rest of the section untouched.
168121
168122        * rendering/RenderTableSection.cpp:
168123        (WebCore::updateLogicalHeightForCell):
168124        Added this new helper function to update the RowStruct logicalHeight during
168125        |addCell| and |rowLogicalHeightChanged|.
168126
168127        (WebCore::RenderTableSection::addCell):
168128        Replaced the old code with a call to updateLogicalHeightForCell.
168129        (WebCore::RenderTableSection::rowLogicalHeightChanged):
168130        Added a call to updateLogicalHeightForCell for each cells.
168131
1681322011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>
168133
168134        Unreviewed, rolling out r103322.
168135        http://trac.webkit.org/changeset/103322
168136        https://bugs.webkit.org/show_bug.cgi?id=74927
168137
168138        seven inspector's tests are crashing on qt (Requested by
168139        loislo on #webkit).
168140
168141        * inspector/CodeGeneratorInspector.py:
168142        (RawTypes.BaseType.is_event_param_check_optional):
168143        (RawTypes.Object.is_event_param_check_optional):
168144        (RawTypes.Array.is_event_param_check_optional):
168145        (RawTypes):
168146        (Generator.process_command):
168147        * inspector/InspectorApplicationCacheAgent.cpp:
168148        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
168149        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
168150        * inspector/InspectorApplicationCacheAgent.h:
168151        * inspector/InspectorCSSAgent.cpp:
168152        (WebCore::InspectorCSSAgent::clearFrontend):
168153        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
168154        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
168155        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
168156        (WebCore::InspectorCSSAgent::getAllStyleSheets):
168157        (WebCore::InspectorCSSAgent::getStyleSheet):
168158        (WebCore::InspectorCSSAgent::setPropertyText):
168159        (WebCore::InspectorCSSAgent::toggleProperty):
168160        (WebCore::InspectorCSSAgent::setRuleSelector):
168161        (WebCore::InspectorCSSAgent::addRule):
168162        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
168163        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
168164        * inspector/InspectorCSSAgent.h:
168165        * inspector/InspectorDOMAgent.cpp:
168166        (WebCore::InspectorDOMAgent::getDocument):
168167        (WebCore::InspectorDOMAgent::querySelectorAll):
168168        (WebCore::InspectorDOMAgent::getEventListenersForNode):
168169        (WebCore::InspectorDOMAgent::getSearchResults):
168170        (WebCore::InspectorDOMAgent::resolveNode):
168171        (WebCore::InspectorDOMAgent::getAttributes):
168172        * inspector/InspectorDOMAgent.h:
168173        * inspector/InspectorDOMStorageAgent.cpp:
168174        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
168175        * inspector/InspectorDOMStorageAgent.h:
168176        * inspector/InspectorDatabaseAgent.cpp:
168177        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
168178        * inspector/InspectorDatabaseAgent.h:
168179        * inspector/InspectorDebuggerAgent.cpp:
168180        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
168181        (WebCore::InspectorDebuggerAgent::setBreakpoint):
168182        (WebCore::InspectorDebuggerAgent::searchInContent):
168183        (WebCore::InspectorDebuggerAgent::setScriptSource):
168184        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
168185        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
168186        * inspector/InspectorDebuggerAgent.h:
168187        * inspector/InspectorMemoryAgent.cpp:
168188        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
168189        * inspector/InspectorMemoryAgent.h:
168190        * inspector/InspectorPageAgent.cpp:
168191        (WebCore::InspectorPageAgent::getCookies):
168192        (WebCore::InspectorPageAgent::getResourceTree):
168193        (WebCore::InspectorPageAgent::searchInResource):
168194        (WebCore::InspectorPageAgent::searchInResources):
168195        * inspector/InspectorPageAgent.h:
168196        * inspector/InspectorProfilerAgent.cpp:
168197        (WebCore::InspectorProfilerAgent::getProfileHeaders):
168198        (WebCore::InspectorProfilerAgent::getProfile):
168199        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
168200        * inspector/InspectorProfilerAgent.h:
168201        * inspector/InspectorRuntimeAgent.cpp:
168202        (WebCore::InspectorRuntimeAgent::evaluate):
168203        (WebCore::InspectorRuntimeAgent::callFunctionOn):
168204        (WebCore::InspectorRuntimeAgent::getProperties):
168205        * inspector/InspectorRuntimeAgent.h:
168206
1682072011-12-19  Andrey Kosyakov  <caseq@chromium.org>
168208
168209        Web Inspector: [Extensions API] allow setting extension API per extension security origin
168210        https://bugs.webkit.org/show_bug.cgi?id=74868
168211
168212        Reviewed by Pavel Feldman.
168213
168214        This replaces InspectorExtensionAPI string within InspectorFrontendHost with a map by extension
168215        security origin, so that we can have APIs customized by extension (in particular, this is needed
168216        to expose experimental APIs only to certain extensions).
168217
168218        * inspector/InspectorAgent.cpp:
168219        (WebCore::InspectorAgent::didClearWindowObjectInWorld):
168220        (WebCore::InspectorAgent::setInjectedScriptForOrigin):
168221        * inspector/InspectorAgent.h:
168222        * inspector/InspectorController.cpp:
168223        (WebCore::InspectorController::setInjectedScriptForOrigin):
168224        * inspector/InspectorController.h:
168225        * inspector/InspectorFrontendHost.cpp:
168226        (WebCore::InspectorFrontendHost::setInjectedScriptForOrigin):
168227        * inspector/InspectorFrontendHost.h:
168228        * inspector/InspectorFrontendHost.idl:
168229        * inspector/front-end/ExtensionServer.js:
168230        (WebInspector.ExtensionServer.prototype._addExtensions):
168231        (WebInspector.ExtensionServer.prototype._addExtension):
168232
1682332011-12-20  Peter Rybin  <peter.rybin@gmail.com>
168234
168235        Web Inspector: CodeGenerator should not use pointers for out params of RefPtr type.
168236        https://bugs.webkit.org/show_bug.cgi?id=69366
168237
168238        Reviewed by Pavel Feldman.
168239
168240        Generator fixed and all usages are changed manually.
168241
168242        * inspector/CodeGeneratorInspector.py:
168243        (RawTypes.BaseType.is_event_param_check_optional):
168244        (RawTypes.BaseType):
168245        (RawTypes.BaseType.get_output_argument_prefix):
168246        (RawTypes.Object.get_output_argument_prefix):
168247        (RawTypes.Array.get_output_argument_prefix):
168248        (RawTypes):
168249        (Generator.process_command):
168250        * inspector/InspectorApplicationCacheAgent.cpp:
168251        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
168252        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
168253        * inspector/InspectorApplicationCacheAgent.h:
168254        * inspector/InspectorCSSAgent.cpp:
168255        (WebCore::InspectorCSSAgent::clearFrontend):
168256        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
168257        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
168258        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
168259        (WebCore::InspectorCSSAgent::getAllStyleSheets):
168260        (WebCore::InspectorCSSAgent::getStyleSheet):
168261        (WebCore::InspectorCSSAgent::setPropertyText):
168262        (WebCore::InspectorCSSAgent::toggleProperty):
168263        (WebCore::InspectorCSSAgent::setRuleSelector):
168264        (WebCore::InspectorCSSAgent::addRule):
168265        (WebCore::InspectorCSSAgent::getSupportedCSSProperties):
168266        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
168267        (WebCore::InspectorCSSAgent::stopSelectorProfilerImpl):
168268        * inspector/InspectorCSSAgent.h:
168269        * inspector/InspectorDOMAgent.cpp:
168270        (WebCore::InspectorDOMAgent::getDocument):
168271        (WebCore::InspectorDOMAgent::querySelectorAll):
168272        (WebCore::InspectorDOMAgent::getEventListenersForNode):
168273        (WebCore::InspectorDOMAgent::getSearchResults):
168274        (WebCore::InspectorDOMAgent::resolveNode):
168275        (WebCore::InspectorDOMAgent::getAttributes):
168276        * inspector/InspectorDOMAgent.h:
168277        * inspector/InspectorDOMStorageAgent.cpp:
168278        (WebCore::InspectorDOMStorageAgent::getDOMStorageEntries):
168279        * inspector/InspectorDOMStorageAgent.h:
168280        * inspector/InspectorDatabaseAgent.cpp:
168281        (WebCore::InspectorDatabaseAgent::getDatabaseTableNames):
168282        * inspector/InspectorDatabaseAgent.h:
168283        * inspector/InspectorDebuggerAgent.cpp:
168284        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
168285        (WebCore::InspectorDebuggerAgent::setBreakpoint):
168286        (WebCore::InspectorDebuggerAgent::searchInContent):
168287        (WebCore::InspectorDebuggerAgent::setScriptSource):
168288        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
168289        (WebCore::InspectorDebuggerAgent::evaluateOnCallFrame):
168290        * inspector/InspectorDebuggerAgent.h:
168291        * inspector/InspectorMemoryAgent.cpp:
168292        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
168293        * inspector/InspectorMemoryAgent.h:
168294        * inspector/InspectorPageAgent.cpp:
168295        (WebCore::InspectorPageAgent::getCookies):
168296        (WebCore::InspectorPageAgent::getResourceTree):
168297        (WebCore::InspectorPageAgent::searchInResource):
168298        (WebCore::InspectorPageAgent::searchInResources):
168299        * inspector/InspectorPageAgent.h:
168300        * inspector/InspectorProfilerAgent.cpp:
168301        (WebCore::InspectorProfilerAgent::getProfileHeaders):
168302        (WebCore::InspectorProfilerAgent::getProfile):
168303        (WebCore::InspectorProfilerAgent::getObjectByHeapObjectId):
168304        * inspector/InspectorProfilerAgent.h:
168305        * inspector/InspectorRuntimeAgent.cpp:
168306        (WebCore::InspectorRuntimeAgent::evaluate):
168307        (WebCore::InspectorRuntimeAgent::callFunctionOn):
168308        (WebCore::InspectorRuntimeAgent::getProperties):
168309        * inspector/InspectorRuntimeAgent.h:
168310
1683112011-12-20  Julien Chaffraix  <jchaffraix@webkit.org>
168312
168313        Crash in RenderTable::outerBorderAfter
168314        http://webkit.org/b/74026
168315        <rdar://problem/10552313>
168316
168317        Reviewed by Eric Seidel.
168318
168319        Test: fast/table/computeLogicalWidth-table-needsSectionRecalc.html
168320
168321        RenderBlock can call computeLogicalWidth() before calling layout(). The code in
168322        RenderTable::computeLogicalWidth would make the assumption that layout() was called
168323        as layout() is responsible for recomputing our sections.
168324
168325        To prevent the issue, let's just recompute the section if it's needed as this situation
168326        shouldn't be an error. Also adding more knowledge of table in RenderBlock seems bad.
168327
168328        * rendering/RenderTable.cpp:
168329        (WebCore::RenderTable::computeLogicalWidth):
168330        Make sure we recalculate our section if it's needed.
168331
1683322011-12-20  Kentaro Hara  <haraken@chromium.org>
168333
168334        [Refactoring] Replace imp with impl in CodeGeneratorJS.pm
168335        https://bugs.webkit.org/show_bug.cgi?id=74901
168336
168337        Reviewed by Adam Barth.
168338
168339        As pointed out in bug 74837, the generated code by CodeGeneratorJS.pm includes
168340        both 'imp' and 'impl'. This patch unifies them into 'impl'.
168341        I confirmed that "perl -lne 'print if /imp[^a-z]/' CodeGeneratorJS.pm" outputs nothing.
168342
168343        No new tests. No change in behavior.
168344
168345        * bindings/scripts/CodeGeneratorJS.pm:
168346        (GenerateAttributeEventListenerCall):
168347        (GenerateEventListenerCall):
168348        (GenerateImplementation):
168349        (GenerateParametersCheck):
168350        (GenerateImplementationFunctionCall):
168351        (NativeToJSValue):
168352
168353        * bindings/scripts/test/JS/JSFloat64Array.cpp: Updated run-bindings-tests results.
168354        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
168355        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
168356        (WebCore::jsTestEventConstructorAttr1):
168357        (WebCore::jsTestEventConstructorAttr2):
168358        * bindings/scripts/test/JS/JSTestInterface.cpp:
168359        (WebCore::jsTestInterfaceStr1):
168360        (WebCore::jsTestInterfaceStr2):
168361        (WebCore::jsTestInterfaceStr3):
168362        (WebCore::setJSTestInterfaceStr2):
168363        (WebCore::setJSTestInterfaceStr3):
168364        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
168365        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
168366        * bindings/scripts/test/JS/JSTestObj.cpp:
168367        (WebCore::jsTestObjReadOnlyIntAttr):
168368        (WebCore::jsTestObjReadOnlyStringAttr):
168369        (WebCore::jsTestObjReadOnlyTestObjAttr):
168370        (WebCore::jsTestObjShortAttr):
168371        (WebCore::jsTestObjUnsignedShortAttr):
168372        (WebCore::jsTestObjIntAttr):
168373        (WebCore::jsTestObjLongLongAttr):
168374        (WebCore::jsTestObjUnsignedLongLongAttr):
168375        (WebCore::jsTestObjStringAttr):
168376        (WebCore::jsTestObjTestObjAttr):
168377        (WebCore::jsTestObjXMLObjAttr):
168378        (WebCore::jsTestObjCreate):
168379        (WebCore::jsTestObjReflectedStringAttr):
168380        (WebCore::jsTestObjReflectedIntegralAttr):
168381        (WebCore::jsTestObjReflectedUnsignedIntegralAttr):
168382        (WebCore::jsTestObjReflectedBooleanAttr):
168383        (WebCore::jsTestObjReflectedURLAttr):
168384        (WebCore::jsTestObjReflectedNonEmptyURLAttr):
168385        (WebCore::jsTestObjReflectedCustomIntegralAttr):
168386        (WebCore::jsTestObjReflectedCustomBooleanAttr):
168387        (WebCore::jsTestObjReflectedCustomURLAttr):
168388        (WebCore::jsTestObjReflectedCustomNonEmptyURLAttr):
168389        (WebCore::jsTestObjAttrWithGetterException):
168390        (WebCore::jsTestObjAttrWithSetterException):
168391        (WebCore::jsTestObjStringAttrWithGetterException):
168392        (WebCore::jsTestObjStringAttrWithSetterException):
168393        (WebCore::jsTestObjScriptStringAttr):
168394        (WebCore::jsTestObjConditionalAttr1):
168395        (WebCore::jsTestObjConditionalAttr2):
168396        (WebCore::jsTestObjConditionalAttr3):
168397        (WebCore::jsTestObjCachedAttribute1):
168398        (WebCore::jsTestObjCachedAttribute2):
168399        (WebCore::jsTestObjDescription):
168400        (WebCore::jsTestObjId):
168401        (WebCore::jsTestObjHash):
168402        (WebCore::setJSTestObjShortAttr):
168403        (WebCore::setJSTestObjUnsignedShortAttr):
168404        (WebCore::setJSTestObjIntAttr):
168405        (WebCore::setJSTestObjLongLongAttr):
168406        (WebCore::setJSTestObjUnsignedLongLongAttr):
168407        (WebCore::setJSTestObjStringAttr):
168408        (WebCore::setJSTestObjTestObjAttr):
168409        (WebCore::setJSTestObjXMLObjAttr):
168410        (WebCore::setJSTestObjCreate):
168411        (WebCore::setJSTestObjReflectedStringAttr):
168412        (WebCore::setJSTestObjReflectedIntegralAttr):
168413        (WebCore::setJSTestObjReflectedUnsignedIntegralAttr):
168414        (WebCore::setJSTestObjReflectedBooleanAttr):
168415        (WebCore::setJSTestObjReflectedURLAttr):
168416        (WebCore::setJSTestObjReflectedNonEmptyURLAttr):
168417        (WebCore::setJSTestObjReflectedCustomIntegralAttr):
168418        (WebCore::setJSTestObjReflectedCustomBooleanAttr):
168419        (WebCore::setJSTestObjReflectedCustomURLAttr):
168420        (WebCore::setJSTestObjReflectedCustomNonEmptyURLAttr):
168421        (WebCore::setJSTestObjAttrWithGetterException):
168422        (WebCore::setJSTestObjAttrWithSetterException):
168423        (WebCore::setJSTestObjStringAttrWithGetterException):
168424        (WebCore::setJSTestObjStringAttrWithSetterException):
168425        (WebCore::setJSTestObjConditionalAttr1):
168426        (WebCore::setJSTestObjConditionalAttr2):
168427        (WebCore::setJSTestObjConditionalAttr3):
168428        (WebCore::setJSTestObjId):
168429        (WebCore::jsTestObjPrototypeFunctionVoidMethod):
168430        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
168431        (WebCore::jsTestObjPrototypeFunctionIntMethod):
168432        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
168433        (WebCore::jsTestObjPrototypeFunctionObjMethod):
168434        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
168435        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
168436        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
168437        (WebCore::jsTestObjPrototypeFunctionIdbKey):
168438        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
168439        (WebCore::jsTestObjPrototypeFunctionMethodWithException):
168440        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
168441        (WebCore::jsTestObjPrototypeFunctionAddEventListener):
168442        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener):
168443        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrame):
168444        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
168445        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
168446        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
168447        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
168448        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoid):
168449        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObj):
168450        (WebCore::jsTestObjPrototypeFunctionWithScriptStateVoidException):
168451        (WebCore::jsTestObjPrototypeFunctionWithScriptStateObjException):
168452        (WebCore::jsTestObjPrototypeFunctionWithScriptExecutionContext):
168453        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
168454        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
168455        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
168456        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg):
168457        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
168458        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackAndOptionalArg):
168459        (WebCore::jsTestObjPrototypeFunctionConditionalMethod1):
168460        (WebCore::jsTestObjPrototypeFunctionConditionalMethod2):
168461        (WebCore::jsTestObjPrototypeFunctionConditionalMethod3):
168462        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
168463        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
168464        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
168465        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
168466        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5):
168467        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
168468        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
168469        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
168470        (WebCore::jsTestSerializedScriptValueInterfaceValue):
168471
1684722011-12-20  Alok Priyadarshi  <alokp@chromium.org>
168473
168474        [chromium] compositing/shadows tests fail with accelerated painting
168475        https://bugs.webkit.org/show_bug.cgi?id=74871
168476
168477        Reviewed by James Robinson.
168478        
168479        Switched over to new API for creating accelerated canvas GrContext::createPlatformTexture.
168480        It correctly binds the stencil buffer to the FBO.
168481
168482        Test: compositing/shadows/shadow-drawing.html (existing)
168483
168484        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
168485        (WebCore::createAcceleratedCanvas):
168486        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
168487        * platform/graphics/chromium/ManagedTexture.cpp:
168488        (WebCore::ManagedTexture::allocate):
168489        (WebCore::ManagedTexture::bindTexture):
168490        (WebCore::ManagedTexture::framebufferTexture2D):
168491        * platform/graphics/chromium/ManagedTexture.h:
168492
1684932011-12-20  Sheriff Bot  <webkit.review.bot@gmail.com>
168494
168495        Unreviewed, rolling out r103291.
168496        http://trac.webkit.org/changeset/103291
168497        https://bugs.webkit.org/show_bug.cgi?id=74915
168498
168499        Looks like it broke fast/events/touch and
168500        fast/events/touch/gesture/gesture-scroll.html
168501        http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Mac10.5/builds/7010
168502        (Requested by loislo on #webkit).
168503
168504        * WebCore.gyp/WebCore.gyp:
168505        * WebCore.gypi:
168506        * WebCore.xcodeproj/project.pbxproj:
168507        * platform/chromium/ScrollAnimatorChromiumMac.h: Copied from Source/WebCore/platform/mac/ScrollAnimatorMac.h.
168508        (WebCore::ScrollAnimatorChromiumMac::setIsDrawingIntoLayer):
168509        (WebCore::ScrollAnimatorChromiumMac::isDrawingIntoLayer):
168510        (WebCore::ScrollAnimatorChromiumMac::haveScrolledSincePageLoad):
168511        (WebCore::ScrollAnimatorChromiumMac::setNeedsScrollerStyleUpdate):
168512        (WebCore::ScrollAnimatorChromiumMac::needsScrollerStyleUpdate):
168513        * platform/chromium/ScrollAnimatorChromiumMac.mm: Added.
168514        (-[NSProcessInfo systemUptime]):
168515        (abs):
168516        (-[ScrollAnimationHelperDelegate initWithScrollAnimator:WebCore::]):
168517        (-[ScrollAnimationHelperDelegate scrollAnimatorDestroyed]):
168518        (-[ScrollAnimationHelperDelegate bounds]):
168519        (-[ScrollAnimationHelperDelegate _immediateScrollToPoint:]):
168520        (-[ScrollAnimationHelperDelegate _pixelAlignProposedScrollPosition:]):
168521        (-[ScrollAnimationHelperDelegate convertSizeToBase:]):
168522        (-[ScrollAnimationHelperDelegate convertSizeFromBase:]):
168523        (-[ScrollAnimationHelperDelegate convertSizeToBacking:]):
168524        (-[ScrollAnimationHelperDelegate convertSizeFromBacking:]):
168525        (-[ScrollAnimationHelperDelegate superview]):
168526        (-[ScrollAnimationHelperDelegate documentView]):
168527        (-[ScrollAnimationHelperDelegate window]):
168528        (-[ScrollAnimationHelperDelegate _recursiveRecomputeToolTips]):
168529        (-[ScrollbarPainterControllerDelegate initWithScrollAnimator:WebCore::]):
168530        (-[ScrollbarPainterControllerDelegate scrollAnimatorDestroyed]):
168531        (-[ScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
168532        (-[ScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
168533        (-[ScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
168534        (-[ScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
168535        (-[ScrollbarPainterControllerDelegate scrollerImpPair:setContentAreaNeedsDisplayInRect:]):
168536        (-[ScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
168537        (-[ScrollbarPartAnimation initWithScrollbarPainter:part:WebCore::scrollAnimator:WebCore::animateAlphaTo:duration:]):
168538        (-[ScrollbarPartAnimation setCurrentProgress:]):
168539        (-[ScrollbarPartAnimation scrollAnimatorDestroyed]):
168540        (-[ScrollbarPainterDelegate initWithScrollAnimator:WebCore::]):
168541        (-[ScrollbarPainterDelegate cancelAnimations]):
168542        (-[ScrollbarPainterDelegate convertRectToBacking:]):
168543        (-[ScrollbarPainterDelegate convertRectFromBacking:]):
168544        (-[ScrollbarPainterDelegate layer]):
168545        (-[ScrollbarPainterDelegate setUpAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
168546        (-[ScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
168547        (-[ScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
168548        (-[ScrollbarPainterDelegate scrollerImp:overlayScrollerStateChangedTo:]):
168549        (-[ScrollbarPainterDelegate scrollAnimatorDestroyed]):
168550        (WebCore::ScrollAnimator::create):
168551        (WebCore::chromiumScrollbarTheme):
168552        (WebCore::ScrollAnimatorChromiumMac::ScrollAnimatorChromiumMac):
168553        (WebCore::ScrollAnimatorChromiumMac::~ScrollAnimatorChromiumMac):
168554        (WebCore::ScrollAnimatorChromiumMac::scroll):
168555        (WebCore::ScrollAnimatorChromiumMac::scrollToOffsetWithoutAnimation):
168556        (WebCore::ScrollAnimatorChromiumMac::adjustScrollXPositionIfNecessary):
168557        (WebCore::ScrollAnimatorChromiumMac::adjustScrollYPositionIfNecessary):
168558        (WebCore::ScrollAnimatorChromiumMac::adjustScrollPositionIfNecessary):
168559        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
168560        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaX):
168561        (WebCore::ScrollAnimatorChromiumMac::immediateScrollByDeltaY):
168562        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPointForScrollAnimation):
168563        (WebCore::ScrollAnimatorChromiumMac::notifyPositionChanged):
168564        (WebCore::ScrollAnimatorChromiumMac::contentAreaWillPaint):
168565        (WebCore::ScrollAnimatorChromiumMac::mouseEnteredContentArea):
168566        (WebCore::ScrollAnimatorChromiumMac::mouseExitedContentArea):
168567        (WebCore::ScrollAnimatorChromiumMac::mouseMovedInContentArea):
168568        (WebCore::ScrollAnimatorChromiumMac::willStartLiveResize):
168569        (WebCore::ScrollAnimatorChromiumMac::contentsResized):
168570        (WebCore::ScrollAnimatorChromiumMac::willEndLiveResize):
168571        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidShow):
168572        (WebCore::ScrollAnimatorChromiumMac::contentAreaDidHide):
168573        (WebCore::ScrollAnimatorChromiumMac::didBeginScrollGesture):
168574        (WebCore::ScrollAnimatorChromiumMac::didEndScrollGesture):
168575        (WebCore::ScrollAnimatorChromiumMac::didAddVerticalScrollbar):
168576        (WebCore::ScrollAnimatorChromiumMac::willRemoveVerticalScrollbar):
168577        (WebCore::ScrollAnimatorChromiumMac::didAddHorizontalScrollbar):
168578        (WebCore::ScrollAnimatorChromiumMac::willRemoveHorizontalScrollbar):
168579        (WebCore::ScrollAnimatorChromiumMac::cancelAnimations):
168580        (WebCore::elasticDeltaForTimeDelta):
168581        (WebCore::elasticDeltaForReboundDelta):
168582        (WebCore::reboundDeltaForElasticDelta):
168583        (WebCore::scrollWheelMultiplier):
168584        (WebCore::isScrollingLeftAndShouldNotRubberBand):
168585        (WebCore::isScrollingRightAndShouldNotRubberBand):
168586        (WebCore::ScrollAnimatorChromiumMac::handleWheelEvent):
168587        (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
168588        (WebCore::ScrollAnimatorChromiumMac::pinnedInDirection):
168589        (WebCore::ScrollAnimatorChromiumMac::allowsVerticalStretching):
168590        (WebCore::ScrollAnimatorChromiumMac::allowsHorizontalStretching):
168591        (WebCore::ScrollAnimatorChromiumMac::smoothScrollWithEvent):
168592        (WebCore::ScrollAnimatorChromiumMac::beginScrollGesture):
168593        (WebCore::ScrollAnimatorChromiumMac::endScrollGesture):
168594        (WebCore::ScrollAnimatorChromiumMac::snapRubberBand):
168595        (WebCore::roundTowardZero):
168596        (WebCore::roundToDevicePixelTowardZero):
168597        (WebCore::ScrollAnimatorChromiumMac::snapRubberBandTimerFired):
168598        (WebCore::ScrollAnimatorChromiumMac::setIsActive):
168599        (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
168600        (WebCore::ScrollAnimatorChromiumMac::startScrollbarPaintTimer):
168601        (WebCore::ScrollAnimatorChromiumMac::scrollbarPaintTimerIsActive):
168602        (WebCore::ScrollAnimatorChromiumMac::stopScrollbarPaintTimer):
168603        (WebCore::ScrollAnimatorChromiumMac::initialScrollbarPaintTimerFired):
168604        (WebCore::ScrollAnimatorChromiumMac::setVisibleScrollerThumbRect):
168605        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Added.
168606        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Added.
168607        (lookUpNSScrollerImpClass):
168608        (lookUpNSScrollerImpPairClass):
168609        (scrollbarControlSizeToNSControlSize):
168610        (preferredScrollerStyle):
168611        (wkScrollbarPainterUsesOverlayScrollers):
168612        (wkScrollbarPainterIsHorizontal):
168613        (wkScrollbarPainterKnobAlpha):
168614        (wkScrollbarPainterSetOverlayState):
168615        (wkScrollbarPainterPaint):
168616        (wkScrollbarPainterPaintTrack):
168617        (wkScrollbarPainterPaintKnob):
168618        (wkScrollbarMinimumThumbLength):
168619        (wkScrollbarPainterSetDelegate):
168620        (wkScrollbarPainterSetEnabled):
168621        (wkScrollbarPainterTrackAlpha):
168622        (wkMakeScrollbarPainter):
168623        (wkScrollbarThickness):
168624        (wkScrollbarMinimumTotalLengthNeededForThumb):
168625        (wkVerticalScrollbarPainterForController):
168626        (wkHorizontalScrollbarPainterForController):
168627        (wkScrollbarPainterControllerStyle):
168628        (wkMakeScrollbarReplacementPainter):
168629        (wkSetPainterForPainterController):
168630        (wkSetScrollbarPainterControllerStyle):
168631        (wkScrollbarPainterKnobRect):
168632        (wkSetScrollbarPainterKnobAlpha):
168633        (wkSetScrollbarPainterTrackAlpha):
168634        (wkSetScrollbarPainterKnobStyle):
168635        (wkMakeScrollbarPainterController):
168636        (wkContentAreaScrolled):
168637        (wkContentAreaWillPaint):
168638        (wkMouseEnteredContentArea):
168639        (wkMouseExitedContentArea):
168640        (wkMouseMovedInContentArea):
168641        (wkWillStartLiveResize):
168642        (wkContentAreaResized):
168643        (wkWillEndLiveResize):
168644        (wkContentAreaDidShow):
168645        (wkContentAreaDidHide):
168646        (wkDidBeginScrollGesture):
168647        (wkDidEndScrollGesture):
168648        (wkScrollbarPainterForceFlashScrollers):
168649        (isScrollbarOverlayAPIAvailable):
168650        * platform/chromium/ScrollbarThemeChromiumMac.h:
168651        (WebCore::ScrollbarThemeChromiumMac::supportsControlTints):
168652        (WebCore::ScrollbarThemeChromiumMac::maxOverlapBetweenPages):
168653        * platform/chromium/ScrollbarThemeChromiumMac.mm:
168654        (WebCore::scrollbarMap):
168655        (+[ScrollbarPrefsObserver appearancePrefsChanged:]):
168656        (+[ScrollbarPrefsObserver behaviorPrefsChanged:]):
168657        (+[ScrollbarPrefsObserver registerAsObserver]):
168658        (WebCore::updateArrowPlacement):
168659        (WebCore::ScrollbarThemeChromiumMac::registerScrollbar):
168660        (WebCore::ScrollbarThemeChromiumMac::unregisterScrollbar):
168661        (WebCore::ScrollbarThemeChromiumMac::setNewPainterForScrollbar):
168662        (WebCore::ScrollbarThemeChromiumMac::painterForScrollbar):
168663        (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
168664        (WebCore::ScrollbarThemeChromiumMac::preferencesChanged):
168665        (WebCore::ScrollbarThemeChromiumMac::scrollbarThickness):
168666        (WebCore::ScrollbarThemeChromiumMac::usesOverlayScrollbars):
168667        (WebCore::toScrollbarPainterKnobStyle):
168668        (WebCore::ScrollbarThemeChromiumMac::updateScrollbarOverlayStyle):
168669        (WebCore::ScrollbarThemeChromiumMac::initialAutoscrollTimerDelay):
168670        (WebCore::ScrollbarThemeChromiumMac::autoscrollTimerDelay):
168671        (WebCore::ScrollbarThemeChromiumMac::buttonsPlacement):
168672        (WebCore::ScrollbarThemeChromiumMac::hasButtons):
168673        (WebCore::ScrollbarThemeChromiumMac::hasThumb):
168674        (WebCore::buttonRepaintRect):
168675        (WebCore::ScrollbarThemeChromiumMac::backButtonRect):
168676        (WebCore::ScrollbarThemeChromiumMac::forwardButtonRect):
168677        (WebCore::ScrollbarThemeChromiumMac::trackRect):
168678        (WebCore::ScrollbarThemeChromiumMac::minimumThumbLength):
168679        (WebCore::ScrollbarThemeChromiumMac::shouldCenterOnThumb):
168680        (WebCore::ScrollbarThemeChromiumMac::shouldDragDocumentInsteadOfThumb):
168681        (WebCore::scrollbarPartToHIPressedState):
168682        (WebCore::ScrollbarThemeChromiumMac::updateEnabledState):
168683        (WebCore::ScrollbarThemeChromiumMac::paint):
168684        * platform/mac/EmptyProtocolDefinitions.h:
168685        * platform/mac/NSScrollerImpDetails.h:
168686        * platform/mac/NSScrollerImpDetails.mm: Removed.
168687        * platform/mac/ScrollAnimatorMac.h:
168688        * platform/mac/ScrollAnimatorMac.mm:
168689        (-[WebScrollbarPainterDelegate layer]):
168690        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
168691        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
168692        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
168693        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
168694        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
168695        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
168696        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
168697        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
168698        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
168699        (WebCore::ScrollAnimatorMac::willStartLiveResize):
168700        (WebCore::ScrollAnimatorMac::contentsResized):
168701        (WebCore::ScrollAnimatorMac::willEndLiveResize):
168702        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
168703        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
168704        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
168705        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
168706        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
168707        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
168708        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
168709        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
168710        (WebCore::ScrollAnimatorMac::cancelAnimations):
168711        (WebCore::ScrollAnimatorMac::setIsActive):
168712        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
168713        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
168714        * platform/mac/ScrollElasticityController.h:
168715        * platform/mac/ScrollbarThemeMac.h:
168716        * platform/mac/ScrollbarThemeMac.mm:
168717        (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
168718        (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
168719        (WebCore::ScrollbarTheme::nativeTheme):
168720        (WebCore::updateArrowPlacement):
168721        (WebCore::ScrollbarThemeMac::registerScrollbar):
168722        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
168723        (WebCore::ScrollbarThemeMac::scrollbarThickness):
168724        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
168725        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
168726        (WebCore::ScrollbarThemeMac::hasButtons):
168727        (WebCore::ScrollbarThemeMac::hasThumb):
168728        (WebCore::ScrollbarThemeMac::minimumThumbLength):
168729        (WebCore::scrollbarPartToHIPressedState):
168730        (WebCore::ScrollbarThemeMac::updateEnabledState):
168731        (WebCore::ScrollbarThemeMac::paint):
168732
1687332011-12-19  Adam Klein  <adamk@chromium.org>
168734
168735        Make all calls to NamedNodeMap::setAttributes go through Element
168736        https://bugs.webkit.org/show_bug.cgi?id=74895
168737
168738        Reviewed by Ryosuke Niwa.
168739
168740        There are two reasons for this change. One is an optimization: some
168741        callers were previously always creating a NamedNodeMap even if the
168742        source didn't have any attributes.
168743
168744        The other reason is forward-looking: setAttributes' behavior is subtly
168745        wrong in the presence of MutationObservers. This doesn't matter
168746        for most callers since the element on which setAttributesFromElement
168747        is called is newly-created. In the editing case, however, it could
168748        make a difference in behavior, which I hope to fix in a future change
168749        without sacrificing the performance of cloneNode() on an Element
168750        (which is what NamedNodeMap::setAttributes is designed for).
168751
168752        No new tests, no change in behavior.
168753
168754        * dom/Element.cpp:
168755        (WebCore::Element::cloneElementWithoutChildren): Call setAttributesFromElement.
168756        * dom/Element.h:
168757        (WebCore::Element::setAttributesFromElement): Create new inline helper method
168758        which conditionally forwards to NamedNodeMap::setAttribute.
168759        * dom/NamedNodeMap.h: Make setAttributes private (Element is already a friend).
168760        * editing/ReplaceNodeWithSpanCommand.cpp:
168761        (WebCore::swapInNodePreservingAttributesAndChildren): Call setAttributesFromElement.
168762        * inspector/InspectorDOMAgent.cpp:
168763        (WebCore::InspectorDOMAgent::setNodeName): Call setAttributesFromElement.
168764        * svg/SVGUseElement.cpp:
168765        (WebCore::SVGUseElement::expandSymbolElementsInShadowTree): Call setAttributesFromElement.
168766        (WebCore::SVGUseElement::transferUseAttributesToReplacedElement): Call setAttributesFromElement
168767        and make use of ASSERT_NO_EXCEPTION to make code easier to read.
168768
1687692011-12-19  Leo Yang  <leo.yang@torchmobile.com.cn>
168770
168771        [BlackBerry] Upstream the BlackBerry change to ResourceRequestBase.cpp
168772        https://bugs.webkit.org/show_bug.cgi?id=74910
168773
168774        Reviewed by Daniel Bates.
168775
168776        No functionality change to the existing code, no new tests.
168777
168778        * platform/network/ResourceRequestBase.cpp: The BlackBerry porting has its own
168779        initializeMaximumHTTPConnectionCountPerHost(). Exclude the default implementation.
168780
1687812011-12-19  Leo Yang  <leo.yang@torchmobile.com.cn>
168782
168783        [BlackBerry] Upstream the BlackBerry change to NetworkStateNotifier.h
168784        https://bugs.webkit.org/show_bug.cgi?id=74904
168785
168786        Reviewed by Daniel Bates.
168787
168788        No functionality change to existing code, no new tests.
168789
168790        * platform/network/NetworkStateNotifier.h:
168791
1687922011-12-19  Yael Aharon  <yael.aharon@nokia.com>
168793
168794        Update dropzone implementation per spec update
168795        https://bugs.webkit.org/show_bug.cgi?id=74834
168796
168797        Reviewed by Tony Chang.
168798
168799        Update support for dropzone attribute to use file: and string: instead of f: and s:. 
168800        http://www.whatwg.org/specs/web-apps/current-work/#the-dropzone-attribute
168801
168802        No new tests. Existing tests cover this and were updated.
168803
168804        * dom/Clipboard.cpp:
168805        (WebCore::Clipboard::hasDropZoneType):
168806
1688072011-12-19  Sam Weinig  <sam@webkit.org>
168808
168809        Add support for scrollLineDown: and scrollLineUp: NSResponder selectors
168810        https://bugs.webkit.org/show_bug.cgi?id=74907
168811
168812        Reviewed by Dan Bernstein.
168813
168814        Added API test: WebKit2.ScrollByLineCommands
168815
168816        * editing/EditorCommand.cpp:
168817        (WebCore::executeScrollLineUp):
168818        (WebCore::executeScrollLineDown):
168819        (WebCore::createCommandMap):
168820        Add implementations for scrollLineUp/Down. Do not expose
168821        these to execCommand
168822
1688232011-12-19  Huang Dongsung  <luxtella@company100.net>
168824
168825        [QT] WebGL can not make the frame buffer with the stencil buffer.
168826        https://bugs.webkit.org/show_bug.cgi?id=74783
168827
168828        When initializing a framebuffer in OpenGL ES 2, we need to initialize the depth
168829        and stencil buffers separately, as opposed to the combined depth-stencil buffer
168830        we initialize for desktop GL.
168831
168832        This makes fast/canvas/webgl/context-attributes-depth-stencil-combination.html
168833        work in OpenGL ES 2.
168834
168835        Reviewed by Noam Rosenthal.
168836
168837        * platform/graphics/GraphicsContext3D.h:
168838        * platform/graphics/qt/GraphicsContext3DQt.cpp:
168839        (WebCore::GraphicsContext3D::GraphicsContext3D):
168840        (WebCore::GraphicsContext3D::~GraphicsContext3D):
168841        (WebCore::GraphicsContext3D::reshape):
168842
1688432011-12-19  Ami Fischman  <fischman@chromium.org>
168844
168845        Teach VideoLayerChromium how to render native texture (to support HW video decode).
168846        https://bugs.webkit.org/show_bug.cgi?id=73043
168847
168848        Reviewed by James Robinson.
168849        
168850        Fix the life-cycle of video frames handled by VideoLayerChromium/CCVideoLayerImpl.
168851        VideoFrameProvider::{get,put}CurrentFrame provide lease semantics.  Previously
168852        VideoLayerChromium would acquire the lease for the duration of copying the frame,
168853        even if that was only a texture ID, and immediately return the lease, while
168854        CCVideoLayerImpl::draw() would come along later and use the (no-longer locked)
168855        texture optimistically.  This change makes it so that CCVideoLayerImpl holds
168856        the frame's lease for the duration of draw(), guaranteeing the frame is valid to read.
168857
168858        Existing test coverage (compositing/video/, LayoutTests).  HW render of
168859        HW-decoded textures is not yet tested explicitly.
168860
168861        * platform/graphics/chromium/VideoLayerChromium.cpp:
168862        (WebCore::VideoLayerChromium::VideoLayerChromium):
168863        (WebCore::VideoLayerChromium::~VideoLayerChromium):
168864        (WebCore::VideoLayerChromium::createCCLayerImpl):
168865        (WebCore::VideoLayerChromium::releaseProvider):
168866        * platform/graphics/chromium/VideoLayerChromium.h:
168867        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
168868        (WebCore::CCVideoLayerImpl::CCVideoLayerImpl):
168869        (WebCore::CCVideoLayerImpl::~CCVideoLayerImpl):
168870        (WebCore::CCVideoLayerImpl::setProvider):
168871        (WebCore::convertVFCFormatToGC3DFormat):
168872        (WebCore::CCVideoLayerImpl::draw):
168873        (WebCore::CCVideoLayerImpl::copyFrameToTextures):
168874        (WebCore::CCVideoLayerImpl::copyPlaneToTexture):
168875        (WebCore::computeVisibleSize):
168876        (WebCore::CCVideoLayerImpl::reserveTextures):
168877        (WebCore::CCVideoLayerImpl::drawYUV):
168878        (WebCore::CCVideoLayerImpl::drawCommon):
168879        (WebCore::CCVideoLayerImpl::drawRGBA):
168880        (WebCore::CCVideoLayerImpl::drawNativeTexture):
168881        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
168882
1688832011-12-19  Sam Weinig  <sam@webkit.org>
168884
168885        More PlatformEvent cleanup
168886        https://bugs.webkit.org/show_bug.cgi?id=74831
168887
168888        Reviewed by Dan Bernstein.
168889
168890        * platform/PlatformMouseEvent.h:
168891        (WebCore::PlatformMouseEvent::position):
168892        Rename pos -> position(). Remove x() and y() accessors.
168893
168894        (WebCore::PlatformMouseEvent::globalPosition):
168895        Added. Replaces globalX() and globalY() accessors.
168896
168897        (WebCore::PlatformMouseEvent::movementDelta):
168898        Added. Replaces movementX() and movementY() accessors.
168899
168900        * platform/PlatformWheelEvent.h:
168901        (WebCore::PlatformWheelEvent::position):
168902        Renamed pos -> position().
168903
168904        (WebCore::PlatformWheelEvent::globalPosition):
168905        Renamed globalPos -> globalPosition().
168906
168907        * dom/MouseEvent.cpp:
168908        (WebCore::MouseEvent::create):
168909        * dom/WheelEvent.cpp:
168910        (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
168911        * page/DragController.cpp:
168912        (WebCore::DragController::startDrag):
168913        * page/EventHandler.cpp:
168914        (WebCore::EventHandler::handleMousePressEventSingleClick):
168915        (WebCore::EventHandler::handleMousePressEvent):
168916        (WebCore::EventHandler::eventMayStartDrag):
168917        (WebCore::EventHandler::handleMouseReleaseEvent):
168918        (WebCore::EventHandler::selectCursor):
168919        (WebCore::EventHandler::handleMouseDoubleClickEvent):
168920        (WebCore::EventHandler::handleMouseMoveEvent):
168921        (WebCore::EventHandler::dispatchDragEvent):
168922        (WebCore::EventHandler::prepareMouseEvent):
168923        (WebCore::EventHandler::dispatchMouseEvent):
168924        (WebCore::EventHandler::handleWheelEvent):
168925        (WebCore::EventHandler::sendContextMenuEvent):
168926        (WebCore::EventHandler::handleDrag):
168927        (WebCore::EventHandler::handleTouchEvent):
168928        * page/chromium/EventHandlerChromium.cpp:
168929        (WebCore::EventHandler::passMousePressEventToSubframe):
168930        * platform/Scrollbar.cpp:
168931        (WebCore::Scrollbar::mouseMoved):
168932        (WebCore::Scrollbar::mouseDown):
168933        * platform/ScrollbarThemeComposite.cpp:
168934        (WebCore::ScrollbarThemeComposite::hitTest):
168935        * platform/chromium/PopupContainer.cpp:
168936        (WebCore::constructRelativeMouseEvent):
168937        (WebCore::constructRelativeWheelEvent):
168938        * platform/chromium/PopupListBox.cpp:
168939        (WebCore::PopupListBox::handleMouseDownEvent):
168940        (WebCore::PopupListBox::handleMouseMoveEvent):
168941        (WebCore::PopupListBox::handleMouseReleaseEvent):
168942        (WebCore::PopupListBox::handleWheelEvent):
168943        * platform/chromium/ScrollbarThemeChromiumWin.cpp:
168944        (WebCore::ScrollbarThemeChromiumWin::shouldSnapBackToDragOrigin):
168945        * platform/qt/ScrollbarQt.cpp:
168946        (WebCore::Scrollbar::contextMenu):
168947        * platform/qt/ScrollbarThemeQt.cpp:
168948        (WebCore::ScrollbarThemeQt::hitTest):
168949        * platform/win/ScrollbarThemeWin.cpp:
168950        (WebCore::ScrollbarThemeWin::shouldSnapBackToDragOrigin):
168951        * rendering/RenderLayer.cpp:
168952        (WebCore::RenderLayer::resize):
168953        Update to use new names, access style.
168954
1689552011-12-19  Adam Klein  <adamk@chromium.org>
168956
168957        Remove unused ExceptionCode& argument from Element::setAttribute(QualifiedName)
168958        https://bugs.webkit.org/show_bug.cgi?id=74740
168959
168960        Reviewed by Ryosuke Niwa.
168961
168962        Updated lots of callers to remove third argument. The list of changes
168963        below only lists things other than updating callers.
168964
168965        * dom/Document.cpp:
168966        (WebCore::Document::importNode):
168967        * dom/Element.cpp:
168968        (WebCore::Element::setAttribute):
168969        (WebCore::Element::setAttributeNS):
168970        (WebCore::Element::setIntegralAttribute):
168971        (WebCore::Element::setUnsignedIntegralAttribute):
168972        * dom/Element.h: Removed third arg from method, removed old two-arg
168973        overload which now has an identical signature.
168974        * editing/mac/EditorMac.mm: Updated caller and used
168975        ASSERT_NO_EXCEPTION for nearby code.
168976        (WebCore::styleForSelectionStart):
168977        * html/HTMLElement.cpp:
168978        (WebCore::HTMLElement::setContentEditable):
168979        * inspector/InspectorDOMAgent.cpp:
168980        (WebCore::InspectorDOMAgent::setAttributesAsText):
168981        * svg/SVGAnimationElement.cpp:
168982        (WebCore::SVGAnimationElement::setTargetAttributeAnimatedValue):
168983        * svg/SVGElement.idl: Removed 'setter raises(DOMException)'
168984        * svg/SVGGlyphRefElement.idl: ditto.
168985        * svg/SVGStyleElement.cpp:
168986        (WebCore::SVGStyleElement::setType):
168987        (WebCore::SVGStyleElement::setMedia):
168988        (WebCore::SVGStyleElement::setTitle):
168989        * xml/parser/XMLTreeBuilder.cpp:
168990        (WebCore::XMLTreeBuilder::processAttributes):
168991
1689922011-12-19  Kentaro Hara  <haraken@chromium.org>
168993
168994        Unreviewed. Rebaselined run-bindings-tests results.
168995
168996        * bindings/scripts/test/JS/JSFloat64Array.h:
168997        (WebCore::JSFloat64Array::create):
168998        (WebCore::JSFloat64ArrayPrototype::create):
168999        (WebCore::JSFloat64ArrayConstructor::create):
169000        * bindings/scripts/test/JS/JSTestEventConstructor.h:
169001        (WebCore::JSTestEventConstructor::create):
169002        (WebCore::JSTestEventConstructorPrototype::create):
169003        (WebCore::JSTestEventConstructorConstructor::create):
169004        * bindings/scripts/test/JS/JSTestInterface.h:
169005        (WebCore::JSTestInterface::create):
169006        (WebCore::JSTestInterfacePrototype::create):
169007        (WebCore::JSTestInterfaceConstructor::create):
169008        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
169009        (WebCore::JSTestMediaQueryListListener::create):
169010        (WebCore::JSTestMediaQueryListListenerPrototype::create):
169011        (WebCore::JSTestMediaQueryListListenerConstructor::create):
169012        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
169013        (WebCore::JSTestNamedConstructor::create):
169014        (WebCore::JSTestNamedConstructorPrototype::create):
169015        (WebCore::JSTestNamedConstructorConstructor::create):
169016        (WebCore::JSTestNamedConstructorNamedConstructor::create):
169017        * bindings/scripts/test/JS/JSTestObj.h:
169018        (WebCore::JSTestObj::create):
169019        (WebCore::JSTestObjPrototype::create):
169020        (WebCore::JSTestObjConstructor::create):
169021        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
169022        (WebCore::JSTestSerializedScriptValueInterface::create):
169023        (WebCore::JSTestSerializedScriptValueInterfacePrototype::create):
169024        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::create):
169025
1690262011-12-19  James Robinson  <jamesr@chromium.org>
169027
169028        [chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
169029        https://bugs.webkit.org/show_bug.cgi?id=74376
169030
169031        Reviewed by Kenneth Russell.
169032
169033        CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
169034        CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
169035        frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
169036        implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
169037        scheduling decision.
169038
169039        This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
169040        CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.
169041
169042        There is a large amount of unit test coverage for this change, largely in LayerChromiumTest
169043
169044        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
169045        * platform/graphics/chromium/GraphicsLayerChromium.h:
169046        * platform/graphics/chromium/LayerChromium.cpp:
169047        (WebCore::LayerChromium::setNeedsCommit):
169048        (WebCore::LayerChromium::insertChild):
169049        * platform/graphics/chromium/LayerChromium.h:
169050        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
169051        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
169052        (WebCore::CCLayerTreeHost::setRootLayer):
169053        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
169054        * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
169055        (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):
169056
1690572011-12-19  Sailesh Agrawal <sail@chromium.org>
169058
169059        Merge ScrollAnimatorChromiumMac.mm back to ScrollAnimatorMac
169060        https://bugs.webkit.org/show_bug.cgi?id=61144
169061
169062        Reviewed by Beth Dakin.
169063
169064        At a high level the main changes are:
169065            - replace #ifdefs in ScrollAnimatorMac and ScrollbarThemeMac with run time checks
169066            - delete duplicate code in ScrollbarThemeChromiumMac. Keep the paint code since it does tickmarks and SKIA stuff.
169067            - delete ScrollAnimatorChromiumMac since ScrollAnimatorMac does the exact same thing
169068            - delete ScrollbarOverlayUtilitiesChromiumMac since NSScrollerImpDetails does the same thing
169069
169070        No new tests. Just refactoring.
169071
169072        * WebCore.gyp/WebCore.gyp:
169073        * WebCore.gypi:
169074        * WebCore.xcodeproj/project.pbxproj:
169075        * platform/chromium/ScrollAnimatorChromiumMac.h: Removed.
169076        * platform/chromium/ScrollAnimatorChromiumMac.mm: Removed.
169077        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.h: Removed.
169078        * platform/chromium/ScrollbarOverlayUtilitiesChromiumMac.mm: Removed.
169079        * platform/chromium/ScrollbarThemeChromiumMac.h:
169080        * platform/chromium/ScrollbarThemeChromiumMac.mm:
169081        (WebCore::ScrollbarThemeChromiumMac::ScrollbarThemeChromiumMac):
169082        (WebCore::scrollbarPainterPaintTrack):
169083        (WebCore::ScrollbarThemeChromiumMac::paint):
169084        * platform/mac/EmptyProtocolDefinitions.h:
169085        * platform/mac/NSScrollerImpDetails.h:
169086        (WebCore::isScrollbarOverlayAPIAvailable):
169087        * platform/mac/NSScrollerImpDetails.mm: Added.
169088        (WebCore::isScrollbarOverlayAPIAvailable):
169089        (WebCore::recommendedScrollerStyle):
169090        * platform/mac/ScrollAnimatorMac.h:
169091        * platform/mac/ScrollAnimatorMac.mm:
169092        (scrollbarPainterForScrollbar):
169093        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
169094        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
169095        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
169096        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
169097        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
169098        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
169099        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
169100        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
169101        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
169102        (WebCore::ScrollAnimatorMac::willStartLiveResize):
169103        (WebCore::ScrollAnimatorMac::contentsResized):
169104        (WebCore::ScrollAnimatorMac::willEndLiveResize):
169105        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
169106        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
169107        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
169108        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
169109        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
169110        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
169111        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
169112        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
169113        (WebCore::ScrollAnimatorMac::cancelAnimations):
169114        (WebCore::ScrollAnimatorMac::setIsActive):
169115        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
169116        (WebCore::ScrollAnimatorMac::initialScrollbarPaintTimerFired):
169117        * platform/mac/ScrollElasticityController.h:
169118        * platform/mac/ScrollbarThemeMac.h:
169119        * platform/mac/ScrollbarThemeMac.mm:
169120        (+[WebScrollbarPrefsObserver appearancePrefsChanged:]):
169121        (+[WebScrollbarPrefsObserver behaviorPrefsChanged:]):
169122        (WebCore::updateArrowPlacement):
169123        (WebCore::ScrollbarThemeMac::registerScrollbar):
169124        (WebCore::ScrollbarThemeMac::setIsCurrentlyDrawingIntoLayer):
169125        (WebCore::ScrollbarThemeMac::ScrollbarThemeMac):
169126        (WebCore::ScrollbarThemeMac::scrollbarThickness):
169127        (WebCore::ScrollbarThemeMac::usesOverlayScrollbars):
169128        (WebCore::ScrollbarThemeMac::updateScrollbarOverlayStyle):
169129        (WebCore::ScrollbarThemeMac::hasButtons):
169130        (WebCore::ScrollbarThemeMac::hasThumb):
169131        (WebCore::ScrollbarThemeMac::minimumThumbLength):
169132        (WebCore::ScrollbarThemeMac::scrollbarPartToHIPressedState):
169133        (WebCore::ScrollbarThemeMac::updateEnabledState):
169134        (WebCore::scrollbarPainterPaint):
169135        (WebCore::ScrollbarThemeMac::paint):
169136
1691372011-12-19  James Robinson  <jamesr@chromium.org>
169138
169139        [chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
169140        https://bugs.webkit.org/show_bug.cgi?id=74477
169141
169142        Reviewed by Kenneth Russell.
169143
169144        This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
169145        lazily setting it in the paintContents loop. There are two invariants:
169146        1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
169147        replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
169148        refers to that CCLayerTreeHost
169149        2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
169150        CCLayerTreeHost pointer is nil.
169151
169152        Covered by several new layout tests in LayerChromiumTest
169153
169154        * platform/graphics/chromium/LayerChromium.cpp:
169155        (WebCore::LayerChromium::setLayerTreeHost):
169156        (WebCore::LayerChromium::setParent):
169157        (WebCore::LayerChromium::setMaskLayer):
169158        (WebCore::LayerChromium::setReplicaLayer):
169159        * platform/graphics/chromium/LayerChromium.h:
169160        * platform/graphics/chromium/TiledLayerChromium.cpp:
169161        (WebCore::TiledLayerChromium::createTile):
169162        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
169163        (WebCore::CCLayerTreeHost::setRootLayer):
169164        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
169165        (WebCore::CCLayerTreeHost::paintLayerContents):
169166        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
169167
1691682011-12-19  Joshua Bell  <jsbell@chromium.org>
169169
169170        IndexedDB multiple calls to transaction.objectStore(name) should return the same instance
169171        https://bugs.webkit.org/show_bug.cgi?id=60208
169172
169173        Reviewed by Tony Chang.
169174
169175        Ditto for calls to IDBObjectStore.index(). Calling these methods after the
169176        enclosing transaction has finished now consistently throws an error, which
169177        allows us to break reference cycles.
169178
169179        Test: storage/indexeddb/mozilla/object-identity.html
169180
169181        * storage/IDBDatabase.cpp:
169182        (WebCore::IDBDatabase::createObjectStore):
169183        * storage/IDBObjectStore.cpp:
169184        (WebCore::IDBObjectStore::createIndex):
169185        (WebCore::IDBObjectStore::index):
169186        (WebCore::IDBObjectStore::transactionFinished):
169187        * storage/IDBObjectStore.h:
169188        * storage/IDBTransaction.cpp:
169189        (WebCore::IDBTransaction::objectStore):
169190        (WebCore::IDBTransaction::objectStoreCreated):
169191        (WebCore::IDBTransaction::dispatchEvent):
169192        * storage/IDBTransaction.h:
169193
1691942011-12-19  Anders Carlsson  <andersca@apple.com>
169195
169196        Send gesture events through the event dispatcher and scrolling coordinator
169197        https://bugs.webkit.org/show_bug.cgi?id=74879
169198
169199        Reviewed by Andreas Kling.
169200
169201        * WebCore.exp.in:
169202        Export ScrollingCoordinator::handleGestureEvent.
169203
169204        * page/ScrollingCoordinator.cpp:
169205        (WebCore::ScrollingCoordinator::handleGestureEvent):
169206        * page/ScrollingCoordinator.h:
169207        Add handleGestureEvent stub.
169208
1692092011-12-19  Kentaro Hara  <haraken@chromium.org>
169210
169211        Move WebAudio and WebSocket getters from JSDOMWindowCustom.cpp
169212        to JSDOMWindow{WebAudio,WebSocket}Custom.cpp
169213        https://bugs.webkit.org/show_bug.cgi?id=74841
169214
169215        Reviewed by Adam Barth.
169216
169217        This is the second step for bug 74599. We are planning to enable the [Supplemental]
169218        IDL and modularize WebAudio and WebSocket on AppleWebKit. This patch moves
169219        webkitAudioContext() and webSocket() from JSDOMWindowCustom.cpp to JSDOMWindowWebAudioCustom.cpp
169220        and JSDOMWindowWebSocketCustom.cpp, for modularization.
169221
169222        Tests: Confirm that build succeeds.
169223               http/tests/websocket/tests/*
169224
169225        * GNUmakefile.list.am: Added JSDOMWindowWebAudioCustom.cpp and JSDOMWindowWebSocketCustom.cpp.
169226        * Target.pri: Ditto.
169227        * UseJSC.cmake: Ditto.
169228        * WebCore.gypi: Ditto.
169229        * WebCore.vcproj/WebCore.vcproj: Ditto.
169230        * WebCore.xcodeproj/project.pbxproj: Ditto.
169231        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
169232
169233        * bindings/js/JSDOMWindowCustom.cpp: For now we do not remove settingsForWindow(),
169234        webkitAudioContext() and webSocket(), since other build systems are still using them.
169235        We will remove them after all build systems implement the [Supplemental] IDL.
169236        * bindings/js/JSDOMWindowWebAudioCustom.cpp: Added.
169237        (WebCore::settingsForWindowWebAudio):
169238        (WebCore::JSDOMWindow::webkitAudioContext):
169239        * bindings/js/JSDOMWindowWebSocketCustom.cpp: Added.
169240        (WebCore::settingsForWindowWebSocket):
169241        (WebCore::JSDOMWindow::webSocket):
169242
169243        * bindings/scripts/CodeGeneratorJS.pm: Until we implement the [Supplemental] IDL
169244        on all build systems, we need to temporarily allow two kinds of webkitAudioContext()
169245        and webSocket().
169246        (GenerateHeader):
169247
1692482011-12-16  Zhenyao Mo  <zmo@google.com>
169249
169250        Postpone deleteRenderbuffer/deleteTexture until all framebuffer attachment points are removed.
169251        https://bugs.webkit.org/show_bug.cgi?id=74741
169252
169253        Reviewed by Kenneth Russell.
169254
169255        Use WebGLObject's attachment count mechanism to track if a renderbuffer/texture
169256        is still attached to framebuffers, and if its deletion should be delated or not.
169257
169258        * html/canvas/WebGLFramebuffer.cpp:
169259        (WebCore::WebGLFramebuffer::setAttachmentForBoundFramebuffer):
169260        (WebCore::WebGLFramebuffer::getAttachment):
169261        (WebCore::WebGLFramebuffer::removeAttachmentFromBoundFramebuffer):
169262        (WebCore::WebGLFramebuffer::deleteObjectImpl):
169263        (WebCore::WebGLFramebuffer::isBound):
169264        * html/canvas/WebGLFramebuffer.h:
169265
1692662011-12-19  Iain Merrick  <husky@google.com>
169267
169268        [chromium] Accelerated canvas broken in threaded compositing mode
169269        https://bugs.webkit.org/show_bug.cgi?id=72738
169270
169271        We were flushing the Skia canvas in updateCompositorResources, which
169272        is illegal as it runs on the wrong thread. Moved to paintContentsIfDirty
169273        instead. For correct rendering on the compositor thread, we make a copy
169274        of the canvas texture in updateCompositorResources.
169275
169276        Removed m_textureId and pushPropertiesTo from CanvasLayerChromium, as
169277        it's no longer common between Canvas2DLayerChromium and
169278        WebGLLayerChromium. WebGL changes do not change functionality.
169279
169280        Reviewed by James Robinson.
169281
169282        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
169283        (WebCore::Canvas2DLayerChromium::create):
169284        (WebCore::Canvas2DLayerChromium::Canvas2DLayerChromium):
169285        (WebCore::Canvas2DLayerChromium::~Canvas2DLayerChromium):
169286        (WebCore::Canvas2DLayerChromium::setTextureId):
169287        (WebCore::Canvas2DLayerChromium::contentChanged):
169288        (WebCore::Canvas2DLayerChromium::drawsContent):
169289        (WebCore::Canvas2DLayerChromium::paintContentsIfDirty):
169290        (WebCore::Canvas2DLayerChromium::setLayerTreeHost):
169291        (WebCore::Canvas2DLayerChromium::setTextureManager):
169292        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
169293        (WebCore::Canvas2DLayerChromium::pushPropertiesTo):
169294        (WebCore::Canvas2DLayerChromium::unreserveContentsTexture):
169295        (WebCore::Canvas2DLayerChromium::cleanupResources):
169296        * platform/graphics/chromium/Canvas2DLayerChromium.h:
169297        * platform/graphics/chromium/CanvasLayerChromium.cpp:
169298        (WebCore::CanvasLayerChromium::CanvasLayerChromium):
169299        * platform/graphics/chromium/CanvasLayerChromium.h:
169300        * platform/graphics/chromium/WebGLLayerChromium.cpp:
169301        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
169302        (WebCore::WebGLLayerChromium::pushPropertiesTo):
169303        * platform/graphics/chromium/WebGLLayerChromium.h:
169304        (WebCore::WebGLLayerChromium::textureId):
169305        (WebCore::WebGLLayerChromium::setTextureId):
169306        * platform/graphics/chromium/cc/CCCanvasLayerImpl.h:
169307        (WebCore::CCCanvasLayerImpl::textureId):
169308        * platform/graphics/skia/ImageBufferSkia.cpp:
169309        (WebCore::createAcceleratedCanvas):
169310
1693112011-12-19  Mike Reed  <reed@google.com>
169312
169313        [skia] cache typeface in FontPlatformData
169314        https://bugs.webkit.org/show_bug.cgi?id=74415
169315
169316        Reviewed by Stephen White.
169317
169318        No new tests. optimization only, existing tests in play
169319
169320        * platform/graphics/chromium/FontChromiumWin.cpp:
169321        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
169322        (WebCore::Font::drawGlyphs):
169323        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
169324        (WebCore::CreateTypefaceFromHFont):
169325        (WebCore::FontPlatformData::FontPlatformData):
169326        (WebCore::FontPlatformData::operator=):
169327        (WebCore::FontPlatformData::~FontPlatformData):
169328        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
169329        (WebCore::FontPlatformData::typeface):
169330        (WebCore::FontPlatformData::lfQuality):
169331        (WebCore::FontPlatformData::hash):
169332        * platform/graphics/skia/SkiaFontWin.cpp:
169333        (WebCore::setupPaintForFont):
169334        (WebCore::paintSkiaText):
169335        * platform/graphics/skia/SkiaFontWin.h:
169336
1693372011-12-04  Robert Hogan  <robert@webkit.org>
169338
169339        CSS 2.1 failure: border-conflict-element-*
169340        https://bugs.webkit.org/show_bug.cgi?id=71244
169341
169342        Reviewed by Darin Adler.
169343
169344        From http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution :
169345         "When two adjacent cells have the same border-width and the same border-style in a 
169346          'border-collapse: collapse' table, then the color of the border from the leftmost cell wins
169347          (if the table's 'direction' is 'ltr'; right, if it is 'rtl') and the color of the border
169348          from the topmost cell wins."
169349
169350        RenderTable manages collapsed borders by first creating a list of unique border values sorted in ascending
169351        priority. A unique border value is determined by style, width and color and cell-type precedence. For each 
169352        entry in this list RenderTableSection paints each cell in its section starting at the top-left. If a cell 
169353        is using the border RenderTable is currently iterating for, the cell will paint that border. 
169354
169355        The problems with this approach are:
169356          1. Painting cells from the top-left to the bottom-right means that borders further to the right and to the bottom
169357             of the table will paint over those further to the left and the top, breaking the precedence due to cell position.
169358          2. It creates more unique borders in the list than necessary. Borders that differ only on color do not need to be painted in 
169359             a separate iteration. Precedence in such cases is determined by cell position.
169360
169361        So in order to respect cell position when painting collapsed borders:
169362          1. RenderTableCell now treats borders with the same style, width and precedence as equal. This results in a performance
169363             improvement on tables where collapsed borders differ only in color, since RenderTable is no longer painting every cell in the table
169364             for each unique collapsed border color. It also allows color to be a function of cell position rather than border type.
169365          2. RenderTableSection now paints collapsed borders separately from cells and from the bottom-right to the top-left instead of top-left
169366             to bottom-right. If a collapsed border has precedence due to style, width or cell-group-type it will still be respected but precedence 
169367             due to color is enforced by painting cells nearer to the top and left *after* cells nearer to the bottom and right.
169368
169369        The order in which collapsed borders paint over each other in the same cell has not changed. Unlike Firefox,
169370        WebKit does not attempt render them as diagonals or attempt to give borders on the edge of the table precedence
169371        so that grooved and ridged styles have a smooth edge all round the table.
169372
169373        This fixes the following failing tests from the border-conflict-element-* set
169374        in the CSS 2.1 test suite:
169375          border-conflict-element-001d.htm
169376          border-conflict-element-0037.htm
169377          border-conflict-element-0038.htm
169378
169379        One test in the suite is known to be wrong, so a corrected version has been landed outside the 
169380        css2.1 folder:
169381          border-conflict-element-002.htm
169382
169383        This change entails rebaselining quite a few tests, see the LayoutTests ChangeLog for a full
169384        explanation of the rebaselines.
169385
169386        * rendering/RenderTableCell.cpp:
169387        (WebCore::RenderTableCell::paint):
169388        (WebCore::addBorderStyle):
169389        (WebCore::compareBorderValuesForQSort):
169390        (WebCore::RenderTableCell::paintCollapsedBorders):
169391        * rendering/RenderTableCell.h:
169392        * rendering/RenderTableSection.cpp:
169393        (WebCore::RenderTableSection::paintCell):
169394        (WebCore::RenderTableSection::paintObject):
169395        * rendering/style/CollapsedBorderValue.h:
169396        (WebCore::CollapsedBorderValue::isSameIgnoringColor):
169397
1693982011-12-19  Jer Noble  <jer.noble@apple.com>
169399
169400        MediaController: cannot scrub while playing.
169401        https://bugs.webkit.org/show_bug.cgi?id=74870
169402        rdar://problem/10602037
169403
169404        Reviewed by Eric Carlson.
169405
169406        Updated media/media-controller-playback.html test.
169407
169408        * html/HTMLMediaElement.cpp:
169409        (WebCore::HTMLMediaElement::setController): Change order of operations; set the controllers media
169410            element before passing controller to the controls.
169411        * html/MediaController.cpp:
169412        (MediaController::updatePlaybackState): Stop the playback clock when WAITING or ENDED.
169413        (MediaController::beginScrubbing): Stop the playback clock.
169414        (MediaController::endScrubbing): Restart (if necessary) the playback clock.
169415        (MediaController::canPlay): Return true if paused.
169416        * platform/mac/PlatformClockCA.cpp:
169417        (PlatformClockCA::setCurrentTime): Stop the CAClock before changing the current time.
169418
1694192011-12-19  Adam Barth  <abarth@webkit.org>
169420
169421        We don't pass all of the html5lib unsafe-text.dat tests
169422        https://bugs.webkit.org/show_bug.cgi?id=74825
169423
169424        Reviewed by Eric Seidel.
169425
169426        This patch is actually three (tiny) related patches.  Together these
169427        changes cause use to pass the plain-text-unsafe.dat tests from html5lib.
169428
169429        Tests: html5lib/runner.html
169430
169431        * html/parser/HTMLTokenizer.cpp:
169432        (WebCore::::shouldSkipNullCharacters):
169433            - We're not supposed to skip null characters in the PLAINTEXTState.
169434              This might cause compatibility problems with text/plain documents
169435              that contains NUL characters because we use the PLAINTEXTState
169436              to parse them.  If we run into any trouble, it's easy to fix in
169437              TextDocumentParser.
169438        * html/parser/HTMLTreeBuilder.cpp:
169439        (WebCore::HTMLTreeBuilder::constructTreeFromToken):
169440            - Fix typo.
169441        (WebCore::HTMLTreeBuilder::constructTreeFromAtomicToken):
169442            - We're supposed to replace NUL characters if the next character
169443              token if we're in foreign content.  The previous check didn't
169444              quite get this case correctly.
169445        (WebCore::HTMLTreeBuilder::processTokenInForeignContent):
169446            - Now that we replace NUL characters with the replacement
169447              character, we need to be more careful about the fact that
169448              replacement characters don't flip m_framesetOk to false.  Note:
169449              This new check matches the check for non-foreign content.
169450
1694512011-12-19  Adam Barth  <abarth@webkit.org>
169452
169453        WebKit should support HTML entities that expand to more than one character
169454        https://bugs.webkit.org/show_bug.cgi?id=74826
169455
169456        Reviewed by Darin Adler.
169457
169458        Tests: html5lib/runner.html
169459
169460        * html/parser/HTMLEntityNames.in:
169461            - Add missing HTML entities from HTML5 spec.  I'll sort this file
169462              in a followup patch.  (It's not quite sorted perfectly and
169463              sorting in this patch would introduce noise into the patch.)
169464        * html/parser/HTMLEntityParser.cpp:
169465        (WebCore::decodeNamedEntity):
169466            - convertToUTF16 always returns true, so make it return void instead.
169467            - Teach the entity parse that some entities expand to two characters.
169468        * html/parser/HTMLEntityParser.h:
169469            - Add a warning that decodeNamedEntity is really a broken API.
169470            - This patch doesn't actually change any behavior of this API, but
169471              it does illustrate that the two callers of this API (the two XML
169472              parsers) really need to move a more sensible API.
169473        * html/parser/HTMLEntitySearch.cpp:
169474        (WebCore::HTMLEntitySearch::HTMLEntitySearch):
169475        (WebCore::HTMLEntitySearch::advance):
169476        * html/parser/HTMLEntitySearch.h:
169477        (WebCore::HTMLEntitySearch::fail):
169478            - Remove the concept of currentValue.  This isn't really used for
169479              anything and conflicts with the idea that entities can expand
169480              to more than one character.
169481        * html/parser/HTMLEntityTable.h:
169482            - Add storage for two UChar32 values per entity.
169483        * html/parser/create-html-entity-table:
169484        (convert_value_to_int):
169485            - Teach this script to handle entities that expand to multiple
169486              Unicode characters.
169487        * xml/parser/CharacterReferenceParserInlineMethods.h:
169488        (WebCore::consumeCharacterReference):
169489            - Update this function now that convertToUTF16 returns void.
169490        * xml/parser/XMLCharacterReferenceParser.cpp:
169491            - The XML version of convertToUTF16 also needs to return void to
169492              match the HTML signature.  (It used to return true all the time
169493              as well.)
169494        * xml/parser/XMLTreeBuilder.cpp:
169495        (WebCore::XMLTreeBuilder::processHTMLEntity):
169496            - Update this caller use leftValue instead of value.  My sense is
169497              that this code is moderately broken today because it's using HTML
169498              entities in parsing XML.  I've added a FIXME.  This code is
169499              disabled in all builds, so I don't feel a big need to fix this
169500              issue in this patch.  We should either finish this project or
169501              delete this complexity from the project.
169502
1695032011-12-19  Andreas Kling  <kling@webkit.org>
169504
169505        Avoid instantiating ScrollAnimators when possible.
169506        <http://webkit.org/b/74830>
169507
169508        Reviewed by Beth Dakin.
169509
169510        Have RenderLayer::scrollToOffset() check if we're scrolling to the already
169511        current offset. In that case, don't call down to scrollToOffsetWithoutAnimation(),
169512        avoiding the instantiation of a ScrollAnimator.
169513
169514        This reduces memory consumption by 400 kB (on 32-bit) when viewing the full HTML5
169515        spec on <http://whatwg.org/c>, since we were creating a ScrollAnimator for every
169516        single RenderLayer.
169517
169518        * rendering/RenderLayer.cpp:
169519        (WebCore::RenderLayer::scrollToOffset):
169520
1695212011-12-19  Chris Guan  <chris.guan@torchmobile.com.cn>
169522
169523        [BlackBerry] remove one file related to multipart from the BlackBerry build system
169524        https://bugs.webkit.org/show_bug.cgi?id=74839
169525
169526        Reviewed by Daniel Bates.
169527
169528        After refactored multipart, the code of MultipartResponseDelegate have been moved 
169529        out of WebCore, we do not need to upstream MultipartResponseDelegate any more. 
169530        So remove it from PlatformBlackBerry.cmake to update build system. 
169531        
169532        * PlatformBlackBerry.cmake:
169533
1695342011-12-15  Geoffrey Garen  <ggaren@apple.com>
169535
169536        Placement new does an unnecessary NULL check
169537        https://bugs.webkit.org/show_bug.cgi?id=74676
169538
169539        Reviewed by Sam Weinig.
169540
169541        * bindings/js/JSImageConstructor.h:
169542        (WebCore::JSImageConstructor::create):
169543        * bindings/scripts/CodeGeneratorJS.pm:
169544        (GenerateHeader):
169545        (GenerateConstructorDeclaration):
169546        * bridge/c/CRuntimeObject.h:
169547        (JSC::Bindings::CRuntimeObject::create):
169548        * bridge/c/c_instance.cpp:
169549        (JSC::Bindings::CRuntimeMethod::create):
169550        * bridge/jni/jsc/JavaInstanceJSC.cpp:
169551        (JavaRuntimeMethod::create):
169552        * bridge/jni/jsc/JavaRuntimeObject.h:
169553        (JSC::Bindings::JavaRuntimeObject::create):
169554        * bridge/objc/ObjCRuntimeObject.h:
169555        (JSC::Bindings::ObjCRuntimeObject::create):
169556        * bridge/objc/objc_instance.mm:
169557        (ObjCRuntimeMethod::create):
169558        * bridge/objc/objc_runtime.h:
169559        (JSC::Bindings::ObjcFallbackObjectImp::create):
169560        * bridge/runtime_array.h:
169561        (JSC::RuntimeArray::create):
169562        * bridge/runtime_method.h:
169563        (JSC::RuntimeMethod::create):
169564        * bridge/runtime_object.h:
169565        (JSC::Bindings::RuntimeObject::create):
169566        * dom/Document.h:
169567        (WebCore::FormElementKeyHashTraits::constructDeletedValue): Use NotNull
169568        placement new, as in JavaScriptCore.
169569
169570        * platform/PODArena.h:
169571        (WebCore::PODArena::allocateObject): No need to check for NULL explicitly,
169572        since that's the built-in behavior of placement new.
169573
169574        * platform/graphics/FontCache.cpp:
169575        (WebCore::FontDataCacheKeyTraits::constructDeletedValue):
169576        * platform/graphics/IntRectHash.h:
169577        * platform/graphics/IntSizeHash.h: More NotNull.
169578
169579        * rendering/RenderObject.h: Declaring that we throw is the C++ way to say
169580        that operator new will not return NULL.
169581
1695822011-12-19  Eric Carlson  <eric.carlson@apple.com>
169583
169584        Render text tracks
169585        https://bugs.webkit.org/show_bug.cgi?id=62886
169586
169587        Reviewed by Sam Weinig.
169588
169589        Test: media/track/track-cue-rendering.html
169590
169591        * css/mediaControls.css:
169592        (video::-webkit-media-text-track-container):
169593        (video::-webkit-media-text-track-display):
169594
169595        * html/HTMLMediaElement.cpp:
169596        (WebCore::HTMLMediaElement::HTMLMediaElement): Initialize m_haveVisibleTextTrack.
169597        (WebCore::HTMLMediaElement::updateActiveTextTrackCues): Trigger an update of the text
169598            track display.
169599        (WebCore::HTMLMediaElement::textTrackModeChanged): call configureTextTrackDisplay() so 
169600            the text track display is hidden or shown when necessary.
169601        (WebCore::HTMLMediaElement::userIsInterestedInThisTrack): Minor cleanup.
169602        (WebCore::HTMLMediaElement::createMediaControls): configureMediaControls() always called
169603            reset after creating the controls, do it here instead.
169604        (WebCore::HTMLMediaElement::configureMediaControls): Simplify and cleanup.
169605        (WebCore::HTMLMediaElement::configureTextTrackDisplay): Show and hide text track display.
169606        * html/HTMLMediaElement.h:
169607        (WebCore::HTMLMediaElement::currentlyVisibleCues):
169608
169609        * html/shadow/MediaControlElements.cpp:
169610        (WebCore::RenderTextTrackContainerElement::RenderTextTrackContainerElement): New.
169611        (WebCore::RenderTextTrackContainerElement::layout): New. Call the display element so it can
169612            update the position and font size.
169613        (WebCore::MediaControlTextTrackContainerElement::MediaControlTextTrackContainerElement): New.
169614        (WebCore::MediaControlTextTrackContainerElement::create): Ditto.
169615        (WebCore::MediaControlTextTrackContainerElement::createRenderer): Ditto.
169616        (WebCore::MediaControlTextTrackContainerElement::shadowPseudoId): Ditto.
169617        (WebCore::MediaControlTextTrackContainerElement::updateSizes): Keep the cue display element
169618            positioned above the bottom of the video box, and size the font according to the video height.
169619        (WebCore::MediaControlTextTrackDisplayElement::MediaControlTextTrackDisplayElement): New.
169620        (WebCore::MediaControlTextTrackDisplayElement::create): Ditto.
169621        (WebCore::MediaControlTextTrackDisplayElement::shadowPseudoId): Ditto.
169622        * html/shadow/MediaControlElements.h:
169623        (WebCore::MediaControlTextTrackContainerElement::displayType):
169624        (WebCore::MediaControlTextTrackDisplayElement::displayType):
169625
169626        * html/shadow/MediaControlRootElement.cpp:
169627        (WebCore::MediaControlRootElement::MediaControlRootElement): New.
169628        (WebCore::MediaControlRootElement::setMediaController): Ditto.
169629        (WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
169630        (WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
169631        (WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
169632        (WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.
169633        * html/shadow/MediaControlRootElement.h:
169634
169635        * html/shadow/MediaControlRootElementChromium.cpp:
169636        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium): New.
169637        (WebCore::MediaControlRootElement::createTextTrackDisplay): Ditto.
169638        (WebCore::MediaControlRootElement::showTextTrackDisplay): Ditto.
169639        (WebCore::MediaControlRootElement::hideTextTrackDisplay): Ditto.
169640        (WebCore::MediaControlRootElement::updateTextTrackDisplay): Ditto.
169641        * html/shadow/MediaControlRootElementChromium.h:
169642        * html/shadow/MediaControls.h:
169643
1696442011-12-19  Eric Carlson  <eric.carlson@apple.com>
169645
169646        Enable <track> for Mac build
169647        https://bugs.webkit.org/show_bug.cgi?id=74838
169648
169649        Reviewed by Darin Adler.
169650
169651        * Configurations/FeatureDefines.xcconfig:
169652        * bindings/generic/RuntimeEnabledFeatures.cpp:
169653
1696542011-12-19  Kenneth Rohde Christiansen  <kenneth@webkit.org>
169655
169656        Make the Editor::setIgnoreCompositionSelectionChange public as it is needed by Qt
169657
169658        Reviewed by Simon Hausmann.
169659
169660        * editing/Editor.h:
169661
1696622011-12-19  Alexander Pavlov  <apavlov@chromium.org>
169663
169664        Web Inspector: Implement CSS selector profiler backend
169665        https://bugs.webkit.org/show_bug.cgi?id=74603
169666
169667        Reviewed by Pavel Feldman.
169668
169669        No new tests, as the changed code does not result in visible effects yet.
169670
169671        * inspector/Inspector.json:
169672        * inspector/InspectorCSSAgent.cpp:
169673        (WebCore::RuleMatchingStats::RuleMatchingStats):
169674        (WebCore::SelectorProfile::SelectorProfile):
169675        (WebCore::SelectorProfile::~SelectorProfile):
169676        (WebCore::SelectorProfile::totalMatchingTimeMs):
169677        (WebCore::SelectorProfile::startSelector):
169678        (WebCore::SelectorProfile::commitSelector):
169679        (WebCore::SelectorProfile::commitSelectorTime):
169680        (WebCore::SelectorProfile::toInspectorObject):
169681        (WebCore::InspectorCSSAgent::clearFrontend):
169682        (WebCore::InspectorCSSAgent::restore):
169683        (WebCore::InspectorCSSAgent::startSelectorProfiler):
169684        (WebCore::InspectorCSSAgent::stopSelectorProfiler):
169685        (WebCore::InspectorCSSAgent::willMatchRule):
169686        (WebCore::InspectorCSSAgent::didMatchRule):
169687        (WebCore::InspectorCSSAgent::willProcessRule):
169688        (WebCore::InspectorCSSAgent::didProcessRule):
169689        * inspector/InspectorCSSAgent.h:
169690
1696912011-12-19  Alexander Pavlov  <apavlov@chromium.org>
169692
169693        Web Inspector: Status bar button glyph for the "Record" buttons broken
169694        https://bugs.webkit.org/show_bug.cgi?id=74861
169695
169696        Reviewed by Pavel Feldman.
169697
169698        * inspector/front-end/inspector.css:
169699        (.record-cpu-profile-status-bar-item .glyph, .record-profile-status-bar-item .glyph):
169700        (.record-cpu-profile-status-bar-item.toggled-on .glyph, .record-profile-status-bar-item.toggled-on .glyph):
169701
1697022011-12-19  Pavel Feldman  <pavel.feldman@gmail.com>
169703
169704        Web Inspector: only the first @rule is highlighted in CSS
169705        https://bugs.webkit.org/show_bug.cgi?id=74568
169706
169707        Reviewed by Timothy Hatcher.
169708
169709        * inspector/front-end/SourceCSSTokenizer.js:
169710        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
169711        * inspector/front-end/SourceCSSTokenizer.re2js:
169712
1697132011-12-19  Ilya Tikhonovsky  <loislo@chromium.org>
169714
169715        Web Inspector: Feature Request: Able to remove all breakpoints.
169716        https://bugs.webkit.org/show_bug.cgi?id=63055
169717
169718        Reviewed by Pavel Feldman.
169719
169720        * English.lproj/localizedStrings.js:
169721        * inspector/front-end/BreakpointManager.js:
169722        (WebInspector.BreakpointManager.prototype.removeAllBreakpoints):
169723        * inspector/front-end/BreakpointsSidebarPane.js:
169724        (WebInspector.JavaScriptBreakpointsSidebarPane):
169725        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._breakpointContextMenu):
169726        (WebInspector.JavaScriptBreakpointsSidebarPane.prototype._contextMenu):
169727        * inspector/front-end/DebuggerPresentationModel.js:
169728        (WebInspector.DebuggerPresentationModel.prototype.removeAllBreakpoints):
169729
1697302011-12-19  Benjamin Poulain  <benjamin@webkit.org>
169731
169732        Build fix for ScrollingCoordinatorMac.mm when building on a case sensitive system
169733
169734        Unreviewed build fix for r103180. StdlibExtras.h->StdLibExtras.h to compile on case sensitive system.
169735
169736        * page/mac/ScrollingCoordinatorMac.mm:
169737
1697382011-12-19  Kentaro Hara  <haraken@chromium.org>
169739
169740        Remove unnecessary [JSCCustomGetter] IDLs from DOMWindow.idl
169741        https://bugs.webkit.org/show_bug.cgi?id=74829
169742
169743        Reviewed by Adam Barth.
169744
169745        Now JSC has implemented the [Constructor] IDL and it generates
169746        getDOMConstructor() automatically. This patch removes hand-written
169747        unnecessary getDOMConstructor()s from JSDOMWindowCustom.cpp.
169748
169749        No new tests. No change in behavior.
169750
169751        * bindings/js/JSDOMWindowCustom.cpp:
169752        * page/DOMWindow.idl:
169753
1697542011-12-19  Adam Barth  <abarth@webkit.org>
169755
169756        The HTML parser doesn't enforce the "Noah's Ark condition" from the HTML5 spec
169757        https://bugs.webkit.org/show_bug.cgi?id=74828
169758
169759        Reviewed by Darin Adler.
169760
169761        This patch implement the "Noah's Ark condition" from the HTML5
169762        specification.  This condition limits the number of identitical
169763        elements that can be in the list of active formatting elements.  I'm not
169764        entirely sure that enforcing this condition is worth the complexity,
169765        but given that we've come this far in support of the HTML5 parsing
169766        algorithm, we might as well finish it.
169767
169768        After this patch, we pass all but one of the html5lib parsing tests!
169769
169770        Tests: html5lib/runner.html
169771
169772        * html/parser/HTMLFormattingElementList.cpp:
169773        (WebCore::attributeCount):
169774        (WebCore::HTMLFormattingElementList::append):
169775        (WebCore::HTMLFormattingElementList::tryToEnsureNoahsArkConditionQuickly):
169776        (WebCore::HTMLFormattingElementList::ensureNoahsArkCondition):
169777        * html/parser/HTMLFormattingElementList.h:
169778
1697792011-12-19  Benjamin Poulain  <bpoulain@apple.com>
169780
169781        Add support for 8 bits strings to Document::isValidName()
169782        https://bugs.webkit.org/show_bug.cgi?id=74784
169783
169784        Reviewed by Darin Adler.
169785
169786        Avoid the conversion to 16bits when we are in the ASCII fast path,
169787        otherwise fallback to the Unicode testing in 16bits.
169788
169789        * dom/Document.cpp:
169790        (WebCore::isValidNameASCII):
169791        (WebCore::Document::isValidName):
169792
1697932011-12-18  Kentaro Hara  <haraken@chromium.org>
169794
169795        REGRESSION(r101445): [JSC] Generated code for custom getters and setters
169796        with the [Supplemental] IDL is wrong
169797        https://bugs.webkit.org/show_bug.cgi?id=74837
169798
169799        Reviewed by Darin Adler.
169800
169801        In bug 73162, we implemented the [Supplemental] IDL, but the generated code
169802        for custom getters and setters was wrong in JSC. This patch fixes CodeGeneratorJS.pm
169803        so that the result of WebCore/bindings/scripts/test/TestInterface.idl becomes as follows:
169804
169805        Wrong:
169806            JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
169807            {
169808                JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
169809                return JSTestSupplemental::str3(castedThis, exec);
169810            }
169811
169812        Correct:
169813            JSValue jsTestInterfaceStr3(ExecState* exec, JSValue slotBase, const Identifier&)
169814            {
169815                JSTestInterface* castedThis = static_cast<JSTestInterface*>(asObject(slotBase));
169816                TestInterface* imp = static_cast<TestInterface*>(castedThis->impl());
169817                return castedThis->str3(imp, exec);
169818            }
169819
169820        Tests: bindings/scripts/test/JS/TestInterface.idl
169821
169822        * bindings/scripts/CodeGeneratorJS.pm:
169823        (GenerateHeader):
169824        (GenerateImplementation):
169825        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated run-bindings-tests result.
169826        (WebCore::jsTestInterfaceStr3):
169827        (WebCore::setJSTestInterfaceStr3):
169828        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
169829
1698302011-12-18  Adam Barth  <abarth@webkit.org>
169831
169832        Fix typo in comment.
169833
169834        * html/parser/HTMLTreeBuilder.cpp:
169835        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
169836
1698372011-12-18  Keishi Hattori  <keishi@webkit.org>
169838
169839        Implement <input type=color> UI WebKit chromium part
169840        https://bugs.webkit.org/show_bug.cgi?id=65897
169841
169842        Reviewed by Darin Fisher.
169843
169844        * GNUmakefile.list.am: Removed ColorChooser.cpp and added ColorChooserClient.h
169845        * WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h
169846        * WebCore.xcodeproj/project.pbxproj: Removed ColorChooser.cpp and added ColorChooserClient.h
169847
1698482011-12-18  David Barton  <dbarton@mathscribe.com>
169849
169850        <msup>, <munder>, <mover>, and <munderover> baseline positions are wrong
169851        https://bugs.webkit.org/show_bug.cgi?id=72821
169852
169853        Reviewed by Darin Adler.
169854
169855        Tested by rebaselining 8 existing tests. (Pardon the pun.)
169856
169857        * rendering/mathml/RenderMathMLSubSup.cpp:
169858        (WebCore::RenderMathMLSubSup::baselinePosition):
169859        Just using the base's (these puns are not my fault) baseline did not leave room for the exponent.
169860        * rendering/mathml/RenderMathMLUnderOver.cpp:
169861        (WebCore::RenderMathMLUnderOver::baselinePosition):
169862        Added a guard condition, and removed some bad lines apparently mistakenly copied from RenderMathMLSubSup.cpp.
169863
1698642011-12-18  Luke Macpherson   <macpherson@chromium.org>
169865
169866        Implement CSS line-height property in CSSStyleApplyProperty.
169867        https://bugs.webkit.org/show_bug.cgi?id=74561
169868
169869        Reviewed by Andreas Kling.
169870
169871        No new tests / refactoring only.
169872
169873        * css/CSSPrimitiveValue.h:
169874        (WebCore::CSSPrimitiveValue::isNumber):
169875        * css/CSSStyleApplyProperty.cpp:
169876        (WebCore::ApplyPropertyLineHeight::applyValue):
169877        (WebCore::ApplyPropertyLineHeight::createHandler):
169878        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
169879        * css/CSSStyleSelector.cpp:
169880        (WebCore::CSSStyleSelector::applyProperty):
169881
1698822011-12-18  Luke Macpherson   <macpherson@chromium.org>
169883
169884        Implement CSS outline shorthand property in CSSStyleApplyProperty.
169885        https://bugs.webkit.org/show_bug.cgi?id=74467
169886
169887        Reviewed by Andreas Kling.
169888
169889        No new tests / refactoring only.
169890
169891        RenderStyle::resetOutline was removed in favor of explicity expanding to the
169892        initial values of the shorthand expansion. This improves consistency because
169893        the initial values to use are more clearly (and singularly) defined.
169894
169895        * css/CSSStyleApplyProperty.cpp:
169896        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
169897        * css/CSSStyleSelector.cpp:
169898        (WebCore::CSSStyleSelector::applyProperty):
169899        * rendering/style/RenderStyle.h:
169900
1699012011-12-18  Sheriff Bot  <webkit.review.bot@gmail.com>
169902
169903        Unreviewed, rolling out r103205.
169904        http://trac.webkit.org/changeset/103205
169905        https://bugs.webkit.org/show_bug.cgi?id=74833
169906
169907        There are valid characters above 0x80 when the  string is
169908        8bits (Requested by benjaminp on #webkit).
169909
169910        * dom/Document.cpp:
169911        (WebCore::isValidNameASCII):
169912        (WebCore::Document::isValidName):
169913
1699142011-12-18  Luke Macpherson   <macpherson@chromium.org>
169915
169916        Separate box alignment and box pack values into separate enums.
169917        https://bugs.webkit.org/show_bug.cgi?id=74580
169918
169919        Reviewed by Andreas Kling.
169920
169921        No new tests / refactoring only.
169922
169923        Separating these types cleans up the code by removing several assertions that
169924        values are in the correct ranges, as this is ensured by the type system.
169925
169926        * css/CSSComputedStyleDeclaration.cpp:
169927        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
169928        * css/CSSPrimitiveValueMappings.h:
169929        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
169930        (WebCore::CSSPrimitiveValue::operator EBoxPack):
169931        (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
169932        * css/CSSStyleSelector.cpp:
169933        (WebCore::CSSStyleSelector::applyProperty):
169934        * rendering/RenderDeprecatedFlexibleBox.cpp:
169935        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
169936        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
169937        * rendering/RenderFullScreen.cpp:
169938        (createFullScreenStyle):
169939        * rendering/style/RenderStyle.h:
169940        (WebCore::InheritedFlags::boxPack):
169941        (WebCore::InheritedFlags::setBoxAlign):
169942        (WebCore::InheritedFlags::setBoxPack):
169943        (WebCore::InheritedFlags::initialBoxPack):
169944        * rendering/style/RenderStyleConstants.h:
169945        * rendering/style/StyleDeprecatedFlexibleBoxData.h:
169946
1699472011-12-18  Luke Macpherson   <macpherson@chromium.org>
169948
169949        Implement CSS font-size property in CSSStyleApplyProperty.
169950        https://bugs.webkit.org/show_bug.cgi?id=74368
169951
169952        Reviewed by Andreas Kling.
169953
169954        No new tests / refactoring only.
169955
169956        * css/CSSStyleApplyProperty.cpp:
169957        (WebCore::ApplyPropertyFontSize::largerFontSize):
169958        (WebCore::ApplyPropertyFontSize::smallerFontSize):
169959        (WebCore::ApplyPropertyFontSize::applyInheritValue):
169960        (WebCore::ApplyPropertyFontSize::applyInitialValue):
169961        (WebCore::ApplyPropertyFontSize::applyValue):
169962        (WebCore::ApplyPropertyFontSize::createHandler):
169963        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
169964        * css/CSSStyleSelector.cpp:
169965        (WebCore::CSSStyleSelector::applyProperty):
169966        * css/CSSStyleSelector.h:
169967        (WebCore::CSSStyleSelector::hasParentNode):
169968
1699692011-12-18  Sheriff Bot  <webkit.review.bot@gmail.com>
169970
169971        Unreviewed, rolling out r103199.
169972        http://trac.webkit.org/changeset/103199
169973        https://bugs.webkit.org/show_bug.cgi?id=74832
169974
169975        Caused a bot crashiness extravaganza! (Requested by kling on
169976        #webkit).
169977
169978        * platform/KURL.cpp:
169979        (WebCore::isLetterMatchIgnoringCase):
169980        (WebCore::protocolIs):
169981
1699822011-12-18  Dan Bernstein  <mitz@apple.com>
169983
169984        Positioned Floats: Assertion hit in fast/block/positioning/positioned-float-layout-after-image-load.html
169985        https://bugs.webkit.org/show_bug.cgi?id=67759
169986
169987        Reviewed by Darin Adler.
169988
169989        Test: fast/block/positioning/positioned-float-layout-after-image-load.html
169990
169991        Positioned floats are both floating and positioned. Made the following functions treat them as
169992        positioned rather than as floats by reordering code.
169993
169994        * rendering/RenderBlockLineLayout.cpp:
169995        (WebCore::RenderBlock::LineBreaker::skipTrailingWhitespace):
169996        (WebCore::RenderBlock::LineBreaker::skipLeadingWhitespace):
169997        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
169998
1699992011-12-18  Benjamin Poulain  <bpoulain@apple.com>
170000
170001        Add support for 8 bits strings to Document::isValidName()
170002        https://bugs.webkit.org/show_bug.cgi?id=74784
170003
170004        Reviewed by Andreas Kling.
170005
170006        The valid name has a fast path for ASCII, and a slow path
170007        taking Unicode characters into account.
170008
170009        For 8-bit strings, we don't need to take the non-ASCII path
170010        as it could never succeed if the ASCII path didn't.
170011
170012        * dom/Document.cpp:
170013        (WebCore::isValidNameASCII):
170014        (WebCore::Document::isValidName):
170015
1700162011-12-18  Huang Dongsung  <luxtella@company100.net>
170017
170018        [Qt] Remove redundant m_glWidget->makeCurrent() calls in GraphicsContext3DQt.
170019        https://bugs.webkit.org/show_bug.cgi?id=73814
170020
170021        It causes a performance hit.
170022        Moved the redundant function calls to makeContextCurrent().
170023
170024        Reviewed by Noam Rosenthal.
170025
170026        * platform/graphics/qt/GraphicsContext3DQt.cpp:
170027        (WebCore::GraphicsContext3DPrivate::GraphicsContext3DPrivate):
170028        (WebCore::GraphicsContext3DPrivate::paintToTextureMapper):
170029        (WebCore::GraphicsContext3DPrivate::paint):
170030        (WebCore::GraphicsContext3DPrivate::makeCurrentIfNeeded):
170031        (WebCore::GraphicsContext3D::~GraphicsContext3D):
170032        (WebCore::GraphicsContext3D::makeContextCurrent):
170033        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
170034        (WebCore::GraphicsContext3D::reshape):
170035        (WebCore::GraphicsContext3D::activeTexture):
170036        (WebCore::GraphicsContext3D::attachShader):
170037        (WebCore::GraphicsContext3D::getAttachedShaders):
170038        (WebCore::GraphicsContext3D::bindAttribLocation):
170039        (WebCore::GraphicsContext3D::bindBuffer):
170040        (WebCore::GraphicsContext3D::bindFramebuffer):
170041        (WebCore::GraphicsContext3D::bindRenderbuffer):
170042        (WebCore::GraphicsContext3D::bindTexture):
170043        (WebCore::GraphicsContext3D::blendColor):
170044        (WebCore::GraphicsContext3D::blendEquation):
170045        (WebCore::GraphicsContext3D::blendEquationSeparate):
170046        (WebCore::GraphicsContext3D::blendFunc):
170047        (WebCore::GraphicsContext3D::blendFuncSeparate):
170048        (WebCore::GraphicsContext3D::bufferData):
170049        (WebCore::GraphicsContext3D::bufferSubData):
170050        (WebCore::GraphicsContext3D::checkFramebufferStatus):
170051        (WebCore::GraphicsContext3D::clearColor):
170052        (WebCore::GraphicsContext3D::clear):
170053        (WebCore::GraphicsContext3D::clearDepth):
170054        (WebCore::GraphicsContext3D::clearStencil):
170055        (WebCore::GraphicsContext3D::colorMask):
170056        (WebCore::GraphicsContext3D::compileShader):
170057        (WebCore::GraphicsContext3D::compressedTexImage2D):
170058        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
170059        (WebCore::GraphicsContext3D::copyTexImage2D):
170060        (WebCore::GraphicsContext3D::copyTexSubImage2D):
170061        (WebCore::GraphicsContext3D::cullFace):
170062        (WebCore::GraphicsContext3D::depthFunc):
170063        (WebCore::GraphicsContext3D::depthMask):
170064        (WebCore::GraphicsContext3D::depthRange):
170065        (WebCore::GraphicsContext3D::detachShader):
170066        (WebCore::GraphicsContext3D::disable):
170067        (WebCore::GraphicsContext3D::disableVertexAttribArray):
170068        (WebCore::GraphicsContext3D::drawArrays):
170069        (WebCore::GraphicsContext3D::drawElements):
170070        (WebCore::GraphicsContext3D::enable):
170071        (WebCore::GraphicsContext3D::enableVertexAttribArray):
170072        (WebCore::GraphicsContext3D::finish):
170073        (WebCore::GraphicsContext3D::flush):
170074        (WebCore::GraphicsContext3D::framebufferRenderbuffer):
170075        (WebCore::GraphicsContext3D::framebufferTexture2D):
170076        (WebCore::GraphicsContext3D::frontFace):
170077        (WebCore::GraphicsContext3D::generateMipmap):
170078        (WebCore::GraphicsContext3D::getActiveAttrib):
170079        (WebCore::GraphicsContext3D::getActiveUniform):
170080        (WebCore::GraphicsContext3D::getAttribLocation):
170081        (WebCore::GraphicsContext3D::getError):
170082        (WebCore::GraphicsContext3D::getString):
170083        (WebCore::GraphicsContext3D::hint):
170084        (WebCore::GraphicsContext3D::isBuffer):
170085        (WebCore::GraphicsContext3D::isEnabled):
170086        (WebCore::GraphicsContext3D::isFramebuffer):
170087        (WebCore::GraphicsContext3D::isProgram):
170088        (WebCore::GraphicsContext3D::isRenderbuffer):
170089        (WebCore::GraphicsContext3D::isShader):
170090        (WebCore::GraphicsContext3D::isTexture):
170091        (WebCore::GraphicsContext3D::lineWidth):
170092        (WebCore::GraphicsContext3D::linkProgram):
170093        (WebCore::GraphicsContext3D::pixelStorei):
170094        (WebCore::GraphicsContext3D::polygonOffset):
170095        (WebCore::GraphicsContext3D::readPixels):
170096        (WebCore::GraphicsContext3D::releaseShaderCompiler):
170097        (WebCore::GraphicsContext3D::renderbufferStorage):
170098        (WebCore::GraphicsContext3D::sampleCoverage):
170099        (WebCore::GraphicsContext3D::scissor):
170100        (WebCore::GraphicsContext3D::shaderSource):
170101        (WebCore::GraphicsContext3D::stencilFunc):
170102        (WebCore::GraphicsContext3D::stencilFuncSeparate):
170103        (WebCore::GraphicsContext3D::stencilMask):
170104        (WebCore::GraphicsContext3D::stencilMaskSeparate):
170105        (WebCore::GraphicsContext3D::stencilOp):
170106        (WebCore::GraphicsContext3D::stencilOpSeparate):
170107        (WebCore::GraphicsContext3D::texParameterf):
170108        (WebCore::GraphicsContext3D::texParameteri):
170109        (WebCore::GraphicsContext3D::uniform1f):
170110        (WebCore::GraphicsContext3D::uniform1fv):
170111        (WebCore::GraphicsContext3D::uniform2f):
170112        (WebCore::GraphicsContext3D::uniform2fv):
170113        (WebCore::GraphicsContext3D::uniform3f):
170114        (WebCore::GraphicsContext3D::uniform3fv):
170115        (WebCore::GraphicsContext3D::uniform4f):
170116        (WebCore::GraphicsContext3D::uniform4fv):
170117        (WebCore::GraphicsContext3D::uniform1i):
170118        (WebCore::GraphicsContext3D::uniform1iv):
170119        (WebCore::GraphicsContext3D::uniform2i):
170120        (WebCore::GraphicsContext3D::uniform2iv):
170121        (WebCore::GraphicsContext3D::uniform3i):
170122        (WebCore::GraphicsContext3D::uniform3iv):
170123        (WebCore::GraphicsContext3D::uniform4i):
170124        (WebCore::GraphicsContext3D::uniform4iv):
170125        (WebCore::GraphicsContext3D::uniformMatrix2fv):
170126        (WebCore::GraphicsContext3D::uniformMatrix3fv):
170127        (WebCore::GraphicsContext3D::uniformMatrix4fv):
170128        (WebCore::GraphicsContext3D::useProgram):
170129        (WebCore::GraphicsContext3D::validateProgram):
170130        (WebCore::GraphicsContext3D::vertexAttrib1f):
170131        (WebCore::GraphicsContext3D::vertexAttrib1fv):
170132        (WebCore::GraphicsContext3D::vertexAttrib2f):
170133        (WebCore::GraphicsContext3D::vertexAttrib2fv):
170134        (WebCore::GraphicsContext3D::vertexAttrib3f):
170135        (WebCore::GraphicsContext3D::vertexAttrib3fv):
170136        (WebCore::GraphicsContext3D::vertexAttrib4f):
170137        (WebCore::GraphicsContext3D::vertexAttrib4fv):
170138        (WebCore::GraphicsContext3D::vertexAttribPointer):
170139        (WebCore::GraphicsContext3D::viewport):
170140        (WebCore::GraphicsContext3D::getBooleanv):
170141        (WebCore::GraphicsContext3D::getBufferParameteriv):
170142        (WebCore::GraphicsContext3D::getFloatv):
170143        (WebCore::GraphicsContext3D::getFramebufferAttachmentParameteriv):
170144        (WebCore::GraphicsContext3D::getIntegerv):
170145        (WebCore::GraphicsContext3D::getProgramiv):
170146        (WebCore::GraphicsContext3D::getProgramInfoLog):
170147        (WebCore::GraphicsContext3D::getRenderbufferParameteriv):
170148        (WebCore::GraphicsContext3D::getShaderiv):
170149        (WebCore::GraphicsContext3D::getShaderInfoLog):
170150        (WebCore::GraphicsContext3D::getShaderSource):
170151        (WebCore::GraphicsContext3D::getTexParameterfv):
170152        (WebCore::GraphicsContext3D::getTexParameteriv):
170153        (WebCore::GraphicsContext3D::getUniformfv):
170154        (WebCore::GraphicsContext3D::getUniformiv):
170155        (WebCore::GraphicsContext3D::getUniformLocation):
170156        (WebCore::GraphicsContext3D::getVertexAttribfv):
170157        (WebCore::GraphicsContext3D::getVertexAttribiv):
170158        (WebCore::GraphicsContext3D::getVertexAttribOffset):
170159        (WebCore::GraphicsContext3D::texImage2D):
170160        (WebCore::GraphicsContext3D::texSubImage2D):
170161        (WebCore::GraphicsContext3D::createBuffer):
170162        (WebCore::GraphicsContext3D::createFramebuffer):
170163        (WebCore::GraphicsContext3D::createProgram):
170164        (WebCore::GraphicsContext3D::createRenderbuffer):
170165        (WebCore::GraphicsContext3D::createShader):
170166        (WebCore::GraphicsContext3D::createTexture):
170167        (WebCore::GraphicsContext3D::deleteBuffer):
170168        (WebCore::GraphicsContext3D::deleteFramebuffer):
170169        (WebCore::GraphicsContext3D::deleteProgram):
170170        (WebCore::GraphicsContext3D::deleteRenderbuffer):
170171        (WebCore::GraphicsContext3D::deleteShader):
170172        (WebCore::GraphicsContext3D::deleteTexture):
170173
1701742011-12-18  Andreas Kling  <kling@webkit.org>
170175
170176        Removing unrelated printf() that slipped into my last commit.
170177
170178        * platform/ScrollableArea.cpp:
170179        (WebCore::ScrollableArea::scrollToOffsetWithoutAnimation):
170180
1701812011-12-18  Andreas Kling  <kling@webkit.org>
170182
170183        KURL::protocolIs() should handle 8-bit strings.
170184        <http://webkit.org/b/74827>
170185
170186        Reviewed by Antti Koivisto.
170187
170188        * platform/KURL.cpp:
170189        (WebCore::isLetterMatchIgnoringCase):
170190
170191            Turned this into a template method so it can be used for both UChar and LChar.
170192
170193        (WebCore::charactersAreProtocol):
170194        (WebCore::protocolIs):
170195
170196            Handle 8/16 bit strings separately to avoid conversion.
170197
1701982011-12-18  Alice Boxhall  <aboxhall@chromium.org>
170199
170200        Make AccessibilityObject::lineForPosition return the correct value for cases where the position is not within the current object.
170201        https://bugs.webkit.org/show_bug.cgi?id=71348
170202
170203        Reviewed by Chris Fleizach.
170204
170205        * accessibility/AccessibilityObject.cpp:
170206        (WebCore::AccessibilityObject::lineForPosition):
170207        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
170208        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
170209
1702102011-12-18  Sam Weinig  <sam@webkit.org>
170211
170212        Make EventHandler::handleWheelEvent take const PlatformWheelEvent&
170213        https://bugs.webkit.org/show_bug.cgi?id=74824
170214
170215        Reviewed by Anders Carlsson.
170216
170217        * WebCore.exp.in:
170218        * page/EventHandler.cpp:
170219        (WebCore::EventHandler::handleWheelEvent):
170220        * page/EventHandler.h:
170221        * page/blackberry/EventHandlerBlackBerry.cpp:
170222        (WebCore::EventHandler::passWheelEventToWidget):
170223        * page/chromium/EventHandlerChromium.cpp:
170224        (WebCore::EventHandler::passWheelEventToWidget):
170225        * page/efl/EventHandlerEfl.cpp:
170226        (WebCore::EventHandler::passWheelEventToWidget):
170227        * page/gtk/EventHandlerGtk.cpp:
170228        (WebCore::EventHandler::passWheelEventToWidget):
170229        * page/mac/EventHandlerMac.mm:
170230        (WebCore::EventHandler::passWheelEventToWidget):
170231        * page/qt/EventHandlerQt.cpp:
170232        (WebCore::EventHandler::passWheelEventToWidget):
170233        * page/win/EventHandlerWin.cpp:
170234        (WebCore::EventHandler::passWheelEventToWidget):
170235        * page/wx/EventHandlerWx.cpp:
170236        (WebCore::EventHandler::passWheelEventToWidget):
170237        * platform/PlatformWheelEvent.h:
170238        (WebCore::PlatformWheelEvent::copyTurningVerticalTicksIntoHorizontalTicks):
170239
1702402011-12-18  James Kozianski  <koz@chromium.org>
170241
170242        [chromium] Add worldId parameter to allowScriptExtension()
170243        https://bugs.webkit.org/show_bug.cgi?id=74214
170244
170245        Chromium uses the worldId to determine what extension is running in a
170246        v8 context and knowing that at the time allowScriptExtension() is
170247        called allows us to conditionally inject extension APIs.
170248
170249        Reviewed by Darin Fisher.
170250
170251        * bindings/v8/V8DOMWindowShell.cpp:
170252        (WebCore::V8DOMWindowShell::initContextIfNeeded):
170253        (WebCore::V8DOMWindowShell::createNewContext):
170254        * bindings/v8/V8DOMWindowShell.h:
170255        * bindings/v8/V8IsolatedContext.cpp:
170256        (WebCore::V8IsolatedContext::V8IsolatedContext):
170257        * loader/EmptyClients.h:
170258        (WebCore::EmptyFrameLoaderClient::allowScriptExtension):
170259        * loader/FrameLoaderClient.h:
170260
1702612011-12-18  Adam Barth  <abarth@webkit.org>
170262
170263        Adoption agency iteration limits in HTML parser don't match HTML5 spec
170264        https://bugs.webkit.org/show_bug.cgi?id=74822
170265
170266        Reviewed by Eric Seidel.
170267
170268        Previously, we were using the iteration limits from the old tree
170269        builder.  Now we use the iteration limits from the HTML5 specification.
170270
170271        Tests: html5lib/runner.html
170272
170273        * html/parser/HTMLTreeBuilder.cpp:
170274        (WebCore::HTMLTreeBuilder::callTheAdoptionAgency):
170275
1702762011-12-18  Antti Koivisto  <antti@apple.com>
170277
170278        https://bugs.webkit.org/show_bug.cgi?id=73954
170279        REGRESSION (r97745): Transitions don't work on links
170280
170281        Reviewed by Andreas Kling.
170282
170283        Test: transitions/visited-link-color.html
170284        
170285        Since visited link colors are now part of the RenderStyle, they need to be transitioned
170286        along with the corresponding regular colors.
170287
170288        * page/animation/AnimationBase.cpp:
170289        (WebCore::PropertyWrapperVisitedAffectedColor::PropertyWrapperVisitedAffectedColor):
170290        (WebCore::PropertyWrapperVisitedAffectedColor::equals):
170291        (WebCore::PropertyWrapperVisitedAffectedColor::blend):
170292        (WebCore::AnimationBase::ensurePropertyMap):
170293        
170294            Add new wrapper class that applies both regular and visited color.
170295        
170296        * rendering/style/RenderStyle.h:
170297        (WebCore::InheritedFlags::visitedLinkColor):
170298        (WebCore::InheritedFlags::visitedLinkBackgroundColor):
170299        (WebCore::InheritedFlags::visitedLinkBorderLeftColor):
170300        (WebCore::InheritedFlags::visitedLinkBorderRightColor):
170301        (WebCore::InheritedFlags::visitedLinkBorderBottomColor):
170302        (WebCore::InheritedFlags::visitedLinkBorderTopColor):
170303        (WebCore::InheritedFlags::visitedLinkOutlineColor):
170304        (WebCore::InheritedFlags::visitedLinkColumnRuleColor):
170305        (WebCore::InheritedFlags::visitedLinkTextEmphasisColor):
170306        (WebCore::InheritedFlags::visitedLinkTextFillColor):
170307        (WebCore::InheritedFlags::visitedLinkTextStrokeColor):
170308        
170309            Add accessors.
170310        
170311        * rendering/style/StyleRareNonInheritedData.cpp:
170312        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
170313        
170314            Opportunistic fix. Don't know how to test.
170315
1703162011-12-18  Anders Carlsson  <andersca@apple.com>
170317
170318        Set the main frame view scroll position asynchronously
170319        https://bugs.webkit.org/show_bug.cgi?id=74823
170320
170321        Reviewed by Sam Weinig.
170322
170323        * page/ScrollingCoordinator.cpp:
170324        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
170325        Initialize m_didDispatchDidUpdateMainFrameScrollPosition to false.
170326
170327        (WebCore::ScrollingCoordinator::didUpdateMainFrameScrollPosition):
170328        Get the scroll position, reset m_didDispatchDidUpdateMainFrameScrollPosition to false and
170329        then call FrameView::setScrollOffset to update the scroll position.
170330
170331        * page/ScrollingCoordinator.h:
170332        * page/mac/ScrollingCoordinatorMac.mm:
170333        (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
170334        Update the scroll position and dispatch ScrollingCoordinator::didUpdateMainFrameScrollPosition on
170335        the main thread if needed.
170336
1703372011-12-18  Andreas Kling  <kling@webkit.org>
170338
170339        JSC/HTMLCollection: Optimize canGetItemsForName().
170340        <http://webkit.org/b/74806>
170341
170342        Reviewed by Sam Weinig.
170343
170344        Add HTMLCollection::hasNamedItem(name) and use that in the JSC bindings'
170345        canGetItemsForName() instead of fetching the list of named items just to
170346        check if it's empty or not.
170347
170348        * bindings/js/JSHTMLAllCollectionCustom.cpp:
170349        (WebCore::JSHTMLAllCollection::canGetItemsForName):
170350        * bindings/js/JSHTMLCollectionCustom.cpp:
170351        (WebCore::JSHTMLCollection::canGetItemsForName):
170352        * html/HTMLCollection.cpp:
170353        (WebCore::HTMLCollection::hasNamedItem):
170354        * html/HTMLCollection.h:
170355
1703562011-12-18  Sam Weinig  <sam@webkit.org>
170357
170358        Spruce up PlatformWheelEvent a bit
170359        https://bugs.webkit.org/show_bug.cgi?id=74821
170360
170361        Reviewed by Dan Bernstein.
170362
170363        * dom/WheelEvent.cpp:
170364        (WebCore::WheelEventDispatchMediator::WheelEventDispatchMediator):
170365        * platform/PlatformWheelEvent.h:
170366        (WebCore::PlatformWheelEvent::directionInvertedFromDevice):
170367        Remove x/y getters in favor of direct access to the IntPoints, and rename 
170368        webkitDirectionInvertedFromDevice() to directionInvertedFromDevice() since
170369        it is not an exposed API.
170370
1703712011-12-18  Anders Carlsson  <andersca@apple.com>
170372
170373        Scroll the main frame on the scrolling thread
170374        https://bugs.webkit.org/show_bug.cgi?id=74820
170375
170376        Reviewed by Andreas Kling.
170377
170378        * page/ScrollingCoordinator.cpp:
170379        (WebCore::ScrollingCoordinator::handleWheelEvent):
170380        Compute a scroll offset from the wheel event and tell the scrolling thread to scroll by the given offset.
170381
170382        * page/ScrollingCoordinator.h:
170383        * page/mac/ScrollingCoordinatorMac.mm:
170384        (WebCore::ScrollingCoordinator::scrollByOnScrollingThread):
170385        Clamp the updated position to the minimum and maximum scrollable position.
170386
170387        (WebCore::ScrollingCoordinator::updateMainFrameScrollLayerPositionOnScrollingThread):
170388        Actually reposition the layer.
170389
1703902011-12-18  Andreas Kling  <kling@webkit.org>
170391
170392        HTMLAllCollection: Get rid of stateful namedItem traversal.
170393        <http://webkit.org/b/74803>
170394
170395        Reviewed by Sam Weinig.
170396
170397        Add a namedItemWithIndex() function to HTMLAllCollection to cover the
170398        document.all(name, index) use-case. This moves the collection traversal
170399        into WebCore and allows us to remove some complexity.
170400
170401        This incidentally fixes a bug where the CollectionCache would point to
170402        the last node returned by document.all(name, index) without the correct
170403        associated node index (because info()->current was getting set without
170404        updating info()->position.) Added a layout test for that.
170405
170406        Test: fast/dom/htmlallcollection-call-with-index-caching-bug.html
170407
170408        * bindings/js/JSHTMLAllCollectionCustom.cpp:
170409        (WebCore::callHTMLAllCollection):
170410        * bindings/v8/custom/V8HTMLAllCollectionCustom.cpp:
170411        (WebCore::V8HTMLAllCollection::callAsFunctionCallback):
170412
170413            Replace collection traversal by calls to namedItemWithIndex().
170414
170415        * html/HTMLCollection.h:
170416
170417            Promoted updateNameCache() to protected (for HTMLAllCollection.)
170418            Demoted checkForNameMatch() to private.
170419
170420        * html/HTMLAllCollection.cpp:
170421        (WebCore::HTMLAllCollection::namedItemWithIndex):
170422
170423            Added for document.all(name, index). Uses the name/id cache.
170424
170425        * html/HTMLAllCollection.cpp:
170426        * html/HTMLAllCollection.h:
170427        (WebCore::HTMLAllCollection::HTMLAllCollection):
170428
170429            Removed m_idsDone, HTMLAllCollection is now stateless.
170430
170431
1704322011-12-18  Anders Carlsson  <andersca@apple.com>
170433
170434        The scrolling coordinator should know about the main frame scroll layer
170435        https://bugs.webkit.org/show_bug.cgi?id=74817
170436
170437        Reviewed by Andreas Kling.
170438
170439        * page/ScrollingCoordinator.h:
170440        * page/mac/ScrollingCoordinatorMac.mm:
170441        (WebCore::ScrollingThread::threadCallback):
170442        Move the * to where it belongs.
170443
170444        (WebCore::ScrollingCoordinator::setFrameScrollLayer):
170445        Keep track of the underlying CALayer of the frame scroll layer.
170446
170447        * rendering/RenderLayerCompositor.cpp:
170448        (WebCore::RenderLayerCompositor::ensureRootLayer):
170449        Call ScrollingCoordinator::setFrameScrollLayer.
170450
1704512011-12-18  Andreas Kling  <kling@webkit.org>
170452
170453        Interacting with GMail message lists is sluggish.
170454        <http://webkit.org/b/74813>
170455
170456        Reviewed by Dan Bernstein.
170457
170458        Add an argument to collapsed*Border() to control whether the border
170459        color is computed or not. This allows us to avoid expensive work when
170460        we're only interested in the metrics.
170461
170462        RenderStyle::visitedDependentColor() was very hot (4.5%) when hit-testing
170463        on GMail and this removes its usage altogether.
170464        This should be an improvement for table rendering as well, since it was
170465        all happening below RenderBox::overflowClipRect().
170466
170467        * rendering/RenderTableCell.h:
170468        * rendering/RenderTableCell.cpp:
170469        (WebCore::RenderTableCell::collapsedLeftBorder):
170470        (WebCore::RenderTableCell::collapsedRightBorder):
170471        (WebCore::RenderTableCell::collapsedTopBorder):
170472        (WebCore::RenderTableCell::collapsedBottomBorder):
170473
170474            Add and propagate an IncludeBorderColorOrNot argument that decides
170475            whether we compute the CollapsedBorderValue's color.
170476
170477        (WebCore::RenderTableCell::collapsedStartBorder):
170478        (WebCore::RenderTableCell::collapsedEndBorder):
170479
170480            Renamed start & end to startColorProperty & endColorProperty
170481            for clarity. Also same modifications as the above functions.
170482
170483        (WebCore::RenderTableCell::collapsedBeforeBorder):
170484        (WebCore::RenderTableCell::collapsedAfterBorder):
170485
170486            Renamed before & after to beforeColorProperty & afterColorProperty
170487            for clarity. Also same modifications as the above functions.
170488
170489        (WebCore::RenderTableCell::borderHalfStart):
170490        (WebCore::RenderTableCell::borderHalfEnd):
170491        (WebCore::RenderTableCell::borderHalfBefore):
170492        (WebCore::RenderTableCell::borderHalfAfter):
170493
170494            Pass DoNotIncludeBorderColor to collapsed*Border() since we only care
170495            about the metrics here.
170496
1704972011-12-18  Anders Carlsson  <andersca@apple.com>
170498
170499        The scrolling coordinator should keep track of the main frame geometry
170500        https://bugs.webkit.org/show_bug.cgi?id=74816
170501
170502        Reviewed by Andreas Kling.
170503
170504        * page/ScrollingCoordinator.cpp:
170505        (WebCore::ScrollingCoordinator::syncFrameGeometry):
170506        Update the frame geometry accordingly when it changes.
170507
170508        * page/ScrollingCoordinator.h:
170509        * rendering/RenderLayerCompositor.cpp:
170510        (WebCore::RenderLayerCompositor::frameViewDidChangeSize):
170511        (WebCore::RenderLayerCompositor::updateRootLayerPosition):
170512        Call ScrollingCoordinator::syncFrameGeometry.
170513
170514        (WebCore::RenderLayerCompositor::scrollingCoordinator):
170515        Add new getter.
170516
1705172011-12-17  Sam Weinig  <sam@webkit.org>
170518
170519        Move timestamp down from PlatformEvent subclasses to the base class
170520        https://bugs.webkit.org/show_bug.cgi?id=74805
170521
170522        Reviewed by Anders Carlsson.
170523
170524        * platform/PlatformEvent.h:
170525        (WebCore::PlatformEvent::type):
170526        (WebCore::PlatformEvent::timestamp):
170527        (WebCore::PlatformEvent::PlatformEvent):
170528        * platform/PlatformGestureEvent.h:
170529        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
170530        * platform/PlatformMouseEvent.h:
170531        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
170532        (WebCore::PlatformMouseEvent::clickCount):
170533        * platform/PlatformTouchEvent.h:
170534        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
170535        * platform/PlatformWheelEvent.h:
170536        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
170537        * platform/efl/PlatformKeyboardEventEfl.cpp:
170538        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
170539        * platform/efl/PlatformMouseEventEfl.cpp:
170540        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
170541        * platform/efl/PlatformTouchEventEfl.cpp:
170542        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
170543        * platform/efl/PlatformWheelEventEfl.cpp:
170544        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
170545        * platform/gtk/PlatformKeyboardEventGtk.cpp:
170546        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
170547        * platform/gtk/PlatformWheelEventGtk.cpp:
170548        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
170549        * platform/mac/KeyEventMac.mm:
170550        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
170551        * platform/mac/PlatformMouseEventMac.mm:
170552        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
170553        * platform/mac/WheelEventMac.mm:
170554        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
170555        * platform/qt/PlatformKeyboardEventQt.cpp:
170556        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
170557        * platform/qt/WheelEventQt.cpp:
170558        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
170559        * platform/win/KeyEventWin.cpp:
170560        (WebCore::singleCharacterString):
170561        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
170562        * platform/win/PlatformMouseEventWin.cpp:
170563        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
170564        * platform/win/WheelEventWin.cpp:
170565        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
170566        * platform/wx/KeyboardEventWx.cpp:
170567        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
170568        * platform/wx/MouseEventWx.cpp:
170569        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
170570        * platform/wx/MouseWheelEventWx.cpp:
170571        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
170572
1705732011-12-18  Anders Carlsson  <andersca@apple.com>
170574
170575        Add a scrolling thread to the scrolling coordinator
170576        https://bugs.webkit.org/show_bug.cgi?id=74814
170577
170578        Reviewed by Andreas Kling.
170579
170580        * WebCore.exp.in:
170581        Export ScrollingCoordinator::handleWheelEvent.
170582
170583        * WebCore.xcodeproj/project.pbxproj:
170584        Add ScrollingCoordinatorMac.mm
170585
170586        * page/ScrollingCoordinator.cpp:
170587        (WebCore::ScrollingCoordinator::handleWheelEvent):
170588        Add a stub function.
170589
170590        * page/ScrollingCoordinator.h:
170591        * page/mac/ScrollingCoordinatorMac.mm: Added.
170592        Add a ScrollingThread object which creates a thread and attaches a run loop source
170593        to it, allowing for functions to be dispatched and run on said thread.
170594
170595        (WebCore::ScrollingCoordinator::isScrollingThread):
170596        Call ScrollingThread::isCurrentThread.
170597
170598        (WebCore::ScrollingCoordinator::dispatchOnScrollingThread):
170599        Call ScrollingThread::dispatch.
170600
1706012011-12-18  Anders Carlsson  <andersca@apple.com>
170602
170603        EventDispatcher should keep track of all scrolling coordinators
170604        https://bugs.webkit.org/show_bug.cgi?id=74810
170605
170606        Reviewed by Andreas Kling.
170607
170608        Export symbols needed by WebKit2.
170609
170610        * WebCore.exp.in:
170611
1706122011-12-18  Raul Hudea  <rhudea@adobe.com>
170613
170614        Add transform function completion to web-inspector
170615
170616        Web Inspector: Auto-complete transform functions for -webkit-transform
170617        https://bugs.webkit.org/show_bug.cgi?id=74730
170618
170619        Reviewed by Pavel Feldman.
170620
170621        No new test. Trivial change.
170622
170623        * inspector/front-end/CSSKeywordCompletions.js:
170624
1706252011-12-18  Ilya Tikhonovsky  <loislo@chromium.org>
170626
170627        Web Inspector: chromium profiler: change default root type for retaining paths from GC Roots to DOMWindow.
170628        https://bugs.webkit.org/show_bug.cgi?id=74697
170629
170630        Reviewed by Pavel Feldman.
170631
170632        * inspector/front-end/DetailedHeapshotView.js:
170633        (WebInspector.DetailedHeapshotView.prototype.get isTracingToWindowObjects):
170634
1706352011-12-18  Peter Rybin  <peter.rybin@gmail.com>
170636
170637        Web Inspector: Switch to type-safe JSON ConsoleMessage.cpp, InspectorDOMAgent.cpp, InspectorDebuggerAgent.cpp, ScriptCallFrame.cpp
170638        https://bugs.webkit.org/show_bug.cgi?id=74549
170639
170640        Reviewed by Pavel Feldman.
170641
170642        Work with InspectorObject is replaced with type-safe generated API
170643        usage.
170644        Inspector.json and Inspector-0.1.json are also changed to better
170645        reflect data types that are actually being transmitted.
170646
170647        * inspector/ConsoleMessage.cpp:
170648        (WebCore::ConsoleMessage::addToFrontend):
170649        * inspector/Inspector-0.1.json:
170650        * inspector/Inspector.json:
170651        * inspector/InspectorDOMAgent.cpp:
170652        (WebCore::InspectorDOMAgent::buildObjectForNode):
170653        (WebCore::InspectorDOMAgent::buildObjectForEventListener):
170654        * inspector/InspectorDebuggerAgent.cpp:
170655        (WebCore::InspectorDebuggerAgent::resolveBreakpoint):
170656        * inspector/ScriptCallFrame.cpp:
170657        (WebCore::ScriptCallFrame::buildInspectorObject):
170658
1706592011-12-18  Peter Rybin  <peter.rybin@gmail.com>
170660
170661        Web Inspector: CodeGeneratorInspector.py: use generated types in method parameters
170662        https://bugs.webkit.org/show_bug.cgi?id=74661
170663
170664        Reviewed by Pavel Feldman.
170665
170666        Type binding object is added to raw_type object.
170667
170668        * inspector/CodeGeneratorInspector.py:
170669        (TypeBindings.create_for_named_type_declaration.EnumBinding.generate_type_builder):
170670        (TypeBindings.create_for_named_type_declaration.EnumBinding.get_in_c_type_text):
170671        (TypeBindings.create_for_named_type_declaration.EnumBinding):
170672        (TypeBindings.create_for_named_type_declaration.EnumBinding.reduce_to_raw_type):
170673        (TypeBindings.create_for_named_type_declaration.PlainString.generate_type_builder):
170674        (TypeBindings.create_for_named_type_declaration.PlainString.reduce_to_raw_type):
170675        (TypeBindings.create_for_named_type_declaration.PlainString):
170676        (TypeBindings.create_for_named_type_declaration.PlainString.get_in_c_type_text):
170677        (TypeBindings):
170678        (TypeBindings.create_for_named_type_declaration.ClassBinding):
170679        (get_in_c_type_text):
170680        (reduce_to_raw_type):
170681        (PlainObjectBinding.generate_type_builder):
170682        (PlainObjectBinding.get_in_c_type_text):
170683        (PlainObjectBinding):
170684        (PlainObjectBinding.reduce_to_raw_type):
170685        (RawTypesBinding.generate_type_builder):
170686        (RawTypesBinding.get_in_c_type_text):
170687        (RawTypesBinding):
170688        (RawTypesBinding.reduce_to_raw_type):
170689        (resolve_param_type.RawTypeBinding.reduce_to_raw_type):
170690        (resolve_param_type.RawTypeBinding):
170691        (resolve_param_type.RawTypeBinding.get_in_c_type_text):
170692        (resolve_param_type):
170693        (Generator.process_event):
170694
1706952011-12-18  Sheriff Bot  <webkit.review.bot@gmail.com>
170696
170697        Unreviewed, rolling out r103169.
170698        http://trac.webkit.org/changeset/103169
170699        https://bugs.webkit.org/show_bug.cgi?id=74809
170700
170701        it broke compilation on many platforms (Requested by loislo_
170702        on #webkit).
170703
170704        * WebCore.gypi:
170705        * platform/ColorChooser.cpp: Renamed from Source/WebKit/chromium/src/ColorChooserProxy.h.
170706        (WebCore::ColorChooserClient::~ColorChooserClient):
170707        (WebCore::ColorChooserClient::newColorChooser):
170708        (WebCore::ColorChooserClient::discardChooser):
170709        (WebCore::ColorChooser::ColorChooser):
170710        (WebCore::ColorChooser::create):
170711        (WebCore::ColorChooser::~ColorChooser):
170712        (WebCore::ColorChooser::didChooseColor):
170713        (WebCore::ColorChooser::didCleanup):
170714
1707152011-12-18  Alexandru Chiculita  <achicu@adobe.com>
170716
170717        [CSS Shaders] Add FECustomFilter that renders custom filters
170718        https://bugs.webkit.org/show_bug.cgi?id=73317
170719
170720        Using a GraphicsContext3D to render the shaders in GPU, read the
170721        result back and use it in the software filters pipeline.
170722
170723        Reviewed by Chris Marrin.
170724
170725        Test: css3/filters/effect-custom.html
170726
170727        * CMakeLists.txt:
170728        * GNUmakefile.list.am:
170729        * Target.pri:
170730        * WebCore.gypi:
170731        * WebCore.vcproj/WebCore.vcproj:
170732        * WebCore.xcodeproj/project.pbxproj:
170733        * loader/cache/CachedShader.cpp:
170734        (WebCore::CachedShader::CachedShader):
170735        (WebCore::CachedShader::shaderString):
170736        (WebCore::CachedShader::data):
170737        * loader/cache/CachedShader.h:
170738        * platform/graphics/filters/CustomFilterMesh.cpp: Added.
170739        (WebCore::MeshGenerator::MeshGenerator):
170740        (WebCore::MeshGenerator::vertices):
170741        (WebCore::MeshGenerator::indices):
170742        (WebCore::MeshGenerator::points):
170743        (WebCore::MeshGenerator::pointsCount):
170744        (WebCore::MeshGenerator::tiles):
170745        (WebCore::MeshGenerator::tilesCount):
170746        (WebCore::MeshGenerator::indicesCount):
170747        (WebCore::MeshGenerator::floatsPerVertex):
170748        (WebCore::MeshGenerator::vertexCount):
170749        (WebCore::MeshGenerator::addTile):
170750        (WebCore::MeshGenerator::addAttachedMeshIndex):
170751        (WebCore::MeshGenerator::generateAttachedMesh):
170752        (WebCore::MeshGenerator::addDetachedMeshVertexAndIndex):
170753        (WebCore::MeshGenerator::generateDetachedMesh):
170754        (WebCore::MeshGenerator::addPositionAttribute):
170755        (WebCore::MeshGenerator::addTexCoordAttribute):
170756        (WebCore::MeshGenerator::addMeshCoordAttribute):
170757        (WebCore::MeshGenerator::addTriangleCoordAttribute):
170758        (WebCore::MeshGenerator::addAttachedMeshVertexAttributes):
170759        (WebCore::MeshGenerator::addDetachedMeshVertexAttributes):
170760        (WebCore::MeshGenerator::dumpBuffers):
170761        (WebCore::CustomFilterMesh::CustomFilterMesh):
170762        (WebCore::CustomFilterMesh::~CustomFilterMesh):
170763        * platform/graphics/filters/CustomFilterMesh.h: Added.
170764        (WebCore::CustomFilterMesh::create):
170765        (WebCore::CustomFilterMesh::verticesBufferObject):
170766        (WebCore::CustomFilterMesh::bytesPerVertex):
170767        (WebCore::CustomFilterMesh::elementsBufferObject):
170768        (WebCore::CustomFilterMesh::indicesCount):
170769        (WebCore::CustomFilterMesh::meshBox):
170770        (WebCore::CustomFilterMesh::meshType):
170771        * platform/graphics/filters/CustomFilterShader.cpp: Added.
170772        (WebCore::CustomFilterShader::defaultVertexShaderString):
170773        (WebCore::CustomFilterShader::defaultFragmentShaderString):
170774        (WebCore::CustomFilterShader::CustomFilterShader):
170775        (WebCore::CustomFilterShader::~CustomFilterShader):
170776        * platform/graphics/filters/CustomFilterShader.h: Added.
170777        * platform/graphics/filters/FECustomFilter.cpp: Added.
170778        (WebCore::orthoMatrix):
170779        (WebCore::FECustomFilter::FECustomFilter):
170780        (WebCore::FECustomFilter::create):
170781        (WebCore::FECustomFilter::platformApplySoftware):
170782        (WebCore::FECustomFilter::dump):
170783        (WebCore::FECustomFilter::externalRepresentation):
170784        * platform/graphics/filters/FECustomFilter.h: Added.
170785        * platform/graphics/gpu/Texture.cpp:
170786        * platform/graphics/transforms/TransformationMatrix.cpp:
170787        (WebCore::TransformationMatrix::toColumnMajorFloatArray):
170788        * platform/graphics/transforms/TransformationMatrix.h:
170789        * rendering/FilterEffectObserver.h: Copied from Source/WebCore/loader/cache/CachedShader.cpp.
170790        (WebCore::FilterEffectObserver::~FilterEffectObserver):
170791        * rendering/FilterEffectRenderer.cpp:
170792        (WebCore::isWebGLEnabled):
170793        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
170794        (WebCore::FilterEffectRenderer::build):
170795        (WebCore::FilterEffectRenderer::notifyFinished):
170796        * rendering/FilterEffectRenderer.h:
170797        (WebCore::FilterEffectRenderer::create):
170798        * rendering/RenderLayer.cpp:
170799        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
170800        (WebCore::RenderLayer::filterNeedsRepaint):
170801        * rendering/RenderLayer.h:
170802        * rendering/style/StyleCachedShader.h:
170803        (WebCore::StyleCachedShader::cachedShader):
170804        * rendering/style/StyleShader.h:
170805        (WebCore::StyleShader::cachedShader):
170806
1708072011-12-18  Keishi Hattori  <keishi@webkit.org>
170808
170809        Implement <input type=color> UI WebKit chromium part
170810        https://bugs.webkit.org/show_bug.cgi?id=65897
170811
170812        Reviewed by Darin Fisher.
170813
170814        * WebCore.gypi: Added ColorChooser.h and ColorChooserClient.h
170815
1708162011-12-17  Keishi Hattori  <keishi@webkit.org>
170817
170818        Refactor input type color WebCore part
170819        https://bugs.webkit.org/show_bug.cgi?id=74591
170820
170821        Reviewed by Kent Tamura.
170822
170823        Changing ColorChooser to address issues raised in Bug 65897.
170824        Chrome::createColorChooser will return a WebCore::ColorChooser instance
170825        so the WebCore side (ColorInputType) and call the WebKit side. We pass the ColorChooserClient as an argument
170826        to Chrome::createColorChooser so the WebKit side can call callbacks, didEndChooser and didChooseColor.
170827
170828        * html/ColorInputType.cpp:
170829        (WebCore::ColorInputType::~ColorInputType):
170830        (WebCore::ColorInputType::setValue):
170831        (WebCore::ColorInputType::handleDOMActivateEvent): Calls createColorChooser to open the color chooser.
170832        (WebCore::ColorInputType::detach):
170833        (WebCore::ColorInputType::didEndChooser): Release the ColorChooser object.
170834        (WebCore::ColorInputType::endColorChooser):
170835        (WebCore::ColorInputType::updateColorSwatch): Added argument so it will compile again.
170836        * html/ColorInputType.h:
170837        * html/HTMLInputElement.cpp:
170838        (WebCore::HTMLInputElement::selectColorInColorChooser):
170839        * loader/EmptyClients.h:
170840        (WebCore::EmptyChromeClient::createColorChooser):
170841        * loader/FrameLoader.cpp:
170842        * page/Chrome.cpp:
170843        (WebCore::Chrome::createColorChooser): Opens the color chooser. Returns a ColorChooser PassOwnPtr.
170844        * page/Chrome.h:
170845        * page/ChromeClient.h:
170846        * platform/ColorChooser.h:
170847        (WebCore::ColorChooser::~ColorChooser):
170848        (WebCore::ColorChooser::setSelectedColor):
170849        (WebCore::ColorChooser::endChooser):
170850        * platform/ColorChooserClient.h: Added.
170851
1708522011-12-17  Sam Weinig  <sam@webkit.org>
170853
170854        Make PlatformTouchEvent inherit from PlatformEvent
170855        https://bugs.webkit.org/show_bug.cgi?id=74777
170856
170857        Reviewed by Andreas Kling.
170858
170859        * platform/PlatformEvent.h:
170860        Add TouchEvent types.
170861
170862        * platform/PlatformTouchEvent.h:
170863        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
170864        Make inherit from PlatformEvent.
170865
170866        * platform/blackberry/PlatformTouchEventBlackBerry.cpp:
170867        (WebCore::touchEventType):
170868        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
170869        * platform/efl/PlatformTouchEventEfl.cpp:
170870        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
170871        * platform/qt/PlatformTouchEventQt.cpp:
170872        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
170873        Make necessary changes to work with new base class.
170874
1708752011-12-17  Andreas Kling  <kling@webkit.org>
170876
170877        Cache and reuse the HTMLAllCollection returned by document.all.
170878        <http://webkit.org/b/74768>
170879
170880        Reviewed by Antti Koivisto.
170881
170882        Let Document cache the document.all collection, just like we do for
170883        the other collections (.links, .images, etc.)
170884        This is primarily a memory optimization, as repeated calls to
170885        document.all will no longer cause collection objects to stack up.
170886
170887        Tests: fast/dom/document-collection-idempotence.html
170888               fast/dom/gc-9.html
170889
170890        * dom/Document.h:
170891        * dom/Document.cpp:
170892        (WebCore::Document::all):
170893
170894            Cache the HTMLAllCollection and reuse it across calls instead of
170895            creating a new one each time.
170896
170897        * html/HTMLAllCollection.h:
170898        * html/HTMLAllCollection.cpp:
170899        (WebCore::HTMLAllCollection::create):
170900        (WebCore::HTMLAllCollection::HTMLAllCollection):
170901
170902            Make the HTMLAllCollection constructor take a Document* to enforce
170903            the fact that it's the only way it should ever be created.
170904
170905        * html/HTMLAllCollection.idl:
170906        * bindings/scripts/CodeGeneratorJS.pm:
170907        (GenerateImplementation):
170908
170909            Custom reachability code for JSC, same as HTMLCollection.
170910
1709112011-12-17  Andreas Kling  <kling@webkit.org>
170912
170913        HTMLCollection: Simplify itemAfter().
170914        <http://webkit.org/b/74795>
170915
170916        Reviewed by Antti Koivisto.
170917
170918        Whether to do deep traversal of children depends on m_type which
170919        doesn't change after construction, so move that decision there
170920        by caching it in a "m_includeChildren" bit.
170921
170922        Also factored out the big switch statement in itemAfter() into
170923        an isAcceptableElement() function.
170924
170925        Last and least, use fastHasAttribute() to check for itempropAttr
170926        since it's not SVG animatable.
170927
170928        * html/HTMLCollection.cpp:
170929        (WebCore::HTMLCollection::HTMLCollection):
170930        (WebCore::HTMLCollection::shouldIncludeChildren):
170931        (WebCore::HTMLCollection::isAcceptableElement):
170932        (WebCore::HTMLCollection::itemAfter):
170933        * html/HTMLCollection.h:
170934
1709352011-12-17  Andreas Kling  <kling@webkit.org>
170936
170937        TagNodeList: Optimize nodeMatches() for the common case.
170938        <http://webkit.org/b/74796>
170939
170940        Reviewed by Antti Koivisto.
170941
170942        Reject based on tag name mismatch before comparing the namespaces,
170943        as this case is vastly more common.
170944
170945        nodeMatches() is very hot on the DOM Query (Dojo) test on Dromaeo.
170946        This change takes it from 8.3% to 7.7% on my MBP.
170947
170948        * dom/TagNodeList.cpp:
170949        (WebCore::TagNodeList::nodeMatches):
170950
1709512011-12-17  Andreas Kling  <kling@webkit.org>
170952
170953        NameNodeList: Use fastGetAttribute() in nodeMatches().
170954        <http://webkit.org/b/74797>
170955
170956        Reviewed by Darin Adler.
170957
170958        It's safe and slightly more efficient to use fastGetAttribute()
170959        for HTMLNames::nameAttr here.
170960
170961        * dom/NameNodeList.cpp:
170962        (WebCore::NameNodeList::nodeMatches):
170963
1709642011-12-17  Andreas Kling  <kling@webkit.org>
170965
170966        CSSPrimitiveValue: Inline getIdent().
170967        <http://webkit.org/b/74793>
170968
170969        Reviewed by Antti Koivisto.
170970
170971        Inline the trivial getIdent(), the same as its getFoo() siblings.
170972
170973        * css/CSSPrimitiveValue.cpp:
170974        * css/CSSPrimitiveValue.h:
170975        (WebCore::CSSPrimitiveValue::getIdent):
170976
1709772011-12-17  Andreas Kling  <kling@webkit.org>
170978
170979        CSSStyleSelector: Clean up matchRules().
170980        <http://webkit.org/b/74794>
170981
170982        Reviewed by Antti Koivisto.
170983
170984        - Early return from the isCollectingRulesOnly() path to reduce nesting.
170985        - Move the creation of m_ruleList out of the loop that builds the list.
170986        - Removed some comments from the Captain Obvious department.
170987
170988        * css/CSSStyleSelector.cpp:
170989        (WebCore::CSSStyleSelector::matchRules):
170990
1709912011-12-17  Andreas Kling  <kling@webkit.org>
170992
170993        RuleSet: Remove style sheet null-check in addRulesFromSheet().
170994        <http://webkit.org/b/74792>
170995
170996        Reviewed by Antti Koivisto.
170997
170998        Replace the "sheet" null-check in addRulesFromSheet() by an assertion.
170999        The only call-site where it could be null was when adding rules from
171000        an @import'ed sheet, so add a check there instead.
171001
171002        * css/CSSStyleSelector.cpp:
171003        (WebCore::RuleSet::addRulesFromSheet):
171004
1710052011-12-17  Andreas Kling  <kling@webkit.org>
171006
171007        CSSStyleSelector: Clean up getColorFromPrimitiveValue().
171008        <http://webkit.org/b/74789>
171009
171010        Reviewed by Antti Koivisto.
171011
171012        Rename getColorFromPrimitiveValue() to colorFromPrimitiveValue() and rework
171013        it to be a bit more readable.
171014
171015        * css/CSSGradientValue.cpp:
171016        (WebCore::CSSGradientValue::addStops):
171017        * css/CSSStyleApplyProperty.cpp:
171018        (WebCore::ApplyPropertyColor::applyValue):
171019        * css/CSSStyleSelector.cpp:
171020        (WebCore::CSSStyleSelector::applyProperty):
171021        (WebCore::CSSStyleSelector::colorFromPrimitiveValue):
171022        (WebCore::CSSStyleSelector::createFilterOperations):
171023        * css/CSSStyleSelector.h:
171024        * css/SVGCSSStyleSelector.cpp:
171025        (WebCore::CSSStyleSelector::applySVGProperty):
171026
1710272011-12-17  Kenichi Ishibashi  <bashi@chromium.org>
171028
171029        Text dispappear when SVG font has no latin character
171030        https://bugs.webkit.org/show_bug.cgi?id=71765
171031
171032        Reviewed by Nikolas Zimmermann.
171033
171034        Initialize SVG font metrics even if the font doesn't contain latin characters.
171035
171036        Test: svg/custom/svg-fonts-no-latin-glyph.html
171037
171038        * svg/SVGFontData.cpp:
171039        (WebCore::SVGFontData::initializeFontData): Initializes metrics even if the zeroGlyphPage doesn't exist.
171040
1710412011-12-17  David Barton  <dbarton@mathscribe.com>
171042
171043        Radical sign drawn incorrectly due to refactoring typo
171044        https://bugs.webkit.org/show_bug.cgi?id=74780
171045
171046        Reviewed by Dan Bernstein.
171047
171048        LayoutTests/mathml/presentation/roots.xhtml shows the bug, but apparently its .png
171049        checksum is ok so run-webkit-tests can't detect the problem.
171050
171051        * rendering/mathml/RenderMathMLRoot.cpp:
171052        (WebCore::RenderMathMLRoot::paint):
171053        In revision 88250, one paintOffset should have been adjustedPaintOffset.
171054
1710552011-12-17  Adrienne Walker  <enne@google.com>
171056
171057        [chromium] Reverting r103011, r103135 due to Aura test failures
171058
171059        Unreviewed gardening.
171060
171061        * platform/graphics/chromium/ContentLayerChromium.cpp:
171062        (WebCore::ContentLayerChromium::~ContentLayerChromium):
171063        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
171064        (WebCore::GraphicsLayerChromium::notifySyncRequired):
171065        * platform/graphics/chromium/GraphicsLayerChromium.h:
171066        * platform/graphics/chromium/ImageLayerChromium.cpp:
171067        (WebCore::ImageLayerChromium::paintContentsIfDirty):
171068        * platform/graphics/chromium/LayerChromium.cpp:
171069        (WebCore::LayerChromium::setLayerTreeHost):
171070        (WebCore::LayerChromium::setNeedsCommit):
171071        (WebCore::LayerChromium::setParent):
171072        (WebCore::LayerChromium::setMaskLayer):
171073        * platform/graphics/chromium/LayerChromium.h:
171074        (WebCore::LayerChromium::setReplicaLayer):
171075        * platform/graphics/chromium/TiledLayerChromium.cpp:
171076        (WebCore::TiledLayerChromium::setLayerTreeHost):
171077        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
171078        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
171079        (WebCore::CCLayerTreeHost::didRecreateGraphicsContext):
171080        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
171081        (WebCore::CCLayerTreeHost::paintLayerContents):
171082        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
171083        (WebCore::CCLayerTreeHost::setRootLayer):
171084
1710852011-12-16  Chris Marrin  <cmarrin@apple.com>
171086
171087        Hardware acceleration of W3C Filter Effects
171088        https://bugs.webkit.org/show_bug.cgi?id=68479
171089
171090        Reviewed by Simon Fraser.
171091
171092        Tests: css3/filters/effect-blur-hw.html
171093               css3/filters/effect-combined-hw.html
171094               css3/filters/effect-drop-shadow-hw.html
171095               css3/filters/effect-grayscale-hw.html
171096               css3/filters/effect-hue-rotate-hw.html
171097               css3/filters/effect-invert-hw.html
171098               css3/filters/effect-opacity-hw.html
171099               css3/filters/effect-saturate-hw.html
171100               css3/filters/effect-sepia-hw.html
171101
171102        Implement hardware acceleration of filters. If a filter is
171103        on a RenderLayer and that layer has a GraphicsLayer, a test
171104        is done to see if the desired filter can be rendered in hardware.
171105        If so, skip rendering it when painting, and add the filters to the
171106        CALayer. Currently Mac only, using CoreImage. Animation is done in
171107        software, with the filters being recreated every frame. There are
171108        some fidelity issues with the software renderer, but those will
171109        be dealt with as bugs to be fixed.
171110
171111        * platform/graphics/GraphicsLayer.h: Pass down FilterOperations
171112        (WebCore::GraphicsLayer::filter):
171113        (WebCore::GraphicsLayer::setFilter):
171114        * platform/graphics/ca/GraphicsLayerCA.cpp: Deferred passdown of FilterOperations to PlatformCALayer
171115        (WebCore::GraphicsLayerCA::setFilter):
171116        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers):
171117        (WebCore::GraphicsLayerCA::updateFilter):
171118        (WebCore::GraphicsLayerCA::ensureStructuralLayer):
171119        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
171120        * platform/graphics/ca/GraphicsLayerCA.h:
171121        * platform/graphics/ca/PlatformCALayer.h:
171122        * platform/graphics/ca/mac/PlatformCALayerMac.mm: Mac implementation using CI
171123        (PlatformCALayer::setFilter):
171124        (PlatformCALayer::filterCanBeComposited): Static function to tell GraphicsLayer if this Filter object can be rendered
171125        * platform/graphics/filters/FilterOperations.cpp:
171126        (WebCore::FilterOperations::operator=):
171127        * platform/graphics/filters/FilterOperations.h:
171128        (WebCore::FilterOperations::FilterOperations):
171129        * rendering/RenderLayer.cpp: Pass filter object to GraphicsLayer
171130        (WebCore::RenderLayer::rendersFilter):
171131        (WebCore::RenderLayer::paintLayer):
171132        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
171133        * rendering/RenderLayer.h:
171134        * rendering/RenderLayerBacking.cpp:
171135        (WebCore::RenderLayerBacking::RenderLayerBacking):
171136        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
171137        (WebCore::RenderLayerBacking::updateLayerFilter):
171138        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry):
171139        * rendering/RenderLayerBacking.h:
171140        (WebCore::RenderLayerBacking::canCompositeFilter):
171141
1711422011-12-17  Philippe Normand  <pnormand@igalia.com>
171143
171144        Unreviewed, GTK build fix after r103131.
171145
171146        * GNUmakefile.list.am: Fix typo... s/.cop/.cpp
171147
1711482011-12-16  Benjamin Poulain  <bpoulain@apple.com>
171149
171150        FEComposite does not build when you disable filters on ARMv7
171151        https://bugs.webkit.org/show_bug.cgi?id=74772
171152
171153        Reviewed by David Kilzer.
171154
171155        Add the missing ENABLE(FILTERS).
171156
171157        * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp:
171158        * platform/graphics/filters/arm/FECompositeArithmeticNEON.h:
171159
1711602011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
171161
171162        Mac build fix after r103104.
171163
171164        * WebCore.xcodeproj/project.pbxproj:
171165
1711662011-12-16  Adam Klein  <adamk@chromium.org>
171167
171168        Consolidate before-advice regarding attribute modification into a single method
171169        https://bugs.webkit.org/show_bug.cgi?id=74752
171170
171171        Reviewed by Ryosuke Niwa.
171172
171173        Adds a willModifyAttribute method to Element, meant to be called
171174        before an attribute on that Element is added/removed/changed.
171175
171176        Replace most calls to Element::updateId and all calls to
171177        Element::enqueueAttributesMutationRecordIfRequested with calls to
171178        willModifyAttribute. Moreover, enqueueAttributesMutation... can now
171179        be private since its only caller is willModifyAttribute.
171180
171181        The only remaining direct calls to updateId are in cases the entire
171182        NamedNodeMap is being replaced. These are implementation details of
171183        WebCore that shouldn't be exposed via MutationObservers.
171184
171185        No new tests, no expected change in behavior.
171186
171187        * dom/Attr.cpp:
171188        (WebCore::Attr::setValue):
171189        (WebCore::Attr::childrenChanged): Besides the above change, use a
171190        StringBuilder to build up value, and only do String -> AtomicString
171191        conversion once.
171192        * dom/Element.cpp:
171193        (WebCore::Element::setAttributeInternal):
171194        * dom/Element.h:
171195        (WebCore::Element::willModifyAttribute):
171196        * dom/NamedNodeMap.cpp:
171197        (WebCore::NamedNodeMap::setNamedItem):
171198        (WebCore::NamedNodeMap::removeNamedItem):
171199
1712002011-12-16  James Robinson  <jamesr@chromium.org>
171201
171202        [chromium] CCLayerDelegate and WebLayerClient do not need notifySyncRequired
171203        https://bugs.webkit.org/show_bug.cgi?id=74376
171204
171205        Reviewed by Kenneth Russell.
171206
171207        CCLayerDelegate::notifySyncRequired is an odd bit of interface that we originally cargo-culted from the
171208        CoreAnimation compositor implementation. It is a mechanism by which a LayerChromium instance may request a new
171209        frame via its CCLayerDelegate, which in WebCore is always a GraphicsLayerClient. In practice, all
171210        implementations eventually ended up routing to CCLayerTreeHost::setNeedsCommit which then made the proper
171211        scheduling decision.
171212
171213        This patch routes all changes that would have gone through CCLayerDelegate::notifySyncRequired directly to
171214        CCLayerTreeHost::setNeedsCommit, which greatly simplifies the scheduling logic.
171215
171216        There is a large amount of unit test coverage for this change, largely in LayerChromiumTest
171217
171218        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
171219        * platform/graphics/chromium/GraphicsLayerChromium.h:
171220        * platform/graphics/chromium/LayerChromium.cpp:
171221        (WebCore::LayerChromium::setNeedsCommit):
171222        (WebCore::LayerChromium::insertChild):
171223        * platform/graphics/chromium/LayerChromium.h:
171224        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
171225        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
171226        (WebCore::CCLayerTreeHost::setRootLayer):
171227        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
171228        * platform/graphics/chromium/cc/CCScopedThreadProxy.h:
171229        (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):
171230
1712312011-12-16  Adam Klein  <adamk@chromium.org>
171232
171233        Fix typo in MarkupTokenBase: rename takeAtributes to takeAttributes
171234        https://bugs.webkit.org/show_bug.cgi?id=74766
171235
171236        Reviewed by Darin Adler.
171237
171238        * html/parser/HTMLConstructionSite.cpp:
171239        (WebCore::HTMLConstructionSite::insertHTMLHtmlStartTagBeforeHTML):
171240        (WebCore::HTMLConstructionSite::insertScriptElement):
171241        (WebCore::HTMLConstructionSite::createElement):
171242        (WebCore::HTMLConstructionSite::createHTMLElement):
171243        * html/parser/HTMLTreeBuilder.cpp:
171244        (WebCore::HTMLTreeBuilder::attributesForIsindexInput):
171245        * xml/parser/MarkupTokenBase.h:
171246        (WebCore::AtomicMarkupTokenBase::takeAttributes):
171247
1712482011-12-16  Adam Barth  <abarth@webkit.org>
171249
171250        <option><span><option> doesn't parse correctly
171251        https://bugs.webkit.org/show_bug.cgi?id=74760
171252
171253        Reviewed by Eric Seidel.
171254
171255        The <option> start tag shouldn't be quite as aggressive in closing open
171256        <option> tags.  I'm not sure whether this was a change in the spec or a
171257        mistranscription, but this patch causes us to match the spec.  I've
171258        checked the other optionTag checks, and they all seem to be correct.
171259
171260        * html/parser/HTMLTreeBuilder.cpp:
171261
1712622011-12-16  Rafael Weinstein  <rafaelw@chromium.org>
171263
171264        [MutationObservers] Remove platform-dependent code in Document.cpp resulting from Mutation Event histogram collection
171265        https://bugs.webkit.org/show_bug.cgi?id=73026
171266
171267        Reviewed by Ryosuke Niwa.
171268
171269        This patch adds platform/HistogramSupport which has an empty implementation for all ports
171270        except Chromium.
171271
171272        No tests need. This patch is just a refactor.
171273
171274        * GNUmakefile.list.am:
171275        * Target.pri:
171276        * WebCore.gypi:
171277        * WebCore.xcodeproj/project.pbxproj:
171278        * dom/Document.cpp:
171279        (WebCore::histogramMutationEventUsage):
171280        (WebCore::Document::~Document):
171281        * platform/HistogramSupport.h: Added.
171282        (WebCore::HistogramSupport::histogramEnumeration):
171283        * platform/chromium/HistogramSupportChromium.cpp: Added.
171284        (WebCore::HistogramSupport::histogramEnumeration):
171285
1712862011-12-16  Brady Eidson  <beidson@apple.com>
171287
171288        <rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
171289        REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element
171290
171291        Reviewed by Darin Adler.
171292
171293        Test: media/crash-closing-page-with-media-as-plugin-fallback.html
171294
171295        At some point documentWillBecomeInactive() was overloaded to not only notify elements they were going in to the page
171296        cache but also do some other work that was necessary during Document teardown.
171297
171298        This crash occurs because we're notifying elements they're going in to the page cache at document teardown, so this
171299        patch breaks that work back out in to a separate function.
171300
171301        * dom/Document.cpp:
171302        (WebCore::Document::detach): Remove obsolete comment.
171303        (WebCore::Document::documentWillBecomeInactive): Handle only accelerated compositing cleanup.
171304        (WebCore::Document::documentWillSuspendForPageCache): Call documentWillBecomeInactive before notifying elements of suspension.
171305        (WebCore::Document::documentDidResumeFromPageCache):
171306        (WebCore::Document::registerForPageCacheSuspensionCallbacks):
171307        (WebCore::Document::unregisterForPageCacheSuspensionCallbacks):
171308        * dom/Document.h:
171309
171310        * history/CachedFrame.cpp:
171311        (WebCore::CachedFrameBase::restore): Call the renamed documentDidResumeFromPageCache.
171312        (WebCore::CachedFrame::CachedFrame): Call documentWillSuspendForPageCache instead of documentDidBecomeInactive.
171313
171314        * loader/FrameLoader.cpp:
171315        (WebCore::FrameLoader::commitProvisionalLoad): Call the renamed documentDidResumeFromPageCache.
171316
171317        * dom/Element.h:
171318        (WebCore::Element::documentWillSuspendForPageCache): Renamed from documentWillBecomeInactive()
171319        (WebCore::Element::documentDidResumeFromPageCache): Renamed from documentDidBecomeActive()
171320
171321        Change to the renamed registration and callbacks functions in the handful of classes that use them:
171322        * html/HTMLFormElement.cpp:
171323        (WebCore::HTMLFormElement::~HTMLFormElement):
171324        (WebCore::HTMLFormElement::parseMappedAttribute):
171325        (WebCore::HTMLFormElement::documentDidResumeFromPageCache):
171326        (WebCore::HTMLFormElement::willMoveToNewOwnerDocument):
171327        (WebCore::HTMLFormElement::didMoveToNewOwnerDocument):
171328        * html/HTMLFormElement.h:
171329
171330        * html/HTMLInputElement.cpp:
171331        (WebCore::HTMLInputElement::~HTMLInputElement):
171332        (WebCore::HTMLInputElement::updateType):
171333        (WebCore::HTMLInputElement::parseMappedAttribute):
171334        (WebCore::HTMLInputElement::needsSuspensionCallback):
171335        (WebCore::HTMLInputElement::registerForSuspensionCallbackIfNeeded):
171336        (WebCore::HTMLInputElement::unregisterForSuspensionCallbackIfNeeded):
171337        (WebCore::HTMLInputElement::documentDidResumeFromPageCache):
171338        (WebCore::HTMLInputElement::willMoveToNewOwnerDocument):
171339        (WebCore::HTMLInputElement::didMoveToNewOwnerDocument):
171340        * html/HTMLInputElement.h:
171341
171342        * html/HTMLPlugInImageElement.cpp:
171343        (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement):
171344        (WebCore::HTMLPlugInImageElement::createRenderer):
171345        (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
171346        (WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
171347        (WebCore::HTMLPlugInImageElement::documentWillSuspendForPageCache):
171348        (WebCore::HTMLPlugInImageElement::documentDidResumeFromPageCache):
171349        * html/HTMLPlugInImageElement.h:
171350
171351        * svg/SVGSVGElement.cpp:
171352        (WebCore::SVGSVGElement::SVGSVGElement):
171353        (WebCore::SVGSVGElement::~SVGSVGElement):
171354        (WebCore::SVGSVGElement::willMoveToNewOwnerDocument):
171355        (WebCore::SVGSVGElement::didMoveToNewOwnerDocument):
171356        (WebCore::SVGSVGElement::documentWillSuspendForPageCache):
171357        (WebCore::SVGSVGElement::documentDidResumeFromPageCache):
171358        * svg/SVGSVGElement.h:
171359
1713602011-12-16  Eric Penner  <epenner@google.com>
171361
171362        [chromium] Need to prepaint tiles in TiledLayerChromium
171363        https://bugs.webkit.org/show_bug.cgi?id=72686
171364
171365        Reviewed by James Robinson.
171366
171367        Tests: TiledLayerChromiumTest (idlePaintOutOfMemory, pushIdlePaintTiles)
171368
171369        * platform/graphics/chromium/ContentLayerChromium.cpp:
171370        (WebCore::ContentLayerChromium::idlePaintContentsIfDirty): added idle paint function
171371        * platform/graphics/chromium/ContentLayerChromium.h: ditto
171372        * platform/graphics/chromium/LayerChromium.h: ditto
171373        (WebCore::LayerChromium::idlePaintContentsIfDirty): ditto
171374        * platform/graphics/chromium/TextureManager.cpp:
171375        (WebCore::TextureManager::protectTexture): removed assert for protecting a texture twice
171376        * platform/graphics/chromium/TiledLayerChromium.cpp:
171377        (WebCore::TiledLayerChromium::TiledLayerChromium):
171378        (WebCore::TiledLayerChromium::cleanupResources):
171379        (WebCore::TiledLayerChromium::updateCompositorResources): refactoring to use tile indices
171380        (WebCore::TiledLayerChromium::prepareToUpdateTiles): refactored common code and made idle/visible versions
171381        (WebCore::TiledLayerChromium::prepareToUpdate): ditto
171382        (WebCore::TiledLayerChromium::prepareToUpdateIdle): ditto
171383        (WebCore::TiledLayerChromium::needsIdlePaint): 
171384        (WebCore::TiledLayerChromium::idlePaintRect):
171385        * platform/graphics/chromium/TiledLayerChromium.h:
171386        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
171387        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
171388        (WebCore::CCLayerTreeHost::compositeAndReadback): set flag to avoid idle paint durring composite and readback
171389        (WebCore::CCLayerTreeHost::updateLayers): added idle flag parameter
171390        (WebCore::CCLayerTreeHost::paintContentsIfDirty): ditto
171391        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface): ditto
171392        (WebCore::CCLayerTreeHost::paintLayerContents): chooses idle or visible paint
171393        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
171394
1713952011-12-16  Dean Jackson  <dino@apple.com>
171396
171397        Miscellaneous Filter updates to align with spec
171398        https://bugs.webkit.org/show_bug.cgi?id=74736
171399
171400        Reviewed by Simon Fraser.
171401
171402        Combine a bunch of small updates to filters where
171403        we were not compliant with the specification.
171404
171405        - blur() only takes one value, not two
171406        - blur() does not accept percentages. This allowed us
171407          to stop passing the borderBoxSize around while building
171408          the filter chain or calculating visual overflow.
171409        - gamma() and sharpen() removed
171410        - brightness() and contrast() added
171411
171412        Tests: css3/filters/effect-brightness.html
171413               css3/filters/effect-contrast.html
171414
171415        * css/CSSComputedStyleDeclaration.cpp:
171416        (WebCore::CSSComputedStyleDeclaration::valueForFilter): Create new
171417        variations on component transfer functions for brightness() and
171418        contrast() effects. Also remove sharpen() and gamma().
171419        * css/CSSParser.cpp:
171420        (WebCore::filterInfoForName):
171421        (WebCore::CSSParser::parseBuiltinFilterArguments): Ditto, and blur
171422        only takes one argument.
171423        * css/CSSStyleSelector.cpp:
171424        (WebCore::filterOperationForType):
171425        (WebCore::CSSStyleSelector::createFilterOperations): Ditto, and
171426        use ->isPercentage() to test rather than getting the type.
171427        * css/WebKitCSSFilterValue.cpp:
171428        (WebCore::WebKitCSSFilterValue::customCssText):
171429        * css/WebKitCSSFilterValue.h:
171430        * css/WebKitCSSFilterValue.idl: Remove sharpen and gamma, add
171431        brightness and contrast.
171432        * platform/graphics/filters/FilterOperation.cpp:
171433        (WebCore::BlurFilterOperation::blend): Blurs only need to blend
171434        between one standard deviation parameter.
171435        * platform/graphics/filters/FilterOperation.h: Remove sharpen and
171436        gamma, add brightness and contrast.
171437        (WebCore::BlurFilterOperation::create):
171438        (WebCore::BlurFilterOperation::stdDeviation):
171439        (WebCore::BlurFilterOperation::operator==):
171440        (WebCore::BlurFilterOperation::BlurFilterOperation): Blur only takes
171441        one standard deviation / radius parameter.
171442        * platform/graphics/filters/FilterOperations.cpp:
171443        (WebCore::outsetSizeForBlur):
171444        (WebCore::FilterOperations::getOutsets): No need for borderBox now.
171445        * platform/graphics/filters/FilterOperations.h:
171446        * rendering/FilterEffectRenderer.cpp:
171447        (WebCore::FilterEffectRenderer::build): Build new effect types.
171448        * rendering/FilterEffectRenderer.h:
171449        * rendering/RenderBox.cpp:
171450        (WebCore::RenderBox::addVisualEffectOverflow): No need to pass
171451        borderBox size when calculating overflow on filter.
171452        * rendering/RenderLayer.cpp:
171453        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
171454        * rendering/style/RenderStyle.h:
171455        (WebCore::InheritedFlags::getFilterOutsets): Ditto.
171456
1714572011-12-16  Andreas Kling  <kling@webkit.org>
171458
171459        Unreviewed debug build fix after r103115.
171460
171461        * dom/Document.cpp:
171462        (WebCore::Document::cachedCollection):
171463
1714642011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>
171465
171466        Windows test fix
171467
171468        No new tests.
171469
171470        Unreviewed test fix. All Windows tests were crashing when objects who were pointing to 
171471        static data members across DLL boundaries were getting garbage in their pointers.
171472
171473        * WebCore.exp.in:
171474        * bindings/js/JSDOMWrapper.cpp:
171475        * bindings/js/JSDOMWrapper.h:
171476
1714772011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
171478
171479        Rename registerCommandFor(Undo|Redo) to register(Undo|Redo)Step
171480        https://bugs.webkit.org/show_bug.cgi?id=74748
171481
171482        Reviewed by Eric Seidel.
171483
171484        Renamed registerCommandForUndo and registerCommandForRedo to
171485        registerUndoStep and registerRedoStep respectively.
171486
171487        * editing/Editor.cpp:
171488        (WebCore::Editor::appliedEditing):
171489        (WebCore::Editor::unappliedEditing):
171490        (WebCore::Editor::reappliedEditing):
171491        * loader/EmptyClients.h:
171492        (WebCore::EmptyEditorClient::registerUndoStep):
171493        (WebCore::EmptyEditorClient::registerRedoStep):
171494        * page/EditorClient.h:
171495
1714962011-12-16  Tim Horton  <timothy_horton@apple.com>
171497
171498        Canvas should respect backing store scale ratio when used as drawImage() source
171499        https://bugs.webkit.org/show_bug.cgi?id=74758
171500        <rdar://problem/10350194>
171501
171502        Reviewed by Simon Fraser.
171503
171504        Interpret the source rectangle passed into drawImage() when using a Canvas source in the source Canvas coordinate space,
171505        instead of in the backing store coordinate space, without changing the behavior of drawImage(canvas, x, y).
171506
171507        No new tests.
171508
171509        * html/HTMLCanvasElement.cpp:
171510        (WebCore::HTMLCanvasElement::convertDeviceToLogical):
171511        * html/HTMLCanvasElement.h:
171512        * html/canvas/CanvasRenderingContext2D.cpp:
171513        (WebCore::CanvasRenderingContext2D::drawImage):
171514
1715152011-12-16  Anders Carlsson  <andersca@apple.com>
171516
171517        Subpixel antialiasing not working in tiled mode
171518        https://bugs.webkit.org/show_bug.cgi?id=74759
171519
171520        Reviewed by Simon Fraser.
171521
171522        Call setContentsOpaque(true) on the main frame render view layer so subpixel aa will be used
171523        when drawing text into that layer.
171524
171525        * rendering/RenderLayerBacking.cpp:
171526        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer):
171527
1715282011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
171529
171530        invalidateNodeListsCacheAfterAttributeChanged has too many callers
171531        https://bugs.webkit.org/show_bug.cgi?id=74692
171532
171533        Reviewed by Sam Weinig.
171534
171535        Call invalidateNodeListsCacheAfterAttributeChanged in Element::updateAfterAttributeChanged instead of
171536        parsedMappedAttribute of various elements. Also make invalidateNodeListsCacheAfterAttributeChanged take
171537        the qualified name of the changed attribute so that we can exit early when the changed attribute isn't
171538        one of attributes we care.
171539
171540        In addition, added a missing call to invalidateNodeListsCacheAfterAttributeChanged in Attr::setValue.
171541
171542        Test: fast/dom/Attr/invalidate-nodelist-after-attr-setvalue.html
171543
171544        * dom/Attr.cpp:
171545        (WebCore::Attr::childrenChanged):
171546        * dom/Element.cpp:
171547        (WebCore::Element::updateAfterAttributeChanged):
171548        * dom/NamedNodeMap.cpp:
171549        (WebCore::NamedNodeMap::addAttribute):
171550        (WebCore::NamedNodeMap::removeAttribute):
171551        * dom/Node.cpp:
171552        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
171553        * dom/Node.h:
171554        * dom/StyledElement.cpp:
171555        (WebCore::StyledElement::classAttributeChanged):
171556        * html/HTMLAnchorElement.cpp:
171557        (WebCore::HTMLAnchorElement::parseMappedAttribute):
171558        * html/HTMLAppletElement.cpp:
171559        (WebCore::HTMLAppletElement::parseMappedAttribute):
171560        * html/HTMLElement.cpp:
171561        (WebCore::HTMLElement::parseMappedAttribute):
171562        * html/HTMLEmbedElement.cpp:
171563        (WebCore::HTMLEmbedElement::parseMappedAttribute):
171564        * html/HTMLFormElement.cpp:
171565        (WebCore::HTMLFormElement::parseMappedAttribute):
171566        * html/HTMLFrameElementBase.cpp:
171567        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
171568        * html/HTMLIFrameElement.cpp:
171569        (WebCore::HTMLIFrameElement::parseMappedAttribute):
171570        * html/HTMLImageElement.cpp:
171571        (WebCore::HTMLImageElement::parseMappedAttribute):
171572        * html/HTMLMapElement.cpp:
171573        (WebCore::HTMLMapElement::parseMappedAttribute):
171574        * html/HTMLMetaElement.cpp:
171575        (WebCore::HTMLMetaElement::parseMappedAttribute):
171576        * html/HTMLObjectElement.cpp:
171577        (WebCore::HTMLObjectElement::parseMappedAttribute):
171578        * html/HTMLParamElement.cpp:
171579        (WebCore::HTMLParamElement::parseMappedAttribute):
171580
1715812011-12-16  Andreas Kling  <kling@webkit.org>
171582
171583        Cache and reuse HTMLCollections exposed by Document.
171584        <http://webkit.org/b/71956>
171585
171586        Reviewed by Antti Koivisto.
171587
171588        Let Document cache the various HTMLCollection objects it exposes.
171589        This is a behavior change in two ways:
171590
171591        1) The lifetime of returned collections is now tied to the lifetime
171592           of the Document. This matches the behavior of Firefox and Opera.
171593
171594        2) The cached collections returned by document are now exactly equal
171595           to those returned by subsequent calls to the same getters.
171596
171597        This reduces memory consumption by ~800 kB (on 64-bit) when loading
171598        the full HTML5 spec. document.links was called 34001 times, yielding
171599        34001 separate HTMLCollections, and now we only need 1.
171600
171601        The document.all collection retains the old behavior, as caching it
171602        will be a bit more complicated.
171603
171604        To avoid a reference cycle between Document and HTMLCollection,
171605        collections that are cached on Document do not retained their base
171606        node pointer (controlled by a m_baseIsRetained flag.)
171607
171608        Tests: fast/dom/document-collection-idempotence.html
171609               fast/dom/gc-9.html
171610
171611        * dom/Document.cpp:
171612        (WebCore::Document::detach):
171613        (WebCore::Document::cachedCollection):
171614        (WebCore::Document::images):
171615        (WebCore::Document::applets):
171616        (WebCore::Document::embeds):
171617        (WebCore::Document::plugins):
171618        (WebCore::Document::objects):
171619        (WebCore::Document::scripts):
171620        (WebCore::Document::links):
171621        (WebCore::Document::forms):
171622        (WebCore::Document::anchors):
171623        * dom/Document.h:
171624        * html/HTMLCollection.cpp:
171625        (WebCore::HTMLCollection::HTMLCollection):
171626        (WebCore::HTMLCollection::createForCachingOnDocument):
171627        (WebCore::HTMLCollection::~HTMLCollection):
171628        (WebCore::HTMLCollection::itemAfter):
171629        * html/HTMLCollection.h:
171630        (WebCore::HTMLCollection::base):
171631
1716322011-12-16  Anders Carlsson  <andersca@apple.com>
171633
171634        Add a pretty dumb tile cache to WebTileCacheLayer
171635        https://bugs.webkit.org/show_bug.cgi?id=74753
171636
171637        Reviewed by Simon Fraser.
171638
171639        * WebCore.xcodeproj/project.pbxproj:
171640        * platform/graphics/ca/GraphicsLayerCA.cpp:
171641        (WebCore::GraphicsLayerCA::requiresTiledLayer):
171642        If a layer is a tile cache layer, we never want to swap it out for a tiled layer.
171643
171644        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
171645        Assert that we don't have a tile cache layer.
171646
171647        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
171648        (PlatformCALayer::PlatformCALayer):
171649        If we have a tile cache layer, add its tile container to the list of custom sublayers.
171650
171651        * platform/graphics/ca/mac/TileCache.h: Added.
171652        (WebCore::TileCache::tileContainerLayer):
171653        Return the tile container layer.
171654
171655        * platform/graphics/ca/mac/TileCache.mm: Added.
171656        (WebCore::TileCache::tileCacheLayerBoundsChanged):
171657        Resize the tile grid if necessary.
171658
171659        (WebCore::TileCache::setNeedsDisplayInRect):
171660        Invalidate the necessary tiles.
171661
171662        (WebCore::TileCache::drawLayer):
171663        Set up the transform and draw the layer.
171664
171665        (WebCore::TileCache::getTileRangeForRect):
171666        Given a rect, return the range of tiles that it covers.
171667
171668        (WebCore::TileCache::numTilesForGridSize):
171669        Given a size, return how many tiles are needed to completely cover it.
171670
171671        (WebCore::TileCache::resizeTileGrid):
171672        Create new tile layers if needed, or reuse already existing ones.
171673
171674        (WebCore::TileCache::tileLayerAtPosition):
171675        Given a position in the grid, return the tile layer.
171676
171677        (WebCore::TileCache::createTileLayer):
171678        Create a WebTileLayer and set it up.
171679
171680        * platform/graphics/ca/mac/WebTileCacheLayer.h:
171681        * platform/graphics/ca/mac/WebTileCacheLayer.mm:
171682        (-[WebTileCacheLayer setBounds:]):
171683        (-[WebTileCacheLayer setNeedsDisplayInRect:]):
171684        (-[WebTileCacheLayer tileContainerLayer]):
171685        Call down to the tile cache object.
171686
171687        * platform/graphics/ca/mac/WebTileLayer.h: Added.
171688        * platform/graphics/ca/mac/WebTileLayer.mm: Added.
171689
171690        (-[WebTileLayer drawInContext:]):
171691        Ask the tile cache to draw the given layer.
171692
171693        (-[WebTileLayer setTileCache:WebCore::]):
171694
1716952011-12-16  Sam Weinig  <sam@webkit.org>
171696
171697        Give PlatformEvents a base class
171698        https://bugs.webkit.org/show_bug.cgi?id=74685
171699
171700        Reviewed by Anders Carlsson.
171701
171702        Add a base class for PlatformMouseEvent, PlatformKeyboardEvent, PlatformWheelEvent
171703        and PlatformGestureEvent and move Type enumeration and modifiers down to it.
171704
171705        * CMakeLists.txt:
171706        * GNUmakefile.list.am:
171707        * Target.pri:
171708        * WebCore.exp.in:
171709        * WebCore.gypi:
171710        * WebCore.vcproj/WebCore.vcproj:
171711        * WebCore.xcodeproj/project.pbxproj:
171712        Add new files.
171713
171714        * platform/PlatformEvent.cpp: Added.
171715        * platform/PlatformEvent.h: Added.
171716        (WebCore::PlatformEvent::type):
171717        (WebCore::PlatformEvent::shiftKey):
171718        (WebCore::PlatformEvent::ctrlKey):
171719        (WebCore::PlatformEvent::altKey):
171720        (WebCore::PlatformEvent::metaKey):
171721        (WebCore::PlatformEvent::modifiers):
171722        (WebCore::PlatformEvent::PlatformEvent):
171723        Add new class.
171724
171725        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
171726        (-[WebAccessibilityObjectWrapper accessibilityShowContextMenu]):
171727        * dom/KeyboardEvent.cpp:
171728        (WebCore::eventTypeForKeyboardEventType):
171729        * dom/MouseEvent.cpp:
171730        (WebCore::MouseEvent::create):
171731        * page/DragController.cpp:
171732        (WebCore::createMouseEvent):
171733        * page/EventHandler.cpp:
171734        (WebCore::EventHandler::handleGestureEvent):
171735        (WebCore::EventHandler::sendContextMenuEventForKey):
171736        (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
171737        (WebCore::EventHandler::handleAccessKey):
171738        (WebCore::EventHandler::keyEvent):
171739        (WebCore::EventHandler::handleDrag):
171740        * page/blackberry/EventHandlerBlackBerry.cpp:
171741        (WebCore::EventHandler::accessKeyModifiers):
171742        * page/chromium/EventHandlerChromium.cpp:
171743        (WebCore::EventHandler::accessKeyModifiers):
171744        * page/efl/EventHandlerEfl.cpp:
171745        (WebCore::EventHandler::accessKeyModifiers):
171746        * page/gtk/EventHandlerGtk.cpp:
171747        (WebCore::EventHandler::accessKeyModifiers):
171748        * page/mac/EventHandlerMac.mm:
171749        (WebCore::EventHandler::accessKeyModifiers):
171750        * page/qt/EventHandlerQt.cpp:
171751        (WebCore::EventHandler::accessKeyModifiers):
171752        * page/win/EventHandlerWin.cpp:
171753        (WebCore::EventHandler::accessKeyModifiers):
171754        * page/wx/EventHandlerWx.cpp:
171755        (WebCore::EventHandler::accessKeyModifiers):
171756        * platform/PlatformGestureEvent.h:
171757        (WebCore::PlatformGestureEvent::PlatformGestureEvent):
171758        * platform/PlatformKeyboardEvent.h:
171759        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171760        (WebCore::PlatformKeyboardEvent::isKeypad):
171761        * platform/PlatformMouseEvent.h:
171762        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
171763        (WebCore::PlatformMouseEvent::button):
171764        * platform/PlatformWheelEvent.h:
171765        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
171766        * platform/ScrollAnimatorNone.cpp:
171767        (WebCore::ScrollAnimatorNone::zoom):
171768        (WebCore::ScrollAnimatorNone::handleGestureEvent):
171769        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp:
171770        (WebCore::toWebCorePlatformKeyboardEventType):
171771        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171772        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
171773        * platform/chromium/GestureRecognizerChromium.cpp:
171774        (WebCore::GestureRecognizerChromium::appendTapDownGestureEvent):
171775        (WebCore::GestureRecognizerChromium::appendClickGestureEvent):
171776        (WebCore::GestureRecognizerChromium::appendDoubleClickGestureEvent):
171777        (WebCore::GestureRecognizerChromium::appendScrollGestureBegin):
171778        (WebCore::GestureRecognizerChromium::appendScrollGestureEnd):
171779        (WebCore::GestureRecognizerChromium::appendScrollGestureUpdate):
171780        * platform/chromium/PlatformKeyboardEventChromium.cpp:
171781        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
171782        * platform/chromium/PopupContainer.cpp:
171783        (WebCore::PopupContainer::handleGestureEvent):
171784        * platform/chromium/PopupListBox.cpp:
171785        (WebCore::isCharacterTypeEvent):
171786        (WebCore::PopupListBox::handleKeyEvent):
171787        * platform/chromium/ScrollAnimatorChromiumMac.mm:
171788        (WebCore::ScrollAnimatorChromiumMac::handleGestureEvent):
171789        * platform/efl/PlatformKeyboardEventEfl.cpp:
171790        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171791        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
171792        * platform/efl/PlatformMouseEventEfl.cpp:
171793        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
171794        * platform/efl/PlatformWheelEventEfl.cpp:
171795        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
171796        * platform/gtk/PlatformKeyboardEventGtk.cpp:
171797        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171798        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
171799        * platform/gtk/PlatformMouseEventGtk.cpp:
171800        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
171801        * platform/gtk/PlatformWheelEventGtk.cpp:
171802        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
171803        * platform/ios/KeyEventIOS.mm:
171804        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171805        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
171806        * platform/mac/KeyEventMac.mm:
171807        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171808        * platform/mac/PlatformMouseEventMac.mm:
171809        (WebCore::mouseEventForNSEvent):
171810        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
171811        * platform/mac/ScrollAnimatorMac.mm:
171812        (WebCore::ScrollAnimatorMac::handleGestureEvent):
171813        * platform/mac/WheelEventMac.mm:
171814        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
171815        * platform/qt/PlatformKeyboardEventQt.cpp:
171816        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171817        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
171818        * platform/qt/PlatformMouseEventQt.cpp:
171819        (WebCore::mouseEventTypeAndMouseButtonFromQEvent):
171820        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
171821        * platform/qt/WheelEventQt.cpp:
171822        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
171823        * platform/win/KeyEventWin.cpp:
171824        (WebCore::isKeypadEvent):
171825        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171826        * platform/win/PlatformMouseEventWin.cpp:
171827        (WebCore::messageToEventType):
171828        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
171829        * platform/win/WheelEventWin.cpp:
171830        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
171831        * platform/wx/KeyboardEventWx.cpp:
171832        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
171833        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
171834        * platform/wx/MouseEventWx.cpp:
171835        (WebCore::typeFromMouseEvent):
171836        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
171837        * platform/wx/MouseWheelEventWx.cpp:
171838        (WebCore::PlatformWheelEvent::PlatformWheelEvent):
171839        * plugins/mac/PluginViewMac.mm:
171840        (WebCore::PluginView::handleKeyboardEvent):
171841        * testing/Internals.cpp:
171842        (WebCore::Internals::setZoomAnimatorTransform):
171843        Switch to using new names/class modifier as necessary.
171844
1718452011-12-16  Adam Barth  <abarth@webkit.org>
171846
171847        <!doctype html><div><body><frameset> doesn't parse correctly
171848        https://bugs.webkit.org/show_bug.cgi?id=74745
171849
171850        Reviewed by Eric Seidel.
171851
171852        We were missing one place the spec tells us to set this bool.
171853
171854        Tests: html5lib/runner.html
171855
171856        * html/parser/HTMLTreeBuilder.cpp:
171857
1718582011-12-16  Jarred Nicholls  <jarred@sencha.com>
171859
171860        Support HTML documents in XHR.responseXML
171861        https://bugs.webkit.org/show_bug.cgi?id=74626
171862
171863        Latest W3C XHR spec details for the responseXML attribute:
171864        http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#the-responsexml-attribute
171865        http://dvcs.w3.org/hg/xhr/raw-file/tip/Overview.html#document-response-entity-body
171866
171867        XHR.responseXML was not compliant per the latest editor's draft of the XHR spec.
171868        The following compliance issue have been corrected:
171869          - A responseType of "text" should disallow access to responseXML by throwing an InvalidState exception.
171870          - When the error flag is toggled, responseXML should return "null" immediately and not attempt to create a new Document.
171871          - responseXML should return a valid HTML document when the MIME type is "text/html", but only when the caller has
171872            explicitly set responseType to "document".
171873
171874        Reviewed by Alexey Proskuryakov.
171875
171876        Tests: fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-quirks.html
171877               fast/xmlhttprequest/xmlhttprequest-responseXML-html-document-responsetype-strict.html
171878               fast/xmlhttprequest/xmlhttprequest-responseXML-html-no-responsetype.html
171879               fast/xmlhttprequest/xmlhttprequest-responseXML-invalid-xml.html
171880               fast/xmlhttprequest/xmlhttprequest-responseXML-xml-document-responsetype.html
171881               fast/xmlhttprequest/xmlhttprequest-responseXML-xml-text-responsetype.html
171882
171883        * xml/XMLHttpRequest.cpp:
171884        (WebCore::XMLHttpRequest::responseXML):
171885        (WebCore::XMLHttpRequest::clearResponseBuffers):
171886        * xml/XMLHttpRequest.h: Rename m_responseXML to m_responseDocument
171887        (WebCore::XMLHttpRequest::optionalResponseXML):
171888
1718892011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
171890
171891        Only EditCommandComposition should implement unapply and reapply
171892        https://bugs.webkit.org/show_bug.cgi?id=74490
171893
171894        Reviewed by Eric Seidel.
171895
171896        Introduce new abstract class UndoStep to replace EditCommand for EditorClient, and make EditCommand
171897        private to WebCore.
171898
171899        * GNUmakefile.list.am:
171900        * Target.pri:
171901        * WebCore.exp.in:
171902        * WebCore.gypi:
171903        * WebCore.vcproj/WebCore.vcproj:
171904        * WebCore.xcodeproj/project.pbxproj:
171905        * editing/CompositeEditCommand.cpp:
171906        (WebCore::EditCommandComposition::create): Takes EditAction instead of boolean for CreateLinkCommand.
171907        (WebCore::EditCommandComposition::EditCommandComposition): Ditto.
171908        (WebCore::EditCommandComposition::unapply): Moved from EditCommand; we don't have to call isTopLevelCommand
171909        anymore because EditCommandComposition is always top-level. In fact, the only thing unapply/reapply do
171910        in addition to what doUnapply/doReapply do for sub-level commands is disabling and enabling delete button
171911        and defining an event queue scope. However, these can be done at top-level command anyway, so we now only call
171912        doApply for sub-level commands.
171913        (WebCore::EditCommandComposition::reapply): Ditto.
171914        (WebCore::EditCommandComposition::setStartingSelection): Added.
171915        (WebCore::EditCommandComposition::setEndingSelection): Added.
171916        (WebCore::applyCommand): Moved from EditCommand.
171917        (WebCore::CompositeEditCommand::apply): Moved from EditCommand; doesn't call isTopLevelCommand for the same reason.
171918        (WebCore::CompositeEditCommand::ensureComposition):
171919        (WebCore::CompositeEditCommand::applyCommandToComposite): Call doApply instead of apply for the same reason.
171920        * editing/CompositeEditCommand.h:
171921        (WebCore::EditCommandComposition::wasCreateLinkCommand):
171922        (WebCore::EditCommandComposition::startingSelection): Added.
171923        (WebCore::EditCommandComposition::endingSelection): Added.
171924        * editing/EditCommand.cpp:
171925        (WebCore::EditCommand::setStartingSelection):
171926        (WebCore::EditCommand::setEndingSelection):
171927        (WebCore::SimpleEditCommand::doReapply): Moved from EditCommand.
171928        * editing/EditCommand.h:
171929        * editing/UndoStep.h: Added.
171930        (WebCore::UndoStep::~UndoStep):
171931        * loader/EmptyClients.h:
171932        (WebCore::EmptyEditorClient::shouldInsertNode):
171933        (WebCore::EmptyEditorClient::didSetSelectionTypesForPasteboard):
171934        (WebCore::EmptyEditorClient::registerCommandForUndo): Takes UndoStep instead of EditCommand.
171935        (WebCore::EmptyEditorClient::registerCommandForRedo): Ditto.
171936        * page/EditorClient.h:
171937
1719382011-12-16  Simon Fraser  <simon.fraser@apple.com>
171939
171940        Allow a PlatformCALayer to own its own sublayers
171941        https://bugs.webkit.org/show_bug.cgi?id=74744
171942
171943        Reviewed by Anders Carlsson.
171944
171945        GraphicsLayerCA rebuilds the sublayer list of CALayers, which would
171946        blow away any custom layers that a PlatformCALayer wants to maintain
171947        as children.
171948        
171949        Make it possible for a PlatformLayerCA to indicate that it wants
171950        a specific list of sublayers to be maintained as the first layers
171951        in the child list.
171952        
171953        * platform/graphics/ca/GraphicsLayerCA.cpp:
171954        (WebCore::GraphicsLayerCA::updateSublayerList):
171955        * platform/graphics/ca/PlatformCALayer.h:
171956        (WebCore::PlatformCALayer::customSublayers):
171957        * platform/graphics/ca/mac/PlatformCALayerMac.mm:
171958        (PlatformCALayer::PlatformCALayer):
171959
1719602011-12-16  Adam Barth  <abarth@webkit.org>
171961
171962        <!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
171963        https://bugs.webkit.org/show_bug.cgi?id=74658
171964
171965        Reviewed by Darin Adler.
171966
171967        Previously, we handled skipping newlines after <pre> in the tokenizer,
171968        which isn't how the spec handles them.  Instead, the spec skips them in
171969        the tree builder.  This isn't usually observable, except in the case of
171970        an HTML entity.  In that case, the tokenzier sees '&' (because the
171971        entity hasn't been decoded yet), but the tree builder sees '\n' (the
171972        decoded entity).  This patch fixes the bug by more closely aligning our
171973        implementation with the spec.
171974
171975        Test: html5lib/runner.html
171976
171977        * html/parser/HTMLTokenizer.cpp:
171978        (WebCore::HTMLTokenizer::reset):
171979        (WebCore::HTMLTokenizer::nextToken):
171980        * html/parser/HTMLTokenizer.h:
171981        * html/parser/HTMLTreeBuilder.cpp:
171982        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
171983        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
171984        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
171985        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
171986        * html/parser/HTMLTreeBuilder.h:
171987        * xml/parser/MarkupTokenizerBase.h:
171988
1719892011-12-16  Joshua Bell  <jsbell@chromium.org>
171990
171991        IndexedDB: Implement IDBObjectStore.count() and IDBIndex.count()
171992        https://bugs.webkit.org/show_bug.cgi?id=73686
171993
171994        Reviewed by Tony Chang.
171995
171996        These new methods open an internal cursor and iterate through the
171997        results, returning the number of items found. Note that only
171998        passing an IDBKeyRange is supported, not an IDBKey. Supporting
171999        that will require some IDL/binding monkeying; several other
172000        methods also need the same Key-or-KeyRange behavior.
172001
172002        Tests: storage/indexeddb/index-count.html
172003               storage/indexeddb/objectstore-count.html
172004
172005        * bindings/v8/SerializedScriptValue.cpp:
172006        (WebCore::SerializedScriptValue::numberValue):
172007        * bindings/v8/SerializedScriptValue.h:
172008        * storage/IDBIndex.cpp:
172009        (WebCore::IDBIndex::openCursor):
172010        (WebCore::IDBIndex::count):
172011        * storage/IDBIndex.h:
172012        (WebCore::IDBIndex::count):
172013        * storage/IDBIndex.idl:
172014        * storage/IDBIndexBackendImpl.cpp:
172015        (WebCore::IDBIndexBackendImpl::countInternal):
172016        (WebCore::IDBIndexBackendImpl::count):
172017        * storage/IDBIndexBackendImpl.h:
172018        * storage/IDBIndexBackendInterface.h:
172019        * storage/IDBObjectStore.cpp:
172020        (WebCore::IDBObjectStore::count):
172021        * storage/IDBObjectStore.h:
172022        (WebCore::IDBObjectStore::count):
172023        * storage/IDBObjectStore.idl:
172024        * storage/IDBObjectStoreBackendImpl.cpp:
172025        (WebCore::IDBObjectStoreBackendImpl::count):
172026        (WebCore::IDBObjectStoreBackendImpl::countInternal):
172027        * storage/IDBObjectStoreBackendImpl.h:
172028        * storage/IDBObjectStoreBackendInterface.h:
172029
1720302011-12-16  Yael Aharon  <yael.aharon@nokia.com>
172031
172032        Audio file in video element has a size of 0x0 .
172033        https://bugs.webkit.org/show_bug.cgi?id=74738
172034
172035        Reviewed by Kenneth Rohde Christiansen.
172036
172037        When the source of a video element has audio only, the intrinsic size of the video should
172038        not be 0x0. Instead, it should be the same as as no media was loaded.
172039
172040        No new tests. An existing test is covering this case and was modified to reflect this change.
172041
172042        * rendering/RenderVideo.cpp:
172043        (WebCore::RenderVideo::calculateIntrinsicSize):
172044
1720452011-12-16  Alexis Menard  <alexis.menard@openbossa.org>
172046
172047        getComputedStyle for border-width is not implemented.
172048        https://bugs.webkit.org/show_bug.cgi?id=74635
172049
172050        Reviewed by Tony Chang.
172051
172052        Implement getComputedStyle for border-width.
172053
172054        Test: fast/css/getComputedStyle/getComputedStyle-border-width.html
172055
172056        * css/CSSComputedStyleDeclaration.cpp:
172057        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
172058
1720592011-12-16  Branimir Lambov  <blambov@google.com>
172060
172061        [chromium] svg/clip-path/clip-in-mask.svg fails on Windows and Linux
172062        https://bugs.webkit.org/show_bug.cgi?id=53378
172063
172064        Reviewed by Tony Chang.
172065
172066        Fixes a problem in Skia's clipping layer code's handling of coordinate
172067        transformations that was causing all complex clipping (including text
172068        and/or masks) to fail.
172069
172070        The method beginLayerClippedToImage was taking rectangle coordinates
172071        in one local coordinate space, but it was applying them in a different  
172072        one because of the delay between the time it is called and the actual 
172073        application occurs in applyClipFromImage. The fix translates the 
172074        coordinates passed to beginLayerClippedToImage to absolute ones, so 
172075        that they are not affected by any change in the transform matrix, and 
172076        makes sure that applyClipFromImage clears the matrix before drawing
172077        the clip layer to correctly apply the absolute coordinates.
172078
172079        * platform/graphics/skia/PlatformContextSkia.cpp:
172080        (WebCore::PlatformContextSkia::beginLayerClippedToImage):
172081        (WebCore::PlatformContextSkia::applyClipFromImage):
172082        * platform/graphics/skia/PlatformContextSkia.h:
172083
1720842011-12-16  Mark Hahnenberg  <mhahnenberg@apple.com>
172085
172086        De-virtualize destructors
172087        https://bugs.webkit.org/show_bug.cgi?id=74331
172088
172089        Reviewed by Geoffrey Garen.
172090
172091        No new tests.
172092
172093        Doing everything here that was done to the JSCell hierarchy in JavaScriptCore. 
172094        See the ChangeLog for this commit for a more in-depth description.
172095
172096        * WebCore.exp.in: Add/remove symbols.
172097        * bindings/js/JSCanvasRenderingContext2DCustom.cpp: Remove first arg from isJSArray call.
172098        (WebCore::JSCanvasRenderingContext2D::setWebkitLineDash):
172099        * bindings/js/JSDOMBinding.cpp: Add trival destructor assert for DOMConstructorObject 
172100        and DOMConstructorWithDocument.
172101        * bindings/js/JSDOMGlobalObject.cpp: Add static destroy.  Add implementation for 
172102        scriptExecutionContext that dispatches to different functions in subclasses 
172103        depending on our current ClassInfo.  We do this so that we can get rid of the 
172104        virtual-ness of scriptExecutionContext, because any virtual functions will throw 
172105        off the layout of the object and we'll crash at runtime.
172106        (WebCore::JSDOMGlobalObject::destroy):
172107        (WebCore::JSDOMGlobalObject::scriptExecutionContext):
172108        * bindings/js/JSDOMGlobalObject.h:
172109        * bindings/js/JSDOMWindowBase.cpp: Add static destroy.
172110        (WebCore::JSDOMWindowBase::destroy):
172111        * bindings/js/JSDOMWindowBase.h: De-virtualize scriptExecutionContext.
172112        * bindings/js/JSDOMWindowShell.cpp: Add static destroy.
172113        (WebCore::JSDOMWindowShell::destroy):
172114        * bindings/js/JSDOMWindowShell.h:
172115        * bindings/js/JSDOMWrapper.cpp: Add trivial destructor assert.
172116        * bindings/js/JSDOMWrapper.h: Add a ClassInfo to JSDOMWrapper since it now overrides 
172117        a MethodTable function. Remove vtableAnchor virtual function.
172118        * bindings/js/JSImageConstructor.cpp: Add trivial destructor assert.
172119        * bindings/js/JSNodeCustom.cpp: Change implementation of pushEventHandlerScope so that 
172120        it dispatches to the correct function depending on the 
172121        identity of the class as specified by the ClassInfo.  
172122        See JSDOMGlobalObject::scriptExecutionContext for explanation.
172123        (WebCore::JSNode::pushEventHandlerScope):
172124        * bindings/js/JSWebSocketCustom.cpp: Remove first arg to isJSArray call.
172125        (WebCore::JSWebSocketConstructor::constructJSWebSocket):
172126        * bindings/js/JSWorkerContextBase.cpp: Add static destroy.
172127        (WebCore::JSWorkerContextBase::destroy):
172128        * bindings/js/JSWorkerContextBase.h: 
172129        * bindings/js/ScriptValue.cpp: Remove first arg to isJSArray call.
172130        (WebCore::jsToInspectorValue): 
172131        * bindings/js/SerializedScriptValue.cpp: Ditto.
172132        (WebCore::CloneSerializer::isArray):
172133        (WebCore::CloneSerializer::getSparseIndex):
172134        * bindings/scripts/CodeGeneratorJS.pm:
172135        (GenerateHeader): Remove virtual-ness of any custom pushEventHandlerScope (see 
172136        JSNodeCustom::pushEventHandlerScope for explanation).  Remove virtual toBoolean 
172137        for anybody who masquerades as undefined, since our JSObject implementation handles 
172138        this based on the TypeInfo in the Structure. Add trivial destructor assert for any 
172139        class other than DOMWindow or WorkerContexts.
172140        (GenerateImplementation): Change ClassInfo definitions to use Base::s_info, since 
172141        typing the parent class more than once is duplication of information and increases 
172142        the likelihood of mistakes.  Pass ClassInfo to TypeArrayDescriptors instead of vptr. 
172143        (GenerateConstructorDefinition): Add trivial destructor assert for all generated constructors.
172144        * bridge/c/CRuntimeObject.cpp: Remove empty virtual destructor.
172145        * bridge/c/CRuntimeObject.h: 
172146        * bridge/jni/jsc/JavaRuntimeObject.cpp: Ditto.
172147        * bridge/jni/jsc/JavaRuntimeObject.h: 
172148        * bridge/objc/ObjCRuntimeObject.h: Ditto.
172149        * bridge/objc/ObjCRuntimeObject.mm:
172150        * bridge/objc/objc_runtime.h: Add static destroy for ObjcFallbackObjectImp. De-virtualize 
172151        toBoolean in the short term.  Need longer term fix.
172152        * bridge/objc/objc_runtime.mm:
172153        (JSC::Bindings::ObjcFallbackObjectImp::destroy):
172154        * bridge/qt/qt_runtime.cpp: Add static destroy to QtRuntimeMethod.
172155        (JSC::Bindings::QtRuntimeMethod::destroy):
172156        * bridge/qt/qt_runtime.h: De-virtualize ~QtRuntimeMethod.
172157        * bridge/runtime_array.cpp: De-virtualize destructor. Add static destroy.
172158        (JSC::RuntimeArray::destroy):
172159        * bridge/runtime_array.h:
172160        * bridge/runtime_method.cpp: Remove vtableAnchor. Add static destroy.
172161        (JSC::RuntimeMethod::destroy):
172162        * bridge/runtime_method.h:
172163        * bridge/runtime_object.cpp: Add static destroy.
172164        (JSC::Bindings::RuntimeObject::destroy):
172165        * bridge/runtime_object.h:
172166
1721672011-12-15  Alexey Proskuryakov  <ap@apple.com>
172168
172169        Poor XPath performance when evaluating an expression that returns a lot of nodes
172170        https://bugs.webkit.org/show_bug.cgi?id=74665
172171        <rdar://problem/10517146>
172172
172173        Reviewed by Darin Adler.
172174
172175        No change in funcitonality. Well covered by existing tests (ran them with zero cutoff to
172176        execute the new code path).
172177
172178        Our sorting function is optimized for small node sets in large documents, and this is the
172179        opposite of it. Added another one that traverses the whole document, adding nodes from the
172180        node set to sorted list. That doesn't grow with the number of nodes nearly as fast.
172181
172182        Cutoff amount chosen for the document referenced in bug - this is roughly where the algorithms
172183        have the same performance on it.
172184
172185        * xml/XPathNodeSet.cpp:
172186        (WebCore::XPath::NodeSet::sort):
172187        (WebCore::XPath::findRootNode):
172188        (WebCore::XPath::NodeSet::traversalSort):
172189        * xml/XPathNodeSet.h:
172190
1721912011-12-15  Antti Koivisto  <antti@apple.com>
172192
172193        https://bugs.webkit.org/show_bug.cgi?id=74677
172194        Count ResourceLoadScheduler suspends/resumes
172195
172196        Reviewed by Andreas Kling.
172197
172198        Using boolean is not robust when there are multiple clients calling suspendPendingRequests/resumePendingRequests.
172199        
172200        Increment and decrement suspend count instead of just setting/unsetting a boolean.
172201
172202        * loader/ResourceLoadScheduler.cpp:
172203        (WebCore::ResourceLoadScheduler::ResourceLoadScheduler):
172204        (WebCore::ResourceLoadScheduler::servePendingRequests):
172205        (WebCore::ResourceLoadScheduler::suspendPendingRequests):
172206        (WebCore::ResourceLoadScheduler::resumePendingRequests):
172207        * loader/ResourceLoadScheduler.h:
172208        (WebCore::ResourceLoadScheduler::isSuspendingPendingRequests):
172209
1722102011-12-16  Adam Klein  <adamk@chromium.org>
172211
172212        Improve performance of ChildListMutationScope when no MutationObservers are present
172213        https://bugs.webkit.org/show_bug.cgi?id=74671
172214
172215        Reviewed by Ojan Vafai.
172216
172217        Inline ChildListMutationScope's methods (including constructor and
172218        destructor), and provide a fast-fail case when no mutation observers
172219        are present.
172220
172221        The code reorganization necessary for the above also removed the
172222        anonymous namespace in ChildListMutationScope.cpp, making both helper
172223        classes private inner classes of ChildListMutationScope.
172224
172225        No new tests, refactoring only.
172226
172227        * dom/ChildListMutationScope.cpp:
172228        (WebCore::ChildListMutationScope::MutationAccumulator::MutationAccumulator):
172229        (WebCore::ChildListMutationScope::MutationAccumulator::~MutationAccumulator):
172230        (WebCore::ChildListMutationScope::MutationAccumulator::isAddedNodeInOrder):
172231        (WebCore::ChildListMutationScope::MutationAccumulator::childAdded):
172232        (WebCore::ChildListMutationScope::MutationAccumulator::isRemovedNodeInOrder):
172233        (WebCore::ChildListMutationScope::MutationAccumulator::willRemoveChild):
172234        (WebCore::ChildListMutationScope::MutationAccumulator::enqueueMutationRecord):
172235        (WebCore::ChildListMutationScope::MutationAccumulator::clear):
172236        (WebCore::ChildListMutationScope::MutationAccumulator::isEmpty):
172237        (WebCore::ChildListMutationScope::MutationAccumulationRouter::MutationAccumulationRouter):
172238        (WebCore::ChildListMutationScope::MutationAccumulationRouter::~MutationAccumulationRouter):
172239        (WebCore::ChildListMutationScope::MutationAccumulationRouter::initialize):
172240        (WebCore::ChildListMutationScope::MutationAccumulationRouter::instance):
172241        (WebCore::ChildListMutationScope::MutationAccumulationRouter::childAdded):
172242        (WebCore::ChildListMutationScope::MutationAccumulationRouter::willRemoveChild):
172243        (WebCore::ChildListMutationScope::MutationAccumulationRouter::incrementScopingLevel):
172244        (WebCore::ChildListMutationScope::MutationAccumulationRouter::decrementScopingLevel):
172245        * dom/ChildListMutationScope.h:
172246        (WebCore::ChildListMutationScope::ChildListMutationScope):
172247        (WebCore::ChildListMutationScope::~ChildListMutationScope):
172248        (WebCore::ChildListMutationScope::childAdded):
172249        (WebCore::ChildListMutationScope::willRemoveChild):
172250
1722512011-12-16  Dean Jackson  <dino@apple.com>
172252
172253        Filters need to affect visual overflow
172254        https://bugs.webkit.org/show_bug.cgi?id=71930
172255
172256        Reviewed by Simon Fraser.
172257
172258        Make sure filters are included in visual overflow.
172259        Add a new method to calculate the expansion of overflow
172260        region given a list of FilterOperations. This is a slight
172261        duplication of code from the rendering path, but is needed
172262        because overflow is calculated before the FilterEffect
172263        chain is built.
172264
172265        Also, filters were always rendered into their
172266        input rectangle which was wrong for any effect
172267        that produced a different sized result - drop-shadow
172268        and blur. This required two changes. First, FilterEffect
172269        needed a flag to decide whether or not to clip
172270        output to primitive regions (as required by SVG but not
172271        what we want here). Second, the rendering operation
172272        draws into the rectangle the filter claims is its painting
172273        rectangle.
172274
172275        Test: css3/filters/regions-expanding.html
172276
172277        * platform/graphics/filters/FEDropShadow.cpp:
172278        (WebCore::FEDropShadow::determineAbsolutePaintRect): Only
172279        clipToBounds if necessary.
172280        * platform/graphics/filters/FEGaussianBlur.cpp:
172281        (WebCore::FEGaussianBlur::calculateUnscaledKernelSize): CSS filters
172282        ask for the kernel size before the Filter object is created, so
172283        add a new method to return an unscaled kernel.
172284        (WebCore::FEGaussianBlur::calculateKernelSize):
172285        (WebCore::FEGaussianBlur::determineAbsolutePaintRect): Only
172286        clipToBounds if necessary.
172287        * platform/graphics/filters/FEGaussianBlur.h:
172288        * platform/graphics/filters/FEMorphology.cpp:
172289        (WebCore::FEMorphology::determineAbsolutePaintRect): Only
172290        clipToBounds if necessary.
172291        * platform/graphics/filters/FEOffset.cpp:
172292        (WebCore::FEOffset::determineAbsolutePaintRect): Only
172293        clipToBounds if necessary.
172294        * platform/graphics/filters/FilterEffect.cpp:
172295        (WebCore::FilterEffect::FilterEffect): Initialize clipToBounds
172296        as false so SVG remains unchanged.
172297        (WebCore::FilterEffect::determineAbsolutePaintRect): Only
172298        clipToBounds if necessary.
172299        * platform/graphics/filters/FilterEffect.h:
172300        (WebCore::FilterEffect::clipsToBounds):
172301        (WebCore::FilterEffect::setClipsToBounds):
172302        * rendering/FilterEffectRenderer.cpp:
172303        (WebCore::FilterEffectRenderer::build): Make sure we set our
172304        filters here to NOT clip to bounds.
172305        * rendering/FilterEffectRenderer.h:
172306        (WebCore::FilterEffectRenderer::outputRect): Asks the filter
172307        operation for the size of the result image.
172308        * rendering/RenderBlock.cpp:
172309        (WebCore::RenderBlock::computeOverflow):
172310        * rendering/RenderBox.cpp:
172311        (WebCore::RenderBox::addVisualEffectOverflow): Change the name
172312        from addBoxShadowAndBorderOverflow().
172313        * rendering/RenderBox.h:
172314        * rendering/RenderEmbeddedObject.cpp:
172315        (WebCore::RenderEmbeddedObject::layout):
172316        * rendering/RenderIFrame.cpp:
172317        (WebCore::RenderIFrame::layout):
172318        * rendering/RenderLayer.cpp:
172319        (WebCore::RenderLayer::paintLayer):
172320        * rendering/RenderLayerBacking.cpp:
172321        (WebCore::hasBoxDecorations): Change name from
172322        hasBorderOutlineOrShadow().
172323        (WebCore::hasBoxDecorationsOrBackground):
172324        (WebCore::hasBoxDecorationsOrBackgroundImage):
172325        * rendering/RenderReplaced.cpp:
172326        (WebCore::RenderReplaced::layout):
172327        * rendering/style/FilterOperations.cpp:
172328        (WebCore::outsetSizeForBlur): Return an IntSize that is the amount
172329        of offset.
172330        (WebCore::FilterOperations::hasOutsets):
172331        (WebCore::FilterOperations::getOutsets):
172332        * rendering/style/FilterOperations.h:
172333        * rendering/style/RenderStyle.h:
172334        (WebCore::InheritedFlags::getFilterOutsets):
172335        (WebCore::InheritedFlags::hasFilterOutsets):
172336        * svg/graphics/filters/SVGFEImage.cpp:
172337        (WebCore::FEImage::determineAbsolutePaintRect): Only
172338        clipToBounds if necessary.
172339
1723402011-12-16  Alexis Menard  <alexis.menard@openbossa.org>, Jakub Wieczorek  <jwieczorek@webkit.org>
172341
172342        Add support for <ol reversed>.
172343        https://bugs.webkit.org/show_bug.cgi?id=36724
172344
172345        The reversed attribute makes an ordered list appear with marker values
172346        decreasing from n, where n is the number of items.
172347        See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed
172348
172349        Reviewed by Darin Adler.
172350
172351        Tests: fast/lists/ol-reversed-dynamic-simple.html
172352               fast/lists/ol-reversed-dynamic.html
172353               fast/lists/ol-reversed-nested-items.html
172354               fast/lists/ol-reversed-nested-list.html
172355               fast/lists/ol-reversed-simple.html
172356
172357        * html/HTMLAttributeNames.in:
172358        * html/HTMLOListElement.cpp:
172359        (WebCore::HTMLOListElement::HTMLOListElement):
172360        (WebCore::HTMLOListElement::parseMappedAttribute):
172361        (WebCore::HTMLOListElement::updateItemValues):
172362        (WebCore::HTMLOListElement::recalculateItemCount):
172363        * html/HTMLOListElement.h:
172364        (WebCore::HTMLOListElement::start):
172365        (WebCore::HTMLOListElement::isReversed):
172366        (WebCore::HTMLOListElement::itemCountChanged):
172367        (WebCore::HTMLOListElement::itemCount):
172368        * html/HTMLOListElement.idl:
172369        * rendering/RenderListItem.cpp:
172370        (WebCore::RenderListItem::nextListItem):
172371        (WebCore::previousListItem):
172372        (WebCore::RenderListItem::calcValue):
172373        (WebCore::RenderListItem::explicitValueChanged):
172374        (WebCore::previousOrNextItem):
172375        (WebCore::RenderListItem::updateListMarkerNumbers):
172376        * rendering/RenderListItem.h:
172377
1723782011-12-16  Mikhail Naganov  <mnaganov@chromium.org>
172379
172380        Scroll non-visible edit controls and caret into the center of the view when starting typing.
172381        https://bugs.webkit.org/show_bug.cgi?id=65027
172382
172383        Reviewed by Ryosuke Niwa.
172384
172385        Tests: editing/input/caret-at-the-edge-of-contenteditable.html
172386               editing/input/caret-at-the-edge-of-input.html
172387               editing/input/reveal-caret-of-multiline-contenteditable.html
172388               editing/input/reveal-caret-of-multiline-input.html
172389               editing/input/reveal-contenteditable-on-input-vertically.html
172390               editing/input/reveal-contenteditable-on-paste-vertically.html
172391               editing/input/reveal-edit-on-input-vertically.html
172392               editing/input/reveal-edit-on-paste-vertically.html
172393
172394        * editing/Editor.cpp:
172395        (WebCore::Editor::insertTextWithoutSendingTextEvent):
172396        (WebCore::Editor::revealSelectionAfterEditingOperation):
172397
1723982011-12-16  Ryosuke Niwa  <rniwa@webkit.org>
172399
172400        Touch RenderStyle in an attempt to fix linking errors on Chromium Windows bots.
172401
172402        * rendering/style/RenderStyle.h:
172403
1724042011-12-14  Nat Duca  <nduca@chromium.org>
172405
172406        [chromium] DelayBasedTimeSource should not change its timebase on late ticks
172407        https://bugs.webkit.org/show_bug.cgi?id=74573
172408
172409        The original DelayBasedTimeSource was designed to shift its timebase
172410        to the tick time when a tick came back "late." The rationale was that it is
172411        better to just "start fresh" after a stutter. After profiling this,
172412        this time-rebasing just destabilizes frame rate anytime the thread gets
172413        loaded.  This patch keeps the timebase stationary, leading to vastly
172414        smoother framerates when the message loop is under load.
172415
172416        Reviewed by James Robinson.
172417
172418        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp:
172419        (WebCore::CCDelayBasedTimeSource::updateState):
172420
1724212011-12-16  Sheriff Bot  <webkit.review.bot@gmail.com>
172422
172423        Unreviewed, rolling out r103062.
172424        http://trac.webkit.org/changeset/103062
172425        https://bugs.webkit.org/show_bug.cgi?id=74715
172426
172427        It broke many tests (Requested by Ossy on #webkit).
172428
172429        * html/HTMLAttributeNames.in:
172430        * html/HTMLOListElement.cpp:
172431        (WebCore::HTMLOListElement::HTMLOListElement):
172432        (WebCore::HTMLOListElement::parseMappedAttribute):
172433        * html/HTMLOListElement.h:
172434        (WebCore::HTMLOListElement::start):
172435        * html/HTMLOListElement.idl:
172436        * rendering/RenderListItem.cpp:
172437        (WebCore::previousListItem):
172438        (WebCore::RenderListItem::calcValue):
172439        (WebCore::RenderListItem::explicitValueChanged):
172440        (WebCore::RenderListItem::updateListMarkerNumbers):
172441        * rendering/RenderListItem.h:
172442
1724432011-12-16  Alexis Menard  <alexis.menard@openbossa.org>, Jakub Wieczorek  <jwieczorek@webkit.org>
172444
172445        Add support for <ol reversed>.
172446        https://bugs.webkit.org/show_bug.cgi?id=36724
172447
172448        The reversed attribute makes an ordered list appear with marker values
172449        decreasing from n, where n is the number of items.
172450        See: http://www.whatwg.org/specs/web-apps/current-work/#attr-ol-reversed
172451
172452        Reviewed by Darin Adler.
172453
172454        Tests: fast/lists/ol-reversed-dynamic-simple.html
172455               fast/lists/ol-reversed-dynamic.html
172456               fast/lists/ol-reversed-nested-items.html
172457               fast/lists/ol-reversed-nested-list.html
172458               fast/lists/ol-reversed-simple.html
172459
172460        * html/HTMLAttributeNames.in:
172461        * html/HTMLOListElement.cpp:
172462        (WebCore::HTMLOListElement::HTMLOListElement):
172463        (WebCore::HTMLOListElement::parseMappedAttribute):
172464        (WebCore::HTMLOListElement::updateItemValues):
172465        (WebCore::HTMLOListElement::recalculateItemCount):
172466        * html/HTMLOListElement.h:
172467        (WebCore::HTMLOListElement::start):
172468        (WebCore::HTMLOListElement::isReversed):
172469        (WebCore::HTMLOListElement::itemCountChanged):
172470        (WebCore::HTMLOListElement::itemCount):
172471        * html/HTMLOListElement.idl:
172472        * rendering/RenderListItem.cpp:
172473        (WebCore::RenderListItem::nextListItem):
172474        (WebCore::previousListItem):
172475        (WebCore::RenderListItem::calcValue):
172476        (WebCore::RenderListItem::explicitValueChanged):
172477        (WebCore::previousOrNextItem):
172478        (WebCore::RenderListItem::updateListMarkerNumbers):
172479        * rendering/RenderListItem.h:
172480
1724812011-12-15  Stephen White  <senorblanco@chromium.org>
172482
172483        Enable CSS_FILTERS in Chromium.
172484        https://bugs.webkit.org/show_bug.cgi?id=74334
172485
172486        Reviewed by Chris Marrin.
172487
172488        Covered by css3/filters (when enabled).
172489
172490        * platform/graphics/filters/FilterOperation.h:
172491        (WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
172492        Since wingdi.h #define's PASSTHROUGH, #undef it after the includes.
172493
1724942011-12-16  Patrick Gansterer  <paroga@webkit.org>
172495
172496        Unreviewed WinCE build fix after r102979.
172497
172498        Make everHadLayout() public accessible as it was before the change.
172499
172500        * rendering/RenderObject.h:
172501        (WebCore::RenderObject::everHadLayout):
172502
1725032011-12-15  Hans Wennborg  <hans@chromium.org>
172504
172505        IndexedDB: Don't prefetch values from key cursors
172506        https://bugs.webkit.org/show_bug.cgi?id=74604
172507
172508        Reviewed by Tony Chang.
172509
172510        Since index key cursors don't have values, prefetching should not try
172511        to retrieve them. Doing so trips an ASSERT in debug builds.
172512
172513        This will be tested Chromium-side.
172514
172515        * storage/IDBCursorBackendImpl.cpp:
172516        (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
172517
1725182011-12-16  Yosifumi Inoue  <yosin@chromium.org>
172519
172520        [Forms] The "maxlength" attribute on "textarea" tag miscounts hard newlines
172521        https://bugs.webkit.org/show_bug.cgi?id=74686
172522
172523        Reviewed by Kent Tamura.
172524
172525        This patch counts LF in textarea value as two for LF to CRLF conversion on submission.
172526
172527        No new tests. Existing tests cover all changes.
172528
172529        * html/HTMLTextAreaElement.cpp:
172530        (WebCore::computeLengthForSubmission): Count LF as 2 for CR LF conversion on submission.
172531        (WebCore::HTMLTextAreaElement::handleBeforeTextInsertedEvent): Use computeLengthForSubmission instead of numGraphemeClusters.
172532        (WebCore::HTMLTextAreaElement::tooLong): Use computeLengthForSubmission instead of numGraphemeClusters.
172533
1725342011-12-16  Hajime Morrita  <morrita@chromium.org>
172535
172536        Unreviewed, rolling out r103045.
172537        http://trac.webkit.org/changeset/103045
172538        https://bugs.webkit.org/show_bug.cgi?id=74590
172539
172540        Breaks select-script-onchange.html on Chromium Windows
172541
172542        * html/HTMLSelectElement.cpp:
172543        (WebCore::HTMLSelectElement::typeAheadFind):
172544
1725452011-12-16  Carlos Garcia Campos  <cgarcia@igalia.com>
172546
172547        Unreviewed. Fix make distcheck.
172548
172549        * GNUmakefile.list.am: Add missing header file.
172550
1725512011-12-16  Yosifumi Inoue  <yosin@chromium.org>
172552
172553        [Forms] Selection change by type-ahead doesn't fire 'change' event
172554        https://bugs.webkit.org/show_bug.cgi?id=74590
172555
172556        Reviewed by Kent Tamura.
172557
172558        Fire onchange even for type ahead selection.
172559
172560        Test: fast/forms/select/menulist-type-ahead-find.html
172561
172562        * html/HTMLSelectElement.cpp:
172563        (WebCore::HTMLSelectElement::typeAheadFind): Add DispatchChangeEvent when
172564        calling selectOption method.
172565
1725662011-12-16  Andreas Kling  <kling@webkit.org>
172567
172568        Don't call Document::body() twice in the same function.
172569        <http://webkit.org/b/74683>
172570
172571        Reviewed by Dan Bernstein.
172572
172573        Document::body() is O(n), so we should avoid calling it multiple
172574        times unnecessarily.
172575
172576        * dom/Document.cpp:
172577        (WebCore::Document::updateLayoutIgnorePendingStylesheets):
172578
1725792011-12-16  Daniel Sievers  <sievers@chromium.org>
172580
172581        [Chromium] Add trace events for decoding and drawing images.
172582        https://bugs.webkit.org/show_bug.cgi?id=74547
172583
172584        Reviewed by James Robinson.
172585
172586        * platform/graphics/skia/ImageSkia.cpp:
172587        (WebCore::drawResampledBitmap):
172588        (WebCore::paintSkBitmap):
172589        (WebCore::Image::drawPattern):
172590        * platform/graphics/skia/NativeImageSkia.cpp:
172591        (WebCore::NativeImageSkia::resizedBitmap):
172592        * platform/image-decoders/bmp/BMPImageDecoder.cpp:
172593        (WebCore::BMPImageDecoder::decode):
172594        * platform/image-decoders/gif/GIFImageDecoder.cpp:
172595        (WebCore::GIFImageDecoder::decode):
172596        * platform/image-decoders/ico/ICOImageDecoder.cpp:
172597        (WebCore::ICOImageDecoder::decode):
172598        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
172599        (WebCore::JPEGImageDecoder::decode):
172600        * platform/image-decoders/png/PNGImageDecoder.cpp:
172601        (WebCore::PNGImageDecoder::decode):
172602        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
172603        (WebCore::WEBPImageDecoder::decode):
172604
1726052011-12-15  Martin Robinson  <mrobinson@igalia.com>
172606
172607        Fix 'make dist' in preparation for the GTK+ release.
172608
172609        * GNUmakefile.list.am: Add missing header.
172610
1726112011-12-15  Rafael Ávila de Espíndola  <rafael.espindola@gmail.com>
172612
172613        Don't create empty files on error.
172614        https://bugs.webkit.org/show_bug.cgi?id=74373
172615
172616        Reviewed by Ryosuke Niwa.
172617
172618        * css/makeprop.pl:
172619        * css/makevalues.pl:
172620        * make-hash-tools.pl:
172621
1726222011-12-15  Yongjun Zhang  <yongjun_zhang@apple.com>
172623
172624        PODIntervalTree takes 1.7MB memory on www.nytimes.com.
172625        https://bugs.webkit.org/show_bug.cgi?id=73712
172626
172627        Reviewed by Kenneth Russell.
172628
172629        For a RenderBlock which has floating objects inside, we will create a PODIntervalTree and a PODArena with
172630        at least one 16KB chunk.  A page could have a large number of such RenderBlocks and they could take huge
172631        amount of memory.  To fix that, we can create a shared PODArena in the root RenderView.  Instead of having
172632        their own PODArena, each RenderBlock with floating objects could share this PODArena to reduce memory consumption.
172633
172634        The shared PODArena could grow unboundedly if we keep removing and adding floating objects.  We can fix that
172635        by reusing the freed memory in each chunk.  However, a PODArena could allocate objects of different sizes and
172636        it would be complex to keep track of the size for each allocation in PODArena.  To address that, this patch
172637        added class PODFreeListArena<T> which only allocates objects of type T (hence the same size).  We can then use a
172638        free list to track freed nodes inside the chunk and reuse the free nodes in future allocations.
172639
172640        Manually tested on nytimes.com and the heap consumption of PODIntervalTree reduced from 1.7MB to 16KB. Performance
172641        doesn't regress on test PerformanceTests/Layout/floats.html.
172642
172643        * WebCore.xcodeproj/project.pbxproj: add new header file PODFreeListArena.h.
172644        * platform/PODArena.h:
172645        (WebCore::PODArena::~PODArena): change dtor to virtual.
172646        (WebCore::PODArena::Chunk::~Chunk): ditto.
172647        * platform/PODFreeListArena.h: Added.
172648        (WebCore::PODFreeListArena::create): 
172649        (WebCore::PODFreeListArena::allocateObject): allocate an object.
172650        (WebCore::PODFreeListArena::freeObject): free an object, find the right chunk and update its free list.
172651        (WebCore::PODFreeListArena::allocate): allocate memory from the free list or current chunk.
172652        (WebCore::PODFreeListArena::FreeListChunk::FreeListChunk): add m_freeList to track freed cells.
172653        (WebCore::PODFreeListArena::FreeListChunk::allocate): reuse a free cell if there is one.
172654        (WebCore::PODFreeListArena::FreeListChunk::free): make the memory taken by this object is free, and link it to m_freeList.
172655        (WebCore::PODFreeListArena::FreeListChunk::contains): check if a pointer is inside this chunk.
172656        (WebCore::PODFreeListArena::FreeListChunk::hasFreeList): check if this chunk has free cells.
172657        * platform/PODRedBlackTree.h:
172658        (WebCore::PODRedBlackTree::PODRedBlackTree): take PODFreeListArena instead of PODArena, since nodes of a particular PODRedBlackTree
172659            is always of the same size.
172660        (WebCore::PODRedBlackTree::clear): mark all nodes before clearing the tree.
172661        (WebCore::PODRedBlackTree::initIfNeeded): add initIfNeeded to take an external PODFreeListArena.
172662        (WebCore::PODRedBlackTree::add):
172663        (WebCore::PODRedBlackTree::deleteNode): mark the node free in arena after it is removed from the tree.
172664        (WebCore::PODRedBlackTree::markFree): mark all node free in the tree.
172665        * rendering/RenderBlock.cpp:
172666        (WebCore::RenderBlock::insertFloatingObject):
172667        (WebCore::RenderBlock::addOverhangingFloats):
172668        (WebCore::RenderBlock::addIntrudingFloats):
172669        (WebCore::RenderBlock::FloatingObjects::computePlacedFloatsTree):  passing the shared PODFreeListArena to m_placedFloatsTree.
172670        * rendering/RenderBlock.h:
172671        (WebCore::RenderBlock::FloatingObjects::FloatingObjects):
172672        * rendering/RenderView.cpp:
172673        (WebCore::RenderView::intervalArena): create the shared PODFreeListArena lazily.
172674        * rendering/RenderView.h:
172675
1726762011-12-15  Tony Chang  <tony@chromium.org>
172677
172678        Unreviewed, rollout r102825 because it didn't improve performance.
172679        https://bugs.webkit.org/show_bug.cgi?id=74622
172680
172681        * css/CSSStyleSelector.cpp:
172682        (WebCore::CSSStyleSelector::styleForElement):
172683        (WebCore::CSSStyleSelector::pseudoStyleForElement):
172684
1726852011-12-15  Ryosuke Niwa  <rniwa@webkit.org>
172686
172687        sizeof(RenderObject) is 32 instead of 24 on Windows
172688        https://bugs.webkit.org/show_bug.cgi?id=74646
172689
172690        Reviewed by Darin Adler.
172691
172692        Make all bitfields in RenderObject to unsigned and wrap them around by RenderObjectBitfields.
172693        Also add a compilation time assertion to make sure we won't grow RenderObject's size unintentionally.
172694
172695        * rendering/RenderBlock.cpp:
172696        (WebCore::RenderBlock::layoutBlock):
172697        (WebCore::RenderBlock::layoutBlockChild):
172698        (WebCore::RenderBlock::markAllDescendantsWithFloatsForLayout):
172699        (WebCore::RenderBlock::layoutColumns):
172700        * rendering/RenderBlock.h:
172701        (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
172702        * rendering/RenderObject.cpp:
172703        (WebCore::SameSizeAsRenderObject::~SameSizeAsRenderObject):
172704        (WebCore::RenderObject::RenderObject):
172705        (WebCore::RenderObject::markContainingBlocksForLayout):
172706        (WebCore::RenderObject::setPreferredLogicalWidthsDirty):
172707        (WebCore::RenderObject::invalidateContainerPreferredLogicalWidths):
172708        (WebCore::RenderObject::styleWillChange):
172709        (WebCore::RenderObject::styleDidChange):
172710        (WebCore::RenderObject::willBeDestroyed):
172711        (WebCore::RenderObject::updateDragState):
172712        * rendering/RenderObject.h:
172713        (WebCore::RenderObject::hasCounterNodeMap):
172714        (WebCore::RenderObject::setHasCounterNodeMap):
172715        (WebCore::RenderObject::childrenInline):
172716        (WebCore::RenderObject::setChildrenInline):
172717        (WebCore::RenderObject::hasColumns):
172718        (WebCore::RenderObject::setHasColumns):
172719        (WebCore::RenderObject::inRenderFlowThread):
172720        (WebCore::RenderObject::setInRenderFlowThread):
172721        (WebCore::RenderObject::isAnonymous):
172722        (WebCore::RenderObject::setIsAnonymous):
172723        (WebCore::RenderObject::isAnonymousBlock):
172724        (WebCore::RenderObject::isFloating):
172725        (WebCore::RenderObject::isPositioned):
172726        (WebCore::RenderObject::isRelPositioned):
172727        (WebCore::RenderObject::isText):
172728        (WebCore::RenderObject::isBox):
172729        (WebCore::RenderObject::isInline):
172730        (WebCore::RenderObject::isDragging):
172731        (WebCore::RenderObject::isReplaced):
172732        (WebCore::RenderObject::isHorizontalWritingMode):
172733        (WebCore::RenderObject::hasLayer):
172734        (WebCore::RenderObject::hasBoxDecorations):
172735        (WebCore::RenderObject::needsLayout):
172736        (WebCore::RenderObject::selfNeedsLayout):
172737        (WebCore::RenderObject::needsPositionedMovementLayout):
172738        (WebCore::RenderObject::needsPositionedMovementLayoutOnly):
172739        (WebCore::RenderObject::posChildNeedsLayout):
172740        (WebCore::RenderObject::needsSimplifiedNormalFlowLayout):
172741        (WebCore::RenderObject::normalChildNeedsLayout):
172742        (WebCore::RenderObject::preferredLogicalWidthsDirty):
172743        (WebCore::RenderObject::hasOverflowClip):
172744        (WebCore::RenderObject::hasTransform):
172745        (WebCore::RenderObject::node):
172746        (WebCore::RenderObject::setPositioned):
172747        (WebCore::RenderObject::setRelPositioned):
172748        (WebCore::RenderObject::setFloating):
172749        (WebCore::RenderObject::setInline):
172750        (WebCore::RenderObject::setHasBoxDecorations):
172751        (WebCore::RenderObject::setIsText):
172752        (WebCore::RenderObject::setIsBox):
172753        (WebCore::RenderObject::setReplaced):
172754        (WebCore::RenderObject::setHorizontalWritingMode):
172755        (WebCore::RenderObject::setHasOverflowClip):
172756        (WebCore::RenderObject::setHasLayer):
172757        (WebCore::RenderObject::setHasTransform):
172758        (WebCore::RenderObject::setHasReflection):
172759        (WebCore::RenderObject::hasReflection):
172760        (WebCore::RenderObject::setHasMarkupTruncation):
172761        (WebCore::RenderObject::hasMarkupTruncation):
172762        (WebCore::RenderObject::selectionState):
172763        (WebCore::RenderObject::setSelectionState):
172764        (WebCore::RenderObject::hasSelectedChildren):
172765        (WebCore::RenderObject::isMarginBeforeQuirk):
172766        (WebCore::RenderObject::isMarginAfterQuirk):
172767        (WebCore::RenderObject::setMarginBeforeQuirk):
172768        (WebCore::RenderObject::setMarginAfterQuirk):
172769        (WebCore::RenderObject::everHadLayout):
172770        (WebCore::RenderObject::RenderObjectBitfields::RenderObjectBitfields):
172771        (WebCore::RenderObject::RenderObjectBitfields::selectionState):
172772        (WebCore::RenderObject::RenderObjectBitfields::setSelectionState):
172773        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
172774        (WebCore::RenderObject::setNormalChildNeedsLayout):
172775        (WebCore::RenderObject::setPosChildNeedsLayout):
172776        (WebCore::RenderObject::setNeedsSimplifiedNormalFlowLayout):
172777        (WebCore::RenderObject::setPaintBackground):
172778        (WebCore::RenderObject::setIsDragging):
172779        (WebCore::RenderObject::setEverHadLayout):
172780        (WebCore::RenderObject::setNeedsLayout):
172781        (WebCore::RenderObject::setChildNeedsLayout):
172782        * rendering/RenderObjectChildList.cpp:
172783        (WebCore::RenderObjectChildList::removeChildNode):
172784        * rendering/svg/RenderSVGContainer.cpp:
172785        (WebCore::RenderSVGContainer::layout):
172786
1727872011-12-15  Wei Charles  <charles.wei@torchmobile.com.cn>
172788
172789        [BlackBerry] Upstream BlackBerry porting of pluginView
172790        https://bugs.webkit.org/show_bug.cgi?id=73397
172791
172792        Reviewed by Daniel Bates.
172793
172794        No new tests for now.
172795
172796        * plugins/blackberry/PluginViewBlackBerry.cpp: Added.
172797
1727982011-12-15  Joshua Bell  <jsbell@chromium.org>
172799
172800        IndexedDB: Can't pass DOMStringList to IDBDatabase.transaction()
172801        https://bugs.webkit.org/show_bug.cgi?id=74452
172802
172803        Reviewed by Adam Barth.
172804
172805        V8 code generator generated checks for DOMStringList arguments, then
172806        deferred to a function that only handled array inputs. This previously
172807        worked for IndexedDB because it would fall into a now-removed default
172808        handler.
172809
172810        Modified storage/indexeddb/transaction-basics.html to test this.
172811
172812        * bindings/v8/V8Binding.cpp:
172813        (WebCore::v8ValueToWebCoreDOMStringList):
172814
1728152011-12-15  Adam Klein  <adamk@chromium.org>
172816
172817        Make Element::setAttributeInternal inline in an attempt to avoid function call overhead
172818        https://bugs.webkit.org/show_bug.cgi?id=74638
172819
172820        Reviewed by Andreas Kling.
172821
172822        In r102695, I factored common code in setAttribute into
172823        Element::setAttributeInternal. This may have caused a perf regression
172824        due to the extra function call, which inlining should eliminate.
172825
172826        Running Dromaeo locally suggests that this will improve performance
172827        by ~9% on the "dom-attr element.property = value" test (which assigns
172828        a value to an element's id).
172829
172830        * dom/Element.cpp:
172831        (WebCore::Element::setAttributeInternal):
172832
1728332011-12-15  Mary Wu  <mary.wu@torchmobile.com.cn>
172834
172835        Upstream FileSystemBlackBerry.cpp into WebCore/platform/blackberry
172836        https://bugs.webkit.org/show_bug.cgi?id=74491
172837
172838        Reviewed by Rob Buis.
172839
172840        We are using POSIX porting of FileSystem, so here only implement other 
172841        necessary functions.
172842
172843        Initial upstream, no new tests.
172844
172845        * platform/blackberry/FileSystemBlackBerry.cpp: Added.
172846        (WebCore::homeDirectoryPath):
172847        (WebCore::fileSystemRepresentation):
172848        (WebCore::unloadModule):
172849        (WebCore::openTemporaryFile):
172850
1728512011-12-15  Adrienne Walker  <enne@google.com>
172852
172853        [chromium] Clean up unnecessary leaf functions in GraphicsLayerChromium
172854        https://bugs.webkit.org/show_bug.cgi?id=74140
172855
172856        Reviewed by James Robinson.
172857
172858        Tested by existing compositor layout tests.
172859
172860        This is a follow-on cleanup to r102196, which made some of these
172861        functions less useful than they had been in the past.
172862
172863        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
172864        (WebCore::GraphicsLayerChromium::setContentsOpaque):
172865        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
172866        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
172867        * platform/graphics/chromium/GraphicsLayerChromium.h:
172868
1728692011-12-15  Kenneth Russell  <kbr@google.com>
172870
172871        Unreviewed, rolling out r103000.
172872        http://trac.webkit.org/changeset/103000
172873        https://bugs.webkit.org/show_bug.cgi?id=74658
172874
172875        Does not handle text/plain documents correctly.
172876
172877        * html/parser/HTMLTokenizer.cpp:
172878        * html/parser/HTMLTokenizer.h:
172879        * html/parser/HTMLTreeBuilder.cpp:
172880        * html/parser/HTMLTreeBuilder.h:
172881        * xml/parser/MarkupTokenizerBase.h:
172882
1728832011-12-15  James Robinson  <jamesr@chromium.org>
172884
172885        [chromium] Set the CCLayerTreeHost pointer on LayerChromium instances eagerly
172886        https://bugs.webkit.org/show_bug.cgi?id=74477
172887
172888        Reviewed by Kenneth Russell.
172889
172890        This enforces that the m_layerTreeHost pointer on LayerChromium instances is always up to date, instead of
172891        lazily setting it in the paintContents loop. There are two invariants:
172892        1.) If a LayerChromium is the root layer of a CCLayerTreeHost, or is reachable via the children, mask, or
172893        replica pointers from the root layer of a CCLayerTreeHost, then that LayerChromium's m_layerTreeHost pointer
172894        refers to that CCLayerTreeHost
172895        2.) If a LayerChromium is not a root layer or reachable from a root layer of any CCLayerTreeHost, its
172896        CCLayerTreeHost pointer is nil.
172897
172898        Covered by several new layout tests in LayerChromiumTest
172899
172900        * platform/graphics/chromium/LayerChromium.cpp:
172901        (WebCore::LayerChromium::setLayerTreeHost):
172902        (WebCore::LayerChromium::setParent):
172903        (WebCore::LayerChromium::setMaskLayer):
172904        (WebCore::LayerChromium::setReplicaLayer):
172905        * platform/graphics/chromium/LayerChromium.h:
172906        * platform/graphics/chromium/TiledLayerChromium.cpp:
172907        (WebCore::TiledLayerChromium::createTile):
172908        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
172909        (WebCore::CCLayerTreeHost::setRootLayer):
172910        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
172911        (WebCore::CCLayerTreeHost::paintLayerContents):
172912        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
172913
1729142011-12-15  Sheriff Bot  <webkit.review.bot@gmail.com>
172915
172916        Unreviewed, rolling out r102652 and r102717.
172917        http://trac.webkit.org/changeset/102652
172918        http://trac.webkit.org/changeset/102717
172919        https://bugs.webkit.org/show_bug.cgi?id=74674
172920
172921        Broke too many webs. (Requested by kling on #webkit).
172922
172923        * WebCore.exp.in:
172924
1729252011-12-15  Anders Carlsson  <andersca@apple.com>
172926
172927        Lazily create the scrolling coordinator and add a setting for enabling it
172928        https://bugs.webkit.org/show_bug.cgi?id=74667
172929
172930        Reviewed by Darin Adler.
172931
172932        * WebCore.xcodeproj/project.pbxproj:
172933        Make ScrollingCoordinator.h a private header so it can be used in WebKit.
172934        * page/Page.cpp:
172935        (WebCore::Page::Page):
172936        Don't create the scrolling coordinator.
172937
172938        (WebCore::Page::~Page):
172939        Check for a null scrolling coordinator.
172940
172941        (WebCore::Page::scrollingCoordinator):
172942        Create the scrolling coordinator lazily.
172943
172944        * page/Settings.cpp:
172945        (WebCore::Settings::Settings):
172946        * page/Settings.h:
172947        (WebCore::Settings::setScrollingCoordinatorEnabled):
172948        (WebCore::Settings::scrollingCoordinatorEnabled):
172949        Add a setting for enabling the scrolling coordinator.
172950
172951        * rendering/RenderLayerBacking.cpp:
172952        (WebCore::RenderLayerBacking::RenderLayerBacking):
172953        Use a tile cache layer for the main frame when the scrolling coordinator is neabled.
172954
1729552011-12-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
172956
172957        Unreviewed. Fix build break when data-transfer-items is enabled.
172958
172959        * platform/efl/ClipboardEfl.cpp:
172960        (WebCore::ClipboardEfl::items):
172961        * platform/efl/ClipboardEfl.h:
172962
1729632011-12-15  Adam Barth  <abarth@webkit.org>
172964
172965        <ruby><div><p><rp> parses incorrectly
172966        https://bugs.webkit.org/show_bug.cgi?id=74668
172967
172968        Reviewed by Darin Adler.
172969
172970        This patch updates our implementation to match a change to the HTML5
172971        specification regarding how <ruby> elements parse.  Previously, <rp>
172972        and similar tags used to pop the stack up to the <ruby> element.  Now
172973        the popping does not occur.
172974
172975        Tests: html5lib/runner.html
172976
172977        * html/parser/HTMLTreeBuilder.cpp:
172978
1729792011-12-15  Daniel Sievers  <sievers@chromium.org>
172980
172981        [Chromium] Avoid strdup() for extra argument when tracing is disabled.
172982        https://bugs.webkit.org/show_bug.cgi?id=74637
172983
172984        Reviewed by James Robinson.
172985
172986        * platform/chromium/TraceEvent.h:
172987        (WebCore::internal::ScopeTracer::ScopeTracer):
172988
1729892011-12-15  Rafael Weinstein  <rafaelw@chromium.org>
172990
172991        [MutationObservers] Add a document-level flag that can trivially be checked to avoid doing unnessary work if mutation observers absent
172992        https://bugs.webkit.org/show_bug.cgi?id=74641
172993
172994        Reviewed by Ojan Vafai.
172995
172996        This patch adds a byte of flags to Document, of which three bits are used to signal if any
172997        node owned by the document has a Mutation Observer of the given type. This is used to
172998        reduce the cost of discovering there are none to a single (inlined) method call and bit-check.
172999        Also, a similar byte of flags which was used to optimize a particular case when mutation observers
173000        are present has been removed, with the reasoning that we should first focus on minimizing impact on
173001        the null-case before optimizing particular in-use cases.
173002
173003        Also, MutationObserverInterestGroup is broken out into its own file (which probably should have happened
173004        earlier, but now avoids a circular header dependency).
173005
173006        No tests needed. This patch is just a refactor.
173007
173008        * CMakeLists.txt:
173009        * GNUmakefile.list.am:
173010        * Target.pri:
173011        * WebCore.gypi:
173012        * WebCore.vcproj/WebCore.vcproj:
173013        * WebCore.xcodeproj/project.pbxproj:
173014        * css/CSSMutableStyleDeclaration.cpp:
173015        * dom/CharacterData.cpp:
173016        * dom/ChildListMutationScope.cpp:
173017        * dom/Document.cpp:
173018        (WebCore::Document::Document):
173019        * dom/Document.h:
173020        (WebCore::Document::hasMutationObserversOfType):
173021        (WebCore::Document::hasMutationObservers):
173022        (WebCore::Document::addMutationObserverTypes):
173023        * dom/Element.cpp:
173024        * dom/MutationObserverInterestGroup.cpp: Added.
173025        (WebCore::MutationObserverInterestGroup::createIfNeeded):
173026        (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
173027        (WebCore::MutationObserverInterestGroup::isOldValueRequested):
173028        (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
173029        * dom/MutationObserverInterestGroup.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
173030        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
173031        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
173032        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
173033        (WebCore::MutationObserverInterestGroup::hasOldValue):
173034        * dom/Node.cpp:
173035        (WebCore::Node::didMoveToNewOwnerDocument):
173036        (WebCore::Node::getRegisteredMutationObserversOfType):
173037        (WebCore::Node::notifyMutationObserversNodeWillDetach):
173038        * dom/Node.h:
173039        * dom/WebKitMutationObserver.cpp:
173040        (WebCore::WebKitMutationObserver::observe):
173041        * dom/WebKitMutationObserver.h:
173042
1730432011-12-15  Adam Barth  <abarth@webkit.org>
173044
173045        <!DOCTYPE html><pre>&#x0a;&#x0a;A</pre> doesn't parse correctly
173046        https://bugs.webkit.org/show_bug.cgi?id=74658
173047
173048        Reviewed by Darin Adler.
173049
173050        Previously, we handled skipping newlines after <pre> in the tokenizer,
173051        which isn't how the spec handles them.  Instead, the spec skips them in
173052        the tree builder.  This isn't usually observable, except in the case of
173053        an HTML entity.  In that case, the tokenzier sees '&' (because the
173054        entity hasn't been decoded yet), but the tree builder sees '\n' (the
173055        decoded entity).  This patch fixes the bug by more closely aligning our
173056        implementation with the spec.
173057
173058        Test: html5lib/runner.html
173059
173060        * html/parser/HTMLTokenizer.cpp:
173061        (WebCore::HTMLTokenizer::reset):
173062        (WebCore::HTMLTokenizer::nextToken):
173063        * html/parser/HTMLTokenizer.h:
173064        * html/parser/HTMLTreeBuilder.cpp:
173065        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipAtMostOneLeadingNewline):
173066        (WebCore::HTMLTreeBuilder::HTMLTreeBuilder):
173067        (WebCore::HTMLTreeBuilder::processStartTagForInBody):
173068        (WebCore::HTMLTreeBuilder::processCharacterBuffer):
173069        * html/parser/HTMLTreeBuilder.h:
173070        * xml/parser/MarkupTokenizerBase.h:
173071
1730722011-12-15  Kenneth Russell  <kbr@google.com>
173073
173074        Unreviewed, rolling out r102989.
173075        http://trac.webkit.org/changeset/102989
173076        https://bugs.webkit.org/show_bug.cgi?id=74580
173077
173078        Caused SHOULD NOT BE REACHED assertions in debug builds.
173079
173080        * css/CSSComputedStyleDeclaration.cpp:
173081        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
173082        * css/CSSPrimitiveValueMappings.h:
173083        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
173084        (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
173085        * css/CSSStyleSelector.cpp:
173086        (WebCore::CSSStyleSelector::applyProperty):
173087        * rendering/RenderDeprecatedFlexibleBox.cpp:
173088        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
173089        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
173090        * rendering/RenderFullScreen.cpp:
173091        (createFullScreenStyle):
173092        * rendering/style/RenderStyle.h:
173093        (WebCore::InheritedFlags::boxPack):
173094        (WebCore::InheritedFlags::setBoxAlign):
173095        (WebCore::InheritedFlags::setBoxPack):
173096        (WebCore::InheritedFlags::initialBoxPack):
173097        * rendering/style/RenderStyleConstants.h:
173098        * rendering/style/StyleDeprecatedFlexibleBoxData.h:
173099
1731002011-12-15  Ryosuke Niwa  <rniwa@webkit.org>
173101
173102        Touch make_name.pl in an attempt to make Qt bots happy.
173103
173104        * dom/make_names.pl:
173105        (printNamesHeaderFile):
173106
1731072011-12-15  Kentaro Hara  <haraken@chromium.org>
173108
173109        Unreviewed. Rebaselined run-bindings-tests results.
173110
173111        * bindings/scripts/test/JS/JSFloat64Array.cpp:
173112        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
173113        * bindings/scripts/test/JS/JSTestObj.cpp:
173114
1731152011-12-15  Luke Macpherson   <macpherson@chromium.org>
173116
173117        Separate box alignment and box pack values into separate enums.
173118        https://bugs.webkit.org/show_bug.cgi?id=74580
173119
173120        Reviewed by Darin Adler.
173121
173122        No new tests / refactoring only.
173123
173124        Separating these types cleans up the code by removing several assertions that
173125        values are in the correct ranges, as this is ensured by the type system.
173126
173127        * css/CSSComputedStyleDeclaration.cpp:
173128        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
173129        * css/CSSPrimitiveValueMappings.h:
173130        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
173131        (WebCore::CSSPrimitiveValue::operator EBoxPack):
173132        (WebCore::CSSPrimitiveValue::operator EBoxAlignment):
173133        * css/CSSStyleSelector.cpp:
173134        (WebCore::CSSStyleSelector::applyProperty):
173135        * rendering/RenderDeprecatedFlexibleBox.cpp:
173136        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
173137        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
173138        * rendering/RenderFullScreen.cpp:
173139        (createFullScreenStyle):
173140        * rendering/style/RenderStyle.h:
173141        (WebCore::InheritedFlags::boxPack):
173142        (WebCore::InheritedFlags::setBoxAlign):
173143        (WebCore::InheritedFlags::setBoxPack):
173144        (WebCore::InheritedFlags::initialBoxPack):
173145        * rendering/style/RenderStyleConstants.h:
173146        * rendering/style/StyleDeprecatedFlexibleBoxData.h:
173147
1731482011-12-15  Kentaro Hara  <haraken@chromium.org>
173149
173150        REGRESSION(r102663): generate-bindings.pl runs every time
173151        https://bugs.webkit.org/show_bug.cgi?id=74481
173152
173153        Reviewed by Adam Barth.
173154
173155        See the comment #1 of bug 74481 for the cause of this bug.
173156
173157        This patch fixes generate-bindings.pl so that it generates .h and .cpp files
173158        even for IDL files that do not need .h and .cpp files. This is just to prevent
173159        build scripts from trying to generate .h and .cpp files at every build.
173160
173161        No new tests. No change in behavior.
173162
173163        * bindings/scripts/generate-bindings.pl:
173164        (generateEmptyHeaderAndCpp): Generates .h and .cpp files for IDL files
173165        that do not need .h and .cpp files.
173166        * bindings/scripts/test/CPP/CPPTestSupplemental.cpp: Added.
173167        * bindings/scripts/test/CPP/CPPTestSupplemental.h: Added.
173168        * bindings/scripts/test/GObject/GObjectTestSupplemental.cpp: Added.
173169        * bindings/scripts/test/GObject/GObjectTestSupplemental.h: Added.
173170        * bindings/scripts/test/JS/JSTestSupplemental.cpp: Added.
173171        * bindings/scripts/test/JS/JSTestSupplemental.h: Added.
173172        * bindings/scripts/test/ObjC/ObjCTestSupplemental.cpp: Added.
173173        * bindings/scripts/test/ObjC/ObjCTestSupplemental.h: Added.
173174        * bindings/scripts/test/V8/V8TestSupplemental.cpp: Added.
173175        * bindings/scripts/test/V8/V8TestSupplemental.h: Added.
173176
1731772011-12-15  Jarred Nicholls  <jarred@sencha.com>
173178
173179        Unreviewed build fix. Mac build broken when CSS Filters enabled.
173180        Needed to move Filter headers out as private headers in WebCore.framework.
173181
173182        * WebCore.xcodeproj/project.pbxproj:
173183
1731842011-12-15  Eric Seidel  <eric@webkit.org>
173185
173186        WebCore has two (disconnected) ways to keep track of updated widgets, should be unified
173187        https://bugs.webkit.org/show_bug.cgi?id=74367
173188
173189        Reviewed by Adam Barth.
173190
173191        It seems the FrameView updateWidgets set is needed for now,
173192        so just making FrameView::addWidgetToUpdate mark the DOM node
173193        as needing a widget update and later when it goes to call
173194        updateWidget() checking first if it needs an update.
173195
173196        No new tests, just adding an assert.
173197
173198        * html/HTMLEmbedElement.cpp:
173199        (WebCore::HTMLEmbedElement::updateWidget):
173200        * html/HTMLObjectElement.cpp:
173201        (WebCore::HTMLObjectElement::updateWidget):
173202        * html/HTMLPlugInImageElement.h:
173203        (WebCore::HTMLPlugInImageElement::needsWidgetUpdate):
173204        (WebCore::HTMLPlugInImageElement::setNeedsWidgetUpdate):
173205        * page/FrameView.cpp:
173206        (WebCore::FrameView::addWidgetToUpdate):
173207        (WebCore::FrameView::updateWidget):
173208
1732092011-12-15  Alexandru Chiculita  <achicu@adobe.com>
173210
173211        Windows project file is broken. It has a missing </File> enclosing tag
173212        https://bugs.webkit.org/show_bug.cgi?id=74632
173213
173214        Reviewed by Anders Carlsson.
173215
173216        No new tests, just fixing the project file.
173217
173218        * WebCore.vcproj/WebCore.vcproj:
173219
1732202011-12-15  Adam Barth  <abarth@webkit.org>
173221
173222        <table><tr><td><svg><desc><td> parses incorrectly
173223        https://bugs.webkit.org/show_bug.cgi?id=68106
173224
173225        Reviewed by Eric Seidel.
173226
173227        This patch updates our implementation of the HTML5 parser to account
173228        for recent changes in the spec.  The main change in this patch is to
173229        remove the "in foreign content" state from the tree builder.  Rather
173230        than maintaining this as a separate state, the parser now introspects
173231        on the stack of open elements to determine whether the parser is in
173232        foriegn content.  In the process, I've deleted some now-unused
173233        machinery in the tree builder.
173234
173235        Tested by the html5lib LayoutTests.  These tests show the progression
173236        in our spec compliance.
173237
173238        * html/parser/HTMLElementStack.cpp:
173239        * html/parser/HTMLElementStack.h:
173240        * html/parser/HTMLTreeBuilder.cpp:
173241        * html/parser/HTMLTreeBuilder.h:
173242        * mathml/mathattrs.in:
173243
1732442011-12-15  Ryosuke Niwa  <rniwa@webkit.org>
173245
173246        m_hasCounterNodeMap and m_everHadLayout should be private to RenderObject
173247        https://bugs.webkit.org/show_bug.cgi?id=74645
173248
173249        Reviewed by Eric Seidel.
173250
173251        Made them private and added getters and setters as needed.
173252
173253        * rendering/RenderCounter.cpp:
173254        (WebCore::makeCounterNode):
173255        (WebCore::RenderCounter::destroyCounterNodes):
173256        (WebCore::updateCounters):
173257        (WebCore::RenderCounter::rendererStyleChanged):
173258        (showCounterRendererTree):
173259        * rendering/RenderFlowThread.cpp:
173260        (WebCore::RenderFlowThread::layout):
173261        * rendering/RenderObject.h:
173262        (WebCore::RenderObject::hasCounterNodeMap):
173263        (WebCore::RenderObject::setHasCounterNodeMap):
173264        (WebCore::RenderObject::everHadLayout):
173265        * rendering/svg/RenderSVGForeignObject.cpp:
173266        (WebCore::RenderSVGForeignObject::layout):
173267        * rendering/svg/RenderSVGImage.cpp:
173268        (WebCore::RenderSVGImage::layout):
173269        * rendering/svg/RenderSVGResourceContainer.cpp:
173270        (WebCore::RenderSVGResourceContainer::layout):
173271        * rendering/svg/RenderSVGResourceMarker.cpp:
173272        (WebCore::RenderSVGResourceMarker::layout):
173273        * rendering/svg/RenderSVGRoot.cpp:
173274        (WebCore::RenderSVGRoot::layout):
173275        * rendering/svg/RenderSVGShape.cpp:
173276        (WebCore::RenderSVGShape::layout):
173277        * rendering/svg/RenderSVGText.cpp:
173278        (WebCore::RenderSVGText::layout):
173279
1732802011-12-15  Vsevolod Vlasov  <vsevik@chromium.org>
173281
173282        Not able to navigate the Resource tab options properly with arrow keys after adding the sticky-notes.
173283        https://bugs.webkit.org/show_bug.cgi?id=72013
173284
173285        Reviewed by Pavel Feldman.
173286
173287        * inspector/front-end/DatabaseQueryView.js:
173288        (WebInspector.DatabaseQueryView):
173289        (WebInspector.DatabaseQueryView.prototype._messagesClicked):
173290        * inspector/front-end/ResourcesPanel.js:
173291        (WebInspector.DatabaseTreeElement.prototype.onexpand):
173292
1732932011-12-15  Anders Carlsson  <andersca@apple.com>
173294
173295        Add ScrollingCoordinator class and ENABLE_THREADED_SCROLLING define
173296        https://bugs.webkit.org/show_bug.cgi?id=74639
173297
173298        Reviewed by Andreas Kling.
173299
173300        Add a ScrollingCoordinator class and make it a member of Page. Tear it down
173301        when the page goes away.
173302
173303        * WebCore.xcodeproj/project.pbxproj:
173304        * page/Page.cpp:
173305        (WebCore::Page::Page):
173306        (WebCore::Page::~Page):
173307        * page/Page.h:
173308        (WebCore::Page::scrollingCoordinator):
173309        * page/ScrollingCoordinator.cpp: Added.
173310        (WebCore::ScrollingCoordinator::create):
173311        (WebCore::ScrollingCoordinator::ScrollingCoordinator):
173312        (WebCore::ScrollingCoordinator::~ScrollingCoordinator):
173313        (WebCore::ScrollingCoordinator::pageDestroyed):
173314        * page/ScrollingCoordinator.h: Added.
173315
1733162011-12-15  Kenneth Russell  <kbr@google.com>
173317
173318        Rename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
173319        https://bugs.webkit.org/show_bug.cgi?id=71870
173320
173321        Reviewed by James Robinson.
173322
173323        Re-landing after original commit was rolled out.
173324
173325        Rename largely done with do-webcore-rename with a couple of
173326        necessary manual fixups. Ran WebGL layout tests.
173327
173328        * CMakeLists.txt:
173329        * DerivedSources.make:
173330        * DerivedSources.pri:
173331        * GNUmakefile.list.am:
173332        * Target.pri:
173333        * WebCore.gypi:
173334        * WebCore.xcodeproj/project.pbxproj:
173335        * bindings/js/JSWebGLRenderingContextCustom.cpp:
173336        (WebCore::toJS):
173337        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
173338        (WebCore::toV8Object):
173339        * html/canvas/WebGLExtension.h:
173340        * html/canvas/WebGLLoseContext.cpp: Copied from Source/WebCore/html/canvas/WebKitLoseContext.cpp.
173341        (WebCore::WebGLLoseContext::WebGLLoseContext):
173342        (WebCore::WebGLLoseContext::~WebGLLoseContext):
173343        (WebCore::WebGLLoseContext::getName):
173344        (WebCore::WebGLLoseContext::create):
173345        (WebCore::WebGLLoseContext::loseContext):
173346        (WebCore::WebGLLoseContext::restoreContext):
173347        * html/canvas/WebGLLoseContext.h: Copied from Source/WebCore/html/canvas/WebKitLoseContext.h.
173348        * html/canvas/WebGLLoseContext.idl: Copied from Source/WebCore/html/canvas/WebKitLoseContext.idl.
173349        * html/canvas/WebGLRenderingContext.cpp:
173350        (WebCore::WebGLRenderingContext::getExtension):
173351        (WebCore::WebGLRenderingContext::getSupportedExtensions):
173352        (WebCore::WebGLRenderingContext::maybeRestoreContext):
173353        * html/canvas/WebGLRenderingContext.h:
173354        * html/canvas/WebKitLoseContext.cpp: Removed.
173355        * html/canvas/WebKitLoseContext.h: Removed.
173356        * html/canvas/WebKitLoseContext.idl: Removed.
173357
1733582011-12-15  Brady Eidson  <beidson@apple.com>
173359
173360        https://bugs.webkit.org/show_bug.cgi?id=74631
173361        HTMLMediaElement should not register for document activation callbacks as it doesn't use them
173362
173363        Reviewed by Eric Carlson.
173364
173365        No new tests. (No behavior change, pruning useless code)
173366
173367        * html/HTMLMediaElement.cpp:
173368        (WebCore::HTMLMediaElement::HTMLMediaElement):
173369        (WebCore::HTMLMediaElement::~HTMLMediaElement):
173370        (WebCore::HTMLMediaElement::willMoveToNewOwnerDocument):
173371        (WebCore::HTMLMediaElement::didMoveToNewOwnerDocument):
173372
1733732011-12-15  Eric Carlson  <eric.carlson@apple.com>
173374
173375        Text tracks should be treated differently according to their kind
173376        https://bugs.webkit.org/show_bug.cgi?id=72547
173377
173378        Reviewed by Sam Weinig.
173379
173380        Tests: media/track/track-default-attribute.html
173381               media/track/track-mode-not-changed-by-new-track.html
173382               media/track/track-mode-triggers-loading.html
173383
173384        * html/HTMLAudioElement.cpp:
173385        (WebCore::HTMLAudioElement::HTMLAudioElement): Add "createdByParser" parameter.
173386        (WebCore::HTMLAudioElement::create): Ditto.
173387        (WebCore::HTMLAudioElement::createForJSConstructor): Deal with constructor change.
173388        * html/HTMLAudioElement.h:
173389
173390        * html/HTMLMediaElement.cpp:
173391        (WebCore::HTMLMediaElement::HTMLMediaElement): Add "createdByParser" parameter. Initialize m_parsingInProgress.
173392        (WebCore::HTMLMediaElement::finishParsingChildren): Clear m_parsingInProgress. Schedule track
173393            loading if necessary.
173394        (WebCore::HTMLMediaElement::loadTimerFired): Call configureTextTracks not call scheduleLoad, 
173395            it just schedules the load timer again.
173396        (WebCore::HTMLMediaElement::prepareForLoad): Add all non-disabled track elements to a vector
173397            so we can prevent the media element's readyState from reaching HAVE_METADATA until the
173398            tracks are ready.
173399        (WebCore::HTMLMediaElement::textTracksAreReady): New. Return false unless all tracks that were
173400            not disabled when loading started have loaded or failed.
173401        (WebCore::HTMLMediaElement::textTrackReadyStateChanged): Call setReadyState when a track is
173402            stops loading.
173403        (WebCore::HTMLMediaElement::textTrackModeChanged): Trigger <track> loading when the mode
173404            changes to hidden or showing for the first time.
173405        (WebCore::HTMLMediaElement::setReadyState): Do not advance to HAVE_METADATA or higher while
173406            track elements are loading.
173407        (WebCore::HTMLMediaElement::addTrack): Removed.
173408        (WebCore::HTMLMediaElement::showingTrackWithSameKind): New.
173409        (WebCore::HTMLMediaElement::trackWasAdded):
173410        (WebCore::HTMLMediaElement::trackWillBeRemoved): Flag a track as unconfigured so it will be
173411            reconfigured if it is added to another element.
173412        (WebCore::HTMLMediaElement::userIsInterestedInThisLanguage): New.
173413        (WebCore::HTMLMediaElement::userIsInterestedInThisTrack): New. Consider user preferences.
173414        (WebCore::HTMLMediaElement::configureTextTrack): New. Configure a track as per the user's preferences.
173415        (WebCore::HTMLMediaElement::configureTextTracks): New. Configure all track elements.
173416        * html/HTMLMediaElement.h:
173417        * html/HTMLMediaElement.h:
173418
173419        * html/HTMLTagNames.in: Add constructorNeedsCreatedByParser to audio and video.
173420
173421        * html/HTMLTrackElement.cpp:
173422        (WebCore::HTMLTrackElement::HTMLTrackElement): Initialize m_hasBeenConfigured.
173423        * html/HTMLTrackElement.h:
173424        (WebCore::HTMLTrackElement::hasBeenConfigured):
173425        (WebCore::HTMLTrackElement::setHasBeenConfigured):
173426
173427        * html/HTMLVideoElement.cpp:
173428        (WebCore::HTMLVideoElement::HTMLVideoElement): Add "createdByParser" parameter.
173429        (WebCore::HTMLVideoElement::create): Ditto.
173430        * html/HTMLVideoElement.h:
173431
173432        * html/TextTrack.cpp:
173433        (WebCore::TextTrack::TextTrack): Initialize m_mode to DISABLED, not HIDDEN. Initialize m_showingByDefault.
173434        (WebCore::TextTrack::setMode): Clear the "showing by default" flag when a track's mode is
173435            explicitly set to SHOWING.
173436        (WebCore::TextTrack::mode): Return SHOWING whenever the "showing by default" flag is set.
173437        * html/TextTrack.h:
173438        (WebCore::TextTrack::showingByDefault):
173439        (WebCore::TextTrack::setShowingByDefault):
173440
173441        * html/TextTrackCue.cpp:
173442        (WebCore::TextTrackCue::isActive): Return false if a cue has no track, or if its track is disabled.
173443        (WebCore::TextTrackCue::setIsActive): Don't enable a cue if it has no track, or if its track
173444            is disabled.
173445
1734462011-12-15  Brady Eidson  <beidson@apple.com>
173447
173448        Unreviewed, rolling out r102829.
173449        http://trac.webkit.org/changeset/102829
173450        https://bugs.webkit.org/show_bug.cgi?id=74533
173451
173452        Caused https://bugs.webkit.org/show_bug.cgi?id=74555
173453
173454        * html/HTMLPlugInImageElement.cpp:
173455        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
173456        (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument):
173457        (WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument):
173458        (WebCore::HTMLPlugInImageElement::documentWillBecomeInactive):
173459        (WebCore::HTMLPlugInImageElement::documentDidBecomeActive):
173460        * html/HTMLPlugInImageElement.h:
173461
1734622011-12-15  James Simonsen  <simonjam@chromium.org>
173463
173464        [Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
173465        https://bugs.webkit.org/show_bug.cgi?id=58354
173466
173467        Reviewed by Pavel Feldman.
173468
173469        No new tests. Relies on existing webtiming-* tests.
173470
173471        * CMakeLists.txt:
173472        * GNUmakefile.list.am:
173473        * WebCore.gypi:
173474        * WebCore.pro:
173475        * WebCore.vcproj/WebCore.vcproj:
173476        * WebCore.xcodeproj/project.pbxproj:
173477        * dom/Document.cpp: Use monotonic times.
173478        (WebCore::Document::setReadyState):
173479        (WebCore::Document::finishedParsing):
173480        * inspector/InspectorInstrumentation.cpp:
173481        (WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.
173482        * inspector/InspectorResourceAgent.cpp:
173483        (WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
173484        (WebCore::buildObjectForResourceResponse): Plumbing for above.
173485        (WebCore::buildObjectForCachedResource): Ditto.
173486        (WebCore::InspectorResourceAgent::willSendRequest): Ditto.
173487        (WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
173488        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.
173489        * loader/DocumentLoadTiming.cpp: Added.
173490        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
173491        (WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
173492        (WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
173493        (WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.
173494        * loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.
173495        (WebCore::DocumentLoadTiming::setUnloadEventStart):
173496        (WebCore::DocumentLoadTiming::setUnloadEventEnd):
173497        (WebCore::DocumentLoadTiming::setRedirectStart):
173498        (WebCore::DocumentLoadTiming::setRedirectEnd):
173499        (WebCore::DocumentLoadTiming::setFetchStart):
173500        (WebCore::DocumentLoadTiming::setResponseEnd):
173501        (WebCore::DocumentLoadTiming::setLoadEventStart):
173502        (WebCore::DocumentLoadTiming::setLoadEventEnd):
173503        (WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
173504        (WebCore::DocumentLoadTiming::navigationStart):
173505        (WebCore::DocumentLoadTiming::unloadEventStart):
173506        (WebCore::DocumentLoadTiming::unloadEventEnd):
173507        (WebCore::DocumentLoadTiming::redirectStart):
173508        (WebCore::DocumentLoadTiming::redirectEnd):
173509        (WebCore::DocumentLoadTiming::redirectCount):
173510        (WebCore::DocumentLoadTiming::fetchStart):
173511        (WebCore::DocumentLoadTiming::responseEnd):
173512        (WebCore::DocumentLoadTiming::loadEventStart):
173513        (WebCore::DocumentLoadTiming::loadEventEnd):
173514        (WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
173515        (WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):
173516        * loader/FrameLoader.cpp:
173517        (WebCore::FrameLoader::stopLoading):
173518        (WebCore::FrameLoader::commitProvisionalLoad):
173519        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
173520        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
173521        * loader/MainResourceLoader.cpp:
173522        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
173523        (WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
173524        (WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
173525        (WebCore::MainResourceLoader::didFinishLoading): Ditto.
173526        (WebCore::MainResourceLoader::load):
173527        * page/DOMWindow.cpp:
173528        (WebCore::DOMWindow::dispatchLoadEvent):
173529        * page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
173530        * page/PerformanceNavigation.cpp:
173531        (WebCore::PerformanceNavigation::redirectCount):
173532        * page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.
173533        (WebCore::PerformanceTiming::navigationStart):
173534        (WebCore::PerformanceTiming::unloadEventStart):
173535        (WebCore::PerformanceTiming::unloadEventEnd):
173536        (WebCore::PerformanceTiming::redirectStart):
173537        (WebCore::PerformanceTiming::redirectEnd):
173538        (WebCore::PerformanceTiming::fetchStart):
173539        (WebCore::PerformanceTiming::responseEnd):
173540        (WebCore::PerformanceTiming::domLoading):
173541        (WebCore::PerformanceTiming::domInteractive):
173542        (WebCore::PerformanceTiming::domContentLoadedEventStart):
173543        (WebCore::PerformanceTiming::domContentLoadedEventEnd):
173544        (WebCore::PerformanceTiming::domComplete):
173545        (WebCore::PerformanceTiming::loadEventStart):
173546        (WebCore::PerformanceTiming::loadEventEnd):
173547        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
173548        (WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.
173549        * page/PerformanceTiming.h:
173550        * platform/network/ResourceLoadTiming.cpp:
173551        (WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):
173552        * platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.
173553
1735542011-12-15  Martin Robinson  <mrobinson@igalia.com>
173555
173556        plugin crash
173557
173558        [GTK] Plugins sometimes crash WebKitGTK+ with Gdk-CRITICAL **: gdk_window_get_toplevel: assertion `GDK_IS_WINDOW (window)' failed
173559        https://bugs.webkit.org/show_bug.cgi?id=73719
173560
173561        Reviewed by Philippe Normand.
173562
173563        No new tests. It's difficult to test or reproduce this exact situation
173564        as it only occurs when running plugins under nspluginwrapper.
173565
173566        * plugins/gtk/PluginViewGtk.cpp:
173567        (WebCore::PluginView::platformGetValue): Properly handle when the plugin tries to
173568        get the window value when the GtkSocket is no longer realized.
173569
1735702011-12-15  Martin Kosiba  <mkosiba@google.com>
173571
173572        Fix find on web pages with -webkit-user-select: none for Chromium
173573        https://bugs.webkit.org/show_bug.cgi?id=72281
173574
173575        Reviewed by Ryosuke Niwa.
173576
173577        Adding findStringAndScrollToVisible to Editor. This new method returns
173578        the new match as a range rather than modify the active selection.
173579
173580        Test: editing/text-iterator/findString-selection-disabled.html
173581
173582        * editing/Editor.cpp:
173583        (WebCore::Editor::findStringAndScrollToVisible):
173584        * editing/Editor.h:
173585
1735862011-12-14  Anders Carlsson  <andersca@apple.com>
173587
173588        Add WTF::Function to wtf/Forward.h
173589        https://bugs.webkit.org/show_bug.cgi?id=74576
173590
173591        Reviewed by Adam Roben.
173592
173593        * bindings/scripts/CodeGeneratorJS.pm:
173594        (GenerateImplementation):
173595        Add a JSC:: qualifier to the Function flags to avoid ambiguities.
173596
1735972011-12-15  Julien Chaffraix  <jchaffraix@webkit.org>
173598
173599        Hardware-backed renderLayer could avoid repainting during a positioned movement layout
173600        https://bugs.webkit.org/show_bug.cgi?id=74370
173601
173602        Reviewed by Simon Fraser.
173603
173604        Tests: compositing/absolute-position-changed-in-composited-layer.html
173605               compositing/absolute-position-changed-with-composited-parent-layer.html
173606               compositing/fixed-position-changed-in-composited-layer.html
173607               compositing/fixed-position-changed-within-composited-parent-layer.html
173608
173609        To be able to properly skip repainting after a positioned movement layout only, we
173610        needed to add more state to the current |setNeedsFullRepaint| method. As part of that
173611        we refactored the callers and internal fields to better match the new meaning.
173612
173613        * rendering/RenderBoxModelObject.cpp:
173614        (WebCore::RenderBoxModelObject::styleDidChange):
173615        Explicitely gave the RepaintStatus to setRepaintStatus.
173616
173617        * rendering/RenderLayer.cpp:
173618        (WebCore::RenderLayer::RenderLayer):
173619        (WebCore::RenderLayer::removeOnlyThisLayer):
173620        Updated those function after the renamings.
173621
173622        (WebCore::RenderLayer::updateLayerPositions):
173623        Ditto. Also added a sholdRepaintAfterLayout check.
173624
173625        (WebCore::RenderLayer::shouldRepaintAfterLayout):
173626        Heart of the optimization, if we just did a positioned movement layout of composited RenderLayer,
173627        then don't repaint. All the other cases should still trigger a repaint.
173628
173629        * rendering/RenderLayer.h:
173630        (WebCore::RenderLayer::setRepaintStatus):
173631        Renamed setNeedsFullRepaint to setRepaintStatus. Also added a new enum RepaintStatus.
173632
173633        * rendering/RenderObject.cpp:
173634        (WebCore::RenderObject::setLayerNeedsFullRepaint):
173635        Updated after the renamings.
173636
173637        (WebCore::RenderObject::setLayerNeedsFullRepaintForPositionedMovementLayout):
173638        New method that pass a new value to the RenderLayer.
173639
173640        * rendering/RenderObject.h:
173641        (WebCore::RenderObject::setNeedsPositionedMovementLayout):
173642        Switched the call to the dedicated method.
173643
1736442011-12-15  Antti Koivisto  <antti@apple.com>
173645
173646        Don't invoke CSSStyleSelector::pushParent before Text::recalcTextStyle
173647        https://bugs.webkit.org/show_bug.cgi?id=74575
173648
173649        Reviewed by Darin Adler.
173650        
173651        Text::recalcTextStyle never enters the style selector so pushing the state is not necessary
173652
173653        * dom/Element.cpp:
173654        (WebCore::Element::recalcStyle):
173655
1736562011-12-15  Chris Marrin  <cmarrin@apple.com>
173657
173658        Fixed error in Target.pri.
173659
173660        Unreviewed.
173661
173662        * Target.pri:
173663
1736642011-12-15  Alexander Pavlov  <apavlov@chromium.org>
173665
173666        Web Inspector: #hex colors are not highlighted in CSS files
173667        https://bugs.webkit.org/show_bug.cgi?id=74570
173668
173669        Reviewed by Pavel Feldman.
173670
173671        Drive by: highlight color keywords as colors, not as keywords.
173672
173673        * inspector/front-end/CSSKeywordCompletions.js:
173674        (WebInspector.CSSKeywordCompletions.colors):
173675        * inspector/front-end/SourceCSSTokenizer.js:
173676        (WebInspector.SourceCSSTokenizer):
173677        (WebInspector.SourceCSSTokenizer.prototype.nextToken):
173678        * inspector/front-end/SourceCSSTokenizer.re2js:
173679
1736802011-12-14  Chris Marrin  <cmarrin@apple.com>
173681
173682        Hardware acceleration of W3C Filter Effects
173683        https://bugs.webkit.org/show_bug.cgi?id=68479
173684
173685        Reviewed by Simon Fraser.
173686
173687        Move FilterOperation(s) to platform/graphics/filters so it can be used to pass filter information 
173688        down to GraphicsLayer for hardware acceleration. This leaves the CustomFilterOperation subclass in
173689        rendering/style since it has dependencies outside platform. Some part of that class will
173690        eventually need to be down in platform.
173691
173692        * CMakeLists.txt:
173693        * GNUmakefile.list.am:
173694        * Target.pri:
173695        * WebCore.gypi:
173696        * WebCore.vcproj/WebCore.vcproj:
173697        * WebCore.xcodeproj/project.pbxproj:
173698        * platform/graphics/filters/FilterOperation.cpp: Renamed from Source/WebCore/rendering/style/FilterOperation.cpp.
173699        (WebCore::BasicColorMatrixFilterOperation::blend):
173700        (WebCore::BasicColorMatrixFilterOperation::passthroughAmount):
173701        (WebCore::BasicComponentTransferFilterOperation::blend):
173702        (WebCore::BasicComponentTransferFilterOperation::passthroughAmount):
173703        (WebCore::GammaFilterOperation::blend):
173704        (WebCore::BlurFilterOperation::blend):
173705        (WebCore::DropShadowFilterOperation::blend):
173706        * platform/graphics/filters/FilterOperation.h: Renamed from Source/WebCore/rendering/style/FilterOperation.h.
173707        (WebCore::FilterOperation::~FilterOperation):
173708        (WebCore::FilterOperation::operator!=):
173709        (WebCore::FilterOperation::blend):
173710        (WebCore::FilterOperation::getOperationType):
173711        (WebCore::FilterOperation::isSameType):
173712        (WebCore::FilterOperation::FilterOperation):
173713        (WebCore::PassthroughFilterOperation::create):
173714        (WebCore::PassthroughFilterOperation::operator==):
173715        (WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
173716        (WebCore::ReferenceFilterOperation::create):
173717        (WebCore::ReferenceFilterOperation::reference):
173718        (WebCore::ReferenceFilterOperation::operator==):
173719        (WebCore::ReferenceFilterOperation::ReferenceFilterOperation):
173720        (WebCore::BasicColorMatrixFilterOperation::create):
173721        (WebCore::BasicColorMatrixFilterOperation::amount):
173722        (WebCore::BasicColorMatrixFilterOperation::operator==):
173723        (WebCore::BasicColorMatrixFilterOperation::BasicColorMatrixFilterOperation):
173724        (WebCore::BasicComponentTransferFilterOperation::create):
173725        (WebCore::BasicComponentTransferFilterOperation::amount):
173726        (WebCore::BasicComponentTransferFilterOperation::operator==):
173727        (WebCore::BasicComponentTransferFilterOperation::BasicComponentTransferFilterOperation):
173728        (WebCore::GammaFilterOperation::create):
173729        (WebCore::GammaFilterOperation::amplitude):
173730        (WebCore::GammaFilterOperation::exponent):
173731        (WebCore::GammaFilterOperation::offset):
173732        (WebCore::GammaFilterOperation::operator==):
173733        (WebCore::GammaFilterOperation::GammaFilterOperation):
173734        (WebCore::BlurFilterOperation::create):
173735        (WebCore::BlurFilterOperation::stdDeviationX):
173736        (WebCore::BlurFilterOperation::stdDeviationY):
173737        (WebCore::BlurFilterOperation::operator==):
173738        (WebCore::BlurFilterOperation::BlurFilterOperation):
173739        (WebCore::SharpenFilterOperation::create):
173740        (WebCore::SharpenFilterOperation::amount):
173741        (WebCore::SharpenFilterOperation::radius):
173742        (WebCore::SharpenFilterOperation::threshold):
173743        (WebCore::SharpenFilterOperation::operator==):
173744        (WebCore::SharpenFilterOperation::SharpenFilterOperation):
173745        (WebCore::DropShadowFilterOperation::create):
173746        (WebCore::DropShadowFilterOperation::x):
173747        (WebCore::DropShadowFilterOperation::y):
173748        (WebCore::DropShadowFilterOperation::stdDeviation):
173749        (WebCore::DropShadowFilterOperation::color):
173750        (WebCore::DropShadowFilterOperation::operator==):
173751        (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
173752        * platform/graphics/filters/FilterOperations.cpp: Renamed from Source/WebCore/rendering/style/FilterOperations.cpp.
173753        (WebCore::FilterOperations::FilterOperations):
173754        (WebCore::FilterOperations::operator==):
173755        (WebCore::FilterOperations::operationsMatch):
173756        * platform/graphics/filters/FilterOperations.h: Renamed from Source/WebCore/rendering/style/FilterOperations.h.
173757        (WebCore::FilterOperations::operator!=):
173758        (WebCore::FilterOperations::clear):
173759        (WebCore::FilterOperations::operations):
173760        (WebCore::FilterOperations::size):
173761        (WebCore::FilterOperations::at):
173762
1737632011-12-15  Igor Oliveira  <igor.oliveira@openbossa.org>
173764
173765        [Qt] Support requestAnimationFrame API
173766        https://bugs.webkit.org/show_bug.cgi?id=74528
173767
173768        Add necessary files to Target.pri when enabling requestAnimationFrame option.
173769
173770        Reviewed by Kenneth Rohde Christiansen.
173771
173772        * Target.pri:
173773
1737742011-12-15  Otto Cheung  <ocheung@rim.com>
173775
173776        Removing BlackBerryCookieCache from the build system
173777        https://bugs.webkit.org/show_bug.cgi?id=74318
173778
173779        Reviewed by Rob Buis.
173780
173781        Removing any references to BlackBerryCookieCache in files that are upstreamed.
173782
173783        We are removing the BlackBerryCookieCache because the CookieManager cookie structure has been
173784        refactored to have a similar structure to the cache. Since the read speeds in both structures
173785        are similar, we no longer need the cache to speed up read performance.
173786
173787        No new tests, this patch by itself will not work. This patch is only removing
173788        the references to BlackBerryCookieCache in files that are upstreamed.
173789
173790        * PlatformBlackBerry.cmake:
173791        * platform/network/blackberry/NetworkJob.cpp:
173792        (WebCore::NetworkJob::handleNotifyHeaderReceived):
173793
1737942011-12-15  Kenneth Rohde Christiansen  <kenneth@webkit.org>
173795
173796        [Qt] Mobile theme improvements
173797
173798        Rubberstamped by Simon Hausmann.
173799
173800        - Invert the gradient on the checkboxes
173801        - Make the buttons on the multi select combobox work on floats
173802        - Mini cleanups
173803
173804        * platform/qt/RenderThemeQtMobile.cpp:
173805        (WebCore::StylePainterMobile::drawCheckableBackground):
173806        (WebCore::StylePainterMobile::drawMultipleComboButton):
173807        (WebCore::StylePainterMobile::getButtonImageSize):
173808        (WebCore::StylePainterMobile::drawComboBox):
173809
1738102011-12-15  Peter Rybin  <peter.rybin@gmail.com>
173811
173812        Web Inspector: CodeGeneratorInspector.py convert script conditions to precompiler #ifs
173813        https://bugs.webkit.org/show_bug.cgi?id=74534
173814
173815        Reviewed by Pavel Feldman.
173816
173817        Generator is rewritten to add #if's to output.
173818
173819        * inspector/CodeGeneratorInspector.py:
173820        (DomainNameFixes.get_fixed_data.Res.get_guard.Guard.generate_open):
173821        (DomainNameFixes.get_fixed_data.Res.get_guard.Guard):
173822        (DomainNameFixes.get_fixed_data.Res.get_guard.Guard.generate_close):
173823        (DomainNameFixes.get_fixed_data.Res):
173824        (DomainNameFixes.get_fixed_data.Res.get_guard):
173825        (Generator.go):
173826        (Generator.process_event):
173827        (Generator.process_command):
173828        (Generator.process_types):
173829
1738302011-12-15  Jesus Sanchez-Palencia  <jesus.palencia@openbossa.org>
173831
173832        [Qt][WK2] Setting Download as action for navigation request crashes WebProcess
173833        https://bugs.webkit.org/show_bug.cgi?id=74526
173834
173835        Reviewed by Simon Hausmann.
173836
173837        Adding checks for networkcontext and networkAccessManager
173838        and return true in case they don't exist, following the same
173839        logic as if the CookieJar doesn't exist.
173840
173841        * platform/qt/ThirdPartyCookiesQt.cpp:
173842        (WebCore::thirdPartyCookiePolicyPermits):
173843
1738442011-12-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
173845
173846        [Qt] Get rid of layering violation in PluginViewQt
173847
173848        PluginViewQt has a layering violation in relying on QWebPagePrivate for
173849        the check if running under DRT. We remove this and add a specific flag
173850        in the PluginView for this check, enabled from DRTSupport. This isn't
173851        pretty, but an improvement over what's currently there.
173852
173853        Reviewed by Simon Hausmann.
173854
173855        * plugins/PluginView.h:
173856        * plugins/qt/PluginViewQt.cpp:
173857        (WebCore::PluginView::updatePluginWidget):
173858        (WebCore::setXKeyEventSpecificFields):
173859
1738602011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>
173861
173862        Web Inspector: Console should show network messages origins.
173863        https://bugs.webkit.org/show_bug.cgi?id=74521
173864
173865        Reviewed by Pavel Feldman.
173866
173867        * inspector/front-end/ConsoleMessage.js:
173868        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
173869
1738702011-12-15  Rakesh KN  <rakesh.kn@motorola.com>
173871
173872        "user-select none" causes selection to incorrectly escape from clicked container
173873        https://bugs.webkit.org/show_bug.cgi?id=57289
173874
173875        Reviewed by Ryosuke Niwa.
173876
173877        Not selecting the nearest word from the target node if target node has -webkit-user-select:none
173878
173879        Test: fast/events/mouse-double-triple-click-should-not-select-next-node-for-user-select-none.html
173880
173881        * page/EventHandler.cpp:
173882        (WebCore::EventHandler::updateSelectionForMouseDownDispatchingSelectStart):
173883        If target node has webkit-user-select:none style then do not update the selection.
173884
1738852011-12-13  Andrey Kosyakov  <caseq@chromium.org>
173886
173887        Web Inspector: Generated HAR is missing pages.startedDateTime
173888        https://bugs.webkit.org/show_bug.cgi?id=74188
173889
173890        Reviewed by Pavel Feldman.
173891
173892        * inspector/front-end/HAREntry.js:
173893        (WebInspector.HARLog.prototype._buildPages):
173894        * inspector/front-end/NetworkLog.js:
173895        (WebInspector.NetworkLog):
173896        (WebInspector.NetworkLog.prototype.get mainResourceStartTime):
173897        (WebInspector.NetworkLog.prototype._mainFrameNavigated):
173898        * inspector/front-end/NetworkPanel.js:
173899        (WebInspector.NetworkLogView.prototype._updateSummaryBar):
173900
1739012011-12-15  Kenichi Ishibashi  <bashi@chromium.org>
173902
173903        Supports Unicode variation selector
173904        https://bugs.webkit.org/show_bug.cgi?id=50999
173905
173906        Reviewed by Nikolas Zimmermann.
173907
173908        Adds SimpleFontData::updateGlyphWithVariationSelector() which substitutes the
173909        glyph in question based on the selector. WidthIterator::advance() calls it
173910        when an unicode variation selector follows the character.
173911
173912        Test: fast/text/unicode-variation-selector.html
173913
173914        * platform/graphics/SimpleFontData.h: Added updateGlyphWithVariationSelector().
173915        * platform/graphics/SurrogatePairAwareTextIterator.cpp:
173916        (WebCore::isUnicodeBMPVariationSelector): Added.
173917        (WebCore::isUnicodeSupplementaryVariationSelector): Added.
173918        (WebCore::SurrogatePairAwareTextIterator::hasTrailingVariationSelector): Added.
173919        * platform/graphics/SurrogatePairAwareTextIterator.h:
173920        * platform/graphics/WidthIterator.cpp:
173921        (WebCore::WidthIterator::advance): Changed to detect variation selectors.
173922        * platform/graphics/chromium/SimpleFontDataChromiumWin.cpp:
173923        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Added.
173924        * platform/graphics/chromium/SimpleFontDataLinux.cpp:
173925        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
173926        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
173927        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
173928        * platform/graphics/mac/SimpleFontDataMac.mm:
173929        (WebCore::decomposeToUTF16): Ditto.
173930        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
173931        * platform/graphics/pango/SimpleFontDataPango.cpp:
173932        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
173933        * platform/graphics/qt/SimpleFontDataQt.cpp:
173934        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
173935        * platform/graphics/win/SimpleFontDataWin.cpp:
173936        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
173937        * platform/graphics/wince/SimpleFontDataWinCE.cpp:
173938        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
173939        * platform/graphics/wx/SimpleFontDataWx.cpp:
173940        (WebCore::SimpleFontData::updateGlyphWithVariationSelector): Ditto.
173941
1739422011-12-15  Alexander Pavlov  <apavlov@chromium.org>
173943
173944        [v8] Expose the "filter" property in V8CSSStyleDeclaration
173945        https://bugs.webkit.org/show_bug.cgi?id=73426
173946
173947        Reviewed by Adam Barth.
173948
173949        Test: fast/css/style-enumerate-properties.html
173950
173951        The "filter" CSS property used to be masked to be compliant with JSC, but JSC has supported
173952        this property for quite a while.
173953
173954        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
173955        (WebCore::hasCSSPropertyNamePrefix): clean up WTF prefixes
173956        (WebCore::cssPropertyInfo): remove the "wasFilter" flag
173957        (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): remove the "filter" check
173958        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): return the "filter" value as v8String
173959
1739602011-12-15  Hajime Morrita  <morrita@chromium.org>
173961
173962        Unreviewed build fix attempt for Chromium Mac.
173963
173964        * page/PerformanceTiming.h:
173965
1739662011-12-15  Alexander Pavlov  <apavlov@chromium.org>
173967
173968        Unreviewed, build fix after r102906 (poor merge).
173969
173970        * inspector/front-end/ProfileView.js:
173971        (WebInspector.CPUProfileType.prototype.buttonClicked):
173972
1739732011-12-15  Vsevolod Vlasov  <vsevik@chromium.org>
173974
173975        Unreviewed revert of r102696 ([Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()).
173976        Breaks inspector's network panel timeline on chromium.
173977
173978        * CMakeLists.txt:
173979        * GNUmakefile.list.am:
173980        * Target.pri:
173981        * WebCore.gypi:
173982        * WebCore.vcproj/WebCore.vcproj:
173983        * WebCore.xcodeproj/project.pbxproj:
173984        * dom/Document.cpp:
173985        (WebCore::Document::setReadyState):
173986        (WebCore::Document::finishedParsing):
173987        * inspector/InspectorInstrumentation.cpp:
173988        (WebCore::InspectorInstrumentation::didFinishLoadingImpl):
173989        * inspector/InspectorResourceAgent.cpp:
173990        (WebCore::buildObjectForTiming):
173991        (WebCore::buildObjectForResourceResponse):
173992        (WebCore::buildObjectForCachedResource):
173993        (WebCore::InspectorResourceAgent::willSendRequest):
173994        (WebCore::InspectorResourceAgent::didReceiveResponse):
173995        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache):
173996        * loader/DocumentLoadTiming.cpp: Removed.
173997        * loader/DocumentLoadTiming.h:
173998        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
173999        * loader/FrameLoader.cpp:
174000        (WebCore::FrameLoader::stopLoading):
174001        (WebCore::FrameLoader::commitProvisionalLoad):
174002        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
174003        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
174004        * loader/MainResourceLoader.cpp:
174005        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
174006        (WebCore::MainResourceLoader::willSendRequest):
174007        (WebCore::MainResourceLoader::didReceiveData):
174008        (WebCore::MainResourceLoader::didFinishLoading):
174009        (WebCore::MainResourceLoader::load):
174010        * page/DOMWindow.cpp:
174011        (WebCore::DOMWindow::dispatchLoadEvent):
174012        (WebCore::DOMWindow::dispatchTimedEvent):
174013        * page/DOMWindow.h:
174014        * page/PerformanceNavigation.cpp:
174015        (WebCore::PerformanceNavigation::redirectCount):
174016        * page/PerformanceTiming.cpp:
174017        (WebCore::getPossiblySkewedTimeInKnownRange):
174018        (WebCore::PerformanceTiming::navigationStart):
174019        (WebCore::PerformanceTiming::unloadEventStart):
174020        (WebCore::PerformanceTiming::unloadEventEnd):
174021        (WebCore::PerformanceTiming::redirectStart):
174022        (WebCore::PerformanceTiming::redirectEnd):
174023        (WebCore::PerformanceTiming::fetchStart):
174024        (WebCore::PerformanceTiming::responseEnd):
174025        (WebCore::PerformanceTiming::domLoading):
174026        (WebCore::PerformanceTiming::domInteractive):
174027        (WebCore::PerformanceTiming::domContentLoadedEventStart):
174028        (WebCore::PerformanceTiming::domContentLoadedEventEnd):
174029        (WebCore::PerformanceTiming::domComplete):
174030        (WebCore::PerformanceTiming::loadEventStart):
174031        (WebCore::PerformanceTiming::loadEventEnd):
174032        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute):
174033        * page/PerformanceTiming.h:
174034        * platform/network/ResourceLoadTiming.cpp: Removed.
174035        * platform/network/ResourceLoadTiming.h:
174036
1740372011-12-15  Alexander Pavlov  <apavlov@chromium.org>
174038
174039        Unreviewed, fix Closure compiler warnings after r102905.
174040
174041        * inspector/front-end/CSSStyleModel.js: Add JSDoc annotations
174042
1740432011-12-14  Alexander Pavlov  <apavlov@chromium.org>
174044
174045        Web Inspector: make ProfilesPanel scale as the number of ProfileTypes grows
174046        https://bugs.webkit.org/show_bug.cgi?id=74391
174047
174048        Reviewed by Pavel Feldman.
174049
174050        Whenever a profile is started, this change disables all profile recording buttons, except the one
174051        that correponds to the running profile. Once the profiling is finished, all buttons get enabled back again.
174052
174053        * English.lproj/localizedStrings.js:
174054        * inspector/front-end/ProfileView.js:
174055        (WebInspector.CPUProfileView.profileCallback):
174056        (WebInspector.CPUProfileType.prototype.get buttonTooltip):
174057        (WebInspector.CPUProfileType.prototype.get buttonStyle):
174058        (WebInspector.CPUProfileType.prototype.buttonClicked):
174059        * inspector/front-end/ProfilesPanel.js:
174060        (WebInspector.ProfilesPanel.prototype.get statusBarItems.clickHandler):
174061        (WebInspector.ProfilesPanel.prototype.get statusBarItems):
174062        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
174063        (WebInspector.ProfilesPanel.prototype.updateProfileTypeButtons):
174064        (WebInspector.ProfilesPanel.prototype._updateInterface):
174065        (WebInspector.ProfilesPanel.prototype.setRecordingProfile):
174066        (WebInspector.ProfilesPanel.prototype.takeHeapSnapshot):
174067        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
174068        (WebInspector.ProfilerDispatcher.prototype.setRecordingProfile):
174069        * inspector/front-end/inspector.css:
174070        (.record-cpu-profile-status-bar-item .glyph):
174071        (.record-cpu-profile-status-bar-item.toggled-on .glyph):
174072
1740732011-12-15  Alexander Pavlov  <apavlov@chromium.org>
174074
174075        Web Inspector: [Styles] Update selected DOM element styles whenever applicable media queries change
174076        https://bugs.webkit.org/show_bug.cgi?id=74292
174077
174078        The change introduces and handles in the frontend a new event type for the CSS domain,
174079        "mediaQueryResultChanged", which gets fired every time a viewport-dependent media feature
174080        changes its value. This allows users to see live changes of the (media-dependent) matched
174081        rules for inspected elements.
174082
174083        Reviewed by Pavel Feldman.
174084
174085        * inspector/CodeGeneratorInspector.py:
174086        (DomainNameFixes):
174087        * inspector/Inspector.json:
174088        * inspector/InspectorCSSAgent.cpp:
174089        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
174090        (WebCore::InspectorCSSAgent::setFrontend):
174091        (WebCore::InspectorCSSAgent::clearFrontend):
174092        (WebCore::InspectorCSSAgent::restore):
174093        (WebCore::InspectorCSSAgent::enable):
174094        (WebCore::InspectorCSSAgent::disable):
174095        (WebCore::InspectorCSSAgent::mediaQueryResultChanged):
174096        * inspector/InspectorCSSAgent.h:
174097        * inspector/InspectorInstrumentation.cpp:
174098        (WebCore::InspectorInstrumentation::mediaQueryResultChangedImpl):
174099        * inspector/InspectorInstrumentation.h:
174100        (WebCore::InspectorInstrumentation::mediaQueryResultChanged):
174101        * inspector/front-end/CSSStyleModel.js:
174102        (WebInspector.CSSStyleModel):
174103        (WebInspector.CSSStyleModel.prototype.mediaQueryResultChanged):
174104        (WebInspector.CSSDispatcher):
174105        (WebInspector.CSSDispatcher.prototype.mediaQueryResultChanged):
174106        * inspector/front-end/MetricsSidebarPane.js:
174107        (WebInspector.MetricsSidebarPane):
174108        (WebInspector.MetricsSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
174109        * inspector/front-end/StylesSidebarPane.js:
174110        (WebInspector.StylesSidebarPane):
174111        (WebInspector.StylesSidebarPane.prototype._styleSheetOrMediaQueryResultChanged):
174112        * page/FrameView.cpp:
174113        (WebCore::FrameView::layout):
174114
1741152011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>
174116
174117        Web Inspector: [Regression] Network manager fails to show resource type and MIME type in incorrect MIME type console message.
174118        https://bugs.webkit.org/show_bug.cgi?id=74516
174119
174120        Reviewed by Pavel Feldman.
174121
174122        Test: http/tests/inspector/network/script-as-text-loading.html
174123
174124        * inspector/front-end/ConsoleMessage.js:
174125        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
174126        * inspector/front-end/NetworkManager.js:
174127        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
174128
1741292011-11-03  Kent Tamura  <tkent@chromium.org>
174130
174131        A spin button changes the value incorrectly if it is clicked after touch events.
174132        https://bugs.webkit.org/show_bug.cgi?id=71181
174133
174134        Reviewed by Ryosuke Niwa.
174135
174136        SpinButtonElement assumed setHovered(true) was always called before a
174137        mousemove event in the element. It is not true for touch events.
174138
174139        We should not reset m_upDownState to Indetermiante in setHovered(true),
174140        and should reset it when the mouse pointer moves out.
174141
174142        This change fixes the flakiness of fast/forms/input-step-as-double.html.
174143
174144        Test: fast/events/touch/touch-before-pressing-spin-button.html
174145
174146        * html/shadow/TextControlInnerElements.cpp:
174147        (WebCore::SpinButtonElement::defaultEventHandler):
174148        Add an assertion that m_upDownState should not be Indetermiante.
174149        Reset m_upDownState to Indeterminate when the mouse pointer moves out
174150        from the element.
174151        (WebCore::SpinButtonElement::setHovered):
174152        Reset m_upDownState to Indeterminate when the element becomes unhovered.
174153
1741542011-12-14  Lucas Forschler  <lforschler@apple.com>
174155    
174156        https://bugs.webkit.org/show_bug.cgi?id=74543
174157        Add CSS*.cpp to a new CSSAllInOne.cpp file with two exceptions:
174158            CSSProperty.cpp
174159            CSSPrimitiveValue.cpp
174160        Adding these two broke things with a templates problem that was not easily fixable.
174161
174162        Reviewed by Steve Falkenburg.
174163
174164        * WebCore.vcproj/WebCore.vcproj:
174165        * css/CSSAllInOne.cpp: Added.
174166
1741672011-12-14  Tim Horton  <timothy_horton@apple.com>
174168
174169        Generated images should respect the accelerated state of the context they're going to be drawn into
174170        https://bugs.webkit.org/show_bug.cgi?id=74577
174171        <rdar://problem/10584392>
174172
174173        Reviewed by Simon Fraser.
174174
174175        The tiled code path for GeneratorGeneratedImage and CrossfadeGeneratedImage blindly creates
174176        an unaccelerated ImageBuffer. Instead, take into account the accelerated state of the destination context.
174177
174178        No new tests, as this is a simple performance improvement.
174179
174180        * platform/graphics/CrossfadeGeneratedImage.cpp:
174181        (WebCore::CrossfadeGeneratedImage::drawPattern):
174182        * platform/graphics/GeneratorGeneratedImage.cpp:
174183        (WebCore::GeneratorGeneratedImage::drawPattern):
174184
1741852011-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
174186
174187        Web Inspector: cleanup unused variable introduced at r102803
174188
174189        * inspector/front-end/NetworkManager.js:
174190        (WebInspector.NetworkManager.prototype.enableResourceTracking):
174191        (WebInspector.NetworkManager.prototype.disableResourceTracking):
174192
1741932011-12-14  Wei James  <james.wei@intel.com>
174194
174195        fast path to accelerate processing in AudioBus::processWithGainFromMonoStereo
174196        https://bugs.webkit.org/show_bug.cgi?id=74054
174197
174198        Reviewed by Kenneth Russell.
174199
174200        Avoid de-zippering when the gain has converged on the targetGain. 
174201        It can get about 75% performance gain at most when all frames don't need
174202        de-zippering.
174203
174204        * platform/audio/AudioBus.cpp:
174205        (WebCore::AudioBus::processWithGainFromMonoStereo):
174206
1742072011-12-14  Adam Klein  <adamk@chromium.org>
174208
174209        Optimize MutationObserverInterestGroup construction
174210        https://bugs.webkit.org/show_bug.cgi?id=74563
174211
174212        Reviewed by Ojan Vafai.
174213
174214        Inline MutationObserverInterestGroup's creation methods and fix an
174215        accidental pass-by-value in an attempt to further reduce the CPU
174216        footprint of MutationObservers.
174217
174218        No new tests, refactor only.
174219
174220        * dom/WebKitMutationObserver.cpp:
174221        (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup): Pass observers HashMap by reference.
174222        * dom/WebKitMutationObserver.h:
174223        (WebCore::MutationObserverInterestGroup::createForChildListMutation): Inline.
174224        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation): Inline.
174225        (WebCore::MutationObserverInterestGroup::createForAttributesMutation): Inline.
174226        (WebCore::MutationObserverInterestGroup::hasOldValue): Remove spurious inline keyword.
174227
1742282011-12-14  Dominic Mazzoni  <dmazzoni@google.com>
174229
174230        Seeing crash in DRT after loading-iframe-sends-notification.html land
174231        https://bugs.webkit.org/show_bug.cgi?id=72624
174232
174233        When an iframe finishes loading, send an accessibility notification
174234        on the renderer, rather than on a parent node. The only reason it was
174235        being posted on a parent before was because there was no way to detect
174236        that in a test. This is simpler and now covered by the test.
174237
174238        Reviewed by Chris Fleizach.
174239
174240        Updates existing test:
174241        accessibility/loading-iframe-sends-notification.html
174242
174243        * dom/Document.cpp:
174244        (WebCore::Document::implicitClose):
174245
1742462011-12-14  Nat Duca  <nduca@chromium.org>
174247
174248        [chromium] Add inhibitDraw to CCScheduler and drop root impl to prevent background flash on tab restore
174249        https://bugs.webkit.org/show_bug.cgi?id=74351
174250
174251        Reviewed by James Robinson.
174252
174253        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
174254        (WebCore::CCLayerTreeHost::setNeedsCommit):
174255        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
174256        * platform/graphics/chromium/cc/CCScheduler.cpp:
174257        (WebCore::CCScheduler::getNextAction):
174258        (WebCore::CCScheduler::processScheduledActions):
174259        * platform/graphics/chromium/cc/CCScheduler.h:
174260        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
174261        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
174262        (WebCore::CCSchedulerStateMachine::nextAction):
174263        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
174264        (WebCore::CCSchedulerStateMachine::setInhibitDraw):
174265        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
174266        (WebCore::CCThreadProxy::setVisibleOnImplThread):
174267        (WebCore::CCThreadProxy::inhibitDraw):
174268        * platform/graphics/chromium/cc/CCThreadProxy.h:
174269
1742702011-12-14  Ken Buchanan  <kenrb@chromium.org>
174271
174272        Crash due to incorrect parsing of isolates
174273        https://bugs.webkit.org/show_bug.cgi?id=74311
174274        When <bdi> content is wrapped, all hell breaks loose
174275        https://bugs.webkit.org/show_bug.cgi?id=74396
174276
174277        Reviewed by Eric Seidel.
174278
174279        When an isolate was encountered during run layout, the entire isolate
174280        would be parsed, even if the run started in the middle of the isolate.
174281        This would sometimes cause parts of the isolate to be added multiple
174282        times as runs. This patch marks the starting position within the
174283        isolate so nothing is parsed twice.
174284
174285        This patch changes appendRun() so that when a run is added that is
174286        inside an isolate, it saves the start position of the run rather than
174287        the root. This allows constructBidiRuns() to resume parsing the
174288        isolate from the correct position.
174289
174290        The change to RenderBox partially reverts a previous change I had
174291        done. It makes sense to screen for the condition, as was previously
174292        the case.
174293
174294        This patch does not add the test case from 74396 because a separate
174295        bug is preventing it from rendering correctly.
174296
174297        * rendering/InlineIterator.h:
174298        (WebCore::addPlaceholderRunForIsolatedInline)
174299        (WebCore::IsolateTracker::addFakeRunIfNecessary)
174300        (WebCore::InlineBidiResolver::appendRun)
174301        * rendering/RenderBlockLineLayout.cpp:
174302        (WebCore::RenderBlockLineLayout::constructBidiRuns)
174303        * rendering/RenderBox.cpp:
174304        (WebCore::RenderBox::positionLineBox)
174305
1743062011-12-14  Jing Zhao  <jingzhao@chromium.org>
174307
174308        Opening two popup menus by dispatchEvent() makes problems.
174309        https://bugs.webkit.org/show_bug.cgi?id=73304
174310
174311        Reviewed by Kent Tamura.
174312
174313        By using element.dispatchEvent(), a user written script can open two
174314        popup menus, which causes various problems in different platforms.
174315
174316        Add a hasOpenedPopup() method in ChromeClient and a wrapper in Chrome.
174317        In RenderMenuList::showPopup(), check if there is an opened popup menu
174318        before opening a new popup menu.
174319
174320        Test: fast/forms/select-popup-crash.html
174321
174322        * loader/EmptyClients.h: Overrides hasOpenedPopup().
174323        (WebCore::EmptyChromeClient::hasOpenedPopup): Returns false as a default case.
174324        * page/Chrome.cpp:
174325        (WebCore::Chrome::hasOpenedPopup): Calls ChromeClient::hasOpenedPopup().
174326        * page/Chrome.h: Declares hasOpenedPopup().
174327        * page/ChromeClient.h: Declares hasOpenedPopup() as a pure virtual function.
174328        * rendering/RenderMenuList.cpp:
174329        (WebCore::RenderMenuList::showPopup): Calls Chrome::hasOpenedPopup() before opening a new popup menu.
174330
1743312011-12-14  Tony Chang  <tony@chromium.org>
174332
174333        Clean up style in CSSStyleSelector.cpp
174334        https://bugs.webkit.org/show_bug.cgi?id=74548
174335
174336        Reviewed by Ojan Vafai.
174337
174338        * css/CSSStyleSelector.cpp:
174339        (WebCore::CSSStyleSelector::styleForElement):
174340        (WebCore::CSSStyleSelector::pseudoStyleForElement):
174341
1743422011-12-14  Kenneth Russell  <kbr@google.com>
174343
174344        Unreviewed, rolling out r102794.
174345        http://trac.webkit.org/changeset/102794
174346        https://bugs.webkit.org/show_bug.cgi?id=74220
174347
174348        Reapplying patch since it is not the cause of the problems
174349        described in bug 74220.
174350
174351        * bindings/v8/V8Proxy.cpp:
174352        (WebCore::V8Proxy::reportUnsafeAccessTo):
174353        * bindings/v8/V8Proxy.h:
174354        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
174355        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
174356
1743572011-12-14  Sam Weinig  <weinig@apple.com>
174358
174359        Remove whitespace from InheritedPropertySheets attributes in
174360        vsprops files to appease the Visual Studio project migrator.
174361
174362        Reviewed by Adam Roben.
174363
174364        * WebCore.vcproj/QTMovieWinDebug.vsprops:
174365        * WebCore.vcproj/QTMovieWinDebugAll.vsprops:
174366        * WebCore.vcproj/QTMovieWinDebugCairoCFLite.vsprops:
174367        * WebCore.vcproj/QTMovieWinProduction.vsprops:
174368        * WebCore.vcproj/QTMovieWinRelease.vsprops:
174369        * WebCore.vcproj/QTMovieWinReleaseCairoCFLite.vsprops:
174370        * WebCore.vcproj/WebCoreDebug.vsprops:
174371        * WebCore.vcproj/WebCoreDebugAll.vsprops:
174372        * WebCore.vcproj/WebCoreDebugCairoCFLite.vsprops:
174373        * WebCore.vcproj/WebCoreProduction.vsprops:
174374        * WebCore.vcproj/WebCoreRelease.vsprops:
174375        * WebCore.vcproj/WebCoreReleaseCairoCFLite.vsprops:
174376
1743772011-12-14  Enrica Casucci  <enrica@apple.com>
174378
174379        One more attempt to fix the release build (hopefully the last)
174380
174381        Unreviewed.
174382
174383        * editing/ReplaceSelectionCommand.cpp: Added NodeRenderStyle.h
174384
1743852011-12-14  Kenneth Russell  <kbr@google.com>
174386
174387        Unreviewed, rolling out r102816.
174388        http://trac.webkit.org/changeset/102816
174389        https://bugs.webkit.org/show_bug.cgi?id=74415
174390
174391        Implicated in font-related crashes on Chromium canaries.
174392
174393        * platform/graphics/chromium/FontChromiumWin.cpp:
174394        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
174395        (WebCore::Font::drawGlyphs):
174396        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
174397        (WebCore::FontPlatformData::FontPlatformData):
174398        (WebCore::FontPlatformData::operator=):
174399        (WebCore::FontPlatformData::~FontPlatformData):
174400        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
174401        (WebCore::FontPlatformData::size):
174402        (WebCore::FontPlatformData::hash):
174403        * platform/graphics/skia/SkiaFontWin.cpp:
174404        (WebCore::setupPaintForFont):
174405        (WebCore::paintSkiaText):
174406        * platform/graphics/skia/SkiaFontWin.h:
174407
1744082011-12-14  Simon Fraser  <simon.fraser@apple.com>
174409
174410        Filter amounts should accept percentages
174411        https://bugs.webkit.org/show_bug.cgi?id=74531
174412
174413        Reviewed by Chris Marrin.
174414        
174415        Support percentage arguments for some filter functions, using the FPercent flag
174416        to validUnit(). Fix CSSStyleSelector::createFilterOperations() to do the divide by 100
174417        for percentages.
174418        
174419        Replaced isValidFilterArgument(), which just tested arguments one by one for validity, with
174420        parseBuiltinFilterArguments() which tests and creates the CSSValues at the same time, which
174421        is a little more efficient. It also allows filter-specific behavior to be more localized in this
174422        method.
174423
174424        Covered by existing tests.
174425
174426        * css/CSSParser.cpp:
174427        (WebCore::CSSParser::parseBuiltinFilterArguments):
174428        (WebCore::CSSParser::parseFilter):
174429        * css/CSSParser.h:
174430        * css/CSSStyleSelector.cpp:
174431        (WebCore::CSSStyleSelector::createFilterOperations):
174432
1744332011-12-14  Enrica Casucci  <enrica@apple.com>
174434
174435        Build fix.
174436
174437        Unreviewed.
174438
174439        * editing/ReplaceSelectionCommand.cpp: Added include RenderStyle.h
174440
1744412011-12-14  Hajime Morrita  <morrita@chromium.org>
174442
174443        JS_INLINE and WTF_INLINE should be visible from WebCore
174444        https://bugs.webkit.org/show_bug.cgi?id=73191
174445
174446        Reviewed by Kevin Ollivier.
174447
174448        - Moved export related definitions from config.h
174449          to ExportMacros.h, JSExportMacros.h and PlatformExportMacros.h
174450        - Added forwarding headers which are referred from config.h
174451
174452        No new tests. Only build related changes.
174453
174454        * ForwardingHeaders/runtime/JSExportMacros.h: Added.
174455        * ForwardingHeaders/wtf/ExportMacros.h: Added.
174456        * WebCore.xcodeproj/project.pbxproj:
174457        * config.h:
174458        * platform/PlatformExportMacros.h: Copied from Source/JavaScriptCore/wtf/ExportMacros.h.
174459
1744602011-12-14  Enrica Casucci  <enrica@apple.com>
174461
174462        Need a way to produce leaner markup when pasting a fragment containing verbose markup
174463        https://bugs.webkit.org/show_bug.cgi?id=74514
174464        <rdar://problem/10208653>
174465
174466        Reviewed by Ryosuke Niwa.
174467
174468        This patch is another step in the direction of reducing the verbosity of the markup
174469        produced with editing operations.
174470        After the copied fragment is inserted in the document, it is analyzed to remove all
174471        the elements that don't contribute to the style. The decision is made comparing the
174472        render styles. As part of the cleanup, unstyled divs with single child element are
174473        removed. The logic to determine the blocks that can be removed is the same used in
174474        DeleteSelectionCommand and has been moved in CompositeEditCommand.
174475        
174476        Test: editing/pasteboard/paste-and-sanitize.html
174477
174478        * editing/CompositeEditCommand.cpp:
174479        (WebCore::CompositeEditCommand::isRemovableBlock): Implements logic to determine
174480        if a block can be removed.
174481        * editing/CompositeEditCommand.h: Added isRemovableBlock declaration.
174482        * editing/DeleteSelectionCommand.cpp:
174483        (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Implemented using
174484        isRemovableBlock from CompositeEditCommand.
174485        * editing/Editor.cpp:
174486        (WebCore::Editor::replaceSelectionWithFragment): Added SanitizeFragment option.
174487        * editing/ReplaceSelectionCommand.cpp:
174488        (WebCore::ReplaceSelectionCommand::ReplaceSelectionCommand): Added initialization
174489        of m_sanitizeFragment member.
174490        (WebCore::ReplaceSelectionCommand::removeRedundantMarkup): New method implementing
174491        the cleanup logic.
174492        (WebCore::ReplaceSelectionCommand::doApply): Added call to removeRedundantMarkup
174493        after the fragment is inserted in the document.
174494        * editing/ReplaceSelectionCommand.h: Added new value to the enum CommandOption,
174495        a new member variable and the new method declaration.
174496
1744972011-12-14  Adrienne Walker  <enne@google.com>
174498
174499        [chromium] Refactor tile drawing to be more data-driven
174500        https://bugs.webkit.org/show_bug.cgi?id=73059
174501
174502        Reviewed by James Robinson.
174503
174504        Partially tested by compositor layout tests. Debug borders and
174505        checkerboarding tested manually.
174506
174507        This is the first part of a move towards rendering quads on screen
174508        from a bag of data rather than in virtual CCLayerImpl::draw functions.
174509
174510        CCDrawQuad-derived classes store material-specific pieces of data to
174511        use when rendering. CCLayerImpl classes now create these CCDrawQuad
174512        objects rather than issuing direct GL commands. Where this data is
174513        shared between quads that come from the same layer, that data is
174514        stored in a CCSharedQuadState object rather than duplicated.
174515
174516        CCRenderPass is the class that holds the list of quads and the target
174517        surface that they draw into. Drawing a frame consists of drawing a
174518        series of render passes onto their respective surfaces.
174519
174520        CCLayerTreeHostImpl constructs these render passes from the output of
174521        calculateDrawTransformsAndVisibility by asking each layer to insert
174522        quads into a list and hands them off to LayerRendererChromium for
174523        rendering.
174524
174525        * WebCore.gypi:
174526        * platform/graphics/chromium/LayerRendererChromium.cpp:
174527        (WebCore::LayerRendererChromium::clearSurfaceForDebug):
174528        (WebCore::LayerRendererChromium::beginDrawingFrame):
174529        (WebCore::LayerRendererChromium::drawRenderPass):
174530        (WebCore::LayerRendererChromium::drawQuad):
174531        (WebCore::LayerRendererChromium::drawDebugBorderQuad):
174532        (WebCore::LayerRendererChromium::drawRenderSurfaceQuad):
174533        (WebCore::LayerRendererChromium::drawSolidColorQuad):
174534        (WebCore::tileUniformLocation):
174535        (WebCore::findTileProgramUniforms):
174536        (WebCore::LayerRendererChromium::drawTileQuad):
174537        (WebCore::LayerRendererChromium::drawCustomLayerQuad):
174538        (WebCore::LayerRendererChromium::finishDrawingFrame):
174539        (WebCore::LayerRendererChromium::useRenderSurface):
174540        * platform/graphics/chromium/LayerRendererChromium.h:
174541        * platform/graphics/chromium/ShaderChromium.h:
174542        (WebCore::FragmentTexAlphaBinding::edgeLocation):
174543        (WebCore::FragmentTexAlphaBinding::fragmentTexTransformLocation):
174544        (WebCore::FragmentTexOpaqueBinding::edgeLocation):
174545        (WebCore::FragmentTexOpaqueBinding::fragmentTexTransformLocation):
174546        * platform/graphics/chromium/TiledLayerChromium.cpp:
174547        (WebCore::TiledLayerChromium::pushPropertiesTo):
174548        * platform/graphics/chromium/cc/CCCustomLayerDrawQuad.cpp: Added.
174549        (WebCore::CCCustomLayerDrawQuad::create):
174550        (WebCore::CCCustomLayerDrawQuad::CCCustomLayerDrawQuad):
174551        * platform/graphics/chromium/cc/CCCustomLayerDrawQuad.h: Added.
174552        (WebCore::CCCustomLayerDrawQuad::layer):
174553        * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.cpp: Added.
174554        (WebCore::CCDebugBorderDrawQuad::create):
174555        (WebCore::CCDebugBorderDrawQuad::CCDebugBorderDrawQuad):
174556        * platform/graphics/chromium/cc/CCDebugBorderDrawQuad.h: Added.
174557        (WebCore::CCDebugBorderDrawQuad::color):
174558        (WebCore::CCDebugBorderDrawQuad::width):
174559        * platform/graphics/chromium/cc/CCDrawQuad.cpp: Added.
174560        (WebCore::CCDrawQuad::CCDrawQuad):
174561        (WebCore::CCDrawQuad::toDebugBorderDrawQuad):
174562        (WebCore::CCDrawQuad::toRenderSurfaceDrawQuad):
174563        (WebCore::CCDrawQuad::toSolidColorDrawQuad):
174564        (WebCore::CCDrawQuad::toTileDrawQuad):
174565        (WebCore::CCDrawQuad::toCustomLayerDrawQuad):
174566        * platform/graphics/chromium/cc/CCDrawQuad.h: Added.
174567        (WebCore::CCDrawQuad::quadRect):
174568        (WebCore::CCDrawQuad::quadTransform):
174569        (WebCore::CCDrawQuad::layerTransform):
174570        (WebCore::CCDrawQuad::layerRect):
174571        (WebCore::CCDrawQuad::clipRect):
174572        (WebCore::CCDrawQuad::opacity):
174573        (WebCore::CCDrawQuad::drawsOpaque):
174574        (WebCore::CCDrawQuad::needsBlending):
174575        (WebCore::CCDrawQuad::isLayerAxisAlignedIntRect):
174576        (WebCore::CCDrawQuad::material):
174577        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
174578        (WebCore::CCLayerImpl::createSharedQuadState):
174579        (WebCore::CCLayerImpl::appendQuads):
174580        (WebCore::CCLayerImpl::appendDebugBorderQuad):
174581        (WebCore::CCLayerImpl::quadTransform):
174582        * platform/graphics/chromium/cc/CCLayerImpl.h:
174583        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
174584        (WebCore::CCLayerTreeHostImpl::trackDamageForAllSurfaces):
174585        (WebCore::computeScreenSpaceTransformForSurface):
174586        (WebCore::damageInSurfaceSpace):
174587        (WebCore::CCLayerTreeHostImpl::calculateRenderPasses):
174588        (WebCore::CCLayerTreeHostImpl::drawLayers):
174589        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
174590        * platform/graphics/chromium/cc/CCRenderPass.cpp: Added.
174591        (WebCore::CCRenderPass::create):
174592        (WebCore::CCRenderPass::CCRenderPass):
174593        (WebCore::CCRenderPass::appendQuadsForLayer):
174594        (WebCore::CCRenderPass::appendQuadsForRenderSurfaceLayer):
174595        * platform/graphics/chromium/cc/CCRenderPass.h: Added.
174596        (WebCore::CCRenderPass::quadList):
174597        (WebCore::CCRenderPass::targetSurface):
174598        (WebCore::CCRenderPass::setSurfaceDamageRect):
174599        (WebCore::CCRenderPass::surfaceDamageRect):
174600        * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.cpp: Added.
174601        (WebCore::CCRenderSurfaceDrawQuad::create):
174602        (WebCore::CCRenderSurfaceDrawQuad::CCRenderSurfaceDrawQuad):
174603        * platform/graphics/chromium/cc/CCRenderSurfaceDrawQuad.h: Added.
174604        (WebCore::CCRenderSurfaceDrawQuad::layer):
174605        (WebCore::CCRenderSurfaceDrawQuad::surfaceDamageRect):
174606        * platform/graphics/chromium/cc/CCSharedQuadState.cpp: Added.
174607        (WebCore::CCSharedQuadState::create):
174608        (WebCore::CCSharedQuadState::CCSharedQuadState):
174609        (WebCore::CCSharedQuadState::isLayerAxisAlignedIntRect):
174610        * platform/graphics/chromium/cc/CCSharedQuadState.h: Added.
174611        (WebCore::CCSharedQuadState::quadTransform):
174612        (WebCore::CCSharedQuadState::layerTransform):
174613        (WebCore::CCSharedQuadState::layerRect):
174614        (WebCore::CCSharedQuadState::clipRect):
174615        (WebCore::CCSharedQuadState::opacity):
174616        (WebCore::CCSharedQuadState::isOpaque):
174617        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.cpp: Added.
174618        (WebCore::CCSolidColorDrawQuad::create):
174619        (WebCore::CCSolidColorDrawQuad::CCSolidColorDrawQuad):
174620        * platform/graphics/chromium/cc/CCSolidColorDrawQuad.h: Added.
174621        (WebCore::CCSolidColorDrawQuad::color):
174622        * platform/graphics/chromium/cc/CCTileDrawQuad.cpp: Added.
174623        (WebCore::CCTileDrawQuad::create):
174624        (WebCore::CCTileDrawQuad::CCTileDrawQuad):
174625        * platform/graphics/chromium/cc/CCTileDrawQuad.h: Added.
174626        (WebCore::CCTileDrawQuad::textureId):
174627        (WebCore::CCTileDrawQuad::textureOffset):
174628        (WebCore::CCTileDrawQuad::textureSize):
174629        (WebCore::CCTileDrawQuad::textureFilter):
174630        (WebCore::CCTileDrawQuad::swizzleContents):
174631        (WebCore::CCTileDrawQuad::leftEdgeAA):
174632        (WebCore::CCTileDrawQuad::topEdgeAA):
174633        (WebCore::CCTileDrawQuad::rightEdgeAA):
174634        (WebCore::CCTileDrawQuad::bottomEdgeAA):
174635        (WebCore::CCTileDrawQuad::isAntialiased):
174636        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
174637        (WebCore::CCTiledLayerImpl::CCTiledLayerImpl):
174638        (WebCore::CCTiledLayerImpl::quadTransform):
174639        (WebCore::CCTiledLayerImpl::appendQuads):
174640        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
174641        (WebCore::CCTiledLayerImpl::setContentsSwizzled):
174642        (WebCore::CCTiledLayerImpl::contentsSwizzled):
174643
1746442011-12-14  Ojan Vafai  <ojan@chromium.org>
174645
174646        Implement flexDirection and flexWrap and make flexFlow a proper shorthand.
174647        https://bugs.webkit.org/show_bug.cgi?id=74542
174648
174649        Reviewed by Tony Chang.
174650
174651        In a followup patch, I'll cleanup all the *Flow methods in RenderFlexibleBox.
174652
174653        Existing tests cover all the rendering behaviors, so only need to test
174654        the css property parsing.
174655
174656        * css/CSSComputedStyleDeclaration.cpp:
174657        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
174658        * css/CSSMutableStyleDeclaration.cpp:
174659        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
174660        * css/CSSParser.cpp:
174661        (WebCore::CSSParser::parseValue):
174662        * css/CSSPrimitiveValueMappings.h:
174663        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
174664        (WebCore::CSSPrimitiveValue::operator EFlexDirection):
174665        * css/CSSProperty.cpp:
174666        (WebCore::CSSProperty::isInheritedProperty):
174667        * css/CSSPropertyLonghand.cpp:
174668        (WebCore::initShorthandMap):
174669        * css/CSSPropertyNames.in:
174670        * css/CSSStyleApplyProperty.cpp:
174671        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
174672        * css/CSSStyleSelector.cpp:
174673        (WebCore::CSSStyleSelector::applyProperty):
174674        * rendering/RenderBox.cpp:
174675        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
174676        * rendering/RenderFlexibleBox.cpp:
174677        (WebCore::RenderFlexibleBox::isColumnFlow):
174678        (WebCore::RenderFlexibleBox::isLeftToRightFlow):
174679        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
174680        (WebCore::RenderFlexibleBox::alignChildren):
174681        * rendering/style/RenderStyle.h:
174682        (WebCore::InheritedFlags::flexDirection):
174683        (WebCore::InheritedFlags::isColumnFlexDirection):
174684        (WebCore::InheritedFlags::setFlexDirection):
174685        (WebCore::InheritedFlags::initialFlexDirection):
174686        * rendering/style/RenderStyleConstants.h:
174687        * rendering/style/StyleFlexibleBoxData.cpp:
174688        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
174689        (WebCore::StyleFlexibleBoxData::operator==):
174690        * rendering/style/StyleFlexibleBoxData.h:
174691
1746922011-12-13  Jon Lee  <jonlee@apple.com>
174693
174694        Enable notifications on Mac.
174695
174696        Reviewed by Sam Weinig.
174697
174698        * Configurations/FeatureDefines.xcconfig:
174699
1747002011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
174701
174702        COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
174703        https://bugs.webkit.org/show_bug.cgi?id=74327
174704
174705        Reviewed by Darin Adler.
174706
174707        Always use unsigned instead of bool and unsigned in the bitfields of RuleData to shrink
174708        its size under MSVC.
174709
174710        Unlike gcc and clang, MSVC pads each consecutive member variables of the same type
174711        in bitfields. e.g. if you have:
174712        sturct AB {
174713            unsigned m_1 : 31;
174714            bool m_2 : 1;
174715        }
174716        then MSVC pads m_1 and allocates sizeof(unsigned) * 2 for AB whereas gcc and clang
174717        only allocate sizeof(unsigned) * 1 for AB.
174718
174719        * css/CSSStyleSelector.cpp:
174720        (WebCore::RuleData::RuleData):
174721
1747222011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
174723
174724        NodeChildList shouldn't be in NodeListNodeData
174725        https://bugs.webkit.org/show_bug.cgi?id=73969
174726
174727        Reviewed by Sam Weinig.
174728
174729        Move NodeChildList out of NodeListNodeData to separate it from the other node lists in order to
174730        resolve the bug 73853. Unlike other DynamicNodeList, we don't need to invalidate NodeChildList
174731        on ancestors when children change. Moving ChildNodeList out of NodeListNodeData makes this difference
174732        apparent and makes DynamicNodeList::Caches in NodeListNodeData always held by a DynamicSubtreeNodeList,
174733        eliminating the need for hasOwnCaches() checks in various places.
174734
174735        Also renamed the existing DynamicNodeList to DynamicSubtreeNodeList and re-introduced DynamicNodeList
174736        from which DynamicSubtreeNodeList and ChildNodeList both inherit to share the code for itemWithName.
174737
174738        In addition, renamed registerDynamicNodeList and unregisterDynamicNodeList, which updates a counter for
174739        TreeScope::hasNodeListCaches, to registerDynamicSubtreeNodeList and unregisterDynamicSubtreeNodeList
174740        respectively. They are no longer called by ChildNodeList in order to avoid walking up the DOM tree
174741        inside invalidateNodeListsCacheAfterAttributeChanged and invalidateNodeListsCacheAfterChildrenChanged.
174742
174743        Test: fast/dom/childnode-item-after-itemname.html
174744
174745        * bindings/js/JSNodeListCustom.cpp:
174746        (WebCore::JSNodeListOwner::isReachableFromOpaqueRoots):
174747        * dom/ChildNodeList.cpp:
174748        (WebCore::ChildNodeList::ChildNodeList):
174749        (WebCore::ChildNodeList::length):
174750        (WebCore::ChildNodeList::item):
174751        (WebCore::ChildNodeList::nodeMatches):
174752        * dom/ChildNodeList.h:
174753        * dom/ClassNodeList.cpp:
174754        (WebCore::ClassNodeList::ClassNodeList):
174755        (WebCore::ClassNodeList::~ClassNodeList):
174756        * dom/ClassNodeList.h:
174757        * dom/ContainerNode.cpp:
174758        (WebCore::ContainerNode::childrenChanged):
174759        * dom/DynamicNodeList.cpp:
174760        (WebCore::DynamicSubtreeNodeList::DynamicSubtreeNodeList):
174761        (WebCore::DynamicSubtreeNodeList::~DynamicSubtreeNodeList):
174762        (WebCore::DynamicSubtreeNodeList::length):
174763        (WebCore::DynamicSubtreeNodeList::itemForwardsFromCurrent):
174764        (WebCore::DynamicSubtreeNodeList::itemBackwardsFromCurrent):
174765        (WebCore::DynamicSubtreeNodeList::item):
174766        (WebCore::DynamicNodeList::itemWithName):
174767        (WebCore::DynamicSubtreeNodeList::isDynamicNodeList):
174768        (WebCore::DynamicSubtreeNodeList::invalidateCache):
174769        (WebCore::DynamicSubtreeNodeList::Caches::Caches):
174770        (WebCore::DynamicSubtreeNodeList::Caches::create):
174771        (WebCore::DynamicSubtreeNodeList::Caches::reset):
174772        * dom/DynamicNodeList.h:
174773        (WebCore::DynamicNodeList::DynamicNodeList):
174774        (WebCore::DynamicNodeList::~DynamicNodeList):
174775        (WebCore::DynamicNodeList::node):
174776        (WebCore::DynamicSubtreeNodeList::rootNode):
174777        * dom/NameNodeList.cpp:
174778        (WebCore::NameNodeList::NameNodeList):
174779        (WebCore::NameNodeList::~NameNodeList):
174780        * dom/NameNodeList.h:
174781        * dom/Node.cpp:
174782        (WebCore::Node::childNodes):
174783        (WebCore::Node::registerDynamicSubtreeNodeList):
174784        (WebCore::Node::unregisterDynamicSubtreeNodeList):
174785        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanged):
174786        (WebCore::Node::invalidateNodeListsCacheAfterChildrenChanged):
174787        (WebCore::Node::removeCachedClassNodeList):
174788        (WebCore::Node::removeCachedNameNodeList):
174789        (WebCore::Node::removeCachedTagNodeList):
174790        (WebCore::Node::removeCachedLabelsNodeList):
174791        (WebCore::NodeListsNodeData::invalidateCaches):
174792        (WebCore::NodeListsNodeData::isEmpty):
174793        (WebCore::NodeRareData::clearChildNodeListCache):
174794        * dom/Node.h:
174795        * dom/NodeRareData.h:
174796        (WebCore::NodeRareData::nodeLists):
174797        (WebCore::NodeRareData::ensureChildNodeListCache):
174798        * dom/TagNodeList.cpp:
174799        (WebCore::TagNodeList::TagNodeList):
174800        (WebCore::TagNodeList::~TagNodeList):
174801        * dom/TagNodeList.h:
174802        * html/LabelsNodeList.cpp:
174803        (WebCore::LabelsNodeList::LabelsNodeList):
174804        * html/LabelsNodeList.h:
174805
1748062011-12-14  Ryosuke Niwa  <rniwa@webkit.org>
174807
174808        Push more member functions from EditCommand to CompositeEditCommand
174809        https://bugs.webkit.org/show_bug.cgi?id=74249
174810
174811        Reviewed by Enrica Casucci.
174812
174813        Moved startingRootEditableElement and endingRootEditableElement from EditCommand to EditCommandComposition,
174814        and isTypingCommand, preservesTypingStyle, shouldRetainAutocorrectionIndicator,
174815        setShouldRetainAutocorrectionIndicator, and shouldStopCaretBlinking from EditCommand to CompositeEditCommand.
174816        Also removed EditCommand::updateLayout().
174817
174818        * editing/ApplyBlockElementCommand.cpp:
174819        (WebCore::ApplyBlockElementCommand::doApply):
174820        * editing/ApplyStyleCommand.cpp:
174821        (WebCore::ApplyStyleCommand::applyBlockStyle):
174822        (WebCore::ApplyStyleCommand::applyInlineStyle):
174823        * editing/CompositeEditCommand.cpp:
174824        (WebCore::EditCommandComposition::EditCommandComposition):
174825        (WebCore::EditCommandComposition::setStartingSelection):
174826        (WebCore::EditCommandComposition::setEndingSelection):
174827        (WebCore::CompositeEditCommand::preservesTypingStyle):
174828        (WebCore::CompositeEditCommand::isTypingCommand):
174829        (WebCore::CompositeEditCommand::shouldRetainAutocorrectionIndicator):
174830        (WebCore::CompositeEditCommand::setShouldRetainAutocorrectionIndicator):
174831        (WebCore::CompositeEditCommand::addBlockPlaceholderIfNeeded):
174832        (WebCore::CompositeEditCommand::moveParagraphContentsToNewBlockIfNecessary):
174833        (WebCore::CompositeEditCommand::moveParagraphs):
174834        * editing/CompositeEditCommand.h:
174835        (WebCore::EditCommandComposition::startingRootEditableElement):
174836        (WebCore::EditCommandComposition::endingRootEditableElement):
174837        (WebCore::CompositeEditCommand::shouldStopCaretBlinking):
174838        * editing/DeleteSelectionCommand.cpp:
174839        (WebCore::DeleteSelectionCommand::removeNode):
174840        (WebCore::DeleteSelectionCommand::fixupWhitespace):
174841        * editing/EditCommand.cpp:
174842        (WebCore::EditCommand::apply):
174843        (WebCore::EditCommand::unapply):
174844        (WebCore::EditCommand::reapply):
174845        (WebCore::EditCommand::setStartingSelection):
174846        (WebCore::EditCommand::setEndingSelection):
174847        (WebCore::EditCommand::setParent):
174848        * editing/EditCommand.h:
174849        (WebCore::EditCommand::isEditCommandComposition):
174850        * editing/Editor.cpp:
174851        (WebCore::dispatchEditableContentChangedEvents):
174852        (WebCore::Editor::appliedEditing):
174853        (WebCore::Editor::unappliedEditing):
174854        (WebCore::Editor::reappliedEditing):
174855        * editing/Editor.h:
174856        (WebCore::Editor::lastEditCommand):
174857        * editing/FrameSelection.cpp:
174858        (WebCore::FrameSelection::updateAppearance):
174859        * editing/IndentOutdentCommand.cpp:
174860        (WebCore::IndentOutdentCommand::outdentParagraph):
174861        * editing/InsertLineBreakCommand.cpp:
174862        (WebCore::InsertLineBreakCommand::doApply):
174863        * editing/InsertParagraphSeparatorCommand.cpp:
174864        (WebCore::InsertParagraphSeparatorCommand::doApply):
174865        * editing/TypingCommand.cpp:
174866        (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
174867        * editing/TypingCommand.h:
174868        (WebCore::TypingCommand::shouldRetainAutocorrectionIndicator):
174869
1748702011-12-14  Tony Chang  <tony@chromium.org>
174871
174872        Fix compile on gcc on Mac.
174873
174874        css/CSSStyleSelector.cpp:1254:166: error: unused parameter 'regionForStyling' [-Werror,-Wunused-parameter,3]
174875        css/CSSStyleSelector.cpp:1425:134: error: unused parameter 'regionForStyling' [-Werror,-Wunused-parameter,3]
174876
174877        * css/CSSStyleSelector.cpp:
174878        (WebCore::CSSStyleSelector::styleForElement):
174879        (WebCore::CSSStyleSelector::pseudoStyleForElement):
174880
1748812011-12-14  Brady Eidson  <beidson@apple.com>
174882
174883        <rdar://problem/10576732> and https://bugs.webkit.org/show_bug.cgi?id=74533
174884        REGRESSION(r102619): Reproducible crash closing window with video + poster image inside an object element
174885
174886        Reviewed by Darin Adler.
174887
174888        Test: media/crash-closing-page-with-media-as-plugin-fallback.html
174889
174890        Switch HTMLPlugInImageElement from using document activation callbacks to using the ActiveDOMObject
174891        mechanism which will prevent the unnecessary (and crashy) work at Document teardown:
174892        * html/HTMLPlugInImageElement.cpp:
174893        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
174894        (WebCore::HTMLPlugInImageElement::canSuspend):
174895        (WebCore::HTMLPlugInImageElement::suspend):
174896        (WebCore::HTMLPlugInImageElement::resume):
174897        * html/HTMLPlugInImageElement.h:
174898
1748992011-12-14  Adrienne Walker  <enne@google.com>
174900
174901        [chromium] Compositor needs to set texture filtering on canvas layers
174902        https://bugs.webkit.org/show_bug.cgi?id=74530
174903
174904        Reviewed by James Robinson.
174905
174906        * platform/graphics/chromium/cc/CCCanvasLayerImpl.cpp:
174907        (WebCore::CCCanvasLayerImpl::draw):
174908
1749092011-12-14  Tony Chang  <tony@chromium.org>
174910
174911        Remove added calls to CSSStyleSelector to gain back another 2% in page cyclers
174912        https://bugs.webkit.org/show_bug.cgi?id=74537
174913
174914        Reviewed by Ojan Vafai.
174915
174916        In r102234, calls to initForRegionStyling() were added in CSSStyleSelector.
174917        There's still a 2% perf regression in chromium page cyclers, so try removing
174918        these calls.
174919
174920        * css/CSSStyleSelector.cpp:
174921        (WebCore::CSSStyleSelector::styleForElement):
174922        (WebCore::CSSStyleSelector::pseudoStyleForElement):
174923
1749242011-12-14  Jonathan Backer  <backer@chromium.org>
174925
174926        [chromium] Plumb through flag for enabling partial swap
174927        https://bugs.webkit.org/show_bug.cgi?id=74513
174928
174929        Reviewed by James Robinson.
174930
174931        * page/Settings.h:
174932        (WebCore::Settings::setPartialSwapEnabled):
174933        (WebCore::Settings::partialSwapEnabled):
174934        * platform/graphics/chromium/LayerRendererChromium.cpp:
174935        (WebCore::LayerRendererChromium::initialize):
174936        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
174937        (WebCore::CCSettings::CCSettings):
174938
1749392011-12-14  Mike Reed  <reed@google.com>
174940
174941        [skia] cache typeface in FontPlatformData
174942        https://bugs.webkit.org/show_bug.cgi?id=74415
174943
174944        Reviewed by Stephen White.
174945
174946        No new tests. Existing tests apply, this is just an optimization
174947        to avoid looking up the typeface on each drawText call.
174948
174949        * platform/graphics/chromium/FontChromiumWin.cpp:
174950        (WebCore::TransparencyAwareFontPainter::TransparencyAwareGlyphPainter::drawGlyphs):
174951        (WebCore::Font::drawGlyphs):
174952        * platform/graphics/chromium/FontPlatformDataChromiumWin.cpp:
174953        (WebCore::createTypefaceFromHFont):
174954        (WebCore::FontPlatformData::FontPlatformData):
174955        (WebCore::FontPlatformData::operator=):
174956        (WebCore::FontPlatformData::~FontPlatformData):
174957        * platform/graphics/chromium/FontPlatformDataChromiumWin.h:
174958        (WebCore::FontPlatformData::typeface):
174959        (WebCore::FontPlatformData::lfQuality):
174960        (WebCore::FontPlatformData::hash):
174961        (WebCore::FontPlatformData::operator==):
174962        * platform/graphics/skia/SkiaFontWin.cpp:
174963        (WebCore::setupPaintForFont):
174964        (WebCore::paintSkiaText):
174965        * platform/graphics/skia/SkiaFontWin.h:
174966
1749672011-12-14  Simon Fraser  <simon.fraser@apple.com>
174968
174969        Make -webkit-filter animatable
174970        https://bugs.webkit.org/show_bug.cgi?id=68476
174971
174972        Reviewed by Chris Marrin.
174973        
174974        Add -webkit-filter to the list of CSS properties that are animatable. Animate
174975        it like we do transforms, by looking for matching lists of filter functions.
174976        Each kind of filter operation has a blend() method that handles blending
174977        for that filter.
174978
174979        Test: css3/filters/filter-animation.html
174980
174981        * GNUmakefile.list.am: Add FilterOperation.cpp to the build.
174982        * Target.pri: Ditto
174983        * WebCore.gypi: Ditto
174984        * WebCore.vcproj/WebCore.vcproj: Ditto
174985        * WebCore.xcodeproj/project.pbxproj: Ditto
174986        * page/animation/AnimationBase.cpp:
174987        (WebCore::blendFunc): New blendFunc() for FilterOperations, which does per-filter blending.
174988        (WebCore::AnimationBase::ensurePropertyMap): Make PropertyWrapper for filters.
174989        (WebCore::AnimationBase::AnimationBase): Adjust initialization order.
174990        * page/animation/AnimationBase.h: Adjusted the member variable order to minimize padding.
174991        (WebCore::AnimationBase::filterFunctionListsMatch): Accessor for the flag.
174992        * page/animation/ImplicitAnimation.cpp:
174993        (WebCore::ImplicitAnimation::reset):
174994        (WebCore::ImplicitAnimation::validateTransformFunctionList): Adjust comment. The "is valid" terminology is confusing.
174995        (WebCore::ImplicitAnimation::checkForMatchingFilterFunctionLists): New method to check for matching lists
174996        of filter functions.
174997        * page/animation/ImplicitAnimation.h:
174998        * page/animation/KeyframeAnimation.cpp:
174999        (WebCore::KeyframeAnimation::KeyframeAnimation):
175000        (WebCore::KeyframeAnimation::checkForMatchingFilterFunctionLists): New method to check for matching lists
175001        of filter functions.
175002        * page/animation/KeyframeAnimation.h:
175003        * rendering/style/FilterOperation.cpp: Added.
175004        (WebCore::BasicColorMatrixFilterOperation::blend):
175005        (WebCore::BasicColorMatrixFilterOperation::passthroughAmount):
175006        (WebCore::BasicComponentTransferFilterOperation::blend):
175007        (WebCore::BasicComponentTransferFilterOperation::passthroughAmount): Different filters have
175008        different values for m_amount for the "passthrough" behavior. This method returns the appropriate value.
175009        (WebCore::GammaFilterOperation::blend):
175010        (WebCore::BlurFilterOperation::blend):
175011        (WebCore::DropShadowFilterOperation::blend):
175012        * rendering/style/FilterOperation.h:
175013        (WebCore::FilterOperation::blend):
175014        (WebCore::PassthroughFilterOperation::create): New "no-op" filter.
175015        (WebCore::PassthroughFilterOperation::operator==):
175016        (WebCore::PassthroughFilterOperation::PassthroughFilterOperation):
175017        * rendering/style/FilterOperations.cpp:
175018        (WebCore::FilterOperations::operationsMatch):
175019        * rendering/style/FilterOperations.h:
175020
1750212011-12-14  Adam Klein  <adamk@chromium.org>
175022
175023        Broaden support for mutation observation of attributes
175024        https://bugs.webkit.org/show_bug.cgi?id=74448
175025
175026        Reviewed by Ryosuke Niwa.
175027
175028        The previously-landed MutationObserver support for attributes was incomplete:
175029        it didn't support mutations related to Attr nodes (methods on Attrs,
175030        setAttributeNode/removeAttributeNode on Element, or methods on NamedNodeMap).
175031
175032        This patch adds full support of mutation observation for all these cases,
175033        and adds test cases for all these situations.
175034
175035        * dom/Attr.cpp:
175036        (WebCore::Attr::setValue): Enqueue a mutation record when Attr.value is set from JS.
175037        (WebCore::Attr::childrenChanged): Enqueue a mutation record when an Attr's value
175038        changes to due additions/removals of Text children.
175039        * dom/Element.cpp:
175040        (WebCore::Element::enqueueAttributesMutationRecordIfRequested): Previously a static,
175041        expose as part of Element's interface to allow it to be re-used by NamedNodeMap and Attr.
175042        (WebCore::Element::removeAttribute): Remove enqueue call now handled by NamedNodeMap.
175043        (WebCore::Element::setAttributeInternal): Fixup call of enqueueAttributesMutationRecordIfRequested.
175044        * dom/Element.h:
175045        * dom/NamedNodeMap.cpp:
175046        (WebCore::NamedNodeMap::setNamedItem): Enqueue a mutation record when an attribute
175047        is changed via Element.attributes.setNamedItem from JS.
175048        (WebCore::NamedNodeMap::removeNamedItem): Enqueue a mutation record when an
175049        attribute is removed, either via Element.attributes.removeNamedItem or Element.removeAttribute.
175050
1750512011-12-14  Raymond Toy  <rtoy@google.com>
175052
175053        * platform/audio/Distance.h (WebCore): 
175054
175055        Incorrect calculation for DistanceEffect linearGain
175056        https://bugs.webkit.org/show_bug.cgi?id=72871
175057
175058        Reviewed by Kenneth Russell.
175059
175060        Tests still need to be written for all distance models.  This
175061        does not add a new API and just corrects an implementation error. 
175062
175063        * platform/audio/Distance.cpp:
175064        (WebCore::DistanceEffect::linearGain): Implement correct
175065        linearGain function.  (Fix proposed by davidgaleano@hotmail.com.)
175066        * platform/audio/Distance.h: Add link to Open AL specification. 
175067        
175068
1750692011-12-14  Ilya Tikhonovsky  <loislo@chromium.org>
175070
175071        Web Inspector: consider disabling network tracking while running the CPU profile.
175072        https://bugs.webkit.org/show_bug.cgi?id=74221
175073
175074        The WebCore instrumentation on the backend affects the performance of inspected page.
175075        As the result the CPU profiler's stats data are far away from the reality.
175076        Solution: the profiler code will temporary disable the resource tracking on backend.
175077        Side effect: the resource tree gets out of sinc because it uses Network Agent's notifications for updating the resource tree.
175078        Solution: NetworkManager will report about the changes of the resource tracking state and ResourcePanel will re-fetch the resources tree.
175079
175080        Reviewed by Pavel Feldman.
175081
175082        * inspector/front-end/NetworkManager.js:
175083        (WebInspector.NetworkManager.prototype.enableResourceTracking.networkAgentEnabled):
175084        (WebInspector.NetworkManager.prototype.enableResourceTracking):
175085        (WebInspector.NetworkManager.prototype.disableResourceTracking.networkAgentDisabled):
175086        (WebInspector.NetworkManager.prototype.disableResourceTracking):
175087        (WebInspector.NetworkManager.prototype.inflightResourceForURL):
175088        * inspector/front-end/ProfileView.js:
175089        (WebInspector.CPUProfileType.prototype.buttonClicked):
175090        * inspector/front-end/ResourceTreeModel.js:
175091        (WebInspector.ResourceTreeModel):
175092        (WebInspector.ResourceTreeModel.prototype._onResourceTrackingEnabled):
175093
1750942011-12-14  Carlos Garcia Campos  <cgarcia@igalia.com>
175095
175096        [GTK] Fix PlatformScreen::screenAvailableRect when there's no view widget
175097        https://bugs.webkit.org/show_bug.cgi?id=74520
175098
175099        Reviewed by Martin Robinson.
175100
175101        Use the default screen to get the available screen area instead of
175102        just returning an empty rectangle. This is useful for WebKit2,
175103        since there's no view widget in the web process.
175104
175105        * platform/gtk/PlatformScreenGtk.cpp:
175106        (WebCore::screenAvailableRect):
175107
1751082011-12-14  Eric Carlson  <eric.carlson@apple.com>
175109
175110        Media url with fragment may not load
175111        https://bugs.webkit.org/show_bug.cgi?id=74443
175112
175113        Reviewed by Darin Adler.
175114
175115        Test: media/media-extension-with-fragment.html
175116
175117        * html/HTMLMediaElement.cpp:
175118        (WebCore::HTMLMediaElement::loadResource): Pass the KURL to MediaPlayer, let it extract a
175119            String when it needs it.
175120
175121        * platform/graphics/MediaPlayer.cpp:
175122        (WebCore::MediaPlayer::load): Take a KURL, not a String. Look for the file extension in the 
175123            last path component so we don't examine fragments and/or queries.
175124        * platform/graphics/MediaPlayer.h:
175125
1751262011-12-14  Jacky Jiang  <zhajiang@rim.com>
175127
175128        [BlackBerry] Remove some duplicate entries in Source/WebCore/PlatformBlackBerry.cmake
175129        https://bugs.webkit.org/show_bug.cgi?id=74484
175130
175131        Reviewed by Daniel Bates.
175132
175133        Trivial fix, so no new tests.
175134
175135        * PlatformBlackBerry.cmake:
175136
1751372011-12-14  Anders Carlsson  <andersca@apple.com>
175138
175139        Add back the callOnMainThread overload that takes a WTF::Function
175140        https://bugs.webkit.org/show_bug.cgi?id=74512
175141
175142        Reviewed by Darin Adler.
175143
175144        Explicitly qualify the Function enum flag, since MSVC2005 is too stupid to disambiguate
175145        the Function class template and the enum flag.
175146
175147        * bindings/js/JSDOMWindowCustom.cpp:
175148        (WebCore::JSDOMWindow::getOwnPropertySlot):
175149        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
175150        * bindings/js/JSHistoryCustom.cpp:
175151        (WebCore::JSHistory::getOwnPropertySlotDelegate):
175152        (WebCore::JSHistory::getOwnPropertyDescriptorDelegate):
175153        * bindings/js/JSLocationCustom.cpp:
175154        (WebCore::JSLocation::getOwnPropertySlotDelegate):
175155        (WebCore::JSLocation::getOwnPropertyDescriptorDelegate):
175156
1751572011-12-14  Kenneth Russell  <kbr@google.com>
175158
175159        Unreviewed, rolling out r102688.
175160        http://trac.webkit.org/changeset/102688
175161        https://bugs.webkit.org/show_bug.cgi?id=74220
175162
175163        Under the hypothesis that it might be the cause of
175164        browser_tests and ui_tests crashes on Chromium canaries --
175165        will reland if not.
175166
175167        * bindings/v8/V8Proxy.cpp:
175168        (WebCore::addMessageToConsole):
175169        (WebCore::logInfo):
175170        (WebCore::V8Proxy::reportUnsafeAccessTo):
175171        * bindings/v8/V8Proxy.h:
175172        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
175173        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
175174
1751752011-12-14  Vsevolod Vlasov  <vsevik@chromium.org>
175176
175177        Web Inspector: DatabaseTableView should escape table name.
175178        https://bugs.webkit.org/show_bug.cgi?id=74503
175179
175180        Reviewed by Pavel Feldman.
175181
175182        Test: inspector/database-table-name-excaping.html
175183
175184        * inspector/front-end/DatabaseTableView.js:
175185        (WebInspector.DatabaseTableView.prototype._escapeTableName):
175186        (WebInspector.DatabaseTableView.prototype.update):
175187
1751882011-12-14  Philippe Normand  <pnormand@igalia.com>
175189
175190        [GStreamer] padTemplate leak in webkitwebaudiosrc
175191        https://bugs.webkit.org/show_bug.cgi?id=74495
175192
175193        Reviewed by Martin Robinson.
175194
175195        Use a GstPadTemplate smart pointer in webkit_web_audio_src_init to
175196        avoid a memory leak after the ghost pad creation.
175197
175198        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp:
175199        (webkit_web_audio_src_init):
175200        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
175201        (WTF::adoptGRef):
175202        (WTF::GstPadTemplate):
175203        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
175204
1752052011-12-14  Julien Chaffraix  <jchaffraix@webkit.org>
175206
175207        Crash in RenderBox::paintBoxDecorations when documentElement has no renderer
175208        https://bugs.webkit.org/show_bug.cgi?id=64284
175209
175210        Reviewed by Ryosuke Niwa.
175211
175212        Test: fast/dynamic/crash-paint-no-documentElement-renderer.html
175213
175214        * rendering/RenderBox.cpp:
175215        (WebCore::RenderBox::paintBackground): Check the documentElement's
175216        renderer before using it which matches what RenderView does.
175217
1752182011-12-14  Tom Sepez  <tsepez@chromium.org>
175219
175220        DocumentLoader should ref its mainResourceLoader.
175221        https://bugs.webkit.org/show_bug.cgi?id=74424
175222
175223        Reviewed by Adam Barth.
175224
175225        Tests: platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-allowed.html
175226               platform/chromium/http/tests/security/mixedContent/insecure-iframe-in-main-frame-blocked.html
175227
175228        * loader/DocumentLoader.cpp:
175229        (WebCore::DocumentLoader::startLoadingMainResource):
175230        * loader/MainResourceLoader.cpp:
175231        (WebCore::MainResourceLoader::loadNow):
175232
1752332011-12-14  Stephen White  <senorblanco@chromium.org>
175234
175235        CSS Filters should support GPU acceleration
175236        https://bugs.webkit.org/show_bug.cgi?id=74441
175237
175238        Reviewed by Darin Adler.
175239
175240        Will be covered by existing CSS filters tests, when run in GPU mode.
175241
175242        * rendering/FilterEffectRenderer.cpp:
175243        (WebCore::FilterEffectRenderer::prepare):
175244        * rendering/RenderLayer.cpp:
175245        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
175246
1752472011-12-14  Brian Salomon  <bsalomon@google.com>
175248
175249        [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
175250        https://bugs.webkit.org/show_bug.cgi?id=73953
175251
175252        Reviewed by Stephen White.
175253
175254        Tested by existing canvas2d layout tests.
175255
175256        * platform/graphics/skia/ImageBufferSkia.cpp:
175257        (WebCore::putImageData):
175258        (WebCore::ImageBuffer::putUnmultipliedImageData):
175259        (WebCore::ImageBuffer::putPremultipliedImageData):
175260
1752612011-12-14  Mary Wu  <mary.wu@torchmobile.com.cn>
175262
175263        Remove SharedBufferBlackBerry.cpp from WebCore/platform/blackberry
175264        https://bugs.webkit.org/show_bug.cgi?id=74488
175265
175266        Reviewed by Rob Buis.
175267
175268        Remove dead code, no new tests.
175269
175270        * platform/blackberry/SharedBufferBlackBerry.cpp: Removed.
175271
1752722011-12-14  Kentaro Hara  <haraken@chromium.org>
175273
175274        Use [Supplemental] IDL in WebSocket
175275        https://bugs.webkit.org/show_bug.cgi?id=74160
175276
175277        Reviewed by Adam Barth.
175278
175279        By using the [Supplemental] IDL, this patch moves declarations of WebSocket
175280        attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
175281        which helps make WebSocket a self-contained module.
175282
175283        No new tests, no change in behavior.
175284        Confirm that http/tests/websocket/* pass.
175285
175286        * WebCore.gypi: Added DOMWindowWebSocket.idl.
175287        * page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
175288        * websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.
175289
1752902011-12-14  Pierre Rossi  <pierre.rossi@gmail.com>
175291
175292        Unreviewed fix. Broke qt minimal release compilation.
175293
175294        * platform/qt/RenderThemeQtMobile.cpp:
175295
1752962011-12-14  Allan Sandfeld Jensen  <allan.jensen@nokia.com>
175297
175298        Add different salt to different types of selectors. So the CSS fast
175299        path can tell the different between tags and class attributes with
175300        otherwise identical values.
175301        https://bugs.webkit.org/show_bug.cgi?id=74284
175302
175303        Reviewed by Antti Koivisto.
175304
175305        * css/SelectorChecker.cpp:
175306        (WebCore::collectElementIdentifierHashes):
175307        (WebCore::collectDescendantSelectorIdentifierHashes):
175308        * css/SelectorChecker.h:
175309
1753102011-12-14  Pierre Rossi  <pierre.rossi@gmail.com>
175311
175312        [Qt] Mobile theme could use a little refresh
175313        https://bugs.webkit.org/show_bug.cgi?id=74293
175314
175315        The look and feel of the "mobile theme" we're
175316        using in QtWebKit dates back to the maemo 5 days.
175317        This is an attempt at making it look less out of
175318        place, and also support progress and range.
175319
175320        Reviewed by Kenneth Rohde Christiansen.
175321
175322        No new tests, this is still not the default theme
175323        for tests.
175324
175325        * DerivedSources.pri:
175326        * css/mobileThemeQt.css: Added.
175327        (input[type="submit"], select):
175328        (input[type="submit"]:disabled, input[type="submit"]:disabled:active, select:disabled, input[type="text"]:disabled):
175329        (input[type="submit"]:active):
175330        * platform/qt/RenderThemeQt.cpp:
175331        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
175332        (WebCore::StylePainter::StylePainter):
175333        (WebCore::StylePainter::init):
175334        (WebCore::StylePainter::~StylePainter):
175335        * platform/qt/RenderThemeQt.h:
175336        * platform/qt/RenderThemeQtMobile.cpp:
175337        (WebCore::drawRectangularControlBackground):
175338        (WebCore::shrinkRectToSquare):
175339        (WebCore::StylePainterMobile::StylePainterMobile):
175340        (WebCore::StylePainterMobile::~StylePainterMobile):
175341        (WebCore::StylePainterMobile::drawCheckableBackground):
175342        (WebCore::StylePainterMobile::sizeForPainterScale):
175343        (WebCore::StylePainterMobile::drawChecker):
175344        (WebCore::StylePainterMobile::findCheckBox):
175345        (WebCore::StylePainterMobile::drawRadio):
175346        (WebCore::StylePainterMobile::findRadio):
175347        (WebCore::StylePainterMobile::drawMultipleComboButton):
175348        (WebCore::StylePainterMobile::drawSimpleComboButton):
175349        (WebCore::StylePainterMobile::getButtonImageSize):
175350        (WebCore::StylePainterMobile::findComboButton):
175351        (WebCore::StylePainterMobile::drawLineEdit):
175352        (WebCore::StylePainterMobile::drawCheckBox):
175353        (WebCore::StylePainterMobile::drawRadioButton):
175354        (WebCore::StylePainterMobile::drawPushButton):
175355        (WebCore::StylePainterMobile::drawComboBox):
175356        (WebCore::StylePainterMobile::drawProgress):
175357        (WebCore::StylePainterMobile::drawSliderThumb):
175358        (WebCore::RenderThemeQtMobile::paintButton):
175359        (WebCore::RenderThemeQtMobile::paintTextField):
175360        (WebCore::RenderThemeQtMobile::setPopupPadding):
175361        (WebCore::RenderThemeQtMobile::paintMenuList):
175362        (WebCore::RenderThemeQtMobile::paintMenuListButton):
175363        (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
175364        (WebCore::RenderThemeQtMobile::paintProgressBar):
175365        (WebCore::RenderThemeQtMobile::paintSliderTrack):
175366        (WebCore::RenderThemeQtMobile::paintSliderThumb):
175367        (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
175368        * platform/qt/RenderThemeQtMobile.h:
175369
1753702011-12-14  Rakesh KN  <rakesh.kn@motorola.com>
175371
175372        [Non-Mac] Change event should be fired when changing option by using keyboard.
175373        https://bugs.webkit.org/show_bug.cgi?id=74384
175374
175375        Reviewed by Kent Tamura.
175376
175377        Fire onchange event when option is changed using up/down/right/left/pageup/pagedown/home/end keys.
175378
175379        Test: fast/forms/select/menulist-onchange-fired-with-key-up-down.html
175380
175381        * html/HTMLSelectElement.cpp:
175382        (WebCore::HTMLSelectElement::menuListDefaultEventHandler):
175383        Setting the DispatchChangeEvent selection option flag when the option is selected using
175384        up/down/right/left/pageup/pagedown/home/end keys.
175385
1753862011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
175387
175388        Web Inspector: TreeOutline's is broken when li elements have padding-left different from 14px.
175389        https://bugs.webkit.org/show_bug.cgi?id=74445
175390
175391        Reviewed by Pavel Feldman.
175392
175393        * inspector/front-end/treeoutline.js:
175394        (TreeElement.prototype.isEventWithinDisclosureTriangle):
175395
1753962011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
175397
175398        Web Inspector: [Regression] Scripts panel debug sidebar toolbar should not be scrolled out of the screen.
175399        https://bugs.webkit.org/show_bug.cgi?id=74447
175400
175401        Reviewed by Pavel Feldman.
175402
175403        * inspector/front-end/ScriptsPanel.js:
175404        (WebInspector.ScriptsPanel.prototype.wasShown):
175405        * inspector/front-end/scriptsPanel.css:
175406        (#scripts-debug-toolbar):
175407        (#scripts-debug-sidebar-contents):
175408
1754092011-12-14  Alexander Færøy  <alexander.faeroy@nokia.com>
175410
175411        [Qt] DeviceOrientationClientMockQt should be removed in favor of DeviceOrientationClientMock
175412        https://bugs.webkit.org/show_bug.cgi?id=74417
175413
175414        Reviewed by Simon Hausmann.
175415
175416        Based on original patch by Kenneth Christiansen.
175417
175418        Already covered by current tests.
175419
175420        * dom/DeviceOrientationController.h:
175421        (WebCore::DeviceOrientationController::client):
175422
1754232011-12-14  Jacky Jiang  <zhajiang@rim.com>
175424
175425        [BlackBerry] Switch to libjpeg for decoding
175426        https://bugs.webkit.org/show_bug.cgi?id=74475
175427
175428        Reviewed by Daniel Bates.
175429
175430        Switch to cross platform JPEG image decoder for decoding as this keeps
175431        us inline with other ports and less to maintain.
175432
175433        * PlatformBlackBerry.cmake:
175434
1754352011-12-03  Philippe Normand  <pnormand@igalia.com>
175436
175437        [GTK] Bad text rendering since r101343
175438        https://bugs.webkit.org/show_bug.cgi?id=73744
175439
175440        Reviewed by Martin Robinson.
175441
175442        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
175443        (WebCore::setCairoFontOptionsFromFontConfigPattern): Keep Cairo
175444        hint metrics unchanged for better visual font rendering results.
175445
1754462011-12-13  Hajime Morrita  <morrita@chromium.org>
175447
175448        Unreviewed attempt for fixing windows build.
175449
175450        - Included <wtf/MathExtras.h> which defined portable version of lround().
175451        - Add some static_cast<> to suppress warnings.
175452
175453        * platform/animation/AnimationUtilities.h:
175454        (WebCore::blend):
175455
1754562011-12-13  Wei Charles  <charles.wei@torchmobile.com.cn>
175457
175458        [BlackBerry] Add the new plugin files into the build system.
175459        https://bugs.webkit.org/show_bug.cgi?id=74483
175460
175461        Reviewed by Daniel Bates.
175462
175463        No new tests, just add new files to the build system.
175464
175465        * PlatformBlackBerry.cmake:
175466
1754672011-12-13  Yosifumi Inoue  <yosin@chromium.org>
175468
175469        [Forms] Default selection of select(menulist) should not be disabled
175470        https://bugs.webkit.org/show_bug.cgi?id=74270
175471
175472        Reviewed by Kent Tamura.
175473
175474        This patch changes default selection of select(menulist) element to
175475          1. Selected option element. If there are multiple options which have
175476             selected state, we pick the largest index option up. (same as current)
175477          2. Non-disabled option element (new behavior)
175478          3. The first option if all options are disabled. (new behavior)
175479
175480        Tests: fast/forms/select/menulist-disabled-option-expected.html
175481               fast/forms/select/menulist-disabled-option.html
175482
175483        * html/HTMLSelectElement.cpp:
175484        (WebCore::HTMLSelectElement::recalcListItems): Implement new logic for selection.
175485
1754862011-12-13  Simon Fraser  <simon.fraser@apple.com>
175487
175488        Share blend progress code
175489        https://bugs.webkit.org/show_bug.cgi?id=74464
175490
175491        Reviewed by Dean Jackson.
175492        
175493        Lots of places in the code had copies of the animation interpolation
175494        logic "from + (to - from) * progress", in various forms.
175495        
175496        Coalesce all these into calls to a few new inline functions in a new
175497        AnimationUtilities.h header. Color and Length get their own blend fuctions
175498        in their respective headers.
175499
175500        Covered by existing tests.
175501
175502        * GNUmakefile.list.am:
175503        * Target.pri:
175504        * WebCore.gypi:
175505        * WebCore.vcproj/WebCore.vcproj:
175506        * WebCore.xcodeproj/project.pbxproj:
175507        * css/CSSGradientValue.cpp:
175508        * page/animation/AnimationBase.cpp:
175509        (WebCore::blendFunc):
175510        * platform/Length.h:
175511        (WebCore::Length::blend):
175512        * platform/animation/AnimationUtilities.h: Added.
175513        (WebCore::blend):
175514        * platform/graphics/Color.h:
175515        (WebCore::blend):
175516        * platform/graphics/transforms/PerspectiveTransformOperation.cpp:
175517        (WebCore::PerspectiveTransformOperation::blend):
175518        * platform/graphics/transforms/RotateTransformOperation.cpp:
175519        (WebCore::RotateTransformOperation::blend):
175520        * platform/graphics/transforms/ScaleTransformOperation.cpp:
175521        (WebCore::ScaleTransformOperation::blend):
175522        * platform/graphics/transforms/SkewTransformOperation.cpp:
175523        (WebCore::SkewTransformOperation::blend):
175524        * platform/graphics/transforms/TranslateTransformOperation.cpp:
175525        (WebCore::TranslateTransformOperation::blend):
175526        * svg/SVGLength.h:
175527        (WebCore::SVGLength::blend):
175528        * svg/SVGPathBlender.cpp:
175529        (WebCore::blendFloatPoint):
175530        (WebCore::SVGPathBlender::blendAnimatedDimensonalFloat):
175531        (WebCore::SVGPathBlender::blendArcToSegment):
175532
1755332011-12-13  Mary Wu  <mary.wu@torchmobile.com.cn>
175534
175535        Upstream 3 files into WebCore/platform/blackberry
175536        ClipboardBlackBerry.cpp/h, PasteboardBlackBerry.cpp
175537        https://bugs.webkit.org/show_bug.cgi?id=74381
175538
175539        Reviewed by Rob Buis.
175540
175541        Main contributor:
175542        Mike Fenton <mifenton@rim.com>
175543
175544        Initial upstream, no new tests.
175545
175546        * platform/blackberry/ClipboardBlackBerry.cpp: Added.
175547        * platform/blackberry/ClipboardBlackBerry.h: Added.
175548        * platform/blackberry/PasteboardBlackBerry.cpp: Added.
175549
1755502011-12-13  James Robinson  <jamesr@chromium.org>
175551
175552        Unreviewed, rolling out r102726.
175553        http://trac.webkit.org/changeset/102726
175554        https://bugs.webkit.org/show_bug.cgi?id=74154
175555
175556        Does not compile on clang
175557
175558        * platform/graphics/chromium/TiledLayerChromium.cpp:
175559        (WebCore::UpdatableTile::UpdatableTile):
175560        (WebCore::TiledLayerChromium::createTile):
175561        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
175562        (WebCore::CCLayerTilingData::addTile):
175563        (WebCore::CCLayerTilingData::takeTile):
175564        (WebCore::CCLayerTilingData::tileAt):
175565        * platform/graphics/chromium/cc/CCLayerTilingData.h:
175566        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
175567        (WebCore::DrawableTile::DrawableTile):
175568        (WebCore::CCTiledLayerImpl::createTile):
175569
1755702011-12-13  Hajime Morrita  <morrita@chromium.org>
175571
175572        Unreviewed, rolling out r102732.
175573        http://trac.webkit.org/changeset/102732
175574
175575        The last fix makes no sense...
175576
175577        * platform/graphics/chromium/cc/CCLayerTilingData.h:
175578
1755792011-12-13  Hajime Morrita  <morrita@chromium.org>
175580
175581        HTML details summary not working with form controls
175582        https://bugs.webkit.org/show_bug.cgi?id=74398
175583
175584        Reviewed by Kent Tamura.
175585
175586        Allowed HTMLSummaryElement to skip the toggle logic if the event
175587        target is a form control.
175588
175589        Test: fast/html/details-click-controls.html
175590
175591        * html/HTMLSummaryElement.cpp:
175592        (WebCore::isClickableControl):
175593        (WebCore::HTMLSummaryElement::defaultEventHandler):
175594
1755952011-12-13  James Wei <james.wei@intel.com> 
175596
175597        Optimize to not use pow() in the inner loop in AudioParamTimeline
175598        https://bugs.webkit.org/show_bug.cgi?id=73530
175599
175600        Reviewed by Kenneth Russell.
175601
175602        No new tests.
175603
175604        * webaudio/AudioParamTimeline.cpp:
175605        (WebCore:AudioParamTimeline:valuesForTimeRangeImpl):
175606
1756072011-12-13  Hajime Morrita  <morrita@chromium.org>
175608
175609        Unreviewed Chromium-Mac build fix trial.
175610
175611        * platform/graphics/chromium/cc/CCLayerTilingData.h:
175612
1756132011-12-13  David Reveman  <reveman@chromium.org>
175614
175615        [Chromium] Initialize Settings::m_perTileDrawingEnabled properly.
175616        https://bugs.webkit.org/show_bug.cgi?id=74476
175617
175618        Reviewed by James Robinson.
175619
175620        Add m_perTileDrawingEnabled(false) to WebCore::Settings initialize list.
175621
175622        No new tests.
175623
175624        * page/Settings.cpp:
175625        (WebCore::Settings::Settings):
175626
1756272011-12-13  Anders Carlsson  <andersca@apple.com>
175628
175629        Add a very bare-bones implementation of bind and Function to WTF
175630        https://bugs.webkit.org/show_bug.cgi?id=74462
175631
175632        Reviewed by Sam Weinig.
175633
175634        Add a forwarding header for Functional.h.
175635
175636        * ForwardingHeaders/wtf/Functional.h: Added.
175637
1756382011-12-13  Adrienne Walker  <enne@google.com>
175639
175640        [chromium] Use HashMap<..., OwnPtr<Tile>> for compositor tilemap
175641        https://bugs.webkit.org/show_bug.cgi?id=74154
175642
175643        Reviewed by James Robinson.
175644
175645        After r102410 landed, it's now possible to properly use an OwnPtr to
175646        store tiles rather than hackily use a RefPtr.
175647
175648        Covered by the compositing/ layout tests.
175649
175650        * platform/graphics/chromium/TiledLayerChromium.cpp:
175651        (WebCore::UpdatableTile::create):
175652        (WebCore::UpdatableTile::UpdatableTile):
175653        (WebCore::TiledLayerChromium::createTile):
175654        * platform/graphics/chromium/cc/CCLayerTilingData.cpp:
175655        (WebCore::CCLayerTilingData::addTile):
175656        (WebCore::CCLayerTilingData::takeTile):
175657        (WebCore::CCLayerTilingData::tileAt):
175658        * platform/graphics/chromium/cc/CCLayerTilingData.h:
175659        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
175660        (WebCore::DrawableTile::create):
175661        (WebCore::DrawableTile::DrawableTile):
175662        (WebCore::CCTiledLayerImpl::createTile):
175663
1756642011-12-13  Dmitry Lomov  <dslomov@google.com>
175665
175666        https://bugs.webkit.org/show_bug.cgi?id=73691
175667        [JSC] Implement correct order of window.postMessage arguments.
175668        This change supports a new signature of windowPostMessage:
175669          postMessage(message, targetOrigin[, transferrables])
175670        as well as the legacy webkit-proprietary:
175671          postMessage(message, [transferrables,] targetOrigin)
175672        The latter is only supported for cases when targetOrigin is a String.
175673
175674        Reviewed by David Levin.
175675
175676        * bindings/js/JSDOMWindowCustom.cpp:
175677        (WebCore::handlePostMessage):
175678        * page/DOMWindow.idl:
175679
1756802011-12-13  Rafael Weinstein  <rafaelw@chromium.org>
175681
175682        [MutationObservers] Avoid allocations if no observers are present
175683        https://bugs.webkit.org/show_bug.cgi?id=74423
175684
175685        Reviewed by Ojan Vafai.
175686
175687        This patch adds Node::mayHaveMutationObserversOfType which can be used to check
175688        if there are any observers at all which could receive a give type of mutation.
175689        MutationObserverInterestGroup uses this to possibly exit early (returning
175690        null) if no observers are present.
175691
175692        No tests needed. This patch is just a refactor.
175693
175694        * css/CSSMutableStyleDeclaration.cpp:
175695        * dom/CharacterData.cpp:
175696        (WebCore::CharacterData::dispatchModifiedEvent):
175697        * dom/ChildListMutationScope.cpp:
175698        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
175699        * dom/Element.cpp:
175700        (WebCore::enqueueAttributesMutationRecord):
175701        * dom/Node.cpp:
175702        (WebCore::Node::mayHaveMutationObserversOfType):
175703        * dom/Node.h:
175704        * dom/WebKitMutationObserver.cpp:
175705        (WebCore::MutationObserverInterestGroup::createIfNeeded):
175706        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
175707        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
175708        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
175709        (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
175710        (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
175711        * dom/WebKitMutationObserver.h:
175712
1757132011-12-13  Robin Dunn  <robin@alldunn.com>
175714
175715        Don't make the bitmap transparent when using theme drawing
175716        calls that don't support transparent bitmaps.
175717        https://bugs.webkit.org/show_bug.cgi?id=74319
175718
175719        Reviewed by Kevin Ollivier.
175720
175721        * platform/wx/LocalDC.h:
175722        (WebCore::LocalDC::LocalDC):
175723        * platform/wx/RenderThemeWx.cpp:
175724        (WebCore::RenderThemeWx::paintButton):
175725
1757262011-12-13  Tony Chang  <tony@chromium.org>
175727
175728        Inline all of initForRegionStyling except for the rarely used part for non-null regions.
175729        https://bugs.webkit.org/show_bug.cgi?id=74435
175730
175731        Reviewed by Andreas Kling.
175732
175733        * css/CSSStyleSelector.cpp:
175734        (WebCore::CSSStyleSelector::initForRegionStyling): Inline setting of m_regionForStyling
175735        (WebCore::CSSStyleSelector::initRegionRules): Move code that only
175736        applies to CSSRegions into non-inlined code.
175737        * css/CSSStyleSelector.h:
175738
1757392011-12-13  James Simonsen  <simonjam@chromium.org>
175740
175741        Unreviewed, Chromium Mac build fix.
175742
175743        * page/PerformanceTiming.h:
175744
1757452011-12-13  Adam Klein  <adamk@chromium.org>
175746
175747        Update variable names in NamedNodeMap methods to match WebKit style
175748        https://bugs.webkit.org/show_bug.cgi?id=74437
175749
175750        Reviewed by Ojan Vafai.
175751
175752        While reading these methods in preparation for a refactor, I found
175753        them hard to understand due to short or confusing variable names.
175754        I think the new names are much clearer, and match WebKit style.
175755
175756        * dom/NamedNodeMap.cpp:
175757        (WebCore::NamedNodeMap::setNamedItem):
175758        (WebCore::NamedNodeMap::removeNamedItem):
175759
1757602011-12-13  Xingnan Wang  <xingnan.wang@intel.com>
175761
175762        Implement a function of vector multiply with SSE2 optimization in VectorMath.cpp.
175763        https://bugs.webkit.org/show_bug.cgi?id=74048
175764
175765        Reviewed by Benjamin Poulain.
175766
175767        The vmul is a function for an element-by-element multiply of two float vectors and we 
175768        get about 3.4x performance improvement with SSE2 optimization compared with the common 
175769        multiply.
175770
175771        Use vmul in AudioBus::copyWithSampleAccurateGainValuesFrom().
175772
175773        * platform/audio/AudioBus.cpp:
175774        (WebCore::AudioBus::copyWithSampleAccurateGainValuesFrom):
175775        * platform/audio/VectorMath.cpp:
175776        (WebCore::VectorMath::vmul):
175777        * platform/audio/VectorMath.h:
175778
1757792011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
175780
175781        Web Inspector: [Regression] ResourceHeadersView sections should be expanded by default.
175782        https://bugs.webkit.org/show_bug.cgi?id=74434
175783
175784        Reviewed by Pavel Feldman.
175785
175786        * inspector/front-end/treeoutline.js:
175787
1757882011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
175789
175790        Web Inspector: Network item view does not correctly decode "+" in request parameters.
175791        https://bugs.webkit.org/show_bug.cgi?id=74422
175792
175793        Reviewed by Pavel Feldman.
175794
175795        Test: http/tests/inspector/network/request-parameters-decoding.html
175796
175797        * inspector/front-end/ResourceHeadersView.js:
175798        (WebInspector.ResourceHeadersView.prototype._formatParameter):
175799        (WebInspector.ResourceHeadersView.prototype._refreshParms):
175800
1758012011-12-13  Alok Priyadarshi  <alokp@chromium.org>
175802
175803        [chromium] compositing/masks layout tests fail with accelerated drawing
175804        https://bugs.webkit.org/show_bug.cgi?id=72760
175805
175806        Reviewed by Stephen White.
175807
175808        Accelerated drawing path used to render bottom-up upright textures, which was opposite of what the software path rendered.
175809        The textures produced by the accelerated path was flipped along Y in the shader to make it upside down as expected by the compositor.
175810        This strategy does not work in case of masks which do not go through a shader and hence do not get flipped,
175811        which results in a case where texture in the render surface is top-down, while that in the mask is bottom-up.
175812        This patch makes accelerated drawing path render textures in the same orientation as the software path.
175813        LayerTextureUpdater::Orientation was added to support the difference in texture orientation between software and accelerated paths.
175814        Now that both paths produce textures in the same orientation, there is no need for it.
175815
175816        No new tests needed. Covered by existing compositing tests.
175817
175818        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h:
175819        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h:
175820        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp:
175821        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
175822        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h:
175823        * platform/graphics/chromium/ImageLayerChromium.cpp:
175824        * platform/graphics/chromium/LayerTextureUpdater.h:
175825        * platform/graphics/chromium/TiledLayerChromium.cpp:
175826        (WebCore::TiledLayerChromium::TiledLayerChromium):
175827        (WebCore::TiledLayerChromium::setLayerTreeHost):
175828        (WebCore::TiledLayerChromium::pushPropertiesTo):
175829        * platform/graphics/chromium/TiledLayerChromium.h:
175830        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
175831        (WebCore::CCTiledLayerImpl::drawTiles):
175832        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
175833        (WebCore::CCTiledLayerImpl::setSkipsDraw):
175834
1758352011-12-09  Zhenyao Mo  <zmo@google.com>
175836
175837        Implement GLES2 CheckFramebufferStatus() behavior
175838        https://bugs.webkit.org/show_bug.cgi?id=74228
175839
175840        Reviewed by Kenneth Russell.
175841
175842        * html/canvas/WebGLFramebuffer.cpp:
175843        (WebCore::WebGLFramebuffer::getColorBufferWidth): Add ColorBuffer to the function name - this is more accurate.
175844        (WebCore::WebGLFramebuffer::getColorBufferHeight): Ditto.
175845        (WebCore::WebGLFramebuffer::checkStatus): Implement full semantics of GLES2 glCheckFramebufferStatus().
175846        (WebCore::WebGLFramebuffer::onAccess): Call checkStatus().
175847        * html/canvas/WebGLFramebuffer.h:
175848        * html/canvas/WebGLRenderingContext.cpp:
175849        (WebCore::WebGLRenderingContext::checkFramebufferStatus): Call checkStatus().
175850        (WebCore::WebGLRenderingContext::getFramebufferAttachmentParameter): No longer check framebuffer status.
175851        (WebCore::WebGLRenderingContext::getBoundFramebufferWidth): Call getColorBufferWidth.
175852        (WebCore::WebGLRenderingContext::getBoundFramebufferHeight): Call getColorBufferHeight.
175853
1758542011-12-13  James Simonsen  <simonjam@chromium.org>
175855
175856        [Navigation Timing] Use monotonicallyIncreasingTime() instead of currentTime()
175857        https://bugs.webkit.org/show_bug.cgi?id=58354
175858
175859        Reviewed by Pavel Feldman.
175860
175861        No new tests. Relies on existing webtiming-* tests.
175862
175863        * CMakeLists.txt:
175864        * GNUmakefile.list.am:
175865        * WebCore.gypi:
175866        * WebCore.pro:
175867        * WebCore.vcproj/WebCore.vcproj:
175868        * WebCore.xcodeproj/project.pbxproj:
175869        * dom/Document.cpp: Use monotonic times.
175870        (WebCore::Document::setReadyState):
175871        (WebCore::Document::finishedParsing):
175872        * inspector/InspectorInstrumentation.cpp:
175873        (WebCore::InspectorInstrumentation::didFinishLoadingImpl): Convert monotonicFinishTime to wall time if needed.
175874        * inspector/InspectorResourceAgent.cpp:
175875        (WebCore::buildObjectForTiming): Convert monotonic requestTime to wall time.
175876        (WebCore::buildObjectForResourceResponse): Plumbing for above.
175877        (WebCore::buildObjectForCachedResource): Ditto.
175878        (WebCore::InspectorResourceAgent::willSendRequest): Ditto.
175879        (WebCore::InspectorResourceAgent::didReceiveResponse): Ditto.
175880        (WebCore::InspectorResourceAgent::didLoadResourceFromMemoryCache): Ditto.
175881        * loader/DocumentLoadTiming.cpp: Added.
175882        (WebCore::DocumentLoadTiming::DocumentLoadTiming):
175883        (WebCore::DocumentLoadTiming::setNavigationStart): Determine reference time and root reference time.
175884        (WebCore::DocumentLoadTiming::addRedirect): Moved logic from MainResourceLoader.
175885        (WebCore::DocumentLoadTiming::convertMonotonicTimeToDocumentTime): Helper to compute wall time from monotonic time.
175886        * loader/DocumentLoadTiming.h: Turned into class. Made times monotonic.
175887        (WebCore::DocumentLoadTiming::setUnloadEventStart):
175888        (WebCore::DocumentLoadTiming::setUnloadEventEnd):
175889        (WebCore::DocumentLoadTiming::setRedirectStart):
175890        (WebCore::DocumentLoadTiming::setRedirectEnd):
175891        (WebCore::DocumentLoadTiming::setFetchStart):
175892        (WebCore::DocumentLoadTiming::setResponseEnd):
175893        (WebCore::DocumentLoadTiming::setLoadEventStart):
175894        (WebCore::DocumentLoadTiming::setLoadEventEnd):
175895        (WebCore::DocumentLoadTiming::setHasSameOriginAsPreviousDocument):
175896        (WebCore::DocumentLoadTiming::navigationStart):
175897        (WebCore::DocumentLoadTiming::unloadEventStart):
175898        (WebCore::DocumentLoadTiming::unloadEventEnd):
175899        (WebCore::DocumentLoadTiming::redirectStart):
175900        (WebCore::DocumentLoadTiming::redirectEnd):
175901        (WebCore::DocumentLoadTiming::redirectCount):
175902        (WebCore::DocumentLoadTiming::fetchStart):
175903        (WebCore::DocumentLoadTiming::responseEnd):
175904        (WebCore::DocumentLoadTiming::loadEventStart):
175905        (WebCore::DocumentLoadTiming::loadEventEnd):
175906        (WebCore::DocumentLoadTiming::hasCrossOriginRedirect):
175907        (WebCore::DocumentLoadTiming::hasSameOriginAsPreviousDocument):
175908        * loader/FrameLoader.cpp:
175909        (WebCore::FrameLoader::stopLoading):
175910        (WebCore::FrameLoader::commitProvisionalLoad):
175911        (WebCore::FrameLoader::continueLoadAfterWillSubmitForm):
175912        (WebCore::FrameLoader::loadProvisionalItemFromCachedPage):
175913        * loader/MainResourceLoader.cpp:
175914        (WebCore::MainResourceLoader::continueAfterNavigationPolicy):
175915        (WebCore::MainResourceLoader::willSendRequest): Moved logic to DocumentLoadTiming.
175916        (WebCore::MainResourceLoader::didReceiveData): Use monotonic time.
175917        (WebCore::MainResourceLoader::didFinishLoading): Ditto.
175918        (WebCore::MainResourceLoader::load):
175919        * page/DOMWindow.cpp:
175920        (WebCore::DOMWindow::dispatchLoadEvent):
175921        * page/DOMWindow.h: Removed dispatchTimedEvent. It doesn't really help in the new model.
175922        * page/PerformanceNavigation.cpp:
175923        (WebCore::PerformanceNavigation::redirectCount):
175924        * page/PerformanceTiming.cpp: Removed skew correction code. This should never happen now.
175925        (WebCore::PerformanceTiming::navigationStart):
175926        (WebCore::PerformanceTiming::unloadEventStart):
175927        (WebCore::PerformanceTiming::unloadEventEnd):
175928        (WebCore::PerformanceTiming::redirectStart):
175929        (WebCore::PerformanceTiming::redirectEnd):
175930        (WebCore::PerformanceTiming::fetchStart):
175931        (WebCore::PerformanceTiming::responseEnd):
175932        (WebCore::PerformanceTiming::domLoading):
175933        (WebCore::PerformanceTiming::domInteractive):
175934        (WebCore::PerformanceTiming::domContentLoadedEventStart):
175935        (WebCore::PerformanceTiming::domContentLoadedEventEnd):
175936        (WebCore::PerformanceTiming::domComplete):
175937        (WebCore::PerformanceTiming::loadEventStart):
175938        (WebCore::PerformanceTiming::loadEventEnd):
175939        (WebCore::PerformanceTiming::resourceLoadTimeRelativeToAbsolute): Used for ResourceLoadTiming.
175940        (WebCore::PerformanceTiming::monotonicTimeToIntegerMilliseconds): Used for DocumentTiming and DocumentLoadTiming.
175941        * page/PerformanceTiming.h:
175942        * platform/network/ResourceLoadTiming.cpp:
175943        (WebCore::ResourceLoadTiming::convertResourceLoadTimeToDocumentTime):
175944        * platform/network/ResourceLoadTiming.h: Added helper function to convert to wall times. Added instructions for use.
175945
1759462011-12-13  Adam Klein  <adamk@chromium.org>
175947
175948        Reduce code duplication in Element::setAttribute methods
175949        https://bugs.webkit.org/show_bug.cgi?id=74425
175950
175951        Reviewed by Ryosuke Niwa.
175952
175953        Two overloads of Element::setAttribute share almost all their code,
175954        including tricky logic around updating the appropriate Attribute and
175955        Attr objects and notifying the Inspector and MutationObservers.
175956
175957        This patch puts the common logic in a new setAttributeInternal method
175958        which is called by the other two.
175959
175960        No new tests, refactoring only.
175961
175962        * dom/Element.cpp:
175963        (WebCore::Element::setAttribute):
175964        (WebCore::Element::setAttributeInternal):
175965        * dom/Element.h:
175966
1759672011-12-13  Brady Eidson  <beidson@apple.com>
175968
175969        <http://webkit.org/b/74420> Disable deprecation warnings around more code where we 
175970        cannot easily switch away from the deprecated APIs.
175971
175972        Reviewed by Mark Rowe.
175973
175974        * bindings/objc/DOMInternal.mm:
175975        * bridge/objc/objc_instance.mm:
175976
1759772011-12-12  Robert Hogan  <robert@webkit.org>
175978
175979        CSS 2.1 failure: eof-002.htm fails
175980        https://bugs.webkit.org/show_bug.cgi?id=74309
175981
175982        Reviewed by Dean Jackson.
175983
175984        Test: css2.1/20110323/eof-002-expected.html
175985
175986        * css/CSSGrammar.y: Treat EOF during a function expression with an open parenthesis as a close parenthesis.
175987
1759882011-12-13  Adam Klein  <adamk@chromium.org>
175989
175990        V8Proxy cleanup: replace custom logging methods with standard WebCore calls
175991        https://bugs.webkit.org/show_bug.cgi?id=74220
175992
175993        Reviewed by Adam Barth.
175994
175995        * bindings/v8/V8Proxy.cpp:
175996        (WebCore::V8Proxy::reportUnsafeAccessTo):
175997        * bindings/v8/V8Proxy.h:
175998        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
175999        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
176000
1760012011-12-13  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
176002
176003        [Qt] Get rid of layering violations in includes
176004
176005        WebKit/qt/API and WebKit/qt/WebCoreSupport should not be included
176006        in the webcore.prf, but rather in each target that specificly needs
176007        headers in these location. We used to include them directly in webcore
176008        since we had layering violations between WebCore and WebKit, but now
176009        that they are gone there's no reason to do that.
176010
176011        Reviewed by Simon Hausmann.
176012
176013        * bridge/qt/qt_instance.cpp:
176014        * platform/graphics/qt/GraphicsContext3DQt.cpp:
176015        * platform/graphics/qt/ImageQt.cpp:
176016        * platform/network/qt/QNetworkReplyHandler.cpp:
176017        * platform/network/qt/ResourceHandleQt.cpp:
176018        * platform/qt/CookieJarQt.cpp:
176019        * platform/qt/RenderThemeQStyle.cpp:
176020        * platform/qt/RenderThemeQt.cpp:
176021
1760222011-12-13  Vsevolod Vlasov  <vsevik@chromium.org>
176023
176024        Web Inspector: Add scripts navigator sidebar to scripts panel.
176025        https://bugs.webkit.org/show_bug.cgi?id=73086
176026
176027        Reviewed by Pavel Feldman.
176028
176029        * WebCore.gypi:
176030        * WebCore.vcproj/WebCore.vcproj:
176031        * inspector/compile-front-end.sh:
176032        * inspector/front-end/Images/domain.png: Added.
176033        * inspector/front-end/JavaScriptSourceFrame.js:
176034        (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
176035        * inspector/front-end/ScriptsNavigator.js: Added.
176036        * inspector/front-end/ScriptsPanel.js:
176037        (WebInspector.ScriptsPanel.prototype._uiSourceCodeAdded.get if):
176038        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
176039        (WebInspector.ScriptsPanel.prototype._addOptionToFilesSelect):
176040        (WebInspector.ScriptsPanel.prototype._reset):
176041        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
176042        (WebInspector.ScriptsPanel.prototype._uiSourceCodeReplaced):
176043        (WebInspector.ScriptsPanel.prototype._sourceFrameLoaded):
176044        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
176045        (WebInspector.ScriptsPanel.prototype._scriptSelectedInNavigator):
176046        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
176047        * inspector/front-end/Settings.js:
176048        * inspector/front-end/TabbedPane.js:
176049        (WebInspector.TabbedPane.prototype.appendTab):
176050        (WebInspector.TabbedPane.prototype.selectTab):
176051        (WebInspector.TabbedPane.prototype.highlightLine):
176052        (WebInspector.TabbedPane.prototype.elementsToRestoreScrollPositionsFor):
176053        * inspector/front-end/UISourceCode.js:
176054        (WebInspector.UISourceCode.prototype.get domain):
176055        (WebInspector.UISourceCode.prototype.get folderName):
176056        (WebInspector.UISourceCode.prototype.get displayName):
176057        (WebInspector.UISourceCode.prototype._parseURL):
176058        * inspector/front-end/WebKit.qrc:
176059        * inspector/front-end/inspector.css:
176060        (.tabbed-pane):
176061        (.tabbed-pane-content):
176062        * inspector/front-end/inspector.html:
176063        * inspector/front-end/networkPanel.css:
176064        * inspector/front-end/scriptsPanel.css:
176065        (#scripts-navigator-resizer-widget):
176066        (.scripts-navigator-domain-tree-item .icon):
176067        (.scripts-navigator-folder-tree-item .icon):
176068        (.scripts-navigator-script-tree-item .icon):
176069        (.scripts.panel .navigator):
176070        (#scripts-navigator-tabbed-pane .tabbed-pane-header):
176071        (#scripts-navigator-tabbed-pane .tabbed-pane-content):
176072        (.scripts.panel .navigator li):
176073        (.scripts.panel .navigator :focus li.selected):
176074        (.scripts.panel .navigator li.selected .selection):
176075        (.scripts.panel .navigator :focus li.selected .selection):
176076        (.scripts.panel .navigator .icon):
176077        (.scripts.panel .base-navigator-tree-element-title):
176078        * inspector/front-end/treeoutline.js:
176079        (TreeOutline):
176080        (TreeOutline.prototype.appendChild):
176081
1760822011-12-12  Andreas Kling  <kling@webkit.org>
176083
176084        CollectionCache: Remove unused copy constructor and make it noncopyable.
176085        <http://webkit.org/b/74378>
176086
176087        Reviewed by Simon Hausmann.
176088
176089        * html/CollectionCache.cpp:
176090        * html/CollectionCache.h:
176091
1760922011-12-13  Jarred Nicholls  <jarred@sencha.com>
176093
176094        XHR should use m_responseTypeCode internally to be consistent with WebKit coding style
176095        https://bugs.webkit.org/show_bug.cgi?id=74330
176096
176097        Reviewed by Alexey Proskuryakov.
176098
176099        No new tests needed, no behavioral changes.
176100
176101        * xml/XMLHttpRequest.cpp:
176102        (WebCore::XMLHttpRequest::responseText):
176103        (WebCore::XMLHttpRequest::responseXML):
176104        (WebCore::XMLHttpRequest::responseBlob):
176105        (WebCore::XMLHttpRequest::didReceiveData):
176106        * xml/XMLHttpRequest.h:
176107        (WebCore::XMLHttpRequest::asBlob):
176108
1761092011-12-13  Kentaro Hara  <haraken@chromium.org>
176110
176111        Use the [Supplemental] IDL for webaudio attributes in Chromium
176112        https://bugs.webkit.org/show_bug.cgi?id=73394
176113
176114        Reviewed by Adam Barth.
176115
176116        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
176117        declarations of webaudio from DOMWindow.idl into a new IDL file
176118        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
176119        feature (aka a module).
176120
176121        - This patch changes the build flow of WebCore.gyp as follows:
176122
176123            Previous build flow:
176124                foreach $idl (all IDL files) {
176125                    generate-bindings.pl depends on $idl;
176126                    generate-bindings.pl reads $idl;
176127                    generate-bindings.pl generates .h and .cpp files for $idl;
176128                }
176129
176130            New build flow (See the discussions in bug 72138 for more details):
176131                resolve-supplemental.pl depends on all IDL files;
176132                resolve-supplemental.pl reads all IDL files;
176133                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
176134                resolve-supplemental.pl outputs supplemental_dependency.tmp;
176135                foreach $idl (all IDL files) {
176136                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
176137                    generate-bindings.pl reads $idl;
176138                    generate-bindings.pl reads supplemental_dependency.tmp;
176139                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
176140                }
176141
176142        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
176143        will be removed after build scripts for all platforms support the [Supplemental] IDL.
176144        The motivation for the [Supplemented] IDL is as follows:
176145
176146        In order to support the [Supplemental] IDL, we need to
176147        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
176148        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
176149
176150        This build flow requires a change on the following build scripts,
176151        but changing all the build scripts all at once without any regression is too difficult:
176152
176153            - DerivedSources.make
176154            - DerivedSources.pri
176155            - GNUmakefile.am
176156            - PlatformBlackBerry.cmake
176157            - UseJSC.cmake
176158            - UseV8.cmake
176159            - WebCore.vcproj/MigrateScripts
176160            - WebCore.vcproj/WebCore.vcproj
176161            - bindings/gobject/GNUmakefile.am
176162            - WebCore.gyp/WebCore.gyp
176163
176164        Thus, we are planning to change the build scripts one by one, which implies that
176165        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
176166        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
176167        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
176168        in another IDL file somewhere, like this:
176169
176170            DOMWindowWebAudio.idl:
176171                interface [
176172                    Supplemental=DOMWindow
176173                ] DOMWindowWebAudio {
176174                    attribute attr1;
176175                    attribute attr2;
176176                };
176177
176178            DOMWindow.idl:
176179                interface [
176180                ] DOMWindow {
176181                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
176182                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
176183                    attribute attr3;
176184                    attribute attr4;
176185                };
176186
176187        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
176188
176189            - If a given build script supports the [Supplemental] IDL,
176190            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
176191            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
176192            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
176193            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
176194
176195        Tests: webaudio/*
176196
176197        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
176198        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
176199        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp),
176200        which are described at the first column of each line in the input file.
176201        If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style
176202        path by the cygpath command.
176203        * WebCore.gypi: Added DOMWindowWebAudio.idl.
176204        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not
176205        support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead
176206        uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and
176207        instead uses the [Supplemental] IDL.
176208        Added the --additionalIdlFilesList option to specify the IDL files that are not listed in
176209        supplemental-dependency.tmp but should generate .h and .cpp files.
176210        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes.
176211        As I described above, the [Supplemented] IDL will be removed after all platforms support
176212        the [Supplemental] IDL.
176213        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL.
176214        The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
176215
1762162011-12-13  Yosifumi Inoue  <yosin@chromium.org>
176217
176218        RenderTheme should have a function for disabled text color adjustment
176219        https://bugs.webkit.org/show_bug.cgi?id=74143
176220
176221        Change disabledTextColor to private method.
176222
176223        Reviewed by Kent Tamura.
176224
176225        No new tests / existing tests cover this change.
176226
176227        * rendering/RenderThemeChromiumMac.h: Change disabledTextColor to private.
176228        * rendering/RenderThemeChromiumSkia.h: Change disabledTextColor to private.
176229
1762302011-12-12  Daniel Bates  <dbates@webkit.org>
176231
176232        Unreviewed, rolling out r102656.
176233        http://trac.webkit.org/changeset/102656
176234        https://bugs.webkit.org/show_bug.cgi?id=74313
176235
176236        Broke the Mac, Windows and WinCairo builds. We need to look
176237        into this patch some more.
176238
176239        * bindings/js/ScriptEventListener.cpp:
176240        (WebCore::eventListenerHandlerLocation):
176241
1762422011-12-12  Konrad Piascik  <kpiascik@rim.com>
176243
176244        2011-12-12  Konrad Piascik  <kpiascik@rim.com>
176245
176246        Implement the JavaScriptCore bindings for eventListenerHandlerLocation
176247        https://bugs.webkit.org/show_bug.cgi?id=74313
176248
176249        Reviewed by Geoffrey Garen.
176250
176251        Open any page in Web Inspector and look at the event listeners. They should now
176252        link to the script which created them.
176253
176254        * bindings/js/ScriptEventListener.cpp:
176255        (WebCore::eventListenerHandlerLocation):
176256
1762572011-12-12  Yosifumi Inoue  <yosin@chromium.org>
176258
176259        RenderTheme should have a function for disabled text color adjustment
176260        https://bugs.webkit.org/show_bug.cgi?id=74143
176261
176262        Reviewed by Kent Tamura.
176263
176264        No new tests / existing tests cover this change.
176265
176266        * rendering/RenderTextControl.cpp:
176267        (WebCore::RenderTextControl::adjustInnerTextStyle): Use RenderTheme::disabledTextColor instead of PLATFORM wraped static function. 
176268        * rendering/RenderTheme.cpp:
176269        (WebCore::RenderTheme::disabledTextColor): Moved from RenderTextControl.cpp. This method implements for non-Chromium color.
176270        * rendering/RenderTheme.h: Add new virtual method disabledTextColor.
176271        * rendering/RenderThemeChromiumMac.h: Implementation of RenderTheme::disabledTextColor for Chrimium Mac.
176272        * rendering/RenderThemeChromiumSkia.h: Implementation of RenderTheme::disabledTextColor for Chrimium.
176273
1762742011-12-12  Kenneth Russell  <kbr@google.com>
176275
176276        Unreviewed, rolling out r102648.
176277        http://trac.webkit.org/changeset/102648
176278        https://bugs.webkit.org/show_bug.cgi?id=74313
176279
176280        Broke the Snow Leopard and Windows builds
176281
176282        * bindings/js/ScriptEventListener.cpp:
176283        (WebCore::eventListenerHandlerLocation):
176284
1762852011-12-12  Andreas Kling  <kling@webkit.org>
176286
176287        Resizing Cappuccino is very laggy on WebKit since Safari 5.1
176288        <http://webkit.org/b/71354> and <rdar://problem/10565998>
176289
176290        Reviewed by Anders Carlsson.
176291
176292        * WebCore.exp.in: Export FloatPoint(const NSPoint&)
176293
1762942011-12-12  Jarred Nicholls  <jarred@sencha.com>
176295
176296        [Qt] QTKIT-based video support must target OS X 10.5 or higher
176297        https://bugs.webkit.org/show_bug.cgi?id=74294
176298
176299        WebCore on OS X Lion fails to build when QTKIT video support is enabled, unless a
176300        deployment target of 10.5+ is specified explicitly.
176301
176302        Reviewed by Noam Rosenthal.
176303
176304        No new tests as this is a build issue.
176305
176306        * Target.pri:
176307
1763082011-12-12  Luke Macpherson   <macpherson@chromium.org>
176309
176310        Implement CSS text-decoration property in CSSStyleApplyProperty.
176311        https://bugs.webkit.org/show_bug.cgi?id=74258
176312
176313        Reviewed by Andreas Kling.
176314
176315        No new tests / refactoring only.
176316
176317        * css/CSSStyleApplyProperty.cpp:
176318        (WebCore::ApplyPropertyTextDecoration::applyValue):
176319        (WebCore::ApplyPropertyTextDecoration::createHandler):
176320        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
176321        * css/CSSStyleSelector.cpp:
176322        (WebCore::CSSStyleSelector::applyProperty):
176323
1763242011-12-12  Adrienne Walker  <enne@google.com>
176325
176326        iframe fails to scroll in composited page
176327        https://bugs.webkit.org/show_bug.cgi?id=72682
176328
176329        Reviewed by Simon Fraser.
176330
176331        FrameView::scrollContentsSlowPath only was catching the case where a
176332        child iframe had a composited parent. Now detect if the child iframe
176333        has any composited ancestor.
176334
176335        Test: compositing/iframes/scroll-grandchild-iframe.html
176336
176337        * page/FrameView.cpp:
176338        (WebCore::FrameView::scrollContentsSlowPath):
176339
1763402011-12-12  Konrad Piascik  <kpiascik@rim.com>
176341
176342        Implement the JavaScriptCore bindings for eventListenerHandlerLocation
176343        https://bugs.webkit.org/show_bug.cgi?id=74313
176344
176345        Reviewed by Geoffrey Garen. 
176346
176347        Open any page in Web Inspector and look at the event listeners. They should now
176348        link to the script which created them.
176349
176350        * bindings/js/ScriptEventListener.cpp:
176351        (WebCore::eventListenerHandlerLocation):
176352
1763532011-12-12  Erik Arvidsson  <arv@chromium.org>
176354
176355        [V8] CodeGeneratorV8.pm does not correctly work with inherited HasIndexGetter
176356        https://bugs.webkit.org/show_bug.cgi?id=74027
176357
176358        Reviewed by Adam Barth.
176359
176360        Instead of having to write a custom indexer when the interface has an inherited indexer
176361        we get the signature from the super interface.
176362
176363        Tested by existing tests.
176364
176365        * Target.pri: Remove V8DOMSettableTokenListCustom.cpp and V8WebKitCSSFilterValueCustom.cpp.
176366        * UseV8.cmake: Ditto.
176367        * WebCore.gypi: Ditto.
176368        * bindings/scripts/CodeGenerator.pm:
176369        (FindSuperMethod): Returns the first matching function in one of the ancestor interfaces.
176370        * bindings/scripts/CodeGeneratorV8.pm:
176371        (GenerateImplementationIndexer): If the current interface has no indexer try to find an
176372                                         indexer in one of the super interfaces.
176373        (GenerateImplementationNamedPropertyGetter): Ditto for named property getter.
176374        * bindings/v8/custom/V8DOMSettableTokenListCustom.cpp: Removed.
176375        * bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Removed.
176376
1763772011-12-12  Simon Fraser  <simon.fraser@apple.com>
176378
176379        Make it possible to substitute a different CALayer implementation for the main root layer
176380        https://bugs.webkit.org/show_bug.cgi?id=74369
176381
176382        Reviewed by Anders Carlsson.
176383        
176384        Some platforms may wish to have the main root layer (which corresponds with
176385        the main frame's RenderView's layer) implemented by a custom platform layer,
176386        for example to contain a cache of tiles.
176387        
176388        Make this possible on Mac by adding a new method to GraphicsLayerClient(),
176389        and implementing it in RenderLayerBacking. This new behavior is not yet enabled.
176390        
176391        Also clean up some WebLayer/WebTiledLayer code.
176392
176393        * WebCore.xcodeproj/project.pbxproj:
176394        * platform/graphics/GraphicsLayerClient.h:
176395        (WebCore::GraphicsLayerClient::shouldUseTileCache): New client method that indicates that the GraphicsLayer
176396        should host a tile cache layer instead of a normal layer.
176397        * platform/graphics/ca/GraphicsLayerCA.cpp:
176398        (WebCore::GraphicsLayerCA::GraphicsLayerCA): Ask the client, if any, whether to create a tile cache layer.
176399        * platform/graphics/ca/PlatformCALayer.h:
176400        * platform/graphics/ca/mac/PlatformCALayerMac.mm: NSClassFromString(@"CATransformLayer") was for Leopard;
176401        we can just use the classname now. Handle LayerTypeTileCacheLayer.
176402        (PlatformCALayer::PlatformCALayer):
176403        * platform/graphics/ca/mac/WebTileCacheLayer.h: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
176404        * platform/graphics/ca/mac/WebTileCacheLayer.mm: Copied from Source/WebCore/platform/graphics/mac/WebLayer.h.
176405        * platform/graphics/mac/WebLayer.h: Remove the setLayerNeedsDisplayInRect() hackery.
176406        * platform/graphics/mac/WebLayer.mm: setLayerNeedsDisplayInRect() tried to share code between WebLayer and WebTiledLayer
176407        by using Obj-C runtime methods to find the superclass. This causes infinite recursion if Web[Tiled]Layer is subclassed,
176408        so remove it.
176409        (-[WebLayer setNeedsDisplayInRect:]): Code moved here from setLayerNeedsDisplayInRect.
176410        * platform/graphics/mac/WebTiledLayer.mm:
176411        (-[WebTiledLayer setNeedsDisplayInRect:]): Code copied here from setLayerNeedsDisplayInRect.
176412        * rendering/RenderLayerBacking.cpp:
176413        (WebCore::RenderLayerBacking::RenderLayerBacking): Find out, and cache if we're the main frame's layer.
176414        (WebCore::RenderLayerBacking::shouldUseTileCache): Return m_usingTiledCacheLayer, which is always false for now.
176415        (WebCore::RenderLayerBacking::createPrimaryGraphicsLayer): Use m_isMainFrameRenderViewLayer.
176416        (WebCore::RenderLayerBacking::paintingGoesToWindow): The tile cache layer needs to paint itself.
176417        * rendering/RenderLayerBacking.h:
176418        * rendering/RenderLayerCompositor.h: m_compositeForFixedPosition was unused.
176419
1764202011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
176421
176422        REGRESSION(r102357): respondToUnappliedEditing exits early for CreateLinkCommand
176423        https://bugs.webkit.org/show_bug.cgi?id=74356
176424
176425        Reviewed by Enrica Casucci.
176426
176427        The problem was that isCreateLinkCommand was called on EditCommandComposition by respondToUnappliedEditing.
176428        Fixed the bug by propagating the value of isCreteLinkCommand from CompositeEditCommand to
176429        EditCommandComposition via wasCreateLinkCommand.
176430
176431        Also move isCreateLinkCommand from EditCommand to CompositeEditCommand to prevent this mistake in the future.
176432
176433        * editing/CompositeEditCommand.cpp:
176434        (WebCore::EditCommandComposition::create):
176435        (WebCore::EditCommandComposition::EditCommandComposition):
176436        (WebCore::CompositeEditCommand::ensureComposition):
176437        (WebCore::CompositeEditCommand::isCreateLinkCommand):
176438        * editing/CompositeEditCommand.h:
176439        (WebCore::EditCommandComposition::wasCreateLinkCommand):
176440        * editing/SpellingCorrectionController.cpp:
176441        (WebCore::SpellingCorrectionController::respondToUnappliedEditing):
176442        * editing/SpellingCorrectionController.h:
176443
1764442011-12-12  Mihnea Ovidenie  <mihnea@adobe.com>
176445
176446        [CSSRegions]Revert RenderObject::style() to its state before region styling
176447        https://bugs.webkit.org/show_bug.cgi?id=74315
176448
176449        Reviewed by Tony Chang.
176450
176451        * rendering/RenderObject.h:
176452        (WebCore::RenderObject::style):
176453
1764542011-12-12  Adam Klein  <adamk@chromium.org>
176455
176456        Don't crash in StyleAttributeMutationScope if the style declaration's element has been GCed
176457        https://bugs.webkit.org/show_bug.cgi?id=74321
176458
176459        Reviewed by Ryosuke Niwa.
176460
176461        In r101101, Rafael Weinstein added code to CSSMutableStyleDeclaration.cpp
176462        which depended on isInlineStyleDeclaration returning true iff the
176463        element it pointed to was non-null (it will be nulled-out if the
176464        element is garbage collected).
176465
176466        Then, in r101172, Andreas Kling changed the semantics so that
176467        isInlineStyleDeclaration only described the type of the declaration,
176468        not the state of the related element.
176469
176470        This change updates Rafael's code with an explicit check that the
176471        element is still alive.
176472
176473        Test: fast/dom/css-inline-style-declaration-crash.html
176474
176475        * css/CSSMutableStyleDeclaration.cpp:
176476
1764772011-12-12  Chris Fleizach  <cfleizach@apple.com>
176478
176479        AX: aria-hidden inheritance broken when applying to some descendants
176480        https://bugs.webkit.org/show_bug.cgi?id=73940
176481
176482        Reviewed by Darin Adler.
176483
176484        When adding children, we were not updating the children cache for direct AX descendants.
176485        This meant that toggling aria-hidden could result in a stale cache where elements would not be reachable.
176486
176487        Making this fix also exposed a problem in AccessibilityTable where the AccessibilityHeaderObject was not
176488        being managed correctly as a mock element.
176489
176490        Test: platform/mac/accessibility/aria-hidden-changes-for-non-ignored-elements.html
176491
176492        * accessibility/AccessibilityRenderObject.cpp:
176493        (WebCore::AccessibilityRenderObject::addChildren):
176494        * accessibility/AccessibilityTable.cpp:
176495        (WebCore::AccessibilityTable::clearChildren):
176496        (WebCore::AccessibilityTable::headerContainer):
176497        * accessibility/AccessibilityTable.h:
176498
1764992011-12-12  Jeremy Apthorp  <jeremya@chromium.org>
176500
176501        When the mouse is dragged out of an :active element, it should lose :hover.
176502        https://bugs.webkit.org/show_bug.cgi?id=57206
176503
176504        Reviewed by Ryosuke Niwa.
176505
176506        Test: fast/css/hover-active-drag.html
176507
176508        * page/EventHandler.cpp:
176509        (WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
176510        (WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
176511        RenderLayer has a chance to update the hover/active status.
176512        * rendering/RenderLayer.cpp:
176513        (WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.
176514
1765152011-12-12  Kenneth Russell  <kbr@google.com>
176516
176517        Unreviewed Windows build fix after http://trac.webkit.org/changeset/102619 .
176518        Remove OVERRIDE specifier from virtual destructor.
176519
176520        * html/HTMLPlugInImageElement.h:
176521
1765222011-12-12  Ryosuke Niwa  <rniwa@webkit.org>
176523
176524        WebKit code shouldn't be calling applyCommand directly
176525        https://bugs.webkit.org/show_bug.cgi?id=74337
176526
176527        Reviewed by Darin Adler.
176528
176529        Make WebKit-layer code call Editor::replaceSelectionWithFragment and Editor::replaceSelectionWithText
176530        instead of manually creating and applying ReplaceSelectionCommand.
176531
176532        The only behavioral difference is that new code will end up checking for spell checks. However, this
176533        difference appears to be unintentional since the code predates http://trac.webkit.org/changeset/73886,
176534        which introduced an invocation of spellcheck code.
176535
176536        Unfortunately no tests since there doesn't seem to be anyway to test this change.
176537
176538        * WebCore.exp.in:
176539        * editing/EditCommand.cpp:
176540        (WebCore::applyCommand):
176541        * editing/EditCommand.h:
176542        * editing/Editor.h:
176543
1765442011-11-26  Adam Barth  <abarth@webkit.org>
176545
176546        Remove platform/audio/fftw
176547        https://bugs.webkit.org/show_bug.cgi?id=73163
176548
176549        Reviewed by Eric Seidel.
176550
176551        The FFTW library is GPL, not LGPL, like WebKit.  This patch removes the
176552        integration with the library so folks who use WebAudio don't
176553        accidentially violate the GPL by linking in FFTW.
176554
176555        * GNUmakefile.am:
176556        * WebCore.gyp/WebCore.gyp:
176557        * WebCore.gypi:
176558        * platform/audio/FFTFrame.h:
176559        * platform/audio/FFTFrameStub.cpp:
176560        * platform/audio/fftw: Removed.
176561        * platform/audio/fftw/FFTFrameFFTW.cpp: Removed.
176562
1765632011-12-12  Kenneth Russell  <kbr@google.com>
176564
176565        COMPILE_ASSERT in CSSStyleSelector.cpp doesn't compile on Windows
176566        https://bugs.webkit.org/show_bug.cgi?id=74327
176567
176568        Unreviewed build fix. True fix should follow under above bug.
176569
176570        * css/CSSStyleSelector.cpp:
176571
1765722011-12-12  David Grogan  <dgrogan@chromium.org>
176573
176574        Fix compilation error when !ENABLE(WORKERS)
176575        https://bugs.webkit.org/show_bug.cgi?id=74029
176576
176577        Reviewed by Yury Semikhatsky.
176578
176579        * storage/IDBFactory.cpp:
176580        (WebCore::IDBFactory::open): add #if ENABLE(WORKERS) guard
176581
1765822011-12-12  Brady Eidson  <beidson@apple.com>
176583
176584        Page cache should support pages with plugins.
176585        <rdar://problem/5190122> and https://bugs.webkit.org/show_bug.cgi?id=13634
176586
176587        Reviewed by Anders Carlsson.
176588
176589        By making plugin elements renderers go display:none when entering the page cache,
176590        we destroy the plug-in in a cross platform way as well as handle invalidating script
176591        objects created by that plugin.
176592
176593        By restoring the original style when leaving the page cache and forcing a style recalc
176594        on the plugin element, the plugin is gracefully reinstantiated when the user goes back.
176595
176596        Test: plugins/netscape-plugin-page-cache-works.html
176597
176598        * dom/Document.cpp:
176599        (WebCore::Document::documentDidBecomeActive): Copy this collection before iterating over
176600          it, as the callbacks might result in mutating the set.
176601
176602        * dom/Node.h:
176603        (WebCore::Node::setHasCustomStyleForRenderer):
176604        (WebCore::Node::clearHasCustomStyleForRenderer): Expose the ability to stop using a 
176605          custom renderer and go back to the default renderer.
176606
176607        * history/CachedFrame.cpp:
176608        (WebCore::CachedFrame::CachedFrame): Move the document inactivation call to the same place
176609          we suspend active DOM objects. It is important this call be *after* the beforeunload event
176610          is dispatched, and was coincidental non of the elements that using Document activation
176611          had run in to this problem yet.
176612
176613        * history/PageCache.cpp:
176614        (WebCore::logCanCacheFrameDecision):
176615        (WebCore::PageCache::canCachePageContainingThisFrame): If the page contains plugins but
176616          the PageCacheSupportsPlugins setting is true, allow this page.
176617
176618        Kill and recreate the plugin by listening for Document activation callbacks and setting a custom
176619        display:none render style:
176620        * html/HTMLPlugInImageElement.cpp:
176621        (WebCore::HTMLPlugInImageElement::HTMLPlugInImageElement):
176622        (WebCore::HTMLPlugInImageElement::~HTMLPlugInImageElement): Unregister for document activation
176623          callbacks.
176624        (WebCore::HTMLPlugInImageElement::createRenderer): Once a renderer (ie. plugin instance) is
176625          created, this element needs Document (in)activation callbacks.
176626        (WebCore::HTMLPlugInImageElement::willMoveToNewOwnerDocument): Manage Document activation 
176627          callback registration.
176628        (WebCore::HTMLPlugInImageElement::didMoveToNewOwnerDocument): Ditto.
176629        (WebCore::HTMLPlugInImageElement::documentWillBecomeInactive): Clone the element's current style
176630          and set the clone's display value to None. Start using this custom style and force a style
176631          recall. This destroys the renderer and therefore the plugin instance.
176632        (WebCore::HTMLPlugInImageElement::documentDidBecomeActive): Stop using the custom style and
176633          force a style recall to reinstantiate the plugin.
176634        (WebCore::HTMLPlugInImageElement::customStyleForRenderer): Return the stand-in style that has
176635          display:none set.
176636        * html/HTMLPlugInImageElement.h:
176637
176638        Add a setting that allows runtime configuration of whether or not the page cache supports plugins:
176639        * page/Settings.cpp:
176640        (WebCore::Settings::Settings):
176641        * page/Settings.h:
176642        (WebCore::Settings::setPageCacheSupportsPlugins):
176643        (WebCore::Settings::pageCacheSupportsPlugins):
176644
1766452011-12-12  Ojan Vafai  <ojan@chromium.org>
176646
176647        r102234 caused RuleData to use 33 bits in its bitmask
176648        https://bugs.webkit.org/show_bug.cgi?id=74314
176649
176650        Reviewed by Antti Koivisto.
176651
176652        Lower m_position to something more reasonable. A million
176653        should be plenty. Current large sites (e.g. gmail) seem to use
176654        tens of thousands.
176655
176656        Added a COMPILE_ASSERT to ensure this doesn't regress.
176657
176658        No new tests.
176659
176660        * css/CSSStyleSelector.cpp:
176661
1766622011-12-12  James Robinson  <jamesr@chromium.org>
176663
176664        Rename webkitCancelRequestAnimationFrame to webkitCancelAnimationFrame to match spec change
176665        https://bugs.webkit.org/show_bug.cgi?id=74231
176666
176667        Reviewed by Simon Fraser.
176668
176669        The RequestAnimationFrame spec has renamed cancelRequestAnimationFrame to cancelAnimationFrame in response to
176670        feedback from Mozilla and Microsoft that the old name was too long and didn't parallel setTimeout/clearTimeout
176671        and setInterval/clearInterval very well. This updates our IDL to match, while preserving the old name as an
176672        alias to be compatible with current content.
176673
176674        * dom/Document.cpp:
176675        (WebCore::Document::webkitCancelAnimationFrame):
176676        * dom/Document.h:
176677        * page/DOMWindow.cpp:
176678        (WebCore::DOMWindow::webkitCancelAnimationFrame):
176679        * page/DOMWindow.h:
176680        (WebCore::DOMWindow::webkitCancelRequestAnimationFrame):
176681        * page/DOMWindow.idl:
176682
1766832011-12-12  Shawn Singh  <shawnsingh@chromium.org>
176684
176685        [chromium] Remove assumption that empty surface is always at end of list
176686        https://bugs.webkit.org/show_bug.cgi?id=74037
176687
176688        Reviewed by James Robinson.
176689
176690        Test case added to CCLayerTreeHostCommonTest.cpp, which reproduces
176691        a crash reported in http://code.google.com/p/chromium/issues/detail?id=106734
176692
176693        This patch fixes the crash in a less risky way to be merged into
176694        m17, but the root of the issue needs to be addressed in a
176695        follow-up patch.
176696
176697        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
176698        (WebCore::calculateDrawTransformsAndVisibilityInternal):
176699
1767002011-12-12  Simon Fraser  <simon.fraser@apple.com>
176701
176702        Share code that checks for matching sets of transform operations
176703        https://bugs.webkit.org/show_bug.cgi?id=74265
176704
176705        Reviewed by Dan Bernstein.
176706        
176707        Add TransformOperations::operationsMatch() and call it from the
176708        three places that used this same code.
176709        
176710        Tested by existing tests.
176711
176712        * page/animation/ImplicitAnimation.cpp:
176713        (WebCore::ImplicitAnimation::validateTransformFunctionList):
176714        * page/animation/KeyframeAnimation.cpp:
176715        (WebCore::KeyframeAnimation::validateTransformFunctionList):
176716        * platform/graphics/GraphicsLayer.cpp:
176717        (WebCore::GraphicsLayer::fetchTransformOperationList):
176718        * platform/graphics/transforms/TransformOperations.cpp:
176719        (WebCore::TransformOperations::operationsMatch):
176720        * platform/graphics/transforms/TransformOperations.h:
176721
1767222011-12-12  Antti Koivisto  <antti@apple.com>
176723
176724        Cache visited link hash
176725        https://bugs.webkit.org/show_bug.cgi?id=74095
176726
176727        Reviewed by Darin Adler.
176728
176729        Visited link hash is relatively expensive to compute. We can cache it for anchor elements
176730        with minimal relative memory cost for faster style resolve.
176731        
176732        On my machine this speeds up style matching on full HTML spec by ~100ms or ~1% of the total
176733        CPU usage. It makes link elements 8 bytes larger, a relatively minor increase to their overall size.
176734        
176735        Invalidate the hashes on base URL for completeness sake (lack of style invalidation means
176736        that this scenario is not properly supported currently).
176737
176738        Covered by existing tests. No specific test for visited hash invalidation on dynamic base URL 
176739        change as the effect is not testable due to lack of style invalidation.
176740
176741        * css/SelectorChecker.cpp:
176742        (WebCore::SelectorChecker::determineLinkStateSlowCase):
176743        (WebCore::SelectorChecker::visitedStateChanged):
176744        * html/Document.cpp:
176745        * html/HTMLAnchorElement.cpp:
176746        (WebCore::HTMLAnchorElement::HTMLAnchorElement):
176747        (WebCore::HTMLAnchorElement::parseMappedAttribute):
176748        * html/HTMLAnchorElement.h:
176749        (WebCore::HTMLAnchorElement::visitedLinkHash):
176750
1767512011-12-12  Martin Robinson  <mrobinson@igalia.com>
176752
176753        [GTK] gtk_widget_size_allocate for plugin widgets should happen in the WebView size-allocate method
176754        https://bugs.webkit.org/show_bug.cgi?id=72805
176755
176756        Reviewed by Gustavo Noronha Silva.
176757
176758        No new tests. This is only a performance tweak.
176759
176760        Instead of immediately calling gtk_widget_size during painting, defer
176761        this until the size-allocate method of the WebView.
176762
176763        * plugins/gtk/PluginViewGtk.cpp:
176764        (WebCore::PluginView::updateWidgetAllocationAndClip): Instead of immediately changing
176765        the widget allocation, just record it in a GObject data attachment.
176766
1767672011-12-12  Nate Chapin  <japhet@chromium.org>
176768
176769        A SubresourceLoader in the middle of revalidating
176770        a resource should be treated as finishing (similar to
176771        didFinishLoading and didFail) to ensure that willCancel()
176772        doesn't declare the revalidation as having failed reentrantly.
176773        https://bugs.webkit.org/show_bug.cgi?id=72762
176774
176775        Reviewed by Adam Barth.
176776
176777        Test: http/tests/cache/cancel-during-revalidation-succeeded.html
176778
176779        * loader/SubresourceLoader.cpp:
176780        (WebCore::SubresourceLoader::didReceiveResponse):
176781
1767822011-12-12  Mary Wu  <mary.wu@torchmobile.com.cn>
176783
176784        Upstream 3 files into WebCore/platform/blackberry
176785        https://bugs.webkit.org/show_bug.cgi?id=74275
176786
176787        Reviewed by Rob Buis.
176788
176789        Initial upstream, no new tests.
176790
176791        * platform/blackberry/ContextMenuBlackBerry.cpp: Added.
176792        * platform/blackberry/ContextMenuItemBlackBerry.cpp: Added.
176793        * platform/blackberry/TemporaryLinkStubs.cpp: Added.
176794
1767952011-12-12  Pierre Rossi  <pierre.rossi@gmail.com>
176796
176797        [Qt] Rendering issues with sliders and QStyle
176798        https://bugs.webkit.org/show_bug.cgi?id=73921
176799
176800        With QStyle's origins being deeply rooted with widgets,
176801        several styles make wrong assumptions, leading to sliders
176802        not being painted properly in WebKit. We can solve a lot
176803        of problems by systematically translating the painter to
176804        the top left corner of the render object.
176805
176806        Reviewed by Simon Hausmann.
176807
176808        No new tests. The Qt tests are ran with the Windows
176809        style, this fixes some quirks affecting other styles.
176810
176811        * platform/qt/RenderThemeQStyle.cpp:
176812        (WebCore::RenderThemeQStyle::paintSliderTrack):
176813        (WebCore::RenderThemeQStyle::paintSliderThumb):
176814
1768152011-12-12  Mary Wu  <mary.wu@torchmobile.com.cn>
176816
176817        Upstream 5 files into WebCore/platform/blackberry
176818        https://bugs.webkit.org/show_bug.cgi?id=73798
176819
176820        Reviewed by Rob Buis.
176821
176822        Main contributors:
176823        Genevieve Mak <gmak@rim.com>
176824        Mike Lattanzio  <mlattanzio@rim.com>
176825        George Staikos <gstaikos@rim.com> 
176826
176827        Initial upstream, no new tests.
176828
176829        * platform/blackberry/PlatformTouchEventBlackBerry.cpp: Added.
176830        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
176831        * platform/blackberry/PlatformTouchPointBlackBerry.cpp: Added.
176832        (WebCore::PlatformTouchPoint::PlatformTouchPoint):
176833        * platform/blackberry/SharedBufferBlackBerry.cpp: Added.
176834        (WebCore::SharedBuffer::createWithContentsOfFile):
176835        * platform/blackberry/SharedTimerBlackBerry.cpp: Added.
176836        (WebCore::SharedTimerBlackBerry::SharedTimerBlackBerry):
176837        (WebCore::SharedTimerBlackBerry::~SharedTimerBlackBerry):
176838        (WebCore::SharedTimerBlackBerry::instance):
176839        (WebCore::SharedTimerBlackBerry::start):
176840        (WebCore::SharedTimerBlackBerry::stop):
176841        (WebCore::setSharedTimerFiredFunction):
176842        (WebCore::setSharedTimerFireInterval):
176843        (WebCore::stopSharedTimer):
176844        * platform/blackberry/SystemTimeBlackBerry.cpp: Added.
176845        (WebCore::userIdleTime):
176846
1768472011-12-12  Alexander Pavlov  <apavlov@chromium.org>
176848
176849        Implement a cache for CSSStyleRule::selectorText()
176850        https://bugs.webkit.org/show_bug.cgi?id=74269
176851
176852        This change is geared towards speeding up the CSS selector profiler,
176853        its implementation tracked at https://bugs.webkit.org/show_bug.cgi?id=74004.
176854        Using a proof-of-concept implementation of the profiler, this change reduces
176855        the profiler temporal overhead on PerformanceTests/Parser/html5-full-render.html
176856        roughly by 86% (from ~72 seconds down to ~10 seconds). This change also does not
176857        considerably increase average memory usage, as reading selectorText is a relatively
176858        rare case during normal web browsing.
176859
176860        Reviewed by Andreas Kling.
176861
176862        No new tests, as this functionality is covered by existing tests.
176863
176864        * css/CSSRule.h:
176865        * css/CSSStyleRule.cpp:
176866        (WebCore::CSSStyleRule::~CSSStyleRule):
176867        (WebCore::selectorTextCache):
176868        (WebCore::CSSStyleRule::cleanup):
176869        (WebCore::CSSStyleRule::generateSelectorText):
176870        (WebCore::CSSStyleRule::selectorText):
176871        (WebCore::CSSStyleRule::setSelectorText):
176872        * css/CSSStyleRule.h:
176873
1768742011-12-12  Alexander Pavlov  <apavlov@chromium.org>
176875
176876        Web Inspector: [Styles] Modified selector text needs sanitization
176877        https://bugs.webkit.org/show_bug.cgi?id=74291
176878
176879        Reviewed by Yury Semikhatsky.
176880
176881        * inspector/front-end/StylesSidebarPane.js:
176882
1768832011-12-12  Renata Hodovan  <reni@webkit.org>
176884
176885        Fulfill FIXME in  HTMLLinkElement.h.
176886        https://bugs.webkit.org/show_bug.cgi?id=74278
176887
176888        Rename HTMLLinkElement::isLoading() to isStyleSheetLoading().
176889
176890        Reviewed by Andreas Kling.
176891
176892        No new tests because the functionality remains the same.
176893
176894        * dom/Document.cpp:
176895        (WebCore::Document::recalcStyleSelector):
176896        * html/HTMLLinkElement.cpp:
176897        (WebCore::HTMLLinkElement::setDisabledState):
176898        (WebCore::HTMLLinkElement::isStyleSheetLoading):
176899        (WebCore::HTMLLinkElement::sheetLoaded):
176900        * html/HTMLLinkElement.h:
176901
1769022011-11-25  Alexander Pavlov  <apavlov@chromium.org>
176903
176904        WebKit does not enumerate over CSS properties in HTMLElement.style
176905        https://bugs.webkit.org/show_bug.cgi?id=23946
176906
176907        Reviewed by Darin Adler.
176908
176909        This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
176910        using the "in" operator on the CSSStyleDeclaration object.
176911
176912        Test: fast/css/style-enumerate-properties.html
176913
176914        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
176915        (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
176916        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
176917        (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
176918        (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
176919        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
176920        * css/CSSStyleDeclaration.idl: Use a custom property enumerator.
176921        * css/makeprop.pl: Add a function to convert CSS property names into JS ones.
176922
1769232011-12-12  Alexander Pavlov  <apavlov@chromium.org>
176924
176925        Unreviewed, build fix.
176926
176927        Revert r102570 which broke SnowLeopard builders.
176928
176929        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
176930        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
176931        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
176932        * css/CSSStyleDeclaration.idl:
176933        * css/makeprop.pl:
176934
1769352011-12-12  Ilya Tikhonovsky  <loislo@chromium.org>
176936
176937        Web Inspector: chromium: UI: Detailed Heap snapshot shows too many objects' hidden properties.
176938        https://bugs.webkit.org/show_bug.cgi?id=74289
176939
176940        WebCore objects have many hidden properties.
176941        The Detailed Heap shapshot view shows all these props for a selected object.
176942        The result view looks too heavy and users usually failed to find a useful information about the object.
176943        Looks like such ability is unnecessary in the most cases.
176944        I'd like to introduce a configurable property that will show/hide these props from the view.
176945
176946        Reviewed by Yury Semikhatsky.
176947
176948        * English.lproj/localizedStrings.js:
176949        * inspector/front-end/DetailedHeapshotGridNodes.js:
176950        * inspector/front-end/DetailedHeapshotView.js:
176951        * inspector/front-end/HeapSnapshotProxy.js:
176952        (WebInspector.HeapSnapshotProxy.prototype.createPathFinder):
176953        * inspector/front-end/SettingsScreen.js:
176954        (WebInspector.SettingsScreen):
176955
1769562011-12-12  Kentaro Hara  <haraken@chromium.org>
176957
176958        Unreviewed, rolling out r102556.
176959        http://trac.webkit.org/changeset/102556
176960        https://bugs.webkit.org/show_bug.cgi?id=73394
176961
176962        clobber build failure
176963
176964        * WebCore.gyp/WebCore.gyp:
176965        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
176966        (main):
176967        * WebCore.gypi:
176968        * bindings/scripts/generate-bindings.pl:
176969        * page/DOMWindow.idl:
176970        * webaudio/DOMWindowWebAudio.idl: Removed.
176971
1769722011-12-12  Kentaro Hara  <haraken@chromium.org>
176973
176974        Unreviewed, rolling out r102558.
176975        http://trac.webkit.org/changeset/102558
176976        https://bugs.webkit.org/show_bug.cgi?id=74160
176977
176978        clobber build failure
176979
176980        * WebCore.gypi:
176981        * page/DOMWindow.idl:
176982        * websockets/DOMWindowWebSocket.idl: Removed.
176983
1769842011-11-25  Alexander Pavlov  <apavlov@chromium.org>
176985
176986        WebKit does not enumerate over CSS properties in HTMLElement.style
176987        https://bugs.webkit.org/show_bug.cgi?id=23946
176988
176989        Reviewed by Darin Adler.
176990
176991        This change generates a list of JavaScript mirrors of the CSS properties and allows to enumerate them
176992        using the "in" operator on the CSSStyleDeclaration object.
176993
176994        Test: fast/css/style-enumerate-properties.html
176995
176996        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
176997        (WebCore::JSCSSStyleDeclaration::getOwnPropertyNames): Added.
176998        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
176999        (WebCore::V8CSSStyleDeclaration::namedPropertyEnumerator): Added.
177000        (WebCore::V8CSSStyleDeclaration::namedPropertyQuery): Added.
177001        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter): A small drive-by optimization (local initialization moved down).
177002        * css/CSSStyleDeclaration.idl: Use a custom property enumerator.
177003        * css/makeprop.pl: Add a function to convert CSS property names into JS ones, and a string comparator.
177004
1770052011-12-09  Yury Semikhatsky  <yurys@chromium.org>
177006
177007        Web Inspector: provide per Document Node count statistics
177008        https://bugs.webkit.org/show_bug.cgi?id=74100
177009
177010        Memory agent now returns counters for nodes with given names. For each
177011        object group root user will see total number of its descendtants and per
177012        tag name counts.
177013
177014        This patch also moves generic CounterVisitor code out of V8 bindings. It
177015        may well be used with both JS engines.
177016
177017        Reviewed by Pavel Feldman.
177018
177019        * GNUmakefile.list.am:
177020        * Target.pri:
177021        * WebCore.gypi:
177022        * WebCore.vcproj/WebCore.vcproj:
177023        * WebCore.xcodeproj/project.pbxproj:
177024        * bindings/js/ScriptProfiler.h:
177025        (WebCore::ScriptProfiler::visitJSDOMWrappers):
177026        * bindings/v8/ScriptProfiler.cpp:
177027        (WebCore::ScriptProfiler::visitJSDOMWrappers):
177028        * bindings/v8/ScriptProfiler.h:
177029        * inspector/DOMWrapperVisitor.h: Added.
177030        (WebCore::DOMWrapperVisitor::~DOMWrapperVisitor):
177031        * inspector/Inspector.json:
177032        * inspector/InspectorMemoryAgent.cpp:
177033        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
177034        * inspector/InspectorMemoryAgent.h:
177035
1770362011-12-12  Noel Gordon  <noel.gordon@gmail.com>
177037
177038        WebPImageDecoder: Increase image/webp decoding performance 10-20%
177039        https://bugs.webkit.org/show_bug.cgi?id=74263
177040
177041        Reviewed by Adam Barth.
177042
177043        Avoid copying data from the RGB buffer of decoded image output to the
177044        backing pixel store. That is slow - costs 10% of the overall decoding
177045        time at libwebp 0.1.2, and 20% at libwebp 0.1.3.
177046
177047        Instead, instruct the decoder to write the decoded pixels directly to
177048        the backing pixel store.
177049
177050        No new tests. Covered by existing tests. No progressive decoding test
177051        exists in DRT, see https://bugs.webkit.org/show_bug.cgi?id=74062
177052
177053        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
177054        (outputMode):  Define output pixel format. On little-endian machines,
177055        output BGRA pixels to the backing store, for example.
177056        (WebCore::WEBPImageDecoder::WEBPImageDecoder):
177057        (WebCore::WEBPImageDecoder::decode):
177058        * platform/image-decoders/webp/WEBPImageDecoder.h:
177059
1770602011-12-11  Zoltan Herczeg  <zherczeg@webkit.org>
177061
177062        Add new CSS nth-children parsing tests
177063        https://bugs.webkit.org/show_bug.cgi?id=74178
177064
177065        Reviewed by Darin Adler.
177066
177067        Test: fast/css/parsing-css-nth-child.html
177068
177069        * css/CSSParser.cpp:
177070        (WebCore::isValidNthToken): Add "-n" to the possible identifiers.
177071
1770722011-12-11  Kentaro Hara  <haraken@chromium.org>
177073
177074        Use [Supplemental] IDL in WebSocket
177075        https://bugs.webkit.org/show_bug.cgi?id=74160
177076
177077        Reviewed by Adam Barth.
177078
177079        By using the [Supplemental] IDL, this patch moves declarations of WebSocket
177080        attributes from DOMWindow.idl to websocket/DOMWindowWebSocket.idl,
177081        which helps make WebSocket a self-contained module.
177082
177083        No new tests, no change in behavior.
177084        Confirm that http/tests/websocket/* pass.
177085
177086        * WebCore.gypi: Added DOMWindowWebSocket.idl.
177087        * page/DOMWindow.idl: Added the [Supplemented] IDL to WebSocket-related attributes. This [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL (See bug 73394 for more details).
177088        * websockets/DOMWindowWebSocket.idl: Added. Used the [Supplemental=DOMWindow] IDL. The attributes in this IDL file are treated as if they are described in DOMWindow.idl.
177089
1770902011-12-11  Luke Macpherson   <macpherson@chromium.org>
177091
177092        Implement webkit-line-grid and webkit-line-grid-snap CSS properties in CSSStyleApplyProperty.
177093        https://bugs.webkit.org/show_bug.cgi?id=74262
177094
177095        Reviewed by Andreas Kling.
177096
177097        No new tests / refactoring only.
177098
177099        * css/CSSStyleApplyProperty.cpp:
177100        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
177101        * css/CSSStyleSelector.cpp:
177102        (WebCore::CSSStyleSelector::applyProperty):
177103
1771042011-12-11  Kentaro Hara  <haraken@chromium.org>
177105
177106        Use the [Supplemental] IDL for webaudio attributes in Chromium
177107        https://bugs.webkit.org/show_bug.cgi?id=73394
177108
177109        Reviewed by Adam Barth.
177110
177111        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
177112        declarations of webaudio from DOMWindow.idl into a new IDL file
177113        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
177114        feature (aka a module).
177115
177116        - This patch changes the build flow of WebCore.gyp as follows:
177117
177118            Previous build flow:
177119                foreach $idl (all IDL files) {
177120                    generate-bindings.pl depends on $idl;
177121                    generate-bindings.pl reads $idl;
177122                    generate-bindings.pl generates .h and .cpp files for $idl;
177123                }
177124
177125            New build flow (See the discussions in bug 72138 for more details):
177126                resolve-supplemental.pl depends on all IDL files;
177127                resolve-supplemental.pl reads all IDL files;
177128                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
177129                resolve-supplemental.pl outputs supplemental_dependency.tmp;
177130                foreach $idl (all IDL files) {
177131                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
177132                    generate-bindings.pl reads $idl;
177133                    generate-bindings.pl reads supplemental_dependency.tmp;
177134                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
177135                }
177136
177137        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
177138        will be removed after build scripts for all platforms support the [Supplemental] IDL.
177139        The motivation for the [Supplemented] IDL is as follows:
177140
177141        In order to support the [Supplemental] IDL, we need to
177142        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
177143        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
177144
177145        This build flow requires a change on the following build scripts,
177146        but changing all the build scripts all at once without any regression is too difficult:
177147
177148            - DerivedSources.make
177149            - DerivedSources.pri
177150            - GNUmakefile.am
177151            - PlatformBlackBerry.cmake
177152            - UseJSC.cmake
177153            - UseV8.cmake
177154            - WebCore.vcproj/MigrateScripts
177155            - WebCore.vcproj/WebCore.vcproj
177156            - bindings/gobject/GNUmakefile.am
177157            - WebCore.gyp/WebCore.gyp
177158
177159        Thus, we are planning to change the build scripts one by one, which implies that
177160        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
177161        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
177162        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
177163        in another IDL file somewhere, like this:
177164
177165            DOMWindowWebAudio.idl:
177166                interface [
177167                    Supplemental=DOMWindow
177168                ] DOMWindowWebAudio {
177169                    attribute attr1;
177170                    attribute attr2;
177171                };
177172
177173            DOMWindow.idl:
177174                interface [
177175                ] DOMWindow {
177176                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
177177                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
177178                    attribute attr3;
177179                    attribute attr4;
177180                };
177181
177182        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
177183
177184            - If a given build script supports the [Supplemental] IDL,
177185            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
177186            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
177187            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
177188            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
177189
177190        Tests: webaudio/*
177191
177192        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
177193        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
177194        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
177195        * WebCore.gypi: Added DOMWindowWebAudio.idl.
177196        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
177197        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
177198        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
177199
1772002011-12-11  Andreas Kling  <kling@webkit.org>
177201
177202        Micro-optimize CSSStyleSelector::findSiblingForStyleSharing().
177203        <http://webkit.org/b/74261>
177204
177205        Reviewed by Antti Koivisto.
177206
177207        Move the isStyledElement() check from canShareStyleWithElement() into the
177208        loop in findSiblingForStyleSharing(), and tighten up the argument/return
177209        types to StyledElement* as appropriate.
177210
177211        * css/CSSStyleSelector.cpp:
177212        (WebCore::CSSStyleSelector::canShareStyleWithElement):
177213        (WebCore::CSSStyleSelector::findSiblingForStyleSharing):
177214        (WebCore::CSSStyleSelector::locateSharedStyle):
177215        * css/CSSStyleSelector.h:
177216
1772172011-12-11  Shinya Kawanaka  <shinyak@google.com>
177218
177219        Asynchronous path synchronous path of SpellChecker should share the code to mark misspellings.
177220        https://bugs.webkit.org/show_bug.cgi?id=73616
177221
177222        Reviewed by Hajime Morita.
177223
177224        Asynchronous spellchecking path should call the same method for the synchronous spellchecking path
177225        to mark misspellings.
177226
177227        No new tests. Covered by existing tests.
177228
177229        * editing/Editor.cpp:
177230        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
177231        (WebCore::Editor::markAndReplaceFor):
177232          Takes SpellCheckRequest object.
177233        * editing/Editor.h:
177234        * editing/SpellChecker.cpp:
177235        (WebCore::SpellChecker::didCheck):
177236          Calls the same method of synchronous spellchecking path.
177237
1772382011-12-11  Luke Macpherson   <macpherson@chromium.org>
177239
177240        Implement CSS display property in CSSStyleApplyProperty.
177241        https://bugs.webkit.org/show_bug.cgi?id=73500
177242
177243        Reviewed by Andreas Kling.
177244
177245        Refactoring only / no functionality changed.
177246
177247        * css/CSSStyleApplyProperty.cpp:
177248        (WebCore::ApplyPropertyDisplay::isValidDisplayValue):
177249        (WebCore::ApplyPropertyDisplay::applyInheritValue):
177250        (WebCore::ApplyPropertyDisplay::applyInitialValue):
177251        (WebCore::ApplyPropertyDisplay::applyValue):
177252        (WebCore::ApplyPropertyDisplay::createHandler):
177253        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
177254        * css/CSSStyleSelector.cpp:
177255        (WebCore::CSSStyleSelector::applyProperty):
177256
1772572011-12-11  Geoffrey Garen  <ggaren@apple.com>
177258
177259        Try to fix the Qt build.
177260
177261        Unreviewed.
177262
177263        * css/CSSStyleDeclaration.cpp: Maybe an #include will solve our problem?
177264        Someday, compiler error messages will not suck. Today is not that day.
177265
1772662011-12-11  Luke Macpherson   <macpherson@chromium.org>
177267
177268        Implement CSS resize property in CSSStyleApplyProperty.
177269        https://bugs.webkit.org/show_bug.cgi?id=74162
177270
177271        Reviewed by Julien Chaffraix.
177272
177273        No new tests / refactoring only.
177274
177275        * css/CSSStyleApplyProperty.cpp:
177276        (WebCore::ApplyPropertyResize::applyValue):
177277        (WebCore::ApplyPropertyResize::createHandler):
177278        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
177279        * css/CSSStyleSelector.cpp:
177280        (WebCore::CSSStyleSelector::applyProperty):
177281
1772822011-12-11  Andreas Kling  <kling@webkit.org>
177283
177284        Move CSSElementStyleDeclaration to its own cpp/h files.
177285        <http://webkit.org/b/74256>
177286
177287        Reviewed by Sam Weinig.
177288
177289        CSSElementStyleDeclaration is old enough to move out of CSSMutableStyleDeclaration's
177290        attic and into her own apartment. 
177291
177292        * CMakeLists.txt:
177293        * GNUmakefile.list.am:
177294        * Target.pri:
177295        * WebCore.gypi:
177296        * WebCore.vcproj/WebCore.vcproj:
177297        * WebCore.xcodeproj/project.pbxproj:
177298        * bindings/js/JSDOMBinding.h:
177299        * css/CSSElementStyleDeclaration.cpp: Added.
177300        (WebCore::CSSElementStyleDeclaration::styleSheet):
177301        * css/CSSElementStyleDeclaration.h: Added.
177302        (WebCore::CSSElementStyleDeclaration::element):
177303        (WebCore::CSSElementStyleDeclaration::setElement):
177304        (WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
177305        (WebCore::CSSElementStyleDeclaration::~CSSElementStyleDeclaration):
177306        * css/CSSInlineStyleDeclaration.h:
177307        * css/CSSMutableStyleDeclaration.cpp:
177308        * css/CSSMutableStyleDeclaration.h:
177309        * dom/CSSMappedAttributeDeclaration.h:
177310
1773112011-12-11  Benjamin Poulain  <bpoulain@apple.com>
177312
177313        Add KillRingNone.cpp to Mac build system
177314        https://bugs.webkit.org/show_bug.cgi?id=74168
177315
177316        Reviewed by David Kilzer.
177317
177318        Add KillRingNone.cpp so it can be used on iOS, but
177319        blacklist the file from the build in order to avoid
177320        conflicts with KillRingMac.
177321
177322        * Configurations/WebCore.xcconfig:
177323        * WebCore.xcodeproj/project.pbxproj:
177324
1773252011-12-11  Peter Rybin  <peter.rybin@gmail.com>
177326
177327        Web Inspector: [protocol] alter some type names generated from Inspector.json
177328        https://bugs.webkit.org/show_bug.cgi?id=74247
177329
177330        Reviewed by Pavel Feldman.
177331
177332        Manually-filled map added that contains problem type names and its replacement.
177333
177334        * inspector/CodeGeneratorInspector.py:
177335        (fix_type_name.Result):
177336        (fix_type_name.Result.output_comment):
177337        (fix_type_name):
177338        (TypeBindings.create_for_named_type_declaration.write_doc):
177339        (TypeBindings.create_for_named_type_declaration.EnumBinding.generate_type_builder):
177340        (TypeBindings.create_for_named_type_declaration.PlainString.generate_type_builder):
177341        (TypeBindings):
177342        (TypeBindings.create_for_named_type_declaration.ClassBinding.generate_type_builder):
177343        (Generator.process_types):
177344
1773452011-12-11  Andreas Kling  <kling@webkit.org>
177346
177347        WK2/NetscapePlugin: Incorrect mouse event coordinates when frameScaleFactor != 1.
177348        <http://webkit.org/b/74209> and <rdar://problem/10438197>
177349
177350        Reviewed by Anders Carlsson.
177351
177352        * WebCore.exp.in: Export AffineTransform::scale(double).
177353
1773542011-12-10  Andreas Kling  <kling@webkit.org>
177355
177356        Remove OS(SYMBIAN) block from Settings constructor.
177357        <http://webkit.org/b/74248>
177358
177359        Reviewed by Benjamin Poulain.
177360
177361        Kill the last OS(SYMBIAN) block in WebKit!
177362
177363        * page/Settings.cpp:
177364        (WebCore::Settings::Settings):
177365
1773662011-12-11  Dan Bernstein  <mitz@apple.com>
177367
177368        <rdar://problem/10561285> REGRESSION (r80438): First word on a line or after collapsed space may not be hyphenated even though it should
177369        https://bugs.webkit.org/show_bug.cgi?id=74239
177370
177371        Reviewed by Anders Carlsson.
177372
177373        Tests: fast/text/hyphenate-first-word-after-skipped-space-expected.html
177374               fast/text/hyphenate-first-word-after-skipped-space.html
177375
177376        * rendering/RenderBlockLineLayout.cpp:
177377        (WebCore::tryHyphenating): Replaced the assumption that the character at lastSpace is a space
177378        iff lastSpace is non-zero with a test of whether it is a space, in the sense that it should
177379        not be counted as part of the prefix when comparing it to the value of hyphenate-limit-before.
177380
1773812011-12-10  Benjamin Poulain  <bpoulain@apple.com>
177382
177383        #ifdef the parts of the Mac platform which should not be used on iOS
177384        https://bugs.webkit.org/show_bug.cgi?id=74246
177385
177386        Reviewed by David Kilzer.
177387
177388        * Configurations/WebCore.xcconfig:
177389        * platform/FileSystem.cpp:
177390        * platform/mac/FileSystemMac.mm:
177391        * platform/mac/Language.mm:
177392        (+[WebLanguageChangeObserver _webkit_languagePreferencesDidChange]):
177393        (WebCore::createHTTPStyleLanguageCode):
177394        (WebCore::platformDefaultLanguage):
177395        * platform/mac/LocalizedStringsMac.mm:
177396        (WebCore::localizedString):
177397        (+[WebCoreSharedBufferData initialize]):
177398        * platform/mac/WebCoreNSStringExtras.h:
177399        * platform/mac/WebCoreNSStringExtras.mm:
177400        * platform/mac/WebFontCache.mm:
177401        * platform/mac/WebNSAttributedStringExtras.mm: The value NSAttachmentCharacter is
177402        not defined in the iOS SDK so we add it here.
177403
1774042011-12-10  Ryosuke Niwa  <rniwa@webkit.org>
177405
177406        The previous fix broke Lion release build. Fix that.
177407
177408        * editing/SpellingCorrectionCommand.cpp:
177409
1774102011-12-10  Ryosuke Niwa  <rniwa@webkit.org>
177411
177412        Lion build fix attempt after r102527.
177413
177414        * editing/SpellingCorrectionCommand.cpp:
177415
1774162011-12-10  Kevin Ollivier  <kevino@theolliviers.com>
177417
177418        [wx] Unreviewed build fixes. Add missing header for CPP
177419        DOM bindings and add stubs for new DPI methods.
177420        
177421        * bindings/scripts/CodeGeneratorCPP.pm:
177422        (AddIncludesForType):
177423        * platform/wx/ScreenWx.cpp:
177424        (WebCore::screenHorizontalDPI):
177425        (WebCore::screenVerticalDPI):
177426
1774272011-12-10  Ryosuke Niwa  <rniwa@webkit.org>
177428
177429        Mac build fix. Remove an erroneous OVERRIDE.
177430
177431        * editing/CompositeEditCommand.h:
177432
1774332011-12-09  Robert Hogan  <robert@webkit.org>
177434
177435        CSS 2.1 failure: numerous counter-increment-* tests fail
177436        https://bugs.webkit.org/show_bug.cgi?id=73360
177437
177438        Reviewed by Julien Chaffraix.
177439
177440        Allow counter-increment to handle integer underflow and overflow.
177441        Also allow 'counter' to inherit.
177442
177443        * css/CSSStyleApplyProperty.cpp:
177444        (WebCore::ApplyPropertyCounter::applyInheritValue):
177445        (WebCore::ApplyPropertyCounter::applyValue):
177446        (WebCore::ApplyPropertyCounter::createHandler):
177447
1774482011-12-09  Ryosuke Niwa  <rniwa@webkit.org>
177449
177450        There should be a way to count the number of nodes held by undo stack
177451        https://bugs.webkit.org/show_bug.cgi?id=74099
177452
177453        Reviewed by Enrica Casucci.
177454
177455        Add getNodesInCommand to all SimpleEditCommands and EditCommandComposition in debug builds.
177456        We can easily aggregate the number of nodes held by the undo stack by calling
177457        this function on each item in the undo stack.
177458
177459        * editing/AppendNodeCommand.cpp:
177460        (WebCore::AppendNodeCommand::getNodesInCommand):
177461        * editing/AppendNodeCommand.h:
177462        * editing/CompositeEditCommand.cpp:
177463        (WebCore::EditCommandComposition::getNodesInCommand):
177464        * editing/CompositeEditCommand.h:
177465        * editing/DeleteFromTextNodeCommand.cpp:
177466        (WebCore::DeleteFromTextNodeCommand::getNodesInCommand):
177467        * editing/DeleteFromTextNodeCommand.h:
177468        * editing/EditCommand.cpp:
177469        (WebCore::SimpleEditCommand::addNodeAndDescedents):
177470        * editing/EditCommand.h:
177471        * editing/Editor.cpp:
177472        (WebCore::Editor::appliedEditing):
177473        * editing/InsertIntoTextNodeCommand.cpp:
177474        (WebCore::InsertIntoTextNodeCommand::getNodesInCommand):
177475        * editing/InsertIntoTextNodeCommand.h:
177476        * editing/InsertNodeBeforeCommand.cpp:
177477        (WebCore::InsertNodeBeforeCommand::getNodesInCommand):
177478        * editing/InsertNodeBeforeCommand.h:
177479        * editing/MergeIdenticalElementsCommand.cpp:
177480        (WebCore::MergeIdenticalElementsCommand::getNodesInCommand):
177481        * editing/MergeIdenticalElementsCommand.h:
177482        * editing/RemoveCSSPropertyCommand.cpp:
177483        (WebCore::RemoveCSSPropertyCommand::getNodesInCommand):
177484        * editing/RemoveCSSPropertyCommand.h:
177485        * editing/RemoveNodeCommand.cpp:
177486        (WebCore::RemoveNodeCommand::getNodesInCommand):
177487        * editing/RemoveNodeCommand.h:
177488        * editing/ReplaceNodeWithSpanCommand.cpp:
177489        (WebCore::ReplaceNodeWithSpanCommand::getNodesInCommand):
177490        * editing/ReplaceNodeWithSpanCommand.h:
177491        * editing/SetNodeAttributeCommand.cpp:
177492        (WebCore::SetNodeAttributeCommand::getNodesInCommand):
177493        * editing/SetNodeAttributeCommand.h:
177494        * editing/SetSelectionCommand.h:
177495        * editing/SplitElementCommand.cpp:
177496        (WebCore::SplitElementCommand::getNodesInCommand):
177497        * editing/SplitElementCommand.h:
177498        * editing/SplitTextNodeCommand.cpp:
177499        (WebCore::SplitTextNodeCommand::getNodesInCommand):
177500        * editing/SplitTextNodeCommand.h:
177501        * editing/WrapContentsInDummySpanCommand.cpp:
177502        (WebCore::WrapContentsInDummySpanCommand::getNodesInCommand):
177503        * editing/WrapContentsInDummySpanCommand.h:
177504
1775052011-11-09  Robert Hogan  <robert@webkit.org>
177506
177507        CSS 2.1 failure: outline-color-* tests fail
177508        https://bugs.webkit.org/show_bug.cgi?id=71931
177509
177510        Reviewed by Julien Chaffraix.
177511
177512        Test: css2.1/20110323/outline-color-001.html
177513
177514        WebKit didn't paint the top block in this series of tests because it ignored the outline
177515        of objects with a zero size. Fix this by taking account of both offset and width of the
177516        outline when deciding whether to paint it. 
177517
177518        * rendering/RenderObject.cpp:
177519        (WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size
177520
1775212011-12-10   Arko Saha  <arko@motorola.com>
177522
177523        Microdata: Fix compilation error in MICRODATA enabled build.
177524        https://bugs.webkit.org/show_bug.cgi?id=74235
177525
177526        Reviewed by Andreas Kling.
177527
177528        * dom/Document.cpp:
177529        (WebCore::Document::getItems):
177530
1775312011-12-10  Jarred Nicholls  <jarred@sencha.com>
177532
177533        [V8] Remove old ArrayBuffer guards from V8XMLHttpRequestCustom.cpp
177534        https://bugs.webkit.org/show_bug.cgi?id=74234
177535
177536        Reviewed by Adam Barth.
177537
177538        No new tests are necessary.
177539
177540        * bindings/v8/custom/V8XMLHttpRequestCustom.cpp:
177541        (WebCore::V8XMLHttpRequest::responseAccessorGetter):
177542
1775432011-12-10  Noel Gordon  <noel.gordon@gmail.com>
177544
177545        WebPImageDecoder progressive decodes fail to decode valid images
177546        https://bugs.webkit.org/show_bug.cgi?id=74062
177547
177548        Reviewed by Adam Barth.
177549
177550        The WEBP header is followed by a so-called P0 header, then some data to
177551        decode.  If a partial P0 header is received during progressive decodes,
177552        WebPIDecGetRGB() returns false; that makes the decoder enter the failed
177553        state, no image appears on the page.
177554
177555        James Zern (webp) recommended the following via e-mail:
177556
177557        WebPIUpdate() validates input data, and will return an error status for
177558        malformed data (bit-stream error, invalid data).  Otherwise, it returns
177559        OK or SUSPENDED.  OK means that decoding is done/complete/no-error, and
177560        SUSPENDED means more input data is needed to complete decoding.  A NULL
177561        return from WebPIDecGetRGB() is valid at this time due to a partial P0,
177562        and should not be interpreted as a decoding failure.
177563
177564        No new tests. Not something DumpRenderTree can easily test.
177565
177566        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
177567        (WebCore::WEBPImageDecoder::decode):  A NULL WebPIDecGetRGB() return is
177568        acceptable here.  Return false instead of failing the decoder.
177569
1775702011-12-09  Benjamin Poulain  <bpoulain@apple.com>
177571
177572        Add the FileSystem functions of iOS
177573        https://bugs.webkit.org/show_bug.cgi?id=74164
177574
177575        Reviewed by David Kilzer.
177576
177577        Two functions are needed on iOS for temporary files and directories.
177578
177579        * WebCore.exp.in:
177580        * WebCore.xcodeproj/project.pbxproj:
177581        * platform/ios/FileSystemIOS.h: Added.
177582        * platform/ios/FileSystemIOS.mm: Added.
177583        (WebCore::createTemporaryDirectory):
177584        (WebCore::createTemporaryFile):
177585
1775862011-12-09  Jacky Jiang  <zhajiang@rim.com>
177587
177588        Remove ResourceHandle::bufferedData() from ResourceHandleBlackBerry.cpp
177589        https://bugs.webkit.org/show_bug.cgi?id=74197
177590
177591        The bufferedData() was removed in r95120.
177592
177593        Reviewed by Rob Buis.
177594
177595        Trivial fix, so no new tests.
177596
177597        * platform/network/blackberry/ResourceHandleBlackBerry.cpp:
177598
1775992011-12-09  Eric Penner  <epenner@google.com>
177600
177601        [chromium] Prevent ASSERT in legitimate out-of-memory case.
177602        https://bugs.webkit.org/show_bug.cgi?id=74215
177603
177604        Reviewed by James Robinson.
177605
177606        * platform/graphics/chromium/TiledLayerChromium.cpp:
177607        (WebCore::TiledLayerChromium::updateCompositorResources):
177608
1776092011-12-09   Arko Saha  <arko@motorola.com>
177610
177611        NameNodeListCache should be invalidated when name attribute changes/modified.
177612        https://bugs.webkit.org/show_bug.cgi?id=70810
177613
177614        Reviewed by Ryosuke Niwa.
177615
177616        Test: fast/dom/getelementsbyname-invalidation-cache.html
177617
177618        * html/HTMLAnchorElement.cpp:
177619        (WebCore::HTMLAnchorElement::parseMappedAttribute):
177620        * html/HTMLAppletElement.cpp:
177621        (WebCore::HTMLAppletElement::parseMappedAttribute):
177622        * html/HTMLElement.cpp:
177623        (WebCore::HTMLElement::parseMappedAttribute):
177624        * html/HTMLEmbedElement.cpp:
177625        (WebCore::HTMLEmbedElement::parseMappedAttribute):
177626        * html/HTMLFormElement.cpp:
177627        (WebCore::HTMLFormElement::parseMappedAttribute):
177628        * html/HTMLFrameElementBase.cpp:
177629        (WebCore::HTMLFrameElementBase::parseMappedAttribute):
177630        * html/HTMLIFrameElement.cpp:
177631        (WebCore::HTMLIFrameElement::parseMappedAttribute):
177632        * html/HTMLImageElement.cpp:
177633        (WebCore::HTMLImageElement::parseMappedAttribute):
177634        * html/HTMLMapElement.cpp:
177635        (WebCore::HTMLMapElement::parseMappedAttribute):
177636        * html/HTMLMetaElement.cpp:
177637        (WebCore::HTMLMetaElement::parseMappedAttribute):
177638        * html/HTMLObjectElement.cpp:
177639        (WebCore::HTMLObjectElement::parseMappedAttribute):
177640        * html/HTMLParamElement.cpp:
177641        (WebCore::HTMLParamElement::parseMappedAttribute):
177642
1776432011-12-09  Anders Carlsson  <andersca@apple.com>
177644
177645        Fix Lion release build.
177646
177647        * platform/mac/ScrollAnimatorMac.mm:
177648        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
177649
1776502011-12-09  Mark Pilgrim  <pilgrim@chromium.org>
177651
177652        [FileSystem API] Entry.remove successCallback is required
177653        https://bugs.webkit.org/show_bug.cgi?id=69639
177654
177655        Reviewed by Adam Barth.
177656
177657        Test: fast/filesystem/simple-required-arguments-remove.html
177658
177659        * fileapi/Entry.idl: remove [Optional] flag from Entry.remove.successCallback parameter
177660
1776612011-12-09  Tim Horton  <timothy_horton@apple.com>
177662
177663        background-image transitions trigger between equivalent images
177664        https://bugs.webkit.org/show_bug.cgi?id=74229
177665        <rdar://problem/10558627>
177666
177667        Reviewed by Darin Adler.
177668        Patch by Simon Fraser.
177669
177670        For animation property wrappers around StyleImage properties,
177671        test the equivalence of the image itself, instead of equality of
177672        the StyleImage pointer.
177673
177674        Test: transitions/equivalent-background-image-no-transition.html
177675
177676        * page/animation/AnimationBase.cpp:
177677        (WebCore::StyleImagePropertyWrapper::StyleImagePropertyWrapper):
177678        (WebCore::StyleImagePropertyWrapper::equals):
177679        (WebCore::FillLayerStyleImagePropertyWrapper::FillLayerStyleImagePropertyWrapper):
177680        (WebCore::FillLayerStyleImagePropertyWrapper::equals):
177681        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
177682        (WebCore::AnimationBase::ensurePropertyMap):
177683
1776842011-12-09  Mary Wu  <mary.wu@torchmobile.com.cn>
177685
177686        Small style fix on DragDataBlackBerry.cpp
177687        https://bugs.webkit.org/show_bug.cgi?id=74171
177688
177689        Reviewed by Rob Buis.
177690
177691        Style fix, no function impact, no new tests.
177692
177693        * platform/blackberry/DragDataBlackBerry.cpp:
177694        (WebCore::DragData::containsURL):
177695        (WebCore::DragData::asFilenames):
177696        (WebCore::DragData::asURL):
177697        (WebCore::DragData::asFragment):
177698
1776992011-12-09  Tony Chang  <tony@chromium.org>
177700
177701        add css parsing for flex-flow: wrap and wrap-reverse
177702        https://bugs.webkit.org/show_bug.cgi?id=74008
177703
177704        Reviewed by Ojan Vafai.
177705
177706        Also save 2 bits in StyleFlexibleBoxData by changing the size of m_flexFlow (there are only 4 enum values).
177707
177708        * css/CSSComputedStyleDeclaration.cpp:
177709        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Print the wrap value if it exists.
177710        * css/CSSParser.cpp:
177711        (WebCore::CSSParser::parseValue): Parse a second token and put the values into a CSSValueList.
177712        * css/CSSPrimitiveValueMappings.h:
177713        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
177714        (WebCore::CSSPrimitiveValue::operator EFlexWrap):
177715        * css/CSSStyleApplyProperty.cpp:
177716        (WebCore::ApplyPropertyFlexFlow::applyInheritValue): Does not inherit.
177717        (WebCore::ApplyPropertyFlexFlow::applyInitialValue):
177718        (WebCore::ApplyPropertyFlexFlow::applyValue): Special handler for setting two render style values from one
177719        CSS property.
177720        (WebCore::ApplyPropertyFlexFlow::createHandler):
177721        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
177722        * css/CSSValueKeywords.in:
177723        * rendering/style/RenderStyle.h:
177724        (WebCore::InheritedFlags::flexWrap):
177725        (WebCore::InheritedFlags::setFlexWrap):
177726        (WebCore::InheritedFlags::initialFlexWrap):
177727        * rendering/style/RenderStyleConstants.h: EFlexWrap to hold flex wrap values.
177728        * rendering/style/StyleFlexibleBoxData.cpp:
177729        (WebCore::StyleFlexibleBoxData::StyleFlexibleBoxData):
177730        (WebCore::StyleFlexibleBoxData::operator==):
177731        * rendering/style/StyleFlexibleBoxData.h: 2 bits is enough to hold the 4 flexFlow values.
177732
1777332011-12-09  KwangHyuk Kim  <hyuki.kim@samsung.com>
177734
177735        [EFL] Add RefPtrEfl specialization for evas_object.
177736        https://bugs.webkit.org/show_bug.cgi?id=73790
177737
177738        Reviewed by Ryosuke Niwa.
177739
177740        As evas_object is also based on reference count, RefPtr is applied for evas_object.
177741
177742        * PlatformEfl.cmake:
177743        * platform/efl/RefPtrEfl.cpp: Added.
177744        (WTF::refIfNotNull):
177745        (WTF::derefIfNotNull):
177746        * platform/efl/RefPtrEfl.h: Added.
177747
1777482011-12-09  Tony Chang  <tony@chromium.org>
177749
177750        REGRESSION(102234): 2-3% layout regression
177751        https://bugs.webkit.org/show_bug.cgi?id=74141
177752
177753        Reviewed by David Hyatt.
177754
177755        Don't allocate a RuleSet when there are no regions.
177756
177757        * css/CSSStyleSelector.cpp:
177758        (WebCore::CSSStyleSelector::initForRegionStyling):
177759
1777602011-12-09  Anders Carlsson  <andersca@apple.com>
177761
177762        Fix assertion failure in ScrollAnimatorMac
177763        https://bugs.webkit.org/show_bug.cgi?id=74222
177764
177765        Reviewed by Andreas Kling.
177766
177767        * platform/mac/ScrollAnimatorMac.mm:
177768        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
177769        This can be called with a nil scrollerImp, just return NSZeroPoint when that happens.
177770
1777712011-12-09  Anders Carlsson  <andersca@apple.com>
177772
177773        Move the "is currently drawing into layer" flag out into ScrollbarThemeMac
177774        https://bugs.webkit.org/show_bug.cgi?id=74217
177775
177776        Reviewed by Beth Dakin.
177777
177778        There's no need to store this flag inside ScrollAnimatorMac, just make it a global and put it in ScrollbarThemeMac instead.
177779
177780        * platform/mac/ScrollAnimatorMac.h:
177781        * platform/mac/ScrollAnimatorMac.mm:
177782        (-[WebScrollbarPainterDelegate layer]):
177783        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
177784        * platform/mac/ScrollbarThemeMac.h:
177785        * platform/mac/ScrollbarThemeMac.mm:
177786        (WebCore::ScrollbarThemeMac::isCurrentlyDrawingIntoLayer):
177787        (WebCore::ScrollbarThemeMac::paint):
177788
1777892011-12-09  Anders Carlsson  <andersca@apple.com>
177790
177791        Minor cleanup in ScrollAnimatorMac.mm
177792        https://bugs.webkit.org/show_bug.cgi?id=74211
177793
177794        Reviewed by Andreas Kling.
177795
177796        * platform/mac/ScrollAnimatorMac.mm:
177797        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
177798        No need to get the scrollbar from the scroll animator anymore.
177799
177800        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
177801        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
177802        Try to get data from the scrollbar and/or the scrollable area instead of the scrollbar painter.
177803
1778042011-12-09  David Levin  <levin@chromium.org>
177805
177806        Regression(r53595): Sync xhr requests in workers aren't terminated on worker close.
177807        https://bugs.webkit.org/show_bug.cgi?id=71695
177808
177809        Reviewed by Zoltan Herczeg.
177810
177811        Overview: Message loops rely on the message queue being killed in order
177812        to exit. r53595 stopped this from happening because killing a message loop
177813        would also stop it from doing database clean up tasks. The database clean up
177814        tasks needed to be tasks due to ordering issues. (They wanted to run after
177815        certain order tasks were run.) This was solved by once again terminating
177816        the message queue but then still runnning clean-up tasks from the killed
177817        message queue.
177818
177819        * workers/WorkerRunLoop.cpp:
177820        (WebCore::WorkerRunLoop::run): Added the call to run clean-up tasks.
177821        (WebCore::WorkerRunLoop::runInMode):
177822        (WebCore::WorkerRunLoop::runCleanupTasks): Loop to simply clear out all clean up tasks.
177823        (WebCore::WorkerRunLoop::Task::performTask): Stop non-clean up tasks
177824        from running after the loop has been terminated.
177825        * workers/WorkerRunLoop.h:
177826        (WebCore::WorkerRunLoop::terminated): Just made it const.
177827        * workers/WorkerThread.cpp:
177828        (WebCore::WorkerThreadShutdownFinishTask::performTask): Removed
177829        the terminate clause since it was put back in stop.
177830        (WebCore::WorkerThread::stop): Terminate the run loop so
177831        that all loops will exit and clean up tasks will run. Also removed a comment
177832        about nested workers because nested workers are no longer imminent and the
177833        issue mentioned is one of many that should logically be investigated -- behavior correctness
177834        in the face of different orderings of shutdown between the document and each worker --
177835        when implementing them.
177836
1778372011-12-09  Tony Chang  <tony@chromium.org>
177838
177839        Unreviewed, rolling out r102416.
177840        http://trac.webkit.org/changeset/102416
177841        https://bugs.webkit.org/show_bug.cgi?id=73394
177842
177843        Chromium Win clobber builds are failing.
177844
177845        * WebCore.gyp/WebCore.gyp:
177846        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
177847        (main):
177848        * WebCore.gypi:
177849        * bindings/scripts/generate-bindings.pl:
177850        * page/DOMWindow.idl:
177851        * webaudio/DOMWindowWebAudio.idl: Removed.
177852
1778532011-12-09  Eric Carlson  <eric.carlson@apple.com>
177854
177855        JSC wrappers for TextTrack and TextTrackCue should not be collected during event dispatch or when owner is reachable
177856        https://bugs.webkit.org/show_bug.cgi?id=72179
177857
177858        Reviewed by Geoff Garen.
177859
177860        Tests: media/track/text-track-cue-is-reachable.html
177861               media/track/text-track-is-reachable.html
177862
177863        * GNUmakefile.list.am: Add JSTextTrackCueCustom.cpp and JSTextTrackCustom.cpp.
177864        * Target.pri: Ditto.
177865        * WebCore.gypi: Ditto.
177866        * WebCore.xcodeproj/project.pbxproj: Ditto
177867        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
177868
177869        * bindings/js/JSTextTrackCueCustom.cpp: Added.
177870        (WebCore::JSTextTrackCueOwner::isReachableFromOpaqueRoots): New.
177871        (WebCore::JSTextTrackCueOwner::visitChildren): New.
177872
177873        * bindings/js/JSTextTrackCustom.cpp: Added.
177874        (WebCore::JSTextTrackOwner::isReachableFromOpaqueRoots): New.
177875        (WebCore::JSTextTrack::visitChildren): New, mark all cues.
177876        * bindings/js/JSTextTrackCustom.h: Added.
177877        (WebCore::root): New.
177878
177879        * bindings/js/JSTextTrackListCustom.cpp:
177880        (WebCore::JSTextTrackList::visitChildren): New, mark all tracks.
177881
177882        * html/HTMLMediaElement.cpp:
177883        (WebCore::HTMLMediaElement::trackWillBeRemoved): TextTracks::remove now takes a TextTrack*.
177884
177885        * html/LoadableTextTrack.h:
177886        (WebCore::LoadableTextTrack::trackElement): New, return the <track>.
177887
177888        * html/TextTrack.cpp:
177889        (WebCore::TextTrack::TextTrack): Initialize m_mediaElement.
177890        * html/TextTrack.h:
177891        (WebCore::TextTrack::setMediaElement): New.
177892        (WebCore::TextTrack::mediaElement): Ditto.
177893
177894        * html/TextTrack.idl: Add CustomIsReachable and CustomMarkFunction.
177895
177896        * html/TextTrackCue.idl: Add CustomIsReachable.
177897
177898        * html/track/TextTrackList.cpp:
177899        (TextTrackList::append): Set track's media element.
177900        (TextTrackList::remove): Clear track's media element. Take a raw ptr, not a PassRefPtr.
177901        * html/track/TextTrackList.h:
177902        * html/track/TextTrackList.idl: Add CustomMarkFunction
177903
1779042011-12-09  Chris Fleizach  <cfleizach@apple.com>
177905
177906        WebKit should ignore images with @alt matching only whitespace
177907        https://bugs.webkit.org/show_bug.cgi?id=74189
177908
177909        Reviewed by Darin Adler.
177910
177911        Test: accessibility/img-alt-tag-only-whitespace.html
177912
177913        * accessibility/AccessibilityRenderObject.cpp:
177914        (WebCore::AccessibilityRenderObject::accessibilityIsIgnored):
177915
1779162011-12-09  Anders Carlsson  <andersca@apple.com>
177917
177918        Remove NSAnimationContext calls
177919        https://bugs.webkit.org/show_bug.cgi?id=74207
177920
177921        Reviewed by Sam Weinig.
177922
177923        NSAnimationContext is not used for NSAnimation subclasses, so the calls to beginGrouping/endGrouping and setDuration:
177924        are essentially no-ops. Remove them.
177925
177926        * platform/mac/ScrollAnimatorMac.mm:
177927        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
177928        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
177929
1779302011-12-09  Anders Carlsson  <andersca@apple.com>
177931
177932        Rename scrollAnimatorDestroyed to invalidate
177933        https://bugs.webkit.org/show_bug.cgi?id=74206
177934
177935        Reviewed by Sam Weinig.
177936
177937        Since these methods can be called when both scrollbars are destroyed and the scroll animator itself is
177938        destroyed, rename it to something more neutral.
177939
177940        * platform/mac/ScrollAnimatorMac.mm:
177941        (-[WebScrollAnimationHelperDelegate invalidate]):
177942        (-[WebScrollbarPartAnimation invalidate]):
177943        (-[WebScrollbarPainterDelegate invalidate]):
177944        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
177945        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
177946        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
177947
1779482011-12-09  Anders Carlsson  <andersca@apple.com>
177949
177950        WebScrollbarPainterControllerDelegate should know about the ScrollableArea, not the ScrollAnimatorMac
177951        https://bugs.webkit.org/show_bug.cgi?id=74204
177952
177953        Reviewed by Sam Weinig.
177954
177955        It makes more logical sense to associate the WebScrollbarPainterControllerDelegate object with its ScrollableArea, since
177956        painting has nothing to do with animation.
177957
177958        * platform/mac/ScrollAnimatorMac.mm:
177959        (-[WebScrollbarPainterControllerDelegate initWithScrollableArea:]):
177960        (-[WebScrollbarPainterControllerDelegate invalidate]):
177961        (-[WebScrollbarPainterControllerDelegate contentAreaRectForScrollerImpPair:]):
177962        (-[WebScrollbarPainterControllerDelegate inLiveResizeForScrollerImpPair:]):
177963        (-[WebScrollbarPainterControllerDelegate mouseLocationInContentAreaForScrollerImpPair:]):
177964        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:convertContentPoint:toScrollerImp:]):
177965        (-[WebScrollbarPainterControllerDelegate scrollerImpPair:updateScrollerStyleForNewRecommendedScrollerStyle:]):
177966        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
177967        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
177968
1779692011-12-09  Jarred Nicholls  <jarred@sencha.com>
177970
177971        [JSC] Allow cached attributes in bindings that declare a custom mark function
177972        https://bugs.webkit.org/show_bug.cgi?id=74187
177973
177974        Reviewed by Oliver Hunt.
177975
177976        No new tests, current binding tests are sufficient.
177977
177978        * bindings/scripts/CodeGeneratorJS.pm:
177979        (GenerateImplementation):
177980
1779812011-12-09  Anders Carlsson  <andersca@apple.com>
177982
177983        Remove duplicate animation ivars
177984        https://bugs.webkit.org/show_bug.cgi?id=74194
177985
177986        Reviewed by Sam Weinig.
177987
177988        Since we now have one WebScrollbarPainterDelegate for each scrollbar, we no longer need separate
177989        vertical/horizontal animation objects, so get rid of them.
177990
177991        * platform/mac/ScrollAnimatorMac.mm:
177992        (-[WebScrollbarPainterDelegate cancelAnimations]):
177993        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
177994        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
177995        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
177996        (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
177997
1779982011-12-09  Anders Carlsson  <andersca@apple.com>
177999
178000        WebScrollbarPartAnimation should only know about the scrollbar it's animating
178001        https://bugs.webkit.org/show_bug.cgi?id=74192
178002
178003        Reviewed by Sam Weinig.
178004
178005        * platform/mac/ScrollAnimatorMac.mm:
178006        (-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
178007        Change the designated initializer to just take the scrollbar. Also, make the animation non-blocking here
178008        so we don't have to do it in all the call sites.
178009
178010        (-[WebScrollbarPartAnimation startAnimation]):
178011        Update the scrollbar painter.
178012
178013        (-[WebScrollbarPartAnimation setCurrentProgress:]):
178014        Just invalidate the scrollbar we're animating.
178015
178016        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
178017        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
178018        Update call sites to use the new designated initializer.
178019
1780202011-12-08  Jocelyn Turcotte  <jocelyn.turcotte@nokia.com>
178021
178022        Inspector: Don't translate the context when rendering the highlights on a tiled layer.
178023        https://bugs.webkit.org/show_bug.cgi?id=74085
178024
178025        Reviewed by Kenneth Rohde Christiansen.
178026
178027        When the frame view is using fixed layouting, the page overlay is the size of the whole
178028        page and the context shouldn't be translated. The visible rect is still used in that
178029        case to display element titles within the visible rect.
178030
178031        Also:
178032        - Rename overlayRect to visibleRect to reduce confusion in this case.
178033        - Remove the superfluous boundingBox check.
178034
178035        * inspector/DOMNodeHighlighter.cpp:
178036
1780372011-12-09  Vsevolod Vlasov  <vsevik@chromium.org>
178038
178039        Unreviewed inspector utilities syntax fix.
178040
178041        * inspector/front-end/utilities.js:
178042        ():
178043
1780442011-12-09  Joone Hur  <joone.hur@collabora.co.uk>, Gustavo Noronha Silva  <gustavo.noronha@collabora.co.uk> 
178045
178046        [GTK] Initial implementation of Accelerated Compositing using Clutter
178047        https://bugs.webkit.org/show_bug.cgi?id=73319
178048
178049        Reviewed by Gustavo Noronha Silva.
178050
178051        No new tests added as this feature will be able to reuse the existing 
178052        CSS3 transforms layout tests.
178053
178054        * GNUmakefile.am: Include WebCore/platform/graphics/clutter path.
178055        * GNUmakefile.list.am: Add GraphicsLayerClutter.
178056        * platform/clutter/GRefPtrClutter.cpp: Added.
178057        (WTF::adoptGRef):
178058        (WTF::ClutterActor):
178059        * platform/clutter/GRefPtrClutter.h: Added.
178060        * platform/graphics/GraphicsLayer.h: Define PlatformLayer type, which represents ClutterActor.
178061        * platform/graphics/clutter/GraphicsLayerClutter.cpp: Boilerplate implementation.
178062        (WebCore::GraphicsLayerClutter::GraphicsLayerClutter):
178063        (WebCore::GraphicsLayerClutter::platformLayer):
178064        * platform/graphics/clutter/GraphicsLayerClutter.h: Boilerplate implementation.
178065
1780662011-12-08  Vsevolod Vlasov  <vsevik@chromium.org>
178067
178068        Web Inspector: Introduce a Map class allowing to store values indexed by arbitrary objects.
178069        https://bugs.webkit.org/show_bug.cgi?id=74084
178070
178071        Reviewed by Pavel Feldman.
178072
178073        Test: inspector/map.html
178074
178075        * inspector/front-end/treeoutline.js:
178076        (TreeOutline):
178077        ():
178078        (TreeElement.prototype.collapse):
178079        (TreeElement.prototype.expand):
178080        * inspector/front-end/utilities.js:
178081        ():
178082
1780832011-12-09  Peter Rybin  <peter.rybin@gmail.com>
178084
178085        Web Inspector: [protocol] generate C++ classes for protocol JSON named types
178086        https://bugs.webkit.org/show_bug.cgi?id=72835
178087
178088        Reviewed by Yury Semikhatsky.
178089
178090        Extends python generator functionality.
178091        Makes constructor in InspectorObject public.
178092
178093        * inspector/CodeGeneratorInspector.py:
178094        * inspector/InspectorValues.h:
178095
1780962011-12-08  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
178097
178098        [Qt] [WK2] Webkit should release TextureMapper GL objects if page paint node is deallocated.
178099        https://bugs.webkit.org/show_bug.cgi?id=73591
178100
178101        Reviewed by Noam Rosenthal.
178102
178103        Implementation of helper function to remove all GL allocated tiles
178104        when QQuickWebView gets removed from canvas.
178105
178106        Tested by new API test in WK2 (tst_QQuickWebView::removeFromCanvas).
178107
178108        * platform/graphics/texmap/TextureMapperNode.cpp:
178109        (WebCore::TextureMapperNode::purgeNodeTexturesRecursive):
178110        * platform/graphics/texmap/TextureMapperNode.h:
178111
1781122011-12-08  Leo Yang  <leo.yang@torchmobile.com.cn>
178113
178114        Upstream platform/network/blackberry/DeferredData.{h, cpp}, NetworkJob.{h, cpp} and NetworkManager.{h, cpp}
178115        https://bugs.webkit.org/show_bug.cgi?id=73791
178116
178117        Reviewed by Rob Buis.
178118
178119        Other main contributors:
178120        Joe Mason <jmason@rim.com>
178121        Lianghui Chen <liachen@rim.com>
178122        Charles Wei <charles.wei@torchmobile.com.cn>
178123
178124        Initial upstream, can't be built yet, no new tests.
178125
178126        * platform/network/blackberry/DeferredData.cpp: Added.
178127        * platform/network/blackberry/DeferredData.h: Added.
178128        * platform/network/blackberry/NetworkJob.cpp: Added.
178129        * platform/network/blackberry/NetworkJob.h: Added.
178130        * platform/network/blackberry/NetworkManager.cpp: Added.
178131        * platform/network/blackberry/NetworkManager.h: Added.
178132
1781332011-12-08  Ryosuke Niwa  <rniwa@webkit.org>
178134
178135        It's semantically incorrect to call notifyNodeListsAttributeChanged in dispatchSubtreeModifiedEvent
178136        https://bugs.webkit.org/show_bug.cgi?id=74028
178137
178138        Reviewed by Darin Adler.
178139
178140        Remove a call to notifyNodeListsAttributeChanged in dispatchSubtreeModified and add explicit calls
178141        to notifyNodeListsAttributeChanged at appropriate places.
178142
178143        Also merge notifyNodeListsChildrenChanged with notifyLocalNodeListsChildrenChanged, and
178144        notifyNodeListsAttributeChanged with notifyLocalNodeListsAttributeChanged, and rename them to
178145        invalidateNodeListsCacheAfterAttributeChanges and invalidateNodeListsCacheAfterNodeChanges respectively.
178146
178147        * dom/Attr.cpp:
178148        (WebCore::Attr::childrenChanged):
178149        * dom/ContainerNode.cpp:
178150        (WebCore::ContainerNode::childrenChanged):
178151        * dom/Document.cpp:
178152        (WebCore::Document::updateRangesAfterNodeChanges):
178153        * dom/Document.h:
178154        * dom/NamedNodeMap.cpp:
178155        (WebCore::NamedNodeMap::addAttribute):
178156        (WebCore::NamedNodeMap::removeAttribute):
178157        * dom/Node.cpp:
178158        (WebCore::removeNodeListCacheIfPossible):
178159        (WebCore::Node::unregisterDynamicNodeList):
178160        (WebCore::Node::invalidateNodeListsCacheAfterAttributeChanges):
178161        (WebCore::Node::invalidateNodeListsCacheAfterNodeChanges):
178162        (WebCore::Node::dispatchSubtreeModifiedEvent):
178163        * dom/Node.h:
178164        * dom/NodeRareData.h:
178165        * dom/StyledElement.cpp:
178166        (WebCore::StyledElement::classAttributeChanged):
178167
1781682011-12-08  Kenichi Ishibashi  <bashi@chromium.org>
178169
178170        Unreviewed, rolling out r102418.
178171        http://trac.webkit.org/changeset/102418
178172        https://bugs.webkit.org/show_bug.cgi?id=71870
178173
178174        Caused Chromium build failure.
178175
178176        * CMakeLists.txt:
178177        * DerivedSources.make:
178178        * DerivedSources.pri:
178179        * GNUmakefile.list.am:
178180        * Target.pri:
178181        * WebCore.gypi:
178182        * WebCore.xcodeproj/project.pbxproj:
178183        * bindings/js/JSWebGLRenderingContextCustom.cpp:
178184        (WebCore::toJS):
178185        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
178186        (WebCore::toV8Object):
178187        * html/canvas/WebGLExtension.h:
178188        * html/canvas/WebGLRenderingContext.cpp:
178189        (WebCore::WebGLRenderingContext::getExtension):
178190        (WebCore::WebGLRenderingContext::getSupportedExtensions):
178191        (WebCore::WebGLRenderingContext::maybeRestoreContext):
178192        * html/canvas/WebGLRenderingContext.h:
178193        * html/canvas/WebKitLoseContext.cpp: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.cpp.
178194        (WebCore::WebKitLoseContext::WebKitLoseContext):
178195        (WebCore::WebKitLoseContext::~WebKitLoseContext):
178196        (WebCore::WebKitLoseContext::getName):
178197        (WebCore::WebKitLoseContext::create):
178198        (WebCore::WebKitLoseContext::loseContext):
178199        (WebCore::WebKitLoseContext::restoreContext):
178200        * html/canvas/WebKitLoseContext.h: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.h.
178201        * html/canvas/WebKitLoseContext.idl: Renamed from Source/WebCore/html/canvas/WebGLLoseContext.idl.
178202
1782032011-12-08  Fady Samuel  <fsamuel@chromium.org>
178204
178205        [Chromium] Enable viewport metatag
178206        https://bugs.webkit.org/show_bug.cgi?id=73495
178207
178208        Reviewed by Darin Fisher.
178209
178210        Recompute viewpot parameters on frame rect resize.
178211
178212        * page/FrameView.cpp:
178213        (WebCore::FrameView::setFrameRect):
178214
1782152011-12-08  Kent Tamura  <tkent@chromium.org>
178216
178217        Build fix for r102419.
178218        https://bugs.webkit.org/show_bug.cgi?id=73916
178219
178220        * platform/PopupMenuClient.h:
178221        (WebCore::PopupMenuClient::listBoxSelectItem):
178222        Remove unused argument names.
178223
1782242011-12-08  Kentaro Hara  <haraken@chromium.org>
178225
178226        Unreviewed. Rebaselined run-bindings-tests results.
178227
178228        * bindings/scripts/test/JS/JSFloat64Array.cpp:
178229        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
178230        * bindings/scripts/test/JS/JSTestInterface.cpp:
178231        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
178232        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
178233        * bindings/scripts/test/JS/JSTestObj.cpp:
178234        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
178235
1782362011-12-08  Mary Wu  <mary.wu@torchmobile.com.cn>
178237
178238        Upstream BlackBerry porting of MIMETypeRegistry/KeyboardEvent
178239        https://bugs.webkit.org/show_bug.cgi?id=73534
178240
178241        Reviewed by Rob Buis.
178242
178243        Other main contributors:
178244        Mike Fenton <mifenton@rim.com>
178245        Joe Mason <jmason@rim.com>
178246        Max Feil <mfeil@qnx.com>
178247        Lukas Sydorowski <lsydorowski@rim.com>
178248        Crystal Zhang <haizhang@rim.com> 
178249
178250        Initial upstream, no new tests.
178251
178252        * platform/blackberry/MIMETypeRegistryBlackBerry.cpp: Added.
178253        (WebCore::MIMETypeRegistry::getMIMETypeForExtension):
178254        (WebCore::MIMETypeRegistry::getPreferredExtensionForMIMEType):
178255        (WebCore::MIMETypeRegistry::isApplicationPluginMIMEType):
178256        * platform/blackberry/PlatformKeyboardEventBlackBerry.cpp: Added.
178257        (WebCore::keyIdentifierForBlackBerryCharacter):
178258        (WebCore::windowsKeyCodeForBlackBerryCharacter):
178259        (WebCore::adjustCharacterFromOS):
178260        (WebCore::toWebCorePlatformKeyboardEventType):
178261        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
178262        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
178263        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
178264        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
178265
1782662011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
178267
178268        Unreviewed, rolling out r101619.
178269        http://trac.webkit.org/changeset/101619
178270        https://bugs.webkit.org/show_bug.cgi?id=74158
178271
178272        this patch produces bad behaviour on mac (Requested by
178273        jeremya_ on #webkit).
178274
178275        * page/EventHandler.cpp:
178276        (WebCore::EventHandler::handleMouseMoveEvent):
178277        (WebCore::EventHandler::dragSourceEndedAt):
178278        * rendering/RenderLayer.cpp:
178279        (WebCore::RenderLayer::updateHoverActiveState):
178280
1782812011-12-08  Adam Klein  <adamk@chromium.org>
178282
178283        [MutationObservers] V8LazyEventHandler breaks microtask delivery semantics
178284        https://bugs.webkit.org/show_bug.cgi?id=73492
178285
178286        Reviewed by Adam Barth.
178287
178288        Test: fast/mutation/inline-event-listener.html
178289
178290        * bindings/v8/V8LazyEventListener.cpp:
178291        (WebCore::V8LazyEventListener::prepareListenerObject): Call v8::Script::Run directly instead of going through V8Proxy.
178292
1782932011-12-08  Hayato Ito  <hayato@chromium.org>
178294
178295        Suppress rendering of light children when ShadowRoot is dynamically created.
178296        https://bugs.webkit.org/show_bug.cgi?id=72441
178297
178298        Reviewed by Ryosuke Niwa.
178299
178300        Tests: fast/dom/shadow/dynamically-created-shadow-root-expected.html
178301               fast/dom/shadow/dynamically-created-shadow-root.html
178302
178303        * dom/Element.cpp:
178304        (WebCore::Element::setShadowRoot):
178305
1783062011-12-08  Pierre Rossi  <pierre.rossi@gmail.com>
178307
178308        Drop ENABLE_NO_LISTBOX_RENDERING, and make it a runtime decision.
178309        https://bugs.webkit.org/show_bug.cgi?id=73916
178310
178311        This was needed for Qt since the mobile theme, which can be picked
178312        up at runtime, delegates the rendering of list boxes.
178313
178314        Reviewed by Kent Tamura.
178315
178316        No new tests, there's no functional change.
178317
178318        * html/HTMLSelectElement.cpp:
178319        (WebCore::HTMLSelectElement::usesMenuList):
178320        * html/HTMLSelectElement.h:
178321        * platform/PopupMenuClient.h:
178322        (WebCore::PopupMenuClient::listBoxSelectItem):
178323        (WebCore::PopupMenuClient::multiple):
178324        * platform/qt/RenderThemeQtMobile.h:
178325        (WebCore::RenderThemeQtMobile::delegatesMenuListRendering):
178326        * rendering/RenderMenuList.cpp:
178327        (WebCore::RenderMenuList::multiple):
178328        * rendering/RenderMenuList.h:
178329        * rendering/RenderTheme.h:
178330        (WebCore::RenderTheme::delegatesMenuListRendering):
178331
1783322011-12-08  Kenneth Russell  <kbr@google.com>
178333
178334        Rename WEBKIT_lose_context to WEBKIT_WEBGL_lose_context
178335        https://bugs.webkit.org/show_bug.cgi?id=71870
178336
178337        Reviewed by James Robinson.
178338
178339        Rename largely done with do-webcore-rename with a couple of
178340        necessary manual fixups. Ran WebGL layout tests.
178341
178342        * CMakeLists.txt:
178343        * DerivedSources.make:
178344        * DerivedSources.pri:
178345        * GNUmakefile.list.am:
178346        * Target.pri:
178347        * WebCore.gypi:
178348        * WebCore.xcodeproj/project.pbxproj:
178349        * bindings/js/JSWebGLRenderingContextCustom.cpp:
178350        (WebCore::toJS):
178351        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
178352        (WebCore::toV8Object):
178353        * html/canvas/WebGLExtension.h:
178354        * html/canvas/WebGLLoseContext.cpp: Copied from Source/WebCore/html/canvas/WebKitLoseContext.cpp.
178355        (WebCore::WebGLLoseContext::WebGLLoseContext):
178356        (WebCore::WebGLLoseContext::~WebGLLoseContext):
178357        (WebCore::WebGLLoseContext::getName):
178358        (WebCore::WebGLLoseContext::create):
178359        (WebCore::WebGLLoseContext::loseContext):
178360        (WebCore::WebGLLoseContext::restoreContext):
178361        * html/canvas/WebGLLoseContext.h: Copied from Source/WebCore/html/canvas/WebKitLoseContext.h.
178362        * html/canvas/WebGLLoseContext.idl: Copied from Source/WebCore/html/canvas/WebKitLoseContext.idl.
178363        * html/canvas/WebGLRenderingContext.cpp:
178364        (WebCore::WebGLRenderingContext::getExtension):
178365        (WebCore::WebGLRenderingContext::getSupportedExtensions):
178366        (WebCore::WebGLRenderingContext::maybeRestoreContext):
178367        * html/canvas/WebGLRenderingContext.h:
178368        * html/canvas/WebKitLoseContext.cpp: Removed.
178369        * html/canvas/WebKitLoseContext.h: Removed.
178370        * html/canvas/WebKitLoseContext.idl: Removed.
178371
1783722011-12-08  Kentaro Hara  <haraken@chromium.org>
178373
178374        Use the [Supplemental] IDL for webaudio attributes in Chromium
178375        https://bugs.webkit.org/show_bug.cgi?id=73394
178376
178377        Reviewed by Adam Barth.
178378
178379        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
178380        declarations of webaudio from DOMWindow.idl into a new IDL file
178381        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
178382        feature (aka a module).
178383
178384        - This patch changes the build flow of WebCore.gyp as follows:
178385
178386            Previous build flow:
178387                foreach $idl (all IDL files) {
178388                    generate-bindings.pl depends on $idl;
178389                    generate-bindings.pl reads $idl;
178390                    generate-bindings.pl generates .h and .cpp files for $idl;
178391                }
178392
178393            New build flow (See the discussions in bug 72138 for more details):
178394                resolve-supplemental.pl depends on all IDL files;
178395                resolve-supplemental.pl reads all IDL files;
178396                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
178397                resolve-supplemental.pl outputs supplemental_dependency.tmp;
178398                foreach $idl (all IDL files) {
178399                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
178400                    generate-bindings.pl reads $idl;
178401                    generate-bindings.pl reads supplemental_dependency.tmp;
178402                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
178403                }
178404
178405        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
178406        will be removed after build scripts for all platforms support the [Supplemental] IDL.
178407        The motivation for the [Supplemented] IDL is as follows:
178408
178409        In order to support the [Supplemental] IDL, we need to
178410        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
178411        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
178412
178413        This build flow requires a change on the following build scripts,
178414        but changing all the build scripts all at once without any regression is too difficult:
178415
178416            - DerivedSources.make
178417            - DerivedSources.pri
178418            - GNUmakefile.am
178419            - PlatformBlackBerry.cmake
178420            - UseJSC.cmake
178421            - UseV8.cmake
178422            - WebCore.vcproj/MigrateScripts
178423            - WebCore.vcproj/WebCore.vcproj
178424            - bindings/gobject/GNUmakefile.am
178425            - WebCore.gyp/WebCore.gyp
178426
178427        Thus, we are planning to change the build scripts one by one, which implies that
178428        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
178429        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
178430        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
178431        in another IDL file somewhere, like this:
178432
178433            DOMWindowWebAudio.idl:
178434                interface [
178435                    Supplemental=DOMWindow
178436                ] DOMWindowWebAudio {
178437                    attribute attr1;
178438                    attribute attr2;
178439                };
178440
178441            DOMWindow.idl:
178442                interface [
178443                ] DOMWindow {
178444                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
178445                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
178446                    attribute attr3;
178447                    attribute attr4;
178448                };
178449
178450        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
178451
178452            - If a given build script supports the [Supplemental] IDL,
178453            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
178454            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
178455            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
178456            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
178457
178458        Tests: webaudio/*
178459
178460        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
178461        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
178462        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
178463        * WebCore.gypi: Added DOMWindowWebAudio.idl.
178464        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
178465        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
178466        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
178467
1784682011-12-08  Van Lam  <vanlam@google.com>
178469
178470        Caret keeps blinking during forward-delete
178471        https://bugs.webkit.org/show_bug.cgi?id=38564
178472
178473        Reviewed by Darin Adler.
178474
178475        Currently updateAppearance determines if the caret should stop blinking
178476        based on whether or not the editing operation changed the position of
178477        the caret; so the caret stops blinking in case of typing text and
178478        backwards delete (which always displace the caret) but does not stop
178479        blinking in the case of forward delete (which does not displace the
178480        caret).
178481
178482        Added a boolean member function shouldStopCaretBlinking in EditCommand
178483        which will return true if the object is a TypingCommand (my
178484        understanding here is that all TypingCommands should stop the caret
178485        from blinking for a cycle, currently 0.5 seconds). Then used this
178486        function to stop the caret from blinking if the last editing command
178487        is a TypingCommand.
178488
178489        * editing/EditCommand.h:
178490        (WebCore::EditCommand::shouldStopCaretBlinking):
178491        * editing/FrameSelection.cpp:
178492        (WebCore::FrameSelection::updateAppearance):
178493        * editing/TypingCommand.h:
178494        (WebCore::TypingCommand::shouldStopCaretBlinking):
178495
1784962011-12-08  Adam Klein  <adamk@chromium.org>
178497
178498        Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
178499        https://bugs.webkit.org/show_bug.cgi?id=73964
178500
178501        Reviewed by Darin Adler.
178502
178503        Re-landing r102267 with a fix for the clang build.
178504
178505        No new tests, refactoring only.
178506
178507        * dom/ChildListMutationScope.cpp:
178508        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
178509        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
178510        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
178511        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):
178512
1785132011-12-08  Anders Carlsson  <andersca@apple.com>
178514
178515        WebScrollbarPainterDelegate should have a pointer to its Scrollbar
178516        https://bugs.webkit.org/show_bug.cgi?id=74149
178517
178518        Reviewed by Darin Adler.
178519
178520        This is another step towards making the scroll animation code more robust.
178521
178522        * platform/mac/ScrollAnimatorMac.mm:
178523        (-[WebScrollbarPainterDelegate initWithScrollbar:WebCore::]):
178524        (-[WebScrollbarPainterDelegate scrollAnimator]):
178525        (-[WebScrollbarPainterDelegate layer]):
178526        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
178527        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
178528        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
178529        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
178530        (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
178531        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
178532        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
178533
1785342011-12-08  Rakesh KN  <rakesh.kn@motorola.com>
178535
178536        keyboard event doesn't fire while moving mouse with button pressed
178537        https://bugs.webkit.org/show_bug.cgi?id=73821
178538
178539        Reviewed by Alexey Proskuryakov.
178540
178541        Autoscroll should not stop on key press.
178542
178543        Test: fast/events/autoscroll-should-not-stop-on-keypress.html
178544
178545        * page/EventHandler.cpp:
178546        (WebCore::EventHandler::keyEvent):
178547        Removed the check for autoscroll so that autoscroll is not stopped on
178548        key press and key event is processed. 
178549
1785502011-12-08  Anders Carlsson  <andersca@apple.com>
178551
178552        Add scrollAnimator getter method to WebScrollbarPainterDelegate
178553        https://bugs.webkit.org/show_bug.cgi?id=74146
178554
178555        Reviewed by Beth Dakin.
178556
178557        * platform/mac/ScrollAnimatorMac.mm:
178558        (-[WebScrollbarPainterDelegate scrollAnimator]):
178559        (-[WebScrollbarPainterDelegate layer]):
178560        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
178561        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
178562        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
178563        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
178564        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
178565
1785662011-12-08  James Robinson  <jamesr@chromium.org>
178567
178568        Improve handling of frame removal during requestAnimationFrame callback invocation
178569        https://bugs.webkit.org/show_bug.cgi?id=74036
178570
178571        Reviewed by Adam Barth.
178572
178573        See bug for details.
178574
178575        Test: fast/animation/request-animation-frame-detach-element.html
178576
178577        * dom/Document.cpp:
178578        (WebCore::Document::removedLastRef):
178579        (WebCore::Document::detach):
178580        * dom/Document.h:
178581        * dom/ScriptedAnimationController.cpp:
178582        (WebCore::ScriptedAnimationController::~ScriptedAnimationController):
178583        (WebCore::ScriptedAnimationController::serviceScriptedAnimations):
178584        (WebCore::ScriptedAnimationController::scheduleAnimation):
178585        * dom/ScriptedAnimationController.h:
178586        (WebCore::ScriptedAnimationController::create):
178587        (WebCore::ScriptedAnimationController::clearDocumentPointer):
178588        * page/FrameView.cpp:
178589        (WebCore::FrameView::serviceScriptedAnimations):
178590
1785912011-12-08  Yongjun Zhang  <yongjun_zhang@apple.com>
178592
178593        Use bitfield for bool data members in BitmapImage.
178594        https://bugs.webkit.org/show_bug.cgi?id=74102
178595
178596        Reviewed by Darin Adler.
178597
178598        Class BitmapImage and FrameData has bool data members, we can use bitfield for those data
178599        members to reduce the BitmapImage's memory footprint.
178600
178601        * platform/graphics/BitmapImage.cpp:
178602        (WebCore::BitmapImage::BitmapImage):
178603        * platform/graphics/BitmapImage.h:
178604        (WebCore::FrameData::FrameData):
178605        * platform/graphics/cairo/ImageCairo.cpp:
178606        (WebCore::BitmapImage::BitmapImage):
178607        * platform/graphics/cg/ImageCG.cpp:
178608        (WebCore::BitmapImage::BitmapImage):
178609        * platform/graphics/openvg/ImageOpenVG.cpp:
178610        (WebCore::BitmapImage::BitmapImage):
178611        * platform/graphics/qt/ImageQt.cpp:
178612        (WebCore::BitmapImage::BitmapImage):
178613
1786142011-12-08  Anders Carlsson  <andersca@apple.com>
178615
178616        Fix a paste-o in ScrollAnimatorMac::updateScrollerStyle
178617        https://bugs.webkit.org/show_bug.cgi?id=74145
178618
178619        Reviewed by Sam Weinig.
178620
178621        Call setHorizontalScrollerImp to set the horizontal scrollbar painter.
178622
178623        * platform/mac/ScrollAnimatorMac.mm:
178624        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
178625
1786262011-12-08  Anders Carlsson  <andersca@apple.com>
178627
178628        Create one WebScrollbarPainterDelegate for each scrollbar
178629        https://bugs.webkit.org/show_bug.cgi?id=74142
178630
178631        Reviewed by Sam Weinig.
178632
178633        Create and destroy WebScrollbarPainterDelegate objects as scrollbars come and go.
178634        This is a step towards simplifying the WebScrollbarPainterDelegate object.
178635
178636        * platform/mac/ScrollAnimatorMac.h:
178637        * platform/mac/ScrollAnimatorMac.mm:
178638        (WebCore::ScrollAnimatorMac::ScrollAnimatorMac):
178639        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
178640        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
178641        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
178642        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
178643        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
178644        (WebCore::ScrollAnimatorMac::cancelAnimations):
178645
1786462011-12-08  David Reveman  <reveman@chromium.org>
178647
178648        [Chromium] Add per-tile painting flag to DumpRenderTree and rename AcceleratedDrawing to AcceleratedPainting in chromium specific code.
178649        https://bugs.webkit.org/show_bug.cgi?id=74017
178650
178651        Reviewed by James Robinson.
178652
178653        Add per-tile drawing to page settings.
178654
178655        No new tests.
178656
178657        * page/Settings.h:
178658        (WebCore::Settings::setPerTileDrawingEnabled):
178659        (WebCore::Settings::perTileDrawingEnabled):
178660        * testing/Internals.cpp:
178661        (WebCore::Internals::setPerTileDrawingEnabled):
178662        * testing/Internals.h:
178663
1786642011-12-08  Anders Carlsson  <andersca@apple.com>
178665
178666        Add a scrollbarPainterForScrollbar helper function
178667        https://bugs.webkit.org/show_bug.cgi?id=74139
178668
178669        Reviewed by Sam Weinig.
178670
178671        * platform/mac/ScrollAnimatorMac.mm:
178672        (macScrollbarTheme):
178673        (scrollbarPainterForScrollbar):
178674        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
178675        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
178676        (WebCore::ScrollAnimatorMac::didAddVerticalScrollbar):
178677        (WebCore::ScrollAnimatorMac::willRemoveVerticalScrollbar):
178678        (WebCore::ScrollAnimatorMac::didAddHorizontalScrollbar):
178679        (WebCore::ScrollAnimatorMac::willRemoveHorizontalScrollbar):
178680
1786812011-12-08  James Robinson  <jamesr@chromium.org>
178682
178683        [chromium] Move NonCompositedContentHost to WebKit
178684        https://bugs.webkit.org/show_bug.cgi?id=74047
178685
178686        Reviewed by Kenneth Russell.
178687
178688        Updates WebCore.gypi to remove files no longer within WebCore and removes unused forward declaration and include
178689        from LayerRendererChromium.
178690
178691        * WebCore.gypi:
178692        * platform/graphics/chromium/LayerRendererChromium.cpp:
178693        * platform/graphics/chromium/LayerRendererChromium.h:
178694
1786952011-12-08  Sami Kyostila  <skyostil@google.com>
178696
178697        [chromium] Layer contents scale change should trigger invalidation
178698
178699        https://bugs.webkit.org/show_bug.cgi?id=74086
178700
178701        When the contents scale of a layer is changed, the entire contents of
178702        the layer should be marked dirty.
178703
178704        Reviewed by James Robinson.
178705
178706        * platform/graphics/chromium/LayerChromium.cpp:
178707        (WebCore::LayerChromium::setContentsScale):
178708
1787092011-12-08  Stephen White  <senorblanco@chromium.org>
178710
178711        [chromium] Add CSS_FILTERS custom binding file to WebCore.gypi.
178712        https://bugs.webkit.org/show_bug.cgi?id=74091
178713
178714        Reviewed by Adam Barth.
178715
178716        If it builds, you're happy.
178717
178718        * WebCore.gypi:
178719
1787202011-12-08  Ryosuke Niwa  <rniwa@webkit.org>
178721
178722        Line breaks are lost when pasted into textarea text starting with a blank line set while textarea is hidden
178723        https://bugs.webkit.org/show_bug.cgi?id=74126
178724
178725        Reviewed by Tony Chang.
178726
178727        The bug was caused by the code that generated text out of pre-rendered text was generating div's inside the fragment
178728        pasted into textarea even though serialization algorithm in textarea doesn't handle block elements.
178729
178730        Fixed the bug by special-casing this in createFragmentFromText. In the long run, we should really get rid of this
178731        whole pre-rendering trick.
178732
178733        * editing/markup.cpp:
178734        (WebCore::createFragmentFromText):
178735
1787362011-12-08  Florin Malita  <fmalita@google.com>
178737
178738        Moving SVG elements on the page doesn't always erase element at the old position
178739        https://bugs.webkit.org/show_bug.cgi?id=74002
178740
178741        Reviewed by Darin Adler.
178742
178743        Test: svg/repaint/container-repaint.svg
178744
178745        * rendering/svg/RenderSVGContainer.cpp:
178746        (WebCore::RenderSVGContainer::layout):
178747        Save the old repaint bounds before updating the viewport.
178748
1787492011-12-08  Tim Horton  <timothy_horton@apple.com>
178750
178751        Enable animations of CSS images using -webkit-cross-fade
178752        https://bugs.webkit.org/show_bug.cgi?id=74049
178753        <rdar://problem/10209303>
178754
178755        Reviewed by Simon Fraser.
178756
178757        Add support for animating CSS images in the following properties:
178758            - background(-image)
178759            - border-image(-source)
178760            - list-style(-image)
178761            - -webkit-mask-box-image(-source)
178762            - -webkit-mask-image(-source)
178763        
178764        This patch only adds support for transitioning between NinePieceImages
178765        where all of the properties except the image itself are equal, and the
178766        size of the images are equal. Other cases will not animate.
178767        
178768        Add animation blend functions for StyleImage and NinePieceImage.
178769        
178770        Apply the proper compositing operation to -webkit-cross-fade, and
178771        fix handling of the destination and source areas to support scaling.
178772
178773        Tests: animations/cross-fade-background-image.html
178774               animations/cross-fade-border-image-source.html
178775               animations/cross-fade-list-style-image.html
178776               animations/cross-fade-webkit-mask-box-image.html
178777               animations/cross-fade-webkit-mask-image.html
178778
178779        * css/CSSCrossfadeValue.cpp:
178780        (WebCore::cachedImageForCSSValue):
178781        (WebCore::CSSCrossfadeValue::fixedSize):
178782        (WebCore::CSSCrossfadeValue::image):
178783        * css/CSSImageValue.cpp:
178784        (WebCore::CSSImageValue::CSSImageValue):
178785        * css/CSSImageValue.h:
178786        (WebCore::CSSImageValue::create):
178787        * page/animation/AnimationBase.cpp:
178788        (WebCore::crossfadeBlend):
178789        (WebCore::blendFunc):
178790        (WebCore::RefCountedPropertyWrapper::RefCountedPropertyWrapper):
178791        (WebCore::RefCountedPropertyWrapper::blend):
178792        (WebCore::FillLayerRefCountedPropertyWrapper::FillLayerRefCountedPropertyWrapper):
178793        (WebCore::FillLayerRefCountedPropertyWrapper::blend):
178794        (WebCore::FillLayersPropertyWrapper::FillLayersPropertyWrapper):
178795        (WebCore::AnimationBase::ensurePropertyMap):
178796        (WebCore::addShorthandProperties):
178797        * platform/graphics/CrossfadeGeneratedImage.cpp:
178798        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
178799        (WebCore::CrossfadeGeneratedImage::draw):
178800        (WebCore::CrossfadeGeneratedImage::drawPattern):
178801        * platform/graphics/CrossfadeGeneratedImage.h:
178802        * rendering/style/RenderStyle.h:
178803        (WebCore::InheritedFlags::setMaskImage):
178804
1788052011-12-08  Stephen White  <senorblanco@chromium.org>
178806
178807        Use Skia's implementation of Gaussian blur when accelerated filters
178808        are enabled.
178809        https://bugs.webkit.org/show_bug.cgi?id=73949
178810
178811        Reviewed by Zoltan Herczeg.
178812
178813        In the future, this will be covered by the SVG tests run in GPU mode.
178814
178815        * WebCore.gypi:
178816        Add FEGaussianBlurSkia.cpp to the build.
178817        * platform/graphics/filters/FEGaussianBlur.cpp:
178818        (WebCore::FEGaussianBlur::platformApplySoftware):
178819        Call out to platformApplySkia() when USE_SKIA is enabled.
178820        * platform/graphics/filters/FEGaussianBlur.h:
178821        platformApplySkia() declaration.
178822        * platform/graphics/filters/skia: Added.
178823        * platform/graphics/filters/skia/FEGaussianBlurSkia.cpp: Added.
178824        (WebCore::FEGaussianBlur::platformApplySkia):
178825        On the Skia port, use SkBlurImageFilter for drawing
178826        Gaussian blurs in accelerated mode.
178827        * platform/graphics/skia/ImageBufferSkia.cpp:
178828        (WebCore::ImageBuffer::copyImage):
178829        Implement ImageBuffer::copyImage() with DontCopyBackingStore semantics.
178830
1788312011-12-08  Erik Arvidsson  <arv@chromium.org>
178832
178833        CodeGeneratorV8: Fix issue with overloaded static conditional methods
178834        https://bugs.webkit.org/show_bug.cgi?id=74114
178835
178836        Reviewed by Adam Barth.
178837
178838        The code generator was missing checks for Conditional for overloaded methods.
178839
178840        * bindings/scripts/CodeGeneratorV8.pm:
178841        (GenerateOverloadedFunctionCallback): Generate needed #ifdefs.
178842        (GenerateFunctionCallback): Ditto.
178843        * bindings/scripts/test/V8/V8TestObj.cpp: Wrap conditional methods with #ifdefs.
178844        (WebCore::ConfigureV8TestObjTemplate):
178845
1788462011-12-08  Dominic Mazzoni  <dmazzoni@google.com>
178847
178848        AccessibilityController should support listening to notifications on all elements.
178849        https://bugs.webkit.org/show_bug.cgi?id=72866
178850
178851        Changes accessibilitySetShouldRepostNotifications from an instance method
178852        into a class method so that it can be used for global notification listeners,
178853        not just for listeners on a particular object.
178854
178855        Reviewed by Chris Fleizach.
178856
178857        Test: accessibility/notification-listeners.html
178858
178859        * accessibility/mac/WebAccessibilityObjectWrapper.h:
178860        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
178861        (+[WebAccessibilityObjectWrapper accessibilitySetShouldRepostNotifications:]):
178862        (-[WebAccessibilityObjectWrapper accessibilityPostedNotification:]):
178863
1788642011-12-08  Vsevolod Vlasov  <vsevik@chromium.org>
178865
178866        Web Inspector: Rename createScriptCallStack() without parameters to createScriptCallStackForInspector().
178867        https://bugs.webkit.org/show_bug.cgi?id=74120
178868
178869        Reviewed by Pavel Feldman.
178870
178871        * bindings/js/ScriptCallStackFactory.cpp:
178872        (WebCore::createScriptCallStackForInspector):
178873        * bindings/js/ScriptCallStackFactory.h:
178874        * bindings/scripts/CodeGeneratorJS.pm:
178875        (GenerateParametersCheck):
178876        * bindings/scripts/CodeGeneratorV8.pm:
178877        (GenerateFunctionCallback):
178878        * bindings/scripts/test/JS/JSTestObj.cpp:
178879        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
178880        * bindings/scripts/test/V8/V8TestObj.cpp:
178881        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
178882        * bindings/v8/ScriptCallStackFactory.cpp:
178883        (WebCore::createScriptCallStackForInspector):
178884        * bindings/v8/ScriptCallStackFactory.h:
178885
1788862011-12-08  Adrienne Walker  <enne@google.com>
178887
178888        [chromium] Remove dead code in compositor
178889        https://bugs.webkit.org/show_bug.cgi?id=74103
178890
178891        Reviewed by James Robinson.
178892
178893        Tested via the compiler.
178894
178895        * platform/graphics/chromium/LayerChromium.h:
178896        * platform/graphics/chromium/LayerRendererChromium.cpp:
178897        * platform/graphics/chromium/LayerRendererChromium.h:
178898
1788992011-12-08  Eric Penner  <epenner@google.com>
178900
178901        [chromium] Need to adjust memory limit and viewport multipliers.
178902        https://bugs.webkit.org/show_bug.cgi?id=74022
178903
178904        Reviewed by James Robinson.
178905
178906        * platform/graphics/chromium/TextureManager.cpp:
178907        (WebCore::TextureManager::highLimitBytes): Changing constants
178908        (WebCore::TextureManager::reclaimLimitBytes): ditto
178909
1789102011-12-08  Benjamin Poulain  <bpoulain@apple.com>
178911
178912        Add a platform EventLoop for iOS
178913        https://bugs.webkit.org/show_bug.cgi?id=74043
178914
178915        Reviewed by David Kilzer.
178916
178917        * WebCore.xcodeproj/project.pbxproj:
178918        * platform/ios/EventLoopIOS.mm: Added.
178919        (WebCore::EventLoop::cycle):
178920
1789212011-12-08  Pavel Feldman  <pfeldman@google.com>
178922
178923        Web Inspector: return node counts on the document / detached root basis
178924        https://bugs.webkit.org/show_bug.cgi?id=74104
178925
178926        Reviewed by Yury Semikhatsky.
178927
178928        * bindings/js/ScriptProfiler.h:
178929        * bindings/v8/ScriptProfiler.cpp:
178930        (WebCore::ScriptProfiler::domNodeCount):
178931        * bindings/v8/ScriptProfiler.h:
178932        * inspector/Inspector.json:
178933        * inspector/InspectorController.cpp:
178934        (WebCore::InspectorController::InspectorController):
178935        * inspector/InspectorMemoryAgent.cpp:
178936        (WebCore::InspectorMemoryAgent::getDOMNodeCount):
178937        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
178938        * inspector/InspectorMemoryAgent.h:
178939        (WebCore::InspectorMemoryAgent::create):
178940
1789412011-12-08  Andreas Kling  <kling@webkit.org>
178942
178943        RenderObject: Rename styleSlowCase() to styleInRegion().
178944
178945        Rubber-stamped by David Hyatt.
178946
178947        * WebCore.exp.in:
178948        * rendering/RenderObject.cpp:
178949        (WebCore::RenderObject::styleInRegion):
178950        * rendering/RenderObject.h:
178951        (WebCore::RenderObject::style):
178952
1789532011-12-08  Andreas Kling  <kling@webkit.org>
178954
178955        Optimize RenderObject::containingBlock().
178956        <http://webkit.org/b/74109>
178957
178958        Reviewed by David Hyatt.
178959
178960        When climbing the parent chain to locate the containing block-level element,
178961        use !isRenderBlock() to reject renderers rather than checking against an arbitrary
178962        list of non-block renderers and then rejecting anything that isn't a block anyway.
178963
178964        RenderObject::containingBlock() was very hot (2.0%) when scrolling on youtube.com.
178965        This change takes it down to 1.0% (60% of which is RenderObject::isRenderBlock().)
178966
178967        * rendering/RenderObject.cpp:
178968        (WebCore::RenderObject::containingBlock):
178969
1789702011-12-08  Nayan Kumar K  <nayankk@motorola.com>
178971
178972        Define DEBUG_GL_COMMANDS only in debug builds.
178973        https://bugs.webkit.org/show_bug.cgi?id=74083
178974
178975        Reviewed by Noam Rosenthal.
178976
178977        No tests added as this change does not affect functionality.
178978
178979        * platform/graphics/opengl/TextureMapperGL.cpp:
178980
1789812011-12-08  Ryosuke Niwa  <rniwa@webkit.org>
178982
178983        CompositeEditCommand should not be kept alive for undo and redo
178984        https://bugs.webkit.org/show_bug.cgi?id=64414
178985
178986        Reviewed by Enrica Casucci.
178987
178988        This patch introduces EditCommandComposition that replaces CompositeEditCommand for
178989        undo and redo purposes. Furthermore, we now keep a list of commands instead of a tree of commands
178990        to unapply and reapply edit commands that composes an undoable action.
178991
178992        Each top-level CompositeEditCommand holds a ref-pointer to EditCommandComposition,
178993        and applyCommandToComposite adds new SimpleEditCommands to the list.
178994
178995        * editing/CompositeEditCommand.cpp:
178996        (WebCore::EditCommandComposition::create):
178997        (WebCore::EditCommandComposition::doApply): Never used.
178998        (WebCore::EditCommandComposition::doUnapply):
178999        (WebCore::EditCommandComposition::doReapply):
179000        (WebCore::EditCommandComposition::append):
179001        (WebCore::CompositeEditCommand::~CompositeEditCommand): Add an assertion to ensure we didn't create
179002        a composition for CompositeEditCommands that have parents.
179003        (WebCore::CompositeEditCommand::doUnapply): Never used.
179004        (WebCore::CompositeEditCommand::doReapply): Never used.
179005        (WebCore::CompositeEditCommand::ensureComposition): Creates and attaches a EditCommandComposition.
179006        (WebCore::CompositeEditCommand::applyCommandToComposite): Append a SimpleEditCommand to the composition.
179007
179008        * editing/CompositeEditCommand.h:
179009        (WebCore::EditCommandComposition::EditCommandComposition):
179010        (WebCore::CompositeEditCommand::composition):
179011        (WebCore::toEditCommandComposition):
179012        (WebCore::toCompositeEditCommand):
179013
179014        * editing/DeleteButtonController.cpp: Wrap RemoveNodeCommand in RemoveTargetCommand since top level
179015        commands are now required to be a CompositeEditCommand.
179016        (WebCore::RemoveTargetCommand::create):
179017        (WebCore::RemoveTargetCommand::RemoveTargetCommand):
179018        (WebCore::RemoveTargetCommand::doApply):
179019        (WebCore::DeleteButtonController::deleteTarget):
179020
179021        * editing/EditCommand.cpp:
179022        (WebCore::EditCommand::EditCommand): New constructor; used by EditCommandComposition.
179023        (WebCore::EditCommand::apply): Create a composition for a top-level command.
179024        (WebCore::EditCommand::unapply): Since we clear m_parent of SimpleEditCommand as soon as they are
179025        added to EditCommandComposition, we can't use isTopLevelCommand() to differentiate EditCommandComposition
179026        from SimpleEditCommand. Use isEditCommandComposition() instead.
179027        (WebCore::EditCommand::reapply): Ditto.
179028        (WebCore::compositionIfPossible):
179029        (WebCore::EditCommand::setStartingSelection): Update the starting selection of EditCommandComposition. 
179030        (WebCore::EditCommand::setEndingSelection): Ditto.
179031        (WebCore::EditCommand::setParent): Accepts a null pointer in order to avoid keeping a stale pointer in
179032        m_parent inside SimpleEditCommand when CompositeEditCommand goes away.
179033
179034        * editing/EditCommand.h:
179035        (WebCore::EditCommand::isSimpleEditCommand):
179036        (WebCore::EditCommand::isCompositeEditCommand):
179037        (WebCore::EditCommand::isEditCommandComposition):
179038        (WebCore::EditCommand::parent):
179039        (WebCore::toSimpleEditCommand):
179040
179041        * editing/Editor.cpp:
179042        (WebCore::Editor::appliedEditing): Register a EditCommandComposition, instead of a CompositeEditCommand
179043        to the undo stack.
179044        (WebCore::Editor::unappliedEditing): Unapplied or reapplied commands are now always EditCommandComposition.
179045        (WebCore::Editor::reappliedEditing):
179046        * editing/Editor.h:
179047
1790482011-12-08  Stephen White  <senorblanco@chromium.org>
179049
179050        Add missing V8 bindings to get CSS_FILTERS to compile in Chromium.
179051        https://bugs.webkit.org/show_bug.cgi?id=74091
179052
179053        Reviewed by Kenneth Russell.
179054
179055        Will be covered by tests in css3/filters (when enabled).
179056
179057        * bindings/v8/custom/V8WebKitCSSFilterValueCustom.cpp: Added.
179058        (WebCore::V8WebKitCSSFilterValue::indexedPropertyGetter):
179059
1790602011-12-08  Beth Dakin  <bdakin@apple.com>
179061
179062        https://bugs.webkit.org/show_bug.cgi?id=73348
179063        REGRESSION: Assertion when loading a page with a scrollable RenderLayer 
179064        -and corresponding-
179065        <rdar://problem/10518918>
179066
179067        Reviewed by Darin Adler.
179068
179069        The main problem here is that certain delegate calls into AppKit for overlay 
179070        scrollbars can cause AppKit to call back into WebKit looking for more information. 
179071        The assertion happens when WebKit tells AppKit that the scroll position has 
179072        changed during a layout, and AppKit immediately asks WebKit to convert some 
179073        coordinates, and WebKit asserts that you shouldn't do that while a layout is still 
179074        happening. It's still possible for AppKit to call this delegate method while a 
179075        layout is happening, and we should guard against that. This patch, however, does 
179076        not do that.
179077
179078        This change instead addresses the reason this assertion started happening much 
179079        more frequently recently, which is that it recently became true that 
179080        notifyPositionChanged() can be called when the position has not changed. To fix 
179081        the assertion AND the bug that that change was intended to fix, we can just make 
179082        sure that either the position OR the scroll origin has changed before calling 
179083        notifyPositionChanged(). 
179084
179085        * platform/mac/ScrollAnimatorMac.mm:
179086        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
179087
179088        Call resetScrollOriginChanged() after the scroll instead of before so that we know 
179089        whether or not to call notifyPositionChanged().
179090        * platform/ScrollView.cpp:
179091        (WebCore::ScrollView::updateScrollbars):
179092
1790932011-12-08  Kaustubh Atrawalkar  <kaustubh@motorola.com>
179094
179095        Fixing support for static conditional overloaded functions.
179096        https://bugs.webkit.org/show_bug.cgi?id=74068
179097
179098        Reviewed by Adam Barth.
179099
179100        * bindings/scripts/CodeGeneratorJS.pm:
179101        (GenerateImplementation): Pushing "static" keyword after condition "#if".
179102        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
179103        (WebDOMTestObj::overloadedMethod1): Added newly generated bindings.
179104        * bindings/scripts/test/CPP/WebDOMTestObj.h: Ditto.
179105        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp: Ditto.
179106        (webkit_dom_test_obj_overloaded_method1):
179107        * bindings/scripts/test/GObject/WebKitDOMTestObj.h: Ditto.
179108        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
179109        (WebCore::jsTestObjConstructorFunctionOverloadedMethod11):
179110        (WebCore::jsTestObjConstructorFunctionOverloadedMethod12):
179111        (WebCore::jsTestObjConstructorFunctionOverloadedMethod1):
179112        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
179113        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto.
179114        * bindings/scripts/test/ObjC/DOMTestObj.mm: Ditto.
179115        (-[DOMTestObj overloadedMethod1:]):
179116        * bindings/scripts/test/TestObj.idl: Ditto.
179117        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
179118        (WebCore::TestObjInternal::overloadedMethod11Callback):
179119        (WebCore::TestObjInternal::overloadedMethod12Callback):
179120        (WebCore::TestObjInternal::overloadedMethod1Callback):
179121        (WebCore::ConfigureV8TestObjTemplate):
179122
1791232011-12-08  Andreas Kling  <kling@webkit.org>
179124
179125        Remove EventListenerMap destructor.
179126        <http://webkit.org/b/74096>
179127
179128        Reviewed by Darin Adler.
179129
179130        Let the compiler generate ~EventListenerMap(). We only needed it when the hash map
179131        was managing raw pointers.
179132
179133        We're losing the no-iterators assertion from clear() by doing this, but that was
179134        superfluous to begin with - we were just using it to avoid duplicating code.
179135
179136        * dom/EventListenerMap.cpp:
179137        * dom/EventListenerMap.h:
179138
1791392011-12-08  Takashi Toyoshima  <toyoshim@chromium.org>
179140
179141        Provide more specific error description for SocketStreamError.
179142        https://bugs.webkit.org/show_bug.cgi?id=74066
179143
179144        Reviewed by Martin Robinson.
179145
179146        No new tests because this change just improve error messages for unexpected failures.
179147
179148        * platform/network/soup/SocketStreamError.h: Add an argument for passing error description.
179149        (WebCore::SocketStreamError::SocketStreamError):
179150        * platform/network/soup/SocketStreamHandleSoup.cpp: Add error description for SocketStreamError.
179151        (WebCore::SocketStreamHandle::connected):
179152        (WebCore::SocketStreamHandle::readBytes):
179153        (WebCore::SocketStreamHandle::platformSend):
179154        (WebCore::SocketStreamHandle::platformClose):
179155
1791562011-12-08  Mihnea Ovidenie  <mihnea@adobe.com>
179157
179158        [CSSRegions][CSSOM] Implement NamedFlow interface
179159        https://bugs.webkit.org/show_bug.cgi?id=66642
179160
179161        Reviewed by David Hyatt.
179162
179163        Add WebKitNamedFlow to support the NamedFlow interface. No methods are
179164        yet implemented on this interface. The NamedFlow object is a live object.
179165        The first time user asks for it, it gets a valid JS object whose properties
179166        will reflect the changes to the flow thread.
179167
179168        Tests: fast/regions/webkit-named-flow-existing-flow.html
179169               fast/regions/webkit-named-flow-flow-added.html
179170               fast/regions/webkit-named-flow-modified-flow.html
179171               fast/regions/webkit-named-flow-non-existing-flow.html
179172               fast/regions/webkit-named-flow-removed-flow.html
179173               fast/regions/webkit-named-flow-same-object.html
179174
179175        * CMakeLists.txt:
179176        * DerivedSources.cpp:
179177        * DerivedSources.make:
179178        * DerivedSources.pri:
179179        * GNUmakefile.list.am:
179180        * Target.pri:
179181        * WebCore.gypi:
179182        * WebCore.vcproj/WebCore.vcproj:
179183        * WebCore.xcodeproj/project.pbxproj:
179184        * bindings/gobject/GNUmakefile.am:
179185        * dom/DOMAllInOne.cpp:
179186        * dom/Document.cpp:
179187        (WebCore::Document::webkitGetFlowByName):
179188        * dom/Document.h:
179189        * dom/Document.idl:
179190        * dom/NodeRenderingContext.cpp:
179191        (WebCore::NodeRenderingContext::moveToFlowThreadIfNeeded):
179192        * dom/WebKitNamedFlow.cpp: Added.
179193        (WebCore::WebKitNamedFlow::WebKitNamedFlow):
179194        (WebCore::WebKitNamedFlow::~WebKitNamedFlow):
179195        * dom/WebKitNamedFlow.h: Added.
179196        (WebCore::WebKitNamedFlow::create):
179197        * dom/WebKitNamedFlow.idl: Added.
179198        * rendering/RenderFlowThread.cpp:
179199        (WebCore::RenderFlowThread::ensureNamedFlow):
179200        * rendering/RenderFlowThread.h:
179201        * rendering/RenderObject.cpp:
179202        (WebCore::RenderObject::createObject):
179203        * rendering/RenderView.cpp:
179204        (WebCore::RenderView::ensureRenderFlowThreadWithName):
179205        * rendering/RenderView.h:
179206
1792072011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
179208
179209        Unreviewed, rolling out r102321.
179210        http://trac.webkit.org/changeset/102321
179211        https://bugs.webkit.org/show_bug.cgi?id=74072
179212
179213        "Breaks all Chromium clobbered builds" (Requested by apavlov_
179214        on #webkit).
179215
179216        * WebCore.gyp/WebCore.gyp:
179217        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
179218        (main):
179219        * WebCore.gypi:
179220        * bindings/scripts/generate-bindings.pl:
179221        * page/DOMWindow.idl:
179222        * webaudio/DOMWindowWebAudio.idl: Removed.
179223
1792242011-12-08  Shinya Kawanaka  <shinyak@google.com>
179225
179226        Refactoring: Editor::requestCheckingFor should take SpellCheckRequest object.
179227        https://bugs.webkit.org/show_bug.cgi?id=74033
179228
179229        Reviewed by Hajime Morita.
179230
179231        SpellChecker::requestCheckingFor takes SpellCheckRequest object in order to make it easy to
179232        pass necessary information to requestCheckingFor.
179233
179234        No new tests. Covered by existing tests.
179235
179236        * editing/Editor.cpp:
179237        (WebCore::Editor::replaceSelectionWithFragment):
179238          Uses the new interface.
179239        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges): ditto.
179240        * editing/SpellChecker.cpp:
179241        (WebCore::SpellCheckRequest::SpellCheckRequest):
179242        (WebCore::SpellCheckRequest::~SpellCheckRequest):
179243        (WebCore::SpellCheckRequest::create):
179244          Creates a new SpellCheckRequest object.
179245        (WebCore::SpellChecker::requestCheckingFor):
179246          Uses the new interface.
179247        (WebCore::SpellChecker::didCheck):
179248        * editing/SpellChecker.h:
179249        (WebCore::SpellCheckRequest::setSequence):
179250        (WebCore::SpellCheckRequest::sequence):
179251        (WebCore::SpellCheckRequest::checkingRange):
179252        (WebCore::SpellCheckRequest::paragraphRange):
179253        (WebCore::SpellCheckRequest::text):
179254        (WebCore::SpellCheckRequest::mask):
179255        (WebCore::SpellCheckRequest::rootEditableElement):
179256
1792572011-12-08  Sheriff Bot  <webkit.review.bot@gmail.com>
179258
179259        Unreviewed, rolling out r102323.
179260        http://trac.webkit.org/changeset/102323
179261        https://bugs.webkit.org/show_bug.cgi?id=74069
179262
179263        Caused Chromium and GTK build failure (Requested by bashi on
179264        #webkit).
179265
179266        * testing/Internals.cpp:
179267        (WebCore::Internals::getPageScaleFactor):
179268        * testing/Internals.h:
179269        * testing/Internals.idl:
179270
1792712011-12-08  Fady Samuel  <fsamuel@chromium.org>
179272
179273        Move scalePageBy from eventSender to window.internals
179274        https://bugs.webkit.org/show_bug.cgi?id=64512
179275
179276        Reviewed by Simon Fraser.
179277
179278        Added setPageScaleFactor to window.internals.
179279        Renamed window.internals.getPageScaleFactor to window.internals.pageScaleFactor
179280        to match the webkit style.
179281
179282        * testing/Internals.cpp:
179283        (WebCore::Internals::pageScaleFactor):
179284        (WebCore::Internals::setPageScaleFactor):
179285        * testing/Internals.h:
179286        * testing/Internals.idl:
179287
1792882011-12-08  Kentaro Hara  <haraken@chromium.org>
179289
179290        Use the [Supplemental] IDL for webaudio attributes in Chromium
179291        https://bugs.webkit.org/show_bug.cgi?id=73394
179292
179293        Reviewed by Adam Barth.
179294
179295        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
179296        declarations of webaudio from DOMWindow.idl into a new IDL file
179297        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
179298        feature (aka a module).
179299
179300        - This patch changes the build flow of WebCore.gyp as follows:
179301
179302            Previous build flow:
179303                foreach $idl (all IDL files) {
179304                    generate-bindings.pl depends on $idl;
179305                    generate-bindings.pl reads $idl;
179306                    generate-bindings.pl generates .h and .cpp files for $idl;
179307                }
179308
179309            New build flow (See the discussions in bug 72138 for more details):
179310                resolve-supplemental.pl depends on all IDL files;
179311                resolve-supplemental.pl reads all IDL files;
179312                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
179313                resolve-supplemental.pl outputs supplemental_dependency.tmp;
179314                foreach $idl (all IDL files) {
179315                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
179316                    generate-bindings.pl reads $idl;
179317                    generate-bindings.pl reads supplemental_dependency.tmp;
179318                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
179319                }
179320
179321        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
179322        will be removed after build scripts for all platforms support the [Supplemental] IDL.
179323        The motivation for the [Supplemented] IDL is as follows:
179324
179325        In order to support the [Supplemental] IDL, we need to
179326        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
179327        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
179328
179329        This build flow requires a change on the following build scripts,
179330        but changing all the build scripts all at once without any regression is too difficult:
179331
179332            - DerivedSources.make
179333            - DerivedSources.pri
179334            - GNUmakefile.am
179335            - PlatformBlackBerry.cmake
179336            - UseJSC.cmake
179337            - UseV8.cmake
179338            - WebCore.vcproj/MigrateScripts
179339            - WebCore.vcproj/WebCore.vcproj
179340            - bindings/gobject/GNUmakefile.am
179341            - WebCore.gyp/WebCore.gyp
179342
179343        Thus, we are planning to change the build scripts one by one, which implies that
179344        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
179345        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
179346        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
179347        in another IDL file somewhere, like this:
179348
179349            DOMWindowWebAudio.idl:
179350                interface [
179351                    Supplemental=DOMWindow
179352                ] DOMWindowWebAudio {
179353                    attribute attr1;
179354                    attribute attr2;
179355                };
179356
179357            DOMWindow.idl:
179358                interface [
179359                ] DOMWindow {
179360                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
179361                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
179362                    attribute attr3;
179363                    attribute attr4;
179364                };
179365
179366        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
179367
179368            - If a given build script supports the [Supplemental] IDL,
179369            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
179370            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
179371            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
179372            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
179373
179374        Tests: webaudio/*
179375
179376        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
179377        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
179378        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file. If the file name is a "/cygdrive/c/..."-style path, it is converted to a "C:\cygwin\..."-style path by the cygpath command.
179379        * WebCore.gypi: Added DOMWindowWebAudio.idl.
179380        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
179381        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
179382        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
179383
1793842011-12-07  Yosifumi Inoue  <yosin@chromium.org>
179385
179386        CSS color gets adjusted for disabled input elements
179387        https://bugs.webkit.org/show_bug.cgi?id=54643
179388
179389        Reviewed by Kent Tamura.
179390
179391        No new tests. covered by existing tests. Need rebasing some existing tests for Chromimum.
179392
179393        Remove automatic color adjustment for disabled text control for Chromimum.
179394
179395        * css/themeChromium.css: Add CSS entries for default style for disabled input and textarea elements.
179396        * WebCore/rendering/RenderTextControl.cpp:
179397        (disabledTextColor): Removed for PLATFORM(CHROMIUM)
179398        (RenderTextControl::adjustInnerTextStyle): Don't call disabledTextColor for Chromium.
179399
1794002011-12-07  Dmitry Lomov  <dslomov@google.com>
179401
179402        https://bugs.webkit.org/show_bug.cgi?id=74038
179403        [V8][Chromium] Support legacy argument order in window.postMessage/window.webkitPostMessage.
179404
179405        Reviewed by David Levin.
179406
179407        * bindings/v8/custom/V8DOMWindowCustom.cpp:
179408        (WebCore::isLegacyTargetOriginDesignation):
179409        (WebCore::handlePostMessageCallback):
179410
1794112011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
179412
179413        Upstream 4 files into WebCore/platform/blackberry
179414        https://bugs.webkit.org/show_bug.cgi?id=73541
179415
179416        Reviewed by Antonio Gomes.
179417
179418        Initial upstream of BlackBerry porting of PlatformScreen/
179419        SSLKeyGenerator/Sound/Widget, no new tests.
179420
179421        * PlatformBlackBerry.cmake: Modified to remove empty file "WheelEventBlackBerry.cpp"
179422        * platform/blackberry/PlatformScreenBlackBerry.cpp: Added.
179423        (WebCore::screenIsMonochrome):
179424        (WebCore::screenDepthPerComponent):
179425        (WebCore::screenDepth):
179426        (WebCore::screenAvailableRect):
179427        (WebCore::screenRect):
179428        * platform/blackberry/SSLKeyGeneratorBlackBerry.cpp: Added.
179429        (WebCore::getSupportedKeySizes):
179430        (WebCore::signedPublicKeyAndChallengeString):
179431        * platform/blackberry/SoundBlackBerry.cpp: Added.
179432        (WebCore::systemBeep):
179433        * platform/blackberry/WidgetBlackBerry.cpp: Added.
179434        (WebCore::Widget::Widget):
179435        (WebCore::Widget::~Widget):
179436        (WebCore::Widget::hide):
179437        (WebCore::Widget::paint):
179438        (WebCore::Widget::setCursor):
179439        (WebCore::Widget::setFocus):
179440        (WebCore::Widget::setFrameRect):
179441        (WebCore::Widget::setIsSelected):
179442        (WebCore::Widget::show):
179443        (WebCore::Widget::frameRect):
179444
1794452011-12-07  Kenichi Ishibashi  <bashi@chromium.org>
179446
179447        Refactor CSSParser::parseFontFaceSrc()
179448        https://bugs.webkit.org/show_bug.cgi?id=73989
179449
179450        Reviewed by Darin Adler.
179451
179452        Test: fast/css/font-face-src-parsing.html
179453
179454        * css/CSSParser.cpp:
179455        (WebCore::CSSParser::parseFontFaceSrcURI): Added.
179456        (WebCore::CSSParser::parseFontFaceSrcLocal): Added.
179457        (WebCore::CSSParser::parseFontFaceSrc): Rewrote.
179458        * css/CSSParser.h:
179459
1794602011-12-07  Xingnan Wang  <xingnan.wang@intel.com>
179461
179462        Implement the SSE optimization in SincResampler::process()
179463        https://bugs.webkit.org/show_bug.cgi?id=73789
179464
179465        Reviewed by Benjamin Poulain.
179466
179467        Here is about 70% performance improvement on the hot spot of sample convolving.
179468
179469        * platform/audio/SincResampler.cpp:
179470
1794712011-12-07  Luke Macpherson   <macpherson@chromium.org>
179472
179473        Implement border image source properties in CSSStyleApplyProperty.
179474        https://bugs.webkit.org/show_bug.cgi?id=73981
179475
179476        Reviewed by Andreas Kling.
179477
179478        No new tests / refactoring only.
179479
179480        * css/CSSStyleApplyProperty.cpp:
179481        (WebCore::ApplyPropertyBorderImageSource::applyValue):
179482        (WebCore::ApplyPropertyBorderImageSource::createHandler):
179483        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
179484        * css/CSSStyleSelector.cpp:
179485        (WebCore::CSSStyleSelector::applyProperty):
179486
1794872011-12-07  Noel Gordon  <noel.gordon@gmail.com>
179488
179489        WebPImageDecoder should not do a full image decode if progressive decoding is active
179490        https://bugs.webkit.org/show_bug.cgi?id=74041
179491
179492        Reviewed by Adam Barth.
179493
179494        If the decoder input data state reaches allDataReceived during a progressive image
179495        decode, the decoder performs a full image decode.
179496
179497        On allDataReceived, check if we already have a decoder, and if so, continue to run
179498        the progressive decoder.
179499
179500        No new tests. No change in behavior.
179501
179502        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
179503        (WebCore::WEBPImageDecoder::decode):
179504
1795052011-12-07  Alexandre Elias  <aelias@google.com>
179506
179507        [chromium] Add page-scale animation support to Impl thread
179508        https://bugs.webkit.org/show_bug.cgi?id=72996
179509
179510        Reviewed by James Robinson.
179511
179512        This adds a new math helper class to compute the progress of the
179513        animation, and code in the CCLayerTreeHostImpl to apply the animation
179514        frame by frame.
179515
179516        No new tests. (https://bugs.webkit.org/show_bug.cgi?id=71529 filed.)
179517
179518        * WebCore.gypi:
179519        * platform/graphics/chromium/cc/CCInputHandler.h:
179520        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
179521        (WebCore::CCLayerTreeHostImpl::animate):
179522        (WebCore::CCLayerTreeHostImpl::startPageScaleAnimation):
179523        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
179524        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
179525        * platform/graphics/chromium/cc/CCPageScaleAnimation.cpp: Added.
179526        (WebCore::CCPageScaleAnimation::CCPageScaleAnimation):
179527        (WebCore::CCPageScaleAnimation::initialize):
179528        (WebCore::CCPageScaleAnimation::zoomTo):
179529        (WebCore::CCPageScaleAnimation::zoomWithAnchor):
179530        (WebCore::CCPageScaleAnimation::zoomElsewhere):
179531        (WebCore::CCPageScaleAnimation::scrollOffsetAtTime):
179532        (WebCore::CCPageScaleAnimation::pageScaleAtTime):
179533        (WebCore::CCPageScaleAnimation::isAnimationCompleteAtTime):
179534        (WebCore::CCPageScaleAnimation::progressRatioForTime):
179535        (WebCore::CCPageScaleAnimation::scrollOffsetAtRatio):
179536        (WebCore::CCPageScaleAnimation::pageScaleAtRatio):
179537        * platform/graphics/chromium/cc/CCPageScaleAnimation.h: Added.
179538        (WebCore::CCPageScaleAnimation::startTime):
179539        (WebCore::CCPageScaleAnimation::duration):
179540        (WebCore::CCPageScaleAnimation::endTime):
179541        (WebCore::CCPageScaleAnimation::finalScrollOffset):
179542        (WebCore::CCPageScaleAnimation::finalPageScale):
179543
1795442011-12-07  Shinya Kawanaka  <shinyak@google.com>
179545
179546        Editor::markAndReplaceFor should take Range instead of TextCheckingParagraph.
179547        https://bugs.webkit.org/show_bug.cgi?id=74035
179548
179549        Reviewed by Hajime Morita.
179550
179551        Editor::markAndReplaceFor takes chekcing range and paragraph range instead of
179552        spelling paragraph and grammar paragraph.
179553
179554        No new tests. Covered by existing tests.
179555
179556        * editing/Editor.cpp:
179557        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
179558        (WebCore::Editor::markAndReplaceFor):
179559        * editing/Editor.h:
179560        * editing/TextCheckingHelper.cpp:
179561        (WebCore::TextCheckingParagraph::TextCheckingParagraph):
179562        * editing/TextCheckingHelper.h:
179563
1795642011-12-07  Ami Fischman  <fischman@chromium.org>
179565
179566        Force LTR layout for media controls even in RTL documents.
179567        https://bugs.webkit.org/show_bug.cgi?id=74024
179568
179569        Reviewed by Darin Adler.
179570
179571        Test: media/controls-layout-direction.html
179572
179573        * css/mediaControls.css:
179574        (::-webkit-media-controls):
179575
1795762011-12-07  Mark Pilgrim  <pilgrim@chromium.org>
179577
179578        [FileSystem API] requestFileSystem successCallback is required
179579        https://bugs.webkit.org/show_bug.cgi?id=69637
179580
179581        Reviewed by Darin Adler.
179582
179583        * page/DOMWindow.idl: remove [Optional] flag from successCallback parameter
179584
1795852011-12-07  Leo Yang  <leo.yang@torchmobile.com.cn>
179586
179587        Upstream the BlackBerry porting of network Resource
179588        https://bugs.webkit.org/show_bug.cgi?id=73388
179589
179590        Reviewed by Rob Buis.
179591
179592        Other main contributors:
179593        Joe Mason <jmason@rim.com>
179594        Yong Li  <yoli@rim.com>
179595        Gary Simmons  <gsimmons@rim.com>
179596        Genevieve Mak <gmak@rim.com>
179597        Chris Guan <chris.guan@torchmobile.com.cn>
179598        Mike Lattanzio <mlattanzio@rim.com>
179599
179600        Initial upstream, can't be built yet, no new tests.
179601
179602        * platform/network/blackberry/ResourceError.h: Added.
179603        * platform/network/blackberry/ResourceErrorBlackBerry.cpp: Added.
179604        * platform/network/blackberry/ResourceHandleBlackBerry.cpp: Added.
179605        * platform/network/blackberry/ResourceRequest.h: Added.
179606        * platform/network/blackberry/ResourceRequestBlackBerry.cpp: Added.
179607        * platform/network/blackberry/ResourceResponse.h: Added.
179608        * platform/network/blackberry/ResourceResponseBlackBerry.cpp: Added.
179609
1796102011-12-07  Fady Samuel  <fsamuel@chromium.org>
179611
179612        [Chromium] Plumb DPI info into PlatformScreen
179613        https://bugs.webkit.org/show_bug.cgi?id=70556
179614
179615        Reviewed by Darin Fisher.
179616
179617        Make DPI information accessible from WebKit through
179618        PlatformScreen. This is useful when making scaling 
179619        computations on various devices (e.g. Viewport meta tag).
179620
179621        This patch adds DPI plumbing on Chromium Win/Mac/Linux
179622        platforms.
179623
179624        * page/Screen.cpp:
179625        (WebCore::Screen::horizontalDPI):
179626        (WebCore::Screen::verticalDPI):
179627        * page/Screen.h:
179628        * platform/PlatformScreen.h:
179629        * platform/chromium/PlatformScreenChromium.cpp:
179630        (WebCore::screenHorizontalDPI):
179631        (WebCore::screenVerticalDPI):
179632        * platform/chromium/PlatformSupport.h:
179633        * platform/efl/PlatformScreenEfl.cpp:
179634        (WebCore::screenHorizontalDPI):
179635        (WebCore::screenVerticalDPI):
179636        * platform/gtk/PlatformScreenGtk.cpp:
179637        (WebCore::screenHorizontalDPI):
179638        (WebCore::screenVerticalDPI):
179639        * platform/mac/PlatformScreenMac.mm:
179640        (WebCore::screenHorizontalDPI):
179641        (WebCore::screenVerticalDPI):
179642        * platform/qt/PlatformScreenQt.cpp:
179643        (WebCore::screenHorizontalDPI):
179644        (WebCore::screenVerticalDPI):
179645        * platform/win/PlatformScreenWin.cpp:
179646        (WebCore::screenHorizontalDPI):
179647        (WebCore::screenVerticalDPI):
179648
1796492011-12-07  Aaron Colwell  <acolwell@chromium.org>
179650
179651        Revert mixed content handling for video fix and follow-up test expectations & Skipped changes.
179652        (r101883, r101918, r101927, r101981, r101986, r101997)
179653        https://bugs.webkit.org/show_bug.cgi?id=72178
179654
179655        Reviewed by Adam Barth.
179656
179657        * loader/SubresourceLoader.cpp:
179658        (WebCore::SubresourceLoader::willSendRequest):
179659        * loader/cache/CachedRawResource.cpp:
179660        * loader/cache/CachedRawResource.h:
179661        * loader/cache/CachedResource.cpp:
179662        (WebCore::defaultPriorityForResourceType):
179663        (WebCore::cachedResourceTypeToTargetType):
179664        * loader/cache/CachedResource.h:
179665        * loader/cache/CachedResourceLoader.cpp:
179666        (WebCore::createResource):
179667        (WebCore::CachedResourceLoader::checkInsecureContent):
179668        (WebCore::CachedResourceLoader::canRequest):
179669        (WebCore::CachedResourceLoader::requestResource):
179670
1796712011-12-07  Ryuan Choi  <ryuan.choi@samsung.com>
179672
179673        [EFL] Introduce AssertMatchingEnums.cpp.
179674        https://bugs.webkit.org/show_bug.cgi?id=65238
179675
179676        Reviewed by Filip Pizlo.
179677
179678        Remove switch statement which convert EWK_TOUCH_PointType enum values to
179679        WebCore::PlatformTouchPoint::State enum values.
179680        Newly added AssertMatchingEnums.cpp assure that they are equal.
179681
179682        No new tests, no new functionality.
179683
179684        * platform/efl/PlatformTouchEventEfl.cpp:
179685        (WebCore::PlatformTouchEvent::PlatformTouchEvent):
179686
1796872011-12-07  Shawn Singh  <shawnsingh@chromium.org>
179688
179689        [chromium] Clearing root surface should happen after damage tracking
179690        https://bugs.webkit.org/show_bug.cgi?id=73958
179691
179692        Reviewed by James Robinson.
179693
179694        No new semantics, covered by existing layout tests.
179695
179696        * platform/graphics/chromium/LayerRendererChromium.cpp:
179697        (WebCore::LayerRendererChromium::clearSurfaceForDebug):
179698        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
179699        (WebCore::LayerRendererChromium::drawLayersInternal):
179700        * platform/graphics/chromium/LayerRendererChromium.h:
179701
1797022011-12-07  Florin Malita  <fmalita@google.com>
179703
179704        <li value="0"> behaves like <li> (the same for negative numbers)
179705        https://bugs.webkit.org/show_bug.cgi?id=73911
179706
179707        Reviewed by Alexey Proskuryakov.
179708
179709        Allow LI values <= 0 and consolidate the value processing logic.
179710
179711        * html/HTMLLIElement.cpp:
179712        (WebCore::HTMLLIElement::parseMappedAttribute):
179713        Delegated value parsing to parseValue().
179714
179715        (WebCore::HTMLLIElement::attach):
179716        Ditto. Explicit value null testing is no longer necessary,
179717        as parseValue's toInt() performs an equivalent check.
179718
179719        (WebCore::HTMLLIElement::parseValue):
179720        Consolidated value parsing logic.
179721
179722        * html/HTMLLIElement.h:
179723
1797242011-12-07  Joshua Bell  <jsbell@chromium.org>
179725
179726        IndexedDB: Replace bool args in IDBKeyRange private methods with enum
179727        https://bugs.webkit.org/show_bug.cgi?id=70743
179728
179729        Reviewed by Tony Chang.
179730
179731        No new tests - no functional changes.
179732
179733        * storage/IDBKeyRange.cpp:
179734        (WebCore::IDBKeyRange::IDBKeyRange):
179735        (WebCore::IDBKeyRange::bound):
179736        * storage/IDBKeyRange.h:
179737        (WebCore::IDBKeyRange::create):
179738        (WebCore::IDBKeyRange::lowerOpen):
179739        (WebCore::IDBKeyRange::upperOpen):
179740
1797412011-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
179742
179743        Unreviewed, rolling out r102267.
179744        http://trac.webkit.org/changeset/102267
179745        https://bugs.webkit.org/show_bug.cgi?id=74032
179746
179747        Breaks build on Chromium Mac Debug (Requested by aklein on
179748        #webkit).
179749
179750        * dom/ChildListMutationScope.cpp:
179751        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
179752        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
179753        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
179754        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::decrementScopingLevel):
179755
1797562011-12-07  Kentaro Hara  <haraken@chromium.org>
179757
179758        REGRESSION (r95249): Right side can be truncated when printing
179759        https://bugs.webkit.org/show_bug.cgi?id=73868
179760
179761        Reviewed by Darin Adler.
179762
179763        When we print a page with an overflowed width, the right side of the page
179764        can be truncated. This is due to a wrong rendering calculation.
179765        Since 'maximumShrinkFactor' is a ratio based on 'pageSize',
179766        'maximumShrinkFactor' should multiply (not 'originalPageSize') but 'pageSize'.
179767        This bug happens if all the following conditions are met:
179768            - pageLogicalWidth < docLogicalWidth
179769            - originalPageSize.width * maximumShrinkFactor < docLogicalWidth
179770            - docLogicalWidth < pageLogicalWidth * maximumShrinkFactor
179771
179772        Test: printing/width-overflow.html
179773
179774        * page/FrameView.cpp:
179775        (WebCore::FrameView::forceLayoutForPagination):
179776
1797772011-12-07  Yong Li  <yoli@rim.com>
179778
179779        Defer ScriptExecutionContext::Task's in Document when page loading is deferred.
179780        Schedule them with timer when page loading is resumed. The tasks will be performed
179781        in the original order. This fixes the problem that database callbacks could be missed
179782        when page loading was deferred.
179783        https://bugs.webkit.org/show_bug.cgi?id=49401
179784 
179785
179786        Reviewed by Darin Adler.
179787
179788        Manual test added: ManualTests/database-callback-deferred.html. 
179789
179790        * dom/Document.cpp:
179791        (WebCore::Document::Document):
179792        (WebCore::Document::didReceiveTask):
179793        (WebCore::Document::postTask):
179794        (WebCore::Document::pendingTasksTimerFired):
179795        (WebCore::Document::suspendScheduledTasks):
179796        (WebCore::Document::resumeScheduledTasks):
179797        * dom/Document.h:
179798        * page/PageGroupLoadDeferrer.cpp:
179799        (WebCore::PageGroupLoadDeferrer::PageGroupLoadDeferrer):
179800        (WebCore::PageGroupLoadDeferrer::~PageGroupLoadDeferrer):
179801
1798022011-12-07  Andreas Kling  <kling@webkit.org>
179803
179804        RenderObject::style(): Inline early-return condition.
179805        <http://webkit.org/b/74019>
179806
179807        Reviewed by Anders Carlsson.
179808
179809        style() was very hot (6.1%) when scrolling around on youtube.com,
179810        and 100% of the calls were taking the early return path.
179811
179812        Inlined the !isRenderFlowThread() check and renamed the function to
179813        styleSlowCase().
179814
179815        * rendering/RenderObject.cpp:
179816        (WebCore::RenderObject::styleSlowCase):
179817        * rendering/RenderObject.h:
179818        (WebCore::RenderObject::style):
179819
1798202011-12-07  Adam Klein  <adamk@chromium.org>
179821
179822        Use HashMap<Node*, OwnPtr<...>> in ChildListMutationScope
179823        https://bugs.webkit.org/show_bug.cgi?id=73964
179824
179825        Reviewed by Ryosuke Niwa.
179826
179827        No new tests, refactoring only.
179828
179829        * dom/ChildListMutationScope.cpp:
179830        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::childAdded):
179831        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::willRemoveChild):
179832        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::incrementScopingLevel):
179833        (WebCore::ChildListMutationAccumulator::MutationAccumulationRouter::decrementScopingLevel):
179834
1798352011-12-07  Andreas Kling  <kling@webkit.org>
179836
179837        RenderLayer::updateZOrderLists(): Inline early-return condition.
179838        <http://webkit.org/b/74013>
179839
179840        Reviewed by Anders Carlsson.
179841
179842        updateZOrderLists() was hot (1.2%) when scrolling around on youtube.com,
179843        and 85% of the calls were taking the early return path.
179844
179845        Inlined the two checks for the early return and renamed the function
179846        to updateZOrderListsSlowCase(). Also reversed their order to avoid the
179847        virtual call (RenderObject::isRenderView()) if possible.
179848
179849        * rendering/RenderLayer.cpp:
179850        (WebCore::RenderLayer::updateZOrderListsSlowCase):
179851        * rendering/RenderLayer.h:
179852        (WebCore::RenderLayer::updateZOrderLists):
179853
1798542011-12-07  Sheriff Bot  <webkit.review.bot@gmail.com>
179855
179856        Unreviewed, rolling out r102244.
179857        http://trac.webkit.org/changeset/102244
179858        https://bugs.webkit.org/show_bug.cgi?id=74016
179859
179860        caused debug test timeouts (Requested by simonjam on #webkit).
179861
179862        * platform/graphics/skia/ImageBufferSkia.cpp:
179863        (WebCore::putImageData):
179864        (WebCore::ImageBuffer::putUnmultipliedImageData):
179865        (WebCore::ImageBuffer::putPremultipliedImageData):
179866
1798672011-12-07  Adam Klein  <adamk@chromium.org>
179868
179869        Layout Test inspector/debugger/dom-breakpoints.html fails on chromium linux debug with ENABLE(MUTATION_OBSERVERS)
179870        https://bugs.webkit.org/show_bug.cgi?id=73919
179871
179872        Reviewed by Ojan Vafai.
179873
179874        Use StyleAttributeMutationScope to manage DOM breakpoints for style property changes.
179875
179876        Instead of calling InspectorInstrumentation::didInvalidateStyleAttr()
179877        directly in setNeedsStyleRecalc, set a bool in the current
179878        StyleAttributeMutationScope, and delay the call until the scope's
179879        counter runs down to zero. This keeps the inspector JS from re-entering
179880        CSSMutableStyleDeclaration until all StyleAttributeMutationScope work is done.
179881
179882        Also fix a small bug in StyleAttributeMutationScope, where
179883        s_shouldDeliver wasn't getting reset properly to false.
179884
179885        * css/CSSMutableStyleDeclaration.cpp:
179886        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
179887
1798882011-12-07  Ken Buchanan <kenrb@chromium.org>
179889
179890        Crash from multicol spans with layers
179891        https://bugs.webkit.org/show_bug.cgi?id=68030
179892
179893        Reviewed by David Hyatt.
179894
179895        The layer tree diverges from the render tree when a span is being split
179896        between columns. This patch causes the layer tree to be updated when necessary.
179897
179898        * rendering/RenderBlock.cpp:
179899        (WebCore::RenderBlock::splitFlow)
179900        (WebCore::RenderBlock::splitBlocks)
179901
1799022011-12-07  Alexey Proskuryakov  <ap@apple.com>
179903
179904        Handling of !important in inline style sets is broken
179905        https://bugs.webkit.org/show_bug.cgi?id=73941
179906
179907        Reviewed by Dave Hyatt.
179908
179909        This behavior was introduced in bug 8223 to match IE and Firefox. But it doesn't appear that we're matching
179910        any browser today, and CSSOM spec agrees with them.
179911
179912        * WebCore.exp.in: Don't export CSSStyleDeclaration::setProperty(), no one is using it.
179913
179914        * bindings/js/JSCSSStyleDeclarationCustom.cpp: (WebCore::JSCSSStyleDeclaration::putDelegate): Use regular
179915        setProperty(), not the incorrect version that's being removed. Properties set via IDL attributes are never
179916        important.
179917
179918        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp: (WebCore::V8CSSStyleDeclaration::namedPropertySetter):
179919        Made the same fix for v8. Why did v8 bindings authors copy/paste the code?!
179920
179921        * css/CSSStyleDeclaration.cpp:
179922        * css/CSSStyleDeclaration.h:
179923        Removed a version of setProperty() that attempted to parse the value and extract !important from it.
179924
179925        * html/ImageDocument.cpp:
179926        (WebCore::ImageDocument::resizeImageToFit):
179927        (WebCore::ImageDocument::restoreImageSize):
179928        (WebCore::ImageDocument::windowSizeChanged):
179929        * page/DragController.cpp:
179930        (WebCore::DragController::concludeEditDrag):
179931        We never needed to use this version of setProperty() here, it was just unnecessarily slower.
179932
1799332011-12-07  Xianzhu Wang  <wangxianzhu@chromium.org>
179934
179935        In FontCacheAndroid.cpp should keep the pointer valid returned from CString::data()
179936        https://bugs.webkit.org/show_bug.cgi?id=73849
179937
179938        The changed code has been covered by many existing layout tests.
179939
179940        Reviewed by Adam Barth.
179941
179942        * platform/graphics/chromium/FontCacheAndroid.cpp:
179943        (WebCore::FontCache::createFontPlatformData):
179944
1799452011-12-07  Xiaomei Ji  <xji@chromium.org>
179946
179947        Turn on move caret by word visually for Windows platform.
179948        https://bugs.webkit.org/show_bug.cgi?id=59652
179949
179950        Reviewed by Ryosuke Niwa.
179951
179952        We already support (arrow key) moving cursor by character in visual order.
179953        This patch implements (ctrl/alt-arrow) moving cursor by word in visual order (in Windows).
179954        It matches Firefox's default behavior.
179955
179956        Without this patch, ctrl(alt for mac)-arrow key or
179957        selection.modify("move", "left"/"right", "word") moves cursor by word in logical order. 
179958
179959        IE implements moving cursor by logical order for both arrow key and ctrl-arrow key.
179960        Firefox implements moving cursor by visual order for both operations.
179961        From Chromium bug report, native speakers would like moving cursor by visual order since it
179962        is more intuitive.
179963
179964        The patch is only enabled for Windows (by EditingBehavior) because current implementation
179965        matches Windows' native behavior.
179966        For exmaple, if the logical text is "abc def hij", the cursor positions are
179967        "|abc |def |hij|" no matter pressing ctrl-left-arrow or ctrl-right-arrow.
179968
179969        Mac and Linux's native behavior is slightly different. In which, when pressing
179970        ctrl-left-arrow, the cursor positions are "|abc |def |hij|". When pressing ctrl-right-arrow,
179971        the cursor positions are "|abc| def| hij|". We will implement it next.
179972
179973        Test: editing/selection/move-left-right-by-word-mac.html
179974
179975        * editing/EditingBehavior.h:
179976        (WebCore::EditingBehavior::shouldMoveLeftRightByWordInVisualOrder):
179977        * editing/FrameSelection.cpp: Remove experimental enum WebKitVisualWordGranularity.
179978        (WebCore::FrameSelection::modifyExtendingRight):
179979        (WebCore::FrameSelection::modifyExtendingForward):
179980        (WebCore::FrameSelection::modifyMovingRight):
179981        (WebCore::FrameSelection::modifyMovingForward):
179982        (WebCore::FrameSelection::modifyExtendingLeft):
179983        (WebCore::FrameSelection::modifyExtendingBackward):
179984        (WebCore::FrameSelection::modifyMovingLeft):
179985        (WebCore::FrameSelection::modifyMovingBackward):
179986        * editing/TextGranularity.h: Remove experimental enum WebKitVisualWordGranularity.
179987        * editing/VisibleSelection.cpp: Remove experimental enum WebKitVisualWordGranularity.
179988        (WebCore::VisibleSelection::setStartAndEndFromBaseAndExtentRespectingGranularity):
179989        * page/DOMSelection.cpp: Remove experimental experimental flag -webkit-visual-word.
179990        (WebCore::DOMSelection::modify):
179991
1799922011-12-07  Jonathan Backer  <backer@chromium.org>
179993
179994        [chromium] Plumb damage from WebExternalTextureLayer and WebPluginContainer to CCDamageTracker
179995        https://bugs.webkit.org/show_bug.cgi?id=73485
179996
179997        Reviewed by Darin Fisher.
179998
179999        * platform/graphics/chromium/PluginLayerChromium.cpp:
180000        (WebCore::PluginLayerChromium::updateCompositorResources):
180001        (WebCore::PluginLayerChromium::invalidateRect):
180002        * platform/graphics/chromium/PluginLayerChromium.h:
180003
1800042011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
180005
180006        Upstream 5 files into WebCore/platform/blackberry
180007        https://bugs.webkit.org/show_bug.cgi?id=73632
180008
180009        Reviewed by Rob Buis.
180010
180011        Initial upstream, no new tests.
180012
180013        * PlatformBlackBerry.cmake: Remove two empty files from build list.
180014        * platform/blackberry/PopupMenuBlackBerry.cpp: Added.
180015        (WebCore::PopupMenuBlackBerry::PopupMenuBlackBerry):
180016        (WebCore::PopupMenuBlackBerry::~PopupMenuBlackBerry):
180017        (WebCore::PopupMenuBlackBerry::show):
180018        (WebCore::PopupMenuBlackBerry::hide):
180019        (WebCore::PopupMenuBlackBerry::updateFromElement):
180020        (WebCore::PopupMenuBlackBerry::disconnectClient):
180021        * platform/blackberry/PopupMenuBlackBerry.h: Added.
180022        (WebCore::PopupMenuBlackBerry::client):
180023        * platform/blackberry/ScrollbarThemeBlackBerry.cpp: Added.
180024        (WebCore::ScrollbarTheme::nativeTheme):
180025        * platform/blackberry/SearchPopupMenuBlackBerry.cpp: Added.
180026        (WebCore::SearchPopupMenuBlackBerry::SearchPopupMenuBlackBerry):
180027        (WebCore::SearchPopupMenuBlackBerry::popupMenu):
180028        (WebCore::SearchPopupMenuBlackBerry::enabled):
180029        (WebCore::SearchPopupMenuBlackBerry::saveRecentSearches):
180030        (WebCore::SearchPopupMenuBlackBerry::loadRecentSearches):
180031        * platform/blackberry/SearchPopupMenuBlackBerry.h: Added.
180032
1800332011-12-07  Dan Bernstein  <mitz@apple.com>
180034
180035        Fixed the definition of BUTTON_CELL_DRAW_WITH_FRAME_DRAWS_FOCUS_RING from r102246.
180036
180037        * platform/mac/ThemeMac.mm: Added parentheses.
180038
1800392011-12-07  Dan Bernstein  <mitz@apple.com>
180040
180041        <rdar://problem/10542095> Focus rings are not drawn around push buttons, radio buttons and checkboxes
180042
180043        Reviewed by Darin Adler.
180044
180045        Instead of relying on -setShowsFirstResponder: to make -drawWithFrame:inView: draw the focus
180046        ring, use -drawFocusRingMaskWithFrame:inView:.
180047
180048        * platform/mac/ThemeMac.mm:
180049        (-[NSCell _web_drawFocusRingWithFrame:inView:]): Added. Sets up the focus ring style and a
180050        transparency layer, then uses -drawFocusRingMaskWithFrame:inView: to draw the focus ring.
180051        (WebCore::updateStates): Eliminated calls to get and set showsFirstResponder.
180052        (WebCore::paintCheckbox): Changed to use -_web_drawFocusRingWithFrame:inView:.
180053        (WebCore::paintRadio): Ditto.
180054        (WebCore::paintButton): Ditto.
180055
1800562011-12-07  Brian Salomon  <bsalomon@google.com>
180057
180058        [CHROMIUM/SKIA] Handle put[Un/Pre]multipliedImageData conversions in Skia rather than ImageBuffer
180059        https://bugs.webkit.org/show_bug.cgi?id=73953
180060
180061        Reviewed by Stephen White.
180062
180063        Tested by existing canvas2d layout tests.
180064
180065        * platform/graphics/skia/ImageBufferSkia.cpp:
180066        (WebCore::putImageData):
180067        (WebCore::ImageBuffer::putUnmultipliedImageData):
180068        (WebCore::ImageBuffer::putPremultipliedImageData):
180069
1800702011-12-07  Andreas Kling  <kling@webkit.org>
180071
180072        Micro-optimize ScrollView::visibleContentRect().
180073        <http://webkit.org/b/74001>
180074
180075        Reviewed by Anders Carlsson.
180076
180077        Reorder the scrollbar exclusion code to minimize the number of virtual calls
180078        to ScrollableArea::verticalScrollbar(), ScrollableArea::horizontalScrollbar()
180079        and Scrollbar::isOverlayScrollbar().
180080
180081        * platform/ScrollView.cpp:
180082        (WebCore::ScrollView::visibleContentRect):
180083
1800842011-12-07  Andreas Kling  <kling@webkit.org>
180085
180086        ApplyPropertyBorderImage: Remove unneeded template argument for mapNinePieceImage().
180087        <http://webkit.org/b/73998>
180088
180089        Reviewed by Antti Koivisto.
180090
180091        Have ApplyPropertyBorderImage call mapNinePieceImage() directly now that it's
180092        public (instead of passing it as a template argument.)
180093
180094        * css/CSSStyleApplyProperty.cpp:
180095        (WebCore::ApplyPropertyBorderImage::applyValue):
180096        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
180097
1800982011-12-07  Jessie Berlin  <jberlin@apple.com>
180099
180100        Mac build fix after r102235.
180101
180102        * WebCore.exp.in:
180103
1801042011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
180105
180106        [Qt] V8 debug build fixes.
180107
180108        Reviewed by Tor Arne Vestbø.
180109
180110        * Target.pri: Add missing files to the build.
180111        * loader/SubresourceLoader.cpp: Add missing CString.h header file inclusion,
180112        that is implicitly included with Chromium builds and only needed in ASSERTS
180113        in debug builds.
180114        * loader/cache/CachedResource.cpp: Ditto.
180115        * page/FrameTree.cpp: Ditto.
180116        * platform/graphics/MediaPlayer.cpp: Ditto.
180117
1801182011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
180119
180120        [Qt] V8 build fixes.
180121
180122        Reviewed by Tor Arne Vestbø.
180123
180124        * Target.pri: Don't load(javascriptcore) if we're building with v8.
180125
1801262011-12-07  Mary Wu  <mary.wu@torchmobile.com.cn>
180127
180128        Change function name InitializeLoggingChannelsIfNecessary to follow coding style guideline
180129        https://bugs.webkit.org/show_bug.cgi?id=73986
180130
180131        Reviewed by Kenneth Rohde Christiansen.
180132
180133        Just function name change, no new tests.
180134
180135        * platform/Logging.h:
180136        * platform/efl/LoggingEfl.cpp:
180137        (WebCore::initializeLoggingChannelsIfNecessary):
180138        * platform/gtk/LoggingGtk.cpp:
180139        (WebCore::initializeLoggingChannelsIfNecessary):
180140        * platform/mac/LoggingMac.mm:
180141        (WebCore::initializeLoggingChannelsIfNecessary):
180142        * platform/qt/LoggingQt.cpp:
180143        (WebCore::initializeLoggingChannelsIfNecessary):
180144        * platform/win/LoggingWin.cpp:
180145        (WebCore::initializeLoggingChannelsIfNecessary):
180146        * platform/wx/LoggingWx.cpp:
180147        (WebCore::initializeLoggingChannelsIfNecessary):
180148
1801492011-12-07  Mihnea Ovidenie  <mihnea@adobe.com>
180150
180151        [CSSRegions]Add support for background-color in region styling
180152        https://bugs.webkit.org/show_bug.cgi?id=71488
180153
180154        Reviewed by David Hyatt.
180155
180156        Tests: fast/regions/region-style-block-background-color.html
180157               fast/regions/region-style-block-background-color2.html
180158               fast/regions/region-style-image-background-color.html
180159               fast/regions/region-style-inline-background-color.html
180160
180161        * WebCore.exp.in:
180162        * css/CSSStyleSelector.cpp:
180163        (WebCore::RuleData::regionStyleRule):
180164        (WebCore::CSSStyleSelector::CSSStyleSelector):
180165        (WebCore::CSSStyleSelector::addMatchedDeclaration):
180166        (WebCore::CSSStyleSelector::matchRules):
180167        (WebCore::CSSStyleSelector::matchAllRules):
180168        (WebCore::CSSStyleSelector::initForRegionStyling):
180169        (WebCore::CSSStyleSelector::styleForElement):
180170        (WebCore::CSSStyleSelector::pseudoStyleForElement):
180171        (WebCore::RuleData::RuleData):
180172        (WebCore::RuleSet::RuleSet):
180173        (WebCore::RuleSet::addToRuleSet):
180174        (WebCore::CSSStyleSelector::applyDeclarations):
180175        (WebCore::isValidRegionStyleProperty):
180176        (WebCore::CSSStyleSelector::applyProperty):
180177        * css/CSSStyleSelector.h:
180178        (WebCore::CSSStyleSelector::setRegionForStyling):
180179        (WebCore::CSSStyleSelector::regionForStyling):
180180        (WebCore::CSSStyleSelector::applyPropertyToRegionStyle):
180181        * rendering/RenderFlowThread.cpp:
180182        (WebCore::RenderFlowThread::clearRenderRegionRangeMap):
180183        (WebCore::RenderFlowThread::~RenderFlowThread):
180184        (WebCore::RenderFlowThread::layout):
180185        (WebCore::RenderFlowThread::clearRenderObjectCustomStyle):
180186        (WebCore::RenderFlowThread::setRegionRangeForBox):
180187        * rendering/RenderFlowThread.h:
180188        * rendering/RenderLayer.cpp:
180189        (WebCore::CurrentRenderRegionMaintainer::CurrentRenderRegionMaintainer):
180190        (WebCore::CurrentRenderRegionMaintainer::~CurrentRenderRegionMaintainer):
180191        (WebCore::RenderLayer::paint):
180192        (WebCore::RenderLayer::hitTest):
180193        * rendering/RenderObject.cpp:
180194        (WebCore::RenderObject::style):
180195        * rendering/RenderObject.h:
180196        (WebCore::RenderObject::canHaveRegionStyle):
180197        * rendering/RenderObjectChildList.cpp:
180198        (WebCore::RenderObjectChildList::removeChildNode):
180199        * rendering/RenderRegion.cpp:
180200        (WebCore::RenderRegion::layout):
180201        (WebCore::RenderRegion::renderObjectRegionStyle):
180202        (WebCore::RenderRegion::computeStyleInRegion):
180203        (WebCore::RenderRegion::clearObjectStyleInRegion):
180204        * rendering/RenderRegion.h:
180205        * rendering/RenderView.cpp:
180206        (WebCore::RenderView::RenderView):
180207        * rendering/RenderView.h:
180208        (WebCore::RenderView::currentRenderRegion):
180209        (WebCore::RenderView::setCurrentRenderRegion):
180210
1802112011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
180212
180213        Web Inspector: Extract default call stack creation and check for front-end from console.
180214        https://bugs.webkit.org/show_bug.cgi?id=73566
180215
180216        Reviewed by Yury Semikhatsky.
180217
180218        * bindings/js/ScriptCallStackFactory.cpp:
180219        (WebCore::createScriptCallStack):
180220        * bindings/js/ScriptCallStackFactory.h:
180221        * bindings/scripts/CodeGeneratorJS.pm:
180222        (GenerateParametersCheck):
180223        * bindings/scripts/CodeGeneratorV8.pm:
180224        (GenerateFunctionCallback):
180225        * bindings/scripts/test/JS/JSTestObj.cpp:
180226        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
180227        * bindings/scripts/test/V8/V8TestObj.cpp:
180228        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
180229        * bindings/v8/ScriptCallStackFactory.cpp:
180230        (WebCore::createScriptCallStack):
180231        * bindings/v8/ScriptCallStackFactory.h:
180232        * inspector/InspectorInstrumentation.cpp:
180233        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
180234        * inspector/InspectorInstrumentation.h:
180235        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
180236        * inspector/WorkerInspectorController.h:
180237        (WebCore::WorkerInspectorController::hasFrontend):
180238        * page/Console.cpp:
180239        * page/Console.h:
180240
1802412011-12-07  Shinya Kawanaka  <shinyak@google.com>
180242
180243        Internals should have a method to reutrn the max sequence number of spellcheck reqeust.
180244        https://bugs.webkit.org/show_bug.cgi?id=73511
180245
180246        Reviewed by Hajime Morita.
180247
180248        Internal state of SpellChecker should be able to be exposed for testing SpellChecker.
180249        This patch will enable us to know asynchronous spellcheck has finished or not.
180250
180251        Test: editing/spelling/spellcheck-sequencenum.html
180252
180253        * editing/SpellChecker.cpp:
180254        (WebCore::SpellChecker::SpellChecker):
180255        (WebCore::SpellChecker::createRequest):
180256        (WebCore::SpellChecker::didCheck):
180257        * editing/SpellChecker.h:
180258        (WebCore::SpellChecker::lastRequestSequence):
180259          Interface to take SpellCheck sequence numbers.
180260        (WebCore::SpellChecker::lastProcessedSequence): ditto.
180261        * testing/Internals.cpp:
180262        (WebCore::spellchecker):
180263        (WebCore::Internals::lastSpellCheckRequestSequence):
180264        (WebCore::Internals::lastSpellCheckProcessedSequence):
180265        * testing/Internals.h:
180266        * testing/Internals.idl:
180267
1802682011-12-07  Ryosuke Niwa  <rniwa@webkit.org>
180269
180270        TypingCommand duplicates code to obtain the last typing command
180271        https://bugs.webkit.org/show_bug.cgi?id=73984
180272
180273        Reviewed by Kent Tamura.
180274
180275        Extracted lastTypingCommandIfStillOpenForTyping out of isOpenForMoreTypingCommand
180276        and a bunch of TypingCommand static member functions.
180277
180278        Also made more member functions of TypingCommand private.
180279
180280        * editing/Editor.cpp:
180281        (WebCore::Editor::setComposition):
180282        * editing/FrameSelection.cpp:
180283        (WebCore::FrameSelection::setSelection):
180284        * editing/TypingCommand.cpp:
180285        (WebCore::TypingCommand::deleteSelection):
180286        (WebCore::TypingCommand::deleteKeyPressed):
180287        (WebCore::TypingCommand::forwardDeleteKeyPressed):
180288        (WebCore::TypingCommand::insertText):
180289        (WebCore::TypingCommand::insertLineBreak):
180290        (WebCore::TypingCommand::insertParagraphSeparatorInQuotedContent):
180291        (WebCore::TypingCommand::insertParagraphSeparator):
180292        (WebCore::TypingCommand::lastTypingCommandIfStillOpenForTyping):
180293        (WebCore::TypingCommand::closeTyping):
180294        * editing/TypingCommand.h:
180295        (WebCore::TypingCommand::isOpenForMoreTyping):
180296        (WebCore::TypingCommand::closeTyping):
180297
1802982011-12-06  Mary Wu  <mary.wu@torchmobile.com.cn>
180299
180300        upstream BlackBerry porting of KURL/Logging
180301        https://bugs.webkit.org/show_bug.cgi?id=73524
180302
180303        Reviewed by Antonio Gomes.
180304
180305        * platform/blackberry/KURLBlackBerry.cpp: Added.
180306        (WebCore::KURL::fileSystemPath):
180307        * platform/blackberry/LoggingBlackBerry.cpp: Added.
180308        (WebCore::initializeWithUserDefault):
180309        (WebCore::InitializeLoggingChannelsIfNecessary):
180310
1803112011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
180312
180313        [BlackBerry] Remove redundant files in PlatformBlackBerry.cmake
180314        https://bugs.webkit.org/show_bug.cgi?id=73976
180315
180316        Reviewed by Antonio Gomes.
180317
180318        The listing of the following files in PlatformBlackBerry.cmake are redundant. They should be removed.
180319        platform/network/blackberry/MultipartResponseDelegate.cpp
180320        platform/network/blackberry/NetworkManager.cpp
180321        platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
180322        platform/network/blackberry/ResourceErrorBlackBerry.cpp
180323        platform/network/blackberry/ResourceRequestBlackBerry.cpp
180324
180325        * PlatformBlackBerry.cmake:
180326
1803272011-12-06  Shinya Kawanaka  <shinyak@google.com>
180328
180329        Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
180330        https://bugs.webkit.org/show_bug.cgi?id=73628
180331
180332        Reviewed by Hajime Morita.
180333
180334        Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
180335
180336        No new tests. covered by existing tests.
180337
180338        * editing/Editor.cpp:
180339        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
180340          Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
180341        (WebCore::Editor::markAndReplaceFor):
180342        * editing/Editor.h:
180343
1803442011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
180345
180346        Avoid calling calculateRects in RenderLayer::paintLayer when the rectangles are not needed
180347        https://bugs.webkit.org/show_bug.cgi?id=73754
180348
180349        Reviewed by Simon Fraser.
180350
180351        Performance change, no change in behavior.
180352
180353        RenderLayer::paintLayer can easily be called a million time when scrolling on a big table with
180354        td { overflow: hidden; }. We would spend a lot of time recomputing the rectangles that we never
180355        unused for painting as our layer was not self-painting (clipping layer only) and we did not paint
180356        some overlay scrollbars.
180357
180358        * rendering/RenderLayer.cpp:
180359        (WebCore::RenderLayer::paintLayer):
180360        Simplified and moved the shouldPaint logic earlier in the function. Now the branches
180361        are checking the same boolean which makes the logic more obvious. A consequence of
180362        filling shouldPaint earlier is that we call |calculateRects| only if there is a chance
180363        the rectangles will used. Also cached the result of isSelfPaintingLayer() in a local
180364        variable (isSelfPaintingLayer() is fairly expensive due to several virtual calls).
180365
180366        * rendering/RenderLayerBacking.cpp:
180367        (WebCore::RenderLayerBacking::paintIntoLayer):
180368        For coherency, applied the same optimizations here too: added an early return instead
180369        of conditionaly call |calculateRects| as we don't have to restore any clip.
180370
1803712011-12-06  Benjamin Poulain  <benjamin@webkit.org>
180372
180373        Simplify KURL's checkEncodedString()
180374        https://bugs.webkit.org/show_bug.cgi?id=73890
180375
180376        Reviewed by Andreas Kling.
180377
180378        The Macro UNUSED_PARAM is not supposed to be used for this case,
180379        use ASSERT_UNUSED instead.
180380
180381        * platform/KURL.cpp:
180382        (WebCore::checkEncodedString):
180383
1803842011-12-06  Ryosuke Niwa  <rniwa@webkit.org>
180385
180386        The code to create a NodeListsNodeData is duplicated everywhere
180387        https://bugs.webkit.org/show_bug.cgi?id=73961
180388
180389        Reviewed by Darin Adler.
180390
180391        Extracted the logic to create NodeListsNodeData as NodeRareData::ensureNodeLists.
180392
180393        * dom/Document.cpp:
180394        (WebCore::Document::getItems):
180395        * dom/Node.cpp:
180396        (WebCore::Node::childNodes):
180397        (WebCore::Node::registerDynamicNodeList):
180398        (WebCore::Node::getElementsByTagName):
180399        (WebCore::Node::getElementsByTagNameNS):
180400        (WebCore::Node::getElementsByName):
180401        (WebCore::Node::getElementsByClassName):
180402        * dom/NodeRareData.h:
180403        (WebCore::NodeRareData::ensureNodeLists):
180404        * html/HTMLFormControlElement.cpp:
180405        (WebCore::HTMLFormControlElement::labels):
180406
1804072011-12-06  Leo Yang  <leo.yang@torchmobile.com.cn>
180408
180409        Upstream about: feature in WebKit/blackberry/WebCoreSupport/
180410        https://bugs.webkit.org/show_bug.cgi?id=73612
180411
180412        Reviewed by Antonio Gomes.
180413
180414        * PlatformBlackBerry.cmake: Move platform/network/blackberry/AboutData.{h, cpp}
180415                                    to WebKit/blackberry/WebCoreSupport
180416
1804172011-12-06  Benjamin Poulain  <bpoulain@apple.com>
180418
180419        WebKit Mac does not build without CONTEXT MENU
180420        https://bugs.webkit.org/show_bug.cgi?id=73962
180421
180422        Reviewed by Pavel Feldman.
180423
180424        In the patch r100903, the symbols were exported under ENABLE(CONTEXT_MENUS)
180425        because the feature is triggered from the menus.
180426
180427        The implementation has no dependency on the context menu but is necessary to build
180428        when the inspector is enabled.
180429        This patch moves the exported symbols from ENABLE(CONTEXT_MENUS) to ENABLE(INSPECTOR).
180430
180431        * WebCore.exp.in:
180432
1804332011-12-06  Adrienne Walker  <enne@google.com>
180434
180435        [chromium] setNeedsCommit on non-composited host layers should trigger commit
180436        https://bugs.webkit.org/show_bug.cgi?id=73711
180437
180438        Reviewed by James Robinson.
180439
180440        Pipe non-composited content host syncs to setNeedsCommit.
180441
180442        Since now the NonCompositedContentHost generates setNeedsCommit, don't
180443        call it unnecessarily, e.g. calling setBackgroundColor to the same
180444        color each frame should not retrigger more commits.
180445
180446        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
180447        (WebCore::GraphicsLayerChromium::setAnchorPoint):
180448        (WebCore::GraphicsLayerChromium::setTransform):
180449        (WebCore::GraphicsLayerChromium::setChildrenTransform):
180450        (WebCore::GraphicsLayerChromium::setMasksToBounds):
180451        (WebCore::GraphicsLayerChromium::setBackgroundColor):
180452        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
180453        (WebCore::GraphicsLayerChromium::setContentsOpaque):
180454        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
180455        (WebCore::GraphicsLayerChromium::setOpacity):
180456        * platform/graphics/chromium/LayerChromium.cpp:
180457        (WebCore::LayerChromium::setNeedsCommit):
180458        (WebCore::LayerChromium::setAnchorPoint):
180459        (WebCore::LayerChromium::setAnchorPointZ):
180460        (WebCore::LayerChromium::setBackgroundColor):
180461        (WebCore::LayerChromium::setMasksToBounds):
180462        (WebCore::LayerChromium::setMaskLayer):
180463        (WebCore::LayerChromium::setOpacity):
180464        (WebCore::LayerChromium::setOpaque):
180465        (WebCore::LayerChromium::setPosition):
180466        (WebCore::LayerChromium::setSublayerTransform):
180467        (WebCore::LayerChromium::setTransform):
180468        (WebCore::LayerChromium::setScrollPosition):
180469        (WebCore::LayerChromium::setScrollable):
180470        (WebCore::LayerChromium::setDoubleSided):
180471        * platform/graphics/chromium/LayerChromium.h:
180472        (WebCore::LayerChromium::setReplicaLayer):
180473        * platform/graphics/chromium/NonCompositedContentHost.cpp:
180474        (WebCore::NonCompositedContentHost::notifySyncRequired):
180475        * platform/graphics/chromium/NonCompositedContentHost.h:
180476
1804772011-12-06  Kenichi Ishibashi  <bashi@chromium.org>
180478
180479        [Chromium] unknown characters symbol on \n in complex script text (RTL and LTR)
180480        https://bugs.webkit.org/show_bug.cgi?id=73806
180481
180482        Reviewed by Tony Chang.
180483
180484        Sets fMergeNeutralItems to 1 instead of merging script items based on their tags.
180485
180486        Tests: platform/chromium/fast/text/international/chromium-complex-text-non-printable-expected.html
180487               platform/chromium/fast/text/international/chromium-complex-text-non-printable.html
180488
180489        * platform/graphics/chromium/UniscribeHelper.cpp:
180490        (WebCore::UniscribeHelper::fillRuns): Removed a block which merges script items.
180491
1804922011-12-06  Luke Macpherson   <macpherson@chromium.org>
180493
180494        Implement remaining border-image and webkit-maskbox-image properties in CSSStyleApplyProperty.
180495        https://bugs.webkit.org/show_bug.cgi?id=73391
180496
180497        Reviewed by Hajime Morita.
180498
180499        No new tests / refacoring only.
180500
180501        * css/CSSStyleApplyProperty.cpp:
180502        (WebCore::ApplyPropertyBorderImageModifier::getValue):
180503        (WebCore::ApplyPropertyBorderImageModifier::setValue):
180504        (WebCore::ApplyPropertyBorderImageModifier::applyInheritValue):
180505        (WebCore::ApplyPropertyBorderImageModifier::applyInitialValue):
180506        (WebCore::ApplyPropertyBorderImageModifier::applyValue):
180507        (WebCore::ApplyPropertyBorderImageModifier::createHandler):
180508        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
180509        * css/CSSStyleSelector.cpp:
180510        (WebCore::CSSStyleSelector::applyProperty):
180511        * css/CSSStyleSelector.h:
180512
1805132011-12-06  Pavel Feldman  <pfeldman@google.com>
180514
180515        Web Inspector: introduce a memory agent stub.
180516        https://bugs.webkit.org/show_bug.cgi?id=73930
180517
180518        Reviewed by Timothy Hatcher.
180519
180520        We'd like to experiment with the memory stats and hence need a
180521        nice home for that. Adding this undocumented agent / domain for now.
180522
180523        * CMakeLists.txt:
180524        * GNUmakefile.list.am:
180525        * Target.pri:
180526        * WebCore.gypi:
180527        * WebCore.vcproj/WebCore.vcproj:
180528        * WebCore.xcodeproj/project.pbxproj:
180529        * bindings/js/ScriptProfiler.h:
180530        (WebCore::ScriptProfiler::nodeCount):
180531        * bindings/v8/ScriptProfiler.cpp:
180532        (WebCore::ScriptProfiler::nodeCount):
180533        * bindings/v8/ScriptProfiler.h:
180534        * inspector/Inspector.json:
180535        * inspector/InspectorController.cpp:
180536        (WebCore::InspectorController::InspectorController):
180537        * inspector/InspectorMemoryAgent.cpp: Added.
180538        (WebCore::InspectorMemoryAgent::~InspectorMemoryAgent):
180539        (WebCore::InspectorMemoryAgent::getNodeCounter):
180540        (WebCore::InspectorMemoryAgent::InspectorMemoryAgent):
180541        * inspector/InspectorMemoryAgent.h: Added.
180542        (WebCore::InspectorMemoryAgent::create):
180543
1805442011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
180545
180546        Unreviewed build fix after 102183.
180547
180548        * rendering/style/RenderStyle.h:
180549        (WebCore::InheritedFlags::initialGridTrackValue):
180550        Use DEFINE_STATIC_LOCAL to avoid having an exit-time destructor.
180551
1805522011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
180553
180554        Inline RenderObject::view()
180555        https://bugs.webkit.org/show_bug.cgi?id=73733
180556
180557        Reviewed by Darin Adler.
180558
180559        Micro-performance optimization, no change in behavior.
180560
180561        RenderObject::view() is super hot and is taking ~4-5% of the time in some
180562        benchmarks as it is called several hundred thousands times. For some reason,
180563        the compiler did not inline it even though it is very simple in release builds.
180564
180565        * WebCore.exp.in: Removed RenderObject::view() as it is inlined now.
180566
180567        * rendering/RenderObject.cpp: Moved the implementation from here ...
180568        * rendering/RenderView.h:
180569        (WebCore::RenderObject::view): ... to here to avoid a cyclic
180570        dependency between RenderObject and RenderView. Also marked the
180571        function as ALWAYS_INLINE.
180572
180573        * rendering/RenderObject.h:
180574        * rendering/svg/RenderSVGResourceContainer.cpp:
180575        Added #include "RenderView.h" as the code checks for view() during repaint.
180576
1805772011-12-06  Julien Chaffraix  <jchaffraix@webkit.org>
180578
180579        CSS Grid Layout: Add support for parsing multiple grid-columns or grid-rows
180580        https://bugs.webkit.org/show_bug.cgi?id=73272
180581
180582        Reviewed by Tony Chang.
180583
180584        Test: fast/css-grid-layout/grid-columns-rows-get-set-multiple.html
180585
180586        Updated our supported syntax to match the following:
180587        <track-list> := [ <track-breadth> ]+ | 'none'
180588        <track-breadth> := <length> | <percentage> | 'auto'
180589        (the naming loosely matches the specification)
180590
180591        * css/CSSComputedStyleDeclaration.cpp:
180592        (WebCore::valueForGridTrackBreadth): Added function to handle a breadth
180593        (extended with 'auto' that the spec puts in <track-minmax>).
180594
180595        (WebCore::valueForGridTrackList): Create a space seperated list of
180596        track breadth or none.
180597
180598        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Updated
180599        to use the new functions.
180600
180601        * css/CSSParser.cpp:
180602        (WebCore::CSSParser::parseGridTrackList): Extended the function to
180603        match the new syntax.
180604
180605        * css/CSSStyleApplyProperty.cpp:
180606        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty): Removed our
180607        simple implementation. Replaced by the CSSStyleSelector functions.
180608
180609        * css/CSSStyleSelector.cpp:
180610        (WebCore::createGridTrackBreadth):
180611        (WebCore::createGridTrackList):
180612        Added those 2 functions to convert the CSSPrimitiveValue to a Vector
180613        as expected by RenderStyle.
180614
180615        (WebCore::CSSStyleSelector::applyProperty): Added our 2 properties
180616        now that it is not handled by CSSStyleApplyProperty.
180617
180618        * rendering/style/RenderStyle.h:
180619        (WebCore::InheritedFlags::gridColumns):
180620        (WebCore::InheritedFlags::gridRows):
180621        (WebCore::InheritedFlags::setGridColumns):
180622        (WebCore::InheritedFlags::setGridRows):
180623        (WebCore::InheritedFlags::initialGridColumns):
180624        (WebCore::InheritedFlags::initialGridRows):
180625        Updated the previous methods to take a Vector of Length.
180626
180627        (WebCore::InheritedFlags::initialGridTrackValue):
180628        Needed function to return a Vector with one 'none' Length (the initial
180629        value per the specification).
180630
180631        * rendering/style/StyleGridData.h: Updated to use a Vector.
180632
1806332011-12-06  David Reveman  <reveman@chromium.org>
180634
180635        [Chromium] Implement tile-sized painting using SkPicture.
180636        https://bugs.webkit.org/show_bug.cgi?id=71869
180637
180638        Reviewed by James Robinson.
180639
180640        Add texture uploader that paints tile-sized chunks using SkPicture
180641        recording and playback. Expose setting which allows this texture
180642        updater to be enabled.
180643
180644        No new tests. Covered by existing tests.
180645
180646        * WebCore.gypi:
180647        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.cpp: Added.
180648        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::Texture):
180649        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::prepareRect):
180650        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
180651        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::create):
180652        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::BitmapSkPictureCanvasLayerTextureUpdater):
180653        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::~BitmapSkPictureCanvasLayerTextureUpdater):
180654        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::createTexture):
180655        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
180656        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::prepareToUpdate):
180657        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::paintContentsRect):
180658        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::updateTextureRect):
180659        * platform/graphics/chromium/BitmapSkPictureCanvasLayerTextureUpdater.h: Added.
180660        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
180661        (WebCore::BitmapSkPictureCanvasLayerTextureUpdater::orientation):
180662        * platform/graphics/chromium/ContentLayerChromium.cpp:
180663        (WebCore::ContentLayerChromium::createTextureUpdater):
180664        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
180665        (WebCore::CCSettings::CCSettings):
180666
1806672011-12-06  Adrienne Walker  <enne@google.com>
180668
180669        [chromium] Don't crash if tile upload happens without painting first
180670        https://bugs.webkit.org/show_bug.cgi?id=73939
180671
180672        Reviewed by James Robinson.
180673
180674        Remove at least one place (in ImageLayerChromium) where this could
180675        happen.
180676
180677        Although this shouldn't happen, we should be robust to it in the
180678        chance that other code causes it to.
180679
180680        * platform/graphics/chromium/ImageLayerChromium.cpp:
180681        (WebCore::ImageLayerChromium::paintContentsIfDirty):
180682        * platform/graphics/chromium/TiledLayerChromium.cpp:
180683        (WebCore::TiledLayerChromium::updateCompositorResources):
180684
1806852011-12-06  Ruben  <chromium@hybridsource.org>
180686
180687        Enable web audio by default on non-Mac POSIX platforms
180688        https://bugs.webkit.org/show_bug.cgi?id=73491
180689
180690        Reviewed by Tony Chang.
180691
180692        No new tests, just changing gyp includes.
180693
180694        * WebCore.gyp/WebCore.gyp:
180695
1806962011-12-06  Benjamin Poulain  <benjamin@webkit.org>
180697
180698        Put length in its own variable in KURL copyASCII
180699        https://bugs.webkit.org/show_bug.cgi?id=73928
180700
180701        Reviewed by Darin Adler.
180702
180703        * platform/KURL.cpp:
180704        (WebCore::copyASCII):
180705
1807062011-12-06  Dana Jansens  <danakj@chromium.org>
180707
180708        [chromium] Set opaque flag for ImageLayerChromium
180709        https://bugs.webkit.org/show_bug.cgi?id=72964
180710
180711        Reviewed by James Robinson.
180712
180713        Unit test in tests/ImageLayerChromiumTest.cpp.
180714
180715        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
180716        (WebCore::GraphicsLayerChromium::setContentsToImage):
180717        * platform/graphics/chromium/GraphicsLayerChromium.h:
180718        (WebCore::GraphicsLayerChromium::contentsLayer):
180719        * platform/graphics/chromium/ImageLayerChromium.cpp:
180720        (WebCore::ImageLayerChromium::setContents):
180721
1807222011-12-06  Alexandre Elias  <aelias@google.com>
180723
180724        [chromium] Apply sent deltas on finishCommit
180725        https://bugs.webkit.org/show_bug.cgi?id=73884
180726
180727        Reviewed by James Robinson.
180728
180729        This moves scroll and pageScale "sent" deltas to be applied to
180730        the layer at the end of the commit, instead of the beginning.
180731
180732        This has several advantages, especially for page scale:
180733        - When pageScale changes, no longer any need to change the scroll's
180734        coordinate space at beginning of commit, which is complex and prone to
180735        bugs (this fixes a problem where we were forgetting to modify the
180736        scrollPosition before).
180737        - No need for non-commit-related code to consider the "sent" values.
180738        m_pageScale is now always the content scale factor, and
180739        m_pageScaleDelta is the scale to be on the impl-side matrix.
180740        - This will make it easy to send arbitrary fake or future delta
180741        values for example while pinch zooming out.
180742
180743        The scroll logic is similarly altered for consistency's sake.  Note that
180744        I also moved the tree synchronize to the beginning of finishCommit
180745        in order to avoid having to change the pageScale coordinate space of
180746        sentScrollDelta in adjustScrollsForPageScaleChange().
180747
180748        No new tests. (Refactoring of existing code.)
180749
180750        * platform/graphics/chromium/LayerChromium.cpp:
180751        (WebCore::LayerChromium::pushPropertiesTo):
180752        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
180753        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
180754        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
180755        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
180756        (WebCore::CCLayerTreeHostImpl::applyPageScaleDeltaToScrollLayer):
180757        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
180758
1807592011-12-06  Gavin Barraclough  <barraclough@apple.com>
180760
180761        https://bugs.webkit.org/show_bug.cgi?id=68328
180762        The generator and intrinsic fields in HashTableValue/HashEntry and associated structures and methods are redundant
180763
180764        Reviewed by Geoff Garen.
180765
180766        Intrinsic is no longer in the DFG namespace, is always in the
180767        hash table. Removed ThunkGenerator.
180768
180769        * bindings/scripts/CodeGeneratorJS.pm:
180770        (GenerateHashTable):
180771
1807722011-12-06  Dimitri Glazkov  <dglazkov@chromium.org>
180773
180774        Unreviewed, rolling out r102091.
180775        http://trac.webkit.org/changeset/102091
180776        https://bugs.webkit.org/show_bug.cgi?id=73711
180777
180778        Caused Clang Linux compile failure.
180779
180780        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
180781        (WebCore::GraphicsLayerChromium::setAnchorPoint):
180782        (WebCore::GraphicsLayerChromium::setTransform):
180783        (WebCore::GraphicsLayerChromium::setChildrenTransform):
180784        (WebCore::GraphicsLayerChromium::setMasksToBounds):
180785        (WebCore::GraphicsLayerChromium::setBackgroundColor):
180786        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
180787        (WebCore::GraphicsLayerChromium::setContentsOpaque):
180788        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
180789        (WebCore::GraphicsLayerChromium::setOpacity):
180790        * platform/graphics/chromium/LayerChromium.cpp:
180791        (WebCore::LayerChromium::setNeedsCommit):
180792        * platform/graphics/chromium/LayerChromium.h:
180793        (WebCore::LayerChromium::setAnchorPoint):
180794        (WebCore::LayerChromium::setAnchorPointZ):
180795        (WebCore::LayerChromium::setBackgroundColor):
180796        (WebCore::LayerChromium::setMasksToBounds):
180797        (WebCore::LayerChromium::setMaskLayer):
180798        (WebCore::LayerChromium::setOpacity):
180799        (WebCore::LayerChromium::setOpaque):
180800        (WebCore::LayerChromium::setPosition):
180801        (WebCore::LayerChromium::setSublayerTransform):
180802        (WebCore::LayerChromium::setTransform):
180803        (WebCore::LayerChromium::setScrollPosition):
180804        (WebCore::LayerChromium::setScrollable):
180805        (WebCore::LayerChromium::setDoubleSided):
180806        (WebCore::LayerChromium::setReplicaLayer):
180807        * platform/graphics/chromium/NonCompositedContentHost.cpp:
180808        (WebCore::NonCompositedContentHost::notifySyncRequired):
180809        * platform/graphics/chromium/NonCompositedContentHost.h:
180810
1808112011-12-06  Dana Jansens  <danakj@chromium.org>
180812
180813        [Chromium] Make root layer always opaque
180814        https://bugs.webkit.org/show_bug.cgi?id=70564
180815
180816        Reviewed by James Robinson.
180817
180818        * platform/graphics/chromium/NonCompositedContentHost.cpp:
180819        (WebCore::NonCompositedContentHost::NonCompositedContentHost):
180820        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
180821        (WebCore::CCTiledLayerImpl::draw):
180822
1808232011-12-06  Noel Gordon  <noel.gordon@gmail.com>
180824
180825        WebPImageDecoder computes image width and height multiple times
180826        https://bugs.webkit.org/show_bug.cgi?id=73796
180827
180828        Reviewed by Adam Barth.
180829
180830        Once sufficient image data arrives, we can compute the decoded image height
180831        and width from the WEBP image header data.
180832
180833        From then on, the decoded image size is known so there's no need to re-read
180834        it from the WEBP image header again.
180835
180836        No change in behavior, so no new tests.
180837
180838        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
180839        (WebCore::WEBPImageDecoder::decode):
180840
1808412011-12-06  Mike Reed  <reed@google.com>
180842
180843        optimize TransformationMatrix::scale by not calling through to generic multiply
180844        https://bugs.webkit.org/show_bug.cgi?id=73830
180845
180846        Reviewed by Kenneth Russell.
180847
180848        No new tests. Optimization only, existing tests exercise the code
180849
180850        * platform/graphics/transforms/TransformationMatrix.cpp:
180851        (WebCore::TransformationMatrix::scaleNonUniform):
180852        (WebCore::TransformationMatrix::scale3d):
180853
1808542011-12-06  Eric Carlson  <eric.carlson@apple.com>
180855
180856        Revert WebCore track Settings changes made in r101977
180857        https://bugs.webkit.org/show_bug.cgi?id=73879
180858
180859        Reviewed by Sam Weinig.
180860
180861        No new tests yet, still nothing to test.
180862
180863        * page/Settings.cpp: Move the preference setters back into the .h file.
180864        * page/Settings.h:
180865        (WebCore::Settings::setShouldDisplaySubtitles):
180866        (WebCore::Settings::setShouldDisplayCaptions):
180867        (WebCore::Settings::setShouldDisplayTextDescriptions):
180868
1808692011-12-06  Andreas Kling  <kling@webkit.org>
180870
180871        MediaList: Remove constructor that takes a CSSImportRule*.
180872        <http://webkit.org/b/73833>
180873
180874        Reviewed by Antti Koivisto.
180875
180876        * css/MediaList.h:
180877        * css/MediaList.cpp:
180878
180879            Remove MediaList(CSSImportRule*, ...) constructor.
180880
180881        * css/CSSImportRule.cpp:
180882        (WebCore::CSSImportRule::CSSImportRule):
180883
180884            Have CSSImportRule construct its MediaList by passing the parent
180885            style sheet, which is exactly what the old constructor accomplished.
180886            Also assert that we're always created with a non-null parent sheet.
180887
1808882011-12-06  Jarred Nicholls  <jarred@sencha.com>
180889
180890        getComputedStyle returns wrong value for margin-*
180891        https://bugs.webkit.org/show_bug.cgi?id=73334
180892
180893        margin-* getComputedStyle values should return the "used" absolute value when there is a renderer
180894        and the specified value is relative (percentage, auto, etc.).
180895        When there is no renderer, the specified value should be returned.
180896        See http://dev.w3.org/csswg/cssom/#resolved-values.
180897
180898        Reviewed by Darin Adler.
180899
180900        Test: fast/css/getComputedStyle/getComputedStyle-resolved-values.html
180901
180902        * css/CSSComputedStyleDeclaration.cpp:
180903        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
180904
1809052011-12-06  Alexey Proskuryakov  <ap@apple.com>
180906
180907        REGRESSION (WebKit2): Kill ring is not cleared when selection changes
180908        https://bugs.webkit.org/show_bug.cgi?id=73888
180909        <rdar://problem/10532310>
180910
180911        Reviewed by Mark Rowe.
180912
180913        Test: editing/pasteboard/emacs-ctrl-k-with-move.html
180914
180915        * editing/Editor.cpp: (WebCore::Editor::respondToChangedSelection): Moved the code to clear
180916        kill ring from Mac WebKit, as it's needed in all Mac ports at least.
180917
1809182011-12-06  Darin Adler  <darin@apple.com>
180919
180920        Use HashMap<OwnPtr> in CollectionCache
180921        https://bugs.webkit.org/show_bug.cgi?id=73784
180922
180923        Reviewed by Andreas Kling.
180924
180925        * html/CollectionCache.cpp:
180926        (WebCore::CollectionCache::copyCacheMap): Use adoptPtr.
180927        (WebCore::CollectionCache::reset): Removed now-unneeded calls to deleteAllValues.
180928        (WebCore::append): Added. Helper function for appending elements to the maps from
180929        the collection cache.
180930
180931        * html/CollectionCache.h: Changed mapped type in NodeCacheMap to OwnPtr.
180932        Added append function.
180933
180934        * html/HTMLCollection.cpp:
180935        (WebCore::nameShouldBeVisibleInDocumentAll): Added, to factor out common code in
180936        two functions below.
180937        (WebCore::HTMLCollection::checkForNameMatch): Changed to call nameShouldBeVisibleInDocumentAll.
180938        (WebCore::HTMLCollection::updateNameCache): Ditto. Also updated cache code to use the append
180939        function, so it will work with OwnPtr. Also eliminated an unneeded get call before
180940        each hash table add; we do both at once in the new append function.
180941        * html/HTMLFormCollection.cpp:
180942        (WebCore::HTMLFormCollection::updateNameCache): More of the same.
180943
1809442011-12-06  Yury Semikhatsky  <yurys@chromium.org>
180945
180946        [Chromium] Web Inspector: getFunctionLocation should return scriptId as String not as int
180947        https://bugs.webkit.org/show_bug.cgi?id=73892
180948
180949        Reviewed by Pavel Feldman.
180950
180951        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
180952        (WebCore::V8InjectedScriptHost::functionLocationCallback): scriptId should be a string not a number
180953        * inspector/Inspector.json: removed unused parameter
180954
1809552011-11-21  Balazs Kelemen  <kbalazs@webkit.org>
180956
180957        Enable ParallelJobs by default
180958        https://bugs.webkit.org/show_bug.cgi?id=70032
180959
180960        Reviewed by Zoltan Herczeg.
180961
180962        Covered by existing tests.
180963
180964        According to measurements on Mac and Linux it is a
180965        considerable speedup for SVG on multicore.
180966
180967        Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
180968        by qualifying ParallelJobs with the WTF namespace (otherwise
180969        MSVC believes it belongs to WebCore which is likely a compiler bug).
180970
180971        * platform/graphics/filters/FEConvolveMatrix.cpp:
180972        (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
180973        (WebCore::FEConvolveMatrix::platformApplySoftware):
180974        * platform/graphics/filters/FEConvolveMatrix.h:
180975        * platform/graphics/filters/FEGaussianBlur.cpp:
180976        (WebCore::FEGaussianBlur::platformApplyWorker):
180977        (WebCore::FEGaussianBlur::platformApply):
180978        * platform/graphics/filters/FEGaussianBlur.h:
180979        * platform/graphics/filters/FELighting.cpp:
180980        (WebCore::FELighting::platformApplyGenericWorker):
180981        (WebCore::FELighting::platformApplyGeneric):
180982        * platform/graphics/filters/FELighting.h:
180983        * platform/graphics/filters/FEMorphology.cpp:
180984        (WebCore::FEMorphology::platformApplyWorker):
180985        (WebCore::FEMorphology::platformApply):
180986        * platform/graphics/filters/FEMorphology.h:
180987        * platform/graphics/filters/FETurbulence.cpp:
180988        (WebCore::FETurbulence::fillRegionWorker):
180989        (WebCore::FETurbulence::platformApplySoftware):
180990        * platform/graphics/filters/FETurbulence.h:
180991        * platform/graphics/filters/arm/FELightingNEON.cpp:
180992        (WebCore::FELighting::platformApplyNeonWorker):
180993        * platform/graphics/filters/arm/FELightingNEON.h:
180994        (WebCore::FELighting::platformApplyNeon):
180995
1809962011-12-06  Andreas Kling  <kling@webkit.org>
180997
180998        Unreviewed assertion fix for r102123.
180999
181000        * platform/KURL.cpp:
181001        (WebCore::checkEncodedString):
181002
1810032011-12-06  Benjamin Poulain  <benjamin@webkit.org>
181004
181005        Simplify KURL's checkEncodedString()
181006        https://bugs.webkit.org/show_bug.cgi?id=73890
181007
181008        Reviewed by Andreas Kling.
181009
181010        The method was reimplementing String::containsOnlyASCII().
181011        Use the method from String and we can remove the #if NDEBUG.
181012
181013        * platform/KURL.cpp:
181014        (WebCore::checkEncodedString):
181015
1810162011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
181017
181018        Unreviewed, rolling out r102111.
181019        http://trac.webkit.org/changeset/102111
181020        https://bugs.webkit.org/show_bug.cgi?id=73902
181021
181022        Breaks compilation (Requested by vsevik on #webkit).
181023
181024        * editing/Editor.cpp:
181025        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
181026        * editing/Editor.h:
181027
1810282011-12-06  Hajime Morrita  <morrita@chromium.org>
181029
181030        [Refactoring] Accessing Node::m_document should be minimized.
181031        https://bugs.webkit.org/show_bug.cgi?id=73800
181032
181033        Reviewed by Kent Tamura.
181034
181035        No new tests. No behavioral change.
181036
181037        Replaced m_document reference with the document() accessor
181038        or temporaril variables. This is a preparation for using
181039        m_document space to point a shadow root pointer.
181040
181041        * dom/Document.h:
181042        (WebCore::Node::Node):
181043        * dom/Node.cpp:
181044        (WebCore::Node::~Node):
181045
1810462011-12-06  Shinya Kawanaka  <shinyak@google.com>
181047
181048        https://bugs.webkit.org/show_bug.cgi?id=73889
181049        TextCheckingParagraph::offsetTo should not have a side effect.
181050
181051        Reviewed by Hajime Morita.
181052
181053        Since TextCheckingParagraph::offsetTo had a side effect, its cache often became inconsistent.
181054        This is likely to cause a bug when changing SpellChecker and Editor.
181055
181056        No new tests. Covered by existing tests.
181057
181058        * editing/TextCheckingHelper.cpp:
181059        (WebCore::TextCheckingParagraph::offsetTo):
181060
1810612011-12-06  Eric Penner  <epenner@google.com>
181062
181063        [chromium] Set texture limits as multiples of viewport size instead of hardcoded values
181064        https://bugs.webkit.org/show_bug.cgi?id=72202
181065
181066        Reviewed by James Robinson.
181067
181068        * platform/graphics/chromium/LayerRendererChromium.cpp: 
181069        (WebCore::LayerRendererChromium::drawLayers): added viewport param
181070        (WebCore::LayerRendererChromium::initializeSharedObjects): ditto 
181071        * platform/graphics/chromium/TextureManager.cpp: 
181072        (WebCore::TextureManager::highLimitBytes): calculated based on viewport
181073        (WebCore::TextureManager::reclaimLimitBytes): ditto
181074        (WebCore::TextureManager::lowLimitBytes): ditto
181075        (WebCore::TextureManager::TextureManager): added viewport param
181076        (WebCore::TextureManager::setMaxMemoryLimitBytes): changed name
181077        (WebCore::TextureManager::setPreferredMemoryLimitBytes): added function
181078        (WebCore::TextureManager::requestTexture): added viewport param
181079        * platform/graphics/chromium/TextureManager.h: ditto
181080        (WebCore::TextureManager::create): ditto
181081        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp: ditto
181082        (WebCore::CCLayerTreeHost::initialize): ditto
181083        (WebCore::CCLayerTreeHost::beginCommitOnImplThread): ditto
181084        (WebCore::CCLayerTreeHost::setViewport): ditto
181085        (WebCore::CCLayerTreeHost::setVisible): ditto
181086        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread): ditto
181087
1810882011-12-06  Huang Dongsung  <luxtella@company100.net>
181089
181090        [TexMap][QT] Draw the borders of media and webgl elements in TexMap.
181091        https://bugs.webkit.org/show_bug.cgi?id=73817
181092
181093        GraphicsContext3D only draws the content of the WebGL canvas, not the additional
181094        CSS such as the borders. TextureMapper should render the content of a
181095        media/webgl layer before drawing the actual canvas.
181096        This makes LayoutTests/compositing/webgl/webgl-reflection.html work.
181097
181098        Reviewed by Noam Rosenthal.
181099
181100        * platform/graphics/texmap/GraphicsLayerTextureMapper.cpp:
181101        (WebCore::GraphicsLayerTextureMapper::setContentsNeedsDisplay):
181102        * platform/graphics/texmap/GraphicsLayerTextureMapper.h:
181103        * platform/graphics/texmap/TextureMapperNode.cpp:
181104        (WebCore::TextureMapperNode::renderContent):
181105        (WebCore::TextureMapperNode::paintSelf):
181106
1811072011-12-06  Sheriff Bot  <webkit.review.bot@gmail.com>
181108
181109        Unreviewed, rolling out r102043.
181110        http://trac.webkit.org/changeset/102043
181111        https://bugs.webkit.org/show_bug.cgi?id=73898
181112
181113        Breaks chromium mac-cg compilation. (Requested by vsevik on
181114        #webkit).
181115
181116        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
181117        (WebCore::GraphicsLayerChromium::setContentsToImage):
181118        * platform/graphics/chromium/GraphicsLayerChromium.h:
181119        (WebCore::GraphicsLayerChromium::contentsLayer):
181120        * platform/graphics/chromium/ImageLayerChromium.cpp:
181121        (WebCore::ImageLayerChromium::setContents):
181122
1811232011-12-06  Shinya Kawanaka  <shinyak@google.com>
181124
181125        Refactoring: Editor::markAllMisspellingsAndBadGrammarInRanges should be refactored.
181126        https://bugs.webkit.org/show_bug.cgi?id=73628
181127
181128        Reviewed by Hajime Morita.
181129
181130        Extracted a code for adding markers and replacing misspelled words from WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges.
181131
181132        No new tests. covered by existing tests.
181133
181134        * editing/Editor.cpp:
181135        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
181136          Extracted a code for adding markers and replacing missplled words, and moved to markAndReplaceFor.
181137        (WebCore::Editor::markAndReplaceFor):
181138        * editing/Editor.h:
181139
1811402011-12-05  Alexander Pavlov  <apavlov@chromium.org>
181141
181142        Web Inspector: [Audits] Implement "Stop" button and progress bar instead of spinner.
181143        https://bugs.webkit.org/show_bug.cgi?id=73626
181144
181145        Reviewed by Yury Semikhatsky.
181146
181147        * English.lproj/localizedStrings.js:
181148        * inspector/front-end/AuditLauncherView.js:
181149        (WebInspector.AuditLauncherView):
181150        (WebInspector.AuditLauncherView.prototype._setAuditRunning):
181151        (WebInspector.AuditLauncherView.prototype._launchButtonClicked):
181152        (WebInspector.AuditLauncherView.prototype._createLauncherUI):
181153        (WebInspector.AuditLauncherView.prototype._updateResourceProgress):
181154        (WebInspector.AuditLauncherView.prototype._updateButton):
181155        * inspector/front-end/AuditRules.js:
181156        (WebInspector.AuditRules.GzipRule.prototype.doRun):
181157        (WebInspector.AuditRules.CombineExternalResourcesRule.prototype.doRun):
181158        (WebInspector.AuditRules.MinimizeDnsLookupsRule.prototype.doRun):
181159        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
181160        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.documentLoaded):
181161        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback):
181162        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.styleSheetCallback):
181163        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.allStylesCallback):
181164        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun):
181165        (WebInspector.AuditRules.CacheControlRule.prototype.doRun):
181166        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
181167        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
181168        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.externalStylesheetsReceived):
181169        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.inlineStylesReceived):
181170        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun.onDocumentAvailable):
181171        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun):
181172        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.cssBeforeInlineReceived):
181173        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.lateStylesReceived):
181174        (WebInspector.AuditRules.StylesScriptsOrderRule.prototype.doRun.onDocumentAvailable):
181175        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun.resultCallback):
181176        (WebInspector.AuditRules.CookieRuleBase.prototype.doRun):
181177        * inspector/front-end/AuditsPanel.js:
181178        (WebInspector.AuditsPanel):
181179        (WebInspector.AuditsPanel.prototype._executeAudit.ruleResultReadyCallback):
181180        (WebInspector.AuditsPanel.prototype._executeAudit):
181181        (WebInspector.AuditsPanel.prototype._auditFinishedCallback):
181182        (WebInspector.AuditsPanel.prototype.terminateAudit):
181183        (WebInspector.AuditCategory.prototype.run):
181184        (WebInspector.AuditRule.prototype.run):
181185        (WebInspector.AuditRule.prototype.doRun):
181186        (WebInspector.AuditProgressMonitor):
181187        (WebInspector.AuditProgressMonitor.prototype.setTotalWork):
181188        (WebInspector.AuditProgressMonitor.prototype.worked):
181189        (WebInspector.AuditProgressMonitor.prototype.get indeterminate):
181190        (WebInspector.AuditProgressMonitor.prototype.done):
181191        (WebInspector.AuditProgressMonitor.prototype.get canceled):
181192        (WebInspector.AuditProgressMonitor.prototype.set canceled):
181193
1811942011-12-06  Viatcheslav Ostapenko  <ostapenko.viatcheslav@nokia.com>
181195
181196        [Qt] [WK2] MiniBrowser assert on startup in debug build after r101713
181197        https://bugs.webkit.org/show_bug.cgi?id=73874
181198
181199        This change partially reverts r101713 restoring original behaviour for
181200        KUrl creation from empty string and fixes asserts in debug build.
181201
181202        Reviewed by Alexey Proskuryakov.
181203
181204        No new tests. Tests from r101713 pass.
181205
181206        * platform/KURL.cpp:
181207        (WebCore::KURL::init):
181208        (WebCore::KURL::parse):
181209        * platform/KURL.h:
181210
1812112011-12-06  Andreas Kling  <kling@webkit.org>
181212
181213        Use HashMap<OwnPtr> for EventListenerMap's internal map.
181214        <http://webkit.org/b/73761>
181215
181216        Reviewed by Benjamin Poulain.
181217
181218        Changed the value type of EventListenerMap::m_hashMap to OwnPtr<EventListenerVector>.
181219        This means we no longer need to manually delete the vectors when taking them out of
181220        the map, which makes the code a little prettier.
181221
181222        A few tweaks were necessary; release() instead of leakPtr() when switching modes
181223        and adoptPtr()/get() sprinkled as needed.
181224
181225        * dom/EventListenerMap.h:
181226        * dom/EventListenerMap.cpp:
181227        (WebCore::EventListenerMap::clear):
181228        (WebCore::EventListenerMap::add):
181229        (WebCore::EventListenerMap::remove):
181230        (WebCore::EventListenerMap::find):
181231        (WebCore::EventListenerMap::removeFirstEventListenerCreatedFromMarkup):
181232        (WebCore::EventListenerMap::copyEventListenersNotCreatedFromMarkupToTarget):
181233
1812342011-12-05  Rafael Weinstein  <rafaelw@chromium.org>
181235
181236        [MutationObservers] Support 'attributes' mutation records for element.removeAttribute
181237        https://bugs.webkit.org/show_bug.cgi?id=73880
181238
181239        Reviewed by Ojan Vafai.
181240
181241        * dom/Element.cpp:
181242        (WebCore::enqueueAttributesMutationRecord):
181243        (WebCore::Element::removeAttribute):
181244
1812452011-12-05  Dana Jansens  <danakj@chromium.org>
181246
181247        Set opaque flag for WebGLLayerChromium
181248        https://bugs.webkit.org/show_bug.cgi?id=73876
181249
181250        Reviewed by James Robinson.
181251
181252        New unit test in tests/WebGLLayerChromiumTest.cpp
181253
181254        * platform/graphics/chromium/DrawingBufferChromium.cpp:
181255        (WebCore::DrawingBuffer::platformLayer):
181256
1812572011-12-05  Benjamin Poulain  <bpoulain@apple.com>
181258
181259        Upstream the Cursor implementation of iOS
181260        https://bugs.webkit.org/show_bug.cgi?id=73724
181261
181262        Reviewed by David Kilzer.
181263
181264        iOS does not need to support the Cursor of WebKit. For compatibility, Cursor
181265        is implemented as an empty class on the platform.
181266
181267        * Configurations/WebCore.xcconfig:
181268        * WebCore.xcodeproj/project.pbxproj:
181269        * platform/Cursor.h:
181270        (WebCore::Cursor::Cursor):
181271        * platform/ios/CursorIOS.cpp: Added.
181272        (WebCore::cursor):
181273        (WebCore::pointerCursor):
181274        (WebCore::crossCursor):
181275        (WebCore::handCursor):
181276        (WebCore::moveCursor):
181277        (WebCore::iBeamCursor):
181278        (WebCore::waitCursor):
181279        (WebCore::helpCursor):
181280        (WebCore::eastResizeCursor):
181281        (WebCore::northResizeCursor):
181282        (WebCore::northEastResizeCursor):
181283        (WebCore::northWestResizeCursor):
181284        (WebCore::southResizeCursor):
181285        (WebCore::southEastResizeCursor):
181286        (WebCore::southWestResizeCursor):
181287        (WebCore::westResizeCursor):
181288        (WebCore::northSouthResizeCursor):
181289        (WebCore::eastWestResizeCursor):
181290        (WebCore::northEastSouthWestResizeCursor):
181291        (WebCore::northWestSouthEastResizeCursor):
181292        (WebCore::columnResizeCursor):
181293        (WebCore::rowResizeCursor):
181294        (WebCore::middlePanningCursor):
181295        (WebCore::eastPanningCursor):
181296        (WebCore::northPanningCursor):
181297        (WebCore::northEastPanningCursor):
181298        (WebCore::northWestPanningCursor):
181299        (WebCore::southPanningCursor):
181300        (WebCore::southEastPanningCursor):
181301        (WebCore::southWestPanningCursor):
181302        (WebCore::westPanningCursor):
181303        (WebCore::verticalTextCursor):
181304        (WebCore::cellCursor):
181305        (WebCore::contextMenuCursor):
181306        (WebCore::noDropCursor):
181307        (WebCore::notAllowedCursor):
181308        (WebCore::progressCursor):
181309        (WebCore::aliasCursor):
181310        (WebCore::zoomInCursor):
181311        (WebCore::zoomOutCursor):
181312        (WebCore::copyCursor):
181313        (WebCore::noneCursor):
181314        (WebCore::grabCursor):
181315        (WebCore::grabbingCursor):
181316        (WebCore::determineHotSpot):
181317
1813182011-12-05  Noel Gordon  <noel.gordon@gmail.com>
181319
181320        [GTK] GIF image test crashes on 32- and 64-bit Release
181321        https://bugs.webkit.org/show_bug.cgi?id=73812
181322
181323        Reviewed by Adam Barth.
181324
181325        Call resize() on the image pixel backing store after allocation to see if
181326        that stops the GIF image decoder animation tests crashes on GTK.
181327
181328        No new tests, covered by exiting tests ...
181329          fast/backgrounds/animated-gif-as-background.html
181330          fast/images/dont-crash-with-null-gif-frames.html
181331          fast/images/gif-loop-count.html
181332
181333        * platform/image-decoders/ImageDecoder.cpp:
181334        (WebCore::ImageFrame::setSize):
181335
1813362011-12-05  Erik Arvidsson  <arv@chromium.org>
181337
181338        Could save a lot of memory in CharacterData by not always storing a String
181339        https://bugs.webkit.org/show_bug.cgi?id=72404
181340
181341        Reviewed by Ojan Vafai.
181342
181343        When a Text node is created by the parser we check if the string is all whitespace
181344        and if so we put it in the AtomicString table so that all future identical whitespace
181345        strings can share the StringImpl.
181346
181347        No new tests. Covered by existing tests.
181348
181349        * html/parser/HTMLConstructionSite.cpp:
181350        (WebCore::HTMLNames::isAllWhitespace):
181351        (WebCore::HTMLConstructionSite::insertTextNode):
181352
181353            If we do not know whether the string is all whitespace this now checks the string
181354            If the string is all whitespace we create an AtomicString for it.
181355
181356        * html/parser/HTMLConstructionSite.h:
181357        * html/parser/HTMLTreeBuilder.cpp:
181358        (WebCore::HTMLTreeBuilder::ExternalCharacterTokenBuffer::skipLeadingNonWhitespace): We never cared about the return value here.
181359        (WebCore::HTMLTreeBuilder::processCharacterBuffer): Pass WhitespaceMode in the case we know whether the string is all whitespace or not.
181360        (WebCore::HTMLTreeBuilder::defaultForInTableText): Ditto.
181361
1813622011-12-05  Benjamin Poulain  <benjamin@webkit.org>
181363
181364        Update KURL's copy copyASCII to avoid String::characters()
181365        https://bugs.webkit.org/show_bug.cgi?id=73794
181366
181367        Reviewed by Andreas Kling.
181368
181369        When the String is already on 8 bits, we can simply copy the
181370        data. In the 16 bits case, everything remains the same.
181371
181372        * platform/KURL.cpp:
181373        (WebCore::copyASCII):
181374        (WebCore::appendASCII):
181375        (WebCore::KURL::init):
181376        (WebCore::KURL::parse):
181377        (WebCore::KURL::copyToBuffer):
181378
1813792011-12-05  Yong Li  <yoli@rim.com>
181380
181381        https://bugs.webkit.org/show_bug.cgi?id=73683
181382        Implement KeyframeValueList::operator=() and KeyframeValueList::swap().
181383
181384        Reviewed by Darin Adler.
181385
181386        No new tests as no functional change.
181387
181388        * platform/graphics/GraphicsLayer.h: 
181389        (WebCore::KeyframeValueList::operator=): Added
181390        (WebCore::KeyframeValueList::swap): Added
181391
1813922011-12-05  Adrienne Walker  <enne@google.com>
181393
181394        [chromium] setNeedsCommit on non-composited host layers should trigger commit
181395        https://bugs.webkit.org/show_bug.cgi?id=73711
181396
181397        Reviewed by James Robinson.
181398
181399        Pipe non-composited content host syncs to setNeedsCommit.
181400
181401        Since now the NonCompositedContentHost generates setNeedsCommit, don't
181402        call it unnecessarily, e.g. calling setBackgroundColor to the same
181403        color each frame should not retrigger more commits.
181404
181405        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
181406        (WebCore::GraphicsLayerChromium::setAnchorPoint):
181407        (WebCore::GraphicsLayerChromium::setTransform):
181408        (WebCore::GraphicsLayerChromium::setChildrenTransform):
181409        (WebCore::GraphicsLayerChromium::setMasksToBounds):
181410        (WebCore::GraphicsLayerChromium::setBackgroundColor):
181411        (WebCore::GraphicsLayerChromium::clearBackgroundColor):
181412        (WebCore::GraphicsLayerChromium::setContentsOpaque):
181413        (WebCore::GraphicsLayerChromium::setBackfaceVisibility):
181414        (WebCore::GraphicsLayerChromium::setOpacity):
181415        * platform/graphics/chromium/LayerChromium.cpp:
181416        (WebCore::LayerChromium::setNeedsCommit):
181417        (WebCore::LayerChromium::setAnchorPoint):
181418        (WebCore::LayerChromium::setAnchorPointZ):
181419        (WebCore::LayerChromium::setBackgroundColor):
181420        (WebCore::LayerChromium::setMasksToBounds):
181421        (WebCore::LayerChromium::setMaskLayer):
181422        (WebCore::LayerChromium::setOpacity):
181423        (WebCore::LayerChromium::setOpaque):
181424        (WebCore::LayerChromium::setPosition):
181425        (WebCore::LayerChromium::setSublayerTransform):
181426        (WebCore::LayerChromium::setTransform):
181427        (WebCore::LayerChromium::setScrollPosition):
181428        (WebCore::LayerChromium::setScrollable):
181429        (WebCore::LayerChromium::setDoubleSided):
181430        * platform/graphics/chromium/LayerChromium.h:
181431        (WebCore::LayerChromium::setReplicaLayer):
181432        * platform/graphics/chromium/NonCompositedContentHost.cpp:
181433        (WebCore::NonCompositedContentHost::notifySyncRequired):
181434        * platform/graphics/chromium/NonCompositedContentHost.h:
181435
1814362011-12-05  Tony Chang  <tony@chromium.org>
181437
181438        small refactor of RenderFlexibleBox
181439        https://bugs.webkit.org/show_bug.cgi?id=73854
181440
181441        Reviewed by Darin Adler.
181442
181443        No new tests, just a refactor.
181444
181445        * rendering/RenderFlexibleBox.cpp:
181446        (WebCore::RenderFlexibleBox::isLeftToRightFlow): Inline isReverseFlow since it's only used in one place.
181447        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren): Rename startEdge
181448        to mainAxisOffset.  Rename logicalTop to crossAxisOffset.  Get rid of
181449        logicalLeft local variable since it's confusing.  Move shouldFlipMainAxis
181450        out of the for loop to avoid computing it each iteration.
181451        * rendering/RenderFlexibleBox.h:
181452
1814532011-12-05  Florin Malita  <fmalita@google.com>
181454
181455        Heap-buffer-overflow in WebCore::HTMLTreeBuilder::processEndTag
181456        https://bugs.webkit.org/show_bug.cgi?id=73765
181457
181458        Reviewed by Adam Barth.
181459
181460        Test: fast/parser/foreign-content-crash.html
181461
181462        Use m_tree.currentNode() instead of m_tree.currentElement() as the top node is not always an Element.
181463
181464        * html/parser/HTMLTreeBuilder.cpp:
181465        (WebCore::HTMLTreeBuilder::processEndTag):
181466
1814672011-12-05  Stephen White  <senorblanco@chromium.org>
181468
181469        Allow the ImageBuffers used by SVG filters to be accelerated
181470        https://bugs.webkit.org/show_bug.cgi?id=73842
181471
181472        Reviewed by Kenneth Russell.
181473
181474        Regressions covered by existing SVG tests; new functionality to be
181475        tested by the API exposed on Internals.
181476
181477        * page/Settings.cpp:
181478        (WebCore::Settings::Settings):
181479        * page/Settings.h:
181480        (WebCore::Settings::setAcceleratedFiltersEnabled):
181481        (WebCore::Settings::acceleratedFiltersEnabled):
181482        * platform/graphics/filters/FETile.cpp:
181483        (WebCore::FETile::platformApplySoftware):
181484        * platform/graphics/filters/Filter.h:
181485        (WebCore::Filter::Filter):
181486        (WebCore::Filter::renderingMode):
181487        (WebCore::Filter::setRenderingMode):
181488        * platform/graphics/filters/FilterEffect.cpp:
181489        (WebCore::FilterEffect::asImageBuffer):
181490        (WebCore::FilterEffect::createImageBufferResult):
181491        * platform/graphics/skia/ImageBufferSkia.cpp:
181492        (WebCore::ImageBuffer::platformTransformColorSpace):
181493        * rendering/svg/RenderSVGResourceClipper.cpp:
181494        (WebCore::RenderSVGResourceClipper::applyClippingToContext):
181495        * rendering/svg/RenderSVGResourceFilter.cpp:
181496        (WebCore::RenderSVGResourceFilter::applyResource):
181497        * rendering/svg/RenderSVGResourceMasker.cpp:
181498        (WebCore::RenderSVGResourceMasker::applyResource):
181499        * rendering/svg/RenderSVGResourcePattern.cpp:
181500        (WebCore::RenderSVGResourcePattern::createTileImage):
181501        * rendering/svg/SVGImageBufferTools.cpp:
181502        (WebCore::SVGImageBufferTools::createImageBuffer):
181503        * rendering/svg/SVGImageBufferTools.h:
181504        * testing/Internals.cpp:
181505        (WebCore::Internals::setAcceleratedFiltersEnabled):
181506        * testing/Internals.h:
181507        * testing/Internals.idl:
181508
1815092011-12-05  Benjamin Poulain  <bpoulain@apple.com>
181510
181511        Upstream htmlSelectMultipleItems needed for <select multiple> by iOS
181512        https://bugs.webkit.org/show_bug.cgi?id=73734
181513
181514        Reviewed by David Kilzer.
181515
181516        * platform/DefaultLocalizationStrategy.cpp:
181517        (WebCore::DefaultLocalizationStrategy::htmlSelectMultipleItems):
181518        * platform/DefaultLocalizationStrategy.h:
181519
1815202011-12-05  Darin Adler  <darin@apple.com>
181521
181522        Use HashMap<OwnPtr> in CrossOriginPreflightResultCache
181523        https://bugs.webkit.org/show_bug.cgi?id=73785
181524
181525        Reviewed by Andreas Kling.
181526
181527        * loader/CrossOriginPreflightResultCache.cpp:
181528        (WebCore::CrossOriginPreflightResultCache::appendEntry): Changed code to use set
181529        instead of add, since it wants to replace existing entries. Also removed leakPtr
181530        and removed the FIXME that documented the memory leak now fixed here.
181531        (WebCore::CrossOriginPreflightResultCache::canSkipPreflight): Removed unneeded
181532        std:: prefix here and also unneeded explicit delete call.
181533        (WebCore::CrossOriginPreflightResultCache::empty): Removed unneeded deleteAllValues
181534        call here.
181535
181536        * loader/CrossOriginPreflightResultCache.h: Make mapped value of the
181537        CrossOriginPreflightResultHashMap be OwnPtr instead of raw pointer.
181538
1815392011-12-05  Darin Adler  <darin@apple.com>
181540
181541        Some small improvements to ContainerNode.h
181542        https://bugs.webkit.org/show_bug.cgi?id=73786
181543
181544        Reviewed by Alexey Proskuryakov.
181545
181546        * dom/ContainerNode.cpp:
181547        (WebCore::ContainerNode::suspendPostAttachCallbacks): Added a FIXME comment about the
181548        peculiar behavior of this function. Somehow the post-attach suspend state is both
181549        global and specific to a certain Page object. That can't be right. If it was truly
181550        global then this would be a static member function. If it was truly per-page, then
181551        the related functions could not be static.
181552
181553        * dom/ContainerNode.h: Removed some unneeded argument names. Moved the hasChildNodes
181554        function up with the other basic getters. Put the other getters, childNodeCount and
181555        childNode, right after the basic getters. Used ASSERT_NO_EXCEPTION in all the basic
181556        mutation functions so they can be used in a cleaner fashion in C++ code where we have
181557        some reason to know an exception won't occur. Grouped all the overrides of functions
181558        from Node into a single paragraph and used the OVERRIDE macro on all of them. Made the
181559        queuePostAttachCallback and postAttachCallbacksAreSuspended functions protected.
181560
181561        * dom/Element.h: Moved the include of ExceptionCodePlaceholder.h into ContainerNode.h.
181562
181563        * dom/Node.cpp:
181564        (WebCore::Node::lazyAttach): Use hasChildNodes instead of firstChild for clarity.
181565        (WebCore::Node::isDescendantOf): Ditto.
181566
1815672011-12-05  Benjamin Poulain  <benjamin@webkit.org>
181568
181569        Get rid of KURL::KURL(ParsedURLStringTag, const char*);
181570        https://bugs.webkit.org/show_bug.cgi?id=73792
181571
181572        Reviewed by Andreas Kling.
181573
181574        In all cases where the constructor is used, the constructor
181575        taking a String is as effective because the string is valid and converted
181576        to String for m_string.
181577
181578        This patch remove the constructor KURL::KURL(ParsedURLStringTag, const char*)
181579        and change the call sites that were using that constructor to build
181580        empty URLs.
181581
181582        * dom/Document.cpp:
181583        (WebCore::Document::initSecurityContext):
181584        * loader/FrameLoader.cpp:
181585        (WebCore::FrameLoader::init):
181586        * loader/archive/cf/LegacyWebArchive.cpp:
181587        (WebCore::LegacyWebArchive::create):
181588        * page/DOMWindow.cpp:
181589        (WebCore::DOMWindow::createWindow):
181590        * platform/KURL.cpp:
181591        * platform/KURL.h:
181592        * platform/KURLGoogle.cpp:
181593
1815942011-12-05  Benjamin Poulain  <benjamin@webkit.org>
181595
181596        Remove methods declared but never implemented with GOOGLEURL
181597        https://bugs.webkit.org/show_bug.cgi?id=73795
181598
181599        Reviewed by Adam Barth.
181600
181601        * platform/KURL.h:
181602
1816032011-12-05  Darin Adler  <darin@apple.com>
181604
181605        Change CSSFontSelector to use HashMap<OwnPtr>
181606        https://bugs.webkit.org/show_bug.cgi?id=73781
181607
181608        Reviewed by Dan Bernstein.
181609
181610        * css/CSSFontSelector.cpp:
181611        (WebCore::CSSFontSelector::~CSSFontSelector): Removed calls to deleteAllValues.
181612        (WebCore::CSSFontSelector::addFontFaceRule): Updated to use OwnPtr instead of raw
181613        pointer for the entry in m_fontFaces and m_locallyInstalledFontFaces.
181614        (WebCore::CSSFontSelector::getFontData): Updated to use OwnPtr instead of raw
181615        pointer for the entry in m_fonts. Also removed an unneeded std:: prefix.
181616
181617        * css/CSSFontSelector.h: Made m_fontFaces, m_locallyInstalledFontFaces, and m_fonts
181618        be HashMap<OwnPtr>.
181619
1816202011-12-05  Adam Klein  <adamk@chromium.org>
181621
181622        V8RecursionScope should call didLeaveScriptContext when recursionLevel reaches zero
181623        https://bugs.webkit.org/show_bug.cgi?id=73867
181624
181625        Reviewed by Adam Barth.
181626
181627        Moved V8RecursionScope into its own file, and moved
181628        V8Proxy::didLeaveScriptContext into that file, along with a static
181629        recursionLevel accessor, hiding the V8BindingPerIsolateData methods
181630        from V8Proxy.
181631
181632        This will make it easy and less error-prone to use V8RecursionScope
181633        properly. I plan to make use of it in V8LazyEventListener to fix
181634        https://bugs.webkit.org/show_bug.cgi?id=73492.
181635
181636        No new tests, refactoring only.
181637
181638        * Target.pri:
181639        * UseV8.cmake:
181640        * WebCore.gypi:
181641        * bindings/v8/V8Binding.h:
181642        (WebCore::V8BindingPerIsolateData::incrementRecursionLevel): return the new recursion level.
181643        (WebCore::V8BindingPerIsolateData::decrementRecursionLevel): return the new recursion level.
181644        * bindings/v8/V8Proxy.cpp: remove didLeaveScriptContext.
181645        (WebCore::V8Proxy::runScript): remove explicit call to didLeaveScriptContext.
181646        (WebCore::V8Proxy::instrumentedCallFunction): remove explicit call to didLeaveScriptContext.
181647        * bindings/v8/V8Proxy.h: remove didLeaveScriptContext.
181648        * bindings/v8/V8RecursionScope.cpp: Added.
181649        (WebCore::V8RecursionScope::didLeaveScriptContext): copied from V8Proxy.cpp.
181650        * bindings/v8/V8RecursionScope.h: Added.
181651        (WebCore::V8RecursionScope::V8RecursionScope):
181652        (WebCore::V8RecursionScope::~V8RecursionScope):
181653        (WebCore::V8RecursionScope::recursionLevel):
181654
1816552011-12-05  Benjamin Poulain  <bpoulain@apple.com>
181656
181657        Build fix for SecurityOrigin.cpp when neither BLOB nor FILE_SYSTEM are defined
181658
181659        Reviewed by David Kilzer.
181660
181661        When neither BLOB nor FILE_SYSTEM are defined, the parameter is unused.
181662
181663        * page/SecurityOrigin.cpp:
181664        (WebCore::shouldUseInnerURL):
181665
1816662011-12-05  Darin Adler  <darin@apple.com>
181667
181668        Change RuleSet to use HashMap<OwnPtr>
181669        https://bugs.webkit.org/show_bug.cgi?id=73783
181670
181671        Reviewed by Andreas Kling.
181672
181673        * css/CSSStyleSelector.cpp: Make RuleSet::AtomRuleMap use OwnPtr for the mapped values.
181674        (WebCore::RuleSet::addToRuleSet): Use add instead of get/set to set up a new entry in the
181675        map or find the old entry in the map.
181676
1816772011-12-05  Mario Sanchez Prada  <msanchez@igalia.com>
181678
181679        [GTK] Move emissions of AtkDocument signals down to WebCore
181680        https://bugs.webkit.org/show_bug.cgi?id=73750
181681
181682        Reviewed by Chris Fleizach.
181683
181684        Implement the needed infrastructure to allow notifying
181685        accessibility, in a cross-platform way, when a event related to
181686        the load of a document happens. Added a generic method, which will
181687        be called from the FrameLoader, and platform specific versions of
181688        it so every port has a chance to decide what to do with those
181689        notifications.
181690
181691        This patch doesn't include a new test because the one testing this
181692        functionality is the GTK-specific unit test added along with patch
181693        for bug 73746: testWebkitAtkDocumentLoadingEvents.
181694
181695        * accessibility/AXObjectCache.h:
181696        (WebCore::AXObjectCache::frameLoadingEventNotification): New, called
181697        from the FrameLoader to notify accessibility when an event happens.
181698        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): New,
181699        platform specific function to let ports decide what to do.
181700        * accessibility/AXObjectCache.cpp:
181701        (WebCore::AXObjectCache::frameLoadingEventNotification): New.
181702        * accessibility/chromium/AXObjectCacheChromium.cpp:
181703        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
181704        implementation of the platform specific function for chromium.
181705        * accessibility/gtk/AXObjectCacheAtk.cpp:
181706        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification):
181707        * accessibility/mac/AXObjectCacheMac.mm:
181708        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
181709        implementation of the platform specific function for the Mac.
181710        * accessibility/win/AXObjectCacheWin.cpp:
181711        (WebCore::AXObjectCache::frameLoadingEventPlatformNotification): Dummy
181712        implementation of the platform specific function for Windows.
181713
181714        * loader/FrameLoader.cpp:
181715        (WebCore::FrameLoader::prepareForLoadStart): Notify accessibility
181716        by calling the new frameLoadingEventNotification() function.
181717        (WebCore::FrameLoader::checkLoadCompleteForThisFrame): Ditto.
181718
1817192011-12-05  Benjamin Poulain  <benjamin@webkit.org>
181720
181721        Update String::containsOnlyASCII() to handle 8 bits strings
181722        https://bugs.webkit.org/show_bug.cgi?id=73799
181723
181724        Reviewed by Darin Adler.
181725
181726        When possible, change the call sites from charactersAreAllASCII()
181727        to the optimized version String::containsOnlyASCII().
181728
181729        * platform/KURL.cpp:
181730        (WebCore::KURL::init):
181731        * platform/cf/BinaryPropertyList.cpp:
181732        (WebCore::BinaryPropertyListPlan::writeStringObject):
181733        * platform/graphics/chromium/FontCacheChromiumWin.cpp:
181734        (WebCore::FontCodepage::if):
181735
1817362011-12-01  Vangelis Kokkevis  <vangelis@chromium.org>
181737
181738        [chromium] Use ANGLE's texture_usage and texture_storage extensions when allocating compositor textures
181739        https://bugs.webkit.org/show_bug.cgi?id=73621
181740
181741        When the extensions are available, compositor textures are allocated via
181742        glTexStorage2DEXT instead of glTexImage2D to eliminate creation of unnecessary
181743        mip levels on the service side. In addition, the GL_FRAMEBUFFER_ATTACHMENT_ANGLE
181744        is specified for all textures used by RenderSurfaces to eliminate the need for
181745        a system memory bitmap allocation.
181746
181747        Reviewed by Kenneth Russell.
181748
181749        * platform/graphics/chromium/Extensions3DChromium.h:
181750        * platform/graphics/chromium/LayerRendererChromium.cpp:
181751        (WebCore::LayerRendererChromium::initialize):
181752        (WebCore::LayerRendererChromium::initializeSharedObjects):
181753        * platform/graphics/chromium/TrackingTextureAllocator.cpp:
181754        (WebCore::TrackingTextureAllocator::TrackingTextureAllocator):
181755        (WebCore::textureToStorageFormat):
181756        (WebCore::isTextureFormatSupportedForStorage):
181757        (WebCore::TrackingTextureAllocator::createTexture):
181758        * platform/graphics/chromium/TrackingTextureAllocator.h:
181759        (WebCore::TrackingTextureAllocator::setTextureUsageHint):
181760        (WebCore::TrackingTextureAllocator::setUseTextureStorageExt):
181761        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
181762        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
181763
1817642011-12-05  Chris Fleizach  <cfleizach@apple.com>
181765
181766        AX: aria-hidden doesn't work on iframe elements
181767        https://bugs.webkit.org/show_bug.cgi?id=73857
181768
181769        Reviewed by Darin Adler.
181770
181771        Test: platform/mac/accessibility/iframe-aria-hidden.html
181772
181773        * accessibility/AccessibilityRenderObject.cpp:
181774        (WebCore::AccessibilityRenderObject::addAttachmentChildren):
181775        (WebCore::AccessibilityRenderObject::addChildren):
181776        * accessibility/AccessibilityRenderObject.h:
181777        * accessibility/AccessibilityScrollView.cpp:
181778        (WebCore::AccessibilityScrollView::accessibilityIsIgnored):
181779        (WebCore::AccessibilityScrollView::addChildren):
181780        * accessibility/AccessibilityScrollView.h:
181781
1817822011-12-05  Chris Fleizach  <cfleizach@apple.com>
181783
181784        AX: web search mechanism does not work with frames
181785        https://bugs.webkit.org/show_bug.cgi?id=73836
181786
181787        Reviewed by Beth Dakin.
181788
181789        This allows searching for, and within, frames for elements using the accessibility
181790        search mechanism.
181791
181792        Test: platform/mac/accessibility/search-with-frames.html
181793
181794        * accessibility/AccessibilityObject.cpp:
181795        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
181796        (WebCore::appendAccessibilityObject):
181797        (WebCore::appendChildrenToArray):
181798
1817992011-12-05  Anders Carlsson  <andersca@apple.com>
181800
181801        Make LayerFlushSchedulerClient::flushLayers indicate whether the flush was successful or not
181802        https://bugs.webkit.org/show_bug.cgi?id=73862
181803
181804        Reviewed by Andy Estes.
181805
181806        Change LayerFlushSchedulerClient::flushLayers to return a boolean. If it returns true, the flush was
181807        successful and the run loop observer will be invalidated.
181808
181809        * platform/graphics/ca/LayerFlushScheduler.h:
181810        * platform/graphics/ca/LayerFlushSchedulerClient.h:
181811        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
181812        (WebCore::LayerFlushScheduler::runLoopObserverCallback):
181813
1818142011-12-05  Dana Jansens  <danakj@chromium.org>
181815
181816        [chromium] Set opaque flag for ImageLayerChromium
181817        https://bugs.webkit.org/show_bug.cgi?id=72964
181818
181819        Reviewed by James Robinson.
181820
181821        New unit test in tests/ImageLayerChromiumTest.cpp.
181822
181823        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
181824        (WebCore::GraphicsLayerChromium::setContentsToImage):
181825        * platform/graphics/chromium/GraphicsLayerChromium.h:
181826        (WebCore::GraphicsLayerChromium::contentsLayer):
181827        * platform/graphics/chromium/ImageLayerChromium.cpp:
181828        (WebCore::ImageLayerChromium::setContents):
181829
1818302011-12-05  Julien Chaffraix  <jchaffraix@webkit.org>
181831
181832        TD width in precentage doesn't work.
181833        https://bugs.webkit.org/show_bug.cgi?id=34758
181834
181835        Reviewed by David Hyatt.
181836
181837        Test: fast/table/colspan-with-all-percent-cells.html
181838
181839        * rendering/AutoTableLayout.cpp:
181840        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
181841        In the case where all our columns have percent lengths, split the colspan
181842        logical width using the percentages from the lengths. This should be properly
181843        handled by the massive 'else' case but it is not and I did not feel like refactor
181844        that due to massive compatibility issues that would arise.
181845
1818462011-12-05  Chris Fleizach  <cfleizach@apple.com>
181847
181848        platform/mac/accessibility/search-when-element-starts-in-table.html is failing
181849        https://bugs.webkit.org/show_bug.cgi?id=73751
181850
181851        When encountering a table, the rows() and not the cells() should be queried (otherwise
181852        we can end up finding the element we started with).
181853
181854        When searching in reverse, we also need to account for searching elements within the
181855        parent hierarchy. because technically it is "behind" the start element.
181856
181857        Reviewed by Darin Adler.
181858
181859        * accessibility/AccessibilityObject.cpp:
181860        (WebCore::appendChildrenToArray):
181861        (WebCore::AccessibilityObject::objectMatchesSearchCriteriaWithResultLimit):
181862        (WebCore::AccessibilityObject::findMatchingObjects):
181863        * accessibility/AccessibilityObject.h:
181864
1818652011-12-02  Jer Noble  <jer.noble@apple.com>
181866
181867        <video> elements should disable the system and display sleep when playing on OS X.
181868        https://bugs.webkit.org/show_bug.cgi?id=73730
181869        <rdar://problem/9502155>
181870
181871        Reviewed by Alexey Proskuryakov.
181872
181873        No new tests; platform specific system behavior only.
181874
181875        Create a new DisplaySleepDisabler object when the playback rate becomes non-zero, and destroy
181876        that object when the playback rate drops back to zero.
181877
181878        * html/HTMLMediaElement.cpp:
181879        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
181880        * html/HTMLMediaElement.h:
181881
1818822011-12-05  Peter Beverloo  <peter@chromium.org>
181883
181884        [Chromium] Add Android keycodes and build Linux clipboard/filesystem files.
181885        https://bugs.webkit.org/show_bug.cgi?id=73672
181886
181887        Add the KeyCodeConversionAndroid.cpp file, which is a partial re-land
181888        of an older file from the Android port:
181889        http://trac.webkit.org/browser/trunk/WebCore/platform/android/KeyEventAndroid.cpp?rev=56704
181890
181891        Add IconChromiumAndroid.cpp which nullifies the rendering of icons in
181892        file upload boxes, which is not something we want to support now. Also
181893        include ClipboardChromiumLinux.cpp and FileSystemChromiumLinux.cpp
181894        as their functionality can be re-used for Android.
181895
181896        Reviewed by Adam Barth.
181897
181898        * WebCore.gyp/WebCore.gyp:
181899        * WebCore.gypi:
181900        * platform/chromium/KeyCodeConversionAndroid.cpp: Added.
181901        (WebCore::windowsKeyCodeForKeyEvent):
181902        * platform/graphics/chromium/IconChromiumAndroid.cpp: Added.
181903        (WebCore::Icon::Icon):
181904        (WebCore::Icon::~Icon):
181905        (WebCore::Icon::paint):
181906
1819072011-12-05  Steve Falkenburg  <sfalken@apple.com>
181908
181909        Reviewed by Sam Weinig.
181910
181911        On Windows, filenames not properly preserved when copied into a file list exposed by Event.dataTransfer
181912        https://bugs.webkit.org/show_bug.cgi?id=73841
181913        <rdar://problem/10521879>
181914
181915        No test since repro case involves dropping a file onto the WebView.
181916        
181917        Calling characters() explicitly causes a non-terminated string buffer to get passed back
181918        to the String() constructor that expects a terminated buffer. The characters() call isn't
181919        necessary at all, since we have a String and the method we're calling expects a String.
181920
181921        * platform/win/ClipboardWin.cpp:
181922        (WebCore::ClipboardWin::files): Remove characters() since it doesn't null terminate.
181923
1819242011-12-05  Timothy Hatcher  <timothy@apple.com>
181925
181926        Keep both InspectorBackend.js and InspectorBackendStub.js in Release builds after
181927        they have been combined into inspector.js.
181928
181929        The InspectorBackend.js file split out of the generated InspectorBackendStub.js
181930        in r101670, and both files are needed to be useful.
181931
181932        https://webkit.org/b/73839
181933
181934        Reviewed by Joseph Pecoraro and Brian Weinstein.
181935
181936        * WebCore.xcodeproj/project.pbxproj: Pass -not -name "InspectorBackend*.js" to find
181937        instead of -not -name InspectorBackendStub.js.
181938
1819392011-12-05  Mikhail Naganov  <mnaganov@chromium.org>
181940
181941        Web Inspector: [Chromium] Heap profiler should designate weak references.
181942        https://bugs.webkit.org/show_bug.cgi?id=69948
181943
181944        Weak references are now ignored when tracing paths to GC roots.
181945
181946        Reviewed by Yury Semikhatsky.
181947
181948        * inspector/front-end/HeapSnapshot.js:
181949        (WebInspector.HeapSnapshotEdge.prototype.get isWeak):
181950        (WebInspector.HeapSnapshotEdge.prototype.toString):
181951        (WebInspector.HeapSnapshotEdge.prototype.get _hasStringName):
181952        (WebInspector.HeapSnapshotRetainerEdge.prototype.get isWeak):
181953        (WebInspector.HeapSnapshot.prototype._init):
181954        (WebInspector.HeapSnapshotPathFinder.prototype._fillRootChildren):
181955        (WebInspector.HeapSnapshotPathFinder.prototype._skipEdge):
181956
1819572011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>
181958
181959        Unreviewed, rolling out r102004.
181960        http://trac.webkit.org/changeset/102004
181961        https://bugs.webkit.org/show_bug.cgi?id=73835
181962
181963        Breaks qt minimal release compilation (Requested by vsevik on
181964        #webkit).
181965
181966        * inspector/CodeGeneratorInspector.py:
181967        (Capitalizer.upper_camel_case_to_lower):
181968        (RawTypes.get):
181969        (RawTypes.String.get_c_param_type):
181970        (RawTypes.Object.get_c_param_type):
181971        (RawTypes.Object):
181972        (ParamType):
181973        (TypeData.__init__):
181974        (TypeData.get_raw_type):
181975        (TypeMap.__init__):
181976        (InspectorFrontend_h):
181977        (InspectorArray):
181978        (InspectorObject):
181979        (String):
181980        (InspectorBackendDispatcher_h):
181981        (Generator.process_command):
181982        * inspector/InspectorValues.h:
181983
1819842011-12-05  Peter Rybin  <peter.rybin@gmail.com>
181985
181986        Web Inspector: [protocol] generate C++ classes for protocol JSON named types
181987        https://bugs.webkit.org/show_bug.cgi?id=72835
181988
181989        Reviewed by Yury Semikhatsky.
181990
181991        Extends python generator functionality.
181992        Makes constructor in InspectorObject public.
181993
181994        * inspector/CodeGeneratorInspector.py:
181995        * inspector/InspectorValues.h:
181996
1819972011-12-05  Pavel Podivilov  <podivilov@chromium.org>
181998
181999        Web Inspector: fix fronted compilation.
182000        https://bugs.webkit.org/show_bug.cgi?id=73831
182001
182002        Reviewed by Yury Semikhatsky.
182003
182004        * inspector/front-end/CompilerSourceMapping.js:
182005        (WebInspector.ClosureCompilerSourceMappingPayload):
182006
1820072011-12-05  Eric Carlson  <eric.carlson@apple.com>
182008
182009        Out-of-band text tracks may only load from same origin as the media element's Document's origin
182010        https://bugs.webkit.org/show_bug.cgi?id=73184
182011
182012        Reviewed by Sam Weinig.
182013
182014        Test: http/tests/security/text-track-crossorigin.html
182015
182016        * html/HTMLTrackElement.cpp:
182017        (WebCore::urlForLogging): Debug-only function for logging urls.
182018        (WebCore::HTMLTrackElement::scheduleLoad): Call canLoadUrl() before passing control off to
182019            the Track.
182020        (WebCore::HTMLTrackElement::canLoadUrl): Don't ask HTMLMediaElement to validate the url, the
182021            requirements for <track> are different from <video>.
182022        (WebCore::HTMLTrackElement::didCompleteLoad): Change bool param to enum.
182023        (WebCore::HTMLTrackElement::mediaElementCrossOriginAttribute): New, return parent 'crossorigin' 
182024            attribute value.
182025        * html/HTMLTrackElement.h:
182026
182027        * html/LoadableTextTrack.cpp:
182028        (WebCore::LoadableTextTrack::scheduleLoad): Add comments from the spec.
182029        (WebCore::LoadableTextTrack::loadTimerFired): Always cancel pending loads. Let the caller know 
182030            if the loader refuses the url immediately.
182031        (WebCore::LoadableTextTrack::cueLoadingStarted): The <track> deals with readyState.
182032        (WebCore::LoadableTextTrack::cueLoadingCompleted): HTMLTrackElement::didCompleteLoad takes
182033            an enum, not a bool.
182034
182035        * loader/TextTrackLoader.cpp:
182036        (WebCore::TextTrackLoader::corsPolicyPreventedLoad): New, log the error and set m_state.
182037        (WebCore::TextTrackLoader::notifyFinished): Check for CORS failure.
182038        (WebCore::TextTrackLoader::load): Take media element cross-origin attribute as a param so we
182039            can make the correct checks.
182040        * loader/TextTrackLoader.h:
182041
1820422011-12-05  Roland Steiner  <rolandsteiner@chromium.org>
182043
182044        "Raw" pseudo selectors don't match if immediately after a child or descendant combinator
182045        https://bugs.webkit.org/show_bug.cgi?id=72933
182046
182047        Remove shortcut that prevents universal selectors from being created before shadow pseudo-elements.
182048
182049        Reviewed by Antti Koivisto.
182050
182051        * css/CSSParser.cpp:
182052        (WebCore::CSSParser::updateSpecifiersWithElementName):
182053
1820542011-12-05  Sheriff Bot  <webkit.review.bot@gmail.com>
182055
182056        Unreviewed, rolling out r101983.
182057        http://trac.webkit.org/changeset/101983
182058        https://bugs.webkit.org/show_bug.cgi?id=73827
182059
182060        It broke all tests on GTK and on Qt in debug mode (Requested
182061        by Ossy on #webkit).
182062
182063        * dom/Document.h:
182064        (WebCore::Node::Node):
182065        * dom/Node.cpp:
182066        (WebCore::Node::~Node):
182067        * dom/Node.h:
182068        (WebCore::Node::inDocument):
182069
1820702011-12-05  Roland Steiner  <rolandsteiner@chromium.org>
182071
182072        <style scoped>: Add 'scoped' attribute
182073        https://bugs.webkit.org/show_bug.cgi?id=67718
182074
182075        Add 'scoped' attribute to IDL and attribute list,
182076        implement and test setting/resetting of the attribute.
182077
182078        Reviewed by Antti Koivisto.
182079
182080        Test: fast/css/style-scoped/basic-attribute.html
182081
182082        * html/HTMLAttributeNames.in:
182083        * html/HTMLStyleElement.cpp:
182084        (WebCore::HTMLStyleElement::scoped):
182085        (WebCore::HTMLStyleElement::setScoped):
182086        (WebCore::HTMLStyleElement::scopingElement):
182087        * html/HTMLStyleElement.h:
182088        * html/HTMLStyleElement.idl:
182089
1820902011-12-05  Hajime Morrita  <morrita@chromium.org>
182091
182092        [Refactoring] Accessing Node::m_document should be minimized.
182093        https://bugs.webkit.org/show_bug.cgi?id=73800
182094
182095        Reviewed by Kent Tamura.
182096
182097        No new tests. No behavioral change.
182098
182099        Replaced m_document reference with the document() accessor
182100        or temporaril variables. This is a preparation for using
182101        m_document space to point a shadow root pointer.
182102
182103        * dom/Document.h:
182104        (WebCore::Node::Node):
182105        * dom/Node.cpp:
182106        (WebCore::Node::~Node):
182107        * dom/Node.h:
182108        (WebCore::Node::inDocument):
182109
1821102011-12-05  Shinya Kawanaka  <shinyak@google.com>
182111
182112        Asynchronous SpellChecker should consider multiple requests.
182113        https://bugs.webkit.org/show_bug.cgi?id=72939
182114
182115        Reviewed by Hajime Morita.
182116
182117        Now SpellChecker saves a request when it is processing the previous spellcheck request.
182118        If there is a request having the same root editable element, the older request is replaced by newer request
182119
182120        Test: editing/spelling/spellcheck-queue.html
182121
182122        * editing/SpellChecker.cpp:
182123        (WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
182124          A structure to have spell check request.
182125        (WebCore::SpellChecker::SpellCheckRequest::sequence):
182126        (WebCore::SpellChecker::SpellCheckRequest::range):
182127        (WebCore::SpellChecker::SpellCheckRequest::text):
182128        (WebCore::SpellChecker::SpellCheckRequest::mask):
182129        (WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
182130        (WebCore::SpellChecker::SpellChecker):
182131        (WebCore::SpellChecker::createRequest):
182132        (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
182133          When timer is fired, queued request is processed if any.
182134        (WebCore::SpellChecker::canCheckAsynchronously):
182135        (WebCore::SpellChecker::requestCheckingFor):
182136          When the spellchecker is processing another request, the latest request is queued.
182137        (WebCore::SpellChecker::invokeRequest):
182138        (WebCore::SpellChecker::enqueueRequest):
182139          Enqueues a request. If there is an older request whose root editable element is the same as the request,
182140          it will be replaced.
182141        (WebCore::SpellChecker::didCheck):
182142        * editing/SpellChecker.h:
182143
1821442011-12-05  Eric Carlson  <eric.carlson@apple.com>
182145
182146        WebCore part of: Add WebKit preferences for text track settings
182147        https://bugs.webkit.org/show_bug.cgi?id=73721
182148
182149        Reviewed by John Sullivan.
182150
182151        No new tests yet, still nothing to test.
182152
182153        * page/Settings.cpp:
182154        (WebCore::Settings::setShouldDisplaySubtitles): Move the setters to the .cpp file so they
182155            aren't inlined.
182156        (WebCore::Settings::setShouldDisplayCaptions): Ditto.
182157        (WebCore::Settings::setShouldDisplayTextDescriptions): Ditto.
182158        * page/Settings.h:
182159
1821602011-12-05  Noel Gordon  <noel.gordon@gmail.com>
182161
182162        ImageDecoder setSize() should check for backing store allocation failure
182163        https://bugs.webkit.org/show_bug.cgi?id=72864
182164
182165        Reviewed by Adam Barth.
182166
182167        The backing store of a decoded image is a Vector<PixelData> on the affected
182168        ports. And Vector<> provides a resize capacity member that returns false if
182169        memory allocation fails.
182170
182171        setSize() should be called once only during an image decode - add an ASSERT
182172        for that. Resize the backing store capacity to the requested image size and
182173        return false if memory allocation fails.
182174
182175        ImageDecoder::isOverSize(width, height) is called to check that the decoded
182176        width and height won't overflow 'width x height x sizeof(PixelData)' before
182177        calls to setSize(). Refer to http://webkit.org/b/48634
182178
182179        No new tests. Covered by fast/images/size-failure.html
182180
182181        * platform/image-decoders/ImageDecoder.cpp:
182182        (WebCore::ImageFrame::setSize):
182183
1821842011-12-04  Andreas Kling  <kling@webkit.org>
182185
182186        CSSStyleSheet can't be reparented, enforce this at compile time.
182187        <http://webkit.org/b/73793>
182188
182189        Reviewed by Benjamin Poulain.
182190
182191        * css/StyleSheet.h:
182192        (WebCore::StyleSheet::clearOwnerRule):
182193
182194            Changed setParentRule(CSSImportRule*) to clearOwnerRule() to document and
182195            enforce the fact that style sheets should never be reparented after creation.
182196
182197        (WebCore::StyleSheet::ownerRule):
182198
182199            Renamed parentRule() to ownerRule() to match the CSSOM name.
182200
182201        (WebCore::StyleSheet::ownerNode):
182202        (WebCore::StyleSheet::clearOwnerNode):
182203
182204            Also renamed StyleSheet::m_parentNode to m_ownerNode to match its accessors.
182205
182206        * css/CSSStyleSheet.h:
182207
182208            Removed ownerRule() as we now inherit it from StyleSheet.
182209
182210        * bindings/js/JSDOMBinding.h:
182211        (WebCore::root):
182212        * css/CSSImportRule.cpp:
182213        (WebCore::CSSImportRule::~CSSImportRule):
182214        (WebCore::CSSImportRule::setCSSStyleSheet):
182215        * css/StyleSheet.cpp:
182216        (WebCore::StyleSheet::StyleSheet):
182217        (WebCore::StyleSheet::parentStyleSheet):
182218        (WebCore::StyleSheet::baseURL):
182219        * inspector/InspectorStyleSheet.cpp:
182220        (WebCore::fillMediaListChain):
182221
182222            Update call sites to use the new names.
182223
1822242011-12-04  Andreas Kling  <kling@webkit.org>
182225
182226        border-width: initial and border-color: initial cannot be removed via CSSOM.
182227        <http://webkit.org/b/68551>
182228
182229        Reviewed by Darin Adler.
182230
182231        Test: fast/css/cssom-remove-shorthand-property.html
182232
182233        When asked to remove a shorthand property, we should toss out both the
182234        sub-properties of that shorthand as well as the shorthand itself, should the
182235        declaration contain it. The latter part was missing in our implementation.
182236
182237        * css/CSSMutableStyleDeclaration.h:
182238        * css/CSSMutableStyleDeclaration.cpp:
182239        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
182240        (WebCore::CSSMutableStyleDeclaration::removeShorthandProperty):
182241
182242            Changed to return true only if something was actually removed.
182243
1822442011-12-04  Ryosuke Niwa  <rniwa@webkit.org>
182245
182246        HIERARCHY_REQUEST_ERR check in checkAcceptChild should be optimized for newChild without children
182247        https://bugs.webkit.org/show_bug.cgi?id=73737
182248
182249        Reviewed by Darin Adler.
182250
182251        It turned out that 50-70% of nodes inserted by DOM APIs such as insertBefore and appendChild
182252        don't have any descendent nodes. Optimize isDescendantOf which is used by checkAcceptChild for this case.
182253        On a test case attached on the bug, we see a 40% improvement.
182254
182255        Also optimize for cases where either new child or new parent but not both are in document as suggested
182256        by Erik Arvidsson. This appears to happen about 40-70% of the time, and the symmetric difference between
182257        the two cases is about 50% so it's worth implementing both optimizations.
182258
182259        Unfortunately no tests because we still have a O(n) algorithm somewhere.
182260
182261        * dom/Node.cpp:
182262        (WebCore::Node::isDescendantOf):
182263        (WebCore::Node::contains):
182264
1822652011-12-04  Andreas Kling  <kling@webkit.org>
182266
182267        CSSValuePool: Inline trivial getters.
182268        <http://webkit.org/b/73763>
182269
182270        Reviewed by Anders Carlsson.
182271
182272        * css/CSSValuePool.cpp:
182273        * css/CSSValuePool.h:
182274        (WebCore::CSSValuePool::createInheritedValue): Inlined.
182275        (WebCore::CSSValuePool::createImplicitInitialValue): Ditto.
182276        (WebCore::CSSValuePool::createExplicitInitialValue): Ditto.
182277
1822782011-12-03  Noel Gordon  <noel.gordon@gmail.com>
182279
182280        Fix WebPImageDecoder decoder leak.
182281        https://bugs.webkit.org/show_bug.cgi?id=73756
182282
182283        Reviewed by Andreas Kling.
182284
182285        Delete the m_decoder member in the destructor if needed with WebPIDelete.
182286
182287        No new tests, it's valgrind territory.
182288
182289        * platform/image-decoders/webp/WEBPImageDecoder.cpp:
182290        (WebCore::WEBPImageDecoder::~WEBPImageDecoder):
182291
1822922011-12-03  Andreas Kling  <kling@webkit.org>
182293
182294        CSSStyleSheet: Parent rule can only ever be @import, enforce this at compile time.
182295        <http://webkit.org/b/73725>
182296
182297        Reviewed by Darin Adler.
182298
182299        Made StyleSheet::m_parentRule a CSSImportRule* rather than a CSSRule*
182300        and updated getters, setters and constructors accordingly.
182301
182302        There is no change in behavior, this simply enforces the status quo.
182303
182304        * WebCore.xcodeproj/project.pbxproj:
182305        * bindings/js/JSDOMBinding.h:
182306        * bindings/scripts/CodeGeneratorV8.pm:
182307        (AddIncludesForType):
182308        * css/CSSStyleSheet.cpp:
182309        (WebCore::CSSStyleSheet::CSSStyleSheet):
182310        * css/CSSStyleSheet.h:
182311        (WebCore::CSSStyleSheet::create):
182312        (WebCore::CSSStyleSheet::ownerRule):
182313        * css/StyleSheet.cpp:
182314        (WebCore::StyleSheet::StyleSheet):
182315        * css/StyleSheet.h:
182316        (WebCore::StyleSheet::parentRule):
182317        (WebCore::StyleSheet::setParentRule):
182318
1823192011-12-03  Andreas Kling  <kling@webkit.org>
182320
182321        Unreviewed, revert accidental change from r101932.
182322
182323        * bindings/scripts/CodeGeneratorV8.pm:
182324        (AddIncludesForType):
182325
1823262011-12-03  Mary Wu  <mary.wu@torchmobile.com.cn>
182327
182328        Upstream 4 files into WebCore/platform/blackberry
182329        https://bugs.webkit.org/show_bug.cgi?id=73614
182330
182331        Reviewed by Eric Seidel.
182332
182333        * platform/blackberry/CursorBlackBerry.cpp: Added.
182334        (WebCore::AllCursors::AllCursors):
182335        (WebCore::getCursor):
182336        (WebCore::Cursor::Cursor):
182337        (WebCore::Cursor::~Cursor):
182338        (WebCore::Cursor::operator=):
182339        (WebCore::aliasCursor):
182340        (WebCore::cellCursor):
182341        (WebCore::columnResizeCursor):
182342        (WebCore::contextMenuCursor):
182343        (WebCore::copyCursor):
182344        (WebCore::crossCursor):
182345        (WebCore::eastResizeCursor):
182346        (WebCore::eastWestResizeCursor):
182347        (WebCore::grabbingCursor):
182348        (WebCore::grabCursor):
182349        (WebCore::handCursor):
182350        (WebCore::helpCursor):
182351        (WebCore::iBeamCursor):
182352        (WebCore::moveCursor):
182353        (WebCore::noDropCursor):
182354        (WebCore::noneCursor):
182355        (WebCore::northEastResizeCursor):
182356        (WebCore::northEastSouthWestResizeCursor):
182357        (WebCore::northResizeCursor):
182358        (WebCore::northSouthResizeCursor):
182359        (WebCore::northWestResizeCursor):
182360        (WebCore::northWestSouthEastResizeCursor):
182361        (WebCore::notAllowedCursor):
182362        (WebCore::pointerCursor):
182363        (WebCore::progressCursor):
182364        (WebCore::rowResizeCursor):
182365        (WebCore::southEastResizeCursor):
182366        (WebCore::southResizeCursor):
182367        (WebCore::southWestResizeCursor):
182368        (WebCore::verticalTextCursor):
182369        (WebCore::waitCursor):
182370        (WebCore::westResizeCursor):
182371        (WebCore::zoomInCursor):
182372        (WebCore::zoomOutCursor):
182373        (WebCore::middlePanningCursor):
182374        (WebCore::eastPanningCursor):
182375        (WebCore::northPanningCursor):
182376        (WebCore::northEastPanningCursor):
182377        (WebCore::northWestPanningCursor):
182378        (WebCore::southPanningCursor):
182379        (WebCore::southEastPanningCursor):
182380        (WebCore::southWestPanningCursor):
182381        (WebCore::westPanningCursor):
182382        * platform/blackberry/DragDataBlackBerry.cpp: Added.
182383        (WebCore::DragData::canSmartReplace):
182384        (WebCore::DragData::containsColor):
182385        (WebCore::DragData::containsCompatibleContent):
182386        (WebCore::DragData::containsFiles):
182387        (WebCore::DragData::containsPlainText):
182388        (WebCore::DragData::containsURL):
182389        (WebCore::DragData::asFilenames):
182390        (WebCore::DragData::asColor):
182391        (WebCore::DragData::asPlainText):
182392        (WebCore::DragData::asURL):
182393        (WebCore::DragData::asFragment):
182394        * platform/blackberry/DragImageBlackBerry.cpp: Added.
182395        (WebCore::createDragImageFromImage):
182396        (WebCore::createDragImageIconForCachedImage):
182397        (WebCore::deleteDragImage):
182398        (WebCore::dissolveDragImageToFraction):
182399        (WebCore::scaleDragImage):
182400        (WebCore::dragImageSize):
182401        * platform/blackberry/EventLoopBlackBerry.cpp: Added.
182402        (WebCore::EventLoop::platformInit):
182403        (WebCore::EventLoop::cycle):
182404
1824052011-12-03  Andreas Kling  <kling@webkit.org>
182406
182407        Cache CSSInitialValue instances per-document.
182408        <http://webkit.org/b/73745>
182409
182410        Reviewed by Oliver Hunt.
182411
182412        Test: http/tests/security/cross-origin-css-primitive.html
182413
182414        Have CSSValuePool manage the caching of CSSInitialValue objects.
182415
182416        * css/CSSInitialValue.h:
182417        (WebCore::CSSInitialValue::createExplicit):
182418        (WebCore::CSSInitialValue::createImplicit):
182419        (WebCore::CSSInitialValue::CSSInitialValue):
182420        * css/CSSParser.cpp:
182421        (WebCore::CSSParser::parseValue):
182422        (WebCore::CSSParser::parseFillShorthand):
182423        (WebCore::CSSParser::parseAnimationShorthand):
182424        (WebCore::CSSParser::parseTransitionShorthand):
182425        (WebCore::CSSParser::parseShorthand):
182426        * css/CSSValuePool.cpp:
182427        (WebCore::CSSValuePool::CSSValuePool):
182428        (WebCore::CSSValuePool::createImplicitInitialValue):
182429        (WebCore::CSSValuePool::createExplicitInitialValue):
182430        * css/CSSValuePool.h:
182431
1824322011-12-03  Andreas Kling  <kling@webkit.org>
182433
182434        Keep CSSInheritedValue in the CSS value pool.
182435        <http://webkit.org/b/73747>
182436
182437        Reviewed by Antti Koivisto.
182438
182439        We only need one CSSInheritedValue instance per document, so cache it
182440        in CSSValuePool and have the parser create it through there.
182441
182442        * css/CSSParser.cpp:
182443        (WebCore::CSSParser::parseValue):
182444        * css/CSSValuePool.cpp:
182445        (WebCore::CSSValuePool::CSSValuePool):
182446        (WebCore::CSSValuePool::createInheritedValue):
182447        * css/CSSValuePool.h:
182448
1824492011-12-03  Andreas Kling  <kling@webkit.org>
182450
182451        Rename CSSPrimitiveValueCache to CSSValuePool.
182452        <http://webkit.org/b/73742>
182453
182454        Reviewed by Antti Koivisto.
182455
182456        CSSPrimitiveValueCache -> CSSValuePool
182457        Document::primitiveValueCache() -> Document::cssValuePool()
182458
182459        This is in preparation for sharing more than just primitive values.
182460
182461        * CMakeLists.txt:
182462        * GNUmakefile.list.am:
182463        * Target.pri:
182464        * WebCore.gypi:
182465        * WebCore.vcproj/WebCore.vcproj:
182466        * WebCore.xcodeproj/project.pbxproj:
182467        * bindings/scripts/CodeGeneratorV8.pm:
182468        (AddIncludesForType):
182469        * css/CSSComputedStyleDeclaration.cpp:
182470        (WebCore::valueForNinePieceImageSlice):
182471        (WebCore::valueForNinePieceImageQuad):
182472        (WebCore::valueForNinePieceImageRepeat):
182473        (WebCore::valueForNinePieceImage):
182474        (WebCore::zoomAdjustedPixelValue):
182475        (WebCore::zoomAdjustedNumberValue):
182476        (WebCore::zoomAdjustedPixelValueForLength):
182477        (WebCore::valueForReflection):
182478        (WebCore::getPositionOffsetValue):
182479        (WebCore::CSSComputedStyleDeclaration::currentColorOrValidColor):
182480        (WebCore::getBorderRadiusCornerValue):
182481        (WebCore::computedTransform):
182482        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
182483        (WebCore::valueForGridTrackList):
182484        (WebCore::getDelayValue):
182485        (WebCore::getDurationValue):
182486        (WebCore::createLineBoxContainValue):
182487        (WebCore::CSSComputedStyleDeclaration::getFontSizeCSSValuePreferringKeyword):
182488        (WebCore::CSSComputedStyleDeclaration::valueForShadow):
182489        (WebCore::valueForFamily):
182490        (WebCore::renderTextDecorationFlagsToCSSValue):
182491        (WebCore::fillRepeatToCSSValue):
182492        (WebCore::fillSizeToCSSValue):
182493        (WebCore::contentToCSSValue):
182494        (WebCore::counterToCSSValue):
182495        (WebCore::fontFamilyFromStyle):
182496        (WebCore::lineHeightFromStyle):
182497        (WebCore::fontSizeFromStyle):
182498        (WebCore::fontStyleFromStyle):
182499        (WebCore::fontVariantFromStyle):
182500        (WebCore::fontWeightFromStyle):
182501        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
182502        * css/CSSParser.cpp:
182503        (WebCore::parseColorValue):
182504        (WebCore::parseSimpleLengthValue):
182505        (WebCore::CSSParser::setStyleSheet):
182506        (WebCore::CSSParser::createPrimitiveNumericValue):
182507        (WebCore::CSSParser::createPrimitiveStringValue):
182508        (WebCore::CSSParser::parseValidPrimitive):
182509        (WebCore::CSSParser::parseValue):
182510        (WebCore::parseBackgroundClip):
182511        (WebCore::CSSParser::parseFillShorthand):
182512        (WebCore::CSSParser::parsePage):
182513        (WebCore::CSSParser::parseSizeParameter):
182514        (WebCore::CSSParser::parseContent):
182515        (WebCore::CSSParser::parseAttr):
182516        (WebCore::CSSParser::parseBackgroundColor):
182517        (WebCore::CSSParser::parseFillPositionX):
182518        (WebCore::CSSParser::parseFillPositionY):
182519        (WebCore::CSSParser::parseFillPositionComponent):
182520        (WebCore::CSSParser::parseFillPosition):
182521        (WebCore::CSSParser::parseFillRepeat):
182522        (WebCore::CSSParser::parseFillSize):
182523        (WebCore::CSSParser::parseFillProperty):
182524        (WebCore::CSSParser::parseAnimationDirection):
182525        (WebCore::CSSParser::parseAnimationFillMode):
182526        (WebCore::CSSParser::parseAnimationIterationCount):
182527        (WebCore::CSSParser::parseAnimationName):
182528        (WebCore::CSSParser::parseAnimationPlayState):
182529        (WebCore::CSSParser::parseAnimationProperty):
182530        (WebCore::CSSParser::parseAnimationTimingFunction):
182531        (WebCore::CSSParser::parseGridTrackList):
182532        (WebCore::CSSParser::parseDashboardRegions):
182533        (WebCore::CSSParser::parseCounterContent):
182534        (WebCore::CSSParser::parseShape):
182535        (WebCore::CSSParser::parseWrapShape):
182536        (WebCore::CSSParser::parseFont):
182537        (WebCore::CSSParser::parseFontFamily):
182538        (WebCore::CSSParser::parseFontStyle):
182539        (WebCore::CSSParser::parseFontVariant):
182540        (WebCore::CSSParser::parseFontWeight):
182541        (WebCore::CSSParser::parseColor):
182542        (WebCore::ShadowParseContext::ShadowParseContext):
182543        (WebCore::ShadowParseContext::commitLength):
182544        (WebCore::ShadowParseContext::commitStyle):
182545        (WebCore::CSSParser::parseShadow):
182546        (WebCore::CSSParser::parseReflect):
182547        (WebCore::CSSParser::parseFlex):
182548        (WebCore::BorderImageParseContext::BorderImageParseContext):
182549        (WebCore::CSSParser::parseBorderImage):
182550        (WebCore::CSSParser::parseBorderImageRepeat):
182551        (WebCore::BorderImageSliceParseContext::BorderImageSliceParseContext):
182552        (WebCore::BorderImageSliceParseContext::commitNumber):
182553        (WebCore::BorderImageSliceParseContext::commitBorderImageSlice):
182554        (WebCore::CSSParser::parseBorderImageSlice):
182555        (WebCore::BorderImageQuadParseContext::BorderImageQuadParseContext):
182556        (WebCore::BorderImageQuadParseContext::commitNumber):
182557        (WebCore::BorderImageQuadParseContext::commitBorderImageQuad):
182558        (WebCore::CSSParser::parseBorderImageQuad):
182559        (WebCore::CSSParser::parseBorderRadius):
182560        (WebCore::CSSParser::parseAspectRatio):
182561        (WebCore::CSSParser::parseCounter):
182562        (WebCore::parseDeprecatedGradientPoint):
182563        (WebCore::parseDeprecatedGradientColorStop):
182564        (WebCore::CSSParser::parseDeprecatedGradient):
182565        (WebCore::valueFromSideKeyword):
182566        (WebCore::parseGradientColorOrKeyword):
182567        (WebCore::CSSParser::parseLinearGradient):
182568        (WebCore::CSSParser::parseRadialGradient):
182569        (WebCore::CSSParser::parseCrossfade):
182570        (WebCore::CSSParser::parseCustomFilter):
182571        (WebCore::CSSParser::parseFilter):
182572        (WebCore::CSSParser::parseFlowThread):
182573        (WebCore::CSSParser::parseRegionThread):
182574        (WebCore::CSSParser::parseTextEmphasisStyle):
182575        (WebCore::CSSParser::parseFontFeatureSettings):
182576        * css/CSSParser.h:
182577        (WebCore::CSSParser::cssValuePool):
182578        * css/CSSValuePool.cpp: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.cpp.
182579        (WebCore::CSSValuePool::CSSValuePool):
182580        (WebCore::CSSValuePool::~CSSValuePool):
182581        (WebCore::CSSValuePool::createIdentifierValue):
182582        (WebCore::CSSValuePool::createColorValue):
182583        (WebCore::CSSValuePool::createValue):
182584        * css/CSSValuePool.h: Renamed from Source/WebCore/css/CSSPrimitiveValueCache.h.
182585        (WebCore::CSSValuePool::create):
182586        (WebCore::CSSValuePool::createValue):
182587        * css/mediaControlsGtk.css:
182588        (audio::-webkit-media-controls-volume-slider, video::-webkit-media-controls-volume-slider):
182589        * dom/Document.cpp:
182590        (WebCore::Document::cssValuePool):
182591        * dom/Document.h:
182592
1825932011-12-03  Andreas Kling  <kling@webkit.org>
182594
182595        Shrink CSSValueList.
182596        <http://webkit.org/b/73732>
182597
182598        Reviewed by Antti Koivisto.
182599
182600        Packed CSSValueList::m_isSpaceSeparated into the CSSValue bit field
182601        and renamed it to m_isSpaceSeparatedValue, shrinking CSSValueList
182602        by one CPU word.
182603
182604        Also renamed CSSValue::m_isImplicit to m_isImplicitInitialValue
182605        for good measure.
182606
182607        * css/CSSInitialValue.h:
182608        (WebCore::CSSInitialValue::CSSInitialValue):
182609        * css/CSSValue.h:
182610        (WebCore::CSSValue::isImplicitInitialValue):
182611        (WebCore::CSSValue::CSSValue):
182612        * css/CSSValueList.cpp:
182613        (WebCore::CSSValueList::CSSValueList):
182614        (WebCore::CSSValueList::copy):
182615        (WebCore::CSSValueList::customCssText):
182616        * css/CSSValueList.h:
182617        (WebCore::CSSValueList::isSpaceSeparated):
182618
1826192011-12-02  Philippe Normand  <pnormand@igalia.com>
182620
182621        [GStreamer] Fullscreen controller support for the new WebKit Fullscreen API
182622        https://bugs.webkit.org/show_bug.cgi?id=66968
182623
182624        Reviewed by Martin Robinson.
182625
182626        * GNUmakefile.am: Don't use the Quicktime fullscreen CSS anymore,
182627        it wasn't suited for GTK in the first place anyway.
182628        * platform/gtk/RenderThemeGtk.cpp:
182629        (WebCore::RenderThemeGtk::extraFullScreenStyleSheet): Simply reuse
182630        GTK CSS.
182631
1826322011-12-03  Alejandro G. Castro  <alex@igalia.com>
182633
182634        [GTK] TextureMapperNode should not use Qt types and functions
182635        https://bugs.webkit.org/show_bug.cgi?id=73713
182636
182637        Replace qreal with double and qMin with std::min.
182638
182639        Reviewed by Noam Rosenthal.
182640
182641        * platform/graphics/texmap/TextureMapperNode.cpp:
182642        (WebCore::solveCubicBezierFunction):
182643        (WebCore::solveStepsFunction):
182644
1826452011-12-03  Dan Winship  <danw@gnome.org>
182646
182647        [GTK] Remove lots of code that is now unnecessary after
182648        SoupRequestHTTP API changes.
182649        https://bugs.webkit.org/show_bug.cgi?id=71611
182650
182651        Reviewed by Martin Robinson.
182652
182653        No new tests; behavior is unchanged
182654
182655        * platform/network/ResourceHandleInternal.h:
182656        (WebCore::ResourceHandleInternal::ResourceHandleInternal): remove
182657        no-longer-needed fields.
182658        * platform/network/soup/ResourceHandleSoup.cpp:
182659        (WebCore::finishedCallback): remove this, and m_finished, which
182660        we no longer need to explicitly track
182661        (WebCore::statusWillBeHandledBySoup):
182662        (WebCore::soupErrorShouldCauseLoadFailure): No longer needed;
182663        SoupRequestHTTP's logic is now aligned with WebKit's.
182664        (WebCore::gotChunkCallback): remove gotChunkCallback, which
182665        is no longer needed
182666        (WebCore::startHTTPRequest):
182667        (WebCore::sendRequestCallback):
182668        (WebCore::gotHeadersCallback):
182669        (WebCore::contentSniffedCallback): merge the code from
182670        gotHeadersCallback and contentSniffedCallback into
182671        sendRequestCallback
182672        * platform/network/soup/ResourceResponseSoup.cpp:
182673        (WebCore::ResourceResponse::updateFromSoupMessage): move the
182674        sniffing override logic here
182675
1826762011-12-03  Sheriff Bot  <webkit.review.bot@gmail.com>
182677
182678        Unreviewed, rolling out r101904.
182679        http://trac.webkit.org/changeset/101904
182680        https://bugs.webkit.org/show_bug.cgi?id=73739
182681
182682        It broke zillions of tests on all bot (Requested by
182683        Ossy_weekend on #webkit).
182684
182685        * bindings/js/JSDOMWindowCustom.cpp:
182686        (WebCore::handlePostMessage):
182687
1826882011-12-02  Kentaro Hara  <haraken@chromium.org>
182689
182690        [Refactoring] Use join(", ", @arguments) to build a method argument string in CodeGenerator*.pm
182691        https://bugs.webkit.org/show_bug.cgi?id=73651
182692
182693        Reviewed by Darin Adler.
182694
182695        The code in CodeGenerator*.pm to build a method argument string is really dirty
182696        and error-prone. It is building an argument string incrementally judging whether
182697        ", " is necessary or not, like this:
182698
182699            my $method = ... ? "func(" : "func(a";
182700            if (...) {
182701                $method .= $method =~ /\($/ ? "b" : ", b";
182702            }
182703            $method .= ")";
182704
182705        Alternatively, we can refactor the code as follows:
182706
182707            my $funcName = "func";
182708            my @arguments;
182709            push(@arguments, "a") if (...);
182710            push(@arguments, "b") if (...);
182711            my $method = $funcName . "(" . join(", ", @arguments) . ")";
182712
182713        This patch just refactors the code, and generated .h and .cpp files should be
182714        exactly the same as the current .h and .cpp files.
182715
182716        Tests: bindings/scripts/test/*
182717
182718        * bindings/scripts/CodeGenerator.pm:
182719        (GetterExpression):
182720        (SetterExpression):
182721        * bindings/scripts/CodeGeneratorCPP.pm:
182722        (GenerateImplementation):
182723        * bindings/scripts/CodeGeneratorGObject.pm:
182724        ():
182725        * bindings/scripts/CodeGeneratorJS.pm:
182726        (GenerateImplementation):
182727        * bindings/scripts/CodeGeneratorObjC.pm:
182728        (GenerateImplementation):
182729        * bindings/scripts/CodeGeneratorV8.pm:
182730        (GenerateNormalAttrGetter):
182731        (GenerateNormalAttrSetter):
182732
1827332011-12-02  David Levin  <levin@chromium.org>
182734
182735        Rename WTF class from TemporarilyChange to TemporaryChange.
182736        https://bugs.webkit.org/show_bug.cgi?id=73479
182737
182738        Reviewed by Eric Seidel.
182739
182740        * ForwardingHeaders/wtf/TemporarilyChange.h: Removed.
182741        * ForwardingHeaders/wtf/TemporaryChange.h: Added.
182742        * page/FrameView.cpp:
182743        (WebCore::FrameView::forceLayoutParentViewIfNeeded):
182744        (WebCore::FrameView::layout):
182745        (WebCore::FrameView::setScrollPosition):
182746        (WebCore::FrameView::autoSizeIfEnabled):
182747
1827482011-12-02  Armand Navabi  <armand.navabi@gmail.com>
182749
182750        ASSERT fails in updateState ACTION_DRAW case
182751        https://bugs.webkit.org/show_bug.cgi?id=73351
182752
182753        Reviewed by James Robinson.
182754
182755        Changed ASSERT in CCSchedulerStateMachine to include ( || !m_visible) as discussed in bug 
182756        report. m_commitState is set to COMMIT_STATE_WAITING_FOR_FIRST_DRAW if m_needsCommit or
182757        !m_visible, so in ACTION_DRAW the assert should have both conditions.
182758
182759        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
182760        (WebCore::CCSchedulerStateMachine::updateState):
182761
1827622011-12-02  Shawn Singh  <shawnsingh@chromium.org>
182763
182764        [chromium] Scissor rect optimization for chromium compositor
182765        https://bugs.webkit.org/show_bug.cgi?id=67341
182766
182767        Reviewed by James Robinson.
182768
182769        Mostly covered by damage tracker tests. Currently this relies on
182770        manually running layout tests, because this patch requires partial
182771        swaps that are not supported by DumpRenderTree. The feature
182772        automatically disables if partial swap is not supported.
182773
182774        * platform/graphics/chromium/LayerRendererChromium.cpp:
182775        (WebCore::LayerRendererChromium::initialize):
182776        (WebCore::LayerRendererChromium::trackDamageForAllSurfaces):
182777        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
182778        (WebCore::LayerRendererChromium::drawLayersInternal):
182779        (WebCore::LayerRendererChromium::swapBuffers):
182780        (WebCore::LayerRendererChromium::drawLayer):
182781        * platform/graphics/chromium/LayerRendererChromium.h:
182782        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
182783        (WebCore::CCSettings::CCSettings):
182784        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
182785        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
182786        (WebCore::CCRenderSurface::draw):
182787        * platform/graphics/chromium/cc/CCRenderSurface.h:
182788
1827892011-12-02  Dmitry Lomov  <dslomov@google.com>
182790
182791        https://bugs.webkit.org/show_bug.cgi?id=73691
182792        [JSC] Implement correct order of window.postMessage arguments.
182793
182794        Reviewed by Geoffrey Garen.
182795
182796        * bindings/js/JSDOMWindowCustom.cpp:
182797        (WebCore::handlePostMessage):
182798
1827992011-12-02  Stephen Chenney  <schenney@chromium.org>
182800
182801        REGRESSION (r91125): Polyline tool in google docs is broken
182802        https://bugs.webkit.org/show_bug.cgi?id=65796
182803
182804        Reviewed by Darin Adler.
182805
182806        Work around a bug in CoreGraphics, that caused incorrect bounds for paths
182807        consisting only of move-to elements. This causes problems in SVG, when the enormous
182808        bounds prevented the drawing of things behind.
182809
182810        Tests: svg/custom/path-moveto-only-rendering.svg
182811               svg/custom/subpaths-moveto-only-rendering.svg
182812
182813        * platform/graphics/cg/PathCG.cpp:
182814        (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
182815        test for isEmpty accoridng ot the same rules as other platforms.
182816        (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
182817        (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
182818        (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
182819        path contains only move-to elements, and hence should have null bounds.
182820        (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
182821        (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
182822        (WebCore::Path::boundingRect): Modified to check for move-to only paths
182823        (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
182824        (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
182825        (WebCore::Path::hasCurrentPoint): Now uses CGPathIsEmpty directly
182826        (WebCore::Path::transform) : Now uses CGPathIsEmpty directly
182827
1828282011-12-02  Mihnea Ovidenie  <mihnea@adobe.com>
182829
182830        [CSSRegions]More renaming for region style rules.
182831        https://bugs.webkit.org/show_bug.cgi?id=73526
182832
182833        Reviewed by Eric Seidel.
182834
182835        Rename isRegionStyleRule() -> isRegionRule()
182836        WEBKIT_REGION_STYLE_RULE -> WEBKIT_REGION_RULE.
182837
182838        * bindings/objc/DOMCSS.mm:
182839        (kitClass):
182840        * bindings/v8/custom/V8CSSRuleCustom.cpp:
182841        (WebCore::toV8):
182842        * css/CSSGrammar.y:
182843        * css/CSSParser.cpp:
182844        (WebCore::CSSParser::createRegionRule):
182845        * css/CSSParser.h:
182846        * css/CSSRule.cpp:
182847        (WebCore::CSSRule::cssText):
182848        (WebCore::CSSRule::destroy):
182849        * css/CSSRule.h:
182850        (WebCore::CSSRule::isRegionRule):
182851        * css/CSSRule.idl:
182852        * css/CSSStyleSelector.cpp:
182853        (WebCore::CSSStyleSelector::addRegionRule):
182854        (WebCore::RuleSet::addRulesFromSheet):
182855        * css/CSSStyleSelector.h:
182856        * css/WebKitCSSRegionRule.cpp:
182857        (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
182858        * css/tokenizer.flex:
182859
1828602011-12-02  Tom Sepez  <tsepez@chromium.org>
182861
182862        XSSAuditor includes more terminating characters when truncating
182863        attribute values.
182864        https://bugs.webkit.org/show_bug.cgi?id=73684
182865
182866        Reviewed by Daniel Bates.
182867
182868        * html/parser/XSSAuditor.cpp:
182869        (WebCore::isTerminatingCharacter):
182870        (WebCore::XSSAuditor::eraseDangerousAttributesIfInjected):
182871
1828722011-12-02  Tony Chang  <tony@chromium.org>
182873
182874        Need to implement flex-flow: column-reverse
182875        https://bugs.webkit.org/show_bug.cgi?id=73504
182876
182877        Reviewed by David Hyatt.
182878
182879        We can't just change the direction of the FlexOrderIterator because we want the overflow to be
182880        on the top. We can't just position them in the reverse location since we don't know where the
182881        bottom edge is until we've layed out the flex items. So we do an extra pass, but it should be
182882        fast since we're not laying out, just moving.
182883
182884        * rendering/RenderFlexibleBox.cpp:
182885        (WebCore::RenderFlexibleBox::flowAwareBorderEnd):
182886        (WebCore::RenderFlexibleBox::flowAwarePaddingEnd):
182887        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
182888        (WebCore::RenderFlexibleBox::layoutColumnReverse): Do an extra pass to reposition flexitems in the reverse order.
182889        * rendering/RenderFlexibleBox.h:
182890
1828912011-12-02  Stephen Chenney  <schenney@chromium.org>
182892
182893        Divide by zero for zero-length arcs
182894        https://bugs.webkit.org/show_bug.cgi?id=73021
182895
182896        Reviewed by Nikolas Zimmermann.
182897
182898        A zero-length path produces divide by zero, resulting in nothing being
182899        drawn. This change modifies the behavior to produce a zero-length line
182900        which will generate correct linecaps.
182901
182902        Test: svg/stroke/zero-length-arc-linecaps-rendering.svg
182903
182904        * svg/SVGPathParser.cpp:
182905        (WebCore::SVGPathParser::parseArcToSegment): Catch the case of
182906        zero-length arcs and convert them to lines (the same as would happen
182907        for zero arc radii).
182908
1829092011-12-02  James Wei <james.wei@intel.com> & Xingnan Wang <xingnan.wang@intel.com>
182910
182911        -Implement the SSE optimization for vsmul and vadd.
182912        https://bugs.webkit.org/show_bug.cgi?id=73182
182913
182914        Reviewed by Kenneth Russell.
182915
182916        * platform/audio/VectorMath.cpp:
182917        (WebCore:VectorMath):
182918
1829192011-12-02  David Grogan  <dgrogan@chromium.org>
182920
182921        Grant workers experimental access to IndexedDB.
182922        https://bugs.webkit.org/show_bug.cgi?id=73609
182923
182924        Reviewed by Nate Chapin.
182925
182926        No new tests - there will be chromium ui tests that depend on
182927        webkit.org/b/73297.
182928
182929        * storage/IDBFactory.cpp:
182930        (WebCore::IDBFactory::open): Call new function,
182931        IDBFactoryBackendInterface::openFromWorker.
182932        * storage/IDBFactoryBackendImpl.cpp:
182933        (WebCore::IDBFactoryBackendImpl::open):
182934        (WebCore::IDBFactoryBackendImpl::openFromWorker):
182935        (WebCore::IDBFactoryBackendImpl::openInternal):
182936        * storage/IDBFactoryBackendImpl.h:
182937        * storage/IDBFactoryBackendInterface.h:
182938        * workers/WorkerContext.cpp:
182939        (WebCore::WorkerContext::webkitIndexedDB): Stores
182940        IDBFactoryBackendInterface, implemented by IDBFactoryBackendProxy in
182941        chromium, in the WorkerContext.  For the Document case it is stored in
182942        the PageGroup.  Storing it in the WorkerContext causes more memory
182943        churn, but that should be trivial.  I don't know of any better
182944        alternatives.
182945        * workers/WorkerContext.h:
182946        * workers/WorkerContext.idl:
182947
1829482011-12-02  Aaron Colwell  <acolwell@chromium.org>
182949
182950        Fix mixed content handling for video in Chromium by having
182951        CachedResourceLoader & SubresourceLoader use the 
182952        ResourceRequest::TargetType when determining if a RawResource can
182953        be requested.
182954        https://bugs.webkit.org/show_bug.cgi?id=72178
182955
182956        Reviewed by Adam Barth.
182957
182958        Tests: http/tests/security/mixedContent/insecure-video-in-iframe.html
182959               http/tests/security/mixedContent/insecure-video-in-main-frame.html
182960               http/tests/security/mixedContent/redirect-http-to-https-video-in-main-frame.html
182961               http/tests/security/mixedContent/redirect-https-to-http-video-in-main-frame.html
182962
182963        * loader/SubresourceLoader.cpp:
182964        (WebCore::SubresourceLoader::willSendRequest):
182965        * loader/cache/CachedRawResource.cpp:
182966        (WebCore::CachedRawResource::CachedRawResource):
182967        * loader/cache/CachedRawResource.h:
182968        * loader/cache/CachedResource.cpp:
182969        (WebCore::defaultPriorityForResourceType):
182970        (WebCore::cachedResourceTypeToTargetType):
182971        (WebCore::CachedResource::targetTypeToCachedResourceType):
182972        * loader/cache/CachedResource.h:
182973        * loader/cache/CachedResourceLoader.cpp:
182974        (WebCore::createResource):
182975        (WebCore::CachedResourceLoader::checkInsecureContent):
182976        (WebCore::CachedResourceLoader::canRequest):
182977        (WebCore::CachedResourceLoader::requestResource):
182978
1829792011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
182980
182981        Unreviewed, rolling out r101731.
182982        http://trac.webkit.org/changeset/101731
182983        https://bugs.webkit.org/show_bug.cgi?id=73706
182984
182985        Broke copy and paste in chromium. (Requested by dcheng on #webkit).
182986
182987        * editing/SpellChecker.cpp:
182988        (WebCore::SpellChecker::SpellChecker):
182989        (WebCore::SpellChecker::initRequest):
182990        (WebCore::SpellChecker::clearRequest):
182991        (WebCore::SpellChecker::canCheckAsynchronously):
182992        (WebCore::SpellChecker::isBusy):
182993        (WebCore::SpellChecker::isValid):
182994        (WebCore::SpellChecker::requestCheckingFor):
182995        (WebCore::SpellChecker::doRequestCheckingFor):
182996        (WebCore::SpellChecker::didCheck):
182997        * editing/SpellChecker.h:
182998
1829992011-12-02  Fady Samuel  <fsamuel@chromium.org>
183000
183001        When page scaling is in use position:fixed has incorrect results
183002        https://bugs.webkit.org/show_bug.cgi?id=68617
183003
183004        Reviewed by Simon Fraser.
183005
183006        Add the option for position:fixed elements to be fixed to the frame
183007        instead of the layout rectangle of the document.
183008
183009        Tests: fast/repaint/fixed-in-page-scale.html
183010               fast/repaint/fixed-right-bottom-in-page-scale.html
183011               fast/repaint/fixed-right-in-page-scale.html
183012
183013        * WebCore.exp.in:
183014        * page/FrameView.cpp:
183015        (WebCore::FrameView::reset):
183016        (WebCore::FrameView::scrollXForFixedPosition):
183017        (WebCore::FrameView::scrollYForFixedPosition):
183018          If position:fixed elements are relative to the frame, disregard the
183019          drag factor.
183020        (WebCore::FrameView::setShouldLayoutFixedElementsRelativeToFrame):
183021        * page/FrameView.h:
183022        (WebCore::FrameView::shouldLayoutFixedElementsRelativeToFrame):
183023        * rendering/RenderBox.cpp:
183024        (WebCore::RenderBox::shouldLayoutFixedElementRelativeToFrame):
183025        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
183026        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
183027          If position:fixed elements are relative to the frame, their container
183028          is the frame instead of the layout rect of the document. 
183029          This allows proper positioning of these elements to the right and
183030          bottom.
183031        * rendering/RenderBox.h:
183032        * testing/Internals.cpp:
183033        (WebCore::Internals::setShouldLayoutFixedElementsRelativeToFrame):
183034        * testing/Internals.h:
183035        * testing/Internals.idl:
183036          Allow enabling and disabling the new behavior in layout tests.
183037
1830382011-12-02  Benjamin Poulain  <bpoulain@apple.com>
183039
183040        Build fix for SubresourceLoader when building with Core Foundation
183041        https://bugs.webkit.org/show_bug.cgi?id=73709
183042
183043        Reviewed by David Kilzer.
183044
183045        The patch r100311 removed SubresourceClient and merged it in SubresourceLoader.
183046        Consequently, m_client does not exist anymore and there is no need to do the check
183047        before invoking didReceiveData().
183048
183049        * loader/cf/SubresourceLoaderCF.cpp:
183050        (WebCore::SubresourceLoader::didReceiveDataArray):
183051
1830522011-12-02  Andreas Kling  <kling@webkit.org>
183053
183054        StyledElement: Simplify addCSSColor().
183055        <http://webkit.org/b/73703>
183056
183057        Reviewed by Darin Adler.
183058
183059        The Color(const String&) constructor handles both named and 3/6-digit
183060        hex colors, so there's no need to handle those separately here.
183061        Also tweaked some comments and minor things.
183062
183063        * dom/StyledElement.cpp:
183064        (WebCore::StyledElement::addCSSColor):
183065
1830662011-12-02  Benjamin Poulain  <bpoulain@apple.com>
183067
183068        Update platform/iphone to platform/ios
183069        https://bugs.webkit.org/show_bug.cgi?id=73708
183070
183071        Reviewed by Darin Adler.
183072
183073        The platform is now best known as iOS, update the platform layer accordingly.
183074
183075        * Configurations/WebCore.xcconfig:
183076        * WebCore.gypi:
183077        * WebCore.xcodeproj/project.pbxproj:
183078        * platform/cocoa/KeyEventCocoa.mm:
183079        * platform/ios/KeyEventCodesIOS.h: Renamed from Source/WebCore/platform/iphone/KeyEventCodesIPhone.h.
183080        * platform/ios/KeyEventIOS.mm: Renamed from Source/WebCore/platform/iphone/KeyEventIPhone.mm.
183081        (WebCore::keyIdentifierForKeyEvent):
183082        (WebCore::PlatformKeyboardEvent::PlatformKeyboardEvent):
183083        (WebCore::PlatformKeyboardEvent::disambiguateKeyDownEvent):
183084        (WebCore::PlatformKeyboardEvent::currentCapsLockState):
183085        (WebCore::PlatformKeyboardEvent::getCurrentModifierState):
183086
1830872011-12-02  Jonathan Backer  <backer@chromium.org>
183088
183089        [chromium] Eliminate unnecessary state on previous CL
183090        https://bugs.webkit.org/show_bug.cgi?id=73661
183091
183092        Reviewed by Kenneth Russell.
183093
183094        * platform/graphics/chromium/LayerRendererChromium.cpp:
183095        (WebCore::LayerRendererChromium::initialize):
183096        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
183097        (WebCore::CCLayerTreeHost::initialize):
183098        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
183099        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
183100        (WebCore::CCSettings::CCSettings):
183101        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
183102
1831032011-12-02  Dan Bernstein  <mitz@apple.com>
183104
183105        <rdar://problem/10520670> REGRESSION (r91738): didFinishLoad is called before custom fonts have finished loading
183106        https://bugs.webkit.org/show_bug.cgi?id=73688
183107
183108        Reviewed by Darin Adler.
183109
183110        The problem was that after CSSFontFaceSource::getFontData() had scheduled a 0-delay timer to
183111        begin loading the font, but before that timer fired, the subresource loader appeared to have
183112        had no resources waiting to be loaded, and therefore didFinishLoad could be called. This change
183113        reworks the fix for <http://webkit.org/b/65123> so that while the load is still started on a
183114        0-delay timer, the subresource loader’s request count is incremented immediately, preventing
183115        it from hitting 0 while the font load is scheduled to begin. The delayed load mechanism is
183116        moved from CSSFontFaceSource into CSSFontSelector in order to safely handle the possibility of
183117        the latter being decommissioned while waiting for font loading to begin.
183118
183119        * css/CSSFontFaceSource.cpp:
183120        (WebCore::CSSFontFaceSource::CSSFontFaceSource): Removed initializer for m_loadStartTimer.
183121        (WebCore::CSSFontFaceSource::~CSSFontFaceSource): Removed stopping of m_loadStartTimer.
183122        (WebCore::CSSFontFaceSource::getFontData): Replaced code to schedule loading on a timer with
183123        a call to CSSFontSelector::beginLoadingFontSoon.
183124        * css/CSSFontFaceSource.h: Removed m_loadStartTimer and m_fontSelector member variables.
183125        * css/CSSFontSelector.cpp:
183126        (WebCore::CSSFontSelector::CSSFontSelector): Added initialized for m_beginLoadingTimer.
183127        (WebCore::CSSFontSelector::~CSSFontSelector): Added call to clearDocument(), to deal with
183128        anything remaining in m_fontsToBeginLoading at this time.
183129        (WebCore::CSSFontSelector::clearDocument): Now stops m_beginLoadingTimer and balances
183130        incrementRequestCount() calls for anything remaining in m_fontsToBeginLoading.
183131        (WebCore::CSSFontSelector::beginLoadingFontSoon): Added. Schedules the actual call to
183132        CachedFont::beginLoadingIfNeeded on a 0-delay timer, and meanwhile increments the request count
183133        on the CachedResourceLoader, which ensures that didFinishLoad will not be called while waiting
183134        for the timer to fire.
183135        (WebCore::CSSFontSelector::beginLoadTimerFired): Added. Actually calls
183136        CachedFont::beginLoadIfNeeded and balances the incrementRequestCount() made when the timer was
183137        scheduled.
183138        * css/CSSFontSelector.h:
183139
1831402011-12-02  David Tseng  <dtseng@google.com>
183141
183142        Send an AXCheckedStateChanged notification when the aria-checked attribute changes.
183143        https://bugs.webkit.org/show_bug.cgi?id=72754
183144
183145        Reviewed by Chris Fleizach.
183146
183147        Test: accessibility/aria-checkbox-sends-notification.html
183148
183149        * accessibility/AXObjectCache.cpp:
183150        (WebCore::AXObjectCache::checkedStateChanged):
183151        * accessibility/AXObjectCache.h:
183152        * dom/Element.cpp:
183153        (WebCore::Element::updateAfterAttributeChanged):
183154        * html/HTMLInputElement.cpp:
183155        (WebCore::HTMLInputElement::setChecked):
183156
1831572011-12-02  Grace Kloba  <klobag@chromium.org>
183158
183159        [chromium] Recycle tile-sized textures during commit to prevent reallocations
183160        https://bugs.webkit.org/show_bug.cgi?id=70645
183161
183162        Reviewed by James Robinson.
183163
183164        Currently texture request is capped by the high limit while we reclaim the
183165        textures in each commit. This triggers new tiles always allocated when scrolling.
183166        The proposal is to recycle the texture during request if the total used memory
183167        is about to exceed the reclaim limit.
183168
183169        * platform/graphics/chromium/ManagedTexture.cpp:
183170        (WebCore::ManagedTexture::reserve):
183171        * platform/graphics/chromium/TextureManager.cpp:
183172        (WebCore::TextureManager::setMemoryLimitBytes):
183173        (WebCore::TextureManager::replaceTexture):
183174        (WebCore::TextureManager::requestTexture):
183175        * platform/graphics/chromium/TextureManager.h:
183176
1831772011-12-02  Kent Tamura  <tkent@chromium.org>
183178
183179        [Chromium] Show placeholder even if the element is focused
183180        https://bugs.webkit.org/show_bug.cgi?id=73629
183181
183182        Reviewed by Hajime Morita.
183183
183184        No new tests. Need to update some existing placeholder tests.
183185
183186        * rendering/RenderThemeChromiumMac.h: Add shouldShowPlaceholderWhenFocused().
183187        * rendering/RenderThemeChromiumMac.mm:
183188        (WebCore::RenderThemeChromiumMac::shouldShowPlaceholderWhenFocused):
183189        Returns true.
183190        * rendering/RenderThemeChromiumSkia.cpp:
183191        (WebCore::RenderThemeChromiumSkia::shouldShowPlaceholderWhenFocused): ditto.
183192        * rendering/RenderThemeChromiumSkia.h: Add shouldShowPlaceholderWhenFocused().
183193
1831942011-12-02  Kent Tamura  <tkent@chromium.org>
183195
183196        [Lion][Windows] Both of placeholder and input text are shown in <input type=number>
183197        https://bugs.webkit.org/show_bug.cgi?id=73615
183198
183199        Reviewed by Joseph Pecoraro.
183200
183201        Placeholder visibility was checked by HTMLInputElement::value
183202        emptiness. It should be innerTextValue emptiness because it is
183203        possible that a number field has empty HTMLInputElement::value and
183204        non-empty innerTextValue.
183205
183206        Tests: fast/forms/number/number-placeholder-with-unacceptable-value.html
183207
183208        * html/HTMLInputElement.cpp:
183209        (WebCore::HTMLInputElement::updateInnerTextValue):
183210        We should update placeholder visiblity when the innerTextValue is updated.
183211        (WebCore::HTMLInputElement::subtreeHasChanged): ditto.
183212        (WebCore::HTMLInputElement::setSuggestedValue):
183213        We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
183214        (WebCore::HTMLInputElement::setValueFromRenderer):
183215        We don't need to call updatePlaceholderVisibility() because subtreeHasChanged() calls it.
183216        * html/HTMLInputElement.h: Checks innerTextValue emptiness.
183217        * html/TextFieldInputType.cpp:
183218        (WebCore::TextFieldInputType::setValue):
183219        We don't need to call updatePlaceholderVisibility() because updateInnerTextValue() calls it.
183220
1832212011-12-01  Alok Priyadarshi  <alokp@chromium.org>
183222
183223        [chromium] CCLayerQuad does not return FloatQuad in correct order
183224        https://bugs.webkit.org/show_bug.cgi?id=73247
183225
183226        Reviewed by James Robinson.
183227
183228        Returned the FloatQuad coordinates in correct order.
183229        
183230        Covered by new unit tests in CCLayerQuadTest.cpp.
183231
183232        * platform/graphics/chromium/cc/CCLayerQuad.cpp:
183233        (WebCore::CCLayerQuad::floatQuad):
183234
1832352011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
183236
183237        Unreviewed, rolling out r101833.
183238        http://trac.webkit.org/changeset/101833
183239        https://bugs.webkit.org/show_bug.cgi?id=73678
183240
183241        test_expectations file invalid: run Tools/Scripts/new-run-
183242        webkit-tests --lint-test-files (Requested by scheib on
183243        #webkit).
183244
183245        * platform/graphics/chromium/cc/CCLayerQuad.cpp:
183246        (WebCore::CCLayerQuad::floatQuad):
183247
1832482011-12-02  Alok Priyadarshi  <alokp@chromium.org>
183249
183250        [chromium] CCLayerQuad does not return FloatQuad in correct orientation
183251        https://bugs.webkit.org/show_bug.cgi?id=73247
183252
183253        Reviewed by James Robinson.
183254
183255        Returned the FloatQuad coordinates in correct order.
183256        
183257        Covered by new unit tests in CCLayerQuadTest.cpp.
183258
183259        * platform/graphics/chromium/cc/CCLayerQuad.cpp:
183260        (WebCore::CCLayerQuad::floatQuad):
183261
1832622011-12-01  Dmitry Lomov  <dslomov@google.com>
183263
183264        https://bugs.webkit.org/show_bug.cgi?id=73589
183265        [V8][Chromium] Adjust postMessage to the latest "implementation-ready" spec.
183266        - postMessage should support transfer of MessagePorts
183267        - the order of arguments to Window::postMessage and Window::webkitPostMessage should be (msg, targetOrigin [, transfer])
183268
183269        Reviewed by David Levin.
183270
183271        * bindings/v8/custom/V8DOMWindowCustom.cpp:
183272        (WebCore::handlePostMessageCallback):
183273        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
183274        (WebCore::handlePostMessageCallback):
183275        * bindings/v8/custom/V8MessagePortCustom.cpp:
183276        (WebCore::handlePostMessageCallback):
183277        * bindings/v8/custom/V8WorkerCustom.cpp:
183278        (WebCore::handlePostMessageCallback):
183279
1832802011-12-02  Enrica Casucci  <enrica@apple.com>
183281
183282        https://bugs.webkit.org/show_bug.cgi?id=73497
183283        This is a followup to the patch submitted for the bug above.
183284        Tha patch was landed in r101575 and I missed to make one of the changes
183285        suggested by the reviewer that had pointed out that the code was still
183286        making use of the deprecatedNode method.
183287
183288        Unreviewed.
183289
183290        * editing/DeleteSelectionCommand.cpp:
183291        (WebCore::DeleteSelectionCommand::removeRedundantBlocks): Changed deprecatedNode to containerNode.
183292
1832932011-12-02  Tom Sepez  <tsepez@chromium.org>
183294
183295        Content-security-policy script-src not enforced on workers.
183296        https://bugs.webkit.org/show_bug.cgi?id=73240
183297
183298        Reviewed by Adam Barth.
183299
183300        Add a CSP check in AbstractWorker.cpp as part of resolving URL.
183301        
183302        Test: http/tests/security/contentSecurityPolicy/worker-script-src.html
183303
183304        * workers/AbstractWorker.cpp:
183305        (WebCore::AbstractWorker::resolveURL):
183306
1833072011-12-02  Daniel Cheng  <dcheng@chromium.org>
183308
183309        [chromium] Add plumbing for supporting custom MIME types in DataTransfer.
183310        https://bugs.webkit.org/show_bug.cgi?id=73594
183311
183312        Reviewed by David Levin.
183313
183314        Tests: editing/pasteboard/clipboard-customData.html
183315               fast/events/drag-customData.html
183316
183317        * platform/chromium/ChromiumDataObject.cpp:
183318        (WebCore::ChromiumDataObject::types):
183319        (WebCore::ChromiumDataObject::getData):
183320        (WebCore::ChromiumDataObject::setData):
183321        * platform/chromium/ChromiumDataObject.h:
183322        (WebCore::ChromiumDataObject::customData):
183323        * platform/chromium/PlatformSupport.h:
183324
1833252011-12-02  Darin Adler  <darin@apple.com>
183326
183327        [Mac] Form stream data structures still not threadsafe
183328        https://bugs.webkit.org/show_bug.cgi?id=73674
183329
183330        Reviewed by Anders Carlsson.
183331
183332        * platform/network/mac/FormDataStreamMac.mm:
183333        (WebCore::streamFieldsMapMutex): Added. 
183334        (WebCore::associateStreamWithResourceHandle): Use streamFieldsMapMutex.
183335        (WebCore::formCreate): Ditto.
183336        (WebCore::formFinalize): Ditto.
183337        (WebCore::httpBodyFromStream): Ditto.
183338
1833392011-12-02  Joshua Bell  <jsbell@chromium.org>
183340
183341        IndexedDB: Rename "multientry" to "multiEntry" per spec change
183342        https://bugs.webkit.org/show_bug.cgi?id=73578
183343
183344        Reviewed by Darin Fisher.
183345
183346        * storage/IDBIndex.h:
183347        (WebCore::IDBIndex::multiEntry):
183348        * storage/IDBIndex.idl:
183349        * storage/IDBIndexBackendImpl.cpp:
183350        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
183351        * storage/IDBIndexBackendImpl.h:
183352        (WebCore::IDBIndexBackendImpl::create):
183353        (WebCore::IDBIndexBackendImpl::multiEntry):
183354        * storage/IDBIndexBackendInterface.h:
183355        * storage/IDBLevelDBBackingStore.cpp:
183356        (WebCore::IDBLevelDBBackingStore::getIndexes):
183357        (WebCore::IDBLevelDBBackingStore::createIndex):
183358        * storage/IDBLevelDBCoding.cpp:
183359        * storage/IDBObjectStore.cpp:
183360        (WebCore::IDBObjectStore::createIndex):
183361        * storage/IDBObjectStoreBackendImpl.cpp:
183362        (WebCore::IDBObjectStoreBackendImpl::putInternal):
183363        (WebCore::IDBObjectStoreBackendImpl::createIndex):
183364        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
183365        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
183366        * storage/IDBObjectStoreBackendImpl.h:
183367        * storage/IDBObjectStoreBackendInterface.h:
183368
1833692011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
183370
183371        Unreviewed, rolling out r101805.
183372        http://trac.webkit.org/changeset/101805
183373        https://bugs.webkit.org/show_bug.cgi?id=73670
183374
183375        Many canvas tests started failing due to the isEmpty change
183376        (Requested by darin on #webkit).
183377
183378        * platform/graphics/cg/PathCG.cpp:
183379        (WebCore::Path::boundingRect):
183380        (WebCore::Path::fastBoundingRect):
183381        (WebCore::Path::isEmpty):
183382
1833832011-12-01  Darin Adler  <darin@apple.com>
183384
183385        [Mac] Reference count threading violation in FormDataStreamMac.mm
183386        https://bugs.webkit.org/show_bug.cgi?id=73627
183387
183388        Reviewed by Sam Weinig.
183389
183390        Shows up as a crash during existing layout test runs so no new tests are required.
183391
183392        * platform/network/mac/FormDataStreamMac.mm:
183393        (WebCore::streamFieldsMap): Replaced getStreamFormDataMap with this.
183394        Use an NSMapTable instead of a HashMap because we need to remove items from this
183395        on a non-main thread.
183396        (WebCore::associateStreamWithResourceHandle): Use NSMapGet instead of
183397        HashMap::contains here.
183398        (WebCore::formCreate): FormStreamFields now stores a RefPtr to the form data.
183399        Added the code to fill that in. Did it in a more modern way to avoid the leakRef
183400        and adoptRef that were used before. Replaced the code that set up the stream
183401        form data map entry with code that sets an entry in the streamFieldsMap.
183402        (WebCore::formFinishFinalizationOnMainThread): Added. Contains the work of
183403        finalization that must be done on the main thread, specifically, destroying the
183404        fields structure that contains objects with RefPtr in them. We can't touch these
183405        reference counts on non-main threads.
183406        (WebCore::formFinalize): Changed this to use NSMapRemove on the streamFieldsMap.
183407        Added a callOnMainThread to finish the finalization.
183408        (WebCore::setHTTPBody): Removed the leakRef, no longer needed, that used to be
183409        balanced by an adoptRef in formCreate.
183410        (WebCore::httpBodyFromStream): Changed to use NSMapGet.
183411
1834122011-12-02  Antti Koivisto  <antti@apple.com>
183413
183414        https://bugs.webkit.org/show_bug.cgi?id=73520
183415        REGRESSION(r101524): Article titles invisible until hover on blaze.com
183416
183417        Reviewed by Darin Adler.
183418        
183419        We need to invalidate the matched declaration cache when new web fonts are loaded.
183420        Fonts in the cached RenderStyles may not be valid anymore.
183421        
183422        Also renamed m_matchStyleDeclarationCache -> m_matchedStyleDeclarationCache.
183423        
183424        Test reduction by the Reduction Fairy (aka kling).
183425
183426        Test: fast/css/font-face-cache-bug.html
183427
183428        * css/CSSFontSelector.cpp:
183429        (WebCore::CSSFontSelector::dispatchInvalidationCallbacks):
183430        * css/CSSStyleSelector.cpp:
183431        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
183432        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
183433        (WebCore::CSSStyleSelector::invalidateMatchedDeclarationCache):
183434        * css/CSSStyleSelector.h:
183435
1834362011-11-02  Jer Noble  <jer.noble@apple.com>
183437
183438        MediaControls should use MediaController if present.
183439        https://bugs.webkit.org/show_bug.cgi?id=71410
183440
183441        Reviewed by Eric Carlson.
183442
183443        No new tests; covered by existing tests.
183444
183445        Add support for individual media controls to control the MediaController of their associated
183446        HTMLMediaElement, if present.
183447
183448        The video spec requires that UA provided media controls be implemented in terms of their 
183449        HTMLMediaElement's MediaController, if present.  So for each of the media controls, modify 
183450        their constructor to take a Document* instead of an HTMLMediaElement, and add an setter
183451        taking a MediaControllerInterface.
183452
183453        Now that MediaControls have an abstract interface instead of an HTMLMediaElement, use toParentMediaElement
183454        to find the controllingVideoElement.
183455        * accessibility/AccessibilityMediaControls.cpp:
183456        (WebCore::AccessibilityMediaControlsContainer::controllingVideoElement):
183457
183458        Pass the MediaController or the HTMLMediaElement when setting up the elements controls.
183459        * html/HTMLMediaElement.cpp:
183460        (WebCore::HTMLMediaElement::createMediaControls):
183461        (WebCore::HTMLMediaElement::setMediaController):
183462
183463        The following functions have only constructor changes:
183464        * html/shadow/MediaControlElements.cpp:
183465        (WebCore::MediaControlElement::MediaControlElement):
183466        (WebCore::MediaControlPanelElement::MediaControlPanelElement):
183467        (WebCore::MediaControlPanelElement::create):
183468        (WebCore::MediaControlTimelineContainerElement::MediaControlTimelineContainerElement):
183469        (WebCore::MediaControlTimelineContainerElement::create):
183470        (WebCore::MediaControlVolumeSliderContainerElement::MediaControlVolumeSliderContainerElement):
183471        (WebCore::MediaControlVolumeSliderContainerElement::create):
183472        (WebCore::MediaControlStatusDisplayElement::MediaControlStatusDisplayElement):
183473        (WebCore::MediaControlStatusDisplayElement::create):
183474        (WebCore::MediaControlInputElement::MediaControlInputElement):
183475        (WebCore::MediaControlMuteButtonElement::MediaControlMuteButtonElement):
183476        (WebCore::MediaControlMuteButtonElement::defaultEventHandler):
183477        (WebCore::MediaControlPanelMuteButtonElement::MediaControlPanelMuteButtonElement):
183478        (WebCore::MediaControlPanelMuteButtonElement::create):
183479        (WebCore::MediaControlVolumeSliderMuteButtonElement::MediaControlVolumeSliderMuteButtonElement):
183480        (WebCore::MediaControlVolumeSliderMuteButtonElement::create):
183481        (WebCore::MediaControlPlayButtonElement::MediaControlPlayButtonElement):
183482        (WebCore::MediaControlPlayButtonElement::create):
183483        (WebCore::MediaControlSeekButtonElement::MediaControlSeekButtonElement):
183484        (WebCore::MediaControlSeekForwardButtonElement::MediaControlSeekForwardButtonElement):
183485        (WebCore::MediaControlSeekForwardButtonElement::create):
183486        (WebCore::MediaControlSeekBackButtonElement::MediaControlSeekBackButtonElement):
183487        (WebCore::MediaControlSeekBackButtonElement::create):
183488        (WebCore::MediaControlRewindButtonElement::MediaControlRewindButtonElement):
183489        (WebCore::MediaControlRewindButtonElement::create):
183490        (WebCore::MediaControlReturnToRealtimeButtonElement::MediaControlReturnToRealtimeButtonElement):
183491        (WebCore::MediaControlReturnToRealtimeButtonElement::create):
183492        (WebCore::MediaControlToggleClosedCaptionsButtonElement::MediaControlToggleClosedCaptionsButtonElement):
183493        (WebCore::MediaControlToggleClosedCaptionsButtonElement::create):
183494        (WebCore::MediaControlTimelineElement::MediaControlTimelineElement):
183495        (WebCore::MediaControlTimelineElement::create):
183496        (WebCore::MediaControlVolumeSliderElement::MediaControlVolumeSliderElement):
183497        (WebCore::MediaControlVolumeSliderElement::create):
183498        (WebCore::MediaControlVolumeSliderElement::defaultEventHandler):
183499        (WebCore::MediaControlFullscreenVolumeSliderElement::MediaControlFullscreenVolumeSliderElement):
183500        (WebCore::MediaControlFullscreenVolumeSliderElement::create):
183501        (WebCore::MediaControlFullscreenButtonElement::MediaControlFullscreenButtonElement):
183502        (WebCore::MediaControlFullscreenButtonElement::create):
183503        (WebCore::MediaControlFullscreenVolumeMinButtonElement::MediaControlFullscreenVolumeMinButtonElement):
183504        (WebCore::MediaControlFullscreenVolumeMinButtonElement::create):
183505        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::MediaControlFullscreenVolumeMaxButtonElement):
183506        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::create):
183507        (WebCore::MediaControlTimeDisplayElement::MediaControlTimeDisplayElement):
183508        (WebCore::MediaControlTimeRemainingDisplayElement::create):
183509        (WebCore::MediaControlTimeRemainingDisplayElement::MediaControlTimeRemainingDisplayElement):
183510        (WebCore::MediaControlCurrentTimeDisplayElement::create):
183511        (WebCore::MediaControlCurrentTimeDisplayElement::MediaControlCurrentTimeDisplayElement):
183512        * html/shadow/MediaControlRootElement.cpp:
183513        (WebCore::MediaControlRootElement::MediaControlRootElement):
183514        (WebCore::MediaControls::create):
183515        (WebCore::MediaControlRootElement::create):
183516        * html/shadow/MediaControlRootElement.h:
183517        * html/shadow/MediaControls.cpp:
183518        (WebCore::MediaControls::MediaControls):
183519        * html/shadow/MediaControls.h:
183520
183521        The following functions now call MediaControllerInterface instead of HTMLMediaElement directly:
183522        * html/shadow/MediaControlElements.h:
183523        (WebCore::MediaControlStatusDisplayElement::update):
183524        (WebCore::MediaControlMuteButtonElement::updateDisplayType):
183525        (WebCore::MediaControlPlayButtonElement::defaultEventHandler):
183526        (WebCore::MediaControlPlayButtonElement::updateDisplayType):
183527        (WebCore::MediaControlSeekButtonElement::startTimer):
183528        (WebCore::MediaControlSeekButtonElement::stopTimer):
183529        (WebCore::MediaControlSeekButtonElement::nextRate):
183530        (WebCore::MediaControlSeekButtonElement::seekTimerFired):
183531        (WebCore::MediaControlRewindButtonElement::defaultEventHandler):
183532        (WebCore::MediaControlReturnToRealtimeButtonElement::defaultEventHandler):
183533        (WebCore::MediaControlToggleClosedCaptionsButtonElement::defaultEventHandler):
183534        (WebCore::MediaControlToggleClosedCaptionsButtonElement::updateDisplayType):
183535        (WebCore::MediaControlTimelineElement::defaultEventHandler):
183536        (WebCore::MediaControlFullscreenButtonElement::defaultEventHandler):
183537        (WebCore::MediaControlFullscreenVolumeMinButtonElement::defaultEventHandler):
183538        (WebCore::MediaControlFullscreenVolumeMaxButtonElement::defaultEventHandler):
183539        * html/shadow/MediaControlRootElement.cpp:
183540        (WebCore::MediaControlRootElement::reset):
183541        (WebCore::MediaControlRootElement::playbackStarted):
183542        (WebCore::MediaControlRootElement::playbackProgressed):
183543        (WebCore::MediaControlRootElement::playbackStopped):
183544        (WebCore::MediaControlRootElement::updateTimeDisplay):
183545        (WebCore::MediaControlRootElement::loadedMetadata):
183546        (WebCore::MediaControlRootElement::changedVolume):
183547        (WebCore::MediaControlRootElement::enteredFullscreen):
183548        (WebCore::MediaControlRootElement::showVolumeSlider):
183549        (WebCore::MediaControlRootElement::defaultEventHandler):
183550        (WebCore::MediaControlRootElement::startHideFullscreenControlsTimer):
183551        (WebCore::MediaControlRootElement::hideFullscreenControlsTimerFired):
183552        * html/shadow/MediaControlRootElementChromium.cpp:
183553        (WebCore::MediaControlRootElementChromium::MediaControlRootElementChromium):
183554        (WebCore::MediaControls::create):
183555        (WebCore::MediaControlRootElementChromium::create):
183556        (WebCore::MediaControlRootElementChromium::reset):
183557        (WebCore::MediaControlRootElementChromium::playbackStarted):
183558        (WebCore::MediaControlRootElementChromium::playbackProgressed):
183559        (WebCore::MediaControlRootElementChromium::playbackStopped):
183560        (WebCore::MediaControlRootElementChromium::updateTimeDisplay):
183561        (WebCore::MediaControlRootElementChromium::defaultEventHandler):
183562        (WebCore::MediaControlRootElementChromium::changedVolume):
183563        (WebCore::MediaControlRootElementChromium::showVolumeSlider):
183564        * html/shadow/MediaControlRootElementChromium.h:
183565
183566        The following functions set the current MediaControllerInterface.
183567        * html/shadow/MediaControlRootElement.cpp:
183568        (WebCore::MediaControlRootElement::setMediaController):
183569        * html/shadow/MediaControlElements.h:
183570        (WebCore::MediaControlElement::setMediaController):
183571        (WebCore::MediaControlElement::mediaController):
183572        (WebCore::MediaControlInputElement::setMediaController):
183573        (WebCore::MediaControlInputElement::mediaController):
183574        * html/shadow/MediaControlRootElementChromium.cpp:
183575        (WebCore::MediaControlRootElementChromium::setMediaController):
183576
1835772011-12-02  Stephen Chenney  <schenney@chromium.org>
183578
183579        REGRESSION (r91125): Polyline tool in google docs is broken
183580        https://bugs.webkit.org/show_bug.cgi?id=65796
183581
183582        Reviewed by Darin Adler.
183583
183584        Work around a bug in CoreGraphics, that caused incorrect bounds for paths
183585        consisting only of move-to elements. This causes problems in SVG, when the enormous
183586        bounds prevented the drawing of things behind.
183587
183588        Tests: svg/custom/path-moveto-only-rendering.svg
183589               svg/custom/subpaths-moveto-only-rendering.svg
183590
183591        * platform/graphics/cg/PathCG.cpp:
183592        (WebCore::PathIsEmptyOrSingleMoveTester::PathIsEmptyOrSingleMoveTester): Class to
183593        test for isEmpty accoridng ot the same rules as other platforms.
183594        (WebCore::PathIsEmptyOrSingleMoveTester::isEmpty): Query the result
183595        (WebCore::PathIsEmptyOrSingleMoveTester::testPathElement): Path iterator method
183596        (WebCore::PathHasOnlyMoveToTester::PathHasOnlyMoveToTester): Class to test whether a
183597        path contains only move-to elements, and hence should have null bounds.
183598        (WebCore::PathHasOnlyMoveToTester::hasOnlyMoveTo): Query the result
183599        (WebCore::PathHasOnlyMoveToTester::testPathElement): Path iterator method.
183600        (WebCore::Path::boundingRect): Modified to check for move-to only paths
183601        (WebCore::Path::fastBoundingRect): Modified to check for move-to only paths
183602        (WebCore::Path::isEmpty): Now uses the method that matches other platforms.
183603
1836042011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
183605
183606        Unreviewed, rolling out r101794.
183607        http://trac.webkit.org/changeset/101794
183608        https://bugs.webkit.org/show_bug.cgi?id=73656
183609
183610        Broke win build (Requested by vsevik on #webkit).
183611
183612        * bindings/js/ScriptCallStackFactory.cpp:
183613        * bindings/js/ScriptCallStackFactory.h:
183614        * bindings/scripts/CodeGeneratorJS.pm:
183615        (GenerateParametersCheck):
183616        * bindings/scripts/CodeGeneratorV8.pm:
183617        (GenerateFunctionCallback):
183618        * bindings/scripts/test/JS/JSTestObj.cpp:
183619        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
183620        * bindings/scripts/test/V8/V8TestObj.cpp:
183621        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
183622        * bindings/v8/ScriptCallStackFactory.cpp:
183623        * bindings/v8/ScriptCallStackFactory.h:
183624        * inspector/InspectorInstrumentation.cpp:
183625        * inspector/InspectorInstrumentation.h:
183626        * inspector/WorkerInspectorController.h:
183627        * page/Console.cpp:
183628        (WebCore::Console::shouldCaptureFullStackTrace):
183629        * page/Console.h:
183630
1836312011-12-02  Raphael Kubo da Costa  <kubo@profusion.mobi>
183632
183633        Unreviewed, revert r101347.
183634        https://bugs.webkit.org/show_bug.cgi?id=73580
183635
183636        It breaks the linking of Tools/ targets due to missing functions.
183637
183638        * PlatformEfl.cmake:
183639        * platform/graphics/GraphicsLayer.cpp:
183640        * platform/graphics/GraphicsLayer.h:
183641        * platform/graphics/efl/GraphicsLayerEfl.cpp: Added.
183642        (WebCore::GraphicsLayer::create):
183643        (WebCore::GraphicsLayerEfl::GraphicsLayerEfl):
183644        (WebCore::GraphicsLayerEfl::~GraphicsLayerEfl):
183645        (WebCore::GraphicsLayerEfl::setNeedsDisplay):
183646        (WebCore::GraphicsLayerEfl::setNeedsDisplayInRect):
183647        * platform/graphics/efl/GraphicsLayerEfl.h: Added.
183648        * platform/graphics/texmap/TextureMapperNode.cpp:
183649        (WebCore::solveCubicBezierFunction):
183650        (WebCore::solveStepsFunction):
183651
1836522011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
183653
183654        Web Inspector: Extract default call stack creation and check for front-end from console.
183655        https://bugs.webkit.org/show_bug.cgi?id=73566
183656
183657        Reviewed by Yury Semikhatsky.
183658
183659        * bindings/js/ScriptCallStackFactory.cpp:
183660        (WebCore::createScriptCallStack):
183661        * bindings/js/ScriptCallStackFactory.h:
183662        * bindings/scripts/CodeGeneratorJS.pm:
183663        (GenerateParametersCheck):
183664        * bindings/scripts/CodeGeneratorV8.pm:
183665        (GenerateFunctionCallback):
183666        * bindings/scripts/test/JS/JSTestObj.cpp:
183667        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
183668        * bindings/scripts/test/V8/V8TestObj.cpp:
183669        (WebCore::TestObjInternal::customArgsAndExceptionCallback):
183670        * bindings/v8/ScriptCallStackFactory.cpp:
183671        (WebCore::createScriptCallStack):
183672        * bindings/v8/ScriptCallStackFactory.h:
183673        * inspector/InspectorInstrumentation.cpp:
183674        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
183675        * inspector/InspectorInstrumentation.h:
183676        (WebCore::InspectorInstrumentation::hasFrontendForScriptContext):
183677        * inspector/WorkerInspectorController.h:
183678        (WebCore::WorkerInspectorController::hasFrontend):
183679        * page/Console.cpp:
183680        * page/Console.h:
183681
1836822011-12-02  Gavin Peters  <gavinp@chromium.org>
183683
183684        Remove instrumentation tracking a fixed bug
183685        https://bugs.webkit.org/show_bug.cgi?id=73471
183686
183687        The underlying bug is fixed (bug 72068), and this instrumentation was intrusive and using
183688        memory, plus the conditional compilation made me sad.
183689
183690        Reviewed by Nate Chapin.
183691
183692        No new tests.
183693
183694        * dom/ScriptElement.cpp:
183695        (WebCore::ScriptElement::ScriptElement):
183696        (WebCore::ScriptElement::requestScript):
183697        (WebCore::ScriptElement::stopLoadRequest):
183698        (WebCore::ScriptElement::notifyFinished):
183699        * dom/ScriptElement.h:
183700        * dom/ScriptRunner.cpp:
183701        (WebCore::ScriptRunner::queueScriptForExecution):
183702
1837032011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>
183704
183705        Web Inspector: Split view works weirdly in network panel when resizing, showing/hiding main element.
183706        https://bugs.webkit.org/show_bug.cgi?id=73650
183707
183708        Reviewed by Pavel Feldman.
183709
183710        * inspector/front-end/SplitView.js:
183711        (WebInspector.SplitView.prototype._updateResizer):
183712        (WebInspector.SplitView.prototype.hideMainElement):
183713        (WebInspector.SplitView.prototype.showMainElement):
183714        (WebInspector.SplitView.prototype.onResize):
183715        (WebInspector.SplitView.prototype._restoreSidebarWidth):
183716
1837172011-12-02  Sheriff Bot  <webkit.review.bot@gmail.com>
183718
183719        Unreviewed, rolling out r101783.
183720        http://trac.webkit.org/changeset/101783
183721        https://bugs.webkit.org/show_bug.cgi?id=73652
183722
183723        Broke chromium win build. (Requested by vsevik on #webkit).
183724
183725        * WebCore.gyp/WebCore.gyp:
183726        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
183727        (main):
183728        * WebCore.gypi:
183729        * bindings/scripts/generate-bindings.pl:
183730        * page/DOMWindow.idl:
183731        * webaudio/DOMWindowWebAudio.idl: Removed.
183732
1837332011-11-28  Alexander Pavlov  <apavlov@chromium.org>
183734
183735        Inline non-replaced elements are reported to have zero width and height
183736        https://bugs.webkit.org/show_bug.cgi?id=61117
183737
183738        Reviewed by Antti Koivisto.
183739
183740        According to http://www.w3.org/TR/CSS21/visudet.html, the "width" and "height" properties
183741        do not apply for inline non-replaced elements and should have their initial value of "auto"
183742        as their computed values.
183743
183744        * css/CSSComputedStyleDeclaration.cpp:
183745        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
183746
1837472011-12-02  Sami Kyostila  <skyostil@chromium.org>
183748
183749        [chromium] Make CCInputHandler scrolling stateful
183750        https://bugs.webkit.org/show_bug.cgi?id=73345
183751
183752        This change makes the scrolling part of CCInputHandler stateful by
183753        replacing scrollRootLayer() with scrollBegin(), scrollBy() and
183754        scrollEnd(). This is done in preparation for scrollable sublayers.
183755        Specifically, scrollBegin() will allow CCLayerTreeHostImpl to perform
183756        input event hit testing to find the layer to be scrolled.
183757
183758        Reviewed by Steve Block.
183759
183760        Tested in CCLayerTreeHostImplTest.
183761
183762        * platform/graphics/chromium/cc/CCInputHandler.h:
183763        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
183764        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
183765        (WebCore::CCLayerTreeHostImpl::currentTimeMs):
183766        (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
183767        (WebCore::findInnermostScrollableLayerAtPoint):
183768        (WebCore::CCLayerTreeHostImpl::scrollBegin):
183769        (WebCore::CCLayerTreeHostImpl::scrollBy):
183770        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
183771
1837722011-12-02  Kentaro Hara  <haraken@chromium.org>
183773
183774        Use the [Supplemental] IDL for webaudio attributes in Chromium
183775        https://bugs.webkit.org/show_bug.cgi?id=73394
183776
183777        Reviewed by Adam Barth.
183778
183779        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
183780        declarations of webaudio from DOMWindow.idl into a new IDL file
183781        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
183782        feature (aka a module).
183783
183784        - This patch changes the build flow of WebCore.gyp as follows:
183785
183786            Previous build flow:
183787                foreach $idl (all IDL files) {
183788                    generate-bindings.pl depends on $idl;
183789                    generate-bindings.pl reads $idl;
183790                    generate-bindings.pl generates .h and .cpp files for $idl;
183791                }
183792
183793            New build flow (See the discussions in bug 72138 for more details):
183794                resolve-supplemental.pl depends on all IDL files;
183795                resolve-supplemental.pl reads all IDL files;
183796                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
183797                resolve-supplemental.pl outputs supplemental_dependency.tmp;
183798                foreach $idl (all IDL files) {
183799                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
183800                    generate-bindings.pl reads $idl;
183801                    generate-bindings.pl reads supplemental_dependency.tmp;
183802                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
183803                }
183804
183805        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
183806        will be removed after build scripts for all platforms support the [Supplemental] IDL.
183807        The motivation for the [Supplemented] IDL is as follows:
183808
183809        In order to support the [Supplemental] IDL, we need to
183810        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
183811        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
183812
183813        This build flow requires a change on the following build scripts,
183814        but changing all the build scripts all at once without any regression is too difficult:
183815
183816            - DerivedSources.make
183817            - DerivedSources.pri
183818            - GNUmakefile.am
183819            - PlatformBlackBerry.cmake
183820            - UseJSC.cmake
183821            - UseV8.cmake
183822            - WebCore.vcproj/MigrateScripts
183823            - WebCore.vcproj/WebCore.vcproj
183824            - bindings/gobject/GNUmakefile.am
183825            - WebCore.gyp/WebCore.gyp
183826
183827        Thus, we are planning to change the build scripts one by one, which implies that
183828        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
183829        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
183830        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
183831        in another IDL file somewhere, like this:
183832
183833            DOMWindowWebAudio.idl:
183834                interface [
183835                    Supplemental=DOMWindow
183836                ] DOMWindowWebAudio {
183837                    attribute attr1;
183838                    attribute attr2;
183839                };
183840
183841            DOMWindow.idl:
183842                interface [
183843                ] DOMWindow {
183844                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
183845                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
183846                    attribute attr3;
183847                    attribute attr4;
183848                };
183849
183850        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
183851
183852            - If a given build script supports the [Supplemental] IDL,
183853            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
183854            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
183855            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
183856            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
183857
183858        Tests: webaudio/*
183859
183860        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
183861        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
183862        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
183863        * WebCore.gypi: Added DOMWindowWebAudio.idl.
183864        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
183865        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
183866        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
183867
1838682011-12-02  Vsevolod Vlasov  <vsevik@chromium.org>
183869
183870        Web Inspector: Network panel row highlighting does not work.
183871        https://bugs.webkit.org/show_bug.cgi?id=73644
183872
183873        Reviewed by Pavel Feldman.
183874
183875        * inspector/front-end/networkLogView.css:
183876        (.network-log-grid tr.highlighted-row):
183877        (from):
183878        (to):
183879
1838802011-12-02  Pavel Feldman  <pfeldman@google.com>
183881
183882        Not reviewed: remove console.timeStamp from the inspector backend dispatcher.
183883
183884        * inspector/front-end/InspectorBackend.js:
183885        (InspectorBackendClass.prototype.sendMessageObjectToBackend):
183886
1838872011-12-02  Hajime Morrita  <morrita@chromium.org>
183888
183889        Unreviewed, rolling out r101751 and r101775.
183890        http://trac.webkit.org/changeset/101751
183891        http://trac.webkit.org/changeset/101775
183892        https://bugs.webkit.org/show_bug.cgi?id=73191
183893
183894        breaks Windows build
183895
183896        * ForwardingHeaders/runtime/JSExportMacros.h: Removed.
183897        * ForwardingHeaders/wtf/ExportMacros.h: Removed.
183898        * WebCore.vcproj/QTMovieWinCommon.vsprops:
183899        * WebCore.xcodeproj/project.pbxproj:
183900        * config.h:
183901        * platform/PlatformExportMacros.h: Removed.
183902
1839032011-12-02  Pavel Feldman  <pfeldman@google.com>
183904
183905        Web Inspector: introduce backend stub generation from JSON for the standalone development / remote front-ends.
183906        https://bugs.webkit.org/show_bug.cgi?id=73636
183907
183908        Reviewed by Yury Semikhatsky.
183909
183910        * inspector/front-end/DOMStorage.js:
183911        * inspector/front-end/Database.js:
183912        * inspector/front-end/InspectorBackend.js:
183913        (InspectorBackendClass):
183914        (InspectorBackendClass.prototype.registerCommand):
183915        (InspectorBackendClass.prototype.registerEvent):
183916        (InspectorBackendClass.prototype.runAfterPendingDispatches):
183917        (InspectorBackendClass.prototype.loadFromJSONIfNeeded):
183918        * inspector/front-end/TimelineManager.js:
183919        * inspector/front-end/inspector.js:
183920
1839212011-12-02  MORITA Hajime  <morrita@google.com>
183922
183923        Unreviewed, another attempt to build fix for r101751:
183924        Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.
183925
183926        * WebCore.vcproj/QTMovieWinCommon.vsprops:
183927
1839282011-12-02  Hajime Morrita  <morrita@chromium.org>
183929
183930        Unreviewed, rolling out r101772.
183931        http://trac.webkit.org/changeset/101772
183932
183933        It didn't fix the build failure
183934
183935        * WebCore.vcproj/QTMovieWinCommon.vsprops:
183936
1839372011-12-02  MORITA Hajime  <morrita@google.com>
183938
183939        Unreviewed attempt to build fix for r101751:
183940        Adding an include path to make PlatformExportMacros.h visibile from QTMovieWin.
183941
183942        * WebCore.vcproj/QTMovieWinCommon.vsprops:
183943
1839442011-12-01  Andrey Kosyakov  <caseq@chromium.org>
183945
183946        Web Inspector: [Extensions API] pass preferred resource line number to extension's open resource handler
183947        https://bugs.webkit.org/show_bug.cgi?id=73084
183948
183949        Reviewed by Pavel Feldman.
183950
183951        * inspector/front-end/ExtensionAPI.js:
183952        (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler.else.callbackWrapper):
183953        (injectedExtensionAPI.Panels.prototype.setOpenResourceHandler):
183954        * inspector/front-end/ExtensionServer.js:
183955        (WebInspector.ExtensionServer.prototype._handleOpenURL):
183956        * inspector/front-end/HandlerRegistry.js:
183957        (get WebInspector.HandlerRegistry.prototype.set dispatch):
183958        * inspector/front-end/JavaScriptSourceFrame.js:
183959        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
183960        * inspector/front-end/ResourcesPanel.js:
183961        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
183962        * inspector/front-end/SourceFrame.js:
183963        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
183964        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
183965        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateLineGutterContextMenu):
183966        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateTextAreaContextMenu):
183967        * inspector/front-end/TextViewer.js:
183968        (WebInspector.TextViewer.prototype._contextMenu):
183969        (WebInspector.TextViewerDelegate.prototype.populateLineGutterContextMenu):
183970        (WebInspector.TextViewerDelegate.prototype.populateTextAreaContextMenu):
183971        * inspector/front-end/externs.js:
183972        (WebInspector.populateResourceContextMenu):
183973        * inspector/front-end/inspector.js:
183974        (WebInspector.populateResourceContextMenu):
183975        (WebInspector._showAnchorLocation):
183976
1839772011-12-01  Nayan Kumar K  <nayankk@motorola.com>
183978
183979        [GTK] Add compilation options to enable/disable Accelerated Compositing and to choose texture mapper implementation.
183980        https://bugs.webkit.org/show_bug.cgi?id=73458
183981
183982        Reviewed by Martin Robinson.
183983
183984        No new tests added as this patch doesn't affect any functionality.
183985
183986        * GNUmakefile.am: Guard the include files.
183987        * GNUmakefile.list.am: Guard the compilation of few files.
183988        * platform/graphics/GraphicsLayer.h: Guard the typedef of GraphicsLayer.
183989
1839902011-12-01  Andrey Kosyakov  <caseq@chromium.org>
183991
183992        Web Inspector: use object properties, not element attributes to pass preferred panel/line/request id in linkified anchors
183993        https://bugs.webkit.org/show_bug.cgi?id=73556
183994
183995        Reviewed by Pavel Feldman.
183996
183997        * inspector/front-end/AuditFormatters.js:
183998        (WebInspector.AuditFormatters.resourceLink):
183999        * inspector/front-end/ConsoleMessage.js:
184000        (WebInspector.ConsoleMessageImpl.prototype._formatMessage.else.else.linkifier):
184001        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
184002        * inspector/front-end/DebuggerPresentationModel.js:
184003        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
184004        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
184005        * inspector/front-end/NetworkPanel.js:
184006        (WebInspector.NetworkPanel.prototype._resourceByAnchor):
184007        (WebInspector.NetworkDataGridNode.prototype._refreshInitiatorCell):
184008        * inspector/front-end/ResourceUtils.js:
184009        (WebInspector.linkifyStringAsFragment):
184010        (WebInspector.linkifyResourceAsNode):
184011        (WebInspector.linkifyRequestAsNode):
184012        * inspector/front-end/ResourcesPanel.js:
184013        (WebInspector.ResourcesPanel.prototype.showAnchorLocation):
184014        * inspector/front-end/inspector.js:
184015        (WebInspector._showAnchorLocation):
184016
1840172011-12-02  Pavel Feldman  <pfeldman@google.com>
184018
184019        Web Inspector: refactor InspectorBackendDispatcher so that it does not use JSON-serialized command templates.
184020        https://bugs.webkit.org/show_bug.cgi?id=73569
184021
184022        Reviewed by Yury Semikhatsky.
184023
184024        * inspector/CodeGeneratorInspector.py:
184025        (Generator.process_command):
184026        * inspector/Inspector.json:
184027        * inspector/front-end/InspectorBackend.js:
184028        (InspectorBackendClass.prototype._wrap.callback):
184029        (InspectorBackendClass.prototype._wrap):
184030        (InspectorBackendClass.prototype.registerCommand):
184031        (InspectorBackendClass.prototype._invoke):
184032        (InspectorBackendClass.prototype._sendMessageToBackend):
184033        (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject):
184034
1840352011-12-02  Yosifumi Inoue  <yosin@chromium.org>
184036
184037        Range sliders and spin buttons don't work with multi-columns.
184038        https://bugs.webkit.org/show_bug.cgi?id=70898
184039
184040        Reviewed by Dan Bernstein.
184041
184042        This patch makes RenderBlock::hitTestColumns and
184043        RenderBoxModelObject::mapAbsoluteToLocal to handle point
184044        in multi-column same logic.
184045
184046        In multi-column, coordinate of box model rendering object is different
184047        from absolute coordinate.. Columns in box model rendering object spans
184048        vertically rather than horizontally.
184049
184050        When absolute point is represented in (column[i]+dx, column[0]+dy),
184051        it is (column[0]+dx, column[0] + columnHeight + dy) in box model
184052        rendering object coordinate.
184053
184054        Tests: fast/events/document-elementFromPoint.html
184055               fast/events/offsetX-offsetY.html
184056               fast/forms/number/spin-in-multi-column.html
184057               fast/forms/range/slider-in-multi-column.html
184058               fast/forms/select/listbox-in-multi-column.html
184059
184060        * rendering/RenderBlock.cpp:
184061        (WebCore::ColumnRectIterator::ColumnRectIterator): Added
184062        (WebCore::ColumnRectIterator::advance): Added
184063        (WebCore::ColumnRectIterator::columnRect): Added
184064        (WebCore::ColumnRectIterator::hasMore): Added
184065        (WebCore::ColumnRectIterator::adjust): Added
184066        (WebCore::ColumnRectIterator::update): Added
184067        (WebCore::RenderBlock::hitTestColumns): Use ColumnRectIterator.
184068        (WebCore::RenderBlock::adjustForColumnRect): Added
184069        * rendering/RenderBlock.h: Add adjustForColumnRect.
184070        * rendering/RenderBox.cpp:
184071        (WebCore::RenderBox::mapAbsoluteToLocalPoint): Call RenderBoxModelObject::mapAbsoluteToLocalPoint.
184072        * rendering/RenderBoxModelObject.cpp:
184073        (WebCore::RenderBoxModelObject::mapAbsoluteToLocalPoint): Move from RenderInline::mapAbsoluteToLocalPoint and call RenderBlock::adjustForColumnRect.
184074        * rendering/RenderBoxModelObject.h: add mapAbsoluteToLocalPoint.
184075        * rendering/RenderInline.cpp: Move mapAbsoluteToLocalPoint to RenderBoxModelObject.
184076        * rendering/RenderInline.h: remove mapAbsoluteToLocalPoint.
184077
1840782011-12-02  Pavel Feldman  <pfeldman@google.com>
184079
184080        InspectorController destruction order leads to use-after-free
184081        https://bugs.webkit.org/show_bug.cgi?id=73582
184082
184083        Reviewed by Yury Semikhatsky.
184084
184085        * inspector/InspectorBaseAgent.h:
184086        (WebCore::InspectorBaseAgentInterface::discardAgent):
184087        * inspector/InspectorCSSAgent.cpp:
184088        (WebCore::InspectorCSSAgent::~InspectorCSSAgent):
184089        (WebCore::InspectorCSSAgent::discardAgent):
184090        * inspector/InspectorCSSAgent.h:
184091        * inspector/InspectorController.cpp:
184092        (WebCore::InspectorController::~InspectorController):
184093        * inspector/InspectorDOMDebuggerAgent.cpp:
184094        (WebCore::InspectorDOMDebuggerAgent::~InspectorDOMDebuggerAgent):
184095        (WebCore::InspectorDOMDebuggerAgent::discardAgent):
184096        * inspector/InspectorDOMDebuggerAgent.h:
184097
1840982011-12-02  Leo Yang  <leo.yang@torchmobile.com.cn>
184099
184100        image element with src attribute can't be replaced by content: url() style
184101        https://bugs.webkit.org/show_bug.cgi?id=42840
184102
184103        ImageLoader were updating renderer even if the renderer's image is
184104        style generated content. This was wrong because if an image element
184105        with src attribute and style="content: url(...)" attribute the
184106        src image might override content image. The correct behavior should
184107        be showing content image.
184108
184109        This patch is differentiating style generated RenderImage from the
184110        normal RenderImage and keeps the RenderImageSource untouched if the
184111        renderer is generated content.
184112
184113        Reviewed by Darin Adler.
184114
184115        Test: fast/images/image-css3-content-data.html
184116
184117        * loader/ImageLoader.cpp:
184118        (WebCore::ImageLoader::renderImageResource):
184119        * rendering/RenderImage.cpp:
184120        (WebCore::RenderImage::RenderImage):
184121        * rendering/RenderImage.h:
184122        (WebCore::RenderImage::setIsGeneratedContent):
184123        (WebCore::RenderImage::isGeneratedContent):
184124        * rendering/RenderObject.cpp:
184125        (WebCore::RenderObject::createObject):
184126
1841272011-12-01  David Levin  <levin@chromium.org>
184128
184129        Add a way to automatically size a single frame to fit its content.
184130        https://bugs.webkit.org/show_bug.cgi?id=73420
184131
184132        Reviewed by Dmitry Titov.
184133
184134        No new functionality exposed so no new tests. (There is a Chromium
184135        specific test in https://bugs.webkit.org/show_bug.cgi?id=73058.)
184136
184137        * page/FrameView.cpp:
184138        (WebCore::FrameView::FrameView): Initialized the new variables.
184139        (WebCore::FrameView::layout):
184140        (WebCore::FrameView::autoSizeIfEnabled):
184141        (WebCore::FrameView::enableAutoSizeMode):
184142        * page/FrameView.h:
184143
1841442011-12-01  Hajime Morrita  <morrita@chromium.org>
184145
184146        JS_INLINE and WTF_INLINE should be visible from WebCore
184147        https://bugs.webkit.org/show_bug.cgi?id=73191
184148
184149        Reviewed by Kevin Ollivier.
184150
184151        - Moved export related definitions from config.h
184152          to ExportMacros.h, JSExportMacros.h and PlatformExportMacros.h
184153        - Added forwarding headers which are referred from config.h
184154
184155        No new tests. Only build related changes.
184156
184157        * ForwardingHeaders/runtime/JSExportMacros.h: Added.
184158        * ForwardingHeaders/wtf/ExportMacros.h: Added.
184159        * WebCore.xcodeproj/project.pbxproj:
184160        * config.h:
184161        * platform/PlatformExportMacros.h: Copied from Source/JavaScriptCore/wtf/ExportMacros.h.
184162
1841632011-12-01  Jon Lee  <jonlee@apple.com>
184164
184165        [WK2] Add further support for notifications
184166        https://bugs.webkit.org/show_bug.cgi?id=73572
184167        <rdar://problem/10472195>
184168
184169        Reviewed by Darin Adler.
184170
184171        * WebCore.exp.in: Export constructor and dispatch functions
184172        * dom/EventNames.h: Add show event.
184173        * notifications/Notification.cpp:
184174        (WebCore::Notification::show): For the Mac platform, we just forward the show() call to the
184175        notification client and update the state, because we cannot get synchronous acknowledgment that the
184176        notification got delivered.
184177        (WebCore::Notification::dispatchShowEvent): Create simple events and dispatch to the notification.
184178        (WebCore::Notification::dispatchClickEvent): Ditto.
184179        (WebCore::Notification::dispatchCloseEvent): Ditto.
184180        (WebCore::Notification::dispatchErrorEvent): Ditto.
184181        * notifications/Notification.h: Add dispatch functions.
184182        * notifications/Notification.idl: Add onshow event listener. The ondisplay event listener should be
184183        removed when implementations change the event listener to onshow.
184184
1841852011-12-01  Max Vujovic  <mvujovic@adobe.com>
184186
184187        Focus ring of imagemap's area element does not scale when CSS zoom style is applied
184188        https://bugs.webkit.org/show_bug.cgi?id=73595
184189
184190        Reviewed by Darin Adler.
184191
184192        Tests: fast/images/imagemap-focus-ring-zoom-style-expected.html
184193               fast/images/imagemap-focus-ring-zoom-style.html
184194
184195        * html/HTMLAreaElement.cpp:
184196        (WebCore::HTMLAreaElement::computePath):
184197        The computePath method now uses the RenderObject's effectiveZoom 
184198        instead of the Frame's page zoom to compute the path for the area
184199        element's focus ring.
184200
1842012011-12-01  Kent Tamura  <tkent@chromium.org>
184202
184203        REGRESSION(r90971): Placeholder text of input control is rendered
184204        over positioned elements with z-index:0.
184205        https://bugs.webkit.org/show_bug.cgi?id=67408
184206
184207        Reviewed by Darin Adler.
184208
184209        The bug was caused by "position:relative" in the default style of
184210        -webkit-input-placeholder. If there were other positioned elements
184211        with z-index:0, a placeholder might be rendered over them.
184212
184213        "position:relative" is not needed because RenderTextControlSingleLine
184214        and RenderTextControlMultipleLine lay out the placeholder renderer by
184215        custom layout code.
184216
184217        Tests: fast/forms/placeholder-with-positioned-element.html
184218
184219        * css/html.css:
184220        (::-webkit-input-placeholder): Remove position:relative.
184221
1842222011-12-01  Andreas Kling  <kling@webkit.org>
184223
184224        CSSMutableStyleDeclaration: Removed unused multiLength argument in setLengthProperty().
184225        <http://webkit.org/b/73602>
184226
184227        Reviewed by Darin Adler.
184228
184229        * css/CSSMutableStyleDeclaration.cpp:
184230        (WebCore::CSSMutableStyleDeclaration::setLengthProperty):
184231        * css/CSSMutableStyleDeclaration.h:
184232
1842332011-12-01  Kentaro Hara  <haraken@chromium.org>
184234
184235        Unreviewed, rolling out r101737.
184236        http://trac.webkit.org/changeset/101737
184237        https://bugs.webkit.org/show_bug.cgi?id=73394
184238
184239        Chromium/Mac and Chromium/Win build are broken
184240
184241        * WebCore.gyp/WebCore.gyp:
184242        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
184243        (main):
184244        * WebCore.gypi:
184245        * bindings/scripts/generate-bindings.pl:
184246        * page/DOMWindow.idl:
184247        * webaudio/DOMWindowWebAudio.idl: Removed.
184248
1842492011-12-01  Kentaro Hara  <haraken@chromium.org>
184250
184251        Use the [Supplemental] IDL for webaudio attributes in Chromium
184252        https://bugs.webkit.org/show_bug.cgi?id=73394
184253
184254        Reviewed by Adam Barth.
184255
184256        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
184257        declarations of webaudio from DOMWindow.idl into a new IDL file
184258        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
184259        feature (aka a module).
184260
184261        - This patch changes the build flow of WebCore.gyp as follows:
184262
184263            Previous build flow:
184264                foreach $idl (all IDL files) {
184265                    generate-bindings.pl depends on $idl;
184266                    generate-bindings.pl reads $idl;
184267                    generate-bindings.pl generates .h and .cpp files for $idl;
184268                }
184269
184270            New build flow (See the discussions in bug 72138 for more details):
184271                resolve-supplemental.pl depends on all IDL files;
184272                resolve-supplemental.pl reads all IDL files;
184273                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
184274                resolve-supplemental.pl outputs supplemental_dependency.tmp;
184275                foreach $idl (all IDL files) {
184276                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
184277                    generate-bindings.pl reads $idl;
184278                    generate-bindings.pl reads supplemental_dependency.tmp;
184279                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
184280                }
184281
184282        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
184283        will be removed after build scripts for all platforms support the [Supplemental] IDL.
184284        The motivation for the [Supplemented] IDL is as follows:
184285
184286        In order to support the [Supplemental] IDL, we need to
184287        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
184288        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
184289
184290        This build flow requires a change on the following build scripts,
184291        but changing all the build scripts all at once without any regression is too difficult:
184292
184293            - DerivedSources.make
184294            - DerivedSources.pri
184295            - GNUmakefile.am
184296            - PlatformBlackBerry.cmake
184297            - UseJSC.cmake
184298            - UseV8.cmake
184299            - WebCore.vcproj/MigrateScripts
184300            - WebCore.vcproj/WebCore.vcproj
184301            - bindings/gobject/GNUmakefile.am
184302            - WebCore.gyp/WebCore.gyp
184303
184304        Thus, we are planning to change the build scripts one by one, which implies that
184305        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
184306        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
184307        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
184308        in another IDL file somewhere, like this:
184309
184310            DOMWindowWebAudio.idl:
184311                interface [
184312                    Supplemental=DOMWindow
184313                ] DOMWindowWebAudio {
184314                    attribute attr1;
184315                    attribute attr2;
184316                };
184317
184318            DOMWindow.idl:
184319                interface [
184320                ] DOMWindow {
184321                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
184322                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
184323                    attribute attr3;
184324                    attribute attr4;
184325                };
184326
184327        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
184328
184329            - If a given build script supports the [Supplemental] IDL,
184330            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
184331            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
184332            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
184333            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
184334
184335        Tests: webaudio/*
184336
184337        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
184338        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
184339        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
184340        * WebCore.gypi: Added DOMWindowWebAudio.idl.
184341        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
184342        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
184343        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
184344
1843452011-12-01  Rafael Weinstein  <rafaelw@chromium.org>
184346
184347        [MutationObservers] StyleAttributeMutationScope shouldn't be implemented with static classes
184348        https://bugs.webkit.org/show_bug.cgi?id=73596
184349
184350        Reviewed by Ojan Vafai.
184351
184352        No tests needed. This patch is a minor refactor.
184353
184354        * css/CSSMutableStyleDeclaration.cpp:
184355
1843562011-12-01  Andreas Kling  <kling@webkit.org>
184357
184358        CSSMutableStyleDeclaration: Remove unused function setStringProperty().
184359        <http://webkit.org/b/73597>
184360
184361        Reviewed by Darin Adler.
184362
184363        * css/CSSMutableStyleDeclaration.cpp:
184364        * css/CSSMutableStyleDeclaration.h:
184365
1843662011-12-01  Ryosuke Niwa  <rniwa@webkit.org>
184367
184368        REGRESSION(r101268): Intermittent assertion failure in fast/block/child-not-removed-from-parent-lineboxes-crash.html
184369        https://bugs.webkit.org/show_bug.cgi?id=73250
184370
184371        Reviewed by Darin Adler.
184372
184373        Reset the position when exiting early in layoutRunsAndFloatsInRange.
184374
184375        No new tests because we don't have a reliable reproduction for this failure.
184376        However, the failure is caught by the existing fast/block/child-not-removed-from-parent-lineboxes-crash.html
184377        intermittently with about 30% probability.
184378
184379        * rendering/RenderBlockLineLayout.cpp:
184380        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
184381
1843822011-12-01  Shinya Kawanaka  <shinyak@google.com>
184383
184384        Asynchronous SpellChecker should consider multiple requests.
184385        https://bugs.webkit.org/show_bug.cgi?id=72939
184386
184387        Reviewed by Hajime Morita.
184388
184389        Now SpellChecker saves a request when it is processing the previous spellcheck request.
184390        If there is a request having the same root editable element, the older request is replaced by newer request.
184391
184392        Test: editing/spelling/spellcheck-queue.html
184393
184394        * editing/SpellChecker.cpp:
184395        (WebCore::SpellChecker::SpellCheckRequest::SpellCheckRequest):
184396          A structure to have spell check request.
184397        (WebCore::SpellChecker::SpellCheckRequest::sequence):
184398        (WebCore::SpellChecker::SpellCheckRequest::range):
184399        (WebCore::SpellChecker::SpellCheckRequest::text):
184400        (WebCore::SpellChecker::SpellCheckRequest::mask):
184401        (WebCore::SpellChecker::SpellCheckRequest::rootEditableElement):
184402        (WebCore::SpellChecker::SpellChecker):
184403        (WebCore::SpellChecker::createRequest):
184404        (WebCore::SpellChecker::timerFiredToProcessQueuedRequest):
184405          When timer is fired, queued request is processed if any.
184406        (WebCore::SpellChecker::canCheckAsynchronously):
184407        (WebCore::SpellChecker::requestCheckingFor):
184408          When the spellchecker is processing another request, the latest request is queued.
184409        (WebCore::SpellChecker::invokeRequest):
184410        (WebCore::SpellChecker::enqueueRequest):
184411          Enqueues a request. If there is an older request whose root editable element is the same as the request,
184412          it will be replaced.
184413        (WebCore::SpellChecker::didCheck):
184414        * editing/SpellChecker.h:
184415
1844162011-12-01  Takashi Toyoshima  <toyoshim@chromium.org>
184417
184418        bufferedAmount calculation is wrong in CLOSING and CLOSED state.
184419        https://bugs.webkit.org/show_bug.cgi?id=73404
184420
184421        Reviewed by Kent Tamura.
184422
184423        WebSocket::bufferedAmount() must return buffered frame size including
184424        disposed frames which are passed via send() calls after close().
184425
184426        Old implementation had a problem at CLOSING state. Buffered frame size
184427        was added to m_bufferedAmountAfterClose at close(). But the function
184428        returns the sum of m_bufferedAmountAfterClose and internally buffered
184429        frame size, or m_channel->bufferedAmount(). So, buffered frames was
184430        double counted.
184431
184432        In new implementation, m_bufferedAmount always represents buffered
184433        frame size and m_bufferedAmountAfterClose does disposed frame size.
184434        As a result, bufferedAmount() implementation become just to return the
184435        sum of m_bufferedAmount and m_bufferedAmountAfterClose.
184436
184437        Test: http/tests/websocket/tests/hybi/bufferedAmount-after-close-in-busy.html
184438
184439        * websockets/WebSocket.cpp: Implement new bufferedAmount handling.
184440        (WebCore::saturateAdd):
184441        (WebCore::WebSocket::WebSocket):
184442        (WebCore::WebSocket::send):
184443        (WebCore::WebSocket::close):
184444        (WebCore::WebSocket::bufferedAmount):
184445        (WebCore::WebSocket::didUpdateBufferedAmount):
184446        (WebCore::WebSocket::didClose):
184447        * websockets/WebSocket.h:
184448
1844492011-12-01  Kentaro Hara  <haraken@chromium.org>
184450
184451        Replace a custom constructor of window.Option with the [NamedConstructor] IDL
184452        https://bugs.webkit.org/show_bug.cgi?id=73498
184453
184454        Reviewed by Adam Barth.
184455
184456        Removes JSOptionConstructor.{h,cpp} and generates the constructor of window.Option
184457        by the [NamedConstructor] IDL.
184458
184459        Tests: fast/js/custom-constructors.html
184460               fast/forms/option-index.html
184461               fast/forms/add-and-remove-option.html
184462               fast/dom/dom-add-optionelement.html
184463
184464        * GNUmakefile.list.am: Removed JSOptionConstructor.{h,cpp}.
184465        * Target.pri: Ditto.
184466        * UseJSC.cmake: Ditto.
184467        * WebCore.gypi: Ditto.
184468        * WebCore.order: Ditto.
184469        * WebCore.vcproj/WebCore.vcproj: Ditto.
184470        * WebCore.xcodeproj/project.pbxproj: Ditto.
184471        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
184472
184473        * bindings/js/JSDOMWindowCustom.cpp:
184474        (WebCore::JSDOMWindow::option): Specifies the NamedConstructor.
184475        * bindings/js/JSOptionConstructor.cpp: Removed.
184476        * bindings/js/JSOptionConstructor.h: Removed.
184477        * page/DOMWindow.idl: Removed the [JSCustomConstructor] IDL.
184478
1844792011-12-01  Kentaro Hara  <haraken@chromium.org>
184480
184481        Replace a custom constructor of window.Audio with the [NamedConstructor] IDL
184482        https://bugs.webkit.org/show_bug.cgi?id=73496
184483
184484        Reviewed by Adam Barth.
184485
184486        Removes JSAudioConstructor.{h,cpp} and generates the constructor of window.Audio
184487        by the [NamedConstructor] IDL.
184488
184489        Tests: fast/js/custom-constructors.html
184490               media/audio-constructor.html
184491               media/audio-constructor-src.html
184492               media/audio-constructor-preload.html
184493               media/audio-controls-do-not-fade-out.html
184494               media/audio-controls-rendering.html
184495
184496        * GNUmakefile.list.am: Removed JSAudioConstructor.{h,cpp}.
184497        * Target.pri: Ditto.
184498        * UseJSC.cmake: Ditto.
184499        * WebCore.gypi: Ditto.
184500        * WebCore.order: Ditto.
184501        * WebCore.vcproj/WebCore.vcproj: Ditto.
184502        * WebCore.xcodeproj/project.pbxproj: Ditto.
184503        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
184504
184505        * bindings/js/JSAudioConstructor.cpp: Removed.
184506        * bindings/js/JSAudioConstructor.h: Removed.
184507        * bindings/js/JSDOMWindowCustom.cpp:
184508        (WebCore::JSDOMWindow::audio): Specifies the NamedConstructor.
184509        * page/DOMWindow.idl: Removed the [JSCustomConstructor] IDL.
184510
1845112011-12-01  Mark Pilgrim  <pilgrim@chromium.org>
184512
184513        [FileSystem API] DirectoryEntry.removeRecursively successCallback is required
184514        https://bugs.webkit.org/show_bug.cgi?id=69644
184515
184516        Reviewed by Adam Barth.
184517
184518        * fileapi/DirectoryEntry.idl: remove [Optional] flag from successCallback
184519
1845202011-12-01  Mark Pilgrim  <pilgrim@chromium.org>
184521
184522        [FileSystem API] DirectoryEntry.getDirectory path argument is required
184523        https://bugs.webkit.org/show_bug.cgi?id=69643
184524
184525        Reviewed by Adam Barth.
184526
184527        Test: fast/filesystem/simple-required-arguments-getdirectory.html
184528
184529        * bindings/js/JSDirectoryEntryCustom.cpp:
184530        (WebCore::JSDirectoryEntry::getDirectory): throw TypeError if not enough arguments
184531        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
184532        (WebCore::V8DirectoryEntry::getDirectoryCallback): throw TypeError if not enough arguments
184533
1845342011-12-01  Rafael Weinstein  <rafaelw@chromium.org>
184535
184536        V8 bindings cleanup: V8WindowErrorHandler shouldn't be directly invoking script
184537        https://bugs.webkit.org/show_bug.cgi?id=73576
184538
184539        Reviewed by Adam Barth.
184540
184541        No tests needed. This patch is just bindings hygiene.
184542
184543        * bindings/v8/V8WindowErrorHandler.cpp:
184544        (WebCore::V8WindowErrorHandler::callListenerFunction):
184545
1845462011-12-01  Benjamin Poulain  <benjamin@webkit.org>
184547
184548        URLs are encoded in UTF-8, then decoded as if they are Latin1
184549        https://bugs.webkit.org/show_bug.cgi?id=71758
184550
184551        Reviewed by Darin Adler.
184552
184553        Previously, invalid URLs could have a string emanating from a
184554        partial parsing of the input. The creation of the string was done
184555        through the Latin1 codec regardless of the encoding of the char* url.
184556
184557        This caused two types of issues, URLs were evaluated as half-parsed,
184558        and the coding and decoding of the string was not consistent.
184559
184560        This patch changes KURL::parse() to fallback on the original string
184561        whenever the parsing of the URL fails.
184562
184563        Test: fast/url/invalid-urls-utf8.html
184564
184565        * platform/KURL.cpp:
184566        (WebCore::KURL::KURL):
184567        (WebCore::KURL::init):
184568        (WebCore::KURL::parse):
184569        Previously, originalString was only used as an optimization to avoid
184570        the allocation of a string. Since this optimization depends on the
184571        comparison of the incoming string and the encoded buffer.
184572        This patches generalizes originalString to always be the original string
184573        being parsed by KURL. The optimization is kept by comparing that string
184574        and the final parsed result.
184575        * platform/KURL.h:
184576        (WebCore::KURL::parse):
184577        * platform/cf/KURLCFNet.cpp:
184578        (WebCore::KURL::KURL):
184579        * platform/mac/KURLMac.mm:
184580        (WebCore::KURL::KURL):
184581
1845822011-12-01  Martin Robinson  <mrobinson@igalia.com>
184583
184584        [GTK] Add a helper function to find the current executable's path
184585        https://bugs.webkit.org/show_bug.cgi?id=73473
184586
184587        Reviewed by Gustavo Noronha Silva.
184588
184589        No new tests. This should not change behavior.
184590
184591        * platform/gtk/FileSystemGtk.cpp:
184592        (WebCore::applicationDirectoryPath): Now use the new WTF function to get the
184593        current executable's path.
184594
1845952011-12-01  Andreas Kling  <kling@webkit.org>
184596
184597        StyledElement: Clean up inline style accessors.
184598        <http://webkit.org/b/73568>
184599
184600        Reviewed by Antti Koivisto.
184601
184602        Renamed StyledElement's getInlineStyleDecl() to ensureInlineStyleDecl() to
184603        make it clear that it will always return non-null as opposed to inlineStyleDecl().
184604
184605        Also updated call sites to store the return value in a CSSInlineStyleDeclaration*
184606        rather than a CSSMutableStyleDeclaration*, and reduced scoping of temporaries
184607        in some cases.
184608
184609        * dom/StyledElement.cpp:
184610        (WebCore::StyledElement::createInlineStyleDecl):
184611        (WebCore::StyledElement::destroyInlineStyleDecl):
184612        (WebCore::StyledElement::parseMappedAttribute):
184613        (WebCore::StyledElement::ensureInlineStyleDecl):
184614        (WebCore::StyledElement::style):
184615        (WebCore::StyledElement::copyNonAttributeProperties):
184616        (WebCore::StyledElement::addSubresourceAttributeURLs):
184617        * dom/StyledElement.h:
184618        (WebCore::StyledElement::inlineStyleDecl):
184619        * editing/ApplyStyleCommand.cpp:
184620        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
184621        (WebCore::ApplyStyleCommand::removeEmbeddingUpToEnclosingBlock):
184622        (WebCore::ApplyStyleCommand::applyInlineStyleToNodeRange):
184623        (WebCore::ApplyStyleCommand::addBlockStyle):
184624        (WebCore::ApplyStyleCommand::addInlineStyleIfNeeded):
184625        * editing/DeleteButtonController.cpp:
184626        (WebCore::DeleteButtonController::createDeletionUI):
184627        (WebCore::DeleteButtonController::show):
184628        (WebCore::DeleteButtonController::hide):
184629        * editing/ReplaceSelectionCommand.cpp:
184630        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline):
184631        (WebCore::ReplaceSelectionCommand::handleStyleSpans):
184632        * html/HTMLTextFormControlElement.cpp:
184633        (WebCore::HTMLTextFormControlElement::updatePlaceholderVisibility):
184634        * html/ValidationMessage.cpp:
184635        (WebCore::adjustBubblePosition):
184636        * html/shadow/MediaControlElements.cpp:
184637        (WebCore::MediaControlElement::show):
184638        (WebCore::MediaControlElement::hide):
184639        (WebCore::MediaControlPanelElement::setPosition):
184640        (WebCore::MediaControlPanelElement::resetPosition):
184641        (WebCore::MediaControlPanelElement::makeOpaque):
184642        (WebCore::MediaControlPanelElement::makeTransparent):
184643        (WebCore::MediaControlInputElement::show):
184644        (WebCore::MediaControlInputElement::hide):
184645        * html/shadow/MeterShadowElement.cpp:
184646        (WebCore::MeterValueElement::setWidthPercentage):
184647        * html/shadow/ProgressShadowElement.cpp:
184648        (WebCore::ProgressValueElement::setWidthPercentage):
184649        * html/shadow/SliderThumbElement.cpp:
184650        (WebCore::TrackLimiterElement::create):
184651
1846522011-12-01  Kelly Norton  <knorton@google.com>
184653
184654        More void functions eager to return values in RenderObject & WebFrameImpl
184655        https://bugs.webkit.org/show_bug.cgi?id=73571
184656
184657        Reviewed by Adam Barth.
184658
184659        * rendering/RenderObject.h:
184660        (WebCore::RenderObject::computeAbsoluteRepaintRect):
184661
1846622011-12-01  Sheriff Bot  <webkit.review.bot@gmail.com>
184663
184664        Unreviewed, rolling out r101691.
184665        http://trac.webkit.org/changeset/101691
184666        https://bugs.webkit.org/show_bug.cgi?id=73588
184667
184668        Tests fail on Chromium bots, early warning system warned
184669        committer, please adjust test_expectations in patch (Requested
184670        by scheib on #webkit).
184671
184672        * platform/KURL.cpp:
184673        (WebCore::KURL::KURL):
184674        (WebCore::KURL::init):
184675        (WebCore::KURL::parse):
184676        * platform/KURL.h:
184677        * platform/cf/KURLCFNet.cpp:
184678        (WebCore::KURL::KURL):
184679        * platform/mac/KURLMac.mm:
184680        (WebCore::KURL::KURL):
184681
1846822011-12-01  Peter Beverloo  <peter@chromium.org>
184683
184684        [Chromium] Add the FontCache implementation for Android
184685        https://bugs.webkit.org/show_bug.cgi?id=73452
184686
184687        Add the FontCache implementation specific for the Chromium WebKit
184688        port on Android, and include various font-related files intended for
184689        Linux which can be re-used.
184690
184691        Reviewed by Adam Barth.
184692
184693        * WebCore.gyp/WebCore.gyp:
184694        * WebCore.gypi:
184695        * platform/graphics/chromium/FontCacheAndroid.cpp: Added.
184696        (WebCore::getFallbackFontName):
184697        (WebCore::isFallbackFamily):
184698        (WebCore::FontCache::platformInit):
184699        (WebCore::FontCache::getFontDataForCharacters):
184700        (WebCore::FontCache::getSimilarFontPlatformData):
184701        (WebCore::FontCache::getLastResortFallbackFont):
184702        (WebCore::FontCache::getTraitsInFamily):
184703        (WebCore::FontCache::createFontPlatformData):
184704
1847052011-12-01  Tony Chang  <tony@chromium.org>
184706
184707        Need to implement flex-flow: row-reverse
184708        https://bugs.webkit.org/show_bug.cgi?id=70778
184709
184710        Reviewed by Ojan Vafai.
184711
184712        We can't just change the direction of the FlexOrderIterator because we want the overflow to be
184713        on the left side.  Instead, we apply similar logic as when we're laying out RTL content. Putting
184714        the check in isLeftToRightFlow() lets us flip the flexbox's border and padding and the flexitems'
184715        margins.  We then layout from right to left in layoutAndPlaceChildren.
184716
184717        Also remove 2 uncalled functions.
184718
184719        * rendering/RenderFlexibleBox.cpp:
184720        (WebCore::RenderFlexibleBox::isReverseFlow):
184721        (WebCore::RenderFlexibleBox::isLeftToRightFlow):
184722        * rendering/RenderFlexibleBox.h:
184723
1847242011-12-01  Daniel Sievers  <sievers@chromium.org>
184725
184726        [Chromium] Early returns in calculateDrawTransformsAndVisibilityInternal() are not respected by parent.
184727        https://bugs.webkit.org/show_bug.cgi?id=73270
184728
184729        Non-drawing child trees should not be added to the parent render surface's layer list
184730        and should neither extend the parent layer's drawable content rect.
184731
184732        This also fixes assertions from the content texture residency logic, which doesn't like it
184733        if we try to use a render surface through a parent, while that surface itself was never 'used'
184734        in the same frame.
184735
184736        Reviewed by James Robinson.
184737
184738        Added unit test.
184739
184740        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
184741        (WebCore::calculateDrawTransformsAndVisibilityInternal):
184742
1847432011-12-01  David Reveman  <reveman@chromium.org>
184744
184745        [Chromium] Use contentBounds instead of bounds for invalidation.
184746        https://bugs.webkit.org/show_bug.cgi?id=73525
184747
184748        Reviewed by James Robinson.
184749
184750        Use setNeedsDisplay() instead of setNeedsDisplayRect() when possible.
184751
184752        No new tests.
184753
184754        * platform/graphics/chromium/LayerChromium.cpp:
184755        (WebCore::LayerChromium::setBounds):
184756
1847572011-12-01  Andreas Kling  <kling@webkit.org>
184758
184759        CSSStyleSelector: Add missing fields to constructor initializer list.
184760        <http://webkit.org/b/73565>
184761
184762        Reviewed by Antti Koivisto.
184763
184764        * css/CSSStyleSelector.cpp:
184765        (WebCore::CSSStyleSelector::CSSStyleSelector):
184766
1847672011-12-01  Benjamin Poulain  <bpoulain@apple.com>
184768
184769        Get rid of the unused function nameForCursorType()
184770        https://bugs.webkit.org/show_bug.cgi?id=73529
184771
184772        Reviewed by Joseph Pecoraro.
184773
184774        The function nameForCursorType was introduced in r63339 and has not been used anywhere
184775        since that commit.
184776
184777        * WebCore.exp.in:
184778        * platform/Cursor.cpp:
184779        * platform/Cursor.h:
184780
1847812011-12-01  Andreas Kling  <kling@webkit.org>
184782
184783        CSSMutableStyleDeclaration: Unnecessary double hash lookup in construction.
184784        <http://webkit.org/b/73564>
184785
184786        Reviewed by Antti Koivisto.
184787
184788        Use HashMap::find() instead of contains() followed by get() on
184789        successful lookup.
184790
184791        * css/CSSMutableStyleDeclaration.cpp:
184792        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
184793
1847942011-11-30  Benjamin Poulain  <benjamin@webkit.org>
184795
184796        URLs are encoded in UTF-8, then decoded as if they are Latin1
184797        https://bugs.webkit.org/show_bug.cgi?id=71758
184798
184799        Reviewed by Darin Adler.
184800
184801        Previously, invalid URLs could have a string emanating from a
184802        partial parsing of the input. The creation of the string was done
184803        through the Latin1 codec regardless of the encoding of the char* url.
184804
184805        This caused two types of issues, URLs were evaluated as half-parsed,
184806        and the coding and decoding of the string was not consistent.
184807
184808        This patch changes KURL::parse() to fallback on the original string
184809        whenever the parsing of the URL fails.
184810
184811        Test: fast/url/invalid-urls-utf8.html
184812
184813        * platform/KURL.cpp:
184814        (WebCore::KURL::KURL):
184815        (WebCore::KURL::init):
184816        (WebCore::KURL::parse):
184817        Previously, originalString was only used as an optimization to avoid
184818        the allocation of a string. Since this optimization depends on the
184819        comparison of the incoming string and the encoded buffer.
184820        This patches generalizes originalString to always be the original string
184821        being parsed by KURL. The optimization is kept by comparing that string
184822        and the final parsed result.
184823        * platform/KURL.h:
184824        (WebCore::KURL::parse):
184825        * platform/cf/KURLCFNet.cpp:
184826        (WebCore::KURL::KURL):
184827        * platform/mac/KURLMac.mm:
184828        (WebCore::KURL::KURL):
184829
1848302011-12-01  Wei Charles  <charles.wei@torchmobile.com.cn>
184831
184832        [Blackberry] Upstream BlackBerry porting of plugin framework -- part 2
184833        https://bugs.webkit.org/show_bug.cgi?id=73513
184834
184835        Reviewed by Antonio Gomes.
184836
184837        No new tests for now.
184838
184839        * plugins/blackberry/NPCallbacksBlackBerry.cpp: Added.
184840        * plugins/blackberry/NPCallbacksBlackBerry.h: Added.
184841        * plugins/blackberry/PluginViewPrivateBlackBerry.cpp: Added.
184842        * plugins/blackberry/PluginViewPrivateBlackBerry.h: Added.
184843
1848442011-12-01  Andreas Kling  <kling@webkit.org>
184845
184846        JSC/CSSOM: root(CSSElementStyleDeclaration) should never need to follow the element.
184847        <http://webkit.org/b/73561>
184848
184849        Reviewed by Antti Koivisto.
184850
184851        A CSSElementStyleDeclaration should always either have a null element pointer,
184852        or return a valid parentStyleSheet(), since having an element pointer implies
184853        having an associated element sheet.
184854
184855        In light of this, replace the opaque-root-from-element path for style declarations
184856        by an assertion.
184857
184858        * bindings/js/JSDOMBinding.h:
184859        (WebCore::root):
184860
1848612011-12-01  Patrick Gansterer  <paroga@webkit.org>
184862
184863        [CMake] Make the feature defines for DOM names explicit
184864        https://bugs.webkit.org/show_bug.cgi?id=72812
184865
184866        Reviewed by Daniel Bates.
184867
184868        * CMakeLists.txt:
184869
1848702011-11-30  Dmitry Lomov  <dslomov@google.com>
184871
184872        https://bugs.webkit.org/show_bug.cgi?id=73503
184873        [Chromium][V8] Implement ArrayBuffer transfer in chromium.
184874        Portions of this patch come from Luke Zarko.
184875
184876        Reviewed by David Levin.
184877
184878        Test: fast/canvas/webgl/arraybuffer-transfer-of-control.html
184879
184880        * bindings/v8/SerializedScriptValue.cpp:
184881        (WebCore::V8ObjectMap::Writer::writeTransferredArrayBuffer):
184882        (WebCore::V8ObjectMap::Serializer::Serializer):
184883        (WebCore::V8ObjectMap::Serializer::writeAndGreyArrayBufferView):
184884        (WebCore::V8ObjectMap::Serializer::writeArrayBuffer):
184885        (WebCore::V8ObjectMap::Serializer::writeTransferredArrayBuffer):
184886        (WebCore::V8ObjectMap::Serializer::doSerialize):
184887        (WebCore::V8ObjectMap::Reader::read):
184888        (WebCore::V8ObjectMap::Reader::readArrayBufferView):
184889        (WebCore::V8ObjectMap::Deserializer::Deserializer):
184890        (WebCore::V8ObjectMap::Deserializer::tryGetTransferredArrayBuffer):
184891        (WebCore::SerializedScriptValue::create):
184892        (WebCore::neuterBinding):
184893        (WebCore::SerializedScriptValue::transferArrayBuffers):
184894        (WebCore::SerializedScriptValue::SerializedScriptValue):
184895        (WebCore::SerializedScriptValue::deserialize):
184896        * bindings/v8/SerializedScriptValue.h:
184897
1848982011-12-01  Roland Steiner  <rolandsteiner@chromium.org>
184899
184900        Shadow ID pseudo-element selectors serialize incorrectly
184901        https://bugs.webkit.org/show_bug.cgi?id=73542
184902
184903        Avoid space for ShadowDescendant combinator.
184904
184905        Reviewed by Dimitri Glazkov.
184906
184907        * css/CSSSelector.cpp:
184908        (WebCore::CSSSelector::selectorText):
184909
1849102011-12-01  Wajahat Siddiqui  <mdwajahatali.siddiqui@motorola.com>
184911
184912        Popup menu can get stuck in closed state when GtkMenu can't grab mouse.
184913        https://bugs.webkit.org/show_bug.cgi?id=56466
184914
184915        Add a check if popup menu is not visible due to no mouse grab,
184916        Ensure WebCore is in sync with proper state.
184917
184918        Reviewed by Martin Robinson.
184919
184920        * platform/gtk/PopupMenuGtk.cpp:
184921        (WebCore::PopupMenuGtk::show):
184922
1849232011-12-01  Eric Carlson  <eric.carlson@apple.com>
184924
184925        When playing audio in <video>, the poster is hidden on play
184926        https://bugs.webkit.org/show_bug.cgi?id=73405
184927
184928        Reviewed by Darin Adler.
184929
184930        * html/HTMLVideoElement.cpp:
184931        (WebCore::HTMLVideoElement::hasAvailableVideoFrame): Don't return true if the file
184932            doesn't have video.
184933
1849342011-12-01  Eric Carlson  <eric.carlson@apple.com>
184935
184936        Add Settings for text track types
184937        https://bugs.webkit.org/show_bug.cgi?id=73383
184938
184939        Reviewed by Darin Adler.
184940
184941        No new tests, settings are not used yet.
184942
184943        * page/Settings.cpp:
184944        (WebCore::Settings::Settings): Initialize new settings.
184945        * page/Settings.h:
184946        (WebCore::Settings::setShouldDisplaySubtitles): New.
184947        (WebCore::Settings::shouldDisplaySubtitles): Ditto.
184948        (WebCore::Settings::setShouldDisplayCaptions): Ditto.
184949        (WebCore::Settings::shouldDisplayCaptions): Ditto.
184950        (WebCore::Settings::setShouldDisplayTextDescriptions): Ditto.
184951        (WebCore::Settings::shouldDisplayTextDescriptions): Ditto.
184952
1849532011-12-01  Eric Carlson  <eric.carlson@apple.com>
184954
184955        HTMLTrackElement.readyState should return TextTrack "readiness state".
184956        https://bugs.webkit.org/show_bug.cgi?id=73466
184957
184958        Reviewed by Darin Adler.
184959
184960        * html/HTMLTrackElement.cpp:
184961        (WebCore::HTMLTrackElement::HTMLTrackElement): Don't initialize m_readyState.
184962        (WebCore::HTMLTrackElement::setReadyState): Return the TextTrack state.
184963        (WebCore::HTMLTrackElement::readyState): Set the TextTrack state.
184964        * html/HTMLTrackElement.h: Remove m_readyState.
184965
184966        * html/TextTrack.cpp:
184967        (WebCore::TextTrack::TextTrack): Initialize m_readinessState.
184968        * html/TextTrack.h:
184969        (WebCore::TextTrack::readinessState): New.
184970        (WebCore::TextTrack::setReadinessState): New.
184971
1849722011-12-01  Kentaro Hara  <haraken@chromium.org>
184973
184974        Unreviewed, rolling out r101669.
184975        http://trac.webkit.org/changeset/101669
184976        https://bugs.webkit.org/show_bug.cgi?id=73394
184977
184978        Win build and Mac build are failing
184979
184980        * WebCore.gyp/WebCore.gyp:
184981        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
184982        (main):
184983        * WebCore.gypi:
184984        * bindings/scripts/generate-bindings.pl:
184985        * page/DOMWindow.idl:
184986        * webaudio/DOMWindowWebAudio.idl: Removed.
184987
1849882011-12-01  Pavel Feldman  <pfeldman@google.com>
184989
184990        Web Inspector: further align front-end configurations: get rid of saveAsAvailable preference, inline drag glass pane.
184991        https://bugs.webkit.org/show_bug.cgi?id=73555
184992
184993        Reviewed by Yury Semikhatsky.
184994
184995        * inspector/InspectorFrontendClient.h:
184996        * inspector/InspectorFrontendClientLocal.h:
184997        (WebCore::InspectorFrontendClientLocal::canSaveAs):
184998        * inspector/InspectorFrontendHost.cpp:
184999        (WebCore::InspectorFrontendHost::canSaveAs):
185000        * inspector/InspectorFrontendHost.h:
185001        * inspector/InspectorFrontendHost.idl:
185002        * inspector/front-end/ExtensionServer.js:
185003        (WebInspector.ExtensionServer.prototype.hasExtensions):
185004        * inspector/front-end/InspectorFrontendHostStub.js:
185005        (.WebInspector.InspectorFrontendHostStub.prototype.canSaveAs):
185006        * inspector/front-end/NetworkPanel.js:
185007        (WebInspector.NetworkLogView.prototype._contextMenu):
185008        * inspector/front-end/ResourcesPanel.js:
185009        * inspector/front-end/Settings.js:
185010        * inspector/front-end/SettingsScreen.js:
185011        (WebInspector.SettingsScreen):
185012        * inspector/front-end/StylesSidebarPane.js:
185013        * inspector/front-end/UIUtils.js:
185014        (WebInspector.elementDragStart):
185015        (WebInspector.elementDragEnd):
185016
1850172011-12-01  Pavel Feldman  <pfeldman@google.com>
185018
185019        Web Inspector: extract static part of the InspectorBackend from the generator.
185020        https://bugs.webkit.org/show_bug.cgi?id=73562
185021
185022        Reviewed by Timothy Hatcher.
185023
185024        We should only generate the mapping between the command parameters and slots,
185025        rest of the backend is static.
185026
185027        * WebCore.gypi:
185028        * WebCore.vcproj/WebCore.vcproj:
185029        * inspector/CodeGeneratorInspector.py:
185030        (Generator.go):
185031        (Generator.process_event):
185032        (Generator.process_command):
185033        * inspector/compile-front-end.sh:
185034        * inspector/front-end/InspectorBackend.js: Added.
185035        (InspectorBackendClass):
185036        (InspectorBackendClass.prototype.registerCommand):
185037        (InspectorBackendClass.prototype.registerEvent):
185038        (InspectorBackendClass.prototype._invoke):
185039        (InspectorBackendClass.prototype._sendMessageToBackend):
185040        (InspectorBackendClass.prototype._wrapCallbackAndSendMessageObject):
185041        (InspectorBackendClass.prototype.sendMessageObjectToBackend):
185042        (InspectorBackendClass.prototype.registerDomainDispatcher):
185043        (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.getDescription):
185044        (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.toString):
185045        (InspectorBackendClass.prototype.dispatch.messageObject.error.__proto__.getMessage):
185046        (InspectorBackendClass.prototype.dispatch):
185047        (InspectorBackendClass.prototype.reportProtocolError):
185048        (InspectorBackendClass.prototype.runAfterPendingDispatches):
185049        * inspector/front-end/WebKit.qrc:
185050        * inspector/front-end/inspector.html:
185051
1850522011-12-01  Kentaro Hara  <haraken@chromium.org>
185053
185054        Use the [Supplemental] IDL for webaudio attributes in Chromium
185055        https://bugs.webkit.org/show_bug.cgi?id=73394
185056
185057        Reviewed by Adam Barth.
185058
185059        - Overview: Using the [Supplemental] IDL, this patch moves the attribute
185060        declarations of webaudio from DOMWindow.idl into a new IDL file
185061        webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained
185062        feature (aka a module).
185063
185064        - This patch changes the build flow of WebCore.gyp as follows:
185065
185066            Previous build flow:
185067                foreach $idl (all IDL files) {
185068                    generate-bindings.pl depends on $idl;
185069                    generate-bindings.pl reads $idl;
185070                    generate-bindings.pl generates .h and .cpp files for $idl;
185071                }
185072
185073            New build flow (See the discussions in bug 72138 for more details):
185074                resolve-supplemental.pl depends on all IDL files;
185075                resolve-supplemental.pl reads all IDL files;
185076                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
185077                resolve-supplemental.pl outputs supplemental_dependency.tmp;
185078                foreach $idl (all IDL files) {
185079                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
185080                    generate-bindings.pl reads $idl;
185081                    generate-bindings.pl reads supplemental_dependency.tmp;
185082                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files whilementing $idl;
185083                }
185084
185085        - This patch introduces a temporary IDL, [Supplemented]. The [Supplemented] IDL
185086        will be removed after build scripts for all platforms support the [Supplemental] IDL.
185087        The motivation for the [Supplemented] IDL is as follows:
185088
185089        In order to support the [Supplemental] IDL, we need to
185090        (1) run resolve-supplemental.pl and generate supplemental_dependency.tmp
185091        (2) and run generate-bindings.pl with the supplemental_dependency.tmp.
185092
185093        This build flow requires a change on the following build scripts,
185094        but changing all the build scripts all at once without any regression is too difficult:
185095
185096            - DerivedSources.make
185097            - DerivedSources.pri
185098            - GNUmakefile.am
185099            - PlatformBlackBerry.cmake
185100            - UseJSC.cmake
185101            - UseV8.cmake
185102            - WebCore.vcproj/MigrateScripts
185103            - WebCore.vcproj/WebCore.vcproj
185104            - bindings/gobject/GNUmakefile.am
185105            - WebCore.gyp/WebCore.gyp
185106
185107        Thus, we are planning to change the build scripts one by one, which implies that
185108        we need to allow the temporary state in which some build scripts support [Supplemental] IDL
185109        but others do not. To accomplish this, we introduce a temporary IDL, [Supplemented].
185110        The [Supplemented] IDL on an attribute means that the attribute is marked with [Supplemental]
185111        in another IDL file somewhere, like this:
185112
185113            DOMWindowWebAudio.idl:
185114                interface [
185115                    Supplemental=DOMWindow
185116                ] DOMWindowWebAudio {
185117                    attribute attr1;
185118                    attribute attr2;
185119                };
185120
185121            DOMWindow.idl:
185122                interface [
185123                ] DOMWindow {
185124                    attribute [Supplemented] attr1; // This line will be removed after all build scripts support the [Su IDL
185125                    attribute [Supplemented] attr2; // This line will be removed after all build scripts support the [Su IDL.
185126                    attribute attr3;
185127                    attribute attr4;
185128                };
185129
185130        Assuming these IDL files, this patch implements the following logic in generate-bindings.pl:
185131
185132            - If a given build script supports the [Supplemental] IDL,
185133            generate-bindings.pl ignores all attributes with the [Supplemented] IDL.
185134            - Otherwise, generate-bindings.pl treats all attributes with the [Supplemented] IDL
185135            as normal attributes and instead ignores all attributes with the [Supplemental] IDL
185136            (i.e. generate-bindings.pl generates nothing from the IDL file with the [Supplemental] IDL).
185137
185138        Tests: webaudio/*
185139
185140        * WebCore.gyp/WebCore.gyp: Describes the build flow that I described above.
185141        * WebCore.gyp/scripts/action_derivedsourcesallinone.py:
185142        (main): Reads the IDL file names from the input file (i.e. supplemental_dependency.tmp), which are described at the first column of each line in the input file.
185143        * WebCore.gypi: Added DOMWindowWebAudio.idl.
185144        * bindings/scripts/generate-bindings.pl: As a temporary solution, if the platform does not support the [Supplemental] IDL, the perl script ignores the [Supplemental] IDL and instead uses the [Supplemented] IDL. Otherwise, the perl script ignores the [Supplemented] IDL and instead uses the [Supplemental] IDL.
185145        * page/DOMWindow.idl: Added the [Supplemented] IDL to webaudio-related attributes. As I described above, the [Supplemented] IDL will be removed after all platforms support the [Supplemental] IDL.
185146        * webaudio/DOMWindowWebAudio.idl: Added. Describes the [Supplemental=DOMWindow] IDL. The attributes in this IDL file should be treated as if they are written in DOMWindow.idl.
185147
1851482011-12-01  Jonathan Dong  <jonathan.dong@torchmobile.com.cn>
185149
185150        Upstream credential storage files of BlackBerry porting
185151        https://bugs.webkit.org/show_bug.cgi?id=73280
185152
185153        Reviewed by Rob Buis.
185154
185155        Added the basic structure of class CredentialBackingStore
185156        to persist the credential data, and generated
185157        platform/network/blackberry/CredentialStorageBlackBerry.cpp,
185158        to implement CredentialStorage::getFromPersistentStorage
185159        for BlackBerry porting.
185160        Contributed by Torch Team.
185161
185162        * platform/network/blackberry/CredentialBackingStore.cpp: Added.
185163        (WebCore::CredentialBackingStore::instance):
185164        (WebCore::CredentialBackingStore::CredentialBackingStore):
185165        (WebCore::CredentialBackingStore::~CredentialBackingStore):
185166        (WebCore::CredentialBackingStore::open):
185167        (WebCore::CredentialBackingStore::close):
185168        (WebCore::CredentialBackingStore::addLogin):
185169        (WebCore::CredentialBackingStore::updateLogin):
185170        (WebCore::CredentialBackingStore::hasLogin):
185171        (WebCore::CredentialBackingStore::getLogin):
185172        (WebCore::CredentialBackingStore::removeLogin):
185173        (WebCore::CredentialBackingStore::clear):
185174        (WebCore::CredentialBackingStore::encryptedString):
185175        (WebCore::CredentialBackingStore::decryptedString):
185176        * platform/network/blackberry/CredentialBackingStore.h: Added.
185177        * platform/network/blackberry/CredentialStorageBlackBerry.cpp: Added.
185178        (WebCore::CredentialStorage::getFromPersistentStorage):
185179
1851802011-11-30  Andreas Kling  <kling@webkit.org>
185181
185182        StyledElement: Tidy up copyNonAttributeProperties().
185183        <http://webkit.org/b/73501>
185184
185185        Reviewed by Antti Koivisto.
185186
185187        * css/CSSStyleDeclaration.h:
185188
185189            Made CSSStyleDeclaration non-copyable.
185190
185191        * css/CSSMutableStyleDeclaration.h:
185192        * css/CSSMutableStyleDeclaration.cpp:
185193        (WebCore::CSSMutableStyleDeclaration::copyPropertiesFrom):
185194
185195            copyPropertiesAndStrictnessFrom() redone as copyPropertiesFrom()
185196            since we can copy the strictness bit using existing accessors.
185197
185198        * dom/StyledElement.cpp:
185199        (WebCore::StyledElement::copyNonAttributeProperties):
185200
185201            Use copyPropertiesFrom() and copy the strictness bit to the new
185202            inline style using the dedicated accessors. Also added some
185203            assertions for good measure.
185204
1852052011-12-01  Kentaro Hara  <haraken@chromium.org>
185206
185207        run-bindings-tests is failing on Gtk/Qt/SnowLeopard/Lion bots
185208        https://bugs.webkit.org/show_bug.cgi?id=73558
185209
185210        Reviewed by Csaba Osztrogonác.
185211
185212        The cause of the bug:
185213
185214        foreach my $idlFile (keys %documents) {
185215            $supplementals{$idlFile} = [];
185216            foreach my $dataNode (...) {
185217                if (...) {
185218                    ...;
185219                    push(@{$supplementals{$targetIdlFile}}, $idlFile);
185220                    ...;
185221                }
185222            }
185223        }
185224
185225        Even if we did push(@{$supplementals{$targetIdlFile}}, $idlFile),
185226        the $supplementals{$targetIdlFile} can be re-initialized by
185227        $supplementals{$idlFile} = [] in subsequent loops.
185228        This patch fixes the bug.
185229
185230        Tests: bindings/scripts/test/TestInterface.idl
185231
185232        * bindings/scripts/resolve-supplemental.pl:
185233
1852342011-12-01  Pavel Feldman  <pfeldman@chromium.org>
185235
185236        Web Inspector: restore WebKit2 Safari menu items after capabilities refactoring regression.
185237        https://bugs.webkit.org/show_bug.cgi?id=73554
185238
185239        Reviewed by Yury Semikhatsky.
185240
185241        * inspector/InspectorFrontendClientLocal.cpp:
185242        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
185243        (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
185244        (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
185245        (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
185246        (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
185247        (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
185248        (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
185249        (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
185250        (WebCore::InspectorFrontendClientLocal::showConsole):
185251        (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
185252        * inspector/InspectorFrontendClientLocal.h:
185253        * inspector/front-end/InspectorFrontendAPI.js:
185254        (InspectorFrontendAPI._pendingCommands.isDebuggingEnabled):
185255        (InspectorFrontendAPI.setDebuggingEnabled):
185256        (InspectorFrontendAPI.isTimelineProfilingEnabled):
185257        (InspectorFrontendAPI.setTimelineProfilingEnabled):
185258        (InspectorFrontendAPI.isProfilingJavaScript):
185259        (InspectorFrontendAPI.startProfilingJavaScript):
185260        (InspectorFrontendAPI.stopProfilingJavaScript):
185261        (InspectorFrontendAPI.setAttachedWindow):
185262        (InspectorFrontendAPI.showConsole):
185263        (InspectorFrontendAPI.dispatch):
185264        (InspectorFrontendAPI.loadCompleted):
185265        * inspector/front-end/inspector.js:
185266
1852672011-12-01  Pavel Feldman  <pfeldman@google.com>
185268
185269        Web Inspector: remove capabilities along with the MetaAgent
185270        https://bugs.webkit.org/show_bug.cgi?id=73550
185271
185272        Reviewed by Yury Semikhatsky.
185273
185274        We are now using explicit query commands in order to find out about the capabilities.
185275
185276        * CMakeLists.txt:
185277        * GNUmakefile.list.am:
185278        * Target.pri:
185279        * WebCore.gypi:
185280        * WebCore.vcproj/WebCore.vcproj:
185281        * WebCore.xcodeproj/project.pbxproj:
185282        * inspector/CodeGeneratorInspector.py:
185283        (Generator.go):
185284        * inspector/Inspector.json:
185285        * inspector/InspectorController.cpp:
185286        (WebCore::InspectorController::InspectorController):
185287        * inspector/InspectorMetaAgent.cpp: Removed.
185288        * inspector/InspectorMetaAgent.h: Removed.
185289        * inspector/generate-protocol-externs:
185290
1852912011-12-01  Pavel Feldman  <pfeldman@google.com>
185292
185293        Web Inspector: front-end should open with elements panel selected upon Inspect Element action.
185294        https://bugs.webkit.org/show_bug.cgi?id=73539
185295
185296        Reviewed by Yury Semikhatsky.
185297
185298        * inspector/front-end/inspector.js:
185299        (WebInspector.doLoadedDone.showInitialPanel):
185300        (WebInspector.inspect):
185301
1853022011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>
185303
185304        Web Inspector: totalOffsetLeft and totalOffsetTop should take scroll into account.
185305        https://bugs.webkit.org/show_bug.cgi?id=73443
185306
185307        Reviewed by Pavel Feldman.
185308
185309        * inspector/front-end/TextPrompt.js:
185310        (WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
185311        (WebInspector.TextPrompt.SuggestBox):
185312        * inspector/front-end/utilities.js:
185313        (Element.prototype.totalOffsetLeft):
185314        (Element.prototype.totalOffsetTop):
185315        (Element.prototype.boxInWindow):
185316
1853172011-12-01  Pavel Feldman  <pfeldman@google.com>
185318
185319        Web Inspector: query backend for capabilities explicitly.
185320        https://bugs.webkit.org/show_bug.cgi?id=73442
185321
185322        Reviewed by Yury Semikhatsky.
185323
185324        This change removes the hardcoded Capabilities values in favor of
185325        explicit query commands issued against the backend. I'll remove the
185326        Meta agent in a subsequent change.
185327
185328        * bindings/js/ScriptDebugServer.h:
185329        (WebCore::ScriptDebugServer::causesRecompilation):
185330        (WebCore::ScriptDebugServer::supportsNativeBreakpoints):
185331        * bindings/js/ScriptProfiler.h:
185332        (WebCore::ScriptProfiler::causesRecompilation):
185333        (WebCore::ScriptProfiler::isSampling):
185334        (WebCore::ScriptProfiler::hasHeapProfiler):
185335        * bindings/v8/ScriptDebugServer.h:
185336        (WebCore::ScriptDebugServer::causesRecompilation):
185337        (WebCore::ScriptDebugServer::supportsNativeBreakpoints):
185338        * bindings/v8/ScriptProfiler.h:
185339        (WebCore::ScriptProfiler::causesRecompilation):
185340        (WebCore::ScriptProfiler::isSampling):
185341        (WebCore::ScriptProfiler::hasHeapProfiler):
185342        * inspector/Inspector.json:
185343        * inspector/InspectorClient.h:
185344        (WebCore::InspectorClient::canClearBrowserCache):
185345        (WebCore::InspectorClient::canClearBrowserCookies):
185346        * inspector/InspectorController.cpp:
185347        (WebCore::InspectorController::InspectorController):
185348        (WebCore::InspectorController::connectFrontend):
185349        (WebCore::InspectorController::show):
185350        * inspector/InspectorController.h:
185351        * inspector/InspectorDebuggerAgent.cpp:
185352        (WebCore::InspectorDebuggerAgent::causesRecompilation):
185353        (WebCore::InspectorDebuggerAgent::canSetScriptSource):
185354        (WebCore::InspectorDebuggerAgent::supportsNativeBreakpoints):
185355        * inspector/InspectorDebuggerAgent.h:
185356        * inspector/InspectorFrontendClientLocal.cpp:
185357        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
185358        * inspector/InspectorProfilerAgent.cpp:
185359        (WebCore::InspectorProfilerAgent::causesRecompilation):
185360        (WebCore::InspectorProfilerAgent::isSampling):
185361        (WebCore::InspectorProfilerAgent::hasHeapProfiler):
185362        (WebCore::InspectorProfilerAgent::disable):
185363        (WebCore::InspectorProfilerAgent::enable):
185364        (WebCore::InspectorProfilerAgent::setFrontend):
185365        * inspector/InspectorProfilerAgent.h:
185366        * inspector/InspectorResourceAgent.cpp:
185367        (WebCore::InspectorResourceAgent::canClearBrowserCache):
185368        (WebCore::InspectorResourceAgent::canClearBrowserCookies):
185369        * inspector/InspectorResourceAgent.h:
185370        * inspector/front-end/DebuggerModel.js:
185371        (WebInspector.DebuggerModel):
185372        (WebInspector.DebuggerModel.prototype.enableDebugger):
185373        (WebInspector.DebuggerModel.prototype.canSetScriptSource):
185374        * inspector/front-end/NetworkItemView.js:
185375        (WebInspector.NetworkItemView):
185376        * inspector/front-end/NetworkPanel.js:
185377        (WebInspector.NetworkLogView.onCanClearBrowserCache):
185378        (WebInspector.NetworkLogView.onCanClearBrowserCookies):
185379        (WebInspector.NetworkLogView):
185380        (WebInspector.NetworkLogView.prototype._contextMenu):
185381        * inspector/front-end/ProfilesPanel.js:
185382        (WebInspector.ProfilesPanel.prototype._reportHeapSnapshotProgress):
185383        * inspector/front-end/ScriptsPanel.js:
185384        * inspector/front-end/Settings.js:
185385        * inspector/front-end/SettingsScreen.js:
185386        (WebInspector.SettingsScreen):
185387        * inspector/front-end/inspector.js:
185388        (WebInspector.get inspectedPageDomain):
185389        (WebInspector._initializeCapability):
185390        (WebInspector.doLoadedDone):
185391
1853922011-11-28  Hans Wennborg  <hans@chromium.org>
185393
185394        IndexedDB: Fix reverse cursor with non-existent upper bound
185395        https://bugs.webkit.org/show_bug.cgi?id=73220
185396
185397        Reviewed by Tony Chang.
185398
185399        The code previously did not properly handle the case where the
185400        specified upper bound for a reverse cursor did not exist.
185401
185402        Test: storage/indexeddb/cursor-reverse-bug.html
185403
185404        * storage/IDBLevelDBBackingStore.cpp:
185405        (WebCore::findGreatestKeyLessThanOrEqual):
185406        (WebCore::IDBLevelDBBackingStore::openObjectStoreCursor):
185407        (WebCore::IDBLevelDBBackingStore::openIndexKeyCursor):
185408        (WebCore::IDBLevelDBBackingStore::openIndexCursor):
185409
1854102011-11-29  Hans Wennborg  <hans@chromium.org>
185411
185412        IndexedDB: Cursor pre-fetching
185413        https://bugs.webkit.org/show_bug.cgi?id=73025
185414
185415        Reviewed by Darin Fisher.
185416
185417        No new tests. This doesn't change any semantics.
185418        Actual pre-fetching will not happen in DumpRenderTree.
185419        Chromium will request pre-fetching and have tests for it.
185420
185421        * storage/IDBBackingStore.h:
185422        * storage/IDBCallbacks.h:
185423        * storage/IDBCursor.cpp:
185424        (WebCore::IDBCursor::continueFunction):
185425        (WebCore::IDBCursor::postSuccessHandlerCallback):
185426          Adds a callback that is called everytime the onsuccess handler has
185427          executed on a cursor. This allows the cursor to see if a new call
185428          to continue() was made in the onsuccess handler.
185429        * storage/IDBCursor.h:
185430        * storage/IDBCursorBackendImpl.cpp:
185431        (WebCore::IDBCursorBackendImpl::continueFunction):
185432        (WebCore::IDBCursorBackendImpl::prefetchContinue):
185433        (WebCore::IDBCursorBackendImpl::prefetchContinueInternal):
185434          This is the function that does actual pre-fetching. When called,
185435          it will attempt to step the cursor up to n steps and send the
185436          results back via the new onSuccessWithPrefetch() callback.
185437        (WebCore::IDBCursorBackendImpl::prefetchReset):
185438          This resets the cursor to the position it was at before the last
185439          prefetch call.
185440        * storage/IDBCursorBackendImpl.h:
185441        (WebCore::IDBCursorBackendImpl::postSuccessHandlerCallback):
185442        * storage/IDBCursorBackendInterface.h:
185443        * storage/IDBKey.h:
185444        (WebCore::IDBKey::createInvalid):
185445        (WebCore::IDBKey::createNumber):
185446        (WebCore::IDBKey::createString):
185447        (WebCore::IDBKey::createDate):
185448        (WebCore::IDBKey::createArray):
185449        (WebCore::IDBKey::sizeEstimate):
185450        * storage/IDBLevelDBBackingStore.cpp:
185451        (WebCore::CursorOptions::CursorImplCommon::CursorImplCommon):
185452        (WebCore::CursorOptions::ObjectStoreCursorImpl::clone):
185453        (WebCore::CursorOptions::ObjectStoreCursorImpl::ObjectStoreCursorImpl):
185454        (WebCore::CursorOptions::IndexKeyCursorImpl::clone):
185455        (WebCore::CursorOptions::IndexKeyCursorImpl::IndexKeyCursorImpl):
185456        (WebCore::CursorOptions::IndexCursorImpl::clone):
185457        (WebCore::CursorOptions::IndexCursorImpl::IndexCursorImpl):
185458        * storage/IDBRequest.cpp:
185459        (WebCore::IDBRequest::dispatchEvent):
185460          Update dispatchEvent() to call the postSuccessHandlerCallback()
185461        * storage/IDBRequest.h:
185462        (WebCore::IDBRequest::onSuccessWithPrefetch):
185463        * storage/IDBTransactionBackendImpl.cpp:
185464        (WebCore::IDBTransactionBackendImpl::addPendingEvents):
185465          Allow for adding an arbitrary number of extra pending events.
185466          When a cursor pre-fetches n elements, the transaction should
185467          expect to see n extra onsuccess calls.
185468        * storage/IDBTransactionBackendImpl.h:
185469        * storage/IDBTransactionBackendInterface.h:
185470
1854712011-12-01  Philippe Normand  <pnormand@igalia.com>
185472
185473        [GTK] WebAudio wav resources access and management
185474        https://bugs.webkit.org/show_bug.cgi?id=73080
185475
185476        Reviewed by Martin Robinson.
185477
185478        For the uninstalled case we assume the user will set a
185479        AUDIO_RESOURCES_PATH environment variable pointing to
185480        WebCore/platform/audio/resources.
185481
185482        * GNUmakefile.am: Install WAV resources.
185483        * platform/audio/gtk/AudioBusGtk.cpp:
185484        (WebCore::AudioBus::loadPlatformResource): Support for loading
185485        uninstalled resources.
185486
1854872011-12-01  Florin Malita  <fmalita@google.com>
185488
185489        SVG Gaussian blur in 1-dimension is incorrect
185490        https://bugs.webkit.org/show_bug.cgi?id=73029
185491
185492        Reviewed by Simon Fraser.
185493
185494        Ensure that the last blurBox result is stored when applying one-dimensional blurs.
185495
185496        * platform/graphics/filters/FEGaussianBlur.cpp:
185497        (WebCore::FEGaussianBlur::platformApplyGeneric):
185498
1854992011-12-01  Vsevolod Vlasov  <vsevik@chromium.org>
185500
185501        Web Inspector: Elements Panel edit as html looks weird with an arrow inside edit box.
185502        https://bugs.webkit.org/show_bug.cgi?id=73462
185503
185504        Reviewed by Pavel Feldman.
185505
185506        * inspector/front-end/elementsPanel.css:
185507        (#elements-content .editing):
185508        (.elements-tree-editor):
185509        * inspector/front-end/inspector.css:
185510
1855112011-12-01  Alexander Pavlov  <apavlov@chromium.org>
185512
185513        Web Inspector: [Styles] Exclamation mark hint ignores property case
185514        https://bugs.webkit.org/show_bug.cgi?id=73535
185515
185516        Reviewed by Pavel Feldman.
185517
185518        * inspector/front-end/StylesSidebarPane.js:
185519
1855202011-12-01  Pavel Feldman  <pfeldman@google.com>
185521
185522        Web Inspector: fix dedicated workers inspection (undefined is not an object).
185523        https://bugs.webkit.org/show_bug.cgi?id=73537
185524
185525        Reviewed by Yury Semikhatsky.
185526
185527        * inspector/front-end/ResourceTreeModel.js:
185528        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
185529        * inspector/front-end/WorkerManager.js:
185530        (WebInspector.WorkerManager.loadCompleted):
185531
1855322011-12-01  Kentaro Hara  <haraken@chromium.org>
185533
185534        [JSC] When XXXX has a NamedConstructor, window.XXXX should be XXXXConstructor
185535        https://bugs.webkit.org/show_bug.cgi?id=73521
185536
185537        Reviewed by Adam Barth.
185538
185539        This is a regression caused by a patch of bug 73307.
185540        If we replaced a custom constructor of window.XXXX (e.g. XXXX is Audio or Option)
185541        with the [NamedConstructor] IDL, fast/js/global-constructors.html,
185542        fast/dom/Window/window-properties.html and fast/dom/call-a-constructor-as-a-function.html
185543        start to fail in JSC.
185544
185545        Before a patch of bug 73007: (correct behavior)
185546            window.Audio => AudioConstructor
185547            window.Option => OptionConstructor
185548            window.HTMLAudioElement => HTMLAudioElementConstructor
185549            window.HTMLOptionElement => HTMLOptionElementConstructor
185550
185551        After a patch of bug 73007: (wrong behavior)
185552            window.Audio => HTMLAudioElementConstructor
185553            window.Option => HTMLOptionElementConstructor
185554            window.HTMLAudioElement => HTMLAudioElementConstructor
185555            window.HTMLOptionElement => HTMLOptionElementConstructor
185556
185557        This patch fixes the above behavior.
185558
185559        Tests: bindings/scripts/test/TestNamedConstructor.idl
185560
185561        * bindings/scripts/CodeGeneratorJS.pm:
185562        (GenerateImplementation):
185563        * bindings/scripts/IDLParser.pm:
185564        (parseExtendedAttributes):
185565        (ParseInterface):
185566        * bindings/scripts/test/TestNamedConstructor.idl: The test IDL was wrong. NamedConstructor=XXXX(arguments) is a correct format.
185567        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Updated a run-bindings-tests result.
185568
1855692011-11-30  David Grogan  <dgrogan@chromium.org>
185570
185571        Move data in IDBPendingTransactionMonitor from static to
185572        ThreadSpecific.
185573        https://bugs.webkit.org/show_bug.cgi?id=73389
185574
185575        IDBPendingTransactionMonitor previously stored transactions in
185576        a static member variable so that they could be aborted if they were
185577        had no work queued up when leaving script execution.  That was fine when
185578        IndexedDB could only be used on the main thread, but is insufficient
185579        for IndexedDB on workers.  In addition to not being thread-safe, this
185580        caused pending transactions that were created from a worker thread to
185581        abort when the main thread left script execution.
185582
185583        Reviewed by David Levin.
185584
185585        No new tests - IndexedDB worker tests forthcoming.
185586
185587        * storage/IDBPendingTransactionMonitor.cpp:
185588        (WebCore::transactions):  Create the TLS.  The other methods used to
185589        manage the container's memory lifetime but now we just leak it until
185590        the thread shuts down in the interest of simpler code.
185591        (WebCore::IDBPendingTransactionMonitor::addPendingTransaction):
185592        (WebCore::IDBPendingTransactionMonitor::removePendingTransaction):
185593        (WebCore::IDBPendingTransactionMonitor::abortPendingTransactions):
185594
185595        * storage/IDBPendingTransactionMonitor.h:
185596
1855972011-11-30  Leo Yang  <leo.yang@torchmobile.com.cn>
185598
185599        Upstream platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp
185600        https://bugs.webkit.org/show_bug.cgi?id=73522
185601
185602        Reviewed by Daniel Bates.
185603
185604        Initial upstream, can't be built yet, no new tests.
185605
185606        * platform/network/blackberry/NetworkStateNotifierBlackBerry.cpp: Added.
185607        (WebCore::NetworkStateNotifier::NetworkStateNotifier):
185608        (WebCore::NetworkStateNotifier::networkStateChange):
185609
1856102011-11-30  David Reveman  <reveman@chromium.org>
185611
185612        [Chromium] Improve tile invalidation
185613        https://bugs.webkit.org/show_bug.cgi?id=71872
185614
185615        Reviewed by James Robinson.
185616
185617        Virtualize LayerChromium::setNeedsDisplay so that dirty rectangles can
185618        be handled directly by the TiledLayerChromium class. Replace
185619        LayerChromium::dirtyRect() with LayerChromium::needsDisplay() and
185620        remove unnecessary union of dirty rectangles. By invalidating existing
185621        tiles using the initial dirty rectangles instead of their union we
185622        avoid a large amount of unnecessary tile updates.
185623
185624        Update LayerChromiumTest.
185625
185626        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
185627        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
185628        * platform/graphics/chromium/ContentLayerChromium.cpp:
185629        (WebCore::ContentLayerChromium::paintContentsIfDirty):
185630        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
185631        (WebCore::GraphicsLayerChromium::setNeedsDisplayInRect):
185632        * platform/graphics/chromium/ImageLayerChromium.cpp:
185633        (WebCore::ImageLayerChromium::setContents):
185634        (WebCore::ImageLayerChromium::paintContentsIfDirty):
185635        * platform/graphics/chromium/LayerChromium.cpp:
185636        (WebCore::LayerChromium::LayerChromium):
185637        (WebCore::LayerChromium::setBounds):
185638        (WebCore::LayerChromium::setNeedsDisplayRect):
185639        * platform/graphics/chromium/LayerChromium.h:
185640        (WebCore::LayerChromium::setNeedsDisplay):
185641        (WebCore::LayerChromium::needsDisplay):
185642        * platform/graphics/chromium/TiledLayerChromium.cpp:
185643        (WebCore::TiledLayerChromium::setNeedsDisplayRect):
185644        (WebCore::TiledLayerChromium::invalidateRect):
185645        * platform/graphics/chromium/TiledLayerChromium.h:
185646        * platform/graphics/chromium/VideoLayerChromium.cpp:
185647        (WebCore::VideoLayerChromium::updateCompositorResources):
185648        * platform/graphics/chromium/WebGLLayerChromium.cpp:
185649        (WebCore::WebGLLayerChromium::updateCompositorResources):
185650
1856512011-11-30  Alexey Proskuryakov  <ap@apple.com>
185652
185653        SocketStreamHandleCFNet doesn't check for proxy errors
185654        https://bugs.webkit.org/show_bug.cgi?id=71965
185655
185656        Reviewed by Darin Adler.
185657
185658        * platform/network/cf/SocketStreamHandleCFNet.cpp:
185659        (WebCore::getStoredCONNECTProxyCredentials): Added a FIXME about retrieving proxy credentials.
185660        (WebCore::SocketStreamHandle::addCONNECTCredentials): Added human readable messages to errors,
185661        they go to Web Inspector console.
185662        (WebCore::SocketStreamHandle::readStreamCallback): Handle proxy response codes other than 200
185663        and 407 by failing cleanly.
185664
1856652011-11-30  Jeremy Apthorp  <jeremya@google.com>
185666
185667        When the mouse is dragged out of an :active element, it should lose :hover.
185668        https://bugs.webkit.org/show_bug.cgi?id=57206
185669
185670        Reviewed by Ryosuke Niwa.
185671
185672        Test: fast/css/hover-active-drag.html
185673
185674        * page/EventHandler.cpp:
185675        (WebCore::EventHandler::handleMouseMoveEvent): Don't mark mouse-drag hit tests read-only, since they no longer are.
185676        (WebCore::EventHandler::dragSourceEndedAt): Send a hit test request when the mouse goes up after a drag, so
185677        RenderLayer has a chance to update the hover/active status.
185678        * rendering/RenderLayer.cpp:
185679        (WebCore::RenderLayer::updateHoverActiveState): Only allow the :active state to change on mouse down or mouse up.
185680
1856812011-11-30  Hans Muller  <hmuller@adobe.com>
185682
185683        XHR 'progress' event code assumes wrongly that expectedLength >= 0
185684        https://bugs.webkit.org/show_bug.cgi?id=36156
185685
185686        Reviewed by Alexey Proskuryakov
185687
185688        Avoid passing a negative value as the dispatchProgressEvent's total parameter and always use 0 when lengthComputable is false.
185689
185690        Test: http/tests/xmlhttprequest/chunked-progress-event-expectedLength.html
185691
185692        * xml/XMLHttpRequest.cpp:
185693        (WebCore::XMLHttpRequest::didReceiveData):
185694
1856952011-11-30  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
185696
185697        Unreviewed. Fix build error when NOTIFICATIONS feature is enabled.
185698
185699        * CMakeLists.txt:
185700
1857012011-11-30  Noel Gordon  <noel.gordon@gmail.com>
185702
185703        Remove ImageFrame::setSize() style nits
185704        https://bugs.webkit.org/show_bug.cgi?id=73490
185705
185706        Reviewed by Andreas Kling.
185707
185708        Equality comparisons to 0 should be performed with the not operator, write
185709        width() == 0 && height() == 0 as !width() && !height().
185710
185711        No new tests, style refactor.
185712
185713        * platform/image-decoders/qt/ImageFrameQt.cpp:
185714        (WebCore::ImageFrame::setSize):
185715        * platform/image-decoders/skia/ImageDecoderSkia.cpp:
185716        (WebCore::ImageFrame::setSize):
185717
1857182011-11-30  Alexey Proskuryakov  <ap@apple.com>
185719
185720        Remove an unneeded argument from FrameLoaderClient::download
185721        https://bugs.webkit.org/show_bug.cgi?id=73486
185722
185723        Reviewed by Andreas Kling.
185724
185725        No change in functionality.
185726
185727        * loader/FrameLoaderClient.h: Removed initialRequest argument.
185728
185729        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
185730        We're already passing ResourceHandle, why also pass its data member?
185731
185732        * loader/EmptyClients.h: (WebCore::EmptyFrameLoaderClient::download): Updated for the change.
185733
1857342011-11-30  Alexey Proskuryakov  <ap@apple.com>
185735
185736        Original page URL is not set in quarantine information when downloading using context menu Save Linked File
185737        https://bugs.webkit.org/show_bug.cgi?id=73475
185738        <rdar://problem/10500337>
185739
185740        Reviewed by Dan Bernstein.
185741
185742        * WebCore.exp.in: Exported FrameLoader::setOriginalURLForDownloadRequest.
185743
1857442011-11-30  Mark Pilgrim  <pilgrim@chromium.org>
185745
185746        [FileSystem API] DirectoryEntry.getFile path argument is required
185747        https://bugs.webkit.org/show_bug.cgi?id=69642
185748
185749        Reviewed by Adam Barth.
185750
185751        Test: fast/filesystem/simple-required-arguments-getfile.html
185752
185753        * bindings/js/JSDirectoryEntryCustom.cpp:
185754        (WebCore::JSDirectoryEntry::getFile): check args length and throw TypeError if not enough arguments
185755        * bindings/v8/custom/V8DirectoryEntryCustom.cpp:
185756        (WebCore::V8DirectoryEntry::getFileCallback): check args length and throw TypeError if not enough arguments
185757
1857582011-11-30  Joshua Bell  <jsbell@chromium.org>
185759
185760        IndexedDB: Implement IDBIndex multientry feature
185761        https://bugs.webkit.org/show_bug.cgi?id=73232
185762
185763        Reviewed by Tony Chang.
185764
185765        The multientry flag is used when populating indexes, either when the index
185766        is created on an existing store or as new values are added to the store.
185767        Per the spec the semantics are: if the flag is set and the index key is
185768        calculated to be an array, each member of the array is used as an index key
185769        instead.
185770
185771        Test: storage/indexeddb/index-multientry.html
185772
185773        * storage/IDBBackingStore.h:
185774        * storage/IDBIndex.h:
185775        (WebCore::IDBIndex::multientry):
185776        * storage/IDBIndex.idl:
185777        * storage/IDBIndexBackendImpl.cpp:
185778        (WebCore::IDBIndexBackendImpl::IDBIndexBackendImpl):
185779        * storage/IDBIndexBackendImpl.h:
185780        (WebCore::IDBIndexBackendImpl::create):
185781        (WebCore::IDBIndexBackendImpl::multientry):
185782        * storage/IDBIndexBackendInterface.h:
185783        * storage/IDBLevelDBBackingStore.cpp:
185784        (WebCore::checkIndexAndMetaDataKey):
185785        (WebCore::IDBLevelDBBackingStore::getIndexes):
185786        (WebCore::IDBLevelDBBackingStore::createIndex):
185787        * storage/IDBLevelDBBackingStore.h:
185788        * storage/IDBLevelDBCoding.cpp:
185789        * storage/IDBObjectStore.cpp:
185790        (WebCore::IDBObjectStore::createIndex):
185791        * storage/IDBObjectStoreBackendImpl.cpp:
185792        (WebCore::IDBObjectStoreBackendImpl::putInternal):
185793        (WebCore::IDBObjectStoreBackendImpl::populateIndex):
185794        (WebCore::IDBObjectStoreBackendImpl::createIndex):
185795        (WebCore::IDBObjectStoreBackendImpl::createIndexInternal):
185796        (WebCore::IDBObjectStoreBackendImpl::loadIndexes):
185797        * storage/IDBObjectStoreBackendImpl.h:
185798        * storage/IDBObjectStoreBackendInterface.h:
185799
1858002011-11-30  David Reveman  <reveman@chromium.org>
185801
185802        [Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
185803        https://bugs.webkit.org/show_bug.cgi?id=71388
185804
185805        Reviewed by James Robinson.
185806
185807        Add UpdatableTexture class, which allows texture updater to
185808        allocate tile specific resources and paint tiles separately.
185809        Rename texture uploader classes and move them to separate files.
185810
185811        No new tests. Covered by existing tests.
185812
185813        * WebCore.gypi:
185814        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
185815        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
185816        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
185817        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
185818        (WebCore::BitmapCanvasLayerTextureUpdater::create):
185819        (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
185820        (WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
185821        (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
185822        (WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
185823        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
185824        (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
185825        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
185826        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
185827        (WebCore::BitmapCanvasLayerTextureUpdater::orientation):
185828        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
185829        (WebCore::CanvasLayerTextureUpdater::CanvasLayerTextureUpdater):
185830        (WebCore::CanvasLayerTextureUpdater::~CanvasLayerTextureUpdater):
185831        (WebCore::CanvasLayerTextureUpdater::paintContents):
185832        * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
185833        (WebCore::CanvasLayerTextureUpdater::contentRect):
185834        * platform/graphics/chromium/ContentLayerChromium.cpp:
185835        (WebCore::ContentLayerChromium::createTextureUpdater):
185836        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Added.
185837        (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
185838        (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
185839        (WebCore::FrameBuffer::FrameBuffer::initialize):
185840        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
185841        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
185842        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
185843        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
185844        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
185845        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
185846        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
185847        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
185848        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
185849        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
185850        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
185851        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
185852        * platform/graphics/chromium/ImageLayerChromium.cpp:
185853        (WebCore::ImageLayerTextureUpdater::Texture::Texture):
185854        (WebCore::ImageLayerTextureUpdater::Texture::updateRect):
185855        (WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
185856        (WebCore::ImageLayerTextureUpdater::createTexture):
185857        * platform/graphics/chromium/LayerRendererChromium.cpp:
185858        * platform/graphics/chromium/LayerTextureUpdater.h:
185859        (WebCore::LayerTextureUpdater::Texture::~Texture):
185860        (WebCore::LayerTextureUpdater::Texture::texture):
185861        (WebCore::LayerTextureUpdater::Texture::prepareRect):
185862        (WebCore::LayerTextureUpdater::Texture::Texture):
185863        (WebCore::LayerTextureUpdater::prepareToUpdate):
185864        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Removed.
185865        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
185866        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
185867        (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
185868        (WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
185869        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
185870        (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
185871        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
185872        * platform/graphics/chromium/TiledLayerChromium.cpp:
185873        (WebCore::UpdatableTile::UpdatableTile):
185874        (WebCore::UpdatableTile::texture):
185875        (WebCore::UpdatableTile::managedTexture):
185876        (WebCore::TiledLayerChromium::updateCompositorResources):
185877        (WebCore::TiledLayerChromium::pushPropertiesTo):
185878        (WebCore::TiledLayerChromium::createTile):
185879        (WebCore::TiledLayerChromium::protectTileTextures):
185880        (WebCore::TiledLayerChromium::prepareToUpdate):
185881        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
185882        (WebCore::CCTextureUpdater::append):
185883        (WebCore::CCTextureUpdater::update):
185884        * platform/graphics/chromium/cc/CCTextureUpdater.h:
185885
1858862011-11-30  Rafael Weinstein  <rafaelw@chromium.org>
185887
185888        [MutationObservers] Make WebKitMutationObserver::deliverAllMutations() tolerant of re-entrant calls
185889        https://bugs.webkit.org/show_bug.cgi?id=73472
185890
185891        Reviewed by Ojan Vafai.
185892
185893        No new tests. This patch just adds a static guard which makes more explicit the current semantics.
185894
185895        * dom/WebKitMutationObserver.cpp:
185896        (WebCore::WebKitMutationObserver::deliverAllMutations):
185897
1858982011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>
185899
185900        Add OVERRIDE to WebSocket related sources for safe inheritances.
185901        https://bugs.webkit.org/show_bug.cgi?id=73308
185902
185903        Reviewed by Kent Tamura.
185904
185905        No new tests because this change contains no functional change.
185906
185907        * platform/network/chromium/SocketStreamHandle.h:
185908        * websockets/CloseEvent.h:
185909        * websockets/WebSocket.h:
185910        * websockets/WebSocketChannel.h:
185911        * websockets/WorkerThreadableWebSocketChannel.h:
185912
1859132011-11-30  Mihnea Ovidenie  <mihnea@adobe.com>
185914
185915        [CSSRegions]Rename CSSRegionStyleRule to WebKitCSSRegionRule
185916        https://bugs.webkit.org/show_bug.cgi?id=73450
185917
185918        Reviewed by Andreas Kling.
185919
185920        No functionality changed so no new tests. The new name has the webkit prefix as required for new api.
185921
185922        * CMakeLists.txt:
185923        * GNUmakefile.list.am:
185924        * Target.pri:
185925        * WebCore.gypi:
185926        * WebCore.vcproj/WebCore.vcproj:
185927        * WebCore.xcodeproj/project.pbxproj:
185928        * css/CSSParser.cpp:
185929        (WebCore::CSSParser::createRegionStylingRule):
185930        * css/CSSRule.cpp:
185931        (WebCore::CSSRule::cssText):
185932        (WebCore::CSSRule::destroy):
185933        * css/CSSStyleSelector.cpp:
185934        (WebCore::CSSStyleSelector::addRegionStyleRule):
185935        (WebCore::CSSStyleSelector::checkRegionStyle):
185936        (WebCore::RuleSet::addRulesFromSheet):
185937        * css/CSSStyleSelector.h:
185938        * css/WebKitCSSRegionRule.cpp: Renamed from Source/WebCore/css/CSSRegionStyleRule.cpp.
185939        (WebCore::WebKitCSSRegionRule::WebKitCSSRegionRule):
185940        (WebCore::WebKitCSSRegionRule::~WebKitCSSRegionRule):
185941        (WebCore::WebKitCSSRegionRule::cssText):
185942        * css/WebKitCSSRegionRule.h: Renamed from Source/WebCore/css/CSSRegionStyleRule.h.
185943
1859442011-11-30  Jeff Timanus  <twiz@chromium.org>
185945
185946        Alter an early return that was preventing HTMLCanvasElement::didDraw notifications
185947        from being triggered when accelerated compositing was enabled. The notification is
185948        necessary to make sure that any cached state is cleared in the HTMLCanvasElement object.
185949        To prevent performance regressions, the cached state is explicitly cleared, as the didDraw
185950        machinery is not necessary for accelerated canvases.
185951        https://bugs.webkit.org/show_bug.cgi?id=73257
185952
185953        Reviewed by Stephen White.
185954
185955        Test: fast/canvas/webgl/canvas-2d-webgl-texture.html
185956
185957        * html/HTMLCanvasElement.cpp:
185958        (WebCore::HTMLCanvasElement::didDraw):
185959        (WebCore::HTMLCanvasElement::setSurfaceSize):
185960        * html/canvas/CanvasRenderingContext2D.cpp:
185961        (WebCore::CanvasRenderingContext2D::didDraw):
185962
1859632011-11-30  Kentaro Hara  <haraken@chromium.org>
185964
185965        Implement the StorageEvent constructor
185966        https://bugs.webkit.org/show_bug.cgi?id=71685
185967
185968        Reviewed by Adam Barth.
185969
185970        This patch makes StorageEvent constractable.
185971        The spec: http://www.whatwg.org/specs/web-apps/current-work/#storageevent
185972
185973        Test: fast/events/constructors/storage-event-constructor.html
185974
185975        * bindings/js/JSDictionary.cpp:
185976        (WebCore::JSDictionary::tryGetProperty):
185977        (WebCore::JSDictionary::convertValue): Returns a Storage object corresponding to a given key.
185978        * bindings/js/JSDictionary.h:
185979        (WebCore::JSDictionary::tryGetProperty):
185980        * bindings/v8/OptionsObject.cpp:
185981        (WebCore::OptionsObject::get): Ditto.
185982        * bindings/v8/OptionsObject.h:
185983        * storage/StorageEvent.cpp: Added an implementation of the StorageEvent constructor.
185984        (WebCore::StorageEventInit::StorageEventInit):
185985        (WebCore::StorageEvent::create):
185986        (WebCore::StorageEvent::StorageEvent):
185987        * storage/StorageEvent.h: Added a definition of StorageEventInit.
185988        (WebCore::StorageEvent::key):
185989        (WebCore::StorageEvent::oldValue):
185990        (WebCore::StorageEvent::newValue):
185991        (WebCore::StorageEvent::url):
185992        (WebCore::StorageEvent::storageArea):
185993        * storage/StorageEvent.idl: Added [ConstructorTemplate=Event] IDL.
185994
1859952011-11-30  Naveen Bobbili  <qghc36@motorola.com>
185996
185997        window.getMatchedCSSRules() not supporting pseudo element
185998        https://bugs.webkit.org/show_bug.cgi?id=72930
185999
186000        Reviewed by Darin Adler.
186001
186002        Added functionality to retrieve CSS rules of psuedo elements using
186003        getMatchedCSSRules.
186004
186005        Test: fast/dom/Window/getMatchedCSSRules-with-pseudo-elements.html
186006
186007        * page/DOMWindow.cpp:
186008        (WebCore::DOMWindow::getMatchedCSSRules):
186009        Retreiving CSS Rules of the appropriate pseudo element.
186010
1860112011-11-30  Grace Kloba  <klobag@chromium.org>
186012
186013        [chromium] TextureManager LRU list is not fully honor the order tiles are used
186014        https://bugs.webkit.org/show_bug.cgi?id=73344
186015
186016        Reviewed by James Robinson.
186017
186018        Reorder the texture in the LRU list only when protectTexture() is called.
186019
186020        * platform/graphics/chromium/TextureManager.cpp:
186021        (WebCore::TextureManager::hasTexture):
186022        (WebCore::TextureManager::protectTexture):
186023
1860242011-11-30  Ken Buchanan <kenrb@chromium.org>
186025
186026        Crash from first letter text fragments having flows split
186027        https://bugs.webkit.org/show_bug.cgi?id=72759
186028
186029        Reviewed by David Hyatt.
186030
186031        When an inline flow is split that contains a first letter block
186032        and its remaining text, it can prevent the remaining text fragment
186033        from getting updated if the first letter block is replaced. This
186034        patch enables the text fragment to be found and updated properly.
186035
186036        * rendering/RenderBlock.cpp:
186037        (WebCore::RenderBlock::updateFirstLetterBlock):
186038
1860392011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>
186040
186041        Get rid of AllowCrossThreadAccess throughout ThreadableWebSocketChannelClientWrapper.
186042        https://bugs.webkit.org/show_bug.cgi?id=73336
186043
186044        Reviewed by David Levin.
186045
186046        No new tests because it contains no functional change.
186047
186048        * websockets/ThreadableWebSocketChannelClientWrapper.cpp:
186049        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnect):
186050        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessage):
186051        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryData):
186052        (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
186053        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshake):
186054        (WebCore::ThreadableWebSocketChannelClientWrapper::didClose):
186055        (WebCore::ThreadableWebSocketChannelClientWrapper::didConnectCallback):
186056        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveMessageCallback):
186057        (WebCore::ThreadableWebSocketChannelClientWrapper::didReceiveBinaryDataCallback):
186058        (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback):
186059        (WebCore::ThreadableWebSocketChannelClientWrapper::didStartClosingHandshakeCallback):
186060        (WebCore::ThreadableWebSocketChannelClientWrapper::didCloseCallback):
186061        * websockets/ThreadableWebSocketChannelClientWrapper.h:
186062
1860632011-11-30  Leo Yang  <leo.yang@torchmobile.com.cn>
186064
186065        [BlackBerry] Add 2 cpp files to the BlackBerry build system
186066        https://bugs.webkit.org/show_bug.cgi?id=73408
186067
186068        platform/network/blackberry/DeferredData.cpp and platform/network/blackberry/NetworkJob.cpp
186069        will be added, change build system first.
186070
186071        Reviewed by Antonio Gomes.
186072
186073        * PlatformBlackBerry.cmake:
186074
1860752011-11-30  Gregg Tavares  <gman@google.com>
186076
186077        Implement draft WEBGL_compressed_textures WebGL extension
186078        https://bugs.webkit.org/show_bug.cgi?id=72086
186079
186080        Reviewed by Kenneth Russell.
186081
186082        No new tests. Will write final test once on hardware.
186083
186084        * CMakeLists.txt:
186085        * DerivedSources.make:
186086        * GNUmakefile.list.am:
186087        * Target.pri:
186088        * WebCore.gypi:
186089        * WebCore.xcodeproj/project.pbxproj:
186090        * bindings/js/JSWebGLRenderingContextCustom.cpp:
186091        (WebCore::toJS):
186092        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
186093        (WebCore::toV8Object):
186094        * html/canvas/WebGLCompressedTextures.cpp: Added.
186095        (WebCore::WebGLCompressedTextures::WebGLCompressedTextures):
186096        (WebCore::WebGLCompressedTextures::~WebGLCompressedTextures):
186097        (WebCore::WebGLCompressedTextures::getName):
186098        (WebCore::WebGLCompressedTextures::create):
186099        (WebCore::WebGLCompressedTextures::supported):
186100        (WebCore::WebGLCompressedTextures::validateCompressedTexFormat):
186101        (WebCore::WebGLCompressedTextures::validateCompressedTexFuncData):
186102        (WebCore::WebGLCompressedTextures::validateCompressedTexSubDimensions):
186103        (WebCore::WebGLCompressedTextures::compressedTexImage2D):
186104        (WebCore::WebGLCompressedTextures::compressedTexSubImage2D):
186105        (WebCore::WebGLCompressedTextures::getCompressedTextureFormats):
186106        * html/canvas/WebGLCompressedTextures.h: Added.
186107        * html/canvas/WebGLCompressedTextures.idl: Added.
186108        * html/canvas/WebGLExtension.h:
186109        * html/canvas/WebGLRenderingContext.cpp:
186110        (WebCore::WebGLRenderingContext::getExtension):
186111        (WebCore::WebGLRenderingContext::getParameter):
186112        (WebCore::WebGLRenderingContext::getSupportedExtensions):
186113        * html/canvas/WebGLRenderingContext.h:
186114        * platform/graphics/Extensions3D.h:
186115        * platform/graphics/GraphicsContext3D.h:
186116        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
186117        (WebCore::GraphicsContext3D::compressedTexImage2D):
186118        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
186119        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
186120        (WebCore::GraphicsContext3D::compressedTexImage2D):
186121        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
186122        * platform/graphics/qt/GraphicsContext3DQt.cpp:
186123        (WebCore::GraphicsContext3D::compressedTexImage2D):
186124        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
186125
1861262011-11-18  Nat Duca  <nduca@chromium.org>
186127
186128        [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
186129        https://bugs.webkit.org/show_bug.cgi?id=70838
186130
186131        Reviewed by James Robinson.
186132
186133        * platform/graphics/chromium/LayerRendererChromium.cpp:
186134        (WebCore::LayerRendererChromium::initialize):
186135        * platform/graphics/chromium/WebGLLayerChromium.cpp:
186136        (WebCore::WebGLLayerChromium::layerRendererContext):
186137        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
186138        (WebCore::CCHeadsUpDisplay::enabled):
186139        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
186140        (WebCore::CCLayerTreeHost::initialize):
186141        (WebCore::CCLayerTreeHost::context):
186142        (WebCore::CCLayerTreeHost::setNeedsAnimate):
186143        (WebCore::CCLayerTreeHost::setNeedsCommit):
186144        (WebCore::CCLayerTreeHost::setNeedsRedraw):
186145        (WebCore::CCLayerTreeHost::composite):
186146        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
186147        (WebCore::CCSettings::CCSettings):
186148        * platform/graphics/chromium/cc/CCProxy.cpp:
186149        (WebCore::CCProxy::isMainThread):
186150        (WebCore::CCProxy::isImplThread):
186151        (WebCore::CCProxy::setMainThreadIsImplThread):
186152        * platform/graphics/chromium/cc/CCProxy.h:
186153        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
186154        (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
186155        (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
186156
1861572011-11-30  Enrica Casucci  <enrica@apple.com>
186158
186159        Copy/paste of the same content produces increasingly nested markup
186160        https://bugs.webkit.org/show_bug.cgi?id=73497
186161        <rdar://problem/10208605>
186162        
186163        When pasting a fragment over a selection, we perfom a DeleteSelection command
186164        followed by a ReplaceSelection command. Delete selection preserves the style
186165        of the selection start, leaving all the blocks containing the insertion point.
186166        This patch eliminates all the nested divs that don't provide additional style,
186167        avoiding the proliferation of nested divs. 
186168
186169        Reviewed by Darin Adler.
186170
186171        Tests: editing/deleting/delete-and-cleanup.html
186172               editing/pasteboard/paste-without-nesting.html
186173
186174        * editing/DeleteSelectionCommand.cpp:
186175        (WebCore::DeleteSelectionCommand::removeRedundantBlocks):
186176        (WebCore::DeleteSelectionCommand::doApply):
186177        * editing/DeleteSelectionCommand.h:
186178
1861792011-11-30  Dan Bernstein  <mitz@apple.com>
186180
186181        WebCore part of: Allow the length of a page along the pagination axis to differ from the length of the view
186182        https://bugs.webkit.org/show_bug.cgi?id=73476
186183
186184        Reviewed by Anders Carlsson.
186185
186186        * page/Page.cpp:
186187        (WebCore::Page::setPagination): Changed to use Pagination::operator==.
186188        * page/Page.h:
186189        (WebCore::Page::Pagination::Pagination): Added initializer for the new pageLength member variable.
186190        (WebCore::Page::Pagination::operator==): Added.
186191        * rendering/RenderBlock.cpp:
186192        (WebCore::RenderBlock::layoutColumns): Narrowed the scope of a local variable.
186193        * rendering/RenderBlock.h: Promoted setDesiredColumnCountAndWidth() from private to protected,
186194        allowing its use from RenderView::calcColumnWidth(). Made calcColumnWidth() virtual.
186195        * rendering/RenderView.cpp:
186196        (WebCore::RenderView::calcColumnWidth): Added. Uses the page length specified in the pagination
186197        parameters to set the column width, if pages are to be laid out one next to the other.
186198        (WebCore::RenderView::viewLogicalHeight): Added. Uses the page length specified in the pagination
186199        parameters as the height, if pages are to be laid out one after the other.
186200        * rendering/RenderView.h:
186201
1862022011-11-30  Chris Fleizach  <cfleizach@apple.com>
186203
186204        AX: Nodes are reporting that focus can be set when they really can't
186205        https://bugs.webkit.org/show_bug.cgi?id=72791
186206
186207        Reviewed by Beth Dakin.
186208
186209        Whether focus can be set on a node shouldn't rely only on the role.
186210        It should depend on whether the node supports focus.
186211
186212        Test: platform/mac/accessibility/supports-focus-setting.html
186213
186214        * accessibility/AccessibilityRenderObject.cpp:
186215        (WebCore::AccessibilityRenderObject::canSetFocusAttribute):
186216
1862172011-11-30  Chris Fleizach  <cfleizach@apple.com>
186218
186219        WebKit does not send mouse down/up/click events to ARIA tabs
186220        https://bugs.webkit.org/show_bug.cgi?id=72573
186221
186222        Reviewed by Darin Adler.
186223
186224        There are a number of "control" type elements that should perform a click on the actual element.
186225
186226        Test: accessibility/press-works-on-control-types.html
186227
186228        * accessibility/AccessibilityRenderObject.cpp:
186229        (WebCore::AccessibilityRenderObject::actionElement):
186230
1862312011-11-30  Chris Fleizach  <cfleizach@apple.com>
186232
186233        AX: Searching mechanism is too slow when finding the element.
186234        https://bugs.webkit.org/show_bug.cgi?id=72523
186235
186236        Reviewed by Beth Dakin.
186237
186238        This makes the element searching mechanism much faster. Previously, searching literally went 
186239        through every element, looking for the start element before "starting" the search.
186240
186241        Now we only go through the elements that need to be searched. This is done by going up the 
186242        start object parent chain. At each level, a DFS is done. As we go up the parent chain, 
186243        only the elements before/after the current element are examined.
186244
186245        * accessibility/AccessibilityObject.cpp:
186246        (WebCore::appendChildrenToArray):
186247        (WebCore::AccessibilityObject::findMatchingObjects):
186248
1862492011-11-30  Ryosuke Niwa  <rniwa@webkit.org>
186250
186251        Cannot select RTL text inside LTR text from right to left by a mouse drag
186252        https://bugs.webkit.org/show_bug.cgi?id=73056
186253
186254        Reviewed by Eric Seidel.
186255
186256        The bug was caused by positionAtRightBoundaryOfBiDiRun using current inline box's offset
186257        even when creating a position with previous inline box. Fixed the bug by using the correct offset.
186258
186259        * editing/RenderedPosition.cpp:
186260        (WebCore::RenderedPosition::positionAtLeftBoundaryOfBiDiRun):
186261        (WebCore::RenderedPosition::positionAtRightBoundaryOfBiDiRun):
186262
1862632011-11-30 Chris Fleizach  <cfleizach@apple.com>
186264
186265        AX: Searching mechanism gets stuck when searching tables
186266        https://bugs.webkit.org/show_bug.cgi?id=72519
186267
186268        When searching through the elements within a data table, the children() method should not
186269        be used, since that contains elements (like a table header column) which have the same children
186270        as the table itself. Instead the cells() should be searched.
186271
186272        Reviewed by Beth Dakin.
186273
186274        Test: platform/mac/accessibility/search-when-element-starts-in-table.html
186275
186276        * accessibility/AccessibilityObject.cpp:
186277        (WebCore::AccessibilityObject::findMatchingObjects):
186278
1862792011-11-29  Ryosuke Niwa  <rniwa@webkit.org>
186280
186281        Assertion failure (m_nestedIsolateCount >= 1) in BidiResolver::exitIsolate()
186282        https://bugs.webkit.org/show_bug.cgi?id=69267
186283
186284        Reviewed by Eric Seidel.
186285
186286        The failure was caused by our updating bidi resolver's current position in layoutRunsAndFloatsInRange
186287        without updating the number of nested isolated ancestors. Fixed the bug by computing the number of
186288        isolated ancestors when setting a new position to the bidi resolver.
186289
186290        Also renamed the existing BidiResolver::setPosition to setPositionIgnoringNestedIsolates because this
186291        version can be used only when we don't have to update the number of nested isolates.
186292
186293        Tests: fast/text/bidi-isolate-hang-with-neutral-expected.html
186294               fast/text/bidi-isolate-hang-with-neutral.html
186295               fast/text/bidi-isolate-nextlinebreak-failure.html
186296
186297        * platform/graphics/GraphicsContext.cpp:
186298        (WebCore::GraphicsContext::drawBidiText):
186299        * platform/text/BidiResolver.h:
186300        (WebCore::BidiResolver::setPositionIgnoringNestedIsolates):
186301        (WebCore::BidiResolver::setPosition):
186302        * rendering/InlineIterator.h:
186303        (WebCore::numberOfIsolateAncestors): Takes InlineIterator instead of object and root.
186304        (WebCore::InlineBidiResolver::appendRun):
186305        * rendering/RenderBlockLineLayout.cpp:
186306        (WebCore::constructBidiRuns):
186307        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
186308        (WebCore::RenderBlock::determineStartPosition):
186309
1863102011-11-30  Brent Fulgham  <bfulgham@webkit.org>
186311
186312        [WinCairo] Correct SimpleFontData implementation to match Apple results.
186313        https://bugs.webkit.org/show_bug.cgi?id=73474
186314
186315        Reviewed by Adam Roben.
186316
186317        Tested by existing dom/xhtml/level3/core/nodegetbaseuri05.xhtml
186318        and dom/xhtml/level3/core/nodegetbaseuri07.xhtml
186319
186320        * platform/graphics/SimpleFontData.h: Add declaration for new
186321          'ascentConsideringMacAscentHack' method.
186322        * platform/graphics/win/SimpleFontDataCGWin.cpp: Remove implementation
186323          of 'platformCharWidthInit' (moved to SimpleFontDataWin.cpp). Also
186324          use new 'ascentConsideringMacAscentHack' method.
186325        * platform/graphics/win/SimpleFontDataCairoWin.cpp: Remove dummy
186326          implementation.
186327        (WebCore::SimpleFontData::platformInit): Add logic to handle the
186328          'shouldApplyMacAscentHack' case, as well as to identify system font
186329          using the same criteria as the Apple port.
186330        (WebCore::SimpleFontData::platformWidthForGlyph): Add check for
186331          missing font data state.
186332        * platform/graphics/win/SimpleFontDataWin.cpp:
186333        (WebCore::SimpleFontData::ascentConsideringMacAscentHack): New
186334        (WebCore::SimpleFontData::platformCharWidthInit): Moved from the
186335          CG implementation.
186336
1863372011-11-30  David Levin  <levin@chromium.org>
186338
186339        Make FrameView use TemporarilyChange in a few places.
186340        https://bugs.webkit.org/show_bug.cgi?id=73403
186341
186342        Reviewed by Dmitry Titov.
186343
186344        No new functionality exposed so no new tests.
186345
186346        * page/FrameView.cpp:
186347        (WebCore::FrameView::forceLayoutParentViewIfNeeded): Since this function isn't
186348        re-entrant, TemporarilyChange does the same thing but in a more robust manner
186349        in case there would be a return added in the function.
186350        (WebCore::FrameView::layout): This place is the key reason for the change.
186351        layout is re-entrant, but layout will set m_layoutSchedulingEnabled to true when
186352        leaving though the "layout" function higher in the stack would still have it set
186353        to false (which works ok but is hit by another change I'm working on).
186354        The majority of the change is due to indenting the code to make m_layoutSchedulingEnabled
186355        and TemporarilyChange behave like they did before. A few variables were moved before
186356        the scoping to allow them to be used after the scope is closed.
186357        (WebCore::FrameView::setScrollPosition): TemporarilyChange does exactly what
186358        this code did before (saving the old value and restoring it).
186359
1863602011-11-30  Alejandro G. Castro  <alex@igalia.com>
186361
186362        [GTK] Add TextureMapperCairo boilerplate implementation
186363        https://bugs.webkit.org/show_bug.cgi?id=73440
186364
186365        Add TextureMapperCairo class and TextureMapper classes compilation
186366        for GTK+.
186367
186368        Reviewed by Martin Robinson.
186369
186370        * GNUmakefile.am:
186371        * GNUmakefile.list.am:
186372        * platform/graphics/GraphicsContext3D.h:
186373        * platform/graphics/GraphicsLayer.cpp:
186374        * platform/graphics/GraphicsLayer.h:
186375        * platform/graphics/cairo/GraphicsContext3DCairo.cpp:
186376        (WebCore::GraphicsContext3D::platformLayer):
186377        * platform/graphics/cairo/TextureMapperCairo.cpp: Added.
186378        (WebCore::BitmapTextureCairo::destroy):
186379        (WebCore::BitmapTextureCairo::size):
186380        (WebCore::BitmapTextureCairo::reset):
186381        (WebCore::BitmapTextureCairo::beginPaint):
186382        (WebCore::BitmapTextureCairo::endPaint):
186383        (WebCore::BitmapTextureCairo::updateContents):
186384        (WebCore::BitmapTextureCairo::save):
186385        (WebCore::BitmapTextureCairo::setContentsToImage):
186386        (WebCore::TextureMapperCairo::beginClip):
186387        (WebCore::TextureMapperCairo::endClip):
186388        (WebCore::TextureMapperCairo::viewportSize):
186389        (WebCore::TextureMapperCairo::TextureMapperCairo):
186390        (WebCore::TextureMapperCairo::setGraphicsContext):
186391        (WebCore::TextureMapperCairo::graphicsContext):
186392        (WebCore::TextureMapperCairo::bindSurface):
186393        (WebCore::TextureMapperCairo::drawTexture):
186394        (WebCore::TextureMapper::create):
186395        (WebCore::TextureMapperCairo::createTexture):
186396        (WebCore::BitmapTextureCairo::BitmapTextureCairo):
186397        (WebCore::TextureMapperCairo::beginPainting):
186398        (WebCore::TextureMapperCairo::endPainting):
186399        * platform/graphics/cairo/TextureMapperCairo.h: Added.
186400        (WebCore::BitmapTextureCairo::~BitmapTextureCairo):
186401        (WebCore::BitmapTextureCairo::isValid):
186402        (WebCore::BitmapTextureCairo::sourceRect):
186403        (WebCore::BitmapTextureCairo::pack):
186404        (WebCore::BitmapTextureCairo::unpack):
186405        (WebCore::BitmapTextureCairo::isPacked):
186406        (WebCore::BitmapTextureCairo::cr):
186407        (WebCore::TextureMapperCairo::allowSurfaceForRoot):
186408        (WebCore::TextureMapperCairo::create):
186409
1864102011-11-30  Tim Horton  <timothy_horton@apple.com>
186411
186412        Implement CSS3 Images cross-fade() image function
186413        https://bugs.webkit.org/show_bug.cgi?id=52162
186414        <rdar://problem/10209254>
186415
186416        Reviewed by Simon Fraser.
186417
186418        Fix platform layering violation by moving CachedImage invalidation code into
186419        CSSCrossfadeValue (instead of CrossfadeGeneratedImage).
186420
186421        No new tests.
186422
186423        * css/CSSCrossfadeValue.cpp:
186424        (WebCore::loadSubimage):
186425        (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
186426        (WebCore::CSSCrossfadeValue::customCssText):
186427        (WebCore::CSSCrossfadeValue::fixedSize):
186428        (WebCore::CSSCrossfadeValue::isPending):
186429        (WebCore::CSSCrossfadeValue::loadSubimages):
186430        (WebCore::CSSCrossfadeValue::image):
186431        (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::imageChanged):
186432        * css/CSSCrossfadeValue.h:
186433        (WebCore::CSSCrossfadeValue::create):
186434        (WebCore::CSSCrossfadeValue::setPercentage):
186435        (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
186436        (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
186437        (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::~CrossfadeSubimageObserverProxy):
186438        (WebCore::CSSCrossfadeValue::CrossfadeSubimageObserverProxy::setReady):
186439        * platform/graphics/CrossfadeGeneratedImage.cpp:
186440        (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
186441        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
186442        (WebCore::CrossfadeGeneratedImage::drawPattern):
186443        * platform/graphics/CrossfadeGeneratedImage.h:
186444        (WebCore::CrossfadeGeneratedImage::create):
186445
1864462011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>
186447
186448        Web Inspector: [Regression] Successfully loaded XHRs are shown as canceled.
186449        https://bugs.webkit.org/show_bug.cgi?id=72873
186450
186451        Reviewed by Nate Chapin.
186452
186453        * loader/SubresourceLoader.cpp:
186454        (WebCore::SubresourceLoader::cancelIfNotFinishing):
186455        * loader/SubresourceLoader.h:
186456        * loader/cache/CachedRawResource.cpp:
186457        (WebCore::CachedRawResource::allClientsRemoved):
186458
1864592011-11-30  Simon Hausmann  <simon.hausmann@nokia.com>
186460
186461        [V8] Make WebCoreTestingSupport::resetInternalsObject more robust
186462        https://bugs.webkit.org/show_bug.cgi?id=73437
186463
186464        Reviewed by Adam Barth.
186465
186466        The Qt DRT may end up calling resetInternalsObject at a time when
186467        there's no internals object yet. In that case the looking of the internals
186468        object in the global object fails and returns undefined. V8Internals::toNative
186469        doesn't handle that and causing failing assertions. This patch adds a simple
186470        check to handle this case.
186471
186472        * testing/v8/WebCoreTestSupport.cpp:
186473        (WebCoreTestSupport::resetInternalsObject):
186474
1864752011-11-30  James Simonsen  <simonjam@chromium.org>
186476
186477        Fix valgrind issue in SubresourceLoader::didFinishLoading
186478        https://bugs.webkit.org/show_bug.cgi?id=72787
186479
186480        Hang on to CachedResource until finish() is called.
186481
186482        Reviewed by Nate Chapin.
186483
186484        Test: fast/loader/subresource-load-failed-crash.html (under asan)
186485
186486        * loader/SubresourceLoader.cpp:
186487        (WebCore::SubresourceLoader::didFinishLoading):
186488        (WebCore::SubresourceLoader::didFail):
186489
1864902011-11-30  Tim Horton  <timothy_horton@apple.com>
186491
186492        feImage referencing a primitive draws incorrectly
186493        https://bugs.webkit.org/show_bug.cgi?id=71731
186494        <rdar://problem/10408178>
186495
186496        Reviewed by Simon Fraser.
186497
186498        If the target of an <feImage> appears to be a local fragment identifier, but
186499        it hasn't resolved yet, defer resolution instead of loading a bogus image.
186500
186501        Invalidate <feImage> if the xlink:href attribute changes.
186502
186503        Don't attempt to render an <feImage> if the referenced element is of size 0x0.
186504
186505        Tests: svg/filters/feImage-reference-invalidation.svg
186506               svg/filters/feImage-reference-svg-primitive.svg
186507               svg/filters/feImage-zero-size-crash.svg
186508
186509        * svg/SVGFEImageElement.cpp:
186510        (WebCore::SVGFEImageElement::parseMappedAttribute):
186511        (WebCore::SVGFEImageElement::build):
186512
1865132011-11-30  Robin Dunn  <robin@alldunn.com>
186514
186515        [wx] Ensure we always notify the popup client that the popup
186516        was hidden, and fix handling of empty menu items.
186517        https://bugs.webkit.org/show_bug.cgi?id=73464
186518        
186519        Reviewed by Kevin Ollivier.
186520
186521        * platform/wx/PopupMenuWx.cpp:
186522        (WebCore::PopupMenuEventHandler::OnMenuItemSelected):
186523        (WebCore::PopupMenuWx::show):
186524
1865252011-11-30  Tim Horton  <timothy_horton@apple.com>
186526
186527        dx causes non-BMP characters to fail to render
186528        https://bugs.webkit.org/show_bug.cgi?id=18039
186529        <rdar://problem/10422142>
186530
186531        Reviewed by Simon Fraser.
186532
186533        Don't split the surrogate pairs of non-BMP characters across
186534        elements of <text> positioning lists.
186535
186536        Test: svg/text/non-bmp-positioning-lists.svg
186537
186538        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
186539        (WebCore::SVGTextLayoutAttributesBuilder::propagateLayoutAttributes):
186540
1865412011-11-30  Robin Dunn  <robin@alldunn.com>
186542
186543        [wx] Add a scope for the raw bitmap access so that wx
186544        will not make a copy when creating the wxMemoryDC.
186545        https://bugs.webkit.org/show_bug.cgi?id=73461
186546        
186547        Reviewed By Kevin Ollivier.
186548
186549        * platform/wx/LocalDC.h:
186550        (WebCore::LocalDC::LocalDC):
186551
1865522011-11-30  Vsevolod Vlasov  <vsevik@chromium.org>
186553
186554        Web Inspector: Inspect element does not highlight element in elements panel when inspector is opened.
186555        https://bugs.webkit.org/show_bug.cgi?id=73459
186556
186557        Reviewed by Pavel Feldman.
186558
186559        This regressed in r101503.
186560
186561        * inspector/InjectedScriptHost.cpp:
186562        (WebCore::InjectedScriptHost::InjectedScriptHost):
186563        (WebCore::InjectedScriptHost::disconnect):
186564        (WebCore::InjectedScriptHost::inspectImpl):
186565        * inspector/InjectedScriptHost.h:
186566        (WebCore::InjectedScriptHost::init):
186567        * inspector/InspectorAgent.cpp:
186568        (WebCore::InspectorAgent::enable):
186569        (WebCore::InspectorAgent::inspect):
186570        * inspector/InspectorAgent.h:
186571        * inspector/InspectorController.cpp:
186572        (WebCore::InspectorController::connectFrontend):
186573        (WebCore::InspectorController::disconnectFrontend):
186574        * inspector/WorkerInspectorController.cpp:
186575        (WebCore::WorkerInspectorController::connectFrontend):
186576        (WebCore::WorkerInspectorController::disconnectFrontend):
186577
1865782011-11-30  Tony Chang  <tony@chromium.org>
186579
186580        Remove dead flexible box code
186581        https://bugs.webkit.org/show_bug.cgi?id=73377
186582
186583        Reviewed by Darin Adler.
186584
186585        We used to use these with an earlier version of the spec where margins
186586        set to auto were treated as flex(1).
186587
186588        No new tests, just removing some uncalled methods.
186589
186590        * rendering/RenderFlexibleBox.cpp:
186591        * rendering/RenderFlexibleBox.h:
186592
1865932011-11-30  Antti Koivisto  <antti@apple.com>
186594
186595        Reuse cached style fully if the parent inherited styles are equal 
186596        https://bugs.webkit.org/show_bug.cgi?id=73421
186597
186598        Reviewed by Oliver Hunt.
186599
186600        The matched declaration cache currently restores the non-inherted properties from the cache
186601        entry but still applies all inherited properties normally. In case the current parent
186602        inherited style is equivalent to the cache entry's, also the inherited style can be reused
186603        and no properties need to be applied. This is faster and saves memory (by sharing the
186604        style substructures better).
186605        
186606        The new optimized code path has a pretty good hit rate, >50% of all cases on many pages.
186607        
186608        Loading the HTML5 spec this reduces style memory consumption by ~20% (5MB, ~2.5% of total) and 
186609        speeds up style applying by ~25% for ~0.4s (2-3%) gain in the spec loading benchmark.
186610        
186611        * css/CSSStyleSelector.cpp:
186612        (WebCore::CSSStyleSelector::applyDeclaration):
186613        (WebCore::CSSStyleSelector::applyDeclarations):
186614        
186615            Remove the code that dynamically disables inherited only applying. We now don't allow
186616            styles with explicitly inherited properties to be cached in the first place.
186617        
186618        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
186619        
186620            Return the full cache item.
186621        
186622        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
186623        
186624            Also the parent style is now needed for the check for full sharing.
186625        
186626        (WebCore::isCacheableInMatchedDeclarationCache):
186627
186628            Don't allow styles with explicitly inherited properties to be cached at all.
186629        
186630        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
186631        
186632            If the parent inherited styles are equal reuse the cache entry fully and return without
186633            doing anything else.
186634        
186635        * css/CSSStyleSelector.h:
186636        * rendering/style/RenderStyle.cpp:
186637        (WebCore::RenderStyle::inheritedDataShared):
186638        * rendering/style/RenderStyle.h:
186639        
186640            Add fast check for equal inherited properties.
186641
1866422011-11-30  Renata Hodovan  <reni@webkit.org>
186643
186644        CG buildfix after r101517.
186645
186646        Rubber stamped by Zoltan Herczeg.
186647
186648        * rendering/svg/RenderSVGRect.cpp:
186649        (WebCore::RenderSVGRect::fillShape):
186650
1866512011-11-30  Anna Cavender  <annacc@chromium.org>
186652
186653        Missing RuntimeEnabled check for <track>
186654        https://bugs.webkit.org/show_bug.cgi?id=73398
186655
186656        Reviewed by Eric Carlson.
186657
186658        No new tests. This fixes a problem when --enable-video-track is not used,
186659        but the tests use this flag.
186660
186661        * html/HTMLMediaElement.cpp:
186662        (WebCore::HTMLMediaElement::trackWillBeRemoved):
186663
1866642011-11-30  Andrey Kosyakov  <caseq@chromium.org>
186665
186666        Web Inspector: [refactoring] do not clone nodes that contain linkified URLs
186667        https://bugs.webkit.org/show_bug.cgi?id=73323
186668
186669        Reviewed by Pavel Feldman.
186670
186671        * inspector/front-end/StylesSidebarPane.js:
186672        (WebInspector.StylePropertiesSection):
186673        (WebInspector.StylePropertiesSection.prototype._createRuleOriginNode):
186674        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
186675        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
186676        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
186677        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
186678        * inspector/front-end/elementsPanel.css:
186679        (.styles-section a[data-uncopyable]):
186680        (.styles-section a[data-uncopyable]::before):
186681
1866822011-11-30  Renata Hodovan  <reni@webkit.org>
186683
186684        Add new renderer for SVGRectElement.
186685        https://bugs.webkit.org/show_bug.cgi?id=65769
186686
186687        Reviewed by Nikolas Zimmermann.
186688
186689        This patch introduces a new common base class called RenderSVGShape which
186690        replaces the RenderSVGPath. This new base class has the same purpose
186691        as the replaced class and has specialized descendants for common
186692        shapes (like Rectangles and Circles), which allows faster painting
186693        of these shapes when certain conditions are fulfilled. On some
186694        benchmark programs we have seen 5% speedup.
186695
186696        The biggest motivation of this refactor is taking advantage
186697        of faster primitive drawing in the most common and frequent
186698        cases. However in some rare cases, like painting rounded
186699        rects, we need to fallback to the original code path, which
186700        is fully kept in the RenderSVGShape base class. Some other
186701        cases, like dashed strokes, can be painted but mouse pointer
186702        events cannot be handled by the descendant classes. A different
186703        fallback mechanism is used in such cases which redirects
186704        only the pointer event handling to the base class.
186705
186706        Tests: svg/custom/pointer-events-on-rounded-rect.xhtml
186707               svg/custom/pointer-events-with-linecaps-and-miterlimits.xhtml
186708
186709        * CMakeLists.txt:
186710        * GNUmakefile.list.am:
186711        * WebCore.gypi:
186712        * WebCore.pro:
186713        * WebCore.vcproj/WebCore.vcproj:
186714        * platform/graphics/FloatRect.cpp:
186715        (WebCore::FloatRect::contains):
186716        * platform/graphics/FloatRect.h:
186717        (WebCore::FloatRect::contains):
186718        * rendering/RenderObject.h:
186719        (WebCore::RenderObject::isSVGRect):
186720        (WebCore::RenderObject::isSVGShape):
186721        * rendering/RenderTreeAsText.cpp:
186722        (WebCore::write):
186723        * rendering/svg/RenderSVGAllInOne.cpp:
186724        * rendering/svg/RenderSVGModelObject.cpp:
186725        (WebCore::isGraphicsElement):
186726        * rendering/svg/RenderSVGPath.cpp:
186727        (WebCore::RenderSVGPath::RenderSVGPath):
186728        (WebCore::RenderSVGPath::inflateWithStrokeAndMarkerBounds): Unite the markerBounds with strokeBoundingBox.
186729        * rendering/svg/RenderSVGPath.h:
186730        * rendering/svg/RenderSVGRect.cpp: Added.
186731        (WebCore::RenderSVGRect::RenderSVGRect):
186732        (WebCore::RenderSVGRect::~RenderSVGRect):
186733        (WebCore::RenderSVGRect::createShape):
186734        (WebCore::RenderSVGRect::objectBoundingBox):
186735        (WebCore::RenderSVGRect::strokeBoundingBox):
186736        (WebCore::RenderSVGRect::fillShape):
186737        (WebCore::RenderSVGRect::strokeShape):
186738        (WebCore::RenderSVGRect::shapeDependentStrokeContains):
186739        (WebCore::RenderSVGRect::shapeDependentFillContains):
186740        * rendering/svg/RenderSVGRect.h: Added.
186741        (WebCore::RenderSVGRect::isSVGRect):
186742        (WebCore::RenderSVGRect::renderName):
186743        (WebCore::RenderSVGRect::isEmpty):
186744        * rendering/svg/RenderSVGResource.h:
186745        (WebCore::RenderSVGResource::postApplyResource): A new shape argument was added to allow shape specific faster painting.
186746        * rendering/svg/RenderSVGResourceClipper.cpp:
186747        (WebCore::RenderSVGResourceClipper::drawContentIntoMaskImage):
186748        (WebCore::RenderSVGResourceClipper::calculateClipContentRepaintRect):
186749        (WebCore::RenderSVGResourceClipper::hitTestClipContent):
186750        * rendering/svg/RenderSVGResourceContainer.cpp:
186751        (WebCore::RenderSVGResourceContainer::transformOnNonScalingStroke):
186752        * rendering/svg/RenderSVGResourceFilter.cpp:
186753        (WebCore::RenderSVGResourceFilter::postApplyResource):
186754        * rendering/svg/RenderSVGResourceFilter.h:
186755        * rendering/svg/RenderSVGResourceGradient.cpp:
186756        (WebCore::RenderSVGResourceGradient::applyResource):
186757        * rendering/svg/RenderSVGResourceGradient.h:
186758        * rendering/svg/RenderSVGResourcePattern.cpp:
186759        (WebCore::RenderSVGResourcePattern::postApplyResource):
186760        * rendering/svg/RenderSVGResourcePattern.h:
186761        * rendering/svg/RenderSVGResourceSolidColor.cpp:
186762        (WebCore::RenderSVGResourceSolidColor::postApplyResource):
186763        * rendering/svg/RenderSVGResourceSolidColor.h:
186764        * rendering/svg/RenderSVGShape.cpp: Copied from Source/WebCore/rendering/svg/RenderSVGPath.cpp.
186765        (WebCore::RenderSVGShape::RenderSVGShape):
186766        (WebCore::RenderSVGShape::~RenderSVGShape):
186767        (WebCore::RenderSVGShape::createShape):
186768        (WebCore::RenderSVGShape::isEmpty):
186769        (WebCore::RenderSVGShape::fillShape):
186770        (WebCore::RenderSVGShape::objectBoundingBox):
186771        (WebCore::RenderSVGShape::strokeBoundingBox):
186772        (WebCore::RenderSVGShape::strokeShape):
186773        (WebCore::RenderSVGShape::shapeDependentStrokeContains):
186774        The purpose of this virtual function allows decendants to use their own fast checks.
186775        (WebCore::RenderSVGShape::shapeDependentFillContains):
186776        The purpose of this virtual function allows decendants to use their own fast checks.
186777        (WebCore::RenderSVGShape::fillContains):
186778        (WebCore::RenderSVGShape::strokeContains):
186779        (WebCore::RenderSVGShape::layout):
186780        (WebCore::RenderSVGShape::shouldStrokeZeroLengthSubpath):
186781        (WebCore::RenderSVGShape::zeroLengthSubpathRect):
186782        (WebCore::RenderSVGShape::setupSquareCapPath):
186783        (WebCore::RenderSVGShape::setupNonScalingStrokePath):
186784        (WebCore::RenderSVGShape::fillAndStrokePath):
186785        (WebCore::RenderSVGShape::paint):
186786        (WebCore::RenderSVGShape::addFocusRingRects):
186787        (WebCore::RenderSVGShape::nodeAtFloatPoint):
186788        (WebCore::RenderSVGShape::calculateMarkerBoundsIfNeeded):
186789        (WebCore::RenderSVGShape::updateCachedBoundaries):
186790        (WebCore::RenderSVGShape::strokeWidth):
186791        * rendering/svg/RenderSVGShape.h: Copied from Source/WebCore/rendering/svg/RenderSVGPath.h.
186792        (WebCore::BoundingRectStrokeStyleApplier::BoundingRectStrokeStyleApplier):
186793        (WebCore::BoundingRectStrokeStyleApplier::strokeStyle):
186794        (WebCore::RenderSVGShape::setNeedsShapeUpdate):
186795        (WebCore::RenderSVGShape::setNeedsBoundariesUpdate):
186796        (WebCore::RenderSVGShape::setNeedsTransformUpdate):
186797        (WebCore::RenderSVGShape::isPaintingFallback):
186798        (WebCore::RenderSVGShape::path):
186799        (WebCore::RenderSVGShape::setIsPaintingFallback):
186800        (WebCore::RenderSVGShape::setStrokeAndMarkerBoundingBox):
186801        (WebCore::RenderSVGShape::hasPath):
186802        (WebCore::RenderSVGShape::repaintRectInLocalCoordinates):
186803        (WebCore::RenderSVGShape::localToParentTransform):
186804        (WebCore::RenderSVGShape::localTransform):
186805        (WebCore::RenderSVGShape::isSVGShape):
186806        (WebCore::RenderSVGShape::renderName):
186807        (WebCore::RenderSVGShape::isRoundedRect):
186808        (WebCore::RenderSVGShape::inflateWithMarkerBounds):
186809        (WebCore::toRenderSVGShape):
186810        * rendering/svg/SVGInlineTextBox.cpp:
186811        (WebCore::SVGInlineTextBox::releasePaintingResource):
186812        * rendering/svg/SVGRenderSupport.cpp:
186813        (WebCore::SVGRenderSupport::finishRenderSVGContent):
186814        (WebCore::SVGRenderSupport::layoutChildren):
186815        * rendering/svg/SVGRenderTreeAsText.cpp:
186816        (WebCore::writeStyle):
186817        (WebCore::operator<<):
186818        (WebCore::write):
186819        * rendering/svg/SVGRenderTreeAsText.h:
186820        * rendering/svg/SVGTextRunRenderingContext.cpp:
186821        (WebCore::SVGTextRunRenderingContext::drawSVGGlyphs):
186822        * svg/SVGCircleElement.cpp:
186823        (WebCore::SVGCircleElement::svgAttributeChanged):
186824        * svg/SVGEllipseElement.cpp:
186825        (WebCore::SVGEllipseElement::svgAttributeChanged):
186826        * svg/SVGLineElement.cpp:
186827        (WebCore::SVGLineElement::svgAttributeChanged):
186828        * svg/SVGPathElement.cpp:
186829        (WebCore::SVGPathElement::svgAttributeChanged):
186830        (WebCore::SVGPathElement::pathSegListChanged):
186831        (WebCore::SVGPathElement::createRenderer):
186832        * svg/SVGPathElement.h:
186833        * svg/SVGPolyElement.cpp:
186834        (WebCore::SVGPolyElement::svgAttributeChanged):
186835        * svg/SVGRectElement.cpp:
186836        (WebCore::SVGRectElement::svgAttributeChanged):
186837        (WebCore::SVGRectElement::createRenderer):
186838        * svg/SVGRectElement.h:
186839
1868402011-11-30  Adam Roben  <aroben@apple.com>
186841
186842        Another Clang build fix after r101507
186843
186844        * platform/network/SocketStreamHandleClient.h:
186845        (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount): Removed unused parameter.
186846
1868472011-11-30  Renata Hodovan  <reni@webkit.org>
186848
186849        MAC build fix after r101507.
186850
186851        Rubber stamped by Csaba Osztrogonac.
186852
186853        * platform/network/SocketStreamHandleClient.h:
186854        (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount):
186855        * websockets/WebSocket.cpp:
186856        (WebCore::WebSocket::didUpdateBufferedAmount):
186857        * websockets/WebSocket.h:
186858        * websockets/WebSocketChannel.cpp:
186859        (WebCore::WebSocketChannel::didUpdateBufferedAmount):
186860        * websockets/WebSocketChannel.h:
186861
1868622011-11-30  John Knottenbelt  <jknotten@chromium.org>
186863
186864        Remove unnecessary asserts in HTMLTextAreaElement.
186865        https://bugs.webkit.org/show_bug.cgi?id=73135
186866
186867        http://code.google.com/p/chromium/issues/detail?id=103228 shows
186868        that sometimes we are hitting the following assert in
186869        HTMLTextAreaElement::updateFocusAppearance:
186870
186871        ASSERT(!document()->childNeedsAndNotInStyleRecalc());
186872
186873        This assert was added by https://bugs.webkit.org/show_bug.cgi?id=27474
186874        as part of a fix for a crash when the selection is set immediately
186875        after setting display:none.
186876
186877        All the methods called by updateFocusAppearance already handle the
186878        case of the document having the childNeedsStyleRecalc flag set, so
186879        this assert is unnecessary. The ASSERT(renderer()) is similarly
186880        redundant.
186881
186882        Reviewed by Kent Tamura.
186883
186884        * html/HTMLTextAreaElement.cpp:
186885        (WebCore::HTMLTextAreaElement::updateFocusAppearance):
186886
1868872011-11-30  Adam Roben  <aroben@apple.com>
186888
186889        Clang build fix after r101507
186890
186891        * websockets/WebSocketChannelClient.h:
186892        (WebCore::WebSocketChannelClient::didUpdateBufferedAmount): Removed unused parameter.
186893
1868942011-11-30  Nikita Vasilyev  <me@elv1s.ru>
186895
186896        Web Inspector: Preserve an indentation level when inserting a new line
186897        https://bugs.webkit.org/show_bug.cgi?id=71625
186898
186899        Indent one level more when a line ends with either "{", "[" or "(".
186900
186901        Reviewed by Pavel Feldman.
186902
186903        * inspector/front-end/TextEditorModel.js:
186904        (WebInspector.TextRange.prototype.collapseToEnd):
186905        (WebInspector.TextRange.prototype.normalize):
186906        * inspector/front-end/TextViewer.js:
186907        (WebInspector.TextViewer.prototype._registerShortcuts):
186908        (WebInspector.TextViewer.prototype._handleKeyDown):
186909        (WebInspector.TextEditorMainPanel.prototype.handleEnterKey):
186910        (WebInspector.TextEditorMainPanel.prototype._getSelection):
186911
1869122011-11-30  Alexander Pavlov  <apavlov@chromium.org>
186913
186914        Web Inspector: Display of data URIs cumbersome in the Elements panel
186915        https://bugs.webkit.org/show_bug.cgi?id=73438
186916
186917        Reviewed by Pavel Feldman.
186918
186919        * inspector/front-end/ElementsTreeOutline.js:
186920        (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
186921
1869222011-11-28  Vsevolod Vlasov  <vsevik@chromium.org>
186923
186924        Web Inspector: TreeOutline elements should be formatted using margin-left instead of text-indent.
186925        https://bugs.webkit.org/show_bug.cgi?id=73234
186926
186927        Reviewed by Pavel Feldman.
186928
186929        * inspector/front-end/ResourceHeadersView.js:
186930        (WebInspector.ResourceHeadersView.prototype._refreshHeadersText):
186931        * inspector/front-end/ResourcesPanel.js:
186932        (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
186933        * inspector/front-end/auditsPanel.css:
186934        (.audit-result-tree li):
186935        (.audit-result-tree li.parent):
186936        (.audit-result img):
186937        * inspector/front-end/inspector.css:
186938        (.outline-disclosure li):
186939        (.outline-disclosure li.parent):
186940        * inspector/front-end/networkPanel.css:
186941        * inspector/front-end/resourcesPanel.css:
186942        (.resources.panel .sidebar-resizer-vertical):
186943        (.resources.panel .sidebar li):
186944        * inspector/front-end/treeoutline.js:
186945        (TreeElement.prototype.isEventWithinDisclosureTriangle):
186946
1869472011-11-30  Kentaro Hara  <haraken@chromium.org>
186948
186949        Implement the [NamedConstructor] IDL in CodeGeneratorJS.pm
186950        https://bugs.webkit.org/show_bug.cgi?id=73307
186951
186952        Reviewed by Adam Barth.
186953
186954        This patch implements the [NamedConstructor] IDL for JSC.
186955        The spec: http://www.w3.org/TR/WebIDL/#NamedConstructor
186956
186957        Tests: bindings/scripts/test/JS/JSTestNamedConstructor.idl
186958
186959        * bindings/scripts/CodeGeneratorJS.pm:
186960        (GenerateHeader): Removed unnecessary conditions '$dataNode->extendedAttributes->{"JSCustomConstructor"} || $dataNode->extendedAttributes->{"CustomConstructor"}'.
186961        (GenerateImplementation): Calls GenerateConstructorDefinition() to generate a NamedConstructor.
186962        (GenerateConstructorDeclaration): Generates a header for a NamedConstructor.
186963        (GenerateConstructorDefinition): Generates a NamedConstructor implementation and getConstructData() for the NamedConstructor.
186964        (IsConstructable): Added a NamedConstructor condition.
186965
186966        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Updated a run-bindings-tests result.
186967        (WebCore::JSTestNamedConstructorNamedConstructor::JSTestNamedConstructorNamedConstructor):
186968        (WebCore::JSTestNamedConstructorNamedConstructor::finishCreation):
186969        (WebCore::JSTestNamedConstructorNamedConstructor::constructJSTestNamedConstructor):
186970        (WebCore::JSTestNamedConstructorNamedConstructor::getConstructData):
186971        * bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
186972        (WebCore::JSTestNamedConstructorNamedConstructor::create):
186973        (WebCore::JSTestNamedConstructorNamedConstructor::createStructure):
186974
1869752011-11-30  Takashi Toyoshima  <toyoshim@chromium.org>
186976
186977        Add didUpdateBufferedAmount() callback to SocketStreamHandleClient
186978        and WebSocketChannelClient.
186979        https://bugs.webkit.org/show_bug.cgi?id=73290
186980
186981        Reviewed by Kent Tamura.
186982
186983        No new tests because this callback is not used in WebCore.
186984
186985        * platform/network/SocketStreamHandleBase.cpp: Invoke new callback.
186986        (WebCore::SocketStreamHandleBase::send):
186987        (WebCore::SocketStreamHandleBase::sendPendingData):
186988        * platform/network/SocketStreamHandleBase.h: Change returning value type.
186989        (WebCore::SocketStreamHandleBase::bufferedAmount):
186990        * platform/network/SocketStreamHandleClient.h: Add new callback definition.
186991        (WebCore::SocketStreamHandleClient::didUpdateBufferedAmount):
186992        * websockets/ThreadableWebSocketChannelClientWrapper.cpp: Add new callback handling.
186993        (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmount):
186994        (WebCore::ThreadableWebSocketChannelClientWrapper::didUpdateBufferedAmountCallback):
186995        * websockets/ThreadableWebSocketChannelClientWrapper.h: Add new callback inheritance and its helper method.
186996        * websockets/WebSocket.cpp: Add new callback handling.
186997        (WebCore::WebSocket::didUpdateBufferedAmount):
186998        * websockets/WebSocket.h: Add new callback inheritance.
186999        * websockets/WebSocketChannel.cpp: Add new callback handling.
187000        (WebCore::WebSocketChannel::didUpdateBufferedAmount):
187001        * websockets/WebSocketChannel.h: Add new callback inheritacne.
187002        * websockets/WebSocketChannelClient.h: Add new callback definition.
187003        (WebCore::WebSocketChannelClient::didUpdateBufferedAmount):
187004        * websockets/WorkerThreadableWebSocketChannel.cpp: Add new callback handling.
187005        (WebCore::workerContextDidUpdateBufferedAmount):
187006        (WebCore::WorkerThreadableWebSocketChannel::Peer::didUpdateBufferedAmount):
187007        * websockets/WorkerThreadableWebSocketChannel.h: Add new callback inheritance and its helper method.
187008
1870092011-11-30  Kentaro Hara  <haraken@chromium.org>
187010
187011        [Refactoring] In preprocessor.pm, remove double quotations from $defines
187012        https://bugs.webkit.org/show_bug.cgi?id=73160
187013
187014        Reviewed by Adam Barth.
187015
187016        In preprocessor.pm, we need to extract gcc macros from $defines.
187017        $defines can contain unnecessary double quotations.
187018        For example, if $defines is ' "A=1" "B=1" C=1 ""    D  ',
187019        then it should be converted into four macros, -DA=1, -DB=1, -DC=1 and -DD.
187020        This patch refactors the logic in preprocessor.pm.
187021
187022        No new tests. No change in behavior.
187023
187024        * bindings/scripts/generate-bindings.pl: Removed a code for $defines conversion, since it is now done in preprocessor.pm.
187025        * bindings/scripts/preprocessor.pm:
187026        (applyPreprocessor):
187027
1870282011-11-30  Kenichi Ishibashi  <bashi@chromium.org>
187029
187030        @font-face: unquoted local font names containing spaces don't work
187031        https://bugs.webkit.org/show_bug.cgi?id=64783
187032
187033        Allows local font names with spaces.
187034        Rejects the src descriptor if there is invalid identifiers in local(), as the same as Firefox.
187035
187036        Reviewed by Ryosuke Niwa.
187037
187038        Tests: fast/css/font-face-unquoted-local-expected.html
187039               fast/css/font-face-unquoted-local.html
187040
187041        * css/CSSParser.cpp:
187042        (WebCore::parseFontFaceSrcFunction): Added. Treats multiple identifiers in local() as a font name separated by spaces.
187043        (WebCore::CSSParser::parseFontFaceSrc): Moved the code block which parses local() and format() to parseFontFaceSrcFunction().
187044
1870452011-11-30  Pavel Feldman  <pfeldman@google.com>
187046
187047        Web Inspector: get rid of deferred backend->front-end commands processing.
187048        https://bugs.webkit.org/show_bug.cgi?id=73439
187049
187050        We should issue tests upon InspectorAgent::enable and should not do any deferred command processing.
187051
187052        Reviewed by Yury Semikhatsky.
187053
187054        * inspector/InspectorAgent.cpp:
187055        (WebCore::InspectorAgent::InspectorAgent):
187056        (WebCore::InspectorAgent::setFrontend):
187057        (WebCore::InspectorAgent::clearFrontend):
187058        (WebCore::InspectorAgent::enable):
187059        (WebCore::InspectorAgent::evaluateForTestInFrontend):
187060        * inspector/InspectorAgent.h:
187061        * inspector/front-end/inspector.js:
187062
1870632011-11-30  Andreas Kling  <kling@webkit.org>
187064
187065        REGRESSION(r101172): It made fast/dom/clone-node-style.html assert.
187066        <http://webkit.org/b/73227>
187067
187068        Reviewed by Antti Koivisto.
187069
187070        r101172 inadvertently introduced a default assignment operator for CSSElementStyleDeclaration
187071        which caused StyledElement::copyNonAttributeProperties() to associate the element's inline
187072        style declaration with the element being cloned.
187073
187074        Replace CSSMutableStyleDeclaration::operator= by copyPropertiesAndStrictnessFrom()
187075        that matches the old behavior.
187076
187077        * css/CSSMutableStyleDeclaration.cpp:
187078        (WebCore::CSSMutableStyleDeclaration::copyPropertiesAndStrictnessFrom):
187079        * css/CSSMutableStyleDeclaration.h:
187080        * dom/StyledElement.cpp:
187081        (WebCore::StyledElement::copyNonAttributeProperties):
187082
1870832011-11-30  Mary Wu  <mary.wu@torchmobile.com.cn>
187084
187085        remove buildinformation from BlackBerry porting build system
187086        https://bugs.webkit.org/show_bug.cgi?id=73276
187087
187088        Reviewed by Daniel Bates.
187089
187090        * PlatformBlackBerry.cmake: remove generated files BuildInformation.cpp/.h
187091
1870922011-11-30  Luke Macpherson   <macpherson@chromium.org>
187093
187094        Implement Zoom Property in CSSSStyleApplyProperty.
187095        https://bugs.webkit.org/show_bug.cgi?id=72840
187096
187097        Reviewed by Andreas Kling.
187098
187099        Covered by fast/css/*zoom*.html
187100
187101        * css/CSSStyleApplyProperty.cpp:
187102        Add new handler for zoom property (based on existing code from CSSStyleSelector.cpp)
187103        (WebCore::ApplyPropertyZoom::resetEffectiveZoom):
187104        (WebCore::ApplyPropertyZoom::applyInheritValue):
187105        (WebCore::ApplyPropertyZoom::applyInitialValue):
187106        (WebCore::ApplyPropertyZoom::applyValue):
187107        (WebCore::ApplyPropertyZoom::createHandler):
187108        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
187109        * css/CSSStyleSelector.cpp:
187110        Remove existing implementation.
187111        (WebCore::CSSStyleSelector::applyProperty):
187112        * css/CSSStyleSelector.h:
187113        (WebCore::CSSStyleSelector::document):
187114        Add getter for Document.
187115
1871162011-11-30  David Reveman  <reveman@chromium.org>
187117
187118        [Chromium] Re-enable layer anti-aliasing on ChromeOS.
187119        https://bugs.webkit.org/show_bug.cgi?id=73361
187120
187121        Reviewed by James Robinson.
187122
187123        Anti-aliasing should be enabled by default on ChromeOS.
187124
187125        No new tests.
187126
187127        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
187128        (WebCore::CCRenderSurface::drawLayer):
187129        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
187130        (WebCore::CCTiledLayerImpl::draw):
187131
1871322011-11-30  Michael Nordman  <michaeln@google.co>
187133
187134        [chromium] WebSQLDatabase could use some better error reporting.
187135        Instruments the database classes to report errors to a DatabaseObserver.
187136        https://bugs.webkit.org/show_bug.cgi?id=73258
187137
187138        Reviewed by David Levin.
187139
187140        No new tests, no content observable artifacts.
187141
187142        * storage/AbstractDatabase.cpp:
187143        (WebCore::AbstractDatabase::AbstractDatabase):
187144        (WebCore::AbstractDatabase::performOpenAndVerify):
187145        (WebCore::AbstractDatabase::incrementalVacuumIfNeeded):
187146        (WebCore::AbstractDatabase::reportOpenDatabaseResult):
187147        (WebCore::AbstractDatabase::reportChangeVersionResult):
187148        (WebCore::AbstractDatabase::reportStartTransactionResult):
187149        (WebCore::AbstractDatabase::reportCommitTransactionResult):
187150        (WebCore::AbstractDatabase::reportExecuteStatementResult):
187151        (WebCore::AbstractDatabase::reportVacuumDatabaseResult):
187152        * storage/AbstractDatabase.h:
187153        (WebCore::AbstractDatabase::isSyncDatabase):
187154        * storage/ChangeVersionWrapper.cpp:
187155        (WebCore::ChangeVersionWrapper::performPreflight):
187156        (WebCore::ChangeVersionWrapper::performPostflight):
187157        * storage/Database.cpp:
187158        (WebCore::Database::Database):
187159        * storage/DatabaseSync.cpp:
187160        (WebCore::DatabaseSync::DatabaseSync):
187161        (WebCore::DatabaseSync::changeVersion):
187162        * storage/SQLStatement.cpp:
187163        (WebCore::SQLStatement::execute):
187164        (WebCore::SQLStatement::setDatabaseDeletedError):
187165        (WebCore::SQLStatement::setVersionMismatchedError):
187166        (WebCore::SQLStatement::setFailureDueToQuota):
187167        * storage/SQLStatement.h:
187168        * storage/SQLTransaction.cpp:
187169        (WebCore::SQLTransaction::executeSQL):
187170        (WebCore::SQLTransaction::openTransactionAndPreflight):
187171        (WebCore::SQLTransaction::deliverTransactionCallback):
187172        (WebCore::SQLTransaction::runCurrentStatement):
187173        (WebCore::SQLTransaction::handleCurrentStatementError):
187174        (WebCore::SQLTransaction::deliverStatementCallback):
187175        (WebCore::SQLTransaction::postflightAndCommit):
187176        * storage/SQLTransactionSync.cpp:
187177        (WebCore::SQLTransactionSync::begin):
187178        (WebCore::SQLTransactionSync::commit):
187179        * storage/chromium/DatabaseObserver.h:
187180
1871812011-11-30  Rafael Weinstein  <rafaelw@chromium.org>
187182
187183        [MutationObservers] V8 bindings don't properly wrap all calls into JS
187184        https://bugs.webkit.org/show_bug.cgi?id=72063
187185
187186        Reviewed by Adam Barth.
187187
187188        This patch changes cleans up script invocation in V8Proxy. It removes callFunctionWithoutFrame
187189        and changes callers to simply call instrumentedFunctionCall with a null Page. Also, it implements
187190        the non-static callFunction to be implemented in terms of instrumentedFunctionCall.
187191
187192        No new tests.
187193
187194        * bindings/v8/ScriptFunctionCall.cpp:
187195        (WebCore::ScriptCallback::call):
187196        * bindings/v8/V8NodeFilterCondition.cpp:
187197        (WebCore::V8NodeFilterCondition::acceptNode):
187198        * bindings/v8/V8Proxy.cpp:
187199        (WebCore::V8Proxy::callFunction):
187200        (WebCore::V8Proxy::instrumentedCallFunction):
187201        * bindings/v8/V8Proxy.h:
187202        * bindings/v8/custom/V8CustomXPathNSResolver.cpp:
187203        (WebCore::V8CustomXPathNSResolver::lookupNamespaceURI):
187204
1872052011-11-30  Sheriff Bot  <webkit.review.bot@gmail.com>
187206
187207        Unreviewed, rolling out r101440 and r101442.
187208        http://trac.webkit.org/changeset/101440
187209        http://trac.webkit.org/changeset/101442
187210        https://bugs.webkit.org/show_bug.cgi?id=73429
187211
187212        multiple crashes on layout tests (Requested by hayato on
187213        #webkit).
187214
187215        * platform/graphics/chromium/LayerRendererChromium.cpp:
187216        (WebCore::LayerRendererChromium::initialize):
187217        * platform/graphics/chromium/WebGLLayerChromium.cpp:
187218        (WebCore::WebGLLayerChromium::layerRendererContext):
187219        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
187220        (WebCore::CCHeadsUpDisplay::enabled):
187221        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
187222        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
187223        (WebCore::CCLayerTreeHost::initialize):
187224        (WebCore::CCLayerTreeHost::~CCLayerTreeHost):
187225        (WebCore::CCLayerTreeHost::context):
187226        (WebCore::CCLayerTreeHost::setNeedsAnimate):
187227        (WebCore::CCLayerTreeHost::setNeedsCommit):
187228        (WebCore::CCLayerTreeHost::setNeedsRedraw):
187229        (WebCore::CCLayerTreeHost::composite):
187230        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
187231        (WebCore::CCSettings::CCSettings):
187232        * platform/graphics/chromium/cc/CCProxy.cpp:
187233        (WebCore::CCProxy::isMainThread):
187234        (WebCore::CCProxy::isImplThread):
187235        (WebCore::CCProxy::setImplThread):
187236        * platform/graphics/chromium/cc/CCProxy.h:
187237        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
187238        (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
187239        (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
187240
1872412011-11-30  Alexey Proskuryakov  <ap@apple.com>
187242
187243        Download page URL should be set by WebCore
187244        https://bugs.webkit.org/show_bug.cgi?id=73358
187245
187246        Reviewed by Darin Adler.
187247
187248        No change in behavior, just refactoring.
187249
187250        * loader/FrameLoader.h:
187251        * loader/FrameLoader.cpp:
187252        (WebCore::originatingURLFromBackForwardList):
187253        (WebCore::FrameLoader::setOriginalURLForDownloadRequest):
187254        Moved implementations from WebKit, added a bunch of FIXMEs.
187255
187256        * loader/MainResourceLoader.cpp: (WebCore::MainResourceLoader::continueAfterContentPolicy):
187257        Set main document URL (incorrectly renamed to "first party for cookies" in WebCore), so that
187258        CFNetwork would automatically use it.
187259
187260        * loader/PolicyChecker.cpp: (WebCore::PolicyChecker::continueAfterNavigationPolicy): Ditto
187261        for requests that start as downloads (as opposed to being converted after reading first bits
187262        of response).
187263
1872642011-11-30  Rafael Weinstein  <rafaelw@chromium.org>
187265
187266        Remove unused isInlineCode from V8Proxy
187267        https://bugs.webkit.org/show_bug.cgi?id=73341
187268
187269        Reviewed by Adam Barth.
187270
187271        No tests needed. This patch only removes unnecessary code.
187272
187273        * bindings/v8/V8LazyEventListener.cpp:
187274        (WebCore::V8LazyEventListener::prepareListenerObject):
187275        * bindings/v8/V8Proxy.cpp:
187276        (WebCore::V8Proxy::V8Proxy):
187277        (WebCore::V8Proxy::evaluate):
187278        (WebCore::V8Proxy::runScript):
187279        * bindings/v8/V8Proxy.h:
187280
1872812011-11-30  Andrew Wason  <rectalogic@rectalogic.com>
187282
187283        Replace Qt QThread threading back-end with pthread/Win32 threading back-ends
187284        https://bugs.webkit.org/show_bug.cgi?id=72155
187285
187286        Reviewed by Simon Hausmann.
187287
187288        Need to include qglobal.h since ThreadingPrimitives.h no longer does.
187289
187290        * platform/network/NetworkingContext.h:
187291
1872922011-11-30  Jongseok Yang  <js45.yang@samsung.com>
187293
187294        [SOUP][WK2] Implement the functions to manager cookies in CookieJar for WebKit2
187295        https://bugs.webkit.org/show_bug.cgi?id=72353
187296
187297        r79722 inserted the functions to manange cookies from web process.
187298        (getHostnamesWithCookies,deleteCookiesForHostname,deleteAllCookies)
187299        Implement the functions for soup network backend.
187300
187301        Reviewed by Martin Robinson.
187302
187303        * platform/network/soup/CookieJarSoup.cpp:
187304        (WebCore::getHostnamesWithCookies):
187305        (WebCore::deleteCookiesForHostname):
187306        (WebCore::deleteAllCookies):
187307
1873082011-11-30  Daniel Sievers  <sievers@chromium.org>
187309
187310        [Chromium] Avoid ASSERT_NOT_REACHED() from creating FBO with content texture of size 0
187311        https://bugs.webkit.org/show_bug.cgi?id=73266
187312
187313        Remove render surface layers with no children after clipping to
187314        the parent layer.
187315
187316        Move the check for empty render surfaces after the piece of code
187317        used to apply the parent's clip, as we might end up calling
187318        renderSurface->clearLayerList().
187319
187320        Render surfaces with no children or visible content are unexpected
187321        especially at draw time where we might try to create a content
187322        texture and FBO with a size of zero, which will fail. This fixes
187323        an ASSERT_NOT_REACHED() for checkFramebufferStatus() != COMPLETE
187324
187325        Reviewed by James Robinson.
187326
187327        Added unit test.
187328
187329        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
187330        (WebCore::calculateDrawTransformsAndVisibilityInternal):
187331
1873322011-11-30  Pavel Feldman  <pfeldman@google.com>
187333
187334        Web Inspector: do not report worker-related events unless inspector agent is enabled.
187335        https://bugs.webkit.org/show_bug.cgi?id=73411
187336
187337        Backend should not generate messages until the client requests that they are sent.
187338
187339        Reviewed by Yury Semikhatsky.
187340
187341        * inspector/Inspector.json:
187342        * inspector/InspectorAgent.cpp:
187343        (WebCore::InspectorAgent::setFrontend):
187344        (WebCore::InspectorAgent::clearFrontend):
187345        (WebCore::InspectorAgent::enable):
187346        (WebCore::InspectorAgent::disable):
187347        (WebCore::InspectorAgent::postWorkerNotificationToFrontend):
187348        (WebCore::InspectorAgent::didCreateWorker):
187349        (WebCore::InspectorAgent::didDestroyWorker):
187350        (WebCore::InspectorAgent::developerExtrasEnabled):
187351        * inspector/InspectorAgent.h:
187352        * inspector/InspectorController.cpp:
187353        (WebCore::InspectorController::enabled):
187354        * inspector/InspectorInstrumentation.cpp:
187355        (WebCore::InspectorInstrumentation::didLoadResourceFromMemoryCacheImpl):
187356        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
187357        (WebCore::InspectorInstrumentation::didOpenDatabaseImpl):
187358        (WebCore::InspectorInstrumentation::didUseDOMStorageImpl):
187359        (WebCore::InspectorInstrumentation::didCreateWebSocketImpl):
187360        * inspector/InspectorPageAgent.cpp:
187361        * inspector/PageConsoleAgent.cpp:
187362        (WebCore::PageConsoleAgent::developerExtrasEnabled):
187363        * inspector/front-end/WorkerManager.js:
187364        (WebInspector.WorkerManager.prototype._workerInspectorClosing):
187365        (WebInspector.WorkerManager.prototype._disconnectedFromWorker):
187366        (WebInspector.DedicatedWorkerMessageForwarder.prototype.dispatchMessageFromWorker):
187367        (WebInspector.DedicatedWorkerMessageForwarder.prototype.disconnectedFromWorker):
187368        * inspector/front-end/inspector.js:
187369
1873702011-11-30  Jacky Jiang  <zhajiang@rim.com>
187371
187372        Upstream BlackBerry porting of WebCore/editing.
187373        https://bugs.webkit.org/show_bug.cgi?id=73275
187374
187375        Reviewed by Daniel Bates.
187376
187377        Initial upstream, no new tests.
187378
187379        * editing/blackberry/EditorBlackBerry.cpp: Added.
187380        (WebCore::Editor::newGeneralClipboard):
187381        * editing/blackberry/SmartReplaceBlackBerry.cpp: Added.
187382        (WebCore::isCharacterSmartReplaceExempt):
187383
1873842011-11-30  Noel Gordon  <noel.gordon@gmail.com>
187385
187386        JPEGImageDecoder: Code input color space case entries in numerical order
187387        https://bugs.webkit.org/show_bug.cgi?id=73287
187388
187389        Reviewed by Adam Barth.
187390
187391        No new tests. Covered by existing tests.
187392
187393        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
187394        (WebCore::JPEGImageReader::decode): JCS_YCbCr is one greater than JSC_RGB.
187395
1873962011-11-30  Alexandru Chiculita  <achicu@adobe.com>
187397
187398        FilterOperation* should stay in rendering/style, because it is directly referenced from RenderStyle
187399        https://bugs.webkit.org/show_bug.cgi?id=72539
187400
187401        Reviewed by Dean Jackson.
187402
187403        No new tests, just moving some files.
187404
187405        * CMakeLists.txt:
187406        * GNUmakefile.list.am:
187407        * Target.pri:
187408        * WebCore.gypi:
187409        * WebCore.vcproj/WebCore.vcproj:
187410        * WebCore.xcodeproj/project.pbxproj:
187411        * rendering/style/CustomFilterOperation.h: Renamed from Source/WebCore/platform/graphics/filters/CustomFilterOperation.h.
187412        * rendering/style/FilterOperation.h: Renamed from Source/WebCore/platform/graphics/filters/FilterOperation.h.
187413        * rendering/style/FilterOperations.cpp: Renamed from Source/WebCore/platform/graphics/filters/FilterOperations.cpp.
187414        * rendering/style/FilterOperations.h: Renamed from Source/WebCore/platform/graphics/filters/FilterOperations.h.
187415
1874162011-11-29  Kentaro Hara  <haraken@chromium.org>
187417
187418        StorageEvent.key should not be nullable
187419        https://bugs.webkit.org/show_bug.cgi?id=73125
187420
187421        Reviewed by Adam Barth.
187422
187423        Currently, document.createEvent('StorageEvent').key is evaluated as null.
187424        However, the spec (http://www.whatwg.org/specs/web-apps/current-work/#storageevent)
187425        says that StorageEvent.key is not a nullable type, and thus
187426        document.createEvent('StorageEvent').key should be '' (an empty string).
187427
187428        * storage/StorageEvent.idl: Removed a [ConvertNullStringTo=Null] IDL from StorageEvent.key.
187429
1874302011-11-29  Philip Rogers  <pdr@google.com>
187431
187432        Fix for fill color not being applied inside visited links
187433        https://bugs.webkit.org/show_bug.cgi?id=70434
187434
187435        Reviewed by Antti Koivisto.
187436
187437        Test: svg/custom/visited-link-color.svg
187438
187439        * rendering/style/SVGRenderStyle.h:
187440        (WebCore::SVGRenderStyle::setFillPaint):
187441        (WebCore::SVGRenderStyle::setStrokePaint):
187442
1874432011-11-29  David Levin  <levin@chromium.org>
187444
187445        Add a way to revert a variable to its previous value after leaving a scope.
187446        https://bugs.webkit.org/show_bug.cgi?id=73371
187447
187448        Reviewed by Adam Barth.
187449
187450        * ForwardingHeaders/wtf/TemporarilyChange.h: Added.
187451
1874522011-11-28  Kentaro Hara  <haraken@chromium.org>
187453
187454        Implement [Supplemental] IDL and support it in run-bindings-tests
187455        https://bugs.webkit.org/show_bug.cgi?id=73162
187456
187457        Reviewed by Adam Barth.
187458
187459        - Overview:
187460            - Implement the [Supplemental] IDL in resolve-supplemental.pl and generate-bindings.pl.
187461            - Support the [Supplemental] IDL in run-bindings-tests.
187462            - Add TestSupplemental.idl as a binding test and confirm that it works.
187463
187464        - The spec for the [Supplemental] IDL: http://dev.w3.org/2006/webapi/WebIDL/#dfn-supplemental-interface
187465
187466        - This patch affects run-bindings-tests results only and does not affect any real builds
187467        since no [Supplemental] IDL has been written in real WebCore IDL files for now.
187468
187469        - This patch makes a change on CodeGenerator*.pm to support the [Supplemental] IDL
187470        for (custom) getters and setters.
187471
187472        - Added perl scripts implement the [Supplemental] IDL as follows:
187473
187474            Previous build flow:
187475                foreach $idl (all IDL files) {
187476                    generate-bindings.pl depends on $idl;
187477                    generate-bindings.pl reads $idl;
187478                    generate-bindings.pl generates .h and .cpp files for $idl;
187479                }
187480
187481            New build flow (See the discussions in bug 72138 for more details):
187482                resolve-supplemental.pl depends on all IDL files;
187483                resolve-supplemental.pl reads all IDL files;
187484                resolve-supplemental.pl resolves the dependency of [Supplemental=XXXX];
187485                resolve-supplemental.pl outputs supplemental_dependency.tmp;
187486                foreach $idl (all IDL files) {
187487                    generate-bindings.pl depends on $idl and supplemental_dependency.tmp;
187488                    generate-bindings.pl reads $idl;
187489                    generate-bindings.pl reads supplemental_dependency.tmp;
187490                    generate-bindings.pl generates .h and .cpp files for $idl, including all attributes in IDL files which are implementing $idl;
187491                }
187492
187493        Tests: bindings/scripts/test/TestSupplemental.idl
187494
187495        * bindings/scripts/generate-bindings.pl: The input is an IDL file |x| and the dependency file. generate-bindings.pl generates .h and .cpp files for the IDL file |x|, including all the attributes in the IDL files which are implementing the IDL file |x|. generate-bindings.pl addes the [ImplementedBy] IDL to the attributes with the [Supplemental] IDL in order to indicate what IDL is implementing the attributes.
187496        * bindings/scripts/resolve-supplemental.pl: Added. resolve-supplemental.pl reads all IDL files, resolves [Supplemental=XXX] dependencies, and then outputs the dependency file. See the comment in resolve-supplemental.pl for the format of the dependency file.
187497
187498        * bindings/scripts/CodeGenerator.pm:
187499        (GenerateConditionalStringFromAttributeValue): Avoids duplicated conditions.
187500        * bindings/scripts/CodeGeneratorJS.pm:
187501        (GenerateHeader): If an attribute is [ImplementedBy] another IDL, then we omit the declaration of the custom getter and setter.
187502        (GenerateImplementation): If an attribute is [ImplementedBy] another IDL, then we call back the (custom) getter and setter of the IDL.
187503        * bindings/scripts/CodeGeneratorV8.pm:
187504        (GenerateHeader): If an attribute is [ImplementedBy] another IDL, then we omit the declaration of the custom getter and setter.
187505        (GenerateNormalAttrGetter): If an attribute is [ImplementedBy] another IDL, then we call back the getter of the IDL.
187506        (GenerateNormalAttrSetter): If an attribute is [ImplementedBy] another IDL, then we call back the setter of the IDL.
187507        (GenerateSingleBatchedAttribute): If an attribute is [ImplementedBy] another IDL, then we call back the custom getter or setter of the IDL.
187508        * bindings/scripts/CodeGeneratorCPP.pm:
187509        (GenerateImplementation): If an attribute is [ImplementedBy] another IDL, then we call back the getter and setter of the IDL. CodeGeneratorCPP.pm does not support a custom getter and setter.
187510        * bindings/scripts/CodeGeneratorGObject.pm:
187511        (GenerateProperty): Ditto.
187512        * bindings/scripts/CodeGeneratorObjC.pm:
187513        (GenerateImplementation): Ditto.
187514
187515        * bindings/scripts/test/TestSupplemental.idl: Added. A test case for the [Supplemental] IDL.
187516        * bindings/scripts/test/CPP/WebDOMTestInterface.cpp: Updated a run-bindings-tests result.
187517        (WebDOMTestInterface::str1):
187518        (WebDOMTestInterface::str2):
187519        (WebDOMTestInterface::setStr2):
187520        * bindings/scripts/test/CPP/WebDOMTestInterface.h: Ditto.
187521        * bindings/scripts/test/GObject/WebKitDOMTestInterface.cpp: Ditto.
187522        (webkit_dom_test_interface_get_str1):
187523        (webkit_dom_test_interface_get_str2):
187524        (webkit_dom_test_interface_set_str2):
187525        (webkit_dom_test_interface_set_property):
187526        (webkit_dom_test_interface_get_property):
187527        (webkit_dom_test_interface_class_init):
187528        * bindings/scripts/test/GObject/WebKitDOMTestInterface.h: Ditto.
187529        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
187530        (WebCore::jsTestInterfaceStr1):
187531        (WebCore::jsTestInterfaceStr2):
187532        (WebCore::jsTestInterfaceStr3):
187533        (WebCore::JSTestInterface::put):
187534        (WebCore::setJSTestInterfaceStr2):
187535        (WebCore::setJSTestInterfaceStr3):
187536        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
187537        * bindings/scripts/test/ObjC/DOMTestInterface.h: Ditto.
187538        * bindings/scripts/test/ObjC/DOMTestInterface.mm: Ditto.
187539        (-[DOMTestInterface str1]):
187540        (-[DOMTestInterface str2]):
187541        (-[DOMTestInterface setStr2:]):
187542        (-[DOMTestInterface str3]):
187543        (-[DOMTestInterface setStr3:]):
187544        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
187545        (WebCore::TestInterfaceInternal::str1AttrGetter):
187546        (WebCore::TestInterfaceInternal::str2AttrGetter):
187547        (WebCore::TestInterfaceInternal::str2AttrSetter):
187548        (WebCore::ConfigureV8TestInterfaceTemplate):
187549
1875502011-11-29  Leo Yang  <leo.yang@torchmobile.com.cn>
187551
187552        Upstream platform/network/blackberry/ProxyServerBlackBerry.cpp
187553        https://bugs.webkit.org/show_bug.cgi?id=73288
187554
187555        Reviewed by Antonio Gomes.
187556
187557        Initial upstream, can't be built yet, no new tests.
187558
187559        * platform/network/blackberry/ProxyServerBlackBerry.cpp: Added.
187560        (WebCore::proxyServersForURL):
187561
1875622011-11-29  Jessie Berlin  <jberlin@apple.com>
187563
187564        WKKeyValueStorageManagerGetKeyValueStorageOrigins may not report the correct list of origins
187565        the first time it is called.
187566        https://bugs.webkit.org/show_bug.cgi?id=73374 (<rdar://problem/10196057>)
187567
187568        Reviewed by Brady Eidson.
187569
187570        Add a callback for when the Storage Tracker is done loading the list of origins with Local
187571        Storage.
187572
187573        * storage/StorageTracker.cpp:
187574        (WebCore::StorageTracker::StorageTracker):
187575        Keep track of whether the import from disk has been completed.
187576        (WebCore::StorageTracker::notifyFinishedImportingOriginIdentifiersOnMainThread):
187577        (WebCore::StorageTracker::finishedImportingOriginIdentifiers):
187578        Set m_finishedImportingOriginIdentifiers to true and tell the client.
187579        (WebCore::StorageTracker::syncImportOriginIdentifiers):
187580        When finished, notify the shared StorageTracker on the main thread.
187581        * storage/StorageTracker.h:
187582        (WebCore::StorageTracker::originsLoaded):
187583
187584        * storage/StorageTrackerClient.h:
187585        Add didFinishLoadingOrigins.
187586
1875872011-11-18  Nat Duca  <nduca@chromium.org>
187588
187589        [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
187590        https://bugs.webkit.org/show_bug.cgi?id=70838
187591
187592        Reviewed by James Robinson.
187593
187594        * platform/graphics/chromium/LayerRendererChromium.cpp:
187595        (WebCore::LayerRendererChromium::initialize):
187596        * platform/graphics/chromium/WebGLLayerChromium.cpp:
187597        (WebCore::WebGLLayerChromium::layerRendererContext):
187598        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
187599        (WebCore::CCHeadsUpDisplay::enabled):
187600        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
187601        (WebCore::CCLayerTreeHost::initialize):
187602        (WebCore::CCLayerTreeHost::context):
187603        (WebCore::CCLayerTreeHost::setNeedsAnimate):
187604        (WebCore::CCLayerTreeHost::setNeedsCommit):
187605        (WebCore::CCLayerTreeHost::setNeedsRedraw):
187606        (WebCore::CCLayerTreeHost::composite):
187607        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
187608        (WebCore::CCSettings::CCSettings):
187609        * platform/graphics/chromium/cc/CCProxy.cpp:
187610        (WebCore::CCProxy::isMainThread):
187611        (WebCore::CCProxy::isImplThread):
187612        (WebCore::CCProxy::setMainThreadIsImplThread):
187613        * platform/graphics/chromium/cc/CCProxy.h:
187614        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
187615        (WebCore::DebugScopedSetImplThread::DebugScopedSetImplThread):
187616        (WebCore::DebugScopedSetImplThread::~DebugScopedSetImplThread):
187617
1876182011-11-29  Erik Arvidsson  <arv@chromium.org>
187619
187620        WebIDL: Add support for static for JSC and V8
187621        https://bugs.webkit.org/show_bug.cgi?id=72998
187622
187623        Reviewed by Adam Barth.
187624
187625        WebIDL uses "static" for class methods. We used to use "[ClassMethod]". This change makes us use the WebIDL syntax instead.
187626
187627        No new tests: Covered by existing tests.
187628
187629        * bindings/scripts/CodeGeneratorJS.pm:
187630        (GetFunctionName): Use isStatic instead.
187631        (GenerateOverloadedFunction): Ditto.
187632        (GenerateImplementation): Ditto.
187633        (GenerateParametersCheck): Ditto.
187634        (GenerateImplementationFunctionCall): Ditto.
187635        (GenerateConstructorDefinition): Ditto.
187636        * bindings/scripts/CodeGeneratorV8.pm:
187637        (GenerateFunctionCallback): Ditto.
187638        (GenerateImplementation): Ditto.
187639        (GenerateFunctionCallString): Ditto.
187640        * bindings/scripts/IDLParser.pm:
187641        (ParseInterface): Set isStatic as needed.
187642        * bindings/scripts/IDLStructure.pm: Update regular expression to parse "static".
187643        * bindings/scripts/test/TestObj.idl: Use static instead of [ClassMethod].
187644        * storage/IDBKeyRange.idl: Ditto.
187645
1876462011-11-29  Kentaro Hara  <haraken@chromium.org>
187647
187648        Unreviewed. Rebaselined a run-bindings-tests result.
187649
187650        * bindings/scripts/test/JS/JSFloat64Array.h:
187651
1876522011-11-10  Xiaomei Ji  <xji@chromium.org>
187653
187654        --webkit-visual-word should be able to reach end of text, instead of end of line
187655        https://bugs.webkit.org/show_bug.cgi?id=72048
187656
187657        Reviewed by Ryosuke Niwa.
187658
187659        Revert r92223 -- webkit-visual-word should reach boundary of line.
187660        When there is no more left or right words in the same editing boundary and
187661        current position is an editable position, return start or end position in this
187662        editable content.
187663
187664        Test: editing/selection/move-by-word-visually-textarea.html
187665
187666        * editing/visible_units.cpp:
187667        (WebCore::collectWordBreaksInBoxInsideBlockWithSameDirectionality):
187668        (WebCore::collectWordBreaksInBoxInsideBlockWithDifferntDirectionality):
187669        (WebCore::leftWordPosition):
187670        (WebCore::rightWordPosition):
187671
1876722011-11-29  Oliver Hunt  <oliver@apple.com>
187673
187674        Allow WebCore to describe typed arrays to JSC
187675        https://bugs.webkit.org/show_bug.cgi?id=73355
187676
187677        Reviewed by Gavin Barraclough.
187678
187679        Update bindings codegen to report the data layout to JSC.
187680
187681        * bindings/scripts/CodeGeneratorJS.pm:
187682        (GenerateHeader):
187683        (GenerateImplementation):
187684        * bindings/scripts/test/JS/JSFloat64Array.cpp:
187685        (WebCore::JSFloat64Array::finishCreation):
187686        * bindings/scripts/test/JS/JSFloat64Array.h:
187687
1876882011-11-29  Tony Chang  <tony@chromium.org>
187689
187690        Rename some flexbox functions to be less confusing
187691        https://bugs.webkit.org/show_bug.cgi?id=73363
187692
187693        Reviewed by Ojan Vafai.
187694
187695        These methods no longer have anything to do with block/inline direction.
187696
187697        No new tests, just renaming some functions.
187698
187699        * rendering/RenderFlexibleBox.cpp:
187700        (WebCore::RenderFlexibleBox::layoutBlock):
187701        (WebCore::RenderFlexibleBox::layoutFlexItems):
187702        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithm):
187703        (WebCore::RenderFlexibleBox::layoutAndPlaceChildren):
187704        (WebCore::RenderFlexibleBox::alignChildren):
187705        * rendering/RenderFlexibleBox.h:
187706
1877072011-11-29  Erik Arvidsson  <arv@chromium.org>
187708
187709        Add support for [ClassMethod] to CodeGeneratorJS.pm
187710        https://bugs.webkit.org/show_bug.cgi?id=73342
187711
187712        Reviewed by Adam Barth.
187713
187714        If a method is annotated with [ClassMethod] it will become a method on the JS constructor object and it will
187715        call a static function on the C++ class. 
187716
187717        This was previously only implemented in CodeGeneratorV8.pm so this brings JSC up to par.
187718
187719        No new tests: Covered by bindings/scripts/test/
187720
187721        * bindings/scripts/CodeGeneratorJS.pm:
187722        (GetFunctionName): Refactor to reduce code duplication.
187723        (GenerateHeader): Ditto.
187724        (GenerateOverloadedFunction): This now handles both prototype functions and constructor functions.
187725        (GenerateImplementation): Define class methods too. 
187726        (GenerateParametersCheck): Generate the right function access string.
187727        (GenerateImplementationFunctionCall): SVG properties are not static methods.
187728        (GenerateConstructorDefinition): For classes that have static methods we may now return function properties.
187729        * bindings/scripts/test/JS/JSTestObj.cpp:
187730        (WebCore::JSTestObjConstructor::getOwnPropertySlot): Ditto.
187731        (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor): Ditto.
187732        (WebCore::jsTestObjConstructorFunctionClassMethod): Now calls a static function.
187733        (WebCore::jsTestObjConstructorFunctionClassMethodWithOptional): Ditto.
187734        * bindings/scripts/test/JS/JSTestObj.h:
187735
1877362011-11-29  Sam Weinig  <sam@webkit.org>
187737
187738        Remove unused JSDOMWrapperOwner
187739        https://bugs.webkit.org/show_bug.cgi?id=73357
187740
187741        Reviewed by Adam Barth.
187742
187743        * bindings/js/DOMWrapperWorld.cpp:
187744        (WebCore::DOMWrapperWorld::DOMWrapperWorld):
187745        * bindings/js/DOMWrapperWorld.h:
187746        (WebCore::DOMWrapperWorld::globalData):
187747        Remove JSDOMWrapperOwner. It is unused.
187748
1877492011-11-29  Anders Carlsson  <andersca@apple.com>
187750
187751        Use contentsToRootView when converting the mouse coordinates for the context menu key event
187752        https://bugs.webkit.org/show_bug.cgi?id=73352
187753
187754        Reviewed by Adam Roben.
187755
187756        No new tests: Already covered by existing tests.
187757
187758        This is another step towards fixing https://bugs.webkit.org/show_bug.cgi?id=71945, by getting
187759        rid of a call to ScrollView::contentsToWindow.
187760
187761        * page/EventHandler.cpp:
187762        (WebCore::EventHandler::sendContextMenuEventForKey):
187763
1877642011-11-15  Anders Carlsson  <andersca@apple.com>
187765
187766        DragClient::dragSourceActionMaskForPoint should use root view coordinates
187767        https://bugs.webkit.org/show_bug.cgi?id=72409
187768
187769        Reviewed by Sam Weinig.
187770
187771        * page/DragClient.h:
187772        Rename parameter and remove obsolete comment.
187773
187774        * page/DragController.cpp:
187775        (WebCore::DragController::delegateDragSourceAction):
187776        * page/DragController.h:
187777        Rename parameter.
187778
187779        * page/EventHandler.cpp:
187780        (WebCore::EventHandler::updateDragSourceActionsAllowed):
187781        Use contentsToRootView instead of contentsToWindow.
187782
1877832011-11-15  Anders Carlsson  <andersca@apple.com>
187784
187785        EditorClient::showCorrectionPanel should pass the string bounding box in root view coordinates
187786        https://bugs.webkit.org/show_bug.cgi?id=72408
187787
187788        Reviewed by Sam Weinig.
187789
187790        Rename windowRectForRange to rootViewRectForRange and use contentsToRootView instead of contentsToWindow.
187791
187792        * editing/SpellingCorrectionController.cpp:
187793        (WebCore::SpellingCorrectionController::show):
187794        (WebCore::SpellingCorrectionController::correctionPanelTimerFired):
187795        (WebCore::SpellingCorrectionController::rootViewRectForRange):
187796        * editing/SpellingCorrectionController.h:
187797        
1877982011-11-29  Ojan Vafai  <ojan@chromium.org>
187799
187800        invalid cast in WebCore::toRenderBox / WebCore::RenderBox::firstChildBox
187801        https://bugs.webkit.org/show_bug.cgi?id=72668
187802
187803        Reviewed by David Hyatt.
187804
187805        For new flexible boxes, we were setting childrenInline to true when
187806        merging anonymous blocks, which we should never do. Do the same thing
187807        we do for the deprecated flexboxes.
187808
187809        Test: css3/flexbox/anonymous-block-merge-crash.html
187810
187811        * rendering/RenderBlock.cpp:
187812        (WebCore::RenderBlock::removeChild):
187813        * rendering/RenderObject.h:
187814        (WebCore::RenderObject::setChildrenInline):
187815        The default value of true was never used. Better to keep it explicit.
187816
1878172011-11-28  Ryosuke Niwa  <rniwa@webkit.org>
187818
187819        Crash in IsolateTracker::addFakeRunIfNecessary(), preceded by assertion failure (m_nestedIsolateCount >= 1)
187820        in IsolateTracker::exitIsolate()
187821        https://bugs.webkit.org/show_bug.cgi?id=69275
187822
187823        Reviewed by Eric Seidel.
187824
187825        The crash was caused by our false assumption that at most one isolated container exists between the start
187826        and the root when appending a new run. Fixed the crash by computing the actual number of isolated containers
187827        between the start and the root.
187828
187829        Test: fast/text/nested-bidi-isolate-crash.html
187830
187831        * rendering/InlineIterator.h:
187832        (WebCore::numberOfIsolateAncestors):
187833        (WebCore::IsolateTracker::IsolateTracker):
187834        (WebCore::InlineBidiResolver::appendRun):
187835
1878362011-11-29  Oliver Hunt  <oliver@apple.com>
187837
187838        Revert that last change, apparently it destroys everything in the world.
187839
187840        * bindings/js/DOMWrapperWorld.h:
187841        * bindings/js/JSArrayBufferViewHelper.h:
187842        (WebCore::toJSArrayBufferView):
187843        * bindings/js/JSCSSRuleCustom.cpp:
187844        (WebCore::toJS):
187845        * bindings/js/JSCSSValueCustom.cpp:
187846        (WebCore::toJS):
187847        * bindings/js/JSDOMBinding.h:
187848        (WebCore::setInlineCachedWrapper):
187849        (WebCore::clearInlineCachedWrapper):
187850        (WebCore::getCachedWrapper):
187851        (WebCore::cacheWrapper):
187852        (WebCore::wrap):
187853        * bindings/js/JSDOMWindowCustom.cpp:
187854        (WebCore::JSDOMWindow::history):
187855        (WebCore::JSDOMWindow::location):
187856        * bindings/js/JSDocumentCustom.cpp:
187857        (WebCore::JSDocument::location):
187858        (WebCore::toJS):
187859        * bindings/js/JSEventCustom.cpp:
187860        (WebCore::toJS):
187861        * bindings/js/JSHTMLCollectionCustom.cpp:
187862        (WebCore::toJS):
187863        * bindings/js/JSImageDataCustom.cpp:
187864        (WebCore::toJS):
187865        * bindings/js/JSSVGPathSegCustom.cpp:
187866        (WebCore::toJS):
187867        * bindings/js/JSStyleSheetCustom.cpp:
187868        (WebCore::toJS):
187869        * bindings/js/JSTrackCustom.cpp:
187870        (WebCore::toJS):
187871
1878722011-11-29  Tony Chang  <tony@chromium.org>
187873
187874        flex-align:stretch + max-height needs to clamp to max-height and position appropriately
187875        https://bugs.webkit.org/show_bug.cgi?id=70780
187876
187877        Reviewed by David Hyatt.
187878
187879        Test: css3/flexbox/flex-align-max.html
187880
187881        * rendering/RenderBox.cpp:
187882        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth): When laying out columns, if the flex item is stretching,
187883        we don't need to shrink wrap.
187884        * rendering/RenderFlexibleBox.cpp:
187885        (WebCore::RenderFlexibleBox::isColumnFlow): Switch to RenderStyle helper method.
187886        (WebCore::RenderFlexibleBox::alignChildrenBlockDirection): For columns, we don't need to do anything.
187887        For rows, handle max logical height by setting the height and recomputing (which will take max-height
187888        into consideration).
187889        * rendering/style/RenderStyle.h:
187890        (WebCore::InheritedFlags::isColumnFlexFlow): Helper method.
187891
1878922011-11-29  Tony Chang  <tony@chromium.org>
187893
187894        [chromium] Remove unused variable (gcc 4.6 complains about this)
187895        https://bugs.webkit.org/show_bug.cgi?id=73335
187896
187897        ../../third_party/WebKit/Source/WebCore/platform/graphics/chromium/cc/CCDamageTracker.cpp:296:19:
187898        error: variable 'oldReplicaMaskRect' set but not used [-Werror=unused-but-set-variable]
187899
187900        * platform/graphics/chromium/cc/CCDamageTracker.cpp:
187901        (WebCore::CCDamageTracker::extendDamageForRenderSurface):
187902
1879032011-11-29  Oliver Hunt  <oliver@apple.com>
187904
187905        DOM wrapper cache doesn't need to use JSDOMWrapper
187906        https://bugs.webkit.org/show_bug.cgi?id=73333
187907
187908        Reviewed by Sam Weinig.
187909
187910        Make JSDOMWrapperCache use JSObject rather than JSDOMWrapper
187911        and propagate the type change out. 
187912
187913        * bindings/js/DOMWrapperWorld.h:
187914        * bindings/js/JSArrayBufferViewHelper.h:
187915        (WebCore::toJSArrayBufferView):
187916        * bindings/js/JSCSSRuleCustom.cpp:
187917        (WebCore::toJS):
187918        * bindings/js/JSCSSValueCustom.cpp:
187919        (WebCore::toJS):
187920        * bindings/js/JSDOMBinding.h:
187921        (WebCore::setInlineCachedWrapper):
187922        (WebCore::clearInlineCachedWrapper):
187923        (WebCore::getCachedWrapper):
187924        (WebCore::cacheWrapper):
187925        (WebCore::wrap):
187926        * bindings/js/JSDOMWindowCustom.cpp:
187927        (WebCore::JSDOMWindow::history):
187928        (WebCore::JSDOMWindow::location):
187929        * bindings/js/JSDocumentCustom.cpp:
187930        (WebCore::JSDocument::location):
187931        (WebCore::toJS):
187932        * bindings/js/JSEventCustom.cpp:
187933        (WebCore::toJS):
187934        * bindings/js/JSHTMLCollectionCustom.cpp:
187935        (WebCore::toJS):
187936        * bindings/js/JSImageDataCustom.cpp:
187937        (WebCore::toJS):
187938        * bindings/js/JSSVGPathSegCustom.cpp:
187939        (WebCore::toJS):
187940        * bindings/js/JSStyleSheetCustom.cpp:
187941        (WebCore::toJS):
187942        * bindings/js/JSTrackCustom.cpp:
187943        (WebCore::toJS):
187944
1879452011-11-29  Philippe Normand  <pnormand@igalia.com>
187946
187947        Unreviewed, GTK build fix after r101392.
187948
187949        * GNUmakefile.am: USE_WEBAUDIO_FFTW was removed, don't use it anymore.
187950
1879512011-11-28  Vsevolod Vlasov  <vsevik@chromium.org>
187952
187953        Web Inspector: TextPrompt should show suggest above or under so that it has maximal height.
187954        https://bugs.webkit.org/show_bug.cgi?id=73239
187955
187956        Reviewed by Pavel Feldman.
187957
187958        Fixed suggest box vertical position / height calculation.
187959        Added round corners when suggest box is positioned under text prompt.
187960
187961        * inspector/front-end/TextPrompt.js:
187962        (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
187963        * inspector/front-end/inspector.css:
187964        (.suggest-box.generic-suggest.under-anchor):
187965
1879662011-11-29  Carlos Garcia Campos  <cgarcia@igalia.com>
187967
187968        Unreviewed. Fix the GTK+ port build after r101307.
187969
187970        * GNUmakefile.list.am: Add missing files to compilation.
187971
1879722011-11-29  Pavel Feldman  <pfeldman@google.com>
187973
187974        Web Inspector: split Preferences into Preferences and Capabilities.
187975        https://bugs.webkit.org/show_bug.cgi?id=73321
187976
187977        Part of the Preferences defined in Settings.js are in fact backend capabilities.
187978        Split them into two separate objects for further capabilities refactoring.
187979
187980        Reviewed by Yury Semikhatsky.
187981
187982        * inspector/front-end/DebuggerModel.js:
187983        * inspector/front-end/ElementsPanel.js:
187984        (WebInspector.ElementsPanel):
187985        (WebInspector.ElementsPanel.prototype.wasShown):
187986        (WebInspector.ElementsPanel.prototype._populateContextMenu):
187987        * inspector/front-end/NetworkItemView.js:
187988        (WebInspector.NetworkItemView):
187989        * inspector/front-end/NetworkPanel.js:
187990        (WebInspector.NetworkLogView.prototype._createTable):
187991        (WebInspector.NetworkLogView.prototype.switchToDetailedView):
187992        (WebInspector.NetworkLogView.prototype.switchToBriefView):
187993        (WebInspector.NetworkLogView.prototype._contextMenu):
187994        (WebInspector.NetworkDataGridNode.prototype.createCells):
187995        (WebInspector.NetworkDataGridNode.prototype.refreshResource):
187996        * inspector/front-end/ProfileDataGridTree.js:
187997        (WebInspector.ProfileDataGridNode.prototype.get data.formatMilliseconds):
187998        * inspector/front-end/ProfileView.js:
187999        * inspector/front-end/ProfilesPanel.js:
188000        (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
188001        * inspector/front-end/Resource.js:
188002        (WebInspector.Resource.prototype.populateImageSource):
188003        * inspector/front-end/ScriptsPanel.js:
188004        (WebInspector.ScriptsPanel.prototype.wasShown):
188005        (WebInspector.ScriptsPanel.prototype._clearInterface):
188006        * inspector/front-end/Settings.js:
188007        * inspector/front-end/SettingsScreen.js:
188008        (WebInspector.SettingsScreen):
188009        * inspector/front-end/StylesSidebarPane.js:
188010        * inspector/front-end/inspector.js:
188011
1880122011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>
188013
188014        [Qt] Make WebCore compile with Qt 5 and V8
188015        https://bugs.webkit.org/show_bug.cgi?id=73313
188016
188017        Reviewed by Tor Arne Vestbø.
188018
188019        * DerivedSources.pri: Add missing V8 specific IDL files to the build.
188020        * Target.pri: Ditto.
188021        * bindings/v8/ScriptController.h: V8 NPAPI bindings don't really support
188022        building with ENABLE_NETSCAPE_PLUGIN_API=0. These functions are always
188023        defined, so they also need to be declared.
188024        * platform/qt/PlatformSupportQt.cpp: 
188025        (WebCore::PlatformSupport::pluginScriptableObject): Don't return a
188026        scriptable object when compiling without npapi.
188027        * storage/StorageAreaImpl.cpp: Add missing Document.h include that is
188028        included implicitly with the Chromium build but not with Qt.
188029        * xml/XSLTProcessorQt.cpp: Ditto.
188030
1880312011-11-29  Pavel Feldman  <pfeldman@google.com>
188032
188033        Not reviewed: fixing clang build.
188034
188035        * inspector/InspectorBaseAgent.h:
188036        (WebCore::InspectorBaseAgentInterface::getAgentCapabilities):
188037        * inspector/InspectorDebuggerAgent.cpp:
188038        (WebCore::InspectorDebuggerAgent::getAgentCapabilities):
188039        * inspector/InspectorDebuggerAgent.h:
188040
1880412011-11-29  Pavel Feldman  <pfeldman@google.com>
188042
188043        Web Inspector: introduce generic capabilities concept, migrate debugger domain to generic capabilities.
188044        https://bugs.webkit.org/show_bug.cgi?id=73311
188045
188046        This step is necessary for getting rid of the 'capability' aspect in the Preferences. As a result,
188047        single front-end will be applicable to multiple backend configurations.
188048
188049        Reviewed by Yury Semikhatsky.
188050
188051        * CMakeLists.txt:
188052        * GNUmakefile.list.am:
188053        * Target.pri:
188054        * WebCore.gypi:
188055        * WebCore.vcproj/WebCore.vcproj:
188056        * WebCore.xcodeproj/project.pbxproj:
188057        * inspector/Inspector.json:
188058        * inspector/InspectorAgent.cpp:
188059        (WebCore::InspectorAgent::InspectorAgent):
188060        * inspector/InspectorApplicationCacheAgent.cpp:
188061        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
188062        * inspector/InspectorBaseAgent.cpp:
188063        (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
188064        (WebCore::InspectorBaseAgentInterface::~InspectorBaseAgentInterface):
188065        * inspector/InspectorBaseAgent.h:
188066        (WebCore::InspectorBaseAgentInterface::getCapabilities):
188067        (WebCore::InspectorBaseAgentInterface::name):
188068        (WebCore::InspectorBaseAgent::InspectorBaseAgent):
188069        * inspector/InspectorCSSAgent.cpp:
188070        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
188071        * inspector/InspectorConsoleAgent.cpp:
188072        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
188073        * inspector/InspectorController.cpp:
188074        (WebCore::InspectorController::InspectorController):
188075        * inspector/InspectorController.h:
188076        * inspector/InspectorDOMAgent.cpp:
188077        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
188078        * inspector/InspectorDOMDebuggerAgent.cpp:
188079        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
188080        * inspector/InspectorDOMStorageAgent.cpp:
188081        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
188082        * inspector/InspectorDatabaseAgent.cpp:
188083        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
188084        * inspector/InspectorDebuggerAgent.cpp:
188085        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
188086        (WebCore::InspectorDebuggerAgent::getCapabilities):
188087        * inspector/InspectorDebuggerAgent.h:
188088        * inspector/InspectorFileSystemAgent.cpp:
188089        (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
188090        * inspector/InspectorMetaAgent.cpp: Added.
188091        (WebCore::InspectorMetaAgent::~InspectorMetaAgent):
188092        (WebCore::InspectorMetaAgent::getCapabilities):
188093        (WebCore::InspectorMetaAgent::InspectorMetaAgent):
188094        * inspector/InspectorMetaAgent.h: Added.
188095        (WebCore::InspectorMetaAgent::create):
188096        * inspector/InspectorPageAgent.cpp:
188097        (WebCore::InspectorPageAgent::InspectorPageAgent):
188098        * inspector/InspectorProfilerAgent.cpp:
188099        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
188100        * inspector/InspectorResourceAgent.cpp:
188101        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
188102        * inspector/InspectorRuntimeAgent.cpp:
188103        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
188104        * inspector/InspectorTimelineAgent.cpp:
188105        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
188106        * inspector/InspectorValues.h:
188107        (WebCore::InspectorArray::begin):
188108        (WebCore::InspectorArray::end):
188109        * inspector/InspectorWorkerAgent.cpp:
188110        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
188111        * inspector/front-end/DebuggerModel.js:
188112        (WebInspector.DebuggerModel.prototype.enableDebugger):
188113
1881142011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>
188115
188116        [Qt] Make WebKit/qt build with V8 and Qt 5
188117        https://bugs.webkit.org/show_bug.cgi?id=73315
188118
188119        Reviewed by Kenneth Rohde Christiansen.
188120
188121        For the Qt 5 / V8 build we use QJSEngine/QJSValue instead of
188122        QScriptEngine/QScriptValue.
188123
188124        * bindings/v8/ScriptController.cpp:
188125        * bindings/v8/ScriptController.h:
188126        * bindings/v8/ScriptControllerQt.cpp:
188127        (WebCore::ScriptController::qtScriptEngine):
188128
1881292011-11-29  Simon Hausmann  <simon.hausmann@nokia.com>
188130
188131        [Qt][V8] Add missing ExceptionCode.h include for SVG bindings
188132        https://bugs.webkit.org/show_bug.cgi?id=73314
188133
188134        Reviewed by Kenneth Rohde Christiansen.
188135
188136        * bindings/scripts/CodeGeneratorV8.pm:
188137        (GenerateNormalAttrSetter): Similarly to other places where we use DOM
188138        exceptions, make sure we include ExceptionCode.h here. It appears to be
188139        an implicit inclusion in the Chromium build, but it should be explicit
188140        like in the rest of the bindings.
188141        (GenerateFunctionCallback): Ditto.
188142
1881432011-11-29  Andrey Kosyakov  <caseq@chromium.org>
188144
188145        Web Inspector: remove usage of innerHTML from inspector front-end
188146        https://bugs.webkit.org/show_bug.cgi?id=73305
188147
188148        Reviewed by Yury Semikhatsky.
188149
188150        * inspector/front-end/FontView.js:
188151        (WebInspector.FontView.prototype._createContentIfNeeded):
188152        * inspector/front-end/ShortcutsScreen.js:
188153        (WebInspector.ShortcutsSection.prototype.addKey):
188154        (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
188155        (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
188156        (WebInspector.ShortcutsSection.prototype._addLine):
188157        (WebInspector.ShortcutsSection.prototype.renderSection):
188158        (WebInspector.ShortcutsSection.prototype._renderSequence):
188159        (WebInspector.ShortcutsSection.prototype._renderKey):
188160        (WebInspector.ShortcutsSection.prototype.get _height):
188161        (WebInspector.ShortcutsSection.prototype._createSpan):
188162        (WebInspector.ShortcutsSection.prototype._joinNodes):
188163        * inspector/front-end/WelcomeView.js:
188164        (WebInspector.WelcomeView.prototype.addMessage):
188165
1881662011-11-29  Zoltan Herczeg  <zherczeg@webkit.org>
188167
188168        [Qt] Couple of tests have different results on 64 bit and/or in debug mode compared to 32 bit and/or release mode
188169        https://bugs.webkit.org/show_bug.cgi?id=52810
188170
188171        Reviewed by Nikolas Zimmermann.
188172
188173        This avoids precision loss in getCTM, which is used whenever mapping repaint rects to a parent coordinate system
188174        - it affects several DRT results on Mac, all of them are progressions.
188175
188176        * svg/SVGPreserveAspectRatio.cpp:
188177        (WebCore::SVGPreserveAspectRatio::getCTM): Use double-precision internally.
188178
1881792011-11-25  Pavel Podivilov  <podivilov@chromium.org>
188180
188181        Web Inspector: support concatenated source maps.
188182        https://bugs.webkit.org/show_bug.cgi?id=73138
188183
188184        Reviewed by Yury Semikhatsky.
188185
188186        * inspector/front-end/CompilerSourceMapping.js:
188187        (WebInspector.ClosureCompilerSourceMapping):
188188        (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
188189        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
188190        (WebInspector.ClosureCompilerSourceMapping.prototype._parseSections):
188191        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMap):
188192        (WebInspector.ClosureCompilerSourceMapping.prototype._canonicalizeURL):
188193        * inspector/front-end/inspector.js:
188194        (WebInspector.installSourceMappingForTest):
188195
1881962011-11-29  Mario Sanchez Prada  <msanchez@igalia.com>
188197
188198        [Gtk] Regression: text-inserted events lack text inserted and current line
188199        https://bugs.webkit.org/show_bug.cgi?id=72830
188200
188201        Reviewed by Chris Fleizach.
188202
188203        Replace the emission of the old (and now deprecated) AtkObject's
188204        'text-changed:insert' and 'text-changed:remove' signals with the
188205        new 'text-insert' and 'text-remove' ones, which are better and
188206        less fragile since they emit the modified text too, along with the
188207        typical 'offset' and 'count' values associated to the change.
188208
188209        Also, change the signature of the nodeTextChangeNotification() and
188210        nodeTextChangePlatformNotification() to allow specifying the text
188211        being modified from the place we better know about it, that is,
188212        the text editing commands.
188213
188214        * accessibility/gtk/AXObjectCacheAtk.cpp:
188215        (WebCore::emitTextChanged): Emit 'text-insert' and 'text-remove',
188216        instead of the old and now deprecated 'text-changed' signal.
188217        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
188218        Update this function to receive a String with the text being
188219        modified, instead of just the number of characters.
188220
188221        * accessibility/AXObjectCache.cpp:
188222        (WebCore::AXObjectCache::nodeTextChangeNotification): Update this
188223        function to receive a String with the text being modified.
188224        * accessibility/AXObjectCache.h:
188225        (WebCore::AXObjectCache::nodeTextChangeNotification): Ditto.
188226        (WebCore::AXObjectCache::nodeTextChangePlatformNotification): Ditto.
188227
188228        Adapt the text editing commants to pass the whole text string
188229        being modified, instead of just its number of characters.
188230
188231        * editing/AppendNodeCommand.cpp:
188232        (WebCore::sendAXTextChangedIgnoringLineBreaks): Adapt to the new
188233        signature of nodeTextChangeNotification(), so pass the whole text.
188234        * editing/DeleteFromTextNodeCommand.cpp:
188235        (WebCore::DeleteFromTextNodeCommand::doApply): Ditto.
188236        (WebCore::DeleteFromTextNodeCommand::doUnapply): Ditto.
188237        * editing/InsertIntoTextNodeCommand.cpp:
188238        (WebCore::InsertIntoTextNodeCommand::doApply): Ditto.
188239        (WebCore::InsertIntoTextNodeCommand::doUnapply): Ditto.
188240        * editing/InsertNodeBeforeCommand.cpp:
188241        (WebCore::InsertNodeBeforeCommand::doApply): Ditto.
188242        (WebCore::InsertNodeBeforeCommand::doUnapply): Ditto.
188243
188244        Update mac, win and chromium's specific parts of AXObjectCache to
188245        match the new signature for nodeTextChangePlatformNotification(),
188246        which won't affect their behaviour as they were not implementing
188247        that method anyway.
188248
188249        * accessibility/chromium/AXObjectCacheChromium.cpp:
188250        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
188251        * accessibility/mac/AXObjectCacheMac.mm:
188252        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
188253        * accessibility/win/AXObjectCacheWin.cpp:
188254        (WebCore::AXObjectCache::nodeTextChangePlatformNotification):
188255
1882562011-11-29  Mario Sanchez Prada  <msanchez@igalia.com>
188257
188258        [Gtk] Regression: Push buttons no longer expose their displayed text/name
188259        https://bugs.webkit.org/show_bug.cgi?id=72804
188260
188261        Reviewed by Chris Fleizach.
188262
188263        Use AccessibilityObject::title() as the last fallback in
188264        webkit_accessible_get_name() right before relying on the
188265        stringValue() method, if no better alternative was found.
188266
188267        Test: platform/gtk/accessibility/button-accessible-name.html
188268
188269        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
188270        (webkit_accessible_get_name): Use title() as the last fallback
188271        method before using stringValue().
188272
1882732011-11-29  Hyowon Kim  <hw1008.kim@samsung.com>
188274
188275        [Texmap][EFL] Accelerated compositing support using TextureMapper on EFL port
188276        https://bugs.webkit.org/show_bug.cgi?id=73111
188277
188278        This patch adds Texture Mapper related files to PlatformEfl.cmake
188279        and removes Qt-specific types in TextureMapperNode.cpp.
188280
188281        Reviewed by Noam Rosenthal.
188282
188283        * PlatformEfl.cmake:
188284        * platform/graphics/GraphicsLayer.cpp:
188285        * platform/graphics/GraphicsLayer.h:
188286        * platform/graphics/efl/GraphicsLayerEfl.cpp: Removed.
188287        * platform/graphics/efl/GraphicsLayerEfl.h: Removed.
188288        * platform/graphics/texmap/TextureMapperNode.cpp:
188289        (WebCore::solveCubicBezierFunction):
188290        (WebCore::solveStepsFunction):
188291
1882922011-11-28  Pavel Feldman  <pfeldman@google.com>
188293
188294        Web Inspector: put inspector agents into a vector in the InspectorController.
188295        https://bugs.webkit.org/show_bug.cgi?id=73225
188296
188297        Inspector controller should maintain agents in the vector, while accessing
188298        them using the same base agent interface. We should not manually call
188299        base agent methods on their concrete instances.
188300
188301        Reviewed by Yury Semikhatsky.
188302
188303        * inspector/CodeGeneratorInspector.py:
188304        (DomainNameFixes.get_fixed_data.Res):
188305        (DomainNameFixes):
188306        (Generator.go):
188307        * inspector/InspectorAgent.cpp:
188308        (WebCore::InspectorAgent::InspectorAgent):
188309        (WebCore::PostWorkerNotificationToFrontendTask::performTask):
188310        * inspector/InspectorAgent.h:
188311        (WebCore::InspectorAgent::create):
188312        * inspector/InspectorApplicationCacheAgent.cpp:
188313        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
188314        * inspector/InspectorApplicationCacheAgent.h:
188315        (WebCore::InspectorApplicationCacheAgent::create):
188316        * inspector/InspectorBaseAgent.cpp:
188317        * inspector/InspectorBaseAgent.h:
188318        (WebCore::InspectorBaseAgentInterface::InspectorBaseAgentInterface):
188319        (WebCore::InspectorBaseAgentInterface::~InspectorBaseAgentInterface):
188320        (WebCore::InspectorBaseAgentInterface::setFrontend):
188321        (WebCore::InspectorBaseAgentInterface::clearFrontend):
188322        (WebCore::InspectorBaseAgentInterface::restore):
188323        (WebCore::InspectorBaseAgentInterface::inspectedPageDestroyed):
188324        (WebCore::InspectorBaseAgent::~InspectorBaseAgent):
188325        (WebCore::InspectorBaseAgent::registerDispatcher):
188326        (WebCore::InspectorBaseAgent::InspectorBaseAgent):
188327        * inspector/InspectorCSSAgent.cpp:
188328        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
188329        * inspector/InspectorCSSAgent.h:
188330        (WebCore::InspectorCSSAgent::create):
188331        * inspector/InspectorConsoleAgent.cpp:
188332        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
188333        * inspector/InspectorConsoleAgent.h:
188334        * inspector/InspectorController.cpp:
188335        (WebCore::InspectorController::InspectorController):
188336        (WebCore::InspectorController::inspectedPageDestroyed):
188337        (WebCore::InspectorController::connectFrontend):
188338        (WebCore::InspectorController::disconnectFrontend):
188339        (WebCore::InspectorController::restoreInspectorStateFromCookie):
188340        * inspector/InspectorController.h:
188341        * inspector/InspectorDOMAgent.cpp:
188342        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
188343        * inspector/InspectorDOMAgent.h:
188344        * inspector/InspectorDOMDebuggerAgent.cpp:
188345        (WebCore::InspectorDOMDebuggerAgent::InspectorDOMDebuggerAgent):
188346        * inspector/InspectorDOMDebuggerAgent.h:
188347        (WebCore::InspectorDOMDebuggerAgent::inspectedPageDestroyed):
188348        * inspector/InspectorDOMStorageAgent.cpp:
188349        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
188350        * inspector/InspectorDOMStorageAgent.h:
188351        * inspector/InspectorDatabaseAgent.cpp:
188352        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
188353        * inspector/InspectorDatabaseAgent.h:
188354        * inspector/InspectorDebuggerAgent.cpp:
188355        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
188356        * inspector/InspectorDebuggerAgent.h:
188357        (WebCore::InspectorDebuggerAgent::inspectedPageDestroyed):
188358        * inspector/InspectorFileSystemAgent.cpp:
188359        (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
188360        * inspector/InspectorFileSystemAgent.h:
188361        * inspector/InspectorPageAgent.cpp:
188362        (WebCore::InspectorPageAgent::InspectorPageAgent):
188363        * inspector/InspectorPageAgent.h:
188364        * inspector/InspectorProfilerAgent.cpp:
188365        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
188366        * inspector/InspectorProfilerAgent.h:
188367        * inspector/InspectorResourceAgent.cpp:
188368        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
188369        * inspector/InspectorResourceAgent.h:
188370        (WebCore::InspectorResourceAgent::create):
188371        * inspector/InspectorRuntimeAgent.cpp:
188372        (WebCore::InspectorRuntimeAgent::InspectorRuntimeAgent):
188373        * inspector/InspectorRuntimeAgent.h:
188374        * inspector/InspectorTimelineAgent.cpp:
188375        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
188376        * inspector/InspectorTimelineAgent.h:
188377        * inspector/InspectorWorkerAgent.cpp:
188378        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
188379        * inspector/InspectorWorkerAgent.h:
188380        * inspector/PageConsoleAgent.h:
188381        (WebCore::PageConsoleAgent::create):
188382        * inspector/PageRuntimeAgent.h:
188383        (WebCore::PageRuntimeAgent::create):
188384        * inspector/WorkerConsoleAgent.h:
188385        (WebCore::WorkerConsoleAgent::create):
188386        * inspector/WorkerInspectorController.cpp:
188387        (WebCore::WorkerInspectorController::WorkerInspectorController):
188388        (WebCore::WorkerInspectorController::connectFrontend):
188389        * inspector/WorkerRuntimeAgent.h:
188390        (WebCore::WorkerRuntimeAgent::create):
188391
1883922011-11-25  Philippe Normand  <pnormand@igalia.com>
188393
188394        [GTK] Improve FontMetrics accuracy
188395        https://bugs.webkit.org/show_bug.cgi?id=72614
188396
188397        Reviewed by Martin Robinson.
188398        Patch by Nikolas Zimmermann.
188399
188400        * platform/graphics/freetype/FontPlatformDataFreeType.cpp:
188401        (WebCore::setCairoFontOptionsFromFontConfigPattern):
188402        * platform/graphics/freetype/SimpleFontDataFreeType.cpp:
188403        (WebCore::SimpleFontData::platformInit):
188404
1884052011-11-29  Nikolas Zimmermann  <nzimmermann@rim.com>
188406
188407        SVG <path> DRT dumps have rounding problems across platforms
188408        https://bugs.webkit.org/show_bug.cgi?id=47467
188409
188410        Reviewed by Zoltan Herczeg.
188411
188412        Next step towards fixing rounding differences across 32/64, release/debug builds and various platforms.
188413        Switch TextStream::operator<<(double) and SVGPathStringBuilder to use the newly introduced String::number(double, ConversionMode, precision)
188414        instead of using snprintf/String::format() directly. This uses wtf/dtoas rounding facilities and has proven to be faster & more precise!
188415
188416        In order to make use of these new floating-point dumping facilities following work was done:
188417        - The InlineBox logicalHeight is still integer based, while logicalWidth switched to float recently, continue that work and switch logicalTop/Bottom
188418          to floats as well. This allows us to avoid calling enclosingIntRect() when figuring out the bounds of a RenderSVGText.
188419          Instead DRT can ask for the floating point metrics and round on its own to the desired precision. It's not obviously clear why this makes a difference.
188420          Consider a rect with width 9.99999999, enclosingIntRect() would yield 10 as width, on this machine, but another may store 10.000000003, yielding 11.
188421          That's part of the reason why this is more safe and ultimately should eliminate the rounding error induced by this in the DRT results.
188422
188423        - absoluteClippedOverflowRectForRepaint(): when figuring out the repaint rect we'd retrieve the repaintRectInLocalCoordinates(), and call
188424          enclosingIntRect on it. Instead of doing that, to avoid the error described above, add a computeFloatRectForRepaint() call to RenderObject that's
188425          only used in a SVG subtree, just like its done for nodeAtFloatPoint. Do a single final enclosingIntRect() step when crossing the boundary from
188426          the SVG subtree in RenderSVGRoot to its parent, thus reducing the rounding instabilities.
188427
188428        - The new String::number() implementation enforces a unique zero eliminating the 0.0 vs -0.0 issue for free.
188429
188430        This has been tested on Gtk&Mac - and requires lots of new baseline. The hope is to be able to share a lot more with Mac now, except for obvious
188431        font family differences, that influence RenderSVGInlineText/Text results, and thus all containers that contains such objects.
188432
188433        * platform/text/TextStream.cpp:
188434        (WebCore::TextStream::operator<<):
188435        * rendering/InlineBox.cpp:
188436        (WebCore::InlineBox::logicalHeight):
188437        * rendering/InlineBox.h:
188438        (WebCore::InlineBox::virtualLogicalHeight):
188439        (WebCore::InlineBox::calculateBoundaries):
188440        (WebCore::InlineBox::pixelSnappedLogicalTop):
188441        (WebCore::InlineBox::pixelSnappedLogicalBottom):
188442        (WebCore::InlineBox::logicalTop):
188443        (WebCore::InlineBox::logicalBottom):
188444        (WebCore::InlineBox::setLogicalTop):
188445        * rendering/InlineFlowBox.cpp:
188446        (WebCore::InlineFlowBox::placeBoxesInBlockDirection):
188447        (WebCore::InlineFlowBox::addBoxShadowVisualOverflow):
188448        (WebCore::InlineFlowBox::addBorderOutsetVisualOverflow):
188449        (WebCore::InlineFlowBox::addTextBoxVisualOverflow):
188450        * rendering/InlineTextBox.h:
188451        (WebCore::InlineTextBox::calculateBoundaries):
188452        * rendering/RenderInline.cpp:
188453        (WebCore::RenderInline::paintOutline):
188454        * rendering/RenderObject.cpp:
188455        (WebCore::RenderObject::computeFloatRectForRepaint):
188456        * rendering/RenderObject.h:
188457        * rendering/RenderText.cpp:
188458        (WebCore::RenderText::absoluteRectsForRange):
188459        (WebCore::RenderText::absoluteQuads):
188460        (WebCore::RenderText::absoluteQuadsForRange):
188461        * rendering/RenderTreeAsText.cpp:
188462        (WebCore::hasFractions):
188463        (WebCore::formatNumberRespectingIntegers):
188464        (WebCore::operator<<):
188465        (WebCore::write):
188466        * rendering/RenderTreeAsText.h:
188467        * rendering/TrailingFloatsRootInlineBox.h:
188468        (WebCore::TrailingFloatsRootInlineBox::virtualLogicalHeight):
188469        * rendering/svg/RenderSVGForeignObject.cpp:
188470        (WebCore::RenderSVGForeignObject::computeFloatRectForRepaint):
188471        * rendering/svg/RenderSVGForeignObject.h:
188472        * rendering/svg/RenderSVGInline.cpp:
188473        (WebCore::RenderSVGInline::computeFloatRectForRepaint):
188474        * rendering/svg/RenderSVGInline.h:
188475        * rendering/svg/RenderSVGInlineText.cpp:
188476        (WebCore::RenderSVGInlineText::floatLinesBoundingBox):
188477        (WebCore::RenderSVGInlineText::linesBoundingBox):
188478        (WebCore::RenderSVGInlineText::computeNewScaledFontForStyle):
188479        * rendering/svg/RenderSVGInlineText.h:
188480        (WebCore::RenderSVGInlineText::objectBoundingBox):
188481        * rendering/svg/RenderSVGModelObject.cpp:
188482        (WebCore::RenderSVGModelObject::computeFloatRectForRepaint):
188483        * rendering/svg/RenderSVGModelObject.h:
188484        * rendering/svg/RenderSVGRoot.cpp:
188485        (WebCore::RenderSVGRoot::computeFloatRectForRepaint):
188486        * rendering/svg/RenderSVGRoot.h:
188487        * rendering/svg/RenderSVGText.cpp:
188488        (WebCore::RenderSVGText::computeRectForRepaint):
188489        (WebCore::RenderSVGText::computeFloatRectForRepaint):
188490        * rendering/svg/RenderSVGText.h:
188491        * rendering/svg/SVGInlineFlowBox.cpp:
188492        (WebCore::SVGInlineFlowBox::calculateBoundaries):
188493        * rendering/svg/SVGInlineFlowBox.h:
188494        (WebCore::SVGInlineFlowBox::virtualLogicalHeight):
188495        (WebCore::SVGInlineFlowBox::setLogicalHeight):
188496        * rendering/svg/SVGInlineTextBox.cpp:
188497        (WebCore::SVGInlineTextBox::calculateBoundaries):
188498        * rendering/svg/SVGInlineTextBox.h:
188499        (WebCore::SVGInlineTextBox::virtualLogicalHeight):
188500        (WebCore::SVGInlineTextBox::setLogicalHeight):
188501        (WebCore::SVGInlineTextBox::selectionHeight):
188502        * rendering/svg/SVGRenderSupport.cpp:
188503        (WebCore::SVGRenderSupport::clippedOverflowRectForRepaint):
188504        (WebCore::SVGRenderSupport::computeFloatRectForRepaint):
188505        * rendering/svg/SVGRenderSupport.h:
188506        * rendering/svg/SVGRenderTreeAsText.cpp:
188507        (WebCore::operator<<):
188508        (WebCore::roundedFloatRect):
188509        (WebCore::writeRenderSVGTextBox):
188510        (WebCore::writeSVGText):
188511        (WebCore::writeSVGInlineText):
188512        * rendering/svg/SVGRenderTreeAsText.h:
188513        * rendering/svg/SVGRootInlineBox.cpp:
188514        (WebCore::SVGRootInlineBox::computePerCharacterLayoutInformation):
188515        (WebCore::SVGRootInlineBox::layoutChildBoxes):
188516        (WebCore::SVGRootInlineBox::layoutRootBox):
188517        * rendering/svg/SVGRootInlineBox.h:
188518        (WebCore::SVGRootInlineBox::virtualLogicalHeight):
188519        (WebCore::SVGRootInlineBox::setLogicalHeight):
188520        * svg/SVGPathStringBuilder.cpp:
188521        (WebCore::SVGPathStringBuilder::moveTo):
188522        (WebCore::SVGPathStringBuilder::lineTo):
188523        (WebCore::SVGPathStringBuilder::lineToHorizontal):
188524        (WebCore::SVGPathStringBuilder::lineToVertical):
188525        (WebCore::SVGPathStringBuilder::curveToCubic):
188526        (WebCore::SVGPathStringBuilder::curveToCubicSmooth):
188527        (WebCore::SVGPathStringBuilder::curveToQuadratic):
188528        (WebCore::SVGPathStringBuilder::curveToQuadraticSmooth):
188529        (WebCore::SVGPathStringBuilder::arcTo):
188530
1885312011-11-28  Andrey Kosyakov  <caseq@chromium.org>
188532
188533        Web Inspector: remove WebInspector.linkifyURL and TreeElement.titleHTML
188534        https://bugs.webkit.org/show_bug.cgi?id=73217
188535
188536        Reviewed by Pavel Feldman.
188537
188538        * inspector/front-end/AuditFormatters.js:
188539        (WebInspector.applyFormatters):
188540        * inspector/front-end/AuditResultView.js:
188541        (WebInspector.AuditCategoryResultPane.prototype._appendResult):
188542        * inspector/front-end/AuditRules.js:
188543        (WebInspector.AuditRules.GzipRule.prototype.doRun):
188544        (WebInspector.AuditRules.UnusedCssRule.prototype.doRun.evalCallback.selectorsCallback):
188545        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
188546        (WebInspector.AuditRules.CssInHeadRule.prototype.doRun):
188547        * inspector/front-end/AuditsPanel.js:
188548        (WebInspector.AuditRuleResult):
188549        (WebInspector.AuditRuleResult.linkifyDisplayName):
188550        (WebInspector.AuditRuleResult.prototype.addSnippet):
188551        (WebInspector.AuditRuleResult.prototype.addFormatted):
188552        (WebInspector.AuditRuleResult.prototype._append):
188553        * inspector/front-end/ElementsTreeOutline.js:
188554        (WebInspector.ElementsTreeElement.prototype.adjustCollapsedRange):
188555        * inspector/front-end/ObjectPropertiesSection.js:
188556        (WebInspector.ObjectPropertiesSection.prototype.updateProperties):
188557        * inspector/front-end/ResourceHeadersView.js:
188558        (WebInspector.ResourceHeadersView.prototype._formatHeader):
188559        (WebInspector.ResourceHeadersView.prototype._formatParameter):
188560        (WebInspector.ResourceHeadersView.prototype._refreshURL):
188561        (WebInspector.ResourceHeadersView.prototype._refreshUrlFragment):
188562        (WebInspector.ResourceHeadersView.prototype._refreshRequestPayload):
188563        (WebInspector.ResourceHeadersView.prototype._refreshParms):
188564        (WebInspector.ResourceHeadersView.prototype._refreshHTTPInformation):
188565        (WebInspector.ResourceHeadersView.prototype._refreshHeaders):
188566        * inspector/front-end/ResourceUtils.js:
188567        * inspector/front-end/StylesSidebarPane.js:
188568        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
188569        * inspector/front-end/WorkersSidebarPane.js:
188570        (WebInspector.WorkersSidebarPane.prototype.addWorker):
188571        * inspector/front-end/treeoutline.js:
188572        (TreeElement.prototype._setListItemNodeContent):
188573
1885742011-11-29  Sheriff Bot  <webkit.review.bot@gmail.com>
188575
188576        Unreviewed, rolling out r101302.
188577        http://trac.webkit.org/changeset/101302
188578        https://bugs.webkit.org/show_bug.cgi?id=73293
188579
188580        massive crashes on gtk/win bots - m_bytes assertion fires
188581        (Requested by WildFox on #webkit).
188582
188583        * platform/image-decoders/ImageDecoder.cpp:
188584        (WebCore::ImageFrame::setSize):
188585
1885862011-11-29  Sean Wang  <Xuewen.Wang@torchmobile.com.cn>
188587
188588        Upstream BlackBerry porting of platform/image-decoders
188589        https://bugs.webkit.org/show_bug.cgi?id=73118
188590
188591        Reviewed by Daniel Bates.
188592
188593        Initial upstream, can't be built yet, no test cases.
188594
188595        The initial author is David Tapuska <dtapuska@rim.com>.
188596
188597        * platform/image-decoders/blackberry/JPEGImageDecoder.cpp: Added.
188598        (WebCore::libInit):
188599        (WebCore::ImageReader::ImageReader):
188600        (WebCore::imgDecodeSetup):
188601        (WebCore::ImageReader::updateData):
188602        (WebCore::ImageReader::setSize):
188603        (WebCore::ImageReader::sizeExtract):
188604        (WebCore::ImageReader::decode):
188605        (WebCore::JPEGImageDecoder::JPEGImageDecoder):
188606        (WebCore::JPEGImageDecoder::setData):
188607        (WebCore::JPEGImageDecoder::isSizeAvailable):
188608        (WebCore::JPEGImageDecoder::frameBufferAtIndex):
188609        * platform/image-decoders/blackberry/JPEGImageDecoder.h: Added.
188610        (WebCore::JPEGImageDecoder::filenameExtension):
188611        (WebCore::JPEGImageDecoder::supportsAlpha):
188612
1886132011-11-28  David Grogan  <dgrogan@chromium.org>
188614
188615        WebWorkerRunLoop wrapper around WorkerRunLoop
188616        https://bugs.webkit.org/show_bug.cgi?id=71757
188617
188618        Reviewed by Darin Fisher.
188619
188620        No new tests - IndexedDB tests forthcoming.
188621
188622        * platform/chromium/PlatformSupport.h: Add two methods that allow
188623        WebCore to notify chromium when workers start and stop.
188624        * workers/WorkerThread.cpp:
188625        (WebCore::WorkerThread::workerThread): Call into PlatformSupport when
188626        the worker's runloop is started and stopped.
188627
1886282011-11-29  Alexandru Chiculita  <achicu@adobe.com>
188629
188630        [CSS Filters] Filters do not render correctly when the layer has a transform
188631        https://bugs.webkit.org/show_bug.cgi?id=73077
188632
188633        Reviewed by Dean Jackson.
188634
188635        Corrected the root layer that was used when no transform was applied.
188636        Using PaintLayerAppliedTransform when calling paintLayer again, to avoid
188637        applying the transform inside the filter's graphics context. Now we apply that
188638        on the result image.
188639
188640        Tests: css3/filters/filter-with-transform.html
188641               css3/filters/nested-filter.html
188642
188643        * rendering/RenderLayer.cpp:
188644        (WebCore::RenderLayer::paintLayer):
188645
1886462011-11-28  Wei Charles  <charles.wei@torchmobile.com.cn>
188647
188648        [blackberry] Upstream BlackBerry porting of plugin framework
188649        https://bugs.webkit.org/show_bug.cgi?id=73185
188650
188651        Reviewed by Daniel Bates.
188652
188653        No new tests for now.
188654
188655        * plugins/blackberry: Added.
188656        * plugins/blackberry/PluginDataBlackBerry.cpp: Added.
188657        * plugins/blackberry/PluginPackageBlackBerry.cpp: Added.
188658
1886592011-11-28  Noel Gordon  <noel.gordon@gmail.com>
188660
188661        [chromium] Remove V8MessagePortCustom.h from the gyp projects
188662        https://bugs.webkit.org/show_bug.cgi?id=73281
188663
188664        Reviewed by David Levin.
188665
188666        V8MessagePortCustom.h was removed in r101118
188667
188668        * WebCore.gypi: remove bindings\v8\custom\V8MessagePortCustom.h
188669
1886702011-11-28  Leo Yang  <leo.yang@torchmobile.com.cn>
188671
188672        Upstream the BlackBerry porting of SocketStream
188673        https://bugs.webkit.org/show_bug.cgi?id=73283
188674
188675        Reviewed by Daniel Bates.
188676
188677        Other main contributors:
188678        Joe Mason <jmason@rim.com>
188679        Lyon Chen <liachen@rim.com>
188680
188681        Initial upstream, can't be built yet, no new tests.
188682
188683        * platform/network/blackberry/SocketStreamError.h: Added.
188684        (WebCore::SocketStreamError::SocketStreamError):
188685        * platform/network/blackberry/SocketStreamHandle.h: Added.
188686        (WebCore::SocketStreamHandle::create):
188687        * platform/network/blackberry/SocketStreamHandleBlackBerry.cpp: Added.
188688        (WebCore::SocketStreamHandle::SocketStreamHandle):
188689        (WebCore::SocketStreamHandle::~SocketStreamHandle):
188690        (WebCore::SocketStreamHandle::platformSend):
188691        (WebCore::SocketStreamHandle::platformClose):
188692        (WebCore::SocketStreamHandle::didReceiveAuthenticationChallenge):
188693        (WebCore::SocketStreamHandle::receivedCredential):
188694        (WebCore::SocketStreamHandle::receivedRequestToContinueWithoutCredential):
188695        (WebCore::SocketStreamHandle::receivedCancellation):
188696        (WebCore::SocketStreamHandle::notifyStatusReceived):
188697        (WebCore::SocketStreamHandle::notifyDataReceived):
188698        (WebCore::SocketStreamHandle::notifyReadyToSendData):
188699        (WebCore::SocketStreamHandle::notifyClose):
188700
1887012011-11-28  Yongjun Zhang  <yongjun_zhang@apple.com>
188702
188703        Size of ResourceRequestBase could be reduced by using bitfields.
188704        https://bugs.webkit.org/show_bug.cgi?id=73271
188705
188706        Reviewed by Alexey Proskuryakov.
188707
188708        Add bitfield for bool members in ResourceRequestBase to reduce its memory size.
188709
188710        * platform/network/ResourceRequestBase.h:
188711
1887122011-11-28  Yuta Kitamura  <yutak@chromium.org>
188713
188714        WebSocket: Split Hixie76 length-prefixed frames aren't handled correctly
188715        https://bugs.webkit.org/show_bug.cgi?id=68522
188716
188717        Reviewed by Kent Tamura.
188718
188719        Test: http/tests/websocket/tests/hixie76/split-binary-frame-header.html
188720
188721        * websockets/WebSocketChannel.cpp:
188722        (WebCore::WebSocketChannel::processFrameHixie76):
188723        Do not consume the data if the length field is not finished.
188724
1887252011-11-28  Stephen White  <senorblanco@chromium.org>
188726
188727        [chromium] Fix SVG filters when running in accelerated drawing mode.
188728        https://bugs.webkit.org/show_bug.cgi?id=73249
188729
188730        Reviewed by Kenneth Russell.
188731
188732        Test: platform/chromium/compositing/accelerated-drawing/svg-filters.html
188733
188734        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
188735        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
188736        When doing accelerated drawing, mark the PlatformContextSkia as
188737        deferred.
188738        * platform/graphics/skia/ImageBufferSkia.cpp:
188739        (WebCore::drawNeedsCopy):
188740        When doing a cross-context draw, if the destination context is 
188741        deferred, copy the image.  Also refactor conditions under which the
188742        image is copied into a new function.
188743        (WebCore::ImageBuffer::draw):
188744        (WebCore::ImageBuffer::drawPattern):
188745        Use the refactored function for conditional copies.
188746        * platform/graphics/skia/PlatformContextSkia.cpp:
188747        (WebCore::PlatformContextSkia::PlatformContextSkia):
188748        * platform/graphics/skia/PlatformContextSkia.h:
188749        (WebCore::PlatformContextSkia::isDeferred):
188750        (WebCore::PlatformContextSkia::setDeferred):
188751        Add m_isDeferred flag, initializer and accessors.
188752
1887532011-11-29  Roland Steiner  <rolandsteiner@chromium.org>
188754
188755        <style scoped>: add ENABLE(STYLE_SCOPED) flag to WebKit
188756        https://bugs.webkit.org/show_bug.cgi?id=72848
188757
188758        Reviewed by Dimitri Glazkov.
188759
188760        No new tests. (no code)
188761
188762        * Configurations/FeatureDefines.xcconfig:
188763        * GNUmakefile.am:
188764
1887652011-11-28  Vangelis Kokkevis  <vangelis@chromium.org>
188766
188767        [chromium] Disable compositing for RTL pages even in forceCompositingMode
188768        https://bugs.webkit.org/show_bug.cgi?id=73195
188769
188770        Reviewed by James Robinson.
188771
188772        * rendering/RenderLayerCompositor.cpp:
188773        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
188774
1887752011-11-29  Roland Steiner  <rolandsteiner@chromium.org>
188776
188777        From @keyframes rules with the same name, the last rule should be used
188778        https://bugs.webkit.org/show_bug.cgi?id=73113
188779
188780        Have later rules override previously stored rules.
188781
188782        Reviewed by Simon Fraser.
188783
188784        Test: animations/duplicated-keyframes-name.html
188785
188786        * css/CSSStyleSelector.cpp:
188787        (WebCore::CSSStyleSelector::addKeyframeStyle):
188788
1887892011-11-28  Jacky Jiang  <zhajiang@rim.com>
188790
188791        Upstream BlackBerry porting of page.
188792        https://bugs.webkit.org/show_bug.cgi?id=73143
188793
188794        Reviewed by Daniel Bates.
188795
188796        Upstream BlackBerry porting of WebCore/page.
188797        Define DragImageRef for BlackBerry platform.
188798
188799        Initial upstream, can't be built yet, no test cases.
188800
188801        * page/blackberry/DragControllerBlackBerry.cpp: Added.
188802        (WebCore::DragController::isCopyKeyDown):
188803        (WebCore::DragController::maxDragImageSize):
188804        (WebCore::DragController::cleanupAfterSystemDrag):
188805        (WebCore::DragController::dragOperation):
188806        * page/blackberry/EventHandlerBlackBerry.cpp: Added.
188807        (WebCore::EventHandler::eventActivatedView):
188808        (WebCore::EventHandler::passMouseMoveEventToSubframe):
188809        (WebCore::EventHandler::passMousePressEventToSubframe):
188810        (WebCore::EventHandler::passMouseReleaseEventToSubframe):
188811        (WebCore::EventHandler::passWheelEventToWidget):
188812        (WebCore::EventHandler::passWidgetMouseDownEventToWidget):
188813        (WebCore::EventHandler::tabsToAllFormControls):
188814        (WebCore::EventHandler::accessKeyModifiers):
188815        (WebCore::EventHandler::focusDocumentView):
188816        (WebCore::EventHandler::createDraggingClipboard):
188817        * page/blackberry/FrameBlackBerry.cpp: Added.
188818        (WebCore::Frame::dragImageForSelection):
188819        * platform/DragImage.h:
188820
1888212011-11-28  Shawn Singh  <shawnsingh@chromium.org>
188822
188823        [chromium] Create CCDamageTracker class to determine regions of change for a surface.
188824        https://bugs.webkit.org/show_bug.cgi?id=72520
188825
188826        Reviewed by James Robinson.
188827
188828        Added CCDamageTrackerTest and updated other tests.
188829
188830        * WebCore.gypi:
188831        * platform/graphics/chromium/LayerRendererChromium.cpp:
188832        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
188833        (WebCore::LayerRendererChromium::drawLayer):
188834        * platform/graphics/chromium/cc/CCDamageTracker.cpp: Added.
188835        (WebCore::CCDamageTracker::create):
188836        (WebCore::CCDamageTracker::CCDamageTracker):
188837        (WebCore::CCDamageTracker::~CCDamageTracker):
188838        (WebCore::CCDamageTracker::updateDamageRectForNextFrame):
188839        (WebCore::CCDamageTracker::removeRectFromCurrentFrame):
188840        (WebCore::CCDamageTracker::saveRectForNextFrame):
188841        (WebCore::CCDamageTracker::computeDamageFromActiveLayers):
188842        (WebCore::CCDamageTracker::computeDamageFromSurfaceMask):
188843        (WebCore::CCDamageTracker::computeDamageFromLeftoverRects):
188844        (WebCore::CCDamageTracker::extendDamageForLayer):
188845        (WebCore::CCDamageTracker::extendDamageForRenderSurface):
188846        * platform/graphics/chromium/cc/CCDamageTracker.h: Added.
188847        (WebCore::CCDamageTracker::currentDamageRect):
188848        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
188849        (WebCore::CCLayerImpl::resetAllChangeTrackingForSubtree):
188850        * platform/graphics/chromium/cc/CCLayerImpl.h:
188851        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
188852        (WebCore::CCLayerTreeHost::paintLayerContents):
188853        (WebCore::CCLayerTreeHost::updateCompositorResources):
188854        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
188855        (WebCore::CCSettings::CCSettings):
188856        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
188857        (WebCore::CCLayerTreeHostCommon::renderSurfaceContributesToTarget):
188858        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
188859        (WebCore::CCRenderSurface::CCRenderSurface):
188860        (WebCore::CCRenderSurface::dumpSurface):
188861        (WebCore::CCRenderSurface::surfacePropertyChangedOnlyFromDescendant):
188862        * platform/graphics/chromium/cc/CCRenderSurface.h:
188863        (WebCore::CCRenderSurface::damageTracker):
188864
1888652011-11-28  Luke Macpherson   <macpherson@chromium.org>
188866
188867        Implement CSSPropertySize in CSSStyleApplyProperty.
188868        https://bugs.webkit.org/show_bug.cgi?id=73000
188869
188870        Reviewed by Andreas Kling.
188871
188872        This refactoring moves the implementation of the page size calculation into CSSStyleApplyProperty
188873        and removes the existing code from CSSStyleSelector.
188874
188875        No new tests / refactoring only.
188876
188877        * css/CSSStyleApplyProperty.cpp:
188878        (WebCore::ApplyPropertyPageSize::mmLength):
188879        (WebCore::ApplyPropertyPageSize::inchLength):
188880        (WebCore::ApplyPropertyPageSize::pageSizeFromName):
188881        (WebCore::ApplyPropertyPageSize::applyInheritValue):
188882        (WebCore::ApplyPropertyPageSize::applyInitialValue):
188883        (WebCore::ApplyPropertyPageSize::applyValue):
188884        (WebCore::ApplyPropertyPageSize::createHandler):
188885        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
188886        * css/CSSStyleSelector.cpp:
188887        (WebCore::CSSStyleSelector::applyProperty):
188888        * css/CSSStyleSelector.h:
188889
1888902011-11-28  Timothy Hatcher  <timothy@apple.com>
188891
188892        Add support for knowing when a TreeElement is added or changed anywhere in a TreeOutline.
188893
188894        Reviewed by Brian Weinstein.
188895
188896        * inspector/front-end/treeoutline.js:
188897        (TreeOutline.prototype.appendChild): Call onadd if it exists.
188898        (TreeOutline.prototype.insertChild): Ditto.
188899        (TreeOutline.prototype._treeElementDidChange): Added. Call onchange if it exists.
188900        (TreeElement.prototype.set title): Call didChange.
188901        (TreeElement.prototype.set titleHTML): Ditto.
188902        (TreeElement.prototype.set tooltip): Ditto.
188903        (TreeElement.prototype.set hasChildren): Ditto.
188904        (TreeElement.prototype._fireDidChange): Added. Call TreeOutline._treeElementDidChange.
188905        (TreeElement.prototype.didChange): Added. Schedule a timeout for _fireDidChange.
188906        (TreeElement.prototype.expand): Move the code that sets the expanded flag to the beginning
188907        which is before onpopulate. Since onpopulate can add elements and call onadd, this makes
188908        sure the expanded flag is true before calling those functions.
188909
1889102011-11-28  Timothy Hatcher  <timothy@apple.com>
188911
188912        Skip selecting TreeElements that are hidden when keyboard navigating.
188913
188914        We already skipped non-selectable tree elements in the common cases, this just makes selectable
188915        take the hidden flag into account.
188916
188917        Reviewed by Brian Weinstein.
188918
188919        * inspector/front-end/treeoutline.js:
188920        (TreeOutline.prototype._treeKeyDown): Skip non-selectable elements when pressing Left or Right,
188921        similar to what we already do when pressing Up and Down.
188922        (TreeElement): Set _selectable to true.
188923        (TreeElement.prototype.get selectable): Added. Return false when hidden.
188924        (TreeElement.prototype.set selectable): Added. Set _selectable.
188925        (TreeElement.prototype.traverseNextTreeElement): Renamed skipHidden to skipUnrevealed to prevent confusion with
188926        the hidden property of TreeElement.
188927        (TreeElement.prototype.traversePreviousTreeElement): Ditto.
188928
1889292011-11-28  Timothy Hatcher  <timothy@apple.com>
188930
188931        Use classList instead of addStyleClass and removeStyleClass in TreeOutline.
188932
188933        https://webkit.org/b/72803
188934
188935        Reviewed by Dan Bernstein.
188936
188937        * inspector/front-end/treeoutline.js:
188938        (TreeOutline.prototype.appendChild):
188939        (TreeOutline.prototype.insertChild):
188940        (TreeElement.prototype.set hasChildren):
188941        (TreeElement.prototype.set hidden):
188942        (TreeElement.prototype._attach):
188943        (TreeElement.prototype.collapse):
188944        (TreeElement.prototype.expand):
188945        (TreeElement.prototype.select):
188946        (TreeElement.prototype.deselect):
188947
1889482011-11-28  Leo Yang  <leo.yang@torchmobile.com.cn>
188949
188950        Upstream platform/network/blackberry/AuthenticationChallenge.h
188951        https://bugs.webkit.org/show_bug.cgi?id=73196
188952
188953        Reviewed by Daniel Bates.
188954
188955        This is the BlackBerry implementation of WebCore::AuthenticationChallenge.
188956        Contributed by Torch Team.
188957
188958        Initial upstream, can't be built yet, no new tests.
188959
188960        * platform/network/blackberry/AuthenticationChallenge.h: Added.
188961        (WebCore::AuthenticationChallenge::AuthenticationChallenge):
188962        (WebCore::AuthenticationChallenge::setStored):
188963        (WebCore::AuthenticationChallenge::isStored):
188964
1889652011-11-28  Dana Jansens  <danakj@chromium.org>
188966
188967        Synchronization problem in Canvas/WebGLRenderingContext when listener asks for image
188968        https://bugs.webkit.org/show_bug.cgi?id=73228
188969
188970        Reviewed by Kenneth Russell.
188971
188972        * html/canvas/WebGLRenderingContext.cpp:
188973        (WebCore::WebGLRenderingContext::markContextChanged):
188974
1889752011-11-28  Rafael Weinstein  <rafaelw@chromium.org>
188976
188977        [MutationObservers] Fix build breakage after CSSInlineDeclaration refactor
188978        https://bugs.webkit.org/show_bug.cgi?id=73243
188979
188980        Reviewed by Ryosuke Niwa.
188981
188982        No tests needed. This patch only contains compile fixes.
188983
188984        * css/CSSMutableStyleDeclaration.cpp:
188985
1889862011-11-28  Jon Lee  <jonlee@apple.com>
188987
188988        Fix Chromium bot build error related to b73253.
188989
188990        * WebCore.gypi: Added missing references to NotificationController.
188991
1889922011-11-28  Jon Lee  <jonlee@apple.com>
188993
188994        Create skeleton framework for notifications support in WK2
188995        https://bugs.webkit.org/show_bug.cgi?id=73253
188996        <rdar://problem/10356943>
188997
188998        Reviewed by Sam Weinig.
188999
189000        Some refactoring was done to make notifications follow a similar pattern to our other clients, like
189001        geolocation and context menu.
189002
189003        * Configurations/FeatureDefines.xcconfig: Split out ENABLE_NOTIFICATIONS based on platform.
189004        * WebCore.xcodeproj/project.pbxproj: Adding new NotificationController class, and exposing
189005        Notification and NotificationController as private headers.
189006        * Target.pri: Ditto.
189007        * WebCore.gypi: Ditto.
189008
189009        * notifications/NotificationContents.h: Converted class to struct. Members need to be accessible
189010        in order to do WK2 argument encoding.
189011        (WebCore::NotificationContents::NotificationContents):
189012
189013        * notifications/Notification.cpp: Update style of entire file.
189014        (WebCore::Notification::Notification): Added default constructor (for WK2), and minor refactoring
189015        with NotificationContents.
189016        * notifications/Notification.h: Added set methods for WK2 serialization. Also, update indenting.
189017        (WebCore::Notification::setHTML): Added.
189018        (WebCore::Notification::setURL): Added.
189019        (WebCore::Notification::contents): Added const version for WK2.
189020        * notifications/NotificationCenter.h: Update style.
189021
189022        * notifications/NotificationController.cpp: Added.
189023        (WebCore::NotificationController::NotificationController):
189024        (WebCore::NotificationController::~NotificationController):
189025        * notifications/NotificationController.h: Added.
189026        (WebCore::NotificationController::client):
189027        * notifications/NotificationPresenter.h: This acts like a client, and should probably be renamed as such.
189028        Removed ifdef for exposure to WK2.
189029        (WebCore::NotificationPresenter::~NotificationPresenter): Moved as protected instead of public.
189030
189031        * page/DOMWindow.cpp:
189032        (WebCore::DOMWindow::webkitNotifications):  We move the request for the notification client from the chrome
189033        to the controller.
189034        * page/Page.cpp:
189035        (WebCore::Page::Page): The page now owns a notification controller.
189036        (WebCore::Page::PageClients::PageClients): Add notification client as a page client.
189037        * page/Page.h:
189038        (WebCore::Page::notificationController): Retrieve the notification controller.
189039
189040        * page/ChromeClient.h: We move the request for the notification client from the chrome to the controller.
189041        Remove notificationPresenter().
189042        * page/Chrome.cpp: Remove notificationPresenter().
189043        * page/Chrome.h: Remove notificationPresenter().
189044        * loader/EmptyClients.h: Remove notificationPresenter().
189045
1890462011-11-28  Noel Gordon  <noel.gordon@gmail.com>
189047
189048        ImageDecoder setSize() should check for backing store allocation failure
189049        https://bugs.webkit.org/show_bug.cgi?id=72864
189050
189051        Reviewed by Adam Barth.
189052
189053        The backing store of a decoded image is a Vector<PixelData> on the affected
189054        ports. And Vector<> provides a resize capacity member that returns false if
189055        memory allocation fails.
189056
189057        setSize() should be called once only during an image decode - add an ASSERT
189058        for that. Resize the backing store capacity to the requested image size and
189059        return false if memory allocation fails.
189060
189061        ImageDecoder::isOverSize(width, height) is called to check that the decoded
189062        width and height won't overflow 'width x height x sizeof(PixelData)' before
189063        calls to setSize(). Refer to http://webkit.org/b/48634
189064
189065        No new tests. Covered by fast/images/size-failure.html
189066
189067        * platform/image-decoders/ImageDecoder.cpp:
189068        (WebCore::ImageFrame::setSize):
189069
1890702011-11-28  Oliver Hunt  <oliver@apple.com>
189071
189072        Fix V8 bindings codegen and add yet more tests for the typed
189073        array bindings.
189074
189075        * bindings/scripts/CodeGeneratorV8.pm:
189076        (AddIncludesForType):
189077        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
189078        (WebDOMFloat64Array::foo):
189079        * bindings/scripts/test/CPP/WebDOMFloat64Array.h:
189080        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp:
189081        (webkit_dom_float64array_foo):
189082        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h:
189083        * bindings/scripts/test/JS/JSFloat64Array.cpp:
189084        (WebCore::jsFloat64ArrayPrototypeFunctionFoo):
189085        * bindings/scripts/test/ObjC/DOMFloat64Array.h:
189086        * bindings/scripts/test/ObjC/DOMFloat64Array.mm:
189087        (-[DOMFloat64Array foo:]):
189088        * bindings/scripts/test/TestTypedArray.idl:
189089        * bindings/scripts/test/V8/V8Float64Array.cpp:
189090        (WebCore::Float64ArrayInternal::fooCallback):
189091
1890922011-11-28  Dana Jansens  <danakj@chromium.org>
189093
189094        FloatQuad::isRectilinear() returns false for 180degree rotations
189095        https://bugs.webkit.org/show_bug.cgi?id=73040
189096
189097        Reviewed by James Robinson.
189098
189099        Added unit test FloatQuadTest.cpp.
189100
189101        * platform/graphics/FloatQuad.cpp:
189102        (WebCore::withinEpsilon): Check two values are as close as can be represented by floats.
189103        (WebCore::FloatQuad::isRectilinear): Use withinEpsilon().
189104
1891052011-11-28  Beth Dakin  <bdakin@apple.com>
189106
189107        Speculative Chromium build-fix.
189108
189109        * platform/chromium/ScrollAnimatorChromiumMac.mm:
189110        (WebCore::ScrollAnimatorChromiumMac::updateScrollerStyle):
189111
1891122011-11-28  Oliver Hunt  <oliver@apple.com>
189113
189114        Move typed array implementations into wtf
189115        https://bugs.webkit.org/show_bug.cgi?id=73248
189116
189117        Reviewed by Sam Weinig.
189118
189119        Removed the typed array implementation files from WebCore and
189120        added forwarding headers.
189121
189122        * CMakeLists.txt:
189123        * ForwardingHeaders/wtf/ArrayBuffer.h: Added.
189124        * ForwardingHeaders/wtf/ArrayBufferView.h: Added.
189125        * ForwardingHeaders/wtf/Float32Array.h: Added.
189126        * ForwardingHeaders/wtf/Float64Array.h: Added.
189127        * ForwardingHeaders/wtf/Int16Array.h: Added.
189128        * ForwardingHeaders/wtf/Int32Array.h: Added.
189129        * ForwardingHeaders/wtf/Int8Array.h: Added.
189130        * ForwardingHeaders/wtf/Uint16Array.h: Added.
189131        * ForwardingHeaders/wtf/Uint32Array.h: Added.
189132        * ForwardingHeaders/wtf/Uint8Array.h: Added.
189133        * GNUmakefile.list.am:
189134        * Target.pri:
189135        * WebCore.vcproj/WebCore.vcproj:
189136        * WebCore.xcodeproj/project.pbxproj:
189137        * bindings/js/JSArrayBufferCustom.cpp:
189138        * bindings/js/JSArrayBufferViewHelper.h:
189139        * bindings/js/JSAudioContextCustom.cpp:
189140        * bindings/js/JSFileReaderCustom.cpp:
189141        * bindings/js/JSFloat32ArrayCustom.cpp:
189142        * bindings/js/JSFloat64ArrayCustom.cpp:
189143        * bindings/js/JSInt16ArrayCustom.cpp:
189144        * bindings/js/JSInt32ArrayCustom.cpp:
189145        * bindings/js/JSInt8ArrayCustom.cpp:
189146        * bindings/js/JSUint16ArrayCustom.cpp:
189147        * bindings/js/JSUint32ArrayCustom.cpp:
189148        * bindings/js/JSUint8ArrayCustom.cpp:
189149        * bindings/js/JSWaveShaperNodeCustom.cpp:
189150        * bindings/js/JSWebGLRenderingContextCustom.cpp:
189151        * bindings/js/JSXMLHttpRequestCustom.cpp:
189152        * bindings/scripts/CodeGeneratorJS.pm:
189153        (AddIncludesForType):
189154        (GenerateHeader):
189155        (NativeToJSValue):
189156        * bindings/scripts/test/JS/JSFloat64Array.cpp:
189157        * bindings/scripts/test/JS/JSFloat64Array.h:
189158        * dom/MessageEvent.h:
189159        * fileapi/FileReader.cpp:
189160        * fileapi/FileReaderLoader.cpp:
189161        * fileapi/FileReaderSync.cpp:
189162        * fileapi/WebKitBlobBuilder.cpp:
189163        * html/HTMLMediaElement.cpp:
189164        * html/canvas/ArrayBuffer.h: Removed.
189165        * html/canvas/ArrayBufferView.cpp: Removed.
189166        * html/canvas/DataView.h:
189167        * html/canvas/Float64Array.cpp: Removed.
189168        * html/canvas/Int16Array.h: Removed.
189169        * html/canvas/Int32Array.h: Removed.
189170        * html/canvas/Int8Array.h: Removed.
189171        * html/canvas/Uint16Array.h: Removed.
189172        * html/canvas/Uint32Array.h: Removed.
189173        * html/canvas/Uint8Array.cpp: Removed.
189174        * html/canvas/WebGLBuffer.cpp:
189175        * html/canvas/WebGLBuffer.h:
189176        * html/canvas/WebGLGetInfo.cpp:
189177        * html/canvas/WebGLGetInfo.h:
189178        * html/canvas/WebGLRenderingContext.cpp:
189179        * html/canvas/WebGLRenderingContext.h:
189180        * page/Crypto.cpp:
189181        * platform/graphics/GraphicsContext3D.cpp:
189182        * platform/graphics/mac/GraphicsContext3DMac.mm:
189183        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
189184        * webaudio/AsyncAudioDecoder.cpp:
189185        * webaudio/AudioBuffer.h:
189186        * webaudio/AudioContext.cpp:
189187        * webaudio/AudioParam.h:
189188        * webaudio/AudioParamTimeline.h:
189189        * webaudio/JavaScriptAudioNode.cpp:
189190        * webaudio/RealtimeAnalyser.cpp:
189191        * webaudio/WaveShaperProcessor.h:
189192        * websockets/WebSocketChannel.cpp:
189193        * websockets/WorkerThreadableWebSocketChannel.cpp:
189194        * xml/XMLHttpRequest.cpp:
189195
1891962011-11-28  Robert Hogan  <robert@webkit.org>
189197
189198        Unreviewed, rolling out r101202.
189199        http://trac.webkit.org/changeset/101202
189200        https://bugs.webkit.org/show_bug.cgi?id=71244
189201
189202        Caused performance regressions when painting collapsed borders
189203
189204        * rendering/RenderTableCell.cpp:
189205        (WebCore::compareBorders):
189206        (WebCore::RenderTableCell::collapsedStartBorder):
189207        (WebCore::RenderTableCell::collapsedEndBorder):
189208        (WebCore::RenderTableCell::collapsedBeforeBorder):
189209        (WebCore::RenderTableCell::collapsedAfterBorder):
189210        * rendering/style/CollapsedBorderValue.h:
189211        (WebCore::CollapsedBorderValue::CollapsedBorderValue):
189212        (WebCore::CollapsedBorderValue::operator==):
189213        * rendering/style/RenderStyleConstants.h:
189214
1892152011-11-28  Beth Dakin  <bdakin@apple.com>
189216
189217        https://bugs.webkit.org/show_bug.cgi?id=72551
189218        When the recommended scrollbar style changes, WKView's tracking options should 
189219        adjust accordingly
189220        -and corresponding-
189221        <rdar://problem/10409328>
189222
189223        Reviewed by Darin Adler.
189224
189225        This new ChromeClient function is called when the recommended scrollbar style 
189226        changes. This way, WebKit can respond to the change by adjusting its mouse 
189227        tracking.
189228        * page/ChromeClient.h:
189229        (WebCore::ChromeClient::recommendedScrollbarStyleDidChange):
189230
189231        Existing ScrollableArea function scrollbarStyleChanged() now takes an int 
189232        indicating the new scrollbar style and a bool indicating whether it is necessary 
189233        to force an update. It used to be the case that this function was ONLY used to 
189234        force an update (and only called when an updated was needed), but now that it must 
189235        also call into the ChromeClient, it is necessary to include a bool tracking 
189236        whether we need to force an update. New implementation on FrameView is responsible 
189237        for calling ChromeClient, and then that calls into the pre-existing ScrollView 
189238        function for the forceUpdate part.
189239        * page/FrameView.cpp:
189240        (WebCore::FrameView::scrollbarStyleChanged):
189241        * page/FrameView.h:
189242        * platform/ScrollView.cpp:
189243        (WebCore::ScrollView:: scrollbarStyleChanged):
189244        * platform/ScrollView.h:
189245        * platform/ScrollableArea.h:
189246        (WebCore::ScrollableArea::scrollbarStyleChanged):
189247        * platform/mac/ScrollAnimatorMac.mm:
189248        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
189249
1892502011-11-28  Julien Chaffraix  <jchaffraix@webkit.org>
189251
189252        Add limited parsing support for grid-columns and grid-rows
189253        https://bugs.webkit.org/show_bug.cgi?id=72531
189254
189255        Reviewed by Tony Chang.
189256
189257        Test: fast/css-grid-layout/grid-columns-rows-get-set.html
189258
189259        Added support for:
189260        <track-list> := <length> | <percentage> | 'none' | 'auto'
189261
189262        * CMakeLists.txt:
189263        * GNUmakefile.list.am:
189264        * Target.pri:
189265        * WebCore.gypi:
189266        * WebCore.vcproj/WebCore.vcproj:
189267        * WebCore.xcodeproj/project.pbxproj:
189268        * rendering/style/StyleAllInOne.cpp:
189269        Updated our build systems.
189270
189271        * css/CSSComputedStyleDeclaration.cpp:
189272        (WebCore::valueForGridTrackList):
189273        Helper function to convert our RenderStyle information to a proper CSSValue.
189274        It doesn't do much now but it will be expanded as we add more support.
189275
189276        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Call the previous
189277        function.
189278
189279        * css/CSSParser.h:
189280        * css/CSSParser.cpp:
189281        (WebCore::CSSParser::parseValue):
189282        (WebCore::CSSParser::parseGridTrackList):
189283        CSS parsing part of this change. Pretty simple for now.
189284
189285        * css/CSSPropertyNames.in:
189286        Added -webkit-grid-columns and -webkit-grid-rows.
189287
189288        * css/CSSProperty.cpp:
189289        (WebCore::CSSProperty::isInheritedProperty):
189290        * css/CSSStyleApplyProperty.cpp:
189291        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
189292        * css/CSSStyleSelector.cpp:
189293        (WebCore::CSSStyleSelector::applyProperty):
189294        Style application plumbing.
189295
189296        * rendering/style/RenderStyle.cpp:
189297        (WebCore::RenderStyle::RenderStyle):
189298        (WebCore::RenderStyle::diff):
189299        This change is required for later when we add layout for our grid.
189300
189301        * rendering/style/RenderStyle.h:
189302        (WebCore::InheritedFlags::gridColumns):
189303        (WebCore::InheritedFlags::gridRows):
189304        (WebCore::InheritedFlags::setGridColumns):
189305        (WebCore::InheritedFlags::setGridRows):
189306        (WebCore::InheritedFlags::initialGridColumns):
189307        (WebCore::InheritedFlags::initialGridRows):
189308        Getters / Setters and initial values.
189309
189310        * rendering/style/StyleGridData.cpp: Added.
189311        (WebCore::StyleGridData::StyleGridData):
189312        * rendering/style/StyleGridData.h: Added.
189313        (WebCore::StyleGridData::create):
189314        (WebCore::StyleGridData::copy):
189315        (WebCore::StyleGridData::operator==):
189316        (WebCore::StyleGridData::operator!=):
189317        This class holds the grid element information. For now pretty simple
189318        shell that will be used for the rest of the support.
189319
189320        * rendering/style/StyleRareNonInheritedData.cpp:
189321        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
189322        (WebCore::StyleRareNonInheritedData::operator==):
189323        * rendering/style/StyleRareNonInheritedData.h:
189324        Added StyleGridElementData to StyleRareNonInheritedData.
189325
1893262011-11-28  Noel Gordon  <noel.gordon@gmail.com>
189327
189328        [chromium] Use data decoding swizzle for turbo JPEG image decoding.
189329        https://bugs.webkit.org/show_bug.cgi?id=59670
189330
189331        Reviewed by Kenneth Russell.
189332
189333        Add a BGRX row decode data swizzle for the little-endian ports that use libjpeg-turbo
189334        (Chromium win/linux/mac) to reduce JPEG image decoding time by ~2x.
189335
189336        JPEG images of type JSC_GRAYSCALE are excluded since layout regressions were observed
189337        for grayscale images produced by older tools (XV 3.10a 12/19/94). libjpeg decodes the
189338        images without error; libjpeg-turbo caused visible artifacts (see bug for examples).
189339
189340        This patch is based on the work of Hironori Bono. He provided the original patch, and
189341        the quantitative results confirming the significant performance improvement.
189342
189343        No new tests. Covered by many existing tests.
189344
189345        * platform/image-decoders/jpeg/JPEGImageDecoder.cpp:
189346        (rgbOutputColorSpace):  If JCS_EXTENSIONS is defined (libjpeg-turbo), and the port is
189347        little-endian, define a BGRX data swizzle for use when decoding pixel rows.
189348        (turboSwizzled):
189349        (WebCore::JPEGImageReader::decode):  Select a possibly swizzled rgbOutputColorSpace()
189350        for JSC_RGB and JCS_YCbCr input color space images.  Exclude JSC_GRAYSCALE images.
189351        (WebCore::JPEGImageDecoder::outputScanlines):  Swizzle decode, if applicable.
189352
1893532011-11-28  Fady Samuel  <fsamuel@chromium.org>
189354
189355        Fix Aspect Ratio Property Inheritance And Make the Computed Value Equal the Specified Value
189356        https://bugs.webkit.org/show_bug.cgi?id=73038
189357
189358        Reviewed by Ojan Vafai.
189359
189360        hasAspectRatio was not being set if the -webkit-aspect-ratio property was inherited from the parent.
189361
189362        Additionally, the computed value of -webkit-aspect-ratio was returning a number instead of a ratio.
189363
189364        Test: fast/css/aspect-ratio-inheritance.html
189365
189366        * css/CSSComputedStyleDeclaration.cpp:
189367        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
189368        * css/CSSStyleApplyProperty.cpp:
189369        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
189370
1893712011-11-28  Ken Buchanan  <kenrb@chromium.org>
189372
189373        Crash due to bidi style in isolated run
189374        https://bugs.webkit.org/show_bug.cgi?id=72978
189375
189376        Reviewed by Eric Seidel.
189377
189378        Prevent the UBA from changing the embedding level when inside an isolated run.
189379
189380        * rendering/InlineIterator.h:
189381        (WebCore::notifyObserverEnteredObject):
189382        (WebCore::notifyObserverWillExitObject):
189383
1893842011-11-28  Martin Robinson  <mrobinson@igalia.com>
189385
189386        Fix 'make dist' by adding two missing files to source list.
189387
189388        * GNUmakefile.list.am: Add missing files.
189389
1893902011-11-25  Ryosuke Niwa  <rniwa@webkit.org>
189391
189392        dir=auto should imply unicode-bidi:isolate by default
189393        https://bugs.webkit.org/show_bug.cgi?id=63903
189394
189395        Reviewed by Dan Bernstein.
189396
189397        Fixed WebKit's implementation of bdo, bdi, and output elements to match HTML5 spec section 10.3.5:
189398        http://dev.w3.org/html5/spec/Overview.html#bidirectional-text
189399
189400        Any element with dir=auto other than bdo, textarea, and pre should use unicode-bidi: -webkit-isolate by default.
189401
189402        We still don't use -webkit-isolate for non-phrasing elements by default and unicode-override -webkit-isolate for
189403        bdo[dir=auto] so these two cases are failing in the added test.
189404
189405        Test: fast/css/default-bidi-css-rules.html
189406
189407        * css/html.css:
189408        (bdi, output): bdi and output should both use -webkit-isolate as the default value for unicode-bidi.
189409        (bdo): bdo should use bidi-override as the default value for unicode-bidi.
189410        * dom/MappedAttributeEntry.h: Add eBDI, which is used by bdi and output elements.
189411        * html/HTMLElement.cpp:
189412        (WebCore::HTMLElement::mapToEntry): Don't share the cache for dir attribute between bdi and other elements
189413        just like we don't share the cache for dir attribute between bdo and other elements.
189414        (WebCore::unicodeBidiAttributeForDirAuto): Don't set bidi-override for bdo element since this is done
189415        in the UA stylesheet now. Set unicode-bidi to -webkit-isolate for elements other than pre and textarea now that
189416        this function is called only when dir=auto.
189417        called when dir=auto as the name implies.
189418        (WebCore::HTMLElement::parseMappedAttribute): Don't call unicodeBidiAttributeForDirAuto when dir is not
189419        auto. Also set unicode-bidi to embed when dir is not auto and the element is neither bdi, bdo, nor output.
189420        * html/HTMLOutputElement.cpp:
189421        (WebCore::HTMLOutputElement::mapToEntry): Don't share the cache for dir between output and other elements.
189422        * html/HTMLOutputElement.h:
189423        * html/HTMLTagNames.in:
189424
1894252011-11-28  Jer Noble  <jer.noble@apple.com>
189426
189427        WebAudio: AudioContext::uninitialize() can caused AudioContext deletion before deleting marked nodes.
189428        https://bugs.webkit.org/show_bug.cgi?id=72755
189429
189430        Reviewed by Eric Carlson.
189431
189432        No new tests.
189433
189434        Protect AudioContext from being deleted before uninitialize() returns. Fixes an assertion in ~AudioContext() and 
189435        a potential source of leaks.
189436
189437        * webaudio/AudioContext.cpp:
189438        (WebCore::AudioContext::uninitialize):
189439
1894402011-11-28  Andreas Kling  <kling@webkit.org>
189441
189442        InspectorCSSAgent: Remove unused function inlineStyleElement().
189443        <http://webkit.org/b/73221>
189444
189445        Reviewed by Pavel Feldman.
189446
189447        * inspector/InspectorCSSAgent.cpp:
189448        * inspector/InspectorCSSAgent.h:
189449
1894502011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>
189451
189452        [Qt] Build system fixes against V8.
189453
189454        Reviewed by Tor Arne Vestbø.
189455
189456        * DerivedSources.pri: Add missing binding files to the build and also added
189457        the regexp table generation needed for Yarr, which is compiled statically into
189458        WebCore to implement WebCore::RegularExpression.
189459        * Target.pri: Adapt to latest v8 binding files.
189460
1894612011-11-28  Andrey Kosyakov  <caseq@chromium.org>
189462
189463        Web Inspector: resource status image is mis-aligned in the network headers view
189464        https://bugs.webkit.org/show_bug.cgi?id=73211
189465
189466        Reviewed by Pavel Feldman.
189467
189468        * inspector/front-end/ResourceHeadersView.js:
189469        (WebInspector.ResourceHeadersView):
189470
1894712011-11-28  Pavel Feldman  <pfeldman@google.com>
189472
189473        Web Inspector: console evaluation doesn't work when navigating from a page with several frames to another one
189474        https://bugs.webkit.org/show_bug.cgi?id=73210
189475
189476        Reviewed by Yury Semikhatsky.
189477
189478        Test: http/tests/inspector/resource-tree/resource-tree-events.html
189479
189480        * inspector/Inspector.json:
189481        * inspector/front-end/ResourceTreeModel.js:
189482        (WebInspector.ResourceTreeModel.prototype._frameDetached):
189483        (WebInspector.ResourceTreeFrame.prototype.navigate):
189484        (WebInspector.ResourceTreeFrame.prototype.removeChildFrame):
189485        (WebInspector.ResourceTreeFrame.prototype.removeChildFrames):
189486
1894872011-11-28  Pavel Feldman  <pfeldman@google.com>
189488
189489        Web Inspector: introduce InspectorBaseAgent.
189490        https://bugs.webkit.org/show_bug.cgi?id=73203
189491
189492        Now that inspector controller does not depend on concrete inspector agent
189493        classes, we can collect agent instances using abstract type.
189494
189495        Reviewed by Yury Semikhatsky.
189496
189497        * CMakeLists.txt:
189498        * GNUmakefile.list.am:
189499        * Target.pri:
189500        * WebCore.gypi:
189501        * WebCore.vcproj/WebCore.vcproj:
189502        * WebCore.xcodeproj/project.pbxproj:
189503        * inspector/InspectorAgent.cpp:
189504        (WebCore::InspectorAgent::InspectorAgent):
189505        * inspector/InspectorAgent.h:
189506        * inspector/InspectorApplicationCacheAgent.cpp:
189507        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
189508        * inspector/InspectorApplicationCacheAgent.h:
189509        * inspector/InspectorBaseAgent.cpp: Copied from Source/WebCore/inspector/InspectorFileSystemAgent.h.
189510        (WebCore::InspectorBaseAgent::InspectorBaseAgent):
189511        (WebCore::InspectorBaseAgent::~InspectorBaseAgent):
189512        * inspector/InspectorBaseAgent.h: Copied from Source/WebCore/inspector/InspectorFileSystemAgent.h.
189513        * inspector/InspectorCSSAgent.cpp:
189514        (WebCore::InspectorCSSAgent::InspectorCSSAgent):
189515        * inspector/InspectorCSSAgent.h:
189516        (WebCore::InspectorCSSAgent::setFrontend):
189517        (WebCore::InspectorCSSAgent::restore):
189518        * inspector/InspectorConsoleAgent.cpp:
189519        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
189520        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
189521        (WebCore::InspectorConsoleAgent::enable):
189522        (WebCore::InspectorConsoleAgent::disable):
189523        (WebCore::InspectorConsoleAgent::clearMessages):
189524        (WebCore::InspectorConsoleAgent::restore):
189525        (WebCore::InspectorConsoleAgent::clearFrontend):
189526        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
189527        (WebCore::InspectorConsoleAgent::setMonitoringXHREnabled):
189528        (WebCore::InspectorConsoleAgent::addConsoleMessage):
189529        * inspector/InspectorConsoleAgent.h:
189530        * inspector/InspectorController.cpp:
189531        (WebCore::InspectorController::InspectorController):
189532        * inspector/InspectorDOMAgent.cpp:
189533        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
189534        (WebCore::InspectorDOMAgent::clearFrontend):
189535        (WebCore::InspectorDOMAgent::setDocument):
189536        (WebCore::InspectorDOMAgent::getDocument):
189537        (WebCore::InspectorDOMAgent::mainFrameDOMContentLoaded):
189538        * inspector/InspectorDOMAgent.h:
189539        * inspector/InspectorDOMStorageAgent.cpp:
189540        (WebCore::InspectorDOMStorageAgent::InspectorDOMStorageAgent):
189541        (WebCore::InspectorDOMStorageAgent::restore):
189542        (WebCore::InspectorDOMStorageAgent::enable):
189543        (WebCore::InspectorDOMStorageAgent::disable):
189544        * inspector/InspectorDOMStorageAgent.h:
189545        * inspector/InspectorDatabaseAgent.cpp:
189546        (WebCore::InspectorDatabaseAgent::InspectorDatabaseAgent):
189547        (WebCore::InspectorDatabaseAgent::enable):
189548        (WebCore::InspectorDatabaseAgent::disable):
189549        (WebCore::InspectorDatabaseAgent::restore):
189550        * inspector/InspectorDatabaseAgent.h:
189551        * inspector/InspectorDebuggerAgent.cpp:
189552        (WebCore::InspectorDebuggerAgent::InspectorDebuggerAgent):
189553        (WebCore::InspectorDebuggerAgent::disable):
189554        (WebCore::InspectorDebuggerAgent::enabled):
189555        (WebCore::InspectorDebuggerAgent::enable):
189556        (WebCore::InspectorDebuggerAgent::clearFrontend):
189557        (WebCore::InspectorDebuggerAgent::setBreakpointByUrl):
189558        (WebCore::InspectorDebuggerAgent::removeBreakpoint):
189559        (WebCore::InspectorDebuggerAgent::didParseSource):
189560        * inspector/InspectorDebuggerAgent.h:
189561        * inspector/InspectorFileSystemAgent.cpp:
189562        (WebCore::InspectorFileSystemAgent::InspectorFileSystemAgent):
189563        * inspector/InspectorFileSystemAgent.h:
189564        * inspector/InspectorPageAgent.cpp:
189565        (WebCore::InspectorPageAgent::InspectorPageAgent):
189566        * inspector/InspectorPageAgent.h:
189567        * inspector/InspectorProfilerAgent.cpp:
189568        (WebCore::InspectorProfilerAgent::InspectorProfilerAgent):
189569        (WebCore::InspectorProfilerAgent::enable):
189570        (WebCore::InspectorProfilerAgent::disable):
189571        (WebCore::InspectorProfilerAgent::restore):
189572        (WebCore::InspectorProfilerAgent::restoreEnablement):
189573        (WebCore::InspectorProfilerAgent::start):
189574        (WebCore::InspectorProfilerAgent::stop):
189575        * inspector/InspectorProfilerAgent.h:
189576        * inspector/InspectorResourceAgent.cpp:
189577        (WebCore::InspectorResourceAgent::InspectorResourceAgent):
189578        * inspector/InspectorResourceAgent.h:
189579        * inspector/InspectorTimelineAgent.cpp:
189580        (WebCore::InspectorTimelineAgent::InspectorTimelineAgent):
189581        * inspector/InspectorTimelineAgent.h:
189582        * inspector/InspectorWorkerAgent.cpp:
189583        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
189584        (WebCore::InspectorWorkerAgent::restore):
189585        (WebCore::InspectorWorkerAgent::clearFrontend):
189586        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
189587        (WebCore::InspectorWorkerAgent::setAutoconnectToWorkers):
189588        (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart):
189589        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
189590        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
189591        * inspector/InspectorWorkerAgent.h:
189592
1895932011-11-28  Ilya Tikhonovsky  <loislo@chromium.org>
189594
189595        Web Inspector: chromium: Unreviewed one-line fix for Summary view filter.
189596
189597        * inspector/front-end/HeapSnapshot.js:
189598        (WebInspector.HeapSnapshot.prototype.createNodesProviderForClass):
189599
1896002011-11-28  Pavel Feldman  <pfeldman@google.com>
189601
189602        Not reviewed: disable filesystem instrumentation to unbreak Qt tests.
189603
189604        * inspector/front-end/inspector.js:
189605
1896062011-11-28  Sheriff Bot  <webkit.review.bot@gmail.com>
189607
189608        Unreviewed, rolling out r101249.
189609        http://trac.webkit.org/changeset/101249
189610        https://bugs.webkit.org/show_bug.cgi?id=73205
189611
189612        it broke qt-minimal and wince builds (Requested by loislo on
189613        #webkit).
189614
189615        * inspector/CodeGeneratorInspector.py:
189616        (Capitalizer.upper_camel_case_to_lower):
189617        (RawTypes.get):
189618        (RawTypes.String.get_c_param_type):
189619        (RawTypes.Object.get_c_param_type):
189620        (RawTypes.Object):
189621        (ParamType):
189622        (TypeData.__init__):
189623        (TypeData.get_raw_type):
189624        (TypeMap.__init__):
189625        (InspectorFrontend_h):
189626        (InspectorArray):
189627        (InspectorObject):
189628        (String):
189629        (InspectorBackendDispatcher_h):
189630        (Generator.process_command):
189631        * inspector/InspectorValues.h:
189632
1896332011-11-28  Andreas Kling  <kling@webkit.org>
189634
189635        CSSStyleDeclaration: Remove ability to have style sheet as parent.
189636        <http://webkit.org/b/73199>
189637
189638        Reviewed by Antti Koivisto.
189639
189640        Refactor so we don't have to support style sheets as parents of style declarations.
189641        The users of this mechanism were mapped attributes and inline styles, which instead
189642        now know how to find the relevant style sheet via their document().
189643
189644        * css/CSSMutableStyleDeclaration.h:
189645        * css/CSSMutableStyleDeclaration.cpp:
189646        (WebCore::CSSElementStyleDeclaration::styleSheet):
189647
189648            Added CSSElementStyleDeclaration::styleSheet(). The default implementation
189649            returns the associated element's document()->elementSheet(). It is virtual
189650            because SVGFontFaceElement needs document()->mappedElementSheet() instead.
189651
189652        * css/CSSStyleDeclaration.h:
189653        (WebCore::CSSStyleDeclaration::parentRule):
189654        (WebCore::CSSStyleDeclaration::setParentRule):
189655        * css/CSSStyleDeclaration.cpp:
189656        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
189657
189658            Remove m_parentIsRule and m_parentStyleSheet, leaving only m_parentRule.
189659
189660        * css/CSSStyleDeclaration.cpp:
189661        (WebCore::CSSStyleDeclaration::parentStyleSheet):
189662
189663            Out-of-lined so it can return the CSSElementStyleDeclaration::styleSheet() for
189664            declarations with an associated element.
189665
189666        * css/WebKitCSSKeyframeRule.cpp:
189667        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
189668        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
189669
189670            Use setParentRule() instead of setParentStyleSheet() on the internal
189671            CSSMutableStyleDeclaration in keyframe rules.
189672
189673        * dom/StyledElement.h:
189674
189675            Removed StyledElement::didMoveToNewOwnerDocument() since we no longer need to
189676            manually keep the inline style's parent style sheet pointer up-to-date.
189677
189678        * dom/StyledElement.cpp:
189679        (WebCore::StyledElement::createInlineStyleDecl):
189680        (WebCore::StyledElement::destroyInlineStyleDecl):
189681        (WebCore::StyledElement::attributeChanged):
189682        (WebCore::StyledElement::createMappedDecl):
189683        * html/HTMLTableElement.cpp:
189684        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
189685        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
189686        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
189687        (WebCore::HTMLTableElement::addSharedGroupDecls):
189688        * svg/SVGFontFaceElement.cpp:
189689        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
189690
189691            Remove setParentStyleSheet() calls on mapped attributes and inline styles.
189692            They now find the relevant style sheet by following the associated element ptr.
189693
189694        * svg/SVGFontFaceElement.cpp:
189695        (WebCore::FontFaceStyleDeclaration::FontFaceStyleDeclaration):
189696        (WebCore::FontFaceStyleDeclaration::~FontFaceStyleDeclaration):
189697        (WebCore::FontFaceStyleDeclaration::styleSheet):
189698
189699            Subclass CSSElementStyleDeclaration for SVG's font-face elment in order to
189700            override styleSheet(). This is necessary because they operate on the document's
189701            mappedElementSheet() rather than the elementSheet().
189702
1897032011-11-28  Peter Rybin  <peter.rybin@gmail.com>
189704
189705        Web Inspector: [protocol] generate C++ classes for protocol JSON named types
189706        https://bugs.webkit.org/show_bug.cgi?id=72835
189707
189708        Reviewed by Pavel Feldman.
189709
189710        Extends python generator functionality.
189711        Makes constructor in InspectorObject public.
189712
189713        * inspector/CodeGeneratorInspector.py:
189714        * inspector/InspectorValues.h:
189715
1897162011-11-28  Simon Hausmann  <simon.hausmann@nokia.com>
189717
189718        [Qt] WTF should be built as separate static library
189719        https://bugs.webkit.org/show_bug.cgi?id=73201
189720
189721        Reviewed by Tor Arne Vestbø.
189722
189723        * Target.pri: Require wtf and don't claim to be building it
189724        with BUILDING_WTF in DEFINES (otherwise we won't link it with
189725        debug-shlib builds).
189726
1897272011-11-28  Taiju TSUIKI  <tzik@chromium.org>
189728
189729        Fix build error on Chromium/Windows.
189730        https://bugs.webkit.org/show_bug.cgi?id=73200
189731
189732        Unreviewed build fix.
189733
189734        * inspector/InspectorFileSystemAgent.cpp:
189735
1897362011-11-28  Carlos Garcia Campos  <cgarcia@igalia.com>
189737
189738        Unreviewed. Fix make distcheck issues.
189739
189740        * GNUmakefile.list.am: Add missing files.
189741        * bindings/gobject/GNUmakefile.am: Only build
189742        WebKitDOMHTMLPropertiesCollection when microdate is enabled.
189743
1897442011-11-28  Luke Macpherson   <macpherson@chromium.org>
189745
189746        Implement CSS border image properties in CSSStyleApplyProperty.
189747        https://bugs.webkit.org/show_bug.cgi?id=72846
189748
189749        Reviewed by Andreas Kling.
189750
189751        Refactoring that implements CSS border image properties in CSSStyleApplyProperty.
189752        Part of the larger refactoring aimed at removing CSSStyleSelector::applyProperty().
189753
189754        Covered by existing tests in fast/css.
189755
189756        * css/CSSStyleApplyProperty.cpp:
189757        Implement property handlers based on existing code.
189758        (WebCore::ApplyPropertyBorderImage::setValue):
189759        (WebCore::ApplyPropertyBorderImage::applyValue):
189760        (WebCore::ApplyPropertyBorderImage::createHandler):
189761        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
189762        * css/CSSStyleSelector.cpp:
189763        Remove old code.
189764        (WebCore::CSSStyleSelector::applyProperty):
189765
1897662011-11-28  Luke Macpherson   <macpherson@chromium.org>
189767
189768        Implement CSS hyphenate-limit properties in CSSStyleApplyProperty
189769        https://bugs.webkit.org/show_bug.cgi?id=73107
189770
189771        Reviewed by Andreas Kling.
189772
189773        Covered by existing tests under fast/css (parsing-hyphenate-limit-lines.html, parsing-hyphenate-limit.html, text/hyphenate-limit-lines.html)
189774
189775        * css/CSSStyleApplyProperty.cpp:
189776        (WebCore::ApplyPropertyNumber::setValue):
189777        (WebCore::ApplyPropertyNumber::applyValue):
189778        (WebCore::ApplyPropertyNumber::createHandler):
189779        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
189780        * css/CSSStyleSelector.cpp:
189781        (WebCore::CSSStyleSelector::applyProperty):
189782
1897832011-11-28  Taiju TSUIKI  <tzik@chromium.org>
189784
189785        [Inspector][FileSystem]: Capture DOMFileSystem object.
189786        Adding files for FileSystem support to Inspector.
189787        Adding hooks into DOMFileSystem creation and destruction.
189788        https://bugs.webkit.org/show_bug.cgi?id=72456
189789
189790        Reviewed by Pavel Feldman.
189791
189792        Tests should be added in later CL.
189793
189794        * CMakeLists.txt:
189795        * WebCore.gypi:
189796        * WebCore.vcproj/WebCore.vcproj:
189797        * WebCore.xcodeproj/project.pbxproj:
189798        * fileapi/DOMFileSystem.cpp:
189799        (WebCore::DOMFileSystem::create):
189800        * fileapi/DOMFileSystem.h:
189801        * inspector/CodeGeneratorInspector.py:
189802        * inspector/Inspector.json:
189803        * inspector/InspectorController.cpp:
189804        (WebCore::InspectorController::InspectorController):
189805        (WebCore::InspectorController::connectFrontend):
189806        (WebCore::InspectorController::disconnectFrontend):
189807        (WebCore::InspectorController::restoreInspectorStateFromCookie):
189808        * inspector/InspectorController.h:
189809        * inspector/InspectorFileSystemAgent.cpp: Added.
189810        * inspector/InspectorFileSystemAgent.h: Added.
189811        * inspector/InspectorFileSystemInstrumentation.h: Added.
189812        * inspector/InspectorInstrumentation.cpp:
189813        (WebCore::InspectorInstrumentation::didOpenFileSystemImpl):
189814        * inspector/InspectorInstrumentation.h:
189815        * inspector/InstrumentingAgents.h:
189816        (WebCore::InstrumentingAgents::InstrumentingAgents):
189817        (WebCore::InstrumentingAgents::inspectorFileSystemAgent):
189818        (WebCore::InstrumentingAgents::setInspectorFileSystemAgent):
189819        * inspector/WorkerInspectorController.cpp:
189820        (WebCore::WorkerInspectorController::connectFrontend):
189821        * inspector/front-end/inspector.js:
189822
1898232011-11-28  Luke Macpherson   <macpherson@chromium.org>
189824
189825        Implement CSSPropertyWebkitFlowInto and CSSPropertyWebkitFlowFrom in CSSStyleApplyProperty.
189826        https://bugs.webkit.org/show_bug.cgi?id=73110
189827
189828        Reviewed by Andreas Kling.
189829
189830        Covered by existing tests under fast/regions.
189831
189832        * css/CSSStyleApplyProperty.cpp:
189833        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
189834        * css/CSSStyleSelector.cpp:
189835        (WebCore::CSSStyleSelector::applyProperty):
189836
1898372011-11-27  Luke Macpherson   <macpherson@chromium.org>
189838
189839        Implement vertical-align property in CSSStyleApplyProperty.
189840        https://bugs.webkit.org/show_bug.cgi?id=72926
189841
189842        Reviewed by Andreas Kling.
189843
189844        Part of the ongoing refactoring of CSSStyleSelector::applyProperty.
189845
189846        Covered by several tests under fast/css.
189847
189848        * css/CSSPrimitiveValue.h:
189849        (WebCore::CSSPrimitiveValue::isPercent):
189850        * css/CSSStyleApplyProperty.cpp:
189851        (WebCore::ApplyPropertyVerticalAlign::applyValue):
189852        (WebCore::ApplyPropertyVerticalAlign::createHandler):
189853        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
189854        * css/CSSStyleSelector.cpp:
189855        (WebCore::CSSStyleSelector::applyProperty):
189856        * rendering/style/RenderStyle.h:
189857        (WebCore::InheritedFlags::setVerticalAlignLength):
189858        Calling setVerticalAlignLength now automatically sets verticalAlign to LENGTH.
189859
1898602011-11-27  Luke Macpherson   <macpherson@chromium.org>
189861
189862        Implement CSSPropertyTextAlign in CSSStyleApplyProperty.
189863        https://bugs.webkit.org/show_bug.cgi?id=73102
189864
189865        Reviewed by Andreas Kling.
189866
189867        Covered by fast/css/text-align*.html
189868
189869        * css/CSSStyleApplyProperty.cpp:
189870        (WebCore::ApplyPropertyTextAlign::applyValue):
189871        (WebCore::ApplyPropertyTextAlign::createHandler):
189872        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
189873        * css/CSSStyleSelector.cpp:
189874        (WebCore::CSSStyleSelector::applyProperty):
189875
1898762011-11-27  Andreas Kling  <kling@webkit.org>
189877
189878        CSSStyleRule: Pack m_sourceLine with CSSRule bits.
189879        <http://webkit.org/b/73168>
189880
189881        Reviewed by Antti Koivisto.
189882
189883        Make CSSStyleRule::m_sourceLine a 27-bit integer and pack it with the rest
189884        of the members in CSSRule. This shrinks CSSStyleRule by one CPU word
189885        and reduces memory consumption by 81 kB on the GMail inbox (on 64-bit.)
189886
189887        * css/CSSRule.h:
189888        (WebCore::CSSRule::CSSRule):
189889        * css/CSSStyleRule.cpp:
189890        (WebCore::CSSStyleRule::CSSStyleRule):
189891        * css/CSSStyleRule.h:
189892
1898932011-11-27  Mark Rowe  <mrowe@apple.com>
189894
189895        <http://webkit.org/b/72665> Switch to a more modern approach to retrieving the OS marketing version
189896
189897        Reviewed by Dan Bernstein.
189898
189899        * WebCore.exp.in: Expose the necessary symbol.
189900        * platform/mac/WebCoreSystemInterface.h: Ditto.
189901        * platform/mac/WebCoreSystemInterface.mm: Ditto.
189902
1899032011-11-27  Anna Cavender  <annacc@chromium.org>
189904
189905        Move readyState from TextTrack to HTMLTrackElement
189906        https://bugs.webkit.org/show_bug.cgi?id=72553
189907
189908        Fix for r101057 after it was rolled out in r101088
189909
189910        Reviewed by Eric Carlson.
189911
189912        * html/HTMLTrackElement.cpp:
189913        (WebCore::HTMLTrackElement::HTMLTrackElement):
189914            Set initial readyState to NONE.
189915        (WebCore::HTMLTrackElement::didCompleteLoad):
189916            Set readyState based on load completed status.
189917        (WebCore::HTMLTrackElement::setReadyState):
189918            This replaces textTrackReadyStateChanged() because only LoadableTextTrack
189919            needs to notify HTMLTrackElement of readyState changes (i.e.
189920            textTrackReadyStateChanged() is no longer required of TextTrackClient).
189921        * html/HTMLTrackElement.h:
189922            ReadyState enum and m_readyState member variable moved from TextTrack.
189923        (WebCore::HTMLTrackElement::readyState):
189924            New: readyState() getter.
189925        * html/HTMLTrackElement.idl:
189926            Add readyState attribute and associated constants.
189927
189928        * html/LoadableTextTrack.cpp:
189929        (WebCore::LoadableTextTrack::loadTimerFired): Set readyState on HTMLTrackElement.
189930        (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
189931        (WebCore::LoadableTextTrack::cueLoadingCompleted): Move code to set readyState
189932            to HTMLTrackElement (it can set it based on loading status).
189933
189934        * html/TextTrack.cpp: Remove readyState from TextTrack.
189935        (WebCore::TextTrack::TextTrack): Ditto.
189936        * html/TextTrack.h: Ditto.
189937        * html/TextTrack.idl: Ditto.
189938
1899392011-11-27  Anna Cavender  <annacc@chromium.org>
189940
189941        Don't allow attribute changes on <track> if feature is not enabled.
189942        https://bugs.webkit.org/show_bug.cgi?id=73046
189943
189944        Reviewed by Eric Carlson.
189945
189946        No new tests. This fixes a problem when --enable-video-track is not used,
189947        but the tests use this flag.
189948
189949        * html/HTMLTrackElement.cpp:
189950        (WebCore::HTMLTrackElement::attributeChanged):
189951
1899522011-11-27  Andreas Kling  <kling@webkit.org>
189953
189954        CSSMutableStyleDeclaration: setCssText() mostly duplicates parseDeclaration().
189955        <http://webkit.org/b/73171>
189956
189957        Reviewed by Antti Koivisto.
189958
189959        Let setCssText() call parseDeclaration() instead of duplicating the functionality.
189960
189961        * css/CSSMutableStyleDeclaration.cpp:
189962        (WebCore::CSSMutableStyleDeclaration::setCssText):
189963
1899642011-11-27  Andreas Kling  <kling@webkit.org>
189965
189966        CSS/XSLStyleSheet: checkLoaded() needn't be virtual.
189967        <http://webkit.org/b/73169>
189968
189969        Reviewed by Antti Koivisto.
189970
189971        Devirtualize checkLoaded() in CSSStyleSheet and XSLStyleSheet as they
189972        are not overriding anything, nor are they ever overridden.
189973
189974        * css/CSSStyleSheet.h:
189975        * xml/XSLStyleSheet.h:
189976
1899772011-11-27  Andreas Kling  <kling@webkit.org>
189978
189979        Add assertions that CSSMappedAttributeDeclarations aren't using strict parsing.
189980        <http://webkit.org/b/73167>
189981
189982        Reviewed by Antti Koivisto.
189983
189984        * dom/StyledElement.cpp:
189985        (WebCore::StyledElement::createMappedDecl):
189986        * html/HTMLTableElement.cpp:
189987        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
189988        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
189989        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
189990        (WebCore::HTMLTableElement::addSharedGroupDecls):
189991
1899922011-11-27  Andreas Kling  <kling@webkit.org>
189993
189994        CSSStyleSheet: Removed unused create() overload.
189995        <http://webkit.org/b/73170>
189996
189997        Reviewed by Antonio Gomes.
189998
189999        Nobody was using CSSStyleSheet::create(ownerNode, originalURL, finalURL)
190000        so remove it.
190001
190002        * css/CSSStyleSheet.h:
190003        (WebCore::CSSStyleSheet::create):
190004
1900052011-11-27  Robert Hogan  <robert@webkit.org>
190006
190007        CSS 2.1 failure: border-conflict-element-*
190008        https://bugs.webkit.org/show_bug.cgi?id=71244
190009
190010        Reviewed by Julien Chaffraix.
190011        
190012        From http://www.w3.org/TR/CSS21/tables.html#border-conflict-resolution :
190013          "When two adjacent cells have the same border-width and the same border-style in a 
190014          'border-collapse: collapse' table, then the color of the border from the leftmost cell wins
190015          (if the table's 'direction' is 'ltr'; right, if it is 'rtl') and the color of the border
190016          from the topmost cell wins."
190017
190018        So WebCore::compareBorders needs to account for the position of the cell when 
190019        deciding which border wins the comparison. This will ensure that the winning border is 
190020        sorted to the appropriate position in the sorted list of borders for painting.
190021
190022        When conflicting collapsed borders are in the same cell, the following order of
190023        precedence is used (where 4 has highest precedence):
190024
190025                           __3__
190026                          |     |
190027                        4 |     | 1
190028                          |_____|
190029                             2
190030
190031        This fixes the following failing tests from the border-conflict-element-* set
190032        in the CSS 2.1 test suite:
190033          border-conflict-element-001d.htm
190034          border-conflict-element-0037.htm
190035
190036        One test in the suite is known to be wrong, so a corrected version has been landed outside the 
190037        css2.1 folder:
190038          border-conflict-element-002.htm
190039
190040        This change entails rebaselining quite a few tests, see the LayoutTests ChangeLog for a full
190041        explanation of the rebaselines.
190042
190043        * rendering/RenderTableCell.cpp:
190044        (WebCore::compareBorders): Compare the cells' position from the left (in 'ltr') and right (in 'rtl')
190045                                   of the table and the cells' position from the top of the table when nothing
190046                                   else in the style, width, or grouping of the borders determines precedence.
190047                                   If the conflicting borders are in the same cell, apply the same logic to the position of the borders.
190048        (WebCore::RenderTableCell::collapsedStartBorder): Pass the cell's position and its table's direction to CollapsedBorderValue
190049        (WebCore::RenderTableCell::collapsedEndBorder): ditto
190050        (WebCore::RenderTableCell::collapsedBeforeBorder): ditto
190051        (WebCore::RenderTableCell::collapsedAfterBorder): ditto
190052        * rendering/style/CollapsedBorderValue.h:
190053        (WebCore::CollapsedBorderValue::CollapsedBorderValue): Learn the position of the border's cell and the direction of its table
190054        (WebCore::CollapsedBorderValue::columnOffset): the cell's offset from the top of the table
190055        (WebCore::CollapsedBorderValue::rowOffset): the cell's offset from the start of the table
190056        (WebCore::CollapsedBorderValue::edge): which edge of the cell the border is on
190057        (WebCore::CollapsedBorderValue::operator==): cells with the same position in the table are equal
190058
1900592011-11-26  Pavel Feldman  <pfeldman@google.com>
190060
190061        Web Inspector: remove disconnectFromBackend from the protocol.
190062        https://bugs.webkit.org/show_bug.cgi?id=73127
190063
190064        Reviewed by Yury Semikhatsky.
190065
190066        * inspector/Inspector.json:
190067        * inspector/InspectorAgent.cpp:
190068        (WebCore::InspectorAgent::inspectedPageDestroyed):
190069        * inspector/InspectorClient.h:
190070        * inspector/InspectorController.cpp:
190071        (WebCore::InspectorController::close):
190072        * inspector/InspectorFrontendClient.h:
190073        * inspector/InspectorFrontendHost.cpp:
190074        * inspector/InspectorFrontendHost.h:
190075        * inspector/InspectorFrontendHost.idl:
190076        * inspector/front-end/InspectorFrontendHostStub.js:
190077        * inspector/front-end/inspector.js:
190078        (WebInspector.disconnectFromWorker):
190079        * loader/EmptyClients.h:
190080        (WebCore::EmptyInspectorClient::closeInspectorFrontend):
190081
1900822011-11-26  Kevin Ollivier  <kevino@theolliviers.com>
190083
190084        [wx] Unreviewed build fix. Change the order of wx header includes
190085        to avoid a windows.h inclusion order issue, and make sure a stub
190086        method returns a value.
190087
190088        * platform/wx/FileSystemWx.cpp:
190089        (WebCore::openFile):
190090
1900912011-11-26  Alejandro G. Castro  <alex@igalia.com>
190092
190093        Fix compilation after r101157.
190094
190095        Reviewed by Martin Robinson.
190096
190097        * bindings/scripts/preprocessor.pm:
190098        (applyPreprocessor): In case we have a string with
190099        double-quotations (") we replace it with the empty string.
190100
1901012011-11-26  Igor Oliveira  <igor.oliveira@openbossa.org>
190102
190103        [TexMapper][WK2][Qt] Simple opacity animations are not working
190104        https://bugs.webkit.org/show_bug.cgi?id=73157
190105
190106        LayerTreeHostQt needs to know what nodes in the TextureMapper are visible, to associate
190107        a tile to it. It is done using TextureMapperNode::collectVisibleContentsRects.
190108
190109        However TextureMapperNode::collectVisibleContentsRects has an optimization to check if
190110        the current tile has opacity greater than 0.01, otherwise it will not create a tile for
190111        the current node.
190112
190113        For opacity animations from 0 to 1, it is a problem because the tile is never created
190114        and the animation never happens.
190115
190116        This patch fixes opacity animations.
190117
190118        Reviewed by Noam Rosenthal.
190119
190120        * platform/graphics/texmap/TextureMapperNode.cpp:
190121        (WebCore::TextureMapperNode::countDescendantsWithContent):
190122        (WebCore::TextureMapperNode::collectVisibleContentsRects):
190123
1901242011-11-26  Sheriff Bot  <webkit.review.bot@gmail.com>
190125
190126        Unreviewed, rolling out r101193.
190127        http://trac.webkit.org/changeset/101193
190128        https://bugs.webkit.org/show_bug.cgi?id=73158
190129
190130        Breaks Windows and Qt minimal. (Requested by pfeldman on
190131        #webkit).
190132
190133        * inspector/Inspector.json:
190134        * inspector/InspectorAgent.cpp:
190135        (WebCore::InspectorAgent::inspectedPageDestroyed):
190136        * inspector/InspectorClient.h:
190137        * inspector/InspectorController.cpp:
190138        (WebCore::InspectorController::close):
190139        * inspector/InspectorFrontendClient.h:
190140        * inspector/InspectorFrontendHost.cpp:
190141        (WebCore::InspectorFrontendHost::disconnectFromBackend):
190142        * inspector/InspectorFrontendHost.h:
190143        * inspector/InspectorFrontendHost.idl:
190144        * inspector/front-end/InspectorFrontendHostStub.js:
190145        (.WebInspector.InspectorFrontendHostStub.prototype.disconnectFromBackend):
190146        * inspector/front-end/inspector.js:
190147        (WebInspector.disconnectFromBackend):
190148        * loader/EmptyClients.h:
190149
1901502011-11-26  Pavel Feldman  <pfeldman@google.com>
190151
190152        Web Inspector: remove disconnectFromBackend from the protocol.
190153        https://bugs.webkit.org/show_bug.cgi?id=73127
190154
190155        Reviewed by Yury Semikhatsky.
190156
190157        * inspector/Inspector.json:
190158        * inspector/InspectorAgent.cpp:
190159        (WebCore::InspectorAgent::inspectedPageDestroyed):
190160        * inspector/InspectorClient.h:
190161        * inspector/InspectorController.cpp:
190162        (WebCore::InspectorController::close):
190163        * inspector/InspectorFrontendClient.h:
190164        * inspector/InspectorFrontendHost.cpp:
190165        * inspector/InspectorFrontendHost.h:
190166        * inspector/InspectorFrontendHost.idl:
190167        * inspector/front-end/InspectorFrontendHostStub.js:
190168        * inspector/front-end/inspector.js:
190169        (WebInspector.disconnectFromWorker):
190170        * loader/EmptyClients.h:
190171        (WebCore::EmptyInspectorClient::closeInspectorFrontend):
190172
1901732011-11-26  Timothy Hatcher  <timothy@apple.com>
190174
190175        Fix a bug in TreeOutline which would cause parent elements to show up as expanded and empty
190176        when removed and added back to the tree.
190177
190178        https://bugs.webkit.org/show_bug.cgi?id=73155
190179
190180        Reviewed by Pavel Feldman.
190181
190182        * inspector/front-end/treeoutline.js:
190183        (TreeElement.prototype.collapse): Set _treeElementsExpandedState to false instead of true.
190184        Only TreeElement.prototype.expand should set it to true, which it does.
190185
1901862011-11-26  Martin Robinson  <mrobinson@igalia.com>
190187
190188        [GTK] Fix some warnings in WebCore GTK+
190189        https://bugs.webkit.org/show_bug.cgi?id=73137
190190
190191        Reviewed by Philippe Normand.
190192
190193        No new tests. This patch just fixes compilation warnings.
190194
190195        * platform/gtk/CursorGtk.cpp:
190196        (WebCore::createNamedCursor): Remove unused variable.
190197        * platform/gtk/RenderThemeGtk3.cpp:
190198        (WebCore::RenderThemeGtk::paintSliderTrack): ASSERT_UNUSED instead of ASSERT.
190199        * platform/gtk/SharedTimerGtk.cpp: Ditto.
190200        (WebCore::stopSharedTimer):
190201
1902022011-11-25  Eric Carlson  <eric.carlson@apple.com>
190203
190204        Implement addCue and removeCue in TextTrack
190205        https://bugs.webkit.org/show_bug.cgi?id=72554
190206
190207        Reviewed by Darin Adler.
190208
190209        Test: media/track/track-add-remove-cue.html
190210
190211        * html/HTMLTrackElement.cpp:
190212        (WebCore::HTMLTrackElement::ensureTrack): Go ahead and allocate a Track even if the feature 
190213            is disabled, it just won't load anything.
190214        (WebCore::HTMLTrackElement::scheduleLoad): Early return if the featue is disabled.
190215        (WebCore::HTMLTrackElement::canLoadUrl): Ditto.
190216
190217        * html/LoadableTextTrack.cpp:
190218        (WebCore::LoadableTextTrack::newCuesAvailable): Add new cues one at a time because 
190219            cues->add(Vector<TextTrackCue*>&) is gone.
190220
190221        * html/TextTrack.cpp:
190222        (WebCore::TextTrack::addCue): Implement.
190223        (WebCore::TextTrack::removeCue): Ditto.
190224        * html/TextTrack.h:
190225
190226        (WebCore::TextTrackCue::TextTrackCue): Initialize every member variable.
190227        (WebCore::TextTrackCue::track): m_track is now a RefPtr.
190228        (WebCore::TextTrackCue::setTrack): Ditto.
190229        * html/TextTrackCue.h:
190230
190231        * html/TextTrackCueList.cpp:
190232        (WebCore::TextTrackCueList::add): Don't ignore out of order cues, the spec text is not 
190233            a conformance requirement. Return bool to indicate success or failure.
190234        (WebCore::TextTrackCueList::remove): Return bool to indicate success or failure.
190235        * html/TextTrackCueList.h:
190236
190237        * loader/TextTrackLoader.cpp:
190238        (WebCore::TextTrackLoader::notifyFinished): Don't change m_state once it is set to Failed.
190239
1902402011-11-25  Kentaro Hara  <haraken@chromium.org>
190241
190242        Refactoring CodeGenerator*.pm for bug 72138
190243        https://bugs.webkit.org/show_bug.cgi?id=73115
190244
190245        Reviewed by Adam Barth.
190246
190247        Tests: bindings/scripts/test/TestObj.idl
190248
190249        * bindings/scripts/CodeGeneratorGObject.pm: Added "1;" at the end since this perl script is loaded as a package.
190250        * bindings/scripts/CodeGeneratorV8.pm: Ditto. Removed unnecessary variable names from method declarations in order to supress style check errors when a new run-bindings-tests IDL is added.
190251        (GenerateHeaderCustomCall):
190252        * bindings/scripts/test/V8/V8TestObj.h: Updated a run-bindings-tests result.
190253
1902542011-11-25  Kentaro Hara  <haraken@chromium.org>
190255
190256        Implement the WebGLContextEvent constructor
190257        https://bugs.webkit.org/show_bug.cgi?id=72856
190258
190259        Reviewed by Adam Barth.
190260
190261        This patch makes WebGLContextEvent constructable.
190262        The spec: http://www.khronos.org/registry/webgl/specs/latest/#5.14
190263
190264        Test: fast/events/constructors/webgl-context-event-constructor.html
190265
190266        * html/canvas/WebGLContextEvent.cpp: Added an implementation of the WebGLContextEvent constructor.
190267        (WebCore::WebGLContextEventInit::WebGLContextEventInit):
190268        (WebCore::WebGLContextEvent::WebGLContextEvent):
190269        * html/canvas/WebGLContextEvent.h: Added a definition of WebGLContextEventInit.
190270        (WebCore::WebGLContextEvent::create):
190271        * html/canvas/WebGLContextEvent.idl: Added [ConstructorTemplate=Event] IDL.
190272
1902732011-11-25  Jeff Timanus  <twiz@chromium.org>
190274
190275        [Chromium] The DrawingBuffer::bind method was incorrectly resetting the
190276        GL viewport parameters. This was unnecessary, and resulted in the corruption
190277        of the WebGL context's state.
190278        https://bugs.webkit.org/show_bug.cgi?id=73091
190279
190280        Reviewed by Stephen White.
190281
190282        Tests: fast/canvas/webgl/webgl-viewport-parameters-preserved.html
190283
190284        * platform/graphics/gpu/DrawingBuffer.cpp:
190285        (WebCore::DrawingBuffer::bind):
190286
1902872011-11-25  Ryosuke Niwa  <rniwa@webkit.org>
190288
190289        Crash in BidiRunList<Run>::replaceRunWithRuns with an empty bdi element
190290        https://bugs.webkit.org/show_bug.cgi?id=73116
190291
190292        Reviewed by Eric Seidel.
190293
190294        The assertion failure was caused because isolatedResolver is initialized with
190295        null start object due to the isolated run being empty.
190296
190297        Fixed the failure by skipping empty isolated runs.
190298
190299        Test: fast/text/empty-bdi-crash.html
190300
190301        * rendering/RenderBlockLineLayout.cpp:
190302        (WebCore::constructBidiRuns):
190303
1903042011-11-25  Antti Koivisto  <antti@apple.com>
190305
190306        StyleGeneratedImage should ref CSSImageGeneratorValue
190307        https://bugs.webkit.org/show_bug.cgi?id=73074
190308
190309        Reviewed by Andreas Kling and Nikolas Zimmermann.
190310        
190311        RenderStyle owns a bunch of StyleImage objects. However StyleGeneratedImage does not ref the
190312        CSSImageGeneratorValue it holds so we currently rely on the stylesheet to keep the CSSImageGeneratorValues
190313        alive as long as RenderStyle stays alive. While this works (RenderStyles are thrown away if stylesheets
190314        change) it is not particularly robust or nice.
190315
190316        - Use RefPtr<CSSImageGeneratorValue> in StyleGeneratedImage
190317        - Remove the RefPtr<StyleGeneratedImage> from CSSImageGeneratorValue.
190318          There is no good reason to cache StyleGeneratedImage as it is a small and
190319          uncommon object. With that the whole back-reference becomes unnecessary.
190320        - Switch more places to use (Pass)RefPtr<StyleImage> for consistency.
190321
190322        * css/CSSImageGeneratorValue.cpp:
190323        (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
190324        * css/CSSImageGeneratorValue.h:
190325        * css/CSSStyleApplyProperty.cpp:
190326        * css/CSSStyleSelector.cpp:
190327        (WebCore::CSSStyleSelector::applyProperty):
190328        (WebCore::CSSStyleSelector::styleImage):
190329        (WebCore::CSSStyleSelector::cachedOrPendingFromValue):
190330        (WebCore::CSSStyleSelector::generatedOrPendingFromValue):
190331        (WebCore::CSSStyleSelector::loadPendingImage):
190332        (WebCore::CSSStyleSelector::loadPendingImages):
190333        * css/CSSStyleSelector.h:
190334        * rendering/style/FillLayer.h:
190335        (WebCore::FillLayer::setImage):
190336        * rendering/style/NinePieceImage.h:
190337        (WebCore::NinePieceImage::NinePieceImage):
190338        * rendering/style/StyleGeneratedImage.cpp:
190339        (WebCore::StyleGeneratedImage::StyleGeneratedImage):
190340        (WebCore::StyleGeneratedImage::cssValue):
190341        (WebCore::StyleGeneratedImage::imageSize):
190342        (WebCore::StyleGeneratedImage::addClient):
190343        (WebCore::StyleGeneratedImage::removeClient):
190344        (WebCore::StyleGeneratedImage::image):
190345        * rendering/style/StyleGeneratedImage.h:
190346        (WebCore::StyleGeneratedImage::create):
190347        (WebCore::StyleGeneratedImage::data):
190348
1903492011-11-25  Andreas Kling  <kling@webkit.org>
190350
190351        Remove redundant setStrictParsing(false) calls on CSSMappedAttributeDeclarations.
190352        <http://webkit.org/b/73134>
190353
190354        Reviewed by Antti Koivisto.
190355
190356        CSSMappedAttributeDeclarations always use non-strict parsing since they use
190357        the argument-less CSSMutableStyleDeclaration constructor.
190358
190359        * dom/StyledElement.cpp:
190360        (WebCore::StyledElement::createMappedDecl):
190361        * html/HTMLTableElement.cpp:
190362        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
190363        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
190364        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
190365        (WebCore::HTMLTableElement::addSharedGroupDecls):
190366
1903672011-11-25  Andreas Kling  <kling@webkit.org>
190368
190369        Factor element pointer out of CSSMutableStyleDeclaration.
190370        <http://webkit.org/b/73121>
190371
190372        Reviewed by Antti Koivisto.
190373
190374        Move the StyledElement pointer out of CSSMutableStyleDeclaration and into a subclass
190375        for the cases where it's needed. This reduces the size of vanilla style declarations
190376        by one CPU word (4 or 8 bytes, depending on architecture.)
190377
190378        * css/CSSMutableStyleDeclaration.h:
190379        (WebCore::CSSElementStyleDeclaration::element):
190380        (WebCore::CSSElementStyleDeclaration::setElement):
190381        (WebCore::CSSElementStyleDeclaration::CSSElementStyleDeclaration):
190382        (WebCore::CSSElementStyleDeclaration::~CSSElementStyleDeclaration):
190383
190384            Added CSSElementStyleDeclaration, a common parent class for inline styles
190385            and mapped attributes. It extends CSSMutableStyleDeclaration by adding a backpointer
190386            to the StyledElement that owns it.
190387
190388        * GNUmakefile.list.am:
190389        * Target.pri:
190390        * WebCore.gypi:
190391        * WebCore.vcproj/WebCore.vcproj:
190392        * WebCore.xcodeproj/project.pbxproj:
190393        * css/CSSInlineStyleDeclaration.h: Added.
190394        (WebCore::CSSInlineStyleDeclaration::~CSSInlineStyleDeclaration):
190395        (WebCore::CSSInlineStyleDeclaration::create):
190396        (WebCore::CSSInlineStyleDeclaration::CSSInlineStyleDeclaration):
190397
190398            Added CSSInlineStyleDeclaration.
190399
190400        * bindings/js/JSDOMBinding.h:
190401        (WebCore::root):
190402        * css/CSSMutableStyleDeclaration.cpp:
190403        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
190404        * css/CSSStyleRule.cpp:
190405        (WebCore::CSSStyleRule::setSelectorText):
190406
190407            Only follow the associated element on CSSElementStyleDeclarations.
190408
190409        * css/CSSMutableStyleDeclaration.cpp:
190410        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
190411        (WebCore::CSSMutableStyleDeclaration::operator=):
190412
190413            Remove comment about m_element since the field was moved to a subclass.
190414
190415        * css/CSSStyleDeclaration.cpp:
190416        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
190417        * css/CSSStyleDeclaration.h:
190418        (WebCore::CSSStyleDeclaration::isElementStyleDeclaration):
190419        (WebCore::CSSStyleDeclaration::isInlineStyleDeclaration):
190420
190421            We no longer need to track whether a style declaration is mutable or not,
190422            so the constructors are slightly simplified.
190423            Added two bits (isElementStyleDeclaration and isInlineStyleDeclaration) for
190424            runtime type checking. These are protected and set by the CSSElementStyleDeclaration
190425            constructor.
190426
190427        * dom/CSSMappedAttributeDeclaration.h:
190428        (WebCore::CSSMappedAttributeDeclaration::create):
190429        (WebCore::CSSMappedAttributeDeclaration::CSSMappedAttributeDeclaration):
190430
190431            Remove pointless CSSRule* argument to constructor since we always passed 0.
190432
190433        * dom/StyledElement.h:
190434        (WebCore::StyledElement::inlineStyleDecl):
190435        * dom/StyledElement.cpp:
190436        (WebCore::StyledElement::createInlineStyleDecl):
190437        (WebCore::StyledElement::getInlineStyleDecl):
190438        (WebCore::StyledElement::addSubresourceAttributeURLs):
190439
190440            Make the inline style on StyledElement a CSSInlineStyleDeclaration.
190441
190442        * inspector/InspectorCSSAgent.cpp:
190443        (WebCore::InspectorCSSAgent::inlineStyleElement):
190444
190445            Slightly simplified by having CSSInlineStyleDeclaration.
190446
1904472011-11-25  Pavel Feldman  <pfeldman@google.com>
190448
190449        Web Inspector: unflake timeline-network tests
190450        https://bugs.webkit.org/show_bug.cgi?id=73123
190451
190452        We should capture stack only when it makes sense. Otherwise loading from cache
190453        results in different data sets (stacks) than regular load.
190454
190455        Reviewed by Yury Semikhatsky.
190456
190457        * inspector/InspectorTimelineAgent.cpp:
190458        (WebCore::InspectorTimelineAgent::willCallFunction):
190459        (WebCore::InspectorTimelineAgent::willDispatchEvent):
190460        (WebCore::InspectorTimelineAgent::willLayout):
190461        (WebCore::InspectorTimelineAgent::willRecalculateStyle):
190462        (WebCore::InspectorTimelineAgent::willPaint):
190463        (WebCore::InspectorTimelineAgent::willWriteHTML):
190464        (WebCore::InspectorTimelineAgent::didInstallTimer):
190465        (WebCore::InspectorTimelineAgent::didRemoveTimer):
190466        (WebCore::InspectorTimelineAgent::willFireTimer):
190467        (WebCore::InspectorTimelineAgent::willChangeXHRReadyState):
190468        (WebCore::InspectorTimelineAgent::willLoadXHR):
190469        (WebCore::InspectorTimelineAgent::willEvaluateScript):
190470        (WebCore::InspectorTimelineAgent::didScheduleResourceRequest):
190471        (WebCore::InspectorTimelineAgent::willReceiveResourceData):
190472        (WebCore::InspectorTimelineAgent::willReceiveResourceResponse):
190473        (WebCore::InspectorTimelineAgent::didFinishLoadingResource):
190474        (WebCore::InspectorTimelineAgent::didTimeStamp):
190475        (WebCore::InspectorTimelineAgent::didMarkDOMContentEvent):
190476        (WebCore::InspectorTimelineAgent::didMarkLoadEvent):
190477        (WebCore::InspectorTimelineAgent::didRegisterAnimationFrameCallback):
190478        (WebCore::InspectorTimelineAgent::didCancelAnimationFrameCallback):
190479        (WebCore::InspectorTimelineAgent::willFireAnimationFrameEvent):
190480        (WebCore::InspectorTimelineAgent::appendRecord):
190481        (WebCore::InspectorTimelineAgent::pushCurrentRecord):
190482        * inspector/InspectorTimelineAgent.h:
190483        * inspector/TimelineRecordFactory.cpp:
190484        (WebCore::TimelineRecordFactory::createGenericRecord):
190485
1904862011-11-25  Yury Semikhatsky  <yurys@chromium.org>
190487
190488        [Chromium] Web Inspector: get rid of WebDevToolsFrontendClient::sendFrontendLoaded method
190489        https://bugs.webkit.org/show_bug.cgi?id=73126
190490
190491        Notify embedder that front-end is loadded only when all dispatchers, panels and models
190492        have been created so that it could dispatch messages synchronously in the loaded handler.
190493
190494        Reviewed by Pavel Feldman.
190495
190496        * inspector/front-end/inspector.js:
190497
1904982011-11-25  Yury Semikhatsky  <yurys@chromium.org>
190499
190500        Web Inspector: don't send Console.messagesCleared on front-end connection if console agent is not enabled
190501        https://bugs.webkit.org/show_bug.cgi?id=73122
190502
190503        Console agent should stay silent if it is not enabled.
190504
190505        Reviewed by Pavel Feldman.
190506
190507        * inspector/InspectorConsoleAgent.cpp:
190508        (WebCore::InspectorConsoleAgent::clearMessages):
190509        (WebCore::InspectorConsoleAgent::addConsoleMessage):
190510
1905112011-11-25  Wei Charles  <charles.wei@torchmobile.com.cn>
190512
190513        Upstream the QNX/RIM specific HistoryItemViewState
190514        https://bugs.webkit.org/show_bug.cgi?id=73114
190515
190516        Reviewed by Daniel Bates.
190517
190518        This patch is to upstream RIM/QNX specific HistoryItemViewState extension
190519        to store some extra view state.
190520
190521        No new tests. It's not built yet.
190522
190523        * history/blackberry: Added.
190524        * history/blackberry/HistoryItemViewState.h: Added.
190525        (WebCore::HistoryItemViewState::HistoryItemViewState):
190526
1905272011-11-25  Vsevolod Vlasov  <vsevik@chromium.org>
190528
190529        Web Inspector: Split scripts panel top status bar into debug toolbar and editor toolbar.
190530        https://bugs.webkit.org/show_bug.cgi?id=73087
190531
190532        Reviewed by Pavel Feldman.
190533
190534        * inspector/front-end/ScriptsPanel.js:
190535        (WebInspector.ScriptsPanel.prototype._reset):
190536        (WebInspector.ScriptsPanel.prototype._createEditorToolbar):
190537        (WebInspector.ScriptsPanel.prototype._createDebugToolbar):
190538        (WebInspector.ScriptsPanel.prototype._createButtonAndRegisterShortcuts):
190539        * inspector/front-end/scriptsPanel.css:
190540        (#scripts-debug-toolbar):
190541        (#scripts-editor-toolbar):
190542        (#scripts-debug-sidebar-resizer-widget):
190543        (.script-view):
190544
1905452011-11-25  Leo Yang  <leo.yang@torchmobile.com.cn>
190546
190547        Upstream BlackBerry porting of platform/text
190548        https://bugs.webkit.org/show_bug.cgi?id=73117
190549
190550        Reviewed by Daniel Bates.
190551
190552        Initial upstream, can't be built yet, no test cases.
190553
190554        * platform/text/blackberry/StringBlackBerry.cpp: Added.
190555        (WTF::String::String):
190556        (WTF::String::operator WebString):
190557        * platform/text/blackberry/TextBreakIteratorInternalICUBlackBerry.cpp: Added.
190558        (WebCore::currentSearchLocaleID):
190559        (WebCore::currentTextBreakLocaleID):
190560
1905612011-11-25  Kentaro Hara  <haraken@chromium.org>
190562
190563        Remove WebCore.gyp/scripts/rule_binding.py
190564        https://bugs.webkit.org/show_bug.cgi?id=73109
190565
190566        Reviewed by Adam Barth.
190567
190568        rule_binding.py is used by WebCore.gyp only. rule_binding.py is just a wrapper
190569        of generate-bindings.pl and thus we can remove it.
190570
190571        No new tests. No change in behavior.
190572
190573        * WebCore.gyp/WebCore.gyp: Replaces rule_binding.py with generate-bindings.pl.
190574        * WebCore.gyp/scripts/rule_binding.py: Removed.
190575        * bindings/scripts/preprocessor.pm: When '"ENABLE_SOMETHING=1" "ENABLE_OTHERS=0"' is passed as a define macro, the string is passed to our perl scripts without the double-quotations (") omitted. We need to omit the double quatations here.
190576        (applyPreprocessor):
190577
1905782011-11-24  Yury Semikhatsky  <yurys@chromium.org>
190579
190580        [Chromium] Web Inspector: remove legacy debugger support
190581        https://bugs.webkit.org/show_bug.cgi?id=73081
190582
190583        Removed classed providing access to V8 debugging protocol. Clients should
190584        use Web Inspector protocol instead.
190585
190586        Reviewed by Pavel Feldman.
190587
190588        * bindings/v8/PageScriptDebugServer.cpp:
190589        (WebCore::PageScriptDebugServer::PageScriptDebugServer):
190590        (WebCore::PageScriptDebugServer::addListener):
190591        * bindings/v8/PageScriptDebugServer.h:
190592
1905932011-11-24  Pavel Feldman  <pfeldman@google.com>
190594
190595        Web Inspector: refactor resource tree model and introduce explicit class for ResourceTreeFrame.
190596        https://bugs.webkit.org/show_bug.cgi?id=73078
190597
190598        Otherwise we are managing frames and their resources using too many maps.
190599
190600        Reviewed by Yury Semikhatsky.
190601
190602        * inspector/Inspector.json:
190603        * inspector/InspectorAgent.cpp:
190604        (WebCore::InspectorAgent::restore):
190605        * inspector/InspectorResourceAgent.cpp:
190606        (WebCore::InspectorResourceAgent::didReceiveResponse):
190607        * inspector/front-end/ApplicationCacheModel.js:
190608        (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
190609        (WebInspector.ApplicationCacheModel.prototype._frameDetached):
190610        * inspector/front-end/JavaScriptContextManager.js:
190611        (WebInspector.JavaScriptContextManager.prototype._frameAdded):
190612        (WebInspector.JavaScriptContextManager.prototype._frameNavigated):
190613        (WebInspector.FrameEvaluationContext.prototype.get displayName):
190614        * inspector/front-end/NetworkManager.js:
190615        (WebInspector.NetworkDispatcher.prototype.requestWillBeSent):
190616        (WebInspector.NetworkDispatcher.prototype.responseReceived):
190617        (WebInspector.NetworkDispatcher.prototype.loadingFinished):
190618        * inspector/front-end/NetworkPanel.js:
190619        (WebInspector.NetworkLogView.prototype._mainFrameNavigated):
190620        * inspector/front-end/ResourceTreeModel.js:
190621        (WebInspector.ResourceTreeModel):
190622        (WebInspector.ResourceTreeModel.prototype._fetchResourceTree):
190623        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
190624        (WebInspector.ResourceTreeModel.prototype._addFrame):
190625        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
190626        (WebInspector.ResourceTreeModel.prototype._frontendReused):
190627        (WebInspector.ResourceTreeModel.prototype._frameDetached):
190628        (WebInspector.ResourceTreeModel.prototype._onResourceUpdated):
190629        (WebInspector.ResourceTreeModel.prototype._onResourceUpdateDropped):
190630        (WebInspector.ResourceTreeModel.prototype.frameForId):
190631        (WebInspector.ResourceTreeModel.prototype.forAllResources):
190632        (WebInspector.ResourceTreeModel.prototype.resourceForURL):
190633        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
190634        (WebInspector.ResourceTreeModel.prototype._createResourceFromFramePayload):
190635        (WebInspector.ResourceTreeModel.prototype._createResource):
190636        (WebInspector.ResourceTreeFrame):
190637        (WebInspector.ResourceTreeFrame.prototype.get id):
190638        (WebInspector.ResourceTreeFrame.prototype.get name):
190639        (WebInspector.ResourceTreeFrame.prototype.get url):
190640        (WebInspector.ResourceTreeFrame.prototype.get loaderId):
190641        (WebInspector.ResourceTreeFrame.prototype.get parentFrame):
190642        (WebInspector.ResourceTreeFrame.prototype.get childFrames):
190643        (WebInspector.ResourceTreeFrame.prototype.isMainFrame):
190644        (WebInspector.ResourceTreeFrame.prototype.navigate):
190645        (WebInspector.ResourceTreeFrame.prototype.get mainResource):
190646        (WebInspector.ResourceTreeFrame.prototype.addChildFrame):
190647        (WebInspector.ResourceTreeFrame.prototype.removeChildFrame):
190648        (WebInspector.ResourceTreeFrame.prototype._addResource):
190649        (WebInspector.ResourceTreeFrame.prototype.resources):
190650        (WebInspector.ResourceTreeFrame.prototype.resourceForURL.filter):
190651        (WebInspector.ResourceTreeFrame.prototype.resourceForURL):
190652        (WebInspector.ResourceTreeFrame.prototype._callForFrameResources):
190653        (WebInspector.PageDispatcher.prototype.frameNavigated):
190654        * inspector/front-end/ResourcesPanel.js:
190655        (WebInspector.ResourcesPanel):
190656        (WebInspector.ResourcesPanel.prototype.wasShown):
190657        (WebInspector.ResourcesPanel.prototype._initialize):
190658        (WebInspector.ResourcesPanel.prototype._resetWithFrames):
190659        (WebInspector.ResourcesPanel.prototype._reset):
190660        (WebInspector.ResourcesPanel.prototype._populateResourceTree.populateFrame):
190661        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
190662        (WebInspector.ResourcesPanel.prototype._frameAdded):
190663        (WebInspector.ResourcesPanel.prototype._frameDetached):
190664        (WebInspector.ResourcesPanel.prototype._frameNavigated):
190665        (WebInspector.ResourcesPanel.prototype._cachedResourcesLoaded):
190666        * inspector/front-end/ScriptFormatter.js:
190667        (WebInspector.ScriptFormatter.prototype.formatContent):
190668        * loader/cache/CachedResourceLoader.cpp:
190669        (WebCore::CachedResourceLoader::requestResource):
190670
1906712011-11-24  Kentaro Hara  <haraken@chromium.org>
190672
190673        Initialize global variables during IDLParser object creation
190674        https://bugs.webkit.org/show_bug.cgi?id=73108
190675
190676        Reviewed by Adam Barth.
190677
190678        Currently, IDLParser.pm initializes global variables in a global scope,
190679        which means that the global variables are initialized just once at the beginning.
190680        On the other hand, implementing [Supplemental] IDL (bug 72138) requires a change
190681        on generate-bindings.pl that initializes the global variables whenever a new IDLParser
190682        object is created. Thus, this patch initializes the global variables during
190683        the IDLParser object creation.
190684
190685        No new tests. No change in behavior.
190686
190687        * bindings/scripts/IDLParser.pm:
190688        (InitializeGlobalData):
190689        (new):
190690
1906912011-11-24  Patrick Gansterer  <paroga@webkit.org>
190692
190693        [CMake] Build fix for NOT ENABLE_WEB_SOCKETS.
190694
190695        * CMakeLists.txt: Move CloseEvent.idl to the unconditional files.
190696
1906972011-11-24  Patrick Gansterer  <paroga@webkit.org>
190698
190699        Build fix for C++ bindings.
190700
190701        * bindings/cpp/WebDOMEventTarget.cpp: Added #if ENABLE() guards.
190702
1907032011-11-24  Arko Saha  <arko@motorola.com>
190704
190705        Microdata: Support for properties attribute.
190706        https://bugs.webkit.org/show_bug.cgi?id=71050
190707
190708        Reviewed by Adam Barth.
190709
190710        The properties attribute returns an HTMLPropertiesCollection object with all the element's
190711        properties. Otherwise, an empty HTMLPropertiesCollection object.
190712
190713        Tests: fast/dom/MicroData/itemref-refers-first-element-with-given-id.html
190714               fast/dom/MicroData/names-property-must-be-correct.html
190715               fast/dom/MicroData/names-property-test.html
190716               fast/dom/MicroData/properties-collection-add-remove-itemref.html
190717               fast/dom/MicroData/properties-collection-add-remove-property.html
190718               fast/dom/MicroData/properties-collection-behavior-add-remove-itemscope-attr.html
190719               fast/dom/MicroData/properties-collection-must-be-correct.html
190720               fast/dom/MicroData/properties-collection-must-ignore-properties-of-nested-items.html
190721               fast/dom/MicroData/properties-collection-must-see-the-properties-added-in-itemref.html
190722               fast/dom/MicroData/properties-collection-test.html
190723
190724        * CMakeLists.txt:
190725        * DerivedSources.cpp:
190726        * DerivedSources.make:
190727        * DerivedSources.pri:
190728        * GNUmakefile.list.am:
190729        * Target.pri:
190730        * WebCore.gypi:
190731        * WebCore.vcproj/WebCore.vcproj:
190732        * WebCore.xcodeproj/project.pbxproj:
190733        * bindings/gobject/GNUmakefile.am:
190734        * bindings/js/JSHTMLCollectionCustom.cpp:
190735        (WebCore::toJS):
190736        * dom/MicroDataItemList.cpp:
190737        * dom/Node.cpp:
190738        (WebCore::Node::itemProp):
190739        (WebCore::Node::setItemProp):
190740        (WebCore::Node::itemRef):
190741        (WebCore::Node::setItemRef):
190742        (WebCore::Node::itemType):
190743        (WebCore::Node::setItemType):
190744        (WebCore::Node::properties):
190745        * dom/Node.h:
190746        * dom/NodeRareData.h:
190747        (WebCore::NodeRareData::itemProp):
190748        (WebCore::NodeRareData::setItemProp):
190749        (WebCore::NodeRareData::itemRef):
190750        (WebCore::NodeRareData::setItemRef):
190751        (WebCore::NodeRareData::itemType):
190752        (WebCore::NodeRareData::setItemType):
190753        (WebCore::NodeRareData::properties):
190754        * html/CollectionType.h:
190755        * html/HTMLCollection.cpp:
190756        (WebCore::HTMLCollection::itemAfter):
190757        * html/HTMLElement.cpp:
190758        (WebCore::HTMLElement::setItemValueText):
190759        * html/HTMLElement.h:
190760        * html/HTMLElement.idl:
190761        * html/HTMLPropertiesCollection.cpp: Added.
190762        (WebCore::compareTreeOrder):
190763        (WebCore::HTMLPropertiesCollection::create):
190764        (WebCore::HTMLPropertiesCollection::HTMLPropertiesCollection):
190765        (WebCore::HTMLPropertiesCollection::~HTMLPropertiesCollection):
190766        (WebCore::HTMLPropertiesCollection::findPropetiesOfAnItem): Finds the properties of an item.
190767        (WebCore::HTMLPropertiesCollection::length): Returns the number of elements in the properties collection.
190768        (WebCore::HTMLPropertiesCollection::item): Returns the element with index 'index' from the collection. The items are sorted in tree order.
190769        (WebCore::HTMLPropertiesCollection::names): Returns a DOMStringList with the property names of the elements in the collection with the order preserved but with duplicates removed.
190770        * html/HTMLPropertiesCollection.h: Added.
190771        * html/HTMLPropertiesCollection.idl: Added.
190772        * page/DOMWindow.idl:
190773
1907742011-11-24  Joshua Bell  <jsbell@chromium.org>
190775
190776        IndexedDB: Indexes should be secondarily sorted on primary key
190777        https://bugs.webkit.org/show_bug.cgi?id=72567
190778
190779        Reviewed by Tony Chang.
190780
190781        Implemented by adding the primary key (i.e. unique key in the
190782        object store) to the IndexDataKey (i.e. the composite key used
190783        in the index. Previously, non-unique entries in the index were
190784        stored with a unique (and hidden) sequenceNumber, so ordering was
190785        not predictable by scripts (or per spec). The sequenceNumber
190786        is now deprecated but still present in the LevelDB backing store
190787        to avoid having to do a data migration.
190788
190789        Test: storage/indexeddb/cursor-primary-key-order.html
190790
190791        * storage/IDBLevelDBBackingStore.cpp:
190792        (WebCore::IDBLevelDBBackingStore::putIndexDataForRecord):
190793        * storage/IDBLevelDBCoding.cpp:
190794        (WebCore::IDBLevelDBCoding::compare):
190795        (WebCore::IDBLevelDBCoding::IndexDataKey::decode):
190796        (WebCore::IDBLevelDBCoding::IndexDataKey::encode):
190797        (WebCore::IDBLevelDBCoding::IndexDataKey::compare):
190798        (WebCore::IDBLevelDBCoding::IndexDataKey::primaryKey):
190799        * storage/IDBLevelDBCoding.h:
190800
1908012011-11-24  Pavel Feldman  <pfeldman@google.com>
190802
190803        Web Inspector: WebInspector.inspectedPageDomain is not calculated for about:blank
190804        https://bugs.webkit.org/show_bug.cgi?id=73082
190805
190806        Reviewed by Timothy Hatcher.
190807
190808        * inspector/front-end/ResourceTreeModel.js:
190809        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
190810        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
190811        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
190812        * inspector/front-end/inspector.js:
190813        (WebInspector.networkResourceById):
190814        (WebInspector.get inspectedPageDomain):
190815
1908162011-11-24  Andrey Kosyakov  <caseq@chromium.org>
190817
190818        Web Inspector: provide context menu items to open resources using extensions
190819        https://bugs.webkit.org/show_bug.cgi?id=73076
190820
190821        Reviewed by Yury Semikhatsky.
190822
190823        * English.lproj/localizedStrings.js:
190824        * inspector/front-end/ExtensionServer.js:
190825        (WebInspector.ExtensionServer.prototype._onSetOpenResourceHandler):
190826        (WebInspector.ExtensionServer.prototype._handleOpenURL):
190827        * inspector/front-end/HandlerRegistry.js:
190828        (get WebInspector.HandlerRegistry.prototype.set dispatch):
190829        (get WebInspector.HandlerRegistry.prototype.dispatchToHandler):
190830        * inspector/front-end/JavaScriptSourceFrame.js:
190831        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
190832        * inspector/front-end/ResourcesPanel.js:
190833        (WebInspector.FrameResourceTreeElement.prototype._handleContextMenuEvent):
190834        * inspector/front-end/SourceFrame.js:
190835        (WebInspector.SourceFrame.prototype.populateTextAreaContextMenu):
190836        * inspector/front-end/externs.js:
190837        (WebInspector.populateResourceContextMenu):
190838        * inspector/front-end/inspector.js:
190839        (WebInspector.populateResourceContextMenu):
190840        (WebInspector._showAnchorLocation):
190841
1908422011-10-27  Philippe Normand  <pnormand@igalia.com>
190843
190844        [GStreamer] WebAudio AudioDestination
190845        https://bugs.webkit.org/show_bug.cgi?id=69835
190846
190847        Reviewed by Martin Robinson.
190848
190849        New GStreamer source element pulling data from the AudioBus and
190850        outputing audio interleaved GstBuffers suitable for playback.
190851
190852        * GNUmakefile.list.am: Added the new GStreamer WebAudio element
190853        source files to the build.
190854        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp:
190855        (WebCore::onGStreamerWavparsePadAddedCallback): Function called
190856        when the playback pipeline successfully parsed the audio source
190857        into a WAV stream.
190858        (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
190859        Configure the initial playback pipeline up to the WAV parser. The
190860        audio sink is added only after the WAV parser was configured.
190861        (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
190862        Reset the playback pipeline and delete it.
190863        (WebCore::AudioDestinationGStreamer::finishBuildingPipelineAfterWavParserPadReady):
190864        Method to add the audio sink to the pipeline and link it to the
190865        WAV parser.
190866        (WebCore::AudioDestinationGStreamer::start): Set pipeline to
190867        PLAYING, at the first run it will trigger the WAV parser and hence
190868        the audio-sink plugging.
190869        (WebCore::AudioDestinationGStreamer::stop): Pause the pipeline.
190870        * platform/audio/gstreamer/AudioDestinationGStreamer.h:
190871        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.cpp: Added.
190872        (getGStreamerMonoAudioCaps): Utility function to generate
190873        GStreamer caps representing a single audio channel for a given
190874        sample rate.
190875        (webKitWebAudioGStreamerChannelPosition): Utility function to
190876        convert AudioBus channel representations to GStreamer positional
190877        audio channel values.
190878        (webkit_web_audio_src_class_init): GObject configuration of the
190879        GStreamer source element.
190880        (webkit_web_audio_src_init): Initialization of the private data of
190881        the element.
190882        (webKitWebAudioSourceConstructed): Configure the GstBin elements
190883        depending on the AudioBus layout.
190884        (webKitWebAudioSourceFinalize): Clean up the GstBin and free private
190885        data of the element.
190886        (webKitWebAudioSourceSetProperty): GObject property setter.
190887        (webKitWebAudioSourceGetProperty): GObject property getter.
190888        (webKitWebAudioSourceLoop): GstTask used to pull data from the
190889        AudioBus and push it as GstBuffers to the src pad of the element.
190890        (webKitWebAudioSourceChangeState): Start or stop the above GstTask
190891        depending on the asked state transition.
190892        * platform/audio/gstreamer/WebKitWebAudioSourceGStreamer.h: Added.
190893        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp: GstTask support in GRefPtr.
190894        (WTF::adoptGRef):
190895        (WTF::GstTask):
190896        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
190897
1908982011-11-24  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
190899
190900        [Qt] Get rid of the buildDirForSource() function in the build system
190901
190902        At some point the plan was to allow for running qmake on sub-trees
190903        of the sources, into the top level build directory, but this is no
190904        longer possible, so no reason to keep the convenience function around.
190905
190906        Reviewed by Simon Hausmann.
190907
190908        * DerivedSources.pri:
190909
1909102011-11-24  Patrick Gansterer  <paroga@webkit.org>
190911
190912        [CMake] Add missing source files
190913        https://bugs.webkit.org/show_bug.cgi?id=73052
190914
190915        Reviewed by Andreas Kling.
190916
190917        * CMakeLists.txt:
190918
1909192011-11-24  Philippe Normand  <pnormand@igalia.com>
190920
190921        Fix ASSERTs added in r101082.
190922
190923        Rubber-Stamped by Martin Robinson.
190924
190925        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
190926        (WTF::adoptGRef): Check for valid pointer before
190927        GST_OBJECT_IS_FLOATING().
190928
1909292011-11-23  Alexander Pavlov  <apavlov@chromium.org>
190930
190931        Web Inspector: shift focus to the source view when a resource is selected in the Scripts panel
190932        https://bugs.webkit.org/show_bug.cgi?id=69738
190933
190934        Reviewed by Timothy Hatcher.
190935
190936        The source viewer is focused whenever a file name option is clicked, and is NOT focused when the script list
190937        is traversed with the Up/Down keys.
190938
190939        * inspector/front-end/ScriptsPanel.js:
190940        (WebInspector.ScriptsPanel.prototype._filesSelectChanged):
190941        * inspector/front-end/SourceFrame.js:
190942        (WebInspector.SourceFrame.prototype.focus):
190943        * inspector/front-end/TextViewer.js:
190944        (WebInspector.TextViewer.prototype.focus):
190945
1909462011-11-23  Pavel Podivilov  <podivilov@chromium.org>
190947
190948        Web Inspector: add integration test for compiler source maps.
190949        https://bugs.webkit.org/show_bug.cgi?id=72730
190950
190951        Reviewed by Pavel Feldman.
190952
190953        Test: http/tests/inspector/compiler-source-mapping-debug.html
190954
190955        * inspector/front-end/DebuggerPresentationModel.js:
190956        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
190957        (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
190958        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
190959        (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
190960        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
190961        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
190962        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
190963
1909642011-11-23  Pavel Feldman  <pfeldman@google.com>
190965
190966        Web Inspector: get rid of the WebInspector.mainResource, use WebInspector.inspectedPageURL instead.
190967        https://bugs.webkit.org/show_bug.cgi?id=73024
190968
190969        We use it for the URL mostly, no need to create artificial resource for that upon
190970        attaching to the existing page.
190971
190972        Reviewed by Yury Semikhatsky.
190973
190974        * inspector/front-end/AuditsPanel.js:
190975        * inspector/front-end/HAREntry.js:
190976        (WebInspector.HARLog.prototype._buildPages):
190977        (WebInspector.HARLog.prototype._pageEventTime):
190978        * inspector/front-end/NetworkPanel.js:
190979        (WebInspector.NetworkLogView.prototype._updateSummaryBar):
190980        (WebInspector.NetworkLogView.prototype._exportAll):
190981        * inspector/front-end/Resource.js:
190982        (WebInspector.Resource.prototype.set url):
190983        (WebInspector.Resource.prototype.get displayName):
190984        (WebInspector.Resource.prototype.get displayDomain):
190985        * inspector/front-end/ResourceTreeModel.js:
190986        (WebInspector.ResourceTreeModel.prototype._processCachedResources):
190987        (WebInspector.ResourceTreeModel.prototype._dispatchInspectedURLChanged):
190988        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
190989        (WebInspector.ResourceTreeModel.prototype._addFramesRecursively):
190990        * inspector/front-end/ResourceUtils.js:
190991        (WebInspector.displayNameForURL):
190992        * inspector/front-end/ResourcesPanel.js:
190993        (WebInspector.ResourcesPanel.prototype._initDefaultSelection):
190994        * inspector/front-end/TimelinePanel.js:
190995        (WebInspector.TimelinePanel.prototype._addRecordToTimeline):
190996        * inspector/front-end/utilities.js:
190997        (String.prototype.asParsedURL):
190998
1909992011-11-23  Yury Semikhatsky  <yurys@chromium.org>
191000
191001        Web Inspector: exceptions in shared workers should be logged to web inspector console
191002        https://bugs.webkit.org/show_bug.cgi?id=73022
191003
191004        According to section "4.7 Runtime script errors" of Web Workers spec "For shared
191005        workers, if the error is still not handled afterwards, or if the error occurred
191006        while handling a previous script error, the error may be reported to the user."
191007
191008        This change adds uncaugh exceptions to the shared worker web inspector console.
191009
191010        Reviewed by Pavel Feldman.
191011
191012        * inspector/InspectorConsoleAgent.cpp:
191013        (WebCore::InspectorConsoleAgent::restore):
191014        * inspector/InspectorConsoleInstrumentation.h:
191015        (WebCore::InspectorInstrumentation::addMessageToConsole):
191016        * inspector/InspectorDebuggerAgent.cpp:
191017        (WebCore::InspectorDebuggerAgent::restore):
191018        * inspector/InspectorInstrumentation.cpp:
191019        (WebCore::InspectorInstrumentation::instrumentingAgentsForWorkerContext):
191020        * inspector/InspectorInstrumentation.h:
191021        * inspector/WorkerInspectorController.cpp:
191022        (WebCore::WorkerInspectorController::connectFrontend):
191023        (WebCore::WorkerInspectorController::disconnectFrontend):
191024        (WebCore::WorkerInspectorController::restoreInspectorStateFromCookie):
191025        * inspector/WorkerInspectorController.h:
191026        * inspector/front-end/WorkerManager.js:
191027        (WebInspector.WorkerManager.showWorkerTerminatedScreen):
191028        * inspector/front-end/inspector.js:
191029        * workers/SharedWorkerContext.cpp:
191030        (WebCore::SharedWorkerContext::logExceptionToConsole):
191031        * workers/SharedWorkerContext.h:
191032        * workers/WorkerContext.cpp:
191033        (WebCore::WorkerContext::addMessage): console messages are now added to
191034        the worker console agent.
191035        (WebCore::WorkerContext::addMessageToWorkerConsole):
191036        * workers/WorkerContext.h:
191037
1910382011-11-23  Jeff Timanus  <twiz@chromium.org>
191039
191040        [Chromium]  Prevent DrawingBuffer instances from corrupting the active
191041        texture state of the WebGL contexts. The DrawingBuffer now tracks the
191042        state of texture unit 0, and the active texture unit, so that state can
191043        be restored.
191044        https://bugs.webkit.org/show_bug.cgi?id=73033
191045
191046        Reviewed by Kenneth Russell.
191047
191048        Test: fast/canvas/webgl/webgl-texture-binding-preserved.html
191049
191050        * html/canvas/WebGLRenderingContext.cpp:
191051        (WebCore::WebGLRenderingContext::activeTexture):
191052        (WebCore::WebGLRenderingContext::bindTexture):
191053        * platform/graphics/chromium/DrawingBufferChromium.cpp:
191054        (WebCore::DrawingBuffer::DrawingBuffer):
191055        (WebCore::DrawingBuffer::publishToPlatformLayer):
191056        * platform/graphics/gpu/DrawingBuffer.h:
191057        (WebCore::DrawingBuffer::setTexture2DBinding):
191058        (WebCore::DrawingBuffer::setActiveTextureUnit):
191059        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
191060        (WebCore::DrawingBuffer::DrawingBuffer):
191061        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
191062        (WebCore::DrawingBuffer::DrawingBuffer):
191063        * platform/graphics/gtk/DrawingBufferGtk.cpp:
191064        (WebCore::DrawingBuffer::DrawingBuffer):
191065
1910662011-11-23  Luke Macpherson   <macpherson@chromium.org>
191067
191068        CSSValue: reorder ClassType enum to allow faster comparisons, add COMPILE_ASSERT on class size.
191069        https://bugs.webkit.org/show_bug.cgi?id=72924
191070
191071        Reviewed by Andreas Kling.
191072
191073        Note that the change from unsigned to unsigned char is to improve bit packing when using MSVC.
191074
191075        Covered by existing CSS tests.
191076
191077        * css/CSSValue.h:
191078        (WebCore::CSSValue::isPrimitiveValue):
191079        (WebCore::CSSValue::isValueList):
191080        (WebCore::CSSValue::isImageGeneratorValue):
191081        (WebCore::CSSValue::isTimingFunctionValue):
191082        (WebCore::CSSValue::CSSValue):
191083
1910842011-11-23  Dmitry Lomov  <dslomov@google.com>
191085
191086        https://bugs.webkit.org/show_bug.cgi?id=73054
191087        [V8][Chromium] Add list of transferred ArrayBuffers to SerializedScriptValue::create.
191088
191089        Reviewed by David Levin.
191090
191091        * bindings/scripts/CodeGeneratorV8.pm:
191092        (GenerateParametersCheck):
191093        * bindings/scripts/test/V8/V8TestObj.cpp:
191094        (WebCore::TestObjInternal::serializedValueCallback):
191095       * bindings/v8/OptionsObject.cpp:
191096        * bindings/v8/SerializedScriptValue.cpp:
191097        (WebCore::SerializedScriptValue::create):
191098        * bindings/v8/SerializedScriptValue.h:
191099        * bindings/v8/V8Utilities.cpp:
191100        (WebCore::extractTransferables):
191101        (WebCore::getMessagePortArray):
191102        * bindings/v8/V8Utilities.h:
191103        * bindings/v8/custom/V8DOMWindowCustom.cpp:
191104        (WebCore::handlePostMessageCallback):
191105        * bindings/v8/custom/V8DedicatedWorkerContextCustom.cpp:
191106        (WebCore::handlePostMessageCallback):
191107        * bindings/v8/custom/V8HistoryCustom.cpp:
191108        (WebCore::V8History::pushStateCallback):
191109        (WebCore::V8History::replaceStateCallback):
191110        * bindings/v8/custom/V8MessageEventCustom.cpp:
191111        * bindings/v8/custom/V8MessagePortCustom.cpp:
191112        (WebCore::handlePostMessageCallback):
191113        * bindings/v8/custom/V8MessagePortCustom.h: Removed.
191114        * bindings/v8/custom/V8WorkerCustom.cpp:
191115        (WebCore::handlePostMessageCallback):
191116
1911172011-11-23  Rafael Weinstein  <rafaelw@chromium.org>
191118
191119        Cleanup #if usage in V8GCController
191120        https://bugs.webkit.org/show_bug.cgi?id=73060
191121
191122        Reviewed by Ojan Vafai.
191123
191124        No tests needed. Just code cleanup
191125
191126        * bindings/v8/V8GCController.cpp:
191127        (WebCore::V8GCController::checkMemoryUsage):
191128
1911292011-11-23  Rafael Weinstein  <rafaelw@chromium.org>
191130
191131        Change CSSMutableStyleDeclaration::m_node to m_element (along with getter/setter)
191132        https://bugs.webkit.org/show_bug.cgi?id=73050
191133
191134        Reviewed by Ojan Vafai.
191135
191136        No tests needed. This is just a refactor.
191137
191138        * css/CSSMutableStyleDeclaration.cpp:
191139        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
191140        (WebCore::CSSMutableStyleDeclaration::operator=):
191141        (WebCore::CSSMutableStyleDeclaration::isInlineStyleDeclaration):
191142        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
191143        * css/CSSMutableStyleDeclaration.h:
191144        (WebCore::CSSMutableStyleDeclaration::setElement):
191145        (WebCore::CSSMutableStyleDeclaration::element):
191146        * css/CSSStyleRule.cpp:
191147        (WebCore::CSSStyleRule::setSelectorText):
191148        * dom/StyledElement.cpp:
191149        (WebCore::StyledElement::createInlineStyleDecl):
191150        (WebCore::StyledElement::destroyInlineStyleDecl):
191151        (WebCore::StyledElement::attributeChanged):
191152        (WebCore::StyledElement::createMappedDecl):
191153        * html/HTMLTableElement.cpp:
191154        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
191155        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
191156        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
191157        (WebCore::HTMLTableElement::addSharedGroupDecls):
191158        * inspector/InspectorCSSAgent.cpp:
191159        (WebCore::InspectorCSSAgent::inlineStyleElement):
191160
1911612011-11-23  Ami Fischman  <fischman@chromium.org>
191162
191163        Teach VideoLayerChromium how to render native texture (to support HW video decode).
191164        https://bugs.webkit.org/show_bug.cgi?id=73043
191165
191166        Reviewed by Kenneth Russell.
191167
191168        No new tests. (depends on chromium support landing, and supporting HW being available)
191169
191170        * platform/graphics/chromium/LayerRendererChromium.cpp:
191171        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
191172        (WebCore::LayerRendererChromium::videoLayerNativeTextureProgram):
191173        * platform/graphics/chromium/LayerRendererChromium.h:
191174        * platform/graphics/chromium/VideoFrameChromium.h:
191175        * platform/graphics/chromium/VideoLayerChromium.cpp:
191176        (WebCore::VideoLayerChromium::VideoLayerChromium):
191177        (WebCore::VideoLayerChromium::updateCompositorResources):
191178        (WebCore::VideoLayerChromium::pushPropertiesTo):
191179        (WebCore::VideoLayerChromium::determineTextureFormat):
191180        * platform/graphics/chromium/VideoLayerChromium.h:
191181        * platform/graphics/chromium/cc/CCVideoLayerImpl.cpp:
191182        (WebCore::CCVideoLayerImpl::setNativeTexture):
191183        (WebCore::CCVideoLayerImpl::draw):
191184        (WebCore::CCVideoLayerImpl::drawNativeTexture):
191185        * platform/graphics/chromium/cc/CCVideoLayerImpl.h:
191186
1911872011-11-23  Vincent Scheib  <scheib@chromium.org>
191188
191189        Pointer Lock: Plumb movement coordinates from PlatformMouseEvent to MouseEvents.
191190        https://bugs.webkit.org/show_bug.cgi?id=73031
191191
191192        Reviewed by Dimitri Glazkov.
191193
191194        No tests for now, but this patch gets us closer to being able to write layout tests for pointer lock.
191195
191196        * dom/MouseEvent.cpp:
191197        (WebCore::MouseEvent::create):
191198        (WebCore::MouseEvent::MouseEvent):
191199        (WebCore::SimulatedMouseEvent::SimulatedMouseEvent):
191200        * dom/MouseEvent.h:
191201        (WebCore::MouseEvent::create):
191202        * dom/MouseRelatedEvent.cpp:
191203        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
191204        * dom/MouseRelatedEvent.h:
191205        * dom/TouchEvent.cpp:
191206        (WebCore::TouchEvent::TouchEvent):
191207        * dom/WheelEvent.cpp:
191208        (WebCore::WheelEvent::WheelEvent):
191209        * page/EventHandler.cpp:
191210        (WebCore::EventHandler::dispatchDragEvent):
191211        * platform/PlatformMouseEvent.h:
191212        (WebCore::PlatformMouseEvent::movementX):
191213        (WebCore::PlatformMouseEvent::movementY):
191214
1912152011-11-23  Nico Weber  <thakis@chromium.org>
191216
191217        Remove one static initializer (for kTickTime)
191218        https://bugs.webkit.org/show_bug.cgi?id=73049
191219
191220        Reviewed by Adam Barth.
191221
191222        * platform/ScrollAnimatorNone.cpp:
191223
1912242011-11-23  Jonathan Backer  <backer@chromium.org>
191225
191226        [chromium] Drop root layer tiles on platforms that cache the front buffer
191227        https://bugs.webkit.org/show_bug.cgi?id=72956
191228
191229        Reviewed by Kenneth Russell.
191230
191231        * platform/graphics/chromium/LayerRendererChromium.cpp:
191232        (WebCore::LayerRendererChromium::initialize):
191233        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
191234        (WebCore::CCLayerTreeHost::initialize):
191235        (WebCore::CCLayerTreeHost::didBecomeInvisibleOnImplThread):
191236        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
191237        (WebCore::CCSettings::CCSettings):
191238        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
191239
1912402011-11-23  Erik Arvidsson  <arv@chromium.org>
191241
191242        Binding CodeGenerators don't support Conditional= on constants
191243        https://bugs.webkit.org/show_bug.cgi?id=67666
191244
191245        Reviewed by Adam Barth.
191246
191247        Adds support for [Conditional=LABEL] to const IDL fields.
191248
191249        * bindings/scripts/CodeGenerator.pm:
191250        (GenerateConditionalStringFromAttributeValue): Moved out of CodeGenerator{CPP,JS,V8}.pm.
191251        (GenerateCompileTimeCheckForEnumsIfNeeded): Wrap in conditional #if.
191252        * bindings/scripts/CodeGeneratorCPP.pm:
191253        (GenerateConditionalString):
191254        (GenerateHeader): Ditto.
191255        * bindings/scripts/CodeGeneratorJS.pm:
191256        (GenerateConditionalString):
191257        (GenerateHeader): Ditto.
191258        (GenerateImplementation): Ditto.
191259        (GenerateHashTable):
191260        (WriteData):
191261        * bindings/scripts/CodeGeneratorObjC.pm:
191262        (GenerateHeader): Ditto.
191263        * bindings/scripts/CodeGeneratorV8.pm:
191264        (GenerateConditionalString): Ditto.
191265        (GenerateImplementation):
191266        (WriteData):
191267        * bindings/scripts/test/CPP/WebDOMTestObj.h: Generated code now wraps conditional const in #if.
191268        * bindings/scripts/test/JS/JSTestObj.cpp:
191269        (WebCore::jsTestObjCONDITIONAL_CONST): Ditto
191270        * bindings/scripts/test/JS/JSTestObj.h: Ditto
191271        * bindings/scripts/test/ObjC/DOMTestObj.h: Ditto
191272        * bindings/scripts/test/TestObj.idl: Added a conditional const.
191273        * bindings/scripts/test/V8/V8TestObj.cpp: Generated code now wraps conditional const in #if.
191274
1912752011-11-23  Rafael Weinstein  <rafaelw@chromium.org>
191276
191277        [MutationObservers] Modifications to the style property don't dispatch "attributes" Mutation Records
191278        https://bugs.webkit.org/show_bug.cgi?id=70137
191279
191280        Reviewed by Ryosuke Niwa.
191281
191282        This patch adds a private AttributesMutationScope mechanism to CSSMutableStyleDeclaration (which uses
191283        the RAII pattern similar to the public ChildListMutationScope). This manages the (sometimes conditional)
191284        pre-change serialization of the style attribute (if an observer has requested oldValue), creation of
191285        the mutation record, and dispatch if the declaration was actual affected.
191286
191287        * css/CSSMutableStyleDeclaration.cpp:
191288        (WebCore::CSSMutableStyleDeclaration::removeProperty):
191289        (WebCore::CSSMutableStyleDeclaration::setProperty):
191290        (WebCore::CSSMutableStyleDeclaration::setPropertyInternal):
191291        (WebCore::CSSMutableStyleDeclaration::parseDeclaration):
191292        (WebCore::CSSMutableStyleDeclaration::addParsedProperties):
191293        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
191294        (WebCore::CSSMutableStyleDeclaration::setCssText):
191295        (WebCore::CSSMutableStyleDeclaration::merge):
191296        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
191297        * dom/Element.cpp:
191298        (WebCore::Element::setAttribute):
191299
1913002011-11-23  Dmitry Lomov  <dslomov@google.com>
191301
191302        Unreviewed, rebaseline binding tests after http://trac.webkit.org/changeset/101064.
191303
191304        * bindings/scripts/test/JS/JSFloat64Array.cpp:
191305        (WebCore::toFloat64Array):
191306        * bindings/scripts/test/V8/V8Float64Array.cpp:
191307        (WebCore::V8Float64Array::wrapSlow):
191308
1913092011-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
191310
191311        Unreviewed, rolling out r101069.
191312        http://trac.webkit.org/changeset/101069
191313        https://bugs.webkit.org/show_bug.cgi?id=73032
191314
191315        New test always times out (Requested by aklein on #webkit).
191316
191317        * inspector/front-end/DebuggerPresentationModel.js:
191318        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
191319        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
191320        (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
191321        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
191322        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
191323        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
191324
1913252011-11-23  Antti Koivisto  <antti@apple.com>
191326
191327        https://bugs.webkit.org/show_bug.cgi?id=72354
191328        Image pointer in FillLayer not cleared correctly
191329
191330        Reviewed by Dan Bernstein.
191331
191332        Test: fast/css/fill-layer-crash.html
191333        
191334        We should clear the image pointer too, not just the m_imageSet bit.
191335
191336        * rendering/style/FillLayer.h:
191337        (WebCore::FillLayer::clearImage):
191338
1913392011-11-23  Sheriff Bot  <webkit.review.bot@gmail.com>
191340
191341        Unreviewed, rolling out r101057.
191342        http://trac.webkit.org/changeset/101057
191343        https://bugs.webkit.org/show_bug.cgi?id=73027
191344
191345        Broke Chromium Windows build (Requested by aklein on #webkit).
191346
191347        * html/HTMLTrackElement.cpp:
191348        (WebCore::HTMLTrackElement::HTMLTrackElement):
191349        (WebCore::HTMLTrackElement::didCompleteLoad):
191350        (WebCore::HTMLTrackElement::textTrackReadyStateChanged):
191351        * html/HTMLTrackElement.h:
191352        * html/HTMLTrackElement.idl:
191353        * html/LoadableTextTrack.cpp:
191354        (WebCore::LoadableTextTrack::loadTimerFired):
191355        (WebCore::LoadableTextTrack::cueLoadingStarted):
191356        (WebCore::LoadableTextTrack::cueLoadingCompleted):
191357        * html/TextTrack.cpp:
191358        (WebCore::TextTrack::TextTrack):
191359        (WebCore::TextTrack::setReadyState):
191360        * html/TextTrack.h:
191361        (WebCore::TextTrack::readyState):
191362        * html/TextTrack.idl:
191363
1913642011-11-23  Yury Semikhatsky  <yurys@chromium.org>
191365
191366        Unreviewed. Build fix. Added missing ENABLE(WORKERS) guards.
191367
191368        * inspector/WorkerConsoleAgent.cpp:
191369        * inspector/WorkerConsoleAgent.h:
191370        * inspector/WorkerRuntimeAgent.cpp:
191371        * inspector/WorkerRuntimeAgent.h:
191372
1913732011-11-23  Philippe Normand  <pnormand@igalia.com>
191374
191375        [GStreamer] improper usage of gst_object_ref_sink
191376        https://bugs.webkit.org/show_bug.cgi?id=73014
191377
191378        Reviewed by Martin Robinson.
191379
191380        No new tests. Existing tests cover this already.
191381
191382        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
191383        (WTF::adoptGRef): Ensure this is called with non-floating GstObjects.
191384        (WTF::GstElement): Replace gst_object_ref_sink with
191385        gst_object_ref+gst_object_sink like advised in the GstObject documentation.
191386        (WTF::GstPad): Ditto.
191387        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
191388
1913892011-11-23  Yury Semikhatsky  <yurys@chromium.org>
191390
191391        Web Inspector: split console agent into worker and page console agents
191392        https://bugs.webkit.org/show_bug.cgi?id=73019
191393
191394        InspectorConsoleAgent now has two descendants: WorkerConsoleAgent and PageConsoleAgent
191395        which encapsulate functionality specific for the type of inspected instance.
191396
191397        Reviewed by Pavel Feldman.
191398
191399        * CMakeLists.txt:
191400        * GNUmakefile.list.am:
191401        * Target.pri:
191402        * WebCore.gypi:
191403        * WebCore.vcproj/WebCore.vcproj:
191404        * WebCore.xcodeproj/project.pbxproj:
191405        * inspector/InspectorConsoleAgent.cpp:
191406        (WebCore::InspectorConsoleAgent::InspectorConsoleAgent):
191407        (WebCore::InspectorConsoleAgent::~InspectorConsoleAgent):
191408        (WebCore::InspectorConsoleAgent::clearMessages):
191409        (WebCore::InspectorConsoleAgent::addMessageToConsole):
191410        (WebCore::InspectorConsoleAgent::resourceRetrievedByXMLHttpRequest):
191411        (WebCore::InspectorConsoleAgent::didReceiveResponse):
191412        (WebCore::InspectorConsoleAgent::didFailLoading):
191413        (WebCore::InspectorConsoleAgent::addConsoleMessage):
191414        * inspector/InspectorConsoleAgent.h:
191415        * inspector/InspectorController.cpp:
191416        (WebCore::InspectorController::InspectorController):
191417        * inspector/InspectorStyleTextEditor.cpp:
191418        * inspector/InspectorStyleTextEditor.h:
191419        * inspector/PageConsoleAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.cpp.
191420        (WebCore::PageConsoleAgent::PageConsoleAgent):
191421        (WebCore::PageConsoleAgent::~PageConsoleAgent):
191422        (WebCore::PageConsoleAgent::clearMessages):
191423        (WebCore::PageConsoleAgent::addInspectedNode):
191424        (WebCore::PageConsoleAgent::developerExtrasEnabled):
191425        * inspector/PageConsoleAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
191426        * inspector/PageDebuggerAgent.cpp:
191427        * inspector/PageDebuggerAgent.h:
191428        * inspector/PageRuntimeAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
191429        (WebCore::PageRuntimeAgent::PageRuntimeAgent): PageRuntimeAgent was moved into its own file.
191430        (WebCore::PageRuntimeAgent::~PageRuntimeAgent):
191431        (WebCore::PageRuntimeAgent::scriptStateForFrameId):
191432        (WebCore::PageRuntimeAgent::getDefaultInspectedState):
191433        * inspector/PageRuntimeAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
191434        * inspector/WorkerConsoleAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
191435        (WebCore::WorkerConsoleAgent::WorkerConsoleAgent):
191436        (WebCore::WorkerConsoleAgent::~WorkerConsoleAgent):
191437        (WebCore::WorkerConsoleAgent::addInspectedNode):
191438        (WebCore::WorkerConsoleAgent::developerExtrasEnabled):
191439        * inspector/WorkerConsoleAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
191440        * inspector/WorkerDebuggerAgent.cpp:
191441        * inspector/WorkerDebuggerAgent.h:
191442        * inspector/WorkerInspectorController.cpp:
191443        (WebCore::WorkerInspectorController::WorkerInspectorController):
191444        * inspector/WorkerInspectorController.h:
191445        * inspector/WorkerRuntimeAgent.cpp: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
191446        (WebCore::WorkerRuntimeAgent::WorkerRuntimeAgent): WorkerRuntimeAgent was moved into its own file.
191447        (WebCore::WorkerRuntimeAgent::~WorkerRuntimeAgent):
191448        (WebCore::WorkerRuntimeAgent::scriptStateForFrameId):
191449        (WebCore::WorkerRuntimeAgent::getDefaultInspectedState):
191450        * inspector/WorkerRuntimeAgent.h: Copied from Source/WebCore/inspector/PageDebuggerAgent.h.
191451
1914522011-11-23  Alexander Pavlov  <apavlov@chromium.org>
191453
191454        Web Inspector: warning icon for unrecognized style rule should have tooltip
191455        https://bugs.webkit.org/show_bug.cgi?id=50638
191456
191457        Reviewed by Yury Semikhatsky.
191458
191459        * English.lproj/localizedStrings.js: Add new tooltip strings.
191460        * inspector/front-end/CSSCompletions.js:
191461        (WebInspector.CSSCompletions.prototype.keySet): Added.
191462        * inspector/front-end/StylesSidebarPane.js: Create a separate IMG element for an exclamation mark.
191463        * inspector/front-end/elementsPanel.css:
191464        (.styles-section .properties li.not-parsed-ok img.exclamation-mark):
191465
1914662011-11-23  Halton Huo  <halton.huo@intel.com>
191467
191468        [EFL] Add zlib depend when freetype is used.
191469        https://bugs.webkit.org/show_bug.cgi?id=66365
191470
191471        Unreviewed build fix.
191472
191473        When freetype is enabled, uncompress() function is used by
191474        WOFFFileFormat.cpp. Since zlib is not required by freetype, we need to
191475        add libz as dependency for fix linking issue.
191476
191477        No new test because this change is only to fix linking issue.
191478
191479        * PlatformEfl.cmake: add ZLIB as dependency when using freetype
191480
1914812011-11-23  Mihnea Ovidenie  <mihnea@adobe.com>
191482
191483        CSS Exclusions: parse the shorthand "wrap" property
191484        https://bugs.webkit.org/show_bug.cgi?id=71905
191485
191486        Reviewed by Dean Jackson.
191487
191488        Test: fast/exclusions/wrap-parsing.html
191489
191490        * css/CSSComputedStyleDeclaration.cpp:
191491        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
191492        * css/CSSMutableStyleDeclaration.cpp:
191493        (WebCore::CSSMutableStyleDeclaration::getPropertyValue):
191494        * css/CSSParser.cpp:
191495        (WebCore::CSSParser::parseValue):
191496        * css/CSSProperty.cpp:
191497        (WebCore::CSSProperty::isInheritedProperty):
191498        * css/CSSPropertyLonghand.cpp:
191499        (WebCore::initShorthandMap):
191500        * css/CSSPropertyNames.in:
191501        * css/CSSStyleApplyProperty.cpp:
191502        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
191503        * css/CSSStyleSelector.cpp:
191504        (WebCore::CSSStyleSelector::applyProperty):
191505
1915062011-11-23  Alexandru Chiculita  <achicu@adobe.com>
191507
191508        [CSS Filters] WebKit crashes when changing the filter
191509        https://bugs.webkit.org/show_bug.cgi?id=72723
191510
191511        Reviewed by Simon Fraser.
191512
191513        There are three things fixed with this patch:
191514        1. The list of effects wasn't cleared when the FilterOperations were changed.
191515        2. The sourceImage was going to be 0, because the m_sourceGraphicBuffer.release()
191516        was also clearing the reference to m_sourceGraphicBuffer. Next time the build() method
191517        was called m_graphicsBufferAttached was set to false, but the m_sourceGraphicBuffer was
191518        not regenerated, because the size was not invalidated.
191519        3. maxEffectRects were not updated when a new list of effects was built.
191520         
191521        Test: css3/filters/crash-filter-change.html
191522
191523        * rendering/FilterEffectRenderer.cpp:
191524        (WebCore::FilterEffectRenderer::build):
191525        (WebCore::FilterEffectRenderer::prepare):
191526        * rendering/FilterEffectRenderer.h:
191527        (WebCore::FilterEffectRenderer::setSourceImageRect):
191528
1915292011-11-23  Elliot Poger  <epoger@google.com>
191530
191531        [Skia] fix duplicate symbol __ZN7WebCore11BitmapImage16initPlatformDataEv error
191532        https://bugs.webkit.org/show_bug.cgi?id=72954
191533
191534        Reviewed by Adam Barth.
191535
191536        * WebCore.gyp/WebCore.gyp:
191537
1915382011-11-18  Pavel Podivilov  <podivilov@chromium.org>
191539
191540        Web Inspector: add integration test for compiler source maps.
191541        https://bugs.webkit.org/show_bug.cgi?id=72730
191542
191543        Reviewed by Pavel Feldman.
191544
191545        Test: http/tests/inspector/compiler-source-mapping-debug.html
191546
191547        * inspector/front-end/DebuggerPresentationModel.js:
191548        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
191549        (WebInspector.DebuggerPresentationModel.prototype.setCompilerSourceMapping):
191550        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
191551        (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
191552        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
191553        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
191554        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
191555
1915562011-11-23  Martin Robinson  <mrobinson@igalia.com>
191557
191558        Build fix for GTK+.
191559
191560        * platform/graphics/gtk/DrawingBufferGtk.cpp:
191561        (WebCore::DrawingBuffer::DrawingBuffer): Update signature and ASSERT
191562        for the GTK+ port.
191563
1915642011-11-23  Rafael Weinstein  <rafaelw@chromium.org>
191565
191566        Remove notifyChange from the public interface of CSSMutableStyleDeclaration
191567        https://bugs.webkit.org/show_bug.cgi?id=72660
191568
191569        Reviewed by Ojan Vafai.
191570
191571        No tests needed. This is only a refactor.
191572
191573        * css/CSSMutableStyleDeclaration.cpp:
191574        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
191575        (WebCore::CSSMutableStyleDeclaration::addParsedProperty):
191576        * css/CSSMutableStyleDeclaration.h:
191577        (WebCore::CSSMutableStyleDeclaration::setProperty):
191578        (WebCore::CSSMutableStyleDeclaration::removeProperty):
191579        (WebCore::CSSMutableStyleDeclaration::removePropertiesInSet):
191580        * css/CSSStyleSelector.cpp:
191581        (WebCore::leftToRightDeclaration):
191582        (WebCore::rightToLeftDeclaration):
191583        * editing/ApplyStyleCommand.cpp:
191584        (WebCore::ApplyStyleCommand::applyRelativeFontStyleChange):
191585        * html/HTMLElement.cpp:
191586        (WebCore::HTMLElement::setContentEditable):
191587
1915882011-11-23  Scott Graham  <scottmg@chromium.org>
191589
191590        Adding gamepad support
191591        https://bugs.webkit.org/show_bug.cgi?id=69451
191592
191593        Reviewed by Darin Fisher.
191594
191595        Plumb gamepad data access through platform.
191596
191597        Test: gamepad/gamepad-polling-access.html
191598
191599        * WebCore.gypi:
191600        * page/Navigator.cpp:
191601        (WebCore::Navigator::webkitGamepads):
191602        * page/Navigator.h:
191603        * platform/Gamepads.h: Added.
191604        * platform/chromium/GamepadsChromium.cpp: Added.
191605        (WebCore::sampleGamepads):
191606        * platform/chromium/PlatformSupport.h:
191607
1916082011-11-23  Dmitry Lomov  <dslomov@google.com>
191609
191610        Get rid of WebCore dependencies from TypedArray implementation types
191611        https://bugs.webkit.org/show_bug.cgi?id=72783
191612
191613        Reviewed by David Levin.
191614
191615        Remove WebCore specific logic for neutering Typed Array implementations.
191616
191617        * bindings/scripts/CodeGeneratorJS.pm:
191618        (GenerateImplementation):
191619        * bindings/scripts/CodeGeneratorV8.pm:
191620        * html/canvas/ArrayBuffer.cpp:
191621        (WTF::ArrayBuffer::transfer):
191622        * html/canvas/ArrayBuffer.h:
191623        * html/canvas/ArrayBufferView.cpp:
191624        (WTF::ArrayBufferView::neuter):
191625        * html/canvas/ArrayBufferView.h:
191626        * html/canvas/DataView.cpp:
191627        (WebCore::DataView::neuter):
191628        * html/canvas/DataView.h:
191629        * html/canvas/Float32Array.h:
191630        * html/canvas/Float64Array.h:
191631        * html/canvas/Int16Array.h:
191632        * html/canvas/Int32Array.h:
191633        * html/canvas/Int8Array.h:
191634        * html/canvas/Uint16Array.h:
191635        * html/canvas/Uint32Array.h:
191636        * html/canvas/Uint8Array.h:
191637
1916382011-11-23  Raul Hudea  <rhudea@adobe.com>
191639
191640        First step towards http://webkit.org/b/70025
191641
191642        Allow -webkit-transform to be have effect to SVG elements.
191643        Currently, the CSS transform takes precedence over the SVG transform attribute
191644
191645        Allow SVG elements to be transformed using webkit-transform
191646        https://bugs.webkit.org/show_bug.cgi?id=71309
191647
191648        Reviewed by Nikolas Zimmermann.
191649
191650        Tests: svg/clip-path/clip-path-css-transform-1.svg
191651               svg/clip-path/clip-path-css-transform-2.svg
191652               svg/custom/clip-path-with-css-transform-1.svg
191653               svg/custom/clip-path-with-css-transform-2.svg
191654               svg/custom/pointer-events-image-css-transform.svg
191655               svg/custom/pointer-events-text-css-transform.svg
191656               svg/dom/css-transforms.xhtml
191657               svg/dynamic-updates/SVG-dynamic-css-transform.html
191658               svg/dynamic-updates/SVGClipPathElement-css-transform-influences-hitTesting.html
191659               svg/transforms/svg-css-transforms-clip-path.xhtml
191660               svg/transforms/svg-css-transforms.xhtml
191661
191662        * manual-tests/svg-animation-css-transform.html: Added.
191663        * manual-tests/svg-css-animate-compound.html: Added.
191664        * manual-tests/svg-css-transition-compound.html: Added.
191665        * rendering/svg/RenderSVGModelObject.cpp:
191666        (WebCore::RenderSVGModelObject::styleWillChange):
191667
191668        Set the updateTransform flag on SVG elements whenever a CSS transform is present on the style
191669
191670        * svg/SVGStyledTransformableElement.cpp:
191671        (WebCore::SVGStyledTransformableElement::animatedLocalTransform):
191672
191673        Use the RenderStyle's transform (if it exists) over the SVG's transform
191674
191675        * svg/SVGTextElement.cpp:
191676        (WebCore::SVGTextElement::animatedLocalTransform):
191677
191678        Use the RenderStyle's transform (if it exists) over the SVG's transform
191679
1916802011-11-23  Rafael Weinstein  <rafaelw@chromium.org>
191681
191682        [MutationObservers] Cleanup duplicated code in Element & CharacterData
191683        https://bugs.webkit.org/show_bug.cgi?id=72986
191684
191685        Reviewed by Ojan Vafai.
191686
191687        This patch creates a MutationObserverInterestGroup which represents the set
191688        of MutationObservers which should receive all mutations of a given type generated
191689        from a specific node.
191690
191691        No tests needed. This patch is only a refactor.
191692
191693        * dom/CharacterData.cpp:
191694        (WebCore::CharacterData::dispatchModifiedEvent):
191695        * dom/ChildListMutationScope.cpp:
191696        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::ChildListMutationAccumulator):
191697        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
191698        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
191699        * dom/Element.cpp:
191700        (WebCore::enqueueAttributesMutationRecord):
191701        * dom/WebKitMutationObserver.cpp:
191702        (WebCore::MutationObserverInterestGroup::createForChildListMutation):
191703        (WebCore::MutationObserverInterestGroup::createForCharacterDataMutation):
191704        (WebCore::MutationObserverInterestGroup::createForAttributesMutation):
191705        (WebCore::MutationObserverInterestGroup::MutationObserverInterestGroup):
191706        (WebCore::MutationObserverInterestGroup::isOldValueRequested):
191707        (WebCore::MutationObserverInterestGroup::enqueueMutationRecord):
191708        * dom/WebKitMutationObserver.h:
191709        (WebCore::MutationObserverInterestGroup::isEmpty):
191710        (WebCore::MutationObserverInterestGroup::hasOldValue):
191711
1917122011-11-23  Marc-Andre Decoste  <mad@chromium.org>
191713
191714        [chromium] HDC leak in Uniscribe Helper
191715        https://bugs.webkit.org/show_bug.cgi?id=68598
191716
191717        Reviewed by Darin Fisher.
191718
191719        For some reason the Script functions on Windows sometimes return
191720        E_PENDING even with a non-NULL DC, so we must handle that case.
191721        Also, we should not use the screen DC to select font since this
191722        refreshes the whole desktop, so I added a cached compatible DC.
191723
191724        Note that this doesn't reproduce with WebKit alone, it only reproduces
191725        within Chrome, so we can't write a WebKit test for it. A chromium
191726        browser test will be added once this change gets rolled in the
191727        chromium DEPS file.
191728
191729        * platform/graphics/chromium/UniscribeHelper.cpp:
191730        (WebCore::UniscribeHelper::shape):
191731        (WebCore::UniscribeHelper::EnsureCachedDCCreated):
191732        (WebCore::UniscribeHelper::fillShapes):
191733        * platform/graphics/chromium/UniscribeHelper.h:
191734
1917352011-11-23  Anna Cavender  <annacc@chromium.org>
191736
191737        Move readyState from TextTrack to HTMLTrackElement
191738        https://bugs.webkit.org/show_bug.cgi?id=72553
191739
191740        Reviewed by Eric Carlson.
191741
191742        * html/HTMLTrackElement.cpp:
191743        (WebCore::HTMLTrackElement::HTMLTrackElement):
191744            Set initial readyState to NONE.
191745        (WebCore::HTMLTrackElement::didCompleteLoad):
191746            Set readyState based on load completed status.
191747        (WebCore::HTMLTrackElement::setReadyState):
191748            This replaces textTrackReadyStateChanged() because only LoadableTextTrack
191749            needs to notify HTMLTrackElement of readyState changes (i.e.
191750            textTrackReadyStateChanged() is no longer required of TextTrackClient).
191751        * html/HTMLTrackElement.h:
191752            ReadyState enum and m_readyState member variable moved from TextTrack.
191753        (WebCore::HTMLTrackElement::readyState):
191754            New: readyState() getter.
191755        * html/HTMLTrackElement.idl:
191756            Add readyState attribute and associated constants.
191757
191758        * html/LoadableTextTrack.cpp:
191759        (WebCore::LoadableTextTrack::loadTimerFired): Set readyState on HTMLTrackElement.
191760        (WebCore::LoadableTextTrack::cueLoadingStarted): Ditto.
191761        (WebCore::LoadableTextTrack::cueLoadingCompleted): Move code to set readyState
191762            to HTMLTrackElement (it can set it based on loading status).
191763
191764        * html/TextTrack.cpp: Remove readyState from TextTrack.
191765        (WebCore::TextTrack::TextTrack): Ditto.
191766        * html/TextTrack.h: Ditto.
191767        * html/TextTrack.idl: Ditto.
191768
1917692011-11-23  Raphael Kubo da Costa  <kubo@profusion.mobi>
191770
191771        [CMake] Move the top-level logic to the top-level directory.
191772        https://bugs.webkit.org/show_bug.cgi?id=72685
191773
191774        Reviewed by Brent Fulgham.
191775
191776        No new tests, this is a buildsystem changes.
191777
191778        * CMakeLists.txt: Adjust the Source/ directory.
191779        * PlatformBlackBerry.cmake: Ditto.
191780
1917812011-11-23  Mihnea Ovidenie  <mihnea@adobe.com>
191782
191783        CSS Exclusions: update the name of the shape CSS properties
191784        https://bugs.webkit.org/show_bug.cgi?id=71898
191785        Instead of a single wrap-shape property, we have wrap-shape-inside and wrap-shape-outside.
191786
191787        Reviewed by Dean Jackson.
191788
191789        Tests: fast/exclusions/parsing-wrap-shape-inside.html
191790               fast/exclusions/parsing-wrap-shape-outside.html
191791
191792        * css/CSSComputedStyleDeclaration.cpp:
191793        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
191794        * css/CSSParser.cpp:
191795        (WebCore::CSSParser::parseValue):
191796        (WebCore::CSSParser::parseWrapShape):
191797        * css/CSSParser.h:
191798        * css/CSSProperty.cpp:
191799        (WebCore::CSSProperty::isInheritedProperty):
191800        * css/CSSPropertyNames.in:
191801        * css/CSSStyleSelector.cpp:
191802        (WebCore::CSSStyleSelector::applyProperty):
191803        * rendering/style/RenderStyle.cpp:
191804        (WebCore::RenderStyle::diff):
191805        * rendering/style/RenderStyle.h:
191806        (WebCore::InheritedFlags::setWrapShapeInside):
191807        (WebCore::InheritedFlags::wrapShapeInside):
191808        (WebCore::InheritedFlags::setWrapShapeOutside):
191809        (WebCore::InheritedFlags::wrapShapeOutside):
191810        (WebCore::InheritedFlags::initialWrapShapeInside):
191811        (WebCore::InheritedFlags::initialWrapShapeOutside):
191812        * rendering/style/StyleRareNonInheritedData.cpp:
191813        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
191814        (WebCore::StyleRareNonInheritedData::operator==):
191815        * rendering/style/StyleRareNonInheritedData.h:
191816
1918172011-11-23  Andrey Kosyakov  <caseq@chromium.org>
191818
191819        Web Inspector: [Extensions API] avoid exception in initExtensions() if elements panel is not present
191820        https://bugs.webkit.org/show_bug.cgi?id=73007
191821
191822        Reviewed by Yury Semikhatsky.
191823
191824        * inspector/front-end/ExtensionServer.js:
191825
1918262011-11-23  Brian Salomon  <bsalomon@google.com>
191827
191828        Use new name for pixel config field of GrTextureDesc
191829        https://bugs.webkit.org/show_bug.cgi?id=72543
191830
191831        Reviewed by Stephen White.
191832
191833        Tested by every canvas2d layout test.
191834
191835        * platform/graphics/skia/ImageBufferSkia.cpp:
191836        (WebCore::createAcceleratedCanvas):
191837
1918382011-11-23  Emil A Eklund  <eae@chromium.org>
191839
191840        Change remaining scrollTop/Left/Width/Height methods back to int
191841        https://bugs.webkit.org/show_bug.cgi?id=72771
191842
191843        Reviewed by Eric Seidel.
191844
191845        Change remaining scrollTop/Left/Width/Height, setScrollLeft/Top and
191846        verticalScrollbarWidth, horizontalScrollbarHeight methods back to int as
191847        scrolling will remain int based to line up with device pixels.
191848
191849        No new tests.
191850
191851        * rendering/RenderBox.cpp:
191852        (WebCore::RenderBox::scrollWidth):
191853        (WebCore::RenderBox::scrollHeight):
191854        (WebCore::RenderBox::scrollLeft):
191855        (WebCore::RenderBox::scrollTop):
191856        (WebCore::RenderBox::setScrollLeft):
191857        (WebCore::RenderBox::setScrollTop):
191858        (WebCore::RenderBox::verticalScrollbarWidth):
191859        (WebCore::RenderBox::horizontalScrollbarHeight):
191860        * rendering/RenderBox.h:
191861        (WebCore::RenderBox::scrollbarLogicalHeight):
191862        * rendering/RenderListBox.cpp:
191863        (WebCore::RenderListBox::verticalScrollbarWidth):
191864        (WebCore::RenderListBox::scrollHeight):
191865        (WebCore::RenderListBox::scrollLeft):
191866        (WebCore::RenderListBox::setScrollLeft):
191867        (WebCore::RenderListBox::scrollTop):
191868        (WebCore::RenderListBox::setScrollTop):
191869        * rendering/RenderListBox.h:
191870        * rendering/RenderTextControlSingleLine.cpp:
191871        (WebCore::RenderTextControlSingleLine::scrollWidth):
191872        (WebCore::RenderTextControlSingleLine::scrollHeight):
191873        (WebCore::RenderTextControlSingleLine::scrollLeft):
191874        (WebCore::RenderTextControlSingleLine::scrollTop):
191875        (WebCore::RenderTextControlSingleLine::setScrollLeft):
191876        (WebCore::RenderTextControlSingleLine::setScrollTop):
191877        * rendering/RenderTextControlSingleLine.h:
191878
1918792011-11-22  Kenneth Russell  <kbr@google.com>
191880
191881        [chromium] Support Core Animation plugins in compositor
191882        https://bugs.webkit.org/show_bug.cgi?id=72921
191883
191884        Reviewed by Stephen White.
191885
191886        Added support to PluginLayerChromium and CCPluginLayerImpl for
191887        using an IOSurface as the backing store for a plugin. Added minimal
191888        ARB_texture_rectangle support to Extensions3D.h and a Chromium-
191889        specific extension for binding an IOSurface to a texture.
191890
191891        These changes themselves do not have any effect. A follow-on
191892        Chromium CL will make the switch to this new code path.
191893
191894        Tested manually both with and without the Chromium side changes;
191895        Chromium's DumpRenderTree port does not support Core Animation
191896        plugins. Ran video and Stage3D in Flash, and Unity 3D content, to
191897        verify.
191898
191899        * platform/graphics/Extensions3D.h:
191900        * platform/graphics/chromium/Extensions3DChromium.h:
191901        * platform/graphics/chromium/LayerRendererChromium.cpp:
191902        (WebCore::LayerRendererChromium::initialize):
191903        (WebCore::LayerRendererChromium::pluginLayerTexRectProgram):
191904        (WebCore::LayerRendererChromium::pluginLayerTexRectProgramFlip):
191905        * platform/graphics/chromium/LayerRendererChromium.h:
191906        * platform/graphics/chromium/PluginLayerChromium.cpp:
191907        (WebCore::PluginLayerChromium::PluginLayerChromium):
191908        (WebCore::PluginLayerChromium::setIOSurfaceProperties):
191909        (WebCore::PluginLayerChromium::getIOSurfaceId):
191910        (WebCore::PluginLayerChromium::pushPropertiesTo):
191911        * platform/graphics/chromium/PluginLayerChromium.h:
191912        * platform/graphics/chromium/ShaderChromium.cpp:
191913        (WebCore::FragmentShaderRGBATexRectFlipAlpha::getShaderString):
191914        (WebCore::FragmentShaderRGBATexRectAlpha::getShaderString):
191915        * platform/graphics/chromium/ShaderChromium.h:
191916        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
191917        (PluginProgramBinding::TexStretchPluginProgramBinding::set):
191918        (PluginProgramBinding::TexTransformPluginProgramBinding::set):
191919        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
191920        (WebCore::CCPluginLayerImpl::~CCPluginLayerImpl):
191921        (WebCore::CCPluginLayerImpl::draw):
191922        (WebCore::CCPluginLayerImpl::setIOSurfaceProperties):
191923        (WebCore::CCPluginLayerImpl::cleanupResources):
191924        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
191925
1919262011-11-22  Daniel Cheng  <dcheng@chromium.org>
191927
191928        [chromium] Fix plumbing for differentiating between clipboard/selection pastes.
191929        https://bugs.webkit.org/show_bug.cgi?id=72056
191930
191931        Reviewed by Tony Chang.
191932
191933        Add a buffer parameter when retrieving the clipboard sequence number and fix several call
191934        sites that incorrectly assume use of the standard buffer in pastes.
191935
191936        * platform/chromium/ChromiumDataObject.cpp:
191937        (WebCore::ChromiumDataObject::types):
191938        (WebCore::ChromiumDataObject::getData):
191939        (WebCore::ChromiumDataObject::containsFilenames):
191940        * platform/chromium/ChromiumDataObject.h:
191941        * platform/chromium/ClipboardChromium.cpp:
191942        (WebCore::ClipboardChromium::ClipboardChromium):
191943        (WebCore::ClipboardChromium::getData):
191944        (WebCore::ClipboardChromium::platformClipboardChanged):
191945        * platform/chromium/ClipboardUtilitiesChromium.cpp:
191946        (WebCore::currentPasteboardBuffer):
191947        * platform/chromium/ClipboardUtilitiesChromium.h:
191948        * platform/chromium/DataTransferItemChromium.cpp:
191949        (WebCore::DataTransferItemChromium::getAsString):
191950        * platform/chromium/PlatformSupport.h:
191951
1919522011-11-22  Andrey Kosyakov  <caseq@chromium.org>
191953
191954        Layout Test inspector/extensions/extensions-events.html is timing out
191955        https://bugs.webkit.org/show_bug.cgi?id=72966
191956
191957        Reviewed by Pavel Feldman.
191958
191959        - always bind to {add,remove}EventListener() of event target, not WebInspector.Object
191960
191961        * inspector/front-end/ExtensionServer.js:
191962        (WebInspector.ExtensionServer.prototype._registerAutosubscriptionHandler):
191963
1919642011-11-22  Adam Klein  <adamk@chromium.org>
191965
191966        Move splitView.css (added in r100991) to the correct target.
191967
191968        * WebCore.gypi:
191969
1919702011-11-22  Andreas Kling  <kling@webkit.org>
191971
191972        CSSProperty: Remove unnecessary operator overloads.
191973        <http://webkit.org/b/72953>
191974
191975        Reviewed by Antti Koivisto.
191976
191977        * css/CSSProperty.cpp:
191978        * css/CSSProperty.h:
191979
191980            Remove operator= and operator== from CSSProperty. They were neither
191981            implemented correctly nor used anywhere.
191982
1919832011-11-22  Andreas Kling  <kling@webkit.org>
191984
191985        CSSStyleDeclaration: Kill FIXME in setProperty().
191986        <http://webkit.org/b/72958>
191987
191988        Reviewed by Antonio Gomes.
191989
191990        Remove FIXME about possibly throwing an exception when setProperty()
191991        is called with an invalid property name. CSSOM specifies that the
191992        method should simply return in this case.
191993
191994        Spec: http://dev.w3.org/csswg/cssom/#dom-cssstyledeclaration-setproperty
191995
191996        * css/CSSStyleDeclaration.cpp:
191997        (WebCore::CSSStyleDeclaration::setProperty):
191998
1919992011-11-22  Shinya Kawanaka  <shinyak@google.com>
192000
192001        Spellcheck should be able to run asynchronously.
192002        https://bugs.webkit.org/show_bug.cgi?id=71991
192003
192004        Reviewed by Hajime Morita.
192005
192006        Run asynchronous spell checker if both asynchronous flag and unified text checker flag are ON.
192007
192008        When multiple asynchronous spellchecking are requested, only the first request will be processed.
192009
192010        Test: editing/spelling/spellcheck-async.html
192011
192012        * editing/Editor.cpp:
192013        (WebCore::Editor::markAllMisspellingsAndBadGrammarInRanges):
192014          Uses asynchronous spell checker if asynchronous flag is ON.
192015
1920162011-11-22  Alexander Pavlov  <apavlov@chromium.org>
192017
192018        Web Inspector: [SuggestBox] Grayed prompt displayed with non-collapsed selection in place
192019        https://bugs.webkit.org/show_bug.cgi?id=72951
192020
192021        Reviewed by Pavel Feldman.
192022
192023        * inspector/front-end/TextPrompt.js:
192024        (WebInspector.TextPrompt.prototype.complete):
192025
1920262011-11-22  Pavel Feldman  <pfeldman@google.com>
192027
192028        Not reviewed: fix inspector front-end compilation.
192029
192030        * inspector/front-end/externs.js:
192031        (WebInspector.showPanel):
192032
1920332011-11-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
192034
192035        Add WebCore platform interface needed by updated MediaStream API design
192036        https://bugs.webkit.org/show_bug.cgi?id=70895
192037
192038        Reviewed by Adam Barth.
192039
192040        This is one in a series of patches that update the MediaStream feature
192041        to use WebCore platform interfaces.
192042
192043        Tests will be provided by http://webkit.org/b/56587
192044
192045        * GNUmakefile.list.am:
192046        * WebCore.gypi:
192047        * mediastream/LocalMediaStream.cpp:
192048        (WebCore::LocalMediaStream::stopTimerFired):
192049        * mediastream/MediaStream.h:
192050        * mediastream/MediaStreamTrack.cpp:
192051        (WebCore::MediaStreamTrack::setEnabled):
192052        * mediastream/PeerConnection.cpp:
192053        (WebCore::PeerConnection::didRemoveRemoteStream):
192054        * mediastream/UserMediaRequest.cpp:
192055        (WebCore::UserMediaRequest::start):
192056        * mediastream/UserMediaRequest.h:
192057        * platform/mediastream/MediaStreamCenter.cpp: Added.
192058        (WebCore::MediaStreamCenter::instance):
192059        (WebCore::MediaStreamCenter::endLocalMediaStream):
192060        (WebCore::MediaStreamCenter::MediaStreamCenter):
192061        (WebCore::MediaStreamCenter::~MediaStreamCenter):
192062        (WebCore::MediaStreamCenter::queryMediaStreamSources):
192063        (WebCore::MediaStreamCenter::didSetMediaStreamTrackEnabled):
192064        (WebCore::MediaStreamCenter::didStopLocalMediaStream):
192065        * platform/mediastream/MediaStreamCenter.h: Added.
192066        (WebCore::MediaStreamSourcesQueryClient::~MediaStreamSourcesQueryClient):
192067        * platform/mediastream/MediaStreamDescriptor.h:
192068        (WebCore::MediaStreamDescriptorOwner::~MediaStreamDescriptorOwner):
192069        (WebCore::MediaStreamDescriptor::owner):
192070        (WebCore::MediaStreamDescriptor::setOwner):
192071
1920722011-11-22  Pavel Feldman  <pfeldman@google.com>
192073
192074        Web Inspector: remove Inspector::bringToFront from the protocol.
192075        https://bugs.webkit.org/show_bug.cgi?id=72937
192076
192077        Inspector::bringToFront protocol method is currently used on the backend
192078        in order to reveal the front-end window. We should do that by means of
192079        the inspector client interface instead.
192080
192081        Reviewed by Yury Semikhatsky.
192082
192083        * inspector/Inspector.json:
192084        * inspector/InspectorClient.h:
192085        * inspector/InspectorController.cpp:
192086        (WebCore::InspectorController::show):
192087        * loader/EmptyClients.h:
192088        (WebCore::EmptyInspectorClient::bringFrontendToFront):
192089
1920902011-11-21  Andrey Kosyakov  <caseq@chromium.org>
192091
192092        Web Inspector: [Extensions API][refactoring] remove dependencies on the ExtensionsServer from most of the insepctor
192093        https://bugs.webkit.org/show_bug.cgi?id=72899
192094
192095        Reviewed by Pavel Feldman.
192096
192097        * inspector/front-end/ElementsPanel.js:
192098        (WebInspector.ElementsPanel.prototype._selectedNodeChanged):
192099        * inspector/front-end/ExtensionServer.js:
192100        (WebInspector.ExtensionServer.prototype._notifyResourceContentCommitted):
192101        (WebInspector.ExtensionServer.prototype._notifyElementsSelectionChanged):
192102        * inspector/front-end/Resource.js:
192103        (WebInspector.Resource.prototype.addRevision):
192104        * inspector/front-end/externs.js:
192105
1921062011-11-22  Zoltan Horvath  <zoltan@webkit.org>
192107
192108        [Qt] Build fix for MHTML support
192109
192110        * Target.pri: Add missing includepath.
192111
1921122011-11-22  Vsevolod Vlasov  <vsevik@chromium.org>
192113
192114        Web Inspector: Extract SplitView from Panel.createSidebar() method and reuse in Elements and Scripts panels.
192115        https://bugs.webkit.org/show_bug.cgi?id=72920
192116
192117        Reviewed by Pavel Feldman.
192118
192119        * WebCore.gypi:
192120        * WebCore.vcproj/WebCore.vcproj:
192121        * inspector/compile-front-end.sh:
192122        * inspector/front-end/ApplicationCacheModel.js:
192123        * inspector/front-end/AuditsPanel.js:
192124        (WebInspector.AuditsPanel):
192125        * inspector/front-end/ElementsPanel.js:
192126        (WebInspector.ElementsPanel):
192127        (WebInspector.ElementsPanel.prototype.wasShown):
192128        (WebInspector.ElementsPanel.prototype.sidebarResized):
192129        (WebInspector.ElementsPanel.prototype.toggleSearchingForNode):
192130        * inspector/front-end/NetworkPanel.js:
192131        (WebInspector.NetworkPanel.prototype.wasShown):
192132        (WebInspector.NetworkPanel.prototype._showResource):
192133        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
192134        (WebInspector.NetworkPanel.prototype._toggleGridMode):
192135        (WebInspector.NetworkPanel.prototype._toggleViewingResourceMode):
192136        * inspector/front-end/Panel.js:
192137        (WebInspector.Panel.prototype.wasShown):
192138        (WebInspector.Panel.prototype.createSplitView):
192139        (WebInspector.Panel.prototype.createSplitViewWithSidebarTree):
192140        (WebInspector.Panel.prototype.sidebarResized):
192141        * inspector/front-end/ProfilesPanel.js:
192142        (WebInspector.ProfilesPanel.prototype._reset):
192143        (WebInspector.ProfilesPanel.prototype.sidebarResized):
192144        * inspector/front-end/ResourcesPanel.js:
192145        (WebInspector.ResourcesPanel.prototype.sidebarResized):
192146        * inspector/front-end/ScriptsPanel.js:
192147        (WebInspector.ScriptsPanel.prototype.wasShown):
192148        (WebInspector.ScriptsPanel.prototype.sidebarResized):
192149        * inspector/front-end/SplitView.js: Added.
192150        (WebInspector.SplitView):
192151        * inspector/front-end/TimelineOverviewPane.js:
192152        (WebInspector.TimelineOverviewPane.prototype.sidebarResized):
192153        * inspector/front-end/TimelinePanel.js:
192154        (WebInspector.TimelinePanel):
192155        (WebInspector.TimelinePanel.prototype.sidebarResized):
192156        (WebInspector.TimelinePanel.prototype._refreshRecords):
192157        * inspector/front-end/WebKit.qrc:
192158        * inspector/front-end/auditsPanel.css:
192159        * inspector/front-end/elementsPanel.css:
192160        * inspector/front-end/inspector.css:
192161        (.sidebar):
192162        * inspector/front-end/inspector.html:
192163        * inspector/front-end/networkLogView.css:
192164        * inspector/front-end/networkPanel.css:
192165        (#network-views):
192166        * inspector/front-end/profilesPanel.css:
192167        (#profile-views):
192168        * inspector/front-end/resourcesPanel.css:
192169        * inspector/front-end/scriptsPanel.css:
192170        (#scripts-split-view):
192171        * inspector/front-end/splitView.css: Added.
192172        * inspector/front-end/timelinePanel.css:
192173        (.timeline .sidebar):
192174        (.timeline-sidebar-background):
192175        (#resources-container-content):
192176
1921772011-11-22  Sheriff Bot  <webkit.review.bot@gmail.com>
192178
192179        Unreviewed, rolling out r100988.
192180        http://trac.webkit.org/changeset/100988
192181        https://bugs.webkit.org/show_bug.cgi?id=72941
192182
192183        "Broke pixel tests on Chromium-Linux" (Requested by kbalazs on
192184        #webkit).
192185
192186        * platform/graphics/filters/FEConvolveMatrix.cpp:
192187        (WebCore::FEConvolveMatrix::platformApplySoftware):
192188        * platform/graphics/filters/FEConvolveMatrix.h:
192189        * platform/graphics/filters/FEGaussianBlur.cpp:
192190        (WebCore::FEGaussianBlur::platformApply):
192191        * platform/graphics/filters/FEGaussianBlur.h:
192192        * platform/graphics/filters/FELighting.cpp:
192193        (WebCore::FELighting::platformApplyGeneric):
192194        * platform/graphics/filters/FELighting.h:
192195        * platform/graphics/filters/FEMorphology.cpp:
192196        (WebCore::FEMorphology::platformApply):
192197        * platform/graphics/filters/FEMorphology.h:
192198        * platform/graphics/filters/FETurbulence.cpp:
192199        (WebCore::FETurbulence::platformApplySoftware):
192200        * platform/graphics/filters/FETurbulence.h:
192201        * platform/graphics/filters/arm/FELightingNEON.cpp:
192202        * platform/graphics/filters/arm/FELightingNEON.h:
192203        (WebCore::FELighting::platformApplyNeon):
192204
1922052011-11-21  Balazs Kelemen  <kbalazs@webkit.org>
192206
192207        Enable ParallelJobs by default
192208        https://bugs.webkit.org/show_bug.cgi?id=70032
192209
192210        Reviewed by Zoltan Herczeg.
192211
192212        Covered by existing tests.
192213
192214        According to measurements on Mac and Linux it is a
192215        considerable speedup for SVG on multicore.
192216
192217        Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
192218        by qualifying ParallelJobs with the WTF namespace (otherwise
192219        MSVC believes it belongs to WebCore which is likely a compiler bug).
192220
192221        * platform/graphics/filters/FEConvolveMatrix.cpp:
192222        (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
192223        (WebCore::FEConvolveMatrix::platformApplySoftware):
192224        * platform/graphics/filters/FEConvolveMatrix.h:
192225        * platform/graphics/filters/FEGaussianBlur.cpp:
192226        (WebCore::FEGaussianBlur::platformApplyWorker):
192227        (WebCore::FEGaussianBlur::platformApply):
192228        * platform/graphics/filters/FEGaussianBlur.h:
192229        * platform/graphics/filters/FELighting.cpp:
192230        (WebCore::FELighting::platformApplyGenericWorker):
192231        (WebCore::FELighting::platformApplyGeneric):
192232        * platform/graphics/filters/FELighting.h:
192233        * platform/graphics/filters/FEMorphology.cpp:
192234        (WebCore::FEMorphology::platformApplyWorker):
192235        (WebCore::FEMorphology::platformApply):
192236        * platform/graphics/filters/FEMorphology.h:
192237        * platform/graphics/filters/FETurbulence.cpp:
192238        (WebCore::FETurbulence::fillRegionWorker):
192239        (WebCore::FETurbulence::platformApplySoftware):
192240        * platform/graphics/filters/FETurbulence.h:
192241        * platform/graphics/filters/arm/FELightingNEON.cpp:
192242        (WebCore::FELighting::platformApplyNeonWorker):
192243        * platform/graphics/filters/arm/FELightingNEON.h:
192244        (WebCore::FELighting::platformApplyNeon):
192245
1922462011-11-22  Alexander Pavlov  <apavlov@chromium.org>
192247
192248        Web Inspector: [protocol] actual JSON messages do not conform to Inspector.json in CSS
192249        https://bugs.webkit.org/show_bug.cgi?id=72733
192250
192251        Reviewed by Pavel Feldman.
192252
192253        * inspector/Inspector.json:
192254        * inspector/InspectorCSSAgent.cpp:
192255        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
192256        * inspector/InspectorCSSAgent.h:
192257        * inspector/InspectorStyleSheet.cpp:
192258        (WebCore::InspectorStyle::buildArrayForComputedStyle):
192259        * inspector/InspectorStyleSheet.h:
192260        * inspector/front-end/CSSStyleModel.js:
192261        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
192262        (WebInspector.CSSStyleDeclaration.parseComputedStylePayload):
192263
1922642011-11-22  Pavel Feldman  <pfeldman@google.com>
192265
192266        Web Inspector: strip unused InspectorController methods.
192267        https://bugs.webkit.org/show_bug.cgi?id=72886
192268
192269        This is a follow up to the https://bugs.webkit.org/show_bug.cgi?id=63009.
192270        I am now able to remove following InspectorController methods:
192271        ::startUserInitiatedProfiling,
192272        ::isRecordingUserInitiatedProfile,
192273        ::stopUserInitiatedProfiling,
192274        ::showAndEnableDebugger,
192275        ::debuggerEnabled,
192276        ::disableDebugger,
192277        ::startTimelineProfiler,
192278        ::stopTimelineProfiler,
192279        ::timelineProfilerEnabled,
192280        ::showConsole.
192281
192282        Reviewed by Yury Semikhatsky.
192283
192284        * WebCore.exp.in:
192285        * WebCore.order:
192286        * inspector/Inspector.json:
192287        * inspector/InspectorAgent.cpp:
192288        (WebCore::InspectorAgent::setFrontend):
192289        * inspector/InspectorAgent.h:
192290        * inspector/InspectorController.cpp:
192291        (WebCore::InspectorController::InspectorController):
192292        (WebCore::InspectorController::connectFrontend):
192293        * inspector/InspectorController.h:
192294        * inspector/InspectorDebuggerAgent.cpp:
192295        (WebCore::InspectorDebuggerAgent::enable):
192296        (WebCore::InspectorDebuggerAgent::disable):
192297        * inspector/InspectorDebuggerAgent.h:
192298        * inspector/InspectorInstrumentation.cpp:
192299        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
192300        * inspector/InspectorProfilerAgent.cpp:
192301        (WebCore::InspectorProfilerAgent::resetState):
192302        (WebCore::InspectorProfilerAgent::clearFrontend):
192303        (WebCore::InspectorProfilerAgent::restore):
192304        (WebCore::InspectorProfilerAgent::start):
192305        (WebCore::InspectorProfilerAgent::stop):
192306        * inspector/InspectorProfilerAgent.h:
192307        * inspector/InspectorTimelineAgent.cpp:
192308        (WebCore::InspectorTimelineAgent::start):
192309        (WebCore::InspectorTimelineAgent::stop):
192310        * inspector/InspectorTimelineAgent.h:
192311        * inspector/front-end/DebuggerModel.js:
192312        (WebInspector.DebuggerModel.prototype.enableDebugger):
192313        (WebInspector.DebuggerModel.prototype.disableDebugger):
192314        * inspector/front-end/TimelineManager.js:
192315        (WebInspector.TimelineManager.prototype.start):
192316        (WebInspector.TimelineManager.prototype.stop):
192317        (WebInspector.TimelineManager.prototype._started):
192318        (WebInspector.TimelineManager.prototype._stopped):
192319        * inspector/front-end/inspector.js:
192320
1923212011-11-17  Nat Duca  <nduca@chromium.org>
192322
192323        [chromium] Route willDraw/setNeedsRedraw to CCInputHandler and fix double-drawing issues that result
192324        https://bugs.webkit.org/show_bug.cgi?id=72688
192325
192326        This allows CCInputFilter and CCLayerTreeHostImpl to
192327        perform requestAnimationFrame-style animations. The bulk of
192328        work here is to make the scheduler recover gracefully when you
192329        call setNeedsRedraw inside scheduledActionDraw.
192330
192331        Reviewed by James Robinson.
192332
192333        * WebCore.gypi:
192334        * platform/graphics/chromium/cc/CCInputHandler.h:
192335        (WebCore::CCInputHandlerTarget::CCInputHandlerTarget):
192336        (WebCore::CCInputHandlerTarget::~CCInputHandlerTarget):
192337        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
192338        (WebCore::CCLayerTreeHostImpl::currentTimeMs):
192339        (WebCore::CCLayerTreeHostImpl::setNeedsRedraw):
192340        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
192341        * platform/graphics/chromium/cc/CCScheduler.cpp:
192342        (WebCore::CCScheduler::CCScheduler):
192343        (WebCore::CCScheduler::setVisible):
192344        (WebCore::CCScheduler::setNeedsRedraw):
192345        (WebCore::CCScheduler::beginFrame):
192346        (WebCore::CCScheduler::processScheduledActions):
192347        * platform/graphics/chromium/cc/CCScheduler.h:
192348        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
192349        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
192350        (WebCore::CCSchedulerStateMachine::nextAction):
192351        (WebCore::CCSchedulerStateMachine::updateState):
192352        (WebCore::CCSchedulerStateMachine::setInsideVSync):
192353        (WebCore::CCSchedulerStateMachine::setOutsideVSync):
192354        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
192355        * platform/graphics/chromium/cc/CCScrollController.h: Removed.
192356        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
192357        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
192358        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
192359
1923602011-11-22  Alexander Pavlov  <apavlov@chromium.org>
192361
192362        Web Inspector: Design of the autocomplete suggest
192363        https://bugs.webkit.org/show_bug.cgi?id=72798
192364
192365        Reviewed by Pavel Feldman.
192366
192367        Implemented a combination of grayed text for the first/only completion and hid
192368        the suggest box for a single suggestion (the grayed text is displayed instead.)
192369        Drive-by fix for the "trailing spaces in the prompt" issue
192370        (got regressed when the suggest box was introduced for the first time.)
192371
192372        * inspector/front-end/ConsoleView.js:
192373        (WebInspector.ConsoleView): Fix the "trailing spaces" issue
192374        * inspector/front-end/TextPrompt.js:
192375        (WebInspector.TextPrompt):
192376        (WebInspector.TextPrompt.prototype.renderAsBlock): Fix the "trailing spaces" issue
192377        (WebInspector.TextPrompt.prototype._attachInternal):
192378        (WebInspector.TextPrompt.prototype.acceptAutoComplete):
192379        (WebInspector.TextPrompt.prototype._completionsReady):
192380        (WebInspector.TextPrompt.prototype.applySuggestion):
192381        (WebInspector.TextPrompt.prototype.acceptSuggestion):
192382        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
192383
1923842011-11-21  David Barr  <davidbarr@chromium.org>
192385
192386        REGRESSION(r98542): Chromium: CSS text is rendered on page
192387        https://bugs.webkit.org/show_bug.cgi?id=71703
192388
192389        Reviewed by Dimitri Glazkov.
192390
192391        Matched UA declarations uncacheable when using simpleDefaultStyleSheet.
192392
192393        Test: fast/css/style-tag-display-none.html
192394
192395        * css/CSSStyleSelector.cpp:
192396        (WebCore::CSSStyleSelector::matchUARules):
192397
1923982011-11-21  Rob Brackett  <rob@robbrackett.com>
192399        
192400        If an event listener is a function, it should be called and not checked for handleEvent.
192401        This also covers callbacks, which follow the same spec but are implemented separately.
192402        https://bugs.webkit.org/show_bug.cgi?id=62518
192403
192404        Reviewed by Sam Weinig.
192405
192406        Tests: fast/events/dispatch-to-function-with-handle-event.html
192407               fast/js/callback-function-with-handle-event.html
192408
192409        * bindings/js/JSCallbackData.cpp:
192410        (WebCore::JSCallbackData::invokeCallback):
192411        * bindings/js/JSEventListener.cpp:
192412        (WebCore::JSEventListener::handleEvent):
192413
1924142011-11-21  Rakesh KN  <rakesh.kn@motorola.com>
192415
192416        Need support for dirname attribute
192417        https://bugs.webkit.org/show_bug.cgi?id=65542
192418
192419        Reviewed by Eric Seidel.
192420
192421        Implemented 'dirname' form attribute.
192422
192423        Tests: fast/forms/form-dirname-attribute.html
192424               fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
192425               fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
192426               fast/forms/submit-form-with-dirname-attribute.html
192427
192428        * html/HTMLAttributeNames.in:
192429        Added "dirname" attribute.
192430        * html/HTMLInputElement.idl:
192431        Add "dirName" property to HTMLInputElement interface.
192432        * html/HTMLTextAreaElement.cpp:
192433        (WebCore::HTMLTextAreaElement::appendFormData):
192434        Append dirname form data.
192435        * html/HTMLTextAreaElement.idl:
192436        Add "dirName" property to HTMLTextAreaElement interface.
192437        * html/HTMLTextFormControlElement.cpp:
192438        (WebCore::parentHTMLElement):
192439        Helper function which returns only HTML parent element.
192440        (WebCore::HTMLTextFormControlElement::directionForFormData):
192441        Helper function for finding directionality of the Element.
192442        * html/HTMLTextFormControlElement.h:
192443        Helper function for finding directionality of the Element.
192444        * html/TextFieldInputType.cpp:
192445        (WebCore::TextFieldInputType::appendFormData):
192446        Append dirname form data.
192447        * html/TextFieldInputType.h:
192448        Append dirname form data.
192449
1924502011-11-21  Joshua Bell  <jsbell@chromium.org>
192451
192452        IndexedDB: Close database connections, abort transactions, and terminate requests on stop()
192453        https://bugs.webkit.org/show_bug.cgi?id=72066
192454
192455        Reviewed by Tony Chang.
192456
192457        No new tests; addresses race conditions on document navigate/script context stop.
192458
192459        * dom/DocumentEventQueue.cpp:
192460        (WebCore::DocumentEventQueue::enqueueEvent):
192461        * dom/DocumentEventQueue.h:
192462        * dom/EventQueue.h:
192463        * storage/IDBDatabase.cpp:
192464        (WebCore::IDBDatabase::IDBDatabase):
192465        (WebCore::IDBDatabase::~IDBDatabase):
192466        (WebCore::IDBDatabase::transaction):
192467        (WebCore::IDBDatabase::close):
192468        (WebCore::IDBDatabase::onVersionChange):
192469        (WebCore::IDBDatabase::enqueueEvent):
192470        (WebCore::IDBDatabase::stop):
192471        * storage/IDBDatabase.h:
192472        * storage/IDBFactory.cpp:
192473        (WebCore::IDBFactory::IDBFactory):
192474        (WebCore::IDBFactory::getDatabaseNames):
192475        (WebCore::IDBFactory::open):
192476        (WebCore::IDBFactory::deleteDatabase):
192477        * storage/IDBFactory.h:
192478        * storage/IDBObjectStore.cpp:
192479        (WebCore::IDBObjectStore::IDBObjectStore):
192480        (WebCore::IDBObjectStore::name):
192481        (WebCore::IDBObjectStore::keyPath):
192482        (WebCore::IDBObjectStore::indexNames):
192483        (WebCore::IDBObjectStore::get):
192484        (WebCore::IDBObjectStore::add):
192485        (WebCore::IDBObjectStore::put):
192486        (WebCore::IDBObjectStore::deleteFunction):
192487        (WebCore::IDBObjectStore::clear):
192488        (WebCore::IDBObjectStore::createIndex):
192489        (WebCore::IDBObjectStore::index):
192490        (WebCore::IDBObjectStore::deleteIndex):
192491        (WebCore::IDBObjectStore::openCursor):
192492        * storage/IDBObjectStore.h:
192493        * storage/IDBRequest.cpp:
192494        (WebCore::IDBRequest::IDBRequest):
192495        (WebCore::IDBRequest::abort):
192496        (WebCore::IDBRequest::onSuccess):
192497        (WebCore::IDBRequest::onSuccessWithContinuation):
192498        (WebCore::IDBRequest::stop):
192499        (WebCore::IDBRequest::dispatchEvent):
192500        (WebCore::IDBRequest::enqueueEvent):
192501        * storage/IDBRequest.h:
192502        * storage/IDBTransaction.cpp:
192503        (WebCore::IDBTransaction::IDBTransaction):
192504        (WebCore::IDBTransaction::abort):
192505        (WebCore::IDBTransaction::onAbort):
192506        (WebCore::IDBTransaction::onComplete):
192507        (WebCore::IDBTransaction::dispatchEvent):
192508        (WebCore::IDBTransaction::stop):
192509        (WebCore::IDBTransaction::enqueueEvent):
192510        * storage/IDBTransaction.h:
192511        * storage/IDBTransactionBackendImpl.cpp:
192512        (WebCore::IDBTransactionBackendImpl::abort):
192513        (WebCore::IDBTransactionBackendImpl::commit):
192514        * workers/WorkerEventQueue.cpp:
192515        (WebCore::WorkerEventQueue::enqueueEvent):
192516        * workers/WorkerEventQueue.h:
192517
1925182011-11-21  James Robinson  <jamesr@chromium.org>
192519
192520        [chromium] Avoid pushing dirty tiles to the impl layer
192521        https://bugs.webkit.org/show_bug.cgi?id=72765
192522
192523        Reviewed by Kenneth Russell.
192524
192525        If a tile has invalidations at pushPropertiesTo, then we know the contents of that tile are no longer valid even
192526        if they still have valid backing textures. This avoids pushing that texture to the impl side so it is not
192527        displayed to the user. The texture is still kept around (managed by the TextureManager) so that when we later do
192528        decide to update the contents for that tile we can use partial results if they are still valid.
192529
192530        Covered by new unit test in TiledLayerChromiumTest.cpp
192531
192532        * platform/graphics/chromium/TiledLayerChromium.cpp:
192533        (WebCore::UpdatableTile::isDirty):
192534        (WebCore::TiledLayerChromium::updateTileSizeAndTilingOption):
192535        (WebCore::TiledLayerChromium::setTileSize):
192536        (WebCore::TiledLayerChromium::setLayerTreeHost):
192537        (WebCore::TiledLayerChromium::createTiler):
192538        (WebCore::TiledLayerChromium::updateCompositorResources):
192539        (WebCore::TiledLayerChromium::pushPropertiesTo):
192540        * platform/graphics/chromium/TiledLayerChromium.h:
192541        (WebCore::TiledLayerChromium::setTextureFormat):
192542        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
192543        (WebCore::CCTiledLayerImpl::hasTileAt):
192544        (WebCore::CCTiledLayerImpl::drawTiles):
192545        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
192546
1925472011-11-21  Simon Hausmann  <simon.hausmann@nokia.com>
192548
192549        [Qt] Speed up debug builds.
192550        https://bugs.webkit.org/show_bug.cgi?id=72882
192551
192552        Reviewed by Tor Arne Vestbø.
192553
192554        * Target.pri: Make BUILDING_WebCore available earlier, so it can be
192555        used by the build system.
192556
1925572011-11-17  Robert Hogan  <robert@webkit.org>
192558
192559        CSS 2.1 failure: empty-inline-003.htm fails
192560        https://bugs.webkit.org/show_bug.cgi?id=72638
192561
192562        Reviewed by Ryosuke Niwa.
192563
192564        Empty inline elements need to share their inline height with siblings.
192565
192566        * rendering/RenderBlockLineLayout.cpp:
192567        (WebCore::inlineFlowRequiresLineBox): In strict mode, add a LineBox for an empty element if it is
192568        going to affect the line-height.
192569        (WebCore::requiresLineBox): Pass LineInfo to inlineFlowRequiresLineBox
192570        (WebCore::RenderBlock::LineBreaker::nextLineBreak): Pass LineInfo to inlineFlowRequiresLineBox
192571
1925722011-11-21  Adrienne Walker  <enne@google.com>
192573
192574        [chromium] Remove incorrect render surface layer list asserts from compositor
192575        https://bugs.webkit.org/show_bug.cgi?id=72744
192576
192577        Reviewed by James Robinson.
192578
192579        These asserts are incorrect, because it's valid for the default render
192580        surface to be created but to have a root layer that doesn't draw. It
192581        won't get added to the single render surface and it'll have an empty
192582        layer list.
192583
192584        Test: compositor_unittests
192585
192586        * platform/graphics/chromium/LayerRendererChromium.cpp:
192587        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
192588        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
192589        (WebCore::CCLayerTreeHost::paintLayerContents):
192590        (WebCore::CCLayerTreeHost::updateCompositorResources):
192591
1925922011-11-21  Andreas Kling  <kling@webkit.org>
192593
192594        StyleSheet: Move completeURL() to CSSStyleSheet.
192595        <http://webkit.org/b/72888>
192596
192597        Reviewed by Antti Koivisto.
192598
192599        Since completeURL() is only used on CSSStyleSheets, move it there (and make
192600        it non-virtual) to make StyleSheet a little leaner.
192601
192602        * css/CSSStyleSheet.cpp:
192603        (WebCore::CSSStyleSheet::completeURL):
192604        * css/CSSStyleSheet.h:
192605        * css/StyleSheet.cpp:
192606        * css/StyleSheet.h:
192607
1926082011-11-21  Robin Dunn  <robin@alldunn.com>
192609
192610        [wx] Fix image translation calculations.
192611        https://bugs.webkit.org/show_bug.cgi?id=72892
192612
192613        Reviewed by Kevin Ollivier.
192614
192615        * platform/graphics/wx/ImageWx.cpp:
192616        (WebCore::Image::drawPattern):
192617
1926182011-11-21  Scott Graham  <scottmg@chromium.org>
192619
192620        copyright comment style to C from C++ for gamepad module
192621        https://bugs.webkit.org/show_bug.cgi?id=72894
192622
192623        Reviewed by Sam Weinig.
192624
192625        Just changes comment format, no code/test changes.
192626
192627        * Modules/gamepad/Gamepad.cpp:
192628        * Modules/gamepad/Gamepad.h:
192629        * Modules/gamepad/Gamepad.idl:
192630        * Modules/gamepad/GamepadList.cpp:
192631        * Modules/gamepad/GamepadList.h:
192632        * Modules/gamepad/GamepadList.idl:
192633
1926342011-11-21  Andreas Kling  <kling@webkit.org>
192635
192636        JSC/CSSOM: Merge root() for style declaration objects.
192637        <http://webkit.org/b/72881>
192638
192639        Reviewed by Antti Koivisto.
192640
192641        Fold root(CSSMutableStyleDeclaration*) into root(CSSStyleDeclaration*),
192642        removing a duplicated chunk and making it a little easier on the eyes.
192643
192644        * bindings/js/JSDOMBinding.h:
192645        (WebCore::root):
192646
1926472011-11-21  Igor Oliveira  <igor.oliveira@openbossa.org>
192648
192649        [WK2][Qt] Move Accelerated Composite animations to UIProcess
192650        https://bugs.webkit.org/show_bug.cgi?id=72753
192651        
192652        Add helper method to synchronize animations in TextureMapper.
192653
192654        Reviewed by Noam Rosenthal.
192655
192656        * platform/graphics/texmap/TextureMapperNode.cpp:
192657        (WebCore::TextureMapperNode::syncAnimationsRecursively):
192658        * platform/graphics/texmap/TextureMapperNode.h:
192659
1926602011-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
192661
192662        Unreviewed, rolling out r100913.
192663        http://trac.webkit.org/changeset/100913
192664        https://bugs.webkit.org/show_bug.cgi?id=72885
192665
192666        "Break Windows build" (Requested by kbalazs on #webkit).
192667
192668        * platform/graphics/filters/FEConvolveMatrix.cpp:
192669        (WebCore::FEConvolveMatrix::platformApplySoftware):
192670        * platform/graphics/filters/FEConvolveMatrix.h:
192671        * platform/graphics/filters/FEGaussianBlur.cpp:
192672        (WebCore::FEGaussianBlur::platformApply):
192673        * platform/graphics/filters/FEGaussianBlur.h:
192674        * platform/graphics/filters/FELighting.cpp:
192675        (WebCore::FELighting::platformApplyGeneric):
192676        * platform/graphics/filters/FELighting.h:
192677        * platform/graphics/filters/FEMorphology.cpp:
192678        (WebCore::FEMorphology::platformApply):
192679        * platform/graphics/filters/FEMorphology.h:
192680        * platform/graphics/filters/FETurbulence.cpp:
192681        (WebCore::FETurbulence::platformApplySoftware):
192682        * platform/graphics/filters/FETurbulence.h:
192683        * platform/graphics/filters/arm/FELightingNEON.cpp:
192684        * platform/graphics/filters/arm/FELightingNEON.h:
192685        (WebCore::FELighting::platformApplyNeon):
192686
1926872011-11-21  Balazs Kelemen  <kbalazs@webkit.org>
192688
192689        Enable ParallelJobs by default
192690        https://bugs.webkit.org/show_bug.cgi?id=70032
192691
192692        Reviewed by Zoltan Herczeg.
192693
192694        Covered by existing tests.
192695
192696        According to measurements on Mac and Linux it is a
192697        considerable speedup for SVG on multicore.
192698
192699        Remove the ENABLE(PARALLEL_JOBS) guard. Fix the Windows build
192700        by qualifying ParallelJobs with the WTF namespace (otherwise
192701        MSVC believes it belongs to WebCore which is likely a compiler bug).
192702
192703        * platform/graphics/filters/FEConvolveMatrix.cpp:
192704        (WebCore::FEConvolveMatrix::setInteriorPixelsWorker):
192705        (WebCore::FEConvolveMatrix::platformApplySoftware):
192706        * platform/graphics/filters/FEConvolveMatrix.h:
192707        * platform/graphics/filters/FEGaussianBlur.cpp:
192708        (WebCore::FEGaussianBlur::platformApplyWorker):
192709        (WebCore::FEGaussianBlur::platformApply):
192710        * platform/graphics/filters/FEGaussianBlur.h:
192711        * platform/graphics/filters/FELighting.cpp:
192712        (WebCore::FELighting::platformApplyGenericWorker):
192713        (WebCore::FELighting::platformApplyGeneric):
192714        * platform/graphics/filters/FELighting.h:
192715        * platform/graphics/filters/FEMorphology.cpp:
192716        (WebCore::FEMorphology::platformApplyWorker):
192717        (WebCore::FEMorphology::platformApply):
192718        * platform/graphics/filters/FEMorphology.h:
192719        * platform/graphics/filters/FETurbulence.cpp:
192720        (WebCore::FETurbulence::fillRegionWorker):
192721        (WebCore::FETurbulence::platformApplySoftware):
192722        * platform/graphics/filters/FETurbulence.h:
192723        * platform/graphics/filters/arm/FELightingNEON.cpp:
192724        (WebCore::FELighting::platformApplyNeonWorker):
192725        * platform/graphics/filters/arm/FELightingNEON.h:
192726        (WebCore::FELighting::platformApplyNeon):
192727
1927282011-11-21  Antti Koivisto  <antti@apple.com>
192729
192730        Remove CSSStyleSelector::m_additionalAttributeStyleDecls field
192731        https://bugs.webkit.org/show_bug.cgi?id=72876
192732
192733        Reviewed by Andreas Kling.
192734
192735        There is no reason for this temporary to be a field.
192736
192737        * css/CSSStyleSelector.cpp:
192738        (WebCore::CSSStyleSelector::matchAllRules):
192739        * css/CSSStyleSelector.h:
192740
1927412011-11-21  Pavel Feldman  <pfeldman@google.com>
192742
192743        Web Inspector: [REGRESSION] Assertion failed in ScriptsPanel.js
192744        https://bugs.webkit.org/show_bug.cgi?id=72877
192745
192746        Reviewed by Yury Semikhatsky.
192747
192748        * inspector/front-end/ScriptsPanel.js:
192749
1927502011-11-18  Pavel Feldman  <pfeldman@google.com>
192751
192752        Web Inspector: get rid of Panel::reset in the front-end.
192753        https://bugs.webkit.org/show_bug.cgi?id=72587
192754
192755        I'm slowly getting rid of the Inspector protocol domain. It currently
192756        contains methods that did not find their home in the meaningful domains.
192757        This change removes reset protocol method.
192758
192759        Reviewed by Yury Semikhatsky.
192760
192761        * inspector/Inspector.json:
192762        * inspector/InspectorAgent.cpp:
192763        (WebCore::InspectorAgent::didCommitLoad):
192764        * inspector/InspectorDebuggerAgent.cpp:
192765        (WebCore::InspectorDebuggerAgent::didClearMainFrameWindowObject):
192766        * inspector/InspectorDebuggerAgent.h:
192767        * inspector/InspectorInstrumentation.cpp:
192768        (WebCore::InspectorInstrumentation::didClearWindowObjectInWorldImpl):
192769        (WebCore::InspectorInstrumentation::didCommitLoadImpl):
192770        * inspector/front-end/ApplicationCacheModel.js:
192771        (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
192772        (WebInspector.ApplicationCacheModel.prototype._frameDetached):
192773        * inspector/front-end/DebuggerModel.js:
192774        (WebInspector.DebuggerModel.prototype._globalObjectCleared):
192775        (WebInspector.DebuggerDispatcher.prototype.globalObjectCleared):
192776        * inspector/front-end/DebuggerPresentationModel.js:
192777        (WebInspector.DebuggerPresentationModel):
192778        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
192779        * inspector/front-end/ExtensionServer.js:
192780        (WebInspector.ExtensionServer):
192781        (WebInspector.ExtensionServer.prototype._mainFrameNavigated):
192782        * inspector/front-end/JavaScriptContextManager.js:
192783        (WebInspector.JavaScriptContextManager.prototype._frameDetached):
192784        (WebInspector.FrameEvaluationContext.prototype.get frameId):
192785        * inspector/front-end/NetworkLog.js:
192786        (WebInspector.NetworkLog):
192787        (WebInspector.NetworkLog.prototype._mainFrameNavigated):
192788        * inspector/front-end/NetworkPanel.js:
192789        (WebInspector.NetworkLogView):
192790        (WebInspector.NetworkLogView.prototype._mainFrameNavigated):
192791        * inspector/front-end/ResourceTreeModel.js:
192792        (WebInspector.ResourceTreeModel.prototype._frameNavigated):
192793        (WebInspector.ResourceTreeModel.prototype._frameDetached):
192794        (WebInspector.ResourceTreeModel.prototype._clearChildFramesAndResources):
192795        * inspector/front-end/ResourcesPanel.js:
192796        (WebInspector.ResourcesPanel.prototype._reset):
192797        (WebInspector.ResourcesPanel.prototype._frameDetached):
192798        * inspector/front-end/ScriptsPanel.js:
192799        (WebInspector.ScriptsPanel.prototype._debuggerWasDisabled):
192800        (WebInspector.ScriptsPanel.prototype._reset):
192801        * inspector/front-end/WorkerManager.js:
192802        (WebInspector.WorkerManager):
192803        (WebInspector.WorkerManager.prototype._mainFrameNavigated):
192804        * inspector/front-end/inspector.js:
192805
1928062011-06-20  Pavel Feldman  <pfeldman@chromium.org>
192807
192808        Web Inspector: introduce InspectorFrontendAPI for actions initiated from the application menu.
192809        https://bugs.webkit.org/show_bug.cgi?id=62985
192810
192811        Both: inspector protocol and WebCore/InspectorController have a number of unnecessary
192812        methods for plumbing the menu action handlers through the WebKit and WebCore.
192813        I intend to remove this menu support from the protocol and WebCore/InspectorController API.
192814        I am starting with exposing the new front-end API in the WebCore and using it in the WebKit/mac port.
192815        WebKit/win and WebKit2 to follow.
192816
192817        Reviewed by Yury Semikhatsky.
192818
192819        * WebCore.exp.in:
192820        * WebCore.gypi:
192821        * WebCore.vcproj/WebCore.vcproj:
192822        * inspector/InspectorFrontendClientLocal.cpp:
192823        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
192824        (WebCore::InspectorFrontendClientLocal::frontendLoaded):
192825        (WebCore::InspectorFrontendClientLocal::setAttachedWindow):
192826        (WebCore::InspectorFrontendClientLocal::isDebuggingEnabled):
192827        (WebCore::InspectorFrontendClientLocal::setDebuggingEnabled):
192828        (WebCore::InspectorFrontendClientLocal::isJavaScriptProfilingEnabled):
192829        (WebCore::InspectorFrontendClientLocal::setJavaScriptProfilingEnabled):
192830        (WebCore::InspectorFrontendClientLocal::isTimelineProfilingEnabled):
192831        (WebCore::InspectorFrontendClientLocal::setTimelineProfilingEnabled):
192832        (WebCore::InspectorFrontendClientLocal::isProfilingJavaScript):
192833        (WebCore::InspectorFrontendClientLocal::startProfilingJavaScript):
192834        (WebCore::InspectorFrontendClientLocal::stopProfilingJavaScript):
192835        (WebCore::InspectorFrontendClientLocal::evaluateAsBoolean):
192836        (WebCore::InspectorFrontendClientLocal::evaluateOnLoad):
192837        * inspector/InspectorFrontendClientLocal.h:
192838        * inspector/front-end/InspectorFrontendAPI.js: Added.
192839        (InspectorFrontendAPI.isDebuggingEnabled):
192840        (InspectorFrontendAPI.setDebuggingEnabled):
192841        (InspectorFrontendAPI.isJavaScriptProfilingEnabled):
192842        (InspectorFrontendAPI.setJavaScriptProfilingEnabled):
192843        (InspectorFrontendAPI.isTimelineProfilingEnabled):
192844        (InspectorFrontendAPI.setTimelineProfilingEnabled):
192845        (InspectorFrontendAPI.isProfilingJavaScript):
192846        (InspectorFrontendAPI.startProfilingJavaScript):
192847        (InspectorFrontendAPI.stopProfilingJavaScript):
192848        (InspectorFrontendAPI.setAttachedWindow):
192849        * inspector/front-end/ProfileView.js:
192850        (WebInspector.CPUProfileType):
192851        (WebInspector.CPUProfileType.prototype.isRecordingProfile):
192852        (WebInspector.CPUProfileType.prototype.startRecordingProfile):
192853        (WebInspector.CPUProfileType.prototype.stopRecordingProfile):
192854        * inspector/front-end/ProfilesPanel.js:
192855        (WebInspector.ProfilesPanel.prototype.get profilerEnabled):
192856        (WebInspector.ProfilesPanel.prototype.enableProfiler):
192857        (WebInspector.ProfilesPanel.prototype.disableProfiler):
192858        * inspector/front-end/ScriptsPanel.js:
192859        (WebInspector.ScriptsPanel):
192860        (WebInspector.ScriptsPanel.prototype.get debuggingEnabled):
192861        (WebInspector.ScriptsPanel.prototype.enableDebugging):
192862        (WebInspector.ScriptsPanel.prototype.disableDebugging):
192863        (WebInspector.ScriptsPanel.prototype.toggleDebugging):
192864        * inspector/front-end/TimelinePanel.js:
192865        (WebInspector.TimelinePanel.prototype._memoryOverviewItemSelected):
192866        (WebInspector.TimelinePanel.prototype.setTimelineProfilingEnabled):
192867        (WebInspector.TimelinePanel.prototype.get timelineProfilingEnabled):
192868        * inspector/front-end/WebKit.qrc:
192869        * inspector/front-end/inspector.html:
192870        * inspector/front-end/inspector.js:
192871
1928722011-11-18  Alexander Pavlov  <apavlov@chromium.org>
192873
192874        Web Inspector: [Protocol] Retain a single universal method for loading a required combination of element styles
192875        https://bugs.webkit.org/show_bug.cgi?id=72701
192876
192877        Reviewed by Pavel Feldman.
192878
192879        * inspector/Inspector.json:
192880        * inspector/InspectorCSSAgent.cpp:
192881        (WebCore::InspectorCSSAgent::getMatchedStylesForNode):
192882        (WebCore::InspectorCSSAgent::getInlineStylesForNode):
192883        (WebCore::InspectorCSSAgent::getComputedStyleForNode):
192884        * inspector/InspectorCSSAgent.h:
192885        * inspector/front-end/AuditRules.js:
192886        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun):
192887        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles.inlineCallback):
192888        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles.matchedCallback):
192889        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
192890        * inspector/front-end/CSSStyleModel.js:
192891        (WebInspector.CSSStyleModel.prototype.getMatchedStylesAsync):
192892        (WebInspector.CSSStyleModel.prototype.getComputedStyleAsync):
192893        (WebInspector.CSSStyleModel.prototype.getInlineStylesAsync):
192894        * inspector/front-end/MetricsSidebarPane.js:
192895        (WebInspector.MetricsSidebarPane.prototype._innerUpdate):
192896        * inspector/front-end/StylesSidebarPane.js:
192897        (WebInspector.StylesSidebarPane.prototype.get forcedPseudoClasses):
192898        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate):
192899        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.inlineCallback):
192900        (WebInspector.StylesSidebarPane.prototype._executeRebuildUpdate.computedCallback):
192901        (WebInspector.StylesSidebarPane.prototype._innerUpdate):
192902
1929032011-11-21  Sheriff Bot  <webkit.review.bot@gmail.com>
192904
192905        Unreviewed, rolling out r100856.
192906        http://trac.webkit.org/changeset/100856
192907        https://bugs.webkit.org/show_bug.cgi?id=72867
192908
192909        New test fast/css/style-tag-display-none.html fails on
192910        Chromium (Requested by steveblock on #webkit).
192911
192912        * css/CSSStyleSelector.cpp:
192913        (WebCore::CSSStyleSelector::matchUARules):
192914
1929152011-11-21  Jochen Eisinger  <jochen@chromium.org>
192916
192917        Implement Meta referrer
192918        https://bugs.webkit.org/show_bug.cgi?id=72674
192919
192920        Reviewed by Adam Barth.
192921
192922        http://wiki.whatwg.org/wiki/Meta_referrer
192923
192924        Tests: http/tests/security/referrer-policy-always.html
192925               http/tests/security/referrer-policy-default.html
192926               http/tests/security/referrer-policy-https-always.html
192927               http/tests/security/referrer-policy-https-default.html
192928               http/tests/security/referrer-policy-https-never.html
192929               http/tests/security/referrer-policy-https-origin.html
192930               http/tests/security/referrer-policy-never.html
192931               http/tests/security/referrer-policy-origin.html
192932               http/tests/security/referrer-policy-redirect.html
192933               http/tests/security/referrer-policy-rel-noreferrer.html
192934
192935        * WebCore.exp.in: updated
192936        * dom/Document.cpp:
192937        (WebCore::Document::Document):
192938        (WebCore::Document::processReferrerPolicy):
192939        * dom/Document.h:
192940        (WebCore::Document::referrerPolicy):
192941        * html/HTMLAnchorElement.cpp:
192942        (WebCore::HTMLAnchorElement::handleClick):
192943        * html/HTMLMetaElement.cpp:
192944        (WebCore::HTMLMetaElement::process):
192945        * loader/FrameLoader.cpp:
192946        (WebCore::FrameLoader::loadFrameRequest):
192947        (WebCore::FrameLoader::loadResourceSynchronously):
192948        * loader/PingLoader.cpp:
192949        (WebCore::PingLoader::loadImage):
192950        (WebCore::PingLoader::sendPing):
192951        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
192952        * loader/SubframeLoader.cpp:
192953        (WebCore::SubframeLoader::loadSubframe):
192954        * loader/SubresourceLoader.cpp:
192955        (WebCore::SubresourceLoader::create):
192956        * page/SecurityPolicy.cpp:
192957        (WebCore::SecurityPolicy::generateReferrerHeader):
192958        * page/SecurityPolicy.h:
192959
1929602011-11-21  Vsevolod Vlasov  <vsevik@chromium.org>
192961
192962        Web Inspector: ApplicationCache view should show navigator.onLine indicator.
192963        https://bugs.webkit.org/show_bug.cgi?id=72618
192964
192965        Reviewed by Pavel Feldman.
192966
192967        * inspector/InspectorApplicationCacheAgent.cpp:
192968        (WebCore::InspectorApplicationCacheAgent::enable):
192969        * inspector/front-end/ApplicationCacheItemsView.js:
192970        (WebInspector.ApplicationCacheItemsView):
192971        (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
192972        * inspector/front-end/ApplicationCacheModel.js:
192973        (WebInspector.ApplicationCacheModel):
192974        (WebInspector.ApplicationCacheModel.prototype.get onLine):
192975        (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
192976        * inspector/front-end/ResourcesPanel.js:
192977        (WebInspector.ResourcesPanel.prototype.showApplicationCache):
192978        (WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
192979
1929802011-11-21  Carlos Garcia Campos  <cgarcia@igalia.com>
192981
192982        Unreviewed. Fix make distcheck build.
192983
192984        * GNUmakefile.list.am:
192985
1929862011-11-21  Dominic Mazzoni  <dmazzoni@google.com>
192987
192988        Accessibility: Multiselect list boxes need to report the active option in addition to which items are selected.
192989        https://bugs.webkit.org/show_bug.cgi?id=72479
192990
192991        Reviewed by Chris Fleizach.
192992
192993        Test: accessibility/multiselect-list-reports-active-option.html
192994
192995        * accessibility/AccessibilityListBoxOption.cpp:
192996        (WebCore::AccessibilityListBoxOption::isSelectedOptionActive):
192997        * accessibility/AccessibilityListBoxOption.h:
192998        * accessibility/AccessibilityObject.h:
192999        (WebCore::AccessibilityObject::isSelectedOptionActive):
193000
1930012011-11-21  Yuta Kitamura  <yutak@chromium.org>
193002
193003        [Qt] WebSocket close tests are failing
193004        https://bugs.webkit.org/show_bug.cgi?id=72865
193005
193006        Reviewed by Simon Hausmann.
193007
193008        * platform/network/qt/SocketStreamHandleQt.cpp:
193009        (WebCore::SocketStreamHandlePrivate::close):
193010        Emit didCloseSocketStream() callback even before the connection is established.
193011        Call m_socket->abort() to prevent "connected" signal from firing.
193012
1930132011-11-21  Shinya Kawanaka  <shinyak@google.com>
193014
193015        Refactoring: SpellChecker::requestCheckingFor should take Range instead of Node.
193016        https://bugs.webkit.org/show_bug.cgi?id=72847
193017
193018        Reviewed by Hajime Morita.
193019
193020        Covered by existing test.
193021
193022        * editing/Editor.cpp:
193023        (WebCore::Editor::replaceSelectionWithFragment):
193024          Passes Range to requestCheckingFor instead of Node.
193025        * editing/SpellChecker.cpp:
193026          Changed argument type from Node to Range.
193027          The corresponding changes are also done in dependent methods.
193028        (WebCore::SpellChecker::initRequest):
193029        (WebCore::SpellChecker::clearRequest):
193030        (WebCore::SpellChecker::canCheckAsynchronously):
193031        (WebCore::SpellChecker::isBusy):
193032        (WebCore::SpellChecker::isValid):
193033        (WebCore::SpellChecker::isCheckable):
193034        (WebCore::SpellChecker::requestCheckingFor):
193035          Changed argument type from Node to Range.
193036        (WebCore::SpellChecker::doRequestCheckingFor):
193037        (WebCore::SpellChecker::didCheck):
193038        * editing/SpellChecker.h:
193039
1930402011-11-20  Kenichi Ishibashi  <bashi@chromium.org>
193041
193042        [Chromium] Remove old getFontFamilyForCharacters() and familyForChars() APIs.
193043        https://bugs.webkit.org/show_bug.cgi?id=72844
193044
193045        Respects bold and italic properties that is given by fontconfig.
193046
193047        Reviewed by Darin Fisher.
193048
193049        * platform/graphics/chromium/FontCacheLinux.cpp:
193050        (WebCore::FontCache::getFontDataForCharacters): Removed #if and old logic.
193051
1930522011-11-20  Noel Gordon  <noel.gordon@gmail.com>
193053
193054        [chromium] Remove qt/QtMobileWebStyle from the gyp projects
193055        https://bugs.webkit.org/show_bug.cgi?id=72843
193056
193057        Reviewed by Antonio Gomes.
193058
193059        platform/qt/QtMobileWebStyle.{h,cpp} were removed in r100123
193060
193061        * WebCore.gypi: remove platform/qt/QtMobileWebStyle.{h,cpp}
193062
1930632011-11-20  Kentaro Hara  <haraken@chromium.org>
193064
193065        Unreviewed. Rebaselined run-bindings-tests results.
193066
193067        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp:
193068        (WebDOMFloat64Array::WebDOMFloat64Array):
193069        (WebDOMFloat64Array::impl):
193070        (toWebCore):
193071        (toWebKit):
193072        * bindings/scripts/test/CPP/WebDOMFloat64Array.h:
193073
1930742011-11-20  Adam Barth  <abarth@webkit.org>
193075
193076        REGRESSION(r100691): Safari error pages and Growl notifications fail to load stylesheets
193077        https://bugs.webkit.org/show_bug.cgi?id=72836
193078
193079        Reviewed by Sam Weinig.
193080
193081        This patch removes a (minor) security mitigation.  Previously, we tried
193082        sequester "directory listings" into unique origins to make it more
193083        difficult for an attacker to crawl the user's local file system.
193084        Unfortunately, this mitigation doesn't really buy us much security
193085        because if the attacker has access to local files, we've probably lost
193086        anyway.
193087
193088        The larger problem, however, is that this condition is overly
193089        complicated and has broken in sublte ways several times in its
193090        (relatively short) lifetime.  In the cases reported in this bug, we see
193091        that this check affects error pages in Safari and Growl notifications,
193092        even those have nothing to do with directory listings.
193093
193094        If we have our heart set on this directory listing mitigation, we'll
193095        need a more robust way of triggering the behavior than examining URLs
193096        and guess whether they contain directory listings.  For example, if we
193097        implement Allow-From or Access-Control-Deny-Origin, then the embedder
193098        can supply those policies along with the directory listings.  Those
193099        seem like much better solutions than the in-engine hack this patch
193100        removes.
193101
193102        * page/SecurityOrigin.cpp:
193103        (WebCore::shouldTreatAsUniqueOrigin):
193104
1931052011-10-17  Antonio Gomes  <agomes@rim.com>
193106
193107        Pass a Frame* parameter in EditorClient::respondToChangedSelection
193108        https://bugs.webkit.org/show_bug.cgi?id=70248
193109
193110        Reviewed by Ryosuke Niwa.
193111
193112        Most of the port specific implementations of EditorClient::respondToChangedSelection
193113        (like EditorClient{Qt,Gtk,etc}) are wrongly relying on FocusController::focusedOrMainFrame
193114        method to get the Frame where the selection is happening on.
193115        It is not right, since a selection can be easily triggered in an inner
193116        frame that is not focused.
193117
193118        No new tests since it is a hard thing to test without
193119        to hook into editor client in layout tests. We could
193120        change the "Dumped Delegate" messages, but it would
193121        require a rebasile of +1200 for a minor change.
193122
193123        * editing/Editor.cpp: Pass the Frame on where the selection is changing to the client.
193124        (WebCore::Editor::respondToChangedSelection): Ditto.
193125        (WebCore::Editor::changeSelectionAfterCommand): Ditto.
193126        (WebCore::EmptyEditorClient::respondToChangedSelection):
193127        * page/EditorClient.h:  Pass Frame* to indicate where the selection is happening.
193128        * loader/EmptyClients.h: Changed signature as per base class change.
193129
1931302011-11-17  Mark Rowe  <mrowe@apple.com>
193131
193132        <http://webkit.org/b/72646> Disable deprecation warnings around code where we cannot easily
193133        switch away from the deprecated APIs.
193134
193135        Reviewed by Sam Weinig.
193136
193137        * platform/mac/WebCoreNSStringExtras.mm:
193138        * platform/network/cf/SocketStreamHandleCFNet.cpp:
193139        (WebCore::SocketStreamHandle::reportErrorToClient):
193140
1931412011-11-19  Kevin Ollivier  <kevino@theolliviers.com>
193142
193143        [wx] C++ bindings build fix for move of array classes to WTF.
193144        
193145        * bindings/scripts/CodeGeneratorCPP.pm:
193146        (GetCPPTypeGetter):
193147        (GetNamespaceForClass):
193148        (GenerateHeader):
193149        (GenerateImplementation):
193150
1931512011-11-19  Scott Graham  <scottmg@chromium.org>
193152
193153        Move gamepad to Modules/ (+ some cleanup)
193154        https://bugs.webkit.org/show_bug.cgi?id=72785
193155
193156        Reviewed by Adam Barth.
193157
193158        Move main files from page/ to Modules/gamepad/. #include guard the
193159        gamepad header inclusions in Navigator.cpp to avoid including for
193160        ports that do not enable GAMEPAD.
193161
193162        * Modules/gamepad/Gamepad.cpp: Renamed from Source/WebCore/page/Gamepad.cpp.
193163        (WebCore::Gamepad::Gamepad):
193164        (WebCore::Gamepad::axes):
193165        (WebCore::Gamepad::buttons):
193166        (WebCore::Gamepad::~Gamepad):
193167        * Modules/gamepad/Gamepad.h: Renamed from Source/WebCore/page/Gamepad.h.
193168        * Modules/gamepad/Gamepad.idl: Renamed from Source/WebCore/page/Gamepad.idl.
193169        * Modules/gamepad/GamepadList.cpp: Renamed from Source/WebCore/page/GamepadList.cpp.
193170        (WebCore::GamepadList::~GamepadList):
193171        (WebCore::GamepadList::set):
193172        (WebCore::GamepadList::length):
193173        (WebCore::GamepadList::item):
193174        * Modules/gamepad/GamepadList.h: Renamed from Source/WebCore/page/GamepadList.h.
193175        (WebCore::GamepadList::create):
193176        (WebCore::GamepadList::GamepadList):
193177        * Modules/gamepad/GamepadList.idl: Renamed from Source/WebCore/page/GamepadList.idl.
193178        * WebCore.gyp/WebCore.gyp:
193179        * WebCore.gypi:
193180        * page/Navigator.cpp:
193181
1931822011-11-19  Sheriff Bot  <webkit.review.bot@gmail.com>
193183
193184        Unreviewed, rolling out r100834.
193185        http://trac.webkit.org/changeset/100834
193186        https://bugs.webkit.org/show_bug.cgi?id=72806
193187
193188        this patch makes Qt run-webkit-test exit before finishing
193189        (Requested by igoroliveira on #webkit).
193190
193191        * platform/graphics/texmap/TextureMapperNode.cpp:
193192        * platform/graphics/texmap/TextureMapperNode.h:
193193
1931942011-11-19  Huang Dongsung  <luxtella@company100.net>
193195
193196        Remove WebCore/ForwardingHeaders/runtime/JSObjectWithGlobalObject.h because
193197        JSObjectWithGlobalObject.h has been removed.
193198        https://bugs.webkit.org/show_bug.cgi?id=72794
193199
193200        r94701 removed JSObjectWithGlobalObject.h.
193201
193202        Reviewed by Oliver Hunt.
193203
193204        * ForwardingHeaders/runtime/JSObjectWithGlobalObject.h: Removed.
193205
1932062011-11-19  Vsevolod Vlasov  <vsevik@chromium.org>
193207
193208        Web Inspector:[protocol] actual JSON messages do not conform to Inspector.json in InspectorApplicationCacheAgent.cpp
193209        https://bugs.webkit.org/show_bug.cgi?id=72734
193210
193211        Reviewed by Timothy Hatcher.
193212
193213        * inspector/Inspector.json:
193214
1932152011-11-19  David Barr  <davidbarr@chromium.org>
193216
193217        REGRESSION(r98542): Chromium: CSS text is rendered on page
193218        https://bugs.webkit.org/show_bug.cgi?id=71703
193219
193220        Reviewed by Antti Koivisto.
193221
193222        Matched UA declarations uncacheable when using simpleDefaultStyleSheet.
193223
193224        Test: fast/css/style-tag-display-none.html
193225
193226        * css/CSSStyleSelector.cpp:
193227        (WebCore::CSSStyleSelector::matchUARules):
193228
1932292011-11-19  Jay Civelli  <jcivelli@chromium.org>
193230
193231        When loading a MHTML document, make sure we set the base URL before
193232        we notify the frame was committed (so the document has the right base
193233        URL when the notification happens). 
193234        https://bugs.webkit.org/show_bug.cgi?id=72788
193235
193236        Reviewed by Adam Barth.
193237
193238        * loader/FrameLoader.cpp:
193239        (WebCore::FrameLoader::receivedFirstData):
193240
1932412011-11-19  Adam Barth  <abarth@webkit.org>
193242
193243        Integrate Source/WTF with the Chromium build system
193244        https://bugs.webkit.org/show_bug.cgi?id=72790
193245
193246        Reviewed by Eric Seidel.
193247
193248        Add a dependency on the new WTF.
193249
193250        * WebCore.gyp/WebCore.gyp:
193251
1932522011-11-18  Takashi Toyoshima  <toyoshim@chromium.org>
193253
193254        [Chromium] [WebSocket] export WebSocketChannel interface for plugins
193255        https://bugs.webkit.org/show_bug.cgi?id=72016
193256
193257        Reviewed by Darin Fisher.
193258
193259        Add a interface to send raw binary data.
193260        This interface is used by WebWebSocketChannel implementation
193261        in WebKit API.
193262
193263        No new tests because just export a interface.
193264
193265        * websockets/WebSocketChannel.cpp:
193266        (WebCore::WebSocketChannel::send):
193267        * websockets/WebSocketChannel.h:
193268
1932692011-11-18  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
193270
193271        https://bugs.webkit.org/show_bug.cgi?id=72591
193272        Remove document.width / document.height
193273
193274        Reviewed by Darin Adler.
193275
193276        Removed document.width/document.height from JS bindings,
193277        but keeping the same for ObjC bindings. Also it should use
193278        document.body.clientWidth and document.body.clientHeight instead.
193279
193280        * html/HTMLDocument.idl:
193281
1932822011-11-18  Martin Robinson  <mrobinson@igalia.com>
193283
193284        Fix the GTK+ build.
193285
193286        * page/Navigator.idl: Properly disable the webkitGamepads API if gamepad
193287        isn't enabled at compile time.
193288
1932892011-11-18  Daniel Bates  <dbates@rim.com>
193290
193291        Add CMake build infrastructure for the BlackBerry port
193292        https://bugs.webkit.org/show_bug.cgi?id=72768
193293
193294        Reviewed by Antonio Gomes.
193295
193296        * CMakeLists.txt: At this time the BlackBerry port doesn't support generating
193297          DOM bindings from the SVG IDLs. See WebKit bug #72773.
193298        * PlatformBlackBerry.cmake: Added.
193299
1933002011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
193301
193302        Unreviewed, rolling out r100826.
193303        http://trac.webkit.org/changeset/100826
193304        https://bugs.webkit.org/show_bug.cgi?id=72786
193305
193306        Broke Chromium Mac build (Requested by aklein on #webkit).
193307
193308        * page/ChromeClient.h:
193309        * page/FrameView.cpp:
193310        * page/FrameView.h:
193311        * platform/ScrollView.cpp:
193312        (WebCore::ScrollView::wheelEvent):
193313        * platform/ScrollView.h:
193314        * platform/ScrollableArea.h:
193315        (WebCore::ScrollableArea::scrollbarStyleChanged):
193316        * platform/mac/ScrollAnimatorMac.mm:
193317        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
193318
1933192011-11-18  Alpha Lam  <hclam@chromium.org>
193320
193321        [chromium] composited layers are blurry with a zoom-in page scale factor
193322        https://bugs.webkit.org/show_bug.cgi?id=71225
193323
193324        Reviewed by James Robinson.
193325
193326        Pass contents scale factor to the compositor such that it can:
193327        1. Adjust contentBounds() of the compositoer layers with content scale.
193328        2. Apply the content scale in the painter for texture update in better resolution.
193329        3. Apply the content scale to the dirty rect in CanvasLayerTextureUpdater.
193330
193331        This change fixed blurry problem for all tiled layer types and is not limited to
193332        position:fixed layers.
193333
193334        Tests: compositing/geometry/fixed-position-composited-page-scale-down.html
193335               compositing/geometry/fixed-position-composited-page-scale.html
193336               compositing/geometry/fixed-position-iframe-composited-page-scale-down.html
193337               compositing/geometry/fixed-position-iframe-composited-page-scale.html
193338               compositing/geometry/fixed-position-transform-composited-page-scale-down.html
193339               compositing/geometry/fixed-position-transform-composited-page-scale.html
193340
193341        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
193342        (WebCore::GraphicsLayerChromium::setTransform):
193343        (WebCore::GraphicsLayerChromium::updateLayerPreserves3D):
193344        (WebCore::GraphicsLayerChromium::updateContentsScale):
193345        (WebCore::GraphicsLayerChromium::contentsScale):
193346        (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
193347        * platform/graphics/chromium/GraphicsLayerChromium.h:
193348        * platform/graphics/chromium/ImageLayerChromium.cpp:
193349        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
193350        (WebCore::ImageLayerChromium::needsContentsScale):
193351        * platform/graphics/chromium/ImageLayerChromium.h:
193352        * platform/graphics/chromium/LayerChromium.cpp:
193353        (WebCore::LayerChromium::LayerChromium):
193354        (WebCore::LayerChromium::setContentsScale):
193355        * platform/graphics/chromium/LayerChromium.h:
193356        (WebCore::LayerChromium::needsContentsScale):
193357        (WebCore::LayerChromium::contentsScale):
193358        * platform/graphics/chromium/LayerTextureUpdater.h:
193359        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
193360        (WebCore::LayerTextureUpdaterCanvas::paintContents):
193361        (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
193362        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
193363        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
193364        * platform/graphics/chromium/TiledLayerChromium.cpp:
193365        (WebCore::TiledLayerChromium::needsContentsScale):
193366        (WebCore::TiledLayerChromium::contentBounds):
193367        (WebCore::TiledLayerChromium::prepareToUpdate):
193368        * platform/graphics/chromium/TiledLayerChromium.h:
193369
1933702011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>
193371
193372        [WK2][Qt] Move Accelerated Composite animations to UIProcess
193373        https://bugs.webkit.org/show_bug.cgi?id=72753
193374
193375        Add helper method to synchronize animations in TextureMapper.
193376
193377        Reviewed by Noam Rosenthal.
193378
193379        * platform/graphics/texmap/TextureMapperNode.cpp:
193380        (WebCore::TextureMapperNode::syncAnimationsRecursively):
193381        * platform/graphics/texmap/TextureMapperNode.h:
193382
1933832011-11-18  Scott Graham  <scottmg@chromium.org>
193384
193385        IDL changes for gamepad support
193386        https://bugs.webkit.org/show_bug.cgi?id=71753
193387
193388        Reviewed by Adam Barth.
193389
193390        IDL changes and associated plumbing to expose list of gamepad objects
193391        on navigator object (per current spec). Full patch is
193392        https://bugs.webkit.org/show_bug.cgi?id=69451. Only basic existence
193393        test until more plumbing in future patches.
193394
193395        Test: gamepad/gamepad-api.html
193396
193397        * WebCore.gypi:
193398        * bindings/generic/RuntimeEnabledFeatures.h:
193399        (WebCore::RuntimeEnabledFeatures::setWebkitGamepadsEnabled):
193400        (WebCore::RuntimeEnabledFeatures::webkitGamepadsEnabled):
193401        * page/Gamepad.cpp: Added.
193402        (WebCore::Gamepad::Gamepad):
193403        (WebCore::Gamepad::axes):
193404        (WebCore::Gamepad::buttons):
193405        (WebCore::Gamepad::~Gamepad):
193406        * page/Gamepad.h: Added.
193407        * page/Gamepad.idl: Added.
193408        * page/GamepadList.cpp: Added.
193409        (WebCore::GamepadList::~GamepadList):
193410        (WebCore::GamepadList::set):
193411        (WebCore::GamepadList::length):
193412        (WebCore::GamepadList::item):
193413        * page/GamepadList.h: Added.
193414        (WebCore::GamepadList::create):
193415        (WebCore::GamepadList::GamepadList):
193416        * page/GamepadList.idl: Added.
193417        * page/Navigator.cpp:
193418        (WebCore::Navigator::webkitGamepads):
193419        * page/Navigator.h:
193420        * page/Navigator.idl:
193421
1934222011-11-18  Sheriff Bot  <webkit.review.bot@gmail.com>
193423
193424        Unreviewed, rolling out r100693.
193425        http://trac.webkit.org/changeset/100693
193426        https://bugs.webkit.org/show_bug.cgi?id=72779
193427
193428        This patch caused a rendering regression (see bug 72770)
193429        (Requested by philip__ on #webkit).
193430
193431        * rendering/RenderObject.cpp:
193432        (WebCore::RenderObject::setStyle):
193433        * rendering/style/RenderStyle.cpp:
193434        (WebCore::RenderStyle::diff):
193435
1934362011-11-18  Simon Fraser  <simon.fraser@apple.com>
193437
193438        Reflection on composited element doesn't update if the element changes to show no content
193439        https://bugs.webkit.org/show_bug.cgi?id=72774
193440
193441        Reviewed by Chris Marrin.
193442        
193443        When a style change results in a reflected element losing its backing store,
193444        we need to clear the backing stores on the layer clones as well.
193445
193446        Test: compositing/reflections/become-simple-composited-reflection.html
193447
193448        * platform/graphics/ca/GraphicsLayerCA.cpp:
193449        (WebCore::GraphicsLayerCA::updateLayerDrawsContent):
193450
1934512011-11-18  Daniel Cheng  <dcheng@chromium.org>
193452
193453        [chromium] Use correct backing store for ChromiumDataObject in pasteboard writes.
193454        https://bugs.webkit.org/show_bug.cgi?id=72767
193455
193456        Reviewed by Tony Chang.
193457
193458        Covered by existing tests.
193459
193460        * editing/chromium/EditorChromium.cpp:
193461        (WebCore::Editor::newGeneralClipboard):
193462        * page/chromium/EventHandlerChromium.cpp:
193463        (WebCore::EventHandler::createDraggingClipboard):
193464        * platform/chromium/ChromiumDataObject.cpp:
193465        (WebCore::ChromiumDataObject::types):
193466        (WebCore::ChromiumDataObject::getData):
193467        (WebCore::ChromiumDataObject::containsFilenames):
193468        (WebCore::ChromiumDataObject::ChromiumDataObject):
193469        * platform/chromium/ChromiumDataObject.h:
193470        (WebCore::ChromiumDataObject::createFromPasteboard):
193471        (WebCore::ChromiumDataObject::create):
193472        (WebCore::ChromiumDataObject::storageMode):
193473        * platform/chromium/ClipboardChromium.cpp:
193474        (WebCore::ClipboardChromium::hasData):
193475
1934762011-11-18  Chris Evans  <cevans@google.com>
193477
193478        Crash with ranges across a detached, reparented node tree
193479        https://bugs.webkit.org/show_bug.cgi?id=72757
193480
193481        Reviewed by Adam Barth.
193482
193483        Test: fast/dom/move-detached-child-in-range.html
193484
193485        * dom/RangeBoundaryPoint.h:
193486        (WebCore::RangeBoundaryPoint::childBefore): protect the raw child node from getting pulled from under us.
193487
1934882011-11-18  Beth Dakin  <bdakin@apple.com>
193489
193490        https://bugs.webkit.org/show_bug.cgi?id=72551
193491        When the recommended scrollbar style changes, WKView's tracking options should 
193492        adjust accordingly
193493        -and corresponding-
193494        <rdar://problem/10409328>
193495
193496        Reviewed by Darin Adler.
193497
193498        This new ChromeClient function is called when the recommended scrollbar style 
193499        changes. This way, WebKit can respond to the change by adjusting its mouse 
193500        tracking.
193501        * page/ChromeClient.h:
193502        (WebCore::ChromeClient::recommendedScrollbarStyleDidChange):
193503
193504        Existing ScrollableArea function scrollbarStyleChanged() now takes an int 
193505        indicating the new scrollbar style and a bool indicating whether it is necessary 
193506        to force an update. It used to be the case that this function was ONLY used to 
193507        force an update (and only called when an updated was needed), but now that it must 
193508        also call into the ChromeClient, it is necessary to include a bool tracking 
193509        whether we need to force an update. New implementation on FrameView is responsible 
193510        for calling ChromeClient, and then that calls into the pre-existing ScrollView 
193511        function for the forceUpdate part.
193512        * page/FrameView.cpp:
193513        (WebCore::FrameView::scrollbarStyleChanged):
193514        * page/FrameView.h:
193515        * platform/ScrollView.cpp:
193516        (WebCore::ScrollView:: scrollbarStyleChanged):
193517        * platform/ScrollView.h:
193518        * platform/ScrollableArea.h:
193519        (WebCore::ScrollableArea::scrollbarStyleChanged):
193520        * platform/mac/ScrollAnimatorMac.mm:
193521        (WebCore::ScrollAnimatorMac::updateScrollerStyle):
193522
1935232011-11-18  Kelly Norton  <knorton@google.com>
193524
193525        Fixes several more void functions in RenderObject that return values.
193526        https://bugs.webkit.org/show_bug.cgi?id=72750
193527
193528        Reviewed by Adam Barth.
193529
193530        * rendering/RenderBlock.cpp:
193531        (WebCore::RenderBlock::updateBeforeAfterContent):
193532        (WebCore::RenderBlock::addChildToContinuation):
193533        (WebCore::RenderBlock::addChildToAnonymousColumnBlocks):
193534        (WebCore::RenderBlock::addChild):
193535        (WebCore::RenderBlock::addChildIgnoringContinuation):
193536
1935372011-11-18  Shawn Singh  <shawnsingh@chromium.org>
193538
193539        [chromium] Add some useful text to existing debug dump
193540        https://bugs.webkit.org/show_bug.cgi?id=72576
193541
193542        Reviewed by James Robinson.
193543
193544        No new tests needed.
193545
193546        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
193547        (WebCore::CCLayerImpl::dumpLayerProperties):
193548        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
193549        (WebCore::CCRenderSurface::dumpSurface):
193550
1935512011-11-18  Xiaomei Ji  <xji@chromium.org>
193552
193553        REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
193554        https://bugs.webkit.org/show_bug.cgi?id=70395
193555
193556        Reviewed by Tony Chang.
193557
193558        This patch fixes the problem in Mac and Chromium Mac.
193559   
193560        The existing test fast/dom/rtl-scroll-to-leftmost-and-resize.html seems does not really work in Mac DRT
193561        (the browswer window is not resized). It works in Chromium-Mac. And Chromium-Mac's code
193562        is forked from Mac.
193563
193564        * platform/chromium/ScrollAnimatorChromiumMac.mm:
193565        (WebCore::ScrollAnimatorChromiumMac::immediateScrollToPoint):
193566        * platform/mac/ScrollAnimatorMac.mm:
193567        (WebCore::ScrollAnimatorMac::immediateScrollToPoint):
193568
1935692011-11-18  Martin Robinson  <mrobinson@igalia.com>
193570
193571        REGRESSION (r99924): broke 2 pasteboard tests on GTK
193572        https://bugs.webkit.org/show_bug.cgi?id=72131
193573
193574        Reviewed by Tony Chang.
193575
193576        * platform/gtk/ClipboardGtk.cpp:
193577        (WebCore::ClipboardGtk::clearData): Call clearAll now.
193578        (WebCore::ClipboardGtk::clearAllData): Call clearAllExceptFilenames now.
193579        * platform/gtk/DataObjectGtk.cpp:
193580        (WebCore::DataObjectGtk::clearAllExceptFilenames): Renamed from clear.
193581        (WebCore::DataObjectGtk::clearAll): Added this method which also clear filenames.
193582        * platform/gtk/DataObjectGtk.h:
193583        * platform/gtk/PasteboardGtk.cpp: Call clear before setting new clipboard data.
193584        (WebCore::Pasteboard::writeSelection): Ditto.
193585        (WebCore::Pasteboard::writePlainText): Ditto.
193586        (WebCore::Pasteboard::writeURL): Ditto.
193587        (WebCore::Pasteboard::writeImage): Ditto.
193588        * platform/gtk/PasteboardHelper.cpp:
193589        (WebCore::clearClipboardContentsCallback): Use the clearAll method now.
193590
1935912011-11-18  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
193592
193593        Access key should work on all elements.
193594        https://bugs.webkit.org/show_bug.cgi?id=71854
193595
193596        Reviewed by Ryosuke Niwa.
193597
193598        All HTML elements can have the accesskey content attribute set.
193599        Specification http://dev.w3.org/html5/spec/Overview.html#the-accesskey-attribute
193600        Adding "accessKey" attribute to HTMLElement.idl file as [Reflect].
193601
193602        Test: fast/forms/access-key-for-all-elements.html
193603
193604        * bindings/objc/PublicDOMInterfaces.h: Moved properties form subclass to base class.
193605        * html/BaseButtonInputType.cpp: 
193606        (WebCore::BaseButtonInputType::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
193607        * html/BaseButtonInputType.h: Ditto
193608        * html/BaseCheckableInputType.cpp:
193609        (WebCore::BaseCheckableInputType::accessKeyAction): Ditto
193610        * html/BaseCheckableInputType.h: Ditto
193611        * html/HTMLAnchorElement.cpp:
193612        (WebCore::HTMLAnchorElement::accessKeyAction): Ditto
193613        * html/HTMLAnchorElement.h: Ditto
193614        * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
193615        * html/HTMLAreaElement.idl: Removed redundant IDL attribute entries.
193616        * html/HTMLButtonElement.cpp:
193617        (WebCore::HTMLButtonElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
193618        * html/HTMLButtonElement.h: Ditto
193619        * html/HTMLButtonElement.idl: Removed redundant IDL attribute entries.
193620        * html/HTMLElement.cpp:
193621        (WebCore::HTMLElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
193622        If the element does not have a defined activation behavior, fire a click event at the element.
193623        * html/HTMLElement.h: Ditto
193624        * html/HTMLElement.idl: Added accessKey IDL attribute.
193625        * html/HTMLInputElement.cpp:
193626        (WebCore::HTMLInputElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
193627        * html/HTMLInputElement.h: Ditto
193628        * html/HTMLInputElement.idl: Removed redundant IDL attribute entries.
193629        * html/HTMLLabelElement.cpp:
193630        (WebCore::HTMLLabelElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
193631        * html/HTMLLabelElement.h: Ditto
193632        * html/HTMLLabelElement.idl: Removed redundant IDL attribute entries.
193633        * html/HTMLLegendElement.cpp:
193634        (WebCore::HTMLLegendElement::accessKeyAction): Renamed variable sendToAnyElement to sendMouseEvents.
193635        * html/HTMLLegendElement.h: Ditto
193636        * html/HTMLLegendElement.idl: Removed redundant IDL attribute entries.
193637        * html/HTMLOptGroupElement.h: Renamed variable sendToAnyElement to sendMouseEvents.
193638        * html/HTMLSelectElement.cpp:
193639        (WebCore::HTMLSelectElement::accessKeyAction): Ditto
193640        * html/HTMLSelectElement.h: Ditto
193641        * html/HTMLTextAreaElement.h: Ditto
193642        * html/HTMLTextAreaElement.idl: Removed redundant IDL attribute entries.
193643        * html/HiddenInputType.h: Renamed variable sendToAnyElement to sendMouseEvents.
193644        * html/InputType.h: Ditto
193645        * html/RangeInputType.cpp:
193646        (WebCore::RangeInputType::accessKeyAction): Ditto
193647        * html/RangeInputType.h: Ditto
193648
1936492011-11-18  Simon Fraser  <simon.fraser@apple.com>
193650
193651        Appearance of compound transform animations under apps linked on SnowLeopard is incorrect
193652        https://bugs.webkit.org/show_bug.cgi?id=72641
193653        and
193654        <rdar://problem/10314267>
193655
193656        Reviewed by Dean Jackson.
193657
193658        GraphicsLayerCA contains a "linked on or after" check to account for a bug in
193659        Core Animation on SnowLeopard and earlier, which is that CA would apply the list
193660        of animations in reverse order.
193661        
193662        Our previous fix was incorrect, because it only adjusted the 'additive' property
193663        of the animation list based on ordering, rather than flipping the entire list.
193664        This change reverses the list of animations before giving them to CA, which fixes
193665        the bug.
193666                
193667        Test: animations/additive-transform-animations.html
193668
193669        * platform/graphics/ca/GraphicsLayerCA.cpp:
193670        (WebCore::GraphicsLayerCA::appendToUncommittedAnimations):
193671        (WebCore::GraphicsLayerCA::createTransformAnimationsFromKeyframes):
193672        * platform/graphics/ca/GraphicsLayerCA.h:
193673
1936742011-11-18  Tim Horton  <timothy_horton@apple.com>
193675
193676        -webkit-cross-fade rendered incorrectly in overflow divs
193677        https://bugs.webkit.org/show_bug.cgi?id=72693
193678        <rdar://problem/10468564>
193679
193680        Reviewed by Simon Fraser.
193681
193682        Respect the desired source rectangle when rendering the cross-fade.
193683
193684        Test: css3/images/cross-fade-overflow-position.html
193685
193686        * platform/graphics/CrossfadeGeneratedImage.cpp:
193687        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
193688        (WebCore::CrossfadeGeneratedImage::draw):
193689        (WebCore::CrossfadeGeneratedImage::drawPattern):
193690        * platform/graphics/CrossfadeGeneratedImage.h:
193691
1936922011-11-18  Raphael Kubo da Costa  <kubo@profusion.mobi>
193693
193694        Unreviewed build fix; r100686 broke the EFL build when Geolocation
193695        support is enabled.
193696
193697        * platform/efl/GeolocationServiceEfl.cpp: Only declare
193698        s_factoryFunction if CLIENT_BASED_GEOLOCATION is off, otherwise it is
193699        also declared in GeolocationService.cpp.
193700
1937012011-11-18  Igor Oliveira  <igor.oliveira@openbossa.org>
193702
193703        [TextureMapper] computePerspectiveTransformIfNeeded is called twice in TextureMapperNode::syncCompositingState
193704        https://bugs.webkit.org/show_bug.cgi?id=72727
193705
193706        TextureMapperNode::computeAllTransforms already has a call to TextureMapperNode::computePerspectiveTransformIfNeeded,
193707        so it does not need to be called again after TextureMapperNode::computeAllTransforms.
193708
193709        Reviewed by Noam Rosenthal.
193710
193711        * platform/graphics/texmap/TextureMapperNode.cpp:
193712        (WebCore::TextureMapperNode::syncCompositingState):
193713
1937142011-11-18  Mihnea Ovidenie  <mihnea@adobe.com>
193715
193716        Fix compilation warning in ComplexTextControllerCoreText.mm
193717        https://bugs.webkit.org/show_bug.cgi?id=72702
193718
193719        Reviewed by Andreas Kling.
193720
193721        No functionality changed, so no new tests.
193722
193723        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
193724        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText):
193725
1937262011-11-18  Pavel Feldman  <pfeldman@google.com>
193727
193728        Not reviewed: restore front-end compilability via updating externs and JS generator.
193729
193730        * inspector/front-end/ElementsPanel.js:
193731        (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
193732        (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
193733        * inspector/front-end/externs.js:
193734        (WebInspector.showPanelForAnchorNavigation):
193735        * inspector/generate-protocol-externs:
193736
1937372011-11-17  Pavel Feldman  <pfeldman@google.com>
193738
193739        Web Inspector: dispatch messages from the front-end to the backend asynchronously.
193740        https://bugs.webkit.org/show_bug.cgi?id=72621
193741
193742        We should align the way we dispatch messages from the front-end to backend across the environments:
193743          - WebKit has it synchronoulsly
193744          - Chromium has it asynchronously
193745          - Remote debugging has it asynchronously
193746        Making it asynchronous made a number of flaky Qt tests pass.
193747
193748        Tests uncovered console agent problem that was also fixed.
193749
193750        Reviewed by Yury Semikhatsky.
193751
193752        * inspector/InspectorConsoleAgent.cpp:
193753        (WebCore::InspectorConsoleAgent::clearFrontend):
193754        * inspector/InspectorFrontendClient.h:
193755        * inspector/InspectorFrontendClientLocal.cpp:
193756        (WebCore::InspectorBackendDispatchTask::InspectorBackendDispatchTask):
193757        (WebCore::InspectorBackendDispatchTask::dispatch):
193758        (WebCore::InspectorBackendDispatchTask::reset):
193759        (WebCore::InspectorBackendDispatchTask::onTimer):
193760        (WebCore::InspectorFrontendClientLocal::InspectorFrontendClientLocal):
193761        (WebCore::InspectorFrontendClientLocal::windowObjectCleared):
193762        (WebCore::InspectorFrontendClientLocal::sendMessageToBackend):
193763        * inspector/InspectorFrontendClientLocal.h:
193764
1937652011-11-18  Iain Merrick  <husky@google.com>
193766
193767        [chromium] Pass screen refresh rate into compositor.
193768        https://bugs.webkit.org/show_bug.cgi?id=71040
193769
193770        Reviewed by Tony Gentilcore.
193771
193772        Covered by CCLayerTreeHostTest.
193773
193774        * platform/PlatformScreen.h:
193775        * platform/chromium/PlatformScreenChromium.cpp:
193776        (WebCore::screenRefreshRate):
193777        * platform/chromium/PlatformSupport.h:
193778        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
193779        (WebCore::CCSettings::CCSettings):
193780        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
193781        (WebCore::CCThreadProxy::initializeImplOnImplThread):
193782
1937832011-11-18  Alexandru Chiculita  <achicu@adobe.com>
193784
193785        [CSSShaders] Implement the computed style for mesh parameters of the custom() filter
193786        https://bugs.webkit.org/show_bug.cgi?id=72478
193787
193788        Reviewed by Dean Jackson.
193789
193790        Added parsing and computed style for the mesh rows, columns, mesh box type 
193791        (filter-box, border-box, content-box and padding-box) and the detached mode.
193792        
193793        Also fixed a case where "custom(none, 10, 10 filter-box)" was incorrectly
193794        treated as "custom(none, 10)".
193795
193796        * css/CSSComputedStyleDeclaration.cpp:
193797        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
193798        * css/CSSParser.cpp:
193799        (WebCore::CSSParser::parseCustomFilter): Fixed a case where invalid syntax was parsed as correct syntax.
193800        * css/CSSPrimitiveValueMappings.h:
193801        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
193802        (WebCore::CSSPrimitiveValue::operator CustomFilterOperation::MeshBoxType):
193803        * css/CSSStyleSelector.cpp:
193804        (WebCore::CSSStyleSelector::createCustomFilterOperation):
193805        * css/CSSValueList.h:
193806        (WebCore::CSSValueListIterator::isPrimitiveValue):
193807        * platform/graphics/filters/CustomFilterOperation.h:
193808
1938092011-11-18  Adam Barth  <abarth@webkit.org>
193810
193811        Remove unneeded include (and ifdef) from V8DOMWindowCustom.cpp
193812        https://bugs.webkit.org/show_bug.cgi?id=72705
193813
193814        Reviewed by Eric Seidel.
193815
193816        Death to ifdefs!
193817
193818        * bindings/v8/custom/V8DOMWindowCustom.cpp:
193819
1938202011-11-18  Adam Barth  <abarth@webkit.org>
193821
193822        Move some mediastream related files into the mediastream directory
193823        https://bugs.webkit.org/show_bug.cgi?id=72695
193824
193825        Reviewed by Eric Seidel.
193826
193827        Just moving the files to the proper directory.
193828
193829        * GNUmakefile.list.am:
193830        * WebCore.gypi:
193831        * mediastream/NavigatorUserMediaError.h: Renamed from Source/WebCore/page/NavigatorUserMediaError.h.
193832        (WebCore::NavigatorUserMediaError::create):
193833        (WebCore::NavigatorUserMediaError::~NavigatorUserMediaError):
193834        (WebCore::NavigatorUserMediaError::code):
193835        (WebCore::NavigatorUserMediaError::NavigatorUserMediaError):
193836        * mediastream/NavigatorUserMediaError.idl: Renamed from Source/WebCore/page/NavigatorUserMediaError.idl.
193837        * mediastream/NavigatorUserMediaErrorCallback.h: Renamed from Source/WebCore/page/NavigatorUserMediaErrorCallback.h.
193838        (WebCore::NavigatorUserMediaErrorCallback::~NavigatorUserMediaErrorCallback):
193839        * mediastream/NavigatorUserMediaErrorCallback.idl: Renamed from Source/WebCore/page/NavigatorUserMediaErrorCallback.idl.
193840        * mediastream/NavigatorUserMediaSuccessCallback.h: Renamed from Source/WebCore/page/NavigatorUserMediaSuccessCallback.h.
193841        (WebCore::NavigatorUserMediaSuccessCallback::~NavigatorUserMediaSuccessCallback):
193842        * mediastream/NavigatorUserMediaSuccessCallback.idl: Renamed from Source/WebCore/page/NavigatorUserMediaSuccessCallback.idl.
193843
1938442011-11-18  Andrey Kosyakov  <caseq@chromium.org>
193845
193846        Web Inspector: [Extensions API] Provide a way for extension to create a status bar icon
193847        https://bugs.webkit.org/show_bug.cgi?id=45955
193848
193849        Reviewed by Pavel Feldman.
193850
193851        * inspector/front-end/ExtensionAPI.js:
193852        (injectedExtensionAPI.ExtensionPanelImpl.prototype.createStatusBarButton):
193853        (injectedExtensionAPI):
193854        (injectedExtensionAPI.ButtonImpl.prototype.update):
193855        * inspector/front-end/ExtensionPanel.js:
193856        (WebInspector.ExtensionPanel):
193857        (WebInspector.ExtensionPanel.prototype.get statusBarItems):
193858        (WebInspector.ExtensionPanel.prototype.addStatusBarItem):
193859        (WebInspector.ExtensionButton):
193860        (WebInspector.ExtensionButton.prototype.update):
193861        (WebInspector.ExtensionButton.prototype._onClicked):
193862        * inspector/front-end/ExtensionServer.js:
193863        (WebInspector.ExtensionServer):
193864        (WebInspector.ExtensionServer.prototype.notifyButtonClicked):
193865        (WebInspector.ExtensionServer.prototype._onCreateStatusBarButton):
193866        (WebInspector.ExtensionServer.prototype._onUpdateButton):
193867        (WebInspector.ExtensionServer.prototype._onCreateSidebarPane):
193868        * inspector/front-end/inspector.css:
193869        (button.status-bar-item.extension):
193870
1938712011-11-18  Tommy Widenflycht  <tommyw@google.com>
193872
193873        MediaStream API: Merging the PeerConnectionHandler.h files
193874        https://bugs.webkit.org/show_bug.cgi?id=72611
193875
193876        Reviewed by Adam Barth.
193877
193878        No actual code changes.
193879
193880        * GNUmakefile.am:
193881        * GNUmakefile.list.am:
193882        * WebCore.gyp/WebCore.gyp:
193883        * WebCore.gypi:
193884        * platform/mediastream/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/chromium/PeerConnectionHandler.h.
193885        * platform/mediastream/gstreamer/PeerConnectionHandler.h: Removed.
193886
1938872011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
193888
193889        [Qt] Layer violation: ThirdPartyCookiesQt.cpp uses QWebSettings in two places
193890        https://bugs.webkit.org/show_bug.cgi?id=72597
193891
193892        Reviewed by Kenneth Rohde Christiansen.
193893
193894        Moved code that queries the third party cookie policy from QWebSettings
193895        out of WebCore. Instead NetworkingContext has now the interface that allows
193896        delegating the functionality into WebKit/qt.
193897
193898        In order to do that we need to pass the NetworkingContext around, which is used to
193899        retrieve the cookie jar and the originating frame object pointer.
193900
193901        * platform/network/NetworkingContext.h: Add interface.
193902        * platform/network/qt/QNetworkReplyHandler.cpp:
193903        (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): Pass NetworkingContext to ResourceRequest::toNetworkRequest.
193904        (WebCore::QNetworkReplyHandler::redirect): Ditto.
193905        * platform/network/qt/ResourceRequest.h: Replaced originatingObject parameter with NetworkingContext, which can
193906        also provide the same plus more (cookie jar, policy callback).
193907        * platform/network/qt/ResourceRequestQt.cpp:
193908        (WebCore::ResourceRequest::toNetworkRequest): Ditto.
193909        * platform/qt/CookieJarQt.cpp: Simplify to use NetworkingContext to get cookie jar and
193910        call new thirdPartyCookiePolicyPermits API that takes the context as parameter.
193911        (WebCore::networkingContext):
193912        (WebCore::setCookies):
193913        (WebCore::cookies):
193914        (WebCore::cookieRequestHeaderFieldValue):
193915        (WebCore::cookiesEnabled):
193916        * platform/qt/ThirdPartyCookiesQt.cpp: Replace up-casting to QWebFrame and use of QWebSettings
193917        with useage of NetworkingContext.
193918        (WebCore::thirdPartyCookiePolicyPermits):
193919        * platform/qt/ThirdPartyCookiesQt.h:
193920
1939212011-11-17  Kenichi Ishibashi  <bashi@chromium.org>
193922
193923        crash: WebCore::FontPlatformData::roundsGlyphAdvances on Lion
193924        https://bugs.webkit.org/show_bug.cgi?id=71997
193925
193926        Reviewed by Dan Bernstein.
193927
193928        The cause is a null dereference of a fontData that is stored in
193929        ComplexTextRun. The fontData is initialized by using the
193930        fontCache, but it could be null when the font is in fallback
193931        list. The reason a font from the fallback list might not be in the
193932        font Cache is that it may be a web font. Before looking up the
193933        fontCache, try to see whether the font is in the fallback list.
193934
193935        No new tests. We don't have webfonts that can produce the problem.
193936
193937        * platform/graphics/mac/ComplexTextControllerCoreText.mm:
193938        (WebCore::ComplexTextController::collectComplexTextRunsForCharactersCoreText): See fallback list first, then lookup cache.
193939
1939402011-11-17  Kaustubh Atrawalkar  <kaustubh@motorola.com>
193941
193942        Remove initProgressEvent method
193943        https://bugs.webkit.org/show_bug.cgi?id=71340
193944
193945        Reviewed by Adam Barth.
193946
193947        This method has been removed from the spec draft.
193948        http://www.w3.org/TR/progress-events/#interface-progressevent
193949
193950        No new tests. Removed method.
193951
193952        * dom/ProgressEvent.cpp:
193953        * dom/ProgressEvent.h:
193954        * dom/ProgressEvent.idl:
193955
1939562011-11-17  Eunmi Lee  <eunmi15.lee@samsung.com>
193957
193958        [EFL] Move keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() to the
193959        EflKeyboardUtilities.cpp to use in the WebKit2
193960        https://bugs.webkit.org/show_bug.cgi?id=62451
193961
193962        Reviewed by Martin Robinson.
193963
193964        The keyIdentifierForEvasKeyName() and windowsKeyCodeForEvasKeyName() were static functions
193965        in the PlatformKeyboardEventEfl.cpp. But they are also needed in the WebKit2 EFL port, so I
193966        moved them to the separated file - EflKeyboardUtilities.cpp.
193967
193968        * PlatformEfl.cmake:
193969        * platform/efl/EflKeyboardUtilities.cpp: Copied from Source/WebCore/platform/efl/PlatformKeyboardEventEfl.cpp.
193970        (WebCore::createKeyMap):
193971        (WebCore::createWindowsKeyMap):
193972        (WebCore::keyIdentifierForEvasKeyName):
193973        (WebCore::windowsKeyCodeForEvasKeyName):
193974        * platform/efl/EflKeyboardUtilities.h: Added.
193975        * platform/efl/PlatformKeyboardEventEfl.cpp:
193976
1939772011-11-17  Martin Robinson  <mrobinson@igalia.com>
193978
193979        [GTK] The process freezes when you right click on windowless Flash
193980        https://bugs.webkit.org/show_bug.cgi?id=69123
193981
193982        Reviewed by Xan Lopez.
193983
193984        No new tests. I tried to create a layout test that exercised this
193985        issue, but it appears that EventSender clicks do not trigger
193986        it. This is covered by the manual tests containing Flash.
193987
193988        * plugins/PluginPackage.cpp:
193989        (WebCore::PluginPackage::determineQuirks): Always activate the
193990        windowless Flash quirk if on x86_64 and X11.
193991        * plugins/gtk/PluginViewGtk.cpp:
193992        (WebCore::PluginView::handleMouseEvent): Avoid sending right-click
193993        events if we have the quirk.
193994
1939952011-11-17  Peter Rybin  <peter.rybin@gmail.com>
193996
193997        Web Inspector: clear fixme in generator script
193998        https://bugs.webkit.org/show_bug.cgi?id=71372
193999
194000        Remove unnecessary field name map and update license year number.
194001
194002        Reviewed by Pavel Feldman.
194003
194004        * inspector/CodeGeneratorInspector.py:
194005
1940062011-11-17  Raphael Kubo da Costa  <kubo@profusion.mobi>
194007
194008        [EFL] Clean up the use of DATA_DIR in the buildsystem
194009        https://bugs.webkit.org/show_bug.cgi?id=72681
194010
194011        Reviewed by Daniel Bates.
194012
194013        Add the -DDATA_DIR definition here instead of defining it globally in
194014        OptionsEfl.cmake, as WebCore is the only place which needs it.
194015
194016        No new tests, this is a buildsystem change.
194017
194018        * PlatformEfl.cmake:
194019
1940202011-11-17  Adam Klein  <adamk@chromium.org>
194021
194022        Move JS recursion counter from V8Proxy to V8BindingPerIsolateData
194023        https://bugs.webkit.org/show_bug.cgi?id=72645
194024
194025        Reviewed by Adam Barth.
194026
194027        With the JS recursion level stored as a member of V8Proxy, it's tied
194028        to a frame. But this is incorrect, as there's no reason that a JS call
194029        stack need be restricted to a single frame (see my new test case for
194030        an example of code going across frames).
194031
194032        In order to get the correct accounting of JS recursion level, per-Isolate
194033        is the right granularity (per dslomov), which is what this patch accomplishes.
194034
194035        Test: storage/indexeddb/transaction-abort-with-js-recursion-cross-frame.html
194036
194037        * bindings/v8/V8Binding.cpp:
194038        (WebCore::V8BindingPerIsolateData::V8BindingPerIsolateData):
194039        * bindings/v8/V8Binding.h:
194040        (WebCore::V8BindingPerIsolateData::recursionLevel):
194041        (WebCore::V8BindingPerIsolateData::incrementRecursionLevel):
194042        (WebCore::V8BindingPerIsolateData::decrementRecursionLevel):
194043        (WebCore::V8RecursionScope::V8RecursionScope):
194044        (WebCore::V8RecursionScope::~V8RecursionScope):
194045        * bindings/v8/V8Proxy.cpp:
194046        (WebCore::incrementRecursionLevel):
194047        (WebCore::decrementRecursionLevel):
194048        (WebCore::recursionLevel):
194049        (WebCore::V8Proxy::V8Proxy):
194050        (WebCore::V8Proxy::runScript):
194051        (WebCore::V8Proxy::callFunction):
194052        (WebCore::V8Proxy::didLeaveScriptContext):
194053        * bindings/v8/V8Proxy.h:
194054
1940552011-11-17  Robin Cao  <robin.cao@torchmobile.com.cn>
194056
194057        [chromium] Font::drawComplexText can not draw a segment of text run
194058        https://bugs.webkit.org/show_bug.cgi?id=72095
194059
194060        Reviewed by Adam Barth.
194061
194062        drawComplexText() should respect the 'from' and 'to' arguments.
194063        Drawing the whole text run may result in text overlapping.
194064
194065        Test: platform/chromium-linux/fast/text/international/draw-complex-text-from-to.html
194066
194067        * platform/graphics/chromium/ComplexTextControllerLinux.cpp:
194068        (WebCore::ComplexTextController::glyphsForRange):
194069        * platform/graphics/chromium/ComplexTextControllerLinux.h:
194070        * platform/graphics/chromium/FontLinux.cpp:
194071        (WebCore::Font::drawComplexText):
194072
1940732011-11-17  Adam Barth  <abarth@webkit.org>
194074
194075        Unique SecurityOrigins shouldn't remember their old schemes and hosts
194076        https://bugs.webkit.org/show_bug.cgi?id=71745
194077
194078        Reviewed by Darin Adler.
194079
194080        This is the final step in this series of patches.
194081
194082        This patch removes the forceUnique flag from SecurityOrigin::create.
194083        Now, we create unique origins without passing in the document's URL,
194084        preventing information from the document's URL from leaking into the
194085        unique origin.
194086
194087        * WebCore.exp.in:
194088        * dom/Document.cpp:
194089        (WebCore::Document::setIsViewSource):
194090        (WebCore::Document::initSecurityContext):
194091        * loader/cache/MemoryCache.cpp:
194092        (WebCore::MemoryCache::getOriginsWithCache):
194093            - Update this callsite to use createFromString, which does exactly
194094              what this code is doing manually.
194095        * page/SecurityOrigin.cpp:
194096        (WebCore::SecurityOrigin::create):
194097        * page/SecurityOrigin.h:
194098
1940992011-11-17  Vincent Scheib  <scheib@chromium.org>
194100
194101        Pointer Lock: Page Settings unecessary
194102        https://bugs.webkit.org/show_bug.cgi?id=72662
194103
194104        Reviewed by Darin Fisher.
194105
194106        No new tests.
194107
194108        * page/Settings.cpp:
194109        (WebCore::Settings::Settings):
194110        * page/Settings.h:
194111
1941122011-11-17  James Robinson  <jamesr@chromium.org>
194113
194114        [chromium] Disable incremental uploading in threaded compositing path
194115        https://bugs.webkit.org/show_bug.cgi?id=72669
194116
194117        Reviewed by Kenneth Russell.
194118
194119        Since we don't currently support atomic incremental uploads, incremental uploads in the threaded path result in
194120        very strange-looking texture popping as tiles come in on pages that require more than 16 tile uploads per frame.
194121        This disables that logic (by setting the upload limit per frame to 99999) until we handle the incremental
194122        updates in an atomic fashion.
194123
194124        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
194125        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
194126
1941272011-11-06  Nat Duca  <nduca@chromium.org>
194128
194129        [chromium] Fix handling of setNeedsCommit and setNeedsAnimate in threaded mode
194130        https://bugs.webkit.org/show_bug.cgi?id=71638
194131
194132        Reviewed by James Robinson.
194133
194134        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
194135        (WebCore::CCThreadProxy::CCThreadProxy):
194136        (WebCore::CCThreadProxy::setNeedsAnimate):
194137        (WebCore::CCThreadProxy::beginFrameAndCommit):
194138
1941392011-11-17  Adam Barth  <abarth@webkit.org>
194140
194141        Remove bogus ASSERT.
194142
194143        * page/SecurityOrigin.cpp:
194144        (WebCore::SecurityOrigin::SecurityOrigin):
194145
1941462011-11-17  Peter Kasting  <pkasting@google.com>
194147
194148        Unreviewed, rolling out r100698.
194149        http://trac.webkit.org/changeset/100698
194150        https://bugs.webkit.org/show_bug.cgi?id=72239
194151
194152        This change wasn't the problem either.
194153
194154        * dom/Document.cpp:
194155        (WebCore::Document::implicitClose):
194156
1941572011-11-17  David Reveman  <reveman@chromium.org>
194158
194159        [Chromium] Calls to paintContentsIfDirty() and updateCompositorResources() should be balanced.
194160        https://bugs.webkit.org/show_bug.cgi?id=72630
194161
194162        Reviewed by James Robinson.
194163
194164        Layer property changes during paintContent() can leave the layer
194165        in an invalid state as paintContentsIfDirty() has been called
194166        without a matching updateCompositorResources() call. Removing
194167        conditionals around these calls ensure they are balanced.
194168
194169        This patch is tested by the following unit test:
194170        - CCLayerTreeHostTestOpacityChange.runMultiThread
194171
194172        * platform/graphics/chromium/ContentLayerChromium.cpp:
194173        (WebCore::ContentLayerChromium::paintContentsIfDirty):
194174        * platform/graphics/chromium/VideoLayerChromium.cpp:
194175        (WebCore::VideoLayerChromium::updateCompositorResources):
194176        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
194177        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
194178        (WebCore::CCLayerTreeHost::paintLayerContents):
194179        (WebCore::CCLayerTreeHost::updateCompositorResources):
194180        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
194181
1941822011-11-17  Peter Kasting  <pkasting@google.com>
194183
194184        Unreviewed, rolling out r100584.
194185        http://trac.webkit.org/changeset/100584
194186        https://bugs.webkit.org/show_bug.cgi?id=72239
194187
194188        See if this change caused Linux dbg crashes.
194189
194190        * dom/Document.cpp:
194191        (WebCore::Document::implicitClose):
194192
1941932011-11-17  Adam Barth  <abarth@webkit.org>
194194
194195        Remove cargo-cult copy/pasting of ScriptExecutionContext namespace
194196        https://bugs.webkit.org/show_bug.cgi?id=72676
194197
194198        Reviewed by Eric Seidel.
194199
194200        It looks like this cargo-cult started with initDNSPrefetch being hacked
194201        into setSecurityOrigin.  I've removed this hack along with the
194202        copy/paste code.
194203
194204        * dom/DOMImplementation.cpp:
194205        * dom/Document.cpp:
194206        (WebCore::Document::setIsViewSource):
194207        (WebCore::Document::open):
194208        (WebCore::Document::initSecurityContext):
194209        (WebCore::Document::setSecurityOrigin):
194210        * dom/Document.h:
194211        * xml/XSLTProcessor.cpp:
194212
1942132011-11-17  Peter Kasting  <pkasting@google.com>
194214
194215        Unreviewed, rolling out r100676.
194216        http://trac.webkit.org/changeset/100676
194217        https://bugs.webkit.org/show_bug.cgi?id=72393
194218
194219        Looks like r100572 was not the source of the crashes.
194220
194221        * bindings/js/ScriptDebugServer.cpp:
194222        (WebCore::ScriptDebugServer::canSetScriptSource):
194223        * bindings/js/ScriptDebugServer.h:
194224        * bindings/v8/ScriptDebugServer.cpp:
194225        (WebCore::ScriptDebugServer::stepOutOfFunction):
194226        (WebCore::ScriptDebugServer::canSetScriptSource):
194227        * bindings/v8/ScriptDebugServer.h:
194228        * inspector/CodeGeneratorInspector.py:
194229        * inspector/Inspector.json:
194230        * inspector/InspectorDebuggerAgent.cpp:
194231        (WebCore::InspectorDebuggerAgent::getCapabilities):
194232        * inspector/InspectorDebuggerAgent.h:
194233        * inspector/front-end/DebuggerModel.js:
194234        (WebInspector.DebuggerModel):
194235        (WebInspector.DebuggerModel.prototype.enableDebugger):
194236        (WebInspector.DebuggerModel.prototype.disableDebugger):
194237        (WebInspector.DebuggerModel.prototype.canSetScriptSource):
194238        * inspector/front-end/DebuggerPresentationModel.js:
194239        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
194240        * inspector/front-end/Settings.js:
194241
1942422011-11-17  Konstantin Scheglov  <scheglov@google.com>
194243
194244        Absolute child is not repainted when parent opacity changes
194245        https://bugs.webkit.org/show_bug.cgi?id=68777
194246
194247        Reviewed by Simon Fraser.
194248
194249        First time when we change opacity for parent we don't have layer, so
194250        diff=StyleDifferenceRepaint is used instead of diff=StyleDifferenceRepaintLayer.
194251        Layer is created later, in styleDidChange().
194252        So, when we recalculate later diff, we now check for diff=StyleDifferenceRepaintLayer and
194253        performs repaintIncludingDescendants().
194254
194255        Test: fast/layers/layer-absolute-parent-opacity.html
194256
194257        * rendering/RenderObject.cpp:
194258        (WebCore::RenderObject::setStyle): Call repaintIncludingDescendants() instead of repaint().
194259        * rendering/style/RenderStyle.cpp:
194260        (WebCore::RenderStyle::diff): Add ContextSensitivePropertyOpacity when change opacity.
194261
1942622011-11-17  Nate Chapin  <japhet@chromium.org>
194263
194264        r100311 dropped a RefPtr that is very
194265        helpful. Add it back.
194266        https://bugs.webkit.org/show_bug.cgi?id=72647
194267
194268        Reviewed by Adam Barth.
194269
194270        http/tests/misc/xslt-bad-import.html should
194271        stop crashing in full chromium builds.
194272
194273        * loader/cache/CachedResourceLoader.cpp:
194274        (WebCore::CachedResourceLoader::loadDone):
194275
1942762011-11-17  Adam Barth  <abarth@webkit.org>
194277
194278        Refactor SecurityOrigin::create to be easier to understand
194279        https://bugs.webkit.org/show_bug.cgi?id=72342
194280
194281        Reviewed by Eric Seidel.
194282
194283        Over time, the SecurityOrigin constructor has grown a bit out of
194284        control.  This patch attempts to separate the different concerns into
194285        free functions.  The general approach is to put more logic in the
194286        "create" function and introduce a simple constructor for unique
194287        origins.
194288
194289        This patch shouldn't change any behavior.
194290
194291        * page/SecurityOrigin.cpp:
194292        (WebCore::schemeRequiresAuthority):
194293        (WebCore::shouldUseInnerURL):
194294        (WebCore::extractInnerURL):
194295        (WebCore::isDirectory):
194296        (WebCore::shouldTreatAsUniqueOrigin):
194297        (WebCore::SecurityOrigin::SecurityOrigin):
194298        (WebCore::SecurityOrigin::create):
194299        (WebCore::SecurityOrigin::createUnique):
194300        (WebCore::SecurityOrigin::databaseIdentifier):
194301        * page/SecurityOrigin.h:
194302
1943032011-11-17  Shawn Singh  <shawnsingh@chromium.org>
194304
194305        [chromium] Fix minor style nit in CCLayerImpl
194306        https://bugs.webkit.org/show_bug.cgi?id=71070
194307
194308        Reviewed by James Robinson.
194309
194310        Fixes if-statements on several settors to follow WebKit
194311        conventions. Existing CCLayerImplTest unit tests already cover
194312        this change.
194313
194314        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
194315        (WebCore::CCLayerImpl::setBounds):
194316        (WebCore::CCLayerImpl::setMaskLayer):
194317        (WebCore::CCLayerImpl::setReplicaLayer):
194318        (WebCore::CCLayerImpl::setDrawsContent):
194319        (WebCore::CCLayerImpl::setAnchorPoint):
194320        (WebCore::CCLayerImpl::setAnchorPointZ):
194321        (WebCore::CCLayerImpl::setBackgroundColor):
194322        (WebCore::CCLayerImpl::setMasksToBounds):
194323        (WebCore::CCLayerImpl::setOpaque):
194324        (WebCore::CCLayerImpl::setOpacity):
194325        (WebCore::CCLayerImpl::setPosition):
194326        (WebCore::CCLayerImpl::setPreserves3D):
194327        (WebCore::CCLayerImpl::setZoomAnimatorTransform):
194328        (WebCore::CCLayerImpl::setSublayerTransform):
194329        (WebCore::CCLayerImpl::setTransform):
194330        (WebCore::CCLayerImpl::setDebugBorderColor):
194331        (WebCore::CCLayerImpl::setDebugBorderWidth):
194332        (WebCore::CCLayerImpl::setContentBounds):
194333        (WebCore::CCLayerImpl::setScrollPosition):
194334        (WebCore::CCLayerImpl::setScrollDelta):
194335        (WebCore::CCLayerImpl::setScaleDelta):
194336        (WebCore::CCLayerImpl::setDoubleSided):
194337
1943382011-11-17  Michael Saboff  <msaboff@apple.com>
194339
194340        Leaks seen in MemoryPressureHandlerMac.mm on Leaks bot
194341        https://bugs.webkit.org/show_bug.cgi?id=72416
194342
194343        Added code to release _cache_event_source and _timer_event_source
194344        after they are canceled.  Also added defensive code to
194345        clean up the _timer_event_source in uninstall().
194346
194347        Reviewed by Geoffrey Garen.
194348
194349        No new tests, fixing leaks caught by leaks bot.
194350
194351        * platform/mac/MemoryPressureHandlerMac.mm:
194352        (WebCore::MemoryPressureHandler::uninstall):
194353        (WebCore::MemoryPressureHandler::holdOff):
194354
1943552011-11-17  Ken Buchanan <kenrb@chromium.org>
194356
194357        Crash from positioned generated content under run-in
194358        https://bugs.webkit.org/show_bug.cgi?id=70456
194359
194360        Reviewed by David Hyatt.
194361
194362        Modified handling of run-in children to clear generated children
194363        before removing the parent from the render tree. This caused problems
194364        with absolute positioned children being not properly removed from the
194365        positioned object list of the RenderView.
194366
194367        * rendering/RenderBlock.cpp:
194368        (WebCore::RenderBlock::handleRunInChild):
194369
1943702011-11-17  Peter Kasting  <pkasting@google.com>
194371
194372        Unreviewed, rolling out r100572.
194373        https://bugs.webkit.org/show_bug.cgi?id=72393
194374        https://bugs.webkit.org/show_bug.cgi?id=72651
194375
194376        May have caused seg faults on Chromium Linux dbg bot.
194377
194378        * bindings/js/ScriptDebugServer.cpp:
194379        * bindings/js/ScriptDebugServer.h:
194380        * bindings/v8/ScriptDebugServer.cpp:
194381        (WebCore::ScriptDebugServer::stepOutOfFunction):
194382        * bindings/v8/ScriptDebugServer.h:
194383        * inspector/CodeGeneratorInspector.py:
194384        * inspector/Inspector.json:
194385        * inspector/InspectorDebuggerAgent.cpp:
194386        * inspector/InspectorDebuggerAgent.h:
194387        * inspector/front-end/DebuggerModel.js:
194388        (WebInspector.DebuggerModel):
194389        (WebInspector.DebuggerModel.prototype.enableDebugger):
194390        (WebInspector.DebuggerModel.prototype.disableDebugger):
194391        * inspector/front-end/DebuggerPresentationModel.js:
194392        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
194393        * inspector/front-end/Settings.js:
194394
1943952011-11-17  Sheriff Bot  <webkit.review.bot@gmail.com>
194396
194397        Unreviewed, rolling out r100652.
194398        http://trac.webkit.org/changeset/100652
194399        https://bugs.webkit.org/show_bug.cgi?id=72648
194400
194401        "Caused outline-offset-min-assert.html to assert on debug
194402        builds" (Requested by mwenge2 on #webkit).
194403
194404        * rendering/RenderObject.cpp:
194405        (WebCore::RenderObject::paintOutline):
194406
1944072011-11-17  Mark Rowe  <mrowe@apple.com>
194408
194409        <http://webkit.org/b/72637> Stop performing runtime version checks on OS versions where the check can never possibly fail.
194410
194411        Reviewed by Simon Fraser.
194412
194413        * platform/graphics/cg/ImageBufferDataCG.cpp:
194414        (WebCore::haveVImageRoundingErrorFix): When not targeting Snow Leopard we always have the fix.
194415
1944162011-11-17  Chris Fleizach  <cfleizach@apple.com>
194417
194418        AX: The scrollArea is not correctly returning the scrollbars
194419        https://bugs.webkit.org/show_bug.cgi?id=70247
194420
194421        Reviewed by Beth Dakin.
194422
194423        A few bugs that were preventing this from working.
194424           1) In accessibilityAttributeValue: when an element did not have a renderer() we were returning earlier than we should have
194425           2) We were not updating and clearing the scrollbars correctly when children were cleared or when asked for.
194426
194427        Test: platform/mac/accessibility/scrollbars.html
194428
194429        * accessibility/AccessibilityScrollView.cpp:
194430        (WebCore::AccessibilityScrollView::scrollBar):
194431        (WebCore::AccessibilityScrollView::clearChildren):
194432        * accessibility/AccessibilityScrollView.h:
194433        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
194434        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:]):
194435
1944362011-11-14  Adam Barth  <abarth@webkit.org>
194437
194438        Unique origins shouldn't remember their scheme, host, or port
194439        https://bugs.webkit.org/show_bug.cgi?id=72308
194440
194441        Reviewed by Eric Seidel.
194442
194443        This patch contains the bulk (all?) of the behavior differences in this
194444        patch series.  Unique origins shouldn't remember their schemes.  Doing
194445        so causes some privileges (e.g., local access) to leak into unique
194446        origins.
194447
194448        * page/SecurityOrigin.cpp:
194449        (WebCore::SecurityOrigin::SecurityOrigin):
194450            - Explicitly clear out the protocol, host, and port for unique
194451              origins.  A future patch will refactor all this code to be more
194452              elegant.
194453        * platform/SchemeRegistry.cpp:
194454        (WebCore::schemesWithUniqueOrigins):
194455            - Merge "about" and "javascript" in with the general case now that
194456              we don't have a separate notion of an empty origin.
194457
1944582011-11-17  Chris Fleizach  <cfleizach@apple.com>
194459
194460        AX: cleanup style and naming and code in accessibility search mechanism
194461        https://bugs.webkit.org/show_bug.cgi?id=72570
194462
194463        Reviewed by Beth Dakin.
194464
194465        Cleanup the naming and code style within the element searching mechanism.
194466
194467        * accessibility/AccessibilityObject.cpp:
194468        (WebCore::AccessibilityObject::isAccessibilityObjectSearchMatch):
194469        (WebCore::AccessibilityObject::isAccessibilityTextSearchMatch):
194470        (WebCore::AccessibilityObject::firstAccessibleObjectFromNode):
194471        (WebCore::AccessibilityObject::findMatchingObjects):
194472        * accessibility/AccessibilityObject.h:
194473        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
194474        (-[WebAccessibilityObjectWrapper accessibilityAttributeValue:forParameter:]):
194475
1944762011-11-17  Julien Chaffraix  <jchaffraix@webkit.org>
194477
194478        CSS table with 100% width can overflow their containing block
194479        https://bugs.webkit.org/show_bug.cgi?id=72180
194480
194481        Reviewed by David Hyatt.
194482
194483        Tests: fast/table/table-in-table-percent-width-collapsing-border-quirks-mode.html
194484               fast/table/table-in-table-percent-width-collapsing-border.html
194485               fast/table/table-in-table-percent-width-quirks-mode.html
194486               fast/table/table-in-table-percent-width.html
194487
194488        After r97555, we would include the borders in a CSS table's logical width even if the 'width'
194489        property was a percent. This does not match what Firefox and IE are doing. Thus don't apply
194490        this behavior to percent 'width'.
194491
194492        * rendering/RenderTable.cpp:
194493        (WebCore::RenderTable::computeLogicalWidth):
194494
1944952011-11-17  Adrienne Walker  <enne@google.com>
194496
194497        [chromium] Implicitly skip render surfaces that won't be drawn
194498        https://bugs.webkit.org/show_bug.cgi?id=71038
194499
194500        Rather than having redundant checks in three places for how to walk
194501        through a render surface list, instead don't add render surfaces that
194502        don't need to get rendered to the render surface list.
194503
194504        Reviewed by James Robinson.
194505
194506        Covered by existing layout tests and unit tests.
194507
194508        * platform/graphics/chromium/LayerRendererChromium.cpp:
194509        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
194510        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
194511        (WebCore::CCLayerTreeHost::paintLayerContents):
194512        (WebCore::CCLayerTreeHost::updateCompositorResources):
194513        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
194514        (WebCore::calculateDrawTransformsAndVisibilityInternal):
194515
1945162011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
194517
194518        [Qt] Layer violation: qt_runtime.cpp accesses QWebElement and QTDRTNode
194519        https://bugs.webkit.org/show_bug.cgi?id=72595
194520
194521        Reviewed by Noam Rosenthal.
194522
194523        Removed QWebElement and QtDRTNode usage that reached from WebCore into
194524        WebKit/qt and replaced it with the ability to register custom JSValue
194525        conversion functions. The old code has been moved to WebKit/qt.
194526
194527        * bridge/qt/qt_instance.cpp:
194528        (JSC::Bindings::QtInstance::QtInstance): Remove unnecessary meta type registration
194529        (now done in QtWebElementRuntime::initialize in WebKit/qt).
194530        * bridge/qt/qt_runtime.cpp:
194531        (JSC::Bindings::registerCustomType):
194532        (JSC::Bindings::convertValueToQVariant):
194533        (JSC::Bindings::convertQVariantToValue):
194534        * bridge/qt/qt_runtime.h:
194535
1945362011-11-17  Fady Samuel  <fsamuel@chromium.org>
194537
194538        Pass Aspect Ratio to RenderStyle
194539        https://bugs.webkit.org/show_bug.cgi?id=72350
194540
194541        Reviewed by Ojan Vafai.
194542
194543        * css/CSSComputedStyleDeclaration.cpp:
194544        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
194545        * css/CSSStyleApplyProperty.cpp:
194546        (WebCore::ApplyPropertyAspectRatio::applyInheritValue):
194547        (WebCore::ApplyPropertyAspectRatio::applyInitialValue):
194548        (WebCore::ApplyPropertyAspectRatio::applyValue):
194549        (WebCore::ApplyPropertyAspectRatio::createHandler):
194550        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
194551        * css/CSSStyleSelector.cpp:
194552        (WebCore::CSSStyleSelector::applyProperty):
194553        * css/CSSValue.h:
194554        (WebCore::CSSValue::isAspectRatioValue):
194555        * rendering/style/RenderStyle.h:
194556        (WebCore::InheritedFlags::hasAspectRatio):
194557        (WebCore::InheritedFlags::aspectRatio):
194558        (WebCore::InheritedFlags::aspectRatioDenominator):
194559        (WebCore::InheritedFlags::aspectRatioNumerator):
194560        (WebCore::InheritedFlags::setHasAspectRatio):
194561        (WebCore::InheritedFlags::setAspectRatioDenominator):
194562        (WebCore::InheritedFlags::setAspectRatioNumerator):
194563        (WebCore::InheritedFlags::initialHasAspectRatio):
194564        (WebCore::InheritedFlags::initialAspectRatioDenominator):
194565        (WebCore::InheritedFlags::initialAspectRatioNumerator):
194566        * rendering/style/StyleRareNonInheritedData.cpp:
194567        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
194568        (WebCore::StyleRareNonInheritedData::operator==):
194569        * rendering/style/StyleRareNonInheritedData.h:
194570
1945712011-11-09  Robert Hogan  <robert@webkit.org>
194572
194573        CSS 2.1 failure: outline-color-* tests fail
194574        https://bugs.webkit.org/show_bug.cgi?id=71931
194575
194576        Reviewed by Julien Chaffraix.
194577
194578        WebKit wasn't displaying the top block in these tests because it did not paint the outline
194579        of divs with zero size.
194580
194581        * rendering/RenderObject.cpp:
194582        (WebCore::RenderObject::paintOutline): paint the outline even when the block has zero size
194583
1945842011-11-17  Sergio Villar Senin  <svillar@igalia.com>
194585
194586        [GTK] plugins/get-url-notify-with-url-that-fails-to-load.html on bots after r100466
194587        https://bugs.webkit.org/show_bug.cgi?id=72613
194588
194589        Reviewed by Martin Robinson.
194590
194591        Do not assume that a SoupRequest always exists, it is not
194592        generated for example when the provided URL is
194593        invalid. ResourceHandle::platformSetDefersLoading was crashing
194594        because of that.
194595
194596        * platform/network/soup/ResourceHandleSoup.cpp:
194597        (WebCore::ResourceHandle::platformSetDefersLoading):
194598
1945992011-11-17  Vsevolod Vlasov  <vsevik@chromium.org>
194600
194601        Web Inspector: Remove onlineDetectionEnabled from Preferences
194602        https://bugs.webkit.org/show_bug.cgi?id=72617
194603
194604        Reviewed by Pavel Feldman.
194605
194606        * inspector/front-end/ApplicationCacheItemsView.js:
194607        (WebInspector.ApplicationCacheItemsView):
194608        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
194609        * inspector/front-end/Settings.js:
194610
1946112011-11-17  Ken Buchanan  <kenrb@chromium.org>
194612
194613        Crash from nested tables with generated content
194614        https://bugs.webkit.org/show_bug.cgi?id=68811
194615
194616        Reviewed by David Hyatt.
194617
194618        When adding a child to a table that has generated content, this change
194619        ensures that we leave alone any generated content renderers that belong
194620        to descendants in the tree. They don't need to be touched, and doing so
194621        can create confusion about who the content belongs to.
194622
194623        This patch also simplifies some existing code for finding pseudoelement
194624        renderers. 
194625
194626        * rendering/RenderBlock.cpp:
194627        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
194628        * rendering/RenderObject.cpp:
194629        (WebCore::RenderObject::addChild):
194630        (WebCore::RenderObject::isBeforeAfterContentGeneratedByAncestor): Added
194631        * rendering/RenderObject.h:
194632        (WebCore::RenderObject::findAfterContentRenderer): Deleted
194633        (WebCore::RenderObject::findBeforeContentRenderer): Deleted
194634        * rendering/RenderObjectChildList.cpp:
194635        (WebCore::RenderObjectChildList::beforePseudoElementRenderer):
194636        (WebCore::RenderObjectChildList::afterPseudoElementRenderer):
194637        * rendering/RenderTable.cpp:
194638        (WebCore::RenderTable::addChild):
194639        * rendering/RenderTableRow.cpp:
194640        (WebCore::RenderTableRow::addChild):
194641        * rendering/RenderTableSection.cpp:
194642        (WebCore::RenderTableSection::addChild):
194643
1946442011-11-17  Patrick Gansterer  <paroga@webkit.org>
194645
194646        Unreviewed WinCE build fix for r94119.
194647
194648        MSVC throws multiply defined symbols linker error when using local class in inline function.
194649
194650        * bindings/js/JSDictionary.h:
194651        (WebCore::JSDictionary::IdentitySetter::identitySetter):
194652        (WebCore::JSDictionary::tryGetProperty):
194653
1946542011-11-17  Eric Carlson  <eric.carlson@apple.com>
194655
194656        TextTrackList not sorted correctly
194657        https://bugs.webkit.org/show_bug.cgi?id=72545
194658
194659        Reviewed by Darin Adler.
194660
194661        Test: media/track/track-texttracks.html
194662
194663        * WebCore.xcodeproj/project.pbxproj: Add TextTrack.h to WebCore private headers because 
194664            it is included by HTMLMediaElement.h.
194665        * html/LoadableTextTrack.cpp:
194666        (WebCore::LoadableTextTrack::LoadableTextTrack): Pass track type to base class constructor.
194667        (WebCore::LoadableTextTrack::trackElementIndex): New, return the <track> element's tree order
194668            for sorting.
194669        * html/LoadableTextTrack.h:
194670
194671        * html/TextTrack.cpp:
194672        (WebCore::TextTrack::TextTrack): Set track type.
194673        * html/TextTrack.h:
194674        (WebCore::TextTrack::create): Ditto.
194675        (WebCore::TextTrack::trackType): Ditto.
194676
194677        * html/track/TextTrackList.cpp:
194678        (TextTrackList::length): Update to deal with two TextTrack vectors.
194679        (TextTrackList::item): Ditto.
194680        (TextTrackList::append): Ditto.
194681        (TextTrackList::remove): Ditto
194682        * html/track/TextTrackList.h: Store the two types of TextTracks in separate Vectors to make
194683            it simpler to keep them in the correct order.
194684
1946852011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
194686
194687        [Qt] Layer violation: WebCore::dnsPrefetch uses QWebSettings::globalSettings()
194688        https://bugs.webkit.org/show_bug.cgi?id=72596
194689
194690        Reviewed by Kenneth Rohde Christiansen.
194691
194692        We don't need to use QWebSettings here, because we now propagate the DNS prefetch
194693        setting to WebCore::Settings and the rest of WebCore checks the setting before calling
194694        WebCore::prefetchDNS.
194695
194696        * platform/network/qt/DnsPrefetchHelper.cpp:
194697        (WebCore::prefetchDNS): Removed the use of QWebSettings.
194698        * platform/network/qt/DnsPrefetchHelper.h: Remove offending qwebsettings.h inclusion.
194699
1947002011-11-17  Simon Hausmann  <simon.hausmann@nokia.com>
194701
194702        [Qt] Layer violation: Image::loadPlatformResource uses QWebSettings::webGraphic
194703        https://bugs.webkit.org/show_bug.cgi?id=72594
194704
194705        Reviewed by Kenneth Rohde Christiansen.
194706
194707        Move the cache for the resource pixmaps into ImageQt.cpp.
194708
194709        * platform/graphics/Image.h: Add Qt specific setter for resource pixmaps.
194710        * platform/graphics/qt/ImageQt.cpp: Moved resource pixmap hash from qwebsettings.
194711        (earlyClearGraphics):
194712        (graphics):
194713        (loadResourcePixmap):
194714        (WebCore::Image::setPlatformResource):
194715
1947162011-11-17  Zeno Albisser  <zeno@webkit.org>
194717
194718        [Qt][WK2] Touch/Mouse events are delivered with wrong coordinates.
194719        https://bugs.webkit.org/show_bug.cgi?id=72604
194720
194721        When using the QtViewportInterationEngine for zooming/panning,
194722        no additional scroll offset should be applied to input events
194723        by the ScrollView.
194724
194725        This patch is based on work by Andreas Kling.
194726
194727        Reviewed by Kenneth Rohde Christiansen.
194728
194729        * platform/ScrollView.cpp:
194730        (WebCore::ScrollView::windowToContents):
194731        (WebCore::ScrollView::contentsToWindow):
194732
1947332011-11-17  Ben Murdoch  <benm@google.com>
194734
194735        Unreviewed build fix.
194736
194737        Fix the Windows builds by adding WorkerEventQueue.cpp|h to the
194738        vcproj. Build break was introduced in
194739        https://bugs.webkit.org/show_bug.cgi?id=72528
194740
194741        * WebCore.vcproj/WebCore.vcproj: Add missing files.
194742
1947432011-11-17  Mihnea Ovidenie  <mihnea@adobe.com>
194744
194745        CSS Exclusions: parse the wrap-margin and wrap-padding properties
194746        https://bugs.webkit.org/show_bug.cgi?id=71900
194747
194748        Reviewed by Dean Jackson.
194749
194750        Tests: fast/exclusions/wrap-margin-parsing.html
194751               fast/exclusions/wrap-padding-parsing.html
194752
194753        * css/CSSComputedStyleDeclaration.cpp:
194754        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
194755        * css/CSSParser.cpp:
194756        (WebCore::isSimpleLengthPropertyID):
194757        (WebCore::CSSParser::parseValue):
194758        * css/CSSProperty.cpp:
194759        (WebCore::CSSProperty::isInheritedProperty):
194760        * css/CSSPropertyNames.in:
194761        * css/CSSStyleApplyProperty.cpp:
194762        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
194763        * css/CSSStyleSelector.cpp:
194764        (WebCore::CSSStyleSelector::applyProperty):
194765        * rendering/style/RenderStyle.cpp:
194766        (WebCore::RenderStyle::diff):
194767        * rendering/style/RenderStyle.h:
194768        (WebCore::InheritedFlags::wrapPadding):
194769        (WebCore::InheritedFlags::setWrapPadding):
194770        (WebCore::InheritedFlags::initialWrapPadding):
194771        (WebCore::InheritedFlags::wrapMargin):
194772        (WebCore::InheritedFlags::setWrapMargin):
194773        (WebCore::InheritedFlags::initialWrapMargin):
194774        * rendering/style/StyleRareNonInheritedData.cpp:
194775        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
194776        (WebCore::StyleRareNonInheritedData::operator==):
194777        * rendering/style/StyleRareNonInheritedData.h:
194778
1947792011-11-17  Kenichi Ishibashi  <bashi@chromium.org>
194780
194781        [chromium] don't call fontconfig twice in complex text path
194782        https://bugs.webkit.org/show_bug.cgi?id=38701
194783
194784        Adds a new API for getting font family. For now, FontCacheLinux calls the new API, but don't use additional properties for compatibility. The old API will be removed when Chromium is ready to use new API.
194785
194786        Reviewed by Tony Chang.
194787
194788        No new tests. No behavior changes for now.
194789
194790        * platform/chromium/PlatformSupport.h: Added FontFamily struct and changed the declaration of getFontFamilyForCharacters().
194791        * platform/graphics/chromium/FontCacheLinux.cpp:
194792        (WebCore::FontCache::getFontDataForCharacters): Uses new PlatformSupport::getFontFamilyForCharacters().
194793        * platform/graphics/chromium/FontPlatformDataLinux.h:
194794        (WebCore::FontPlatformData::setFakeBold): Added.
194795        (WebCore::FontPlatformData::setFakeItalic): Added.
194796
1947972011-11-17  Mario Sanchez Prada  <msanchez@igalia.com>
194798
194799        [GTK] Consider parent AtkObject in webkit_accessible_get_parent(), if already set
194800        https://bugs.webkit.org/show_bug.cgi?id=72525
194801
194802        Reviewed by Xan Lopez.
194803
194804        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
194805        (webkit_accessible_get_parent): Call to the implementation of
194806        atk_object_get_parent in AtkObject class to check whether a parent
194807        AtkObject has been previously set, before trying to find one.
194808
1948092011-11-17  Pavel Feldman  <pfeldman@google.com>
194810
194811        Not reviewed: fix IE user agents strings in the inspector.
194812
194813        * inspector/front-end/SettingsScreen.js:
194814        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
194815
1948162011-11-16  Kenneth Rohde Christiansen  <kenneth@webkit.org>
194817
194818        Make use-fixed-layout work reliable
194819        https://bugs.webkit.org/show_bug.cgi?id=72511
194820
194821        Reviewed by Simon Hausmann.
194822
194823        Always send a viewport update per page load as we depend on that,
194824        to reset all viewport handling before doing layout.
194825
194826        * page/Page.cpp:
194827        (WebCore::Page::updateViewportArguments):
194828
1948292011-11-16  Alexander Pavlov  <apavlov@chromium.org>
194830
194831        Web Inspector: inspector follows javascript: hrefs as relative
194832        https://bugs.webkit.org/show_bug.cgi?id=72373
194833
194834        javascript: hrefs should never be linkified for security.
194835
194836        Reviewed by Yury Semikhatsky.
194837
194838        * inspector/front-end/ElementsTreeOutline.js:
194839        (WebInspector.ElementsTreeElement.prototype._buildAttributeDOM):
194840        * inspector/front-end/ResourceUtils.js:
194841        (WebInspector.completeURL):
194842
1948432011-11-17  Nikolas Zimmermann  <nzimmermann@rim.com>
194844
194845        Not reviewed. Fix 32bit builds.
194846
194847        * platform/ClockGeneric.cpp:
194848        (ClockGeneric::now): Use narrowPrecisionToFloat.
194849        * rendering/FilterEffectRenderer.cpp:
194850        (WebCore::FilterEffectRenderer::build): Use it correctly.
194851
1948522011-11-17  Dominic Mazzoni  <dmazzoni@google.com>
194853
194854        Accessibility: Chromium requires an AX notification when an iframe loads.
194855        https://bugs.webkit.org/show_bug.cgi?id=72239
194856
194857        When a document finishes loading, we were sending an AXLoadComplete if it
194858        was the top document. Now, if it's a document in an iframe, send an
194859        AXLayoutComplete on the iframe.
194860
194861        Reviewed by Chris Fleizach.
194862
194863        Test: accessibility/loading-iframe-sends-notification.html
194864
194865        * dom/Document.cpp:
194866        (WebCore::Document::implicitClose):
194867
1948682011-11-16  Mark Rowe  <mrowe@apple.com>
194869
194870        <http://webkit.org/b/72574> Remove unnecessary use of CarbonCore APIs from Audio code
194871
194872        Reviewed by Andy Estes.
194873
194874        * platform/audio/mac/AudioDestinationMac.cpp:
194875        (WebCore::AudioDestinationMac::AudioDestinationMac): Switch from using the Carbon Component Manager
194876        to using AudioUnit's own component interface.
194877        (WebCore::AudioDestinationMac::~AudioDestinationMac): Ditto.
194878        * platform/audio/mac/AudioFileReaderMac.cpp:
194879        (WebCore::AudioFileReader::AudioFileReader): Remove an unncessary trip through the Carbon File Manager
194880        when converting a char* path to a CFURLRef representing the same.
194881
1948822011-11-17  Adam Barth  <abarth@webkit.org>
194883
194884        CSP report-only mode doesn't work from an HTTP header
194885        https://bugs.webkit.org/show_bug.cgi?id=71958
194886
194887        Reviewed by Eric Seidel.
194888
194889        "It's tested or it's broken." -- Adam Leventhal
194890
194891        Test: http/tests/security/contentSecurityPolicy/report-only-from-header.php
194892
194893        * loader/FrameLoader.cpp:
194894        (WebCore::FrameLoader::didBeginDocument):
194895
1948962011-11-15  Pavel Feldman  <pfeldman@google.com>
194897
194898        Web Inspector: introduce Debugger domain capabilities concept.
194899        https://bugs.webkit.org/show_bug.cgi?id=72393
194900
194901        Many of the Preferences that we have in Settings.js and override in DevTools.js
194902        are really not preferences, but capabilities. Protocol clients should have a way
194903        of figuring out whether some capability is present before using it.
194904
194905        Reviewed by Yury Semikhatsky.
194906
194907        * bindings/js/ScriptDebugServer.cpp:
194908        (WebCore::ScriptDebugServer::canSetScriptSource):
194909        * bindings/js/ScriptDebugServer.h:
194910        * bindings/v8/ScriptDebugServer.cpp:
194911        (WebCore::ScriptDebugServer::canSetScriptSource):
194912        * bindings/v8/ScriptDebugServer.h:
194913        * inspector/CodeGeneratorInspector.py:
194914        * inspector/Inspector.json:
194915        * inspector/InspectorDebuggerAgent.cpp:
194916        (WebCore::InspectorDebuggerAgent::getCapabilities):
194917        * inspector/InspectorDebuggerAgent.h:
194918        * inspector/front-end/DebuggerModel.js:
194919        (WebInspector.DebuggerModel):
194920        (WebInspector.DebuggerModel.prototype.enableDebugger):
194921        (WebInspector.DebuggerModel.prototype.canSetScriptSource):
194922        * inspector/front-end/DebuggerPresentationModel.js:
194923        (WebInspector.DebuggerPresentationModel.prototype.canEditScriptSource):
194924        * inspector/front-end/Settings.js:
194925
1949262011-11-17  Mihnea Ovidenie  <mihnea@adobe.com>
194927
194928        CSS exclusions: parse the wrap-flow and wrap-through properties
194929        https://bugs.webkit.org/show_bug.cgi?id=71904
194930
194931        Reviewed by Dean Jackson.
194932
194933        Tests: fast/exclusions/wrap-flow-parsing.html
194934               fast/exclusions/wrap-through-parsing.html
194935
194936        * css/CSSComputedStyleDeclaration.cpp:
194937        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
194938        * css/CSSParser.cpp:
194939        (WebCore::CSSParser::parseValue):
194940        * css/CSSPrimitiveValueMappings.h:
194941        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
194942        (WebCore::CSSPrimitiveValue::operator WrapFlow):
194943        (WebCore::CSSPrimitiveValue::operator WrapThrough):
194944        * css/CSSProperty.cpp:
194945        (WebCore::CSSProperty::isInheritedProperty):
194946        * css/CSSPropertyNames.in:
194947        * css/CSSStyleSelector.cpp:
194948        (WebCore::CSSStyleSelector::applyProperty):
194949        * css/CSSValueKeywords.in:
194950        * rendering/style/RenderStyle.cpp:
194951        (WebCore::RenderStyle::diff):
194952        * rendering/style/RenderStyle.h:
194953        (WebCore::InheritedFlags::wrapFlow):
194954        (WebCore::InheritedFlags::wrapThrough):
194955        (WebCore::InheritedFlags::setWrapFlow):
194956        (WebCore::InheritedFlags::setWrapThrough):
194957        (WebCore::InheritedFlags::initialWrapFlow):
194958        (WebCore::InheritedFlags::initialWrapThrough):
194959        * rendering/style/RenderStyleConstants.h:
194960        * rendering/style/StyleRareNonInheritedData.cpp:
194961        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
194962        (WebCore::StyleRareNonInheritedData::operator==):
194963        * rendering/style/StyleRareNonInheritedData.h:
194964
1949652011-11-16  Dean Jackson  <dino@apple.com>
194966
194967        Implement filter function shorthands
194968        https://bugs.webkit.org/show_bug.cgi?id=68475
194969
194970        Reviewed by Simon Fraser.
194971
194972        Implement the shorthand functions for filter effects.
194973        This includes grayscale, sepia, invert, hue-rotate, saturate,
194974        opacity, gamma, drop-shadow and blur. At the moment sharpen
194975        and url are not supported.
194976
194977        CSSParser needed to be updated because it was mistakenly
194978        clamping saturation values to [0,1]. Any positive number
194979        is allowed so you can produce super-saturated images.
194980
194981        The biggest change was the API to FilterEffectRenderer. It now
194982        builds a list of effects and applies the filter itself.
194983
194984        Note that the drop-shadow and blur operations don't yet
194985        provide accurate results because they produce an output image
194986        that is larger than the input. See
194987        https://bugs.webkit.org/show_bug.cgi?id=71929
194988        https://bugs.webkit.org/show_bug.cgi?id=71930
194989
194990        While I was there, I fixed a small style issue in
194991        CustomFilterOperation.
194992
194993        Tests: css3/filters/effect-blur.html
194994               css3/filters/effect-combined.html
194995               css3/filters/effect-drop-shadow.html
194996               css3/filters/effect-gamma.html
194997               css3/filters/effect-grayscale.html
194998               css3/filters/effect-hue-rotate.html
194999               css3/filters/effect-invert.html
195000               css3/filters/effect-opacity.html
195001               css3/filters/effect-saturate.html
195002               css3/filters/effect-sepia.html
195003
195004        * WebCore.xcodeproj/project.pbxproj: Add StyleShader.h to
195005        the project (missing from earlier commit).
195006        * css/CSSParser.cpp:
195007        (WebCore::CSSParser::isValidFilterArgument): Don't clamp
195008        saturate to [0,1]
195009        * platform/graphics/filters/CustomFilterOperation.h:
195010        * rendering/FilterEffectRenderer.cpp:
195011        (WebCore::endMatrixRow):
195012        (WebCore::lastMatrixRow):
195013        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
195014        (WebCore::FilterEffectRenderer::inputContext):
195015        (WebCore::FilterEffectRenderer::build):
195016        (WebCore::FilterEffectRenderer::prepare):
195017        (WebCore::FilterEffectRenderer::apply):
195018        * rendering/FilterEffectRenderer.h:
195019        (WebCore::FilterEffectRenderer::setSourceImageRect):
195020        (WebCore::FilterEffectRenderer::output):
195021        (WebCore::FilterEffectRenderer::setMaxEffectRects):
195022        (WebCore::FilterEffectRenderer::lastEffect):
195023        * rendering/RenderLayer.cpp:
195024        (WebCore::RenderLayer::paintLayer):
195025        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
195026        (WebCore::RenderLayer::updateFilterBackingStore):
195027
1950282011-11-16  Kentaro Hara  <haraken@chromium.org>
195029
195030        Remove all custom constructors of Events from JSC
195031        https://bugs.webkit.org/show_bug.cgi?id=72577
195032
195033        Reviewed by Adam Barth.
195034
195035        - Makes CodeGeneratorJS.pm generate Event constructors
195036        if [ConstructorTemplate=Event] IDL is specified.
195037        - Removes EventConstructors.h and JSEventConstructors.cpp.
195038        - Replaces all JSC custom constructors of Events
195039        with the generated code by [ConstructorTemplate=Event] IDL.
195040
195041        Tests: fast/events/constructors/before-load-event-constructor.html
195042               fast/events/constructors/close-event-constructor.html
195043               fast/events/constructors/custom-event-constructor.html
195044               fast/events/constructors/error-event-constructor.html
195045               fast/events/constructors/event-constructors.html
195046               fast/events/constructors/hash-change-event-constructor.html
195047               fast/events/constructors/message-event-constructor.html
195048               fast/events/constructors/overflow-event-constructor.html
195049               fast/events/constructors/page-transition-event-constructor.html
195050               fast/events/constructors/pop-state-event-constructor.html
195051               fast/events/constructors/progress-event-constructor.html
195052               fast/events/constructors/track-event-constructor.html
195053               fast/events/constructors/webkit-animation-event-constructor.html
195054               fast/events/constructors/webkit-transition-event-constructor.html
195055
195056        * bindings/generic/EventConstructors.h: Removed. This is what we wanted to do in this patch.
195057        * bindings/js/JSEventConstructors.cpp: Ditto.
195058        * GNUmakefile.list.am: Removed EventConstructors.h and JSEventConstructors.cpp.
195059        * Target.pri: Ditto.
195060        * UseJSC.cmake: Ditto.
195061        * WebCore.gypi: Ditto.
195062        * WebCore.vcproj/WebCore.vcproj: Ditto.
195063        * WebCore.xcodeproj/project.pbxproj: Ditto.
195064        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
195065
195066        * bindings/scripts/CodeGeneratorJS.pm:
195067        (GenerateHeader): Added JSDictionary.h.
195068        (GenerateConstructorDeclaration): Added a header for fillXXXXEventInit(...).
195069        (GenerateConstructorDefinition): Generates an Event constructor. The generated code is the same as the code that had been written in JSEventConstructors.cpp.
195070        (IsConstructable): Judges if a given interface is constructable.
195071        (IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
195072
195073        * bindings/scripts/test/TestEventConstructor.idl: Changed 'CustomConstructor=Event' to 'ConstructorTemplate=Event'. We should have changed this in r100108.
195074        * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Updated a run-bindings-tests result.
195075        (WebCore::JSTestEventConstructorConstructor::constructJSTestEventConstructor):
195076        (WebCore::fillTestEventConstructorInit):
195077        * bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
195078        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
195079        (WebCore::V8TestEventConstructor::constructorCallback):
195080        (WebCore::fillTestEventConstructorInit):
195081        * bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
195082
195083        * dom/BeforeLoadEvent.idl: In essence, replaced [JSCustomConstructor] IDL with [JSConstructorTemplate=Event] IDL.
195084        * dom/CustomEvent.idl: Ditto.
195085        * dom/ErrorEvent.idl: Ditto.
195086        * dom/Event.idl: Ditto.
195087        * dom/HashChangeEvent.idl: Ditto.
195088        * dom/MessageEvent.idl: Ditto.
195089        * dom/OverflowEvent.idl: Ditto.
195090        * dom/PageTransitionEvent.idl: Ditto.
195091        * dom/PopStateEvent.idl: Ditto.
195092        * dom/ProgressEvent.idl: Ditto.
195093        * dom/WebKitAnimationEvent.idl: Ditto.
195094        * dom/WebKitTransitionEvent.idl: Ditto.
195095        * html/track/TrackEvent.idl: Ditto.
195096        * websockets/CloseEvent.idl: Ditto.
195097
1950982011-11-16  Dean Jackson  <dino@apple.com>
195099
195100        Build fix for Apple WebKit due to r100560.
195101        When I removed the violating header file it lost the
195102        reference to Color.
195103
195104        No review.
195105
195106        * platform/graphics/filters/FilterOperation.h:
195107
1951082011-11-16  Dean Jackson  <dino@apple.com>
195109
195110        DropShadowFilterOperation violates platform isolation
195111        https://bugs.webkit.org/show_bug.cgi?id=72544
195112
195113        Reviewed by Simon Fraser.
195114
195115        Move ShadowData properties into the DropShadowFilterOperation
195116        to avoid depending on something outside platform.
195117
195118        * css/CSSComputedStyleDeclaration.cpp:
195119        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
195120        * css/CSSStyleSelector.cpp:
195121        (WebCore::CSSStyleSelector::createFilterOperations):
195122        * platform/graphics/filters/FilterOperation.h:
195123        (WebCore::DropShadowFilterOperation::create):
195124        (WebCore::DropShadowFilterOperation::x):
195125        (WebCore::DropShadowFilterOperation::y):
195126        (WebCore::DropShadowFilterOperation::stdDeviation):
195127        (WebCore::DropShadowFilterOperation::color):
195128        (WebCore::DropShadowFilterOperation::operator==):
195129        (WebCore::DropShadowFilterOperation::DropShadowFilterOperation):
195130
1951312011-11-16  Adam Bergkvist  <adam.bergkvist@ericsson.com>
195132
195133        Use a simple page client for user consent in getUserMedia()
195134        https://bugs.webkit.org/show_bug.cgi?id=70897
195135
195136        Reviewed by Adam Barth.
195137
195138        This is one in a series of patches that update the MediaStream feature
195139        to use WebCore platform interfaces.
195140
195141        Covered by existing tests.
195142
195143        * GNUmakefile.list.am:
195144        * WebCore.gypi:
195145        * mediastream/MediaStreamClient.h: Removed.
195146        * mediastream/MediaStreamController.cpp: Removed.
195147        * mediastream/MediaStreamController.h: Removed.
195148        * mediastream/MediaStreamFrameController.cpp: Removed.
195149        * mediastream/MediaStreamFrameController.h: Removed.
195150        * mediastream/UserMediaClient.h: Added.
195151        (WebCore::UserMediaClient::~UserMediaClient):
195152        * mediastream/UserMediaRequest.cpp: Added.
195153        (WebCore::UserMediaRequest::create):
195154        (WebCore::UserMediaRequest::UserMediaRequest):
195155        (WebCore::UserMediaRequest::~UserMediaRequest):
195156        (WebCore::UserMediaRequest::start):
195157        (WebCore::UserMediaRequest::mediaStreamSourcesQueryCompleted):
195158        (WebCore::UserMediaRequest::succeed):
195159        (WebCore::UserMediaRequest::fail):
195160        (WebCore::UserMediaRequest::contextDestroyed):
195161        (WebCore::UserMediaRequest::parseOptions):
195162        * mediastream/UserMediaRequest.h: Added.
195163        (WebCore::UserMediaRequest::audio):
195164        (WebCore::UserMediaRequest::video):
195165        (WebCore::UserMediaRequest::cameraPreferenceUser):
195166        (WebCore::UserMediaRequest::cameraPreferenceEnvironment):
195167        (WebCore::UserMediaRequest::successCallback):
195168        (WebCore::UserMediaRequest::errorCallback):
195169        * page/CallbackTask.h: Removed.
195170        * page/Frame.cpp:
195171        (WebCore::Frame::Frame):
195172        (WebCore::Frame::~Frame):
195173        (WebCore::Frame::pageDestroyed):
195174        (WebCore::Frame::transferChildFrameToNewDocument):
195175        * page/Frame.h:
195176        * page/Navigator.cpp:
195177        (WebCore::Navigator::webkitGetUserMedia):
195178        * page/NavigatorUserMediaErrorCallback.h:
195179        * page/Page.cpp:
195180        (WebCore::Page::Page):
195181        (WebCore::Page::~Page):
195182        (WebCore::Page::PageClients::PageClients):
195183        * page/Page.h:
195184        (WebCore::Page::userMediaClient):
195185
1951862011-11-16  David Grogan  <dgrogan@chromium.org>
195187
195188        instantiate WorkerEventQueue in WorkerContext
195189        https://bugs.webkit.org/show_bug.cgi?id=72528
195190
195191        Reviewed by David Levin.
195192
195193        No new tests - nothing uses it yet.
195194
195195        * workers/WorkerContext.cpp:
195196        (WebCore::WorkerContext::WorkerContext):
195197        Instantiate WorkerEventQueue in InitializerList
195198
195199        * workers/WorkerEventQueue.h:
195200        Don't inherit from RefCounted, WorkerContext has an OwnPtr to it
195201
1952022011-11-16  Kentaro Hara  <haraken@chromium.org>
195203
195204        Unreviewed. Rebaselined run-bindings-tests results.
195205
195206        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
195207        (WebCore::JSTestEventConstructor::JSTestEventConstructor):
195208        (WebCore::JSTestEventConstructorOwner::finalize):
195209        * bindings/scripts/test/JS/JSTestEventConstructor.h:
195210        (WebCore::JSTestEventConstructor::impl):
195211        (WebCore::JSTestEventConstructor::releaseImpl):
195212        * bindings/scripts/test/JS/JSTestInterface.cpp:
195213        (WebCore::JSTestInterface::JSTestInterface):
195214        (WebCore::JSTestInterfaceOwner::finalize):
195215        * bindings/scripts/test/JS/JSTestInterface.h:
195216        (WebCore::JSTestInterface::impl):
195217        (WebCore::JSTestInterface::releaseImpl):
195218        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
195219        (WebCore::JSTestMediaQueryListListener::JSTestMediaQueryListListener):
195220        (WebCore::JSTestMediaQueryListListenerOwner::finalize):
195221        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
195222        (WebCore::JSTestMediaQueryListListener::impl):
195223        (WebCore::JSTestMediaQueryListListener::releaseImpl):
195224        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
195225        (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
195226        (WebCore::JSTestNamedConstructorOwner::finalize):
195227        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
195228        (WebCore::JSTestNamedConstructor::impl):
195229        (WebCore::JSTestNamedConstructor::releaseImpl):
195230        * bindings/scripts/test/JS/JSTestObj.cpp:
195231        (WebCore::JSTestObj::JSTestObj):
195232        (WebCore::JSTestObjOwner::finalize):
195233        * bindings/scripts/test/JS/JSTestObj.h:
195234        (WebCore::JSTestObj::impl):
195235        (WebCore::JSTestObj::releaseImpl):
195236        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
195237        (WebCore::JSTestSerializedScriptValueInterface::JSTestSerializedScriptValueInterface):
195238        (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
195239        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
195240        (WebCore::JSTestSerializedScriptValueInterface::impl):
195241        (WebCore::JSTestSerializedScriptValueInterface::releaseImpl):
195242
1952432011-11-16  Jay Civelli  <jcivelli@chromium.org>
195244
195245        Make sure MHTML documents use the domain of the MHTML file.
195246        https://bugs.webkit.org/show_bug.cgi?id=72445
195247
195248        Reviewed by Adam Barth.
195249
195250        * dom/Document.h:
195251        (WebCore::Document::setBaseURL):
195252        * loader/FrameLoader.cpp:
195253        (WebCore::FrameLoader::receivedFirstData):
195254
1952552011-11-16  Julien Chaffraix  <jchaffraix@webkit.org>
195256
195257        Update supported display list after -webkit-grid and -webkit-inline-grid addition
195258        https://bugs.webkit.org/show_bug.cgi?id=72559
195259
195260        Reviewed by Tony Chang.
195261
195262        * css/CSSParser.cpp:
195263        (WebCore::CSSParser::parseValue): Added the 2 new supported
195264        values (forgotten in the previous change).
195265
1952662011-11-11  Adrienne Walker  <enne@google.com>
195267
195268        [chromium] Expose mock scrollbars to window.internals
195269        https://bugs.webkit.org/show_bug.cgi?id=72195
195270
195271        Reviewed by James Robinson.
195272
195273        * testing/Internals.cpp:
195274        (WebCore::Internals::setMockScrollbarsEnabled):
195275        * testing/Internals.h:
195276        * testing/Internals.idl:
195277
1952782011-11-16  Michael Nordman  <michaeln@google.com>
195279
195280        ApplicationCache manifest should work with any MIME type.
195281        https://bugs.webkit.org/show_bug.cgi?id=72082
195282
195283        Reviewed by Alexey Proskuryakov.
195284
195285        * loader/appcache/ApplicationCacheGroup.cpp:
195286        (WebCore::ApplicationCacheGroup::didReceiveManifestResponse): Remove the test for a particular type.
195287
1952882011-11-16  Daniel Sievers  <sievers@chromium.org>
195289
195290        [Chromium] Avoid color mask operations for root layers
195291        https://bugs.webkit.org/show_bug.cgi?id=72452
195292
195293        Instead of relying on the combination of clearing the surface and initializing
195294        the alpha channel to 1.0 followed by disabling alpha in the color mask when
195295        rendering the root layer tiles, add shaders to support writing out opaque layers
195296        (alpha channel values written as 1.0).
195297
195298        Reviewed by James Robinson.
195299
195300        No functional change made that requires new tests.
195301
195302        * platform/graphics/chromium/LayerRendererChromium.cpp:
195303        (WebCore::LayerRendererChromium::drawLayersInternal):
195304        (WebCore::LayerRendererChromium::initializeSharedObjects):
195305        (WebCore::LayerRendererChromium::tilerProgramOpaque):
195306        (WebCore::LayerRendererChromium::tilerProgramOpaqueAA):
195307        (WebCore::LayerRendererChromium::tilerProgramSwizzleOpaque):
195308        (WebCore::LayerRendererChromium::tilerProgramSwizzleOpaqueAA):
195309        (WebCore::LayerRendererChromium::cleanupSharedObjects):
195310        * platform/graphics/chromium/LayerRendererChromium.h:
195311        * platform/graphics/chromium/ShaderChromium.cpp:
195312        (WebCore::FragmentTexOpaqueBinding::FragmentTexOpaqueBinding):
195313        (WebCore::FragmentTexOpaqueBinding::init):
195314        (WebCore::FragmentShaderRGBATexOpaque::getShaderString):
195315        (WebCore::FragmentShaderRGBATexSwizzleOpaque::getShaderString):
195316        (WebCore::FragmentTexClampOpaqueAABinding::FragmentTexClampOpaqueAABinding):
195317        (WebCore::FragmentTexClampOpaqueAABinding::init):
195318        (WebCore::FragmentShaderRGBATexClampOpaqueAA::getShaderString):
195319        (WebCore::FragmentShaderRGBATexClampSwizzleOpaqueAA::getShaderString):
195320        * platform/graphics/chromium/ShaderChromium.h:
195321        (WebCore::FragmentTexOpaqueBinding::alphaLocation):
195322        (WebCore::FragmentTexOpaqueBinding::samplerLocation):
195323        (WebCore::FragmentTexClampOpaqueAABinding::alphaLocation):
195324        (WebCore::FragmentTexClampOpaqueAABinding::samplerLocation):
195325        (WebCore::FragmentTexClampOpaqueAABinding::fragmentTexTransformLocation):
195326        (WebCore::FragmentTexClampOpaqueAABinding::edgeLocation):
195327        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
195328        (WebCore::CCTiledLayerImpl::draw):
195329        * platform/graphics/chromium/cc/CCTiledLayerImpl.h:
195330
1953312011-11-16  Tim Horton  <timothy_horton@apple.com>
195332
195333        Implement CSS3 Images cross-fade() image function
195334        https://bugs.webkit.org/show_bug.cgi?id=52162
195335        <rdar://problem/10209254>
195336
195337        Reviewed by Simon Fraser.
195338
195339        Render -webkit-cross-fade. Only cross-fades entirely composed of images will render for now,
195340        cross-fades involving generated images are not yet implemented.
195341
195342        Reorganize GeneratedImage to be the base class for GeneratorGeneratedImage and CrossfadeGeneratedImage.
195343
195344        Add a pending state to CSSImageGeneratorValue, which is used to enable the pending-images loading
195345        mechanism for -webkit-cross-fade's sub-images. Rework the logic in CSSStyleSelector to support pending
195346        generated images.
195347        
195348        Support parsing fractional values for the cross-fade amount (for example, 0.5 = 50%). Clamp cross-fade
195349        amount to 0-1 range.
195350
195351        Tests: css3/images/cross-fade-invalidation.html
195352               css3/images/cross-fade-simple.html
195353               css3/images/cross-fade-sizing.html
195354               css3/images/cross-fade-tiled.html
195355
195356        * CMakeLists.txt:
195357        * GNUmakefile.list.am:
195358        * Target.pri:
195359        * WebCore.gypi:
195360        * WebCore.xcodeproj/project.pbxproj:
195361        * css/CSSCanvasValue.h:
195362        (WebCore::CSSCanvasValue::isPending):
195363        (WebCore::CSSCanvasValue::loadSubimages):
195364        * css/CSSCrossfadeValue.cpp:
195365        (WebCore::CSSCrossfadeValue::isPending):
195366        (WebCore::CSSCrossfadeValue::loadSubimages):
195367        (WebCore::subimageIsPending):
195368        (WebCore::loadSubimage):
195369        (WebCore::cachedImageForCSSValue):
195370        (WebCore::CSSCrossfadeValue::image):
195371        (WebCore::CSSCrossfadeValue::crossfadeChanged):
195372        * css/CSSCrossfadeValue.h:
195373        (WebCore::CSSCrossfadeValue::create):
195374        (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
195375        (WebCore::CSSCrossfadeValue::fixedSize):
195376        (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
195377        (WebCore::CSSCrossfadeValue::CrossfadeObserverProxy::CrossfadeObserverProxy):
195378        * css/CSSGradientValue.cpp:
195379        (WebCore::CSSGradientValue::image):
195380        * css/CSSGradientValue.h:
195381        (WebCore::CSSGradientValue::isPending):
195382        (WebCore::CSSGradientValue::loadSubimages):
195383        * css/CSSImageGeneratorValue.cpp:
195384        (WebCore::CSSImageGeneratorValue::generatedOrPendingImage):
195385        (WebCore::CSSImageGeneratorValue::generatedImage):
195386        (WebCore::CSSImageGeneratorValue::isPending):
195387        (WebCore::CSSImageGeneratorValue::loadSubimages):
195388        * css/CSSImageGeneratorValue.h:
195389        * css/CSSParser.cpp:
195390        (WebCore::CSSParser::parseCrossfade):
195391        * css/CSSStyleSelector.cpp:
195392        (WebCore::CSSStyleSelector::styleImage):
195393        (WebCore::CSSStyleSelector::generatedOrPendingFromValue):
195394        (WebCore::CSSStyleSelector::loadPendingImage):
195395        (WebCore::CSSStyleSelector::loadPendingImages):
195396        * css/CSSStyleSelector.h:
195397        * platform/graphics/BitmapImage.h:
195398        * platform/graphics/CrossfadeGeneratedImage.cpp: Added.
195399        (WebCore::CrossfadeGeneratedImage::CrossfadeGeneratedImage):
195400        (WebCore::CrossfadeGeneratedImage::~CrossfadeGeneratedImage):
195401        (WebCore::CrossfadeGeneratedImage::drawCrossfade):
195402        (WebCore::CrossfadeGeneratedImage::draw):
195403        (WebCore::CrossfadeGeneratedImage::drawPattern):
195404        (WebCore::CrossfadeGeneratedImage::imageChanged):
195405        * platform/graphics/CrossfadeGeneratedImage.h: Added.
195406        (WebCore::CrossfadeGeneratedImage::create):
195407        (WebCore::CrossfadeSubimageObserverProxy::CrossfadeSubimageObserverProxy):
195408        (WebCore::CrossfadeSubimageObserverProxy::setReady):
195409        * platform/graphics/GeneratedImage.h:
195410        (WebCore::GeneratedImage::GeneratedImage):
195411        * platform/graphics/GeneratorGeneratedImage.cpp: Renamed from Source/WebCore/platform/graphics/GeneratedImage.cpp.
195412        (WebCore::GeneratorGeneratedImage::draw):
195413        (WebCore::GeneratorGeneratedImage::drawPattern):
195414        (WebCore::GeneratedImage::computeIntrinsicDimensions):
195415        * platform/graphics/GeneratorGeneratedImage.h: Copied from Source/WebCore/platform/graphics/GeneratedImage.h.
195416        (WebCore::GeneratorGeneratedImage::create):
195417        (WebCore::GeneratorGeneratedImage::~GeneratorGeneratedImage):
195418        (WebCore::GeneratorGeneratedImage::GeneratorGeneratedImage):
195419        * platform/graphics/Image.h:
195420        * platform/graphics/ImageBuffer.h:
195421        * rendering/style/StylePendingImage.h:
195422        (WebCore::StylePendingImage::create):
195423        (WebCore::StylePendingImage::data):
195424        (WebCore::StylePendingImage::cssImageValue):
195425        (WebCore::StylePendingImage::cssImageGeneratorValue):
195426        (WebCore::StylePendingImage::StylePendingImage):
195427
195428
1954292011-11-16  Dan Bernstein  <mitz@apple.com>
195430
195431        WebCore part of <rdar://problem/10262242> Add API for paginated display
195432        https://bugs.webkit.org/show_bug.cgi?id=72537
195433
195434        Reviewed by Anders Carlsson.
195435
195436        * WebCore.exp.in: Exported Page::pageCount().
195437        * page/Page.cpp:
195438        (WebCore::Page::pageCount): Added this getter.
195439        * page/Page.h:
195440
1954412011-11-16  Shawn Singh  <shawnsingh@chromium.org>
195442
195443        [chromium] Track property changes for render surfaces.
195444        https://bugs.webkit.org/show_bug.cgi?id=72521
195445
195446        Reviewed by James Robinson.
195447
195448        Created CCRenderSurfaceTest for testing.
195449
195450        * platform/graphics/chromium/LayerRendererChromium.cpp:
195451        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
195452        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
195453        (WebCore::CCLayerImpl::resetPropertyChangedFlagForSubtree):
195454        * platform/graphics/chromium/cc/CCLayerImpl.h:
195455        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
195456        (WebCore::CCRenderSurface::CCRenderSurface):
195457        (WebCore::CCRenderSurface::setClipRect):
195458        (WebCore::CCRenderSurface::setContentRect):
195459        (WebCore::CCRenderSurface::surfacePropertyChanged):
195460        * platform/graphics/chromium/cc/CCRenderSurface.h:
195461        (WebCore::CCRenderSurface::resetPropertyChangedFlag):
195462
1954632011-11-16  Ben Wells  <benwells@chromium.org>
195464
195465        Seaming on border corners with mixed colour alpha borders
195466        https://bugs.webkit.org/show_bug.cgi?id=70471
195467
195468        Reviewed by Simon Fraser.
195469
195470        Seaming is fixed by antialiasing mitred corners for edges that have alpha and are joining
195471        a side that is of a different color.
195472
195473        Test: fast/borders/border-mixed-alpha.html
195474
195475        * rendering/RenderBoxModelObject.cpp:
195476        (WebCore::colorNeedsAntiAliasAtCorner):
195477        (WebCore::RenderBoxModelObject::paintOneBorderSide):
195478
1954792011-11-16  Sam Weinig  <sam@webkit.org>
195480
195481        JS wrappers of DOM objects should have no-op constructors
195482        https://bugs.webkit.org/show_bug.cgi?id=72556
195483
195484        Reviewed by Geoffrey Garen.
195485
195486        Stop using a RefPtr to hold DOM objects contained by JavaScript
195487        wrappers and instead use a raw pointer. We were already releasing
195488        the underlying object before the destructor ran (via the finalizer)
195489        so the default behavior of destroying the RefPtr is always unnecessary
195490        busy work. 
195491
195492        * bindings/js/JSCSSValueCustom.cpp:
195493        (WebCore::JSCSSValueOwner::finalize):
195494        * bindings/js/JSNodeCustom.cpp:
195495        (WebCore::JSNodeOwner::finalize):
195496        (WebCore::JSNode::visitChildren):
195497        Call releaseImpl() instead of clearImpl().
195498
195499        * bindings/scripts/CodeGeneratorJS.pm:
195500        (GenerateHeader):
195501        Stop storing m_impl in a RefPtr and instead use a raw pointer. Switch
195502        clearImpl() to releaseImpl(), which explicitly derefs the pointer and
195503        clear it.
195504
195505        (GenerateImplementation):
195506        Use leakPtr() to explicitly adopt the PassRefPtr into the raw pointer.
195507        Change default finalize to call releaseImpl() instead of clearImpl().
195508
1955092011-11-16  Michael Saboff  <msaboff@apple.com>
195510
195511        Enable 8 Bit Strings in JavaScriptCore
195512        https://bugs.webkit.org/show_bug.cgi?id=71337
195513
195514        This patch turns on 8 bit strings in StringImpl and enables
195515        their use in JavaScriptCore. Some of the changes are to
195516        turn on code that had been staged (Lexer.cpp, Identifier.cpp,
195517        SmallStrings.cpp and some of StringImpl.{h,cpp}).
195518        Other changes are minor fixes to make 8 bit strings work
195519        (UString.h, StringImpl::getData16SlowCase()).
195520        Changed StringBuffer to be a templated class based on character
195521        type.  This change riplled into WebCore code as well.
195522
195523        Reviewed by Geoffrey Garen.
195524
195525        No new tests - Changes in response to refactoring StringBuffer to
195526        be a template on character type.
195527
195528        * css/CSSParser.cpp:
195529        (WebCore::quoteCSSString):
195530        * css/CSSPrimitiveValue.cpp:
195531        (WebCore::formatNumber):
195532        * dom/Document.cpp:
195533        (WebCore::canonicalizedTitle):
195534        * platform/Length.cpp:
195535        (WebCore::newCoordsArray):
195536        * platform/sql/SQLiteStatement.cpp:
195537        (WebCore::SQLiteStatement::prepare):
195538        * platform/text/TextCodecUTF16.cpp:
195539        (WebCore::TextCodecUTF16::decode):
195540        * platform/text/TextCodecUTF8.cpp:
195541        (WebCore::TextCodecUTF8::decode):
195542        * rendering/RenderText.cpp:
195543        (WebCore::makeCapitalized):
195544        * xml/XSLTProcessorLibxslt.cpp:
195545        (WebCore::writeToStringBuilder):
195546
1955472011-11-16  Alexandre Elias  <aelias@google.com>
195548
195549        [chromium] Improvements for page scale delta during commit
195550        https://bugs.webkit.org/show_bug.cgi?id=72471
195551
195552        Reviewed by James Robinson.
195553
195554        Page scale now follows the same commit flow as scroll position:
195555        the delta is folded into m_pageScale at BFAC time, and a "sent" value
195556        is preserved for temporary use until the commit finishes.
195557
195558        I also merged setPageScaleFactor and setPageScaleFactorLimits into one
195559        function on the impl side.  The reason is that setPageFactor must
195560        be applied after the limits are updated, but on the other hand setting
195561        the limits first may cause an unnecessary clamp of the scale delta.
195562        Merging the methods avoids this bind.
195563
195564        No new tests. (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
195565
195566        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
195567        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
195568        (WebCore::CCLayerTreeHost::applyScrollAndScale):
195569        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
195570        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
195571        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
195572        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorAndLimits):
195573        (WebCore::CCLayerTreeHostImpl::adjustScrollsForPageScaleChange):
195574        (WebCore::CCLayerTreeHostImpl::setScaleDelta):
195575        (WebCore::CCLayerTreeHostImpl::applyScaleDeltaToScrollLayer):
195576        (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
195577        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
195578        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
195579
1955802011-11-16  Joshua Bell  <jsbell@chromium.org>
195581
195582        IndexedDB: Reduce nested key depth threshold, re-enable flaky test
195583        https://bugs.webkit.org/show_bug.cgi?id=72529
195584
195585        Reviewed by Adam Barth.
195586
195587        Drop maximum array key depth from 20k to 2k.
195588
195589        * bindings/v8/IDBBindingUtilities.cpp:
195590
1955912011-11-16  Nate Chapin  <japhet@chromium.org>
195592
195593        Fix incorrect multipart handling in r100311.
195594        SubresourceLoader::didReceiveData() is getting called
195595        twice, which has unintended side effects.
195596        https://bugs.webkit.org/show_bug.cgi?id=72436
195597
195598        Reviewed by Adam Barth.
195599
195600        http/tests/multipart/invalid-image-data.html should stop
195601        asserting after this.
195602
195603        * loader/SubresourceLoader.cpp:
195604        (WebCore::SubresourceLoader::didReceiveResponse):
195605        (WebCore::SubresourceLoader::didReceiveData):
195606        (WebCore::SubresourceLoader::sendDataToResource):
195607        * loader/SubresourceLoader.h:
195608
1956092011-11-16  Justin Schuh  <jschuh@chromium.org>
195610
195611        Clear SVG filter client when its node is detached
195612        https://bugs.webkit.org/show_bug.cgi?id=71741
195613
195614        Reviewed by Eric Seidel.
195615
195616        Test: svg/filters/reparent-animated-filter-target.html
195617
195618        * rendering/svg/SVGResourcesCache.cpp:
195619        (WebCore::SVGResourcesCache::clientDestroyed):
195620
1956212011-11-16  John Bates  <jbates@google.com>
195622
195623        Page/layer flashes after GPU-accelerated CSS transition
195624        https://bugs.webkit.org/show_bug.cgi?id=72343
195625
195626        LayerRendererChromium was resizing the window to 1x1 at initialization.
195627        In some cases, there is no drawLayers before switching back to
195628        software rendering. This left the window resized to 1x1 and the
195629        following software paints would therefore not be visible. This change
195630        moves the reshape call into drawLayers so that it will only be called
195631        if rendering will occur.
195632
195633        Reviewed by James Robinson.
195634
195635        New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.
195636
195637        * platform/graphics/chromium/LayerRendererChromium.cpp:
195638        (WebCore::LayerRendererChromium::viewportChanged):
195639        (WebCore::LayerRendererChromium::doViewportChanged):
195640        (WebCore::LayerRendererChromium::drawLayersInternal):
195641        * platform/graphics/chromium/LayerRendererChromium.h:
195642
1956432011-11-16  Alexandre Elias  <aelias@google.com>
195644
195645        [chromium] Add null pointer check in setDeviceScaleFactor
195646        https://bugs.webkit.org/show_bug.cgi?id=72464
195647
195648        Reviewed by James Robinson.
195649
195650        No new tests. (Tiny fix.)
195651
195652        * page/Page.cpp:
195653        (WebCore::Page::setDeviceScaleFactor):
195654
1956552011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
195656
195657        Unreviewed, rolling out r100438.
195658        http://trac.webkit.org/changeset/100438
195659        https://bugs.webkit.org/show_bug.cgi?id=72536
195660
195661        Broke unit tests (Requested by jamesr_ on #webkit).
195662
195663        * platform/PlatformScreen.h:
195664        * platform/chromium/PlatformScreenChromium.cpp:
195665        * platform/chromium/PlatformSupport.h:
195666        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
195667        (WebCore::CCSettings::CCSettings):
195668        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
195669        (WebCore::CCThreadProxy::initializeImplOnImplThread):
195670
1956712011-11-16  Andy Estes  <aestes@apple.com>
195672
195673        Assertion failure in LayerFlushScheduler::resume() when running some layout tests in WebKitTestRunner
195674        https://bugs.webkit.org/show_bug.cgi?id=72535
195675
195676        Reviewed by Anders Carlsson.
195677
195678        LayerFlushScheduler attempted to use a counter strategy for calls to
195679        suspend() and resume(), which allowed us to assert that these calls
195680        were balanced. Unfortunately it is hard to guarantee this in WebKit2,
195681        where we sometimes try to call suspend() before we've entered
195682        compositing mode (hence before we have a LayerTreeHost and a
195683        LayerFlushScheduler). When we later call resume(), this call ends up
195684        being unbalanced and asserts.
195685
195686        For now, remove the assertions and allow unbalanced calls to suspend()
195687        and resume().
195688
195689        * platform/graphics/ca/LayerFlushScheduler.cpp:
195690        (WebCore::LayerFlushScheduler::suspend):
195691        (WebCore::LayerFlushScheduler::resume):
195692        * platform/graphics/ca/LayerFlushScheduler.h:
195693        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
195694        (WebCore::LayerFlushScheduler::LayerFlushScheduler):
195695        (WebCore::LayerFlushScheduler::runLoopObserverCallback):
195696        (WebCore::LayerFlushScheduler::schedule):
195697
1956982011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
195699
195700        Unreviewed, rolling out r100473.
195701        http://trac.webkit.org/changeset/100473
195702        https://bugs.webkit.org/show_bug.cgi?id=72534
195703
195704        "Broke the Mac Build" (Requested by mwenge2 on #webkit).
195705
195706        * CMakeLists.txt:
195707        * GNUmakefile.list.am:
195708        * Target.pri:
195709        * WebCore.gypi:
195710        * rendering/RenderBlock.cpp:
195711        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks):
195712        * rendering/RenderObject.cpp:
195713        (WebCore::RenderObject::createObject):
195714        (WebCore::RenderObject::addChild):
195715        * rendering/RenderObject.h:
195716        * rendering/RenderTable.cpp:
195717        (WebCore::RenderTable::addChild):
195718        * rendering/RenderTable.h:
195719        * rendering/RenderTableCaption.cpp: Removed.
195720        * rendering/RenderTableCaption.h: Removed.
195721
1957222011-11-16  Sheriff Bot  <webkit.review.bot@gmail.com>
195723
195724        Unreviewed, rolling out r100479.
195725        http://trac.webkit.org/changeset/100479
195726        https://bugs.webkit.org/show_bug.cgi?id=72533
195727
195728        "Broke the Mac Build" (Requested by mwenge2 on #webkit).
195729
195730        * WebCore.vcproj/WebCore.vcproj:
195731        * WebCore.xcodeproj/project.pbxproj:
195732        * rendering/RenderingAllInOne.cpp:
195733
1957342011-11-16  Chris Fleizach  <cfleizach@apple.com>
195735
195736        WebKitTestRunner needs to support accessibility-related DRT APIs
195737        https://bugs.webkit.org/show_bug.cgi?id=42131
195738
195739        Minor changes needed to support AX testing in WKTestRunner.
195740
195741        Reviewed by Beth Dakin.
195742
195743        * WebCore.exp.in:
195744             Expose focusedUIElementForPage so that the WK2 injected bundle can retrieve it.
195745        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
195746        (accessibilitySearchKeyForString):
195747            Remove an unncessary assert that was causing issues with the WK2 test run.
195748
1957492011-11-16  Sergio Villar Senin  <svillar@igalia.com>
195750
195751        [Soup] Somet tests fail with FAIL Unexpected response data received: Wrong method: GET
195752        https://bugs.webkit.org/show_bug.cgi?id=69219
195753
195754        Reviewed by Martin Robinson.
195755
195756        Do not stop appending data to the request body if any of the blob
195757        items to upload is not accesible.
195758
195759        * platform/network/soup/ResourceHandleSoup.cpp:
195760        (WebCore::addEncodedBlobToSoupMessageBody):
195761
1957622011-11-16  Beth Dakin  <bdakin@apple.com>
195763
195764        https://bugs.webkit.org/show_bug.cgi?id=72400
195765        Scrollbar uiStateTransitionProgress requires tracking the mouse all the time
195766        -and corresponding-
195767        <rdar://problem/10409328>
195768
195769        Reviewed by Darin Adler.
195770
195771        This patch makes it so we track the mouse all the time when we have legacy 
195772        scrollbars (rather than only tracking the mouse when the window is key). When 
195773        we're in that mode, we want to do as little work as possible when handling the 
195774        mouseMoved event so that this extra tracking has little to no performance impact. 
195775        Also, we don't want to change basic behaviors by having normal web content hover 
195776        effects start happening when a window is in the background. So this patch also 
195777        introduces a way to handle a mouseMoved event that will only affect scrollbars.
195778
195779        EventHandler::mouseMoved() and EventHandler::handleMouseEvent() both now take a 
195780        boolean parameter that indicates if we are only updating scrollbars. If that is 
195781        the case, then we make our HitTestRequest ReadOnly, and we return early once 
195782        updateLastScrollbarUnderMouse() is called.
195783        * WebCore.exp.in:
195784        * page/EventHandler.cpp:
195785        (WebCore::EventHandler::mouseMoved):
195786        (WebCore::EventHandler::handleMouseMoveEvent):
195787
195788        In addition to calling Scrollbar::mouseExited() when appropriate, this function 
195789        now calls a new function, Scrollbar::mouseEntered() when appropriate. 
195790        (WebCore::EventHandler::updateLastScrollbarUnderMouse):
195791        * page/EventHandler.h:
195792
195793        Scrollbar::mouseMoved() used to be responsible for calling 
195794        ScrollAnimator::mouseEnteredScrollbar(), but now Scrollbar::mouseEntered() takes 
195795        care of that instead, much like how Scrollbar::mouseExited() takes care of calling 
195796        the animator's exit function.
195797        * platform/Scrollbar.cpp:
195798        (WebCore::Scrollbar::mouseMoved):
195799        (WebCore::Scrollbar::mouseEntered):
195800        * platform/Scrollbar.h:
195801
1958022011-11-16  Andreas Kling  <kling@webkit.org>
195803
195804        CSSValue: isInheritedValue() doesn't need a dedicated bit.
195805        <http://webkit.org/b/72514>
195806
195807        Reviewed by Antti Koivisto.
195808
195809        Remove CSSValue::m_isInherited and have isInheritedValue() check the
195810        class type instead. There's no compelling reason for CSSInheritedValue
195811        to have a dedicated bit, since nobody subclasses it anyway.
195812
195813        * css/CSSValue.h:
195814        (WebCore::CSSValue::isInheritedValue):
195815        (WebCore::CSSValue::CSSValue):
195816
1958172011-11-16  Robert Hogan  <robert@webkit.org>
195818
195819        Fix build on Windows and Mac after r100473
195820
195821        Unreviewed, fix build.
195822
195823        * WebCore.vcproj/WebCore.vcproj:
195824        * WebCore.xcodeproj/project.pbxproj:
195825        * rendering/RenderingAllInOne.cpp:
195826
1958272011-11-16  Philip Rogers  <pdr@google.com>
195828
195829        Remove extra GraphicsContextStateSaver restore() call.
195830        https://bugs.webkit.org/show_bug.cgi?id=72497
195831
195832        Reviewed by Andreas Kling.
195833
195834        * html/canvas/CanvasRenderingContext2D.cpp:
195835        (WebCore::CanvasRenderingContext2D::drawTextInternal):
195836
1958372011-11-08  Robert Hogan  <robert@webkit.org>
195838
195839        CSS 2.1 failure: border-collapse-offset-002.htm fails
195840        https://bugs.webkit.org/show_bug.cgi?id=71705
195841
195842        Table captions are implemented as children of the table but have a special
195843        requirement to expand to the full width of the table rather than just the 'available'
195844        width, i.e. the full width minus padding and borders.
195845
195846        To accomodate this create a RenderTableCaption object that reimplements containingBlockLogicalWidthForContent()
195847        to return the full width of the containing block (i.e. the table) rather than the available width.
195848
195849        Reviewed by Antti Koivisto.
195850
195851        * CMakeLists.txt: Add RenderTableCaption.[cpp|h]
195852        * GNUmakefile.list.am: Add RenderTableCaption.[cpp|h]
195853        * Target.pri: Add RenderTableCaption.[cpp|h]
195854        * WebCore.gypi: Add RenderTableCaption.[cpp|h]
195855        * rendering/RenderBlock.cpp:
195856        (WebCore::RenderBlock::addChildIgnoringAnonymousColumnBlocks): Use RenderTableCaption
195857        * rendering/RenderObject.cpp:
195858        (WebCore::RenderObject::createObject): Add RenderTableCaption.[cpp|h]
195859        (WebCore::RenderObject::addChild): ditto
195860        * rendering/RenderObject.h:
195861        (WebCore::RenderObject::isTableCaption):
195862        * rendering/RenderTable.cpp:
195863        (WebCore::RenderTable::addChild):
195864        * rendering/RenderTable.h:
195865        * rendering/RenderTableCaption.cpp: Added.
195866        (WebCore::RenderTableCaption::RenderTableCaption): Implement RenderTableCaption
195867        (WebCore::RenderTableCaption::~RenderTableCaption):
195868        (WebCore::RenderTableCaption::containingBlockLogicalWidthForContent): Return the containing block's full width rather than it's available width.
195869        * rendering/RenderTableCaption.h: Added.
195870        (WebCore::RenderTableCaption::isTableCaption):
195871        (WebCore::toRenderTableCaption):
195872
1958732011-11-16  Antaryami Pandia  <antaryami.pandia@motorola.com>
195874
195875        [Gtk] display:none has no effect on <option> element.
195876        https://bugs.webkit.org/show_bug.cgi?id=72370
195877
195878        Reviewed by Martin Robinson.
195879
195880        * platform/gtk/GtkPopupMenu.cpp:
195881        (WebCore::GtkPopupMenu::appendItem):
195882        * platform/gtk/PopupMenuGtk.cpp:
195883        (WebCore::PopupMenuGtk::createGtkActionForMenuItem):
195884
1958852011-11-16  Dan Winship  <danw@gnome.org>
195886
195887        [GTK] Fix platformDefersLoading to handle non-http requests, and
195888        to not use broken-ish libsoup APIs.
195889        https://bugs.webkit.org/show_bug.cgi?id=72227
195890
195891        Reviewed by Martin Robinson.
195892
195893        * platform/network/ResourceHandleInternal.h:
195894        * platform/network/soup/ResourceHandleSoup.cpp:
195895        (WebCore::sendRequestCallback):
195896        (WebCore::startHTTPRequest):
195897        (WebCore::hasBeenSent):
195898        (WebCore::ResourceHandle::platformSetDefersLoading):
195899        (WebCore::readCallback): rather than deferring by using
195900        soup_session_pause_message(), let the read complete, but just don't
195901        process the result until we're no longer deferred.
195902        (WebCore::startNonHTTPRequest): Don't start the request if
195903        it's deferred.
195904
1959052011-11-16  Vsevolod Vlasov  <vsevik@chromium.org>
195906
195907        Web Inspector: Application cache status should be updated after swapCache().
195908        https://bugs.webkit.org/show_bug.cgi?id=72123
195909
195910        Reviewed by Pavel Feldman.
195911
195912        Application cache view resources and status are now updated after swapCache() call.
195913        Refresh button removed from application cache view.
195914        Application cache inspector tests are moved to their own folder.
195915
195916        Tests: http/tests/inspector/appcache/appcache-iframe-manifests.html
195917               http/tests/inspector/appcache/appcache-manifest-with-non-existing-file.html
195918               http/tests/inspector/appcache/appcache-swap.html
195919
195920        * inspector/front-end/ApplicationCacheItemsView.js:
195921        (WebInspector.ApplicationCacheItemsView):
195922        (WebInspector.ApplicationCacheItemsView.prototype.get statusBarItems):
195923        (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
195924        (WebInspector.ApplicationCacheItemsView.prototype._maybeUpdate):
195925        (WebInspector.ApplicationCacheItemsView.prototype._markDirty):
195926        (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
195927        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
195928        (WebInspector.ApplicationCacheItemsView.prototype._deleteCallback):
195929        * loader/appcache/ApplicationCacheGroup.cpp:
195930        (WebCore::ApplicationCacheGroup::setNewestCache):
195931        (WebCore::ApplicationCacheGroup::makeObsolete):
195932        (WebCore::ApplicationCacheGroup::setUpdateStatus):
195933        * loader/appcache/ApplicationCacheHost.cpp:
195934        (WebCore::ApplicationCacheHost::notifyDOMApplicationCache):
195935        (WebCore::ApplicationCacheHost::swapCache):
195936
1959372011-11-16  Eric Carlson  <eric.carlson@apple.com>
195938
195939        addTrack() must throw an exception if 'kind' is unknown
195940        https://bugs.webkit.org/show_bug.cgi?id=71915
195941
195942        Reviewed by Philippe Normand.
195943
195944        Tests: media/track/track-addtrack-kind.html
195945               media/track/track-kind.html
195946
195947        * html/HTMLMediaElement.cpp:
195948        (WebCore::HTMLMediaElement::textTrackKindChanged): New. Will be implemented for 62885.
195949        (WebCore::HTMLMediaElement::addTrack): Throw if  'kind' is not a known value.
195950        (WebCore::HTMLMediaElement::addTextTrack): Call textTracks(), it will allocate the track
195951            list object if necessary.
195952        (WebCore::HTMLMediaElement::textTracks): Never return NULL, a TextTrackList with no tracks
195953            is allowed.
195954        * html/HTMLMediaElement.h:
195955        (WebCore::HTMLMediaElement::addTrack): Add variants to deal with optional parameters plus
195956            a mandatory ExceptionCode parameter.
195957        * html/HTMLMediaElement.idl: addTrack can generate an exception.
195958
195959        * html/HTMLTrackElement.cpp:
195960        (WebCore::HTMLTrackElement::attributeChanged): kind, label, and srclang attribute changes should
195961            percolate down the the TextTrack.
195962        (WebCore::HTMLTrackElement::kind): Return the TextTrack kind because it is not necessarily the
195963            same as the attribute value.
195964        (WebCore::HTMLTrackElement::ensureTrack): Only pass legal 'kind' keywords to create a TextTrack.
195965        (WebCore::HTMLTrackElement::textTrackKindChanged): Notify parent element, if any.
195966        * html/HTMLTrackElement.h:
195967
195968        * html/TextTrack.cpp:
195969        (WebCore::TextTrack::subtitlesKeyword): New, return legal kind attribute value.
195970        (WebCore::TextTrack::captionsKeyword): Ditto.
195971        (WebCore::TextTrack::descriptionsKeyword): Ditto.
195972        (WebCore::TextTrack::chaptersKeyword): Ditto.
195973        (WebCore::TextTrack::metadataKeyword): Ditto.
195974        (WebCore::TextTrack::TextTrack): Call setKind to make sure m_kind is always set to legal value.
195975        (WebCore::TextTrack::isValidKindKeyword): New, validate 'kind' value.
195976        (WebCore::TextTrack::setKind): Only allow legal values.
195977        * html/TextTrack.h:
195978        (WebCore::TextTrack::kind):
195979        (WebCore::TextTrack::label):
195980        (WebCore::TextTrack::setLabel):
195981        (WebCore::TextTrack::language):
195982        (WebCore::TextTrack::setLanguage):
195983        (WebCore::TextTrack::readyState):
195984        (WebCore::TextTrack::mode):
195985
1959862011-11-16  Andreas Kling  <kling@webkit.org>
195987
195988        CSSValue: Clean up initial value construction.
195989        <http://webkit.org/b/72502>
195990
195991        Reviewed by Antti Koivisto.
195992
195993        Instead of determining whether a given CSSInitialValue is 'implicit' or not by
195994        querying the CSSValue::ClassType (InitialClass vs. ImplicitInitialClass),
195995        add a protected CSSValue member and set it from the CSSInitialValue constructor.
195996
195997        Also get rid of the CSSValue::m_isInitial bit since we can now replace the
195998        checks by classType() == InitialClass.
195999
196000        No new tests, this is a cleanup.
196001
196002        * css/CSSInitialValue.h:
196003        (WebCore::CSSInitialValue::CSSInitialValue):
196004
196005            Poke 'implicit' constructor argument into CSSValue::m_isImplicit.
196006
196007        * css/CSSValue.cpp:
196008        (WebCore::CSSValue::cssText):
196009        (WebCore::CSSValue::destroy):
196010
196011            Remove ImplicitInitialClass cases.
196012
196013        * css/CSSValue.h:
196014        (WebCore::CSSValue::isImplicitInitialValue):
196015        (WebCore::CSSValue::isInitialValue):
196016        (WebCore::CSSValue::CSSValue):
196017
1960182011-11-16  Antaryami Pandia  <antaryami.pandia@motorola.com>
196019
196020        Remove unnecessary if check from RenderListBox::paintItemForeground.
196021        https://bugs.webkit.org/show_bug.cgi?id=72488
196022
196023        Reviewed by Andreas Kling.
196024
196025        * rendering/RenderListBox.cpp:
196026        (WebCore::RenderListBox::paintItemForeground):
196027
1960282011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
196029
196030        [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
196031
196032        Reviewed by Tor Arne Vestbø.
196033
196034        * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
196035
1960362011-11-16  Iain Merrick  <husky@google.com>
196037
196038        [chromium] Pass screen refresh rate into compositor.
196039        https://bugs.webkit.org/show_bug.cgi?id=71040
196040
196041        Reviewed by Tony Gentilcore.
196042
196043        * platform/PlatformScreen.h:
196044        * platform/chromium/PlatformScreenChromium.cpp:
196045        (WebCore::screenRefreshRate):
196046        * platform/chromium/PlatformSupport.h:
196047        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
196048        (WebCore::CCSettings::CCSettings):
196049        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
196050        (WebCore::CCThreadProxy::initializeImplOnImplThread):
196051
1960522011-11-15  Andrey Kosyakov  <caseq@chromium.org>
196053
196054        Web Inspector: [Extensions API] drop ExtensionSidebarPane.onUpdated, use callbacks instead
196055        https://bugs.webkit.org/show_bug.cgi?id=72388
196056
196057        Reviewed by Pavel Feldman.
196058
196059        Tests: inspector/extensions/extensions-panel.html
196060               inspector/extensions/extensions-sidebar.html
196061
196062        - fire ExtensionSidebarPane.on{Hidden,Shown} for non-iframe content (experssions/objects);
196063        - drop ExtensionsSidebarPane.onUpdated, provide callback for setObject()/setExpression() instead;
196064        - fix an exception when a page is replaced with object/expression.
196065
196066         inspector/front-end/ExtensionAPI.js:
196067        (injectedExtensionAPI.ExtensionSidebarPaneImpl):
196068        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setExpression):
196069        (injectedExtensionAPI.ExtensionSidebarPaneImpl.prototype.setObject):
196070        * inspector/front-end/ExtensionPanel.js:
196071        (WebInspector.ExtensionNotifierView):
196072        (WebInspector.ExtensionNotifierView.prototype.wasShown):
196073        (WebInspector.ExtensionNotifierView.prototype.willHide):
196074        (WebInspector.ExtensionSidebarPane.prototype.setObject):
196075        (WebInspector.ExtensionSidebarPane.prototype.setExpression):
196076        (WebInspector.ExtensionSidebarPane.prototype.setPage):
196077        (WebInspector.ExtensionSidebarPane.prototype._onEvaluate):
196078        (WebInspector.ExtensionSidebarPane.prototype._makeObjectPropertiesView):
196079        (WebInspector.ExtensionSidebarPane.prototype._setObject):
196080        * inspector/front-end/ExtensionServer.js:
196081        (WebInspector.ExtensionServer.prototype._onSetSidebarContent.callback):
196082        (WebInspector.ExtensionServer.prototype._onSetSidebarContent):
196083        (WebInspector.ExtensionServer.prototype._dispatchCallback):
196084        * inspector/front-end/View.js:
196085        (WebInspector.View.prototype.detach):
196086
1960872011-11-16  Simon Hausmann  <simon.hausmann@nokia.com>
196088
196089        Unreviewed, rolling out r100266.
196090        http://trac.webkit.org/changeset/100266
196091
196092        Broke WTR.
196093
196094        * Target.pri:
196095
1960962011-11-16  Per-Erik Brodin  <per-erik.brodin@ericsson.com>
196097
196098        [GTK] fast/events/event-creation.html fails creating MediaStreamEvent
196099        https://bugs.webkit.org/show_bug.cgi?id=70720
196100
196101        Reviewed by Philippe Normand.
196102
196103        Added missing overriding of Event::interfaceName()
196104
196105        * mediastream/MediaStreamEvent.cpp:
196106        (WebCore::MediaStreamEvent::stream): Changed return value to raw pointer.
196107        (WebCore::MediaStreamEvent::interfaceName): Added back from r98044.
196108        * mediastream/MediaStreamEvent.h:
196109        * mediastream/MediaStreamEvent.idl: Changed module name to "events".
196110
1961112011-11-16  Mario Sanchez Prada  <msanchez@igalia.com>
196112
196113        [GTK] Use GQuark's in the ATK wrapper to get and set arbitrary data
196114        https://bugs.webkit.org/show_bug.cgi?id=72394
196115
196116        Reviewed by Martin Robinson.
196117
196118        No new functionality, no new tests needed.
196119
196120        * accessibility/gtk/AccessibilityObjectWrapperAtk.cpp:
196121        (webkit_accessible_class_init): Initialize GQuarks.
196122        (getGailTextUtilForAtk): Use gailTextUtilQuark.
196123        (getPangoLayoutForAtk): Remove unused call to
196124        g_object_set_data_full, since that data is no used anywhere.
196125        (webkitAccessibleHyperlinkImplGetHyperlink): Use hyperlinkObjectQuark.
196126
1961272011-11-15  Alexandru Chiculita  <achicu@adobe.com>
196128
196129        [CSSShaders] Implement the style cached resources and computed style for the shader urls
196130        https://bugs.webkit.org/show_bug.cgi?id=72378
196131
196132        Reviewed by Dean Jackson.
196133
196134        Test: css3/filters/custom-filter-property-computed-style.html
196135
196136        * GNUmakefile.list.am:
196137        * Target.pri:
196138        * WebCore.gypi:
196139        * WebCore.vcproj/WebCore.vcproj:
196140        * WebCore.xcodeproj/project.pbxproj:
196141        * css/CSSComputedStyleDeclaration.cpp:
196142        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
196143        * css/CSSStyleSelector.cpp:
196144        (WebCore::CSSStyleSelector::CSSStyleSelector):
196145        (WebCore::CSSStyleSelector::styleForKeyframe):
196146        (WebCore::CSSStyleSelector::pseudoStyleForElement):
196147        (WebCore::CSSStyleSelector::styleForPage):
196148        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
196149        (WebCore::CSSStyleSelector::styleShader):
196150        (WebCore::CSSStyleSelector::cachedOrPendingStyleShaderFromValue):
196151        (WebCore::CSSStyleSelector::loadPendingShaders):
196152        (WebCore::CSSStyleSelector::createCustomFilterOperation):
196153        (WebCore::CSSStyleSelector::createFilterOperations):
196154        * css/CSSStyleSelector.h:
196155        * css/WebKitCSSShaderValue.cpp:
196156        (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
196157        (WebCore::WebKitCSSShaderValue::~WebKitCSSShaderValue):
196158        (WebCore::WebKitCSSShaderValue::cachedShader):
196159        (WebCore::WebKitCSSShaderValue::cachedOrPendingShader):
196160        * css/WebKitCSSShaderValue.h:
196161        * loader/cache/CachedResource.cpp:
196162        (WebCore::defaultPriorityForResourceType):
196163        * loader/cache/CachedResource.h:
196164        * loader/cache/CachedResourceLoader.cpp:
196165        (WebCore::createResource):
196166        (WebCore::CachedResourceLoader::requestShader):
196167        (WebCore::CachedResourceLoader::checkInsecureContent):
196168        (WebCore::CachedResourceLoader::canRequest):
196169        * loader/cache/CachedResourceLoader.h:
196170        * loader/cache/CachedShader.cpp:
196171        (WebCore::CachedShader::CachedShader):
196172        (WebCore::CachedShader::~CachedShader):
196173        * loader/cache/CachedShader.h:
196174        * platform/graphics/filters/CustomFilterOperation.h:
196175        * rendering/style/RenderStyle.h:
196176        (WebCore::InheritedFlags::filter):
196177        * rendering/style/StyleCachedShader.cpp:
196178        (WebCore::StyleCachedShader::StyleCachedShader):
196179        (WebCore::StyleCachedShader::cssValue):
196180        * rendering/style/StyleCachedShader.h:
196181        (WebCore::StyleCachedShader::create):
196182        * rendering/style/StylePendingShader.h:
196183        (WebCore::StylePendingShader::create):
196184        (WebCore::StylePendingShader::cssValue):
196185        (WebCore::StylePendingShader::cssShaderValue):
196186        (WebCore::StylePendingShader::StylePendingShader):
196187        * rendering/style/StyleShader.h:
196188        (WebCore::StyleShader::~StyleShader):
196189        (WebCore::StyleShader::isCachedShader):
196190        (WebCore::StyleShader::isPendingShader):
196191        (WebCore::StyleShader::StyleShader):
196192
1961932011-11-15  Sergio Villar Senin  <svillar@igalia.com>
196194
196195        [WK2] [GTK] fast/css/webkit-mask-crash-fieldset-legend.html asserts WebKitWebProcess
196196        https://bugs.webkit.org/show_bug.cgi?id=69510
196197
196198        Reviewed by Simon Fraser.
196199
196200        End the current transparency layer before early returning from
196201        paintMask() when there is a maskBoxImage which is still being
196202        loaded. This will balance the previous call to
196203        beginTransparencyLayer().
196204
196205        * rendering/InlineFlowBox.cpp:
196206        (WebCore::InlineFlowBox::paintMask):
196207
1962082011-11-15  Darin Adler  <darin@apple.com>
196209
196210        Incorrect type checks in RenderTheme media code
196211        https://bugs.webkit.org/show_bug.cgi?id=72184
196212
196213        Reviewed by Eric Carlson.
196214
196215        No tests added. Ideally this patch should be revised to add tests!
196216
196217        * accessibility/AccessibilityMediaControls.cpp:
196218        (WebCore::AccessibilityMediaControl::create): Use mediaControlElementType.
196219        (WebCore::AccessibilityMediaControl::controlType): Ditto.
196220        (WebCore::AccessibilityMediaTimeline::valueDescription): Use early return
196221        rather than an assertion to check type of input element.
196222
196223        * html/shadow/MediaControlElements.cpp:
196224        (WebCore::mediaControlElementType): Added. A type-safe way to get the
196225        media control element type after checking isMediaControlElement but with
196226        no other assumptions.
196227        * html/shadow/MediaControlElements.h: Added mediaControlElementType.
196228
196229        * platform/efl/RenderThemeEfl.cpp:
196230        (WebCore::RenderThemeEfl::paintMediaPlayButton): Use mediaControlElementType.
196231        (WebCore::RenderThemeEfl::paintMediaSeekBackButton): Use mediaControlElementType.
196232        (WebCore::RenderThemeEfl::paintMediaSeekForwardButton): Use mediaControlElementType.
196233        * platform/gtk/RenderThemeGtk.cpp:
196234        (WebCore::RenderThemeGtk::paintMediaPlayButton): Check isMediaControlElement and
196235        use mediaControlElementType.
196236        * rendering/RenderThemeMac.mm:
196237        (WebCore::RenderThemeMac::paintMediaMuteButton): Ditto. Also remove uneeded
196238        redundant null check.
196239        (WebCore::RenderThemeMac::paintMediaPlayButton): Ditto.
196240        (WebCore::RenderThemeMac::paintMediaToggleClosedCaptionsButton): Ditto.
196241
1962422011-11-15  Jeff Timanus  <twiz@chromium.org>
196243
196244        [chromium] During tear down, prevent the WebGLLayerChromium instance from attempting to stop a timer for a NULL context.
196245        https://bugs.webkit.org/show_bug.cgi?id=72423
196246
196247        Reviewed by Kenneth Russell.
196248
196249        * platform/graphics/chromium/WebGLLayerChromium.cpp:
196250        (WebCore::WebGLLayerChromium::setDrawingBuffer):
196251
1962522011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
196253
196254        Rebaseline generated WebCore bindings
196255
196256        Unreviewed build fix
196257
196258        No new tests.
196259
196260        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
196261        (WebCore::isObservable):
196262        (WebCore::JSTestEventConstructorOwner::isReachableFromOpaqueRoots):
196263        (WebCore::JSTestEventConstructorOwner::finalize):
196264        * bindings/scripts/test/JS/JSTestEventConstructor.h:
196265        (WebCore::JSTestEventConstructor::clearImpl):
196266        (WebCore::wrapperOwner):
196267        (WebCore::wrapperContext):
196268        * bindings/scripts/test/JS/JSTestInterface.cpp:
196269        (WebCore::JSTestInterfaceOwner::finalize):
196270        * bindings/scripts/test/JS/JSTestInterface.h:
196271        (WebCore::JSTestInterface::clearImpl):
196272        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
196273        (WebCore::isObservable):
196274        (WebCore::JSTestMediaQueryListListenerOwner::isReachableFromOpaqueRoots):
196275        (WebCore::JSTestMediaQueryListListenerOwner::finalize):
196276        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
196277        (WebCore::JSTestMediaQueryListListener::clearImpl):
196278        (WebCore::wrapperOwner):
196279        (WebCore::wrapperContext):
196280        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
196281        (WebCore::JSTestNamedConstructorOwner::finalize):
196282        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
196283        (WebCore::JSTestNamedConstructor::clearImpl):
196284        * bindings/scripts/test/JS/JSTestObj.cpp:
196285        (WebCore::isObservable):
196286        (WebCore::JSTestObjOwner::isReachableFromOpaqueRoots):
196287        (WebCore::JSTestObjOwner::finalize):
196288        * bindings/scripts/test/JS/JSTestObj.h:
196289        (WebCore::JSTestObj::clearImpl):
196290        (WebCore::wrapperOwner):
196291        (WebCore::wrapperContext):
196292        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
196293        (WebCore::isObservable):
196294        (WebCore::JSTestSerializedScriptValueInterfaceOwner::isReachableFromOpaqueRoots):
196295        (WebCore::JSTestSerializedScriptValueInterfaceOwner::finalize):
196296        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
196297        (WebCore::JSTestSerializedScriptValueInterface::clearImpl):
196298        (WebCore::wrapperOwner):
196299        (WebCore::wrapperContext):
196300
1963012011-11-15  Jeff Timanus  <twiz@chromium.org>
196302
196303        Patch removing duplicated code in the setup of the DrawingBuffer used
196304        to host the back-buffer for WebGL contents.
196305        https://bugs.webkit.org/show_bug.cgi?id=72327
196306
196307        Reviewed by Kenneth Russell.
196308
196309        * html/canvas/WebGLRenderingContext.cpp:
196310        (WebCore::WebGLRenderingContext::copyTexImage2D):
196311        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
196312        (WebCore::WebGLRenderingContext::readPixels):
196313
1963142011-11-15  Mark Hahnenberg  <mhahnenberg@apple.com>
196315
196316        JS DOM wrappers depend on destructor to deref impl RefPtrs
196317        https://bugs.webkit.org/show_bug.cgi?id=72341
196318
196319        Reviewed by Sam Weinig.
196320
196321        No new tests.
196322
196323        Added clearing of impl RefPtrs to JS DOM wrapper nodes and removed the default 
196324        wrapperOwner function in favor of generating all WeakHandleOwners and wrapperOwner functions.
196325
196326        * bindings/js/JSCSSValueCustom.cpp:
196327        (WebCore::JSCSSValueOwner::finalize):
196328        * bindings/js/JSDOMBinding.h:
196329        * bindings/js/JSNodeCustom.cpp:
196330        (WebCore::JSNodeOwner::finalize):
196331        * bindings/scripts/CodeGeneratorJS.pm:
196332        (GenerateHeader):
196333        (GenerateImplementation):
196334
1963352011-11-15  Joseph Pecoraro  <pecoraro@apple.com>
196336
196337        Web Inspector: Share Highlight Code for Drawing Outlined Quad
196338        https://bugs.webkit.org/show_bug.cgi?id=72451
196339
196340        Reviewed by Timothy Hatcher.
196341
196342        * inspector/DOMNodeHighlighter.cpp:
196343
1963442011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
196345
196346        Unreviewed, rolling out r100308.
196347        http://trac.webkit.org/changeset/100308
196348        https://bugs.webkit.org/show_bug.cgi?id=72450
196349
196350        Introduces WebGL conformance test regressions. (Requested by
196351        twiz on #webkit).
196352
196353        * html/canvas/WebGLRenderingContext.cpp:
196354        (WebCore::WebGLRenderingContext::copyTexImage2D):
196355        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
196356        (WebCore::WebGLRenderingContext::readPixels):
196357
1963582011-11-15  James Robinson  <jamesr@chromium.org>
196359
196360        Rollout http://trac.webkit.org/changeset/99813, caused some crashes in
196361        TiledLayerChromium::updateCompositorResources()
196362
196363        * WebCore.gypi:
196364        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Removed.
196365        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Removed.
196366        * platform/graphics/chromium/CanvasLayerTextureUpdater.cpp: Removed.
196367        * platform/graphics/chromium/CanvasLayerTextureUpdater.h: Removed.
196368        * platform/graphics/chromium/ContentLayerChromium.cpp:
196369        (WebCore::ContentLayerChromium::createTextureUpdater):
196370        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Removed.
196371        * platform/graphics/chromium/ImageLayerChromium.cpp:
196372        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
196373        * platform/graphics/chromium/LayerRendererChromium.cpp:
196374        * platform/graphics/chromium/LayerTextureUpdater.h:
196375        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp: Renamed from Source/WebCore/platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp.
196376        (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
196377        (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
196378        (WebCore::FrameBuffer::FrameBuffer::initialize):
196379        (WebCore::LayerTextureUpdaterCanvas::LayerTextureUpdaterCanvas):
196380        (WebCore::LayerTextureUpdaterCanvas::paintContents):
196381        (WebCore::LayerTextureUpdaterBitmap::create):
196382        (WebCore::LayerTextureUpdaterBitmap::LayerTextureUpdaterBitmap):
196383        (WebCore::LayerTextureUpdaterBitmap::sampledTexelFormat):
196384        (WebCore::LayerTextureUpdaterBitmap::prepareToUpdate):
196385        (WebCore::LayerTextureUpdaterBitmap::updateTextureRect):
196386        (WebCore::LayerTextureUpdaterSkPicture::create):
196387        (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
196388        (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
196389        (WebCore::LayerTextureUpdaterSkPicture::sampledTexelFormat):
196390        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
196391        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
196392        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Added.
196393        (WebCore::LayerTextureUpdaterCanvas::contentRect):
196394        (WebCore::LayerTextureUpdaterBitmap::orientation):
196395        (WebCore::LayerTextureUpdaterSkPicture::orientation):
196396        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Removed.
196397        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Removed.
196398        * platform/graphics/chromium/TiledLayerChromium.cpp:
196399        (WebCore::UpdatableTile::UpdatableTile):
196400        (WebCore::UpdatableTile::texture):
196401        (WebCore::TiledLayerChromium::updateCompositorResources):
196402        (WebCore::TiledLayerChromium::pushPropertiesTo):
196403        (WebCore::TiledLayerChromium::createTile):
196404        (WebCore::TiledLayerChromium::protectTileTextures):
196405        (WebCore::TiledLayerChromium::prepareToUpdate):
196406        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
196407        (WebCore::CCTextureUpdater::append):
196408        (WebCore::CCTextureUpdater::update):
196409        * platform/graphics/chromium/cc/CCTextureUpdater.h:
196410
1964112011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
196412
196413        Add the needed plumbing to parse display: -webkit-inline-grid
196414        https://bugs.webkit.org/show_bug.cgi?id=72438
196415
196416        Reviewed by Tony Chang.
196417
196418        Test: fast/css-grid-layout/display-grid-set-get.html
196419
196420        Added the needed constants and plugged everything together.
196421        Again we treat display: -webkit-inline-grid like display: none
196422        for the moment.
196423
196424        * css/CSSParser.cpp:
196425        (WebCore::CSSParser::parseValue):
196426        * css/CSSPrimitiveValueMappings.h:
196427        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
196428        * css/CSSValueKeywords.in:
196429        * rendering/RenderObject.cpp:
196430        (WebCore::RenderObject::createObject):
196431        * rendering/style/RenderStyleConstants.h:
196432
1964332011-11-15  W. James MacLean  <wjmaclean@chromium.org>
196434
196435        [chromium] Move setVisibleRect() calls into calculateDrawTransformAndVisibility()
196436        https://bugs.webkit.org/show_bug.cgi?id=72162
196437
196438        Reviewed by Kenneth Russell.
196439
196440        Refactoring of existing functionality, so uses existing tests.
196441
196442        * platform/graphics/chromium/LayerRendererChromium.cpp:
196443        (WebCore::LayerRendererChromium::drawLayer):
196444        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
196445        (WebCore::paintContentsIfDirty):
196446        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
196447        (WebCore::CCLayerTreeHost::paintLayerContents):
196448        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
196449        (WebCore::walkLayersAndCalculateVisibleLayerRects):
196450        (WebCore::CCLayerTreeHostCommon::calculateDrawTransformsAndVisibility):
196451
1964522011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
196453
196454        Unreviewed, rolling out r100340.
196455        http://trac.webkit.org/changeset/100340
196456        https://bugs.webkit.org/show_bug.cgi?id=72448
196457
196458        Caused assertion failure in Win dbg canary. (Requested by
196459        pkasting on #webkit).
196460
196461        * platform/graphics/chromium/LayerRendererChromium.cpp:
196462        (WebCore::LayerRendererChromium::LayerRendererChromium):
196463        (WebCore::LayerRendererChromium::viewportChanged):
196464        (WebCore::LayerRendererChromium::drawLayersInternal):
196465        * platform/graphics/chromium/LayerRendererChromium.h:
196466
1964672011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
196468
196469        Switch table indexing to unsigned
196470        https://bugs.webkit.org/show_bug.cgi?id=72083
196471
196472        Reviewed by Darin Adler.
196473
196474        No expected change in behavior.
196475
196476        All of the code is now using unsigned for indexing!
196477
196478        * rendering/FixedTableLayout.cpp:
196479        (WebCore::FixedTableLayout::layout):
196480        * rendering/RenderTable.cpp:
196481        (WebCore::RenderTable::colElement):
196482        (WebCore::RenderTable::cellAbove):
196483        * rendering/RenderTableSection.cpp:
196484        (WebCore::RenderTableSection::splitColumn):
196485        Added some ASSERTs to make sure we don't underflow. Looking at how
196486        the different variables are populated, they should not be reached.
196487
196488        * rendering/RenderTableCell.cpp:
196489        (WebCore::RenderTableCell::colSpan):
196490        (WebCore::RenderTableCell::rowSpan):
196491        Those 2 functions promotes HTMLTableCellElement's int to unsigned
196492        which should be fine as we make sure their are positive. Also HTML5
196493        makes those 2 fields "unsigned long" which goes in the same direction.
196494
196495        * rendering/AutoTableLayout.cpp:
196496        (WebCore::AutoTableLayout::layout):
196497        * rendering/RenderTableSection.cpp:
196498        (WebCore::RenderTableSection::nodeAtPoint):
196499        Rewrote a couple of reverse iterating to be able to use unsigned
196500        without overflowing.
196501
196502        * rendering/AutoTableLayout.cpp:
196503        (WebCore::AutoTableLayout::recalcColumn):
196504        (WebCore::AutoTableLayout::fullRecalc):
196505        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
196506        (WebCore::AutoTableLayout::insertSpanCell):
196507        * rendering/AutoTableLayout.h:
196508        * rendering/FixedTableLayout.cpp:
196509        (WebCore::FixedTableLayout::calcWidthArray):
196510        * rendering/RenderTable.cpp:
196511        (WebCore::RenderTable::splitColumn):
196512        (WebCore::RenderTable::appendColumn):
196513        (WebCore::RenderTable::recalcSections):
196514        * rendering/RenderTable.h:
196515        (WebCore::RenderTable::getColumnPos):
196516        (WebCore::RenderTable::spanOfEffCol):
196517        (WebCore::RenderTable::effColToCol):
196518        * rendering/RenderTableCell.cpp:
196519        (WebCore::RenderTableCell::styleOrColLogicalWidth):
196520        (WebCore::CollapsedBorders::nextBorder):
196521        * rendering/RenderTableCell.h:
196522        * rendering/RenderTableCol.cpp:
196523        (WebCore::RenderTableCol::updateFromElement):
196524        * rendering/RenderTableCol.h:
196525        (WebCore::RenderTableCol::span):
196526        (WebCore::RenderTableCol::setSpan):
196527        * rendering/RenderTableSection.cpp:
196528        (WebCore::RenderTableSection::addCell):
196529        (WebCore::RenderTableSection::setCellLogicalWidths):
196530        (WebCore::RenderTableSection::layoutRows):
196531        (WebCore::RenderTableSection::calcOuterBorderBefore):
196532        (WebCore::RenderTableSection::calcOuterBorderAfter):
196533        (WebCore::RenderTableSection::calcOuterBorderStart):
196534        (WebCore::RenderTableSection::calcOuterBorderEnd):
196535        (WebCore::RenderTableSection::paintObject):
196536        (WebCore::RenderTableSection::appendColumn):
196537        * rendering/RenderTableSection.h:
196538        (WebCore::RenderTableSection::cellAt):
196539        (WebCore::RenderTableSection::primaryCellAt):
196540        (WebCore::RenderTableSection::getBaseline):
196541        Mechanical change int -> unsigned.
196542
1965432011-11-15  Andy Estes  <aestes@apple.com>
196544
196545        Consolidate the logic that creates run loop observers for flushing layer tree changes to CoreAnimation
196546        https://bugs.webkit.org/show_bug.cgi?id=72106
196547
196548        Reviewed by Anders Carlsson.
196549
196550        Add a class that encapsulates the logic of scheduling, enabling and
196551        invalidating a run loop observer that fires before Core Animation's
196552        commit observer. Clients can subclass LayerFlushSchedulerClient and
196553        implement flushLayers(), which will be called by the observer.
196554
196555        * WebCore.exp.in:
196556        * WebCore.xcodeproj/project.pbxproj:
196557        * platform/graphics/ca/LayerFlushScheduler.cpp: Added.
196558        (WebCore::LayerFlushScheduler::suspend): Suspend scheduling by
196559        invalidating the run loop observer. Keep a count of calls to suspend()
196560        in m_suspendCount.
196561        (WebCore::LayerFlushScheduler::resume): Decrement m_suspendCount.
196562        Install the run loop observer when it reaches 0.
196563        * platform/graphics/ca/LayerFlushSchedulerClient.h: Added.
196564        (WebCore::LayerFlushSchedulerClient::~LayerFlushSchedulerClient):
196565        * platform/graphics/ca/LayerFlushScheduler.h: Added.
196566        * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp: Added.
196567        (LayerFlushScheduler::LayerFlushScheduler):
196568        (LayerFlushScheduler::~LayerFlushScheduler):
196569        (LayerFlushScheduler::runLoopObserverCallback): Call flushLayers() on
196570        the LayerFlushSchedulerClient.
196571        (LayerFlushScheduler::schedule): Install the run loop observer.
196572        (LayerFlushScheduler::invalidate): Remove the run loop
196573        observer if it is installed.
196574
1965752011-11-15  Adam Klein  <adamk@chromium.org>
196576
196577        [v8] Use throwError instead of compiling and running script in handleMaxRecursionDepthExceeded
196578        https://bugs.webkit.org/show_bug.cgi?id=72432
196579
196580        Reviewed by Adam Barth.
196581
196582        * bindings/v8/V8Proxy.cpp:
196583        (WebCore::handleMaxRecursionDepthExceeded):
196584
1965852011-11-15  Vincent Scheib  <scheib@chromium.org>
196586
196587        Pointer Lock: Refactoring: PointerLock.idl: Dropping webkit prefix
196588        https://bugs.webkit.org/show_bug.cgi?id=72431
196589
196590        Reviewed by Adam Barth.
196591
196592        * page/PointerLock.cpp:
196593        (WebCore::PointerLock::lock):
196594        (WebCore::PointerLock::unlock):
196595        (WebCore::PointerLock::isLocked):
196596        * page/PointerLock.h:
196597        * page/PointerLock.idl:
196598
1965992011-11-15  Nat Duca  <nduca@chromium.org>
196600
196601        [chromium] Fuse MainThread and CCThread
196602        https://bugs.webkit.org/show_bug.cgi?id=72426
196603
196604        Reviewed by James Robinson.
196605
196606        * WebCore.gypi:
196607        * platform/graphics/chromium/LayerRendererChromium.cpp:
196608        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
196609        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
196610        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
196611        * platform/graphics/chromium/cc/CCMainThread.cpp: Removed.
196612        * platform/graphics/chromium/cc/CCMainThread.h: Removed.
196613        * platform/graphics/chromium/cc/CCMainThreadTask.h: Removed.
196614        * platform/graphics/chromium/cc/CCProxy.cpp:
196615        (WebCore::CCProxy::setMainThread):
196616        (WebCore::CCProxy::mainThread):
196617        (WebCore::CCProxy::setImplThread):
196618        (WebCore::CCProxy::implThread):
196619        (WebCore::CCProxy::isMainThread):
196620        (WebCore::CCProxy::isImplThread):
196621        (WebCore::CCProxy::~CCProxy):
196622        * platform/graphics/chromium/cc/CCProxy.h:
196623        * platform/graphics/chromium/cc/CCScopedThreadProxy.h: Renamed from Source/WebCore/platform/graphics/chromium/cc/CCScopedMainThreadProxy.h.
196624        (WebCore::CCScopedThreadProxy::create):
196625        (WebCore::CCScopedThreadProxy::postTask):
196626        (WebCore::CCScopedThreadProxy::shutdown):
196627        (WebCore::CCScopedThreadProxy::CCScopedThreadProxy):
196628        (WebCore::CCScopedThreadProxy::runTaskIfNotShutdown):
196629        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
196630        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
196631        (WebCore::CCThreadProxy::CCThreadProxy):
196632        (WebCore::CCThreadProxy::compositeAndReadback):
196633        (WebCore::CCThreadProxy::finishAllRendering):
196634        (WebCore::CCThreadProxy::initializeLayerRenderer):
196635        (WebCore::CCThreadProxy::setNeedsAnimate):
196636        (WebCore::CCThreadProxy::setNeedsCommit):
196637        (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
196638        (WebCore::CCThreadProxy::setNeedsRedraw):
196639        (WebCore::CCThreadProxy::setVisible):
196640        (WebCore::CCThreadProxy::start):
196641        (WebCore::CCThreadProxy::stop):
196642        (WebCore::CCThreadProxy::obtainBeginFrameAndCommitTaskFromCCThread):
196643        (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
196644        (WebCore::CCThreadProxy::beginFrameAndCommit):
196645        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
196646        (WebCore::CCThreadProxy::initializeImplOnImplThread):
196647        * platform/graphics/chromium/cc/CCThreadProxy.h:
196648
1966492011-11-15  Vincent Scheib  <scheib@chromium.org>
196650
196651        Pointer Lock: Refactor: MouseEvent.idl movementX/Y
196652        https://bugs.webkit.org/show_bug.cgi?id=72427
196653
196654        - [Conditional...] vs #if defined
196655        - Runtime enabled
196656        - .movementX/Y prefixed with 'webkit'
196657
196658        Reviewed by Adam Barth.
196659
196660        No new tests.
196661
196662        * bindings/generic/RuntimeEnabledFeatures.h:
196663        (WebCore::RuntimeEnabledFeatures::webkitMovementXEnabled):
196664        (WebCore::RuntimeEnabledFeatures::webkitMovementYEnabled):
196665        * dom/MouseEvent.idl:
196666        * dom/MouseRelatedEvent.h:
196667        (WebCore::MouseRelatedEvent::webkitMovementX):
196668        (WebCore::MouseRelatedEvent::webkitMovementY):
196669
1966702011-10-28  Ojan Vafai  <ojan@chromium.org>
196671
196672        implement flex-align for flex-flow: column
196673        https://bugs.webkit.org/show_bug.cgi?id=70754
196674
196675        Reviewed by David Hyatt.
196676
196677        Tests: css3/flexbox/flex-align-column.html
196678               css3/flexbox/line-wrapping.html
196679
196680        * rendering/RenderBox.cpp:
196681        (WebCore::RenderBox::sizesToIntrinsicLogicalWidth):
196682        When flexitems are column, they should size to the intrinsic width unless flex-flow is stretch.
196683
196684        * rendering/RenderFlexibleBox.cpp:
196685        (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
196686        This was just using the wrong, non-flow-aware method.
196687
1966882011-11-15  Jochen Eisinger  <jochen@chromium.org>
196689
196690        Rename ReferrerPolicy to clarify its meaning
196691        https://bugs.webkit.org/show_bug.cgi?id=72420
196692
196693        Reviewed by Nate Chapin.
196694
196695        On the one hand, even if the ReferrerPolicy was set to SendReferrer, the
196696        referrer wasn't necessarily send. On the other hand, I want to use the
196697        name ReferrerPolicy when implementing the meta referrer tag.
196698
196699        No change in behavior expected so no test.
196700
196701        * html/HTMLAnchorElement.cpp:
196702        (WebCore::HTMLAnchorElement::handleClick):
196703        (WebCore::handleLinkClick):
196704        * loader/FrameLoader.cpp:
196705        (WebCore::FrameLoader::changeLocation):
196706        (WebCore::FrameLoader::urlSelected):
196707        (WebCore::FrameLoader::loadFrameRequest):
196708        * loader/FrameLoader.h:
196709        * loader/FrameLoaderTypes.h:
196710        * loader/NavigationScheduler.cpp:
196711        (WebCore::ScheduledHistoryNavigation::fire):
196712        (WebCore::ScheduledFormSubmission::fire):
196713        * page/ContextMenuController.cpp:
196714        (WebCore::openNewWindow):
196715        (WebCore::ContextMenuController::contextMenuItemSelected):
196716        * WebCore.exp.in: updated.
196717
1967182011-11-15  Adam Klein  <adamk@chromium.org>
196719
196720        Factor out V8Proxy's max recursion depth handling code
196721        https://bugs.webkit.org/show_bug.cgi?id=72422
196722
196723        Reviewed by Nate Chapin.
196724
196725        Previously, V8Proxy used slightly different code to handle stack limit
196726        violations depending on whether they occured in runScript or
196727        callFunction. As described in http://webkit.org/b/72063, I intend to
196728        expand the usage of m_recursion when calling into script. This patch
196729        is intended to unify the existing handling code, making it easier to
196730        move elsewhere without causing unintended side-effects.
196731
196732        No tests changed, as the only change in behavior is the string passed
196733        to RangeError in the runScript case, and it's not mentioned anywhere
196734        in the LayoutTests.
196735
196736        * bindings/v8/V8Proxy.cpp:
196737        (WebCore::handleMaxRecursionDepthExceeded):
196738        (WebCore::V8Proxy::runScript): Use callFunction's factored-out code.
196739        (WebCore::V8Proxy::callFunction): Simplify and factor out code into handleMaxRecursionDepthExceeded.
196740
1967412011-11-15  Jessie Berlin  <jberlin@apple.com>
196742
196743        NSURLRequest leak beneath ResourceRequest::setStorageSession seen on Leaks bot.
196744        https://bugs.webkit.org/show_bug.cgi?id=72419
196745
196746        Reviewed by Adam Roben.
196747
196748        Adopt the copied NSURLRequest.
196749
196750        * platform/network/mac/ResourceRequestMac.mm:
196751        (WebCore::ResourceRequest::setStorageSession):
196752
1967532011-11-15  John Bates  <jbates@google.com>
196754
196755        Page/layer flashes after GPU-accelerated CSS transition
196756        https://bugs.webkit.org/show_bug.cgi?id=72343
196757
196758        LayerRendererChromium was resizing the window to 1x1 at initialization.
196759        In some cases, there is no drawLayers before switching back to
196760        software rendering. This left the window resized to 1x1 and the
196761        following software paints would therefore not be visible. This change
196762        moves the reshape call into drawLayers so that it will only be called
196763        if rendering will occur.
196764
196765        Reviewed by James Robinson.
196766
196767        New test: CCLayerTreeHostImplTest.reshapeNotCalledUntilDraw.
196768
196769        * platform/graphics/chromium/LayerRendererChromium.cpp:
196770        (WebCore::LayerRendererChromium::viewportChanged):
196771        (WebCore::LayerRendererChromium::doViewportChanged):
196772        (WebCore::LayerRendererChromium::drawLayersInternal):
196773        * platform/graphics/chromium/LayerRendererChromium.h:
196774
1967752011-11-15  Julien Chaffraix  <jchaffraix@webkit.org>
196776
196777        Add the needed plumbing to parse display: -webkit-grid
196778        https://bugs.webkit.org/show_bug.cgi?id=72331
196779
196780        Reviewed by Tony Chang.
196781
196782        Test: fast/css-grid-layout/display-grid-set-get.html
196783
196784        Added parsing support for display: -webkit-grid. From a rendering perspective,
196785        the value is equivalent to display: none until we properly implement it.
196786
196787        * css/CSSParser.cpp:
196788        (WebCore::CSSParser::parseValue):
196789        * css/CSSPrimitiveValueMappings.h:
196790        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
196791        * css/CSSValueKeywords.in:
196792        * rendering/style/RenderStyleConstants.h:
196793        Added the new CSS value and plumbed the parsing and style application of
196794        the new value.
196795
196796        * css/CSSPrimitiveValueMappings.h:
196797        (WebCore::CSSPrimitiveValue::operator EDisplay):
196798        Added an ASSERT here as I bumped into some non-trivial issues due to bug 72296.
196799        -wap-marquee was offsetting the new value and was wrongly casted by the CSSPrimitiveValueMapping
196800        logic outside the EDisplay range which would lead to crashes.
196801
196802        * rendering/RenderObject.cpp:
196803        (WebCore::RenderObject::createObject):
196804        Fixed the indentation to follow our coding rules.
196805
1968062011-11-15  Vincent Scheib  <scheib@chromium.org>
196807
196808        Mouse Lock: Renaming to 'Pointer Lock': MouseLockable to PointerLock
196809        https://bugs.webkit.org/show_bug.cgi?id=72315
196810
196811        Reviewed by Dimitri Glazkov.
196812
196813        * WebCore.gypi:
196814        * page/Navigator.cpp:
196815        (WebCore::Navigator::webkitPointer):
196816        * page/Navigator.h:
196817        * page/Navigator.idl:
196818        * page/PointerLock.cpp: Renamed from Source/WebCore/page/MouseLockable.cpp.
196819        (WebCore::PointerLock::PointerLock):
196820        (WebCore::PointerLock::~PointerLock):
196821        (WebCore::PointerLock::webkitLock):
196822        (WebCore::PointerLock::webkitUnlock):
196823        (WebCore::PointerLock::webkitIsLocked):
196824        * page/PointerLock.h: Renamed from Source/WebCore/page/MouseLockable.h.
196825        (WebCore::PointerLock::create):
196826        * page/PointerLock.idl: Renamed from Source/WebCore/page/MouseLockable.idl.
196827
1968282011-10-28  Ojan Vafai  <ojan@chromium.org>
196829
196830        Overflow and relayout are broken in the new flexboxes
196831        https://bugs.webkit.org/show_bug.cgi?id=71161
196832
196833        Reviewed by David Hyatt.
196834
196835        Tests: css3/flexbox/auto-height-dynamic.html
196836               css3/flexbox/flex-item-child-overflow-expected.html
196837               css3/flexbox/flex-item-child-overflow.html
196838
196839        * rendering/RenderFlexibleBox.cpp:
196840        (WebCore::RenderFlexibleBox::layoutBlock):
196841        -Always set the logical height to 0 to start with to ensure we don't
196842        use the height from the previous layout when we are computing the
196843        intrinsic size of the flexbox.
196844        -Call computeOverflow after computeLogicalHeight so that flex-item's children's
196845        overflow is properly rendered.
196846
196847        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
196848        -Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
196849        -Refactor flipping code. The behavior is the same, but the variable names are just
196850        more correct.
196851
1968522011-10-28  Ojan Vafai  <ojan@chromium.org>
196853
196854        Overflow and relayout are broken in the new flexboxes
196855        https://bugs.webkit.org/show_bug.cgi?id=71161
196856
196857        Reviewed by David Hyatt.
196858
196859        Tests: css3/flexbox/auto-height-dynamic.html
196860               css3/flexbox/flex-item-child-overflow-expected.html
196861               css3/flexbox/flex-item-child-overflow.html
196862
196863        * rendering/RenderFlexibleBox.cpp:
196864        (WebCore::RenderFlexibleBox::layoutBlock):
196865        -Always set the logical height to 0 to start with to ensure we don't
196866        use the height from the previous layout when we are computing the
196867        intrinsic size of the flexbox.
196868        -Call computeOverflow after computeLogicalHeight so that flex-item's children's
196869        overflow is properly rendered.
196870
196871        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
196872        -Now that we setLogicalHeight in layoutBlock, we no longer need to do it here.
196873        -Refactor flipping code. The behavior is the same, but the variable names are just
196874        more correct.
196875
1968762011-11-15  Nate Chapin  <japhet@chromium.org>
196877
196878        CachedResourceRequest is now the only SubresourceLoaderClient
196879        Merge CachedResourceRequest into SubresourceLoader and delete
196880        the SubresourceLoaderClient interface. A few items were moved
196881        to CachedResource instead of SubresourceLoader.
196882        https://bugs.webkit.org/show_bug.cgi?id=71149
196883
196884        Reviewed by Adam Barth.
196885
196886        * CMakeLists.txt:
196887        * GNUmakefile.list.am:
196888        * WebCore.gypi:
196889        * WebCore.pro:
196890        * WebCore.vcproj/WebCore.vcproj:
196891        * WebCore.xcodeproj/project.pbxproj:
196892        * loader/ResourceLoadScheduler.cpp:
196893        * loader/ResourceLoadScheduler.h:
196894        * loader/ResourceLoader.cpp:
196895        * loader/SubresourceLoader.cpp:
196896        (WebCore::SubresourceLoader::SubresourceLoader):
196897        (WebCore::SubresourceLoader::create):
196898        (WebCore::SubresourceLoader::init): Do work that had previously been
196899            done in SubresourceLoader::create() after the constructor.
196900        (WebCore::SubresourceLoader::willSendRequest):
196901        (WebCore::SubresourceLoader::didSendData):
196902        (WebCore::SubresourceLoader::didReceiveResponse):
196903        (WebCore::SubresourceLoader::didReceiveData):
196904        (WebCore::SubresourceLoader::didReceiveCachedMetadata):
196905        (WebCore::SubresourceLoader::didFinishLoading):
196906        (WebCore::SubresourceLoader::didFail):
196907        (WebCore::SubresourceLoader::willCancel):
196908        (WebCore::SubresourceLoader::releaseResources): Do the cleanup work that was
196909            duplicated throughout the various terminal CachedResourceRequest callbacks.
196910        * loader/SubresourceLoader.h: Fix indentation style issues.
196911        * loader/SubresourceLoaderClient.h: Removed.
196912        * loader/cache/CachedImage.cpp:
196913        * loader/cache/CachedRawResource.cpp:
196914        * loader/cache/CachedResource.cpp:
196915        (WebCore::cachedResourceTypeToTargetType):
196916        (WebCore::CachedResource::load): Do the work that had been done in
196917            CachedResourceRequest::load().
196918        (WebCore::CachedResource::finish):
196919        (WebCore::CachedResource::setResponse):
196920        (WebCore::CachedResource::stopLoading):
196921        * loader/cache/CachedResource.h:
196922        (WebCore::CachedResource::canDelete):
196923        * loader/cache/CachedResourceLoader.cpp:
196924        * loader/cache/CachedResourceRequest.cpp: Removed.
196925        * loader/cache/CachedResourceRequest.h: Removed.
196926        * loader/cf/SubresourceLoaderCF.cpp:
196927        * loader/chromium/CachedResourceRequestChromium.cpp: Removed.
196928        * loader/chromium/SubresourceLoaderChromium.cpp:
196929
1969302011-11-15  Anders Carlsson  <andersca@apple.com>
196931
196932        HostWindow screenToWindow/windowToScreen should be screenToRootView/rootViewToScreen
196933        https://bugs.webkit.org/show_bug.cgi?id=72397
196934
196935        Reviewed by Dan Bernstein.
196936
196937        screenToWindow and windowToScreen already use root view coordinates everywhere, with the
196938        exception of Mac WebKit1 which doesn't even implement the functions.
196939
196940        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
196941        (-[WebAccessibilityObjectWrapper position]):
196942        * loader/EmptyClients.h:
196943        * page/Chrome.cpp:
196944        (WebCore::Chrome::screenToRootView):
196945        (WebCore::Chrome::rootViewToScreen):
196946        * page/Chrome.h:
196947        * page/ChromeClient.h:
196948        * platform/HostWindow.h:
196949        * platform/ScrollView.cpp:
196950        (WebCore::ScrollView::contentsToScreen):
196951        (WebCore::ScrollView::screenToContents):
196952        * platform/chromium/PopupContainer.cpp:
196953        (WebCore::PopupContainer::layoutAndCalculateWidgetRect):
196954        (WebCore::PopupContainer::refresh):
196955
1969562011-11-15  Jeff Timanus  <twiz@chromium.org>
196957
196958        Patch removing duplicated code in the setup of the DrawingBuffer used
196959        to host the back-buffer for WebGL contents.
196960        https://bugs.webkit.org/show_bug.cgi?id=72327
196961
196962        Reviewed by Julien Chaffraix.
196963
196964        * html/canvas/WebGLRenderingContext.cpp:
196965        (WebCore::WebGLRenderingContext::copyTexImage2D):
196966        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
196967        (WebCore::WebGLRenderingContext::readPixels):
196968
1969692011-11-15  Eugene Nalimov  <enal@google.com>
196970
196971        Event listener for active DOM object that is also DOM node can be garbage collected prematurely.
196972        https://bugs.webkit.org/show_bug.cgi?id=70421 
196973
196974        Reviewed by Adam Barth.
196975
196976        Problem demonstrated itself when HTMLAudioElement was changed to become active DOM object.
196977        Before that there were no DOM objects that simultaneously were nodes and active objects.
196978        DOM object could be held in one of 3 maps -- node map, active objects map, and all other
196979        objects map, and HTMLAudioElement should be in 2 maps simultaneously. When it was in the
196980        active DOM objects map only, its event listener could be garbage collected, because special
196981        code that groups listeners with wrappers could handle only wrappers for objects in the node
196982        map. If we put HTMLAudioElement into nodes map, it would not be active DOM node, and can be
196983        garbage collected prematurely itself (see https://bugs.webkit.org/show_bug.cgi?id=66878).
196984        Fix is to introduce 4th map -- active nodes map, and change the code accordingly.
196985
196986        Test: media/audio-garbage-collect.html
196987
196988        * bindings/scripts/CodeGeneratorV8.pm:
196989        (GenerateNamedConstructorCallback):
196990        (GetDomMapFunction):
196991        * bindings/v8/DOMDataStore.cpp:
196992        (WebCore::DOMDataStore::DOMDataStore):
196993        (WebCore::DOMDataStore::getDOMWrapperMap):
196994        (WebCore::DOMDataStore::weakNodeCallback):
196995        * bindings/v8/DOMDataStore.h:
196996        (WebCore::DOMDataStore::activeDomNodeMap):
196997        * bindings/v8/ScopedDOMDataStore.cpp:
196998        (WebCore::ScopedDOMDataStore::ScopedDOMDataStore):
196999        (WebCore::ScopedDOMDataStore::~ScopedDOMDataStore):
197000        * bindings/v8/StaticDOMDataStore.cpp:
197001        (WebCore::StaticDOMDataStore::StaticDOMDataStore):
197002        * bindings/v8/StaticDOMDataStore.h:
197003        * bindings/v8/V8DOMMap.cpp:
197004        (WebCore::getActiveDOMNodeMap):
197005        (WebCore::removeAllDOMObjects):
197006        (WebCore::visitActiveDOMNodes):
197007        * bindings/v8/V8DOMMap.h:
197008        * bindings/v8/V8DOMWrapper.cpp:
197009        (WebCore::V8DOMWrapper::setJSWrapperForDOMNode):
197010        (WebCore::V8DOMWrapper::getWrapperSlow):
197011        * bindings/v8/V8GCController.cpp:
197012        (WebCore::GCPrologueSpecialCase):
197013        (WebCore::void):
197014        (WebCore::Node):
197015        (WebCore::GCPrologueVisitor::visitDOMWrapper):
197016        (WebCore::V8GCController::gcPrologue):
197017        (WebCore::GCEpilogueHelper::GCEpilogueSpecialCase):
197018        (WebCore::GCEpilogueVisitor::visitDOMWrapper):
197019        (WebCore::V8GCController::gcEpilogue):
197020        * dom/Node.h:
197021        (WebCore::Node::isActiveNode):
197022        * html/HTMLAudioElement.h:
197023        (WebCore::HTMLAudioElement::isActiveNode):
197024
1970252011-11-15  David Kilzer  <ddkilzer@apple.com>
197026
197027        Remove useless const modifier from KURL::init
197028        <http://webkit.org/b/72387>
197029
197030        Reviewed by Darin Adler.
197031
197032        * platform/KURL.cpp:
197033        (WebCore::KURL::init): Remove useless const.
197034
1970352011-11-14  Anders Carlsson  <andersca@apple.com>
197036
197037        HostWindow invalidation functions should use root view coordinates
197038        https://bugs.webkit.org/show_bug.cgi?id=72338
197039
197040        Reviewed by Dan Bernstein.
197041
197042        Rename invalidateWindow to invalidateRootView, and invalidateContentsAndWindow
197043        to invalidateContentsAndRootView. Make sure that the rects passed to the renamed functions
197044        are in root view coordinates by changing contentsToWindow calls to contentsToRootView.
197045        
197046        In practice this doesn't matter because for all platforms except Mac WebKit1, root view coordinates
197047        and window coordinates are equivalent, and Mac WebKit1 doesn't use these invalidation functions.
197048
197049        * loader/EmptyClients.h:
197050        * page/Chrome.cpp:
197051        (WebCore::Chrome::invalidateRootView):
197052        (WebCore::Chrome::invalidateContentsAndRootView):
197053        * page/Chrome.h:
197054        * page/ChromeClient.h:
197055        * page/Frame.cpp:
197056        (WebCore::Frame::tiledBackingStorePaintEnd):
197057        * page/FrameView.cpp:
197058        (WebCore::FrameView::invalidateRect):
197059        (WebCore::FrameView::scrollContentsFastPath):
197060        * platform/HostWindow.h:
197061        * platform/ScrollView.cpp:
197062        (WebCore::ScrollView::rectToCopyOnScroll):
197063        (WebCore::ScrollView::scrollContents):
197064        (WebCore::ScrollView::wheelEvent):
197065        * platform/chromium/FramelessScrollView.cpp:
197066        (WebCore::FramelessScrollView::invalidateRect):
197067        * svg/graphics/SVGImage.cpp:
197068        (WebCore::SVGImageChromeClient::invalidateContentsAndRootView):
197069
1970702011-11-15  Philip Rogers  <pdr@google.com>
197071
197072        Implement maxWidth for fillText and strokeText, fixing the canvas/philip/tests/2d.text.draw.fill.maxWidth.fontface.html test.
197073        https://bugs.webkit.org/show_bug.cgi?id=61528
197074
197075        Reviewed by Stephen White.
197076
197077        Tests: fast/canvas/2d.text.draw.fill.maxWidth.gradient.html
197078               fast/canvas/2d.text.draw.fill.maxWidth.negative.html
197079               fast/canvas/2d.text.draw.fill.maxWidth.veryLarge.html
197080               fast/canvas/2d.text.draw.fill.maxWidth.verySmall.html
197081
197082        * html/canvas/CanvasRenderingContext2D.cpp:
197083        (WebCore::CanvasRenderingContext2D::drawTextInternal):
197084
1970852011-11-15  Carlos Garcia Campos  <cgarcia@igalia.com>
197086
197087        [GTK] Implement download support in WebKit2
197088        https://bugs.webkit.org/show_bug.cgi?id=72258
197089
197090        Reviewed by Martin Robinson.
197091
197092        Add common download errors to ErrorsGtk.
197093
197094        * platform/gtk/ErrorsGtk.cpp:
197095        (WebCore::downloadNetworkError):
197096        (WebCore::downloadCancelledByUserError):
197097        (WebCore::downloadDestinationError):
197098        * platform/gtk/ErrorsGtk.h:
197099
1971002011-11-15  Cary Clark  <caryclark@google.com>
197101
197102        [chromium-mac] Enable vertical text using Skia
197103        https://bugs.webkit.org/show_bug.cgi?id=72137
197104
197105        Use Skia to draw vertical text. This is much
197106        faster and has higher fidelity than the old method
197107        of drawing text on a path.
197108
197109        The graphics context passed to Skia has been
197110        rotated 90 degrees but the character advances
197111        have not, so it is necessary to unrotate the canvas,
197112        and re-rotate the positions.
197113
197114        This generates correct output (or, at least,
197115        consistent with Chromium CG on Mac) for all vertical
197116        text tests, one of which is mentioned below.
197117        
197118        Reviewed by Stephen White.
197119
197120        Test: fast/writing-mode/text-orientation-basic.html
197121
197122        * platform/graphics/skia/FontSkia.cpp:
197123        (WebCore::setupPaint):
197124        (WebCore::Font::drawGlyphs):
197125
1971262011-11-15  Philip Rogers  <pdr@google.com>
197127
197128        Fix SVG hit testing when padding is present
197129        https://bugs.webkit.org/show_bug.cgi?id=37325
197130
197131        Reviewed by Nikolas Zimmermann.
197132
197133        Test: svg/hittest/svg-padding.xhtml
197134
197135        * rendering/svg/RenderSVGRoot.cpp:
197136        (WebCore::RenderSVGRoot::nodeAtPoint):
197137
1971382011-11-15  Pavel Feldman  <pfeldman@google.com>
197139
197140        Web Inspector: move generic code from DevTools.js into the WebCore.
197141        https://bugs.webkit.org/show_bug.cgi?id=72377
197142
197143        re-landing r100269.
197144
197145        Reviewed by Yury Semikhatsky.
197146
197147        * English.lproj/localizedStrings.js:
197148        * inspector/front-end/InspectorFrontendHostStub.js:
197149        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
197150        * inspector/front-end/ProfilesPanel.js:
197151        * inspector/front-end/Resource.js:
197152        * inspector/front-end/Settings.js:
197153        * inspector/front-end/UIUtils.js:
197154        (WebInspector.setToolbarColors):
197155        (WebInspector.resetToolbarColors):
197156        * inspector/front-end/inspector.js:
197157
1971582011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
197159
197160        Unreviewed, rolling out r100269.
197161        http://trac.webkit.org/changeset/100269
197162        https://bugs.webkit.org/show_bug.cgi?id=72383
197163
197164        "Broke dozens of tests due to exception in loadingFinished"
197165        (Requested by tonyg-cr on #webkit).
197166
197167        * English.lproj/localizedStrings.js:
197168        * inspector/front-end/InspectorFrontendHostStub.js:
197169        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
197170        * inspector/front-end/ProfilesPanel.js:
197171        * inspector/front-end/Resource.js:
197172        * inspector/front-end/Settings.js:
197173        * inspector/front-end/UIUtils.js:
197174        * inspector/front-end/inspector.js:
197175
1971762011-11-15  Alexander Pavlov  <apavlov@chromium.org>
197177
197178        font property does not show up as "shorthand" in inspector
197179        https://bugs.webkit.org/show_bug.cgi?id=15598
197180
197181        Reviewed by Nikolas Zimmermann.
197182
197183        The "font" CSS property is turned into a real shorthand, as its longhands used to float around
197184        in the resulting style declaration without any reference to their underlying "font" property.
197185
197186        Test: fast/css/font-shorthand.html
197187
197188        * css/CSSMutableStyleDeclaration.cpp:
197189        (WebCore::CSSMutableStyleDeclaration::getPropertyValue): Extracted the "font" value building into fontValue().
197190        (WebCore::CSSMutableStyleDeclaration::appendFontLonghandValueIfExplicit): Added
197191        (WebCore::CSSMutableStyleDeclaration::fontValue): Build the "font" value from longhands.
197192        * css/CSSMutableStyleDeclaration.h:
197193        * css/CSSParser.cpp:
197194        (WebCore::CSSParser::addProperty): Added optional "implicit" parameter.
197195        (WebCore::CSSParser::parseFont): Build respective longhands instead of the shorthand "font" property.
197196        * css/CSSParser.h: Added optional "implicit" parameter to addProperty().
197197        * css/CSSPropertyLonghand.cpp:
197198        (WebCore::initShorthandMap): Added "font" shorthand map entry.
197199        * css/CSSStyleSelector.cpp:
197200        (WebCore::CSSStyleSelector::applyPropertyToStyle): Separated the property application from the instance setup.
197201        (WebCore::CSSStyleSelector::applyPropertyToCurrentStyle): Added.
197202        * css/CSSStyleSelector.h: Made updateFont() public.
197203        * css/FontValue.cpp:
197204        (WebCore::FontValue::customCssText): Made use of StringBuilder.
197205        * html/canvas/CanvasRenderingContext2D.cpp:
197206        (WebCore::CanvasRenderingContext2D::setFont): Apply "font" longhands rather than the (non-existent) "font" property.
197207        * inspector/front-end/StylesSidebarPane.js:
197208        (WebInspector.StylesSidebarPane.prototype._markUsedProperties): Removed a workaround for "font" not being a shorthand.
197209        * page/animation/AnimationBase.cpp:
197210        (WebCore::addShorthandProperties): Removed a workaround for "font" not being a shorthand.
197211
1972122011-11-15  Pierre Rossi  <pierre.rossi@gmail.com>
197213
197214        [Qt] Clean up the remaining duplicate code after the RenderThemeQt refactoring.
197215        https://bugs.webkit.org/show_bug.cgi?id=72262
197216
197217        Reviewed by Antonio Gomes.
197218
197219        No new tests needed, this is purely cosmetic.
197220
197221        * platform/qt/RenderThemeQStyle.cpp:
197222        (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
197223        * platform/qt/RenderThemeQStyle.h:
197224        * platform/qt/RenderThemeQt.cpp:
197225        (WebCore::RenderThemeQt::adjustMenuListButtonStyle): remove the call to resetBorderRadius()
197226        since the mobile theme actually didn't do this.
197227        * platform/qt/RenderThemeQtMobile.cpp:
197228        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
197229
1972302011-11-15  Pavel Feldman  <pfeldman@google.com>
197231
197232        Web Inspector: move generic code from DevTools.js into the WebCore.
197233        https://bugs.webkit.org/show_bug.cgi?id=72377
197234
197235        This includes support for themed toolbar, remote debugging routines,
197236        removes a couple of obsolete overrides from the DevTools.js
197237
197238        Reviewed by Yury Semikhatsky.
197239
197240        * English.lproj/localizedStrings.js:
197241        * inspector/front-end/InspectorFrontendHostStub.js:
197242        (.WebInspector.InspectorFrontendHostStub.prototype.inspectedURLChanged):
197243        * inspector/front-end/ProfilesPanel.js:
197244        * inspector/front-end/Resource.js:
197245        * inspector/front-end/Settings.js:
197246        * inspector/front-end/UIUtils.js:
197247        (WebInspector.setToolbarColors):
197248        (WebInspector.resetToolbarColors):
197249        * inspector/front-end/inspector.js:
197250
1972512011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
197252
197253        [Qt] Centralize hide_symbols and ensure all libs are built with symbol visibility & bsymbolic_functions
197254
197255        Reviewed by Tor Arne Vestbø.
197256
197257        * Target.pri: Eliminate duplicated symbol stuff that lives now in default_post.prf.
197258
1972592011-11-15  Sheriff Bot  <webkit.review.bot@gmail.com>
197260
197261        Unreviewed, rolling out r100213.
197262        http://trac.webkit.org/changeset/100213
197263        https://bugs.webkit.org/show_bug.cgi?id=72371
197264
197265        "Breaks test_shell_tests" (Requested by tonyg-cr on #webkit).
197266
197267        * page/SecurityOrigin.cpp:
197268        (WebCore::SecurityOrigin::SecurityOrigin):
197269        * platform/SchemeRegistry.cpp:
197270        (WebCore::schemesWithUniqueOrigins):
197271
1972722011-11-15  Alpha Lam  <hclam@chromium.org>
197273
197274        [chromium] scroll deltas are cleared during commit to the main thread
197275        https://bugs.webkit.org/show_bug.cgi?id=71916
197276
197277        Reviewed by James Robinson.
197278
197279        Patch is covered by unit test.
197280
197281        Add a member m_sentScrollDelta to CCLayerImpl to keep track of the scroll delta being
197282        sent to the main thread during commit. This gives a simpler approach to keep tracking of a
197283        layer's scroll delta in impl thread.
197284
197285        * platform/graphics/chromium/LayerChromium.h:
197286        (WebCore::LayerChromium::sentScrollDelta):
197287        * platform/graphics/chromium/cc/CCLayerImpl.h:
197288        (WebCore::CCLayerImpl::sentScrollDelta):
197289        (WebCore::CCLayerImpl::setSentScrollDelta):
197290        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
197291        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
197292        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
197293
1972942011-11-15  Simon Hausmann  <simon.hausmann@nokia.com>
197295
197296        [Qt] REGRESSION(100123): It made inspector tests crash
197297        https://bugs.webkit.org/show_bug.cgi?id=72274
197298
197299        Reviewed by Tor Arne Vestbø.
197300
197301        * platform/qt/RenderThemeQStyle.h: Remove uninitialized and duplicated
197302        m_page member that should really come from RenderThemeQt.
197303
1973042011-11-15  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
197305
197306        Unreviewed. Fix build breaks when EFL port is built.
197307
197308        * CMakeLists.txt:
197309        * UseJSC.cmake:
197310
1973112011-11-15  Noel Gordon  <noel.gordon@gmail.com>
197312
197313        Make ImageFrame member getAddr() public
197314        https://bugs.webkit.org/show_bug.cgi?id=72321
197315
197316        Reviewed by Adam Barth.
197317
197318        Make ImageFrame member getAddr() public to allow ImageFrame users access to the
197319        underlying frame pixels if needed. Image decoders, for example, could with care
197320        use this service to write decoded pixels direct to the ImageFrame pixel buffer,
197321        avoiding intermeadiate data copies from temporary decoded pixel row buffers and
197322        the decoding performance loss that that entails.
197323
197324        No new tests, refactoring only.
197325
197326        * platform/image-decoders/ImageDecoder.h:
197327        (WebCore::ImageFrame::getAddr):
197328
1973292011-11-14  Alexander Pavlov  <apavlov@chromium.org>
197330
197331        Web Inspector: [Crash] Crash when inspecting namespaced SVG styled via element names
197332        https://bugs.webkit.org/show_bug.cgi?id=72261
197333
197334        Reviewed by Pavel Feldman.
197335
197336        Test: inspector/styles/svg-style.xhtml
197337
197338        * inspector/InspectorStyleSheet.cpp:
197339        (WebCore::InspectorStyleSheet::inlineStyleSheetText):
197340
1973412011-11-15  Kent Tamura  <tkent@chromium.org>
197342
197343        [V8] Fix incorrect handling of JavaScript properties in DOMStringMap
197344        https://bugs.webkit.org/show_bug.cgi?id=53578
197345
197346        Reviewed by Adam Barth.
197347
197348        Follows a JSC behavior change by r96893.
197349
197350        * bindings/v8/custom/V8DOMStringMapCustom.cpp:
197351        (WebCore::V8DOMStringMap::namedPropertyGetter):
197352        Propagate to the JavaScript object if the DOMStringMap object
197353        doesn't have the requested item.
197354        (WebCore::V8DOMStringMap::namedPropertyDeleter): ditto.
197355        (WebCore::V8DOMStringMap::namedPropertySetter):
197356        Try to set a property to only a DOMStringMap object.
197357
1973582011-11-14  Pavel Feldman  <pfeldman@google.com>
197359
197360        Web Inspector: Command line $x fails for 3 of 4 types of XPath query
197361        https://bugs.webkit.org/show_bug.cgi?id=72276
197362
197363        Reviewed by Timothy Hatcher.
197364
197365        Test: inspector/console/console-xpath.html
197366
197367        * inspector/InjectedScriptSource.js:
197368        (.):
197369
1973702011-11-14  Ryosuke Niwa  <rniwa@webkit.org>
197371
197372        Fix the change log entry for r59190.
197373
197374        * ChangeLog-2010-05-24:
197375
1973762011-11-14  Dmitry Lomov  <dslomov@google.com>
197377        
197378        [V8][Chromium]Serialize dense arrays densly
197379        https://bugs.webkit.org/show_bug.cgi?id=72198
197380        This patch ensures that:
197381        - Dense arrays are serialized densly, and not as name-value pairs
197382        - Sparse arrays are allocated as sparse on deserialization.
197383        The criteria to choose whether to serialize densly or sparsely is the size
197384        of a resulting serialized stream.
197385
197386        Reviewed by David Levin.
197387
197388        Test: fast/dom/Window/window-postmessage-arrays.html
197389
197390        * bindings/v8/SerializedScriptValue.cpp:
197391        (WebCore::V8ObjectMap::Writer::writeDenseArray):
197392        (WebCore::V8ObjectMap::Writer::writeGenerateFreshSparseArray):
197393        (WebCore::V8ObjectMap::Writer::writeGenerateFreshDenseArray):
197394        (WebCore::V8ObjectMap::Serializer::writeDenseArray):
197395        (WebCore::V8ObjectMap::Serializer::AbstractObjectState::execDepth):
197396        (WebCore::V8ObjectMap::Serializer::AbstractObjectState::serializeProperties):
197397        (WebCore::V8ObjectMap::Serializer::ObjectState::advance):
197398        (WebCore::V8ObjectMap::Serializer::DenseArrayState::DenseArrayState):
197399        (WebCore::V8ObjectMap::Serializer::DenseArrayState::advance):
197400        (WebCore::V8ObjectMap::Serializer::DenseArrayState::objectDone):
197401        (WebCore::V8ObjectMap::Serializer::SparseArrayState::SparseArrayState):
197402        (WebCore::V8ObjectMap::Serializer::SparseArrayState::advance):
197403        (WebCore::V8ObjectMap::Serializer::serializeDensely):
197404        (WebCore::V8ObjectMap::Serializer::startArrayState):
197405        (WebCore::V8ObjectMap::Serializer::startObjectState):
197406        (WebCore::V8ObjectMap::Serializer::doSerialize):
197407        (WebCore::V8ObjectMap::Reader::read):
197408        (WebCore::V8ObjectMap::Deserializer::newSparseArray):
197409        (WebCore::V8ObjectMap::Deserializer::completeSparseArray):
197410        (WebCore::V8ObjectMap::Deserializer::completeDenseArray):
197411
1974122011-11-14  Alexandre Elias  <aelias@google.com>
197413
197414        [chromium] Fix scaleDelta zoom-out visibility rect bug
197415        https://bugs.webkit.org/show_bug.cgi?id=72208
197416
197417        Since the scroll is no longer applied at the top layer of the layer
197418        tree, the scaleDelta transformation needs to be moved down to the
197419        same level.
197420
197421        Also fix zoomAnimator to be applied the same way.  I removed zoom
197422        animator layout tests, as they aren't testing the actual impl-side
197423        codepath, and are hard to continue supporting -- we should cover zoom
197424        features with unit tests in the future.
197425
197426        Reviewed by James Robinson.
197427
197428        No new tests (planning to add later: https://bugs.webkit.org/show_bug.cgi?id=71529)
197429
197430        * platform/graphics/chromium/LayerChromium.h:
197431        (WebCore::LayerChromium::scaleDelta):
197432        * platform/graphics/chromium/LayerRendererChromium.cpp:
197433        (WebCore::LayerRendererChromium::drawLayersInternal):
197434        * platform/graphics/chromium/LayerRendererChromium.h:
197435        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
197436        (WebCore::CCLayerImpl::CCLayerImpl):
197437        (WebCore::CCLayerImpl::setScaleDelta):
197438        * platform/graphics/chromium/cc/CCLayerImpl.h:
197439        (WebCore::CCLayerImpl::scaleDelta):
197440        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
197441        (WebCore::calculateDrawTransformsAndVisibilityInternal):
197442        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
197443        (WebCore::CCLayerTreeHostImpl::setScaleDelta):
197444        (WebCore::CCLayerTreeHostImpl::setZoomAnimatorTransform):
197445
1974462011-11-14  Chris Fleizach  <cfleizach@apple.com>
197447
197448        WebProcess crashes when trying to display your "uploaded videos" page on Facebook
197449        https://bugs.webkit.org/show_bug.cgi?id=72334
197450
197451        Reviewed by Beth Dakin.
197452
197453        Protect against documents without frames.
197454
197455        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
197456        (-[WebAccessibilityObjectWrapper remoteAccessibilityParentObject]):
197457
1974582011-11-14  Oliver Hunt  <oliver@apple.com>
197459
197460        More V8 build fixes.
197461
197462        * bindings/v8/custom/V8ArrayBufferViewCustom.h:
197463        (WebCore::setWebGLArrayHelper):
197464
1974652011-11-14  Oliver Hunt  <oliver@apple.com>
197466
197467        Fix V8 build again.
197468
197469        * bindings/scripts/CodeGeneratorV8.pm:
197470        * bindings/scripts/test/V8/V8Float64Array.cpp:
197471        (WTF::Float64Array::neuterBinding):
197472
1974732011-11-14  Oliver Hunt  <oliver@apple.com>
197474
197475        Fix V8 build.
197476
197477        * bindings/scripts/CodeGeneratorV8.pm:
197478        * bindings/scripts/test/V8/V8Float64Array.cpp:
197479        (WTF::Float64Array::neuterBinding):
197480
1974812011-11-14  Oliver Hunt  <oliver@apple.com>
197482
197483        Start migrating typed array impl types to WTF
197484        https://bugs.webkit.org/show_bug.cgi?id=72336
197485
197486        Reviewed by Geoffrey Garen.
197487
197488        Move typed arrays from WebCore namespace to WTF, and
197489        start reducing dependencies on WebCore types.
197490
197491        * bindings/js/JSArrayBufferViewHelper.h:
197492        (WebCore::setWebGLArrayHelper):
197493        * bindings/scripts/CodeGeneratorJS.pm:
197494        (IsTypedArrayType):
197495        (AddClassForwardIfNeeded):
197496        (GenerateImplementation):
197497        * bindings/scripts/CodeGeneratorV8.pm:
197498        (IsTypedArrayType):
197499        * bindings/scripts/test/CPP/WebDOMFloat64Array.cpp: Added.
197500        (WebDOMFloat64Array::WebDOMFloat64Array):
197501        (WebDOMFloat64Array::impl):
197502        (toWebCore):
197503        (toWebKit):
197504        * bindings/scripts/test/CPP/WebDOMFloat64Array.h: Added.
197505        (WebDOMFloat64Array::~WebDOMFloat64Array):
197506        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.cpp: Added.
197507        (WebKit::kit):
197508        (WebKit::core):
197509        (webkit_dom_float64array_finalize):
197510        (webkit_dom_float64array_set_property):
197511        (webkit_dom_float64array_get_property):
197512        (webkit_dom_float64array_constructed):
197513        (webkit_dom_float64array_class_init):
197514        (webkit_dom_float64array_init):
197515        (WebKit::wrapFloat64Array):
197516        * bindings/scripts/test/GObject/WebKitDOMFloat64Array.h: Added.
197517        * bindings/scripts/test/GObject/WebKitDOMFloat64ArrayPrivate.h: Added.
197518        * bindings/scripts/test/JS/JSFloat64Array.cpp: Added.
197519        (WebCore::JSFloat64ArrayConstructor::JSFloat64ArrayConstructor):
197520        (WebCore::JSFloat64ArrayConstructor::finishCreation):
197521        (WebCore::JSFloat64ArrayConstructor::getOwnPropertySlot):
197522        (WebCore::JSFloat64ArrayConstructor::getOwnPropertyDescriptor):
197523        (WebCore::JSFloat64ArrayConstructor::getConstructData):
197524        (WebCore::getJSFloat64ArrayPrototypeTable):
197525        (WebCore::JSFloat64ArrayPrototype::self):
197526        (WebCore::getJSFloat64ArrayTable):
197527        (WebCore::JSFloat64Array::JSFloat64Array):
197528        (WebCore::JSFloat64Array::finishCreation):
197529        (WebCore::JSFloat64Array::createPrototype):
197530        (WebCore::JSFloat64Array::getOwnPropertySlot):
197531        (WebCore::JSFloat64Array::getOwnPropertyDescriptor):
197532        (WebCore::JSFloat64Array::getOwnPropertySlotByIndex):
197533        (WebCore::jsFloat64ArrayConstructor):
197534        (WebCore::JSFloat64Array::put):
197535        (WebCore::JSFloat64Array::putByIndex):
197536        (WebCore::JSFloat64Array::getOwnPropertyNames):
197537        (WebCore::JSFloat64Array::getConstructor):
197538        (WebCore::JSFloat64Array::getByIndex):
197539        (WebCore::toFloat64Array):
197540        (WTF::Float64Array::neuterBinding):
197541        * bindings/scripts/test/JS/JSFloat64Array.h: Added.
197542        (WebCore::JSFloat64Array::create):
197543        (WebCore::JSFloat64Array::createStructure):
197544        (WebCore::JSFloat64Array::impl):
197545        (WebCore::JSFloat64ArrayPrototype::create):
197546        (WebCore::JSFloat64ArrayPrototype::createStructure):
197547        (WebCore::JSFloat64ArrayPrototype::JSFloat64ArrayPrototype):
197548        (WebCore::JSFloat64ArrayConstructor::create):
197549        (WebCore::JSFloat64ArrayConstructor::createStructure):
197550        * bindings/scripts/test/ObjC/DOMFloat64Array.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
197551        * bindings/scripts/test/ObjC/DOMFloat64Array.mm: Copied from Source/WebCore/html/canvas/Float32Array.cpp.
197552        (core):
197553        (kit):
197554        * bindings/scripts/test/ObjC/DOMFloat64ArrayInternal.h: Copied from Source/WebCore/html/canvas/Int16Array.cpp.
197555        * bindings/scripts/test/TestTypedArray.idl: Copied from Source/WebCore/html/canvas/Float64Array.cpp.
197556        * bindings/scripts/test/V8/V8Float64Array.cpp: Added.
197557        (WebCore::Float64ArrayInternal::V8_USE):
197558        (WebCore::ConfigureV8Float64ArrayTemplate):
197559        (WebCore::V8Float64Array::GetRawTemplate):
197560        (WebCore::V8Float64Array::GetTemplate):
197561        (WebCore::V8Float64Array::HasInstance):
197562        (WebCore::V8Float64Array::wrapSlow):
197563        (WTF::Float64Array::neuterBinding):
197564        (WebCore::V8Float64Array::derefObject):
197565        * bindings/scripts/test/V8/V8Float64Array.h: Added.
197566        (WebCore::V8Float64Array::toNative):
197567        (WebCore::V8Float64Array::existingWrapper):
197568        (WebCore::V8Float64Array::wrap):
197569        (WebCore::toV8):
197570        * fileapi/FileReader.h:
197571        * fileapi/FileReaderLoader.h:
197572        * fileapi/FileReaderSync.h:
197573        * fileapi/WebKitBlobBuilder.h:
197574        * html/HTMLMediaElement.h:
197575        * html/canvas/ArrayBuffer.cpp:
197576        * html/canvas/ArrayBuffer.h:
197577        * html/canvas/ArrayBufferView.cpp:
197578        (WTF::ArrayBufferView::setImpl):
197579        (WTF::ArrayBufferView::setRangeImpl):
197580        (WTF::ArrayBufferView::zeroRangeImpl):
197581        (WTF::ArrayBufferView::neuter):
197582        * html/canvas/ArrayBufferView.h:
197583        * html/canvas/Float32Array.cpp:
197584        * html/canvas/Float32Array.h:
197585        (WTF::Float32Array::set):
197586        * html/canvas/Float64Array.cpp:
197587        * html/canvas/Float64Array.h:
197588        (WTF::Float64Array::set):
197589        * html/canvas/Int16Array.cpp:
197590        * html/canvas/Int16Array.h:
197591        (WTF::Int16Array::set):
197592        * html/canvas/Int32Array.cpp:
197593        * html/canvas/Int32Array.h:
197594        (WTF::Int32Array::set):
197595        * html/canvas/Int8Array.cpp:
197596        * html/canvas/Int8Array.h:
197597        (WTF::Int8Array::set):
197598        * html/canvas/IntegralTypedArrayBase.h:
197599        * html/canvas/TypedArrayBase.h:
197600        (WTF::TypedArrayBase::set):
197601        (WTF::TypedArrayBase::setRange):
197602        (WTF::TypedArrayBase::zeroRange):
197603        * html/canvas/Uint16Array.cpp:
197604        * html/canvas/Uint16Array.h:
197605        (WTF::Uint16Array::set):
197606        * html/canvas/Uint32Array.cpp:
197607        * html/canvas/Uint32Array.h:
197608        (WTF::Uint32Array::set):
197609        * html/canvas/Uint8Array.cpp:
197610        * html/canvas/Uint8Array.h:
197611        (WTF::Uint8Array::set):
197612        * html/canvas/WebGLBuffer.h:
197613        * page/Crypto.h:
197614        * webaudio/AsyncAudioDecoder.h:
197615        * webaudio/AudioBuffer.cpp:
197616        (WebCore::AudioBuffer::AudioBuffer):
197617        (WebCore::AudioBuffer::zero):
197618        * webaudio/AudioContext.h:
197619        * webaudio/JavaScriptAudioNode.h:
197620        * webaudio/RealtimeAnalyser.h:
197621        * webaudio/RealtimeAnalyserNode.h:
197622        * webaudio/WaveShaperNode.h:
197623        * websockets/ThreadableWebSocketChannel.h:
197624        * websockets/WebSocket.h:
197625        * websockets/WebSocketChannel.h:
197626        * xml/XMLHttpRequest.h:
197627
1976282011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
197629
197630        Add --css-grid-layout to build-webkit and the build systems
197631        https://bugs.webkit.org/show_bug.cgi?id=72320
197632
197633        Reviewed by Ojan Vafai.
197634
197635        * Configurations/FeatureDefines.xcconfig:
197636
1976372011-11-14  Daniel Bates  <dbates@rim.com>
197638
197639        Remove unnecessary #include SVGResourcesCache.h in SVGDocumentExtensions.h; use forward declaration
197640        https://bugs.webkit.org/show_bug.cgi?id=72335
197641
197642        Reviewed by Eric Seidel.
197643
197644        It's sufficient to forward declare SVGResourcesCache in SVGDocumentExtensions.h and #include SVGResourcesCache.h
197645        in SVGDocumentExtensions.cpp. This will reduce the number of files we need to re-compile after the file
197646        SVGResourcesCache.h has been modified. Currently we #include SVGResourcesCache.h in SVGDocumentExtensions.h.
197647
197648        * rendering/svg/RenderSVGBlock.cpp: Include SVGResourcesCache.h.
197649        * rendering/svg/RenderSVGContainer.cpp: Ditto.
197650        * rendering/svg/RenderSVGForeignObject.cpp: Ditto.
197651        * rendering/svg/RenderSVGImage.cpp: Ditto.
197652        * rendering/svg/RenderSVGInline.cpp: Ditto.
197653        * rendering/svg/RenderSVGModelObject.cpp: Ditto.
197654        * rendering/svg/RenderSVGPath.cpp: Ditto.
197655        * rendering/svg/RenderSVGResource.cpp: Ditto.
197656        * rendering/svg/RenderSVGResourceClipper.cpp: Ditto.
197657        * rendering/svg/RenderSVGResourceContainer.cpp: Ditto.
197658        * rendering/svg/RenderSVGRoot.cpp: Ditto.
197659        * rendering/svg/RenderSVGText.cpp: Ditto.
197660        * rendering/svg/SVGInlineTextBox.cpp: Ditto.
197661        * rendering/svg/SVGRenderSupport.cpp: Ditto.
197662        * svg/SVGDocumentExtensions.cpp: Ditto.
197663        * svg/SVGDocumentExtensions.h: Forward declare SVGResourcesCache.
197664
1976652011-11-14  Rafael Weinstein  <rafaelw@chromium.org>
197666
197667        [MutationObservers] Add histogram collection for usage of DOM Mutation Events
197668        https://bugs.webkit.org/show_bug.cgi?id=72316
197669
197670        Reviewed by Ryosuke Niwa.
197671
197672        This patch adds six calls in ~Document() which simply pipe-out to the embedder
197673        the (already-collected) bits of whether varous DOM Mutation Events were registered
197674        on the document.
197675
197676        No tests needed. No functional changes.
197677
197678        * dom/Document.cpp:
197679        (WebCore::histogramMutationEventUsage):
197680        (WebCore::Document::~Document):
197681
1976822011-11-14  Simon Fraser  <simon.fraser@apple.com>
197683
197684        div with webkit-transform + webkit-box-reflect disappears when switching tabs
197685        https://bugs.webkit.org/show_bug.cgi?id=53355
197686
197687        Reviewed by Dean Jackson.
197688
197689        Tickle Core Animation into updating the layer's content property when
197690        switching back to a tab which has composited reflections. This hack is
197691        needed becuase reflections involve sharing layer contents between layers.
197692
197693        * platform/graphics/mac/WebLayer.mm:
197694        (-[WebLayer actionForKey:]):
197695
1976962011-11-14  Adam Barth  <abarth@webkit.org>
197697
197698        Unique origins shouldn't remember their scheme, host, or port
197699        https://bugs.webkit.org/show_bug.cgi?id=72308
197700
197701        Reviewed by Eric Seidel.
197702
197703        This patch contains the bulk (all?) of the behavior differences in this
197704        patch series.  Unique origins shouldn't remember their schemes.  Doing
197705        so causes some privileges (e.g., local access) to leak into unique
197706        origins.
197707
197708        * page/SecurityOrigin.cpp:
197709        (WebCore::SecurityOrigin::SecurityOrigin):
197710            - Explicitly clear out the protocol, host, and port for unique
197711              origins.  A future patch will refactor all this code to be more
197712              elegant.
197713        * platform/SchemeRegistry.cpp:
197714        (WebCore::schemesWithUniqueOrigins):
197715            - Merge "about" and "javascript" in with the general case now that
197716              we don't have a separate notion of an empty origin.
197717
1977182011-11-14  Adam Barth  <abarth@webkit.org>
197719
197720        Don't special-case "data" URLs in drag-and-drop logic
197721        https://bugs.webkit.org/show_bug.cgi?id=72322
197722
197723        Reviewed by Eric Seidel.
197724
197725        See the bug for more details.
197726
197727        Test: editing/pasteboard/drag-drop-to-data-url.html
197728
197729        * page/SecurityOrigin.cpp:
197730        (WebCore::SecurityOrigin::canReceiveDragData):
197731
1977322011-11-14  Adrienne Walker  <enne@google.com>
197733
197734        [chromium] Pipe compositor commit/swap up to WebWidgetClient
197735        https://bugs.webkit.org/show_bug.cgi?id=72041
197736
197737        Reviewed by Darin Fisher.
197738
197739        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
197740        (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
197741        (WebCore::CCLayerTreeHost::didCompleteSwapBuffers):
197742        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
197743        (WebCore::CCSingleThreadProxy::doComposite):
197744        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
197745        (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
197746        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
197747        (WebCore::CCThreadProxy::didCommitAndDrawFrame):
197748        (WebCore::CCThreadProxy::didCompleteSwapBuffers):
197749        * platform/graphics/chromium/cc/CCThreadProxy.h:
197750
1977512011-11-14  Tony Chang  <tony@chromium.org>
197752
197753        Remove the CSS3_FLEXBOX compile time flag and enable on all ports
197754        https://bugs.webkit.org/show_bug.cgi?id=72196
197755
197756        Reviewed by Ojan Vafai.
197757
197758        * Configurations/FeatureDefines.xcconfig:
197759        * css/CSSComputedStyleDeclaration.cpp:
197760        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
197761        * css/CSSFlexValue.cpp:
197762        * css/CSSFlexValue.h:
197763        * css/CSSParser.cpp:
197764        (WebCore::CSSParser::parseValue):
197765        (WebCore::CSSParser::parseFlex):
197766        * css/CSSPrimitiveValueMappings.h:
197767        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
197768        * css/CSSProperty.cpp:
197769        (WebCore::CSSProperty::isInheritedProperty):
197770        * css/CSSPropertyNames.in:
197771        * css/CSSStyleApplyProperty.cpp:
197772        (WebCore::ApplyPropertyLength::applyValue):
197773        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
197774        * css/CSSStyleSelector.cpp:
197775        (WebCore::CSSStyleSelector::applyProperty):
197776        * css/CSSValue.cpp:
197777        (WebCore::CSSValue::cssText):
197778        (WebCore::CSSValue::destroy):
197779        * css/CSSValue.h:
197780        * css/CSSValueKeywords.in:
197781        * rendering/RenderFlexibleBox.cpp:
197782        * rendering/RenderFlexibleBox.h:
197783        * rendering/RenderObject.cpp:
197784        (WebCore::RenderObject::createObject):
197785        * rendering/RenderObject.h:
197786        (WebCore::RenderObject::isFlexibleBoxIncludingDeprecated):
197787        * rendering/style/RenderStyle.cpp:
197788        (WebCore::RenderStyle::RenderStyle):
197789        (WebCore::RenderStyle::diff):
197790        * rendering/style/RenderStyle.h:
197791        * rendering/style/RenderStyleConstants.h:
197792        * rendering/style/StyleFlexibleBoxData.cpp:
197793        * rendering/style/StyleFlexibleBoxData.h:
197794        * rendering/style/StyleRareNonInheritedData.cpp:
197795        (WebCore::StyleRareNonInheritedData::StyleRareNonInheritedData):
197796        (WebCore::StyleRareNonInheritedData::operator==):
197797        * rendering/style/StyleRareNonInheritedData.h:
197798
1977992011-11-14  Vincent Scheib  <scheib@chromium.org>
197800
197801        Mouse Lock: Renaming to 'Pointer Lock': Runtime Enable Flags
197802        https://bugs.webkit.org/show_bug.cgi?id=72303
197803
197804        Reviewed by Darin Fisher.
197805
197806        * bindings/generic/RuntimeEnabledFeatures.cpp:
197807        * bindings/generic/RuntimeEnabledFeatures.h:
197808        (WebCore::RuntimeEnabledFeatures::webkitPointerLockEnabled):
197809        (WebCore::RuntimeEnabledFeatures::setWebkitPointerLockEnabled):
197810        (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
197811        * page/Settings.cpp:
197812        (WebCore::Settings::Settings):
197813        * page/Settings.h:
197814        (WebCore::Settings::setPointerLockEnabled):
197815        (WebCore::Settings::PointerLockEnabled):
197816
1978172011-11-14  Sheriff Bot  <webkit.review.bot@gmail.com>
197818
197819        Unreviewed, rolling out r100176.
197820        http://trac.webkit.org/changeset/100176
197821        https://bugs.webkit.org/show_bug.cgi?id=72309
197822
197823        it broke the Mac builds (missing symbols) in a non-obvious way
197824        (Requested by jchaffraix on #webkit).
197825
197826        * CMakeLists.txt:
197827        * GNUmakefile.list.am:
197828        * Target.pri:
197829        * WebCore.gypi:
197830        * bindings/js/JSWebGLRenderingContextCustom.cpp:
197831        (WebCore::toJS):
197832        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
197833        (WebCore::toV8Object):
197834        * html/canvas/WebGLExperimentalCompressedTextures.cpp: Removed.
197835        * html/canvas/WebGLExperimentalCompressedTextures.h: Removed.
197836        * html/canvas/WebGLExperimentalCompressedTextures.idl: Removed.
197837        * html/canvas/WebGLExtension.h:
197838        * html/canvas/WebGLRenderingContext.cpp:
197839        (WebCore::WebGLRenderingContext::getExtension):
197840        (WebCore::WebGLRenderingContext::getParameter):
197841        (WebCore::WebGLRenderingContext::getSupportedExtensions):
197842        * html/canvas/WebGLRenderingContext.h:
197843        * platform/graphics/Extensions3D.h:
197844        * platform/graphics/GraphicsContext3D.h:
197845        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
197846        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
197847        * platform/graphics/qt/GraphicsContext3DQt.cpp:
197848
1978492011-11-14  Tony Chang  <tony@chromium.org>
197850
197851        remove -wap-marquee css propery value
197852        https://bugs.webkit.org/show_bug.cgi?id=72296
197853
197854        Reviewed by Adam Barth.
197855
197856        This css value is no longer used.
197857
197858        * css/CSSValueKeywords.in:
197859
1978602011-11-14  Julien Chaffraix  <jchaffraix@webkit.org>
197861
197862        Crash in RenderTableSection::splitColumn
197863        https://bugs.webkit.org/show_bug.cgi?id=70171
197864
197865        Reviewed by David Hyatt.
197866
197867        Tests: fast/table/crash-splitColumn-2.html
197868               fast/table/crash-splitColumn-3.html
197869               fast/table/crash-splitColumn.html
197870
197871        The old code would not take into account the fact that each RenderTableSection
197872        can set its m_needsCellRecalc flag independently of the rest.
197873
197874        This means that you cannot assume that you can always split or append columns to
197875        all the sections. Our approach is to skip sections needing cell recalc in several
197876        parts of the code as they will be properly reset to the table's representations
197877        during a cell recalc.
197878
197879        * rendering/RenderTable.cpp:
197880        (WebCore::RenderTable::splitColumn):
197881        (WebCore::RenderTable::appendColumn):
197882        Skip sections needing cell recalc as they will be properly updated later.
197883
197884        * rendering/RenderTableSection.cpp:
197885        (WebCore::RenderTableSection::addCell):
197886        Ignore a section needing cell recalc as addCell will be called after sync'ing
197887        the internal column representation in recalcCells.
197888
197889        (WebCore::RenderTableSection::recalcCells):
197890        Clear the flag at the beginning of the function to activate the previous functions.
197891        Added a comment as to why this is fine.
197892
197893        (WebCore::RenderTableSection::appendColumn):
197894        Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
197895        of recalcCells().
197896
1978972011-11-14  Adam Barth  <abarth@webkit.org>
197898
197899        Remove the concept of an empty SecurityOrigin
197900        https://bugs.webkit.org/show_bug.cgi?id=72287
197901
197902        Reviewed by Eric Seidel.
197903
197904        This concept is fragile and doesn't exist in the specs.  Previous
197905        patches have removed most of the code relying upon this function.  This
197906        patch removes a couple stragglers.
197907
197908        * page/DOMWindow.cpp:
197909        (WebCore::DOMWindow::postMessage):
197910            - This check should really be about unique origins because it
197911              doesn't make sense to target postMessages at unique origins, as
197912              explained in the comment.
197913        * page/SecurityOrigin.cpp:
197914        * page/SecurityOrigin.h:
197915
1979162011-11-14  Adam Barth  <abarth@webkit.org>
197917
197918        SecurityContext::isSecureTransitionTo should not refer to empty security origins
197919        https://bugs.webkit.org/show_bug.cgi?id=72277
197920
197921        Reviewed by Eric Seidel.
197922
197923        Now that we're tracking the "failed to initialized SecurityOrigin"
197924        state explicitly, we should use that to determine whether we can make a
197925        secure transition.
197926
197927        * dom/SecurityContext.cpp:
197928        (WebCore::SecurityContext::isSecureTransitionTo):
197929
1979302011-11-14  Vincent Scheib  <scheib@chromium.org>
197931
197932        Mouse Lock: Renaming to 'Pointer Lock': ENABLE Flags
197933        https://bugs.webkit.org/show_bug.cgi?id=72286
197934
197935        Reviewed by Adam Barth.
197936
197937        * bindings/generic/RuntimeEnabledFeatures.cpp:
197938        * bindings/generic/RuntimeEnabledFeatures.h:
197939        * dom/MouseEvent.idl:
197940        * dom/MouseRelatedEvent.h:
197941        * page/MouseLockable.cpp:
197942        * page/MouseLockable.h:
197943        * page/MouseLockable.idl:
197944        * page/Navigator.cpp:
197945        * page/Navigator.h:
197946        * page/Navigator.idl:
197947        * page/Settings.cpp:
197948        (WebCore::Settings::Settings):
197949        * page/Settings.h:
197950
1979512011-11-14  Anna Cavender  <annacc@chromium.org>
197952
197953        Remove TextTrackCueIndex and TextTrackCueSet.  No longer needed.
197954        https://bugs.webkit.org/show_bug.cgi?id=72216
197955
197956        Reviewed by Sam Weinig.
197957
197958        No new tests. No new functionality.
197959
197960        * CMakeLists.txt:
197961        * GNUmakefile.list.am:
197962        * Target.pri:
197963        * WebCore.gypi:
197964        * WebCore.xcodeproj/project.pbxproj:
197965        * html/TextTrackCueIndex.cpp: Removed.
197966        * html/TextTrackCueIndex.h: Removed.
197967
1979682011-10-10  Robert Hogan  <robert@webkit.org>
197969
197970        CSS 2.1 failure: border-spacing-applies-to-015.htm
197971        https://bugs.webkit.org/show_bug.cgi?id=69773
197972
197973        Reviewed by David Hyatt.
197974
197975        The CSS test suite expects UAs to allow multiple captions per table.
197976        Replace m_caption with a Vector called m_captions.
197977
197978        * rendering/RenderTable.cpp:
197979        (WebCore::RenderTable::RenderTable):
197980        (WebCore::RenderTable::addChild):
197981        (WebCore::RenderTable::removeChild):
197982        (WebCore::RenderTable::adjustLogicalHeightForCaption):
197983        (WebCore::RenderTable::layout):
197984        (WebCore::RenderTable::addOverflowFromChildren):
197985        (WebCore::RenderTable::paintObject):
197986        (WebCore::RenderTable::subtractCaptionRect):
197987        (WebCore::RenderTable::computePreferredLogicalWidths):
197988        (WebCore::RenderTable::nextColElement):
197989        (WebCore::RenderTable::colElement):
197990        (WebCore::RenderTable::recalcCaption):
197991        (WebCore::RenderTable::recalcSections):
197992        (WebCore::RenderTable::overflowClipRect):
197993        (WebCore::RenderTable::nodeAtPoint):
197994        * rendering/RenderTable.h:
197995
1979962011-11-14  Gregg Tavares  <gman@google.com>
197997
197998        Implement WEBGL_EXPERIMENTAL_compressed_textures WebGL extension
197999        https://bugs.webkit.org/show_bug.cgi?id=72086
198000
198001        Reviewed by Kenneth Russell.
198002
198003        No new tests. Will write final test once on hardware.
198004
198005        * CMakeLists.txt:
198006        * GNUmakefile.list.am:
198007        * WebCore.gypi:
198008        * WebCore.pro:
198009        * bindings/js/JSWebGLRenderingContextCustom.cpp:
198010        (WebCore::toJS):
198011        * bindings/v8/custom/V8WebGLRenderingContextCustom.cpp:
198012        (WebCore::toV8Object):
198013        * html/canvas/WebGLExperimentalCompressedTextures.cpp: Added.
198014        (WebCore::WebGLExperimentalCompressedTextures::WebGLExperimentalCompressedTextures):
198015        (WebCore::WebGLExperimentalCompressedTextures::~WebGLExperimentalCompressedTextures):
198016        (WebCore::WebGLExperimentalCompressedTextures::getName):
198017        (WebCore::WebGLExperimentalCompressedTextures::create):
198018        (WebCore::WebGLExperimentalCompressedTextures::supported):
198019        (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFormat):
198020        (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexFuncData):
198021        (WebCore::WebGLExperimentalCompressedTextures::validateCompressedTexSubDimensions):
198022        (WebCore::WebGLExperimentalCompressedTextures::compressedTexImage2D):
198023        (WebCore::WebGLExperimentalCompressedTextures::compressedTexSubImage2D):
198024        (WebCore::WebGLExperimentalCompressedTextures::getCompressedTextureFormats):
198025        * html/canvas/WebGLExperimentalCompressedTextures.h: Added.
198026        * html/canvas/WebGLExperimentalCompressedTextures.idl: Copied from Source/WebCore/html/canvas/WebGLExtension.h.
198027        * html/canvas/WebGLExtension.h:
198028        * html/canvas/WebGLRenderingContext.cpp:
198029        (WebCore::WebGLRenderingContext::getExtension):
198030        (WebCore::WebGLRenderingContext::getParameter):
198031        (WebCore::WebGLRenderingContext::getSupportedExtensions):
198032        * html/canvas/WebGLRenderingContext.h:
198033        * platform/graphics/Extensions3D.h:
198034        * platform/graphics/GraphicsContext3D.h:
198035        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
198036        (WebCore::GraphicsContext3D::compressedTexImage2D):
198037        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
198038        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
198039        (WebCore::GraphicsContext3D::compressedTexImage2D):
198040        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
198041        * platform/graphics/qt/GraphicsContext3DQt.cpp:
198042        (WebCore::GraphicsContext3D::compressedTexImage2D):
198043        (WebCore::GraphicsContext3D::compressedTexSubImage2D):
198044
1980452011-11-14  Michael Nordman  <michaeln@google.com>
198046
198047        Return more complete error and exception messages when a
198048        WebSQLDatabase function fails. Produce console logging
198049        for openDatabase() errors and vacuum errors. Add a lastErrorMessage
198050        accessor to the DatabaseSync interface.
198051        https://bugs.webkit.org/show_bug.cgi?id=71575
198052
198053        Reviewed by David Levin.
198054
198055        Yes, see LayoutTests/ChangeLog in this patch.
198056
198057        * platform/sql/SQLiteDatabase.cpp:
198058        (WebCore::SQLiteDatabase::SQLiteDatabase):
198059        (WebCore::SQLiteDatabase::open):
198060        (WebCore::SQLiteDatabase::close):
198061        (WebCore::SQLiteDatabase::lastError):
198062        (WebCore::SQLiteDatabase::lastErrorMsg):
198063        (WebCore::SQLiteDatabase:: runVacuumCommand):
198064        (WebCore::SQLiteDatabase:: runIncrementalVacuumCommand):
198065        Reflect errors in the open() method in lastError() and lastErrorMsg().
198066        Return an error codes for runVacuumCommand() and runIncrementalVacuumCommand().
198067
198068        * platform/sql/SQLiteDatabase.h:
198069        * storage/AbstractDatabase.cpp:
198070        (WebCore::formatErrorMessage):
198071        (WebCore::AbstractDatabase::performOpenAndVerify):
198072        (WebCore::AbstractDatabase::logErrorMessage):
198073        During openAndVerify, produce formatted error messages that include what was being done, the sqlite error code,
198074        and the sqlite error message. Add a helper to log message to the console.
198075
198076        * storage/AbstractDatabase.h:
198077        * storage/ChangeVersionWrapper.cpp:
198078        (WebCore::ChangeVersionWrapper::performPreflight):
198079        (WebCore::ChangeVersionWrapper::performPostflight):
198080        * storage/Database.cpp:
198081        (WebCore::Database::openDatabase):
198082        (WebCore::Database::openAndVerifyVersion):
198083        (WebCore::Database::performOpenAndVerify):
198084        * storage/Database.h:
198085        * storage/DatabaseSync.cpp:
198086        (WebCore::DatabaseSync::openDatabaseSync):
198087        (WebCore::DatabaseSync::changeVersion):
198088        (WebCore::DatabaseSync::runTransaction):
198089        * storage/DatabaseSync.h:
198090        (WebCore::DatabaseSync::lastErrorMessage):
198091        (WebCore::DatabaseSync::setLastErrorMessage):
198092        * storage/DatabaseSync.idl:
198093        Add a lastErrorMessage attribute so javascript callers can
198094        retrieve more detailed information about what went wrong.
198095
198096        * storage/DatabaseTask.cpp:
198097        (WebCore::Database::DatabaseOpenTask::DatabaseOpenTask):
198098        (WebCore::Database::DatabaseOpenTask::doPerformTask):
198099        * storage/DatabaseTask.h:
198100        (WebCore::Database::DatabaseOpenTask::create):
198101        Return an errorMessage in addition to the exception code.
198102
198103        * storage/SQLError.h:
198104        (WebCore::SQLError::create):
198105        Add helpers to produced formatted error messages.
198106
198107        * storage/SQLStatement.cpp:
198108        (WebCore::SQLStatement::execute):
198109        * storage/SQLStatementSync.cpp:
198110        (WebCore::SQLStatementSync::execute):
198111        * storage/SQLTransaction.cpp:
198112        (WebCore::SQLTransaction::openTransactionAndPreflight):
198113        (WebCore::SQLTransaction::postflightAndCommit):
198114        * storage/SQLTransactionSync.cpp:
198115        (WebCore::SQLTransactionSync::executeSQL):
198116        (WebCore::SQLTransactionSync::begin):
198117        (WebCore::SQLTransactionSync::execute):
198118        (WebCore::SQLTransactionSync::commit):
198119
1981202011-11-14  Adam Barth  <abarth@webkit.org>
198121
198122        SecurityOrigin inheritance should depend on document URL, not on "emptiness" of the SecurityOrigin
198123        https://bugs.webkit.org/show_bug.cgi?id=72283
198124
198125        Reviewed by Sam Weinig.
198126
198127        This change aligns our implementation more closely with the spec.  I
198128        don't think this change has an observable effects, but it moves us
198129        closer to removing the concept of an empty security origin.
198130
198131        * dom/Document.cpp:
198132        (WebCore::shouldInheritSecurityOriginFromOwner):
198133        (WebCore::Document::initSecurityContext):
198134
1981352011-11-14  Erik Arvidsson  <arv@chromium.org>
198136
198137        Remove getParameter from HTMLAnchorElement and Location
198138        https://bugs.webkit.org/show_bug.cgi?id=71966
198139
198140        Reviewed by Adam Barth.
198141
198142        * html/HTMLAnchorElement.cpp: Removed getParameter.
198143        * html/HTMLAnchorElement.h: Ditto.
198144        * html/HTMLAnchorElement.idl: Ditto.
198145        * page/Location.cpp: Ditto.
198146        * page/Location.h: Ditto.
198147        * page/Location.idl: Ditto.
198148
1981492011-11-14  Erik Arvidsson  <arv@chromium.org>
198150
198151        Remove RequiresAllArguments
198152        https://bugs.webkit.org/show_bug.cgi?id=71503
198153
198154        Reviewed by Adam Barth.
198155
198156        This removes RequiresAllArguments from the idl files as well as from the code generators.
198157        For window.move/resize/scroll we now match IE and treat missing arguments as 0.
198158        For Clipboard we now match Gecko and IE and throw an exception when setData is called with too few arguments.
198159
198160        Test: fast/events/drag-and-drop-set-drag-data-arguments.html
198161
198162        * bindings/js/JSSVGLengthCustom.cpp:
198163        (WebCore::JSSVGLength::convertToSpecifiedUnits):
198164        * bindings/scripts/CodeGeneratorJS.pm:
198165        (GenerateArgumentsCountCheck): Remove RequiresAllArguments.
198166        * bindings/scripts/CodeGeneratorV8.pm:
198167        (GenerateArgumentsCountCheck): Ditto.
198168        * bindings/scripts/test/CPP/WebDOMTestObj.cpp:
198169        * bindings/scripts/test/CPP/WebDOMTestObj.h:
198170        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
198171        * bindings/scripts/test/GObject/WebKitDOMTestObj.h:
198172        * bindings/scripts/test/JS/JSTestObj.cpp:
198173        * bindings/scripts/test/JS/JSTestObj.h:
198174        * bindings/scripts/test/ObjC/DOMTestObj.h:
198175        * bindings/scripts/test/ObjC/DOMTestObj.mm:
198176        * bindings/scripts/test/TestObj.idl:
198177        * bindings/scripts/test/V8/V8TestObj.cpp:
198178        (WebCore::ConfigureV8TestObjTemplate):
198179        * dom/Clipboard.idl: Remove [RequireAllArguments] from setData which actually means we now require all arguments and throw instead of silently fail.
198180        * page/DOMWindow.idl: Treat missing arguments as 0 which makes us match IE.
198181        * websockets/WebSocket.idl: Comment changes only.
198182
1981832011-11-08  Jer Noble  <jer.noble@apple.com>
198184
198185        Implement MediaController.
198186        https://bugs.webkit.org/show_bug.cgi?id=71408
198187
198188        Reviewed by Eric Carlson.
198189
198190        Tests: media/media-controller-playback.html
198191               media/media-controller.html
198192
198193        Adds support for the MediaController DOM object, and the mediagroup and mediacontroller
198194        HTMLMediaElement attributes.
198195
198196        MediaController is an DOM object which synchronizes playback of multiple HTMLMediaElements. It can
198197        either be created by a page script and assigned to a HTMLMediaElement using the controller property,
198198        or all HTMLMediaElements with identical mediagroup attributes will have a MediaController assigned 
198199        automatically.
198200
198201        Add an abstract interface implemented by both MediaController and HTMLMediaElement.
198202        * html/MediaControllerInterface.h: Added.
198203        (WebCore::MediaControllerInterface::~MediaControllerInterface):
198204
198205        Add the MediaController object and IDL.
198206        * html/MediaController.cpp: Added.
198207        (mediaGroupToMediaControllerMap):
198208        (MediaController::mediaControllerForMediaGroup):
198209        (MediaController::create):
198210        (MediaController::MediaController):
198211        (MediaController::~MediaController):
198212        (MediaController::addMediaElement):
198213        (MediaController::removeMediaElement):
198214        (MediaController::containsMediaElement):
198215        (MediaController::buffered):
198216        (MediaController::seekable):
198217        (MediaController::played):
198218        (MediaController::duration):
198219        (MediaController::currentTime):
198220        (MediaController::setCurrentTime):
198221        (MediaController::play):
198222        (MediaController::pause):
198223        (MediaController::setDefaultPlaybackRate):
198224        (MediaController::setPlaybackRate):
198225        (MediaController::setVolume):
198226        (MediaController::setMuted):
198227        (MediaController::reportControllerState):
198228        (MediaController::updateReadyState):
198229        (MediaController::updatePlaybackState):
198230        (MediaController::updateMediaElements):
198231        (MediaController::scheduleEvent):
198232        (MediaController::asyncEventTimerFired):
198233        (MediaController::scriptExecutionContext):
198234        (MediaController::hasAudio):
198235        (MediaController::hasVideo):
198236        (MediaController::hasClosedCaptions):
198237        (MediaController::setClosedCaptionsVisible):
198238        (MediaController::supportsScanning):
198239        (MediaController::beginScrubbing):
198240        (MediaController::endScrubbing):
198241        (MediaController::canPlay):
198242        (MediaController::isLiveStream):
198243        (MediaController::hasSource):
198244        (MediaController::returnToRealtime):
198245        (MediaController::isBlocked):
198246        (MediaController::hasEnded):
198247        * html/MediaController.h: Added.
198248        (WebCore::MediaController::mediaGroup):
198249        (WebCore::MediaController::paused):
198250        (WebCore::MediaController::defaultPlaybackRate):
198251        (WebCore::MediaController::playbackRate):
198252        (WebCore::MediaController::volume):
198253        (WebCore::MediaController::muted):
198254        (WebCore::MediaController::readyState):
198255        (WebCore::MediaController::playbackState):
198256        (WebCore::MediaController::supportsFullscreen):
198257        (WebCore::MediaController::isFullscreen):
198258        (WebCore::MediaController::enterFullscreen):
198259        (WebCore::MediaController::closedCaptionsVisible):
198260        (WebCore::MediaController::refEventTarget):
198261        (WebCore::MediaController::derefEventTarget):
198262        (WebCore::MediaController::toMediaController):
198263        (WebCore::MediaController::eventTargetData):
198264        (WebCore::MediaController::ensureEventTargetData):
198265        * html/MediaController.idl: Added.
198266
198267        Add convenience functions to TimeRanges which can calculate intersections and
198268        unions between TimeRanges objects.
198269        * html/TimeRanges.cpp:
198270        (TimeRanges::copy):
198271        (TimeRanges::invert):
198272        (TimeRanges::intersectWith):
198273        (TimeRanges::unionWith):
198274        * html/TimeRanges.h:
198275
198276        Add MediaControllerConstructor to the Window object.
198277        * page/DOMWindow.idl:
198278
198279        Add the two new attribute names, mediagroup and controller.
198280        * html/HTMLAttributeNames.in:
198281
198282        Add support for the new attributes, and add overridden behavior when a media element
198283        has a current media controller:
198284        * html/HTMLMediaElement.cpp:
198285        (WebCore::HTMLMediaElement::~HTMLMediaElement):
198286        (WebCore::HTMLMediaElement::parseMappedAttribute):
198287        (WebCore::HTMLMediaElement::prepareForLoad):
198288        (WebCore::HTMLMediaElement::setReadyState):
198289        (WebCore::HTMLMediaElement::setCurrentTime):
198290        (WebCore::HTMLMediaElement::setPlaybackRate):
198291        (WebCore::HTMLMediaElement::playInternal):
198292        (WebCore::HTMLMediaElement::togglePlayState):
198293        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
198294        (WebCore::HTMLMediaElement::seekable):
198295        (WebCore::HTMLMediaElement::potentiallyPlaying):
198296        (WebCore::HTMLMediaElement::endedPlayback):
198297        (WebCore::HTMLMediaElement::updateVolume):
198298        (WebCore::HTMLMediaElement::updatePlayState):
198299        (WebCore::HTMLMediaElement::userCancelledLoad):
198300        (WebCore::HTMLMediaElement::mediaGroup):
198301        (WebCore::HTMLMediaElement::setMediaGroup):
198302        (WebCore::HTMLMediaElement::controller):
198303        (WebCore::HTMLMediaElement::setController):
198304        (WebCore::HTMLMediaElement::updateMediaController):
198305        (WebCore::HTMLMediaElement::isBlockedOnMediaController):
198306        * html/HTMLMediaElement.h:
198307        (WebCore::HTMLMediaElement::hasSource):
198308        (WebCore::HTMLMediaElement::isLiveStream):
198309        * html/HTMLMediaElement.idl:
198310        * bindings/js/JSHTMLMediaElementCustom.cpp: Added.
198311        (WebCore::JSHTMLMediaElement::setMediaController):
198312
198313        Add convenience functions to store a mapping of media-elements-per-document to allow
198314        a quick lookup of media elements with the same media group within a given document:
198315        * html/HTMLMediaElement.cpp:
198316        (WebCore::documentToElementSetMap):
198317        (WebCore::addElementToDocumentMap):
198318        (WebCore::removeElementFromDocumentMap):
198319        
198320        Add a function "seekable" which returns a TimeRanges containing the seekable time ranges
198321        in a media element.  By default this is a single range of [0, maxTimeSeekable].
198322        * platform/graphics/MediaPlayer.cpp:
198323        (WebCore::MediaPlayer::seekable):
198324        * platform/graphics/MediaPlayer.h:
198325        * platform/graphics/MediaPlayerPrivate.h:
198326        (WebCore::MediaPlayerPrivateInterface::seekable):
198327
198328        Support functions to cast between MediaController and EventTarget.
198329        * bindings/js/JSEventTarget.cpp:
198330        (WebCore::toJS):
198331        * dom/EventTarget.cpp:
198332        (WebCore::EventTarget::toMediaController):
198333        * dom/EventTarget.h:
198334
198335        Fixed an infinite-recursion bug due to a collision between WTF::currentTime and
198336        ClockGeneric::currentTime:
198337        * platform/ClockGeneric.cpp:
198338        (ClockGeneric::ClockGeneric):
198339        (ClockGeneric::setCurrentTime):
198340        (ClockGeneric::currentTime):
198341        (ClockGeneric::setPlayRate):
198342        (ClockGeneric::start):
198343        (ClockGeneric::stop):
198344        (ClockGeneric::now):
198345        * platform/ClockGeneric.h:
198346
198347        Boilerplate to support creating the derived sources for MediaController and adding new sources
198348        to the project:
198349        * CMakeLists.txt:
198350        * DerivedSources.cpp:
198351        * DerivedSources.make:
198352        * GNUmakefile.list.am:
198353        * WebCore.gypi:
198354        * WebCore.xcodeproj/project.pbxproj:
198355
1983562011-11-14  Florin Malita  <fmalita@google.com>
198357
198358        Multiple foreign objects not rendered
198359        https://bugs.webkit.org/show_bug.cgi?id=72151
198360
198361        Reviewed by Adam Barth.
198362
198363        SVG end tags need to be case-adjusted (just like their start counterparts).
198364
198365        Test: svg/foreignObject/multiple-foreign-objects.html
198366
198367        * html/parser/HTMLTreeBuilder.cpp:
198368        (WebCore::HTMLTreeBuilder::processEndTag):
198369
1983702011-11-14  Mario Sanchez Prada  <msanchez@igalia.com>
198371
198372        Add support for the caretBrowsingEnabled preference in WebKit2
198373        https://bugs.webkit.org/show_bug.cgi?id=72266
198374
198375        Reviewed by Chris Fleizach.
198376
198377        * WebCore.exp.in: Exported settings for setCaretBrowsingEnabled.
198378
1983792011-11-14  Jonathan Backer  <backer@chromium.org>
198380
198381        [chromium] Plumb through partial swap
198382        https://bugs.webkit.org/show_bug.cgi?id=72028
198383
198384        Reviewed by Kenneth Russell.
198385
198386        * platform/graphics/chromium/Extensions3DChromium.h:
198387        * platform/graphics/chromium/LayerRendererChromium.cpp:
198388        (WebCore::LayerRendererChromium::initialize):
198389        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
198390        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
198391
1983922011-11-14  Andrey Kosyakov  <caseq@chromium.org>
198393
198394        Web Inspector: expose iframe window to the onShown event handler of panels & sidebars
198395        https://bugs.webkit.org/show_bug.cgi?id=72268
198396
198397        Reviewed by Pavel Feldman.
198398
198399        - replace IFrameView with ExtensionView;
198400        - inherit both ExtensionPanel and ExtensionSidebarPane from ExtensionView in the API;
198401        - move Panel.{onShow|onHide} to ExtensionView, effectively disabling show/hide notifications for non-extension panels and enabling it for sidebar panes;
198402        - expose iframe's window object in the onShow event handler.
198403
198404        * WebCore.gypi:
198405        * WebCore.vcproj/WebCore.vcproj:
198406        * inspector/compile-front-end.sh:
198407        * inspector/front-end/ExtensionAPI.js:
198408        (injectedExtensionAPI.ExtensionViewImpl.dispatchShowEvent):
198409        (injectedExtensionAPI):
198410        (injectedExtensionAPI.PanelWithSidebarImpl):
198411        (injectedExtensionAPI.ExtensionPanelImpl):
198412        (injectedExtensionAPI.ExtensionSidebarPaneImpl):
198413        * inspector/front-end/ExtensionPanel.js:
198414        (WebInspector.ExtensionView):
198415        (WebInspector.ExtensionView.prototype.wasShown):
198416        (WebInspector.ExtensionView.prototype.willHide):
198417        (WebInspector.ExtensionView.prototype._onLoad):
198418        (WebInspector.ExtensionPanel):
198419        (WebInspector.ExtensionSidebarPane.prototype.setPage):
198420        * inspector/front-end/ExtensionServer.js:
198421        (WebInspector.ExtensionServer.prototype.notifyViewShown):
198422        (WebInspector.ExtensionServer.prototype.notifyViewHidden):
198423        (WebInspector.ExtensionServer.prototype._onCreatePanel):
198424        * inspector/front-end/IFrameView.js: Removed.
198425        * inspector/front-end/Panel.js:
198426        (WebInspector.Panel.prototype.wasShown):
198427        (WebInspector.Panel.prototype.willHide):
198428        * inspector/front-end/WebKit.qrc:
198429        * inspector/front-end/inspector.html:
198430
1984312011-11-14  Yury Semikhatsky  <yurys@chromium.org>
198432
198433        Web Inspector: add 'Show function definition' context menu item for function values
198434        https://bugs.webkit.org/show_bug.cgi?id=72265
198435
198436        Allow navigating to JavaScript function definition using context menu.
198437
198438        Reviewed by Pavel Feldman.
198439
198440        * English.lproj/localizedStrings.js:
198441        * inspector/front-end/DebuggerPresentationModel.js:
198442        (WebInspector.DebuggerPresentationModel.prototype.rawLocationToUILocation):
198443        * inspector/front-end/ObjectPropertiesSection.js:
198444        (WebInspector.ObjectPropertyTreeElement.prototype.update):
198445        (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired):
198446        (WebInspector.ObjectPropertyTreeElement.prototype._functionContextMenuEventFired.revealFunction):
198447        * inspector/front-end/ScriptsPanel.js:
198448        (WebInspector.ScriptsPanel.prototype.showFunctionDefinition):
198449        * inspector/front-end/inspector.js:
198450        (WebInspector.showPanelForAnchorNavigation):
198451
1984522011-11-14  Pavel Feldman  <pfeldman@google.com>
198453
198454        Web Inspector: console's protocol payload does not have url and line properties.
198455        https://bugs.webkit.org/show_bug.cgi?id=72256
198456
198457        Reviewed by Yury Semikhatsky.
198458
198459        Test: inspector/console/console-url-and-line.html
198460
198461        * inspector/ConsoleMessage.cpp:
198462        (WebCore::ConsoleMessage::ConsoleMessage):
198463        * inspector/front-end/ConsoleMessage.js:
198464        (WebInspector.ConsoleMessageImpl):
198465
1984662011-11-14  Pavel Feldman  <pfeldman@google.com>
198467
198468        Web Inspector: [regression r99960] null callback access.
198469        https://bugs.webkit.org/show_bug.cgi?id=72263
198470
198471        Reviewed by Yury Semikhatsky.
198472
198473        * inspector/CodeGeneratorInspector.py:
198474
1984752011-11-14  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
198476
198477        [Qt] Unbreak the build on Mac OS X
198478
198479        QMacStyle is guarded by Q_WS_MAC, which is not the case for QPA. Until
198480        that's been fixed in Qt we have to use the same guards in WebKit, not
198481        Q_OS_MAC.
198482
198483        * platform/qt/RenderThemeQStyle.cpp:
198484        (WebCore::RenderThemeQStyle::RenderThemeQStyle):
198485        (WebCore::RenderThemeQStyle::adjustButtonStyle):
198486        (WebCore::RenderThemeQStyle::paintMenuList):
198487        (WebCore::RenderThemeQStyle::paintInnerSpinButton):
198488        * platform/qt/ScrollbarThemeQt.cpp:
198489        (WebCore::ScrollbarThemeQt::paint):
198490
1984912011-11-14  Simon Hausmann  <simon.hausmann@nokia.com>
198492
198493        [Qt] Replace use of QApplication with QGuiApplication.
198494
198495        Reviewed by Tor Arne Vestbø.
198496
198497        Replace use of QApplication by QGuiApplication where applicable.
198498
198499        * platform/qt/RenderThemeQt.cpp:
198500        (WebCore::RenderThemeQt::RenderThemeQt):
198501        (WebCore::RenderThemeQt::platformActiveSelectionBackgroundColor):
198502        (WebCore::RenderThemeQt::platformInactiveSelectionBackgroundColor):
198503        (WebCore::RenderThemeQt::platformActiveSelectionForegroundColor):
198504        (WebCore::RenderThemeQt::platformInactiveSelectionForegroundColor):
198505        (WebCore::RenderThemeQt::platformFocusRingColor):
198506        (WebCore::RenderThemeQt::systemColor):
198507        (WebCore::RenderThemeQt::minimumMenuListSize):
198508        (WebCore::RenderThemeQt::getMediaControlForegroundColor):
198509        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
198510        (WebCore::RenderThemeQt::caretBlinkInterval):
198511
1985122011-11-14  Jaehoon Jeong  <jh4u.jeong@samsung.com>
198513
198514        [CMAKE] Add the UseV8.cmake to WebCore.
198515        https://bugs.webkit.org/show_bug.cgi?id=72000
198516
198517        Reviewed by Daniel Bates.
198518
198519        Add the UseV8.cmake to WebCore to build bindings of V8 and
198520        generate JavaScript codes given IDL input.
198521
198522        * UseV8.cmake: Added.
198523
1985242011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>
198525
198526        [Qt] Remove the QStyle dependency in Qt's mobile theme
198527        https://bugs.webkit.org/show_bug.cgi?id=67773
198528
198529        This refactoring splits up RenderThemeQt with two
198530        subclasses, a QStyle-backed one, and a Mobile version
198531        that uses the old mobile theme for now.
198532
198533        QStyle availability is detected at compile time, and
198534        its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
198535        environment variable.
198536
198537        Reviewed by Simon Hausmann.
198538
198539        Covered by the existing tests.
198540
198541        * Target.pri:
198542        * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
198543        now lives within RenderThemeQtMobile.
198544        * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
198545        * platform/qt/RenderThemeQStyle.cpp: Added.
198546        (WebCore::initStyleOption):
198547        (WebCore::RenderThemeQStyle::getStylePainter):
198548        (WebCore::StylePainterQStyle::StylePainterQStyle):
198549        (WebCore::StylePainterQStyle::init):
198550        (WebCore::RenderThemeQStyle::create):
198551        (WebCore::RenderThemeQStyle::RenderThemeQStyle):
198552        (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
198553        (WebCore::RenderThemeQStyle::fallbackStyle):
198554        (WebCore::RenderThemeQStyle::qStyle):
198555        (WebCore::RenderThemeQStyle::findFrameLineWidth):
198556        (WebCore::RenderThemeQStyle::inflateButtonRect):
198557        (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
198558        (WebCore::RenderThemeQStyle::adjustButtonStyle):
198559        (WebCore::RenderThemeQStyle::setButtonPadding):
198560        (WebCore::RenderThemeQStyle::paintButton):
198561        (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
198562        (WebCore::RenderThemeQStyle::paintTextField):
198563        (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
198564        (WebCore::RenderThemeQStyle::paintTextArea):
198565        (WebCore::RenderThemeQStyle::setPopupPadding):
198566        (WebCore::RenderThemeQStyle::paintMenuList):
198567        (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
198568        (WebCore::RenderThemeQStyle::paintMenuListButton):
198569        (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
198570        (WebCore::RenderThemeQStyle::paintProgressBar):
198571        (WebCore::RenderThemeQStyle::paintSliderTrack):
198572        (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
198573        (WebCore::RenderThemeQStyle::paintSliderThumb):
198574        (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
198575        (WebCore::RenderThemeQStyle::paintSearchField):
198576        (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
198577        (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
198578        (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
198579        (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
198580        (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
198581        (WebCore::RenderThemeQStyle::paintInnerSpinButton):
198582        (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
198583        (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
198584        * platform/qt/RenderThemeQStyle.h: Added.
198585        (WebCore::StylePainterQStyle::isValid):
198586        (WebCore::StylePainterQStyle::drawPrimitive):
198587        (WebCore::StylePainterQStyle::drawControl):
198588        (WebCore::StylePainterQStyle::drawComplexControl):
198589        * platform/qt/RenderThemeQt.cpp:
198590        (WebCore::RenderThemeQt::RenderThemeQt):
198591        (WebCore::RenderThemeQt::isControlStyled):
198592        (WebCore::RenderThemeQt::inflateButtonRect):
198593        (WebCore::RenderThemeQt::adjustRepaintRect):
198594        (WebCore::RenderThemeQt::minimumMenuListSize):
198595        (WebCore::RenderThemeQt::adjustTextFieldStyle):
198596        (WebCore::RenderThemeQt::adjustMenuListStyle):
198597        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
198598        (WebCore::RenderThemeQt::adjustProgressBarStyle):
198599        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
198600        (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
198601        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
198602        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
198603        (WebCore::RenderThemeQt::paintMediaMuteButton):
198604        (WebCore::RenderThemeQt::paintMediaPlayButton):
198605        (WebCore::RenderThemeQt::paintMediaCurrentTime):
198606        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
198607        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
198608        (WebCore::RenderThemeQt::paintMediaSliderTrack):
198609        (WebCore::RenderThemeQt::paintMediaSliderThumb):
198610        (WebCore::RenderThemeQt::adjustSliderThumbSize):
198611        (WebCore::RenderThemeQt::caretBlinkInterval):
198612        (WebCore::RenderThemeQt::fileListNameForWidth):
198613        (WebCore::StylePainter::StylePainter):
198614        (WebCore::StylePainter::init):
198615        (WebCore::StylePainter::~StylePainter):
198616        * platform/qt/RenderThemeQt.h:
198617        (WebCore::RenderThemeQt::useMobileTheme):
198618        (WebCore::StylePainter::isValid):
198619        * platform/qt/RenderThemeQtMobile.cpp: Added.
198620        (WebCore::drawRectangularControlBackground):
198621        (WebCore::RenderThemeQtMobile::getStylePainter):
198622        (WebCore::StylePainterMobile::StylePainterMobile):
198623        (WebCore::StylePainterMobile::drawChecker):
198624        (WebCore::StylePainterMobile::findChecker):
198625        (WebCore::StylePainterMobile::drawRadio):
198626        (WebCore::StylePainterMobile::findRadio):
198627        (WebCore::StylePainterMobile::drawMultipleComboButton):
198628        (WebCore::StylePainterMobile::drawSimpleComboButton):
198629        (WebCore::StylePainterMobile::getButtonImageSize):
198630        (WebCore::StylePainterMobile::findComboButton):
198631        (WebCore::StylePainterMobile::drawLineEdit):
198632        (WebCore::StylePainterMobile::drawCheckBox):
198633        (WebCore::StylePainterMobile::drawRadioButton):
198634        (WebCore::StylePainterMobile::drawPushButton):
198635        (WebCore::StylePainterMobile::drawComboBox):
198636        (WebCore::RenderThemeQtMobile::create):
198637        (WebCore::RenderTheme::themeForPage):
198638        (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
198639        (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
198640        (WebCore::RenderThemeQtMobile::isControlStyled):
198641        (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
198642        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
198643        (WebCore::RenderThemeQtMobile::adjustButtonStyle):
198644        (WebCore::RenderThemeQtMobile::setButtonPadding):
198645        (WebCore::RenderThemeQtMobile::paintButton):
198646        (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
198647        (WebCore::RenderThemeQtMobile::paintTextField):
198648        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
198649        (WebCore::RenderThemeQtMobile::setPopupPadding):
198650        (WebCore::RenderThemeQtMobile::paintMenuList):
198651        (WebCore::RenderThemeQtMobile::paintMenuListButton):
198652        (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
198653        (WebCore::RenderThemeQtMobile::paintProgressBar):
198654        (WebCore::RenderThemeQtMobile::paintSliderTrack):
198655        (WebCore::RenderThemeQtMobile::paintSliderThumb):
198656        (WebCore::RenderThemeQtMobile::checkMultiple):
198657        (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
198658        (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
198659        * platform/qt/RenderThemeQtMobile.h: Added.
198660        * platform/qt/ScrollbarThemeQt.cpp:
198661        (WebCore::ScrollbarTheme::nativeTheme):
198662        (WebCore::ScrollbarThemeQt::paint):
198663        (WebCore::ScrollbarThemeQt::scrollbarThickness):
198664        (WebCore::ScrollbarThemeQt::paintScrollCorner):
198665
1986662011-11-14  Adam Barth  <abarth@webkit.org>
198667
198668        SecurityContext should track whether the SecurityOrigin has been initialized
198669        https://bugs.webkit.org/show_bug.cgi?id=72250
198670
198671        Reviewed by Eric Seidel.
198672
198673        This patch is another step towards https://bugs.webkit.org/show_bug.cgi?id=71745.
198674
198675        One of the things we use "empty" SecurityOrigins for is detecting
198676        whether a Document's SecurityOrigin has been initialized.  In this
198677        patch, we track that state directly on SecurityContext (which is a base
198678        class of Document), moving us closer to removing the concept of an
198679        empty SecurityOrigin.
198680
198681        * dom/Document.cpp:
198682        (WebCore::Document::initSecurityContext):
198683        * dom/SecurityContext.cpp:
198684        (WebCore::SecurityContext::SecurityContext):
198685        (WebCore::SecurityContext::setSecurityOrigin):
198686        * dom/SecurityContext.h:
198687        (WebCore::SecurityContext::didFailToInitializeSecurityOrigin):
198688        (WebCore::SecurityContext::haveInitializedSecurityOrigin):
198689
1986902011-11-14  Carlos Garcia Campos  <cgarcia@igalia.com>
198691
198692        Unreviewed. Fix make distcheck build.
198693
198694        * GNUmakefile.list.am: Add missing files.
198695
1986962011-11-14  Joseph Pecoraro  <pecoraro@apple.com>
198697
198698        Web Inspector: Give HTML ContextMenu a more Native look
198699        https://bugs.webkit.org/show_bug.cgi?id=72207
198700
198701        Reviewed by Pavel Feldman.
198702
198703        * inspector/front-end/SoftContextMenu.js:
198704        (.WebInspector.SoftContextMenu.prototype._createMenuItem):
198705        Give the checkmark a class name so that it can be styled more
198706        with CSS instead of with JavaScript.
198707
198708        * inspector/front-end/inspector.css:
198709        (.soft-context-menu): tweak the border and shadow.
198710        (.soft-context-menu-item): tweak the font size and positioning.
198711        (.soft-context-menu-separator): tweak the whitespace.
198712        (.soft-context-menu-item-mouse-over): solid blue for non-mac platforms.
198713        (body.platform-mac .soft-context-menu-item-mouse-over): gradient for mac platforms.
198714        (.soft-context-menu-item-checkmark): gray color normally.
198715        (.soft-context-menu-item-mouse-over .soft-context-menu-item-checkmark): white on hover.
198716
1987172011-11-10  Yury Semikhatsky  <yurys@chromium.org>
198718
198719        Web Inspector: function remote objetct should provide access to function position in the script
198720        https://bugs.webkit.org/show_bug.cgi?id=71808
198721
198722        Added Debugger.getFunctionLocation command for resolving function location including
198723        start line, column and script id.
198724
198725        Reviewed by Pavel Feldman.
198726
198727        Test: inspector/debugger/function-location.html
198728
198729        * bindings/js/JSInjectedScriptHostCustom.cpp:
198730        (WebCore::JSInjectedScriptHost::functionLocation):
198731        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
198732        (WebCore::V8InjectedScriptHost::functionLocationCallback):
198733        * inspector/InjectedScript.cpp:
198734        (WebCore::InjectedScript::getFunctionLocation):
198735        * inspector/InjectedScript.h:
198736        * inspector/InjectedScriptHost.idl:
198737        * inspector/InjectedScriptSource.js:
198738        (.):
198739        * inspector/Inspector.json:
198740        * inspector/InspectorDebuggerAgent.cpp:
198741        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
198742        * inspector/InspectorDebuggerAgent.h:
198743
1987442011-11-14  Rakesh KN  <rakesh.kn@motorola.com>
198745
198746        Cannot select multiple options by mouse dragging in <select multiple="multiple" size="7"> list
198747        https://bugs.webkit.org/show_bug.cgi?id=70496
198748
198749        Reviewed by Kent Tamura.
198750
198751        Select Multiple options in a select element with a mouse drag when no. of options
198752        are less than the no. specified in size attribute.
198753        Other browsers(IE, Opera, Firefox) support this feature
198754
198755        Test: fast/forms/select-multiple-elements-with-mouse-drag-with-options-less-than-size.html
198756
198757        * html/HTMLSelectElement.cpp:
198758        (WebCore::HTMLSelectElement::listBoxDefaultEventHandler):
198759        Handled mouse move event with Left button pressed. We select the options under mouse
198760        when mouse drag happens and the select element cannot autoscroll.
198761
1987622011-11-14  Yury Semikhatsky  <yurys@chromium.org>
198763
198764        Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
198765        https://bugs.webkit.org/show_bug.cgi?id=72020
198766
198767        Collect information about dedicated workers even when inspector is closed. This
198768        way we can list all dedicated workers if the front-end opens later.
198769
198770        Reviewed by Pavel Feldman.
198771
198772        Test: http/tests/inspector-enabled/dedicated-workers-list.html
198773
198774        * inspector/InspectorInstrumentation.h:
198775        (WebCore::InspectorInstrumentation::didStartWorkerContext):
198776        * inspector/InspectorWorkerAgent.cpp:
198777        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
198778        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
198779        (WebCore::InspectorWorkerAgent::setFrontend):
198780        (WebCore::InspectorWorkerAgent::restore):
198781        (WebCore::InspectorWorkerAgent::clearFrontend):
198782        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
198783        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
198784        (WebCore::InspectorWorkerAgent::workerContextTerminated):
198785        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
198786        (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
198787        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
198788        * inspector/InspectorWorkerAgent.h:
198789
1987902011-11-14  Zalan Bujtas  <zbujtas@gmail.com>
198791
198792        Build breaks with --no-javascript-debugger --no-inspector
198793        https://bugs.webkit.org/show_bug.cgi?id=72228
198794
198795        Reviewed by Simon Hausmann.
198796
198797        * workers/WorkerMessagingProxy.cpp:
198798        (WebCore::PostMessageToPageInspectorTask::performTask):
198799        (WebCore::WorkerMessagingProxy::connectToInspector):
198800        * workers/WorkerThread.cpp:
198801        (WebCore::WorkerThread::workerThread):
198802
1988032011-11-14  Kentaro Hara  <haraken@chromium.org>
198804
198805        Remove all custom constructors of Events in V8
198806        https://bugs.webkit.org/show_bug.cgi?id=72074
198807
198808        Reviewed by Adam Barth.
198809
198810        V8 has [ConstructorTemplate=Event] IDL, which generates
198811        Event constructors. This patch removes all the custom constructors
198812        in V8EventConstructors.cpp and generates them using
198813        [ConstructorTemplate=Event] IDL.
198814
198815        Tests: fast/events/constructors/before-load-event-constructor.html
198816               fast/events/constructors/close-event-constructor.html
198817               fast/events/constructors/custom-event-constructor.html
198818               fast/events/constructors/error-event-constructor.html
198819               fast/events/constructors/event-constructors.html
198820               fast/events/constructors/hash-change-event-constructor.html
198821               fast/events/constructors/message-event-constructor.html
198822               fast/events/constructors/overflow-event-constructor.html
198823               fast/events/constructors/page-transition-event-constructor.html
198824               fast/events/constructors/pop-state-event-constructor.html
198825               fast/events/constructors/progress-event-constructor.html
198826               fast/events/constructors/track-event-constructor.html
198827               fast/events/constructors/webkit-animation-event-constructor.html
198828               fast/events/constructors/webkit-transition-event-constructor.html
198829
198830        * Target.pri: Removed V8EventConstructors.cpp.
198831        * WebCore.gypi: Ditto.
198832        * bindings/v8/custom/V8EventConstructors.cpp: Removed.
198833        * dom/BeforeLoadEvent.idl: Replaced [V8CustomConstructor] with [V8ConstructorTemplate=Event]. Added [InitializedByConstructor] IDL to attributes that can be initialized by the generated constructor.
198834        * dom/CustomEvent.idl: Ditto.
198835        * dom/ErrorEvent.idl: Ditto.
198836        * dom/HashChangeEvent.idl: Ditto.
198837        * dom/MessageEvent.idl: Ditto.
198838        * dom/OverflowEvent.idl: Ditto.
198839        * dom/PageTransitionEvent.idl: Ditto.
198840        * dom/PopStateEvent.idl: Ditto.
198841        * dom/ProgressEvent.idl: Ditto.
198842        * dom/WebKitAnimationEvent.idl: Ditto.
198843        * dom/WebKitTransitionEvent.idl: Ditto.
198844        * html/track/TrackEvent.idl: Ditto.
198845        * websockets/CloseEvent.idl: Ditto.
198846
1988472011-11-13  Patrick Gansterer  <paroga@webkit.org>
198848
198849        [WX] Make FontPlatformData::m_size private
198850        https://bugs.webkit.org/show_bug.cgi?id=72214
198851
198852        Reviewed by Andreas Kling.
198853
198854        Also change the order of member variables to match
198855        the order in the constructor to fix many warnings.
198856
198857        * platform/graphics/wx/FontPlatformData.h:
198858
1988592011-11-13  Adam Barth  <abarth@webkit.org>
198860
198861        Document::initSecurityOrigin should return earlier more often
198862        https://bugs.webkit.org/show_bug.cgi?id=72244
198863
198864        Reviewed by Eric Seidel.
198865
198866        This minor tweak was suggested by Darin to make the subsequent patches
198867        easier to read.
198868
198869        * dom/Document.cpp:
198870        (WebCore::Document::initSecurityContext):
198871
1988722011-11-13  Adam Barth  <abarth@webkit.org>
198873
198874        SecurityPolicy should refer to isUnique rather than isEmpty
198875        https://bugs.webkit.org/show_bug.cgi?id=72242
198876
198877        Reviewed by Eric Seidel.
198878
198879        It doesn't make sense to tweak the security policy for unique origins
198880        because they're different every time.  Previously, this code checked
198881        for empty origins, which are technically a subset of unique origins.  I
198882        don't think it's possible to call this code in a way that can detect
198883        the difference, but we're eventually going to remove the isEmpty
198884        function.
198885
198886        * page/SecurityPolicy.cpp:
198887        (WebCore::SecurityPolicy::addOriginAccessWhitelistEntry):
198888        (WebCore::SecurityPolicy::removeOriginAccessWhitelistEntry):
198889
1988902011-11-13  Adam Barth  <abarth@webkit.org>
198891
198892        Move isSecureTransitionTo from SecurityOrigin to SecurityContext
198893        https://bugs.webkit.org/show_bug.cgi?id=72241
198894
198895        Reviewed by Eric Seidel.
198896
198897        This patch is a step towards breaking the patch for
198898        https://bugs.webkit.org/show_bug.cgi?id=71745 up into tiny,
198899        digestible pieces.
198900
198901        * dom/SecurityContext.cpp:
198902        (WebCore::SecurityContext::isSecureTransitionTo):
198903        * dom/SecurityContext.h:
198904        * loader/DocumentWriter.cpp:
198905        (WebCore::DocumentWriter::begin):
198906        * loader/FrameLoader.cpp:
198907        (WebCore::FrameLoader::stopLoading):
198908        * page/SecurityOrigin.cpp:
198909        * page/SecurityOrigin.h:
198910
1989112011-11-13  Nat Duca  <nduca@chromium.org>
198912
198913        [chromium] LayerRendererChromium::initialize should fail when GaphicsContext3D::makeCurrent fails
198914        https://bugs.webkit.org/show_bug.cgi?id=72102
198915
198916        Reviewed by James Robinson.
198917
198918        * platform/graphics/chromium/LayerRendererChromium.cpp:
198919        (WebCore::LayerRendererChromium::initialize):
198920        (WebCore::LayerRendererChromium::releaseRenderSurfaceTextures):
198921        (WebCore::LayerRendererChromium::makeContextCurrent):
198922        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
198923        (WebCore::CCThreadProxy::initializeLayerRendererOnImplThread):
198924
1989252011-11-11  Vincent Scheib  <scheib@chromium.org>
198926
198927        Mouse Lock: MouseEvent IDL
198928        https://bugs.webkit.org/show_bug.cgi?id=72158
198929
198930        Reviewed by Dimitri Glazkov.
198931
198932        Tests for movementX/Y pending mock mouse lock test infrastructure.
198933
198934        * dom/MouseEvent.idl:
198935        * dom/MouseRelatedEvent.h:
198936        (WebCore::MouseRelatedEvent::movementX):
198937        (WebCore::MouseRelatedEvent::movementY):
198938
1989392011-11-13  Julien Chaffraix  <jchaffraix@webkit.org>
198940
198941        REGRESSION(99849): NULL-deref in updateLastMediaLine when parsing some media-queries
198942        https://bugs.webkit.org/show_bug.cgi?id=72222
198943
198944        Reviewed by Pavel Feldman.
198945
198946        Test: fast/media/update-media-query-css-parser.html
198947
198948        * css/CSSGrammar.y: Added a proper NULL-check.
198949
1989502011-11-12  Vincent Scheib  <scheib@chromium.org>
198951
198952        Mouse Lock Navigator IDL
198953        https://bugs.webkit.org/show_bug.cgi?id=72150
198954
198955        Reviewed by Dimitri Glazkov.
198956
198957        Tests require mocking (similar to geolocation) that will be built after this.
198958
198959        * WebCore.gypi:
198960        * bindings/generic/RuntimeEnabledFeatures.h:
198961        (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
198962        * page/MouseLockable.cpp: Added.
198963        (WebCore::MouseLockable::MouseLockable):
198964        (WebCore::MouseLockable::~MouseLockable):
198965        (WebCore::MouseLockable::webkitLock):
198966        (WebCore::MouseLockable::webkitUnlock):
198967        (WebCore::MouseLockable::webkitIsLocked):
198968        * page/MouseLockable.h: Added.
198969        (WebCore::MouseLockable::create):
198970        * page/MouseLockable.idl: Added.
198971        * page/Navigator.cpp:
198972        (WebCore::Navigator::webkitPointer):
198973        * page/Navigator.h:
198974        * page/Navigator.idl:
198975
1989762011-11-11  Andreas Kling  <kling@webkit.org>
198977
198978        Only HTMLAllCollection needs stateful named item traversal.
198979        <http://webkit.org/b/71987>
198980
198981        Reviewed by Antti Koivisto.
198982
198983        After the ability to call collections (excluding document.all) was removed
198984        in <http://webkit.org/b/67579>, chunks of code remained in HTMLCollection
198985        and HTMLFormCollection that was only used for this purpose.
198986
198987        Restrict the nextNamedItem() mechanism to HTMLAllCollection, since it's no
198988        longer used by any of the other collections.
198989
198990        * html/HTMLCollection.h:
198991
198992            Moved nextNamedItem() to HTMLAllCollection (and made it non-virtual.)
198993            Promoted itemAfter() and checkForNameMatch() to protected methods so
198994            they can be called from HTMLAllCollection.
198995
198996        * html/HTMLAllCollection.h:
198997        * html/HTMLAllCollection.cpp:
198998        (WebCore::HTMLAllCollection::HTMLAllCollection):
198999        (WebCore::HTMLAllCollection::nextNamedItem):
199000        * html/HTMLCollection.cpp:
199001        (WebCore::HTMLCollection::HTMLCollection):
199002        (WebCore::HTMLCollection::namedItem):
199003        * html/HTMLFormCollection.cpp:
199004        (WebCore::HTMLFormCollection::namedItem):
199005        * html/HTMLFormCollection.h:
199006
1990072011-11-13  Caio Marcelo de Oliveira Filho  <caio.oliveira@openbossa.org>
199008
199009        Update binding generator tests to use jsCast
199010        https://bugs.webkit.org/show_bug.cgi?id=72224
199011
199012        Reviewed by Geoffrey Garen.
199013
199014        Update the expected results for JS generator after r100006 added jsCast.
199015
199016        * bindings/scripts/test/JS/JSTestEventConstructor.cpp:
199017        (WebCore::JSTestEventConstructor::getOwnPropertySlot):
199018        (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
199019
1990202011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
199021
199022        Unreviewed, rolling out r100038.
199023        http://trac.webkit.org/changeset/100038
199024        https://bugs.webkit.org/show_bug.cgi?id=72225
199025
199026        It broke more than 500 layout tests on the Qt bots (Requested
199027        by Ossy_night on #webkit).
199028
199029        * platform/qt/ScrollbarThemeQt.h:
199030
1990312011-11-12  Laszlo Gombos  <laszlo.1.gombos@nokia.com>
199032
199033        [Qt][Symbian] Remove support for WINSCW compiler
199034        https://bugs.webkit.org/show_bug.cgi?id=70178
199035
199036        Reviewed by Chang Shu.
199037
199038        No new tests as there is no new functionality.
199039
199040        * config.h: Revert r57076.
199041        * loader/cache/CachedResourceHandle.h: Revert r49017 and r49556.
199042        (WebCore::CachedResourceHandle::CachedResourceHandle):
199043        * rendering/style/RenderStyle.h: Revert r52733.
199044        (compareEqual):
199045        * bindings/scripts/CodeGeneratorJS.pm: Revert r45553.
199046        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
199047        * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
199048        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
199049        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
199050        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
199051        * bindings/scripts/test/JS/JSTestInterface.cpp: Ditto.
199052
1990532011-11-12  Anna Cavender  <annacc@chromium.org>
199054
199055        Add WebVTT parsing layout tests.  Patch also includes creating a TextTrackCueList
199056        in TextTrack::cues() and observing WebVTT chronological cue order.
199057        https://bugs.webkit.org/show_bug.cgi?id=72215
199058
199059        Reviewed by Eric Carlson.
199060
199061        Tests: media/track/track-webvtt-tc000-empty.html
199062               media/track/track-webvtt-tc001-utf8.html
199063               media/track/track-webvtt-tc002-bom.html
199064               media/track/track-webvtt-tc003-newlines.html
199065               media/track/track-webvtt-tc004-magic-header.html
199066               media/track/track-webvtt-tc005-header-comment.html
199067               media/track/track-webvtt-tc006-cue-identifiers.html
199068               media/track/track-webvtt-tc007-cue-no-id.html
199069               media/track/track-webvtt-tc008-timings-no-hours.html
199070               media/track/track-webvtt-tc009-timings-hour.html
199071               media/track/track-webvtt-tc010-no-timings.html
199072               media/track/track-webvtt-tc011-blank-lines.html
199073               media/track/track-webvtt-tc012-out-of-order.html
199074               media/track/track-webvtt-tc013-settings.html
199075               media/track/track-webvtt-tc014-alignment.html
199076               media/track/track-webvtt-tc015-positioning.html
199077               media/track/track-webvtt-tc016-align-positioning.html
199078               media/track/track-webvtt-tc017-line-position.html
199079               media/track/track-webvtt-tc018-align-text-line-position.html
199080               media/track/track-webvtt-tc019-cue-size.html
199081               media/track/track-webvtt-tc020-cue-size-align.html
199082               media/track/track-webvtt-tc021-valign.html
199083               media/track/track-webvtt-tc022-entities.html
199084               media/track/track-webvtt-tc023-markup.html
199085               media/track/track-webvtt-tc024-timestamp.html
199086               media/track/track-webvtt-tc025-class-markup.html
199087               media/track/track-webvtt-tc026-voice.html
199088               media/track/track-webvtt-tc027-empty-cue.html
199089               media/track/track-webvtt-tc028-unsupported-markup.html
199090
199091        * html/TextTrack.cpp:
199092        (WebCore::TextTrack::~TextTrack): Only call client if m_cues has been allocated.
199093        (WebCore::TextTrack::cues): Create a TextTrackCueList if we don't already have one.
199094        * html/TextTrack.h: The cues() function can no longer be const.
199095        * html/TextTrackCueList.cpp:
199096        (WebCore::TextTrackCueList::add): Only add the cue if the startTime comes after
199097            all other startTimes in the list.
199098
1990992011-11-12  Nat Duca  <nduca@chromium.org>
199100
199101        Fixes to GraphicsContext3D::makeCurrent on gtk and mac
199102        https://bugs.webkit.org/show_bug.cgi?id=72218
199103
199104        Unreviewed. Forgot to handle corner cases. Thanks Nico!
199105
199106        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
199107        (WebCore::GraphicsContext3D::makeContextCurrent):
199108        * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
199109        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
199110        * platform/graphics/mac/GraphicsContext3DMac.mm:
199111        (WebCore::GraphicsContext3D::makeContextCurrent):
199112
1991132011-11-12  Patrick Gansterer  <paroga@webkit.org>
199114
199115        Add stub implementation for SVGResources::filter()
199116        https://bugs.webkit.org/show_bug.cgi?id=72211
199117
199118        Reviewed by Dirk Schulze.
199119
199120        Add an empty implementation, which only returns 0 for !ENABLE(FILTERS)
199121        to reduce the #if ENABLE(FILTERS) complexity a bit.
199122
199123        * rendering/svg/RenderSVGContainer.cpp:
199124        (WebCore::RenderSVGContainer::selfWillPaint):
199125        * rendering/svg/RenderSVGRoot.cpp:
199126        (WebCore::RenderSVGRoot::selfWillPaint):
199127        * rendering/svg/SVGRenderSupport.cpp:
199128        (WebCore::SVGRenderSupport::filtersForceContainerLayout):
199129        * rendering/svg/SVGResources.h:
199130        (WebCore::SVGResources::filter):
199131        * rendering/svg/SVGResourcesCache.cpp:
199132        (WebCore::SVGResourcesCache::clientLayoutChanged):
199133        (WebCore::SVGResourcesCache::clientUpdatedFromElement):
199134
1991352011-11-12  Antti Koivisto  <antti@apple.com>
199136
199137        REGRESSION(r98542): Rendering error on Google maps
199138        https://bugs.webkit.org/show_bug.cgi?id=71996
199139
199140        Reviewed by Andreas Kling.
199141        
199142        r98542 exposed that StyleBoxData copy constructor and operator== are missing a field.
199143        
199144        Test reduction by David Barr.
199145
199146        Test: fast/css/vertical-align-length-copy-bug.html
199147
199148        * rendering/style/StyleBoxData.cpp:
199149        (WebCore::StyleBoxData::StyleBoxData):
199150        (WebCore::StyleBoxData::operator==):
199151
1991522011-11-12  Sheriff Bot  <webkit.review.bot@gmail.com>
199153
199154        Unreviewed, rolling out r100013.
199155        http://trac.webkit.org/changeset/100013
199156        https://bugs.webkit.org/show_bug.cgi?id=72210
199157
199158        It breaks all mac builds (Requested by WildFox on #webkit).
199159
199160        * html/HTMLAnchorElement.idl:
199161        * html/HTMLAreaElement.idl:
199162        * html/HTMLButtonElement.idl:
199163        * html/HTMLElement.idl:
199164        * html/HTMLInputElement.idl:
199165        * html/HTMLLabelElement.idl:
199166        * html/HTMLLegendElement.idl:
199167        * html/HTMLTextAreaElement.idl:
199168
1991692011-11-12  Nikolas Zimmermann  <nzimmermann@rim.com>
199170
199171        Finish SVGLengthContext conversion in svg/
199172        https://bugs.webkit.org/show_bug.cgi?id=72105
199173
199174        Reviewed by Antti Koivisto.
199175
199176        Make SVGLengthContext(const SVGElement*) explicit, adapt all remaining call sites.
199177        Now that this process is finished, SVGLengthContext can be shared across renders,
199178        so that its possible to override the length context in a single place. This will
199179        be done in future patches.
199180
199181        Doesn't affect any tests yet.
199182
199183        * bindings/js/JSSVGLengthCustom.cpp:
199184        (WebCore::JSSVGLength::value):
199185        (WebCore::JSSVGLength::setValue):
199186        (WebCore::JSSVGLength::convertToSpecifiedUnits):
199187        * bindings/scripts/CodeGeneratorObjC.pm:
199188        (GenerateImplementation):
199189        * bindings/v8/custom/V8SVGLengthCustom.cpp:
199190        (WebCore::V8SVGLength::valueAccessorGetter):
199191        (WebCore::V8SVGLength::valueAccessorSetter):
199192        (WebCore::V8SVGLength::convertToSpecifiedUnitsCallback):
199193        * css/CSSCursorImageValue.cpp:
199194        (WebCore::CSSCursorImageValue::updateIfSVGCursorIsUsed):
199195        * rendering/svg/RenderSVGForeignObject.cpp:
199196        (WebCore::RenderSVGForeignObject::layout):
199197        * rendering/svg/RenderSVGImage.cpp:
199198        (WebCore::RenderSVGImage::updateFromElement):
199199        * rendering/svg/RenderSVGPath.cpp:
199200        (WebCore::RenderSVGPath::zeroLengthSubpathRect):
199201        (WebCore::RenderSVGPath::calculateMarkerBoundsIfNeeded):
199202        * rendering/svg/RenderSVGResourceMarker.cpp:
199203        (WebCore::RenderSVGResourceMarker::referencePoint):
199204        (WebCore::RenderSVGResourceMarker::calcViewport):
199205        * rendering/svg/RenderSVGText.cpp:
199206        (WebCore::RenderSVGText::strokeBoundingBox):
199207        * rendering/svg/RenderSVGViewportContainer.cpp:
199208        (WebCore::RenderSVGViewportContainer::calcViewport):
199209        * rendering/svg/SVGRenderSupport.cpp:
199210        (WebCore::SVGRenderSupport::applyStrokeStyleToContext):
199211        * rendering/svg/SVGRenderTreeAsText.cpp:
199212        (WebCore::writeStyle):
199213        (WebCore::operator<<):
199214        * rendering/svg/SVGShadowTreeElements.cpp:
199215        (WebCore::SVGShadowTreeContainerElement::containerTranslation):
199216        * rendering/svg/SVGTextChunkBuilder.cpp:
199217        (WebCore::SVGTextChunkBuilder::addTextChunk):
199218        * rendering/svg/SVGTextLayoutAttributesBuilder.cpp:
199219        (WebCore::extractFloatValuesFromSVGLengthList):
199220        * rendering/svg/SVGTextLayoutEngine.cpp:
199221        (WebCore::SVGTextLayoutEngine::parentDefinesTextLength):
199222        (WebCore::SVGTextLayoutEngine::beginTextPathLayout):
199223        * rendering/svg/SVGTextLayoutEngineBaseline.cpp:
199224        (WebCore::SVGTextLayoutEngineBaseline::calculateBaselineShift):
199225        * rendering/svg/SVGTextLayoutEngineSpacing.cpp:
199226        (WebCore::SVGTextLayoutEngineSpacing::calculateCSSKerningAndSpacing):
199227        * svg/SVGElement.h:
199228        * svg/SVGLengthContext.cpp:
199229        (WebCore::SVGLengthContext::determineViewport):
199230        * svg/SVGLengthContext.h:
199231        * svg/SVGSVGElement.cpp:
199232        (WebCore::SVGSVGElement::viewport):
199233        (WebCore::SVGSVGElement::localCoordinateSpaceTransform):
199234        (WebCore::SVGSVGElement::currentViewBoxRect):
199235        * svg/SVGUseElement.cpp:
199236        (WebCore::SVGUseElement::toClipPath):
199237
1992382011-11-12  Patrick Gansterer  <paroga@webkit.org>
199239
199240        Unreviewed build fix for !ENABLE(FILTERS) after r100036.
199241
199242        * rendering/svg/SVGRenderSupport.cpp:
199243        (WebCore::SVGRenderSupport::filtersForceContainerLayout):
199244
1992452011-11-11  Patrick Gansterer  <paroga@webkit.org>
199246
199247        [WIN] Fix build without precompiled header.
199248        https://bugs.webkit.org/show_bug.cgi?id=72115
199249
199250        Unreviewed. Add missing includes to fix build without precompiled header.
199251
199252        * platform/ContextMenu.h:
199253        * platform/graphics/win/DIBPixelData.h:
199254        * platform/graphics/win/FontCustomPlatformData.h:
199255        * platform/network/cf/ResourceError.h:
199256        * platform/win/LanguageWin.cpp:
199257        * platform/win/LocalizedStringsWin.cpp:
199258        * platform/win/LoggingWin.cpp:
199259
1992602011-11-11  Joseph Pecoraro  <pecoraro@apple.com>
199261
199262        Remove Duplicate Symbol Exports
199263        https://bugs.webkit.org/show_bug.cgi?id=72205
199264
199265        Reviewed by Dan Bernstein.
199266
199267        * WebCore.exp.in: Remove duplicate symbols listed.
199268        Each dup in this case was already always exported.
199269
1992702011-11-11  Nico Weber  <thakis@chromium.org>
199271
199272        [chromium] Remove 2 static initializers and 3 exit time destructors. Turn on -Wexit-time-destructors.
199273        https://bugs.webkit.org/show_bug.cgi?id=72146
199274
199275        Reviewed by Nate Chapin.
199276
199277        * WebCore.gyp/WebCore.gyp:
199278
1992792011-11-11  Nat Duca  <nduca@chromium.org>
199280
199281        Since GraphicsContext3D::makeContextCurrent can fail, return bool.
199282
199283        https://bugs.webkit.org/show_bug.cgi?id=72101
199284
199285        Reviewed by Kenneth Russell.
199286
199287        * platform/graphics/GraphicsContext3D.h:
199288        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
199289        (WebCore::GraphicsContext3D::makeContextCurrent):
199290        * platform/graphics/gtk/GraphicsContext3DGtk.cpp:
199291        (WebCore::GraphicsContext3D::makeContextCurrent):
199292        * platform/graphics/gtk/GraphicsContext3DPrivate.cpp:
199293        (WebCore::GraphicsContext3DPrivate::makeContextCurrent):
199294        * platform/graphics/gtk/GraphicsContext3DPrivate.h:
199295        * platform/graphics/mac/GraphicsContext3DMac.mm:
199296        (WebCore::GraphicsContext3D::makeContextCurrent):
199297        * platform/graphics/qt/GraphicsContext3DQt.cpp:
199298        (WebCore::GraphicsContext3D::makeContextCurrent):
199299
1993002011-11-11  Ojan Vafai  <ojan@chromium.org>
199301
199302        Unreviewed. Rollout http://trac.webkit.org/changeset/99744.
199303        https://bugs.webkit.org/show_bug.cgi?id=72203
199304        r99744 causes crash in Chromium's dom_perf test.
199305
199306        * rendering/RenderTable.cpp:
199307        (WebCore::RenderTable::splitColumn):
199308        (WebCore::RenderTable::appendColumn):
199309        * rendering/RenderTableSection.cpp:
199310        (WebCore::RenderTableSection::addCell):
199311        (WebCore::RenderTableSection::recalcCells):
199312        (WebCore::RenderTableSection::appendColumn):
199313
1993142011-11-11  James Robinson  <jamesr@chromium.org>
199315
199316        [chromium] Removed unused local from CCThreadProxy::scheduledActionCommit
199317        https://bugs.webkit.org/show_bug.cgi?id=72200
199318
199319        Reviewed by Kenneth Russell.
199320
199321        How did I get here I am not good with computers.
199322
199323        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
199324        (WebCore::CCThreadProxy::scheduledActionCommit):
199325
1993262011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
199327
199328        Fix a crash when an anonymous render block is in a continuation.
199329        https://bugs.webkit.org/show_bug.cgi?id=70994
199330
199331        Reviewed by Chris Fleizach.
199332
199333        Test: accessibility/anonymous-render-block-in-continuation-causes-crash.html
199334
199335        * accessibility/AccessibilityRenderObject.cpp:
199336        (WebCore::AccessibilityRenderObject::renderParentObject):
199337
1993382011-11-11  Anna Cavender  <annacc@chromium.org>
199339
199340        Storage and retrieval of TextTrackCues during video playback, including
199341        cuechange, enter, and exit events.
199342        https://bugs.webkit.org/show_bug.cgi?id=70452
199343
199344        Reviewed by Eric Carlson.
199345
199346        Tests: media/track/track-cues-cuechange.html
199347               media/track/track-cues-enter-exit.html
199348               media/track/track-cues-seeking.html
199349
199350        Add cuechange, enter, and exit events and make TextTrack and
199351        TextTrackCue EventTargets:
199352        * dom/EventNames.h:
199353        * dom/EventTarget.h:
199354        * dom/EventTargetFactory.in:
199355
199356        * html/HTMLMediaElement.cpp:
199357        (WebCore::HTMLMediaElement::loadTimerFired):
199358            Use scheduleLoad() instead of configureTextTracks() to start an async load.
199359        (WebCore::HTMLMediaElement::updateActiveTextTrackCues):
199360            Updates the list of currently active cues during playback.
199361        (WebCore::HTMLMediaElement::textTrackAddCues):
199362            Adds cues to cueTree.  Called when cues are discovered/loaded.
199363        (WebCore::HTMLMediaElement::textTrackRemoveCues):
199364            Removes cues from cueTree.  Called when cues and/or tracks die.
199365        (WebCore::HTMLMediaElement::textTrackAddCue):
199366            Adds a cue to cueTree.  Called when cues are discovered/loaded.
199367        (WebCore::HTMLMediaElement::textTrackRemoveCue):
199368            Removes a cue from cueTree.  Called when cues and/or tracks die.
199369
199370        (WebCore::HTMLMediaElement::playbackProgressTimerFired):
199371            Update the active TextTrackCues when playbackProgressTimerFired.
199372        (WebCore::HTMLMediaElement::addTrack):
199373            Pass along a ScriptExecutionContext to TextTrack::create().
199374        (WebCore::HTMLMediaElement::mediaPlayerTimeChanged):
199375            Update the active TextTrackCues when the media player time changes.
199376        * html/HTMLMediaElement.h:
199377            Use a PodIntervalTree cueTree to store and retrieve TextTrackCues
199378            during playback.
199379
199380        * html/HTMLTrackElement.cpp:
199381        (WebCore::HTMLTrackElement::ensureTrack):
199382            Pass along a ScriptExecutionContext needed for EventTarget interface.
199383        * html/LoadableTextTrack.cpp:
199384        (WebCore::LoadableTextTrack::LoadableTextTrack):
199385            Pass along a ScriptExecutionContext needed for EventTarget interface.
199386        (WebCore::LoadableTextTrack::fireCueChangeEvent):
199387            Fire a cue change event on this TextTrack's <track>
199388        * html/LoadableTextTrack.h:
199389        (WebCore::LoadableTextTrack::create):
199390            Pass along a ScriptExecutionContext needed for EventTarget interface.
199391        * html/TextTrack.cpp:
199392        (WebCore::TextTrack::TextTrack):
199393            Pass along a ScriptExecutionContext needed for EventTarget interface.
199394        (WebCore::TextTrack::cues):
199395        (WebCore::TextTrack::activeCues):
199396            Return a TextTrackCueList that represents the currently active cues.
199397        (WebCore::TextTrack::fireCueChangeEvent):
199398            Fires a cue change event.
199399        * html/TextTrack.h:
199400        (WebCore::TextTrack::create):
199401            Pass along a ScriptExecutionContext needed for EventTarget interface.
199402        * html/TextTrack.idl:
199403            Makes TextTrack extend EventTarget interface and add oncuechange.
199404        * html/TextTrackCue.cpp:
199405        (WebCore::TextTrackCue::TextTrackCue):
199406            TextTrackCue should extend EventTarget, not ActiveDOMObject.
199407        (WebCore::TextTrackCue::isActive):
199408        (WebCore::TextTrackCue::setIsActive):
199409            Dispatch an enter or exit event depending on active state and notify
199410            the corresponding track to fire a cuechange event.
199411
199412        The following are needed for EventTarget interface:
199413        (WebCore::TextTrackCue::interfaceName):
199414        (WebCore::TextTrackCue::scriptExecutionContext):
199415        (WebCore::TextTrackCue::eventTargetData):
199416        (WebCore::TextTrackCue::ensureEventTargetData):
199417        * html/TextTrackCue.h:
199418        (WebCore::TextTrackCue::refEventTarget):
199419        (WebCore::TextTrackCue::derefEventTarget):
199420
199421        * html/TextTrackCue.idl:
199422            Extend EventTarget and add onenter and onexit.
199423        * html/TextTrackCueList.cpp:
199424        (WebCore::TextTrackCueList::activeCues):
199425            Update and return the list of currently active cues.
199426        (WebCore::TextTrackCueList::clear):
199427            Clear the cues from list (needed to return same object each time).
199428        * html/TextTrackCueList.h:
199429
199430        The following are needed for EventTarget interface:
199431        * html/track/TrackBase.cpp:
199432        (WebCore::TrackBase::TrackBase):
199433        (WebCore::TrackBase::interfaceName):
199434        (WebCore::TrackBase::scriptExecutionContext):
199435        (WebCore::TrackBase::eventTargetData):
199436        (WebCore::TrackBase::ensureEventTargetData):
199437        * html/track/TrackBase.h:
199438        (WebCore::TrackBase::refEventTarget):
199439        (WebCore::TrackBase::derefEventTarget):
199440
1994412011-11-11  David Reveman  <reveman@chromium.org>
199442
199443        [Chromium] Remove unused variable added by r99813.
199444        https://bugs.webkit.org/show_bug.cgi?id=72199
199445
199446        Reviewed by James Robinson.
199447
199448        * platform/graphics/chromium/TiledLayerChromium.cpp:
199449        (WebCore::TiledLayerChromium::prepareToUpdate):
199450
1994512011-11-11  James Robinson  <jamesr@chromium.org>
199452
199453        Rollout http://trac.webkit.org/changeset/99844
199454        Solution is more complicated than the problem it was intended to solve.
199455
199456        * platform/graphics/chromium/LayerChromium.cpp:
199457        * platform/graphics/chromium/LayerChromium.h:
199458        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
199459        * platform/graphics/chromium/cc/CCLayerImpl.h:
199460        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
199461        (WebCore::CCLayerTreeHost::applyScrollAndScale):
199462        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
199463        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
199464        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
199465        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
199466        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
199467        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
199468        (WebCore::CCThreadProxy::beginFrameAndCommit):
199469        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
199470        * platform/graphics/chromium/cc/CCThreadProxy.h:
199471
1994722011-11-11  Levi Weintraub  <leviw@chromium.org>
199473
199474        Revert Page to operate on integers
199475        https://bugs.webkit.org/show_bug.cgi?id=72185
199476
199477        Reviewed by Eric Seidel.
199478
199479        Reverting the page classes to integers from LayoutUnits. It's not necessary to expose
199480        LayoutUnits in these classes, so we'll avoid doing so.
199481
199482        No new tests, no change in behavior.
199483
199484        * page/EventHandler.cpp:
199485        (WebCore::EventHandler::handleMousePressEvent):
199486        (WebCore::EventHandler::sendContextMenuEventForKey):
199487        (WebCore::EventHandler::dragHysteresisExceeded):
199488        (WebCore::EventHandler::handleDrag):
199489        * page/EventHandler.h:
199490        * page/Frame.cpp:
199491        (WebCore::Frame::documentAtPoint):
199492        * page/Frame.h:
199493        * page/FrameView.cpp:
199494        (WebCore::FrameView::create):
199495        (WebCore::FrameView::invalidateRect):
199496        (WebCore::FrameView::setFrameRect):
199497        (WebCore::FrameView::setContentsSize):
199498        (WebCore::FrameView::adjustViewSize):
199499        (WebCore::FrameView::repaintContentRectangle):
199500        (WebCore::FrameView::invalidateScrollbarRect):
199501        (WebCore::FrameView::getTickmarks):
199502        (WebCore::FrameView::windowResizerRect):
199503        (WebCore::FrameView::setVisibleScrollerThumbRect):
199504        (WebCore::FrameView::updateScrollCorner):
199505        (WebCore::FrameView::paintScrollCorner):
199506        (WebCore::FrameView::paintContents):
199507        (WebCore::FrameView::paintOverhangAreas):
199508        (WebCore::FrameView::convertFromRenderer):
199509        (WebCore::FrameView::convertToRenderer):
199510        (WebCore::FrameView::convertToContainingView):
199511        (WebCore::FrameView::convertFromContainingView):
199512        * page/FrameView.h:
199513        * page/Page.cpp:
199514        (WebCore::Page::setPageScaleFactor):
199515        * page/Page.h:
199516        * page/SpatialNavigation.cpp:
199517        (WebCore::scrollInDirection):
199518
1995192011-11-11  Dominic Mazzoni  <dmazzoni@google.com>
199520
199521        New iframe content may not be reflected in the ax tree.
199522        https://bugs.webkit.org/show_bug.cgi?id=72100
199523
199524        Reviewed by Chris Fleizach.
199525
199526        The core issue was that when childrenChanged was called on a
199527        web area from an iframe that was just detached, it wasn't calling
199528        childrenChanged on its parent scroll area, or that scroll area's
199529        parent iframe element. To fix this, now AccessibilityScrollView
199530        implements setNeedsToUpdateChildren and parentObjectIfExists,
199531        and childrenChanged calls setNeedsToUpdateChildren on every object
199532        in the parent chain, not just AccessibilityRenderObjects.
199533
199534        Test: accessibility/loading-iframe-updates-axtree.html
199535
199536        * accessibility/AXObjectCache.h:
199537        * accessibility/AccessibilityObject.h:
199538        (WebCore::AccessibilityObject::setNeedsToUpdateChildren):
199539        * accessibility/AccessibilityRenderObject.cpp:
199540        (WebCore::AccessibilityRenderObject::parentObjectIfExists):
199541        (WebCore::AccessibilityRenderObject::childrenChanged):
199542        * accessibility/AccessibilityRenderObject.h:
199543        (WebCore::AccessibilityRenderObject::setNeedsToUpdateChildren):
199544        * accessibility/AccessibilityScrollView.cpp:
199545        (WebCore::AccessibilityScrollView::AccessibilityScrollView):
199546        (WebCore::AccessibilityScrollView::updateChildrenIfNecessary):
199547        (WebCore::AccessibilityScrollView::parentObject):
199548        (WebCore::AccessibilityScrollView::parentObjectIfExists):
199549        * accessibility/AccessibilityScrollView.h:
199550        (WebCore::AccessibilityScrollView::setNeedsToUpdateChildren):
199551
1995522011-11-11  Iain Merrick  <husky@google.com>
199553
199554        [chromium] Fix CCThreadProxy::setVisible
199555        https://bugs.webkit.org/show_bug.cgi?id=71903
199556
199557        The behavior is different depending on whether we're showing
199558        or hiding the compositor. This patch fixes both code paths.
199559
199560        Reviewed by James Robinson.
199561
199562        * platform/graphics/chromium/cc/CCCompletionEvent.h:
199563        (WebCore::CCCompletionEvent::CCCompletionEvent):
199564        (WebCore::CCCompletionEvent::~CCCompletionEvent):
199565        (WebCore::CCCompletionEvent::wait):
199566        (WebCore::CCCompletionEvent::signal):
199567        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
199568        (WebCore::CCThreadProxy::setVisible):
199569
1995702011-11-11  Iain Merrick  <husky@google.com>
199571
199572        [chromium] CCThreadProxy::finishAllRendering hangs if !visible
199573        https://bugs.webkit.org/show_bug.cgi?id=71920
199574
199575        Reviewed by James Robinson.
199576
199577        * platform/graphics/chromium/cc/CCScheduler.cpp:
199578        (WebCore::CCScheduler::setNeedsForcedRedraw):
199579        * platform/graphics/chromium/cc/CCScheduler.h:
199580        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
199581        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
199582        (WebCore::CCSchedulerStateMachine::nextAction):
199583        (WebCore::CCSchedulerStateMachine::updateState):
199584        (WebCore::CCSchedulerStateMachine::setNeedsForcedRedraw):
199585        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
199586        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
199587        (WebCore::CCThreadProxy::requestReadbackOnImplThread):
199588        (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
199589
1995902011-11-11  John Knottenbelt  <jknotten@chromium.org>
199591
199592        [Chromium] Enable building without shared workers.
199593        https://bugs.webkit.org/show_bug.cgi?id=72122
199594
199595        Reviewed by Yury Semikhatsky.
199596
199597        * bindings/v8/WorkerScriptDebugServer.cpp:
199598        (WebCore::retrieveWorkerContext):
199599
1996002011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>
199601
199602        Crash in styleDidChange when changing a table cell's height.
199603        <http://webkit.org/b/72004>
199604
199605        Reviewed by Darin Adler.
199606
199607        Tests: fast/table/crash-table-cell-change-height.html
199608               fast/table/table-cell-change-height-with-needsCellRecalc-section.html
199609               fast/table/table-cell-change-last-row-with-needsCellRecalc-section.html
199610               fast/table/table-row-change-height-with-needsCellRecalc-section.html
199611
199612        r99212 removed our call to recalcCells when the logical height changed. This
199613        means that we could end up with a cells without having set its row() properly
199614        which would crash.
199615
199616        The change exposes the was-the-row-properly-set information so that we don't
199617        try to access a bogus index. This should work properly even if the section
199618        needs a cell recalc as the current section's row structure would still be
199619        accurate in this case.
199620
199621        * rendering/RenderTableCell.cpp:
199622        (WebCore::RenderTableCell::styleDidChange): Check that our row index
199623        was properly set before calling
199624
199625        * rendering/RenderTableCell.h:
199626        (WebCore::RenderTableCell::rowWasSet): Helper function to detect
199627        if we have set up our a row.
199628        (WebCore::RenderTableCell::row): Use the previous function in the
199629        ASSERT.
199630
1996312011-11-11  Shinya Kawanaka  <shinyak@google.com>
199632
199633        Implement legacy text check emulation in unified text check interface.
199634        https://bugs.webkit.org/show_bug.cgi?id=70299
199635
199636        Reviewed by Hajime Morita.
199637
199638        When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
199639        TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
199640
199641        This emulation can be used by setting the flag on.
199642        This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
199643
199644        Test: editing/spelling/spelling-unified-emulation.html
199645
199646        * editing/TextCheckingHelper.cpp:
199647        (WebCore::findBadGrammars): Added.
199648        (WebCore::findMisspellings): Added.
199649        (WebCore::checkTextOfParagraph):
199650          Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
199651        * testing/Internals.cpp:
199652        (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
199653        (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
199654        * testing/Internals.h:
199655        * testing/Internals.idl:
199656
1996572011-11-11  Gyuyoung Kim  <gyuyoung.kim@samsung.com>
199658
199659        [CMAKE] Add a missing file to PlatformEfl.cmake for curl network backend.
199660        https://bugs.webkit.org/show_bug.cgi?id=72092
199661
199662        Unreviewed. Fix build break when using curl.
199663
199664        ProxyServerCurl.cpp file is not included in PlatformEfl.cmake. So, the file is not built
199665        when EFL port uses curl as network backend.
199666
199667        * PlatformEfl.cmake: Add missing ProxyServerCurl.cpp.
199668
1996692011-11-11  Emil A Eklund  <eae@chromium.org>
199670
199671        Switch remaining RenderBlock/Box methods to to new layout types
199672        https://bugs.webkit.org/show_bug.cgi?id=72075
199673
199674        Reviewed by Eric Seidel.
199675
199676        Move margins, floats and line layout block logic to layout abstraction.
199677
199678        No new tests.
199679
199680        * rendering/RenderBlockLineLayout.cpp:
199681        (WebCore::borderPaddingMarginStart):
199682        (WebCore::borderPaddingMarginEnd):
199683        (WebCore::inlineLogicalWidth):
199684        (WebCore::setStaticPositions):
199685        (WebCore::LineLayoutState::LineLayoutState):
199686        (WebCore::LineLayoutState::setRepaintRange):
199687        (WebCore::LineLayoutState::updateRepaintRangeFromBox):
199688        (WebCore::RenderBlock::layoutRunsAndFloatsInRange):
199689        (WebCore::RenderBlock::linkToEndLineIfNeeded):
199690        (WebCore::RenderBlock::layoutInlineChildren):
199691        (WebCore::RenderBlock::checkFloatsInCleanLine):
199692        (WebCore::RenderBlock::determineStartPosition):
199693        (WebCore::RenderBlock::checkPaginationAndFloatsAtEndLine):
199694        (WebCore::RenderBlock::LineBreaker::nextLineBreak):
199695        (WebCore::RenderBlock::addOverflowFromInlineChildren):
199696        (WebCore::RenderBlock::checkLinesForTextOverflow):
199697        (WebCore::RenderBlock::positionNewFloatOnLine):
199698        * rendering/RenderBox.cpp:
199699        (WebCore::RenderBox::containingBlockLogicalWidthForContentInRegion):
199700        (WebCore::RenderBox::offsetFromContainer):
199701        (WebCore::RenderBox::positionLineBox):
199702        (WebCore::RenderBox::computeInlineDirectionMargins):
199703        (WebCore::RenderBox::containingBlockLogicalWidthForPositioned):
199704        (WebCore::RenderBox::containingBlockLogicalHeightForPositioned):
199705        * rendering/RenderBox.h:
199706        (WebCore::RenderBox::tryLayoutDoingPositionedMovementOnly):
199707
1997082011-11-11  Antoine Labour  <piman@chromium.org>
199709
199710        [chromium] Add translation/scaling to WebExternalTextureLayer
199711        https://bugs.webkit.org/show_bug.cgi?id=72087
199712
199713        Reviewed by James Robinson.
199714
199715        Covered by WebLayerTest.
199716
199717        * platform/graphics/chromium/PluginLayerChromium.cpp:
199718        (WebCore::PluginLayerChromium::PluginLayerChromium):
199719        (WebCore::PluginLayerChromium::setUVRect):
199720        (WebCore::PluginLayerChromium::pushPropertiesTo):
199721        * platform/graphics/chromium/PluginLayerChromium.h:
199722        (WebCore::PluginLayerChromium::uvRect):
199723        * platform/graphics/chromium/ShaderChromium.cpp:
199724        (WebCore::VertexShaderPosTexStretch::VertexShaderPosTexStretch):
199725        (WebCore::VertexShaderPosTexStretch::init):
199726        (WebCore::VertexShaderPosTexStretch::getShaderString):
199727        * platform/graphics/chromium/ShaderChromium.h:
199728        (WebCore::VertexShaderPosTexStretch::matrixLocation):
199729        (WebCore::VertexShaderPosTexStretch::offsetLocation):
199730        (WebCore::VertexShaderPosTexStretch::scaleLocation):
199731        * platform/graphics/chromium/cc/CCPluginLayerImpl.cpp:
199732        (WebCore::CCPluginLayerImpl::CCPluginLayerImpl):
199733        (WebCore::CCPluginLayerImpl::draw):
199734        * platform/graphics/chromium/cc/CCPluginLayerImpl.h:
199735        (WebCore::CCPluginLayerImpl::setUVRect):
199736
1997372011-11-11  Stephen Chenney  <schenney@chromium.org>
199738
199739        Null deref when no use element exists for SVG element instance
199740        https://bugs.webkit.org/show_bug.cgi?id=59136
199741
199742        Second attempt, with a fix to handle JS garbage collection.
199743
199744        Reviewed by Nikolas Zimmermann.
199745
199746        Test: svg/custom/element-instance-held-by-js-crash.svg
199747
199748        * svg/SVGElementInstance.cpp:
199749        (WebCore::SVGElementInstance::~SVGElementInstance): Added call to detach() to clear
199750          anything not yet cleared.
199751        (WebCore::SVGElementInstance::detach): New method to replace old clear methods. This one
199752          clears all the pointers it can, and removes the instance from the corresponding elements
199753          instance list.
199754        * svg/SVGElementInstance.h: Removed clear methods and replaced with detach.
199755        * svg/SVGUseElement.cpp: 
199756        (WebCore::SVGUseElement::detachInstance): Modified calls to clean up an SVGElementInstance.
199757
1997582011-11-11  Florin Malita  <fmalita@google.com>
199759
199760        clipPath does not work on foreignObject
199761        https://bugs.webkit.org/show_bug.cgi?id=68251
199762
199763        Reviewed by Dirk Schulze.
199764
199765        Add ForeignObject clipping, filtering and masking support using the SVGRenderSupport helpers
199766        (prepareToRenderSVGContent, finishRenderSVGContent) on RenderSVGForeignObject's paint path.
199767        This also allows us to remove explicit transparency handling, since the helpers already cover it.
199768
199769        Tests: svg/foreignObject/clip.html
199770               svg/foreignObject/filter.html
199771               svg/foreignObject/mask.html
199772
199773        * rendering/svg/RenderSVGForeignObject.cpp:
199774        (WebCore::RenderSVGForeignObject::paint):
199775        * rendering/svg/SVGResources.cpp:
199776        (WebCore::clipperFilterMaskerTags):
199777
1997782011-11-11  Adam Klein  <adamk@chromium.org>
199779
199780        Remove no-op StorageNamespace::unlock method
199781        https://bugs.webkit.org/show_bug.cgi?id=72181
199782
199783        Reviewed by Darin Adler.
199784
199785        The method was meant to support the localStorage mutex,
199786        but the approach of using a mutex for localStorage has never been
199787        implemented (and almost certainly won't be). Even if it were implemented,
199788        it's not being called at the right time, due to bugs in the V8 bindings'
199789        use of V8Proxy (see http://webkit.org/b/72063 for details).
199790
199791        If, in the future, some replacement for a mutex is used to synchronize
199792        localStorage access, it can easily be re-added to the (hopefully
199793        fixed-by-then) replacement for V8Proxy::didLeaveScriptContext.
199794
199795        * bindings/v8/V8Proxy.cpp:
199796        (WebCore::V8Proxy::didLeaveScriptContext): Stop calling unlock().
199797        * page/Navigator.cpp:
199798        (WebCore::Navigator::getStorageUpdates): Remove implementation (a call to unlock), but leave code as it's exposed to the platform.
199799        * page/Navigator.idl: Added a FIXME to remove getStorageUpdates from the platform.
199800        * storage/StorageNamespace.h:
199801        * storage/StorageNamespaceImpl.cpp:
199802        * storage/StorageNamespaceImpl.h:
199803
1998042011-11-11  Alexis Menard  <alexis.menard@openbossa.org>
199805
199806        [Qt][WK2] Make sure Scrollbars are in their own layer.
199807        https://bugs.webkit.org/show_bug.cgi?id=72064
199808
199809        Reviewed by Kenneth Rohde Christiansen.
199810
199811        Make sure we render our scrollbars in a separate layer.
199812
199813        No new tests : existing ones should cover.
199814
199815        * platform/qt/ScrollbarThemeQt.h:
199816        (WebCore::ScrollbarThemeQt::usesOverlayScrollbars):
199817
1998182011-11-11  Joel Webber  <jgw@google.com>
199819
199820        Repaint broken when children of filtered SVG elements are updated
199821        https://bugs.webkit.org/show_bug.cgi?id=71733
199822
199823        Reviewed by Nikolas Zimmermann.
199824
199825        Test: svg/repaint/filter-child-repaint.svg
199826
199827        * rendering/svg/RenderSVGContainer.cpp:
199828        (WebCore::RenderSVGContainer::layout):
199829        * rendering/svg/RenderSVGRoot.cpp:
199830        (WebCore::RenderSVGRoot::layout):
199831        * rendering/svg/SVGRenderSupport.cpp:
199832        (WebCore::SVGRenderSupport::setNeedsLayoutForFilteredContainer):
199833
1998342011-11-11  Timothy Hatcher  <timothy@apple.com>
199835
199836        Don't remove InspectorBackendStub.js in Release builds after it has been
199837        combined into inspector.js. Also remove any *.qrc file on Mac.
199838
199839        https://webkit.org/b/72186
199840
199841        Reviewed by Joseph Pecoraro.
199842
199843        * WebCore.xcodeproj/project.pbxproj:
199844
1998452011-11-11  Jeff Timanus  <twiz@chromium.org>
199846
199847        [chromium] Patch that implementing the changes required to allow WebGL
199848        to share its backing store directly with the compositor.
199849        WebGL rendering contexts create and render to FBOs managed by a
199850        DrawingBuffer instance. All PlatformLayer lifetime management is
199851        performed by the DrawingBuffer.
199852        Changes are only relevant to Chromium ports. Functionality is
199853        unchanged for other ports.
199854        https://bugs.webkit.org/show_bug.cgi?id=53201
199855
199856        Reviewed by Stephen White.
199857
199858        * html/canvas/WebGLRenderingContext.cpp: Construct a DrawingBuffer
199859        during initialization, and forward all framebuffer management calls to
199860        it.
199861        (WebCore::WebGLRenderingContext::create):
199862        (WebCore::WebGLRenderingContext::WebGLRenderingContext):
199863        (WebCore::WebGLRenderingContext::initializeNewContext):
199864        (WebCore::WebGLRenderingContext::markContextChanged):
199865        (WebCore::WebGLRenderingContext::clearIfComposited):
199866        (WebCore::WebGLRenderingContext::paintRenderingResultsToCanvas):
199867        (WebCore::WebGLRenderingContext::paintRenderingResultsToImageData):
199868        (WebCore::WebGLRenderingContext::reshape):
199869        (WebCore::WebGLRenderingContext::drawingBufferWidth):
199870        (WebCore::WebGLRenderingContext::drawingBufferHeight):
199871        (WebCore::WebGLRenderingContext::bindFramebuffer):
199872        (WebCore::WebGLRenderingContext::copyTexImage2D):
199873        (WebCore::WebGLRenderingContext::copyTexSubImage2D):
199874        (WebCore::WebGLRenderingContext::deleteFramebuffer):
199875        (WebCore::WebGLRenderingContext::disable):
199876        (WebCore::WebGLRenderingContext::enable):
199877        (WebCore::WebGLRenderingContext::readPixels):
199878        (WebCore::WebGLRenderingContext::platformLayer):
199879        (WebCore::WebGLRenderingContext::getBoundFramebufferWidth):
199880        (WebCore::WebGLRenderingContext::getBoundFramebufferHeight):
199881        (WebCore::WebGLRenderingContext::maybeRestoreContext):
199882        * html/canvas/WebGLRenderingContext.h:
199883        * platform/graphics/GraphicsContext3D.cpp:
199884        * platform/graphics/GraphicsContext3D.h:  WebGLLayerChromium instances
199885        are no longer tracked by GraphicsContext3D. Callers can now pass a
199886        DrawingBuffer instance to provide access to the WebGLLayerChromium data.
199887        * platform/graphics/chromium/DrawingBufferChromium.cpp:
199888        (WebCore::generateColorTexture):
199889        (WebCore::DrawingBuffer::DrawingBuffer):
199890        (WebCore::DrawingBuffer::initialize):
199891        (WebCore::DrawingBuffer::publishToPlatformLayer):
199892        (WebCore::DrawingBuffer::platformLayer):
199893        (WebCore::DrawingBuffer::platformColorBuffer):
199894        (WebCore::DrawingBuffer::framebuffer):
199895        (WebCore::DrawingBuffer::markContextChanged):
199896        (WebCore::DrawingBuffer::paintCompositedResultsToCanvas):
199897        * platform/graphics/chromium/WebGLLayerChromium.cpp:
199898        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
199899        (WebCore::WebGLLayerChromium::~WebGLLayerChromium):
199900        (WebCore::WebGLLayerChromium::drawsContent):
199901        (WebCore::WebGLLayerChromium::updateCompositorResources):
199902        (WebCore::WebGLLayerChromium::paintRenderedResultsToCanvas):
199903        (WebCore::WebGLLayerChromium::contentChanged):
199904        (WebCore::WebGLLayerChromium::setDrawingBuffer):
199905        (WebCore::WebGLLayerChromium::context):
199906        * platform/graphics/chromium/WebGLLayerChromium.h: WebGLLayerChromium instances
199907        have a raw reference to their owning DrawingBuffer.  This reference is set to NULL on
199908        destruction of the DrawingBuffer.  This follows the old code, which had the WebGLLayerChromium
199909        refer rawly to a GraphicsContext3D instance, which was also revoked during tear-down of the
199910        GraphicsContext3D.
199911        (WebCore::WebGLLayerChromium::drawingBuffer):
199912        * platform/graphics/efl/GraphicsContext3DEfl.cpp:
199913        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
199914        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
199915        * platform/graphics/gpu/DrawingBuffer.cpp: The DrawingBuffer is now the
199916        central point between the GraphicsContext3D, WebGLRenderingContext, and
199917        WebGLLayerChromium classes.  GraphicsContext3D, and WebGLLayerChromium only
199918        depend on the DrawingBuffer interface.
199919        (WebCore::DrawingBuffer::create):
199920        (WebCore::DrawingBuffer::clear):
199921        (WebCore::DrawingBuffer::clearFramebuffer):
199922        (WebCore::DrawingBuffer::reset):
199923        (WebCore::DrawingBuffer::commit):
199924        (WebCore::DrawingBuffer::multisample):
199925        (WebCore::DrawingBuffer::paintRenderingResultsToImageData):
199926        (WebCore::DrawingBuffer::discardResources):
199927        * platform/graphics/gpu/DrawingBuffer.h:
199928        (WebCore::DrawingBuffer::setScissorEnabled):
199929        * platform/graphics/gpu/mac/DrawingBufferMac.mm:
199930        (WebCore::DrawingBuffer::DrawingBuffer):
199931        * platform/graphics/gpu/qt/DrawingBufferQt.cpp:
199932        (WebCore::DrawingBuffer::DrawingBuffer):
199933        * platform/graphics/opengl/GraphicsContext3DOpenGL.cpp:
199934        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
199935        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
199936        * platform/graphics/qt/GraphicsContext3DQt.cpp:
199937        (WebCore::GraphicsContext3D::paintRenderingResultsToCanvas):
199938        (WebCore::GraphicsContext3D::paintRenderingResultsToImageData):
199939
1999402011-11-11  Darin Adler  <darin@apple.com>
199941
199942        Remove all releaseRef implementations except for RetainPtr
199943        https://bugs.webkit.org/show_bug.cgi?id=71423
199944
199945        Reviewed by Julien Chaffraix.
199946
199947        * platform/win/COMPtr.h: Removed releaseRef.
199948
1999492011-11-11  Darin Adler  <darin@apple.com>
199950
199951        * WebCore.xcodeproj/project.pbxproj: Let a newer Xcode update this file.
199952        If an older Xcode downgrades this file and we have a risk of some kind of
199953        oscillating commit situation, please contact me so I know not to do this again.
199954
1999552011-11-11  Ojan Vafai  <ojan@chromium.org>
199956
199957        Unreviewed, rolling out r99953.
199958        Caused 4 tests to hit an assert.
199959        https://bugs.webkit.org/show_bug.cgi?id=72163
199960
199961        * inspector/InspectorInstrumentation.h:
199962        (WebCore::InspectorInstrumentation::didStartWorkerContext):
199963        * inspector/InspectorWorkerAgent.cpp:
199964        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
199965        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
199966        (WebCore::InspectorWorkerAgent::setFrontend):
199967        (WebCore::InspectorWorkerAgent::restore):
199968        (WebCore::InspectorWorkerAgent::clearFrontend):
199969        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
199970        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
199971        (WebCore::InspectorWorkerAgent::workerContextTerminated):
199972        * inspector/InspectorWorkerAgent.h:
199973
1999742011-11-11  Vincent Scheib  <scheib@chromium.org>
199975
199976        Unreviewed, rolling out r100024.
199977        http://trac.webkit.org/changeset/100024
199978        https://bugs.webkit.org/show_bug.cgi?id=72158
199979
199980        Broke chromium build
199981
199982        * dom/MouseEvent.cpp:
199983        (WebCore::MouseEvent::initMouseEvent):
199984        (WebCore::MouseEventDispatchMediator::dispatchEvent):
199985        * dom/MouseEvent.h:
199986        * dom/MouseEvent.idl:
199987        * dom/MouseRelatedEvent.h:
199988
1999892011-11-11  Vincent Scheib  <scheib@chromium.org>
199990
199991        Mouse Lock: MouseEvent IDL
199992        https://bugs.webkit.org/show_bug.cgi?id=72158
199993
199994        Reviewed by Dimitri Glazkov.
199995
199996        Tests for movementX/Y pending mock mouse lock test infrastructure.
199997
199998        * dom/MouseEvent.cpp:
199999        (WebCore::MouseEvent::initMouseEvent):
200000        (WebCore::MouseEventDispatchMediator::dispatchEvent):
200001        * dom/MouseEvent.h:
200002        * dom/MouseEvent.idl:
200003        * dom/MouseRelatedEvent.h:
200004        (WebCore::MouseRelatedEvent::movementX):
200005        (WebCore::MouseRelatedEvent::movementY):
200006
2000072011-11-11  Beth Dakin  <bdakin@apple.com>
200008
200009        https://bugs.webkit.org/show_bug.cgi?id=72167
200010        REGRESSION: Scroll position not restored on back after scroll 
200011        -and corresponding-
200012        <rdar://problem/10410684>
200013
200014        Reviewed by Simon Fraser.
200015
200016        We can't just return early if we are not on an active page. 
200017        notifyPositionChanged() is called when a page is going into the page cache (and 
200018        therefore when not on an active page). We should not notify AppKit that the page 
200019        has scrolled in that case, but we still need to call 
200020        ScrollAnimator::notifyPositionChanged();. So this patch removes the early return, 
200021        and replaces it with a conditional around the relevant code.
200022        * platform/mac/ScrollAnimatorMac.mm:
200023        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
200024
2000252011-11-11  Julien Chaffraix  <jchaffraix@codeaurora.org>, Zaheer Ahmad  <zahimad@codeaurora.org>, Joone Hur  <joone.hur@collabora.co.uk>, Tomasz Morawski  <t.morawski@samsung.com>
200026
200027        Added TileCairo and TiledBackingStoreBackendCairo files
200028        https://bugs.webkit.org/show_bug.cgi?id=71350
200029
200030        Reviewed by Martin Robinson.
200031
200032        Added TileCairo and TiledBackingStoreBackend files needed by Tiled Backing Store implementation that uses cairo
200033        library eg. EFL and Gtk WebKit port.
200034
200035        This patch contains some parts of rebased and updated code from 45423 bug. Originals authors of the code are:
200036        - Julien Chaffraix  <jchaffraix@codeaurora.org>
200037        - Zaheer Ahmad  <zahmad@codeaurora.org>
200038        - Joone Hur  <joone.hur@collabora.co.uk>
200039
200040        * platform/graphics/cairo/RefPtrCairo.cpp: Added support of RefPtr for cairo_region object.
200041        (WTF::refIfNotNull): New refIfNotNull function for cairo_region object.
200042        (WTF::derefIfNotNull): New derefIfNotNull function for cairo_region object.
200043        * platform/graphics/cairo/RefPtrCairo.h: Added support of RefPtr for cairo_region object.
200044        * platform/graphics/cairo/TileCairo.cpp: Added a new file. Implementation of TileCairo class.
200045        (WebCore::TileCairo::TileCairo):
200046        (WebCore::TileCairo::~TileCairo):
200047        (WebCore::TileCairo::isDirty):
200048        (WebCore::TileCairo::isReadyToPaint):
200049        (WebCore::TileCairo::invalidate):
200050        (WebCore::TileCairo::updateBackBuffer):
200051        (WebCore::TileCairo::swapBackBufferToFront):
200052        (WebCore::TileCairo::paint):
200053        (WebCore::TileCairo::resize):
200054        * platform/graphics/cairo/TileCairo.h: Added a new file. Implementation of TileCairo class.
200055        (WebCore::TileCairo::create):
200056        (WebCore::TileCairo::coordinate):
200057        (WebCore::TileCairo::rect):
200058        * platform/graphics/cairo/TiledBackingStoreBackendCairo.cpp: Added a new file. Implementation of
200059        TiledBackingStoreBackend methods.
200060        (WebCore::TiledBackingStoreBackend::createTile):
200061        (WebCore::checkeredSurface): Helper function that creates checkered surface (see below function)
200062        (WebCore::TiledBackingStoreBackend::paintCheckerPattern): Function is used to draw a place holder when tile no
200063        exist or it is not ready to paint yet. The checkered surface is used here.
200064
2000652011-11-11  Julien Chaffraix  <jchaffraix@webkit.org>
200066
200067        Remove unneeded frame check in FrameView::detachCustomScrollbars
200068        https://bugs.webkit.org/show_bug.cgi?id=71980
200069
200070        Reviewed by Anders Carlsson.
200071
200072        Change covered by the existing tests in scrollbars/.
200073
200074        * page/FrameView.cpp:
200075        (WebCore::FrameView::detachCustomScrollbars):
200076        Remove the leftover check that was forgotten by the different refactoring.
200077
2000782011-11-11  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
200079
200080        Access key should work on all elements.
200081        https://bugs.webkit.org/show_bug.cgi?id=71854
200082
200083        Reviewed by Adam Barth.
200084
200085        As per specification http://dev.w3.org/html5/spec/Overview.html#elements-in-the-dom
200086        says All HTML elements can have the accesskey content attribute set. Adding "accessKey"
200087        attribute idl file as [Reflect].
200088
200089        Test: fast/forms/access-key-for-all-elements.html
200090
200091        * html/HTMLAnchorElement.idl: Removed redundant IDL attribute entries.
200092        * html/HTMLAreaElement.idl: Ditto. 
200093        * html/HTMLButtonElement.idl: Ditto.
200094        * html/HTMLElement.idl: Added accessKey IDL attribute.
200095        * html/HTMLInputElement.idl: Ditto.
200096        * html/HTMLLabelElement.idl: Ditto.
200097        * html/HTMLLegendElement.idl: Ditto.
200098        * html/HTMLTextAreaElement.idl: Ditto.
200099
2001002011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
200101
200102        Add jsCast to replace static_cast
200103        https://bugs.webkit.org/show_bug.cgi?id=72071
200104
200105        Reviewed by Geoffrey Garen.
200106
200107        No new tests. 
200108
200109        Added new jsCast and changed all of the static_cast sites in functions that 
200110        are in the MethodTable to use jsCast instead.
200111
200112        * bindings/js/JSAttrCustom.cpp:
200113        (WebCore::JSAttr::visitChildren):
200114        * bindings/js/JSAudioContextCustom.cpp:
200115        (WebCore::JSAudioContext::visitChildren):
200116        * bindings/js/JSCSSRuleCustom.cpp:
200117        (WebCore::JSCSSRule::visitChildren):
200118        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
200119        (WebCore::JSCSSStyleDeclaration::visitChildren):
200120        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
200121        (WebCore::toHTMLCanvasStyle):
200122        * bindings/js/JSCanvasRenderingContextCustom.cpp:
200123        (WebCore::JSCanvasRenderingContext::visitChildren):
200124        * bindings/js/JSDOMGlobalObject.cpp:
200125        (WebCore::JSDOMGlobalObject::visitChildren):
200126        * bindings/js/JSDOMStringMapCustom.cpp:
200127        (WebCore::JSDOMStringMap::getOwnPropertyNames):
200128        (WebCore::JSDOMStringMap::deleteProperty):
200129        * bindings/js/JSDOMWindowBase.cpp:
200130        (WebCore::JSDOMWindowBase::toThisObject):
200131        * bindings/js/JSDOMWindowCustom.cpp:
200132        (WebCore::JSDOMWindow::visitChildren):
200133        (WebCore::JSDOMWindow::getOwnPropertySlot):
200134        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
200135        (WebCore::JSDOMWindow::put):
200136        (WebCore::JSDOMWindow::deleteProperty):
200137        (WebCore::JSDOMWindow::getPropertyNames):
200138        (WebCore::JSDOMWindow::getOwnPropertyNames):
200139        (WebCore::JSDOMWindow::defineGetter):
200140        (WebCore::JSDOMWindow::defineSetter):
200141        (WebCore::JSDOMWindow::defineOwnProperty):
200142        * bindings/js/JSDOMWindowShell.cpp:
200143        (WebCore::JSDOMWindowShell::className):
200144        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
200145        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
200146        (WebCore::JSDOMWindowShell::put):
200147        (WebCore::JSDOMWindowShell::putWithAttributes):
200148        (WebCore::JSDOMWindowShell::defineOwnProperty):
200149        (WebCore::JSDOMWindowShell::deleteProperty):
200150        (WebCore::JSDOMWindowShell::getPropertyNames):
200151        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
200152        (WebCore::JSDOMWindowShell::defineGetter):
200153        (WebCore::JSDOMWindowShell::defineSetter):
200154        * bindings/js/JSHTMLAppletElementCustom.cpp:
200155        (WebCore::JSHTMLAppletElement::getCallData):
200156        * bindings/js/JSHTMLEmbedElementCustom.cpp:
200157        (WebCore::JSHTMLEmbedElement::getCallData):
200158        * bindings/js/JSHTMLObjectElementCustom.cpp:
200159        (WebCore::JSHTMLObjectElement::getCallData):
200160        * bindings/js/JSHistoryCustom.cpp:
200161        (WebCore::JSHistory::deleteProperty):
200162        (WebCore::JSHistory::getOwnPropertyNames):
200163        * bindings/js/JSJavaScriptAudioNodeCustom.cpp:
200164        (WebCore::JSJavaScriptAudioNode::visitChildren):
200165        * bindings/js/JSLocationCustom.cpp:
200166        (WebCore::JSLocation::deleteProperty):
200167        (WebCore::JSLocation::getOwnPropertyNames):
200168        * bindings/js/JSMessageChannelCustom.cpp:
200169        (WebCore::JSMessageChannel::visitChildren):
200170        * bindings/js/JSMessagePortCustom.cpp:
200171        (WebCore::JSMessagePort::visitChildren):
200172        * bindings/js/JSNamedNodeMapCustom.cpp:
200173        (WebCore::JSNamedNodeMap::visitChildren):
200174        * bindings/js/JSNodeCustom.cpp:
200175        (WebCore::JSNode::visitChildren):
200176        * bindings/js/JSNodeFilterCustom.cpp:
200177        (WebCore::JSNodeFilter::visitChildren):
200178        * bindings/js/JSNodeIteratorCustom.cpp:
200179        (WebCore::JSNodeIterator::visitChildren):
200180        * bindings/js/JSSVGElementInstanceCustom.cpp:
200181        (WebCore::JSSVGElementInstance::visitChildren):
200182        * bindings/js/JSSharedWorkerCustom.cpp:
200183        (WebCore::JSSharedWorker::visitChildren):
200184        * bindings/js/JSStorageCustom.cpp:
200185        (WebCore::JSStorage::deleteProperty):
200186        (WebCore::JSStorage::getOwnPropertyNames):
200187        * bindings/js/JSStyleSheetCustom.cpp:
200188        (WebCore::JSStyleSheet::visitChildren):
200189        * bindings/js/JSTreeWalkerCustom.cpp:
200190        (WebCore::JSTreeWalker::visitChildren):
200191        * bindings/js/JSWebGLRenderingContextCustom.cpp:
200192        (WebCore::JSWebGLRenderingContext::visitChildren):
200193        * bindings/js/JSWorkerContextCustom.cpp:
200194        (WebCore::JSWorkerContext::visitChildren):
200195        * bindings/js/JSXMLHttpRequestCustom.cpp:
200196        (WebCore::JSXMLHttpRequest::visitChildren):
200197        * bindings/js/JSXPathResultCustom.cpp:
200198        (WebCore::JSXPathResult::visitChildren):
200199        * bindings/scripts/CodeGeneratorJS.pm:
200200        (GenerateHeader):
200201        (GenerateImplementation):
200202        * bindings/scripts/test/JS/JSTestInterface.cpp:
200203        (WebCore::JSTestInterface::getOwnPropertySlot):
200204        (WebCore::JSTestInterface::getOwnPropertyDescriptor):
200205        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
200206        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertySlot):
200207        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
200208        (WebCore::JSTestMediaQueryListListener::getOwnPropertySlot):
200209        (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
200210        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
200211        (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
200212        (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
200213        * bindings/scripts/test/JS/JSTestObj.cpp:
200214        (WebCore::JSTestObjPrototype::getOwnPropertySlot):
200215        (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
200216        (WebCore::JSTestObj::getOwnPropertySlot):
200217        (WebCore::JSTestObj::getOwnPropertyDescriptor):
200218        (WebCore::JSTestObj::put):
200219        (WebCore::JSTestObj::visitChildren):
200220        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
200221        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertySlot):
200222        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
200223        * bridge/objc/objc_runtime.mm:
200224        (JSC::Bindings::ObjcFallbackObjectImp::getCallData):
200225        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
200226        * bridge/qt/qt_instance.cpp:
200227        (JSC::Bindings::QtRuntimeObject::visitChildren):
200228        * bridge/qt/qt_runtime.cpp:
200229        (JSC::Bindings::QtRuntimeMetaMethod::visitChildren):
200230        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertySlot):
200231        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
200232        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertySlot):
200233        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
200234        * bridge/runtime_array.cpp:
200235        (JSC::RuntimeArray::getOwnPropertyNames):
200236        (JSC::RuntimeArray::getOwnPropertySlot):
200237        (JSC::RuntimeArray::getOwnPropertyDescriptor):
200238        (JSC::RuntimeArray::getOwnPropertySlotByIndex):
200239        (JSC::RuntimeArray::put):
200240        (JSC::RuntimeArray::putByIndex):
200241        * bridge/runtime_method.cpp:
200242        (JSC::RuntimeMethod::getOwnPropertySlot):
200243        (JSC::RuntimeMethod::getOwnPropertyDescriptor):
200244        * bridge/runtime_object.cpp:
200245        (JSC::Bindings::RuntimeObject::getOwnPropertySlot):
200246        (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
200247        (JSC::Bindings::RuntimeObject::put):
200248        (JSC::Bindings::RuntimeObject::defaultValue):
200249        (JSC::Bindings::RuntimeObject::getCallData):
200250        (JSC::Bindings::RuntimeObject::getConstructData):
200251        (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
200252
2002532011-11-11  Vincent Scheib  <scheib@chromium.org>
200254
200255        Unreviewed, rolling out r99994.
200256        http://trac.webkit.org/changeset/99994
200257        https://bugs.webkit.org/show_bug.cgi?id=72150
200258
200259        Broke chromium windows build
200260
200261        * WebCore.gypi:
200262        * bindings/generic/RuntimeEnabledFeatures.h:
200263        (WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
200264        (WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
200265        (WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
200266        * page/MouseLockable.cpp: Removed.
200267        * page/MouseLockable.h: Removed.
200268        * page/MouseLockable.idl: Removed.
200269        * page/Navigator.cpp:
200270        * page/Navigator.h:
200271        * page/Navigator.idl:
200272
2002732011-11-11  Adam Klein  <adamk@chromium.org>
200274
200275        [v8] Remove unused V8Proxy::executingScript method
200276        https://bugs.webkit.org/show_bug.cgi?id=72160
200277
200278        Reviewed by Nate Chapin.
200279
200280        * bindings/v8/V8Proxy.cpp:
200281        * bindings/v8/V8Proxy.h:
200282
2002832011-11-11  Brady Eidson  <beidson@apple.com>
200284
200285        Rubberstamped by Andy Estes
200286
200287        100,000!
200288        Congratulations WebKit, and here's to hundreds of thousands more!
200289        
200290        * ChangeLog: Point out revision 100,000.
200291
2002922011-11-11  David Kilzer  <ddkilzer@apple.com>
200293
200294        <http://webkit.org/b/71921> Remove use of strcpy in KURL
200295
200296        Reviewed by Antti Koivisto.
200297
200298        * platform/KURL.cpp:
200299        (WebCore::KURL::init): Replace strcpy() with strncpy().
200300
2003012011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
200302
200303        De-virtualize supportsProfiling, supportsRichSourceInfo, shouldInterruptScript in JSGlobalObject
200304        https://bugs.webkit.org/show_bug.cgi?id=72035
200305
200306        Reviewed by Geoffrey Garen.
200307
200308        No new tests.
200309
200310        * bindings/js/JSDOMGlobalObject.cpp: Changed constructor to support passing new GlobalObjectMethodTable pointer to parent class.
200311        (WebCore::JSDOMGlobalObject::JSDOMGlobalObject):
200312        * bindings/js/JSDOMGlobalObject.h:
200313        * bindings/js/JSDOMWindowBase.cpp: Added static const GlobalObjectMethodTable and filled it in with the proper function pointers.
200314        (WebCore::JSDOMWindowBase::JSDOMWindowBase):
200315        (WebCore::JSDOMWindowBase::supportsProfiling): Changed to static to put in the method table.
200316        (WebCore::JSDOMWindowBase::supportsRichSourceInfo): Ditto.
200317        (WebCore::JSDOMWindowBase::shouldInterruptScript): Ditto.
200318        * bindings/js/JSDOMWindowBase.h:
200319
200320
2003212011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
200322
200323        Unreviewed, rolling out r99869.
200324        http://trac.webkit.org/changeset/99869
200325        https://bugs.webkit.org/show_bug.cgi?id=72157
200326
200327        "Caused a ~400% perf regression on the Chromium intl1 page
200328        cyclers" (Requested by ojan on #webkit).
200329
200330        * dom/Document.cpp:
200331        (WebCore::Document::Document):
200332        (WebCore::Document::images):
200333        (WebCore::Document::applets):
200334        (WebCore::Document::embeds):
200335        (WebCore::Document::plugins):
200336        (WebCore::Document::objects):
200337        (WebCore::Document::scripts):
200338        (WebCore::Document::links):
200339        (WebCore::Document::forms):
200340        (WebCore::Document::anchors):
200341        * dom/Document.h:
200342        * html/CollectionType.h:
200343
2003442011-11-11  Vincent Scheib  <scheib@chromium.org>
200345
200346        Mouse Lock Navigator IDL
200347        https://bugs.webkit.org/show_bug.cgi?id=72150
200348
200349        Reviewed by Dimitri Glazkov.
200350
200351        Tests require mocking (similar to geolocation) that will be built after this.
200352
200353        * WebCore.gypi:
200354        * bindings/generic/RuntimeEnabledFeatures.h:
200355        (WebCore::RuntimeEnabledFeatures::webkitPointerEnabled):
200356        * page/MouseLockable.cpp: Added.
200357        (WebCore::MouseLockable::MouseLockable):
200358        (WebCore::MouseLockable::~MouseLockable):
200359        (WebCore::MouseLockable::webkitLock):
200360        (WebCore::MouseLockable::webkitUnlock):
200361        (WebCore::MouseLockable::webkitIsLocked):
200362        * page/MouseLockable.h: Added.
200363        (WebCore::MouseLockable::create):
200364        * page/MouseLockable.idl: Added.
200365        * page/Navigator.cpp:
200366        (WebCore::Navigator::webkitPointer):
200367        * page/Navigator.h:
200368        * page/Navigator.idl:
200369
2003702011-11-11  Mark Hahnenberg  <mhahnenberg@apple.com>
200371
200372        De-virtualize JSGlobalObject::allowsAccessFrom
200373        https://bugs.webkit.org/show_bug.cgi?id=71969
200374
200375        Reviewed by Darin Adler.
200376
200377        No new tests.
200378
200379        Since allowsAccessFrom is only used by WebScriptObject, we know that we'll always have a 
200380        JSDOMWindowBase, so we can simply have allowsAccessFrom to live in JSDOMWindowBase rather 
200381        than JSGlobalObject.
200382
200383        * bindings/js/JSDOMWindowBase.h: De-virtualized allowsAccessFrom.
200384        * bindings/objc/WebScriptObject.mm:
200385        (-[WebScriptObject _isSafeScript]): Added a cast from a JSGlobalObject to a JSDOMWindowBase in 
200386        order to call the allowsAccessFrom method.
200387
2003882011-11-11  Rafael Weinstein  <rafaelw@chromium.org>
200389
200390        [MutationObservers] Support attributeFilter for attribute mutations
200391        https://bugs.webkit.org/show_bug.cgi?id=70860
200392
200393        Reviewed by Dimitri Glazkov.
200394
200395        This patch adds an attributeFilter to the MutationObserverRegistration and
200396        adds support for only observing attributes whose name are in the provided
200397        filter set (array of strings).
200398
200399        Test: fast/mutation/observe-attributes.html.
200400
200401        * bindings/js/JSWebKitMutationObserverCustom.cpp:
200402        (WebCore::JSWebKitMutationObserver::observe):
200403        * bindings/v8/OptionsObject.cpp:
200404        (WebCore::OptionsObject::get):
200405        * bindings/v8/OptionsObject.h:
200406        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
200407        (WebCore::V8WebKitMutationObserver::observeCallback):
200408        * dom/Element.cpp:
200409        (WebCore::enqueueAttributesMutationRecord):
200410        * dom/MutationObserverRegistration.cpp:
200411        (WebCore::MutationObserverRegistration::resetObservation):
200412        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
200413        (WebCore::MutationObserverRegistration::caseInsensitiveAttributeFilter):
200414        * dom/MutationObserverRegistration.h:
200415        * dom/Node.cpp:
200416        (WebCore::Node::collectMatchingObserversForMutation):
200417        (WebCore::Node::getRegisteredMutationObserversOfType):
200418        * dom/Node.h:
200419        * dom/WebKitMutationObserver.cpp:
200420        (WebCore::WebKitMutationObserver::observe):
200421        * dom/WebKitMutationObserver.h:
200422
2004232011-11-11  Vsevolod Vlasov  <vsevik@chromium.org>
200424
200425        Application cache status indicator gets stuck at DOWNLOADING after a failure
200426        https://bugs.webkit.org/show_bug.cgi?id=60793
200427
200428        Reviewed by Pavel Feldman.
200429
200430        Test: http/tests/inspector/resource-tree/appcache-manifest-with-non-existing-file.html
200431
200432        * inspector/InspectorApplicationCacheAgent.cpp:
200433        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
200434        (WebCore::InspectorApplicationCacheAgent::restore):
200435        (WebCore::InspectorApplicationCacheAgent::enable):
200436        * inspector/InspectorApplicationCacheAgent.h:
200437        * inspector/InspectorController.cpp:
200438        (WebCore::InspectorController::InspectorController):
200439        (WebCore::InspectorController::restoreInspectorStateFromCookie):
200440        * inspector/front-end/ApplicationCacheItemsView.js:
200441        (WebInspector.ApplicationCacheItemsView):
200442        (WebInspector.ApplicationCacheItemsView.prototype.updateStatus):
200443
2004442011-11-11  Eric Carlson  <eric.carlson@apple.com>
200445
200446        Implement TextTrackList and the textTracks attribute of HTMLMediaElement
200447        https://bugs.webkit.org/show_bug.cgi?id=71123
200448
200449        Reviewed by Sam Weinig.
200450
200451        Test: media/track/track-add-track.html
200452              media/track/tracklist-is-reachable.html
200453
200454        * CMakeLists.txt: Add new files for TextTrackList.
200455        * DerivedSources.cpp: Ditto.
200456        * DerivedSources.make: Ditto.
200457        * DerivedSources.pri: Ditto.
200458        * GNUmakefile.list.am: Ditto.
200459        * Target.pri: Ditto.
200460        * WebCore.gypi: Ditto.
200461        * WebCore.xcodeproj/project.pbxproj: Ditto.
200462        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
200463
200464        * bindings/js/JSTextTrackListCustom.cpp: Added.
200465        (WebCore::JSTextTrackListOwner::isReachableFromOpaqueRoots):
200466
200467        * dom/EventTargetFactory.in: Add TextTrackList, conditional on VIDEO_TRACK.
200468
200469        * html/HTMLAudioElement.cpp:
200470        (WebCore::HTMLAudioElement::createForJSConstructor): Update for scheduleLoad change.
200471
200472        * html/HTMLMediaElement.cpp:
200473        (WebCore::HTMLMediaElement::~HTMLMediaElement): Update for m_textTracks change from
200474            generic Vector to TextTrackList.
200475        (WebCore::HTMLMediaElement::attributeChanged): Ditto.
200476        (WebCore::HTMLMediaElement::insertedIntoDocument): Update for scheduleLoad change.
200477        (WebCore::HTMLMediaElement::scheduleLoad): Add a parameter so caller can specify if
200478            the main resource or a text track should be loaded.
200479        (WebCore::HTMLMediaElement::loadTimerFired): Update to allow text track loading.
200480        (WebCore::HTMLMediaElement::loadInternal): Don't call loadTextTracks.
200481        (WebCore::HTMLMediaElement::isSafeToLoadURL): Log when CSP denies load.
200482        (WebCore::HTMLMediaElement::playInternal): Update for scheduleLoad change.
200483        (WebCore::HTMLMediaElement::pauseInternal): Ditto.
200484        (WebCore::HTMLMediaElement::addTrack): Update for m_textTracks change from
200485            generic Vector to TextTrackList.
200486        (WebCore::HTMLMediaElement::addTextTrack): New, add track to m_textTracks and configure.
200487        (WebCore::HTMLMediaElement::configureTextTracks): New, add comments about what this should
200488            do eventually.
200489        (WebCore::HTMLMediaElement::textTracks): New, return TextTrackList.
200490        (WebCore::HTMLMediaElement::trackWasAdded): Bail if runtime feature is not enabled, schedule
200491            asynchronous text track load.
200492        (WebCore::HTMLMediaElement::trackWillBeRemoved): Minor cleanup.
200493        (WebCore::HTMLMediaElement::selectNextSourceChild): Ditto.
200494        (WebCore::HTMLMediaElement::sourceWasAdded): Update for scheduleLoad change.
200495        * html/HTMLMediaElement.h:
200496        * html/HTMLMediaElement.idl: Add textTracks attribute.
200497
200498        * html/HTMLTrackElement.cpp: 
200499        (WebCore::HTMLTrackElement::insertedIntoTree): Use new mediaElement() method.
200500        (WebCore::HTMLTrackElement::willRemove): Ditto.
200501        (WebCore::HTMLTrackElement::attributeChanged): When 'src' is changed, call scheduleLoad
200502            instead of HTMLMediaElement
200503        (WebCore::HTMLTrackElement::isDefault): hasAttribute -> fastHasAttribute.
200504        (WebCore::HTMLTrackElement::track): Allocate track if necessary.
200505        (WebCore::HTMLTrackElement::scheduleLoad): New, tell the track to schedule a load.
200506        (WebCore::HTMLTrackElement::canLoadUrl): New, check security policy to see if it is OK
200507            to load a text track. If so, dispatch 'beforeload' event to give it a chance to disallow
200508            load.
200509        (WebCore::HTMLTrackElement::loadingCompleted): Renamed from textTrackLoadingCompleted.
200510        (WebCore::HTMLTrackElement::textTrackReadyStateChanged): New, TextTrackLoadingClient interface
200511            used to inform parent of TextTrack state changes.
200512        (WebCore::HTMLTrackElement::textTrackModeChanged): Ditto.
200513        (WebCore::HTMLTrackElement::textTrackAddCues): Ditto.
200514        (WebCore::HTMLTrackElement::textTrackRemoveCues): Ditto.
200515        (WebCore::HTMLTrackElement::textTrackAddCue): Ditto.
200516        (WebCore::HTMLTrackElement::textTrackRemoveCue): Ditto.
200517        (WebCore::HTMLTrackElement::mediaElement): New, return parent element.
200518        * html/HTMLTrackElement.h:
200519
200520        * html/LoadableTextTrack.cpp:
200521        (WebCore::LoadableTextTrack::LoadableTextTrack): Initialize new instance variables.
200522        (WebCore::LoadableTextTrack::scheduleLoad): New, prime a timer to kick off loading.
200523        (WebCore::LoadableTextTrack::loadTimerFired): Cancel current load, if any, check to see if
200524            new url is allowed to load, and start new load.
200525        (WebCore::LoadableTextTrack::cueLoadingCompleted): 
200526        * html/LoadableTextTrack.h:
200527        (WebCore::LoadableTextTrackClient::~LoadableTextTrackClient): TextTrackLoadingClient -> LoadableTextTrackClient
200528        (WebCore::LoadableTextTrackClient::canLoadUrl): 
200529        (WebCore::LoadableTextTrackClient::loadingCompleted):
200530        (WebCore::LoadableTextTrack::create):
200531
200532        * html/TextTrack.cpp:
200533        (WebCore::TextTrack::TextTrack): setClient(0) -> clearClient().
200534        * html/TextTrack.h:
200535        (WebCore::TextTrack::clearClient): Renamed from setClient, because it is only used to clear the client pointer.
200536
200537        * html/TextTrackCueList.cpp:
200538        (WebCore::TextTrackCueList::add): Get rid of a compiler warning that breaks the OS X build.
200539
200540        * html/track/TextTrackList.cpp: Added. Implement the TextTrackList object.
200541        (TextTrackList::TextTrackList):
200542        (TextTrackList::~TextTrackList):
200543        (TextTrackList::length):
200544        (TextTrackList::item):
200545        (TextTrackList::append):
200546        (TextTrackList::remove):
200547        (TextTrackList::interfaceName):
200548        (TextTrackList::scheduleAddTrackEvent):
200549        (TextTrackList::asyncEventTimerFired):
200550        * html/track/TextTrackList.h: Added.
200551        (WebCore::TextTrackList::create):
200552        (WebCore::TextTrackList::scriptExecutionContext):
200553        (WebCore::TextTrackList::clearOwner):
200554        (WebCore::TextTrackList::owner):
200555        (WebCore::TextTrackList::refEventTarget):
200556        (WebCore::TextTrackList::derefEventTarget):
200557        (WebCore::TextTrackList::eventTargetData):
200558        (WebCore::TextTrackList::ensureEventTargetData):
200559        * html/track/TextTrackList.idl: Added.
200560
200561        * loader/TextTrackLoader.cpp:
200562        (WebCore::TextTrackLoader::cancelLoad): New, cancel pending or in progress load and delete loader.
200563        (WebCore::TextTrackLoader::notifyFinished): Call cancelLoad.
200564        (WebCore::TextTrackLoader::load): Ditto.
200565        * loader/TextTrackLoader.h:
200566        * page/DOMWindow.idl: Add TextTrackList.
200567
2005682011-11-11  Pavel Feldman  <pfeldman@google.com>
200569
200570        Web Inspector: reimplement DOM search using no XPath.
200571        https://bugs.webkit.org/show_bug.cgi?id=72125
200572
200573        Reviewed by Yury Semikhatsky.
200574
200575        * inspector/InspectorDOMAgent.cpp:
200576        (WebCore::InspectorDOMAgent::performSearch):
200577        (WebCore::InspectorDOMAgent::buildObjectForNode):
200578        * inspector/InspectorDOMAgent.h:
200579
2005802011-11-11  Gavin Peters  <gavinp@chromium.org>
200581
200582        Protect Document during error responses
200583        https://bugs.webkit.org/show_bug.cgi?id=72068
200584
200585        Add a Document protector to the error response code handler, just
200586        as exists for other ends of requests.
200587
200588        Reviewed by Nate Chapin.
200589
200590        Test: http/tests/misc/xslt-bad-import.html
200591
200592        * loader/cache/CachedResourceRequest.cpp:
200593        (WebCore::CachedResourceRequest::didReceiveData):
200594
2005952011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
200596
200597        Unreviewed, rolling out r99979.
200598        http://trac.webkit.org/changeset/99979
200599        https://bugs.webkit.org/show_bug.cgi?id=72136
200600
200601        bad commit message (Requested by gavinp on #webkit).
200602
200603        * loader/cache/CachedResourceRequest.cpp:
200604        (WebCore::CachedResourceRequest::didReceiveData):
200605
2006062011-11-11  Gavin Peters  <gavinp@chromium.org>
200607
200608        Protect Document during error responses
200609        https://bugs.webkit.org/show_bug.cgi?id=72068
200610
200611        Add a Document protector to the error response code handler, just
200612        as exists for other ends of requests.
200613
200614        Reviewed by Nate Chapin.
200615
200616        Test: http/tests/misc/xslt-bad-import.html
200617
200618        * loader/cache/CachedResourceRequest.cpp:
200619        (WebCore::CachedResourceRequest::didReceiveData):
200620
2006212011-11-10  Philippe Normand  <pnormand@igalia.com>
200622
200623        [GStreamer] GstCaps and GstPad RefPtr implementation
200624        https://bugs.webkit.org/show_bug.cgi?id=72023
200625
200626        Reviewed by Martin Robinson.
200627
200628        Smart pointer implementations for GstCaps and GstPad and them
200629        in the media player code.
200630
200631        * platform/graphics/gstreamer/GRefPtrGStreamer.cpp:
200632        (WTF::GstPad):
200633        (WTF::GstCaps):
200634        * platform/graphics/gstreamer/GRefPtrGStreamer.h:
200635        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
200636        (WebCore::GStreamerGWorld::enterFullscreen):
200637        (WebCore::GStreamerGWorld::exitFullscreen):
200638        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
200639        (WebCore::MediaPlayerPrivateGStreamer::naturalSize):
200640        (WebCore::MediaPlayerPrivateGStreamer::totalBytes):
200641        (WebCore::MediaPlayerPrivateGStreamer::createGSTPlayBin):
200642        * platform/graphics/gstreamer/WebKitWebSourceGStreamer.cpp:
200643        (webkit_web_src_init):
200644        (StreamingClient::didReceiveResponse):
200645
2006462011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
200647
200648        Unreviewed, rolling out r99964.
200649        http://trac.webkit.org/changeset/99964
200650        https://bugs.webkit.org/show_bug.cgi?id=72124
200651
200652        Broke too many Qt tests (Requested by tronical_ on #webkit).
200653
200654        * Target.pri:
200655        * html/HTMLSelectElement.h:
200656        (WebCore::HTMLSelectElement::usesMenuList):
200657        * platform/qt/QtMobileWebStyle.cpp: Added.
200658        (QtMobileWebStyle::QtMobileWebStyle):
200659        (drawRectangularControlBackground):
200660        (QtMobileWebStyle::drawChecker):
200661        (QtMobileWebStyle::findChecker):
200662        (QtMobileWebStyle::drawRadio):
200663        (QtMobileWebStyle::findRadio):
200664        (QtMobileWebStyle::drawControl):
200665        (QtMobileWebStyle::drawPrimitive):
200666        (QtMobileWebStyle::drawMultipleComboButton):
200667        (QtMobileWebStyle::drawSimpleComboButton):
200668        (QtMobileWebStyle::getButtonImageSize):
200669        (QtMobileWebStyle::findComboButton):
200670        (QtMobileWebStyle::drawComplexControl):
200671        * platform/qt/QtMobileWebStyle.h: Added.
200672        * platform/qt/QtStyleOptionWebComboBox.h:
200673        (WebCore::QtStyleOptionWebComboBox::QtStyleOptionWebComboBox):
200674        (WebCore::QtStyleOptionWebComboBox::checkMultiple):
200675        * platform/qt/RenderThemeQStyle.cpp: Removed.
200676        * platform/qt/RenderThemeQStyle.h: Removed.
200677        * platform/qt/RenderThemeQt.cpp:
200678        (WebCore::initStyleOption):
200679        (WebCore::StylePainter::StylePainter):
200680        (WebCore::StylePainter::init):
200681        (WebCore::StylePainter::~StylePainter):
200682        (WebCore::RenderThemeQt::create):
200683        (WebCore::RenderTheme::themeForPage):
200684        (WebCore::RenderThemeQt::RenderThemeQt):
200685        (WebCore::RenderThemeQt::~RenderThemeQt):
200686        (WebCore::RenderThemeQt::isControlStyled):
200687        (WebCore::RenderThemeQt::popupInternalPaddingBottom):
200688        (WebCore::RenderThemeQt::fallbackStyle):
200689        (WebCore::RenderThemeQt::qStyle):
200690        (WebCore::RenderThemeQt::extraDefaultStyleSheet):
200691        (WebCore::RenderThemeQt::findFrameLineWidth):
200692        (WebCore::inflateButtonRect):
200693        (WebCore::RenderThemeQt::adjustRepaintRect):
200694        (WebCore::RenderThemeQt::minimumMenuListSize):
200695        (WebCore::RenderThemeQt::computeSizeBasedOnStyle):
200696        (WebCore::RenderThemeQt::adjustButtonStyle):
200697        (WebCore::RenderThemeQt::setButtonPadding):
200698        (WebCore::RenderThemeQt::paintButton):
200699        (WebCore::RenderThemeQt::adjustTextFieldStyle):
200700        (WebCore::RenderThemeQt::paintTextField):
200701        (WebCore::RenderThemeQt::adjustMenuListStyle):
200702        (WebCore::RenderThemeQt::setPopupPadding):
200703        (WebCore::RenderThemeQt::paintMenuList):
200704        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
200705        (WebCore::RenderThemeQt::paintMenuListButton):
200706        (WebCore::RenderThemeQt::animationDurationForProgressBar):
200707        (WebCore::RenderThemeQt::paintProgressBar):
200708        (WebCore::RenderThemeQt::paintSliderTrack):
200709        (WebCore::RenderThemeQt::paintSliderThumb):
200710        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
200711        (WebCore::RenderThemeQt::paintInnerSpinButton):
200712        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
200713        (WebCore::RenderThemeQt::initializeCommonQStyleOptions):
200714        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
200715        (WebCore::RenderThemeQt::paintMediaMuteButton):
200716        (WebCore::RenderThemeQt::paintMediaPlayButton):
200717        (WebCore::RenderThemeQt::paintMediaCurrentTime):
200718        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
200719        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
200720        (WebCore::RenderThemeQt::paintMediaSliderTrack):
200721        (WebCore::RenderThemeQt::paintMediaSliderThumb):
200722        (WebCore::RenderThemeQt::adjustSliderThumbSize):
200723        (WebCore::RenderThemeQt::caretBlinkInterval):
200724        (WebCore::RenderThemeQt::fileListNameForWidth):
200725        * platform/qt/RenderThemeQt.h:
200726        (WebCore::StylePainter::isValid):
200727        (WebCore::StylePainter::drawPrimitive):
200728        (WebCore::StylePainter::drawControl):
200729        (WebCore::StylePainter::drawComplexControl):
200730        * platform/qt/RenderThemeQtMobile.cpp: Removed.
200731        * platform/qt/RenderThemeQtMobile.h: Removed.
200732        * platform/qt/ScrollbarThemeQt.cpp:
200733        (WebCore::ScrollbarTheme::nativeTheme):
200734        (WebCore::ScrollbarThemeQt::paint):
200735        (WebCore::ScrollbarThemeQt::scrollbarThickness):
200736        (WebCore::ScrollbarThemeQt::paintScrollCorner):
200737
2007382011-11-11  Pavel Feldman  <pfeldman@google.com>
200739
200740        Not reviewed: fix Snow Leopard build.
200741
200742        * inspector/InspectorDOMAgent.cpp:
200743        (WebCore::InspectorDOMAgent::performSearch):
200744
2007452011-11-11  Pavel Feldman  <pfeldman@google.com>
200746
200747        Web Inspector: make search in DOM panel scale.
200748        https://bugs.webkit.org/show_bug.cgi?id=72118
200749
200750        Reviewed by Yury Semikhatsky.
200751
200752        * inspector/Inspector.json:
200753        * inspector/InspectorDOMAgent.cpp:
200754        (WebCore::InspectorDOMAgent::InspectorDOMAgent):
200755        (WebCore::InspectorDOMAgent::reset):
200756        (WebCore::InspectorDOMAgent::performSearch):
200757        (WebCore::InspectorDOMAgent::getSearchResults):
200758        (WebCore::InspectorDOMAgent::discardSearchResults):
200759        * inspector/InspectorDOMAgent.h:
200760        * inspector/front-end/DOMAgent.js:
200761        (WebInspector.DOMAgent.prototype.performSearch.callback):
200762        (WebInspector.DOMAgent.prototype.performSearch):
200763        (WebInspector.DOMAgent.prototype.searchResult.mycallback):
200764        (WebInspector.DOMAgent.prototype.searchResult):
200765        (WebInspector.DOMAgent.prototype.cancelSearch):
200766        (WebInspector.DOMDispatcher.prototype.childNodeRemoved):
200767        * inspector/front-end/ElementsPanel.js:
200768        (WebInspector.ElementsPanel.prototype.searchCanceled):
200769        (WebInspector.ElementsPanel.prototype.performSearch.resultCountCallback):
200770        (WebInspector.ElementsPanel.prototype.performSearch):
200771        (WebInspector.ElementsPanel.prototype.jumpToNextSearchResult):
200772        (WebInspector.ElementsPanel.prototype.jumpToPreviousSearchResult):
200773        (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult.):
200774        (WebInspector.ElementsPanel.prototype._highlightCurrentSearchResult):
200775        (WebInspector.ElementsPanel.prototype._hideSearchHighlights):
200776        * inspector/front-end/NetworkPanel.js:
200777        (WebInspector.NetworkLogView.prototype._highlightNthMatchedResource):
200778        * inspector/front-end/ResourcesPanel.js:
200779        (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
200780        (WebInspector.ResourcesPanel.prototype._showSearchResult):
200781        * inspector/front-end/ScriptsPanel.js:
200782        (WebInspector.ScriptsPanel.prototype.performSearch.finishedCallback):
200783        (WebInspector.ScriptsPanel.prototype.performSearch):
200784        (WebInspector.ScriptsPanel.prototype.jumpToNextSearchResult):
200785        (WebInspector.ScriptsPanel.prototype.jumpToPreviousSearchResult):
200786        * inspector/front-end/SearchController.js:
200787        (WebInspector.SearchController.prototype._updateSearchMatchesCountAndCurrentMatchIndex):
200788
2007892011-11-11  Pierre Rossi  <pierre.rossi@gmail.com>
200790
200791        [Qt] Remove the QStyle dependency in Qt's mobile theme
200792        https://bugs.webkit.org/show_bug.cgi?id=67773
200793
200794        This refactoring splits up RenderThemeQt with two
200795        subclasses, a QStyle-backed one, and a Mobile version
200796        that uses the old mobile theme for now.
200797
200798        QStyle availability is detected at compile time, and
200799        its use is determined by the QT_WEBKIT_USE_MOBILE_THEME
200800        environment variable.
200801
200802        Reviewed by Simon Hausmann.
200803
200804        Covered by the existing tests.
200805
200806        * Target.pri:
200807        * platform/qt/QtMobileWebStyle.cpp: Removed. The relevant logic
200808        now lives within RenderThemeQtMobile.
200809        * platform/qt/QtMobileWebStyle.h: Removed. Ditto.
200810        * platform/qt/RenderThemeQStyle.cpp: Added.
200811        (WebCore::initStyleOption):
200812        (WebCore::RenderThemeQStyle::getStylePainter):
200813        (WebCore::StylePainterQStyle::StylePainterQStyle):
200814        (WebCore::StylePainterQStyle::init):
200815        (WebCore::RenderThemeQStyle::create):
200816        (WebCore::RenderThemeQStyle::RenderThemeQStyle):
200817        (WebCore::RenderThemeQStyle::~RenderThemeQStyle):
200818        (WebCore::RenderThemeQStyle::fallbackStyle):
200819        (WebCore::RenderThemeQStyle::qStyle):
200820        (WebCore::RenderThemeQStyle::findFrameLineWidth):
200821        (WebCore::RenderThemeQStyle::inflateButtonRect):
200822        (WebCore::RenderThemeQStyle::computeSizeBasedOnStyle):
200823        (WebCore::RenderThemeQStyle::adjustButtonStyle):
200824        (WebCore::RenderThemeQStyle::setButtonPadding):
200825        (WebCore::RenderThemeQStyle::paintButton):
200826        (WebCore::RenderThemeQStyle::adjustTextFieldStyle):
200827        (WebCore::RenderThemeQStyle::paintTextField):
200828        (WebCore::RenderThemeQStyle::adjustTextAreaStyle):
200829        (WebCore::RenderThemeQStyle::paintTextArea):
200830        (WebCore::RenderThemeQStyle::setPopupPadding):
200831        (WebCore::RenderThemeQStyle::paintMenuList):
200832        (WebCore::RenderThemeQStyle::adjustMenuListButtonStyle):
200833        (WebCore::RenderThemeQStyle::paintMenuListButton):
200834        (WebCore::RenderThemeQStyle::animationDurationForProgressBar):
200835        (WebCore::RenderThemeQStyle::paintProgressBar):
200836        (WebCore::RenderThemeQStyle::paintSliderTrack):
200837        (WebCore::RenderThemeQStyle::adjustSliderTrackStyle):
200838        (WebCore::RenderThemeQStyle::paintSliderThumb):
200839        (WebCore::RenderThemeQStyle::adjustSliderThumbStyle):
200840        (WebCore::RenderThemeQStyle::paintSearchField):
200841        (WebCore::RenderThemeQStyle::adjustSearchFieldStyle):
200842        (WebCore::RenderThemeQStyle::adjustSearchFieldDecorationStyle):
200843        (WebCore::RenderThemeQStyle::paintSearchFieldDecoration):
200844        (WebCore::RenderThemeQStyle::adjustSearchFieldResultsDecorationStyle):
200845        (WebCore::RenderThemeQStyle::paintSearchFieldResultsDecoration):
200846        (WebCore::RenderThemeQStyle::paintInnerSpinButton):
200847        (WebCore::RenderThemeQStyle::initializeCommonQStyleOptions):
200848        (WebCore::RenderThemeQStyle::adjustSliderThumbSize):
200849        * platform/qt/RenderThemeQStyle.h: Added.
200850        (WebCore::StylePainterQStyle::isValid):
200851        (WebCore::StylePainterQStyle::drawPrimitive):
200852        (WebCore::StylePainterQStyle::drawControl):
200853        (WebCore::StylePainterQStyle::drawComplexControl):
200854        * platform/qt/RenderThemeQt.cpp:
200855        (WebCore::RenderThemeQt::RenderThemeQt):
200856        (WebCore::RenderThemeQt::isControlStyled):
200857        (WebCore::RenderThemeQt::inflateButtonRect):
200858        (WebCore::RenderThemeQt::adjustRepaintRect):
200859        (WebCore::RenderThemeQt::minimumMenuListSize):
200860        (WebCore::RenderThemeQt::adjustTextFieldStyle):
200861        (WebCore::RenderThemeQt::adjustMenuListStyle):
200862        (WebCore::RenderThemeQt::adjustMenuListButtonStyle):
200863        (WebCore::RenderThemeQt::adjustProgressBarStyle):
200864        (WebCore::RenderThemeQt::paintSearchFieldCancelButton):
200865        (WebCore::RenderThemeQt::adjustInnerSpinButtonStyle):
200866        (WebCore::RenderThemeQt::setPaletteFromPageClientIfExists):
200867        (WebCore::RenderThemeQt::paintMediaFullscreenButton):
200868        (WebCore::RenderThemeQt::paintMediaMuteButton):
200869        (WebCore::RenderThemeQt::paintMediaPlayButton):
200870        (WebCore::RenderThemeQt::paintMediaCurrentTime):
200871        (WebCore::RenderThemeQt::paintMediaVolumeSliderTrack):
200872        (WebCore::RenderThemeQt::paintMediaVolumeSliderThumb):
200873        (WebCore::RenderThemeQt::paintMediaSliderTrack):
200874        (WebCore::RenderThemeQt::paintMediaSliderThumb):
200875        (WebCore::RenderThemeQt::adjustSliderThumbSize):
200876        (WebCore::RenderThemeQt::caretBlinkInterval):
200877        (WebCore::RenderThemeQt::fileListNameForWidth):
200878        (WebCore::StylePainter::StylePainter):
200879        (WebCore::StylePainter::init):
200880        (WebCore::StylePainter::~StylePainter):
200881        * platform/qt/RenderThemeQt.h:
200882        (WebCore::RenderThemeQt::useMobileTheme):
200883        (WebCore::StylePainter::isValid):
200884        * platform/qt/RenderThemeQtMobile.cpp: Added.
200885        (WebCore::drawRectangularControlBackground):
200886        (WebCore::RenderThemeQtMobile::getStylePainter):
200887        (WebCore::StylePainterMobile::StylePainterMobile):
200888        (WebCore::StylePainterMobile::drawChecker):
200889        (WebCore::StylePainterMobile::findChecker):
200890        (WebCore::StylePainterMobile::drawRadio):
200891        (WebCore::StylePainterMobile::findRadio):
200892        (WebCore::StylePainterMobile::drawMultipleComboButton):
200893        (WebCore::StylePainterMobile::drawSimpleComboButton):
200894        (WebCore::StylePainterMobile::getButtonImageSize):
200895        (WebCore::StylePainterMobile::findComboButton):
200896        (WebCore::StylePainterMobile::drawLineEdit):
200897        (WebCore::StylePainterMobile::drawCheckBox):
200898        (WebCore::StylePainterMobile::drawRadioButton):
200899        (WebCore::StylePainterMobile::drawPushButton):
200900        (WebCore::StylePainterMobile::drawComboBox):
200901        (WebCore::RenderThemeQtMobile::create):
200902        (WebCore::RenderTheme::themeForPage):
200903        (WebCore::RenderThemeQtMobile::RenderThemeQtMobile):
200904        (WebCore::RenderThemeQtMobile::~RenderThemeQtMobile):
200905        (WebCore::RenderThemeQtMobile::isControlStyled):
200906        (WebCore::RenderThemeQtMobile::popupInternalPaddingBottom):
200907        (WebCore::RenderThemeQtMobile::computeSizeBasedOnStyle):
200908        (WebCore::RenderThemeQtMobile::adjustButtonStyle):
200909        (WebCore::RenderThemeQtMobile::setButtonPadding):
200910        (WebCore::RenderThemeQtMobile::paintButton):
200911        (WebCore::RenderThemeQtMobile::adjustTextFieldStyle):
200912        (WebCore::RenderThemeQtMobile::paintTextField):
200913        (WebCore::RenderThemeQtMobile::adjustMenuListStyle):
200914        (WebCore::RenderThemeQtMobile::setPopupPadding):
200915        (WebCore::RenderThemeQtMobile::paintMenuList):
200916        (WebCore::RenderThemeQtMobile::paintMenuListButton):
200917        (WebCore::RenderThemeQtMobile::animationDurationForProgressBar):
200918        (WebCore::RenderThemeQtMobile::paintProgressBar):
200919        (WebCore::RenderThemeQtMobile::paintSliderTrack):
200920        (WebCore::RenderThemeQtMobile::paintSliderThumb):
200921        (WebCore::RenderThemeQtMobile::checkMultiple):
200922        (WebCore::RenderThemeQtMobile::setPaletteFromPageClientIfExists):
200923        (WebCore::RenderThemeQtMobile::adjustSliderThumbSize):
200924        * platform/qt/RenderThemeQtMobile.h: Added.
200925        * platform/qt/ScrollbarThemeQt.cpp:
200926        (WebCore::ScrollbarTheme::nativeTheme):
200927        (WebCore::ScrollbarThemeQt::paint):
200928        (WebCore::ScrollbarThemeQt::scrollbarThickness):
200929        (WebCore::ScrollbarThemeQt::paintScrollCorner):
200930
2009312011-11-11  Alexander Pavlov  <apavlov@chromium.org>
200932
200933        Web Inspector: Option to configure indentation of pretty-printed Javascript
200934        https://bugs.webkit.org/show_bug.cgi?id=72119
200935
200936        Reviewed by Pavel Feldman.
200937
200938        Drive-by fix for field names and added indent caching, as suggested by Pavel Podivilov.
200939
200940        * inspector/front-end/JavaScriptFormatter.js:
200941        (FormattedContentBuilder):
200942        (FormattedContentBuilder.prototype.increaseNestingLevel):
200943        (FormattedContentBuilder.prototype.decreaseNestingLevel):
200944        (FormattedContentBuilder.prototype._addIndent):
200945        * inspector/front-end/ScriptFormatter.js:
200946        * inspector/front-end/ScriptFormatterWorker.js:
200947        (onmessage):
200948        (formatScript):
200949        (HTMLScriptFormatter):
200950        (HTMLScriptFormatter.prototype.scriptEnded):
200951
2009522011-11-11  Andreas Kling  <kling@webkit.org>
200953
200954        Unreviewed Chromium build fix after r99958.
200955
200956        * bindings/scripts/CodeGeneratorV8.pm:
200957        (GenerateImplementationCustomCall):o
200958
200959            Remove hack that forced HTMLOptionsCollection to have a custom
200960            callAsFunctionCallback().
200961
2009622011-11-11  Mike Lewis <mikelikespie@gmail.com>
200963
200964        Web Inspector: DevTools InspectorStubs.js incorrectly converting responses to arguments.
200965        https://bugs.webkit.org/show_bug.cgi?id=72096
200966
200967        JSON.parse doesn't garantee the order of keys.
200968        We have to explicitly order the results according to Inspector.json spec.
200969
200970        Reviewed by Pavel Feldman.
200971
200972        * inspector/CodeGeneratorInspector.py:
200973
2009742011-11-10  Andreas Kling  <kling@webkit.org>
200975
200976        Remove ability to call HTMLCollections in V8 bindings as well.
200977        <http://webkit.org/b/72045>
200978
200979        Reviewed by Anders Carlsson.
200980
200981        Follow the JSC bindings and remove the ability to call HTMLCollections
200982        in the V8 bindings (excluding HTMLAllCollection.)
200983
200984        * bindings/scripts/CodeGeneratorV8.pm:
200985        (GenerateHeaderCustomCall):
200986        (GenerateImplementationCustomCall):
200987        * dom/NodeList.idl:
200988        * html/HTMLCollection.idl:
200989
200990            Remove the V8CustomCall attribute as it's no longer needed.
200991
200992        * bindings/v8/custom/V8HTMLCollectionCustom.cpp:
200993        * bindings/v8/custom/V8NodeListCustom.cpp:
200994
2009952011-11-11  Alexander Pavlov  <apavlov@chromium.org>
200996
200997        Web Inspector: Interactive color box for gradients in CSS property values
200998        https://bugs.webkit.org/show_bug.cgi?id=72112
200999
201000        Reviewed by Yury Semikhatsky.
201001
201002        Add "background-image" to the list of color-aware properties (may contain gradient definition).
201003
201004        * inspector/front-end/CSSKeywordCompletions.js:
201005
2010062011-11-11  Yury Semikhatsky  <yurys@chromium.org>
201007
201008        Web Inspector: [chromium] list dedicated workers in case inspector opened post-worker creation.
201009        https://bugs.webkit.org/show_bug.cgi?id=72020
201010
201011        Collect information about dedicated workers even when inspector is closed. This
201012        way we can list all dedicated workers if the front-end opens later.
201013
201014        Reviewed by Pavel Feldman.
201015
201016        Test: http/tests/inspector-enabled/dedicated-workers-list.html
201017
201018        * inspector/InspectorInstrumentation.h:
201019        (WebCore::InspectorInstrumentation::didStartWorkerContext):
201020        * inspector/InspectorWorkerAgent.cpp:
201021        (WebCore::InspectorWorkerAgent::InspectorWorkerAgent):
201022        (WebCore::InspectorWorkerAgent::~InspectorWorkerAgent):
201023        (WebCore::InspectorWorkerAgent::setFrontend):
201024        (WebCore::InspectorWorkerAgent::restore):
201025        (WebCore::InspectorWorkerAgent::clearFrontend):
201026        (WebCore::InspectorWorkerAgent::setWorkerInspectionEnabled):
201027        (WebCore::InspectorWorkerAgent::didStartWorkerContext):
201028        (WebCore::InspectorWorkerAgent::workerContextTerminated):
201029        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannelsForExistingWorkers):
201030        (WebCore::InspectorWorkerAgent::destroyWorkerFrontendChannels):
201031        (WebCore::InspectorWorkerAgent::createWorkerFrontendChannel):
201032        * inspector/InspectorWorkerAgent.h:
201033
2010342011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
201035
201036        Unreviewed, rolling out r99950.
201037        http://trac.webkit.org/changeset/99950
201038        https://bugs.webkit.org/show_bug.cgi?id=72117
201039
201040        "Landed wrong patch by mistake" (Requested by yurys on
201041        #webkit).
201042
201043        * bindings/js/JSInjectedScriptHostCustom.cpp:
201044        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
201045        * inspector/InjectedScript.cpp:
201046        * inspector/InjectedScript.h:
201047        * inspector/InjectedScriptHost.idl:
201048        * inspector/InjectedScriptSource.js:
201049        * inspector/Inspector.json:
201050        * inspector/InspectorDebuggerAgent.cpp:
201051        * inspector/InspectorDebuggerAgent.h:
201052
2010532011-11-10  Yury Semikhatsky  <yurys@chromium.org>
201054
201055        Web Inspector: function remote objetct should provide access to function position in the script
201056        https://bugs.webkit.org/show_bug.cgi?id=71808
201057
201058        Added Debugger.getFunctionLocation command for resolving function location including
201059        start line, column and script id.
201060
201061        Reviewed by Pavel Feldman.
201062
201063        Test: inspector/debugger/function-location.html
201064
201065        * bindings/js/JSInjectedScriptHostCustom.cpp:
201066        (WebCore::JSInjectedScriptHost::functionLocation):
201067        * bindings/v8/custom/V8InjectedScriptHostCustom.cpp:
201068        (WebCore::V8InjectedScriptHost::functionLocationCallback):
201069        * inspector/InjectedScript.cpp:
201070        (WebCore::InjectedScript::getFunctionLocation):
201071        * inspector/InjectedScript.h:
201072        * inspector/InjectedScriptHost.idl:
201073        * inspector/InjectedScriptSource.js:
201074        (.):
201075        * inspector/Inspector.json:
201076        * inspector/InspectorDebuggerAgent.cpp:
201077        (WebCore::InspectorDebuggerAgent::getFunctionLocation):
201078        * inspector/InspectorDebuggerAgent.h:
201079
2010802011-11-11  Pavel Feldman  <pfeldman@google.com>
201081
201082        Not reviewed: roll out changes to InspectorDOMAgent that squeezed into 99933.
201083
201084        * inspector/InspectorDOMAgent.cpp:
201085        (WebCore::MatchJob::MatchJob):
201086        (WebCore::InspectorDOMAgent::onMatchJobsTimer):
201087
2010882011-11-11  Alexander Pavlov  <apavlov@chromium.org>
201089
201090        Web Inspector: [Metrics] Editor is committed when scrolling a content box dimension up/down for the first time
201091        https://bugs.webkit.org/show_bug.cgi?id=72108
201092
201093        Reviewed by Pavel Feldman.
201094
201095        * inspector/front-end/MetricsSidebarPane.js:
201096        (WebInspector.MetricsSidebarPane.prototype._attributesUpdated):
201097
2010982011-11-11  Alpha Lam  <hclam@chromium.org>
201099
201100        [chromium] scrolling is broken with compositor thread
201101        https://bugs.webkit.org/show_bug.cgi?id=72059
201102
201103        Reviewed by James Robinson.
201104
201105        No new test. Existing test CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls checks scroll deltas are applied
201106        on the right layer.
201107
201108        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
201109        (WebCore::CCLayerTreeHostImpl::scrollLayer):
201110        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
201111        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
201112        Instead of calling on the root layer which doesn't have scroll delta applied. Change this to scrollLayer()
201113        which actually has scroll delta.
201114
2011152011-11-11  Sheriff Bot  <webkit.review.bot@gmail.com>
201116
201117        Unreviewed, rolling out r99826.
201118        http://trac.webkit.org/changeset/99826
201119        https://bugs.webkit.org/show_bug.cgi?id=72109
201120
201121        "Likely causing test flakiness" (Requested by tonyg-cr on
201122        #webkit).
201123
201124        * loader/DocumentLoader.cpp:
201125        (WebCore::DocumentLoader::scheduleArchiveLoad):
201126
2011272011-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>
201128
201129        Zooming in SVGs in <object> is flakey
201130        https://bugs.webkit.org/show_bug.cgi?id=71673
201131
201132        Reviewed by Zoltan Herczeg.
201133
201134        It turns out zooming in SVGs in <object> wasn't flakey in Safari at all, only in DRT/Mac. In Safari it failed 100% reproducable.
201135        Scrollbars would always appear when zooming in a HTML document, containing an embedded SVG by <object>/<embed>/<iframe>, even
201136        though the content would visually fit perfectly, also it zoomed properly. Reloading would make the scrollbars disappear again.
201137
201138        If scrollbars should be created for a FrameView or not, is determined by ScrollView::updateScrollbars(), by comparing the 
201139        visible size of the scroll view against the contents size. The contents size is propagated to the ScrollView, by
201140        FrameView::adjustViewSize(), which is called during FrameView::layout(). The size thats propagated is RenderView::documentRect().
201141        RenderView::documentRect() returns a writing-mode aware layoutOverflowRect(), computed by RenderBox::layoutOverflowRectForPropagation.
201142
201143        If overflow is "visible", layoutOverflowRect() will return a union of the borderBoxRect() and the layoutOverflowRect(), which
201144        may exceed the visible size of the RenderView. For standalone SVG documents, the default value for the outermost <svg> renderer is
201145        "visible". When embedding SVGs through <object>s into a host document, the same code path is taken, and RenderView::documentRect()
201146        of the embedded SVG document will always return a union of the borderBoxREct() and the layoutOverflowRect().
201147
201148        If that happens while zooming in a HTML document containing a SVG by <object>, scrollbars are created.
201149        By ensuring that overflow is treated as hidden, which is what Opera does (and makes sense!) this can't happen.
201150
201151        The fix is to treat embedded SVGs as they would carry overflow="hidden" on the outermost <svg> renderer. That also makes
201152        sense as the embedded SVG cant paint outside an external "frame rect" thats given by the FrameView, effectively rendering
201153        as overflow "hidden" already.
201154
201155        The fix is realized, by altering the overflow x/y values that are used in FrameView::applyOverflowToViewport(). Previously
201156        we never called that method for SVG, which was fine. Now we always call applyOverflowToViewport(), but only do something
201157        if the FrameView of the SVG is embedded in another document. If so, we force overflow to hidden.
201158
201159        That fixes all zooming+<object> related flakiness seen on the chromium bots, most noticeable, without other side effects.
201160        All svg/overflow tests, still work as expected.
201161
201162        Test: svg/zoom/page/zoom-svg-as-object.html
201163
201164        * page/Frame.cpp:
201165        (WebCore::Frame::setPageAndTextZoomFactors): Remove unnecessary setNeedsLayout() call in SVG builds.
201166        * page/FrameView.cpp:
201167        (WebCore::FrameView::applyOverflowToViewport): Always enforce overflow=hidden, when embedding SVGs through object/embed/iframe.
201168                                                       Otherwise scrollbars will appear, even though the contents would fit without them.
201169        (WebCore::FrameView::calculateScrollbarModesForLayout): Always call applyOverflowToViewport, even for RenderSVGRoot. It only has
201170                                                                an effect though, when the FrameView of the SVG is embedded through <object>/etc.
201171        (WebCore::FrameView::layout): Remove unnecessary setChildNeedsLayout() call.
201172        * rendering/svg/RenderSVGRoot.cpp:
201173        (WebCore::RenderSVGRoot::isEmbeddedThroughFrameContainingSVGDocument): Fix this function, its meaning was reversed before!
201174        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): Fix logical error, by negating the result of isEmbeddedThroughFrameContainingSVGDocument.
201175        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
201176        * rendering/svg/RenderSVGRoot.h: Expose isEmbeddedThroughFrameContainingSVGDocument.
201177
2011782011-11-11  Nikolas Zimmermann  <nzimmermann@rim.com>
201179
201180        Not reviewed. Unbreak my 32bit SL build.
201181
201182        * rendering/RenderLayer.cpp:
201183        (WebCore::RenderLayer::updateOrRemoveFilterEffect): Use narrowPrecisionToFloat() to convert float -> double.
201184
2011852011-10-28  Philippe Normand  <pnormand@igalia.com>
201186
201187        HRTF Database consolidation
201188        https://bugs.webkit.org/show_bug.cgi?id=69703
201189
201190        Reviewed by Kenneth Russell.
201191
201192        Access to the consolidated parts of the HRTF database by segmented
201193        chunks. A concatenated Composite HRTF database is provided in
201194        Composite.wav. Additionnally a new build step that concatenates
201195        the platform/audio/resources/ files into one (sox can be used for
201196        this) can be configured for specific ports.
201197
201198        * platform/audio/HRTFDatabase.h:
201199        * platform/audio/HRTFElevation.cpp:
201200        (WebCore::getConcatenatedImpulseResponsesForSubject):
201201        (WebCore::HRTFElevation::calculateKernelsForAzimuthElevation):
201202        * platform/audio/resources/Composite.wav: Added.
201203
2012042011-11-10  Pavel Feldman  <pfeldman@google.com>
201205
201206        Web Inspector: provide an id to the root inspector element for third party UA styling.
201207        https://bugs.webkit.org/show_bug.cgi?id=72094
201208
201209        Reviewed by Yury Semikhatsky.
201210
201211        * inspector/front-end/inspector.html:
201212
2012132011-11-10  Andy Estes  <aestes@apple.com>
201214
201215        WebKitCSSShaderValue.h is not a member of the WebCore target
201216        https://bugs.webkit.org/show_bug.cgi?id=72093
201217
201218        Reviewed by Dan Bernstein.
201219
201220        * WebCore.xcodeproj/project.pbxproj: Make WebKitCSSShaderValue.h a
201221        member of the WebCore target, and make it a project header.
201222
2012232011-11-10  Dan Bernstein  <mitz@apple.com>
201224
201225        Disabling assertions breaks the debug build
201226        https://bugs.webkit.org/show_bug.cgi?id=72091
201227
201228        Reviewed by Geoff Garen.
201229
201230        * platform/graphics/BitmapImage.cpp:
201231        (WebCore::BitmapImage::didDecodeProperties): Guarded the definition of local variables that are
201232        only used in an assertion correctly.
201233        * platform/graphics/gpu/TilingData.h: Changed ASSERT to ASSERT_UNUSED.
201234        (WebCore::TilingData::assertTile):
201235        * rendering/RenderInline.cpp:
201236        (WebCore::RenderInline::willBeDestroyed): Guarded the definition of a local variable that is
201237        only used in an assertion correctly.
201238        * rendering/svg/RenderSVGResourceClipper.cpp:
201239        (WebCore::RenderSVGResourceClipper::applyResource): Changed ASSERT to ASSERT_UNUSED.
201240        * rendering/svg/RenderSVGResourceFilter.cpp:
201241        (WebCore::RenderSVGResourceFilter::applyResource): Changed ASSERT to ASSERT_UNUSED.
201242        (WebCore::RenderSVGResourceFilter::postApplyResource): Changed ASSERT to ASSERT_UNUSED.
201243        * rendering/svg/RenderSVGResourceMasker.cpp:
201244        (WebCore::RenderSVGResourceMasker::applyResource): Changed ASSERT to ASSERT_UNUSED.
201245
2012462011-11-10  Daniel Cheng  <dcheng@chromium.org>
201247
201248        [chromium] Add plumbing for JS to write to clipboard in copy/cut events.
201249        https://bugs.webkit.org/show_bug.cgi?id=71414
201250
201251        Reviewed by Darin Fisher.
201252
201253        No new tests since no new functionality enabled yet.
201254
201255        * platform/chromium/PasteboardChromium.cpp:
201256        (WebCore::Pasteboard::writeClipboard):
201257        * platform/chromium/PlatformSupport.h:
201258
2012592011-11-10  Daniel Cheng  <dcheng@chromium.org>
201260
201261        Atomically update the system clipboard for copy/cut events
201262        https://bugs.webkit.org/show_bug.cgi?id=40515
201263
201264        Reviewed by David Levin.
201265
201266        This change consolidates the system pasteboard mutation logic into dispatchCPPEvent() rather
201267        than having it scattered throughout tryDHTMLCopy/tryDHTMLCut and the various Clipboard*
201268        classes. This allows us to ensure that the system pasteboard remains in a consistent state
201269        even if there's an exception thrown during event handling, and it also lays the ground work
201270        for allowing pages to prevent copy/cut without causing the system pasteboard to be cleared.
201271
201272        No new tests, since any layout test would be flaky since it would depend on and affect
201273        global system state.
201274
201275        * editing/Editor.cpp:
201276        (WebCore::Editor::tryDHTMLCopy): Move Pasteboard::clear() call to dispatchCPPEvent().
201277        (WebCore::Editor::tryDHTMLCut): Ditto.
201278        (WebCore::Editor::dispatchCPPEvent):
201279        Only persist Clipboard mutations to the system pasteboard if the event was dispatched
201280        successfully and default processing was prevented.
201281        * editing/mac/EditorMac.mm:
201282        (WebCore::Editor::newGeneralClipboard):
201283        When creating a Clipboard for copy/cut, back it with a unique instance of NSPasteboard to
201284        buffer pasteboard mutations.
201285        * platform/Pasteboard.h:
201286        * platform/chromium/PasteboardChromium.cpp:
201287        (WebCore::Pasteboard::writeClipboard):
201288        * platform/efl/PasteboardEfl.cpp:
201289        (WebCore::Pasteboard::writeClipboard):
201290        * platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardGtk.
201291        (WebCore::ClipboardGtk::setData):
201292        * platform/gtk/ClipboardGtk.h:
201293        (WebCore::ClipboardGtk::clipboard):
201294        * platform/gtk/PasteboardGtk.cpp:
201295        (WebCore::Pasteboard::writeClipboard):
201296        * platform/mac/PasteboardMac.mm:
201297        (WebCore::Pasteboard::writeClipboard):
201298        Implement logic to flush data from temporary NSPasteboard to system pasteboard.
201299        * platform/gtk/ClipboardGtk.cpp: Moved pasteboard writeback to PasteboardQt.
201300        (WebCore::ClipboardGtk::setData):
201301        * platform/qt/PasteboardQt.cpp:
201302        (WebCore::Pasteboard::writeClipboard):
201303        * platform/win/PasteboardWin.cpp:
201304        (WebCore::Pasteboard::writeClipboard):
201305        * platform/wince/PasteboardWinCE.cpp:
201306        (WebCore::Pasteboard::writeClipboard):
201307        * platform/wx/PasteboardWx.cpp:
201308        (WebCore::Pasteboard::writeClipboard):
201309
2013102011-11-10  Julien Chaffraix  <jchaffraix@webkit.org>
201311
201312        RenderTableSection's recalcCell logic is doing too much work
201313        https://bugs.webkit.org/show_bug.cgi?id=71986
201314
201315        Reviewed by Darin Adler.
201316
201317        No change in behavior expected so no test.
201318
201319        r98738 and r98980 missed the point that Vector::clear() does not touch
201320        the internal buffer. Thus calling clear() would keep the memory and properly
201321        reset the size().
201322
201323        Due to how the code worked, after r98980 the code would end up resetting some
201324        of RowStruct field twice: once when growing and the other one when calling
201325        fillRowsWithDefaultStartingAtPosition.
201326
201327        This change make the code use Vector::clear and simplified the recalcCells
201328        logic knowing that growing the Vector will properly initialize most of the
201329        RowStruct fields (with RowStruct constructor).
201330
201331        * rendering/RenderTableSection.cpp:
201332        (WebCore::RenderTableSection::addChild):
201333        (WebCore::RenderTableSection::addCell):
201334        Updated after ensureRows signature change.
201335
201336        (WebCore::RenderTableSection::ensureRows):
201337        Removed the overflow check as it was making some assumption as to how the
201338        Vector worked. If we want to implement a limit, we may do it differently.
201339        Also inlined the part of fillRowsWithDefaultStartingAtPosition that grows
201340        the columns to match our current representation. The rest of the function's
201341        initialization is handled by the constructor already.
201342
201343        (WebCore::RenderTableSection::recalcCells):
201344        Use clear() as it keeps the buffer and just resets the size. Also shrinkToFit
201345        at the end as we may have lost some rows.
201346
201347        * rendering/RenderTableSection.h:
201348        (WebCore::RenderTableSection::CellStruct::CellStruct):
201349        Fixed the style of the constructor.
201350
201351        (WebCore::RenderTableSection::RowStruct::RowStruct):
201352        Added an explicit constructor (which is equivalent to the default one)
201353        but underlines what we expect.
201354
2013552011-11-10  Enrica Casucci  <enrica@apple.com>
201356
201357        ASSERT when outdenting styled line break.
201358        https://bugs.webkit.org/show_bug.cgi?id=72069
201359        <rdar://problem/10429739>
201360
201361        Reviewed by Ryosuke Niwa.
201362
201363        When outdenting a line break that has some inline style, we don't consider
201364        the enclosing elements that provide the style.
201365        This causes the splitting to occur in the wrong position,
201366        triggering the assert.
201367         
201368        Test: editing/execCommand/outdent-break-with-style.html
201369
201370        * editing/IndentOutdentCommand.cpp:
201371        (WebCore::IndentOutdentCommand::outdentParagraph): The fix consists
201372        in choosing the highest inline ancestor as splitting point.
201373        * editing/htmlediting.cpp:
201374        (WebCore::isInline): Added.
201375        * editing/htmlediting.h: Added isInline.
201376
2013772011-11-10  Dean Jackson  <dino@apple.com>
201378
201379        Remove effectBoundingBoxMode from CSS Filters
201380        https://bugs.webkit.org/show_bug.cgi?id=72058
201381
201382        Reviewed by Simon Fraser.
201383
201384        As suggested by Nikolas, we don't need this virtual method any more.
201385
201386        * rendering/FilterEffectRenderer.h:
201387
2013882011-11-10  David Hyatt  <hyatt@apple.com>
201389
201390        https://bugs.webkit.org/show_bug.cgi?id=72060
201391        
201392        [CSS Line Grid] Add support for the line-grid-snap property to control snapping to the nearest
201393        enclosing grid.
201394
201395        Reviewed by Dan Bernstein.
201396
201397        Added fast/line-grid/line-grid-snap-parsing.html.
201398
201399        * css/CSSComputedStyleDeclaration.cpp:
201400        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
201401        * css/CSSParser.cpp:
201402        (WebCore::CSSParser::parseValue):
201403        * css/CSSPrimitiveValueMappings.h:
201404        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
201405        (WebCore::CSSPrimitiveValue::operator LineGridSnap):
201406        * css/CSSProperty.cpp:
201407        (WebCore::CSSProperty::isInheritedProperty):
201408        * css/CSSPropertyNames.in:
201409        * css/CSSStyleSelector.cpp:
201410        (WebCore::CSSStyleSelector::applyProperty):
201411        * css/CSSValueKeywords.in:
201412        * rendering/style/RenderStyle.cpp:
201413        (WebCore::RenderStyle::diff):
201414        * rendering/style/RenderStyle.h:
201415        (WebCore::InheritedFlags::lineGridSnap):
201416        (WebCore::InheritedFlags::setLineGridSnap):
201417        (WebCore::InheritedFlags::initialLineGridSnap):
201418        * rendering/style/RenderStyleConstants.h:
201419        * rendering/style/StyleRareInheritedData.cpp:
201420        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
201421        (WebCore::StyleRareInheritedData::operator==):
201422        * rendering/style/StyleRareInheritedData.h:
201423
2014242011-11-10  Kentaro Hara  <haraken@chromium.org>
201425
201426        CodeGeneratorV8.pm can generate Event constructors
201427        https://bugs.webkit.org/show_bug.cgi?id=72055
201428
201429        Reviewed by Adam Barth.
201430
201431        This patch makes CodeGeneratorV8.pm generate Event constructors
201432        and replaces a custom constructor of Event with the generated one.
201433        After this patch is landed without regression,
201434        I will replace custom constructors of all other Events.
201435        This patch introduces two new IDLs:
201436
201437        - [ConstructorTemplate=Event] IDL indicates that CodeGenerator should
201438        generate an Event constructor.
201439        - [InitializedByConstructor] IDL on an attribute indicates that
201440        the attribute can be initialized by the constructor.
201441
201442        Tests: fast/events/constructors/event-constructors.html
201443               fast/events/constructors/custom-event-constructor.html
201444               fast/events/constructors/progress-event-constructor.html
201445
201446        * bindings/scripts/CodeGeneratorV8.pm:
201447        (GenerateHeader): Added a header for fillXXXXEventInit(...).
201448        (IsConstructable): Judges if a given interface is constructable.
201449        (IsConstructorTemplate): Judges if a given interface has a given template, e.g. judges if an interface has [ConstructorTemplate=Event].
201450        (GenerateEventConstructorCallback): Generates an Event constructor. The generated code is the same as the code that had been written in V8EventConstructors.cpp.
201451        (GenerateImplementation): Generates an Event constructor if [ConstructorTemplate=Event] is specified.
201452        * dom/Event.idl: Added [ConstructorTemplate=Event] IDL. Added [InitializedByConstructor] IDL to attributes that can be initialized by a constructor.
201453
201454        * bindings/scripts/test/TestEventConstructor.idl: Added a new run-bindings-test.
201455        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.cpp: Updated a run-bindings-tests result.
201456        (WebDOMTestEventConstructor::WebDOMTestEventConstructorPrivate::WebDOMTestEventConstructorPrivate):
201457        (WebDOMTestEventConstructor::WebDOMTestEventConstructor):
201458        (WebDOMTestEventConstructor::operator=):
201459        (WebDOMTestEventConstructor::impl):
201460        (WebDOMTestEventConstructor::~WebDOMTestEventConstructor):
201461        (WebDOMTestEventConstructor::attr1):
201462        (WebDOMTestEventConstructor::attr2):
201463        (toWebCore):
201464        (toWebKit):
201465        * bindings/scripts/test/CPP/WebDOMTestEventConstructor.h: Ditto.
201466        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.cpp: Ditto.
201467        (WebKit::kit):
201468        (webkit_dom_test_event_constructor_get_attr1):
201469        (webkit_dom_test_event_constructor_get_attr2):
201470        (WebKit::core):
201471        (webkit_dom_test_event_constructor_finalize):
201472        (webkit_dom_test_event_constructor_set_property):
201473        (webkit_dom_test_event_constructor_get_property):
201474        (webkit_dom_test_event_constructor_constructed):
201475        (webkit_dom_test_event_constructor_class_init):
201476        (webkit_dom_test_event_constructor_init):
201477        (WebKit::wrapTestEventConstructor):
201478        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructor.h: Ditto.
201479        * bindings/scripts/test/GObject/WebKitDOMTestEventConstructorPrivate.h: Ditto.
201480        * bindings/scripts/test/JS/JSTestEventConstructor.cpp: Ditto.
201481        (WebCore::JSTestEventConstructorConstructor::JSTestEventConstructorConstructor):
201482        (WebCore::JSTestEventConstructorConstructor::finishCreation):
201483        (WebCore::JSTestEventConstructorConstructor::getOwnPropertySlot):
201484        (WebCore::JSTestEventConstructorConstructor::getOwnPropertyDescriptor):
201485        (WebCore::JSTestEventConstructorConstructor::getConstructData):
201486        (WebCore::JSTestEventConstructorPrototype::self):
201487        (WebCore::JSTestEventConstructor::JSTestEventConstructor):
201488        (WebCore::JSTestEventConstructor::finishCreation):
201489        (WebCore::JSTestEventConstructor::createPrototype):
201490        (WebCore::JSTestEventConstructor::getOwnPropertySlot):
201491        (WebCore::JSTestEventConstructor::getOwnPropertyDescriptor):
201492        (WebCore::jsTestEventConstructorAttr1):
201493        (WebCore::jsTestEventConstructorAttr2):
201494        (WebCore::jsTestEventConstructorConstructor):
201495        (WebCore::JSTestEventConstructor::getConstructor):
201496        (WebCore::toJS):
201497        (WebCore::toTestEventConstructor):
201498        * bindings/scripts/test/JS/JSTestEventConstructor.h: Ditto.
201499        (WebCore::JSTestEventConstructor::create):
201500        (WebCore::JSTestEventConstructor::createStructure):
201501        (WebCore::JSTestEventConstructor::impl):
201502        (WebCore::JSTestEventConstructorPrototype::create):
201503        (WebCore::JSTestEventConstructorPrototype::createStructure):
201504        (WebCore::JSTestEventConstructorPrototype::JSTestEventConstructorPrototype):
201505        (WebCore::JSTestEventConstructorConstructor::create):
201506        (WebCore::JSTestEventConstructorConstructor::createStructure):
201507        * bindings/scripts/test/ObjC/DOMTestEventConstructor.h: Ditto.
201508        * bindings/scripts/test/ObjC/DOMTestEventConstructor.mm: Ditto.
201509        (-[DOMTestEventConstructor dealloc]):
201510        (-[DOMTestEventConstructor finalize]):
201511        (-[DOMTestEventConstructor attr1]):
201512        (-[DOMTestEventConstructor attr2]):
201513        (core):
201514        (kit):
201515        * bindings/scripts/test/ObjC/DOMTestEventConstructorInternal.h: Ditto.
201516        * bindings/scripts/test/V8/V8TestEventConstructor.cpp: Ditto.
201517        (WebCore::TestEventConstructorInternal::V8_USE):
201518        (WebCore::TestEventConstructorInternal::attr1AttrGetter):
201519        (WebCore::TestEventConstructorInternal::attr2AttrGetter):
201520        (WebCore::ConfigureV8TestEventConstructorTemplate):
201521        (WebCore::V8TestEventConstructor::GetRawTemplate):
201522        (WebCore::V8TestEventConstructor::GetTemplate):
201523        (WebCore::V8TestEventConstructor::HasInstance):
201524        (WebCore::V8TestEventConstructor::wrapSlow):
201525        (WebCore::V8TestEventConstructor::derefObject):
201526        * bindings/scripts/test/V8/V8TestEventConstructor.h: Ditto.
201527        (WebCore::V8TestEventConstructor::toNative):
201528        (WebCore::V8TestEventConstructor::existingWrapper):
201529        (WebCore::V8TestEventConstructor::wrap):
201530        (WebCore::toV8):
201531        * bindings/scripts/test/V8/V8TestInterface.h: Ditto.
201532        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
201533        * bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
201534        * bindings/scripts/test/V8/V8TestObj.h: Ditto.
201535        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
201536        * bindings/v8/custom/V8EventConstructors.cpp: Removed a custom constructor of Event.
201537
2015382011-11-10  Benjamin Poulain  <benjamin@webkit.org>
201539
201540        Do not share CSS style for MediaElement backed by a plugin
201541        https://bugs.webkit.org/show_bug.cgi?id=72005
201542
201543        Reviewed by Simon Fraser.
201544
201545        With PLUGIN_PROXY_FOR_VIDEO, the RenderMedia elements are rendered through RenderBoxModelObject.
201546        Like the embedded element, the proxied media element can gain a layer outside a change of style.
201547
201548        This patch prevents style sharing for the Audio and Video elements when PLUGIN_PROXY_FOR_VIDEO
201549        is enabled.
201550
201551        This path is covered by exising tests. In particular, http/tests/misc/empty-urls.html
201552        ASSERT() because of this.
201553
201554        * css/CSSStyleSelector.cpp:
201555        (WebCore::CSSStyleSelector::canShareStyleWithElement):
201556
2015572011-11-10  Dean Jackson  <dino@apple.com>
201558
201559        Move/copy/merge SVG filter rendering code to generic rendering
201560        https://bugs.webkit.org/show_bug.cgi?id=68472
201561
201562        Reviewed by Simon Fraser.
201563
201564        Implement an extremely simple version of the filter
201565        chain. Only a single hue-rotate filter is supported
201566        at the moment. The change in this commit was to insert a new
201567        step in RenderLayer's painting to capture the content to an
201568        offscreen ImageBuffer, apply a filter operation on that buffer,
201569        and then draw the result in place of the original element. The full
201570        implementation will need something like the SVGFilterBuilder
201571        but this is a good prototype of effects on HTML content.
201572        It's an open question at the moment as to when the filter
201573        effect should apply: after masking, after overflow, after outline,
201574        etc. Currently the filter applies at the end of the paintLayer code.
201575        This will likely change.
201576        
201577        Added a FilterEffectRenderer class that is the root of the filter
201578        tree. At the moment it holds the offscreen context and
201579        the existing paint context.
201580        
201581        Other than rendering, the rest of this patch adds tests
201582        to make sure any element with a filter style will become
201583        a RenderLayer. In order to avoid a lot of duplicated code
201584        around the more complex logic tests, RenderStyle::hasFilter
201585        is available outside ENABLE(CSS_FILTERS), but returns false
201586        in those situations.
201587
201588        Tests: css3/filters/add-filter-rendering.html
201589               css3/filters/remove-filter-rendering.html
201590               css3/filters/simple-filter-rendering.html
201591
201592        * CMakeLists.txt:
201593        * GNUmakefile.list.am:
201594        * WebCore.gypi:
201595        * WebCore.vcproj/WebCore.vcproj:
201596        * WebCore.xcodeproj/project.pbxproj:
201597        * css/CSSStyleSelector.cpp:
201598        (WebCore::CSSStyleSelector::adjustRenderStyle):
201599        * rendering/FilterEffectRenderer.cpp: Added.
201600        (WebCore::FilterEffectRenderer::FilterEffectRenderer):
201601        (WebCore::FilterEffectRenderer::~FilterEffectRenderer):
201602        * rendering/FilterEffectRenderer.h: Added.
201603        (WebCore::FilterEffectRenderer::create):
201604        (WebCore::FilterEffectRenderer::setSourceImageRect):
201605        (WebCore::FilterEffectRenderer::sourceImageRect):
201606        (WebCore::FilterEffectRenderer::setFilterRegion):
201607        (WebCore::FilterEffectRenderer::filterRegion):
201608        (WebCore::FilterEffectRenderer::effectBoundingBoxMode):
201609        (WebCore::FilterEffectRenderer::setEffect):
201610        (WebCore::FilterEffectRenderer::effect):
201611        (WebCore::FilterEffectRenderer::setSourceGraphic):
201612        (WebCore::FilterEffectRenderer::sourceGraphic):
201613        * rendering/RenderBoxModelObject.h:
201614        (WebCore::RenderBoxModelObject::requiresLayer):
201615        * rendering/RenderLayer.cpp:
201616        (WebCore::RenderLayer::paintLayer):
201617        (WebCore::RenderLayer::shouldBeNormalFlowOnly):
201618        (WebCore::RenderLayer::styleChanged):
201619        (WebCore::RenderLayer::updateOrRemoveFilterEffect):
201620        (WebCore::RenderLayer::updateFilterBackingStore):
201621        * rendering/RenderLayer.h:
201622        (WebCore::RenderLayer::hasFilter):
201623        * rendering/RenderObject.h:
201624        (WebCore::RenderObject::hasFilter):
201625        * rendering/RenderTableRow.h:
201626        (WebCore::RenderTableRow::requiresLayer):
201627        * rendering/style/RenderStyle.cpp:
201628        (WebCore::RenderStyle::diff):
201629        * rendering/style/RenderStyle.h:
201630        (WebCore::InheritedFlags::hasFilter):
201631
2016322011-11-10  Xiaomei Ji  <xji@chromium.org>
201633
201634        --webkit-visual-word crash when create legacy position for shadowRoot
201635        https://bugs.webkit.org/show_bug.cgi?id=71600
201636    
201637        Reviewed by Ryosuke Niwa.
201638
201639        Inside textarea, the shadowed text node's previous leaf node could be the
201640        shadowRoot node, which cause assert exception in creating legacy position based
201641        on such node. Exit previousRootInlineBox() when reach shadowRoot node.
201642
201643        It does not cause problem when looking for text node's next leaf node. Adding
201644        the same checking in nextRootInlineBox just to be safe.
201645
201646        Test: editing/selection/move-by-word-visually-crash-test-textarea.html
201647
201648        * editing/visible_units.cpp:
201649        (WebCore::previousRootInlineBox):
201650        (WebCore::nextRootInlineBox):
201651
2016522011-11-10  Dean Jackson  <dino@apple.com>
201653
201654        Parse drop-shadow() filter syntax
201655        https://bugs.webkit.org/show_bug.cgi?id=69108
201656
201657        Reviewed by Simon Fraser.
201658
201659        Support parsing of the shadow syntax inside drop-shadow
201660        and returning the correct computed style for a filter that
201661        has such a function.
201662
201663        * css/CSSComputedStyleDeclaration.cpp:
201664        (WebCore::CSSComputedStyleDeclaration::valueForFilter):
201665            Move this from a static function (computedFilter) to a method on
201666            CSSComputedStyleDeclaration, which allows us to call the
201667            existing method for shadow styles.
201668        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
201669        * css/CSSComputedStyleDeclaration.h:
201670        * css/CSSParser.cpp:
201671        (WebCore::CSSParser::parseValue):
201672        (WebCore::CSSParser::parseShadow):
201673            Previously parseShadow expected to be called with the entire
201674            value of a property, not just to look at a restricted subset.
201675            Change parseShadow to take a CSSParserValueList as parameter,
201676            allowing it to be used to parse the arguments to the drop-shadow
201677            function. Also, return the CSSValueList rather than injecting
201678            it directly into the property value.
201679        (WebCore::filterInfoForName):
201680        (WebCore::CSSParser::parseFilter):
201681            Support for the drop-shadow() function.
201682        * css/CSSParser.h:
201683        * css/CSSStyleSelector.cpp:
201684        (WebCore::CSSStyleSelector::createFilterOperations):
201685        * css/SVGCSSParser.cpp:
201686        (WebCore::CSSParser::parseSVGValue):
201687            Updated to use the new arguments for parseShadow.
201688
2016892011-11-10  Vsevolod Vlasov  <vsevik@chromium.org>
201690
201691        Web Inspector: ApplicationCache UI is confusing and incorrect.
201692        https://bugs.webkit.org/show_bug.cgi?id=64581
201693
201694        Reviewed by Pavel Feldman.
201695
201696        Fixed resources panel application cache UI.
201697        Manifest urls are now shown under application cache tree element.
201698        Under each manifest url tree element frames using relevant application
201699        cache are listed. Application cache detailed views could be opened for each
201700        frame.
201701
201702        Test: http/tests/inspector/resource-tree/appcache-iframe-manifests.html
201703
201704        * English.lproj/localizedStrings.js:
201705        * inspector/Inspector.json:
201706        * inspector/InspectorApplicationCacheAgent.cpp:
201707        (WebCore::InspectorApplicationCacheAgent::InspectorApplicationCacheAgent):
201708        (WebCore::InspectorApplicationCacheAgent::setFrontend):
201709        (WebCore::InspectorApplicationCacheAgent::updateApplicationCacheStatus):
201710        (WebCore::InspectorApplicationCacheAgent::networkStateChanged):
201711        (WebCore::InspectorApplicationCacheAgent::enable):
201712        (WebCore::InspectorApplicationCacheAgent::getFramesWithManifests):
201713        (WebCore::InspectorApplicationCacheAgent::assertFrameWithDocumentLoader):
201714        (WebCore::InspectorApplicationCacheAgent::getManifestForFrame):
201715        (WebCore::InspectorApplicationCacheAgent::getApplicationCacheForFrame):
201716        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCache):
201717        (WebCore::InspectorApplicationCacheAgent::buildObjectForApplicationCacheResource):
201718        * inspector/InspectorApplicationCacheAgent.h:
201719        * inspector/InspectorController.cpp:
201720        (WebCore::InspectorController::InspectorController):
201721        * inspector/InspectorPageAgent.cpp:
201722        (WebCore::InspectorPageAgent::resourceContent):
201723        (WebCore::InspectorPageAgent::getResourceContent):
201724        (WebCore::InspectorPageAgent::assertFrame):
201725        (WebCore::InspectorPageAgent::assertDocumentLoader):
201726        * inspector/InspectorPageAgent.h:
201727        * inspector/InspectorStyleSheet.cpp:
201728        (WebCore::InspectorStyleSheet::resourceStyleSheetText):
201729        * inspector/front-end/ApplicationCacheItemsView.js:
201730        (WebInspector.ApplicationCacheItemsView):
201731        (WebInspector.ApplicationCacheItemsView.prototype._update):
201732        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
201733        (WebInspector.ApplicationCacheItemsView.prototype._populateDataGrid):
201734        * inspector/front-end/ApplicationCacheModel.js:
201735        (WebInspector.ApplicationCacheModel):
201736        (WebInspector.ApplicationCacheModel.prototype._frameNavigated):
201737        (WebInspector.ApplicationCacheModel.prototype._frameDetached):
201738        (WebInspector.ApplicationCacheModel.prototype._mainFrameNavigated):
201739        (WebInspector.ApplicationCacheModel.prototype._manifestForFrameLoaded):
201740        (WebInspector.ApplicationCacheModel.prototype._framesWithManifestsLoaded):
201741        (WebInspector.ApplicationCacheModel.prototype._frameManifestUpdated):
201742        (WebInspector.ApplicationCacheModel.prototype._frameManifestRemoved):
201743        (WebInspector.ApplicationCacheModel.prototype.frameManifestURL):
201744        (WebInspector.ApplicationCacheModel.prototype.frameManifestStatus):
201745        (WebInspector.ApplicationCacheModel.prototype._statusUpdated):
201746        (WebInspector.ApplicationCacheModel.prototype.requestApplicationCache):
201747        (WebInspector.ApplicationCacheModel.prototype._networkStateUpdated):
201748        (WebInspector.ApplicationCacheDispatcher.prototype.applicationCacheStatusUpdated):
201749        (WebInspector.ApplicationCacheDispatcher.prototype.networkStateUpdated):
201750        * inspector/front-end/ResourceTreeModel.js:
201751        (WebInspector.ResourceTreeModel.prototype.frameForId):
201752        * inspector/front-end/ResourcesPanel.js:
201753        (WebInspector.ResourcesPanel.prototype.wasShown):
201754        (WebInspector.ResourcesPanel.prototype.reset):
201755        (WebInspector.ResourcesPanel.prototype._frameNavigated):
201756        (WebInspector.ResourcesPanel.prototype.addDocumentURL):
201757        (WebInspector.ResourcesPanel.prototype.showApplicationCache):
201758        (WebInspector.ResourcesPanel.prototype._populateApplicationCacheTree):
201759        (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestAdded):
201760        (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestRemoved):
201761        (WebInspector.ResourcesPanel.prototype._applicationCacheFrameManifestStatusChanged):
201762        (WebInspector.ResourcesPanel.prototype._applicationCacheNetworkStateChanged):
201763        (WebInspector.ApplicationCacheManifestTreeElement):
201764        (WebInspector.ApplicationCacheManifestTreeElement.prototype.get itemURL):
201765        (WebInspector.ApplicationCacheManifestTreeElement.prototype.get manifestURL):
201766        (WebInspector.ApplicationCacheManifestTreeElement.prototype.onselect):
201767        (WebInspector.ApplicationCacheFrameTreeElement):
201768        (WebInspector.ApplicationCacheFrameTreeElement.prototype.get itemURL):
201769        (WebInspector.ApplicationCacheFrameTreeElement.prototype.get frameId):
201770        (WebInspector.ApplicationCacheFrameTreeElement.prototype.get manifestURL):
201771        (WebInspector.ApplicationCacheFrameTreeElement.prototype._refreshTitles):
201772        (WebInspector.ApplicationCacheFrameTreeElement.prototype.frameNavigated):
201773        (WebInspector.ApplicationCacheFrameTreeElement.prototype.onselect):
201774
2017752011-11-10  Andreas Kling  <kling@webkit.org>
201776
201777        Shrink CSSMutableStyleDeclaration.
201778        <http://webkit.org/b/72032>
201779
201780        Reviewed by Antti Koivisto.
201781
201782        Move m_strictParsing and m_iteratorCount (debug only) up into
201783        CSSStyleDeclaration, effectively shaving one CPU word (4/8 bytes)
201784        off of every CSSMutableStyleDeclaration.
201785
201786        * css/CSSMutableStyleDeclaration.cpp:
201787        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
201788        * css/CSSMutableStyleDeclaration.h:
201789        * css/CSSStyleDeclaration.cpp:
201790        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
201791        * css/CSSStyleDeclaration.h:
201792
2017932011-11-10  Balazs Kelemen  <kbalazs@webkit.org>
201794
201795        [Qt] X11 plugins need to be reworked for Qt5
201796        https://bugs.webkit.org/show_bug.cgi?id=70023
201797
201798        Reviewed by Simon Hausmann.
201799
201800        Rework our basic plugin support in a way that does
201801        not need a bridge between Qt and X. The solution is
201802        based on getting the content drawed by the plugin
201803        from the server as an image and creating a QImage
201804        from it.
201805
201806        No new tests. Existing plugin test are sufficient.
201807
201808        * Target.pri:
201809        * bridge/npruntime_internal.h: Added yet another undef
201810        to fix build with Qt5 + X11 headers.
201811        * plugins/qt/QtX11ImageConversion.cpp: Added.
201812        (WebCore::qimageFromXImage):
201813        * plugins/qt/QtX11ImageConversion.h: Added.
201814        Added a helper function to create a QImage from an XImage.
201815        Put it in a new file into WebCore to avoid copyright issues - as
201816        the code has been taken directly from Qt - and to be able to resuse
201817        it for the WK1 plugin support in the future.
201818
2018192011-11-10  Andreas Kling  <kling@webkit.org>
201820
201821        Cache and reuse HTMLCollections exposed by Document.
201822        <http://webkit.org/b/71956>
201823
201824        Reviewed by Antti Koivisto.
201825
201826        Let Document cache the various HTMLCollection objects it exposes.
201827        They're created on-demand and stored in a tight Vector.
201828        This is a behavior change, since the lifetime of returned collections
201829        is now tied to the lifetime of the Document. However, this matches the
201830        current behavior of Firefox and Opera.
201831
201832        This reduces memory consumption by ~800 kB (on 64-bit) when loading
201833        the full HTML5 spec. document.links was called 34001 times, yielding
201834        34001 separate HTMLCollections, and now we only need 1.
201835
201836        The document.all collection retains the old behavior, as caching it
201837        would be a bit more complicated.
201838
201839        * dom/Document.cpp:
201840        (WebCore::Document::Document):
201841        (WebCore::Document::collection):
201842        (WebCore::Document::images):
201843        (WebCore::Document::applets):
201844        (WebCore::Document::embeds):
201845        (WebCore::Document::plugins):
201846        (WebCore::Document::objects):
201847        (WebCore::Document::scripts):
201848        (WebCore::Document::links):
201849        (WebCore::Document::forms):
201850        (WebCore::Document::anchors):
201851        * dom/Document.h:
201852        * html/CollectionType.h:
201853
2018542011-11-10  Alexander Pavlov  <apavlov@chromium.org>
201855
201856        Web Inspector: [SuggestBox] Correctly position the box under the first character of the suggestion prefix.
201857        https://bugs.webkit.org/show_bug.cgi?id=72022
201858
201859        Reviewed by Pavel Feldman.
201860
201861        On any suggest box position update (updateSuggestions invocation) an anchor is created at the beginning
201862        of the user-entered word, and its box is ultimately passed into _updateBoxPosition to be used as the
201863        actual anchor box (instead of the input element box).
201864
201865        * inspector/front-end/TextPrompt.js:
201866        (WebInspector.TextPrompt.prototype._boxForAnchorAtStart):
201867        (WebInspector.TextPrompt.prototype._completionsReady):
201868        (WebInspector.TextPrompt.SuggestBox):
201869        (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
201870        (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPositionWithExistingAnchor):
201871        (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
201872        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
201873        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
201874        * inspector/front-end/utilities.js:
201875        (AnchorBox):
201876        (Element.prototype.offsetRelativeToWindow):
201877
2018782011-11-10  Ryuan Choi  <ryuan.choi@samsung.com>
201879
201880        [CMAKE] Refactoring CMakeLists${PORT}.txt to Platform${PORT}.cmake
201881        https://bugs.webkit.org/show_bug.cgi?id=56705
201882
201883        Reviewed by Adam Roben.
201884
201885        No new tests, just renaming CMakeLists*.txt to Platform*.cmake.
201886
201887        * CMakeLists.txt:
201888        * PlatformEfl.cmake: Renamed from Source/WebCore/CMakeListsEfl.txt.
201889        * PlatformWinCE.cmake: Renamed from Source/WebCore/CMakeListsWinCE.txt.
201890
2018912011-11-10  Andrey Kosyakov  <caseq@chromium.org>
201892
201893        Web Inspector: wrong JSON.stringify used in webInspector.inspectedWindow.eval() backend
201894        https://bugs.webkit.org/show_bug.cgi?id=63083
201895
201896        Reviewed by Pavel Feldman.
201897
201898        * inspector/front-end/ExtensionAPI.js:
201899        (injectedExtensionAPI.InspectedWindow.prototype.eval):
201900        * inspector/front-end/ExtensionServer.js:
201901        (WebInspector.ExtensionServer.prototype._onEvaluateOnInspectedPage):
201902
2019032011-11-10  Florin Malita  <fmalita@google.com>
201904
201905        SVG object covers CSS background in HTML foreignObject
201906        https://bugs.webkit.org/show_bug.cgi?id=58417
201907
201908        Reviewed by Simon Fraser.
201909
201910        Test: svg/foreignObject/background-render-phase.html
201911
201912        * rendering/svg/RenderSVGForeignObject.cpp:
201913        (WebCore::RenderSVGForeignObject::paint):
201914
201915            Paint SVG foreign objects atomically, following the same pattern as
201916            http://trac.webkit.org/browser/trunk/Source/WebCore/rendering/InlineBox.cpp#L209.
201917
2019182011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
201919
201920        Unreviewed, rolling out r99851.
201921        http://trac.webkit.org/changeset/99851
201922        https://bugs.webkit.org/show_bug.cgi?id=72029
201923
201924        Patch breaks Qt tests (Requested by schenney on #webkit).
201925
201926        * svg/SVGElementInstance.cpp:
201927        (WebCore::SVGElementInstance::~SVGElementInstance):
201928        (WebCore::SVGElementInstance::clearChildren):
201929        * svg/SVGElementInstance.h:
201930        (WebCore::SVGElementInstance::clearUseElements):
201931        * svg/SVGUseElement.cpp:
201932        (WebCore::SVGUseElement::detachInstance):
201933
2019342011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
201935
201936        [GTK] svg/as-image/svg-image-change-content-size.xhtml crashes
201937        https://bugs.webkit.org/show_bug.cgi?id=71932
201938
201939        Reviewed by Philippe Normand.
201940
201941        Null check m_page in drawSVGToImageBuffer(), just like all others methods do.
201942        As drawSVGToImageBuffer() is fired from a timer, it may get into this state under certain conditions, as seen on the 64bit gtk bot.
201943
201944        * svg/graphics/SVGImage.cpp:
201945        (WebCore::SVGImage::drawSVGToImageBuffer):
201946
2019472011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
201948
201949        Not reviewed. Rolling out part of r99854, which didn't belong there.
201950
201951        * svg/graphics/SVGImage.cpp:
201952        (WebCore::SVGImage::drawSVGToImageBuffer):
201953
2019542011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
201955
201956        Move unit resolving for all resources to rendering/
201957        https://bugs.webkit.org/show_bug.cgi?id=72011
201958
201959        Reviewed by Andreas Kling.
201960
201961        Remove maskBoundingBox()/filterBoundingBox(), to avoid doing length resolution in svg/.
201962        RenderSVGResource* now uses SVGLengthContext::resolveRectangle, to do this while laying out.
201963
201964        Move linear gradient start/end point, radial gradient focal/center point, radius calculations into
201965        their RenderSVGResource classes, cleanup code a bit.
201966
201967        Convert filters to use SVGLengthContext. Fix DRT dumps for filters, while I'm at it, to give
201968        meaningful values, when objectBoundingBox is used as primitive units, when applying to <text>/<tspan>s.
201969
201970        Several tests results need rebaselines on all platforms.
201971
201972        * platform/graphics/filters/Filter.h:
201973        * rendering/svg/RenderSVGInlineText.h:
201974        (WebCore::RenderSVGInlineText::objectBoundingBox):
201975        * rendering/svg/RenderSVGResourceFilter.cpp:
201976        (WebCore::RenderSVGResourceFilter::buildPrimitives):
201977        (WebCore::RenderSVGResourceFilter::applyResource):
201978        (WebCore::RenderSVGResourceFilter::resourceBoundingBox):
201979        * rendering/svg/RenderSVGResourceFilter.h:
201980        * rendering/svg/RenderSVGResourceFilterPrimitive.cpp:
201981        (WebCore::RenderSVGResourceFilterPrimitive::determineFilterPrimitiveSubregion):
201982        * rendering/svg/RenderSVGResourceGradient.cpp:
201983        (WebCore::RenderSVGResourceGradient::applyResource):
201984        * rendering/svg/RenderSVGResourceGradient.h:
201985        * rendering/svg/RenderSVGResourceLinearGradient.cpp:
201986        (WebCore::RenderSVGResourceLinearGradient::startPoint):
201987        (WebCore::RenderSVGResourceLinearGradient::endPoint):
201988        (WebCore::RenderSVGResourceLinearGradient::buildGradient):
201989        * rendering/svg/RenderSVGResourceLinearGradient.h:
201990        * rendering/svg/RenderSVGResourceMasker.cpp:
201991        (WebCore::RenderSVGResourceMasker::resourceBoundingBox):
201992        * rendering/svg/RenderSVGResourceRadialGradient.cpp:
201993        (WebCore::RenderSVGResourceRadialGradient::centerPoint):
201994        (WebCore::RenderSVGResourceRadialGradient::focalPoint):
201995        (WebCore::RenderSVGResourceRadialGradient::radius):
201996        (WebCore::RenderSVGResourceRadialGradient::adjustFocalPointIfNeeded):
201997        (WebCore::RenderSVGResourceRadialGradient::buildGradient):
201998        * rendering/svg/RenderSVGResourceRadialGradient.h:
201999        * rendering/svg/SVGRenderTreeAsText.cpp:
202000        (WebCore::writeSVGResourceContainer):
202001        * svg/SVGFilterElement.cpp:
202002        * svg/SVGFilterElement.h:
202003        * svg/SVGFilterPrimitiveStandardAttributes.cpp:
202004        (WebCore::SVGFilterPrimitiveStandardAttributes::setStandardAttributes):
202005        * svg/SVGFilterPrimitiveStandardAttributes.h:
202006        * svg/SVGLinearGradientElement.cpp:
202007        * svg/SVGLinearGradientElement.h:
202008        * svg/SVGMaskElement.cpp:
202009        * svg/SVGMaskElement.h:
202010        * svg/SVGRadialGradientElement.cpp:
202011        * svg/SVGRadialGradientElement.h:
202012        * svg/graphics/filters/SVGFilter.h:
202013        (WebCore::SVGFilter::filterRegionInUserSpace):
202014
2020152011-11-10  Stephen Chenney  <schenney@chromium.org>
202016
202017        Null deref when no use element exists for SVG element instance
202018        https://bugs.webkit.org/show_bug.cgi?id=59136
202019
202020        Cleans up the object when it is detached from the shadow DOM tree,
202021        rather than leaving it in a half-clean state with some nulled
202022        references but not others.
202023
202024        Reviewed by Nikolas Zimmermann.
202025
202026        Test: svg/custom/element-instance-held-by-js-crash.svg
202027
202028        * svg/SVGElementInstance.cpp:
202029        (WebCore::SVGElementInstance::~SVGElementInstance): Added a call to
202030        detach to clean up if deletion happens without a prior detach call (as
202031        when an entire tree is removed).
202032        (WebCore::SVGElementInstance::detach): New method that replaces other
202033        clean-up methods when the instance is removed from the shadow DOM.
202034        * svg/SVGElementInstance.h: Added new detach method and removed
202035        unnecessary clear methods.
202036        * svg/SVGUseElement.cpp:
202037        (WebCore::SVGUseElement::detachInstance): Changed calls to clear to
202038        instead detach.
202039
2020402011-11-10  Alexander Pavlov  <apavlov@chromium.org>
202041
202042        Web Inspector: Show media queries associated with specific CSS rules
202043        https://bugs.webkit.org/show_bug.cgi?id=65626
202044
202045        Reviewed by Pavel Feldman.
202046
202047        Test: inspector/styles/media-queries.html
202048
202049        * css/CSSGrammar.y:
202050        * css/CSSParser.cpp:
202051        (WebCore::CSSParser::updateLastMediaLine):
202052        * css/CSSParser.h:
202053        * css/MediaList.cpp:
202054        (WebCore::MediaList::MediaList):
202055        * css/MediaList.h:
202056        (WebCore::MediaList::lastLine):
202057        (WebCore::MediaList::setLastLine):
202058        * inspector/Inspector.json:
202059        * inspector/InspectorCSSAgent.cpp:
202060        (WebCore::InspectorCSSAgent::bindStyleSheet):
202061        (WebCore::InspectorCSSAgent::viaInspectorStyleSheet):
202062        * inspector/InspectorDOMAgent.cpp:
202063        (WebCore::InspectorDOMAgent::documentURLString):
202064        * inspector/InspectorDOMAgent.h:
202065        * inspector/InspectorStyleSheet.cpp:
202066        (WebCore::buildMediaObject):
202067        (WebCore::fillMediaListChain):
202068        (WebCore::InspectorStyleSheet::buildObjectForRule):
202069        * inspector/front-end/CSSStyleModel.js:
202070        (WebInspector.CSSRule):
202071        (WebInspector.CSSMedia):
202072        (WebInspector.CSSMedia.parsePayload):
202073        (WebInspector.CSSMedia.parseMediaArrayPayload):
202074        * inspector/front-end/ResourceUtils.js:
202075        (WebInspector.linkifyResourceAsNode):
202076        * inspector/front-end/StylesSidebarPane.js:
202077        (WebInspector.StylesSidebarPane.prototype._rebuildUpdate):
202078        (WebInspector.StylesSidebarPane.prototype._rebuildStyleRules):
202079        (WebInspector.StylePropertiesSection.prototype._handleEmptySpaceDoubleClick):
202080        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
202081        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
202082        * inspector/front-end/elementsPanel.css:
202083        (.styles-section .header .title .media, .styles-section .header .title .media .subtitle):
202084        (.styles-section .header .subtitle):
202085
2020862011-11-10  Alexander Pavlov  <apavlov@chromium.org>
202087
202088        Web Inspector: [SuggestBox] Do not display suggest box if editing in the middle of prompt unless a stop character follows
202089        https://bugs.webkit.org/show_bug.cgi?id=72018
202090
202091        Reviewed by Pavel Feldman.
202092
202093        * inspector/front-end/TextPrompt.js:
202094        (WebInspector.TextPrompt.prototype.complete):
202095
2020962011-11-10  Pavel Feldman  <pfeldman@google.com>
202097
202098        Web Inspector: do not highlight files larger than 10KLOC.
202099        https://bugs.webkit.org/show_bug.cgi?id=72025
202100
202101        This is a temporary measure while I am improving the highlighter
202102        footprint. Otherwise, highlighting pretty printed Gmail takes ~1.3G of RAM.
202103
202104        Reviewed by Yury Semikhatsky.
202105
202106        * inspector/front-end/TextEditorHighlighter.js:
202107        (WebInspector.TextEditorHighlighter.prototype.highlight):
202108        (WebInspector.TextEditorHighlighter.prototype.updateHighlight):
202109        * inspector/front-end/UISourceCode.js:
202110        (WebInspector.UISourceCode.prototype._didRequestContent):
202111
2021122011-11-10  Alpha Lam  <hclam@chromium.org>
202113
202114        [chromium] Scroll deltas are cleared during commit to the main thread
202115        https://bugs.webkit.org/show_bug.cgi?id=71916
202116
202117        Reviewed by James Robinson.
202118
202119        The patch keeps the scroll deltas and scroll position unchanged when
202120        committing to the main thread. After commit has completed on the main
202121        thread the submitted scroll deltas are then subtracted from the current
202122        scroll deltas on the impl thread.
202123
202124        Doing so allow scroll deltas to be available at all time which enables
202125        proper positioning for layers that are fixed-positioned to the
202126        container layer.
202127
202128        This patch is tested by the following unit tests:
202129        - CCLayerTreeHostImplTest.scrollDeltaRepeatedScrolls
202130          This test is modified to verify that scroll deltas and scroll position
202131          are unchanged during commit. And then after commit scroll deltas are
202132          subtracted correctly.
202133
202134        - CCLayerTreeHostTestScrollSimple.runMultiThread and
202135          CCLayerTreeHostTestScrollMultipleRedraw.runMultiThread
202136          These tests verifies that scroll deltas made on impl thread are
202137          committed to the main thread. The scroll deltas is eventually delegated
202138          to CCLayerTreeHostClient. When commit has completed the scroll deltas
202139          are subtracted correctly. There's no change to these two tests but they
202140          verify this patch maintains the overall behavior of scrolling.
202141
202142        * platform/graphics/chromium/LayerChromium.cpp:
202143        (WebCore::LayerChromium::applyScrollAndScale):
202144        * platform/graphics/chromium/LayerChromium.h:
202145        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
202146        (WebCore::CCLayerImpl::applyScrollAndScale):
202147        * platform/graphics/chromium/cc/CCLayerImpl.h:
202148        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
202149        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
202150        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
202151        (WebCore::applyScrollAndScaleInternal):
202152        (WebCore::CCLayerTreeHostCommon::applyScrollAndScale):
202153        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
202154        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
202155        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
202156        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
202157        (WebCore::CCThreadProxy::beginFrameAndCommit):
202158        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
202159        * platform/graphics/chromium/cc/CCThreadProxy.h:
202160
2021612011-11-10  Carlos Garcia Campos  <cgarcia@igalia.com>
202162
202163        Unreviewed. Fix make distcheck build.
202164
202165        * GNUmakefile.am: Add missing files.
202166        * GNUmakefile.list.am: Ditto.
202167
2021682011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
202169
202170        Deploy SVGLengthContext in more places
202171        https://bugs.webkit.org/show_bug.cgi?id=72012
202172
202173        Reviewed by Simon Hausmann.
202174
202175        Doesn't affect any tests.
202176
202177        * svg/SVGAnimatedLength.cpp:
202178        (WebCore::SVGAnimatedLengthAnimator::calculateFromAndByValues):
202179        (WebCore::SVGAnimatedLengthAnimator::calculateAnimatedValue):
202180        (WebCore::SVGAnimatedLengthAnimator::calculateDistance):
202181        * svg/SVGAnimatedLengthList.cpp:
202182        (WebCore::SVGAnimatedLengthListAnimator::calculateFromAndByValues):
202183        (WebCore::SVGAnimatedLengthListAnimator::calculateAnimatedValue):
202184
2021852011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
202186
202187        Not reviewed. Fix build.
202188
202189        * WebCore.gypi: Need to add rendering/svg/SVGPathData.* in another place as well, cr-bots are not compiling it and thus fail linking.
202190
2021912011-11-10  Nikolas Zimmermann  <nzimmermann@rim.com>
202192
202193        Remove virtual toPathData() method from all graphics elements
202194        https://bugs.webkit.org/show_bug.cgi?id=72009
202195
202196        Reviewed by Zoltan Herczeg.
202197
202198        In bug 71780, SVGLengthContext was introduced, to allow to resolve SVGLengths against arbitary viewports.
202199        SVGLength::value(), which needs a SVGLengthContext, is still used all over svg/ - that should be changed, as rendering/
202200        should resolve these lengths, as HTML does it using Length & RenderStyles for CSS.
202201
202202        As first step, move the #1 client of the SVGLength::value() methods - toPathData() out of svg/ into rendering/svg/SVGPathData
202203        as free-function, replacing the virtual toPathData() function from SVGStyledTransformableElement.
202204
202205        Doesn't affect any tests.
202206
202207        * CMakeLists.txt: Add rendering/svg/SVGPathData.* to build.
202208        * GNUmakefile.list.am: Ditto.
202209        * Target.pri: Ditto.
202210        * WebCore.gypi: Ditto.
202211        * WebCore.vcproj/WebCore.vcproj: Ditto.
202212        * WebCore.xcodeproj/project.pbxproj: Ditto.
202213        * rendering/svg/RenderSVGAllInOne.cpp: Ditto.
202214        * rendering/svg/RenderSVGPath.cpp:
202215        (WebCore::RenderSVGPath::layout): Use "updatePathFromGraphicsElement(element, m_path)" instead of "element->toPathData(m_path)", avoiding a virtual call.
202216        * rendering/svg/RenderSVGTextPath.cpp:
202217        (WebCore::RenderSVGTextPath::layoutPath): Ditto.
202218        * rendering/svg/SVGPathData.cpp: Added.
202219        (WebCore::updatePathFromCircleElement):
202220        (WebCore::updatePathFromEllipseElement):
202221        (WebCore::updatePathFromLineElement):
202222        (WebCore::updatePathFromPathElement):
202223        (WebCore::updatePathFromPolygonElement):
202224        (WebCore::updatePathFromPolylineElement):
202225        (WebCore::updatePathFromRectElement):
202226        (WebCore::updatePathFromGraphicsElement):
202227        * rendering/svg/SVGPathData.h: Added.
202228        * svg/SVGAnimateMotionElement.cpp:
202229        (WebCore::SVGAnimateMotionElement::animationPath): Use updatePathFromGraphicsElement instead of toPathData.
202230        * svg/SVGCircleElement.cpp: Remove toPathData() virtual method.
202231        * svg/SVGCircleElement.h: Ditto.
202232        * svg/SVGEllipseElement.cpp: Ditto.
202233        * svg/SVGEllipseElement.h: Ditto.
202234        * svg/SVGLineElement.cpp: Ditto.
202235        * svg/SVGLineElement.h: Ditto.
202236        * svg/SVGPathElement.cpp: Ditto.
202237        * svg/SVGPathElement.h: Ditto.
202238        * svg/SVGPolygonElement.cpp: Ditto.
202239        * svg/SVGPolygonElement.h: Ditto.
202240        * svg/SVGPolylineElement.cpp: Ditto.
202241        * svg/SVGPolylineElement.h: Ditto.
202242        * svg/SVGRectElement.cpp: Ditto.
202243        * svg/SVGRectElement.h: Ditto.
202244        * svg/SVGStyledTransformableElement.cpp:
202245        (WebCore::SVGStyledTransformableElement::toClipPath): Use updatePathFromGraphicsElement instead of toPathData.
202246        * svg/SVGStyledTransformableElement.h: Remove toPathData() virtual method.
202247
2022482011-11-09  Andrey Kosyakov  <caseq@chromium.org>
202249
202250        Web Inspector: [refactoring] get rid of JavaScriptSourceFrameDelegate
202251        https://bugs.webkit.org/show_bug.cgi?id=71922
202252
202253        Reviewed by Pavel Feldman.
202254
202255        * inspector/front-end/JavaScriptSourceFrame.js:
202256        (WebInspector.JavaScriptSourceFrame):
202257        (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
202258        (WebInspector.JavaScriptSourceFrame.prototype._onContentChanged):
202259        (WebInspector.JavaScriptSourceFrame.prototype.setReadOnly):
202260        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
202261        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
202262        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
202263        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
202264        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
202265        (WebInspector.JavaScriptSourceFrame.prototype._setBreakpoint):
202266        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
202267        * inspector/front-end/ScriptsPanel.js:
202268        (WebInspector.ScriptsPanel.prototype.activateBreakpoints):
202269        (WebInspector.ScriptsPanel.prototype.folderAndDisplayNameForScriptURL):
202270        (WebInspector.ScriptsPanel.prototype.setScriptSourceIsBeingEdited):
202271        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
202272        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
202273        (WebInspector.ScriptsPanel.prototype.addToWatch):
202274
2022752011-11-10  Jay Civelli  <jcivelli@chromium.org>
202276
202277        Fix progress load reporting for MHTML documents.
202278
202279        MHTML documents containing references to resources they don't include
202280        never finish loading.
202281        https://bugs.webkit.org/show_bug.cgi?id=71859
202282
202283        Reviewed by Adam Barth.
202284
202285        * loader/DocumentLoader.cpp:
202286        (WebCore::DocumentLoader::scheduleArchiveLoad):
202287
2022882011-11-10  Simon Hausmann  <simon.hausmann@nokia.com>
202289
202290        [Qt] Fix linking with --whole-archive
202291
202292        Reviewed by Zoltan Herczeg.
202293
202294        Compile XMLTreeViewer and related files when XSLT is enabled, not
202295        when XSLT _and_ USE_LIBXML2. The files do not depend on libxml2, they
202296        are #ifdeffed with ENABLE(XSLT) only, and they are referenced from for
202297        example NewXMLDocumentParser.cpp from within XSLT blocks.
202298
202299        * DerivedSources.pri:
202300        * Target.pri:
202301
2023022011-11-01  Pavel Podivilov  <podivilov@chromium.org>
202303
202304        Web Inspector: load source maps via front-end host.
202305        https://bugs.webkit.org/show_bug.cgi?id=71301
202306
202307        Reviewed by Yury Semikhatsky.
202308
202309        Currently we use an auxiliary iframe hack to load source map files from inspector page. This approach has several drawbacks:
202310         - in addition to source map url we need to know auxiliary iframe url
202311         - we need a protocol to communicate with iframe
202312         - source map provider needs to provide auxiliary document to make our hack work
202313        Loading source maps from front-end host solves all problems.
202314
202315        * WebCore.gypi:
202316        * WebCore.vcproj/WebCore.vcproj:
202317        * inspector/InspectorFrontendHost.cpp:
202318        (WebCore::InspectorFrontendHost::loadResourceSynchronously):
202319        * inspector/InspectorFrontendHost.h:
202320        * inspector/InspectorFrontendHost.idl:
202321        * inspector/front-end/CompilerSourceMapping.js:
202322        (WebInspector.ClosureCompilerSourceMapping):
202323        (WebInspector.ClosureCompilerSourceMapping.prototype.load):
202324        (WebInspector.ClosureCompilerSourceMapping.prototype.loadSourceCode):
202325        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappingPayload):
202326        * inspector/front-end/CompilerSourceMappingProvider.js: Removed.
202327        * inspector/front-end/ContentProviders.js:
202328        (WebInspector.CompilerSourceMappingContentProvider):
202329        (WebInspector.CompilerSourceMappingContentProvider.prototype.requestContent):
202330        * inspector/front-end/RawSourceCode.js:
202331        (WebInspector.RawSourceCode.prototype.setCompilerSourceMapping):
202332        (WebInspector.RawSourceCode.prototype._resourceFinished):
202333        (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
202334        * inspector/front-end/WebKit.qrc:
202335        * inspector/front-end/inspector.html:
202336        * inspector/front-end/inspector.js:
202337        (WebInspector.installSourceMappingForTest):
202338
2023392011-11-10  Sheriff Bot  <webkit.review.bot@gmail.com>
202340
202341        Unreviewed, rolling out r99816.
202342        http://trac.webkit.org/changeset/99816
202343        https://bugs.webkit.org/show_bug.cgi?id=72003
202344
202345        compilation failed on mac (Requested by loislo on #webkit).
202346
202347        * html/HTMLAttributeNames.in:
202348        * html/HTMLInputElement.idl:
202349        * html/HTMLTextAreaElement.cpp:
202350        (WebCore::HTMLTextAreaElement::appendFormData):
202351        * html/HTMLTextAreaElement.idl:
202352        * html/HTMLTextFormControlElement.cpp:
202353        * html/HTMLTextFormControlElement.h:
202354        * html/TextFieldInputType.cpp:
202355        * html/TextFieldInputType.h:
202356
2023572011-11-09  Pavel Feldman  <pfeldman@google.com>
202358
202359        Web Inspector: console does not work after switching panel while editing.
202360        https://bugs.webkit.org/show_bug.cgi?id=71918
202361
202362        Reviewed by Yury Semikhatsky.
202363
202364        * inspector/front-end/SourceFrame.js:
202365        (WebInspector.SourceFrame.prototype.wasShown):
202366        (WebInspector.SourceFrame.prototype.willHide):
202367
2023682011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
202369
202370        Need support for dirname attribute
202371        https://bugs.webkit.org/show_bug.cgi?id=65542
202372
202373        Reviewed by Eric Seidel.
202374
202375        Implemented 'dirname' form attribute.
202376
202377        Tests: fast/forms/form-dirname-attribute.html
202378               fast/forms/submit-form-with-dirname-attribute-with-ancestor-dir-attribute.html
202379               fast/forms/submit-form-with-dirname-attribute-with-nonhtml-ancestor.html
202380               fast/forms/submit-form-with-dirname-attribute.html
202381
202382        * html/HTMLAttributeNames.in:
202383        Added "dirname" attribute.
202384        * html/HTMLInputElement.idl:
202385        Add "dirName" property to HTMLInputElement interface.
202386        * html/HTMLTextAreaElement.cpp:
202387        (WebCore::HTMLTextAreaElement::appendFormData):
202388        Append dirname form data.
202389        * html/HTMLTextAreaElement.idl:
202390        Add "dirName" property to HTMLTextAreaElement interface.
202391        * html/HTMLTextFormControlElement.cpp:
202392        (WebCore::parentHTMLElement):
202393        Helper function which returns only HTML parent element.
202394        (WebCore::HTMLTextFormControlElement::directionForFormData):
202395        Helper function for finding directionality of the Element.
202396        * html/HTMLTextFormControlElement.h:
202397        Helper function for finding directionality of the Element.
202398        * html/TextFieldInputType.cpp:
202399        (WebCore::TextFieldInputType::appendFormData):
202400        Append dirname form data.
202401        * html/TextFieldInputType.h:
202402        Append dirname form data.
202403
2024042011-11-09  Shinya Kawanaka  <shinyak@google.com>
202405
202406        Internals.markerRangeForNode should be able to take markers by specifying a marker type.
202407        https://bugs.webkit.org/show_bug.cgi?id=71792
202408
202409        Reviewed by Hajime Morita.
202410
202411        Test: editing/spelling/markers.html
202412
202413        * WebCore.exp.in:
202414        * dom/DocumentMarkerController.cpp:
202415        (WebCore::DocumentMarkerController::markersFor):
202416          Takes marker types to get only necessary markers.
202417        * dom/DocumentMarkerController.h:
202418        * testing/Internals.cpp:
202419        (WebCore::markerTypesFrom): Added.
202420        (WebCore::Internals::markerCountForNode):
202421          Takes marker types to get only necessary markers.
202422        (WebCore::Internals::markerRangeForNode): ditto.
202423        * testing/Internals.h:
202424        * testing/Internals.idl:
202425
2024262011-11-09  David Reveman  <reveman@chromium.org>
202427
202428        [Chromium] Add support for painting into an SkPicture and then rasterizing into tile-sized chunks.
202429        https://bugs.webkit.org/show_bug.cgi?id=71388
202430
202431        Reviewed by James Robinson.
202432
202433        Add UpdatableTexture class, which allows texture updater to
202434        allocate tile specific resources and paint tiles separately.
202435        Rename texture uploader classes and move them to separate files.
202436
202437        No new tests. Covered by existing tests.
202438
202439        * WebCore.gypi:
202440        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.cpp: Added.
202441        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::Texture):
202442        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::~Texture):
202443        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::updateRect):
202444        (WebCore::BitmapCanvasLayerTextureUpdater::create):
202445        (WebCore::BitmapCanvasLayerTextureUpdater::BitmapCanvasLayerTextureUpdater):
202446        (WebCore::BitmapCanvasLayerTextureUpdater::~BitmapCanvasLayerTextureUpdater):
202447        (WebCore::BitmapCanvasLayerTextureUpdater::createTexture):
202448        (WebCore::BitmapCanvasLayerTextureUpdater::sampledTexelFormat):
202449        (WebCore::BitmapCanvasLayerTextureUpdater::prepareToUpdate):
202450        (WebCore::BitmapCanvasLayerTextureUpdater::updateTextureRect):
202451        * platform/graphics/chromium/BitmapCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
202452        (WebCore::BitmapCanvasLayerTextureUpdater::Texture::textureUpdater):
202453        (WebCore::BitmapCanvasLayerTextureUpdater::orientation):
202454        * platform/graphics/chromium/ContentLayerChromium.cpp:
202455        (WebCore::ContentLayerChromium::createTextureUpdater):
202456        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.cpp: Renamed from Source/WebCore/platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp.
202457        (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
202458        (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
202459        (WebCore::FrameBuffer::FrameBuffer::initialize):
202460        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::Texture):
202461        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::~Texture):
202462        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::updateRect):
202463        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::create):
202464        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::FrameBufferSkPictureCanvasLayerTextureUpdater):
202465        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::~FrameBufferSkPictureCanvasLayerTextureUpdater):
202466        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::createTexture):
202467        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::sampledTexelFormat):
202468        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::updateTextureRect):
202469        * platform/graphics/chromium/FrameBufferSkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/LayerTextureUpdater.h.
202470        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::Texture::textureUpdater):
202471        (WebCore::FrameBufferSkPictureCanvasLayerTextureUpdater::orientation):
202472        * platform/graphics/chromium/ImageLayerChromium.cpp:
202473        (WebCore::ImageLayerTextureUpdater::Texture::Texture):
202474        (WebCore::ImageLayerTextureUpdater::Texture::updateRect):
202475        (WebCore::ImageLayerTextureUpdater::Texture::textureUpdater):
202476        (WebCore::ImageLayerTextureUpdater::createTexture):
202477        (WebCore::ImageLayerTextureUpdater::prepareToUpdate):
202478        * platform/graphics/chromium/LayerRendererChromium.cpp:
202479        * platform/graphics/chromium/LayerTextureUpdater.h:
202480        (WebCore::LayerTextureUpdater::Texture::~Texture):
202481        (WebCore::LayerTextureUpdater::Texture::texture):
202482        (WebCore::LayerTextureUpdater::Texture::prepareRect):
202483        (WebCore::LayerTextureUpdater::Texture::Texture):
202484        (WebCore::LayerTextureUpdater::prepareToUpdate):
202485        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h: Removed.
202486        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.cpp: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
202487        (WebCore::SkPictureCanvasLayerTextureUpdater::SkPictureCanvasLayerTextureUpdater):
202488        (WebCore::SkPictureCanvasLayerTextureUpdater::~SkPictureCanvasLayerTextureUpdater):
202489        (WebCore::SkPictureCanvasLayerTextureUpdater::prepareToUpdate):
202490        (WebCore::SkPictureCanvasLayerTextureUpdater::drawPicture):
202491        * platform/graphics/chromium/SkPictureCanvasLayerTextureUpdater.h: Copied from Source/WebCore/platform/graphics/chromium/cc/CCTextureUpdater.h.
202492        * platform/graphics/chromium/TiledLayerChromium.cpp:
202493        (WebCore::UpdatableTile::UpdatableTile):
202494        (WebCore::UpdatableTile::texture):
202495        (WebCore::UpdatableTile::managedTexture):
202496        (WebCore::TiledLayerChromium::updateCompositorResources):
202497        (WebCore::TiledLayerChromium::pushPropertiesTo):
202498        (WebCore::TiledLayerChromium::createTile):
202499        (WebCore::TiledLayerChromium::protectTileTextures):
202500        (WebCore::TiledLayerChromium::prepareToUpdate):
202501        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
202502        (WebCore::CCTextureUpdater::append):
202503        (WebCore::CCTextureUpdater::update):
202504        * platform/graphics/chromium/cc/CCTextureUpdater.h:
202505
2025062011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
202507
202508        [wx] Unreviewed build fix. Add stub for new method.
202509        
202510        * platform/wx/FileSystemWx.cpp:
202511        (WebCore::openFile):
202512
2025132011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
202514
202515        [wx] Unreviewed build fix. wx should not be excluded
202516        from building ScopedFramePaintingState code.
202517
202518        * page/Frame.cpp:
202519
2025202011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
202521
202522        [wx] Unreviewed build fix. Don't run 
202523        fontDataForCombiningCharacterSequence on wx as we don't 
202524        support it yet.
202525
202526        * platform/graphics/mac/ComplexTextController.cpp:
202527        (WebCore::ComplexTextController::collectComplexTextRuns):
202528
2025292011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
202530
202531        [wx] Unreviewed build fix. Update how we hash the font after
202532        changes to the StringHasher APIs.
202533
202534        * platform/graphics/wx/FontPlatformDataWx.cpp:
202535        (WebCore::FontPlatformData::computeHash):
202536
2025372011-11-09  Kevin Ollivier  <kevino@theolliviers.com>
202538
202539        [wx] Unreviewed build fix. Remove from WebDOMEventTarget
202540        bindings methods that have been removed from EventTarget.
202541
202542        * bindings/cpp/WebDOMEventTarget.cpp:
202543        (toWebKit):
202544        * bindings/cpp/WebDOMEventTarget.h:
202545
2025462011-11-09  Martin Robinson  <mrobinson@igalia.com>
202547
202548        [Cairo] Avoid clipping when painting more often
202549        https://bugs.webkit.org/show_bug.cgi?id=71179
202550
202551        Reviewed by Xan Lopez.
202552
202553        No new tests. These changes are covered by existing tests.
202554
202555        * platform/graphics/Gradient.h: Add a Cairo-specific method
202556        that gets the platform gradient with a particular alpha value.
202557        * platform/graphics/cairo/GradientCairo.cpp: Now cache the alpha
202558        value of the last created platform gradient.
202559        (WebCore::Gradient::platformGradient): If the cached platform gradient
202560        has a different alpha value than the one requested, destroy it and start
202561        over.
202562        * platform/graphics/cairo/GraphicsContextCairo.cpp:
202563        (WebCore::drawPathShadow): Adjust the source to avoid calling
202564        cairo_clip/cairo_paint_with_alpha and just do a fill.
202565        (WebCore::shadowAndFillCurrentCairoPath): No need to clip here. Just
202566        call cairo_fill.
202567        * platform/graphics/cairo/PlatformContextCairo.cpp:
202568        (WebCore::drawPatternToCairoContext): If we have a >= 1 alpha value
202569        we can simply fill and avoid calling cairo_clip here.
202570        (WebCore::prepareCairoContextSource): Remove TODO about recreating the
202571        gradient. No longer need to reduce the gradient source.
202572
2025732011-11-09  Alexey Proskuryakov  <ap@apple.com>
202574
202575        <rdar://problem/10423024> WebProcess doesn't use AuthBrokerAgent for proxy credentials
202576        https://bugs.webkit.org/show_bug.cgi?id=71964
202577
202578        Reviewed by Darin Adler.
202579
202580        * platform/network/cf/ResourceHandleCFNet.cpp: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
202581        * platform/network/mac/ResourceHandleMac.mm: (WebCore::ResourceHandle::didReceiveAuthenticationChallenge):
202582        Don't ask the client for proxy credentials. CFNetwork results are authoritative, and proxy
202583        credentials are system-wide.
202584
2025852011-11-09  Daniel Sievers  <sievers@chromium.org>
202586
202587        [chromium] Fix typo in checkerboarding code
202588        https://bugs.webkit.org/show_bug.cgi?id=71981
202589
202590        Reviewed by James Robinson.
202591
202592        No new tests.
202593
202594        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
202595        (WebCore::CCTiledLayerImpl::drawTiles):
202596
2025972011-11-09  Sheriff Bot  <webkit.review.bot@gmail.com>
202598
202599        Unreviewed, rolling out r99782.
202600        http://trac.webkit.org/changeset/99782
202601        https://bugs.webkit.org/show_bug.cgi?id=71979
202602
202603        broke most of the feImage tests (Requested by thorton on
202604        #webkit).
202605
202606        * svg/SVGFEImageElement.cpp:
202607        (WebCore::SVGFEImageElement::parseMappedAttribute):
202608        (WebCore::SVGFEImageElement::build):
202609
2026102011-11-09  Kentaro Hara  <haraken@chromium.org>
202611
202612        Remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm
202613        https://bugs.webkit.org/show_bug.cgi?id=71938
202614
202615        Reviewed by Darin Adler.
202616
202617        Now no IDL files are using [CanBeConstructed] IDL.
202618        We can safely remove [CanBeConstructed] IDL from CodeGenerator{JS,V8}.pm.
202619
202620        No tests. No change in behavior.
202621
202622        * bindings/scripts/CodeGeneratorJS.pm: Removed [CanBeConstructed]-related code.
202623        (GenerateConstructorDeclaration):
202624        (GenerateConstructorDefinition):
202625        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
202626        (GenerateImplementation):
202627        * bindings/scripts/test/TestInterface.idl: Removed [CanBeConstructed].
202628        * bindings/v8/V8Proxy.h: Removed V8Proxy::constructDOMObject and V8Proxy::constructDOMObjectWithScriptExecutionContext, which had been used only by [CanBeConstructed].
202629
2026302011-11-09  Tim Horton  <timothy_horton@apple.com>
202631
202632        feImage referencing a primitive draws incorrectly
202633        https://bugs.webkit.org/show_bug.cgi?id=71731
202634        <rdar://problem/10408178>
202635
202636        Reviewed by Simon Fraser.
202637        
202638        Don't attempt to resolve an <feImage>'s referenced element until it's used, as it
202639        may not exist at the time the attribute is set on the <feImage>.
202640        
202641        Don't attempt to render an <feImage> if the referenced element is of size 0x0.
202642
202643        Tests: svg/filters/feImage-reference-svg-primitive.svg
202644               svg/filters/feImage-zero-size-crash.svg
202645
202646        * svg/SVGFEImageElement.cpp:
202647        (WebCore::SVGFEImageElement::parseMappedAttribute):
202648        (WebCore::SVGFEImageElement::build):
202649
2026502011-11-09  Dominic Cooney  <dominicc@chromium.org>
202651
202652        Remove WebGLContextEvent.initEvent method
202653        https://bugs.webkit.org/show_bug.cgi?id=71720
202654
202655        Reviewed by Adam Barth.
202656
202657        The WebGL spec calls this method initWebGLContextEvent, but it may
202658        adopt a constructor instead. Deleting the initEvent method for now
202659        since it is definitely wrong and we don't want people to come to
202660        depend on it.
202661
202662        No new tests--removing untested code.
202663
202664        * html/canvas/WebGLContextEvent.cpp:
202665        * html/canvas/WebGLContextEvent.h:
202666        * html/canvas/WebGLContextEvent.idl:
202667
2026682011-11-09  Anders Carlsson  <andersca@apple.com>
202669
202670        Element::boundsInWindowSpace should be Element::boundsInRootViewSpace
202671        https://bugs.webkit.org/show_bug.cgi?id=71955
202672
202673        Reviewed by Sam Weinig.
202674
202675        Element::boundsInWindowSpace is only used by WebKit2, where the window coordinate space is the
202676        same as the root view coordinate space. This lets us get rid of another use of contentsToWindow.
202677
202678        * WebCore.exp.in:
202679        * dom/Element.cpp:
202680        (WebCore::Element::boundsInRootViewSpace):
202681        * dom/Element.h:
202682
2026832011-11-09  Kentaro Hara  <haraken@chromium.org>
202684
202685        Unreviewed, rebaseline run-bindings-tests results.
202686
202687        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp:
202688        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
202689        (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
202690        * bindings/scripts/test/JS/JSTestNamedConstructor.h:
202691
2026922011-11-09  Alexandre Elias  <aelias@google.com>
202693
202694        [chromium] Add draw-time scale delta to compositor thread
202695        https://bugs.webkit.org/show_bug.cgi?id=71595
202696
202697        Reviewed by James Robinson.
202698
202699        There are two magnify values:
202700        1. The WebKit-side pageScale value corresponding to the resolution of
202701           the painted content.
202702        2. The Impl-side-only scaleDelta value representing the additional
202703           degree of current magnification, applied as a draw transform.  WebKit
202704           is never explicitly aware of this value and the only way to change it
202705           currently is via pinch events (and in the future, double-tap/etc
202706           events).  At the end of a pinch zoom, we multiply pageScale *
202707           scaleDelta and tell WebKit to use it as the new pageScale.
202708
202709        Scroll offsets and max-extents are maintained in pageScale space.
202710        When the scale changes, we need to take care to convert them to the
202711        new scale and avoid getting them clamped to the extents at the wrong
202712        scale.
202713
202714        I removed maxScrollPosition on the non-impl side because it makes no
202715        sense to precompute it in the presence of an impl-side zoom.  Replaced
202716        with a simple 'bool m_scrollable'.
202717
202718        zoomAnimatorTransform is not used because it currently isn't in the
202719        branch, and mostly doesn't behave the way we want anyway (it does most
202720        things in WebKit thread).  We will need to unify these later.
202721
202722        Also introduce deviceOrPageScaleFactorChanged() call which invalidates
202723        layers.
202724
202725        No new tests (filed 71529 to remember to do it later).
202726
202727        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
202728        (WebCore::GraphicsLayerChromium::deviceOrPageScaleFactorChanged):
202729        * platform/graphics/chromium/GraphicsLayerChromium.h:
202730        * platform/graphics/chromium/LayerChromium.cpp:
202731        (WebCore::LayerChromium::LayerChromium):
202732        (WebCore::LayerChromium::setBounds):
202733        (WebCore::LayerChromium::pushPropertiesTo):
202734        * platform/graphics/chromium/LayerChromium.h:
202735        (WebCore::LayerChromium::scrollable):
202736        (WebCore::LayerChromium::setScrollable):
202737        (WebCore::LayerChromium::pageScaleChanged):
202738        * platform/graphics/chromium/LayerRendererChromium.cpp:
202739        (WebCore::LayerRendererChromium::drawLayersInternal):
202740        * platform/graphics/chromium/LayerRendererChromium.h:
202741        (WebCore::LayerRendererChromium::setPageMagnifyTransform):
202742        * platform/graphics/chromium/NonCompositedContentHost.cpp:
202743        (WebCore::NonCompositedContentHost::setViewport):
202744        * platform/graphics/chromium/NonCompositedContentHost.h:
202745        (WebCore::NonCompositedContentHost::topLevelRootLayer):
202746        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
202747        (WebCore::CCLayerImpl::CCLayerImpl):
202748        * platform/graphics/chromium/cc/CCLayerImpl.h:
202749        (WebCore::CCLayerImpl::scrollable):
202750        (WebCore::CCLayerImpl::setScrollable):
202751        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
202752        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
202753        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
202754        (WebCore::CCLayerTreeHost::setPageScale):
202755        (WebCore::CCLayerTreeHost::setPageScaleFactorLimits):
202756        (WebCore::CCLayerTreeHost::applyScrollAndScale):
202757        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
202758        (WebCore::CCLayerTreeHost::pageScale):
202759        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
202760        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
202761        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
202762        (WebCore::CCLayerTreeHostImpl::commitComplete):
202763        (WebCore::findScrollLayer):
202764        (WebCore::CCLayerTreeHostImpl::setViewport):
202765        (WebCore::CCLayerTreeHostImpl::setPageScale):
202766        (WebCore::CCLayerTreeHostImpl::setScaleDelta):
202767        (WebCore::CCLayerTreeHostImpl::setPageScaleFactorLimits):
202768        (WebCore::CCLayerTreeHostImpl::updateMaxScrollPosition):
202769        (WebCore::CCLayerTreeHostImpl::pinchGestureBegin):
202770        (WebCore::CCLayerTreeHostImpl::pinchGestureUpdate):
202771        (WebCore::CCLayerTreeHostImpl::pinchGestureEnd):
202772        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
202773        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
202774        (WebCore::CCLayerTreeHostImpl::pageScale):
202775        * platform/graphics/chromium/cc/CCScrollController.h:
202776        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
202777        (WebCore::CCSingleThreadProxy::doCommit):
202778        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
202779        (WebCore::CCThreadProxy::createBeginFrameAndCommitTaskOnImplThread):
202780        (WebCore::CCThreadProxy::beginFrameAndCommit):
202781        * platform/graphics/chromium/cc/CCThreadProxy.h:
202782
2027832011-11-09  Jay Civelli  <jcivelli@chromium.org>
202784
202785        Fix MHTML generation to use the QuotedPrintable encoding for text resources.
202786        This was regressed when we added binary encoding support.
202787        https://bugs.webkit.org/show_bug.cgi?id=71857
202788
202789        Reviewed by Adam Barth.
202790
202791        * loader/archive/mhtml/MHTMLArchive.cpp:
202792        (WebCore::MHTMLArchive::generateMHTMLData):
202793
2027942011-11-09  Kentaro Hara  <haraken@chromium.org>
202795
202796        Replace [CanBeConstructed] IDL with [Constructor] IDL
202797        https://bugs.webkit.org/show_bug.cgi?id=71927
202798
202799        Reviewed by Adam Barth.
202800
202801        With respect to the IDL files that have [CanBeConstructed]
202802        but do not have [Constructor] nor [CustomConstructor],
202803        [CanBeConstructed] is now equivalent to [Constructor].
202804        Thus, this patch replaces [CanBeConstructed] with [Constructor].
202805
202806        No tests. No change in behavior.
202807
202808        * fileapi/FileReaderSync.idl: As I described above.
202809        * fileapi/WebKitBlobBuilder.idl: Ditto.
202810        * fileapi/WebKitFlags.idl: Ditto.
202811        * xml/DOMParser.idl: Ditto.
202812        * xml/XMLSerializer.idl: Ditto.
202813        * xml/XPathEvaluator.idl: Ditto.
202814
2028152011-11-09  Noel Gordon  <noel.gordon@gmail.com>
202816
202817        [chromium] Separate image encoding from dataURL construction
202818        https://bugs.webkit.org/show_bug.cgi?id=71846
202819
202820        Reviewed by Adam Barth.
202821
202822        Remove the implicit assumption that a dataURL is the only desired output format of the
202823        the image encoding phase.
202824
202825        No new tests, refactoring only, covered by existing canvas tests.
202826
202827        * platform/graphics/skia/ImageBufferSkia.cpp:
202828        (WebCore::encodeImage):  Output the encoded image to a Vector.
202829        (WebCore::ImageBuffer::toDataURL):  Format the dataURL encoding of the mimeType encoded
202830        image Vector here.  Move the mimeType encoding debug check here to better align this
202831        code with the CG (CoreGraphics) ImageBuffer.cpp implementation.
202832        (WebCore::ImageDataToDataURL): ditto.
202833
2028342011-11-09  Alexei Svitkine  <asvitkine@chromium.org>
202835
202836        Chromium: Fix bad rubber-band overhang shadows being drawn in the presence of custom scrollbar css.
202837        https://bugs.webkit.org/show_bug.cgi?id=71719
202838
202839        This was caused by the overhang calculation logic not being consistent when subtracting the scrollbar sizes from the overhang areas. This resulted in for e.g. a horizontal overhang that didn't overlap with the scrollbar while the vertical overhang overlapped with it. This fix makes the logic consistent so that the overhang areas do not overlap with the scrollbars (when scrollbars are opaque).
202840
202841        Reviewed by Beth Dakin.
202842
202843        Tests: platform/chromium/rubberbanding/custom-scrollbars-ne.html
202844               platform/chromium/rubberbanding/custom-scrollbars-nw.html
202845               platform/chromium/rubberbanding/custom-scrollbars-se.html
202846               platform/chromium/rubberbanding/custom-scrollbars-sw.html
202847
202848        * platform/ScrollView.cpp:
202849        (WebCore::ScrollView::wheelEvent):
202850
2028512011-11-09  Ken Buchanan  <kenrb@chromium.org>
202852
202853        Indentation error in RenderObject::container
202854        https://bugs.webkit.org/show_bug.cgi?id=64780
202855
202856        Reviewed by Eric Seidel.
202857
202858        A conditional block was indented too far; correcting.
202859
202860        * rendering/RenderObject.cpp:
202861        (WebCore::RenderObject::container):
202862
2028632011-11-09  Anders Carlsson  <andersca@apple.com>
202864
202865        Use contentsToRootView/rootViewToContents when converting between frame coordinate systems
202866        https://bugs.webkit.org/show_bug.cgi?id=71947
202867
202868        Reviewed by Sam Weinig.
202869
202870        This gets rid of a few calls to contentsToWindow and windowToContents.
202871
202872        * inspector/DOMNodeHighlighter.cpp:
202873        * page/DragController.cpp:
202874        (WebCore::DragController::startDrag):
202875        (WebCore::DragController::doSystemDrag):
202876        * page/EventHandler.cpp:
202877        (WebCore::EventHandler::hitTestResultAtPoint):
202878
2028792011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
202880
202881        De-virtualize JSObject::getOwnPropertyDescriptor
202882        https://bugs.webkit.org/show_bug.cgi?id=71523
202883
202884        Reviewed by Sam Weinig.
202885
202886        No new tests.
202887
202888        Added getOwnPropertyDescriptor to the MethodTable, changed all of the 
202889        virtual versions of getOwnPropertyDescriptor to static ones, and 
202890        changed all of the call sites to the corresponding lookup in the MethodTable.
202891
202892        * WebCore.exp.in:
202893        * bindings/js/JSDOMWindowCustom.cpp:
202894        (WebCore::JSDOMWindow::getOwnPropertyDescriptor):
202895        * bindings/js/JSDOMWindowShell.cpp:
202896        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
202897        * bindings/js/JSDOMWindowShell.h:
202898        * bindings/js/JSWorkerContextCustom.cpp:
202899        (WebCore::JSWorkerContext::getOwnPropertyDescriptorDelegate):
202900        * bindings/scripts/CodeGeneratorJS.pm:
202901        (GenerateGetOwnPropertyDescriptorBody):
202902        (GenerateHeader):
202903        (GenerateImplementation):
202904        (GenerateConstructorDeclaration):
202905        (GenerateConstructorDefinition):
202906        * bindings/scripts/test/JS/JSTestInterface.cpp:
202907        (WebCore::JSTestInterfaceConstructor::getOwnPropertyDescriptor):
202908        (WebCore::JSTestInterface::getOwnPropertyDescriptor):
202909        * bindings/scripts/test/JS/JSTestInterface.h:
202910        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
202911        (WebCore::JSTestMediaQueryListListenerConstructor::getOwnPropertyDescriptor):
202912        (WebCore::JSTestMediaQueryListListenerPrototype::getOwnPropertyDescriptor):
202913        (WebCore::JSTestMediaQueryListListener::getOwnPropertyDescriptor):
202914        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
202915        * bindings/scripts/test/JS/JSTestObj.cpp:
202916        (WebCore::JSTestObjConstructor::getOwnPropertyDescriptor):
202917        (WebCore::JSTestObjPrototype::getOwnPropertyDescriptor):
202918        (WebCore::JSTestObj::getOwnPropertyDescriptor):
202919        * bindings/scripts/test/JS/JSTestObj.h:
202920        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
202921        (WebCore::JSTestSerializedScriptValueInterfaceConstructor::getOwnPropertyDescriptor):
202922        (WebCore::JSTestSerializedScriptValueInterface::getOwnPropertyDescriptor):
202923        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
202924        * bridge/objc/objc_runtime.h:
202925        * bridge/objc/objc_runtime.mm:
202926        (JSC::Bindings::ObjcFallbackObjectImp::getOwnPropertyDescriptor):
202927        * bridge/qt/qt_runtime.cpp:
202928        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyDescriptor):
202929        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyDescriptor):
202930        * bridge/qt/qt_runtime.h:
202931        * bridge/runtime_array.cpp:
202932        (JSC::RuntimeArray::getOwnPropertyDescriptor):
202933        * bridge/runtime_array.h:
202934        * bridge/runtime_method.cpp:
202935        (JSC::RuntimeMethod::vtableAnchor): Added to prevent a weak vtable.
202936        (JSC::RuntimeMethod::getOwnPropertyDescriptor):
202937        * bridge/runtime_method.h: Changed getOwnPropertyDescriptor from private to protected to allow 
202938        subclasses to use it in their MethodTables.
202939        * bridge/runtime_object.cpp:
202940        (JSC::Bindings::RuntimeObject::getOwnPropertyDescriptor):
202941        * bridge/runtime_object.h:
202942
2029432011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>
202944
202945        REGRESSION (r93614): Content remains despite parent element being scrolled off page using javascript.
202946        https://bugs.webkit.org/show_bug.cgi?id=71550
202947
202948        Reviewed by Simon Fraser.
202949
202950        Tests: fast/repaint/overflow-auto-in-overflow-auto-scrolled.html
202951               fast/repaint/overflow-hidden-in-overflow-hidden-scrolled.html
202952               fast/repaint/overflow-scroll-in-overflow-scroll-scrolled.html
202953               fast/repaint/scroll-inside-table-cell.html
202954               fast/repaint/scroll-relative-table-inside-table-cell.html
202955               fast/repaint/table-overflow-auto-in-overflow-auto-scrolled.html
202956               fast/repaint/table-overflow-hidden-in-overflow-hidden-scrolled.html
202957               fast/repaint/table-overflow-scroll-in-overflow-scroll-scrolled.html
202958
202959        The issue was that updateLayerPositionsAfterScroll would not update some layer's
202960        repaint rectangles. Thus we would not properly repaint (if at all).
202961
202962        The optimization added in 93614 was short-sighted and missed the fact that tables are a
202963        special case when it comes to updating the repaint rectangles. When we scroll a layer
202964        with an overflow clip, most layers *do* need to update their repaint rectangles.
202965
202966        This changes keeps the optimization for cells as this is the hotest case for tables
202967        with overflow: hidden on cells but is much more conservative: if we encounter an
202968        overflow clip, we update the descendant's repaint rectangles.
202969
202970        * rendering/RenderLayer.cpp:
202971        (WebCore::RenderLayer::RenderLayer):
202972        (WebCore::RenderLayer::updateLayerPositionsAfterScroll):
202973        Refactored the code to use some flags (HasSeenFixedPositionedAncestor and
202974        HasSeenAncestorWithOverflowClip). Also added an exception if
202975        m_canSkipRepaintRectsUpdateOnScroll is set.
202976
202977        * rendering/RenderLayer.h:
202978        Added a new field when it is fine to not update our repaint rects on scroll.
202979
2029802011-11-09  Kentaro Hara  <haraken@chromium.org>
202981
202982        Generate the HTMLAudioElement constructor using [NamedConstructor] IDL
202983        https://bugs.webkit.org/show_bug.cgi?id=71924
202984
202985        Reviewed by Adam Barth.
202986
202987        This patch removes a custom constructor of HTMLAudioElement
202988        and generates it using [NamedConstructor] IDL.
202989
202990        Tests:  fast/js/custom-constructors.html
202991                media/audio-constructor.html
202992                media/audio-constructor-src.html
202993                media/audio-constructor-preload.html
202994                media/audio-controls-do-not-fade-out.html
202995                media/audio-controls-rendering.html
202996
202997        * Target.pri: Removed V8HTMLAudioElementConstructor.{h,cpp}
202998        * WebCore.gypi: Ditto.
202999        * bindings/v8/custom/V8HTMLAudioElementConstructor.cpp: Removed.
203000        * bindings/v8/custom/V8HTMLAudioElementConstructor.h: Removed.
203001        * html/HTMLAudioElement.idl: Added [NamedConstructor] IDL.
203002        * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
203003
2030042011-11-09  Antti Koivisto  <antti@apple.com>
203005
203006        Eliminate CSSMutableValue
203007        https://bugs.webkit.org/show_bug.cgi?id=71811
203008
203009        Reviewed by Darin Adler, Andreas Kling and Nikolas Zimmerman.
203010
203011        Remove the implementations of setter functions in SVGColor and SVGPaint. These interfaces are
203012        deprecated in SVG 1.1 (2nd edition) and are not really used by anybody. This allows
203013        removal of CSSMutableValue and the associated (rather broken) code.
203014        
203015        The setters now throw NO_MODIFICATION_ALLOWED_ERR. 
203016
203017        * GNUmakefile.list.am:
203018        * WebCore.gypi:
203019        * WebCore.xcodeproj/project.pbxproj:
203020        * css/CSSMutableStyleDeclaration.cpp:
203021        (WebCore::CSSMutableStyleDeclaration::~CSSMutableStyleDeclaration):
203022        * css/CSSMutableValue.h: Removed.
203023        * css/CSSStyleDeclaration.cpp:
203024        (WebCore::CSSStyleDeclaration::getPropertyCSSValue):
203025        * css/CSSValue.h:
203026        (WebCore::CSSValue::CSSValue):
203027        * svg/SVGColor.cpp:
203028        (WebCore::SVGColor::SVGColor):
203029        (WebCore::SVGColor::setRGBColor):
203030        (WebCore::SVGColor::setRGBColorICCColor):
203031        (WebCore::SVGColor::setColor):
203032        * svg/SVGColor.h:
203033        * svg/SVGPaint.cpp:
203034        (WebCore::SVGPaint::setUri):
203035        (WebCore::SVGPaint::setPaint):
203036        * svg/SVGPaint.h:
203037
2030382011-11-09  Kentaro Hara  <haraken@chromium.org>
203039
203040        Generate the HTMLOptionElement constructor using [NamedConstructor] IDL
203041        https://bugs.webkit.org/show_bug.cgi?id=71925
203042
203043        Reviewed by Adam Barth.
203044
203045        This patch removes a custom constructor of HTMLOptionElement,
203046        and generates it using [NamedConstructor] IDL.
203047
203048        Tests: fast/js/custom-constructors.html
203049               fast/forms/option-index.html
203050               fast/forms/add-and-remove-option.html
203051               fast/dom/dom-add-optionelement.html
203052
203053        * Target.pri: Removed V8HTMLOptionElementConstructor.{h,cpp}
203054        * WebCore.gypi: Ditto.
203055        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp: Removed.
203056        * bindings/v8/custom/V8HTMLOptionElementConstructor.h: Removed.
203057        * html/HTMLOptionElement.idl: Added [NamedConstructor] IDL.
203058        * page/DOMWindow.idl: Removed [V8CustomConstructor] IDL.
203059
2030602011-11-09  Julien Chaffraix  <jchaffraix@webkit.org>
203061
203062        Crash in RenderTableSection::splitColumn
203063        https://bugs.webkit.org/show_bug.cgi?id=70171
203064
203065        Reviewed by David Hyatt.
203066
203067        Tests: fast/table/crash-splitColumn-2.html
203068               fast/table/crash-splitColumn-3.html
203069               fast/table/crash-splitColumn.html
203070
203071        The old code would not take into account the fact that each RenderTableSection
203072        can set its m_needsCellRecalc flag independently of the rest.
203073
203074        This means that you cannot assume that you can always split or append columns to
203075        all the sections. Our approach is to skip sections needing cell recalc in several
203076        parts of the code as they will be properly reset to the table's representations
203077        during a cell recalc.
203078
203079        * rendering/RenderTable.cpp:
203080        (WebCore::RenderTable::splitColumn):
203081        (WebCore::RenderTable::appendColumn):
203082        Skip sections needing cell recalc as they will be properly updated later.
203083
203084        * rendering/RenderTableSection.cpp:
203085        (WebCore::RenderTableSection::addCell):
203086        Ignore a section needing cell recalc as addCell will be called after sync'ing
203087        the internal column representation in recalcCells.
203088
203089        (WebCore::RenderTableSection::recalcCells):
203090        Clear the flag at the beginning of the function to activate the previous functions.
203091        Added a comment as to why this is fine.
203092
203093        (WebCore::RenderTableSection::appendColumn):
203094        Added an ASSERT. If we need cell recalc, we should NEVER update m_grid outside
203095        of recalcCells().
203096
2030972011-11-09  Arko Saha  <arko@motorola.com>
203098
203099        Microdata: fast/dom/MicroData/itemid-attribute-test.html assertion failure in Element::getURLAttribute().
203100        https://bugs.webkit.org/show_bug.cgi?id=71510
203101
203102        Reviewed by Darin Adler.
203103
203104        Override isURLAttribute() for HTMLElement and return true if attribute is itemidAttr.
203105        All the classes derived from HTMLElement overrides this function should return true if attribute is itemidAttr.
203106        Removed HTMLIFrameElement::isURLAttribute() method as HTMLFrameElementBase already takes care of it.
203107
203108        Test: fast/dom/MicroData/itemid-attribute-test-001.html
203109
203110        * html/HTMLAnchorElement.cpp:
203111        (WebCore::HTMLAnchorElement::isURLAttribute):
203112        * html/HTMLBaseElement.cpp:
203113        (WebCore::HTMLBaseElement::isURLAttribute):
203114        * html/HTMLBodyElement.cpp:
203115        (WebCore::HTMLBodyElement::isURLAttribute):
203116        * html/HTMLButtonElement.cpp:
203117        (WebCore::HTMLButtonElement::isURLAttribute):
203118        * html/HTMLElement.cpp:
203119        (WebCore::HTMLElement::isURLAttribute):
203120        * html/HTMLElement.h:
203121        * html/HTMLEmbedElement.cpp:
203122        (WebCore::HTMLEmbedElement::isURLAttribute):
203123        * html/HTMLFormElement.cpp:
203124        (WebCore::HTMLFormElement::isURLAttribute):
203125        * html/HTMLFrameElementBase.cpp:
203126        (WebCore::HTMLFrameElementBase::isURLAttribute):
203127        * html/HTMLHtmlElement.cpp:
203128        (WebCore::HTMLHtmlElement::isURLAttribute):
203129        * html/HTMLIFrameElement.cpp:
203130        * html/HTMLIFrameElement.h:
203131        * html/HTMLImageElement.cpp:
203132        (WebCore::HTMLImageElement::isURLAttribute):
203133        * html/HTMLInputElement.cpp:
203134        (WebCore::HTMLInputElement::isURLAttribute):
203135        * html/HTMLLinkElement.cpp:
203136        (WebCore::HTMLLinkElement::isURLAttribute):
203137        * html/HTMLMediaElement.cpp:
203138        (WebCore::HTMLMediaElement::isURLAttribute):
203139        * html/HTMLModElement.cpp:
203140        (WebCore::HTMLModElement::isURLAttribute):
203141        * html/HTMLObjectElement.cpp:
203142        (WebCore::HTMLObjectElement::isURLAttribute):
203143        * html/HTMLParamElement.cpp:
203144        (WebCore::HTMLParamElement::isURLAttribute):
203145        * html/HTMLQuoteElement.cpp:
203146        (WebCore::HTMLQuoteElement::isURLAttribute):
203147        * html/HTMLScriptElement.cpp:
203148        (WebCore::HTMLScriptElement::isURLAttribute):
203149        * html/HTMLSourceElement.cpp:
203150        (WebCore::HTMLSourceElement::isURLAttribute):
203151        * html/HTMLTableCellElement.cpp:
203152        (WebCore::HTMLTableCellElement::isURLAttribute):
203153        * html/HTMLTableElement.cpp:
203154        (WebCore::HTMLTableElement::isURLAttribute):
203155        * html/HTMLTrackElement.cpp:
203156        (WebCore::HTMLTrackElement::isURLAttribute):
203157
2031582011-11-09  Chris Fleizach  <cfleizach@apple.com>
203159
203160        AX: crash when accessing selectedTab in a tab list
203161        https://bugs.webkit.org/show_bug.cgi?id=70938
203162
203163        Reviewed by Beth Dakin.
203164
203165        There were a few methods accessing m_children directly without first validating that those elements
203166        needed to be updated (because the layout changed). Changing those to call children() ensures
203167        that they will have the correct children.
203168
203169        Test: platform/mac/accessibility/selected-tab-crash.html
203170
203171        * accessibility/AccessibilityRenderObject.cpp:
203172        (WebCore::AccessibilityRenderObject::isChecked):
203173        (WebCore::AccessibilityRenderObject::selectedRadioButton):
203174        (WebCore::AccessibilityRenderObject::selectedTabItem):
203175        (WebCore::AccessibilityRenderObject::ariaListboxVisibleChildren):
203176        (WebCore::AccessibilityRenderObject::tabChildren):
203177
2031782011-11-09  Andreas Kling  <kling@webkit.org>
203179
203180        Shrink HTMLCollection.
203181        <http://webkit.org/b/71928>
203182
203183        Reviewed by Darin Adler.
203184
203185        Rearrange the members of HTMLCollection, effectively shrinking
203186        it by 16 bytes on 64-bit. This reduces memory consumption
203187        by 531 kB when loading the full HTML5 spec.
203188
203189        On 32-bit it shrinks by 8 bytes, saving 265 kB.
203190
203191        * html/HTMLCollection.cpp:
203192        (WebCore::HTMLCollection::HTMLCollection):
203193        * html/HTMLCollection.h:
203194        (WebCore::HTMLCollection::type):
203195
2031962011-11-09  Kentaro Hara  <haraken@chromium.org>
203197
203198        Remove redundant [CanBeConstructed] IDLs
203199        https://bugs.webkit.org/show_bug.cgi?id=71868
203200
203201        Reviewed by Adam Barth.
203202
203203        If a class has [Constructor] or [CustomConstructor],
203204        then [CanBeConstructed] is not necessary.
203205        This patch just removes [CanBeConstructed] from all the classes
203206        that already have [Constructor] or [CustomConstructor].
203207
203208        No tests. No change in behavior.
203209
203210        * bindings/scripts/CodeGeneratorV8.pm: Corrected typo. This correction is required for this patch.
203211        * bindings/scripts/test/V8/V8TestObj.cpp: Updated a run-bindings-tests result.
203212        (WebCore::ConfigureV8TestObjTemplate):
203213        * css/WebKitCSSMatrix.idl:
203214        * dom/BeforeLoadEvent.idl:
203215        * dom/CustomEvent.idl:
203216        * dom/ErrorEvent.idl:
203217        * dom/Event.idl:
203218        * dom/HashChangeEvent.idl:
203219        * dom/MessageChannel.idl:
203220        * dom/MessageEvent.idl:
203221        * dom/OverflowEvent.idl:
203222        * dom/PageTransitionEvent.idl:
203223        * dom/PopStateEvent.idl:
203224        * dom/ProgressEvent.idl:
203225        * dom/WebKitAnimationEvent.idl:
203226        * dom/WebKitMutationObserver.idl:
203227        * dom/WebKitTransitionEvent.idl:
203228        * fileapi/FileReader.idl:
203229        * html/DOMFormData.idl:
203230        * html/TextTrackCue.idl:
203231        * html/canvas/ArrayBuffer.idl:
203232        * html/canvas/DataView.idl:
203233        * html/canvas/Float32Array.idl:
203234        * html/canvas/Float64Array.idl:
203235        * html/canvas/Int16Array.idl:
203236        * html/canvas/Int32Array.idl:
203237        * html/canvas/Int8Array.idl:
203238        * html/canvas/Uint16Array.idl:
203239        * html/canvas/Uint32Array.idl:
203240        * html/canvas/Uint8Array.idl:
203241        * html/track/TrackEvent.idl:
203242        * mediastream/PeerConnection.idl:
203243        * page/EventSource.idl:
203244        * page/WebKitPoint.idl:
203245        * webaudio/AudioContext.idl:
203246        * websockets/CloseEvent.idl:
203247        * websockets/WebSocket.idl:
203248        * workers/SharedWorker.idl:
203249        * workers/Worker.idl:
203250        * xml/XMLHttpRequest.idl:
203251        * xml/XSLTProcessor.idl:
203252
2032532011-11-09  Ken Buchanan  <kenrb@chromium.org>
203254
203255        SVG foreignObject wrong container
203256        https://bugs.webkit.org/show_bug.cgi?id=64780
203257
203258        Reviewed by Simon Fraser.
203259
203260        Resubmitting a patch originally by scottmg@chromium.org.
203261        In determining where to add to m_positionedObjects during a repaint,
203262        containingBlock is used, which adds the absolute positioned object to
203263        the containing foreignObject. But, when the contained object is
203264        dirtied, container() was used to dirty up the tree, which skipped over
203265        the foreignObject causing the wrong parent to needsLayout(). This fix
203266        makes container() and containingBlock() handle svg foreignObject's in
203267        the same way.
203268
203269        This patch will cause svg/overflow/overflow-on-foreignObject.svg to
203270        require rebaselined results on qt and gtk ports.
203271
203272        * rendering/RenderObject.cpp:
203273        (WebCore::RenderObject::container):
203274
2032752011-11-09  Andreas Kling  <kling@webkit.org>
203276
203277        Shrink StyleSheet on 64-bit.
203278        <http://webkit.org/b/71923>
203279
203280        Reviewed by Darin Adler.
203281
203282        Move m_disabled to the top so it folds into the padding at
203283        the end of RefCounted on 64-bit, shrinking StyleSheet by 8 bytes.
203284
203285        * css/StyleSheet.cpp:
203286        (WebCore::StyleSheet::StyleSheet):
203287        * css/StyleSheet.h:
203288
2032892011-11-09  Andreas Kling  <kling@webkit.org>
203290
203291        StyleSheet: Devirtualize styleSheetChanged().
203292        <http://webkit.org/b/71913>
203293
203294        Reviewed by Antti Koivisto.
203295
203296        Since this mechanism is only used by CSSStyleSheet, move it there.
203297        Out-of-lined StyleSheet::setDisabled() so we can do a type check
203298        before invoking it from there.
203299
203300        * css/CSSStyleSheet.h:
203301        * css/StyleSheet.cpp:
203302        (WebCore::StyleSheet::setDisabled):
203303        * css/StyleSheet.h:
203304
2033052011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
203306
203307        [Qt] Unreviewed, adding missing files to the build.
203308
203309        * Target.pri: Add ContentTypeParser.cpp/h
203310
2033112011-11-09  Andrey Kosyakov  <caseq@chromium.org>
203312
203313        Web Inspector: [refactoring] remove a bunch of methods from JavaScriptSourceFrameDelegate
203314        https://bugs.webkit.org/show_bug.cgi?id=71826
203315
203316        Reviewed by Pavel Feldman.
203317
203318        * inspector/front-end/JavaScriptSourceFrame.js:
203319        (WebInspector.JavaScriptSourceFrame):
203320        (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
203321        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
203322        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
203323        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
203324        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
203325        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
203326        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
203327        (WebInspector.JavaScriptSourceFrame.prototype._onMouseDown):
203328        * inspector/front-end/ScriptsPanel.js:
203329
2033302011-11-09  Pavel Feldman  <pfeldman@google.com>
203331
203332        Not reviewed: annotate inspector front-end javascript so that it compiled again.
203333
203334        * inspector/front-end/ShortcutsScreen.js:
203335        * inspector/front-end/WorkerManager.js:
203336
2033372011-11-09  Andreas Kling  <kling@webkit.org>
203338
203339        Unreviewed build fix after r99711. (Signed/unsigned compare.)
203340
203341        * css/CSSPrimitiveValue.cpp:
203342        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
203343
2033442011-11-09  Alexander Pavlov  <apavlov@chromium.org>
203345
203346        Web Inspector: Provisionally change StylesSidebarPane section DOM layout to allow media queries
203347        https://bugs.webkit.org/show_bug.cgi?id=71902
203348
203349        Reviewed by Pavel Feldman.
203350
203351        * inspector/front-end/StylesSidebarPane.js:
203352        (WebInspector.StylePropertiesSection):
203353        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
203354        (WebInspector.StylePropertiesSection.prototype.editingSelectorCommitted):
203355        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
203356        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
203357        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
203358
2033592011-11-09  Andreas Kling  <kling@webkit.org>
203360
203361        CSSPrimitiveValue: Fix up bitfield member types.
203362        <http://webkit.org/b/71751>
203363
203364        Reviewed by Antti Koivisto.
203365
203366        The primitive unit type doesn't need to be a signed value,
203367        and by making it unsigned, we can shave one bit off of it.
203368        Furthermore, m_hasCachedCSSText and m_isQuirkValue should be
203369        bool, not unsigned.
203370
203371        * css/CSSValue.h:
203372
2033732011-11-09  Pavel Feldman  <pfeldman@google.com>
203374
203375        Web Inspector: discard injected scripts upon front-end disconnect.
203376        https://bugs.webkit.org/show_bug.cgi?id=71823
203377
203378        Reviewed by Yury Semikhatsky.
203379
203380        Test: http/tests/inspector-enabled/injected-script-discard.html
203381
203382        * inspector/InspectorAgent.cpp:
203383        (WebCore::InspectorAgent::clearFrontend):
203384
2033852011-11-09  Andreas Kling  <kling@webkit.org>
203386
203387        CSS: Remove empty value and rule destructors.
203388        <http://webkit.org/b/71901>
203389
203390        Reviewed by Antti Koivisto.
203391
203392        * css/CSSAspectRatioValue.h:
203393        * css/CSSBorderImageSliceValue.h:
203394        (WebCore::CSSBorderImageSliceValue::create):
203395        * css/CSSBorderImageValue.h:
203396        (WebCore::CSSBorderImageValue::create):
203397        * css/CSSCharsetRule.cpp:
203398        * css/CSSCharsetRule.h:
203399        * css/CSSCrossfadeValue.h:
203400        * css/CSSFlexValue.h:
203401        * css/CSSFontFaceSrcValue.h:
203402        * css/CSSFunctionValue.h:
203403        * css/CSSPageRule.cpp:
203404        * css/CSSPageRule.h:
203405        * css/CSSUnicodeRangeValue.h:
203406        * css/CSSValueList.h:
203407        * css/WebKitCSSFilterValue.h:
203408        * css/WebKitCSSTransformValue.h:
203409
2034102011-11-09  Andreas Kling  <kling@webkit.org>
203411
203412        CSS: Remove redudant WTF_MAKE_FAST_ALLOCATED macros.
203413        <http://webkit.org/b/71897>
203414
203415        Reviewed by Antti Koivisto.
203416
203417        Everything that inherits from RefCounted<T> is already fast-allocated,
203418        so we don't need this in subclasses.
203419
203420        * css/CSSImageValue.h:
203421        * css/CSSImportRule.h:
203422        * css/WebKitCSSShaderValue.h:
203423
2034242011-11-09  Igor Oliveira  <igor.oliveira@openbossa.org>
203425
203426        [TextureMapper] Clean up TextureMapperAnimation constructor
203427        https://bugs.webkit.org/show_bug.cgi?id=71892
203428
203429        Remove copyAnimationValue and copyTimingFunction static functions. KeyframeList has
203430        a copy constructor and it does not need anymore these copy functions.
203431
203432        Reviewed by Simon Hausmann.
203433
203434        * platform/graphics/texmap/TextureMapperNode.cpp:
203435        (WebCore::TextureMapperAnimation::TextureMapperAnimation):
203436
2034372011-11-09  Alexandru Chiculita  <achicu@adobe.com>
203438
203439        [Part 1] Parse the custom() function in -webkit-filter
203440        https://bugs.webkit.org/show_bug.cgi?id=71441
203441
203442        Added code that parses the custom() function. There's no code
203443        for the CSSStyleSelector yet, so the only way to test this was to
203444        check the "styleSheets" rules.
203445
203446        Reviewed by Dean Jackson.
203447
203448        Tests: css3/filters/custom-filter-property-parsing-invalid.html
203449               css3/filters/custom-filter-property-parsing.html
203450
203451        * GNUmakefile.list.am:
203452        * Target.pri:
203453        * WebCore.gypi:
203454        * WebCore.vcproj/WebCore.vcproj:
203455        * WebCore.xcodeproj/project.pbxproj:
203456        * css/CSSComputedStyleDeclaration.cpp:
203457        (WebCore::computedFilter):
203458        * css/CSSParser.cpp:
203459        (WebCore::filterInfoForName):
203460        (WebCore::acceptCommaOperator):
203461        (WebCore::CSSParser::parseCustomFilter):
203462        (WebCore::CSSParser::parseFilter):
203463        * css/CSSParser.h:
203464        * css/CSSStyleSelector.cpp:
203465        (WebCore::filterOperationForType):
203466        (WebCore::CSSStyleSelector::createFilterOperations):
203467        * css/CSSValue.cpp:
203468        (WebCore::CSSValue::cssText):
203469        (WebCore::CSSValue::destroy):
203470        * css/CSSValue.h:
203471        (WebCore::CSSValue::isWebKitCSSShaderValue):
203472        * css/CSSValueKeywords.in:
203473        * css/WebKitCSSFilterValue.cpp:
203474        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
203475        (WebCore::WebKitCSSFilterValue::typeUsesSpaceSeparator):
203476        (WebCore::WebKitCSSFilterValue::customCssText):
203477        * css/WebKitCSSFilterValue.h:
203478        * css/WebKitCSSFilterValue.idl:
203479        * css/WebKitCSSShaderValue.h: Added.
203480        (WebCore::WebKitCSSShaderValue::create):
203481        (WebCore::WebKitCSSShaderValue::WebKitCSSShaderValue):
203482        * platform/graphics/filters/FilterOperation.h:
203483
2034842011-11-09  Yury Semikhatsky  <yurys@chromium.org>
203485
203486        Web Inspector: exception in remote front-end load handler due to undefined reference to workerManager
203487        https://bugs.webkit.org/show_bug.cgi?id=71889
203488
203489        Move calls to WorkerManager load handlers into doLoadedDone method which is
203490        called in case of remote front-end too.
203491
203492        Reviewed by Pavel Feldman.
203493
203494        * inspector/front-end/inspector.js:
203495        (WebInspector.loaded):
203496
2034972011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
203498
203499        Web Inspector: Extract ApplicationCacheModel from ApplicationCacheItemsView.
203500        https://bugs.webkit.org/show_bug.cgi?id=71850
203501
203502        Reviewed by Pavel Feldman.
203503
203504        * WebCore.gypi:
203505        * WebCore.vcproj/WebCore.vcproj:
203506        * inspector/compile-front-end.sh:
203507        * inspector/front-end/ApplicationCacheItemsView.js:
203508        (WebInspector.ApplicationCacheItemsView):
203509        (WebInspector.ApplicationCacheItemsView.prototype._update):
203510        * inspector/front-end/ApplicationCacheModel.js: Added.
203511        (WebInspector.ApplicationCacheModel):
203512        (WebInspector.ApplicationCacheModel.prototype.getApplicationCachesAsync):
203513        (WebInspector.ApplicationCacheDispatcher):
203514        (WebInspector.ApplicationCacheDispatcher.prototype.updateApplicationCacheStatus):
203515        (WebInspector.ApplicationCacheDispatcher.prototype.updateNetworkState):
203516        * inspector/front-end/ResourcesPanel.js:
203517        (WebInspector.ResourcesPanel.prototype.wasShown):
203518        (WebInspector.ResourcesPanel.prototype.reset):
203519        (WebInspector.ResourcesPanel.prototype._populateResourceTree):
203520        (WebInspector.ResourcesPanel.prototype.showApplicationCache):
203521        (WebInspector.ResourcesPanel.prototype._initializeApplicationCacheModel):
203522        * inspector/front-end/WebKit.qrc:
203523        * inspector/front-end/inspector.html:
203524
2035252011-11-09  Vsevolod Vlasov  <vsevik@chromium.org>
203526
203527        Web Inspector: ResourcesPanel should support adding subtitle to any BaseStorageTreeElement.
203528        https://bugs.webkit.org/show_bug.cgi?id=71848
203529
203530        Reviewed by Pavel Feldman.
203531
203532        * inspector/front-end/ResourcesPanel.js:
203533        (WebInspector.BaseStorageTreeElement.prototype.onattach):
203534        (WebInspector.BaseStorageTreeElement.prototype.get displayName):
203535        (WebInspector.BaseStorageTreeElement.prototype._updateDisplayName):
203536        (WebInspector.BaseStorageTreeElement.prototype._updateTitle):
203537        (WebInspector.BaseStorageTreeElement.prototype._updateSubtitle):
203538        (WebInspector.BaseStorageTreeElement.prototype.set titleText):
203539        (WebInspector.BaseStorageTreeElement.prototype.get subtitleText):
203540        (WebInspector.BaseStorageTreeElement.prototype.set subtitleText):
203541        (WebInspector.FrameTreeElement.prototype.frameNavigated):
203542        (WebInspector.FrameTreeElement.prototype.get itemURL):
203543        (WebInspector.FrameTreeElement.prototype.onselect):
203544
2035452011-11-08  Pavel Feldman  <pfeldman@google.com>
203546
203547        Web Inspector: crash upon InspectorValue serialization that has 0 value / array entry.
203548        https://bugs.webkit.org/show_bug.cgi?id=71806
203549
203550        Reviewed by Yury Semikhatsky.
203551
203552        Test: inspector/elements/resolve-alien-node.html
203553
203554        * inspector/InspectorDOMAgent.cpp:
203555        (WebCore::InspectorDOMAgent::resolveNode):
203556        * inspector/InspectorValues.h:
203557        (WebCore::InspectorObject::setValue):
203558        (WebCore::InspectorObject::setObject):
203559        (WebCore::InspectorObject::setArray):
203560        (WebCore::InspectorArray::pushValue):
203561        (WebCore::InspectorArray::pushObject):
203562        (WebCore::InspectorArray::pushArray):
203563
2035642011-11-08  Andreas Kling  <kling@webkit.org>
203565
203566        Move CSSPrimitiveValue bitfields up into CSSValue.
203567        <http://webkit.org/b/71835>
203568
203569        Reviewed by Darin Adler.
203570
203571        Move m_type (and rename it to m_primitiveUnitType),
203572        m_hasCachedCSSText and m_isQuirkValue from CSSPrimitiveValue
203573        up into CSSValue to share the space.
203574
203575        This, together with the devirtualization of CSSValue that
203576        happened on <http://webkit.org/b/71666>, reduces the size
203577        of CSSPrimitiveValue by one CPU word.
203578
203579        More specifically, we go from 16 to 12 bytes on 32-bit,
203580        and from 24 to 16 bytes on 64-bit.
203581
203582        * css/CSSPrimitiveValue.cpp:
203583        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
203584        (WebCore::CSSPrimitiveValue::init):
203585        (WebCore::CSSPrimitiveValue::cleanup):
203586        (WebCore::CSSPrimitiveValue::getDoubleValueInternal):
203587        (WebCore::CSSPrimitiveValue::getStringValue):
203588        (WebCore::CSSPrimitiveValue::getCounterValue):
203589        (WebCore::CSSPrimitiveValue::getRectValue):
203590        (WebCore::CSSPrimitiveValue::getQuadValue):
203591        (WebCore::CSSPrimitiveValue::getRGBColorValue):
203592        (WebCore::CSSPrimitiveValue::getPairValue):
203593        (WebCore::CSSPrimitiveValue::getIdent):
203594        (WebCore::CSSPrimitiveValue::customCssText):
203595        (WebCore::CSSPrimitiveValue::addSubresourceStyleURLs):
203596        * css/CSSPrimitiveValue.h:
203597        (WebCore::CSSPrimitiveValue::isLength):
203598        (WebCore::CSSPrimitiveValue::primitiveType):
203599        (WebCore::CSSPrimitiveValue::setPrimitiveType):
203600        (WebCore::CSSPrimitiveValue::getCounterValue):
203601        (WebCore::CSSPrimitiveValue::getRectValue):
203602        (WebCore::CSSPrimitiveValue::getQuadValue):
203603        (WebCore::CSSPrimitiveValue::getRGBA32Value):
203604        (WebCore::CSSPrimitiveValue::getPairValue):
203605        (WebCore::CSSPrimitiveValue::getDashboardRegionValue):
203606        (WebCore::CSSPrimitiveValue::getShapeValue):
203607        * css/CSSPrimitiveValueMappings.h:
203608        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
203609        (WebCore::CSSPrimitiveValue::operator short):
203610        (WebCore::CSSPrimitiveValue::operator unsigned short):
203611        (WebCore::CSSPrimitiveValue::operator int):
203612        (WebCore::CSSPrimitiveValue::operator unsigned):
203613        (WebCore::CSSPrimitiveValue::operator float):
203614        (WebCore::CSSPrimitiveValue::operator ColumnSpan):
203615        * css/CSSValue.h:
203616        (WebCore::CSSValue::CSSValue):
203617
2036182011-11-09  Mark Hahnenberg  <mhahnenberg@apple.com>
203619
203620        De-virtualize JSObject::defineOwnProperty
203621        https://bugs.webkit.org/show_bug.cgi?id=71429
203622
203623        Reviewed by Geoffrey Garen.
203624
203625        No new tests.
203626
203627        Added defineOwnProperty to the MethodTable, changed all the virtual 
203628        implementations of defineOwnProperty to static ones, and replaced 
203629        all call sites with corresponding lookups in the MethodTable.
203630
203631        * bindings/js/JSDOMWindowCustom.cpp:
203632        (WebCore::JSDOMWindow::defineOwnProperty):
203633        * bindings/js/JSDOMWindowShell.cpp:
203634        (WebCore::JSDOMWindowShell::defineOwnProperty):
203635        * bindings/js/JSDOMWindowShell.h:
203636        * bindings/scripts/CodeGeneratorJS.pm:
203637        (GenerateHeader):
203638
2036392011-11-09  Kentaro Hara  <haraken@chromium.org>
203640
203641        Make [CanBeConstructed] IDL redundant
203642        https://bugs.webkit.org/show_bug.cgi?id=71871
203643
203644        Reviewed by Adam Barth.
203645
203646        As the first step to remove [CanBeConstructed] IDL completely,
203647        we need to make [CanBeConstructed] IDL redundant.
203648        This patch replaces '[CanBeConstructed]' in CodeGeneratorV8.pm
203649        with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]',
203650        and replaces '[CanBeConstructed]' in CodeGeneratorJS.pm
203651        with '[CanBeConstructed] or [Constructor] or [CustomConstructor] or [JSCustomConstructor]'
203652
203653        An example:
203654            before: '[CanBeConstructed] and ![V8CustomConstructor]'
203655            after: '([CanBeConstructed] or [Constructor] or [CustomConstructor] or [V8CustomConstructor]) and ![V8CustomConstructor]' <==> '([CanBeConstructed] or [Constructor] or [CustomConstructor]) and ![V8CustomConstructor]'
203656
203657        Tests: bindings/scripts/test/TestObj.idl
203658
203659        * bindings/scripts/CodeGeneratorJS.pm: Modified as I described above.
203660        (GenerateConstructorDeclaration):
203661        (GenerateConstructorDefinition):
203662        * bindings/scripts/CodeGeneratorV8.pm: Ditto.
203663        * bindings/scripts/test/JS/JSTestObj.cpp: Updated a run-bindings-tests result.
203664        (WebCore::JSTestObjConstructor::constructJSTestObj):
203665        (WebCore::JSTestObjConstructor::getConstructData):
203666        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
203667        * bindings/scripts/test/V8/V8TestObj.cpp: Ditto.
203668        (WebCore::V8TestObj::constructorCallback):
203669
2036702011-11-09  Nikolas Zimmermann  <nzimmermann@rim.com>
203671
203672        svg failures after r99561
203673        https://bugs.webkit.org/show_bug.cgi?id=71830
203674
203675        Reviewed by Antti Koivisto.
203676
203677        Fix regressions in svg/zoom/page/relative-sized-document-scrollbars.svg and svg/zoom/page/zoom-svg-as-relative-image.html.
203678        Fix merging problem in r99561, bug 71780. It moved several methods from SVGLength to SVGLengthContext, and unfortunately
203679        the SVGLength changes part of r98852, bug 47156, got reverted again, making these two tests fail.
203680
203681        * svg/SVGLengthContext.cpp:
203682        (WebCore::SVGLengthContext::determineViewport):
203683
2036842011-11-09  Rakesh KN  <rakesh.kn@motorola.com>
203685
203686        Select multiple options with mouse drag in Select element.
203687        https://bugs.webkit.org/show_bug.cgi?id=71128
203688
203689        Reviewed by Ryosuke Niwa.
203690
203691        Multiple selection of option elements in select element with an mouse drag.
203692        Other browsers(IE, Firefox, Opera) support this feature.
203693
203694        Test: fast/forms/select-multiple-elements-with-mouse-drag.html
203695
203696        * page/EventHandler.cpp:
203697        (WebCore::EventHandler::handleMouseDraggedEvent):
203698        Allow auto scroll to be fired if current node(option) under mouse does not have renderer
203699        but its container node(select) can autoscroll and has renderer for specific case of ListBox
203700
2037012011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
203702
203703        [Qt] Build system cleanup
203704        https://bugs.webkit.org/show_bug.cgi?id=71815
203705
203706        Reviewed by Kenneth Rohde Christiansen.
203707
203708        * Target.pri: Removed CodeGenHSL.cpp from the angle build. In the angle build the back-end has to
203709        be either GLSL or HSL, it can't be both. Make a choice for GLSL as that's what it seems to be used for
203710        at the moment.
203711
2037122011-11-09  Mark Rowe  <mrowe@apple.com>
203713
203714        Fix the build.
203715
203716        * WebCore.exp.in: Export the right symbol names.
203717        * WebCore.xcodeproj/project.pbxproj: Make the header file available outside of WebCore.
203718
2037192011-11-08  Simon Hausmann  <simon.hausmann@nokia.com>
203720
203721        [Qt] Replace use of QApplication with QGuiApplication
203722        https://bugs.webkit.org/show_bug.cgi?id=71794
203723
203724        Reviewed by Andreas Kling.
203725
203726        * Target.pri: Add compat include dir when compiling with Qt 4.
203727        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
203728        (FullScreenVideoWindow::closeEvent): Replace use of QApplication with QGuiApplication.
203729        (FullScreenVideoWindow::hideCursor): Ditto.
203730        (FullScreenVideoWindow::showCursor): Ditto.
203731        * platform/graphics/qt/TileQt.cpp: Remove unnecessary inclusion of QApplication.
203732        * platform/qt/ClipboardQt.cpp: Replace use of QApplication with QGuiApplication.
203733        (WebCore::ClipboardQt::ClipboardQt):
203734        (WebCore::ClipboardQt::clearData):
203735        (WebCore::ClipboardQt::clearAllData):
203736        (WebCore::ClipboardQt::setData):
203737        (WebCore::ClipboardQt::declareAndWriteDragImage):
203738        (WebCore::ClipboardQt::writeURL):
203739        (WebCore::ClipboardQt::writeRange):
203740        (WebCore::ClipboardQt::writePlainText):
203741        * platform/qt/PasteboardQt.cpp: Ditto.
203742        (WebCore::Pasteboard::writeSelection):
203743        (WebCore::Pasteboard::canSmartReplace):
203744        (WebCore::Pasteboard::plainText):
203745        (WebCore::Pasteboard::documentFragment):
203746        (WebCore::Pasteboard::writePlainText):
203747        (WebCore::Pasteboard::writeURL):
203748        (WebCore::Pasteboard::writeImage):
203749
2037502011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
203751
203752        Mac Build fix part 2: Oops, use the correct wtf/ prefix for the WTF include.
203753
203754        * page/SecurityPolicy.cpp:
203755
2037562011-11-09  Simon Hausmann  <simon.hausmann@nokia.com>
203757
203758        Prospective build fix for Windows: Include MainThread.h for ASSERT(isMainThread())
203759        to compile.
203760
203761        * page/SecurityPolicy.cpp:
203762
2037632011-11-07  Adam Barth  <abarth@webkit.org>
203764
203765        Move static "policy" state from SecurityOrigin.cpp to SecurityPolicy.cpp
203766        https://bugs.webkit.org/show_bug.cgi?id=71755
203767
203768        Reviewed by Eric Seidel.
203769
203770        The SecurityOrigin class should be focused on representing a web
203771        security origin rather than being a dumping ground for all
203772        security-related state.  This patch moves a bunch of static "policy"
203773        state into its own SecurityPolicy class.
203774
203775        * WebCore.exp.in:
203776        * WebCore.gypi:
203777        * dom/Document.cpp:
203778        (WebCore::Document::initSecurityContext):
203779        * html/HTMLAnchorElement.cpp:
203780        (WebCore::HTMLAnchorElement::handleClick):
203781        * loader/FrameLoader.cpp:
203782        (WebCore::FrameLoader::loadFrameRequest):
203783        (WebCore::FrameLoader::loadResourceSynchronously):
203784        * loader/PingLoader.cpp:
203785        (WebCore::PingLoader::loadImage):
203786        (WebCore::PingLoader::sendPing):
203787        (WebCore::PingLoader::reportContentSecurityPolicyViolation):
203788        * loader/SubframeLoader.cpp:
203789        (WebCore::SubframeLoader::loadSubframe):
203790        * loader/SubresourceLoader.cpp:
203791        (WebCore::SubresourceLoader::create):
203792        * page/SecurityOrigin.cpp:
203793        (WebCore::SecurityOrigin::canRequest):
203794        (WebCore::SecurityOrigin::canDisplay):
203795        (WebCore::SecurityOrigin::grantLoadLocalResources):
203796        * page/SecurityOrigin.h:
203797
2037982011-11-08  Antaryami Pandia  <antaryami.pandia@motorola.com>
203799
203800        Default <select multiple> expands up to 10 items instead of showing 4.
203801        https://bugs.webkit.org/show_bug.cgi?id=70765
203802
203803        Reviewed by Darin Adler.
203804
203805        Tests: fast/forms/select-clientheight-large-size.html
203806               fast/forms/select-clientheight-with-multiple-attr.html
203807
203808        * rendering/RenderListBox.cpp:
203809        (WebCore::RenderListBox::size):
203810
2038112011-11-08  Chris Evans  <cevans@google.com>
203812
203813        Crash accessing font fact rule parent
203814        https://bugs.webkit.org/show_bug.cgi?id=71860
203815
203816        Reviewed by Adam Barth.
203817
203818        Test: fast/css/css-fontface-rule-crash.html
203819
203820        * css/CSSFontFaceRule.cpp:
203821        (WebCore::CSSFontFaceRule::~CSSFontFaceRule): tell our child rule when we are going away.
203822
2038232011-11-08  Adam Klein  <adamk@chromium.org>
203824
203825        Use a typedef for ExceptionCode in all header files instead of including ExceptionCode.h
203826        https://bugs.webkit.org/show_bug.cgi?id=71845
203827
203828        Reviewed by Adam Barth.
203829
203830        Some headers in WebCore include ExceptionCode.h to get the ExceptionCode typedef,
203831        while others provide the typedef themselves. Per Darin, the latter is preferred,
203832        so this patch updates all references, and fixes up .cpp files that
203833        need the include in order to access the enum.
203834
203835        * bindings/js/JSSVGLengthCustom.cpp:
203836        * bindings/scripts/CodeGeneratorJS.pm:
203837        (GenerateImplementation): #include ExceptionCode.h when needed for SVG.
203838        * bindings/scripts/CodeGeneratorObjC.pm:
203839        (GenerateImplementation): #include ExceptionCode.h when needed for SVG.
203840        * bindings/v8/custom/V8NotificationCenterCustom.cpp:
203841        * bindings/v8/custom/V8SVGLengthCustom.cpp:
203842        * css/WebKitCSSMatrix.h:
203843        * fileapi/DirectoryReaderSync.h:
203844        * fileapi/EntrySync.h:
203845        * fileapi/FileReader.h:
203846        * fileapi/FileReaderSync.h:
203847        * fileapi/SyncCallbackHelper.h:
203848        * html/ClassList.h:
203849        * html/DOMSettableTokenList.h:
203850        * html/DOMTokenList.cpp:
203851        * html/DOMTokenList.h:
203852        * html/TextTrack.cpp:
203853        * html/TextTrack.h:
203854        * html/TimeRanges.cpp:
203855        * html/TimeRanges.h:
203856        * html/canvas/ArrayBuffer.cpp:
203857        * html/canvas/ArrayBuffer.h:
203858        * html/canvas/ArrayBufferView.cpp:
203859        * html/canvas/ArrayBufferView.h:
203860        * html/canvas/DataView.cpp:
203861        * html/canvas/DataView.h:
203862        * html/canvas/OESVertexArrayObject.h:
203863        * html/canvas/WebGLDebugShaders.h:
203864        * html/canvas/WebGLRenderingContext.cpp:
203865        * html/canvas/WebGLRenderingContext.h:
203866        * mediastream/MediaStreamFrameController.cpp:
203867        * mediastream/MediaStreamFrameController.h:
203868        * notifications/Notification.h:
203869        * notifications/NotificationCenter.h:
203870        * storage/AbstractDatabase.cpp:
203871        * storage/AbstractDatabase.h:
203872        * storage/Database.h:
203873        * storage/DatabaseSync.h:
203874        * storage/DatabaseTask.h:
203875        * storage/IDBCursor.h:
203876        * storage/IDBCursorBackendInterface.h:
203877        * storage/IDBDatabase.h:
203878        * storage/IDBDatabaseBackendInterface.h:
203879        * storage/IDBFactory.h:
203880        * storage/IDBFactoryBackendInterface.h:
203881        * storage/IDBIndexBackendInterface.h:
203882        * storage/IDBKeyRange.h:
203883        * storage/IDBObjectStoreBackendInterface.h:
203884        * storage/IDBRequest.h:
203885        * storage/IDBTransactionBackendInterface.h:
203886        * storage/SQLResultSet.cpp:
203887        * storage/SQLResultSet.h:
203888        * storage/SQLStatementSync.h:
203889        * storage/SQLTransaction.cpp:
203890        * storage/SQLTransaction.h:
203891        * storage/SQLTransactionSync.h:
203892        * svg/ElementTimeControl.h:
203893        * svg/SVGAngle.cpp:
203894        * svg/SVGAngle.h:
203895        * svg/SVGLength.cpp:
203896        * svg/SVGLength.h:
203897        * svg/SVGLengthContext.cpp:
203898        * svg/SVGLengthContext.h:
203899        * svg/SVGLocatable.h:
203900        * svg/SVGMatrix.h:
203901        * svg/SVGPreserveAspectRatio.cpp:
203902        * svg/SVGPreserveAspectRatio.h:
203903        * testing/Internals.h:
203904        * webaudio/AudioContext.cpp:
203905        * workers/DefaultSharedWorkerRepository.cpp:
203906        * workers/DefaultSharedWorkerRepository.h:
203907        * workers/SharedWorkerRepository.h:
203908
2039092011-11-08  Kentaro Hara  <haraken@chromium.org>
203910
203911        CodeGeneratorV8.pm can generate a NamedConstructor
203912        https://bugs.webkit.org/show_bug.cgi?id=71756
203913
203914        Reviewed by Adam Barth.
203915
203916        - IDLParser.pm can parse [NamedConstructor] IDL.
203917        - CodeGeneratorV8.pm can generate a NamedConstructor
203918        and a template getter for the NamedConstructor.
203919        - Added a new binding test named TestNamedConstructor.idl.
203920
203921        Tests: WebCore/bindings/scripts/test/TestNamedConstructor.idl
203922
203923        * bindings/scripts/CodeGeneratorV8.pm:
203924        (GenerateHeader): Generates a header for a NamedConstructor.
203925        (GenerateNamedConstructorCallback): Generates the NamedConstructor and a template getter for the NamedConstructor.
203926        (GenerateSingleBatchedAttribute): If an IDL type is "XXXXConstructorConstructor", then we do not add a header file of XXXXConstructor, because the XXXXConstructor declaration is written in the header file of class XXXX.
203927        * bindings/scripts/IDLParser.pm:
203928        (parseExtendedAttributes): Parses 'NamedConstructor' '=' name '(' parameters ')' ','?
203929        (ParseInterface): Creates the signature of a NamedConstructor.
203930        * bindings/scripts/test/TestNamedConstructor.idl: Added a new test for the [NamedConstructor] IDL.
203931        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.cpp: Added a run-binding-test result of TestNamedConstructor.idl.
203932        (WebDOMTestNamedConstructor::WebDOMTestNamedConstructorPrivate::WebDOMTestNamedConstructorPrivate):
203933        (WebDOMTestNamedConstructor::WebDOMTestNamedConstructor):
203934        (WebDOMTestNamedConstructor::operator=):
203935        (WebDOMTestNamedConstructor::impl):
203936        (WebDOMTestNamedConstructor::~WebDOMTestNamedConstructor):
203937        (toWebCore):
203938        (toWebKit):
203939        * bindings/scripts/test/CPP/WebDOMTestNamedConstructor.h: Ditto.
203940        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.cpp: Ditto.
203941        (WebKit::kit):
203942        (WebKit::core):
203943        (webkit_dom_test_named_constructor_finalize):
203944        (webkit_dom_test_named_constructor_set_property):
203945        (webkit_dom_test_named_constructor_get_property):
203946        (webkit_dom_test_named_constructor_constructed):
203947        (webkit_dom_test_named_constructor_class_init):
203948        (webkit_dom_test_named_constructor_init):
203949        (WebKit::wrapTestNamedConstructor):
203950        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructor.h: Ditto.
203951        * bindings/scripts/test/GObject/WebKitDOMTestNamedConstructorPrivate.h: Ditto.
203952        * bindings/scripts/test/JS/JSTestNamedConstructor.cpp: Ditto.
203953        (WebCore::JSTestNamedConstructorConstructor::JSTestNamedConstructorConstructor):
203954        (WebCore::JSTestNamedConstructorConstructor::finishCreation):
203955        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertySlot):
203956        (WebCore::JSTestNamedConstructorConstructor::getOwnPropertyDescriptor):
203957        (WebCore::JSTestNamedConstructorPrototype::self):
203958        (WebCore::JSTestNamedConstructor::JSTestNamedConstructor):
203959        (WebCore::JSTestNamedConstructor::finishCreation):
203960        (WebCore::JSTestNamedConstructor::createPrototype):
203961        (WebCore::JSTestNamedConstructor::getOwnPropertySlot):
203962        (WebCore::JSTestNamedConstructor::getOwnPropertyDescriptor):
203963        (WebCore::jsTestNamedConstructorConstructor):
203964        (WebCore::JSTestNamedConstructor::getConstructor):
203965        (WebCore::isObservable):
203966        (WebCore::JSTestNamedConstructorOwner::isReachableFromOpaqueRoots):
203967        (WebCore::JSTestNamedConstructorOwner::finalize):
203968        (WebCore::toJS):
203969        (WebCore::toTestNamedConstructor):
203970        * bindings/scripts/test/JS/JSTestNamedConstructor.h: Ditto.
203971        (WebCore::JSTestNamedConstructor::create):
203972        (WebCore::JSTestNamedConstructor::createStructure):
203973        (WebCore::JSTestNamedConstructor::impl):
203974        (WebCore::wrapperOwner):
203975        (WebCore::wrapperContext):
203976        (WebCore::JSTestNamedConstructorPrototype::create):
203977        (WebCore::JSTestNamedConstructorPrototype::createStructure):
203978        (WebCore::JSTestNamedConstructorPrototype::JSTestNamedConstructorPrototype):
203979        (WebCore::JSTestNamedConstructorConstructor::create):
203980        (WebCore::JSTestNamedConstructorConstructor::createStructure):
203981        * bindings/scripts/test/ObjC/DOMTestNamedConstructor.h: Ditto.
203982        * bindings/scripts/test/ObjC/DOMTestNamedConstructor.mm: Ditto.
203983        (-[DOMTestNamedConstructor dealloc]):
203984        (-[DOMTestNamedConstructor finalize]):
203985        (core):
203986        (kit):
203987        * bindings/scripts/test/ObjC/DOMTestNamedConstructorInternal.h: Ditto.
203988        * bindings/scripts/test/V8/V8TestNamedConstructor.cpp: Ditto.
203989        (WebCore::TestNamedConstructorInternal::V8_USE):
203990        (WebCore::V8TestNamedConstructorConstructorCallback):
203991        (WebCore::V8TestNamedConstructorConstructor::GetTemplate):
203992        (WebCore::ConfigureV8TestNamedConstructorTemplate):
203993        (WebCore::V8TestNamedConstructor::GetRawTemplate):
203994        (WebCore::V8TestNamedConstructor::GetTemplate):
203995        (WebCore::V8TestNamedConstructor::HasInstance):
203996        (WebCore::V8TestNamedConstructor::toActiveDOMObject):
203997        (WebCore::V8TestNamedConstructor::wrapSlow):
203998        (WebCore::V8TestNamedConstructor::derefObject):
203999        * bindings/scripts/test/V8/V8TestNamedConstructor.h: Ditto.
204000        (WebCore::V8TestNamedConstructor::toNative):
204001        (WebCore::V8TestNamedConstructor::existingWrapper):
204002        (WebCore::V8TestNamedConstructor::wrap):
204003        (WebCore::toV8):
204004        * page/DOMWindow.idl: Added [CustomConstructor] IDL to HTMLAudioElement, HTMLImageElement and HTMLOptionElement.
204005
2040062011-11-08  Philip Rogers  <pdr@google.com>
204007
204008        fix REGRESSION: SVG feColorMatrix causes crash
204009        https://bugs.webkit.org/show_bug.cgi?id=71287
204010
204011        Reviewed by Simon Fraser.
204012
204013        Test: svg/filters/feColorMatrix-invalid-animation.svg
204014
204015        * svg/SVGAnimatedNumberList.cpp:
204016        (WebCore::SVGAnimatedNumberListAnimator::calculateAnimatedValue):
204017
2040182011-11-08  Scott Graham  <scottmg@chromium.org>
204019
204020        Add support for arrays of numbers to IDL bindings code generator
204021        https://bugs.webkit.org/show_bug.cgi?id=71763
204022
204023        Adds support for float[] and double[] to IDL. Support for other types
204024        appears to be more complicated (or at least more copy-paste) so not
204025        doing that for now for lack of need.
204026
204027        Reviewed by Adam Barth.
204028
204029        Tests added to TestObj.idl.
204030
204031        * bindings/scripts/CodeGeneratorV8.pm:
204032        (IsRefPtrType):
204033        (GetNativeType):
204034        (JSValueToNative):
204035        (NativeToJSValue):
204036        * bindings/scripts/test/TestObj.idl:
204037        * bindings/scripts/test/V8/V8TestObj.cpp:
204038        (WebCore::TestObjInternal::floatArrayAttrGetter):
204039        (WebCore::TestObjInternal::floatArrayAttrSetter):
204040        (WebCore::TestObjInternal::doubleArrayAttrGetter):
204041        (WebCore::TestObjInternal::doubleArrayAttrSetter):
204042        * bindings/v8/V8Binding.h:
204043        (WebCore::v8NumberArray):
204044        (WebCore::v8NumberArrayToVector):
204045
2040462011-11-08  Dan Bernstein  <mitz@apple.com>
204047
204048        REGRESSION (r99613): Incomplete painting of the root element background in flipped blocks writing mode
204049        https://bugs.webkit.org/show_bug.cgi?id=71863
204050
204051        Reviewed by Anders Carlsson.
204052
204053        * rendering/RenderBox.cpp:
204054        (WebCore::RenderBox::paintRootBoxFillLayers): Instead of unconditionally flipping the background
204055        rect here...
204056        * rendering/RenderView.cpp:
204057        (WebCore::RenderView::backgroundRect): ...flip it only in column mode here.
204058        * rendering/RenderView.h:
204059
2040602011-11-08  Michael Saboff  <msaboff@apple.com>
204061
204062        Towards 8 Bit Strings: Templatize JSC::Parser class by Lexer type
204063        https://bugs.webkit.org/show_bug.cgi?id=71761
204064
204065        Cleaned up SourceCode data() to return StringImpl* and eliminated
204066        the recently added stringData() virtual method.
204067
204068        No tests added - refactored base class SourceCode and its subclasses.
204069
204070        * bindings/js/CachedScriptSourceProvider.h:
204071        (WebCore::CachedScriptSourceProvider::data):
204072        * bindings/js/ScriptDebugServer.cpp:
204073        (WebCore::ScriptDebugServer::dispatchDidParseSource):
204074        (WebCore::ScriptDebugServer::dispatchFailedToParseSource):
204075        * bindings/js/StringSourceProvider.h:
204076        (WebCore::StringSourceProvider::data):
204077
2040782011-11-08  Xiaomei Ji  <xji@chromium.org>
204079
204080        REGRESSION: rtl horizontal scrollbar / resize bug - Body shifts on resize when scrolled all the way to the left
204081        https://bugs.webkit.org/show_bug.cgi?id=70395
204082
204083        Reviewed by Tony Chang.
204084
204085        Change the condition to perform immediate scolling inside ScrollView::updateScrollbars()
204086        to be correct for RTL page as well, which is checking either the scroll position change or
204087        the m_scrollOrigin changes (such as in window resize in which scroll position might remain the same).
204088
204089        And remove condition checking inside ScrollableArea::scrollToOffsetWithoutAnimation() since
204090        the pass-in offset is adjusted within the current scroll range, it could be the same as
204091        m_currentPos when m_currentPos is (0, 0) and current scroll range is smaller than old 
204092        scroll range, but scolling is still needed when page resize and scroll range changes.
204093
204094        Test: fast/dom/rtl-scroll-to-leftmost-and-resize.html
204095
204096        * platform/ScrollAnimator.cpp:
204097        (WebCore::ScrollAnimator::scrollToOffsetWithoutAnimation): Remove condition checking.
204098        * platform/ScrollView.cpp:
204099        (WebCore::ScrollView::updateScrollbars): Change condition to perform immediate scrolling to be
204100        correct for RTL pages as well.
204101        * platform/ScrollableArea.cpp: Update m_scrollOriginChanged.
204102        (WebCore::ScrollableArea::ScrollableArea):
204103        (WebCore::ScrollableArea::setScrollOrigin):
204104        (WebCore::ScrollableArea::setScrollOriginX):
204105        (WebCore::ScrollableArea::setScrollOriginY):
204106        * platform/ScrollableArea.h: Add m_scrollOriginChanged.
204107        (WebCore::ScrollableArea::scrollOriginChanged):
204108        (WebCore::ScrollableArea::resetScrollOriginChanged):
204109
2041102011-11-08  Dan Bernstein  <mitz@apple.com>
204111
204112        <rdar://problem/10262225> Allow RenderView to have columns
204113        https://bugs.webkit.org/show_bug.cgi?id=71840
204114
204115        Reviewed by Simon Fraser.
204116
204117        Tests: fast/multicol/pagination-h-horizontal-bt.html
204118               fast/multicol/pagination-h-horizontal-tb.html
204119               fast/multicol/pagination-h-vertical-lr.html
204120               fast/multicol/pagination-h-vertical-rl.html
204121               fast/multicol/pagination-v-horizontal-bt.html
204122               fast/multicol/pagination-v-horizontal-tb.html
204123               fast/multicol/pagination-v-vertical-lr.html
204124               fast/multicol/pagination-v-vertical-rl.html
204125
204126        * WebCore.exp.in: Export Page::setPagination() for WebCoreTestSupport.
204127        * css/CSSStyleSelector.cpp:
204128        (WebCore::CSSStyleSelector::styleForDocument): Set the column axis and the column gap in the
204129        document style if the view is paginated.
204130        * page/Page.cpp:
204131        (WebCore::Page::setPagination): Added this setter.
204132        * page/Page.h:
204133        (WebCore::Page::Pagination::Pagination):
204134        (WebCore::Page::pagination): Added this getter.
204135        * rendering/RenderBlock.cpp:
204136        (WebCore::RenderBlock::requiresColumns): Added and moved some logic to here from...
204137        (WebCore::RenderBlock::setDesiredColumnCountAndWidth): ...here.
204138        * rendering/RenderBlock.h:
204139        * rendering/RenderBox.cpp:
204140        (WebCore::RenderBox::paintRootBoxFillLayers): Changed to use the new RenderView::backgroundRect()
204141        instead of unscaledDocumentRect().
204142        * rendering/RenderView.cpp:
204143        (WebCore::RenderView::requiresColumns): Added this override that always returns true if the view
204144        is paginated.
204145        (WebCore::RenderView::backgroundRect): Added. In the paginated case, returns a rectangle stretching
204146        across all columns.
204147        * rendering/RenderView.h:
204148        * testing/Internals.cpp:
204149        (WebCore::Internals::reset): Also reset pagination.
204150        (WebCore::Internals::setPagination): Added this setter for testing.
204151        * testing/Internals.h:
204152        * testing/Internals.idl:
204153
2041542011-11-08  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
204155
204156        Document.importNode's 'deep' argument should default to true.
204157        https://bugs.webkit.org/show_bug.cgi?id=71190
204158
204159        Reviewed by Adam Barth.
204160
204161        As new specification says deep argument of importNode should be default to true.
204162
204163        Test: fast/dom/document-importNode-arguments.html
204164
204165        * dom/Document.h: Added supportive method.
204166        (WebCore::Document::importNode):
204167        * dom/Document.idl: Modified deep argument as optional.
204168
2041692011-11-08  Adam Klein  <adamk@chromium.org>
204170
204171        WebKitMutationObserver.observe should raise a DOMException if passed invalid arguments
204172        https://bugs.webkit.org/show_bug.cgi?id=71596
204173
204174        Reviewed by Ryosuke Niwa.
204175
204176        Adds two cases where WebKitMutationObserver.observe throws an exception:
204177          - When passed a null Node*.
204178          - When passed options that don't make sense, e.g.,
204179            'attributeOldValue' but not 'attributes'.
204180
204181        * bindings/js/JSWebKitMutationObserverCustom.cpp:
204182        (WebCore::JSWebKitMutationObserver::observe):
204183        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
204184        (WebCore::V8WebKitMutationObserver::observeCallback):
204185        * dom/WebKitMutationObserver.cpp:
204186        (WebCore::WebKitMutationObserver::validateOptions):
204187        (WebCore::WebKitMutationObserver::observe):
204188        * dom/WebKitMutationObserver.h:
204189        * dom/WebKitMutationObserver.idl:
204190
2041912011-11-08  Joshua Bell  <jsbell@chromium.org>
204192
204193        IndexedDB: implement compound (array) key support
204194        https://bugs.webkit.org/show_bug.cgi?id=62284
204195
204196        Reviewed by Tony Chang.
204197
204198        Add support for Array values as IDBKeys. (Multirow indexes are still
204199        not yet supported.)
204200
204201        Tests: storage/indexeddb/cursor-key-order.html
204202               storage/indexeddb/key-type-array.html
204203
204204        * bindings/js/JSIDBKeyCustom.cpp:
204205        (WebCore::toJS):
204206        * bindings/v8/IDBBindingUtilities.cpp:
204207        (WebCore::createIDBKeyFromValue):
204208        * bindings/v8/custom/V8IDBKeyCustom.cpp:
204209        (WebCore::toV8):
204210        * storage/IDBKey.cpp:
204211        (WebCore::IDBKey::compare):
204212        * storage/IDBKey.h:
204213        (WebCore::IDBKey::createArray):
204214        (WebCore::IDBKey::valid):
204215        (WebCore::IDBKey::array):
204216        (WebCore::IDBKey::compareTypes):
204217        * storage/IDBLevelDBCoding.cpp:
204218        (WebCore::IDBLevelDBCoding::compareEncodedStringsWithLength):
204219        (WebCore::IDBLevelDBCoding::encodeIDBKey):
204220        (WebCore::IDBLevelDBCoding::decodeIDBKey):
204221        (WebCore::IDBLevelDBCoding::extractEncodedIDBKey):
204222        (WebCore::IDBLevelDBCoding::keyTypeByteToKeyType):
204223        (WebCore::IDBLevelDBCoding::compareEncodedIDBKeys):
204224        * storage/IDBLevelDBCoding.h:
204225
2042262011-11-08  Daniel Bates  <dbates@webkit.org>
204227
204228        Remove get() defined in CredentialStorageQt.cpp
204229        https://bugs.webkit.org/show_bug.cgi?id=71829
204230
204231        Reviewed by Andreas Kling.
204232
204233        CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
204234        provides the base implementation for each platform. We shouldn't re-define
204235        CredentialStorage::get() in CredentialStorageQt.cpp.
204236
204237        * Target.pri: Add files CredentialStorage.{cpp, h}.
204238        * platform/network/qt/CredentialStorageQt.cpp:
204239
2042402011-11-08  Joshua Bell  <jsbell@chromium.org>
204241
204242        IndexedDB: reference cycle between IDBDatabase and IDBTransaction
204243        https://bugs.webkit.org/show_bug.cgi?id=71749
204244
204245        Reviewed by Tony Chang.
204246
204247        Break a cyclic reference leak following a setVersion call.
204248
204249        * storage/IDBDatabase.cpp:
204250        (WebCore::IDBDatabase::setVersionChangeTransaction):
204251        (WebCore::IDBDatabase::clearVersionChangeTransaction):
204252        (WebCore::IDBDatabase::createObjectStore):
204253        (WebCore::IDBDatabase::deleteObjectStore):
204254        * storage/IDBDatabase.h:
204255        * storage/IDBRequest.cpp:
204256        (WebCore::IDBRequest::onSuccess):
204257        * storage/IDBTransaction.cpp:
204258        (WebCore::IDBTransaction::create):
204259        (WebCore::IDBTransaction::onAbort):
204260        (WebCore::IDBTransaction::onComplete):
204261
2042622011-11-08  Daniel Bates  <dbates@webkit.org>
204263
204264        Remove get() defined in CredentialStorageSoup.cpp
204265        https://bugs.webkit.org/show_bug.cgi?id=71825
204266
204267        Reviewed by Martin Robinson.
204268
204269        CredentialStorage::get() is implemented in CredentialStorage.cpp. And CredentialStorage.cpp
204270        provides the base implementation for each platform. We shouldn't re-define
204271        CredentialStorage::get() in CredentialStorageSoup.cpp.
204272
204273        * GNUmakefile.list.am: Add source file CredentialStorage.cpp.
204274        * platform/network/soup/CredentialStorageSoup.cpp: Remove re-definition of CredentialStorage::get().
204275        CredentialStorage::get() is defined in CredentialStorage.cpp.
204276
2042772011-11-08  Roland Steiner  <rolandsteiner@chromium.org>
204278
204279        Rename CSS document() -> findDocument(), to indicate tree climbing
204280        https://bugs.webkit.org/show_bug.cgi?id=71764
204281
204282        Renamed document() to findDocument(), styleSheetOwnerNode() to findStyleSheetOwnerNode().
204283
204284        Reviewed by Darin Adler.
204285
204286        No new tests. (simple refactoring)
204287
204288        * css/CSSGrammar.y:
204289        * css/CSSImportRule.cpp:
204290        (WebCore::CSSImportRule::setCSSStyleSheet):
204291        (WebCore::CSSImportRule::requestStyleSheet):
204292        * css/CSSMutableStyleDeclaration.cpp:
204293        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
204294        * css/CSSParser.cpp:
204295        (WebCore::parseColorValue):
204296        (WebCore::parseSimpleLengthValue):
204297        (WebCore::CSSParser::setStyleSheet):
204298        (WebCore::CSSParser::findDocument):
204299        (WebCore::CSSParser::parseAttr):
204300        * css/CSSParser.h:
204301        * css/CSSStyleRule.cpp:
204302        (WebCore::CSSStyleRule::setSelectorText):
204303        * css/CSSStyleSheet.cpp:
204304        (WebCore::CSSStyleSheet::cssRules):
204305        (WebCore::CSSStyleSheet::findStyleSheetOwnerNode):
204306        (WebCore::CSSStyleSheet::findDocument):
204307        (WebCore::CSSStyleSheet::styleSheetChanged):
204308        * css/CSSStyleSheet.h:
204309        * inspector/InspectorCSSAgent.cpp:
204310        (WebCore::InspectorCSSAgent::bindStyleSheet):
204311        * inspector/InspectorStyleSheet.cpp:
204312        (WebCore::InspectorStyleSheet::ownerDocument):
204313        * page/PageSerializer.cpp:
204314        (WebCore::PageSerializer::serializeCSSStyleSheet):
204315        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
204316
2043172011-11-07  Ryosuke Niwa  <rniwa@webkit.org>
204318
204319        Indent command can insert block quote in non editable content
204320        https://bugs.webkit.org/show_bug.cgi?id=71754
204321
204322        Reviewed by Enrica Casucci.
204323
204324        The bug was caused by IndentOutdentCommand's incorrectly using deprecatedNode to determine the outer block,
204325        not updating the start after inserting the targetBlockquote, and cloneParagraphUnderNewElement's cloning
204326        outerNode even if it was body. Fixed those bugs.
204327
204328        Test: editing/execCommand/indent-images.html
204329              editing/execCommand/indent-images-2.html
204330              editing/execCommand/indent-images-3.html
204331
204332        * editing/CompositeEditCommand.cpp:
204333        (WebCore::CompositeEditCommand::cloneParagraphUnderNewElement):
204334        * editing/IndentOutdentCommand.cpp:
204335        (WebCore::IndentOutdentCommand::indentIntoBlockquote):
204336
2043372011-11-08  Adam Klein  <adamk@chromium.org>
204338
204339        Only walk up the tree in search of MutationObservers if one has been added
204340        https://bugs.webkit.org/show_bug.cgi?id=71499
204341
204342        Reviewed by Ojan Vafai.
204343
204344        Analogous to m_listenerTypes, added an m_subtreeMutationObserverTypes field
204345        to Document that keeps track of which observer types have been added.
204346        This allows us to avoid doing any extra work if MutationObservers are
204347        not attached to a document.
204348
204349        This could be improved upon to keep a count of each type, as removing
204350        an observer currently has no effect on m_subtreeMutationObserverTypes.
204351        But that would require a more complex implementation: one counter per
204352        mutation type. And it would be easier to get wrong: if the counter
204353        gets out of sync with the actual state of the DOM, we could start
204354        dropping mutation notifications.
204355
204356        Test: fast/mutation/cross-document.html
204357
204358        * dom/Document.h:
204359        (WebCore::Document::hasSubtreeMutationObserverOfType):
204360        (WebCore::Document::hasSubtreeMutationObserver):
204361        (WebCore::Document::addSubtreeMutationObserverTypes):
204362        * dom/MutationObserverRegistration.h:
204363        (WebCore::MutationObserverRegistration::isSubtree):
204364        (WebCore::MutationObserverRegistration::deliveryOptions):
204365        (WebCore::MutationObserverRegistration::mutationTypes):
204366        * dom/Node.cpp:
204367        (WebCore::Node::didMoveToNewOwnerDocument): Update mutationObserverTypes when a Node is moved to a new document.
204368        (WebCore::Node::getRegisteredMutationObserversOfType): Exit early if it's known that no observers of |type| are registered.
204369        (WebCore::Node::notifyMutationObserversNodeWillDetach): Exit early if it's known no subtree observers of any type are registered.
204370        * dom/WebKitMutationObserver.cpp:
204371        (WebCore::WebKitMutationObserver::observe): Update mutationObserverTypes when an observation occurs.
204372        * dom/WebKitMutationObserver.h: Add WebKitMutationObserver::AllMutationTypes to enum
204373
2043742011-11-08  Andreas Kling  <kling@webkit.org>
204375
204376        Devirtualize CSSValue.
204377        <http://webkit.org/b/71666>
204378
204379        Reviewed by Antti Koivisto.
204380
204381        Make the CSSValue destructor non-virtual (along with all the subclasses.)
204382        This removes the vtables, and the pointers thereto in each value instance,
204383        shrinking each object by one CPU word (4 or 8 bytes.)
204384
204385        We use the same trick as CSSRule to implement destruction; providing our
204386        own deref() instead of RefCounted's, and performing a statically typed
204387        delete in a destroy() method called when the ref count reaches 0.
204388
204389        Also made all the empty subclass destructors inline.
204390
204391        * css/CSSAspectRatioValue.cpp:
204392        * css/CSSAspectRatioValue.h:
204393        (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
204394        * css/CSSBorderImageSliceValue.cpp:
204395        * css/CSSBorderImageSliceValue.h:
204396        (WebCore::CSSBorderImageSliceValue::~CSSBorderImageSliceValue):
204397        * css/CSSBorderImageValue.cpp:
204398        * css/CSSBorderImageValue.h:
204399        (WebCore::CSSBorderImageValue::~CSSBorderImageValue):
204400        * css/CSSCanvasValue.h:
204401        * css/CSSCrossfadeValue.cpp:
204402        * css/CSSCrossfadeValue.h:
204403        (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
204404        * css/CSSCursorImageValue.h:
204405        * css/CSSFlexValue.cpp:
204406        * css/CSSFlexValue.h:
204407        (WebCore::CSSFlexValue::~CSSFlexValue):
204408        * css/CSSFontFaceSrcValue.cpp:
204409        * css/CSSFontFaceSrcValue.h:
204410        (WebCore::CSSFontFaceSrcValue::~CSSFontFaceSrcValue):
204411        * css/CSSFunctionValue.cpp:
204412        * css/CSSFunctionValue.h:
204413        (WebCore::CSSFunctionValue::~CSSFunctionValue):
204414        * css/CSSImageGeneratorValue.h:
204415        * css/CSSImageValue.h:
204416        * css/CSSMutableValue.h:
204417        (WebCore::CSSMutableValue::~CSSMutableValue):
204418        * css/CSSParserValues.h:
204419        * css/CSSPrimitiveValue.h:
204420        * css/CSSUnicodeRangeValue.cpp:
204421        * css/CSSUnicodeRangeValue.h:
204422        (WebCore::CSSUnicodeRangeValue::~CSSUnicodeRangeValue):
204423        * css/CSSValue.cpp:
204424        (WebCore::CSSValue::destroy):
204425        * css/CSSValue.h:
204426        (WebCore::CSSValue::deref):
204427        (WebCore::CSSValue::~CSSValue):
204428        * css/CSSValueList.cpp:
204429        * css/CSSValueList.h:
204430        (WebCore::CSSValueList::~CSSValueList):
204431        * css/WebKitCSSFilterValue.cpp:
204432        * css/WebKitCSSFilterValue.h:
204433        (WebCore::WebKitCSSFilterValue::~WebKitCSSFilterValue):
204434        * css/WebKitCSSTransformValue.cpp:
204435        * css/WebKitCSSTransformValue.h:
204436        (WebCore::WebKitCSSTransformValue::~WebKitCSSTransformValue):
204437
2044382011-11-08  Darin Adler  <darin@apple.com>
204439
204440        Speculative fix for crashes seen in DocumentWriter::deprecatedFrameEncoding
204441        https://bugs.webkit.org/show_bug.cgi?id=71828
204442
204443        Reviewed by Nate Chapin.
204444
204445        No new tests; not sure how to reproduce this, but crash traces indicate it
204446        is an otherwise-harmless null dereference.
204447
204448        * loader/DocumentWriter.cpp:
204449        (WebCore::DocumentWriter::deprecatedFrameEncoding):
204450        Handle null document the same as a document without a URL.
204451
2044522011-11-08  Sheriff Bot  <webkit.review.bot@gmail.com>
204453
204454        Unreviewed, rolling out r95720.
204455        http://trac.webkit.org/changeset/95720
204456        https://bugs.webkit.org/show_bug.cgi?id=71831
204457
204458        This has made the menulists on WebKit patch reviews much less
204459        usable (Requested by mrobinson on #webkit).
204460
204461        * platform/gtk/GtkPopupMenu.cpp:
204462        (WebCore::GtkPopupMenu::menuPositionFunction):
204463
2044642011-11-08  Nico Weber  <thakis@chromium.org>
204465
204466        [chromium] Remove 6 exit time destructors and 6 static initializers
204467        https://bugs.webkit.org/show_bug.cgi?id=71760
204468
204469        Reviewed by Nate Chapin.
204470
204471        Do this by moving global statics into function-local statics, and using
204472        DEFINE_LOCAL_STATIC to leak them. Since this code is accessed on a single
204473        thread, this is a safe change to make.
204474
204475        No behavior change, so no new tests.
204476
204477        * bindings/v8/ScriptGCEvent.cpp:
204478        (WebCore::sEventListeners):
204479        (WebCore::ScriptGCEvent::addEventListener):
204480        (WebCore::ScriptGCEvent::removeEventListener):
204481        (WebCore::ScriptGCEvent::gcEpilogueCallback):
204482        * bindings/v8/ScriptGCEvent.h:
204483        * bindings/v8/V8NPObject.cpp:
204484        (WebCore::staticTemplateMap):
204485        (WebCore::weakTemplateCallback):
204486        (WebCore::npObjectGetProperty):
204487        (WebCore::staticNPObjectMap):
204488        (WebCore::weakNPObjectCallback):
204489        (WebCore::createV8ObjectForNPObject):
204490        (WebCore::forgetV8ObjectForNPObject):
204491        * bindings/v8/V8Proxy.cpp:
204492        (WebCore::staticExtensionsList):
204493        (WebCore::V8Proxy::registeredExtensionWithV8):
204494        (WebCore::V8Proxy::registerExtension):
204495        (WebCore::V8Proxy::extensions):
204496        * bindings/v8/V8Proxy.h:
204497        * bindings/v8/npruntime.cpp:
204498        * plugins/chromium/PluginDataChromium.cpp:
204499        (WebCore::pluginCache):
204500        (WebCore::PluginData::initPlugins):
204501        (WebCore::PluginData::refresh):
204502        (WebCore::getPluginMimeTypeFromExtension):
204503
2045042011-11-08  Hans Wennborg  <hans@chromium.org>
204505
204506        IndexedDB: Start using the onSuccessWithContinuation() callback
204507        https://bugs.webkit.org/show_bug.cgi?id=71565
204508
204509        Reviewed by Tony Chang.
204510
204511        This is a follow-up to r99169 where we start using this new
204512        callback for cursors.
204513
204514        * storage/IDBCursorBackendImpl.cpp:
204515        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
204516        * storage/IDBRequest.cpp:
204517        (WebCore::IDBRequest::setCursor):
204518
2045192011-11-08  Justin Schuh  <jschuh@chromium.org>
204520
204521        Document::loader should use documentLoader(), not activeDocumentLoader()
204522        https://bugs.webkit.org/show_bug.cgi?id=65895
204523
204524        Reviewed by Brady Eidson.
204525
204526        Test: fast/loader/stateobjects/replacestate-in-onunload.html
204527
204528        * dom/Document.cpp:
204529        (WebCore::Document::loader):
204530
2045312011-11-08  Andreas Kling  <kling@webkit.org>
204532
204533        CSSImageGeneratorValue: Devirtualize image(), isFixedSize() and fixedSize().
204534        <http://webkit.org/b/71824>
204535
204536        Reviewed by Darin Adler.
204537
204538        Redirect the calls to the appropriate subclass in CSSImageGeneratorValue.cpp.
204539
204540        * css/CSSCanvasValue.h:
204541        (WebCore::CSSCanvasValue::isFixedSize):
204542        * css/CSSCrossfadeValue.h:
204543        (WebCore::CSSCrossfadeValue::isFixedSize):
204544        * css/CSSGradientValue.h:
204545        (WebCore::CSSGradientValue::isFixedSize):
204546        (WebCore::CSSGradientValue::fixedSize):
204547        * css/CSSImageGeneratorValue.cpp:
204548        (WebCore::CSSImageGeneratorValue::image):
204549        (WebCore::CSSImageGeneratorValue::isFixedSize):
204550        (WebCore::CSSImageGeneratorValue::fixedSize):
204551        * css/CSSImageGeneratorValue.h:
204552
2045532011-11-08  Andrey Kosyakov  <caseq@chromium.org>
204554
204555        Web Inspector: [Extension API][Chromium] injected extension API needs to return an object
204556        https://bugs.webkit.org/show_bug.cgi?id=71822
204557
204558        Reviewed by Pavel Feldman.
204559
204560        * inspector/front-end/ExtensionAPI.js:
204561        (buildExtensionAPIInjectedScript):
204562
2045632011-11-08  Andreas Kling  <kling@webkit.org>
204564
204565        CSSImageValue: Devirtualize cachedImage(CachedResourceLoader*).
204566        <http://webkit.org/b/71814>
204567
204568        Reviewed by Antti Koivisto.
204569
204570        Defer to CSSCursorImageValue (the only CSSImageValue subclass)
204571        when appropriate in CSSImageValue::cachedImage(CachedResourceLoader*).
204572
204573        * css/CSSCursorImageValue.h:
204574        * css/CSSImageValue.cpp:
204575        (WebCore::CSSImageValue::cachedImage):
204576        * css/CSSImageValue.h:
204577
2045782011-11-08  Andrey Kosyakov  <caseq@chromium.org>
204579
204580        Web Inspector: add "Evaluate in console" as a shortcut and context menu items to scripts panel
204581        https://bugs.webkit.org/show_bug.cgi?id=71817
204582
204583        Reviewed by Pavel Feldman.
204584
204585        * English.lproj/localizedStrings.js:
204586        * inspector/front-end/ConsoleView.js:
204587        (WebInspector.ConsoleView.prototype.evaluate):
204588        (WebInspector.ConsoleView.prototype._enterKeyPressed):
204589        * inspector/front-end/JavaScriptSourceFrame.js:
204590        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
204591        * inspector/front-end/ScriptsPanel.js:
204592        (WebInspector.ScriptsPanel.prototype._evaluateSelectionInConsole):
204593        * inspector/front-end/ShortcutsScreen.js:
204594        (WebInspector.ShortcutsSection.prototype.addRelatedKeys):
204595        (WebInspector.ShortcutsSection.prototype.addAlternateKeys):
204596        * inspector/front-end/externs.js:
204597        (WebInspector.evaluateInConsole):
204598        * inspector/front-end/inspector.js:
204599        (WebInspector.evaluateInConsole):
204600
2046012011-11-08  Andreas Kling  <kling@webkit.org>
204602
204603        CSSValue: Devirtualize cssText().
204604        <http://webkit.org/b/71813>
204605
204606        Reviewed by Antti Koivisto.
204607
204608        Rename all subclass implementations to customCssText() and add
204609        a CSSValue::cssText() that defers to the appropriate subclass
204610        based on the type info.
204611
204612        The rename is both for clarity, and to ensure that calling
204613        cssText() will always end up in the correct method.
204614
204615        * css/CSSAspectRatioValue.cpp:
204616        (WebCore::CSSAspectRatioValue::customCssText):
204617        * css/CSSAspectRatioValue.h:
204618        * css/CSSBorderImageSliceValue.cpp:
204619        (WebCore::CSSBorderImageSliceValue::customCssText):
204620        * css/CSSBorderImageSliceValue.h:
204621        * css/CSSBorderImageValue.cpp:
204622        (WebCore::CSSBorderImageValue::customCssText):
204623        * css/CSSBorderImageValue.h:
204624        * css/CSSCanvasValue.cpp:
204625        (WebCore::CSSCanvasValue::customCssText):
204626        * css/CSSCanvasValue.h:
204627        * css/CSSCrossfadeValue.cpp:
204628        (WebCore::CSSCrossfadeValue::customCssText):
204629        * css/CSSCrossfadeValue.h:
204630        * css/CSSFlexValue.cpp:
204631        (WebCore::CSSFlexValue::customCssText):
204632        * css/CSSFlexValue.h:
204633        * css/CSSFontFaceSrcValue.cpp:
204634        (WebCore::CSSFontFaceSrcValue::customCssText):
204635        * css/CSSFontFaceSrcValue.h:
204636        * css/CSSFunctionValue.cpp:
204637        (WebCore::CSSFunctionValue::customCssText):
204638        * css/CSSFunctionValue.h:
204639        * css/CSSGradientValue.cpp:
204640        (WebCore::CSSLinearGradientValue::customCssText):
204641        (WebCore::CSSRadialGradientValue::customCssText):
204642        * css/CSSGradientValue.h:
204643        * css/CSSInheritedValue.cpp:
204644        (WebCore::CSSInheritedValue::customCssText):
204645        * css/CSSInheritedValue.h:
204646        * css/CSSInitialValue.cpp:
204647        (WebCore::CSSInitialValue::customCssText):
204648        * css/CSSInitialValue.h:
204649        * css/CSSLineBoxContainValue.cpp:
204650        (WebCore::CSSLineBoxContainValue::customCssText):
204651        * css/CSSLineBoxContainValue.h:
204652        * css/CSSPrimitiveValue.cpp:
204653        (WebCore::CSSPrimitiveValue::customCssText):
204654        * css/CSSPrimitiveValue.h:
204655        * css/CSSReflectValue.cpp:
204656        (WebCore::CSSReflectValue::customCssText):
204657        * css/CSSReflectValue.h:
204658        * css/CSSTimingFunctionValue.cpp:
204659        (WebCore::CSSLinearTimingFunctionValue::customCssText):
204660        (WebCore::CSSCubicBezierTimingFunctionValue::customCssText):
204661        (WebCore::CSSStepsTimingFunctionValue::customCssText):
204662        * css/CSSTimingFunctionValue.h:
204663        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
204664        * css/CSSUnicodeRangeValue.cpp:
204665        (WebCore::CSSUnicodeRangeValue::customCssText):
204666        * css/CSSUnicodeRangeValue.h:
204667        * css/CSSValue.cpp:
204668        (WebCore::CSSValue::cssText):
204669        * css/CSSValue.h:
204670        * css/CSSValueList.cpp:
204671        (WebCore::CSSValueList::customCssText):
204672        * css/CSSValueList.h:
204673        * css/FontFamilyValue.cpp:
204674        (WebCore::FontFamilyValue::customCssText):
204675        * css/FontFamilyValue.h:
204676        * css/FontFeatureValue.cpp:
204677        (WebCore::FontFeatureValue::customCssText):
204678        * css/FontFeatureValue.h:
204679        * css/FontValue.cpp:
204680        (WebCore::FontValue::customCssText):
204681        * css/FontValue.h:
204682        * css/ShadowValue.cpp:
204683        (WebCore::ShadowValue::customCssText):
204684        * css/ShadowValue.h:
204685        * css/WebKitCSSFilterValue.cpp:
204686        (WebCore::WebKitCSSFilterValue::customCssText):
204687        * css/WebKitCSSFilterValue.h:
204688        * css/WebKitCSSTransformValue.cpp:
204689        (WebCore::WebKitCSSTransformValue::customCssText):
204690        * css/WebKitCSSTransformValue.h:
204691        * svg/SVGColor.cpp:
204692        (WebCore::SVGColor::customCssText):
204693        * svg/SVGColor.h:
204694        * svg/SVGPaint.cpp:
204695        (WebCore::SVGPaint::customCssText):
204696        * svg/SVGPaint.h:
204697
2046982011-11-08  Gavin Peters  <gavinp@chromium.org>
204699
204700        Fix width of m_type in CachedResource
204701        https://bugs.webkit.org/show_bug.cgi?id=71727
204702
204703        Reviewed by Nate Chapin.
204704
204705        Test: fast/dom/HTMLLinkElement/cachedresource-types.html
204706
204707        * loader/cache/CachedResource.cpp:
204708        (WebCore::CachedResource::CachedResource):
204709        * loader/cache/CachedResource.h:
204710
2047112011-11-08  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
204712
204713        [Qt] Don't set OBJECTS_DIR and DEFINES in default_pre
204714
204715        If a pro file needs to access the OBJECTS_DIR it should use the
204716        form ${QMAKE_VAR_OBJECTS_DIR} to ensure the value is evaluated
204717        after defaults_post has been processed.
204718
204719        Setting DEFINES in defaults_pre is also bad, as any DEFINES=foo on
204720        the command line will override whatever we set in defaults_pre.
204721
204722        Reviewed by Simon Hausmann.
204723
204724        * Target.pri:
204725
2047262011-11-08  Pavel Feldman  <pfeldman@google.com>
204727
204728        Web Inspector: add JavaScript keywords to the autocomplete.
204729        https://bugs.webkit.org/show_bug.cgi?id=71782
204730
204731        Reviewed by Yury Semikhatsky.
204732
204733        * inspector/front-end/ConsoleView.js:
204734        (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
204735        (WebInspector.ConsoleView.prototype._completions):
204736        (WebInspector.ConsoleView.prototype._reportCompletions):
204737
2047382011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
204739
204740        Introduce SVGLengthContext, to allow to resolve relative units to arbitary viewports
204741        https://bugs.webkit.org/show_bug.cgi?id=71780
204742
204743        Reviewed by Zoltan Herczeg.
204744
204745        Introduce SVGLengthContext to cleanup SVGLength, by moving all conversion of relative units that depend on style or viewport
204746        out of SVGLength, into SVGLengthContext. Pass SVGLengthContext& to SVGLength::value/setValue/... functions instead of a pure
204747        "const SVGElement* context", which was previously used to determine the viewport when resolving percentage units.
204748        SVGLengthContext carries an additional FloatRect of the custom viewport, to which percentages are resolved, if specified.
204749
204750        This allows us to kill several duplicates of the same code, which handles objectBoundingBox mode for gradients/patterns/masks/etc..
204751        A follow-up patch will convert filters to use the new SVGLengthContext::resolveRectangle code as well.
204752
204753        This is a preparation for bug 10430, to fix feImage + objectBoundingBox support when rendering referenced elements, instead of files.
204754
204755        Doesn't affect any tests yet.
204756
204757        * CMakeLists.txt:
204758        * GNUmakefile.list.am:
204759        * Target.pri:
204760        * WebCore.gypi:
204761        * WebCore.vcproj/WebCore.vcproj:
204762        * WebCore.xcodeproj/project.pbxproj:
204763        * rendering/svg/RenderSVGResourceGradient.cpp:
204764        (WebCore::RenderSVGResourceGradient::applyResource):
204765        * rendering/svg/RenderSVGResourceGradient.h:
204766        * rendering/svg/RenderSVGResourceLinearGradient.h:
204767        (WebCore::RenderSVGResourceLinearGradient::gradientUnits):
204768        * rendering/svg/RenderSVGResourcePattern.cpp:
204769        (WebCore::RenderSVGResourcePattern::applyResource):
204770        (WebCore::calculatePatternBoundaries):
204771        (WebCore::RenderSVGResourcePattern::buildTileImageTransform):
204772        (WebCore::RenderSVGResourcePattern::createTileImage):
204773        * rendering/svg/RenderSVGResourceRadialGradient.h:
204774        (WebCore::RenderSVGResourceRadialGradient::gradientUnits):
204775        * rendering/svg/SVGRenderTreeAsText.cpp:
204776        (WebCore::writeCommonGradientProperties):
204777        (WebCore::writeSVGResourceContainer):
204778        * svg/GradientAttributes.h:
204779        (WebCore::GradientAttributes::GradientAttributes):
204780        (WebCore::GradientAttributes::gradientUnits):
204781        (WebCore::GradientAttributes::setGradientUnits):
204782        (WebCore::GradientAttributes::hasGradientUnits):
204783        * svg/PatternAttributes.h:
204784        (WebCore::PatternAttributes::PatternAttributes):
204785        (WebCore::PatternAttributes::patternUnits):
204786        (WebCore::PatternAttributes::patternContentUnits):
204787        (WebCore::PatternAttributes::setPatternUnits):
204788        (WebCore::PatternAttributes::setPatternContentUnits):
204789        (WebCore::PatternAttributes::hasPatternUnits):
204790        (WebCore::PatternAttributes::hasPatternContentUnits):
204791        * svg/SVGAllInOne.cpp:
204792        * svg/SVGElement.h:
204793        (WebCore::SVGElement::operator SVGLengthContext):
204794        * svg/SVGFilterElement.cpp:
204795        (WebCore::SVGFilterElement::filterBoundingBox):
204796        * svg/SVGLength.cpp:
204797        (WebCore::SVGLength::SVGLength):
204798        (WebCore::SVGLength::unitMode):
204799        (WebCore::SVGLength::value):
204800        (WebCore::SVGLength::setValue):
204801        (WebCore::SVGLength::convertToSpecifiedUnits):
204802        * svg/SVGLength.h:
204803        (WebCore::SVGLength::blend):
204804        * svg/SVGLengthContext.cpp: Added.
204805        (WebCore::SVGLengthContext::SVGLengthContext):
204806        (WebCore::SVGLengthContext::resolveRectangle):
204807        (WebCore::SVGLengthContext::resolvePoint):
204808        (WebCore::SVGLengthContext::resolveLength):
204809        (WebCore::SVGLengthContext::convertValueToUserUnits):
204810        (WebCore::SVGLengthContext::convertValueFromUserUnits):
204811        (WebCore::SVGLengthContext::convertValueFromUserUnitsToPercentage):
204812        (WebCore::SVGLengthContext::convertValueFromPercentageToUserUnits):
204813        (WebCore::SVGLengthContext::convertValueFromUserUnitsToEMS):
204814        (WebCore::SVGLengthContext::convertValueFromEMSToUserUnits):
204815        (WebCore::SVGLengthContext::convertValueFromUserUnitsToEXS):
204816        (WebCore::SVGLengthContext::convertValueFromEXSToUserUnits):
204817        (WebCore::SVGLengthContext::determineViewport):
204818        * svg/SVGLengthContext.h: Added.
204819        (WebCore::SVGLengthContext::resolveRectangle):
204820        * svg/SVGLinearGradientElement.cpp:
204821        (WebCore::SVGLinearGradientElement::collectGradientAttributes):
204822        (WebCore::SVGLinearGradientElement::calculateStartEndPoints):
204823        * svg/SVGMaskElement.cpp:
204824        (WebCore::SVGMaskElement::maskBoundingBox):
204825        * svg/SVGPatternElement.cpp:
204826        (WebCore::SVGPatternElement::collectPatternAttributes):
204827        * svg/SVGRadialGradientElement.cpp:
204828        (WebCore::SVGRadialGradientElement::collectGradientAttributes):
204829        (WebCore::SVGRadialGradientElement::calculateFocalCenterPointsAndRadius):
204830
2048312011-11-08  Andreas Kling  <kling@webkit.org>
204832
204833        CSSValue: Devirtualize addSubresourceStyleURLs().
204834        <http://webkit.org/b/71805>
204835
204836        Reviewed by Antti Koivisto.
204837
204838        Make addSubresourceStyleURLs() non-virtual and call the appropriate
204839        subclass implementation based on the subclass type info.
204840
204841        * css/CSSBorderImageValue.h:
204842        * css/CSSFontFaceSrcValue.h:
204843        * css/CSSPrimitiveValue.h:
204844        * css/CSSReflectValue.h:
204845        * css/CSSValue.cpp:
204846        (WebCore::CSSValue::addSubresourceStyleURLs):
204847        * css/CSSValue.h:
204848        (WebCore::CSSValue::addSubresourceStyleURLs):
204849        * css/CSSValueList.h:
204850
2048512011-11-08  Andrey Kosyakov  <caseq@chromium.org>
204852
204853        Web Inspector: do not show object popover when selection is active
204854        https://bugs.webkit.org/show_bug.cgi?id=71804
204855
204856        Reviewed by Yury Semikhatsky.
204857
204858        * inspector/front-end/JavaScriptSourceFrame.js:
204859        (WebInspector.JavaScriptSourceFrame.prototype._shouldShowPopover):
204860
2048612011-11-08  Alexander Pavlov  <apavlov@chromium.org>
204862
204863        Web Inspector: Do not hide SuggestBox if typed-in string in the middle of input equals one of suggestions
204864        https://bugs.webkit.org/show_bug.cgi?id=71797
204865
204866        Reviewed by Yury Semikhatsky.
204867
204868        * inspector/front-end/TextPrompt.js:
204869        (WebInspector.TextPrompt.prototype.onKeyDown):
204870        (WebInspector.TextPrompt.prototype.complete):
204871
2048722011-11-08  Andreas Kling  <kling@webkit.org>
204873
204874        CSSGradientValue: Devirtualize createGradient().
204875        <http://webkit.org/b/71800>
204876
204877        Reviewed by Antti Koivisto.
204878
204879        Make createGradient() non-virtual and call the appropriate subclass
204880        implementation in image() based on is{Linear,Radial}Gradient().
204881
204882        * css/CSSGradientValue.cpp:
204883        (WebCore::CSSGradientValue::image):
204884        * css/CSSGradientValue.h:
204885
2048862011-11-08  Andreas Kling  <kling@webkit.org>
204887
204888        CSSCanvasValue: Remove inheritance from CanvasObserver.
204889        <http://webkit.org/b/71796>
204890
204891        Reviewed by Antti Koivisto.
204892
204893        To completely devirtualize all the CSSValues, we need to remove
204894        CSSCanvasValue's inheritance from CanvasObserver, as that is forcing
204895        a vptr into the class.
204896
204897        Use the same approach as CSSImportRule and make a simple proxying
204898        CanvasObserver subclass and put that as a member variable of the value.
204899
204900        * css/CSSCanvasValue.cpp:
204901        (WebCore::CSSCanvasValue::~CSSCanvasValue):
204902        (WebCore::CSSCanvasValue::element):
204903        * css/CSSCanvasValue.h:
204904        (WebCore::CSSCanvasValue::CSSCanvasValue):
204905        (WebCore::CSSCanvasValue::CanvasObserverProxy::CanvasObserverProxy):
204906        (WebCore::CSSCanvasValue::CanvasObserverProxy::~CanvasObserverProxy):
204907        (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasChanged):
204908        (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasResized):
204909        (WebCore::CSSCanvasValue::CanvasObserverProxy::canvasDestroyed):
204910
2049112011-11-08  Yury Semikhatsky  <yurys@chromium.org>
204912
204913        Web Inspector: display notification in the front-end when inspected worker terminates
204914        https://bugs.webkit.org/show_bug.cgi?id=71770
204915
204916        When inspected worker terminates we will show a notification similar to the help
204917        screen. The notification disappears when the worker restarts or the user closes it
204918        manually.
204919
204920        Reviewed by Pavel Feldman.
204921
204922        * English.lproj/localizedStrings.js:
204923        * inspector/front-end/ScriptsPanel.js:
204924        * inspector/front-end/WorkerManager.js:
204925        (WebInspector.WorkerManager.loaded):
204926        (WebInspector.WorkerManager.showWorkerTerminatedScreen):
204927        (WebInspector.WorkerTerminatedScreen):
204928        * inspector/front-end/inspector.js:
204929        (WebInspector.disconnectFromBackend):
204930        (WebInspector.frontendReused):
204931
2049322011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
204933
204934        Fold ImageBySizeCache again into CSSImageGeneratorValue
204935        https://bugs.webkit.org/show_bug.cgi?id=71785
204936
204937        Reviewed by Zoltan Herczeg.
204938
204939        Remove ImageBySizeCache, and fold it into CSSImageGeneratorValue, as it used to be.
204940        CachedImage has switched to SVGImageCache and no longer needs it.
204941
204942        * CMakeLists.txt:
204943        * GNUmakefile.list.am:
204944        * Target.pri:
204945        * WebCore.gypi:
204946        * WebCore.vcproj/WebCore.vcproj:
204947        * WebCore.xcodeproj/project.pbxproj:
204948        * css/CSSImageGeneratorValue.cpp:
204949        (WebCore::CSSImageGeneratorValue::addClient):
204950        (WebCore::CSSImageGeneratorValue::removeClient):
204951        (WebCore::CSSImageGeneratorValue::getImage):
204952        (WebCore::CSSImageGeneratorValue::putImage):
204953        * css/CSSImageGeneratorValue.h:
204954        (WebCore::SizeAndCount::SizeAndCount):
204955        (WebCore::CSSImageGeneratorValue::clients):
204956        * rendering/ImageBySizeCache.cpp: Removed.
204957        * rendering/ImageBySizeCache.h: Removed.
204958
2049592011-11-08  Alexander Pavlov  <apavlov@chromium.org>
204960
204961        Web Inspector: Avoid automatic Console suggestions with empty expression
204962        https://bugs.webkit.org/show_bug.cgi?id=71783
204963
204964        Reviewed by Yury Semikhatsky.
204965
204966        * inspector/front-end/ConsoleView.js:
204967
2049682011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
204969
204970        Not reviewed. Fix build, by removing an unused variable.
204971
204972        * html/canvas/CanvasRenderingContext2D.cpp:
204973        (WebCore::isOriginClean):
204974        (WebCore::CanvasRenderingContext2D::createPattern):
204975
2049762011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
204977
204978        Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
204979        https://bugs.webkit.org/show_bug.cgi?id=71368
204980
204981        Reviewed by Zoltan Herczeg.
204982
204983        When determining whether the canvas would be tainted, we need access to the SVGImage, not its cached BitmapImage.
204984        Otherwhise wrong assumptions are mode, leading to regressions.
204985
204986        Fixes http/tests/security/canvas-remote-read-svg-image.html and related tests on the bots.
204987
204988        * html/canvas/CanvasRenderingContext.cpp:
204989        (WebCore::CanvasRenderingContext::wouldTaintOrigin): Forgot to switch them back to use cachedImage->image().
204990        * html/canvas/CanvasRenderingContext2D.cpp:
204991        (WebCore::isOriginClean): Ditto.
204992
2049932011-11-08  Vsevolod Vlasov  <vsevik@chromium.org>
204994
204995        Web Inspector: Console should be scrolled to bottom when shown for the first time.
204996        https://bugs.webkit.org/show_bug.cgi?id=71781
204997
204998        Reviewed by Pavel Feldman.
204999
205000        * inspector/front-end/ConsoleView.js:
205001
2050022011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
205003
205004        Switch SVGImage cache to store ImageBuffers instead of whole SVGImages, including a DOM/Render tree
205005        https://bugs.webkit.org/show_bug.cgi?id=71368
205006
205007        Reviewed by Antti Koivisto.
205008
205009        Fix regressions/races introduced by r98852. SVGImage repainting didn't work under certain circumstances.
205010        The problem was hard to reproduce on Mac ports, but easily visible on Chromium, when opening two files
205011        that shared the same animated SVG image. The problem of sharing a single ImageObserver across multiple
205012        instances of the same SVGImage, leads to nasty problems, that are timing dependant. changedInRect() calls
205013        that should only by received in one document, are received in the other as well, due the shared nature
205014        of CachedImage. To avoid these problems alltogether, a new approach is needed, that was initially suggested
205015        by Antti.
205016
205017        Avoid creating multiple SVGImages and caching them for different sizes/zoom levels. Introduce SVGImageCache
205018        which holds rendered versions of the SVGImage at certain sizes/zoom levels. It holds (ImageBuffer, Image) pairs
205019        for each renderer, associated with a size and zoom level.
205020
205021        This is a major change to the cache as introduced some weeks ago. Instead of holding multiple SVGImages, each containing
205022        a whole DOM/render tree, we now create bitmap images rendered at the requested sizes/zoom levels and cache them.
205023
205024        Revert ImageBySizeCache changes that were needed to make it usable wih SVGImage. Its now used only in CSSImageGeneratorValue and
205025        thus the extra information that CSSImageGeneratorValue doesn't need can be removed again (desired/actual size differentations, and the zoom level).
205026
205027        Tests: svg/as-image/animated-svg-as-image-no-fixed-intrinsic-size.html
205028               svg/as-image/animated-svg-as-image-same-image.html
205029
205030        * CMakeLists.txt: Add svg/graphics/SVGImageCache.* to build.
205031        * GNUmakefile.list.am: Ditto.
205032        * Target.pri: Ditto.
205033        * WebCore.gypi: Ditto.
205034        * WebCore.vcproj/WebCore.vcproj: Ditto.
205035        * WebCore.vcproj/copyForwardingHeaders.cmd: Copy headers from svg/graphics, as SVGImageCache is needed by CachedImage in SVG enabled builds.
205036        * WebCore.xcodeproj/project.pbxproj: Add svg/graphics/SVGImageCache.* to build.
205037        * css/CSSImageGeneratorValue.cpp: Remove zoom parameter from addClient/getImage, no need to pass 1 default values anymore.
205038        (WebCore::CSSImageGeneratorValue::addClient):
205039        (WebCore::CSSImageGeneratorValue::getImage):
205040        * loader/cache/CachedImage.cpp: Stop using ImageBySizeCache, and switch to the new SVGImageCache.
205041        (WebCore::CachedImage::removeClientForRenderer):
205042        (WebCore::CachedImage::lookupOrCreateImageForRenderer):
205043        (WebCore::CachedImage::setContainerSizeForRenderer):
205044        (WebCore::CachedImage::imageSizeForRenderer):
205045        (WebCore::CachedImage::clear):
205046        (WebCore::CachedImage::createImage):
205047        (WebCore::CachedImage::destroyDecodedData):
205048        (WebCore::CachedImage::decodedSizeChanged):
205049        (WebCore::CachedImage::didDraw):
205050        (WebCore::CachedImage::shouldPauseAnimation):
205051        (WebCore::CachedImage::animationAdvanced):
205052        (WebCore::CachedImage::changedInRect):
205053        * loader/cache/CachedImage.h:
205054        * page/DragController.cpp: Stop using imageForRenderer(), as it may return cached BitmapImages, that don't carry a filename extension anymore, which is required here.
205055        (WebCore::getImage):
205056        * rendering/ImageBySizeCache.cpp: Revert changes to ImageBySizeCache, which were needed to make it usable for SVGImages. CSSImageGenerator doesn't need it.
205057        (WebCore::ImageBySizeCache::addClient):
205058        (WebCore::ImageBySizeCache::removeClient):
205059        (WebCore::ImageBySizeCache::getImage):
205060        * rendering/ImageBySizeCache.h: Ditto.
205061        (WebCore::SizeAndCount::SizeAndCount):
205062        * rendering/RenderImage.cpp: Stop using imageForRenderer(), use cachedImage()->image(), which is guaranteed to be a SVGImage for svg images, and not a cached bitmap copy.
205063        (WebCore::RenderImage::embeddedContentBox):
205064        * rendering/RenderReplaced.cpp: Simplify logic to figure out the intrinsic size - the special logic for the old SVGImage cache can go away now.
205065        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
205066        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
205067        * rendering/style/StyleCachedImage.cpp: Call removeClientForRenderer(), which takes care of clearing SVGImageCache entries as well.
205068        (WebCore::StyleCachedImage::removeClient): This change is needed, as we don't want to make removeClient() virtual in CachedResource.
205069        * rendering/svg/RenderSVGRoot.cpp: Rename isEmbeddedThroughImageElement to isEmbeddedThroughSVGImage, as this is what it actually checks.
205070        (WebCore::RenderSVGRoot::isEmbeddedThroughSVGImage):
205071        * rendering/svg/RenderSVGRoot.h:
205072        * svg/SVGSVGElement.cpp: Fix bug that's visible now with the SVGImageCache, which was already there before, but hard to trigger.
205073        (WebCore::SVGSVGElement::currentViewBoxRect): The viewBox depends on who's asking for it: the host document or the embedded document? Take that into account.
205074        * svg/SVGSVGElement.h:
205075        * svg/graphics/SVGImage.cpp: Cleanup some code. Add new logic that draws a SVGImage into an ImageBuffer at a desired size & zoom.
205076        (WebCore::SVGImage::setContainerSize):
205077        (WebCore::SVGImage::size):
205078        (WebCore::SVGImage::drawSVGToImageBuffer):
205079        * svg/graphics/SVGImage.h:
205080        * svg/graphics/SVGImageCache.cpp: Added. SVGImageCache caches Image/ImageBuffer pairs for each _renderer_ and size/zoom level. The ImageBySizeCache only cared about size.
205081        (WebCore::SVGImageCache::SVGImageCache):
205082        (WebCore::SVGImageCache::~SVGImageCache):
205083        (WebCore::SVGImageCache::removeRendererFromCache):
205084        (WebCore::SVGImageCache::setRequestedSizeAndZoom):
205085        (WebCore::SVGImageCache::getRequestedSizeAndZoom):
205086        (WebCore::SVGImageCache::imageContentChanged):
205087        (WebCore::SVGImageCache::redrawTimerFired):
205088        (WebCore::SVGImageCache::lookupOrCreateBitmapImageForRenderer):
205089        * svg/graphics/SVGImageCache.h: Added.
205090        (WebCore::SVGImageCache::create):
205091        (WebCore::SVGImageCache::CachedSizeAndZoom::CachedSizeAndZoom):
205092        (WebCore::SVGImageCache::CachedImageData::CachedImageData):
205093
2050942011-11-07  Yury Semikhatsky  <yurys@chromium.org>
205095
205096        Web Inspector: refactor shortcuts and settings screens
205097        https://bugs.webkit.org/show_bug.cgi?id=71773
205098
205099        Keep pointer to the visible screen and hide it automatically when new one is going
205100        to be displayed.
205101
205102        Reviewed by Pavel Feldman.
205103
205104        * inspector/front-end/HelpScreen.js:
205105        (WebInspector.HelpScreen.prototype.show):
205106        (WebInspector.HelpScreen.prototype.hide):
205107        * inspector/front-end/ShortcutsScreen.js:
205108        (WebInspector.ShortcutsScreen): ShortcutsScreen is now a descendant of HelpScreen.
205109        (WebInspector.ShortcutsScreen.prototype.show):
205110        * inspector/front-end/inspector.js:
205111        (WebInspector._hideSettingsScreen):
205112        (WebInspector.documentKeyDown):
205113
2051142011-11-08  Nikolas Zimmermann  <nzimmermann@rim.com>
205115
205116        Not reviewed. Fix Snow Leopard 32bit builds.
205117
205118        * css/CSSParser.cpp:
205119        (WebCore::CSSParser::parseAspectRatio): CSSParserValue::fValue is a double, use narrowPrecisionToFloat() to convert double->float.
205120        * platform/ClockGeneric.cpp: Remove unneeded variable out of 32bit integer value range.
205121        * webaudio/BiquadDSPKernel.cpp:
205122        (WebCore::BiquadDSPKernel::getFrequencyResponse): Use narrowPrecisionTofloat() to convert double->float.
205123
2051242011-11-07  Daniel Bates  <dbates@rim.com>
205125
205126        Add CredentialStorage.cpp to WebCore/CMakeLists.txt
205127        https://bugs.webkit.org/show_bug.cgi?id=71748
205128
205129        Reviewed by Martin Robinson.
205130
205131        Adds CredentialStorage.cpp to WebCore/CMakeLists.txt since its provides a
205132        base implementation of this feature.
205133
205134        Also adds a stub implementation of CredentialStorage to the WinCE port.
205135
205136        * CMakeLists.txt: Added source file CredentialStorage.cpp.
205137        * CMakeListsEfl.txt: Added source file CredentialStorageCurl.cpp when building
205138          with the Curl networking backend.
205139        * CMakeListsWinCE.txt: Added source file CredentialStorageWin.cpp.
205140        * platform/network/win/CredentialStorageWin.cpp: Added.
205141        (WebCore::Credential::getFromPersistentStorage): Stub implementation.
205142
2051432011-11-07  Kentaro Hara  <haraken@chromium.org>
205144
205145        Remove [CustomGetter] IDL for window.Image of V8
205146        https://bugs.webkit.org/show_bug.cgi?id=71739
205147
205148        Reviewed by Adam Barth.
205149
205150        Currently, window.Image uses a custom getter to get the template
205151        of 'HTMLImageElementConstructor'. However, this getter does not need to
205152        be custom and can use a default getter
205153        'DOMWindowInternal::DOMWindowConstructorGetter'.
205154
205155        Tests: fast/js/custom-constructors.html
205156               fast/dom/image-object.html
205157               fast/dom/gc-image-element.html
205158               fast/dom/Window/custom-constructors.html
205159
205160        * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
205161        * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Image of V8. Renamed 'HTMLImageElementConstructor' to 'HTMLImageElementConstructorConstructor' in order to make window.Image use the template of (not 'HTMLImageElement' but) 'HTMLImageElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
205162
2051632011-11-07  Chris Fleizach  <cfleizach@apple.com>
205164
205165        REGRESSION(r99025-r99037): platform/mac/accessibility/select-element-selection-with-optgroups.html is asserting
205166        https://bugs.webkit.org/show_bug.cgi?id=71421
205167
205168        Reviewed by Ryosuke Niwa.
205169
205170        Remove an assert that was added by r99035. It was added based on a comment in the code, but not tested.
205171
205172        * html/HTMLSelectElement.cpp:
205173        (WebCore::HTMLSelectElement::selectOption):
205174
2051752011-11-07  Emil A Eklund  <eae@chromium.org>
205176
205177        Revert platform and scrolling to ints
205178        https://bugs.webkit.org/show_bug.cgi?id=71585
205179
205180        Reviewed by Eric Seidel.
205181
205182        Replace all uses of LayoutUnit and related types with ints in platform
205183        and scrolling code.
205184
205185        No new tests.
205186
205187        * page/FrameView.cpp:
205188        * page/FrameView.h:
205189        * platform/PopupMenuClient.h:
205190        * platform/ScrollAnimatorNone.cpp:
205191        * platform/ScrollAnimatorNone.h:
205192        * platform/ScrollView.cpp:
205193        * platform/ScrollView.h:
205194        * platform/ScrollableArea.h:
205195        * rendering/RenderLayer.cpp:
205196        * rendering/RenderLayer.h:
205197        * rendering/RenderListBox.cpp:
205198        * rendering/RenderListBox.h:
205199        * rendering/RenderMenuList.cpp:
205200        * rendering/RenderMenuList.h:
205201        * rendering/RenderTextControlSingleLine.cpp:
205202        * rendering/RenderTextControlSingleLine.h:
205203
2052042011-11-07  Kentaro Hara  <haraken@chromium.org>
205205
205206        Fixed wrong test results of fast/js/custom-constructors.html
205207        https://bugs.webkit.org/show_bug.cgi?id=71669
205208
205209        Reviewed by Darin Adler.
205210
205211        According to the HTMLOptionElement spec
205212        (http://dev.w3.org/html5/spec/the-button-element.html#the-option-element),
205213        'text', 'label' and 'value' have neither [TreatUndefinedAs=EmptyString]
205214        nor [TreatNullAs=EmptyString]. Thus, an undefined value should be
205215        converted to a string "undefined" and a null value should be
205216        converted to a string "null", following the step 3 of the IDL
205217        conversion spec (http://dev.w3.org/2006/webapi/WebIDL/#es-DOMString).
205218
205219        * bindings/js/JSOptionConstructor.cpp:
205220        (WebCore::constructHTMLOptionElement): Removed isUndefined() check from 'text' and 'value' since the spec does not have [TreatUndefinedAs=EmptyString].
205221        * bindings/v8/custom/V8HTMLOptionElementConstructor.cpp:
205222        (WebCore::v8HTMLOptionElementConstructorCallback): Ditto.
205223        * html/HTMLOptionElement.idl: Removed [ConvertNullToNullString] from 'text', 'label' and 'value' since the spec does not have [TreatNullAs=EmptyString].
205224
2052252011-11-07  Adam Barth  <abarth@webkit.org>
205226
205227        Move DomainRelaxationForbidden scheme registry to SchemeRegistry
205228        https://bugs.webkit.org/show_bug.cgi?id=71750
205229
205230        Reviewed by Eric Seidel.
205231
205232        As stated in the FIXME, scheme registries belong in SchemeRegistry, not
205233        in SecurityOrigin.
205234
205235        * WebCore.exp.in:
205236        * dom/Document.cpp:
205237        (WebCore::Document::setDomain):
205238        * page/SecurityOrigin.cpp:
205239        * page/SecurityOrigin.h:
205240        * platform/SchemeRegistry.cpp:
205241        (WebCore::schemesForbiddenFromDomainRelaxation):
205242        (WebCore::SchemeRegistry::setDomainRelaxationForbiddenForURLScheme):
205243        (WebCore::SchemeRegistry::isDomainRelaxationForbiddenForURLScheme):
205244        * platform/SchemeRegistry.h:
205245
2052462011-11-07  Dan Bernstein  <mitz@apple.com>
205247
205248        <rdar://problem/10405215> REGRESSION (r98178): World of Warcraft Launcher crashes in FrameView::isOnActivePage()
205249        https://bugs.webkit.org/show_bug.cgi?id=71743
205250
205251        Reviewed by Beth Dakin.
205252
205253        * page/FrameView.cpp:
205254        (WebCore::FrameView::isOnActivePage): Added a check for a null m_frame.
205255
2052562011-11-07  Dmitry Lomov  <dslomov@google.com>
205257
205258        https://bugs.webkit.org/show_bug.cgi?id=71534
205259        [V8] On neutering TypedArrayViews, V8 should be notified to drain code generation cache.
205260
205261        Reviewed by David Levin.
205262
205263        * bindings/scripts/CodeGeneratorJS.pm:
205264        (GenerateImplementation):
205265        * bindings/scripts/CodeGeneratorV8.pm:
205266        * html/canvas/DataView.cpp:
205267        * html/canvas/DataView.h:
205268        * html/canvas/Float32Array.h:
205269        * html/canvas/Float64Array.h:
205270        * html/canvas/Int16Array.h:
205271        * html/canvas/Int32Array.h:
205272        * html/canvas/Int8Array.h:
205273        * html/canvas/TypedArrayBase.h:
205274        * html/canvas/Uint16Array.h:
205275        * html/canvas/Uint32Array.h:
205276        * html/canvas/Uint8Array.h:
205277
2052782011-11-07  Adam Barth  <abarth@webkit.org>
205279
205280        addMessage's last few arguments should be optional
205281        https://bugs.webkit.org/show_bug.cgi?id=70946
205282
205283        Reviewed by Darin Adler.
205284
205285        As requested by Darin Adler.  I wanted to call this method addMessage,
205286        but the compiler was unhappy locating the overload on
205287        ScriptExecutionContext when Document had an override too.  Changing the
205288        name to addConsoleMessage made all the code happier.
205289
205290        * dom/Document.cpp:
205291        (WebCore::Document::processHttpEquiv):
205292        * dom/ScriptExecutionContext.cpp:
205293        (WebCore::ScriptExecutionContext::addMessage):
205294        * dom/ScriptExecutionContext.h:
205295        * html/canvas/CanvasRenderingContext2D.cpp:
205296        (WebCore::CanvasRenderingContext2D::getImageData):
205297        * html/parser/XSSAuditor.cpp:
205298        (WebCore::XSSAuditor::filterToken):
205299        * loader/ImageLoader.cpp:
205300        (WebCore::ImageLoader::notifyFinished):
205301        * page/ContentSecurityPolicy.cpp:
205302        (WebCore::ContentSecurityPolicy::reportViolation):
205303        (WebCore::ContentSecurityPolicy::logUnrecognizedDirective):
205304        * page/EventSource.cpp:
205305        (WebCore::EventSource::didReceiveResponse):
205306        * webaudio/AudioBufferSourceNode.cpp:
205307        (WebCore::AudioBufferSourceNode::looping):
205308        (WebCore::AudioBufferSourceNode::setLooping):
205309        * webaudio/AudioContext.cpp:
205310        (WebCore::AudioContext::createLowPass2Filter):
205311        (WebCore::AudioContext::createHighPass2Filter):
205312        * xml/XMLHttpRequest.cpp:
205313        (WebCore::reportUnsafeUsage):
205314
2053152011-11-07  Adam Barth  <abarth@webkit.org>
205316
205317        WebWorkers fail with document.domain set when accessing from subdomain
205318        https://bugs.webkit.org/show_bug.cgi?id=67978
205319
205320        Reviewed by Sam Weinig.
205321
205322        Workers should ignore document.domain when deciding which URLs a
205323        document can request, just like XMLHttpRequest and every other API.
205324
205325        Test: http/tests/workers/worker-document-domain-security.html
205326
205327        * workers/AbstractWorker.cpp:
205328        (WebCore::AbstractWorker::resolveURL):
205329
2053302011-11-07  Scott Graham  <scottmg@chromium.org>
205331
205332        Allow gamepad API to be enabled at runtime
205333        https://bugs.webkit.org/show_bug.cgi?id=71736
205334
205335        Part of full patch, found at
205336        https://bugs.webkit.org/show_bug.cgi?id=69451
205337
205338        Reviewed by Adam Barth.
205339
205340        No new tests. No new functionality.
205341
205342        * bindings/generic/RuntimeEnabledFeatures.cpp:
205343        * bindings/generic/RuntimeEnabledFeatures.h:
205344        (WebCore::RuntimeEnabledFeatures::setGamepadsEnabled):
205345        (WebCore::RuntimeEnabledFeatures::gamepadsEnabled):
205346
2053472011-11-07  Kentaro Hara  <haraken@chromium.org>
205348
205349        Remove [CustomGetter] IDL for window.Option of V8
205350        https://bugs.webkit.org/show_bug.cgi?id=71735
205351
205352        Reviewed by Nate Chapin.
205353
205354        Currently, window.Option uses a custom getter to get the template
205355        of 'HTMLOptionElementConstructor'. However, this getter does not need to
205356        be custom and can use a default getter
205357        'DOMWindowInternal::DOMWindowConstructorGetter'.
205358
205359        Tests: fast/js/custom-constructors.html
205360               fast/forms/option-index.html
205361               fast/forms/add-and-remove-option.html
205362               fast/dom/dom-add-optionelement.html
205363
205364        * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
205365        * page/DOMWindow.idl: Removed [CustomGetter] IDL from window.Option of V8. Renamed 'HTMLOptionElementConstructor' to 'HTMLOptionElementConstructorConstructor' in order to make window.Option use the template of (not 'HTMLOptionElement' but) 'HTMLOptionElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from the IDL type.
205366
2053672011-11-07  Mark Hahnenberg  <mhahnenberg@apple.com>
205368
205369        De-virtualize JSObject::putWithAttributes
205370        https://bugs.webkit.org/show_bug.cgi?id=71716
205371
205372        Reviewed by Darin Adler.
205373
205374        No new tests.
205375
205376        Added putWithAttributes to the MethodTable, changed all the virtual 
205377        implementations of putWithAttributes to static ones, and replaced 
205378        all call sites with corresponding lookups in the MethodTable.
205379
205380        * bindings/js/JSDOMWindowShell.cpp:
205381        (WebCore::JSDOMWindowShell::putWithAttributes):
205382        * bindings/js/JSDOMWindowShell.h:
205383
2053842011-11-07  Beth Dakin  <bdakin@apple.com>
205385
205386        https://bugs.webkit.org/show_bug.cgi?id=71490
205387        Support uiStateTransitionProgress for scrollbars
205388        -and corresponding-
205389        <rdar://problem/9849612>
205390
205391        Reviewed by Sam Weinig.
205392
205393        Step 1 of supporting uiStateTransitionProgress is knowing when the mouse has 
205394        entered or exited a scrollbar. These changes to Scrollbar pass that information 
205395        on to the ScrollAnimator. Also, Scrollbar::mouseUp() now takes a 
205396        PlatformMouseEvent as a parameter. This is necessary because m_hoveredNode is not 
205397        always up to date on a mouseUp, so mouseUp must hitTest the scrollbar to see if 
205398        the mouse has exited the scrollbar.
205399        * platform/Scrollbar.cpp:
205400        (WebCore::Scrollbar::mouseMoved):
205401        (WebCore::Scrollbar::mouseExited):
205402        (WebCore::Scrollbar::mouseUp):
205403        * platform/Scrollbar.h:
205404
205405        These changes are required now that Scrollbar::mouseUp() takes a parameter.
205406        * WebCore.exp.in:
205407        * page/EventHandler.cpp:
205408        (WebCore::EventHandler::handleMouseDoubleClickEvent):
205409        (WebCore::EventHandler::handleMouseReleaseEvent):
205410        * platform/chromium/PopupListBox.cpp:
205411        (WebCore::PopupListBox::handleMouseReleaseEvent):
205412        * platform/win/PopupMenuWin.cpp:
205413        (WebCore::PopupMenuWin::wndProc):
205414        
205415        ScrollAnimator passes the information on to AppKit.
205416        * platform/ScrollAnimator.h:
205417        (WebCore::ScrollAnimator::mouseEnteredScrollbar):
205418        (WebCore::ScrollAnimator::mouseExitedScrollbar):
205419        * platform/mac/ScrollAnimatorMac.h:
205420        (WebCore::ScrollAnimatorMac::mouseEnteredScrollbar):
205421        (WebCore::ScrollAnimatorMac::mouseExitedScrollbar):
205422
205423        There are several new pieces of AppKit api we must call into.
205424        * platform/mac/NSScrollerImpDetails.h:
205425
205426        This is a temporary function that is needed for the time being since there is new 
205427        AppKit api required for this to work.
205428        * platform/mac/ScrollAnimatorMac.mm:
205429        (supportsUIStateTransitionProgress):
205430
205431        I refactored WebScrollbarPartAnimation so that it can handle the 
205432        uiStateTransitionProgress animation as well as the alpha animations it already 
205433        handled. This mostly involved re-naming things and making use of a new enum called 
205434        FeatureToAnimate which keeps track of what the instance of 
205435        WebScrollbarPartAnimation is animating.
205436        (-[WebScrollbarPartAnimation initWithScrollbarPainter:animate:scrollAnimator:animateFrom:animateTo:duration:]):
205437        (-[WebScrollbarPartAnimation setScrollbarPainter:]):
205438        (-[WebScrollbarPartAnimation setStartValue:]):
205439        (-[WebScrollbarPartAnimation setEndValue:]):
205440        (-[WebScrollbarPartAnimation setCurrentProgress:]):
205441
205442        WebScrollbarPainterDelegate has two new animations, 
205443        _verticalUIStateTransitionAnimation, and _horizontalUIStateTransitionAnimation. It 
205444        also responds to a few new delegate calls.
205445        (-[WebScrollbarPainterDelegate cancelAnimations]):
205446
205447        This is a new delegate call needed for uiStateTransitionProgress.
205448        (-[WebScrollbarPainterDelegate mouseLocationInScrollerForScrollerImp:]):
205449
205450        I re-named setUpAnimation to setUpAlphaAnimation since it does a lot of things 
205451        that are specific to the alpha animation and I chose not to re-use it for 
205452        uiStateTransition.
205453        (-[WebScrollbarPainterDelegate setUpAlphaAnimation:scrollerPainter:part:WebCore::animateAlphaTo:duration:]):
205454        (-[WebScrollbarPainterDelegate scrollerImp:animateKnobAlphaTo:duration:]):
205455        (-[WebScrollbarPainterDelegate scrollerImp:animateTrackAlphaTo:duration:]):
205456
205457        New delegate call for the uiStateTransition animation that sets up that animation 
205458        and kicks it off.
205459        (-[WebScrollbarPainterDelegate scrollerImp:animateUIStateTransitionWithDuration:]):
205460        (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
205461
2054622011-11-07  Alice Boxhall  <aboxhall@chromium.org>
205463
205464        Remove unnecessary use of function pointer in FrameSelection::modify()
205465        https://bugs.webkit.org/show_bug.cgi?id=71646
205466
205467        Reviewed by Ryosuke Niwa.
205468
205469        * editing/FrameSelection.cpp:
205470        (WebCore::FrameSelection::modify):
205471
2054722011-11-07  Andreas Kling  <kling@webkit.org>
205473
205474        Unreviewed Windows build fix after r99468.
205475
205476        * css/CSSPrimitiveValue.h: Unmark single-argument constructors
205477        as explicit, since this conflicts with the template constructors
205478        in CSSPrimitiveValueMappings.h.
205479
2054802011-11-07  Jer Noble  <jer.noble@apple.com>
205481
205482        Build fix due to a erroneous search-and-replace.
205483
205484        Unreviewed build fix.
205485
205486        Replace all instances of GenericClock with ClockGeneric.
205487
205488        * WebCore.xcodeproj/project.pbxproj:
205489        * platform/ClockGeneric.cpp:
205490        (ClockGeneric::ClockGeneric):
205491
2054922011-11-07  Adam Barth  <abarth@webkit.org>
205493
205494        Move parseSandboxPolicy to SecurityContext
205495        https://bugs.webkit.org/show_bug.cgi?id=71732
205496
205497        Reviewed by Eric Seidel.
205498
205499        As requested by Eric, this patch resolves a layering inversion.  Now
205500        that we have SecurityContext to hold the sandbox bits and the origin,
205501        it's a logical place to put the parser for sandbox policies.
205502
205503        * dom/SecurityContext.cpp:
205504        (WebCore::SecurityContext::parseSandboxPolicy):
205505        * dom/SecurityContext.h:
205506        * html/HTMLIFrameElement.cpp:
205507        (WebCore::HTMLIFrameElement::parseMappedAttribute):
205508        * page/ContentSecurityPolicy.cpp:
205509        (WebCore::ContentSecurityPolicy::applySandboxPolicy):
205510        * page/SecurityOrigin.cpp:
205511        * page/SecurityOrigin.h:
205512
2055132011-11-07  Jer Noble  <jer.noble@apple.com>
205514
205515        Rename PlatformClockPOSIX -> ClockGeneric, and use WTF::currentTime() for its timing source.
205516        https://bugs.webkit.org/show_bug.cgi?id=71702
205517
205518        Reviewed by Sam Weinig.
205519
205520        No new tests; covered by existing tests.
205521
205522        * platform/Clock.cpp:
205523        (Clock::create):
205524        * platform/ClockGeneric.cpp: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.cpp.
205525        (ClockGeneric::ClockGeneric):
205526        (ClockGeneric::setCurrentTime):
205527        (ClockGeneric::currentTime):
205528        (ClockGeneric::setPlayRate):
205529        (ClockGeneric::start):
205530        (ClockGeneric::stop):
205531        * platform/ClockGeneric.h: Renamed from Source/WebCore/platform/posix/PlatformClockPOSIX.h.
205532        (WebCore::ClockGeneric::playRate):
205533        (WebCore::ClockGeneric::isRunning):
205534
205535        Boilerplate project file changes:
205536        * CMakeLists.txt:
205537        * Target.pri:
205538        * WebCore.gypi:
205539        * WebCore.xcodeproj/project.pbxproj:
205540
2055412011-11-07  Vangelis Kokkevis  <vangelis@chromium.org>
205542
205543        Create a separate setting for compositing of for scrollable [i]frames
205544        that forceCompositingMode can be used without turning frames into composited layers.
205545        https://bugs.webkit.org/show_bug.cgi?id=71714
205546
205547        Reviewed by James Robinson.
205548
205549        * page/Settings.cpp:
205550        (WebCore::Settings::Settings):
205551        * page/Settings.h:
205552        (WebCore::Settings::setAcceleratedCompositingForScrollableFramesEnabled):
205553        (WebCore::Settings::acceleratedCompositingForScrollableFramesEnabled):
205554        * rendering/RenderLayerCompositor.cpp:
205555        (WebCore::RenderLayerCompositor::cacheAcceleratedCompositingFlags):
205556        * testing/Internals.cpp:
205557        (WebCore::Internals::setEnableCompositingForScrollableFrames):
205558        * testing/Internals.h:
205559        * testing/Internals.idl:
205560
2055612011-11-07  Rafael Weinstein  <rafaelw@chromium.org>
205562
205563        [MutationObservers] Fix mac build (with mutation_observers enabled)
205564        https://bugs.webkit.org/show_bug.cgi?id=71728
205565
205566        Reviewed by Tony Chang.
205567
205568        Errant forward declaration of MutationObserverRegistration removed from
205569        Node.h this would have broken a port that tried to build with mutation_observers=1.
205570
205571        * dom/Node.h:
205572
2055732011-11-07  Kentaro Hara  <haraken@chromium.org>
205574
205575        Remove [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8
205576        https://bugs.webkit.org/show_bug.cgi?id=71660
205577
205578        Reviewed by Adam Barth.
205579
205580        Currently, "new Audio()" uses a custom getter to get the template
205581        of 'HTMLAudioElementConstructor'. However, this getter does not need to
205582        be custom and can use a default getter 'DOMWindowInternal::DOMWindowConstructorGetter'.
205583
205584        Tests: fast/js/custom-constructors.html
205585               media/audio-constructor.html
205586               media/audio-constructor-src.html
205587               media/audio-constructor-preload.html
205588               media/audio-controls-do-not-fade-out.html
205589               media/audio-controls-rendering.html
205590
205591        * bindings/v8/custom/V8DOMWindowCustom.cpp: Removed a custom getter.
205592        * page/DOMWindow.idl: Removed [CustomGetter] IDL from 'HTMLAudioElementConstructor' of V8. Renamed 'HTMLAudioElementConstructor' to 'HTMLAudioElementConstructorConstructor' in order to make 'new Audio()' use the template of (not 'HTMLAudioElement' but) 'HTMLAudioElementConstructor'. Note that CodeGenerator*.pm strips /Constructor$/ from an IDL type.
205593        * bindings/scripts/CodeGeneratorJS.pm:
205594        (GenerateImplementation): If an IDL type is 'XXXXConstructorConstructor', then we do not add a header file 'XXXXConstructor.h' to JSDOMWindow.cpp, because the NamedConstructor declaration is written in the header file of class XXXX 'XXXX.h'. Incidentally, the reason why CodeGeneratorV8.pm does not need a corresponding change is that V8 is still generating the NamedConstructor declaration in its dedicated header file 'XXXXConstructor.h'. This V8 issue will be fixed in the upcoming patch that implements [NamedConstructor] IDL in V8.
205595
2055962011-11-07  Robert Sesek  <rsesek@chromium.org>
205597
205598        [chromium] Update WebCore.gyp to not use WebKitLibraries in include_dirs
205599        https://bugs.webkit.org/show_bug.cgi?id=71694
205600
205601        Reviewed by Adam Barth.
205602
205603        * WebCore.gyp/WebCore.gyp:
205604
2056052011-11-07  Dominic Cooney  <dominicc@chromium.org>
205606
205607        Remove initPopStateEvent method
205608        https://bugs.webkit.org/show_bug.cgi?id=71691
205609
205610        Reviewed by Ojan Vafai.
205611
205612        * dom/PopStateEvent.cpp:
205613        * dom/PopStateEvent.h:
205614        * dom/PopStateEvent.idl:
205615
2056162011-11-07  Andreas Kling  <kling@webkit.org>
205617
205618        CSSValue: Devirtualize isFooType().
205619        <http://webkit.org/b/71668>
205620
205621        Reviewed by Darin Adler.
205622
205623        Add a member to CSSValue to determine which subclass a given
205624        value object is, along with 5 bits to tell us whether the
205625        value is primitive/mutable/initial/inherited/a list.
205626
205627        All non-private subclass constructors now take CSSValue::ClassType
205628        as their first argument. A few constructors were duplicated as
205629        private members to allow calling them from ::create() methods
205630        without passing an explicit ClassType.
205631
205632        Furthermore, since CSSValue::cssValueType() can be inferred from
205633        the subclass type, we compute it instead of storing it in a member.
205634
205635        * CMakeLists.txt:
205636        * GNUmakefile.list.am:
205637        * Target.pri:
205638        * WebCore.gypi:
205639        * WebCore.vcproj/WebCore.vcproj:
205640        * WebCore.xcodeproj/project.pbxproj:
205641
205642            Adding CSSValue.cpp.
205643
205644        * css/CSSValue.cpp: Added.
205645        (WebCore::CSSValue::cssValueType):
205646
205647            Out-of-line implementation of this method. Only used by CSSOM.
205648
205649        * css/CSSValue.h:
205650        (WebCore::CSSValue::isMutableValue):
205651        (WebCore::CSSValue::isPrimitiveValue):
205652        (WebCore::CSSValue::isValueList):
205653        (WebCore::CSSValue::isInitialValue):
205654        (WebCore::CSSValue::isInheritedValue):
205655        (WebCore::CSSValue::isBorderImageValue):
205656        (WebCore::CSSValue::isBorderImageSliceValue):
205657        (WebCore::CSSValue::isCursorImageValue):
205658        (WebCore::CSSValue::isFontFamilyValue):
205659        (WebCore::CSSValue::isFontFeatureValue):
205660        (WebCore::CSSValue::isFontValue):
205661        (WebCore::CSSValue::isImageGeneratorValue):
205662        (WebCore::CSSValue::isImageValue):
205663        (WebCore::CSSValue::isImplicitInitialValue):
205664        (WebCore::CSSValue::isReflectValue):
205665        (WebCore::CSSValue::isShadowValue):
205666        (WebCore::CSSValue::isTimingFunctionValue):
205667        (WebCore::CSSValue::isWebKitCSSTransformValue):
205668        (WebCore::CSSValue::isCSSLineBoxContainValue):
205669        (WebCore::CSSValue::isFlexValue):
205670        (WebCore::CSSValue::isWebKitCSSFilterValue):
205671        (WebCore::CSSValue::isSVGColor):
205672        (WebCore::CSSValue::isSVGPaint):
205673        (WebCore::CSSValue::classType):
205674        (WebCore::CSSValue::CSSValue):
205675        (WebCore::CSSValue::isPrimitiveType):
205676        (WebCore::CSSValue::isListType):
205677        (WebCore::CSSValue::isMutableType):
205678        (WebCore::CSSValue::isInheritedType):
205679        (WebCore::CSSValue::isInitialType):
205680
205681            Store subclass type information into a member variable and
205682            made all the isFooValue() functions non-virtual and inline.
205683            Some subclass type lookups (primitive values, notably) are
205684            cached in a bool member on construction.
205685
205686        * css/CSSAspectRatioValue.h:
205687        (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
205688        * css/CSSBorderImageSliceValue.cpp:
205689        (WebCore::CSSBorderImageSliceValue::CSSBorderImageSliceValue):
205690        * css/CSSBorderImageSliceValue.h:
205691        * css/CSSBorderImageValue.cpp:
205692        (WebCore::CSSBorderImageValue::CSSBorderImageValue):
205693        * css/CSSBorderImageValue.h:
205694        * css/CSSCanvasValue.h:
205695        (WebCore::CSSCanvasValue::CSSCanvasValue):
205696        * css/CSSCrossfadeValue.h:
205697        (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
205698        * css/CSSCursorImageValue.cpp:
205699        (WebCore::CSSCursorImageValue::CSSCursorImageValue):
205700        * css/CSSCursorImageValue.h:
205701        * css/CSSFlexValue.h:
205702        (WebCore::CSSFlexValue::CSSFlexValue):
205703        * css/CSSFontFaceSrcValue.h:
205704        (WebCore::CSSFontFaceSrcValue::CSSFontFaceSrcValue):
205705        * css/CSSFunctionValue.cpp:
205706        (WebCore::CSSFunctionValue::CSSFunctionValue):
205707        * css/CSSGradientValue.h:
205708        (WebCore::CSSGradientValue::isLinearGradient):
205709        (WebCore::CSSGradientValue::isRadialGradient):
205710        (WebCore::CSSGradientValue::CSSGradientValue):
205711        (WebCore::CSSLinearGradientValue::CSSLinearGradientValue):
205712        (WebCore::CSSRadialGradientValue::CSSRadialGradientValue):
205713        * css/CSSImageGeneratorValue.cpp:
205714        (WebCore::CSSImageGeneratorValue::CSSImageGeneratorValue):
205715        * css/CSSImageGeneratorValue.h:
205716        * css/CSSImageValue.cpp:
205717        (WebCore::CSSImageValue::CSSImageValue):
205718        * css/CSSImageValue.h:
205719        * css/CSSInheritedValue.h:
205720        (WebCore::CSSInheritedValue::CSSInheritedValue):
205721        * css/CSSInitialValue.h:
205722        (WebCore::CSSInitialValue::CSSInitialValue):
205723        (WebCore::CSSInitialValue::create):
205724        * css/CSSLineBoxContainValue.cpp:
205725        (WebCore::CSSLineBoxContainValue::CSSLineBoxContainValue):
205726        * css/CSSLineBoxContainValue.h:
205727        * css/CSSMutableValue.h:
205728        (WebCore::CSSMutableValue::CSSMutableValue):
205729        * css/CSSPrimitiveValue.cpp:
205730        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
205731        * css/CSSPrimitiveValue.h:
205732        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
205733        * css/CSSPrimitiveValueMappings.h:
205734        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
205735        * css/CSSReflectValue.h:
205736        (WebCore::CSSReflectValue::CSSReflectValue):
205737        * css/CSSTimingFunctionValue.h:
205738        (WebCore::CSSTimingFunctionValue::isLinearTimingFunctionValue):
205739        (WebCore::CSSTimingFunctionValue::isCubicBezierTimingFunctionValue):
205740        (WebCore::CSSTimingFunctionValue::isStepsTimingFunctionValue):
205741        (WebCore::CSSTimingFunctionValue::CSSTimingFunctionValue):
205742        (WebCore::CSSLinearTimingFunctionValue::CSSLinearTimingFunctionValue):
205743        (WebCore::CSSCubicBezierTimingFunctionValue::CSSCubicBezierTimingFunctionValue):
205744        (WebCore::CSSStepsTimingFunctionValue::CSSStepsTimingFunctionValue):
205745        * css/CSSUnicodeRangeValue.h:
205746        (WebCore::CSSUnicodeRangeValue::CSSUnicodeRangeValue):
205747        * css/CSSValueList.cpp:
205748        (WebCore::CSSValueList::CSSValueList):
205749        * css/CSSValueList.h:
205750        * css/FontFamilyValue.cpp:
205751        (WebCore::FontFamilyValue::FontFamilyValue):
205752        * css/FontFamilyValue.h:
205753        * css/FontFeatureValue.cpp:
205754        (WebCore::FontFeatureValue::FontFeatureValue):
205755        * css/FontFeatureValue.h:
205756        * css/FontValue.h:
205757        (WebCore::FontValue::FontValue):
205758        * css/ShadowValue.cpp:
205759        (WebCore::ShadowValue::ShadowValue):
205760        * css/ShadowValue.h:
205761        * css/WebKitCSSFilterValue.cpp:
205762        (WebCore::WebKitCSSFilterValue::WebKitCSSFilterValue):
205763        * css/WebKitCSSFilterValue.h:
205764        * css/WebKitCSSTransformValue.cpp:
205765        (WebCore::WebKitCSSTransformValue::WebKitCSSTransformValue):
205766        * css/WebKitCSSTransformValue.h:
205767        * svg/SVGColor.cpp:
205768        (WebCore::SVGColor::SVGColor):
205769        * svg/SVGColor.h:
205770        * svg/SVGPaint.cpp:
205771        (WebCore::SVGPaint::SVGPaint):
205772        * svg/SVGPaint.h:
205773
205774            Propagate subclass type information and kill isFooType() virtuals.
205775
2057762011-11-07  Mihnea Ovidenie  <mihnea@adobe.com>
205777
205778        Leaks seen in RenderRegion::setRenderBoxRegionInfo on Leaks bot
205779        https://bugs.webkit.org/show_bug.cgi?id=71259
205780
205781        Reviewed by Darin Adler.
205782
205783        Leak fixes covered by existing tests.
205784
205785        * rendering/RenderFlowThread.cpp:
205786        (WebCore::RenderFlowThread::logicalWidthChangedInRegions):
205787        The RenderBoxRegionInfo taken out of RenderRegion must be deleted on all code paths.
205788        * rendering/RenderRegion.cpp:
205789        (WebCore::RenderRegion::removeRenderBoxRegionInfo):
205790        The RenderBoxRegionInfo map owns the values, therefore, when values are removed from map
205791        they must also be deleted.
205792
2057932011-11-07  Adam Barth  <abarth@webkit.org>
205794
205795        iframe sandbox treats vertical tab as a valid delimiter
205796        https://bugs.webkit.org/show_bug.cgi?id=71704
205797
205798        Reviewed by Eric Seidel.
205799
205800        This patch adjusts our parser slightly to match the HTML5 spec.  The
205801        only difference is in how we handle vertical tabs.  Previously, we
205802        treated them as a delimiter, but we're not supposed to do that.
205803
205804        Test: fast/frames/sandboxed-iframe-parsing-space-characters.html
205805
205806        * page/SecurityOrigin.cpp:
205807        (WebCore::SecurityOrigin::parseSandboxPolicy):
205808
2058092011-11-07  Adam Barth  <abarth@webkit.org>
205810
205811        Factor SecurityContext out of ScriptExecutionContext
205812        https://bugs.webkit.org/show_bug.cgi?id=71721
205813
205814        Reviewed by Eric Seidel.
205815
205816        The new SecurityContext object lets us tightly scope control of
205817        the security-critical information in ScriptExecutionContext.
205818        Originally I had hoped to put all this state on SecurityOrigin, but
205819        SecurityOrigin gets shared between documents in some corner cases, so
205820        it's not a good fit for state like the sandbox flags and the CSP policy
205821        that really needs to be per-document.
205822
205823        * CMakeLists.txt:
205824        * GNUmakefile.list.am:
205825        * Target.pri:
205826        * WebCore.gypi:
205827        * WebCore.vcproj/WebCore.vcproj:
205828        * WebCore.xcodeproj/project.pbxproj:
205829        * dom/DOMAllInOne.cpp:
205830        * dom/ScriptExecutionContext.cpp:
205831        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
205832        * dom/ScriptExecutionContext.h:
205833        * loader/FrameLoader.h:
205834        * loader/FrameLoaderTypes.h:
205835        * page/SecurityOrigin.h:
205836
2058372011-11-07  Kentaro Hara  <haraken@chromium.org>
205838
205839        Refactor CodeGeneratorV8.pm before making a core change for bug 71093.
205840        https://bugs.webkit.org/show_bug.cgi?id=71659
205841
205842        Reviewed by Adam Barth.
205843
205844        Just refactor CodeGeneratorV8.pm without any change in behavior,
205845        as the first step for fixing bug 71093.
205846
205847        Tests: WebCore/bindings/scripts/test/TestObj.idl
205848               WebCore/bindings/scripts/test/TestInterface.idl
205849
205850        * bindings/scripts/CodeGeneratorV8.pm:
205851        (GenerateHeader): Sort generated headers in alphabetical order. Removed unnecessary variable names from method signatures. These changes are for silencing style check errors when a new TestXXXX.idl is added.
205852        (GenerateConstructorCallback): Renamed variables to clarify their roles.
205853        (WriteData): Removed an unused array @implHeaderContent.
205854        * bindings/scripts/test/V8/V8TestInterface.h: Updated a run-binding-tests result.
205855        * bindings/scripts/test/V8/V8TestMediaQueryListListener.h: Ditto.
205856        * bindings/scripts/test/V8/V8TestObj.h: Ditto.
205857        * bindings/scripts/test/V8/V8TestSerializedScriptValueInterface.h: Ditto.
205858
2058592011-11-07  Ken Buchanan <kenrb@chromium.org>
205860
205861        Crash due to mixed direction text runs
205862        https://bugs.webkit.org/show_bug.cgi?id=66015
205863
205864        Reviewed by David Hyatt.
205865
205866        Test for bug fix.
205867
205868        * fast/text/international/bidi-neutral-in-mixed-direction-run-crash.html: Added
205869        * fast/text/international/bidi-neutral-in-mixed-direction-run-cras-expected.txt: Added
205870
2058712011-11-07  Tim Horton  <timothy_horton@apple.com>
205872
205873        getBBox() on a SVGPathElement with curves incorrectly includes control points
205874        https://bugs.webkit.org/show_bug.cgi?id=53512
205875        <rdar://problem/9861154>
205876
205877        Reviewed by Oliver Hunt.
205878
205879        Split Path::boundingRect() into two, adding Path::fastBoundingRect()
205880        for a rough estimate of the bounding rect (always equal to or larger
205881        than boundingRect()). fastBoundingRect() currently falls back to
205882        boundingRect() for all ports besides CG, though in most cases
205883        (on a port-by-port basis) the current implementation of boundingRect()
205884        will need to become fastBoundingRect(), and a new, more accurate method will
205885        be implemented for boundingRect().
205886
205887        All previous callers of boundingRect() are transitioned to using fastBoundingRect()
205888        except SVGPathElement::getBBox, which wants an accurate bounding box.
205889
205890        The CoreGraphics implementation of Path::boundingRect() called
205891        CGPathGetBoundingBox, which includes the path's control points in its
205892        calculations. Snow Leopard added CGPathGetPathBoundingBox, which
205893        finds the bounding box of only points within the path, and does not
205894        include control points. On Snow Leopard and above, we now use the latter.
205895
205896        Test: svg/custom/getBBox-path.svg
205897
205898        * html/HTMLAreaElement.cpp:
205899        * html/canvas/CanvasRenderingContext2D.cpp:
205900        * platform/graphics/Path.cpp:
205901        * platform/graphics/Path.h:
205902        * platform/graphics/cg/GraphicsContextCG.cpp:
205903        * platform/graphics/cg/PathCG.cpp:
205904        (WebCore::Path::boundingRect):
205905        * rendering/RenderObject.h:
205906        * rendering/svg/RenderSVGPath.cpp:
205907        * svg/SVGPathElement.cpp:
205908        * svg/SVGPathElement.h:
205909
2059102011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
205911
205912        Web Inspector: Suggest box should be open immediately if forced by Ctrl+Space.
205913        https://bugs.webkit.org/show_bug.cgi?id=71710
205914
205915        Reviewed by Pavel Feldman.
205916
205917        * inspector/front-end/TextPrompt.js:
205918        (WebInspector.TextPrompt.prototype.clearAutoComplete):
205919        (WebInspector.TextPrompt.prototype.autoCompleteSoon):
205920
2059212011-11-07  vsevik@chromium.org  <vsevik@chromium.org>
205922
205923        Web Inspector: Suggest box should consume enter key pressed event.
205924        https://bugs.webkit.org/show_bug.cgi?id=71700
205925
205926        Reviewed by Pavel Feldman.
205927
205928        * inspector/front-end/ConsoleView.js:
205929        (WebInspector.ConsoleView):
205930        * inspector/front-end/TextPrompt.js:
205931        (WebInspector.TextPrompt.prototype._attachInternal):
205932        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
205933
2059342011-11-07  David Barr  <davidbarr@chromium.org>
205935
205936        Optimize outline rendering to avoid transparency layers
205937        https://bugs.webkit.org/show_bug.cgi?id=60750
205938
205939        Add fast path for solid block outlines with alpha.
205940        Improve readability of piecewise path while at it.
205941
205942        Reviewed by Simon Fraser.
205943
205944        No intended change in behaviour, no new tests.
205945
205946        * rendering/RenderObject.cpp:
205947        (WebCore::RenderObject::paintOutline):
205948
2059492011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
205950
205951        Web Inspector: Suggest box should not accept suggestion on space key pressed.
205952        https://bugs.webkit.org/show_bug.cgi?id=71706
205953
205954        Reviewed by Pavel Feldman.
205955
205956        * inspector/front-end/TextPrompt.js:
205957        (WebInspector.TextPrompt.prototype.onKeyDown):
205958        (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
205959
2059602011-11-07  Andreas Kling  <kling@webkit.org>
205961
205962        Don't use CSSOM's CSSValue.cssValueType internally in WebCore.
205963        <http://webkit.org/b/71679>
205964
205965        Reviewed by Darin Adler.
205966
205967        Swap out cssValueType() usage for isPrimitiveValue(), isInitialValue()
205968        and isInheritedValue() to increase code clarity.
205969
205970        The plan is to turn cssValueType() into a computed value based on the
205971        CSSValue subclass (coming soon to <http://webkit.org/b/71668>.)
205972        This is a clean-up in preparation for that.
205973
205974        * bindings/js/JSCSSStyleDeclarationCustom.cpp:
205975        (WebCore::JSCSSStyleDeclaration::nameGetter):
205976        * bindings/v8/custom/V8CSSStyleDeclarationCustom.cpp:
205977        (WebCore::V8CSSStyleDeclaration::namedPropertyGetter):
205978        * css/CSSInheritedValue.h:
205979        (WebCore::CSSInheritedValue::isInheritedValue):
205980        * css/CSSInitialValue.h:
205981        (WebCore::CSSInitialValue::isInitialValue):
205982        * css/CSSParser.cpp:
205983        (WebCore::CSSParser::parseColor):
205984        * css/CSSStyleSelector.cpp:
205985        (WebCore::CSSStyleSelector::applyDeclaration):
205986        (WebCore::CSSStyleSelector::applyProperty):
205987        (WebCore::CSSStyleSelector::mapFillAttachment):
205988        (WebCore::CSSStyleSelector::mapFillClip):
205989        (WebCore::CSSStyleSelector::mapFillComposite):
205990        (WebCore::CSSStyleSelector::mapFillOrigin):
205991        (WebCore::CSSStyleSelector::mapFillImage):
205992        (WebCore::CSSStyleSelector::mapFillRepeatX):
205993        (WebCore::CSSStyleSelector::mapFillRepeatY):
205994        (WebCore::CSSStyleSelector::mapFillSize):
205995        (WebCore::CSSStyleSelector::mapFillXPosition):
205996        (WebCore::CSSStyleSelector::mapFillYPosition):
205997        (WebCore::CSSStyleSelector::mapAnimationDelay):
205998        (WebCore::CSSStyleSelector::mapAnimationDirection):
205999        (WebCore::CSSStyleSelector::mapAnimationDuration):
206000        (WebCore::CSSStyleSelector::mapAnimationFillMode):
206001        (WebCore::CSSStyleSelector::mapAnimationIterationCount):
206002        (WebCore::CSSStyleSelector::mapAnimationName):
206003        (WebCore::CSSStyleSelector::mapAnimationPlayState):
206004        (WebCore::CSSStyleSelector::mapAnimationProperty):
206005        (WebCore::CSSStyleSelector::mapAnimationTimingFunction):
206006        * css/CSSValue.h:
206007        (WebCore::CSSValue::isInheritedValue):
206008        (WebCore::CSSValue::isInitialValue):
206009        * css/SVGCSSStyleSelector.cpp:
206010        (WebCore::CSSStyleSelector::applySVGProperty):
206011        * editing/EditingStyle.cpp:
206012        (WebCore::EditingStyle::extractFontSizeDelta):
206013        (WebCore::EditingStyle::mergeStyleFromRulesForSerialization):
206014
2060152011-11-07  Sheriff Bot  <webkit.review.bot@gmail.com>
206016
206017        Unreviewed, rolling out r99432.
206018        http://trac.webkit.org/changeset/99432
206019        https://bugs.webkit.org/show_bug.cgi?id=71709
206020
206021        It made layout tests extra slow on all bots (Requested by
206022        Ossy_night on #webkit).
206023
206024        * inspector/front-end/ConsoleView.js:
206025        (WebInspector.ConsoleView):
206026        * inspector/front-end/TextPrompt.js:
206027        (WebInspector.TextPrompt.prototype._attachInternal):
206028        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
206029
2060302011-11-07  Andreas Kling  <kling@webkit.org>
206031
206032        REGRESSION(r99409): Broke transitions/clip-transition.html
206033        <http://webkit.org/b/71692>
206034
206035        Reviewed by Darin Adler.
206036
206037        Add missing base class initializers to CSSPrimitiveValue constructors.
206038        This was causing some CSSPrimitiveValues to masquerade as CSS_CUSTOM values.
206039
206040        * css/CSSPrimitiveValue.h:
206041        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
206042        * css/CSSPrimitiveValueMappings.h:
206043        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
206044
2060452011-11-07  ChangSeok Oh  <shivamidow@gmail.com>
206046
206047        [EFL] Support requestAnimationFrame API
206048        https://bugs.webkit.org/show_bug.cgi?id=67112
206049
206050        Reviewed by Andreas Kling.
206051
206052        Add some files to build-target when enabling requestAnimationFrame option.
206053
206054        fast/animation/request-animation-frame-cancel.html
206055        fast/animation/request-animation-frame-cancel2.html
206056        fast/animation/request-animation-frame-display.html
206057        fast/animation/request-animation-frame-during-modal.html
206058        fast/animation/request-animation-frame-timestamps.html
206059        fast/animation/request-animation-frame-within-callback.html
206060        fast/animation/request-animation-frame.html
206061
206062        * CMakeLists.txt:
206063        * UseJSC.cmake:
206064
2060652011-11-07  Sam Weinig  <sam@webkit.org>
206066
206067        Add missing .in and .pl files to the Xcode project for easy access.
206068
206069        Reviewed by Eric Carlson.
206070
206071        * WebCore.xcodeproj/project.pbxproj:
206072        Add some missing files to the Xcode project.
206073
2060742011-11-07  Jessie Berlin  <jberlin@apple.com>
206075
206076        Need a way to allow a scheme access to Local Storage and Databases while Private Browsing is
206077        enabled.
206078        https://bugs.webkit.org/show_bug.cgi?id=71631
206079
206080        Reviewed by Jon Honeycutt.
206081
206082        Check the SchemeRegistry before preventing read/write access to Local Storage and Databases
206083        in Private Browsing.
206084
206085        * WebCore.exp.in:
206086        Export the symbols for registering the schemes as allowing Local Storage and Database access
206087        in Private Browsing.
206088
206089        * dom/Document.cpp:
206090        (WebCore::Document::allowDatabaseAccess):
206091        Check if the scheme allows Database access in Private Browsing.
206092
206093        * platform/SchemeRegistry.cpp:
206094        (WebCore::schemesAllowingLocalStorageAccessInPrivateBrowsing):
206095        (WebCore::schemesAllowingDatabaseAccessInPrivateBrowsing):
206096        (WebCore::SchemeRegistry::registerURLSchemeAsAllowingLocalStorageAccessInPrivateBrowsing):
206097        (WebCore::SchemeRegistry::allowsLocalStorageAccessInPrivateBrowsing):
206098        (WebCore::SchemeRegistry::registerURLSchemeAsAllowingDatabaseAccessInPrivateBrowsing):
206099        (WebCore::SchemeRegistry::allowsDatabaseAccessInPrivateBrowsing):
206100        * platform/SchemeRegistry.h:
206101
206102        * storage/Storage.cpp:
206103        (WebCore::Storage::length):
206104        Ask the storage area if it is disabled by Private Browsing in the frame instead of just
206105        checking if Private Browsing is enabled for that frame because the answer might depend on
206106        what type of storage that storage area is.
206107        (WebCore::Storage::key):
206108        Ditto.
206109        (WebCore::Storage::getItem):
206110        Ditto.
206111        (WebCore::Storage::contains):
206112        Ditto.
206113
206114        * storage/StorageArea.h:
206115        Make it possible to query a StorageArea for whether it is disabled by Private Browsing in a
206116        Frame.
206117        * storage/StorageAreaImpl.cpp:
206118        (WebCore::StorageAreaImpl::disabledByPrivateBrowsingInFrame):
206119        Renamed from privateBrowsingEnabled.
206120        Check not only if Private Browsing is enabled for the Frame, but also if the storage type is
206121        Local Storage and if there is an exception for the scheme of the resource currently loaded
206122        into the Frame.
206123        (WebCore::StorageAreaImpl::setItem):
206124        Renamed privateBrowsingEnabled -> disabledByPrivateBrowsingInFrame.
206125        (WebCore::StorageAreaImpl::removeItem):
206126        Ditto.
206127        (WebCore::StorageAreaImpl::clear):
206128        Ditto.
206129        * storage/StorageAreaImpl.h:
206130
2061312011-11-07  Dominic Cooney  <dominicc@chromium.org>
206132
206133        Remove initCloseEvent method
206134        https://bugs.webkit.org/show_bug.cgi?id=71374
206135
206136        Reviewed by Ojan Vafai.
206137
206138        Test: fast/dom/Window/window-properties.html
206139
206140        * websockets/CloseEvent.h:
206141        (WebCore::CloseEvent::initCloseEvent):
206142        * websockets/CloseEvent.idl:
206143
2061442011-11-07  Anders Carlsson  <andersca@apple.com>
206145
206146        Simplify NetscapePlugin::convertPoint and make it work (in theory) with transformed plug-ins
206147        https://bugs.webkit.org/show_bug.cgi?id=71699
206148
206149        Reviewed by Sam Weinig.
206150
206151        Export AffineTransform symbols used by WebKit2.
206152
206153        * WebCore.exp.in:
206154
2061552011-11-07  Michael Saboff  <msaboff@apple.com>
206156
206157        Towards 8 Bit Strings: Templatize JSC::Lexer class by character type
206158        https://bugs.webkit.org/show_bug.cgi?id=71331
206159
206160        Changed the SourceProvider::data() virtual method to return a
206161        StringImpl* instead of a UChar*.
206162        Changed Identifier() constructor to use JSGlobalData*.
206163
206164        Reviewed by Darin Adler.
206165
206166        No new tests - refactored SourceProvider class and sub-classes.
206167
206168        * bindings/js/CachedScriptSourceProvider.h:
206169        (WebCore::CachedScriptSourceProvider::stringData):
206170        * bindings/js/StringSourceProvider.h:
206171        (WebCore::StringSourceProvider::stringData):
206172        * bridge/qt/qt_runtime.cpp:
206173        (JSC::Bindings::convertQVariantToValue):
206174
2061752011-11-07  Dominic Cooney  <dominicc@chromium.org>
206176
206177        Remove initOverflowEvent from JavaScript bindings
206178        https://bugs.webkit.org/show_bug.cgi?id=71687
206179
206180        Reviewed by Ojan Vafai.
206181
206182        Now that OverflowEvent has a constructor, we don't need the
206183        initOverflowEvent method. It has to remain in the Objective C
206184        binding because it is part of the Objective C public API.
206185
206186        * dom/OverflowEvent.idl:
206187
2061882011-11-07  Noel Gordon  <noel.gordon@gmail.com>
206189
206190        Refactor canvas encoding mimeType validation
206191        https://bugs.webkit.org/show_bug.cgi?id=71651
206192
206193        Reviewed by Andreas Kling.
206194
206195        No new tests, refactoring only, covered by existing canvas tests.
206196
206197        * html/HTMLCanvasElement.cpp:
206198        (WebCore::HTMLCanvasElement::toEncodingMimeType): move encoder mimeType
206199        validation logic into a helper routine.
206200        (WebCore::HTMLCanvasElement::toDataURL):
206201        * html/HTMLCanvasElement.h:
206202
2062032011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
206204
206205        Web Inspector: Suggest box should consume enter key pressed event.
206206        https://bugs.webkit.org/show_bug.cgi?id=71700
206207
206208        Reviewed by Pavel Feldman.
206209
206210        * inspector/front-end/ConsoleView.js:
206211        (WebInspector.ConsoleView):
206212        * inspector/front-end/TextPrompt.js:
206213        (WebInspector.TextPrompt.prototype._attachInternal):
206214        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
206215
2062162011-11-07  Dominic Cooney  <dominicc@chromium.org>
206217
206218        Remove initPageTransitionEvent method
206219        https://bugs.webkit.org/show_bug.cgi?id=71689
206220
206221        Reviewed by Ojan Vafai.
206222
206223        initPageTransitionEvent was removed from the HTML spec; it has
206224        been replaced by new PageTransitionEvent(...).
206225
206226        Removing a method, so no new tests.
206227
206228        * dom/PageTransitionEvent.cpp:
206229        * dom/PageTransitionEvent.h:
206230        * dom/PageTransitionEvent.idl:
206231
2062322011-11-07  Alexander Pavlov  <apavlov@chromium.org>
206233
206234        Web Inspector: TextPrompt+SuggestBox should autocomplete on "Right" keydown and with a single suggestion in place
206235        https://bugs.webkit.org/show_bug.cgi?id=71676
206236
206237        Reviewed by Pavel Feldman.
206238
206239        * inspector/front-end/TextPrompt.js:
206240        (WebInspector.TextPrompt.prototype.onKeyDown):
206241        (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
206242        * inspector/front-end/inspectorCommon.css:
206243        (body): Revert inadvertent style change from a preceding commit.
206244
2062452011-11-07  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
206246
206247        Fix the Qt build on Mac OS X when using the QuickTime media backend
206248
206249        When QtWebKit is built on Mac OS X using the QuickTime media backend
206250        we build both KURLCFNet.cpp and KURLMac, just like the Mac port, so
206251        we have to guard the potentially duplicate symbol createCFURL with
206252        more than just !PLATFORM(MAC).
206253
206254        Reviewed by Andreas Kling.
206255
206256        * platform/cf/KURLCFNet.cpp:
206257
2062582011-11-07  Pavel Feldman  <pfeldman@google.com>
206259
206260        Not reviewed: follow up to r99407. Style the suggest box.
206261        https://bugs.webkit.org/show_bug.cgi?id=65511
206262
206263
206264        * inspector/front-end/TextPrompt.js:
206265        * inspector/front-end/inspector.css:
206266        * inspector/front-end/textPrompt.css:
206267
2062682011-11-07  Roland Steiner  <rolandsteiner@chromium.org>
206269
206270        https://bugs.webkit.org/show_bug.cgi?id=70223
206271        CSSStyleSheet: finding the owner node should be in its own method
206272
206273        Add styleSheetOwnerNode() function that returns the owner Node of the style sheet, or 0.
206274
206275        Reviewed by Dimitri Glazkov.
206276
206277        No new tests. (refactoring)
206278
206279        * css/CSSStyleSheet.cpp:
206280        (WebCore::CSSStyleSheet::styleSheetOwnerNode):
206281        (WebCore::CSSStyleSheet::document):
206282        * css/CSSStyleSheet.h:
206283
2062842011-11-07  Yury Semikhatsky  <yurys@chromium.org>
206285
206286        [Chromium] Web Inspector: use native worker inspector instead of fake workers
206287        https://bugs.webkit.org/show_bug.cgi?id=71670
206288
206289        Removed context menu option for switching between native and "fake" workers
206290        debugger. Native debugger is used by default on platforms that support it.
206291
206292        Reviewed by Pavel Feldman.
206293
206294        * English.lproj/localizedStrings.js:
206295        * inspector/front-end/ScriptsPanel.js:
206296        (WebInspector.ScriptsPanel.prototype._toggleFormatSource):
206297        * inspector/front-end/Settings.js:
206298        (WebInspector.Settings):
206299        * inspector/front-end/WorkersSidebarPane.js:
206300        (WebInspector.WorkerListSidebarPane):
206301        (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
206302        * inspector/front-end/scriptsPanel.css:
206303        (#shared-workers-list):
206304
2063052011-11-07  Vsevolod Vlasov  <vsevik@chromium.org>
206306
206307        Web Inspector: Add advanced search shortcut to ShortcutsScreen.
206308        https://bugs.webkit.org/show_bug.cgi?id=71302
206309
206310        Reviewed by Pavel Feldman.
206311
206312        * English.lproj/localizedStrings.js:
206313        * inspector/front-end/AdvancedSearchController.js:
206314        (WebInspector.AdvancedSearchController.createShortcut):
206315        * inspector/front-end/inspector.js:
206316        (WebInspector._registerShortcuts):
206317
2063182011-11-07  Andreas Kling  <kling@webkit.org>
206319
206320        CSSImageValue: Remove inheritance from CachedImageClient.
206321        <http://webkit.org/b/71675>
206322
206323        Reviewed by Antti Koivisto.
206324
206325        CSSImageValue doesn't actually use any of the CachedImageClient
206326        functionality, and holds a reference to the resource via the
206327        CachedResourceHandle in StyleCachedImage.
206328
206329        So we can safely remove the multiple inheritance and simplify
206330        the class.
206331
206332        * css/CSSImageValue.cpp:
206333        (WebCore::CSSImageValue::~CSSImageValue):
206334        (WebCore::CSSImageValue::cachedImage):
206335        (WebCore::CSSImageValue::clearCachedImage):
206336        * css/CSSImageValue.h:
206337
2063382011-11-07  Andreas Kling  <kling@webkit.org>
206339
206340        CSSPrimitiveValue: Remove unused virtual function parseString().
206341        <http://webkit.org/b/71671>
206342
206343        Reviewed by Antti Koivisto.
206344
206345        * css/CSSPrimitiveValue.cpp:
206346        * css/CSSPrimitiveValue.h:
206347
2063482011-11-07  Andrey Kosyakov  <caseq@chromium.org>
206349
206350        Web Inspector: use toString as the Date object description.
206351        https://bugs.webkit.org/show_bug.cgi?id=71605
206352
206353        Reviewed by Yury Semikhatsky.
206354
206355        Test: inspector/remote-object.html
206356
206357        * inspector/InjectedScriptSource.js:
206358        (.):
206359
2063602011-10-26  Andrey Kosyakov  <caseq@chromium.org>
206361
206362        Web Inspector: [refactoring] get JS-specific methods out of SourceFrame
206363        https://bugs.webkit.org/show_bug.cgi?id=70885
206364
206365        Reviewed by Pavel Feldman.
206366
206367        No new tests, as there's no new functionality.
206368
206369        * inspector/front-end/JavaScriptSourceFrame.js:
206370        (WebInspector.JavaScriptSourceFrame):
206371        (WebInspector.JavaScriptSourceFrame.prototype.willHide):
206372        (WebInspector.JavaScriptSourceFrame.prototype.requestContent):
206373        (WebInspector.JavaScriptSourceFrame.prototype.canEditSource):
206374        (WebInspector.JavaScriptSourceFrame.prototype.suggestedFileName):
206375        (WebInspector.JavaScriptSourceFrame.prototype.editContent):
206376        (WebInspector.JavaScriptSourceFrame.prototype.contentChanged):
206377        (WebInspector.JavaScriptSourceFrame.prototype.setReadonly):
206378        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.addConditionalBreakpoint.didEditBreakpointCondition):
206379        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.):
206380        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else.editBreakpointCondition.didEditBreakpointCondition):
206381        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu.else):
206382        (WebInspector.JavaScriptSourceFrame.prototype.populateLineGutterContextMenu):
206383        (WebInspector.JavaScriptSourceFrame.prototype.populateTextAreaContextMenu):
206384        (WebInspector.JavaScriptSourceFrame.prototype.afterTextChanged):
206385        (WebInspector.JavaScriptSourceFrame.prototype.beforeTextChanged):
206386        (WebInspector.JavaScriptSourceFrame.prototype.cancelEditing):
206387        (WebInspector.JavaScriptSourceFrame.prototype.didEditContent):
206388        (WebInspector.JavaScriptSourceFrame.prototype._getPopoverAnchor):
206389        (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover.showObjectPopover):
206390        (WebInspector.JavaScriptSourceFrame.prototype._onShowPopover):
206391        (WebInspector.JavaScriptSourceFrame.prototype._onHidePopover):
206392        (WebInspector.JavaScriptSourceFrame.prototype.addBreakpoint):
206393        (WebInspector.JavaScriptSourceFrame.prototype.removeBreakpoint):
206394        (WebInspector.JavaScriptSourceFrame.prototype._mouseDown):
206395        (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition.finishEditing):
206396        (WebInspector.JavaScriptSourceFrame.prototype._editBreakpointCondition):
206397        (WebInspector.JavaScriptSourceFrame.prototype._createConditionElement):
206398        (WebInspector.JavaScriptSourceFrame.prototype.setExecutionLine):
206399        (WebInspector.JavaScriptSourceFrame.prototype.clearExecutionLine):
206400        (WebInspector.JavaScriptSourceFrame.prototype._lineNumberAfterEditing):
206401        (WebInspector.JavaScriptSourceFrame.prototype._onTextViewerContentLoaded):
206402        (WebInspector.JavaScriptSourceFrameDelegate):
206403        (WebInspector.JavaScriptSourceFrameDelegate.prototype.requestContent):
206404        (WebInspector.JavaScriptSourceFrameDelegate.prototype.setBreakpoint):
206405        (WebInspector.JavaScriptSourceFrameDelegate.prototype.removeBreakpoint):
206406        (WebInspector.JavaScriptSourceFrameDelegate.prototype.updateBreakpoint):
206407        (WebInspector.JavaScriptSourceFrameDelegate.prototype.findBreakpoint):
206408        (WebInspector.JavaScriptSourceFrameDelegate.prototype.continueToLine):
206409        (WebInspector.JavaScriptSourceFrameDelegate.prototype.canEditScriptSource):
206410        (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSource):
206411        (WebInspector.JavaScriptSourceFrameDelegate.prototype.setScriptSourceIsBeingEdited):
206412        (WebInspector.JavaScriptSourceFrameDelegate.prototype.suggestedFileName):
206413        (WebInspector.JavaScriptSourceFrameDelegate.prototype.addToWatch):
206414        * inspector/front-end/ResourceView.js:
206415        (WebInspector.ResourceSourceFrame):
206416        * inspector/front-end/ScriptsPanel.js:
206417        (WebInspector.SourceFrameDelegateForScriptsPanel):
206418        * inspector/front-end/SourceFrame.js:
206419        (WebInspector.SourceFrame):
206420        (WebInspector.SourceFrame.prototype.willHide):
206421        (WebInspector.SourceFrame.prototype.get textViewer):
206422        (WebInspector.SourceFrame.prototype.requestContent):
206423        (WebInspector.SourceFrame.prototype._saveViewerState):
206424        (WebInspector.SourceFrame.prototype._restoreViewerState):
206425        (WebInspector.SourceFrame.prototype.beforeTextChanged):
206426        (WebInspector.SourceFrame.prototype.afterTextChanged):
206427        (WebInspector.SourceFrame.prototype._initializeTextViewer):
206428        (WebInspector.SourceFrame.prototype.populateLineGutterContextMenu):
206429        (WebInspector.SourceFrame.prototype.suggestedFileName):
206430        (WebInspector.SourceFrame.prototype.canEditSource):
206431        (WebInspector.SourceFrame.prototype.startEditing):
206432        (WebInspector.SourceFrame.prototype.commitEditing):
206433        (WebInspector.SourceFrame.prototype.didEditContent):
206434        (WebInspector.SourceFrame.prototype.editContent):
206435        (WebInspector.SourceFrame.prototype.cancelEditing):
206436        (WebInspector.SourceFrame.prototype.setReadOnly):
206437        * inspector/front-end/inspector.html:
206438
2064392011-11-06  Andreas Kling  <kling@webkit.org>
206440
206441        CSSValue: Devirtualize cssValueType().
206442        <http://webkit.org/b/71667>
206443
206444        Reviewed by Antti Koivisto.
206445
206446        Keep the cssValueType in a CSSValue member instead of using
206447        virtual functions.
206448
206449        This is part of a project to completely devirtualize CSSValue
206450        <http://webkit.org/b/71666> and will incur a temporary object
206451        size regression for CSSValue while the work is ongoing.
206452
206453        * css/CSSInheritedValue.cpp:
206454        * css/CSSInheritedValue.h:
206455        (WebCore::CSSInheritedValue::CSSInheritedValue):
206456        * css/CSSInitialValue.cpp:
206457        * css/CSSInitialValue.h:
206458        (WebCore::CSSInitialValue::CSSInitialValue):
206459        * css/CSSPrimitiveValue.cpp:
206460        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
206461        * css/CSSPrimitiveValue.h:
206462        * css/CSSValue.h:
206463        (WebCore::CSSValue::cssValueType):
206464        (WebCore::CSSValue::CSSValue):
206465        * css/CSSValueList.cpp:
206466        (WebCore::CSSValueList::CSSValueList):
206467        * css/CSSValueList.h:
206468
2064692011-11-07  Pavel Feldman  <pfeldman@chromium.org>
206470
206471        Web Inspector: introduce UserAgent override setting.
206472        https://bugs.webkit.org/show_bug.cgi?id=71627
206473
206474        Reviewed by Yury Semikhatsky.
206475
206476        * English.lproj/localizedStrings.js:
206477        * inspector/InspectorResourceAgent.cpp:
206478        (WebCore::InspectorResourceAgent::clearFrontend):
206479        (WebCore::InspectorResourceAgent::applyUserAgentOverride):
206480        (WebCore::InspectorResourceAgent::setUserAgentOverride):
206481        * inspector/front-end/HelpScreen.js:
206482        (WebInspector.HelpScreen):
206483        (WebInspector.HelpScreen.prototype.show):
206484        (WebInspector.HelpScreen.prototype._onBlur):
206485        * inspector/front-end/NetworkManager.js:
206486        (WebInspector.NetworkManager.prototype._cacheDisabledSettingChanged):
206487        (WebInspector.NetworkManager.prototype._userAgentSettingChanged):
206488        * inspector/front-end/Settings.js:
206489        (WebInspector.Settings):
206490        * inspector/front-end/SettingsScreen.js:
206491        (WebInspector.SettingsScreen):
206492        (WebInspector.SettingsScreen.prototype._createSelectSetting.get for):
206493        (WebInspector.SettingsScreen.prototype._createCustomSetting):
206494        (WebInspector.SettingsScreen.prototype._createUserActionControl.checkboxClicked):
206495        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.get const):
206496        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textDoubleClicked):
206497        (WebInspector.SettingsScreen.prototype._createUserAgentSelectRowElement.textChanged):
206498        * inspector/front-end/helpScreen.css:
206499        (.help-table td):
206500        (.help-content fieldset label):
206501
2065022011-11-07  Alexander Pavlov  <apavlov@chromium.org>
206503
206504        Web Inspector: autocomplete combobox for Styles sidebar and Console.
206505        https://bugs.webkit.org/show_bug.cgi?id=65511
206506
206507        Reviewed by Pavel Feldman.
206508
206509        * inspector/front-end/ConsoleView.js:
206510        (WebInspector.ConsoleView):
206511        * inspector/front-end/StylesSidebarPane.js:
206512        (WebInspector.StylePropertyTreeElement.prototype):
206513        ():
206514        * inspector/front-end/TextPrompt.js:
206515        (WebInspector.TextPrompt):
206516        (WebInspector.TextPrompt.prototype.setSuggestBoxEnabled):
206517        (WebInspector.TextPrompt.prototype._attachInternal):
206518        (WebInspector.TextPrompt.prototype.applySuggestion):
206519        (WebInspector.TextPrompt.prototype.acceptSuggestion):
206520        (WebInspector.TextPromptWithHistory):
206521        * inspector/front-end/inspector.css:
206522        (.suggest-box.generic-suggest):
206523        (.suggest-box.generic-suggest.above-anchor):
206524        (.suggest-box.generic-suggest .content):
206525
2065262011-11-07  Pavel Feldman  <pfeldman@chromium.org>
206527
206528        Web Inspector: split script-formatter test into multiple tests.
206529        https://bugs.webkit.org/show_bug.cgi?id=71607
206530
206531        Reviewed by Yury Semikhatsky.
206532
206533        Tests: inspector/debugger/script-formatter-breakpoints.html
206534               inspector/debugger/script-formatter-console.html
206535
206536        * inspector/front-end/ScriptsPanel.js:
206537        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
206538
2065392011-11-07  Keishi Hattori  <keishi@webkit.org>
206540
206541        Change ColorChooser from singleton to ordinary object
206542        https://bugs.webkit.org/show_bug.cgi?id=71644
206543
206544        Reviewed by Kent Tamura.
206545
206546        Changing WebCore::ColorChooser from a singleton to an ordinary object can broaden how browsers implement the color chooser interface.
206547
206548        * WebCore.exp.in:
206549        * html/ColorInputType.cpp:
206550        (WebCore::ColorInputType::~ColorInputType):
206551        (WebCore::ColorInputType::setValue): If a chooser exists, calls Chrome::setSelectedColorInColorChooser
206552        (WebCore::ColorInputType::handleDOMActivateEvent):
206553        (WebCore::ColorInputType::detach):
206554        (WebCore::ColorInputType::didCleanup): Called after cleanup is complete.
206555        (WebCore::ColorInputType::cleanupColorChooser): Renamed from cleanupColorChooserIfCurrentClient.
206556        * html/ColorInputType.h:
206557        * html/HTMLInputElement.cpp:
206558        (WebCore::HTMLInputElement::selectColorInColorChooser):
206559        * html/HTMLInputElement.h:
206560        * loader/EmptyClients.h:
206561        (WebCore::EmptyChromeClient::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
206562        (WebCore::EmptyChromeClient::setSelectedColorInColorChooser): Ditto.
206563        * page/Chrome.cpp:
206564        (WebCore::Chrome::cleanupColorChooser): Added colorChooser argument because there are many WebCore::ColorChoosers now.
206565        (WebCore::Chrome::setSelectedColorInColorChooser): Ditto.
206566        * page/Chrome.h:
206567        * page/ChromeClient.h:
206568        * platform/ColorChooser.cpp:
206569        (WebCore::ColorChooserClient::~ColorChooserClient):
206570        (WebCore::ColorChooserClient::newColorChooser): Creates a new color chooser that is connected to itself.
206571        (WebCore::ColorChooserClient::discardChooser): Discards the connected color chooser.
206572        (WebCore::ColorChooser::ColorChooser): ColorChooser is RefCounted.
206573        (WebCore::ColorChooser::create): Creates a ColorChooser that is connected to the given ColorChooserClient.
206574        (WebCore::ColorChooser::~ColorChooser):
206575        (WebCore::ColorChooser::didChooseColor): Called from WebKit side when user chose a color. Calls ColorChooserClient::didChooseColor
206576        (WebCore::ColorChooser::didCleanup): Called from WebKit side when user color chooser was cleaned up. Calls ColorChooserClient::didCleanup
206577        * platform/ColorChooser.h:
206578        (WebCore::ColorChooserClient::chooser): Returns the current ColorChooser.
206579        (WebCore::ColorChooser::disconnectClient): Disconnects the ColorChooserClient.
206580        * testing/Internals.cpp:
206581        (WebCore::Internals::selectColorInColorChooser): Added element argument. This calls didChooseColor on the ColorChooser of that element.
206582        * testing/Internals.h:
206583        * testing/Internals.idl: Removed connectColorChooserClient and updated selectColorInColorChooser.
206584
2065852011-11-07  Alexander Pavlov  <apavlov@chromium.org>
206586
206587        Web Inspector: Cannot edit elements commented with <!--
206588        https://bugs.webkit.org/show_bug.cgi?id=71357
206589
206590        Reviewed by Pavel Feldman.
206591
206592        * inspector/InspectorDOMAgent.cpp:
206593        (WebCore::InspectorDOMAgent::getOuterHTML):
206594        (WebCore::InspectorDOMAgent::setOuterHTML):
206595        * inspector/front-end/ElementsTreeOutline.js:
206596        (WebInspector.ElementsTreeOutline.prototype.populateContextMenu):
206597        (WebInspector.ElementsTreeElement.prototype._populateTagContextMenu):
206598        (WebInspector.ElementsTreeElement.prototype._populateTextContextMenu):
206599        (WebInspector.ElementsTreeElement.prototype._populateNodeContextMenu):
206600
2066012011-11-06  Noel Gordon  <noel.gordon@gmail.com>
206602
206603        Fix some style issues in ImageBuffer.h
206604        https://bugs.webkit.org/show_bug.cgi?id=71649
206605
206606        Reviewed by Kent Tamura.
206607
206608        No new tests. Style change only.
206609
206610        * platform/graphics/ImageBuffer.h:
206611
2066122011-11-06  Keishi Hattori  <keishi@webkit.org>
206613
206614        InputType::fallbackValue and defaultValue should be const
206615        https://bugs.webkit.org/show_bug.cgi?id=71641
206616
206617        Reviewed by Kent Tamura.
206618    
206619        Changing InputType::fallbackValue and defaultValue to const. Also adding OVERRIDE.
206620
206621        * html/BaseCheckableInputType.cpp:
206622        (WebCore::BaseCheckableInputType::fallbackValue):
206623        * html/BaseCheckableInputType.h:
206624        * html/ColorInputType.cpp:
206625        (WebCore::ColorInputType::fallbackValue):
206626        * html/ColorInputType.h:
206627        * html/InputType.cpp:
206628        (WebCore::InputType::fallbackValue):
206629        (WebCore::InputType::defaultValue):
206630        * html/InputType.h:
206631        * html/RangeInputType.cpp:
206632        (WebCore::RangeInputType::fallbackValue):
206633        * html/RangeInputType.h:
206634        * html/ResetInputType.cpp:
206635        (WebCore::ResetInputType::defaultValue):
206636        * html/ResetInputType.h:
206637        * html/SubmitInputType.cpp:
206638        (WebCore::SubmitInputType::defaultValue):
206639        * html/SubmitInputType.h:
206640
2066412011-11-06  Keishi Hattori  <keishi@webkit.org>
206642
206643        Remove ColorInputType::handleClickEvent
206644        https://bugs.webkit.org/show_bug.cgi?id=71640
206645
206646        Reviewed by Kent Tamura.
206647
206648        When you click the input color element, both ColorInputType::handleClickEvent and
206649        ColorInputType::handleDOMActivateEvent are called, causing Chrome::openColorChooser
206650        to be called too many times.
206651
206652        * html/ColorInputType.cpp: Removed ColorInputType::handleClickEvent
206653        * html/ColorInputType.h: Removed ColorInputType::handleClickEvent
206654
2066552011-11-06  Keishi Hattori  <keishi@webkit.org>
206656
206657        Remove extra semicolon in ColorInputType
206658        https://bugs.webkit.org/show_bug.cgi?id=71639
206659
206660        Reviewed by Kent Tamura.
206661
206662        * html/ColorInputType.cpp:
206663        (WebCore::ColorInputType::setValue):
206664
2066652011-11-06  Dominic Cooney  <dominicc@chromium.org>
206666
206667        Remove initBeforeLoadEvent method
206668        https://bugs.webkit.org/show_bug.cgi?id=71636
206669
206670        Reviewed by Adam Barth.
206671
206672        Test: fast/dom/Window/window-properties.html
206673
206674        * dom/BeforeLoadEvent.h:
206675        * dom/BeforeLoadEvent.idl:
206676
2066772011-11-06  Adam Barth  <abarth@webkit.org>
206678
206679        Don't crash when a context hasn't been created.  This fixed a
206680        testing-only crash on the bots in the Chromium port.
206681
206682        * testing/v8/WebCoreTestSupport.cpp:
206683        (WebCoreTestSupport::resetInternalsObject):
206684
2066852011-11-06  Darin Adler  <darin@apple.com>
206686
206687        Leaks seen in RenderFlowThread::setRegionRangeForBox on Leaks bot
206688        https://bugs.webkit.org/show_bug.cgi?id=71260
206689
206690        Reviewed by Mark Rowe.
206691
206692        Memory leak fix covered by existing tests.
206693
206694        * rendering/RenderFlowThread.cpp:
206695        (WebCore::RenderFlowThread::removeRenderBoxRegionInfo):
206696        Instead of calling remove, call take and then delete, since the
206697        values of the map are owned and need to be deleted when removed.
206698
2066992011-11-06  Adam Barth  <abarth@webkit.org>
206700
206701        Implement the sandbox directive for CSP
206702        https://bugs.webkit.org/show_bug.cgi?id=71604
206703
206704        Reviewed by Sam Weinig.
206705
206706        At TPAC, Microsoft was pushing pretty hard to add the sandbox directive
206707        to CSP.  There's a question about whether it's going to be in CSP 1.0
206708        or CSP 1.1, but it seems to be clearly headed into the spec.
206709
206710        This patch implements the sandbox directive for CSP.  It's built on the
206711        same machinery we use for the sandbox attribute for iframe.  Now that
206712        I've done the implementation, I'm going to write up some concrete text
206713        for the spec.
206714
206715        Tests: http/tests/security/contentSecurityPolicy/sandbox-allow-scripts-subframe.html
206716               http/tests/security/contentSecurityPolicy/sandbox-allow-scripts.html
206717               http/tests/security/contentSecurityPolicy/sandbox-empty-subframe.html
206718               http/tests/security/contentSecurityPolicy/sandbox-empty.html
206719
206720        * page/ContentSecurityPolicy.cpp:
206721        (WebCore::ContentSecurityPolicy::ContentSecurityPolicy):
206722        (WebCore::ContentSecurityPolicy::applySandboxPolicy):
206723        (WebCore::ContentSecurityPolicy::addDirective):
206724        * page/ContentSecurityPolicy.h:
206725
2067262011-11-03  Filip Pizlo  <fpizlo@apple.com>
206727
206728        JSC should be able to sample itself in a more flexible way than just sampling flags
206729        https://bugs.webkit.org/show_bug.cgi?id=71522
206730
206731        Reviewed by Gavin Barraclough.
206732
206733        No new tests, since no functionality changed.
206734
206735        * ForwardingHeaders/wtf/Spectrum.h: Added.
206736
2067372011-11-06  Nikita Vasilyev  <me@elv1s.ru>
206738
206739        Web Inspector: Unindent edited text by pressing Shift + Tab
206740        https://bugs.webkit.org/show_bug.cgi?id=70181
206741
206742        Indent and unindent text in all selected lines.
206743
206744        Reviewed by Pavel Feldman.
206745
206746        * inspector/front-end/TextViewer.js:
206747        (WebInspector.TextEditorMainPanel.prototype.unindentLines.get var):
206748        (WebInspector.TextEditorMainPanel.prototype.unindentLines):
206749
2067502011-11-05  Martin Robinson  <mrobinson@igalia.com>
206751
206752        Remove ContextShadow
206753        https://bugs.webkit.org/show_bug.cgi?id=71617
206754
206755        Reviewed by Ariya Hidayat.
206756
206757        No new tests. This patch does not change behavior.
206758
206759        Completely remove ContextShadow. It's unused, unmaintained, and
206760        replaced by ShadowBlur.
206761
206762        * WebCore.gypi: Remove references to deleted files.
206763        * WebCore.vcproj/WebCore.vcproj: Remove references to deleted files.
206764        * platform/graphics/ContextShadow.cpp: Removed.
206765        * platform/graphics/ContextShadow.h: Removed.
206766        * platform/gtk/WidgetRenderingContext.cpp: Remove now-inaccurate TODO.
206767
2067682011-11-04  Jon Lee  <jonlee@apple.com>
206769
206770        Dragging a file onto <input type="file"> should give distinct visual feedback
206771        https://bugs.webkit.org/show_bug.cgi?id=13897
206772        <rdar://problem/5232483>
206773
206774        Reviewed by Dan Bernstein.
206775
206776        When hovering over a file input element, we set the button's state to active
206777        to differentiate dragging one file over the input element (which populates that
206778        element) versus over the document (which would load the file into the view).
206779
206780        * html/HTMLInputElement.cpp:
206781        (WebCore::HTMLInputElement::HTMLInputElement):
206782        (WebCore::HTMLInputElement::canReceiveDroppedFiles):
206783        (WebCore::HTMLInputElement::setCanReceiveDroppedFiles): If set, the element
206784        is updated, which sets the active state on the button control.
206785        * html/HTMLInputElement.h: Add a boolean member representing whether the file
206786        input can receive dropped files.
206787        * page/DragController.cpp:
206788        (WebCore::DragController::DragController): Update/set the file input that
206789        can receive dropped files.
206790        (WebCore::DragController::dragExited):
206791        (WebCore::DragController::tryDocumentDrag):
206792        (WebCore::DragController::concludeEditDrag):
206793        * page/DragController.h:
206794        * rendering/RenderFileUploadControl.cpp:
206795        (WebCore::RenderFileUploadControl::updateFromElement): Sets the button active
206796        state if the input can receive dropped files.
206797
2067982011-11-05  Darin Adler  <darin@apple.com>
206799
206800        Improve pending resource hash table code, including fixing a memory leak
206801        https://bugs.webkit.org/show_bug.cgi?id=71616
206802
206803        Reviewed by Adam Roben.
206804
206805        Memory leak fix and refactoring covered by existing tests.
206806
206807        * svg/SVGDocumentExtensions.cpp:
206808        (WebCore::SVGDocumentExtensions::addPendingResource): Replace the combination
206809        of contains, get, and add with just add, removing an extra unneeded hash table
206810        lookup each time this function is called.
206811        (WebCore::SVGDocumentExtensions::isElementInPendingResources): Added a comment
206812        about the performance of this function. Removed unnecessary check for an empty
206813        map; the code already efficiently exits doing nothing without the check.
206814        (WebCore::SVGDocumentExtensions::removeElementFromPendingResources): Removed
206815        unnecessary check for an empty map; the code already efficiently does nothing
206816        without the check. Use removePendingResource rather than calling remove to
206817        avoid leaking the SVGPendingElements set.
206818        (WebCore::SVGDocumentExtensions::removePendingResource): Replace the
206819        combination of get and remove with a call to take, removing an extra
206820        unneeded hash table lookup each time this function is called
206821
2068222011-11-05  Dan Winship  <danw@gnome.org>
206823
206824        [GTK] Actually use the user_data arguments to gio async functions
206825        instead of using g_object_set_data() to basically reinvent them.
206826        https://bugs.webkit.org/show_bug.cgi?id=71614
206827
206828        Reviewed by Martin Robinson.
206829
206830        No new tests; behavior is unchanged
206831
206832        * platform/network/soup/ResourceHandleSoup.cpp:
206833        (WebCore::ResourceHandleInternal::~ResourceHandleInternal):
206834        (WebCore::cleanupSoupRequestOperation):
206835        (WebCore::sendRequestCallback):
206836        (WebCore::startHTTPRequest):
206837        (WebCore::ResourceHandle::platformSetDefersLoading):
206838        (WebCore::closeCallback):
206839        (WebCore::readCallback):
206840        (WebCore::startNonHTTPRequest):
206841
2068422011-11-05  Dan Winship  <danw@gnome.org>
206843
206844        [GTK] Don't unnecessarily 0-initialize read buffers.
206845        https://bugs.webkit.org/show_bug.cgi?id=71612
206846
206847        Reviewed by Martin Robinson.
206848
206849        No new tests; behavior is unchanged
206850
206851        * platform/network/soup/ResourceHandleSoup.cpp:
206852        (WebCore::sendRequestCallback):
206853
2068542011-11-05  Dan Winship  <danw@gnome.org>
206855
206856        [GTK] Remove a bit of dead code
206857        https://bugs.webkit.org/show_bug.cgi?id=71613
206858
206859        Reviewed by Martin Robinson.
206860
206861        No new tests; behavior is unchanged
206862
206863        * platform/network/soup/ResourceHandleSoup.cpp:
206864        (WebCore::readCallback): the caller that needed the convertToUTF16
206865        code was removed in r77408, but the code was accidentally left
206866        behind.
206867
2068682011-11-05  Adam Barth  <abarth@webkit.org>
206869
206870        Refactor sandbox flag calculation to make implementing CSP sandbox directive easier
206871        https://bugs.webkit.org/show_bug.cgi?id=71603
206872
206873        Reviewed by Sam Weinig.
206874
206875        This patch changes the way we compute sandbox bits.  Instead of caching
206876        the result on Frame, we always compute the sandbox bits for a new
206877        document fresh from the inputs to the process (the sandbox attribute
206878        and the forced sandbox flags).
206879
206880        This patch is just refactoring.  It shouldn't have an observable
206881        effects.  This patch makes it easier to implement CSP's sandbox
206882        directive in a subsequent patch.
206883
206884        * dom/Document.cpp:
206885        (WebCore::Document::initSecurityContext):
206886        * html/HTMLFrameOwnerElement.cpp:
206887        (WebCore::HTMLFrameOwnerElement::setSandboxFlags):
206888        * loader/FrameLoader.cpp:
206889        (WebCore::FrameLoader::FrameLoader):
206890        (WebCore::FrameLoader::init):
206891        (WebCore::FrameLoader::effectiveSandboxFlags):
206892        (WebCore::createWindow):
206893        * loader/FrameLoader.h:
206894        (WebCore::FrameLoader::forceSandboxFlags):
206895
2068962011-11-05  Andreas Kling  <kling@webkit.org>
206897
206898        CSSStyleDeclaration: Devirtualize isMutableStyleDeclaration().
206899        https://bugs.webkit.org/show_bug.cgi?id=71609
206900
206901        Reviewed by Anders Carlsson.
206902
206903        Add a bool member to CSSStyleDeclaration that determines whether
206904        it's a CSSMutableDeclaration.
206905
206906        * css/CSSMutableStyleDeclaration.cpp:
206907        (WebCore::CSSMutableStyleDeclaration::CSSMutableStyleDeclaration):
206908        * css/CSSMutableStyleDeclaration.h:
206909        * css/CSSStyleDeclaration.cpp:
206910        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
206911        * css/CSSStyleDeclaration.h:
206912        (WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
206913
2069142011-11-05  Andreas Kling  <kling@webkit.org>
206915
206916        Web Inspector: Simplify InspectorCSSAgent::inlineStyleElement().
206917        https://bugs.webkit.org/show_bug.cgi?id=71608
206918
206919        Reviewed by Pavel Feldman.
206920
206921        Use CSSMutableStyleDeclaration::isInlineStyleDeclaration() instead
206922        of doing the same checks manually.
206923
206924        * inspector/InspectorCSSAgent.cpp:
206925        (WebCore::InspectorCSSAgent::inlineStyleElement):
206926
2069272011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>
206928
206929        Reviewed by Andreas Kling.
206930
206931        Removed duplicated npruntime_internal.h from bindings/v8
206932        in favour of the one from bridge/, which has a few more
206933        #undefs.
206934
206935        https://bugs.webkit.org/show_bug.cgi?id=45617
206936
206937        * bindings/v8/npruntime_internal.h: Removed.
206938        * Target.pri: Removed strange occurence here.
206939
2069402011-11-05  Simon Hausmann  <simon.hausmann@nokia.com>
206941
206942        Remove empty and unused dom/PositionCreationFunctions.h header file
206943        https://bugs.webkit.org/show_bug.cgi?id=71552
206944
206945        Reviewed by Kenneth Rohde Christiansen.
206946
206947        The file is empty (0 bytes) and not used anywhere. It was added in
206948        2009 in r48234 but hasn't been touched since then.
206949
206950        * WebCore.gypi:
206951        * dom/PositionCreationFunctions.h: Removed.
206952
2069532011-11-04  Adam Barth  <abarth@webkit.org>
206954
206955        Fix assert after running tests in dumpAsText folders.  See
206956        https://bugs.webkit.org/show_bug.cgi?id=71599 for discussion.  This
206957        patch reverts part of a slightly over-agressive refactoring in
206958        http://trac.webkit.org/changeset/99347.
206959
206960        * dom/Document.cpp:
206961        (WebCore::Document::setIsViewSource):
206962
2069632011-11-04  Ben Wells  <benwells@chromium.org>
206964
206965        Canvas drawImage(canvas) with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
206966        https://bugs.webkit.org/show_bug.cgi?id=71537
206967
206968        Reviewed by Stephen White.
206969
206970        drawImage(canvas) now uses the same approach as drawImage(image) to fix these errors.
206971
206972        Test: fast/canvas/canvas-composite-canvas.html
206973
206974        * html/canvas/CanvasRenderingContext2D.cpp:
206975        (WebCore::CanvasRenderingContext2D::drawImage):
206976        (WebCore::drawImageToContext):
206977        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
206978        * html/canvas/CanvasRenderingContext2D.h:
206979
2069802011-11-04  Adam Barth  <abarth@webkit.org>
206981
206982        JavaScript URLs execute in sandboxed iframes
206983        https://bugs.webkit.org/show_bug.cgi?id=71599
206984
206985        Reviewed by Eric Seidel.
206986
206987        This patch fixes the intentional regression I introduced earlier today
206988        by moving the sandbox bits from SecurityOrigin to Document. In the
206989        process, I renamed SecurityOrigin::createEmpty to
206990        SecurityOrigin::createUnique to better align with HTML5 terminology.
206991
206992        * WebCore.exp.in:
206993        * bindings/ScriptControllerBase.cpp:
206994        (WebCore::ScriptController::canExecuteScripts):
206995        * dom/Document.cpp:
206996        (WebCore::Document::setIsViewSource):
206997        (WebCore::Document::initSecurityContext):
206998        * dom/ScriptExecutionContext.cpp:
206999        (WebCore::ScriptExecutionContext::ScriptExecutionContext):
207000        * dom/ScriptExecutionContext.h:
207001        (WebCore::ScriptExecutionContext::sandboxFlags):
207002        (WebCore::ScriptExecutionContext::enforceSandboxFlags):
207003        (WebCore::ScriptExecutionContext::isSandboxed):
207004        * html/HTMLAppletElement.cpp:
207005        (WebCore::HTMLAppletElement::canEmbedJava):
207006        * loader/DocumentWriter.cpp:
207007        (WebCore::DocumentWriter::begin):
207008        * loader/FrameLoader.cpp:
207009        (WebCore::isDocumentSandboxed):
207010        (WebCore::FrameLoader::addHTTPOriginIfNeeded):
207011        * loader/PolicyChecker.cpp:
207012        (WebCore::PolicyChecker::checkNewWindowPolicy):
207013        * loader/SubframeLoader.cpp:
207014        (WebCore::SubframeLoader::requestPlugin):
207015        * page/SecurityOrigin.cpp:
207016        (WebCore::SecurityOrigin::SecurityOrigin):
207017        (WebCore::SecurityOrigin::create):
207018        (WebCore::SecurityOrigin::createUnique):
207019        * page/SecurityOrigin.h:
207020
2070212011-11-04  Joseph Pecoraro  <pecoraro@apple.com>
207022
207023        Potential Unused Param Build Issue
207024        https://bugs.webkit.org/show_bug.cgi?id=71598
207025
207026        Reviewed by Kent Tamura.
207027
207028        * html/HTMLSelectElement.cpp:
207029        (WebCore::HTMLSelectElement::platformHandleKeydownEvent):
207030
2070312011-11-04  Stephen Chenney  <schenney@chromium.org>
207032
207033        Crash in ScrollAnimator.cpp
207034        https://bugs.webkit.org/show_bug.cgi?id=69865
207035
207036        The code in ScrollAnimator assumes that horizontal per-page mouse
207037        wheel events cannot happen, which is not true. This patch adds layout
207038        tests for all paging wheel event situations and fixes the broken
207039        horizontal case.
207040
207041        Reviewed by Anders Carlsson
207042
207043        Tests: fast/events/platform-wheelevent-paging-x-in-non-scrolling-div.html
207044               fast/events/platform-wheelevent-paging-x-in-non-scrolling-page.html
207045               fast/events/platform-wheelevent-paging-x-in-scrolling-div.html
207046               fast/events/platform-wheelevent-paging-x-in-scrolling-page.html
207047               fast/events/platform-wheelevent-paging-xy-in-scrolling-div.html
207048               fast/events/platform-wheelevent-paging-xy-in-scrolling-page.html
207049               fast/events/platform-wheelevent-paging-y-in-non-scrolling-div.html
207050               fast/events/platform-wheelevent-paging-y-in-non-scrolling-page.html
207051               fast/events/platform-wheelevent-paging-y-in-scrolling-div.html
207052               fast/events/platform-wheelevent-paging-y-in-scrolling-page.html
207053
207054        * platform/PlatformWheelEvent.h: Modify the comment to reflect the new
207055        reality.
207056        * platform/ScrollAnimator.cpp:
207057        (WebCore::ScrollAnimator::handleWheelEvent): Modified the code to handle the
207058        horizontal per-page wheel event case.
207059
2070602011-11-04  Rafael Weinstein  <rafaelw@chromium.org>
207061
207062        [MutationObservers] Refactor MutationObserverRegistration into its own class that is
207063        referenced by registration points
207064
207065        https://bugs.webkit.org/show_bug.cgi?id=71577
207066
207067        Reviewed by Ojan Vafai.
207068
207069        MutationObserverRegistration is now owned by the node which is observed. If transient
207070        registrations are created, they hold a reference to this object.
207071
207072        The ownership relationship between Node, MutationObserverRegistration &
207073        WebKitMutationObserver now goes like this: WebKitMutationObserver is RefCounted -
207074        and only script and MutationObserverRegistration take references to it. Exactly
207075        one MutationObserverRegistration can exist for any given tuple of
207076        <Node, WebKitMutationObserver>. This represents an observer observing at a given
207077        Node. Further observation by the same observer has the effect of *resetting*
207078        the existing observation. The Node owns the MutationObserverRegistration.
207079        Transient registrations are only pointers to the registration. The registration
207080        keeps a RefPtr to its registration node and all of its transient registration nodes
207081        as long as *any* transient registrations exist. This ensures the registration
207082        and all registration nodes stay alive at least until the end of the microtask.
207083
207084        No tests required - refactor only.
207085
207086        * GNUmakefile.list.am:
207087        * WebCore.gypi:
207088        * WebCore.pro:
207089        * WebCore.vcproj/WebCore.vcproj:
207090        * WebCore.xcodeproj/project.pbxproj:
207091        * dom/CharacterData.cpp:
207092        (WebCore::enqueueCharacterDataMutationRecord):
207093        * dom/ChildListMutationScope.cpp:
207094        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
207095        * dom/Element.cpp:
207096        (WebCore::enqueueAttributesMutationRecord):
207097        * dom/MutationObserverRegistration.cpp: Added.
207098        (WebCore::MutationObserverRegistration::create):
207099        (WebCore::MutationObserverRegistration::MutationObserverRegistration):
207100        (WebCore::MutationObserverRegistration::~MutationObserverRegistration):
207101        (WebCore::MutationObserverRegistration::resetObservation):
207102        (WebCore::MutationObserverRegistration::observedSubtreeNodeWillDetach):
207103        (WebCore::MutationObserverRegistration::clearTransientRegistrations):
207104        (WebCore::MutationObserverRegistration::unregister):
207105        (WebCore::MutationObserverRegistration::shouldReceiveMutationFrom):
207106        * dom/MutationObserverRegistration.h: Copied from Source/WebCore/dom/WebKitMutationObserver.h.
207107        (WebCore::MutationObserverRegistration::observer):
207108        (WebCore::MutationObserverRegistration::deliveryOptions):
207109        * dom/Node.cpp:
207110        (WebCore::Node::clearRareData):
207111        (WebCore::Node::mutationObserverRegistry):
207112        (WebCore::Node::transientMutationObserverRegistry):
207113        (WebCore::addObserverToDeliverySet):
207114        (WebCore::Node::collectMatchingObserversForMutation):
207115        (WebCore::Node::getRegisteredMutationObserversOfType):
207116        (WebCore::Node::registerMutationObserver):
207117        (WebCore::Node::unregisterMutationObserver):
207118        (WebCore::Node::registerTransientMutationObserver):
207119        (WebCore::Node::unregisterTransientMutationObserver):
207120        (WebCore::Node::notifyMutationObserversNodeWillDetach):
207121        * dom/Node.h:
207122        * dom/NodeRareData.h:
207123        (WebCore::NodeRareData::mutationObserverRegistry):
207124        (WebCore::NodeRareData::ensureMutationObserverRegistry):
207125        (WebCore::NodeRareData::transientMutationObserverRegistry):
207126        (WebCore::NodeRareData::ensureTransientMutationObserverRegistry):
207127        * dom/WebKitMutationObserver.cpp:
207128        (WebCore::WebKitMutationObserver::~WebKitMutationObserver):
207129        (WebCore::WebKitMutationObserver::observe):
207130        (WebCore::WebKitMutationObserver::disconnect):
207131        (WebCore::WebKitMutationObserver::observationStarted):
207132        (WebCore::WebKitMutationObserver::observationEnded):
207133        (WebCore::WebKitMutationObserver::deliver):
207134        * dom/WebKitMutationObserver.h:
207135
2071362011-11-04  Raymond Toy  <rtoy@google.com>
207137
207138       Add methods to compute magnitude and phase response for biquads
207139       https://bugs.webkit.org/show_bug.cgi?id=71055
207140
207141       Reviewed by Kenneth Russell.
207142
207143
207144        * platform/audio/Biquad.cpp:
207145        (WebCore::Biquad::getFrequencyResponse):
207146        Computes the magnitude and phase (radians) response for the given
207147        biquad at the specified set of (normalized) frequencies.
207148        * platform/audio/Biquad.h:
207149        Declare getFrequencyResponse.
207150        * webaudio/BiquadDSPKernel.cpp:
207151        (WebCore::BiquadDSPKernel::updateCoefficientsIfNecessary):
207152        Factor out the code that updates filter coefficients.  Allow the
207153        caller to specify whether the smoothed values are used or not and
207154        whether we do the update even if the coefficients are not dirty.
207155        (WebCore::BiquadDSPKernel::process):
207156        Use updateCoefficientsIfNecessary to update.
207157        (WebCore::BiquadDSPKernel::getFrequencyResponse):
207158        Implmentation of getFrequencyResponse.
207159        * webaudio/BiquadDSPKernel.h:
207160        Declare getFrequencyResponse.
207161        * webaudio/BiquadFilterNode.cpp:
207162        (WebCore::BiquadFilterNode::getFrequencyResponse):
207163        Implementation of getFrequencyResponse
207164        * webaudio/BiquadFilterNode.h:
207165        Declare getFrequencyResponse.
207166        * webaudio/BiquadFilterNode.idl:
207167        Define interface to getFrequencyResponse.
207168        * webaudio/BiquadProcessor.cpp:
207169        (WebCore::BiquadProcessor::checkForDirtyCoefficients):
207170        Factor out code for checking for dirty coefficients.
207171        (WebCore::BiquadProcessor::process):
207172        Use checkForDirtyCoefficients.
207173        (WebCore::BiquadProcessor::getFrequencyResponse):
207174        Implementation of getFrequencyResponse
207175        * webaudio/BiquadProcessor.h:
207176        Declare getFrequencyResponse.
207177
2071782011-11-04  Benjamin Poulain  <bpoulain@apple.com>
207179
207180        [Mac] ResourceRequest's nsURLRequest() does not differentiate null and empty URLs with CFNetwork
207181        https://bugs.webkit.org/show_bug.cgi?id=71539
207182
207183        Reviewed by David Kilzer.
207184
207185        In order to have CFURL and NSURL to be consistent when both are used on Mac,
207186        KURL::createCFURL() is changed to support empty URL values.
207187
207188        * platform/cf/KURLCFNet.cpp:
207189        (WebCore::createCFURLFromBuffer):
207190        (WebCore::KURL::createCFURL):
207191        * platform/mac/KURLMac.mm:
207192        (WebCore::KURL::operator NSURL *):
207193        (WebCore::KURL::createCFURL):
207194
2071952011-11-04  Fady Samuel  <fsamuel@chromium.org>
207196
207197        CSS Aspect Ratio Property Parsing Stage
207198        https://bugs.webkit.org/show_bug.cgi?id=70707
207199
207200        Reviewed by Ojan Vafai.
207201
207202        Added parsing support for -webkit-aspect-ratio CSS property.
207203        The spec can be found here: http://www.xanthir.com/blog/b4810
207204
207205        Test: fast/css/aspect-ratio-parsing-tests.html
207206
207207        * CMakeLists.txt:
207208        * GNUmakefile.list.am:
207209        * Target.pri:
207210        * WebCore.gypi:
207211        * WebCore.vcproj/WebCore.vcproj:
207212        * WebCore.xcodeproj/project.pbxproj:
207213        * css/CSSAspectRatioValue.cpp: Added.
207214        (WebCore::CSSAspectRatioValue::~CSSAspectRatioValue):
207215        (WebCore::CSSAspectRatioValue::cssText):
207216        * css/CSSAspectRatioValue.h: Added.
207217        (WebCore::CSSAspectRatioValue::create):
207218        (WebCore::CSSAspectRatioValue::numeratorValue):
207219        (WebCore::CSSAspectRatioValue::denominatorValue):
207220        (WebCore::CSSAspectRatioValue::CSSAspectRatioValue):
207221        * css/CSSComputedStyleDeclaration.cpp:
207222        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
207223        * css/CSSMutableStyleDeclaration.cpp:
207224        * css/CSSParser.cpp:
207225        (WebCore::CSSParser::parseValue):
207226        (WebCore::CSSParser::parseAspectRatio):
207227        * css/CSSParser.h:
207228        * css/CSSProperty.cpp:
207229        (WebCore::CSSProperty::isInheritedProperty):
207230        * css/CSSPropertyNames.in:
207231        * css/CSSStyleSelector.cpp:
207232        (WebCore::CSSStyleSelector::applyProperty):
207233
2072342011-11-04  Adam Barth  <abarth@webkit.org>
207235
207236        Delete FrameLoader::isSandboxed
207237        https://bugs.webkit.org/show_bug.cgi?id=71591
207238
207239        Reviewed by Eric Seidel.
207240
207241        We should always use document->securityOrigin()->isSandboxed because
207242        that picks up the sandbox bits that are frozen on the document rather
207243        than the ones that could change on the Frame.
207244
207245        This patch starts preparing us to implement the CSP sandbox directive,
207246        which will cause use to have document sandbox bits without any attribute.
207247
207248        * bindings/ScriptControllerBase.cpp:
207249        (WebCore::ScriptController::canExecuteScripts):
207250            - This call site was the only functional site left where these two
207251              could be different. This patch causes one progression and one
207252              regression. The progression is that we now correctly freeze the
207253              allow-scripts bit when a document is created, but the regression
207254              is we now allow the execution of JavaScript URLs, as noted in 
207255              fast/frames/sandboxed-iframe-scripting.html. That's even more of
207256              an edge case, so I think it's a win overall.
207257        * loader/DocumentWriter.cpp:
207258        (WebCore::DocumentWriter::begin):
207259            - I don't think this part of the change is testable. There's no
207260              time to execute script between when the bits get copied off the
207261              Frame and when they're checked, so there's no time to change them.
207262        * loader/FrameLoader.cpp:
207263            - Update FIXME comment that is now fixed.
207264        * loader/FrameLoader.h:
207265            - Remove wrong API.
207266
2072672011-11-04  Adam Barth  <abarth@webkit.org>
207268
207269        When CSP blocks mixed content, we shouldn't also warn about mixed content
207270        https://bugs.webkit.org/show_bug.cgi?id=71588
207271
207272        Reviewed by Eric Seidel.
207273
207274        Getting both warnings confused some early adopters.  They thought the
207275        insecure loads were happening even though they blocked them with CSP.
207276        This patch restricts the mixed content warnings to show only when the
207277        load isn't already blocked by CSP or by the embedder.
207278
207279        Test: http/tests/security/contentSecurityPolicy/block-mixed-content-hides-warning.html
207280
207281        * loader/cache/CachedResourceLoader.cpp:
207282        (WebCore::CachedResourceLoader::canRequest):
207283
2072842011-11-04  Michael Nordman  <michaeln@google.coom>
207285
207286        Allow ScriptExecutionContext::addMessage to be called from background threads.
207287        https://bugs.webkit.org/show_bug.cgi?id=71575
207288
207289        Reviewed by Nate Chapin.
207290
207291        No new tests.
207292
207293        * dom/Document.cpp:
207294        (WebCore::Document::addMessage):
207295        * dom/ScriptExecutionContext.cpp:
207296        * dom/ScriptExecutionContext.h:
207297        (WebCore::ScriptExecutionContext::AddConsoleMessageTask::create):
207298        (WebCore::ScriptExecutionContext::AddConsoleMessageTask::performTask):
207299        (WebCore::ScriptExecutionContext::AddConsoleMessageTask::AddConsoleMessageTask):
207300        * workers/WorkerContext.cpp:
207301        (WebCore::WorkerContext::addMessage):
207302
2073032011-11-04  Shawn Singh  <shawnsingh@chromium.org>
207304
207305        [chromium] Re-named the original scissorRect to clipRect
207306        https://bugs.webkit.org/show_bug.cgi?id=71580
207307
207308        Reviewed by James Robinson.
207309
207310        Existing tests are updated appropriately; and no new behavior is
207311        introduced by this patch.
207312
207313        * platform/graphics/chromium/LayerChromium.cpp:
207314        (WebCore::LayerChromium::LayerChromium):
207315        * platform/graphics/chromium/LayerChromium.h:
207316        (WebCore::LayerChromium::setUsesLayerClipping):
207317        (WebCore::LayerChromium::usesLayerClipping):
207318        (WebCore::LayerChromium::clipRect):
207319        (WebCore::LayerChromium::setClipRect):
207320        * platform/graphics/chromium/LayerRendererChromium.cpp:
207321        (WebCore::LayerRendererChromium::drawLayersInternal):
207322        (WebCore::LayerRendererChromium::drawLayer):
207323        * platform/graphics/chromium/RenderSurfaceChromium.h:
207324        (WebCore::RenderSurfaceChromium::clipRect):
207325        (WebCore::RenderSurfaceChromium::setClipRect):
207326        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
207327        (WebCore::CCLayerImpl::CCLayerImpl):
207328        * platform/graphics/chromium/cc/CCLayerImpl.h:
207329        (WebCore::CCLayerImpl::setUsesLayerClipping):
207330        (WebCore::CCLayerImpl::usesLayerClipping):
207331        (WebCore::CCLayerImpl::clipRect):
207332        (WebCore::CCLayerImpl::setClipRect):
207333        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
207334        (WebCore::CCLayerTreeHost::updateLayers):
207335        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
207336        (WebCore::layerShouldBeSkipped):
207337        (WebCore::calculateDrawTransformsAndVisibilityInternal):
207338        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
207339        (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
207340        * platform/graphics/chromium/cc/CCRenderSurface.cpp:
207341        (WebCore::CCRenderSurface::draw):
207342        * platform/graphics/chromium/cc/CCRenderSurface.h:
207343        (WebCore::CCRenderSurface::setClipRect):
207344        (WebCore::CCRenderSurface::clipRect):
207345
2073462011-11-04  Dmitry Lomov  <dslomov@google.com>
207347
207348        Add the ability to transfer ArrayBuffer and "neuter" it.
207349        https://bugs.webkit.org/show_bug.cgi?id=71535
207350
207351        Reviewed by David Levin.
207352
207353        * html/canvas/ArrayBuffer.cpp:
207354        (WebCore::ArrayBuffer::create):
207355        (WebCore::ArrayBuffer::ArrayBuffer):
207356        (WebCore::ArrayBuffer::data):
207357        (WebCore::ArrayBuffer::byteLength):
207358        (WebCore::ArrayBuffer::transfer):
207359        (WebCore::ArrayBufferContents::~ArrayBufferContents):
207360        (WebCore::ArrayBufferContents::tryAllocate):
207361        (WebCore::ArrayBuffer::addView):
207362        (WebCore::ArrayBuffer::removeView):
207363        * html/canvas/ArrayBuffer.h:
207364        (WebCore::ArrayBufferContents::ArrayBufferContents):
207365        (WebCore::ArrayBufferContents::data):
207366        (WebCore::ArrayBufferContents::sizeInBytes):
207367        (WebCore::ArrayBufferContents::release):
207368        (WebCore::ArrayBuffer::~ArrayBuffer):
207369        * html/canvas/ArrayBufferView.cpp:
207370        (WebCore::ArrayBufferView::ArrayBufferView):
207371        (WebCore::ArrayBufferView::~ArrayBufferView):
207372        (WebCore::ArrayBufferView::neuter):
207373        * html/canvas/ArrayBufferView.h:
207374        * html/canvas/DataView.cpp:
207375        (WebCore::DataView::neuter):
207376        (WebCore::DataView::neuterBinding):
207377        * html/canvas/DataView.h:
207378        * html/canvas/TypedArrayBase.h:
207379        (WebCore::TypedArrayBase::neuter):
207380        (WebCore::TypedArrayBase::neuterBinding):
207381
2073822011-11-04  Noel Gordon  <noel.gordon@gmail.com>
207383
207384        [Chromium] Implement canvas.toDataURL("image/webp")
207385        https://bugs.webkit.org/show_bug.cgi?id=70172
207386
207387        Reviewed by Adam Barth.
207388
207389        Add a webp image encoder for the chromium skia ports, add it to the canvas
207390        element toDataURL() flow with support for an optional quality [0.0-1.0].
207391        Use a webp compression method (3) that provides good speed and compression
207392        performance for this image format, and works well for various input image
207393        types: line-art, screen-shots, and photographic images.
207394
207395        Test: fast/canvas/canvas-toDataURL-webp.html
207396
207397        * WebCore.gypi:
207398        * platform/chromium/MIMETypeRegistryChromium.cpp:
207399        (WebCore::MIMETypeRegistry::isSupportedImageMIMETypeForEncoding):
207400        * platform/graphics/skia/ImageBufferSkia.cpp:
207401        (WebCore::ImageToDataURL):
207402        * platform/image-encoders/skia/WEBPImageEncoder.cpp: Added.
207403        (WebCore::writeOutput):
207404        (WebCore::importPicture):
207405        (WebCore::importPictureBGRA):
207406        (WebCore::importPictureRGBA):
207407        (WebCore::encodePixels):
207408        (WebCore::WEBPImageEncoder::encode):
207409        * platform/image-encoders/skia/WEBPImageEncoder.h: Added.
207410
2074112011-11-04  Patrick Gansterer  <paroga@webkit.org>
207412
207413        [Qt] Remove ENABLE_SQLITE from qmake files
207414        https://bugs.webkit.org/show_bug.cgi?id=71546
207415
207416        Reviewed by Simon Hausmann.
207417
207418        ENABLE_SQLITE is required to build WebCore, so remove conditions.
207419
207420        * Target.pri:
207421
2074222011-11-04  Nate Chapin  <japhet@chromium.org>
207423
207424        [V8] Null out V8NPObject::rootObject when the owning
207425        Frame goes away.
207426        https://bugs.webkit.org/show_bug.cgi?id=71569
207427
207428        Reviewed by Adam Barth.
207429
207430        No new tests, this has only been successfully triggered
207431        using ppapi flash.
207432
207433        * bindings/v8/V8Helpers.cpp:
207434        (WebCore::toV8Context):
207435        * bindings/v8/npruntime.cpp:
207436
2074372011-11-04  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
207438
207439        Send the submissions character encoding in hidden _charset_ field.
207440        https://bugs.webkit.org/show_bug.cgi?id=19079
207441
207442        Reviewed by Darin Adler.
207443
207444        Spec reference http://dev.w3.org/html5/spec/Overview.html#attr-fe-name-charset
207445        If _charset_ used as the name of a hidden control it should send character encoding
207446        as value while submissions.
207447
207448        Tests: http/tests/misc/char-encoding-in-hidden-charset-field-default.html
207449               http/tests/misc/char-encoding-in-hidden-charset-field-with-Big5.html
207450               http/tests/misc/char-encoding-in-hidden-charset-field-with-EUC-JP.html
207451               http/tests/misc/char-encoding-in-hidden-charset-field-with-ISO-2022-JP.html
207452               http/tests/misc/char-encoding-in-hidden-charset-field-with-Shift_JIS.html
207453               http/tests/misc/char-encoding-in-hidden-charset-field-with-accept-charset.html
207454               http/tests/misc/char-encoding-in-hidden-charset-field-with-get-method.html
207455               http/tests/misc/char-encoding-in-hidden-charset-field-with-one-field.html
207456               http/tests/misc/char-encoding-in-text-charset-field-with-value.html
207457               http/tests/misc/char-encoding-without-charset-field.html
207458
207459        * html/HiddenInputType.cpp:
207460        (WebCore::HiddenInputType::isHiddenType):
207461        (WebCore::HiddenInputType::appendFormData): For _charset_ send value as respective encodingType.
207462        * html/HiddenInputType.h: Override appendFormData for hidden control types.
207463
2074642011-11-04  Robert Sesek  <rsesek@chromium.org>
207465
207466        [chromium] Use Chromium's copy of libWebKitSystemInterfaceLeopard.a
207467        https://bugs.webkit.org/show_bug.cgi?id=71563
207468
207469        Reviewed by Adam Barth.
207470
207471        Use libWebKitSystemInterfaceLeopard.a that's in the Chromium port,
207472        rather in WebKitLibraries/.
207473
207474        * WebCore.gyp/WebCore.gyp:
207475
2074762011-11-04  Julien Chaffraix  <jchaffraix@webkit.org>
207477
207478        RenderLayer::styleChanged invalidates the GraphicsLayer needlessly
207479        https://bugs.webkit.org/show_bug.cgi?id=71517
207480
207481        Reviewed by Simon Fraser.
207482
207483        Unused code removal covered by existing tests.
207484
207485        The current code is invalidating the whole RenderLayerBacking as part of
207486        a style change. However this is redundant with the repainting logic which
207487        would invalidate only the necessary bits.
207488
207489        * rendering/RenderLayer.cpp:
207490        (WebCore::RenderLayer::styleChanged):
207491        Remove the invalidation code as it duplicates and defeats the repaint logic.
207492
2074932011-11-04  Mihnea Ovidenie  <mihnea@adobe.com>
207494
207495        Correct parsing of incomplete @-webkit-region rules.
207496        https://bugs.webkit.org/show_bug.cgi?id=71514
207497
207498        Reviewed by Adam Barth.
207499
207500        Test: fast/regions/parse-incomplete-region-rule.html
207501
207502        Make sure to set the region rule to 0 on the fail branch.
207503        * css/CSSGrammar.y:
207504
2075052011-11-04  Adam Klein  <adamk@chromium.org>
207506
207507        Reduce refcount churn in ChildListMutationScope
207508        https://bugs.webkit.org/show_bug.cgi?id=71527
207509
207510        Reviewed by Ryosuke Niwa.
207511
207512        Only the ChildListMutationAccumulator needs to hold a reference to the
207513        target node, and the added/removed children only need be ref'd if a
207514        ChildListMutationAccumulator exists (i.e., if there are interested
207515        observers).
207516
207517        * dom/ChildListMutationScope.cpp:
207518        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
207519        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::childAdded):
207520        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::willRemoveChild):
207521        (WebCore::ChildListMutationScope::ChildListMutationScope):
207522        (WebCore::ChildListMutationScope::~ChildListMutationScope):
207523        (WebCore::ChildListMutationScope::childAdded):
207524        (WebCore::ChildListMutationScope::willRemoveChild):
207525        * dom/ChildListMutationScope.h:
207526        * dom/ContainerNode.cpp:
207527        (WebCore::dispatchChildInsertionEvents):
207528        (WebCore::dispatchChildRemovalEvents):
207529
2075302011-11-04  Levi Weintraub  <leviw@chromium.org>
207531
207532        Correct usage of LayoutUnits in RenderImage and SVGImage
207533        https://bugs.webkit.org/show_bug.cgi?id=71525
207534
207535        Reviewed by Darin Adler.
207536
207537        Correcting incorrect usage of LayoutUnits for image sizes that should be integers and fixing overloaded functions that
207538        should be using LayoutUnits.
207539
207540        No new tests -- no change in behavior.
207541
207542        * rendering/RenderImage.cpp:
207543        (WebCore::RenderImage::imageDimensionsChanged):
207544        (WebCore::RenderImage::paintIntoRect):
207545        (WebCore::RenderImage::nodeAtPoint):
207546        (WebCore::RenderImage::computeReplacedLogicalWidth):
207547        * rendering/RenderImage.h:
207548        * svg/graphics/SVGImage.cpp:
207549        (WebCore::SVGImageChromeClient::invalidateContentsAndWindow):
207550
2075512011-11-04  Adam Barth  <abarth@webkit.org>
207552
207553        Implement allow-popups for iframe@sandbox
207554        https://bugs.webkit.org/show_bug.cgi?id=66505
207555
207556        Reviewed by Darin Adler.
207557
207558        Enable allow-popups sandbox bit.  My previous patch attempted to
207559        forward the sandbox bits during setOpener, but that interacted poorly
207560        with out (internal) sandboxing of the initial document.  This patch
207561        forwards the bits during createWindow, which is more targeted to the
207562        case when a sandbox frame actually creates a new window.
207563
207564        * loader/FrameLoader.cpp:
207565        (WebCore::createWindow):
207566        * loader/PolicyChecker.cpp:
207567        (WebCore::PolicyChecker::checkNewWindowPolicy):
207568
2075692011-11-04  Kaustubh Atrawalkar  <kaustubh@motorola.com>
207570
207571        Remove initMediaStreamEvent method
207572        https://bugs.webkit.org/show_bug.cgi?id=71344
207573
207574        This method has been removed from the spec draft.
207575        http://www.whatwg.org/specs/web-apps/current-work/multipage/video-conferencing-and-peer-to-peer-communication.html#mediastreamevent
207576
207577        Reviewed by Adam Barth.
207578
207579        No new tests. Removed method.
207580
207581        * mediastream/MediaStreamEvent.cpp:
207582        * mediastream/MediaStreamEvent.h:
207583        * mediastream/MediaStreamEvent.idl:
207584
2075852011-11-04  Adam Barth  <abarth@webkit.org>
207586
207587        Anonymous CORS fetch for WebGL texture fails when there is no appropriate server response even for the same origin requests
207588        https://bugs.webkit.org/show_bug.cgi?id=71053
207589
207590        Reviewed by Darin Adler.
207591
207592        The crossorigin attribute should behave like XMLHttpRequest:
207593        same-origin images pass without and CORS headers, but CORS checks are
207594        performed for cross-origin loads.  This patch better aligns our
207595        behavior with Firefox, as discussed in the bug.
207596
207597        Test: http/tests/security/img-crossorigin-loads-same-origin.html
207598
207599        * loader/ImageLoader.cpp:
207600        (WebCore::ImageLoader::notifyFinished):
207601
2076022011-11-04  Gaurav Shah  <gauravsh@chromium.org>
207603
207604        HTMLKeygenElement: Fix "keytype" handling in appendFormData.
207605        https://bugs.webkit.org/show_bug.cgi?id=70617
207606
207607        This fixes a bug introduced by http://trac.webkit.org/changeset/97658
207608        which causes all HTML Keygen elements with a keytype optional attribute
207609        to be considered as unsupported.
207610
207611        A regression test is included.
207612
207613        Reviewed by Darin Adler.
207614
207615        Test: http/tests/misc/submit-post-keygen.html
207616
207617        * html/HTMLKeygenElement.cpp:
207618
2076192011-11-03  Adrienne Walker  <enne@google.com>
207620
207621        [chromium] Implement checkerboarding for missing layer tiles
207622        https://bugs.webkit.org/show_bug.cgi?id=69585
207623
207624        Reviewed by James Robinson.
207625
207626        For tiles that have no texture or haven't even been created yet,
207627        draw using the background color of the layer.
207628
207629        The only background color set is currently the non-composited content,
207630        and all other layers use transparent black by default.
207631
207632        * platform/graphics/chromium/LayerChromium.cpp:
207633        (WebCore::LayerChromium::pushPropertiesTo):
207634        * platform/graphics/chromium/NonCompositedContentHost.cpp:
207635        (WebCore::NonCompositedContentHost::setBackgroundColor):
207636        * platform/graphics/chromium/NonCompositedContentHost.h:
207637        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
207638        (WebCore::CCLayerImpl::setBackgroundColor):
207639        * platform/graphics/chromium/cc/CCLayerImpl.h:
207640        (WebCore::CCLayerImpl::backgroundColor):
207641        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
207642        (WebCore::CCTiledLayerImpl::drawTiles):
207643
2076442011-11-04  Nico Weber  <thakis@chromium.org>
207645
207646        [chromium] Remove most exit time destructors
207647        https://bugs.webkit.org/show_bug.cgi?id=71524
207648
207649        Do this by using the DEFINE_STATIC_LOCAL macro, which allocates things on the heaps and then leaks them.
207650
207651        Reviewed by Dimitri Glazkov.
207652
207653        No behavior change, so no new tests.
207654
207655        * platform/chromium/CursorChromium.cpp:
207656        (WebCore::pointerCursor):
207657        (WebCore::crossCursor):
207658        (WebCore::handCursor):
207659        (WebCore::iBeamCursor):
207660        (WebCore::waitCursor):
207661        (WebCore::helpCursor):
207662        (WebCore::eastResizeCursor):
207663        (WebCore::northResizeCursor):
207664        (WebCore::northEastResizeCursor):
207665        (WebCore::northWestResizeCursor):
207666        (WebCore::southResizeCursor):
207667        (WebCore::southEastResizeCursor):
207668        (WebCore::southWestResizeCursor):
207669        (WebCore::westResizeCursor):
207670        (WebCore::northSouthResizeCursor):
207671        (WebCore::eastWestResizeCursor):
207672        (WebCore::northEastSouthWestResizeCursor):
207673        (WebCore::northWestSouthEastResizeCursor):
207674        (WebCore::columnResizeCursor):
207675        (WebCore::rowResizeCursor):
207676        (WebCore::middlePanningCursor):
207677        (WebCore::eastPanningCursor):
207678        (WebCore::northPanningCursor):
207679        (WebCore::northEastPanningCursor):
207680        (WebCore::northWestPanningCursor):
207681        (WebCore::southPanningCursor):
207682        (WebCore::southEastPanningCursor):
207683        (WebCore::southWestPanningCursor):
207684        (WebCore::westPanningCursor):
207685        (WebCore::moveCursor):
207686        (WebCore::verticalTextCursor):
207687        (WebCore::cellCursor):
207688        (WebCore::contextMenuCursor):
207689        (WebCore::aliasCursor):
207690        (WebCore::progressCursor):
207691        (WebCore::noDropCursor):
207692        (WebCore::copyCursor):
207693        (WebCore::noneCursor):
207694        (WebCore::notAllowedCursor):
207695        (WebCore::zoomInCursor):
207696        (WebCore::zoomOutCursor):
207697        (WebCore::grabCursor):
207698        (WebCore::grabbingCursor):
207699        * platform/chromium/LanguageChromium.cpp:
207700        (WebCore::platformDefaultLanguage):
207701        * platform/chromium/MIMETypeRegistryChromium.cpp:
207702        (WebCore::dummyHashSet):
207703
2077042011-11-03  Anders Carlsson  <andersca@apple.com>
207705
207706        Add NetscapePlugin::convertFromRootView
207707        https://bugs.webkit.org/show_bug.cgi?id=71526
207708
207709        Reviewed by Sam Weinig.
207710
207711        Export some symbols that WebKit2 needs.
207712
207713        * WebCore.exp.in:
207714
2077152011-11-03  Adrienne Walker  <enne@google.com>
207716
207717        [chromium] Fix incorrect visibility/scissor rect for threaded compositing
207718        https://bugs.webkit.org/show_bug.cgi?id=70962
207719
207720        Reviewed by James Robinson.
207721
207722        In order to properly scroll independent of layout on the compositor
207723        thread, we have to apply the scroll to the right layer. Previously,
207724        the NonCompositedContentHost was the root of the graphics layer tree
207725        with all other layers underneath it. However, applying a scroll to
207726        that layer would also scroll the clip layer for the main frame
207727        underneath it, causing visibility issues.
207728
207729        This patch moves the NonCompositedHost to be a child of the
207730        RenderLayerCompositor's scroll layer. This was exposed on
207731        RenderLayerCompositor, because there's no other way to get to this
207732        layer in a way that doesn't make assumptions about the structure of
207733        the layers on a frame.
207734
207735        This also removes the hacks in calculateVisibleLayerRect and
207736        tilingTransform for scroll position.
207737
207738        Partially tested by existing compositor tests. Manually tested
207739        threaded compositing scrolling.
207740
207741        * platform/graphics/chromium/NonCompositedContentHost.cpp:
207742        (WebCore::NonCompositedContentHost::setScrollLayer):
207743        (WebCore::NonCompositedContentHost::setViewport):
207744        (WebCore::NonCompositedContentHost::scrollLayer):
207745        * platform/graphics/chromium/NonCompositedContentHost.h:
207746        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
207747        (WebCore::CCLayerTreeHost::create):
207748        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
207749        (WebCore::CCLayerTreeHost::applyScrollDeltas):
207750        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
207751        (WebCore::CCLayerTreeHost::setRootLayer):
207752        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
207753        (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
207754        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
207755        (WebCore::findScrollLayer):
207756        (WebCore::CCLayerTreeHostImpl::setRootLayer):
207757        (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
207758        (WebCore::CCLayerTreeHostImpl::processScrollDeltas):
207759        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
207760        * platform/graphics/chromium/cc/CCTiledLayerImpl.cpp:
207761        (WebCore::CCTiledLayerImpl::tilingTransform):
207762        * rendering/RenderLayerCompositor.cpp:
207763        (WebCore::RenderLayerCompositor::scrollLayer):
207764        * rendering/RenderLayerCompositor.h:
207765
2077662011-11-04  Tor Arne Vestbø  <tor.arne.vestbo@nokia.com>
207767
207768        [Qt] Refactor and clean up the qmake build system
207769
207770        The qmake build system has accumulated a bit of cruft and redundancy
207771        over time. There's also a fairly tight coupling between how to build
207772        the various targets, and _what_ to build, making it harder to add new
207773        rules or sources. This patch aims to elevate these issues somewhat.
207774
207775        This is a short-list of the changes:
207776
207777          * The rules for how to build targets are now mostly contained as
207778            prf-files in Tools/qmake/mkspecs/features. Using mkspecs also
207779            allows us to do pre- and post-processing of each project file,
207780            which helps to clean up the actual project files.
207781
207782          * Derived sources are no longer generated as a separate make-step
207783            but is part of each target's project file as a subdir. Makefile
207784            rules are used to ensure that we run make on the derived sources
207785            before running qmake on the actual target makefile. This makes
207786            it easier to keep a proper dependency between derived sources
207787            and the target.
207788
207789          * We use GNU make and the compiler to generate dependencies on
207790            UNIX-based systems running Qt 5. This allows us to lessen the
207791            need to run qmake, which should reduce compile time.
207792
207793          * WebKit2 is now build by default if building with Qt 5. It can
207794            be disabled by passing --no-webkit2 to build-webkit.
207795
207796        The result of these changes are hopefully a cleaner and easier
207797        build system to modify, and faster build times due to no longer
207798        running qmake on every single build. It's also a first step
207799        towards possibly generating the list of sources using another
207800        build system.
207801
207802        https://bugs.webkit.org/show_bug.cgi?id=71222
207803
207804        Reviewed by Simon Hausmann.
207805
207806        * DerivedSources.pri: Renamed from Source/WebCore/CodeGenerators.pri.
207807        * DerivedSources.pro: Removed.
207808        * Target.pri: Copied from Source/WebCore/WebCore.pro.
207809        * WebCore.pro:
207810
2078112011-11-04  Tommy Widenflycht  <tommyw@google.com>
207812
207813        [chromium] MediaStream API: Fixing wrong path for PeerConnectionHandler.h in WebCore.gyp
207814        https://bugs.webkit.org/show_bug.cgi?id=71548
207815
207816        Reviewed by Tony Gentilcore.
207817
207818        * WebCore.gypi:
207819
2078202011-11-04  Patrick Gansterer  <paroga@webkit.org>
207821
207822        Unreviewed CMake build fix for !ENABLE(SQL_DATABASE).
207823
207824        * CMakeLists.txt: Always compile the SQLite source files, since they are required for build.
207825
2078262011-11-03  Ryosuke Niwa  <rniwa@webkit.org>
207827
207828        REGRESSION (r99076): Pasting into password fields is broken
207829        https://bugs.webkit.org/show_bug.cgi?id=71483
207830
207831        Reviewed by Darin Adler.
207832
207833        The bug was caused by plainText serializing secured (instead of original) text.
207834        Fixed the bug by adding new TextIterator behavior that serializes the original text
207835        and using it in ReplacementFragment::ReplacementFragment.
207836
207837        * editing/ReplaceSelectionCommand.cpp:
207838        (WebCore::ReplacementFragment::ReplacementFragment):
207839        * editing/TextIterator.cpp:
207840        (WebCore::TextIterator::TextIterator):
207841        (WebCore::TextIterator::emitText):
207842        * editing/TextIterator.h:
207843
2078442011-11-03  Eric Carlson  <eric.carlson@apple.com>
207845
207846        Add TrackEvent
207847        https://bugs.webkit.org/show_bug.cgi?id=71178
207848
207849        Reviewed by Sam Weinig.
207850
207851        Test: fast/events/constructors/track-event-constructor.html
207852
207853        * CMakeLists.txt: Add new files for TrackEvent.
207854        * CodeGenerators.pri: Ditto.
207855        * DerivedSources.cpp: Ditto.
207856        * DerivedSources.make: Ditto.
207857        * GNUmakefile.am: Ditto.
207858        * GNUmakefile.list.am: Ditto.
207859        * WebCore.gypi: Ditto.
207860        * WebCore.pro: Ditto.
207861        * WebCore.xcodeproj/project.pbxproj: Ditto.
207862        * bindings/generic/EventConstructors.h: Ditto.
207863        * bindings/gobject/GNUmakefile.am: Ditto.
207864        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
207865        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
207866
207867        * bindings/js/JSDictionary.cpp:
207868        (WebCore::JSDictionary::convertValue): Add method to convert to a Track.
207869        * bindings/js/JSDictionary.h:
207870
207871        * bindings/js/JSEventConstructors.cpp:  Add new files for TrackEvent.
207872
207873        * bindings/js/JSTrackCustom.cpp: Added. 
207874        (WebCore::toTrack): New, convert from a JSValue to a Track.
207875        (WebCore::toJS): New, return a JS wrapper for a Track.
207876        * bindings/js/JSTrackCustom.h: Added.
207877
207878        * bindings/js/JSTrackEventCustom.cpp: Added.
207879        (WebCore::JSTrackEvent::track): New, returns a TextEvent's 'track' attribute.
207880
207881        * bindings/v8/OptionsObject.cpp:
207882        (WebCore::OptionsObject::get): Returns RefPtr<TrackBase>.
207883
207884        * bindings/v8/custom/V8EventConstructors.cpp: Add Track initializing constructor.
207885
207886        * bindings/v8/custom/V8TrackEventCustom.cpp: Added.
207887        (WebCore::V8TrackEvent::trackAccessorGetter): New, returns a TextEvent's 'track' attribute.
207888
207889        * dom/EventFactory.in: Add TrackEvent.
207890
207891        * dom/EventNames.h: Add 'addtrack' event.
207892
207893        * html/TextTrack.cpp:
207894        (WebCore::TextTrack::TextTrack): Call new base class constructor.
207895        * html/TextTrack.h: Now derive from BaseTrack for the day we implement VideoTrack and AudioTrack.
207896
207897        * html/track/TrackBase.cpp: Added.
207898        (WebCore::TrackBase::TrackBase):
207899        (WebCore::TrackBase::~TrackBase):
207900        * html/track/TrackBase.h: Added.
207901        (WebCore::TrackBase::type): Return the track type.
207902
207903        * html/track/TrackEvent.cpp: Added.
207904        (WebCore::TrackEventInit::TrackEventInit):
207905        (WebCore::TrackEvent::TrackEvent):
207906        (WebCore::TrackEvent::~TrackEvent):
207907        (WebCore::TrackEvent::interfaceName):
207908        * html/track/TrackEvent.h: Added.
207909        (WebCore::TrackEvent::create):
207910        (WebCore::TrackEvent::isTrackEvent):
207911        (WebCore::TrackEvent::track):
207912        * html/track/TrackEvent.idl: Added.
207913
207914        * page/DOMWindow.idl: Add TrackEvent.
207915
2079162011-11-03  Ben Wells  <benwells@chromium.org>
207917
207918        Optimize canvas fills / drawImage when covering entire canvas
207919        https://bugs.webkit.org/show_bug.cgi?id=70789
207920
207921        Reviewed by Stephen White.
207922
207923        If we're filling a rect or drawing an image, and it covers the entire canvas, we don't
207924        need to worry about clearing outside the area updated by the operation if we're in
207925        a composite mode that requires this (such as source-in, copy, etc.). In this case we
207926        can take the simple path through the code and save a clear (for copy) or a temporary
207927        image buffer (for the other modes).
207928
207929        No new tests - optimization, behaviour is unchanged and covered by existing tests.
207930
207931        * html/canvas/CanvasRenderingContext2D.cpp:
207932        (WebCore::CanvasRenderingContext2D::fillRect):
207933        (WebCore::CanvasRenderingContext2D::drawImage):
207934        (WebCore::CanvasRenderingContext2D::rectContainsCanvas):
207935        * html/canvas/CanvasRenderingContext2D.h:
207936
2079372011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
207938
207939        De-virtualize JSObject::getPropertyNames
207940        https://bugs.webkit.org/show_bug.cgi?id=71306
207941
207942        Reviewed by Darin Adler.
207943
207944        No new tests.
207945
207946        Added getPropertyNames to the MethodTable, changed all the virtual 
207947        implementations of getPropertyNames to static ones, and replaced 
207948        all call sites with corresponding lookups in the MethodTable.
207949
207950        * bindings/js/JSDOMWindowCustom.cpp:
207951        (WebCore::JSDOMWindow::getPropertyNames):
207952        * bindings/js/JSDOMWindowShell.cpp:
207953        (WebCore::JSDOMWindowShell::getPropertyNames):
207954        * bindings/js/JSDOMWindowShell.h:
207955        * bindings/scripts/CodeGeneratorJS.pm:
207956        (GenerateHeader):
207957        * bridge/NP_jsobject.cpp:
207958        (_NPN_Enumerate):
207959        * bridge/qt/qt_runtime.cpp:
207960        (JSC::Bindings::convertValueToQVariantMap):
207961
2079622011-11-02  Xiaomei Ji  <xji@chromium.org>
207963
207964        Enable ctrl-arrow move cursor by word in visual order in cr-win by command line flag.
207965        https://bugs.webkit.org/show_bug.cgi?id=71163
207966
207967        Reviewed by Ryosuke Niwa.
207968
207969        Add m_visualWordMovementEnabled page setting, trigger visual word movement
207970        function (instead of logical one) when it is set as true.
207971
207972        right|leftWordPosition() are tested in editing/selection/move-by-word-visually*
207973        by using --webkit-visual-word flag.
207974
207975        * editing/FrameSelection.cpp:
207976        (WebCore::FrameSelection::modifyMovingRight):
207977        (WebCore::FrameSelection::modifyMovingLeft):
207978        (WebCore::FrameSelection::visualWordMovementEnabled):
207979        * editing/FrameSelection.h:
207980        * page/Settings.cpp:
207981        (WebCore::Settings::Settings):
207982        * page/Settings.h:
207983        (WebCore::Settings::setVisualWordMovementEnabled):
207984        (WebCore::Settings::visualWordMovementEnabled):
207985
2079862011-11-03  Levi Weintraub  <leviw@chromium.org>
207987
207988        Correct usage of LayoutUnits and integers in Table rendering classes
207989        https://bugs.webkit.org/show_bug.cgi?id=71500
207990
207991        Reviewed by Darin Adler.
207992
207993        Fixing the Table layout classes to operate on integers -- sub-pixel table layout breaks
207994        the spec. Meanwhile correcting the Table rendering classes themselves to still use
207995        LayoutUnits.
207996
207997        No new tests -- no change in behavior.
207998
207999        * rendering/AutoTableLayout.cpp: Reverting to operating on integers.
208000        (WebCore::AutoTableLayout::recalcColumn):
208001        (WebCore::AutoTableLayout::computePreferredLogicalWidths):
208002        (WebCore::AutoTableLayout::calcEffectiveLogicalWidth):
208003        (WebCore::AutoTableLayout::layout):
208004        * rendering/AutoTableLayout.h: Reverting to operating on integers.
208005        * rendering/FixedTableLayout.cpp: Ditto.
208006        (WebCore::FixedTableLayout::computePreferredLogicalWidths):
208007        (WebCore::FixedTableLayout::layout):
208008        * rendering/RenderTable.h: Switching to LayoutUnits.
208009        (WebCore::RenderTable::getColumnPos):
208010        (WebCore::RenderTable::bordersPaddingAndSpacingInRowDirection):
208011        * rendering/RenderTableCell.cpp: Switching to LayoutUnits.
208012        (WebCore::RenderTableCell::updateLogicalWidth):
208013        (WebCore::RenderTableCell::setOverrideHeightFromRowHeight):
208014        (WebCore::RenderTableCell::computeRectForRepaint):
208015        (WebCore::RenderTableCell::cellBaselinePosition):
208016        (WebCore::RenderTableCell::scrollbarsChanged):
208017        * rendering/RenderTableCell.h: Switching to LayoutUnits
208018        * rendering/RenderTableSection.cpp: Ditto.
208019        (WebCore::RenderTableSection::setCellLogicalWidths):
208020        (WebCore::RenderTableSection::layoutRows):
208021
2080222011-11-03  James Robinson  <jamesr@chromium.org>
208023
208024        [chromium] Notify scheduler on SwapBuffers in threaded compositor mode
208025        https://bugs.webkit.org/show_bug.cgi?id=71381
208026
208027        Reviewed by Kenneth Russell.
208028
208029        * platform/graphics/chromium/cc/CCScheduler.cpp:
208030        (WebCore::CCScheduler::didSwapBuffers):
208031        * platform/graphics/chromium/cc/CCScheduler.h:
208032        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
208033        (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
208034
2080352011-11-03  Daniel Bates  <dbates@rim.com>
208036
208037        CMake: Add missing WebGL IDL file html/canvas/WebGLContextEvent.idl
208038
208039        Rubber-stamped by Martin Robinson
208040
208041        * CMakeLists.txt:
208042
2080432011-11-03  Daniel Bates  <dbates@rim.com>
208044
208045        CMake: Only generate from WebGL IDLs when building with WebGL
208046        https://bugs.webkit.org/show_bug.cgi?id=71516
208047
208048        Reviewed by Martin Robinson.
208049
208050        * CMakeLists.txt:
208051
2080522011-11-03  Erik Arvidsson  <arv@chromium.org>
208053
208054        Remove support for LegacyDefaultOptionalArguments
208055        https://bugs.webkit.org/show_bug.cgi?id=71489
208056
208057        Reviewed by Darin Adler.
208058
208059        This removes support for LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise].
208060        [RequiresAllArguments=Raise] is now the standard behavior so it would be a no op.
208061
208062        No new tests. Covered by existing tests.
208063
208064        * bindings/scripts/CodeGeneratorJS.pm:
208065        (GenerateArgumentsCountCheck): Check the "RequiresAllArguments" extended attribute and generate code
208066                                       that returns undefined if there are missing arguments.
208067        * bindings/scripts/CodeGeneratorV8.pm:
208068        (GenerateArgumentsCountCheck): Ditto.
208069        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
208070        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod): Add generated argument count checks.
208071        * bindings/scripts/test/JS/JSTestObj.cpp:
208072        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs): Ditto.
208073        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs): Ditto.
208074        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs): Ditto.
208075        (WebCore::jsTestObjPrototypeFunctionSerializedValue): Ditto.
208076        (WebCore::jsTestObjPrototypeFunctionIdbKey): Ditto.
208077        (WebCore::jsTestObjPrototypeFunctionOptionsObject): Ditto.
208078        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException): Ditto.
208079        (WebCore::jsTestObjPrototypeFunctionAddEventListener): Ditto.
208080        (WebCore::jsTestObjPrototypeFunctionRemoveEventListener): Ditto.
208081        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg): Ditto.
208082        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg): Ditto.
208083        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture): Ditto.
208084        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD): Ditto.
208085        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg): Ditto.
208086        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs): Ditto.
208087        (WebCore::jsTestObjPrototypeFunctionMethodWithCallbackArg): Ditto.
208088        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg): Ditto.
208089        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1): Ditto.
208090        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2): Ditto.
208091        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3): Ditto.
208092        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4): Ditto.
208093        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod5): Ditto.
208094        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6): Ditto.
208095        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7): Ditto.
208096        * bindings/scripts/test/TestCallback.idl: Remove LegacyDefaultOptionalArguments.
208097        * bindings/scripts/test/TestMediaQueryListListener.idl: Ditto.
208098        * bindings/scripts/test/TestObj.idl: Remove LegacyDefaultOptionalArguments and [RequiresAllArguments=Raise]
208099        * bindings/scripts/test/V8/V8TestMediaQueryListListener.cpp: Remove LegacyDefaultOptionalArguments.
208100        (WebCore::TestMediaQueryListListenerInternal::methodCallback): Add generated argument count checks.
208101        * bindings/scripts/test/V8/V8TestObj.cpp:
208102        (WebCore::TestObjInternal::voidMethodWithArgsCallback): Ditto.
208103        (WebCore::TestObjInternal::intMethodWithArgsCallback): Ditto.
208104        (WebCore::TestObjInternal::objMethodWithArgsCallback): Ditto.
208105        (WebCore::TestObjInternal::serializedValueCallback): Ditto.
208106        (WebCore::TestObjInternal::idbKeyCallback): Ditto.
208107        (WebCore::TestObjInternal::optionsObjectCallback): Ditto.
208108        (WebCore::TestObjInternal::customArgsAndExceptionCallback): Ditto.
208109        (WebCore::TestObjInternal::withDynamicFrameAndArgCallback): Ditto.
208110        (WebCore::TestObjInternal::withDynamicFrameAndOptionalArgCallback): Ditto.
208111        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureCallback): Ditto.
208112        (WebCore::TestObjInternal::withDynamicFrameAndUserGestureASADCallback): Ditto.
208113        (WebCore::TestObjInternal::methodWithNonOptionalArgAndOptionalArgCallback): Ditto.
208114        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback): Ditto.
208115        (WebCore::TestObjInternal::methodWithCallbackArgCallback): Ditto.
208116        (WebCore::TestObjInternal::methodWithNonCallbackArgAndCallbackArgCallback): Ditto.
208117        (WebCore::TestObjInternal::overloadedMethod1Callback): Ditto.
208118        (WebCore::TestObjInternal::overloadedMethod2Callback): Ditto.
208119        (WebCore::TestObjInternal::overloadedMethod3Callback): Ditto.
208120        (WebCore::TestObjInternal::overloadedMethod4Callback): Ditto.
208121        (WebCore::TestObjInternal::overloadedMethod5Callback): Ditto.
208122        (WebCore::TestObjInternal::overloadedMethod6Callback): Ditto.
208123        (WebCore::TestObjInternal::overloadedMethod7Callback): Ditto.
208124        (WebCore::TestObjInternal::enabledAtRuntimeMethod1Callback): Ditto.
208125        (WebCore::TestObjInternal::enabledAtRuntimeMethod2Callback): Ditto.
208126
2081272011-11-03  Darin Adler  <darin@apple.com>
208128
208129        Change remaining callers of releaseRef to call leakRef
208130        https://bugs.webkit.org/show_bug.cgi?id=71422
208131
208132        Reviewed by Darin Fisher.
208133
208134        * bindings/objc/WebScriptObject.mm:
208135        (-[WebScriptObject _setImp:originRootObject:rootObject:]):
208136        (-[WebScriptObject _setOriginRootObject:andRootObject:]):
208137        * bridge/NP_jsobject.cpp:
208138        (_NPN_CreateScriptObject):
208139        * dom/QualifiedName.cpp:
208140        (WebCore::QNameComponentsTranslator::translate):
208141        * history/PageCache.cpp:
208142        (WebCore::PageCache::add):
208143        * html/HTMLTableElement.cpp:
208144        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
208145        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
208146        (WebCore::HTMLTableElement::addSharedGroupDecls):
208147        * platform/graphics/cg/ImageSourceCG.cpp:
208148        (WebCore::ImageSource::createFrameAtIndex):
208149        * platform/graphics/mac/FontCustomPlatformData.cpp:
208150        (WebCore::createFontCustomPlatformData):
208151        * platform/mac/ContextMenuMac.mm:
208152        (WebCore::ContextMenu::releasePlatformDescription):
208153        * platform/mac/SharedBufferMac.mm:
208154        (WebCore::SharedBuffer::createCFData):
208155        * rendering/RenderMediaControlsChromium.cpp:
208156        (WebCore::platformResource):
208157        Use leakRef.
208158
2081592011-11-02  Darin Adler  <darin@apple.com>
208160
208161        Change remaining callers of releaseRef to call leakRef
208162        https://bugs.webkit.org/show_bug.cgi?id=71422
208163
208164        Reviewed by Darin Fisher.
208165
208166        * bindings/objc/WebScriptObject.mm:
208167        (-[WebScriptObject _setImp:originRootObject:rootObject:]):
208168        (-[WebScriptObject _setOriginRootObject:andRootObject:]):
208169        * bridge/NP_jsobject.cpp:
208170        (_NPN_CreateScriptObject):
208171        * dom/QualifiedName.cpp:
208172        (WebCore::QNameComponentsTranslator::translate):
208173        * history/PageCache.cpp:
208174        (WebCore::PageCache::add):
208175        * html/HTMLTableElement.cpp:
208176        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
208177        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
208178        (WebCore::HTMLTableElement::addSharedGroupDecls):
208179        * platform/graphics/cg/ImageSourceCG.cpp:
208180        (WebCore::ImageSource::createFrameAtIndex):
208181        * platform/graphics/mac/FontCustomPlatformData.cpp:
208182        (WebCore::createFontCustomPlatformData):
208183        * platform/mac/ContextMenuMac.mm:
208184        (WebCore::ContextMenu::releasePlatformDescription):
208185        * platform/mac/SharedBufferMac.mm:
208186        (WebCore::SharedBuffer::createCFData):
208187        * rendering/RenderMediaControlsChromium.cpp:
208188        (WebCore::platformResource):
208189        Use leakRef.
208190
2081912011-11-03  Daniel Cheng  <dcheng@chromium.org>
208192
208193        [chromium] Remove unused clipboard methods
208194        https://bugs.webkit.org/show_bug.cgi?id=71512
208195
208196        Reviewed by Tony Chang.
208197
208198        * platform/chromium/PlatformSupport.h:
208199
2082002011-11-03  Anna Cavender  <annacc@chromium.org>
208201
208202        Implement TextTrackCueList.
208203        https://bugs.webkit.org/show_bug.cgi?id=70451
208204
208205        Reviewed by Eric Carlson.
208206
208207        Test: media/track/track-text-track-cue-list.html
208208
208209        * html/LoadableTextTrack.cpp:
208210        (WebCore::LoadableTextTrack::newCuesAvailable):
208211            Update TextTrack's TextTrackCueList (m_cues) when new cues are discovered.
208212        * html/TextTrack.cpp:
208213        (WebCore::TextTrack::TextTrack):
208214            Create an empty TextTrackCueList upon TextTrack creation.
208215        (WebCore::TextTrack::cues):
208216            Return this TextTrack's list of cues.
208217
208218        Implement TextTrackCueList functionality:
208219        * html/TextTrackCueList.cpp:
208220        (WebCore::TextTrackCueList::TextTrackCueList):
208221        (WebCore::TextTrackCueList::length):
208222        (WebCore::TextTrackCueList::item):
208223        (WebCore::TextTrackCueList::getCueById):
208224        (WebCore::TextTrackCueList::add):
208225        (WebCore::TextTrackCueList::remove):
208226        (WebCore::TextTrackCueList::contains):
208227        * html/TextTrackCueList.h:
208228        (WebCore::TextTrackCueList::~TextTrackCueList):
208229
2082302011-11-03  Joshua Bell  <jsbell@chromium.org>
208231
208232        IndexedDB result of deleting a record should be true or false
208233        https://bugs.webkit.org/show_bug.cgi?id=60197
208234
208235        Reviewed by David Levin.
208236
208237        IDBObjectStore.delete() was incorrectly firing an error if there
208238        was no record to remove. Match the spec, and return true/false
208239        as success values instead. Bring JSC binding implementation of
208240        SerializedScriptValue more in line with V8 version for methods
208241        called from IDB code.
208242
208243        Test: storage/indexeddb/mozilla/delete-result.html
208244
208245        * bindings/js/SerializedScriptValue.cpp:
208246        (WebCore::SerializedScriptValue::createFromWire):
208247        (WebCore::SerializedScriptValue::undefinedValue):
208248        (WebCore::SerializedScriptValue::booleanValue):
208249        * bindings/js/SerializedScriptValue.h:
208250        * bindings/v8/SerializedScriptValue.cpp:
208251        (WebCore::SerializedScriptValue::nullValue):
208252        (WebCore::SerializedScriptValue::undefinedValue):
208253        (WebCore::SerializedScriptValue::booleanValue):
208254        * bindings/v8/SerializedScriptValue.h:
208255        * storage/IDBObjectStoreBackendImpl.cpp:
208256        (WebCore::IDBObjectStoreBackendImpl::deleteInternal):
208257
2082582011-11-03  Adam Barth  <abarth@webkit.org>
208259
208260        Implement allow-popups for iframe@sandbox
208261        https://bugs.webkit.org/show_bug.cgi?id=66505
208262
208263        Reviewed by Eric Seidel.
208264
208265        There's been some discussion in the HTML working group about adding an
208266        allow-popups directive to the iframe sandbox.  Microsoft has added it
208267        to IE10 platform preview and is fairly adamant about this feature
208268        because it's needed by one or their products that's planning to use
208269        iframe sandbox.  Hixie says he'll add it to the spec once we implement
208270        it, so here's our implementation.  (See discussion in the W3C linked in
208271        the bug for more details.)
208272
208273        This patch lands most of the infrastructure for this feature, but it
208274        doesn't actually enable the feature.  I'll enable it in a follow-up
208275        patch.
208276
208277        Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
208278               http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
208279               http/tests/security/popup-allowed-by-sandbox-when-allowed.html
208280
208281        * html/HTMLIFrameElement.cpp:
208282        (WebCore::HTMLIFrameElement::parseMappedAttribute):
208283        * loader/FrameLoader.h:
208284        (WebCore::FrameLoader::forceSandboxFlags):
208285        * loader/FrameLoaderTypes.h:
208286        * page/SecurityOrigin.cpp:
208287        (WebCore::SecurityOrigin::parseSandboxPolicy):
208288        * page/SecurityOrigin.h:
208289        (WebCore::SecurityOrigin::sandboxFlags):
208290        * svg/graphics/SVGImage.cpp:
208291        (WebCore::SVGImage::dataChanged):
208292
2082932011-11-03  Mark Hahnenberg  <mhahnenberg@apple.com>
208294
208295        De-virtualize JSObject::className
208296        https://bugs.webkit.org/show_bug.cgi?id=71428
208297
208298        Reviewed by Sam Weinig.
208299
208300        No new tests.
208301
208302        Added className to the MethodTable, changed all the virtual 
208303        implementations of className to static ones, and replaced 
208304        all call sites with corresponding lookups in the MethodTable.
208305
208306        * bindings/js/JSDOMWindowShell.cpp:
208307        (WebCore::JSDOMWindowShell::className):
208308        * bindings/js/JSDOMWindowShell.h:
208309        * bindings/js/JSInjectedScriptHostCustom.cpp:
208310        (WebCore::JSInjectedScriptHost::internalConstructorName):
208311        * bridge/testqtbindings.cpp:
208312        (Global::className):
208313
2083142011-11-02  Jer Noble  <jer.noble@apple.com>
208315
208316        Add Clock class and platform-specific implementations.
208317        https://bugs.webkit.org/show_bug.cgi?id=71341
208318
208319        Reviewed by Sam Weinig.
208320
208321        No new tests; these classes will be used and tested by the MediaController feature.
208322
208323        Adds a abstract Clock class and two concrete, platform-specific subclasses.
208324
208325        Clock provides a basic interface for starting, stopping, and querying a generic timeline.
208326        PlatformClockCA implements this interface using a CoreAudio CAClock object, which uses
208327        the default audio device's hardware clock as a timing source. PlatformClockPOSIX 
208328        implements this interface using gettimeofday() as its timing source.
208329
208330        * WebCore.xcodeproj/project.pbxproj:
208331        * platform/Clock.cpp: Added.
208332        (Clock::create): Creates a platform-specific clock.
208333        * platform/Clock.h: Added.
208334        (WebCore::Clock::~Clock):
208335        (WebCore::Clock::Clock):
208336        * platform/mac/PlatformClockCA.cpp: Added.
208337        (PlatformClockCA::PlatformClockCA):
208338        (PlatformClockCA::~PlatformClockCA):
208339        (PlatformClockCA::setCurrentTime):
208340        (PlatformClockCA::currentTime):
208341        (PlatformClockCA::setPlayRate):
208342        (PlatformClockCA::PlatformClockCA::playRate):
208343        (PlatformClockCA::start):
208344        (PlatformClockCA::stop):
208345        * platform/mac/PlatformClockCA.h: Added.
208346        (WebCore::PlatformClockCA::isRunning):
208347        * platform/posix/PlatformClockPOSIX.cpp: Added.
208348        (timevalToFloat):
208349        (timevalDelta):
208350        (PlatformClockPOSIX::PlatformClockPOSIX):
208351        (PlatformClockPOSIX::setCurrentTime):
208352        (PlatformClockPOSIX::currentTime):
208353        (PlatformClockPOSIX::setPlayRate):
208354        (PlatformClockPOSIX::PlatformClockPOSIX::playRate):
208355        (PlatformClockPOSIX::start):
208356        (PlatformClockPOSIX::stop):
208357        (PlatformClockPOSIX::now):
208358        * platform/posix/PlatformClockPOSIX.h: Added.
208359        (WebCore::PlatformClockPOSIX::isRunning):
208360
2083612011-11-03  Joshua Bell  <jsbell@chromium.org>
208362
208363        IndexedDB: Object stores not persisting between sessions
208364        https://bugs.webkit.org/show_bug.cgi?id=71313
208365
208366        Reviewed by Tony Chang.
208367
208368        Logic flaw introduced with r98806 skipped the loading of object stores
208369        during subsequent sessions.
208370
208371        * storage/IDBDatabaseBackendImpl.cpp:
208372        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
208373        (WebCore::IDBDatabaseBackendImpl::openInternal):
208374
2083752011-11-03  Pavel Feldman  <pfeldman@google.com>
208376
208377        Web Inspector: fix heap profiler rendering and resize.
208378        https://bugs.webkit.org/show_bug.cgi?id=71484
208379
208380        Reviewed by Yury Semikhatsky.
208381
208382        * inspector/front-end/DetailedHeapshotView.js:
208383        (WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
208384        (WebInspector.DetailedHeapshotView.prototype.wasShown):
208385        (WebInspector.DetailedHeapshotView.prototype._changeView):
208386        (WebInspector.DetailedHeapshotView.prototype._startRetainersHeaderDragging):
208387
2083882011-11-03  Julien Chaffraix  <jchaffraix@webkit.org>
208389
208390        Stop abusing RenderTableSection::needsRecalcCells logic
208391        https://bugs.webkit.org/show_bug.cgi?id=71420
208392
208393        Reviewed by Darin Adler.
208394
208395        Change covered by existing tests like fast/repaint/table-extra-bottom-grow.html
208396        and fast/table/row-height-recalc* (among others).
208397
208398        Cell recalculation is very expensive and should only be called when the section's structure
208399        changed in a way that requires a safe update to its structure (like removing a row as our
208400        column split may not be appropriate anymore).
208401
208402        The current code would abuse cell recalculation to actually reset the logical height on the
208403        RowStruct. This change makes it do the right thing.
208404
208405        * rendering/RenderTableCell.h:
208406        * rendering/RenderTableRow.h:
208407        Removed styleWillChange override as it was unneeded.
208408
208409        * rendering/RenderTableCell.cpp:
208410        (WebCore::RenderTableCell::styleDidChange):
208411        * rendering/RenderTableRow.cpp:
208412        (WebCore::RenderTableRow::styleDidChange):
208413        Move the code from styleWillChange to styleDidChange.
208414
208415        * rendering/RenderTableSection.cpp:
208416        (WebCore::RenderTableSection::rowLogicalHeightChanged):
208417        This function just reset the height on the |RowStruct| which is the
208418        only part of recalcCells that we would need.
208419
208420        (WebCore::RenderTableSection::rowIndexForRenderer):
208421        Added this function to find out which index a column has (strangely
208422        RenderTableRow does not have this information).
208423
208424        * rendering/RenderTableSection.h: Added the 2 previous functions.
208425
2084262011-11-03  Andreas Kling  <kling@webkit.org>
208427
208428        CSSRuleList: Move rule orphaning from deleteRule() out to callers.
208429        https://bugs.webkit.org/show_bug.cgi?id=71470
208430
208431        Reviewed by Antti Koivisto.
208432
208433        Rule parenting is the responsibility of the owner rule (the rule containing
208434        the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
208435        into the (two) call sites.
208436
208437        * css/CSSMediaRule.cpp:
208438        (WebCore::CSSMediaRule::deleteRule):
208439        * css/CSSRuleList.cpp:
208440        (WebCore::CSSRuleList::deleteRule):
208441        * css/WebKitCSSKeyframesRule.cpp:
208442        (WebCore::WebKitCSSKeyframesRule::deleteRule):
208443
2084442011-11-03  Pavel Feldman  <pfeldman@google.com>
208445
208446        Web Inspector: do not map scripts generated with document.write to the document resources.
208447        https://bugs.webkit.org/show_bug.cgi?id=71114
208448
208449        Reviewed by Yury Semikhatsky.
208450
208451        * inspector/front-end/DebuggerPresentationModel.js:
208452        (WebInspector.DebuggerPresentationModel):
208453        (WebInspector.DebuggerPresentationModel.prototype._addScript):
208454        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
208455        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
208456        (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
208457        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
208458        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
208459        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
208460        (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
208461        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
208462        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
208463        * inspector/front-end/RawSourceCode.js:
208464        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
208465        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
208466        (WebInspector.RawSourceCode.prototype._createSourceMapping):
208467        * inspector/front-end/Script.js:
208468        (WebInspector.Script.prototype.editSource):
208469        (WebInspector.Script.prototype.isInlineScript):
208470
2084712011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
208472
208473        [Qt] Remove Maemo specific code paths
208474        https://bugs.webkit.org/show_bug.cgi?id=71476
208475
208476        Reviewed by Kenneth Rohde Christiansen.
208477
208478        * WebCore.pri:
208479        * features.pri:
208480        * plugins/PluginPackage.cpp:
208481        (WebCore::PluginPackage::determineQuirks):
208482        * plugins/PluginView.cpp:
208483        (WebCore::PluginView::setValue):
208484        * plugins/PluginView.h:
208485        * plugins/qt/PluginViewQt.cpp:
208486        (WebCore::PluginView::updatePluginWidget):
208487        (WebCore::PluginView::paint):
208488        (WebCore::PluginView::platformGetValueStatic):
208489
2084902011-11-03  Fady Samuel  <fsamuel@chromium.org>
208491
208492        Removing line in computeViewportAttributes that enforces a minimum scale factor to never allow zooming out more than viewport
208493        https://bugs.webkit.org/show_bug.cgi?id=70609
208494
208495        Reviewed by Kenneth Rohde Christiansen.
208496
208497        Operations in computeViewportAttributes that are not a part of the spec: 
208498
208499        http://www.w3.org/TR/2011/WD-css-device-adapt-20110915/#constraining-viewport-property-values
208500
208501        were moved into the functions restrictMinimumScaleFactorToViewportSize and
208502        restrictScaleFactorToInitialScaleIfNotUserScalable.
208503
208504        * WebCore.exp.in:
208505        * dom/ViewportArguments.cpp:
208506        (WebCore::computeViewportAttributes):
208507        (WebCore::restrictMinimumScaleFactorToViewportSize):
208508        (WebCore::restrictScaleFactorToInitialScaleIfNotUserScalable):
208509        * dom/ViewportArguments.h:
208510
2085112011-11-03  Andreas Kling  <kling@webkit.org>
208512
208513        CSSRuleList: Move rule orphaning from deleteRule() out to callers.
208514        https://bugs.webkit.org/show_bug.cgi?id=71470
208515
208516        Reviewed by Antti Koivisto.
208517
208518        Rule parenting is the responsibility of the owner rule (the rule containing
208519        the rule list), so move parent clearing out of CSSRuleList::deleteRule() and
208520        into the (two) call sites.
208521
208522        * css/CSSMediaRule.cpp:
208523        (WebCore::CSSMediaRule::deleteRule):
208524        * css/CSSRuleList.cpp:
208525        (WebCore::CSSRuleList::deleteRule):
208526        * css/WebKitCSSKeyframesRule.cpp:
208527        (WebCore::WebKitCSSKeyframesRule::deleteRule):
208528
2085292011-11-03  Andreas Kling  <kling@webkit.org>
208530
208531        Unreviewed build fix, sigh.
208532
208533        * css/CSSFontFaceRule.h:
208534        * css/CSSMutableStyleDeclaration.h:
208535
2085362011-11-03  Andreas Kling  <kling@webkit.org>
208537
208538        Unreviewed build fix, out-of-line StyleSheet::parentStyleSheet()
208539        again since there's a cycle in the includes between CSSRule/StyleSheet.
208540
208541        * css/StyleSheet.cpp:
208542        (WebCore::StyleSheet::parentStyleSheet):
208543        * css/StyleSheet.h:
208544
2085452011-11-03  Andreas Kling  <kling@webkit.org>
208546
208547        Unreviewed build fix after r99185, removing forward-declaration
208548        of CSSRule since CSSRule.h is already included.
208549
208550        * css/StyleSheet.h:
208551
2085522011-11-03  Andreas Kling  <kling@webkit.org>
208553
208554        CSSOM: Inline some trivial methods.
208555        https://bugs.webkit.org/show_bug.cgi?id=71468
208556
208557        Reviewed by Antti Koivisto.
208558
208559        * css/CSSFontFaceRule.cpp:
208560        * css/CSSFontFaceRule.h:
208561        (WebCore::CSSFontFaceRule::setDeclaration):
208562        * css/CSSStyleRule.cpp:
208563        * css/CSSStyleRule.h:
208564        (WebCore::CSSStyleRule::setDeclaration):
208565        * css/CSSStyleSheet.cpp:
208566        * css/CSSStyleSheet.h:
208567        (WebCore::CSSStyleSheet::ownerRule):
208568        * css/StyleSheet.cpp:
208569        * css/StyleSheet.h:
208570        (WebCore::StyleSheet::parentStyleSheet):
208571        * css/WebKitCSSKeyframesRule.cpp:
208572        * css/WebKitCSSKeyframesRule.h:
208573        (WebCore::WebKitCSSKeyframesRule::name):
208574        (WebCore::WebKitCSSKeyframesRule::length):
208575
2085762011-11-03  Andreas Kling  <kling@webkit.org>
208577
208578        Devirtualize MediaList.
208579        https://bugs.webkit.org/show_bug.cgi?id=71464
208580
208581        Reviewed by Antti Koivisto.
208582
208583        * css/MediaList.h: Make the destructor non-virtual.
208584
2085852011-11-03  Zoltan Herczeg  <zherczeg@webkit.org>
208586
208587        Optimizing arithmetic composite filter to ARM-neon SIMD instruction set
208588        https://bugs.webkit.org/show_bug.cgi?id=65522
208589
208590        Reviewed by Dirk Schulze.
208591
208592        This patch continues the work of Felician Marton.
208593
208594        The arithmetic operation of feComposite SVG filter can be greatly enhanced
208595        by the ARM-NEON instruction set since we are able to calculate the pixel data
208596        for all four RGBA channels at the same time.
208597
208598        It won't affect the general behavior and existing tests will cover the changes.
208599
208600        * CMakeLists.txt:
208601        * GNUmakefile.list.am:
208602        * WebCore.gypi:
208603        * WebCore.pro:
208604        * WebCore.vcproj/WebCore.vcproj:
208605        * platform/graphics/filters/FEComposite.cpp:
208606        (WebCore::computeArithmeticPixels):
208607        (WebCore::arithmeticSoftware):
208608        (WebCore::FEComposite::platformArithmeticSoftware):
208609        (WebCore::FEComposite::platformApplySoftware):
208610        * platform/graphics/filters/FEComposite.h:
208611        * platform/graphics/filters/arm/FECompositeArithmeticNEON.cpp: Added.
208612        * platform/graphics/filters/arm/FECompositeArithmeticNEON.h: Added.
208613        (WebCore::FEComposite::platformArithmeticNeon):
208614
2086152011-11-03  Simon Hausmann  <simon.hausmann@nokia.com>
208616
208617        [Qt] Add pageScaleFactor to the serialized history item
208618        https://bugs.webkit.org/show_bug.cgi?id=71463
208619
208620        Reviewed by Tor Arne Vestbø.
208621
208622        r75758 added the pageScaleFactor member, which we need to
208623        serialize.
208624
208625        * history/qt/HistoryItemQt.cpp:
208626        (WebCore::HistoryItem::restoreState):
208627        (WebCore::HistoryItem::saveState):
208628
2086292011-11-03  Mike Lawther  <mikelawther@chromium.org>
208630
208631        Use createPrimitiveNumericValue function
208632        https://bugs.webkit.org/show_bug.cgi?id=71432
208633
208634        Reviewed by Andreas Kling.
208635
208636        No new tests - no change in functionality.
208637
208638        * css/CSSParser.cpp:
208639        (WebCore::CSSParser::parseWrapShapeRect):
208640        (WebCore::CSSParser::parseWrapShapeCircle):
208641        (WebCore::CSSParser::parseWrapShapeEllipse):
208642        (WebCore::CSSParser::parseWrapShapePolygon):
208643
2086442011-11-03  Pavel Feldman  <pfeldman@google.com>
208645
208646        Not reviewed: win build fix. Assign autoDPI at all cases (breakage introduced in r99173).
208647
208648        * dom/ViewportArguments.cpp:
208649        (WebCore::computeViewportAttributes):
208650
2086512011-11-03  Kenneth Rohde Christiansen  <kenneth@webkit.org>
208652
208653        Differentiate implicit viewport from that of the meta tag
208654        https://bugs.webkit.org/show_bug.cgi?id=71453
208655
208656        Reviewed by Simon Hausmann.
208657
208658        This is needed because of DPI adjustment taking place with the meta
208659        tag. This is to be avoided when no viewport meta tag is present.
208660
208661        * dom/Document.cpp:
208662        (WebCore::Document::processViewport):
208663        * dom/ViewportArguments.cpp:
208664        (WebCore::computeViewportAttributes):
208665        * dom/ViewportArguments.h:
208666        (WebCore::ViewportArguments::ViewportArguments):
208667        (WebCore::ViewportArguments::operator==):
208668
2086692011-11-03  Andreas Kling  <kling@webkit.org>
208670
208671        Devirtualize CSSRule.
208672        https://bugs.webkit.org/show_bug.cgi?id=71382
208673
208674        Reviewed by Antti Koivisto.
208675
208676        Remove the virtual destructor from CSSRule, and reimplement RefCounted's deref()
208677        to invoke operator delete on the appropriate subclass type.
208678
208679        This removes the CSSRule vtable and shrinks each instance by one CPU word.
208680
208681        * css/CSSCharsetRule.h:
208682        * css/CSSFontFaceRule.h:
208683        * css/CSSMediaRule.h:
208684        * css/CSSPageRule.h:
208685        * css/CSSRegionStyleRule.h:
208686        * css/CSSRule.cpp:
208687        * css/CSSRule.h:
208688        (WebCore::CSSRule::deref):
208689        (WebCore::CSSRule::~CSSRule):
208690        * css/CSSStyleRule.h:
208691        * css/WebKitCSSKeyframeRule.h:
208692
208693            Devirtualize!
208694
208695        * css/CSSRule.cpp:
208696        (WebCore::CSSRule::destroy):
208697
208698            Added, invokes operator delete on the right subclass type.
208699
208700        * css/CSSImportRule.cpp:
208701        (WebCore::CSSImportRule::CSSImportRule):
208702        (WebCore::CSSImportRule::~CSSImportRule):
208703        (WebCore::CSSImportRule::requestStyleSheet):
208704        * css/CSSImportRule.h:
208705        (WebCore::CSSImportRule::ImportedStyleSheetClient::ImportedStyleSheetClient):
208706        (WebCore::CSSImportRule::ImportedStyleSheetClient::~ImportedStyleSheetClient):
208707        (WebCore::CSSImportRule::ImportedStyleSheetClient::setCSSStyleSheet):
208708
208709            Break out the inheritance from CachedStyleSheetClient into a member variable
208710            that simply redirects the setCSSStyleSheet() callback to the CSSImportRule.
208711
2087122011-10-31  Hans Wennborg  <hans@chromium.org>
208713
208714        IndexedDB: Recycle cursor objects when calling continue()
208715        https://bugs.webkit.org/show_bug.cgi?id=71115
208716
208717        Reviewed by Darin Fisher.
208718
208719        The IndexedDB spec says that cursors should be recycled when calling
208720        continue(). Let the IDBRequest keep track of which cursor to return
208721        upon success, and have the cursor use a new callback:
208722        onSuccessWithContinuation() to signal that the continue was successful.
208723
208724        When we start using the new callback, the
208725        storage/indexeddb/cursor-inconsistency.html layout test will start
208726        passing.
208727
208728        * storage/IDBCallbacks.h:
208729        * storage/IDBCursorBackendImpl.cpp:
208730        (WebCore::IDBCursorBackendImpl::continueFunctionInternal):
208731        * storage/IDBRequest.cpp:
208732        (WebCore::IDBRequest::IDBRequest):
208733        (WebCore::IDBRequest::setCursor):
208734        (WebCore::IDBRequest::onSuccess):
208735        (WebCore::IDBRequest::onSuccessWithContinuation):
208736        * storage/IDBRequest.h:
208737
2087382011-11-03  Pavel Feldman  <pfeldman@google.com>
208739
208740        Web Inspector: preserve script location for inline handlers.
208741        https://bugs.webkit.org/show_bug.cgi?id=71367
208742
208743        Makes eventHandler report position, not line number;
208744
208745        Reviewed by Yury Semikhatsky.
208746
208747        * bindings/js/CachedScriptSourceProvider.h:
208748        (WebCore::CachedScriptSourceProvider::CachedScriptSourceProvider):
208749        * bindings/js/JSLazyEventListener.cpp:
208750        (WebCore::JSLazyEventListener::JSLazyEventListener):
208751        (WebCore::JSLazyEventListener::initializeJSFunction):
208752        * bindings/js/JSLazyEventListener.h:
208753        (WebCore::JSLazyEventListener::create):
208754        * bindings/js/ScriptController.cpp:
208755        (WebCore::ScriptController::eventHandlerPosition):
208756        * bindings/js/ScriptController.h:
208757        * bindings/js/ScriptEventListener.cpp:
208758        (WebCore::createAttributeEventListener):
208759        * bindings/js/ScriptSourceProvider.h:
208760        (WebCore::ScriptSourceProvider::ScriptSourceProvider):
208761        * bindings/js/StringSourceProvider.h:
208762        (WebCore::StringSourceProvider::create):
208763        (WebCore::StringSourceProvider::StringSourceProvider):
208764        (WebCore::makeSource):
208765
2087662011-11-03  Alexander Pavlov  <apavlov@chromium.org>
208767
208768        Web Inspector: [Styles] Do not check isEditingAnyField in StylesSidebarPane._createNewRule
208769        https://bugs.webkit.org/show_bug.cgi?id=71217
208770
208771        Reviewed by Yury Semikhatsky.
208772
208773        * inspector/front-end/StylesSidebarPane.js:
208774        (WebInspector.StylesSidebarPane.prototype.set _createNewRule):
208775
2087762011-11-03  Balazs Kelemen  <kbalazs@webkit.org>
208777
208778        [Qt] X11 plugins need to be reworked for Qt5
208779        https://bugs.webkit.org/show_bug.cgi?id=70023
208780
208781        Reviewed by Simon Hausmann.
208782
208783        Disable X11 plugins with Qt5.
208784        * features.pri:
208785
2087862011-11-03  Sheriff Bot  <webkit.review.bot@gmail.com>
208787
208788        Unreviewed, rolling out r99138.
208789        http://trac.webkit.org/changeset/99138
208790        https://bugs.webkit.org/show_bug.cgi?id=71455
208791
208792        It made 200+ tests flakey on SL and on Qt (Requested by Ossy
208793        on #webkit).
208794
208795        * html/HTMLIFrameElement.cpp:
208796        (WebCore::parseSandboxAttribute):
208797        (WebCore::HTMLIFrameElement::parseMappedAttribute):
208798        * loader/FrameLoader.cpp:
208799        (WebCore::FrameLoader::setOpener):
208800        (WebCore::createWindow):
208801        * loader/FrameLoader.h:
208802        (WebCore::FrameLoader::setForcedSandboxFlags):
208803        * loader/FrameLoaderTypes.h:
208804        * loader/PolicyChecker.cpp:
208805        (WebCore::PolicyChecker::checkNewWindowPolicy):
208806        * page/SecurityOrigin.cpp:
208807        * page/SecurityOrigin.h:
208808        * svg/graphics/SVGImage.cpp:
208809        (WebCore::SVGImage::dataChanged):
208810
2088112011-11-03  Kentaro Hara  <haraken@chromium.org>
208812
208813        Fixed wrong implementation of doubleValue % 2^{64}.
208814        https://bugs.webkit.org/show_bug.cgi?id=67980
208815
208816        Reviewed by Hajime Morita.
208817
208818        fast/events/constructors/progress-event-constructor.html was failing
208819        because of the wrong implementation of conversion from an ECMAScript value
208820        to an IDL unsigned long long value (Spec: http://www.w3.org/TR/WebIDL/#es-unsigned-long-long).
208821        In particular, the calculation of doubleValue % 2^{64} was wrong.
208822        This patch implemented it correctly in doubleToInteger() in wtf/MathExtras.h.
208823
208824        * bindings/js/JSDictionary.cpp:
208825        (WebCore::JSDictionary::convertValue): Uses doubleToInteger().
208826        * bindings/v8/OptionsObject.cpp:
208827        (WebCore::OptionsObject::getKeyValue): Ditto.
208828
2088292011-11-03  Alexander Pavlov  <apavlov@chromium.org>
208830
208831        Web Inspector: Introduce SuggestBox for TextPrompt
208832        https://bugs.webkit.org/show_bug.cgi?id=71288
208833
208834        Reviewed by Pavel Feldman.
208835
208836        Drive-by fix for a regression where clicking in the Database query view did not focus the prompt.
208837
208838        * WebCore.gypi:
208839        * WebCore.vcproj/WebCore.vcproj:
208840        * inspector/front-end/ConsoleView.js:
208841        (WebInspector.ConsoleView):
208842        (WebInspector.ConsoleView.prototype.completions):
208843        (WebInspector.ConsoleView.prototype._completions.receivedPropertyNames):
208844        (WebInspector.ConsoleView.prototype._completions):
208845        (WebInspector.ConsoleView.prototype._reportCompletions):
208846        * inspector/front-end/DatabaseQueryView.js:
208847        (WebInspector.DatabaseQueryView):
208848        (WebInspector.DatabaseQueryView.prototype.afterShow):
208849        (WebInspector.DatabaseQueryView.prototype.completions):
208850        (WebInspector.DatabaseQueryView.prototype._selectStart.moveBackIfOutside):
208851        (WebInspector.DatabaseQueryView.prototype._selectStart):
208852        (WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
208853        (WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
208854        (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
208855        * inspector/front-end/ElementsPanel.js:
208856        * inspector/front-end/Popover.js:
208857        (WebInspector.Popover):
208858        (WebInspector.Popover.prototype._positionElement):
208859        * inspector/front-end/StylesSidebarPane.js:
208860        (WebInspector.StylePropertyTreeElement.prototype):
208861        ():
208862        * inspector/front-end/TextPrompt.js:
208863        (WebInspector.TextPrompt):
208864        (WebInspector.TextPrompt.prototype.setSuggestForceable):
208865        (WebInspector.TextPrompt.prototype._attachInternal):
208866        (WebInspector.TextPrompt.prototype._removeFromElement):
208867        (WebInspector.TextPrompt.prototype.defaultKeyHandler):
208868        (WebInspector.TextPrompt.prototype.onKeyDown):
208869        (WebInspector.TextPrompt.prototype.acceptAutoComplete):
208870        (WebInspector.TextPrompt.prototype.autoCompleteSoon):
208871        (WebInspector.TextPrompt.prototype.complete):
208872        (WebInspector.TextPrompt.prototype._completionsReady):
208873        (WebInspector.TextPrompt.prototype.applySuggestion):
208874        (WebInspector.TextPrompt.prototype.acceptSuggestion):
208875        (WebInspector.TextPrompt.prototype.isSuggestBoxVisible):
208876        (WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
208877        (WebInspector.TextPrompt.prototype.tabKeyPressed):
208878        (WebInspector.TextPrompt.prototype.enterKeyPressed):
208879        (WebInspector.TextPrompt.prototype.upKeyPressed):
208880        (WebInspector.TextPrompt.prototype.downKeyPressed):
208881        (WebInspector.TextPrompt.SuggestBoxConfig):
208882        (WebInspector.TextPromptWithHistory):
208883        (WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
208884        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
208885        (WebInspector.TextPrompt.SuggestBox):
208886        (WebInspector.TextPrompt.SuggestBox.prototype.get visible):
208887        (WebInspector.TextPrompt.SuggestBox.prototype.get hasSelection):
208888        (WebInspector.TextPrompt.SuggestBox.prototype._onscrollresize):
208889        (WebInspector.TextPrompt.SuggestBox.prototype._updateBoxPosition):
208890        (WebInspector.TextPrompt.SuggestBox.prototype._onboxmousedown):
208891        (WebInspector.TextPrompt.SuggestBox.prototype.hide):
208892        (WebInspector.TextPrompt.SuggestBox.prototype.removeFromElement):
208893        (WebInspector.TextPrompt.SuggestBox.prototype._applySuggestion):
208894        (WebInspector.TextPrompt.SuggestBox.prototype.acceptSuggestion):
208895        (WebInspector.TextPrompt.SuggestBox.prototype._onNextItem):
208896        (WebInspector.TextPrompt.SuggestBox.prototype._onPreviousItem):
208897        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestionsSoon):
208898        (WebInspector.TextPrompt.SuggestBox.prototype.updateSuggestions):
208899        (WebInspector.TextPrompt.SuggestBox.prototype._onItemMouseDown):
208900        (WebInspector.TextPrompt.SuggestBox.prototype._createItemElement):
208901        (WebInspector.TextPrompt.SuggestBox.prototype._updateItems):
208902        (WebInspector.TextPrompt.SuggestBox.prototype._updateSelection):
208903        (WebInspector.TextPrompt.SuggestBox.prototype._completionsReady):
208904        (WebInspector.TextPrompt.SuggestBox.prototype.upKeyPressed):
208905        (WebInspector.TextPrompt.SuggestBox.prototype.downKeyPressed):
208906        (WebInspector.TextPrompt.SuggestBox.prototype.enterKeyPressed):
208907        (WebInspector.TextPrompt.SuggestBox.prototype.tabKeyPressed):
208908        (WebInspector.TextPrompt.SuggestBox.prototype.spaceKeyPressed):
208909        * inspector/front-end/WebKit.qrc:
208910        * inspector/front-end/inspector.css:
208911        (.search-view .search-panel):
208912        (#search-results-pane-file-based .search-match .search-match-content):
208913        (.custom-popup-horizontal-scroll ::-webkit-scrollbar, .custom-popup-vertical-scroll ::-webkit-scrollbar):
208914        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-corner, .custom-popup-vertical-scroll ::-webkit-scrollbar-corner):
208915        (.custom-popup-horizontal-scroll ::-webkit-resizer, .custom-popup-vertical-scroll ::-webkit-resizer):
208916        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-button, .custom-popup-vertical-scroll ::-webkit-scrollbar-button):
208917        (.custom-popup-horizontal-scroll ::-webkit-scrollbar:horizontal:corner-present):
208918        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal):
208919        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:hover):
208920        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-thumb:horizontal:active):
208921        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:start):
208922        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end):
208923        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:end:corner-present):
208924        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:decrement):
208925        (.custom-popup-horizontal-scroll ::-webkit-scrollbar-track-piece:horizontal:increment):
208926        (.custom-popup-vertical-scroll ::-webkit-scrollbar:vertical:corner-present):
208927        (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical):
208928        (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:hover):
208929        (.custom-popup-vertical-scroll ::-webkit-scrollbar-thumb:vertical:active):
208930        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:start):
208931        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end):
208932        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:end:corner-present):
208933        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:decrement):
208934        (.custom-popup-vertical-scroll ::-webkit-scrollbar-track-piece:vertical:increment):
208935        * inspector/front-end/popover.css:
208936        (.popover.right-bottom-arrow .arrow):
208937        * inspector/front-end/textPrompt.css: Added.
208938        (.suggest-box):
208939        (.suggest-box.visible):
208940        (.suggest-box .container):
208941        (.suggest-box-content-item):
208942        (.suggest-box-content-item .prefix):
208943        (.suggest-box-content-item.selected):
208944        (.suggest-box-content-item:hover:not(.selected)):
208945        * inspector/front-end/utilities.js:
208946        (setupPrototypeUtilities.Element.prototype.boxInWindow):
208947
2089482011-11-03  Devdatta Deshpande  <webkit.devdatta@gmail.com>
208949
208950        REGRESSION (r94132): broke fast/loader/location-port.html on GTK
208951        https://bugs.webkit.org/show_bug.cgi?id=67277
208952
208953        Reviewed by Adam Barth.
208954
208955        If port is 0, SoupURI does not have an explicitly specified port. Due
208956        to this port value is ignored in SoupURI. Hence, an extra check is
208957        required to restore the port.
208958
208959        Test: LayoutTests/fast/loader/location-port.html
208960
208961        * platform/network/soup/ResourceRequestSoup.cpp:
208962        (WebCore::ResourceRequest::updateFromSoupMessage):
208963
2089642011-11-03  Joseph Pecoraro  <pecoraro@apple.com>
208965
208966        Web Inspector: Allow the toolbar background to be transparent on mac platforms when remote
208967        https://bugs.webkit.org/show_bug.cgi?id=71437
208968
208969        Reviewed by Yury Semikhatsky.
208970
208971        * inspector/front-end/inspector.css:
208972        (body.detached.platform-mac-snowleopard #toolbar):
208973
2089742011-11-02  Adam Barth  <abarth@webkit.org>
208975
208976        CSP should handle empty URLs as agreed at TPAC
208977        https://bugs.webkit.org/show_bug.cgi?id=71426
208978
208979        Reviewed by Eric Seidel.
208980
208981        It was somewhat unclear how CSP should treat plugins that lacked a URL
208982        because most of the CSP rules are URL-based.  At TPAC, we decided to
208983        treat "empty" URLs as if there were the URL of the document.  That
208984        means you can use plugins with no URL if you've included 'self' in
208985        object-src, but you can also block them by using 'none' as your
208986        object-src.
208987
208988        Tests: http/tests/security/contentSecurityPolicy/object-src-no-url-allowed.html
208989               http/tests/security/contentSecurityPolicy/object-src-no-url-blocked.html
208990               http/tests/security/contentSecurityPolicy/object-src-none-allowed.html
208991               http/tests/security/contentSecurityPolicy/object-src-none-blocked.html
208992
208993        * page/ContentSecurityPolicy.cpp:
208994        (WebCore::CSPDirective::CSPDirective):
208995        (WebCore::CSPDirective::allows):
208996        (WebCore::ContentSecurityPolicy::createCSPDirective):
208997
2089982011-11-02  Adam Barth  <abarth@webkit.org>
208999
209000        Implement allow-popups for iframe@sandbox
209001        https://bugs.webkit.org/show_bug.cgi?id=66505
209002
209003        Reviewed by Eric Seidel.
209004
209005        There's been some discussion in the HTML working group about adding an
209006        allow-popups directive to the iframe sandbox.  Microsoft has added it
209007        to IE10 platform preview and is fairly adamant about this feature
209008        because it's needed by one or their products that's planning to use
209009        iframe sandbox.  Hixie says he'll add it to the spec once we implement
209010        it, so here's our implementation.  (See discussion in the W3C linked in
209011        the bug for more details.)
209012
209013        Tests: http/tests/security/popup-allowed-by-sandbox-is-sandboxed-control.html
209014               http/tests/security/popup-allowed-by-sandbox-is-sandboxed.html
209015               http/tests/security/popup-allowed-by-sandbox-when-allowed.html
209016
209017        * html/HTMLIFrameElement.cpp:
209018        (WebCore::HTMLIFrameElement::parseMappedAttribute):
209019        * loader/FrameLoader.cpp:
209020        (WebCore::FrameLoader::setOpener):
209021        (WebCore::createWindow):
209022        * loader/FrameLoader.h:
209023        (WebCore::FrameLoader::forceSandboxFlags):
209024        * loader/FrameLoaderTypes.h:
209025        * loader/PolicyChecker.cpp:
209026        (WebCore::PolicyChecker::checkNewWindowPolicy):
209027        * page/SecurityOrigin.cpp:
209028        (WebCore::SecurityOrigin::parseSandboxPolicy):
209029        * page/SecurityOrigin.h:
209030        (WebCore::SecurityOrigin::sandboxFlags):
209031        * svg/graphics/SVGImage.cpp:
209032        (WebCore::SVGImage::dataChanged):
209033
2090342011-11-02  Sam Weinig  <sam@webkit.org>
209035
209036        Remove the ability to generate custom lookupGetter/lookupSetter functions,
209037        now that they can not be overridden 
209038
209039        Reviewed by Adam Roben.
209040
209041        * bindings/scripts/CodeGeneratorJS.pm:
209042        (GenerateHeader):
209043
2090442011-11-02  Sam Weinig  <sam@webkit.org>
209045
209046        Fix crashing tests after r99126 (commit for https://bugs.webkit.org/show_bug.cgi?id=71307)
209047
209048        Reviewed by Adam Roben.
209049
209050        * bindings/js/JSDOMWindowShell.cpp:
209051        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
209052        Since we are proxying to the window, we need to pass it as the this object,
209053        not the shell.
209054
2090552011-11-02  Erik Arvidsson  <arv@chromium.org>
209056
209057        Remove LegacyDefaultOptionalArguments flag from storage IDL files
209058        https://bugs.webkit.org/show_bug.cgi?id=65744
209059
209060        Reviewed by Adam Barth.
209061
209062        Test: storage/domstorage/localstorage/missing-arguments.html
209063
209064        * storage/DatabaseCallback.idl:
209065        * storage/IDBRequest.idl:
209066        * storage/IDBTransaction.idl:
209067        * storage/SQLResultSetRowList.idl:
209068        * storage/SQLStatementCallback.idl:
209069        * storage/SQLStatementErrorCallback.idl:
209070        * storage/SQLTransaction.idl:
209071        * storage/SQLTransactionCallback.idl:
209072        * storage/SQLTransactionErrorCallback.idl:
209073        * storage/SQLTransactionSync.idl:
209074        * storage/SQLTransactionSyncCallback.idl:
209075        * storage/Storage.idl:
209076        * storage/StorageInfo.idl:
209077        * storage/StorageInfoErrorCallback.idl:
209078        * storage/StorageInfoQuotaCallback.idl:
209079        * storage/StorageInfoUsageCallback.idl:
209080
2090812011-11-02  Adam Klein  <adamk@chromium.org>
209082
209083        Replace usage of StringImpl with String where possible in CharacterData and Text
209084        https://bugs.webkit.org/show_bug.cgi?id=71383
209085
209086        Reviewed by Darin Adler.
209087
209088        Ryosuke Niwa, in http://webkit.org/b/70862, asked me to replace usages
209089        of String with StringImpl. I've done more than what he asked in this
209090        patch, the biggest change being that CharacterData now holds a String
209091        instead of a RefPtr<StringImpl>.
209092
209093        No new tests, as this should have no effect on behavior.
209094
209095        * dom/CharacterData.cpp:
209096        (WebCore::CharacterData::setData):
209097        (WebCore::CharacterData::substringData):
209098        (WebCore::CharacterData::parserAppendData):
209099        (WebCore::CharacterData::appendData):
209100        (WebCore::CharacterData::insertData):
209101        (WebCore::CharacterData::deleteData):
209102        (WebCore::CharacterData::replaceData):
209103        (WebCore::CharacterData::containsOnlyWhitespace):
209104        (WebCore::CharacterData::setDataAndUpdate):
209105        (WebCore::CharacterData::updateRenderer):
209106        (WebCore::CharacterData::dispatchModifiedEvent):
209107        * dom/CharacterData.h:
209108        (WebCore::CharacterData::length):
209109        (WebCore::CharacterData::dataImpl):
209110        (WebCore::CharacterData::CharacterData):
209111        (WebCore::CharacterData::setDataWithoutUpdate):
209112        * dom/Text.cpp:
209113        (WebCore::Text::splitText):
209114
2091152011-11-02  Mark Hahnenberg  <mhahnenberg@apple.com>
209116
209117        De-virtualize JSObject::getOwnPropertyNames
209118        https://bugs.webkit.org/show_bug.cgi?id=71307
209119
209120        Reviewed by Darin Adler.
209121
209122        No new tests.
209123
209124        Added getOwnPropertyNames to the MethodTable, changed all the virtual 
209125        implementations of getOwnPropertyNames to static ones, and replaced 
209126        all call sites with corresponding lookups in the MethodTable.
209127
209128        * WebCore.exp.in:
209129        * bindings/js/JSDOMStringMapCustom.cpp:
209130        (WebCore::JSDOMStringMap::getOwnPropertyNames):
209131        * bindings/js/JSDOMWindowCustom.cpp:
209132        (WebCore::JSDOMWindow::getOwnPropertyNames):
209133        * bindings/js/JSDOMWindowShell.cpp:
209134        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
209135        * bindings/js/JSDOMWindowShell.h:
209136        * bindings/js/JSHistoryCustom.cpp:
209137        (WebCore::JSHistory::getOwnPropertyNames):
209138        * bindings/js/JSLocationCustom.cpp:
209139        (WebCore::JSLocation::getOwnPropertyNames):
209140        * bindings/js/JSStorageCustom.cpp:
209141        (WebCore::JSStorage::getOwnPropertyNames):
209142        * bindings/js/ScriptValue.cpp:
209143        (WebCore::jsToInspectorValue):
209144        * bindings/js/SerializedScriptValue.cpp:
209145        (WebCore::CloneSerializer::serialize):
209146        * bindings/scripts/CodeGeneratorJS.pm:
209147        (GenerateHeader):
209148        (GenerateImplementation):
209149        * bridge/qt/qt_runtime.cpp:
209150        (JSC::Bindings::QtRuntimeMetaMethod::getOwnPropertyNames):
209151        (JSC::Bindings::QtRuntimeConnectionMethod::getOwnPropertyNames):
209152        * bridge/qt/qt_runtime.h:
209153        * bridge/runtime_array.cpp:
209154        (JSC::RuntimeArray::getOwnPropertyNames):
209155        * bridge/runtime_array.h:
209156        * bridge/runtime_object.cpp:
209157        (JSC::Bindings::RuntimeObject::getOwnPropertyNames):
209158        * bridge/runtime_object.h:
209159
2091602011-11-02  Tony Chang  <tony@chromium.org>
209161
209162        force inline flexitems to be wrapped in anonymous blocks
209163        https://bugs.webkit.org/show_bug.cgi?id=71314
209164
209165        Reviewed by Ojan Vafai.
209166
209167        If there is a mix of inline and block items, all the inline items were already getting wrapped
209168        (see RenderBlock::addChildIgnoringAnonymousColumnBlocks).  However, if there are only inline items,
209169        we need to force them into an anonymous block.
209170
209171        There are still lots of bugs because we're trying to read style values from the anonymous block,
209172        but this at least causes layout to be called on all the render objects.
209173
209174        Tests: css3/flexbox/anonymous-block.html
209175
209176        * rendering/RenderFlexibleBox.cpp:
209177        (WebCore::RenderFlexibleBox::TreeOrderIterator::next):
209178        (WebCore::RenderFlexibleBox::FlexOrderIterator::next):
209179        (WebCore::RenderFlexibleBox::RenderFlexibleBox): force children into blocks
209180
2091812011-11-02  Dean Jackson  <dino@apple.com>
209182
209183        Add ENABLE_CSS_SHADERS flag
209184        https://bugs.webkit.org/show_bug.cgi?id=71394
209185
209186        Reviewed by Sam Weinig.
209187
209188        * Configurations/FeatureDefines.xcconfig:
209189
2091902011-11-02  Emil A Eklund  <eae@chromium.org>
209191
209192        Switch RenderText to new layout types
209193        https://bugs.webkit.org/show_bug.cgi?id=71389
209194
209195        Reviewed by Eric Seidel.
209196
209197        Switch RenderText methods (and overriden methods in related classes) to
209198        LayoutRect/LayoutUnit.
209199
209200        No new tests.
209201
209202        * rendering/RenderText.cpp:
209203        (WebCore::RenderText::absoluteRectsForRange):
209204        (WebCore::RenderText::linesBoundingBox):
209205        (WebCore::RenderText::linesVisualOverflowBoundingBox):
209206        * rendering/RenderText.h:
209207        Change RenderText to expose its bounding box, selection and caret rects
209208        as LayoutRects.
209209        
209210        * rendering/svg/RenderSVGInlineText.cpp:
209211        (WebCore::RenderSVGInlineText::localCaretRect):
209212        * rendering/svg/RenderSVGInlineText.h:
209213        Change localCaretRect to return a LayoutRect.
209214
2092152011-11-02  Levi Weintraub  <leviw@chromium.org>
209216
209217        Infinite recursion in RenderSVGResourceContainer::markAllClientsForInvalidation
209218        https://bugs.webkit.org/show_bug.cgi?id=71384
209219
209220        Reviewed by Darin Adler.
209221
209222        Adding a reentrancy guard to RenderSVGResourceContainer to prevent infinite recursion when
209223        resources reference one another and share ids.
209224
209225        Test: svg/custom/resource-invalidation-crash.svg
209226
209227        * rendering/svg/RenderSVGResourceContainer.cpp:
209228        (WebCore::RenderSVGResourceContainer::RenderSVGResourceContainer):
209229        (WebCore::RenderSVGResourceContainer::markAllClientsForInvalidation):
209230        * rendering/svg/RenderSVGResourceContainer.h:
209231
2092322011-11-02  Jon Lee  <jonlee@apple.com>
209233
209234        Expand DragController to provide more information about the dragging session
209235        https://bugs.webkit.org/show_bug.cgi?id=71324
209236        <rdar://problem/10379175>
209237
209238        Reviewed by Darin Adler.
209239
209240        * WebCore.xcodeproj/project.pbxproj:
209241        * page/DragController.cpp:
209242        (WebCore::DragController::dragEntered):
209243        (WebCore::DragController::dragUpdated):
209244        (WebCore::DragController::dragEnteredOrUpdated):
209245        (WebCore::DragController::tryDocumentDrag): In addition to determining the
209246        drag operation, DragSession is updated with data regarding whether the mouse
209247        is over a file input, and the number of items that would be accepted based on
209248        the mouse's location.
209249        * page/DragController.h:
209250        * page/DragSession.h: Added.
209251        (WebCore::DragSession::DragSession): Keep track of current operation, whether
209252        the mouse is over a file input element, and how many files would be accepted if
209253        dropped.
209254        * platform/DragData.h: Added numberOfFiles()
209255        * platform/chromium/DragDataChromium.cpp:
209256        (WebCore::DragData::numberOfFiles):
209257        * platform/efl/DragDataEfl.cpp:
209258        (WebCore::DragData::numberOfFiles):
209259        * platform/gtk/DragDataGtk.cpp:
209260        (WebCore::DragData::numberOfFiles):
209261        * platform/mac/DragDataMac.mm:
209262        (WebCore::DragData::numberOfFiles):
209263        * platform/qt/DragDataQt.cpp:
209264        (WebCore::DragData::numberOfFiles):
209265        * platform/win/DragDataWin.cpp:
209266        (WebCore::DragData::numberOfFiles):
209267        * platform/wince/DragDataWinCE.cpp:
209268        (WebCore::DragData::numberOfFiles):
209269        * platform/wx/DragDataWx.cpp:
209270        (WebCore::DragData::numberOfFiles):
209271
2092722011-11-02  Alexey Proskuryakov  <ap@apple.com>
209273
209274        Emedded PDFs cannot be opened from Web archives
209275        https://bugs.webkit.org/show_bug.cgi?id=70954
209276
209277        Reviewed by Oliver Hunt.
209278
209279        BuiltInPDFPlugin doesn't have access to original ResourceResponse and has to re-create it
209280        It doesn't seem to be possible to create an NSURLResponse with a non-null HTTP status code,
209281        and NetscapePlugInStreamLoader becomes unhappy.
209282
209283        * loader/NetscapePlugInStreamLoader.cpp: (WebCore::NetscapePlugInStreamLoader::didReceiveResponse):
209284        Allow 0 status code, it's not a real error to have one in response.
209285
2092862011-10-31  Nat Duca  <nduca@chromium.org>
209287
209288        [chromium] Slow down commit and draw rate based on visibility and draw completion
209289        https://bugs.webkit.org/show_bug.cgi?id=71267
209290
209291        Reviewed by James Robinson.
209292
209293        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
209294        (WebCore::CCLayerTreeHost::visible):
209295        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
209296        (WebCore::CCLayerTreeHostImpl::visible):
209297        * platform/graphics/chromium/cc/CCScheduler.cpp:
209298        (WebCore::CCScheduler::beginFrame):
209299        (WebCore::CCScheduler::processScheduledActions):
209300        * platform/graphics/chromium/cc/CCScheduler.h:
209301        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
209302        (WebCore::CCSchedulerStateMachine::nextAction):
209303        (WebCore::CCSchedulerStateMachine::updateState):
209304        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
209305        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
209306        (WebCore::CCThreadProxy::visible):
209307        * platform/graphics/chromium/cc/CCThreadProxy.h:
209308
2093092011-11-02  Dan Bernstein  <mitz@apple.com>
209310
209311        <rdar://problem/10336700> Add API to get rendered text image without having to select it
209312        https://bugs.webkit.org/show_bug.cgi?id=71407
209313
209314        Reviewed by Simon Fraser.
209315
209316        Test: TestWebKitAPI/Tests/mac/RenderedImageFromDOMRange.mm
209317
209318        * bindings/objc/DOM.mm:
209319        (-[DOMRange renderedImageForcingBlackText:]): Added.
209320        * bindings/objc/DOMPrivate.h:
209321        * page/Frame.h:
209322        * page/mac/FrameMac.mm:
209323        (WebCore::Frame::rangeImage): Added. Sets the selection in the RenderView (only) based on the
209324        given range and gets a selection-only rendering of the view, then restores the selection.
209325        * rendering/RenderView.cpp:
209326        (WebCore::RenderView::setSelection): Skip all invalidation if the repaint behavior is RepaintNothing.
209327        (WebCore::RenderView::getSelection): Added this getter.
209328        * rendering/RenderView.h:
209329
2093302011-11-02  Tom Sepez  <tsepez@chromium.org>
209331
209332        XSSAuditor is silent
209333        https://bugs.webkit.org/show_bug.cgi?id=70973
209334
209335        Reviewed by Adam Barth.
209336
209337        Test: http/tests/security/xssAuditor/script-tag-with-callbacks.html
209338
209339        * html/parser/XSSAuditor.cpp:
209340        (WebCore::XSSAuditor::XSSAuditor):
209341        (WebCore::XSSAuditor::filterToken):
209342        * html/parser/XSSAuditor.h:
209343        * loader/EmptyClients.h:
209344        (WebCore::EmptyFrameLoaderClient::didDetectXSS):
209345        * loader/FrameLoaderClient.h:
209346
2093472011-11-02  Simon Fraser  <simon.fraser@apple.com>
209348
209349        Assertion in FontCache::getCachedFontData() when painting into composited layer
209350        https://bugs.webkit.org/show_bug.cgi?id=71377
209351
209352        Reviewed by Anders Carlsson.
209353
209354        Add one of the mysterious FontCachePurgePreventers on the stack when painting
209355        compositing layers, just as FrameView::paintContents does, to fix an assertion
209356        seen on the bots with some layout tests.
209357
209358        * rendering/RenderLayerBacking.cpp:
209359        (WebCore::RenderLayerBacking::paintIntoLayer):
209360
2093612011-11-02  Tommy Widenflycht  <tommyw@google.com>
209362
209363        MediaStreamRegistry should hold references to MediaStreamDescriptor rather than MediaStream
209364        https://bugs.webkit.org/show_bug.cgi?id=70896
209365
209366        Reviewed by Adam Barth.
209367
209368        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
209369
209370        * mediastream/MediaStreamRegistry.cpp:
209371        (WebCore::MediaStreamRegistry::registerMediaStreamURL):
209372        (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
209373        (WebCore::MediaStreamRegistry::lookupMediaStreamDescriptor):
209374        * mediastream/MediaStreamRegistry.h:
209375
2093762011-11-02  Zoltan Herczeg  <zherczeg@webkit.org>
209377
209378        Match allowed CSS string characters to Firefox and Opera browsers
209379        https://bugs.webkit.org/show_bug.cgi?id=71000
209380
209381        Reviewed by Darin Adler.
209382
209383        Firefox and Opera accepts any character inside a string except
209384        newline and starting quote character. This behaviour matches to
209385        the CSS 2.1 grammar: http://www.w3.org/TR/CSS2/grammar.html
209386        WebKit should follow them.
209387
209388        Test: fast/css/parsing-css-allowed-string-characters.html
209389
209390        * css/tokenizer.flex:
209391
2093922011-11-02  Devdatta Deshpande  <pwjd73@motorola.com>
209393
209394        Assert in MoveSelectionCommand::doApply
209395        https://bugs.webkit.org/show_bug.cgi?id=70277
209396
209397        Reviewed by Ryosuke Niwa.
209398
209399        A MoveSelectionCommand should be fired only if the selection type is
209400        RangeSelection, since nothing is selected in other cases.
209401
209402        Test: fast/events/drag-link.html
209403
209404        * page/DragController.cpp:
209405        (WebCore::DragController::dragIsMove):
209406
2094072011-11-02  Jon Lee  <jonlee@apple.com>
209408
209409        <input=file multiple> default text uses singular instead of plural
209410        https://bugs.webkit.org/show_bug.cgi?id=71319
209411        <rdar://problem/10379021>
209412
209413        Reviewed by Darin Adler.
209414
209415        Added a new method to return the label text for a file upload control that
209416        allows multiple files. Needed to extend the RenderTheme function to pass down
209417        a boolean representing whether multiple files are allowed in the file list.
209418
209419        * English.lproj/Localizable.strings:
209420        * html/FileInputType.cpp:
209421        (WebCore::FileInputType::defaultToolTip):
209422        * platform/DefaultLocalizationStrategy.cpp:
209423        (WebCore::DefaultLocalizationStrategy::fileButtonNoFilesSelectedLabel):
209424        * platform/DefaultLocalizationStrategy.h:
209425        * platform/LocalizationStrategy.h:
209426        * platform/LocalizedStrings.cpp:
209427        (WebCore::fileButtonNoFilesSelectedLabel):
209428        * platform/LocalizedStrings.h:
209429        * platform/efl/LocalizedStringsEfl.cpp:
209430        (WebCore::fileButtonNoFilesSelectedLabel):
209431        * platform/gtk/LocalizedStringsGtk.cpp:
209432        (WebCore::fileButtonNoFilesSelectedLabel):
209433        * platform/gtk/RenderThemeGtk.cpp:
209434        (WebCore::RenderThemeGtk::fileListNameForWidth):
209435        * platform/gtk/RenderThemeGtk.h:
209436        * platform/qt/RenderThemeQt.cpp:
209437        (WebCore::RenderThemeQt::fileListNameForWidth):
209438        * platform/qt/RenderThemeQt.h:
209439        * platform/wx/LocalizedStringsWx.cpp:
209440        (WebCore::fileButtonNoFilesSelectedLabel):
209441        * rendering/RenderFileUploadControl.cpp:
209442        (WebCore::RenderFileUploadControl::fileTextValue):
209443        * rendering/RenderTheme.cpp:
209444        (WebCore::RenderTheme::fileListNameForWidth):
209445        * rendering/RenderTheme.h:
209446        * rendering/RenderThemeMac.h:
209447        * rendering/RenderThemeMac.mm:
209448        (WebCore::RenderThemeMac::fileListNameForWidth):
209449
2094502011-11-02  Andras Becsi  <andras.becsi@nokia.com>
209451
209452        [Qt] Fix the build with NO_LISTBOX_RENDERING
209453
209454        Unreviewed build fix after r99035.
209455
209456        Patch by Michael Bruning <michael.bruning@nokia.com>
209457
209458        No new tests needed.
209459
209460        * html/HTMLSelectElement.cpp:
209461        (WebCore::HTMLSelectElement::listBoxSelectItem):
209462
2094632011-10-28  Ryosuke Niwa  <rniwa@webkit.org>
209464
209465        div { display: none; } makes pasting into text fields impossible
209466        https://bugs.webkit.org/show_bug.cgi?id=27683
209467
209468        Reviewed by Enrica Casucci.
209469
209470        The bug was caused by insertFragmentForTestRendering's always inserting a node for test rendering
209471        into document's body.
209472
209473        Fixed the bug by inserting the node for test rendering into the root editable element. In addition,
209474        remove the node before dispatching beforeTextInserted event to avoid event listeners, in particular
209475        TextFieldInputType::handleBeforeTextInsertedEvent, from seeing the test node.
209476
209477        Test: editing/pasteboard/input-with-display-none-div.html
209478
209479        * editing/ReplaceSelectionCommand.cpp:
209480        (WebCore::ReplacementFragment::ReplacementFragment):
209481        (WebCore::ReplacementFragment::insertFragmentForTestRendering):
209482        (WebCore::ReplacementFragment::restoreAndRemoveTestRenderingNodesToFragment):
209483
2094842011-11-02  Ryosuke Niwa  <rniwa@webkit.org>
209485
209486        REGRESSION(r96870): WebKit generates background: transparent on blogger.com
209487        https://bugs.webkit.org/show_bug.cgi?id=71203
209488
209489        Reviewed by Ojan Vafai.
209490
209491        Remove the transparent background color from inline style declarations in the pasted content.
209492        Also fixed a bug in removeStyleFromRulesAndContext that it removes properties in inline style
209493        declarations even if those properties were overridden.
209494
209495        Tests: editing/deleting/merge-paragraphs-with-transparent-background.html
209496               editing/deleting/paste-with-transparent-background-color.html
209497
209498        * editing/EditingStyle.cpp:
209499        (WebCore::removePropertiesInStyle):
209500        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
209501        (WebCore::EditingStyle::removePropertiesInElementDefaultStyle):
209502
2095032011-11-02  Andreas Kling  <kling@webkit.org>
209504
209505        CSSStyleRule: Devirtualize selectorText()
209506        https://bugs.webkit.org/show_bug.cgi?id=71364
209507
209508        Reviewed by Antti Koivisto.
209509
209510        Have CSSStyleRule::selectorText() redirect to CSSPageRule::pageSelectorText()
209511        if type() is PAGE_RULE.
209512
209513        * css/CSSPageRule.cpp:
209514        (WebCore::CSSPageRule::pageSelectorText):
209515        * css/CSSPageRule.h:
209516        * css/CSSStyleRule.cpp:
209517        (WebCore::CSSStyleRule::selectorText):
209518        * css/CSSStyleRule.h:
209519
2095202011-11-02  Andreas Kling  <kling@webkit.org>
209521
209522        CSSRule: Devirtualize cssText()
209523        https://bugs.webkit.org/show_bug.cgi?id=71292
209524
209525        Reviewed by Antti Koivisto.
209526
209527        Have CSSRule::cssText() redirect to the appropriate subclass based on type().
209528        This is one of the last steps of devirtualizing CSSRule completely, which will
209529        allow us to get rid of its vtable, and each instance's pointer thereto.
209530
209531        * css/CSSCharsetRule.h:
209532        * css/CSSFontFaceRule.h:
209533        * css/CSSImportRule.h:
209534        * css/CSSMediaRule.h:
209535        * css/CSSRegionStyleRule.h:
209536        * css/CSSRule.cpp:
209537        (WebCore::CSSRule::cssText):
209538        * css/CSSRule.h:
209539        * css/CSSStyleRule.h:
209540        * css/WebKitCSSKeyframeRule.h:
209541        * css/WebKitCSSKeyframesRule.h:
209542
2095432011-11-02  Patrick Gansterer  <paroga@webkit.org>
209544
209545        Unreviewed build fix for !ENABLE(FILTERS) after r98989.
209546
209547        * rendering/svg/SVGResourcesCache.cpp:
209548        (WebCore::SVGResourcesCache::clientLayoutChanged):
209549
2095502011-11-02  Alexander Pavlov  <apavlov@chromium.org>
209551
209552        Web Inspector: [REGRESSION] Clicking in a CSS property/value being edited commits the editor
209553        https://bugs.webkit.org/show_bug.cgi?id=71360
209554
209555        Reviewed by Pavel Feldman.
209556
209557        Selecting a selected TreeElement should be an idempotent operation.
209558
209559        * inspector/front-end/treeoutline.js:
209560        (TreeElement.prototype.select):
209561
2095622011-11-02  Ben Wells  <benwells@chromium.org>
209563
209564        Canvas filling paths or rects need to be invalidate larger rects for some compositing modes.
209565        https://bugs.webkit.org/show_bug.cgi?id=70379
209566
209567        Reviewed by James Robinson.
209568
209569        Test: fast/canvas/canvas-composite-fill-repaint.html
209570
209571        * html/canvas/CanvasRenderingContext2D.cpp:
209572        (WebCore::CanvasRenderingContext2D::fill):
209573        (WebCore::CanvasRenderingContext2D::fillRect):
209574        (WebCore::CanvasRenderingContext2D::drawImage):
209575        (WebCore::CanvasRenderingContext2D::didDrawEntireCanvas):
209576        * html/canvas/CanvasRenderingContext2D.h:
209577
2095782011-11-01  Levi Weintraub  <leviw@chromium.org>
209579
209580        Fix uses of LayoutUnit in Frame-, Scroll-, and RenderView
209581        https://bugs.webkit.org/show_bug.cgi?id=71321
209582
209583        Reviewed by Darin Adler.
209584
209585        Updating the usage of LayoutUnits in the *View classes to mirror the proper use
209586        as derived in the subpixellayout branch.
209587
209588        This entails scrolling only with integers (and rounding once we've made the switch)
209589        and using integers for window coordinates, with LayoutUnits for content coordinates.
209590
209591        No new tests -- no change in behavior.
209592
209593        * page/FrameView.cpp:
209594        (WebCore::FrameView::invalidateRect):
209595        (WebCore::FrameView::setFrameRect):
209596        (WebCore::FrameView::zoomAnimatorTransformChanged):
209597        (WebCore::FrameView::scrollContentsFastPath):
209598        (WebCore::FrameView::scrollContentsSlowPath):
209599        (WebCore::FrameView::scrollElementToRect):
209600        (WebCore::FrameView::setScrollPosition):
209601        (WebCore::FrameView::repaintContentRectangle):
209602        (WebCore::FrameView::scrollTo):
209603        (WebCore::FrameView::updateScrollCorner):
209604        * page/FrameView.h:
209605        (WebCore::FrameView::trackedRepaintRects):
209606        * platform/ScrollView.cpp:
209607        (WebCore::ScrollView::visibleContentRect):
209608        (WebCore::ScrollView::layoutWidth):
209609        (WebCore::ScrollView::layoutHeight):
209610        (WebCore::ScrollView::fixedLayoutSize):
209611        (WebCore::ScrollView::setFixedLayoutSize):
209612        (WebCore::ScrollView::contentsSize):
209613        (WebCore::ScrollView::setContentsSize):
209614        (WebCore::ScrollView::overhangAmount):
209615        (WebCore::ScrollView::updateScrollbars):
209616        (WebCore::ScrollView::rectToCopyOnScroll):
209617        (WebCore::ScrollView::scrollContents):
209618        (WebCore::ScrollView::windowToContents):
209619        (WebCore::ScrollView::screenToContents):
209620        (WebCore::ScrollView::scrollbarAtPoint):
209621        (WebCore::ScrollView::wheelEvent):
209622        * platform/ScrollView.h:
209623        (WebCore::ScrollView::visibleWidth):
209624        (WebCore::ScrollView::visibleHeight):
209625        (WebCore::ScrollView::contentsWidth):
209626        (WebCore::ScrollView::contentsHeight):
209627        (WebCore::ScrollView::adjustScrollPositionWithinRange):
209628        * rendering/RenderView.cpp:
209629        (WebCore::RenderView::paint):
209630        (WebCore::RenderView::shouldRepaint):
209631        (WebCore::RenderView::repaintViewRectangle):
209632        (WebCore::RenderView::repaintRectangleInViewAndCompositedLayers):
209633        (WebCore::RenderView::computeRectForRepaint):
209634        (WebCore::RenderView::selectionBounds):
209635        (WebCore::RenderView::viewRect):
209636        (WebCore::RenderView::unscaledDocumentRect):
209637        (WebCore::RenderView::documentRect):
209638        * rendering/RenderView.h:
209639        (WebCore::RenderView::printRect):
209640        (WebCore::RenderView::setPrintRect):
209641
2096422011-11-01  Anna Cavender  <annacc@chromium.org>
209643
209644        Small fixes for WebVTTParser.
209645        https://bugs.webkit.org/show_bug.cgi?id=71334
209646
209647        Reviewed by Darin Adler.
209648
209649        No new tests.  This is needed to enable other tests, coming soon.
209650
209651        * html/track/WebVTTParser.cpp:
209652        (WebCore::hasLongWebVTTIdentifier): changed to return true when header is
209653            exactly "WEBVTT"
209654        (WebCore::WebVTTParser::collectTimingsAndSettings): fix typos, position should
209655            only progress once when checking the character after a timestamp.
209656
2096572011-11-01  Darin Adler  <darin@apple.com>
209658
209659        Change HTMLSelectElement::setSelectedIndex to use enums instead of bools
209660        https://bugs.webkit.org/show_bug.cgi?id=70184
209661
209662        Reviewed by Kent Tamura.
209663
209664        Refactoring that does not require new tests.
209665
209666        * bindings/objc/DOMHTML.mm:
209667        (-[DOMHTMLSelectElement _activateItemAtIndex:]): Replaced setSelectedIndexByUser
209668        call with a call to the renamed optionSelectedByUser, also removed one argument.
209669        (-[DOMHTMLSelectElement _activateItemAtIndex:allowMultipleSelection:]): Ditto.
209670
209671        * html/HTMLOptionElement.cpp:
209672        (WebCore::HTMLOptionElement::setSelected): Replaced setSelectedIndex call with a
209673        call to the new optionSelectionStateChanged function.
209674        (WebCore::HTMLOptionElement::insertedIntoTree): Ditto.
209675
209676        * html/HTMLSelectElement.cpp:
209677        (WebCore::HTMLSelectElement::HTMLSelectElement): Updated since m_userDrivenChange
209678        was renamed to m_isProcessingUserDrivenChange.
209679        (WebCore::HTMLSelectElement::optionSelectedByUser): Removed deselect argument,
209680        which was always true for all callers. Updated comment.
209681        (WebCore::HTMLSelectElement::hasPlaceholderLabelOption): Updated comment.
209682        (WebCore::HTMLSelectElement::setOption): Call the new optionSelectionStateChanged
209683        function. The code used to explicitly ask the function it calls to deselect base
209684        on the value of m_multiple, but that is no longer needed because the selectOption
209685        function itself takes care of that check.
209686        (WebCore::HTMLSelectElement::dispatchChangeEventForMenuList): Renamed this function.
209687        Also updated for name change to m_isProcessingUserDrivenChange.
209688        (WebCore::HTMLSelectElement::setSelectedIndex): Moved the formerly-inlined function
209689        here from the header and changed it to call the renamed selectOption function.
209690        (WebCore::HTMLSelectElement::optionSelectionStateChanged): Added this function.
209691        It is used by callers that were previously using setSelectedIndex and passing
209692        "false" for the deselect argument. It's better now that setSelectedIndex is now a
209693        pure DOM setter function without the multiple purposes it had before. This function
209694        now has the logic that handles the special handling when deselecting an option,
209695        which used to be at the top of the next function.
209696        (WebCore::HTMLSelectElement::selectOption): Renamed this from setSelectedIndex.
209697        Replaced boolean arguments with flags. Removed code to handle the special case
209698        when we deselect an option; that's now handled in the optionSelectionStateChanged
209699        function. Added an assertion to replace a comment and updated for other renaming.
209700        (WebCore::HTMLSelectElement::dispatchBlurEvent): Updated for name change.
209701        (WebCore::HTMLSelectElement::platformHandleKeydownEvent): Ditto.
209702        (WebCore::HTMLSelectElement::menuListDefaultEventHandler): Changed to call the
209703        new selectOption function and also updated for other name changes.
209704        (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
209705        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
209706
209707        * html/HTMLSelectElement.h: Changed the setSelectedIndex to be a pure setter
209708        function for the selectedIndex DOM property. Added a optionSelectedByUser function
209709        for the other use of setSelectedIndex, but removed the always true "deselect"
209710        argument from it. Added a optionSelectionStateChanged function for use in the
209711        HTMLOptionElement implementation. Renamed menuListOnChange to
209712        dispatchChangeEventForMenuList for clarity. Added a SelectOptionFlag and
209713        SelectOptionFlags type for the arguments to the selectOption function, formerly
209714        implemented as an overload of setSelectedIndex (and called setSelectedIndexInternal
209715        before that). Renamed m_userDrivenChange to m_isProcessingUserDrivenChange.
209716
209717        * rendering/RenderMenuList.cpp:
209718        (WebCore::RenderMenuList::valueChanged): Replaced setSelectedIndexByUser
209719        call with a call to the renamed optionSelectedByUser, also removed one argument.
209720
2097212011-11-01  Sam Weinig  <sam@webkit.org>
209722
209723        Implement __lookupGetter__/__lookupSetter__ in terms of getPropertyDescriptor
209724        https://bugs.webkit.org/show_bug.cgi?id=71336
209725
209726        Reviewed by Darin Adler.
209727
209728        * bindings/js/JSDOMWindowCustom.cpp:
209729        * bindings/js/JSDOMWindowShell.cpp:
209730        * bindings/js/JSDOMWindowShell.h:
209731        * page/DOMWindow.idl:
209732        Remove overrides of lookupGetter/lookupSetter, which are no longer needed
209733        due to implementing getPropertyDescriptor.
209734
209735
2097362011-11-01  Nat Duca  <nduca@chromium.org>
209737
209738        [chromium] Move resource-releasing logic into CCProxy and cleanup setNeedsCommit
209739        https://bugs.webkit.org/show_bug.cgi?id=71269
209740
209741        Reviewed by James Robinson.
209742
209743        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
209744        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
209745        (WebCore::CCLayerTreeHost::setZoomAnimatorTransform):
209746        (WebCore::CCLayerTreeHost::setNeedsCommit):
209747        (WebCore::CCLayerTreeHost::setViewport):
209748        (WebCore::CCLayerTreeHost::setVisible):
209749        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
209750        * platform/graphics/chromium/cc/CCProxy.h:
209751        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
209752        (WebCore::CCSingleThreadProxy::doCommit):
209753        (WebCore::CCSingleThreadProxy::setNeedsRedraw):
209754        (WebCore::CCSingleThreadProxy::setVisible):
209755        (WebCore::CCSingleThreadProxy::recreateContextIfNeeded):
209756        (WebCore::CCSingleThreadProxy::doComposite):
209757        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
209758        (WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
209759        (WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
209760        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
209761        (WebCore::CCThreadProxy::setNeedsCommit):
209762        (WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
209763        (WebCore::CCThreadProxy::setVisible):
209764        * platform/graphics/chromium/cc/CCThreadProxy.h:
209765
2097662011-11-01  Anna Cavender  <annacc@chromium.org>
209767
209768        Makes [Reflect] work for constants.
209769        This is needed to avoid platform-specific define conflicts, specifically
209770        TextTrack::ERROR conflicts with a windows define.
209771        https://bugs.webkit.org/show_bug.cgi?id=70951
209772
209773        Reviewed by Darin Adler.
209774
209775        Test: media/track/track-constants.html
209776
209777        * bindings/scripts/CodeGenerator.pm:
209778        (GenerateCompileTimeCheckForEnumsIfNeeded):
209779            Check for [Reflect] and assign name accordingly.
209780
209781        * bindings/scripts/test/CPP/WebDOMTestObj.h:  Update test file.
209782        * bindings/scripts/test/JS/JSTestObj.cpp:  Update test file.
209783        (WebCore::jsTestObjCONST_JAVASCRIPT):
209784        * bindings/scripts/test/JS/JSTestObj.h:  Update test file.
209785        * bindings/scripts/test/ObjC/DOMTestObj.h:  Update test file.
209786        * bindings/scripts/test/TestObj.idl:  Update test file.
209787        * bindings/scripts/test/V8/V8TestObj.cpp:  Update test file.
209788
209789        * html/LoadableTextTrack.cpp: Use new DOM const name.
209790        (WebCore::LoadableTextTrack::cueLoadingStarted):
209791        (WebCore::LoadableTextTrack::cueLoadingCompleted):
209792        * html/TextTrack.cpp:  Use new DOM const name.
209793        (WebCore::TextTrack::TextTrack):
209794        (WebCore::TextTrack::setMode):
209795        * html/TextTrack.h:  Use new DOM const name.
209796        * html/TextTrack.idl:  Use Reflect for ERROR, but leave other DOM const names.
209797
2097982011-11-01  Levi Weintraub  <leviw@chromium.org>
209799
209800        Amend missing uses of LayoutUnit in RenderBlock
209801        https://bugs.webkit.org/show_bug.cgi?id=71254
209802
209803        Reviewed by Darin Adler.
209804
209805        Switching relevant uses of integers in RenderBlock to LayoutUnits.
209806
209807        No new tests -- no changes in behavior.
209808
209809        * rendering/RenderBlock.cpp:
209810        (WebCore::RenderBlock::MarginInfo::MarginInfo):
209811        (WebCore::RenderBlock::layoutBlock):
209812        (WebCore::RenderBlock::adjustFloatingBlock):
209813        (WebCore::RenderBlock::clearFloatsIfNeeded):
209814        (WebCore::RenderBlock::layoutBlockChild):
209815        (WebCore::RenderBlock::paintColumnRules):
209816        (WebCore::RenderBlock::paintContents):
209817        (WebCore::clipOutPositionedObjects):
209818        (WebCore::RenderBlock::removeFloatingObject):
209819        (WebCore::RenderBlock::nextFloatLogicalBottomBelow):
209820        (WebCore::RenderBlock::getClearDelta):
209821        (WebCore::positionForPointRespectingEditingBoundaries):
209822        (WebCore::RenderBlock::calcColumnWidth):
209823        (WebCore::RenderBlock::layoutColumns):
209824        (WebCore::RenderBlock::adjustRectForColumns):
209825        (WebCore::RenderBlock::computeInlinePreferredLogicalWidths):
209826        (WebCore::RenderBlock::baselinePosition):
209827        (WebCore::getHeightForLineCount):
209828        (WebCore::RenderBlock::setPaginationStrut):
209829        (WebCore::RenderBlock::applyBeforeBreak):
209830        (WebCore::RenderBlock::applyAfterBreak):
209831        (WebCore::RenderBlock::adjustForUnsplittableChild):
209832        * rendering/RenderBlock.h:
209833        (WebCore::RenderBlock::availableLogicalWidthForLine):
209834        (WebCore::RenderBlock::paginationStrut):
209835        (WebCore::RenderBlock::availableLogicalWidthForContent):
209836        (WebCore::RenderBlock::FloatWithRect::FloatWithRect):
209837        (WebCore::RenderBlock::MarginInfo::setPositiveMargin):
209838        (WebCore::RenderBlock::MarginInfo::setNegativeMargin):
209839        (WebCore::RenderBlock::MarginInfo::setPositiveMarginIfLarger):
209840        (WebCore::RenderBlock::MarginInfo::setNegativeMarginIfLarger):
209841        (WebCore::RenderBlock::MarginInfo::setMargin):
209842        (WebCore::RenderBlock::FloatIntervalSearchAdapter::FloatIntervalSearchAdapter):
209843        (WebCore::RenderBlock::FloatIntervalSearchAdapter::lowValue):
209844        (WebCore::RenderBlock::FloatIntervalSearchAdapter::highValue):
209845        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginBeforeDefault):
209846        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginBeforeDefault):
209847        (WebCore::RenderBlock::RenderBlockRareData::positiveMarginAfterDefault):
209848        (WebCore::RenderBlock::RenderBlockRareData::negativeMarginAfterDefault):
209849
2098502011-11-01  Luke Macpherson   <macpherson@chromium.org>
209851
209852        WIP: Add CSS property to control printing of backgrounds for individual elements.
209853        https://bugs.webkit.org/show_bug.cgi?id=64583
209854
209855        Reviewed by Eric Seidel.
209856
209857        Added test LayoutTests/fast/css/webkit-color-adjust.html,
209858        Updated tests under LayoutTests/fast/css/getComputedStyle
209859        Updated test under LayoutTests/svg/css
209860
209861        * css/CSSComputedStyleDeclaration.cpp:
209862        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
209863        * css/CSSParser.cpp:
209864        (WebCore::CSSParser::parseValue):
209865        * css/CSSPropertyNames.in:
209866        * css/CSSStyleSelector.cpp:
209867        (WebCore::CSSStyleSelector::styleForDocument):
209868        (WebCore::CSSStyleSelector::applyProperty):
209869        * rendering/RenderBoxModelObject.cpp:
209870        (WebCore::RenderBoxModelObject::paintFillLayerExtended):
209871        * rendering/style/RenderStyle.h:
209872        (WebCore::InheritedFlags::initialForceBackgroundsToWhite):
209873
2098742011-11-01  Dominic Cooney  <dominicc@chromium.org>
209875
209876        Remove initErrorEvent method
209877        https://bugs.webkit.org/show_bug.cgi?id=71338
209878
209879        Reviewed by Ojan Vafai.
209880
209881        * dom/ErrorEvent.cpp: Crush.
209882        * dom/ErrorEvent.h: Kill.
209883        * dom/ErrorEvent.idl: Destroy.
209884
2098852011-11-01  Julien Chaffraix  <jchaffraix@webkit.org>
209886
209887        Pack RenderTableCell bits
209888        https://bugs.webkit.org/show_bug.cgi?id=71135
209889
209890        Reviewed by Darin Adler.
209891
209892        Tested by RenderTableCellTest unit test.
209893        (unfortunately Chromium specific...)
209894
209895        This saves another 8 bytes on RenderTableCell on x86-64.
209896
209897        * rendering/RenderTableCell.cpp:
209898        (WebCore::RenderTableCell::RenderTableCell):
209899        * rendering/RenderTableCell.h:
209900        Changed the field order to use more strict packing.
209901
209902        (WebCore::RenderTableCell::setCol):
209903        (WebCore::RenderTableCell::setRow):
209904        Added overflow checks to the 2 previous methods. We
209905        CRASH even in release to avoid potential badness
209906        (the limit is currently above 2 billions rows or columns
209907        which is high enough to prevent it being hit by accident)
209908
2099092011-11-01  Emil A Eklund  <eae@chromium.org>
209910
209911        Switch background/border image back to Int
209912        https://bugs.webkit.org/show_bug.cgi?id=71240
209913
209914        Reviewed by Darin Adler.
209915
209916        Switch background- and border-image rendering back to int to align with
209917        device pixels.
209918
209919        No new tests.
209920
209921        * rendering/RenderBoxModelObject.cpp:
209922        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions):
209923        (WebCore::RenderBoxModelObject::calculateFillTileSize):
209924        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::useFixedAttachment):
209925        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::clip):
209926        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::relativePhase):
209927        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
209928        (WebCore::RenderBoxModelObject::paintNinePieceImage):
209929        (WebCore::calculateAdjustedInnerBorder):
209930        * rendering/RenderBoxModelObject.h:
209931        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destOrigin):
209932        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestOrigin):
209933        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::destRect):
209934        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setDestRect):
209935        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::phase):
209936        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setPhase):
209937        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::tileSize):
209938        (WebCore::RenderBoxModelObject::BackgroundImageGeometry::setTileSize):
209939
2099402011-11-01  Mark Hahnenberg  <mhahnenberg@apple.com>
209941
209942        De-virtualize JSObject::defineSetter
209943        https://bugs.webkit.org/show_bug.cgi?id=71303
209944
209945        Reviewed by Darin Adler.
209946
209947        No new tests.
209948
209949        Added defineSetter to the MethodTable, changed all the virtual 
209950        implementations of defineSetter to static ones, and replaced 
209951        all call sites with corresponding lookups in the MethodTable.
209952
209953        * bindings/js/JSDOMWindowCustom.cpp:
209954        (WebCore::JSDOMWindow::defineSetter):
209955        * bindings/js/JSDOMWindowShell.cpp:
209956        (WebCore::JSDOMWindowShell::defineSetter):
209957        * bindings/js/JSDOMWindowShell.h:
209958        * bindings/scripts/CodeGeneratorJS.pm:
209959        (GenerateHeader):
209960
2099612011-11-01  Emil A Eklund  <eae@chromium.org>
209962
209963        Switch PopupMenuClient to layout abstraction
209964        https://bugs.webkit.org/show_bug.cgi?id=71308
209965
209966        Reviewed by Darin Adler.
209967
209968        Switch PopupMenuClient and rendering classes implementing it to layout
209969        type abstraction.
209970
209971        No new tests.
209972
209973        * platform/PopupMenuClient.h:
209974        * rendering/RenderListBox.cpp:
209975        (WebCore::RenderListBox::listIndexAtOffset):
209976        (WebCore::RenderListBox::panScroll):
209977        (WebCore::RenderListBox::scrollToward):
209978        (WebCore::RenderListBox::scrollSize):
209979        (WebCore::RenderListBox::scrollPosition):
209980        (WebCore::RenderListBox::setScrollOffset):
209981        (WebCore::RenderListBox::verticalScrollbarWidth):
209982        Revert scroll positions and scroll offsets to ints to align with device
209983        pixels.
209984        
209985        * rendering/RenderListBox.h:
209986        * rendering/RenderMenuList.cpp:
209987        (WebCore::RenderMenuList::showPopup):
209988        (WebCore::RenderMenuList::clientPaddingLeft):
209989        (WebCore::RenderMenuList::clientPaddingRight):
209990        * rendering/RenderMenuList.h:
209991        * rendering/RenderTextControl.cpp:
209992        (WebCore::RenderTextControl::hitInnerTextElement):
209993        * rendering/RenderTextControlSingleLine.cpp:
209994        (WebCore::RenderTextControlSingleLine::clientPaddingLeft):
209995        (WebCore::RenderTextControlSingleLine::clientPaddingRight):
209996        * rendering/RenderTextControlSingleLine.h:
209997
2099982011-11-01  Nate Chapin  <japhet@chromium.org>
209999
210000        [chromium] As of r98380, ThreadableLoaderClients are having their
210001        ResourceRequest::TargetType clobbered. They set their own
210002        type, but CachedResourceRequest (through which they now flow)
210003        sets a TargetType without bothering to see if one has already been set.
210004        https://bugs.webkit.org/show_bug.cgi?id=70972
210005
210006        Reviewed by Darin Fisher.
210007
210008        No new tests, this is chromium-specific and only affects
210009        behavior seen in full builds of chromium.
210010
210011        * loader/cache/CachedResourceRequest.cpp:
210012        (WebCore::CachedResourceRequest::load):Don't setTargetType()
210013            if the value is something other than the default already.
210014        * platform/network/chromium/ResourceRequest.h: Change default
210015            TargetType to TargetIsUnspecified.
210016
2100172011-11-01  Emil A Eklund  <eae@chromium.org>
210018
210019        Use IntPoint for screen coordinates in MouseEvent
210020        https://bugs.webkit.org/show_bug.cgi?id=71327
210021
210022        Reviewed by Darin Adler.
210023
210024        Change mouse events to use int/IntPoint for screen/window coordinates and
210025        LayoutUnit/LayoutPoint for coordinates adjusted for zooming.
210026
210027        No new tests.
210028
210029        * dom/MouseRelatedEvent.cpp:
210030        (WebCore::MouseRelatedEvent::MouseRelatedEvent):
210031        (WebCore::MouseRelatedEvent::computeRelativePosition):
210032        * dom/MouseRelatedEvent.h:
210033        (WebCore::MouseRelatedEvent::screenLocation):
210034        Revert screenLocation and windowLocation back to int.
210035
210036        * page/DragController.cpp:
210037        (WebCore::elementUnderMouse):
210038        Change elementUnderMouse to use a LayoutPoint for hit testing.
210039
210040        * page/EventHandler.cpp:
210041        (WebCore::EventHandler::clear):
210042        (WebCore::EventHandler::currentMousePosition):
210043        (WebCore::documentPointForWindowPoint):
210044        (WebCore::EventHandler::fakeMouseMoveEventTimerFired):
210045        * page/EventHandler.h:
210046        Revert m_currentMousePosition to IntPoint as it represents a
210047        screen coordinate.
210048
210049        * platform/PlatformMouseEvent.h:
210050        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
210051        (WebCore::PlatformMouseEvent::pos):
210052        (WebCore::PlatformMouseEvent::x):
210053        (WebCore::PlatformMouseEvent::y):
210054        (WebCore::PlatformMouseEvent::globalX):
210055        (WebCore::PlatformMouseEvent::globalY):
210056        * platform/mac/PlatformMouseEventMac.mm:
210057        (WebCore::globalPoint):
210058        (WebCore::pointForEvent):
210059        (WebCore::globalPointForEvent):
210060        Revert PlatformMouseEvent to int/IntPoint as it represents a screen
210061        coordinate.
210062
2100632011-11-01  Tony Chang  <tony@chromium.org>
210064
210065        REGRESSION: -webkit-flex() should be an invalid value
210066        https://bugs.webkit.org/show_bug.cgi?id=71320
210067
210068        Reviewed by Ojan Vafai.
210069
210070        This regressed in http://trac.webkit.org/changeset/98773 .
210071
210072        No new tests, covered by css3/flexbox/flex-parsing.html.
210073
210074        * css/CSSParser.cpp:
210075        (WebCore::CSSParser::parseFlex):
210076
2100772011-11-01  David Grogan  <dgrogan@chromium.org>
210078
210079        IndexedDB: get EventQueue from ScriptExecutionContext instead of Document
210080        https://bugs.webkit.org/show_bug.cgi?id=71147
210081
210082        When IDB is used from a worker thread ScriptExecutionContext will
210083        be a WorkerContext, not a Document.  This was the impetus behind
210084        moving EventQueue into ScriptExecutionContext in r98656.
210085
210086        Reviewed by Nate Chapin.
210087
210088        No new tests. No new functionality yet.
210089
210090        * storage/IDBDatabase.cpp:
210091        (WebCore::IDBDatabase::close):
210092        (WebCore::IDBDatabase::enqueueEvent):
210093        * storage/IDBRequest.cpp:
210094        (WebCore::IDBRequest::abort):
210095        (WebCore::IDBRequest::enqueueEvent):
210096        * storage/IDBTransaction.cpp:
210097        (WebCore::IDBTransaction::enqueueEvent):
210098
2100992011-11-01  Andreas Kling  <kling@webkit.org>
210100
210101        CSS: Remove unused virtual parseString() in style and keyframe rules.
210102        https://bugs.webkit.org/show_bug.cgi?id=71300
210103
210104        Reviewed by Darin Adler.
210105
210106        * css/CSSStyleRule.cpp:
210107        * css/CSSStyleRule.h:
210108        * css/WebKitCSSKeyframeRule.cpp:
210109        * css/WebKitCSSKeyframeRule.h:
210110
2101112011-11-01  Emil A Eklund  <eae@chromium.org>
210112
210113        Switch RenderObject to layout abstraction
210114        https://bugs.webkit.org/show_bug.cgi?id=71249
210115
210116        Switch RenderObject to LayoutRect/Size/Point abstraction.
210117
210118        Reviewed by Darin Adler.
210119
210120        No new tests.
210121
210122        * rendering/RenderObject.cpp:
210123        (WebCore::RenderObject::drawLineForBoxSide):
210124        (WebCore::RenderObject::addPDFURLRect):
210125        (WebCore::RenderObject::absoluteBoundingBoxRect):
210126        (WebCore::RenderObject::absoluteFocusRingQuads):
210127        (WebCore::RenderObject::addAbsoluteRectForLayer):
210128        (WebCore::RenderObject::repaintAfterLayoutIfNeeded):
210129        (WebCore::RenderObject::computeRectForRepaint):
210130        (WebCore::RenderObject::viewRect):
210131        (WebCore::RenderObject::mapLocalToContainer):
210132        (WebCore::RenderObject::localCaretRect):
210133        (WebCore::RenderObject::addDashboardRegions):
210134        (WebCore::RenderObject::maximalOutlineSize):
210135        (WebCore::RenderObject::adjustRectForOutlineAndShadow):
210136        * rendering/RenderObject.h:
210137        (WebCore::RenderObject::absoluteBoundingBoxRectIgnoringTransforms):
210138        (WebCore::RenderObject::absoluteClippedOverflowRect):
210139        (WebCore::RenderObject::computeAbsoluteRepaintRect):
210140        (WebCore::RenderObject::absoluteOutlineBounds):
210141        (WebCore::RenderObject::outlineBoundsForRepaint):
210142        (WebCore::adjustForAbsoluteZoom):
210143
2101442011-11-01  Xiaomei Ji  <xji@chromium.org>
210145
210146        Refactor: change Scrollable::m_scrollOrigin from protected to private.
210147        https://bugs.webkit.org/show_bug.cgi?id=71236
210148
210149        Reviewed by Darin Adler.
210150
210151        Only refactor, no new tests needed.
210152
210153        * page/FrameView.cpp:
210154        (WebCore::FrameView::scrollXForFixedPosition):
210155        (WebCore::FrameView::scrollYForFixedPosition):
210156        * platform/ScrollView.cpp:
210157        (WebCore::ScrollView::maximumScrollPosition):
210158        (WebCore::ScrollView::minimumScrollPosition):
210159        (WebCore::ScrollView::setScrollOffset):
210160        (WebCore::ScrollView::scrollPosition):
210161        (WebCore::ScrollView::overhangAmount):
210162        (WebCore::ScrollView::updateScrollbars):
210163        (WebCore::ScrollView::wheelEvent):
210164        * platform/ScrollView.h:
210165        * platform/ScrollableArea.h:
210166        (WebCore::ScrollableArea::setScrollOrigin):
210167        (WebCore::ScrollableArea::setScrollOriginX):
210168        (WebCore::ScrollableArea::setScrollOriginY):
210169        * rendering/RenderLayer.cpp:
210170        (WebCore::RenderLayer::scrollTo):
210171        (WebCore::RenderLayer::scrollPosition):
210172        (WebCore::RenderLayer::minimumScrollPosition):
210173        (WebCore::RenderLayer::maximumScrollPosition):
210174        (WebCore::RenderLayer::computeScrollDimensions):
210175        * rendering/RenderLayer.h:
210176        (WebCore::RenderLayer::scrollXOffset):
210177        (WebCore::RenderLayer::scrollYOffset):
210178
2101792011-11-01  Dominic Cooney  <dominicc@chromium.org>
210180
210181        display: table-cell and box-sizing: border-box calculates content-box height
210182        https://bugs.webkit.org/show_bug.cgi?id=69425
210183
210184        Reviewed by Dan Bernstein.
210185
210186        Test: fast/box-sizing/table-cell.html
210187
210188        * rendering/RenderTableSection.cpp:
210189        (WebCore::RenderTableSection::calcRowLogicalHeight):
210190
2101912011-11-01  Alok Priyadarshi  <alokp@chromium.org>
210192
210193        [chromium] Add testing for --enable-accelerated-drawing
210194        https://bugs.webkit.org/show_bug.cgi?id=70822
210195
210196        Reviewed by James Robinson.
210197
210198        Test: platform/chromium/compositing/accelerated-drawing/alpha.html
210199
210200        * WebCore.exp.in:
210201        * page/Settings.cpp:
210202        * page/Settings.h:
210203        (WebCore::Settings::setAcceleratedDrawingEnabled):
210204        * testing/Internals.cpp:
210205        (WebCore::Internals::setAcceleratedDrawingEnabled):
210206        * testing/Internals.h:
210207        * testing/Internals.idl:
210208
2102092011-11-01  Tim Horton  <timothy_horton@apple.com>
210210
210211        SVG Filter on a group doesn't invalidate when children are moved
210212        https://bugs.webkit.org/show_bug.cgi?id=70044
210213        <rdar://problem/10281530>
210214
210215        Reviewed by Nikolas Zimmermann.
210216
210217        Call SVGResourcesCache::clientLayoutChanged whenever the element or its children need layout. Previously,
210218        invalidation was only performed if the element itself needed layout; now we also invalidate if any child
210219        needs layout and there is a filter applied, as the cached filter result can depend on the layout of children.
210220
210221        Test: svg/filters/invalidate-on-child-layout.svg
210222
210223        * rendering/svg/RenderSVGContainer.cpp:
210224        (WebCore::RenderSVGContainer::layout):
210225        * rendering/svg/SVGResourcesCache.cpp:
210226        (WebCore::SVGResourcesCache::clientLayoutChanged):
210227
2102282011-11-01  Jer Noble  <jer.noble@apple.com>
210229
210230        Four media tests failing on Lion due to incorrect cached times.
210231        https://bugs.webkit.org/show_bug.cgi?id=69574
210232
210233        Reviewed by Eric Carlson.
210234
210235        Do not invalidate the cached time when receiving a mediaPlayerRateChanged notification
210236        while paused. AVFoundation in particular can return different results for currentTime()
210237        when asked after being paused, breaking layout tests.
210238
210239        * html/HTMLMediaElement.cpp:
210240        (WebCore::HTMLMediaElement::mediaPlayerRateChanged):
210241
2102422011-11-01  Gavin Peters  <gavinp@chromium.org>
210243
210244        properly end requests when a bad status code return happens
210245        https://bugs.webkit.org/show_bug.cgi?id=71122
210246
210247        Calling error without ending the request set up the CachedResourceRequest so that it could
210248        actually send out two notifyFinished() events.  This probably was the root cause of
210249        lots of crashing instability; I know from crbug.com/75604 that this bug was causing lots
210250        of crashes in ScriptRunner/ScriptElement for instance.
210251
210252        The fix is easy: just properly end the request instead of just calling error, and we won't
210253        re-notify.
210254
210255        Reviewed by Nate Chapin.
210256
210257        No new tests, as the problem wasn't very amenable to layout tests.
210258        There is a chromium test going through code review at http://codereview.chromium.org/8404001/
210259
210260        * loader/cache/CachedResourceRequest.cpp:
210261        (WebCore::CachedResourceRequest::didReceiveData):
210262
2102632011-11-01  Erik Arvidsson  <arv@chromium.org>
210264
210265        Remove LegacyDefaultOptionalArguments flag from CanvasRenderingContext2d
210266        https://bugs.webkit.org/show_bug.cgi?id=64628
210267
210268        Reviewed by Adam Barth.
210269
210270        Covered by existing tests.
210271
210272        * html/canvas/CanvasRenderingContext2D.idl:
210273
2102742011-11-01  Julien Chaffraix  <jchaffraix@webkit.org>
210275
210276        REGRESSION(98738): RenderTableSection::recalcCells does not properly shrink the RowStruct grid
210277        https://bugs.webkit.org/show_bug.cgi?id=71246
210278
210279        Reviewed by Darin Adler.
210280
210281        Tests: fast/table/crash-empty-section-calcBorder.html
210282               fast/table/crash-empty-section-fixed-layout-calcArray.html
210283
210284        The refactoring in r98738 changed the way we handle the size to avoid throwing off
210285        the memory. The new logic would end up never shrinking the grid's size (prior to that
210286        we would grow to the appropriate size and throw the excess capacity with shrinkToFit).
210287        Not shrinking would mean that we would potentially read RowStruct with the default values
210288        (for instance no |rowRenderer|).
210289
210290        addCell will properly grow the grid as needed to accomodate the rows and the protruding
210291        cells with a rowspan so we introduce a variable to keep track of the size needed. At the
210292        end, we just shrink it to this size.
210293
210294        * rendering/RenderTableSection.cpp:
210295        (WebCore::RenderTableSection::recalcCells):
210296        Introduce a variable to keep the grid size and shrink to that size to match the old code.
210297
2102982011-11-01  Andrey Kosyakov  <caseq@chromium.org>
210299
210300        [Chromium] Some media/video-*.html layout tests occasionally crash on WIN GPU
210301        https://bugs.webkit.org/show_bug.cgi?id=71277
210302
210303        Reviewed by Simon Fraser.
210304
210305        Disabled assert() in hasVisibleDescendant() until callers are fixed.
210306
210307        * rendering/RenderLayer.h:
210308        (WebCore::RenderLayer::hasVisibleDescendant):
210309
2103102011-11-01  Mike Reed  <reed@google.com>
210311
210312        [skia] call readPixels on canvas instead of device (will be private on device soon) and check for error
210313        https://bugs.webkit.org/show_bug.cgi?id=71284
210314
210315        Reviewed by Stephen White.
210316
210317        No new tests. This is preparing for an API change to Skia.
210318
210319        * platform/graphics/skia/ImageBufferSkia.cpp:
210320        (WebCore::getImageData):
210321        (WebCore::ImageBuffer::getUnmultipliedImageData):
210322        (WebCore::ImageBuffer::getPremultipliedImageData):
210323
2103242011-11-01  Andreas Kling  <kling@webkit.org>
210325
210326        CSSStyleSheet: Operate directly on the rule vector internally.
210327
210328        Rubber-stamped by Antti Koivisto.
210329
210330        There's no need to go through the public, range-checking item() method
210331        working on m_children. Also changed length() -> m_children.size().
210332
210333        * css/CSSStyleSheet.cpp:
210334        (WebCore::CSSStyleSheet::~CSSStyleSheet):
210335        (WebCore::CSSStyleSheet::insertRule):
210336        (WebCore::CSSStyleSheet::addRule):
210337        (WebCore::CSSStyleSheet::deleteRule):
210338        (WebCore::CSSStyleSheet::isLoading):
210339        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
210340
2103412011-11-01  Andreas Kling  <kling@webkit.org>
210342
210343        CSSRule: Devirtualize addSubresourceStyleURLs()
210344        https://bugs.webkit.org/show_bug.cgi?id=71285
210345
210346        Reviewed by Antti Koivisto.
210347
210348        Move addSubresourceStyleURLs() into the rules that actually implement it.
210349        Add type checks and casts at the (only) call site.
210350
210351        * css/CSSFontFaceRule.h:
210352        * css/CSSImportRule.h:
210353        * css/CSSRule.h:
210354        * css/CSSStyleRule.h:
210355        * css/CSSStyleSheet.cpp:
210356        (WebCore::CSSStyleSheet::addSubresourceStyleURLs):
210357
2103582011-11-01  Chris Fleizach  <cfleizach@apple.com>
210359
210360        AX: some popup buttons not announced by VoiceOver
210361        https://bugs.webkit.org/show_bug.cgi?id=67743
210362
210363        Reviewed by Darin Adler.
210364
210365        Test: platform/mac/accessibility/aria-popup-buttons-on-native-elements.html
210366
210367        * accessibility/AccessibilityRenderObject.cpp:
210368        (WebCore::AccessibilityRenderObject::stringValue):
210369        (WebCore::AccessibilityRenderObject::title):
210370        (WebCore::AccessibilityRenderObject::determineAccessibilityRole):
210371
2103722011-11-01  Alexander Pavlov  <apavlov@chromium.org>
210373
210374        Web Inspector: [Styles] Style-based CSS properties are editable and toggleable
210375        https://bugs.webkit.org/show_bug.cgi?id=71275
210376
210377        Reviewed by Pavel Feldman.
210378
210379        * inspector/front-end/StylesSidebarPane.js:
210380        (WebInspector.StylePropertiesSection.prototype.onpopulate):
210381
2103822011-11-01  Pavel Feldman  <pfeldman@google.com>
210383
210384        Web Inspector: do not switch panels on Cmd + ->  while in console.
210385        https://bugs.webkit.org/show_bug.cgi?id=71281
210386
210387        Reviewed by Yury Semikhatsky.
210388
210389        * inspector/front-end/InspectorView.js:
210390        (WebInspector.InspectorView.prototype._keyDown):
210391
2103922011-11-01  Zeno Albisser  <zeno.albisser@nokia.com>
210393
210394        [Qt] bad codegen, pointer diff in JSC::JSCallbackConstructor::JSCallbackConstructor
210395        https://bugs.webkit.org/show_bug.cgi?id=60951
210396
210397        Adjust symbols visibility for WebCore.
210398
210399        Reviewed by Simon Hausmann.
210400
210401        * WebCore.pro:
210402
2104032011-11-01  Pavel Feldman  <pfeldman@google.com>
210404
210405        Not reviewed: add InspectorView.js entry into WebKit.qrc
210406
210407        * inspector/front-end/WebKit.qrc:
210408
2104092011-11-01  Pavel Feldman  <pfeldman@google.com>
210410
210411
210412        Web Inspector: introduce PanelContainer class, start moving panel management from inspector.js to the new class.
210413        https://bugs.webkit.org/show_bug.cgi?id=71272
210414
210415        Reviewed by Yury Semikhatsky.
210416
210417        * WebCore.gypi:
210418        * WebCore.vcproj/WebCore.vcproj:
210419        * inspector/compile-front-end.sh:
210420        * inspector/front-end/Drawer.js:
210421        (WebInspector.Drawer.prototype.show.animationFinished):
210422        (WebInspector.Drawer.prototype.show):
210423        (WebInspector.Drawer.prototype.hide):
210424        (WebInspector.Drawer.prototype._statusBarDragging):
210425        * inspector/front-end/ElementsPanel.js:
210426        (WebInspector.ElementsPanel.prototype.switchToAndFocus):
210427        (WebInspector.ElementsPanel.prototype.revealAndSelectNode):
210428        * inspector/front-end/ElementsTreeOutline.js:
210429        (WebInspector.ElementsTreeOutline.prototype.setVisible):
210430        * inspector/front-end/InspectorView.js: Added.
210431        (WebInspector.InspectorView):
210432        (WebInspector.InspectorView.prototype.addPanel):
210433        (WebInspector.InspectorView.prototype.currentPanel):
210434        (WebInspector.InspectorView.prototype._keyDown):
210435        (WebInspector.InspectorView.prototype._canGoBackInHistory):
210436        (WebInspector.InspectorView.prototype._goBackInHistory):
210437        (WebInspector.InspectorView.prototype._canGoForwardInHistory):
210438        (WebInspector.InspectorView.prototype._goForwardInHistory):
210439        (WebInspector.InspectorView.prototype._pushToHistory):
210440        * inspector/front-end/KeyboardShortcut.js:
210441        (WebInspector.KeyboardShortcut.eventHasCtrlOrMeta):
210442        * inspector/front-end/Panel.js:
210443        (WebInspector.Panel.prototype.show):
210444        * inspector/front-end/ScriptsPanel.js:
210445        (WebInspector.ScriptsPanel.prototype._toggleBreakpointsClicked):
210446        * inspector/front-end/SearchController.js:
210447        (WebInspector.SearchController.prototype.updateSearchMatchesCount):
210448        (WebInspector.SearchController.prototype.updateCurrentMatchIndex):
210449        (WebInspector.SearchController.prototype.updateSearchLabel):
210450        (WebInspector.SearchController.prototype.handleShortcut):
210451        (WebInspector.SearchController.prototype._performSearch):
210452        * inspector/front-end/Toolbar.js:
210453        (WebInspector.Toolbar.createPanelToolbarItem.onToolbarItemClicked):
210454        (WebInspector.Toolbar.createPanelToolbarItem):
210455        * inspector/front-end/WebKit.qrc:
210456        * inspector/front-end/externs.js:
210457        * inspector/front-end/inspector.html:
210458        * inspector/front-end/inspector.js:
210459        (WebInspector._createPanels):
210460        (WebInspector._panelSelected):
210461        (WebInspector.addPanel):
210462        (WebInspector.windowResize):
210463        (WebInspector.documentKeyDown):
210464        (WebInspector.documentCanCopy):
210465        (WebInspector.documentCopy):
210466        (WebInspector.showPanel):
210467        (WebInspector.startUserInitiatedDebugging):
210468        (WebInspector.inspect):
210469        (WebInspector._showAnchorLocationInPanel):
210470        (WebInspector._toolbarItemClicked):
210471        * inspector/front-end/treeoutline.js:
210472        (TreeElement.prototype.select):
210473
2104742011-11-01  Simon Hausmann  <simon.hausmann@nokia.com>
210475
210476        [WK2] Add WebGestureEvents to the Qt build and enable PlatformGestureEvent::TapType
210477        https://bugs.webkit.org/show_bug.cgi?id=71274
210478
210479        Reviewed by Kenneth Christiansen.
210480
210481        * features.pri: Enable GESTURE_EVENTS.
210482
2104832011-11-01  Sheriff Bot  <webkit.review.bot@gmail.com>
210484
210485        Unreviewed, rolling out r98847.
210486        http://trac.webkit.org/changeset/98847
210487        https://bugs.webkit.org/show_bug.cgi?id=71268
210488
210489        "Debugger test failures on multiple platforms" (Requested by
210490        yurys on #webkit).
210491
210492        * inspector/front-end/DebuggerPresentationModel.js:
210493        (WebInspector.DebuggerPresentationModel):
210494        (WebInspector.DebuggerPresentationModel.prototype._addScript):
210495        (WebInspector.DebuggerPresentationModel.prototype.uiSourceCodes):
210496        (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
210497        (WebInspector.DebuggerPresentationModel.prototype._consoleCleared):
210498        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
210499        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
210500        (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
210501        (WebInspector.DebuggerPresentationModel.prototype._createRawSourceCodeId):
210502        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
210503        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.reset):
210504        * inspector/front-end/RawSourceCode.js:
210505        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
210506        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
210507        (WebInspector.RawSourceCode.prototype._createSourceMapping):
210508        * inspector/front-end/Script.js:
210509        (WebInspector.Script.prototype.editSource):
210510
2105112011-10-30  Filip Pizlo  <fpizlo@apple.com>
210512
210513        The GC should be parallel
210514        https://bugs.webkit.org/show_bug.cgi?id=70995
210515
210516        Reviewed by Geoff Garen.
210517        
210518        Added parallel tracing to the GC. This required loosening some assertions,
210519        since some code may now be called from outside the main thread.
210520
210521        No new tests, since no behavior was changed.
210522
210523        * platform/TreeShared.h:
210524        (WebCore::TreeShared::parent):
210525
2105262011-10-31  Andy Estes  <aestes@apple.com>
210527
210528        Document pointer not null-checked in FrameView::isOnActivePage()
210529        https://bugs.webkit.org/show_bug.cgi?id=71265
210530        <rdar://problem/10374427>
210531
210532        Reviewed by Dan Bernstein.
210533
210534        Return false in FrameView::isOnActivePage() if m_frame->document() is
210535        null. Other calls to m_frame->document() in FrameView also have a null
210536        check. The frame can have a null document if the FrameLoader is loading
210537        the initial empty document.
210538
210539        No test possible without triggering assertions in debug builds. This is
210540        tracked by <http://webkit.org/b/71264>.
210541
210542        * page/FrameView.cpp:
210543        (WebCore::FrameView::isOnActivePage):
210544
2105452011-10-31  Jeremy Apthorp  <jeremya@google.com>
210546
210547        Fix a crash relating to anonymous block merging in
210548        RenderFullScreen::unwrapRenderer.
210549        https://bugs.webkit.org/show_bug.cgi?id=70705
210550
210551        Reviewed by Simon Fraser.
210552
210553        Test: fullscreen/anonymous-block-merge-crash.html
210554
210555        * rendering/RenderFullScreen.cpp:
210556        (RenderFullScreen::unwrapRenderer):
210557
2105582011-10-31  Dave Michael  <dmichael@chromium.org>
210559
210560        V8MessageEvent::dataAccessorGetter does not return a reference to its caller
210561        https://bugs.webkit.org/show_bug.cgi?id=71229
210562
210563        Reviewed by Adam Barth.
210564
210565        Test: fast/events/dispatch-message-string-data.html
210566
210567        * bindings/v8/custom/V8MessageEventCustom.cpp:
210568        (WebCore::V8MessageEvent::dataAccessorGetter):
210569
2105702011-10-31  Renata Hodovan  <reni@webkit.org>
210571
210572        [Qt] Build fix after r98853.
210573
210574        Rubber-stamped by Andreas Kling.
210575
210576        * xml/XSLImportRule.cpp:
210577        * xml/XSLImportRule.h:
210578        (WebCore::XSLImportRule::parentStyleSheet):
210579
2105802011-10-31  Mark Hahnenberg  <mhahnenberg@apple.com>
210581
210582        De-virtualize JSObject::defaultValue
210583        https://bugs.webkit.org/show_bug.cgi?id=71146
210584
210585        Reviewed by Sam Weinig.
210586
210587        No new tests.
210588
210589        Added defaultValue to the MethodTable.  Replaced all virtual versions of 
210590        defaultValue with static versions.  Replaced all call sites with lookups in the 
210591        MethodTable.
210592
210593        * WebCore.exp.in:
210594        * bridge/objc/objc_runtime.h:
210595        * bridge/objc/objc_runtime.mm:
210596        (JSC::Bindings::ObjcFallbackObjectImp::defaultValue):
210597        * bridge/runtime_object.cpp:
210598        (JSC::Bindings::RuntimeObject::defaultValue):
210599        * bridge/runtime_object.h:
210600
2106012011-10-31  Levi Weintraub  <leviw@chromium.org>
210602
210603        Switch RoundedRect back to integers
210604        https://bugs.webkit.org/show_bug.cgi?id=71238
210605
210606        Reviewed by Darin Adler.
210607
210608        Changing RoundedRect back to ints from LayoutUnits. As further testing has shown, this graphics-
210609        focused class should maintain values aligned to pixel boundaries, and therefor kept as integers.
210610
210611        No new tests -- no change in behavior.
210612
210613        * platform/graphics/RoundedRect.cpp:
210614        (WebCore::RoundedRect::Radii::scale):
210615        (WebCore::RoundedRect::Radii::expand):
210616        (WebCore::RoundedRect::inflateWithRadii):
210617        (WebCore::RoundedRect::Radii::excludeLogicalEdges):
210618        (WebCore::RoundedRect::RoundedRect):
210619        * platform/graphics/RoundedRect.h:
210620        (WebCore::RoundedRect::Radii::Radii):
210621        (WebCore::RoundedRect::Radii::setTopLeft):
210622        (WebCore::RoundedRect::Radii::setTopRight):
210623        (WebCore::RoundedRect::Radii::setBottomLeft):
210624        (WebCore::RoundedRect::Radii::setBottomRight):
210625        (WebCore::RoundedRect::Radii::topLeft):
210626        (WebCore::RoundedRect::Radii::topRight):
210627        (WebCore::RoundedRect::Radii::bottomLeft):
210628        (WebCore::RoundedRect::Radii::bottomRight):
210629        (WebCore::RoundedRect::Radii::expand):
210630        (WebCore::RoundedRect::Radii::shrink):
210631        (WebCore::RoundedRect::rect):
210632        (WebCore::RoundedRect::setRect):
210633        (WebCore::RoundedRect::move):
210634        (WebCore::RoundedRect::inflate):
210635        (WebCore::RoundedRect::expandRadii):
210636        (WebCore::RoundedRect::shrinkRadii):
210637        * rendering/svg/SVGRenderSupport.h: Adding missing LayoutTypes.h include
210638
2106392011-10-31  Peter Kasting  <pkasting@google.com>
210640
210641        https://bugs.webkit.org/show_bug.cgi?id=70666
210642        BitmapImage::dataChanged() needs to clear all incomplete frames.
210643
210644        Reviewed by James Robinson.
210645
210646        No tests, as I don't know of a way to send an image to the renderer in
210647        small pieces (with script run between pieces no less).
210648
210649        * platform/graphics/BitmapImage.cpp:
210650        (WebCore::BitmapImage::dataChanged):
210651
2106522011-10-31  Levi Weintraub  <leviw@chromium.org>
210653
210654        Amend missing uses of LayoutUnits in RenderApplet, Button, and DeprecatedFlexibleBox
210655        https://bugs.webkit.org/show_bug.cgi?id=71243
210656
210657        Reviewed by Eric Seidel.
210658
210659        Replacing remaining integer uses with LayoutUnits in the aforementioned classes.
210660
210661        No new tests -- no change in behavior.
210662
210663        * rendering/RenderApplet.cpp:
210664        (WebCore::RenderApplet::intrinsicSize):
210665        (WebCore::RenderApplet::createWidgetIfNecessary):
210666        * rendering/RenderApplet.h:
210667        * rendering/RenderButton.cpp:
210668        (WebCore::RenderButton::controlClipRect):
210669        * rendering/RenderButton.h:
210670        * rendering/RenderDeprecatedFlexibleBox.cpp:
210671        (WebCore::marginWidthForChild):
210672        (WebCore::RenderDeprecatedFlexibleBox::computePreferredLogicalWidths):
210673        (WebCore::RenderDeprecatedFlexibleBox::layoutBlock):
210674        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
210675        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
210676        * rendering/RenderDeprecatedFlexibleBox.h:
210677
2106782011-10-31  Tommy Widenflycht  <tommyw@google.com>
210679
210680        [Chromium] Media Stream API: add the Chromium WebKit interfaces
210681        https://bugs.webkit.org/show_bug.cgi?id=58550
210682
210683        Changes the PeerHandler platform interface so that embedders can more easily use it.
210684
210685        Reviewed by Darin Fisher.
210686
210687        * GNUmakefile.am:
210688        * GNUmakefile.list.am:
210689        * WebCore.gyp/WebCore.gyp:
210690        * WebCore.gypi:
210691        * mediastream/PeerConnection.cpp:
210692        (WebCore::PeerConnection::PeerConnection):
210693        (WebCore::PeerConnection::didCompleteICEProcessing):
210694        (WebCore::PeerConnection::didGenerateSDP):
210695        (WebCore::PeerConnection::didReceiveDataStreamMessage):
210696        (WebCore::PeerConnection::didAddRemoteStream):
210697        (WebCore::PeerConnection::didRemoveRemoteStream):
210698        * mediastream/PeerConnection.h:
210699        * platform/mediastream/PeerConnectionHandlerClient.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
210700        (WebCore::PeerConnectionHandlerClient::~PeerConnectionHandlerClient):
210701        * platform/mediastream/chromium/PeerConnectionHandler.h: Copied from Source/WebCore/platform/mediastream/PeerHandler.h.
210702        * platform/mediastream/gstreamer/PeerConnectionHandler.cpp: Copied from Source/WebCore/platform/mediastream/PeerHandler.cpp.
210703        (WebCore::PeerConnectionHandler::create):
210704        (WebCore::PeerConnectionHandler::PeerConnectionHandler):
210705        (WebCore::PeerConnectionHandler::~PeerConnectionHandler):
210706        (WebCore::PeerConnectionHandler::produceInitialOffer):
210707        (WebCore::PeerConnectionHandler::handleInitialOffer):
210708        (WebCore::PeerConnectionHandler::processSDP):
210709        (WebCore::PeerConnectionHandler::processPendingStreams):
210710        (WebCore::PeerConnectionHandler::sendDataStreamMessage):
210711        (WebCore::PeerConnectionHandler::stop):
210712        * platform/mediastream/gstreamer/PeerConnectionHandler.h: Renamed from Source/WebCore/platform/mediastream/PeerHandler.h.
210713
210714        Tests for the Media Stream API will be provided by the bug 56587, pending enough landed code.
210715
2107162011-10-31  Adam Roben  <aroben@apple.com>
210717
210718        Fix linker warnings on Windows
210719
210720        * WebCore.vcproj/WebCore.vcproj: Exclude SpellingCorrectionCommand.cpp and
210721        JSRequestAnimationFrameCallback.cpp from all configurations. They are already getting
210722        compiled via *AllInOne.cpp files.
210723
2107242011-10-31  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
210725
210726        [GStreamer] Don't use GOwnPtr for ref-counted objects
210727        https://bugs.webkit.org/show_bug.cgi?id=71042
210728
210729        Reviewed by Martin Robinson.
210730
210731        * CMakeListsEfl.txt:
210732        * GNUmakefile.list.am:
210733        * WebCore.gypi:
210734        * WebCore.pro:
210735        * platform/graphics/gstreamer/GOwnPtrGStreamer.cpp: Removed.
210736        * platform/graphics/gstreamer/GOwnPtrGStreamer.h: Removed.
210737        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
210738        (WebCore::GStreamerGWorld::enterFullscreen):
210739        (WebCore::GStreamerGWorld::exitFullscreen):
210740        * platform/graphics/gstreamer/MediaPlayerPrivateGStreamer.cpp:
210741        (WebCore::MediaPlayerPrivateGStreamer::updateAudioSink):
210742        (WebCore::MediaPlayerPrivateGStreamer::sourceChanged):
210743
2107442011-10-28  Nat Duca  <nduca@chromium.org>
210745
210746        [chromium] Connect CCThreadProxy to FrameRateController and SchedulerStateMachine via CCScheduler
210747        https://bugs.webkit.org/show_bug.cgi?id=71100
210748
210749        Reviewed by James Robinson.
210750
210751        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h:
210752        (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
210753        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
210754        (WebCore::CCLayerTreeHostClient::didCommitAndDrawFrame):
210755        (WebCore::CCLayerTreeHost::didCommitAndDrawFrame):
210756        * platform/graphics/chromium/cc/CCScheduler.cpp:
210757        (WebCore::CCSchedulerFrameRateControllerClientAdapter::create):
210758        (WebCore::CCSchedulerFrameRateControllerClientAdapter::~CCSchedulerFrameRateControllerClientAdapter):
210759        (WebCore::CCSchedulerFrameRateControllerClientAdapter::beginFrame):
210760        (WebCore::CCSchedulerFrameRateControllerClientAdapter::CCSchedulerFrameRateControllerClientAdapter):
210761        (WebCore::CCScheduler::CCScheduler):
210762        (WebCore::CCScheduler::~CCScheduler):
210763        (WebCore::CCScheduler::setNeedsAnimate):
210764        (WebCore::CCScheduler::setNeedsCommit):
210765        (WebCore::CCScheduler::setNeedsRedraw):
210766        (WebCore::CCScheduler::beginFrameComplete):
210767        (WebCore::CCScheduler::didSwapBuffersComplete):
210768        (WebCore::CCScheduler::didSwapBuffersAbort):
210769        (WebCore::CCScheduler::onBeginFrame):
210770        (WebCore::CCScheduler::processScheduledActions):
210771        * platform/graphics/chromium/cc/CCScheduler.h:
210772        (WebCore::CCScheduler::create):
210773        (WebCore::CCScheduler::commitPending):
210774        (WebCore::CCScheduler::redrawPending):
210775        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
210776        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
210777        (WebCore::CCSchedulerStateMachine::nextAction):
210778        (WebCore::CCSchedulerStateMachine::updateState):
210779        (WebCore::CCSchedulerStateMachine::beginUpdateMoreResourcesComplete):
210780        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
210781        (WebCore::CCSchedulerStateMachine::redrawPending):
210782        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
210783        (WebCore::CCSingleThreadProxy::CCSingleThreadProxy):
210784        (WebCore::CCSingleThreadProxy::doCommit):
210785        (WebCore::CCSingleThreadProxy::doComposite):
210786        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
210787        * platform/graphics/chromium/cc/CCTextureUpdater.cpp:
210788        (WebCore::CCTextureUpdater::hasMoreUpdates):
210789        * platform/graphics/chromium/cc/CCTextureUpdater.h:
210790        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
210791        (WebCore::CCThreadProxy::CCThreadProxy):
210792        (WebCore::CCThreadProxy::compositeAndReadback):
210793        (WebCore::CCThreadProxy::requestReadbackOnImplThread):
210794        (WebCore::CCThreadProxy::setNeedsAnimateOnImplThread):
210795        (WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
210796        (WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
210797        (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
210798        (WebCore::CCThreadProxy::scheduledActionBeginFrame):
210799        (WebCore::CCThreadProxy::beginFrameAndCommit):
210800        (WebCore::CCThreadProxy::beginFrameCompleteOnImplThread):
210801        (WebCore::CCThreadProxy::hasMoreResourceUpdates):
210802        (WebCore::CCThreadProxy::scheduledActionUpdateMoreResources):
210803        (WebCore::CCThreadProxy::scheduledActionCommit):
210804        (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
210805        (WebCore::CCThreadProxy::didCommitAndDrawFrame):
210806        (WebCore::CCThreadProxy::initializeImplOnImplThread):
210807        (WebCore::CCThreadProxy::layerTreeHostClosedOnImplThread):
210808        (WebCore::CCThreadProxy::scheduledActionDrawAndSwap):
210809        * platform/graphics/chromium/cc/CCThreadProxy.h:
210810
2108112011-10-31  Nate Chapin  <japhet@chromium.org>
210812
210813        Rename the remaining uses of Cue in WebCore/loader/
210814        to TextTrack.
210815        https://bugs.webkit.org/show_bug.cgi?id=71231
210816
210817        Reviewed by Eric Carlson.
210818
210819        No new tests, strictly a renaming.
210820
210821        * loader/TextTrackLoader.cpp:
210822        * loader/cache/CachedResource.cpp:
210823        * loader/cache/CachedResource.h:
210824        * loader/cache/CachedResourceLoader.cpp:
210825        * loader/cache/CachedResourceLoader.h:
210826        * loader/cache/CachedResourceRequest.cpp:
210827        * loader/cache/CachedTextTrack.cpp:
210828        * platform/network/chromium/ResourceRequest.h:
210829
2108302011-10-27  Adam Klein  <adamk@chromium.org>
210831
210832        [MutationObservers] Support characterDataOldValue for characterData mutations
210833        https://bugs.webkit.org/show_bug.cgi?id=70862
210834
210835        Reviewed by Ojan Vafai.
210836
210837        * dom/CharacterData.cpp:
210838        (WebCore::hasOldValue):
210839        (WebCore::isOldValueRequested):
210840        (WebCore::CharacterData::dispatchModifiedEvent):
210841        * dom/MutationRecord.cpp:
210842        (WebCore::MutationRecord::createCharacterData):
210843        * dom/MutationRecord.h:
210844
2108452011-10-31  Sam Weinig  <sam@webkit.org>
210846
210847        Remove need for virtual JSObject::unwrappedObject
210848        https://bugs.webkit.org/show_bug.cgi?id=71034
210849
210850        Reviewed by Geoffrey Garen.
210851
210852        Move the member containing the global object from the JSDOMWindowShell
210853        down to the JSGlobalThis class, and update JSDOMWindowShell to go through
210854        an inline helper (which just casts) to get the window.
210855
210856        * bindings/js/JSDOMWindowShell.cpp:
210857        (WebCore::JSDOMWindowShell::setWindow):
210858        (WebCore::JSDOMWindowShell::className):
210859        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
210860        (WebCore::JSDOMWindowShell::getOwnPropertyDescriptor):
210861        (WebCore::JSDOMWindowShell::put):
210862        (WebCore::JSDOMWindowShell::putWithAttributes):
210863        (WebCore::JSDOMWindowShell::defineOwnProperty):
210864        (WebCore::JSDOMWindowShell::deleteProperty):
210865        (WebCore::JSDOMWindowShell::getPropertyNames):
210866        (WebCore::JSDOMWindowShell::getOwnPropertyNames):
210867        (WebCore::JSDOMWindowShell::defineGetter):
210868        (WebCore::JSDOMWindowShell::defineSetter):
210869        (WebCore::JSDOMWindowShell::lookupGetter):
210870        (WebCore::JSDOMWindowShell::lookupSetter):
210871        (WebCore::JSDOMWindowShell::impl):
210872        * bindings/js/JSDOMWindowShell.h:
210873        (WebCore::JSDOMWindowShell::window):
210874        (WebCore::JSDOMWindowShell::setWindow):
210875        (WebCore::JSDOMWindowShell::createStructure):
210876
2108772011-10-29  Ryosuke Niwa  <rniwa@webkit.org>
210878
210879        WebKit nests pre on copy and paste when the pre is the root editable element
210880        https://bugs.webkit.org/show_bug.cgi?id=70800
210881
210882        Reviewed by Darin Adler.
210883
210884        Fixed the bug by removing nested block elements in removeRedundantStylesAndKeepStyleSpanInline.
210885
210886        Tests: editing/pasteboard/contenteditable-pre-2.html
210887               editing/pasteboard/contenteditable-pre.html
210888
210889        * editing/ApplyStyleCommand.cpp:
210890        * editing/ReplaceSelectionCommand.cpp:
210891        (WebCore::ReplaceSelectionCommand::removeRedundantStylesAndKeepStyleSpanInline): Remove block
210892        elements if it's identical to its parent and there are no contents between the two. Also remove
210893        contenteditable attribute from an element if the parent is already richly editable.
210894        (WebCore::ReplaceSelectionCommand::doApply): Remove redundant styles after removing the placeholder
210895        br so that the above check doesn't get affected by the placeholder.
210896        * editing/htmlediting.cpp:
210897        (WebCore::areIdenticalElements): Moved from ApplyStyleCommand.
210898        (WebCore::isNonTableCellHTMLBlockElement): Moved from markup.cpp.
210899        * editing/htmlediting.h:
210900        * editing/markup.cpp:
210901
2109022011-10-31  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
210903
210904        text/plain form encoding ignored and incorrectly specified in request header.
210905        https://bugs.webkit.org/show_bug.cgi?id=20795
210906
210907        Reviewed by Darin Adler.
210908
210909        This patch fixes the behaviour of forms where enctype is set to
210910        text/plain, encoding is also text/plain.
210911
210912        Tests: fast/forms/form-get-textplain.html
210913               http/tests/misc/form-post-textplain.html
210914
210915        * loader/FormSubmission.cpp:
210916        (WebCore::FormSubmission::create):
210917        * platform/network/FormData.cpp:
210918        (WebCore::FormData::create):
210919        (WebCore::FormData::appendKeyValuePairItems):
210920        * platform/network/FormData.h:
210921        (WebCore::FormData::parseEncodingType):
210922        * platform/network/FormDataBuilder.cpp:
210923        (WebCore::FormDataBuilder::addKeyValuePairAsFormData): Modified encoding scheme for text/plain.
210924        * platform/network/FormDataBuilder.h:
210925
2109262011-10-31  John Gregg  <johnnyg@google.com>
210927
210928        RenderImage.cpp calls SVGImage even if it's not defined
210929        https://bugs.webkit.org/show_bug.cgi?id=71247
210930
210931        This fixes a compile error when ENABLE_SVG=0.
210932
210933        * rendering/RenderImage.cpp:
210934        (WebCore::RenderImage::embeddedContentBox):
210935
2109362011-10-31  Pavel Podivilov  <podivilov@chromium.org>
210937
210938        Update XMLHttpRequest.send idl declaration to match implementation.
210939        https://bugs.webkit.org/show_bug.cgi?id=71121
210940
210941        Reviewed by Adam Barth.
210942
210943        * xml/XMLHttpRequest.idl:
210944
2109452011-10-31  Anders Carlsson  <andersca@apple.com>
210946
210947        More work on making plug-ins work better with transforms
210948        https://bugs.webkit.org/show_bug.cgi?id=71241
210949
210950        Reviewed by Darin Adler.
210951
210952        Export symbols used by WebKit2.
210953
210954        * WebCore.exp.in:
210955
2109562011-10-31  Mark Hahnenberg  <mhahnenberg@apple.com>
210957
210958        De-virtualize JSObject::defineGetter
210959        https://bugs.webkit.org/show_bug.cgi?id=71134
210960
210961        Reviewed by Darin Adler.
210962
210963        No new tests.
210964
210965        Added defineGetter to the MethodTable.  Replaced all virtual versions of defineGetter
210966        with static versions.  Replaced all call sites with lookups in the MethodTable.
210967
210968        * bindings/js/JSDOMWindowCustom.cpp:
210969        (WebCore::JSDOMWindow::defineGetter):
210970        * bindings/js/JSDOMWindowShell.cpp:
210971        (WebCore::JSDOMWindowShell::defineGetter):
210972        * bindings/js/JSDOMWindowShell.h:
210973        * bindings/js/JSLocationCustom.cpp:
210974        (WebCore::JSLocation::defineGetter):
210975        (WebCore::JSLocationPrototype::defineGetter):
210976        * bindings/scripts/CodeGeneratorJS.pm:
210977        (GenerateHeader):
210978
2109792011-10-31  Arko Saha  <arko@motorola.com>
210980
210981        Microdata: Support for itemid attribute.
210982        https://bugs.webkit.org/show_bug.cgi?id=71007
210983
210984        Reviewed by Ryosuke Niwa.
210985
210986        itemid attribute: To give a global identifier for the Microdata items.
210987        The itemid attribute, if specified, must have a value that is a valid URL potentially
210988        surrounded by spaces.
210989        Spec: http://www.whatwg.org/specs/web-apps/current-work/multipage/microdata.html#attr-itemid
210990
210991        Tests: fast/dom/MicroData/itemid-attribute-test.html
210992               fast/dom/MicroData/itemid-must-see-resolved-url.html
210993
210994        * html/HTMLElement.idl:
210995
2109962011-10-31  Yury Semikhatsky  <yurys@chromium.org>
210997
210998        window.onerror doesn't work with inline (attribute) scripts
210999        https://bugs.webkit.org/show_bug.cgi?id=70991
211000
211001        Uncaught syntax errors in inline event handlers are now reported to
211002        window.onerror handler.
211003
211004        Reviewed by Geoffrey Garen.
211005
211006        Tests: fast/events/window-onerror-exception-in-attr.html
211007               fast/events/window-onerror-syntax-error-in-attr.html
211008
211009        * bindings/js/JSLazyEventListener.cpp:
211010        (WebCore::JSLazyEventListener::initializeJSFunction): report exception as usual
211011        if it happens during event handler compilation.
211012
2110132011-10-31  Emil A Eklund  <eae@chromium.org>
211014
211015        Overridden LayoutRect method still uses IntRects
211016        https://bugs.webkit.org/show_bug.cgi?id=71166
211017
211018        Reviewed by Eric Seidel.
211019
211020        Change all virtual controlClipRect, windowResizerRect, windowClipRect,
211021        visibleContentRect, scrollCornerRect, outlineBoundsForRepaint and
211022        localCaretRect functions to have the same signature.
211023
211024        * page/FrameView.cpp:
211025        (WebCore::FrameView::windowClipRect):
211026        (WebCore::FrameView::windowClipRectForLayer):
211027        (WebCore::FrameView::windowResizerRect):
211028        * page/FrameView.h:
211029        * platform/ScrollView.cpp:
211030        (WebCore::ScrollView::wheelEvent):
211031        * platform/ScrollView.h:
211032        * platform/ScrollableArea.h:
211033        * rendering/RenderButton.h:
211034        * rendering/RenderLayer.cpp:
211035        (WebCore::RenderLayer::visibleContentRect):
211036        * rendering/RenderLayer.h:
211037        * rendering/RenderObject.cpp:
211038        (WebCore::RenderObject::localCaretRect):
211039        * rendering/RenderObject.h:
211040        (WebCore::RenderObject::outlineBoundsForRepaint):
211041        * rendering/RenderText.cpp:
211042        (WebCore::RenderText::localCaretRect):
211043        (WebCore::RenderText::linesBoundingBox):
211044        * rendering/RenderText.h:
211045        * rendering/svg/RenderSVGInlineText.cpp:
211046        (WebCore::RenderSVGInlineText::localCaretRect):
211047        * rendering/svg/RenderSVGInlineText.h:
211048
2110492011-10-31  Dmitry Lomov  <dslomov@google.com>
211050
211051        https://bugs.webkit.org/show_bug.cgi?id=70658
211052        [JSC] Implement MessagePort transfer in JSC bindings implementation of webkitPostMessage.
211053        Transfer of MessagePorts implemented.
211054
211055        Reviewed by David Levin.
211056
211057        * bindings/js/SerializedScriptValue.cpp:
211058        (WebCore::CloneSerializer::serialize):
211059        (WebCore::CloneSerializer::CloneSerializer):
211060        (WebCore::CloneSerializer::dumpIfTerminal):
211061        (WebCore::CloneDeserializer::deserialize):
211062        (WebCore::CloneDeserializer::CloneDeserializer):
211063        (WebCore::CloneDeserializer::readTerminal):
211064        (WebCore::SerializedScriptValue::create):
211065        (WebCore::SerializedScriptValue::deserialize):
211066
2110672011-10-31  Andreas Kling  <kling@webkit.org>
211068
211069        CSSRule: Devirtualize insertedIntoParent()
211070        https://bugs.webkit.org/show_bug.cgi?id=71223
211071
211072        Reviewed by Antti Koivisto.
211073
211074        Moved insertedIntoParent() down into CSSImportRule and renamed it to
211075        requestStyleSheet(). CSSImportRule is the only user of this function.
211076
211077        * css/CSSImportRule.cpp:
211078        (WebCore::CSSImportRule::requestStyleSheet):
211079        * css/CSSImportRule.h:
211080        * css/CSSRule.h:
211081        * css/CSSStyleSheet.cpp:
211082        (WebCore::CSSStyleSheet::append):
211083        (WebCore::CSSStyleSheet::insertRule):
211084
2110852011-10-31  Anna Cavender  <annacc@chromium.org>
211086
211087        Implement load notification and events for <track>.
211088        https://bugs.webkit.org/show_bug.cgi?id=71054
211089
211090        Reviewed by Eric Carlson.
211091
211092        Tests: media/track/track-load-error-readyState.html
211093               media/track/track-load-from-element-readyState.html
211094               media/track/track-load-from-src-readyState.html
211095
211096        * html/HTMLMediaElement.cpp:
211097        (WebCore::HTMLMediaElement::trackWasAdded):
211098        (WebCore::HTMLMediaElement::trackWillBeRemoved):
211099        (WebCore::HTMLMediaElement::trackSourceChanged):
211100        * html/HTMLMediaElement.h:
211101        * html/HTMLTrackElement.cpp:
211102        (WebCore::HTMLTrackElement::insertedIntoTree):
211103        (WebCore::HTMLTrackElement::willRemove):
211104        (WebCore::HTMLTrackElement::parseMappedAttribute):
211105        (WebCore::HTMLTrackElement::attributeChanged):
211106        * html/HTMLTrackElement.h:
211107        * html/LoadableTextTrack.cpp:
211108        (WebCore::LoadableTextTrack::cueLoadingCompleted):
211109
2111102011-10-31  Andreas Kling  <kling@webkit.org>
211111
211112        CSSRule: Devirtualize type() and isFooRule()
211113        https://bugs.webkit.org/show_bug.cgi?id=71221
211114
211115        Reviewed by Antti Koivisto.
211116
211117        Store the rule type in a CSSRule member (packed with the parent-is-rule flag)
211118        and let the isFooRule() functions return type() == FOO_TYPE.
211119
211120        CSSPageRule will no longer return true for isStyleRule(), tweaked call sites
211121        accordingly.
211122
211123        * css/CSSCharsetRule.cpp:
211124        (WebCore::CSSCharsetRule::CSSCharsetRule):
211125        * css/CSSCharsetRule.h:
211126        * css/CSSFontFaceRule.cpp:
211127        (WebCore::CSSFontFaceRule::CSSFontFaceRule):
211128        * css/CSSFontFaceRule.h:
211129        * css/CSSImportRule.cpp:
211130        (WebCore::CSSImportRule::CSSImportRule):
211131        * css/CSSImportRule.h:
211132        * css/CSSMediaRule.cpp:
211133        (WebCore::CSSMediaRule::CSSMediaRule):
211134        * css/CSSMediaRule.h:
211135        * css/CSSPageRule.cpp:
211136        (WebCore::CSSPageRule::CSSPageRule):
211137        * css/CSSPageRule.h:
211138        * css/CSSRegionStyleRule.cpp:
211139        (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
211140        * css/CSSRegionStyleRule.h:
211141        * css/CSSRule.h:
211142        (WebCore::CSSRule::type):
211143        (WebCore::CSSRule::isCharsetRule):
211144        (WebCore::CSSRule::isFontFaceRule):
211145        (WebCore::CSSRule::isKeyframeRule):
211146        (WebCore::CSSRule::isKeyframesRule):
211147        (WebCore::CSSRule::isMediaRule):
211148        (WebCore::CSSRule::isPageRule):
211149        (WebCore::CSSRule::isStyleRule):
211150        (WebCore::CSSRule::isRegionStyleRule):
211151        (WebCore::CSSRule::isImportRule):
211152        (WebCore::CSSRule::CSSRule):
211153        * css/CSSStyleRule.cpp:
211154        (WebCore::CSSStyleRule::CSSStyleRule):
211155        * css/CSSStyleRule.h:
211156        * css/CSSStyleSelector.cpp:
211157        (WebCore::RuleSet::addPageRule):
211158        (WebCore::RuleSet::addRulesFromSheet):
211159        (WebCore::RuleSet::addStyleRule):
211160        * css/CSSUnknownRule.h:
211161        (WebCore::CSSUnknownRule::CSSUnknownRule):
211162        * css/WebKitCSSKeyframeRule.cpp:
211163        (WebCore::WebKitCSSKeyframeRule::WebKitCSSKeyframeRule):
211164        * css/WebKitCSSKeyframeRule.h:
211165        * css/WebKitCSSKeyframesRule.cpp:
211166        (WebCore::WebKitCSSKeyframesRule::WebKitCSSKeyframesRule):
211167        * css/WebKitCSSKeyframesRule.h:
211168        * inspector/InspectorCSSAgent.cpp:
211169        (WebCore::InspectorCSSAgent::asCSSStyleRule):
211170
2111712011-10-31  Pavel Feldman  <pfeldman@google.com>
211172
211173        Not reviewed: reorder inspector js files to fix remote mode.
211174
211175        * inspector/front-end/inspector.html:
211176
2111772011-10-28  Alexander Pavlov  <apavlov@chromium.org>
211178
211179        Web Inspector: [refactoring] TextPrompt: ensure encapsulation, extract history management
211180        https://bugs.webkit.org/show_bug.cgi?id=70936
211181
211182        Reviewed by Pavel Feldman.
211183
211184        * inspector/front-end/ConsoleView.js:
211185        (WebInspector.ConsoleView):
211186        * inspector/front-end/DatabaseQueryView.js:
211187        (WebInspector.DatabaseQueryView):
211188        (WebInspector.DatabaseQueryView.prototype._enterKeyPressed):
211189        * inspector/front-end/StylesSidebarPane.js:
211190        (WebInspector.StylesSidebarPane.prototype._attributesModified):
211191        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
211192        (WebInspector.StylePropertyTreeElement.prototype.selectElement.context):
211193        (WebInspector.StylePropertyTreeElement.prototype.selectElement.event):
211194        (WebInspector.StylePropertyTreeElement.prototype):
211195        (WebInspector.StylePropertyTreeElement.prototype.context.event):
211196        ():
211197        * inspector/front-end/TextPrompt.js:
211198        (WebInspector.TextPrompt):
211199        (WebInspector.TextPrompt.prototype.get proxyElement):
211200        (WebInspector.TextPrompt.prototype.attach):
211201        (WebInspector.TextPrompt.prototype.attachAndStartEditing):
211202        (WebInspector.TextPrompt.prototype._attachInternal):
211203        (WebInspector.TextPrompt.prototype.detach):
211204        (WebInspector.TextPrompt.prototype.get text):
211205        (WebInspector.TextPrompt.prototype.set text):
211206        (WebInspector.TextPrompt.prototype._removeFromElement):
211207        (WebInspector.TextPrompt.prototype._startEditing):
211208        (WebInspector.TextPrompt.prototype._stopEditing):
211209        (WebInspector.TextPrompt.prototype._selectStart.moveBackIfOutside):
211210        (WebInspector.TextPrompt.prototype._selectStart):
211211        (WebInspector.TextPrompt.prototype.defaultKeyHandler):
211212        (WebInspector.TextPrompt.prototype._onKeyDown):
211213        (WebInspector.TextPrompt.prototype.clearAutoComplete):
211214        (WebInspector.TextPrompt.prototype.complete):
211215        (WebInspector.TextPrompt.prototype._completionsReady):
211216        (WebInspector.TextPrompt.prototype.isCaretInsidePrompt):
211217        (WebInspector.TextPrompt.prototype.isCaretAtEndOfPrompt):
211218        (WebInspector.TextPrompt.prototype.isCaretOnFirstLine):
211219        (WebInspector.TextPrompt.prototype.isCaretOnLastLine):
211220        (WebInspector.TextPrompt.prototype.moveCaretToEndOfPrompt):
211221        (WebInspector.TextPrompt.prototype.upKeyPressed):
211222        (WebInspector.TextPrompt.prototype.downKeyPressed):
211223        (WebInspector.TextPrompt.prototype.tabKeyPressed):
211224        (WebInspector.TextPromptConfig):
211225        (WebInspector.TextPromptWithHistory):
211226        (WebInspector.TextPromptWithHistory.prototype.get historyData):
211227        (WebInspector.TextPromptWithHistory.prototype.setHistoryData):
211228        (WebInspector.TextPromptWithHistory.prototype.pushHistoryItem):
211229        (WebInspector.TextPromptWithHistory.prototype._pushCurrentText):
211230        (WebInspector.TextPromptWithHistory.prototype._previous):
211231        (WebInspector.TextPromptWithHistory.prototype._next):
211232        (WebInspector.TextPromptWithHistory.prototype._currentHistoryItem):
211233        (WebInspector.TextPromptWithHistory.prototype.defaultKeyHandler):
211234
2112352011-10-31  Pavel Feldman  <pfeldman@google.com>
211236
211237        Web Inspector: move localization support into UIUtil.js, reduce externs.
211238        https://bugs.webkit.org/show_bug.cgi?id=71220
211239
211240        Reviewed by Yury Semikhatsky.
211241
211242        * inspector/compile-front-end.sh:
211243        * inspector/front-end/AdvancedSearchController.js:
211244        (WebInspector.SearchView.prototype.focus):
211245        * inspector/front-end/ConsoleView.js:
211246        (WebInspector.ConsoleView.prototype.afterShow):
211247        * inspector/front-end/Drawer.js:
211248        * inspector/front-end/GoToLineDialog.js:
211249        (WebInspector.GoToLineDialog.prototype._hide):
211250        * inspector/front-end/HelpScreen.js:
211251        (WebInspector.HelpScreen.prototype.show):
211252        (WebInspector.HelpScreen.prototype.hide):
211253        (WebInspector.HelpScreen.prototype._onBlur):
211254        * inspector/front-end/InspectorFrontendHostStub.js:
211255        * inspector/front-end/KeyboardShortcut.js:
211256        (WebInspector.KeyboardShortcut._keyName):
211257        * inspector/front-end/Panel.js:
211258        (WebInspector.Panel.prototype.wasShown):
211259        * inspector/front-end/SearchController.js:
211260        (WebInspector.SearchController.prototype._onSearchFieldManualFocus):
211261        (WebInspector.SearchController.prototype._onKeyDown):
211262        * inspector/front-end/Settings.js:
211263        * inspector/front-end/SourceFrame.js:
211264        (WebInspector.SourceFrame):
211265        * inspector/front-end/Toolbar.js:
211266        (WebInspector.Toolbar.prototype._toolbarDragStart):
211267        * inspector/front-end/UIUtils.js:
211268        (WebInspector.startEditing.cleanUpAfterEditing):
211269        (WebInspector.startEditing.var):
211270        (WebInspector.startEditing):
211271        (WebInspector.UIString):
211272        (WebInspector.useLowerCaseMenuTitles):
211273        (WebInspector.platform):
211274        (WebInspector.isMac):
211275        (WebInspector.platformFlavor):
211276        (WebInspector.port):
211277        (WebInspector.installPortStyles):
211278        (WebInspector._windowFocused):
211279        (WebInspector._windowBlurred):
211280        (WebInspector.previousFocusElement):
211281        (WebInspector.currentFocusElement):
211282        (WebInspector._focusChanged):
211283        (WebInspector.setCurrentFocusElement):
211284        * inspector/front-end/externs.js:
211285        (Event.prototype.initWebKitWheelEvent):
211286        (window.getComputedStyle):
211287        (InspectorBackend.runAfterPendingDispatches):
211288        * inspector/front-end/inspector.js:
211289        (WebInspector.documentKeyDown):
211290        (WebInspector.addMainEventListeners):
211291
2112922011-10-31  Andreas Kling  <kling@webkit.org>
211293
211294        Kill StyleBase.
211295        https://bugs.webkit.org/show_bug.cgi?id=71218
211296
211297        Reviewed by Antti Koivisto.
211298
211299        Remove the StyleBase class and make all subclasses stand alone. CSSRule and StyleSheet
211300        now inherit from RefCounted<T> instead, and XSLImportRule doesn't even need that,
211301        so StyleBase is replaced by nothing.
211302
211303        * css/StyleBase.cpp:
211304        * css/StyleBase.h:
211305
211306            Removed.
211307
211308        * css/CSSRule.cpp:
211309        * css/CSSRule.h:
211310        (WebCore::CSSRule::~CSSRule):
211311        (WebCore::CSSRule::useStrictParsing):
211312        (WebCore::CSSRule::setParentStyleSheet):
211313        (WebCore::CSSRule::setParentRule):
211314        (WebCore::CSSRule::parentStyleSheet):
211315        (WebCore::CSSRule::parentRule):
211316        (WebCore::CSSRule::baseURL):
211317        (WebCore::CSSRule::CSSRule):
211318
211319            CSSRule now inherits directly from RefCounted, and has either a CSSRule or a
211320            CSSStyleSheet as its parent. Made these getters/setters inline since they are
211321            trivial now.
211322
211323        * CMakeLists.txt:
211324        * GNUmakefile.list.am:
211325        * WebCore.gypi:
211326        * WebCore.pro:
211327        * WebCore.vcproj/WebCore.vcproj:
211328        * WebCore.xcodeproj/project.pbxproj:
211329
211330            Purge StyleBase.* from the build systems.
211331
211332        * bindings/js/JSDOMBinding.h:
211333        (WebCore::root):
211334
211335            New root() functions for CSSRule and StyleSheet.
211336
211337        * bindings/js/JSNodeCustom.h:
211338
211339            Remove StyleBase.h include.
211340
211341        * css/CSSStyleSheet.h:
211342        (WebCore::CSSStyleSheet::parentStyleSheet):
211343
211344            Added CSS-specific parentStyleSheet() so we don't have to cast it to a
211345            CSSStyleSheet* at the call sites.
211346
211347        * css/StyleSheet.cpp:
211348        (WebCore::StyleSheet::StyleSheet):
211349        (WebCore::StyleSheet::parentStyleSheet):
211350        (WebCore::StyleSheet::baseURL):
211351        * css/StyleSheet.h:
211352        (WebCore::StyleSheet::parentRule):
211353        (WebCore::StyleSheet::setParentRule):
211354        (WebCore::StyleSheet::isCSSStyleSheet):
211355        (WebCore::StyleSheet::isXSLStyleSheet):
211356
211357            StyleSheet now inherits directly from RefCounted and always has a parent CSSRule
211358            though it can be null. parentStyleSheet() returns that rule's parent style sheet.
211359            Moved the relevant guts from StyleBase down here.
211360
211361        * loader/cache/CachedStyleSheetClient.h:
211362
211363            Remove unnecessary WTF_MAKE_FAST_ALLOCATED, we get it from CachedResourceClient.
211364
211365        * xml/XSLImportRule.cpp:
211366        (WebCore::XSLImportRule::XSLImportRule):
211367        (WebCore::XSLImportRule::~XSLImportRule):
211368        (WebCore::XSLImportRule::parentStyleSheet):
211369        (WebCore::XSLImportRule::setXSLStyleSheet):
211370        (WebCore::XSLImportRule::loadSheet):
211371        * xml/XSLImportRule.h:
211372        (WebCore::XSLImportRule::create):
211373        (WebCore::XSLImportRule::setParentStyleSheet):
211374
211375            Remove inheritance from StyleBase, and have create() return a PassOwnPtr instead.
211376            This is fine, since XSLStyleSheet is the only object that ever manages these rules.
211377
211378        * svg/SVGFontFaceElement.cpp:
211379        (WebCore::SVGFontFaceElement::insertedIntoDocument):
211380        * css/CSSStyleSheet.cpp:
211381        (WebCore::CSSStyleSheet::~CSSStyleSheet):
211382        (WebCore::CSSStyleSheet::ownerRule):
211383        (WebCore::CSSStyleSheet::deleteRule):
211384        (WebCore::CSSStyleSheet::checkLoaded):
211385        (WebCore::CSSStyleSheet::document):
211386        (WebCore::CSSStyleSheet::styleSheetChanged):
211387        * css/CSSImportRule.cpp:
211388        (WebCore::CSSImportRule::~CSSImportRule):
211389        (WebCore::CSSImportRule::setCSSStyleSheet):
211390        (WebCore::CSSImportRule::insertedIntoParent):
211391        * css/CSSMediaRule.cpp:
211392        (WebCore::CSSMediaRule::CSSMediaRule):
211393        (WebCore::CSSMediaRule::~CSSMediaRule):
211394        (WebCore::CSSMediaRule::append):
211395        (WebCore::CSSMediaRule::insertRule):
211396        (WebCore::CSSMediaRule::deleteRule):
211397        * css/CSSRegionStyleRule.cpp:
211398        (WebCore::CSSRegionStyleRule::CSSRegionStyleRule):
211399        (WebCore::CSSRegionStyleRule::~CSSRegionStyleRule):
211400        * css/CSSRuleList.cpp:
211401        (WebCore::CSSRuleList::deleteRule):
211402        * css/CSSStyleDeclaration.h:
211403        * css/WebKitCSSKeyframesRule.cpp:
211404        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
211405        (WebCore::WebKitCSSKeyframesRule::setName):
211406        (WebCore::WebKitCSSKeyframesRule::append):
211407        * dom/ProcessingInstruction.cpp:
211408        (WebCore::ProcessingInstruction::parseStyleSheet):
211409        * inspector/InspectorCSSAgent.cpp:
211410        (WebCore::InspectorCSSAgent::parentStyleSheet):
211411        * xml/XSLStyleSheet.h:
211412        * xml/XSLStyleSheetLibxslt.cpp:
211413        (WebCore::XSLStyleSheet::XSLStyleSheet):
211414        (WebCore::XSLStyleSheet::~XSLStyleSheet):
211415        (WebCore::XSLStyleSheet::checkLoaded):
211416        (WebCore::XSLStyleSheet::loadChildSheet):
211417        * xml/XSLStyleSheetQt.cpp:
211418        (WebCore::XSLStyleSheet::~XSLStyleSheet):
211419
211420            Use the new, more explicit, parenting functions of StyleSheet.
211421
2114222011-10-31  Nikolas Zimmermann  <nzimmermann@rim.com>
211423
211424        CSS 2.1 failure: background-intrinsic-*
211425        https://bugs.webkit.org/show_bug.cgi?id=47156
211426
211427        SVGs do not work as tiled background images
211428        https://bugs.webkit.org/show_bug.cgi?id=16281
211429
211430        Apply preserveAspectRatio and synthesize viewboxes in <img>
211431        https://bugs.webkit.org/show_bug.cgi?id=34521
211432
211433        SVG background doesn't resize properly when dimensions are changed
211434        https://bugs.webkit.org/show_bug.cgi?id=42944
211435
211436        Images with percent height inside a floated div should use intrinsic height.
211437        https://bugs.webkit.org/show_bug.cgi?id=45439
211438
211439        SVG image in HTML changes size as the window is resized
211440        https://bugs.webkit.org/show_bug.cgi?id=52045
211441
211442        Reviewed by Antti Koivisto.
211443
211444        Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
211445        This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
211446
211447        Tests: css2.1/20110323/background-intrinsic-001.htm
211448               css2.1/20110323/background-intrinsic-002.htm
211449               css2.1/20110323/background-intrinsic-003.htm
211450               css2.1/20110323/background-intrinsic-004.htm
211451               css2.1/20110323/background-intrinsic-005.htm
211452               css2.1/20110323/background-intrinsic-006.htm
211453               css2.1/20110323/background-intrinsic-007.htm
211454               css2.1/20110323/background-intrinsic-008.htm
211455               css2.1/20110323/background-intrinsic-009.htm
211456               svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
211457               svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
211458               svg/as-background-image/same-image-two-instances-background-image.html
211459               svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
211460               svg/as-image/same-image-two-instances.html
211461               svg/as-image/svg-as-relative-image-with-explicit-size.html
211462               svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
211463               svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
211464               svg/zoom/page/zoom-svg-as-image.html
211465               svg/zoom/page/zoom-svg-as-relative-image.html
211466
211467        * css/CSSImageGeneratorValue.cpp:
211468        (WebCore::CSSImageGeneratorValue::addClient): Pass default zoom factor.
211469        (WebCore::CSSImageGeneratorValue::getImage): Ditto.
211470        * loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
211471        (WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
211472        (WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
211473        (WebCore::CachedImage::imageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
211474        (WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
211475        (WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
211476        (WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
211477        * loader/cache/CachedImage.h:
211478        * page/ChromeClient.h:
211479        (WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
211480        * platform/graphics/Image.h:
211481        (WebCore::Image::setImageObserver): Add helper.
211482        * rendering/ImageBySizeCache.cpp: Cleanup code.
211483        (WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
211484        (WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
211485        (WebCore::ImageBySizeCache::getImage): Add zoom parameter.
211486        (WebCore::ImageBySizeCache::getRequestedSizeAndZoom): Add way to get requested size from cache, instead of actual cached sizes.
211487        (WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
211488        (WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
211489        * rendering/ImageBySizeCache.h: Cleaup code, introduce struct that replaces the std::pair<IntSize, int>.
211490        (WebCore::SizeZoomAndCount::SizeZoomAndCount):
211491        * rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
211492        (WebCore::resolveWidthForRatio): New inline helper function used by calculateImageIntrinsicDimensions.
211493        (WebCore::resolveHeightForRatio): Ditto.
211494        (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
211495        (WebCore::resolveAgainstIntrinsicRatio):  Ditto.
211496        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
211497        (WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
211498        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
211499        (WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
211500        * rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
211501        * rendering/RenderImage.cpp:
211502        (WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
211503        (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
211504        (WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
211505        (WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
211506        (WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
211507        (WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
211508        (WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
211509        * rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
211510        * rendering/RenderImageResource.cpp:
211511        (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
211512        * rendering/RenderImageResourceStyleImage.cpp:
211513        (WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
211514        (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
211515        * rendering/RenderImageResourceStyleImage.h:
211516        * rendering/RenderListMarker.cpp:
211517        (WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
211518        * rendering/RenderReplaced.cpp:
211519        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
211520        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
211521        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
211522        * rendering/style/StyleCachedImage.cpp:
211523        (WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
211524        (WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
211525        * rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
211526        * rendering/style/StyleGeneratedImage.h:
211527        (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
211528        * rendering/style/StyleImage.h: Ditto.
211529        * rendering/style/StylePendingImage.h:
211530        (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
211531        * rendering/svg/RenderSVGImage.cpp:
211532        (WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
211533        * rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
211534        (WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
211535        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
211536        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
211537        (WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
211538        (WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize. 
211539        (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
211540        * rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
211541        (WebCore::RenderSVGRoot::containerSize):
211542        (WebCore::RenderSVGRoot::setContainerSize):
211543        * svg/SVGLength.cpp:
211544        (WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
211545        * svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
211546        (WebCore::SVGSVGElement::SVGSVGElement): Ditto.
211547        (WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
211548        * svg/SVGSVGElement.h:
211549        * svg/graphics/SVGImage.cpp:
211550        (WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
211551        (WebCore::SVGImage::createWithDataAndSize): Add new helper function.
211552        (WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
211553        (WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
211554        (WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
211555        (WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
211556        (WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
211557        (WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation. 
211558        (WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
211559        * svg/graphics/SVGImage.h:
211560
2115612011-10-31  Yury Semikhatsky  <yurys@chromium.org>
211562
211563        Unreviewed. Add ResourcePreviewView.js to the list of inspector front-end
211564        files on Qt.
211565
211566        * inspector/front-end/WebKit.qrc:
211567
2115682011-10-31  Pavel Feldman  <pfeldman@google.com>
211569
211570        Web Inspector: do not map scripts generated with document.write to the document resources.
211571        https://bugs.webkit.org/show_bug.cgi?id=71114
211572
211573        Reviewed by Yury Semikhatsky.
211574
211575        Test: inspector/debugger/bind-script-to-resource.html
211576
211577        * inspector/front-end/DebuggerPresentationModel.js:
211578        (WebInspector.DebuggerPresentationModel):
211579        (WebInspector.DebuggerPresentationModel.prototype._addScript):
211580        (WebInspector.DebuggerPresentationModel.prototype._bindScriptToRawSourceCode):
211581        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScriptWithURL):
211582        (WebInspector.DebuggerPresentationModel.prototype._rawSourceCodeForScript):
211583        (WebInspector.DebuggerPresentationModel.prototype._scriptForRawSourceCode):
211584        (WebInspector.DebuggerPresentationModel.prototype._debuggerReset):
211585        * inspector/front-end/RawSourceCode.js:
211586        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent.didFormatContent):
211587        (WebInspector.RawSourceCode.prototype._createSourceMapping.didRequestContent):
211588        (WebInspector.RawSourceCode.prototype._createSourceMapping):
211589        * inspector/front-end/Script.js:
211590
2115912011-10-31  Antti Koivisto  <antti@apple.com>
211592
211593        https://bugs.webkit.org/show_bug.cgi?id=71012
211594        Use StringHasher to generate the matched declaration cache hash
211595
211596        Reviewed by Sam Weinig.
211597
211598        Make sure the MatchedStyleDeclarations are fully zero-initialized as we calculate a hash over a raw memory array of these.
211599
211600        * css/CSSStyleSelector.cpp:
211601        (WebCore::CSSStyleSelector::MatchedStyleDeclaration::MatchedStyleDeclaration):
211602        (WebCore::CSSStyleSelector::addMatchedDeclaration):
211603        * css/CSSStyleSelector.h:
211604
2116052011-10-31  Carlos Garcia Campos  <cgarcia@igalia.com>
211606
211607        Unreviewed. Fix make distcheck build.
211608
211609        * GNUmakefile.am: Add InFilesCompiler.pm to SCRIPTS_BINDINGS and
211610        EXTRA_DIST. Also remove duplicated entries in EXTRA_DIST.
211611
2116122011-10-31  Pavel Feldman  <pfeldman@chromium.org>
211613
211614        Web Inspector: factor out ResourceUtils, clean up externs.
211615        https://bugs.webkit.org/show_bug.cgi?id=71192
211616
211617        Reviewed by Yury Semikhatsky.
211618
211619        * WebCore.gypi:
211620        * WebCore.vcproj/WebCore.vcproj:
211621        * inspector/compile-front-end.sh:
211622        * inspector/front-end/ConsoleMessage.js:
211623        (WebInspector.ConsoleMessageImpl.prototype._linkifyLocation):
211624        * inspector/front-end/DebuggerPresentationModel.js:
211625        * inspector/front-end/ProfilesPanel.js:
211626        * inspector/front-end/Resource.js:
211627        (WebInspector.Resource.displayName):
211628        * inspector/front-end/ResourceTreeModel.js:
211629        (WebInspector.ResourceTreeModel.prototype._createResource):
211630        * inspector/front-end/ResourceUtils.js: Added.
211631        (WebInspector.resourceForURL):
211632        (WebInspector.forAllResources):
211633        (WebInspector.displayNameForURL):
211634        (WebInspector.linkifyStringAsFragmentWithCustomLinkifier):
211635        (WebInspector.registerLinkifierPlugin):
211636        (WebInspector.linkifyStringAsFragment):
211637        (WebInspector.linkifyURLAsNode):
211638        (WebInspector.linkifyURL):
211639        (WebInspector.formatLinkText):
211640        (WebInspector.linkifyResourceAsNode):
211641        (WebInspector.resourceURLForRelatedNode.callback):
211642        (WebInspector.resourceURLForRelatedNode):
211643        (WebInspector.populateHrefContextMenu):
211644        (WebInspector.completeURL):
211645        * inspector/front-end/StylesSidebarPane.js:
211646        (WebInspector.StylePropertyTreeElement.prototype.selectElement):
211647        * inspector/front-end/WebKit.qrc:
211648        * inspector/front-end/externs.js:
211649        * inspector/front-end/inspector.html:
211650        * inspector/front-end/inspector.js:
211651        (WebInspector.networkResourceById):
211652        * inspector/front-end/utilities.js:
211653        (setupPrototypeUtilities.Element.prototype.selectionLeftOffset):
211654
2116552011-10-28  Alexander Pavlov  <apavlov@chromium.org>
211656
211657        Web Inspector: Using keyboard to increment/decrement units is inconsistent
211658        https://bugs.webkit.org/show_bug.cgi?id=71119
211659
211660        Reviewed by Pavel Feldman.
211661
211662        This change makes the behavior consistent with that described at http://trac.webkit.org/wiki/WebInspector
211663
211664        * inspector/front-end/StylesSidebarPane.js:
211665        (WebInspector.StylesSidebarPane.alteredFloatNumber):
211666        (WebInspector.StylesSidebarPane.prototype._attributesModified):
211667
2116682011-10-29  Martin Robinson  <mrobinson@igalia.com>
211669
211670        [GTK] Switch to a backing store approach for painting WebKitWebView
211671        https://bugs.webkit.org/show_bug.cgi?id=70213
211672
211673        Reviewed by Gustavo Noronha Silva.
211674
211675        No new tests. The changes to WebCore should not change
211676        behavior. The changes in WebKit are covered by existing
211677        tests.
211678
211679        * platform/cairo/WidgetBackingStore.h:
211680        (WebCore::WidgetBackingStore::size): Added this getter for the size.
211681        * platform/cairo/WidgetBackingStoreCairo.cpp:
211682        (WebCore::WidgetBackingStore::WidgetBackingStore): Initialize size.
211683        * platform/graphics/cairo/CairoUtilities.cpp:
211684        (WebCore::copyRectFromCairoSurfaceToContext): Added this new helper.
211685        (WebCore::copyRectFromOneSurfaceToAnother): Use the new helper.
211686        * platform/graphics/cairo/CairoUtilities.h:
211687        * platform/gtk/GtkWidgetBackingStoreX11.cpp:
211688        (WebCore::WidgetBackingStore::WidgetBackingStore): Initialize the size.
211689
2116902011-10-30  Sheriff Bot  <webkit.review.bot@gmail.com>
211691
211692        Unreviewed, rolling out r98803.
211693        http://trac.webkit.org/changeset/98803
211694        https://bugs.webkit.org/show_bug.cgi?id=71186
211695
211696        Causing test and assertion failures on some platforms
211697        (Requested by anttik on #webkit).
211698
211699        * css/CSSStyleSelector.cpp:
211700        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
211701
2117022011-10-29  Mark Rowe  <mrowe@apple.com>
211703
211704        Build fix.
211705
211706        * platform/graphics/mac/WebLayer.mm:
211707        (drawLayerContents):
211708
2117092011-10-29  Mark Rowe  <mrowe@apple.com>
211710
211711        Build fix.
211712
211713        * editing/Editor.cpp:
211714        (WebCore::Editor::markMisspellingsAfterTypingToWord):
211715
2117162011-10-29  Daniel Cheng  <dcheng@chromium.org>
211717
211718        Rename DataTransferItems to DataTransferItemList
211719        https://bugs.webkit.org/show_bug.cgi?id=71151
211720
211721        Per feedback that Items and Item are hard to distinguish between, the HTML5 spec renamed
211722        DataTransferItems to DataTransferItemList:
211723        http://www.whatwg.org/specs/web-apps/current-work/multipage/dnd.html#the-datatransferitemlist-interface
211724
211725        Reviewed by Tony Chang.
211726
211727        * CMakeLists.txt:
211728        * CodeGenerators.pri:
211729        * DerivedSources.cpp:
211730        * DerivedSources.make:
211731        * GNUmakefile.list.am:
211732        * WebCore.gypi:
211733        * WebCore.pro:
211734        * WebCore.vcproj/WebCore.vcproj:
211735        * WebCore.xcodeproj/project.pbxproj:
211736        * dom/Clipboard.h:
211737        * dom/Clipboard.idl:
211738        * dom/DataTransferItemList.cpp: Renamed from Source/WebCore/dom/DataTransferItems.cpp.
211739        (WebCore::DataTransferItemList::DataTransferItemList):
211740        (WebCore::DataTransferItemList::length):
211741        (WebCore::DataTransferItemList::item):
211742        (WebCore::DataTransferItemList::deleteItem):
211743        (WebCore::DataTransferItemList::clear):
211744        (WebCore::DataTransferItemList::add):
211745        * dom/DataTransferItemList.h: Renamed from Source/WebCore/dom/DataTransferItems.h.
211746        (WebCore::DataTransferItemList::~DataTransferItemList):
211747        * dom/DataTransferItemList.idl: Renamed from Source/WebCore/dom/DataTransferItems.idl.
211748        * platform/chromium/ClipboardChromium.cpp:
211749        (WebCore::ClipboardChromium::items):
211750        * platform/chromium/ClipboardChromium.h:
211751        * platform/chromium/DataTransferItemListChromium.cpp: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.cpp.
211752        (WebCore::DataTransferItemListChromium::create):
211753        (WebCore::DataTransferItemListChromium::DataTransferItemListChromium):
211754        (WebCore::DataTransferItemListChromium::addPasteboardItem):
211755        * platform/chromium/DataTransferItemListChromium.h: Renamed from Source/WebCore/platform/chromium/DataTransferItemsChromium.h.
211756        * platform/qt/ClipboardQt.cpp:
211757        (WebCore::ClipboardQt::items):
211758        * platform/qt/ClipboardQt.h:
211759        * platform/qt/DataTransferItemListQt.cpp: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.cpp.
211760        (WebCore::DataTransferItemListQt::create):
211761        (WebCore::DataTransferItemListQt::DataTransferItemListQt):
211762        (WebCore::DataTransferItemListQt::addPasteboardItem):
211763        * platform/qt/DataTransferItemListQt.h: Renamed from Source/WebCore/platform/qt/DataTransferItemsQt.h.
211764
2117652011-10-03  Robert Hogan  <robert@webkit.org>
211766
211767        CSS 2.1 failure: block-non-replaced-width-008.htm
211768        https://bugs.webkit.org/show_bug.cgi?id=69278
211769
211770        Reviewed by Simon Fraser.
211771
211772        * rendering/RenderBox.cpp:
211773        (WebCore::RenderBox::computeLogicalWidthUsing):
211774          Include the margins in the calculation of logical width even when the containing block's
211775          width is zero. This is required by section '10.3.3 Block-level, non-replaced elements in
211776          normal flow' in the CSS 2.1 spec. Tested by block-non-replaced-width-008.htm in the CSS
211777          test suite.
211778
2117792011-10-29  Anna Cavender  <annacc@chromium.org>
211780
211781        Make sure TextTracks are destructed if HTMLMediaElement goes away.
211782        https://bugs.webkit.org/show_bug.cgi?id=71148
211783
211784        Reviewed by Eric Carlson.
211785
211786        Test: media/track/track-text-track-destructor-crash.html
211787
211788        * html/HTMLMediaElement.cpp:
211789        (WebCore::HTMLMediaElement::~HTMLMediaElement):
211790            Destroy the client (this) on TextTracks.
211791        (WebCore::HTMLMediaElement::loadTextTracks):
211792            Move TextTrack creation to loadNextTextTrack.
211793        (WebCore::HTMLMediaElement::loadNextTextTrack):
211794            Keep track of new TextTrack in a list.
211795        (WebCore::HTMLMediaElement::addTrack):
211796            Keep track of new TextTrack in a list.
211797        * html/HTMLMediaElement.h:
211798            Add m_textTracks and loadNextTextTrack().
211799
2118002011-10-29  Jochen Eisinger  <jochen@chromium.org>
211801
211802        Implement IDBFactory.deleteDatabase
211803        https://bugs.webkit.org/show_bug.cgi?id=62622
211804
211805        Reviewed by Tony Chang.
211806
211807        Tests: storage/indexeddb/factory-deletedatabase-interactions.html
211808               storage/indexeddb/factory-deletedatabase.html
211809
211810        * storage/IDBBackingStore.h:
211811        * storage/IDBDatabaseBackendImpl.cpp:
211812        (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::create):
211813        (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::callbacks):
211814        (WebCore::IDBDatabaseBackendImpl::PendingDeleteCall::PendingDeleteCall):
211815        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
211816        (WebCore::IDBDatabaseBackendImpl::openInternal):
211817        (WebCore::IDBDatabaseBackendImpl::processPendingCalls):
211818        (WebCore::IDBDatabaseBackendImpl::openConnection):
211819        (WebCore::IDBDatabaseBackendImpl::deleteDatabase):
211820        * storage/IDBDatabaseBackendImpl.h:
211821        * storage/IDBFactory.cpp:
211822        (WebCore::IDBFactory::deleteDatabase):
211823        * storage/IDBFactory.h:
211824        * storage/IDBFactory.idl:
211825        * storage/IDBFactoryBackendImpl.cpp:
211826        (WebCore::IDBFactoryBackendImpl::deleteDatabase):
211827        * storage/IDBFactoryBackendImpl.h:
211828        * storage/IDBFactoryBackendInterface.h:
211829        * storage/IDBLevelDBBackingStore.cpp:
211830        (WebCore::deleteRange):
211831        (WebCore::IDBLevelDBBackingStore::deleteDatabase):
211832        * storage/IDBLevelDBBackingStore.h:
211833        * storage/IDBRequest.cpp:
211834        (WebCore::IDBRequest::dispatchEvent):
211835
2118362011-10-28  Robert Hogan  <robert@webkit.org>
211837
211838        CSS 2.1 failure: dynamic-top-change-001 to 004 fail
211839        https://bugs.webkit.org/show_bug.cgi?id=68149
211840
211841        Reviewed by David Hyatt.
211842
211843        In these tests a child inherits its top value from its parent and the parent's top value
211844        is later updated by an onload event. The updated value is expected to cascade to the child.
211845
211846        The tests were failing because updating the value did not cascade immediately to the child inheriting it, though
211847        it could be forced eventually with a full recalculation of the RenderStyle by changing the zoom factor
211848        or opening the inspector.
211849
211850        The fix is to let the parent RenderStyle know that a child inherits a property explicitly and
211851        recalculate children's style if the parent ever changes. This only happens if the property is inherited
211852        explicitly, it does not apply to cases where the property is inherited by default.
211853
211854        * css/CSSStyleSelector.cpp:
211855        (WebCore::CSSStyleSelector::applyProperty):
211856        * dom/Node.cpp:
211857        (WebCore::Node::diff):
211858        * rendering/style/RenderStyle.cpp:
211859        (WebCore::RenderStyle::RenderStyle):
211860        * rendering/style/RenderStyle.h:
211861        (WebCore::InheritedFlags::setHasExplicitlyInheritedProperties):
211862        (WebCore::InheritedFlags::hasExplicitlyInheritedProperties):
211863
2118642011-10-29  Antti Koivisto  <antti@apple.com>
211865
211866        Tighten font change conditions in matched declaration cache
211867        https://bugs.webkit.org/show_bug.cgi?id=71026
211868
211869        Reviewed by Darin Adler.
211870
211871        We currently test if font description has changed to see if all properties need to be applied. However
211872        only a few size related metrics can actually affect other properties. We can just test those, making 
211873        the cache somewhat more effective while also making the equality test faster.
211874        
211875        * css/CSSStyleSelector.cpp:
211876        (WebCore::fontDifferenceAffectsNonInherited):
211877        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
211878    
211879            Test for text computedSize, xHeight and orientation only. Other text properties don't affect computed
211880            values of non-text CSS properties.
211881
2118822011-10-29  Adam Barth  <abarth@webkit.org>
211883
211884        DOMURL should keep its own state rather than storing it on ScriptExecutionContext
211885        https://bugs.webkit.org/show_bug.cgi?id=71169
211886
211887        Reviewed by Eric Seidel.
211888
211889        This patch untwists this code.  I think this code was originally
211890        twisted because these APIs moved onto DOMURL after they were first
211891        implemented.
211892
211893        * dom/ScriptExecutionContext.cpp:
211894        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
211895        * dom/ScriptExecutionContext.h:
211896        * fileapi/FileWriter.h:
211897        * html/DOMURL.cpp:
211898        (WebCore::DOMURL::contextDestroyed):
211899        (WebCore::DOMURL::createObjectURL):
211900        (WebCore::DOMURL::revokeObjectURL):
211901        * html/DOMURL.h:
211902
2119032011-10-29  Sheriff Bot  <webkit.review.bot@gmail.com>
211904
211905        Unreviewed, rolling out r98795.
211906        http://trac.webkit.org/changeset/98795
211907        https://bugs.webkit.org/show_bug.cgi?id=71171
211908
211909        Causes worker tests to crash (Requested by abarth on #webkit).
211910
211911        * dom/ActiveDOMObject.cpp:
211912        (WebCore::ContextDestructionObserver::contextDestroyed):
211913        * dom/MessagePort.cpp:
211914        (WebCore::MessagePort::MessagePort):
211915        (WebCore::MessagePort::contextDestroyed):
211916        * dom/MessagePort.h:
211917        * dom/ScriptExecutionContext.cpp:
211918        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
211919        (WebCore::ScriptExecutionContext::closeMessagePorts):
211920
2119212011-10-28  Ryosuke Niwa  <rniwa@webkit.org>
211922
211923        Potential crash in ReplaceNodeWithSpanCommand
211924        https://bugs.webkit.org/show_bug.cgi?id=71145
211925
211926        Reviewed by Ojan Vafai.
211927
211928        Fix a potential crash without tests because we don't have a reduction.
211929
211930        * editing/ReplaceNodeWithSpanCommand.cpp:
211931        (WebCore::swapInNodePreservingAttributesAndChildren):
211932
2119332011-10-28  Adam Barth  <abarth@webkit.org>
211934
211935        MessagePort should be a ContextDestructionObserver
211936        https://bugs.webkit.org/show_bug.cgi?id=71167
211937
211938        Reviewed by Eric Seidel.
211939
211940        I couldn't quite get rid of all the uses of the
211941        ScriptExecutionContext::m_messagePorts in this patch.  I hope to get
211942        rid of them in the future as the "extra data" design for
211943        ScriptExecutionContext emerges.
211944
211945        * dom/ActiveDOMObject.cpp:
211946        (WebCore::ContextDestructionObserver::contextDestroyed):
211947        * dom/MessagePort.cpp:
211948        (WebCore::MessagePort::MessagePort):
211949        (WebCore::MessagePort::contextDestroyed):
211950        * dom/MessagePort.h:
211951        * dom/ScriptExecutionContext.cpp:
211952        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
211953        (WebCore::ScriptExecutionContext::closeMessagePorts):
211954
2119552011-10-28  Ryosuke Niwa  <rniwa@webkit.org>
211956
211957        The copy and paste result in nested scrollbars on http://dojotoolkit.org/widgets
211958        https://bugs.webkit.org/show_bug.cgi?id=70799
211959
211960        Reviewed by Enrica Casucci.
211961
211962        The bug was caused by WebKit's treating a fully selected root with background property as a special common ancestor.
211963        A variant of this bug was caused by treating any element with text-decoration property as a presentational element.
211964
211965        Fixed the above two bugs by not serializing the said nodes. The effective background color was already serialized
211966        by wrappingStyleForSerialization, there was nothing to be done besides stop including it in highestAncestorToWrapMarkup.
211967
211968        For text-decoration property, added the logic to compute the effective value in EditingStyle::init. Also treat it
211969        as a non-inheritable editing property so that the rest of EditingStyle just works.
211970
211971        Test: editing/pasteboard/avoid-copying-body-with-background.html
211972
211973        * editing/EditingStyle.cpp: Added CSSPropertyTextDecoration to the list of editing properties.
211974        (WebCore::copyEditingProperties):
211975        (WebCore::EditingStyle::init): Compute the effective text decoration when propertiesToInclude is
211976        EditingPropertiesInEffect.
211977        (WebCore::EditingStyle::prepareToApplyAt):
211978        (WebCore::EditingStyle::mergeInlineStyleOfElement):
211979        (WebCore::EditingStyle::wrappingStyleForSerialization):
211980        (WebCore::EditingStyle::removeStyleFromRulesAndContext):
211981        * editing/EditingStyle.h: Renamed EditingInheritablePropertiesAndBackgroundColorInEffect to
211982        EditingPropertiesInEffect.
211983        * editing/markup.cpp:
211984        (WebCore::StyledMarkupAccumulator::appendStyleNodeOpenTag): Removed an assertion that's no longer valid.
211985        (WebCore::isElementPresentational): Don't consider an element with text-decoration as a presentational element.
211986        (WebCore::highestAncestorToWrapMarkup): Don't consider fully selected root as a special common ancestor ever.
211987        Background color is computed property when we compute the wrapping style.
211988        (WebCore::createMarkup):
211989
2119902011-10-28  Adam Barth  <abarth@webkit.org>
211991
211992        Rename ExceptionCodeDescription.in to DOMExceptions.in
211993        https://bugs.webkit.org/show_bug.cgi?id=71157
211994
211995        Reviewed by Eric Seidel.
211996
211997        This file is now used for more than just the descriptions of the exceptions.
211998
211999        * CMakeLists.txt:
212000        * CodeGenerators.pri:
212001        * DerivedSources.make:
212002        * GNUmakefile.am:
212003        * WebCore.gyp/WebCore.gyp:
212004        * WebCore.gyp/scripts/action_makenames.py:
212005        * dom/DOMExceptions.in: Copied from Source/WebCore/dom/ExceptionCodeDescription.in.
212006        * dom/ExceptionCodeDescription.in: Removed.
212007        * dom/make_dom_exceptions.pl: Copied from Source/WebCore/dom/make_exception_code_description.pl.
212008        * dom/make_exception_code_description.pl: Removed.
212009
2120102011-10-28  Chris Rogers  <crogers@google.com>
212011
212012        SincResampler must be able to resample progressively
212013        https://bugs.webkit.org/show_bug.cgi?id=71131
212014
212015        Reviewed by Kenneth Russell.
212016
212017        No new tests.  There is not yet an implementation using progressive resampling to test.
212018
212019        * platform/audio/SincResampler.cpp:
212020        (WebCore::SincResampler::SincResampler):
212021        (WebCore::SincResampler::consumeSource):
212022        (WebCore::SincResampler::process):
212023        * platform/audio/SincResampler.h:
212024
2120252011-10-28  Adam Klein  <adamk@chromium.org>
212026
212027        [MutationObservers] Support attributeOldValue for attribute mutations
212028        https://bugs.webkit.org/show_bug.cgi?id=70861
212029
212030        Reviewed by Ryosuke Niwa.
212031
212032        Respect 'attributeOldValue' when passed to WebKitMutationObserver.observe().
212033
212034        If multiple observers have different attributeOldValue settings in
212035        their registrations, two different MutationRecords are created (one is
212036        a wrapper around the other).
212037
212038        If a single observer has multiple registrations that apply to a single
212039        mutation, and those registrations have different values for
212040        attributeOldValue, the observer is passed the oldValue.
212041
212042        * dom/Element.cpp:
212043        (WebCore::hasOldValue):
212044        (WebCore::enqueueAttributesMutationRecord):
212045        (WebCore::Element::setAttribute):
212046        * dom/MutationRecord.cpp:
212047        (WebCore::MutationRecord::createAttributes):
212048        (WebCore::MutationRecord::createWithNullOldValue):
212049        * dom/MutationRecord.h:
212050        (WebCore::MutationRecord::oldValue):
212051
2120522011-10-28  Adam Barth  <abarth@webkit.org>
212053
212054        Delete ExceptionCode.cpp, which is empty
212055        https://bugs.webkit.org/show_bug.cgi?id=71159
212056
212057        Reviewed by Eric Seidel.
212058
212059        This file has been stripped down to nothing and can be removed.
212060
212061        * CMakeLists.txt:
212062        * GNUmakefile.list.am:
212063        * WebCore.gypi:
212064        * WebCore.pro:
212065        * WebCore.vcproj/WebCore.vcproj:
212066        * WebCore.xcodeproj/project.pbxproj:
212067        * dom/DOMAllInOne.cpp:
212068        * dom/ExceptionCode.cpp: Removed.
212069
2120702011-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
212071
212072        Unreviewed, rolling out r98776.
212073        http://trac.webkit.org/changeset/98776
212074        https://bugs.webkit.org/show_bug.cgi?id=71164
212075
212076        caused lots of test crashes (Requested by smfr on #webkit).
212077
212078        * rendering/RenderLayer.cpp:
212079        (WebCore::RenderLayer::updateVisibilityStatus):
212080        (WebCore::RenderLayer::dirtyZOrderLists):
212081        * rendering/RenderLayer.h:
212082        * rendering/RenderLayerCompositor.cpp:
212083        (WebCore::RenderLayerCompositor::enableCompositingMode):
212084
2120852011-10-28  John Sullivan  <sullivan@apple.com>
212086
212087        Improvement to the fix for:
212088        https://bugs.webkit.org/show_bug.cgi?id=71142
212089        Whether backspace goes Back should be configurable
212090
212091        Reviewed by Dan Bernstein.
212092
212093        * page/EventHandler.cpp:
212094        (WebCore::EventHandler::defaultBackspaceEventHandler):
212095        Do the frame->settings() check after the !page check, since
212096        a null page means null settings.
212097
2120982011-10-28  Adam Barth  <abarth@webkit.org>
212099
212100        Make DOMURL a ContextDestructionObserver
212101        https://bugs.webkit.org/show_bug.cgi?id=71162
212102
212103        Reviewed by Eric Seidel.
212104
212105        This removes a bunch of hand-rolled ifdefed code.
212106
212107        * dom/ActiveDOMObject.h:
212108            - One-argument constructors should be explicit.
212109        * dom/ScriptExecutionContext.cpp:
212110        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
212111        * dom/ScriptExecutionContext.h:
212112        * html/DOMURL.cpp:
212113        (WebCore::DOMURL::DOMURL):
212114        (WebCore::DOMURL::~DOMURL):
212115        * html/DOMURL.h:
212116
2121172011-10-28  Adam Barth  <abarth@webkit.org>
212118
212119        Factor ContextDestructionObserver out of ActiveDOMObject
212120        https://bugs.webkit.org/show_bug.cgi?id=71153
212121
212122        Reviewed by Sam Weinig.
212123
212124        This patch paves the way to make more objects observe the destruction
212125        of ScriptExecutioContext without needing to add ifdefs to
212126        ScriptExecutionContext.h/cpp.  (As an example, see DOMURL.)
212127
212128        * dom/ActiveDOMObject.cpp:
212129        (WebCore::ContextDestructionObserver::ContextDestructionObserver):
212130        (WebCore::ContextDestructionObserver::~ContextDestructionObserver):
212131        (WebCore::ContextDestructionObserver::contextDestroyed):
212132        (WebCore::ActiveDOMObject::ActiveDOMObject):
212133        (WebCore::ActiveDOMObject::~ActiveDOMObject):
212134        * dom/ActiveDOMObject.h:
212135        (WebCore::ContextDestructionObserver::scriptExecutionContext):
212136        * dom/ScriptExecutionContext.cpp:
212137        (WebCore::ScriptExecutionContext::~ScriptExecutionContext):
212138        (WebCore::ScriptExecutionContext::didCreateActiveDOMObject):
212139        (WebCore::ScriptExecutionContext::willDestroyActiveDOMObject):
212140        (WebCore::didCreateDestructionObserver):
212141        (WebCore::willDestroyDestructionObserver):
212142        * dom/ScriptExecutionContext.h:
212143
2121442011-10-28  Tim Horton  <timothy_horton@apple.com>
212145
212146        One more unreviewed build fix due to r98775.
212147
212148        No new tests.
212149
212150        * WebCore.vcproj/WebCore.vcproj:
212151
2121522011-10-28  James Robinson  <jamesr@chromium.org>
212153
212154        [chromium] Track wheel event handler registration and pass to input filter
212155        https://bugs.webkit.org/show_bug.cgi?id=71078
212156
212157        Reviewed by Kenneth Russell.
212158
212159        This propagates mouse wheel registration notifications to the compositor input filter. If there are any handlers
212160        registered, which includes JS handlers and scrollable areas other than the main view, the input filter will pass
212161        mouse wheel events to the widget. Otherwise when threaded compositing is enabled the input filter translates
212162        wheel events into root layer scrolling.
212163
212164        Only changes behavior with an off-by-default flag enabled, so no tests.
212165
212166        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
212167        (WebCore::CCLayerTreeHost::CCLayerTreeHost):
212168        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
212169        (WebCore::CCLayerTreeHost::setHaveWheelEventHandlers):
212170        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
212171        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
212172        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
212173        (WebCore::CCLayerTreeHostImpl::haveWheelEventHandlers):
212174        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
212175        (WebCore::CCLayerTreeHostImpl::setHaveWheelEventHandlers):
212176        * platform/graphics/chromium/cc/CCScrollController.h:
212177
2121782011-10-28  Tim Horton  <timothy_horton@apple.com>
212179
212180        Unreviewed build fix due to r98775.
212181
212182        No new tests.
212183
212184        * CMakeLists.txt:
212185        * GNUmakefile.list.am:
212186        * WebCore.gypi:
212187        * WebCore.pro:
212188
2121892011-10-28  Simon Fraser  <simon.fraser@apple.com>
212190
212191        If visibility changes while an accelerated animation is running, element jumps around
212192        https://bugs.webkit.org/show_bug.cgi?id=29984
212193
212194        Reviewed by Chris Marrin.
212195        
212196        Compositing now affects whether RenderLayers for visibility:hidden elements
212197        are included in z-order lists. So we have to dirty those lists when we enter
212198        compopsiting mode.
212199
212200        Test: compositing/visibility/animation-visibility.html
212201
212202        * rendering/RenderLayer.cpp:
212203        (WebCore::RenderLayer::updateVisibilityStatus): Removed trailing whitespace.
212204        (WebCore::RenderLayer::dirtyZOrderLists): Call dirtyZOrderListsInternal(), which doesn't have
212205        to ping the compositor.
212206        (WebCore::RenderLayer::dirtyZOrderListsInternal):
212207        (WebCore::RenderLayer::dirtyZOrderListsIncludingDescendants): Recursively dirty z-order
212208        lists.
212209        * rendering/RenderLayer.h:
212210        * rendering/RenderLayerCompositor.cpp:
212211        (WebCore::RenderLayerCompositor::enableCompositingMode): When going into compositing mode,
212212        dirty all z-order lists.
212213
2122142011-10-28  Tim Horton  <timothy_horton@apple.com>
212215
212216        Implement CSS3 Images cross-fade() image function
212217        https://bugs.webkit.org/show_bug.cgi?id=52162
212218        <rdar://problem/10209254>
212219
212220        Reviewed by Simon Fraser.
212221
212222        Parse -webkit-cross-fade according to the CSS3 Images Values specification.
212223
212224        Also, adjust other CSS parsing functions to support nested functions, by using a specific CSS value list
212225        instead of the global one. This allows - for example - cross-fade to pass each of its arguments back into
212226        parseFillImage and to successfully parse image functions in this fashion.
212227
212228        Test: fast/css/getComputedStyle/computed-style-cross-fade.html
212229
212230        * WebCore.xcodeproj/project.pbxproj:
212231        * css/CSSCrossfadeValue.cpp: Added.
212232        (WebCore::CSSCrossfadeValue::~CSSCrossfadeValue):
212233        (WebCore::CSSCrossfadeValue::cssText):
212234        (WebCore::CSSCrossfadeValue::fixedSize):
212235        (WebCore::CSSCrossfadeValue::image):
212236        * css/CSSCrossfadeValue.h: Added.
212237        (WebCore::CSSCrossfadeValue::create):
212238        (WebCore::CSSCrossfadeValue::isFixedSize):
212239        (WebCore::CSSCrossfadeValue::setFromImage):
212240        (WebCore::CSSCrossfadeValue::setToImage):
212241        (WebCore::CSSCrossfadeValue::setPercentage):
212242        (WebCore::CSSCrossfadeValue::CSSCrossfadeValue):
212243        * css/CSSParser.cpp:
212244        (WebCore::CSSParser::parseValue):
212245        (WebCore::CSSParser::parseContent):
212246        (WebCore::CSSParser::parseFillImage):
212247        (WebCore::CSSParser::parseFillProperty):
212248        (WebCore::CSSParser::parseBorderImage):
212249        (WebCore::CSSParser::parseDeprecatedGradient):
212250        (WebCore::CSSParser::parseLinearGradient):
212251        (WebCore::CSSParser::parseRadialGradient):
212252        (WebCore::CSSParser::isGeneratedImageValue):
212253        (WebCore::CSSParser::parseGeneratedImage):
212254        (WebCore::CSSParser::parseCrossfade):
212255        (WebCore::CSSParser::parseCanvas):
212256        * css/CSSParser.h:
212257
2122582011-10-28  Dan Bernstein  <mitz@apple.com>
212259
212260        Attempted build fix after r98765.
212261
212262        * platform/graphics/mac/SimpleFontDataMac.mm:
212263        (WebCore::SimpleFontData::platformWidthForGlyph):
212264
2122652011-10-28  Chris Marrin  <cmarrin@apple.com>
212266
212267        CSS grammar doesn't support functions with no parameters
212268        https://bugs.webkit.org/show_bug.cgi?id=69110
212269
212270        Reviewed by Dean Jackson.
212271
212272        Add rule to grammar to accept functions with 0 args and return
212273        this case with a CSSParserValueList with 0 values. Also fixed
212274        filter creation function to properly handle filters with 0
212275        arguments.
212276
212277        * css/CSSGrammar.y:
212278        * css/CSSStyleSelector.cpp:
212279        (WebCore::CSSStyleSelector::createFilterOperations):
212280
2122812011-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
212282
212283        Unreviewed, rolling out r98757.
212284        http://trac.webkit.org/changeset/98757
212285        https://bugs.webkit.org/show_bug.cgi?id=71150
212286
212287        crashes webkit_unit_tests on chromium windows (Requested by
212288        johnny_g on #webkit).
212289
212290        * platform/graphics/chromium/LayerRendererChromium.cpp:
212291        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
212292        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
212293        (WebCore::CCLayerTreeHost::paintLayerContents):
212294        (WebCore::CCLayerTreeHost::updateCompositorResources):
212295        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
212296        (WebCore::calculateDrawTransformsAndVisibilityInternal):
212297
2122982011-10-28  Adam Barth  <abarth@webkit.org>
212299
212300        Rubber-stamped by Eric Seidel.
212301
212302        Fix namespace indent in ScriptExecutionContext.h.
212303
212304        * dom/ScriptExecutionContext.h:
212305        (WebCore::ScriptExecutionContext::isDocument):
212306        (WebCore::ScriptExecutionContext::isWorkerContext):
212307        (WebCore::ScriptExecutionContext::setHasOpenDatabases):
212308        (WebCore::ScriptExecutionContext::hasOpenDatabases):
212309        (WebCore::ScriptExecutionContext::url):
212310        (WebCore::ScriptExecutionContext::completeURL):
212311        (WebCore::ScriptExecutionContext::securityOrigin):
212312        (WebCore::ScriptExecutionContext::contentSecurityPolicy):
212313        (WebCore::ScriptExecutionContext::activeDOMObjects):
212314        (WebCore::ScriptExecutionContext::suspendScriptedAnimationControllerCallbacks):
212315        (WebCore::ScriptExecutionContext::resumeScriptedAnimationControllerCallbacks):
212316        (WebCore::ScriptExecutionContext::messagePorts):
212317        (WebCore::ScriptExecutionContext::domUrls):
212318        (WebCore::ScriptExecutionContext::ref):
212319        (WebCore::ScriptExecutionContext::deref):
212320        (WebCore::ScriptExecutionContext::Task::Task):
212321        (WebCore::ScriptExecutionContext::Task::isCleanupTask):
212322
2123232011-10-28  John Sullivan  <sullivan@apple.com>
212324
212325        WebCore part of:
212326        https://bugs.webkit.org/show_bug.cgi?id=71142
212327        Whether backspace goes Back should be configurable
212328
212329        Reviewed by Sam Weinig.
212330
212331        * page/EventHandler.cpp:
212332        (WebCore::EventHandler::defaultBackspaceEventHandler):
212333        Bail out if backspace navigation is not enabled.
212334
212335        * page/Settings.cpp:
212336        (WebCore::Settings::Settings):
212337        Initialize m_backspaceKeyNavigationEnabled to true to match current behavior.
212338
212339        * page/Settings.h:
212340        Declared m_backspaceKeyNavigationEnabled.
212341        (WebCore::Settings::setBackspaceKeyNavigationEnabled):
212342        New function, simple setter.
212343        (WebCore::Settings::backspaceKeyNavigationEnabled):
212344        New function, simple getter.
212345
2123462011-10-28  Emil A Eklund  <eae@chromium.org>
212347
212348        Overridden clippedOverflowRectForRepaint() still uses IntRects
212349        https://bugs.webkit.org/show_bug.cgi?id=71046
212350
212351        Reviewed by Simon Fraser.
212352
212353        Change all virtual clippedOverflowRectForRepaint functions to use the
212354        same signature.
212355
212356        No new tests.
212357
212358        * rendering/RenderObject.cpp:
212359        (WebCore::RenderObject::rectWithOutlineForRepaint):
212360        (WebCore::RenderObject::clippedOverflowRectForRepaint):
212361        * rendering/RenderObject.h:
212362        * rendering/RenderReplaced.cpp:
212363        (WebCore::RenderReplaced::clippedOverflowRectForRepaint):
212364        * rendering/RenderReplaced.h:
212365        * rendering/RenderTableCell.cpp:
212366        (WebCore::RenderTableCell::clippedOverflowRectForRepaint):
212367        * rendering/RenderTableCell.h:
212368        * rendering/RenderTableCol.cpp:
212369        (WebCore::RenderTableCol::clippedOverflowRectForRepaint):
212370        * rendering/RenderTableCol.h:
212371        * rendering/RenderTableRow.cpp:
212372        (WebCore::RenderTableRow::clippedOverflowRectForRepaint):
212373        * rendering/RenderTableRow.h:
212374        * rendering/RenderText.cpp:
212375        (WebCore::RenderText::clippedOverflowRectForRepaint):
212376        * rendering/RenderText.h:
212377
2123782011-10-28  Adam Klein  <adamk@chromium.org>
212379
212380        Remove unused parsers for 'exception' and 'alias' IDL keywords
212381        https://bugs.webkit.org/show_bug.cgi?id=71140
212382
212383        Reviewed by Adam Barth.
212384
212385        * bindings/scripts/IDLParser.pm:
212386        (ParseInterface):
212387        (DetermineParseMode):
212388        (ProcessSection):
212389        * bindings/scripts/IDLStructure.pm:
212390
2123912011-10-28  Dan Bernstein  <mitz@apple.com>
212392
212393        <rdar://problem/10288006> Emoji characters are too close to each other in small font size
212394
212395        Reviewed by Sam Weinig.
212396
212397        * platform/graphics/mac/SimpleFontDataMac.mm:
212398        (WebCore::SimpleFontData::platformWidthForGlyph): If the font is a color bitmap font, use
212399        -[NSFont advancementForGlyph:] instead of wkGetGlyphTransformedAdvances().
212400
2124012011-10-28  Adam Barth  <abarth@webkit.org>
212402
212403        Remove unused default constructor
212404        https://bugs.webkit.org/show_bug.cgi?id=71136
212405
212406        Reviewed by Eric Seidel.
212407
212408        No one is calling this constructor anymore now that we've fixed the
212409        callers.
212410
212411        * dom/make_exception_code_description.pl:
212412        (generateHeader):
212413
2124142011-10-28  Ken Buchanan <kenrb@chromium.org>
212415
212416        Crash when splitting inline flows with generated floats
212417        https://bugs.webkit.org/show_bug.cgi?id=70458
212418
212419        Reviewed by David Hyatt.
212420
212421        When lineBoxes on a RenderBlock are being deleted, we now check the floating object list to
212422        ensure references to them are being cleared.
212423
212424        * rendering/RenderBlock.cpp:
212425        (WebCore::RenderBlock::deleteLineBoxTree): Remove references to lineBox when deleting them
212426
2124272011-10-28  Simon Fraser  <simon.fraser@apple.com>
212428
212429        Remove Leopard-only code from GraphicsLayerCA
212430        https://bugs.webkit.org/show_bug.cgi?id=71141
212431
212432        Reviewed by Chris Marrin.
212433
212434        Remove !HAVE_MODERN_QUARTZCORE code, which was only
212435        used on Leopard. updateContentsTransform() became a no-op,
212436        so could be removed.
212437
212438        * platform/graphics/ca/GraphicsLayerCA.cpp:
212439        (WebCore::getValueFunctionNameForTransformOperation):
212440        (WebCore::GraphicsLayerCA::GraphicsLayerCA):
212441        (WebCore::GraphicsLayerCA::addAnimation):
212442        (WebCore::GraphicsLayerCA::updateGeometry):
212443        (WebCore::GraphicsLayerCA::setTransformAnimationEndpoints):
212444        (WebCore::GraphicsLayerCA::setTransformAnimationKeyframes):
212445        (WebCore::GraphicsLayerCA::swapFromOrToTiledLayer):
212446        (WebCore::GraphicsLayerCA::defaultContentsOrientation):
212447        (WebCore::GraphicsLayerCA::updateOpacityOnLayer):
212448        * platform/graphics/ca/GraphicsLayerCA.h:
212449
2124502011-10-28  Adrienne Walker  <enne@google.com>
212451
212452        [chromium] Implicitly skip render surfaces that won't be drawn
212453        https://bugs.webkit.org/show_bug.cgi?id=71038
212454
212455        Rather than having redundant checks in three places for how to walk
212456        through a render surface list, instead don't add render surfaces that
212457        don't need to get rendered to the render surface list.
212458
212459        Reviewed by James Robinson.
212460
212461        Covered by existing layout tests.
212462
212463        * platform/graphics/chromium/LayerRendererChromium.cpp:
212464        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
212465        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
212466        (WebCore::CCLayerTreeHost::paintLayerContents):
212467        (WebCore::CCLayerTreeHost::updateCompositorResources):
212468        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
212469        (WebCore::calculateDrawTransformsAndVisibilityInternal):
212470
2124712011-10-28  Adam Barth  <abarth@webkit.org>
212472
212473        Autogenerate Exception-downcast code in bindings
212474        https://bugs.webkit.org/show_bug.cgi?id=71108
212475
212476        Reviewed by Eric Seidel.
212477
212478        This patch uses the same generated code style as we're using for Events
212479        to generate the downcasts for the Exception types in the bindings.
212480        This cause me to refactor more code from make_event_factory.pl into
212481        InFilesCompiler.pm.
212482
212483        After this patch, some of these files and scripts are misnamed.  I'll
212484        rename them in a followup patch.
212485
212486        * DerivedSources.make:
212487        * GNUmakefile.am:
212488        * GNUmakefile.list.am:
212489        * WebCore.gyp/WebCore.gyp:
212490        * WebCore.gypi:
212491        * WebCore.vcproj/WebCore.vcproj:
212492        * WebCore.xcodeproj/project.pbxproj:
212493        * bindings/js/JSDOMBinding.cpp:
212494        (WebCore::setDOMException):
212495        * bindings/objc/ExceptionHandlers.mm:
212496        (WebCore::raiseDOMException):
212497        * bindings/scripts/InFilesCompiler.pm:
212498        (initializeFromCommandLine):
212499        (compile):
212500        (interfaceForItem):
212501        (toMacroStyle):
212502        (generateInterfacesHeader):
212503        (generateHeadersHeader):
212504        * bindings/v8/V8Proxy.cpp:
212505        (WebCore::V8Proxy::setDOMException):
212506        * dom/ExceptionCodeDescription.in:
212507        * dom/make_event_factory.pl:
212508        (generateCode):
212509        (generateImplementation):
212510        * dom/make_exception_code_description.pl:
212511        (defaultItemFactory):
212512        (generateCode):
212513
2125142011-10-28  Simon Fraser  <simon.fraser@apple.com>
212515
212516        Fix builds which have ACCELERATED_COMPOSITING disabled.
212517
212518        * rendering/RenderLayer.cpp:
212519        (WebCore::RenderLayer::updateZOrderLists):
212520
2125212011-10-28  Erik Arvidsson  <arv@chromium.org>
212522
212523        Remove LegacyDefaultOptionalArguments flag from inspector IDLs
212524        https://bugs.webkit.org/show_bug.cgi?id=65748
212525
212526        Reviewed by Adam Barth.
212527
212528        Covered by existing tests.
212529
212530        * inspector/InjectedScriptHost.idl:
212531        * inspector/InspectorFrontendHost.idl:
212532        * inspector/JavaScriptCallFrame.idl:
212533
2125342011-10-28  Joshua Bell  <jsbell@chromium.org>
212535
212536        IndexedDB: Database metadata changes should be tied to transaction
212537        https://bugs.webkit.org/show_bug.cgi?id=70974
212538
212539        Reviewed by Tony Chang.
212540
212541        Database metadata (that is, the version string) was rolled back
212542        on abort by an abort task. If the abort task didn't run e.g.
212543        due to a crash, the metadata would not be reverted. All of the
212544        other store/index/data changes were written into the transaction
212545        itself, so the metadata now is too. Refactored the metadata
212546        get/create/update methods for clarity as well.
212547
212548        Note that the new tests don't actually verify that the code handles
212549        this case; that will need to be done with persistence tests
212550        that span multiple runs of the browser and induce crashes.
212551        The new tests do verify that these changes don't cause regressions
212552        not caught by other tests.
212553
212554        Tests: storage/indexeddb/open-during-transaction.html
212555               storage/indexeddb/version-change-abort.html
212556
212557        * storage/IDBBackingStore.h:
212558        * storage/IDBDatabaseBackendImpl.cpp:
212559        (WebCore::IDBDatabaseBackendImpl::IDBDatabaseBackendImpl):
212560        (WebCore::IDBDatabaseBackendImpl::setVersionInternal):
212561        * storage/IDBLevelDBBackingStore.cpp:
212562        (WebCore::IDBLevelDBBackingStore::getIDBDatabaseMetaData):
212563        (WebCore::IDBLevelDBBackingStore::createIDBDatabaseMetaData):
212564        (WebCore::IDBLevelDBBackingStore::updateIDBDatabaseMetaData):
212565        * storage/IDBLevelDBBackingStore.h:
212566
2125672011-10-28  Luke Macpherson   <macpherson@chromium.org>
212568
212569        Use enum instead of bool to represent -webkit-column-span property.
212570        https://bugs.webkit.org/show_bug.cgi?id=70867
212571
212572        Reviewed by Darin Adler.
212573
212574        Covered by existing tests.
212575
212576        * css/CSSPrimitiveValueMappings.h:
212577        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue):
212578        (WebCore::CSSPrimitiveValue::operator ColumnSpan):
212579        * css/CSSStyleSelector.cpp:
212580        (WebCore::CSSStyleSelector::applyProperty):
212581        * rendering/RenderBlock.cpp:
212582        (WebCore::RenderBlock::createAnonymousColumnSpanBlock):
212583        * rendering/RenderObject.cpp:
212584        (WebCore::RenderObject::propagateStyleToAnonymousChildren):
212585        * rendering/style/RenderStyle.h:
212586        (WebCore::InheritedFlags::columnSpan):
212587        (WebCore::InheritedFlags::setColumnSpan):
212588        (WebCore::InheritedFlags::initialColumnSpan):
212589        * rendering/style/RenderStyleConstants.h:
212590        * rendering/style/StyleMultiColData.h:
212591
2125922011-10-28  Mark Hahnenberg  <mhahnenberg@apple.com>
212593
212594        De-virtualize isGlobalObject, isVariableObject, isActivationObject, and isErrorInstance in JSObject
212595        https://bugs.webkit.org/show_bug.cgi?id=70968
212596
212597        Reviewed by Geoffrey Garen.
212598
212599        No new tests.
212600
212601        * bindings/js/JSDOMGlobalObject.h: Changed JSType provided to TypeInfo in createStructure since this 
212602        class inherits from JSGlobalObject. 
212603        (WebCore::JSDOMGlobalObject::createStructure):
212604        * bindings/js/JSDOMWindowBase.h: Ditto
212605        (WebCore::JSDOMWindowBase::createStructure):
212606        * bindings/js/JSWorkerContextBase.h: Ditto
212607        (WebCore::JSWorkerContextBase::createStructure):
212608        * bindings/scripts/CodeGeneratorJS.pm: Added extra check to make sure subclasses of JSGlobalObject,
212609        namely JSDOMWindow and JSWorkerContext, get their special JSType in their createStructure function.
212610        (GenerateHeader):
212611
2126122011-10-28  Sheriff Bot  <webkit.review.bot@gmail.com>
212613
212614        Unreviewed, rolling out r98736.
212615        http://trac.webkit.org/changeset/98736
212616        https://bugs.webkit.org/show_bug.cgi?id=71125
212617
212618        This patch broke perf/array-binary-search.html test (Requested
212619        by annacc on #webkit).
212620
212621        * html/HTMLMediaElement.cpp:
212622        (WebCore::HTMLMediaElement::loadTextTracks):
212623        (WebCore::HTMLMediaElement::addTrack):
212624        * html/HTMLMediaElement.h:
212625        * html/HTMLTrackElement.cpp:
212626        (WebCore::HTMLTrackElement::insertedIntoTree):
212627        (WebCore::HTMLTrackElement::willRemove):
212628        * html/HTMLTrackElement.h:
212629        * html/LoadableTextTrack.cpp:
212630        (WebCore::LoadableTextTrack::cueLoadingCompleted):
212631
2126322011-10-28  Julien Chaffraix  <jchaffraix@webkit.org>
212633
212634        RenderTableSection::recalcCells should not free its grid
212635        https://bugs.webkit.org/show_bug.cgi?id=71056
212636
212637        Reviewed by Darin Adler.
212638
212639        Refactoring only, no change in behavior.
212640
212641        r98614 had the bad side effect of clearing the row vector (m_grid) on
212642        the RenderTableSection when doing a recalcCells. This change removes the
212643        unneeded free and inline the |row| field into the RowStruct as it made
212644        no sense to have it as a pointer.
212645
212646        * rendering/RenderTableSection.cpp:
212647        (WebCore::setRowLogicalHeightToRowStyleLogicalHeightIfNotRelative):
212648        (WebCore::RenderTableSection::addChild):
212649        (WebCore::RenderTableSection::setCellLogicalWidths):
212650        (WebCore::RenderTableSection::calcRowLogicalHeight):
212651        (WebCore::RenderTableSection::firstLineBoxBaseline):
212652        (WebCore::RenderTableSection::appendColumn):
212653        (WebCore::RenderTableSection::splitColumn):
212654        Mechanical changes now that |row| is a member of RowStruct.
212655
212656        (WebCore::RenderTableSection::~RenderTableSection): Clear our row vector.
212657
212658        (WebCore::RenderTableSection::ensureRows):
212659        (WebCore::RenderTableSection::recalcCells):
212660        Those 2 functions were refactored to use fillRowsWithDefaultStartingAtPosition.
212661
212662        (WebCore::RenderTableSection::fillRowsWithDefaultStartingAtPosition):
212663        Factored the code to fill the RowStruct structure with default values.
212664
212665        * rendering/RenderTableSection.h:
212666        (WebCore::RenderTableSection::cellAt):
212667        (WebCore::RenderTableSection::primaryCellAt):
212668        More mechanical change after the |row| field change.
212669
2126702011-10-28  Anna Cavender  <annacc@chromium.org>
212671
212672        Implement load notification and events for <track>.
212673        https://bugs.webkit.org/show_bug.cgi?id=71054
212674
212675        Reviewed by Eric Carlson.
212676
212677        Tests: media/track/track-load-error-readyState.html
212678               media/track/track-load-from-element-readyState.html
212679               media/track/track-load-from-src-readyState.html
212680
212681        * html/HTMLMediaElement.cpp:
212682        (WebCore::HTMLMediaElement::loadTextTracks):
212683        (WebCore::HTMLMediaElement::loadNextTextTrack):
212684        (WebCore::HTMLMediaElement::trackWasAdded):
212685        (WebCore::HTMLMediaElement::trackWillBeRemoved):
212686        (WebCore::HTMLMediaElement::trackSourceChanged):
212687        * html/HTMLMediaElement.h:
212688        * html/HTMLTrackElement.cpp:
212689        (WebCore::HTMLTrackElement::insertedIntoTree):
212690        (WebCore::HTMLTrackElement::willRemove):
212691        (WebCore::HTMLTrackElement::parseMappedAttribute):
212692        (WebCore::HTMLTrackElement::attributeChanged):
212693        * html/HTMLTrackElement.h:
212694        * html/LoadableTextTrack.cpp:
212695        (WebCore::LoadableTextTrack::cueLoadingCompleted):
212696
2126972011-10-28  Simon Fraser  <simon.fraser@apple.com>
212698
212699        The HTML5 video element in Safari does not respect "visibility:hidden" CSS property
212700        https://bugs.webkit.org/show_bug.cgi?id=38829
212701
212702        Reviewed by James Robinson.
212703        
212704        Make compositing and CSS visibility play nicely together.
212705        
212706        The main issue was that an old optimization (see bug 4377) caused
212707        visibility:hidden layers to not appear in the z-order lists, but those
212708        layers could still become composited, but would remain detached. In addition,
212709        composited layers which were visibility:hidden would become visible sometimes.
212710        
212711        With this fix, the z-order lists always contain all layers when the page
212712        is in compositing mode. GraphicsLayer is changed to ensure that visibility:hidden
212713        layers show no content, and visible descendants of hidden layers work correctly.
212714
212715        Tests: compositing/visibility/visibility-composited-transforms.html
212716               compositing/visibility/visibility-composited.html
212717               compositing/visibility/visibility-image-layers-dynamic.html
212718               compositing/visibility/visibility-image-layers.html
212719
212720        * platform/graphics/GraphicsLayer.cpp:
212721        (WebCore::GraphicsLayer::GraphicsLayer): Init m_contentsVisible to true.
212722        (WebCore::GraphicsLayer::dumpProperties): Dump m_contentsVisible if not true.
212723        * platform/graphics/GraphicsLayer.h:
212724        (WebCore::GraphicsLayer::contentsAreVisible): Getter for m_contentsVisible.
212725        (WebCore::GraphicsLayer::setContentsVisible): Setter for m_contentsVisible.
212726        * platform/graphics/ca/GraphicsLayerCA.cpp:
212727        (WebCore::GraphicsLayerCA::setContentsVisible): Override setContentsVisible.
212728        (WebCore::GraphicsLayerCA::commitLayerChangesBeforeSublayers): Handle ContentsVisibilityChanged
212729        flag
212730        (WebCore::GraphicsLayerCA::updateSublayerList): Only parent the m_contentsLayer if the layer
212731        has visible contents.
212732        (WebCore::GraphicsLayerCA::updateContentsVisibility): For bits painted into the layer itself,
212733        we hide it by clearing the backing store.
212734        * platform/graphics/ca/GraphicsLayerCA.h: Removed obsolete comment on the DrawsContentChanged flag,
212735        added ContentsVisibilityChanged flag.
212736        * rendering/RenderLayer.cpp:
212737        (WebCore::RenderLayer::updateZOrderLists): If we're in compositing mode, include all layers
212738        in the z-order lists.
212739        (WebCore::RenderLayer::collectLayers): New param to specify whether we need to collect all layers.
212740        * rendering/RenderLayer.h:
212741        (WebCore::RenderLayer::hasVisibleDescendant): Add comment about the need for an assertion in hasVisibleContent()
212742        , and assertion in hasVisibleDescendant().
212743        * rendering/RenderLayerBacking.cpp:
212744        (WebCore::RenderLayerBacking::updateGraphicsLayerGeometry): Call setContentsVisible() on the GraphicsLayer.
212745        (WebCore::RenderLayerBacking::isSimpleContainerCompositingLayer): We can use simple container layers in cases
212746        where visibility:hidden causes layer content to not be drawn.
212747        (WebCore::RenderLayerBacking::hasVisibleNonCompositingDescendants): Renamed from hasNonCompositingDescendants()
212748        because it now also looks at visibility to decide when things are visible.
212749        * rendering/RenderLayerBacking.h: hasNonCompositingDescendants() renamed to hasVisibleNonCompositingDescendants().
212750
2127512011-10-22  Philippe Normand  <pnormand@igalia.com>
212752
212753        [GTK] Build fixes for glib 2.31 (current master)
212754        https://bugs.webkit.org/show_bug.cgi?id=70679
212755
212756        Reviewed by Martin Robinson.
212757
212758        g_cond_new and g_mutex_new have been replaced by _init
212759        functions. Same for _free, replaced by _clear.
212760
212761        * platform/graphics/gstreamer/VideoSinkGStreamer.cpp:
212762        (webkit_video_sink_init):
212763        (webkit_video_sink_dispose):
212764
2127652011-10-28  Jochen Eisinger  <jochen@chromium.org>
212766
212767        Rename a number of methods mentioning JavaScript to just Script instead
212768        https://bugs.webkit.org/show_bug.cgi?id=71105
212769
212770        Reviewed by Adam Barth.
212771
212772        * WebCore.exp.in:
212773        * bindings/ScriptControllerBase.cpp:
212774        (WebCore::ScriptController::canExecuteScripts):
212775        * bindings/v8/V8Proxy.cpp:
212776        (WebCore::V8Proxy::handleOutOfMemory):
212777        * loader/FrameLoaderClient.h:
212778        (WebCore::FrameLoaderClient::allowScript):
212779        * loader/cache/CachedResourceLoader.cpp:
212780        (WebCore::CachedResourceLoader::canRequest):
212781        * page/Settings.cpp:
212782        (WebCore::Settings::Settings):
212783        (WebCore::Settings::setScriptEnabled):
212784        * page/Settings.h:
212785        (WebCore::Settings::isScriptEnabled):
212786        * svg/graphics/SVGImage.cpp:
212787        (WebCore::SVGImage::dataChanged):
212788
2127892011-10-28  Pavel Feldman  <pfeldman@google.com>
212790
212791        Reset line numbers for scripts generated with document.write.
212792        https://bugs.webkit.org/show_bug.cgi?id=71099
212793
212794        Reviewed by Yury Semikhatsky.
212795
212796        Test: http/tests/inspector-enabled/document-write.html
212797
212798        * dom/Document.h:
212799        (WebCore::Document::isInDocumentWrite):
212800        * dom/ScriptElement.cpp:
212801        (WebCore::ScriptElement::prepareScript):
212802
2128032011-10-28  Adam Roben  <aroben@apple.com>
212804
212805        Mac build fix after r98711
212806
212807        * WebCore.xcodeproj/project.pbxproj: Mark ExceptionCodeDescription.h private so WebKit can
212808        find it.
212809
2128102011-10-28  Antti Koivisto  <antti@apple.com>
212811
212812        [Chromium] css3/font-feature-settings-rendering.html has incorrect image result after r98542
212813        https://bugs.webkit.org/show_bug.cgi?id=71019
212814
212815        Reviewed by Andreas Kling.
212816        
212817        These properties need to be marked inherited too.
212818        
212819        Note that the new test case doesn't fail even without the patch. If I understand correctly
212820        the image test in the title is pretty much the only way to see this. However the
212821        new test improves code coverage and protects against future regressions.
212822
212823        Test: fast/css/inherited-properties-rare-text.html
212824
212825        * css/CSSProperty.cpp:
212826        (WebCore::CSSProperty::isInheritedProperty):
212827
2128282011-10-28  Adam Barth  <abarth@webkit.org>
212829
212830        Remove getExceptionCodeDescription()
212831        https://bugs.webkit.org/show_bug.cgi?id=71103
212832
212833        Reviewed by Eric Seidel.
212834
212835        This function serves no purpose.
212836
212837        * bindings/js/JSDOMBinding.cpp:
212838        (WebCore::setDOMException):
212839        * bindings/objc/ExceptionHandlers.mm:
212840        (WebCore::raiseDOMException):
212841        * bindings/scripts/CodeGeneratorGObject.pm:
212842        ():
212843        * bindings/scripts/test/GObject/WebKitDOMTestObj.cpp:
212844        (webkit_dom_test_obj_method_that_requires_all_args_and_throws):
212845        (webkit_dom_test_obj_method_with_exception):
212846        (webkit_dom_test_obj_with_script_state_void_exception):
212847        (webkit_dom_test_obj_with_script_state_obj_exception):
212848        (webkit_dom_test_obj_get_attr_with_getter_exception):
212849        (webkit_dom_test_obj_set_attr_with_getter_exception):
212850        (webkit_dom_test_obj_set_attr_with_setter_exception):
212851        (webkit_dom_test_obj_set_string_attr_with_getter_exception):
212852        (webkit_dom_test_obj_set_string_attr_with_setter_exception):
212853        * bindings/v8/V8Proxy.cpp:
212854        (WebCore::V8Proxy::setDOMException):
212855        * dom/ExceptionCode.cpp:
212856        * dom/ExceptionCode.h:
212857
2128582011-10-19  Alexander Pavlov  <apavlov@chromium.org>
212859
212860        Web Inspector: CSS background-image applied inline shows a warning, but still works.
212861        https://bugs.webkit.org/show_bug.cgi?id=70325
212862
212863        Reviewed by Antti Koivisto.
212864
212865        This change eliminates the "non-parsed property" warning displayed next to any
212866        "background-image" property of an element's inline style.
212867
212868        * css/CSSParser.cpp:
212869        (WebCore::CSSParser::parseDeclaration):
212870        * css/CSSParser.h:
212871        * inspector/InspectorStyleSheet.cpp:
212872        (WebCore::InspectorStyle::setPropertyText):
212873        (WebCore::InspectorStyleSheetForInlineStyle::getStyleAttributeRanges):
212874
2128752011-10-28  Adam Barth  <abarth@webkit.org>
212876
212877        Attempt to fixenate Qt.
212878
212879        * CodeGenerators.pri:
212880        * dom/make_event_factory.pl:
212881        (toMacroStyle):
212882
2128832011-10-28  Adam Barth  <abarth@webkit.org>
212884
212885        ExceptionCode.cpp shouldn't need to know about every feature that throws exceptions
212886        https://bugs.webkit.org/show_bug.cgi?id=70890
212887
212888        Reviewed by Eric Seidel.
212889
212890        Generate the feature-specific parts of ExceptionCode.cpp from a ".in"
212891        file.  This is an incremental step towards inlining
212892        getExceptionCodeDescription into its callers and replacing the switch
212893        statements at those locations with autogenerated code.
212894
212895        * CMakeLists.txt:
212896        * CodeGenerators.pri:
212897        * DerivedSources.make:
212898        * GNUmakefile.am:
212899        * GNUmakefile.list.am:
212900        * WebCore.gyp/WebCore.gyp:
212901        * WebCore.gyp/scripts/action_makenames.py:
212902        * WebCore.gypi:
212903        * WebCore.vcproj/WebCore.vcproj:
212904        * WebCore.xcodeproj/project.pbxproj:
212905        * bindings/js/JSDOMBinding.cpp:
212906        (WebCore::setDOMException):
212907        * bindings/v8/V8Proxy.cpp:
212908        (WebCore::V8Proxy::setDOMException):
212909        * dom/DOMCoreException.cpp:
212910        (WebCore::DOMCoreException::initializeDescription):
212911        * dom/ExceptionCode.cpp:
212912        (WebCore::getExceptionCodeDescription):
212913        * dom/ExceptionCode.h:
212914        * dom/ExceptionCodeDescription.in: Added.
212915        * dom/make_exception_code_description.pl: Added.
212916        (defaultItemFactory):
212917        (generateCode):
212918        (generateHeader):
212919        (generateImplementation):
212920
2129212011-10-28  Yury Semikhatsky  <yurys@chromium.org>
212922
212923        Web Inspector: CallStackSidebarPane should remove discarded Placards from RawSourceCode listeners list
212924        https://bugs.webkit.org/show_bug.cgi?id=70996
212925
212926        Reviewed by Pavel Feldman.
212927
212928        Test: inspector/debugger/callstack-placards-discarded.html
212929
212930        * inspector/front-end/CallStackSidebarPane.js:
212931        (WebInspector.CallStackSidebarPane.prototype.update):
212932        * inspector/front-end/DebuggerPresentationModel.js:
212933        (WebInspector.DebuggerPresentationModel.prototype.createPlacard):
212934        (WebInspector.DebuggerPresentationModel.CallFramePlacard):
212935        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype.discard):
212936        (WebInspector.DebuggerPresentationModel.CallFramePlacard.prototype._update):
212937        * inspector/front-end/Placard.js:
212938        (WebInspector.Placard.prototype.toggleSelected):
212939        (WebInspector.Placard.prototype.discard):
212940
2129412011-10-28  Jochen Eisinger  <jochen@chromium.org>
212942
212943        Add allowScriptFromSource callback to FrameLoaderClient
212944        https://bugs.webkit.org/show_bug.cgi?id=71013
212945
212946        Reviewed by Darin Fisher.
212947
212948        Test: platform/chromium/permissionclient/script-permissions.html
212949
212950        * loader/FrameLoaderClient.h:
212951        (WebCore::FrameLoaderClient::allowScriptFromSource):
212952        * loader/cache/CachedResourceLoader.cpp:
212953        (WebCore::CachedResourceLoader::canRequest):
212954
2129552011-10-27  Adam Barth  <abarth@webkit.org>
212956
212957        Refactor make_event_factory.pl to use InFilesCompiler.pm
212958        https://bugs.webkit.org/show_bug.cgi?id=71094
212959
212960        Reviewed by Eric Seidel.
212961
212962        This refactoring helps share code with
212963        make_exception_code_descriptions.pl, which is coming in a future patch.
212964        I have a dream of refactoring make_names.pl to use this module as well.
212965
212966        * CodeGenerators.pri:
212967        * DerivedSources.make:
212968        * GNUmakefile.am:
212969        * WebCore.gyp/scripts/action_makenames.py:
212970        * bindings/scripts/InFilesCompiler.pm: Added.
212971        (itemHandler):
212972        (parameterHandler):
212973        (new):
212974        (compile):
212975        (license):
212976        * dom/make_event_factory.pl:
212977        (defaultItemFactory):
212978        (interfaceForEvent):
212979        (generateCode):
212980        (printFactoryFile):
212981        (printMacroFile):
212982        (printHeadersFile):
212983
2129842011-10-26  Nat Duca  <nduca@chromium.org>
212985
212986        [chromium] Implement frame rate control portions of CCScheduler
212987        https://bugs.webkit.org/show_bug.cgi?id=70713
212988
212989        Reviewed by James Robinson.
212990
212991        * WebCore.gypi:
212992        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.cpp: Added.
212993        (WebCore::CCDelayBasedTimeSource::setActive):
212994        (WebCore::CCDelayBasedTimeSource::postTickTask):
212995        (WebCore::CCDelayBasedTimeSource::onTick):
212996        * platform/graphics/chromium/cc/CCDelayBasedTimeSource.h: Added.
212997        (WebCore::CCDelayBasedTimeSource::CCDelayBasedTimeSource):
212998        (WebCore::CCDelayBasedTimeSource::~CCDelayBasedTimeSource):
212999        (WebCore::CCDelayBasedTimeSource::setClient):
213000        (WebCore::CCDelayBasedTimeSource::monotonicallyIncreasingTime):
213001        * platform/graphics/chromium/cc/CCFrameRateController.cpp: Added.
213002        (WebCore::CCFrameRateControllerTimeSourceAdapter::create):
213003        (WebCore::CCFrameRateControllerTimeSourceAdapter::~CCFrameRateControllerTimeSourceAdapter):
213004        (WebCore::CCFrameRateControllerTimeSourceAdapter::onTimerTick):
213005        (WebCore::CCFrameRateControllerTimeSourceAdapter::CCFrameRateControllerTimeSourceAdapter):
213006        (WebCore::CCFrameRateController::CCFrameRateController):
213007        (WebCore::CCFrameRateController::~CCFrameRateController):
213008        (WebCore::CCFrameRateController::onTimerTick):
213009        (WebCore::CCFrameRateController::didBeginFrame):
213010        (WebCore::CCFrameRateController::didFinishFrame):
213011        (WebCore::CCFrameRateController::didAbortAllPendingFrames):
213012        * platform/graphics/chromium/cc/CCFrameRateController.h: Added.
213013        (WebCore::CCFrameRateControllerClient::~CCFrameRateControllerClient):
213014        (WebCore::CCFrameRateController::setClient):
213015        (WebCore::CCFrameRateController::setActive):
213016        * platform/graphics/chromium/cc/CCTimeSource.h: Added.
213017        (WebCore::CCTimeSourceClient::~CCTimeSourceClient):
213018        (WebCore::CCTimeSource::~CCTimeSource):
213019
2130202011-10-27  Kentaro Hara  <haraken@chromium.org>
213021
213022        Deprecate [V8ConstructorSetsActiveDOMWrapper] IDL
213023        https://bugs.webkit.org/show_bug.cgi?id=71088
213024
213025        Reviewed by Adam Barth.
213026
213027        I introduced [V8ConstructorSetsActiveDOMWrapper] IDL in bug 66536,
213028        but I found that it has the same meaning as [ActiveDOMObject] IDL.
213029        This patch removes [V8ConstructorSetsActiveDOMWrapper] IDL.
213030
213031        No change in behavior.
213032
213033        Tests: fast/dom/global-constructors.html
213034               fast/eventsource/eventsource-constructor.html
213035               fast/eventsource/eventsource-attribute-listeners.html
213036               fast/files/blob-slice-test.html
213037               fast/files/file-reader-abort.html
213038               ui_tests:WorkerTest.FLAKY_SharedWorkerFastConstructor
213039               ui_tests:WorkerTest.FLAKY_SharedWorkerFastName
213040               ui_tests:WorkerTest.FLAKY_WorkerConstructor
213041               ui_tests:WorkerTest.FLAKY_WorkerEventListener
213042
213043        * bindings/scripts/CodeGeneratorV8.pm: Replaced "V8ConstructorSetsActiveDOMWrapper" with "ActiveDOMObject".
213044        (GenerateConstructorCallback):
213045        * bindings/scripts/test/TestInterface.idl: Ditto.
213046        * bindings/scripts/test/JS/JSTestInterface.cpp: Updated a test result.
213047        (WebCore::isObservable):
213048        (WebCore::JSTestInterfaceOwner::isReachableFromOpaqueRoots):
213049        (WebCore::JSTestInterfaceOwner::finalize):
213050        * bindings/scripts/test/JS/JSTestInterface.h: Ditto.
213051        (WebCore::wrapperOwner):
213052        (WebCore::wrapperContext):
213053        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp: Ditto.
213054        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h: Ditto.
213055        * bindings/scripts/test/JS/JSTestObj.cpp: Ditto.
213056        * bindings/scripts/test/JS/JSTestObj.h: Ditto.
213057        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp: Ditto.
213058        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h: Ditto.
213059        * bindings/scripts/test/V8/V8TestInterface.cpp: Ditto.
213060        (WebCore::V8TestInterface::toActiveDOMObject):
213061        (WebCore::V8TestInterface::wrapSlow):
213062        * bindings/scripts/test/V8/V8TestInterface.h: Ditto.
213063        (WebCore::V8TestInterface::existingWrapper):
213064        * fileapi/FileReader.idl: Removed [V8ConstructorSetsActiveDOMWrapper] IDL.
213065        * mediastream/PeerConnection.idl: Ditto.
213066        * page/EventSource.idl: Ditto.
213067        * workers/SharedWorker.idl: Ditto.
213068        * workers/Worker.idl: Ditto.
213069
2130702011-10-28  Yuta Kitamura  <yutak@chromium.org>
213071
213072        Race condition in SocketStreamHandleCFNet when PAC script is used
213073        https://bugs.webkit.org/show_bug.cgi?id=70894
213074
213075        Reviewed by Alexey Proskuryakov.
213076
213077        Pass callback functions that call ref() or deref() as retain/release member
213078        of CFStreamClientContext.
213079
213080        No new tests, as it is not possible to write a test with PAC script enabled.
213081
213082        * platform/network/cf/SocketStreamHandle.h:
213083        * platform/network/cf/SocketStreamHandleCFNet.cpp:
213084        (WebCore::SocketStreamHandle::scheduleStreams):
213085        (WebCore::SocketStreamHandle::retainSocketStreamHandle):
213086        (WebCore::SocketStreamHandle::releaseSocketStreamHandle):
213087        (WebCore::SocketStreamHandle::pacExecutionCallbackMainThread):
213088        This callback may be called after platformClose() is already called. We should
213089        not create new streams in this case.
213090        (WebCore::SocketStreamHandle::executePACFileURL):
213091        (WebCore::SocketStreamHandle::readStreamCallback):
213092        This manual ref/deref can be safely removed as m_readStream holds the reference.
213093        (WebCore::SocketStreamHandle::writeStreamCallback):
213094        Ditto.
213095
2130962011-10-27  Arthur Hsu  <arthurhsu@chromium.org>
213097
213098        Reland patch ensure font load before calling Skia during printing
213099        https://bugs.webkit.org/show_bug.cgi?id=70390
213100
213101        Reviewed by James Robinson.
213102
213103        * platform/graphics/chromium/FontChromiumWin.cpp:
213104        (WebCore::Font::drawGlyphs):
213105        * platform/graphics/skia/SkiaFontWin.cpp:
213106        (WebCore::paintSkiaText):
213107
2131082011-10-27  Adam Barth  <abarth@webkit.org>
213109
213110        Attempt to fix the Qt build.
213111
213112        * WebCore.pro:
213113
2131142011-10-27  Ryosuke Niwa  <rniwa@webkit.org>
213115
213116        binding test rebaseline after r98679.
213117
213118        * bindings/scripts/test/JS/JSTestInterface.cpp:
213119        (WebCore::JSTestInterfaceConstructor::constructJSTestInterface):
213120        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
213121        (WebCore::jsTestMediaQueryListListenerPrototypeFunctionMethod):
213122        * bindings/scripts/test/JS/JSTestObj.cpp:
213123        (WebCore::setJSTestObjStringAttr):
213124        (WebCore::setJSTestObjStringAttrWithGetterException):
213125        (WebCore::setJSTestObjStringAttrWithSetterException):
213126        (WebCore::jsTestObjPrototypeFunctionVoidMethodWithArgs):
213127        (WebCore::jsTestObjPrototypeFunctionIntMethodWithArgs):
213128        (WebCore::jsTestObjPrototypeFunctionObjMethodWithArgs):
213129        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgs):
213130        (WebCore::jsTestObjPrototypeFunctionMethodThatRequiresAllArgsAndThrows):
213131        (WebCore::jsTestObjPrototypeFunctionSerializedValue):
213132        (WebCore::jsTestObjPrototypeFunctionIdbKey):
213133        (WebCore::jsTestObjPrototypeFunctionOptionsObject):
213134        (WebCore::jsTestObjPrototypeFunctionCustomArgsAndException):
213135        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndArg):
213136        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndOptionalArg):
213137        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGesture):
213138        (WebCore::jsTestObjPrototypeFunctionWithDynamicFrameAndUserGestureASAD):
213139        (WebCore::jsTestObjPrototypeFunctionMethodWithOptionalArg):
213140        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndOptionalArg):
213141        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
213142        (WebCore::jsTestObjPrototypeFunctionMethodWithNonCallbackArgAndCallbackArg):
213143        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod1):
213144        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod2):
213145        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod3):
213146        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod4):
213147        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod6):
213148        (WebCore::jsTestObjPrototypeFunctionOverloadedMethod7):
213149        (WebCore::jsTestObjPrototypeFunctionClassMethodWithOptional):
213150
2131512011-10-27  Adam Barth  <abarth@webkit.org>
213152
213153        Move type-specific exception descriptions into the implementation files for each type
213154        https://bugs.webkit.org/show_bug.cgi?id=71081
213155
213156        Reviewed by Eric Seidel.
213157
213158        There's no reason to centralize this information.  It belongs with each
213159        exception type.  This patch is in preparation for autogenerating the central file.
213160
213161        * WebCore.xcodeproj/project.pbxproj:
213162        * dom/DOMCoreException.cpp: Added.
213163        (WebCore::DOMCoreException::initializeDescription):
213164        * dom/DOMCoreException.h:
213165        * dom/EventException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
213166        (WebCore::EventException::initializeDescription):
213167        * dom/EventException.h:
213168        * dom/ExceptionBase.h:
213169        (WebCore::ExceptionBase::code):
213170        (WebCore::ExceptionBase::name):
213171        (WebCore::ExceptionBase::message):
213172        (WebCore::ExceptionBase::description):
213173        * dom/ExceptionCode.cpp:
213174        (WebCore::getExceptionCodeDescription):
213175        * dom/RangeException.cpp: Copied from Source/WebCore/xml/XPathException.h.
213176        (WebCore::RangeException::initializeDescription):
213177        * dom/RangeException.h:
213178        * fileapi/FileException.cpp: Added.
213179        (WebCore::FileException::initializeDescription):
213180        * fileapi/FileException.h:
213181        * fileapi/OperationNotAllowedException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
213182        (WebCore::OperationNotAllowedException::initializeDescription):
213183        * fileapi/OperationNotAllowedException.h:
213184        * storage/IDBDatabaseException.cpp: Added.
213185        (WebCore::IDBDatabaseException::initializeDescription):
213186        * storage/IDBDatabaseException.h:
213187        * storage/SQLException.cpp: Added.
213188        (WebCore::SQLException::initializeDescription):
213189        * storage/SQLException.h:
213190        * svg/SVGException.cpp: Copied from Source/WebCore/dom/EventException.h.
213191        (WebCore::SVGException::initializeDescription):
213192        * svg/SVGException.h:
213193        * xml/XMLHttpRequestException.cpp: Copied from Source/WebCore/xml/XMLHttpRequestException.h.
213194        (WebCore::XMLHttpRequestException::initializeDescription):
213195        * xml/XMLHttpRequestException.h:
213196        * xml/XPathException.cpp: Copied from Source/WebCore/xml/XPathException.h.
213197        (WebCore::XPathException::initializeDescription):
213198        * xml/XPathException.h:
213199
2132002011-10-27  Kentaro Hara  <haraken@chromium.org>
213201
213202        Generate WebKitCSSMatrix constructor for JSC by [Constructor] IDL
213203        https://bugs.webkit.org/show_bug.cgi?id=70215
213204
213205        Reviewed by Adam Barth.
213206
213207        This patch implements [Optional=CallWithNullValue] IDL for JSC.
213208        While a parameter specified as [Optional=CallWithDefaultValue] is
213209        handled as a string "undefined", a parameter specified as
213210        [Optional=CallWithNullValue] is handled as a null string.
213211        (Note: not a string "null", but a null string).
213212
213213        c.f. [Optional=CallWithNullValue] is implemented in V8 in bug 67458.
213214
213215        Tests: fast/dom/global-constructors.html
213216               transforms/svg-vs-css.xhtml
213217               transforms/cssmatrix-2d-interface.xhtml
213218               transforms/cssmatrix-3d-interface.xhtml
213219
213220        * GNUmakefile.list.am: Removed JSWebKitCSSMatrixCustom.cpp.
213221        * UseJSC.cmake: Ditto.
213222        * WebCore.gypi: Ditto.
213223        * WebCore.pro: Ditto.
213224        * WebCore.xcodeproj/project.pbxproj: Ditto.
213225        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
213226        * bindings/js/JSDOMBinding.h: MAYBE_MISSING_PARAMETER(exec, index, policy) returns the index-th parameter, if the parameter exists. It returns an undefined value, if the index-th parameter is missing and the policy is MissingIsUndefined. It returns an empty value, otherwise (i.e. if the index-th parameter is missing and the policy is MissingIsEmpty).
213227        * bindings/js/JSWebKitCSSMatrixCustom.cpp: Removed.
213228        * bindings/scripts/CodeGeneratorJS.pm:
213229        (GenerateParametersCheck): Supported [Optional=CallWithNullValue].
213230        (GenerateConstructorDefinition): Supported [Optional=CallWithNullValue].
213231        * css/WebKitCSSMatrix.idl: Removed [JSCustomConstructor].
213232
2132332011-10-27  Julien Chaffraix  <jchaffraix@webkit.org>
213234
213235        RenderTableCell m_row and m_column should not be signed values
213236        https://bugs.webkit.org/show_bug.cgi?id=70369
213237
213238        Reviewed by Darin Adler.
213239
213240        No new tests, refactoring only.
213241
213242        The gist of the change is to update row / column handling in the table's
213243        rendering code to use unsigned values. Not all the code is switched over
213244        to unsigned but this is a good start.
213245
213246        Using unsigned makes a lot more sense that allowing some negative indexes
213247        to creep in the algorithms. Also it enables us to "free" the unused signed
213248        bit on the 2 RenderTableCell fields that can be used to pack 2 bits in a
213249        follow-up patch.
213250
213251        * accessibility/AccessibilityTable.cpp:
213252        (WebCore::AccessibilityTable::cellForColumnAndRow):
213253        Removed 2 casts to int as the left side now computes to an unsigned too.
213254        Added some ASSERT to make sure we don't get negative values (colSpan / rowSpan
213255        are always >= 1 by definition but better to be safe).
213256
213257        * accessibility/AccessibilityTableColumn.cpp:
213258        (WebCore::AccessibilityTableColumn::headerObjectForSection):
213259        * accessibility/AccessibilityTableColumn.h:
213260        Switched m_columnIndex to unsigned to remove any signed / unsigned comparisons.
213261
213262        * rendering/RenderTable.cpp:
213263        (WebCore::RenderTable::splitColumn):
213264        (WebCore::RenderTable::calcBorderEnd):
213265        (WebCore::RenderTable::cellAbove):
213266        (WebCore::RenderTable::cellBelow):
213267        (WebCore::RenderTable::cellBefore):
213268        (WebCore::RenderTable::cellAfter):
213269        Mostly mechanical changes to avoid signed / unsigned comparisons or casts.
213270
213271        * rendering/RenderTable.h:
213272        (WebCore::RenderTable::numEffCols):
213273        (WebCore::RenderTable::colToEffCol):
213274        Updated a couple of functions to use an unsigned.
213275
213276        * rendering/RenderTableCell.cpp:
213277        (WebCore::RenderTableCell::RenderTableCell):
213278        * rendering/RenderTableCell.h:
213279        (WebCore::RenderTableCell::col):
213280        (WebCore::RenderTableCell::setCol):
213281        (WebCore::RenderTableCell::row):
213282        (WebCore::RenderTableCell::setRow):
213283        Updated after switching the fields to unsigned. Also added 2 constants
213284        to cover the not-initialized-yet value for row and column indexes.
213285        Note: we don't enforce that you can't reach those indexes but neither
213286        did the previous code!
213287
213288        * rendering/RenderTableSection.cpp:
213289        (WebCore::RenderTableSection::RenderTableSection):
213290        (WebCore::RenderTableSection::addChild):
213291        (WebCore::RenderTableSection::ensureRows):
213292        (WebCore::RenderTableSection::setCellLogicalWidths):
213293        (WebCore::RenderTableSection::calcRowLogicalHeight):
213294        (WebCore::RenderTableSection::layoutRows):
213295        (WebCore::RenderTableSection::calcOuterBorderStart):
213296        (WebCore::RenderTableSection::calcOuterBorderEnd):
213297        (WebCore::RenderTableSection::recalcCells):
213298        (WebCore::RenderTableSection::clearGrid):
213299        (WebCore::RenderTableSection::numColumns):
213300        (WebCore::RenderTableSection::appendColumn):
213301        (WebCore::RenderTableSection::splitColumn):
213302        Lots of mechanical: signed -> unsigned changes. However we had
213303        to change the logic a bit as it assumed that m_cRow started at
213304        -1 and increased from there. The new meaning of m_cRow is the
213305        number of rows seen and m_cRow - 1 is where to insert your new
213306        cells.
213307
213308        (WebCore::RenderTableSection::addCell):
213309        Checked the callers and all increase m_cRow before calling the function.
213310        Added an ASSERT to catch up wrong usage in the future.
213311
213312        * rendering/RenderTableSection.h:
213313        (WebCore::RenderTableSection::numRows): Switched to unsigned.
213314
2133152011-10-27  Dan Bernstein  <mitz@apple.com>
213316
213317        Assertion failure (m_text) in RenderText::RenderText() at icanhascheezburger.com
213318        https://bugs.webkit.org/show_bug.cgi?id=71085
213319
213320        Reviewed by Jon Honeycutt.
213321
213322        Test: fast/css-generated-content/attr-missing.html
213323
213324        * css/CSSStyleSelector.cpp:
213325        (WebCore::CSSStyleSelector::applyProperty): If the element does not have the attribute specified
213326        in the attr() function in the content property, set the content to the empty string, per
213327        <http://www.w3.org/TR/CSS21/generate.html#content>.
213328
2133292011-10-27  Helder Correia  <helder.correia@palm.com>
213330
213331        [Qt] Failure to build when QT_NO_CURSOR defined
213332        https://bugs.webkit.org/show_bug.cgi?id=71060
213333
213334        Reviewed by Noam Rosenthal.
213335
213336        PlatformVideoWindowQt needs to wrap some code around #ifndef
213337        QT_NO_CURSOR in order to build QtWebKit when QT_NO_CURSOR is defined.
213338
213339        Build fix, no new tests.
213340
213341        * platform/graphics/gstreamer/PlatformVideoWindowQt.cpp:
213342        (FullScreenVideoWindow::FullScreenVideoWindow):
213343        (FullScreenVideoWindow::closeEvent):
213344        (FullScreenVideoWindow::hideCursor):
213345        (FullScreenVideoWindow::showCursor):
213346
2133472011-10-27  Shawn Singh  <shawnsingh@chromium.org>
213348
213349        [chromium] Track when CCLayerImpl properties have changed.
213350        https://bugs.webkit.org/show_bug.cgi?id=70442
213351
213352        Reviewed by James Robinson.
213353
213354        To determine a good scissor rect, we must determine what
213355        will change on the screen on the next redraw.  This patch
213356        tracks the necessary information on CCLayerImpl and marks
213357        a flag indicating whether this layer will "damage" the screen.
213358        The other portion of "change", the updateRect, was already
213359        landed in https://bugs.webkit.org/show_bug.cgi?id=69441.
213360
213361        New unit test added to CCLayerImplTest to test this patch.
213362
213363        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
213364        (WebCore::CCLayerImpl::CCLayerImpl):
213365        (WebCore::CCLayerImpl::scrollBy):
213366        (WebCore::CCLayerImpl::noteLayerPropertyChangedForSubtree):
213367        (WebCore::CCLayerImpl::noteLayerPropertyChangedForDescendants):
213368        (WebCore::CCLayerImpl::setBounds):
213369        (WebCore::CCLayerImpl::setMaskLayer):
213370        (WebCore::CCLayerImpl::setReplicaLayer):
213371        (WebCore::CCLayerImpl::setDrawsContent):
213372        (WebCore::CCLayerImpl::setAnchorPoint):
213373        (WebCore::CCLayerImpl::setAnchorPointZ):
213374        (WebCore::CCLayerImpl::setMasksToBounds):
213375        (WebCore::CCLayerImpl::setOpaque):
213376        (WebCore::CCLayerImpl::setOpacity):
213377        (WebCore::CCLayerImpl::setPosition):
213378        (WebCore::CCLayerImpl::setPreserves3D):
213379        (WebCore::CCLayerImpl::setSublayerTransform):
213380        (WebCore::CCLayerImpl::setTransform):
213381        (WebCore::CCLayerImpl::setDebugBorderColor):
213382        (WebCore::CCLayerImpl::setDebugBorderWidth):
213383        (WebCore::CCLayerImpl::setContentBounds):
213384        (WebCore::CCLayerImpl::setScrollPosition):
213385        (WebCore::CCLayerImpl::setScrollDelta):
213386        (WebCore::CCLayerImpl::setDoubleSided):
213387        * platform/graphics/chromium/cc/CCLayerImpl.h:
213388        (WebCore::CCLayerImpl::layerPropertyChanged):
213389        (WebCore::CCLayerImpl::resetLayerPropertyChanged):
213390
2133912011-10-27  Anders Carlsson  <andersca@apple.com>
213392
213393        Add a Plugin::geometryDidChange that will work with transforms
213394        https://bugs.webkit.org/show_bug.cgi?id=71072
213395
213396        Reviewed by Simon Fraser.
213397
213398        Export symbols needed by WebKit2.
213399
213400        * WebCore.exp.in:
213401
2134022011-10-27  Adam Barth  <abarth@webkit.org>
213403
213404        Exception subtypes have incorrect namespace indentation
213405        https://bugs.webkit.org/show_bug.cgi?id=71075
213406
213407        Reviewed by Eric Seidel.
213408
213409        This patch is in preparation for editing these headers.  We decided to
213410        not indent namespaces in headers and update the headers as we edited
213411        them.
213412
213413        * dom/DOMCoreException.h:
213414        (WebCore::DOMCoreException::create):
213415        (WebCore::DOMCoreException::DOMCoreException):
213416        * dom/EventException.h:
213417        (WebCore::EventException::create):
213418        (WebCore::EventException::EventException):
213419        * dom/RangeException.h:
213420        (WebCore::RangeException::create):
213421        (WebCore::RangeException::RangeException):
213422        * xml/XMLHttpRequestException.h:
213423        (WebCore::XMLHttpRequestException::create):
213424        (WebCore::XMLHttpRequestException::XMLHttpRequestException):
213425        * xml/XPathException.h:
213426        (WebCore::XPathException::create):
213427        (WebCore::XPathException::XPathException):
213428
2134292011-10-27  Kenneth Russell  <kbr@google.com>
213430
213431        Implement new restrictions on uniform and attribute location lengths
213432        https://bugs.webkit.org/show_bug.cgi?id=70981
213433
213434        Reviewed by Chris Marrin.
213435
213436        Tests: fast/canvas/webgl/attrib-location-length-limits.html
213437               fast/canvas/webgl/uniform-location-length-limits.html
213438
213439        * html/canvas/WebGLRenderingContext.cpp:
213440        (WebCore::WebGLRenderingContext::bindAttribLocation):
213441        (WebCore::WebGLRenderingContext::getAttribLocation):
213442        (WebCore::WebGLRenderingContext::getUniformLocation):
213443        (WebCore::WebGLRenderingContext::validateLocationLength):
213444        * html/canvas/WebGLRenderingContext.h:
213445
2134462011-10-27  Rafael Weinstein  <rafaelw@chromium.org>
213447
213448        [MutationObservers] Implement subtree observation of transiently disconnected nodes
213449        https://bugs.webkit.org/show_bug.cgi?id=70788
213450
213451        Reviewed by Ryosuke Niwa.
213452
213453        This patch adds support for observing all descendant nodes reachable from a subtree
213454        observation until delivery of mutations -- even if they become detached. We do this by
213455        introducing a "transient registration" which can exist for a short time along side
213456        normal registrations on Node. Transient registrations have a reference to the node
213457        which "owns" the subtree observation registration (the "registrationNode"). Transient
213458        registrations are cleared immediately before mutations are delivered to an observer,
213459        or when the observer re-observes at the registrationNode, in-effect resetting the
213460        observation.
213461
213462        New tests added to fast/mutation/observe-subtree.html.
213463
213464        * dom/CharacterData.cpp:
213465        (WebCore::CharacterData::dispatchModifiedEvent):
213466        * dom/ChildListMutationScope.cpp:
213467        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::ChildListMutationAccumulator):
213468        (WebCore::MutationAccumulationRouter::ChildListMutationAccumulator::enqueueMutationRecord):
213469        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
213470        * dom/ContainerNode.cpp:
213471        (WebCore::dispatchChildRemovalEvents):
213472        * dom/Element.cpp:
213473        (WebCore::enqueueAttributesMutationRecord):
213474        * dom/Node.cpp:
213475        (WebCore::addMatchingObservers):
213476        (WebCore::Node::getRegisteredMutationObserversOfType):
213477        (WebCore::Node::registerMutationObserver):
213478        (WebCore::Node::unregisterMutationObserver):
213479        (WebCore::Node::notifySubtreeObserversOfDisconnection):
213480        * dom/Node.h:
213481        * dom/NodeRareData.h:
213482        (WebCore::MutationObserverEntry::MutationObserverEntry):
213483        (WebCore::MutationObserverEntry::operator==):
213484        * dom/WebKitMutationObserver.cpp:
213485        (WebCore::WebKitMutationObserver::observe):
213486        (WebCore::unregisterTransientEntries):
213487        (WebCore::WebKitMutationObserver::disconnect):
213488        (WebCore::WebKitMutationObserver::observedNodeDestructed):
213489        (WebCore::WebKitMutationObserver::observedSubtreeWillDisconnect):
213490        (WebCore::WebKitMutationObserver::clearTransientEntries):
213491        (WebCore::WebKitMutationObserver::deliver):
213492        * dom/WebKitMutationObserver.h:
213493
2134942011-10-27  Pratik Solanki  <psolanki@apple.com>
213495
213496        Ask CG to not parse image metadata
213497        https://bugs.webkit.org/show_bug.cgi?id=71029
213498
213499        Reviewed by Simon Fraser.
213500
213501        We don't need CG to parse the image metadata since WebCore never uses it. Passing this
213502        option shaves off time spent under CGImageSourceCopyPropertiesAtIndex. Under Instruments I
213503        saw the time drop from ~75ms to ~25ms when loading http://boston.com/bigpicture and the
213504        first link on that page.
213505
213506        No new tests because no change in functionality.
213507
213508        * platform/graphics/ImageSource.h:
213509        * platform/graphics/cg/ImageSourceCG.cpp:
213510        (WebCore::imageSourceOptions):
213511        (WebCore::ImageSource::isSizeAvailable):
213512        (WebCore::ImageSource::frameSizeAtIndex):
213513        (WebCore::ImageSource::getHotSpot):
213514        (WebCore::ImageSource::repetitionCount):
213515        (WebCore::ImageSource::createFrameAtIndex):
213516        (WebCore::ImageSource::frameDurationAtIndex):
213517
2135182011-10-27  David Grogan  <dgrogan@chromium.org>
213519
213520        Move eventqueue from Document to ScriptExecutionContext so that it can be accessed from workers
213521        https://bugs.webkit.org/show_bug.cgi?id=57789
213522
213523        Extract interface from EventQueue and create two new subclasses:
213524        DocumentEventQueue and WorkerEventQueue.  DocumentEventQueue is the
213525        old EventQueue implementation that uses DOMTimer(0) to post async
213526        events.  WorkerEventQueue posts events to its thread's message loop.
213527
213528        Reviewed by David Levin.
213529
213530        No new tests - IndexedDB will use this but isn't ready yet.  I don't
213531        know of any other API available in workers that I can test this with.
213532
213533        * GNUmakefile.list.am:
213534        * WebCore.gypi:
213535        * WebCore.pro:
213536        * WebCore.xcodeproj/project.pbxproj:
213537        * dom/DOMAllInOne.cpp:
213538        * dom/Document.cpp:
213539        (WebCore::Document::Document):
213540        * dom/Document.h:
213541        (WebCore::Document::eventQueue):
213542        * dom/DocumentEventQueue.cpp: Renamed from Source/WebCore/dom/EventQueue.cpp.
213543        (WebCore::shouldDispatchScrollEventSynchronously):
213544        (WebCore::DocumentEventQueueTimer::DocumentEventQueueTimer):
213545        (WebCore::DocumentEventQueueTimer::fired):
213546        (WebCore::DocumentEventQueue::create):
213547        (WebCore::DocumentEventQueue::DocumentEventQueue):
213548        (WebCore::DocumentEventQueue::~DocumentEventQueue):
213549        (WebCore::DocumentEventQueue::enqueueEvent):
213550        (WebCore::DocumentEventQueue::enqueueOrDispatchScrollEvent):
213551        (WebCore::DocumentEventQueue::cancelEvent):
213552        (WebCore::DocumentEventQueue::close):
213553        (WebCore::DocumentEventQueue::pendingEventTimerFired):
213554        (WebCore::DocumentEventQueue::dispatchEvent):
213555        * dom/DocumentEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
213556        * dom/EventQueue.h:
213557        * dom/ScriptExecutionContext.h:
213558        * page/EventHandler.cpp: Change EventQueue to DocumentEventQueue.
213559        (WebCore::EventHandler::sendScrollEvent): Change EventQueue to DocumentEventQueue.
213560        * rendering/RenderLayer.cpp:
213561        (WebCore::RenderLayer::scrollTo): Change EventQueue to DocumentEventQueue.
213562        * rendering/RenderListBox.cpp:
213563        (WebCore::RenderListBox::scrollTo): Change EventQueue to DocumentEventQueue.
213564        * storage/IDBDatabase.cpp:
213565        * storage/IDBRequest.cpp:
213566        * storage/IDBTransaction.cpp:
213567        * workers/WorkerContext.cpp:
213568        (WebCore::WorkerContext::eventQueue):
213569        * workers/WorkerContext.h:
213570        * workers/WorkerEventQueue.cpp: Added.
213571        (WebCore::WorkerEventQueue::create):
213572        (WebCore::WorkerEventQueue::WorkerEventQueue):
213573        (WebCore::WorkerEventQueue::~WorkerEventQueue):
213574        (WebCore::WorkerEventQueue::EventDispatcherTask::create):
213575        (WebCore::WorkerEventQueue::EventDispatcherTask::dispatchEvent):
213576        (WebCore::WorkerEventQueue::EventDispatcherTask::performTask):
213577        (WebCore::WorkerEventQueue::EventDispatcherTask::cancel):
213578        (WebCore::WorkerEventQueue::EventDispatcherTask::EventDispatcherTask):
213579        (WebCore::WorkerEventQueue::removeEvent):
213580        (WebCore::WorkerEventQueue::enqueueEvent):
213581        (WebCore::WorkerEventQueue::cancelEvent):
213582        (WebCore::WorkerEventQueue::close):
213583        * workers/WorkerEventQueue.h: Copied from Source/WebCore/dom/EventQueue.h.
213584
2135852011-10-27  Jonathon Jongsma  <jonathon.jongsma@collabora.co.uk>
213586
213587        [GStreamer] Prevent memory leak when fullscreening a video
213588        https://bugs.webkit.org/show_bug.cgi?id=71043
213589
213590        Reviewed by Gustavo Noronha Silva.
213591
213592        * platform/graphics/gstreamer/GStreamerGWorld.cpp:
213593        (WebCore::GStreamerGWorld::GStreamerGWorld):
213594        (WebCore::GStreamerGWorld::enterFullscreen):
213595        (WebCore::GStreamerGWorld::exitFullscreen):
213596        * platform/graphics/gstreamer/GStreamerGWorld.h:
213597
2135982011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
213599
213600        Reviewed by David Kilzer.
213601
213602        Make FeatureDefines Identical Across OS X Projects
213603        https://bugs.webkit.org/show_bug.cgi?id=71051
213604
213605        * Configurations/FeatureDefines.xcconfig:
213606
2136072011-10-27  Joseph Pecoraro  <pecoraro@apple.com>
213608
213609        Correctly Guard Exported REQUEST_ANIMATION_FRAME Symbols
213610        https://bugs.webkit.org/show_bug.cgi?id=71047
213611
213612        Reviewed by David Kilzer.
213613
213614        * WebCore.exp.in:
213615
2136162011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
213617
213618        Unreviewed, rolling out r98626.
213619        http://trac.webkit.org/changeset/98626
213620        https://bugs.webkit.org/show_bug.cgi?id=71066
213621
213622        Does not compile on cr-win (Requested by jamesr_ on #webkit).
213623
213624        * platform/graphics/chromium/FontChromiumWin.cpp:
213625        (WebCore::Font::drawGlyphs):
213626        * platform/graphics/skia/SkiaFontWin.cpp:
213627        (WebCore::paintSkiaText):
213628
2136292011-10-27  Tony Chang  <tony@chromium.org>
213630
213631        Fix a compiler warning caught by gcc 4.6.1. Need to return something.
213632
213633        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
213634        (WebCore::CCSchedulerStateMachine::nextAction):
213635
2136362011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
213637
213638        Web Inspector: Advanced search style fixes.
213639        https://bugs.webkit.org/show_bug.cgi?id=71036
213640
213641        Reviewed by Pavel Feldman.
213642
213643        * inspector/front-end/AdvancedSearchController.js:
213644        (WebInspector.SearchView):
213645        * inspector/front-end/Images/statusbarButtonGlyphs.png:
213646        * inspector/front-end/inspector.css:
213647        (.search-view .search-panel):
213648        (.search-view .search-panel input[type="search"].search-config-search):
213649        (.search-view .search-panel input[type="checkbox"].search-config-checkbox):
213650        (body:not(.platform-mac) .search-view .search-panel input[type="checkbox"].search-config-checkbox):
213651        (body.platform-mac .search-view .search-panel input[type="checkbox"].search-config-checkbox):
213652        (#drawer-status-bar .search-status-bar-progress):
213653        (body:not(.platform-mac) #drawer-status-bar .search-status-bar-progress):
213654        (body.platform-mac #drawer-status-bar .search-status-bar-progress):
213655
2136562011-10-27  David Hyatt  <hyatt@apple.com>
213657
213658        https://bugs.webkit.org/show_bug.cgi?id=71061
213659        
213660        [CSS Line Grid] Add support for parsing the line-grid property.
213661
213662        New tests in fast/line-grid.
213663
213664        Reviewed by Dan Bernstein.
213665
213666        * css/CSSComputedStyleDeclaration.cpp:
213667        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue):
213668        * css/CSSParser.cpp:
213669        (WebCore::CSSParser::parseValue):
213670        * css/CSSProperty.cpp:
213671        (WebCore::CSSProperty::isInheritedProperty):
213672        * css/CSSPropertyNames.in:
213673        * css/CSSStyleSelector.cpp:
213674        (WebCore::CSSStyleSelector::applyProperty):
213675        * rendering/style/RenderStyle.h:
213676        (WebCore::InheritedFlags::lineGrid):
213677        (WebCore::InheritedFlags::setLineGrid):
213678        (WebCore::InheritedFlags::initialLineGrid):
213679        * rendering/style/StyleRareInheritedData.cpp:
213680        (WebCore::StyleRareInheritedData::StyleRareInheritedData):
213681        (WebCore::StyleRareInheritedData::operator==):
213682        * rendering/style/StyleRareInheritedData.h:
213683
2136842011-10-27  Fady Samuel  <fsamuel@chromium.org>
213685
213686        iframes seem to occasionally doubly scale or scale incorrectly when pageScaleFactor != 1.0
213687        https://bugs.webkit.org/show_bug.cgi?id=70552
213688
213689        Reviewed by Simon Fraser.
213690
213691        Test: fast/frames/iframe-double-scale-contents.html
213692
213693        The iframe's document style was using the page's scale factor, rather than the frame's (1.0).
213694        If the page scale factor was set after layout was complete, then this would have no impact because the iframe's document style and layout is not recomputed, 
213695        but if the page scale factor is set prior to creating and laying out the iframe, the iframe's content would be doubly scaled.
213696
213697        * css/CSSStyleSelector.cpp:
213698        (WebCore::CSSStyleSelector::styleForDocument):
213699
2137002011-10-27  Nat Duca  <nduca@chromium.org>
213701
213702        Unreviewed, fix CCSchedulerStateMachine build errors.
213703
213704        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp:
213705        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h:
213706
2137072011-10-27  Tony Chang  <tony@chromium.org>
213708
213709        fix sizing of auto sized flexbox
213710        https://bugs.webkit.org/show_bug.cgi?id=70839
213711
213712        Reviewed by David Hyatt.
213713
213714        Correctly set the height of the flexbox when we have a column flow
213715        and the height is auto.
213716
213717        Tests: css3/flexbox/columns-auto-size.html
213718               css3/flexbox/flex-flow-margins-auto-size.html
213719
213720        * rendering/RenderFlexibleBox.cpp:
213721        (WebCore::RenderFlexibleBox::layoutBlock): Always computeLogicalHeight() after we're done placing children.
213722        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection): Set the height as we place children.
213723
2137242011-10-25  Vangelis Kokkevis  <vangelis@chromium.org>
213725
213726        Add support for creating compositing layers for fixed position elements.
213727        https://bugs.webkit.org/show_bug.cgi?id=69796
213728
213729        position:fixed elements will get a compositing layer if:
213730        1. Settings:acceleratedCompositingForFixedPositionEnabled() returns true, 
213731        2. The element has its own stacking context (e.g. has a z-index), and
213732        3. The element's container is the RenderView (e.g. not a descendant of a transformed element)
213733
213734        Reviewed by Simon Fraser.
213735
213736
213737        Test: compositing/geometry/fixed-position-composited-switch.html
213738
213739        * page/Settings.cpp:
213740        (WebCore::Settings::Settings):
213741        * page/Settings.h:
213742        (WebCore::Settings::setAcceleratedCompositingForFixedPositionEnabled):
213743        (WebCore::Settings::acceleratedCompositingForFixedPositionEnabled):
213744        * rendering/RenderLayerCompositor.cpp:
213745        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
213746        (WebCore::RenderLayerCompositor::updateCompositingLayers):
213747        (WebCore::RenderLayerCompositor::requiresCompositingLayer):
213748        (WebCore::RenderLayerCompositor::requiresCompositingForPosition):
213749        * rendering/RenderLayerCompositor.h:
213750        * testing/Internals.cpp:
213751        (WebCore::Internals::setEnableCompositingForFixedPosition):
213752        * testing/Internals.h:
213753        * testing/Internals.idl:
213754
2137552011-10-27  Arthur Hsu  <arthurhsu@chromium.org>
213756
213757        https://bugs.webkit.org/show_bug.cgi?id=70390
213758        Ensure font load for Skia backend during printing.
213759
213760        Reviewed by James Robinson.
213761
213762        * platform/graphics/chromium/FontChromiumWin.cpp:
213763        (WebCore::Font::drawGlyphs):
213764        * platform/graphics/skia/SkiaFontWin.cpp:
213765        (WebCore::paintSkiaText):
213766
2137672011-10-27  Michael Saboff  <msaboff@apple.com>
213768
213769        Investigate storing strings in 8-bit buffers when possible
213770        https://bugs.webkit.org/show_bug.cgi?id=66161
213771
213772        Changes to support 8 bit StringImpl changes.
213773        
213774        Reviewed by Geoffrey Garen.
213775        
213776        No new tests, refactored StringImpl for 8 bit strings.
213777
213778        * platform/text/cf/StringImplCF.cpp:
213779        (WTF::StringImpl::createCFString):
213780
2137812011-10-27  Nat Duca  <nduca@chromium.org>
213782
213783        [chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
213784        https://bugs.webkit.org/show_bug.cgi?id=70714
213785
213786        Reland of ill-fated r98612.
213787
213788        Reviewed by James Robinson.
213789
213790        * WebCore.gypi:
213791        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
213792        (WebCore::CCSchedulerStateMachine::nextAction):
213793        (WebCore::CCSchedulerStateMachine::updateState):
213794        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
213795        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
213796        (WebCore::CCSchedulerStateMachine::operator=):
213797        (WebCore::CCSchedulerStateMachine::commitPending):
213798        (WebCore::CCSchedulerStateMachine::setNeedsRedraw):
213799        (WebCore::CCSchedulerStateMachine::setNeedsCommit):
213800        (WebCore::CCSchedulerStateMachine::beginFrameComplete):
213801        (WebCore::CCSchedulerStateMachine::updateResourcesComplete):
213802
2138032011-10-27  Pavel Podivilov  <podivilov@chromium.org>
213804
213805        Get rid of optional parameters in the middle in IDLs.
213806        https://bugs.webkit.org/show_bug.cgi?id=70816
213807
213808        Reviewed by Adam Barth.
213809
213810        Optional parameters in the middle are prohibited by WebIDL spec.
213811
213812        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
213813        * bindings/scripts/CodeGeneratorJS.pm:
213814        (GenerateHeader):
213815        (GenerateImplementation):
213816        * bindings/scripts/CodeGeneratorV8.pm:
213817        (GenerateHeader):
213818        (GenerateArgumentsCountCheck):
213819        (GenerateImplementation):
213820        * bindings/scripts/test/JS/JSTestObj.cpp:
213821        (WebCore::jsTestObjPrototypeFunctionMethodWithNonOptionalArgAndTwoOptionalArgs):
213822        * bindings/scripts/test/TestObj.idl:
213823        * bindings/scripts/test/V8/V8TestObj.cpp:
213824        (WebCore::TestObjInternal::methodWithNonOptionalArgAndTwoOptionalArgsCallback):
213825        * html/canvas/CanvasRenderingContext2D.idl:
213826        * page/DOMWindow.idl:
213827
2138282011-10-27  Antti Koivisto  <antti@apple.com>
213829
213830        REGRESSION(r98542): tables/mozilla_expected_failures/bugs/bug14007-2.html
213831        https://bugs.webkit.org/show_bug.cgi?id=71032
213832
213833        Reviewed by Dave Hyatt.
213834
213835        If we apply an explicitly inherited property, we need to apply any further
213836        non-inherited properties as the property might get overridden again.
213837
213838        * css/CSSStyleSelector.cpp:
213839        (WebCore::CSSStyleSelector::styleForKeyframe):
213840        (WebCore::CSSStyleSelector::styleForPage):
213841        (WebCore::CSSStyleSelector::applyDeclaration):
213842        (WebCore::CSSStyleSelector::applyDeclarations):
213843        * css/CSSStyleSelector.h:
213844
2138452011-10-27  Julien Chaffraix  <jchaffraix@webkit.org>
213846
213847        Remove RenderTableSection::m_gridRows
213848        https://bugs.webkit.org/show_bug.cgi?id=70570
213849
213850        Reviewed by Darin Adler.
213851
213852        No new test, refactoring only.
213853
213854        Just nuke the old field that was duplicating
213855        m_grid.size().
213856
213857        * rendering/RenderTableSection.h:
213858        (WebCore::RenderTableSection::numRows):
213859        * rendering/RenderTableSection.cpp:
213860        (WebCore::RenderTableSection::RenderTableSection):
213861        (WebCore::RenderTableSection::ensureRows):
213862        (WebCore::RenderTableSection::setCellLogicalWidths):
213863        (WebCore::RenderTableSection::calcRowLogicalHeight):
213864        (WebCore::RenderTableSection::layoutRows):
213865        (WebCore::RenderTableSection::calcOuterBorderBefore):
213866        (WebCore::RenderTableSection::calcOuterBorderAfter):
213867        (WebCore::RenderTableSection::calcOuterBorderStart):
213868        (WebCore::RenderTableSection::calcOuterBorderEnd):
213869        (WebCore::RenderTableSection::firstLineBoxBaseline):
213870        (WebCore::RenderTableSection::paint):
213871        (WebCore::RenderTableSection::paintObject):
213872        (WebCore::RenderTableSection::clearGrid):
213873        (WebCore::RenderTableSection::numColumns):
213874        (WebCore::RenderTableSection::appendColumn):
213875        (WebCore::RenderTableSection::splitColumn):
213876        s/m_gridRows/m_grid.size()/.
213877        Also updated the code as m_grid.size() is unsigned.
213878
213879        (WebCore::RenderTableSection::recalcCells):
213880        The old code would keep the grid's memory but we have to clear it to properly
213881        count the elements. To avoid lots of small reallocations, we reallocate the
213882        buffer at the old capacity upfront.
213883
2138842011-10-27  Nat Duca  <nduca@chromium.org>
213885
213886        Unreviewed, rolling out r98612.
213887        http://trac.webkit.org/changeset/98612
213888        https://bugs.webkit.org/show_bug.cgi?id=70714
213889
213890        Broke build
213891
213892        * WebCore.gypi:
213893        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Removed.
213894        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Removed.
213895
2138962011-10-24  Nat Duca  <nduca@chromium.org>
213897
213898        [chromium] Encapsulate state machine parts of scheduling in CCSchedulerStateMachine
213899        https://bugs.webkit.org/show_bug.cgi?id=70714
213900
213901        Reviewed by James Robinson.
213902
213903        * WebCore.gypi:
213904        * platform/graphics/chromium/cc/CCSchedulerStateMachine.cpp: Added.
213905        (WebCore::CCSchedulerStateMachine::nextAction):
213906        (WebCore::CCSchedulerStateMachine::updateState):
213907        * platform/graphics/chromium/cc/CCSchedulerStateMachine.h: Added.
213908        (WebCore::CCSchedulerStateMachine::CCSchedulerStateMachine):
213909        (WebCore::CCSchedulerStateMachine::operator=):
213910        (WebCore::CCSchedulerStateMachine::commitPending):
213911        (WebCore::CCSchedulerStateMachine::setNeedsRedraw):
213912        (WebCore::CCSchedulerStateMachine::setNeedsCommit):
213913        (WebCore::CCSchedulerStateMachine::beginFrameComplete):
213914        (WebCore::CCSchedulerStateMachine::updateResourcesComplete):
213915
2139162011-10-27  Dan Bernstein  <mitz@apple.com>
213917
213918        <rdar://problem/10262205> Allow column progression to be independent of writing mode
213919        https://bugs.webkit.org/show_bug.cgi?id=71028
213920
213921        Reviewed by Darin Adler.
213922
213923        Tests: fast/multicol/block-axis-horizontal-bt.html
213924               fast/multicol/block-axis-horizontal-tb.html
213925               fast/multicol/block-axis-vertical-lr.html
213926               fast/multicol/block-axis-vertical-rl.html
213927               fast/multicol/flipped-blocks-hit-test.html
213928
213929        Allow “columns” to be stacked along the block axis rather than the inline axis. This can facilitate
213930        paginated interfaces. A column-axis property is added in order to enable this mode.
213931
213932        * css/CSSComputedStyleDeclaration.cpp:
213933        (WebCore::CSSComputedStyleDeclaration::getPropertyCSSValue): Handle the column-axis property.
213934        * css/CSSParser.cpp:
213935        (WebCore::CSSParser::parseValue): Ditto.
213936        * css/CSSPrimitiveValueMappings.h:
213937        (WebCore::CSSPrimitiveValue::CSSPrimitiveValue): Map ColumnAxis values to identifiers.
213938        (WebCore::CSSPrimitiveValue::operator ColumnAxis): Map identifiers to ColumnAxis values.
213939        * css/CSSProperty.cpp:
213940        (WebCore::CSSProperty::isInheritedProperty): Updated to return false for the column-axis property.
213941        * css/CSSPropertyNames.in: Added -webkit-column-axis.
213942        * css/CSSStyleSelector.cpp:
213943        (WebCore::CSSStyleSelector::applyProperty): Handle column-axis.
213944        * rendering/ColumnInfo.h:
213945        (WebCore::ColumnInfo::ColumnInfo): Added m_progressionAxis to the initialization list.
213946        (WebCore::ColumnInfo::progressionAxis): Added this getter.
213947        (WebCore::ColumnInfo::setProgressionAxis): Added this setter.
213948        * rendering/RenderBlock.cpp:
213949        (WebCore::RenderBlock::addOverflowFromChildren): Simplified, and thus also made this function work
213950        with block-axis column progression.
213951        (WebCore::RenderBlock::paintColumnRules): Added code to paint rules between columns with block-axis
213952        progression.
213953        (WebCore::RenderBlock::paintColumnContents): Adjusted the painting offset for the block-axis
213954        column progression case.
213955        (WebCore::RenderBlock::nodeAtPoint): Fixed hit-testing in flipped-blocks writing modes. This is
213956        covered by flipped-blocks-hit-test.html.
213957        (WebCore::RenderBlock::hitTestColumns): Adjusted the offset for the block-axis column progression
213958        case.
213959        (WebCore::RenderBlock::calcColumnWidth): Set the column width to the content logical width in
213960        the block-axis column progression case. The column-width and column-count properties are ignored.
213961        (WebCore::RenderBlock::setDesiredColumnCountAndWidth): Set the column progression axis based on
213962        the style.
213963        (WebCore::RenderBlock::columnCount): Broke up an assertion into two.
213964        (WebCore::RenderBlock::columnRectAt): Updated for block-axis column progression.
213965        (WebCore::RenderBlock::adjustPointToColumnContents): Ditto.
213966        (WebCore::RenderBlock::adjustRectForColumns): Ditto.
213967        (WebCore::RenderBlock::adjustForColumns): Ditto.
213968        * rendering/RenderLayer.cpp:
213969        (WebCore::RenderLayer::paintChildLayerIntoColumns): Adjusted the offser for the block-axis column
213970        progression case.
213971        (WebCore::RenderLayer::hitTestChildLayerColumns): Ditto.
213972        * rendering/style/RenderStyle.h:
213973        (WebCore::InheritedFlags::columnAxis): Added this getter.
213974        (WebCore::InheritedFlags::hasInlineColumnAxis): Added. Checks the column axis against the writing
213975        mode.
213976        (WebCore::InheritedFlags::specifiesColumns): Changed to return true if the specified column axis
213977        is the block axis.
213978        (WebCore::InheritedFlags::setColumnAxis): Added this setter.
213979        (WebCore::InheritedFlags::initialColumnAxis): Added. Returns AutoColumnAxis.
213980        * rendering/style/RenderStyleConstants.h: Added a ColumnAxis enum.
213981        * rendering/style/StyleMultiColData.cpp:
213982        (WebCore::StyleMultiColData::StyleMultiColData): Added m_axis to the initialization list.
213983        (WebCore::StyleMultiColData::operator==): Compare m_axis.
213984        * rendering/style/StyleMultiColData.h: Added m_axis member variable.
213985
2139862011-10-27  Mihnea Ovidenie  <mihnea@adobe.com>
213987
213988        [CSSRegions]Flag regions with custom styling
213989        https://bugs.webkit.org/show_bug.cgi?id=70733
213990
213991        Reviewed by David Hyatt.
213992
213993        Region elements that have custom region styling are now marked accordingly.
213994
213995        Test: fast/regions/render-region-custom-style-mark.html
213996
213997        * css/CSSStyleSelector.cpp:
213998        (WebCore::CSSStyleSelector::checkRegionStyle):
213999        * css/CSSStyleSelector.h:
214000        * rendering/RenderRegion.cpp:
214001        (WebCore::RenderRegion::RenderRegion):
214002        (WebCore::RenderRegion::styleDidChange):
214003        * rendering/RenderRegion.h:
214004        (WebCore::RenderRegion::hasCustomRegionStyle):
214005        (WebCore::RenderRegion::setHasCustomRegionStyle):
214006        * rendering/RenderTreeAsText.cpp:
214007        (WebCore::writeRenderFlowThreads):
214008
2140092011-10-27  Sheriff Bot  <webkit.review.bot@gmail.com>
214010
214011        Unreviewed, rolling out r98556.
214012        http://trac.webkit.org/changeset/98556
214013        https://bugs.webkit.org/show_bug.cgi?id=71031
214014
214015        The test added by the patch doesn't pass on Snow Leopard
214016        (Requested by rniwa on #webkit).
214017
214018        * editing/TextCheckingHelper.cpp:
214019        (WebCore::checkTextOfParagraph):
214020        * testing/Internals.cpp:
214021        * testing/Internals.h:
214022        * testing/Internals.idl:
214023
2140242011-10-27  Mike Reed  <reed@google.com>
214025
214026        [skia] replace offscreen technique with native support for antialiased clipping
214027        https://bugs.webkit.org/show_bug.cgi?id=70748
214028
214029        Reviewed by Stephen White.
214030
214031        ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
214032        bits of the result. Other than that, the results should be the same, except that now the drawing
214033        can go directly to the canvas, rather than being direct offscreen and then have that result
214034        "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
214035        antialiased clip area.
214036
214037        * platform/graphics/skia/PlatformContextSkia.cpp:
214038        (WebCore::PlatformContextSkia::State::State):
214039        (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
214040        (WebCore::PlatformContextSkia::clipPathAntiAliased):
214041        (WebCore::PlatformContextSkia::restore):
214042        * platform/graphics/skia/PlatformContextSkia.h:
214043
2140442011-10-27  Tony Chang  <tony@chromium.org>
214045
214046        use main/cross instead of logical width/height when talking about flow direction
214047        https://bugs.webkit.org/show_bug.cgi?id=70977
214048
214049        Reviewed by Ojan Vafai.
214050
214051        Flexbox code uses logical in function names to refer to the flow
214052        direction. This is confusing because writing mode also uses logical,
214053        but this is a diffent usage. To avoid confusion, be explicit about
214054        main vs cross axis. Extent is used instead of width/height.
214055
214056        No new tests, just a refactoring.
214057
214058        * rendering/RenderFlexibleBox.cpp:
214059        (WebCore::RenderFlexibleBox::mainAxisLengthForChild):
214060        (WebCore::RenderFlexibleBox::crossAxisLength):
214061        (WebCore::RenderFlexibleBox::setCrossExtent):
214062        (WebCore::RenderFlexibleBox::crossExtentForChild):
214063        (WebCore::RenderFlexibleBox::mainExtentForChild):
214064        (WebCore::RenderFlexibleBox::crossAxisExtent):
214065        (WebCore::RenderFlexibleBox::mainAxisExtent):
214066        (WebCore::RenderFlexibleBox::crossAxisContentExtent):
214067        (WebCore::RenderFlexibleBox::mainAxisContentExtent):
214068        (WebCore::RenderFlexibleBox::crossAxisBorderAndPaddingExtent):
214069        (WebCore::RenderFlexibleBox::crossAxisMarginExtentForChild):
214070        (WebCore::RenderFlexibleBox::flowAwareLocationForChild):
214071        (WebCore::RenderFlexibleBox::setFlowAwareLocationForChild):
214072        (WebCore::RenderFlexibleBox::mainAxisBorderAndPaddingExtentForChild):
214073        (WebCore::RenderFlexibleBox::mainAxisScrollbarExtentForChild):
214074        (WebCore::RenderFlexibleBox::preferredMainAxisContentExtentForFlexItem):
214075        (WebCore::RenderFlexibleBox::layoutInlineDirection):
214076        (WebCore::RenderFlexibleBox::positiveFlexForChild): Since flex only
214077            matters in the main axis, there's no reason to deambiguate it here.
214078        (WebCore::RenderFlexibleBox::negativeFlexForChild): Ditto.
214079        (WebCore::RenderFlexibleBox::availableAlignmentSpaceForChild): Alignment is always
214080            in the cross axis direction, so don't include that in the method name.
214081        (WebCore::RenderFlexibleBox::marginBoxAscent):
214082        (WebCore::RenderFlexibleBox::computePreferredMainAxisExtent):
214083        (WebCore::RenderFlexibleBox::runFreeSpaceAllocationAlgorithmInlineDirection):
214084        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
214085        (WebCore::RenderFlexibleBox::adjustAlignmentForChild):  Alignment is always
214086            in the cross axis direction, so don't include that in the method name.
214087        (WebCore::RenderFlexibleBox::alignChildrenBlockDirection):
214088        * rendering/RenderFlexibleBox.h:
214089
2140902011-10-27  Mark Hahnenberg  <mhahnenberg@apple.com>
214091
214092        De-virtualize JSCell::toThisObject
214093        https://bugs.webkit.org/show_bug.cgi?id=70958
214094
214095        Reviewed by Geoffrey Garen.
214096
214097        No new tests.
214098
214099        Converted all instances of toThisObject to static functions, 
214100        added toThisObject to the MethodTable, and replaced all call sites
214101        with a corresponding lookup in the MethodTable.
214102
214103        * bindings/js/JSDOMWindowBase.cpp:
214104        (WebCore::JSDOMWindowBase::toThisObject):
214105        * bindings/js/JSDOMWindowBase.h:
214106        * bindings/js/JSErrorHandler.cpp:
214107        (WebCore::JSErrorHandler::handleEvent):
214108        * bridge/NP_jsobject.cpp:
214109        (_NPN_Invoke):
214110        * bridge/qt/qt_runtime.cpp:
214111        (JSC::Bindings::QtRuntimeConnectionMethod::call):
214112
2141132011-10-27  Adam Roben  <aroben@apple.com>
214114
214115        Windows build fix after r98512
214116
214117        * html/HTMLMediaElement.cpp: Moved a Web Audio-related #include inside an appropriate ENABLE
214118        guard.
214119
2141202011-10-27  Adam Roben  <aroben@apple.com>
214121
214122        Regenerate WebCore's Localizable.strings file
214123
214124        All I did was run update-webkit-localizable-strings. A few localizer comments changed, and
214125        some strings (which must have been hand-added) got moved to a different part of the file.
214126
214127        * English.lproj/Localizable.strings:
214128
2141292011-10-27  Daniel Cheng  <dcheng@chromium.org>
214130
214131        Clean up MicroDataItemValue to use const String& instead of String
214132        https://bugs.webkit.org/show_bug.cgi?id=70978
214133
214134        Reviewed by Tony Chang.
214135
214136        * html/MicroDataItemValue.cpp:
214137        (WebCore::MicroDataItemValue::MicroDataItemValue):
214138        * html/MicroDataItemValue.h:
214139
2141402011-10-27  Antti Koivisto  <antti@apple.com>
214141
214142        Use StringHasher to generate the matched declaration cache hash
214143        https://bugs.webkit.org/show_bug.cgi?id=71012
214144
214145        Reviewed by Kenneth Rohde Christiansen and Andreas Kling.
214146
214147        It is faster and better than the current custom function.
214148
214149        * css/CSSStyleSelector.cpp:
214150        (WebCore::CSSStyleSelector::computeDeclarationHash):
214151
2141522011-10-27  Kentaro Hara  <haraken@chromium.org>
214153
214154        Refactor OptionsObject.cpp
214155        https://bugs.webkit.org/show_bug.cgi?id=70572
214156
214157        Reviewed by Adam Barth.
214158
214159        For example, OptionsObject::getKeyBool() is an alias of
214160        OptionsObject::getKeyValue(const String& key, bool& value).
214161        We should remove OptionsObject::getKeyXXXX() (XXXX is some specific type)
214162        and unify them into OptionsObject::get(const String& key, XXXX& value).
214163        c.f. Corresponding JSC methods are unified into
214164        JSDictionary::convertValue(JSC::ExecState*, JSC::JSValue, XXXX&).
214165
214166        The result of git diff is weird, but this patch is making just the following changes:
214167        - Replaced getKeyBool(), getKeyInt32(), getKeyDouble() and getKeyString() with get().
214168        - Renamed getKeyStringWithUndefinedOrNullCheck() to getWithUndefinedOrNullCheck().
214169        - Removed getKeyDOMStringList() and getKeyKeyRange(), since these are not used.
214170        - Move definitions of get() from .h to .cpp.
214171
214172        No new tests. No change in behavior.
214173
214174        * bindings/v8/OptionsObject.cpp:
214175        (WebCore::OptionsObject::get): Renamed from getKeyValue().
214176        (WebCore::OptionsObject::getKey): No change to this method. git diff seems to misunderstand as if it is modified.
214177        (WebCore::OptionsObject::getKeyDOMStringList): Removed, since no one is using it.
214178        (WebCore::OptionsObject::getKeyKeyRange): Ditto.
214179        (WebCore::OptionsObject::getWithUndefinedOrNullCheck): No change to this method. git diff seems to misunderstand as if it is modified.
214180        * bindings/v8/OptionsObject.h: Moved definitions of get() to OptionsObject.cpp
214181        * bindings/v8/custom/V8EventConstructors.cpp:
214182        * bindings/v8/custom/V8WebKitMutationObserverCustom.cpp:
214183        (WebCore::V8WebKitMutationObserver::observeCallback): Replaced getKeyXXXX() to get();
214184        * storage/IDBDatabase.cpp:
214185        (WebCore::IDBDatabase::createObjectStore): Ditto.
214186        * storage/IDBObjectStore.cpp:
214187        (WebCore::IDBObjectStore::createIndex): Ditto.
214188
2141892011-10-27  Andreas Kling  <kling@webkit.org>
214190
214191        StyleSheet.parentStyleSheet does not work.
214192        https://bugs.webkit.org/show_bug.cgi?id=70956
214193
214194        Reviewed by Antti Koivisto.
214195
214196        Since StyleSheet is only ever parented by a CSSRule, we need
214197        to go through that rule when resolving the StyleSheet's parent.
214198
214199        Test: fast/css/stylesheet-parentStyleSheet.html
214200
214201        * css/StyleSheet.cpp:
214202        (WebCore::StyleSheet::parentStyleSheet):
214203
2142042011-10-27  Antoine Labour  <piman@chromium.org>
214205
214206        Disable blending when drawing opaque layers
214207        https://bugs.webkit.org/show_bug.cgi?id=70085
214208
214209        Reviewed by James Robinson.
214210
214211        Covered by compositing/ tests, as well as a new unit test:
214212        CCLayerTreeHostImplTest.blendingOffWhenDrawingOpaqueLayers
214213
214214        * platform/graphics/chromium/LayerChromium.cpp:
214215        (WebCore::LayerChromium::LayerChromium):
214216        (WebCore::LayerChromium::pushPropertiesTo):
214217        * platform/graphics/chromium/LayerRendererChromium.cpp:
214218        (WebCore::LayerRendererChromium::drawLayer):
214219        * platform/graphics/chromium/cc/CCLayerImpl.cpp:
214220        (WebCore::CCLayerImpl::CCLayerImpl):
214221        * platform/graphics/chromium/cc/CCLayerImpl.h:
214222        (WebCore::CCLayerImpl::setOpaque):
214223        (WebCore::CCLayerImpl::opaque):
214224
2142252011-10-27  Joshua Bell  <jsbell@chromium.org>
214226
214227        IndexedDB: Passing empty array to IDBDatabase.transaction should raise exception
214228        https://bugs.webkit.org/show_bug.cgi?id=70251
214229
214230        Reviewed by Adam Barth.
214231
214232        IDBDatabase.transaction() supported being called with an empty array to
214233        lock all object stores. Support for this was rejected from inclusion in
214234        the IDB spec due to performance concerns. This patch removes that
214235        functionality.
214236
214237        A special case in the spec (passing a string instead of an array) worked
214238        in WebKit accidentally, by resolving the string to an empty array. This
214239        needed explicit support. Support for DOMString[] is added to the binding
214240        code generators (reliant on DOMStringList) to ensure JS arrays are not
214241        coerced to DOMStrings. This matches the proposed IDL.
214242
214243        * bindings/scripts/CodeGeneratorV8.pm:
214244        (GenerateParametersCheckExpression):
214245        (GetNativeType):
214246        (JSValueToNative):
214247        (IsArrayType):
214248        * bindings/scripts/IDLStructure.pm:
214249        * storage/IDBDatabase.cpp:
214250        (WebCore::IDBDatabase::transaction):
214251        * storage/IDBDatabase.h:
214252        (WebCore::IDBDatabase::transaction):
214253        * storage/IDBDatabase.idl:
214254        * storage/IDBTransactionBackendImpl.cpp:
214255        (WebCore::IDBTransactionBackendImpl::IDBTransactionBackendImpl):
214256        (WebCore::IDBTransactionBackendImpl::objectStore):
214257
2142582011-10-27  Ken Buchanan <kenrb@chromium.org>
214259
214260        Crash due to nested first-letter selectors
214261        https://bugs.webkit.org/show_bug.cgi?id=70457
214262
214263        Now only the lowest-level first-letter pseudostyle will be applied to
214264        a given piece of text. Previously the last renderer to have layout
214265        done would have its pseudostyle applied, no matter where it was in the
214266        tree.
214267
214268        Reviewed by David Hyatt.
214269
214270        * renderer/RenderBlock.cpp:
214271        (WebCore::RenderBlock::updateFirstLetter): Use the pseudostyle from
214272        the lowest level node to have one
214273
2142742011-10-27  Andras Becsi  <andras.becsi@nokia.com>
214275
214276        Fix the build if NO_LISTBOX_RENDERING is enabled
214277        https://bugs.webkit.org/show_bug.cgi?id=71009
214278
214279        Reviewed by Kenneth Rohde Christiansen.
214280
214281        If NO_LISTBOX_RENDERING is enabled RenderMenuList::listBoxSelectItem uses the
214282        HTMLSelectElement::listBoxSelectItem function which was accidentally removed in r97533.
214283        Reintroduce HTMLSelectElement::listBoxSelectItem with a NO_LISTBOX_RENDERING guard to unbreak this setup.
214284
214285        This is covered by:
214286        Source/WebCore/manual-tests/no-listbox-rendering.html
214287
214288        * html/HTMLSelectElement.cpp:
214289        (WebCore::HTMLSelectElement::listBoxSelectItem): Reintroduce.
214290        * html/HTMLSelectElement.h:
214291
2142922011-10-27  Shinya Kawanaka  <shinyak@google.com>
214293
214294        Implement legacy text check emulation in unified text check interface.
214295        https://bugs.webkit.org/show_bug.cgi?id=70299
214296
214297        Reviewed by Hajime Morita.
214298
214299        When UNIFIED_TEXT_CHECKING is off, WebCore::checkTextOfParagraph() emulates
214300        TextCheckerClient::checkTextOfParagraph() using checkSpellingOfString and checkGrammarOfString.
214301
214302        This emulation can be used by setting the flag on.
214303        This can be done by WebCore::Internals::setUnifiedTextCheckingEnabled.
214304
214305        Test: editing/spelling/spelling-unified-emulation.html
214306
214307        * editing/TextCheckingHelper.cpp:
214308        (WebCore::findBadGrammars): Added.
214309        (WebCore::findMisspellings): Added.
214310        (WebCore::checkTextOfParagraph):
214311          Emulates TextCheckerClients::checkTextOfParagraph if UNIFIED_TEXT_CHECKING is off.
214312        * testing/Internals.cpp:
214313        (WebCore::Internals::setUnifiedTextCheckingEnabled): flag setter.
214314        (WebCore::Internals::unifiedTextCheckingEnabled): flag getter.
214315        * testing/Internals.h:
214316        * testing/Internals.idl:
214317
2143182011-10-27  Philippe Normand  <pnormand@igalia.com>
214319
214320        Unreviewed, remove those un-needed files committed by error in
214321        r98554.
214322
214323        * platform/audio/gstreamer/#AudioFileReaderGStreamer.h#: Removed.
214324        * platform/audio/gstreamer/.#AudioFileReaderGStreamer.h: Removed.
214325
2143262011-10-27  Philippe Normand  <pnormand@igalia.com> and Zan Dobersek  <zandobersek@gmail.com>
214327
214328        [GStreamer] WebAudio AudioFileReader implementation
214329        https://bugs.webkit.org/show_bug.cgi?id=69834
214330
214331        Reviewed by Martin Robinson.
214332
214333        Basic FileReader implementation, supporting one or 2 audio
214334        channels. An empty AudioDestination is also provided, its complete
214335        implementation is handled in bug 69835.
214336
214337        * GNUmakefile.am:
214338        * GNUmakefile.list.am:
214339        * platform/audio/gstreamer/AudioDestinationGStreamer.cpp: Added.
214340        (WebCore::AudioDestination::create):
214341        (WebCore::AudioDestination::hardwareSampleRate):
214342        (WebCore::AudioDestinationGStreamer::AudioDestinationGStreamer):
214343        (WebCore::AudioDestinationGStreamer::~AudioDestinationGStreamer):
214344        (WebCore::AudioDestinationGStreamer::start):
214345        (WebCore::AudioDestinationGStreamer::stop):
214346        * platform/audio/gstreamer/AudioDestinationGStreamer.h: Added.
214347        (WebCore::AudioDestinationGStreamer::isPlaying):
214348        (WebCore::AudioDestinationGStreamer::sampleRate):
214349        (WebCore::AudioDestinationGStreamer::sourceProvider):
214350        * platform/audio/gstreamer/AudioFileReaderGStreamer.cpp: Added.
214351        (WebCore::getGStreamerAudioCaps):
214352        (WebCore::getFloatFromByteReader):
214353        (WebCore::copyGstreamerBuffersToAudioChannel):
214354        (WebCore::onAppsinkNewBufferCallback):
214355        (WebCore::messageCallback):
214356        (WebCore::onGStreamerDeinterleavePadAddedCallback):
214357        (WebCore::onGStreamerDeinterleaveReadyCallback):
214358        (WebCore::onGStreamerDecodebinPadAddedCallback):
214359        (WebCore::AudioFileReader::AudioFileReader):
214360        (WebCore::AudioFileReader::~AudioFileReader):
214361        (WebCore::AudioFileReader::handleBuffer):
214362        (WebCore::AudioFileReader::handleMessage):
214363        (WebCore::AudioFileReader::handleNewDeinterleavePad):
214364        (WebCore::AudioFileReader::deinterleavePadsConfigured):
214365        (WebCore::AudioFileReader::plugDeinterleave):
214366        (WebCore::AudioFileReader::createBus):
214367        (WebCore::createBusFromAudioFile):
214368        (WebCore::createBusFromInMemoryAudioFile):
214369        * platform/audio/gtk/AudioBusGtk.cpp: Added.
214370        (WebCore::AudioBus::loadPlatformResource):
214371
2143722011-10-27  Philippe Normand  <pnormand@igalia.com>
214373
214374        Unreviewed, rebaseline of the bindings tests after r98501 which
214375        removed getOwnPropertySlotVirtual.
214376
214377        * bindings/scripts/test/JS/JSTestInterface.cpp:
214378        * bindings/scripts/test/JS/JSTestInterface.h:
214379        * bindings/scripts/test/JS/JSTestMediaQueryListListener.cpp:
214380        * bindings/scripts/test/JS/JSTestMediaQueryListListener.h:
214381        * bindings/scripts/test/JS/JSTestObj.cpp:
214382        * bindings/scripts/test/JS/JSTestObj.h:
214383        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.cpp:
214384        * bindings/scripts/test/JS/JSTestSerializedScriptValueInterface.h:
214385
2143862011-10-27  Ilya Tikhonovsky  <loislo@chromium.org>
214387
214388        WebInspector: View throughs the exception when a child view are removed by removeChildren call.
214389        https://bugs.webkit.org/show_bug.cgi?id=71002
214390
214391        Another followup fix after r98225.
214392
214393        Reviewed by Pavel Feldman.
214394
214395        * inspector/front-end/DatabaseTableView.js:
214396        (WebInspector.DatabaseTableView.prototype._queryFinished):
214397        (WebInspector.DatabaseTableView.prototype._queryError):
214398
2143992011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
214400
214401        Web Inspector: Execution line in selected call frame should keep showing after toggling format source.
214402        https://bugs.webkit.org/show_bug.cgi?id=70906
214403
214404        Reviewed by Yury Semikhatsky.
214405
214406        Test: inspector/debugger/selected-call-frame-after-formatting-source.html
214407
214408        * inspector/front-end/DebuggerPresentationModel.js:
214409        (WebInspector.DebuggerPresentationModel.prototype.setFormatSource):
214410
2144112011-10-27  Steve Block  <steveblock@google.com>
214412
214413        Numerous debug build fixes
214414
214415        Unreviewed build fix.
214416
214417        No new tests, buuld fix only.
214418
214419        * loader/icon/IconDatabase.cpp: urlForLogging() is used by both LOG() and LOG_ERROR()
214420        * storage/AbstractDatabase.h: databaseDebugName() is used by both LOG() and LOG_ERROR()
214421        * storage/DatabaseTask.cpp: m_complete is only available when !LOG_DISABLED
214422
2144232011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
214424
214425        Web Inspector: Refactor ScriptsPanel so that ConsoleView does not depend on it.
214426        https://bugs.webkit.org/show_bug.cgi?id=70899
214427
214428        Moved methods used in console view to DebuggerPresentationModel.
214429        Changed debuggerPaused handler logic so that selectedCallFrame is never null when debugger is paused.
214430
214431        Reviewed by Pavel Feldman.
214432
214433        * inspector/front-end/ConsoleView.js:
214434        * inspector/front-end/DebuggerPresentationModel.js:
214435        (WebInspector.DebuggerPresentationModel.prototype._debuggerPaused):
214436        (WebInspector.DebuggerPresentationModel.prototype.set selectedCallFrame):
214437        (WebInspector.DebuggerPresentationModel.prototype.evaluateInSelectedCallFrame):
214438        (WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables.propertiesCollected):
214439        (WebInspector.DebuggerPresentationModel.prototype.getSelectedCallFrameVariables):
214440        (WebInspector.DebuggerPresentationModel.prototype._dispatchExecutionLineChanged):
214441        (WebInspector.DebuggerPresentationModel.prototype.get executionLineLocation):
214442        * inspector/front-end/ScriptsPanel.js:
214443        (WebInspector.ScriptsPanel.prototype._consoleCommandEvaluatedInSelectedCallFrame):
214444        (WebInspector.ScriptsPanel.prototype._executionLineChanged):
214445        (WebInspector.ScriptsPanel.prototype._updateExecutionLine):
214446        (WebInspector.ScriptsPanel.prototype._callFrameSelected):
214447        (WebInspector.ScriptsPanel.prototype._updateCallFrame):
214448
2144492011-10-27  Vsevolod Vlasov  <vsevik@chromium.org>
214450
214451        Web Inspector: Add support for advanced search in content scripts.
214452        https://bugs.webkit.org/show_bug.cgi?id=70923
214453
214454        Reviewed by Yury Semikhatsky.
214455
214456        * English.lproj/localizedStrings.js:
214457        * inspector/front-end/ScriptsSearchScope.js:
214458        * inspector/front-end/SettingsScreen.js:
214459        (WebInspector.SettingsScreen):
214460
2144612011-10-27  Ilya Tikhonovsky  <loislo@chromium.org>
214462
214463        Unreviewed one line fix for DOMStorageItemsView.
214464        It have to use this.detachChildViews instead of this.element.removeChildren after r98225.
214465
214466        * inspector/front-end/DOMStorageItemsView.js:
214467        (WebInspector.DOMStorageItemsView.prototype.update):
214468
2144692011-10-27  Antti Koivisto  <antti@apple.com>
214470
214471        Matched declaration cache
214472        https://bugs.webkit.org/show_bug.cgi?id=70931
214473
214474        Reviewed by Darin Adler.
214475
214476        Sets of style declarations are applied repeatedly for different elements when calculating the document style.
214477        The same set of applied declarations results in the same non-inherited style, independent of the element and 
214478        its context. We can use this to build a cache to speed up style applying and to share more style data for
214479        reduced memory usage.
214480        
214481        The patch reduces RenderStyle memory use ~40% and total memory use by ~7% over HTML5 spec load.
214482        It is also ~10% progression in PerformanceTests/Parser/html5-full-render.html.
214483
214484        * css/CSSProperty.cpp:
214485        (WebCore::CSSProperty::isInheritedProperty):
214486        * css/CSSProperty.h:
214487        (WebCore::CSSProperty::CSSProperty):
214488        (WebCore::CSSProperty::isInherited):
214489        
214490            We need to know which properties are inherited, something we didn't have available so far.
214491        
214492        * css/CSSStyleSelector.cpp:
214493        (WebCore::CSSStyleSelector::matchAllRules):
214494        
214495            A set of declarations is only cacheable if it contains no element specific style. This way we
214496            don't need to worry about cache invalidation. The whole style selector is reconstructed if the
214497            stylesheets change, invalidating the cache too.
214498    
214499        (WebCore::CSSStyleSelector::styleForElement):
214500        
214501            Trigger image loads bit earlier so cached style will have them too.
214502        
214503        (WebCore::CSSStyleSelector::applyDeclaration):
214504        (WebCore::CSSStyleSelector::applyDeclarations):
214505        
214506            Allow skipping over non-inherited properties.
214507        
214508        (WebCore::CSSStyleSelector::computeDeclarationHash):
214509        
214510            Hash function for declartion cache lookups.
214511        
214512        (WebCore::operator==):
214513        (WebCore::operator!=):
214514        (WebCore::CSSStyleSelector::findFromMatchedDeclarationCache):
214515        
214516            Lookup from cache.
214517        
214518        (WebCore::CSSStyleSelector::addToMatchedDeclarationCache):
214519        
214520            Add to cache.
214521        
214522        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
214523        
214524            If cached style is found, copy the non-inherited properties from the cache and apply the inherited properties (if any) only.
214525        
214526            Font and zoom changes force full applying as they can affect values of other properties (this can be relaxed later).
214527        
214528        * css/CSSStyleSelector.h:
214529        (WebCore::CSSStyleSelector::MatchResult::MatchResult):
214530        
214531            Cacheability bit.
214532        
214533        * rendering/style/RenderStyle.cpp:
214534        (WebCore::RenderStyle::copyNonInheritedFrom):
214535        * rendering/style/RenderStyle.h:
214536        * rendering/style/SVGRenderStyle.cpp:
214537        (WebCore::SVGRenderStyle::copyNonInheritedFrom):
214538        * rendering/style/SVGRenderStyle.h:
214539        
214540            Functions for assembling RenderStyle from non-inherited parts of the cached style.
214541
2145422011-10-27  Andrey Kosyakov  <caseq@chromium.org>
214543
214544        Web Inspector: [Extensions API] add ignoreCache flag to options of inspectedWindow.reload()
214545        https://bugs.webkit.org/show_bug.cgi?id=70926
214546
214547        Reviewed by Pavel Feldman.
214548
214549        Test: http/tests/inspector/extensions-ignore-cache.html
214550
214551        * inspector/front-end/ExtensionServer.js:
214552        (WebInspector.ExtensionServer.prototype._onReload):
214553        * inspector/front-end/externs.js:
214554        ():
214555
2145562011-10-26  Steve Falkenburg  <sfalken@apple.com>
214557
214558        ResourceError doesn't support custom domains on Windows
214559        https://bugs.webkit.org/show_bug.cgi?id=70983
214560        <rdar://problem/10352145>
214561
214562        Reviewed by Oliver Hunt.
214563
214564        * platform/network/cf/ResourceErrorCF.cpp:
214565        (WebCore::ResourceError::platformLazyInit): Add fallback case for unknown error types.
214566
2145672011-10-26  Dan Bernstein  <mitz@apple.com>
214568
214569        Fix a slider thumb rendering regression in Chromium on OS X in r98520.
214570
214571        Reviewed by Anders Carlsson.
214572
214573        * rendering/RenderThemeMac.mm:
214574        (WebCore::RenderThemeMac::paintSliderThumb): Reverted the changes to the Chromium code path.
214575
2145762011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
214577
214578        Unreviewed, rolling out r98486.
214579        http://trac.webkit.org/changeset/98486
214580        https://bugs.webkit.org/show_bug.cgi?id=70748
214581
214582        Broke Chromium's test_expectation.txt
214583
214584        * platform/graphics/skia/PlatformContextSkia.cpp:
214585        (WebCore::PlatformContextSkia::State::State):
214586        (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
214587        (WebCore::PlatformContextSkia::clipPathAntiAliased):
214588        (WebCore::PlatformContextSkia::restore):
214589        (WebCore::PlatformContextSkia::applyAntiAliasedClipPaths):
214590        * platform/graphics/skia/PlatformContextSkia.h:
214591
2145922011-10-26  Dan Bernstein  <mitz@apple.com>
214593
214594        <rdar://problem/10350775> REGRESSION (r97032): Slider thumb is not drawn
214595        https://bugs.webkit.org/show_bug.cgi?id=70891
214596
214597        Reviewed by Anders Carlsson.
214598
214599        * platform/mac/ThemeMac.mm:
214600        (WebCore::ThemeMac::ensuredView): Set the WebCoreFlippedView’s size, because NSSliderCell
214601        always shrinks the slider thumb to fit in the control view’s bounds.
214602        * rendering/RenderThemeMac.mm:
214603        (WebCore::RenderThemeMac::paintSliderThumb): Removed workaround code no longer needed after
214604        r97032.
214605
2146062011-10-26  Chris Rogers  <crogers@google.com>
214607
214608        Add AudioSourceProviderClient and setFormat() method so we can know audio stream format
214609        https://bugs.webkit.org/show_bug.cgi?id=70155
214610
214611        Reviewed by Eric Carlson.
214612
214613        No new tests.  There isn't yet an implementation to test.
214614
214615        * html/HTMLMediaElement.cpp:
214616        (WebCore::HTMLMediaElement::createMediaPlayer):
214617        (WebCore::HTMLMediaElement::setAudioSourceNode):
214618        Let MediaPlayer know about the MediaElementAudioSourceNode so it can callback with audio stream format information.
214619        * platform/audio/AudioSourceProvider.h:
214620        (WebCore::AudioSourceProvider::setClient):
214621        Add abstract setClient() method so a client may know about stream format information when it becomes available.
214622        * platform/audio/AudioSourceProviderClient.h: Copied from Source/WebCore/webaudio/MediaElementAudioSourceNode.h.
214623        (WebCore::AudioSourceProviderClient::~AudioSourceProviderClient):
214624        Add abstract class AudioSourceProviderClient which implements setFormat() to receive audio stream format information.
214625        * webaudio/MediaElementAudioSourceNode.cpp:
214626        (WebCore::MediaElementAudioSourceNode::setFormat):
214627        Concrete implementation of setFormat() so MediaElementAudioSourceNode can create necessary audio converters.
214628        * webaudio/MediaElementAudioSourceNode.h:
214629        Make MediaElementAudioSourceNode implement AudioSourceProviderClient so it can get audio stream format information
214630        when its setFormat() method is called.
214631
2146322011-10-26  Julien Chaffraix  <jchaffraix@webkit.org>
214633
214634        Unreviewed, rolling out r98483.
214635        http://trac.webkit.org/changeset/98483
214636        https://bugs.webkit.org/show_bug.cgi?id=47156
214637
214638        Change is causing some crashes and ASSERTs.
214639
214640        * loader/cache/CachedImage.cpp:
214641        (WebCore::CachedImage::lookupImageForSize):
214642        (WebCore::CachedImage::lookupImageForRenderer):
214643        (WebCore::CachedImage::lookupOrCreateImageForRenderer):
214644        (WebCore::CachedImage::setContainerSizeForRenderer):
214645        (WebCore::CachedImage::imageSizeForRenderer):
214646        (WebCore::CachedImage::computeIntrinsicDimensions):
214647        (WebCore::CachedImage::createImage):
214648        * loader/cache/CachedImage.h:
214649        * page/ChromeClient.h:
214650        * rendering/ImageBySizeCache.cpp:
214651        (WebCore::ImageBySizeCache::addClient):
214652        (WebCore::ImageBySizeCache::removeClient):
214653        (WebCore::ImageBySizeCache::imageForSize):
214654        (WebCore::ImageBySizeCache::sizeForClient):
214655        * rendering/ImageBySizeCache.h:
214656        * rendering/RenderBoxModelObject.cpp:
214657        (WebCore::RenderBoxModelObject::calculateFillTileSize):
214658        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry):
214659        (WebCore::RenderBoxModelObject::paintNinePieceImage):
214660        * rendering/RenderBoxModelObject.h:
214661        * rendering/RenderImage.cpp:
214662        (WebCore::RenderImage::RenderImage):
214663        (WebCore::RenderImage::imageDimensionsChanged):
214664        (WebCore::RenderImage::isLogicalWidthSpecified):
214665        (WebCore::RenderImage::isLogicalHeightSpecified):
214666        (WebCore::RenderImage::computeReplacedLogicalWidth):
214667        (WebCore::RenderImage::computeReplacedLogicalHeight):
214668        (WebCore::RenderImage::calcAspectRatioLogicalWidth):
214669        (WebCore::RenderImage::calcAspectRatioLogicalHeight):
214670        * rendering/RenderImage.h:
214671        * rendering/RenderImageResource.cpp:
214672        (WebCore::RenderImageResource::setContainerSizeForRenderer):
214673        * rendering/RenderImageResourceStyleImage.cpp:
214674        * rendering/RenderImageResourceStyleImage.h:
214675        (WebCore::RenderImageResourceStyleImage::image):
214676        (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer):
214677        * rendering/RenderListMarker.cpp:
214678        (WebCore::RenderListMarker::computePreferredLogicalWidths):
214679        * rendering/RenderReplaced.cpp:
214680        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth):
214681        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight):
214682        (WebCore::RenderReplaced::computeReplacedLogicalWidth):
214683        * rendering/style/StyleCachedImage.cpp:
214684        (WebCore::StyleCachedImage::computeIntrinsicDimensions):
214685        (WebCore::StyleCachedImage::setContainerSizeForRenderer):
214686        (WebCore::StyleCachedImage::addClient):
214687        (WebCore::StyleCachedImage::removeClient):
214688        * rendering/style/StyleCachedImage.h:
214689        * rendering/style/StyleGeneratedImage.h:
214690        (WebCore::StyleGeneratedImage::setContainerSizeForRenderer):
214691        * rendering/style/StyleImage.h:
214692        * rendering/style/StylePendingImage.h:
214693        (WebCore::StylePendingImage::setContainerSizeForRenderer):
214694        * rendering/svg/RenderSVGImage.cpp:
214695        (WebCore::RenderSVGImage::layout):
214696        * rendering/svg/RenderSVGRoot.cpp:
214697        (WebCore::RenderSVGRoot::computeIntrinsicWidth):
214698        (WebCore::RenderSVGRoot::computeIntrinsicHeight):
214699        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
214700        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
214701        (WebCore::RenderSVGRoot::layout):
214702        (WebCore::RenderSVGRoot::paint):
214703        (WebCore::RenderSVGRoot::calcViewport):
214704        (WebCore::RenderSVGRoot::computeRectForRepaint):
214705        * rendering/svg/RenderSVGRoot.h:
214706        * svg/SVGLength.cpp:
214707        (WebCore::SVGLength::determineViewport):
214708        * svg/SVGSVGElement.cpp:
214709        (WebCore::SVGSVGElement::SVGSVGElement):
214710        (WebCore::SVGSVGElement::relativeWidthValue):
214711        (WebCore::SVGSVGElement::relativeHeightValue):
214712        (WebCore::SVGSVGElement::currentViewBoxRect):
214713        * svg/SVGSVGElement.h:
214714        (WebCore::SVGSVGElement::setContainerSize):
214715        (WebCore::SVGSVGElement::containerSize):
214716        (WebCore::SVGSVGElement::hasSetContainerSize):
214717        * svg/graphics/SVGImage.cpp:
214718        (WebCore::SVGImage::setContainerSize):
214719        (WebCore::SVGImage::usesContainerSize):
214720        (WebCore::SVGImage::size):
214721        (WebCore::SVGImage::hasRelativeWidth):
214722        (WebCore::SVGImage::hasRelativeHeight):
214723        (WebCore::SVGImage::draw):
214724        (WebCore::SVGImage::computeIntrinsicDimensions):
214725        (WebCore::SVGImage::dataChanged):
214726        * svg/graphics/SVGImage.h:
214727
2147282011-10-26  Eric Carlson  <eric.carlson@apple.com>
214729
214730        Constructors for all TextTrack interfaces should be available on DOMWindow
214731        https://bugs.webkit.org/show_bug.cgi?id=70734
214732
214733        Reviewed by Sam Weinig.
214734        
214735        window-properties-expected.txt and global-constructors-expected.txt updated for this change.
214736
214737        * page/DOMWindow.idl: Add HTMLTrackElement, TextTrack, and TextTrackCueList.
214738
2147392011-10-25  Andy Estes  <aestes@apple.com>
214740
214741        REGRESSION (r93108): Shadow DOM media controls created for plug-in backed media elements.
214742        https://bugs.webkit.org/show_bug.cgi?id=70872
214743
214744        Reviewed by Eric Carlson.
214745
214746        r93108 added a call to HTMLMediaElement::configureMediaControls() in
214747        HTMLMediaElement::prepareForLoad(), which creates shadow DOM media
214748        controls and is only appropriate to call when media elements are not
214749        backed by plug-in proxies.
214750
214751        Resolve this by refactoring configureMediaControls() to do the right
214752        thing for the plug-in proxy case by calling MediaPlayer::setControls().
214753
214754        * html/HTMLMediaElement.cpp:
214755        (WebCore::HTMLMediaElement::attributeChanged): Call
214756        configureMediaControls() directly and remove the preprocessor
214757        conditional.
214758        (WebCore::HTMLMediaElement::configureMediaControls): Call
214759        MediaPlayer::setControls() if PLUGIN_PROXY_FOR_VIDEO is enabled.
214760
2147612011-10-26  Jon Lee  <jonlee@apple.com>
214762
214763        selectedIndex gets set from -1 to 0 when modifying options
214764        https://bugs.webkit.org/show_bug.cgi?id=70547
214765        <rdar://problem/8388856>
214766
214767        Reviewed by Darin Adler.
214768
214769        Changing the text causes a recalculation of the list items, which in the menu list case
214770        forces the first element to be selected. We check the value of the selected option prior,
214771        and restore it if it differs.
214772
214773        Test: fast/dom/HTMLSelectElement/selected-index-preserved-when-option-text-changes.html
214774
214775        * html/HTMLOptionElement.cpp:
214776        (WebCore::HTMLOptionElement::setText):
214777        * html/HTMLSelectElement.h: promote usesMenuList() from private to public for use by HTMLOptionElement
214778
2147792011-10-25  Alexey Proskuryakov  <ap@apple.com>
214780
214781        Embedded PDFs should be known to DocumentLoader
214782        https://bugs.webkit.org/show_bug.cgi?id=70864
214783
214784        Reviewed by Darin Adler.
214785
214786        * WebCore.exp.in: Added exports.
214787
2147882011-10-26  Mark Hahnenberg  <mhahnenberg@apple.com>
214789
214790        Remove getOwnPropertySlotVirtual
214791        https://bugs.webkit.org/show_bug.cgi?id=70741
214792
214793        Reviewed by Geoffrey Garen.
214794
214795        No new tests.
214796
214797        Removed all declarations and definitions of getOwnPropertySlotVirtual.
214798        Also replaced all call sites to getOwnPropertyVirtualVirtual with a 
214799        corresponding lookup in the MethodTable.
214800
214801        * WebCore.exp.in:
214802        * bindings/js/JSDOMWindowCustom.cpp:
214803        (WebCore::DialogHandler::returnValue):
214804        * bindings/js/JSDOMWindowShell.cpp:
214805        (WebCore::JSDOMWindowShell::getOwnPropertySlot):
214806        * bindings/js/JSDOMWindowShell.h:
214807        * bindings/js/SerializedScriptValue.cpp:
214808        (WebCore::CloneSerializer::getSparseIndex):
214809        (WebCore::CloneSerializer::getProperty):
214810        * bindings/scripts/CodeGeneratorJS.pm:
214811        (GenerateHeader):
214812        (GenerateImplementation):
214813        (GenerateConstructorDeclaration):
214814        (GenerateConstructorDefinition):
214815        * bridge/objc/objc_runtime.h:
214816        * bridge/objc/objc_runtime.mm:
214817        * bridge/qt/qt_runtime.cpp:
214818        * bridge/qt/qt_runtime.h:
214819        * bridge/runtime_array.cpp:
214820        * bridge/runtime_array.h:
214821        * bridge/runtime_method.cpp:
214822        * bridge/runtime_method.h:
214823        * bridge/runtime_object.cpp:
214824        * bridge/runtime_object.h:
214825
2148262011-10-26  Alejandro G. Castro  <alex@igalia.com>
214827
214828        [GTK] Fix distcheck compilation
214829        https://bugs.webkit.org/show_bug.cgi?id=70921
214830
214831        Add EventTargetFactory.in to the dist files, required after
214832        r98388.
214833
214834        Reviewed by Martin Robinson.
214835
214836        * GNUmakefile.am:
214837
2148382011-10-26  Michael Saboff  <msaboff@apple.com>
214839
214840        Increase StringImpl Flag Bits for 8 bit Strings
214841        https://bugs.webkit.org/show_bug.cgi?id=70937
214842
214843        Increased the number of bits used for flags in StringImpl
214844        from 6 to 8 bits. This frees up 2 flag bits that will be
214845        used for 8-bit string support. Updated hash methods accordingly.
214846        Changed hash value masking from the low bits to the high
214847        bits.
214848
214849        Reviewed by Darin Adler.
214850
214851        * bindings/scripts/CodeGeneratorJS.pm:
214852        (GenerateHashValue):
214853
2148542011-10-26  Dimitri Glazkov  <dglazkov@chromium.org>
214855
214856        REGRESSION (r94887): Scrolling the HTML spec is more jerky now than it was (regression)
214857        https://bugs.webkit.org/show_bug.cgi?id=70857
214858
214859        Revert r94887, because it regressed performance.
214860
214861        Rubber-stamped by Antti Koivisto.
214862
214863        * css/CSSStyleSelector.cpp:
214864        (WebCore::CSSStyleSelector::canShareStyleWithElement):
214865        (WebCore::parentStylePreventsSharing):
214866        * css/SelectorChecker.cpp:
214867        (WebCore::SelectorChecker::checkSelector):
214868        * dom/Element.cpp:
214869        (WebCore::Element::recalcStyle):
214870        (WebCore::checkForSiblingStyleChanges):
214871        * rendering/style/RenderStyle.cpp:
214872        (WebCore::RenderStyle::RenderStyle):
214873        * rendering/style/RenderStyle.h:
214874        (WebCore::InheritedFlags::childrenAffectedByDirectAdjacentRules):
214875        (WebCore::InheritedFlags::setChildrenAffectedByDirectAdjacentRules):
214876
2148772011-10-26  Alexander Pavlov  <apavlov@chromium.org>
214878
214879        Web Inspector: Need workaround for the red crossed circle in the status bar not bringing up the console when clicked
214880        https://bugs.webkit.org/show_bug.cgi?id=70928
214881
214882        Reviewed by Pavel Feldman.
214883
214884        * inspector/front-end/inspector.css:
214885        (#error-count-img):
214886        (#error-count + #warning-count-img):
214887        (#warning-count-img):
214888        * inspector/front-end/inspector.js:
214889        (WebInspector._updateErrorAndWarningCounts):
214890
2148912011-10-26  Mike Reed  <reed@google.com>
214892
214893        [skia] replace offscreen technique with native support for antialiased clipping
214894        https://bugs.webkit.org/show_bug.cgi?id=70748
214895
214896        Reviewed by Stephen White.
214897
214898        ~100 layout tests need to be rebaselined, as the native aa-clipping differs sometimes in the low
214899        bits of the result. Other than that, the results should be the same, except that now the drawing
214900        can go directly to the canvas, rather than being direct offscreen and then have that result
214901        "clipped" during the restore. This has the effect of allowing LCD text to be drawing inside a
214902        antialiased clip area.
214903
214904        * platform/graphics/skia/PlatformContextSkia.cpp:
214905        (WebCore::PlatformContextSkia::State::State):
214906        (WebCore::PlatformContextSkia::State::cloneInheritedProperties):
214907        (WebCore::PlatformContextSkia::clipPathAntiAliased):
214908        (WebCore::PlatformContextSkia::restore):
214909
2149102011-10-26  Nikolas Zimmermann  <nzimmermann@rim.com>
214911
214912        CSS 2.1 failure: background-intrinsic-*
214913        https://bugs.webkit.org/show_bug.cgi?id=47156
214914
214915        SVGs do not work as tiled background images
214916        https://bugs.webkit.org/show_bug.cgi?id=16281
214917
214918        Apply preserveAspectRatio and synthesize viewboxes in <img>
214919        https://bugs.webkit.org/show_bug.cgi?id=34521
214920
214921        SVG background doesn't resize properly when dimensions are changed
214922        https://bugs.webkit.org/show_bug.cgi?id=42944
214923
214924        Images with percent height inside a floated div should use intrinsic height.
214925        https://bugs.webkit.org/show_bug.cgi?id=45439
214926
214927        SVG image in HTML changes size as the window is resized
214928        https://bugs.webkit.org/show_bug.cgi?id=52045
214929
214930        Reviewed by Antti Koivisto.
214931
214932        Implement intrinsic sizing support for SVGImage (svg embedded through <html:img>/<svg:image>/background-image/border-image/...).
214933        This is demanded by CSS 2.1, and covered by new layout tests in LayoutTests/css2.1 and several new custom testcases.
214934
214935        Tests: css2.1/20110323/background-intrinsic-001.htm
214936               css2.1/20110323/background-intrinsic-002.htm
214937               css2.1/20110323/background-intrinsic-003.htm
214938               css2.1/20110323/background-intrinsic-004.htm
214939               css2.1/20110323/background-intrinsic-005.htm
214940               css2.1/20110323/background-intrinsic-006.htm
214941               css2.1/20110323/background-intrinsic-007.htm
214942               css2.1/20110323/background-intrinsic-008.htm
214943               css2.1/20110323/background-intrinsic-009.htm
214944               svg/as-background-image/background-image-preserveaspectRatio-support.html (adapted from testcase from bug 34521)
214945               svg/as-background-image/background-image-tiled.html (reduction from bug 16281)
214946               svg/as-background-image/same-image-two-instances-background-image.html
214947               svg/as-image/img-preserveAspectRatio-support-1.html (reduction from bug 34521)
214948               svg/as-image/same-image-two-instances.html
214949               svg/as-image/svg-as-relative-image-with-explicit-size.html
214950               svg/as-image/svg-image-change-content-size.xhtml (reduction from bug 42944)
214951               svg/zoom/page/zoom-img-preserveAspectRatio-support-1.html
214952
214953        * loader/cache/CachedImage.cpp: Enable SVGImage <-> IntSize cache.
214954        (WebCore::CachedImage::lookupImageForSize): Use recently introduced ImageBySizeCache, to lookup an image for a certain size.
214955        (WebCore::CachedImage::lookupImageForRenderer): Lookup image by renderer, which first looks up a size for a renderer, then uses lookupImageForSize().
214956        (WebCore::createSVGImage): Refactored from createImage(), contains the SVGImage creation part only.
214957        (WebCore::CachedImage::lookupOrCreateImageForRenderer): Use recently introduced ImageBySizeCache, to dynamically create copies of m_image if needed.
214958        (WebCore::CachedImage::setContainerSizeForRenderer): For SVGImages, pass on container size handling to ImageBySizeCache.
214959        (WebCore::CachedImage::imageSizeForRenderer): Figure out the image size, respecting per-renderer overrides, for a certain renderer.
214960        (WebCore::CachedImage::computeIntrinsicDimensions): Remove unnecessary RenderObject parameter.
214961        (WebCore::CachedImage::addClientForRenderer): Special variant of addClient(), overriding the existing in CachedResource.
214962        (WebCore::CachedImage::removeClientForRenderer): Special variant of removeClient(), that also clears the image in the ImageBySizeCache.
214963        (WebCore::CachedImage::createImage): Refactor SVGImage creation into createSVGImage() free function, to be useable from lookupOrCreateImageForRenderer().
214964        * loader/cache/CachedImage.h: Expose removeClientForRenderer().
214965        * page/ChromeClient.h:
214966        (WebCore::ChromeClient::isSVGImageChromeClient): Used to identify whether a RenderSVGRoot is embedded through a SVGImage. Returns false, by default.
214967        * rendering/ImageBySizeCache.cpp:
214968        (WebCore::ImageBySizeCache::addClient): Assert the passed renderer is valid.
214969        (WebCore::ImageBySizeCache::removeClient): Ditto. Allow removeClient() to be called w/o prio addClient() usage.
214970        (WebCore::ImageBySizeCache::setClient): New helper function, that combines the usage of addClient/removeClient, for the use in CachedImage.
214971        (WebCore::ImageBySizeCache::imageForSize): Respect empty sizes, just return 0, instead of asserting.
214972        (WebCore::ImageBySizeCache::imageForRenderer): Added a helper that retrieves an image for a renderer, by lookup up its size and using imageForSize().
214973        * rendering/ImageBySizeCache.h: Expose setClient() & imageForRenderer().
214974        * rendering/RenderBoxModelObject.cpp: Implement CSS 2.1 intrinsic size negotiation for images.
214975        (WebCore::resolveWidthForRatio): New inline helper function used bz calculateImageIntrinsicDimensions.
214976        (WebCore::resolveHeightForRatio): Ditto.
214977        (WebCore::resolveAgainstIntrinsicWidthOrHeightAndRatio): Ditto.
214978        (WebCore::resolveAgainstIntrinsicRatio):  Ditto.
214979        (WebCore::RenderBoxModelObject::calculateImageIntrinsicDimensions): New helper function, containing the main algorithm, which is a pure transcription of the spec.
214980        (WebCore::RenderBoxModelObject::calculateFillTileSize): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
214981        (WebCore::RenderBoxModelObject::calculateBackgroundImageGeometry): Propagate calculateFillTileSize() result to the image resource, via setContainerSizeForRenderer().
214982        (WebCore::RenderBoxModelObject::paintNinePieceImage): Use new calculateImageIntrinsicDimensions() helper to figure out the intrinsic size.
214983        * rendering/RenderBoxModelObject.h: Clarify some variable names, added calculateImageIntrinsicDimensions().
214984        * rendering/RenderImage.cpp:
214985        (WebCore::RenderImage::RenderImage): Use IntSize(), instead of IntSize(0, 0).
214986        (WebCore::RenderImage::updateIntrinsicSizeIfNeeded): Refactored from imageDimensionsChanged().
214987        (WebCore::RenderImage::imageDimensionsChanged): Use updateIntrinsicSizeIfNeeded().
214988        (WebCore::RenderImage::computeReplacedLogicalWidth): Use RenderReplaced::computeReplacedLogicalWidth() exclusively. For this to work, the intrinsic size must be correct.
214989        (WebCore::RenderImage::computeIntrinsicRatioInformation): Default implementation for non-SVGImages.
214990        (WebCore::RenderImage::needsPreferredWidthsRecalculation): Return true, just like RenderPart, if embeddedContentBox is not null.
214991        (WebCore::RenderImage::embeddedContentBox): Returns the RenderSVGRoot* renderer of the embedded SVG, if possible.
214992        * rendering/RenderImage.h: Remove isLogicalWidth/HeightSpecified() / computeReplacedLogicalHeight() / calcAspectRatioLogicalWidth/Height().
214993        * rendering/RenderImageResource.cpp:
214994        (WebCore::RenderImageResource::setContainerSizeForRenderer): Pass around new "float containerZoomFactor" parameter.
214995        * rendering/RenderImageResourceStyleImage.cpp:
214996        (WebCore::RenderImageResourceStyleImage::image): embeddedContentBox() is now calling image() earlier than before. We now have to handle the case that the image is pending.
214997        (WebCore::RenderImageResourceStyleImage::setContainerSizeForRenderer): Pass zoom factor.
214998        * rendering/RenderImageResourceStyleImage.h:
214999        * rendering/RenderListMarker.cpp:
215000        (WebCore::RenderListMarker::computePreferredLogicalWidths): Pass effective zoom to setContainerSizeForRenderer().
215001        * rendering/RenderReplaced.cpp:
215002        (WebCore::RenderReplaced::computeIntrinsicLogicalWidth): Generalized this code, as RenderImage is using it as well now. Marginal changes needed.
215003        (WebCore::RenderReplaced::computeIntrinsicLogicalHeight): Ditto.
215004        (WebCore::RenderReplaced::computeReplacedLogicalWidth): Ditto.
215005        * rendering/style/StyleCachedImage.cpp:
215006        (WebCore::StyleCachedImage::computeIntrinsicDimensions): Stop passing m_renderer to CachedImage, it's no longer needed.
215007        (WebCore::StyleCachedImage::setContainerSizeForRenderer): Add "float containerZoomFactor" parameter.
215008        (WebCore::StyleCachedImage::addClient): Forward to new addClientForRenderer().
215009        (WebCore::StyleCachedImage::removeClient): Call new removeClientForRenderer() instead of removeClient(), so the ImageBySizeCache is also updated.
215010        * rendering/style/StyleCachedImage.h: Add "float containerZoomFactor" parameter to setContainerSizeForRenderer.
215011        * rendering/style/StyleGeneratedImage.h:
215012        (WebCore::StyleGeneratedImage::setContainerSizeForRenderer): Ditto.
215013        * rendering/style/StyleImage.h: Ditto.
215014        * rendering/style/StylePendingImage.h:
215015        (WebCore::StylePendingImage::setContainerSizeForRenderer): Ditto.
215016        * rendering/svg/RenderSVGImage.cpp:
215017        (WebCore::RenderSVGImage::layout): Always supply a container size when embedding SVGs in <svg:image>.
215018        * rendering/svg/RenderSVGRoot.cpp: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
215019        (WebCore::RenderSVGRoot::isEmbeddedThroughImageElement): Add helper method to determine whether we're loaded through SVGImage.
215020        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth): If we have a valid container size, it has precendence (only supplied via external SVGImages).
215021        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight): Ditto.
215022        (WebCore::RenderSVGRoot::layout): Remove calcViewport() usage, no need to track/override the viewport size anymore, all done in coputeReplacedLogical* now.
215023        (WebCore::RenderSVGRoot::paint): Use borderBoxRect() which now always matches the previously computed m_viewportSize. 
215024        (WebCore::RenderSVGRoot::computeRectForRepaint): Ditto.
215025        * rendering/svg/RenderSVGRoot.h: Move "override container size" from SVGSVGElement into RenderSVGRoot, where it belongs.
215026        (WebCore::RenderSVGRoot::containerSize):
215027        (WebCore::RenderSVGRoot::setContainerSize):
215028        * svg/SVGLength.cpp:
215029        (WebCore::SVGLength::determineViewport): Resolve lengths against override container size in documents embedded through SVGImage.
215030        * svg/SVGSVGElement.cpp: Remove "override container size" handling from SVGSVGElement.
215031        (WebCore::SVGSVGElement::SVGSVGElement): Ditto.
215032        (WebCore::SVGSVGElement::currentViewBoxRect): Always synthesize a viewBox, if we're embedded through SVGImage, as demanded by SVG 1.1 2nd Edition.
215033        * svg/SVGSVGElement.h:
215034        * svg/graphics/SVGImage.cpp:
215035        (WebCore::SVGImageChromeClient::setObserver): Helper function.
215036        (WebCore::SVGImageChromeClient::isSVGImageChromeClient): Return true, used to identify whether RenderSVGRoot is embedded through SVGImage.
215037        (WebCore::SVGImage::setContainerZoom): Forwarded to Page::setPageZoomFactor.
215038        (WebCore::SVGImage::setContainerSize): Assert that container size is not empty. We should never receive an empty container size.
215039        (WebCore::SVGImage::usesContainerSize): Adapt to override container size changes, it now lives in RenderSVGRoot instead of SVGSVGElement.
215040        (WebCore::SVGImage::size): New algorithm to figure out the size of an embedded SVG, as demanded by the CSS/SVG specs.
215041        (WebCore::SVGImage::draw): Stop calling layout() while painting!
215042        (WebCore::SVGImage::embeddedContentBox): Add helper which returns the RenderSVGRoot of the document.
215043        (WebCore::SVGImage::computeIntrinsicDimensions): Implement intrinsic ratio calculation. 
215044        (WebCore::SVGImage::dataChanged): Force calling FrameView::setCanHaveScrollbars(false), as SVG images now always synthesize a viewBox, and thus never receive scrollbars.
215045        * svg/graphics/SVGImage.h:
215046
2150472011-10-26  Kenneth Rohde Christiansen  <kenneth@webkit.org>
215048
215049        Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
215050        https://bugs.webkit.org/show_bug.cgi?id=70328
215051
215052        Reviewed by Simon Hausmann.
215053
215054        Also remove checks for m_client in DeviceMotionController as it can never be null.
215055
215056        No new tests, as the suspend/resume functionality is not fully working yet.
215057
215058        * dom/DeviceMotionController.cpp:
215059        (WebCore::DeviceMotionController::timerFired):
215060        (WebCore::DeviceMotionController::addListener):
215061        (WebCore::DeviceMotionController::removeListener):
215062        (WebCore::DeviceMotionController::removeAllListeners):
215063        (WebCore::DeviceMotionController::suspend):
215064        (WebCore::DeviceMotionController::resume):
215065        * dom/DeviceMotionController.h:
215066        * dom/DeviceOrientationController.cpp:
215067        (WebCore::DeviceOrientationController::suspend):
215068        (WebCore::DeviceOrientationController::resume):
215069        * dom/DeviceOrientationController.h:
215070        * dom/Document.cpp:
215071        (WebCore::Document::suspendActiveDOMObjects):
215072        (WebCore::Document::resumeActiveDOMObjects):
215073        (WebCore::Document::stopActiveDOMObjects):
215074        * dom/Document.h:
215075        * dom/ScriptExecutionContext.h:
215076        * page/GeolocationController.cpp:
215077        (WebCore::GeolocationController::GeolocationController):
215078        (WebCore::GeolocationController::removeObserver):
215079        (WebCore::GeolocationController::suspend):
215080        (WebCore::GeolocationController::resume):
215081        * page/GeolocationController.h:
215082
2150832011-10-26  Pavel Feldman  <pfeldman@google.com>
215084
215085        Not reviewed: follow up to 98236 - moved inspector settings initialization earlier to unbreak settings panel.
215086
215087        * inspector/front-end/TextEditorModel.js:
215088        (WebInspector.TextEditorModel):
215089
2150902011-10-26  Zalan Bujtas  <zbujtas@gmail.com>
215091
215092        Name viewport change event consistently.
215093        https://bugs.webkit.org/show_bug.cgi?id=70901
215094
215095        Reviewed by Kenneth Rohde Christiansen.
215096
215097        Use ViewportPropertiesDidChange term consistently throughout WebKit.
215098
215099        No tests needed as the change is only method renaming.
215100
215101        * page/Chrome.cpp:
215102        (WebCore::Chrome::dispatchViewportPropertiesDidChange):
215103        * page/Chrome.h:
215104        * page/ChromeClient.h:
215105        (WebCore::ChromeClient::dispatchViewportPropertiesDidChange):
215106        * page/Page.cpp:
215107        (WebCore::Page::updateViewportArguments):
215108
2151092011-10-25  Stephen White  <senorblanco@chromium.org>
215110
215111        [chromium] Canvas2D should rate-limit drawing to prevent swamping the GPU process.
215112        https://bugs.webkit.org/show_bug.cgi?id=70367
215113
215114        Reviewed by James Robinson.
215115
215116        Sadly, we don't have infrastructure to test this kind of GPU swamping
215117        yet.
215118
215119        * WebCore.gypi:
215120        Add RateLimiter.* to the Chromium build.
215121        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
215122        (WebCore::Canvas2DLayerChromium::contentChanged):
215123        When the layer is notified that the contents have changed, ping the
215124        rate limiter.
215125        * platform/graphics/chromium/Canvas2DLayerChromium.h:
215126        * platform/graphics/chromium/GraphicsLayerChromium.cpp:
215127        (WebCore::GraphicsLayerChromium::setContentsNeedsDisplay):
215128        Call (new) virtual contentChanged() on a layer when its contents have
215129        been changed (e.g., by a drawing call).
215130        * platform/graphics/chromium/LayerChromium.h:
215131        (WebCore::LayerChromium::contentChanged):
215132        New virtual contentChanged().
215133        * platform/graphics/chromium/RateLimiter.cpp: Added.
215134        (WebCore::RateLimiter::create):
215135        Rate limiter factory function.
215136        (WebCore::RateLimiter::RateLimiter):
215137        (WebCore::RateLimiter::start):
215138        Public API to start rate limiting a context.
215139        (WebCore::RateLimiter::stop):
215140        Public API to stop rate limiting a context.
215141        (WebCore::RateLimiter::rateLimitContext):
215142        Internal timer callback when a context should be rate limited.
215143        * platform/graphics/chromium/RateLimiter.h: Added.
215144        * platform/graphics/chromium/WebGLLayerChromium.cpp:
215145        (WebCore::WebGLLayerChromium::WebGLLayerChromium):
215146        Remove rate limiting timer and extension check (moved to RateLimiter).
215147        (WebCore::WebGLLayerChromium::contentChanged):
215148        The function formerly known as setTextureUpdated(), now renamed to
215149        match the base class virtual contentChanged().  Call rate limiter in
215150        CCLayerTreeHost (local implementation removed).
215151        (WebCore::WebGLLayerChromium::setContext):
215152        When the context is changed, stop the pending rate limiter on the old
215153        context.  Remove extension check (moved to RateLimiter).
215154        * platform/graphics/chromium/WebGLLayerChromium.h:
215155        Remove rate limiting timer and extension check (moved to RateLimiter).
215156        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
215157        (WebCore::CCLayerTreeHost::startRateLimiter):
215158        Public API for starting per-context rate limiter.
215159        (WebCore::CCLayerTreeHost::stopRateLimiter):
215160        Public API for stopping per-context rate limiter.
215161        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
215162        Implementation of per-GraphicsContext3D RateLimiter.
215163
215164
2151652011-10-26  Pavel Feldman  <pfeldman@chromium.org>
215166
215167        Not reviewed: fixing inspector extensions tests.
215168
215169        * inspector/front-end/ConsoleMessage.js:
215170        (WebInspector.ConsoleMessageImpl):
215171        * inspector/front-end/ExtensionServer.js:
215172        (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
215173
2151742011-10-26  Balazs Kelemen  <kbalazs@webkit.org>
215175
215176        ParallelJobs path of FEConvolveMatrix is erroneous
215177        https://bugs.webkit.org/show_bug.cgi?id=70409
215178
215179        Reviewed by Zoltan Herczeg.
215180
215181        Covered by existing tests.
215182
215183        * platform/graphics/filters/FEConvolveMatrix.cpp:
215184        (WebCore::FEConvolveMatrix::fastSetInteriorPixels):
215185        Reject the silly idea that bytes per pixel ratio is 3 in preserveAlphaValues mode.
215186        The bug was hidden so far because that computation has no effect when we are going
215187        with the full inferior area in one round (in that case clipBottom and yEnd are equals
215188        and the value of the expression is always 0). With ParallelJobs we process sub-areas
215189        on each thread which has triggered the issue.
215190
2151912011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
215192
215193        Unreviewed, rolling out r98393.
215194        http://trac.webkit.org/changeset/98393
215195        https://bugs.webkit.org/show_bug.cgi?id=70892
215196
215197        "Compilation is broken on Chromium Webkit Mac Builder (dbg) "
215198        (Requested by yurys on #webkit).
215199
215200        * platform/graphics/chromium/LayerChromium.h:
215201        (WebCore::LayerChromium::setMasksToBounds):
215202        (WebCore::LayerChromium::setMaskLayer):
215203
2152042011-10-26  Pavel Feldman  <pfeldman@google.com>
215205
215206        Web Inspector: order console message parameters for better optional parameters handling.
215207        https://bugs.webkit.org/show_bug.cgi?id=70809
215208
215209        Reviewed by Yury Semikhatsky.
215210
215211        * inspector/Inspector.json:
215212        * inspector/front-end/ConsoleMessage.js:
215213        (WebInspector.ConsoleMessageImpl):
215214        (WebInspector.ConsoleMessageImpl.prototype._formatMessage):
215215        * inspector/front-end/ConsoleModel.js:
215216        (WebInspector.ConsoleModel.prototype._messageRepeatCountUpdated):
215217        (WebInspector.ConsoleMessage.create):
215218        (WebInspector.ConsoleDispatcher.prototype.messageAdded):
215219        * inspector/front-end/ConsoleView.js:
215220        (WebInspector.ConsoleCommandResult):
215221        (WebInspector.ConsoleMessage.create):
215222        * inspector/front-end/ExtensionServer.js:
215223        (WebInspector.ExtensionServer.prototype._onAddConsoleMessage):
215224        * inspector/front-end/NetworkManager.js:
215225        (WebInspector.NetworkDispatcher.prototype._updateResourceWithResponse):
215226        * inspector/front-end/inspector.js:
215227        (WebInspector.log.logMessage):
215228        (WebInspector.log):
215229
2152302011-10-26  Vsevolod Vlasov  <vsevik@chromium.org>
215231
215232        Web Inspector: Debugger fails when there is an invalid watch expression.
215233        https://bugs.webkit.org/show_bug.cgi?id=70718
215234
215235        Reviewed by Pavel Feldman.
215236
215237        Test: inspector/debugger/watch-expressions-panel-switch.html
215238
215239        * inspector/front-end/ScriptsPanel.js:
215240        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
215241
2152422011-10-26  Fady Samuel  <fsamuel@chromium.org>
215243
215244        Page Scale Factor broken when navigating history on pages with child frames
215245        https://bugs.webkit.org/show_bug.cgi?id=70459
215246
215247        Reviewed by Darin Fisher.
215248
215249        With frameScaleFactor now always returning 1.0 for subframes and pageScaleFactor for the mainFrame,
215250        and there being only a single pageScaleFactor, history for scaling is broken. Scaling history is
215251        saved on a per frame basis but restored, overriding the per-page pageScaleFactor multiple times.
215252        As a result, sometimes pages that have subframes end up getting a scale factor of 1.0 instead
215253        of the correct scale factor that was assigned to the main frame.
215254
215255        No new tests because I don't know how to test this.
215256
215257        * loader/HistoryController.cpp:
215258        (WebCore::HistoryController::restoreScrollPositionAndViewState):
215259
2152602011-10-26  Sheriff Bot  <webkit.review.bot@gmail.com>
215261
215262        Unreviewed, rolling out r98429.
215263        http://trac.webkit.org/changeset/98429
215264        https://bugs.webkit.org/show_bug.cgi?id=70881
215265
215266        "webkit_gpu_tests fail in Chromium" (Requested by yurys on
215267        #webkit).
215268
215269        * platform/graphics/chromium/LayerRendererChromium.cpp:
215270        (WebCore::LayerRendererChromium::initialize):
215271        * platform/graphics/chromium/WebGLLayerChromium.cpp:
215272        (WebCore::WebGLLayerChromium::layerRendererContext):
215273        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
215274        (WebCore::CCHeadsUpDisplay::enabled):
215275        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
215276        (WebCore::CCLayerTreeHost::initialize):
215277        (WebCore::CCLayerTreeHost::context):
215278        (WebCore::CCLayerTreeHost::setNeedsAnimate):
215279        (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
215280        (WebCore::CCLayerTreeHost::setNeedsRedraw):
215281        (WebCore::CCLayerTreeHost::composite):
215282        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
215283        (WebCore::CCSettings::CCSettings):
215284        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
215285        (WebCore::CCThreadProxy::setThread):
215286        * platform/graphics/chromium/cc/CCThreadProxy.h:
215287
2152882011-10-26  Ben Wells  <benwells@chromium.org>
215289
215290        Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
215291        https://bugs.webkit.org/show_bug.cgi?id=66920
215292
215293        Reviewed by James Robinson.
215294
215295        Test: fast/canvas/canvas-composite-image.html
215296
215297        Use the same method as fills to handle composited drawImage calls that will affect the whole
215298        canvas. To do this code used when doing fills has been factored into seperate functions and
215299        used by drawImage. Some functions used to do these types of operations have also been renamed.
215300
215301        * html/canvas/CanvasRenderingContext2D.cpp:
215302        (WebCore::isFullCanvasCompositeMode):
215303        (WebCore::CanvasRenderingContext2D::fill):
215304        (WebCore::CanvasRenderingContext2D::fillRect):
215305        (WebCore::CanvasRenderingContext2D::drawImage):
215306        (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
215307        (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
215308        (WebCore::CanvasRenderingContext2D::compositeBuffer):
215309        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
215310        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
215311        * html/canvas/CanvasRenderingContext2D.h:
215312
2153132011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
215314
215315        Unreviewed, rolling out r98379.
215316        http://trac.webkit.org/changeset/98379
215317        https://bugs.webkit.org/show_bug.cgi?id=70875
215318
215319        Did not pass on JSC ports (Requested by abarth on #webkit).
215320
215321        * bindings/scripts/CodeGeneratorJS.pm:
215322        (GenerateHeader):
215323        (GenerateImplementation):
215324        * bindings/scripts/CodeGeneratorV8.pm:
215325        (GenerateHeader):
215326        (GenerateArgumentsCountCheck):
215327        (GenerateImplementation):
215328        * html/canvas/CanvasRenderingContext2D.idl:
215329        * page/DOMWindow.idl:
215330
2153312011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
215332
215333        Unreviewed, rolling out r98346.
215334        http://trac.webkit.org/changeset/98346
215335        https://bugs.webkit.org/show_bug.cgi?id=70874
215336
215337        Breaks JSC-based bots. (Requested by pfeldman on #webkit).
215338
215339        * inspector/front-end/ScriptsPanel.js:
215340        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
215341
2153422011-10-25  Nat Duca  <nduca@chromium.org>
215343
215344        [chromium] Enable threaded compositing via CCThreadProxy::hasThread only
215345        https://bugs.webkit.org/show_bug.cgi?id=70838
215346
215347        Reviewed by James Robinson.
215348
215349        * platform/graphics/chromium/LayerRendererChromium.cpp:
215350        (WebCore::LayerRendererChromium::initialize):
215351        * platform/graphics/chromium/WebGLLayerChromium.cpp:
215352        (WebCore::WebGLLayerChromium::layerRendererContext):
215353        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
215354        (WebCore::CCHeadsUpDisplay::enabled):
215355        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
215356        (WebCore::CCLayerTreeHost::initialize):
215357        (WebCore::CCLayerTreeHost::context):
215358        (WebCore::CCLayerTreeHost::setNeedsAnimate):
215359        (WebCore::CCLayerTreeHost::setNeedsCommitThenRedraw):
215360        (WebCore::CCLayerTreeHost::setNeedsRedraw):
215361        (WebCore::CCLayerTreeHost::composite):
215362        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
215363        (WebCore::CCSettings::CCSettings):
215364        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
215365        (WebCore::CCThreadProxy::hasThread):
215366        * platform/graphics/chromium/cc/CCThreadProxy.h:
215367
2153682011-10-25  Xiaomei Ji  <xji@chromium.org>
215369
215370        --webkit-visual-word does not work in multi-line
215371        https://bugs.webkit.org/show_bug.cgi?id=61344
215372
215373        Reviewed by Ryosuke Niwa.
215374
215375        Get next or previous root inline box (which is not in the same
215376        render object as the current root inline box) by traversing DOM node.
215377
215378        Test: editing/selection/move-by-word-visually-inline-block-positioned-element.html
215379
215380        * editing/visible_units.cpp:
215381        (WebCore::previousRootInlineBox):
215382        (WebCore::nextRootInlineBox):
215383        (WebCore::leftInlineBox):
215384        (WebCore::rightInlineBox):
215385
2153862011-10-25  Adam Barth  <abarth@webkit.org>
215387
215388        JSEventTarget.cpp has a bunch of unnessary includes
215389        https://bugs.webkit.org/show_bug.cgi?id=70865
215390
215391        Reviewed by Eric Seidel.
215392
215393        In the process of removing these includes, I noticed we had a bunch of
215394        non-autogenerated code in this file, which I've now autogenerated.
215395
215396        * bindings/js/JSEventTarget.cpp:
215397        (WebCore::toEventTarget):
215398            - One subtly here is the outter static_cast, which is caused by an
215399              inheritance infelicity in JavaScriptAudioNode, which I've noted
215400              with a FIXME.  In any case, the extra static_cast shouldn't cause
215401              any trouble.
215402        * webaudio/JavaScriptAudioNode.h:
215403
2154042011-10-25  Adam Barth  <abarth@webkit.org>
215405
215406        V8DOMWrapper.cpp has unneeded header includes
215407        https://bugs.webkit.org/show_bug.cgi?id=70863
215408
215409        Reviewed by Eric Seidel.
215410
215411        * bindings/v8/V8DOMWrapper.cpp:
215412
2154132011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
215414
215415        Resetting baseline for test bindings
215416
215417        Unreviewed preemptive build fix
215418
215419        No new tests.
215420
215421        * bindings/scripts/test/JS/JSTestObj.cpp:
215422        * bindings/scripts/test/JS/JSTestObj.h:
215423
2154242011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
215425
215426        Remove deletePropertyVirtual
215427        https://bugs.webkit.org/show_bug.cgi?id=70738
215428
215429        Reviewed by Geoffrey Garen.
215430
215431        No new tests.
215432
215433        Removed all declarations and definitions of deletePropertyVirtual.
215434        Also replaced all call sites to deletePropertyVirtual with a 
215435        corresponding lookup in the MethodTable.
215436
215437        * WebCore.exp.in:
215438        * bindings/js/JSDOMStringMapCustom.cpp:
215439        (WebCore::JSDOMStringMap::deleteProperty):
215440        * bindings/js/JSDOMWindowCustom.cpp:
215441        (WebCore::JSDOMWindow::deleteProperty):
215442        * bindings/js/JSDOMWindowShell.cpp:
215443        (WebCore::JSDOMWindowShell::deleteProperty):
215444        * bindings/js/JSDOMWindowShell.h:
215445        * bindings/js/JSHistoryCustom.cpp:
215446        (WebCore::JSHistory::deleteProperty):
215447        * bindings/js/JSLocationCustom.cpp:
215448        (WebCore::JSLocation::deleteProperty):
215449        * bindings/js/JSStorageCustom.cpp:
215450        (WebCore::JSStorage::deleteProperty):
215451        * bindings/js/ScriptObject.cpp:
215452        (WebCore::ScriptGlobalObject::remove):
215453        * bindings/objc/WebScriptObject.mm:
215454        (-[WebScriptObject removeWebScriptKey:]):
215455        * bindings/scripts/CodeGeneratorJS.pm:
215456        (GenerateHeader):
215457        * bridge/NP_jsobject.cpp:
215458        (_NPN_RemoveProperty):
215459        * bridge/jni/jni_jsobject.mm:
215460        (JavaJSObject::removeMember):
215461        * bridge/objc/objc_runtime.h:
215462        * bridge/objc/objc_runtime.mm:
215463        * bridge/runtime_array.cpp:
215464        * bridge/runtime_array.h:
215465        * bridge/runtime_object.cpp:
215466        * bridge/runtime_object.h:
215467
2154682011-10-25  Chris Fleizach  <cfleizach@apple.com>
215469
215470        AX: WebKit does not expose HTML label for slider elements
215471        https://bugs.webkit.org/show_bug.cgi?id=70856
215472
215473        Reviewed by Darin Adler.
215474
215475        Test: platform/mac/accessibility/slider-allows-title-ui-element.html
215476
215477        * accessibility/AccessibilitySlider.h:
215478        (WebCore::AccessibilitySlider::isControl):
215479        * accessibility/mac/WebAccessibilityObjectWrapper.mm:
215480        (-[WebAccessibilityObjectWrapper accessibilityAttributeNames]):
215481
2154822011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
215483
215484        Remove putVirtual
215485        https://bugs.webkit.org/show_bug.cgi?id=70740
215486
215487        Reviewed by Geoffrey Garen.
215488
215489        No new tests.
215490
215491        Removed all declarations and definitions of putVirtual.
215492        Also replaced all call sites to putVirtual with a 
215493        corresponding lookup in the MethodTable.
215494
215495        * WebCore.exp.in:
215496        * bindings/js/JSDOMWindowCustom.cpp:
215497        * bindings/js/JSDOMWindowShell.cpp:
215498        (WebCore::JSDOMWindowShell::put):
215499        * bindings/js/JSDOMWindowShell.h:
215500        * bindings/js/JSPluginElementFunctions.cpp:
215501        (WebCore::runtimeObjectCustomPut):
215502        * bindings/js/SerializedScriptValue.cpp:
215503        (WebCore::CloneDeserializer::putProperty):
215504        * bindings/objc/WebScriptObject.mm:
215505        (-[WebScriptObject setValue:forKey:]):
215506        (-[WebScriptObject setWebScriptValueAtIndex:value:]):
215507        * bindings/scripts/CodeGeneratorJS.pm:
215508        (GenerateHeader):
215509        (GenerateImplementation):
215510        * bridge/NP_jsobject.cpp:
215511        (_NPN_SetProperty):
215512        * bridge/jni/jni_jsobject.mm:
215513        (JavaJSObject::setMember):
215514        (JavaJSObject::setSlot):
215515        * bridge/objc/objc_runtime.h:
215516        * bridge/objc/objc_runtime.mm:
215517        * bridge/qt/qt_runtime.cpp:
215518        (JSC::Bindings::convertQVariantToValue):
215519        * bridge/runtime_array.cpp:
215520        * bridge/runtime_array.h:
215521        * bridge/runtime_object.cpp:
215522        * bridge/runtime_object.h:
215523        * bridge/testqtbindings.cpp:
215524        (main):
215525
2155262011-10-25  Adam Barth  <abarth@webkit.org>
215527
215528        EventTargetFactory.in is not sorted
215529        https://bugs.webkit.org/show_bug.cgi?id=70855
215530
215531        Reviewed by Eric Seidel.
215532
215533        This patch sorts the file.  I was not able to measure a performance
215534        difference using the microbenchmark included with this patch.
215535
215536        * dom/EventTargetFactory.in:
215537
2155382011-10-25  Adam Barth  <abarth@webkit.org>
215539
215540        Attempt to fix the Windows build.  Windows mashes all these files into
215541        one, which doesn't respect the compilation unit rules of C++.
215542
215543        * bindings/js/JSEventCustom.cpp:
215544        * bindings/js/JSEventTarget.cpp:
215545
2155462011-10-25  Ryosuke Niwa  <rniwa@webkit.org>
215547
215548        Moving to the start of line should not place the caret outside of the table
215549        https://bugs.webkit.org/show_bug.cgi?id=70757
215550
215551        Reviewed by Chang Shu.
215552
215553        The bug was caused by positionAvoidingFirstPositionInTable. Get rid of the function.
215554
215555        Test: editing/selection/table-lineboundary.html
215556
215557        * editing/visible_units.cpp:
215558        (WebCore::startPositionForLine):
215559
2155602011-10-25  Beth Dakin  <bdakin@apple.com>
215561
215562        https://bugs.webkit.org/show_bug.cgi?id=70852
215563        Setting up a HiDPI base-level GraphicsContext should be more straightforward for 
215564        WebKit2
215565
215566        Reviewed by Dan Bernstein.
215567
215568        This patch removes the old cg-only GraphicsContext::setBaseCTM() api, and adds 
215569        platform-independent GraphicsContext::applyDeviceScaleFactor().
215570        * WebCore.exp.in:
215571        * platform/graphics/GraphicsContext.cpp:
215572        (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
215573        (WebCore::GraphicsContext::applyDeviceScaleFactor):
215574        * platform/graphics/GraphicsContext.h:
215575        * platform/graphics/cg/GraphicsContextCG.cpp:
215576        (WebCore::GraphicsContext::platformApplyDeviceScaleFactor):
215577
215578        Since this patch removes GraphicsContext::setBaseCTM(), this code has been 
215579        reverted to do what it used to do before that was added; it just calls into 
215580        WebCoreSystemInterface directly.
215581        * platform/graphics/cg/ImageCG.cpp:
215582        (WebCore::Image::drawPattern):
215583
2155842011-10-25  Anders Carlsson  <andersca@apple.com>
215585
215586        Plug-ins have to use JavaScript to find out the current device scale factor
215587        https://bugs.webkit.org/show_bug.cgi?id=67225
215588
215589        Reviewed by Darin Adler.
215590
215591        Test: platform/mac-wk2/plugins/contents-scale-factor.html
215592
215593        Add NPNVcontentsScaleFactor, as per https://wiki.mozilla.org/NPAPI:ContentsScaleFactor.
215594
215595        * plugins/npapi.h:
215596
2155972011-10-25  Adam Klein  <adamk@chromium.org>
215598
215599        Forward declare MutationObserverEntry as a struct to fix clang build
215600        https://bugs.webkit.org/show_bug.cgi?id=70853
215601
215602        Reviewed by Ryosuke Niwa.
215603
215604        Node.h forward declared MutationObserverEntry as a class, and clang
215605        complains if the two declarations don't match.
215606
215607        * dom/Node.h:
215608
2156092011-10-25  Dan Bernstein  <mitz@apple.com>
215610
215611        Caret can be positioned or repainted incorrectly in flipped-blocks multi-column blocks
215612        https://bugs.webkit.org/show_bug.cgi?id=70851
215613
215614        Reviewed by Dave Hyatt.
215615
215616        * manual-tests/caret-in-columns-flipped.html: Added.
215617        * rendering/RenderBlock.cpp:
215618        (WebCore::RenderBlock::adjustForColumns): Removed flipped-blocks writing mode considerations
215619        from this function, since not all callers were expecting it to account for flippedness. This makes
215620        it similar to adjustRectForColumns() in not adjusting for flippedness.
215621        * rendering/RenderBox.cpp:
215622        (WebCore::RenderBox::offsetFromContainer): In the columns case, account for flipped-blocks modes
215623        by first mapping the point and the offset to non-flipped, non-columns space, then adjusting for
215624        columns, then flipping.
215625
2156262011-10-25  Michal Mocny  <mmocny@google.com>
215627
215628        LayerRendererChromium::setVisible called needlessly without a visibility change
215629        https://bugs.webkit.org/show_bug.cgi?id=70766
215630
215631        Reviewed by Kenneth Russell.
215632
215633        Check that visibility has actually changed before calling LayerRendererChromium::setVisible
215634
215635        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
215636        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
215637        (WebCore::CCLayerTreeHostImpl::setVisible):
215638        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
215639
2156402011-10-25  Anders Carlsson  <andersca@apple.com>
215641
215642        REGRESSION(97821): HistoryController::itemsAreClones crashes a lot
215643        https://bugs.webkit.org/show_bug.cgi?id=70827
215644        <rdar://problem/10342925>
215645
215646        Reviewed by Adam Barth.
215647
215648        Check that m_currentItem is non-null before passing it to itemsAreClones. While I wasn't
215649        able to make a test case that would reproduce this crash, we do check m_currentItem for null
215650        everywhere else, and the crash log indicates that this would fix the crash.
215651
215652        * loader/HistoryController.cpp:
215653        (WebCore::HistoryController::recursiveUpdateForCommit):
215654
2156552011-10-25  Adam Barth  <abarth@webkit.org>
215656
215657        EventTarget.h shouldn't need to know about every feature and ifdef
215658        https://bugs.webkit.org/show_bug.cgi?id=70659
215659
215660        Reviewed by Darin Adler.
215661
215662        This patch follows the approach of Event.h and introduces an
215663        interfaceName virtual function that returns the name of the DOM
215664        interface for the concrete type of the object.  This function lets us
215665        remove a large number of fake dynamic casts.
215666
215667        * CMakeLists.txt:
215668        * CodeGenerators.pri:
215669        * DerivedSources.make:
215670        * GNUmakefile.am:
215671        * WebCore.gyp/WebCore.gyp:
215672        * WebCore.gyp/scripts/action_makenames.py:
215673            - Teach action_makenames how to handle the new "in" file.
215674        * WebCore.gypi:
215675        * WebCore.vcproj/WebCore.vcproj:
215676        * WebCore.xcodeproj/project.pbxproj:
215677        * bindings/js/JSEventTarget.cpp:
215678        (WebCore::toJS):
215679            - Use the new autogenerated macro to remove a large amount of
215680              feature-specific code.
215681        * bindings/js/WorkerScriptController.cpp:
215682        (WebCore::WorkerScriptController::initScript):
215683        * bindings/objc/DOM.mm:
215684        (kit):
215685            - The SVGElementInstance branch was never taken previously because
215686              SVGElementInstance::toNode returns a non-NULL value. This code
215687              was introduced in http://trac.webkit.org/changeset/42618 and
215688              doesn't appear to have ever worked as the author intended.
215689        * bindings/v8/V8DOMWrapper.cpp:
215690        (WebCore::V8DOMWrapper::convertEventTargetToV8Object):
215691            - Use the new autogenerated macro to remove a large amount of
215692              feature-specific code.
215693        * dom/EventNames.cpp:
215694        (WebCore::EventNames::EventNames):
215695        * dom/EventNames.h:
215696        * dom/EventTarget.cpp:
215697        * dom/EventTarget.h:
215698        * dom/EventTargetFactory.in: Added.
215699            - Add a new "in" file that lists all the EventTargets.
215700        * dom/LocalMediaStream.cpp:
215701        (WebCore::LocalMediaStream::interfaceName):
215702        * dom/LocalMediaStream.h:
215703        * dom/MediaStream.cpp:
215704        (WebCore::MediaStream::interfaceName):
215705        * dom/MediaStream.h:
215706        * dom/MessagePort.cpp:
215707        (WebCore::MessagePort::interfaceName):
215708        * dom/MessagePort.h:
215709        * dom/Node.cpp:
215710        (WebCore::Node::toNode):
215711        (WebCore::Node::interfaceName):
215712        * dom/Node.h:
215713        * dom/make_event_factory.pl:
215714            - Generalize make_event_factory.pl to be able to generate
215715              interfaces for different namespaces.
215716        * fileapi/FileReader.cpp:
215717        (WebCore::FileReader::interfaceName):
215718        * fileapi/FileReader.h:
215719        * fileapi/FileWriter.cpp:
215720        (WebCore::FileWriter::interfaceName):
215721        * fileapi/FileWriter.h:
215722        * loader/appcache/DOMApplicationCache.cpp:
215723        (WebCore::DOMApplicationCache::interfaceName):
215724        * loader/appcache/DOMApplicationCache.h:
215725        * notifications/Notification.cpp:
215726        (WebCore::Notification::interfaceName):
215727        * notifications/Notification.h:
215728        (WebCore::Notification::scriptExecutionContext):
215729        * p2p/PeerConnection.cpp:
215730        (WebCore::PeerConnection::interfaceName):
215731        * p2p/PeerConnection.h:
215732        * page/DOMWindow.cpp:
215733        (WebCore::DOMWindow::interfaceName):
215734        (WebCore::DOMWindow::toDOMWindow):
215735        * page/DOMWindow.h:
215736        * page/EventSource.cpp:
215737        (WebCore::EventSource::interfaceName):
215738        * page/EventSource.h:
215739        * storage/IDBDatabase.cpp:
215740        (WebCore::IDBDatabase::interfaceName):
215741        * storage/IDBDatabase.h:
215742        * storage/IDBRequest.cpp:
215743        (WebCore::IDBRequest::interfaceName):
215744        * storage/IDBRequest.h:
215745        * storage/IDBTransaction.cpp:
215746        (WebCore::IDBTransaction::interfaceName):
215747        * storage/IDBTransaction.h:
215748        * storage/IDBVersionChangeRequest.cpp:
215749        (WebCore::IDBVersionChangeRequest::interfaceName):
215750        * storage/IDBVersionChangeRequest.h:
215751        * svg/SVGElementInstance.cpp:
215752        (WebCore::SVGElementInstance::interfaceName):
215753        * svg/SVGElementInstance.h:
215754        (WebCore::SVGElementInstance::toNode):
215755        * webaudio/AudioContext.cpp:
215756        (WebCore::AudioContext::interfaceName):
215757        (WebCore::AudioContext::scriptExecutionContext):
215758        * webaudio/AudioContext.h:
215759        * webaudio/JavaScriptAudioNode.cpp:
215760        (WebCore::JavaScriptAudioNode::interfaceName):
215761        * webaudio/JavaScriptAudioNode.h:
215762        * websockets/WebSocket.cpp:
215763        (WebCore::WebSocket::interfaceName):
215764        * websockets/WebSocket.h:
215765        * workers/DedicatedWorkerContext.cpp:
215766        (WebCore::DedicatedWorkerContext::interfaceName):
215767        * workers/DedicatedWorkerContext.h:
215768        * workers/DefaultSharedWorkerRepository.cpp:
215769        (WebCore::SharedWorkerConnectTask::performTask):
215770        * workers/SharedWorker.cpp:
215771        (WebCore::SharedWorker::interfaceName):
215772        * workers/SharedWorker.h:
215773        * workers/SharedWorkerContext.cpp:
215774        (WebCore::SharedWorkerContext::interfaceName):
215775        * workers/SharedWorkerContext.h:
215776        * workers/Worker.cpp:
215777        (WebCore::Worker::interfaceName):
215778        * workers/Worker.h:
215779        * xml/XMLHttpRequest.cpp:
215780        (WebCore::XMLHttpRequest::interfaceName):
215781        * xml/XMLHttpRequest.h:
215782        * xml/XMLHttpRequestUpload.cpp:
215783        (WebCore::XMLHttpRequestUpload::interfaceName):
215784        * xml/XMLHttpRequestUpload.h:
215785
2157862011-10-25  Pavel Podivilov  <podivilov@chromium.org>
215787
215788        Fix several minor problems in idls.
215789        https://bugs.webkit.org/show_bug.cgi?id=70811
215790
215791        Reviewed by Adam Barth.
215792
215793        This patch does not have any effect on generated bindings.
215794
215795        * dom/DataTransferItems.idl:
215796        * page/History.idl:
215797        * storage/IDBIndex.idl:
215798        * xml/XMLHttpRequest.idl:
215799
2158002011-10-25  Nate Chapin  <japhet@chromium.org>
215801
215802        Make DocumentThreadableLoader a CachedResourceClient.
215803        This will allow us to cache ThreadableLoaderClients as
215804        appropriate in a later patch.
215805        https://bugs.webkit.org/show_bug.cgi?id=61225
215806
215807        Reviewed by Antti Koivisto.
215808
215809        No new tests, no functionality change intended.
215810
215811        * WebCore.gypi:
215812        * loader/DocumentThreadableLoader.cpp:
215813        (WebCore::DocumentThreadableLoader::notifyFinished): CachedResourceClients don't send separate callbacks
215814            for didFail() and didFinishLoading(), so we need to differentiate here.
215815        (WebCore::DocumentThreadableLoader::loadRequest): Call CachedResourceLoader::requestRawResource()
215816            instead of ResourceLoadScheduler::scheduleSubresourceLoad().
215817        * loader/DocumentThreadableLoader.h:
215818        * loader/cache/CachedRawResource.cpp:
215819        (WebCore::CachedRawResource::data): Handle the complexity of some ThreadableLoaderClients setting
215820            DoNotBufferData in ResoureLoaderOptions. If the DataBufferingPolicy is BufferData, then the
215821            'data' input parameter will contain all data received so far, and we need to determine the
215822            incremental data to forward to the clients. If the policy is DoNotBufferData, 'data' is just
215823            the incremental data.
215824        * loader/cache/CachedRawResource.h:
215825        * loader/cache/CachedResource.cpp:
215826        * loader/cache/CachedResource.h:
215827        (WebCore::CachedResource::preloadResult):
215828        (WebCore::CachedResource::didSendData):
215829        (WebCore::CachedResource::didDownloadData):
215830        (WebCore::CachedResource::setLoadFinishTime):
215831        (WebCore::CachedResource::loadFinishTime):
215832        * loader/cache/CachedResourceClient.h: Add several new callbacks needed by DocumentThreadableLoader.
215833        * loader/cache/CachedResourceRequest.cpp:
215834        (WebCore::CachedResourceRequest::didReceiveResponse): CachedResource::setResponse() can now cancel
215835            the request, so protect appropriately.
215836        * loader/cache/CachedResourceRequest.h:
215837        * loader/chromium/CachedRawResourceChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
215838        * loader/chromium/CachedResourceRequestChromium.cpp: Added (plumb didDownloadData() to DocumentThreadableLoader).
215839        * loader/chromium/DocumentThreadableLoaderChromium.cpp:
215840        * platform/network/BlobResourceHandle.cpp:
215841        (WebCore::BlobResourceHandle::notifyResponse): Protect before setting response, since it might kill us.
215842
2158432011-10-25  Pavel Podivilov  <podivilov@chromium.org>
215844
215845        Get rid of optional parameters in the middle in IDLs.
215846        https://bugs.webkit.org/show_bug.cgi?id=70816
215847
215848        Reviewed by Adam Barth.
215849
215850        Optional parameters in the middle are prohibited by WebIDL spec.
215851
215852        * bindings/scripts/CodeGeneratorJS.pm:
215853        (GenerateHeader):
215854        (GenerateImplementation):
215855        * bindings/scripts/CodeGeneratorV8.pm:
215856        (GenerateHeader):
215857        (GenerateArgumentsCountCheck):
215858        (GenerateImplementation):
215859        * html/canvas/CanvasRenderingContext2D.idl:
215860        * page/DOMWindow.idl:
215861
2158622011-10-25  Chris Evans  <cevans@google.com>
215863
215864        Manage the CSS property array length correctly
215865        https://bugs.webkit.org/show_bug.cgi?id=70783
215866
215867        Reviewed by Adam Barth.
215868
215869        * css/CSSParser.cpp:
215870        (WebCore::CSSParser::addProperty): don't allow max length to get out of sync with the buffer.
215871
2158722011-10-25  Tony Chang  <tony@chromium.org>
215873
215874        avoid unnecessary layouts of flex items during the flex pass
215875        https://bugs.webkit.org/show_bug.cgi?id=70557
215876
215877        Reviewed by Ojan Vafai.
215878
215879        If the preferred size of a flex item is provided, we don't need to
215880        layout the flex item when computing the preferred size.  This allows
215881        us to only call layout on each flex item once in the common case.
215882
215883        No new tests, covered by existing tests.
215884
215885        * rendering/RenderFlexibleBox.cpp:
215886        (WebCore::RenderFlexibleBox::flowAwareLogicalWidthLengthForChild):
215887        (WebCore::RenderFlexibleBox::preferredLogicalContentWidthForFlexItem):
215888        (WebCore::RenderFlexibleBox::computePreferredLogicalWidth):
215889        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
215890        * rendering/RenderFlexibleBox.h:
215891
2158922011-10-25  Fady Samuel  <fsamuel@chromium.org>
215893
215894        Crash in WebCore::RenderTableSection::addChild due to assert failure
215895        https://bugs.webkit.org/show_bug.cgi?id=70678
215896
215897        Reviewed by David Hyatt.
215898
215899        Tests: fast/table/table-anonymous-cell-bug.html
215900               fast/table/table-anonymous-row-bug.html
215901               fast/table/table-anonymous-section-bug.html
215902
215903        If the child being added is not a Section/Row/Cell, and the previous sibling is not anonymous, 
215904        we need to create a new anonymous Section/Row/Cell respectively, instead of failing an
215905        assert.
215906
215907        * rendering/RenderTable.cpp:
215908        (WebCore::RenderTable::addChild):
215909        * rendering/RenderTableRow.cpp:
215910        (WebCore::RenderTableRow::addChild):
215911        * rendering/RenderTableSection.cpp:
215912        (WebCore::RenderTableSection::addChild):
215913
2159142011-10-25  Mark Hahnenberg  <mhahnenberg@apple.com>
215915
215916        Add getOwnPropertySlot to MethodTable
215917        https://bugs.webkit.org/show_bug.cgi?id=69807
215918
215919        Reviewed by Oliver Hunt.
215920
215921        No new tests.
215922
215923        * bridge/runtime_method.h: Changed getOwnPropertySlot to be protected so 
215924        subclasses can reference it in their MethodTables.
215925
2159262011-10-25  Simon Fraser  <simon.fraser@apple.com>
215927
215928        REGRESSION (r88580): Cursor fails to change to pointer on embedded Google maps popups
215929        https://bugs.webkit.org/show_bug.cgi?id=62797
215930
215931        Reviewed by Chris Marrin.
215932        
215933        When hit testing through transformed layers, RenderLayer would simply use
215934        the composited bounds of the layer as the localHitTestRect for hit testing sublayers.
215935        However, this broke hit testing on pages that have a composited, non-transformed layer
215936        which falls outside the bounds of its parent, composited-transformed layer, like Google
215937        Maps.
215938        
215939        Fix by mapping the hitTestRect through transforms. However this is tricky, because
215940        mapping a rect into the coordinate system of a layer can result in invalid rectangles
215941        when point projection results in a negative w component. Fix TransformationMatrix::projectPoint()
215942        to detect this case and replace X and Y with large values, and add boundsOfProjectedQuad(), which 
215943        maps rectangles with possibly-infinite location or bounds into rects which are representable
215944        in an IntRect.
215945
215946        Tests: transforms/3d/hit-testing/composited-hit-test.html
215947               transforms/3d/hit-testing/rotated-hit-test-with-child.html
215948               transforms/3d/hit-testing/rotated-hit-test2.html
215949
215950        * platform/graphics/transforms/TransformationMatrix.cpp:
215951        (WebCore::TransformationMatrix::projectPoint):
215952        (WebCore::TransformationMatrix::projectQuad):
215953        (WebCore::clampEdgeValue):
215954        (WebCore::TransformationMatrix::boundsOfProjectedQuad):
215955        * platform/graphics/transforms/TransformationMatrix.h:
215956        * rendering/HitTestingTransformState.cpp:
215957        (WebCore::HitTestingTransformState::boundsOfMappedQuad):
215958        * rendering/HitTestingTransformState.h:
215959        * rendering/RenderLayer.cpp:
215960        (WebCore::RenderLayer::hitTestLayer):
215961
2159622011-10-25  Adrienne Walker  <enne@google.com>
215963
215964        [chromium] Batch up texture uploads so that they can be updated incrementally
215965        https://bugs.webkit.org/show_bug.cgi?id=70454
215966
215967        Reviewed by James Robinson.
215968
215969        Because texture uploads can sometimes take more than a frame to
215970        complete, collect all the uploads that need to occur in a
215971        CCTextureUpdater so that we can easily incrementally upload some of
215972        them, interleaving input and drawing so that the compositor thread
215973        continues to appear responsive during a commit.
215974
215975        This change doesn't actually interleave the commits, it just pushes
215976        the infrastructure for doing so up to the CCProxy level so that a
215977        future scheduler can make this decision.
215978
215979        VideoLayerChromium is the only layer type to not use this system. It
215980        needs to be converted to use a texture updater first and it is less of
215981        a priority than the tiled layers.
215982
215983        * WebCore.gypi:
215984        * platform/graphics/chromium/Canvas2DLayerChromium.cpp:
215985        (WebCore::Canvas2DLayerChromium::updateCompositorResources):
215986        * platform/graphics/chromium/Canvas2DLayerChromium.h:
215987        * platform/graphics/chromium/LayerChromium.h:
215988        (WebCore::LayerChromium::updateCompositorResources):
215989        * platform/graphics/chromium/TiledLayerChromium.cpp:
215990        (WebCore::TiledLayerChromium::updateCompositorResources):
215991        * platform/graphics/chromium/TiledLayerChromium.h:
215992        * platform/graphics/chromium/VideoLayerChromium.cpp:
215993        (WebCore::VideoLayerChromium::updateCompositorResources):
215994        * platform/graphics/chromium/VideoLayerChromium.h:
215995        * platform/graphics/chromium/WebGLLayerChromium.cpp:
215996        (WebCore::WebGLLayerChromium::updateCompositorResources):
215997        * platform/graphics/chromium/WebGLLayerChromium.h:
215998        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
215999        (WebCore::CCLayerTreeHost::beginCommitOnImplThread):
216000        (WebCore::CCLayerTreeHost::finishCommitOnImplThread):
216001        (WebCore::CCLayerTreeHost::updateCompositorResources):
216002        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
216003        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
216004        (WebCore::CCSingleThreadProxy::setNeedsCommit):
216005        (WebCore::CCSingleThreadProxy::doCommit):
216006        (WebCore::CCSingleThreadProxy::commitIfNeeded):
216007        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
216008        * platform/graphics/chromium/cc/CCTextureUpdater.cpp: Added.
216009        (WebCore::CCTextureUpdater::CCTextureUpdater):
216010        (WebCore::CCTextureUpdater::~CCTextureUpdater):
216011        (WebCore::CCTextureUpdater::append):
216012        (WebCore::CCTextureUpdater::update):
216013        (WebCore::CCTextureUpdater::clear):
216014        * platform/graphics/chromium/cc/CCTextureUpdater.h: Added.
216015        (WebCore::CCTextureUpdater::allocator):
216016        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
216017        (WebCore::CCThreadProxy::commitOnImplThread):
216018
2160192011-10-24  Jer Noble  <jer.noble@apple.com>
216020
216021        compositing/video tests time out on Lion
216022        https://bugs.webkit.org/show_bug.cgi?id=70448
216023
216024        Reviewed by Simon Fraser.
216025
216026        AVFoundation will not begin loading or decoding media until a consumer for that media is present.
216027        For video-only media, this means that an AVPlayerLayer must be created and attached to the 
216028        AVPlayer before the load state will ever reach "canPlayThrough". Once the metadata for a media
216029        is loaded, create a AVPlayerLayer if the media has a video track.
216030
216031        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
216032        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
216033
2160342011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
216035
216036        Merge endOfLine with logicalEndOfLine and startOfLine with logicalStartOfLine
216037        https://bugs.webkit.org/show_bug.cgi?id=70755
216038
216039        Reviewed by Chang Shu.
216040
216041        Merged endOfLine with logicalEndOfLine, and startOfLine with logicalStartOfLine
216042        to reduce the code duplication.
216043
216044        * editing/visible_units.cpp:
216045        (WebCore::startPositionForLine):
216046        (WebCore::startOfLine):
216047        (WebCore::logicalStartOfLine):
216048        (WebCore::endPositionForLine):
216049        (WebCore::inSameLogicalLine):
216050        (WebCore::endOfLine):
216051        (WebCore::logicalEndOfLine):
216052        * editing/visible_units.h:
216053
2160542011-10-25  Arko Saha  <arko@motorola.com>
216055
216056        Microdata: itemtype attribute should be space-separated list to allow multiple types.
216057        https://bugs.webkit.org/show_bug.cgi?id=70501
216058
216059        Reviewed by Ryosuke Niwa.
216060
216061        Tests: fast/dom/MicroData/getitems-multiple-itemtypes.html
216062               fast/dom/MicroData/itemtype-add-remove-tokens.html
216063               fast/dom/MicroData/itemtype-attribute-test.html
216064
216065        * dom/MicroDataItemList.cpp:
216066        (WebCore::MicroDataItemList::nodeMatches):
216067        * html/DOMSettableTokenList.h:
216068        (WebCore::DOMSettableTokenList::tokens):
216069        * html/HTMLElement.cpp:
216070        (WebCore::HTMLElement::parseMappedAttribute):
216071        (WebCore::HTMLElement::setItemValueText):
216072        (WebCore::HTMLElement::itemType):
216073        (WebCore::HTMLElement::setItemType):
216074        * html/HTMLElement.h:
216075        * html/HTMLElement.idl:
216076
2160772011-10-25  Dan Bernstein  <mitz@apple.com>
216078
216079        <rdar://problem/10337033> DOMRangeOfString:relativeTo:options has problems with -webkit-user-select: none
216080
216081        Reviewed by Adam Roben.
216082
216083        Test: added to TestWebKitAPI/Tests/mac/DOMRangeOfString.mm
216084
216085        * page/Page.cpp:
216086        (WebCore::Page::rangeOfString): This function was incorrectly adding the StartInSelection option to
216087        the initial search.
216088
2160892011-10-25  Yury Semikhatsky  <yurys@chromium.org>
216090
216091        Web Inspector: redesign workers sidebar pane
216092        https://bugs.webkit.org/show_bug.cgi?id=70815
216093
216094        Changed workers sidebar pane design.
216095
216096        Now there is a link to worker inspector for each dedicated worker created
216097        by inspected page. The sidebar display a link to a page with list of all
216098        shared workers if there one is supported by the WebKit port. Also there
216099        is a checkbox that allows pause all new workers on first statements.
216100
216101        Reviewed by Pavel Feldman.
216102
216103        * inspector/front-end/Settings.js:
216104        * inspector/front-end/StylesSidebarPane.js:
216105        (WebInspector.StylesSidebarPane.prototype._rebuildSectionsForStyleRules):
216106        * inspector/front-end/WorkerManager.js:
216107        (WebInspector.WorkerManager.prototype.openWorkerInspector):
216108        (WebInspector.WorkerManager.prototype._workerInspectorClosing):
216109        * inspector/front-end/WorkersSidebarPane.js:
216110        (WebInspector.WorkerListSidebarPane):
216111        (WebInspector.WorkerListSidebarPane.prototype._workerRemoved):
216112        (WebInspector.WorkerListSidebarPane.prototype._workersCleared):
216113        (WebInspector.WorkerListSidebarPane.prototype._addWorker):
216114        (WebInspector.WorkerListSidebarPane.prototype._workerItemClicked):
216115        (WebInspector.WorkerListSidebarPane.prototype._autoattachToWorkersClicked):
216116        (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink.link.onclick):
216117        (WebInspector.WorkerListSidebarPane.prototype._createSharedWorkersLink):
216118        * inspector/front-end/elementsPanel.css:
216119        * inspector/front-end/inspectorCommon.css:
216120        (.sidebar-separator):
216121        (.sidebar-label):
216122        * inspector/front-end/scriptsPanel.css:
216123        (.dedicated-worker-item):
216124        (#shared-workers-list):
216125        (#pause-workers-checkbox > input):
216126
2161272011-10-25  Nico Weber  <thakis@chromium.org>
216128
216129        [chromium/mac] Fix an ODR violation.
216130        https://bugs.webkit.org/show_bug.cgi?id=70753
216131
216132        Reviewed by Anders Carlsson.
216133
216134        Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
216135        Remove the unused one.
216136
216137        * WebCore.gyp/WebCore.gyp:
216138
2161392011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
216140
216141        Web Inspector: Debugger fails when there is an invalid watch expression.
216142        https://bugs.webkit.org/show_bug.cgi?id=70718
216143
216144        Reviewed by Pavel Feldman.
216145
216146        Test: inspector/debugger/watch-expressions-panel-switch.html
216147
216148        * inspector/front-end/ScriptsPanel.js:
216149        (WebInspector.ScriptsPanel.prototype.evaluateInSelectedCallFrame):
216150
2161512011-10-24  Pavel Podivilov  <podivilov@chromium.org>
216152
216153        Web Inspector: fix empty line handling in source maps.
216154        https://bugs.webkit.org/show_bug.cgi?id=70726
216155
216156        Reviewed by Yury Semikhatsky.
216157
216158        * inspector/front-end/CompilerSourceMapping.js:
216159        (WebInspector.ClosureCompilerSourceMapping.prototype._parseMappings):
216160
2161612011-10-25  Justin Schuh  <jschuh@chromium.org>
216162
216163        Check for empty string in parseArcFlag
216164        https://bugs.webkit.org/show_bug.cgi?id=70763
216165
216166        Reviewed by Dirk Schulze.
216167
216168        Test: svg/path-invalid.html
216169
216170        * svg/SVGParserUtilities.cpp:
216171        (WebCore::parseArcFlag):
216172
2161732011-10-24  Pavel Podivilov  <podivilov@chromium.org>
216174
216175        Web Inspector: keep old source mapping when new one could not be loaded.
216176        https://bugs.webkit.org/show_bug.cgi?id=70729
216177
216178        Reviewed by Yury Semikhatsky.
216179
216180        * inspector/front-end/RawSourceCode.js:
216181        (WebInspector.RawSourceCode.prototype._updateSourceMapping.didCreateSourceMapping):
216182        (WebInspector.RawSourceCode.prototype._updateSourceMapping):
216183        (WebInspector.RawSourceCode.prototype._createSourceMapping.didLoadSourceMapping):
216184
2161852011-10-25  Sachin Puranik  <sachin.puranik@motorola.com>
216186
216187        Double number step=.5 should be considered valid in <input type="number" step=".5">
216188        https://bugs.webkit.org/show_bug.cgi?id=70320
216189
216190        Reviewed by Kent Tamura.
216191
216192        Test: fast/forms/input-step-as-double.html
216193
216194        * html/parser/HTMLParserIdioms.cpp:
216195        (WebCore::parseToDoubleForNumberType): Changed the function to consider
216196        step as valid even if it starts with "."
216197
2161982011-10-25  Alexander Pavlov  <apavlov@chromium.org>
216199
216200        Web Inspector: [Chromium] Audits panel context menu for links not working properly
216201        https://bugs.webkit.org/show_bug.cgi?id=70813
216202
216203        Reviewed by Pavel Feldman.
216204
216205        * inspector/front-end/AuditResultView.js:
216206        (WebInspector.AuditResultView):
216207        (WebInspector.AuditResultView.prototype._contextMenuEventFired):
216208
2162092011-10-25  Vsevolod Vlasov  <vsevik@chromium.org>
216210
216211        Web Inspector: Resources panel: display the current search match index in the toolbar.
216212        https://bugs.webkit.org/show_bug.cgi?id=66050
216213
216214        Reviewed by Pavel Feldman.
216215
216216        Test: http/tests/inspector/search/resources-search-match-index.html
216217
216218        * inspector/front-end/ResourcesPanel.js:
216219        (WebInspector.ResourcesPanel.prototype.performSearch.callback):
216220        (WebInspector.ResourcesPanel.prototype.performSearch):
216221        (WebInspector.ResourcesPanel.prototype._showSearchResult.callback):
216222        (WebInspector.ResourcesPanel.prototype._showSearchResult):
216223        (WebInspector.BaseStorageTreeElement.prototype.get searchMatchesCount):
216224        (WebInspector.ResourcesSearchController):
216225        (WebInspector.ResourcesSearchController.prototype.nextSearchResult):
216226        (WebInspector.ResourcesSearchController.prototype.previousSearchResult):
216227        (WebInspector.ResourcesSearchController.prototype._searchResult):
216228        (WebInspector.SearchResultsTreeElementsTraverser.prototype.next):
216229        (WebInspector.SearchResultsTreeElementsTraverser.prototype.previous):
216230        (WebInspector.SearchResultsTreeElementsTraverser.prototype.matchIndex):
216231        (WebInspector.SearchResultsTreeElementsTraverser.prototype._elementSearchMatchesCount):
216232        (WebInspector.SearchResultsTreeElementsTraverser.prototype._traverseNext):
216233        (WebInspector.SearchResultsTreeElementsTraverser.prototype._traversePrevious):
216234        * inspector/front-end/treeoutline.js:
216235
2162362011-10-25  Andrey Kosyakov  <caseq@chromium.org>
216237
216238        Web Inspector: JS exception in JavaScriptSourceFrame.onShowPopover/showObjectPopover()
216239        https://bugs.webkit.org/show_bug.cgi?id=70812
216240
216241        Reviewed by Pavel Feldman.
216242
216243        Check if highlighted element is present while displaying object popover.
216244
216245        * inspector/front-end/JavaScriptSourceFrame.js:
216246        (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover.showObjectPopover):
216247        (WebInspector.JavaScriptSourceFrame.prototype.onShowPopover):
216248
2162492011-10-21  Nat Duca  <nduca@chromium.org>
216250
216251        [chromium] Route Console::time and Console::timeEnd to trace_event
216252        https://bugs.webkit.org/show_bug.cgi?id=70620
216253
216254        Reviewed by Pavel Feldman.
216255
216256        * page/Console.cpp:
216257        (WebCore::Console::time):
216258        (WebCore::Console::timeEnd):
216259
2162602011-10-21  Andrey Kosyakov  <caseq@chromium.org>
216261
216262        Web Inspector: [Extensions API] allow extensions to specify script to be injected on reload
216263        https://bugs.webkit.org/show_bug.cgi?id=70600
216264
216265        Reviewed by Pavel Feldman.
216266
216267        - change webInspector.inspectedPage.reload() to accept multiple options in an object
216268        - add an ability to inject a script upon a page reload
216269        - return script id in addScriptToEvaluateOnLoad()
216270        - provide removeScriptToEvaluateOnLoad()
216271        - store scripts to evaluate on load in inspector state cookie
216272
216273        Test: inspector/extensions/extensions-reload.html
216274
216275        * inspector/Inspector.json:
216276        * inspector/InspectorPageAgent.cpp:
216277        (WebCore::InspectorPageAgent::InspectorPageAgent):
216278        (WebCore::InspectorPageAgent::restore):
216279        (WebCore::InspectorPageAgent::addScriptToEvaluateOnLoad):
216280        (WebCore::InspectorPageAgent::removeScriptToEvaluateOnLoad):
216281        (WebCore::InspectorPageAgent::removeAllScriptsToEvaluateOnLoad):
216282        (WebCore::InspectorPageAgent::didClearWindowObjectInWorld):
216283        (WebCore::InspectorPageAgent::frameNavigated):
216284        * inspector/InspectorPageAgent.h:
216285        * inspector/front-end/ExtensionAPI.js:
216286        (injectedExtensionAPI.InspectedWindow.prototype.reload):
216287        * inspector/front-end/ExtensionServer.js:
216288        (WebInspector.ExtensionServer.prototype._onReload):
216289        * inspector/front-end/WorkersSidebarPane.js:
216290        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation.callback):
216291        (WebInspector.WorkersSidebarPane.prototype.setInstrumentation):
216292
2162932011-10-24  Pavel Feldman  <pfeldman@google.com>
216294
216295        Web Inspector: print expired message count before remaining messages.
216296        https://bugs.webkit.org/show_bug.cgi?id=70736
216297
216298        Reviewed by Yury Semikhatsky.
216299
216300        * inspector/Inspector-0.1.json:
216301        * inspector/Inspector.json:
216302        * inspector/InspectorConsoleAgent.cpp:
216303        (WebCore::InspectorConsoleAgent::enable):
216304        (WebCore::InspectorConsoleAgent::restore):
216305        * inspector/InspectorConsoleAgent.h:
216306        * inspector/front-end/ConsoleModel.js:
216307
2163082011-10-25  Sheriff Bot  <webkit.review.bot@gmail.com>
216309
216310        Unreviewed, rolling out r98309.
216311        http://trac.webkit.org/changeset/98309
216312        https://bugs.webkit.org/show_bug.cgi?id=70801
216313
216314        Test fails on mac (Requested by benwells on #webkit).
216315
216316        * html/canvas/CanvasRenderingContext2D.cpp:
216317        (WebCore::CanvasRenderingContext2D::fill):
216318        (WebCore::CanvasRenderingContext2D::fillRect):
216319        (WebCore::CanvasRenderingContext2D::drawImage):
216320        (WebCore::CanvasRenderingContext2D::shouldDisplayTransparencyElsewhere):
216321        (WebCore::CanvasRenderingContext2D::fillAndDisplayTransparencyElsewhere):
216322        * html/canvas/CanvasRenderingContext2D.h:
216323
2163242011-10-24  Geoffrey Garen  <ggaren@apple.com>
216325
216326        Chromium build fix: #include window.h for HANDLE.
216327
216328        * platform/graphics/opentype/OpenTypeUtilities.h:
216329
2163302011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
216331
216332        Include ThreadSafeRefCounted.h since the class declared in this header file
216333        inherits from ThreadSafeRefCounted.
216334
216335        * storage/IDBIndexBackendInterface.h:
216336
2163372011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
216338
216339        Fix a typo.
216340
216341        * bindings/v8/JavaScriptCallFrame.h:
216342
2163432011-10-24  Geoffrey Garen  <ggaren@apple.com>
216344
216345        Removed SharedUChar and tightened language around its previous uses
216346        https://bugs.webkit.org/show_bug.cgi?id=70698
216347
216348        Reviewed by David Levin.
216349
216350        - Renamed "threadSafeCopy" and "crossThreadCopy" to "isolatedCopy" because
216351        the former names gave the dangerous misimpression that the resulting object
216352        was thread-safe, which is not true.
216353        
216354        - Updated a bunch of files for header dependency changes, now that
216355        CrossThreadRefCounted is gone.
216356
216357        * ForwardingHeaders/wtf/CrossThreadRefCounted.h: Removed.
216358        * WebCore.exp.in:
216359        * bindings/js/ScriptHeapSnapshot.h:
216360        * bindings/v8/SerializedScriptValue.cpp:
216361        (WebCore::SerializedScriptValue::release):
216362        (WebCore::SerializedScriptValue::SerializedScriptValue):
216363        * css/CSSPropertySourceData.h:
216364        * css/CSSValue.h:
216365        * css/StyleMedia.h:
216366        * css/WebKitCSSMatrix.h:
216367        * dom/QualifiedName.h:
216368        * fileapi/LocalFileSystem.h:
216369        (WebCore::LocalFileSystem::SystemBasePath::operator String):
216370        * history/CachedFrame.h:
216371        * history/CachedPage.h:
216372        * history/HistoryItem.h:
216373        * html/canvas/CanvasStyle.h:
216374        * inspector/InspectorResourceAgent.h:
216375        * loader/FormState.h:
216376        * loader/TextResourceDecoder.h:
216377        * loader/WorkerThreadableLoader.cpp:
216378        (WebCore::WorkerThreadableLoader::MainThreadBridge::MainThreadBridge):
216379        * loader/icon/IconDatabase.cpp:
216380        (WebCore::IconDatabase::open):
216381        (WebCore::IconDatabase::synchronousIconForPageURL):
216382        (WebCore::IconDatabase::synchronousIconURLForPageURL):
216383        (WebCore::IconDatabase::retainIconForPageURL):
216384        (WebCore::IconDatabase::releaseIconForPageURL):
216385        (WebCore::IconDatabase::setIconDataForIconURL):
216386        (WebCore::IconDatabase::setIconURLForPageURL):
216387        (WebCore::IconDatabase::databasePath):
216388        (WebCore::IconDatabase::defaultDatabaseFilename):
216389        (WebCore::ImportedIconURLForPageURLWorkItem::ImportedIconURLForPageURLWorkItem):
216390        (WebCore::ImportedIconDataForPageURLWorkItem::ImportedIconDataForPageURLWorkItem):
216391        * page/ContentSecurityPolicy.h:
216392        * page/Coordinates.h:
216393        (WebCore::Coordinates::isolatedCopy):
216394        * page/Geoposition.h:
216395        (WebCore::Geoposition::isolatedCopy):
216396        * page/SecurityOrigin.cpp:
216397        (WebCore::SecurityOrigin::SecurityOrigin):
216398        (WebCore::SecurityOrigin::isolatedCopy):
216399        * page/SecurityOrigin.h:
216400        * page/animation/AnimationBase.h:
216401        * platform/CrossThreadCopier.cpp:
216402        (WebCore::::copy):
216403        * platform/FileChooser.h:
216404        * platform/KURL.cpp:
216405        (WebCore::KURL::copy):
216406        * platform/cf/SchedulePair.h:
216407        * platform/network/BlobData.cpp:
216408        (WebCore::BlobDataItem::detachFromCurrentThread):
216409        (WebCore::BlobData::detachFromCurrentThread):
216410        * platform/network/HTTPHeaderMap.cpp:
216411        (WebCore::HTTPHeaderMap::copyData):
216412        * platform/network/MIMEHeader.h:
216413        * platform/network/ResourceErrorBase.cpp:
216414        (WebCore::ResourceErrorBase::copy):
216415        * platform/network/ResourceLoadInfo.h:
216416        * platform/network/ResourceRequestBase.cpp:
216417        (WebCore::ResourceRequestBase::copyData):
216418        * platform/network/ResourceResponseBase.cpp:
216419        (WebCore::ResourceResponseBase::copyData):
216420        * platform/sql/SQLValue.cpp:
216421        (WebCore::SQLValue::SQLValue):
216422        (WebCore::SQLValue::string):
216423        * rendering/style/QuotesData.h:
216424        * storage/AbstractDatabase.cpp:
216425        (WebCore::updateGuidVersionMap):
216426        (WebCore::AbstractDatabase::AbstractDatabase):
216427        (WebCore::AbstractDatabase::performOpenAndVerify):
216428        (WebCore::AbstractDatabase::stringIdentifier):
216429        (WebCore::AbstractDatabase::displayName):
216430        (WebCore::AbstractDatabase::fileName):
216431        (WebCore::AbstractDatabase::setExpectedVersion):
216432        (WebCore::AbstractDatabase::getCachedVersion):
216433        * storage/ChangeVersionWrapper.cpp:
216434        (WebCore::ChangeVersionWrapper::ChangeVersionWrapper):
216435        * storage/Database.cpp:
216436        (WebCore::Database::Database):
216437        (WebCore::Database::tableNames):
216438        * storage/DatabaseDetails.h:
216439        * storage/DatabaseTracker.cpp:
216440        (WebCore::DatabaseTracker::setDatabaseDirectoryPath):
216441        (WebCore::DatabaseTracker::databaseDirectoryPath):
216442        (WebCore::DatabaseTracker::trackerDatabasePath):
216443        (WebCore::DatabaseTracker::canEstablishDatabase):
216444        (WebCore::DatabaseTracker::originPath):
216445        (WebCore::DatabaseTracker::fullPathForDatabase):
216446        (WebCore::DatabaseTracker::populateOrigins):
216447        (WebCore::DatabaseTracker::databaseNamesForOrigin):
216448        (WebCore::DatabaseTracker::addOpenDatabase):
216449        (WebCore::DatabaseTracker::setQuota):
216450        (WebCore::DatabaseTracker::recordCreatingDatabase):
216451        (WebCore::DatabaseTracker::recordDeletingDatabase):
216452        (WebCore::DatabaseTracker::recordDeletingOrigin):
216453        (WebCore::DatabaseTracker::scheduleNotifyDatabaseChanged):
216454        * storage/OriginQuotaManager.cpp:
216455        (WebCore::OriginQuotaManager::trackOrigin):
216456        (WebCore::OriginQuotaManager::addDatabase):
216457        * storage/SQLError.h:
216458        (WebCore::SQLError::message):
216459        (WebCore::SQLError::SQLError):
216460        * storage/SQLResultSetRowList.h:
216461        * storage/SQLStatement.cpp:
216462        (WebCore::SQLStatement::SQLStatement):
216463        * storage/StorageAreaSync.cpp:
216464        (WebCore::StorageAreaSync::StorageAreaSync):
216465        (WebCore::StorageAreaSync::syncTimerFired):
216466        * storage/StorageAreaSync.h:
216467        * storage/StorageMap.cpp:
216468        (WebCore::StorageMap::importItem):
216469        * storage/StorageNamespaceImpl.cpp:
216470        (WebCore::StorageNamespaceImpl::StorageNamespaceImpl):
216471        * storage/StorageSyncManager.cpp:
216472        (WebCore::StorageSyncManager::StorageSyncManager):
216473        * storage/StorageTracker.cpp:
216474        (WebCore::StorageTracker::StorageTracker):
216475        (WebCore::StorageTracker::syncImportOriginIdentifiers):
216476        (WebCore::StorageTracker::syncFileSystemAndTrackerDatabase):
216477        (WebCore::StorageTracker::setOriginDetails):
216478        (WebCore::StorageTracker::willDeleteAllOrigins):
216479        * svg/SVGPathSeg.h:
216480        * workers/DefaultSharedWorkerRepository.cpp:
216481        (WebCore::SharedWorkerProxy::url):
216482        (WebCore::SharedWorkerProxy::name):
216483        (WebCore::SharedWorkerProxy::SharedWorkerProxy):
216484        (WebCore::DefaultSharedWorkerRepository::getProxy):
216485        * workers/SharedWorkerThread.cpp:
216486        (WebCore::SharedWorkerThread::SharedWorkerThread):
216487        * workers/WorkerMessagingProxy.cpp:
216488        (WebCore::WorkerExceptionTask::WorkerExceptionTask):
216489        (WebCore::PostMessageToPageInspectorTask::PostMessageToPageInspectorTask):
216490        * workers/WorkerRunLoop.cpp:
216491        (WebCore::WorkerRunLoop::postTaskForMode):
216492        (WebCore::WorkerRunLoop::Task::Task):
216493        * workers/WorkerThread.cpp:
216494        (WebCore::WorkerThreadStartupData::WorkerThreadStartupData):
216495
2164962011-10-24  Adam Barth  <abarth@webkit.org>
216497
216498        Remove empty directory.
216499
216500        * p2p: Removed.
216501
2165022011-10-24  Shawn Singh  <shawnsingh@chromium.org>
216503
216504        [chromium] Refactor painting/updating/drawing code.
216505        https://bugs.webkit.org/show_bug.cgi?id=70057
216506
216507        Reviewed by James Robinson.
216508
216509        This refactoring separates the "early exits" from the actual loop
216510        that draws layers. As part of this, it was also appropriate to
216511        clean up the way that masks and replicas are dealt with when
216512        painting and updating. The purpose of all this is to make things
216513        easier to test, and for a scissoring optimization that needs to
216514        know exatly what gets drawn. Existing layout tests were able to
216515        verify the refactoring did not change behavior.
216516
216517        * platform/graphics/chromium/LayerRendererChromium.cpp:
216518        (WebCore::LayerRendererChromium::drawLayersOntoRenderSurfaces):
216519        (WebCore::LayerRendererChromium::drawLayersInternal):
216520        (WebCore::LayerRendererChromium::drawLayer):
216521        * platform/graphics/chromium/LayerRendererChromium.h:
216522        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
216523        (WebCore::CCLayerTreeHost::paintMaskAndReplicaForRenderSurface):
216524        (WebCore::CCLayerTreeHost::paintLayerContents):
216525        (WebCore::CCLayerTreeHost::updateCompositorResources):
216526        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
216527        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.cpp:
216528        (WebCore::layerShouldBeAppended):
216529        (WebCore::calculateDrawTransformsAndVisibilityInternal):
216530        * platform/graphics/chromium/cc/CCLayerTreeHostCommon.h:
216531        (WebCore::CCLayerTreeHostCommon::calculateVisibleLayerRect):
216532
2165332011-10-24  Luke Macpherson   <macpherson@chromium.org>
216534
216535        REGRESSION(80893): HTML5 spec takes 2s longer to load due to time spent in CSSStyleSelector
216536        https://bugs.webkit.org/show_bug.cgi?id=68944
216537
216538        Reviewed by Antti Koivisto.
216539
216540        No new tests / Covered by existing tests.
216541
216542        Removes all virtual dispatch from CSSStyleApplyProperty by converting to use static function pointers for dispatch.
216543        Uses class templates instead of function templates to allow default parameters and also to share parameter declarations across static functions.
216544        All constructor parameters become template parameters. This improves the level of compiler optimization that can be achieved.
216545        Overall this achieved a ~2% overall speedup on run-safari PerformanceTests/Parser/html5-full-render.html,
216546        and profiling showed a reduction in the time spent inside CSSStyleSelector::applyProperty().
216547
216548        * css/CSSStyleApplyProperty.cpp:
216549        (WebCore::ApplyPropertyExpanding::applyInheritValue):
216550        (WebCore::ApplyPropertyExpanding::applyInitialValue):
216551        (WebCore::ApplyPropertyExpanding::applyValue):
216552        (WebCore::ApplyPropertyExpanding::createHandler):
216553        (WebCore::ApplyPropertyDefaultBase::setValue):
216554        (WebCore::ApplyPropertyDefaultBase::value):
216555        (WebCore::ApplyPropertyDefaultBase::initial):
216556        (WebCore::ApplyPropertyDefaultBase::applyInheritValue):
216557        (WebCore::ApplyPropertyDefaultBase::applyInitialValue):
216558        (WebCore::ApplyPropertyDefaultBase::applyValue):
216559        (WebCore::ApplyPropertyDefaultBase::createHandler):
216560        (WebCore::ApplyPropertyDefault::setValue):
216561        (WebCore::ApplyPropertyDefault::applyValue):
216562        (WebCore::ApplyPropertyDefault::createHandler):
216563        (WebCore::ApplyPropertyStyleImage::applyValue):
216564        (WebCore::ApplyPropertyStyleImage::createHandler):
216565        (WebCore::ApplyPropertyAuto::setValue):
216566        (WebCore::ApplyPropertyAuto::value):
216567        (WebCore::ApplyPropertyAuto::hasAuto):
216568        (WebCore::ApplyPropertyAuto::setAuto):
216569        (WebCore::ApplyPropertyAuto::applyInheritValue):
216570        (WebCore::ApplyPropertyAuto::applyInitialValue):
216571        (WebCore::ApplyPropertyAuto::applyValue):
216572        (WebCore::ApplyPropertyAuto::createHandler):
216573        (WebCore::defaultInitialColor):
216574        (WebCore::ApplyPropertyColor::applyInheritValue):
216575        (WebCore::ApplyPropertyColor::applyInitialValue):
216576        (WebCore::ApplyPropertyColor::applyValue):
216577        (WebCore::ApplyPropertyColor::createHandler):
216578        (WebCore::ApplyPropertyDirection::applyValue):
216579        (WebCore::ApplyPropertyDirection::createHandler):
216580        (WebCore::ApplyPropertyLength::setValue):
216581        (WebCore::ApplyPropertyLength::applyValue):
216582        (WebCore::ApplyPropertyLength::createHandler):
216583        (WebCore::ApplyPropertyString::setValue):
216584        (WebCore::ApplyPropertyString::applyValue):
216585        (WebCore::ApplyPropertyString::createHandler):
216586        (WebCore::ApplyPropertyBorderRadius::setValue):
216587        (WebCore::ApplyPropertyBorderRadius::applyValue):
216588        (WebCore::ApplyPropertyBorderRadius::createHandler):
216589        (WebCore::ApplyPropertyFillLayer::applyInheritValue):
216590        (WebCore::ApplyPropertyFillLayer::applyInitialValue):
216591        (WebCore::ApplyPropertyFillLayer::applyValue):
216592        (WebCore::ApplyPropertyFillLayer::createHandler):
216593        (WebCore::ApplyPropertyComputeLength::setValue):
216594        (WebCore::ApplyPropertyComputeLength::applyValue):
216595        (WebCore::ApplyPropertyComputeLength::createHandler):
216596        (WebCore::ApplyPropertyFont::applyInheritValue):
216597        (WebCore::ApplyPropertyFont::applyInitialValue):
216598        (WebCore::ApplyPropertyFont::applyValue):
216599        (WebCore::ApplyPropertyFont::createHandler):
216600        (WebCore::ApplyPropertyFontWeight::applyValue):
216601        (WebCore::ApplyPropertyFontWeight::createHandler):
216602        (WebCore::ApplyPropertyCounter::emptyFunction):
216603        (WebCore::ApplyPropertyCounter::applyValue):
216604        (WebCore::ApplyPropertyCounter::createHandler):
216605        (WebCore::ApplyPropertyCursor::applyInheritValue):
216606        (WebCore::ApplyPropertyCursor::applyInitialValue):
216607        (WebCore::ApplyPropertyCursor::applyValue):
216608        (WebCore::ApplyPropertyCursor::createHandler):
216609        (WebCore::ApplyPropertyTextEmphasisStyle::applyInheritValue):
216610        (WebCore::ApplyPropertyTextEmphasisStyle::applyInitialValue):
216611        (WebCore::ApplyPropertyTextEmphasisStyle::applyValue):
216612        (WebCore::ApplyPropertyTextEmphasisStyle::createHandler):
216613        (WebCore::ApplyPropertyAnimation::setValue):
216614        (WebCore::ApplyPropertyAnimation::value):
216615        (WebCore::ApplyPropertyAnimation::test):
216616        (WebCore::ApplyPropertyAnimation::clear):
216617        (WebCore::ApplyPropertyAnimation::initial):
216618        (WebCore::ApplyPropertyAnimation::map):
216619        (WebCore::ApplyPropertyAnimation::accessAnimations):
216620        (WebCore::ApplyPropertyAnimation::animations):
216621        (WebCore::ApplyPropertyAnimation::applyInheritValue):
216622        (WebCore::ApplyPropertyAnimation::applyInitialValue):
216623        (WebCore::ApplyPropertyAnimation::applyValue):
216624        (WebCore::ApplyPropertyAnimation::createHandler):
216625        (WebCore::ApplyPropertyOutlineStyle::applyInheritValue):
216626        (WebCore::ApplyPropertyOutlineStyle::applyInitialValue):
216627        (WebCore::ApplyPropertyOutlineStyle::applyValue):
216628        (WebCore::ApplyPropertyOutlineStyle::createHandler):
216629        (WebCore::CSSStyleApplyProperty::CSSStyleApplyProperty):
216630        * css/CSSStyleApplyProperty.h:
216631        (WebCore::PropertyHandler::PropertyHandler):
216632        (WebCore::PropertyHandler::applyInheritValue):
216633        (WebCore::PropertyHandler::applyInitialValue):
216634        (WebCore::PropertyHandler::applyValue):
216635        (WebCore::PropertyHandler::isValid):
216636        (WebCore::PropertyHandler::inheritFunction):
216637        (WebCore::PropertyHandler::initialFunction):
216638        (WebCore::PropertyHandler::applyFunction):
216639        (WebCore::CSSStyleApplyProperty::propertyHandler):
216640        (WebCore::CSSStyleApplyProperty::setPropertyHandler):
216641        * css/CSSStyleSelector.cpp:
216642        (WebCore::CSSStyleSelector::applyProperty):
216643        * rendering/style/RenderStyle.h:
216644        (WebCore::InheritedFlags::invalidColor):
216645
2166462011-10-24  Ben Wells  <benwells@chromium.org>
216647
216648        Canvas drawImage with SourceIn, DestinationIn, SourceOut, DestinationAtop and Copy have errors
216649        https://bugs.webkit.org/show_bug.cgi?id=66920
216650
216651        Reviewed by James Robinson.
216652
216653        Test: fast/canvas/canvas-composite-image.html
216654
216655        Use the same method as fills to handle composited drawImage calls that will affect the whole
216656        canvas. To do this code used when doing fills has been factored into seperate functions and
216657        used by drawImage. Some functions used to do these types of operations have also been renamed.
216658
216659        * html/canvas/CanvasRenderingContext2D.cpp:
216660        (WebCore::isFullCanvasCompositeMode):
216661        (WebCore::CanvasRenderingContext2D::fill):
216662        (WebCore::CanvasRenderingContext2D::fillRect):
216663        (WebCore::CanvasRenderingContext2D::drawImage):
216664        (WebCore::CanvasRenderingContext2D::calculateCompositingBufferRect):
216665        (WebCore::CanvasRenderingContext2D::createCompositingBuffer):
216666        (WebCore::CanvasRenderingContext2D::compositeBuffer):
216667        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedDrawImage):
216668        (WebCore::CanvasRenderingContext2D::fullCanvasCompositedFill):
216669        * html/canvas/CanvasRenderingContext2D.h:
216670
2166712011-10-24  Sheriff Bot  <webkit.review.bot@gmail.com>
216672
216673        Unreviewed, rolling out r98294 and r98306.
216674        http://trac.webkit.org/changeset/98294
216675        http://trac.webkit.org/changeset/98306
216676        https://bugs.webkit.org/show_bug.cgi?id=70790
216677
216678        the first patch broke chromium-mac and the second gclient
216679        (Requested by jchaffraix on #webkit).
216680
216681        * WebCore.gyp/WebCore.gyp:
216682
2166832011-10-24  Ryosuke Niwa  <rniwa@webkit.org>
216684
216685        Build fix after r98300.
216686
216687        * WebCore.gypi:
216688        * WebCore.pro:
216689
2166902011-10-24  Anders Carlsson  <andersca@apple.com>
216691
216692        It should be possible for Widget subclasses to control whether transforms affect the frame rect
216693        https://bugs.webkit.org/show_bug.cgi?id=70787
216694
216695        Reviewed by Sam Weinig.
216696
216697        Currently RenderWidget sets the frame rect of it's hosted widget to the bounding box of the transformed
216698        content box rect (unless the Widget is a frame view). It should be possible for Widget subclasses to override
216699        this behavior and have the frame rect set to the absolute content box without any transforms applied.
216700
216701        * platform/Widget.h:
216702        (WebCore::Widget::transformsAffectFrameRect):
216703        Add new member function.
216704
216705        * rendering/RenderWidget.cpp:
216706        (WebCore::RenderWidget::updateWidgetGeometry):
216707        Move shared code from setWidget and updateWidgetPosition out into a new function. If transformsAffectFrameRect returns 
216708        false, just set the frame rect to the absolute content box.
216709
216710        (WebCore::RenderWidget::setWidget):
216711        (WebCore::RenderWidget::updateWidgetPosition):
216712        Call updateWidgetGeometry.
216713
216714        * rendering/RenderWidget.h:
216715
2167162011-10-24  Arko Saha  <arko@motorola.com>
216717
216718        Microdata: Add itemprop, itemref, itemvalue attributes.
216719        https://bugs.webkit.org/show_bug.cgi?id=69839
216720
216721        Reviewed by Ryosuke Niwa.
216722
216723        Tests: fast/dom/MicroData/itemprop-add-remove-tokens.html
216724               fast/dom/MicroData/itemprop-for-an-element-must-be-correct.html
216725               fast/dom/MicroData/itemprop-must-be-read-only.html
216726               fast/dom/MicroData/itemprop-reflected-by-itemProp-property.html
216727               fast/dom/MicroData/itemref-add-remove-tokens.html
216728               fast/dom/MicroData/itemref-attribute-reflected-by-itemRef-property.html
216729               fast/dom/MicroData/itemref-for-an-element-must-be-correct.html
216730               fast/dom/MicroData/itemref-must-be-read-only.html
216731               fast/dom/MicroData/itemvalue-reflects-data-attr-on-object-element.html
216732               fast/dom/MicroData/itemvalue-reflects-href-attr.html
216733               fast/dom/MicroData/itemvalue-reflects-src-attribute-on-img-element.html
216734               fast/dom/MicroData/itemvalue-reflects-the-content-attr-on-meta-element.html
216735               fast/dom/MicroData/itemvalue-reflects-the-src-attr.html
216736               fast/dom/MicroData/itemvalue-returns-element-itself.html
216737               fast/dom/MicroData/itemvalue-returns-null.html
216738               fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-001.html
216739               fast/dom/MicroData/itemvalue-throws-excpetion-onsetting-002.html
216740
216741        * CMakeLists.txt:
216742        * GNUmakefile.list.am:
216743        * WebCore.gypi:
216744        * WebCore.pro:
216745        * WebCore.vcproj/WebCore.vcproj:
216746        * bindings/js/JSHTMLElementCustom.cpp:
216747        (WebCore::toJS):
216748        (WebCore::JSHTMLElement::itemValue):
216749        (WebCore::JSHTMLElement::setItemValue):
216750        * bindings/v8/custom/V8HTMLElementCustom.cpp:
216751        (WebCore::toV8Object):
216752        (WebCore::V8HTMLElement::itemValueAccessorGetter):
216753        (WebCore::V8HTMLElement::itemValueAccessorSetter):
216754        * dom/MicroDataItemList.cpp:
216755        * html/HTMLAnchorElement.cpp:
216756        (WebCore::HTMLAnchorElement::itemValueText):
216757        (WebCore::HTMLAnchorElement::setItemValueText):
216758        * html/HTMLAnchorElement.h:
216759        * html/HTMLAreaElement.cpp:
216760        (WebCore::HTMLAreaElement::itemValueText):
216761        (WebCore::HTMLAreaElement::setItemValueText):
216762        * html/HTMLAreaElement.h:
216763        * html/HTMLAttributeNames.in:
216764        * html/HTMLElement.cpp:
216765        (WebCore::HTMLElement::parseMappedAttribute):
216766        (WebCore::HTMLElement::itemProp): Returns element's itemprop content attribute.
216767        (WebCore::HTMLElement::setItemProp): Sets itemprop value on changing elemet's
216768        itemprop attribute.
216769        (WebCore::HTMLElement::itemRef): Returns element's itemref content attribute.
216770        (WebCore::HTMLElement::setItemRef): Sets itemref value on changing elemet's
216771        itemref attribute.
216772        (WebCore::HTMLElement::setItemValue): Sets element's itemvalue. If the element has no
216773        itemprop attribute or if element has an itemscope attribute, it throws INVALID_ACCESS_ERR
216774        exception.
216775        (WebCore::HTMLElement::itemValue): Returns the elements itemvalue.
216776
216777        If the element has no itemprop attribute it returns null.
216778        If the element has an itemscope attribute, it returns the element itself.
216779        If the element is a meta element: It acts as it would if it was reflecting the element's
216780        content content attribute.
216781        If the element is an audio, embed, iframe, img, source, track, or video element: It acts
216782        as it would if it was reflecting the element's src content attribute.
216783        If the element is an a, area, or link element: It act as it would if it was reflecting the
216784        href content attribute.
216785        If the element is an object element: It acts as  it would if it was reflecting the element's
216786        data content attribute.
216787
216788        (WebCore::HTMLElement::itemValueText):
216789        (WebCore::HTMLElement::setItemValueText):
216790        * html/HTMLElement.h:
216791        * html/HTMLElement.idl:
216792        * html/HTMLEmbedElement.cpp:
216793        (WebCore::HTMLEmbedElement::itemValueText):
216794        (WebCore::HTMLEmbedElement::setItemValueText):
216795        * html/HTMLEmbedElement.h:
216796        * html/HTMLIFrameElement.cpp:
216797        (WebCore::HTMLIFrameElement::itemValueText):
216798        (WebCore::HTMLIFrameElement::setItemValueText):
216799        * html/HTMLIFrameElement.h:
216800        * html/HTMLImageElement.cpp:
216801        (WebCore::HTMLImageElement::itemValueText):
216802        (WebCore::HTMLImageElement::setItemValueText):
216803        * html/HTMLImageElement.h:
216804        * html/HTMLLinkElement.cpp:
216805        (WebCore::HTMLLinkElement::itemValueText):
216806        (WebCore::HTMLLinkElement::setItemValueText):
216807        * html/HTMLLinkElement.h:
216808        * html/HTMLMediaElement.cpp:
216809        (WebCore::HTMLMediaElement::itemValueText):
216810        (WebCore::HTMLMediaElement::setItemValueText):
216811        * html/HTMLMediaElement.h:
216812        * html/HTMLMetaElement.cpp:
216813        (WebCore::HTMLMetaElement::itemValueText):
216814        (WebCore::HTMLMetaElement::setItemValueText):
216815        * html/HTMLMetaElement.h:
216816        * html/HTMLObjectElement.cpp:
216817        (WebCore::HTMLObjectElement::itemValueText):
216818        (WebCore::HTMLObjectElement::setItemValueText):
216819        * html/HTMLObjectElement.h:
216820        * html/HTMLSourceElement.cpp:
216821        (WebCore::HTMLSourceElement::itemValueText):
216822        (WebCore::HTMLSourceElement::setItemValueText):
216823        * html/HTMLSourceElement.h:
216824        * html/HTMLTrackElement.cpp:
216825        (WebCore::HTMLTrackElement::itemValueText):
216826        (WebCore::HTMLTrackElement::setItemValueText):
216827        * html/HTMLTrackElement.h:
216828        * html/MicroDataItemValue.cpp: Added.
216829        (WebCore::MicroDataItemValue::MicroDataItemValue):
216830        (WebCore::MicroDataItemValue::createFromString):
216831        (WebCore::MicroDataItemValue::createFromNode):
216832        * html/MicroDataItemValue.h: Added.
216833        (WebCore::MicroDataItemValue::isNode):
216834        (WebCore::MicroDataItemValue::getNode):
216835        (WebCore::MicroDataItemValue::getString):
216836
2168372011-10-24  Joseph Pecoraro  <joepeck@webkit.org>
216838
216839        Remove unused instance variable
216840        https://bugs.webkit.org/show_bug.cgi?id=70750
216841
216842        Reviewed by Dimitri Glazkov.
216843
216844        * rendering/RenderTextControl.h:
216845
2168462011-10-24  Nico Weber  <thakis@chromium.org>
216847
216848        [chromium/mac] Fix an ODR violation.
216849        https://bugs.webkit.org/show_bug.cgi?id=70753
216850
216851        Reviewed by Anders Carlsson.
216852
216853        Both ScrollAnimatorNone and ScrollAnimatorMac define ScrollAnimator::create() on OS X.
216854        Remove the unused one.
216855
216856        * WebCore.gyp/WebCore.gyp:
216857
2168582011-10-24  Tim Horton  <timothy_horton@apple.com>
216859
216860        feColorMatrix doesn't use the correct default "matrix" type when no type attribute is specified
216861        https://bugs.webkit.org/show_bug.cgi?id=70035
216862        <rdar://problem/10280177>
216863
216864        Reviewed by Nikolas Zimmermann.
216865
216866        Make feColorMatrix's type attribute be "matrix" by default.
216867
216868        Test: svg/filters/feColorMatrix-default-type.svg
216869
216870        * svg/SVGFEColorMatrixElement.cpp:
216871        (WebCore::SVGFEColorMatrixElement::SVGFEColorMatrixElement):
216872
2168732011-10-24  Joshua Bell  <jsbell@chromium.org>
216874
216875        Unbreak binding generation tests
216876        https://bugs.webkit.org/show_bug.cgi?id=70768
216877
216878        Reviewed by Darin Adler.
216879
216880        Update the expected output of V8 binding tests to match
216881        results c/o https://bugs.webkit.org/show_bug.cgi?id=70065
216882
216883        * bindings/scripts/test/V8/V8TestObj.cpp:
216884        (WebCore::TestObjInternal::idbKeyCallback):
216885
2168862011-10-21  Nat Duca  <nduca@chromium.org>
216887
216888        [chromium] Add isTraceEventEnabled to PlatformSupport.
216889        https://bugs.webkit.org/show_bug.cgi?id=70618
216890
216891        Reviewed by Darin Fisher.
216892
216893        * platform/chromium/PlatformSupport.h:
216894
2168952011-10-24  Mihnea Ovidenie  <mihnea@adobe.com>
216896
216897        Use StringBuilder in CSSRuleList::rulesText()/CSSSelectorList::selectorsText()
216898        https://bugs.webkit.org/show_bug.cgi?id=70746
216899
216900        Reviewed by Tony Chang.
216901
216902        Covered by existing tests.
216903
216904        * css/CSSRuleList.cpp:
216905        (WebCore::CSSRuleList::rulesText):
216906        * css/CSSSelectorList.cpp:
216907        (WebCore::CSSSelectorList::selectorsText):
216908        * css/WebKitCSSKeyframesRule.cpp:
216909        (WebCore::WebKitCSSKeyframesRule::cssText): Use CSSRuleList::rulesText() method instead of explicit loop.
216910
2169112011-10-24  Michael Saboff  <msaboff@apple.com>
216912
216913        WebKit doesn't build with recent changes to libdispatch
216914        https://bugs.webkit.org/show_bug.cgi?id=70737
216915
216916        Added initialization for new WebKitSystemInterface function 
216917        CreateVMPressureDispatchOnMainQueue.  Changed MemoryPressureHandler::install
216918        to use new function.
216919
216920        Reviewed by Geoffrey Garen.
216921
216922        No new tests.  Moved functionality to WebKitSystemInterface.
216923
216924        * WebCore.exp.in:
216925        * platform/mac/MemoryPressureHandlerMac.mm:
216926        (WebCore::MemoryPressureHandler::install):
216927        * platform/mac/WebCoreSystemInterface.h:
216928        * platform/mac/WebCoreSystemInterface.mm:
216929
2169302011-10-24  Joshua Bell  <jsbell@chromium.org>
216931
216932        IndexedDB: Throw DATA_ERR on invalid keys, remove null key support
216933        https://bugs.webkit.org/show_bug.cgi?id=70065
216934
216935        Reviewed by Tony Chang.
216936
216937        Part 1 of a two-sided commit. Renames IDBKey::NullType to
216938        IDBKey::InvalidType. JS binding yields this type rather
216939        than throwing immediately so the correct exception type can
216940        be raised. Checks for invalid keys added to front-end classes.
216941
216942        * bindings/js/JSIDBKeyCustom.cpp:
216943        (WebCore::toJS):
216944        * bindings/scripts/CodeGeneratorV8.pm:
216945        (TypeCanFailConversion):
216946        * bindings/v8/IDBBindingUtilities.cpp:
216947        (WebCore::createIDBKeyFromValue):
216948        * bindings/v8/custom/V8IDBKeyCustom.cpp:
216949        (WebCore::toV8):
216950        * storage/IDBCursor.cpp:
216951        (WebCore::IDBCursor::continueFunction):
216952        * storage/IDBFactory.cpp:
216953        (WebCore::IDBFactory::cmp):
216954        * storage/IDBIndex.cpp:
216955        (WebCore::IDBIndex::get):
216956        (WebCore::IDBIndex::getKey):
216957        * storage/IDBKey.cpp:
216958        (WebCore::IDBKey::IDBKey):
216959        (WebCore::IDBKey::compare):
216960        * storage/IDBKey.h:
216961        (WebCore::IDBKey::createInvalid):
216962        * storage/IDBKeyRange.cpp:
216963        (WebCore::IDBKeyRange::only):
216964        (WebCore::IDBKeyRange::lowerBound):
216965        (WebCore::IDBKeyRange::upperBound):
216966        (WebCore::IDBKeyRange::bound):
216967        * storage/IDBKeyRange.h:
216968        (WebCore::IDBKeyRange::lowerBound):
216969        (WebCore::IDBKeyRange::upperBound):
216970        (WebCore::IDBKeyRange::bound):
216971        * storage/IDBKeyRange.idl:
216972        * storage/IDBLevelDBCoding.cpp:
216973        (WebCore::IDBLevelDBCoding::encodeIDBKey):
216974        (WebCore::IDBLevelDBCoding::decodeIDBKey):
216975        * storage/IDBObjectStore.cpp:
216976        (WebCore::IDBObjectStore::get):
216977        (WebCore::IDBObjectStore::add):
216978        (WebCore::IDBObjectStore::put):
216979        (WebCore::IDBObjectStore::deleteFunction):
216980        * storage/IDBObjectStoreBackendImpl.cpp:
216981        (WebCore::IDBObjectStoreBackendImpl::put):
216982        (WebCore::IDBObjectStoreBackendImpl::putInternal):
216983        (WebCore::IDBObjectStoreBackendImpl::deleteFunction):
216984        * storage/IDBSQLiteBackingStore.cpp:
216985        (WebCore::whereSyntaxForKey):
216986        (WebCore::bindKeyToQuery):
216987        (WebCore::lowerCursorWhereFragment):
216988        (WebCore::upperCursorWhereFragment):
216989        (WebCore::bindKeyToQueryWithNulls):
216990        (WebCore::keyFromQuery):
216991
2169922011-10-24  Alok Priyadarshi  <alokp@chromium.org>
216993
216994        [chromium] Make accelerated drawing work with threaded compositing
216995        https://bugs.webkit.org/show_bug.cgi?id=70656
216996
216997        Reviewed by James Robinson.
216998
216999        Make sure that the compositor context is not used outside LayerTextureUpdater::updateTextureRect().
217000        Created a FrameBuffer class that wraps skia gpu canvas and manages GL resources.
217001
217002        * platform/graphics/chromium/ContentLayerChromium.cpp:
217003        (WebCore::ContentLayerChromium::createTextureUpdater):
217004        * platform/graphics/chromium/LayerTextureUpdaterCanvas.cpp:
217005        (WebCore::FrameBuffer::FrameBuffer::FrameBuffer):
217006        (WebCore::FrameBuffer::FrameBuffer::~FrameBuffer):
217007        (WebCore::FrameBuffer::FrameBuffer::initialize):
217008        (WebCore::LayerTextureUpdaterSkPicture::LayerTextureUpdaterSkPicture):
217009        (WebCore::LayerTextureUpdaterSkPicture::~LayerTextureUpdaterSkPicture):
217010        (WebCore::LayerTextureUpdaterSkPicture::prepareToUpdate):
217011        (WebCore::LayerTextureUpdaterSkPicture::updateTextureRect):
217012        * platform/graphics/chromium/LayerTextureUpdaterCanvas.h:
217013        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
217014        (WebCore::CCLayerTreeHost::initialize):
217015
2170162011-10-24  Adam Klein  <adamk@chromium.org>
217017
217018        Optimize Node::isInShadowTree to execute in constant-time
217019        https://bugs.webkit.org/show_bug.cgi?id=67686
217020
217021        Reviewed by Dimitri Glazkov.
217022
217023        No expected change in behavior, so no new tests.
217024
217025        * dom/Node.cpp:
217026        (WebCore::Node::isInShadowTree):
217027
2170282011-10-24  Nat Duca  <nduca@chromium.org>
217029
217030        [chromium] Expose WebThread::postDelayedTask to CCThread
217031        https://bugs.webkit.org/show_bug.cgi?id=70712
217032
217033        Reviewed by James Robinson.
217034
217035        * platform/graphics/chromium/cc/CCThread.h:
217036
2170372011-10-24  Levi Weintraub  <leviw@chromium.org>
217038
217039        <svg> fails to use explicit width and height inside <html> inside IFRAME
217040        https://bugs.webkit.org/show_bug.cgi?id=64823
217041
217042        Reviewed by Nikolas Zimmermann.
217043
217044        Checking that embedded SVG is in an SVG document before negotiating size
217045        with the host document.
217046
217047        Test: svg/as-object/svg-embedded-in-html-in-iframe.html
217048
217049        * rendering/svg/RenderSVGRoot.cpp:
217050        (WebCore::isEmbeddedThroughFrameContainingSVGDocument):
217051        (WebCore::RenderSVGRoot::computeReplacedLogicalWidth):
217052        (WebCore::RenderSVGRoot::computeReplacedLogicalHeight):
217053
2170542011-10-24  Rafael Weinstein  <rafaelw@chromium.org>
217055
217056        Node::registeredMutationObserversOfType should be prefixed by "get"
217057        https://bugs.webkit.org/show_bug.cgi?id=70359
217058
217059        Reviewed by Ojan Vafai.
217060
217061        This change renames Node::registeredMutationObserversOfType to
217062        Node::getRegisteredMutationObserversOfType per the WebKit style guide.
217063
217064        No tests needed as the change is only method renaming.
217065
217066        * dom/CharacterData.cpp:
217067        (WebCore::CharacterData::dispatchModifiedEvent):
217068        * dom/ChildListMutationScope.cpp:
217069        (WebCore::MutationAccumulationRouter::MutationAccumulationRouter::incrementScopingLevel):
217070        * dom/Element.cpp:
217071        (WebCore::enqueueAttributesMutationRecord):
217072        * dom/Node.cpp:
217073        (WebCore::Node::getRegisteredMutationObserversOfType):
217074        * dom/Node.h:
217075
2170762011-10-24  Mark Hahnenberg  <mhahnenberg@apple.com>
217077
217078        Rename static getOwnPropertySlot to getOwnPropertySlotByIndex
217079        https://bugs.webkit.org/show_bug.cgi?id=70271
217080
217081        Reviewed by Darin Adler.
217082
217083        No new tests.
217084
217085        Renaming versions of getOwnPropertySlot that use an unsigned as the property
217086        name to "getOwnPropertySlotByIndex" in preparation for adding them to the 
217087        MethodTable, which requires unique names for each method.
217088
217089        * bindings/js/SerializedScriptValue.cpp:
217090        (WebCore::CloneSerializer::getSparseIndex):
217091        * bindings/scripts/CodeGeneratorJS.pm:
217092        (GenerateHeader):
217093        (GenerateImplementation):
217094        * bridge/runtime_array.cpp:
217095        (JSC::RuntimeArray::getOwnPropertySlotVirtual):
217096        (JSC::RuntimeArray::getOwnPropertySlotByIndex):
217097        * bridge/runtime_array.h:
217098
2170992011-10-24  Joshua Bell  <jsbell@chromium.org>
217100
217101        IndexedDB add should fail adding an inline and passed key simultaneously
217102        https://bugs.webkit.org/show_bug.cgi?id=58598
217103
217104        Reviewed by Tony Chang.
217105
217106        Test: storage/indexeddb/mozilla/key-requirements-inline-and-passed.html
217107
217108        Implement the spec clause: passing a key into add() or put() when
217109        the object store has a key path ("inline key") is an error.
217110
217111        * storage/IDBObjectStoreBackendImpl.cpp:
217112        (WebCore::IDBObjectStoreBackendImpl::put):
217113
2171142011-10-24  Simon Fraser  <simon.fraser@apple.com>
217115
217116        Improve debug compositing border colors
217117        https://bugs.webkit.org/show_bug.cgi?id=70742
217118
217119        Reviewed by Dean Jackson.
217120
217121        Improve the appearance of the debug borders used to indicate compositing:
217122        1. Use green for normal layers, orange for tiled layers
217123        2. Make the repaint counter translucent
217124        3. Change the color of the repaint counter to show when accelerated drawing is enabled.
217125
217126        * platform/graphics/GraphicsLayer.cpp:
217127        (WebCore::GraphicsLayer::updateDebugIndicators):
217128        * platform/graphics/mac/WebLayer.mm:
217129        (drawLayerContents):
217130
2171312011-10-24  Carlos Garcia Campos  <cgarcia@igalia.com>
217132
217133        [GTK] Fix make distcheck build
217134        https://bugs.webkit.org/show_bug.cgi?id=69745
217135
217136        Reviewed by Martin Robinson.
217137
217138        * GNUmakefile.am:
217139        * GNUmakefile.list.am:
217140
2171412011-10-24  Alexander Pavlov  <apavlov@chromium.org>
217142
217143        Web Inspector: [Styles] Adding a new style rule breaks things
217144        https://bugs.webkit.org/show_bug.cgi?id=70721
217145
217146        Reviewed by Pavel Feldman.
217147
217148        We had used to swap BlankStylePropertiesSection prototype and recently got rid of this hack,
217149        but still had dependencies on the old behavior.
217150
217151        * inspector/front-end/StylesSidebarPane.js:
217152        (WebInspector.StylesSidebarPane.prototype._refreshStyleRules):
217153        (WebInspector.ComputedStylePropertiesSection.prototype.rebuildComputedTrace):
217154        (WebInspector.BlankStylePropertiesSection.prototype.get isBlank):
217155        (WebInspector.BlankStylePropertiesSection.prototype.expand):
217156        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted.successCallback):
217157        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCommitted):
217158        (WebInspector.BlankStylePropertiesSection.prototype.editingSelectorCancelled):
217159        (WebInspector.BlankStylePropertiesSection.prototype.makeNormal):
217160
2171612011-10-24  Pavel Feldman  <pfeldman@google.com>
217162
217163        Web Inspector: do not force document loading on reload (should happen on demand).
217164        https://bugs.webkit.org/show_bug.cgi?id=70724
217165
217166        Reviewed by Yury Semikhatsky.
217167
217168        * inspector/front-end/ConsoleMessage.js:
217169        (WebInspector.ConsoleMessageImpl.prototype._formatParameterAsNode):
217170        * inspector/front-end/DOMAgent.js:
217171        (WebInspector.DOMAgent.prototype._documentUpdated):
217172        * inspector/front-end/ElementsPanel.js:
217173        (WebInspector.ElementsPanel.prototype.wasShown):
217174        * inspector/front-end/ElementsTreeOutline.js:
217175        (WebInspector.ElementsTreeOutline.prototype.setVisible):
217176
2171772011-10-24  Eric Carlson  <eric.carlson@apple.com>
217178
217179        Drop MutableTextTrack and make TextTrack always mutable
217180        https://bugs.webkit.org/show_bug.cgi?id=62890
217181
217182        The MutableTextTrack type was removed from the spec, all text tracks are now mutable.
217183
217184        Reviewed by Sam Weinig.
217185
217186        No new tests needed, the changes just refactor existing code.
217187
217188        * CMakeLists.txt: Remove all traces of MutableTextTrack.
217189        * CodeGenerators.pri: Ditto.
217190        * DerivedSources.cpp: Ditto.
217191        * DerivedSources.make: Ditto.
217192        * GNUmakefile.list.am: Ditto.
217193        * WebCore.gypi: Ditto.
217194        * WebCore.pro: Ditto.
217195        * WebCore.xcodeproj/project.pbxproj: Ditto.
217196        * bindings/gobject/GNUmakefile.am: Ditto.
217197        * bindings/gobject/WebKitHTMLElementWrapperFactory.cpp: Ditto.
217198        * bindings/js/JSBindingsAllInOne.cpp: Ditto.
217199
217200        * bindings/js/JSTextTrackCustom.cpp: Removed.
217201
217202        * html/HTMLMediaElement.cpp:
217203        (WebCore::HTMLMediaElement::addTrack): Return a TextTrack instead of a MutableTextTrack.
217204        * html/HTMLMediaElement.h:
217205        * html/HTMLMediaElement.idl:
217206
217207        * html/LoadableTextTrack.cpp:
217208        (WebCore::LoadableTextTrack::LoadableTextTrack): Return a TextTrack instead of a MutableTextTrack.
217209
217210        * html/MutableTextTrack.cpp: Removed.
217211        * html/MutableTextTrack.h: Removed.
217212        * html/MutableTextTrack.idl: Removed.
217213
217214        * html/TextTrack.cpp:
217215        (WebCore::TextTrack::TextTrack): Remove Type parameter.
217216        (WebCore::TextTrack::addCue): New, moved from MutableTextTrack.
217217        (WebCore::TextTrack::removeCue): Ditto.
217218        (WebCore::TextTrack::newCuesLoaded): Ditto.
217219        (WebCore::TextTrack::fetchNewestCues): Ditto.
217220        * html/TextTrack.h:
217221        (WebCore::TextTrack::create): Remove Type parameter
217222        * html/TextTrack.idl: Add addCue and removeCue.
217223
2172242011-10-24  Yury Semikhatsky  <yurys@chromium.org>
217225
217226        Web Inspector: allow debugging dedicated worker initialization
217227        https://bugs.webkit.org/show_bug.cgi?id=70723
217228
217229        Now it is possible to pause each new dedicated worker on start. The user
217230        needs to select a checkbox and then each newly created dedicated worker
217231        will be paused on the first statement until the user resumes it explicitely.
217232
217233        Reviewed by Pavel Feldman.
217234
217235        * inspector/Inspector.json: resume command is added. It is similar to GDB's run
217236        command, i.e. worker execution will be paused until explicit "resume" command is
217237        received.
217238        * inspector/InspectorInstrumentation.cpp:
217239        (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStartImpl):
217240        * inspector/InspectorInstrumentation.h:
217241        (WebCore::InspectorInstrumentation::shouldPauseDedicatedWorkerOnStart):
217242        * inspector/InspectorRuntimeAgent.cpp:
217243        (WebCore::InspectorRuntimeAgent::resume):
217244        (WebCore::InspectorRuntimeAgent::pauseWorkerContext):
217245        * inspector/InspectorRuntimeAgent.h:
217246        * inspector/InspectorWorkerAgent.cpp:
217247        (WebCore::InspectorWorkerAgent::shouldPauseDedicatedWorkerOnStart): returns true
217248        if the user chose to automatically pause all new workers.
217249        * inspector/InspectorWorkerAgent.h:
217250        * inspector/WorkerInspectorController.cpp:
217251        (WebCore::WorkerInspectorController::resume):
217252        * inspector/front-end/WorkerManager.js:
217253        (WebInspector.WorkerManager.loaded):
217254        (WebInspector.WorkerManager.loadCompleted):
217255        (WebInspector.WorkerManager.prototype._workerCreated):
217256        (WebInspector.WorkerManager.prototype.openWorkerInspector):
217257        (WebInspector.WorkerManager.prototype._openInspectorWindow):
217258        * inspector/front-end/inspector.js:
217259        (WebInspector.loaded):
217260        * workers/Worker.cpp:
217261        (WebCore::Worker::notifyFinished):
217262        * workers/WorkerContextProxy.h:
217263        * workers/WorkerMessagingProxy.cpp:
217264        (WebCore::WorkerMessagingProxy::startWorkerContext): additional flag specifying
217265        worker initial state(paused/not paused) is added to the factory method. The flag
217266        will be carried to the corresponding WorkerThread.
217267        (WebCore::WorkerMessagingProxy::connectToInspector):
217268        * workers/WorkerMessagingProxy.h:
217269
2172702011-10-21  Nikita Vasilyev  <me@elv1s.ru>
217271
217272        Web Inspector: Make indent configurable
217273        https://bugs.webkit.org/show_bug.cgi?id=69986
217274
217275        Add a setting to choose an indent from "8 spaces", "4 spaces" (default), "2 spaces", or "Tab character".
217276
217277        Reviewed by Pavel Feldman.
217278
217279        * English.lproj/localizedStrings.js:
217280        * inspector/front-end/SettingsScreen.js:
217281        (WebInspector.SettingsScreen):
217282        (WebInspector.SettingsScreen.prototype._createSelectSetting.get p):
217283        (WebInspector.SettingsScreen.prototype._createSelectSetting.changeListener):
217284        * inspector/front-end/TextEditorModel.js:
217285        (WebInspector.TextEditorModel):
217286        * inspector/front-end/TextViewer.js:
217287
2172882011-10-17  Andrey Kosyakov  <caseq@chromium.org>
217289
217290        Web Inspector: add "Add to Watch" option to context menu on selection in source frame
217291        https://bugs.webkit.org/show_bug.cgi?id=69924
217292
217293        Reviewed by Pavel Feldman.
217294
217295        - added 'Add to Watch' context menu item in scripts panel;
217296        - include both default and custom items into a context menu if selection is present;
217297
217298        * inspector/front-end/ScriptsPanel.js:
217299        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.suggestedFileName):
217300        (WebInspector.SourceFrameDelegateForScriptsPanel.prototype.addToWatch):
217301        * inspector/front-end/SourceFrame.js:
217302        (WebInspector.SourceFrame.prototype.populateSelectionContextMenu):
217303        (WebInspector.TextViewerDelegateForSourceFrame.prototype.populateSelectionContextMenu):
217304        (WebInspector.SourceFrameDelegate.prototype.suggestedFileName):
217305        (WebInspector.SourceFrameDelegate.prototype.addToWatch):
217306        * inspector/front-end/TextViewer.js:
217307        (WebInspector.TextViewer.prototype._contextMenu):
217308        (WebInspector.TextViewerDelegate.prototype.populateSelectionContextMenu):
217309        * inspector/front-end/WatchExpressionsSidebarPane.js:
217310        (WebInspector.WatchExpressionsSidebarPane.prototype.addExpression):
217311        (WebInspector.WatchExpressionsSidebarPane.prototype._addButtonClicked):
217312        (WebInspector.WatchExpressionsSection.prototype.addExpression):
217313        (WebInspector.WatchExpressionsSection.prototype.addNewExpressionAndEdit):
217314        * page/ContextMenuController.cpp:
217315        (WebCore::ContextMenuController::showContextMenu):
217316
2173172011-10-21  Alexander Pavlov  <apavlov@chromium.org>
217318
217319        Web Inspector: Audits hang on pages without img[src] elements
217320        https://bugs.webkit.org/show_bug.cgi?id=70604
217321
217322        Reviewed by Pavel Feldman.
217323
217324        Test: inspector/audits/audits-panel-noimages-functional.html
217325
217326        * inspector/front-end/AuditRules.js:
217327        (WebInspector.AuditRules.ImageDimensionsRule.prototype.doRun.getStyles):
217328
2173292011-10-24  Deepak Sherveghar  <bpwv64@motorola.com>
217330
217331        [Qt] fast/events/media-focus-in-standalone-media-document.html fails
217332        https://bugs.webkit.org/show_bug.cgi?id=70110
217333
217334        Reviewed by Simon Hausmann.
217335
217336        ExtensionMap should also include media files mapping.
217337
217338        * platform/qt/MIMETypeRegistryQt.cpp: Added media files mapping.
217339
2173402011-10-24  Pavel Feldman  <pfeldman@google.com>
217341
217342        Not reviewed: [chromium] follow up to 98228 - added missing css.
217343
217344        * WebCore.gypi:
217345
2173462011-10-24  Pavel Feldman  <pfeldman@chromium.org>
217347
217348        Web Inspector: Make CSS files load upon View demand; split inspector.css into views.
217349        https://bugs.webkit.org/show_bug.cgi?id=70694
217350
217351        Reviewed by Yury Semikhatsky.
217352
217353        * WebCore.gypi:
217354        * WebCore.vcproj/WebCore.vcproj:
217355        * inspector/front-end/AuditsPanel.js:
217356        (WebInspector.AuditsPanel):
217357        * inspector/front-end/DataGrid.js:
217358        (WebInspector.DataGrid):
217359        * inspector/front-end/ElementsPanel.js:
217360        * inspector/front-end/NetworkPanel.js:
217361        (WebInspector.NetworkLogView):
217362        * inspector/front-end/PanelEnablerView.js:
217363        * inspector/front-end/ProfilesPanel.js:
217364        * inspector/front-end/ResourceView.js:
217365        (WebInspector.ResourceView):
217366        * inspector/front-end/ResourcesPanel.js:
217367        * inspector/front-end/ScriptsPanel.js:
217368        * inspector/front-end/TextViewer.js:
217369        * inspector/front-end/TimelinePanel.js:
217370        (WebInspector.TimelinePanel):
217371        * inspector/front-end/WebKit.qrc:
217372        * inspector/front-end/WelcomeView.js:
217373        (WebInspector.WelcomeView):
217374        * inspector/front-end/auditsPanel.css: Renamed from Source/WebCore/inspector/front-end/audits.css.
217375
2173762011-10-24  Pavel Feldman  <pfeldman@chromium.org>
217377
217378        Web Inspector: make view load CSS files upon show.
217379        https://bugs.webkit.org/show_bug.cgi?id=70696
217380
217381        Reviewed by Yury Semikhatsky.
217382
217383        Test: inspector/view-css.html
217384
217385        * inspector/front-end/View.js:
217386        (WebInspector.View):
217387        (WebInspector.View.prototype._callOnVisibleChildren):
217388        (WebInspector.View.prototype._processWillShow):
217389        (WebInspector.View.prototype._processWasShown):
217390        (WebInspector.View.prototype._processWillHide):
217391        (WebInspector.View.prototype._processWasHidden):
217392        (WebInspector.View.prototype._processOnResize):
217393        (WebInspector.View.prototype.show):
217394        (WebInspector.View.prototype.detach):
217395        (WebInspector.View.prototype.registerRequiredCSS):
217396        (WebInspector.View.prototype._loadCSSIfNeeded):
217397        (WebInspector.View.prototype._doLoadCSS):
217398        (WebInspector.View.prototype._disableCSSIfNeeded):
217399        (WebInspector.View.prototype._doUnloadCSS):
217400
2174012011-10-24  Pavel Feldman  <pfeldman@chromium.org>
217402
217403        Web Inspector: make DataGrid a view
217404        https://bugs.webkit.org/show_bug.cgi?id=70695
217405
217406        Reviewed by Yury Semikhatsky.
217407
217408        * inspector/front-end/ApplicationCacheItemsView.js:
217409        (WebInspector.ApplicationCacheItemsView.prototype._createDataGrid):
217410        * inspector/front-end/CookieItemsView.js:
217411        (WebInspector.CookieItemsView.prototype._updateWithCookies):
217412        (WebInspector.SimpleCookiesTable):
217413        (WebInspector.SimpleCookiesTable.prototype.setCookies):
217414        * inspector/front-end/CookiesTable.js:
217415        (WebInspector.CookiesTable):
217416        * inspector/front-end/DOMStorageItemsView.js:
217417        (WebInspector.DOMStorageItemsView.prototype._showDOMStorageEntries):
217418        * inspector/front-end/DataGrid.js:
217419        (WebInspector.DataGrid):
217420        (WebInspector.DataGrid.prototype.onResize):
217421        * inspector/front-end/DatabaseQueryView.js:
217422        (WebInspector.DatabaseQueryView.prototype._queryFinished):
217423        (WebInspector.DatabaseQueryView.prototype._queryError):
217424        (WebInspector.DatabaseQueryView.prototype._appendViewQueryResult):
217425        (WebInspector.DatabaseQueryView.prototype._appendErrorQueryResult):
217426        (WebInspector.DatabaseQueryView.prototype._appendQueryResult):
217427        * inspector/front-end/DatabaseTableView.js:
217428        (WebInspector.DatabaseTableView.prototype._queryFinished):
217429        * inspector/front-end/DetailedHeapshotView.js:
217430        (WebInspector.DetailedHeapshotView.prototype.wasShown.profileCallback2):
217431        (WebInspector.DetailedHeapshotView.prototype.wasShown):
217432        (WebInspector.DetailedHeapshotView.prototype.onResize):
217433        * inspector/front-end/NetworkPanel.js:
217434        (WebInspector.NetworkLogView.prototype.onResize):
217435        (WebInspector.NetworkLogView.prototype._createTable):
217436        * inspector/front-end/ProfileView.js:
217437        * inspector/front-end/ResourceCookiesView.js:
217438        (WebInspector.ResourceCookiesView.prototype._buildCookiesTable):
217439        * inspector/front-end/ResourceView.js:
217440        (WebInspector.ResourceView):
217441
2174422011-10-24  Yosifumi Inoue  <yosin@chromium.org>
217443
217444        [Forms] Setting defaultValue should hide an input placeholder.
217445        https://bugs.webkit.org/show_bug.cgi?id=70586
217446
217447        Reviewed by Kent Tamura.
217448
217449        Tests: fast/forms/placeholder-and-default-value-expected.html
217450               fast/forms/placeholder-and-default-value.html
217451
217452        When input element has default value, we should not display
217453        placeholder. Changing default value should tell rendering engine about
217454        changing display of input element.
217455
217456        * html/HTMLInputElement.cpp:
217457        (WebCore::HTMLInputElement::parseMappedAttribute): Calls updatePlaceholderVisibility for valueAttr if it doesn't have dirty value.
217458
2174592011-10-23  Darin Adler  <darin@apple.com>
217460
217461        Eliminate OptionElement (second and final part)
217462        https://bugs.webkit.org/show_bug.cgi?id=70710
217463
217464        Reviewed by Kent Tamura.
217465
217466        * CMakeLists.txt: Removed OptionElement.h and OptionElement.cpp.
217467        * GNUmakefile.list.am: Ditto.
217468        * WebCore.gypi: Ditto.
217469        * WebCore.pro: Ditto.
217470        * WebCore.vcproj/WebCore.vcproj: Ditto.
217471        * WebCore.xcodeproj/project.pbxproj: Ditto.
217472        * dom/DOMAllInOne.cpp: Ditto.
217473
217474        * dom/OptionElement.cpp: Removed.
217475        * dom/OptionElement.h: Removed.
217476
217477        * html/HTMLSelectElement.cpp:
217478        (WebCore::HTMLSelectElement::saveLastSelection): Eliminate use of the
217479        toOptionElement function. Use hasTagName and toHTMLOptionElement instead.
217480        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
217481        (WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
217482        (WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
217483        (WebCore::HTMLSelectElement::recalcListItems): Ditto.
217484        (WebCore::HTMLSelectElement::selectedIndex): Ditto.
217485        (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
217486        (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
217487        (WebCore::HTMLSelectElement::saveFormControlState): Ditto.
217488        (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
217489        (WebCore::HTMLSelectElement::appendFormData): Ditto.
217490        (WebCore::HTMLSelectElement::reset): Ditto.
217491        (WebCore::HTMLSelectElement::updateSelectedState): Ditto.
217492        (WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
217493        (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
217494        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
217495
217496        * html/HTMLSelectElement.h: Changed the argument type of the
217497        deselectItemsWithoutValidation function to HTMLElement* since that's
217498        the type of an item in our items vector now.
217499
2175002011-10-23  Yuzo Fujishima  <yuzo@google.com>
217501
217502        [chromium] Attempt to fix compilation error for Chromium OS.
217503
217504        Unreviewed.
217505
217506        * mediastream/MediaStreamTrack.cpp:
217507        (WebCore::MediaStreamTrack::kind):
217508
2175092011-10-23  Adam Barth  <abarth@webkit.org>
217510
217511        <img crossorigin> should fail to load when CORS check fails
217512        https://bugs.webkit.org/show_bug.cgi?id=69732
217513
217514        Reviewed by Darin Adler.
217515
217516        When loading an image with the crossorigin attribute, the spec says
217517        that we're not supposed to load the image if the CORS check fails.
217518        This "fails fast" behavior is intended to help developers understand
217519        whether they've configured CORS correctly (instead of only catching the
217520        error later when trying to read back the canvas).
217521
217522        Our new behavior matches the spec and Firefox.
217523
217524        Test: http/tests/security/img-with-failed-cors-check-fails-to-load.html
217525
217526        * loader/ImageLoader.cpp:
217527        (WebCore::ImageLoader::notifyFinished):
217528
2175292011-10-23  Noel Gordon  <noel.gordon@gmail.com>
217530
217531        [chromium] Remove GeolocationServiceGtk.{h,cpp} from the gyp projects
217532        https://bugs.webkit.org/show_bug.cgi?id=70702
217533
217534        Reviewed by Kent Tamura.
217535
217536        platform/gtk/GeolocationServiceGtk.{h,cpp} were removed in r97746, so
217537        remove references to these files from the gyp files.
217538
217539        * WebCore.gypi:
217540
2175412011-10-23  Andreas Kling  <kling@webkit.org>
217542
217543        Move StyleSheet::addSubresourceStyleURLs() to CSSStyleSheet.
217544        https://bugs.webkit.org/show_bug.cgi?id=70690
217545
217546        Reviewed by Antti Koivisto.
217547
217548        This method isn't part of the StyleSheet DOM interface, nor is it used by
217549        XSLStyleSheet, so move it down to CSSStyleSheet and make it non-virtual.
217550        Also remove some nearby unneeded casts from CSSStyleSheet* to StyleSheet*.
217551
217552        * css/CSSStyleSheet.h:
217553        * css/StyleSheet.h:
217554        * html/HTMLLinkElement.cpp:
217555        (WebCore::HTMLLinkElement::isLoading):
217556        (WebCore::HTMLLinkElement::addSubresourceAttributeURLs):
217557        * html/HTMLStyleElement.cpp:
217558        (WebCore::HTMLStyleElement::addSubresourceAttributeURLs):
217559        (WebCore::HTMLStyleElement::disabled):
217560        (WebCore::HTMLStyleElement::setDisabled):
217561
2175622011-10-23  Andreas Kling  <kling@webkit.org>
217563
217564        Remove style sheet constructors that take a style sheet parent.
217565        https://bugs.webkit.org/show_bug.cgi?id=70692
217566
217567        Reviewed by Antti Koivisto.
217568
217569        Style sheets are never directly parented by other style sheets, they always
217570        go via a rule (such as @import.)
217571
217572        * css/CSSStyleSheet.cpp:
217573        * css/CSSStyleSheet.h:
217574        (WebCore::CSSStyleSheet::create):
217575        * css/StyleSheet.cpp:
217576        * css/StyleSheet.h:
217577
2175782011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
217579
217580        Add deleteProperty to the MethodTable
217581        https://bugs.webkit.org/show_bug.cgi?id=70162
217582
217583        Reviewed by Sam Weinig.
217584
217585        No new tests.
217586
217587        * WebCore.exp.in:
217588
2175892011-10-23  Adam Barth  <abarth@webkit.org>
217590
217591        Update baselines for run-bindings-tests.
217592
217593        * bindings/scripts/test/JS/JSTestInterface.cpp:
217594        * bindings/scripts/test/JS/JSTestInterface.h:
217595        * bindings/scripts/test/JS/JSTestObj.cpp:
217596
2175972011-10-23  Mark Hahnenberg  <mhahnenberg@apple.com>
217598
217599        Remove getConstructDataVirtual
217600        https://bugs.webkit.org/show_bug.cgi?id=70638
217601
217602        Reviewed by Darin Adler.
217603
217604        No new tests.
217605
217606        Removed all declarations and definitions of getConstructDataVirtual.
217607        Also replaced all call sites to getConstructDataVirtual with a 
217608        corresponding lookup in the MethodTable.
217609
217610        * WebCore.exp.in:
217611        * bindings/js/JSAudioConstructor.cpp:
217612        * bindings/js/JSAudioConstructor.h:
217613        * bindings/js/JSImageConstructor.cpp:
217614        * bindings/js/JSImageConstructor.h:
217615        * bindings/js/JSOptionConstructor.cpp:
217616        * bindings/js/JSOptionConstructor.h:
217617        * bindings/js/ScriptFunctionCall.cpp:
217618        (WebCore::ScriptFunctionCall::construct):
217619        * bindings/scripts/CodeGeneratorJS.pm:
217620        (GenerateConstructorDeclaration):
217621        (GenerateConstructorDefinition):
217622        * bridge/runtime_object.cpp:
217623        * bridge/runtime_object.h:
217624
2176252011-10-22  Geoffrey Garen  <ggaren@apple.com>
217626
217627        Separated string lifetime bits from character buffer state bits
217628        https://bugs.webkit.org/show_bug.cgi?id=70673
217629
217630        Reviewed by Anders Carlsson.
217631
217632        * bindings/scripts/CodeGeneratorJS.pm:
217633        (GenerateHashValue): Updated for string hashing changes in JavaScriptCore.
217634
2176352011-10-22  Pratik Solanki  <psolanki@apple.com>
217636
217637        HTTPBodyStream in NSURLRequest gets lost when using CFNetwork loader
217638        https://bugs.webkit.org/show_bug.cgi?id=70583
217639        <rdar://problem/10281227>
217640
217641        Reviewed by Darin Adler.
217642
217643        Call WebCore::setHTTPBody() only if we actually have a FormData. Unconditionally calling it
217644        results in us passing 0 to wkCFURLRequestSetHTTPRequestBodyParts() which resets any input
217645        stream specified by the user on the NSURLRequest. This code matches the behavior in the
217646        Foundation version of doUpdatePlatformRequest().
217647
217648        * platform/network/cf/ResourceRequestCFNet.cpp:
217649        (WebCore::ResourceRequest::doUpdatePlatformRequest):
217650
2176512011-10-22  Adam Bergkvist  <adam.bergkvist@ericsson.com>
217652
217653        Move all MediaStream and PeerConnection related non-platform files to WebCore/mediastream
217654        https://bugs.webkit.org/show_bug.cgi?id=70233
217655
217656        Reviewed by Adam Barth.
217657
217658        Removed affected files from build systems that don't have a MEDIA_STREAM build flag.
217659
217660        No new tests since we're just moving files.
217661
217662        * CMakeLists.txt:
217663        * CodeGenerators.pri:
217664        * DerivedSources.cpp:
217665        * DerivedSources.make:
217666        * GNUmakefile.am:
217667        * GNUmakefile.list.am:
217668        * UseJSC.cmake:
217669        * WebCore.gyp/WebCore.gyp:
217670        * WebCore.gypi:
217671        * WebCore.pro:
217672        * WebCore.vcproj/WebCore.vcproj:
217673        * WebCore.xcodeproj/project.pbxproj:
217674        * bindings/js/JSBindingsAllInOne.cpp:
217675        * dom/DOMAllInOne.cpp:
217676        * dom/DispatchTask.h: Removed unused file.
217677        * dom/ScriptExecutionContext.cpp:
217678        * mediastream/LocalMediaStream.cpp: Renamed from Source/WebCore/dom/LocalMediaStream.cpp.
217679        (WebCore::LocalMediaStream::create):
217680        (WebCore::LocalMediaStream::LocalMediaStream):
217681        (WebCore::LocalMediaStream::stop):
217682        (WebCore::LocalMediaStream::stopTimerFired):
217683        (WebCore::LocalMediaStream::~LocalMediaStream):
217684        (WebCore::LocalMediaStream::toLocalMediaStream):
217685        * mediastream/LocalMediaStream.h: Renamed from Source/WebCore/dom/LocalMediaStream.h.
217686        * mediastream/LocalMediaStream.idl: Renamed from Source/WebCore/dom/LocalMediaStream.idl.
217687        * mediastream/MediaStream.cpp: Renamed from Source/WebCore/dom/MediaStream.cpp.
217688        (WebCore::MediaStream::create):
217689        (WebCore::MediaStream::MediaStream):
217690        (WebCore::MediaStream::~MediaStream):
217691        (WebCore::MediaStream::readyState):
217692        (WebCore::MediaStream::toMediaStream):
217693        (WebCore::MediaStream::streamEnded):
217694        (WebCore::MediaStream::scriptExecutionContext):
217695        (WebCore::MediaStream::eventTargetData):
217696        (WebCore::MediaStream::ensureEventTargetData):
217697        * mediastream/MediaStream.h: Renamed from Source/WebCore/dom/MediaStream.h.
217698        (WebCore::MediaStream::label):
217699        (WebCore::MediaStream::tracks):
217700        (WebCore::MediaStream::descriptor):
217701        (WebCore::MediaStream::refEventTarget):
217702        (WebCore::MediaStream::derefEventTarget):
217703        * mediastream/MediaStream.idl: Renamed from Source/WebCore/dom/MediaStream.idl.
217704        * mediastream/MediaStreamClient.h: Renamed from Source/WebCore/page/MediaStreamClient.h.
217705        (WebCore::MediaStreamClient::~MediaStreamClient):
217706        * mediastream/MediaStreamController.cpp: Renamed from Source/WebCore/page/MediaStreamController.cpp.
217707        (WebCore::MediaStreamController::Request::Request):
217708        (WebCore::MediaStreamController::Request::localId):
217709        (WebCore::MediaStreamController::Request::frameController):
217710        (WebCore::MediaStreamController::MediaStreamController):
217711        (WebCore::MediaStreamController::~MediaStreamController):
217712        (WebCore::MediaStreamController::isClientAvailable):
217713        (WebCore::MediaStreamController::unregisterFrameController):
217714        (WebCore::MediaStreamController::registerRequest):
217715        (WebCore::MediaStreamController::generateStream):
217716        (WebCore::MediaStreamController::streamGenerated):
217717        (WebCore::MediaStreamController::streamGenerationFailed):
217718        * mediastream/MediaStreamController.h: Renamed from Source/WebCore/page/MediaStreamController.h.
217719        * mediastream/MediaStreamEvent.cpp: Renamed from Source/WebCore/p2p/MediaStreamEvent.cpp.
217720        (WebCore::MediaStreamEvent::create):
217721        (WebCore::MediaStreamEvent::MediaStreamEvent):
217722        (WebCore::MediaStreamEvent::~MediaStreamEvent):
217723        (WebCore::MediaStreamEvent::initMediaStreamEvent):
217724        (WebCore::MediaStreamEvent::stream):
217725        * mediastream/MediaStreamEvent.h: Renamed from Source/WebCore/p2p/MediaStreamEvent.h.
217726        (WebCore::MediaStreamEvent::isMediaStreamEvent):
217727        * mediastream/MediaStreamEvent.idl: Renamed from Source/WebCore/p2p/MediaStreamEvent.idl.
217728        * mediastream/MediaStreamFrameController.cpp: Renamed from Source/WebCore/page/MediaStreamFrameController.cpp.
217729        (WebCore::MediaStreamFrameController::Request::~Request):
217730        (WebCore::MediaStreamFrameController::Request::scriptExecutionContext):
217731        (WebCore::MediaStreamFrameController::Request::isGenerateStreamRequest):
217732        (WebCore::MediaStreamFrameController::Request::Request):
217733        (WebCore::MediaStreamFrameController::GenerateStreamRequest::create):
217734        (WebCore::MediaStreamFrameController::GenerateStreamRequest::~GenerateStreamRequest):
217735        (WebCore::MediaStreamFrameController::GenerateStreamRequest::isGenerateStreamRequest):
217736        (WebCore::MediaStreamFrameController::GenerateStreamRequest::abort):
217737        (WebCore::MediaStreamFrameController::GenerateStreamRequest::successCallback):
217738        (WebCore::MediaStreamFrameController::GenerateStreamRequest::errorCallback):
217739        (WebCore::MediaStreamFrameController::GenerateStreamRequest::GenerateStreamRequest):
217740        (WebCore::MediaStreamFrameController::RequestMap::abort):
217741        (WebCore::MediaStreamFrameController::RequestMap::abortAll):
217742        (WebCore::MediaStreamFrameController::MediaStreamFrameController):
217743        (WebCore::MediaStreamFrameController::~MediaStreamFrameController):
217744        (WebCore::MediaStreamFrameController::securityOrigin):
217745        (WebCore::MediaStreamFrameController::scriptExecutionContext):
217746        (WebCore::MediaStreamFrameController::pageController):
217747        (WebCore::MediaStreamFrameController::enterDetachedState):
217748        (WebCore::MediaStreamFrameController::isClientAvailable):
217749        (WebCore::MediaStreamFrameController::disconnectPage):
217750        (WebCore::MediaStreamFrameController::disconnectFrame):
217751        (WebCore::MediaStreamFrameController::transferToNewPage):
217752        (WebCore::MediaStreamFrameController::parseGenerateStreamOptions):
217753        (WebCore::MediaStreamFrameController::generateStream):
217754        (WebCore::MediaStreamFrameController::streamGenerated):
217755        (WebCore::MediaStreamFrameController::streamGenerationFailed):
217756        * mediastream/MediaStreamFrameController.h: Renamed from Source/WebCore/page/MediaStreamFrameController.h.
217757        (WebCore::MediaStreamFrameController::IdGenerator::IdGenerator):
217758        (WebCore::MediaStreamFrameController::IdGenerator::getNextId):
217759        * mediastream/MediaStreamList.cpp: Renamed from Source/WebCore/dom/MediaStreamList.cpp.
217760        (WebCore::MediaStreamList::create):
217761        (WebCore::MediaStreamList::MediaStreamList):
217762        (WebCore::MediaStreamList::~MediaStreamList):
217763        (WebCore::MediaStreamList::length):
217764        (WebCore::MediaStreamList::item):
217765        (WebCore::MediaStreamList::append):
217766        (WebCore::MediaStreamList::remove):
217767        (WebCore::MediaStreamList::contains):
217768        * mediastream/MediaStreamList.h: Renamed from Source/WebCore/dom/MediaStreamList.h.
217769        * mediastream/MediaStreamList.idl: Renamed from Source/WebCore/dom/MediaStreamList.idl.
217770        * mediastream/MediaStreamRegistry.cpp: Renamed from Source/WebCore/platform/MediaStreamRegistry.cpp.
217771        (WebCore::MediaStreamRegistry::registry):
217772        (WebCore::MediaStreamRegistry::registerMediaStreamURL):
217773        (WebCore::MediaStreamRegistry::unregisterMediaStreamURL):
217774        (WebCore::MediaStreamRegistry::mediaStream):
217775        * mediastream/MediaStreamRegistry.h: Renamed from Source/WebCore/platform/MediaStreamRegistry.h.
217776        * mediastream/MediaStreamTrack.cpp: Renamed from Source/WebCore/dom/MediaStreamTrack.cpp.
217777        (WebCore::MediaStreamTrack::create):
217778        (WebCore::MediaStreamTrack::MediaStreamTrack):
217779        (WebCore::MediaStreamTrack::~MediaStreamTrack):
217780        (WebCore::MediaStreamTrack::kind):
217781        (WebCore::MediaStreamTrack::label):
217782        (WebCore::MediaStreamTrack::enabled):
217783        (WebCore::MediaStreamTrack::setEnabled):
217784        * mediastream/MediaStreamTrack.h: Renamed from Source/WebCore/dom/MediaStreamTrack.h.
217785        * mediastream/MediaStreamTrack.idl: Renamed from Source/WebCore/dom/MediaStreamTrack.idl.
217786        * mediastream/MediaStreamTrackList.cpp: Renamed from Source/WebCore/dom/MediaStreamTrackList.cpp.
217787        (WebCore::MediaStreamTrackList::create):
217788        (WebCore::MediaStreamTrackList::MediaStreamTrackList):
217789        (WebCore::MediaStreamTrackList::~MediaStreamTrackList):
217790        (WebCore::MediaStreamTrackList::length):
217791        (WebCore::MediaStreamTrackList::item):
217792        * mediastream/MediaStreamTrackList.h: Renamed from Source/WebCore/dom/MediaStreamTrackList.h.
217793        * mediastream/MediaStreamTrackList.idl: Renamed from Source/WebCore/dom/MediaStreamTrackList.idl.
217794        * mediastream/PeerConnection.cpp: Renamed from Source/WebCore/p2p/PeerConnection.cpp.
217795        (WebCore::PeerConnection::create):
217796        (WebCore::PeerConnection::PeerConnection):
217797        (WebCore::PeerConnection::~PeerConnection):
217798        (WebCore::PeerConnection::processSignalingMessage):
217799        (WebCore::PeerConnection::readyState):
217800        (WebCore::PeerConnection::send):
217801        (WebCore::PeerConnection::addStream):
217802        (WebCore::PeerConnection::removeStream):
217803        (WebCore::PeerConnection::localStreams):
217804        (WebCore::PeerConnection::remoteStreams):
217805        (WebCore::PeerConnection::close):
217806        (WebCore::PeerConnection::iceProcessingCompleted):
217807        (WebCore::PeerConnection::sdpGenerated):
217808        (WebCore::PeerConnection::dataStreamMessageReceived):
217809        (WebCore::PeerConnection::remoteStreamAdded):
217810        (WebCore::PeerConnection::remoteStreamRemoved):
217811        (WebCore::PeerConnection::toPeerConnection):
217812        (WebCore::PeerConnection::scriptExecutionContext):
217813        (WebCore::PeerConnection::stop):
217814        (WebCore::PeerConnection::eventTargetData):
217815        (WebCore::PeerConnection::ensureEventTargetData):
217816        (WebCore::PeerConnection::scheduleInitialNegotiation):
217817        (WebCore::PeerConnection::initialNegotiationTimerFired):
217818        (WebCore::PeerConnection::ensureStreamChangeScheduled):
217819        (WebCore::PeerConnection::streamChangeTimerFired):
217820        (WebCore::PeerConnection::scheduleReadyStateChange):
217821        (WebCore::PeerConnection::readyStateChangeTimerFired):
217822        (WebCore::PeerConnection::changeReadyState):
217823        * mediastream/PeerConnection.h: Renamed from Source/WebCore/p2p/PeerConnection.h.
217824        (WebCore::PeerConnection::refEventTarget):
217825        (WebCore::PeerConnection::derefEventTarget):
217826        * mediastream/PeerConnection.idl: Renamed from Source/WebCore/p2p/PeerConnection.idl.
217827        * mediastream/SignalingCallback.h: Renamed from Source/WebCore/p2p/SignalingCallback.h.
217828        (WebCore::SignalingCallback::~SignalingCallback):
217829        * mediastream/SignalingCallback.idl: Renamed from Source/WebCore/p2p/SignalingCallback.idl.
217830        * page/Frame.cpp:
217831        * page/Navigator.cpp:
217832        * page/Page.cpp:
217833
2178342011-10-20  Pavel Feldman  <pfeldman@google.com>
217835
217836        Web Inspector: get rid of View::hide, View::set visible, View::attach,
217837        View::set visible.
217838        https://bugs.webkit.org/show_bug.cgi?id=70523
217839
217840        This change also introduces assetions that forces view attach / detach operations
217841        to be performed explicitly.
217842
217843        Reviewed by Yury Semikhatsky.
217844
217845        * inspector/front-end/ApplicationCacheItemsView.js:
217846        (WebInspector.ApplicationCacheItemsView.prototype.wasShown):
217847        (WebInspector.ApplicationCacheItemsView.prototype.willHide):
217848        (WebInspector.ApplicationCacheItemsView.prototype._updateCallback):
217849        * inspector/front-end/AuditsPanel.js:
217850        (WebInspector.AuditsPanel.prototype.wasShown):
217851        * inspector/front-end/ConsolePanel.js:
217852        (WebInspector.ConsolePanel.prototype.wasShown):
217853        (WebInspector.ConsolePanel.prototype.willHide):
217854        * inspector/front-end/ConsoleView.js:
217855        (WebInspector.ConsoleView.prototype.wasShown):
217856        * inspector/front-end/CookieItemsView.js:
217857        (WebInspector.CookieItemsView.prototype.wasShown):
217858        (WebInspector.CookieItemsView.prototype.willHide):
217859        (WebInspector.CookieItemsView.prototype._updateWithCookies):
217860        * inspector/front-end/DOMStorageItemsView.js:
217861        (WebInspector.DOMStorageItemsView.prototype.wasShown):
217862        (WebInspector.DOMStorageItemsView.prototype.willHide):
217863        * inspector/front-end/DatabaseQueryView.js:
217864        * inspector/front-end/DatabaseTableView.js:
217865        (WebInspector.DatabaseTableView.prototype.wasShown):
217866        * inspector/front-end/DetailedHeapshotView.js:
217867        (WebInspector.DetailedHeapshotView.prototype.willHide):
217868        (WebInspector.DetailedHeapshotView.prototype._changeView):
217869        * inspector/front-end/Drawer.js:
217870        (WebInspector.Drawer.prototype.hide):
217871        * inspector/front-end/ElementsPanel.js:
217872        (WebInspector.ElementsPanel.prototype.wasShown):
217873        (WebInspector.ElementsPanel.prototype.willHide):
217874        * inspector/front-end/EmptyView.js:
217875        (WebInspector.EmptyView.prototype.wasShown):
217876        * inspector/front-end/FontView.js:
217877        (WebInspector.FontView.prototype.wasShown):
217878        * inspector/front-end/IFrameView.js:
217879        (WebInspector.IFrameView):
217880        * inspector/front-end/ImageView.js:
217881        (WebInspector.ImageView.prototype.wasShown):
217882        * inspector/front-end/NetworkItemView.js:
217883        (WebInspector.NetworkItemView.prototype.wasShown):
217884        (WebInspector.ResourceContentView.prototype.wasShown):
217885        * inspector/front-end/NetworkPanel.js:
217886        (WebInspector.NetworkLogView.prototype.wasShown):
217887        (WebInspector.NetworkLogView.prototype.willHide):
217888        (WebInspector.NetworkPanel.prototype.wasShown):
217889        * inspector/front-end/Panel.js:
217890        (WebInspector.Panel):
217891        (WebInspector.Panel.prototype.show):
217892        (WebInspector.Panel.prototype.wasShown):
217893        (WebInspector.Panel.prototype.willHide):
217894        * inspector/front-end/PanelEnablerView.js:
217895        * inspector/front-end/ProfileView.js:
217896        (WebInspector.CPUProfileView.prototype.willHide):
217897        * inspector/front-end/ProfilesPanel.js:
217898        (WebInspector.ProfilesPanel.prototype.wasShown):
217899        (WebInspector.ProfilesPanel.prototype._addProfileHeader):
217900        (WebInspector.ProfilesPanel.prototype._updateInterface):
217901        (WebInspector.ProfilesPanel.prototype._enableDetailedHeapProfiles):
217902        * inspector/front-end/ResourceCookiesView.js:
217903        (WebInspector.ResourceCookiesView.prototype.wasShown):
217904        * inspector/front-end/ResourceHTMLView.js:
217905        (WebInspector.ResourceHTMLView.prototype.wasShown):
217906        (WebInspector.ResourceHTMLView.prototype.willHide):
217907        * inspector/front-end/ResourceJSONView.js:
217908        (WebInspector.ResourceJSONView.parseJSON.WebInspector.ResourceJSONView.prototype.wasShown):
217909        * inspector/front-end/ResourceTimingView.js:
217910        (WebInspector.ResourceTimingView.prototype.wasShown):
217911        * inspector/front-end/ResourcesPanel.js:
217912        (WebInspector.ResourcesPanel.prototype.wasShown):
217913        * inspector/front-end/ScriptsPanel.js:
217914        (WebInspector.ScriptsPanel.prototype.wasShown):
217915        (WebInspector.ScriptsPanel.prototype._updateDebuggerButtons):
217916        * inspector/front-end/SourceFrame.js:
217917        (WebInspector.SourceFrame.prototype.wasShown):
217918        * inspector/front-end/TimelinePanel.js:
217919        (WebInspector.TimelinePanel.prototype.wasShown):
217920        (WebInspector.TimelinePanel.prototype.willHide):
217921        * inspector/front-end/View.js:
217922        (WebInspector.View):
217923        (WebInspector.View.prototype.get visible):
217924        (WebInspector.View.prototype.setHideOnDetach):
217925        (WebInspector.View.prototype._wasShown):
217926        (WebInspector.View.prototype._willHide):
217927        (WebInspector.View.prototype._onResize):
217928        (WebInspector.View.prototype.wasShown):
217929        (WebInspector.View.prototype.willHide):
217930        (WebInspector.View.prototype.onResize):
217931        (WebInspector.View.prototype.show):
217932        (WebInspector.View.prototype.detach):
217933        (WebInspector.View.prototype.doResize):
217934        (WebInspector.View.prototype.dispatchToSelfAndChildren):
217935        (WebInspector.View.prototype.dispatchToChildren):
217936        (WebInspector.View.prototype._handleInsertedIntoDocument):
217937
2179382011-10-22  Kent Tamura  <tkent@chromium.org>
217939
217940        REGRESSION(r92480): Passing uninitialized variable in HTMLElement::calculateAndAdjustDirectionality()
217941        https://bugs.webkit.org/show_bug.cgi?id=70582
217942
217943        Reviewed by Darin Adler.
217944
217945        No new tests. It's very hard to make a reliable test.
217946
217947        * html/HTMLElement.cpp:
217948        (WebCore::HTMLElement::directionality):
217949        Clear *strongDirectionalityTextNode even if hasStrongDirectionality is false.
217950
2179512011-10-21  Dan Bernstein  <mitz@apple.com>
217952
217953        Caret is drawn in the wrong place in multi-column blocks
217954        https://bugs.webkit.org/show_bug.cgi?id=70662
217955
217956        Reviewed by Gavin Barraclough.
217957
217958        * manual-tests/caret-in-columns.html: Added.
217959        * rendering/RenderBlock.cpp:
217960        (WebCore::RenderBlock::paintCaret): Removed the call to offsetForContents(). That function takes
217961        a point in local coordinates, whereas this function was applying it to a point in painting root
217962        coordinates. The desired effect was only to undo the scroll adjustment done by the caller,
217963        paintObject().
217964        (WebCore::RenderBlock::paintObject): Pass the original, rather than scroll-adjusted, paint offset
217965        to paintCaret().
217966
2179672011-10-21  Nat Duca  <nduca@chromium.org>
217968
217969        [chromium] Make setVisibility extension- and thread-correct
217970        https://bugs.webkit.org/show_bug.cgi?id=70635
217971
217972        Reviewed by Kenneth Russell.
217973
217974        * platform/graphics/chromium/Extensions3DChromium.h:
217975        * platform/graphics/chromium/LayerRendererChromium.cpp:
217976        (WebCore::LayerRendererChromium::initialize):
217977        (WebCore::LayerRendererChromium::setVisible):
217978        * platform/graphics/chromium/LayerRendererChromium.h:
217979        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
217980        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
217981        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
217982        (WebCore::CCLayerTreeHostImpl::setVisible):
217983
2179842011-10-21  Beth Dakin  <bdakin@apple.com>
217985
217986        https://bugs.webkit.org/show_bug.cgi?id=70647
217987        Common but unreproducible crash under [ScrollbarPartAnimation setCurrentProgress:]
217988        -and corresponding-
217989        <rdar://problem/9542018>
217990
217991        Reviewed by Sam Weinig.
217992
217993        This patch implements two speculative fixes for this crash.
217994
217995        First, block exceptions around all of the code responsible for calling 
217996        stopAnimation. If that code throws any exceptions, we want to make sure the other 
217997        animations are still stopped.
217998        * platform/mac/ScrollAnimatorMac.mm:
217999        (-[WebScrollbarPartAnimation scrollAnimatorDestroyed]):
218000        (-[WebScrollbarPainterDelegate scrollAnimatorDestroyed]):
218001        (WebCore::ScrollAnimatorMac::~ScrollAnimatorMac):
218002
218003        Only send AppKit these notifications for active pages. I originally made these 
218004        assertions, and I found that they were hit a surprising number of times. If we 
218005        only send notifications for active pages, then we should greatly reduce and 
218006        possibly eliminate our chances of hitting this crash.
218007        (WebCore::ScrollAnimatorMac::notifyPositionChanged):
218008        (WebCore::ScrollAnimatorMac::contentAreaWillPaint):
218009        (WebCore::ScrollAnimatorMac::mouseEnteredContentArea):
218010        (WebCore::ScrollAnimatorMac::mouseExitedContentArea):
218011        (WebCore::ScrollAnimatorMac::mouseMovedInContentArea):
218012        (WebCore::ScrollAnimatorMac::willStartLiveResize):
218013        (WebCore::ScrollAnimatorMac::contentsResized):
218014        (WebCore::ScrollAnimatorMac::willEndLiveResize):
218015        (WebCore::ScrollAnimatorMac::contentAreaDidShow):
218016        (WebCore::ScrollAnimatorMac::contentAreaDidHide):
218017        (WebCore::ScrollAnimatorMac::didBeginScrollGesture):
218018        (WebCore::ScrollAnimatorMac::didEndScrollGesture):
218019
2180202011-10-21  Mark Hahnenberg  <mhahnenberg@apple.com>
218021
218022        Add put to the MethodTable
218023        https://bugs.webkit.org/show_bug.cgi?id=70439
218024
218025        Reviewed by Oliver Hunt.
218026
218027        No new tests.
218028
218029        * WebCore.exp.in:
218030        * bindings/js/JSDOMWindowCustom.cpp: Added static put since it was overlooked in 
218031        previous patches.
218032        (WebCore::JSDOMWindow::putVirtual):
218033        (WebCore::JSDOMWindow::put):
218034        * bindings/js/JSDOMWindowShell.cpp: Ditto.
218035        (WebCore::JSDOMWindowShell::putVirtual):
218036        (WebCore::JSDOMWindowShell::put):
218037        * bindings/js/JSDOMWindowShell.h:
218038
2180392011-10-21  Dmitry Lomov  <dslomov@google.com>
218040
218041        https://bugs.webkit.org/show_bug.cgi?id=70580
218042        [Chromium] Implement MessagePort transfer in chromium port of webkit.
218043
218044        Reviewed by David Levin.
218045
218046        * bindings/v8/SerializedScriptValue.cpp:
218047        (WebCore::V8ObjectMap::Writer::writeTransferredMessagePort):
218048        (WebCore::V8ObjectMap::Serializer::Serializer):
218049        (WebCore::V8ObjectMap::Serializer::doSerialize):
218050        (WebCore::V8ObjectMap::Reader::read):
218051        (WebCore::V8ObjectMap::Deserializer::Deserializer):
218052        (WebCore::V8ObjectMap::Deserializer::tryGetTransferredMessagePort):
218053        (WebCore::SerializedScriptValue::SerializedScriptValue):
218054        (WebCore::SerializedScriptValue::deserialize):
218055
2180562011-10-21  Ojan Vafai  <ojan@chromium.org>
218057
218058        r97693 caused 42 failures on the chromium mac bots
218059        https://bugs.webkit.org/show_bug.cgi?id=70300
218060
218061        Can't test this until https://bugs.webkit.org/show_bug.cgi?id=70660
218062        is fixed. The fix for that bug will test this codepath as well though.
218063
218064        * rendering/RenderBlock.cpp:
218065        (WebCore::RenderBlock::computeBlockPreferredLogicalWidths):
218066
2180672011-10-21  Vineet Chaudhary  <vineet.chaudhary@motorola.com>
218068
218069        Setting form.enctype reflected attribute behaves strangely.
218070        https://bugs.webkit.org/show_bug.cgi?id=44879
218071
218072        Reviewed by Darin Adler.
218073
218074        The spec says form.enctype should be application/x-www-form-urlencoded,
218075        So as "text", "plain", "multipart" or "form-data" these are not a valid value so must be ignored.
218076
218077        * loader/FormSubmission.cpp:
218078        (WebCore::FormSubmission::Attributes::parseEncodingType):
218079
2180802011-10-21  Matthew Delaney  <mdelaney@apple.com>
218081
218082        Ensure periodic flushing of canvas drawing context
218083        https://bugs.webkit.org/show_bug.cgi?id=70646
218084
218085        Reviewed by Simon Fraser.
218086
218087        No new tests. No current way to track tests that cause hangs or
218088        non-deterministic drops in performance.
218089
218090        * platform/graphics/cg/ImageBufferDataCG.h: Adds a timestamp of last tracked flush.
218091        * platform/graphics/cg/ImageBufferCG.cpp: Ensures periodic flushes on the drawing context.
218092        (WebCore::ImageBuffer::ImageBuffer):
218093        (WebCore::ImageBuffer::context): Flushes context if we're beyond flush interval.
218094        (WebCore::ImageBuffer::copyNativeImage): Updates last flush timestamp.
218095        (WebCore::ImageBuffer::getUnmultipliedImageData): Updates last flush timestamp.
218096        (WebCore::ImageBuffer::getPremultipliedImageData): Updates last flush timestamp.
218097        (WebCore::ImageBuffer::putUnmultipliedImageData): Updates last flush timestamp.
218098        (WebCore::ImageBuffer::putPremultipliedImageData): Updates last flush timestamp.
218099
2181002011-10-21  Adam Barth  <abarth@webkit.org>
218101
218102        Introduce Event::hasInterface to make uses of interfaceName more readable
218103        https://bugs.webkit.org/show_bug.cgi?id=70652
218104
218105        Reviewed by Eric Seidel.
218106
218107        Eric felt that this approach would be more readable because it requires
218108        less syntax at each callsite.
218109
218110        * bindings/js/JSErrorHandler.cpp:
218111        (WebCore::JSErrorHandler::handleEvent):
218112        * bindings/objc/DOMEvents.mm:
218113        (kitClass):
218114        * bindings/v8/V8WindowErrorHandler.cpp:
218115        (WebCore::V8WindowErrorHandler::callListenerFunction):
218116        * bindings/v8/V8WorkerContextErrorHandler.cpp:
218117        (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
218118        * dom/Event.cpp:
218119        (WebCore::Event::hasInterface):
218120        * dom/Event.h:
218121        * dom/EventDispatcher.cpp:
218122        (WebCore::EventDispatcher::determineDispatchBehavior):
218123        * dom/Node.cpp:
218124        (WebCore::Node::defaultEventHandler):
218125        * html/HTMLInputElement.cpp:
218126        (WebCore::HTMLInputElement::defaultEventHandler):
218127        * html/HTMLTextAreaElement.cpp:
218128        (WebCore::HTMLTextAreaElement::defaultEventHandler):
218129        * html/TextFieldInputType.cpp:
218130        (WebCore::TextFieldInputType::forwardEvent):
218131        (WebCore::TextFieldInputType::shouldSubmitImplicitly):
218132        * inspector/InspectorDOMStorageResource.cpp:
218133        (WebCore::InspectorDOMStorageResource::handleEvent):
218134
2181352011-10-21  Adam Klein  <adamk@chromium.org>
218136
218137        [MutationObservers] Implement basic subtree observation
218138        https://bugs.webkit.org/show_bug.cgi?id=70436
218139
218140        Reviewed by Ryosuke Niwa.
218141
218142        Note that this patch only implements "basic" subtree semantics,
218143        not the fully robust semantics described in
218144        http://lists.w3.org/Archives/Public/public-webapps/2011JulSep/1622.html.
218145        Most importantly, this change does not handle the case where mutations
218146        occur in a temporarily detached subtree.
218147
218148        The plan is to implement those semantics in a followup to avoid
218149        blocking other parts of the MutationObserver spec that rely on
218150        the existence of subtree observation but not its specific
218151        implementation.
218152
218153        Test: fast/mutation/observe-subtree.html
218154
218155        * dom/Node.cpp:
218156        (WebCore::addMatchingObservers): Static helper method for registeredMutationObserversOfType().
218157        (WebCore::Node::registeredMutationObserversOfType): Walk up the tree looking for observers.
218158        * dom/NodeRareData.h:
218159        (WebCore::MutationObserverEntry::hasAllOptions): A stricter, renamed from matches().
218160
2181612011-10-21  Joshua Bell  <jsbell@chromium.org>
218162
218163        IndexedDB: objectStore.transaction property should be readonly
218164        https://bugs.webkit.org/show_bug.cgi?id=62395
218165
218166        Reviewed by Tony Chang.
218167
218168        Implement the IDBObjectStore.transaction property defined by the spec.
218169
218170        Test: storage/indexeddb/readonly-properties.html
218171
218172        * storage/IDBObjectStore.cpp:
218173        (WebCore::IDBObjectStore::transaction):
218174        * storage/IDBObjectStore.h:
218175        * storage/IDBObjectStore.idl:
218176
2181772011-10-21  Adam Barth  <abarth@webkit.org>
218178
218179        Event.h has too many virtual isMumbleEvent() functions
218180        https://bugs.webkit.org/show_bug.cgi?id=70636
218181
218182        Reviewed by Dimitri Glazkov.
218183
218184        We should use the new interfaceName() way of doing run-time type inference.
218185
218186        * bindings/js/JSErrorHandler.cpp:
218187        (WebCore::JSErrorHandler::handleEvent):
218188        * bindings/js/JSEventCustom.cpp:
218189        (WebCore::JSEvent::clipboardData):
218190        * bindings/objc/DOMEvents.mm:
218191        (kitClass):
218192        * bindings/v8/V8WindowErrorHandler.cpp:
218193        (WebCore::V8WindowErrorHandler::callListenerFunction):
218194        * bindings/v8/V8WorkerContextErrorHandler.cpp:
218195        (WebCore::V8WorkerContextErrorHandler::callListenerFunction):
218196        * bindings/v8/custom/V8EventCustom.cpp:
218197        (WebCore::V8Event::clipboardDataAccessorGetter):
218198        * dom/BeforeLoadEvent.h:
218199        (WebCore::BeforeLoadEvent::interfaceName):
218200        * dom/BeforeTextInsertedEvent.h:
218201        * dom/ClipboardEvent.cpp:
218202        * dom/ClipboardEvent.h:
218203        * dom/CompositionEvent.cpp:
218204        * dom/CompositionEvent.h:
218205        * dom/ErrorEvent.cpp:
218206        * dom/ErrorEvent.h:
218207        * dom/Event.cpp:
218208        (WebCore::Event::storesResultAsString):
218209        (WebCore::Event::storeResult):
218210        (WebCore::Event::clipboardData):
218211        * dom/Event.h:
218212        * dom/Event.idl:
218213            - Remove this interface from the CPP bindings because this function
218214              no longer exists.  It's unclear to me how strong our API
218215              commitments are in the CPP bindings.
218216        * dom/EventDispatcher.cpp:
218217        (WebCore::EventDispatcher::determineDispatchBehavior):
218218        * dom/MessageEvent.cpp:
218219        * dom/MessageEvent.h:
218220        * dom/MutationEvent.cpp:
218221        * dom/MutationEvent.h:
218222        * dom/Node.cpp:
218223        (WebCore::Node::defaultEventHandler):
218224        * dom/OverflowEvent.cpp:
218225        * dom/OverflowEvent.h:
218226        * dom/PageTransitionEvent.h:
218227        * dom/ProgressEvent.h:
218228        * dom/TextEvent.cpp:
218229        * dom/TextEvent.h:
218230        * dom/WheelEvent.cpp:
218231        * dom/WheelEvent.h:
218232        * html/HTMLInputElement.cpp:
218233        (WebCore::HTMLInputElement::defaultEventHandler):
218234        * html/HTMLTextAreaElement.cpp:
218235        (WebCore::HTMLTextAreaElement::defaultEventHandler):
218236        * html/TextFieldInputType.cpp:
218237        (WebCore::TextFieldInputType::forwardEvent):
218238        (WebCore::TextFieldInputType::shouldSubmitImplicitly):
218239        * html/shadow/TextControlInnerElements.cpp:
218240        (WebCore::TextControlInnerTextElement::defaultEventHandler):
218241        * svg/SVGZoomEvent.cpp:
218242        * svg/SVGZoomEvent.h:
218243
2182442011-10-21  Raymond Toy  <rtoy@google.com>
218245
218246        Flush denormals in Biquad, ZeroPole, and DynamicsCompressor.
218247
218248        We only flush when saving the state variables instead of in the
218249        loops so that we don't impact performance too much when there are
218250        no denormals.  This will at least not propagate the denormals any
218251        further within the class.
218252        
218253        https://bugs.webkit.org/show_bug.cgi?id=70626
218254
218255        Reviewed by Kenneth Russell.
218256
218257        * platform/audio/Biquad.cpp:
218258        (WebCore::Biquad::process):
218259        Flush denormals when storing the filter state back in to class
218260        filter state.  
218261        * platform/audio/DynamicsCompressorKernel.cpp:
218262        (WebCore::DynamicsCompressorKernel::process):
218263        Ditto.
218264        * platform/audio/ZeroPole.cpp:
218265        (WebCore::ZeroPole::process):
218266        Ditto.
218267
2182682011-10-21  Vsevolod Vlasov  <vsevik@chromium.org>
218269
218270        Web Inspector: Advanced search results should be cleared on navigation.
218271        https://bugs.webkit.org/show_bug.cgi?id=70627
218272
218273        Reviewed by Pavel Feldman.
218274
218275        * inspector/front-end/AdvancedSearchController.js:
218276        (WebInspector.AdvancedSearchController):
218277        (WebInspector.AdvancedSearchController.prototype._frameNavigated):
218278
2182792011-10-21  Rafael Weinstein  <rafaelw@chromium.org>
218280
218281        [MutationObservers] Implement WebKitMutationObserver.observe for childList changes
218282        https://bugs.webkit.org/show_bug.cgi?id=68955
218283
218284        Reviewed by Ryosuke Niwa.
218285
218286        This patch adds a ChildListMutationScope object which manages the coalescing of
218287        multiple child removals and additions within DOM operations into single childList
218288        mutation records.
218289
218290        Note that this patch doesn't cover all the cases which can be coalesced (it only
218291        covers ContainerNode.*, and Node.innerHTML/innerText). A separate bug,
218292        https://bugs.webkit.org/show_bug.cgi?id=70385, has been opened to track the
218293        remaining cases.
218294
218295        Test: fast/mutation/observe-childList.html
218296
218297        * CMakeLists.txt:
218298        * GNUmakefile.list.am:
218299        * WebCore.gypi:
218300        * WebCore.pro:
218301        * WebCore.vcproj/WebCore.vcproj:
218302        * WebCore.xcodeproj/project.pbxproj:
218303        * dom/ChildListMutationScope.cpp: Added.
218304        (WebCore::ChildListAccumulation::ChildListAccumulation::ChildListAccumulation):
218305        (WebCore::ChildListAccumulation::ChildListAccumulation::~ChildListAccumulation):
218306        (WebCore::ChildListAccumulation::ChildListAccumulation::childAdded):
218307        (WebCore::ChildListAccumulation::ChildListAccumulation::willRemoveChild):
218308        (WebCore::ChildListAccumulation::ChildListAccumulation::dispatch):
218309        (WebCore::ChildListAccumulation::ChildListAccumulation::clear):
218310        (WebCore::ChildListAccumulation::ChildListAccumulation::isEmpty):
218311        (WebCore::ChildListAccumulation::ChildListAccumulator::ChildListAccumulator):
218312        (WebCore::ChildListAccumulation::ChildListAccumulator::~ChildListAccumulator):
218313        (WebCore::ChildListAccumulation::ChildListAccumulator::initialize):
218314        (WebCore::ChildListAccumulation::ChildListAccumulator::instance):
218315        (WebCore::ChildListAccumulation::ChildListAccumulator::childAdded):
218316        (WebCore::ChildListAccumulation::ChildListAccumulator::willRemoveChild):
218317        (WebCore::ChildListAccumulation::ChildListAccumulator::incrementScopingLevel):
218318        (WebCore::ChildListAccumulation::ChildListAccumulator::decrementScopingLevel):
218319        (WebCore::ChildListMutationScope::ChildListMutationScope):
218320        (WebCore::ChildListMutationScope::~ChildListMutationScope):
218321        (WebCore::ChildListMutationScope::childAdded):
218322        (WebCore::ChildListMutationScope::willRemoveChild):
218323        * dom/ChildListMutationScope.h: Added.
218324        * dom/ContainerNode.cpp:
218325        (WebCore::ContainerNode::insertBefore):
218326        (WebCore::ContainerNode::replaceChild):
218327        (WebCore::willRemoveChildren):
218328        (WebCore::dispatchChildInsertionEvents):
218329        (WebCore::dispatchChildRemovalEvents):
218330        * dom/Element.cpp:
218331        (WebCore::enqueueAttributesMutationRecord):
218332        * dom/Node.cpp:
218333        (WebCore::Node::setTextContent):
218334        (WebCore::Node::registeredMutationObserversOfType):
218335        * dom/WebKitMutationObserver.cpp:
218336        (WebCore::WebKitMutationObserver::disconnect):
218337        * html/HTMLElement.cpp:
218338        (WebCore::replaceChildrenWithFragment):
218339        (WebCore::replaceChildrenWithText):
218340
2183412011-10-21  Sheriff Bot  <webkit.review.bot@gmail.com>
218342
218343        Unreviewed, rolling out r98079.
218344        http://trac.webkit.org/changeset/98079
218345        https://bugs.webkit.org/show_bug.cgi?id=70624
218346
218347        The extensions tests enabled are failing on the Chromium Win
218348        Dbg bot (Requested by jchaffraix on #webkit).
218349
218350        * inspector/front-end/ExtensionAPI.js:
218351        (buildExtensionAPIInjectedScript):
218352
2183532011-10-21  Dan Bernstein  <mitz@apple.com>
218354
218355        Column rules positioned incorrectly in vertical-rl block with horizontal border or padding
218356        https://bugs.webkit.org/show_bug.cgi?id=70622
218357
218358        Reviewed by Beth Dakin.
218359
218360        Tests: fast/multicol/vertical-lr/rules-with-border-before.html
218361               fast/multicol/vertical-rl/rules-with-border-before.html
218362
218363        * rendering/RenderBlock.cpp:
218364        (WebCore::RenderBlock::paintColumnRules): Changed to use the physical left border and padding for the
218365        left edge of the horizontal column rule.
218366
2183672011-10-21  Simon Fraser  <simon.fraser@apple.com>
218368
218369        Fix Windows build.
218370
218371        * rendering/RenderLayerCompositor.cpp:
218372        (WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
218373
2183742011-10-21  Devdatta Deshpande  <pwjd73@motorola.com>
218375
218376        [Gtk] mousemove event always has metaKey == true
218377        https://bugs.webkit.org/show_bug.cgi?id=35299
218378
218379        Reviewed by Martin Robinson.
218380
218381        GDK_MOD2_MASK doesn't always mean meta so we can't use it to identify
218382        the meta key state. Use GDK_META_MASK instead.
218383
218384        Test: platform/gtk/fast/events/event-sender-metakey.html
218385
218386        * platform/gtk/PlatformMouseEventGtk.cpp:
218387        (WebCore::PlatformMouseEvent::PlatformMouseEvent):
218388
2183892011-10-21  Andreas Kling  <kling@webkit.org>
218390
218391        Style and Link elements' sheet() should return CSSStyleSheet.
218392        https://bugs.webkit.org/show_bug.cgi?id=70608
218393
218394        Reviewed by Antti Koivisto.
218395
218396        Return a CSSStyleSheet* instead of a StyleSheet* in these functions
218397        since we know they are always CSSStyleSheets.
218398        Also remove some now-unnecessary isCSSStyleSheet() checks.
218399
218400        * dom/StyleElement.h:
218401        (WebCore::StyleElement::sheet):
218402        * html/HTMLLinkElement.cpp:
218403        * html/HTMLLinkElement.h:
218404        (WebCore::HTMLLinkElement::sheet):
218405        * page/PageSerializer.cpp:
218406        (WebCore::PageSerializer::serializeFrame):
218407
2184082011-10-21  Vsevolod Vlasov  <vsevik@chromium.org>
218409
218410        Web Inspector: Advanced search is working very slowly and does not show searching progress.
218411        https://bugs.webkit.org/show_bug.cgi?id=70611
218412
218413        Search implementation changed so that we do not start searching in the next file unless
218414        the previous one was already searched. This allows to interrupt search.
218415        Not all search matches are added on UI by default now, only first 20 for each file.
218416        Search progress information and search stop button were added to drawer status bar.
218417
218418        Reviewed by Pavel Feldman.
218419
218420        * English.lproj/localizedStrings.js:
218421        * inspector/ContentSearchUtils.cpp:
218422        (WebCore::ContentSearchUtils::getRegularExpressionMatchesByLines):
218423        (WebCore::ContentSearchUtils::countRegularExpressionMatches):
218424        * inspector/front-end/AdvancedSearchController.js:
218425        (WebInspector.AdvancedSearchController.prototype._onSearchResult):
218426        (WebInspector.AdvancedSearchController.prototype._onSearchFinished):
218427        (WebInspector.AdvancedSearchController.prototype.startSearch):
218428        (WebInspector.AdvancedSearchController.prototype.resetSearch):
218429        (WebInspector.AdvancedSearchController.prototype.stopSearch):
218430        (WebInspector.SearchView):
218431        (WebInspector.SearchView.prototype.get statusBarItems):
218432        (WebInspector.SearchView.prototype.get counterElement):
218433        (WebInspector.SearchView.prototype.set resultsPane):
218434        (WebInspector.SearchView.prototype.searchStarted):
218435        (WebInspector.SearchView.prototype._updateSearchResultsMessage):
218436        (WebInspector.SearchView.prototype._updateSearchProgress):
218437        (WebInspector.SearchView.prototype.resetResults):
218438        (WebInspector.SearchView.prototype._resetCounters):
218439        (WebInspector.SearchView.prototype.nothingFound):
218440        (WebInspector.SearchView.prototype.addSearchResult):
218441        (WebInspector.SearchView.prototype.searchFinished):
218442        (WebInspector.SearchView.prototype._searchStopButtonPressed):
218443        (WebInspector.SearchResultsPane):
218444        (WebInspector.FileBasedSearchResultsPane):
218445        (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
218446        (WebInspector.FileBasedSearchResultsPane.prototype._fileTreeElementExpanded):
218447        (WebInspector.FileBasedSearchResultsPane.prototype._appendSearchMatches):
218448        (WebInspector.FileBasedSearchResultsPane.prototype._appendShowMoreMatchesElement):
218449        (WebInspector.FileBasedSearchResultsPane.prototype._showMoreMatchesElementSelected):
218450        (WebInspector.FileBasedSearchResultsPane.prototype._addFileTreeElement):
218451        (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
218452        * inspector/front-end/Drawer.js:
218453        (WebInspector.Drawer.prototype.hide):
218454        * inspector/front-end/Images/statusbarButtonGlyphs.png:
218455        * inspector/front-end/ScriptsSearchScope.js:
218456        (WebInspector.ScriptsSearchScope):
218457        (WebInspector.ScriptsSearchScope.prototype.performSearch.filterOutContentScripts):
218458        (WebInspector.ScriptsSearchScope.prototype.performSearch.continueSearch):
218459        (WebInspector.ScriptsSearchScope.prototype.performSearch.searchCallbackWrapper):
218460        (WebInspector.ScriptsSearchScope.prototype.performSearch):
218461        (WebInspector.ScriptsSearchScope.prototype.stopSearch):
218462        * inspector/front-end/TimelinePanel.js:
218463        (WebInspector.TimelinePanel.prototype._registerShortcuts):
218464        * inspector/front-end/inspector.css:
218465        (#drawer-status-bar .search-status-bar-item):
218466        (#drawer-status-bar .search-status-bar-message):
218467        (#drawer-status-bar .search-status-bar-progress):
218468        (#drawer-status-bar .search-status-bar-stop-button-item):
218469        (#drawer-status-bar .search-status-bar-stop-button .glyph):
218470        (#drawer-status-bar .search-results-status-bar-message):
218471        (.search-view .search-results):
218472        (#search-results-pane-file-based .search-results-outline-disclosure):
218473        (#search-results-pane-file-based .search-result):
218474        (#search-results-pane-file-based .search-result:hover):
218475        (#search-results-pane-file-based .show-more-matches):
218476        (#search-results-pane-file-based .show-more-matches:hover):
218477        (#search-results-pane-file-based .search-match:hover):
218478        * inspector/front-end/utilities.js:
218479        ():
218480
2184812011-10-20  Zhenyao Mo  <zmo@google.com>
218482
218483        Implement mechanism to enable privileged webgl extensions
218484        https://bugs.webkit.org/show_bug.cgi?id=70538
218485
218486        Reviewed by Darin Fisher.
218487
218488        * html/canvas/WebGLRenderingContext.cpp:
218489        (WebCore::WebGLRenderingContext::allowPrivilegedExtensions): check page/Settings flag.
218490        * page/Settings.cpp: Add the flag.
218491        (WebCore::Settings::Settings):
218492        (WebCore::Settings::setPrivilegedWebGLExtensionsEnabled):
218493        * page/Settings.h: Ditto.
218494        (WebCore::Settings::privilegedWebGLExtensionsEnabled):
218495
2184962011-10-20  Pavel Podivilov  <podivilov@chromium.org>
218497
218498        Web Inspector: first line in file is not highlighted.
218499        https://bugs.webkit.org/show_bug.cgi?id=70504
218500
218501        Reviewed by Pavel Feldman.
218502
218503        * inspector/front-end/SourceFrame.js:
218504        (WebInspector.SourceFrame.prototype._initializeTextViewer):
218505
2185062011-10-21  Andreas Kling  <kling@webkit.org>
218507
218508        Simplify CSSStyleRule::setSelectorText().
218509        https://bugs.webkit.org/show_bug.cgi?id=70607
218510
218511        Reviewed by Antti Koivisto.
218512
218513        Remove unnecessary isCSSStyleSheet() check and redundant Document finding
218514        logic (CSSStyleSheet::document() will return the owner node's Document just
218515        like this code would.)
218516
218517        * css/CSSStyleRule.cpp:
218518        (WebCore::CSSStyleRule::setSelectorText):
218519
2185202011-10-21  Alejandro G. Castro  <alex@igalia.com>
218521
218522        [cairo] Forward declaration of GraphicsContextState uses class instead of struct
218523        https://bugs.webkit.org/show_bug.cgi?id=70522
218524
218525        The type is a struct not a class, replace the definition in the
218526        forward declaration.
218527
218528        Reviewed by Martin Robinson.
218529
218530        * platform/graphics/cairo/PlatformContextCairo.h:
218531
2185322011-10-20  Andrey Kosyakov  <caseq@chromium.org>
218533
218534        Web Inspector: make extension tests pass on chromium
218535        https://bugs.webkit.org/show_bug.cgi?id=70334
218536
218537        Reviewed by Pavel Feldman.
218538
218539        * inspector/front-end/ExtensionAPI.js:
218540        (buildExtensionAPIInjectedScript):
218541
2185422011-10-20  Peter Rybin  <peter.rybin@gmail.com>
218543
218544        Web Inspector: reimplement protocol backend/frontend source generator
218545        https://bugs.webkit.org/show_bug.cgi?id=69295
218546
218547        Reviewed by Pavel Feldman.
218548
218549        Old 2-stage python+perf generator that uses intermediate IDL output is
218550        being replaced with a solid python script. This is for simplicity and
218551        as a base for the future JSON validator.
218552
218553        * CMakeLists.txt:
218554        * CodeGenerators.pri:
218555        * DerivedSources.make:
218556        * GNUmakefile.am:
218557        * WebCore.gyp/WebCore.gyp:
218558        * inspector/CodeGeneratorInspector.pm: Removed.
218559        * inspector/CodeGeneratorInspector.py: Added.
218560        * inspector/Inspector.json:
218561        * inspector/generate-inspector-idl: Removed.
218562
2185632011-10-20  Adam Barth  <abarth@webkit.org>
218564
218565        Attemp to fix a bunch of tests PLATFORM(MAC).  We can't use a static
218566        map because that's shared between threads (and events exist in worker
218567        threads).  It migh be better to add a thread-specific map, but we can
218568        do that in another patch.
218569
218570        * bindings/js/JSEventCustom.cpp:
218571        (WebCore::toJS):
218572        * bindings/v8/custom/V8EventCustom.cpp:
218573        (WebCore::toV8):
218574
2185752011-10-20  Simon Fraser  <simon.fraser@apple.com>
218576
218577        Hidden composited iframes cause infinite loop
218578        https://bugs.webkit.org/show_bug.cgi?id=52655
218579
218580        Reviewed by Darin Adler.
218581        
218582        visibility:hidden is problematic for compositing, because it causes
218583        RenderLayers to be removed from the z-order layer tree. This confuses
218584        RenderLayerCompositor in several ways; it never sees these layers
218585        when traversing the tree as it computes compositing requirements, or
218586        rebuilds the layer tree.
218587        
218588        This is a particular problem with composited iframes. When an iframe
218589        becomes composited, scheduleSetNeedsStyleRecalc() is called on that
218590        iframe's ownerElement in the parent document. If this happens inside
218591        Document::updateStyleForAllDocuments(), we get into an infinite loop
218592        because notifyIFramesOfCompositingChange() queues up style update as we
218593        bounce in and out of compositing mode, so documentsThatNeedStyleRecalc
218594        never empties out.
218595        
218596        This is an initial, conservative fix that doesn't attempt to fix all
218597        the issues with visibility. It changes RenderLayerCompositor to count
218598        the number of compositing RenderLayers, and to not leave compositing
218599        mode if there are any (even if they are hidden, so not hit while
218600        traversing the z-order tree). This avoids the infinite loop.
218601
218602        Test: compositing/visibility/hidden-iframe.html
218603
218604        * rendering/RenderLayer.cpp:
218605        (WebCore::RenderLayer::ensureBacking):
218606        (WebCore::RenderLayer::clearBacking):
218607        * rendering/RenderLayerCompositor.cpp:
218608        (WebCore::RenderLayerCompositor::RenderLayerCompositor):
218609        (WebCore::RenderLayerCompositor::hasAnyAdditionalCompositedLayers):
218610        (WebCore::RenderLayerCompositor::updateCompositingLayers):
218611        (WebCore::RenderLayerCompositor::computeCompositingRequirements):
218612        * rendering/RenderLayerCompositor.h:
218613        (WebCore::RenderLayerCompositor::layerBecameComposited):
218614        (WebCore::RenderLayerCompositor::layerBecameNonComposited):
218615
2186162011-10-20  Antoine Labour  <piman@chromium.org>
218617
218618        Make WebCore depend on translator_glsl instead of translator_common
218619        https://bugs.webkit.org/show_bug.cgi?id=70548
218620
218621        Reviewed by Kenneth Russell.
218622
218623        This is a build-only fix. Tested by checking WebKit still compiles and
218624        link.
218625
218626        * WebCore.gyp/WebCore.gyp:
218627
2186282011-10-20  Dana Jansens  <danakj@chromium.org>
218629
218630        [Chromium] Fix opaque flag default and for ImageLayerChromium
218631        https://bugs.webkit.org/show_bug.cgi?id=70554
218632
218633        Reviewed by James Robinson.
218634
218635        Covered by layout tests.
218636
218637        * platform/graphics/chromium/ImageLayerChromium.cpp:
218638        (WebCore::ImageLayerChromium::setContents): Set opaque flag based on if the image claims to have alpha.
218639        * platform/graphics/chromium/LayerChromium.cpp:
218640        (WebCore::LayerChromium::LayerChromium): Match the default opaque value in GraphicsLayerChromium.
218641
2186422011-10-20  Yosifumi Inoue  <yosin@chromium.org>
218643
218644        [Forms][File] Add tooltip to "No file selected" text
218645        https://bugs.webkit.org/show_bug.cgi?id=70474
218646
218647        Reviewed by Kent Tamura.
218648
218649        No new tests. Existing tests cover all changes.
218650
218651        This patch provides tooltip for text portion of upload file control
218652        tell users to know actual text of truncated text of file name and
218653        "No file selected" text. Tooltip is always displayed even if user
218654        select only one file for truncated displayed file name.
218655
218656        * html/FileInputType.cpp:
218657        (WebCore::FileInputType::defaultToolTip): Implement default tooltip logic.
218658        * html/FileInputType.h: declaration of new method defaultToolTip.
218659        * html/HTMLInputElement.cpp:
218660        (WebCore::HTMLInputElement::defaultToolTip): Impelement new method defaultToolTip.
218661        * html/HTMLInputElement.h: declaration of new method defaultToolTip.
218662        * html/InputType.cpp:
218663        (WebCore::InputType::defaultToolTip): Implement default method of defaultToolTip method.
218664        * html/InputType.h: declaration of new method defaultToolTip.
218665        * page/Chrome.cpp:
218666        (WebCore::Chrome::setToolTip): Use new method HTMLInputElement::defaultToolTip and move default tooltip logic to FileInputType::defaultToolTip method.
218667
2186682011-10-20  Darin Adler  <darin@apple.com>
218669
218670        Remove OptionElement (first half)
218671        https://bugs.webkit.org/show_bug.cgi?id=70276
218672
218673        Reviewed by Kent Tamura.
218674
218675        Refactoring that does not require new tests.
218676
218677        * css/SelectorChecker.cpp:
218678        (WebCore::SelectorChecker::checkOneSelector): Use hasTagName
218679        and toHTMLOptionElement instead of toOptionElement.
218680
218681        * dom/OptionElement.cpp: Deleted contents. Remove file later.
218682        * dom/OptionElement.h: Ditto.
218683
218684        * html/HTMLOptionElement.cpp:
218685        (WebCore::HTMLOptionElement::HTMLOptionElement): Initialize m_isSelected.
218686        (WebCore::HTMLOptionElement::createForJSConstructor): Initialize the
218687        selected attribute rather than calling setDefaultSelected.
218688        (WebCore::HTMLOptionElement::text): Moved the code here from
218689        OptionElement::collectOptionLabelOrText.
218690        (WebCore::HTMLOptionElement::index): Moved the code here from
218691        OptionElement::optionIndex.
218692        (WebCore::HTMLOptionElement::parseMappedAttribute): Removed unneeded
218693        code to call setValue and setLabel. Changed the code that called
218694        setSelected to instead set m_isSelected and added a FIXME about why
218695        that's probably wrong, but same behavior as before.
218696        (WebCore::HTMLOptionElement::value): Moved the code here from
218697        OptionElement::collectOptionValue. Added a FIXME about incorrect
218698        whitespace stripping.
218699        (WebCore::HTMLOptionElement::selected): Use m_isSelected.
218700        (WebCore::HTMLOptionElement::setSelected): Use m_isSelected and
218701        call setSelectedState instead of OptionElement::setSelectedState.
218702        (WebCore::HTMLOptionElement::setSelectedState): Moved the code
218703        here from OptionElement::setSelectedState.
218704        (WebCore::HTMLOptionElement::label): Streamlined the code.
218705        (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
218706        Moved the code here from OptionElement::collectOptionTextRespectingGroupLabel.
218707        (WebCore::HTMLOptionElement::insertedIntoTree): Use m_isSelected
218708        and rewrote comment for clarity.
218709        (WebCore::HTMLOptionElement::collectOptionInnerText): Moved this
218710        here from OptionElement, and changed to use StringBuilder.
218711        (WebCore::toHTMLOptionElement): Added.
218712
218713        * html/HTMLOptionElement.h: Removed OptionElement.h include.
218714        Removed OptionElement base class. Removed unneeded friend declarations.
218715        Made value and selected functions non-virtual. Removed unneeded
218716        defaultSelected and setDefaultSelected functions. Made the
218717        textIndentedToRespectGroupLabel and setSelectedState functions
218718        be non-virtual and public. Added a collectOptionInnerText function.
218719        Replaced m_data with m_value, m_label, and m_selected.
218720
218721        * html/HTMLSelectElement.cpp:
218722        (WebCore::toOptionElement): Added. Helper to keep existing code
218723        close to the same.
218724        (WebCore::HTMLSelectElement::nextValidIndex): Use hasTagName
218725        instead of isOptionElement.
218726        (WebCore::HTMLSelectElement::saveLastSelection): Use HTMLOptionElement
218727        type instead of OptionElement.
218728        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex): Ditto.
218729        (WebCore::HTMLSelectElement::updateListBoxSelection): Ditto.
218730        (WebCore::HTMLSelectElement::listBoxOnChange): Ditto.
218731        (WebCore::HTMLSelectElement::recalcListItems): Ditto.
218732        (WebCore::HTMLSelectElement::selectedIndex): Ditto.
218733        (WebCore::HTMLSelectElement::setSelectedIndex): Ditto.
218734        (WebCore::HTMLSelectElement::optionToListIndex): Ditto.
218735        (WebCore::HTMLSelectElement::listToOptionIndex): Ditto.
218736        (WebCore::HTMLSelectElement::deselectItemsWithoutValidation): Ditto.
218737        (WebCore::HTMLSelectElement::saveFormControlState): Ditto.
218738        (WebCore::HTMLSelectElement::restoreFormControlState): Ditto.
218739        (WebCore::HTMLSelectElement::appendFormData): Ditto.
218740        (WebCore::HTMLSelectElement::reset): Ditto.
218741        (WebCore::HTMLSelectElement::updateSelectedState): Ditto.
218742        (WebCore::HTMLSelectElement::lastSelectedListIndex): Ditto.
218743        (WebCore::HTMLSelectElement::typeAheadFind): Ditto.
218744        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex): Ditto.
218745        (WebCore::HTMLSelectElement::length): Ditto.
218746
218747        * rendering/RenderListBox.cpp:
218748        (WebCore::RenderListBox::updateFromElement): Use HTMLOptionElement,
218749        hasTagName, and toHTMLOptionElement.
218750        (WebCore::RenderListBox::addFocusRingRects): Ditto.
218751        (WebCore::RenderListBox::paintItemForeground): Ditto.
218752        (WebCore::RenderListBox::paintItemBackground): Ditto.
218753        * rendering/RenderMenuList.cpp:
218754        (WebCore::RenderMenuList::updateOptionsWidth): Ditto.
218755        (WebCore::RenderMenuList::setTextFromOption): Ditto.
218756        (WebCore::RenderMenuList::itemText): Ditto.
218757        (WebCore::RenderMenuList::itemIsSelected): Ditto.
218758
2187592011-10-20  Adam Barth  <abarth@webkit.org>
218760
218761        Attempt to fix crash for infinite recursion.
218762
218763        * bindings/v8/custom/V8EventCustom.cpp:
218764        (WebCore::toV8):
218765
2187662011-10-20  Dirk Pranke  <dpranke@chromium.org>
218767
218768        Still lots of crashes in the chromium debug bots.
218769
218770        Unreviewed, rolling out r97982.
218771        http://trac.webkit.org/changeset/97982
218772        https://bugs.webkit.org/show_bug.cgi?id=70328
218773
218774        crashing in asserts in chromium debug builds
218775
218776        * dom/DeviceMotionController.cpp:
218777        (WebCore::DeviceMotionController::timerFired):
218778        (WebCore::DeviceMotionController::addListener):
218779        (WebCore::DeviceMotionController::removeListener):
218780        (WebCore::DeviceMotionController::removeAllListeners):
218781        * dom/DeviceMotionController.h:
218782        * dom/DeviceOrientationController.cpp:
218783        * dom/DeviceOrientationController.h:
218784        * dom/Document.cpp:
218785        * dom/Document.h:
218786        * dom/ScriptExecutionContext.h:
218787        * page/GeolocationController.cpp:
218788        * page/GeolocationController.h:
218789
2187902011-10-20  Adam Barth  <abarth@webkit.org>
218791
218792        Attempt to fix the GTK build.
218793
218794        * GNUmakefile.am:
218795
2187962011-10-20  Adam Barth  <abarth@webkit.org>
218797
218798        CloseEvent.idl isn't conditional on WebSockets.
218799
218800        * dom/EventFactory.in:
218801
2188022011-10-20  Adam Barth  <abarth@webkit.org>
218803
218804        Event.h shouldn't need to know about every ifdef and feature that uses events
218805        https://bugs.webkit.org/show_bug.cgi?id=70483
218806
218807        Reviewed by Eric Seidel.
218808
218809        This patch expands make_event_factory.pl to create a
218810        DOM_EVENT_INTERFACES_FOR_EACH macro that we can use to generate code
218811        for each Event interface.  We then apply that macro to removing a large
218812        number of virtual functions on Event.  Instead of having a Boolean
218813        virtual function for each subclass of Event, we have a single virtual
218814        interfaceName function, which returns an AtomicString.  We then use the
218815        AtomicString to jump through a HashMap to find the appropriate
218816        JavaScript wrapper type.
218817
218818        This patch does not remove all of the Boolean virtual functions because
218819        I got exhausted making all of these edits, but I did remove all the
218820        ones that involve ifdefs.  A future patch will remove more.
218821
218822        * WebCore.xcodeproj/project.pbxproj:
218823        * bindings/js/JSEventCustom.cpp:
218824        (WebCore::toJS):
218825        * bindings/v8/custom/V8EventCustom.cpp:
218826        (WebCore::toV8):
218827        * dom/BeforeLoadEvent.h:
218828        (WebCore::BeforeLoadEvent::interfaceName):
218829        (WebCore::BeforeLoadEvent::isBeforeLoadEvent):
218830        * dom/BeforeTextInsertedEvent.cpp:
218831        (WebCore::BeforeTextInsertedEvent::interfaceName):
218832        * dom/BeforeTextInsertedEvent.h:
218833        * dom/ClipboardEvent.cpp:
218834        (WebCore::ClipboardEvent::interfaceName):
218835        * dom/ClipboardEvent.h:
218836        * dom/CompositionEvent.cpp:
218837        (WebCore::CompositionEvent::interfaceName):
218838        * dom/CompositionEvent.h:
218839        * dom/CustomEvent.cpp:
218840        (WebCore::CustomEvent::interfaceName):
218841        * dom/CustomEvent.h:
218842        * dom/DeviceMotionEvent.cpp:
218843        (WebCore::DeviceMotionEvent::interfaceName):
218844        * dom/DeviceMotionEvent.h:
218845        * dom/DeviceOrientationEvent.cpp:
218846        (WebCore::DeviceOrientationEvent::interfaceName):
218847        * dom/DeviceOrientationEvent.h:
218848        * dom/ErrorEvent.cpp:
218849        (WebCore::ErrorEvent::interfaceName):
218850        * dom/ErrorEvent.h:
218851        * dom/Event.cpp:
218852        (WebCore::Event::interfaceName):
218853        * dom/Event.h:
218854        * dom/EventNames.cpp:
218855        (WebCore::EventNames::EventNames):
218856        * dom/EventNames.h:
218857        * dom/HashChangeEvent.h:
218858        (WebCore::HashChangeEvent::interfaceName):
218859        * dom/KeyboardEvent.cpp:
218860        (WebCore::KeyboardEvent::interfaceName):
218861        * dom/KeyboardEvent.h:
218862        * dom/MessageEvent.cpp:
218863        (WebCore::MessageEvent::interfaceName):
218864        * dom/MessageEvent.h:
218865        * dom/MouseEvent.cpp:
218866        (WebCore::MouseEvent::interfaceName):
218867        * dom/MouseEvent.h:
218868        * dom/MutationEvent.cpp:
218869        (WebCore::MutationEvent::interfaceName):
218870        * dom/MutationEvent.h:
218871        * dom/OverflowEvent.cpp:
218872        (WebCore::OverflowEvent::interfaceName):
218873        * dom/OverflowEvent.h:
218874        * dom/PageTransitionEvent.cpp:
218875        (WebCore::PageTransitionEvent::interfaceName):
218876        * dom/PageTransitionEvent.h:
218877        * dom/PopStateEvent.cpp:
218878        (WebCore::PopStateEvent::interfaceName):
218879        * dom/PopStateEvent.h:
218880        * dom/ProgressEvent.cpp:
218881        (WebCore::ProgressEvent::interfaceName):
218882        * dom/ProgressEvent.h:
218883        * dom/TextEvent.cpp:
218884        (WebCore::TextEvent::interfaceName):
218885        * dom/TextEvent.h:
218886        * dom/TouchEvent.cpp:
218887        (WebCore::TouchEvent::interfaceName):
218888        * dom/TouchEvent.h:
218889        * dom/UIEvent.h:
218890        * dom/WebKitAnimationEvent.cpp:
218891        (WebCore::WebKitAnimationEvent::interfaceName):
218892        * dom/WebKitAnimationEvent.h:
218893        * dom/WebKitTransitionEvent.cpp:
218894        (WebCore::WebKitTransitionEvent::interfaceName):
218895        * dom/WebKitTransitionEvent.h:
218896        * dom/WheelEvent.cpp:
218897        (WebCore::WheelEvent::interfaceName):
218898        * dom/WheelEvent.h:
218899        * dom/make_event_factory.pl:
218900        (printFactoryFile):
218901        (printMacroFile):
218902        (printHeadersFile):
218903        * html/canvas/WebGLContextEvent.cpp:
218904        (WebCore::WebGLContextEvent::interfaceName):
218905        * html/canvas/WebGLContextEvent.h:
218906        * inspector/InspectorDOMStorageResource.cpp:
218907        (WebCore::InspectorDOMStorageResource::handleEvent):
218908        * p2p/MediaStreamEvent.cpp:
218909        (WebCore::MediaStreamEvent::interfaceName):
218910        * p2p/MediaStreamEvent.h:
218911        * page/SpeechInputEvent.cpp:
218912        (WebCore::SpeechInputEvent::interfaceName):
218913        * page/SpeechInputEvent.h:
218914        * storage/IDBVersionChangeEvent.cpp:
218915        (WebCore::IDBVersionChangeEvent::interfaceName):
218916        * storage/IDBVersionChangeEvent.h:
218917        * storage/StorageEvent.cpp:
218918        (WebCore::StorageEvent::interfaceName):
218919        * storage/StorageEvent.h:
218920        * svg/SVGZoomEvent.cpp:
218921        (WebCore::SVGZoomEvent::interfaceName):
218922        * svg/SVGZoomEvent.h:
218923        * webaudio/AudioProcessingEvent.cpp:
218924        (WebCore::AudioProcessingEvent::interfaceName):
218925        * webaudio/AudioProcessingEvent.h:
218926        * webaudio/OfflineAudioCompletionEvent.cpp:
218927        (WebCore::OfflineAudioCompletionEvent::interfaceName):
218928        * webaudio/OfflineAudioCompletionEvent.h:
218929        * websockets/CloseEvent.h:
218930        (WebCore::CloseEvent::interfaceName):
218931        * xml/XMLHttpRequestProgressEvent.h:
218932        (WebCore::XMLHttpRequestProgressEvent::interfaceName):
218933
2189342011-10-20  Nat Duca  <nduca@chromium.org>
218935
218936        [chromium] Route onSwapBuffersComplete from LayerRenderer to CCScheduler.
218937
218938        Reviewed by James Robinson.
218939
218940        * platform/graphics/chromium/LayerRendererChromium.cpp:
218941        (WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::create):
218942        (WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::~LayerRendererSwapBuffersCompleteCallbackAdapter):
218943        (WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::onSwapBuffersComplete):
218944        (WebCore::LayerRendererSwapBuffersCompleteCallbackAdapter::LayerRendererSwapBuffersCompleteCallbackAdapter):
218945        (WebCore::LayerRendererChromium::initialize):
218946        (WebCore::LayerRendererChromium::~LayerRendererChromium):
218947        (WebCore::LayerRendererChromium::swapBuffers):
218948        (WebCore::LayerRendererChromium::onSwapBuffersComplete):
218949        * platform/graphics/chromium/LayerRendererChromium.h:
218950        * platform/graphics/chromium/cc/CCHeadsUpDisplay.cpp:
218951        (WebCore::CCHeadsUpDisplay::onSwapBuffers):
218952        * platform/graphics/chromium/cc/CCHeadsUpDisplay.h:
218953        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
218954        (WebCore::LayerRendererCapabilities::LayerRendererCapabilities):
218955        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
218956        (WebCore::CCLayerTreeHostImpl::swapBuffers):
218957        (WebCore::CCLayerTreeHostImpl::onSwapBuffersComplete):
218958        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
218959        * platform/graphics/chromium/cc/CCScheduler.cpp:
218960        (WebCore::CCScheduler::requestRedraw):
218961        (WebCore::CCScheduler::didDrawAndSwap):
218962        (WebCore::CCScheduler::didSwapBuffersComplete):
218963        (WebCore::CCScheduler::didSwapBuffersAbort):
218964        * platform/graphics/chromium/cc/CCScheduler.h:
218965        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
218966        (WebCore::CCSingleThreadProxy::compositeImmediately):
218967        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
218968        (WebCore::CCSingleThreadProxy::onSwapBuffersCompleteOnImplThread):
218969        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
218970        (WebCore::CCThreadProxySchedulerClient::scheduleDrawAndSwap):
218971        (WebCore::CCThreadProxy::drawLayersAndReadbackOnImplThread):
218972        (WebCore::CCThreadProxy::onSwapBuffersCompleteOnImplThread):
218973        (WebCore::CCThreadProxy::finishAllRenderingOnImplThread):
218974        (WebCore::CCThreadProxy::drawLayersAndSwapOnImplThread):
218975        (WebCore::CCThreadProxy::drawLayersOnImplThread):
218976        * platform/graphics/chromium/cc/CCThreadProxy.h:
218977
2189782011-10-20  Julien Chaffraix  <jchaffraix@webkit.org>
218979
218980        RenderDeprecatedFlexibleBox does not call its children's layout method
218981        https://bugs.webkit.org/show_bug.cgi?id=64842
218982
218983        Reviewed by David Hyatt.
218984
218985        Tests: fast/flexbox/021-vertical.html
218986               fast/flexbox/crash-flexbox-no-layout-child.html
218987
218988        The FlexBoxIterator would skip any child with visibility: collapsed. However those child
218989        would need layout but their layout() function would never be called.
218990
218991        This change refactors the way flexible box handles visibility: collapsed child and mark sure
218992        their layout() function is called but makes sure that they don't participate in the flex box
218993        dimensions.
218994
218995        * rendering/RenderDeprecatedFlexibleBox.cpp:
218996        (WebCore::FlexBoxIterator::next): Do not skip visibility: collapsed child.
218997        (WebCore::childDoesNotAffectWidthOrFlexing): Helper function.
218998
218999        (WebCore::RenderDeprecatedFlexibleBox::calcHorizontalPrefWidths):
219000        (WebCore::RenderDeprecatedFlexibleBox::calcVerticalPrefWidths):
219001        (WebCore::gatherFlexChildrenInfo):
219002        (WebCore::RenderDeprecatedFlexibleBox::layoutHorizontalBox):
219003        (WebCore::RenderDeprecatedFlexibleBox::layoutVerticalBox):
219004        (WebCore::RenderDeprecatedFlexibleBox::applyLineClamp):
219005        (WebCore::RenderDeprecatedFlexibleBox::allowedChildFlex):
219006        Updated to skip the now seen visibility: collapsed child during the
219007        iteration.
219008
2190092011-10-20  Raymond Toy  <rtoy@google.com>
219010
219011        Implement SSE denormal disabler for windows.
219012
219013        https://bugs.webkit.org/show_bug.cgi?id=70517
219014
219015        Reviewed by Kenneth Russell.
219016
219017        * platform/audio/DenormalDisabler.h:
219018        (WebCore::DenormalDisabler::DenormalDisabler):
219019        Add implementation for Windows.
219020        (WebCore::DenormalDisabler::~DenormalDisabler):
219021        Ditto.
219022        (WebCore::DenormalDisabler::flushDenormalFloatToZero):
219023        Unify Windows with mac/linux.
219024        (WebCore::DenormalDisabler::getCSR):
219025        Define only if we're not on Windows.
219026        (WebCore::DenormalDisabler::setCSR):
219027        Ditto.
219028
2190292011-10-20  Alexey Proskuryakov  <ap@apple.com>
219030
219031        REGRESSION (r96823): Contextual menu closes immediately when control-clicking in Flash plug-in
219032        https://bugs.webkit.org/show_bug.cgi?id=70534
219033        <rdar://problem/10308827>
219034
219035        Reviewed by Darin Adler.
219036
219037        * plugins/PluginView.cpp: (WebCore::PluginView::handleEvent): Return true for contextmenu
219038        event, so that plug-ins won't get a default WebKit context menu. We can't know if the
219039        plug-in is handling mousedown (or even mouseup) by displaying a menu.
219040
2190412011-10-17  Nat Duca  <nduca@chromium.org>
219042
219043        [chromium] Allow CCLayerTreeHostImpl to call back to proxy via CCLayerTreeHostImplClient
219044        https://bugs.webkit.org/show_bug.cgi?id=70291
219045
219046        Reviewed by James Robinson.
219047
219048        * platform/graphics/chromium/cc/CCLayerTreeHost.cpp:
219049        (WebCore::CCLayerTreeHost::createLayerTreeHostImpl):
219050        * platform/graphics/chromium/cc/CCLayerTreeHost.h:
219051        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.cpp:
219052        (WebCore::CCLayerTreeHostImpl::create):
219053        (WebCore::CCLayerTreeHostImpl::CCLayerTreeHostImpl):
219054        (WebCore::CCLayerTreeHostImpl::scrollRootLayer):
219055        * platform/graphics/chromium/cc/CCLayerTreeHostImpl.h:
219056        * platform/graphics/chromium/cc/CCScrollController.h:
219057        * platform/graphics/chromium/cc/CCSingleThreadProxy.cpp:
219058        (WebCore::CCSingleThreadProxy::start):
219059        * platform/graphics/chromium/cc/CCSingleThreadProxy.h:
219060        (WebCore::CCSingleThreadProxy::setNeedsRedrawOnImplThread):
219061        (WebCore::CCSingleThreadProxy::setNeedsCommitOnImplThread):
219062        * platform/graphics/chromium/cc/CCThreadProxy.cpp:
219063        (WebCore::CCThreadProxy::scrollRootLayerOnImplThread):
219064        (WebCore::CCThreadProxy::initializeImplOnCCThread):
219065        (WebCore::CCThreadProxy::initializeLayerRendererOnCCThread):
219066        (WebCore::CCThreadProxy::layerTreeHostClosedOnCCThread):
219067        * platform/graphics/chromium/cc/CCThreadProxy.h:
219068        (WebCore::CCThreadProxy::setNeedsRedrawOnImplThread):
219069        (WebCore::CCThreadProxy::setNeedsCommitOnImplThread):
219070
2190712011-10-20  Tony Chang  <tony@chromium.org>
219072
219073        fix repaint bugs in new flexbox
219074        https://bugs.webkit.org/show_bug.cgi?id=70450
219075
219076        Reviewed by David Hyatt.
219077
219078        Test: css3/flexbox/repaint.html
219079              css3/flexbox/repaint-rtl-column.html
219080
219081        * rendering/RenderFlexibleBox.cpp:
219082        (WebCore::RenderFlexibleBox::layoutBlock): Use LayoutRepainter and LayoutStateMaintainer
219083            to repaint the flexbox.
219084        (WebCore::RenderFlexibleBox::layoutAndPlaceChildrenInlineDirection):
219085        (WebCore::RenderFlexibleBox::adjustLocationLogicalTopForChild): Use repaintDuringLayoutIfMoved
219086            when changing the alignment of a child to handle the child moving.
219087
2190882011-10-20  Dan Bernstein  <mitz@apple.com>
219089
219090        Flipped-blocks writing mode blocks do not hit test their overflow
219091        https://bugs.webkit.org/show_bug.cgi?id=70546
219092
219093        Reviewed by Sam Weinig.
219094
219095        Test: fast/writing-mode/flipped-blocks-hit-test-overflow.html
219096
219097        * rendering/RenderBlock.cpp:
219098        (WebCore::RenderBlock::nodeAtPoint): Flip the overflow rect if necessary.
219099
2191002011-10-20  David Hyatt  <hyatt@apple.com>
219101
219102        https://bugs.webkit.org/show_bug.cgi?id=70539
219103        
219104        Make the 'clip' property work in variable width regions.
219105
219106        Reviewed by Dan Bernstein.
219107
219108        Added new test in fast/regions.
219109
219110        * rendering/RenderBox.cpp:
219111        (WebCore::RenderBox::clipRect):
219112        * rendering/RenderBox.h:
219113        * rendering/RenderLayer.cpp:
219114        (WebCore::RenderLayer::calculateClipRects):
219115        (WebCore::RenderLayer::calculateRects):
219116        (WebCore::RenderLayer::repaintBlockSelectionGaps):
219117        * rendering/RenderLayerBacking.cpp:
219118        (WebCore::clipBox):
219119
2191202011-10-20  Simon Fraser  <simon.fraser@apple.com>
219121
219122        Fix build breakage on some platforms after r98008.
219123
219124        * page/FrameTree.cpp:
219125
2191262011-10-20  Vincent Scheib  <scheib@chromium.org>
219127
219128        MouseLock compile and run time flags.
219129        https://bugs.webkit.org/show_bug.cgi?id=70530
219130
219131        Reviewed by Darin Fisher.
219132
219133        No new tests.
219134
219135        * bindings/generic/RuntimeEnabledFeatures.cpp:
219136        * bindings/generic/RuntimeEnabledFeatures.h:
219137        (WebCore::RuntimeEnabledFeatures::webkitMouseLockAPIEnabled):
219138        (WebCore::RuntimeEnabledFeatures::setWebkitMouseLockAPIEnabled):
219139        (WebCore::RuntimeEnabledFeatures::webkitLockMouseEnabled):
219140        (WebCore::RuntimeEnabledFeatures::webkitUnlockMouseEnabled):
219141        (WebCore::RuntimeEnabledFeatures::webkitMouseLockedEnabled):
219142        * page/Settings.cpp:
219143        (WebCore::Settings::Settings):
219144        * page/Settings.h:
219145        (WebCore::Settings::setMouseLockEnabled):
219146        (WebCore::Settings::mouseLockEnabled):
219147
2191482011-10-20  Tony Chang  <tony@chromium.org>
219149
219150        Fix a compiler warning in MediaStreamTrack.cpp:
219151        ../../third_party/WebKit/Source/WebCore/dom/MediaStreamTrack.cpp: In member function 'WTF::String WebCore::MediaStreamTrack::kind() const':
219152        ../../third_party/WebKit/Source/WebCore/dom/MediaStreamTrack.cpp:61:1: error: control reaches end of non-void function [-Werror=return-type]
219153
219154        Unreviewed build fix.
219155
219156        * dom/MediaStreamTrack.cpp:
219157        (WebCore::MediaStreamTrack::kind):
219158
2191592011-10-20  Gustavo Noronha Silva  <gns@gnome.org>
219160
219161        One more GTK+ build fix. Remove CueLoader files from the build.
219162
219163        * GNUmakefile.list.am:
219164
2191652011-10-20  Ken Buchanan <kenrb@chromium.org>
219166
219167        Crash in updateFirstLetter on :after generated content
219168        https://bugs.webkit.org/show_bug.cgi?id=70031
219169
219170        Reviewed by David Hyatt.
219171
219172        Preventing findBeforeAfterParent() from returning a first-letter block and overwriting its style.
219173        Instead, it returns the block's parent.
219174
219175        * rendering/RenderBlock.cpp:
219176        (WebCore::RenderBlock::updateFirstLetter):
219177        * rendering/RenderObjectChildList.cpp:
219178        (WebCore::findBeforeAfterParent)
219179        (WebCore::RenderObjectChildList::updateBeforeAfterContent): First-letter siblings now already have style applied, so this clause is redundant
219180
2191812011-10-20  Simon Fraser  <simon.fraser@apple.com>
219182
219183        Add a way to print the Frame tree from the debugger.
219184
219185        Reviewed by Sam Weinig.
219186        
219187        Add a showFrameTree(frame) method, callable from gdb,
219188        which dumps the Frame tree, including the frame's view,
219189        document, owner element and URI.
219190
219191        * page/FrameTree.cpp:
219192        (printIndent):
219193        (printFrames):
219194        (showFrameTree):
219195        * page/FrameTree.h:
219196        * rendering/RenderLayer.cpp:
219197        (WebCore::RenderLayer::updateClipRects):
219198        * rendering/RenderLayerCompositor.cpp:
219199        (WebCore::RenderLayerCompositor::requiresCompositingForFrame):
219200
2192012011-10-20  Andreas Kling  <kling@webkit.org>
219202
219203        Remove StyleBase::cssText().
219204        https://bugs.webkit.org/show_bug.cgi?id=70521
219205
219206        Reviewed by Antti Koivisto.
219207
219208        * css/StyleBase.cpp:
219209        * css/StyleBase.h:
219210
2192112011-10-20  Eugene Nalimov  <enal@chromium.org>
219212
219213        Playing HTMLAudioElement can be garbage collected
219214        https://bugs.webkit.org/show_bug.cgi?id=66878
219215
219216        Reviewed by Adam Barth.
219217
219218        Make HTMLAudioElement an 'active' one, meaning that it cannot be
219219        garbage collected if it has panding activity. Had to make
219220        HTMLMediaElement::hasPendingActivity() and
219221        HTMLAudioElement::hasPendingActivity() public, otherwise automatically
219222        generated code would not compile. 
219223
219224        Test: no test, as automatic test is blocked by
219225        https://bugs.webkit.org/show_bug.cgi?id=70421
219226        You don't want to sit down and listen if audio stream played completely,
219227        and cannot rely on 'ended' event because events are lost when events
219228        listener is collected. 
219229
219230        * html/HTMLAudioElement.idl:
219231        * html/HTMLAudioElement.h:
219232        (WebCore::HTMLAudioElement::hasPendingActivity):
219233        * html/HTMLMediaElement.h:
219234
2192352011-10-20  Mark Hahnenberg  <mhahnenberg@apple.com>
219236
219237        Rename static deleteProperty to deletePropertyByIndex
219238        https://bugs.webkit.org/show_bug.cgi?id=70257
219239
219240        Reviewed by Geoffrey Garen.
219241
219242        No new tests.
219243
219244        Renaming versions of deleteProperty that use an unsigned as the property
219245        name to "deletePropertyByIndex" in preparation for adding them to the 
219246        MethodTable, which requires unique names for each method.
219247
219248        * bridge/runtime_array.cpp:
219249        (JSC::RuntimeArray::deletePropertyVirtual):
219250        (JSC::RuntimeArray::deletePropertyByIndex):
219251        * bridge/runtime_array.h:
219252
2192532011-10-20  Eric Carlson  <eric.carlson@apple.com>
219254
219255        Rename some Cue classes to TextTrack
219256        https://bugs.webkit.org/show_bug.cgi?id=70346
219257
219258        Rename CueLoader -> TextTrackLoader, CachedCues -> CachedTextTrack, and CueIndex -> TextTrackIndex.
219259
219260        Reviewed by Darin Adler.
219261
219262        No new tests, renames only.
219263
219264        * CMakeLists.txt:
219265        * GNUmakefile.list.am:
219266        * WebCore.gypi:
219267        * WebCore.pro:
219268        * WebCore.xcodeproj/project.pbxproj:
219269        * html/CueIndex.cpp: Removed.
219270        * html/CueIndex.h: Removed.
219271        * html/LoadableTextTrack.cpp:
219272        (WebCore::LoadableTextTrack::load):
219273        (WebCore::LoadableTextTrack::newCuesAvailable):
219274        (WebCore::LoadableTextTrack::cueLoadingStarted):
219275        (WebCore::LoadableTextTrack::cueLoadingCompleted):
219276        * html/LoadableTextTrack.h:
219277        (WebCore::LoadableTextTrack::shouldLoadCues):
219278        * html/MutableTextTrack.h:
219279        * html/TextTrackIndex.cpp: Copied from Source/WebCore/html/CueIndex.cpp.
219280        (WebCore::TextTrackCueSet::difference):
219281        (WebCore::TextTrackCueSet::unionSet):
219282        (WebCore::TextTrackCueSet::add):
219283        (WebCore::TextTrackCueSet::contains):
219284        (WebCore::TextTrackCueSet::remove):
219285        (WebCore::TextTrackCueSet::isEmpty):
219286        (WebCore::TextTrackCueSet::size):
219287        (WebCore::TextTrackIndex::fetchNewCuesFromLoader):
219288        (WebCore::TextTrackIndex::removeCuesFromIndex):
219289        (WebCore::TextTrackIndex::visibleCuesAtTime):
219290        (WebCore::TextTrackIndex::add):
219291        (WebCore::TextTrackIndex::remove):
219292        * html/TextTrackIndex.h: Copied from Source/WebCore/html/CueIndex.h.
219293        (WebCore::TextTrackCueSet::TextTrackCueSet):
219294        (WebCore::TextTrackCueSet::~TextTrackCueSet):
219295        * loader/CueLoader.cpp: Removed.
219296        * loader/CueLoader.h: Removed.
219297        * loader/TextTrackLoader.cpp: Copied from Source/WebCore/loader/CueLoader.cpp.
219298        (WebCore::TextTrackLoader::TextTrackLoader):
219299        (WebCore::TextTrackLoader::~TextTrackLoader):
219300        (WebCore::TextTrackLoader::cueLoadTimerFired):
219301        (WebCore::TextTrackLoader::processNewCueData):
219302        (WebCore::TextTrackLoader::didReceiveData):
219303        (WebCore::TextTrackLoader::notifyFinished):
219304        (WebCore::TextTrackLoader::load):
219305        (WebCore::TextTrackLoader::newCuesParsed):
219306        (WebCore::TextTrackLoader::getNewCues):
219307        * loader/TextTrackLoader.h: Copied from Source/WebCore/loader/CueLoader.h.
219308        (WebCore::TextTrackLoaderClient::~TextTrackLoaderClient):
219309        (WebCore::TextTrackLoader::create):
219310        * loader/cache/CachedCues.cpp: Removed.
219311        * loader/cache/CachedCues.h: Removed.
219312        * loader/cache/CachedResourceLoader.cpp:
219313        (WebCore::createResource):
219314        (WebCore::CachedResourceLoader::requestCues):
219315        * loader/cache/CachedResourceLoader.h:
219316        * loader/cache/CachedTextTrack.cpp: Copied from Source/WebCore/loader/cache/CachedCues.cpp.
219317        (WebCore::CachedTextTrack::CachedTextTrack):
219318        (WebCore::CachedTextTrack::~CachedTextTrack):
219319        (WebCore::CachedTextTrack::data):
219320        * loader/cache/CachedTextTrack.h: Copied from Source/WebCore/loader/cache/CachedCues.h.
219321
2193222011-10-20  Joseph Pecoraro  <joepeck@webkit.org>
219323
219324        Remove Now Unused FileChooserSettings.deprecatedAcceptTypes
219325        https://bugs.webkit.org/show_bug.cgi?id=70473
219326
219327        Reviewed by Dan Bernstein.
219328
219329        * html/FileInputType.cpp:
219330        (WebCore::FileInputType::handleDOMActivateEvent):
219331        (WebCore::FileInputType::receiveDropForDirectoryUpload):
219332        * platform/FileChooser.h:
219333
2193342011-10-20  Andreas Kling  <kling@webkit.org>
219335
219336        Simplify CSSParser::document().
219337        https://bugs.webkit.org/show_bug.cgi?id=70518
219338
219339        Reviewed by Antti Koivisto.
219340
219341        We don't need to climb up the entire parent chain here to find the
219342        Document, just grab it from m_styleSheet (which will do the climbing
219343        for us if necessary.)
219344
219345        * css/CSSParser.cpp:
219346        (WebCore::CSSParser::document):
219347
2193482011-10-20  Pierre Rossi  <pierre.rossi@gmail.com>
219349
219350        [Qt] FontCache::createFontPlatformData() is broken, a default font is returned
219351        even if the family does not match.
219352        https://bugs.webkit.org/show_bug.cgi?id=55036
219353
219354        The problem here was that a FontPlatformData
219355        object is always created, regardless of whether
219356        the request for a given font family can be
219357        satisfied or not.
219358
219359        Reviewed by Andreas Kling.
219360
219361        Covered by existing tests.
219362
219363        * platform/graphics/qt/FontCacheQt.cpp:
219364        (WebCore::FontCache::createFontPlatformData):
219365
2193662011-10-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
219367
219368        When user is panning with the tiled backing store, the page
219369        isn't notified about the scroll position change
219370        https://bugs.webkit.org/show_bug.cgi?id=70495
219371
219372        Reviewed by Simon Hausmann.
219373
219374        When using the tiled backing store the UI handles scrolling,
219375        and sends setFixedVisibleContentRect after panning/scale ends.
219376
219377        If we actually changed position we need to send the scroll DOM event.
219378
219379        Covered by existing tests, though we are not testing the tiled backing store yet.
219380
219381        * page/FrameView.cpp:
219382        (WebCore::FrameView::setFixedVisibleContentRect):
219383        * page/FrameView.h:
219384        * platform/ScrollView.h:
219385        (WebCore::ScrollView::setFixedVisibleContentRect):
219386
2193872011-10-20  John Knottenbelt  <jknotten@chromium.org>
219388
219389        Touch events should take page scale into account
219390        https://bugs.webkit.org/show_bug.cgi?id=69798
219391
219392        Reviewed by Adam Barth.
219393
219394        Test: fast/events/touch/page-scaled-touch-gesture-click.html
219395
219396        * page/EventHandler.cpp:
219397        (WebCore::EventHandler::handleTouchEvent):
219398
2193992011-10-20  Andreas Kling  <kling@webkit.org>
219400
219401        CSSMutableStyleDeclaration: Simplify setNeedsStyleRecalc().
219402        https://bugs.webkit.org/show_bug.cgi?id=70509
219403
219404        Reviewed by Antti Koivisto.
219405
219406        We don't need to climb up the entire parent chain here to find the
219407        Document, just grab it from the parentStyleSheet() (which will do
219408        the climbing for us if necessary.)
219409
219410        * css/CSSMutableStyleDeclaration.cpp:
219411        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
219412
2194132011-10-20  Andreas Kling  <kling@webkit.org>
219414
219415        CSSStyleDeclaration: Remove inheritance from StyleBase.
219416        https://bugs.webkit.org/show_bug.cgi?id=70411
219417
219418        Reviewed by Antti Koivisto.
219419
219420        * bindings/js/JSDOMBinding.h:
219421        (WebCore::root):
219422
219423            Specialized root() for CSSStyleDeclaration and CSSMutableStyleDeclaration.
219424
219425        * css/CSSMutableStyleDeclaration.cpp:
219426        (WebCore::CSSMutableStyleDeclaration::setNeedsStyleRecalc):
219427
219428            Start the parent chain traversal from the parentStyleSheet().
219429
219430        (WebCore::CSSMutableStyleDeclaration::addSubresourceStyleURLs):
219431        * css/CSSParser.cpp:
219432        (WebCore::parseColorValue):
219433        (WebCore::parseSimpleLengthValue):
219434        (WebCore::CSSParser::parseValue):
219435        (WebCore::CSSParser::parseColor):
219436        (WebCore::CSSParser::parseDeclaration):
219437
219438            Remove now-unnecessary assertions and casts.
219439
219440        * css/CSSStyleDeclaration.cpp:
219441        (WebCore::CSSStyleDeclaration::CSSStyleDeclaration):
219442        * css/CSSStyleDeclaration.h:
219443        (WebCore::CSSStyleDeclaration::~CSSStyleDeclaration):
219444        (WebCore::CSSStyleDeclaration::parentRule):
219445        (WebCore::CSSStyleDeclaration::setParentRule):
219446        (WebCore::CSSStyleDeclaration::setParentStyleSheet):
219447        (WebCore::CSSStyleDeclaration::parentStyleSheet):
219448
219449            Make CSSStyleDeclaration inherit directly from RefCounted, and have either
219450            a CSSRule or CSSStyleSheet parent. Eventually it should only need to have
219451            rules as parents, but CSSParser depends on having style sheet parents for
219452            URL completion and primitive value cache.
219453
219454        * css/StyleBase.h:
219455        * css/CSSStyleDeclaration.h:
219456        (WebCore::CSSStyleDeclaration::isMutableStyleDeclaration):
219457
219458            Moved from StyleBase down to CSSStyleDeclaration.
219459
219460        * css/CSSStyleRule.cpp:
219461        (WebCore::CSSStyleRule::~CSSStyleRule):
219462        (WebCore::CSSStyleRule::setSelectorText):
219463        * css/WebKitCSSKeyframeRule.cpp:
219464        (WebCore::WebKitCSSKeyframeRule::~WebKitCSSKeyframeRule):
219465        (WebCore::WebKitCSSKeyframeRule::setDeclaration):
219466        * css/WebKitCSSKeyframesRule.cpp:
219467        (WebCore::WebKitCSSKeyframesRule::~WebKitCSSKeyframesRule):
219468        (WebCore::WebKitCSSKeyframesRule::append):
219469        (WebCore::WebKitCSSKeyframesRule::deleteRule):
219470        * dom/StyledElement.cpp:
219471        (WebCore::StyledElement::createInlineStyleDecl):
219472        (WebCore::StyledElement::destroyInlineStyleDecl):
219473        (WebCore::StyledElement::attributeChanged):
219474        (WebCore::StyledElement::createMappedDecl):
219475        (WebCore::StyledElement::didMoveToNewOwnerDocument):
219476        * html/HTMLTableElement.cpp:
219477        (WebCore::HTMLTableElement::additionalAttributeStyleDecls):
219478        (WebCore::HTMLTableElement::addSharedCellBordersDecl):
219479        (WebCore::HTMLTableElement::addSharedCellPaddingDecl):
219480        (WebCore::HTMLTableElement::addSharedGroupDecls):
219481        * page/PageSerializer.cpp:
219482        (WebCore::PageSerializer::retrieveResourcesForCSSDeclaration):
219483        * svg/SVGFontFaceElement.cpp:
219484        (WebCore::SVGFontFaceElement::SVGFontFaceElement):
219485
219486            Use the new parenting methods of CSSStyleDeclaration.
219487
219488        * css/StyleBase.cpp:
219489        (WebCore::StyleBase::node):
219490
219491            Remove the isMutableStyleDeclaration() code path.
219492
2194932011-10-20  Pavel Feldman  <pfeldman@google.com>
219494
219495        Web Inspector: detach should call hide so that overrides are processed.
219496        https://bugs.webkit.org/show_bug.cgi?id=70503
219497
219498        Reviewed by Yury Semikhatsky.
219499
219500        * inspector/front-end/ConsolePanel.js:
219501        (WebInspector.ConsolePanel.prototype.hide):
219502        * inspector/front-end/View.js:
219503        (WebInspector.View):
219504        (WebInspector.View.prototype.hide):
219505        (WebInspector.View.prototype.detach):
219506
2195072011-10-20  Csaba Osztrogonác  <ossy@webkit.org>
219508
219509        [Qt] Roll-back r97964, r97972 and fix in https://bugs.webkit.org/show_bug.cgi?id=70328.
219510
219511        * dom/DeviceMotionController.cpp:
219512        (WebCore::DeviceMotionController::timerFired):
219513        (WebCore::DeviceMotionController::addListener):
219514        (WebCore::DeviceMotionController::removeListener):
219515        (WebCore::DeviceMotionController::removeAllListeners):
219516        (WebCore::DeviceMotionController::suspend):
219517        (WebCore::DeviceMotionController::resume):
219518        * dom/DeviceMotionController.h:
219519        * dom/DeviceOrientationController.cpp:
219520        (WebCore::DeviceOrientationController::suspend):
219521        (WebCore::DeviceOrientationController::resume):
219522        * dom/DeviceOrientationController.h:
219523        * dom/Document.cpp:
219524        (WebCore::Document::suspendActiveDOMObjects):
219525        (WebCore::Document::resumeActiveDOMObjects):
219526        (WebCore::Document::stopActiveDOMObjects):
219527        * dom/Document.h:
219528        * dom/ScriptExecutionContext.h:
219529        * page/GeolocationController.cpp:
219530        (WebCore::GeolocationController::suspend):
219531        (WebCore::GeolocationController::resume):
219532        * page/GeolocationController.h:
219533
2195342011-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
219535
219536        Unreviewed, rolling out r97964 and r97972.
219537        http://trac.webkit.org/changeset/97964
219538        http://trac.webkit.org/changeset/97972
219539        https://bugs.webkit.org/show_bug.cgi?id=70502
219540
219541        They broke all geolocation tests in debug mode (Requested by
219542        Ossy on #webkit).
219543
219544        * dom/DeviceMotionController.cpp:
219545        (WebCore::DeviceMotionController::timerFired):
219546        (WebCore::DeviceMotionController::addListener):
219547        (WebCore::DeviceMotionController::removeListener):
219548        (WebCore::DeviceMotionController::removeAllListeners):
219549        * dom/DeviceMotionController.h:
219550        * dom/DeviceOrientationController.cpp:
219551        * dom/DeviceOrientationController.h:
219552        * dom/Document.cpp:
219553        * dom/Document.h:
219554        * dom/ScriptExecutionContext.h:
219555        * page/GeolocationController.cpp:
219556        * page/GeolocationController.h:
219557
2195582011-10-20  Ilya Tikhonovsky  <loislo@chromium.org>
219559
219560        Unreviewed fix for Date.prototype.toISO8601Compact.
219561        It was generated wrong string for the dates with no leading zeros like 2011.11.11.
219562
219563        * inspector/front-end/utilities.js:
219564
2195652011-10-20  Pavel Feldman  <pfeldman@google.com>
219566
219567        Web Inspector: minor CPU profiling UX improvements
219568        https://bugs.webkit.org/show_bug.cgi?id=70499
219569
219570        Store profile type. Store time percentage toggle state.
219571
219572        Reviewed by Yury Semikhatsky.
219573
219574        * inspector/front-end/ProfileDataGridTree.js:
219575        * inspector/front-end/ProfileView.js:
219576        (WebInspector.CPUProfileView.profileCallback):
219577        (WebInspector.CPUProfileView.prototype._changeView.set else):
219578
2195792011-10-20  Vsevolod Vlasov  <vsevik@chromium.org>
219580
219581        Web Inspector: Advanced search results should keep working after pretty print toggled.
219582        https://bugs.webkit.org/show_bug.cgi?id=70347
219583
219584        Reviewed by Pavel Feldman.
219585
219586        * inspector/front-end/AdvancedSearchController.js:
219587        (WebInspector.SearchScope.prototype.createSearchResultsPane):
219588        (WebInspector.FileBasedSearchResultsPane.prototype.createAnchor):
219589        (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
219590        (WebInspector.FileBasedSearchResultsPane.prototype._regexMatchRanges):
219591        (WebInspector.FileBasedSearchResultsPane.prototype._createContentSpan):
219592        * inspector/front-end/BreakpointManager.js:
219593        (WebInspector.BreakpointManager.prototype._materializeBreakpoint):
219594        * inspector/front-end/CompilerSourceMapping.js:
219595        (WebInspector.CompilerSourceMapping.prototype.sourceLocationToCompiledLocation):
219596        * inspector/front-end/DebuggerPresentationModel.js:
219597        (WebInspector.DebuggerPresentationModel.prototype.createLinkifier):
219598        (WebInspector.DebuggerPresentationModel.prototype.continueToLine):
219599        (WebInspector.DebuggerPresentationModel.LinkifierFormatter):
219600        (WebInspector.DebuggerPresentationModel.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
219601        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter):
219602        (WebInspector.DebuggerPresentationModel.DefaultLinkifierFormatter.prototype.formatRawSourceCodeAnchor):
219603        (WebInspector.DebuggerPresentationModel.Linkifier):
219604        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyLocation):
219605        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyResource):
219606        (WebInspector.DebuggerPresentationModel.Linkifier.prototype.linkifyRawSourceCode):
219607        (WebInspector.DebuggerPresentationModel.Linkifier.prototype._updateAnchor):
219608        * inspector/front-end/RawSourceCode.js:
219609        (WebInspector.RawSourceCode.SourceMapping.prototype.uiLocationToRawLocation):
219610        (WebInspector.RawSourceCode.PlainSourceMapping.prototype.uiLocationToRawLocation):
219611        (WebInspector.RawSourceCode.FormattedSourceMapping.prototype.uiLocationToRawLocation):
219612        (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiLocationToRawLocation):
219613        * inspector/front-end/ScriptsSearchScope.js:
219614        (WebInspector.ScriptsSearchResultsPane):
219615        (WebInspector.ScriptsSearchResultsPane.prototype.createAnchor):
219616        (WebInspector.ScriptsSearchResultsPane.LinkifierFormatter):
219617        (WebInspector.ScriptsSearchResultsPane.LinkifierFormatter.prototype.formatRawSourceCodeAnchor):
219618        * inspector/front-end/inspector.html:
219619
2196202011-10-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
219621
219622        m_client in DeviceMotionController can never be 0, so no need to check for it
219623        https://bugs.webkit.org/show_bug.cgi?id=70490
219624
219625        Reviewed by Simon Hausmann.
219626
219627        No behavior change, thus no new tests.
219628
219629        * dom/DeviceMotionController.cpp:
219630        (WebCore::DeviceMotionController::timerFired):
219631        (WebCore::DeviceMotionController::addListener):
219632        (WebCore::DeviceMotionController::removeListener):
219633        (WebCore::DeviceMotionController::removeAllListeners):
219634        (WebCore::DeviceMotionController::suspend):
219635        (WebCore::DeviceMotionController::resume):
219636
2196372011-10-20  Cary Clark  <caryclark@google.com>
219638
219639        [Chromium Skia on Mac] Improve focus ring
219640        https://bugs.webkit.org/show_bug.cgi?id=70124
219641
219642        Reviewed by Adam Barth.
219643        
219644        The focus ring code formerly outset the bounds of
219645        the component rectangles by fractional amounts. Because
219646        the rectangles are SkIRect (integer based), the fractional
219647        outset had no effect.
219648
219649        The equivalent code in GraphicsContextMac.mm computes
219650        the curve radius and rectangle outset with integers, so
219651        the use of floats in Skia's case, besides not working,
219652        is unnecessary.
219653
219654        The Skia code also failed to take the offset into account.
219655        In LayoutTests, the focus rings either have an offset of
219656        0 or 2. The CoreGraphics code increases the ring's rectangles
219657        by the offset, then passes the result to wkDrawFocusRing.
219658
219659        I did not find any documentation about how wkDrawFocusRing
219660        further inflates the focus ring, but empirically I determined
219661        that adding 2 to the offset generated rings with identical
219662        outer diameters.
219663 
219664        With these adjustments, the layout tests generate focus rings
219665        in the Skia on Mac case that match the coverage of the
219666        Chromium CG-based platform, in particular, matching:
219667        
219668        editing/inserting/editable-inline-element.html
219669        editing/selection/3690703-2.html
219670
219671        * platform/graphics/skia/GraphicsContextSkia.cpp:
219672        (WebCore::getFocusRingOutset):
219673        (WebCore::GraphicsContext::drawFocusRing):
219674
2196752011-10-20  Zoltan Herczeg  <zherczeg@webkit.org>
219676
219677        Improve NEON based GaussianBlur
219678        https://bugs.webkit.org/show_bug.cgi?id=70493
219679
219680        Reviewed by Csaba Osztrogonác.
219681
219682        vmov instruction is less complex than vtbl.
219683
219684        * platform/graphics/filters/arm/FEGaussianBlurNEON.cpp:
219685
2196862011-10-20  Pavel Feldman  <pfeldman@google.com>
219687
219688        Not reviewed: follow up to 97961 - dispatching of hide on detach was missing.
219689
219690        * inspector/front-end/AuditsPanel.js:
219691        (WebInspector.AuditsPanel.prototype.show):
219692        * inspector/front-end/View.js:
219693        (WebInspector.View.prototype.detach):
219694        * inspector/front-end/utilities.js:
219695
2196962011-10-20  Kenneth Rohde Christiansen  <kenneth@webkit.org>
219697
219698        Properly suspend/resume Geolocation/DeviceMotion/DeviceOrientation objects
219699        https://bugs.webkit.org/show_bug.cgi?id=70328
219700
219701        Reviewed by Simon Hausmann.
219702
219703        Based on code from iOS and the N9.
219704
219705        No new tests, as the suspend/resume functionality is not fully working yet.
219706
219707        * dom/DeviceMotionController.cpp:
219708        (WebCore::DeviceMotionController::suspend):
219709        (WebCore::DeviceMotionController::resume):
219710        * dom/DeviceMotionController.h:
219711        * dom/DeviceOrientationController.cpp:
219712        (WebCore::DeviceOrientationController::addListener):
219713        (WebCore::DeviceOrientationController::removeListener):
219714        (WebCore::DeviceOrientationController::removeAllListeners):
219715        (WebCore::DeviceOrientationController::suspend):
219716        (WebCore::DeviceOrientationController::resume):
219717        * dom/DeviceOrientationController.h:
219718        * dom/Document.cpp:
219719        (WebCore::Document::suspendActiveDOMObjects):
219720        (WebCore::Document::resumeActiveDOMObjects):
219721        (WebCore::Document::stopActiveDOMObjects):
219722        * dom/Document.h:
219723        * dom/ScriptExecutionContext.h:
219724        * page/GeolocationController.cpp:
219725        (WebCore::GeolocationController::suspend):
219726        (WebCore::GeolocationController::resume):
219727        * page/GeolocationController.h:
219728
2197292011-10-20  Antti Koivisto  <antti@apple.com>
219730
219731        Move rule matching and applying to separate functions from CSSStyleSelector::styleForElement
219732        https://bugs.webkit.org/show_bug.cgi?id=70408
219733
219734        Reviewed by Andreas Kling.
219735
219736        - Move matching code to matchAllRules and applying to applyMatchedDeclarations.
219737        - Encapsulate the matching results into a struct, use everywhere.
219738        - Move first-line style adjustment to adjustRenderStyle().
219739        - Remove unnecessary tests for resolveForRootDefault when applying the style
219740        - Use applyMatchedDeclarations also from pseudoStyleForElement
219741
219742        * css/CSSStyleSelector.cpp:
219743        (WebCore::CSSStyleSelector::matchAllRules):
219744        (WebCore::CSSStyleSelector::matchUARules):
219745        (WebCore::CSSStyleSelector::styleForElement):
219746        (WebCore::CSSStyleSelector::pseudoStyleForElement):
219747        (WebCore::CSSStyleSelector::styleForPage):
219748        (WebCore::CSSStyleSelector::adjustRenderStyle):
219749        (WebCore::CSSStyleSelector::pseudoStyleRulesForElement):
219750        (WebCore::CSSStyleSelector::applyMatchedDeclarations):
219751        * css/CSSStyleSelector.h:
219752        (WebCore::CSSStyleSelector::MatchResult::MatchResult):
219753
2197542011-10-19  Pavel Feldman  <pfeldman@google.com>
219755
219756        Web Inspector: get rid of manual view hierarchy management.
219757        https://bugs.webkit.org/show_bug.cgi?id=70417
219758
219759        Reviewed by Yury Semikhatsky.
219760
219761        * inspector/front-end/AuditsPanel.js:
219762        (WebInspector.AuditsPanel.prototype.show):
219763        (WebInspector.AuditsPanel.prototype._clearButtonClicked):
219764        * inspector/front-end/ConsolePanel.js:
219765        (WebInspector.ConsolePanel.prototype.show):
219766        (WebInspector.ConsolePanel.prototype.hide):
219767        * inspector/front-end/DetailedHeapshotGridNodes.js:
219768        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent.else.formatResult):
219769        (WebInspector.HeapSnapshotGenericObjectNode.prototype.queryObjectContent):
219770        * inspector/front-end/DetailedHeapshotView.js:
219771        (WebInspector.DetailedHeapshotView.prototype.show.profileCallback2):
219772        (WebInspector.DetailedHeapshotView.prototype.show):
219773        (WebInspector.DetailedHeapshotView.prototype._changeView):
219774        * inspector/front-end/IFrameView.js:
219775        * inspector/front-end/NetworkPanel.js:
219776        (WebInspector.NetworkLogView):
219777        (WebInspector.NetworkLogView.prototype._initializeView):
219778        (WebInspector.NetworkPanel.prototype.show):
219779        (WebInspector.NetworkPanel.prototype._showResource):
219780        (WebInspector.NetworkPanel.prototype._closeVisibleResource):
219781        * inspector/front-end/Panel.js:
219782        (WebInspector.Panel.prototype.show):
219783        (WebInspector.Panel.prototype.detach):
219784        * inspector/front-end/ProfilesPanel.js:
219785        (WebInspector.ProfilesPanel.prototype._reset):
219786        (WebInspector.ProfilesPanel.prototype.closeVisibleView):
219787        * inspector/front-end/RemoteObject.js:
219788        * inspector/front-end/ResourcePreviewView.js:
219789        (WebInspector.ResourcePreviewView.prototype.contentLoaded):
219790        * inspector/front-end/ResourceResponseView.js:
219791        (WebInspector.ResourceResponseView.prototype.contentLoaded):
219792        * inspector/front-end/ResourceTimingView.js:
219793        (WebInspector.ResourceTimingView.prototype.show):
219794        * inspector/front-end/ResourcesPanel.js:
219795        (WebInspector.ResourcesPanel.prototype.reset):
219796        (WebInspector.ResourcesPanel.prototype._innerShowView):
219797        (WebInspector.FrameResourceTreeElement.prototype._recreateSourceView):
219798        * inspector/front-end/ScriptsPanel.js:
219799        (WebInspector.ScriptsPanel.prototype._uiSourceCodeRemoved):
219800        (WebInspector.ScriptsPanel.prototype._createSourceFrame):
219801        (WebInspector.ScriptsPanel.prototype._removeSourceFrame):
219802        * inspector/front-end/SourceFrame.js:
219803        (WebInspector.SourceFrame):
219804        (WebInspector.SourceFrame.prototype.show):
219805        * inspector/front-end/TabbedPane.js:
219806        (WebInspector.TabbedPane):
219807        (WebInspector.TabbedPane.prototype.appendTab):
219808        (WebInspector.TabbedPane.prototype._hideTab):
219809        * inspector/front-end/View.js:
219810        (WebInspector.View):
219811        (WebInspector.View.prototype.show):
219812        (WebInspector.View.prototype.hide):
219813        (WebInspector.View.prototype.attach):
219814        (WebInspector.View.prototype.detach):
219815        (WebInspector.View.prototype._addChildView):
219816        (WebInspector.View.prototype._removeChildView):
219817        (WebInspector.View.prototype.dispatchToVisibleChildren):
219818        (WebInspector.View.prototype._handleInsertedIntoDocument):
219819        (WebInspector.View.prototype._handleRemovedFromDocument):
219820        (WebInspector.View.prototype.printViewHierarchy):
219821        (WebInspector.View.prototype._collectViewHierarchy):
219822        * inspector/front-end/inspector.html:
219823        * inspector/front-end/inspector.js:
219824
2198252011-10-20  Vsevolod Vlasov  <vsevik@chromium.org>
219826
219827        Web Inspector: Enable support for advanced search in script's static content provider.
219828        https://bugs.webkit.org/show_bug.cgi?id=70354
219829
219830        Reviewed by Pavel Feldman.
219831
219832        Test: http/tests/inspector/search/search-in-static.html
219833
219834        * inspector/front-end/AdvancedSearchController.js:
219835        (WebInspector.FileBasedSearchResultsPane.prototype.addSearchResult):
219836        * inspector/front-end/ConsolePanel.js:
219837        (WebInspector.ConsolePanel.prototype.performSearch):
219838        * inspector/front-end/ContentProviders.js:
219839        (WebInspector.StaticContentProvider.prototype.searchInContent):
219840        * inspector/front-end/ElementsTreeOutline.js:
219841        ():
219842        * inspector/front-end/NetworkPanel.js:
219843        (WebInspector.NetworkLogView.prototype.performSearch):
219844        * inspector/front-end/ScriptsPanel.js:
219845        (WebInspector.ScriptsPanel.prototype._showSourceLine):
219846        * inspector/front-end/SourceFrame.js:
219847        (WebInspector.SourceFrame.createSearchRegex):
219848        * inspector/front-end/utilities.js:
219849        ():
219850
2198512011-10-20  Raphael Kubo da Costa  <kubo@profusion.mobi>
219852
219853        [EFL] Do not manually set the frameRect in different places in ScrollbarEfl.
219854        https://bugs.webkit.org/show_bug.cgi?id=70427
219855
219856        Reviewed by Kenneth Rohde Christiansen.
219857
219858        This commit is related to the effort towards having a different
219859        scrollbar (with a size > 0) for DumpRenderTree.
219860
219861        Scrollbar::Scrollbar() already calls setFrameRect() with the size
219862        obtained from ScrollbarTheme::scrollbarThickness(), which is currently
219863        always 0 for us, so the call to setFrameRect() in ScrollbarEfl's
219864        constructor is not needed and would break things if scrollbarThickness
219865        is changed to return another value.
219866
219867        The frameRect is also not changed in ScrollbarEfl::setParent() anymore,
219868        as it also does not take scrollbarThickness() into account and thus
219869        breaks using other themes such as ScrollbarThemeMock in DumpRenderTree.
219870        Right now, it is always going to be 0 anyway.
219871
219872        It is still work in progress, though -- it'd be good to somehow move the
219873        theming code to ScrollbarThemeEfl, as right now scrollbar EDCs with a
219874        non-zero min size will not cause the scrollbars to have non-zero size.
219875
219876        No new tests, this is machinery needed to run the current tests.
219877
219878        * platform/efl/ScrollbarEfl.cpp:
219879        (ScrollbarEfl::ScrollbarEfl):
219880        (ScrollbarEfl::setParent):
219881
2198822011-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
219883
219884        Unreviewed, rolling out r97954.
219885        http://trac.webkit.org/changeset/97954
219886        https://bugs.webkit.org/show_bug.cgi?id=70486
219887
219888        clean build failed on chromium.mac: File
219889        "../inspector/CodeGeneratorInspector.py", line 34, in <module>
219890        import json (Requested by loislo on #webkit).
219891
219892        * CMakeLists.txt:
219893        * CodeGenerators.pri:
219894        * DerivedSources.make:
219895        * GNUmakefile.am:
219896        * WebCore.gyp/WebCore.gyp:
219897        * inspector/CodeGeneratorInspector.pm: Added.
219898        (new):
219899        (GenerateModule):
219900        (GenerateInterface):
219901        (generateAgentDeclaration):
219902        (generateFrontendConstructorImpl):
219903        (generateFunctions):
219904        (generateFrontendFunction):
219905        (camelCase):
219906        (generateBackendFunction):
219907        (generateBackendSendResponse):
219908        (generateBackendReportProtocolError):
219909        (generateArgumentGetters):
219910        (generateBackendDispatcher):
219911        (generateBackendMessageParser):
219912        (collectBackendJSStubFunctions):
219913        (collectBackendJSStubEvents):
219914        (generateBackendStubJS):
219915        (generateHeader):
219916        (generateSource):
219917        (typeTraits):
219918        (paramTypeTraits):
219919        (generateBackendAgentFieldsAndConstructor):
219920        (finish):
219921        * inspector/CodeGeneratorInspector.py: Removed.
219922        * inspector/Inspector.json:
219923        * inspector/generate-inspector-idl: Added.
219924
2199252011-10-20  Adenilson Cavalcanti  <adenilson.silva@openbossa.org>
219926
219927        Enable geolocation client based flag for Qt5
219928        https://bugs.webkit.org/show_bug.cgi?id=70330
219929
219930        Reviewed by Kenneth Rohde Christiansen.
219931
219932        This will enable client based geolocation for Qt5.
219933
219934        No new tests, this enables flags for Qt5.
219935
219936        * features.pri:
219937
2199382011-10-20  Kentaro Hara  <haraken@chromium.org>
219939
219940        Implement a MessageEvent constructor for V8
219941        https://bugs.webkit.org/show_bug.cgi?id=70296
219942
219943        Reviewed by Adam Barth.
219944
219945        Test: fast/events/constructors/message-event-constructor.html
219946
219947        * bindings/v8/OptionsObject.cpp:
219948        (WebCore::OptionsObject::getKeyValue): Returns RefPtr<DOMWindow> corresponding to a given key.
219949        (WebCore::OptionsObject::getKeyValue): Returns MessagePortArray corresponding to a given key.
219950        * bindings/v8/OptionsObject.h:
219951        * bindings/v8/custom/V8EventConstructors.cpp: Added a MessageEvent constructor.
219952        * dom/MessageEvent.idl: Makes MessageEvent constructible for V8.
219953
2199542011-10-20  Peter Rybin  <peter.rybin@gmail.com>
219955
219956        Web Inspector: reimplement protocol backend/frontend source generator
219957        https://bugs.webkit.org/show_bug.cgi?id=69295
219958
219959        Reviewed by Pavel Feldman.
219960
219961        Old 2-stage python+perf generator that uses intermediate IDL output is
219962        being replaced with a solid python script. This is for simplicity and
219963        as a base for the future JSON validator.
219964
219965        * CMakeLists.txt:
219966        * CodeGenerators.pri:
219967        * DerivedSources.make:
219968        * GNUmakefile.am:
219969        * WebCore.gyp/WebCore.gyp:
219970        * inspector/CodeGeneratorInspector.pm: Removed.
219971        * inspector/CodeGeneratorInspector.py: Added.
219972        * inspector/Inspector.json:
219973        * inspector/generate-inspector-idl: Removed.
219974
2199752011-10-18  Pavel Podivilov  <podivilov@chromium.org>
219976
219977        Web Inspector: encode source map url as source map page url query parameter.
219978        https://bugs.webkit.org/show_bug.cgi?id=70327
219979
219980        Reviewed by Pavel Feldman.
219981
219982        * inspector/front-end/CompilerSourceMappingProvider.js:
219983        (WebInspector.CompilerSourceMappingProvider):
219984        (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping.frameLoaded):
219985        (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceMapping):
219986        (WebInspector.CompilerSourceMappingProvider.prototype.loadSourceCode):
219987        (WebInspector.CompilerSourceMappingProvider.prototype._sendRequest):
219988        * inspector/front-end/RawSourceCode.js:
219989        (WebInspector.RawSourceCode.CompilerSourceMapping.prototype.uiSourceCodeList):
219990
2199912011-10-19  Alexander Pavlov  <apavlov@chromium.org>
219992
219993        Web Inspector: The "x" in "980px x 36px" looks weird in the inspector node callout
219994        https://bugs.webkit.org/show_bug.cgi?id=69857
219995
219996        Reviewed by Pavel Feldman.
219997
219998        * inspector/DOMNodeHighlighter.cpp:
219999
2200002011-10-20  Sheriff Bot  <webkit.review.bot@gmail.com>
220001
220002        Unreviewed, rolling out r97917.
220003        http://trac.webkit.org/changeset/97917
220004        https://bugs.webkit.org/show_bug.cgi?id=70475
220005
220006        number of crashes on Snow Leopard/Lion tests bots
220007        http://build.webkit.org/results/Lion%20Intel%20Release%20(Tests)/r97917%20(2020)/http/tests/inspector
220008        /extensions-network-redirect-crash-log.txt (Requested by
220009        loislo on #webkit).
220010
220011        * css/SelectorChecker.cpp:
220012        (WebCore::SelectorChecker::checkOneSelector):
220013        * dom/OptionElement.cpp:
220014        (WebCore::OptionElement::setSelectedState):
220015        (WebCore::OptionElement::optionIndex):
220016        (WebCore::OptionElement::collectOptionLabelOrText):
220017        (WebCore::OptionElement::collectOptionInnerText):
220018        (WebCore::OptionElement::normalizeText):
220019        (WebCore::OptionElement::collectOptionTextRespectingGroupLabel):
220020        (WebCore::OptionElementData::OptionElementData):
220021        (WebCore::OptionElementData::~OptionElementData):
220022        (WebCore::toOptionElement):
220023        (WebCore::isOptionElement):
220024        * dom/OptionElement.h:
220025        (WebCore::OptionElement::~OptionElement):
220026        (WebCore::OptionElementData::value):
220027        (WebCore::OptionElementData::setValue):
220028        (WebCore::OptionElementData::label):
220029        (WebCore::OptionElementData::setLabel):
220030        (WebCore::OptionElementData::selected):
220031        (WebCore::OptionElementData::setSelected):
220032        * html/HTMLOptionElement.cpp:
220033        (WebCore::HTMLOptionElement::HTMLOptionElement):
220034        (WebCore::HTMLOptionElement::createForJSConstructor):
220035        (WebCore::HTMLOptionElement::text):
220036        (WebCore::HTMLOptionElement::index):
220037        (WebCore::HTMLOptionElement::parseMappedAttribute):
220038        (WebCore::HTMLOptionElement::value):
220039        (WebCore::HTMLOptionElement::selected):
220040        (WebCore::HTMLOptionElement::setSelected):
220041        (WebCore::HTMLOptionElement::setSelectedState):
220042        (WebCore::HTMLOptionElement::defaultSelected):
220043        (WebCore::HTMLOptionElement::setDefaultSelected):
220044        (WebCore::HTMLOptionElement::label):
220045        (WebCore::HTMLOptionElement::textIndentedToRespectGroupLabel):
220046        (WebCore::HTMLOptionElement::insertedIntoTree):
220047        * html/HTMLOptionElement.h:
220048        * html/HTMLSelectElement.cpp:
220049        (WebCore::HTMLSelectElement::nextValidIndex):
220050        (WebCore::HTMLSelectElement::saveLastSelection):
220051        (WebCore::HTMLSelectElement::setActiveSelectionAnchorIndex):
220052        (WebCore::HTMLSelectElement::updateListBoxSelection):
220053        (WebCore::HTMLSelectElement::listBoxOnChange):
220054        (WebCore::HTMLSelectElement::recalcListItems):
220055        (WebCore::HTMLSelectElement::selectedIndex):
220056        (WebCore::HTMLSelectElement::setSelectedIndex):
220057        (WebCore::HTMLSelectElement::optionToListIndex):
220058        (WebCore::HTMLSelectElement::listToOptionIndex):
220059        (WebCore::HTMLSelectElement::deselectItemsWithoutValidation):
220060        (WebCore::HTMLSelectElement::saveFormControlState):
220061        (WebCore::HTMLSelectElement::restoreFormControlState):
220062        (WebCore::HTMLSelectElement::appendFormData):
220063        (WebCore::HTMLSelectElement::reset):
220064        (WebCore::HTMLSelectElement::updateSelectedState):
220065        (WebCore::HTMLSelectElement::lastSelectedListIndex):
220066        (WebCore::HTMLSelectElement::typeAheadFind):
220067        (WebCore::HTMLSelectElement::accessKeySetSelectedIndex):
220068        (WebCore::HTMLSelectElement::length):
220069        * platform/graphics/cg/ImageBufferCG.cpp:
220070        (WebCore::ImageBuffer::copyImage):
220071        * rendering/RenderListBox.cpp:
220072        (WebCore::RenderListBox::updateFromElement):
220073        (WebCore::RenderListBox::addFocusRingRects):
220074        (WebCore::RenderListBox::paintItemForeground):
220075        (WebCore::RenderListBox::paintItemBackground):
220076        * rendering/RenderMenuList.cpp:
220077        (WebCore::RenderMenuList::updateOptionsWidth):
220078        (WebCore::RenderMenuList::setTextFromOption):
220079        (WebCore::RenderMenuList::itemText):
220080        (WebCore::RenderMenuList::itemIsSelected):
220081
2200822011-10-20  Carol Szabo  <carol@webkit.org>
220083
220084        Tiled Backing Store does not regenerate tiles when it should
220085        https://bugs.webkit.org/show_bug.cgi?id=57798
220086
220087        Reviewed by Darin Adler.
220088
220089        Changed TiledBackingStore::adjustVisibleRect to take into account
220090        contentsSize, the same way as it is done when tiles are generated.
220091
220092        This is an issue that requires a certain sequence of API calls which
220093        may not be easily simulated from DumpRenderTree, but which is 
220094        easily reproduced with QtTest. This is why I have provided only
220095        a Qt specific test despite this being a generic problem.
220096
220097        * platform/graphics/TiledBackingStore.cpp:
220098        (WebCore::TiledBackingStore::adjustVisibleRect):
220099        Changed to take into account ContentsSize.
220100        (WebCore::TiledBackingStore::visibleContentsRect):
220101        Added to return the intersection of the viewport's visible rect with
220102        the ContentsRect.
220103        (WebCore::TiledBackingStore::createTiles):
220104        Changed to take into account the ContentsSize when calculating the
220105        previously visible rect.
220106        * platform/graphics/TiledBackingStore.h:
220107
2201082011-10-19  Jer Noble  <jer.noble@apple.com>
220109
220110        compositing/video tests time out on Lion
220111        https://bugs.webkit.org/show_bug.cgi?id=70448
220112
220113        Reviewed by Eric Carlson.
220114
220115        Covered by existing tests.
220116
220117        AVFoundation will occasionally fill it's playback buffers before collecting enough
220118        statistical information to answer YES to isLikelyToKeepUp.  In this situation, set the
220119        ready state to HAVE_ENOUGH_DATA, on the presumption that if the playback buffers are
220120        full, playback will probably not stall.
220121
220122        * platform/graphics/avfoundation/MediaPlayerPrivateAVFoundation.cpp:
220123        (WebCore::MediaPlayerPrivateAVFoundation::updateStates):
220124
2201252011-10-19  Kentaro Hara  <haraken@chromium.org>
220126
220127        MessageEvent.data can be stored as ScriptValue.
220128        https://bugs.webkit.org/show_bug.cgi?id=68978
220129
220130        Reviewed by Hajime Morita.
220131
220132        Currently, the following test cases fail or crash:
220133
220134        - shouldBe("new MessageEvent('eventType', { data: test_object }).data", "test_object") -> FAIL
220135        - new MessageEvent('eventType', { data: document }).data -> CRASH
220136
220137        This is because MessageEvent.data is implemented just as SerializedScriptValue
220138        and it cannot keep ScriptValue passed by JavaScript. This patch makes the following changes:
220139
220140        - If MessageEvent is constructed with ScriptValue, it is stored as ScriptValue internally.
220141        When MessageEvent.data is called, the ScriptValue is returned.
220142        - If MessageEvent is constructed with SerializedScriptValue, it is stored as
220143        SerializedScriptValue internally (since we cannot deserialize it into ScriptValue
220144        at this point because of lack of ExecState). When MessageEvent.data is called,
220145        the SerializedScriptValue is deserialized into the corresponding ScriptValue,
220146        and the ScriptValue is returned.
220147
220148        This patch does not make a fix for ObjC bindings code, since we need to first fix
220149        the bug 28774, as commented in dom/MessageEvent.h and dom/MessageEvent.cpp.
220150
220151        Test: fast/events/constructors/message-event-constructor.html
220152              fast/dom/message-port-deleted-by-accessor.html
220153              fast/events/init-events.html
220154              fast/eventsource/eventsource-attribute-listeners.html
220155
220156        * bindings/js/JSMessageEventCustom.cpp:
220157        (WebCore::JSMessageEvent::data): Custom getter for MessageEvent.data. Supported ScriptValue.
220158        (WebCore::JSMessageEvent::handleInitMessageEvent): Changed SerializedScriptValue to ScriptValue. Removed a 'doTransfer' parameter.
220159        (WebCore::JSMessageEvent::initMessageEvent): Removed a 'doTransfer' parameter.
220160        (WebCore::JSMessageEvent::webkitInitMessageEvent): Ditto.
220161        * bindings/v8/custom/V8MessageEventCustom.cpp:
220162        (WebCore::V8MessageEvent::dataAccessorGetter): Custom getter for MessageEvent.data. Supported ScriptValue.
220163        (WebCore::V8MessageEvent::portsAccessorGetter): Removed extra spaces.
220164        (WebCore::V8MessageEvent::initMessageEventCallback): Changed SerializedScriptValue to ScriptValue.
220165        * dom/MessageEvent.cpp:
220166        (WebCore::MessageEvent::MessageEvent): Supported ScriptValue.
220167        (WebCore::MessageEvent::initMessageEvent): Supported ScriptValue.
220168        (WebCore::MessageEvent::isMessageEvent): Removed extra spaces.
220169        * dom/MessageEvent.h: Added DataType::DataTypeScriptValue.
220170        (WebCore::MessageEvent::create): Supported ScriptValue.
220171        (WebCore::MessageEvent::dataAsScriptValue): Getter for data. Insert ASSERT() to guarantee that this accessor is not called for unintended type of data.
220172        (WebCore::MessageEvent::dataAsSerializedScriptValue): Ditto.
220173        (WebCore::MessageEvent::dataAsString): Ditto.
220174        (WebCore::MessageEvent::dataAsBlob): Ditto.
220175        (WebCore::MessageEvent::dataAsArrayBuffer): Ditto.
220176        * dom/MessageEvent.idl: Changed SerializedScriptValue to DOMObject (i.e. ScriptValue). This patch does not touch an ObjC part. Removed [CachedAttribute] from MessageEvent.data, since it is now a DOMObject and needs not to be cached.
220177
2201782011-10-19  Adam Barth  <abarth@webkit.org>
220179
220180        Attempt to fix GTK build.
220181
220182        * GNUmakefile.am:
220183
220184== Rolled over to ChangeLog-2011-10-19 ==
220185